// Autogenerated from CppHeaderCreator
// Created by Sc2ad
// =========================================================================
#pragma once
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
#include <initializer_list>
#include "beatsaber-hook/shared/utils/byref.hpp"
// Including type: System.IDisposable
#include "System/IDisposable.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.Threading.IThreadPoolWorkItem
#include "System/Threading/IThreadPoolWorkItem.hpp"
// Including type: System.Int32
#include "System/Int32.hpp"
// Including type: System.Threading.Tasks.TaskCreationOptions
#include "System/Threading/Tasks/TaskCreationOptions.hpp"
// Including type: System.Threading.CancellationToken
#include "System/Threading/CancellationToken.hpp"
// Including type: System.Threading.Tasks.InternalTaskOptions
#include "System/Threading/Tasks/InternalTaskOptions.hpp"
// Including type: System.Threading.Tasks.TaskContinuationOptions
#include "System/Threading/Tasks/TaskContinuationOptions.hpp"
// Including type: System.Threading.StackCrawlMark
#include "System/Threading/StackCrawlMark.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils-properties.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils-fields.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
#include "beatsaber-hook/shared/utils/typedefs-array.hpp"
// Completed includes
// Begin forward declares
// Forward declaring namespace: System::Threading::Tasks
namespace System::Threading::Tasks {
  // Forward declaring type: TaskScheduler
  class TaskScheduler;
  // Forward declaring type: StackGuard
  class StackGuard;
  // Forward declaring type: TaskFactory
  class TaskFactory;
  // Forward declaring type: TaskContinuation
  class TaskContinuation;
  // Forward declaring type: TaskStatus
  struct TaskStatus;
  // Forward declaring type: ITaskCompletionAction
  class ITaskCompletionAction;
  // Forward declaring type: Task`1<TResult>
  template<typename TResult>
  class Task_1;
}
// Forward declaring namespace: System::Collections::Generic
namespace System::Collections::Generic {
  // Forward declaring type: Dictionary`2<TKey, TValue>
  template<typename TKey, typename TValue>
  class Dictionary_2;
  // Forward declaring type: IEnumerable`1<T>
  template<typename T>
  class IEnumerable_1;
}
// Forward declaring namespace: System
namespace System {
  // Forward declaring type: Action`1<T>
  template<typename T>
  class Action_1;
  // Forward declaring type: Func`1<TResult>
  template<typename TResult>
  class Func_1;
  // Forward declaring type: Predicate`1<T>
  template<typename T>
  class Predicate_1;
  // Forward declaring type: AggregateException
  class AggregateException;
  // Forward declaring type: Delegate
  class Delegate;
  // Forward declaring type: Exception
  class Exception;
  // Forward declaring type: Action
  class Action;
  // Forward declaring type: OperationCanceledException
  class OperationCanceledException;
  // Forward declaring type: Action`2<T1, T2>
  template<typename T1, typename T2>
  class Action_2;
  // Forward declaring type: Func`2<T, TResult>
  template<typename T, typename TResult>
  class Func_2;
}
// Forward declaring namespace: System::Threading
namespace System::Threading {
  // Forward declaring type: ContextCallback
  class ContextCallback;
  // Forward declaring type: WaitHandle
  class WaitHandle;
  // Forward declaring type: ManualResetEventSlim
  class ManualResetEventSlim;
  // Forward declaring type: ExecutionContext
  class ExecutionContext;
  // Forward declaring type: ThreadAbortException
  class ThreadAbortException;
}
// Forward declaring namespace: System::Collections::ObjectModel
namespace System::Collections::ObjectModel {
  // Forward declaring type: ReadOnlyCollection`1<T>
  template<typename T>
  class ReadOnlyCollection_1;
}
// Forward declaring namespace: System::Runtime::ExceptionServices
namespace System::Runtime::ExceptionServices {
  // Forward declaring type: ExceptionDispatchInfo
  class ExceptionDispatchInfo;
}
// Forward declaring namespace: System::Runtime::CompilerServices
namespace System::Runtime::CompilerServices {
  // Forward declaring type: TaskAwaiter
  struct TaskAwaiter;
  // Forward declaring type: ConfiguredTaskAwaitable
  struct ConfiguredTaskAwaitable;
  // Forward declaring type: YieldAwaitable
  struct YieldAwaitable;
}
// Completed forward declares
// Type namespace: System.Threading.Tasks
namespace System::Threading::Tasks {
  // Forward declaring type: Task
  class Task;
}
#include "beatsaber-hook/shared/utils/il2cpp-type-check.hpp"
NEED_NO_BOX(::System::Threading::Tasks::Task);
DEFINE_IL2CPP_ARG_TYPE(::System::Threading::Tasks::Task*, "System.Threading.Tasks", "Task");
// Type namespace: System.Threading.Tasks
namespace System::Threading::Tasks {
  // Size: 0x50
  #pragma pack(push, 1)
  // Autogenerated type: System.Threading.Tasks.Task
  // [TokenAttribute] Offset: FFFFFFFF
  // [DebuggerTypeProxyAttribute] Offset: 57B1C0
  // [DebuggerDisplayAttribute] Offset: 57B1C0
  class Task : public ::Il2CppObject/*, public ::System::IDisposable, public ::System::IAsyncResult, public ::System::Threading::IThreadPoolWorkItem*/ {
    public:
    // Nested type: ::System::Threading::Tasks::Task::ContingentProperties
    class ContingentProperties;
    // Nested type: ::System::Threading::Tasks::Task::SetOnInvokeMres
    class SetOnInvokeMres;
    // Nested type: ::System::Threading::Tasks::Task::DelayPromise
    class DelayPromise;
    // Nested type: ::System::Threading::Tasks::Task::$$c__DisplayClass178_0
    class $$c__DisplayClass178_0;
    // Nested type: ::System::Threading::Tasks::Task::$$c
    class $$c;
    #ifdef USE_CODEGEN_FIELDS
    public:
    #else
    #ifdef CODEGEN_FIELD_ACCESSIBILITY
    CODEGEN_FIELD_ACCESSIBILITY:
    #else
    protected:
    #endif
    #endif
    // private System.Int32 m_taskId
    // Size: 0x4
    // Offset: 0x10
    int m_taskId;
    // Field size check
    static_assert(sizeof(int) == 0x4);
    // Padding between fields: m_taskId and: m_action
    char __padding0[0x4] = {};
    // System.Object m_action
    // Size: 0x8
    // Offset: 0x18
    ::Il2CppObject* m_action;
    // Field size check
    static_assert(sizeof(::Il2CppObject*) == 0x8);
    // System.Object m_stateObject
    // Size: 0x8
    // Offset: 0x20
    ::Il2CppObject* m_stateObject;
    // Field size check
    static_assert(sizeof(::Il2CppObject*) == 0x8);
    // System.Threading.Tasks.TaskScheduler m_taskScheduler
    // Size: 0x8
    // Offset: 0x28
    ::System::Threading::Tasks::TaskScheduler* m_taskScheduler;
    // Field size check
    static_assert(sizeof(::System::Threading::Tasks::TaskScheduler*) == 0x8);
    // readonly System.Threading.Tasks.Task m_parent
    // Size: 0x8
    // Offset: 0x30
    ::System::Threading::Tasks::Task* m_parent;
    // Field size check
    static_assert(sizeof(::System::Threading::Tasks::Task*) == 0x8);
    // System.Int32 m_stateFlags
    // Size: 0x4
    // Offset: 0x38
    int m_stateFlags;
    // Field size check
    static_assert(sizeof(int) == 0x4);
    // Padding between fields: m_stateFlags and: m_continuationObject
    char __padding5[0x4] = {};
    // private System.Object m_continuationObject
    // Size: 0x8
    // Offset: 0x40
    ::Il2CppObject* m_continuationObject;
    // Field size check
    static_assert(sizeof(::Il2CppObject*) == 0x8);
    // System.Threading.Tasks.Task/System.Threading.Tasks.ContingentProperties m_contingentProperties
    // Size: 0x8
    // Offset: 0x48
    ::System::Threading::Tasks::Task::ContingentProperties* m_contingentProperties;
    // Field size check
    static_assert(sizeof(::System::Threading::Tasks::Task::ContingentProperties*) == 0x8);
    public:
    // Creating interface conversion operator: operator ::System::IDisposable
    operator ::System::IDisposable() noexcept {
      return *reinterpret_cast<::System::IDisposable*>(this);
    }
    // Creating interface conversion operator: operator ::System::IAsyncResult
    operator ::System::IAsyncResult() noexcept {
      return *reinterpret_cast<::System::IAsyncResult*>(this);
    }
    // Creating interface conversion operator: operator ::System::Threading::IThreadPoolWorkItem
    operator ::System::Threading::IThreadPoolWorkItem() noexcept {
      return *reinterpret_cast<::System::Threading::IThreadPoolWorkItem*>(this);
    }
    // Get static field: static System.Threading.Tasks.Task t_currentTask
    static ::System::Threading::Tasks::Task* _get_t_currentTask();
    // Set static field: static System.Threading.Tasks.Task t_currentTask
    static void _set_t_currentTask(::System::Threading::Tasks::Task* value);
    // Get static field: static private System.Threading.Tasks.StackGuard t_stackGuard
    static ::System::Threading::Tasks::StackGuard* _get_t_stackGuard();
    // Set static field: static private System.Threading.Tasks.StackGuard t_stackGuard
    static void _set_t_stackGuard(::System::Threading::Tasks::StackGuard* value);
    // Get static field: static System.Int32 s_taskIdCounter
    static int _get_s_taskIdCounter();
    // Set static field: static System.Int32 s_taskIdCounter
    static void _set_s_taskIdCounter(int value);
    // Get static field: static private readonly System.Threading.Tasks.TaskFactory s_factory
    static ::System::Threading::Tasks::TaskFactory* _get_s_factory();
    // Set static field: static private readonly System.Threading.Tasks.TaskFactory s_factory
    static void _set_s_factory(::System::Threading::Tasks::TaskFactory* value);
    // static field const value: static private System.Int32 OptionsMask
    static constexpr const int OptionsMask = 65535;
    // Get static field: static private System.Int32 OptionsMask
    static int _get_OptionsMask();
    // Set static field: static private System.Int32 OptionsMask
    static void _set_OptionsMask(int value);
    // static field const value: static System.Int32 TASK_STATE_STARTED
    static constexpr const int TASK_STATE_STARTED = 65536;
    // Get static field: static System.Int32 TASK_STATE_STARTED
    static int _get_TASK_STATE_STARTED();
    // Set static field: static System.Int32 TASK_STATE_STARTED
    static void _set_TASK_STATE_STARTED(int value);
    // static field const value: static System.Int32 TASK_STATE_DELEGATE_INVOKED
    static constexpr const int TASK_STATE_DELEGATE_INVOKED = 131072;
    // Get static field: static System.Int32 TASK_STATE_DELEGATE_INVOKED
    static int _get_TASK_STATE_DELEGATE_INVOKED();
    // Set static field: static System.Int32 TASK_STATE_DELEGATE_INVOKED
    static void _set_TASK_STATE_DELEGATE_INVOKED(int value);
    // static field const value: static System.Int32 TASK_STATE_DISPOSED
    static constexpr const int TASK_STATE_DISPOSED = 262144;
    // Get static field: static System.Int32 TASK_STATE_DISPOSED
    static int _get_TASK_STATE_DISPOSED();
    // Set static field: static System.Int32 TASK_STATE_DISPOSED
    static void _set_TASK_STATE_DISPOSED(int value);
    // static field const value: static System.Int32 TASK_STATE_EXCEPTIONOBSERVEDBYPARENT
    static constexpr const int TASK_STATE_EXCEPTIONOBSERVEDBYPARENT = 524288;
    // Get static field: static System.Int32 TASK_STATE_EXCEPTIONOBSERVEDBYPARENT
    static int _get_TASK_STATE_EXCEPTIONOBSERVEDBYPARENT();
    // Set static field: static System.Int32 TASK_STATE_EXCEPTIONOBSERVEDBYPARENT
    static void _set_TASK_STATE_EXCEPTIONOBSERVEDBYPARENT(int value);
    // static field const value: static System.Int32 TASK_STATE_CANCELLATIONACKNOWLEDGED
    static constexpr const int TASK_STATE_CANCELLATIONACKNOWLEDGED = 1048576;
    // Get static field: static System.Int32 TASK_STATE_CANCELLATIONACKNOWLEDGED
    static int _get_TASK_STATE_CANCELLATIONACKNOWLEDGED();
    // Set static field: static System.Int32 TASK_STATE_CANCELLATIONACKNOWLEDGED
    static void _set_TASK_STATE_CANCELLATIONACKNOWLEDGED(int value);
    // static field const value: static System.Int32 TASK_STATE_FAULTED
    static constexpr const int TASK_STATE_FAULTED = 2097152;
    // Get static field: static System.Int32 TASK_STATE_FAULTED
    static int _get_TASK_STATE_FAULTED();
    // Set static field: static System.Int32 TASK_STATE_FAULTED
    static void _set_TASK_STATE_FAULTED(int value);
    // static field const value: static System.Int32 TASK_STATE_CANCELED
    static constexpr const int TASK_STATE_CANCELED = 4194304;
    // Get static field: static System.Int32 TASK_STATE_CANCELED
    static int _get_TASK_STATE_CANCELED();
    // Set static field: static System.Int32 TASK_STATE_CANCELED
    static void _set_TASK_STATE_CANCELED(int value);
    // static field const value: static System.Int32 TASK_STATE_WAITING_ON_CHILDREN
    static constexpr const int TASK_STATE_WAITING_ON_CHILDREN = 8388608;
    // Get static field: static System.Int32 TASK_STATE_WAITING_ON_CHILDREN
    static int _get_TASK_STATE_WAITING_ON_CHILDREN();
    // Set static field: static System.Int32 TASK_STATE_WAITING_ON_CHILDREN
    static void _set_TASK_STATE_WAITING_ON_CHILDREN(int value);
    // static field const value: static System.Int32 TASK_STATE_RAN_TO_COMPLETION
    static constexpr const int TASK_STATE_RAN_TO_COMPLETION = 16777216;
    // Get static field: static System.Int32 TASK_STATE_RAN_TO_COMPLETION
    static int _get_TASK_STATE_RAN_TO_COMPLETION();
    // Set static field: static System.Int32 TASK_STATE_RAN_TO_COMPLETION
    static void _set_TASK_STATE_RAN_TO_COMPLETION(int value);
    // static field const value: static System.Int32 TASK_STATE_WAITINGFORACTIVATION
    static constexpr const int TASK_STATE_WAITINGFORACTIVATION = 33554432;
    // Get static field: static System.Int32 TASK_STATE_WAITINGFORACTIVATION
    static int _get_TASK_STATE_WAITINGFORACTIVATION();
    // Set static field: static System.Int32 TASK_STATE_WAITINGFORACTIVATION
    static void _set_TASK_STATE_WAITINGFORACTIVATION(int value);
    // static field const value: static System.Int32 TASK_STATE_COMPLETION_RESERVED
    static constexpr const int TASK_STATE_COMPLETION_RESERVED = 67108864;
    // Get static field: static System.Int32 TASK_STATE_COMPLETION_RESERVED
    static int _get_TASK_STATE_COMPLETION_RESERVED();
    // Set static field: static System.Int32 TASK_STATE_COMPLETION_RESERVED
    static void _set_TASK_STATE_COMPLETION_RESERVED(int value);
    // static field const value: static System.Int32 TASK_STATE_THREAD_WAS_ABORTED
    static constexpr const int TASK_STATE_THREAD_WAS_ABORTED = 134217728;
    // Get static field: static System.Int32 TASK_STATE_THREAD_WAS_ABORTED
    static int _get_TASK_STATE_THREAD_WAS_ABORTED();
    // Set static field: static System.Int32 TASK_STATE_THREAD_WAS_ABORTED
    static void _set_TASK_STATE_THREAD_WAS_ABORTED(int value);
    // static field const value: static System.Int32 TASK_STATE_WAIT_COMPLETION_NOTIFICATION
    static constexpr const int TASK_STATE_WAIT_COMPLETION_NOTIFICATION = 268435456;
    // Get static field: static System.Int32 TASK_STATE_WAIT_COMPLETION_NOTIFICATION
    static int _get_TASK_STATE_WAIT_COMPLETION_NOTIFICATION();
    // Set static field: static System.Int32 TASK_STATE_WAIT_COMPLETION_NOTIFICATION
    static void _set_TASK_STATE_WAIT_COMPLETION_NOTIFICATION(int value);
    // static field const value: static System.Int32 TASK_STATE_EXECUTIONCONTEXT_IS_NULL
    static constexpr const int TASK_STATE_EXECUTIONCONTEXT_IS_NULL = 536870912;
    // Get static field: static System.Int32 TASK_STATE_EXECUTIONCONTEXT_IS_NULL
    static int _get_TASK_STATE_EXECUTIONCONTEXT_IS_NULL();
    // Set static field: static System.Int32 TASK_STATE_EXECUTIONCONTEXT_IS_NULL
    static void _set_TASK_STATE_EXECUTIONCONTEXT_IS_NULL(int value);
    // static field const value: static System.Int32 TASK_STATE_TASKSCHEDULED_WAS_FIRED
    static constexpr const int TASK_STATE_TASKSCHEDULED_WAS_FIRED = 1073741824;
    // Get static field: static System.Int32 TASK_STATE_TASKSCHEDULED_WAS_FIRED
    static int _get_TASK_STATE_TASKSCHEDULED_WAS_FIRED();
    // Set static field: static System.Int32 TASK_STATE_TASKSCHEDULED_WAS_FIRED
    static void _set_TASK_STATE_TASKSCHEDULED_WAS_FIRED(int value);
    // static field const value: static private System.Int32 TASK_STATE_COMPLETED_MASK
    static constexpr const int TASK_STATE_COMPLETED_MASK = 23068672;
    // Get static field: static private System.Int32 TASK_STATE_COMPLETED_MASK
    static int _get_TASK_STATE_COMPLETED_MASK();
    // Set static field: static private System.Int32 TASK_STATE_COMPLETED_MASK
    static void _set_TASK_STATE_COMPLETED_MASK(int value);
    // static field const value: static private System.Int32 CANCELLATION_REQUESTED
    static constexpr const int CANCELLATION_REQUESTED = 1;
    // Get static field: static private System.Int32 CANCELLATION_REQUESTED
    static int _get_CANCELLATION_REQUESTED();
    // Set static field: static private System.Int32 CANCELLATION_REQUESTED
    static void _set_CANCELLATION_REQUESTED(int value);
    // Get static field: static private readonly System.Object s_taskCompletionSentinel
    static ::Il2CppObject* _get_s_taskCompletionSentinel();
    // Set static field: static private readonly System.Object s_taskCompletionSentinel
    static void _set_s_taskCompletionSentinel(::Il2CppObject* value);
    // [FriendAccessAllowedAttribute] Offset: 0x57FC9C
    // Get static field: static System.Boolean s_asyncDebuggingEnabled
    static bool _get_s_asyncDebuggingEnabled();
    // Set static field: static System.Boolean s_asyncDebuggingEnabled
    static void _set_s_asyncDebuggingEnabled(bool value);
    // Get static field: static private readonly System.Collections.Generic.Dictionary`2<System.Int32,System.Threading.Tasks.Task> s_currentActiveTasks
    static ::System::Collections::Generic::Dictionary_2<int, ::System::Threading::Tasks::Task*>* _get_s_currentActiveTasks();
    // Set static field: static private readonly System.Collections.Generic.Dictionary`2<System.Int32,System.Threading.Tasks.Task> s_currentActiveTasks
    static void _set_s_currentActiveTasks(::System::Collections::Generic::Dictionary_2<int, ::System::Threading::Tasks::Task*>* value);
    // Get static field: static private readonly System.Object s_activeTasksLock
    static ::Il2CppObject* _get_s_activeTasksLock();
    // Set static field: static private readonly System.Object s_activeTasksLock
    static void _set_s_activeTasksLock(::Il2CppObject* value);
    // Get static field: static private readonly System.Action`1<System.Object> s_taskCancelCallback
    static ::System::Action_1<::Il2CppObject*>* _get_s_taskCancelCallback();
    // Set static field: static private readonly System.Action`1<System.Object> s_taskCancelCallback
    static void _set_s_taskCancelCallback(::System::Action_1<::Il2CppObject*>* value);
    // Get static field: static private readonly System.Func`1<System.Threading.Tasks.Task/System.Threading.Tasks.ContingentProperties> s_createContingentProperties
    static ::System::Func_1<::System::Threading::Tasks::Task::ContingentProperties*>* _get_s_createContingentProperties();
    // Set static field: static private readonly System.Func`1<System.Threading.Tasks.Task/System.Threading.Tasks.ContingentProperties> s_createContingentProperties
    static void _set_s_createContingentProperties(::System::Func_1<::System::Threading::Tasks::Task::ContingentProperties*>* value);
    // Get static field: static private System.Threading.Tasks.Task s_completedTask
    static ::System::Threading::Tasks::Task* _get_s_completedTask();
    // Set static field: static private System.Threading.Tasks.Task s_completedTask
    static void _set_s_completedTask(::System::Threading::Tasks::Task* value);
    // Get static field: static private readonly System.Predicate`1<System.Threading.Tasks.Task> s_IsExceptionObservedByParentPredicate
    static ::System::Predicate_1<::System::Threading::Tasks::Task*>* _get_s_IsExceptionObservedByParentPredicate();
    // Set static field: static private readonly System.Predicate`1<System.Threading.Tasks.Task> s_IsExceptionObservedByParentPredicate
    static void _set_s_IsExceptionObservedByParentPredicate(::System::Predicate_1<::System::Threading::Tasks::Task*>* value);
    // Get static field: static private System.Threading.ContextCallback s_ecCallback
    static ::System::Threading::ContextCallback* _get_s_ecCallback();
    // Set static field: static private System.Threading.ContextCallback s_ecCallback
    static void _set_s_ecCallback(::System::Threading::ContextCallback* value);
    // Get static field: static private readonly System.Predicate`1<System.Object> s_IsTaskContinuationNullPredicate
    static ::System::Predicate_1<::Il2CppObject*>* _get_s_IsTaskContinuationNullPredicate();
    // Set static field: static private readonly System.Predicate`1<System.Object> s_IsTaskContinuationNullPredicate
    static void _set_s_IsTaskContinuationNullPredicate(::System::Predicate_1<::Il2CppObject*>* value);
    // Get instance field reference: private System.Int32 m_taskId
    int& dyn_m_taskId();
    // Get instance field reference: System.Object m_action
    ::Il2CppObject*& dyn_m_action();
    // Get instance field reference: System.Object m_stateObject
    ::Il2CppObject*& dyn_m_stateObject();
    // Get instance field reference: System.Threading.Tasks.TaskScheduler m_taskScheduler
    ::System::Threading::Tasks::TaskScheduler*& dyn_m_taskScheduler();
    // Get instance field reference: readonly System.Threading.Tasks.Task m_parent
    ::System::Threading::Tasks::Task*& dyn_m_parent();
    // Get instance field reference: System.Int32 m_stateFlags
    int& dyn_m_stateFlags();
    // Get instance field reference: private System.Object m_continuationObject
    ::Il2CppObject*& dyn_m_continuationObject();
    // Get instance field reference: System.Threading.Tasks.Task/System.Threading.Tasks.ContingentProperties m_contingentProperties
    ::System::Threading::Tasks::Task::ContingentProperties*& dyn_m_contingentProperties();
    // System.Threading.Tasks.TaskCreationOptions get_Options()
    // Offset: 0xEF8E1C
    ::System::Threading::Tasks::TaskCreationOptions get_Options();
    // System.Boolean get_IsWaitNotificationEnabledOrNotRanToCompletion()
    // Offset: 0xEF97C4
    bool get_IsWaitNotificationEnabledOrNotRanToCompletion();
    // System.Boolean get_ShouldNotifyDebuggerOfWaitCompletion()
    // Offset: 0xEF97F8
    bool get_ShouldNotifyDebuggerOfWaitCompletion();
    // System.Boolean get_IsWaitNotificationEnabled()
    // Offset: 0xEF9774
    bool get_IsWaitNotificationEnabled();
    // public System.Int32 get_Id()
    // Offset: 0xEF83D8
    int get_Id();
    // static System.Threading.Tasks.Task get_InternalCurrent()
    // Offset: 0xEF9CD8
    static ::System::Threading::Tasks::Task* get_InternalCurrent();
    // static System.Threading.Tasks.StackGuard get_CurrentStackGuard()
    // Offset: 0xEF9DE8
    static ::System::Threading::Tasks::StackGuard* get_CurrentStackGuard();
    // public System.AggregateException get_Exception()
    // Offset: 0xEF9EA0
    ::System::AggregateException* get_Exception();
    // public System.Threading.Tasks.TaskStatus get_Status()
    // Offset: 0xEFA060
    ::System::Threading::Tasks::TaskStatus get_Status();
    // public System.Boolean get_IsCanceled()
    // Offset: 0xEFA0CC
    bool get_IsCanceled();
    // System.Boolean get_IsCancellationRequested()
    // Offset: 0xEFA0F8
    bool get_IsCancellationRequested();
    // System.Threading.CancellationToken get_CancellationToken()
    // Offset: 0xEFA228
    ::System::Threading::CancellationToken get_CancellationToken();
    // System.Boolean get_IsCancellationAcknowledged()
    // Offset: 0xEFA258
    bool get_IsCancellationAcknowledged();
    // public System.Boolean get_IsCompleted()
    // Offset: 0xEFA27C
    bool get_IsCompleted();
    // System.Boolean get_IsRanToCompletion()
    // Offset: 0xEFA2FC
    bool get_IsRanToCompletion();
    // public System.Threading.Tasks.TaskCreationOptions get_CreationOptions()
    // Offset: 0xEF8A10
    ::System::Threading::Tasks::TaskCreationOptions get_CreationOptions();
    // private System.Threading.WaitHandle System.IAsyncResult.get_AsyncWaitHandle()
    // Offset: 0xEFA330
    ::System::Threading::WaitHandle* System_IAsyncResult_get_AsyncWaitHandle();
    // public System.Object get_AsyncState()
    // Offset: 0xEFA4BC
    ::Il2CppObject* get_AsyncState();
    // private System.Boolean System.IAsyncResult.get_CompletedSynchronously()
    // Offset: 0xEFA4C4
    bool System_IAsyncResult_get_CompletedSynchronously();
    // System.Threading.Tasks.TaskScheduler get_ExecutingTaskScheduler()
    // Offset: 0xEFA4CC
    ::System::Threading::Tasks::TaskScheduler* get_ExecutingTaskScheduler();
    // static public System.Threading.Tasks.TaskFactory get_Factory()
    // Offset: 0xEFA4D4
    static ::System::Threading::Tasks::TaskFactory* get_Factory();
    // static public System.Threading.Tasks.Task get_CompletedTask()
    // Offset: 0xEFA538
    static ::System::Threading::Tasks::Task* get_CompletedTask();
    // System.Threading.ManualResetEventSlim get_CompletedEvent()
    // Offset: 0xEFA3C0
    ::System::Threading::ManualResetEventSlim* get_CompletedEvent();
    // System.Boolean get_IsSelfReplicatingRoot()
    // Offset: 0xEF9830
    bool get_IsSelfReplicatingRoot();
    // System.Boolean get_IsChildReplica()
    // Offset: 0xEFA5E0
    bool get_IsChildReplica();
    // System.Boolean get_ExceptionRecorded()
    // Offset: 0xEFA5F8
    bool get_ExceptionRecorded();
    // public System.Boolean get_IsFaulted()
    // Offset: 0xEF9EE0
    bool get_IsFaulted();
    // System.Threading.ExecutionContext get_CapturedContext()
    // Offset: 0xEFA678
    ::System::Threading::ExecutionContext* get_CapturedContext();
    // System.Void set_CapturedContext(System.Threading.ExecutionContext value)
    // Offset: 0xEF94E0
    void set_CapturedContext(::System::Threading::ExecutionContext* value);
    // System.Boolean get_IsExceptionObservedByParent()
    // Offset: 0xEFB460
    bool get_IsExceptionObservedByParent();
    // System.Boolean get_IsDelegateInvoked()
    // Offset: 0xEFB484
    bool get_IsDelegateInvoked();
    // System.Object get_SavedStateForNextReplica()
    // Offset: 0xEFC5F8
    ::Il2CppObject* get_SavedStateForNextReplica();
    // System.Void set_SavedStateFromPreviousReplica(System.Object value)
    // Offset: 0xEFC600
    void set_SavedStateFromPreviousReplica(::Il2CppObject* value);
    // System.Threading.Tasks.Task get_HandedOverChildReplica()
    // Offset: 0xEFC604
    ::System::Threading::Tasks::Task* get_HandedOverChildReplica();
    // System.Void set_HandedOverChildReplica(System.Threading.Tasks.Task value)
    // Offset: 0xEFC60C
    void set_HandedOverChildReplica(::System::Threading::Tasks::Task* value);
    // System.Void .ctor(System.Boolean canceled, System.Threading.Tasks.TaskCreationOptions creationOptions, System.Threading.CancellationToken ct)
    // Offset: 0xEF85C8
    template<::il2cpp_utils::CreationType creationType = ::il2cpp_utils::CreationType::Temporary>
    static Task* New_ctor(bool canceled, ::System::Threading::Tasks::TaskCreationOptions creationOptions, ::System::Threading::CancellationToken ct) {
      static auto ___internal__logger = ::Logger::get().WithContext("::System::Threading::Tasks::Task::.ctor");
      return THROW_UNLESS((::il2cpp_utils::New<Task*, creationType>(canceled, creationOptions, ct)));
    }
    // System.Void .ctor(System.Object state, System.Threading.Tasks.TaskCreationOptions creationOptions, System.Boolean promiseStyle)
    // Offset: 0xEF86BC
    template<::il2cpp_utils::CreationType creationType = ::il2cpp_utils::CreationType::Temporary>
    static Task* New_ctor(::Il2CppObject* state, ::System::Threading::Tasks::TaskCreationOptions creationOptions, bool promiseStyle) {
      static auto ___internal__logger = ::Logger::get().WithContext("::System::Threading::Tasks::Task::.ctor");
      return THROW_UNLESS((::il2cpp_utils::New<Task*, creationType>(state, creationOptions, promiseStyle)));
    }
    // System.Void .ctor(System.Delegate action, System.Object state, System.Threading.Tasks.Task parent, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskCreationOptions creationOptions, System.Threading.Tasks.InternalTaskOptions internalOptions, System.Threading.Tasks.TaskScheduler scheduler)
    // Offset: 0xEF893C
    template<::il2cpp_utils::CreationType creationType = ::il2cpp_utils::CreationType::Temporary>
    static Task* New_ctor(::System::Delegate* action, ::Il2CppObject* state, ::System::Threading::Tasks::Task* parent, ::System::Threading::CancellationToken cancellationToken, ::System::Threading::Tasks::TaskCreationOptions creationOptions, ::System::Threading::Tasks::InternalTaskOptions internalOptions, ::System::Threading::Tasks::TaskScheduler* scheduler) {
      static auto ___internal__logger = ::Logger::get().WithContext("::System::Threading::Tasks::Task::.ctor");
      return THROW_UNLESS((::il2cpp_utils::New<Task*, creationType>(action, state, parent, cancellationToken, creationOptions, internalOptions, scheduler)));
    }
    // static private System.Void .cctor()
    // Offset: 0xEFF638
    static void _cctor();
    // static System.Boolean AddToActiveTasks(System.Threading.Tasks.Task task)
    // Offset: 0xEF825C
    static bool AddToActiveTasks(::System::Threading::Tasks::Task* task);
    // static System.Void RemoveFromActiveTasks(System.Int32 taskId)
    // Offset: 0xEF846C
    static void RemoveFromActiveTasks(int taskId);
    // System.Void TaskConstructorCore(System.Object action, System.Object state, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskCreationOptions creationOptions, System.Threading.Tasks.InternalTaskOptions internalOptions, System.Threading.Tasks.TaskScheduler scheduler)
    // Offset: 0xEF87F8
    void TaskConstructorCore(::Il2CppObject* action, ::Il2CppObject* state, ::System::Threading::CancellationToken cancellationToken, ::System::Threading::Tasks::TaskCreationOptions creationOptions, ::System::Threading::Tasks::InternalTaskOptions internalOptions, ::System::Threading::Tasks::TaskScheduler* scheduler);
    // private System.Void AssignCancellationToken(System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.Task antecedent, System.Threading.Tasks.TaskContinuation continuation)
    // Offset: 0xEF8AC8
    void AssignCancellationToken(::System::Threading::CancellationToken cancellationToken, ::System::Threading::Tasks::Task* antecedent, ::System::Threading::Tasks::TaskContinuation* continuation);
    // static private System.Void TaskCancelCallback(System.Object o)
    // Offset: 0xEF90E4
    static void TaskCancelCallback(::Il2CppObject* o);
    // System.Void PossiblyCaptureContext(ref System.Threading.StackCrawlMark stackMark)
    // Offset: 0xEF9460
    void PossiblyCaptureContext(ByRef<::System::Threading::StackCrawlMark> stackMark);
    // static System.Threading.Tasks.TaskCreationOptions OptionsMethod(System.Int32 flags)
    // Offset: 0xEF955C
    static ::System::Threading::Tasks::TaskCreationOptions OptionsMethod(int flags);
    // System.Boolean AtomicStateUpdate(System.Int32 newBits, System.Int32 illegalBits)
    // Offset: 0xEF9564
    bool AtomicStateUpdate(int newBits, int illegalBits);
    // System.Boolean AtomicStateUpdate(System.Int32 newBits, System.Int32 illegalBits, ref System.Int32 oldFlags)
    // Offset: 0xEF95F8
    bool AtomicStateUpdate(int newBits, int illegalBits, ByRef<int> oldFlags);
    // System.Void SetNotificationForWaitCompletion(System.Boolean enabled)
    // Offset: 0xEF969C
    void SetNotificationForWaitCompletion(bool enabled);
    // System.Boolean NotifyDebuggerOfWaitCompletionIfNecessary()
    // Offset: 0xEF9720
    bool NotifyDebuggerOfWaitCompletionIfNecessary();
    // private System.Void NotifyDebuggerOfWaitCompletion()
    // Offset: 0xEF9798
    void NotifyDebuggerOfWaitCompletion();
    // System.Boolean MarkStarted()
    // Offset: 0xEF981C
    bool MarkStarted();
    // System.Boolean FireTaskScheduledIfNeeded(System.Threading.Tasks.TaskScheduler ts)
    // Offset: 0xEF9828
    bool FireTaskScheduledIfNeeded(::System::Threading::Tasks::TaskScheduler* ts);
    // System.Void AddNewChild()
    // Offset: 0xEF8A28
    void AddNewChild();
    // System.Void DisregardChild()
    // Offset: 0xEF9094
    void DisregardChild();
    // static System.Threading.Tasks.Task InternalStartNew(System.Threading.Tasks.Task creatingTask, System.Delegate action, System.Object state, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskScheduler scheduler, System.Threading.Tasks.TaskCreationOptions options, System.Threading.Tasks.InternalTaskOptions internalOptions, ref System.Threading.StackCrawlMark stackMark)
    // Offset: 0xEF9854
    static ::System::Threading::Tasks::Task* InternalStartNew(::System::Threading::Tasks::Task* creatingTask, ::System::Delegate* action, ::Il2CppObject* state, ::System::Threading::CancellationToken cancellationToken, ::System::Threading::Tasks::TaskScheduler* scheduler, ::System::Threading::Tasks::TaskCreationOptions options, ::System::Threading::Tasks::InternalTaskOptions internalOptions, ByRef<::System::Threading::StackCrawlMark> stackMark);
    // static System.Int32 NewId()
    // Offset: 0xEF9C6C
    static int NewId();
    // static System.Threading.Tasks.Task InternalCurrentIfAttached(System.Threading.Tasks.TaskCreationOptions creationOptions)
    // Offset: 0xEF9D3C
    static ::System::Threading::Tasks::Task* InternalCurrentIfAttached(::System::Threading::Tasks::TaskCreationOptions creationOptions);
    // System.Threading.Tasks.Task/System.Threading.Tasks.ContingentProperties EnsureContingentPropertiesInitialized(System.Boolean needsProtection)
    // Offset: 0xEF8DCC
    ::System::Threading::Tasks::Task::ContingentProperties* EnsureContingentPropertiesInitialized(bool needsProtection);
    // private System.Threading.Tasks.Task/System.Threading.Tasks.ContingentProperties EnsureContingentPropertiesInitializedCore(System.Boolean needsProtection)
    // Offset: 0xEFA14C
    ::System::Threading::Tasks::Task::ContingentProperties* EnsureContingentPropertiesInitializedCore(bool needsProtection);
    // static private System.Boolean IsCompletedMethod(System.Int32 flags)
    // Offset: 0xEFA2EC
    static bool IsCompletedMethod(int flags);
    // static private System.Threading.ExecutionContext CopyExecutionContext(System.Threading.ExecutionContext capturedContext)
    // Offset: 0xEFA740
    static ::System::Threading::ExecutionContext* CopyExecutionContext(::System::Threading::ExecutionContext* capturedContext);
    // public System.Void Dispose()
    // Offset: 0xEFA810
    void Dispose();
    // protected System.Void Dispose(System.Boolean disposing)
    // Offset: 0xEFA888
    void Dispose(bool disposing);
    // System.Void ScheduleAndStart(System.Boolean needsProtection)
    // Offset: 0xEF9978
    void ScheduleAndStart(bool needsProtection);
    // System.Void AddException(System.Object exceptionObject)
    // Offset: 0xEFA990
    void AddException(::Il2CppObject* exceptionObject);
    // System.Void AddException(System.Object exceptionObject, System.Boolean representsCancellation)
    // Offset: 0xEFAD00
    void AddException(::Il2CppObject* exceptionObject, bool representsCancellation);
    // private System.AggregateException GetExceptions(System.Boolean includeTaskCanceledExceptions)
    // Offset: 0xEF9F04
    ::System::AggregateException* GetExceptions(bool includeTaskCanceledExceptions);
    // System.Collections.ObjectModel.ReadOnlyCollection`1<System.Runtime.ExceptionServices.ExceptionDispatchInfo> GetExceptionDispatchInfos()
    // Offset: 0xEFB180
    ::System::Collections::ObjectModel::ReadOnlyCollection_1<::System::Runtime::ExceptionServices::ExceptionDispatchInfo*>* GetExceptionDispatchInfos();
    // System.Runtime.ExceptionServices.ExceptionDispatchInfo GetCancellationExceptionDispatchInfo()
    // Offset: 0xEFB2E8
    ::System::Runtime::ExceptionServices::ExceptionDispatchInfo* GetCancellationExceptionDispatchInfo();
    // System.Void ThrowIfExceptional(System.Boolean includeTaskCanceledExceptions)
    // Offset: 0xEFB324
    void ThrowIfExceptional(bool includeTaskCanceledExceptions);
    // System.Void UpdateExceptionObservedStatus()
    // Offset: 0xEFB370
    void UpdateExceptionObservedStatus();
    // System.Void Finish(System.Boolean bUserDelegateExecuted)
    // Offset: 0xEFAAB8
    void Finish(bool bUserDelegateExecuted);
    // System.Void FinishStageTwo()
    // Offset: 0xEFB4A8
    void FinishStageTwo();
    // System.Void FinishStageThree()
    // Offset: 0xEFB954
    void FinishStageThree();
    // System.Void ProcessChildCompletion(System.Threading.Tasks.Task childTask)
    // Offset: 0xEFB9A8
    void ProcessChildCompletion(::System::Threading::Tasks::Task* childTask);
    // System.Void AddExceptionsFromChildren()
    // Offset: 0xEFB70C
    void AddExceptionsFromChildren();
    // System.Void FinishThreadAbortedTask(System.Boolean bTAEAddedToExceptionHolder, System.Boolean delegateRan)
    // Offset: 0xEFA998
    void FinishThreadAbortedTask(bool bTAEAddedToExceptionHolder, bool delegateRan);
    // private System.Void Execute()
    // Offset: 0xEFC1B4
    void Execute();
    // System.Boolean ShouldReplicate()
    // Offset: 0xEFC540
    bool ShouldReplicate();
    // System.Threading.Tasks.Task CreateReplicaTask(System.Action`1<System.Object> taskReplicaDelegate, System.Object stateObject, System.Threading.Tasks.Task parentTask, System.Threading.Tasks.TaskScheduler taskScheduler, System.Threading.Tasks.TaskCreationOptions creationOptionsForReplica, System.Threading.Tasks.InternalTaskOptions internalOptionsForReplica)
    // Offset: 0xEFC548
    ::System::Threading::Tasks::Task* CreateReplicaTask(::System::Action_1<::Il2CppObject*>* taskReplicaDelegate, ::Il2CppObject* stateObject, ::System::Threading::Tasks::Task* parentTask, ::System::Threading::Tasks::TaskScheduler* taskScheduler, ::System::Threading::Tasks::TaskCreationOptions creationOptionsForReplica, ::System::Threading::Tasks::InternalTaskOptions internalOptionsForReplica);
    // static private System.Void ExecuteSelfReplicating(System.Threading.Tasks.Task root)
    // Offset: 0xEFC324
    static void ExecuteSelfReplicating(::System::Threading::Tasks::Task* root);
    // private System.Void System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
    // Offset: 0xEFC610
    void System_Threading_IThreadPoolWorkItem_ExecuteWorkItem();
    // private System.Void System.Threading.IThreadPoolWorkItem.MarkAborted(System.Threading.ThreadAbortException tae)
    // Offset: 0xEFC754
    void System_Threading_IThreadPoolWorkItem_MarkAborted(::System::Threading::ThreadAbortException* tae);
    // System.Boolean ExecuteEntry(System.Boolean bPreventDoubleExecution)
    // Offset: 0xEFC618
    bool ExecuteEntry(bool bPreventDoubleExecution);
    // private System.Void ExecuteWithThreadLocal(ref System.Threading.Tasks.Task currentTaskSlot)
    // Offset: 0xEFC7A0
    void ExecuteWithThreadLocal(ByRef<::System::Threading::Tasks::Task*> currentTaskSlot);
    // static private System.Void ExecutionContextCallback(System.Object obj)
    // Offset: 0xEFCAD8
    static void ExecutionContextCallback(::Il2CppObject* obj);
    // System.Void InnerInvoke()
    // Offset: 0xEFCB54
    void InnerInvoke();
    // System.Void InnerInvokeWithArg(System.Threading.Tasks.Task childTask)
    // Offset: 0xEFCC14
    void InnerInvokeWithArg(::System::Threading::Tasks::Task* childTask);
    // private System.Void HandleException(System.Exception unhandledException)
    // Offset: 0xEFC42C
    void HandleException(::System::Exception* unhandledException);
    // public System.Runtime.CompilerServices.TaskAwaiter GetAwaiter()
    // Offset: 0xEFCC78
    ::System::Runtime::CompilerServices::TaskAwaiter GetAwaiter();
    // public System.Runtime.CompilerServices.ConfiguredTaskAwaitable ConfigureAwait(System.Boolean continueOnCapturedContext)
    // Offset: 0xEFCC7C
    ::System::Runtime::CompilerServices::ConfiguredTaskAwaitable ConfigureAwait(bool continueOnCapturedContext);
    // System.Void SetContinuationForAwait(System.Action continuationAction, System.Boolean continueOnCapturedContext, System.Boolean flowExecutionContext, ref System.Threading.StackCrawlMark stackMark)
    // Offset: 0xEFCCB4
    void SetContinuationForAwait(::System::Action* continuationAction, bool continueOnCapturedContext, bool flowExecutionContext, ByRef<::System::Threading::StackCrawlMark> stackMark);
    // static public System.Runtime.CompilerServices.YieldAwaitable Yield()
    // Offset: 0xEFD0C4
    static ::System::Runtime::CompilerServices::YieldAwaitable Yield();
    // public System.Void Wait()
    // Offset: 0xEFD0CC
    void Wait();
    // public System.Boolean Wait(System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken)
    // Offset: 0xEFD0D8
    bool Wait(int millisecondsTimeout, ::System::Threading::CancellationToken cancellationToken);
    // private System.Boolean WrappedTryRunInline()
    // Offset: 0xEFD474
    bool WrappedTryRunInline();
    // System.Boolean InternalWait(System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken)
    // Offset: 0xEFD1F8
    bool InternalWait(int millisecondsTimeout, ::System::Threading::CancellationToken cancellationToken);
    // private System.Boolean SpinThenBlockingWait(System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken)
    // Offset: 0xEFD73C
    bool SpinThenBlockingWait(int millisecondsTimeout, ::System::Threading::CancellationToken cancellationToken);
    // private System.Boolean SpinWait(System.Int32 millisecondsTimeout)
    // Offset: 0xEFD904
    bool SpinWait(int millisecondsTimeout);
    // System.Boolean InternalCancel(System.Boolean bCancelNonExecutingOnly)
    // Offset: 0xEF8E84
    bool InternalCancel(bool bCancelNonExecutingOnly);
    // System.Void RecordInternalCancellationRequest()
    // Offset: 0xEFDAB0
    void RecordInternalCancellationRequest();
    // System.Void RecordInternalCancellationRequest(System.Threading.CancellationToken tokenToRecord)
    // Offset: 0xEFDAFC
    void RecordInternalCancellationRequest(::System::Threading::CancellationToken tokenToRecord);
    // System.Void RecordInternalCancellationRequest(System.Threading.CancellationToken tokenToRecord, System.Object cancellationException)
    // Offset: 0xEFDB94
    void RecordInternalCancellationRequest(::System::Threading::CancellationToken tokenToRecord, ::Il2CppObject* cancellationException);
    // System.Void CancellationCleanupLogic()
    // Offset: 0xEFC9C4
    void CancellationCleanupLogic();
    // private System.Void SetCancellationAcknowledged()
    // Offset: 0xEFCC48
    void SetCancellationAcknowledged();
    // System.Void FinishContinuations()
    // Offset: 0xEFBB6C
    void FinishContinuations();
    // private System.Void LogFinishCompletionNotification()
    // Offset: 0xEFDBD4
    void LogFinishCompletionNotification();
    // public System.Threading.Tasks.Task ContinueWith(System.Action`1<System.Threading.Tasks.Task> continuationAction)
    // Offset: 0xEFDC04
    ::System::Threading::Tasks::Task* ContinueWith(::System::Action_1<::System::Threading::Tasks::Task*>* continuationAction);
    // private System.Threading.Tasks.Task ContinueWith(System.Action`1<System.Threading.Tasks.Task> continuationAction, System.Threading.Tasks.TaskScheduler scheduler, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, ref System.Threading.StackCrawlMark stackMark)
    // Offset: 0xEFDD50
    ::System::Threading::Tasks::Task* ContinueWith(::System::Action_1<::System::Threading::Tasks::Task*>* continuationAction, ::System::Threading::Tasks::TaskScheduler* scheduler, ::System::Threading::CancellationToken cancellationToken, ::System::Threading::Tasks::TaskContinuationOptions continuationOptions, ByRef<::System::Threading::StackCrawlMark> stackMark);
    // public System.Threading.Tasks.Task ContinueWith(System.Action`2<System.Threading.Tasks.Task,System.Object> continuationAction, System.Object state, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler)
    // Offset: 0xEFE108
    ::System::Threading::Tasks::Task* ContinueWith(::System::Action_2<::System::Threading::Tasks::Task*, ::Il2CppObject*>* continuationAction, ::Il2CppObject* state, ::System::Threading::CancellationToken cancellationToken, ::System::Threading::Tasks::TaskContinuationOptions continuationOptions, ::System::Threading::Tasks::TaskScheduler* scheduler);
    // private System.Threading.Tasks.Task ContinueWith(System.Action`2<System.Threading.Tasks.Task,System.Object> continuationAction, System.Object state, System.Threading.Tasks.TaskScheduler scheduler, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, ref System.Threading.StackCrawlMark stackMark)
    // Offset: 0xEFE140
    ::System::Threading::Tasks::Task* ContinueWith(::System::Action_2<::System::Threading::Tasks::Task*, ::Il2CppObject*>* continuationAction, ::Il2CppObject* state, ::System::Threading::Tasks::TaskScheduler* scheduler, ::System::Threading::CancellationToken cancellationToken, ::System::Threading::Tasks::TaskContinuationOptions continuationOptions, ByRef<::System::Threading::StackCrawlMark> stackMark);
    // public System.Threading.Tasks.Task`1<TResult> ContinueWith(System.Func`2<System.Threading.Tasks.Task,TResult> continuationFunction)
    // Offset: 0xFFFFFFFFFFFFFFFF
    template<class TResult>
    ::System::Threading::Tasks::Task_1<TResult>* ContinueWith(::System::Func_2<::System::Threading::Tasks::Task*, TResult>* continuationFunction) {
      static auto ___internal__logger = ::Logger::get().WithContext("::System::Threading::Tasks::Task::ContinueWith");
      static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "ContinueWith", std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(continuationFunction)})));
      static auto* ___generic__method = THROW_UNLESS(::il2cpp_utils::MakeGenericMethod(___internal__method, std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}));
      return ::il2cpp_utils::RunMethodRethrow<::System::Threading::Tasks::Task_1<TResult>*, false>(this, ___generic__method, continuationFunction);
    }
    // private System.Threading.Tasks.Task`1<TResult> ContinueWith(System.Func`2<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.Tasks.TaskScheduler scheduler, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, ref System.Threading.StackCrawlMark stackMark)
    // Offset: 0xFFFFFFFFFFFFFFFF
    template<class TResult>
    ::System::Threading::Tasks::Task_1<TResult>* ContinueWith(::System::Func_2<::System::Threading::Tasks::Task*, TResult>* continuationFunction, ::System::Threading::Tasks::TaskScheduler* scheduler, ::System::Threading::CancellationToken cancellationToken, ::System::Threading::Tasks::TaskContinuationOptions continuationOptions, ByRef<::System::Threading::StackCrawlMark> stackMark) {
      static auto ___internal__logger = ::Logger::get().WithContext("::System::Threading::Tasks::Task::ContinueWith");
      static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "ContinueWith", std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(continuationFunction), ::il2cpp_utils::ExtractType(scheduler), ::il2cpp_utils::ExtractType(cancellationToken), ::il2cpp_utils::ExtractType(continuationOptions), ::il2cpp_utils::ExtractType(stackMark)})));
      static auto* ___generic__method = THROW_UNLESS(::il2cpp_utils::MakeGenericMethod(___internal__method, std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}));
      return ::il2cpp_utils::RunMethodRethrow<::System::Threading::Tasks::Task_1<TResult>*, false>(this, ___generic__method, continuationFunction, scheduler, cancellationToken, continuationOptions, byref(stackMark));
    }
    // static System.Void CreationOptionsFromContinuationOptions(System.Threading.Tasks.TaskContinuationOptions continuationOptions, out System.Threading.Tasks.TaskCreationOptions creationOptions, out System.Threading.Tasks.InternalTaskOptions internalOptions)
    // Offset: 0xEFDEC4
    static void CreationOptionsFromContinuationOptions(::System::Threading::Tasks::TaskContinuationOptions continuationOptions, ByRef<::System::Threading::Tasks::TaskCreationOptions> creationOptions, ByRef<::System::Threading::Tasks::InternalTaskOptions> internalOptions);
    // System.Void ContinueWithCore(System.Threading.Tasks.Task continuationTask, System.Threading.Tasks.TaskScheduler scheduler, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions options)
    // Offset: 0xEFDFE0
    void ContinueWithCore(::System::Threading::Tasks::Task* continuationTask, ::System::Threading::Tasks::TaskScheduler* scheduler, ::System::Threading::CancellationToken cancellationToken, ::System::Threading::Tasks::TaskContinuationOptions options);
    // System.Void AddCompletionAction(System.Threading.Tasks.ITaskCompletionAction action)
    // Offset: 0xEFE2C0
    void AddCompletionAction(::System::Threading::Tasks::ITaskCompletionAction* action);
    // private System.Void AddCompletionAction(System.Threading.Tasks.ITaskCompletionAction action, System.Boolean addBeforeOthers)
    // Offset: 0xEFD9D0
    void AddCompletionAction(::System::Threading::Tasks::ITaskCompletionAction* action, bool addBeforeOthers);
    // private System.Boolean AddTaskContinuationComplex(System.Object tc, System.Boolean addBeforeOthers)
    // Offset: 0xEFE2C8
    bool AddTaskContinuationComplex(::Il2CppObject* tc, bool addBeforeOthers);
    // private System.Boolean AddTaskContinuation(System.Object tc, System.Boolean addBeforeOthers)
    // Offset: 0xEFD030
    bool AddTaskContinuation(::Il2CppObject* tc, bool addBeforeOthers);
    // System.Void RemoveContinuation(System.Object continuationObject)
    // Offset: 0xEF91D8
    void RemoveContinuation(::Il2CppObject* continuationObject);
    // static public System.Threading.Tasks.Task`1<TResult> FromResult(TResult result)
    // Offset: 0xFFFFFFFFFFFFFFFF
    template<class TResult>
    static ::System::Threading::Tasks::Task_1<TResult>* FromResult(TResult result) {
      static auto ___internal__logger = ::Logger::get().WithContext("::System::Threading::Tasks::Task::FromResult");
      static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("System.Threading.Tasks", "Task", "FromResult", std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
      static auto* ___generic__method = THROW_UNLESS(::il2cpp_utils::MakeGenericMethod(___internal__method, std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}));
      return ::il2cpp_utils::RunMethodRethrow<::System::Threading::Tasks::Task_1<TResult>*, false>(static_cast<Il2CppObject*>(nullptr), ___generic__method, result);
    }
    // static public System.Threading.Tasks.Task FromException(System.Exception exception)
    // Offset: 0xEFE640
    static ::System::Threading::Tasks::Task* FromException(::System::Exception* exception);
    // static public System.Threading.Tasks.Task`1<TResult> FromException(System.Exception exception)
    // Offset: 0xFFFFFFFFFFFFFFFF
    template<class TResult>
    static ::System::Threading::Tasks::Task_1<TResult>* FromException(::System::Exception* exception) {
      static auto ___internal__logger = ::Logger::get().WithContext("::System::Threading::Tasks::Task::FromException");
      static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("System.Threading.Tasks", "Task", "FromException", std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(exception)})));
      static auto* ___generic__method = THROW_UNLESS(::il2cpp_utils::MakeGenericMethod(___internal__method, std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}));
      return ::il2cpp_utils::RunMethodRethrow<::System::Threading::Tasks::Task_1<TResult>*, false>(static_cast<Il2CppObject*>(nullptr), ___generic__method, exception);
    }
    // static System.Threading.Tasks.Task FromCancellation(System.Threading.CancellationToken cancellationToken)
    // Offset: 0xEFE6B8
    static ::System::Threading::Tasks::Task* FromCancellation(::System::Threading::CancellationToken cancellationToken);
    // static public System.Threading.Tasks.Task FromCanceled(System.Threading.CancellationToken cancellationToken)
    // Offset: 0xEFE780
    static ::System::Threading::Tasks::Task* FromCanceled(::System::Threading::CancellationToken cancellationToken);
    // static System.Threading.Tasks.Task`1<TResult> FromCancellation(System.Threading.CancellationToken cancellationToken)
    // Offset: 0xFFFFFFFFFFFFFFFF
    template<class TResult>
    static ::System::Threading::Tasks::Task_1<TResult>* FromCancellation(::System::Threading::CancellationToken cancellationToken) {
      static auto ___internal__logger = ::Logger::get().WithContext("::System::Threading::Tasks::Task::FromCancellation");
      static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("System.Threading.Tasks", "Task", "FromCancellation", std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(cancellationToken)})));
      static auto* ___generic__method = THROW_UNLESS(::il2cpp_utils::MakeGenericMethod(___internal__method, std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}));
      return ::il2cpp_utils::RunMethodRethrow<::System::Threading::Tasks::Task_1<TResult>*, false>(static_cast<Il2CppObject*>(nullptr), ___generic__method, cancellationToken);
    }
    // static public System.Threading.Tasks.Task`1<TResult> FromCanceled(System.Threading.CancellationToken cancellationToken)
    // Offset: 0xFFFFFFFFFFFFFFFF
    template<class TResult>
    static ::System::Threading::Tasks::Task_1<TResult>* FromCanceled(::System::Threading::CancellationToken cancellationToken) {
      static auto ___internal__logger = ::Logger::get().WithContext("::System::Threading::Tasks::Task::FromCanceled");
      static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("System.Threading.Tasks", "Task", "FromCanceled", std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(cancellationToken)})));
      static auto* ___generic__method = THROW_UNLESS(::il2cpp_utils::MakeGenericMethod(___internal__method, std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}));
      return ::il2cpp_utils::RunMethodRethrow<::System::Threading::Tasks::Task_1<TResult>*, false>(static_cast<Il2CppObject*>(nullptr), ___generic__method, cancellationToken);
    }
    // static System.Threading.Tasks.Task`1<TResult> FromCancellation(System.OperationCanceledException exception)
    // Offset: 0xFFFFFFFFFFFFFFFF
    template<class TResult>
    static ::System::Threading::Tasks::Task_1<TResult>* FromCancellation(::System::OperationCanceledException* exception) {
      static auto ___internal__logger = ::Logger::get().WithContext("::System::Threading::Tasks::Task::FromCancellation");
      static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("System.Threading.Tasks", "Task", "FromCancellation", std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(exception)})));
      static auto* ___generic__method = THROW_UNLESS(::il2cpp_utils::MakeGenericMethod(___internal__method, std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}));
      return ::il2cpp_utils::RunMethodRethrow<::System::Threading::Tasks::Task_1<TResult>*, false>(static_cast<Il2CppObject*>(nullptr), ___generic__method, exception);
    }
    // static public System.Threading.Tasks.Task Run(System.Action action)
    // Offset: 0xEFE7E0
    static ::System::Threading::Tasks::Task* Run(::System::Action* action);
    // static public System.Threading.Tasks.Task Run(System.Action action, System.Threading.CancellationToken cancellationToken)
    // Offset: 0xEFE8EC
    static ::System::Threading::Tasks::Task* Run(::System::Action* action, ::System::Threading::CancellationToken cancellationToken);
    // static public System.Threading.Tasks.Task`1<TResult> Run(System.Func`1<TResult> function)
    // Offset: 0xFFFFFFFFFFFFFFFF
    template<class TResult>
    static ::System::Threading::Tasks::Task_1<TResult>* Run(::System::Func_1<TResult>* function) {
      static auto ___internal__logger = ::Logger::get().WithContext("::System::Threading::Tasks::Task::Run");
      static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("System.Threading.Tasks", "Task", "Run", std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(function)})));
      static auto* ___generic__method = THROW_UNLESS(::il2cpp_utils::MakeGenericMethod(___internal__method, std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}));
      return ::il2cpp_utils::RunMethodRethrow<::System::Threading::Tasks::Task_1<TResult>*, false>(static_cast<Il2CppObject*>(nullptr), ___generic__method, function);
    }
    // static public System.Threading.Tasks.Task`1<TResult> Run(System.Func`1<System.Threading.Tasks.Task`1<TResult>> function)
    // Offset: 0xFFFFFFFFFFFFFFFF
    template<class TResult>
    static ::System::Threading::Tasks::Task_1<TResult>* Run(::System::Func_1<::System::Threading::Tasks::Task_1<TResult>*>* function) {
      static auto ___internal__logger = ::Logger::get().WithContext("::System::Threading::Tasks::Task::Run");
      static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("System.Threading.Tasks", "Task", "Run", std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(function)})));
      static auto* ___generic__method = THROW_UNLESS(::il2cpp_utils::MakeGenericMethod(___internal__method, std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}));
      return ::il2cpp_utils::RunMethodRethrow<::System::Threading::Tasks::Task_1<TResult>*, false>(static_cast<Il2CppObject*>(nullptr), ___generic__method, function);
    }
    // static public System.Threading.Tasks.Task`1<TResult> Run(System.Func`1<System.Threading.Tasks.Task`1<TResult>> function, System.Threading.CancellationToken cancellationToken)
    // Offset: 0xFFFFFFFFFFFFFFFF
    template<class TResult>
    static ::System::Threading::Tasks::Task_1<TResult>* Run(::System::Func_1<::System::Threading::Tasks::Task_1<TResult>*>* function, ::System::Threading::CancellationToken cancellationToken) {
      static auto ___internal__logger = ::Logger::get().WithContext("::System::Threading::Tasks::Task::Run");
      static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("System.Threading.Tasks", "Task", "Run", std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(function), ::il2cpp_utils::ExtractType(cancellationToken)})));
      static auto* ___generic__method = THROW_UNLESS(::il2cpp_utils::MakeGenericMethod(___internal__method, std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<TResult>::get()}));
      return ::il2cpp_utils::RunMethodRethrow<::System::Threading::Tasks::Task_1<TResult>*, false>(static_cast<Il2CppObject*>(nullptr), ___generic__method, function, cancellationToken);
    }
    // static public System.Threading.Tasks.Task Delay(System.Int32 millisecondsDelay)
    // Offset: 0xEFE9FC
    static ::System::Threading::Tasks::Task* Delay(int millisecondsDelay);
    // static public System.Threading.Tasks.Task Delay(System.Int32 millisecondsDelay, System.Threading.CancellationToken cancellationToken)
    // Offset: 0xEFEA60
    static ::System::Threading::Tasks::Task* Delay(int millisecondsDelay, ::System::Threading::CancellationToken cancellationToken);
    // static public System.Threading.Tasks.Task`1<System.Threading.Tasks.Task> WhenAny(params System.Threading.Tasks.Task[] tasks)
    // Offset: 0xEFEDD0
    static ::System::Threading::Tasks::Task_1<::System::Threading::Tasks::Task*>* WhenAny(::ArrayW<::System::Threading::Tasks::Task*> tasks);
    // static public System.Threading.Tasks.Task`1<System.Threading.Tasks.Task> WhenAny(System.Collections.Generic.IEnumerable`1<System.Threading.Tasks.Task> tasks)
    // Offset: 0xEFF1E0
    static ::System::Threading::Tasks::Task_1<::System::Threading::Tasks::Task*>* WhenAny(::System::Collections::Generic::IEnumerable_1<::System::Threading::Tasks::Task*>* tasks);
    // System.Void .ctor()
    // Offset: 0xEF8688
    // Implemented from: System.Object
    // Base method: System.Void Object::.ctor()
    template<::il2cpp_utils::CreationType creationType = ::il2cpp_utils::CreationType::Temporary>
    static Task* New_ctor() {
      static auto ___internal__logger = ::Logger::get().WithContext("::System::Threading::Tasks::Task::.ctor");
      return THROW_UNLESS((::il2cpp_utils::New<Task*, creationType>()));
    }
  }; // System.Threading.Tasks.Task
  #pragma pack(pop)
  static check_size<sizeof(Task), 72 + sizeof(::System::Threading::Tasks::Task::ContingentProperties*)> __System_Threading_Tasks_TaskSizeCheck;
  static_assert(sizeof(Task) == 0x50);
}
#include "beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_Options
// Il2CppName: get_Options
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::TaskCreationOptions (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_Options)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_Options", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_IsWaitNotificationEnabledOrNotRanToCompletion
// Il2CppName: get_IsWaitNotificationEnabledOrNotRanToCompletion
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_IsWaitNotificationEnabledOrNotRanToCompletion)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_IsWaitNotificationEnabledOrNotRanToCompletion", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_ShouldNotifyDebuggerOfWaitCompletion
// Il2CppName: get_ShouldNotifyDebuggerOfWaitCompletion
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_ShouldNotifyDebuggerOfWaitCompletion)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_ShouldNotifyDebuggerOfWaitCompletion", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_IsWaitNotificationEnabled
// Il2CppName: get_IsWaitNotificationEnabled
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_IsWaitNotificationEnabled)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_IsWaitNotificationEnabled", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_Id
// Il2CppName: get_Id
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<int (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_Id)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_Id", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_InternalCurrent
// Il2CppName: get_InternalCurrent
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (*)()>(&System::Threading::Tasks::Task::get_InternalCurrent)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_InternalCurrent", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_CurrentStackGuard
// Il2CppName: get_CurrentStackGuard
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::StackGuard* (*)()>(&System::Threading::Tasks::Task::get_CurrentStackGuard)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_CurrentStackGuard", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_Exception
// Il2CppName: get_Exception
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::AggregateException* (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_Exception)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_Exception", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_Status
// Il2CppName: get_Status
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::TaskStatus (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_Status)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_Status", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_IsCanceled
// Il2CppName: get_IsCanceled
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_IsCanceled)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_IsCanceled", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_IsCancellationRequested
// Il2CppName: get_IsCancellationRequested
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_IsCancellationRequested)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_IsCancellationRequested", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_CancellationToken
// Il2CppName: get_CancellationToken
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::CancellationToken (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_CancellationToken)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_CancellationToken", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_IsCancellationAcknowledged
// Il2CppName: get_IsCancellationAcknowledged
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_IsCancellationAcknowledged)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_IsCancellationAcknowledged", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_IsCompleted
// Il2CppName: get_IsCompleted
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_IsCompleted)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_IsCompleted", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_IsRanToCompletion
// Il2CppName: get_IsRanToCompletion
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_IsRanToCompletion)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_IsRanToCompletion", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_CreationOptions
// Il2CppName: get_CreationOptions
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::TaskCreationOptions (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_CreationOptions)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_CreationOptions", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::System_IAsyncResult_get_AsyncWaitHandle
// Il2CppName: System.IAsyncResult.get_AsyncWaitHandle
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::WaitHandle* (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::System_IAsyncResult_get_AsyncWaitHandle)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "System.IAsyncResult.get_AsyncWaitHandle", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_AsyncState
// Il2CppName: get_AsyncState
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::Il2CppObject* (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_AsyncState)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_AsyncState", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::System_IAsyncResult_get_CompletedSynchronously
// Il2CppName: System.IAsyncResult.get_CompletedSynchronously
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::System_IAsyncResult_get_CompletedSynchronously)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "System.IAsyncResult.get_CompletedSynchronously", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_ExecutingTaskScheduler
// Il2CppName: get_ExecutingTaskScheduler
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::TaskScheduler* (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_ExecutingTaskScheduler)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_ExecutingTaskScheduler", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_Factory
// Il2CppName: get_Factory
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::TaskFactory* (*)()>(&System::Threading::Tasks::Task::get_Factory)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_Factory", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_CompletedTask
// Il2CppName: get_CompletedTask
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (*)()>(&System::Threading::Tasks::Task::get_CompletedTask)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_CompletedTask", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_CompletedEvent
// Il2CppName: get_CompletedEvent
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::ManualResetEventSlim* (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_CompletedEvent)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_CompletedEvent", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_IsSelfReplicatingRoot
// Il2CppName: get_IsSelfReplicatingRoot
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_IsSelfReplicatingRoot)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_IsSelfReplicatingRoot", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_IsChildReplica
// Il2CppName: get_IsChildReplica
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_IsChildReplica)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_IsChildReplica", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_ExceptionRecorded
// Il2CppName: get_ExceptionRecorded
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_ExceptionRecorded)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_ExceptionRecorded", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_IsFaulted
// Il2CppName: get_IsFaulted
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_IsFaulted)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_IsFaulted", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_CapturedContext
// Il2CppName: get_CapturedContext
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::ExecutionContext* (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_CapturedContext)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_CapturedContext", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::set_CapturedContext
// Il2CppName: set_CapturedContext
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::System::Threading::ExecutionContext*)>(&System::Threading::Tasks::Task::set_CapturedContext)> {
  static const MethodInfo* get() {
    static auto* value = &::il2cpp_utils::GetClassFromName("System.Threading", "ExecutionContext")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "set_CapturedContext", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{value});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_IsExceptionObservedByParent
// Il2CppName: get_IsExceptionObservedByParent
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_IsExceptionObservedByParent)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_IsExceptionObservedByParent", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_IsDelegateInvoked
// Il2CppName: get_IsDelegateInvoked
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_IsDelegateInvoked)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_IsDelegateInvoked", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_SavedStateForNextReplica
// Il2CppName: get_SavedStateForNextReplica
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::Il2CppObject* (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_SavedStateForNextReplica)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_SavedStateForNextReplica", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::set_SavedStateFromPreviousReplica
// Il2CppName: set_SavedStateFromPreviousReplica
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::Il2CppObject*)>(&System::Threading::Tasks::Task::set_SavedStateFromPreviousReplica)> {
  static const MethodInfo* get() {
    static auto* value = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "set_SavedStateFromPreviousReplica", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{value});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::get_HandedOverChildReplica
// Il2CppName: get_HandedOverChildReplica
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::get_HandedOverChildReplica)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "get_HandedOverChildReplica", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::set_HandedOverChildReplica
// Il2CppName: set_HandedOverChildReplica
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::System::Threading::Tasks::Task*)>(&System::Threading::Tasks::Task::set_HandedOverChildReplica)> {
  static const MethodInfo* get() {
    static auto* value = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "set_HandedOverChildReplica", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{value});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::New_ctor
// Il2CppName: .ctor
// Cannot get method pointer of value based method overload from template for constructor!
// Try using FindMethod instead!
// Writing MetadataGetter for method: System::Threading::Tasks::Task::New_ctor
// Il2CppName: .ctor
// Cannot get method pointer of value based method overload from template for constructor!
// Try using FindMethod instead!
// Writing MetadataGetter for method: System::Threading::Tasks::Task::New_ctor
// Il2CppName: .ctor
// Cannot get method pointer of value based method overload from template for constructor!
// Try using FindMethod instead!
// Writing MetadataGetter for method: System::Threading::Tasks::Task::_cctor
// Il2CppName: .cctor
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)()>(&System::Threading::Tasks::Task::_cctor)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), ".cctor", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::AddToActiveTasks
// Il2CppName: AddToActiveTasks
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(::System::Threading::Tasks::Task*)>(&System::Threading::Tasks::Task::AddToActiveTasks)> {
  static const MethodInfo* get() {
    static auto* task = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "AddToActiveTasks", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{task});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::RemoveFromActiveTasks
// Il2CppName: RemoveFromActiveTasks
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(int)>(&System::Threading::Tasks::Task::RemoveFromActiveTasks)> {
  static const MethodInfo* get() {
    static auto* taskId = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "RemoveFromActiveTasks", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{taskId});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::TaskConstructorCore
// Il2CppName: TaskConstructorCore
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::Il2CppObject*, ::Il2CppObject*, ::System::Threading::CancellationToken, ::System::Threading::Tasks::TaskCreationOptions, ::System::Threading::Tasks::InternalTaskOptions, ::System::Threading::Tasks::TaskScheduler*)>(&System::Threading::Tasks::Task::TaskConstructorCore)> {
  static const MethodInfo* get() {
    static auto* action = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    static auto* state = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    static auto* cancellationToken = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    static auto* creationOptions = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskCreationOptions")->byval_arg;
    static auto* internalOptions = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "InternalTaskOptions")->byval_arg;
    static auto* scheduler = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskScheduler")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "TaskConstructorCore", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{action, state, cancellationToken, creationOptions, internalOptions, scheduler});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::AssignCancellationToken
// Il2CppName: AssignCancellationToken
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::System::Threading::CancellationToken, ::System::Threading::Tasks::Task*, ::System::Threading::Tasks::TaskContinuation*)>(&System::Threading::Tasks::Task::AssignCancellationToken)> {
  static const MethodInfo* get() {
    static auto* cancellationToken = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    static auto* antecedent = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task")->byval_arg;
    static auto* continuation = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskContinuation")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "AssignCancellationToken", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{cancellationToken, antecedent, continuation});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::TaskCancelCallback
// Il2CppName: TaskCancelCallback
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(::Il2CppObject*)>(&System::Threading::Tasks::Task::TaskCancelCallback)> {
  static const MethodInfo* get() {
    static auto* o = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "TaskCancelCallback", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{o});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::PossiblyCaptureContext
// Il2CppName: PossiblyCaptureContext
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(ByRef<::System::Threading::StackCrawlMark>)>(&System::Threading::Tasks::Task::PossiblyCaptureContext)> {
  static const MethodInfo* get() {
    static auto* stackMark = &::il2cpp_utils::GetClassFromName("System.Threading", "StackCrawlMark")->this_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "PossiblyCaptureContext", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{stackMark});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::OptionsMethod
// Il2CppName: OptionsMethod
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::TaskCreationOptions (*)(int)>(&System::Threading::Tasks::Task::OptionsMethod)> {
  static const MethodInfo* get() {
    static auto* flags = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "OptionsMethod", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{flags});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::AtomicStateUpdate
// Il2CppName: AtomicStateUpdate
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)(int, int)>(&System::Threading::Tasks::Task::AtomicStateUpdate)> {
  static const MethodInfo* get() {
    static auto* newBits = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
    static auto* illegalBits = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "AtomicStateUpdate", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{newBits, illegalBits});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::AtomicStateUpdate
// Il2CppName: AtomicStateUpdate
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)(int, int, ByRef<int>)>(&System::Threading::Tasks::Task::AtomicStateUpdate)> {
  static const MethodInfo* get() {
    static auto* newBits = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
    static auto* illegalBits = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
    static auto* oldFlags = &::il2cpp_utils::GetClassFromName("System", "Int32")->this_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "AtomicStateUpdate", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{newBits, illegalBits, oldFlags});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::SetNotificationForWaitCompletion
// Il2CppName: SetNotificationForWaitCompletion
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(bool)>(&System::Threading::Tasks::Task::SetNotificationForWaitCompletion)> {
  static const MethodInfo* get() {
    static auto* enabled = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "SetNotificationForWaitCompletion", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{enabled});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::NotifyDebuggerOfWaitCompletionIfNecessary
// Il2CppName: NotifyDebuggerOfWaitCompletionIfNecessary
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::NotifyDebuggerOfWaitCompletionIfNecessary)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "NotifyDebuggerOfWaitCompletionIfNecessary", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::NotifyDebuggerOfWaitCompletion
// Il2CppName: NotifyDebuggerOfWaitCompletion
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::NotifyDebuggerOfWaitCompletion)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "NotifyDebuggerOfWaitCompletion", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::MarkStarted
// Il2CppName: MarkStarted
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::MarkStarted)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "MarkStarted", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::FireTaskScheduledIfNeeded
// Il2CppName: FireTaskScheduledIfNeeded
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)(::System::Threading::Tasks::TaskScheduler*)>(&System::Threading::Tasks::Task::FireTaskScheduledIfNeeded)> {
  static const MethodInfo* get() {
    static auto* ts = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskScheduler")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "FireTaskScheduledIfNeeded", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{ts});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::AddNewChild
// Il2CppName: AddNewChild
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::AddNewChild)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "AddNewChild", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::DisregardChild
// Il2CppName: DisregardChild
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::DisregardChild)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "DisregardChild", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::InternalStartNew
// Il2CppName: InternalStartNew
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (*)(::System::Threading::Tasks::Task*, ::System::Delegate*, ::Il2CppObject*, ::System::Threading::CancellationToken, ::System::Threading::Tasks::TaskScheduler*, ::System::Threading::Tasks::TaskCreationOptions, ::System::Threading::Tasks::InternalTaskOptions, ByRef<::System::Threading::StackCrawlMark>)>(&System::Threading::Tasks::Task::InternalStartNew)> {
  static const MethodInfo* get() {
    static auto* creatingTask = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task")->byval_arg;
    static auto* action = &::il2cpp_utils::GetClassFromName("System", "Delegate")->byval_arg;
    static auto* state = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    static auto* cancellationToken = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    static auto* scheduler = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskScheduler")->byval_arg;
    static auto* options = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskCreationOptions")->byval_arg;
    static auto* internalOptions = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "InternalTaskOptions")->byval_arg;
    static auto* stackMark = &::il2cpp_utils::GetClassFromName("System.Threading", "StackCrawlMark")->this_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "InternalStartNew", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{creatingTask, action, state, cancellationToken, scheduler, options, internalOptions, stackMark});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::NewId
// Il2CppName: NewId
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<int (*)()>(&System::Threading::Tasks::Task::NewId)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "NewId", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::InternalCurrentIfAttached
// Il2CppName: InternalCurrentIfAttached
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (*)(::System::Threading::Tasks::TaskCreationOptions)>(&System::Threading::Tasks::Task::InternalCurrentIfAttached)> {
  static const MethodInfo* get() {
    static auto* creationOptions = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskCreationOptions")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "InternalCurrentIfAttached", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{creationOptions});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::EnsureContingentPropertiesInitialized
// Il2CppName: EnsureContingentPropertiesInitialized
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task::ContingentProperties* (System::Threading::Tasks::Task::*)(bool)>(&System::Threading::Tasks::Task::EnsureContingentPropertiesInitialized)> {
  static const MethodInfo* get() {
    static auto* needsProtection = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "EnsureContingentPropertiesInitialized", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{needsProtection});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::EnsureContingentPropertiesInitializedCore
// Il2CppName: EnsureContingentPropertiesInitializedCore
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task::ContingentProperties* (System::Threading::Tasks::Task::*)(bool)>(&System::Threading::Tasks::Task::EnsureContingentPropertiesInitializedCore)> {
  static const MethodInfo* get() {
    static auto* needsProtection = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "EnsureContingentPropertiesInitializedCore", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{needsProtection});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::IsCompletedMethod
// Il2CppName: IsCompletedMethod
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(int)>(&System::Threading::Tasks::Task::IsCompletedMethod)> {
  static const MethodInfo* get() {
    static auto* flags = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "IsCompletedMethod", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{flags});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::CopyExecutionContext
// Il2CppName: CopyExecutionContext
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::ExecutionContext* (*)(::System::Threading::ExecutionContext*)>(&System::Threading::Tasks::Task::CopyExecutionContext)> {
  static const MethodInfo* get() {
    static auto* capturedContext = &::il2cpp_utils::GetClassFromName("System.Threading", "ExecutionContext")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "CopyExecutionContext", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{capturedContext});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::Dispose
// Il2CppName: Dispose
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::Dispose)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "Dispose", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::Dispose
// Il2CppName: Dispose
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(bool)>(&System::Threading::Tasks::Task::Dispose)> {
  static const MethodInfo* get() {
    static auto* disposing = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "Dispose", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{disposing});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ScheduleAndStart
// Il2CppName: ScheduleAndStart
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(bool)>(&System::Threading::Tasks::Task::ScheduleAndStart)> {
  static const MethodInfo* get() {
    static auto* needsProtection = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "ScheduleAndStart", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{needsProtection});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::AddException
// Il2CppName: AddException
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::Il2CppObject*)>(&System::Threading::Tasks::Task::AddException)> {
  static const MethodInfo* get() {
    static auto* exceptionObject = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "AddException", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{exceptionObject});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::AddException
// Il2CppName: AddException
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::Il2CppObject*, bool)>(&System::Threading::Tasks::Task::AddException)> {
  static const MethodInfo* get() {
    static auto* exceptionObject = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    static auto* representsCancellation = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "AddException", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{exceptionObject, representsCancellation});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::GetExceptions
// Il2CppName: GetExceptions
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::AggregateException* (System::Threading::Tasks::Task::*)(bool)>(&System::Threading::Tasks::Task::GetExceptions)> {
  static const MethodInfo* get() {
    static auto* includeTaskCanceledExceptions = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "GetExceptions", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{includeTaskCanceledExceptions});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::GetExceptionDispatchInfos
// Il2CppName: GetExceptionDispatchInfos
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Collections::ObjectModel::ReadOnlyCollection_1<::System::Runtime::ExceptionServices::ExceptionDispatchInfo*>* (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::GetExceptionDispatchInfos)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "GetExceptionDispatchInfos", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::GetCancellationExceptionDispatchInfo
// Il2CppName: GetCancellationExceptionDispatchInfo
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Runtime::ExceptionServices::ExceptionDispatchInfo* (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::GetCancellationExceptionDispatchInfo)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "GetCancellationExceptionDispatchInfo", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ThrowIfExceptional
// Il2CppName: ThrowIfExceptional
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(bool)>(&System::Threading::Tasks::Task::ThrowIfExceptional)> {
  static const MethodInfo* get() {
    static auto* includeTaskCanceledExceptions = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "ThrowIfExceptional", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{includeTaskCanceledExceptions});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::UpdateExceptionObservedStatus
// Il2CppName: UpdateExceptionObservedStatus
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::UpdateExceptionObservedStatus)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "UpdateExceptionObservedStatus", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::Finish
// Il2CppName: Finish
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(bool)>(&System::Threading::Tasks::Task::Finish)> {
  static const MethodInfo* get() {
    static auto* bUserDelegateExecuted = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "Finish", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{bUserDelegateExecuted});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::FinishStageTwo
// Il2CppName: FinishStageTwo
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::FinishStageTwo)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "FinishStageTwo", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::FinishStageThree
// Il2CppName: FinishStageThree
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::FinishStageThree)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "FinishStageThree", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ProcessChildCompletion
// Il2CppName: ProcessChildCompletion
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::System::Threading::Tasks::Task*)>(&System::Threading::Tasks::Task::ProcessChildCompletion)> {
  static const MethodInfo* get() {
    static auto* childTask = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "ProcessChildCompletion", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{childTask});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::AddExceptionsFromChildren
// Il2CppName: AddExceptionsFromChildren
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::AddExceptionsFromChildren)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "AddExceptionsFromChildren", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::FinishThreadAbortedTask
// Il2CppName: FinishThreadAbortedTask
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(bool, bool)>(&System::Threading::Tasks::Task::FinishThreadAbortedTask)> {
  static const MethodInfo* get() {
    static auto* bTAEAddedToExceptionHolder = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    static auto* delegateRan = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "FinishThreadAbortedTask", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{bTAEAddedToExceptionHolder, delegateRan});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::Execute
// Il2CppName: Execute
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::Execute)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "Execute", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ShouldReplicate
// Il2CppName: ShouldReplicate
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::ShouldReplicate)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "ShouldReplicate", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::CreateReplicaTask
// Il2CppName: CreateReplicaTask
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (System::Threading::Tasks::Task::*)(::System::Action_1<::Il2CppObject*>*, ::Il2CppObject*, ::System::Threading::Tasks::Task*, ::System::Threading::Tasks::TaskScheduler*, ::System::Threading::Tasks::TaskCreationOptions, ::System::Threading::Tasks::InternalTaskOptions)>(&System::Threading::Tasks::Task::CreateReplicaTask)> {
  static const MethodInfo* get() {
    static auto* taskReplicaDelegate = &::il2cpp_utils::MakeGeneric(::il2cpp_utils::GetClassFromName("System", "Action`1"), ::std::vector<const Il2CppClass*>{::il2cpp_utils::GetClassFromName("System", "Object")})->byval_arg;
    static auto* stateObject = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    static auto* parentTask = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task")->byval_arg;
    static auto* taskScheduler = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskScheduler")->byval_arg;
    static auto* creationOptionsForReplica = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskCreationOptions")->byval_arg;
    static auto* internalOptionsForReplica = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "InternalTaskOptions")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "CreateReplicaTask", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{taskReplicaDelegate, stateObject, parentTask, taskScheduler, creationOptionsForReplica, internalOptionsForReplica});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ExecuteSelfReplicating
// Il2CppName: ExecuteSelfReplicating
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(::System::Threading::Tasks::Task*)>(&System::Threading::Tasks::Task::ExecuteSelfReplicating)> {
  static const MethodInfo* get() {
    static auto* root = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "ExecuteSelfReplicating", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{root});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::System_Threading_IThreadPoolWorkItem_ExecuteWorkItem
// Il2CppName: System.Threading.IThreadPoolWorkItem.ExecuteWorkItem
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::System_Threading_IThreadPoolWorkItem_ExecuteWorkItem)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "System.Threading.IThreadPoolWorkItem.ExecuteWorkItem", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::System_Threading_IThreadPoolWorkItem_MarkAborted
// Il2CppName: System.Threading.IThreadPoolWorkItem.MarkAborted
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::System::Threading::ThreadAbortException*)>(&System::Threading::Tasks::Task::System_Threading_IThreadPoolWorkItem_MarkAborted)> {
  static const MethodInfo* get() {
    static auto* tae = &::il2cpp_utils::GetClassFromName("System.Threading", "ThreadAbortException")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "System.Threading.IThreadPoolWorkItem.MarkAborted", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{tae});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ExecuteEntry
// Il2CppName: ExecuteEntry
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)(bool)>(&System::Threading::Tasks::Task::ExecuteEntry)> {
  static const MethodInfo* get() {
    static auto* bPreventDoubleExecution = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "ExecuteEntry", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{bPreventDoubleExecution});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ExecuteWithThreadLocal
// Il2CppName: ExecuteWithThreadLocal
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(ByRef<::System::Threading::Tasks::Task*>)>(&System::Threading::Tasks::Task::ExecuteWithThreadLocal)> {
  static const MethodInfo* get() {
    static auto* currentTaskSlot = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task")->this_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "ExecuteWithThreadLocal", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{currentTaskSlot});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ExecutionContextCallback
// Il2CppName: ExecutionContextCallback
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(::Il2CppObject*)>(&System::Threading::Tasks::Task::ExecutionContextCallback)> {
  static const MethodInfo* get() {
    static auto* obj = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "ExecutionContextCallback", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{obj});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::InnerInvoke
// Il2CppName: InnerInvoke
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::InnerInvoke)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "InnerInvoke", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::InnerInvokeWithArg
// Il2CppName: InnerInvokeWithArg
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::System::Threading::Tasks::Task*)>(&System::Threading::Tasks::Task::InnerInvokeWithArg)> {
  static const MethodInfo* get() {
    static auto* childTask = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "InnerInvokeWithArg", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{childTask});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::HandleException
// Il2CppName: HandleException
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::System::Exception*)>(&System::Threading::Tasks::Task::HandleException)> {
  static const MethodInfo* get() {
    static auto* unhandledException = &::il2cpp_utils::GetClassFromName("System", "Exception")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "HandleException", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{unhandledException});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::GetAwaiter
// Il2CppName: GetAwaiter
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Runtime::CompilerServices::TaskAwaiter (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::GetAwaiter)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "GetAwaiter", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ConfigureAwait
// Il2CppName: ConfigureAwait
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Runtime::CompilerServices::ConfiguredTaskAwaitable (System::Threading::Tasks::Task::*)(bool)>(&System::Threading::Tasks::Task::ConfigureAwait)> {
  static const MethodInfo* get() {
    static auto* continueOnCapturedContext = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "ConfigureAwait", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{continueOnCapturedContext});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::SetContinuationForAwait
// Il2CppName: SetContinuationForAwait
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::System::Action*, bool, bool, ByRef<::System::Threading::StackCrawlMark>)>(&System::Threading::Tasks::Task::SetContinuationForAwait)> {
  static const MethodInfo* get() {
    static auto* continuationAction = &::il2cpp_utils::GetClassFromName("System", "Action")->byval_arg;
    static auto* continueOnCapturedContext = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    static auto* flowExecutionContext = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    static auto* stackMark = &::il2cpp_utils::GetClassFromName("System.Threading", "StackCrawlMark")->this_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "SetContinuationForAwait", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{continuationAction, continueOnCapturedContext, flowExecutionContext, stackMark});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::Yield
// Il2CppName: Yield
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Runtime::CompilerServices::YieldAwaitable (*)()>(&System::Threading::Tasks::Task::Yield)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "Yield", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::Wait
// Il2CppName: Wait
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::Wait)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "Wait", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::Wait
// Il2CppName: Wait
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)(int, ::System::Threading::CancellationToken)>(&System::Threading::Tasks::Task::Wait)> {
  static const MethodInfo* get() {
    static auto* millisecondsTimeout = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
    static auto* cancellationToken = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "Wait", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{millisecondsTimeout, cancellationToken});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::WrappedTryRunInline
// Il2CppName: WrappedTryRunInline
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::WrappedTryRunInline)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "WrappedTryRunInline", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::InternalWait
// Il2CppName: InternalWait
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)(int, ::System::Threading::CancellationToken)>(&System::Threading::Tasks::Task::InternalWait)> {
  static const MethodInfo* get() {
    static auto* millisecondsTimeout = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
    static auto* cancellationToken = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "InternalWait", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{millisecondsTimeout, cancellationToken});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::SpinThenBlockingWait
// Il2CppName: SpinThenBlockingWait
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)(int, ::System::Threading::CancellationToken)>(&System::Threading::Tasks::Task::SpinThenBlockingWait)> {
  static const MethodInfo* get() {
    static auto* millisecondsTimeout = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
    static auto* cancellationToken = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "SpinThenBlockingWait", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{millisecondsTimeout, cancellationToken});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::SpinWait
// Il2CppName: SpinWait
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)(int)>(&System::Threading::Tasks::Task::SpinWait)> {
  static const MethodInfo* get() {
    static auto* millisecondsTimeout = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "SpinWait", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{millisecondsTimeout});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::InternalCancel
// Il2CppName: InternalCancel
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)(bool)>(&System::Threading::Tasks::Task::InternalCancel)> {
  static const MethodInfo* get() {
    static auto* bCancelNonExecutingOnly = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "InternalCancel", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{bCancelNonExecutingOnly});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::RecordInternalCancellationRequest
// Il2CppName: RecordInternalCancellationRequest
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::RecordInternalCancellationRequest)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "RecordInternalCancellationRequest", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::RecordInternalCancellationRequest
// Il2CppName: RecordInternalCancellationRequest
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::System::Threading::CancellationToken)>(&System::Threading::Tasks::Task::RecordInternalCancellationRequest)> {
  static const MethodInfo* get() {
    static auto* tokenToRecord = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "RecordInternalCancellationRequest", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{tokenToRecord});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::RecordInternalCancellationRequest
// Il2CppName: RecordInternalCancellationRequest
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::System::Threading::CancellationToken, ::Il2CppObject*)>(&System::Threading::Tasks::Task::RecordInternalCancellationRequest)> {
  static const MethodInfo* get() {
    static auto* tokenToRecord = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    static auto* cancellationException = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "RecordInternalCancellationRequest", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{tokenToRecord, cancellationException});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::CancellationCleanupLogic
// Il2CppName: CancellationCleanupLogic
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::CancellationCleanupLogic)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "CancellationCleanupLogic", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::SetCancellationAcknowledged
// Il2CppName: SetCancellationAcknowledged
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::SetCancellationAcknowledged)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "SetCancellationAcknowledged", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::FinishContinuations
// Il2CppName: FinishContinuations
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::FinishContinuations)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "FinishContinuations", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::LogFinishCompletionNotification
// Il2CppName: LogFinishCompletionNotification
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)()>(&System::Threading::Tasks::Task::LogFinishCompletionNotification)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "LogFinishCompletionNotification", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ContinueWith
// Il2CppName: ContinueWith
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (System::Threading::Tasks::Task::*)(::System::Action_1<::System::Threading::Tasks::Task*>*)>(&System::Threading::Tasks::Task::ContinueWith)> {
  static const MethodInfo* get() {
    static auto* continuationAction = &::il2cpp_utils::MakeGeneric(::il2cpp_utils::GetClassFromName("System", "Action`1"), ::std::vector<const Il2CppClass*>{::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task")})->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "ContinueWith", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{continuationAction});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ContinueWith
// Il2CppName: ContinueWith
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (System::Threading::Tasks::Task::*)(::System::Action_1<::System::Threading::Tasks::Task*>*, ::System::Threading::Tasks::TaskScheduler*, ::System::Threading::CancellationToken, ::System::Threading::Tasks::TaskContinuationOptions, ByRef<::System::Threading::StackCrawlMark>)>(&System::Threading::Tasks::Task::ContinueWith)> {
  static const MethodInfo* get() {
    static auto* continuationAction = &::il2cpp_utils::MakeGeneric(::il2cpp_utils::GetClassFromName("System", "Action`1"), ::std::vector<const Il2CppClass*>{::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task")})->byval_arg;
    static auto* scheduler = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskScheduler")->byval_arg;
    static auto* cancellationToken = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    static auto* continuationOptions = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskContinuationOptions")->byval_arg;
    static auto* stackMark = &::il2cpp_utils::GetClassFromName("System.Threading", "StackCrawlMark")->this_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "ContinueWith", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{continuationAction, scheduler, cancellationToken, continuationOptions, stackMark});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ContinueWith
// Il2CppName: ContinueWith
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (System::Threading::Tasks::Task::*)(::System::Action_2<::System::Threading::Tasks::Task*, ::Il2CppObject*>*, ::Il2CppObject*, ::System::Threading::CancellationToken, ::System::Threading::Tasks::TaskContinuationOptions, ::System::Threading::Tasks::TaskScheduler*)>(&System::Threading::Tasks::Task::ContinueWith)> {
  static const MethodInfo* get() {
    static auto* continuationAction = &::il2cpp_utils::MakeGeneric(::il2cpp_utils::GetClassFromName("System", "Action`2"), ::std::vector<const Il2CppClass*>{::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task"), ::il2cpp_utils::GetClassFromName("System", "Object")})->byval_arg;
    static auto* state = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    static auto* cancellationToken = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    static auto* continuationOptions = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskContinuationOptions")->byval_arg;
    static auto* scheduler = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskScheduler")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "ContinueWith", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{continuationAction, state, cancellationToken, continuationOptions, scheduler});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ContinueWith
// Il2CppName: ContinueWith
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (System::Threading::Tasks::Task::*)(::System::Action_2<::System::Threading::Tasks::Task*, ::Il2CppObject*>*, ::Il2CppObject*, ::System::Threading::Tasks::TaskScheduler*, ::System::Threading::CancellationToken, ::System::Threading::Tasks::TaskContinuationOptions, ByRef<::System::Threading::StackCrawlMark>)>(&System::Threading::Tasks::Task::ContinueWith)> {
  static const MethodInfo* get() {
    static auto* continuationAction = &::il2cpp_utils::MakeGeneric(::il2cpp_utils::GetClassFromName("System", "Action`2"), ::std::vector<const Il2CppClass*>{::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task"), ::il2cpp_utils::GetClassFromName("System", "Object")})->byval_arg;
    static auto* state = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    static auto* scheduler = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskScheduler")->byval_arg;
    static auto* cancellationToken = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    static auto* continuationOptions = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskContinuationOptions")->byval_arg;
    static auto* stackMark = &::il2cpp_utils::GetClassFromName("System.Threading", "StackCrawlMark")->this_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "ContinueWith", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{continuationAction, state, scheduler, cancellationToken, continuationOptions, stackMark});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ContinueWith
// Il2CppName: ContinueWith
// Cannot write MetadataGetter for generic methods!
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ContinueWith
// Il2CppName: ContinueWith
// Cannot write MetadataGetter for generic methods!
// Writing MetadataGetter for method: System::Threading::Tasks::Task::CreationOptionsFromContinuationOptions
// Il2CppName: CreationOptionsFromContinuationOptions
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(::System::Threading::Tasks::TaskContinuationOptions, ByRef<::System::Threading::Tasks::TaskCreationOptions>, ByRef<::System::Threading::Tasks::InternalTaskOptions>)>(&System::Threading::Tasks::Task::CreationOptionsFromContinuationOptions)> {
  static const MethodInfo* get() {
    static auto* continuationOptions = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskContinuationOptions")->byval_arg;
    static auto* creationOptions = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskCreationOptions")->this_arg;
    static auto* internalOptions = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "InternalTaskOptions")->this_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "CreationOptionsFromContinuationOptions", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{continuationOptions, creationOptions, internalOptions});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::ContinueWithCore
// Il2CppName: ContinueWithCore
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::System::Threading::Tasks::Task*, ::System::Threading::Tasks::TaskScheduler*, ::System::Threading::CancellationToken, ::System::Threading::Tasks::TaskContinuationOptions)>(&System::Threading::Tasks::Task::ContinueWithCore)> {
  static const MethodInfo* get() {
    static auto* continuationTask = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task")->byval_arg;
    static auto* scheduler = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskScheduler")->byval_arg;
    static auto* cancellationToken = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    static auto* options = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "TaskContinuationOptions")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "ContinueWithCore", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{continuationTask, scheduler, cancellationToken, options});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::AddCompletionAction
// Il2CppName: AddCompletionAction
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::System::Threading::Tasks::ITaskCompletionAction*)>(&System::Threading::Tasks::Task::AddCompletionAction)> {
  static const MethodInfo* get() {
    static auto* action = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "ITaskCompletionAction")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "AddCompletionAction", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{action});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::AddCompletionAction
// Il2CppName: AddCompletionAction
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::System::Threading::Tasks::ITaskCompletionAction*, bool)>(&System::Threading::Tasks::Task::AddCompletionAction)> {
  static const MethodInfo* get() {
    static auto* action = &::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "ITaskCompletionAction")->byval_arg;
    static auto* addBeforeOthers = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "AddCompletionAction", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{action, addBeforeOthers});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::AddTaskContinuationComplex
// Il2CppName: AddTaskContinuationComplex
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)(::Il2CppObject*, bool)>(&System::Threading::Tasks::Task::AddTaskContinuationComplex)> {
  static const MethodInfo* get() {
    static auto* tc = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    static auto* addBeforeOthers = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "AddTaskContinuationComplex", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{tc, addBeforeOthers});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::AddTaskContinuation
// Il2CppName: AddTaskContinuation
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (System::Threading::Tasks::Task::*)(::Il2CppObject*, bool)>(&System::Threading::Tasks::Task::AddTaskContinuation)> {
  static const MethodInfo* get() {
    static auto* tc = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    static auto* addBeforeOthers = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "AddTaskContinuation", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{tc, addBeforeOthers});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::RemoveContinuation
// Il2CppName: RemoveContinuation
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (System::Threading::Tasks::Task::*)(::Il2CppObject*)>(&System::Threading::Tasks::Task::RemoveContinuation)> {
  static const MethodInfo* get() {
    static auto* continuationObject = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "RemoveContinuation", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{continuationObject});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::FromResult
// Il2CppName: FromResult
// Cannot write MetadataGetter for generic methods!
// Writing MetadataGetter for method: System::Threading::Tasks::Task::FromException
// Il2CppName: FromException
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (*)(::System::Exception*)>(&System::Threading::Tasks::Task::FromException)> {
  static const MethodInfo* get() {
    static auto* exception = &::il2cpp_utils::GetClassFromName("System", "Exception")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "FromException", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{exception});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::FromException
// Il2CppName: FromException
// Cannot write MetadataGetter for generic methods!
// Writing MetadataGetter for method: System::Threading::Tasks::Task::FromCancellation
// Il2CppName: FromCancellation
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (*)(::System::Threading::CancellationToken)>(&System::Threading::Tasks::Task::FromCancellation)> {
  static const MethodInfo* get() {
    static auto* cancellationToken = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "FromCancellation", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{cancellationToken});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::FromCanceled
// Il2CppName: FromCanceled
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (*)(::System::Threading::CancellationToken)>(&System::Threading::Tasks::Task::FromCanceled)> {
  static const MethodInfo* get() {
    static auto* cancellationToken = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "FromCanceled", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{cancellationToken});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::FromCancellation
// Il2CppName: FromCancellation
// Cannot write MetadataGetter for generic methods!
// Writing MetadataGetter for method: System::Threading::Tasks::Task::FromCanceled
// Il2CppName: FromCanceled
// Cannot write MetadataGetter for generic methods!
// Writing MetadataGetter for method: System::Threading::Tasks::Task::FromCancellation
// Il2CppName: FromCancellation
// Cannot write MetadataGetter for generic methods!
// Writing MetadataGetter for method: System::Threading::Tasks::Task::Run
// Il2CppName: Run
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (*)(::System::Action*)>(&System::Threading::Tasks::Task::Run)> {
  static const MethodInfo* get() {
    static auto* action = &::il2cpp_utils::GetClassFromName("System", "Action")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "Run", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{action});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::Run
// Il2CppName: Run
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (*)(::System::Action*, ::System::Threading::CancellationToken)>(&System::Threading::Tasks::Task::Run)> {
  static const MethodInfo* get() {
    static auto* action = &::il2cpp_utils::GetClassFromName("System", "Action")->byval_arg;
    static auto* cancellationToken = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "Run", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{action, cancellationToken});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::Run
// Il2CppName: Run
// Cannot write MetadataGetter for generic methods!
// Writing MetadataGetter for method: System::Threading::Tasks::Task::Run
// Il2CppName: Run
// Cannot write MetadataGetter for generic methods!
// Writing MetadataGetter for method: System::Threading::Tasks::Task::Run
// Il2CppName: Run
// Cannot write MetadataGetter for generic methods!
// Writing MetadataGetter for method: System::Threading::Tasks::Task::Delay
// Il2CppName: Delay
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (*)(int)>(&System::Threading::Tasks::Task::Delay)> {
  static const MethodInfo* get() {
    static auto* millisecondsDelay = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "Delay", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{millisecondsDelay});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::Delay
// Il2CppName: Delay
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task* (*)(int, ::System::Threading::CancellationToken)>(&System::Threading::Tasks::Task::Delay)> {
  static const MethodInfo* get() {
    static auto* millisecondsDelay = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
    static auto* cancellationToken = &::il2cpp_utils::GetClassFromName("System.Threading", "CancellationToken")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "Delay", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{millisecondsDelay, cancellationToken});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::WhenAny
// Il2CppName: WhenAny
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task_1<::System::Threading::Tasks::Task*>* (*)(::ArrayW<::System::Threading::Tasks::Task*>)>(&System::Threading::Tasks::Task::WhenAny)> {
  static const MethodInfo* get() {
    static auto* tasks = &il2cpp_functions::array_class_get(::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task"), 1)->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "WhenAny", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{tasks});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::WhenAny
// Il2CppName: WhenAny
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Threading::Tasks::Task_1<::System::Threading::Tasks::Task*>* (*)(::System::Collections::Generic::IEnumerable_1<::System::Threading::Tasks::Task*>*)>(&System::Threading::Tasks::Task::WhenAny)> {
  static const MethodInfo* get() {
    static auto* tasks = &::il2cpp_utils::MakeGeneric(::il2cpp_utils::GetClassFromName("System.Collections.Generic", "IEnumerable`1"), ::std::vector<const Il2CppClass*>{::il2cpp_utils::GetClassFromName("System.Threading.Tasks", "Task")})->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(System::Threading::Tasks::Task*), "WhenAny", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{tasks});
  }
};
// Writing MetadataGetter for method: System::Threading::Tasks::Task::New_ctor
// Il2CppName: .ctor
// Cannot get method pointer of value based method overload from template for constructor!
// Try using FindMethod instead!
