Shader "Hidden/HxVolumetricDirectionalLight" {
	Properties {
	}
	SubShader {
		Pass {
			Tags { "IGNOREPROJECTOR" = "true" }
			Blend One One, One One
			ZTest Always
			ZWrite Off
			GpuProgramID 18792
			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 VGlobals {
						vec4 unused_0_0[331];
						mat4x4 VolumetricMVP;
						vec4 unused_0_2[40];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * VolumetricMVP[1];
					    u_xlat0 = VolumetricMVP[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = VolumetricMVP[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = VolumetricMVP[3] * in_POSITION0.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD0.zw = u_xlat0.zw;
					    vs_TEXCOORD0.xy = u_xlat1.zz + u_xlat1.xw;
					    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 VGlobals {
						vec4 unused_0_0[331];
						mat4x4 VolumetricMVP;
						vec4 unused_0_2[40];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					int u_xlati1;
					vec2 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * VolumetricMVP[1];
					    u_xlat0 = VolumetricMVP[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = VolumetricMVP[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = VolumetricMVP[3] * in_POSITION0.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat3.xy;
					    vs_TEXCOORD0.zw = u_xlat0.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[14];
						vec4 Phase;
						vec4 Phase2;
						vec4 Density;
						vec4 unused_0_4;
						mat4x4 hxVolumeMatrixOld[10];
						vec4 unused_0_6[36];
						vec2 hxVolumeSettingsOld[10];
						vec4 unused_0_8[263];
						float hxRayOffset;
						float HxTileSize;
						mat4x4 InverseProjectionMatrix;
						vec4 unused_0_12[18];
						mat4x4 hxCameraToWorld;
						vec4 unused_0_14[4];
						float FirstLight;
						vec4 unused_0_16[5];
						vec3 ShadowBias;
						vec4 unused_0_18[5];
						vec4 _SpotLightParams;
						vec3 CameraFoward;
						float VolumeScale;
						float ExtinctionEffect;
						vec3 LightColour;
						vec3 LightColour2;
						vec4 unused_0_25;
						float TintPercent;
						vec2 MaxRayDistance;
						float AmbientStrength;
						vec3 AmbientSkyColor;
						vec4 unused_0_30[2];
						vec2 SunSize;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 _ScreenParams;
						vec4 unused_1_4[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[6];
						vec4 _LightSplitsNear;
						vec4 _LightSplitsFar;
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_2_4[14];
					};
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D Tile5x5;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					vec4 u_xlat8;
					bvec4 u_xlatb8;
					vec4 u_xlat9;
					bvec4 u_xlatb9;
					vec4 u_xlat10;
					bvec4 u_xlatb10;
					vec3 u_xlat11;
					bvec4 u_xlatb11;
					vec3 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec3 u_xlat17;
					bvec2 u_xlatb17;
					float u_xlat18;
					float u_xlat20;
					bool u_xlatb20;
					vec3 u_xlat22;
					int u_xlati22;
					bool u_xlatb22;
					float u_xlat23;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					float u_xlat39;
					float u_xlat40;
					float u_xlat41;
					int u_xlati41;
					int u_xlati42;
					float u_xlat44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / vs_TEXCOORD0.ww;
					    u_xlat1 = textureLod(VolumetricDepth, u_xlat0.xy, 0.0);
					    u_xlat26 = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					    u_xlat1.xy = (-u_xlat1.zw) + vec2(1.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2 = u_xlat1.yyyy * InverseProjectionMatrix[1];
					    u_xlat1 = InverseProjectionMatrix[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat1 = u_xlat1 + InverseProjectionMatrix[2];
					    u_xlat1 = u_xlat1 + InverseProjectionMatrix[3];
					    u_xlat1.xyz = u_xlat1.xyz / u_xlat1.www;
					    u_xlat39 = _ProjectionParams.z / u_xlat1.z;
					    u_xlat1.xyz = vec3(u_xlat39) * (-u_xlat1.xyz);
					    u_xlat1.xyz = vec3(u_xlat26) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * hxCameraToWorld[1].xyz;
					    u_xlat1.xyw = hxCameraToWorld[0].xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat1.xyz = hxCameraToWorld[2].xyz * u_xlat1.zzz + u_xlat1.xyw;
					    u_xlat1.xyz = u_xlat1.xyz + hxCameraToWorld[3].xyz;
					    u_xlat2.xyz = (-u_xlat1.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz;
					    u_xlat39 = dot(CameraFoward.xyz, (-u_xlat2.xyz));
					    u_xlat3.xyz = vec3(vec3(AmbientStrength, AmbientStrength, AmbientStrength)) * AmbientSkyColor.xyz;
					    u_xlat39 = _ProjectionParams.y / u_xlat39;
					    u_xlat2.xyz = (-u_xlat2.xyz) * vec3(u_xlat39) + _WorldSpaceCameraPos.xyz;
					    u_xlat1.xyz = _SpotLightParams.xyz * ShadowBias.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = sqrt(u_xlat39);
					    u_xlat1.xyz = u_xlat1.xyz / vec3(u_xlat39);
					    u_xlat39 = min(u_xlat39, MaxRayDistance.xxyx.z);
					    u_xlat40 = min(u_xlat39, MaxRayDistance.xxyx.y);
					    u_xlat39 = u_xlat39 + (-u_xlat40);
					    u_xlat41 = min(Density.y, 128.0);
					    u_xlati42 = int(u_xlat41);
					    u_xlat41 = trunc(u_xlat41);
					    u_xlat4 = u_xlat40 / u_xlat41;
					    u_xlat17.xy = vec2(vec2(VolumeScale, VolumeScale)) * _ScreenParams.xy;
					    u_xlat0.xy = u_xlat0.xy * u_xlat17.xy;
					    u_xlat0.xy = u_xlat0.xy / vec2(vec2(HxTileSize, HxTileSize));
					    u_xlatb17.xy = greaterThanEqual(u_xlat0.xyxx, (-u_xlat0.xyxx)).xy;
					    u_xlat0.xy = fract(abs(u_xlat0.xy));
					    {
					        vec2 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb17.x) ? u_xlat0.x : (-u_xlat0.x);
					        hlslcc_movcTemp.y = (u_xlatb17.y) ? u_xlat0.y : (-u_xlat0.y);
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(vec2(HxTileSize, HxTileSize));
					    u_xlat0.xy = u_xlat0.xy / vec2(vec2(HxTileSize, HxTileSize));
					    u_xlat5 = textureLod(Tile5x5, u_xlat0.xy, 0.0);
					    u_xlat0.x = u_xlat5.x + hxRayOffset;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat13.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = (-u_xlat13.xxx) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat13.x = dot(_SpotLightParams.xyz, u_xlat1.xyz);
					    u_xlatb26 = 0.99000001<u_xlat26;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat17.x = (-Phase2.w) * u_xlat13.x + Phase2.z;
					    u_xlat17.x = log2(u_xlat17.x);
					    u_xlat17.x = u_xlat17.x * 1.5;
					    u_xlat17.x = exp2(u_xlat17.x);
					    u_xlat17.x = max(u_xlat17.x, 9.99999975e-05);
					    u_xlat17.x = Phase2.y / u_xlat17.x;
					    u_xlat17.x = u_xlat17.x * Phase2.x;
					    u_xlat17.x = u_xlat17.x * SunSize.x;
					    u_xlat26 = max(u_xlat26, SunSize.y);
					    u_xlat26 = u_xlat26 * u_xlat17.x;
					    u_xlat26 = min(u_xlat26, 100.0);
					    u_xlat17.x = (-Phase.w) * u_xlat13.x + Phase.z;
					    u_xlat17.x = log2(u_xlat17.x);
					    u_xlat17.x = u_xlat17.x * 1.5;
					    u_xlat17.x = exp2(u_xlat17.x);
					    u_xlat17.x = Phase.y / u_xlat17.x;
					    u_xlat17.x = u_xlat17.x * Phase.x;
					    u_xlat26 = max(u_xlat26, u_xlat17.x);
					    u_xlat13.x = u_xlat13.x + 1.0;
					    u_xlat13.x = u_xlat13.x * TintPercent;
					    u_xlat13.x = u_xlat13.x * 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat17.xyz = vec3(LightColour.x, LightColour.y, LightColour.z) + (-LightColour2.xyz);
					    u_xlat17.xyz = u_xlat13.xxx * u_xlat17.xyz + LightColour2.xyz;
					    u_xlat5.xyz = u_xlat2.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat13.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat13.x = sqrt(u_xlat13.x);
					    u_xlat5.z = 0.0;
					    u_xlat6.xyz = u_xlat2.xyz;
					    u_xlat44 = 0.0;
					    u_xlat45 = 0.0;
					    u_xlat20 = u_xlat13.x;
					    u_xlat7 = float(0.0);
					    for(int u_xlati_loop_1 = int(0) ; u_xlati_loop_1<u_xlati42 ; u_xlati_loop_1++)
					    {
					        u_xlatb8 = greaterThanEqual(vec4(u_xlat20), _LightSplitsNear);
					        u_xlat8.x = u_xlatb8.x ? float(1.0) : 0.0;
					        u_xlat8.y = u_xlatb8.y ? float(1.0) : 0.0;
					        u_xlat8.z = u_xlatb8.z ? float(1.0) : 0.0;
					        u_xlat8.w = u_xlatb8.w ? float(1.0) : 0.0;
					;
					        u_xlatb9 = lessThan(vec4(u_xlat20), _LightSplitsFar);
					        u_xlat9.x = u_xlatb9.x ? float(1.0) : 0.0;
					        u_xlat9.y = u_xlatb9.y ? float(1.0) : 0.0;
					        u_xlat9.z = u_xlatb9.z ? float(1.0) : 0.0;
					        u_xlat9.w = u_xlatb9.w ? float(1.0) : 0.0;
					;
					        u_xlat10 = u_xlat8 * u_xlat9;
					        u_xlat46 = u_xlat10.y + u_xlat10.x;
					        u_xlat46 = u_xlat8.z * u_xlat9.z + u_xlat46;
					        u_xlat46 = u_xlat8.w * u_xlat9.w + u_xlat46;
					        u_xlatb46 = 0.0<u_xlat46;
					        u_xlat8.xyz = u_xlat6.yyy * unity_WorldToShadow[1 / 4][1 % 4].xyz;
					        u_xlat8.xyz = unity_WorldToShadow[0 / 4][0 % 4].xyz * u_xlat6.xxx + u_xlat8.xyz;
					        u_xlat8.xyz = unity_WorldToShadow[2 / 4][2 % 4].xyz * u_xlat6.zzz + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_WorldToShadow[3 / 4][3 % 4].xyz;
					        u_xlat9.xyz = u_xlat6.yyy * unity_WorldToShadow[5 / 4][5 % 4].xyz;
					        u_xlat9.xyz = unity_WorldToShadow[4 / 4][4 % 4].xyz * u_xlat6.xxx + u_xlat9.xyz;
					        u_xlat9.xyz = unity_WorldToShadow[6 / 4][6 % 4].xyz * u_xlat6.zzz + u_xlat9.xyz;
					        u_xlat9.xyz = u_xlat9.xyz + unity_WorldToShadow[7 / 4][7 % 4].xyz;
					        u_xlat11.xyz = u_xlat6.yyy * unity_WorldToShadow[9 / 4][9 % 4].xyz;
					        u_xlat11.xyz = unity_WorldToShadow[8 / 4][8 % 4].xyz * u_xlat6.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_WorldToShadow[10 / 4][10 % 4].xyz * u_xlat6.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_WorldToShadow[11 / 4][11 % 4].xyz;
					        u_xlat12.xyz = u_xlat6.yyy * unity_WorldToShadow[13 / 4][13 % 4].xyz;
					        u_xlat12.xyz = unity_WorldToShadow[12 / 4][12 % 4].xyz * u_xlat6.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_WorldToShadow[14 / 4][14 % 4].xyz * u_xlat6.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_WorldToShadow[15 / 4][15 % 4].xyz;
					        u_xlat9.xyz = u_xlat10.yyy * u_xlat9.xyz;
					        u_xlat8.xyz = u_xlat8.xyz * u_xlat10.xxx + u_xlat9.xyz;
					        u_xlat8.xyz = u_xlat11.xyz * u_xlat10.zzz + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat12.xyz * u_xlat10.www + u_xlat8.xyz;
					        vec3 txVec0 = vec3(u_xlat8.xy,u_xlat8.z);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat46 = (u_xlatb46) ? u_xlat8.x : 1.0;
					        u_xlat8.x = Density.x;
					        u_xlat8.y = float(0.0);
					        u_xlat8.z = float(0.0);
					        u_xlati47 = int(0);
					        while(true){
					            u_xlatb9.x = floatBitsToInt(u_xlat8.z)>=10;
					            u_xlati47 = 0;
					            if(u_xlatb9.x){break;}
					            u_xlatb9.x = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					            if(u_xlatb9.x){
					                u_xlat8.xy = u_xlat8.xx;
					                u_xlati47 = int(0xFFFFFFFFu);
					                break;
					            }
					            u_xlati22 = floatBitsToInt(u_xlat8.z) << 2;
					            u_xlat10.xyz = u_xlat6.yyy * hxVolumeMatrixOld[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].xyz;
					            u_xlat10.xyz = hxVolumeMatrixOld[u_xlati22 / 4][u_xlati22 % 4].xyz * u_xlat6.xxx + u_xlat10.xyz;
					            u_xlat10.xyz = hxVolumeMatrixOld[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].xyz * u_xlat6.zzz + u_xlat10.xyz;
					            u_xlat22.xyz = u_xlat10.xyz + hxVolumeMatrixOld[(u_xlati22 + 3) / 4][(u_xlati22 + 3) % 4].xyz;
					            u_xlatb10.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat22.xyzx).xyz;
					            u_xlatb11.xyz = lessThan(u_xlat22.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					            u_xlatb10.x = u_xlatb10.x && u_xlatb11.x;
					            u_xlatb10.x = u_xlatb10.y && u_xlatb10.x;
					            u_xlatb10.x = u_xlatb11.y && u_xlatb10.x;
					            u_xlatb10.x = u_xlatb10.z && u_xlatb10.x;
					            u_xlatb10.x = u_xlatb11.z && u_xlatb10.x;
					            if(u_xlatb10.x){
					                u_xlatb10.x = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                if(u_xlatb10.x){
					                    u_xlat10.x = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                    u_xlat23 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                    u_xlat36 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                    u_xlatb11 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                    u_xlat49 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                    u_xlat49 = (u_xlatb11.w) ? u_xlat49 : u_xlat8.x;
					                    u_xlat36 = (u_xlatb11.z) ? u_xlat36 : u_xlat49;
					                    u_xlat23 = (u_xlatb11.y) ? u_xlat23 : u_xlat36;
					                    u_xlat5.x = (u_xlatb11.x) ? u_xlat10.x : u_xlat23;
					                } else {
					                    u_xlatb10.x = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                    u_xlat35 = dot(u_xlat22.xyz, u_xlat22.xyz);
					                    u_xlat35 = sqrt(u_xlat35);
					                    u_xlatb35 = u_xlat35<0.5;
					                    u_xlatb35 = u_xlatb35 && u_xlatb10.x;
					                    if(u_xlatb35){
					                        u_xlat35 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat10.x = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                        u_xlat23 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlatb11 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                        u_xlat36 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat36 = (u_xlatb11.w) ? u_xlat36 : u_xlat8.x;
					                        u_xlat23 = (u_xlatb11.z) ? u_xlat23 : u_xlat36;
					                        u_xlat10.x = (u_xlatb11.y) ? u_xlat10.x : u_xlat23;
					                        u_xlat5.x = (u_xlatb11.x) ? u_xlat35 : u_xlat10.x;
					                    } else {
					                        u_xlatb35 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                        u_xlat22.x = dot(u_xlat22.xz, u_xlat22.xz);
					                        u_xlat22.x = sqrt(u_xlat22.x);
					                        u_xlatb22 = u_xlat22.x<0.5;
					                        u_xlatb22 = u_xlatb22 && u_xlatb35;
					                        u_xlat35 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat48 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                        u_xlat10.x = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlatb11 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                        u_xlat23 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat23 = (u_xlatb11.w) ? u_xlat23 : u_xlat8.x;
					                        u_xlat10.x = (u_xlatb11.z) ? u_xlat10.x : u_xlat23;
					                        u_xlat48 = (u_xlatb11.y) ? u_xlat48 : u_xlat10.x;
					                        u_xlat35 = (u_xlatb11.x) ? u_xlat35 : u_xlat48;
					                        u_xlat5.x = (u_xlatb22) ? u_xlat35 : u_xlat8.x;
					                    }
					                }
					            } else {
					                u_xlat5.x = u_xlat8.x;
					            }
					            u_xlat5.y = intBitsToFloat(floatBitsToInt(u_xlat8.z) + 1);
					            u_xlat8.xyz = u_xlat5.xzy;
					            u_xlatb47 = u_xlatb9.x;
					        }
					        u_xlat5.x = (u_xlati47 != 0) ? u_xlat8.y : u_xlat8.x;
					        u_xlat18 = u_xlat5.x * Density.w;
					        u_xlat7 = u_xlat18 * u_xlat4 + u_xlat7;
					        u_xlat18 = u_xlat7 * -1.44269502;
					        u_xlat18 = exp2(u_xlat18);
					        u_xlat5.x = u_xlat4 * u_xlat5.x;
					        u_xlat5.x = u_xlat18 * u_xlat5.x;
					        u_xlat18 = (-u_xlat46) + 1.0;
					        u_xlat18 = u_xlat18 * ShadowBias.z;
					        u_xlat18 = u_xlat46 * u_xlat26 + u_xlat18;
					        u_xlat18 = u_xlat5.x * u_xlat18;
					        u_xlat18 = max(u_xlat18, 0.0);
					        u_xlat44 = u_xlat18 + u_xlat44;
					        u_xlat45 = u_xlat5.x * 0.0795800015 + u_xlat45;
					        u_xlat6.xyz = (-u_xlat1.xyz) * vec3(u_xlat4) + u_xlat6.xyz;
					        u_xlat20 = u_xlat4 + u_xlat20;
					    }
					    u_xlatb13 = 0.0<u_xlat39;
					    if(u_xlatb13){
					        u_xlat13.x = u_xlat40 + u_xlat4;
					        u_xlat2.xyz = (-u_xlat1.xyz) * u_xlat13.xxx + _WorldSpaceCameraPos.xyz;
					        u_xlat13.x = u_xlat39 / u_xlat41;
					        u_xlat0.x = u_xlat0.x * u_xlat13.x;
					        u_xlat2.xyz = (-u_xlat0.xxx) * u_xlat1.xyz + u_xlat2.xyz;
					        u_xlat5.z = 0.0;
					        u_xlat6.xyz = u_xlat2.xyz;
					        u_xlat0.x = u_xlat44;
					        u_xlat39 = u_xlat45;
					        u_xlat40 = u_xlat7;
					        for(int u_xlati_loop_2 = 0 ; u_xlati_loop_2<u_xlati42 ; u_xlati_loop_2++)
					        {
					            u_xlat8.x = Density.x;
					            u_xlat8.y = float(0.0);
					            u_xlat8.z = float(0.0);
					            u_xlati4 = 0;
					            while(true){
					                u_xlatb20 = floatBitsToInt(u_xlat8.z)>=10;
					                u_xlati4 = 0;
					                if(u_xlatb20){break;}
					                u_xlatb20 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                if(u_xlatb20){
					                    u_xlat8.xy = u_xlat8.xx;
					                    u_xlati4 = int(0xFFFFFFFFu);
					                    break;
					                }
					                u_xlati33 = floatBitsToInt(u_xlat8.z) << 2;
					                u_xlat9.xyz = u_xlat6.yyy * hxVolumeMatrixOld[(u_xlati33 + 1) / 4][(u_xlati33 + 1) % 4].xyz;
					                u_xlat9.xyz = hxVolumeMatrixOld[u_xlati33 / 4][u_xlati33 % 4].xyz * u_xlat6.xxx + u_xlat9.xyz;
					                u_xlat9.xyz = hxVolumeMatrixOld[(u_xlati33 + 2) / 4][(u_xlati33 + 2) % 4].xyz * u_xlat6.zzz + u_xlat9.xyz;
					                u_xlat9.xyz = u_xlat9.xyz + hxVolumeMatrixOld[(u_xlati33 + 3) / 4][(u_xlati33 + 3) % 4].xyz;
					                u_xlatb10.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat9.xyzx).xyz;
					                u_xlatb11.xyz = lessThan(u_xlat9.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					                u_xlatb33 = u_xlatb10.x && u_xlatb11.x;
					                u_xlatb33 = u_xlatb10.y && u_xlatb33;
					                u_xlatb33 = u_xlatb11.y && u_xlatb33;
					                u_xlatb33 = u_xlatb10.z && u_xlatb33;
					                u_xlatb33 = u_xlatb11.z && u_xlatb33;
					                if(u_xlatb33){
					                    u_xlatb33 = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                    if(u_xlatb33){
					                        u_xlat33 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat46 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                        u_xlat47 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlatb10 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                        u_xlat48 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat48 = (u_xlatb10.w) ? u_xlat48 : u_xlat8.x;
					                        u_xlat47 = (u_xlatb10.z) ? u_xlat47 : u_xlat48;
					                        u_xlat46 = (u_xlatb10.y) ? u_xlat46 : u_xlat47;
					                        u_xlat5.x = (u_xlatb10.x) ? u_xlat33 : u_xlat46;
					                    } else {
					                        u_xlatb33 = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                        u_xlat46 = dot(u_xlat9.xyz, u_xlat9.xyz);
					                        u_xlat46 = sqrt(u_xlat46);
					                        u_xlatb46 = u_xlat46<0.5;
					                        u_xlatb33 = u_xlatb46 && u_xlatb33;
					                        if(u_xlatb33){
					                            u_xlat33 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat46 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                            u_xlat47 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlatb10 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                            u_xlat22.x = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat22.x = (u_xlatb10.w) ? u_xlat22.x : u_xlat8.x;
					                            u_xlat47 = (u_xlatb10.z) ? u_xlat47 : u_xlat22.x;
					                            u_xlat46 = (u_xlatb10.y) ? u_xlat46 : u_xlat47;
					                            u_xlat5.x = (u_xlatb10.x) ? u_xlat33 : u_xlat46;
					                        } else {
					                            u_xlatb33 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                            u_xlat46 = dot(u_xlat9.xz, u_xlat9.xz);
					                            u_xlat46 = sqrt(u_xlat46);
					                            u_xlatb46 = u_xlat46<0.5;
					                            u_xlatb33 = u_xlatb46 && u_xlatb33;
					                            u_xlat46 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat47 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                            u_xlat9.x = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlatb10 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                            u_xlat22.x = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat22.x = (u_xlatb10.w) ? u_xlat22.x : u_xlat8.x;
					                            u_xlat9.x = (u_xlatb10.z) ? u_xlat9.x : u_xlat22.x;
					                            u_xlat47 = (u_xlatb10.y) ? u_xlat47 : u_xlat9.x;
					                            u_xlat46 = (u_xlatb10.x) ? u_xlat46 : u_xlat47;
					                            u_xlat5.x = (u_xlatb33) ? u_xlat46 : u_xlat8.x;
					                        }
					                    }
					                } else {
					                    u_xlat5.x = u_xlat8.x;
					                }
					                u_xlat5.y = intBitsToFloat(floatBitsToInt(u_xlat8.z) + 1);
					                u_xlat8.xyz = u_xlat5.xzy;
					                u_xlatb4 = u_xlatb20;
					            }
					            u_xlat5.x = (u_xlati4 != 0) ? u_xlat8.y : u_xlat8.x;
					            u_xlat18 = u_xlat5.x * Density.w;
					            u_xlat40 = u_xlat18 * u_xlat13.x + u_xlat40;
					            u_xlat18 = u_xlat40 * -1.44269502;
					            u_xlat18 = exp2(u_xlat18);
					            u_xlat5.x = u_xlat13.x * u_xlat5.x;
					            u_xlat5.x = u_xlat18 * u_xlat5.x;
					            u_xlat18 = u_xlat26 * u_xlat5.x;
					            u_xlat18 = max(u_xlat18, 0.0);
					            u_xlat0.x = u_xlat0.x + u_xlat18;
					            u_xlat6.xyz = (-u_xlat1.xyz) * u_xlat13.xxx + u_xlat6.xyz;
					            u_xlat39 = u_xlat5.x * 0.0795800015 + u_xlat39;
					        }
					        u_xlat44 = u_xlat0.x;
					        u_xlat45 = u_xlat39;
					        u_xlat7 = u_xlat40;
					    }
					    u_xlat0.x = u_xlat7 * -1.44269502;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat13.xyz = u_xlat3.xyz * vec3(u_xlat45);
					    u_xlat13.xyz = u_xlat13.xyz * vec3(FirstLight);
					    SV_Target0.xyz = u_xlat17.xyz * vec3(u_xlat44) + u_xlat13.xyz;
					    u_xlat13.x = (-ExtinctionEffect) + 1.0;
					    u_xlat26 = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat13.x * u_xlat26 + u_xlat0.x;
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    SV_Target0.w = u_xlat0.x * FirstLight;
					    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[14];
						vec4 Phase;
						vec4 Phase2;
						vec4 Density;
						vec4 unused_0_4;
						mat4x4 hxVolumeMatrixOld[10];
						vec4 unused_0_6[36];
						vec2 hxVolumeSettingsOld[10];
						vec4 unused_0_8[263];
						float hxRayOffset;
						float HxTileSize;
						mat4x4 InverseProjectionMatrix;
						mat4x4 InverseProjectionMatrix2;
						vec4 unused_0_13[14];
						mat4x4 hxCameraToWorld;
						mat4x4 hxCameraToWorld2;
						float FirstLight;
						vec4 unused_0_17[5];
						vec3 ShadowBias;
						vec4 unused_0_19[5];
						vec4 _SpotLightParams;
						vec3 CameraFoward;
						float VolumeScale;
						float ExtinctionEffect;
						vec3 LightColour;
						vec3 LightColour2;
						vec4 unused_0_26;
						float TintPercent;
						vec2 MaxRayDistance;
						float AmbientStrength;
						vec3 AmbientSkyColor;
						vec4 unused_0_31[2];
						vec2 SunSize;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 _ScreenParams;
						vec4 unused_1_3[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[6];
						vec4 _LightSplitsNear;
						vec4 _LightSplitsFar;
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_2_4[14];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D Tile5x5;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					int u_xlati4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bvec4 u_xlatb8;
					vec4 u_xlat9;
					bvec4 u_xlatb9;
					vec4 u_xlat10;
					bvec4 u_xlatb10;
					vec3 u_xlat11;
					bvec4 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					bool u_xlatb17;
					float u_xlat19;
					vec3 u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat27;
					vec2 u_xlat30;
					bvec2 u_xlatb30;
					bool u_xlatb34;
					float u_xlat36;
					float u_xlat39;
					int u_xlati39;
					bool u_xlatb39;
					float u_xlat40;
					float u_xlat41;
					int u_xlati41;
					float u_xlat42;
					int u_xlati42;
					bool u_xlatb42;
					float u_xlat44;
					float u_xlat45;
					int u_xlati45;
					bool u_xlatb45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					float u_xlat50;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / vs_TEXCOORD0.ww;
					    u_xlat1 = textureLod(VolumetricDepth, u_xlat0.xy, 0.0).xwyz;
					    u_xlat26 = dot(u_xlat1.xz, vec2(1.0, 0.00392156886));
					    u_xlatb39 = 0.5<u_xlat1.w;
					    u_xlat27 = u_xlat1.w + u_xlat1.w;
					    u_xlat1.x = fract(u_xlat27);
					    u_xlat1.xy = (-u_xlat1.xy) + vec2(1.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xyz = (bool(u_xlatb39)) ? InverseProjectionMatrix2[0].xyz : InverseProjectionMatrix[0].xyz;
					    u_xlat3.xyz = (bool(u_xlatb39)) ? InverseProjectionMatrix2[1].xyz : InverseProjectionMatrix[1].xyz;
					    u_xlat4.xyz = (bool(u_xlatb39)) ? InverseProjectionMatrix2[2].xyz : InverseProjectionMatrix[2].xyz;
					    u_xlat5.xyw = (bool(u_xlatb39)) ? InverseProjectionMatrix2[3].xyz : InverseProjectionMatrix[3].xyz;
					    u_xlat6.x = (u_xlatb39) ? InverseProjectionMatrix2[0].w : InverseProjectionMatrix[0].w;
					    u_xlat6.y = (u_xlatb39) ? InverseProjectionMatrix2[1].w : InverseProjectionMatrix[1].w;
					    u_xlat6.z = (u_xlatb39) ? InverseProjectionMatrix2[2].w : InverseProjectionMatrix[2].w;
					    u_xlat6.w = (u_xlatb39) ? InverseProjectionMatrix2[3].w : InverseProjectionMatrix[3].w;
					    u_xlat7.x = u_xlat2.x;
					    u_xlat7.y = u_xlat3.x;
					    u_xlat7.z = u_xlat4.x;
					    u_xlat7.w = u_xlat5.x;
					    u_xlat1.z = float(1.0);
					    u_xlat1.w = float(1.0);
					    u_xlat7.x = dot(u_xlat7, u_xlat1);
					    u_xlat8.x = u_xlat2.y;
					    u_xlat8.y = u_xlat3.y;
					    u_xlat8.z = u_xlat4.y;
					    u_xlat8.w = u_xlat5.y;
					    u_xlat7.y = dot(u_xlat8, u_xlat1);
					    u_xlat5.x = u_xlat2.z;
					    u_xlat5.y = u_xlat3.z;
					    u_xlat5.z = u_xlat4.z;
					    u_xlat7.z = dot(u_xlat5, u_xlat1);
					    u_xlat1.x = dot(u_xlat6, u_xlat1);
					    u_xlat1.xyz = u_xlat7.xyz / u_xlat1.xxx;
					    u_xlat2.xy = (bool(u_xlatb39)) ? hxCameraToWorld[0].xy : hxCameraToWorld2[0].xy;
					    u_xlat2.zw = (bool(u_xlatb39)) ? hxCameraToWorld[1].xy : hxCameraToWorld2[1].xy;
					    u_xlat3.xy = (bool(u_xlatb39)) ? hxCameraToWorld[2].xy : hxCameraToWorld2[2].xy;
					    u_xlat4.xw = (bool(u_xlatb39)) ? hxCameraToWorld[3].xy : hxCameraToWorld2[3].xy;
					    u_xlat5.x = (u_xlatb39) ? hxCameraToWorld[0].z : hxCameraToWorld2[0].z;
					    u_xlat5.y = (u_xlatb39) ? hxCameraToWorld[1].z : hxCameraToWorld2[1].z;
					    u_xlat5.z = (u_xlatb39) ? hxCameraToWorld[2].z : hxCameraToWorld2[2].z;
					    u_xlat5.w = (u_xlatb39) ? hxCameraToWorld[3].z : hxCameraToWorld2[3].z;
					    u_xlat39 = _ProjectionParams.z / u_xlat1.z;
					    u_xlat1.xyz = vec3(u_xlat39) * (-u_xlat1.xyz);
					    u_xlat1.xyz = vec3(u_xlat26) * u_xlat1.xyz;
					    u_xlat6.xy = u_xlat2.xz;
					    u_xlat6.z = u_xlat3.x;
					    u_xlat6.w = u_xlat4.x;
					    u_xlat1.w = 1.0;
					    u_xlat6.x = dot(u_xlat6, u_xlat1);
					    u_xlat4.xy = u_xlat2.yw;
					    u_xlat4.z = u_xlat3.y;
					    u_xlat6.y = dot(u_xlat4, u_xlat1);
					    u_xlat6.z = dot(u_xlat5, u_xlat1);
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat6.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat40 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat40 = inversesqrt(u_xlat40);
					    u_xlat1.xyz = vec3(u_xlat40) * u_xlat1.xyz;
					    u_xlat40 = dot(CameraFoward.xyz, (-u_xlat1.xyz));
					    u_xlat2.xyz = vec3(vec3(AmbientStrength, AmbientStrength, AmbientStrength)) * AmbientSkyColor.xyz;
					    u_xlat40 = _ProjectionParams.y / u_xlat40;
					    u_xlat1.xyz = (-u_xlat1.xyz) * vec3(u_xlat40) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat3.xyz = _SpotLightParams.xyz * ShadowBias.xxx + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat1.xyz + (-u_xlat3.xyz);
					    u_xlat40 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat40 = sqrt(u_xlat40);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat40);
					    u_xlat40 = min(u_xlat40, MaxRayDistance.xxyx.z);
					    u_xlat41 = min(u_xlat40, MaxRayDistance.xxyx.y);
					    u_xlat40 = u_xlat40 + (-u_xlat41);
					    u_xlat42 = min(Density.y, 128.0);
					    u_xlati4 = int(u_xlat42);
					    u_xlat42 = trunc(u_xlat42);
					    u_xlat17 = u_xlat41 / u_xlat42;
					    u_xlat30.xy = vec2(vec2(VolumeScale, VolumeScale)) * _ScreenParams.xy;
					    u_xlat0.xy = u_xlat0.xy * u_xlat30.xy;
					    u_xlat0.xy = u_xlat0.xy / vec2(vec2(HxTileSize, HxTileSize));
					    u_xlatb30.xy = greaterThanEqual(u_xlat0.xyxy, (-u_xlat0.xyxy)).xy;
					    u_xlat0.xy = fract(abs(u_xlat0.xy));
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb30.x) ? u_xlat0.x : (-u_xlat0.x);
					        hlslcc_movcTemp.y = (u_xlatb30.y) ? u_xlat0.y : (-u_xlat0.y);
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(vec2(HxTileSize, HxTileSize));
					    u_xlat0.xy = u_xlat0.xy / vec2(vec2(HxTileSize, HxTileSize));
					    u_xlat5 = textureLod(Tile5x5, u_xlat0.xy, 0.0);
					    u_xlat0.x = u_xlat5.x + hxRayOffset;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat13.x = u_xlat0.x * u_xlat17;
					    u_xlat1.xyz = (-u_xlat13.xxx) * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat13.x = dot(_SpotLightParams.xyz, u_xlat3.xyz);
					    u_xlatb26 = 0.99000001<u_xlat26;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat30.x = (-Phase2.w) * u_xlat13.x + Phase2.z;
					    u_xlat30.x = log2(u_xlat30.x);
					    u_xlat30.x = u_xlat30.x * 1.5;
					    u_xlat30.x = exp2(u_xlat30.x);
					    u_xlat30.x = max(u_xlat30.x, 9.99999975e-05);
					    u_xlat30.x = Phase2.y / u_xlat30.x;
					    u_xlat30.x = u_xlat30.x * Phase2.x;
					    u_xlat30.x = u_xlat30.x * SunSize.x;
					    u_xlat26 = max(u_xlat26, SunSize.y);
					    u_xlat26 = u_xlat26 * u_xlat30.x;
					    u_xlat26 = min(u_xlat26, 100.0);
					    u_xlat30.x = (-Phase.w) * u_xlat13.x + Phase.z;
					    u_xlat30.x = log2(u_xlat30.x);
					    u_xlat30.x = u_xlat30.x * 1.5;
					    u_xlat30.x = exp2(u_xlat30.x);
					    u_xlat30.x = Phase.y / u_xlat30.x;
					    u_xlat30.x = u_xlat30.x * Phase.x;
					    u_xlat26 = max(u_xlat26, u_xlat30.x);
					    u_xlat13.x = u_xlat13.x + 1.0;
					    u_xlat13.x = u_xlat13.x * TintPercent;
					    u_xlat13.x = u_xlat13.x * 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat5.xyz = vec3(LightColour.x, LightColour.y, LightColour.z) + (-LightColour2.xyz);
					    u_xlat5.xyz = u_xlat13.xxx * u_xlat5.xyz + LightColour2.xyz;
					    u_xlat6.xyz = u_xlat1.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati39].xyz);
					    u_xlat13.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat13.x = sqrt(u_xlat13.x);
					    u_xlat6.z = 0.0;
					    u_xlat7.xyz = u_xlat1.xyz;
					    u_xlat30.x = float(0.0);
					    u_xlat30.y = float(0.0);
					    u_xlat44 = 0.0;
					    u_xlat45 = u_xlat13.x;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati4 ; u_xlati_loop_1++)
					    {
					        u_xlatb8 = greaterThanEqual(vec4(u_xlat45), _LightSplitsNear);
					        u_xlat8.x = u_xlatb8.x ? float(1.0) : 0.0;
					        u_xlat8.y = u_xlatb8.y ? float(1.0) : 0.0;
					        u_xlat8.z = u_xlatb8.z ? float(1.0) : 0.0;
					        u_xlat8.w = u_xlatb8.w ? float(1.0) : 0.0;
					;
					        u_xlatb9 = lessThan(vec4(u_xlat45), _LightSplitsFar);
					        u_xlat9.x = u_xlatb9.x ? float(1.0) : 0.0;
					        u_xlat9.y = u_xlatb9.y ? float(1.0) : 0.0;
					        u_xlat9.z = u_xlatb9.z ? float(1.0) : 0.0;
					        u_xlat9.w = u_xlatb9.w ? float(1.0) : 0.0;
					;
					        u_xlat10 = u_xlat8 * u_xlat9;
					        u_xlat8.x = u_xlat10.y + u_xlat10.x;
					        u_xlat8.x = u_xlat8.z * u_xlat9.z + u_xlat8.x;
					        u_xlat8.x = u_xlat8.w * u_xlat9.w + u_xlat8.x;
					        u_xlatb8.x = 0.0<u_xlat8.x;
					        u_xlat21.xyz = u_xlat7.yyy * unity_WorldToShadow[1 / 4][1 % 4].xyz;
					        u_xlat21.xyz = unity_WorldToShadow[0 / 4][0 % 4].xyz * u_xlat7.xxx + u_xlat21.xyz;
					        u_xlat21.xyz = unity_WorldToShadow[2 / 4][2 % 4].xyz * u_xlat7.zzz + u_xlat21.xyz;
					        u_xlat21.xyz = u_xlat21.xyz + unity_WorldToShadow[3 / 4][3 % 4].xyz;
					        u_xlat9.xyz = u_xlat7.yyy * unity_WorldToShadow[5 / 4][5 % 4].xyz;
					        u_xlat9.xyz = unity_WorldToShadow[4 / 4][4 % 4].xyz * u_xlat7.xxx + u_xlat9.xyz;
					        u_xlat9.xyz = unity_WorldToShadow[6 / 4][6 % 4].xyz * u_xlat7.zzz + u_xlat9.xyz;
					        u_xlat9.xyz = u_xlat9.xyz + unity_WorldToShadow[7 / 4][7 % 4].xyz;
					        u_xlat11.xyz = u_xlat7.yyy * unity_WorldToShadow[9 / 4][9 % 4].xyz;
					        u_xlat11.xyz = unity_WorldToShadow[8 / 4][8 % 4].xyz * u_xlat7.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_WorldToShadow[10 / 4][10 % 4].xyz * u_xlat7.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_WorldToShadow[11 / 4][11 % 4].xyz;
					        u_xlat12.xyz = u_xlat7.yyy * unity_WorldToShadow[13 / 4][13 % 4].xyz;
					        u_xlat12.xyz = unity_WorldToShadow[12 / 4][12 % 4].xyz * u_xlat7.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_WorldToShadow[14 / 4][14 % 4].xyz * u_xlat7.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_WorldToShadow[15 / 4][15 % 4].xyz;
					        u_xlat9.xyz = u_xlat10.yyy * u_xlat9.xyz;
					        u_xlat21.xyz = u_xlat21.xyz * u_xlat10.xxx + u_xlat9.xyz;
					        u_xlat21.xyz = u_xlat11.xyz * u_xlat10.zzz + u_xlat21.xyz;
					        u_xlat21.xyz = u_xlat12.xyz * u_xlat10.www + u_xlat21.xyz;
					        vec3 txVec0 = vec3(u_xlat21.xy,u_xlat21.z);
					        u_xlat21.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat8.x = (u_xlatb8.x) ? u_xlat21.x : 1.0;
					        u_xlat9.x = Density.x;
					        u_xlat9.y = float(0.0);
					        u_xlat9.z = float(0.0);
					        u_xlati21 = 0;
					        while(true){
					            u_xlatb34 = floatBitsToInt(u_xlat9.z)>=10;
					            u_xlati21 = 0;
					            if(u_xlatb34){break;}
					            u_xlatb34 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].y;
					            if(u_xlatb34){
					                u_xlat9.xy = u_xlat9.xx;
					                u_xlati21 = int(0xFFFFFFFFu);
					                break;
					            }
					            u_xlati47 = floatBitsToInt(u_xlat9.z) << 2;
					            u_xlat10.xyz = u_xlat7.yyy * hxVolumeMatrixOld[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].xyz;
					            u_xlat10.xyz = hxVolumeMatrixOld[u_xlati47 / 4][u_xlati47 % 4].xyz * u_xlat7.xxx + u_xlat10.xyz;
					            u_xlat10.xyz = hxVolumeMatrixOld[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].xyz * u_xlat7.zzz + u_xlat10.xyz;
					            u_xlat10.xyz = u_xlat10.xyz + hxVolumeMatrixOld[(u_xlati47 + 3) / 4][(u_xlati47 + 3) % 4].xyz;
					            u_xlatb11.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat10.xyzx).xyz;
					            u_xlatb12.xyz = lessThan(u_xlat10.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					            u_xlatb47 = u_xlatb11.x && u_xlatb12.x;
					            u_xlatb47 = u_xlatb11.y && u_xlatb47;
					            u_xlatb47 = u_xlatb12.y && u_xlatb47;
					            u_xlatb47 = u_xlatb11.z && u_xlatb47;
					            u_xlatb47 = u_xlatb12.z && u_xlatb47;
					            if(u_xlatb47){
					                u_xlatb47 = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].y;
					                if(u_xlatb47){
					                    u_xlat47 = max(u_xlat9.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                    u_xlat48 = u_xlat9.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x;
					                    u_xlat49 = min(u_xlat9.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                    u_xlatb11 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].yyyy);
					                    u_xlat12.x = u_xlat9.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                    u_xlat50 = (u_xlatb11.w) ? u_xlat12.x : u_xlat9.x;
					                    u_xlat49 = (u_xlatb11.z) ? u_xlat49 : u_xlat50;
					                    u_xlat48 = (u_xlatb11.y) ? u_xlat48 : u_xlat49;
					                    u_xlat6.x = (u_xlatb11.x) ? u_xlat47 : u_xlat48;
					                } else {
					                    u_xlatb47 = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].y;
					                    u_xlat48 = dot(u_xlat10.xyz, u_xlat10.xyz);
					                    u_xlat48 = sqrt(u_xlat48);
					                    u_xlatb48 = u_xlat48<0.5;
					                    u_xlatb47 = u_xlatb47 && u_xlatb48;
					                    if(u_xlatb47){
					                        u_xlat47 = max(u_xlat9.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                        u_xlat48 = u_xlat9.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x;
					                        u_xlat23 = min(u_xlat9.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                        u_xlatb11 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].yyyy);
					                        u_xlat49 = u_xlat9.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                        u_xlat49 = (u_xlatb11.w) ? u_xlat49 : u_xlat9.x;
					                        u_xlat23 = (u_xlatb11.z) ? u_xlat23 : u_xlat49;
					                        u_xlat48 = (u_xlatb11.y) ? u_xlat48 : u_xlat23;
					                        u_xlat6.x = (u_xlatb11.x) ? u_xlat47 : u_xlat48;
					                    } else {
					                        u_xlatb47 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].y;
					                        u_xlat48 = dot(u_xlat10.xz, u_xlat10.xz);
					                        u_xlat48 = sqrt(u_xlat48);
					                        u_xlatb48 = u_xlat48<0.5;
					                        u_xlatb47 = u_xlatb47 && u_xlatb48;
					                        u_xlat48 = max(u_xlat9.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                        u_xlat10.x = u_xlat9.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x;
					                        u_xlat23 = min(u_xlat9.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                        u_xlatb11 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].yyyy);
					                        u_xlat36 = u_xlat9.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                        u_xlat36 = (u_xlatb11.w) ? u_xlat36 : u_xlat9.x;
					                        u_xlat23 = (u_xlatb11.z) ? u_xlat23 : u_xlat36;
					                        u_xlat10.x = (u_xlatb11.y) ? u_xlat10.x : u_xlat23;
					                        u_xlat48 = (u_xlatb11.x) ? u_xlat48 : u_xlat10.x;
					                        u_xlat6.x = (u_xlatb47) ? u_xlat48 : u_xlat9.x;
					                    }
					                }
					            } else {
					                u_xlat6.x = u_xlat9.x;
					            }
					            u_xlat6.y = intBitsToFloat(floatBitsToInt(u_xlat9.z) + 1);
					            u_xlat9.xyz = u_xlat6.xzy;
					            u_xlatb21 = u_xlatb34;
					        }
					        u_xlat6.x = (u_xlati21 != 0) ? u_xlat9.y : u_xlat9.x;
					        u_xlat19 = u_xlat6.x * Density.w;
					        u_xlat44 = u_xlat19 * u_xlat17 + u_xlat44;
					        u_xlat19 = u_xlat44 * -1.44269502;
					        u_xlat19 = exp2(u_xlat19);
					        u_xlat6.x = u_xlat17 * u_xlat6.x;
					        u_xlat6.x = u_xlat19 * u_xlat6.x;
					        u_xlat19 = (-u_xlat8.x) + 1.0;
					        u_xlat19 = u_xlat19 * ShadowBias.z;
					        u_xlat19 = u_xlat8.x * u_xlat26 + u_xlat19;
					        u_xlat19 = u_xlat6.x * u_xlat19;
					        u_xlat19 = max(u_xlat19, 0.0);
					        u_xlat30.x = u_xlat30.x + u_xlat19;
					        u_xlat30.y = u_xlat6.x * 0.0795800015 + u_xlat30.y;
					        u_xlat7.xyz = (-u_xlat3.xyz) * vec3(u_xlat17) + u_xlat7.xyz;
					        u_xlat45 = u_xlat17 + u_xlat45;
					    }
					    u_xlatb13 = 0.0<u_xlat40;
					    if(u_xlatb13){
					        u_xlat13.x = u_xlat41 + u_xlat17;
					        u_xlat1.xyz = (-u_xlat3.xyz) * u_xlat13.xxx + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					        u_xlat13.x = u_xlat40 / u_xlat42;
					        u_xlat0.x = u_xlat0.x * u_xlat13.x;
					        u_xlat1.xyz = (-u_xlat0.xxx) * u_xlat3.xyz + u_xlat1.xyz;
					        u_xlat6.z = 0.0;
					        u_xlat7.xyz = u_xlat1.xyz;
					        u_xlat0.xw = u_xlat30.xy;
					        u_xlat40 = u_xlat44;
					        for(int u_xlati_loop_2 = 0 ; u_xlati_loop_2<u_xlati4 ; u_xlati_loop_2++)
					        {
					            u_xlat8.x = Density.x;
					            u_xlat8.y = float(0.0);
					            u_xlat8.z = float(0.0);
					            u_xlati42 = 0;
					            while(true){
					                u_xlatb17 = floatBitsToInt(u_xlat8.z)>=10;
					                u_xlati42 = 0;
					                if(u_xlatb17){break;}
					                u_xlatb17 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                if(u_xlatb17){
					                    u_xlat8.xy = u_xlat8.xx;
					                    u_xlati42 = int(0xFFFFFFFFu);
					                    break;
					                }
					                u_xlati45 = floatBitsToInt(u_xlat8.z) << 2;
					                u_xlat9.xyz = u_xlat7.yyy * hxVolumeMatrixOld[(u_xlati45 + 1) / 4][(u_xlati45 + 1) % 4].xyz;
					                u_xlat9.xyz = hxVolumeMatrixOld[u_xlati45 / 4][u_xlati45 % 4].xyz * u_xlat7.xxx + u_xlat9.xyz;
					                u_xlat9.xyz = hxVolumeMatrixOld[(u_xlati45 + 2) / 4][(u_xlati45 + 2) % 4].xyz * u_xlat7.zzz + u_xlat9.xyz;
					                u_xlat9.xyz = u_xlat9.xyz + hxVolumeMatrixOld[(u_xlati45 + 3) / 4][(u_xlati45 + 3) % 4].xyz;
					                u_xlatb10.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat9.xyzx).xyz;
					                u_xlatb11.xyz = lessThan(u_xlat9.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					                u_xlatb45 = u_xlatb10.x && u_xlatb11.x;
					                u_xlatb45 = u_xlatb10.y && u_xlatb45;
					                u_xlatb45 = u_xlatb11.y && u_xlatb45;
					                u_xlatb45 = u_xlatb10.z && u_xlatb45;
					                u_xlatb45 = u_xlatb11.z && u_xlatb45;
					                if(u_xlatb45){
					                    u_xlatb45 = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                    if(u_xlatb45){
					                        u_xlat45 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat46 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                        u_xlat47 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlatb10 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                        u_xlat48 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat48 = (u_xlatb10.w) ? u_xlat48 : u_xlat8.x;
					                        u_xlat47 = (u_xlatb10.z) ? u_xlat47 : u_xlat48;
					                        u_xlat46 = (u_xlatb10.y) ? u_xlat46 : u_xlat47;
					                        u_xlat6.x = (u_xlatb10.x) ? u_xlat45 : u_xlat46;
					                    } else {
					                        u_xlatb45 = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                        u_xlat46 = dot(u_xlat9.xyz, u_xlat9.xyz);
					                        u_xlat46 = sqrt(u_xlat46);
					                        u_xlatb46 = u_xlat46<0.5;
					                        u_xlatb45 = u_xlatb45 && u_xlatb46;
					                        if(u_xlatb45){
					                            u_xlat45 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat46 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                            u_xlat47 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlatb10 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                            u_xlat22 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat22 = (u_xlatb10.w) ? u_xlat22 : u_xlat8.x;
					                            u_xlat47 = (u_xlatb10.z) ? u_xlat47 : u_xlat22;
					                            u_xlat46 = (u_xlatb10.y) ? u_xlat46 : u_xlat47;
					                            u_xlat6.x = (u_xlatb10.x) ? u_xlat45 : u_xlat46;
					                        } else {
					                            u_xlatb45 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                            u_xlat46 = dot(u_xlat9.xz, u_xlat9.xz);
					                            u_xlat46 = sqrt(u_xlat46);
					                            u_xlatb46 = u_xlat46<0.5;
					                            u_xlatb45 = u_xlatb45 && u_xlatb46;
					                            u_xlat46 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat47 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                            u_xlat9.x = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlatb10 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                            u_xlat22 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat22 = (u_xlatb10.w) ? u_xlat22 : u_xlat8.x;
					                            u_xlat9.x = (u_xlatb10.z) ? u_xlat9.x : u_xlat22;
					                            u_xlat47 = (u_xlatb10.y) ? u_xlat47 : u_xlat9.x;
					                            u_xlat46 = (u_xlatb10.x) ? u_xlat46 : u_xlat47;
					                            u_xlat6.x = (u_xlatb45) ? u_xlat46 : u_xlat8.x;
					                        }
					                    }
					                } else {
					                    u_xlat6.x = u_xlat8.x;
					                }
					                u_xlat6.y = intBitsToFloat(floatBitsToInt(u_xlat8.z) + 1);
					                u_xlat8.xyz = u_xlat6.xzy;
					                u_xlatb42 = u_xlatb17;
					            }
					            u_xlat17 = (u_xlati42 != 0) ? u_xlat8.y : u_xlat8.x;
					            u_xlat6.x = u_xlat17 * Density.w;
					            u_xlat40 = u_xlat6.x * u_xlat13.x + u_xlat40;
					            u_xlat6.x = u_xlat40 * -1.44269502;
					            u_xlat6.x = exp2(u_xlat6.x);
					            u_xlat17 = u_xlat13.x * u_xlat17;
					            u_xlat17 = u_xlat6.x * u_xlat17;
					            u_xlat6.x = u_xlat26 * u_xlat17;
					            u_xlat6.x = max(u_xlat6.x, 0.0);
					            u_xlat0.x = u_xlat0.x + u_xlat6.x;
					            u_xlat7.xyz = (-u_xlat3.xyz) * u_xlat13.xxx + u_xlat7.xyz;
					            u_xlat0.w = u_xlat17 * 0.0795800015 + u_xlat0.w;
					        }
					        u_xlat30.xy = u_xlat0.xw;
					        u_xlat44 = u_xlat40;
					    }
					    u_xlat0.x = u_xlat44 * -1.44269502;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat13.xyz = u_xlat2.xyz * u_xlat30.yyy;
					    u_xlat13.xyz = u_xlat13.xyz * vec3(FirstLight);
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat30.xxx + u_xlat13.xyz;
					    u_xlat13.x = (-ExtinctionEffect) + 1.0;
					    u_xlat26 = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat13.x * u_xlat26 + u_xlat0.x;
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    SV_Target0.w = u_xlat0.x * FirstLight;
					    return;
					}"
				}
			}
		}
		Pass {
			Tags { "IGNOREPROJECTOR" = "true" }
			Blend One One, One One
			ZTest Always
			ZWrite Off
			GpuProgramID 74849
			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 VGlobals {
						vec4 unused_0_0[331];
						mat4x4 VolumetricMVP;
						vec4 unused_0_2[40];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * VolumetricMVP[1];
					    u_xlat0 = VolumetricMVP[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = VolumetricMVP[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = VolumetricMVP[3] * in_POSITION0.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD0.zw = u_xlat0.zw;
					    vs_TEXCOORD0.xy = u_xlat1.zz + u_xlat1.xw;
					    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 VGlobals {
						vec4 unused_0_0[331];
						mat4x4 VolumetricMVP;
						vec4 unused_0_2[40];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					int u_xlati1;
					vec2 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * VolumetricMVP[1];
					    u_xlat0 = VolumetricMVP[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = VolumetricMVP[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = VolumetricMVP[3] * in_POSITION0.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat3.xy;
					    vs_TEXCOORD0.zw = u_xlat0.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[14];
						vec4 Phase;
						vec4 Phase2;
						vec4 Density;
						vec4 unused_0_4;
						mat4x4 hxVolumeMatrixOld[10];
						vec4 unused_0_6[36];
						vec2 hxVolumeSettingsOld[10];
						vec4 unused_0_8[263];
						float hxRayOffset;
						float HxTileSize;
						mat4x4 InverseProjectionMatrix;
						vec4 unused_0_12[26];
						float FirstLight;
						vec4 unused_0_14[5];
						vec3 ShadowBias;
						vec4 unused_0_16[5];
						vec4 _SpotLightParams;
						vec3 CameraFoward;
						float VolumeScale;
						float ExtinctionEffect;
						vec3 LightColour;
						vec3 LightColour2;
						vec4 unused_0_23;
						float TintPercent;
						vec2 MaxRayDistance;
						float AmbientStrength;
						vec3 AmbientSkyColor;
						vec3 AmbientEquatorColor;
						vec3 AmbientGroundColor;
						vec2 SunSize;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 _ScreenParams;
						vec4 unused_1_4[2];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[18];
						mat4x4 unity_CameraToWorld;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[6];
						vec4 _LightSplitsNear;
						vec4 _LightSplitsFar;
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_4[14];
					};
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D Tile5x5;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					vec4 u_xlat8;
					bvec4 u_xlatb8;
					vec4 u_xlat9;
					bvec4 u_xlatb9;
					vec4 u_xlat10;
					bvec4 u_xlatb10;
					vec3 u_xlat11;
					bvec4 u_xlatb11;
					vec3 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec3 u_xlat17;
					bvec2 u_xlatb17;
					float u_xlat18;
					float u_xlat20;
					bool u_xlatb20;
					vec3 u_xlat22;
					int u_xlati22;
					bool u_xlatb22;
					float u_xlat23;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					float u_xlat39;
					float u_xlat40;
					float u_xlat41;
					int u_xlati41;
					int u_xlati42;
					float u_xlat44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / vs_TEXCOORD0.ww;
					    u_xlat1 = textureLod(VolumetricDepth, u_xlat0.xy, 0.0);
					    u_xlat26 = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					    u_xlat1.xy = u_xlat1.zw * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2 = u_xlat1.yyyy * InverseProjectionMatrix[1];
					    u_xlat1 = InverseProjectionMatrix[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat1 = u_xlat1 + InverseProjectionMatrix[2];
					    u_xlat1 = u_xlat1 + InverseProjectionMatrix[3];
					    u_xlat1.xyz = u_xlat1.xyz / u_xlat1.www;
					    u_xlat39 = _ProjectionParams.z / u_xlat1.z;
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat26) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * unity_CameraToWorld[1].xyz;
					    u_xlat1.xyw = unity_CameraToWorld[0].xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat1.xyz = unity_CameraToWorld[2].xyz * u_xlat1.zzz + u_xlat1.xyw;
					    u_xlat1.xyz = u_xlat1.xyz + unity_CameraToWorld[3].xyz;
					    u_xlat2.xyz = (-u_xlat1.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz;
					    u_xlat39 = dot(CameraFoward.xyz, (-u_xlat2.xyz));
					    u_xlat40 = dot(u_xlat2.xz, u_xlat2.xz);
					    u_xlat40 = inversesqrt(u_xlat40);
					    u_xlat3.xy = vec2(u_xlat40) * u_xlat2.xz;
					    u_xlat40 = dot(u_xlat3.xy, u_xlat2.xz);
					    u_xlat40 = u_xlat40 + -0.699999988;
					    u_xlat40 = u_xlat40 * 3.33330011;
					    u_xlat41 = max((-u_xlat2.y), 0.0);
					    u_xlat3.x = max(u_xlat2.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xxx * AmbientGroundColor.xyz;
					    u_xlat3.xyz = vec3(u_xlat41) * AmbientSkyColor.xyz + u_xlat3.xyz;
					    u_xlat41 = u_xlat40 * u_xlat40;
					    u_xlat41 = u_xlat41 * u_xlat41;
					    u_xlat40 = u_xlat40 * u_xlat41;
					    u_xlat40 = max(u_xlat40, 0.0);
					    u_xlat3.xyz = vec3(u_xlat40) * AmbientEquatorColor.xyz + u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(vec3(AmbientStrength, AmbientStrength, AmbientStrength));
					    u_xlat39 = _ProjectionParams.y / u_xlat39;
					    u_xlat2.xyz = (-u_xlat2.xyz) * vec3(u_xlat39) + _WorldSpaceCameraPos.xyz;
					    u_xlat1.xyz = _SpotLightParams.xyz * ShadowBias.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = sqrt(u_xlat39);
					    u_xlat1.xyz = u_xlat1.xyz / vec3(u_xlat39);
					    u_xlat39 = min(u_xlat39, MaxRayDistance.xxyx.z);
					    u_xlat40 = min(u_xlat39, MaxRayDistance.xxyx.y);
					    u_xlat39 = u_xlat39 + (-u_xlat40);
					    u_xlat41 = min(Density.y, 128.0);
					    u_xlati42 = int(u_xlat41);
					    u_xlat41 = trunc(u_xlat41);
					    u_xlat4 = u_xlat40 / u_xlat41;
					    u_xlat17.xy = vec2(vec2(VolumeScale, VolumeScale)) * _ScreenParams.xy;
					    u_xlat0.xy = u_xlat0.xy * u_xlat17.xy;
					    u_xlat0.xy = u_xlat0.xy / vec2(vec2(HxTileSize, HxTileSize));
					    u_xlatb17.xy = greaterThanEqual(u_xlat0.xyxx, (-u_xlat0.xyxx)).xy;
					    u_xlat0.xy = fract(abs(u_xlat0.xy));
					    {
					        vec2 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb17.x) ? u_xlat0.x : (-u_xlat0.x);
					        hlslcc_movcTemp.y = (u_xlatb17.y) ? u_xlat0.y : (-u_xlat0.y);
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(vec2(HxTileSize, HxTileSize));
					    u_xlat0.xy = u_xlat0.xy / vec2(vec2(HxTileSize, HxTileSize));
					    u_xlat5 = textureLod(Tile5x5, u_xlat0.xy, 0.0);
					    u_xlat0.x = u_xlat5.x + hxRayOffset;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat13.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = (-u_xlat13.xxx) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat13.x = dot(_SpotLightParams.xyz, u_xlat1.xyz);
					    u_xlatb26 = 0.99000001<u_xlat26;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat17.x = (-Phase2.w) * u_xlat13.x + Phase2.z;
					    u_xlat17.x = log2(u_xlat17.x);
					    u_xlat17.x = u_xlat17.x * 1.5;
					    u_xlat17.x = exp2(u_xlat17.x);
					    u_xlat17.x = max(u_xlat17.x, 9.99999975e-05);
					    u_xlat17.x = Phase2.y / u_xlat17.x;
					    u_xlat17.x = u_xlat17.x * Phase2.x;
					    u_xlat17.x = u_xlat17.x * SunSize.x;
					    u_xlat26 = max(u_xlat26, SunSize.y);
					    u_xlat26 = u_xlat26 * u_xlat17.x;
					    u_xlat26 = min(u_xlat26, 100.0);
					    u_xlat17.x = (-Phase.w) * u_xlat13.x + Phase.z;
					    u_xlat17.x = log2(u_xlat17.x);
					    u_xlat17.x = u_xlat17.x * 1.5;
					    u_xlat17.x = exp2(u_xlat17.x);
					    u_xlat17.x = Phase.y / u_xlat17.x;
					    u_xlat17.x = u_xlat17.x * Phase.x;
					    u_xlat26 = max(u_xlat26, u_xlat17.x);
					    u_xlat13.x = u_xlat13.x + 1.0;
					    u_xlat13.x = u_xlat13.x * TintPercent;
					    u_xlat13.x = u_xlat13.x * 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat17.xyz = vec3(LightColour.x, LightColour.y, LightColour.z) + (-LightColour2.xyz);
					    u_xlat17.xyz = u_xlat13.xxx * u_xlat17.xyz + LightColour2.xyz;
					    u_xlat5.xyz = u_xlat2.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat13.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat13.x = sqrt(u_xlat13.x);
					    u_xlat5.z = 0.0;
					    u_xlat6.xyz = u_xlat2.xyz;
					    u_xlat44 = 0.0;
					    u_xlat45 = 0.0;
					    u_xlat20 = u_xlat13.x;
					    u_xlat7 = float(0.0);
					    for(int u_xlati_loop_1 = int(0) ; u_xlati_loop_1<u_xlati42 ; u_xlati_loop_1++)
					    {
					        u_xlatb8 = greaterThanEqual(vec4(u_xlat20), _LightSplitsNear);
					        u_xlat8.x = u_xlatb8.x ? float(1.0) : 0.0;
					        u_xlat8.y = u_xlatb8.y ? float(1.0) : 0.0;
					        u_xlat8.z = u_xlatb8.z ? float(1.0) : 0.0;
					        u_xlat8.w = u_xlatb8.w ? float(1.0) : 0.0;
					;
					        u_xlatb9 = lessThan(vec4(u_xlat20), _LightSplitsFar);
					        u_xlat9.x = u_xlatb9.x ? float(1.0) : 0.0;
					        u_xlat9.y = u_xlatb9.y ? float(1.0) : 0.0;
					        u_xlat9.z = u_xlatb9.z ? float(1.0) : 0.0;
					        u_xlat9.w = u_xlatb9.w ? float(1.0) : 0.0;
					;
					        u_xlat10 = u_xlat8 * u_xlat9;
					        u_xlat46 = u_xlat10.y + u_xlat10.x;
					        u_xlat46 = u_xlat8.z * u_xlat9.z + u_xlat46;
					        u_xlat46 = u_xlat8.w * u_xlat9.w + u_xlat46;
					        u_xlatb46 = 0.0<u_xlat46;
					        u_xlat8.xyz = u_xlat6.yyy * unity_WorldToShadow[1 / 4][1 % 4].xyz;
					        u_xlat8.xyz = unity_WorldToShadow[0 / 4][0 % 4].xyz * u_xlat6.xxx + u_xlat8.xyz;
					        u_xlat8.xyz = unity_WorldToShadow[2 / 4][2 % 4].xyz * u_xlat6.zzz + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_WorldToShadow[3 / 4][3 % 4].xyz;
					        u_xlat9.xyz = u_xlat6.yyy * unity_WorldToShadow[5 / 4][5 % 4].xyz;
					        u_xlat9.xyz = unity_WorldToShadow[4 / 4][4 % 4].xyz * u_xlat6.xxx + u_xlat9.xyz;
					        u_xlat9.xyz = unity_WorldToShadow[6 / 4][6 % 4].xyz * u_xlat6.zzz + u_xlat9.xyz;
					        u_xlat9.xyz = u_xlat9.xyz + unity_WorldToShadow[7 / 4][7 % 4].xyz;
					        u_xlat11.xyz = u_xlat6.yyy * unity_WorldToShadow[9 / 4][9 % 4].xyz;
					        u_xlat11.xyz = unity_WorldToShadow[8 / 4][8 % 4].xyz * u_xlat6.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_WorldToShadow[10 / 4][10 % 4].xyz * u_xlat6.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_WorldToShadow[11 / 4][11 % 4].xyz;
					        u_xlat12.xyz = u_xlat6.yyy * unity_WorldToShadow[13 / 4][13 % 4].xyz;
					        u_xlat12.xyz = unity_WorldToShadow[12 / 4][12 % 4].xyz * u_xlat6.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_WorldToShadow[14 / 4][14 % 4].xyz * u_xlat6.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_WorldToShadow[15 / 4][15 % 4].xyz;
					        u_xlat9.xyz = u_xlat10.yyy * u_xlat9.xyz;
					        u_xlat8.xyz = u_xlat8.xyz * u_xlat10.xxx + u_xlat9.xyz;
					        u_xlat8.xyz = u_xlat11.xyz * u_xlat10.zzz + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat12.xyz * u_xlat10.www + u_xlat8.xyz;
					        vec3 txVec0 = vec3(u_xlat8.xy,u_xlat8.z);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat46 = (u_xlatb46) ? u_xlat8.x : 1.0;
					        u_xlat8.x = Density.x;
					        u_xlat8.y = float(0.0);
					        u_xlat8.z = float(0.0);
					        u_xlati47 = int(0);
					        while(true){
					            u_xlatb9.x = floatBitsToInt(u_xlat8.z)>=10;
					            u_xlati47 = 0;
					            if(u_xlatb9.x){break;}
					            u_xlatb9.x = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					            if(u_xlatb9.x){
					                u_xlat8.xy = u_xlat8.xx;
					                u_xlati47 = int(0xFFFFFFFFu);
					                break;
					            }
					            u_xlati22 = floatBitsToInt(u_xlat8.z) << 2;
					            u_xlat10.xyz = u_xlat6.yyy * hxVolumeMatrixOld[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].xyz;
					            u_xlat10.xyz = hxVolumeMatrixOld[u_xlati22 / 4][u_xlati22 % 4].xyz * u_xlat6.xxx + u_xlat10.xyz;
					            u_xlat10.xyz = hxVolumeMatrixOld[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].xyz * u_xlat6.zzz + u_xlat10.xyz;
					            u_xlat22.xyz = u_xlat10.xyz + hxVolumeMatrixOld[(u_xlati22 + 3) / 4][(u_xlati22 + 3) % 4].xyz;
					            u_xlatb10.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat22.xyzx).xyz;
					            u_xlatb11.xyz = lessThan(u_xlat22.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					            u_xlatb10.x = u_xlatb10.x && u_xlatb11.x;
					            u_xlatb10.x = u_xlatb10.y && u_xlatb10.x;
					            u_xlatb10.x = u_xlatb11.y && u_xlatb10.x;
					            u_xlatb10.x = u_xlatb10.z && u_xlatb10.x;
					            u_xlatb10.x = u_xlatb11.z && u_xlatb10.x;
					            if(u_xlatb10.x){
					                u_xlatb10.x = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                if(u_xlatb10.x){
					                    u_xlat10.x = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                    u_xlat23 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                    u_xlat36 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                    u_xlatb11 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                    u_xlat49 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                    u_xlat49 = (u_xlatb11.w) ? u_xlat49 : u_xlat8.x;
					                    u_xlat36 = (u_xlatb11.z) ? u_xlat36 : u_xlat49;
					                    u_xlat23 = (u_xlatb11.y) ? u_xlat23 : u_xlat36;
					                    u_xlat5.x = (u_xlatb11.x) ? u_xlat10.x : u_xlat23;
					                } else {
					                    u_xlatb10.x = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                    u_xlat35 = dot(u_xlat22.xyz, u_xlat22.xyz);
					                    u_xlat35 = sqrt(u_xlat35);
					                    u_xlatb35 = u_xlat35<0.5;
					                    u_xlatb35 = u_xlatb35 && u_xlatb10.x;
					                    if(u_xlatb35){
					                        u_xlat35 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat10.x = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                        u_xlat23 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlatb11 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                        u_xlat36 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat36 = (u_xlatb11.w) ? u_xlat36 : u_xlat8.x;
					                        u_xlat23 = (u_xlatb11.z) ? u_xlat23 : u_xlat36;
					                        u_xlat10.x = (u_xlatb11.y) ? u_xlat10.x : u_xlat23;
					                        u_xlat5.x = (u_xlatb11.x) ? u_xlat35 : u_xlat10.x;
					                    } else {
					                        u_xlatb35 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                        u_xlat22.x = dot(u_xlat22.xz, u_xlat22.xz);
					                        u_xlat22.x = sqrt(u_xlat22.x);
					                        u_xlatb22 = u_xlat22.x<0.5;
					                        u_xlatb22 = u_xlatb22 && u_xlatb35;
					                        u_xlat35 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat48 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                        u_xlat10.x = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlatb11 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                        u_xlat23 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat23 = (u_xlatb11.w) ? u_xlat23 : u_xlat8.x;
					                        u_xlat10.x = (u_xlatb11.z) ? u_xlat10.x : u_xlat23;
					                        u_xlat48 = (u_xlatb11.y) ? u_xlat48 : u_xlat10.x;
					                        u_xlat35 = (u_xlatb11.x) ? u_xlat35 : u_xlat48;
					                        u_xlat5.x = (u_xlatb22) ? u_xlat35 : u_xlat8.x;
					                    }
					                }
					            } else {
					                u_xlat5.x = u_xlat8.x;
					            }
					            u_xlat5.y = intBitsToFloat(floatBitsToInt(u_xlat8.z) + 1);
					            u_xlat8.xyz = u_xlat5.xzy;
					            u_xlatb47 = u_xlatb9.x;
					        }
					        u_xlat5.x = (u_xlati47 != 0) ? u_xlat8.y : u_xlat8.x;
					        u_xlat18 = u_xlat5.x * Density.w;
					        u_xlat7 = u_xlat18 * u_xlat4 + u_xlat7;
					        u_xlat18 = u_xlat7 * -1.44269502;
					        u_xlat18 = exp2(u_xlat18);
					        u_xlat5.x = u_xlat4 * u_xlat5.x;
					        u_xlat5.x = u_xlat18 * u_xlat5.x;
					        u_xlat18 = (-u_xlat46) + 1.0;
					        u_xlat18 = u_xlat18 * ShadowBias.z;
					        u_xlat18 = u_xlat46 * u_xlat26 + u_xlat18;
					        u_xlat18 = u_xlat5.x * u_xlat18;
					        u_xlat18 = max(u_xlat18, 0.0);
					        u_xlat44 = u_xlat18 + u_xlat44;
					        u_xlat45 = u_xlat5.x * 0.0795800015 + u_xlat45;
					        u_xlat6.xyz = (-u_xlat1.xyz) * vec3(u_xlat4) + u_xlat6.xyz;
					        u_xlat20 = u_xlat4 + u_xlat20;
					    }
					    u_xlatb13 = 0.0<u_xlat39;
					    if(u_xlatb13){
					        u_xlat13.x = u_xlat40 + u_xlat4;
					        u_xlat2.xyz = (-u_xlat1.xyz) * u_xlat13.xxx + _WorldSpaceCameraPos.xyz;
					        u_xlat13.x = u_xlat39 / u_xlat41;
					        u_xlat0.x = u_xlat0.x * u_xlat13.x;
					        u_xlat2.xyz = (-u_xlat0.xxx) * u_xlat1.xyz + u_xlat2.xyz;
					        u_xlat5.z = 0.0;
					        u_xlat6.xyz = u_xlat2.xyz;
					        u_xlat0.x = u_xlat44;
					        u_xlat39 = u_xlat45;
					        u_xlat40 = u_xlat7;
					        for(int u_xlati_loop_2 = 0 ; u_xlati_loop_2<u_xlati42 ; u_xlati_loop_2++)
					        {
					            u_xlat8.x = Density.x;
					            u_xlat8.y = float(0.0);
					            u_xlat8.z = float(0.0);
					            u_xlati4 = 0;
					            while(true){
					                u_xlatb20 = floatBitsToInt(u_xlat8.z)>=10;
					                u_xlati4 = 0;
					                if(u_xlatb20){break;}
					                u_xlatb20 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                if(u_xlatb20){
					                    u_xlat8.xy = u_xlat8.xx;
					                    u_xlati4 = int(0xFFFFFFFFu);
					                    break;
					                }
					                u_xlati33 = floatBitsToInt(u_xlat8.z) << 2;
					                u_xlat9.xyz = u_xlat6.yyy * hxVolumeMatrixOld[(u_xlati33 + 1) / 4][(u_xlati33 + 1) % 4].xyz;
					                u_xlat9.xyz = hxVolumeMatrixOld[u_xlati33 / 4][u_xlati33 % 4].xyz * u_xlat6.xxx + u_xlat9.xyz;
					                u_xlat9.xyz = hxVolumeMatrixOld[(u_xlati33 + 2) / 4][(u_xlati33 + 2) % 4].xyz * u_xlat6.zzz + u_xlat9.xyz;
					                u_xlat9.xyz = u_xlat9.xyz + hxVolumeMatrixOld[(u_xlati33 + 3) / 4][(u_xlati33 + 3) % 4].xyz;
					                u_xlatb10.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat9.xyzx).xyz;
					                u_xlatb11.xyz = lessThan(u_xlat9.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					                u_xlatb33 = u_xlatb10.x && u_xlatb11.x;
					                u_xlatb33 = u_xlatb10.y && u_xlatb33;
					                u_xlatb33 = u_xlatb11.y && u_xlatb33;
					                u_xlatb33 = u_xlatb10.z && u_xlatb33;
					                u_xlatb33 = u_xlatb11.z && u_xlatb33;
					                if(u_xlatb33){
					                    u_xlatb33 = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                    if(u_xlatb33){
					                        u_xlat33 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat46 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                        u_xlat47 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlatb10 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                        u_xlat48 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat48 = (u_xlatb10.w) ? u_xlat48 : u_xlat8.x;
					                        u_xlat47 = (u_xlatb10.z) ? u_xlat47 : u_xlat48;
					                        u_xlat46 = (u_xlatb10.y) ? u_xlat46 : u_xlat47;
					                        u_xlat5.x = (u_xlatb10.x) ? u_xlat33 : u_xlat46;
					                    } else {
					                        u_xlatb33 = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                        u_xlat46 = dot(u_xlat9.xyz, u_xlat9.xyz);
					                        u_xlat46 = sqrt(u_xlat46);
					                        u_xlatb46 = u_xlat46<0.5;
					                        u_xlatb33 = u_xlatb46 && u_xlatb33;
					                        if(u_xlatb33){
					                            u_xlat33 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat46 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                            u_xlat47 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlatb10 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                            u_xlat22.x = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat22.x = (u_xlatb10.w) ? u_xlat22.x : u_xlat8.x;
					                            u_xlat47 = (u_xlatb10.z) ? u_xlat47 : u_xlat22.x;
					                            u_xlat46 = (u_xlatb10.y) ? u_xlat46 : u_xlat47;
					                            u_xlat5.x = (u_xlatb10.x) ? u_xlat33 : u_xlat46;
					                        } else {
					                            u_xlatb33 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                            u_xlat46 = dot(u_xlat9.xz, u_xlat9.xz);
					                            u_xlat46 = sqrt(u_xlat46);
					                            u_xlatb46 = u_xlat46<0.5;
					                            u_xlatb33 = u_xlatb46 && u_xlatb33;
					                            u_xlat46 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat47 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                            u_xlat9.x = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlatb10 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                            u_xlat22.x = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat22.x = (u_xlatb10.w) ? u_xlat22.x : u_xlat8.x;
					                            u_xlat9.x = (u_xlatb10.z) ? u_xlat9.x : u_xlat22.x;
					                            u_xlat47 = (u_xlatb10.y) ? u_xlat47 : u_xlat9.x;
					                            u_xlat46 = (u_xlatb10.x) ? u_xlat46 : u_xlat47;
					                            u_xlat5.x = (u_xlatb33) ? u_xlat46 : u_xlat8.x;
					                        }
					                    }
					                } else {
					                    u_xlat5.x = u_xlat8.x;
					                }
					                u_xlat5.y = intBitsToFloat(floatBitsToInt(u_xlat8.z) + 1);
					                u_xlat8.xyz = u_xlat5.xzy;
					                u_xlatb4 = u_xlatb20;
					            }
					            u_xlat5.x = (u_xlati4 != 0) ? u_xlat8.y : u_xlat8.x;
					            u_xlat18 = u_xlat5.x * Density.w;
					            u_xlat40 = u_xlat18 * u_xlat13.x + u_xlat40;
					            u_xlat18 = u_xlat40 * -1.44269502;
					            u_xlat18 = exp2(u_xlat18);
					            u_xlat5.x = u_xlat13.x * u_xlat5.x;
					            u_xlat5.x = u_xlat18 * u_xlat5.x;
					            u_xlat18 = u_xlat26 * u_xlat5.x;
					            u_xlat18 = max(u_xlat18, 0.0);
					            u_xlat0.x = u_xlat0.x + u_xlat18;
					            u_xlat6.xyz = (-u_xlat1.xyz) * u_xlat13.xxx + u_xlat6.xyz;
					            u_xlat39 = u_xlat5.x * 0.0795800015 + u_xlat39;
					        }
					        u_xlat44 = u_xlat0.x;
					        u_xlat45 = u_xlat39;
					        u_xlat7 = u_xlat40;
					    }
					    u_xlat0.x = u_xlat7 * -1.44269502;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat13.xyz = u_xlat3.xyz * vec3(u_xlat45);
					    u_xlat13.xyz = u_xlat13.xyz * vec3(FirstLight);
					    SV_Target0.xyz = u_xlat17.xyz * vec3(u_xlat44) + u_xlat13.xyz;
					    u_xlat13.x = (-ExtinctionEffect) + 1.0;
					    u_xlat26 = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat13.x * u_xlat26 + u_xlat0.x;
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    SV_Target0.w = u_xlat0.x * FirstLight;
					    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[14];
						vec4 Phase;
						vec4 Phase2;
						vec4 Density;
						vec4 unused_0_4;
						mat4x4 hxVolumeMatrixOld[10];
						vec4 unused_0_6[36];
						vec2 hxVolumeSettingsOld[10];
						vec4 unused_0_8[263];
						float hxRayOffset;
						float HxTileSize;
						mat4x4 InverseProjectionMatrix;
						mat4x4 InverseProjectionMatrix2;
						vec4 unused_0_13[14];
						mat4x4 hxCameraToWorld;
						mat4x4 hxCameraToWorld2;
						float FirstLight;
						vec4 unused_0_17[5];
						vec3 ShadowBias;
						vec4 unused_0_19[5];
						vec4 _SpotLightParams;
						vec3 CameraFoward;
						float VolumeScale;
						float ExtinctionEffect;
						vec3 LightColour;
						vec3 LightColour2;
						vec4 unused_0_26;
						float TintPercent;
						vec2 MaxRayDistance;
						float AmbientStrength;
						vec3 AmbientSkyColor;
						vec3 AmbientEquatorColor;
						vec3 AmbientGroundColor;
						vec2 SunSize;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 _ScreenParams;
						vec4 unused_1_3[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[6];
						vec4 _LightSplitsNear;
						vec4 _LightSplitsFar;
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_2_4[14];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D Tile5x5;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					int u_xlati4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bvec4 u_xlatb8;
					vec4 u_xlat9;
					bvec4 u_xlatb9;
					vec4 u_xlat10;
					bvec4 u_xlatb10;
					vec3 u_xlat11;
					bvec4 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec3 u_xlat15;
					float u_xlat17;
					bool u_xlatb17;
					float u_xlat19;
					vec3 u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat27;
					float u_xlat28;
					vec2 u_xlat30;
					bvec2 u_xlatb30;
					bool u_xlatb34;
					float u_xlat36;
					float u_xlat39;
					int u_xlati39;
					bool u_xlatb39;
					float u_xlat40;
					float u_xlat41;
					int u_xlati41;
					float u_xlat42;
					int u_xlati42;
					bool u_xlatb42;
					float u_xlat44;
					float u_xlat45;
					int u_xlati45;
					bool u_xlatb45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					float u_xlat50;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / vs_TEXCOORD0.ww;
					    u_xlat1 = textureLod(VolumetricDepth, u_xlat0.xy, 0.0).xwyz;
					    u_xlat26 = dot(u_xlat1.xz, vec2(1.0, 0.00392156886));
					    u_xlatb39 = 0.5<u_xlat1.w;
					    u_xlat27 = u_xlat1.w + u_xlat1.w;
					    u_xlat1.x = fract(u_xlat27);
					    u_xlat1.xy = (-u_xlat1.xy) + vec2(1.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xyz = (bool(u_xlatb39)) ? InverseProjectionMatrix2[0].xyz : InverseProjectionMatrix[0].xyz;
					    u_xlat3.xyz = (bool(u_xlatb39)) ? InverseProjectionMatrix2[1].xyz : InverseProjectionMatrix[1].xyz;
					    u_xlat4.xyz = (bool(u_xlatb39)) ? InverseProjectionMatrix2[2].xyz : InverseProjectionMatrix[2].xyz;
					    u_xlat5.xyw = (bool(u_xlatb39)) ? InverseProjectionMatrix2[3].xyz : InverseProjectionMatrix[3].xyz;
					    u_xlat6.x = (u_xlatb39) ? InverseProjectionMatrix2[0].w : InverseProjectionMatrix[0].w;
					    u_xlat6.y = (u_xlatb39) ? InverseProjectionMatrix2[1].w : InverseProjectionMatrix[1].w;
					    u_xlat6.z = (u_xlatb39) ? InverseProjectionMatrix2[2].w : InverseProjectionMatrix[2].w;
					    u_xlat6.w = (u_xlatb39) ? InverseProjectionMatrix2[3].w : InverseProjectionMatrix[3].w;
					    u_xlat7.x = u_xlat2.x;
					    u_xlat7.y = u_xlat3.x;
					    u_xlat7.z = u_xlat4.x;
					    u_xlat7.w = u_xlat5.x;
					    u_xlat1.z = float(1.0);
					    u_xlat1.w = float(1.0);
					    u_xlat7.x = dot(u_xlat7, u_xlat1);
					    u_xlat8.x = u_xlat2.y;
					    u_xlat8.y = u_xlat3.y;
					    u_xlat8.z = u_xlat4.y;
					    u_xlat8.w = u_xlat5.y;
					    u_xlat7.y = dot(u_xlat8, u_xlat1);
					    u_xlat5.x = u_xlat2.z;
					    u_xlat5.y = u_xlat3.z;
					    u_xlat5.z = u_xlat4.z;
					    u_xlat7.z = dot(u_xlat5, u_xlat1);
					    u_xlat1.x = dot(u_xlat6, u_xlat1);
					    u_xlat1.xyz = u_xlat7.xyz / u_xlat1.xxx;
					    u_xlat2.xy = (bool(u_xlatb39)) ? hxCameraToWorld[0].xy : hxCameraToWorld2[0].xy;
					    u_xlat2.zw = (bool(u_xlatb39)) ? hxCameraToWorld[1].xy : hxCameraToWorld2[1].xy;
					    u_xlat3.xy = (bool(u_xlatb39)) ? hxCameraToWorld[2].xy : hxCameraToWorld2[2].xy;
					    u_xlat4.xw = (bool(u_xlatb39)) ? hxCameraToWorld[3].xy : hxCameraToWorld2[3].xy;
					    u_xlat5.x = (u_xlatb39) ? hxCameraToWorld[0].z : hxCameraToWorld2[0].z;
					    u_xlat5.y = (u_xlatb39) ? hxCameraToWorld[1].z : hxCameraToWorld2[1].z;
					    u_xlat5.z = (u_xlatb39) ? hxCameraToWorld[2].z : hxCameraToWorld2[2].z;
					    u_xlat5.w = (u_xlatb39) ? hxCameraToWorld[3].z : hxCameraToWorld2[3].z;
					    u_xlat39 = _ProjectionParams.z / u_xlat1.z;
					    u_xlat1.xyz = vec3(u_xlat39) * (-u_xlat1.xyz);
					    u_xlat1.xyz = vec3(u_xlat26) * u_xlat1.xyz;
					    u_xlat6.xy = u_xlat2.xz;
					    u_xlat6.z = u_xlat3.x;
					    u_xlat6.w = u_xlat4.x;
					    u_xlat1.w = 1.0;
					    u_xlat6.x = dot(u_xlat6, u_xlat1);
					    u_xlat4.xy = u_xlat2.yw;
					    u_xlat4.z = u_xlat3.y;
					    u_xlat6.y = dot(u_xlat4, u_xlat1);
					    u_xlat6.z = dot(u_xlat5, u_xlat1);
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat6.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat40 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat40 = inversesqrt(u_xlat40);
					    u_xlat1.xyz = vec3(u_xlat40) * u_xlat1.xyz;
					    u_xlat40 = dot(CameraFoward.xyz, (-u_xlat1.xyz));
					    u_xlat2.x = dot(u_xlat1.xz, u_xlat1.xz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xy = u_xlat1.xz * u_xlat2.xx;
					    u_xlat2.x = dot(u_xlat2.xy, u_xlat1.xz);
					    u_xlat2.x = u_xlat2.x + -0.699999988;
					    u_xlat2.x = u_xlat2.x * 3.33330011;
					    u_xlat15.x = max((-u_xlat1.y), 0.0);
					    u_xlat28 = max(u_xlat1.y, 0.0);
					    u_xlat3.xyz = vec3(u_xlat28) * AmbientGroundColor.xyz;
					    u_xlat15.xyz = u_xlat15.xxx * AmbientSkyColor.xyz + u_xlat3.xyz;
					    u_xlat3.x = u_xlat2.x * u_xlat2.x;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat2.x = u_xlat2.x * u_xlat3.x;
					    u_xlat2.x = max(u_xlat2.x, 0.0);
					    u_xlat2.xyz = u_xlat2.xxx * AmbientEquatorColor.xyz + u_xlat15.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(vec3(AmbientStrength, AmbientStrength, AmbientStrength));
					    u_xlat40 = _ProjectionParams.y / u_xlat40;
					    u_xlat1.xyz = (-u_xlat1.xyz) * vec3(u_xlat40) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat3.xyz = _SpotLightParams.xyz * ShadowBias.xxx + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat1.xyz + (-u_xlat3.xyz);
					    u_xlat40 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat40 = sqrt(u_xlat40);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat40);
					    u_xlat40 = min(u_xlat40, MaxRayDistance.xxyx.z);
					    u_xlat41 = min(u_xlat40, MaxRayDistance.xxyx.y);
					    u_xlat40 = u_xlat40 + (-u_xlat41);
					    u_xlat42 = min(Density.y, 128.0);
					    u_xlati4 = int(u_xlat42);
					    u_xlat42 = trunc(u_xlat42);
					    u_xlat17 = u_xlat41 / u_xlat42;
					    u_xlat30.xy = vec2(vec2(VolumeScale, VolumeScale)) * _ScreenParams.xy;
					    u_xlat0.xy = u_xlat0.xy * u_xlat30.xy;
					    u_xlat0.xy = u_xlat0.xy / vec2(vec2(HxTileSize, HxTileSize));
					    u_xlatb30.xy = greaterThanEqual(u_xlat0.xyxy, (-u_xlat0.xyxy)).xy;
					    u_xlat0.xy = fract(abs(u_xlat0.xy));
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb30.x) ? u_xlat0.x : (-u_xlat0.x);
					        hlslcc_movcTemp.y = (u_xlatb30.y) ? u_xlat0.y : (-u_xlat0.y);
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(vec2(HxTileSize, HxTileSize));
					    u_xlat0.xy = u_xlat0.xy / vec2(vec2(HxTileSize, HxTileSize));
					    u_xlat5 = textureLod(Tile5x5, u_xlat0.xy, 0.0);
					    u_xlat0.x = u_xlat5.x + hxRayOffset;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat13.x = u_xlat0.x * u_xlat17;
					    u_xlat1.xyz = (-u_xlat13.xxx) * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat13.x = dot(_SpotLightParams.xyz, u_xlat3.xyz);
					    u_xlatb26 = 0.99000001<u_xlat26;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat30.x = (-Phase2.w) * u_xlat13.x + Phase2.z;
					    u_xlat30.x = log2(u_xlat30.x);
					    u_xlat30.x = u_xlat30.x * 1.5;
					    u_xlat30.x = exp2(u_xlat30.x);
					    u_xlat30.x = max(u_xlat30.x, 9.99999975e-05);
					    u_xlat30.x = Phase2.y / u_xlat30.x;
					    u_xlat30.x = u_xlat30.x * Phase2.x;
					    u_xlat30.x = u_xlat30.x * SunSize.x;
					    u_xlat26 = max(u_xlat26, SunSize.y);
					    u_xlat26 = u_xlat26 * u_xlat30.x;
					    u_xlat26 = min(u_xlat26, 100.0);
					    u_xlat30.x = (-Phase.w) * u_xlat13.x + Phase.z;
					    u_xlat30.x = log2(u_xlat30.x);
					    u_xlat30.x = u_xlat30.x * 1.5;
					    u_xlat30.x = exp2(u_xlat30.x);
					    u_xlat30.x = Phase.y / u_xlat30.x;
					    u_xlat30.x = u_xlat30.x * Phase.x;
					    u_xlat26 = max(u_xlat26, u_xlat30.x);
					    u_xlat13.x = u_xlat13.x + 1.0;
					    u_xlat13.x = u_xlat13.x * TintPercent;
					    u_xlat13.x = u_xlat13.x * 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat5.xyz = vec3(LightColour.x, LightColour.y, LightColour.z) + (-LightColour2.xyz);
					    u_xlat5.xyz = u_xlat13.xxx * u_xlat5.xyz + LightColour2.xyz;
					    u_xlat6.xyz = u_xlat1.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati39].xyz);
					    u_xlat13.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat13.x = sqrt(u_xlat13.x);
					    u_xlat6.z = 0.0;
					    u_xlat7.xyz = u_xlat1.xyz;
					    u_xlat30.x = float(0.0);
					    u_xlat30.y = float(0.0);
					    u_xlat44 = 0.0;
					    u_xlat45 = u_xlat13.x;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati4 ; u_xlati_loop_1++)
					    {
					        u_xlatb8 = greaterThanEqual(vec4(u_xlat45), _LightSplitsNear);
					        u_xlat8.x = u_xlatb8.x ? float(1.0) : 0.0;
					        u_xlat8.y = u_xlatb8.y ? float(1.0) : 0.0;
					        u_xlat8.z = u_xlatb8.z ? float(1.0) : 0.0;
					        u_xlat8.w = u_xlatb8.w ? float(1.0) : 0.0;
					;
					        u_xlatb9 = lessThan(vec4(u_xlat45), _LightSplitsFar);
					        u_xlat9.x = u_xlatb9.x ? float(1.0) : 0.0;
					        u_xlat9.y = u_xlatb9.y ? float(1.0) : 0.0;
					        u_xlat9.z = u_xlatb9.z ? float(1.0) : 0.0;
					        u_xlat9.w = u_xlatb9.w ? float(1.0) : 0.0;
					;
					        u_xlat10 = u_xlat8 * u_xlat9;
					        u_xlat8.x = u_xlat10.y + u_xlat10.x;
					        u_xlat8.x = u_xlat8.z * u_xlat9.z + u_xlat8.x;
					        u_xlat8.x = u_xlat8.w * u_xlat9.w + u_xlat8.x;
					        u_xlatb8.x = 0.0<u_xlat8.x;
					        u_xlat21.xyz = u_xlat7.yyy * unity_WorldToShadow[1 / 4][1 % 4].xyz;
					        u_xlat21.xyz = unity_WorldToShadow[0 / 4][0 % 4].xyz * u_xlat7.xxx + u_xlat21.xyz;
					        u_xlat21.xyz = unity_WorldToShadow[2 / 4][2 % 4].xyz * u_xlat7.zzz + u_xlat21.xyz;
					        u_xlat21.xyz = u_xlat21.xyz + unity_WorldToShadow[3 / 4][3 % 4].xyz;
					        u_xlat9.xyz = u_xlat7.yyy * unity_WorldToShadow[5 / 4][5 % 4].xyz;
					        u_xlat9.xyz = unity_WorldToShadow[4 / 4][4 % 4].xyz * u_xlat7.xxx + u_xlat9.xyz;
					        u_xlat9.xyz = unity_WorldToShadow[6 / 4][6 % 4].xyz * u_xlat7.zzz + u_xlat9.xyz;
					        u_xlat9.xyz = u_xlat9.xyz + unity_WorldToShadow[7 / 4][7 % 4].xyz;
					        u_xlat11.xyz = u_xlat7.yyy * unity_WorldToShadow[9 / 4][9 % 4].xyz;
					        u_xlat11.xyz = unity_WorldToShadow[8 / 4][8 % 4].xyz * u_xlat7.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_WorldToShadow[10 / 4][10 % 4].xyz * u_xlat7.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_WorldToShadow[11 / 4][11 % 4].xyz;
					        u_xlat12.xyz = u_xlat7.yyy * unity_WorldToShadow[13 / 4][13 % 4].xyz;
					        u_xlat12.xyz = unity_WorldToShadow[12 / 4][12 % 4].xyz * u_xlat7.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_WorldToShadow[14 / 4][14 % 4].xyz * u_xlat7.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_WorldToShadow[15 / 4][15 % 4].xyz;
					        u_xlat9.xyz = u_xlat10.yyy * u_xlat9.xyz;
					        u_xlat21.xyz = u_xlat21.xyz * u_xlat10.xxx + u_xlat9.xyz;
					        u_xlat21.xyz = u_xlat11.xyz * u_xlat10.zzz + u_xlat21.xyz;
					        u_xlat21.xyz = u_xlat12.xyz * u_xlat10.www + u_xlat21.xyz;
					        vec3 txVec0 = vec3(u_xlat21.xy,u_xlat21.z);
					        u_xlat21.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat8.x = (u_xlatb8.x) ? u_xlat21.x : 1.0;
					        u_xlat9.x = Density.x;
					        u_xlat9.y = float(0.0);
					        u_xlat9.z = float(0.0);
					        u_xlati21 = 0;
					        while(true){
					            u_xlatb34 = floatBitsToInt(u_xlat9.z)>=10;
					            u_xlati21 = 0;
					            if(u_xlatb34){break;}
					            u_xlatb34 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].y;
					            if(u_xlatb34){
					                u_xlat9.xy = u_xlat9.xx;
					                u_xlati21 = int(0xFFFFFFFFu);
					                break;
					            }
					            u_xlati47 = floatBitsToInt(u_xlat9.z) << 2;
					            u_xlat10.xyz = u_xlat7.yyy * hxVolumeMatrixOld[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].xyz;
					            u_xlat10.xyz = hxVolumeMatrixOld[u_xlati47 / 4][u_xlati47 % 4].xyz * u_xlat7.xxx + u_xlat10.xyz;
					            u_xlat10.xyz = hxVolumeMatrixOld[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].xyz * u_xlat7.zzz + u_xlat10.xyz;
					            u_xlat10.xyz = u_xlat10.xyz + hxVolumeMatrixOld[(u_xlati47 + 3) / 4][(u_xlati47 + 3) % 4].xyz;
					            u_xlatb11.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat10.xyzx).xyz;
					            u_xlatb12.xyz = lessThan(u_xlat10.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					            u_xlatb47 = u_xlatb11.x && u_xlatb12.x;
					            u_xlatb47 = u_xlatb11.y && u_xlatb47;
					            u_xlatb47 = u_xlatb12.y && u_xlatb47;
					            u_xlatb47 = u_xlatb11.z && u_xlatb47;
					            u_xlatb47 = u_xlatb12.z && u_xlatb47;
					            if(u_xlatb47){
					                u_xlatb47 = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].y;
					                if(u_xlatb47){
					                    u_xlat47 = max(u_xlat9.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                    u_xlat48 = u_xlat9.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x;
					                    u_xlat49 = min(u_xlat9.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                    u_xlatb11 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].yyyy);
					                    u_xlat12.x = u_xlat9.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                    u_xlat50 = (u_xlatb11.w) ? u_xlat12.x : u_xlat9.x;
					                    u_xlat49 = (u_xlatb11.z) ? u_xlat49 : u_xlat50;
					                    u_xlat48 = (u_xlatb11.y) ? u_xlat48 : u_xlat49;
					                    u_xlat6.x = (u_xlatb11.x) ? u_xlat47 : u_xlat48;
					                } else {
					                    u_xlatb47 = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].y;
					                    u_xlat48 = dot(u_xlat10.xyz, u_xlat10.xyz);
					                    u_xlat48 = sqrt(u_xlat48);
					                    u_xlatb48 = u_xlat48<0.5;
					                    u_xlatb47 = u_xlatb47 && u_xlatb48;
					                    if(u_xlatb47){
					                        u_xlat47 = max(u_xlat9.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                        u_xlat48 = u_xlat9.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x;
					                        u_xlat23 = min(u_xlat9.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                        u_xlatb11 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].yyyy);
					                        u_xlat49 = u_xlat9.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                        u_xlat49 = (u_xlatb11.w) ? u_xlat49 : u_xlat9.x;
					                        u_xlat23 = (u_xlatb11.z) ? u_xlat23 : u_xlat49;
					                        u_xlat48 = (u_xlatb11.y) ? u_xlat48 : u_xlat23;
					                        u_xlat6.x = (u_xlatb11.x) ? u_xlat47 : u_xlat48;
					                    } else {
					                        u_xlatb47 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].y;
					                        u_xlat48 = dot(u_xlat10.xz, u_xlat10.xz);
					                        u_xlat48 = sqrt(u_xlat48);
					                        u_xlatb48 = u_xlat48<0.5;
					                        u_xlatb47 = u_xlatb47 && u_xlatb48;
					                        u_xlat48 = max(u_xlat9.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                        u_xlat10.x = u_xlat9.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x;
					                        u_xlat23 = min(u_xlat9.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                        u_xlatb11 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].yyyy);
					                        u_xlat36 = u_xlat9.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                        u_xlat36 = (u_xlatb11.w) ? u_xlat36 : u_xlat9.x;
					                        u_xlat23 = (u_xlatb11.z) ? u_xlat23 : u_xlat36;
					                        u_xlat10.x = (u_xlatb11.y) ? u_xlat10.x : u_xlat23;
					                        u_xlat48 = (u_xlatb11.x) ? u_xlat48 : u_xlat10.x;
					                        u_xlat6.x = (u_xlatb47) ? u_xlat48 : u_xlat9.x;
					                    }
					                }
					            } else {
					                u_xlat6.x = u_xlat9.x;
					            }
					            u_xlat6.y = intBitsToFloat(floatBitsToInt(u_xlat9.z) + 1);
					            u_xlat9.xyz = u_xlat6.xzy;
					            u_xlatb21 = u_xlatb34;
					        }
					        u_xlat6.x = (u_xlati21 != 0) ? u_xlat9.y : u_xlat9.x;
					        u_xlat19 = u_xlat6.x * Density.w;
					        u_xlat44 = u_xlat19 * u_xlat17 + u_xlat44;
					        u_xlat19 = u_xlat44 * -1.44269502;
					        u_xlat19 = exp2(u_xlat19);
					        u_xlat6.x = u_xlat17 * u_xlat6.x;
					        u_xlat6.x = u_xlat19 * u_xlat6.x;
					        u_xlat19 = (-u_xlat8.x) + 1.0;
					        u_xlat19 = u_xlat19 * ShadowBias.z;
					        u_xlat19 = u_xlat8.x * u_xlat26 + u_xlat19;
					        u_xlat19 = u_xlat6.x * u_xlat19;
					        u_xlat19 = max(u_xlat19, 0.0);
					        u_xlat30.x = u_xlat30.x + u_xlat19;
					        u_xlat30.y = u_xlat6.x * 0.0795800015 + u_xlat30.y;
					        u_xlat7.xyz = (-u_xlat3.xyz) * vec3(u_xlat17) + u_xlat7.xyz;
					        u_xlat45 = u_xlat17 + u_xlat45;
					    }
					    u_xlatb13 = 0.0<u_xlat40;
					    if(u_xlatb13){
					        u_xlat13.x = u_xlat41 + u_xlat17;
					        u_xlat1.xyz = (-u_xlat3.xyz) * u_xlat13.xxx + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					        u_xlat13.x = u_xlat40 / u_xlat42;
					        u_xlat0.x = u_xlat0.x * u_xlat13.x;
					        u_xlat1.xyz = (-u_xlat0.xxx) * u_xlat3.xyz + u_xlat1.xyz;
					        u_xlat6.z = 0.0;
					        u_xlat7.xyz = u_xlat1.xyz;
					        u_xlat0.xw = u_xlat30.xy;
					        u_xlat40 = u_xlat44;
					        for(int u_xlati_loop_2 = 0 ; u_xlati_loop_2<u_xlati4 ; u_xlati_loop_2++)
					        {
					            u_xlat8.x = Density.x;
					            u_xlat8.y = float(0.0);
					            u_xlat8.z = float(0.0);
					            u_xlati42 = 0;
					            while(true){
					                u_xlatb17 = floatBitsToInt(u_xlat8.z)>=10;
					                u_xlati42 = 0;
					                if(u_xlatb17){break;}
					                u_xlatb17 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                if(u_xlatb17){
					                    u_xlat8.xy = u_xlat8.xx;
					                    u_xlati42 = int(0xFFFFFFFFu);
					                    break;
					                }
					                u_xlati45 = floatBitsToInt(u_xlat8.z) << 2;
					                u_xlat9.xyz = u_xlat7.yyy * hxVolumeMatrixOld[(u_xlati45 + 1) / 4][(u_xlati45 + 1) % 4].xyz;
					                u_xlat9.xyz = hxVolumeMatrixOld[u_xlati45 / 4][u_xlati45 % 4].xyz * u_xlat7.xxx + u_xlat9.xyz;
					                u_xlat9.xyz = hxVolumeMatrixOld[(u_xlati45 + 2) / 4][(u_xlati45 + 2) % 4].xyz * u_xlat7.zzz + u_xlat9.xyz;
					                u_xlat9.xyz = u_xlat9.xyz + hxVolumeMatrixOld[(u_xlati45 + 3) / 4][(u_xlati45 + 3) % 4].xyz;
					                u_xlatb10.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat9.xyzx).xyz;
					                u_xlatb11.xyz = lessThan(u_xlat9.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					                u_xlatb45 = u_xlatb10.x && u_xlatb11.x;
					                u_xlatb45 = u_xlatb10.y && u_xlatb45;
					                u_xlatb45 = u_xlatb11.y && u_xlatb45;
					                u_xlatb45 = u_xlatb10.z && u_xlatb45;
					                u_xlatb45 = u_xlatb11.z && u_xlatb45;
					                if(u_xlatb45){
					                    u_xlatb45 = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                    if(u_xlatb45){
					                        u_xlat45 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat46 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                        u_xlat47 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlatb10 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                        u_xlat48 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat48 = (u_xlatb10.w) ? u_xlat48 : u_xlat8.x;
					                        u_xlat47 = (u_xlatb10.z) ? u_xlat47 : u_xlat48;
					                        u_xlat46 = (u_xlatb10.y) ? u_xlat46 : u_xlat47;
					                        u_xlat6.x = (u_xlatb10.x) ? u_xlat45 : u_xlat46;
					                    } else {
					                        u_xlatb45 = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                        u_xlat46 = dot(u_xlat9.xyz, u_xlat9.xyz);
					                        u_xlat46 = sqrt(u_xlat46);
					                        u_xlatb46 = u_xlat46<0.5;
					                        u_xlatb45 = u_xlatb45 && u_xlatb46;
					                        if(u_xlatb45){
					                            u_xlat45 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat46 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                            u_xlat47 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlatb10 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                            u_xlat22 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat22 = (u_xlatb10.w) ? u_xlat22 : u_xlat8.x;
					                            u_xlat47 = (u_xlatb10.z) ? u_xlat47 : u_xlat22;
					                            u_xlat46 = (u_xlatb10.y) ? u_xlat46 : u_xlat47;
					                            u_xlat6.x = (u_xlatb10.x) ? u_xlat45 : u_xlat46;
					                        } else {
					                            u_xlatb45 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                            u_xlat46 = dot(u_xlat9.xz, u_xlat9.xz);
					                            u_xlat46 = sqrt(u_xlat46);
					                            u_xlatb46 = u_xlat46<0.5;
					                            u_xlatb45 = u_xlatb45 && u_xlatb46;
					                            u_xlat46 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat47 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                            u_xlat9.x = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlatb10 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                            u_xlat22 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                            u_xlat22 = (u_xlatb10.w) ? u_xlat22 : u_xlat8.x;
					                            u_xlat9.x = (u_xlatb10.z) ? u_xlat9.x : u_xlat22;
					                            u_xlat47 = (u_xlatb10.y) ? u_xlat47 : u_xlat9.x;
					                            u_xlat46 = (u_xlatb10.x) ? u_xlat46 : u_xlat47;
					                            u_xlat6.x = (u_xlatb45) ? u_xlat46 : u_xlat8.x;
					                        }
					                    }
					                } else {
					                    u_xlat6.x = u_xlat8.x;
					                }
					                u_xlat6.y = intBitsToFloat(floatBitsToInt(u_xlat8.z) + 1);
					                u_xlat8.xyz = u_xlat6.xzy;
					                u_xlatb42 = u_xlatb17;
					            }
					            u_xlat17 = (u_xlati42 != 0) ? u_xlat8.y : u_xlat8.x;
					            u_xlat6.x = u_xlat17 * Density.w;
					            u_xlat40 = u_xlat6.x * u_xlat13.x + u_xlat40;
					            u_xlat6.x = u_xlat40 * -1.44269502;
					            u_xlat6.x = exp2(u_xlat6.x);
					            u_xlat17 = u_xlat13.x * u_xlat17;
					            u_xlat17 = u_xlat6.x * u_xlat17;
					            u_xlat6.x = u_xlat26 * u_xlat17;
					            u_xlat6.x = max(u_xlat6.x, 0.0);
					            u_xlat0.x = u_xlat0.x + u_xlat6.x;
					            u_xlat7.xyz = (-u_xlat3.xyz) * u_xlat13.xxx + u_xlat7.xyz;
					            u_xlat0.w = u_xlat17 * 0.0795800015 + u_xlat0.w;
					        }
					        u_xlat30.xy = u_xlat0.xw;
					        u_xlat44 = u_xlat40;
					    }
					    u_xlat0.x = u_xlat44 * -1.44269502;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat13.xyz = u_xlat2.xyz * u_xlat30.yyy;
					    u_xlat13.xyz = u_xlat13.xyz * vec3(FirstLight);
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat30.xxx + u_xlat13.xyz;
					    u_xlat13.x = (-ExtinctionEffect) + 1.0;
					    u_xlat26 = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat13.x * u_xlat26 + u_xlat0.x;
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    SV_Target0.w = u_xlat0.x * FirstLight;
					    return;
					}"
				}
			}
		}
		Pass {
			Blend One One, One One
			ZTest Always
			ZWrite Off
			GpuProgramID 143018
			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 VGlobals {
						vec4 unused_0_0[331];
						mat4x4 VolumetricMVP;
						vec4 unused_0_2[40];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * VolumetricMVP[1];
					    u_xlat0 = VolumetricMVP[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = VolumetricMVP[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = VolumetricMVP[3] * in_POSITION0.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD0.zw = u_xlat0.zw;
					    vs_TEXCOORD0.xy = u_xlat1.zz + u_xlat1.xw;
					    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 VGlobals {
						vec4 unused_0_0[331];
						mat4x4 VolumetricMVP;
						vec4 unused_0_2[40];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					int u_xlati1;
					vec2 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * VolumetricMVP[1];
					    u_xlat0 = VolumetricMVP[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = VolumetricMVP[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = VolumetricMVP[3] * in_POSITION0.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat3.xy;
					    vs_TEXCOORD0.zw = u_xlat0.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[14];
						vec4 Phase;
						vec4 Phase2;
						vec4 Density;
						vec4 unused_0_4;
						mat4x4 hxVolumeMatrixOld[10];
						vec4 unused_0_6[36];
						vec2 hxVolumeSettingsOld[10];
						vec4 unused_0_8[263];
						float hxRayOffset;
						float HxTileSize;
						mat4x4 InverseProjectionMatrix;
						vec4 unused_0_12[26];
						float FirstLight;
						vec4 unused_0_14[5];
						vec3 ShadowBias;
						vec4 unused_0_16[5];
						vec4 _SpotLightParams;
						vec3 CameraFoward;
						float VolumeScale;
						float ExtinctionEffect;
						vec3 LightColour;
						vec3 LightColour2;
						vec4 unused_0_23;
						float TintPercent;
						vec2 MaxRayDistance;
						vec4 unused_0_26[3];
						vec2 SunSize;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 _ScreenParams;
						vec4 unused_1_4[2];
					};
					layout(std140) uniform UnityPerCameraRare {
						vec4 unused_2_0[18];
						mat4x4 unity_CameraToWorld;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[6];
						vec4 _LightSplitsNear;
						vec4 _LightSplitsFar;
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_4[14];
					};
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D Tile5x5;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					bvec4 u_xlatb7;
					vec4 u_xlat8;
					bvec4 u_xlatb8;
					vec4 u_xlat9;
					bvec4 u_xlatb9;
					vec3 u_xlat10;
					bvec4 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					vec3 u_xlat20;
					int u_xlati20;
					bool u_xlatb20;
					float u_xlat21;
					float u_xlat24;
					bool u_xlatb24;
					vec2 u_xlat27;
					bvec2 u_xlatb27;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					float u_xlat36;
					float u_xlat37;
					int u_xlati37;
					float u_xlat38;
					int u_xlati38;
					bool u_xlatb38;
					float u_xlat40;
					int u_xlati40;
					bool u_xlatb40;
					float u_xlat41;
					int u_xlati41;
					bool u_xlatb41;
					float u_xlat42;
					bool u_xlatb42;
					float u_xlat43;
					int u_xlati43;
					bool u_xlatb43;
					float u_xlat44;
					float u_xlat45;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / vs_TEXCOORD0.ww;
					    u_xlat1 = textureLod(VolumetricDepth, u_xlat0.xy, 0.0);
					    u_xlat24 = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					    u_xlat1.xy = u_xlat1.zw * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2 = u_xlat1.yyyy * InverseProjectionMatrix[1];
					    u_xlat1 = InverseProjectionMatrix[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat1 = u_xlat1 + InverseProjectionMatrix[2];
					    u_xlat1 = u_xlat1 + InverseProjectionMatrix[3];
					    u_xlat1.xyz = u_xlat1.xyz / u_xlat1.www;
					    u_xlat36 = _ProjectionParams.z / u_xlat1.z;
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * unity_CameraToWorld[1].xyz;
					    u_xlat1.xyw = unity_CameraToWorld[0].xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat1.xyz = unity_CameraToWorld[2].xyz * u_xlat1.zzz + u_xlat1.xyw;
					    u_xlat1.xyz = u_xlat1.xyz + unity_CameraToWorld[3].xyz;
					    u_xlat2.xyz = (-u_xlat1.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat2.xyz;
					    u_xlat36 = dot(CameraFoward.xyz, (-u_xlat2.xyz));
					    u_xlat36 = _ProjectionParams.y / u_xlat36;
					    u_xlat2.xyz = (-u_xlat2.xyz) * vec3(u_xlat36) + _WorldSpaceCameraPos.xyz;
					    u_xlat1.xyz = _SpotLightParams.xyz * ShadowBias.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat1.xyz = u_xlat1.xyz / vec3(u_xlat36);
					    u_xlat36 = min(u_xlat36, MaxRayDistance.xxyx.z);
					    u_xlat37 = min(u_xlat36, MaxRayDistance.xxyx.y);
					    u_xlat36 = u_xlat36 + (-u_xlat37);
					    u_xlat38 = min(Density.y, 128.0);
					    u_xlati3 = int(u_xlat38);
					    u_xlat38 = trunc(u_xlat38);
					    u_xlat15 = u_xlat37 / u_xlat38;
					    u_xlat27.xy = vec2(vec2(VolumeScale, VolumeScale)) * _ScreenParams.xy;
					    u_xlat0.xy = u_xlat0.xy * u_xlat27.xy;
					    u_xlat0.xy = u_xlat0.xy / vec2(vec2(HxTileSize, HxTileSize));
					    u_xlatb27.xy = greaterThanEqual(u_xlat0.xyxy, (-u_xlat0.xyxy)).xy;
					    u_xlat0.xy = fract(abs(u_xlat0.xy));
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb27.x) ? u_xlat0.x : (-u_xlat0.x);
					        hlslcc_movcTemp.y = (u_xlatb27.y) ? u_xlat0.y : (-u_xlat0.y);
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(vec2(HxTileSize, HxTileSize));
					    u_xlat0.xy = u_xlat0.xy / vec2(vec2(HxTileSize, HxTileSize));
					    u_xlat4 = textureLod(Tile5x5, u_xlat0.xy, 0.0);
					    u_xlat0.x = u_xlat4.x + hxRayOffset;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat12 = u_xlat0.x * u_xlat15;
					    u_xlat2.xyz = (-vec3(u_xlat12)) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat12 = dot(_SpotLightParams.xyz, u_xlat1.xyz);
					    u_xlatb24 = 0.99000001<u_xlat24;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat27.x = (-Phase2.w) * u_xlat12 + Phase2.z;
					    u_xlat27.x = log2(u_xlat27.x);
					    u_xlat27.x = u_xlat27.x * 1.5;
					    u_xlat27.x = exp2(u_xlat27.x);
					    u_xlat27.x = max(u_xlat27.x, 9.99999975e-05);
					    u_xlat27.x = Phase2.y / u_xlat27.x;
					    u_xlat27.x = u_xlat27.x * Phase2.x;
					    u_xlat27.x = u_xlat27.x * SunSize.x;
					    u_xlat24 = max(u_xlat24, SunSize.y);
					    u_xlat24 = u_xlat24 * u_xlat27.x;
					    u_xlat24 = min(u_xlat24, 100.0);
					    u_xlat27.x = (-Phase.w) * u_xlat12 + Phase.z;
					    u_xlat27.x = log2(u_xlat27.x);
					    u_xlat27.x = u_xlat27.x * 1.5;
					    u_xlat27.x = exp2(u_xlat27.x);
					    u_xlat27.x = Phase.y / u_xlat27.x;
					    u_xlat27.x = u_xlat27.x * Phase.x;
					    u_xlat24 = max(u_xlat24, u_xlat27.x);
					    u_xlat12 = u_xlat12 + 1.0;
					    u_xlat12 = u_xlat12 * TintPercent;
					    u_xlat12 = u_xlat12 * 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat4.xyz = vec3(LightColour.x, LightColour.y, LightColour.z) + (-LightColour2.xyz);
					    u_xlat4.xyz = vec3(u_xlat12) * u_xlat4.xyz + LightColour2.xyz;
					    u_xlat5.xyz = u_xlat2.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat5.z = 0.0;
					    u_xlat6.xyz = u_xlat2.xyz;
					    u_xlat27.x = float(0.0);
					    u_xlat27.y = float(0.0);
					    u_xlat40 = u_xlat12;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati3 ; u_xlati_loop_1++)
					    {
					        u_xlatb7 = greaterThanEqual(vec4(u_xlat40), _LightSplitsNear);
					        u_xlat7.x = u_xlatb7.x ? float(1.0) : 0.0;
					        u_xlat7.y = u_xlatb7.y ? float(1.0) : 0.0;
					        u_xlat7.z = u_xlatb7.z ? float(1.0) : 0.0;
					        u_xlat7.w = u_xlatb7.w ? float(1.0) : 0.0;
					;
					        u_xlatb8 = lessThan(vec4(u_xlat40), _LightSplitsFar);
					        u_xlat8.x = u_xlatb8.x ? float(1.0) : 0.0;
					        u_xlat8.y = u_xlatb8.y ? float(1.0) : 0.0;
					        u_xlat8.z = u_xlatb8.z ? float(1.0) : 0.0;
					        u_xlat8.w = u_xlatb8.w ? float(1.0) : 0.0;
					;
					        u_xlat9 = u_xlat7 * u_xlat8;
					        u_xlat42 = u_xlat9.y + u_xlat9.x;
					        u_xlat42 = u_xlat7.z * u_xlat8.z + u_xlat42;
					        u_xlat42 = u_xlat7.w * u_xlat8.w + u_xlat42;
					        u_xlatb42 = 0.0<u_xlat42;
					        u_xlat7.xyz = u_xlat6.yyy * unity_WorldToShadow[1 / 4][1 % 4].xyz;
					        u_xlat7.xyz = unity_WorldToShadow[0 / 4][0 % 4].xyz * u_xlat6.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_WorldToShadow[2 / 4][2 % 4].xyz * u_xlat6.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_WorldToShadow[3 / 4][3 % 4].xyz;
					        u_xlat8.xyz = u_xlat6.yyy * unity_WorldToShadow[5 / 4][5 % 4].xyz;
					        u_xlat8.xyz = unity_WorldToShadow[4 / 4][4 % 4].xyz * u_xlat6.xxx + u_xlat8.xyz;
					        u_xlat8.xyz = unity_WorldToShadow[6 / 4][6 % 4].xyz * u_xlat6.zzz + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_WorldToShadow[7 / 4][7 % 4].xyz;
					        u_xlat10.xyz = u_xlat6.yyy * unity_WorldToShadow[9 / 4][9 % 4].xyz;
					        u_xlat10.xyz = unity_WorldToShadow[8 / 4][8 % 4].xyz * u_xlat6.xxx + u_xlat10.xyz;
					        u_xlat10.xyz = unity_WorldToShadow[10 / 4][10 % 4].xyz * u_xlat6.zzz + u_xlat10.xyz;
					        u_xlat10.xyz = u_xlat10.xyz + unity_WorldToShadow[11 / 4][11 % 4].xyz;
					        u_xlat11.xyz = u_xlat6.yyy * unity_WorldToShadow[13 / 4][13 % 4].xyz;
					        u_xlat11.xyz = unity_WorldToShadow[12 / 4][12 % 4].xyz * u_xlat6.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_WorldToShadow[14 / 4][14 % 4].xyz * u_xlat6.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_WorldToShadow[15 / 4][15 % 4].xyz;
					        u_xlat8.xyz = u_xlat9.yyy * u_xlat8.xyz;
					        u_xlat7.xyz = u_xlat7.xyz * u_xlat9.xxx + u_xlat8.xyz;
					        u_xlat7.xyz = u_xlat10.xyz * u_xlat9.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat11.xyz * u_xlat9.www + u_xlat7.xyz;
					        vec3 txVec0 = vec3(u_xlat7.xy,u_xlat7.z);
					        u_xlat7.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat42 = (u_xlatb42) ? u_xlat7.x : 1.0;
					        u_xlat7.x = Density.x;
					        u_xlat7.y = float(0.0);
					        u_xlat7.z = float(0.0);
					        u_xlati43 = int(0);
					        while(true){
					            u_xlatb8.x = floatBitsToInt(u_xlat7.z)>=10;
					            u_xlati43 = 0;
					            if(u_xlatb8.x){break;}
					            u_xlatb8.x = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].y;
					            if(u_xlatb8.x){
					                u_xlat7.xy = u_xlat7.xx;
					                u_xlati43 = int(0xFFFFFFFFu);
					                break;
					            }
					            u_xlati20 = floatBitsToInt(u_xlat7.z) << 2;
					            u_xlat9.xyz = u_xlat6.yyy * hxVolumeMatrixOld[(u_xlati20 + 1) / 4][(u_xlati20 + 1) % 4].xyz;
					            u_xlat9.xyz = hxVolumeMatrixOld[u_xlati20 / 4][u_xlati20 % 4].xyz * u_xlat6.xxx + u_xlat9.xyz;
					            u_xlat9.xyz = hxVolumeMatrixOld[(u_xlati20 + 2) / 4][(u_xlati20 + 2) % 4].xyz * u_xlat6.zzz + u_xlat9.xyz;
					            u_xlat20.xyz = u_xlat9.xyz + hxVolumeMatrixOld[(u_xlati20 + 3) / 4][(u_xlati20 + 3) % 4].xyz;
					            u_xlatb9.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat20.xyzx).xyz;
					            u_xlatb10.xyz = lessThan(u_xlat20.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					            u_xlatb9.x = u_xlatb9.x && u_xlatb10.x;
					            u_xlatb9.x = u_xlatb9.y && u_xlatb9.x;
					            u_xlatb9.x = u_xlatb10.y && u_xlatb9.x;
					            u_xlatb9.x = u_xlatb9.z && u_xlatb9.x;
					            u_xlatb9.x = u_xlatb10.z && u_xlatb9.x;
					            if(u_xlatb9.x){
					                u_xlatb9.x = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].y;
					                if(u_xlatb9.x){
					                    u_xlat9.x = max(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                    u_xlat21 = u_xlat7.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x;
					                    u_xlat33 = min(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                    u_xlatb10 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].yyyy);
					                    u_xlat45 = u_xlat7.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                    u_xlat45 = (u_xlatb10.w) ? u_xlat45 : u_xlat7.x;
					                    u_xlat33 = (u_xlatb10.z) ? u_xlat33 : u_xlat45;
					                    u_xlat21 = (u_xlatb10.y) ? u_xlat21 : u_xlat33;
					                    u_xlat5.x = (u_xlatb10.x) ? u_xlat9.x : u_xlat21;
					                } else {
					                    u_xlatb9.x = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].y;
					                    u_xlat32 = dot(u_xlat20.xyz, u_xlat20.xyz);
					                    u_xlat32 = sqrt(u_xlat32);
					                    u_xlatb32 = u_xlat32<0.5;
					                    u_xlatb32 = u_xlatb32 && u_xlatb9.x;
					                    if(u_xlatb32){
					                        u_xlat32 = max(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                        u_xlat9.x = u_xlat7.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x;
					                        u_xlat21 = min(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                        u_xlatb10 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].yyyy);
					                        u_xlat33 = u_xlat7.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                        u_xlat33 = (u_xlatb10.w) ? u_xlat33 : u_xlat7.x;
					                        u_xlat21 = (u_xlatb10.z) ? u_xlat21 : u_xlat33;
					                        u_xlat9.x = (u_xlatb10.y) ? u_xlat9.x : u_xlat21;
					                        u_xlat5.x = (u_xlatb10.x) ? u_xlat32 : u_xlat9.x;
					                    } else {
					                        u_xlatb32 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].y;
					                        u_xlat20.x = dot(u_xlat20.xz, u_xlat20.xz);
					                        u_xlat20.x = sqrt(u_xlat20.x);
					                        u_xlatb20 = u_xlat20.x<0.5;
					                        u_xlatb20 = u_xlatb20 && u_xlatb32;
					                        u_xlat32 = max(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                        u_xlat44 = u_xlat7.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x;
					                        u_xlat9.x = min(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                        u_xlatb10 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].yyyy);
					                        u_xlat21 = u_xlat7.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                        u_xlat21 = (u_xlatb10.w) ? u_xlat21 : u_xlat7.x;
					                        u_xlat9.x = (u_xlatb10.z) ? u_xlat9.x : u_xlat21;
					                        u_xlat44 = (u_xlatb10.y) ? u_xlat44 : u_xlat9.x;
					                        u_xlat32 = (u_xlatb10.x) ? u_xlat32 : u_xlat44;
					                        u_xlat5.x = (u_xlatb20) ? u_xlat32 : u_xlat7.x;
					                    }
					                }
					            } else {
					                u_xlat5.x = u_xlat7.x;
					            }
					            u_xlat5.y = intBitsToFloat(floatBitsToInt(u_xlat7.z) + 1);
					            u_xlat7.xyz = u_xlat5.xzy;
					            u_xlatb43 = u_xlatb8.x;
					        }
					        u_xlat5.x = (u_xlati43 != 0) ? u_xlat7.y : u_xlat7.x;
					        u_xlat17 = u_xlat5.x * Density.w;
					        u_xlat27.y = u_xlat17 * u_xlat15 + u_xlat27.y;
					        u_xlat17 = u_xlat27.y * -1.44269502;
					        u_xlat17 = exp2(u_xlat17);
					        u_xlat5.x = u_xlat15 * u_xlat5.x;
					        u_xlat5.x = u_xlat17 * u_xlat5.x;
					        u_xlat17 = (-u_xlat42) + 1.0;
					        u_xlat17 = u_xlat17 * ShadowBias.z;
					        u_xlat17 = u_xlat42 * u_xlat24 + u_xlat17;
					        u_xlat5.x = u_xlat5.x * u_xlat17;
					        u_xlat5.x = max(u_xlat5.x, 0.0);
					        u_xlat27.x = u_xlat27.x + u_xlat5.x;
					        u_xlat6.xyz = (-u_xlat1.xyz) * vec3(u_xlat15) + u_xlat6.xyz;
					        u_xlat40 = u_xlat15 + u_xlat40;
					    }
					    u_xlatb12 = 0.0<u_xlat36;
					    if(u_xlatb12){
					        u_xlat12 = u_xlat37 + u_xlat15;
					        u_xlat2.xyz = (-u_xlat1.xyz) * vec3(u_xlat12) + _WorldSpaceCameraPos.xyz;
					        u_xlat12 = u_xlat36 / u_xlat38;
					        u_xlat0.x = u_xlat0.x * u_xlat12;
					        u_xlat2.xyz = (-u_xlat0.xxx) * u_xlat1.xyz + u_xlat2.xyz;
					        u_xlat5.z = 0.0;
					        u_xlat6.xyz = u_xlat2.xyz;
					        u_xlat0.xw = u_xlat27.xy;
					        for(int u_xlati_loop_2 = 0 ; u_xlati_loop_2<u_xlati3 ; u_xlati_loop_2++)
					        {
					            u_xlat7.x = Density.x;
					            u_xlat7.y = float(0.0);
					            u_xlat7.z = float(0.0);
					            u_xlati38 = 0;
					            while(true){
					                u_xlatb15 = floatBitsToInt(u_xlat7.z)>=10;
					                u_xlati38 = 0;
					                if(u_xlatb15){break;}
					                u_xlatb15 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].y;
					                if(u_xlatb15){
					                    u_xlat7.xy = u_xlat7.xx;
					                    u_xlati38 = int(0xFFFFFFFFu);
					                    break;
					                }
					                u_xlati40 = floatBitsToInt(u_xlat7.z) << 2;
					                u_xlat8.xyz = u_xlat6.yyy * hxVolumeMatrixOld[(u_xlati40 + 1) / 4][(u_xlati40 + 1) % 4].xyz;
					                u_xlat8.xyz = hxVolumeMatrixOld[u_xlati40 / 4][u_xlati40 % 4].xyz * u_xlat6.xxx + u_xlat8.xyz;
					                u_xlat8.xyz = hxVolumeMatrixOld[(u_xlati40 + 2) / 4][(u_xlati40 + 2) % 4].xyz * u_xlat6.zzz + u_xlat8.xyz;
					                u_xlat8.xyz = u_xlat8.xyz + hxVolumeMatrixOld[(u_xlati40 + 3) / 4][(u_xlati40 + 3) % 4].xyz;
					                u_xlatb9.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat8.xyzx).xyz;
					                u_xlatb10.xyz = lessThan(u_xlat8.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					                u_xlatb40 = u_xlatb9.x && u_xlatb10.x;
					                u_xlatb40 = u_xlatb9.y && u_xlatb40;
					                u_xlatb40 = u_xlatb10.y && u_xlatb40;
					                u_xlatb40 = u_xlatb9.z && u_xlatb40;
					                u_xlatb40 = u_xlatb10.z && u_xlatb40;
					                if(u_xlatb40){
					                    u_xlatb40 = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].y;
					                    if(u_xlatb40){
					                        u_xlat40 = max(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                        u_xlat41 = u_xlat7.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x;
					                        u_xlat42 = min(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                        u_xlatb9 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].yyyy);
					                        u_xlat43 = u_xlat7.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                        u_xlat43 = (u_xlatb9.w) ? u_xlat43 : u_xlat7.x;
					                        u_xlat42 = (u_xlatb9.z) ? u_xlat42 : u_xlat43;
					                        u_xlat41 = (u_xlatb9.y) ? u_xlat41 : u_xlat42;
					                        u_xlat5.x = (u_xlatb9.x) ? u_xlat40 : u_xlat41;
					                    } else {
					                        u_xlatb40 = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].y;
					                        u_xlat41 = dot(u_xlat8.xyz, u_xlat8.xyz);
					                        u_xlat41 = sqrt(u_xlat41);
					                        u_xlatb41 = u_xlat41<0.5;
					                        u_xlatb40 = u_xlatb40 && u_xlatb41;
					                        if(u_xlatb40){
					                            u_xlat40 = max(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                            u_xlat41 = u_xlat7.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x;
					                            u_xlat42 = min(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                            u_xlatb9 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].yyyy);
					                            u_xlat43 = u_xlat7.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                            u_xlat43 = (u_xlatb9.w) ? u_xlat43 : u_xlat7.x;
					                            u_xlat42 = (u_xlatb9.z) ? u_xlat42 : u_xlat43;
					                            u_xlat41 = (u_xlatb9.y) ? u_xlat41 : u_xlat42;
					                            u_xlat5.x = (u_xlatb9.x) ? u_xlat40 : u_xlat41;
					                        } else {
					                            u_xlatb40 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].y;
					                            u_xlat41 = dot(u_xlat8.xz, u_xlat8.xz);
					                            u_xlat41 = sqrt(u_xlat41);
					                            u_xlatb41 = u_xlat41<0.5;
					                            u_xlatb40 = u_xlatb40 && u_xlatb41;
					                            u_xlat41 = max(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                            u_xlat42 = u_xlat7.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x;
					                            u_xlat43 = min(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                            u_xlatb8 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].yyyy);
					                            u_xlat9.x = u_xlat7.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                            u_xlat44 = (u_xlatb8.w) ? u_xlat9.x : u_xlat7.x;
					                            u_xlat43 = (u_xlatb8.z) ? u_xlat43 : u_xlat44;
					                            u_xlat42 = (u_xlatb8.y) ? u_xlat42 : u_xlat43;
					                            u_xlat41 = (u_xlatb8.x) ? u_xlat41 : u_xlat42;
					                            u_xlat5.x = (u_xlatb40) ? u_xlat41 : u_xlat7.x;
					                        }
					                    }
					                } else {
					                    u_xlat5.x = u_xlat7.x;
					                }
					                u_xlat5.y = intBitsToFloat(floatBitsToInt(u_xlat7.z) + 1);
					                u_xlat7.xyz = u_xlat5.xzy;
					                u_xlatb38 = u_xlatb15;
					            }
					            u_xlat15 = (u_xlati38 != 0) ? u_xlat7.y : u_xlat7.x;
					            u_xlat40 = u_xlat15 * Density.w;
					            u_xlat0.w = u_xlat40 * u_xlat12 + u_xlat0.w;
					            u_xlat40 = u_xlat0.w * -1.44269502;
					            u_xlat40 = exp2(u_xlat40);
					            u_xlat15 = u_xlat12 * u_xlat15;
					            u_xlat15 = u_xlat40 * u_xlat15;
					            u_xlat15 = u_xlat24 * u_xlat15;
					            u_xlat15 = max(u_xlat15, 0.0);
					            u_xlat0.x = u_xlat0.x + u_xlat15;
					            u_xlat6.xyz = (-u_xlat1.xyz) * vec3(u_xlat12) + u_xlat6.xyz;
					        }
					        u_xlat27.xy = u_xlat0.xw;
					    }
					    u_xlat0.x = u_xlat27.y * -1.44269502;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    SV_Target0.xyz = u_xlat27.xxx * u_xlat4.xyz;
					    u_xlat12 = (-ExtinctionEffect) + 1.0;
					    u_xlat24 = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat12 * u_xlat24 + u_xlat0.x;
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    SV_Target0.w = u_xlat0.x * FirstLight;
					    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[14];
						vec4 Phase;
						vec4 Phase2;
						vec4 Density;
						vec4 unused_0_4;
						mat4x4 hxVolumeMatrixOld[10];
						vec4 unused_0_6[36];
						vec2 hxVolumeSettingsOld[10];
						vec4 unused_0_8[263];
						float hxRayOffset;
						float HxTileSize;
						mat4x4 InverseProjectionMatrix;
						mat4x4 InverseProjectionMatrix2;
						vec4 unused_0_13[14];
						mat4x4 hxCameraToWorld;
						mat4x4 hxCameraToWorld2;
						float FirstLight;
						vec4 unused_0_17[5];
						vec3 ShadowBias;
						vec4 unused_0_19[5];
						vec4 _SpotLightParams;
						vec3 CameraFoward;
						float VolumeScale;
						float ExtinctionEffect;
						vec3 LightColour;
						vec3 LightColour2;
						vec4 unused_0_26;
						float TintPercent;
						vec2 MaxRayDistance;
						vec4 unused_0_29[3];
						vec2 SunSize;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 _ScreenParams;
						vec4 unused_1_3[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[6];
						vec4 _LightSplitsNear;
						vec4 _LightSplitsFar;
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_2_4[14];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D Tile5x5;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec2 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bvec4 u_xlatb7;
					vec4 u_xlat8;
					bvec4 u_xlatb8;
					vec4 u_xlat9;
					bvec4 u_xlatb9;
					vec3 u_xlat10;
					bvec4 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					int u_xlati15;
					float u_xlat17;
					vec3 u_xlat19;
					int u_xlati19;
					bool u_xlatb19;
					float u_xlat21;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					bool u_xlatb31;
					float u_xlat33;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					float u_xlat37;
					int u_xlati37;
					float u_xlat38;
					int u_xlati38;
					bool u_xlatb38;
					float u_xlat39;
					float u_xlat40;
					float u_xlat41;
					bool u_xlatb41;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					int u_xlati43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / vs_TEXCOORD0.ww;
					    u_xlat1 = textureLod(VolumetricDepth, u_xlat0.xy, 0.0).xwyz;
					    u_xlat24 = dot(u_xlat1.xz, vec2(1.0, 0.00392156886));
					    u_xlatb36 = 0.5<u_xlat1.w;
					    u_xlat25 = u_xlat1.w + u_xlat1.w;
					    u_xlat1.x = fract(u_xlat25);
					    u_xlat1.xy = (-u_xlat1.xy) + vec2(1.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xyz = (bool(u_xlatb36)) ? InverseProjectionMatrix2[0].xyz : InverseProjectionMatrix[0].xyz;
					    u_xlat3.xyz = (bool(u_xlatb36)) ? InverseProjectionMatrix2[1].xyz : InverseProjectionMatrix[1].xyz;
					    u_xlat4.xyz = (bool(u_xlatb36)) ? InverseProjectionMatrix2[2].xyz : InverseProjectionMatrix[2].xyz;
					    u_xlat5.xyw = (bool(u_xlatb36)) ? InverseProjectionMatrix2[3].xyz : InverseProjectionMatrix[3].xyz;
					    u_xlat6.x = (u_xlatb36) ? InverseProjectionMatrix2[0].w : InverseProjectionMatrix[0].w;
					    u_xlat6.y = (u_xlatb36) ? InverseProjectionMatrix2[1].w : InverseProjectionMatrix[1].w;
					    u_xlat6.z = (u_xlatb36) ? InverseProjectionMatrix2[2].w : InverseProjectionMatrix[2].w;
					    u_xlat6.w = (u_xlatb36) ? InverseProjectionMatrix2[3].w : InverseProjectionMatrix[3].w;
					    u_xlat7.x = u_xlat2.x;
					    u_xlat7.y = u_xlat3.x;
					    u_xlat7.z = u_xlat4.x;
					    u_xlat7.w = u_xlat5.x;
					    u_xlat1.z = float(1.0);
					    u_xlat1.w = float(1.0);
					    u_xlat7.x = dot(u_xlat7, u_xlat1);
					    u_xlat8.x = u_xlat2.y;
					    u_xlat8.y = u_xlat3.y;
					    u_xlat8.z = u_xlat4.y;
					    u_xlat8.w = u_xlat5.y;
					    u_xlat7.y = dot(u_xlat8, u_xlat1);
					    u_xlat5.x = u_xlat2.z;
					    u_xlat5.y = u_xlat3.z;
					    u_xlat5.z = u_xlat4.z;
					    u_xlat7.z = dot(u_xlat5, u_xlat1);
					    u_xlat1.x = dot(u_xlat6, u_xlat1);
					    u_xlat1.xyz = u_xlat7.xyz / u_xlat1.xxx;
					    u_xlat2.xy = (bool(u_xlatb36)) ? hxCameraToWorld[0].xy : hxCameraToWorld2[0].xy;
					    u_xlat2.zw = (bool(u_xlatb36)) ? hxCameraToWorld[1].xy : hxCameraToWorld2[1].xy;
					    u_xlat3.xy = (bool(u_xlatb36)) ? hxCameraToWorld[2].xy : hxCameraToWorld2[2].xy;
					    u_xlat4.xw = (bool(u_xlatb36)) ? hxCameraToWorld[3].xy : hxCameraToWorld2[3].xy;
					    u_xlat5.x = (u_xlatb36) ? hxCameraToWorld[0].z : hxCameraToWorld2[0].z;
					    u_xlat5.y = (u_xlatb36) ? hxCameraToWorld[1].z : hxCameraToWorld2[1].z;
					    u_xlat5.z = (u_xlatb36) ? hxCameraToWorld[2].z : hxCameraToWorld2[2].z;
					    u_xlat5.w = (u_xlatb36) ? hxCameraToWorld[3].z : hxCameraToWorld2[3].z;
					    u_xlat36 = _ProjectionParams.z / u_xlat1.z;
					    u_xlat1.xyz = vec3(u_xlat36) * (-u_xlat1.xyz);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz;
					    u_xlat6.xy = u_xlat2.xz;
					    u_xlat6.z = u_xlat3.x;
					    u_xlat6.w = u_xlat4.x;
					    u_xlat1.w = 1.0;
					    u_xlat6.x = dot(u_xlat6, u_xlat1);
					    u_xlat4.xy = u_xlat2.yw;
					    u_xlat4.z = u_xlat3.y;
					    u_xlat6.y = dot(u_xlat4, u_xlat1);
					    u_xlat6.z = dot(u_xlat5, u_xlat1);
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat6.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat37 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat37 = dot(CameraFoward.xyz, (-u_xlat1.xyz));
					    u_xlat37 = _ProjectionParams.y / u_xlat37;
					    u_xlat1.xyz = (-u_xlat1.xyz) * vec3(u_xlat37) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat2.xyz = _SpotLightParams.xyz * ShadowBias.xxx + u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat1.xyz + (-u_xlat2.xyz);
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = sqrt(u_xlat37);
					    u_xlat2.xyz = u_xlat2.xyz / vec3(u_xlat37);
					    u_xlat37 = min(u_xlat37, MaxRayDistance.xxyx.z);
					    u_xlat38 = min(u_xlat37, MaxRayDistance.xxyx.y);
					    u_xlat37 = u_xlat37 + (-u_xlat38);
					    u_xlat3.x = min(Density.y, 128.0);
					    u_xlati15 = int(u_xlat3.x);
					    u_xlat3.x = trunc(u_xlat3.x);
					    u_xlat27 = u_xlat38 / u_xlat3.x;
					    u_xlat4.xy = vec2(vec2(VolumeScale, VolumeScale)) * _ScreenParams.xy;
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy;
					    u_xlat0.xy = u_xlat0.xy / vec2(vec2(HxTileSize, HxTileSize));
					    u_xlatb4.xy = greaterThanEqual(u_xlat0.xyxx, (-u_xlat0.xyxx)).xy;
					    u_xlat0.xy = fract(abs(u_xlat0.xy));
					    {
					        vec2 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : (-u_xlat0.x);
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : (-u_xlat0.y);
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(vec2(HxTileSize, HxTileSize));
					    u_xlat0.xy = u_xlat0.xy / vec2(vec2(HxTileSize, HxTileSize));
					    u_xlat4 = textureLod(Tile5x5, u_xlat0.xy, 0.0);
					    u_xlat0.x = u_xlat4.x + hxRayOffset;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat12 = u_xlat0.x * u_xlat27;
					    u_xlat1.xyz = (-vec3(u_xlat12)) * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat12 = dot(_SpotLightParams.xyz, u_xlat2.xyz);
					    u_xlatb24 = 0.99000001<u_xlat24;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat39 = (-Phase2.w) * u_xlat12 + Phase2.z;
					    u_xlat39 = log2(u_xlat39);
					    u_xlat39 = u_xlat39 * 1.5;
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat39 = max(u_xlat39, 9.99999975e-05);
					    u_xlat39 = Phase2.y / u_xlat39;
					    u_xlat39 = u_xlat39 * Phase2.x;
					    u_xlat39 = u_xlat39 * SunSize.x;
					    u_xlat24 = max(u_xlat24, SunSize.y);
					    u_xlat24 = u_xlat24 * u_xlat39;
					    u_xlat24 = min(u_xlat24, 100.0);
					    u_xlat39 = (-Phase.w) * u_xlat12 + Phase.z;
					    u_xlat39 = log2(u_xlat39);
					    u_xlat39 = u_xlat39 * 1.5;
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat39 = Phase.y / u_xlat39;
					    u_xlat39 = u_xlat39 * Phase.x;
					    u_xlat24 = max(u_xlat24, u_xlat39);
					    u_xlat12 = u_xlat12 + 1.0;
					    u_xlat12 = u_xlat12 * TintPercent;
					    u_xlat12 = u_xlat12 * 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat4.xyz = vec3(LightColour.x, LightColour.y, LightColour.z) + (-LightColour2.xyz);
					    u_xlat4.xyz = vec3(u_xlat12) * u_xlat4.xyz + LightColour2.xyz;
					    u_xlat5.xyz = u_xlat1.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati36].xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat5.z = 0.0;
					    u_xlat6.xyz = u_xlat1.xyz;
					    u_xlat39 = 0.0;
					    u_xlat40 = 0.0;
					    u_xlat41 = u_xlat12;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati15 ; u_xlati_loop_1++)
					    {
					        u_xlatb7 = greaterThanEqual(vec4(u_xlat41), _LightSplitsNear);
					        u_xlat7.x = u_xlatb7.x ? float(1.0) : 0.0;
					        u_xlat7.y = u_xlatb7.y ? float(1.0) : 0.0;
					        u_xlat7.z = u_xlatb7.z ? float(1.0) : 0.0;
					        u_xlat7.w = u_xlatb7.w ? float(1.0) : 0.0;
					;
					        u_xlatb8 = lessThan(vec4(u_xlat41), _LightSplitsFar);
					        u_xlat8.x = u_xlatb8.x ? float(1.0) : 0.0;
					        u_xlat8.y = u_xlatb8.y ? float(1.0) : 0.0;
					        u_xlat8.z = u_xlatb8.z ? float(1.0) : 0.0;
					        u_xlat8.w = u_xlatb8.w ? float(1.0) : 0.0;
					;
					        u_xlat9 = u_xlat7 * u_xlat8;
					        u_xlat7.x = u_xlat9.y + u_xlat9.x;
					        u_xlat7.x = u_xlat7.z * u_xlat8.z + u_xlat7.x;
					        u_xlat7.x = u_xlat7.w * u_xlat8.w + u_xlat7.x;
					        u_xlatb7.x = 0.0<u_xlat7.x;
					        u_xlat19.xyz = u_xlat6.yyy * unity_WorldToShadow[1 / 4][1 % 4].xyz;
					        u_xlat19.xyz = unity_WorldToShadow[0 / 4][0 % 4].xyz * u_xlat6.xxx + u_xlat19.xyz;
					        u_xlat19.xyz = unity_WorldToShadow[2 / 4][2 % 4].xyz * u_xlat6.zzz + u_xlat19.xyz;
					        u_xlat19.xyz = u_xlat19.xyz + unity_WorldToShadow[3 / 4][3 % 4].xyz;
					        u_xlat8.xyz = u_xlat6.yyy * unity_WorldToShadow[5 / 4][5 % 4].xyz;
					        u_xlat8.xyz = unity_WorldToShadow[4 / 4][4 % 4].xyz * u_xlat6.xxx + u_xlat8.xyz;
					        u_xlat8.xyz = unity_WorldToShadow[6 / 4][6 % 4].xyz * u_xlat6.zzz + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_WorldToShadow[7 / 4][7 % 4].xyz;
					        u_xlat10.xyz = u_xlat6.yyy * unity_WorldToShadow[9 / 4][9 % 4].xyz;
					        u_xlat10.xyz = unity_WorldToShadow[8 / 4][8 % 4].xyz * u_xlat6.xxx + u_xlat10.xyz;
					        u_xlat10.xyz = unity_WorldToShadow[10 / 4][10 % 4].xyz * u_xlat6.zzz + u_xlat10.xyz;
					        u_xlat10.xyz = u_xlat10.xyz + unity_WorldToShadow[11 / 4][11 % 4].xyz;
					        u_xlat11.xyz = u_xlat6.yyy * unity_WorldToShadow[13 / 4][13 % 4].xyz;
					        u_xlat11.xyz = unity_WorldToShadow[12 / 4][12 % 4].xyz * u_xlat6.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_WorldToShadow[14 / 4][14 % 4].xyz * u_xlat6.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_WorldToShadow[15 / 4][15 % 4].xyz;
					        u_xlat8.xyz = u_xlat9.yyy * u_xlat8.xyz;
					        u_xlat19.xyz = u_xlat19.xyz * u_xlat9.xxx + u_xlat8.xyz;
					        u_xlat19.xyz = u_xlat10.xyz * u_xlat9.zzz + u_xlat19.xyz;
					        u_xlat19.xyz = u_xlat11.xyz * u_xlat9.www + u_xlat19.xyz;
					        vec3 txVec0 = vec3(u_xlat19.xy,u_xlat19.z);
					        u_xlat19.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat7.x = (u_xlatb7.x) ? u_xlat19.x : 1.0;
					        u_xlat8.x = Density.x;
					        u_xlat8.y = float(0.0);
					        u_xlat8.z = float(0.0);
					        u_xlati19 = 0;
					        while(true){
					            u_xlatb31 = floatBitsToInt(u_xlat8.z)>=10;
					            u_xlati19 = 0;
					            if(u_xlatb31){break;}
					            u_xlatb31 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					            if(u_xlatb31){
					                u_xlat8.xy = u_xlat8.xx;
					                u_xlati19 = int(0xFFFFFFFFu);
					                break;
					            }
					            u_xlati43 = floatBitsToInt(u_xlat8.z) << 2;
					            u_xlat9.xyz = u_xlat6.yyy * hxVolumeMatrixOld[(u_xlati43 + 1) / 4][(u_xlati43 + 1) % 4].xyz;
					            u_xlat9.xyz = hxVolumeMatrixOld[u_xlati43 / 4][u_xlati43 % 4].xyz * u_xlat6.xxx + u_xlat9.xyz;
					            u_xlat9.xyz = hxVolumeMatrixOld[(u_xlati43 + 2) / 4][(u_xlati43 + 2) % 4].xyz * u_xlat6.zzz + u_xlat9.xyz;
					            u_xlat9.xyz = u_xlat9.xyz + hxVolumeMatrixOld[(u_xlati43 + 3) / 4][(u_xlati43 + 3) % 4].xyz;
					            u_xlatb10.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat9.xyzx).xyz;
					            u_xlatb11.xyz = lessThan(u_xlat9.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					            u_xlatb43 = u_xlatb10.x && u_xlatb11.x;
					            u_xlatb43 = u_xlatb10.y && u_xlatb43;
					            u_xlatb43 = u_xlatb11.y && u_xlatb43;
					            u_xlatb43 = u_xlatb10.z && u_xlatb43;
					            u_xlatb43 = u_xlatb11.z && u_xlatb43;
					            if(u_xlatb43){
					                u_xlatb43 = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                if(u_xlatb43){
					                    u_xlat43 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                    u_xlat44 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                    u_xlat45 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                    u_xlatb10 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                    u_xlat11.x = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                    u_xlat46 = (u_xlatb10.w) ? u_xlat11.x : u_xlat8.x;
					                    u_xlat45 = (u_xlatb10.z) ? u_xlat45 : u_xlat46;
					                    u_xlat44 = (u_xlatb10.y) ? u_xlat44 : u_xlat45;
					                    u_xlat5.x = (u_xlatb10.x) ? u_xlat43 : u_xlat44;
					                } else {
					                    u_xlatb43 = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                    u_xlat44 = dot(u_xlat9.xyz, u_xlat9.xyz);
					                    u_xlat44 = sqrt(u_xlat44);
					                    u_xlatb44 = u_xlat44<0.5;
					                    u_xlatb43 = u_xlatb43 && u_xlatb44;
					                    if(u_xlatb43){
					                        u_xlat43 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat44 = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                        u_xlat21 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlatb10 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                        u_xlat45 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat45 = (u_xlatb10.w) ? u_xlat45 : u_xlat8.x;
					                        u_xlat21 = (u_xlatb10.z) ? u_xlat21 : u_xlat45;
					                        u_xlat44 = (u_xlatb10.y) ? u_xlat44 : u_xlat21;
					                        u_xlat5.x = (u_xlatb10.x) ? u_xlat43 : u_xlat44;
					                    } else {
					                        u_xlatb43 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].y;
					                        u_xlat44 = dot(u_xlat9.xz, u_xlat9.xz);
					                        u_xlat44 = sqrt(u_xlat44);
					                        u_xlatb44 = u_xlat44<0.5;
					                        u_xlatb43 = u_xlatb43 && u_xlatb44;
					                        u_xlat44 = max(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat9.x = u_xlat8.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x;
					                        u_xlat21 = min(u_xlat8.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlatb10 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].yyyy);
					                        u_xlat33 = u_xlat8.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat8.z)].x);
					                        u_xlat33 = (u_xlatb10.w) ? u_xlat33 : u_xlat8.x;
					                        u_xlat21 = (u_xlatb10.z) ? u_xlat21 : u_xlat33;
					                        u_xlat9.x = (u_xlatb10.y) ? u_xlat9.x : u_xlat21;
					                        u_xlat44 = (u_xlatb10.x) ? u_xlat44 : u_xlat9.x;
					                        u_xlat5.x = (u_xlatb43) ? u_xlat44 : u_xlat8.x;
					                    }
					                }
					            } else {
					                u_xlat5.x = u_xlat8.x;
					            }
					            u_xlat5.y = intBitsToFloat(floatBitsToInt(u_xlat8.z) + 1);
					            u_xlat8.xyz = u_xlat5.xzy;
					            u_xlatb19 = u_xlatb31;
					        }
					        u_xlat5.x = (u_xlati19 != 0) ? u_xlat8.y : u_xlat8.x;
					        u_xlat17 = u_xlat5.x * Density.w;
					        u_xlat40 = u_xlat17 * u_xlat27 + u_xlat40;
					        u_xlat17 = u_xlat40 * -1.44269502;
					        u_xlat17 = exp2(u_xlat17);
					        u_xlat5.x = u_xlat27 * u_xlat5.x;
					        u_xlat5.x = u_xlat17 * u_xlat5.x;
					        u_xlat17 = (-u_xlat7.x) + 1.0;
					        u_xlat17 = u_xlat17 * ShadowBias.z;
					        u_xlat17 = u_xlat7.x * u_xlat24 + u_xlat17;
					        u_xlat5.x = u_xlat5.x * u_xlat17;
					        u_xlat5.x = max(u_xlat5.x, 0.0);
					        u_xlat39 = u_xlat39 + u_xlat5.x;
					        u_xlat6.xyz = (-u_xlat2.xyz) * vec3(u_xlat27) + u_xlat6.xyz;
					        u_xlat41 = u_xlat27 + u_xlat41;
					    }
					    u_xlatb12 = 0.0<u_xlat37;
					    if(u_xlatb12){
					        u_xlat12 = u_xlat38 + u_xlat27;
					        u_xlat1.xyz = (-u_xlat2.xyz) * vec3(u_xlat12) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					        u_xlat12 = u_xlat37 / u_xlat3.x;
					        u_xlat0.x = u_xlat0.x * u_xlat12;
					        u_xlat1.xyz = (-u_xlat0.xxx) * u_xlat2.xyz + u_xlat1.xyz;
					        u_xlat5.z = 0.0;
					        u_xlat6.xyz = u_xlat1.xyz;
					        u_xlat0.x = u_xlat39;
					        u_xlat36 = u_xlat40;
					        for(int u_xlati_loop_2 = 0 ; u_xlati_loop_2<u_xlati15 ; u_xlati_loop_2++)
					        {
					            u_xlat7.x = Density.x;
					            u_xlat7.y = float(0.0);
					            u_xlat7.z = float(0.0);
					            u_xlati38 = 0;
					            while(true){
					                u_xlatb3 = floatBitsToInt(u_xlat7.z)>=10;
					                u_xlati38 = 0;
					                if(u_xlatb3){break;}
					                u_xlatb3 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].y;
					                if(u_xlatb3){
					                    u_xlat7.xy = u_xlat7.xx;
					                    u_xlati38 = int(0xFFFFFFFFu);
					                    break;
					                }
					                u_xlati27 = floatBitsToInt(u_xlat7.z) << 2;
					                u_xlat8.xyz = u_xlat6.yyy * hxVolumeMatrixOld[(u_xlati27 + 1) / 4][(u_xlati27 + 1) % 4].xyz;
					                u_xlat8.xyz = hxVolumeMatrixOld[u_xlati27 / 4][u_xlati27 % 4].xyz * u_xlat6.xxx + u_xlat8.xyz;
					                u_xlat8.xyz = hxVolumeMatrixOld[(u_xlati27 + 2) / 4][(u_xlati27 + 2) % 4].xyz * u_xlat6.zzz + u_xlat8.xyz;
					                u_xlat8.xyz = u_xlat8.xyz + hxVolumeMatrixOld[(u_xlati27 + 3) / 4][(u_xlati27 + 3) % 4].xyz;
					                u_xlatb9.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat8.xyzx).xyz;
					                u_xlatb10.xyz = lessThan(u_xlat8.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					                u_xlatb27 = u_xlatb9.x && u_xlatb10.x;
					                u_xlatb27 = u_xlatb9.y && u_xlatb27;
					                u_xlatb27 = u_xlatb10.y && u_xlatb27;
					                u_xlatb27 = u_xlatb9.z && u_xlatb27;
					                u_xlatb27 = u_xlatb10.z && u_xlatb27;
					                if(u_xlatb27){
					                    u_xlatb27 = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].y;
					                    if(u_xlatb27){
					                        u_xlat27 = max(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                        u_xlat41 = u_xlat7.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x;
					                        u_xlat42 = min(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                        u_xlatb9 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].yyyy);
					                        u_xlat43 = u_xlat7.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                        u_xlat43 = (u_xlatb9.w) ? u_xlat43 : u_xlat7.x;
					                        u_xlat42 = (u_xlatb9.z) ? u_xlat42 : u_xlat43;
					                        u_xlat41 = (u_xlatb9.y) ? u_xlat41 : u_xlat42;
					                        u_xlat5.x = (u_xlatb9.x) ? u_xlat27 : u_xlat41;
					                    } else {
					                        u_xlatb27 = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].y;
					                        u_xlat41 = dot(u_xlat8.xyz, u_xlat8.xyz);
					                        u_xlat41 = sqrt(u_xlat41);
					                        u_xlatb41 = u_xlat41<0.5;
					                        u_xlatb27 = u_xlatb27 && u_xlatb41;
					                        if(u_xlatb27){
					                            u_xlat27 = max(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                            u_xlat41 = u_xlat7.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x;
					                            u_xlat42 = min(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                            u_xlatb9 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].yyyy);
					                            u_xlat43 = u_xlat7.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                            u_xlat43 = (u_xlatb9.w) ? u_xlat43 : u_xlat7.x;
					                            u_xlat42 = (u_xlatb9.z) ? u_xlat42 : u_xlat43;
					                            u_xlat41 = (u_xlatb9.y) ? u_xlat41 : u_xlat42;
					                            u_xlat5.x = (u_xlatb9.x) ? u_xlat27 : u_xlat41;
					                        } else {
					                            u_xlatb27 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].y;
					                            u_xlat41 = dot(u_xlat8.xz, u_xlat8.xz);
					                            u_xlat41 = sqrt(u_xlat41);
					                            u_xlatb41 = u_xlat41<0.5;
					                            u_xlatb27 = u_xlatb27 && u_xlatb41;
					                            u_xlat41 = max(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                            u_xlat42 = u_xlat7.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x;
					                            u_xlat43 = min(u_xlat7.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                            u_xlatb8 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].yyyy);
					                            u_xlat9.x = u_xlat7.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat7.z)].x);
					                            u_xlat44 = (u_xlatb8.w) ? u_xlat9.x : u_xlat7.x;
					                            u_xlat43 = (u_xlatb8.z) ? u_xlat43 : u_xlat44;
					                            u_xlat42 = (u_xlatb8.y) ? u_xlat42 : u_xlat43;
					                            u_xlat41 = (u_xlatb8.x) ? u_xlat41 : u_xlat42;
					                            u_xlat5.x = (u_xlatb27) ? u_xlat41 : u_xlat7.x;
					                        }
					                    }
					                } else {
					                    u_xlat5.x = u_xlat7.x;
					                }
					                u_xlat5.y = intBitsToFloat(floatBitsToInt(u_xlat7.z) + 1);
					                u_xlat7.xyz = u_xlat5.xzy;
					                u_xlatb38 = u_xlatb3;
					            }
					            u_xlat3.x = (u_xlati38 != 0) ? u_xlat7.y : u_xlat7.x;
					            u_xlat27 = u_xlat3.x * Density.w;
					            u_xlat36 = u_xlat27 * u_xlat12 + u_xlat36;
					            u_xlat27 = u_xlat36 * -1.44269502;
					            u_xlat27 = exp2(u_xlat27);
					            u_xlat3.x = u_xlat12 * u_xlat3.x;
					            u_xlat3.x = u_xlat27 * u_xlat3.x;
					            u_xlat3.x = u_xlat24 * u_xlat3.x;
					            u_xlat3.x = max(u_xlat3.x, 0.0);
					            u_xlat0.x = u_xlat0.x + u_xlat3.x;
					            u_xlat6.xyz = (-u_xlat2.xyz) * vec3(u_xlat12) + u_xlat6.xyz;
					        }
					        u_xlat39 = u_xlat0.x;
					        u_xlat40 = u_xlat36;
					    }
					    u_xlat0.x = u_xlat40 * -1.44269502;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat4.xyz;
					    u_xlat12 = (-ExtinctionEffect) + 1.0;
					    u_xlat24 = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat12 * u_xlat24 + u_xlat0.x;
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    SV_Target0.w = u_xlat0.x * FirstLight;
					    return;
					}"
				}
			}
		}
	}
}