Shader "Hidden/HxVolumetricApplyDirect" {
	Properties {
		_MainTex ("", any) = "" {}
	}
	SubShader {
		Pass {
			ZTest Always
			Cull Off
			GpuProgramID 35188
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD0.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = in_POSITION0.ww * unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati4].xy + u_xlat1.xy;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 VolumetricDepth_TexelSize;
						vec4 unused_0_2[12];
						float DepthThreshold;
						vec4 unused_0_4[4];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[7];
						vec4 _ZBufferParams;
						vec4 unused_1_2;
					};
					uniform  sampler2D _CameraDepthTexture;
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D _MainTex;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec2 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					int u_xlati7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat12;
					int u_xlati12;
					bool u_xlatb12;
					bool u_xlatb16;
					vec2 u_xlat18;
					bvec2 u_xlatb18;
					vec2 u_xlat19;
					bool u_xlatb20;
					ivec2 u_xlati21;
					bvec2 u_xlatb21;
					bool u_xlatb25;
					int u_xlati30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_CameraDepthTexture, vs_TEXCOORD0.xy);
					    u_xlat0.x = _ZBufferParams.x * u_xlat0.x + _ZBufferParams.y;
					    u_xlat0.x = float(1.0) / u_xlat0.x;
					    u_xlat9.x = u_xlat0.x * DepthThreshold;
					    u_xlat18.xy = VolumetricDepth_TexelSize.xy * vec2(0.5, 0.5);
					    u_xlat1.xy = (-VolumetricDepth_TexelSize.xy) * vec2(0.5, 0.5) + vs_TEXCOORD0.xy;
					    u_xlat1.xy = u_xlat1.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat1.xy = u_xlat1.xy * VolumetricDepth_TexelSize.xy + u_xlat18.xy;
					    u_xlat19.xy = vs_TEXCOORD0.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat19.xy = floor(u_xlat19.xy);
					    u_xlat2.xy = u_xlat19.xy * VolumetricDepth_TexelSize.xy + u_xlat18.xy;
					    u_xlatb18.xy = notEqual(u_xlat1.xyxy, u_xlat2.xyxy).xy;
					    u_xlat18.x = u_xlatb18.x ? float(1.0) : 0.0;
					    u_xlat18.y = u_xlatb18.y ? float(1.0) : 0.0;
					;
					    u_xlat18.xy = u_xlat18.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1 = textureLod(VolumetricDepth, u_xlat2.xy, 0.0);
					    u_xlat1.z = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					    u_xlat3.x = (-u_xlat0.x) + u_xlat1.z;
					    u_xlat4 = (-VolumetricDepth_TexelSize.xxyy) * u_xlat18.xxyy + u_xlat2.xxyy;
					    u_xlat2.zw = u_xlat4.xw;
					    u_xlat5 = textureLod(VolumetricDepth, u_xlat2.zy, 0.0);
					    u_xlat5.w = dot(u_xlat5.xy, vec2(1.0, 0.00392156886));
					    u_xlat12 = (-u_xlat0.x) + u_xlat5.w;
					    u_xlat5.x = abs(u_xlat12);
					    u_xlat6 = textureLod(VolumetricDepth, u_xlat2.xw, 0.0);
					    u_xlat6.w = dot(u_xlat6.xy, vec2(1.0, 0.00392156886));
					    u_xlat12 = (-u_xlat0.x) + u_xlat6.w;
					    u_xlat6.x = abs(u_xlat12);
					    u_xlat7 = textureLod(VolumetricDepth, u_xlat4.yz, 0.0);
					    u_xlat4.w = dot(u_xlat7.xy, vec2(1.0, 0.00392156886));
					    u_xlat12 = (-u_xlat0.x) + u_xlat4.w;
					    u_xlat4.x = abs(u_xlat12);
					    u_xlati12 = int((u_xlat1.z<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati21.x = int((u_xlat5.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati21.y = int((u_xlat6.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati7 = int((u_xlat4.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb16 = abs(u_xlat3.x)<u_xlat9.x;
					    u_xlatb25 = u_xlat5.x<u_xlat9.x;
					    u_xlatb16 = u_xlatb25 && u_xlatb16;
					    u_xlatb25 = u_xlat6.x<u_xlat9.x;
					    u_xlatb16 = u_xlatb25 && u_xlatb16;
					    u_xlatb9 = u_xlat4.x<u_xlat9.x;
					    u_xlatb9 = u_xlatb9 && u_xlatb16;
					    u_xlatb21.xy = equal(u_xlati21.xyxy, ivec4(u_xlati12)).xy;
					    u_xlatb21.x = u_xlatb21.y && u_xlatb21.x;
					    u_xlatb30 = u_xlati12==u_xlati7;
					    u_xlatb21.x = u_xlatb30 && u_xlatb21.x;
					    u_xlati30 = int((u_xlat0.x<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb12 = u_xlati12==u_xlati30;
					    u_xlatb12 = u_xlatb12 && u_xlatb21.x;
					    u_xlatb9 = u_xlatb9 && u_xlatb12;
					    if(u_xlatb9){
					        SV_Target0 = textureLod(_MainTex, vs_TEXCOORD0.xy, 0.0);
					        gl_FragDepth = 1.0;
					    } else {
					        u_xlatb9 = u_xlat0.x>=u_xlat1.z;
					        u_xlatb12 = abs(u_xlat3.x)<100000.0;
					        u_xlatb9 = u_xlatb9 && u_xlatb12;
					        u_xlat1.y = (u_xlatb9) ? abs(u_xlat3.x) : 100000.0;
					        u_xlatb9 = u_xlat1.z>=u_xlat0.x;
					        u_xlatb9 = u_xlatb12 && u_xlatb9;
					        u_xlat1.x = (u_xlatb9) ? abs(u_xlat3.x) : 100000.0;
					        u_xlatb9 = u_xlat0.x>=u_xlat5.w;
					        u_xlatb3.xy = lessThan(u_xlat5.xxxx, u_xlat1.yxyy).xy;
					        u_xlatb9 = u_xlatb9 && u_xlatb3.x;
					        u_xlat5.y = u_xlat2.z;
					        u_xlat1.w = u_xlat2.x;
					        u_xlat7.xyw = (bool(u_xlatb9)) ? u_xlat5.xyw : u_xlat1.ywz;
					        u_xlatb9 = u_xlat5.w>=u_xlat0.x;
					        u_xlatb9 = u_xlatb3.y && u_xlatb9;
					        u_xlat1.xyw = (bool(u_xlatb9)) ? u_xlat5.xyw : u_xlat1.xwz;
					        u_xlatb9 = u_xlat0.x>=u_xlat6.w;
					        u_xlatb20 = u_xlat6.x<u_xlat7.x;
					        u_xlatb9 = u_xlatb9 && u_xlatb20;
					        u_xlat6.yz = u_xlat2.xw;
					        u_xlat7.z = u_xlat2.y;
					        u_xlat3 = (bool(u_xlatb9)) ? u_xlat6 : u_xlat7;
					        u_xlatb9 = u_xlat6.w>=u_xlat0.x;
					        u_xlatb20 = u_xlat6.x<u_xlat1.x;
					        u_xlatb9 = u_xlatb9 && u_xlatb20;
					        u_xlat1.z = u_xlat7.z;
					        u_xlat7 = (bool(u_xlatb9)) ? u_xlat6 : u_xlat1;
					        u_xlatb9 = u_xlat0.x>=u_xlat4.w;
					        u_xlatb20 = u_xlat4.x<u_xlat3.x;
					        u_xlatb9 = u_xlatb9 && u_xlatb20;
					        u_xlat3 = (bool(u_xlatb9)) ? u_xlat4 : u_xlat3;
					        u_xlatb9 = u_xlat4.w>=u_xlat0.x;
					        u_xlatb20 = u_xlat4.x<u_xlat7.x;
					        u_xlatb9 = u_xlatb9 && u_xlatb20;
					        u_xlat4 = (bool(u_xlatb9)) ? u_xlat4 : u_xlat7;
					        u_xlat2.yz = VolumetricDepth_TexelSize.xy * u_xlat18.xy + u_xlat2.xy;
					        u_xlat7 = textureLod(VolumetricDepth, u_xlat2.yz, 0.0);
					        u_xlat2.w = dot(u_xlat7.xy, vec2(1.0, 0.00392156886));
					        u_xlat9.x = (-u_xlat0.x) + u_xlat2.w;
					        u_xlat2.x = abs(u_xlat9.x);
					        u_xlatb9 = u_xlat0.x>=u_xlat2.w;
					        u_xlatb18.x = u_xlat2.x<u_xlat3.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat3 = (bool(u_xlatb9)) ? u_xlat2 : u_xlat3;
					        u_xlatb9 = u_xlat2.w>=u_xlat0.x;
					        u_xlatb18.x = u_xlat2.x<u_xlat4.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat4 = (bool(u_xlatb9)) ? u_xlat2 : u_xlat4;
					        u_xlat7.y = u_xlat6.y;
					        u_xlat7.z = u_xlat2.z;
					        u_xlat8 = textureLod(VolumetricDepth, u_xlat7.yz, 0.0);
					        u_xlat7.w = dot(u_xlat8.xy, vec2(1.0, 0.00392156886));
					        u_xlat9.x = (-u_xlat0.x) + u_xlat7.w;
					        u_xlat7.x = abs(u_xlat9.x);
					        u_xlatb9 = u_xlat0.x>=u_xlat7.w;
					        u_xlatb18.x = u_xlat7.x<u_xlat3.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat3 = (bool(u_xlatb9)) ? u_xlat7 : u_xlat3;
					        u_xlatb9 = u_xlat7.w>=u_xlat0.x;
					        u_xlatb18.x = u_xlat7.x<u_xlat4.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat4 = (bool(u_xlatb9)) ? u_xlat7 : u_xlat4;
					        u_xlat1.y = u_xlat2.y;
					        u_xlat2 = textureLod(VolumetricDepth, u_xlat1.yz, 0.0);
					        u_xlat1.w = dot(u_xlat2.xy, vec2(1.0, 0.00392156886));
					        u_xlat9.x = (-u_xlat0.x) + u_xlat1.w;
					        u_xlat1.x = abs(u_xlat9.x);
					        u_xlatb9 = u_xlat0.x>=u_xlat1.w;
					        u_xlatb18.x = u_xlat1.x<u_xlat3.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat2 = (bool(u_xlatb9)) ? u_xlat1 : u_xlat3;
					        u_xlatb9 = u_xlat1.w>=u_xlat0.x;
					        u_xlatb18.x = u_xlat1.x<u_xlat4.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat3 = (bool(u_xlatb9)) ? u_xlat1 : u_xlat4;
					        u_xlat5.z = u_xlat7.z;
					        u_xlat4 = textureLod(VolumetricDepth, u_xlat5.yz, 0.0);
					        u_xlat5.w = dot(u_xlat4.xy, vec2(1.0, 0.00392156886));
					        u_xlat9.x = (-u_xlat0.x) + u_xlat5.w;
					        u_xlat5.x = abs(u_xlat9.x);
					        u_xlatb9 = u_xlat0.x>=u_xlat5.w;
					        u_xlatb18.x = u_xlat5.x<u_xlat2.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat2 = (bool(u_xlatb9)) ? u_xlat5 : u_xlat2;
					        u_xlatb9 = u_xlat5.w>=u_xlat0.x;
					        u_xlatb18.x = u_xlat5.x<u_xlat3.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat3 = (bool(u_xlatb9)) ? u_xlat5 : u_xlat3;
					        u_xlat6.y = u_xlat1.y;
					        u_xlat1 = textureLod(VolumetricDepth, u_xlat6.yz, 0.0);
					        u_xlat6.w = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					        u_xlat9.x = (-u_xlat0.x) + u_xlat6.w;
					        u_xlat6.x = abs(u_xlat9.x);
					        u_xlatb9 = u_xlat0.x>=u_xlat6.w;
					        u_xlatb18.x = u_xlat6.x<u_xlat2.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat1 = (bool(u_xlatb9)) ? u_xlat6 : u_xlat2;
					        u_xlatb9 = u_xlat6.w>=u_xlat0.x;
					        u_xlatb18.x = u_xlat6.x<u_xlat3.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat2 = (bool(u_xlatb9)) ? u_xlat6 : u_xlat3;
					        u_xlatb9 = 99999.0<u_xlat1.x;
					        u_xlat9.xyz = (bool(u_xlatb9)) ? u_xlat2.yzw : u_xlat1.yzw;
					        u_xlatb1 = 99999.0<u_xlat2.x;
					        u_xlat1.xyz = (bool(u_xlatb1)) ? u_xlat9.xyz : u_xlat2.yzw;
					        u_xlat2 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					        u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat9.x = (-u_xlat9.z) + u_xlat1.z;
					        u_xlat0.x = (-u_xlat9.z) + u_xlat0.x;
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat0.x = u_xlat9.x * u_xlat0.x;
					        u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					        u_xlat9.x = u_xlat0.x * -2.0 + 3.0;
					        u_xlat0.x = u_xlat0.x * u_xlat0.x;
					        u_xlat0.x = u_xlat0.x * u_xlat9.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlat1 = (-u_xlat2) + u_xlat3;
					        SV_Target0 = u_xlat0.xxxx * u_xlat1 + u_xlat2;
					        gl_FragDepth = 0.0;
					    }
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 VolumetricDepth_TexelSize;
						vec4 unused_0_2[12];
						float DepthThreshold;
						vec4 unused_0_4[4];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[6];
						vec4 _ZBufferParams;
						vec4 unused_1_2;
					};
					uniform  sampler2D _CameraDepthTexture;
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D _MainTex;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec2 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					int u_xlati7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat12;
					int u_xlati12;
					bool u_xlatb12;
					bool u_xlatb16;
					vec2 u_xlat18;
					bvec2 u_xlatb18;
					vec2 u_xlat19;
					bool u_xlatb20;
					ivec2 u_xlati21;
					bvec2 u_xlatb21;
					bool u_xlatb25;
					int u_xlati30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_CameraDepthTexture, vs_TEXCOORD0.xy);
					    u_xlat0.x = _ZBufferParams.x * u_xlat0.x + _ZBufferParams.y;
					    u_xlat0.x = float(1.0) / u_xlat0.x;
					    u_xlat9.x = u_xlat0.x * DepthThreshold;
					    u_xlat18.xy = VolumetricDepth_TexelSize.xy * vec2(0.5, 0.5);
					    u_xlat1.xy = (-VolumetricDepth_TexelSize.xy) * vec2(0.5, 0.5) + vs_TEXCOORD0.xy;
					    u_xlat1.xy = u_xlat1.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat1.xy = u_xlat1.xy * VolumetricDepth_TexelSize.xy + u_xlat18.xy;
					    u_xlat19.xy = vs_TEXCOORD0.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat19.xy = floor(u_xlat19.xy);
					    u_xlat2.xy = u_xlat19.xy * VolumetricDepth_TexelSize.xy + u_xlat18.xy;
					    u_xlatb18.xy = notEqual(u_xlat1.xyxy, u_xlat2.xyxy).xy;
					    u_xlat18.x = u_xlatb18.x ? float(1.0) : 0.0;
					    u_xlat18.y = u_xlatb18.y ? float(1.0) : 0.0;
					;
					    u_xlat18.xy = u_xlat18.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1 = textureLod(VolumetricDepth, u_xlat2.xy, 0.0);
					    u_xlat1.z = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					    u_xlat3.x = (-u_xlat0.x) + u_xlat1.z;
					    u_xlat4 = (-VolumetricDepth_TexelSize.xxyy) * u_xlat18.xxyy + u_xlat2.xxyy;
					    u_xlat2.zw = u_xlat4.xw;
					    u_xlat5 = textureLod(VolumetricDepth, u_xlat2.zy, 0.0);
					    u_xlat5.w = dot(u_xlat5.xy, vec2(1.0, 0.00392156886));
					    u_xlat12 = (-u_xlat0.x) + u_xlat5.w;
					    u_xlat5.x = abs(u_xlat12);
					    u_xlat6 = textureLod(VolumetricDepth, u_xlat2.xw, 0.0);
					    u_xlat6.w = dot(u_xlat6.xy, vec2(1.0, 0.00392156886));
					    u_xlat12 = (-u_xlat0.x) + u_xlat6.w;
					    u_xlat6.x = abs(u_xlat12);
					    u_xlat7 = textureLod(VolumetricDepth, u_xlat4.yz, 0.0);
					    u_xlat4.w = dot(u_xlat7.xy, vec2(1.0, 0.00392156886));
					    u_xlat12 = (-u_xlat0.x) + u_xlat4.w;
					    u_xlat4.x = abs(u_xlat12);
					    u_xlati12 = int((u_xlat1.z<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati21.x = int((u_xlat5.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati21.y = int((u_xlat6.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati7 = int((u_xlat4.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb16 = abs(u_xlat3.x)<u_xlat9.x;
					    u_xlatb25 = u_xlat5.x<u_xlat9.x;
					    u_xlatb16 = u_xlatb25 && u_xlatb16;
					    u_xlatb25 = u_xlat6.x<u_xlat9.x;
					    u_xlatb16 = u_xlatb25 && u_xlatb16;
					    u_xlatb9 = u_xlat4.x<u_xlat9.x;
					    u_xlatb9 = u_xlatb9 && u_xlatb16;
					    u_xlatb21.xy = equal(u_xlati21.xyxy, ivec4(u_xlati12)).xy;
					    u_xlatb21.x = u_xlatb21.y && u_xlatb21.x;
					    u_xlatb30 = u_xlati12==u_xlati7;
					    u_xlatb21.x = u_xlatb30 && u_xlatb21.x;
					    u_xlati30 = int((u_xlat0.x<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb12 = u_xlati12==u_xlati30;
					    u_xlatb12 = u_xlatb12 && u_xlatb21.x;
					    u_xlatb9 = u_xlatb9 && u_xlatb12;
					    if(u_xlatb9){
					        SV_Target0 = textureLod(_MainTex, vs_TEXCOORD0.xy, 0.0);
					        gl_FragDepth = 1.0;
					    } else {
					        u_xlatb9 = u_xlat0.x>=u_xlat1.z;
					        u_xlatb12 = abs(u_xlat3.x)<100000.0;
					        u_xlatb9 = u_xlatb9 && u_xlatb12;
					        u_xlat1.y = (u_xlatb9) ? abs(u_xlat3.x) : 100000.0;
					        u_xlatb9 = u_xlat1.z>=u_xlat0.x;
					        u_xlatb9 = u_xlatb12 && u_xlatb9;
					        u_xlat1.x = (u_xlatb9) ? abs(u_xlat3.x) : 100000.0;
					        u_xlatb9 = u_xlat0.x>=u_xlat5.w;
					        u_xlatb3.xy = lessThan(u_xlat5.xxxx, u_xlat1.yxyy).xy;
					        u_xlatb9 = u_xlatb9 && u_xlatb3.x;
					        u_xlat5.y = u_xlat2.z;
					        u_xlat1.w = u_xlat2.x;
					        u_xlat7.xyw = (bool(u_xlatb9)) ? u_xlat5.xyw : u_xlat1.ywz;
					        u_xlatb9 = u_xlat5.w>=u_xlat0.x;
					        u_xlatb9 = u_xlatb3.y && u_xlatb9;
					        u_xlat1.xyw = (bool(u_xlatb9)) ? u_xlat5.xyw : u_xlat1.xwz;
					        u_xlatb9 = u_xlat0.x>=u_xlat6.w;
					        u_xlatb20 = u_xlat6.x<u_xlat7.x;
					        u_xlatb9 = u_xlatb9 && u_xlatb20;
					        u_xlat6.yz = u_xlat2.xw;
					        u_xlat7.z = u_xlat2.y;
					        u_xlat3 = (bool(u_xlatb9)) ? u_xlat6 : u_xlat7;
					        u_xlatb9 = u_xlat6.w>=u_xlat0.x;
					        u_xlatb20 = u_xlat6.x<u_xlat1.x;
					        u_xlatb9 = u_xlatb9 && u_xlatb20;
					        u_xlat1.z = u_xlat7.z;
					        u_xlat7 = (bool(u_xlatb9)) ? u_xlat6 : u_xlat1;
					        u_xlatb9 = u_xlat0.x>=u_xlat4.w;
					        u_xlatb20 = u_xlat4.x<u_xlat3.x;
					        u_xlatb9 = u_xlatb9 && u_xlatb20;
					        u_xlat3 = (bool(u_xlatb9)) ? u_xlat4 : u_xlat3;
					        u_xlatb9 = u_xlat4.w>=u_xlat0.x;
					        u_xlatb20 = u_xlat4.x<u_xlat7.x;
					        u_xlatb9 = u_xlatb9 && u_xlatb20;
					        u_xlat4 = (bool(u_xlatb9)) ? u_xlat4 : u_xlat7;
					        u_xlat2.yz = VolumetricDepth_TexelSize.xy * u_xlat18.xy + u_xlat2.xy;
					        u_xlat7 = textureLod(VolumetricDepth, u_xlat2.yz, 0.0);
					        u_xlat2.w = dot(u_xlat7.xy, vec2(1.0, 0.00392156886));
					        u_xlat9.x = (-u_xlat0.x) + u_xlat2.w;
					        u_xlat2.x = abs(u_xlat9.x);
					        u_xlatb9 = u_xlat0.x>=u_xlat2.w;
					        u_xlatb18.x = u_xlat2.x<u_xlat3.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat3 = (bool(u_xlatb9)) ? u_xlat2 : u_xlat3;
					        u_xlatb9 = u_xlat2.w>=u_xlat0.x;
					        u_xlatb18.x = u_xlat2.x<u_xlat4.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat4 = (bool(u_xlatb9)) ? u_xlat2 : u_xlat4;
					        u_xlat7.y = u_xlat6.y;
					        u_xlat7.z = u_xlat2.z;
					        u_xlat8 = textureLod(VolumetricDepth, u_xlat7.yz, 0.0);
					        u_xlat7.w = dot(u_xlat8.xy, vec2(1.0, 0.00392156886));
					        u_xlat9.x = (-u_xlat0.x) + u_xlat7.w;
					        u_xlat7.x = abs(u_xlat9.x);
					        u_xlatb9 = u_xlat0.x>=u_xlat7.w;
					        u_xlatb18.x = u_xlat7.x<u_xlat3.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat3 = (bool(u_xlatb9)) ? u_xlat7 : u_xlat3;
					        u_xlatb9 = u_xlat7.w>=u_xlat0.x;
					        u_xlatb18.x = u_xlat7.x<u_xlat4.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat4 = (bool(u_xlatb9)) ? u_xlat7 : u_xlat4;
					        u_xlat1.y = u_xlat2.y;
					        u_xlat2 = textureLod(VolumetricDepth, u_xlat1.yz, 0.0);
					        u_xlat1.w = dot(u_xlat2.xy, vec2(1.0, 0.00392156886));
					        u_xlat9.x = (-u_xlat0.x) + u_xlat1.w;
					        u_xlat1.x = abs(u_xlat9.x);
					        u_xlatb9 = u_xlat0.x>=u_xlat1.w;
					        u_xlatb18.x = u_xlat1.x<u_xlat3.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat2 = (bool(u_xlatb9)) ? u_xlat1 : u_xlat3;
					        u_xlatb9 = u_xlat1.w>=u_xlat0.x;
					        u_xlatb18.x = u_xlat1.x<u_xlat4.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat3 = (bool(u_xlatb9)) ? u_xlat1 : u_xlat4;
					        u_xlat5.z = u_xlat7.z;
					        u_xlat4 = textureLod(VolumetricDepth, u_xlat5.yz, 0.0);
					        u_xlat5.w = dot(u_xlat4.xy, vec2(1.0, 0.00392156886));
					        u_xlat9.x = (-u_xlat0.x) + u_xlat5.w;
					        u_xlat5.x = abs(u_xlat9.x);
					        u_xlatb9 = u_xlat0.x>=u_xlat5.w;
					        u_xlatb18.x = u_xlat5.x<u_xlat2.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat2 = (bool(u_xlatb9)) ? u_xlat5 : u_xlat2;
					        u_xlatb9 = u_xlat5.w>=u_xlat0.x;
					        u_xlatb18.x = u_xlat5.x<u_xlat3.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat3 = (bool(u_xlatb9)) ? u_xlat5 : u_xlat3;
					        u_xlat6.y = u_xlat1.y;
					        u_xlat1 = textureLod(VolumetricDepth, u_xlat6.yz, 0.0);
					        u_xlat6.w = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					        u_xlat9.x = (-u_xlat0.x) + u_xlat6.w;
					        u_xlat6.x = abs(u_xlat9.x);
					        u_xlatb9 = u_xlat0.x>=u_xlat6.w;
					        u_xlatb18.x = u_xlat6.x<u_xlat2.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat1 = (bool(u_xlatb9)) ? u_xlat6 : u_xlat2;
					        u_xlatb9 = u_xlat6.w>=u_xlat0.x;
					        u_xlatb18.x = u_xlat6.x<u_xlat3.x;
					        u_xlatb9 = u_xlatb18.x && u_xlatb9;
					        u_xlat2 = (bool(u_xlatb9)) ? u_xlat6 : u_xlat3;
					        u_xlatb9 = 99999.0<u_xlat1.x;
					        u_xlat9.xyz = (bool(u_xlatb9)) ? u_xlat2.yzw : u_xlat1.yzw;
					        u_xlatb1 = 99999.0<u_xlat2.x;
					        u_xlat1.xyz = (bool(u_xlatb1)) ? u_xlat9.xyz : u_xlat2.yzw;
					        u_xlat2 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					        u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat9.x = (-u_xlat9.z) + u_xlat1.z;
					        u_xlat0.x = (-u_xlat9.z) + u_xlat0.x;
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat0.x = u_xlat9.x * u_xlat0.x;
					        u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					        u_xlat9.x = u_xlat0.x * -2.0 + 3.0;
					        u_xlat0.x = u_xlat0.x * u_xlat0.x;
					        u_xlat0.x = u_xlat0.x * u_xlat9.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlat1 = (-u_xlat2) + u_xlat3;
					        SV_Target0 = u_xlat0.xxxx * u_xlat1 + u_xlat2;
					        gl_FragDepth = 0.0;
					    }
					    return;
					}"
				}
			}
		}
		Pass {
			Blend One OneMinusSrcAlpha, One OneMinusSrcAlpha
			ZTest Always
			ZWrite Off
			Cull Off
			GpuProgramID 84446
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD0.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = in_POSITION0.ww * unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati4].xy + u_xlat1.xy;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D VolumetricTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					float u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = dot(vs_TEXCOORD0.xy, vec2(12.9898005, 78.2330017));
					    u_xlat0 = sin(u_xlat0);
					    u_xlat0 = u_xlat0 * 43758.5469;
					    u_xlat0 = fract(u_xlat0);
					    u_xlat0 = u_xlat0 * 0.00065359479 + -0.000326797395;
					    u_xlat1 = texture(VolumetricTexture, vs_TEXCOORD0.xy);
					    SV_Target0 = vec4(u_xlat0) + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D VolumetricTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					float u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = dot(vs_TEXCOORD0.xy, vec2(12.9898005, 78.2330017));
					    u_xlat0 = sin(u_xlat0);
					    u_xlat0 = u_xlat0 * 43758.5469;
					    u_xlat0 = fract(u_xlat0);
					    u_xlat0 = u_xlat0 * 0.00065359479 + -0.000326797395;
					    u_xlat1 = texture(VolumetricTexture, vs_TEXCOORD0.xy);
					    SV_Target0 = vec4(u_xlat0) + u_xlat1;
					    return;
					}"
				}
			}
		}
		Pass {
			Blend One OneMinusSrcAlpha, One OneMinusSrcAlpha
			ZTest Always
			ZWrite Off
			Cull Off
			GpuProgramID 159749
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD0.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = in_POSITION0.ww * unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati4].xy + u_xlat1.xy;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D VolumetricTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					float u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = dot(vs_TEXCOORD0.xy, vec2(12.9898005, 78.2330017));
					    u_xlat0 = sin(u_xlat0);
					    u_xlat0 = u_xlat0 * 43758.5469;
					    u_xlat0 = fract(u_xlat0);
					    u_xlat1 = texture(VolumetricTexture, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = log2(u_xlat1.xyz);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.45449999, 0.45449999, 0.45449999);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    SV_Target0.xyz = vec3(u_xlat0) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D VolumetricTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					float u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = dot(vs_TEXCOORD0.xy, vec2(12.9898005, 78.2330017));
					    u_xlat0 = sin(u_xlat0);
					    u_xlat0 = u_xlat0 * 43758.5469;
					    u_xlat0 = fract(u_xlat0);
					    u_xlat1 = texture(VolumetricTexture, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = log2(u_xlat1.xyz);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.45449999, 0.45449999, 0.45449999);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    SV_Target0.xyz = vec3(u_xlat0) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    return;
					}"
				}
			}
		}
		Pass {
			Blend One OneMinusSrcAlpha, One OneMinusSrcAlpha
			ZTest Always
			ZWrite Off
			Cull Off
			GpuProgramID 201736
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD0.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = in_POSITION0.ww * unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati4].xy + u_xlat1.xy;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D VolumetricTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = texture(VolumetricTexture, vs_TEXCOORD0.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D VolumetricTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = texture(VolumetricTexture, vs_TEXCOORD0.xy);
					    return;
					}"
				}
			}
		}
		Pass {
			Blend One OneMinusSrcAlpha, One OneMinusSrcAlpha
			ZTest Always
			ZWrite Off
			Cull Off
			GpuProgramID 308878
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD0.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = in_POSITION0.ww * unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati4].xy + u_xlat1.xy;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D VolumetricTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					void main()
					{
					    u_xlat0 = texture(VolumetricTexture, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.45449999, 0.45449999, 0.45449999);
					    SV_Target0.xyz = exp2(u_xlat0.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D VolumetricTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					void main()
					{
					    u_xlat0 = texture(VolumetricTexture, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.45449999, 0.45449999, 0.45449999);
					    SV_Target0.xyz = exp2(u_xlat0.xyz);
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			Cull Off
			GpuProgramID 355133
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD0.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = in_POSITION0.ww * unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati4].xy + u_xlat1.xy;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 VolumetricDepth_TexelSize;
						vec4 unused_0_2[12];
						float DepthThreshold;
						vec4 unused_0_4[4];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[7];
						vec4 _ZBufferParams;
						vec4 unused_1_2;
					};
					uniform  sampler2D _CameraDepthTexture;
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D _MainTex;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec2 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					float u_xlat13;
					int u_xlati13;
					bool u_xlatb13;
					bool u_xlatb17;
					vec2 u_xlat20;
					bvec2 u_xlatb20;
					vec2 u_xlat21;
					bool u_xlatb22;
					ivec2 u_xlati23;
					bvec2 u_xlatb23;
					bool u_xlatb27;
					int u_xlati33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_CameraDepthTexture, vs_TEXCOORD0.xy);
					    u_xlat0.x = _ZBufferParams.x * u_xlat0.x + _ZBufferParams.y;
					    u_xlat0.x = float(1.0) / u_xlat0.x;
					    u_xlat10.x = u_xlat0.x * DepthThreshold;
					    u_xlat20.xy = VolumetricDepth_TexelSize.xy * vec2(0.5, 0.5);
					    u_xlat1.xy = (-VolumetricDepth_TexelSize.xy) * vec2(0.5, 0.5) + vs_TEXCOORD0.xy;
					    u_xlat1.xy = u_xlat1.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat1.xy = u_xlat1.xy * VolumetricDepth_TexelSize.xy + u_xlat20.xy;
					    u_xlat21.xy = vs_TEXCOORD0.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat21.xy = floor(u_xlat21.xy);
					    u_xlat2.xy = u_xlat21.xy * VolumetricDepth_TexelSize.xy + u_xlat20.xy;
					    u_xlatb20.xy = notEqual(u_xlat1.xyxy, u_xlat2.xyxy).xy;
					    u_xlat20.x = u_xlatb20.x ? float(1.0) : 0.0;
					    u_xlat20.y = u_xlatb20.y ? float(1.0) : 0.0;
					;
					    u_xlat20.xy = u_xlat20.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1 = textureLod(VolumetricDepth, u_xlat2.xy, 0.0);
					    u_xlat1.z = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					    u_xlat3.x = (-u_xlat0.x) + u_xlat1.z;
					    u_xlat4 = (-VolumetricDepth_TexelSize.xxyy) * u_xlat20.xxyy + u_xlat2.xxyy;
					    u_xlat2.zw = u_xlat4.xw;
					    u_xlat5 = textureLod(VolumetricDepth, u_xlat2.zy, 0.0);
					    u_xlat5.w = dot(u_xlat5.xy, vec2(1.0, 0.00392156886));
					    u_xlat13 = (-u_xlat0.x) + u_xlat5.w;
					    u_xlat5.x = abs(u_xlat13);
					    u_xlat6 = textureLod(VolumetricDepth, u_xlat2.xw, 0.0);
					    u_xlat6.w = dot(u_xlat6.xy, vec2(1.0, 0.00392156886));
					    u_xlat13 = (-u_xlat0.x) + u_xlat6.w;
					    u_xlat6.x = abs(u_xlat13);
					    u_xlat7 = textureLod(VolumetricDepth, u_xlat4.yz, 0.0);
					    u_xlat4.w = dot(u_xlat7.xy, vec2(1.0, 0.00392156886));
					    u_xlat13 = (-u_xlat0.x) + u_xlat4.w;
					    u_xlat4.x = abs(u_xlat13);
					    u_xlati13 = int((u_xlat1.z<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati23.x = int((u_xlat5.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati23.y = int((u_xlat6.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati7 = int((u_xlat4.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb17 = abs(u_xlat3.x)<u_xlat10.x;
					    u_xlatb27 = u_xlat5.x<u_xlat10.x;
					    u_xlatb17 = u_xlatb27 && u_xlatb17;
					    u_xlatb27 = u_xlat6.x<u_xlat10.x;
					    u_xlatb17 = u_xlatb27 && u_xlatb17;
					    u_xlatb10 = u_xlat4.x<u_xlat10.x;
					    u_xlatb10 = u_xlatb10 && u_xlatb17;
					    u_xlatb23.xy = equal(u_xlati23.xyxy, ivec4(u_xlati13)).xy;
					    u_xlatb23.x = u_xlatb23.y && u_xlatb23.x;
					    u_xlatb33 = u_xlati13==u_xlati7;
					    u_xlatb23.x = u_xlatb33 && u_xlatb23.x;
					    u_xlati33 = int((u_xlat0.x<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb13 = u_xlati13==u_xlati33;
					    u_xlatb13 = u_xlatb13 && u_xlatb23.x;
					    u_xlatb10 = u_xlatb10 && u_xlatb13;
					    if(u_xlatb10){
					        u_xlat7 = textureLod(_MainTex, vs_TEXCOORD0.xy, 0.0);
					        gl_FragDepth = 1.0;
					    } else {
					        u_xlatb10 = u_xlat0.x>=u_xlat1.z;
					        u_xlatb13 = abs(u_xlat3.x)<100000.0;
					        u_xlatb10 = u_xlatb10 && u_xlatb13;
					        u_xlat1.y = (u_xlatb10) ? abs(u_xlat3.x) : 100000.0;
					        u_xlatb10 = u_xlat1.z>=u_xlat0.x;
					        u_xlatb10 = u_xlatb13 && u_xlatb10;
					        u_xlat1.x = (u_xlatb10) ? abs(u_xlat3.x) : 100000.0;
					        u_xlatb10 = u_xlat0.x>=u_xlat5.w;
					        u_xlatb3.xy = lessThan(u_xlat5.xxxx, u_xlat1.yxyy).xy;
					        u_xlatb10 = u_xlatb10 && u_xlatb3.x;
					        u_xlat5.y = u_xlat2.z;
					        u_xlat1.w = u_xlat2.x;
					        u_xlat8.xyw = (bool(u_xlatb10)) ? u_xlat5.xyw : u_xlat1.ywz;
					        u_xlatb10 = u_xlat5.w>=u_xlat0.x;
					        u_xlatb10 = u_xlatb3.y && u_xlatb10;
					        u_xlat1.xyw = (bool(u_xlatb10)) ? u_xlat5.xyw : u_xlat1.xwz;
					        u_xlatb10 = u_xlat0.x>=u_xlat6.w;
					        u_xlatb22 = u_xlat6.x<u_xlat8.x;
					        u_xlatb10 = u_xlatb10 && u_xlatb22;
					        u_xlat6.yz = u_xlat2.xw;
					        u_xlat8.z = u_xlat2.y;
					        u_xlat3 = (bool(u_xlatb10)) ? u_xlat6 : u_xlat8;
					        u_xlatb10 = u_xlat6.w>=u_xlat0.x;
					        u_xlatb22 = u_xlat6.x<u_xlat1.x;
					        u_xlatb10 = u_xlatb10 && u_xlatb22;
					        u_xlat1.z = u_xlat8.z;
					        u_xlat8 = (bool(u_xlatb10)) ? u_xlat6 : u_xlat1;
					        u_xlatb10 = u_xlat0.x>=u_xlat4.w;
					        u_xlatb22 = u_xlat4.x<u_xlat3.x;
					        u_xlatb10 = u_xlatb10 && u_xlatb22;
					        u_xlat3 = (bool(u_xlatb10)) ? u_xlat4 : u_xlat3;
					        u_xlatb10 = u_xlat4.w>=u_xlat0.x;
					        u_xlatb22 = u_xlat4.x<u_xlat8.x;
					        u_xlatb10 = u_xlatb10 && u_xlatb22;
					        u_xlat4 = (bool(u_xlatb10)) ? u_xlat4 : u_xlat8;
					        u_xlat2.yz = VolumetricDepth_TexelSize.xy * u_xlat20.xy + u_xlat2.xy;
					        u_xlat8 = textureLod(VolumetricDepth, u_xlat2.yz, 0.0);
					        u_xlat2.w = dot(u_xlat8.xy, vec2(1.0, 0.00392156886));
					        u_xlat10.x = (-u_xlat0.x) + u_xlat2.w;
					        u_xlat2.x = abs(u_xlat10.x);
					        u_xlatb10 = u_xlat0.x>=u_xlat2.w;
					        u_xlatb20.x = u_xlat2.x<u_xlat3.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat3 = (bool(u_xlatb10)) ? u_xlat2 : u_xlat3;
					        u_xlatb10 = u_xlat2.w>=u_xlat0.x;
					        u_xlatb20.x = u_xlat2.x<u_xlat4.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat4 = (bool(u_xlatb10)) ? u_xlat2 : u_xlat4;
					        u_xlat8.y = u_xlat6.y;
					        u_xlat8.z = u_xlat2.z;
					        u_xlat9 = textureLod(VolumetricDepth, u_xlat8.yz, 0.0);
					        u_xlat8.w = dot(u_xlat9.xy, vec2(1.0, 0.00392156886));
					        u_xlat10.x = (-u_xlat0.x) + u_xlat8.w;
					        u_xlat8.x = abs(u_xlat10.x);
					        u_xlatb10 = u_xlat0.x>=u_xlat8.w;
					        u_xlatb20.x = u_xlat8.x<u_xlat3.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat3 = (bool(u_xlatb10)) ? u_xlat8 : u_xlat3;
					        u_xlatb10 = u_xlat8.w>=u_xlat0.x;
					        u_xlatb20.x = u_xlat8.x<u_xlat4.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat4 = (bool(u_xlatb10)) ? u_xlat8 : u_xlat4;
					        u_xlat1.y = u_xlat2.y;
					        u_xlat2 = textureLod(VolumetricDepth, u_xlat1.yz, 0.0);
					        u_xlat1.w = dot(u_xlat2.xy, vec2(1.0, 0.00392156886));
					        u_xlat10.x = (-u_xlat0.x) + u_xlat1.w;
					        u_xlat1.x = abs(u_xlat10.x);
					        u_xlatb10 = u_xlat0.x>=u_xlat1.w;
					        u_xlatb20.x = u_xlat1.x<u_xlat3.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat2 = (bool(u_xlatb10)) ? u_xlat1 : u_xlat3;
					        u_xlatb10 = u_xlat1.w>=u_xlat0.x;
					        u_xlatb20.x = u_xlat1.x<u_xlat4.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat3 = (bool(u_xlatb10)) ? u_xlat1 : u_xlat4;
					        u_xlat5.z = u_xlat8.z;
					        u_xlat4 = textureLod(VolumetricDepth, u_xlat5.yz, 0.0);
					        u_xlat5.w = dot(u_xlat4.xy, vec2(1.0, 0.00392156886));
					        u_xlat10.x = (-u_xlat0.x) + u_xlat5.w;
					        u_xlat5.x = abs(u_xlat10.x);
					        u_xlatb10 = u_xlat0.x>=u_xlat5.w;
					        u_xlatb20.x = u_xlat5.x<u_xlat2.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat2 = (bool(u_xlatb10)) ? u_xlat5 : u_xlat2;
					        u_xlatb10 = u_xlat5.w>=u_xlat0.x;
					        u_xlatb20.x = u_xlat5.x<u_xlat3.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat3 = (bool(u_xlatb10)) ? u_xlat5 : u_xlat3;
					        u_xlat6.y = u_xlat1.y;
					        u_xlat1 = textureLod(VolumetricDepth, u_xlat6.yz, 0.0);
					        u_xlat6.w = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					        u_xlat10.x = (-u_xlat0.x) + u_xlat6.w;
					        u_xlat6.x = abs(u_xlat10.x);
					        u_xlatb10 = u_xlat0.x>=u_xlat6.w;
					        u_xlatb20.x = u_xlat6.x<u_xlat2.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat1 = (bool(u_xlatb10)) ? u_xlat6 : u_xlat2;
					        u_xlatb10 = u_xlat6.w>=u_xlat0.x;
					        u_xlatb20.x = u_xlat6.x<u_xlat3.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat2 = (bool(u_xlatb10)) ? u_xlat6 : u_xlat3;
					        u_xlatb10 = 99999.0<u_xlat1.x;
					        u_xlat10.xyz = (bool(u_xlatb10)) ? u_xlat2.yzw : u_xlat1.yzw;
					        u_xlatb1 = 99999.0<u_xlat2.x;
					        u_xlat1.xyz = (bool(u_xlatb1)) ? u_xlat10.xyz : u_xlat2.yzw;
					        u_xlat2 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					        u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat10.x = (-u_xlat10.z) + u_xlat1.z;
					        u_xlat0.x = (-u_xlat10.z) + u_xlat0.x;
					        u_xlat10.x = float(1.0) / u_xlat10.x;
					        u_xlat0.x = u_xlat10.x * u_xlat0.x;
					        u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					        u_xlat10.x = u_xlat0.x * -2.0 + 3.0;
					        u_xlat0.x = u_xlat0.x * u_xlat0.x;
					        u_xlat0.x = u_xlat0.x * u_xlat10.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlat1 = (-u_xlat2) + u_xlat3;
					        u_xlat7 = u_xlat0.xxxx * u_xlat1 + u_xlat2;
					        gl_FragDepth = 0.0;
					    }
					    SV_Target0 = u_xlat7;
					    SV_Target1 = u_xlat7;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 VolumetricDepth_TexelSize;
						vec4 unused_0_2[12];
						float DepthThreshold;
						vec4 unused_0_4[4];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[6];
						vec4 _ZBufferParams;
						vec4 unused_1_2;
					};
					uniform  sampler2D _CameraDepthTexture;
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D _MainTex;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec2 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb10;
					float u_xlat13;
					int u_xlati13;
					bool u_xlatb13;
					bool u_xlatb17;
					vec2 u_xlat20;
					bvec2 u_xlatb20;
					vec2 u_xlat21;
					bool u_xlatb22;
					ivec2 u_xlati23;
					bvec2 u_xlatb23;
					bool u_xlatb27;
					int u_xlati33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_CameraDepthTexture, vs_TEXCOORD0.xy);
					    u_xlat0.x = _ZBufferParams.x * u_xlat0.x + _ZBufferParams.y;
					    u_xlat0.x = float(1.0) / u_xlat0.x;
					    u_xlat10.x = u_xlat0.x * DepthThreshold;
					    u_xlat20.xy = VolumetricDepth_TexelSize.xy * vec2(0.5, 0.5);
					    u_xlat1.xy = (-VolumetricDepth_TexelSize.xy) * vec2(0.5, 0.5) + vs_TEXCOORD0.xy;
					    u_xlat1.xy = u_xlat1.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat1.xy = u_xlat1.xy * VolumetricDepth_TexelSize.xy + u_xlat20.xy;
					    u_xlat21.xy = vs_TEXCOORD0.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat21.xy = floor(u_xlat21.xy);
					    u_xlat2.xy = u_xlat21.xy * VolumetricDepth_TexelSize.xy + u_xlat20.xy;
					    u_xlatb20.xy = notEqual(u_xlat1.xyxy, u_xlat2.xyxy).xy;
					    u_xlat20.x = u_xlatb20.x ? float(1.0) : 0.0;
					    u_xlat20.y = u_xlatb20.y ? float(1.0) : 0.0;
					;
					    u_xlat20.xy = u_xlat20.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1 = textureLod(VolumetricDepth, u_xlat2.xy, 0.0);
					    u_xlat1.z = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					    u_xlat3.x = (-u_xlat0.x) + u_xlat1.z;
					    u_xlat4 = (-VolumetricDepth_TexelSize.xxyy) * u_xlat20.xxyy + u_xlat2.xxyy;
					    u_xlat2.zw = u_xlat4.xw;
					    u_xlat5 = textureLod(VolumetricDepth, u_xlat2.zy, 0.0);
					    u_xlat5.w = dot(u_xlat5.xy, vec2(1.0, 0.00392156886));
					    u_xlat13 = (-u_xlat0.x) + u_xlat5.w;
					    u_xlat5.x = abs(u_xlat13);
					    u_xlat6 = textureLod(VolumetricDepth, u_xlat2.xw, 0.0);
					    u_xlat6.w = dot(u_xlat6.xy, vec2(1.0, 0.00392156886));
					    u_xlat13 = (-u_xlat0.x) + u_xlat6.w;
					    u_xlat6.x = abs(u_xlat13);
					    u_xlat7 = textureLod(VolumetricDepth, u_xlat4.yz, 0.0);
					    u_xlat4.w = dot(u_xlat7.xy, vec2(1.0, 0.00392156886));
					    u_xlat13 = (-u_xlat0.x) + u_xlat4.w;
					    u_xlat4.x = abs(u_xlat13);
					    u_xlati13 = int((u_xlat1.z<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati23.x = int((u_xlat5.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati23.y = int((u_xlat6.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati7 = int((u_xlat4.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb17 = abs(u_xlat3.x)<u_xlat10.x;
					    u_xlatb27 = u_xlat5.x<u_xlat10.x;
					    u_xlatb17 = u_xlatb27 && u_xlatb17;
					    u_xlatb27 = u_xlat6.x<u_xlat10.x;
					    u_xlatb17 = u_xlatb27 && u_xlatb17;
					    u_xlatb10 = u_xlat4.x<u_xlat10.x;
					    u_xlatb10 = u_xlatb10 && u_xlatb17;
					    u_xlatb23.xy = equal(u_xlati23.xyxy, ivec4(u_xlati13)).xy;
					    u_xlatb23.x = u_xlatb23.y && u_xlatb23.x;
					    u_xlatb33 = u_xlati13==u_xlati7;
					    u_xlatb23.x = u_xlatb33 && u_xlatb23.x;
					    u_xlati33 = int((u_xlat0.x<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb13 = u_xlati13==u_xlati33;
					    u_xlatb13 = u_xlatb13 && u_xlatb23.x;
					    u_xlatb10 = u_xlatb10 && u_xlatb13;
					    if(u_xlatb10){
					        u_xlat7 = textureLod(_MainTex, vs_TEXCOORD0.xy, 0.0);
					        gl_FragDepth = 1.0;
					    } else {
					        u_xlatb10 = u_xlat0.x>=u_xlat1.z;
					        u_xlatb13 = abs(u_xlat3.x)<100000.0;
					        u_xlatb10 = u_xlatb10 && u_xlatb13;
					        u_xlat1.y = (u_xlatb10) ? abs(u_xlat3.x) : 100000.0;
					        u_xlatb10 = u_xlat1.z>=u_xlat0.x;
					        u_xlatb10 = u_xlatb13 && u_xlatb10;
					        u_xlat1.x = (u_xlatb10) ? abs(u_xlat3.x) : 100000.0;
					        u_xlatb10 = u_xlat0.x>=u_xlat5.w;
					        u_xlatb3.xy = lessThan(u_xlat5.xxxx, u_xlat1.yxyy).xy;
					        u_xlatb10 = u_xlatb10 && u_xlatb3.x;
					        u_xlat5.y = u_xlat2.z;
					        u_xlat1.w = u_xlat2.x;
					        u_xlat8.xyw = (bool(u_xlatb10)) ? u_xlat5.xyw : u_xlat1.ywz;
					        u_xlatb10 = u_xlat5.w>=u_xlat0.x;
					        u_xlatb10 = u_xlatb3.y && u_xlatb10;
					        u_xlat1.xyw = (bool(u_xlatb10)) ? u_xlat5.xyw : u_xlat1.xwz;
					        u_xlatb10 = u_xlat0.x>=u_xlat6.w;
					        u_xlatb22 = u_xlat6.x<u_xlat8.x;
					        u_xlatb10 = u_xlatb10 && u_xlatb22;
					        u_xlat6.yz = u_xlat2.xw;
					        u_xlat8.z = u_xlat2.y;
					        u_xlat3 = (bool(u_xlatb10)) ? u_xlat6 : u_xlat8;
					        u_xlatb10 = u_xlat6.w>=u_xlat0.x;
					        u_xlatb22 = u_xlat6.x<u_xlat1.x;
					        u_xlatb10 = u_xlatb10 && u_xlatb22;
					        u_xlat1.z = u_xlat8.z;
					        u_xlat8 = (bool(u_xlatb10)) ? u_xlat6 : u_xlat1;
					        u_xlatb10 = u_xlat0.x>=u_xlat4.w;
					        u_xlatb22 = u_xlat4.x<u_xlat3.x;
					        u_xlatb10 = u_xlatb10 && u_xlatb22;
					        u_xlat3 = (bool(u_xlatb10)) ? u_xlat4 : u_xlat3;
					        u_xlatb10 = u_xlat4.w>=u_xlat0.x;
					        u_xlatb22 = u_xlat4.x<u_xlat8.x;
					        u_xlatb10 = u_xlatb10 && u_xlatb22;
					        u_xlat4 = (bool(u_xlatb10)) ? u_xlat4 : u_xlat8;
					        u_xlat2.yz = VolumetricDepth_TexelSize.xy * u_xlat20.xy + u_xlat2.xy;
					        u_xlat8 = textureLod(VolumetricDepth, u_xlat2.yz, 0.0);
					        u_xlat2.w = dot(u_xlat8.xy, vec2(1.0, 0.00392156886));
					        u_xlat10.x = (-u_xlat0.x) + u_xlat2.w;
					        u_xlat2.x = abs(u_xlat10.x);
					        u_xlatb10 = u_xlat0.x>=u_xlat2.w;
					        u_xlatb20.x = u_xlat2.x<u_xlat3.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat3 = (bool(u_xlatb10)) ? u_xlat2 : u_xlat3;
					        u_xlatb10 = u_xlat2.w>=u_xlat0.x;
					        u_xlatb20.x = u_xlat2.x<u_xlat4.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat4 = (bool(u_xlatb10)) ? u_xlat2 : u_xlat4;
					        u_xlat8.y = u_xlat6.y;
					        u_xlat8.z = u_xlat2.z;
					        u_xlat9 = textureLod(VolumetricDepth, u_xlat8.yz, 0.0);
					        u_xlat8.w = dot(u_xlat9.xy, vec2(1.0, 0.00392156886));
					        u_xlat10.x = (-u_xlat0.x) + u_xlat8.w;
					        u_xlat8.x = abs(u_xlat10.x);
					        u_xlatb10 = u_xlat0.x>=u_xlat8.w;
					        u_xlatb20.x = u_xlat8.x<u_xlat3.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat3 = (bool(u_xlatb10)) ? u_xlat8 : u_xlat3;
					        u_xlatb10 = u_xlat8.w>=u_xlat0.x;
					        u_xlatb20.x = u_xlat8.x<u_xlat4.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat4 = (bool(u_xlatb10)) ? u_xlat8 : u_xlat4;
					        u_xlat1.y = u_xlat2.y;
					        u_xlat2 = textureLod(VolumetricDepth, u_xlat1.yz, 0.0);
					        u_xlat1.w = dot(u_xlat2.xy, vec2(1.0, 0.00392156886));
					        u_xlat10.x = (-u_xlat0.x) + u_xlat1.w;
					        u_xlat1.x = abs(u_xlat10.x);
					        u_xlatb10 = u_xlat0.x>=u_xlat1.w;
					        u_xlatb20.x = u_xlat1.x<u_xlat3.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat2 = (bool(u_xlatb10)) ? u_xlat1 : u_xlat3;
					        u_xlatb10 = u_xlat1.w>=u_xlat0.x;
					        u_xlatb20.x = u_xlat1.x<u_xlat4.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat3 = (bool(u_xlatb10)) ? u_xlat1 : u_xlat4;
					        u_xlat5.z = u_xlat8.z;
					        u_xlat4 = textureLod(VolumetricDepth, u_xlat5.yz, 0.0);
					        u_xlat5.w = dot(u_xlat4.xy, vec2(1.0, 0.00392156886));
					        u_xlat10.x = (-u_xlat0.x) + u_xlat5.w;
					        u_xlat5.x = abs(u_xlat10.x);
					        u_xlatb10 = u_xlat0.x>=u_xlat5.w;
					        u_xlatb20.x = u_xlat5.x<u_xlat2.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat2 = (bool(u_xlatb10)) ? u_xlat5 : u_xlat2;
					        u_xlatb10 = u_xlat5.w>=u_xlat0.x;
					        u_xlatb20.x = u_xlat5.x<u_xlat3.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat3 = (bool(u_xlatb10)) ? u_xlat5 : u_xlat3;
					        u_xlat6.y = u_xlat1.y;
					        u_xlat1 = textureLod(VolumetricDepth, u_xlat6.yz, 0.0);
					        u_xlat6.w = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					        u_xlat10.x = (-u_xlat0.x) + u_xlat6.w;
					        u_xlat6.x = abs(u_xlat10.x);
					        u_xlatb10 = u_xlat0.x>=u_xlat6.w;
					        u_xlatb20.x = u_xlat6.x<u_xlat2.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat1 = (bool(u_xlatb10)) ? u_xlat6 : u_xlat2;
					        u_xlatb10 = u_xlat6.w>=u_xlat0.x;
					        u_xlatb20.x = u_xlat6.x<u_xlat3.x;
					        u_xlatb10 = u_xlatb20.x && u_xlatb10;
					        u_xlat2 = (bool(u_xlatb10)) ? u_xlat6 : u_xlat3;
					        u_xlatb10 = 99999.0<u_xlat1.x;
					        u_xlat10.xyz = (bool(u_xlatb10)) ? u_xlat2.yzw : u_xlat1.yzw;
					        u_xlatb1 = 99999.0<u_xlat2.x;
					        u_xlat1.xyz = (bool(u_xlatb1)) ? u_xlat10.xyz : u_xlat2.yzw;
					        u_xlat2 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					        u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat10.x = (-u_xlat10.z) + u_xlat1.z;
					        u_xlat0.x = (-u_xlat10.z) + u_xlat0.x;
					        u_xlat10.x = float(1.0) / u_xlat10.x;
					        u_xlat0.x = u_xlat10.x * u_xlat0.x;
					        u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					        u_xlat10.x = u_xlat0.x * -2.0 + 3.0;
					        u_xlat0.x = u_xlat0.x * u_xlat0.x;
					        u_xlat0.x = u_xlat0.x * u_xlat10.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlat1 = (-u_xlat2) + u_xlat3;
					        u_xlat7 = u_xlat0.xxxx * u_xlat1 + u_xlat2;
					        gl_FragDepth = 0.0;
					    }
					    SV_Target0 = u_xlat7;
					    SV_Target1 = u_xlat7;
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			Cull Off
			GpuProgramID 449582
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD0.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = in_POSITION0.ww * unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati4].xy + u_xlat1.xy;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[13];
						mat4x4 hxCameraToWorld;
						vec4 unused_0_2[4];
						vec2 hxTemporalSettings;
						mat4x4 InverseProjectionMatrix;
						vec4 unused_0_5[4];
						vec4 VolumetricDepth_TexelSize;
						vec4 unused_0_7[2];
						mat4x4 hxLastVP;
						vec4 unused_0_9[6];
						float DepthThreshold;
						vec4 unused_0_11[4];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[7];
						vec4 _ZBufferParams;
						vec4 unused_1_2;
					};
					uniform  sampler2D _CameraDepthTexture;
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D _MainTex;
					uniform  sampler2D hxLastVolumetric;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec2 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					int u_xlati7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bvec2 u_xlatb8;
					vec4 u_xlat9;
					vec2 u_xlat11;
					bvec2 u_xlatb11;
					bool u_xlatb12;
					bool u_xlatb13;
					ivec2 u_xlati17;
					bvec2 u_xlatb17;
					bool u_xlatb18;
					vec2 u_xlat20;
					bvec2 u_xlatb20;
					float u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					bool u_xlatb22;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat31;
					bool u_xlatb31;
					int u_xlati37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / vs_TEXCOORD0.ww;
					    u_xlat1 = texture(_CameraDepthTexture, u_xlat0.xy);
					    u_xlat20.xy = _ZBufferParams.xz * u_xlat1.xx + _ZBufferParams.yw;
					    u_xlat20.xy = vec2(1.0, 1.0) / u_xlat20.xy;
					    u_xlat1.x = u_xlat20.x * DepthThreshold;
					    u_xlat11.xy = VolumetricDepth_TexelSize.xy * vec2(0.5, 0.5);
					    u_xlat2.xy = (-VolumetricDepth_TexelSize.xy) * vec2(0.5, 0.5) + u_xlat0.xy;
					    u_xlat2.xy = u_xlat2.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat2.xy = floor(u_xlat2.xy);
					    u_xlat2.xy = u_xlat2.xy * VolumetricDepth_TexelSize.xy + u_xlat11.xy;
					    u_xlat22.xy = u_xlat0.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat22.xy = floor(u_xlat22.xy);
					    u_xlat3.xy = u_xlat22.xy * VolumetricDepth_TexelSize.xy + u_xlat11.xy;
					    u_xlatb11.xy = notEqual(u_xlat2.xyxx, u_xlat3.xyxx).xy;
					    u_xlat11.x = (u_xlatb11.x) ? float(1.0) : float(-1.0);
					    u_xlat11.y = (u_xlatb11.y) ? float(1.0) : float(-1.0);
					    u_xlat2 = textureLod(VolumetricDepth, u_xlat3.xy, 0.0);
					    u_xlat2.z = dot(u_xlat2.xy, vec2(1.0, 0.00392156886));
					    u_xlat31 = (-u_xlat20.x) + u_xlat2.z;
					    u_xlat4 = (-VolumetricDepth_TexelSize.xxyy) * u_xlat11.xxyy + u_xlat3.xxyy;
					    u_xlat3.zw = u_xlat4.xw;
					    u_xlat5 = textureLod(VolumetricDepth, u_xlat3.zy, 0.0);
					    u_xlat5.w = dot(u_xlat5.xy, vec2(1.0, 0.00392156886));
					    u_xlat6.x = (-u_xlat20.x) + u_xlat5.w;
					    u_xlat5.x = abs(u_xlat6.x);
					    u_xlat6 = textureLod(VolumetricDepth, u_xlat3.xw, 0.0);
					    u_xlat6.w = dot(u_xlat6.xy, vec2(1.0, 0.00392156886));
					    u_xlat7.x = (-u_xlat20.x) + u_xlat6.w;
					    u_xlat6.x = abs(u_xlat7.x);
					    u_xlat7 = textureLod(VolumetricDepth, u_xlat4.yz, 0.0);
					    u_xlat4.w = dot(u_xlat7.xy, vec2(1.0, 0.00392156886));
					    u_xlat7.x = (-u_xlat20.x) + u_xlat4.w;
					    u_xlat4.x = abs(u_xlat7.x);
					    u_xlati7 = int((u_xlat2.z<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati17.x = int((u_xlat5.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati17.y = int((u_xlat6.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati37 = int((u_xlat4.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb8.x = abs(u_xlat31)<u_xlat1.x;
					    u_xlatb18 = u_xlat5.x<u_xlat1.x;
					    u_xlatb8.x = u_xlatb18 && u_xlatb8.x;
					    u_xlatb18 = u_xlat6.x<u_xlat1.x;
					    u_xlatb8.x = u_xlatb18 && u_xlatb8.x;
					    u_xlatb1.x = u_xlat4.x<u_xlat1.x;
					    u_xlatb1.x = u_xlatb1.x && u_xlatb8.x;
					    u_xlatb17.xy = equal(u_xlati17.xyxx, ivec4(u_xlati7)).xy;
					    u_xlatb17.x = u_xlatb17.y && u_xlatb17.x;
					    u_xlatb27 = u_xlati37==u_xlati7;
					    u_xlatb17.x = u_xlatb27 && u_xlatb17.x;
					    u_xlati27 = int((u_xlat20.x<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb7 = u_xlati7==u_xlati27;
					    u_xlatb7 = u_xlatb7 && u_xlatb17.x;
					    u_xlatb1.x = u_xlatb1.x && u_xlatb7;
					    if(u_xlatb1.x){
					        u_xlat7 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					        gl_FragDepth = 1.0;
					    } else {
					        u_xlatb1.x = u_xlat20.x>=u_xlat2.z;
					        u_xlatb8.x = abs(u_xlat31)<100000.0;
					        u_xlatb1.x = u_xlatb1.x && u_xlatb8.x;
					        u_xlat2.y = (u_xlatb1.x) ? abs(u_xlat31) : 100000.0;
					        u_xlatb1.x = u_xlat2.z>=u_xlat20.x;
					        u_xlatb1.x = u_xlatb8.x && u_xlatb1.x;
					        u_xlat2.x = (u_xlatb1.x) ? abs(u_xlat31) : 100000.0;
					        u_xlatb1.x = u_xlat20.x>=u_xlat5.w;
					        u_xlatb8.xy = lessThan(u_xlat5.xxxx, u_xlat2.yxyy).xy;
					        u_xlatb1.x = u_xlatb1.x && u_xlatb8.x;
					        u_xlat5.y = u_xlat3.z;
					        u_xlat2.w = u_xlat3.x;
					        u_xlat9.xyw = (u_xlatb1.x) ? u_xlat5.xyw : u_xlat2.ywz;
					        u_xlatb1.x = u_xlat5.w>=u_xlat20.x;
					        u_xlatb1.x = u_xlatb8.y && u_xlatb1.x;
					        u_xlat2.xyw = (u_xlatb1.x) ? u_xlat5.xyw : u_xlat2.xwz;
					        u_xlatb1.x = u_xlat20.x>=u_xlat6.w;
					        u_xlatb31 = u_xlat6.x<u_xlat9.x;
					        u_xlatb1.x = u_xlatb31 && u_xlatb1.x;
					        u_xlat6.yz = u_xlat3.xw;
					        u_xlat9.z = u_xlat3.y;
					        u_xlat8 = (u_xlatb1.x) ? u_xlat6 : u_xlat9;
					        u_xlatb1.x = u_xlat6.w>=u_xlat20.x;
					        u_xlatb31 = u_xlat6.x<u_xlat2.x;
					        u_xlatb1.x = u_xlatb31 && u_xlatb1.x;
					        u_xlat2.z = u_xlat9.z;
					        u_xlat9 = (u_xlatb1.x) ? u_xlat6 : u_xlat2;
					        u_xlatb1.x = u_xlat20.x>=u_xlat4.w;
					        u_xlatb31 = u_xlat4.x<u_xlat8.x;
					        u_xlatb1.x = u_xlatb31 && u_xlatb1.x;
					        u_xlat8 = (u_xlatb1.x) ? u_xlat4 : u_xlat8;
					        u_xlatb1.x = u_xlat4.w>=u_xlat20.x;
					        u_xlatb31 = u_xlat4.x<u_xlat9.x;
					        u_xlatb1.x = u_xlatb31 && u_xlatb1.x;
					        u_xlat4 = (u_xlatb1.x) ? u_xlat4 : u_xlat9;
					        u_xlat1.yz = VolumetricDepth_TexelSize.xy * u_xlat11.xy + u_xlat3.xy;
					        u_xlat3 = textureLod(VolumetricDepth, u_xlat1.yz, 0.0);
					        u_xlat1.w = dot(u_xlat3.xy, vec2(1.0, 0.00392156886));
					        u_xlat3.x = (-u_xlat20.x) + u_xlat1.w;
					        u_xlat1.x = abs(u_xlat3.x);
					        u_xlatb3 = u_xlat20.x>=u_xlat1.w;
					        u_xlatb13 = u_xlat1.x<u_xlat8.x;
					        u_xlatb3 = u_xlatb13 && u_xlatb3;
					        u_xlat3 = (bool(u_xlatb3)) ? u_xlat1 : u_xlat8;
					        u_xlatb8.x = u_xlat1.w>=u_xlat20.x;
					        u_xlatb18 = u_xlat1.x<u_xlat4.x;
					        u_xlatb8.x = u_xlatb18 && u_xlatb8.x;
					        u_xlat4 = (u_xlatb8.x) ? u_xlat1 : u_xlat4;
					        u_xlat8.y = u_xlat6.y;
					        u_xlat8.z = u_xlat1.z;
					        u_xlat9 = textureLod(VolumetricDepth, u_xlat8.yz, 0.0);
					        u_xlat8.w = dot(u_xlat9.xy, vec2(1.0, 0.00392156886));
					        u_xlat1.x = (-u_xlat20.x) + u_xlat8.w;
					        u_xlat8.x = abs(u_xlat1.x);
					        u_xlatb1.x = u_xlat20.x>=u_xlat8.w;
					        u_xlatb21 = u_xlat8.x<u_xlat3.x;
					        u_xlatb1.x = u_xlatb21 && u_xlatb1.x;
					        u_xlat3 = (u_xlatb1.x) ? u_xlat8 : u_xlat3;
					        u_xlatb1.x = u_xlat8.w>=u_xlat20.x;
					        u_xlatb21 = u_xlat8.x<u_xlat4.x;
					        u_xlatb1.x = u_xlatb21 && u_xlatb1.x;
					        u_xlat4 = (u_xlatb1.x) ? u_xlat8 : u_xlat4;
					        u_xlat2.y = u_xlat1.y;
					        u_xlat1 = textureLod(VolumetricDepth, u_xlat2.yz, 0.0);
					        u_xlat2.w = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					        u_xlat1.x = (-u_xlat20.x) + u_xlat2.w;
					        u_xlat2.x = abs(u_xlat1.x);
					        u_xlatb1.x = u_xlat20.x>=u_xlat2.w;
					        u_xlatb11.x = u_xlat2.x<u_xlat3.x;
					        u_xlatb1.x = u_xlatb11.x && u_xlatb1.x;
					        u_xlat1 = (u_xlatb1.x) ? u_xlat2 : u_xlat3;
					        u_xlatb3 = u_xlat2.w>=u_xlat20.x;
					        u_xlatb13 = u_xlat2.x<u_xlat4.x;
					        u_xlatb3 = u_xlatb13 && u_xlatb3;
					        u_xlat3 = (bool(u_xlatb3)) ? u_xlat2 : u_xlat4;
					        u_xlat5.z = u_xlat8.z;
					        u_xlat4 = textureLod(VolumetricDepth, u_xlat5.yz, 0.0);
					        u_xlat5.w = dot(u_xlat4.xy, vec2(1.0, 0.00392156886));
					        u_xlat2.x = (-u_xlat20.x) + u_xlat5.w;
					        u_xlat5.x = abs(u_xlat2.x);
					        u_xlatb2 = u_xlat20.x>=u_xlat5.w;
					        u_xlatb22 = u_xlat5.x<u_xlat1.x;
					        u_xlatb2 = u_xlatb22 && u_xlatb2;
					        u_xlat1 = (bool(u_xlatb2)) ? u_xlat5 : u_xlat1;
					        u_xlatb2 = u_xlat5.w>=u_xlat20.x;
					        u_xlatb22 = u_xlat5.x<u_xlat3.x;
					        u_xlatb2 = u_xlatb22 && u_xlatb2;
					        u_xlat3 = (bool(u_xlatb2)) ? u_xlat5 : u_xlat3;
					        u_xlat6.y = u_xlat2.y;
					        u_xlat2 = textureLod(VolumetricDepth, u_xlat6.yz, 0.0);
					        u_xlat6.w = dot(u_xlat2.xy, vec2(1.0, 0.00392156886));
					        u_xlat2.x = (-u_xlat20.x) + u_xlat6.w;
					        u_xlat6.x = abs(u_xlat2.x);
					        u_xlatb2 = u_xlat20.x>=u_xlat6.w;
					        u_xlatb12 = u_xlat6.x<u_xlat1.x;
					        u_xlatb2 = u_xlatb12 && u_xlatb2;
					        u_xlat1 = (bool(u_xlatb2)) ? u_xlat6 : u_xlat1;
					        u_xlatb2 = u_xlat6.w>=u_xlat20.x;
					        u_xlatb12 = u_xlat6.x<u_xlat3.x;
					        u_xlatb2 = u_xlatb12 && u_xlatb2;
					        u_xlat2 = (bool(u_xlatb2)) ? u_xlat6 : u_xlat3;
					        u_xlatb1.x = 99999.0<u_xlat1.x;
					        u_xlat1.xyz = (u_xlatb1.x) ? u_xlat2.yzw : u_xlat1.yzw;
					        u_xlatb31 = 99999.0<u_xlat2.x;
					        u_xlat2.xyz = (bool(u_xlatb31)) ? u_xlat1.xyz : u_xlat2.yzw;
					        u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat4 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					        u_xlat1.x = (-u_xlat1.z) + u_xlat2.z;
					        u_xlat20.x = u_xlat20.x + (-u_xlat1.z);
					        u_xlat1.x = float(1.0) / u_xlat1.x;
					        u_xlat20.x = u_xlat20.x * u_xlat1.x;
					        u_xlat20.x = clamp(u_xlat20.x, 0.0, 1.0);
					        u_xlat1.x = u_xlat20.x * -2.0 + 3.0;
					        u_xlat20.x = u_xlat20.x * u_xlat20.x;
					        u_xlat20.x = u_xlat20.x * u_xlat1.x;
					        u_xlat20.x = min(u_xlat20.x, 1.0);
					        u_xlat1 = (-u_xlat3) + u_xlat4;
					        u_xlat7 = u_xlat20.xxxx * u_xlat1 + u_xlat3;
					        gl_FragDepth = 0.0;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1 = u_xlat0.yyyy * InverseProjectionMatrix[1];
					    u_xlat1 = InverseProjectionMatrix[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = u_xlat1 + InverseProjectionMatrix[2];
					    u_xlat1 = u_xlat1 + InverseProjectionMatrix[3];
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat1.www;
					    u_xlat0.xyz = u_xlat0.xyz / u_xlat0.zzz;
					    u_xlat0.xyz = u_xlat20.yyy * (-u_xlat0.xyz);
					    u_xlat1.xyz = u_xlat0.yyy * hxCameraToWorld[1].xyz;
					    u_xlat0.xyw = hxCameraToWorld[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = hxCameraToWorld[2].xyz * u_xlat0.zzz + u_xlat0.xyw;
					    u_xlat0.xyz = u_xlat0.xyz + hxCameraToWorld[3].xyz;
					    u_xlat1.xyz = u_xlat0.yyy * hxLastVP[1].xyw;
					    u_xlat0.xyw = hxLastVP[0].xyw * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = hxLastVP[2].xyw * u_xlat0.zzz + u_xlat0.xyw;
					    u_xlat0.xyz = u_xlat0.xyz + hxLastVP[3].xyw;
					    u_xlat0.xy = u_xlat0.xy / u_xlat0.zz;
					    u_xlat0.xy = u_xlat0.xy + vec2(1.0, 1.0);
					    u_xlatb20.xy = lessThan(u_xlat0.xyxy, vec4(0.0, 0.0, 0.0, 0.0)).xy;
					    u_xlatb1.xy = lessThan(vec4(2.0, 2.0, 0.0, 0.0), u_xlat0.xyxx).xy;
					    u_xlatb20.x = u_xlatb20.x || u_xlatb1.x;
					    u_xlatb20.x = u_xlatb20.y || u_xlatb20.x;
					    u_xlatb20.x = u_xlatb1.y || u_xlatb20.x;
					    if(u_xlatb20.x){
					        SV_Target0 = u_xlat7;
					        gl_FragDepth = 0.0;
					    } else {
					        u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5);
					        u_xlat0 = texture(hxLastVolumetric, u_xlat0.xy);
					        u_xlat1.x = dot(u_xlat7.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					        u_xlat11.x = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					        u_xlat21 = max(u_xlat11.x, u_xlat1.x);
					        u_xlat31 = min(u_xlat11.x, u_xlat1.x);
					        u_xlat21 = u_xlat31 + u_xlat21;
					        u_xlat21 = u_xlat21 * hxTemporalSettings.x;
					        u_xlat21 = u_xlat21 * 0.5;
					        u_xlat21 = float(1.0) / u_xlat21;
					        u_xlat1.x = (-u_xlat11.x) + u_xlat1.x;
					        u_xlat1.x = (-u_xlat21) * abs(u_xlat1.x) + 1.0;
					        u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					        u_xlat1.x = u_xlat1.x * hxTemporalSettings.y;
					        u_xlat0 = (-u_xlat7) + u_xlat0;
					        SV_Target0 = u_xlat1.xxxx * u_xlat0 + u_xlat7;
					    }
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(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 hxInverseP1;
						mat4x4 hxInverseP2;
						vec4 unused_0_3[3];
						mat4x4 hxCameraToWorld;
						mat4x4 hxCameraToWorld2;
						vec2 hxTemporalSettings;
						vec4 unused_0_7[8];
						vec4 VolumetricDepth_TexelSize;
						vec4 unused_0_9[2];
						mat4x4 hxLastVP;
						mat4x4 hxLastVP2;
						vec4 unused_0_12[2];
						float DepthThreshold;
						vec4 unused_0_14[4];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[6];
						vec4 _ZBufferParams;
						vec4 unused_1_2;
					};
					uniform  sampler2D _CameraDepthTexture;
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D _MainTex;
					uniform  sampler2D hxLastVolumetric;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec2 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec2 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					int u_xlati8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					float u_xlat11;
					float u_xlat12;
					vec2 u_xlat15;
					int u_xlati15;
					bool u_xlatb15;
					bool u_xlatb19;
					bool u_xlatb22;
					vec2 u_xlat23;
					bvec2 u_xlatb23;
					vec2 u_xlat24;
					bool u_xlatb25;
					ivec2 u_xlati26;
					bvec2 u_xlatb26;
					bool u_xlatb30;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					int u_xlati37;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.yz = vs_TEXCOORD0.xy / vs_TEXCOORD0.ww;
					    u_xlat1 = texture(_CameraDepthTexture, u_xlat0.yz);
					    u_xlat1.xy = _ZBufferParams.xz * u_xlat1.xx + _ZBufferParams.yw;
					    u_xlat1.xy = vec2(1.0, 1.0) / u_xlat1.xy;
					    u_xlat33 = u_xlat1.x * DepthThreshold;
					    u_xlat23.xy = VolumetricDepth_TexelSize.xy * vec2(0.5, 0.5);
					    u_xlat2.xy = (-VolumetricDepth_TexelSize.xy) * vec2(0.5, 0.5) + u_xlat0.yz;
					    u_xlat2.xy = u_xlat2.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat2.xy = floor(u_xlat2.xy);
					    u_xlat2.xy = u_xlat2.xy * VolumetricDepth_TexelSize.xy + u_xlat23.xy;
					    u_xlat24.xy = u_xlat0.yz / VolumetricDepth_TexelSize.xy;
					    u_xlat24.xy = floor(u_xlat24.xy);
					    u_xlat3.xy = u_xlat24.xy * VolumetricDepth_TexelSize.xy + u_xlat23.xy;
					    u_xlatb23.xy = notEqual(u_xlat2.xyxy, u_xlat3.xyxy).xy;
					    u_xlat23.x = (u_xlatb23.x) ? float(1.0) : float(-1.0);
					    u_xlat23.y = (u_xlatb23.y) ? float(1.0) : float(-1.0);
					    u_xlat2 = textureLod(VolumetricDepth, u_xlat3.xy, 0.0);
					    u_xlat2.z = dot(u_xlat2.xy, vec2(1.0, 0.00392156886));
					    u_xlat4.x = (-u_xlat1.x) + u_xlat2.z;
					    u_xlat5 = (-VolumetricDepth_TexelSize.xxyy) * u_xlat23.xxyy + u_xlat3.xxyy;
					    u_xlat3.zw = u_xlat5.xw;
					    u_xlat6 = textureLod(VolumetricDepth, u_xlat3.zy, 0.0);
					    u_xlat6.w = dot(u_xlat6.xy, vec2(1.0, 0.00392156886));
					    u_xlat15.x = (-u_xlat1.x) + u_xlat6.w;
					    u_xlat6.x = abs(u_xlat15.x);
					    u_xlat7 = textureLod(VolumetricDepth, u_xlat3.xw, 0.0);
					    u_xlat7.w = dot(u_xlat7.xy, vec2(1.0, 0.00392156886));
					    u_xlat15.x = (-u_xlat1.x) + u_xlat7.w;
					    u_xlat7.x = abs(u_xlat15.x);
					    u_xlat8 = textureLod(VolumetricDepth, u_xlat5.yz, 0.0);
					    u_xlat5.w = dot(u_xlat8.xy, vec2(1.0, 0.00392156886));
					    u_xlat15.x = (-u_xlat1.x) + u_xlat5.w;
					    u_xlat5.x = abs(u_xlat15.x);
					    u_xlati15 = int((u_xlat2.z<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati26.x = int((u_xlat6.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati26.y = int((u_xlat7.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati8 = int((u_xlat5.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb19 = abs(u_xlat4.x)<u_xlat33;
					    u_xlatb30 = u_xlat6.x<u_xlat33;
					    u_xlatb19 = u_xlatb30 && u_xlatb19;
					    u_xlatb30 = u_xlat7.x<u_xlat33;
					    u_xlatb19 = u_xlatb30 && u_xlatb19;
					    u_xlatb33 = u_xlat5.x<u_xlat33;
					    u_xlatb33 = u_xlatb33 && u_xlatb19;
					    u_xlatb26.xy = equal(u_xlati26.xyxy, ivec4(u_xlati15)).xy;
					    u_xlatb26.x = u_xlatb26.y && u_xlatb26.x;
					    u_xlatb37 = u_xlati15==u_xlati8;
					    u_xlatb26.x = u_xlatb37 && u_xlatb26.x;
					    u_xlati37 = int((u_xlat1.x<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb15 = u_xlati15==u_xlati37;
					    u_xlatb15 = u_xlatb15 && u_xlatb26.x;
					    u_xlatb33 = u_xlatb33 && u_xlatb15;
					    if(u_xlatb33){
					        u_xlat8 = textureLod(_MainTex, u_xlat0.yz, 0.0);
					        gl_FragDepth = 1.0;
					    } else {
					        u_xlatb33 = u_xlat1.x>=u_xlat2.z;
					        u_xlatb15 = abs(u_xlat4.x)<100000.0;
					        u_xlatb33 = u_xlatb33 && u_xlatb15;
					        u_xlat2.y = (u_xlatb33) ? abs(u_xlat4.x) : 100000.0;
					        u_xlatb33 = u_xlat2.z>=u_xlat1.x;
					        u_xlatb33 = u_xlatb15 && u_xlatb33;
					        u_xlat2.x = (u_xlatb33) ? abs(u_xlat4.x) : 100000.0;
					        u_xlatb33 = u_xlat1.x>=u_xlat6.w;
					        u_xlatb4.xy = lessThan(u_xlat6.xxxx, u_xlat2.yxyy).xy;
					        u_xlatb33 = u_xlatb33 && u_xlatb4.x;
					        u_xlat6.y = u_xlat3.z;
					        u_xlat2.w = u_xlat3.x;
					        u_xlat9.xyw = (bool(u_xlatb33)) ? u_xlat6.xyw : u_xlat2.ywz;
					        u_xlatb33 = u_xlat6.w>=u_xlat1.x;
					        u_xlatb33 = u_xlatb4.y && u_xlatb33;
					        u_xlat2.xyw = (bool(u_xlatb33)) ? u_xlat6.xyw : u_xlat2.xwz;
					        u_xlatb33 = u_xlat1.x>=u_xlat7.w;
					        u_xlatb25 = u_xlat7.x<u_xlat9.x;
					        u_xlatb33 = u_xlatb33 && u_xlatb25;
					        u_xlat7.yz = u_xlat3.xw;
					        u_xlat9.z = u_xlat3.y;
					        u_xlat4 = (bool(u_xlatb33)) ? u_xlat7 : u_xlat9;
					        u_xlatb33 = u_xlat7.w>=u_xlat1.x;
					        u_xlatb25 = u_xlat7.x<u_xlat2.x;
					        u_xlatb33 = u_xlatb33 && u_xlatb25;
					        u_xlat2.z = u_xlat9.z;
					        u_xlat9 = (bool(u_xlatb33)) ? u_xlat7 : u_xlat2;
					        u_xlatb33 = u_xlat1.x>=u_xlat5.w;
					        u_xlatb25 = u_xlat5.x<u_xlat4.x;
					        u_xlatb33 = u_xlatb33 && u_xlatb25;
					        u_xlat4 = (bool(u_xlatb33)) ? u_xlat5 : u_xlat4;
					        u_xlatb33 = u_xlat5.w>=u_xlat1.x;
					        u_xlatb25 = u_xlat5.x<u_xlat9.x;
					        u_xlatb33 = u_xlatb33 && u_xlatb25;
					        u_xlat5 = (bool(u_xlatb33)) ? u_xlat5 : u_xlat9;
					        u_xlat3.yz = VolumetricDepth_TexelSize.xy * u_xlat23.xy + u_xlat3.xy;
					        u_xlat9 = textureLod(VolumetricDepth, u_xlat3.yz, 0.0);
					        u_xlat3.w = dot(u_xlat9.xy, vec2(1.0, 0.00392156886));
					        u_xlat33 = (-u_xlat1.x) + u_xlat3.w;
					        u_xlat3.x = abs(u_xlat33);
					        u_xlatb33 = u_xlat1.x>=u_xlat3.w;
					        u_xlatb23.x = u_xlat3.x<u_xlat4.x;
					        u_xlatb33 = u_xlatb33 && u_xlatb23.x;
					        u_xlat4 = (bool(u_xlatb33)) ? u_xlat3 : u_xlat4;
					        u_xlatb33 = u_xlat3.w>=u_xlat1.x;
					        u_xlatb23.x = u_xlat3.x<u_xlat5.x;
					        u_xlatb33 = u_xlatb33 && u_xlatb23.x;
					        u_xlat5 = (bool(u_xlatb33)) ? u_xlat3 : u_xlat5;
					        u_xlat9.y = u_xlat7.y;
					        u_xlat9.z = u_xlat3.z;
					        u_xlat10 = textureLod(VolumetricDepth, u_xlat9.yz, 0.0);
					        u_xlat9.w = dot(u_xlat10.xy, vec2(1.0, 0.00392156886));
					        u_xlat33 = (-u_xlat1.x) + u_xlat9.w;
					        u_xlat9.x = abs(u_xlat33);
					        u_xlatb33 = u_xlat1.x>=u_xlat9.w;
					        u_xlatb23.x = u_xlat9.x<u_xlat4.x;
					        u_xlatb33 = u_xlatb33 && u_xlatb23.x;
					        u_xlat4 = (bool(u_xlatb33)) ? u_xlat9 : u_xlat4;
					        u_xlatb33 = u_xlat9.w>=u_xlat1.x;
					        u_xlatb23.x = u_xlat9.x<u_xlat5.x;
					        u_xlatb33 = u_xlatb33 && u_xlatb23.x;
					        u_xlat5 = (bool(u_xlatb33)) ? u_xlat9 : u_xlat5;
					        u_xlat2.y = u_xlat3.y;
					        u_xlat3 = textureLod(VolumetricDepth, u_xlat2.yz, 0.0);
					        u_xlat2.w = dot(u_xlat3.xy, vec2(1.0, 0.00392156886));
					        u_xlat33 = (-u_xlat1.x) + u_xlat2.w;
					        u_xlat2.x = abs(u_xlat33);
					        u_xlatb33 = u_xlat1.x>=u_xlat2.w;
					        u_xlatb23.x = u_xlat2.x<u_xlat4.x;
					        u_xlatb33 = u_xlatb33 && u_xlatb23.x;
					        u_xlat3 = (bool(u_xlatb33)) ? u_xlat2 : u_xlat4;
					        u_xlatb33 = u_xlat2.w>=u_xlat1.x;
					        u_xlatb23.x = u_xlat2.x<u_xlat5.x;
					        u_xlatb33 = u_xlatb33 && u_xlatb23.x;
					        u_xlat4 = (bool(u_xlatb33)) ? u_xlat2 : u_xlat5;
					        u_xlat6.z = u_xlat9.z;
					        u_xlat5 = textureLod(VolumetricDepth, u_xlat6.yz, 0.0);
					        u_xlat6.w = dot(u_xlat5.xy, vec2(1.0, 0.00392156886));
					        u_xlat33 = (-u_xlat1.x) + u_xlat6.w;
					        u_xlat6.x = abs(u_xlat33);
					        u_xlatb33 = u_xlat1.x>=u_xlat6.w;
					        u_xlatb23.x = u_xlat6.x<u_xlat3.x;
					        u_xlatb33 = u_xlatb33 && u_xlatb23.x;
					        u_xlat3 = (bool(u_xlatb33)) ? u_xlat6 : u_xlat3;
					        u_xlatb33 = u_xlat6.w>=u_xlat1.x;
					        u_xlatb23.x = u_xlat6.x<u_xlat4.x;
					        u_xlatb33 = u_xlatb33 && u_xlatb23.x;
					        u_xlat4 = (bool(u_xlatb33)) ? u_xlat6 : u_xlat4;
					        u_xlat7.y = u_xlat2.y;
					        u_xlat2 = textureLod(VolumetricDepth, u_xlat7.yz, 0.0);
					        u_xlat7.w = dot(u_xlat2.xy, vec2(1.0, 0.00392156886));
					        u_xlat33 = (-u_xlat1.x) + u_xlat7.w;
					        u_xlat7.x = abs(u_xlat33);
					        u_xlatb33 = u_xlat1.x>=u_xlat7.w;
					        u_xlatb23.x = u_xlat7.x<u_xlat3.x;
					        u_xlatb33 = u_xlatb33 && u_xlatb23.x;
					        u_xlat2 = (bool(u_xlatb33)) ? u_xlat7 : u_xlat3;
					        u_xlatb33 = u_xlat7.w>=u_xlat1.x;
					        u_xlatb23.x = u_xlat7.x<u_xlat4.x;
					        u_xlatb33 = u_xlatb33 && u_xlatb23.x;
					        u_xlat3 = (bool(u_xlatb33)) ? u_xlat7 : u_xlat4;
					        u_xlatb33 = 99999.0<u_xlat2.x;
					        u_xlat2.xyz = (bool(u_xlatb33)) ? u_xlat3.yzw : u_xlat2.yzw;
					        u_xlatb33 = 99999.0<u_xlat3.x;
					        u_xlat3.xyz = (bool(u_xlatb33)) ? u_xlat2.xyz : u_xlat3.yzw;
					        u_xlat4 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					        u_xlat5 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					        u_xlat33 = (-u_xlat2.z) + u_xlat3.z;
					        u_xlat1.x = u_xlat1.x + (-u_xlat2.z);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat33 = u_xlat33 * u_xlat1.x;
					        u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					        u_xlat1.x = u_xlat33 * -2.0 + 3.0;
					        u_xlat33 = u_xlat33 * u_xlat33;
					        u_xlat33 = u_xlat33 * u_xlat1.x;
					        u_xlat33 = min(u_xlat33, 1.0);
					        u_xlat2 = (-u_xlat4) + u_xlat5;
					        u_xlat8 = vec4(u_xlat33) * u_xlat2 + u_xlat4;
					        gl_FragDepth = 0.0;
					    }
					    u_xlatb33 = u_xlat0.y<0.5;
					    u_xlat11 = u_xlat0.y + u_xlat0.y;
					    u_xlat0.x = fract(u_xlat11);
					    u_xlat2.xy = u_xlat0.xz * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat0.xyz = (bool(u_xlatb33)) ? hxInverseP1[0].xyz : hxInverseP2[0].xyz;
					    u_xlat1.xzw = (bool(u_xlatb33)) ? hxInverseP1[1].xyz : hxInverseP2[1].xyz;
					    u_xlat3.xyz = (bool(u_xlatb33)) ? hxInverseP1[2].xyz : hxInverseP2[2].xyz;
					    u_xlat4.xyw = (bool(u_xlatb33)) ? hxInverseP1[3].xyz : hxInverseP2[3].xyz;
					    u_xlat5.x = (u_xlatb33) ? hxInverseP1[0].w : hxInverseP2[0].w;
					    u_xlat5.y = (u_xlatb33) ? hxInverseP1[1].w : hxInverseP2[1].w;
					    u_xlat5.z = (u_xlatb33) ? hxInverseP1[2].w : hxInverseP2[2].w;
					    u_xlat5.w = (u_xlatb33) ? hxInverseP1[3].w : hxInverseP2[3].w;
					    u_xlat6.x = u_xlat0.x;
					    u_xlat6.y = u_xlat1.x;
					    u_xlat6.z = u_xlat3.x;
					    u_xlat6.w = u_xlat4.x;
					    u_xlat2.z = float(1.0);
					    u_xlat2.w = float(1.0);
					    u_xlat6.x = dot(u_xlat6, u_xlat2);
					    u_xlat7.x = u_xlat0.y;
					    u_xlat7.y = u_xlat1.z;
					    u_xlat7.z = u_xlat3.y;
					    u_xlat7.w = u_xlat4.y;
					    u_xlat6.y = dot(u_xlat7, u_xlat2);
					    u_xlat4.x = u_xlat0.z;
					    u_xlat4.y = u_xlat1.w;
					    u_xlat4.z = u_xlat3.z;
					    u_xlat6.z = dot(u_xlat4, u_xlat2);
					    u_xlat0.x = dot(u_xlat5, u_xlat2);
					    u_xlat0.xyz = u_xlat6.xyz / u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / u_xlat0.zzz;
					    u_xlat1.xz = (bool(u_xlatb33)) ? hxCameraToWorld[0].xy : hxCameraToWorld2[0].xy;
					    u_xlat2.xy = (bool(u_xlatb33)) ? hxCameraToWorld[1].xy : hxCameraToWorld2[1].xy;
					    u_xlat2.zw = (bool(u_xlatb33)) ? hxCameraToWorld[2].xy : hxCameraToWorld2[2].xy;
					    u_xlat3.xw = (bool(u_xlatb33)) ? hxCameraToWorld[3].xy : hxCameraToWorld2[3].xy;
					    u_xlat4.x = (u_xlatb33) ? hxCameraToWorld[0].z : hxCameraToWorld2[0].z;
					    u_xlat4.y = (u_xlatb33) ? hxCameraToWorld[1].z : hxCameraToWorld2[1].z;
					    u_xlat4.z = (u_xlatb33) ? hxCameraToWorld[2].z : hxCameraToWorld2[2].z;
					    u_xlat4.w = (u_xlatb33) ? hxCameraToWorld[3].z : hxCameraToWorld2[3].z;
					    u_xlat5.xyz = u_xlat1.yyy * (-u_xlat0.xyz);
					    u_xlat6.x = u_xlat1.x;
					    u_xlat6.yz = u_xlat2.xz;
					    u_xlat6.w = u_xlat3.x;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = dot(u_xlat6, u_xlat5);
					    u_xlat3.x = u_xlat1.z;
					    u_xlat3.yz = u_xlat2.yw;
					    u_xlat6.y = dot(u_xlat3, u_xlat5);
					    u_xlat6.z = dot(u_xlat4, u_xlat5);
					    u_xlat0.xy = (bool(u_xlatb33)) ? hxLastVP2[0].xy : hxLastVP[0].xy;
					    u_xlat1.xy = (bool(u_xlatb33)) ? hxLastVP2[1].xy : hxLastVP[1].xy;
					    u_xlat1.zw = (bool(u_xlatb33)) ? hxLastVP2[2].xy : hxLastVP[2].xy;
					    u_xlat2.xw = (bool(u_xlatb33)) ? hxLastVP2[3].xy : hxLastVP[3].xy;
					    u_xlat3.x = (u_xlatb33) ? hxLastVP2[0].w : hxLastVP[0].w;
					    u_xlat3.y = (u_xlatb33) ? hxLastVP2[1].w : hxLastVP[1].w;
					    u_xlat3.z = (u_xlatb33) ? hxLastVP2[2].w : hxLastVP[2].w;
					    u_xlat3.w = (u_xlatb33) ? hxLastVP2[3].w : hxLastVP[3].w;
					    u_xlat4.x = u_xlat0.x;
					    u_xlat4.yz = u_xlat1.xz;
					    u_xlat4.w = u_xlat2.x;
					    u_xlat6.w = 1.0;
					    u_xlat15.y = dot(u_xlat4, u_xlat6);
					    u_xlat2.x = u_xlat0.y;
					    u_xlat2.yz = u_xlat1.yw;
					    u_xlat15.x = dot(u_xlat2, u_xlat6);
					    u_xlat0.x = dot(u_xlat3, u_xlat6);
					    u_xlat0.xy = u_xlat15.xy / u_xlat0.xx;
					    u_xlat0.xy = u_xlat0.xy + vec2(1.0, 1.0);
					    u_xlatb1.xy = lessThan(u_xlat0.yxyy, vec4(0.0, 0.0, 0.0, 0.0)).xy;
					    u_xlatb23.xy = lessThan(vec4(2.0, 2.0, 2.0, 2.0), u_xlat0.yxyx).xy;
					    u_xlatb22 = u_xlatb23.x || u_xlatb1.x;
					    u_xlatb22 = u_xlatb1.y || u_xlatb22;
					    u_xlatb22 = u_xlatb23.y || u_xlatb22;
					    if(u_xlatb22){
					        SV_Target0 = u_xlat8;
					        gl_FragDepth = 0.0;
					    } else {
					        u_xlat1.y = u_xlat0.x * 0.5;
					        u_xlat0.x = (u_xlatb33) ? 0.0 : 0.5;
					        u_xlat1.x = u_xlat0.y * 0.25 + u_xlat0.x;
					        u_xlat0 = texture(hxLastVolumetric, u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat8.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					        u_xlat12 = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					        u_xlat23.x = max(u_xlat12, u_xlat1.x);
					        u_xlat34 = min(u_xlat12, u_xlat1.x);
					        u_xlat23.x = u_xlat34 + u_xlat23.x;
					        u_xlat23.x = u_xlat23.x * hxTemporalSettings.x;
					        u_xlat23.x = u_xlat23.x * 0.5;
					        u_xlat23.x = float(1.0) / u_xlat23.x;
					        u_xlat1.x = (-u_xlat12) + u_xlat1.x;
					        u_xlat1.x = (-u_xlat23.x) * abs(u_xlat1.x) + 1.0;
					        u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					        u_xlat1.x = u_xlat1.x * hxTemporalSettings.y;
					        u_xlat0 = (-u_xlat8) + u_xlat0;
					        SV_Target0 = u_xlat1.xxxx * u_xlat0 + u_xlat8;
					    }
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			Cull Off
			GpuProgramID 517230
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD0.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = in_POSITION0.ww * unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati4].xy + u_xlat1.xy;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[13];
						mat4x4 hxCameraToWorld;
						vec4 unused_0_2[4];
						vec2 hxTemporalSettings;
						mat4x4 InverseProjectionMatrix;
						vec4 unused_0_5[4];
						vec4 VolumetricDepth_TexelSize;
						vec4 unused_0_7[2];
						mat4x4 hxLastVP;
						vec4 unused_0_9[6];
						float DepthThreshold;
						vec4 unused_0_11[4];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[7];
						vec4 _ZBufferParams;
						vec4 unused_1_2;
					};
					uniform  sampler2D _CameraDepthTexture;
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D _MainTex;
					uniform  sampler2D hxLastVolumetric;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec2 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					int u_xlati7;
					bool u_xlatb7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat11;
					int u_xlati17;
					float u_xlat20;
					bvec2 u_xlatb20;
					vec2 u_xlat21;
					int u_xlati21;
					bvec2 u_xlatb21;
					bool u_xlatb27;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					bool u_xlatb31;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0 = texture(_CameraDepthTexture, vs_TEXCOORD0.xy);
					    u_xlat0.xy = _ZBufferParams.xz * u_xlat0.xx + _ZBufferParams.yw;
					    u_xlat0.xy = vec2(1.0, 1.0) / u_xlat0.xy;
					    u_xlat20 = u_xlat0.x * DepthThreshold;
					    u_xlat1.xy = VolumetricDepth_TexelSize.xy * vec2(0.5, 0.5);
					    u_xlat21.xy = (-VolumetricDepth_TexelSize.xy) * vec2(0.5, 0.5) + vs_TEXCOORD0.xy;
					    u_xlat21.xy = u_xlat21.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat21.xy = floor(u_xlat21.xy);
					    u_xlat21.xy = u_xlat21.xy * VolumetricDepth_TexelSize.xy + u_xlat1.xy;
					    u_xlat2.xy = vs_TEXCOORD0.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat2.xy = floor(u_xlat2.xy);
					    u_xlat2.xy = u_xlat2.xy * VolumetricDepth_TexelSize.xy + u_xlat1.xy;
					    u_xlatb1.xy = notEqual(u_xlat21.xyxx, u_xlat2.xyxx).xy;
					    u_xlat1.x = (u_xlatb1.x) ? float(1.0) : float(-1.0);
					    u_xlat1.y = (u_xlatb1.y) ? float(1.0) : float(-1.0);
					    u_xlat3 = textureLod(VolumetricDepth, u_xlat2.xy, 0.0);
					    u_xlat3.z = dot(u_xlat3.xy, vec2(1.0, 0.00392156886));
					    u_xlat30 = (-u_xlat0.x) + u_xlat3.z;
					    u_xlat4 = (-VolumetricDepth_TexelSize.xxyy) * u_xlat1.xxyy + u_xlat2.xxyy;
					    u_xlat2.zw = u_xlat4.xw;
					    u_xlat5 = textureLod(VolumetricDepth, u_xlat2.zy, 0.0);
					    u_xlat5.w = dot(u_xlat5.xy, vec2(1.0, 0.00392156886));
					    u_xlat21.x = (-u_xlat0.x) + u_xlat5.w;
					    u_xlat5.x = abs(u_xlat21.x);
					    u_xlat6 = textureLod(VolumetricDepth, u_xlat2.xw, 0.0);
					    u_xlat6.w = dot(u_xlat6.xy, vec2(1.0, 0.00392156886));
					    u_xlat21.x = (-u_xlat0.x) + u_xlat6.w;
					    u_xlat6.x = abs(u_xlat21.x);
					    u_xlat7 = textureLod(VolumetricDepth, u_xlat4.yz, 0.0);
					    u_xlat4.w = dot(u_xlat7.xy, vec2(1.0, 0.00392156886));
					    u_xlat21.x = (-u_xlat0.x) + u_xlat4.w;
					    u_xlat4.x = abs(u_xlat21.x);
					    u_xlati21 = int((u_xlat3.z<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati31 = int((u_xlat5.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati7 = int((u_xlat6.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati17 = int((u_xlat4.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb27 = abs(u_xlat30)<u_xlat20;
					    u_xlatb37 = u_xlat5.x<u_xlat20;
					    u_xlatb27 = u_xlatb37 && u_xlatb27;
					    u_xlatb37 = u_xlat6.x<u_xlat20;
					    u_xlatb27 = u_xlatb37 && u_xlatb27;
					    u_xlatb20.x = u_xlat4.x<u_xlat20;
					    u_xlatb20.x = u_xlatb20.x && u_xlatb27;
					    u_xlatb31 = u_xlati31==u_xlati21;
					    u_xlatb7 = u_xlati21==u_xlati7;
					    u_xlatb31 = u_xlatb31 && u_xlatb7;
					    u_xlatb7 = u_xlati21==u_xlati17;
					    u_xlatb31 = u_xlatb31 && u_xlatb7;
					    u_xlati7 = int((u_xlat0.x<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb21.x = u_xlati21==u_xlati7;
					    u_xlatb21.x = u_xlatb21.x && u_xlatb31;
					    u_xlatb20.x = u_xlatb20.x && u_xlatb21.x;
					    if(u_xlatb20.x){
					        u_xlat7 = textureLod(_MainTex, vs_TEXCOORD0.xy, 0.0);
					        gl_FragDepth = 1.0;
					    } else {
					        u_xlatb20.x = u_xlat0.x>=u_xlat3.z;
					        u_xlatb21.x = abs(u_xlat30)<100000.0;
					        u_xlatb20.x = u_xlatb20.x && u_xlatb21.x;
					        u_xlat3.y = (u_xlatb20.x) ? abs(u_xlat30) : 100000.0;
					        u_xlatb20.x = u_xlat3.z>=u_xlat0.x;
					        u_xlatb20.x = u_xlatb21.x && u_xlatb20.x;
					        u_xlat3.x = (u_xlatb20.x) ? abs(u_xlat30) : 100000.0;
					        u_xlatb20.x = u_xlat0.x>=u_xlat5.w;
					        u_xlatb21.xy = lessThan(u_xlat5.xxxx, u_xlat3.yxyx).xy;
					        u_xlatb20.x = u_xlatb20.x && u_xlatb21.x;
					        u_xlat5.y = u_xlat2.z;
					        u_xlat3.w = u_xlat2.x;
					        u_xlat8.xyw = (u_xlatb20.x) ? u_xlat5.xyw : u_xlat3.ywz;
					        u_xlatb20.x = u_xlat5.w>=u_xlat0.x;
					        u_xlatb20.x = u_xlatb21.y && u_xlatb20.x;
					        u_xlat3.xyw = (u_xlatb20.x) ? u_xlat5.xyw : u_xlat3.xwz;
					        u_xlatb20.x = u_xlat0.x>=u_xlat6.w;
					        u_xlatb30 = u_xlat6.x<u_xlat8.x;
					        u_xlatb20.x = u_xlatb30 && u_xlatb20.x;
					        u_xlat6.yz = u_xlat2.xw;
					        u_xlat8.z = u_xlat2.y;
					        u_xlat9 = (u_xlatb20.x) ? u_xlat6 : u_xlat8;
					        u_xlatb20.x = u_xlat6.w>=u_xlat0.x;
					        u_xlatb30 = u_xlat6.x<u_xlat3.x;
					        u_xlatb20.x = u_xlatb30 && u_xlatb20.x;
					        u_xlat3.z = u_xlat8.z;
					        u_xlat8 = (u_xlatb20.x) ? u_xlat6 : u_xlat3;
					        u_xlatb20.x = u_xlat0.x>=u_xlat4.w;
					        u_xlatb30 = u_xlat4.x<u_xlat9.x;
					        u_xlatb20.x = u_xlatb30 && u_xlatb20.x;
					        u_xlat9 = (u_xlatb20.x) ? u_xlat4 : u_xlat9;
					        u_xlatb20.x = u_xlat4.w>=u_xlat0.x;
					        u_xlatb30 = u_xlat4.x<u_xlat8.x;
					        u_xlatb20.x = u_xlatb30 && u_xlatb20.x;
					        u_xlat4 = (u_xlatb20.x) ? u_xlat4 : u_xlat8;
					        u_xlat1.yz = VolumetricDepth_TexelSize.xy * u_xlat1.xy + u_xlat2.xy;
					        u_xlat2 = textureLod(VolumetricDepth, u_xlat1.yz, 0.0);
					        u_xlat1.w = dot(u_xlat2.xy, vec2(1.0, 0.00392156886));
					        u_xlat20 = (-u_xlat0.x) + u_xlat1.w;
					        u_xlat1.x = abs(u_xlat20);
					        u_xlatb20.x = u_xlat0.x>=u_xlat1.w;
					        u_xlatb30 = u_xlat1.x<u_xlat9.x;
					        u_xlatb20.x = u_xlatb30 && u_xlatb20.x;
					        u_xlat2 = (u_xlatb20.x) ? u_xlat1 : u_xlat9;
					        u_xlatb20.x = u_xlat1.w>=u_xlat0.x;
					        u_xlatb30 = u_xlat1.x<u_xlat4.x;
					        u_xlatb20.x = u_xlatb30 && u_xlatb20.x;
					        u_xlat4 = (u_xlatb20.x) ? u_xlat1 : u_xlat4;
					        u_xlat8.y = u_xlat6.y;
					        u_xlat8.z = u_xlat1.z;
					        u_xlat9 = textureLod(VolumetricDepth, u_xlat8.yz, 0.0);
					        u_xlat8.w = dot(u_xlat9.xy, vec2(1.0, 0.00392156886));
					        u_xlat20 = (-u_xlat0.x) + u_xlat8.w;
					        u_xlat8.x = abs(u_xlat20);
					        u_xlatb20.x = u_xlat0.x>=u_xlat8.w;
					        u_xlatb30 = u_xlat8.x<u_xlat2.x;
					        u_xlatb20.x = u_xlatb30 && u_xlatb20.x;
					        u_xlat2 = (u_xlatb20.x) ? u_xlat8 : u_xlat2;
					        u_xlatb20.x = u_xlat8.w>=u_xlat0.x;
					        u_xlatb30 = u_xlat8.x<u_xlat4.x;
					        u_xlatb20.x = u_xlatb30 && u_xlatb20.x;
					        u_xlat4 = (u_xlatb20.x) ? u_xlat8 : u_xlat4;
					        u_xlat3.y = u_xlat1.y;
					        u_xlat1 = textureLod(VolumetricDepth, u_xlat3.yz, 0.0);
					        u_xlat3.w = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					        u_xlat20 = (-u_xlat0.x) + u_xlat3.w;
					        u_xlat3.x = abs(u_xlat20);
					        u_xlatb20.x = u_xlat0.x>=u_xlat3.w;
					        u_xlatb30 = u_xlat3.x<u_xlat2.x;
					        u_xlatb20.x = u_xlatb30 && u_xlatb20.x;
					        u_xlat1 = (u_xlatb20.x) ? u_xlat3 : u_xlat2;
					        u_xlatb20.x = u_xlat3.w>=u_xlat0.x;
					        u_xlatb30 = u_xlat3.x<u_xlat4.x;
					        u_xlatb20.x = u_xlatb30 && u_xlatb20.x;
					        u_xlat2 = (u_xlatb20.x) ? u_xlat3 : u_xlat4;
					        u_xlat5.z = u_xlat8.z;
					        u_xlat4 = textureLod(VolumetricDepth, u_xlat5.yz, 0.0);
					        u_xlat5.w = dot(u_xlat4.xy, vec2(1.0, 0.00392156886));
					        u_xlat20 = (-u_xlat0.x) + u_xlat5.w;
					        u_xlat5.x = abs(u_xlat20);
					        u_xlatb20.x = u_xlat0.x>=u_xlat5.w;
					        u_xlatb30 = u_xlat5.x<u_xlat1.x;
					        u_xlatb20.x = u_xlatb30 && u_xlatb20.x;
					        u_xlat1 = (u_xlatb20.x) ? u_xlat5 : u_xlat1;
					        u_xlatb20.x = u_xlat5.w>=u_xlat0.x;
					        u_xlatb30 = u_xlat5.x<u_xlat2.x;
					        u_xlatb20.x = u_xlatb30 && u_xlatb20.x;
					        u_xlat2 = (u_xlatb20.x) ? u_xlat5 : u_xlat2;
					        u_xlat6.y = u_xlat3.y;
					        u_xlat3 = textureLod(VolumetricDepth, u_xlat6.yz, 0.0);
					        u_xlat6.w = dot(u_xlat3.xy, vec2(1.0, 0.00392156886));
					        u_xlat20 = (-u_xlat0.x) + u_xlat6.w;
					        u_xlat6.x = abs(u_xlat20);
					        u_xlatb20.x = u_xlat0.x>=u_xlat6.w;
					        u_xlatb30 = u_xlat6.x<u_xlat1.x;
					        u_xlatb20.x = u_xlatb30 && u_xlatb20.x;
					        u_xlat1 = (u_xlatb20.x) ? u_xlat6 : u_xlat1;
					        u_xlatb20.x = u_xlat6.w>=u_xlat0.x;
					        u_xlatb30 = u_xlat6.x<u_xlat2.x;
					        u_xlatb20.x = u_xlatb30 && u_xlatb20.x;
					        u_xlat2 = (u_xlatb20.x) ? u_xlat6 : u_xlat2;
					        u_xlatb20.x = 99999.0<u_xlat1.x;
					        u_xlat1.xyz = (u_xlatb20.x) ? u_xlat2.yzw : u_xlat1.yzw;
					        u_xlatb20.x = 99999.0<u_xlat2.x;
					        u_xlat2.xyz = (u_xlatb20.x) ? u_xlat1.xyz : u_xlat2.yzw;
					        u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat4 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					        u_xlat20 = (-u_xlat1.z) + u_xlat2.z;
					        u_xlat0.x = u_xlat0.x + (-u_xlat1.z);
					        u_xlat20 = float(1.0) / u_xlat20;
					        u_xlat0.x = u_xlat20 * u_xlat0.x;
					        u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					        u_xlat20 = u_xlat0.x * -2.0 + 3.0;
					        u_xlat0.x = u_xlat0.x * u_xlat0.x;
					        u_xlat0.x = u_xlat0.x * u_xlat20;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlat1 = (-u_xlat3) + u_xlat4;
					        u_xlat7 = u_xlat0.xxxx * u_xlat1 + u_xlat3;
					        gl_FragDepth = 0.0;
					    }
					    u_xlat0.xz = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1 = u_xlat0.zzzz * InverseProjectionMatrix[1];
					    u_xlat1 = InverseProjectionMatrix[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = u_xlat1 + InverseProjectionMatrix[2];
					    u_xlat1 = u_xlat1 + InverseProjectionMatrix[3];
					    u_xlat0.xzw = u_xlat1.xyz / u_xlat1.www;
					    u_xlat0.xzw = u_xlat0.xzw / u_xlat0.www;
					    u_xlat0.xyz = u_xlat0.yyy * (-u_xlat0.xzw);
					    u_xlat1.xyz = u_xlat0.yyy * hxCameraToWorld[1].xyz;
					    u_xlat0.xyw = hxCameraToWorld[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = hxCameraToWorld[2].xyz * u_xlat0.zzz + u_xlat0.xyw;
					    u_xlat0.xyz = u_xlat0.xyz + hxCameraToWorld[3].xyz;
					    u_xlat1.xyz = u_xlat0.yyy * hxLastVP[1].xyw;
					    u_xlat0.xyw = hxLastVP[0].xyw * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = hxLastVP[2].xyw * u_xlat0.zzz + u_xlat0.xyw;
					    u_xlat0.xyz = u_xlat0.xyz + hxLastVP[3].xyw;
					    u_xlat0.xy = u_xlat0.xy / u_xlat0.zz;
					    u_xlat0.xy = u_xlat0.xy + vec2(1.0, 1.0);
					    u_xlatb20.xy = lessThan(u_xlat0.xyxy, vec4(0.0, 0.0, 0.0, 0.0)).xy;
					    u_xlatb1.xy = lessThan(vec4(2.0, 2.0, 0.0, 0.0), u_xlat0.xyxx).xy;
					    u_xlatb20.x = u_xlatb20.x || u_xlatb1.x;
					    u_xlatb20.x = u_xlatb20.y || u_xlatb20.x;
					    u_xlatb20.x = u_xlatb1.y || u_xlatb20.x;
					    if(u_xlatb20.x){
					        gl_FragDepth = 0.0;
					    } else {
					        u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5);
					        u_xlat0 = texture(hxLastVolumetric, u_xlat0.xy);
					        u_xlat1.x = dot(u_xlat7.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					        u_xlat11 = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					        u_xlat21.x = max(u_xlat11, u_xlat1.x);
					        u_xlat31 = min(u_xlat11, u_xlat1.x);
					        u_xlat21.x = u_xlat31 + u_xlat21.x;
					        u_xlat21.x = u_xlat21.x * hxTemporalSettings.x;
					        u_xlat21.x = u_xlat21.x * 0.5;
					        u_xlat21.x = float(1.0) / u_xlat21.x;
					        u_xlat1.x = (-u_xlat11) + u_xlat1.x;
					        u_xlat1.x = (-u_xlat21.x) * abs(u_xlat1.x) + 1.0;
					        u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					        u_xlat1.x = u_xlat1.x * hxTemporalSettings.y;
					        u_xlat0 = (-u_xlat7) + u_xlat0;
					        u_xlat7 = u_xlat1.xxxx * u_xlat0 + u_xlat7;
					    }
					    SV_Target0 = u_xlat7;
					    SV_Target1 = u_xlat7;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(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 hxInverseP1;
						mat4x4 hxInverseP2;
						vec4 unused_0_3[3];
						mat4x4 hxCameraToWorld;
						mat4x4 hxCameraToWorld2;
						vec2 hxTemporalSettings;
						vec4 unused_0_7[8];
						vec4 VolumetricDepth_TexelSize;
						vec4 unused_0_9[2];
						mat4x4 hxLastVP;
						mat4x4 hxLastVP2;
						vec4 unused_0_12[2];
						float DepthThreshold;
						vec4 unused_0_14[4];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[6];
						vec4 _ZBufferParams;
						vec4 unused_1_2;
					};
					uniform  sampler2D _CameraDepthTexture;
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D _MainTex;
					uniform  sampler2D hxLastVolumetric;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec2 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					int u_xlati7;
					bool u_xlatb7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					vec2 u_xlat14;
					int u_xlati17;
					vec2 u_xlat20;
					bool u_xlatb20;
					vec2 u_xlat21;
					int u_xlati21;
					bvec2 u_xlatb21;
					bool u_xlatb27;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					bool u_xlatb31;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0 = texture(_CameraDepthTexture, vs_TEXCOORD0.xy);
					    u_xlat0.xy = _ZBufferParams.xz * u_xlat0.xx + _ZBufferParams.yw;
					    u_xlat0.xy = vec2(1.0, 1.0) / u_xlat0.xy;
					    u_xlat20.x = u_xlat0.x * DepthThreshold;
					    u_xlat1.xy = VolumetricDepth_TexelSize.xy * vec2(0.5, 0.5);
					    u_xlat21.xy = (-VolumetricDepth_TexelSize.xy) * vec2(0.5, 0.5) + vs_TEXCOORD0.xy;
					    u_xlat21.xy = u_xlat21.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat21.xy = floor(u_xlat21.xy);
					    u_xlat21.xy = u_xlat21.xy * VolumetricDepth_TexelSize.xy + u_xlat1.xy;
					    u_xlat2.xy = vs_TEXCOORD0.xy / VolumetricDepth_TexelSize.xy;
					    u_xlat2.xy = floor(u_xlat2.xy);
					    u_xlat2.xy = u_xlat2.xy * VolumetricDepth_TexelSize.xy + u_xlat1.xy;
					    u_xlatb1.xy = notEqual(u_xlat21.xyxx, u_xlat2.xyxx).xy;
					    u_xlat1.x = (u_xlatb1.x) ? float(1.0) : float(-1.0);
					    u_xlat1.y = (u_xlatb1.y) ? float(1.0) : float(-1.0);
					    u_xlat3 = textureLod(VolumetricDepth, u_xlat2.xy, 0.0);
					    u_xlat3.z = dot(u_xlat3.xy, vec2(1.0, 0.00392156886));
					    u_xlat30 = (-u_xlat0.x) + u_xlat3.z;
					    u_xlat4 = (-VolumetricDepth_TexelSize.xxyy) * u_xlat1.xxyy + u_xlat2.xxyy;
					    u_xlat2.zw = u_xlat4.xw;
					    u_xlat5 = textureLod(VolumetricDepth, u_xlat2.zy, 0.0);
					    u_xlat5.w = dot(u_xlat5.xy, vec2(1.0, 0.00392156886));
					    u_xlat21.x = (-u_xlat0.x) + u_xlat5.w;
					    u_xlat5.x = abs(u_xlat21.x);
					    u_xlat6 = textureLod(VolumetricDepth, u_xlat2.xw, 0.0);
					    u_xlat6.w = dot(u_xlat6.xy, vec2(1.0, 0.00392156886));
					    u_xlat21.x = (-u_xlat0.x) + u_xlat6.w;
					    u_xlat6.x = abs(u_xlat21.x);
					    u_xlat7 = textureLod(VolumetricDepth, u_xlat4.yz, 0.0);
					    u_xlat4.w = dot(u_xlat7.xy, vec2(1.0, 0.00392156886));
					    u_xlat21.x = (-u_xlat0.x) + u_xlat4.w;
					    u_xlat4.x = abs(u_xlat21.x);
					    u_xlati21 = int((u_xlat3.z<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati31 = int((u_xlat5.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati7 = int((u_xlat6.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlati17 = int((u_xlat4.w<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb27 = abs(u_xlat30)<u_xlat20.x;
					    u_xlatb37 = u_xlat5.x<u_xlat20.x;
					    u_xlatb27 = u_xlatb37 && u_xlatb27;
					    u_xlatb37 = u_xlat6.x<u_xlat20.x;
					    u_xlatb27 = u_xlatb37 && u_xlatb27;
					    u_xlatb20 = u_xlat4.x<u_xlat20.x;
					    u_xlatb20 = u_xlatb20 && u_xlatb27;
					    u_xlatb31 = u_xlati31==u_xlati21;
					    u_xlatb7 = u_xlati21==u_xlati7;
					    u_xlatb31 = u_xlatb31 && u_xlatb7;
					    u_xlatb7 = u_xlati21==u_xlati17;
					    u_xlatb31 = u_xlatb31 && u_xlatb7;
					    u_xlati7 = int((u_xlat0.x<0.999000013) ? 0xFFFFFFFFu : uint(0));
					    u_xlatb21.x = u_xlati21==u_xlati7;
					    u_xlatb21.x = u_xlatb21.x && u_xlatb31;
					    u_xlatb20 = u_xlatb20 && u_xlatb21.x;
					    if(u_xlatb20){
					        u_xlat7 = textureLod(_MainTex, vs_TEXCOORD0.xy, 0.0);
					        gl_FragDepth = 1.0;
					    } else {
					        u_xlatb20 = u_xlat0.x>=u_xlat3.z;
					        u_xlatb21.x = abs(u_xlat30)<100000.0;
					        u_xlatb20 = u_xlatb20 && u_xlatb21.x;
					        u_xlat3.y = (u_xlatb20) ? abs(u_xlat30) : 100000.0;
					        u_xlatb20 = u_xlat3.z>=u_xlat0.x;
					        u_xlatb20 = u_xlatb21.x && u_xlatb20;
					        u_xlat3.x = (u_xlatb20) ? abs(u_xlat30) : 100000.0;
					        u_xlatb20 = u_xlat0.x>=u_xlat5.w;
					        u_xlatb21.xy = lessThan(u_xlat5.xxxx, u_xlat3.yxyx).xy;
					        u_xlatb20 = u_xlatb20 && u_xlatb21.x;
					        u_xlat5.y = u_xlat2.z;
					        u_xlat3.w = u_xlat2.x;
					        u_xlat8.xyw = (bool(u_xlatb20)) ? u_xlat5.xyw : u_xlat3.ywz;
					        u_xlatb20 = u_xlat5.w>=u_xlat0.x;
					        u_xlatb20 = u_xlatb21.y && u_xlatb20;
					        u_xlat3.xyw = (bool(u_xlatb20)) ? u_xlat5.xyw : u_xlat3.xwz;
					        u_xlatb20 = u_xlat0.x>=u_xlat6.w;
					        u_xlatb30 = u_xlat6.x<u_xlat8.x;
					        u_xlatb20 = u_xlatb30 && u_xlatb20;
					        u_xlat6.yz = u_xlat2.xw;
					        u_xlat8.z = u_xlat2.y;
					        u_xlat9 = (bool(u_xlatb20)) ? u_xlat6 : u_xlat8;
					        u_xlatb20 = u_xlat6.w>=u_xlat0.x;
					        u_xlatb30 = u_xlat6.x<u_xlat3.x;
					        u_xlatb20 = u_xlatb30 && u_xlatb20;
					        u_xlat3.z = u_xlat8.z;
					        u_xlat8 = (bool(u_xlatb20)) ? u_xlat6 : u_xlat3;
					        u_xlatb20 = u_xlat0.x>=u_xlat4.w;
					        u_xlatb30 = u_xlat4.x<u_xlat9.x;
					        u_xlatb20 = u_xlatb30 && u_xlatb20;
					        u_xlat9 = (bool(u_xlatb20)) ? u_xlat4 : u_xlat9;
					        u_xlatb20 = u_xlat4.w>=u_xlat0.x;
					        u_xlatb30 = u_xlat4.x<u_xlat8.x;
					        u_xlatb20 = u_xlatb30 && u_xlatb20;
					        u_xlat4 = (bool(u_xlatb20)) ? u_xlat4 : u_xlat8;
					        u_xlat1.yz = VolumetricDepth_TexelSize.xy * u_xlat1.xy + u_xlat2.xy;
					        u_xlat2 = textureLod(VolumetricDepth, u_xlat1.yz, 0.0);
					        u_xlat1.w = dot(u_xlat2.xy, vec2(1.0, 0.00392156886));
					        u_xlat20.x = (-u_xlat0.x) + u_xlat1.w;
					        u_xlat1.x = abs(u_xlat20.x);
					        u_xlatb20 = u_xlat0.x>=u_xlat1.w;
					        u_xlatb30 = u_xlat1.x<u_xlat9.x;
					        u_xlatb20 = u_xlatb30 && u_xlatb20;
					        u_xlat2 = (bool(u_xlatb20)) ? u_xlat1 : u_xlat9;
					        u_xlatb20 = u_xlat1.w>=u_xlat0.x;
					        u_xlatb30 = u_xlat1.x<u_xlat4.x;
					        u_xlatb20 = u_xlatb30 && u_xlatb20;
					        u_xlat4 = (bool(u_xlatb20)) ? u_xlat1 : u_xlat4;
					        u_xlat8.y = u_xlat6.y;
					        u_xlat8.z = u_xlat1.z;
					        u_xlat9 = textureLod(VolumetricDepth, u_xlat8.yz, 0.0);
					        u_xlat8.w = dot(u_xlat9.xy, vec2(1.0, 0.00392156886));
					        u_xlat20.x = (-u_xlat0.x) + u_xlat8.w;
					        u_xlat8.x = abs(u_xlat20.x);
					        u_xlatb20 = u_xlat0.x>=u_xlat8.w;
					        u_xlatb30 = u_xlat8.x<u_xlat2.x;
					        u_xlatb20 = u_xlatb30 && u_xlatb20;
					        u_xlat2 = (bool(u_xlatb20)) ? u_xlat8 : u_xlat2;
					        u_xlatb20 = u_xlat8.w>=u_xlat0.x;
					        u_xlatb30 = u_xlat8.x<u_xlat4.x;
					        u_xlatb20 = u_xlatb30 && u_xlatb20;
					        u_xlat4 = (bool(u_xlatb20)) ? u_xlat8 : u_xlat4;
					        u_xlat3.y = u_xlat1.y;
					        u_xlat1 = textureLod(VolumetricDepth, u_xlat3.yz, 0.0);
					        u_xlat3.w = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					        u_xlat20.x = (-u_xlat0.x) + u_xlat3.w;
					        u_xlat3.x = abs(u_xlat20.x);
					        u_xlatb20 = u_xlat0.x>=u_xlat3.w;
					        u_xlatb30 = u_xlat3.x<u_xlat2.x;
					        u_xlatb20 = u_xlatb30 && u_xlatb20;
					        u_xlat1 = (bool(u_xlatb20)) ? u_xlat3 : u_xlat2;
					        u_xlatb20 = u_xlat3.w>=u_xlat0.x;
					        u_xlatb30 = u_xlat3.x<u_xlat4.x;
					        u_xlatb20 = u_xlatb30 && u_xlatb20;
					        u_xlat2 = (bool(u_xlatb20)) ? u_xlat3 : u_xlat4;
					        u_xlat5.z = u_xlat8.z;
					        u_xlat4 = textureLod(VolumetricDepth, u_xlat5.yz, 0.0);
					        u_xlat5.w = dot(u_xlat4.xy, vec2(1.0, 0.00392156886));
					        u_xlat20.x = (-u_xlat0.x) + u_xlat5.w;
					        u_xlat5.x = abs(u_xlat20.x);
					        u_xlatb20 = u_xlat0.x>=u_xlat5.w;
					        u_xlatb30 = u_xlat5.x<u_xlat1.x;
					        u_xlatb20 = u_xlatb30 && u_xlatb20;
					        u_xlat1 = (bool(u_xlatb20)) ? u_xlat5 : u_xlat1;
					        u_xlatb20 = u_xlat5.w>=u_xlat0.x;
					        u_xlatb30 = u_xlat5.x<u_xlat2.x;
					        u_xlatb20 = u_xlatb30 && u_xlatb20;
					        u_xlat2 = (bool(u_xlatb20)) ? u_xlat5 : u_xlat2;
					        u_xlat6.y = u_xlat3.y;
					        u_xlat3 = textureLod(VolumetricDepth, u_xlat6.yz, 0.0);
					        u_xlat6.w = dot(u_xlat3.xy, vec2(1.0, 0.00392156886));
					        u_xlat20.x = (-u_xlat0.x) + u_xlat6.w;
					        u_xlat6.x = abs(u_xlat20.x);
					        u_xlatb20 = u_xlat0.x>=u_xlat6.w;
					        u_xlatb30 = u_xlat6.x<u_xlat1.x;
					        u_xlatb20 = u_xlatb30 && u_xlatb20;
					        u_xlat1 = (bool(u_xlatb20)) ? u_xlat6 : u_xlat1;
					        u_xlatb20 = u_xlat6.w>=u_xlat0.x;
					        u_xlatb30 = u_xlat6.x<u_xlat2.x;
					        u_xlatb20 = u_xlatb30 && u_xlatb20;
					        u_xlat2 = (bool(u_xlatb20)) ? u_xlat6 : u_xlat2;
					        u_xlatb20 = 99999.0<u_xlat1.x;
					        u_xlat1.xyz = (bool(u_xlatb20)) ? u_xlat2.yzw : u_xlat1.yzw;
					        u_xlatb20 = 99999.0<u_xlat2.x;
					        u_xlat2.xyz = (bool(u_xlatb20)) ? u_xlat1.xyz : u_xlat2.yzw;
					        u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat4 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					        u_xlat20.x = (-u_xlat1.z) + u_xlat2.z;
					        u_xlat0.x = u_xlat0.x + (-u_xlat1.z);
					        u_xlat20.x = float(1.0) / u_xlat20.x;
					        u_xlat0.x = u_xlat20.x * u_xlat0.x;
					        u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					        u_xlat20.x = u_xlat0.x * -2.0 + 3.0;
					        u_xlat0.x = u_xlat0.x * u_xlat0.x;
					        u_xlat0.x = u_xlat0.x * u_xlat20.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlat1 = (-u_xlat3) + u_xlat4;
					        u_xlat7 = u_xlat0.xxxx * u_xlat1 + u_xlat3;
					        gl_FragDepth = 0.0;
					    }
					    u_xlatb0 = vs_TEXCOORD0.x<0.5;
					    u_xlat20.x = vs_TEXCOORD0.x + vs_TEXCOORD0.x;
					    u_xlat1.x = fract(u_xlat20.x);
					    u_xlat1.y = vs_TEXCOORD0.y;
					    u_xlat1.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xyz = (bool(u_xlatb0)) ? hxInverseP1[0].xyz : hxInverseP2[0].xyz;
					    u_xlat3.xyz = (bool(u_xlatb0)) ? hxInverseP1[1].xyz : hxInverseP2[1].xyz;
					    u_xlat4.xyz = (bool(u_xlatb0)) ? hxInverseP1[2].xyz : hxInverseP2[2].xyz;
					    u_xlat5.xyw = (bool(u_xlatb0)) ? hxInverseP1[3].xyz : hxInverseP2[3].xyz;
					    u_xlat6.x = (u_xlatb0) ? hxInverseP1[0].w : hxInverseP2[0].w;
					    u_xlat6.y = (u_xlatb0) ? hxInverseP1[1].w : hxInverseP2[1].w;
					    u_xlat6.z = (u_xlatb0) ? hxInverseP1[2].w : hxInverseP2[2].w;
					    u_xlat6.w = (u_xlatb0) ? hxInverseP1[3].w : hxInverseP2[3].w;
					    u_xlat8.x = u_xlat2.x;
					    u_xlat8.y = u_xlat3.x;
					    u_xlat8.z = u_xlat4.x;
					    u_xlat8.w = u_xlat5.x;
					    u_xlat1.z = float(1.0);
					    u_xlat1.w = float(1.0);
					    u_xlat8.x = dot(u_xlat8, u_xlat1);
					    u_xlat9.x = u_xlat2.y;
					    u_xlat9.y = u_xlat3.y;
					    u_xlat9.z = u_xlat4.y;
					    u_xlat9.w = u_xlat5.y;
					    u_xlat8.y = dot(u_xlat9, u_xlat1);
					    u_xlat5.x = u_xlat2.z;
					    u_xlat5.y = u_xlat3.z;
					    u_xlat5.z = u_xlat4.z;
					    u_xlat8.z = dot(u_xlat5, u_xlat1);
					    u_xlat20.x = dot(u_xlat6, u_xlat1);
					    u_xlat1.xyz = u_xlat8.xyz / u_xlat20.xxx;
					    u_xlat1.xyz = u_xlat1.xyz / u_xlat1.zzz;
					    u_xlat20.xy = (bool(u_xlatb0)) ? hxCameraToWorld[0].xy : hxCameraToWorld2[0].xy;
					    u_xlat2.xy = (bool(u_xlatb0)) ? hxCameraToWorld[1].xy : hxCameraToWorld2[1].xy;
					    u_xlat2.zw = (bool(u_xlatb0)) ? hxCameraToWorld[2].xy : hxCameraToWorld2[2].xy;
					    u_xlat3.xw = (bool(u_xlatb0)) ? hxCameraToWorld[3].xy : hxCameraToWorld2[3].xy;
					    u_xlat4.x = (u_xlatb0) ? hxCameraToWorld[0].z : hxCameraToWorld2[0].z;
					    u_xlat4.y = (u_xlatb0) ? hxCameraToWorld[1].z : hxCameraToWorld2[1].z;
					    u_xlat4.z = (u_xlatb0) ? hxCameraToWorld[2].z : hxCameraToWorld2[2].z;
					    u_xlat4.w = (u_xlatb0) ? hxCameraToWorld[3].z : hxCameraToWorld2[3].z;
					    u_xlat1.xyz = u_xlat0.yyy * (-u_xlat1.xyz);
					    u_xlat5.x = u_xlat20.x;
					    u_xlat5.yz = u_xlat2.xz;
					    u_xlat5.w = u_xlat3.x;
					    u_xlat1.w = 1.0;
					    u_xlat5.x = dot(u_xlat5, u_xlat1);
					    u_xlat3.x = u_xlat20.y;
					    u_xlat3.yz = u_xlat2.yw;
					    u_xlat5.y = dot(u_xlat3, u_xlat1);
					    u_xlat5.z = dot(u_xlat4, u_xlat1);
					    u_xlat10.xy = (bool(u_xlatb0)) ? hxLastVP2[0].xy : hxLastVP[0].xy;
					    u_xlat1.xy = (bool(u_xlatb0)) ? hxLastVP2[1].xy : hxLastVP[1].xy;
					    u_xlat1.zw = (bool(u_xlatb0)) ? hxLastVP2[2].xy : hxLastVP[2].xy;
					    u_xlat2.xw = (bool(u_xlatb0)) ? hxLastVP2[3].xy : hxLastVP[3].xy;
					    u_xlat3.x = (u_xlatb0) ? hxLastVP2[0].w : hxLastVP[0].w;
					    u_xlat3.y = (u_xlatb0) ? hxLastVP2[1].w : hxLastVP[1].w;
					    u_xlat3.z = (u_xlatb0) ? hxLastVP2[2].w : hxLastVP[2].w;
					    u_xlat3.w = (u_xlatb0) ? hxLastVP2[3].w : hxLastVP[3].w;
					    u_xlat4.x = u_xlat10.x;
					    u_xlat4.yz = u_xlat1.xz;
					    u_xlat4.w = u_xlat2.x;
					    u_xlat5.w = 1.0;
					    u_xlat14.y = dot(u_xlat4, u_xlat5);
					    u_xlat2.x = u_xlat10.y;
					    u_xlat2.yz = u_xlat1.yw;
					    u_xlat14.x = dot(u_xlat2, u_xlat5);
					    u_xlat10.x = dot(u_xlat3, u_xlat5);
					    u_xlat10.xy = u_xlat14.xy / u_xlat10.xx;
					    u_xlat10.xy = u_xlat10.xy + vec2(1.0, 1.0);
					    u_xlatb1.xy = lessThan(u_xlat10.yxyy, vec4(0.0, 0.0, 0.0, 0.0)).xy;
					    u_xlatb21.xy = lessThan(vec4(2.0, 2.0, 2.0, 2.0), u_xlat10.yxyx).xy;
					    u_xlatb30 = u_xlatb21.x || u_xlatb1.x;
					    u_xlatb30 = u_xlatb1.y || u_xlatb30;
					    u_xlatb30 = u_xlatb21.y || u_xlatb30;
					    if(u_xlatb30){
					        gl_FragDepth = 0.0;
					    } else {
					        u_xlat1.y = u_xlat10.x * 0.5;
					        u_xlat0.x = (u_xlatb0) ? 0.0 : 0.5;
					        u_xlat1.x = u_xlat10.y * 0.25 + u_xlat0.x;
					        u_xlat0 = texture(hxLastVolumetric, u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat7.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					        u_xlat11 = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					        u_xlat21.x = max(u_xlat11, u_xlat1.x);
					        u_xlat31 = min(u_xlat11, u_xlat1.x);
					        u_xlat21.x = u_xlat31 + u_xlat21.x;
					        u_xlat21.x = u_xlat21.x * hxTemporalSettings.x;
					        u_xlat21.x = u_xlat21.x * 0.5;
					        u_xlat21.x = float(1.0) / u_xlat21.x;
					        u_xlat1.x = (-u_xlat11) + u_xlat1.x;
					        u_xlat1.x = (-u_xlat21.x) * abs(u_xlat1.x) + 1.0;
					        u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					        u_xlat1.x = u_xlat1.x * hxTemporalSettings.y;
					        u_xlat0 = (-u_xlat7) + u_xlat0;
					        u_xlat7 = u_xlat1.xxxx * u_xlat0 + u_xlat7;
					    }
					    SV_Target0 = u_xlat7;
					    SV_Target1 = u_xlat7;
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			Cull Off
			GpuProgramID 538833
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD0.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position = in_POSITION0;
					    u_xlat0.x = in_POSITION0.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = in_POSITION0.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = in_POSITION0.ww * unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati4].xy + u_xlat1.xy;
					    vs_TEXCOORD0.zw = in_POSITION0.zw;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D VolumetricTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = texture(VolumetricTexture, vs_TEXCOORD0.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D VolumetricTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = texture(VolumetricTexture, vs_TEXCOORD0.xy);
					    return;
					}"
				}
			}
		}
	}
}