#pragma once

#include "il2cpp-config.h"

#ifndef _MSC_VER
# include <alloca.h>
#else
# include <malloc.h>
#endif

#include <stdint.h>
#include <assert.h>
#include <exception>


#include "codegen/il2cpp-codegen.h"
#include "mscorlib_System_Collections_Generic_List_1_gen1244034627MethodDeclarations.h"

// System.Void System.Collections.Generic.List`1<Option>::.ctor()
#define List_1__ctor_m2187120329(__this, method) ((  void (*) (List_1_t3736883045 *, const MethodInfo*))List_1__ctor_m3048469268_gshared)(__this, method)
// System.Void System.Collections.Generic.List`1<Option>::.ctor(System.Collections.Generic.IEnumerable`1<T>)
#define List_1__ctor_m785586710(__this, ___collection0, method) ((  void (*) (List_1_t3736883045 *, Il2CppObject*, const MethodInfo*))List_1__ctor_m1160795371_gshared)(__this, ___collection0, method)
// System.Void System.Collections.Generic.List`1<Option>::.ctor(System.Int32)
#define List_1__ctor_m2735054490(__this, ___capacity0, method) ((  void (*) (List_1_t3736883045 *, int32_t, const MethodInfo*))List_1__ctor_m3643386469_gshared)(__this, ___capacity0, method)
// System.Void System.Collections.Generic.List`1<Option>::.cctor()
#define List_1__cctor_m2894124548(__this /* static, unused */, method) ((  void (*) (Il2CppObject * /* static, unused */, const MethodInfo*))List_1__cctor_m3826137881_gshared)(__this /* static, unused */, method)
// System.Collections.Generic.IEnumerator`1<T> System.Collections.Generic.List`1<Option>::System.Collections.Generic.IEnumerable<T>.GetEnumerator()
#define List_1_System_Collections_Generic_IEnumerableU3CTU3E_GetEnumerator_m216800659(__this, method) ((  Il2CppObject* (*) (List_1_t3736883045 *, const MethodInfo*))List_1_System_Collections_Generic_IEnumerableU3CTU3E_GetEnumerator_m2808422246_gshared)(__this, method)
// System.Void System.Collections.Generic.List`1<Option>::System.Collections.ICollection.CopyTo(System.Array,System.Int32)
#define List_1_System_Collections_ICollection_CopyTo_m1194538651(__this, ___array0, ___arrayIndex1, method) ((  void (*) (List_1_t3736883045 *, Il2CppArray *, int32_t, const MethodInfo*))List_1_System_Collections_ICollection_CopyTo_m4034025648_gshared)(__this, ___array0, ___arrayIndex1, method)
// System.Collections.IEnumerator System.Collections.Generic.List`1<Option>::System.Collections.IEnumerable.GetEnumerator()
#define List_1_System_Collections_IEnumerable_GetEnumerator_m874625002(__this, method) ((  Il2CppObject * (*) (List_1_t3736883045 *, const MethodInfo*))List_1_System_Collections_IEnumerable_GetEnumerator_m1841330603_gshared)(__this, method)
// System.Int32 System.Collections.Generic.List`1<Option>::System.Collections.IList.Add(System.Object)
#define List_1_System_Collections_IList_Add_m1614160403(__this, ___item0, method) ((  int32_t (*) (List_1_t3736883045 *, Il2CppObject *, const MethodInfo*))List_1_System_Collections_IList_Add_m3794749222_gshared)(__this, ___item0, method)
// System.Boolean System.Collections.Generic.List`1<Option>::System.Collections.IList.Contains(System.Object)
#define List_1_System_Collections_IList_Contains_m2440244621(__this, ___item0, method) ((  bool (*) (List_1_t3736883045 *, Il2CppObject *, const MethodInfo*))List_1_System_Collections_IList_Contains_m2659633254_gshared)(__this, ___item0, method)
// System.Int32 System.Collections.Generic.List`1<Option>::System.Collections.IList.IndexOf(System.Object)
#define List_1_System_Collections_IList_IndexOf_m3835762411(__this, ___item0, method) ((  int32_t (*) (List_1_t3736883045 *, Il2CppObject *, const MethodInfo*))List_1_System_Collections_IList_IndexOf_m3431692926_gshared)(__this, ___item0, method)
// System.Void System.Collections.Generic.List`1<Option>::System.Collections.IList.Insert(System.Int32,System.Object)
#define List_1_System_Collections_IList_Insert_m3560757470(__this, ___index0, ___item1, method) ((  void (*) (List_1_t3736883045 *, int32_t, Il2CppObject *, const MethodInfo*))List_1_System_Collections_IList_Insert_m2067529129_gshared)(__this, ___index0, ___item1, method)
// System.Void System.Collections.Generic.List`1<Option>::System.Collections.IList.Remove(System.Object)
#define List_1_System_Collections_IList_Remove_m1569832842(__this, ___item0, method) ((  void (*) (List_1_t3736883045 *, Il2CppObject *, const MethodInfo*))List_1_System_Collections_IList_Remove_m1644145887_gshared)(__this, ___item0, method)
// System.Boolean System.Collections.Generic.List`1<Option>::System.Collections.Generic.ICollection<T>.get_IsReadOnly()
#define List_1_System_Collections_Generic_ICollectionU3CTU3E_get_IsReadOnly_m1925271886(__this, method) ((  bool (*) (List_1_t3736883045 *, const MethodInfo*))List_1_System_Collections_Generic_ICollectionU3CTU3E_get_IsReadOnly_m1299706087_gshared)(__this, method)
// System.Boolean System.Collections.Generic.List`1<Option>::System.Collections.ICollection.get_IsSynchronized()
#define List_1_System_Collections_ICollection_get_IsSynchronized_m706028207(__this, method) ((  bool (*) (List_1_t3736883045 *, const MethodInfo*))List_1_System_Collections_ICollection_get_IsSynchronized_m3867536694_gshared)(__this, method)
// System.Object System.Collections.Generic.List`1<Option>::System.Collections.ICollection.get_SyncRoot()
#define List_1_System_Collections_ICollection_get_SyncRoot_m75635745(__this, method) ((  Il2CppObject * (*) (List_1_t3736883045 *, const MethodInfo*))List_1_System_Collections_ICollection_get_SyncRoot_m4244374434_gshared)(__this, method)
// System.Boolean System.Collections.Generic.List`1<Option>::System.Collections.IList.get_IsFixedSize()
#define List_1_System_Collections_IList_get_IsFixedSize_m3130739388(__this, method) ((  bool (*) (List_1_t3736883045 *, const MethodInfo*))List_1_System_Collections_IList_get_IsFixedSize_m432946261_gshared)(__this, method)
// System.Boolean System.Collections.Generic.List`1<Option>::System.Collections.IList.get_IsReadOnly()
#define List_1_System_Collections_IList_get_IsReadOnly_m3325947069(__this, method) ((  bool (*) (List_1_t3736883045 *, const MethodInfo*))List_1_System_Collections_IList_get_IsReadOnly_m2961826820_gshared)(__this, method)
// System.Object System.Collections.Generic.List`1<Option>::System.Collections.IList.get_Item(System.Int32)
#define List_1_System_Collections_IList_get_Item_m737118568(__this, ___index0, method) ((  Il2CppObject * (*) (List_1_t3736883045 *, int32_t, const MethodInfo*))List_1_System_Collections_IList_get_Item_m3985478825_gshared)(__this, ___index0, method)
// System.Void System.Collections.Generic.List`1<Option>::System.Collections.IList.set_Item(System.Int32,System.Object)
#define List_1_System_Collections_IList_set_Item_m3707913525(__this, ___index0, ___value1, method) ((  void (*) (List_1_t3736883045 *, int32_t, Il2CppObject *, const MethodInfo*))List_1_System_Collections_IList_set_Item_m3234554688_gshared)(__this, ___index0, ___value1, method)
// System.Void System.Collections.Generic.List`1<Option>::Add(T)
#define List_1_Add_m1307620502(__this, ___item0, method) ((  void (*) (List_1_t3736883045 *, Option_t2368697493 *, const MethodInfo*))List_1_Add_m642669291_gshared)(__this, ___item0, method)
// System.Void System.Collections.Generic.List`1<Option>::GrowIfNeeded(System.Int32)
#define List_1_GrowIfNeeded_m2413935569(__this, ___newCount0, method) ((  void (*) (List_1_t3736883045 *, int32_t, const MethodInfo*))List_1_GrowIfNeeded_m4122600870_gshared)(__this, ___newCount0, method)
// System.Void System.Collections.Generic.List`1<Option>::AddCollection(System.Collections.Generic.ICollection`1<T>)
#define List_1_AddCollection_m1279692495(__this, ___collection0, method) ((  void (*) (List_1_t3736883045 *, Il2CppObject*, const MethodInfo*))List_1_AddCollection_m2478449828_gshared)(__this, ___collection0, method)
// System.Void System.Collections.Generic.List`1<Option>::AddEnumerable(System.Collections.Generic.IEnumerable`1<T>)
#define List_1_AddEnumerable_m540664719(__this, ___enumerable0, method) ((  void (*) (List_1_t3736883045 *, Il2CppObject*, const MethodInfo*))List_1_AddEnumerable_m1739422052_gshared)(__this, ___enumerable0, method)
// System.Void System.Collections.Generic.List`1<Option>::AddRange(System.Collections.Generic.IEnumerable`1<T>)
#define List_1_AddRange_m4187803048(__this, ___collection0, method) ((  void (*) (List_1_t3736883045 *, Il2CppObject*, const MethodInfo*))List_1_AddRange_m2229151411_gshared)(__this, ___collection0, method)
// System.Collections.ObjectModel.ReadOnlyCollection`1<T> System.Collections.Generic.List`1<Option>::AsReadOnly()
#define List_1_AsReadOnly_m145099741(__this, method) ((  ReadOnlyCollection_1_t3925775029 * (*) (List_1_t3736883045 *, const MethodInfo*))List_1_AsReadOnly_m769820182_gshared)(__this, method)
// System.Void System.Collections.Generic.List`1<Option>::Clear()
#define List_1_Clear_m3888220916(__this, method) ((  void (*) (List_1_t3736883045 *, const MethodInfo*))List_1_Clear_m454602559_gshared)(__this, method)
// System.Boolean System.Collections.Generic.List`1<Option>::Contains(T)
#define List_1_Contains_m325556070(__this, ___item0, method) ((  bool (*) (List_1_t3736883045 *, Option_t2368697493 *, const MethodInfo*))List_1_Contains_m4186092781_gshared)(__this, ___item0, method)
// System.Void System.Collections.Generic.List`1<Option>::CopyTo(T[],System.Int32)
#define List_1_CopyTo_m3450266374(__this, ___array0, ___arrayIndex1, method) ((  void (*) (List_1_t3736883045 *, OptionU5BU5D_t4108387704*, int32_t, const MethodInfo*))List_1_CopyTo_m3988356635_gshared)(__this, ___array0, ___arrayIndex1, method)
// T System.Collections.Generic.List`1<Option>::Find(System.Predicate`1<T>)
#define List_1_Find_m2322656000(__this, ___match0, method) ((  Option_t2368697493 * (*) (List_1_t3736883045 *, Predicate_1_t1979754376 *, const MethodInfo*))List_1_Find_m3379773421_gshared)(__this, ___match0, method)
// System.Void System.Collections.Generic.List`1<Option>::CheckMatch(System.Predicate`1<T>)
#define List_1_CheckMatch_m1952662173(__this /* static, unused */, ___match0, method) ((  void (*) (Il2CppObject * /* static, unused */, Predicate_1_t1979754376 *, const MethodInfo*))List_1_CheckMatch_m3390394152_gshared)(__this /* static, unused */, ___match0, method)
// System.Int32 System.Collections.Generic.List`1<Option>::GetIndex(System.Int32,System.Int32,System.Predicate`1<T>)
#define List_1_GetIndex_m2197888634(__this, ___startIndex0, ___count1, ___match2, method) ((  int32_t (*) (List_1_t3736883045 *, int32_t, int32_t, Predicate_1_t1979754376 *, const MethodInfo*))List_1_GetIndex_m4275988045_gshared)(__this, ___startIndex0, ___count1, ___match2, method)
// System.Void System.Collections.Generic.List`1<Option>::ForEach(System.Action`1<T>)
#define List_1_ForEach_m1665438001(__this, ___action0, method) ((  void (*) (List_1_t3736883045 *, Action_1_t2764513629 *, const MethodInfo*))List_1_ForEach_m2030348444_gshared)(__this, ___action0, method)
// System.Collections.Generic.List`1/Enumerator<T> System.Collections.Generic.List`1<Option>::GetEnumerator()
#define List_1_GetEnumerator_m2585703843(__this, method) ((  Enumerator_t3756555815  (*) (List_1_t3736883045 *, const MethodInfo*))List_1_GetEnumerator_m2326457258_gshared)(__this, method)
// System.Int32 System.Collections.Generic.List`1<Option>::IndexOf(T)
#define List_1_IndexOf_m2821727826(__this, ___item0, method) ((  int32_t (*) (List_1_t3736883045 *, Option_t2368697493 *, const MethodInfo*))List_1_IndexOf_m1752303327_gshared)(__this, ___item0, method)
// System.Void System.Collections.Generic.List`1<Option>::Shift(System.Int32,System.Int32)
#define List_1_Shift_m1543918429(__this, ___start0, ___delta1, method) ((  void (*) (List_1_t3736883045 *, int32_t, int32_t, const MethodInfo*))List_1_Shift_m3807054194_gshared)(__this, ___start0, ___delta1, method)
// System.Void System.Collections.Generic.List`1<Option>::CheckIndex(System.Int32)
#define List_1_CheckIndex_m3196633558(__this, ___index0, method) ((  void (*) (List_1_t3736883045 *, int32_t, const MethodInfo*))List_1_CheckIndex_m3734723819_gshared)(__this, ___index0, method)
// System.Void System.Collections.Generic.List`1<Option>::Insert(System.Int32,T)
#define List_1_Insert_m1603142397(__this, ___index0, ___item1, method) ((  void (*) (List_1_t3736883045 *, int32_t, Option_t2368697493 *, const MethodInfo*))List_1_Insert_m3427163986_gshared)(__this, ___index0, ___item1, method)
// System.Void System.Collections.Generic.List`1<Option>::CheckCollection(System.Collections.Generic.IEnumerable`1<T>)
#define List_1_CheckCollection_m1950509490(__this, ___collection0, method) ((  void (*) (List_1_t3736883045 *, Il2CppObject*, const MethodInfo*))List_1_CheckCollection_m2905071175_gshared)(__this, ___collection0, method)
// System.Boolean System.Collections.Generic.List`1<Option>::Remove(T)
#define List_1_Remove_m3896965345(__this, ___item0, method) ((  bool (*) (List_1_t3736883045 *, Option_t2368697493 *, const MethodInfo*))List_1_Remove_m2747911208_gshared)(__this, ___item0, method)
// System.Int32 System.Collections.Generic.List`1<Option>::RemoveAll(System.Predicate`1<T>)
#define List_1_RemoveAll_m3253568661(__this, ___match0, method) ((  int32_t (*) (List_1_t3736883045 *, Predicate_1_t1979754376 *, const MethodInfo*))List_1_RemoveAll_m2933443938_gshared)(__this, ___match0, method)
// System.Void System.Collections.Generic.List`1<Option>::RemoveAt(System.Int32)
#define List_1_RemoveAt_m3771962563(__this, ___index0, method) ((  void (*) (List_1_t3736883045 *, int32_t, const MethodInfo*))List_1_RemoveAt_m1301016856_gshared)(__this, ___index0, method)
// System.Void System.Collections.Generic.List`1<Option>::Reverse()
#define List_1_Reverse_m2413870016(__this, method) ((  void (*) (List_1_t3736883045 *, const MethodInfo*))List_1_Reverse_m449081940_gshared)(__this, method)
// System.Void System.Collections.Generic.List`1<Option>::Sort()
#define List_1_Sort_m1833592697(__this, method) ((  void (*) (List_1_t3736883045 *, const MethodInfo*))List_1_Sort_m1168641486_gshared)(__this, method)
// System.Void System.Collections.Generic.List`1<Option>::Sort(System.Comparison`1<T>)
#define List_1_Sort_m2842338060(__this, ___comparison0, method) ((  void (*) (List_1_t3736883045 *, Comparison_1_t1085058680 *, const MethodInfo*))List_1_Sort_m4192185249_gshared)(__this, ___comparison0, method)
// T[] System.Collections.Generic.List`1<Option>::ToArray()
#define List_1_ToArray_m363050658(__this, method) ((  OptionU5BU5D_t4108387704* (*) (List_1_t3736883045 *, const MethodInfo*))List_1_ToArray_m238588755_gshared)(__this, method)
// System.Void System.Collections.Generic.List`1<Option>::TrimExcess()
#define List_1_TrimExcess_m1487030354(__this, method) ((  void (*) (List_1_t3736883045 *, const MethodInfo*))List_1_TrimExcess_m2451380967_gshared)(__this, method)
// System.Int32 System.Collections.Generic.List`1<Option>::get_Capacity()
#define List_1_get_Capacity_m206611842(__this, method) ((  int32_t (*) (List_1_t3736883045 *, const MethodInfo*))List_1_get_Capacity_m543520655_gshared)(__this, method)
// System.Void System.Collections.Generic.List`1<Option>::set_Capacity(System.Int32)
#define List_1_set_Capacity_m3919091683(__this, ___value0, method) ((  void (*) (List_1_t3736883045 *, int32_t, const MethodInfo*))List_1_set_Capacity_m1332789688_gshared)(__this, ___value0, method)
// System.Int32 System.Collections.Generic.List`1<Option>::get_Count()
#define List_1_get_Count_m1391524201(__this, method) ((  int32_t (*) (List_1_t3736883045 *, const MethodInfo*))List_1_get_Count_m2599103100_gshared)(__this, method)
// T System.Collections.Generic.List`1<Option>::get_Item(System.Int32)
#define List_1_get_Item_m1050326147(__this, ___index0, method) ((  Option_t2368697493 * (*) (List_1_t3736883045 *, int32_t, const MethodInfo*))List_1_get_Item_m2771401372_gshared)(__this, ___index0, method)
// System.Void System.Collections.Generic.List`1<Option>::set_Item(System.Int32,T)
#define List_1_set_Item_m536180884(__this, ___index0, ___value1, method) ((  void (*) (List_1_t3736883045 *, int32_t, Option_t2368697493 *, const MethodInfo*))List_1_set_Item_m1074271145_gshared)(__this, ___index0, ___value1, method)
