Decompiled source of Gamers of the Cracked Emoji v1.4.2

GOTCE.dll

Decompiled 3 months ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Linq;
using System.Net.Http;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Text;
using System.Text.RegularExpressions;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Logging;
using BetterUI;
using EntityStates;
using EntityStates.AI;
using EntityStates.AI.Walker;
using EntityStates.Bandit2.Weapon;
using EntityStates.BrotherMonster;
using EntityStates.Commando.CommandoWeapon;
using EntityStates.Destructible;
using EntityStates.GoldGat;
using EntityStates.GolemMonster;
using EntityStates.Loader;
using EntityStates.Mage;
using EntityStates.Merc;
using EntityStates.Merc.Weapon;
using EntityStates.Toolbot;
using EntityStates.Treebot.Weapon;
using EntityStates.VagrantMonster;
using EntityStates.VoidRaidCrab;
using EntityStates.VoidSurvivor.CorruptMode;
using EntityStates.VoidSurvivor.Weapon;
using GOTCE.Achievements;
using GOTCE.Achievements.Captain;
using GOTCE.Achievements.CrackedCommando;
using GOTCE.Achievements.Engineer;
using GOTCE.Achievements.Huntress;
using GOTCE.Achievements.REX;
using GOTCE.Achievements.Railgunner;
using GOTCE.Achievements.VoidFiend;
using GOTCE.Artifact;
using GOTCE.Based;
using GOTCE.Buffs;
using GOTCE.Components;
using GOTCE.Enemies;
using GOTCE.Enemies.Changes;
using GOTCE.Enemies.Standard;
using GOTCE.EntityStatesCustom.AltSkills.Bandit;
using GOTCE.EntityStatesCustom.AltSkills.Bandit.Decoy;
using GOTCE.EntityStatesCustom.AltSkills.Captain;
using GOTCE.EntityStatesCustom.AltSkills.Commando;
using GOTCE.EntityStatesCustom.AltSkills.Engineer;
using GOTCE.EntityStatesCustom.AltSkills.Huntress;
using GOTCE.EntityStatesCustom.AltSkills.MULT;
using GOTCE.EntityStatesCustom.AltSkills.Railgunner;
using GOTCE.EntityStatesCustom.AltSkills.Rex;
using GOTCE.EntityStatesCustom.AltSkills.VoidFiend;
using GOTCE.EntityStatesCustom.CrackedMando;
using GOTCE.EntityStatesCustom.CrackedMerc;
using GOTCE.EntityStatesCustom.CrackedPest;
using GOTCE.EntityStatesCustom.CrackedVermin;
using GOTCE.EntityStatesCustom.Glassthrix.P1;
using GOTCE.EntityStatesCustom.LivingSuppressiveFire;
using GOTCE.EntityStatesCustom.NaeNaeLord;
using GOTCE.EntityStatesCustom.NemCore;
using GOTCE.EntityStatesCustom.Providence;
using GOTCE.EntityStatesCustom.SolusScanner;
using GOTCE.EntityStatesCustom.The;
using GOTCE.EntityStatesCustom.Woolie;
using GOTCE.Equipment;
using GOTCE.Equipment.EliteEquipment;
using GOTCE.Gamemodes.Crackclipse;
using GOTCE.Interactables;
using GOTCE.Items;
using GOTCE.Items.Green;
using GOTCE.Items.Lunar;
using GOTCE.Items.NoTier;
using GOTCE.Items.Red;
using GOTCE.Items.VoidLunar;
using GOTCE.Items.VoidRed;
using GOTCE.Items.VoidWhite;
using GOTCE.Items.VoidYellow;
using GOTCE.Items.White;
using GOTCE.Items.Yellow;
using GOTCE.Mechanics;
using GOTCE.Misc;
using GOTCE.Music;
using GOTCE.Skills;
using GOTCE.Skills.Glassthrix;
using GOTCE.Stages;
using GOTCE.Survivors;
using GOTCE.Tiers;
using GOTCE.Utils;
using GOTCE.Utils.Components;
using GOTCE.Utils.Paths;
using HG;
using HG.BlendableTypes;
using HG.Reflection;
using HarmonyLib;
using IL.RoR2;
using IL.RoR2.UI;
using Microsoft.CodeAnalysis;
using Mono.Cecil;
using Mono.Cecil.Cil;
using MonoMod.Cil;
using MonoMod.RuntimeDetour;
using Newtonsoft.Json;
using On.EntityStates.AI.Walker;
using On.EntityStates.Bandit2.Weapon;
using On.EntityStates.BrotherMonster;
using On.EntityStates.Loader;
using On.EntityStates.Toolbot;
using On.EntityStates.Treebot.Weapon;
using On.EntityStates.VoidSurvivor.CorruptMode;
using On.EntityStates.VoidSurvivor.Weapon;
using On.RoR2;
using On.RoR2.CharacterAI;
using On.RoR2.Items;
using On.RoR2.Orbs;
using On.RoR2.UI;
using On.RoR2.UI.LogBook;
using R2API;
using R2API.Networking;
using R2API.Networking.Interfaces;
using R2API.Utils;
using Rewired.ComponentControls.Effects;
using RoR2;
using RoR2.Achievements;
using RoR2.CharacterAI;
using RoR2.ContentManagement;
using RoR2.EntityLogic;
using RoR2.ExpansionManagement;
using RoR2.Navigation;
using RoR2.Orbs;
using RoR2.Projectile;
using RoR2.Skills;
using RoR2.UI;
using RoR2.UI.LogBook;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Diagnostics;
using UnityEngine.Events;
using UnityEngine.Networking;
using UnityEngine.Profiling.Memory.Experimental;
using UnityEngine.Rendering;
using UnityEngine.Rendering.PostProcessing;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: OptIn]
[assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = ".NET Standard 2.0")]
[assembly: AssemblyCompany("GOTCE")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+b52706fc0c08a1a031bb5f54ab16e2f1e3928ec0")]
[assembly: AssemblyProduct("GOTCE")]
[assembly: AssemblyTitle("GOTCE")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace GOTCE
{
	[BepInPlugin("com.TheBestAssociatedLargelyLudicrousSillyheadGroup.GOTCE", "Gamers of the Cracked Emoji", "1.3.2")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
	public class Main : BaseUnityPlugin
	{
		[Serializable]
		[CompilerGenerated]
		private sealed class <>c
		{
			public static readonly <>c <>9 = new <>c();

			public static Action <>9__25_0;

			public static hook_Awake <>9__25_1;

			public static Func<Type, bool> <>9__25_2;

			public static Func<Type, bool> <>9__25_3;

			public static Func<Type, bool> <>9__25_4;

			public static Func<Type, bool> <>9__25_6;

			public static Func<Type, bool> <>9__25_7;

			public static Func<Type, bool> <>9__25_8;

			public static Func<Type, bool> <>9__25_9;

			public static Func<Type, bool> <>9__25_10;

			public static Func<Type, bool> <>9__25_12;

			public static Func<Type, bool> <>9__25_14;

			public static Func<Type, bool> <>9__25_15;

			public static Func<Type, bool> <>9__25_17;

			public static Func<Type, bool> <>9__26_0;

			internal void <Awake>b__25_0()
			{
				Util.PlaySound("Play_The", ((Component)RoR2Application.instance).gameObject);
			}

			internal void <Awake>b__25_1(orig_Awake orig, PurchaseInteraction self)
			{
				//IL_0009: Unknown result type (might be due to invalid IL or missing references)
				//IL_000e: Unknown result type (might be due to invalid IL or missing references)
				orig.Invoke(self);
				Scene activeScene = SceneManager.GetActiveScene();
				if (((Scene)(ref activeScene)).name == "bazaar" && Object.op_Implicit((Object)(object)((Component)self).GetComponent<Counter>()))
				{
					MonoBehaviour[] componentsInChildren = ((Component)self).GetComponentsInChildren<MonoBehaviour>();
					for (int i = 0; i < componentsInChildren.Length; i++)
					{
						((Behaviour)componentsInChildren[i]).enabled = false;
					}
					MeshRenderer[] componentsInChildren2 = ((Component)self).GetComponentsInChildren<MeshRenderer>();
					ParticleSystemRenderer[] componentsInChildren3 = ((Component)self).GetComponentsInChildren<ParticleSystemRenderer>();
					for (int j = 0; j < componentsInChildren2.Length; j++)
					{
						((Renderer)componentsInChildren2[j]).enabled = false;
					}
					for (int k = 0; k < componentsInChildren3.Length; k++)
					{
						((Renderer)componentsInChildren3[k]).enabled = false;
					}
				}
			}

			internal bool <Awake>b__25_2(Type type)
			{
				return !type.IsAbstract && type.IsSubclassOf(typeof(ArtifactBase));
			}

			internal bool <Awake>b__25_3(Type type)
			{
				return !type.IsAbstract && type.IsSubclassOf(typeof(TierBase));
			}

			internal bool <Awake>b__25_4(Type type)
			{
				return !type.IsAbstract && type.IsSubclassOf(typeof(ItemBase));
			}

			internal bool <Awake>b__25_6(Type type)
			{
				return !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase));
			}

			internal bool <Awake>b__25_7(Type type)
			{
				return !type.IsAbstract && type.IsSubclassOf(typeof(StageBase));
			}

			internal bool <Awake>b__25_8(Type type)
			{
				return !type.IsAbstract && type.IsSubclassOf(typeof(EliteEquipmentBase));
			}

			internal bool <Awake>b__25_9(Type type)
			{
				return !type.IsAbstract && type.IsSubclassOf(typeof(AchievementBase));
			}

			internal bool <Awake>b__25_10(Type type)
			{
				return !type.IsAbstract && type.IsSubclassOf(typeof(SkillBase));
			}

			internal bool <Awake>b__25_12(Type type)
			{
				return !type.IsAbstract && type.IsSubclassOf(typeof(EnemyBase));
			}

			internal bool <Awake>b__25_14(Type type)
			{
				return !type.IsAbstract && type.IsSubclassOf(typeof(SurvivorBase));
			}

			internal bool <Awake>b__25_15(Type type)
			{
				return !type.IsAbstract && type.IsSubclassOf(typeof(BuffBase));
			}

			internal bool <Awake>b__25_17(Type type)
			{
				return !type.IsAbstract && type.IsSubclassOf(typeof(GOTCEMusicBank));
			}

			internal bool <PostItemCat>b__26_0(Type type)
			{
				return !type.IsAbstract && type.IsSubclassOf(typeof(InteractableBase));
			}
		}

		public const string ModGuid = "com.TheBestAssociatedLargelyLudicrousSillyheadGroup.GOTCE";

		public const string ModName = "Gamers of the Cracked Emoji";

		public const string ModVer = "1.3.2";

		public static AssetBundle MainAssets;

		public static AssetBundle SecondaryAssets;

		public static AssetBundle GOTCEModels;

		public static AssetBundle SceneBundle;

		public static uint GOTCESounds;

		public List<ArtifactBase> Artifacts = new List<ArtifactBase>();

		public List<ItemBase> Items = new List<ItemBase>();

		public List<EquipmentBase> Equipments = new List<EquipmentBase>();

		public List<EliteEquipmentBase> EliteEquipments = new List<EliteEquipmentBase>();

		public static Dictionary<ArtifactBase, bool> ArtifactStatusDictionary = new Dictionary<ArtifactBase, bool>();

		public static Dictionary<ItemBase, bool> ItemStatusDictionary = new Dictionary<ItemBase, bool>();

		public static Dictionary<EquipmentBase, bool> EquipmentStatusDictionary = new Dictionary<EquipmentBase, bool>();

		public static Dictionary<EliteEquipmentBase, bool> EliteEquipmentStatusDictionary = new Dictionary<EliteEquipmentBase, bool>();

		public static ExpansionDef GOTCEExpansionDef;

		public static ExpansionDef SOTVExpansionDef;

		public static GameObject GOTCERunBehavior;

		public static ManualLogSource ModLogger;

		private static Shader cloudRemap;

		private static Shader standard;

		private static Shader terrain;

		public static bool HasPatched = false;

		public static ConfigFile config;

		private void Awake()
		{
			//IL_009d: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_018c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0191: Unknown result type (might be due to invalid IL or missing references)
			//IL_0197: Expected O, but got Unknown
			//IL_0971: Unknown result type (might be due to invalid IL or missing references)
			//IL_0978: Expected O, but got Unknown
			//IL_0985: Unknown result type (might be due to invalid IL or missing references)
			//IL_098f: Expected O, but got Unknown
			MainAssets = AssetBundle.LoadFromFile(Assembly.GetExecutingAssembly().Location.Replace("GOTCE.dll", "macterabrundle"));
			SecondaryAssets = AssetBundle.LoadFromFile(Assembly.GetExecutingAssembly().Location.Replace("GOTCE.dll", "secondarybundle"));
			GOTCEModels = AssetBundle.LoadFromFile(Assembly.GetExecutingAssembly().Location.Replace("GOTCE.dll", "gotcemodels"));
			SceneBundle = AssetBundle.LoadFromFile(Assembly.GetExecutingAssembly().Location.Replace("GOTCE.dll", "scenebundle"));
			ModLogger = ((BaseUnityPlugin)this).Logger;
			SOTVExpansionDef = Addressables.LoadAssetAsync<ExpansionDef>((object)"RoR2/DLC1/Common/DLC1.asset").WaitForCompletion();
			config = ((BaseUnityPlugin)this).Config;
			cloudRemap = Addressables.LoadAssetAsync<Shader>((object)"RoR2/Base/Shaders/HGCloudRemap.shader").WaitForCompletion();
			standard = Addressables.LoadAssetAsync<Shader>((object)"RoR2/Base/Shaders/HGStandard.shader").WaitForCompletion();
			terrain = Addressables.LoadAssetAsync<Shader>((object)"RoR2/Base/Shaders/HGTriplanarTerrainBlend.shader").WaitForCompletion();
			RoR2Application.onLoad = (Action)Delegate.Combine(RoR2Application.onLoad, (Action)delegate
			{
				Util.PlaySound("Play_The", ((Component)RoR2Application.instance).gameObject);
			});
			if (Chainloader.PluginInfos.ContainsKey("com.xoxfaby.BetterUI") && ((BaseUnityPlugin)this).Config.Bind<bool>("Compatibility", "BetterUI - Stats Display", true, "Adds the GOTCE stats to the BetterUI stats display.").Value)
			{
				UICompat.AddBetterUICompat();
			}
			object obj = <>c.<>9__25_1;
			if (obj == null)
			{
				hook_Awake val = delegate(orig_Awake orig, PurchaseInteraction self)
				{
					//IL_0009: Unknown result type (might be due to invalid IL or missing references)
					//IL_000e: Unknown result type (might be due to invalid IL or missing references)
					orig.Invoke(self);
					Scene activeScene = SceneManager.GetActiveScene();
					if (((Scene)(ref activeScene)).name == "bazaar" && Object.op_Implicit((Object)(object)((Component)self).GetComponent<Counter>()))
					{
						MonoBehaviour[] componentsInChildren = ((Component)self).GetComponentsInChildren<MonoBehaviour>();
						for (int l = 0; l < componentsInChildren.Length; l++)
						{
							((Behaviour)componentsInChildren[l]).enabled = false;
						}
						MeshRenderer[] componentsInChildren2 = ((Component)self).GetComponentsInChildren<MeshRenderer>();
						ParticleSystemRenderer[] componentsInChildren3 = ((Component)self).GetComponentsInChildren<ParticleSystemRenderer>();
						for (int m = 0; m < componentsInChildren2.Length; m++)
						{
							((Renderer)componentsInChildren2[m]).enabled = false;
						}
						for (int n = 0; n < componentsInChildren3.Length; n++)
						{
							((Renderer)componentsInChildren3[n]).enabled = false;
						}
					}
				};
				<>c.<>9__25_1 = val;
				obj = (object)val;
			}
			PurchaseInteraction.Awake += (hook_Awake)obj;
			HooksAttributeLogic.Scan();
			HooksAttributeLogic.CallAttributeMethods(RunAfter.Start);
			Flags.Initialize();
			Material[] array = MainAssets.LoadAllAssets<Material>();
			Material[] array2 = array;
			foreach (Material val2 in array2)
			{
				switch (((Object)val2.shader).name)
				{
				case "StubbedShader/fx/hgcloudremap":
					val2.shader = cloudRemap;
					break;
				case "StubbedShader/deferred/hgstandard":
					val2.shader = standard;
					break;
				case "StubbedShader/deferred/hgtriplanarterrainblend":
					val2.shader = terrain;
					break;
				}
			}
			Material[] array3 = SecondaryAssets.LoadAllAssets<Material>();
			Material[] array4 = array3;
			foreach (Material val3 in array4)
			{
				switch (((Object)val3.shader).name)
				{
				case "StubbedShader/fx/hgcloudremap":
					val3.shader = cloudRemap;
					break;
				case "StubbedShader/deferred/hgstandard":
					val3.shader = standard;
					break;
				case "StubbedShader/deferred/hgtriplanarterrainblend":
					val3.shader = terrain;
					break;
				}
			}
			Material[] array5 = GOTCEModels.LoadAllAssets<Material>();
			Material[] array6 = array5;
			foreach (Material val4 in array6)
			{
				switch (((Object)val4.shader).name)
				{
				case "StubbedShader/fx/hgcloudremap":
					val4.shader = cloudRemap;
					break;
				case "StubbedShader/deferred/hgstandard":
					val4.shader = standard;
					break;
				case "StubbedShader/deferred/hgtriplanarterrainblend":
					val4.shader = terrain;
					break;
				}
			}
			IEnumerable<Type> enumerable = from type in Assembly.GetExecutingAssembly().GetTypes()
				where !type.IsAbstract && type.IsSubclassOf(typeof(ArtifactBase))
				select type;
			foreach (Type item in enumerable)
			{
				ArtifactBase artifactBase = (ArtifactBase)Activator.CreateInstance(item);
				if (ValidateArtifact(artifactBase, Artifacts))
				{
					artifactBase.Init(((BaseUnityPlugin)this).Config);
				}
			}
			CriticalTypes.Hooks();
			IEnumerable<Type> enumerable2 = from type in Assembly.GetExecutingAssembly().GetTypes()
				where !type.IsAbstract && type.IsSubclassOf(typeof(TierBase))
				select type;
			foreach (Type item2 in enumerable2)
			{
				TierBase tierBase = (TierBase)Activator.CreateInstance(item2);
				tierBase.Awake();
			}
			IEnumerable<Type> enumerable3 = from type in Assembly.GetExecutingAssembly().GetTypes()
				where !type.IsAbstract && type.IsSubclassOf(typeof(ItemBase))
				select type;
			foreach (Type item3 in enumerable3)
			{
				ItemBase itemBase = (ItemBase)Activator.CreateInstance(item3);
				if (ValidateItem(itemBase, Items))
				{
					itemBase.Init(((BaseUnityPlugin)this).Config);
				}
			}
			IEnumerable<Type> enumerable4 = from type in Assembly.GetExecutingAssembly().GetTypes()
				where !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase))
				select type;
			foreach (Type item4 in enumerable4)
			{
				EquipmentBase equipmentBase = (EquipmentBase)Activator.CreateInstance(item4);
				if (ValidateEquipment(equipmentBase, Equipments))
				{
					equipmentBase.Init(((BaseUnityPlugin)this).Config);
				}
			}
			IEnumerable<Type> enumerable5 = from type in Assembly.GetExecutingAssembly().GetTypes()
				where !type.IsAbstract && type.IsSubclassOf(typeof(StageBase))
				select type;
			foreach (Type item5 in enumerable5)
			{
				StageBase stageBase = (StageBase)Activator.CreateInstance(item5);
				stageBase.Create(((BaseUnityPlugin)this).Config);
			}
			IEnumerable<Type> enumerable6 = from type in Assembly.GetExecutingAssembly().GetTypes()
				where !type.IsAbstract && type.IsSubclassOf(typeof(EliteEquipmentBase))
				select type;
			foreach (Type item6 in enumerable6)
			{
				EliteEquipmentBase eliteEquipmentBase = (EliteEquipmentBase)Activator.CreateInstance(item6);
				if (ValidateEliteEquipment(eliteEquipmentBase, EliteEquipments))
				{
					eliteEquipmentBase.Init(((BaseUnityPlugin)this).Config);
				}
			}
			IEnumerable<Type> enumerable7 = from type in Assembly.GetExecutingAssembly().GetTypes()
				where !type.IsAbstract && type.IsSubclassOf(typeof(AchievementBase))
				select type;
			foreach (Type item7 in enumerable7)
			{
				AchievementBase achievementBase = (AchievementBase)Activator.CreateInstance(item7);
				achievementBase.Create(((BaseUnityPlugin)this).Config);
			}
			IEnumerable<Type> enumerable8 = from type in Assembly.GetExecutingAssembly().GetTypes()
				where !type.IsAbstract && type.IsSubclassOf(typeof(SkillBase))
				select type;
			foreach (Type item8 in enumerable8)
			{
				SkillBase skillBase = (SkillBase)Activator.CreateInstance(item8);
				skillBase.Create();
			}
			AltSkills.AddAlts();
			Itsgup.OhTheMisery();
			Itsgup.SoMyMainGoalIsToBlowUp();
			GOTCE.Based.SuppressiveNader.Hook();
			Logbook.RunHooks();
			Fragile.Hook();
			IEnumerable<Type> enumerable9 = from type in Assembly.GetExecutingAssembly().GetTypes()
				where !type.IsAbstract && type.IsSubclassOf(typeof(EnemyBase))
				select type;
			foreach (Type item9 in enumerable9)
			{
				EnemyBase enemyBase = (EnemyBase)Activator.CreateInstance(item9);
				if (ValidateEnemy(enemyBase))
				{
					enemyBase.Create();
				}
			}
			IEnumerable<Type> enumerable10 = from type in Assembly.GetExecutingAssembly().GetTypes()
				where !type.IsAbstract && type.IsSubclassOf(typeof(SurvivorBase))
				select type;
			foreach (Type item10 in enumerable10)
			{
				SurvivorBase survivorBase = (SurvivorBase)Activator.CreateInstance(item10);
				survivorBase.Create();
			}
			IEnumerable<Type> enumerable11 = from type in Assembly.GetExecutingAssembly().GetTypes()
				where !type.IsAbstract && type.IsSubclassOf(typeof(BuffBase))
				select type;
			foreach (Type item11 in enumerable11)
			{
				BuffBase buffBase = (BuffBase)Activator.CreateInstance(item11);
				buffBase.CreateBuff(((BaseUnityPlugin)this).Config);
			}
			Hook val5 = new Hook((MethodBase)typeof(InputBankTest).GetProperty("aimOrigin", BindingFlags.Instance | BindingFlags.Public).GetGetMethod(), typeof(LivingSuppressiveFire).GetMethod("InputBankTest_aimOrigin_Get", BindingFlags.Static | BindingFlags.Public));
			GameMode.Create();
			RoR2Application.Start += (hook_Start)delegate(orig_Start o, RoR2Application s)
			{
				//IL_0045: Unknown result type (might be due to invalid IL or missing references)
				o.Invoke(s);
				string text = typeof(Main).Assembly.Location.Replace("GOTCE.dll", "");
				((BaseUnityPlugin)this).Logger.LogError((object)("BANK PATH: " + text));
				AkSoundEngine.AddBasePath(text);
				IEnumerable<Type> enumerable12 = from type in typeof(Main).Assembly.GetTypes()
					where !type.IsAbstract && type.IsSubclassOf(typeof(GOTCEMusicBank))
					select type;
				foreach (Type item12 in enumerable12)
				{
					GOTCEMusicBank gOTCEMusicBank = (GOTCEMusicBank)Activator.CreateInstance(item12);
					gOTCEMusicBank.Setup();
				}
			};
		}

		[SystemInitializer(new Type[] { typeof(ItemCatalog) })]
		public static void PostItemCat()
		{
			Woolie.Initialize();
			WarCrimes.Hooks();
			AOEffect.Hooks();
			ModLogger.LogInfo((object)"Initializing equipments.");
			IEnumerable<Type> enumerable = from type in Assembly.GetExecutingAssembly().GetTypes()
				where !type.IsAbstract && type.IsSubclassOf(typeof(InteractableBase))
				select type;
			foreach (Type item in enumerable)
			{
				InteractableBase interactableBase = (InteractableBase)Activator.CreateInstance(item);
				if (ValidateInteractable(interactableBase))
				{
					interactableBase.Create();
				}
			}
			HooksAttributeLogic.CallAttributeMethods(RunAfter.Items);
			HooksAttributeLogic.CallAttributeMethods(RunAfter.Misc);
		}

		public bool ValidateArtifact(ArtifactBase artifact, List<ArtifactBase> artifactList)
		{
			bool value = ((BaseUnityPlugin)this).Config.Bind<bool>("Artifact: " + artifact.ArtifactName, "Enable Artifact?", true, "Should this artifact appear for selection?").Value;
			if (value)
			{
				artifactList.Add(artifact);
			}
			return value;
		}

		public bool ValidateItem(ItemBase item, List<ItemBase> itemList, bool faulty = false)
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Invalid comparison between Unknown and I4
			if ((int)item.Tier == 5)
			{
				return true;
			}
			bool value = ((BaseUnityPlugin)this).Config.Bind<bool>("Item: " + item.ConfigName, "Enable Item?", true, "Should this item appear in runs?").Value;
			bool value2 = ((BaseUnityPlugin)this).Config.Bind<bool>("Item: " + item.ConfigName, "Blacklist Item from AI Use?", false, "Should the AI not be able to obtain this item?").Value;
			if (value)
			{
				itemList.Add(item);
				if (value2)
				{
					item.AIBlacklisted = true;
				}
			}
			return value;
		}

		public bool ValidateEnemy(EnemyBase enemy)
		{
			if (enemy.CloneName == "Explosive Decoy")
			{
				return true;
			}
			return ((BaseUnityPlugin)this).Config.Bind<bool>("Enemy: " + enemy.CloneName, "Enable Enemy?", true, "Should this enemy appear in runs?").Value;
		}

		public bool ValidateEquipment(EquipmentBase equipment, List<EquipmentBase> equipmentList)
		{
			if (((BaseUnityPlugin)this).Config.Bind<bool>("Equipment: " + equipment.EquipmentName, "Enable Equipment?", true, "Should this equipment appear in runs?").Value)
			{
				equipmentList.Add(equipment);
				return true;
			}
			return false;
		}

		public static bool ValidateInteractable(InteractableBase i)
		{
			if (config.Bind<bool>("Interactable: " + i.Name, "Enable Interactable?", true, "Should this interactable appear in runs?").Value)
			{
				return true;
			}
			return false;
		}

		public bool ValidateEliteEquipment(EliteEquipmentBase eliteEquipment, List<EliteEquipmentBase> eliteEquipmentList)
		{
			if (((BaseUnityPlugin)this).Config.Bind<bool>("Equipment: " + eliteEquipment.EliteEquipmentName, "Enable Elite Equipment?", true, "Should this elite equipment appear in runs? If disabled, the associated elite will not appear in runs either.").Value)
			{
				eliteEquipmentList.Add(eliteEquipment);
				return true;
			}
			return false;
		}

		public void CreateExpansion()
		{
			ExpansionDef val = LegacyResourcesAPI.Load<ExpansionDef>("ExpansionDefs/DLC1");
			GOTCEExpansionDef = ScriptableObject.CreateInstance<ExpansionDef>();
			GOTCERunBehavior = PrefabAPI.InstantiateClone(((Component)this).gameObject, "GOTCERunBehavior", true);
			Object.DestroyImmediate((Object)(object)GOTCERunBehavior.GetComponent<GlobalDeathRewards>());
			ExpansionRequirementComponent component = GOTCERunBehavior.GetComponent<ExpansionRequirementComponent>();
			component.requiredExpansion = GOTCEExpansionDef;
			PrefabAPI.RegisterNetworkPrefab(GOTCERunBehavior);
			((Object)GOTCEExpansionDef).name = "GOTCECONTENT_EXPANSION";
			GOTCEExpansionDef.nameToken = "GOTCECONTENT_EXPANSION_NAME";
			GOTCEExpansionDef.descriptionToken = "GOTCECONTENT_EXPANSION_DESCRIPTION";
			GOTCEExpansionDef.iconSprite = MainAssets.LoadAsset<Sprite>("Assets/Textures/Icons/Item/NEA.png");
			GOTCEExpansionDef.disabledIconSprite = val.disabledIconSprite;
			GOTCEExpansionDef.requiredEntitlement = val.requiredEntitlement;
			GOTCEExpansionDef.runBehaviorPrefab = GOTCERunBehavior;
			LanguageAPI.Add(GOTCEExpansionDef.nameToken, "Gamers of The Cracked Emoji");
			LanguageAPI.Add(GOTCEExpansionDef.descriptionToken, "Adds content from the 'GOTCE' mod to the game.");
		}
	}
	public class UICompat
	{
		public delegate void orig_onStart();

		[Serializable]
		[CompilerGenerated]
		private sealed class <>c
		{
			public static readonly <>c <>9 = new <>c();

			public static Func<CharacterBody, string> <>9__3_0;

			public static Func<CharacterBody, string> <>9__3_1;

			public static Func<CharacterBody, string> <>9__3_2;

			public static Func<CharacterBody, string> <>9__3_3;

			public static Func<CharacterBody, string> <>9__3_4;

			public static Func<CharacterBody, string> <>9__3_5;

			public static Func<CharacterBody, string> <>9__3_6;

			public static Func<CharacterBody, string> <>9__3_7;

			public static hook_Awake <>9__3_8;

			internal string <AddBetterUICompat>b__3_0(CharacterBody body)
			{
				if (Object.op_Implicit((Object)(object)body.masterObject))
				{
					if (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()))
					{
						return body.masterObject.GetComponent<GOTCE_StatsComponent>().stageCritChance.ToString();
					}
					return "N/A";
				}
				return "N/A";
			}

			internal string <AddBetterUICompat>b__3_1(CharacterBody body)
			{
				if (Object.op_Implicit((Object)(object)body.masterObject))
				{
					if (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()))
					{
						WarCrime mostRecentlyCommitedWarCrime = body.masterObject.GetComponent<GOTCE_StatsComponent>().mostRecentlyCommitedWarCrime;
						string value = "N/A";
						WarCrimes.CrimeToName.TryGetValue(mostRecentlyCommitedWarCrime, out value);
						return value;
					}
					return "N/A";
				}
				return "N/A";
			}

			internal string <AddBetterUICompat>b__3_2(CharacterBody body)
			{
				if (Object.op_Implicit((Object)(object)body.masterObject))
				{
					if (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()))
					{
						return body.masterObject.GetComponent<GOTCE_StatsComponent>().sprintCritChance.ToString();
					}
					return "N/A";
				}
				return "N/A";
			}

			internal string <AddBetterUICompat>b__3_3(CharacterBody body)
			{
				if (Object.op_Implicit((Object)(object)body.masterObject))
				{
					if (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()))
					{
						return body.masterObject.GetComponent<GOTCE_StatsComponent>().fovCritChance.ToString();
					}
					return "N/A";
				}
				return "N/A";
			}

			internal string <AddBetterUICompat>b__3_4(CharacterBody body)
			{
				if (Object.op_Implicit((Object)(object)body.masterObject))
				{
					if (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()))
					{
						return body.masterObject.GetComponent<GOTCE_StatsComponent>().rotationCritChance.ToString();
					}
					return "N/A";
				}
				return "N/A";
			}

			internal string <AddBetterUICompat>b__3_5(CharacterBody body)
			{
				if (Object.op_Implicit((Object)(object)body.masterObject))
				{
					if (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()))
					{
						return body.masterObject.GetComponent<GOTCE_StatsComponent>().deathCritChance.ToString();
					}
					return "N/A";
				}
				return "N/A";
			}

			internal string <AddBetterUICompat>b__3_6(CharacterBody body)
			{
				if (Object.op_Implicit((Object)(object)body.masterObject))
				{
					if (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()))
					{
						return body.masterObject.GetComponent<GOTCE_StatsComponent>().aoeEffect.ToString();
					}
					return "N/A";
				}
				return "N/A";
			}

			internal string <AddBetterUICompat>b__3_7(CharacterBody body)
			{
				if (Object.op_Implicit((Object)(object)body.masterObject))
				{
					if (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()))
					{
						return body.masterObject.GetComponent<GOTCE_StatsComponent>().reviveChance.ToString();
					}
					return "N/A";
				}
				return "N/A";
			}

			internal void <AddBetterUICompat>b__3_8(orig_Awake orig, HUD self)
			{
				orig.Invoke(self);
				List<string> list;
				if (cachedNormalText == null)
				{
					list = Reflection.GetFieldValue<string[]>(typeof(StatsDisplay), "normalText").ToList();
					string[] array = new string[list.Count];
					list.CopyTo(array);
					cachedNormalText = array.ToList();
				}
				else
				{
					string[] array2 = new string[cachedNormalText.Count];
					cachedNormalText.CopyTo(array2);
					list = array2.ToList();
				}
				List<string> list2;
				if (cachedAltText == null)
				{
					list2 = Reflection.GetFieldValue<string[]>(typeof(StatsDisplay), "altText").ToList();
					string[] array3 = new string[list2.Count];
					list2.CopyTo(array3);
					cachedAltText = array3.ToList();
				}
				else
				{
					string[] array4 = new string[cachedAltText.Count];
					cachedAltText.CopyTo(array4);
					list2 = array4.ToList();
				}
				list.RemoveAt(list.Count - 1);
				list.Add("\nStage Crit: ");
				list.Add("$stage");
				list.Add("%\nFOV Crit: ");
				list.Add("$fov");
				list.Add("%\nSprint Crit: ");
				list.Add("$sprint");
				list.Add("%\nRecent War Crime: ");
				list.Add("$war");
				list.Add("\nDeath Crit: ");
				list.Add("$death");
				list.Add("%\nRotation Crit: ");
				list.Add("$rotation");
				list.Add("%\nAoE Effect: +");
				list.Add("$aoe");
				list2.RemoveAt(list2.Count - 1);
				list2.Add("\nStage Crit: ");
				list2.Add("$stage");
				list2.Add("%\nFOV Crit: ");
				list2.Add("$fov");
				list2.Add("%\nSprint Crit: ");
				list2.Add("$sprint");
				list2.Add("%\nRecent War Crime: ");
				list2.Add("$war");
				list2.Add("\nDeath Crit: ");
				list2.Add("$death");
				list2.Add("%\nRotation Crit: ");
				list2.Add("$rotation");
				list2.Add("%\nAoE Effect: +");
				list2.Add("$aoe");
				Reflection.SetFieldValue<string[]>(typeof(StatsDisplay), "normalText", list.ToArray());
				Reflection.SetFieldValue<string[]>(typeof(StatsDisplay), "altText", list2.ToArray());
			}
		}

		private static List<string> cachedNormalText;

		private static List<string> cachedAltText;

		[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)]
		public static void AddBetterUICompat()
		{
			//IL_0170: Unknown result type (might be due to invalid IL or missing references)
			//IL_0175: Unknown result type (might be due to invalid IL or missing references)
			//IL_017b: Expected O, but got Unknown
			Func<CharacterBody, string> func = (CharacterBody body) => Object.op_Implicit((Object)(object)body.masterObject) ? (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()) ? body.masterObject.GetComponent<GOTCE_StatsComponent>().stageCritChance.ToString() : "N/A") : "N/A";
			Func<CharacterBody, string> func2 = delegate(CharacterBody body)
			{
				if (Object.op_Implicit((Object)(object)body.masterObject))
				{
					if (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()))
					{
						WarCrime mostRecentlyCommitedWarCrime = body.masterObject.GetComponent<GOTCE_StatsComponent>().mostRecentlyCommitedWarCrime;
						string value = "N/A";
						WarCrimes.CrimeToName.TryGetValue(mostRecentlyCommitedWarCrime, out value);
						return value;
					}
					return "N/A";
				}
				return "N/A";
			};
			Func<CharacterBody, string> func3 = (CharacterBody body) => Object.op_Implicit((Object)(object)body.masterObject) ? (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()) ? body.masterObject.GetComponent<GOTCE_StatsComponent>().sprintCritChance.ToString() : "N/A") : "N/A";
			Func<CharacterBody, string> func4 = (CharacterBody body) => Object.op_Implicit((Object)(object)body.masterObject) ? (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()) ? body.masterObject.GetComponent<GOTCE_StatsComponent>().fovCritChance.ToString() : "N/A") : "N/A";
			Func<CharacterBody, string> func5 = (CharacterBody body) => Object.op_Implicit((Object)(object)body.masterObject) ? (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()) ? body.masterObject.GetComponent<GOTCE_StatsComponent>().rotationCritChance.ToString() : "N/A") : "N/A";
			Func<CharacterBody, string> func6 = (CharacterBody body) => Object.op_Implicit((Object)(object)body.masterObject) ? (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()) ? body.masterObject.GetComponent<GOTCE_StatsComponent>().deathCritChance.ToString() : "N/A") : "N/A";
			Func<CharacterBody, string> func7 = (CharacterBody body) => Object.op_Implicit((Object)(object)body.masterObject) ? (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()) ? body.masterObject.GetComponent<GOTCE_StatsComponent>().aoeEffect.ToString() : "N/A") : "N/A";
			Func<CharacterBody, string> func8 = (CharacterBody body) => Object.op_Implicit((Object)(object)body.masterObject) ? (Object.op_Implicit((Object)(object)body.masterObject.GetComponent<GOTCE_StatsComponent>()) ? body.masterObject.GetComponent<GOTCE_StatsComponent>().reviveChance.ToString() : "N/A") : "N/A";
			StatsDisplay.AddStatsDisplay("$stage", func);
			StatsDisplay.AddStatsDisplay("$sprint", func3);
			StatsDisplay.AddStatsDisplay("$fov", func4);
			StatsDisplay.AddStatsDisplay("$war", func2);
			StatsDisplay.AddStatsDisplay("$aoe", func7);
			StatsDisplay.AddStatsDisplay("$rotation", func5);
			StatsDisplay.AddStatsDisplay("$death", func6);
			object obj = <>c.<>9__3_8;
			if (obj == null)
			{
				hook_Awake val = delegate(orig_Awake orig, HUD self)
				{
					orig.Invoke(self);
					List<string> list;
					if (cachedNormalText == null)
					{
						list = Reflection.GetFieldValue<string[]>(typeof(StatsDisplay), "normalText").ToList();
						string[] array = new string[list.Count];
						list.CopyTo(array);
						cachedNormalText = array.ToList();
					}
					else
					{
						string[] array2 = new string[cachedNormalText.Count];
						cachedNormalText.CopyTo(array2);
						list = array2.ToList();
					}
					List<string> list2;
					if (cachedAltText == null)
					{
						list2 = Reflection.GetFieldValue<string[]>(typeof(StatsDisplay), "altText").ToList();
						string[] array3 = new string[list2.Count];
						list2.CopyTo(array3);
						cachedAltText = array3.ToList();
					}
					else
					{
						string[] array4 = new string[cachedAltText.Count];
						cachedAltText.CopyTo(array4);
						list2 = array4.ToList();
					}
					list.RemoveAt(list.Count - 1);
					list.Add("\nStage Crit: ");
					list.Add("$stage");
					list.Add("%\nFOV Crit: ");
					list.Add("$fov");
					list.Add("%\nSprint Crit: ");
					list.Add("$sprint");
					list.Add("%\nRecent War Crime: ");
					list.Add("$war");
					list.Add("\nDeath Crit: ");
					list.Add("$death");
					list.Add("%\nRotation Crit: ");
					list.Add("$rotation");
					list.Add("%\nAoE Effect: +");
					list.Add("$aoe");
					list2.RemoveAt(list2.Count - 1);
					list2.Add("\nStage Crit: ");
					list2.Add("$stage");
					list2.Add("%\nFOV Crit: ");
					list2.Add("$fov");
					list2.Add("%\nSprint Crit: ");
					list2.Add("$sprint");
					list2.Add("%\nRecent War Crime: ");
					list2.Add("$war");
					list2.Add("\nDeath Crit: ");
					list2.Add("$death");
					list2.Add("%\nRotation Crit: ");
					list2.Add("$rotation");
					list2.Add("%\nAoE Effect: +");
					list2.Add("$aoe");
					Reflection.SetFieldValue<string[]>(typeof(StatsDisplay), "normalText", list.ToArray());
					Reflection.SetFieldValue<string[]>(typeof(StatsDisplay), "altText", list2.ToArray());
				};
				<>c.<>9__3_8 = val;
				obj = (object)val;
			}
			HUD.Awake += (hook_Awake)obj;
		}
	}
}
namespace GOTCE.Utils
{
	public static class AddressableUtils
	{
		public static T Load<T>(this string path)
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			return Addressables.LoadAssetAsync<T>((object)path).WaitForCompletion();
		}

		public static T LoadComponent<T>(this string path) where T : Component
		{
			return path.Load<GameObject>().GetComponent<T>();
		}
	}
	public class ConfigOption<T>
	{
		private readonly ConfigEntry<T> Bind;

		public ConfigOption(ConfigFile config, string categoryName, string configOptionName, T defaultValue, string fullDescription)
		{
			Bind = config.Bind<T>(categoryName, configOptionName, defaultValue, fullDescription);
		}

		public static implicit operator T(ConfigOption<T> x)
		{
			return x.Bind.Value;
		}

		public override string ToString()
		{
			return Bind.Value.ToString();
		}
	}
	public static class ConfigExtension
	{
		public static ConfigOption<T> ActiveBind<T>(this ConfigFile configWrapper, string categoryName, string configOptionName, T defaultValue, string fullDescription)
		{
			return new ConfigOption<T>(configWrapper, categoryName, configOptionName, defaultValue, fullDescription);
		}
	}
	public static class Events
	{
		public static uint Play_wBisonDeath = 1113517888u;

		public static uint Play_wBisonHit = 1197473233u;

		public static uint Play_wBisonShoot1 = 3268390400u;

		public static uint Play_wBisonSpawn = 1249767875u;

		public static uint Play_wBlastdoor = 3043230225u;

		public static uint Play_wBoarDeath = 3944593657u;

		public static uint Play_wBoarExplosion = 3091761946u;

		public static uint Play_wBoarHit = 1332006904u;

		public static uint Play_wBoarMDeath = 2887033908u;

		public static uint Play_wBoarShoot1 = 2651342963u;

		public static uint Play_wBoss1Shoot1 = 3380168965u;

		public static uint Play_wBoss1Shoot2 = 3380168966u;

		public static uint Play_wBossSkill2 = 857592033u;

		public static uint Play_wBubbleShield = 3999340508u;

		public static uint Play_wBullet1 = 3448409474u;

		public static uint Play_wBullet2 = 3448409473u;

		public static uint Play_wBullet3 = 3448409472u;

		public static uint Play_wCasing = 1800381192u;

		public static uint Play_wChainLightning = 1913174254u;

		public static uint Play_wChat = 1231583519u;

		public static uint Play_wChefShoot2_1 = 4002996080u;

		public static uint Play_wChest0 = 273185112u;

		public static uint Play_wChest1 = 273185113u;

		public static uint Play_wChest2 = 273185114u;

		public static uint Play_wChest5 = 273185117u;

		public static uint Play_wChildDeath = 3731152613u;

		public static uint Play_wChildGShoot1 = 2978407106u;

		public static uint Play_wChildHit = 4072685316u;

		public static uint Play_wChildShoot1 = 4260787991u;

		public static uint Play_wClayDeath = 1853199952u;

		public static uint Play_wClayHit = 2864197409u;

		public static uint Play_wClayShoot1 = 1969574576u;

		public static uint Play_wClaySpawn = 1481867283u;

		public static uint Play_wClick = 1105771879u;

		public static uint Play_wCoin = 1232716514u;

		public static uint Play_wCoins = 2360199605u;

		public static uint Play_wCrabDeath = 2914438815u;

		public static uint Play_wCrabSpawn = 400103432u;

		public static uint Play_wCrit_01 = 3774687669u;

		public static uint Play_wCrowbar = 2755541643u;

		public static uint Play_wCutsceneAlarm = 2172459452u;

		public static uint Play_wCutsceneJet = 197474154u;

		public static uint Play_wCutscenePass = 1461112566u;

		public static uint Play_wDifficulty = 3657652262u;

		public static uint Play_wDoll = 1118795882u;

		public static uint Play_wDrill = 1252691444u;

		public static uint Play_wDrone1Spawn = 3109566651u;

		public static uint Play_wEfMushroom = 3355655210u;

		public static uint Play_wEmbryo = 3519041107u;

		public static uint Play_wError = 2120356473u;

		public static uint Play_wExplosiveShot = 1244890662u;

		public static uint Play_wFeralShoot1 = 732734997u;

		public static uint Play_wFeralShoot2 = 732734998u;

		public static uint Play_wFrozen = 1850209911u;

		public static uint Play_wGeyser = 2014257388u;

		public static uint Play_wGiantJellyExplosion = 923348941u;

		public static uint Play_wGiantJellyHit = 3830172407u;

		public static uint Play_wGolemAttack1 = 1019251312u;

		public static uint Play_wGolemDeath = 469957963u;

		public static uint Play_wGolemHit = 1924739498u;

		public static uint Play_wGolemSpawn = 2658053020u;

		public static uint Play_wGuardDeath = 2195517878u;

		public static uint Play_wGuardHit = 3726358359u;

		public static uint Play_wGuardSpawn = 1193575573u;

		public static uint Play_wHeavyShoot1 = 2266555164u;

		public static uint Play_wHitlist = 1828045284u;

		public static uint Play_wHuntressShoot1 = 2714607293u;

		public static uint Play_wHuntressShoot3 = 2714607295u;

		public static uint Play_wImpDeath = 1405469125u;

		public static uint Play_wImpGShoot1 = 702433570u;

		public static uint Play_wImpHit = 2697432036u;

		public static uint Play_wImpShoot1 = 2776445175u;

		public static uint Play_wImpShoot2 = 2776445172u;

		public static uint Play_wJanitorShoot1_1 = 2483794322u;

		public static uint Play_wJanitorShoot1_2 = 2483794321u;

		public static uint Play_wJanitorShoot2_1 = 1409879677u;

		public static uint Play_wJanitorShoot2_2 = 1409879678u;

		public static uint Play_wJanitorShoot4_1 = 1410865383u;

		public static uint Play_wJanitorShoot4_2 = 1410865380u;

		public static uint Play_wJarSouls = 4162844532u;

		public static uint Play_wJellyDeath = 2679553851u;

		public static uint Play_wJellyHit = 213554906u;

		public static uint Play_wLevelUp = 1919980434u;

		public static uint Play_wLevelUpWar = 4023542052u;

		public static uint Play_wLightning = 1330288141u;

		public static uint Play_wLizardDeath = 2074794113u;

		public static uint Play_wLizardGDeath = 4177291774u;

		public static uint Play_wLizardGHit = 1425978735u;

		public static uint Play_wLizardGShoot1 = 1170430294u;

		public static uint Play_wLizardGSpawn = 2684018717u;

		public static uint Play_wLizardHit = 4207177744u;

		public static uint Play_wLizardShoot1 = 287412267u;

		public static uint Play_wLizardSpawn = 1283696654u;

		public static uint Play_wMine = 1021358464u;

		public static uint Play_wMinerShoot1 = 1056078324u;

		public static uint Play_wMinerShoot2 = 1056078327u;

		public static uint Play_wMinerShoot3 = 1056078326u;

		public static uint Play_wMinerShoot4 = 1056078321u;

		public static uint Play_wMissileLaunch = 3415171634u;

		public static uint Play_wMS = 3023098025u;

		public static uint Play_wMush = 1473662818u;

		public static uint Play_wMushDeath = 3463803836u;

		public static uint Play_wMushHit = 2887429069u;

		public static uint Play_wMushShoot1 = 487910212u;

		public static uint Play_wMushSpawn = 4208364455u;

		public static uint Play_wNautShoot1 = 874719151u;

		public static uint Play_wPickup = 745840569u;

		public static uint Play_wPigShoot1 = 4172429713u;

		public static uint Play_wPodDeath = 368641344u;

		public static uint Play_wPodHit = 4069172177u;

		public static uint Play_wPyroShoot1 = 1977581991u;

		public static uint Play_wReflect = 3534459008u;

		public static uint Play_wReload = 1935874270u;

		public static uint Play_wRevive = 3924543518u;

		public static uint Play_wRiotGrenade = 1170699791u;

		public static uint Play_wRiotShoot1 = 392428577u;

		public static uint Play_wSamuraiShoot1 = 2292726403u;

		public static uint Play_wSamuraiShoot2 = 2292726400u;

		public static uint Play_wScavengerHit = 3803292342u;

		public static uint Play_wShield = 144484126u;

		public static uint Play_wShrine1 = 1516352125u;

		public static uint Play_wSmite = 1676655215u;

		public static uint Play_wSniper = 1326789400u;

		public static uint Play_wSniper2 = 2522836730u;

		public static uint Play_wSniperShoot3 = 3029163620u;

		public static uint Play_wSpiderHit = 1534240581u;

		public static uint Play_wSpiderShoot1 = 4018099836u;

		public static uint Play_wSpitterHit = 530229631u;

		public static uint Play_wSpitterShoot1 = 1863108870u;

		public static uint Play_wSpitterSpawn = 291139117u;

		public static uint Play_wSqueaky = 1860044956u;

		public static uint Play_wTeleporter = 1289080377u;

		public static uint Play_wUse = 1100859862u;

		public static uint Play_wWatch = 3354880454u;

		public static uint Play_wWispBDeath = 3021624856u;

		public static uint Play_wWispBShoot1 = 2025586984u;

		public static uint Play_wWispDeath = 3169292106u;

		public static uint Play_wWispGDeath = 1968672835u;

		public static uint Play_wWispGShoot1 = 969982957u;

		public static uint Play_wWispHit = 2561235483u;

		public static uint Play_wWispShoot1 = 914723770u;

		public static uint Play_wWispSpawn = 3436613665u;

		public static uint Play_wWormBurning = 2192059253u;

		public static uint Play_wWormDeath = 3793594386u;

		public static uint Play_wWormExplosion = 2529227609u;

		public static uint Play_wWormHit = 3504753139u;

		public static uint Play_wWormRoar = 1700089088u;

		public static uint Kill_loops = 3633988413u;

		public static uint Pause_All = 3864097025u;

		public static uint Play_Achievement = 3433956687u;

		public static uint Play_acid_larva_attack1_explo = 2451117845u;

		public static uint Play_acid_larva_attack1_loop = 3362763155u;

		public static uint Play_acid_larva_attack1_start = 1646746355u;

		public static uint Play_acid_larva_death = 3568098837u;

		public static uint Play_acid_larva_idle = 2621183947u;

		public static uint Play_acid_larva_impact = 2231265675u;

		public static uint Play_acid_larva_spawn = 3730906858u;

		public static uint Play_acid_larva_sprint_land = 2824450583u;

		public static uint Play_acid_larva_sprint_leap = 2639308470u;

		public static uint Play_acid_larva_step = 828559811u;

		public static uint Play_acrid_m1_bigSlash = 1656148530u;

		public static uint Play_acrid_m1_hit = 1822928838u;

		public static uint Play_acrid_m1_slash = 1719910342u;

		public static uint Play_acrid_m2_bite_hit = 2714436782u;

		public static uint Play_acrid_m2_bite_shoot = 456215952u;

		public static uint Play_acrid_m2_explode = 2736075181u;

		public static uint Play_acrid_m2_fly_loop = 644013190u;

		public static uint Play_acrid_m2_shoot = 999289595u;

		public static uint Play_acrid_R_fly_loop = 1915769387u;

		public static uint Play_acrid_R_infect = 1007919396u;

		public static uint Play_acrid_R_shoot = 1160201708u;

		public static uint Play_acrid_shift_fly_loop = 642600073u;

		public static uint Play_acrid_shift_jump = 1749522733u;

		public static uint Play_acrid_shift_land = 320622162u;

		public static uint Play_acrid_shift_puddle_loop = 1556265730u;

		public static uint Play_acrid_sprint_start = 801642819u;

		public static uint Play_acrid_sprint_stop = 3680364993u;

		public static uint Play_acrid_step = 372958860u;

		public static uint Play_acrid_step_sprint = 2575316715u;

		public static uint Play_acrid_step_sprint_hand = 3560327381u;

		public static uint Play_affix_mendingBomb_explode = 841626335u;

		public static uint Play_affix_mendingChain_loop = 3768810533u;

		public static uint Play_affix_void_bug_infect = 939369398u;

		public static uint Play_affix_void_bug_loop = 1959624827u;

		public static uint Play_affix_void_bug_spawn = 3394761874u;

		public static uint Play_affix_void_spawn = 1535219985u;

		public static uint Play_AMB_zone_arena = 1539048487u;

		public static uint Play_AMB_zone_artifactWorld = 4134483156u;

		public static uint Play_AMB_zone_char_select = 1641027481u;

		public static uint Play_AMB_zone_damp_cave_simple = 1142851345u;

		public static uint Play_AMB_zone_dark_rain = 938309267u;

		public static uint Play_AMB_zone_desert = 56392161u;

		public static uint Play_AMB_zone_limbo = 1359925925u;

		public static uint Play_AMB_zone_moon = 3075336325u;

		public static uint Play_AMB_zone_rootJungle = 2348244945u;

		public static uint Play_AMB_zone_ship_graveyard = 642154978u;

		public static uint Play_AMB_zone_skyMeadow = 3453798682u;

		public static uint Play_AMB_zone_skyMeadow_hiddenLab = 3040657526u;

		public static uint Play_AMB_zone_tundra = 38798342u;

		public static uint Play_AMB_zone_wisp_graveyard = 751162865u;

		public static uint Play_arenaCrab_idle_VO = 158852972u;

		public static uint Play_arenaCrab_swim_land = 2386788264u;

		public static uint Play_arenaCrab_swim_loop = 2401300333u;

		public static uint Play_arenaCrab_swim_plant = 1572198610u;

		public static uint Play_arenaCrab_swim_stroke = 2022745195u;

		public static uint Play_arenaCrab_swim_uproot = 3172304260u;

		public static uint Play_artifactBoss_attack1_explode = 71177277u;

		public static uint Play_artifactBoss_attack1_flightLoop = 2591078442u;

		public static uint Play_artifactBoss_attack1_shoot = 2196529419u;

		public static uint Play_artifactBoss_death = 4163357724u;

		public static uint Play_artifactBoss_idle_VO = 1345400638u;

		public static uint Play_artifactBoss_loop_level1 = 184703648u;

		public static uint Play_artifactBoss_loop_level2 = 184703651u;

		public static uint Play_artifactBoss_loop_level3 = 184703650u;

		public static uint Play_artifactBoss_spawn = 188493575u;

		public static uint Play_artifactBoss_takehit = 1098257974u;

		public static uint Play_bandit2_m1_reload_bullet = 452712768u;

		public static uint Play_bandit2_m1_reload_finish = 888917029u;

		public static uint Play_bandit2_m1_rifle = 2347126876u;

		public static uint Play_bandit2_m1_shotgun = 4206201632u;

		public static uint Play_bandit2_m2_alt_throw = 595565201u;

		public static uint Play_bandit2_m2_impact = 2278422317u;

		public static uint Play_bandit2_m2_slash = 4103120750u;

		public static uint Play_bandit2_R_alt_kill = 4143438424u;

		public static uint Play_bandit2_R_fire = 1435016856u;

		public static uint Play_bandit2_R_kill = 3719464252u;

		public static uint Play_bandit2_R_load = 3765877048u;

		public static uint Play_bandit2_shift_enter = 2967307668u;

		public static uint Play_bandit2_shift_exit = 850833398u;

		public static uint Play_bandit2_step = 3692683083u;

		public static uint Play_bandit2_step_sprint = 1764271662u;

		public static uint Play_bandit_M1_pump = 1853111450u;

		public static uint Play_bandit_M1_shot = 3033552564u;

		public static uint Play_bandit_M2_load = 2190546849u;

		public static uint Play_bandit_M2_shot = 1980580961u;

		public static uint Play_bandit_shift_end = 2770013503u;

		public static uint Play_bandit_shift_jump = 1325724668u;

		public static uint Play_bandit_shift_land = 1259710815u;

		public static uint Play_beetle_guard_attack1 = 763398245u;

		public static uint Play_beetle_guard_attack2_initial = 2581251415u;

		public static uint Play_beetle_guard_attack2_spikeLoop = 542781083u;

		public static uint Play_beetle_guard_death = 1527577102u;

		public static uint Play_beetle_guard_idle_VO = 3561602500u;

		public static uint Play_beetle_guard_impact = 2349109310u;

		public static uint Play_beetle_guard_spawn = 515189165u;

		public static uint Play_beetle_guard_step = 2628071246u;

		public static uint Play_beetle_queen_attack1 = 555937964u;

		public static uint Play_beetle_queen_attack2_impact = 3157521796u;

		public static uint Play_beetle_queen_attack2_projectile_loop = 1477410428u;

		public static uint Play_beetle_queen_attack2_shoot = 4217844119u;

		public static uint Play_beetle_queen_death = 451763711u;

		public static uint Play_beetle_queen_impact = 806513485u;

		public static uint Play_beetle_queen_spawn = 2698326632u;

		public static uint Play_beetle_queen_step = 2551161845u;

		public static uint Play_beetle_queen_VO_idle = 1845046503u;

		public static uint Play_beetle_worker_attack = 4241852727u;

		public static uint Play_beetle_worker_death = 383219511u;

		public static uint Play_beetle_worker_idle = 1901530073u;

		public static uint Play_beetle_worker_impact = 1338816453u;

		public static uint Play_beetle_worker_spawn = 1471942880u;

		public static uint Play_beetle_worker_step = 1809191501u;

		public static uint Play_bellBody_attackCreate = 780374380u;

		public static uint Play_bellBody_attackLand = 1732098311u;

		public static uint Play_bellBody_attackShoot = 4097802741u;

		public static uint Play_bellBody_death = 2182572274u;

		public static uint Play_bellBody_idle_loop = 345208571u;

		public static uint Play_bellBody_idle_VO = 4021378928u;

		public static uint Play_bellBody_impact = 2147523650u;

		public static uint Play_bellBody_spawn = 4144720393u;

		public static uint Play_bison_charge_attack_collide = 2909411958u;

		public static uint Play_bison_charge_attack_end_skid = 2235015895u;

		public static uint Play_bison_charge_attack_start = 2509443544u;

		public static uint Play_bison_charge_attack_tell = 4101791573u;

		public static uint Play_bison_death = 3590751484u;

		public static uint Play_bison_headbutt_attack_hit = 3802411724u;

		public static uint Play_bison_headbutt_attack_swing = 1417054473u;

		public static uint Play_bison_idle_graze = 2516815946u;

		public static uint Play_bison_idle_VO = 3855060446u;

		public static uint Play_bison_impact = 4030239748u;

		public static uint Play_bison_spawn = 3910957799u;

		public static uint Play_bison_step = 2839275484u;

		public static uint Play_bison_step_charge = 532574671u;

		public static uint Play_bleedOnCritAndExplode_explode = 2693964769u;

		public static uint Play_bleedOnCritAndExplode_impact = 3570667772u;

		public static uint Play_blindVermin_attack1_bite = 901504895u;

		public static uint Play_blindVermin_death = 3786262665u;

		public static uint Play_blindVermin_idle_VO = 2536191415u;

		public static uint Play_blindVermin_impact = 121244671u;

		public static uint Play_blindVermin_spawn = 2995165238u;

		public static uint Play_blindVermin_step = 294344023u;

		public static uint Play_boss_spawn_radius_appear = 4035156426u;

		public static uint Play_boss_spawn_rumble = 2327315087u;

		public static uint Play_captain_drone_idle_VO = 1028355892u;

		public static uint Play_captain_drone_quick_move = 8118127u;

		public static uint Play_captain_drone_zap = 3992615829u;

		public static uint Play_captain_m1_chargeStart = 2544146878u;

		public static uint Play_captain_m1_hit = 3819278833u;

		public static uint Play_captain_m1_reload = 2226849933u;

		public static uint Play_captain_m1_shootWide = 532604026u;

		public static uint Play_captain_m1_shotgun_charge_loop = 2453063032u;

		public static uint Play_captain_m1_shotgun_shootTight = 1348536996u;

		public static uint Play_captain_m2_tazed_loop = 3117407908u;

		public static uint Play_captain_m2_tazer_bounce = 1888136956u;

		public static uint Play_captain_m2_tazer_impact = 58834266u;

		public static uint Play_captain_m2_tazer_shoot = 832597929u;

		public static uint Play_captain_R_aim = 364785367u;

		public static uint Play_captain_R_aiming_loop = 1040620982u;

		public static uint Play_captain_R_confirmLocation = 1531948689u;

		public static uint Play_captain_R_impact = 3902637834u;

		public static uint Play_captain_R_turret_build = 1359756347u;

		public static uint Play_captain_R_turret_healing_loop = 788149618u;

		public static uint Play_captain_shift_active_loop = 3941125189u;

		public static uint Play_captain_shift_confirm = 2140775262u;

		public static uint Play_captain_shift_end = 803261989u;

		public static uint Play_captain_shift_impact = 3269630552u;

		public static uint Play_captain_shift_preImpact = 1069989355u;

		public static uint Play_captain_shift_start = 2113266862u;

		public static uint Play_captain_sprint_start = 3430012852u;

		public static uint Play_captain_sprint_stop = 1094493224u;

		public static uint Play_captain_step = 1226612947u;

		public static uint Play_captain_step_sprint = 2831720022u;

		public static uint Play_captain_utility_variant_impact = 1357225738u;

		public static uint Play_captain_utility_variant_laser_loop = 2451237826u;

		public static uint Play_captain_utility_variant_preImpact = 3461917085u;

		public static uint Play_char_glass_death = 359633836u;

		public static uint Play_char_jump_VO = 1654395377u;

		public static uint Play_char_land = 81910470u;

		public static uint Play_char_land_fall_damage = 2642009198u;

		public static uint Play_clayboss_death = 2559714313u;

		public static uint Play_clayboss_idle_loop = 3870838284u;

		public static uint Play_clayboss_idle_VO = 628079927u;

		public static uint Play_clayboss_impact = 1890981503u;

		public static uint Play_clayboss_M1_explo = 2368148000u;

		public static uint Play_clayboss_m1_lidClose = 1576056771u;

		public static uint Play_clayboss_m1_lidOpen = 1470926389u;

		public static uint Play_clayboss_m1_shoot = 2922284055u;

		public static uint Play_clayboss_m2_explo = 4043539191u;

		public static uint Play_clayboss_m2_projectile_loop = 3593581531u;

		public static uint Play_clayboss_m2_rise = 916955724u;

		public static uint Play_clayboss_m2_shoot = 600290068u;

		public static uint Play_clayboss_R_mulch_loop = 968500644u;

		public static uint Play_clayboss_R_start = 988517284u;

		public static uint Play_clayboss_R_tether_loop = 3132967749u;

		public static uint Play_clayboss_spawn = 1768616886u;

		public static uint Play_clayboss_step = 3088890839u;

		public static uint Play_clayboss_step_legMove = 869404285u;

		public static uint Play_clayboss_walk_loop = 212114079u;

		public static uint Play_clayBruiser_attack1_shoot_bullet = 491470286u;

		public static uint Play_clayBruiser_attack1_shoot_flyby = 3572694566u;

		public static uint Play_clayBruiser_attack1_shootLoop = 649113537u;

		public static uint Play_clayBruiser_attack1_windDown = 263088688u;

		public static uint Play_clayBruiser_attack1_windUp = 1916278867u;

		public static uint Play_clayBruiser_attack2_shoot = 1288244652u;

		public static uint Play_clayBruiser_death = 3332873880u;

		public static uint Play_clayBruiser_idle_VO = 2519366882u;

		public static uint Play_clayBruiser_impact = 1250949200u;

		public static uint Play_clayBruiser_spawn = 817063995u;

		public static uint Play_clayBruiser_step = 1697475496u;

		public static uint Play_clayGrenadier_attack1_chargeup = 318212996u;

		public static uint Play_clayGrenadier_attack1_explode = 2432531130u;

		public static uint Play_clayGrenadier_attack1_launch = 1826024586u;

		public static uint Play_clayGrenadier_attack2_chargeup = 1264580837u;

		public static uint Play_clayGrenadier_attack2_explode = 1475316029u;

		public static uint Play_clayGrenadier_attack2_throw = 3151664278u;

		public static uint Play_clayGrenadier_death = 4008628731u;

		public static uint Play_clayGrenadier_idle_VO = 2834945965u;

		public static uint Play_clayGrenadier_impact = 216053097u;

		public static uint Play_clayGrenadier_spawn = 1404722828u;

		public static uint Play_clayGrenadier_step = 2998452545u;

		public static uint Play_commando_M1 = 4060526873u;

		public static uint Play_commando_M2 = 4060526874u;

		public static uint Play_commando_M2_grenade_beep = 767972256u;

		public static uint Play_commando_M2_grenade_bounce = 2406813524u;

		public static uint Play_commando_M2_grenade_explo = 1805372450u;

		public static uint Play_commando_M2_grenade_throw = 2891623396u;

		public static uint Play_commando_M2_impact = 3856027043u;

		public static uint Play_commando_R = 1872804647u;

		public static uint Play_commando_R_stun = 856897882u;

		public static uint Play_commando_shift = 4030773325u;

		public static uint Play_deathProjectile_activate = 4274104951u;

		public static uint Play_deathProjectile_activeLoop = 4274851604u;

		public static uint Play_deathProjectile_exit = 2255177404u;

		public static uint Play_deathProjectile_pulse = 3311061351u;

		public static uint Play_deathProjectile_throw = 3241022660u;

		public static uint Play_drone_active_loop = 1397126242u;

		public static uint Play_drone_attack = 2284311463u;

		public static uint Play_drone_deathpt1 = 263213456u;

		public static uint Play_drone_deathpt2 = 263213459u;

		public static uint Play_drone_repair = 1856960692u;

		public static uint Play_elite_antiHeal_spawn = 691984684u;

		public static uint Play_elite_antiHeal_turret_die = 3657700870u;

		public static uint Play_elite_antiHeal_turret_shot = 669631748u;

		public static uint Play_elite_antiHeal_turret_spawn = 308571281u;

		public static uint Play_elite_antiHeal_urchin_activeLoop = 3295205085u;

		public static uint Play_elite_antiHeal_urchin_land = 962572750u;

		public static uint Play_elite_antiHeal_urchin_spawn = 569941158u;

		public static uint Play_elite_haunt_ghost_convert = 2762055418u;

		public static uint Play_elite_haunt_hauntorb_activeLoop = 543514253u;

		public static uint Play_elite_haunt_spawn = 265705826u;

		public static uint Play_emergency_drone_heal_loop = 2145196828u;

		public static uint Play_engi_M1_chargeLoop = 1143106461u;

		public static uint Play_engi_M1_chargeStock = 1582860475u;

		public static uint Play_engi_M1_explo = 2460302619u;

		public static uint Play_engi_M1_land = 1224228428u;

		public static uint Play_engi_M1_shot = 2716114991u;

		public static uint Play_engi_M2_arm = 801551500u;

		public static uint Play_engi_M2_explo = 1876447108u;

		public static uint Play_engi_M2_land = 1942736441u;

		public static uint Play_engi_M2_spider_dash = 2039062976u;

		public static uint Play_engi_M2_throw = 2382761590u;

		public static uint Play_engi_R_activate = 3298597612u;

		public static uint Play_engi_R_place = 643340344u;

		public static uint Play_engi_R_turret_death = 4245687690u;

		public static uint Play_engi_R_turret_rotate_start = 3711319792u;

		public static uint Play_engi_R_turret_rotate_stop = 3202539612u;

		public static uint Play_engi_R_turret_shot = 3407965588u;

		public static uint Play_engi_R_turret_spawn = 4130025569u;

		public static uint Play_engi_R_walkingTurret_laser_end = 3407461464u;

		public static uint Play_engi_R_walkingTurret_laser_start = 1126280707u;

		public static uint Play_engi_R_walkingTurret_step = 2412533739u;

		public static uint Play_engi_seekerMissile_explode = 2273471583u;

		public static uint Play_engi_seekerMissile_HUD_close = 872995266u;

		public static uint Play_engi_seekerMissile_HUD_loop = 3389061272u;

		public static uint Play_engi_seekerMissile_HUD_open = 1095370646u;

		public static uint Play_engi_seekerMissile_lockOn = 407672846u;

		public static uint Play_engi_seekerMissile_shoot = 2951980765u;

		public static uint Play_engi_shift_end = 1395092584u;

		public static uint Play_engi_shift_hit = 1846263908u;

		public static uint Play_engi_shift_start = 729856403u;

		public static uint Play_engi_sprint_end = 1589710056u;

		public static uint Play_engi_sprint_start = 1694535187u;

		public static uint Play_env_dampCave_crystalLight_loop = 3080548713u;

		public static uint Play_env_dampCave_steamVent_loop = 2932480344u;

		public static uint Play_env_desert_wind_gust = 363197352u;

		public static uint Play_env_fan_activate = 1753248287u;

		public static uint Play_env_geyser_launch = 3684346483u;

		public static uint Play_env_geyser_loop = 2001038684u;

		public static uint Play_env_gooWaterfall_loop = 3671383336u;

		public static uint Play_env_hiddenLab_laptop_activate = 1191732790u;

		public static uint Play_env_hiddenLab_laptop_active_loop = 3198839584u;

		public static uint Play_env_hiddenLab_laptop_button_cycle = 1729294674u;

		public static uint Play_env_hiddenLab_laptop_sequence_fail = 3795285125u;

		public static uint Play_env_hiddenLab_laptop_sequence_lock = 535095044u;

		public static uint Play_env_hiddenLab_laptop_sequence_success = 2883328426u;

		public static uint Play_env_hiddenLab_TP_active_loop = 1656660852u;

		public static uint Play_env_hiddenLab_TP_VO = 1027544848u;

		public static uint Play_env_light_flicker = 1529618755u;

		public static uint Play_env_moon_planet_destroying_loop = 56354104u;

		public static uint Play_env_moon_shuttle_engineIdle_loop = 979450395u;

		public static uint Play_env_roach_scatter = 1578037490u;

		public static uint Play_env_rootJungle_mushroom_bounce = 1759858961u;

		public static uint Play_env_ship_interior_loop = 2037610980u;

		public static uint Play_env_ship_pulsing_energy_loop = 2105493367u;

		public static uint Play_env_teleporter_active_button = 2694206298u;

		public static uint Play_env_vase_shatter = 3320446911u;

		public static uint Play_fireballsOnHit_aliveLoop = 3330327238u;

		public static uint Play_fireballsOnHit_impact = 1308908475u;

		public static uint Play_fireballsOnHit_pool_aliveLoop = 289286259u;

		public static uint Play_fireballsOnHit_shoot = 2071974498u;

		public static uint Play_flyingVermin_attack1_explo = 2325827633u;

		public static uint Play_flyingVermin_attack1_loop = 959625319u;

		public static uint Play_flyingVermin_attack1_start = 2469277671u;

		public static uint Play_flyingVermin_death = 2852936633u;

		public static uint Play_flyingVermin_idle_VO = 1488967u;

		public static uint Play_flyingVermin_impact = 1482226543u;

		public static uint Play_flyingVermin_spawn = 2569421798u;

		public static uint Play_flyingVermin_wingFlap = 2482198841u;

		public static uint Play_golem_clap = 3011704479u;

		public static uint Play_golem_death = 4251967229u;

		public static uint Play_golem_idle = 4196494707u;

		public static uint Play_golem_impact = 790462995u;

		public static uint Play_golem_laser_charge = 3644347705u;

		public static uint Play_golem_laser_fire = 3454198445u;

		public static uint Play_golem_spawn = 1773057618u;

		public static uint Play_golem_step = 4056609419u;

		public static uint Play_grandParent_attack1_boulderLarge_impact = 124225148u;

		public static uint Play_grandParent_attack1_boulderSmall_impact = 3157690056u;

		public static uint Play_grandParent_attack1_flightLoop = 1108205171u;

		public static uint Play_grandParent_attack1_throw = 659529741u;

		public static uint Play_grandParent_attack1_windUp = 1356813166u;

		public static uint Play_grandParent_attack2_loop = 1723739392u;

		public static uint Play_grandParent_attack2_spawn = 1710100275u;

		public static uint Play_grandParent_attack3_spawn = 1361990298u;

		public static uint Play_grandParent_attack3_sun_activeLoop = 3203163036u;

		public static uint Play_grandParent_attack3_sun_damageLoop = 406969537u;

		public static uint Play_grandParent_attack3_sun_destroy = 2118002602u;

		public static uint Play_grandParent_attack3_sun_spawn = 2441414753u;

		public static uint Play_grandParent_death = 1713910539u;

		public static uint Play_grandparent_handStep = 2848869794u;

		public static uint Play_grandParent_idle_VO = 779063965u;

		public static uint Play_grandParent_impact = 2762774137u;

		public static uint Play_grandparent_rotate = 19433626u;

		public static uint Play_grandParent_spawn = 3902005852u;

		public static uint Play_gravekeeper_attack1_close = 351879350u;

		public static uint Play_gravekeeper_attack1_explode = 1862008297u;

		public static uint Play_gravekeeper_attack1_fire = 187415678u;

		public static uint Play_gravekeeper_attack1_fly_loop = 48308530u;

		public static uint Play_gravekeeper_attack1_open = 3258261602u;

		public static uint Play_gravekeeper_attack2_charge = 843010431u;

		public static uint Play_gravekeeper_attack2_fly_loop = 4016868819u;

		public static uint Play_gravekeeper_attack2_impact = 3666498161u;

		public static uint Play_gravekeeper_attack2_shoot = 1854147796u;

		public static uint Play_gravekeeper_attack2_shoot_singleChain = 157111274u;

		public static uint Play_gravekeeper_death_01 = 2997386486u;

		public static uint Play_gravekeeper_death_impact_01 = 886079489u;

		public static uint Play_gravekeeper_idle_loop = 1267131317u;

		public static uint Play_gravekeeper_idle_twitch = 416657018u;

		public static uint Play_gravekeeper_idle_VO = 3630636154u;

		public static uint Play_gravekeeper_impact_body = 205671591u;

		public static uint Play_gravekeeper_impact_canister = 3811738432u;

		public static uint Play_gravekeeper_jump = 3152593038u;

		public static uint Play_gravekeeper_land = 1220364025u;

		public static uint Play_gravekeeper_spawn_01 = 833992567u;

		public static uint Play_gravekeeper_step = 3893993616u;

		public static uint Play_greater_wisp_active_loop = 742303752u;

		public static uint Play_greater_wisp_attack = 1232102909u;

		public static uint Play_greater_wisp_death = 1444167041u;

		public static uint Play_greater_wisp_idle = 731002447u;

		public static uint Play_greater_wisp_impact = 2158457527u;

		public static uint Play_gup_attack1_charge = 3438622745u;

		public static uint Play_gup_attack1_shoot = 950894418u;

		public static uint Play_gup_death = 256612421u;

		public static uint Play_gup_idle_VO = 1624048235u;

		public static uint Play_gup_impact = 3673819067u;

		public static uint Play_gup_spawn = 305164250u;

		public static uint Play_gup_step = 1253711379u;

		public static uint Play_healing_drone_heal_loop = 5845797u;

		public static uint Play_heretic_sprint_end = 789491861u;

		public static uint Play_heretic_sprint_start = 19266142u;

		public static uint Play_heretic_squawk = 48852143u;

		public static uint Play_heretic_step = 303018737u;

		public static uint Play_heretic_step_sprint = 3042543384u;

		public static uint Play_heretic_transform = 1223237669u;

		public static uint Play_hermitCrab_attack = 2071920904u;

		public static uint Play_hermitCrab_attack_explo = 1299570915u;

		public static uint Play_hermitCrab_attack_flight_loop = 860273710u;

		public static uint Play_hermitCrab_burrow = 1102794849u;

		public static uint Play_hermitCrab_death = 216810634u;

		public static uint Play_hermitCrab_idle_VO = 3628647800u;

		public static uint Play_hermitCrab_impact = 3575639578u;

		public static uint Play_hermitCrab_spawn = 101148513u;

		public static uint Play_hermitCrab_step = 1911862778u;

		public static uint Play_hermitCrab_unburrow = 2901751544u;

		public static uint Play_huntress_m1_flight_loop = 3991633291u;

		public static uint Play_huntress_m1_ready = 1580388997u;

		public static uint Play_huntress_m1_shoot = 2005806765u;

		public static uint Play_huntress_m1_unready = 3092701574u;

		public static uint Play_huntress_m2_flight_loop = 3255539260u;

		public static uint Play_huntress_m2_impact = 3716108135u;

		public static uint Play_huntress_m2_throw = 2486049627u;

		public static uint Play_huntress_R_aim_loop = 298764410u;

		public static uint Play_huntress_R_jump = 3742373894u;

		public static uint Play_huntress_R_rain_loop = 1245670489u;

		public static uint Play_huntress_R_rain_start = 282745493u;

		public static uint Play_huntress_R_snipe_readyBow = 2533424749u;

		public static uint Play_huntress_R_snipe_shoot = 1625097243u;

		public static uint Play_huntress_shift_end = 976427987u;

		public static uint Play_huntress_shift_mini_blink = 4022209774u;

		public static uint Play_huntress_shift_start = 201442408u;

		public static uint Play_imp_attack = 2774179431u;

		public static uint Play_imp_attack_blink = 3629323260u;

		public static uint Play_imp_attack_tell = 940622283u;

		public static uint Play_imp_death = 3861350375u;

		public static uint Play_imp_idle_VO = 52008113u;

		public static uint Play_imp_impact = 3120622133u;

		public static uint Play_imp_overlord_attack1_land = 1106684340u;

		public static uint Play_imp_overlord_attack1_pop = 4199685168u;

		public static uint Play_imp_overlord_attack1_throw = 14820277u;

		public static uint Play_imp_overlord_attack2_smash = 2956702486u;

		public static uint Play_imp_overlord_attack2_tell = 819196927u;

		public static uint Play_imp_overlord_death = 1533958787u;

		public static uint Play_imp_overlord_idle_loop = 632481506u;

		public static uint Play_imp_overlord_idle_VO = 2719593925u;

		public static uint Play_imp_overlord_impact = 4009116561u;

		public static uint Play_imp_overlord_spawn = 583303092u;

		public static uint Play_imp_overlord_teleport_end = 200938724u;

		public static uint Play_imp_overlord_teleport_start = 2511118231u;

		public static uint Play_imp_spawn = 194906576u;

		public static uint Play_item_goldgat_fire = 981107519u;

		public static uint Play_item_goldgat_winddown = 917072005u;

		public static uint Play_item_goldgat_windup = 285162482u;

		public static uint Play_item_laserTurbine_charge_loop = 3907556148u;

		public static uint Play_item_lunar_focusedConvergence = 3972729947u;

		public static uint Play_item_lunar_primaryReplace_explode = 4293819245u;

		public static uint Play_item_lunar_primaryReplace_impact = 1243809256u;

		public static uint Play_item_lunar_primaryReplace_shoot = 320958651u;

		public static uint Play_item_lunar_secondaryReplace_activate = 2823364229u;

		public static uint Play_item_lunar_secondaryReplace_active_loop = 3372252345u;

		public static uint Play_item_lunar_secondaryReplace_explode = 1538162561u;

		public static uint Play_item_lunar_secondaryReplace_impact = 1781545244u;

		public static uint Play_item_lunar_secondaryReplace_throw = 3617280490u;

		public static uint Play_item_lunar_specialReplace_apply = 838666715u;

		public static uint Play_item_lunar_specialReplace_explode = 445399200u;

		public static uint Play_item_lunar_use_utilityReplacement_end = 3344329139u;

		public static uint Play_item_lunar_use_utilityReplacement_start = 1158437704u;

		public static uint Play_item_proc_armorReduction_hit = 3817389283u;

		public static uint Play_item_proc_armorReduction_shatter = 3687264935u;

		public static uint Play_item_proc_attackAndMoveBuff = 1867859700u;

		public static uint Play_item_proc_bandolier_Loop = 1800237208u;

		public static uint Play_item_proc_bandolierLand = 2260567040u;

		public static uint Play_item_proc_bandolierPickup = 2389173779u;

		public static uint Play_item_proc_bandolierSpawn = 3156422452u;

		public static uint Play_item_proc_bear = 2639048063u;

		public static uint Play_item_proc_behemoth = 2630955643u;

		public static uint Play_item_proc_bleed = 493503047u;

		public static uint Play_item_proc_bounceChain = 1835757740u;

		public static uint Play_item_proc_bounceChainPull = 2911094985u;

		public static uint Play_item_proc_chain_lightning = 4217941291u;

		public static uint Play_item_proc_clover = 1253570078u;

		public static uint Play_item_proc_crit_attack_speed1 = 4131003629u;

		public static uint Play_item_proc_crit_attack_speed2 = 4131003630u;

		public static uint Play_item_proc_crit_attack_speed3 = 4131003631u;

		public static uint Play_item_proc_crit_cooldown = 3641613923u;

		public static uint Play_item_proc_crit_heal = 4185184582u;

		public static uint Play_item_proc_crowbar = 3038522607u;

		public static uint Play_item_proc_dagger_fly = 893157561u;

		public static uint Play_item_proc_dagger_impact = 1843195976u;

		public static uint Play_item_proc_dagger_spawn = 2440278163u;

		public static uint Play_item_proc_deathMark = 4156567482u;

		public static uint Play_item_proc_delicateWatch_break = 4145952825u;

		public static uint Play_item_proc_equipMag = 3393425640u;

		public static uint Play_item_proc_extraLife = 10812723u;

		public static uint Play_item_proc_fallboots_activate = 1060806871u;

		public static uint Play_item_proc_fallboots_impact = 1203791954u;

		public static uint Play_item_proc_feather = 4205703066u;

		public static uint Play_item_proc_fireRingTornado_end = 3174138708u;

		public static uint Play_item_proc_fireRingTornado_start = 1856621255u;

		public static uint Play_item_proc_firework_explo = 4073142045u;

		public static uint Play_item_proc_firework_fire = 3289149845u;

		public static uint Play_item_proc_firework_fly_loop = 366165761u;

		public static uint Play_item_proc_ghostOnKill = 156474425u;

		public static uint Play_item_proc_goldOnHurt = 445783307u;

		public static uint Play_item_proc_guillotine = 3052861231u;

		public static uint Play_item_proc_healingPotion = 2286437436u;

		public static uint Play_item_proc_hoof = 2977775053u;

		public static uint Play_item_proc_iceRingSpear = 1422900995u;

		public static uint Play_item_proc_icicle = 4195869532u;

		public static uint Play_item_proc_igniteOnKill = 336621644u;

		public static uint Play_item_proc_igniteOnKill_Loop = 893467349u;

		public static uint Play_item_proc_infusion = 1760348744u;

		public static uint Play_item_proc_interstellarDeskPlant_aura_loop = 3834902961u;

		public static uint Play_item_proc_interstellarDeskPlant_bloom = 723179718u;

		public static uint Play_item_proc_interstellarDeskPlant_grow = 302148888u;

		public static uint Play_item_proc_interstellarDeskPlant_plant = 3442515624u;

		public static uint Play_item_proc_laserTurbine_explode = 2581646485u;

		public static uint Play_item_proc_laserTurbine_shoot = 1560382371u;

		public static uint Play_Item_proc_medkit = 3606808427u;

		public static uint Play_item_proc_missile_explo = 2487423796u;

		public static uint Play_item_proc_missile_fire = 7429106u;

		public static uint Play_item_proc_moneyOnKill_loot = 1430581037u;

		public static uint Play_item_proc_moneyOnKill_spawn = 2526449896u;

		public static uint Play_item_proc_monsterTooth_impact = 2173757546u;

		public static uint Play_item_proc_monsterTooth_spawn = 3390131953u;

		public static uint Play_item_proc_moveSpeedOnKill = 2700149860u;

		public static uint Play_item_proc_mushroom_start = 738518158u;

		public static uint Play_item_proc_nearbyDamageBonus = 2796124104u;

		public static uint Play_item_proc_novaonheal_impact = 1742958959u;

		public static uint Play_item_proc_novaonheal_spawn = 2975053286u;

		public static uint Play_item_proc_permDebuffOnHit = 1620867805u;

		public static uint Play_item_proc_personal_shield_end = 483164925u;

		public static uint Play_item_proc_personal_shield_recharge = 3466249773u;

		public static uint Play_item_proc_phasing = 248626039u;

		public static uint Play_item_proc_regenOnKill = 1558985587u;

		public static uint Play_item_proc_regenScrap_consume = 2502641228u;

		public static uint Play_item_proc_regenScrap_regen = 2245996497u;

		public static uint Play_item_proc_repulsionArmor = 578189511u;

		public static uint Play_item_proc_roseBuckler = 2699213042u;

		public static uint Play_item_proc_scrapGoop_consume = 49902816u;

		public static uint Play_item_proc_shocknearby_start = 473521005u;

		public static uint Play_item_proc_shocknearby_stop = 4247306927u;

		public static uint Play_item_proc_slowOnHitChains = 984771586u;

		public static uint Play_item_proc_slug_emerge = 2713477620u;

		public static uint Play_item_proc_slug_hide = 3287285055u;

		public static uint Play_item_proc_squidTurret_death = 3465273956u;

		public static uint Play_item_proc_squidTurret_shoot = 52277663u;

		public static uint Play_item_proc_squidTurret_shotExplode = 358461945u;

		public static uint Play_item_proc_squidTurret_spawn = 3872610127u;

		public static uint Play_item_proc_stickyBomb_activate = 3823545488u;

		public static uint Play_item_proc_stickyBomb_countdown = 1000393504u;

		public static uint Play_item_proc_strengthenBurn = 3491136092u;

		public static uint Play_item_proc_tempest = 1940605673u;

		public static uint Play_item_proc_thorns = 2835848023u;

		public static uint Play_item_proc_TPhealingNova = 1629959823u;

		public static uint Play_item_proc_TPhealingNova_hitPlayer = 3445258450u;

		public static uint Play_item_proc_vagrantNova_charge = 3542341717u;

		public static uint Play_item_proc_vagrantNova_explode = 1552852512u;

		public static uint Play_item_proc_warbanner = 3020656183u;

		public static uint Play_item_proc_warCry = 1529510111u;

		public static uint Play_item_proc_warhorn = 245801894u;

		public static uint Play_item_proc_whip = 2592114451u;

		public static uint Play_item_proc_wisp_explo = 1449771891u;

		public static uint Play_item_use_AP_round_impact = 1445965321u;

		public static uint Play_item_use_BFG_charge = 3648252036u;

		public static uint Play_item_use_BFG_explode = 1887770999u;

		public static uint Play_item_use_BFG_fire = 314013804u;

		public static uint Play_item_use_BFG_zaps = 2863231332u;

		public static uint Play_item_use_blackhole_end = 2401578979u;

		public static uint Play_item_use_blackhole_start = 1274487736u;

		public static uint Play_item_use_blackhole_suckin = 1496712675u;

		public static uint Play_item_use_bossHunter = 2352091251u;

		public static uint Play_item_use_bugWingClose = 1141102451u;

		public static uint Play_item_use_bugWingFlapLoop = 883104978u;

		public static uint Play_item_use_bugWingOpen = 3557178245u;

		public static uint Play_item_use_cleanse = 1772243041u;

		public static uint Play_item_use_crit_end = 3252548768u;

		public static uint Play_item_use_crit_start = 728398715u;

		public static uint Play_item_use_EMPScanner_activate = 169204410u;

		public static uint Play_item_use_EMPScanner_findChest = 2875220375u;

		public static uint Play_item_use_EMPScanner_loop_end = 2536312349u;

		public static uint Play_item_use_fireballDash_explode = 561188827u;

		public static uint Play_item_use_fireballDash_start = 2855368448u;

		public static uint Play_item_use_fruit = 945893144u;

		public static uint Play_item_use_gainArmor = 3466615724u;

		public static uint Play_item_use_gateway_activeLoop = 2990725107u;

		public static uint Play_item_use_gateway_create = 2196766755u;

		public static uint Play_item_use_gateway_rideEnd = 2550664912u;

		public static uint Play_item_use_gateway_rideStart = 1117197931u;

		public static uint Play_item_use_gateway_vanish = 4071381594u;

		public static uint Play_item_use_gummyClone_expire = 3808524354u;

		public static uint Play_item_use_gummyClone_spawn = 1336597660u;

		public static uint Play_item_use_hellfire_end = 2319739001u;

		public static uint Play_item_use_hellfire_start = 930023322u;

		public static uint Play_item_use_lighningArm = 146656078u;

		public static uint Play_item_use_meteor_impact = 980294159u;

		public static uint Play_item_use_meteor_storm_end = 149370750u;

		public static uint Play_item_use_meteor_storm_start = 3899526229u;

		public static uint Play_item_use_meteor_tell = 3881332164u;

		public static uint Play_item_use_molotov_fire_loop = 2067188288u;

		public static uint Play_item_use_molotov_impact_big = 672604242u;

		public static uint Play_item_use_molotov_impact_small = 2278056645u;

		public static uint Play_item_use_molotov_throw = 2541237413u;

		public static uint Play_item_use_passive_healing = 2655000266u;

		public static uint Play_item_use_radio = 4093333211u;

		public static uint Play_item_use_recycler = 648073085u;

		public static uint Play_item_use_sawmerang_catch = 2800461073u;

		public static uint Play_item_use_sawmerang_chargeup = 880810807u;

		public static uint Play_item_use_sawmerang_fly_loop = 3778622708u;

		public static uint Play_item_use_sawmerang_throw = 3601175276u;

		public static uint Play_item_use_tonic = 2813300389u;

		public static uint Play_item_use_tonic_debuff = 2454986002u;

		public static uint Play_item_void_bear = 2959567177u;

		public static uint Play_item_void_bleedOnHit_buildup = 275414159u;

		public static uint Play_item_void_bleedOnHit_explo = 3944977254u;

		public static uint Play_item_void_bleedOnHit_start = 3754606692u;

		public static uint Play_item_void_chainLightning = 3133589932u;

		public static uint Play_item_void_clover = 1595383632u;

		public static uint Play_item_void_critGlasses = 2383643113u;

		public static uint Play_item_void_equipmag = 3659141198u;

		public static uint Play_item_void_explodeOnDeath = 3255812633u;

		public static uint Play_item_void_extraLife = 3370576369u;

		public static uint Play_item_void_missle_explode = 3377207268u;

		public static uint Play_item_void_missle_fire = 1965882253u;

		public static uint Play_item_void_missle_fly_loop = 411283497u;

		public static uint Play_item_void_mushroom = 1701324517u;

		public static uint Play_item_void_mushroom_loop = 1887910762u;

		public static uint Play_item_void_slowOnHit = 3377032266u;

		public static uint Play_item_void_treasureCache_open = 3626432589u;

		public static uint Play_jellyfish_chase_start = 4193522322u;

		public static uint Play_jellyfish_death = 4156878447u;

		public static uint Play_jellyfish_detonate = 3881637691u;

		public static uint Play_jellyfish_detonate_pre = 3376774817u;

		public static uint Play_jellyfish_spawn = 2595268184u;

		public static uint Play_lemurian_bite_attack = 2282066863u;

		public static uint Play_lemurian_death = 1573805040u;

		public static uint Play_lemurian_fireball_flight_loop = 3656020651u;

		public static uint Play_lemurian_fireball_impact = 2368197886u;

		public static uint Play_lemurian_fireball_shoot = 2508881549u;

		public static uint Play_lemurian_idle = 4010028444u;

		public static uint Play_lemurian_impact = 1377658344u;

		public static uint Play_lemurian_spawn = 1244152243u;

		public static uint Play_lemurian_step = 2408820448u;

		public static uint Play_lemurianBruiser_death_VO = 396237504u;

		public static uint Play_lemurianBruiser_idle_VO = 1115840328u;

		public static uint Play_lemurianBruiser_impact = 531055562u;

		public static uint Play_lemurianBruiser_m1_bounce = 498348177u;

		public static uint Play_lemurianBruiser_m1_charge = 1931275385u;

		public static uint Play_lemurianBruiser_m1_explode = 2984458692u;

		public static uint Play_lemurianBruiser_m1_fly_loop = 91875145u;

		public static uint Play_lemurianBruiser_m1_shoot = 4092547890u;

		public static uint Play_lemurianBruiser_m2_end = 1648115203u;

		public static uint Play_lemurianBruiser_m2_loop = 3339276574u;

		public static uint Play_lemurianBruiser_m2_shoot = 4186206849u;

		public static uint Play_lemurianBruiser_spawn = 1735477457u;

		public static uint Play_lifestealOnHit_activate = 2978305631u;

		public static uint Play_loader_m1_impact = 2770011881u;

		public static uint Play_loader_m1_shield = 1860805892u;

		public static uint Play_loader_m1_swing = 477567759u;

		public static uint Play_loader_m2_impact = 3438837980u;

		public static uint Play_loader_m2_launch = 1515255731u;

		public static uint Play_loader_m2_travel_loop = 53631743u;

		public static uint Play_loader_R_activate = 1196476016u;

		public static uint Play_loader_R_active_loop = 2017558714u;

		public static uint Play_loader_R_expire = 1663060790u;

		public static uint Play_loader_R_shock = 2677093323u;

		public static uint Play_loader_R_toss = 2440962342u;

		public static uint Play_loader_R_variant_activate = 197132802u;

		public static uint Play_loader_R_variant_slam = 2640687082u;

		public static uint Play_loader_R_variant_whooshDown = 66656691u;

		public static uint Play_loader_shift_activate = 1551360582u;

		public static uint Play_loader_shift_charge_loop = 722666690u;

		public static uint Play_loader_shift_release = 1770547348u;

		public static uint Play_loader_sprint_end = 1320199588u;

		public static uint Play_loader_sprint_start = 352892247u;

		public static uint Play_loader_step = 3677284904u;

		public static uint Play_loader_step_sprint = 3073525207u;

		public static uint Play_lunar_exploder_death = 4264158797u;

		public static uint Play_lunar_exploder_idle_loop = 857654832u;

		public static uint Play_lunar_exploder_m1_fire = 1151210026u;

		public static uint Play_lunar_exploder_m1_impact = 91220880u;

		public static uint Play_lunar_exploder_spawn = 2700934242u;

		public static uint Play_lunar_exploder_sprint_loop = 762326434u;

		public static uint Play_lunar_exploder_step = 3547915643u;

		public static uint Play_lunar_exploder_step_heavy = 1344403603u;

		public static uint Play_lunar_golem_attack1_aliveLoop = 1424916579u;

		public static uint Play_lunar_golem_attack1_charge = 4237730550u;

		public static uint Play_lunar_golem_attack1_explode = 2049113149u;

		public static uint Play_lunar_golem_attack1_launch = 1952794087u;

		public static uint Play_lunar_golem_attack2_buildUp = 2350939290u;

		public static uint Play_lunar_golem_attack2_shieldActivate = 1783111971u;

		public static uint Play_lunar_golem_death = 2741728284u;

		public static uint Play_lunar_golem_idle_loop = 2506110785u;

		public static uint Play_lunar_golem_idle_VO = 486610750u;

		public static uint Play_lunar_golem_impact = 1247246500u;

		public static uint Play_lunar_golem_spawn = 3061831431u;

		public static uint Play_lunar_golem_step = 1636972412u;

		public static uint Play_lunar_reroller_activate = 569367166u;

		public static uint Play_lunar_reroller_item_change = 1265279855u;

		public static uint Play_lunar_wisp_attack1_shoot_bullet = 1858233191u;

		public static uint Play_lunar_wisp_attack1_shoot_impact = 1992390953u;

		public static uint Play_lunar_wisp_attack1_shootLoop = 2909507110u;

		public static uint Play_lunar_wisp_attack1_windDown = 1909826189u;

		public static uint Play_lunar_wisp_attack1_windLoop = 56999587u;

		public static uint Play_lunar_wisp_attack1_windUp = 495897210u;

		public static uint Play_lunar_wisp_attack2_aliveLoop = 452148407u;

		public static uint Play_lunar_wisp_attack2_chargeLoop = 4144327796u;

		public static uint Play_lunar_wisp_attack2_explode = 3621412217u;

		public static uint Play_lunar_wisp_attack2_launch = 2936354523u;

		public static uint Play_lunar_wisp_attack2_windDown = 3165958184u;

		public static uint Play_lunar_wisp_attack2_windUp = 151413227u;

		public static uint Play_lunar_wisp_death = 4190910447u;

		public static uint Play_lunar_wisp_idle_loop = 2168381742u;

		public static uint Play_lunar_wisp_idle_VO = 304696105u;

		public static uint Play_lunar_wisp_impact = 3773914237u;

		public static uint Play_lunar_wisp_spawn = 2629300184u;

		public static uint Play_mage_m1_cast_lightning = 2702327218u;

		public static uint Play_mage_m1_impact = 2000519842u;

		public static uint Play_mage_m1_impact_lightning = 2227545749u;

		public static uint Play_mage_m1_shoot = 3888952945u;

		public static uint Play_mage_m2_charge = 213746921u;

		public static uint Play_mage_m2_iceSpear_charge = 578450176u;

		public static uint Play_mage_m2_iceSpear_impact = 362101858u;

		public static uint Play_mage_m2_iceSpear_shoot = 883296561u;

		public static uint Play_mage_m2_impact = 1977865147u;

		public static uint Play_mage_m2_shoot = 464353890u;

		public static uint Play_mage_m2_zap = 4241955798u;

		public static uint Play_mage_R_end = 115213505u;

		public static uint Play_mage_R_lightningBlast = 3283303018u;

		public static uint Play_mage_R_start = 2526330034u;

		public static uint Play_mage_shift_start = 296791476u;

		public static uint Play_mage_shift_stop = 1193293352u;

		public static uint Play_mage_shift_wall_build = 3777927093u;

		public static uint Play_mage_shift_wall_explode = 562143574u;

		public static uint Play_mage_shift_wall_pre_explode_rumble = 2434051036u;

		public static uint Play_magmaWorm_burrowed_loop = 4031961282u;

		public static uint Play_magmaWorm_death = 2224748523u;

		public static uint Play_magmaWorm_death_small_explos = 2669920255u;

		public static uint Play_magmaWorm_dive = 2139312625u;

		public static uint Play_magmaWorm_idle_burn_loop = 3823405252u;

		public static uint Play_magmaWorm_idle_VO = 2678973117u;

		public static uint Play_magmaWorm_impact = 1935077337u;

		public static uint Play_magmaWorm_M1 = 2489492397u;

		public static uint Play_magmaWorm_M1_explo = 3311706942u;

		public static uint Play_magmaWorm_spawn_VO = 790241066u;

		public static uint Play_majorConstruct_death = 354933339u;

		public static uint Play_majorConstruct_death_piece_land = 1708514112u;

		public static uint Play_majorConstruct_idle_VO = 1023489613u;

		public static uint Play_majorConstruct_impact = 2837604937u;

		public static uint Play_majorConstruct_m1_laser_chargeShoot = 3822661709u;

		public static uint Play_majorConstruct_m1_laser_end = 3298589691u;

		public static uint Play_majorConstruct_m1_laser_loop = 2668434406u;

		public static uint Play_majorConstruct_R_pulse = 1719152825u;

		public static uint Play_majorConstruct_shift_lower = 3212506843u;

		public static uint Play_majorConstruct_shift_raise = 843575052u;

		public static uint Play_majorConstruct_spawn_rumble = 2692277904u;

		public static uint Play_majorConstruct_spawn_surface = 495875720u;

		public static uint Play_merc_m1_hard_swing = 4028970009u;

		public static uint Play_merc_m2_uppercut = 1892656648u;

		public static uint Play_merc_R_dash = 4156900065u;

		public static uint Play_merc_R_end = 1603633668u;

		public static uint Play_merc_R_slicingBlades_flight_loop = 2847996807u;

		public static uint Play_merc_R_slicingBlades_throw = 2911481668u;

		public static uint Play_merc_R_start = 3475430583u;

		public static uint Play_merc_shift_end = 736404446u;

		public static uint Play_merc_shift_slice = 68402651u;

		public static uint Play_merc_shift_start = 3770997429u;

		public static uint Play_merc_sword_impact = 2884474380u;

		public static uint Play_merc_sword_swing = 3675283896u;

		public static uint Play_merc_utility_variant = 3863518702u;

		public static uint Play_merc_utility_variant_buildup = 103882784u;

		public static uint Play_miniMushroom_burrow = 2394876897u;

		public static uint Play_minimushroom_death = 3848891146u;

		public static uint Play_minimushroom_idle_VO = 2499186680u;

		public static uint Play_minimushroom_impact = 572754330u;

		public static uint Play_miniMushroom_selfHeal_loop = 443126161u;

		public static uint Play_minimushroom_spawn = 3733229025u;

		public static uint Play_minimushroom_spore_chargeUp = 3747085821u;

		public static uint Play_minimushroom_spore_explode = 2754153445u;

		public static uint Play_minimushroom_spore_gasCloud_loop = 1542376905u;

		public static uint Play_minimushroom_spore_shoot = 2457943795u;

		public static uint Play_minimushroom_step = 3119842682u;

		public static uint Play_miniMushroom_unborrow = 4073562310u;

		public static uint Play_minorConstruct_attack_bodyClose = 2087632802u;

		public static uint Play_minorConstruct_attack_bodyOpen = 102085366u;

		public static uint Play_minorConstruct_attack_chargeUp = 553643209u;

		public static uint Play_minorConstruct_attack_explode = 3214992105u;

		public static uint Play_minorConstruct_attack_flight_loop = 2248627301u;

		public static uint Play_minorConstruct_attack_shoot = 945784279u;

		public static uint Play_minorConstruct_death = 234636383u;

		public static uint Play_minorConstruct_hide = 3168353919u;

		public static uint Play_minorConstruct_spawn = 2481199304u;

		public static uint Play_minorConstruct_VO_idle = 3224588039u;

		public static uint Play_monstersOnShrineUse_activate = 1435808974u;

		public static uint Play_moonBrother_blueWall_active_loop = 1912330522u;

		public static uint Play_moonBrother_blueWall_explode = 1820467490u;

		public static uint Play_moonBrother_blueWall_slam_start = 3502735825u;

		public static uint Play_moonBrother_dash = 2471009076u;

		public static uint Play_moonBrother_death = 1391457286u;

		public static uint Play_moonBrother_firePillar_loop = 1901482441u;

		public static uint Play_moonBrother_idle_VO = 1249692364u;

		public static uint Play_moonBrother_impact = 4276506230u;

		public static uint Play_moonBrother_m1_laser_impact = 1753379823u;

		public static uint Play_moonBrother_m1_laser_shoot = 625852214u;

		public static uint Play_moonBrother_orb_slam_impact = 2897735846u;

		public static uint Play_moonBrother_orb_slam_orbLoop = 2645733969u;

		public static uint Play_moonBrother_orb_slam_pre = 2003858883u;

		public static uint Play_moonBrother_phase4_itemSuck_end = 4243565055u;

		public static uint Play_moonBrother_phase4_itemSuck_returnSingle = 3958297650u;

		public static uint Play_moonBrother_phase4_itemSuck_start = 1717433628u;

		public static uint Play_moonBrother_phase4_itemSuck_stealBackSingle = 248987608u;

		public static uint Play_moonBrother_phase4_itemSuck_takeSingle = 2333254273u;

		public static uint Play_moonBrother_phase4_step = 3907097568u;

		public static uint Play_moonBrother_phase4_transition = 2158807115u;

		public static uint Play_moonBrother_phaseJump_jumpAway = 2778579998u;

		public static uint Play_moonBrother_phaseJump_kneel = 1438626783u;

		public static uint Play_moonBrother_phaseJump_land_impact = 3884053696u;

		public static uint Play_moonBrother_phaseJump_land_preWhoosh = 2555746427u;

		public static uint Play_moonBrother_phaseJump_shockwave_loop = 3289985618u;

		public static uint Play_moonBrother_phaseJump_shockwave_single = 1473186892u;

		public static uint Play_moonBrother_spawn = 4224386021u;

		public static uint Play_moonBrother_spawn_preWhoosh = 3276170341u;

		public static uint Play_moonBrother_sprint = 3298429148u;

		public static uint Play_moonBrother_step = 1687759686u;

		public static uint Play_moonBrother_swing_horizontal = 3781745233u;

		public static uint Play_moonBrother_swing_vertical = 1525938463u;

		public static uint Play_MULT_crate_land = 3440819688u;

		public static uint Play_MULT_m1_grenade_launcher_beep = 1882452288u;

		public static uint Play_MULT_m1_grenade_launcher_explo = 2695190594u;

		public static uint Play_MULT_m1_grenade_launcher_shoot = 844837473u;

		public static uint Play_MULT_m1_sawblade_active_loop = 368776509u;

		public static uint Play_MULT_m1_sawblade_impact_loop = 1630218497u;

		public static uint Play_MULT_m1_sawblade_start = 2280547798u;

		public static uint Play_MULT_m1_sawblade_stop = 252608982u;

		public static uint Play_MULT_m1_smg_impact = 4066695960u;

		public static uint Play_MULT_m1_smg_shoot = 1162985099u;

		public static uint Play_MULT_m1_snipe_charge = 1908474992u;

		public static uint 

Unity.Postprocessing.Runtime.dll

Decompiled 3 months ago
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using UnityEngine.Experimental.Rendering;
using UnityEngine.SceneManagement;
using UnityEngine.Scripting;
using UnityEngine.Serialization;
using UnityEngine.XR;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyVersion("0.0.0.0")]
namespace UnityEngine.Rendering.PostProcessing;

[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
public sealed class DisplayNameAttribute : Attribute
{
	public readonly string displayName;

	public DisplayNameAttribute(string displayName)
	{
		this.displayName = displayName;
	}
}
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
public sealed class MaxAttribute : Attribute
{
	public readonly float max;

	public MaxAttribute(float max)
	{
		this.max = max;
	}
}
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
public sealed class MinAttribute : Attribute
{
	public readonly float min;

	public MinAttribute(float min)
	{
		this.min = min;
	}
}
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
public sealed class MinMaxAttribute : Attribute
{
	public readonly float min;

	public readonly float max;

	public MinMaxAttribute(float min, float max)
	{
		this.min = min;
		this.max = max;
	}
}
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
public sealed class PostProcessAttribute : Attribute
{
	public readonly Type renderer;

	public readonly PostProcessEvent eventType;

	public readonly string menuItem;

	public readonly bool allowInSceneView;

	internal readonly bool builtinEffect;

	public PostProcessAttribute(Type renderer, PostProcessEvent eventType, string menuItem, bool allowInSceneView = true)
	{
		this.renderer = renderer;
		this.eventType = eventType;
		this.menuItem = menuItem;
		this.allowInSceneView = allowInSceneView;
		builtinEffect = false;
	}

	internal PostProcessAttribute(Type renderer, string menuItem, bool allowInSceneView = true)
	{
		this.renderer = renderer;
		this.menuItem = menuItem;
		this.allowInSceneView = allowInSceneView;
		builtinEffect = true;
	}
}
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
public sealed class TrackballAttribute : Attribute
{
	public enum Mode
	{
		None,
		Lift,
		Gamma,
		Gain
	}

	public readonly Mode mode;

	public TrackballAttribute(Mode mode)
	{
		this.mode = mode;
	}
}
public enum AmbientOcclusionMode
{
	ScalableAmbientObscurance,
	MultiScaleVolumetricObscurance
}
public enum AmbientOcclusionQuality
{
	Lowest,
	Low,
	Medium,
	High,
	Ultra
}
[Serializable]
public sealed class AmbientOcclusionModeParameter : ParameterOverride<AmbientOcclusionMode>
{
}
[Serializable]
public sealed class AmbientOcclusionQualityParameter : ParameterOverride<AmbientOcclusionQuality>
{
}
[Serializable]
[PostProcess(typeof(AmbientOcclusionRenderer), "Unity/Ambient Occlusion", true)]
public sealed class AmbientOcclusion : PostProcessEffectSettings
{
	[Tooltip("The ambient occlusion method to use. \"Multi Scale Volumetric Obscurance\" is higher quality and faster on desktop & console platforms but requires compute shader support.")]
	public AmbientOcclusionModeParameter mode = new AmbientOcclusionModeParameter
	{
		value = AmbientOcclusionMode.MultiScaleVolumetricObscurance
	};

	[Range(0f, 4f)]
	[Tooltip("The degree of darkness added by ambient occlusion. Higher values produce darker areas.")]
	public FloatParameter intensity = new FloatParameter
	{
		value = 0f
	};

	[ColorUsage(false)]
	[Tooltip("The custom color to use for the ambient occlusion. The default is black.")]
	public ColorParameter color = new ColorParameter
	{
		value = Color.black
	};

	[Tooltip("Check this box to mark this Volume as to only affect ambient lighting. This mode is only available with the Deferred rendering path and HDR rendering. Objects rendered with the Forward rendering path won't get any ambient occlusion.")]
	public BoolParameter ambientOnly = new BoolParameter
	{
		value = true
	};

	[Range(-8f, 0f)]
	public FloatParameter noiseFilterTolerance = new FloatParameter
	{
		value = 0f
	};

	[Range(-8f, -1f)]
	public FloatParameter blurTolerance = new FloatParameter
	{
		value = -4.6f
	};

	[Range(-12f, -1f)]
	public FloatParameter upsampleTolerance = new FloatParameter
	{
		value = -12f
	};

	[Range(1f, 10f)]
	[Tooltip("This modifies the thickness of occluders. It increases the size of dark areas and also introduces a dark halo around objects.")]
	public FloatParameter thicknessModifier = new FloatParameter
	{
		value = 1f
	};

	[Range(0f, 1f)]
	[Tooltip("Modifies the influence of direct lighting on ambient occlusion.")]
	public FloatParameter directLightingStrength = new FloatParameter
	{
		value = 0f
	};

	[Tooltip("The radius of sample points. This affects the size of darkened areas.")]
	public FloatParameter radius = new FloatParameter
	{
		value = 0.25f
	};

	[Tooltip("The number of sample points. This affects both quality and performance. For \"Lowest\", \"Low\", and \"Medium\", passes are downsampled. For \"High\" and \"Ultra\", they are not and therefore you should only \"High\" and \"Ultra\" on high-end hardware.")]
	public AmbientOcclusionQualityParameter quality = new AmbientOcclusionQualityParameter
	{
		value = AmbientOcclusionQuality.Medium
	};

	public override bool IsEnabledAndSupported(PostProcessRenderContext context)
	{
		bool flag = enabled.value && intensity.value > 0f;
		if (mode.value == AmbientOcclusionMode.ScalableAmbientObscurance)
		{
			flag &= !RuntimeUtilities.scriptableRenderPipelineActive;
			if (context != null)
			{
				flag &= Object.op_Implicit((Object)(object)context.resources.shaders.scalableAO) && context.resources.shaders.scalableAO.isSupported;
			}
		}
		else if (mode.value == AmbientOcclusionMode.MultiScaleVolumetricObscurance)
		{
			if (context != null)
			{
				flag &= Object.op_Implicit((Object)(object)context.resources.shaders.multiScaleAO) && context.resources.shaders.multiScaleAO.isSupported && Object.op_Implicit((Object)(object)context.resources.computeShaders.multiScaleAODownsample1) && Object.op_Implicit((Object)(object)context.resources.computeShaders.multiScaleAODownsample2) && Object.op_Implicit((Object)(object)context.resources.computeShaders.multiScaleAORender) && Object.op_Implicit((Object)(object)context.resources.computeShaders.multiScaleAOUpsample);
			}
			flag &= SystemInfo.supportsComputeShaders && !RuntimeUtilities.isAndroidOpenGL && ((RenderTextureFormat)14).IsSupported() && ((RenderTextureFormat)15).IsSupported() && ((RenderTextureFormat)16).IsSupported();
		}
		return flag;
	}
}
internal interface IAmbientOcclusionMethod
{
	DepthTextureMode GetCameraFlags();

	void RenderAfterOpaque(PostProcessRenderContext context);

	void RenderAmbientOnly(PostProcessRenderContext context);

	void CompositeAmbientOnly(PostProcessRenderContext context);

	void Release();
}
[Preserve]
internal sealed class AmbientOcclusionRenderer : PostProcessEffectRenderer<AmbientOcclusion>
{
	private IAmbientOcclusionMethod[] m_Methods;

	public override void Init()
	{
		if (m_Methods == null)
		{
			m_Methods = new IAmbientOcclusionMethod[2]
			{
				new ScalableAO(base.settings),
				new MultiScaleVO(base.settings)
			};
		}
	}

	public bool IsAmbientOnly(PostProcessRenderContext context)
	{
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Invalid comparison between Unknown and I4
		Camera camera = context.camera;
		if (base.settings.ambientOnly.value && (int)camera.actualRenderingPath == 3)
		{
			return camera.allowHDR;
		}
		return false;
	}

	public IAmbientOcclusionMethod Get()
	{
		return m_Methods[(int)base.settings.mode.value];
	}

	public override DepthTextureMode GetCameraFlags()
	{
		//IL_0006: Unknown result type (might be due to invalid IL or missing references)
		return Get().GetCameraFlags();
	}

	public override void Release()
	{
		IAmbientOcclusionMethod[] methods = m_Methods;
		for (int i = 0; i < methods.Length; i++)
		{
			methods[i].Release();
		}
	}

	public ScalableAO GetScalableAO()
	{
		return (ScalableAO)m_Methods[0];
	}

	public MultiScaleVO GetMultiScaleVO()
	{
		return (MultiScaleVO)m_Methods[1];
	}

	public override void Render(PostProcessRenderContext context)
	{
	}
}
public enum EyeAdaptation
{
	Progressive,
	Fixed
}
[Serializable]
public sealed class EyeAdaptationParameter : ParameterOverride<EyeAdaptation>
{
}
[Serializable]
[PostProcess(typeof(AutoExposureRenderer), "Unity/Auto Exposure", true)]
public sealed class AutoExposure : PostProcessEffectSettings
{
	[MinMax(1f, 99f)]
	[DisplayName("Filtering (%)")]
	[Tooltip("Filters the bright and dark parts of the histogram when computing the average luminance. This is to avoid very dark pixels and very bright pixels from contributing to the auto exposure. Unit is in percent.")]
	public Vector2Parameter filtering = new Vector2Parameter
	{
		value = new Vector2(50f, 95f)
	};

	[Range(-9f, 9f)]
	[DisplayName("Minimum (EV)")]
	[Tooltip("Minimum average luminance to consider for auto exposure. Unit is EV.")]
	public FloatParameter minLuminance = new FloatParameter
	{
		value = 0f
	};

	[Range(-9f, 9f)]
	[DisplayName("Maximum (EV)")]
	[Tooltip("Maximum average luminance to consider for auto exposure. Unit is EV.")]
	public FloatParameter maxLuminance = new FloatParameter
	{
		value = 0f
	};

	[Min(0f)]
	[DisplayName("Exposure Compensation")]
	[Tooltip("Use this to scale the global exposure of the scene.")]
	public FloatParameter keyValue = new FloatParameter
	{
		value = 1f
	};

	[DisplayName("Type")]
	[Tooltip("Use \"Progressive\" if you want auto exposure to be animated. Use \"Fixed\" otherwise.")]
	public EyeAdaptationParameter eyeAdaptation = new EyeAdaptationParameter
	{
		value = EyeAdaptation.Progressive
	};

	[Min(0f)]
	[Tooltip("Adaptation speed from a dark to a light environment.")]
	public FloatParameter speedUp = new FloatParameter
	{
		value = 2f
	};

	[Min(0f)]
	[Tooltip("Adaptation speed from a light to a dark environment.")]
	public FloatParameter speedDown = new FloatParameter
	{
		value = 1f
	};

	public override bool IsEnabledAndSupported(PostProcessRenderContext context)
	{
		if (enabled.value && SystemInfo.supportsComputeShaders && !RuntimeUtilities.isAndroidOpenGL && ((RenderTextureFormat)14).IsSupported() && Object.op_Implicit((Object)(object)context.resources.computeShaders.autoExposure))
		{
			return Object.op_Implicit((Object)(object)context.resources.computeShaders.exposureHistogram);
		}
		return false;
	}
}
[Preserve]
internal sealed class AutoExposureRenderer : PostProcessEffectRenderer<AutoExposure>
{
	private const int k_NumEyes = 2;

	private const int k_NumAutoExposureTextures = 2;

	private readonly RenderTexture[][] m_AutoExposurePool = new RenderTexture[2][];

	private int[] m_AutoExposurePingPong = new int[2];

	private RenderTexture m_CurrentAutoExposure;

	public AutoExposureRenderer()
	{
		for (int i = 0; i < 2; i++)
		{
			m_AutoExposurePool[i] = (RenderTexture[])(object)new RenderTexture[2];
			m_AutoExposurePingPong[i] = 0;
		}
	}

	private void CheckTexture(int eye, int id)
	{
		//IL_0031: Unknown result type (might be due to invalid IL or missing references)
		//IL_0036: Unknown result type (might be due to invalid IL or missing references)
		//IL_003e: Expected O, but got Unknown
		if ((Object)(object)m_AutoExposurePool[eye][id] == (Object)null || !m_AutoExposurePool[eye][id].IsCreated())
		{
			m_AutoExposurePool[eye][id] = new RenderTexture(1, 1, 0, (RenderTextureFormat)14)
			{
				enableRandomWrite = true
			};
			m_AutoExposurePool[eye][id].Create();
		}
	}

	public override void Render(PostProcessRenderContext context)
	{
		//IL_0182: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0213: Unknown result type (might be due to invalid IL or missing references)
		//IL_023a: Unknown result type (might be due to invalid IL or missing references)
		//IL_024e: Unknown result type (might be due to invalid IL or missing references)
		CommandBuffer command = context.command;
		command.BeginSample("AutoExposureLookup");
		CheckTexture(context.xrActiveEye, 0);
		CheckTexture(context.xrActiveEye, 1);
		float x = base.settings.filtering.value.x;
		float y = base.settings.filtering.value.y;
		y = Mathf.Clamp(y, 1.01f, 99f);
		x = Mathf.Clamp(x, 1f, y - 0.01f);
		float value = base.settings.minLuminance.value;
		float value2 = base.settings.maxLuminance.value;
		base.settings.minLuminance.value = Mathf.Min(value, value2);
		base.settings.maxLuminance.value = Mathf.Max(value, value2);
		bool num = m_ResetHistory || !Application.isPlaying;
		string text = null;
		text = ((!num && base.settings.eyeAdaptation.value != EyeAdaptation.Fixed) ? "KAutoExposureAvgLuminance_progressive" : "KAutoExposureAvgLuminance_fixed");
		ComputeShader autoExposure = context.resources.computeShaders.autoExposure;
		int num2 = autoExposure.FindKernel(text);
		command.SetComputeBufferParam(autoExposure, num2, "_HistogramBuffer", context.logHistogram.data);
		command.SetComputeVectorParam(autoExposure, "_Params1", new Vector4(x * 0.01f, y * 0.01f, RuntimeUtilities.Exp2(base.settings.minLuminance.value), RuntimeUtilities.Exp2(base.settings.maxLuminance.value)));
		command.SetComputeVectorParam(autoExposure, "_Params2", new Vector4(base.settings.speedDown.value, base.settings.speedUp.value, base.settings.keyValue.value, Time.deltaTime));
		command.SetComputeVectorParam(autoExposure, "_ScaleOffsetRes", context.logHistogram.GetHistogramScaleOffsetRes(context));
		if (num)
		{
			m_CurrentAutoExposure = m_AutoExposurePool[context.xrActiveEye][0];
			command.SetComputeTextureParam(autoExposure, num2, "_Destination", RenderTargetIdentifier.op_Implicit((Texture)(object)m_CurrentAutoExposure));
			command.DispatchCompute(autoExposure, num2, 1, 1, 1);
			RuntimeUtilities.CopyTexture(command, RenderTargetIdentifier.op_Implicit((Texture)(object)m_AutoExposurePool[context.xrActiveEye][0]), RenderTargetIdentifier.op_Implicit((Texture)(object)m_AutoExposurePool[context.xrActiveEye][1]));
			m_ResetHistory = false;
		}
		else
		{
			int num3 = m_AutoExposurePingPong[context.xrActiveEye];
			RenderTexture val = m_AutoExposurePool[context.xrActiveEye][++num3 % 2];
			RenderTexture val2 = m_AutoExposurePool[context.xrActiveEye][++num3 % 2];
			command.SetComputeTextureParam(autoExposure, num2, "_Source", RenderTargetIdentifier.op_Implicit((Texture)(object)val));
			command.SetComputeTextureParam(autoExposure, num2, "_Destination", RenderTargetIdentifier.op_Implicit((Texture)(object)val2));
			command.DispatchCompute(autoExposure, num2, 1, 1, 1);
			m_AutoExposurePingPong[context.xrActiveEye] = ++num3 % 2;
			m_CurrentAutoExposure = val2;
		}
		command.EndSample("AutoExposureLookup");
		context.autoExposureTexture = (Texture)(object)m_CurrentAutoExposure;
		context.autoExposure = base.settings;
	}

	public override void Release()
	{
		RenderTexture[][] autoExposurePool = m_AutoExposurePool;
		foreach (RenderTexture[] array in autoExposurePool)
		{
			for (int j = 0; j < array.Length; j++)
			{
				RuntimeUtilities.Destroy((Object)(object)array[j]);
			}
		}
	}
}
[Serializable]
[PostProcess(typeof(BloomRenderer), "Unity/Bloom", true)]
public sealed class Bloom : PostProcessEffectSettings
{
	[Min(0f)]
	[Tooltip("Strength of the bloom filter. Values higher than 1 will make bloom contribute more energy to the final render.")]
	public FloatParameter intensity = new FloatParameter
	{
		value = 0f
	};

	[Min(0f)]
	[Tooltip("Filters out pixels under this level of brightness. Value is in gamma-space.")]
	public FloatParameter threshold = new FloatParameter
	{
		value = 1f
	};

	[Range(0f, 1f)]
	[Tooltip("Makes transitions between under/over-threshold gradual. 0 for a hard threshold, 1 for a soft threshold).")]
	public FloatParameter softKnee = new FloatParameter
	{
		value = 0.5f
	};

	[Tooltip("Clamps pixels to control the bloom amount. Value is in gamma-space.")]
	public FloatParameter clamp = new FloatParameter
	{
		value = 65472f
	};

	[Range(1f, 10f)]
	[Tooltip("Changes the extent of veiling effects. For maximum quality, use integer values. Because this value changes the internal iteration count, You should not animating it as it may introduce issues with the perceived radius.")]
	public FloatParameter diffusion = new FloatParameter
	{
		value = 7f
	};

	[Range(-1f, 1f)]
	[Tooltip("Distorts the bloom to give an anamorphic look. Negative values distort vertically, positive values distort horizontally.")]
	public FloatParameter anamorphicRatio = new FloatParameter
	{
		value = 0f
	};

	[ColorUsage(false, true)]
	[Tooltip("Global tint of the bloom filter.")]
	public ColorParameter color = new ColorParameter
	{
		value = Color.white
	};

	[FormerlySerializedAs("mobileOptimized")]
	[Tooltip("Boost performance by lowering the effect quality. This settings is meant to be used on mobile and other low-end platforms but can also provide a nice performance boost on desktops and consoles.")]
	public BoolParameter fastMode = new BoolParameter
	{
		value = false
	};

	[Tooltip("The lens dirt texture used to add smudges or dust to the bloom effect.")]
	[DisplayName("Texture")]
	public TextureParameter dirtTexture = new TextureParameter
	{
		value = null
	};

	[Min(0f)]
	[Tooltip("The intensity of the lens dirtiness.")]
	[DisplayName("Intensity")]
	public FloatParameter dirtIntensity = new FloatParameter
	{
		value = 0f
	};

	public override bool IsEnabledAndSupported(PostProcessRenderContext context)
	{
		if (enabled.value)
		{
			return intensity.value > 0f;
		}
		return false;
	}
}
[Preserve]
internal sealed class BloomRenderer : PostProcessEffectRenderer<Bloom>
{
	private enum Pass
	{
		Prefilter13,
		Prefilter4,
		Downsample13,
		Downsample4,
		UpsampleTent,
		UpsampleBox,
		DebugOverlayThreshold,
		DebugOverlayTent,
		DebugOverlayBox
	}

	private struct Level
	{
		internal int down;

		internal int up;
	}

	private Level[] m_Pyramid;

	private const int k_MaxPyramidSize = 16;

	public override void Init()
	{
		m_Pyramid = new Level[16];
		for (int i = 0; i < 16; i++)
		{
			m_Pyramid[i] = new Level
			{
				down = Shader.PropertyToID("_BloomMipDown" + i),
				up = Shader.PropertyToID("_BloomMipUp" + i)
			};
		}
	}

	public override void Render(PostProcessRenderContext context)
	{
		//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d2: Invalid comparison between Unknown and I4
		//IL_01ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_020b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0210: Unknown result type (might be due to invalid IL or missing references)
		//IL_0256: Unknown result type (might be due to invalid IL or missing references)
		//IL_026c: Unknown result type (might be due to invalid IL or missing references)
		//IL_027d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0281: Unknown result type (might be due to invalid IL or missing references)
		//IL_029b: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a0: Unknown result type (might be due to invalid IL or missing references)
		//IL_0330: Unknown result type (might be due to invalid IL or missing references)
		//IL_033d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0344: Unknown result type (might be due to invalid IL or missing references)
		//IL_037d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0382: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0402: Unknown result type (might be due to invalid IL or missing references)
		//IL_040b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0428: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_0541: Unknown result type (might be due to invalid IL or missing references)
		//IL_0554: Unknown result type (might be due to invalid IL or missing references)
		//IL_0567: Unknown result type (might be due to invalid IL or missing references)
		//IL_0589: Unknown result type (might be due to invalid IL or missing references)
		CommandBuffer command = context.command;
		command.BeginSample("BloomPyramid");
		PropertySheet propertySheet = context.propertySheets.Get(context.resources.shaders.bloom);
		propertySheet.properties.SetTexture(ShaderIDs.AutoExposureTex, context.autoExposureTexture);
		float num = Mathf.Clamp((float)base.settings.anamorphicRatio, -1f, 1f);
		float num2 = ((num < 0f) ? (0f - num) : 0f);
		float num3 = ((num > 0f) ? num : 0f);
		int num4 = Mathf.FloorToInt((float)context.screenWidth / (2f - num2));
		int num5 = Mathf.FloorToInt((float)context.screenHeight / (2f - num3));
		bool flag = context.stereoActive && context.stereoRenderingMode == PostProcessRenderContext.StereoRenderingMode.SinglePass && (int)context.camera.stereoTargetEye == 3;
		int num6 = (flag ? (num4 * 2) : num4);
		float num7 = Mathf.Log((float)Mathf.Max(num4, num5), 2f) + Mathf.Min(base.settings.diffusion.value, 10f) - 10f;
		int num8 = Mathf.FloorToInt(num7);
		int num9 = Mathf.Clamp(num8, 1, 16);
		float num10 = 0.5f + num7 - (float)num8;
		propertySheet.properties.SetFloat(ShaderIDs.SampleScale, num10);
		float num11 = Mathf.GammaToLinearSpace(base.settings.threshold.value);
		float num12 = num11 * base.settings.softKnee.value + 1E-05f;
		Vector4 val = default(Vector4);
		((Vector4)(ref val))..ctor(num11, num11 - num12, num12 * 2f, 0.25f / num12);
		propertySheet.properties.SetVector(ShaderIDs.Threshold, val);
		float num13 = Mathf.GammaToLinearSpace(base.settings.clamp.value);
		propertySheet.properties.SetVector(ShaderIDs.Params, new Vector4(num13, 0f, 0f, 0f));
		int num14 = (base.settings.fastMode ? 1 : 0);
		RenderTargetIdentifier source = context.source;
		for (int i = 0; i < num9; i++)
		{
			int down = m_Pyramid[i].down;
			int up = m_Pyramid[i].up;
			int pass = ((i == 0) ? num14 : (2 + num14));
			context.GetScreenSpaceTemporaryRT(command, down, 0, context.sourceFormat, (RenderTextureReadWrite)0, (FilterMode)1, num6, num5);
			context.GetScreenSpaceTemporaryRT(command, up, 0, context.sourceFormat, (RenderTextureReadWrite)0, (FilterMode)1, num6, num5);
			command.BlitFullscreenTriangle(source, RenderTargetIdentifier.op_Implicit(down), propertySheet, pass);
			source = RenderTargetIdentifier.op_Implicit(down);
			num6 = ((flag && num6 / 2 % 2 > 0) ? (1 + num6 / 2) : (num6 / 2));
			num6 = Mathf.Max(num6, 1);
			num5 = Mathf.Max(num5 / 2, 1);
		}
		int num15 = m_Pyramid[num9 - 1].down;
		for (int num16 = num9 - 2; num16 >= 0; num16--)
		{
			int down2 = m_Pyramid[num16].down;
			int up2 = m_Pyramid[num16].up;
			command.SetGlobalTexture(ShaderIDs.BloomTex, RenderTargetIdentifier.op_Implicit(down2));
			command.BlitFullscreenTriangle(RenderTargetIdentifier.op_Implicit(num15), RenderTargetIdentifier.op_Implicit(up2), propertySheet, 4 + num14);
			num15 = up2;
		}
		Color linear = ((Color)(ref base.settings.color.value)).linear;
		float num17 = RuntimeUtilities.Exp2(base.settings.intensity.value / 10f) - 1f;
		Vector4 val2 = default(Vector4);
		((Vector4)(ref val2))..ctor(num10, num17, base.settings.dirtIntensity.value, (float)num9);
		if (context.IsDebugOverlayEnabled(DebugOverlay.BloomThreshold))
		{
			context.PushDebugOverlay(command, context.source, propertySheet, 6);
		}
		else if (context.IsDebugOverlayEnabled(DebugOverlay.BloomBuffer))
		{
			propertySheet.properties.SetVector(ShaderIDs.ColorIntensity, new Vector4(linear.r, linear.g, linear.b, num17));
			context.PushDebugOverlay(command, RenderTargetIdentifier.op_Implicit(m_Pyramid[0].up), propertySheet, 7 + num14);
		}
		Texture val3 = (Texture)(((Object)(object)base.settings.dirtTexture.value == (Object)null) ? ((object)RuntimeUtilities.blackTexture) : ((object)base.settings.dirtTexture.value));
		float num18 = (float)val3.width / (float)val3.height;
		float num19 = (float)context.screenWidth / (float)context.screenHeight;
		Vector4 val4 = default(Vector4);
		((Vector4)(ref val4))..ctor(1f, 1f, 0f, 0f);
		if (num18 > num19)
		{
			val4.x = num19 / num18;
			val4.z = (1f - val4.x) * 0.5f;
		}
		else if (num19 > num18)
		{
			val4.y = num18 / num19;
			val4.w = (1f - val4.y) * 0.5f;
		}
		PropertySheet uberSheet = context.uberSheet;
		if ((bool)base.settings.fastMode)
		{
			uberSheet.EnableKeyword("BLOOM_LOW");
		}
		else
		{
			uberSheet.EnableKeyword("BLOOM");
		}
		uberSheet.properties.SetVector(ShaderIDs.Bloom_DirtTileOffset, val4);
		uberSheet.properties.SetVector(ShaderIDs.Bloom_Settings, val2);
		uberSheet.properties.SetColor(ShaderIDs.Bloom_Color, linear);
		uberSheet.properties.SetTexture(ShaderIDs.Bloom_DirtTex, val3);
		command.SetGlobalTexture(ShaderIDs.BloomTex, RenderTargetIdentifier.op_Implicit(num15));
		for (int j = 0; j < num9; j++)
		{
			if (m_Pyramid[j].down != num15)
			{
				command.ReleaseTemporaryRT(m_Pyramid[j].down);
			}
			if (m_Pyramid[j].up != num15)
			{
				command.ReleaseTemporaryRT(m_Pyramid[j].up);
			}
		}
		command.EndSample("BloomPyramid");
		context.bloomBufferNameID = num15;
	}
}
[Serializable]
[PostProcess(typeof(ChromaticAberrationRenderer), "Unity/Chromatic Aberration", true)]
public sealed class ChromaticAberration : PostProcessEffectSettings
{
	[Tooltip("Shifts the hue of chromatic aberrations.")]
	public TextureParameter spectralLut = new TextureParameter
	{
		value = null
	};

	[Range(0f, 1f)]
	[Tooltip("Amount of tangential distortion.")]
	public FloatParameter intensity = new FloatParameter
	{
		value = 0f
	};

	[FormerlySerializedAs("mobileOptimized")]
	[Tooltip("Boost performances by lowering the effect quality. This settings is meant to be used on mobile and other low-end platforms but can also provide a nice performance boost on desktops and consoles.")]
	public BoolParameter fastMode = new BoolParameter
	{
		value = false
	};

	public override bool IsEnabledAndSupported(PostProcessRenderContext context)
	{
		if (enabled.value)
		{
			return intensity.value > 0f;
		}
		return false;
	}
}
[Preserve]
internal sealed class ChromaticAberrationRenderer : PostProcessEffectRenderer<ChromaticAberration>
{
	private Texture2D m_InternalSpectralLut;

	public override void Render(PostProcessRenderContext context)
	{
		//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f7: Invalid comparison between Unknown and I4
		//IL_0033: Unknown result type (might be due to invalid IL or missing references)
		//IL_0038: Unknown result type (might be due to invalid IL or missing references)
		//IL_0043: Unknown result type (might be due to invalid IL or missing references)
		//IL_004a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0051: Unknown result type (might be due to invalid IL or missing references)
		//IL_0058: Unknown result type (might be due to invalid IL or missing references)
		//IL_0065: Expected O, but got Unknown
		//IL_0082: Unknown result type (might be due to invalid IL or missing references)
		//IL_0087: Unknown result type (might be due to invalid IL or missing references)
		//IL_009d: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bd: Unknown result type (might be due to invalid IL or missing references)
		Texture val = base.settings.spectralLut.value;
		if ((Object)(object)val == (Object)null)
		{
			if ((Object)(object)m_InternalSpectralLut == (Object)null)
			{
				m_InternalSpectralLut = new Texture2D(3, 1, (TextureFormat)3, false)
				{
					name = "Chromatic Aberration Spectrum Lookup",
					filterMode = (FilterMode)1,
					wrapMode = (TextureWrapMode)1,
					anisoLevel = 0,
					hideFlags = (HideFlags)52
				};
				m_InternalSpectralLut.SetPixels((Color[])(object)new Color[3]
				{
					new Color(1f, 0f, 0f),
					new Color(0f, 1f, 0f),
					new Color(0f, 0f, 1f)
				});
				m_InternalSpectralLut.Apply();
			}
			val = (Texture)(object)m_InternalSpectralLut;
		}
		PropertySheet uberSheet = context.uberSheet;
		bool flag = (bool)base.settings.fastMode || (int)SystemInfo.graphicsDeviceType == 8;
		uberSheet.EnableKeyword(flag ? "CHROMATIC_ABERRATION_LOW" : "CHROMATIC_ABERRATION");
		uberSheet.properties.SetFloat(ShaderIDs.ChromaticAberration_Amount, (float)base.settings.intensity * 0.05f);
		uberSheet.properties.SetTexture(ShaderIDs.ChromaticAberration_SpectralLut, val);
	}

	public override void Release()
	{
		RuntimeUtilities.Destroy((Object)(object)m_InternalSpectralLut);
		m_InternalSpectralLut = null;
	}
}
public enum GradingMode
{
	LowDefinitionRange,
	HighDefinitionRange,
	External
}
public enum Tonemapper
{
	None,
	Neutral,
	ACES,
	Custom
}
[Serializable]
public sealed class GradingModeParameter : ParameterOverride<GradingMode>
{
}
[Serializable]
public sealed class TonemapperParameter : ParameterOverride<Tonemapper>
{
}
[Serializable]
[PostProcess(typeof(ColorGradingRenderer), "Unity/Color Grading", true)]
public sealed class ColorGrading : PostProcessEffectSettings
{
	[DisplayName("Mode")]
	[Tooltip("Select a color grading mode that fits your dynamic range and workflow. Use HDR if your camera is set to render in HDR and your target platform supports it. Use LDR for low-end mobiles or devices that don't support HDR. Use External if you prefer authoring a Log LUT in an external software.")]
	public GradingModeParameter gradingMode = new GradingModeParameter
	{
		value = GradingMode.HighDefinitionRange
	};

	[DisplayName("Lookup Texture")]
	[Tooltip("A custom 3D log-encoded texture.")]
	public TextureParameter externalLut = new TextureParameter
	{
		value = null
	};

	[DisplayName("Mode")]
	[Tooltip("Select a tonemapping algorithm to use at the end of the color grading process.")]
	public TonemapperParameter tonemapper = new TonemapperParameter
	{
		value = Tonemapper.None
	};

	[DisplayName("Toe Strength")]
	[Range(0f, 1f)]
	[Tooltip("Affects the transition between the toe and the mid section of the curve. A value of 0 means no toe, a value of 1 means a very hard transition.")]
	public FloatParameter toneCurveToeStrength = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Toe Length")]
	[Range(0f, 1f)]
	[Tooltip("Affects how much of the dynamic range is in the toe. With a small value, the toe will be very short and quickly transition into the linear section, with a larger value, the toe will be longer.")]
	public FloatParameter toneCurveToeLength = new FloatParameter
	{
		value = 0.5f
	};

	[DisplayName("Shoulder Strength")]
	[Range(0f, 1f)]
	[Tooltip("Affects the transition between the mid section and the shoulder of the curve. A value of 0 means no shoulder, a value of 1 means a very hard transition.")]
	public FloatParameter toneCurveShoulderStrength = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Shoulder Length")]
	[Min(0f)]
	[Tooltip("Affects how many F-stops (EV) to add to the dynamic range of the curve.")]
	public FloatParameter toneCurveShoulderLength = new FloatParameter
	{
		value = 0.5f
	};

	[DisplayName("Shoulder Angle")]
	[Range(0f, 1f)]
	[Tooltip("Affects how much overshoot to add to the shoulder.")]
	public FloatParameter toneCurveShoulderAngle = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Gamma")]
	[Min(0.001f)]
	[Tooltip("Applies a gamma function to the curve.")]
	public FloatParameter toneCurveGamma = new FloatParameter
	{
		value = 1f
	};

	[DisplayName("Lookup Texture")]
	[Tooltip("Custom lookup texture (strip format, for example 256x16) to apply before the rest of the color grading operators. If none is provided, a neutral one will be generated internally.")]
	public TextureParameter ldrLut = new TextureParameter
	{
		value = null,
		defaultState = TextureParameterDefault.Lut2D
	};

	[DisplayName("Contribution")]
	[Range(0f, 1f)]
	[Tooltip("How much of the lookup texture will contribute to the color grading effect.")]
	public FloatParameter ldrLutContribution = new FloatParameter
	{
		value = 1f
	};

	[DisplayName("Temperature")]
	[Range(-100f, 100f)]
	[Tooltip("Sets the white balance to a custom color temperature.")]
	public FloatParameter temperature = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Tint")]
	[Range(-100f, 100f)]
	[Tooltip("Sets the white balance to compensate for a green or magenta tint.")]
	public FloatParameter tint = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Color Filter")]
	[ColorUsage(false, true)]
	[Tooltip("Tint the render by multiplying a color.")]
	public ColorParameter colorFilter = new ColorParameter
	{
		value = Color.white
	};

	[DisplayName("Hue Shift")]
	[Range(-180f, 180f)]
	[Tooltip("Shift the hue of all colors.")]
	public FloatParameter hueShift = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Saturation")]
	[Range(-100f, 100f)]
	[Tooltip("Pushes the intensity of all colors.")]
	public FloatParameter saturation = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Brightness")]
	[Range(-100f, 100f)]
	[Tooltip("Makes the image brighter or darker.")]
	public FloatParameter brightness = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Post-exposure (EV)")]
	[Tooltip("Adjusts the overall exposure of the scene in EV units. This is applied after the HDR effect and right before tonemapping so it won't affect previous effects in the chain.")]
	public FloatParameter postExposure = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Contrast")]
	[Range(-100f, 100f)]
	[Tooltip("Expands or shrinks the overall range of tonal values.")]
	public FloatParameter contrast = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Red")]
	[Range(-200f, 200f)]
	[Tooltip("Modify influence of the red channel in the overall mix.")]
	public FloatParameter mixerRedOutRedIn = new FloatParameter
	{
		value = 100f
	};

	[DisplayName("Green")]
	[Range(-200f, 200f)]
	[Tooltip("Modify influence of the green channel in the overall mix.")]
	public FloatParameter mixerRedOutGreenIn = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Blue")]
	[Range(-200f, 200f)]
	[Tooltip("Modify influence of the blue channel in the overall mix.")]
	public FloatParameter mixerRedOutBlueIn = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Red")]
	[Range(-200f, 200f)]
	[Tooltip("Modify influence of the red channel in the overall mix.")]
	public FloatParameter mixerGreenOutRedIn = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Green")]
	[Range(-200f, 200f)]
	[Tooltip("Modify influence of the green channel in the overall mix.")]
	public FloatParameter mixerGreenOutGreenIn = new FloatParameter
	{
		value = 100f
	};

	[DisplayName("Blue")]
	[Range(-200f, 200f)]
	[Tooltip("Modify influence of the blue channel in the overall mix.")]
	public FloatParameter mixerGreenOutBlueIn = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Red")]
	[Range(-200f, 200f)]
	[Tooltip("Modify influence of the red channel in the overall mix.")]
	public FloatParameter mixerBlueOutRedIn = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Green")]
	[Range(-200f, 200f)]
	[Tooltip("Modify influence of the green channel in the overall mix.")]
	public FloatParameter mixerBlueOutGreenIn = new FloatParameter
	{
		value = 0f
	};

	[DisplayName("Blue")]
	[Range(-200f, 200f)]
	[Tooltip("Modify influence of the blue channel in the overall mix.")]
	public FloatParameter mixerBlueOutBlueIn = new FloatParameter
	{
		value = 100f
	};

	[DisplayName("Lift")]
	[Tooltip("Controls the darkest portions of the render.")]
	[Trackball(TrackballAttribute.Mode.Lift)]
	public Vector4Parameter lift = new Vector4Parameter
	{
		value = new Vector4(1f, 1f, 1f, 0f)
	};

	[DisplayName("Gamma")]
	[Tooltip("Power function that controls mid-range tones.")]
	[Trackball(TrackballAttribute.Mode.Gamma)]
	public Vector4Parameter gamma = new Vector4Parameter
	{
		value = new Vector4(1f, 1f, 1f, 0f)
	};

	[DisplayName("Gain")]
	[Tooltip("Controls the lightest portions of the render.")]
	[Trackball(TrackballAttribute.Mode.Gain)]
	public Vector4Parameter gain = new Vector4Parameter
	{
		value = new Vector4(1f, 1f, 1f, 0f)
	};

	public SplineParameter masterCurve = new SplineParameter
	{
		value = new Spline(new AnimationCurve((Keyframe[])(object)new Keyframe[2]
		{
			new Keyframe(0f, 0f, 1f, 1f),
			new Keyframe(1f, 1f, 1f, 1f)
		}), 0f, loop: false, new Vector2(0f, 1f))
	};

	public SplineParameter redCurve = new SplineParameter
	{
		value = new Spline(new AnimationCurve((Keyframe[])(object)new Keyframe[2]
		{
			new Keyframe(0f, 0f, 1f, 1f),
			new Keyframe(1f, 1f, 1f, 1f)
		}), 0f, loop: false, new Vector2(0f, 1f))
	};

	public SplineParameter greenCurve = new SplineParameter
	{
		value = new Spline(new AnimationCurve((Keyframe[])(object)new Keyframe[2]
		{
			new Keyframe(0f, 0f, 1f, 1f),
			new Keyframe(1f, 1f, 1f, 1f)
		}), 0f, loop: false, new Vector2(0f, 1f))
	};

	public SplineParameter blueCurve = new SplineParameter
	{
		value = new Spline(new AnimationCurve((Keyframe[])(object)new Keyframe[2]
		{
			new Keyframe(0f, 0f, 1f, 1f),
			new Keyframe(1f, 1f, 1f, 1f)
		}), 0f, loop: false, new Vector2(0f, 1f))
	};

	public SplineParameter hueVsHueCurve = new SplineParameter
	{
		value = new Spline(new AnimationCurve(), 0.5f, loop: true, new Vector2(0f, 1f))
	};

	public SplineParameter hueVsSatCurve = new SplineParameter
	{
		value = new Spline(new AnimationCurve(), 0.5f, loop: true, new Vector2(0f, 1f))
	};

	public SplineParameter satVsSatCurve = new SplineParameter
	{
		value = new Spline(new AnimationCurve(), 0.5f, loop: false, new Vector2(0f, 1f))
	};

	public SplineParameter lumVsSatCurve = new SplineParameter
	{
		value = new Spline(new AnimationCurve(), 0.5f, loop: false, new Vector2(0f, 1f))
	};

	public override bool IsEnabledAndSupported(PostProcessRenderContext context)
	{
		if (gradingMode.value == GradingMode.External && (!SystemInfo.supports3DRenderTextures || !SystemInfo.supportsComputeShaders))
		{
			return false;
		}
		return enabled.value;
	}
}
[Preserve]
internal sealed class ColorGradingRenderer : PostProcessEffectRenderer<ColorGrading>
{
	private enum Pass
	{
		LutGenLDRFromScratch,
		LutGenLDR,
		LutGenHDR2D
	}

	private Texture2D m_GradingCurves;

	private readonly Color[] m_Pixels = (Color[])(object)new Color[256];

	private RenderTexture m_InternalLdrLut;

	private RenderTexture m_InternalLogLut;

	private const int k_Lut2DSize = 32;

	private const int k_Lut3DSize = 33;

	private readonly HableCurve m_HableCurve = new HableCurve();

	public override void Render(PostProcessRenderContext context)
	{
		//IL_0037: Unknown result type (might be due to invalid IL or missing references)
		//IL_003e: Invalid comparison between Unknown and I4
		//IL_0040: Unknown result type (might be due to invalid IL or missing references)
		//IL_0047: Invalid comparison between Unknown and I4
		GradingMode value = base.settings.gradingMode.value;
		bool flag = SystemInfo.supports3DRenderTextures && SystemInfo.supportsComputeShaders && (Object)(object)context.resources.computeShaders.lut3DBaker != (Object)null && (int)SystemInfo.graphicsDeviceType != 17 && (int)SystemInfo.graphicsDeviceType != 11;
		if (value == GradingMode.External)
		{
			RenderExternalPipeline3D(context);
		}
		else if (value == GradingMode.HighDefinitionRange && flag)
		{
			RenderHDRPipeline3D(context);
		}
		else if (value == GradingMode.HighDefinitionRange)
		{
			RenderHDRPipeline2D(context);
		}
		else
		{
			RenderLDRPipeline2D(context);
		}
	}

	private void RenderExternalPipeline3D(PostProcessRenderContext context)
	{
		//IL_0062: Unknown result type (might be due to invalid IL or missing references)
		//IL_0067: Unknown result type (might be due to invalid IL or missing references)
		Texture value = base.settings.externalLut.value;
		if (!((Object)(object)value == (Object)null))
		{
			PropertySheet uberSheet = context.uberSheet;
			uberSheet.EnableKeyword("COLOR_GRADING_HDR_3D");
			uberSheet.properties.SetTexture(ShaderIDs.Lut3D, value);
			uberSheet.properties.SetVector(ShaderIDs.Lut3D_Params, Vector4.op_Implicit(new Vector2(1f / (float)value.width, (float)value.width - 1f)));
			uberSheet.properties.SetFloat(ShaderIDs.PostExposure, RuntimeUtilities.Exp2(base.settings.postExposure.value));
			context.logLut = value;
		}
	}

	private void RenderHDRPipeline3D(PostProcessRenderContext context)
	{
		//IL_008f: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00de: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_010a: Unknown result type (might be due to invalid IL or missing references)
		//IL_010f: Unknown result type (might be due to invalid IL or missing references)
		//IL_017f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0244: Unknown result type (might be due to invalid IL or missing references)
		//IL_024b: Unknown result type (might be due to invalid IL or missing references)
		//IL_025c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0263: Unknown result type (might be due to invalid IL or missing references)
		//IL_0274: Unknown result type (might be due to invalid IL or missing references)
		//IL_027b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0290: Unknown result type (might be due to invalid IL or missing references)
		//IL_029a: Unknown result type (might be due to invalid IL or missing references)
		//IL_029f: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a4: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_02bb: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_02dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0309: Unknown result type (might be due to invalid IL or missing references)
		//IL_031a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0321: Unknown result type (might be due to invalid IL or missing references)
		//IL_0328: Unknown result type (might be due to invalid IL or missing references)
		//IL_0334: Unknown result type (might be due to invalid IL or missing references)
		//IL_0345: Unknown result type (might be due to invalid IL or missing references)
		//IL_034c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0353: Unknown result type (might be due to invalid IL or missing references)
		//IL_035f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0378: Unknown result type (might be due to invalid IL or missing references)
		//IL_054f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0554: Unknown result type (might be due to invalid IL or missing references)
		//IL_0415: Unknown result type (might be due to invalid IL or missing references)
		//IL_0431: Unknown result type (might be due to invalid IL or missing references)
		//IL_044d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0469: Unknown result type (might be due to invalid IL or missing references)
		//IL_0485: Unknown result type (might be due to invalid IL or missing references)
		//IL_04a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_04bd: Unknown result type (might be due to invalid IL or missing references)
		CheckInternalLogLut();
		ComputeShader lut3DBaker = context.resources.computeShaders.lut3DBaker;
		int num = 0;
		switch (base.settings.tonemapper.value)
		{
		case Tonemapper.None:
			num = lut3DBaker.FindKernel("KGenLut3D_NoTonemap");
			break;
		case Tonemapper.Neutral:
			num = lut3DBaker.FindKernel("KGenLut3D_NeutralTonemap");
			break;
		case Tonemapper.ACES:
			num = lut3DBaker.FindKernel("KGenLut3D_AcesTonemap");
			break;
		case Tonemapper.Custom:
			num = lut3DBaker.FindKernel("KGenLut3D_CustomTonemap");
			break;
		}
		CommandBuffer command = context.command;
		command.SetComputeTextureParam(lut3DBaker, num, "_Output", RenderTargetIdentifier.op_Implicit((Texture)(object)m_InternalLogLut));
		command.SetComputeVectorParam(lut3DBaker, "_Size", new Vector4(33f, 1f / 32f, 0f, 0f));
		Vector3 val = ColorUtilities.ComputeColorBalance(base.settings.temperature.value, base.settings.tint.value);
		command.SetComputeVectorParam(lut3DBaker, "_ColorBalance", Vector4.op_Implicit(val));
		command.SetComputeVectorParam(lut3DBaker, "_ColorFilter", Color.op_Implicit(base.settings.colorFilter.value));
		float num2 = base.settings.hueShift.value / 360f;
		float num3 = base.settings.saturation.value / 100f + 1f;
		float num4 = base.settings.contrast.value / 100f + 1f;
		command.SetComputeVectorParam(lut3DBaker, "_HueSatCon", new Vector4(num2, num3, num4, 0f));
		Vector4 val2 = default(Vector4);
		((Vector4)(ref val2))..ctor((float)base.settings.mixerRedOutRedIn, (float)base.settings.mixerRedOutGreenIn, (float)base.settings.mixerRedOutBlueIn, 0f);
		Vector4 val3 = default(Vector4);
		((Vector4)(ref val3))..ctor((float)base.settings.mixerGreenOutRedIn, (float)base.settings.mixerGreenOutGreenIn, (float)base.settings.mixerGreenOutBlueIn, 0f);
		Vector4 val4 = default(Vector4);
		((Vector4)(ref val4))..ctor((float)base.settings.mixerBlueOutRedIn, (float)base.settings.mixerBlueOutGreenIn, (float)base.settings.mixerBlueOutBlueIn, 0f);
		command.SetComputeVectorParam(lut3DBaker, "_ChannelMixerRed", val2 / 100f);
		command.SetComputeVectorParam(lut3DBaker, "_ChannelMixerGreen", val3 / 100f);
		command.SetComputeVectorParam(lut3DBaker, "_ChannelMixerBlue", val4 / 100f);
		Vector3 val5 = ColorUtilities.ColorToLift(base.settings.lift.value * 0.2f);
		Vector3 val6 = ColorUtilities.ColorToGain(base.settings.gain.value * 0.8f);
		Vector3 val7 = ColorUtilities.ColorToInverseGamma(base.settings.gamma.value * 0.8f);
		command.SetComputeVectorParam(lut3DBaker, "_Lift", new Vector4(val5.x, val5.y, val5.z, 0f));
		command.SetComputeVectorParam(lut3DBaker, "_InvGamma", new Vector4(val7.x, val7.y, val7.z, 0f));
		command.SetComputeVectorParam(lut3DBaker, "_Gain", new Vector4(val6.x, val6.y, val6.z, 0f));
		command.SetComputeTextureParam(lut3DBaker, num, "_Curves", RenderTargetIdentifier.op_Implicit((Texture)(object)GetCurveTexture(hdr: true)));
		if (base.settings.tonemapper.value == Tonemapper.Custom)
		{
			m_HableCurve.Init(base.settings.toneCurveToeStrength.value, base.settings.toneCurveToeLength.value, base.settings.toneCurveShoulderStrength.value, base.settings.toneCurveShoulderLength.value, base.settings.toneCurveShoulderAngle.value, base.settings.toneCurveGamma.value);
			command.SetComputeVectorParam(lut3DBaker, "_CustomToneCurve", m_HableCurve.uniforms.curve);
			command.SetComputeVectorParam(lut3DBaker, "_ToeSegmentA", m_HableCurve.uniforms.toeSegmentA);
			command.SetComputeVectorParam(lut3DBaker, "_ToeSegmentB", m_HableCurve.uniforms.toeSegmentB);
			command.SetComputeVectorParam(lut3DBaker, "_MidSegmentA", m_HableCurve.uniforms.midSegmentA);
			command.SetComputeVectorParam(lut3DBaker, "_MidSegmentB", m_HableCurve.uniforms.midSegmentB);
			command.SetComputeVectorParam(lut3DBaker, "_ShoSegmentA", m_HableCurve.uniforms.shoSegmentA);
			command.SetComputeVectorParam(lut3DBaker, "_ShoSegmentB", m_HableCurve.uniforms.shoSegmentB);
		}
		context.command.BeginSample("HdrColorGradingLut3D");
		int num5 = Mathf.CeilToInt(8.25f);
		command.DispatchCompute(lut3DBaker, num, num5, num5, num5);
		context.command.EndSample("HdrColorGradingLut3D");
		RenderTexture internalLogLut = m_InternalLogLut;
		PropertySheet uberSheet = context.uberSheet;
		uberSheet.EnableKeyword("COLOR_GRADING_HDR_3D");
		uberSheet.properties.SetTexture(ShaderIDs.Lut3D, (Texture)(object)internalLogLut);
		uberSheet.properties.SetVector(ShaderIDs.Lut3D_Params, Vector4.op_Implicit(new Vector2(1f / (float)((Texture)internalLogLut).width, (float)((Texture)internalLogLut).width - 1f)));
		uberSheet.properties.SetFloat(ShaderIDs.PostExposure, RuntimeUtilities.Exp2(base.settings.postExposure.value));
		context.logLut = (Texture)(object)internalLogLut;
	}

	private void RenderHDRPipeline2D(PostProcessRenderContext context)
	{
		//IL_0047: Unknown result type (might be due to invalid IL or missing references)
		//IL_0071: Unknown result type (might be due to invalid IL or missing references)
		//IL_0076: Unknown result type (might be due to invalid IL or missing references)
		//IL_0082: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0115: Unknown result type (might be due to invalid IL or missing references)
		//IL_011a: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d4: Unknown result type (might be due to invalid IL or missing references)
		//IL_01db: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0201: Unknown result type (might be due to invalid IL or missing references)
		//IL_0216: Unknown result type (might be due to invalid IL or missing references)
		//IL_021d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0222: Unknown result type (might be due to invalid IL or missing references)
		//IL_0237: Unknown result type (might be due to invalid IL or missing references)
		//IL_0241: Unknown result type (might be due to invalid IL or missing references)
		//IL_0246: Unknown result type (might be due to invalid IL or missing references)
		//IL_024b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0258: Unknown result type (might be due to invalid IL or missing references)
		//IL_0262: Unknown result type (might be due to invalid IL or missing references)
		//IL_0267: Unknown result type (might be due to invalid IL or missing references)
		//IL_026c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0279: Unknown result type (might be due to invalid IL or missing references)
		//IL_0283: Unknown result type (might be due to invalid IL or missing references)
		//IL_0288: Unknown result type (might be due to invalid IL or missing references)
		//IL_028d: Unknown result type (might be due to invalid IL or missing references)
		//IL_029a: Unknown result type (might be due to invalid IL or missing references)
		//IL_029c: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_0391: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0411: Unknown result type (might be due to invalid IL or missing references)
		//IL_0431: Unknown result type (might be due to invalid IL or missing references)
		//IL_0451: Unknown result type (might be due to invalid IL or missing references)
		//IL_0496: Unknown result type (might be due to invalid IL or missing references)
		//IL_04a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0512: Unknown result type (might be due to invalid IL or missing references)
		//IL_0517: Unknown result type (might be due to invalid IL or missing references)
		CheckInternalStripLut();
		PropertySheet propertySheet = context.propertySheets.Get(context.resources.shaders.lut2DBaker);
		propertySheet.ClearKeywords();
		propertySheet.properties.SetVector(ShaderIDs.Lut2D_Params, new Vector4(32f, 0.00048828125f, 1f / 64f, 1.032258f));
		Vector3 val = ColorUtilities.ComputeColorBalance(base.settings.temperature.value, base.settings.tint.value);
		propertySheet.properties.SetVector(ShaderIDs.ColorBalance, Vector4.op_Implicit(val));
		propertySheet.properties.SetVector(ShaderIDs.ColorFilter, Color.op_Implicit(base.settings.colorFilter.value));
		float num = base.settings.hueShift.value / 360f;
		float num2 = base.settings.saturation.value / 100f + 1f;
		float num3 = base.settings.contrast.value / 100f + 1f;
		propertySheet.properties.SetVector(ShaderIDs.HueSatCon, Vector4.op_Implicit(new Vector3(num, num2, num3)));
		Vector3 val2 = default(Vector3);
		((Vector3)(ref val2))..ctor((float)base.settings.mixerRedOutRedIn, (float)base.settings.mixerRedOutGreenIn, (float)base.settings.mixerRedOutBlueIn);
		Vector3 val3 = default(Vector3);
		((Vector3)(ref val3))..ctor((float)base.settings.mixerGreenOutRedIn, (float)base.settings.mixerGreenOutGreenIn, (float)base.settings.mixerGreenOutBlueIn);
		Vector3 val4 = default(Vector3);
		((Vector3)(ref val4))..ctor((float)base.settings.mixerBlueOutRedIn, (float)base.settings.mixerBlueOutGreenIn, (float)base.settings.mixerBlueOutBlueIn);
		propertySheet.properties.SetVector(ShaderIDs.ChannelMixerRed, Vector4.op_Implicit(val2 / 100f));
		propertySheet.properties.SetVector(ShaderIDs.ChannelMixerGreen, Vector4.op_Implicit(val3 / 100f));
		propertySheet.properties.SetVector(ShaderIDs.ChannelMixerBlue, Vector4.op_Implicit(val4 / 100f));
		Vector3 val5 = ColorUtilities.ColorToLift(base.settings.lift.value * 0.2f);
		Vector3 val6 = ColorUtilities.ColorToGain(base.settings.gain.value * 0.8f);
		Vector3 val7 = ColorUtilities.ColorToInverseGamma(base.settings.gamma.value * 0.8f);
		propertySheet.properties.SetVector(ShaderIDs.Lift, Vector4.op_Implicit(val5));
		propertySheet.properties.SetVector(ShaderIDs.InvGamma, Vector4.op_Implicit(val7));
		propertySheet.properties.SetVector(ShaderIDs.Gain, Vector4.op_Implicit(val6));
		propertySheet.properties.SetTexture(ShaderIDs.Curves, (Texture)(object)GetCurveTexture(hdr: true));
		switch (base.settings.tonemapper.value)
		{
		case Tonemapper.Custom:
			propertySheet.EnableKeyword("TONEMAPPING_CUSTOM");
			m_HableCurve.Init(base.settings.toneCurveToeStrength.value, base.settings.toneCurveToeLength.value, base.settings.toneCurveShoulderStrength.value, base.settings.toneCurveShoulderLength.value, base.settings.toneCurveShoulderAngle.value, base.settings.toneCurveGamma.value);
			propertySheet.properties.SetVector(ShaderIDs.CustomToneCurve, m_HableCurve.uniforms.curve);
			propertySheet.properties.SetVector(ShaderIDs.ToeSegmentA, m_HableCurve.uniforms.toeSegmentA);
			propertySheet.properties.SetVector(ShaderIDs.ToeSegmentB, m_HableCurve.uniforms.toeSegmentB);
			propertySheet.properties.SetVector(ShaderIDs.MidSegmentA, m_HableCurve.uniforms.midSegmentA);
			propertySheet.properties.SetVector(ShaderIDs.MidSegmentB, m_HableCurve.uniforms.midSegmentB);
			propertySheet.properties.SetVector(ShaderIDs.ShoSegmentA, m_HableCurve.uniforms.shoSegmentA);
			propertySheet.properties.SetVector(ShaderIDs.ShoSegmentB, m_HableCurve.uniforms.shoSegmentB);
			break;
		case Tonemapper.ACES:
			propertySheet.EnableKeyword("TONEMAPPING_ACES");
			break;
		case Tonemapper.Neutral:
			propertySheet.EnableKeyword("TONEMAPPING_NEUTRAL");
			break;
		}
		context.command.BeginSample("HdrColorGradingLut2D");
		context.command.BlitFullscreenTriangle(RenderTargetIdentifier.op_Implicit((BuiltinRenderTextureType)0), RenderTargetIdentifier.op_Implicit((Texture)(object)m_InternalLdrLut), propertySheet, 2);
		context.command.EndSample("HdrColorGradingLut2D");
		RenderTexture internalLdrLut = m_InternalLdrLut;
		PropertySheet uberSheet = context.uberSheet;
		uberSheet.EnableKeyword("COLOR_GRADING_HDR_2D");
		uberSheet.properties.SetVector(ShaderIDs.Lut2D_Params, Vector4.op_Implicit(new Vector3(1f / (float)((Texture)internalLdrLut).width, 1f / (float)((Texture)internalLdrLut).height, (float)((Texture)internalLdrLut).height - 1f)));
		uberSheet.properties.SetTexture(ShaderIDs.Lut2D, (Texture)(object)internalLdrLut);
		uberSheet.properties.SetFloat(ShaderIDs.PostExposure, RuntimeUtilities.Exp2(base.settings.postExposure.value));
	}

	private void RenderLDRPipeline2D(PostProcessRenderContext context)
	{
		//IL_0047: Unknown result type (might be due to invalid IL or missing references)
		//IL_0071: Unknown result type (might be due to invalid IL or missing references)
		//IL_0076: Unknown result type (might be due to invalid IL or missing references)
		//IL_0082: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0115: Unknown result type (might be due to invalid IL or missing references)
		//IL_011a: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d4: Unknown result type (might be due to invalid IL or missing references)
		//IL_01db: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0201: Unknown result type (might be due to invalid IL or missing references)
		//IL_0216: Unknown result type (might be due to invalid IL or missing references)
		//IL_021d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0222: Unknown result type (might be due to invalid IL or missing references)
		//IL_0237: Unknown result type (might be due to invalid IL or missing references)
		//IL_023c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0241: Unknown result type (might be due to invalid IL or missing references)
		//IL_024e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0253: Unknown result type (might be due to invalid IL or missing references)
		//IL_0258: Unknown result type (might be due to invalid IL or missing references)
		//IL_0265: Unknown result type (might be due to invalid IL or missing references)
		//IL_026a: Unknown result type (might be due to invalid IL or missing references)
		//IL_026f: Unknown result type (might be due to invalid IL or missing references)
		//IL_027c: Unknown result type (might be due to invalid IL or missing references)
		//IL_027e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0293: Unknown result type (might be due to invalid IL or missing references)
		//IL_0295: Unknown result type (might be due to invalid IL or missing references)
		//IL_02aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_0344: Unknown result type (might be due to invalid IL or missing references)
		//IL_034f: Unknown result type (might be due to invalid IL or missing references)
		//IL_043b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0440: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_03bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ca: Unknown result type (might be due to invalid IL or missing references)
		CheckInternalStripLut();
		PropertySheet propertySheet = context.propertySheets.Get(context.resources.shaders.lut2DBaker);
		propertySheet.ClearKeywords();
		propertySheet.properties.SetVector(ShaderIDs.Lut2D_Params, new Vector4(32f, 0.00048828125f, 1f / 64f, 1.032258f));
		Vector3 val = ColorUtilities.ComputeColorBalance(base.settings.temperature.value, base.settings.tint.value);
		propertySheet.properties.SetVector(ShaderIDs.ColorBalance, Vector4.op_Implicit(val));
		propertySheet.properties.SetVector(ShaderIDs.ColorFilter, Color.op_Implicit(base.settings.colorFilter.value));
		float num = base.settings.hueShift.value / 360f;
		float num2 = base.settings.saturation.value / 100f + 1f;
		float num3 = base.settings.contrast.value / 100f + 1f;
		propertySheet.properties.SetVector(ShaderIDs.HueSatCon, Vector4.op_Implicit(new Vector3(num, num2, num3)));
		Vector3 val2 = default(Vector3);
		((Vector3)(ref val2))..ctor((float)base.settings.mixerRedOutRedIn, (float)base.settings.mixerRedOutGreenIn, (float)base.settings.mixerRedOutBlueIn);
		Vector3 val3 = default(Vector3);
		((Vector3)(ref val3))..ctor((float)base.settings.mixerGreenOutRedIn, (float)base.settings.mixerGreenOutGreenIn, (float)base.settings.mixerGreenOutBlueIn);
		Vector3 val4 = default(Vector3);
		((Vector3)(ref val4))..ctor((float)base.settings.mixerBlueOutRedIn, (float)base.settings.mixerBlueOutGreenIn, (float)base.settings.mixerBlueOutBlueIn);
		propertySheet.properties.SetVector(ShaderIDs.ChannelMixerRed, Vector4.op_Implicit(val2 / 100f));
		propertySheet.properties.SetVector(ShaderIDs.ChannelMixerGreen, Vector4.op_Implicit(val3 / 100f));
		propertySheet.properties.SetVector(ShaderIDs.ChannelMixerBlue, Vector4.op_Implicit(val4 / 100f));
		Vector3 val5 = ColorUtilities.ColorToLift(base.settings.lift.value);
		Vector3 val6 = ColorUtilities.ColorToGain(base.settings.gain.value);
		Vector3 val7 = ColorUtilities.ColorToInverseGamma(base.settings.gamma.value);
		propertySheet.properties.SetVector(ShaderIDs.Lift, Vector4.op_Implicit(val5));
		propertySheet.properties.SetVector(ShaderIDs.InvGamma, Vector4.op_Implicit(val7));
		propertySheet.properties.SetVector(ShaderIDs.Gain, Vector4.op_Implicit(val6));
		propertySheet.properties.SetFloat(ShaderIDs.Brightness, (base.settings.brightness.value + 100f) / 100f);
		propertySheet.properties.SetTexture(ShaderIDs.Curves, (Texture)(object)GetCurveTexture(hdr: false));
		context.command.BeginSample("LdrColorGradingLut2D");
		Texture value = base.settings.ldrLut.value;
		if ((Object)(object)value == (Object)null || value.width != value.height * value.height)
		{
			context.command.BlitFullscreenTriangle(RenderTargetIdentifier.op_Implicit((BuiltinRenderTextureType)0), RenderTargetIdentifier.op_Implicit((Texture)(object)m_InternalLdrLut), propertySheet, 0);
		}
		else
		{
			propertySheet.properties.SetVector(ShaderIDs.UserLut2D_Params, new Vector4(1f / (float)value.width, 1f / (float)value.height, (float)value.height - 1f, (float)base.settings.ldrLutContribution));
			context.command.BlitFullscreenTriangle(RenderTargetIdentifier.op_Implicit(value), RenderTargetIdentifier.op_Implicit((Texture)(object)m_InternalLdrLut), propertySheet, 1);
		}
		context.command.EndSample("LdrColorGradingLut2D");
		RenderTexture internalLdrLut = m_InternalLdrLut;
		PropertySheet uberSheet = context.uberSheet;
		uberSheet.EnableKeyword("COLOR_GRADING_LDR_2D");
		uberSheet.properties.SetVector(ShaderIDs.Lut2D_Params, Vector4.op_Implicit(new Vector3(1f / (float)((Texture)internalLdrLut).width, 1f / (float)((Texture)internalLdrLut).height, (float)((Texture)internalLdrLut).height - 1f)));
		uberSheet.properties.SetTexture(ShaderIDs.Lut2D, (Texture)(object)internalLdrLut);
	}

	private void CheckInternalLogLut()
	{
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0032: Unknown result type (might be due to invalid IL or missing references)
		//IL_0034: Unknown result type (might be due to invalid IL or missing references)
		//IL_0039: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Unknown result type (might be due to invalid IL or missing references)
		//IL_004b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0053: Unknown result type (might be due to invalid IL or missing references)
		//IL_005a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0061: Unknown result type (might be due to invalid IL or missing references)
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_006f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0077: Unknown result type (might be due to invalid IL or missing references)
		//IL_007e: Unknown result type (might be due to invalid IL or missing references)
		//IL_008a: Expected O, but got Unknown
		if ((Object)(object)m_InternalLogLut == (Object)null || !m_InternalLogLut.IsCreated())
		{
			RuntimeUtilities.Destroy((Object)(object)m_InternalLogLut);
			RenderTextureFormat lutFormat = GetLutFormat();
			m_InternalLogLut = new RenderTexture(33, 33, 0, lutFormat, (RenderTextureReadWrite)1)
			{
				name = "Color Grading Log Lut",
				dimension = (TextureDimension)3,
				hideFlags = (HideFlags)52,
				filterMode = (FilterMode)1,
				wrapMode = (TextureWrapMode)1,
				anisoLevel = 0,
				enableRandomWrite = true,
				volumeDepth = 33,
				autoGenerateMips = false,
				useMipMap = false
			};
			m_InternalLogLut.Create();
		}
	}

	private void CheckInternalStripLut()
	{
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0035: Unknown result type (might be due to invalid IL or missing references)
		//IL_0037: Unknown result type (might be due to invalid IL or missing references)
		//IL_003c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0047: Unknown result type (might be due to invalid IL or missing references)
		//IL_004f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0056: Unknown result type (might be due to invalid IL or missing references)
		//IL_005d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0064: Unknown result type (might be due to invalid IL or missing references)
		//IL_006b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0077: Expected O, but got Unknown
		if ((Object)(object)m_InternalLdrLut == (Object)null || !m_InternalLdrLut.IsCreated())
		{
			RuntimeUtilities.Destroy((Object)(object)m_InternalLdrLut);
			RenderTextureFormat lutFormat = GetLutFormat();
			m_InternalLdrLut = new RenderTexture(1024, 32, 0, lutFormat, (RenderTextureReadWrite)1)
			{
				name = "Color Grading Strip Lut",
				hideFlags = (HideFlags)52,
				filterMode = (FilterMode)1,
				wrapMode = (TextureWrapMode)1,
				anisoLevel = 0,
				autoGenerateMips = false,
				useMipMap = false
			};
			m_InternalLdrLut.Create();
		}
	}

	private Texture2D GetCurveTexture(bool hdr)
	{
		//IL_000e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0013: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_0025: Unknown result type (might be due to invalid IL or missing references)
		//IL_0030: Unknown result type (might be due to invalid IL or missing references)
		//IL_0038: Unknown result type (might be due to invalid IL or missing references)
		//IL_003f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		//IL_0052: Expected O, but got Unknown
		//IL_0126: Unknown result type (might be due to invalid IL or missing references)
		//IL_012b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0175: Unknown result type (might be due to invalid IL or missing references)
		//IL_017a: Unknown result type (might be due to invalid IL or missing references)
		if ((Object)(object)m_GradingCurves == (Object)null)
		{
			TextureFormat curveFormat = GetCurveFormat();
			m_GradingCurves = new Texture2D(128, 2, curveFormat, false, true)
			{
				name = "Internal Curves Texture",
				hideFlags = (HideFlags)52,
				anisoLevel = 0,
				wrapMode = (TextureWrapMode)1,
				filterMode = (FilterMode)1
			};
		}
		Spline value = base.settings.hueVsHueCurve.value;
		Spline value2 = base.settings.hueVsSatCurve.value;
		Spline value3 = base.settings.satVsSatCurve.value;
		Spline value4 = base.settings.lumVsSatCurve.value;
		Spline value5 = base.settings.masterCurve.value;
		Spline value6 = base.settings.redCurve.value;
		Spline value7 = base.settings.greenCurve.value;
		Spline value8 = base.settings.blueCurve.value;
		Color[] pixels = m_Pixels;
		for (int i = 0; i < 128; i++)
		{
			float num = value.cachedData[i];
			float num2 = value2.cachedData[i];
			float num3 = value3.cachedData[i];
			float num4 = value4.cachedData[i];
			pixels[i] = new Color(num, num2, num3, num4);
			if (!hdr)
			{
				float num5 = value5.cachedData[i];
				float num6 = value6.cachedData[i];
				float num7 = value7.cachedData[i];
				float num8 = value8.cachedData[i];
				pixels[i + 128] = new Color(num6, num7, num8, num5);
			}
		}
		m_GradingCurves.SetPixels(pixels);
		m_GradingCurves.Apply(false, false);
		return m_GradingCurves;
	}

	private static bool IsRenderTextureFormatSupportedForLinearFiltering(RenderTextureFormat format)
	{
		//IL_0000: Unknown result type (might be due to invalid IL or missing references)
		//IL_0002: Unknown result type (might be due to invalid IL or missing references)
		return SystemInfo.IsFormatSupported(GraphicsFormatUtility.GetGraphicsFormat(format, (RenderTextureReadWrite)1), (FormatUsage)1);
	}

	private static RenderTextureFormat GetLutFormat()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0002: Unknown result type (might be due to invalid IL or missing references)
		//IL_0016: Unknown result type (might be due to invalid IL or missing references)
		//IL_000b: Unknown result type (might be due to invalid IL or missing references)
		//IL_000c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0015: Unknown result type (might be due to invalid IL or missing references)
		RenderTextureFormat val = (RenderTextureFormat)2;
		if (!IsRenderTextureFormatSupportedForLinearFiltering(val))
		{
			val = (RenderTextureFormat)8;
			if (!IsRenderTextureFormatSupportedForLinearFiltering(val))
			{
				val = (RenderTextureFormat)0;
			}
		}
		return val;
	}

	private static TextureFormat GetCurveFormat()
	{
		//IL_0002: Unknown result type (might be due to invalid IL or missing references)
		//IL_0003: Unknown result type (might be due to invalid IL or missing references)
		//IL_000d: Unknown result type (might be due to invalid IL or missing references)
		//IL_000c: Unknown result type (might be due to invalid IL or missing references)
		TextureFormat val = (TextureFormat)17;
		if (!SystemInfo.SupportsTextureFormat(val))
		{
			val = (TextureFormat)5;
		}
		return val;
	}

	public override void Release()
	{
		RuntimeUtilities.Destroy((Object)(object)m_InternalLdrLut);
		m_InternalLdrLut = null;
		RuntimeUtilities.Destroy((Object)(object)m_InternalLogLut);
		m_InternalLogLut = null;
		RuntimeUtilities.Destroy((Object)(object)m_GradingCurves);
		m_GradingCurves = null;
	}
}
public enum KernelSize
{
	Small,
	Medium,
	Large,
	VeryLarge
}
[Serializable]
public sealed class KernelSizeParameter : ParameterOverride<KernelSize>
{
}
[Serializable]
[PostProcess(typeof(DepthOfFieldRenderer), "Unity/Depth of Field", false)]
public sealed class DepthOfField : PostProcessEffectSettings
{
	[Min(0.1f)]
	[Tooltip("Distance to the point of focus.")]
	public FloatParameter focusDistance = new FloatParameter
	{
		value = 10f
	};

	[Range(0.05f, 32f)]
	[Tooltip("Ratio of aperture (known as f-stop or f-number). The smaller the value is, the shallower the depth of field is.")]
	public FloatParameter aperture = new FloatParameter
	{
		value = 5.6f
	};

	[Range(1f, 300f)]
	[Tooltip("Distance between the lens and the film. The larger the value is, the shallower the depth of field is.")]
	public FloatParameter focalLength = new FloatParameter
	{
		value = 50f
	};

	[DisplayName("Max Blur Size")]
	[Tooltip("Convolution kernel size of the bokeh filter, which determines the maximum radius of bokeh. It also affects performances (the larger the kernel is, the longer the GPU time is required).")]
	public KernelSizeParameter kernelSize = new KernelSizeParameter
	{
		value = KernelSize.Medium
	};

	public override bool IsEnabledAndSupported(PostProcessRenderContext context)
	{
		if (enabled.value)
		{
			return SystemInfo.graphicsShaderLevel >= 35;
		}
		return false;
	}
}
[Preserve]
internal sealed class DepthOfFieldRenderer : PostProcessEffectRenderer<DepthOfField>
{
	private enum Pass
	{
		CoCCalculation,
		CoCTemporalFilter,
		DownsampleAndPrefilter,
		BokehSmallKernel,
		BokehMediumKernel,
		BokehLargeKernel,
		BokehVeryLargeKernel,
		PostFilter,
		Combine,
		DebugOverlay
	}

	private const int k_NumEyes = 2;

	private const int k_NumCoCHistoryTextures = 2;

	private readonly RenderTexture[][] m_CoCHistoryTextures = new RenderTexture[2][];

	private int[] m_HistoryPingPong = new int[2];

	private const float k_FilmHeight = 0.024f;

	public DepthOfFieldRenderer()
	{
		for (int i = 0; i < 2; i++)
		{
			m_CoCHistoryTextures[i] = (RenderTexture[])(object)new RenderTexture[2];
			m_HistoryPingPong[i] = 0;
		}
	}

	public override DepthTextureMode GetCameraFlags()
	{
		return (DepthTextureMode)1;
	}

	private RenderTextureFormat SelectFormat(RenderTextureFormat primary, RenderTextureFormat secondary)
	{
		//IL_0000: Unknown result type (might be due to invalid IL or missing references)
		//IL_000a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0008: Unknown result type (might be due to invalid IL or missing references)
		//IL_0012: Unknown result type (might be due to invalid IL or missing references)
		if (primary.IsSupported())
		{
			return primary;
		}
		if (secondary.IsSupported())
		{
			return secondary;
		}
		return (RenderTextureFormat)7;
	}

	private float CalculateMaxCoCRadius(int screenHeight)
	{
		float num = (float)base.settings.kernelSize.value * 4f + 6f;
		return Mathf.Min(0.05f, num / (float)screenHeight);
	}

	private RenderTexture CheckHistory(int eye, int id, PostProcessRenderContext context, RenderTextureFormat format)
	{
		//IL_0048: Unknown result type (might be due to invalid IL or missing references)
		RenderTexture val = m_CoCHistoryTextures[eye][id];
		if (m_ResetHistory || (Object)(object)val == (Object)null || !val.IsCreated() || ((Texture)val).width != context.width || ((Texture)val).height != context.height)
		{
			RenderTexture.ReleaseTemporary(val);
			val = context.GetScreenSpaceTemporaryRT(0, format, (RenderTextureReadWrite)1);
			((Object)val).name = "CoC History, Eye: " + eye + ", ID: " + id;
			((Texture)val).filterMode = (FilterMode)1;
			val.Create();
			m_CoCHistoryTextures[eye][id] = val;
		}
		return val;
	}

	public override void Render(PostProcessRenderContext context)
	{
		//IL_0011: Unknown result type (might be due to invalid IL or missing references)
		//IL_0017: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0153: Unknown result type (might be due to invalid IL or missing references)
		//IL_0160: Unknown result type (might be due to invalid IL or missing references)
		//IL_016a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0287: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_02cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0326: Unknown result type (might be due to invalid IL or missing references)
		//IL_0330: Unknown result type (might be due to invalid IL or missing references)
		//IL_0373: Unknown result type (might be due to invalid IL or missing references)
		//IL_0379: Unknown result type (might be due to invalid IL or missing references)
		//IL_0362: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01db: Unknown result type (might be due to invalid IL or missing references)
		//IL_0205: Unknown result type (might be due to invalid IL or missing references)
		//IL_021e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0240: Unknown result type (might be due to invalid IL or missing references)
		//IL_0247: Unknown result type (might be due to invalid IL or missing references)
		//IL_0274: Unknown result type (might be due to invalid IL or missing references)
		RenderTextureFormat colorFormat = (RenderTextureFormat)(context.camera.allowHDR ? 2 : 0);
		RenderTextureFormat val = SelectFormat((RenderTextureFormat)16, (RenderTextureFormat)15);
		float num = 0.024f * ((float)context.height / 1080f);
		float num2 = base.settings.focalLength.value / 1000f;
		float num3 = Mathf.Max(base.settings.focusDistance.value, num2);
		float num4 = (float)context.screenWidth / (float)context.screenHeight;
		float num5 = num2 * num2 / (base.settings.aperture.value * (num3 - num2) * num * 2f);
		float num6 = CalculateMaxCoCRadius(context.screenHeight);
		PropertySheet propertySheet = context.propertySheets.Get(context.resources.shaders.depthOfField);
		propertySheet.properties.Clear();
		propertySheet.properties.SetFloat(ShaderIDs.Distance, num3);
		propertySheet.properties.SetFloat(ShaderIDs.LensCoeff, num5);
		propertySheet.properties.SetFloat(ShaderIDs.MaxCoC, num6);
		propertySheet.properties.SetFloat(ShaderIDs.RcpMaxCoC, 1f / num6);
		propertySheet.properties.SetFloat(ShaderIDs.RcpAspect, 1f / num4);
		CommandBuffer command = context.command;
		command.BeginSample("DepthOfField");
		context.GetScreenSpaceTemporaryRT(command, ShaderIDs.CoCTex, 0, val, (RenderTextureReadWrite)1, (FilterMode)1);
		command.BlitFullscreenTriangle(RenderTargetIdentifier.op_Implicit((BuiltinRenderTextureType)0), RenderTargetIdentifier.op_Implicit(ShaderIDs.CoCTex), propertySheet, 0);
		if (context.IsTemporalAntialiasingActive())
		{
			float motionBlending = context.temporalAntialiasing.motionBlending;
			float num7 = (m_ResetHistory ? 0f : motionBlending);
			Vector2 jitter = context.temporalAntialiasing.jitter;
			propertySheet.properties.SetVector(ShaderIDs.TaaParams, Vector4.op_Implicit(new Vector3(jitter.x, jitter.y, num7)));
			int num8 = m_HistoryPingPong[context.xrActiveEye];
			RenderTexture val2 = CheckHistory(context.xrActiveEye, ++num8 % 2, context, val);
			RenderTexture val3 = CheckHistory(context.xrActiveEye, ++num8 % 2, context, val);
			m_HistoryPingPong[context.xrActiveEye] = ++num8 % 2;
			command.BlitFullscreenTriangle(RenderTargetIdentifier.op_Implicit((Texture)(object)val2), RenderTargetIdentifier.op_Implicit((Texture)(object)val3), propertySheet, 1);
			command.ReleaseTemporaryRT(ShaderIDs.CoCTex);
			command.SetGlobalTexture(ShaderIDs.CoCTex, RenderTargetIdentifier.op_Implicit((Texture)(object)val3));
		}
		context.GetScreenSpaceTemporaryRT(command, ShaderIDs.DepthOfFieldTex, 0, colorFormat, (RenderTextureReadWrite)0, (FilterMode)1, context.width / 2, context.height / 2);
		command.BlitFullscreenTriangle(context.source, RenderTargetIdentifier.op_Implicit(ShaderIDs.DepthOfFieldTex), propertySheet, 2);
		context.GetScreenSpaceTemporaryRT(command, ShaderIDs.DepthOfFieldTemp, 0, colorFormat, (RenderTextureReadWrite)0, (FilterMode)1, context.width / 2, context.height / 2);
		command.BlitFullscreenTriangle(RenderTargetIdentifier.op_Implicit(ShaderIDs.DepthOfFieldTex), RenderTargetIdentifier.op_Implicit(ShaderIDs.DepthOfFieldTemp), propertySheet, (int)(3 + base.settings.kernelSize.value));
		command.BlitFullscreenTriangle(RenderTargetIdentifier.op_Implicit(ShaderIDs.DepthOfFieldTemp), RenderTargetIdentifier.op_Implicit(ShaderIDs.DepthOfFieldTex), propertySheet, 7);
		command.ReleaseTemporaryRT(ShaderIDs.DepthOfFieldTemp);
		if (context.IsDebugOverlayEnabled(DebugOverlay.DepthOfField))
		{
			context.PushDebugOverlay(command, context.source, propertySheet, 9);
		}
		command.BlitFullscreenTriangle(context.source, context.destination, propertySheet, 8);
		command.ReleaseTemporaryRT(ShaderIDs.DepthOfFieldTex);
		if (!context.IsTemporalAntialiasingActive())
		{
			command.ReleaseTemporaryRT(ShaderIDs.CoCTex);
		}
		command.EndSample("DepthOfField");
		m_ResetHistory = false;
	}

	public override void Release()
	{
		for (int i = 0; i < 2; i++)
		{
			for (int j = 0; j < m_CoCHistoryTextures[i].Length; j++)
			{
				RenderTexture.ReleaseTemporary(m_CoCHistoryTextures[i][j]);
				m_CoCHistoryTextures[i][j] = null;
			}
			m_HistoryPingPong[i] = 0;
		}
		ResetHistory();
	}
}
[Serializable]
[Preserve]
internal sealed class Dithering
{
	private int m_NoiseTextureIndex;

	private Random m_Random = new Random(1234);

	internal void Render(PostProcessRenderContext context)
	{
		//IL_0090: Unknown result type (might be due to invalid IL or missing references)
		Texture2D[] blueNoise = context.resources.blueNoise64;
		if (++m_NoiseTextureIndex >= blueNoise.Length)
		{
			m_NoiseTextureIndex = 0;
		}
		float num = (float)m_Random.NextDouble();
		float num2 = (float)m_Random.NextDouble();
		Texture2D val = blueNoise[m_NoiseTextureIndex];
		PropertySheet uberSheet = context.uberSheet;
		uberSheet.properties.SetTexture(ShaderIDs.DitheringTex, (Texture)(object)val);
		uberSheet.properties.SetVector(ShaderIDs.Dithering_Coords, new Vector4((float)context.screenWidth / (float)((Texture)val).width, (float)context.screenHeight / (float)((Texture)val).height, num, num2));
	}
}
[Serializable]
[Preserve]
public sealed class FastApproximateAntialiasing
{
	[FormerlySerializedAs("mobileOptimized")]
	[Tooltip("Boost performances by lowering the effect quality. This setting is meant to be used on mobile and other low-end platforms but can also provide a nice performance boost on desktops and consoles.")]
	public bool fastMode;

	[Tooltip("Keep alpha channel. This will slightly lower the effect quality but allows rendering against a transparent background.")]
	public bool keepAlpha;
}
[Serializable]
[Preserve]
public sealed class Fog
{
	[Tooltip("Enables the internal deferred fog pass. Actual fog settings should be set in the Lighting panel.")]
	public bool enabled = true;

	[Tooltip("Mark true for the fog to ignore the skybox")]
	public bool excludeSkybox = true;

	internal DepthTextureMode GetCameraFlags()
	{
		return (DepthTextureMode)1;
	}

	internal bool IsEnabledAndSupported(PostProcessRenderContext context)
	{
		//IL_004a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0050: Invalid comparison between Unknown and I4
		if (enabled && RenderSettings.fog && !RuntimeUtilities.scriptableRenderPipelineActive && Object.op_Implicit((Object)(object)context.resources.shaders.deferredFog) && context.resources.shaders.deferredFog.isSupported)
		{
			return (int)context.camera.actualRenderingPath == 3;
		}
		return false;
	}

	internal void Render(PostProcessRenderContext context)
	{
		//IL_0030: Unknown result type (might be due to invalid IL or missing references)
		//IL_0035: Unknown result type (might be due to invalid IL or missing references)
		//IL_0038: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Unknown result type (might be due to invalid IL or missing references)
		//IL_003d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0049: Unknown result type (might be due to invalid IL or missing references)
		//IL_004a: Unknown result type (might be due to invalid IL or missing references)
		//IL_006e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0073: Unknown result type (might be due to invalid IL or missing references)
		//IL_0084: Unknown result type (might be due to invalid IL or missing references)
		//IL_008a: Unknown result type (might be due to invalid IL or missing references)
		PropertySheet propertySheet = context.propertySheets.Get(context.resources.shaders.deferredFog);
		propertySheet.ClearKeywords();
		Color val;
		if (!RuntimeUtilities.isLinearColorSpace)
		{
			val = RenderSettings.fogColor;
		}
		else
		{
			Color fogColor = RenderSettings.fogColor;
			val = ((Color)(ref fogColor)).linear;
		}
		Color val2 = val;
		propertySheet.properties.SetVector(ShaderIDs.FogColor, Color.op_Implicit(val2));
		propertySheet.properties.SetVector(ShaderIDs.FogParams, Vector4.op_Implicit(new Vector3(RenderSettings.fogDensity, RenderSettings.fogStartDistance, RenderSettings.fogEndDistance)));
		context.command.BlitFullscreenTriangle(context.source, context.destination, propertySheet, excludeSkybox ? 1 : 0);
	}
}
[Serializable]
[PostProcess(typeof(GrainRenderer), "Unity/Grain", true)]
public sealed class Grain : PostProcessEffectSettings
{
	[Tooltip("Enable the use of colored grain.")]
	public BoolParameter colored = new BoolParameter
	{
		value = true
	};

	[Range(0f, 1f)]
	[Tooltip("Grain strength. Higher values mean more visible grain.")]
	public FloatParameter intensity = new FloatParameter
	{
		value = 0f
	};

	[Range(0.3f, 3f)]
	[Tooltip("Grain particle size.")]
	public FloatParameter size = new FloatParameter
	{
		value = 1f
	};

	[Range(0f, 1f)]
	[DisplayName("Luminance Contribution")]
	[Tooltip("Controls the noise response curve based on scene luminance. Lower values mean less noise in dark areas.")]
	public FloatParameter lumContrib = new FloatParameter
	{
		value = 0.8f
	};

	public override bool IsEnabledAndSupported(PostProcessRenderContext context)
	{
		if (enabled.value)
		{
			return intensity.value > 0f;
		}
		return false;
	}
}
[Preserve]
internal sealed class GrainRenderer : PostProcessEffectRenderer<Grain>
{
	private RenderTexture m_GrainLookupRT;

	private const int k_SampleCount = 1024;

	private int m_SampleIndex;

	public override void Render(PostProcessRenderContext context)
	{
		//IL_0081: Unknown result type (might be due to invalid IL or missing references)
		//IL_0086: Unknown result type (might be due to invalid IL or missing references)
		//IL_008b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0092: Unknown result type (might be due to invalid IL or missing references)
		//IL_0099: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b0: Expected O, but got Unknown
		//IL_0114: Unknown result type (might be due to invalid IL or missing references)
		//IL_0119: Unknown result type (might be due to invalid IL or missing references)
		//IL_013a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0145: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_01de: Unknown result type (might be due to invalid IL or missing references)
		//IL_023e: Unknown result type (might be due to invalid IL or missing references)
		float realtimeSinceStartup = Time.realtimeSinceStartup;
		float num = HaltonSeq.Get(m_SampleIndex & 0x3FF, 2);
		float num2 = HaltonSeq.Get(m_SampleIndex & 0x3FF, 3);
		if (++m_SampleIndex >= 1024)
		{
			m_SampleIndex = 0;
		}
		if ((Object)(object)m_GrainLookupRT == (Object)null || !m_GrainLookupRT.IsCreated())
		{
			RuntimeUtilities.Destroy((Object)(object)m_GrainLookupRT);
			m_GrainLookupRT = new RenderTexture(128, 128, 0, GetLookupFormat())
			{
				filterMode = (FilterMode)1,
				wrapMode = (TextureWrapMode)0,
				anisoLevel = 0,
				name = "Grain Lookup Texture"
			};
			m_GrainLookupRT.Create();
		}
		PropertySheet propertySheet = context.propertySheets.Get(context.resources.shaders.grainBaker);
		propertySheet.properties.Clear();
		propertySheet.properties.SetFloat(ShaderIDs.Phase, realtimeSinceStartup % 10f);
		propertySheet.properties.SetVector(ShaderIDs.GrainNoiseParameters, Vector4.op_Implicit(new Vector3(12.9898f, 78.233f, 43758.547f)));
		context.command.BeginSample("GrainLookup");
		context.command.BlitFullscreenTriangle(RenderTargetIdentifier.op_Implicit((BuiltinRenderTextureType)0), RenderTargetIdentifier.op_Implicit((Texture)(object)m_GrainLookupRT), propertySheet, base.settings.colored.value ? 1 : 0);
		context.command.EndSample("GrainLookup");
		PropertySheet uberSheet = context.uberSheet;
		uberSheet.EnableKeyword("GRAIN");
		uberSheet.properties.SetTexture(ShaderIDs.GrainTex, (Texture)(object)m_GrainLookupRT);
		uberSheet.properties.SetVector(ShaderIDs.Grain_Params1, Vector4.op_Implicit(new Vector2(base.settings.lumContrib.value, base.settings.intensity.value * 20f)));
		uberSheet.properties.SetVector(ShaderIDs.Grain_Params2, new Vector4((float)context.width / (float)((Texture)m_GrainLookupRT).width / base.settings.size.value, (float)context.height / (float)((Texture)m_GrainLookupRT).height / base.settings.size.value, num, num2));
	}

	private RenderTextureFormat GetLookupFormat()
	{
		if (!((RenderTextureFormat)2).IsSupported())
		{
			return (RenderTextureFormat)0;
		}
		return (RenderTextureFormat)2;
	}

	public override void Release()
	{
		RuntimeUtilities.Destroy((Object)(object)m_GrainLookupRT);
		m_GrainLookupRT = null;
		m_SampleIndex = 0;
	}
}
[Serializable]
[PostProcess(typeof(LensDistortionRenderer), "Unity/Lens Distortion", true)]
public sealed class LensDistortion : PostProcessEffectSettings
{
	[Range(-100f, 100f)]
	[Tooltip("Total distortion amount.")]
	public FloatParameter intensity = new FloatParameter
	{
		value = 0f
	};

	[Range(0f, 1f)]
	[DisplayName("X Multiplier")]
	[Tooltip("Intensity multiplier on the x-axis. Set it to 0 to disable distortion on this axis.")]
	public FloatParameter intensityX = new FloatParameter
	{
		value = 1f
	};

	[Range(0f, 1f)]
	[DisplayName("Y Multiplier")]
	[Tooltip("Intensity multiplier on the y-axis. Set it to 0 to disable distortion on this axis.")]
	public FloatParameter intensityY = new FloatParameter
	{
		value = 1f
	};

	[Space]
	[Range(-1f, 1f)]
	[Tooltip("Distortion center point (x-axis).")]
	public FloatParameter centerX = new FloatParameter
	{
		value = 0f
	};

	[Range(-1f, 1f)]
	[Tooltip("Distortion center point (y-axis).")]
	public FloatParameter centerY = new FloatParameter
	{
		value = 0f
	};

	[Space]
	[Range(0.01f, 5f)]
	[Tooltip("Global screen scaling.")]
	public FloatParameter scale = new FloatParameter
	{
		value = 1f
	};

	public override bool IsEnabledAndSupported(PostProcessRenderContext context)
	{
		if (enabled.value && !Mathf.Approximately((float)intensity, 0f) && ((float)intensityX > 0f || (float)intensityY > 0f))
		{
			return !RuntimeUtilities.isVREnabled;
		}
		return false;
	}
}
[Preserve]
internal sealed class LensDistortionRenderer : PostProcessEffectRenderer<LensDistortion>
{
	public override void Render(PostProcessRenderContext context)
	{
		//IL_0111: Unknown result type (might be due to invalid IL or missing references)
		//IL_0121: Unknown result type (might be due to invalid IL or missing references)
		PropertySheet uberSheet = context.uberSheet;
		float val = 1.6f * Math.Max(Mathf.Abs(base.settings.intensity.value), 1f);
		float num = MathF.PI / 180f * Math.Min(160f, val);
		float num2 = 2f * Mathf.Tan(num * 0.5f);
		Vector4 val2 = default(Vector4);
		((Vector4)(ref val2))..ctor(base.settings.centerX.value, base.settings.centerY.value, Mathf.Max(base.settings.intensityX.value, 0.0001f), Mathf.Max(base.settings.intensityY.value, 0.0001f));
		Vector4 val3 = default(Vector4);
		((Vector4)(ref val3))..ctor((base.settings.intensity.value >= 0f) ? num : (1f / num), num2, 1f / base.settings.scale.value, base.settings.intensity.value);
		uberSheet.EnableKeyword("DISTORT");
		uberSheet.properties.SetVector(ShaderIDs.Distortion_CenterScale, val2);
		uberSheet.properties.SetVector(ShaderIDs.Distortion_Amount, val3);
	}
}
[Serializable]
[PostProcess(typeof(MotionBlurRenderer), "Unity/Motion Blur", false)]
public sealed class MotionBlur : PostProcessEffectSettings
{
	[Range(0f, 360f)]
	[Tooltip("The angle of rotary shutter. Larger values give longer exposure.")]
	public FloatParameter shutterAngle = new FloatParameter
	{
		value = 270f
	};

	[Range(4f, 32f)]
	[Tooltip("The amount of sample points. This affects quality and performance.")]
	public IntParameter sampleCount = new IntParameter
	{
		value = 10
	};

	public override bool IsEnabledAndSupported(PostProcessRenderContext context)
	{
		if (enabled.value && shutterAngle.value > 0f && SystemInfo.supportsMotionVectors && ((RenderTextureFormat)13).IsSupported())
		{
			return !RuntimeUtilities.isVREnabled;
		}
		return false;
	}
}
[Preserve]
internal sealed class MotionBlurRenderer : PostProcessEffectRenderer<MotionBlur>
{
	private enum Pass
	{
		VelocitySetup,
		TileMax1,
		TileMax2,
		TileMaxV,
		NeighborMax,
		Reconstruction
	}

	public override DepthTextureMode GetCameraFlags()
	{
		return (DepthTextureMode)5;
	}

	private void CreateTemporaryRT(PostProcessRenderContext context, int nameID, int width, int height, RenderTextureFormat RTFormat)
	{
		//IL_0008: Unknown result type (might be due to invalid IL or missing references)
		//IL_000b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0010: Unknown result type (might be due to invalid IL or missing references)
		//IL_0023: Unknown result type (might be due to invalid IL or missing references)
		CommandBuffer command = context.command;
		RenderTextureDescriptor descriptor = context.GetDescriptor(0, RTFormat, (RenderTextureReadWrite)1);
		((RenderTextureDescriptor)(ref descriptor)).width = width;
		((RenderTextureDescriptor)(ref descriptor)).height = height;
		command.GetTemporaryRT(nameID, descriptor, (FilterMode)0);
	}

	public override void Render(PostProcessRenderContext context)
	{
		//IL_0036: Unknown result type (might be due to invalid IL or missing references)
		//IL_0011: Unknown result type (might be due to invalid IL or missing references)
		//IL_0017: Unknown result type (might be due to invalid IL or missing references)
		//IL_0043: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0102: Unknown result type (might be due to invalid IL or missing references)
		//IL_0109: Unknown result type (might be due to invalid IL or missing references)
		//IL_013b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0144: Unknown result type (might be due to invalid IL or missing references)
		//IL_014b: Unknown result type (might be due to invalid IL or missing references)
		//IL_017d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0186: Unknown result type (might be due to invalid IL or missing references)
		//IL_018d: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_020a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0214: Unknown result type (might be due to invalid IL or missing references)
		//IL_0219: Unknown result type (might be due to invalid IL or missing references)
		//IL_0226: Unknown result type (might be due to invalid IL or missing references)
		//IL_0228: Unknown result type (might be due to invalid IL or missing references)
		//IL_026a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0273: Unknown result type (might be due to invalid IL or missing references)
		//IL_027a: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0312: Unknown result type (might be due to invalid IL or missing references)
		//IL_0318: Unknown result type (might be due to invalid IL or missing references)
		CommandBuffer command = context.command;
		if (m_ResetHistory)
		{
			command.BlitFullscreenTriangle(context.source, context.destination);
			m_ResetHistory = false;
			return;
		}
		RenderTextureFormat rTFormat = (RenderTextureFormat)13;
		RenderTextureFormat rTFormat2 = (RenderTextureFormat)(((RenderTextureFormat)8).IsSupported() ? 8 : 0);
		PropertySheet propertySheet = context.propertySheets.Get(context.resources.shaders.motionBlur);
		command.BeginSample("MotionBlur");
		int num = (int)(5f * (float)context.height / 100f);
		int num2 = ((num - 1) / 8 + 1) * 8;
		float num3 = (float)base.settings.shutterAngle / 360f;
		propertySheet.properties.SetFloat(ShaderIDs.VelocityScale, num3);
		propertySheet.properties.SetFloat(ShaderIDs.MaxBlurRadius, (float)num);
		propertySheet.properties.SetFloat(ShaderIDs.RcpMaxBlurRadius, 1f / (float)num);
		int velocityTex = ShaderIDs.VelocityTex;
		CreateTemporaryRT(context, velocityTex, context.width, context.height, rTFormat2);
		command.BlitFullscreenTriangle(RenderTargetIdentifier.op_Implicit((BuiltinRenderTextureType)0), RenderTargetIdentifier.op_Implicit(velocityTex), propertySheet, 0);
		int tile2RT = ShaderIDs.Tile2RT;
		CreateTemporaryRT(context, tile2RT, context.width / 2, context.height / 2, rTFormat);
		command.BlitFullscreenTriangle(RenderTargetIdentifier.op_Implicit(velocityTex), RenderTargetIdentifier.op_Implicit(tile2RT), propertySheet, 1);
		int tile4RT = ShaderIDs.Tile4RT;
		CreateTemporaryRT(context, tile4RT, context.width / 4, context.height / 4, rTFormat);
		command.BlitFullscreenTriangle(RenderTargetIdentifier.op_Implicit(tile2RT), RenderTargetIdentifier.op_Implicit(tile4RT), propertySheet, 2);
		command.ReleaseTemporaryRT(tile2RT);
		int tile8RT = ShaderIDs.Tile8RT;
		CreateTemporaryRT(context, tile8RT, context.width / 8, context.height / 8, rTFormat);
		command.BlitFullscreenTriangle(RenderTargetIdentifier.op_Implicit(tile4RT), RenderTargetIdentifier.op_Implicit(tile8RT), propertySheet, 2);
		command.ReleaseTemporaryRT(tile4RT);
		Vector2 val = Vector2.one * ((float)num2 / 8f - 1f) * -0.5f;
		propertySheet.properties.SetVector(ShaderIDs.TileMaxOffs, Vector4.op_Implicit(val));
		propertySheet.properties.SetFloat(ShaderIDs.TileMaxLoop, (float)(int)((float)num2 / 8f));
		int tileVRT = ShaderIDs.TileVRT;
		CreateTemporaryRT(context, tileVRT,