# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: api/api_proto/features.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from api.api_proto import common_pb2 as api_dot_api__proto_dot_common__pb2
from api.api_proto import features_objects_pb2 as api_dot_api__proto_dot_features__objects__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='api/api_proto/features.proto',
  package='monorail',
  syntax='proto3',
  serialized_options=None,
  serialized_pb=_b('\n\x1c\x61pi/api_proto/features.proto\x12\x08monorail\x1a\x1a\x61pi/api_proto/common.proto\x1a$api/api_proto/features_objects.proto\"<\n\x19ListHotlistsByUserRequest\x12\x1f\n\x04user\x18\x02 \x01(\x0b\x32\x11.monorail.UserRef\"A\n\x1aListHotlistsByUserResponse\x12#\n\x08hotlists\x18\x01 \x03(\x0b\x32\x11.monorail.Hotlist\"?\n\x1aListHotlistsByIssueRequest\x12!\n\x05issue\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\"B\n\x1bListHotlistsByIssueResponse\x12#\n\x08hotlists\x18\x01 \x03(\x0b\x32\x11.monorail.Hotlist\"$\n\"ListRecentlyVisitedHotlistsRequest\"J\n#ListRecentlyVisitedHotlistsResponse\x12#\n\x08hotlists\x18\x01 \x03(\x0b\x32\x11.monorail.Hotlist\"\x1c\n\x1aListStarredHotlistsRequest\"B\n\x1bListStarredHotlistsResponse\x12#\n\x08hotlists\x18\x01 \x03(\x0b\x32\x11.monorail.Hotlist\"G\n\x1aGetHotlistStarCountRequest\x12)\n\x0bhotlist_ref\x18\x02 \x01(\x0b\x32\x14.monorail.HotlistRef\"1\n\x1bGetHotlistStarCountResponse\x12\x12\n\nstar_count\x18\x01 \x01(\r\"P\n\x12StarHotlistRequest\x12)\n\x0bhotlist_ref\x18\x02 \x01(\x0b\x32\x14.monorail.HotlistRef\x12\x0f\n\x07starred\x18\x03 \x01(\x08\")\n\x13StarHotlistResponse\x12\x12\n\nstar_count\x18\x01 \x01(\r\">\n\x11GetHotlistRequest\x12)\n\x0bhotlist_ref\x18\x01 \x01(\x0b\x32\x14.monorail.HotlistRef\"8\n\x12GetHotlistResponse\x12\"\n\x07hotlist\x18\x01 \x01(\x0b\x32\x11.monorail.Hotlist\"\xa5\x01\n\x17ListHotlistItemsRequest\x12)\n\x0bhotlist_ref\x18\x02 \x01(\x0b\x32\x14.monorail.HotlistRef\x12(\n\npagination\x18\x03 \x01(\x0b\x32\x14.monorail.Pagination\x12\x0b\n\x03\x63\x61n\x18\x04 \x01(\r\x12\x11\n\tsort_spec\x18\x05 \x01(\t\x12\x15\n\rgroup_by_spec\x18\x06 \x01(\t\"@\n\x18ListHotlistItemsResponse\x12$\n\x05items\x18\x01 \x03(\x0b\x32\x15.monorail.HotlistItem\"\xae\x01\n\x14\x43reateHotlistRequest\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07summary\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12&\n\x0b\x65\x64itor_refs\x18\x05 \x03(\x0b\x32\x11.monorail.UserRef\x12&\n\nissue_refs\x18\x06 \x03(\x0b\x32\x12.monorail.IssueRef\x12\x12\n\nis_private\x18\x07 \x01(\x08\"\x17\n\x15\x43reateHotlistResponse\"\'\n\x17\x43heckHotlistNameRequest\x12\x0c\n\x04name\x18\x02 \x01(\t\")\n\x18\x43heckHotlistNameResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"u\n\x1fRemoveIssuesFromHotlistsRequest\x12*\n\x0chotlist_refs\x18\x02 \x03(\x0b\x32\x14.monorail.HotlistRef\x12&\n\nissue_refs\x18\x03 \x03(\x0b\x32\x12.monorail.IssueRef\"\"\n RemoveIssuesFromHotlistsResponse\"~\n\x1a\x41\x64\x64IssuesToHotlistsRequest\x12*\n\x0chotlist_refs\x18\x02 \x03(\x0b\x32\x14.monorail.HotlistRef\x12&\n\nissue_refs\x18\x03 \x03(\x0b\x32\x12.monorail.IssueRef\x12\x0c\n\x04note\x18\x04 \x01(\t\"\x1d\n\x1b\x41\x64\x64IssuesToHotlistsResponse\"\xac\x01\n\x1aRerankHotlistIssuesRequest\x12)\n\x0bhotlist_ref\x18\x01 \x01(\x0b\x32\x14.monorail.HotlistRef\x12&\n\nmoved_refs\x18\x02 \x03(\x0b\x32\x12.monorail.IssueRef\x12&\n\ntarget_ref\x18\x03 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x13\n\x0bsplit_above\x18\x04 \x01(\x08\"\x1d\n\x1bRerankHotlistIssuesResponse\"\x7f\n\x1dUpdateHotlistIssueNoteRequest\x12)\n\x0bhotlist_ref\x18\x02 \x01(\x0b\x32\x14.monorail.HotlistRef\x12%\n\tissue_ref\x18\x03 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x0c\n\x04note\x18\x04 \x01(\t\" \n\x1eUpdateHotlistIssueNoteResponse\"A\n\x14\x44\x65leteHotlistRequest\x12)\n\x0bhotlist_ref\x18\x01 \x01(\x0b\x32\x14.monorail.HotlistRef\"\x17\n\x15\x44\x65leteHotlistResponse\"=\n\x17PredictComponentRequest\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x14\n\x0cproject_name\x18\x03 \x01(\t\"I\n\x18PredictComponentResponse\x12-\n\rcomponent_ref\x18\x01 \x01(\x0b\x32\x16.monorail.ComponentRef2\xa5\x0c\n\x08\x46\x65\x61tures\x12\x61\n\x12ListHotlistsByUser\x12#.monorail.ListHotlistsByUserRequest\x1a$.monorail.ListHotlistsByUserResponse\"\x00\x12\x64\n\x13ListHotlistsByIssue\x12$.monorail.ListHotlistsByIssueRequest\x1a%.monorail.ListHotlistsByIssueResponse\"\x00\x12|\n\x1bListRecentlyVisitedHotlists\x12,.monorail.ListRecentlyVisitedHotlistsRequest\x1a-.monorail.ListRecentlyVisitedHotlistsResponse\"\x00\x12\x64\n\x13ListStarredHotlists\x12$.monorail.ListStarredHotlistsRequest\x1a%.monorail.ListStarredHotlistsResponse\"\x00\x12\x64\n\x13GetHotlistStarCount\x12$.monorail.GetHotlistStarCountRequest\x1a%.monorail.GetHotlistStarCountResponse\"\x00\x12L\n\x0bStarHotlist\x12\x1c.monorail.StarHotlistRequest\x1a\x1d.monorail.StarHotlistResponse\"\x00\x12I\n\nGetHotlist\x12\x1b.monorail.GetHotlistRequest\x1a\x1c.monorail.GetHotlistResponse\"\x00\x12[\n\x10ListHotlistItems\x12!.monorail.ListHotlistItemsRequest\x1a\".monorail.ListHotlistItemsResponse\"\x00\x12R\n\rCreateHotlist\x12\x1e.monorail.CreateHotlistRequest\x1a\x1f.monorail.CreateHotlistResponse\"\x00\x12[\n\x10\x43heckHotlistName\x12!.monorail.CheckHotlistNameRequest\x1a\".monorail.CheckHotlistNameResponse\"\x00\x12s\n\x18RemoveIssuesFromHotlists\x12).monorail.RemoveIssuesFromHotlistsRequest\x1a*.monorail.RemoveIssuesFromHotlistsResponse\"\x00\x12\x64\n\x13\x41\x64\x64IssuesToHotlists\x12$.monorail.AddIssuesToHotlistsRequest\x1a%.monorail.AddIssuesToHotlistsResponse\"\x00\x12\x64\n\x13RerankHotlistIssues\x12$.monorail.RerankHotlistIssuesRequest\x1a%.monorail.RerankHotlistIssuesResponse\"\x00\x12m\n\x16UpdateHotlistIssueNote\x12\'.monorail.UpdateHotlistIssueNoteRequest\x1a(.monorail.UpdateHotlistIssueNoteResponse\"\x00\x12R\n\rDeleteHotlist\x12\x1e.monorail.DeleteHotlistRequest\x1a\x1f.monorail.DeleteHotlistResponse\"\x00\x12[\n\x10PredictComponent\x12!.monorail.PredictComponentRequest\x1a\".monorail.PredictComponentResponse\"\x00\x62\x06proto3')
  ,
  dependencies=[api_dot_api__proto_dot_common__pb2.DESCRIPTOR,api_dot_api__proto_dot_features__objects__pb2.DESCRIPTOR,])




_LISTHOTLISTSBYUSERREQUEST = _descriptor.Descriptor(
  name='ListHotlistsByUserRequest',
  full_name='monorail.ListHotlistsByUserRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='user', full_name='monorail.ListHotlistsByUserRequest.user', index=0,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=108,
  serialized_end=168,
)


_LISTHOTLISTSBYUSERRESPONSE = _descriptor.Descriptor(
  name='ListHotlistsByUserResponse',
  full_name='monorail.ListHotlistsByUserResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hotlists', full_name='monorail.ListHotlistsByUserResponse.hotlists', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=170,
  serialized_end=235,
)


_LISTHOTLISTSBYISSUEREQUEST = _descriptor.Descriptor(
  name='ListHotlistsByIssueRequest',
  full_name='monorail.ListHotlistsByIssueRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='issue', full_name='monorail.ListHotlistsByIssueRequest.issue', index=0,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=237,
  serialized_end=300,
)


_LISTHOTLISTSBYISSUERESPONSE = _descriptor.Descriptor(
  name='ListHotlistsByIssueResponse',
  full_name='monorail.ListHotlistsByIssueResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hotlists', full_name='monorail.ListHotlistsByIssueResponse.hotlists', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=302,
  serialized_end=368,
)


_LISTRECENTLYVISITEDHOTLISTSREQUEST = _descriptor.Descriptor(
  name='ListRecentlyVisitedHotlistsRequest',
  full_name='monorail.ListRecentlyVisitedHotlistsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=370,
  serialized_end=406,
)


_LISTRECENTLYVISITEDHOTLISTSRESPONSE = _descriptor.Descriptor(
  name='ListRecentlyVisitedHotlistsResponse',
  full_name='monorail.ListRecentlyVisitedHotlistsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hotlists', full_name='monorail.ListRecentlyVisitedHotlistsResponse.hotlists', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=408,
  serialized_end=482,
)


_LISTSTARREDHOTLISTSREQUEST = _descriptor.Descriptor(
  name='ListStarredHotlistsRequest',
  full_name='monorail.ListStarredHotlistsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=484,
  serialized_end=512,
)


_LISTSTARREDHOTLISTSRESPONSE = _descriptor.Descriptor(
  name='ListStarredHotlistsResponse',
  full_name='monorail.ListStarredHotlistsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hotlists', full_name='monorail.ListStarredHotlistsResponse.hotlists', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=514,
  serialized_end=580,
)


_GETHOTLISTSTARCOUNTREQUEST = _descriptor.Descriptor(
  name='GetHotlistStarCountRequest',
  full_name='monorail.GetHotlistStarCountRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hotlist_ref', full_name='monorail.GetHotlistStarCountRequest.hotlist_ref', index=0,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=582,
  serialized_end=653,
)


_GETHOTLISTSTARCOUNTRESPONSE = _descriptor.Descriptor(
  name='GetHotlistStarCountResponse',
  full_name='monorail.GetHotlistStarCountResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='star_count', full_name='monorail.GetHotlistStarCountResponse.star_count', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=655,
  serialized_end=704,
)


_STARHOTLISTREQUEST = _descriptor.Descriptor(
  name='StarHotlistRequest',
  full_name='monorail.StarHotlistRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hotlist_ref', full_name='monorail.StarHotlistRequest.hotlist_ref', index=0,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='starred', full_name='monorail.StarHotlistRequest.starred', index=1,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=706,
  serialized_end=786,
)


_STARHOTLISTRESPONSE = _descriptor.Descriptor(
  name='StarHotlistResponse',
  full_name='monorail.StarHotlistResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='star_count', full_name='monorail.StarHotlistResponse.star_count', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=788,
  serialized_end=829,
)


_GETHOTLISTREQUEST = _descriptor.Descriptor(
  name='GetHotlistRequest',
  full_name='monorail.GetHotlistRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hotlist_ref', full_name='monorail.GetHotlistRequest.hotlist_ref', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=831,
  serialized_end=893,
)


_GETHOTLISTRESPONSE = _descriptor.Descriptor(
  name='GetHotlistResponse',
  full_name='monorail.GetHotlistResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hotlist', full_name='monorail.GetHotlistResponse.hotlist', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=895,
  serialized_end=951,
)


_LISTHOTLISTITEMSREQUEST = _descriptor.Descriptor(
  name='ListHotlistItemsRequest',
  full_name='monorail.ListHotlistItemsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hotlist_ref', full_name='monorail.ListHotlistItemsRequest.hotlist_ref', index=0,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='pagination', full_name='monorail.ListHotlistItemsRequest.pagination', index=1,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='can', full_name='monorail.ListHotlistItemsRequest.can', index=2,
      number=4, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sort_spec', full_name='monorail.ListHotlistItemsRequest.sort_spec', index=3,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='group_by_spec', full_name='monorail.ListHotlistItemsRequest.group_by_spec', index=4,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=954,
  serialized_end=1119,
)


_LISTHOTLISTITEMSRESPONSE = _descriptor.Descriptor(
  name='ListHotlistItemsResponse',
  full_name='monorail.ListHotlistItemsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='items', full_name='monorail.ListHotlistItemsResponse.items', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1121,
  serialized_end=1185,
)


_CREATEHOTLISTREQUEST = _descriptor.Descriptor(
  name='CreateHotlistRequest',
  full_name='monorail.CreateHotlistRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='monorail.CreateHotlistRequest.name', index=0,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='summary', full_name='monorail.CreateHotlistRequest.summary', index=1,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='description', full_name='monorail.CreateHotlistRequest.description', index=2,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='editor_refs', full_name='monorail.CreateHotlistRequest.editor_refs', index=3,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='issue_refs', full_name='monorail.CreateHotlistRequest.issue_refs', index=4,
      number=6, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='is_private', full_name='monorail.CreateHotlistRequest.is_private', index=5,
      number=7, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1188,
  serialized_end=1362,
)


_CREATEHOTLISTRESPONSE = _descriptor.Descriptor(
  name='CreateHotlistResponse',
  full_name='monorail.CreateHotlistResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1364,
  serialized_end=1387,
)


_CHECKHOTLISTNAMEREQUEST = _descriptor.Descriptor(
  name='CheckHotlistNameRequest',
  full_name='monorail.CheckHotlistNameRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='monorail.CheckHotlistNameRequest.name', index=0,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1389,
  serialized_end=1428,
)


_CHECKHOTLISTNAMERESPONSE = _descriptor.Descriptor(
  name='CheckHotlistNameResponse',
  full_name='monorail.CheckHotlistNameResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='error', full_name='monorail.CheckHotlistNameResponse.error', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1430,
  serialized_end=1471,
)


_REMOVEISSUESFROMHOTLISTSREQUEST = _descriptor.Descriptor(
  name='RemoveIssuesFromHotlistsRequest',
  full_name='monorail.RemoveIssuesFromHotlistsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hotlist_refs', full_name='monorail.RemoveIssuesFromHotlistsRequest.hotlist_refs', index=0,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='issue_refs', full_name='monorail.RemoveIssuesFromHotlistsRequest.issue_refs', index=1,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1473,
  serialized_end=1590,
)


_REMOVEISSUESFROMHOTLISTSRESPONSE = _descriptor.Descriptor(
  name='RemoveIssuesFromHotlistsResponse',
  full_name='monorail.RemoveIssuesFromHotlistsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1592,
  serialized_end=1626,
)


_ADDISSUESTOHOTLISTSREQUEST = _descriptor.Descriptor(
  name='AddIssuesToHotlistsRequest',
  full_name='monorail.AddIssuesToHotlistsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hotlist_refs', full_name='monorail.AddIssuesToHotlistsRequest.hotlist_refs', index=0,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='issue_refs', full_name='monorail.AddIssuesToHotlistsRequest.issue_refs', index=1,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='note', full_name='monorail.AddIssuesToHotlistsRequest.note', index=2,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1628,
  serialized_end=1754,
)


_ADDISSUESTOHOTLISTSRESPONSE = _descriptor.Descriptor(
  name='AddIssuesToHotlistsResponse',
  full_name='monorail.AddIssuesToHotlistsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1756,
  serialized_end=1785,
)


_RERANKHOTLISTISSUESREQUEST = _descriptor.Descriptor(
  name='RerankHotlistIssuesRequest',
  full_name='monorail.RerankHotlistIssuesRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hotlist_ref', full_name='monorail.RerankHotlistIssuesRequest.hotlist_ref', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='moved_refs', full_name='monorail.RerankHotlistIssuesRequest.moved_refs', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='target_ref', full_name='monorail.RerankHotlistIssuesRequest.target_ref', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='split_above', full_name='monorail.RerankHotlistIssuesRequest.split_above', index=3,
      number=4, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1788,
  serialized_end=1960,
)


_RERANKHOTLISTISSUESRESPONSE = _descriptor.Descriptor(
  name='RerankHotlistIssuesResponse',
  full_name='monorail.RerankHotlistIssuesResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1962,
  serialized_end=1991,
)


_UPDATEHOTLISTISSUENOTEREQUEST = _descriptor.Descriptor(
  name='UpdateHotlistIssueNoteRequest',
  full_name='monorail.UpdateHotlistIssueNoteRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hotlist_ref', full_name='monorail.UpdateHotlistIssueNoteRequest.hotlist_ref', index=0,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='issue_ref', full_name='monorail.UpdateHotlistIssueNoteRequest.issue_ref', index=1,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='note', full_name='monorail.UpdateHotlistIssueNoteRequest.note', index=2,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1993,
  serialized_end=2120,
)


_UPDATEHOTLISTISSUENOTERESPONSE = _descriptor.Descriptor(
  name='UpdateHotlistIssueNoteResponse',
  full_name='monorail.UpdateHotlistIssueNoteResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2122,
  serialized_end=2154,
)


_DELETEHOTLISTREQUEST = _descriptor.Descriptor(
  name='DeleteHotlistRequest',
  full_name='monorail.DeleteHotlistRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hotlist_ref', full_name='monorail.DeleteHotlistRequest.hotlist_ref', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2156,
  serialized_end=2221,
)


_DELETEHOTLISTRESPONSE = _descriptor.Descriptor(
  name='DeleteHotlistResponse',
  full_name='monorail.DeleteHotlistResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2223,
  serialized_end=2246,
)


_PREDICTCOMPONENTREQUEST = _descriptor.Descriptor(
  name='PredictComponentRequest',
  full_name='monorail.PredictComponentRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='text', full_name='monorail.PredictComponentRequest.text', index=0,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='project_name', full_name='monorail.PredictComponentRequest.project_name', index=1,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2248,
  serialized_end=2309,
)


_PREDICTCOMPONENTRESPONSE = _descriptor.Descriptor(
  name='PredictComponentResponse',
  full_name='monorail.PredictComponentResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='component_ref', full_name='monorail.PredictComponentResponse.component_ref', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2311,
  serialized_end=2384,
)

_LISTHOTLISTSBYUSERREQUEST.fields_by_name['user'].message_type = api_dot_api__proto_dot_common__pb2._USERREF
_LISTHOTLISTSBYUSERRESPONSE.fields_by_name['hotlists'].message_type = api_dot_api__proto_dot_features__objects__pb2._HOTLIST
_LISTHOTLISTSBYISSUEREQUEST.fields_by_name['issue'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
_LISTHOTLISTSBYISSUERESPONSE.fields_by_name['hotlists'].message_type = api_dot_api__proto_dot_features__objects__pb2._HOTLIST
_LISTRECENTLYVISITEDHOTLISTSRESPONSE.fields_by_name['hotlists'].message_type = api_dot_api__proto_dot_features__objects__pb2._HOTLIST
_LISTSTARREDHOTLISTSRESPONSE.fields_by_name['hotlists'].message_type = api_dot_api__proto_dot_features__objects__pb2._HOTLIST
_GETHOTLISTSTARCOUNTREQUEST.fields_by_name['hotlist_ref'].message_type = api_dot_api__proto_dot_common__pb2._HOTLISTREF
_STARHOTLISTREQUEST.fields_by_name['hotlist_ref'].message_type = api_dot_api__proto_dot_common__pb2._HOTLISTREF
_GETHOTLISTREQUEST.fields_by_name['hotlist_ref'].message_type = api_dot_api__proto_dot_common__pb2._HOTLISTREF
_GETHOTLISTRESPONSE.fields_by_name['hotlist'].message_type = api_dot_api__proto_dot_features__objects__pb2._HOTLIST
_LISTHOTLISTITEMSREQUEST.fields_by_name['hotlist_ref'].message_type = api_dot_api__proto_dot_common__pb2._HOTLISTREF
_LISTHOTLISTITEMSREQUEST.fields_by_name['pagination'].message_type = api_dot_api__proto_dot_common__pb2._PAGINATION
_LISTHOTLISTITEMSRESPONSE.fields_by_name['items'].message_type = api_dot_api__proto_dot_features__objects__pb2._HOTLISTITEM
_CREATEHOTLISTREQUEST.fields_by_name['editor_refs'].message_type = api_dot_api__proto_dot_common__pb2._USERREF
_CREATEHOTLISTREQUEST.fields_by_name['issue_refs'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
_REMOVEISSUESFROMHOTLISTSREQUEST.fields_by_name['hotlist_refs'].message_type = api_dot_api__proto_dot_common__pb2._HOTLISTREF
_REMOVEISSUESFROMHOTLISTSREQUEST.fields_by_name['issue_refs'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
_ADDISSUESTOHOTLISTSREQUEST.fields_by_name['hotlist_refs'].message_type = api_dot_api__proto_dot_common__pb2._HOTLISTREF
_ADDISSUESTOHOTLISTSREQUEST.fields_by_name['issue_refs'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
_RERANKHOTLISTISSUESREQUEST.fields_by_name['hotlist_ref'].message_type = api_dot_api__proto_dot_common__pb2._HOTLISTREF
_RERANKHOTLISTISSUESREQUEST.fields_by_name['moved_refs'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
_RERANKHOTLISTISSUESREQUEST.fields_by_name['target_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
_UPDATEHOTLISTISSUENOTEREQUEST.fields_by_name['hotlist_ref'].message_type = api_dot_api__proto_dot_common__pb2._HOTLISTREF
_UPDATEHOTLISTISSUENOTEREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
_DELETEHOTLISTREQUEST.fields_by_name['hotlist_ref'].message_type = api_dot_api__proto_dot_common__pb2._HOTLISTREF
_PREDICTCOMPONENTRESPONSE.fields_by_name['component_ref'].message_type = api_dot_api__proto_dot_common__pb2._COMPONENTREF
DESCRIPTOR.message_types_by_name['ListHotlistsByUserRequest'] = _LISTHOTLISTSBYUSERREQUEST
DESCRIPTOR.message_types_by_name['ListHotlistsByUserResponse'] = _LISTHOTLISTSBYUSERRESPONSE
DESCRIPTOR.message_types_by_name['ListHotlistsByIssueRequest'] = _LISTHOTLISTSBYISSUEREQUEST
DESCRIPTOR.message_types_by_name['ListHotlistsByIssueResponse'] = _LISTHOTLISTSBYISSUERESPONSE
DESCRIPTOR.message_types_by_name['ListRecentlyVisitedHotlistsRequest'] = _LISTRECENTLYVISITEDHOTLISTSREQUEST
DESCRIPTOR.message_types_by_name['ListRecentlyVisitedHotlistsResponse'] = _LISTRECENTLYVISITEDHOTLISTSRESPONSE
DESCRIPTOR.message_types_by_name['ListStarredHotlistsRequest'] = _LISTSTARREDHOTLISTSREQUEST
DESCRIPTOR.message_types_by_name['ListStarredHotlistsResponse'] = _LISTSTARREDHOTLISTSRESPONSE
DESCRIPTOR.message_types_by_name['GetHotlistStarCountRequest'] = _GETHOTLISTSTARCOUNTREQUEST
DESCRIPTOR.message_types_by_name['GetHotlistStarCountResponse'] = _GETHOTLISTSTARCOUNTRESPONSE
DESCRIPTOR.message_types_by_name['StarHotlistRequest'] = _STARHOTLISTREQUEST
DESCRIPTOR.message_types_by_name['StarHotlistResponse'] = _STARHOTLISTRESPONSE
DESCRIPTOR.message_types_by_name['GetHotlistRequest'] = _GETHOTLISTREQUEST
DESCRIPTOR.message_types_by_name['GetHotlistResponse'] = _GETHOTLISTRESPONSE
DESCRIPTOR.message_types_by_name['ListHotlistItemsRequest'] = _LISTHOTLISTITEMSREQUEST
DESCRIPTOR.message_types_by_name['ListHotlistItemsResponse'] = _LISTHOTLISTITEMSRESPONSE
DESCRIPTOR.message_types_by_name['CreateHotlistRequest'] = _CREATEHOTLISTREQUEST
DESCRIPTOR.message_types_by_name['CreateHotlistResponse'] = _CREATEHOTLISTRESPONSE
DESCRIPTOR.message_types_by_name['CheckHotlistNameRequest'] = _CHECKHOTLISTNAMEREQUEST
DESCRIPTOR.message_types_by_name['CheckHotlistNameResponse'] = _CHECKHOTLISTNAMERESPONSE
DESCRIPTOR.message_types_by_name['RemoveIssuesFromHotlistsRequest'] = _REMOVEISSUESFROMHOTLISTSREQUEST
DESCRIPTOR.message_types_by_name['RemoveIssuesFromHotlistsResponse'] = _REMOVEISSUESFROMHOTLISTSRESPONSE
DESCRIPTOR.message_types_by_name['AddIssuesToHotlistsRequest'] = _ADDISSUESTOHOTLISTSREQUEST
DESCRIPTOR.message_types_by_name['AddIssuesToHotlistsResponse'] = _ADDISSUESTOHOTLISTSRESPONSE
DESCRIPTOR.message_types_by_name['RerankHotlistIssuesRequest'] = _RERANKHOTLISTISSUESREQUEST
DESCRIPTOR.message_types_by_name['RerankHotlistIssuesResponse'] = _RERANKHOTLISTISSUESRESPONSE
DESCRIPTOR.message_types_by_name['UpdateHotlistIssueNoteRequest'] = _UPDATEHOTLISTISSUENOTEREQUEST
DESCRIPTOR.message_types_by_name['UpdateHotlistIssueNoteResponse'] = _UPDATEHOTLISTISSUENOTERESPONSE
DESCRIPTOR.message_types_by_name['DeleteHotlistRequest'] = _DELETEHOTLISTREQUEST
DESCRIPTOR.message_types_by_name['DeleteHotlistResponse'] = _DELETEHOTLISTRESPONSE
DESCRIPTOR.message_types_by_name['PredictComponentRequest'] = _PREDICTCOMPONENTREQUEST
DESCRIPTOR.message_types_by_name['PredictComponentResponse'] = _PREDICTCOMPONENTRESPONSE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

ListHotlistsByUserRequest = _reflection.GeneratedProtocolMessageType('ListHotlistsByUserRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTHOTLISTSBYUSERREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.ListHotlistsByUserRequest)
  ))
_sym_db.RegisterMessage(ListHotlistsByUserRequest)

ListHotlistsByUserResponse = _reflection.GeneratedProtocolMessageType('ListHotlistsByUserResponse', (_message.Message,), dict(
  DESCRIPTOR = _LISTHOTLISTSBYUSERRESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.ListHotlistsByUserResponse)
  ))
_sym_db.RegisterMessage(ListHotlistsByUserResponse)

ListHotlistsByIssueRequest = _reflection.GeneratedProtocolMessageType('ListHotlistsByIssueRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTHOTLISTSBYISSUEREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.ListHotlistsByIssueRequest)
  ))
_sym_db.RegisterMessage(ListHotlistsByIssueRequest)

ListHotlistsByIssueResponse = _reflection.GeneratedProtocolMessageType('ListHotlistsByIssueResponse', (_message.Message,), dict(
  DESCRIPTOR = _LISTHOTLISTSBYISSUERESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.ListHotlistsByIssueResponse)
  ))
_sym_db.RegisterMessage(ListHotlistsByIssueResponse)

ListRecentlyVisitedHotlistsRequest = _reflection.GeneratedProtocolMessageType('ListRecentlyVisitedHotlistsRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTRECENTLYVISITEDHOTLISTSREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.ListRecentlyVisitedHotlistsRequest)
  ))
_sym_db.RegisterMessage(ListRecentlyVisitedHotlistsRequest)

ListRecentlyVisitedHotlistsResponse = _reflection.GeneratedProtocolMessageType('ListRecentlyVisitedHotlistsResponse', (_message.Message,), dict(
  DESCRIPTOR = _LISTRECENTLYVISITEDHOTLISTSRESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.ListRecentlyVisitedHotlistsResponse)
  ))
_sym_db.RegisterMessage(ListRecentlyVisitedHotlistsResponse)

ListStarredHotlistsRequest = _reflection.GeneratedProtocolMessageType('ListStarredHotlistsRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTSTARREDHOTLISTSREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.ListStarredHotlistsRequest)
  ))
_sym_db.RegisterMessage(ListStarredHotlistsRequest)

ListStarredHotlistsResponse = _reflection.GeneratedProtocolMessageType('ListStarredHotlistsResponse', (_message.Message,), dict(
  DESCRIPTOR = _LISTSTARREDHOTLISTSRESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.ListStarredHotlistsResponse)
  ))
_sym_db.RegisterMessage(ListStarredHotlistsResponse)

GetHotlistStarCountRequest = _reflection.GeneratedProtocolMessageType('GetHotlistStarCountRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETHOTLISTSTARCOUNTREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.GetHotlistStarCountRequest)
  ))
_sym_db.RegisterMessage(GetHotlistStarCountRequest)

GetHotlistStarCountResponse = _reflection.GeneratedProtocolMessageType('GetHotlistStarCountResponse', (_message.Message,), dict(
  DESCRIPTOR = _GETHOTLISTSTARCOUNTRESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.GetHotlistStarCountResponse)
  ))
_sym_db.RegisterMessage(GetHotlistStarCountResponse)

StarHotlistRequest = _reflection.GeneratedProtocolMessageType('StarHotlistRequest', (_message.Message,), dict(
  DESCRIPTOR = _STARHOTLISTREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.StarHotlistRequest)
  ))
_sym_db.RegisterMessage(StarHotlistRequest)

StarHotlistResponse = _reflection.GeneratedProtocolMessageType('StarHotlistResponse', (_message.Message,), dict(
  DESCRIPTOR = _STARHOTLISTRESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.StarHotlistResponse)
  ))
_sym_db.RegisterMessage(StarHotlistResponse)

GetHotlistRequest = _reflection.GeneratedProtocolMessageType('GetHotlistRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETHOTLISTREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.GetHotlistRequest)
  ))
_sym_db.RegisterMessage(GetHotlistRequest)

GetHotlistResponse = _reflection.GeneratedProtocolMessageType('GetHotlistResponse', (_message.Message,), dict(
  DESCRIPTOR = _GETHOTLISTRESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.GetHotlistResponse)
  ))
_sym_db.RegisterMessage(GetHotlistResponse)

ListHotlistItemsRequest = _reflection.GeneratedProtocolMessageType('ListHotlistItemsRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTHOTLISTITEMSREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.ListHotlistItemsRequest)
  ))
_sym_db.RegisterMessage(ListHotlistItemsRequest)

ListHotlistItemsResponse = _reflection.GeneratedProtocolMessageType('ListHotlistItemsResponse', (_message.Message,), dict(
  DESCRIPTOR = _LISTHOTLISTITEMSRESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.ListHotlistItemsResponse)
  ))
_sym_db.RegisterMessage(ListHotlistItemsResponse)

CreateHotlistRequest = _reflection.GeneratedProtocolMessageType('CreateHotlistRequest', (_message.Message,), dict(
  DESCRIPTOR = _CREATEHOTLISTREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.CreateHotlistRequest)
  ))
_sym_db.RegisterMessage(CreateHotlistRequest)

CreateHotlistResponse = _reflection.GeneratedProtocolMessageType('CreateHotlistResponse', (_message.Message,), dict(
  DESCRIPTOR = _CREATEHOTLISTRESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.CreateHotlistResponse)
  ))
_sym_db.RegisterMessage(CreateHotlistResponse)

CheckHotlistNameRequest = _reflection.GeneratedProtocolMessageType('CheckHotlistNameRequest', (_message.Message,), dict(
  DESCRIPTOR = _CHECKHOTLISTNAMEREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.CheckHotlistNameRequest)
  ))
_sym_db.RegisterMessage(CheckHotlistNameRequest)

CheckHotlistNameResponse = _reflection.GeneratedProtocolMessageType('CheckHotlistNameResponse', (_message.Message,), dict(
  DESCRIPTOR = _CHECKHOTLISTNAMERESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.CheckHotlistNameResponse)
  ))
_sym_db.RegisterMessage(CheckHotlistNameResponse)

RemoveIssuesFromHotlistsRequest = _reflection.GeneratedProtocolMessageType('RemoveIssuesFromHotlistsRequest', (_message.Message,), dict(
  DESCRIPTOR = _REMOVEISSUESFROMHOTLISTSREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.RemoveIssuesFromHotlistsRequest)
  ))
_sym_db.RegisterMessage(RemoveIssuesFromHotlistsRequest)

RemoveIssuesFromHotlistsResponse = _reflection.GeneratedProtocolMessageType('RemoveIssuesFromHotlistsResponse', (_message.Message,), dict(
  DESCRIPTOR = _REMOVEISSUESFROMHOTLISTSRESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.RemoveIssuesFromHotlistsResponse)
  ))
_sym_db.RegisterMessage(RemoveIssuesFromHotlistsResponse)

AddIssuesToHotlistsRequest = _reflection.GeneratedProtocolMessageType('AddIssuesToHotlistsRequest', (_message.Message,), dict(
  DESCRIPTOR = _ADDISSUESTOHOTLISTSREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.AddIssuesToHotlistsRequest)
  ))
_sym_db.RegisterMessage(AddIssuesToHotlistsRequest)

AddIssuesToHotlistsResponse = _reflection.GeneratedProtocolMessageType('AddIssuesToHotlistsResponse', (_message.Message,), dict(
  DESCRIPTOR = _ADDISSUESTOHOTLISTSRESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.AddIssuesToHotlistsResponse)
  ))
_sym_db.RegisterMessage(AddIssuesToHotlistsResponse)

RerankHotlistIssuesRequest = _reflection.GeneratedProtocolMessageType('RerankHotlistIssuesRequest', (_message.Message,), dict(
  DESCRIPTOR = _RERANKHOTLISTISSUESREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.RerankHotlistIssuesRequest)
  ))
_sym_db.RegisterMessage(RerankHotlistIssuesRequest)

RerankHotlistIssuesResponse = _reflection.GeneratedProtocolMessageType('RerankHotlistIssuesResponse', (_message.Message,), dict(
  DESCRIPTOR = _RERANKHOTLISTISSUESRESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.RerankHotlistIssuesResponse)
  ))
_sym_db.RegisterMessage(RerankHotlistIssuesResponse)

UpdateHotlistIssueNoteRequest = _reflection.GeneratedProtocolMessageType('UpdateHotlistIssueNoteRequest', (_message.Message,), dict(
  DESCRIPTOR = _UPDATEHOTLISTISSUENOTEREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.UpdateHotlistIssueNoteRequest)
  ))
_sym_db.RegisterMessage(UpdateHotlistIssueNoteRequest)

UpdateHotlistIssueNoteResponse = _reflection.GeneratedProtocolMessageType('UpdateHotlistIssueNoteResponse', (_message.Message,), dict(
  DESCRIPTOR = _UPDATEHOTLISTISSUENOTERESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.UpdateHotlistIssueNoteResponse)
  ))
_sym_db.RegisterMessage(UpdateHotlistIssueNoteResponse)

DeleteHotlistRequest = _reflection.GeneratedProtocolMessageType('DeleteHotlistRequest', (_message.Message,), dict(
  DESCRIPTOR = _DELETEHOTLISTREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.DeleteHotlistRequest)
  ))
_sym_db.RegisterMessage(DeleteHotlistRequest)

DeleteHotlistResponse = _reflection.GeneratedProtocolMessageType('DeleteHotlistResponse', (_message.Message,), dict(
  DESCRIPTOR = _DELETEHOTLISTRESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.DeleteHotlistResponse)
  ))
_sym_db.RegisterMessage(DeleteHotlistResponse)

PredictComponentRequest = _reflection.GeneratedProtocolMessageType('PredictComponentRequest', (_message.Message,), dict(
  DESCRIPTOR = _PREDICTCOMPONENTREQUEST,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.PredictComponentRequest)
  ))
_sym_db.RegisterMessage(PredictComponentRequest)

PredictComponentResponse = _reflection.GeneratedProtocolMessageType('PredictComponentResponse', (_message.Message,), dict(
  DESCRIPTOR = _PREDICTCOMPONENTRESPONSE,
  __module__ = 'api.api_proto.features_pb2'
  # @@protoc_insertion_point(class_scope:monorail.PredictComponentResponse)
  ))
_sym_db.RegisterMessage(PredictComponentResponse)



_FEATURES = _descriptor.ServiceDescriptor(
  name='Features',
  full_name='monorail.Features',
  file=DESCRIPTOR,
  index=0,
  serialized_options=None,
  serialized_start=2387,
  serialized_end=3960,
  methods=[
  _descriptor.MethodDescriptor(
    name='ListHotlistsByUser',
    full_name='monorail.Features.ListHotlistsByUser',
    index=0,
    containing_service=None,
    input_type=_LISTHOTLISTSBYUSERREQUEST,
    output_type=_LISTHOTLISTSBYUSERRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='ListHotlistsByIssue',
    full_name='monorail.Features.ListHotlistsByIssue',
    index=1,
    containing_service=None,
    input_type=_LISTHOTLISTSBYISSUEREQUEST,
    output_type=_LISTHOTLISTSBYISSUERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='ListRecentlyVisitedHotlists',
    full_name='monorail.Features.ListRecentlyVisitedHotlists',
    index=2,
    containing_service=None,
    input_type=_LISTRECENTLYVISITEDHOTLISTSREQUEST,
    output_type=_LISTRECENTLYVISITEDHOTLISTSRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='ListStarredHotlists',
    full_name='monorail.Features.ListStarredHotlists',
    index=3,
    containing_service=None,
    input_type=_LISTSTARREDHOTLISTSREQUEST,
    output_type=_LISTSTARREDHOTLISTSRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetHotlistStarCount',
    full_name='monorail.Features.GetHotlistStarCount',
    index=4,
    containing_service=None,
    input_type=_GETHOTLISTSTARCOUNTREQUEST,
    output_type=_GETHOTLISTSTARCOUNTRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='StarHotlist',
    full_name='monorail.Features.StarHotlist',
    index=5,
    containing_service=None,
    input_type=_STARHOTLISTREQUEST,
    output_type=_STARHOTLISTRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetHotlist',
    full_name='monorail.Features.GetHotlist',
    index=6,
    containing_service=None,
    input_type=_GETHOTLISTREQUEST,
    output_type=_GETHOTLISTRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='ListHotlistItems',
    full_name='monorail.Features.ListHotlistItems',
    index=7,
    containing_service=None,
    input_type=_LISTHOTLISTITEMSREQUEST,
    output_type=_LISTHOTLISTITEMSRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='CreateHotlist',
    full_name='monorail.Features.CreateHotlist',
    index=8,
    containing_service=None,
    input_type=_CREATEHOTLISTREQUEST,
    output_type=_CREATEHOTLISTRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='CheckHotlistName',
    full_name='monorail.Features.CheckHotlistName',
    index=9,
    containing_service=None,
    input_type=_CHECKHOTLISTNAMEREQUEST,
    output_type=_CHECKHOTLISTNAMERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='RemoveIssuesFromHotlists',
    full_name='monorail.Features.RemoveIssuesFromHotlists',
    index=10,
    containing_service=None,
    input_type=_REMOVEISSUESFROMHOTLISTSREQUEST,
    output_type=_REMOVEISSUESFROMHOTLISTSRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='AddIssuesToHotlists',
    full_name='monorail.Features.AddIssuesToHotlists',
    index=11,
    containing_service=None,
    input_type=_ADDISSUESTOHOTLISTSREQUEST,
    output_type=_ADDISSUESTOHOTLISTSRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='RerankHotlistIssues',
    full_name='monorail.Features.RerankHotlistIssues',
    index=12,
    containing_service=None,
    input_type=_RERANKHOTLISTISSUESREQUEST,
    output_type=_RERANKHOTLISTISSUESRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='UpdateHotlistIssueNote',
    full_name='monorail.Features.UpdateHotlistIssueNote',
    index=13,
    containing_service=None,
    input_type=_UPDATEHOTLISTISSUENOTEREQUEST,
    output_type=_UPDATEHOTLISTISSUENOTERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='DeleteHotlist',
    full_name='monorail.Features.DeleteHotlist',
    index=14,
    containing_service=None,
    input_type=_DELETEHOTLISTREQUEST,
    output_type=_DELETEHOTLISTRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='PredictComponent',
    full_name='monorail.Features.PredictComponent',
    index=15,
    containing_service=None,
    input_type=_PREDICTCOMPONENTREQUEST,
    output_type=_PREDICTCOMPONENTRESPONSE,
    serialized_options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_FEATURES)

DESCRIPTOR.services_by_name['Features'] = _FEATURES

# @@protoc_insertion_point(module_scope)
