using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using UnityEngine;

namespace Obi
{
	// Token: 0x0200048A RID: 1162
	[Token(Token = "0x200048A")]
	[ExecuteInEditMode]
	[DisallowMultipleComponent]
	public abstract class ObiActor : MonoBehaviour, IObiSolverClient
	{
		// Token: 0x1400000C RID: 12
		// (add) Token: 0x0600292A RID: 10538 RVA: 0x0005A778 File Offset: 0x00058978
		// (remove) Token: 0x0600292B RID: 10539 RVA: 0x0005A7A8 File Offset: 0x000589A8
		[Token(Token = "0x1400000C")]
		public event EventHandler<ObiActor.ObiActorSolverArgs> OnAddedToSolver
		{
			[Token(Token = "0x600292A")]
			[Address(RVA = "0xED8540", Offset = "0xED7340", VA = "0x180ED8540")]
			[CompilerGenerated]
			add
			{
				EventHandler<ObiActor.ObiActorSolverArgs> onAddedToSolver = this.OnAddedToSolver;
				Delegate @delegate = Delegate.Combine(onAddedToSolver, value);
				if (@delegate == 0 || @delegate != 0)
				{
					while (@delegate != onAddedToSolver)
					{
					}
					return;
				}
				throw new InvalidCastException();
			}
			[Token(Token = "0x600292B")]
			[Address(RVA = "0xED8770", Offset = "0xED7570", VA = "0x180ED8770")]
			[CompilerGenerated]
			remove
			{
				EventHandler<ObiActor.ObiActorSolverArgs> onAddedToSolver = this.OnAddedToSolver;
				Delegate @delegate = Delegate.Remove(onAddedToSolver, value);
				if (@delegate == 0 || @delegate != 0)
				{
					while (@delegate != onAddedToSolver)
					{
					}
					return;
				}
				throw new InvalidCastException();
			}
		}

		// Token: 0x1400000D RID: 13
		// (add) Token: 0x0600292C RID: 10540 RVA: 0x0005A7D8 File Offset: 0x000589D8
		// (remove) Token: 0x0600292D RID: 10541 RVA: 0x0005A808 File Offset: 0x00058A08
		[Token(Token = "0x1400000D")]
		public event EventHandler<ObiActor.ObiActorSolverArgs> OnRemovedFromSolver
		{
			[Token(Token = "0x600292C")]
			[Address(RVA = "0xED85E0", Offset = "0xED73E0", VA = "0x180ED85E0")]
			[CompilerGenerated]
			add
			{
				EventHandler<ObiActor.ObiActorSolverArgs> onRemovedFromSolver = this.OnRemovedFromSolver;
				Delegate @delegate = Delegate.Combine(onRemovedFromSolver, value);
				if (@delegate == 0 || @delegate != 0)
				{
					while (@delegate != onRemovedFromSolver)
					{
					}
					return;
				}
				throw new InvalidCastException();
			}
			[Token(Token = "0x600292D")]
			[Address(RVA = "0xED8810", Offset = "0xED7610", VA = "0x180ED8810")]
			[CompilerGenerated]
			remove
			{
				EventHandler<ObiActor.ObiActorSolverArgs> onRemovedFromSolver = this.OnRemovedFromSolver;
				Delegate @delegate = Delegate.Remove(onRemovedFromSolver, value);
				if (@delegate == 0 || @delegate != 0)
				{
					while (@delegate != onRemovedFromSolver)
					{
					}
					return;
				}
				throw new InvalidCastException();
			}
		}

		// Token: 0x170002A7 RID: 679
		// (get) Token: 0x0600292E RID: 10542 RVA: 0x0005A838 File Offset: 0x00058A38
		// (set) Token: 0x0600292F RID: 10543 RVA: 0x0005A84C File Offset: 0x00058A4C
		[Token(Token = "0x170002A7")]
		public ObiSolver Solver
		{
			[Token(Token = "0x600292E")]
			[Address(RVA = "0x4754F0", Offset = "0x4742F0", VA = "0x1804754F0")]
			get
			{
				return this.solver;
			}
			[Token(Token = "0x600292F")]
			[Address(RVA = "0xED8980", Offset = "0xED7780", VA = "0x180ED8980")]
			set
			{
				if (this.solver != value)
				{
					int num = 0;
					bool flag = this.RemoveFromSolver(num);
					this.solver = value;
				}
			}
		}

		// Token: 0x170002A8 RID: 680
		// (get) Token: 0x06002930 RID: 10544 RVA: 0x0005A87C File Offset: 0x00058A7C
		// (set) Token: 0x06002931 RID: 10545 RVA: 0x0005A890 File Offset: 0x00058A90
		[Token(Token = "0x170002A8")]
		public ObiCollisionMaterial CollisionMaterial
		{
			[Token(Token = "0x6002930")]
			[Address(RVA = "0x31E490", Offset = "0x31D290", VA = "0x18031E490")]
			get
			{
				return this.collisionMaterial;
			}
			[Token(Token = "0x6002931")]
			[Address(RVA = "0xED88B0", Offset = "0xED76B0", VA = "0x180ED88B0")]
			set
			{
				if (this.collisionMaterial != value)
				{
					this.collisionMaterial = value;
					this.PushDataToSolver((ParticleData)((uint)512));
				}
			}
		}

		// Token: 0x170002A9 RID: 681
		// (get) Token: 0x06002932 RID: 10546 RVA: 0x0005A8C0 File Offset: 0x00058AC0
		[Token(Token = "0x170002A9")]
		public bool Initializing
		{
			[Token(Token = "0x6002932")]
			[Address(RVA = "0xED8760", Offset = "0xED7560", VA = "0x180ED8760")]
			get
			{
				return this.initializing;
			}
		}

		// Token: 0x170002AA RID: 682
		// (get) Token: 0x06002933 RID: 10547 RVA: 0x0005A8D4 File Offset: 0x00058AD4
		[Token(Token = "0x170002AA")]
		public bool Initialized
		{
			[Token(Token = "0x6002933")]
			[Address(RVA = "0xED8750", Offset = "0xED7550", VA = "0x180ED8750")]
			get
			{
				return this.initialized;
			}
		}

		// Token: 0x170002AB RID: 683
		// (get) Token: 0x06002934 RID: 10548 RVA: 0x0005A8E8 File Offset: 0x00058AE8
		[Token(Token = "0x170002AB")]
		public bool InSolver
		{
			[Token(Token = "0x6002934")]
			[Address(RVA = "0xED8740", Offset = "0xED7540", VA = "0x180ED8740")]
			get
			{
				return this.inSolver;
			}
		}

		// Token: 0x170002AC RID: 684
		// (get) Token: 0x06002935 RID: 10549 RVA: 0x0005A8FC File Offset: 0x00058AFC
		// (set) Token: 0x06002936 RID: 10550 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x170002AC")]
		public virtual bool SelfCollisions
		{
			[Token(Token = "0x6002935")]
			[Address(RVA = "0xAB46B0", Offset = "0xAB34B0", VA = "0x180AB46B0", Slot = "8")]
			get
			{
				return this.selfCollisions;
			}
			[Token(Token = "0x6002936")]
			[Address(RVA = "0xED8960", Offset = "0xED7760", VA = "0x180ED8960", Slot = "9")]
			set
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x170002AD RID: 685
		// (get) Token: 0x06002937 RID: 10551 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x170002AD")]
		public virtual Matrix4x4 ActorLocalToWorldMatrix
		{
			[Token(Token = "0x6002937")]
			[Address(RVA = "0xED8680", Offset = "0xED7480", VA = "0x180ED8680", Slot = "10")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x170002AE RID: 686
		// (get) Token: 0x06002938 RID: 10552 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x170002AE")]
		public virtual Matrix4x4 ActorWorldToLocalMatrix
		{
			[Token(Token = "0x6002938")]
			[Address(RVA = "0xED86E0", Offset = "0xED74E0", VA = "0x180ED86E0", Slot = "11")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x170002AF RID: 687
		// (get) Token: 0x06002939 RID: 10553 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x170002AF")]
		public virtual bool UsesCustomExternalForces
		{
			[Token(Token = "0x6002939")]
			[Address(RVA = "0x290BB0", Offset = "0x28F9B0", VA = "0x180290BB0", Slot = "12")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x0600293A RID: 10554 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600293A")]
		[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "13")]
		public virtual void Awake()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600293B RID: 10555 RVA: 0x0005A910 File Offset: 0x00058B10
		[Token(Token = "0x600293B")]
		[Address(RVA = "0xED8210", Offset = "0xED7010", VA = "0x180ED8210", Slot = "14")]
		public virtual void Start()
		{
			if (Application.isPlaying)
			{
				int num = 0;
				bool flag = ((IObiSolverClient)this).AddToSolver(num);
				return;
			}
		}

		// Token: 0x0600293C RID: 10556 RVA: 0x0005A934 File Offset: 0x00058B34
		[Token(Token = "0x600293C")]
		[Address(RVA = "0xED6790", Offset = "0xED5590", VA = "0x180ED6790", Slot = "15")]
		public virtual void OnDestroy()
		{
			int num = 0;
			bool flag = ((IObiSolverClient)this).AddToSolver(num);
		}

		// Token: 0x0600293D RID: 10557 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600293D")]
		[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "16")]
		public virtual void DestroyRequiredComponents()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600293E RID: 10558 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600293E")]
		[Address(RVA = "0xED6900", Offset = "0xED5700", VA = "0x180ED6900", Slot = "17")]
		public virtual void OnEnable()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600293F RID: 10559 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600293F")]
		[Address(RVA = "0xED67B0", Offset = "0xED55B0", VA = "0x180ED67B0", Slot = "18")]
		public virtual void OnDisable()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002940 RID: 10560 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002940")]
		[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "19")]
		public virtual void ResetActor()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002941 RID: 10561 RVA: 0x0005A94C File Offset: 0x00058B4C
		[Token(Token = "0x6002941")]
		[Address(RVA = "0xED83A0", Offset = "0xED71A0", VA = "0x180ED83A0", Slot = "20")]
		public virtual void UpdateParticlePhases()
		{
			if (this.inSolver)
			{
				int[] array = this.phases;
				int num = 0;
				if (num < array.Length)
				{
					int num2 = array[num];
					int num3 = 0;
					int num4 = Oni.MakePhase(Oni.GetGroupFromPhase(num2), (Oni.ParticlePhase)num3);
					array[0] = num4;
					num++;
					int[] array2 = this.phases;
				}
				this.PushDataToSolver((ParticleData)((uint)128));
			}
		}

		// Token: 0x06002942 RID: 10562 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002942")]
		[Address(RVA = "0xED6140", Offset = "0xED4F40", VA = "0x180ED6140", Slot = "21")]
		public virtual bool AddToSolver(object info)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002943 RID: 10563 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002943")]
		[Address(RVA = "0xED8250", Offset = "0xED7050", VA = "0x180ED8250")]
		public void UpdateDeformableTriangles()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002944 RID: 10564 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002944")]
		[Address(RVA = "0xED7DB0", Offset = "0xED6BB0", VA = "0x180ED7DB0", Slot = "22")]
		public virtual bool RemoveFromSolver(object info)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002945 RID: 10565 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002945")]
		[Address(RVA = "0xED7580", Offset = "0xED6380", VA = "0x180ED7580", Slot = "23")]
		public virtual void PushDataToSolver(ParticleData data = ParticleData.NONE)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002946 RID: 10566 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002946")]
		[Address(RVA = "0xED7140", Offset = "0xED5F40", VA = "0x180ED7140", Slot = "24")]
		public virtual void PullDataFromSolver(ParticleData data = ParticleData.NONE)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002947 RID: 10567 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002947")]
		[Address(RVA = "0xED6630", Offset = "0xED5430", VA = "0x180ED6630")]
		public Vector3 GetParticlePosition(int index)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002948 RID: 10568 RVA: 0x0005A9B4 File Offset: 0x00058BB4
		[Token(Token = "0x6002948")]
		[Address(RVA = "0x454840", Offset = "0x453640", VA = "0x180454840", Slot = "25")]
		public virtual bool GenerateTethers(ObiActor.TetherType type)
		{
			return true;
		}

		// Token: 0x06002949 RID: 10569 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002949")]
		[Address(RVA = "0xED6570", Offset = "0xED5370", VA = "0x180ED6570")]
		public void ClearTethers()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600294A RID: 10570 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600294A")]
		[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "26")]
		public virtual void OnSolverPreInterpolation()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600294B RID: 10571 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600294B")]
		[Address(RVA = "0xED6A60", Offset = "0xED5860", VA = "0x180ED6A60", Slot = "27")]
		public virtual void OnSolverStepBegin()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600294C RID: 10572 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600294C")]
		[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "28")]
		public virtual void OnSolverStepEnd()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600294D RID: 10573 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600294D")]
		[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "29")]
		public virtual void OnSolverFrameBegin()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600294E RID: 10574 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600294E")]
		[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "30")]
		public virtual void OnSolverFrameEnd()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600294F RID: 10575 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600294F")]
		[Address(RVA = "0x290BB0", Offset = "0x28F9B0", VA = "0x180290BB0", Slot = "31")]
		public virtual bool ReadParticlePropertyFromTexture(Texture2D source, Action<int, Color> onReadProperty)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002950 RID: 10576 RVA: 0x0005A9C4 File Offset: 0x00058BC4
		[Token(Token = "0x6002950")]
		[Address(RVA = "0xED8490", Offset = "0xED7290", VA = "0x180ED8490")]
		protected ObiActor()
		{
			Dictionary<Oni.ConstraintType, ObiBatchedConstraints> dictionary = new Dictionary();
			this.constraints = dictionary;
			int[] array = new int[0];
			this.deformableTriangles = array;
			base..ctor();
		}

		// Token: 0x04003277 RID: 12919
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4003277")]
		[Range(0f, 1f)]
		public float worldVelocityScale;

		// Token: 0x04003278 RID: 12920
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4003278")]
		[HideInInspector]
		public ObiCollisionMaterial collisionMaterial;

		// Token: 0x04003279 RID: 12921
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4003279")]
		[HideInInspector]
		[NonSerialized]
		public int[] particleIndices;

		// Token: 0x0400327A RID: 12922
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x400327A")]
		protected Dictionary<Oni.ConstraintType, ObiBatchedConstraints> constraints;

		// Token: 0x0400327B RID: 12923
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x400327B")]
		[HideInInspector]
		public bool[] active;

		// Token: 0x0400327C RID: 12924
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x400327C")]
		[HideInInspector]
		public Vector3[] positions;

		// Token: 0x0400327D RID: 12925
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x400327D")]
		[HideInInspector]
		public Vector4[] restPositions;

		// Token: 0x0400327E RID: 12926
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x400327E")]
		[HideInInspector]
		public Vector3[] velocities;

		// Token: 0x0400327F RID: 12927
		[FieldOffset(Offset = "0x68")]
		[Token(Token = "0x400327F")]
		[HideInInspector]
		public float[] invMasses;

		// Token: 0x04003280 RID: 12928
		[FieldOffset(Offset = "0x70")]
		[Token(Token = "0x4003280")]
		[HideInInspector]
		public float[] solidRadii;

		// Token: 0x04003281 RID: 12929
		[FieldOffset(Offset = "0x78")]
		[Token(Token = "0x4003281")]
		[HideInInspector]
		public int[] phases;

		// Token: 0x04003282 RID: 12930
		[FieldOffset(Offset = "0x80")]
		[Token(Token = "0x4003282")]
		[HideInInspector]
		public Color[] colors;

		// Token: 0x04003283 RID: 12931
		[FieldOffset(Offset = "0x88")]
		[Token(Token = "0x4003283")]
		[HideInInspector]
		public int[] deformableTriangles;

		// Token: 0x04003284 RID: 12932
		[FieldOffset(Offset = "0x90")]
		[Token(Token = "0x4003284")]
		[NonSerialized]
		protected int trianglesOffset;

		// Token: 0x04003285 RID: 12933
		[FieldOffset(Offset = "0x94")]
		[Token(Token = "0x4003285")]
		private bool inSolver;

		// Token: 0x04003286 RID: 12934
		[FieldOffset(Offset = "0x95")]
		[Token(Token = "0x4003286")]
		protected bool initializing;

		// Token: 0x04003287 RID: 12935
		[FieldOffset(Offset = "0x98")]
		[Token(Token = "0x4003287")]
		[HideInInspector]
		[SerializeField]
		protected ObiSolver solver;

		// Token: 0x04003288 RID: 12936
		[FieldOffset(Offset = "0xA0")]
		[Token(Token = "0x4003288")]
		[HideInInspector]
		[SerializeField]
		protected bool selfCollisions;

		// Token: 0x04003289 RID: 12937
		[FieldOffset(Offset = "0xA1")]
		[Token(Token = "0x4003289")]
		[SerializeField]
		[HideInInspector]
		protected bool initialized;

		// Token: 0x0200048B RID: 1163
		[Token(Token = "0x200048B")]
		public class ObiActorSolverArgs : EventArgs
		{
			// Token: 0x170002B0 RID: 688
			// (get) Token: 0x06002951 RID: 10577 RVA: 0x0005A9F4 File Offset: 0x00058BF4
			[Token(Token = "0x170002B0")]
			public ObiSolver Solver
			{
				[Token(Token = "0x6002951")]
				[Address(RVA = "0x2B4010", Offset = "0x2B2E10", VA = "0x1802B4010")]
				get
				{
					return this.solver;
				}
			}

			// Token: 0x06002952 RID: 10578 RVA: 0x0005AA08 File Offset: 0x00058C08
			[Token(Token = "0x6002952")]
			[Address(RVA = "0x69F370", Offset = "0x69E170", VA = "0x18069F370")]
			public ObiActorSolverArgs(ObiSolver solver)
			{
				/*
An exception occurred when decompiling this method (06002952)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void Obi.ObiActor/ObiActorSolverArgs::.ctor(Obi.ObiSolver)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	call:void(EventArgs::.ctor, ldloc:ObiActorSolverArgs[exp:EventArgs](this)); 	stfld:ObiSolver(ObiActorSolverArgs::solver, ldloc:ObiActorSolverArgs(this), ldloc:ObiSolver(solver)); }; 
   at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810
   at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 344
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
   --- End of inner exception stack trace ---
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
   at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1618
*/;
			}

			// Token: 0x0400328A RID: 12938
			[FieldOffset(Offset = "0x10")]
			[Token(Token = "0x400328A")]
			private ObiSolver solver;
		}

		// Token: 0x0200048C RID: 1164
		[Token(Token = "0x200048C")]
		public enum TetherType
		{
			// Token: 0x0400328C RID: 12940
			[Token(Token = "0x400328C")]
			AnchorToFixed,
			// Token: 0x0400328D RID: 12941
			[Token(Token = "0x400328D")]
			Hierarchical
		}
	}
}
