Shader "Doppels shaders/MetallicFX v5.11" {
	Properties {
		[Header (Settings)] [Space] [Toggle] _us ("Unlit switch", Float) = 0
		[Toggle] _gsl ("Grayscale Lightning", Float) = 0
		[Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2
		[Header (Metallic)] [Space] _metp ("Metallic Power", Range(0, 1)) = 0.85
		[HDR] _Mettint ("Metallic tint", Vector) = (1,1,1,1)
		[Toggle] _BlackRim ("Black Rim", Float) = 0
		_Power ("Power", Range(0, 1)) = 0.75
		_Multiplyer ("Multiplyer", Range(0, 3)) = 0.25
		[Header (MatCap)] [Space] [NoScaleOffset] _MatCap ("MatCap", 2D) = "black" {}
		[HDR] _MatCaptint ("MatCap tint", Vector) = (1,1,1,1)
		[Header (Fake Moving Reflections)] [Space] [NoScaleOffset] _MR ("Moving Reflections", 2D) = "black" {}
		[NoScaleOffset] _MRn ("Moving Reflections Normals", 2D) = "bump" {}
		[HDR] _MRt ("Moving Reflections Tint", Vector) = (1,1,1,1)
		_I ("Intensity", Range(0, 1)) = 0.5
		_In ("Intensity Normals Scale", Range(0, 1)) = 0.5
		_Speed ("Speed", Range(0, 1)) = 0.1
		[Header (Reflection Cubemap)] [Space] [NoScaleOffset] _RC ("Reflection Cubemap", Cube) = "black" {}
		[HDR] _Cubemaptint ("Cubemap tint", Vector) = (0,0,0,1)
		_RCn ("Cubemap Normals", 2D) = "bump" {}
		_RCns ("Cubemap Normals Scale", Range(0, 1)) = 0
		[Header (Main Settings)] [Space] _MainTex ("Main Texture", 2D) = "white" {}
		_Color ("Main tint", Vector) = (0,0,0,0)
		_EmissionMap ("Emission Map", 2D) = "white" {}
		[HDR] _EmissionColor ("Emission Color", Vector) = (0,0,0,0)
		_Metmap ("Metallic Map (RGB)", 2D) = "white" {}
		_BumpMap ("Normal Map", 2D) = "bump" {}
		_BumpScale ("Normals Scale", Range(0, 1)) = 0
		[HideInInspector] _texcoord ("", 2D) = "white" {}
		[HideInInspector] __dirty ("", Float) = 1
	}
	SubShader {
		Tags { "QUEUE" = "Geometry+0" "RenderType" = "Opaque" }
		Pass {
			Name "FORWARD"
			Tags { "LIGHTMODE" = "FORWARDBASE" "QUEUE" = "Geometry+0" "RenderType" = "Opaque" }
			GpuProgramID 15191
			Program "vp" {
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.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 * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "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 VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.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 * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "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 VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.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 * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "VERTEXLIGHT_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[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "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 VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.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 * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat15 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat16 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2 = vec4(u_xlat16) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat1 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat3 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat2.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat3 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx + u_xlat4;
					    u_xlat1 = u_xlat0 * u_xlat2.wwzw + u_xlat1;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat3;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat1;
					    u_xlat1.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat1.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat15 = u_xlat2.y * u_xlat2.y;
					    u_xlat15 = u_xlat2.x * u_xlat2.x + (-u_xlat15);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    u_xlat1.xyz = unity_SHC.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "VERTEXLIGHT_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[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat15 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat16 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2 = vec4(u_xlat16) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat1 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat3 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat2.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat3 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx + u_xlat4;
					    u_xlat1 = u_xlat0 * u_xlat2.wwzw + u_xlat1;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat3;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat1;
					    u_xlat1.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat1.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat15 = u_xlat2.y * u_xlat2.y;
					    u_xlat15 = u_xlat2.x * u_xlat2.x + (-u_xlat15);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    u_xlat1.xyz = unity_SHC.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_LINEAR" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_LINEAR" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "FOG_LINEAR" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "FOG_LINEAR" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_LINEAR" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_LINEAR" "VERTEXLIGHT_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[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "FOG_LINEAR" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat15 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat16 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2 = vec4(u_xlat16) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat1 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat3 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat2.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat3 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx + u_xlat4;
					    u_xlat1 = u_xlat0 * u_xlat2.wwzw + u_xlat1;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat3;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat1;
					    u_xlat1.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat1.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat15 = u_xlat2.y * u_xlat2.y;
					    u_xlat15 = u_xlat2.x * u_xlat2.x + (-u_xlat15);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    u_xlat1.xyz = unity_SHC.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "FOG_LINEAR" "VERTEXLIGHT_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[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat15 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat16 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2 = vec4(u_xlat16) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat1 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat3 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat2.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat3 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx + u_xlat4;
					    u_xlat1 = u_xlat0 * u_xlat2.wwzw + u_xlat1;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat3;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat1;
					    u_xlat1.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat1.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat15 = u_xlat2.y * u_xlat2.y;
					    u_xlat15 = u_xlat2.x * u_xlat2.x + (-u_xlat15);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    u_xlat1.xyz = unity_SHC.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "FOG_EXP" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "FOG_EXP" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP" "VERTEXLIGHT_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[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "FOG_EXP" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat15 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat16 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2 = vec4(u_xlat16) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat1 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat3 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat2.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat3 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx + u_xlat4;
					    u_xlat1 = u_xlat0 * u_xlat2.wwzw + u_xlat1;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat3;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat1;
					    u_xlat1.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat1.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat15 = u_xlat2.y * u_xlat2.y;
					    u_xlat15 = u_xlat2.x * u_xlat2.x + (-u_xlat15);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    u_xlat1.xyz = unity_SHC.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "FOG_EXP" "VERTEXLIGHT_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[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat15 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat16 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2 = vec4(u_xlat16) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat1 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat3 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat2.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat3 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx + u_xlat4;
					    u_xlat1 = u_xlat0 * u_xlat2.wwzw + u_xlat1;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat3;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat1;
					    u_xlat1.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat1.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat15 = u_xlat2.y * u_xlat2.y;
					    u_xlat15 = u_xlat2.x * u_xlat2.x + (-u_xlat15);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    u_xlat1.xyz = unity_SHC.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "FOG_EXP2" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "VERTEXLIGHT_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[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "FOG_EXP2" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat15 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat16 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2 = vec4(u_xlat16) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat1 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat3 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat2.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat3 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx + u_xlat4;
					    u_xlat1 = u_xlat0 * u_xlat2.wwzw + u_xlat1;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat3;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat1;
					    u_xlat1.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat1.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat15 = u_xlat2.y * u_xlat2.y;
					    u_xlat15 = u_xlat2.x * u_xlat2.x + (-u_xlat15);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    u_xlat1.xyz = unity_SHC.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "FOG_EXP2" "VERTEXLIGHT_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[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat15 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat16 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2 = vec4(u_xlat16) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat1 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat3 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat2.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat3 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx + u_xlat4;
					    u_xlat1 = u_xlat0 * u_xlat2.wwzw + u_xlat1;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat3;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat1;
					    u_xlat1.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat1.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat15 = u_xlat2.y * u_xlat2.y;
					    u_xlat15 = u_xlat2.x * u_xlat2.x + (-u_xlat15);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    u_xlat1.xyz = unity_SHC.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_3[4];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat12;
					vec3 u_xlat15;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat24;
					float u_xlat26;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat10.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat12.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat33 = dot(u_xlat12.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat5.x = dot(u_xlat12.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat15.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat15.xy);
					    u_xlat15.x = _I + _I;
					    u_xlat32 = u_xlat6.z * u_xlat15.x + u_xlat12.z;
					    u_xlat15.x = _Speed * _Time.y;
					    u_xlat15.x = u_xlat15.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat15.x);
					    u_xlat8.x = cos(u_xlat15.x);
					    u_xlat15.xyz = u_xlat1.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat15.xyz = unity_WorldToCamera[0].xyz * u_xlat1.xxx + u_xlat15.xyz;
					    u_xlat15.xyz = unity_WorldToCamera[2].xyz * u_xlat1.zzz + u_xlat15.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat32));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat16.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat16.xy * vec2(_In);
					    u_xlat32 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat32 = min(u_xlat32, 1.0);
					    u_xlat32 = (-u_xlat32) + 1.0;
					    u_xlat9.z = sqrt(u_xlat32);
					    u_xlat32 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat16.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat26 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat16.xxx * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * vec3(u_xlat32) + u_xlat18.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * vec3(u_xlat26) + u_xlat18.xyz;
					    u_xlat32 = dot(u_xlat15.xyz, u_xlat16.xyz);
					    u_xlat32 = u_xlat32 + u_xlat32;
					    u_xlat15.xy = u_xlat16.xy * (-vec2(u_xlat32)) + u_xlat15.xy;
					    u_xlat15.xy = (-u_xlat15.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat15.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat15.xy, u_xlat9.xy);
					    u_xlat15.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat32 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat32;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat32 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat9 = texture(_MainTex, u_xlat4.xy);
					    u_xlat3.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat3.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat3.x = u_xlat10.x * u_xlat3.y;
					    u_xlat3.x = exp2(u_xlat3.x);
					    u_xlat31 = u_xlat3.x * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat33 * u_xlat31;
					    u_xlat31 = u_xlat5.x * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat3.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat12.xy;
					    u_xlat9 = texture(_MatCap, u_xlat12.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat15.xy;
					    u_xlat4 = texture(_MR, u_xlat12.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat12.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat12.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat32) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    SV_Target0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					float u_xlat12;
					int u_xlati12;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat10.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati12 / 4][u_xlati12 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat22.x = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat32 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat33 = _I + _I;
					    u_xlat33 = u_xlat6.z * u_xlat33 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat1.yyy * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * u_xlat1.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * u_xlat1.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat33));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat33 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat9.z = sqrt(u_xlat33);
					    u_xlat33 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * vec3(u_xlat33) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat12 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat12 = u_xlat12 + u_xlat12;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat12)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat12;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat12 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat3 = texture(_MainTex, u_xlat4.xy);
					    u_xlat4.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat4.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat33 = u_xlat10.x * u_xlat4.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat31 = u_xlat33 * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat22.x * u_xlat31;
					    u_xlat31 = u_xlat32 * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat9.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat3.xyz + u_xlat9.xyz;
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat22.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat22.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat22.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat22.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    SV_Target0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "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 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_3[4];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat12;
					vec3 u_xlat15;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat24;
					float u_xlat26;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat10.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat12.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat33 = dot(u_xlat12.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat5.x = dot(u_xlat12.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat15.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat15.xy);
					    u_xlat15.x = _I + _I;
					    u_xlat32 = u_xlat6.z * u_xlat15.x + u_xlat12.z;
					    u_xlat15.x = _Speed * _Time.y;
					    u_xlat15.x = u_xlat15.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat15.x);
					    u_xlat8.x = cos(u_xlat15.x);
					    u_xlat15.xyz = u_xlat1.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat15.xyz = unity_WorldToCamera[0].xyz * u_xlat1.xxx + u_xlat15.xyz;
					    u_xlat15.xyz = unity_WorldToCamera[2].xyz * u_xlat1.zzz + u_xlat15.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat32));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat16.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat16.xy * vec2(_In);
					    u_xlat32 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat32 = min(u_xlat32, 1.0);
					    u_xlat32 = (-u_xlat32) + 1.0;
					    u_xlat9.z = sqrt(u_xlat32);
					    u_xlat32 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat16.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat26 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat16.xxx * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * vec3(u_xlat32) + u_xlat18.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * vec3(u_xlat26) + u_xlat18.xyz;
					    u_xlat32 = dot(u_xlat15.xyz, u_xlat16.xyz);
					    u_xlat32 = u_xlat32 + u_xlat32;
					    u_xlat15.xy = u_xlat16.xy * (-vec2(u_xlat32)) + u_xlat15.xy;
					    u_xlat15.xy = (-u_xlat15.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat15.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat15.xy, u_xlat9.xy);
					    u_xlat15.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat32 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat32;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat32 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat9 = texture(_MainTex, u_xlat4.xy);
					    u_xlat3.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat3.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat3.x = u_xlat10.x * u_xlat3.y;
					    u_xlat3.x = exp2(u_xlat3.x);
					    u_xlat31 = u_xlat3.x * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat33 * u_xlat31;
					    u_xlat31 = u_xlat5.x * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat3.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat12.xy;
					    u_xlat9 = texture(_MatCap, u_xlat12.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat15.xy;
					    u_xlat4 = texture(_MR, u_xlat12.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat12.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat12.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat32) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    SV_Target0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "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 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					float u_xlat12;
					int u_xlati12;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat10.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati12 / 4][u_xlati12 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat22.x = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat32 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat33 = _I + _I;
					    u_xlat33 = u_xlat6.z * u_xlat33 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat1.yyy * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * u_xlat1.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * u_xlat1.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat33));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat33 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat9.z = sqrt(u_xlat33);
					    u_xlat33 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * vec3(u_xlat33) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat12 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat12 = u_xlat12 + u_xlat12;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat12)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat12;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat12 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat3 = texture(_MainTex, u_xlat4.xy);
					    u_xlat4.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat4.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat33 = u_xlat10.x * u_xlat4.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat31 = u_xlat33 * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat22.x * u_xlat31;
					    u_xlat31 = u_xlat32 * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat9.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat3.xyz + u_xlat9.xyz;
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat22.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat22.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat22.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat22.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    SV_Target0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_LINEAR" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat12;
					vec3 u_xlat15;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat24;
					float u_xlat26;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat10.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat12.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat33 = dot(u_xlat12.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat5.x = dot(u_xlat12.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat15.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat15.xy);
					    u_xlat15.x = _I + _I;
					    u_xlat32 = u_xlat6.z * u_xlat15.x + u_xlat12.z;
					    u_xlat15.x = _Speed * _Time.y;
					    u_xlat15.x = u_xlat15.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat15.x);
					    u_xlat8.x = cos(u_xlat15.x);
					    u_xlat15.xyz = u_xlat1.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat15.xyz = unity_WorldToCamera[0].xyz * u_xlat1.xxx + u_xlat15.xyz;
					    u_xlat15.xyz = unity_WorldToCamera[2].xyz * u_xlat1.zzz + u_xlat15.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat32));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat16.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat16.xy * vec2(_In);
					    u_xlat32 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat32 = min(u_xlat32, 1.0);
					    u_xlat32 = (-u_xlat32) + 1.0;
					    u_xlat9.z = sqrt(u_xlat32);
					    u_xlat32 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat16.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat26 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat16.xxx * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * vec3(u_xlat32) + u_xlat18.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * vec3(u_xlat26) + u_xlat18.xyz;
					    u_xlat32 = dot(u_xlat15.xyz, u_xlat16.xyz);
					    u_xlat32 = u_xlat32 + u_xlat32;
					    u_xlat15.xy = u_xlat16.xy * (-vec2(u_xlat32)) + u_xlat15.xy;
					    u_xlat15.xy = (-u_xlat15.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat15.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat15.xy, u_xlat9.xy);
					    u_xlat15.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat32 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat32;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat32 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat9 = texture(_MainTex, u_xlat4.xy);
					    u_xlat3.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat3.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat3.x = u_xlat10.x * u_xlat3.y;
					    u_xlat3.x = exp2(u_xlat3.x);
					    u_xlat31 = u_xlat3.x * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat33 * u_xlat31;
					    u_xlat31 = u_xlat5.x * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat3.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat12.xy;
					    u_xlat9 = texture(_MatCap, u_xlat12.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat15.xy;
					    u_xlat4 = texture(_MR, u_xlat12.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat12.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat12.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat32) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD5 / _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.z + unity_FogParams.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    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" "FOG_LINEAR" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					float u_xlat12;
					int u_xlati12;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat10.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati12 / 4][u_xlati12 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat22.x = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat32 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat33 = _I + _I;
					    u_xlat33 = u_xlat6.z * u_xlat33 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat1.yyy * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * u_xlat1.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * u_xlat1.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat33));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat33 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat9.z = sqrt(u_xlat33);
					    u_xlat33 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * vec3(u_xlat33) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat12 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat12 = u_xlat12 + u_xlat12;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat12)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat12;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat12 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat3 = texture(_MainTex, u_xlat4.xy);
					    u_xlat4.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat4.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat33 = u_xlat10.x * u_xlat4.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat31 = u_xlat33 * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat22.x * u_xlat31;
					    u_xlat31 = u_xlat32 * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat9.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat3.xyz + u_xlat9.xyz;
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat22.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat22.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat22.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat22.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD5 / _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.z + unity_FogParams.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    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" "LIGHTPROBE_SH" "FOG_LINEAR" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat12;
					vec3 u_xlat15;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat24;
					float u_xlat26;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat10.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat12.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat33 = dot(u_xlat12.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat5.x = dot(u_xlat12.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat15.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat15.xy);
					    u_xlat15.x = _I + _I;
					    u_xlat32 = u_xlat6.z * u_xlat15.x + u_xlat12.z;
					    u_xlat15.x = _Speed * _Time.y;
					    u_xlat15.x = u_xlat15.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat15.x);
					    u_xlat8.x = cos(u_xlat15.x);
					    u_xlat15.xyz = u_xlat1.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat15.xyz = unity_WorldToCamera[0].xyz * u_xlat1.xxx + u_xlat15.xyz;
					    u_xlat15.xyz = unity_WorldToCamera[2].xyz * u_xlat1.zzz + u_xlat15.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat32));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat16.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat16.xy * vec2(_In);
					    u_xlat32 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat32 = min(u_xlat32, 1.0);
					    u_xlat32 = (-u_xlat32) + 1.0;
					    u_xlat9.z = sqrt(u_xlat32);
					    u_xlat32 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat16.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat26 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat16.xxx * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * vec3(u_xlat32) + u_xlat18.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * vec3(u_xlat26) + u_xlat18.xyz;
					    u_xlat32 = dot(u_xlat15.xyz, u_xlat16.xyz);
					    u_xlat32 = u_xlat32 + u_xlat32;
					    u_xlat15.xy = u_xlat16.xy * (-vec2(u_xlat32)) + u_xlat15.xy;
					    u_xlat15.xy = (-u_xlat15.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat15.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat15.xy, u_xlat9.xy);
					    u_xlat15.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat32 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat32;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat32 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat9 = texture(_MainTex, u_xlat4.xy);
					    u_xlat3.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat3.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat3.x = u_xlat10.x * u_xlat3.y;
					    u_xlat3.x = exp2(u_xlat3.x);
					    u_xlat31 = u_xlat3.x * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat33 * u_xlat31;
					    u_xlat31 = u_xlat5.x * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat3.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat12.xy;
					    u_xlat9 = texture(_MatCap, u_xlat12.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat15.xy;
					    u_xlat4 = texture(_MR, u_xlat12.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat12.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat12.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat32) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD5 / _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.z + unity_FogParams.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    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" "LIGHTPROBE_SH" "FOG_LINEAR" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					float u_xlat12;
					int u_xlati12;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat10.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati12 / 4][u_xlati12 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat22.x = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat32 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat33 = _I + _I;
					    u_xlat33 = u_xlat6.z * u_xlat33 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat1.yyy * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * u_xlat1.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * u_xlat1.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat33));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat33 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat9.z = sqrt(u_xlat33);
					    u_xlat33 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * vec3(u_xlat33) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat12 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat12 = u_xlat12 + u_xlat12;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat12)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat12;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat12 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat3 = texture(_MainTex, u_xlat4.xy);
					    u_xlat4.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat4.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat33 = u_xlat10.x * u_xlat4.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat31 = u_xlat33 * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat22.x * u_xlat31;
					    u_xlat31 = u_xlat32 * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat9.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat3.xyz + u_xlat9.xyz;
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat22.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat22.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat22.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat22.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD5 / _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.z + unity_FogParams.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    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" "FOG_EXP" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat12;
					vec3 u_xlat15;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat24;
					float u_xlat26;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat10.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat12.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat33 = dot(u_xlat12.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat5.x = dot(u_xlat12.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat15.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat15.xy);
					    u_xlat15.x = _I + _I;
					    u_xlat32 = u_xlat6.z * u_xlat15.x + u_xlat12.z;
					    u_xlat15.x = _Speed * _Time.y;
					    u_xlat15.x = u_xlat15.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat15.x);
					    u_xlat8.x = cos(u_xlat15.x);
					    u_xlat15.xyz = u_xlat1.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat15.xyz = unity_WorldToCamera[0].xyz * u_xlat1.xxx + u_xlat15.xyz;
					    u_xlat15.xyz = unity_WorldToCamera[2].xyz * u_xlat1.zzz + u_xlat15.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat32));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat16.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat16.xy * vec2(_In);
					    u_xlat32 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat32 = min(u_xlat32, 1.0);
					    u_xlat32 = (-u_xlat32) + 1.0;
					    u_xlat9.z = sqrt(u_xlat32);
					    u_xlat32 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat16.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat26 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat16.xxx * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * vec3(u_xlat32) + u_xlat18.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * vec3(u_xlat26) + u_xlat18.xyz;
					    u_xlat32 = dot(u_xlat15.xyz, u_xlat16.xyz);
					    u_xlat32 = u_xlat32 + u_xlat32;
					    u_xlat15.xy = u_xlat16.xy * (-vec2(u_xlat32)) + u_xlat15.xy;
					    u_xlat15.xy = (-u_xlat15.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat15.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat15.xy, u_xlat9.xy);
					    u_xlat15.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat32 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat32;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat32 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat9 = texture(_MainTex, u_xlat4.xy);
					    u_xlat3.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat3.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat3.x = u_xlat10.x * u_xlat3.y;
					    u_xlat3.x = exp2(u_xlat3.x);
					    u_xlat31 = u_xlat3.x * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat33 * u_xlat31;
					    u_xlat31 = u_xlat5.x * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat3.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat12.xy;
					    u_xlat9 = texture(_MatCap, u_xlat12.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat15.xy;
					    u_xlat4 = texture(_MR, u_xlat12.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat12.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat12.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat32) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat30 = vs_TEXCOORD5 / _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.y;
					    u_xlat0.w = exp2((-u_xlat30));
					    u_xlat0 = min(u_xlat0, vec4(5.0, 5.0, 5.0, 1.0));
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = u_xlat0.www * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					float u_xlat12;
					int u_xlati12;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat10.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati12 / 4][u_xlati12 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat22.x = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat32 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat33 = _I + _I;
					    u_xlat33 = u_xlat6.z * u_xlat33 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat1.yyy * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * u_xlat1.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * u_xlat1.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat33));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat33 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat9.z = sqrt(u_xlat33);
					    u_xlat33 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * vec3(u_xlat33) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat12 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat12 = u_xlat12 + u_xlat12;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat12)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat12;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat12 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat3 = texture(_MainTex, u_xlat4.xy);
					    u_xlat4.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat4.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat33 = u_xlat10.x * u_xlat4.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat31 = u_xlat33 * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat22.x * u_xlat31;
					    u_xlat31 = u_xlat32 * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat9.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat3.xyz + u_xlat9.xyz;
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat22.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat22.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat22.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat22.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat30 = vs_TEXCOORD5 / _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.y;
					    u_xlat0.w = exp2((-u_xlat30));
					    u_xlat0 = min(u_xlat0, vec4(5.0, 5.0, 5.0, 1.0));
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = u_xlat0.www * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "FOG_EXP" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat12;
					vec3 u_xlat15;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat24;
					float u_xlat26;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat10.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat12.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat33 = dot(u_xlat12.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat5.x = dot(u_xlat12.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat15.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat15.xy);
					    u_xlat15.x = _I + _I;
					    u_xlat32 = u_xlat6.z * u_xlat15.x + u_xlat12.z;
					    u_xlat15.x = _Speed * _Time.y;
					    u_xlat15.x = u_xlat15.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat15.x);
					    u_xlat8.x = cos(u_xlat15.x);
					    u_xlat15.xyz = u_xlat1.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat15.xyz = unity_WorldToCamera[0].xyz * u_xlat1.xxx + u_xlat15.xyz;
					    u_xlat15.xyz = unity_WorldToCamera[2].xyz * u_xlat1.zzz + u_xlat15.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat32));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat16.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat16.xy * vec2(_In);
					    u_xlat32 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat32 = min(u_xlat32, 1.0);
					    u_xlat32 = (-u_xlat32) + 1.0;
					    u_xlat9.z = sqrt(u_xlat32);
					    u_xlat32 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat16.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat26 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat16.xxx * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * vec3(u_xlat32) + u_xlat18.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * vec3(u_xlat26) + u_xlat18.xyz;
					    u_xlat32 = dot(u_xlat15.xyz, u_xlat16.xyz);
					    u_xlat32 = u_xlat32 + u_xlat32;
					    u_xlat15.xy = u_xlat16.xy * (-vec2(u_xlat32)) + u_xlat15.xy;
					    u_xlat15.xy = (-u_xlat15.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat15.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat15.xy, u_xlat9.xy);
					    u_xlat15.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat32 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat32;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat32 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat9 = texture(_MainTex, u_xlat4.xy);
					    u_xlat3.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat3.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat3.x = u_xlat10.x * u_xlat3.y;
					    u_xlat3.x = exp2(u_xlat3.x);
					    u_xlat31 = u_xlat3.x * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat33 * u_xlat31;
					    u_xlat31 = u_xlat5.x * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat3.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat12.xy;
					    u_xlat9 = texture(_MatCap, u_xlat12.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat15.xy;
					    u_xlat4 = texture(_MR, u_xlat12.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat12.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat12.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat32) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat30 = vs_TEXCOORD5 / _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.y;
					    u_xlat0.w = exp2((-u_xlat30));
					    u_xlat0 = min(u_xlat0, vec4(5.0, 5.0, 5.0, 1.0));
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = u_xlat0.www * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "FOG_EXP" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					float u_xlat12;
					int u_xlati12;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat10.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati12 / 4][u_xlati12 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat22.x = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat32 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat33 = _I + _I;
					    u_xlat33 = u_xlat6.z * u_xlat33 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat1.yyy * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * u_xlat1.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * u_xlat1.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat33));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat33 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat9.z = sqrt(u_xlat33);
					    u_xlat33 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * vec3(u_xlat33) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat12 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat12 = u_xlat12 + u_xlat12;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat12)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat12;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat12 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat3 = texture(_MainTex, u_xlat4.xy);
					    u_xlat4.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat4.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat33 = u_xlat10.x * u_xlat4.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat31 = u_xlat33 * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat22.x * u_xlat31;
					    u_xlat31 = u_xlat32 * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat9.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat3.xyz + u_xlat9.xyz;
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat22.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat22.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat22.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat22.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat30 = vs_TEXCOORD5 / _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.y;
					    u_xlat0.w = exp2((-u_xlat30));
					    u_xlat0 = min(u_xlat0, vec4(5.0, 5.0, 5.0, 1.0));
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = u_xlat0.www * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat12;
					vec3 u_xlat15;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat24;
					float u_xlat26;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat10.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat12.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat33 = dot(u_xlat12.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat5.x = dot(u_xlat12.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat15.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat15.xy);
					    u_xlat15.x = _I + _I;
					    u_xlat32 = u_xlat6.z * u_xlat15.x + u_xlat12.z;
					    u_xlat15.x = _Speed * _Time.y;
					    u_xlat15.x = u_xlat15.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat15.x);
					    u_xlat8.x = cos(u_xlat15.x);
					    u_xlat15.xyz = u_xlat1.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat15.xyz = unity_WorldToCamera[0].xyz * u_xlat1.xxx + u_xlat15.xyz;
					    u_xlat15.xyz = unity_WorldToCamera[2].xyz * u_xlat1.zzz + u_xlat15.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat32));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat16.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat16.xy * vec2(_In);
					    u_xlat32 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat32 = min(u_xlat32, 1.0);
					    u_xlat32 = (-u_xlat32) + 1.0;
					    u_xlat9.z = sqrt(u_xlat32);
					    u_xlat32 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat16.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat26 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat16.xxx * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * vec3(u_xlat32) + u_xlat18.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * vec3(u_xlat26) + u_xlat18.xyz;
					    u_xlat32 = dot(u_xlat15.xyz, u_xlat16.xyz);
					    u_xlat32 = u_xlat32 + u_xlat32;
					    u_xlat15.xy = u_xlat16.xy * (-vec2(u_xlat32)) + u_xlat15.xy;
					    u_xlat15.xy = (-u_xlat15.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat15.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat15.xy, u_xlat9.xy);
					    u_xlat15.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat32 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat32;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat32 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat9 = texture(_MainTex, u_xlat4.xy);
					    u_xlat3.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat3.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat3.x = u_xlat10.x * u_xlat3.y;
					    u_xlat3.x = exp2(u_xlat3.x);
					    u_xlat31 = u_xlat3.x * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat33 * u_xlat31;
					    u_xlat31 = u_xlat5.x * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat3.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat12.xy;
					    u_xlat9 = texture(_MatCap, u_xlat12.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat15.xy;
					    u_xlat4 = texture(_MR, u_xlat12.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat12.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat12.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat32) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD5 / _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" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					float u_xlat12;
					int u_xlati12;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat10.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati12 / 4][u_xlati12 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat22.x = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat32 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat33 = _I + _I;
					    u_xlat33 = u_xlat6.z * u_xlat33 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat1.yyy * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * u_xlat1.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * u_xlat1.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat33));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat33 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat9.z = sqrt(u_xlat33);
					    u_xlat33 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * vec3(u_xlat33) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat12 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat12 = u_xlat12 + u_xlat12;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat12)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat12;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat12 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat3 = texture(_MainTex, u_xlat4.xy);
					    u_xlat4.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat4.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat33 = u_xlat10.x * u_xlat4.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat31 = u_xlat33 * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat22.x * u_xlat31;
					    u_xlat31 = u_xlat32 * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat9.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat3.xyz + u_xlat9.xyz;
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat22.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat22.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat22.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat22.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD5 / _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" "LIGHTPROBE_SH" "FOG_EXP2" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat12;
					vec3 u_xlat15;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat24;
					float u_xlat26;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat10.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat12.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat12.xyz;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat33 = dot(u_xlat12.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat5.x = dot(u_xlat12.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat15.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat15.xy);
					    u_xlat15.x = _I + _I;
					    u_xlat32 = u_xlat6.z * u_xlat15.x + u_xlat12.z;
					    u_xlat15.x = _Speed * _Time.y;
					    u_xlat15.x = u_xlat15.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat15.x);
					    u_xlat8.x = cos(u_xlat15.x);
					    u_xlat15.xyz = u_xlat1.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat15.xyz = unity_WorldToCamera[0].xyz * u_xlat1.xxx + u_xlat15.xyz;
					    u_xlat15.xyz = unity_WorldToCamera[2].xyz * u_xlat1.zzz + u_xlat15.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat32));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat16.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat16.xy * vec2(_In);
					    u_xlat32 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat32 = min(u_xlat32, 1.0);
					    u_xlat32 = (-u_xlat32) + 1.0;
					    u_xlat9.z = sqrt(u_xlat32);
					    u_xlat32 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat16.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat26 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat16.xxx * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * vec3(u_xlat32) + u_xlat18.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * vec3(u_xlat26) + u_xlat18.xyz;
					    u_xlat32 = dot(u_xlat15.xyz, u_xlat16.xyz);
					    u_xlat32 = u_xlat32 + u_xlat32;
					    u_xlat15.xy = u_xlat16.xy * (-vec2(u_xlat32)) + u_xlat15.xy;
					    u_xlat15.xy = (-u_xlat15.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat15.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat15.xy, u_xlat9.xy);
					    u_xlat15.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat32 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat32;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat32 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat9 = texture(_MainTex, u_xlat4.xy);
					    u_xlat3.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat3.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat3.x = u_xlat10.x * u_xlat3.y;
					    u_xlat3.x = exp2(u_xlat3.x);
					    u_xlat31 = u_xlat3.x * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat33 * u_xlat31;
					    u_xlat31 = u_xlat5.x * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat3.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat12.xy;
					    u_xlat9 = texture(_MatCap, u_xlat12.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat12.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat15.xy;
					    u_xlat4 = texture(_MR, u_xlat12.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat12.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat12.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat32) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD5 / _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" "LIGHTPROBE_SH" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					float u_xlat12;
					int u_xlati12;
					vec3 u_xlat16;
					vec3 u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					void main()
					{
					    u_xlat10.x = vs_TEXCOORD1.w;
					    u_xlat10.y = vs_TEXCOORD2.w;
					    u_xlat10.z = vs_TEXCOORD3.w;
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat10.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD1.xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = vs_TEXCOORD3.xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat10.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat10.x, u_xlat31);
					        u_xlat0 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlat0.x = float(1.0);
					        u_xlat0.y = float(1.0);
					        u_xlat0.z = float(1.0);
					        u_xlat0.w = float(1.0);
					    }
					    u_xlat0.x = dot(u_xlat0, unity_OcclusionMaskSelector);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlatb10 = _LightColor0.w==0.0;
					    u_xlat20.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat4.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat4.xyz = (bool(u_xlatb10)) ? vec3(0.0, 0.0, 0.0) : u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0.x = u_xlat3.y + u_xlat3.x;
					    u_xlat0.x = u_xlat3.z + u_xlat0.x;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat24.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat5 = texture(_BumpMap, u_xlat24.xy);
					    u_xlat5.x = u_xlat5.w * u_xlat5.x;
					    u_xlat24.xy = u_xlat5.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat24.xy * vec2(_BumpScale);
					    u_xlat10.x = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat5.z = sqrt(u_xlat10.x);
					    u_xlat10.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat6.xyz = u_xlat10.xxx * u_xlat2.xyz;
					    u_xlat31 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat2.xyz = (-u_xlat2.zxy) * u_xlat10.xxx + vec3(1.0, 1.0, 1.0);
					    u_xlat10.x = dot(u_xlat5.zxy, u_xlat2.xyz);
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati12 / 4][u_xlati12 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat22.x = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat32 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat33 = _I + _I;
					    u_xlat33 = u_xlat6.z * u_xlat33 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat1.yyy * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * u_xlat1.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * u_xlat1.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat33));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat33 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat9.z = sqrt(u_xlat33);
					    u_xlat33 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati12 / 4][u_xlati12 % 4].xyz * vec3(u_xlat33) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat12 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat12 = u_xlat12 + u_xlat12;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat12)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat2.x = u_xlat2.x;
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12 = _Power * -30.0 + 30.0;
					    u_xlat2.x = log2(u_xlat2.x);
					    u_xlat2.x = u_xlat2.x * u_xlat12;
					    u_xlat2.x = exp2(u_xlat2.x);
					    u_xlat12 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat20.xy);
					    u_xlat0.xzw = u_xlat0.xxx * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat0.xzw = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat0.xzw + u_xlat3.xyz;
					    u_xlat0.xzw = clamp(u_xlat0.xzw, 0.0, 1.0);
					    u_xlat3 = texture(_MainTex, u_xlat4.xy);
					    u_xlat4.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat31 = log2(u_xlat31);
					    u_xlat31 = u_xlat31 * u_xlat4.x;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat10.x = log2(u_xlat10.x);
					    u_xlat33 = u_xlat10.x * u_xlat4.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat31 = u_xlat33 * 2.0 + u_xlat31;
					    u_xlat31 = u_xlat22.x * u_xlat31;
					    u_xlat31 = u_xlat32 * u_xlat31;
					    u_xlat10.x = u_xlat10.x * 10.0;
					    u_xlat10.x = exp2(u_xlat10.x);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat31;
					    u_xlat9.xyz = u_xlat10.xxx * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = _Color.xyz * u_xlat3.xyz + u_xlat9.xyz;
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat22.xy);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat3.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat3.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat22.xy = u_xlat24.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat22.xy);
					    u_xlat3.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat22.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat22.xy * vec2(_RCns);
					    u_xlat10.x = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat10.x = min(u_xlat10.x, 1.0);
					    u_xlat10.x = (-u_xlat10.x) + 1.0;
					    u_xlat4.z = sqrt(u_xlat10.x);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat10.x = dot((-u_xlat1.xyz), u_xlat5.xyz);
					    u_xlat10.x = u_xlat10.x + u_xlat10.x;
					    u_xlat1.xyz = u_xlat5.xyz * (-u_xlat10.xxx) + (-u_xlat1.xyz);
					    u_xlat1 = texture(_RC, u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * _Cubemaptint.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat2.xxx) * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xzw * u_xlat1.xyz;
					    u_xlat0.xyz = (-u_xlat0.xzw) * u_xlat1.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD5 / _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;
					}"
				}
			}
		}
		Pass {
			Name "FORWARD"
			Tags { "LIGHTMODE" = "FORWARDADD" "QUEUE" = "Geometry+0" "RenderType" = "Opaque" }
			Blend One One, One One
			ZWrite Off
			GpuProgramID 83054
			Program "vp" {
				SubProgram "d3d11 " {
					Keywords { "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[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.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 * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "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[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_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 * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "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[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.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 * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "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[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_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 * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "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[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.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 * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "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[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_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 * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_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[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					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_xlat2 = u_xlat1.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;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_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[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					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_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_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;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = 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;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * 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;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "FOG_LINEAR" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "FOG_LINEAR" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_LINEAR" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD6 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_LINEAR" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD6 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" "FOG_LINEAR" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" "FOG_LINEAR" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "FOG_LINEAR" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "FOG_LINEAR" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_LINEAR" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					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_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_LINEAR" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					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_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = 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;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * 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;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "FOG_EXP" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "FOG_EXP" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD6 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD6 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" "FOG_EXP" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" "FOG_EXP" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "FOG_EXP" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "FOG_EXP" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					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_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					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_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = 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;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * 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;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "FOG_EXP2" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD6 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[21];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD6 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" "FOG_EXP2" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "FOG_EXP2" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    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_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					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_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[19];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					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  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD6;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					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_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD6 = u_xlat1.z;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = 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;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * 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;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					Keywords { "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[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_3[4];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat31));
					    u_xlat30 = u_xlat30 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    SV_Target0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "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[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat31));
					    u_xlat30 = u_xlat30 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    SV_Target0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_3[4];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb30)) ? u_xlat2.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat2.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat30, u_xlat31);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    SV_Target0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb30)) ? u_xlat2.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat2.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat30, u_xlat31);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    SV_Target0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "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[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_3[4];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					bool u_xlatb31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat2 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat2;
					    u_xlat2 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat2;
					    u_xlat2 = u_xlat2 + unity_WorldToLight[3];
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlatb31 = 0.0<u_xlat2.z;
					    u_xlat31 = u_xlatb31 ? 1.0 : float(0.0);
					    u_xlat3.xy = u_xlat2.xy / u_xlat2.ww;
					    u_xlat3.xy = u_xlat3.xy + vec2(0.5, 0.5);
					    u_xlat3 = texture(_LightTexture0, u_xlat3.xy);
					    u_xlat31 = u_xlat31 * u_xlat3.w;
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    SV_Target0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "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[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					bool u_xlatb31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat2 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat2;
					    u_xlat2 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat2;
					    u_xlat2 = u_xlat2 + unity_WorldToLight[3];
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlatb31 = 0.0<u_xlat2.z;
					    u_xlat31 = u_xlatb31 ? 1.0 : float(0.0);
					    u_xlat3.xy = u_xlat2.xy / u_xlat2.ww;
					    u_xlat3.xy = u_xlat3.xy + vec2(0.5, 0.5);
					    u_xlat3 = texture(_LightTexture0, u_xlat3.xy);
					    u_xlat31 = u_xlat31 * u_xlat3.w;
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    SV_Target0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "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[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_3[4];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat3 = texture(_LightTextureB0, vec2(u_xlat31));
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xyz);
					    u_xlat31 = u_xlat2.w * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    SV_Target0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "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[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat3 = texture(_LightTextureB0, vec2(u_xlat31));
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xyz);
					    u_xlat31 = u_xlat2.w * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    SV_Target0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_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[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_3[4];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy + unity_WorldToLight[3].xy;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlat30 = u_xlat30 * u_xlat2.w;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    SV_Target0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_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[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy + unity_WorldToLight[3].xy;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlat30 = u_xlat30 * u_xlat2.w;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    SV_Target0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "FOG_LINEAR" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat31));
					    u_xlat30 = u_xlat30 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.z + unity_FogParams.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "FOG_LINEAR" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat31));
					    u_xlat30 = u_xlat30 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.z + unity_FogParams.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_LINEAR" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb30)) ? u_xlat2.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat2.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat30, u_xlat31);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.z + unity_FogParams.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_LINEAR" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb30)) ? u_xlat2.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat2.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat30, u_xlat31);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.z + unity_FogParams.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" "FOG_LINEAR" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					bool u_xlatb31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat2 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat2;
					    u_xlat2 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat2;
					    u_xlat2 = u_xlat2 + unity_WorldToLight[3];
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlatb31 = 0.0<u_xlat2.z;
					    u_xlat31 = u_xlatb31 ? 1.0 : float(0.0);
					    u_xlat3.xy = u_xlat2.xy / u_xlat2.ww;
					    u_xlat3.xy = u_xlat3.xy + vec2(0.5, 0.5);
					    u_xlat3 = texture(_LightTexture0, u_xlat3.xy);
					    u_xlat31 = u_xlat31 * u_xlat3.w;
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.z + unity_FogParams.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" "FOG_LINEAR" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					bool u_xlatb31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat2 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat2;
					    u_xlat2 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat2;
					    u_xlat2 = u_xlat2 + unity_WorldToLight[3];
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlatb31 = 0.0<u_xlat2.z;
					    u_xlat31 = u_xlatb31 ? 1.0 : float(0.0);
					    u_xlat3.xy = u_xlat2.xy / u_xlat2.ww;
					    u_xlat3.xy = u_xlat3.xy + vec2(0.5, 0.5);
					    u_xlat3 = texture(_LightTexture0, u_xlat3.xy);
					    u_xlat31 = u_xlat31 * u_xlat3.w;
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.z + unity_FogParams.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "FOG_LINEAR" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat3 = texture(_LightTextureB0, vec2(u_xlat31));
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xyz);
					    u_xlat31 = u_xlat2.w * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.z + unity_FogParams.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "FOG_LINEAR" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat3 = texture(_LightTextureB0, vec2(u_xlat31));
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xyz);
					    u_xlat31 = u_xlat2.w * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.z + unity_FogParams.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_LINEAR" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy + unity_WorldToLight[3].xy;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlat30 = u_xlat30 * u_xlat2.w;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.z + unity_FogParams.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_LINEAR" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy + unity_WorldToLight[3].xy;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlat30 = u_xlat30 * u_xlat2.w;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.z + unity_FogParams.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "FOG_EXP" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat31));
					    u_xlat30 = u_xlat30 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.y;
					    u_xlat0.w = exp2((-u_xlat30));
					    u_xlat0 = min(u_xlat0, vec4(5.0, 5.0, 5.0, 1.0));
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.www;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "FOG_EXP" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat31));
					    u_xlat30 = u_xlat30 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.y;
					    u_xlat0.w = exp2((-u_xlat30));
					    u_xlat0 = min(u_xlat0, vec4(5.0, 5.0, 5.0, 1.0));
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.www;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb30)) ? u_xlat2.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat2.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat30, u_xlat31);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.y;
					    u_xlat0.w = exp2((-u_xlat30));
					    u_xlat0 = min(u_xlat0, vec4(5.0, 5.0, 5.0, 1.0));
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.www;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb30)) ? u_xlat2.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat2.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat30, u_xlat31);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.y;
					    u_xlat0.w = exp2((-u_xlat30));
					    u_xlat0 = min(u_xlat0, vec4(5.0, 5.0, 5.0, 1.0));
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.www;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" "FOG_EXP" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					bool u_xlatb31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat2 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat2;
					    u_xlat2 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat2;
					    u_xlat2 = u_xlat2 + unity_WorldToLight[3];
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlatb31 = 0.0<u_xlat2.z;
					    u_xlat31 = u_xlatb31 ? 1.0 : float(0.0);
					    u_xlat3.xy = u_xlat2.xy / u_xlat2.ww;
					    u_xlat3.xy = u_xlat3.xy + vec2(0.5, 0.5);
					    u_xlat3 = texture(_LightTexture0, u_xlat3.xy);
					    u_xlat31 = u_xlat31 * u_xlat3.w;
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.y;
					    u_xlat0.w = exp2((-u_xlat30));
					    u_xlat0 = min(u_xlat0, vec4(5.0, 5.0, 5.0, 1.0));
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.www;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" "FOG_EXP" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					bool u_xlatb31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat2 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat2;
					    u_xlat2 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat2;
					    u_xlat2 = u_xlat2 + unity_WorldToLight[3];
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlatb31 = 0.0<u_xlat2.z;
					    u_xlat31 = u_xlatb31 ? 1.0 : float(0.0);
					    u_xlat3.xy = u_xlat2.xy / u_xlat2.ww;
					    u_xlat3.xy = u_xlat3.xy + vec2(0.5, 0.5);
					    u_xlat3 = texture(_LightTexture0, u_xlat3.xy);
					    u_xlat31 = u_xlat31 * u_xlat3.w;
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.y;
					    u_xlat0.w = exp2((-u_xlat30));
					    u_xlat0 = min(u_xlat0, vec4(5.0, 5.0, 5.0, 1.0));
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.www;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "FOG_EXP" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat3 = texture(_LightTextureB0, vec2(u_xlat31));
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xyz);
					    u_xlat31 = u_xlat2.w * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.y;
					    u_xlat0.w = exp2((-u_xlat30));
					    u_xlat0 = min(u_xlat0, vec4(5.0, 5.0, 5.0, 1.0));
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.www;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "FOG_EXP" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat3 = texture(_LightTextureB0, vec2(u_xlat31));
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xyz);
					    u_xlat31 = u_xlat2.w * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.y;
					    u_xlat0.w = exp2((-u_xlat30));
					    u_xlat0 = min(u_xlat0, vec4(5.0, 5.0, 5.0, 1.0));
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.www;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy + unity_WorldToLight[3].xy;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlat30 = u_xlat30 * u_xlat2.w;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.y;
					    u_xlat0.w = exp2((-u_xlat30));
					    u_xlat0 = min(u_xlat0, vec4(5.0, 5.0, 5.0, 1.0));
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.www;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy + unity_WorldToLight[3].xy;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlat30 = u_xlat30 * u_xlat2.w;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat30 = vs_TEXCOORD6 / _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.y;
					    u_xlat0.w = exp2((-u_xlat30));
					    u_xlat0 = min(u_xlat0, vec4(5.0, 5.0, 5.0, 1.0));
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.www;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "FOG_EXP2" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat31));
					    u_xlat30 = u_xlat30 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat31));
					    u_xlat30 = u_xlat30 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb30)) ? u_xlat2.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat2.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat30, u_xlat31);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_25;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					        u_xlat2.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb30)) ? u_xlat2.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat2.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat30, u_xlat31);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" "FOG_EXP2" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					bool u_xlatb31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat2 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat2;
					    u_xlat2 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat2;
					    u_xlat2 = u_xlat2 + unity_WorldToLight[3];
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlatb31 = 0.0<u_xlat2.z;
					    u_xlat31 = u_xlatb31 ? 1.0 : float(0.0);
					    u_xlat3.xy = u_xlat2.xy / u_xlat2.ww;
					    u_xlat3.xy = u_xlat3.xy + vec2(0.5, 0.5);
					    u_xlat3 = texture(_LightTexture0, u_xlat3.xy);
					    u_xlat31 = u_xlat31 * u_xlat3.w;
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					bool u_xlatb31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat2 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat2;
					    u_xlat2 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat2;
					    u_xlat2 = u_xlat2 + unity_WorldToLight[3];
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlatb31 = 0.0<u_xlat2.z;
					    u_xlat31 = u_xlatb31 ? 1.0 : float(0.0);
					    u_xlat3.xy = u_xlat2.xy / u_xlat2.ww;
					    u_xlat3.xy = u_xlat3.xy + vec2(0.5, 0.5);
					    u_xlat3 = texture(_LightTexture0, u_xlat3.xy);
					    u_xlat31 = u_xlat31 * u_xlat3.w;
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "FOG_EXP2" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat3 = texture(_LightTextureB0, vec2(u_xlat31));
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xyz);
					    u_xlat31 = u_xlat2.w * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat2.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat3 = texture(_LightTextureB0, vec2(u_xlat31));
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xyz);
					    u_xlat31 = u_xlat2.w * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat31;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_4[3];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[14];
						mat4x4 unity_WorldToCamera;
						vec4 unused_2_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_3_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_3_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_3_7;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy + unity_WorldToLight[3].xy;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlat30 = u_xlat30 * u_xlat2.w;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_MatrixV[1].xyz;
					    u_xlat5.xyz = unity_MatrixV[0].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_MatrixV[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat21 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat31 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat24.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat24.xy);
					    u_xlat24.x = _I + _I;
					    u_xlat24.x = u_xlat6.z * u_xlat24.x + u_xlat5.z;
					    u_xlat34 = _Speed * _Time.y;
					    u_xlat34 = u_xlat34 * 0.0500000007;
					    u_xlat6.x = sin(u_xlat34);
					    u_xlat8.x = cos(u_xlat34);
					    u_xlat16.xyz = u_xlat0.yyy * unity_WorldToCamera[1].xyz;
					    u_xlat16.xyz = unity_WorldToCamera[0].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_WorldToCamera[2].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, u_xlat24.xx);
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat24.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat24.xy * vec2(_In);
					    u_xlat24.x = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat24.x = min(u_xlat24.x, 1.0);
					    u_xlat24.x = (-u_xlat24.x) + 1.0;
					    u_xlat9.z = sqrt(u_xlat24.x);
					    u_xlat24.x = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat34 = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = vec3(u_xlat34) * unity_WorldToCamera[1].xyz;
					    u_xlat18.xyz = unity_WorldToCamera[0].xyz * u_xlat24.xxx + u_xlat18.xyz;
					    u_xlat18.xyz = unity_WorldToCamera[2].xyz * u_xlat25.xxx + u_xlat18.xyz;
					    u_xlat24.x = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat24.x = u_xlat24.x + u_xlat24.x;
					    u_xlat24.xy = u_xlat18.xy * (-u_xlat24.xx) + u_xlat16.xy;
					    u_xlat24.xy = (-u_xlat24.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat24.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat24.xy, u_xlat9.xy);
					    u_xlat24.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat25.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat6.x = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat6.x = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat16.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat16.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat16.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat16.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat16.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat21 * u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat11.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat11.xyz = u_xlat7.xyz * u_xlat11.xyz;
					    u_xlat11.xyz = _Color.xyz * u_xlat2.xyz + u_xlat11.xyz;
					    u_xlat2.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat2 = texture(_MatCap, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _MatCaptint.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0) + u_xlat11.xyz;
					    u_xlat2.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_BumpScale) + u_xlat24.xy;
					    u_xlat4 = texture(_MR, u_xlat4.xy);
					    u_xlat11.xyz = u_xlat2.xyz * u_xlat4.xyz + u_xlat11.xyz;
					    u_xlat2 = texture(_RCn, u_xlat25.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RCns);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat2.z = sqrt(u_xlat30);
					    u_xlat4.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat4.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat4.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat4.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat4.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat11.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * u_xlat6.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _EmissionColor;
						vec4 _EmissionMap_ST;
						float _us;
						float _gsl;
						vec4 _Color;
						vec4 _MainTex_ST;
						vec4 _Mettint;
						float _BumpScale;
						vec4 _BumpMap_ST;
						float _metp;
						vec4 _Metmap_ST;
						vec4 _MatCaptint;
						vec4 _MRt;
						float _In;
						float _I;
						float _Speed;
						vec4 _Cubemaptint;
						float _RCns;
						vec4 _RCn_ST;
						float _Power;
						float _BlackRim;
						float _Multiplyer;
						vec4 unused_0_26;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 _Time;
						vec4 unused_1_1[3];
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_4[3];
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[36];
						mat4x4 unity_StereoWorldToCamera[2];
						vec4 unused_3_4[12];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_6[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _Metmap;
					uniform  sampler2D _MRn;
					uniform  sampler2D _EmissionMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _MatCap;
					uniform  sampler2D _MR;
					uniform  sampler2D _RCn;
					uniform  samplerCube _RC;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat11;
					vec3 u_xlat16;
					vec3 u_xlat18;
					float u_xlat21;
					int u_xlati21;
					vec2 u_xlat22;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD2.xyz;
					    u_xlat1.xyz = vs_TEXCOORD1.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = vs_TEXCOORD3.xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy + unity_WorldToLight[3].xy;
					    u_xlatb30 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb30){
					        u_xlatb30 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb30)) ? u_xlat3.xyz : vs_TEXCOORD4.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat30 = u_xlat3.y * 0.25 + 0.75;
					        u_xlat31 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat3.x = max(u_xlat30, u_xlat31);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					    } else {
					        u_xlat3.x = float(1.0);
					        u_xlat3.y = float(1.0);
					        u_xlat3.z = float(1.0);
					        u_xlat3.w = float(1.0);
					    }
					    u_xlat30 = dot(u_xlat3, unity_OcclusionMaskSelector);
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlat30 = u_xlat30 * u_xlat2.w;
					    u_xlat2.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat3.xyz = _LightColor0.xyz + vec3(9.99999997e-07, 9.99999997e-07, 9.99999997e-07);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat3.xyz;
					    u_xlat30 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat30 = max(u_xlat2.z, u_xlat30);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
					    u_xlat3.x = dot(unity_SHAr.yw, vec2(1.0, 1.0));
					    u_xlat3.y = dot(unity_SHAg.yw, vec2(1.0, 1.0));
					    u_xlat3.z = dot(unity_SHAb.yw, vec2(1.0, 1.0));
					    u_xlat3.xyz = u_xlat3.xyz + (-unity_SHC.xyz);
					    u_xlat3.xyz = vec3(u_xlat30) * _LightColor0.xyz + u_xlat3.xyz;
					    u_xlat30 = u_xlat3.y + u_xlat3.x;
					    u_xlat30 = u_xlat3.z + u_xlat30;
					    u_xlat22.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat4 = texture(_BumpMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xy = u_xlat4.xy * vec2(_BumpScale);
					    u_xlat31 = dot(u_xlat5.xy, u_xlat5.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat5.z = sqrt(u_xlat31);
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat6.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat5.xyz, u_xlat6.xyz);
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = (-u_xlat1.zxy) * vec3(u_xlat31) + vec3(1.0, 1.0, 1.0);
					    u_xlat11.x = dot(u_xlat5.zxy, u_xlat1.xyz);
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex << 2;
					    u_xlat5.xyz = vs_TEXCOORD2.zzz * unity_StereoMatrixV[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[u_xlati21 / 4][u_xlati21 % 4].xyz * vs_TEXCOORD1.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = unity_StereoMatrixV[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlat31 = dot(u_xlat5.xzy, vec3(1.0, 1.0, -0.25));
					    u_xlat24 = dot(u_xlat5.xyz, vec3(1.0, 1.0, 0.25));
					    u_xlat6.xy = vs_TEXCOORD0.xy * _Metmap_ST.xy + _Metmap_ST.zw;
					    u_xlat7 = texture(_Metmap, u_xlat6.xy);
					    u_xlat34 = _I + _I;
					    u_xlat34 = u_xlat6.z * u_xlat34 + u_xlat5.z;
					    u_xlat25.x = _Speed * _Time.y;
					    u_xlat25.x = u_xlat25.x * 0.0500000007;
					    u_xlat6.x = sin(u_xlat25.x);
					    u_xlat8.x = cos(u_xlat25.x);
					    u_xlat16.xyz = u_xlat0.yyy * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * u_xlat0.xxx + u_xlat16.xyz;
					    u_xlat16.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * u_xlat0.zzz + u_xlat16.xyz;
					    u_xlat9 = texture(_MRn, vec2(u_xlat34));
					    u_xlat9.x = u_xlat9.w * u_xlat9.x;
					    u_xlat25.xy = u_xlat9.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat9.xy = u_xlat25.xy * vec2(_In);
					    u_xlat34 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat9.z = sqrt(u_xlat34);
					    u_xlat34 = dot(vs_TEXCOORD1.xyz, u_xlat9.xyz);
					    u_xlat25.x = dot(vs_TEXCOORD2.xyz, u_xlat9.xyz);
					    u_xlat35 = dot(vs_TEXCOORD3.xyz, u_xlat9.xyz);
					    u_xlat18.xyz = u_xlat25.xxx * unity_StereoWorldToCamera[(u_xlati21 + 1) / 4][(u_xlati21 + 1) % 4].xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[u_xlati21 / 4][u_xlati21 % 4].xyz * vec3(u_xlat34) + u_xlat18.xyz;
					    u_xlat18.xyz = unity_StereoWorldToCamera[(u_xlati21 + 2) / 4][(u_xlati21 + 2) % 4].xyz * vec3(u_xlat35) + u_xlat18.xyz;
					    u_xlat21 = dot(u_xlat16.xyz, u_xlat18.xyz);
					    u_xlat21 = u_xlat21 + u_xlat21;
					    u_xlat25.xy = u_xlat18.xy * (-vec2(u_xlat21)) + u_xlat16.xy;
					    u_xlat25.xy = (-u_xlat25.xy) + vec2(-0.5, -0.5);
					    u_xlat9.x = (-u_xlat6.x);
					    u_xlat9.y = u_xlat8.x;
					    u_xlat9.z = u_xlat6.x;
					    u_xlat6.x = dot(u_xlat25.xy, u_xlat9.yz);
					    u_xlat6.y = dot(u_xlat25.xy, u_xlat9.xy);
					    u_xlat25.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _RCn_ST.xy + _RCn_ST.zw;
					    u_xlat1.x = u_xlat1.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat21 = _Power * -30.0 + 30.0;
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * u_xlat21;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat21 = _Multiplyer * _BlackRim;
					    u_xlat8 = texture(_EmissionMap, u_xlat2.xy);
					    u_xlat9.xyz = vec3(u_xlat30) * vec3(0.333333343, 0.333333343, 0.333333343) + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(vec3(_gsl, _gsl, _gsl)) * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat2 = texture(_MainTex, u_xlat22.xy);
					    u_xlat26.xy = vec2(_metp) * vec2(-25.0, -27.0) + vec2(30.0, 30.0);
					    u_xlat30 = log2(u_xlat33);
					    u_xlat30 = u_xlat30 * u_xlat26.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat11.x = log2(u_xlat11.x);
					    u_xlat32 = u_xlat11.x * u_xlat26.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat30 = u_xlat32 * 2.0 + u_xlat30;
					    u_xlat30 = u_xlat31 * u_xlat30;
					    u_xlat30 = u_xlat24 * u_xlat30;
					    u_xlat11.x = u_xlat11.x * 10.0;
					    u_xlat11.x = exp2(u_xlat11.x);
					    u_xlat11.x = (-u_xlat11.x) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat11.x;
					    u_xlat9.xyz = vec3(u_xlat30) * _Mettint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = _Color.xyz * u_xlat2.xyz + u_xlat9.xyz;
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat5.xy;
					    u_xlat9 = texture(_MatCap, u_xlat11.xz);
					    u_xlat9.xyz = u_xlat9.xyz * _MatCaptint.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * u_xlat9.xyz;
					    u_xlat2.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0) + u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat7.xyz * _MRt.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(4.0, 4.0, 4.0);
					    u_xlat11.xz = u_xlat4.xy * vec2(_BumpScale) + u_xlat25.xy;
					    u_xlat4 = texture(_MR, u_xlat11.xz);
					    u_xlat2.xyz = u_xlat9.xyz * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat4 = texture(_RCn, u_xlat6.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat11.xz = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat4.xy = u_xlat11.xz * vec2(_RCns);
					    u_xlat30 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat4.z = sqrt(u_xlat30);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat30 = dot((-u_xlat0.xyz), u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat0.xyz = u_xlat5.xyz * (-vec3(u_xlat30)) + (-u_xlat0.xyz);
					    u_xlat0 = texture(_RC, u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _Cubemaptint.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xxx) * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = (-u_xlat3.xyz) * u_xlat0.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = vec3(_us) * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = _EmissionColor.xyz * u_xlat8.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(5.0, 5.0, 5.0));
					    u_xlat30 = vs_TEXCOORD6 / _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);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
			}
		}
		Pass {
			Name "ShadowCaster"
			Tags { "LIGHTMODE" = "SHADOWCASTER" "QUEUE" = "Geometry+0" "RenderType" = "Opaque" "SHADOWSUPPORT" = "true" }
			GpuProgramID 210676
			Program "vp" {
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "UNITY_PASS_SHADOWCASTER" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_0_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_1_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = (-u_xlat0.xyz) * _WorldSpaceLightPos0.www + _WorldSpaceLightPos0.xyz;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = (-u_xlat1.x) * u_xlat1.x + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * unity_LightShadowBias.z;
					    u_xlat1.xyz = (-u_xlat2.xyz) * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlatb13 = unity_LightShadowBias.z!=0.0;
					    u_xlat0.xyz = (bool(u_xlatb13)) ? 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_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    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_xlat8 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat8);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat8) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat8;
					    vs_TEXCOORD1.xy = in_TEXCOORD0.xy;
					    u_xlat0.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat0.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat0.xyz;
					    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 = u_xlat0.xyz * u_xlat2.zxy;
					    u_xlat1.xyz = u_xlat2.yzx * u_xlat0.yzx + (-u_xlat1.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD2.y = u_xlat1.x;
					    vs_TEXCOORD2.z = u_xlat2.x;
					    u_xlat3.xyz = in_POSITION0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[0].xyz * in_POSITION0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].xyz * in_POSITION0.zzz + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat3.xyz;
					    vs_TEXCOORD2.w = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat0.z;
					    vs_TEXCOORD3.x = u_xlat0.x;
					    vs_TEXCOORD4.x = u_xlat0.y;
					    vs_TEXCOORD3.z = u_xlat2.y;
					    vs_TEXCOORD4.z = u_xlat2.z;
					    vs_TEXCOORD3.w = u_xlat3.y;
					    vs_TEXCOORD4.w = u_xlat3.z;
					    vs_TEXCOORD3.y = u_xlat1.y;
					    vs_TEXCOORD4.y = u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" "UNITY_PASS_SHADOWCASTER" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_0_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_1_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec3 u_xlat1;
					int u_xlati1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat8;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = (-u_xlat0.xyz) * _WorldSpaceLightPos0.www + _WorldSpaceLightPos0.xyz;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = (-u_xlat1.x) * u_xlat1.x + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * unity_LightShadowBias.z;
					    u_xlat1.xyz = (-u_xlat2.xyz) * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlatb13 = unity_LightShadowBias.z!=0.0;
					    u_xlat0.xyz = (bool(u_xlatb13)) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat3;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat3;
					    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_xlat8 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat8);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat8) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat8;
					    vs_TEXCOORD1.xy = in_TEXCOORD0.xy;
					    u_xlat0.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat0.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat0.xyz;
					    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 = u_xlat0.xyz * u_xlat2.zxy;
					    u_xlat1.xyz = u_xlat2.yzx * u_xlat0.yzx + (-u_xlat1.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD2.y = u_xlat1.x;
					    vs_TEXCOORD2.z = u_xlat2.x;
					    u_xlat3.xyz = in_POSITION0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[0].xyz * in_POSITION0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].xyz * in_POSITION0.zzz + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat3.xyz;
					    vs_TEXCOORD2.w = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat0.z;
					    vs_TEXCOORD3.x = u_xlat0.x;
					    vs_TEXCOORD4.x = u_xlat0.y;
					    vs_TEXCOORD3.z = u_xlat2.y;
					    vs_TEXCOORD4.z = u_xlat2.z;
					    vs_TEXCOORD3.w = u_xlat3.y;
					    vs_TEXCOORD4.w = u_xlat3.z;
					    vs_TEXCOORD3.y = u_xlat1.y;
					    vs_TEXCOORD4.y = u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_CUBE" "UNITY_PASS_SHADOWCASTER" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_0_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_1_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = (-u_xlat0.xyz) * _WorldSpaceLightPos0.www + _WorldSpaceLightPos0.xyz;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = (-u_xlat1.x) * u_xlat1.x + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * unity_LightShadowBias.z;
					    u_xlat1.xyz = (-u_xlat2.xyz) * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlatb13 = unity_LightShadowBias.z!=0.0;
					    u_xlat0.xyz = (bool(u_xlatb13)) ? 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_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    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_TEXCOORD0.xy;
					    u_xlat0.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat0.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat0.xyz;
					    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 = u_xlat0.xyz * u_xlat2.zxy;
					    u_xlat1.xyz = u_xlat2.yzx * u_xlat0.yzx + (-u_xlat1.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD2.y = u_xlat1.x;
					    vs_TEXCOORD2.z = u_xlat2.x;
					    u_xlat3.xyz = in_POSITION0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[0].xyz * in_POSITION0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].xyz * in_POSITION0.zzz + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat3.xyz;
					    vs_TEXCOORD2.w = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat0.z;
					    vs_TEXCOORD3.x = u_xlat0.x;
					    vs_TEXCOORD4.x = u_xlat0.y;
					    vs_TEXCOORD3.z = u_xlat2.y;
					    vs_TEXCOORD4.z = u_xlat2.z;
					    vs_TEXCOORD3.w = u_xlat3.y;
					    vs_TEXCOORD4.w = u_xlat3.z;
					    vs_TEXCOORD3.y = u_xlat1.y;
					    vs_TEXCOORD4.y = u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" "UNITY_PASS_SHADOWCASTER" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_0_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_1_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec3 u_xlat1;
					int u_xlati1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = (-u_xlat0.xyz) * _WorldSpaceLightPos0.www + _WorldSpaceLightPos0.xyz;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = (-u_xlat1.x) * u_xlat1.x + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = u_xlat1.x * unity_LightShadowBias.z;
					    u_xlat1.xyz = (-u_xlat2.xyz) * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlatb13 = unity_LightShadowBias.z!=0.0;
					    u_xlat0.xyz = (bool(u_xlatb13)) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat3;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat3;
					    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_TEXCOORD0.xy;
					    u_xlat0.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat0.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat0.xyz;
					    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 = u_xlat0.xyz * u_xlat2.zxy;
					    u_xlat1.xyz = u_xlat2.yzx * u_xlat0.yzx + (-u_xlat1.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD2.y = u_xlat1.x;
					    vs_TEXCOORD2.z = u_xlat2.x;
					    u_xlat3.xyz = in_POSITION0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[0].xyz * in_POSITION0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].xyz * in_POSITION0.zzz + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat3.xyz;
					    vs_TEXCOORD2.w = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat0.z;
					    vs_TEXCOORD3.x = u_xlat0.x;
					    vs_TEXCOORD4.x = u_xlat0.y;
					    vs_TEXCOORD3.z = u_xlat2.y;
					    vs_TEXCOORD4.z = u_xlat2.z;
					    vs_TEXCOORD3.w = u_xlat3.y;
					    vs_TEXCOORD4.w = u_xlat3.z;
					    vs_TEXCOORD3.y = u_xlat1.y;
					    vs_TEXCOORD4.y = u_xlat1.z;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "UNITY_PASS_SHADOWCASTER" }
					"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 { "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" "UNITY_PASS_SHADOWCASTER" }
					"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 { "SHADOWS_CUBE" "UNITY_PASS_SHADOWCASTER" }
					"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 { "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" "UNITY_PASS_SHADOWCASTER" }
					"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;
					}"
				}
			}
		}
	}
	Fallback "Diffuse"
	CustomEditor "ASEMaterialInspector"
}