// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: third_party/metrics_proto/execution_context.proto
// Protobuf C++ Version: 7.35.1

#include "third_party/metrics_proto/execution_context.pb.h"

#include <algorithm>
#include <type_traits>
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/generated_message_tctable_impl.h"
#include "google/protobuf/internal_visibility.h"
#include "google/protobuf/extension_set.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/wire_format_lite.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::google::protobuf;
namespace _pbi = ::google::protobuf::internal;
namespace _fl = ::google::protobuf::internal::field_layout;
namespace metrics {
}  // namespace metrics
namespace metrics {
PROTOBUF_CONSTINIT const uint32_t Process_internal_data_[] = {
    720896u, 0u, };
static const char Process_names[] = {
    "BROWSER_PROCESS"
    "GPU_PROCESS"
    "NETWORK_SERVICE_PROCESS"
    "OTHER_PROCESS"
    "PPAPI_BROKER_PROCESS"
    "PPAPI_PLUGIN_PROCESS"
    "RENDERER_PROCESS"
    "SANDBOX_HELPER_PROCESS"
    "UNKNOWN_PROCESS"
    "UTILITY_PROCESS"
    "ZYGOTE_PROCESS"
};

static const ::google::protobuf::internal::EnumEntry Process_entries[] = {
    {{&Process_names[0], 15}, 1},
    {{&Process_names[15], 11}, 3},
    {{&Process_names[26], 23}, 10},
    {{&Process_names[49], 13}, 9},
    {{&Process_names[62], 20}, 8},
    {{&Process_names[82], 20}, 7},
    {{&Process_names[102], 16}, 2},
    {{&Process_names[118], 22}, 6},
    {{&Process_names[140], 15}, 0},
    {{&Process_names[155], 15}, 4},
    {{&Process_names[170], 14}, 5},
};

static const int Process_entries_by_number[] = {
    8,  // 0 -> UNKNOWN_PROCESS
    0,  // 1 -> BROWSER_PROCESS
    6,  // 2 -> RENDERER_PROCESS
    1,  // 3 -> GPU_PROCESS
    9,  // 4 -> UTILITY_PROCESS
    10,  // 5 -> ZYGOTE_PROCESS
    7,  // 6 -> SANDBOX_HELPER_PROCESS
    5,  // 7 -> PPAPI_PLUGIN_PROCESS
    4,  // 8 -> PPAPI_BROKER_PROCESS
    3,  // 9 -> OTHER_PROCESS
    2,  // 10 -> NETWORK_SERVICE_PROCESS
};

bool Process_Parse(::absl::string_view name,
                                  Process* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      Process_entries, 11, name, &int_value);
  if (success) {
    *value = static_cast<Process>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    Process_strings[11] = {};

const ::std::string& Process_Name(Process value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      Process_entries, Process_entries_by_number, 11,
      Process_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(Process_entries,
                                  Process_entries_by_number,
                                  11, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : Process_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t Thread_internal_data_[] = {
    2097152u, 0u, };
static const char Thread_names[] = {
    "AUDIO_DEVICE_THREAD"
    "AUDIO_THREAD"
    "CACHE_THREAD"
    "CODEC_WORKER_THREAD"
    "COMPOSITOR_THREAD"
    "COMPOSITOR_TILE_WORKER_THREAD"
    "DAV1D_WORKER_THREAD"
    "DB_THREAD"
    "DEDICATED_WORKER_THREAD"
    "DISPLAY_COMPOSITOR_GPU_THREAD"
    "DISPLAY_COMPOSITOR_THREAD"
    "DRM_THREAD"
    "FILE_THREAD"
    "FILE_USER_BLOCKING_THREAD"
    "GPU_MAIN_THREAD"
    "GPU_MEMORY_THREAD"
    "IO_THREAD"
    "MAIN_THREAD"
    "MEDIA_THREAD"
    "MEMORY_INFRA_THREAD"
    "NETWORK_THREAD"
    "OTHER_THREAD"
    "PROCESS_LAUNCHER_THREAD"
    "RENDER_THREAD"
    "SCHEDULER_WORKER_THREAD"
    "SERVICE_WORKER_THREAD"
    "STACK_SAMPLING_THREAD"
    "THREAD_POOL_THREAD"
    "UNKNOWN_THREAD"
    "UTILITY_THREAD"
    "VIDEO_FRAME_COMPOSITOR_THREAD"
    "WEBRTC_THREAD"
};

static const ::google::protobuf::internal::EnumEntry Thread_entries[] = {
    {{&Thread_names[0], 19}, 23},
    {{&Thread_names[19], 12}, 24},
    {{&Thread_names[31], 12}, 5},
    {{&Thread_names[43], 19}, 29},
    {{&Thread_names[62], 17}, 11},
    {{&Thread_names[79], 29}, 14},
    {{&Thread_names[108], 19}, 25},
    {{&Thread_names[127], 9}, 7},
    {{&Thread_names[136], 23}, 18},
    {{&Thread_names[159], 29}, 31},
    {{&Thread_names[188], 25}, 28},
    {{&Thread_names[213], 10}, 22},
    {{&Thread_names[223], 11}, 2},
    {{&Thread_names[234], 25}, 3},
    {{&Thread_names[259], 15}, 8},
    {{&Thread_names[274], 17}, 17},
    {{&Thread_names[291], 9}, 6},
    {{&Thread_names[300], 11}, 1},
    {{&Thread_names[311], 12}, 20},
    {{&Thread_names[323], 19}, 19},
    {{&Thread_names[342], 14}, 30},
    {{&Thread_names[356], 12}, 12},
    {{&Thread_names[368], 23}, 4},
    {{&Thread_names[391], 13}, 9},
    {{&Thread_names[404], 23}, 13},
    {{&Thread_names[427], 21}, 15},
    {{&Thread_names[448], 21}, 26},
    {{&Thread_names[469], 18}, 16},
    {{&Thread_names[487], 14}, 0},
    {{&Thread_names[501], 14}, 10},
    {{&Thread_names[515], 29}, 27},
    {{&Thread_names[544], 13}, 21},
};

static const int Thread_entries_by_number[] = {
    28,  // 0 -> UNKNOWN_THREAD
    17,  // 1 -> MAIN_THREAD
    12,  // 2 -> FILE_THREAD
    13,  // 3 -> FILE_USER_BLOCKING_THREAD
    22,  // 4 -> PROCESS_LAUNCHER_THREAD
    2,  // 5 -> CACHE_THREAD
    16,  // 6 -> IO_THREAD
    7,  // 7 -> DB_THREAD
    14,  // 8 -> GPU_MAIN_THREAD
    23,  // 9 -> RENDER_THREAD
    29,  // 10 -> UTILITY_THREAD
    4,  // 11 -> COMPOSITOR_THREAD
    21,  // 12 -> OTHER_THREAD
    24,  // 13 -> SCHEDULER_WORKER_THREAD
    5,  // 14 -> COMPOSITOR_TILE_WORKER_THREAD
    25,  // 15 -> SERVICE_WORKER_THREAD
    27,  // 16 -> THREAD_POOL_THREAD
    15,  // 17 -> GPU_MEMORY_THREAD
    8,  // 18 -> DEDICATED_WORKER_THREAD
    19,  // 19 -> MEMORY_INFRA_THREAD
    18,  // 20 -> MEDIA_THREAD
    31,  // 21 -> WEBRTC_THREAD
    11,  // 22 -> DRM_THREAD
    0,  // 23 -> AUDIO_DEVICE_THREAD
    1,  // 24 -> AUDIO_THREAD
    6,  // 25 -> DAV1D_WORKER_THREAD
    26,  // 26 -> STACK_SAMPLING_THREAD
    30,  // 27 -> VIDEO_FRAME_COMPOSITOR_THREAD
    10,  // 28 -> DISPLAY_COMPOSITOR_THREAD
    3,  // 29 -> CODEC_WORKER_THREAD
    20,  // 30 -> NETWORK_THREAD
    9,  // 31 -> DISPLAY_COMPOSITOR_GPU_THREAD
};

bool Thread_Parse(::absl::string_view name,
                                  Thread* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      Thread_entries, 32, name, &int_value);
  if (success) {
    *value = static_cast<Thread>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    Thread_strings[32] = {};

const ::std::string& Thread_Name(Thread value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      Thread_entries, Thread_entries_by_number, 32,
      Thread_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(Thread_entries,
                                  Thread_entries_by_number,
                                  32, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : Thread_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ProcessPhase_internal_data_[] = {
    327680u, 0u, };
static const char ProcessPhase_names[] = {
    "FIRST_NONEMPTY_PAINT"
    "MAIN_LOOP_START"
    "MAIN_NAVIGATION_FINISHED"
    "MAIN_NAVIGATION_START"
    "SHUTDOWN_START"
};

static const ::google::protobuf::internal::EnumEntry ProcessPhase_entries[] = {
    {{&ProcessPhase_names[0], 20}, 3},
    {{&ProcessPhase_names[20], 15}, 0},
    {{&ProcessPhase_names[35], 24}, 2},
    {{&ProcessPhase_names[59], 21}, 1},
    {{&ProcessPhase_names[80], 14}, 4},
};

static const int ProcessPhase_entries_by_number[] = {
    1,  // 0 -> MAIN_LOOP_START
    3,  // 1 -> MAIN_NAVIGATION_START
    2,  // 2 -> MAIN_NAVIGATION_FINISHED
    0,  // 3 -> FIRST_NONEMPTY_PAINT
    4,  // 4 -> SHUTDOWN_START
};

bool ProcessPhase_Parse(::absl::string_view name,
                                  ProcessPhase* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      ProcessPhase_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<ProcessPhase>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    ProcessPhase_strings[5] = {};

const ::std::string& ProcessPhase_Name(ProcessPhase value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ProcessPhase_entries, ProcessPhase_entries_by_number, 5,
      ProcessPhase_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ProcessPhase_entries,
                                  ProcessPhase_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ProcessPhase_strings[idx].get();
}
// @@protoc_insertion_point(namespace_scope)
}  // namespace metrics
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
