Shader "Hidden/HxVolumetricPointLight" {
	Properties {
	}
	SubShader {
		Pass {
			Blend One One, One One
			ZTest Always
			ZWrite Off
			Cull Front
			Fog {
				Mode Off
			}
			GpuProgramID 819
			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[350];
						mat4x4 VolumetricMVP;
						vec4 unused_0_2[12];
					};
					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;
					float 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;
					    u_xlat0.z = min(u_xlat0.z, _ProjectionParams.z);
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.zw = u_xlat0.zw;
					    u_xlat1 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat1 * 0.5;
					    vs_TEXCOORD0.xy = u_xlat0.zz + u_xlat0.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 UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    u_xlat0.z = min(u_xlat0.z, _ProjectionParams.z);
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.zw = u_xlat0.zw;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati6].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati6].xy + u_xlat1.xy;
					    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 unused_0_2;
						vec4 Density;
						vec4 unused_0_4;
						mat4x4 hxVolumeMatrixOld[10];
						vec4 unused_0_6[36];
						vec2 hxVolumeSettingsOld[10];
						vec4 unused_0_8[263];
						float hxRayOffset;
						vec4 unused_0_10[4];
						mat4x4 InverseProjectionMatrix;
						vec3 LightColour;
						vec3 LightColour2;
						vec4 unused_0_14;
						vec4 _LightParams;
						vec4 _CustomLightPosition;
						float HxTileSize;
						vec4 unused_0_18;
						mat4x4 hxCameraToWorld;
						vec4 unused_0_20[16];
						float TintPercent;
						vec4 unused_0_22[4];
						float VolumeScale;
						vec4 unused_0_24;
						vec3 ShadowBias;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 _ScreenParams;
						vec4 unused_1_4[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[2];
						vec4 _LightProjectionParams;
						vec4 unused_2_2[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D Tile5x5;
					uniform  sampler2D _FalloffTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec4 u_xlatb11;
					float u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat23;
					vec2 u_xlat26;
					bvec2 u_xlatb26;
					int u_xlati27;
					float u_xlat28;
					bool u_xlatb28;
					int u_xlati30;
					float u_xlat36;
					float u_xlat39;
					float u_xlat40;
					float u_xlat41;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					float u_xlat45;
					int u_xlati45;
					bool u_xlatb45;
					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);
					    u_xlat26.x = 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 = u_xlat26.xxx * 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_xlat26.xy = vec2(VolumeScale) * _ScreenParams.xy;
					    u_xlat0.xy = u_xlat0.xy * u_xlat26.xy;
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlatb26.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_xlatb26.x) ? u_xlat0.x : (-u_xlat0.x);
					        hlslcc_movcTemp.y = (u_xlatb26.y) ? u_xlat0.y : (-u_xlat0.y);
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(HxTileSize);
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlat0 = textureLod(Tile5x5, u_xlat0.xy, 0.0);
					    u_xlat0.x = u_xlat0.x + hxRayOffset;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat13.xyz = u_xlat1.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat1.x = dot(u_xlat13.xyz, u_xlat13.xyz);
					    u_xlat14 = inversesqrt(u_xlat1.x);
					    u_xlat13.xyz = u_xlat13.xyz * vec3(u_xlat14);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat14 = min(Density.y, 128.0);
					    u_xlati27 = int(u_xlat14);
					    u_xlat2.xyz = (-_CustomLightPosition.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat40 = dot(u_xlat13.xyz, u_xlat2.xyz);
					    u_xlat41 = u_xlat40 + u_xlat40;
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = _LightParams.z * _LightParams.z;
					    u_xlat2.x = (-_LightParams.z) * _LightParams.z + u_xlat2.x;
					    u_xlat2.x = u_xlat2.x * 4.0;
					    u_xlat2.x = u_xlat41 * u_xlat41 + (-u_xlat2.x);
					    u_xlatb28 = u_xlat2.x<0.0;
					    if(((int(u_xlatb28) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat28 = (-u_xlat40) * 2.0 + (-u_xlat2.x);
					    u_xlat28 = u_xlat28 * 0.5;
					    u_xlat40 = (-u_xlat40) * 2.0 + u_xlat2.x;
					    u_xlat40 = u_xlat40 * 0.5;
					    u_xlat2.x = max(u_xlat28, u_xlat40);
					    u_xlat1.x = min(u_xlat1.x, u_xlat2.x);
					    u_xlat40 = min(u_xlat28, u_xlat40);
					    u_xlat40 = max(u_xlat40, 0.0);
					    u_xlat1.x = (-u_xlat40) + u_xlat1.x;
					    u_xlat2.x = u_xlat1.x + -9.99999975e-05;
					    u_xlatb2 = u_xlat2.x<0.0;
					    if(((int(u_xlatb2) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2.xzw = u_xlat13.xyz * vec3(u_xlat40) + _WorldSpaceCameraPos.xyz;
					    u_xlat14 = trunc(u_xlat14);
					    u_xlat1.x = u_xlat1.x / u_xlat14;
					    u_xlat3.xyz = u_xlat13.xyz * u_xlat1.xxx;
					    u_xlat2.xzw = u_xlat3.xyz * u_xlat0.xxx + u_xlat2.xzw;
					    u_xlat0.x = u_xlat40 * Density.x;
					    u_xlat0.x = u_xlat0.x * Density.w;
					    u_xlat14 = u_xlat1.x * Density.w;
					    u_xlat40 = (-_LightShadowData.x) + 1.0;
					    u_xlat15 = float(1.0) / u_xlat15;
					    u_xlat3.xyz = LightColour.xyz + (-LightColour2.xyz);
					    u_xlat4.y = 0.0;
					    u_xlat5.z = 0.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat7.xyz = u_xlat2.xzw;
					    u_xlat42 = u_xlat0.x;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat8.xyz = u_xlat7.xyz + (-_CustomLightPosition.xyz);
					        u_xlat43 = max(abs(u_xlat8.y), abs(u_xlat8.x));
					        u_xlat43 = max(abs(u_xlat8.z), u_xlat43);
					        u_xlat43 = u_xlat43 + (-_LightProjectionParams.z);
					        u_xlat43 = max(u_xlat43, 9.99999975e-06);
					        u_xlat43 = u_xlat43 * _LightProjectionParams.w;
					        u_xlat43 = _LightProjectionParams.y / u_xlat43;
					        u_xlat43 = u_xlat43 + (-_LightProjectionParams.x);
					        u_xlat43 = (-u_xlat43) + 1.0;
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat43);
					        u_xlat43 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat43 = u_xlat43 * u_xlat40 + _LightShadowData.x;
					        u_xlat44 = dot(u_xlat8.xyz, u_xlat8.xyz);
					        u_xlat45 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat45) * u_xlat8.xyz;
					        u_xlat9.x = Density.x;
					        u_xlat9.y = float(0.0);
					        u_xlat9.z = float(0.0);
					        u_xlati45 = 0;
					        while(true){
					            u_xlatb46 = floatBitsToInt(u_xlat9.z)>=10;
					            u_xlati45 = 0;
					            if(u_xlatb46){break;}
					            u_xlatb46 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].y;
					            if(u_xlatb46){
					                u_xlat9.xy = u_xlat9.xx;
					                u_xlati45 = 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 = u_xlat9.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                    u_xlat50 = (u_xlatb11.w) ? u_xlat12 : u_xlat9.x;
					                    u_xlat49 = (u_xlatb11.z) ? u_xlat49 : u_xlat50;
					                    u_xlat48 = (u_xlatb11.y) ? u_xlat48 : u_xlat49;
					                    u_xlat5.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_xlat5.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_xlat5.x = (u_xlatb47) ? u_xlat48 : u_xlat9.x;
					                    }
					                }
					            } else {
					                u_xlat5.x = u_xlat9.x;
					            }
					            u_xlat5.y = intBitsToFloat(floatBitsToInt(u_xlat9.z) + 1);
					            u_xlat9.xyz = u_xlat5.xzy;
					            u_xlatb45 = u_xlatb46;
					        }
					        u_xlat5.x = (u_xlati45 != 0) ? u_xlat9.y : u_xlat9.x;
					        u_xlat18 = dot(u_xlat8.xyz, (-u_xlat13.xyz));
					        u_xlat18 = (-Phase.w) * u_xlat18 + Phase.z;
					        u_xlat18 = log2(u_xlat18);
					        u_xlat18 = u_xlat18 * 1.5;
					        u_xlat18 = exp2(u_xlat18);
					        u_xlat18 = Phase.y / u_xlat18;
					        u_xlat18 = u_xlat18 * Phase.x;
					        u_xlat4.x = u_xlat15 * u_xlat44;
					        u_xlat8 = textureLod(_FalloffTex, u_xlat4.xy, 0.0);
					        u_xlat4.x = (-u_xlat44) * u_xlat15 + 1.0;
					        u_xlat4.x = u_xlat4.x * TintPercent;
					        u_xlat4.x = u_xlat4.x * 0.5;
					        u_xlat4.x = clamp(u_xlat4.x, 0.0, 1.0);
					        u_xlat8.xyz = u_xlat4.xxx * u_xlat3.xyz + LightColour2.xyz;
					        u_xlat4.x = (-u_xlat43) + 1.0;
					        u_xlat4.x = u_xlat4.x * ShadowBias.z;
					        u_xlat4.x = u_xlat18 * u_xlat43 + u_xlat4.x;
					        u_xlat4.x = u_xlat8.w * u_xlat4.x;
					        u_xlat43 = u_xlat42 * -1.44269502;
					        u_xlat43 = exp2(u_xlat43);
					        u_xlat4.x = u_xlat43 * u_xlat4.x;
					        u_xlat4.x = u_xlat5.x * u_xlat4.x;
					        u_xlat4.x = u_xlat1.x * u_xlat4.x;
					        u_xlat4.x = max(u_xlat4.x, 0.0);
					        u_xlat6.xyz = u_xlat8.xyz * u_xlat4.xxx + u_xlat6.xyz;
					        u_xlat7.xyz = u_xlat13.xyz * u_xlat1.xxx + u_xlat7.xyz;
					        u_xlat42 = u_xlat14 * u_xlat5.x + u_xlat42;
					    }
					    SV_Target0.xyz = u_xlat6.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[14];
						vec4 Phase;
						vec4 unused_0_2;
						vec4 Density;
						vec4 unused_0_4;
						mat4x4 hxVolumeMatrixOld[10];
						vec4 unused_0_6[36];
						vec2 hxVolumeSettingsOld[10];
						vec4 unused_0_8[263];
						float hxRayOffset;
						mat4x4 InverseProjectionMatrix2;
						mat4x4 InverseProjectionMatrix;
						vec3 LightColour;
						vec3 LightColour2;
						vec4 unused_0_14;
						vec4 _LightParams;
						vec4 _CustomLightPosition;
						float HxTileSize;
						vec4 unused_0_18;
						mat4x4 hxCameraToWorld;
						mat4x4 hxCameraToWorld2;
						vec4 unused_0_21[12];
						float TintPercent;
						vec4 unused_0_23[4];
						float VolumeScale;
						vec4 unused_0_25;
						vec3 ShadowBias;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 _ScreenParams;
						vec4 unused_1_3[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[2];
						vec4 _LightProjectionParams;
						vec4 unused_2_2[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D Tile5x5;
					uniform  sampler2D _FalloffTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow 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;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec4 u_xlatb11;
					float u_xlat12;
					bvec3 u_xlatb12;
					float u_xlat13;
					int u_xlati13;
					float u_xlat15;
					float u_xlat18;
					float u_xlat23;
					vec2 u_xlat26;
					bvec2 u_xlatb26;
					float u_xlat27;
					float u_xlat28;
					bool u_xlatb28;
					int u_xlati30;
					float u_xlat36;
					float u_xlat39;
					bool u_xlatb39;
					int u_xlati40;
					float u_xlat41;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					float u_xlat45;
					int u_xlati45;
					bool u_xlatb45;
					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.x = 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 = u_xlat26.xxx * 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_xlat26.xy = vec2(VolumeScale) * _ScreenParams.xy;
					    u_xlat0.xy = u_xlat0.xy * u_xlat26.xy;
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlatb26.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_xlatb26.x) ? u_xlat0.x : (-u_xlat0.x);
					        hlslcc_movcTemp.y = (u_xlatb26.y) ? u_xlat0.y : (-u_xlat0.y);
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(HxTileSize);
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlat0 = textureLod(Tile5x5, u_xlat0.xy, 0.0);
					    u_xlat0.x = u_xlat0.x + hxRayOffset;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlati13 = unity_StereoEyeIndex;
					    u_xlat1.xyz = u_xlat6.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati13].xyz);
					    u_xlat26.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat26.x);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat26.x = sqrt(u_xlat26.x);
					    u_xlat39 = min(Density.y, 128.0);
					    u_xlati40 = int(u_xlat39);
					    u_xlat2.xyz = (-_CustomLightPosition.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati13].xyz;
					    u_xlat41 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat3.x = u_xlat41 + u_xlat41;
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = _LightParams.z * _LightParams.z;
					    u_xlat2.x = (-_LightParams.z) * _LightParams.z + u_xlat2.x;
					    u_xlat2.x = u_xlat2.x * 4.0;
					    u_xlat2.x = u_xlat3.x * u_xlat3.x + (-u_xlat2.x);
					    u_xlatb28 = u_xlat2.x<0.0;
					    if(((int(u_xlatb28) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.z = (-u_xlat41) * 2.0 + (-u_xlat2.x);
					    u_xlat2.x = (-u_xlat41) * 2.0 + u_xlat2.x;
					    u_xlat2.xz = u_xlat2.xz * vec2(0.5, 0.5);
					    u_xlat41 = max(u_xlat2.z, u_xlat2.x);
					    u_xlat26.x = min(u_xlat26.x, u_xlat41);
					    u_xlat2.x = min(u_xlat2.z, u_xlat2.x);
					    u_xlat2.x = max(u_xlat2.x, 0.0);
					    u_xlat26.x = u_xlat26.x + (-u_xlat2.x);
					    u_xlat28 = u_xlat26.x + -9.99999975e-05;
					    u_xlatb28 = u_xlat28<0.0;
					    if(((int(u_xlatb28) * int(0xffffffffu)))!=0){discard;}
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xxx + unity_StereoWorldSpaceCameraPos[u_xlati13].xyz;
					    u_xlat13 = trunc(u_xlat39);
					    u_xlat13 = u_xlat26.x / u_xlat13;
					    u_xlat4.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xzw = u_xlat4.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat2.x = u_xlat2.x * Density.x;
					    u_xlat2.x = u_xlat2.x * Density.w;
					    u_xlat28 = u_xlat13 * Density.w;
					    u_xlat41 = (-_LightShadowData.x) + 1.0;
					    u_xlat15 = float(1.0) / u_xlat15;
					    u_xlat3.xyz = LightColour.xyz + (-LightColour2.xyz);
					    u_xlat4.y = 0.0;
					    u_xlat5.z = 0.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat7.xyz = u_xlat0.xzw;
					    u_xlat42 = u_xlat2.x;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati40 ; u_xlati_loop_1++)
					    {
					        u_xlat8.xyz = u_xlat7.xyz + (-_CustomLightPosition.xyz);
					        u_xlat43 = max(abs(u_xlat8.y), abs(u_xlat8.x));
					        u_xlat43 = max(abs(u_xlat8.z), u_xlat43);
					        u_xlat43 = u_xlat43 + (-_LightProjectionParams.z);
					        u_xlat43 = max(u_xlat43, 9.99999975e-06);
					        u_xlat43 = u_xlat43 * _LightProjectionParams.w;
					        u_xlat43 = _LightProjectionParams.y / u_xlat43;
					        u_xlat43 = u_xlat43 + (-_LightProjectionParams.x);
					        u_xlat43 = (-u_xlat43) + 1.0;
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat43);
					        u_xlat43 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat43 = u_xlat43 * u_xlat41 + _LightShadowData.x;
					        u_xlat44 = dot(u_xlat8.xyz, u_xlat8.xyz);
					        u_xlat45 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat45) * u_xlat8.xyz;
					        u_xlat9.x = Density.x;
					        u_xlat9.y = float(0.0);
					        u_xlat9.z = float(0.0);
					        u_xlati45 = 0;
					        while(true){
					            u_xlatb46 = floatBitsToInt(u_xlat9.z)>=10;
					            u_xlati45 = 0;
					            if(u_xlatb46){break;}
					            u_xlatb46 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].y;
					            if(u_xlatb46){
					                u_xlat9.xy = u_xlat9.xx;
					                u_xlati45 = 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 = u_xlat9.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                    u_xlat50 = (u_xlatb11.w) ? u_xlat12 : u_xlat9.x;
					                    u_xlat49 = (u_xlatb11.z) ? u_xlat49 : u_xlat50;
					                    u_xlat48 = (u_xlatb11.y) ? u_xlat48 : u_xlat49;
					                    u_xlat5.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_xlat5.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_xlat5.x = (u_xlatb47) ? u_xlat48 : u_xlat9.x;
					                    }
					                }
					            } else {
					                u_xlat5.x = u_xlat9.x;
					            }
					            u_xlat5.y = intBitsToFloat(floatBitsToInt(u_xlat9.z) + 1);
					            u_xlat9.xyz = u_xlat5.xzy;
					            u_xlatb45 = u_xlatb46;
					        }
					        u_xlat5.x = (u_xlati45 != 0) ? u_xlat9.y : u_xlat9.x;
					        u_xlat18 = dot(u_xlat8.xyz, (-u_xlat1.xyz));
					        u_xlat18 = (-Phase.w) * u_xlat18 + Phase.z;
					        u_xlat18 = log2(u_xlat18);
					        u_xlat18 = u_xlat18 * 1.5;
					        u_xlat18 = exp2(u_xlat18);
					        u_xlat18 = Phase.y / u_xlat18;
					        u_xlat18 = u_xlat18 * Phase.x;
					        u_xlat4.x = u_xlat15 * u_xlat44;
					        u_xlat8 = textureLod(_FalloffTex, u_xlat4.xy, 0.0);
					        u_xlat4.x = (-u_xlat44) * u_xlat15 + 1.0;
					        u_xlat4.x = u_xlat4.x * TintPercent;
					        u_xlat4.x = u_xlat4.x * 0.5;
					        u_xlat4.x = clamp(u_xlat4.x, 0.0, 1.0);
					        u_xlat8.xyz = u_xlat4.xxx * u_xlat3.xyz + LightColour2.xyz;
					        u_xlat4.x = (-u_xlat43) + 1.0;
					        u_xlat4.x = u_xlat4.x * ShadowBias.z;
					        u_xlat4.x = u_xlat18 * u_xlat43 + u_xlat4.x;
					        u_xlat4.x = u_xlat8.w * u_xlat4.x;
					        u_xlat43 = u_xlat42 * -1.44269502;
					        u_xlat43 = exp2(u_xlat43);
					        u_xlat4.x = u_xlat43 * u_xlat4.x;
					        u_xlat4.x = u_xlat5.x * u_xlat4.x;
					        u_xlat4.x = u_xlat13 * u_xlat4.x;
					        u_xlat4.x = max(u_xlat4.x, 0.0);
					        u_xlat6.xyz = u_xlat8.xyz * u_xlat4.xxx + u_xlat6.xyz;
					        u_xlat7.xyz = u_xlat1.xyz * vec3(u_xlat13) + u_xlat7.xyz;
					        u_xlat42 = u_xlat28 * u_xlat5.x + u_xlat42;
					    }
					    SV_Target0.xyz = u_xlat6.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
			}
		}
		Pass {
			Blend One One, One One
			ZWrite Off
			Fog {
				Mode Off
			}
			GpuProgramID 109989
			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[350];
						mat4x4 VolumetricMVP;
						vec4 unused_0_2[12];
					};
					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 UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec2 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    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_xlat4.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat4.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 unused_0_2;
						vec4 Density;
						vec4 unused_0_4;
						mat4x4 hxVolumeMatrixOld[10];
						vec4 unused_0_6[36];
						vec2 hxVolumeSettingsOld[10];
						vec4 unused_0_8[263];
						float hxRayOffset;
						vec4 unused_0_10[4];
						mat4x4 InverseProjectionMatrix;
						vec3 LightColour;
						vec3 LightColour2;
						vec4 unused_0_14;
						vec4 _LightParams;
						vec4 _CustomLightPosition;
						float HxTileSize;
						vec4 unused_0_18;
						mat4x4 hxCameraToWorld;
						vec4 unused_0_20[16];
						float TintPercent;
						vec4 unused_0_22[4];
						float VolumeScale;
						vec4 unused_0_24;
						vec3 ShadowBias;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 _ScreenParams;
						vec4 unused_1_4[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[2];
						vec4 _LightProjectionParams;
						vec4 unused_2_2[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D Tile5x5;
					uniform  sampler2D _FalloffTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec4 u_xlatb11;
					float u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat23;
					vec2 u_xlat26;
					bvec2 u_xlatb26;
					int u_xlati27;
					float u_xlat28;
					bool u_xlatb28;
					int u_xlati30;
					float u_xlat36;
					float u_xlat39;
					float u_xlat40;
					float u_xlat41;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					float u_xlat45;
					int u_xlati45;
					bool u_xlatb45;
					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);
					    u_xlat26.x = 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 = u_xlat26.xxx * 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_xlat26.xy = vec2(VolumeScale) * _ScreenParams.xy;
					    u_xlat0.xy = u_xlat0.xy * u_xlat26.xy;
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlatb26.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_xlatb26.x) ? u_xlat0.x : (-u_xlat0.x);
					        hlslcc_movcTemp.y = (u_xlatb26.y) ? u_xlat0.y : (-u_xlat0.y);
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(HxTileSize);
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlat0 = textureLod(Tile5x5, u_xlat0.xy, 0.0);
					    u_xlat0.x = u_xlat0.x + hxRayOffset;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat13.xyz = u_xlat1.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat1.x = dot(u_xlat13.xyz, u_xlat13.xyz);
					    u_xlat14 = inversesqrt(u_xlat1.x);
					    u_xlat13.xyz = u_xlat13.xyz * vec3(u_xlat14);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat14 = min(Density.y, 128.0);
					    u_xlati27 = int(u_xlat14);
					    u_xlat2.xyz = (-_CustomLightPosition.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat40 = dot(u_xlat13.xyz, u_xlat2.xyz);
					    u_xlat41 = u_xlat40 + u_xlat40;
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = _LightParams.z * _LightParams.z;
					    u_xlat2.x = (-_LightParams.z) * _LightParams.z + u_xlat2.x;
					    u_xlat2.x = u_xlat2.x * 4.0;
					    u_xlat2.x = u_xlat41 * u_xlat41 + (-u_xlat2.x);
					    u_xlatb28 = u_xlat2.x<0.0;
					    if(((int(u_xlatb28) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat28 = (-u_xlat40) * 2.0 + (-u_xlat2.x);
					    u_xlat28 = u_xlat28 * 0.5;
					    u_xlat40 = (-u_xlat40) * 2.0 + u_xlat2.x;
					    u_xlat40 = u_xlat40 * 0.5;
					    u_xlat2.x = max(u_xlat28, u_xlat40);
					    u_xlat1.x = min(u_xlat1.x, u_xlat2.x);
					    u_xlat40 = min(u_xlat28, u_xlat40);
					    u_xlat40 = max(u_xlat40, 0.0);
					    u_xlat1.x = (-u_xlat40) + u_xlat1.x;
					    u_xlat2.x = u_xlat1.x + -9.99999975e-05;
					    u_xlatb2 = u_xlat2.x<0.0;
					    if(((int(u_xlatb2) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2.xzw = u_xlat13.xyz * vec3(u_xlat40) + _WorldSpaceCameraPos.xyz;
					    u_xlat14 = trunc(u_xlat14);
					    u_xlat1.x = u_xlat1.x / u_xlat14;
					    u_xlat3.xyz = u_xlat13.xyz * u_xlat1.xxx;
					    u_xlat2.xzw = u_xlat3.xyz * u_xlat0.xxx + u_xlat2.xzw;
					    u_xlat0.x = u_xlat40 * Density.x;
					    u_xlat0.x = u_xlat0.x * Density.w;
					    u_xlat14 = u_xlat1.x * Density.w;
					    u_xlat40 = (-_LightShadowData.x) + 1.0;
					    u_xlat15 = float(1.0) / u_xlat15;
					    u_xlat3.xyz = LightColour.xyz + (-LightColour2.xyz);
					    u_xlat4.y = 0.0;
					    u_xlat5.z = 0.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat7.xyz = u_xlat2.xzw;
					    u_xlat42 = u_xlat0.x;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat8.xyz = u_xlat7.xyz + (-_CustomLightPosition.xyz);
					        u_xlat43 = max(abs(u_xlat8.y), abs(u_xlat8.x));
					        u_xlat43 = max(abs(u_xlat8.z), u_xlat43);
					        u_xlat43 = u_xlat43 + (-_LightProjectionParams.z);
					        u_xlat43 = max(u_xlat43, 9.99999975e-06);
					        u_xlat43 = u_xlat43 * _LightProjectionParams.w;
					        u_xlat43 = _LightProjectionParams.y / u_xlat43;
					        u_xlat43 = u_xlat43 + (-_LightProjectionParams.x);
					        u_xlat43 = (-u_xlat43) + 1.0;
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat43);
					        u_xlat43 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat43 = u_xlat43 * u_xlat40 + _LightShadowData.x;
					        u_xlat44 = dot(u_xlat8.xyz, u_xlat8.xyz);
					        u_xlat45 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat45) * u_xlat8.xyz;
					        u_xlat9.x = Density.x;
					        u_xlat9.y = float(0.0);
					        u_xlat9.z = float(0.0);
					        u_xlati45 = 0;
					        while(true){
					            u_xlatb46 = floatBitsToInt(u_xlat9.z)>=10;
					            u_xlati45 = 0;
					            if(u_xlatb46){break;}
					            u_xlatb46 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].y;
					            if(u_xlatb46){
					                u_xlat9.xy = u_xlat9.xx;
					                u_xlati45 = 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 = u_xlat9.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                    u_xlat50 = (u_xlatb11.w) ? u_xlat12 : u_xlat9.x;
					                    u_xlat49 = (u_xlatb11.z) ? u_xlat49 : u_xlat50;
					                    u_xlat48 = (u_xlatb11.y) ? u_xlat48 : u_xlat49;
					                    u_xlat5.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_xlat5.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_xlat5.x = (u_xlatb47) ? u_xlat48 : u_xlat9.x;
					                    }
					                }
					            } else {
					                u_xlat5.x = u_xlat9.x;
					            }
					            u_xlat5.y = intBitsToFloat(floatBitsToInt(u_xlat9.z) + 1);
					            u_xlat9.xyz = u_xlat5.xzy;
					            u_xlatb45 = u_xlatb46;
					        }
					        u_xlat5.x = (u_xlati45 != 0) ? u_xlat9.y : u_xlat9.x;
					        u_xlat18 = dot(u_xlat8.xyz, (-u_xlat13.xyz));
					        u_xlat18 = (-Phase.w) * u_xlat18 + Phase.z;
					        u_xlat18 = log2(u_xlat18);
					        u_xlat18 = u_xlat18 * 1.5;
					        u_xlat18 = exp2(u_xlat18);
					        u_xlat18 = Phase.y / u_xlat18;
					        u_xlat18 = u_xlat18 * Phase.x;
					        u_xlat4.x = u_xlat15 * u_xlat44;
					        u_xlat8 = textureLod(_FalloffTex, u_xlat4.xy, 0.0);
					        u_xlat4.x = (-u_xlat44) * u_xlat15 + 1.0;
					        u_xlat4.x = u_xlat4.x * TintPercent;
					        u_xlat4.x = u_xlat4.x * 0.5;
					        u_xlat4.x = clamp(u_xlat4.x, 0.0, 1.0);
					        u_xlat8.xyz = u_xlat4.xxx * u_xlat3.xyz + LightColour2.xyz;
					        u_xlat4.x = (-u_xlat43) + 1.0;
					        u_xlat4.x = u_xlat4.x * ShadowBias.z;
					        u_xlat4.x = u_xlat18 * u_xlat43 + u_xlat4.x;
					        u_xlat4.x = u_xlat8.w * u_xlat4.x;
					        u_xlat43 = u_xlat42 * -1.44269502;
					        u_xlat43 = exp2(u_xlat43);
					        u_xlat4.x = u_xlat43 * u_xlat4.x;
					        u_xlat4.x = u_xlat5.x * u_xlat4.x;
					        u_xlat4.x = u_xlat1.x * u_xlat4.x;
					        u_xlat4.x = max(u_xlat4.x, 0.0);
					        u_xlat6.xyz = u_xlat8.xyz * u_xlat4.xxx + u_xlat6.xyz;
					        u_xlat7.xyz = u_xlat13.xyz * u_xlat1.xxx + u_xlat7.xyz;
					        u_xlat42 = u_xlat14 * u_xlat5.x + u_xlat42;
					    }
					    SV_Target0.xyz = u_xlat6.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[14];
						vec4 Phase;
						vec4 unused_0_2;
						vec4 Density;
						vec4 unused_0_4;
						mat4x4 hxVolumeMatrixOld[10];
						vec4 unused_0_6[36];
						vec2 hxVolumeSettingsOld[10];
						vec4 unused_0_8[263];
						float hxRayOffset;
						mat4x4 InverseProjectionMatrix2;
						mat4x4 InverseProjectionMatrix;
						vec3 LightColour;
						vec3 LightColour2;
						vec4 unused_0_14;
						vec4 _LightParams;
						vec4 _CustomLightPosition;
						float HxTileSize;
						vec4 unused_0_18;
						mat4x4 hxCameraToWorld;
						mat4x4 hxCameraToWorld2;
						vec4 unused_0_21[12];
						float TintPercent;
						vec4 unused_0_23[4];
						float VolumeScale;
						vec4 unused_0_25;
						vec3 ShadowBias;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 _ScreenParams;
						vec4 unused_1_3[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[2];
						vec4 _LightProjectionParams;
						vec4 unused_2_2[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D Tile5x5;
					uniform  sampler2D _FalloffTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow 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;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec4 u_xlatb11;
					float u_xlat12;
					bvec3 u_xlatb12;
					float u_xlat13;
					int u_xlati13;
					float u_xlat15;
					float u_xlat18;
					float u_xlat23;
					vec2 u_xlat26;
					bvec2 u_xlatb26;
					float u_xlat27;
					float u_xlat28;
					bool u_xlatb28;
					int u_xlati30;
					float u_xlat36;
					float u_xlat39;
					bool u_xlatb39;
					int u_xlati40;
					float u_xlat41;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					float u_xlat45;
					int u_xlati45;
					bool u_xlatb45;
					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.x = 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 = u_xlat26.xxx * 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_xlat26.xy = vec2(VolumeScale) * _ScreenParams.xy;
					    u_xlat0.xy = u_xlat0.xy * u_xlat26.xy;
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlatb26.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_xlatb26.x) ? u_xlat0.x : (-u_xlat0.x);
					        hlslcc_movcTemp.y = (u_xlatb26.y) ? u_xlat0.y : (-u_xlat0.y);
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(HxTileSize);
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlat0 = textureLod(Tile5x5, u_xlat0.xy, 0.0);
					    u_xlat0.x = u_xlat0.x + hxRayOffset;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlati13 = unity_StereoEyeIndex;
					    u_xlat1.xyz = u_xlat6.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati13].xyz);
					    u_xlat26.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat26.x);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat26.x = sqrt(u_xlat26.x);
					    u_xlat39 = min(Density.y, 128.0);
					    u_xlati40 = int(u_xlat39);
					    u_xlat2.xyz = (-_CustomLightPosition.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati13].xyz;
					    u_xlat41 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat3.x = u_xlat41 + u_xlat41;
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = _LightParams.z * _LightParams.z;
					    u_xlat2.x = (-_LightParams.z) * _LightParams.z + u_xlat2.x;
					    u_xlat2.x = u_xlat2.x * 4.0;
					    u_xlat2.x = u_xlat3.x * u_xlat3.x + (-u_xlat2.x);
					    u_xlatb28 = u_xlat2.x<0.0;
					    if(((int(u_xlatb28) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.z = (-u_xlat41) * 2.0 + (-u_xlat2.x);
					    u_xlat2.x = (-u_xlat41) * 2.0 + u_xlat2.x;
					    u_xlat2.xz = u_xlat2.xz * vec2(0.5, 0.5);
					    u_xlat41 = max(u_xlat2.z, u_xlat2.x);
					    u_xlat26.x = min(u_xlat26.x, u_xlat41);
					    u_xlat2.x = min(u_xlat2.z, u_xlat2.x);
					    u_xlat2.x = max(u_xlat2.x, 0.0);
					    u_xlat26.x = u_xlat26.x + (-u_xlat2.x);
					    u_xlat28 = u_xlat26.x + -9.99999975e-05;
					    u_xlatb28 = u_xlat28<0.0;
					    if(((int(u_xlatb28) * int(0xffffffffu)))!=0){discard;}
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xxx + unity_StereoWorldSpaceCameraPos[u_xlati13].xyz;
					    u_xlat13 = trunc(u_xlat39);
					    u_xlat13 = u_xlat26.x / u_xlat13;
					    u_xlat4.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xzw = u_xlat4.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat2.x = u_xlat2.x * Density.x;
					    u_xlat2.x = u_xlat2.x * Density.w;
					    u_xlat28 = u_xlat13 * Density.w;
					    u_xlat41 = (-_LightShadowData.x) + 1.0;
					    u_xlat15 = float(1.0) / u_xlat15;
					    u_xlat3.xyz = LightColour.xyz + (-LightColour2.xyz);
					    u_xlat4.y = 0.0;
					    u_xlat5.z = 0.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat7.xyz = u_xlat0.xzw;
					    u_xlat42 = u_xlat2.x;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati40 ; u_xlati_loop_1++)
					    {
					        u_xlat8.xyz = u_xlat7.xyz + (-_CustomLightPosition.xyz);
					        u_xlat43 = max(abs(u_xlat8.y), abs(u_xlat8.x));
					        u_xlat43 = max(abs(u_xlat8.z), u_xlat43);
					        u_xlat43 = u_xlat43 + (-_LightProjectionParams.z);
					        u_xlat43 = max(u_xlat43, 9.99999975e-06);
					        u_xlat43 = u_xlat43 * _LightProjectionParams.w;
					        u_xlat43 = _LightProjectionParams.y / u_xlat43;
					        u_xlat43 = u_xlat43 + (-_LightProjectionParams.x);
					        u_xlat43 = (-u_xlat43) + 1.0;
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat43);
					        u_xlat43 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat43 = u_xlat43 * u_xlat41 + _LightShadowData.x;
					        u_xlat44 = dot(u_xlat8.xyz, u_xlat8.xyz);
					        u_xlat45 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat45) * u_xlat8.xyz;
					        u_xlat9.x = Density.x;
					        u_xlat9.y = float(0.0);
					        u_xlat9.z = float(0.0);
					        u_xlati45 = 0;
					        while(true){
					            u_xlatb46 = floatBitsToInt(u_xlat9.z)>=10;
					            u_xlati45 = 0;
					            if(u_xlatb46){break;}
					            u_xlatb46 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].y;
					            if(u_xlatb46){
					                u_xlat9.xy = u_xlat9.xx;
					                u_xlati45 = 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 = u_xlat9.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat9.z)].x);
					                    u_xlat50 = (u_xlatb11.w) ? u_xlat12 : u_xlat9.x;
					                    u_xlat49 = (u_xlatb11.z) ? u_xlat49 : u_xlat50;
					                    u_xlat48 = (u_xlatb11.y) ? u_xlat48 : u_xlat49;
					                    u_xlat5.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_xlat5.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_xlat5.x = (u_xlatb47) ? u_xlat48 : u_xlat9.x;
					                    }
					                }
					            } else {
					                u_xlat5.x = u_xlat9.x;
					            }
					            u_xlat5.y = intBitsToFloat(floatBitsToInt(u_xlat9.z) + 1);
					            u_xlat9.xyz = u_xlat5.xzy;
					            u_xlatb45 = u_xlatb46;
					        }
					        u_xlat5.x = (u_xlati45 != 0) ? u_xlat9.y : u_xlat9.x;
					        u_xlat18 = dot(u_xlat8.xyz, (-u_xlat1.xyz));
					        u_xlat18 = (-Phase.w) * u_xlat18 + Phase.z;
					        u_xlat18 = log2(u_xlat18);
					        u_xlat18 = u_xlat18 * 1.5;
					        u_xlat18 = exp2(u_xlat18);
					        u_xlat18 = Phase.y / u_xlat18;
					        u_xlat18 = u_xlat18 * Phase.x;
					        u_xlat4.x = u_xlat15 * u_xlat44;
					        u_xlat8 = textureLod(_FalloffTex, u_xlat4.xy, 0.0);
					        u_xlat4.x = (-u_xlat44) * u_xlat15 + 1.0;
					        u_xlat4.x = u_xlat4.x * TintPercent;
					        u_xlat4.x = u_xlat4.x * 0.5;
					        u_xlat4.x = clamp(u_xlat4.x, 0.0, 1.0);
					        u_xlat8.xyz = u_xlat4.xxx * u_xlat3.xyz + LightColour2.xyz;
					        u_xlat4.x = (-u_xlat43) + 1.0;
					        u_xlat4.x = u_xlat4.x * ShadowBias.z;
					        u_xlat4.x = u_xlat18 * u_xlat43 + u_xlat4.x;
					        u_xlat4.x = u_xlat8.w * u_xlat4.x;
					        u_xlat43 = u_xlat42 * -1.44269502;
					        u_xlat43 = exp2(u_xlat43);
					        u_xlat4.x = u_xlat43 * u_xlat4.x;
					        u_xlat4.x = u_xlat5.x * u_xlat4.x;
					        u_xlat4.x = u_xlat13 * u_xlat4.x;
					        u_xlat4.x = max(u_xlat4.x, 0.0);
					        u_xlat6.xyz = u_xlat8.xyz * u_xlat4.xxx + u_xlat6.xyz;
					        u_xlat7.xyz = u_xlat1.xyz * vec3(u_xlat13) + u_xlat7.xyz;
					        u_xlat42 = u_xlat28 * u_xlat5.x + u_xlat42;
					    }
					    SV_Target0.xyz = u_xlat6.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
			}
		}
	}
}