# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: backend.proto

from google.protobuf.internal import enum_type_wrapper
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()


import anki.fluent_pb2 as fluent__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='backend.proto',
  package='BackendProto',
  syntax='proto3',
  serialized_options=None,
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n\rbackend.proto\x12\x0c\x42\x61\x63kendProto\x1a\x0c\x66luent.proto\"\x07\n\x05\x45mpty\"\x1c\n\rOptionalInt32\x12\x0b\n\x03val\x18\x01 \x01(\x11\"\x1d\n\x0eOptionalUInt32\x12\x0b\n\x03val\x18\x01 \x01(\r\"\x14\n\x05Int32\x12\x0b\n\x03val\x18\x01 \x01(\x11\"\x15\n\x06UInt32\x12\x0b\n\x03val\x18\x01 \x01(\r\"\x14\n\x05Int64\x12\x0b\n\x03val\x18\x01 \x01(\x03\"\x15\n\x06String\x12\x0b\n\x03val\x18\x01 \x01(\t\"\x14\n\x04Json\x12\x0c\n\x04json\x18\x01 \x01(\x0c\"\x13\n\x04\x42ool\x12\x0b\n\x03val\x18\x01 \x01(\x08\"\x1a\n\nNoteTypeID\x12\x0c\n\x04ntid\x18\x01 \x01(\x03\"\x15\n\x06NoteID\x12\x0b\n\x03nid\x18\x01 \x01(\x03\"\x15\n\x06\x43\x61rdID\x12\x0b\n\x03\x63id\x18\x01 \x01(\x03\"\x15\n\x06\x44\x65\x63kID\x12\x0b\n\x03\x64id\x18\x01 \x01(\x03\"\x1c\n\x0c\x44\x65\x63kConfigID\x12\x0c\n\x04\x64\x63id\x18\x01 \x01(\x03\"\xd7\x06\n\x0f\x44\x65\x63kConfigInner\x12\x13\n\x0blearn_steps\x18\x01 \x03(\x02\x12\x15\n\rrelearn_steps\x18\x02 \x03(\x02\x12\x13\n\x0bnew_per_day\x18\t \x01(\r\x12\x17\n\x0freviews_per_day\x18\n \x01(\r\x12\x14\n\x0cinitial_ease\x18\x0b \x01(\x02\x12\x17\n\x0f\x65\x61sy_multiplier\x18\x0c \x01(\x02\x12\x17\n\x0fhard_multiplier\x18\r \x01(\x02\x12\x18\n\x10lapse_multiplier\x18\x0e \x01(\x02\x12\x1b\n\x13interval_multiplier\x18\x0f \x01(\x02\x12\x1f\n\x17maximum_review_interval\x18\x10 \x01(\r\x12\x1f\n\x17minimum_review_interval\x18\x11 \x01(\r\x12 \n\x18graduating_interval_good\x18\x12 \x01(\r\x12 \n\x18graduating_interval_easy\x18\x13 \x01(\r\x12\x42\n\x0enew_card_order\x18\x14 \x01(\x0e\x32*.BackendProto.DeckConfigInner.NewCardOrder\x12?\n\x0cleech_action\x18\x15 \x01(\x0e\x32).BackendProto.DeckConfigInner.LeechAction\x12\x17\n\x0fleech_threshold\x18\x16 \x01(\r\x12\x18\n\x10\x64isable_autoplay\x18\x17 \x01(\x08\x12\x1f\n\x17\x63\x61p_answer_time_to_secs\x18\x18 \x01(\r\x12\x1a\n\x12visible_timer_secs\x18\x19 \x01(\r\x12+\n#skip_question_when_replaying_answer\x18\x1a \x01(\x08\x12\x10\n\x08\x62ury_new\x18\x1b \x01(\x08\x12\x14\n\x0c\x62ury_reviews\x18\x1c \x01(\x08\x12\x0e\n\x05other\x18\xff\x01 \x01(\x0c\"A\n\x0cNewCardOrder\x12\x16\n\x12NEW_CARD_ORDER_DUE\x10\x00\x12\x19\n\x15NEW_CARD_ORDER_RANDOM\x10\x01\"B\n\x0bLeechAction\x12\x18\n\x14LEECH_ACTION_SUSPEND\x10\x00\x12\x19\n\x15LEECH_ACTION_TAG_ONLY\x10\x01J\x04\x08\x03\x10\t\"\xcf\x01\n\nDeckCommon\x12\x17\n\x0fstudy_collapsed\x18\x01 \x01(\x08\x12\x19\n\x11\x62rowser_collapsed\x18\x02 \x01(\x08\x12\x18\n\x10last_day_studied\x18\x03 \x01(\r\x12\x13\n\x0bnew_studied\x18\x04 \x01(\x05\x12\x16\n\x0ereview_studied\x18\x05 \x01(\x05\x12\x1c\n\x14milliseconds_studied\x18\x07 \x01(\x05\x12\x18\n\x10learning_studied\x18\x06 \x01(\x05\x12\x0e\n\x05other\x18\xff\x01 \x01(\x0c\"n\n\x08\x44\x65\x63kKind\x12*\n\x06normal\x18\x01 \x01(\x0b\x32\x18.BackendProto.NormalDeckH\x00\x12.\n\x08\x66iltered\x18\x02 \x01(\x0b\x32\x1a.BackendProto.FilteredDeckH\x00\x42\x06\n\x04kind\"_\n\nNormalDeck\x12\x11\n\tconfig_id\x18\x01 \x01(\x03\x12\x12\n\nextend_new\x18\x02 \x01(\r\x12\x15\n\rextend_review\x18\x03 \x01(\r\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\"\x81\x01\n\x0c\x46ilteredDeck\x12\x12\n\nreschedule\x18\x01 \x01(\x08\x12\x36\n\x0csearch_terms\x18\x02 \x03(\x0b\x32 .BackendProto.FilteredSearchTerm\x12\x0e\n\x06\x64\x65lays\x18\x03 \x03(\x02\x12\x15\n\rpreview_delay\x18\x04 \x01(\r\"\xec\x03\n\x12\x46ilteredSearchTerm\x12\x0e\n\x06search\x18\x01 \x01(\t\x12\r\n\x05limit\x18\x02 \x01(\r\x12\x43\n\x05order\x18\x03 \x01(\x0e\x32\x34.BackendProto.FilteredSearchTerm.FilteredSearchOrder\"\xf1\x02\n\x13\x46ilteredSearchOrder\x12&\n\"FILTERED_SEARCH_ORDER_OLDEST_FIRST\x10\x00\x12 \n\x1c\x46ILTERED_SEARCH_ORDER_RANDOM\x10\x01\x12-\n)FILTERED_SEARCH_ORDER_INTERVALS_ASCENDING\x10\x02\x12.\n*FILTERED_SEARCH_ORDER_INTERVALS_DESCENDING\x10\x03\x12 \n\x1c\x46ILTERED_SEARCH_ORDER_LAPSES\x10\x04\x12\x1f\n\x1b\x46ILTERED_SEARCH_ORDER_ADDED\x10\x05\x12\x1d\n\x19\x46ILTERED_SEARCH_ORDER_DUE\x10\x06\x12\'\n#FILTERED_SEARCH_ORDER_REVERSE_ADDED\x10\x07\x12&\n\"FILTERED_SEARCH_ORDER_DUE_PRIORITY\x10\x08\"d\n\x0fNoteFieldConfig\x12\x0e\n\x06sticky\x18\x01 \x01(\x08\x12\x0b\n\x03rtl\x18\x02 \x01(\x08\x12\x11\n\tfont_name\x18\x03 \x01(\t\x12\x11\n\tfont_size\x18\x04 \x01(\r\x12\x0e\n\x05other\x18\xff\x01 \x01(\x0c\"\xca\x01\n\x12\x43\x61rdTemplateConfig\x12\x10\n\x08q_format\x18\x01 \x01(\t\x12\x10\n\x08\x61_format\x18\x02 \x01(\t\x12\x18\n\x10q_format_browser\x18\x03 \x01(\t\x12\x18\n\x10\x61_format_browser\x18\x04 \x01(\t\x12\x16\n\x0etarget_deck_id\x18\x05 \x01(\x03\x12\x19\n\x11\x62rowser_font_name\x18\x06 \x01(\t\x12\x19\n\x11\x62rowser_font_size\x18\x07 \x01(\r\x12\x0e\n\x05other\x18\xff\x01 \x01(\x0c\"\x9e\x02\n\x0eNoteTypeConfig\x12/\n\x04kind\x18\x01 \x01(\x0e\x32!.BackendProto.NoteTypeConfig.Kind\x12\x16\n\x0esort_field_idx\x18\x02 \x01(\r\x12\x0b\n\x03\x63ss\x18\x03 \x01(\t\x12\x16\n\x0etarget_deck_id\x18\x04 \x01(\x03\x12\x11\n\tlatex_pre\x18\x05 \x01(\t\x12\x12\n\nlatex_post\x18\x06 \x01(\t\x12\x11\n\tlatex_svg\x18\x07 \x01(\x08\x12+\n\x04reqs\x18\x08 \x03(\x0b\x32\x1d.BackendProto.CardRequirement\x12\x0e\n\x05other\x18\xff\x01 \x01(\x0c\"\'\n\x04Kind\x12\x0f\n\x0bKIND_NORMAL\x10\x00\x12\x0e\n\nKIND_CLOZE\x10\x01\"\x9c\x01\n\x0f\x43\x61rdRequirement\x12\x10\n\x08\x63\x61rd_ord\x18\x01 \x01(\r\x12\x30\n\x04kind\x18\x02 \x01(\x0e\x32\".BackendProto.CardRequirement.Kind\x12\x12\n\nfield_ords\x18\x03 \x03(\r\"1\n\x04Kind\x12\r\n\tKIND_NONE\x10\x00\x12\x0c\n\x08KIND_ANY\x10\x01\x12\x0c\n\x08KIND_ALL\x10\x02\"\xcf\x01\n\x04\x44\x65\x63k\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nmtime_secs\x18\x03 \x01(\r\x12\x0b\n\x03usn\x18\x04 \x01(\x05\x12(\n\x06\x63ommon\x18\x05 \x01(\x0b\x32\x18.BackendProto.DeckCommon\x12*\n\x06normal\x18\x06 \x01(\x0b\x32\x18.BackendProto.NormalDeckH\x00\x12.\n\x08\x66iltered\x18\x07 \x01(\x0b\x32\x1a.BackendProto.FilteredDeckH\x00\x42\x06\n\x04kind\"\xcb\x01\n\x08NoteType\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nmtime_secs\x18\x03 \x01(\r\x12\x0b\n\x03usn\x18\x04 \x01(\x11\x12,\n\x06\x63onfig\x18\x07 \x01(\x0b\x32\x1c.BackendProto.NoteTypeConfig\x12\'\n\x06\x66ields\x18\x08 \x03(\x0b\x32\x17.BackendProto.NoteField\x12-\n\ttemplates\x18\t \x03(\x0b\x32\x1a.BackendProto.CardTemplate\"s\n\tNoteField\x12)\n\x03ord\x18\x01 \x01(\x0b\x32\x1c.BackendProto.OptionalUInt32\x12\x0c\n\x04name\x18\x02 \x01(\t\x12-\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x1d.BackendProto.NoteFieldConfig\"\x9a\x01\n\x0c\x43\x61rdTemplate\x12)\n\x03ord\x18\x01 \x01(\x0b\x32\x1c.BackendProto.OptionalUInt32\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nmtime_secs\x18\x03 \x01(\r\x12\x0b\n\x03usn\x18\x04 \x01(\x11\x12\x30\n\x06\x63onfig\x18\x05 \x01(\x0b\x32 .BackendProto.CardTemplateConfig\"t\n\x04Note\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04guid\x18\x02 \x01(\t\x12\x13\n\x0bnotetype_id\x18\x03 \x01(\x03\x12\x12\n\nmtime_secs\x18\x04 \x01(\r\x12\x0b\n\x03usn\x18\x05 \x01(\x05\x12\x0c\n\x04tags\x18\x06 \x03(\t\x12\x0e\n\x06\x66ields\x18\x07 \x03(\t\"\xc1\x02\n\x04\x43\x61rd\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0f\n\x07note_id\x18\x02 \x01(\x03\x12\x0f\n\x07\x64\x65\x63k_id\x18\x03 \x01(\x03\x12\x14\n\x0ctemplate_idx\x18\x04 \x01(\r\x12\x12\n\nmtime_secs\x18\x05 \x01(\x03\x12\x0b\n\x03usn\x18\x06 \x01(\x11\x12\r\n\x05\x63type\x18\x07 \x01(\r\x12\r\n\x05queue\x18\x08 \x01(\x11\x12\x0b\n\x03\x64ue\x18\t \x01(\x11\x12\x10\n\x08interval\x18\n \x01(\r\x12\x13\n\x0b\x65\x61se_factor\x18\x0b \x01(\r\x12\x0c\n\x04reps\x18\x0c \x01(\r\x12\x0e\n\x06lapses\x18\r \x01(\r\x12\x17\n\x0fremaining_steps\x18\x0e \x01(\r\x12\x14\n\x0coriginal_due\x18\x0f \x01(\x11\x12\x18\n\x10original_deck_id\x18\x10 \x01(\x03\x12\r\n\x05\x66lags\x18\x11 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x12 \x01(\t\"R\n\x0b\x42\x61\x63kendInit\x12\x17\n\x0fpreferred_langs\x18\x01 \x03(\t\x12\x1a\n\x12locale_folder_path\x18\x02 \x01(\t\x12\x0e\n\x06server\x18\x03 \x01(\x08\"F\n\x0fI18nBackendInit\x12\x17\n\x0fpreferred_langs\x18\x04 \x03(\t\x12\x1a\n\x12locale_folder_path\x18\x05 \x01(\t\"\x9e\x04\n\x0c\x42\x61\x63kendError\x12\x11\n\tlocalized\x18\x01 \x01(\t\x12,\n\rinvalid_input\x18\x02 \x01(\x0b\x32\x13.BackendProto.EmptyH\x00\x12-\n\x0etemplate_parse\x18\x03 \x01(\x0b\x32\x13.BackendProto.EmptyH\x00\x12\'\n\x08io_error\x18\x04 \x01(\x0b\x32\x13.BackendProto.EmptyH\x00\x12\'\n\x08\x64\x62_error\x18\x05 \x01(\x0b\x32\x13.BackendProto.EmptyH\x00\x12\x33\n\rnetwork_error\x18\x06 \x01(\x0b\x32\x1a.BackendProto.NetworkErrorH\x00\x12-\n\nsync_error\x18\x07 \x01(\x0b\x32\x17.BackendProto.SyncErrorH\x00\x12*\n\x0binterrupted\x18\x08 \x01(\x0b\x32\x13.BackendProto.EmptyH\x00\x12\x14\n\njson_error\x18\t \x01(\tH\x00\x12\x15\n\x0bproto_error\x18\n \x01(\tH\x00\x12.\n\x0fnot_found_error\x18\x0b \x01(\x0b\x32\x13.BackendProto.EmptyH\x00\x12%\n\x06\x65xists\x18\x0c \x01(\x0b\x32\x13.BackendProto.EmptyH\x00\x12/\n\x10\x64\x65\x63k_is_filtered\x18\r \x01(\x0b\x32\x13.BackendProto.EmptyH\x00\x42\x07\n\x05value\"\x92\x01\n\x0cNetworkError\x12\x39\n\x04kind\x18\x01 \x01(\x0e\x32+.BackendProto.NetworkError.NetworkErrorKind\"G\n\x10NetworkErrorKind\x12\t\n\x05OTHER\x10\x00\x12\x0b\n\x07OFFLINE\x10\x01\x12\x0b\n\x07TIMEOUT\x10\x02\x12\x0e\n\nPROXY_AUTH\x10\x03\"\x97\x02\n\tSyncError\x12\x33\n\x04kind\x18\x01 \x01(\x0e\x32%.BackendProto.SyncError.SyncErrorKind\"\xd4\x01\n\rSyncErrorKind\x12\t\n\x05OTHER\x10\x00\x12\x0c\n\x08\x43ONFLICT\x10\x01\x12\x10\n\x0cSERVER_ERROR\x10\x02\x12\x12\n\x0e\x43LIENT_TOO_OLD\x10\x03\x12\x0f\n\x0b\x41UTH_FAILED\x10\x04\x12\x12\n\x0eSERVER_MESSAGE\x10\x05\x12\x18\n\x14MEDIA_CHECK_REQUIRED\x10\x06\x12\x13\n\x0fRESYNC_REQUIRED\x10\x07\x12\x13\n\x0f\x43LOCK_INCORRECT\x10\x08\x12\x1b\n\x17\x44\x41TABASE_CHECK_REQUIRED\x10\t\"\xb3\x02\n\x08Progress\x12#\n\x04none\x18\x01 \x01(\x0b\x32\x13.BackendProto.EmptyH\x00\x12\x35\n\nmedia_sync\x18\x02 \x01(\x0b\x32\x1f.BackendProto.MediaSyncProgressH\x00\x12\x15\n\x0bmedia_check\x18\x03 \x01(\tH\x00\x12\x33\n\tfull_sync\x18\x04 \x01(\x0b\x32\x1e.BackendProto.FullSyncProgressH\x00\x12\x37\n\x0bnormal_sync\x18\x05 \x01(\x0b\x32 .BackendProto.NormalSyncProgressH\x00\x12=\n\x0e\x64\x61tabase_check\x18\x06 \x01(\x0b\x32#.BackendProto.DatabaseCheckProgressH\x00\x42\x07\n\x05value\"D\n\x11MediaSyncProgress\x12\x0f\n\x07\x63hecked\x18\x01 \x01(\t\x12\r\n\x05\x61\x64\x64\x65\x64\x18\x02 \x01(\t\x12\x0f\n\x07removed\x18\x03 \x01(\t\"6\n\x10\x46ullSyncProgress\x12\x13\n\x0btransferred\x18\x01 \x01(\r\x12\r\n\x05total\x18\x02 \x01(\r\";\n\x17MediaSyncUploadProgress\x12\r\n\x05\x66iles\x18\x01 \x01(\r\x12\x11\n\tdeletions\x18\x02 \x01(\r\"C\n\x12NormalSyncProgress\x12\r\n\x05stage\x18\x01 \x01(\t\x12\r\n\x05\x61\x64\x64\x65\x64\x18\x02 \x01(\t\x12\x0f\n\x07removed\x18\x03 \x01(\t\"R\n\x15\x44\x61tabaseCheckProgress\x12\r\n\x05stage\x18\x01 \x01(\t\x12\x13\n\x0bstage_total\x18\x02 \x01(\r\x12\x15\n\rstage_current\x18\x03 \x01(\r\"@\n\x13SchedTimingTodayOut\x12\x14\n\x0c\x64\x61ys_elapsed\x18\x01 \x01(\r\x12\x13\n\x0bnext_day_at\x18\x02 \x01(\x03\".\n\nDeckTreeIn\x12\x0b\n\x03now\x18\x01 \x01(\x03\x12\x13\n\x0btop_deck_id\x18\x02 \x01(\x03\"\xcd\x01\n\x0c\x44\x65\x63kTreeNode\x12\x0f\n\x07\x64\x65\x63k_id\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t\x12,\n\x08\x63hildren\x18\x03 \x03(\x0b\x32\x1a.BackendProto.DeckTreeNode\x12\r\n\x05level\x18\x04 \x01(\r\x12\x11\n\tcollapsed\x18\x05 \x01(\x08\x12\x14\n\x0creview_count\x18\x06 \x01(\r\x12\x13\n\x0blearn_count\x18\x07 \x01(\r\x12\x11\n\tnew_count\x18\x08 \x01(\r\x12\x10\n\x08\x66iltered\x18\x10 \x01(\x08\"8\n\x14RenderExistingCardIn\x12\x0f\n\x07\x63\x61rd_id\x18\x01 \x01(\x03\x12\x0f\n\x07\x62rowser\x18\x02 \x01(\x08\"s\n\x17RenderUncommittedCardIn\x12 \n\x04note\x18\x01 \x01(\x0b\x32\x12.BackendProto.Note\x12\x10\n\x08\x63\x61rd_ord\x18\x02 \x01(\r\x12\x10\n\x08template\x18\x03 \x01(\x0c\x12\x12\n\nfill_empty\x18\x04 \x01(\x08\"\x85\x01\n\rRenderCardOut\x12:\n\x0equestion_nodes\x18\x01 \x03(\x0b\x32\".BackendProto.RenderedTemplateNode\x12\x38\n\x0c\x61nswer_nodes\x18\x02 \x03(\x0b\x32\".BackendProto.RenderedTemplateNode\"q\n\x14RenderedTemplateNode\x12\x0e\n\x04text\x18\x01 \x01(\tH\x00\x12@\n\x0breplacement\x18\x02 \x01(\x0b\x32).BackendProto.RenderedTemplateReplacementH\x00\x42\x07\n\x05value\"X\n\x1bRenderedTemplateReplacement\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x14\n\x0c\x63urrent_text\x18\x02 \x01(\t\x12\x0f\n\x07\x66ilters\x18\x03 \x03(\t\"6\n\x0f\x45xtractAVTagsIn\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x15\n\rquestion_side\x18\x02 \x01(\x08\"F\n\x10\x45xtractAVTagsOut\x12\x0c\n\x04text\x18\x01 \x01(\t\x12$\n\x07\x61v_tags\x18\x02 \x03(\x0b\x32\x13.BackendProto.AVTag\"O\n\x05\x41VTag\x12\x18\n\x0esound_or_video\x18\x01 \x01(\tH\x00\x12#\n\x03tts\x18\x02 \x01(\x0b\x32\x14.BackendProto.TTSTagH\x00\x42\x07\n\x05value\"]\n\x06TTSTag\x12\x12\n\nfield_text\x18\x01 \x01(\t\x12\x0c\n\x04lang\x18\x02 \x01(\t\x12\x0e\n\x06voices\x18\x03 \x03(\t\x12\r\n\x05speed\x18\x04 \x01(\x02\x12\x12\n\nother_args\x18\x05 \x03(\t\"B\n\x0e\x45xtractLatexIn\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x0b\n\x03svg\x18\x02 \x01(\x08\x12\x15\n\rexpand_clozes\x18\x03 \x01(\x08\"L\n\x0f\x45xtractLatexOut\x12\x0c\n\x04text\x18\x01 \x01(\t\x12+\n\x05latex\x18\x02 \x03(\x0b\x32\x1c.BackendProto.ExtractedLatex\"6\n\x0e\x45xtractedLatex\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x12\n\nlatex_body\x18\x02 \x01(\t\"4\n\x0e\x41\x64\x64MediaFileIn\x12\x14\n\x0c\x64\x65sired_name\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"T\n\rCheckMediaOut\x12\x0e\n\x06unused\x18\x01 \x03(\t\x12\x0f\n\x07missing\x18\x02 \x03(\t\x12\x0e\n\x06report\x18\x03 \x01(\t\x12\x12\n\nhave_trash\x18\x04 \x01(\x08\"#\n\x11TrashMediaFilesIn\x12\x0e\n\x06\x66names\x18\x01 \x03(\t\"\xc3\x01\n\x11TranslateStringIn\x12\'\n\x03key\x18\x02 \x01(\x0e\x32\x1a.BackendProto.FluentString\x12\x37\n\x04\x61rgs\x18\x03 \x03(\x0b\x32).BackendProto.TranslateStringIn.ArgsEntry\x1aL\n\tArgsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.BackendProto.TranslateArgValue:\x02\x38\x01\"=\n\x11TranslateArgValue\x12\r\n\x03str\x18\x01 \x01(\tH\x00\x12\x10\n\x06number\x18\x02 \x01(\x01H\x00\x42\x07\n\x05value\"\x97\x01\n\x10\x46ormatTimespanIn\x12\x0f\n\x07seconds\x18\x01 \x01(\x02\x12\x37\n\x07\x63ontext\x18\x02 \x01(\x0e\x32&.BackendProto.FormatTimespanIn.Context\"9\n\x07\x43ontext\x12\x0b\n\x07PRECISE\x10\x00\x12\x12\n\x0e\x41NSWER_BUTTONS\x10\x01\x12\r\n\tINTERVALS\x10\x02\"0\n\x0eStudiedTodayIn\x12\r\n\x05\x63\x61rds\x18\x01 \x01(\r\x12\x0f\n\x07seconds\x18\x02 \x01(\x01\"=\n\x16\x43ongratsLearnMessageIn\x12\x10\n\x08next_due\x18\x01 \x01(\x02\x12\x11\n\tremaining\x18\x02 \x01(\r\"o\n\x10OpenCollectionIn\x12\x17\n\x0f\x63ollection_path\x18\x01 \x01(\t\x12\x19\n\x11media_folder_path\x18\x02 \x01(\t\x12\x15\n\rmedia_db_path\x18\x03 \x01(\t\x12\x10\n\x08log_path\x18\x04 \x01(\t\"G\n\rSearchCardsIn\x12\x0e\n\x06search\x18\x01 \x01(\t\x12&\n\x05order\x18\x02 \x01(\x0b\x32\x17.BackendProto.SortOrder\"\"\n\x0eSearchCardsOut\x12\x10\n\x08\x63\x61rd_ids\x18\x01 \x03(\x03\"\xac\x01\n\tSortOrder\x12*\n\x0b\x66rom_config\x18\x01 \x01(\x0b\x32\x13.BackendProto.EmptyH\x00\x12#\n\x04none\x18\x02 \x01(\x0b\x32\x13.BackendProto.EmptyH\x00\x12\x10\n\x06\x63ustom\x18\x03 \x01(\tH\x00\x12\x33\n\x07\x62uiltin\x18\x04 \x01(\x0b\x32 .BackendProto.BuiltinSearchOrderH\x00\x42\x07\n\x05value\"\x1f\n\rSearchNotesIn\x12\x0e\n\x06search\x18\x01 \x01(\t\"\"\n\x0eSearchNotesOut\x12\x10\n\x08note_ids\x18\x02 \x03(\x03\"\xc8\x02\n\x12\x42uiltinSearchOrder\x12>\n\x04kind\x18\x01 \x01(\x0e\x32\x30.BackendProto.BuiltinSearchOrder.BuiltinSortKind\x12\x0f\n\x07reverse\x18\x02 \x01(\x08\"\xe0\x01\n\x0f\x42uiltinSortKind\x12\x11\n\rNOTE_CREATION\x10\x00\x12\x0c\n\x08NOTE_MOD\x10\x01\x12\x0e\n\nNOTE_FIELD\x10\x02\x12\r\n\tNOTE_TAGS\x10\x03\x12\r\n\tNOTE_TYPE\x10\x04\x12\x0c\n\x08\x43\x41RD_MOD\x10\x05\x12\r\n\tCARD_REPS\x10\x06\x12\x0c\n\x08\x43\x41RD_DUE\x10\x07\x12\r\n\tCARD_EASE\x10\x08\x12\x0f\n\x0b\x43\x41RD_LAPSES\x10\t\x12\x11\n\rCARD_INTERVAL\x10\n\x12\r\n\tCARD_DECK\x10\x0b\x12\x11\n\rCARD_TEMPLATE\x10\x0c\"2\n\x11\x43loseCollectionIn\x12\x1d\n\x15\x64owngrade_to_schema11\x18\x01 \x01(\x08\"O\n\x1d\x41\x64\x64OrUpdateDeckConfigLegacyIn\x12\x0e\n\x06\x63onfig\x18\x01 \x01(\x0c\x12\x1e\n\x16preserve_usn_and_mtime\x18\x02 \x01(\x08\"V\n\x0eRegisterTagsIn\x12\x0c\n\x04tags\x18\x01 \x01(\t\x12\x14\n\x0cpreserve_usn\x18\x02 \x01(\x08\x12\x0b\n\x03usn\x18\x03 \x01(\x05\x12\x13\n\x0b\x63lear_first\x18\x04 \x01(\x08\"5\n\nAllTagsOut\x12\'\n\x04tags\x18\x01 \x03(\x0b\x32\x19.BackendProto.TagUsnTuple\"\'\n\x0bTagUsnTuple\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x0b\n\x03usn\x18\x02 \x01(\x11\"!\n\x11GetChangedTagsOut\x12\x0c\n\x04tags\x18\x01 \x03(\t\"2\n\x0fSetConfigJsonIn\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x12\n\nvalue_json\x18\x02 \x01(\x0c\"?\n\x12GetStockNotetypeIn\x12)\n\x04kind\x18\x01 \x01(\x0e\x32\x1b.BackendProto.StockNoteType\">\n\rNoteTypeNames\x12-\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x1c.BackendProto.NoteTypeNameID\"J\n\x11NoteTypeUseCounts\x12\x35\n\x07\x65ntries\x18\x01 \x03(\x0b\x32$.BackendProto.NoteTypeNameIDUseCount\"*\n\x0eNoteTypeNameID\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\x16NoteTypeNameIDUseCount\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tuse_count\x18\x03 \x01(\r\"E\n\x15\x41\x64\x64OrUpdateNotetypeIn\x12\x0c\n\x04json\x18\x01 \x01(\x0c\x12\x1e\n\x16preserve_usn_and_mtime\x18\x02 \x01(\x08\">\n\tAddNoteIn\x12 \n\x04note\x18\x01 \x01(\x0b\x32\x12.BackendProto.Note\x12\x0f\n\x07\x64\x65\x63k_id\x18\x02 \x01(\x03\"S\n\x10\x45mptyCardsReport\x12\x0e\n\x06report\x18\x01 \x01(\t\x12/\n\x05notes\x18\x02 \x03(\x0b\x32 .BackendProto.NoteWithEmptyCards\"Q\n\x12NoteWithEmptyCards\x12\x0f\n\x07note_id\x18\x01 \x01(\x03\x12\x10\n\x08\x63\x61rd_ids\x18\x02 \x03(\x03\x12\x18\n\x10will_delete_note\x18\x03 \x01(\x08\"6\n\tDeckNames\x12)\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x18.BackendProto.DeckNameID\"&\n\nDeckNameID\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t\"G\n\x17\x41\x64\x64OrUpdateDeckLegacyIn\x12\x0c\n\x04\x64\x65\x63k\x18\x01 \x01(\x0c\x12\x1e\n\x16preserve_usn_and_mtime\x18\x02 \x01(\x08\"$\n\x14\x46ieldNamesForNotesIn\x12\x0c\n\x04nids\x18\x01 \x03(\x03\"\'\n\x15\x46ieldNamesForNotesOut\x12\x0e\n\x06\x66ields\x18\x01 \x03(\t\"|\n\x10\x46indAndReplaceIn\x12\x0c\n\x04nids\x18\x01 \x03(\x03\x12\x0e\n\x06search\x18\x02 \x01(\t\x12\x13\n\x0breplacement\x18\x03 \x01(\t\x12\r\n\x05regex\x18\x04 \x01(\x08\x12\x12\n\nmatch_case\x18\x05 \x01(\x08\x12\x12\n\nfield_name\x18\x06 \x01(\t\"W\n\x12\x41\x66terNoteUpdatesIn\x12\x0c\n\x04nids\x18\x01 \x03(\x03\x12\x1b\n\x13mark_notes_modified\x18\x02 \x01(\x08\x12\x16\n\x0egenerate_cards\x18\x03 \x01(\x08\"+\n\rAddNoteTagsIn\x12\x0c\n\x04nids\x18\x01 \x03(\x03\x12\x0c\n\x04tags\x18\x02 \x01(\t\"R\n\x10UpdateNoteTagsIn\x12\x0c\n\x04nids\x18\x01 \x03(\x03\x12\x0c\n\x04tags\x18\x02 \x01(\t\x12\x13\n\x0breplacement\x18\x03 \x01(\t\x12\r\n\x05regex\x18\x04 \x01(\x08\"$\n\x10\x43heckDatabaseOut\x12\x10\n\x08problems\x18\x01 \x03(\t\"\x86\x03\n\x1c\x43ollectionSchedulingSettings\x12\x19\n\x11scheduler_version\x18\x01 \x01(\r\x12\x10\n\x08rollover\x18\x02 \x01(\r\x12\x18\n\x10learn_ahead_secs\x18\x03 \x01(\r\x12O\n\x0enew_review_mix\x18\x04 \x01(\x0e\x32\x37.BackendProto.CollectionSchedulingSettings.NewReviewMix\x12!\n\x19show_remaining_due_counts\x18\x05 \x01(\x08\x12!\n\x19show_intervals_on_buttons\x18\x06 \x01(\x08\x12\x17\n\x0ftime_limit_secs\x18\x07 \x01(\r\x12\x14\n\x0cnew_timezone\x18\x08 \x01(\x08\x12\x17\n\x0f\x64\x61y_learn_first\x18\t \x01(\x08\"@\n\x0cNewReviewMix\x12\x0e\n\nDISTRIBUTE\x10\x00\x12\x11\n\rREVIEWS_FIRST\x10\x01\x12\r\n\tNEW_FIRST\x10\x02\"H\n\x0bPreferences\x12\x39\n\x05sched\x18\x01 \x01(\x0b\x32*.BackendProto.CollectionSchedulingSettings\"(\n\x15\x43lozeNumbersInNoteOut\x12\x0f\n\x07numbers\x18\x01 \x03(\r\"F\n\x0eGetDeckNamesIn\x12\x1a\n\x12skip_empty_default\x18\x01 \x01(\x08\x12\x18\n\x10include_filtered\x18\x02 \x01(\x08\"\x88\x01\n\x19NoteIsDuplicateOrEmptyOut\x12<\n\x05state\x18\x01 \x01(\x0e\x32-.BackendProto.NoteIsDuplicateOrEmptyOut.State\"-\n\x05State\x12\n\n\x06NORMAL\x10\x00\x12\t\n\x05\x45MPTY\x10\x01\x12\r\n\tDUPLICATE\x10\x02\"1\n\x0bSyncLoginIn\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\"\x83\x01\n\rSyncStatusOut\x12\x36\n\x08required\x18\x01 \x01(\x0e\x32$.BackendProto.SyncStatusOut.Required\":\n\x08Required\x12\x0e\n\nNO_CHANGES\x10\x00\x12\x0f\n\x0bNORMAL_SYNC\x10\x01\x12\r\n\tFULL_SYNC\x10\x02\"\xea\x01\n\x11SyncCollectionOut\x12\x13\n\x0bhost_number\x18\x01 \x01(\r\x12\x16\n\x0eserver_message\x18\x02 \x01(\t\x12\x41\n\x08required\x18\x03 \x01(\x0e\x32/.BackendProto.SyncCollectionOut.ChangesRequired\"e\n\x0f\x43hangesRequired\x12\x0e\n\nNO_CHANGES\x10\x00\x12\x0f\n\x0bNORMAL_SYNC\x10\x01\x12\r\n\tFULL_SYNC\x10\x02\x12\x11\n\rFULL_DOWNLOAD\x10\x03\x12\x0f\n\x0b\x46ULL_UPLOAD\x10\x04\"-\n\x08SyncAuth\x12\x0c\n\x04hkey\x18\x01 \x01(\t\x12\x13\n\x0bhost_number\x18\x02 \x01(\r\"3\n\rRemoveNotesIn\x12\x10\n\x08note_ids\x18\x01 \x03(\x03\x12\x10\n\x08\x63\x61rd_ids\x18\x02 \x03(\x03\"!\n\rRemoveCardsIn\x12\x10\n\x08\x63\x61rd_ids\x18\x01 \x03(\x03\"d\n\rUpdateStatsIn\x12\x0f\n\x07\x64\x65\x63k_id\x18\x01 \x01(\x03\x12\x11\n\tnew_delta\x18\x02 \x01(\x05\x12\x14\n\x0creview_delta\x18\x04 \x01(\x05\x12\x19\n\x11millisecond_delta\x18\x05 \x01(\x05\"J\n\x0e\x45xtendLimitsIn\x12\x0f\n\x07\x64\x65\x63k_id\x18\x01 \x01(\x03\x12\x11\n\tnew_delta\x18\x02 \x01(\x05\x12\x14\n\x0creview_delta\x18\x03 \x01(\x05\"4\n\x15\x43ountsForDeckTodayOut\x12\x0b\n\x03new\x18\x01 \x01(\x05\x12\x0e\n\x06review\x18\x02 \x01(\x05\"(\n\x08GraphsIn\x12\x0e\n\x06search\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ys\x18\x02 \x01(\r\"\xbf\x01\n\tGraphsOut\x12!\n\x05\x63\x61rds\x18\x01 \x03(\x0b\x32\x12.BackendProto.Card\x12)\n\x06revlog\x18\x02 \x03(\x0b\x32\x19.BackendProto.RevlogEntry\x12\x14\n\x0c\x64\x61ys_elapsed\x18\x03 \x01(\r\x12\x18\n\x10next_day_at_secs\x18\x04 \x01(\r\x12\x19\n\x11scheduler_version\x18\x05 \x01(\r\x12\x19\n\x11local_offset_secs\x18\x07 \x01(\x05\"\xa3\x02\n\x0bRevlogEntry\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03\x63id\x18\x02 \x01(\x03\x12\x0b\n\x03usn\x18\x03 \x01(\x05\x12\x15\n\rbutton_chosen\x18\x04 \x01(\r\x12\x10\n\x08interval\x18\x05 \x01(\x05\x12\x15\n\rlast_interval\x18\x06 \x01(\x05\x12\x13\n\x0b\x65\x61se_factor\x18\x07 \x01(\r\x12\x14\n\x0ctaken_millis\x18\x08 \x01(\r\x12\x39\n\x0breview_kind\x18\t \x01(\x0e\x32$.BackendProto.RevlogEntry.ReviewKind\"H\n\nReviewKind\x12\x0c\n\x08LEARNING\x10\x00\x12\n\n\x06REVIEW\x10\x01\x12\x0e\n\nRELEARNING\x10\x02\x12\x10\n\x0c\x45\x41RLY_REVIEW\x10\x03*\xbc\x01\n\rStockNoteType\x12\x19\n\x15STOCK_NOTE_TYPE_BASIC\x10\x00\x12&\n\"STOCK_NOTE_TYPE_BASIC_AND_REVERSED\x10\x01\x12+\n\'STOCK_NOTE_TYPE_BASIC_OPTIONAL_REVERSED\x10\x02\x12 \n\x1cSTOCK_NOTE_TYPE_BASIC_TYPING\x10\x03\x12\x19\n\x15STOCK_NOTE_TYPE_CLOZE\x10\x04\x32\xbd-\n\x0e\x42\x61\x63kendService\x12=\n\x0eLatestProgress\x12\x13.BackendProto.Empty\x1a\x16.BackendProto.Progress\x12\x39\n\rSetWantsAbort\x12\x13.BackendProto.Empty\x1a\x13.BackendProto.Empty\x12N\n\rExtractAVTags\x12\x1d.BackendProto.ExtractAVTagsIn\x1a\x1e.BackendProto.ExtractAVTagsOut\x12K\n\x0c\x45xtractLatex\x12\x1c.BackendProto.ExtractLatexIn\x1a\x1d.BackendProto.ExtractLatexOut\x12\x44\n\rGetEmptyCards\x12\x13.BackendProto.Empty\x1a\x1e.BackendProto.EmptyCardsReport\x12U\n\x12RenderExistingCard\x12\".BackendProto.RenderExistingCardIn\x1a\x1b.BackendProto.RenderCardOut\x12[\n\x15RenderUncommittedCard\x12%.BackendProto.RenderUncommittedCardIn\x1a\x1b.BackendProto.RenderCardOut\x12\x39\n\x0bStripAVTags\x12\x14.BackendProto.String\x1a\x14.BackendProto.String\x12H\n\x0bSearchCards\x12\x1b.BackendProto.SearchCardsIn\x1a\x1c.BackendProto.SearchCardsOut\x12H\n\x0bSearchNotes\x12\x1b.BackendProto.SearchNotesIn\x1a\x1c.BackendProto.SearchNotesOut\x12\x46\n\x0e\x46indAndReplace\x12\x1e.BackendProto.FindAndReplaceIn\x1a\x14.BackendProto.UInt32\x12<\n\x10LocalMinutesWest\x12\x13.BackendProto.Int64\x1a\x13.BackendProto.Int32\x12?\n\x13SetLocalMinutesWest\x12\x13.BackendProto.Int32\x1a\x13.BackendProto.Empty\x12J\n\x10SchedTimingToday\x12\x13.BackendProto.Empty\x1a!.BackendProto.SchedTimingTodayOut\x12\x42\n\x0cStudiedToday\x12\x1c.BackendProto.StudiedTodayIn\x1a\x14.BackendProto.String\x12R\n\x14\x43ongratsLearnMessage\x12$.BackendProto.CongratsLearnMessageIn\x1a\x14.BackendProto.String\x12?\n\x0bUpdateStats\x12\x1b.BackendProto.UpdateStatsIn\x1a\x13.BackendProto.Empty\x12\x41\n\x0c\x45xtendLimits\x12\x1c.BackendProto.ExtendLimitsIn\x1a\x13.BackendProto.Empty\x12O\n\x12\x43ountsForDeckToday\x12\x14.BackendProto.DeckID\x1a#.BackendProto.CountsForDeckTodayOut\x12\x37\n\tCardStats\x12\x14.BackendProto.CardID\x1a\x14.BackendProto.String\x12\x39\n\x06Graphs\x12\x16.BackendProto.GraphsIn\x1a\x17.BackendProto.GraphsOut\x12>\n\nCheckMedia\x12\x13.BackendProto.Empty\x1a\x1b.BackendProto.CheckMediaOut\x12G\n\x0fTrashMediaFiles\x12\x1f.BackendProto.TrashMediaFilesIn\x1a\x13.BackendProto.Empty\x12\x42\n\x0c\x41\x64\x64MediaFile\x12\x1c.BackendProto.AddMediaFileIn\x1a\x14.BackendProto.String\x12\x36\n\nEmptyTrash\x12\x13.BackendProto.Empty\x1a\x13.BackendProto.Empty\x12\x38\n\x0cRestoreTrash\x12\x13.BackendProto.Empty\x1a\x13.BackendProto.Empty\x12T\n\x15\x41\x64\x64OrUpdateDeckLegacy\x12%.BackendProto.AddOrUpdateDeckLegacyIn\x1a\x14.BackendProto.DeckID\x12@\n\x08\x44\x65\x63kTree\x12\x18.BackendProto.DeckTreeIn\x1a\x1a.BackendProto.DeckTreeNode\x12\x39\n\x0e\x44\x65\x63kTreeLegacy\x12\x13.BackendProto.Empty\x1a\x12.BackendProto.Json\x12<\n\x11GetAllDecksLegacy\x12\x13.BackendProto.Empty\x1a\x12.BackendProto.Json\x12=\n\x0fGetDeckIDByName\x12\x14.BackendProto.String\x1a\x14.BackendProto.DeckID\x12\x39\n\rGetDeckLegacy\x12\x14.BackendProto.DeckID\x1a\x12.BackendProto.Json\x12\x45\n\x0cGetDeckNames\x12\x1c.BackendProto.GetDeckNamesIn\x1a\x17.BackendProto.DeckNames\x12\x37\n\rNewDeckLegacy\x12\x12.BackendProto.Bool\x1a\x12.BackendProto.Json\x12\x37\n\nRemoveDeck\x12\x14.BackendProto.DeckID\x1a\x13.BackendProto.Empty\x12\x66\n\x1b\x41\x64\x64OrUpdateDeckConfigLegacy\x12+.BackendProto.AddOrUpdateDeckConfigLegacyIn\x1a\x1a.BackendProto.DeckConfigID\x12>\n\x13\x41llDeckConfigLegacy\x12\x13.BackendProto.Empty\x1a\x12.BackendProto.Json\x12\x45\n\x13GetDeckConfigLegacy\x12\x1a.BackendProto.DeckConfigID\x1a\x12.BackendProto.Json\x12>\n\x13NewDeckConfigLegacy\x12\x13.BackendProto.Empty\x1a\x12.BackendProto.Json\x12\x43\n\x10RemoveDeckConfig\x12\x1a.BackendProto.DeckConfigID\x1a\x13.BackendProto.Empty\x12\x33\n\x07GetCard\x12\x14.BackendProto.CardID\x1a\x12.BackendProto.Card\x12\x35\n\nUpdateCard\x12\x12.BackendProto.Card\x1a\x13.BackendProto.Empty\x12\x33\n\x07\x41\x64\x64\x43\x61rd\x12\x12.BackendProto.Card\x1a\x14.BackendProto.CardID\x12?\n\x0bRemoveCards\x12\x1b.BackendProto.RemoveCardsIn\x1a\x13.BackendProto.Empty\x12\x37\n\x07NewNote\x12\x18.BackendProto.NoteTypeID\x1a\x12.BackendProto.Note\x12\x38\n\x07\x41\x64\x64Note\x12\x17.BackendProto.AddNoteIn\x1a\x14.BackendProto.NoteID\x12\x35\n\nUpdateNote\x12\x12.BackendProto.Note\x1a\x13.BackendProto.Empty\x12\x33\n\x07GetNote\x12\x14.BackendProto.NoteID\x1a\x12.BackendProto.Note\x12?\n\x0bRemoveNotes\x12\x1b.BackendProto.RemoveNotesIn\x1a\x13.BackendProto.Empty\x12@\n\x0b\x41\x64\x64NoteTags\x12\x1b.BackendProto.AddNoteTagsIn\x1a\x14.BackendProto.UInt32\x12\x46\n\x0eUpdateNoteTags\x12\x1e.BackendProto.UpdateNoteTagsIn\x1a\x14.BackendProto.UInt32\x12M\n\x12\x43lozeNumbersInNote\x12\x12.BackendProto.Note\x1a#.BackendProto.ClozeNumbersInNoteOut\x12I\n\x10\x41\x66terNoteUpdates\x12 .BackendProto.AfterNoteUpdatesIn\x1a\x13.BackendProto.Empty\x12]\n\x12\x46ieldNamesForNotes\x12\".BackendProto.FieldNamesForNotesIn\x1a#.BackendProto.FieldNamesForNotesOut\x12U\n\x16NoteIsDuplicateOrEmpty\x12\x12.BackendProto.Note\x1a\'.BackendProto.NoteIsDuplicateOrEmptyOut\x12T\n\x13\x41\x64\x64OrUpdateNotetype\x12#.BackendProto.AddOrUpdateNotetypeIn\x1a\x18.BackendProto.NoteTypeID\x12N\n\x16GetStockNotetypeLegacy\x12 .BackendProto.GetStockNotetypeIn\x1a\x12.BackendProto.Json\x12\x41\n\x11GetNotetypeLegacy\x12\x18.BackendProto.NoteTypeID\x1a\x12.BackendProto.Json\x12\x44\n\x10GetNotetypeNames\x12\x13.BackendProto.Empty\x1a\x1b.BackendProto.NoteTypeNames\x12Q\n\x19GetNotetypeNamesAndCounts\x12\x13.BackendProto.Empty\x1a\x1f.BackendProto.NoteTypeUseCounts\x12\x45\n\x13GetNotetypeIDByName\x12\x14.BackendProto.String\x1a\x18.BackendProto.NoteTypeID\x12?\n\x0eRemoveNotetype\x12\x18.BackendProto.NoteTypeID\x1a\x13.BackendProto.Empty\x12\x45\n\x0eOpenCollection\x12\x1e.BackendProto.OpenCollectionIn\x1a\x13.BackendProto.Empty\x12G\n\x0f\x43loseCollection\x12\x1f.BackendProto.CloseCollectionIn\x1a\x13.BackendProto.Empty\x12\x44\n\rCheckDatabase\x12\x13.BackendProto.Empty\x1a\x1e.BackendProto.CheckDatabaseOut\x12\x38\n\tSyncMedia\x12\x16.BackendProto.SyncAuth\x1a\x13.BackendProto.Empty\x12\x35\n\tAbortSync\x12\x13.BackendProto.Empty\x1a\x13.BackendProto.Empty\x12:\n\x0e\x41\x62ortMediaSync\x12\x13.BackendProto.Empty\x1a\x13.BackendProto.Empty\x12\x38\n\x0c\x42\x65\x66oreUpload\x12\x13.BackendProto.Empty\x1a\x13.BackendProto.Empty\x12>\n\tSyncLogin\x12\x19.BackendProto.SyncLoginIn\x1a\x16.BackendProto.SyncAuth\x12\x41\n\nSyncStatus\x12\x16.BackendProto.SyncAuth\x1a\x1b.BackendProto.SyncStatusOut\x12I\n\x0eSyncCollection\x12\x16.BackendProto.SyncAuth\x1a\x1f.BackendProto.SyncCollectionOut\x12\x39\n\nFullUpload\x12\x16.BackendProto.SyncAuth\x1a\x13.BackendProto.Empty\x12;\n\x0c\x46ullDownload\x12\x16.BackendProto.SyncAuth\x1a\x13.BackendProto.Empty\x12H\n\x0fTranslateString\x12\x1f.BackendProto.TranslateStringIn\x1a\x14.BackendProto.String\x12\x46\n\x0e\x46ormatTimespan\x12\x1e.BackendProto.FormatTimespanIn\x1a\x14.BackendProto.String\x12\x38\n\rI18nResources\x12\x13.BackendProto.Empty\x1a\x12.BackendProto.Json\x12@\n\x0cRegisterTags\x12\x1c.BackendProto.RegisterTagsIn\x1a\x12.BackendProto.Bool\x12\x38\n\x07\x41llTags\x12\x13.BackendProto.Empty\x1a\x18.BackendProto.AllTagsOut\x12\x39\n\rGetConfigJson\x12\x14.BackendProto.String\x1a\x12.BackendProto.Json\x12\x43\n\rSetConfigJson\x12\x1d.BackendProto.SetConfigJsonIn\x1a\x13.BackendProto.Empty\x12\x39\n\x0cRemoveConfig\x12\x14.BackendProto.String\x1a\x13.BackendProto.Empty\x12\x37\n\x0cSetAllConfig\x12\x12.BackendProto.Json\x1a\x13.BackendProto.Empty\x12\x37\n\x0cGetAllConfig\x12\x13.BackendProto.Empty\x1a\x12.BackendProto.Json\x12@\n\x0eGetPreferences\x12\x13.BackendProto.Empty\x1a\x19.BackendProto.Preferences\x12@\n\x0eSetPreferences\x12\x19.BackendProto.Preferences\x1a\x13.BackendProto.Emptyb\x06proto3'
  ,
  dependencies=[fluent__pb2.DESCRIPTOR,])

_STOCKNOTETYPE = _descriptor.EnumDescriptor(
  name='StockNoteType',
  full_name='BackendProto.StockNoteType',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='STOCK_NOTE_TYPE_BASIC', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='STOCK_NOTE_TYPE_BASIC_AND_REVERSED', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='STOCK_NOTE_TYPE_BASIC_OPTIONAL_REVERSED', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='STOCK_NOTE_TYPE_BASIC_TYPING', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='STOCK_NOTE_TYPE_CLOZE', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=12491,
  serialized_end=12679,
)
_sym_db.RegisterEnumDescriptor(_STOCKNOTETYPE)

StockNoteType = enum_type_wrapper.EnumTypeWrapper(_STOCKNOTETYPE)
STOCK_NOTE_TYPE_BASIC = 0
STOCK_NOTE_TYPE_BASIC_AND_REVERSED = 1
STOCK_NOTE_TYPE_BASIC_OPTIONAL_REVERSED = 2
STOCK_NOTE_TYPE_BASIC_TYPING = 3
STOCK_NOTE_TYPE_CLOZE = 4


_DECKCONFIGINNER_NEWCARDORDER = _descriptor.EnumDescriptor(
  name='NewCardOrder',
  full_name='BackendProto.DeckConfigInner.NewCardOrder',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NEW_CARD_ORDER_DUE', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NEW_CARD_ORDER_RANDOM', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1092,
  serialized_end=1157,
)
_sym_db.RegisterEnumDescriptor(_DECKCONFIGINNER_NEWCARDORDER)

_DECKCONFIGINNER_LEECHACTION = _descriptor.EnumDescriptor(
  name='LeechAction',
  full_name='BackendProto.DeckConfigInner.LeechAction',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='LEECH_ACTION_SUSPEND', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='LEECH_ACTION_TAG_ONLY', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1159,
  serialized_end=1225,
)
_sym_db.RegisterEnumDescriptor(_DECKCONFIGINNER_LEECHACTION)

_FILTEREDSEARCHTERM_FILTEREDSEARCHORDER = _descriptor.EnumDescriptor(
  name='FilteredSearchOrder',
  full_name='BackendProto.FilteredSearchTerm.FilteredSearchOrder',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='FILTERED_SEARCH_ORDER_OLDEST_FIRST', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FILTERED_SEARCH_ORDER_RANDOM', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FILTERED_SEARCH_ORDER_INTERVALS_ASCENDING', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FILTERED_SEARCH_ORDER_INTERVALS_DESCENDING', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FILTERED_SEARCH_ORDER_LAPSES', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FILTERED_SEARCH_ORDER_ADDED', index=5, number=5,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FILTERED_SEARCH_ORDER_DUE', index=6, number=6,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FILTERED_SEARCH_ORDER_REVERSE_ADDED', index=7, number=7,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FILTERED_SEARCH_ORDER_DUE_PRIORITY', index=8, number=8,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1908,
  serialized_end=2277,
)
_sym_db.RegisterEnumDescriptor(_FILTEREDSEARCHTERM_FILTEREDSEARCHORDER)

_NOTETYPECONFIG_KIND = _descriptor.EnumDescriptor(
  name='Kind',
  full_name='BackendProto.NoteTypeConfig.Kind',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='KIND_NORMAL', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='KIND_CLOZE', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2834,
  serialized_end=2873,
)
_sym_db.RegisterEnumDescriptor(_NOTETYPECONFIG_KIND)

_CARDREQUIREMENT_KIND = _descriptor.EnumDescriptor(
  name='Kind',
  full_name='BackendProto.CardRequirement.Kind',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='KIND_NONE', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='KIND_ANY', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='KIND_ALL', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2983,
  serialized_end=3032,
)
_sym_db.RegisterEnumDescriptor(_CARDREQUIREMENT_KIND)

_NETWORKERROR_NETWORKERRORKIND = _descriptor.EnumDescriptor(
  name='NetworkErrorKind',
  full_name='BackendProto.NetworkError.NetworkErrorKind',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='OTHER', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='OFFLINE', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='TIMEOUT', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='PROXY_AUTH', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4943,
  serialized_end=5014,
)
_sym_db.RegisterEnumDescriptor(_NETWORKERROR_NETWORKERRORKIND)

_SYNCERROR_SYNCERRORKIND = _descriptor.EnumDescriptor(
  name='SyncErrorKind',
  full_name='BackendProto.SyncError.SyncErrorKind',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='OTHER', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CONFLICT', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='SERVER_ERROR', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CLIENT_TOO_OLD', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='AUTH_FAILED', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='SERVER_MESSAGE', index=5, number=5,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='MEDIA_CHECK_REQUIRED', index=6, number=6,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='RESYNC_REQUIRED', index=7, number=7,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CLOCK_INCORRECT', index=8, number=8,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='DATABASE_CHECK_REQUIRED', index=9, number=9,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=5084,
  serialized_end=5296,
)
_sym_db.RegisterEnumDescriptor(_SYNCERROR_SYNCERRORKIND)

_FORMATTIMESPANIN_CONTEXT = _descriptor.EnumDescriptor(
  name='Context',
  full_name='BackendProto.FormatTimespanIn.Context',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='PRECISE', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ANSWER_BUTTONS', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='INTERVALS', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=7825,
  serialized_end=7882,
)
_sym_db.RegisterEnumDescriptor(_FORMATTIMESPANIN_CONTEXT)

_BUILTINSEARCHORDER_BUILTINSORTKIND = _descriptor.EnumDescriptor(
  name='BuiltinSortKind',
  full_name='BackendProto.BuiltinSearchOrder.BuiltinSortKind',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NOTE_CREATION', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NOTE_MOD', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NOTE_FIELD', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NOTE_TAGS', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NOTE_TYPE', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CARD_MOD', index=5, number=5,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CARD_REPS', index=6, number=6,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CARD_DUE', index=7, number=7,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CARD_EASE', index=8, number=8,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CARD_LAPSES', index=9, number=9,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CARD_INTERVAL', index=10, number=10,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CARD_DECK', index=11, number=11,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CARD_TEMPLATE', index=12, number=12,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=8568,
  serialized_end=8792,
)
_sym_db.RegisterEnumDescriptor(_BUILTINSEARCHORDER_BUILTINSORTKIND)

_COLLECTIONSCHEDULINGSETTINGS_NEWREVIEWMIX = _descriptor.EnumDescriptor(
  name='NewReviewMix',
  full_name='BackendProto.CollectionSchedulingSettings.NewReviewMix',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='DISTRIBUTE', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='REVIEWS_FIRST', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NEW_FIRST', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=10778,
  serialized_end=10842,
)
_sym_db.RegisterEnumDescriptor(_COLLECTIONSCHEDULINGSETTINGS_NEWREVIEWMIX)

_NOTEISDUPLICATEOREMPTYOUT_STATE = _descriptor.EnumDescriptor(
  name='State',
  full_name='BackendProto.NoteIsDuplicateOrEmptyOut.State',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NORMAL', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='EMPTY', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='DUPLICATE', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=11124,
  serialized_end=11169,
)
_sym_db.RegisterEnumDescriptor(_NOTEISDUPLICATEOREMPTYOUT_STATE)

_SYNCSTATUSOUT_REQUIRED = _descriptor.EnumDescriptor(
  name='Required',
  full_name='BackendProto.SyncStatusOut.Required',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NO_CHANGES', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NORMAL_SYNC', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FULL_SYNC', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=11296,
  serialized_end=11354,
)
_sym_db.RegisterEnumDescriptor(_SYNCSTATUSOUT_REQUIRED)

_SYNCCOLLECTIONOUT_CHANGESREQUIRED = _descriptor.EnumDescriptor(
  name='ChangesRequired',
  full_name='BackendProto.SyncCollectionOut.ChangesRequired',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NO_CHANGES', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NORMAL_SYNC', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FULL_SYNC', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FULL_DOWNLOAD', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FULL_UPLOAD', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=11490,
  serialized_end=11591,
)
_sym_db.RegisterEnumDescriptor(_SYNCCOLLECTIONOUT_CHANGESREQUIRED)

_REVLOGENTRY_REVIEWKIND = _descriptor.EnumDescriptor(
  name='ReviewKind',
  full_name='BackendProto.RevlogEntry.ReviewKind',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='LEARNING', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='REVIEW', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='RELEARNING', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='EARLY_REVIEW', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=12416,
  serialized_end=12488,
)
_sym_db.RegisterEnumDescriptor(_REVLOGENTRY_REVIEWKIND)


_EMPTY = _descriptor.Descriptor(
  name='Empty',
  full_name='BackendProto.Empty',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=45,
  serialized_end=52,
)


_OPTIONALINT32 = _descriptor.Descriptor(
  name='OptionalInt32',
  full_name='BackendProto.OptionalInt32',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='val', full_name='BackendProto.OptionalInt32.val', index=0,
      number=1, type=17, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=54,
  serialized_end=82,
)


_OPTIONALUINT32 = _descriptor.Descriptor(
  name='OptionalUInt32',
  full_name='BackendProto.OptionalUInt32',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='val', full_name='BackendProto.OptionalUInt32.val', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=84,
  serialized_end=113,
)


_INT32 = _descriptor.Descriptor(
  name='Int32',
  full_name='BackendProto.Int32',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='val', full_name='BackendProto.Int32.val', index=0,
      number=1, type=17, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=115,
  serialized_end=135,
)


_UINT32 = _descriptor.Descriptor(
  name='UInt32',
  full_name='BackendProto.UInt32',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='val', full_name='BackendProto.UInt32.val', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=137,
  serialized_end=158,
)


_INT64 = _descriptor.Descriptor(
  name='Int64',
  full_name='BackendProto.Int64',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='val', full_name='BackendProto.Int64.val', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=160,
  serialized_end=180,
)


_STRING = _descriptor.Descriptor(
  name='String',
  full_name='BackendProto.String',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='val', full_name='BackendProto.String.val', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=182,
  serialized_end=203,
)


_JSON = _descriptor.Descriptor(
  name='Json',
  full_name='BackendProto.Json',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='json', full_name='BackendProto.Json.json', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=205,
  serialized_end=225,
)


_BOOL = _descriptor.Descriptor(
  name='Bool',
  full_name='BackendProto.Bool',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='val', full_name='BackendProto.Bool.val', index=0,
      number=1, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=227,
  serialized_end=246,
)


_NOTETYPEID = _descriptor.Descriptor(
  name='NoteTypeID',
  full_name='BackendProto.NoteTypeID',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='ntid', full_name='BackendProto.NoteTypeID.ntid', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=248,
  serialized_end=274,
)


_NOTEID = _descriptor.Descriptor(
  name='NoteID',
  full_name='BackendProto.NoteID',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='nid', full_name='BackendProto.NoteID.nid', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=276,
  serialized_end=297,
)


_CARDID = _descriptor.Descriptor(
  name='CardID',
  full_name='BackendProto.CardID',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='cid', full_name='BackendProto.CardID.cid', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=299,
  serialized_end=320,
)


_DECKID = _descriptor.Descriptor(
  name='DeckID',
  full_name='BackendProto.DeckID',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='did', full_name='BackendProto.DeckID.did', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=322,
  serialized_end=343,
)


_DECKCONFIGID = _descriptor.Descriptor(
  name='DeckConfigID',
  full_name='BackendProto.DeckConfigID',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='dcid', full_name='BackendProto.DeckConfigID.dcid', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=345,
  serialized_end=373,
)


_DECKCONFIGINNER = _descriptor.Descriptor(
  name='DeckConfigInner',
  full_name='BackendProto.DeckConfigInner',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='learn_steps', full_name='BackendProto.DeckConfigInner.learn_steps', index=0,
      number=1, type=2, cpp_type=6, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='relearn_steps', full_name='BackendProto.DeckConfigInner.relearn_steps', index=1,
      number=2, type=2, cpp_type=6, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='new_per_day', full_name='BackendProto.DeckConfigInner.new_per_day', index=2,
      number=9, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='reviews_per_day', full_name='BackendProto.DeckConfigInner.reviews_per_day', index=3,
      number=10, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='initial_ease', full_name='BackendProto.DeckConfigInner.initial_ease', index=4,
      number=11, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='easy_multiplier', full_name='BackendProto.DeckConfigInner.easy_multiplier', index=5,
      number=12, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='hard_multiplier', full_name='BackendProto.DeckConfigInner.hard_multiplier', index=6,
      number=13, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='lapse_multiplier', full_name='BackendProto.DeckConfigInner.lapse_multiplier', index=7,
      number=14, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='interval_multiplier', full_name='BackendProto.DeckConfigInner.interval_multiplier', index=8,
      number=15, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='maximum_review_interval', full_name='BackendProto.DeckConfigInner.maximum_review_interval', index=9,
      number=16, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='minimum_review_interval', full_name='BackendProto.DeckConfigInner.minimum_review_interval', index=10,
      number=17, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='graduating_interval_good', full_name='BackendProto.DeckConfigInner.graduating_interval_good', index=11,
      number=18, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='graduating_interval_easy', full_name='BackendProto.DeckConfigInner.graduating_interval_easy', index=12,
      number=19, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='new_card_order', full_name='BackendProto.DeckConfigInner.new_card_order', index=13,
      number=20, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='leech_action', full_name='BackendProto.DeckConfigInner.leech_action', index=14,
      number=21, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='leech_threshold', full_name='BackendProto.DeckConfigInner.leech_threshold', index=15,
      number=22, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='disable_autoplay', full_name='BackendProto.DeckConfigInner.disable_autoplay', index=16,
      number=23, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='cap_answer_time_to_secs', full_name='BackendProto.DeckConfigInner.cap_answer_time_to_secs', index=17,
      number=24, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='visible_timer_secs', full_name='BackendProto.DeckConfigInner.visible_timer_secs', index=18,
      number=25, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='skip_question_when_replaying_answer', full_name='BackendProto.DeckConfigInner.skip_question_when_replaying_answer', index=19,
      number=26, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='bury_new', full_name='BackendProto.DeckConfigInner.bury_new', index=20,
      number=27, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='bury_reviews', full_name='BackendProto.DeckConfigInner.bury_reviews', index=21,
      number=28, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='other', full_name='BackendProto.DeckConfigInner.other', index=22,
      number=255, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _DECKCONFIGINNER_NEWCARDORDER,
    _DECKCONFIGINNER_LEECHACTION,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=376,
  serialized_end=1231,
)


_DECKCOMMON = _descriptor.Descriptor(
  name='DeckCommon',
  full_name='BackendProto.DeckCommon',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='study_collapsed', full_name='BackendProto.DeckCommon.study_collapsed', index=0,
      number=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='browser_collapsed', full_name='BackendProto.DeckCommon.browser_collapsed', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='last_day_studied', full_name='BackendProto.DeckCommon.last_day_studied', index=2,
      number=3, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='new_studied', full_name='BackendProto.DeckCommon.new_studied', index=3,
      number=4, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='review_studied', full_name='BackendProto.DeckCommon.review_studied', index=4,
      number=5, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='milliseconds_studied', full_name='BackendProto.DeckCommon.milliseconds_studied', index=5,
      number=7, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='learning_studied', full_name='BackendProto.DeckCommon.learning_studied', index=6,
      number=6, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='other', full_name='BackendProto.DeckCommon.other', index=7,
      number=255, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1234,
  serialized_end=1441,
)


_DECKKIND = _descriptor.Descriptor(
  name='DeckKind',
  full_name='BackendProto.DeckKind',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='normal', full_name='BackendProto.DeckKind.normal', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='filtered', full_name='BackendProto.DeckKind.filtered', index=1,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='kind', full_name='BackendProto.DeckKind.kind',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=1443,
  serialized_end=1553,
)


_NORMALDECK = _descriptor.Descriptor(
  name='NormalDeck',
  full_name='BackendProto.NormalDeck',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='config_id', full_name='BackendProto.NormalDeck.config_id', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='extend_new', full_name='BackendProto.NormalDeck.extend_new', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='extend_review', full_name='BackendProto.NormalDeck.extend_review', index=2,
      number=3, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='description', full_name='BackendProto.NormalDeck.description', index=3,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1555,
  serialized_end=1650,
)


_FILTEREDDECK = _descriptor.Descriptor(
  name='FilteredDeck',
  full_name='BackendProto.FilteredDeck',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='reschedule', full_name='BackendProto.FilteredDeck.reschedule', index=0,
      number=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='search_terms', full_name='BackendProto.FilteredDeck.search_terms', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='delays', full_name='BackendProto.FilteredDeck.delays', index=2,
      number=3, type=2, cpp_type=6, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='preview_delay', full_name='BackendProto.FilteredDeck.preview_delay', index=3,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1653,
  serialized_end=1782,
)


_FILTEREDSEARCHTERM = _descriptor.Descriptor(
  name='FilteredSearchTerm',
  full_name='BackendProto.FilteredSearchTerm',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='search', full_name='BackendProto.FilteredSearchTerm.search', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='limit', full_name='BackendProto.FilteredSearchTerm.limit', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='order', full_name='BackendProto.FilteredSearchTerm.order', index=2,
      number=3, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _FILTEREDSEARCHTERM_FILTEREDSEARCHORDER,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1785,
  serialized_end=2277,
)


_NOTEFIELDCONFIG = _descriptor.Descriptor(
  name='NoteFieldConfig',
  full_name='BackendProto.NoteFieldConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='sticky', full_name='BackendProto.NoteFieldConfig.sticky', index=0,
      number=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='rtl', full_name='BackendProto.NoteFieldConfig.rtl', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='font_name', full_name='BackendProto.NoteFieldConfig.font_name', index=2,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='font_size', full_name='BackendProto.NoteFieldConfig.font_size', index=3,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='other', full_name='BackendProto.NoteFieldConfig.other', index=4,
      number=255, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2279,
  serialized_end=2379,
)


_CARDTEMPLATECONFIG = _descriptor.Descriptor(
  name='CardTemplateConfig',
  full_name='BackendProto.CardTemplateConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='q_format', full_name='BackendProto.CardTemplateConfig.q_format', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='a_format', full_name='BackendProto.CardTemplateConfig.a_format', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='q_format_browser', full_name='BackendProto.CardTemplateConfig.q_format_browser', index=2,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='a_format_browser', full_name='BackendProto.CardTemplateConfig.a_format_browser', index=3,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='target_deck_id', full_name='BackendProto.CardTemplateConfig.target_deck_id', index=4,
      number=5, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='browser_font_name', full_name='BackendProto.CardTemplateConfig.browser_font_name', index=5,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='browser_font_size', full_name='BackendProto.CardTemplateConfig.browser_font_size', index=6,
      number=7, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='other', full_name='BackendProto.CardTemplateConfig.other', index=7,
      number=255, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2382,
  serialized_end=2584,
)


_NOTETYPECONFIG = _descriptor.Descriptor(
  name='NoteTypeConfig',
  full_name='BackendProto.NoteTypeConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='kind', full_name='BackendProto.NoteTypeConfig.kind', index=0,
      number=1, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='sort_field_idx', full_name='BackendProto.NoteTypeConfig.sort_field_idx', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='css', full_name='BackendProto.NoteTypeConfig.css', index=2,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='target_deck_id', full_name='BackendProto.NoteTypeConfig.target_deck_id', index=3,
      number=4, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='latex_pre', full_name='BackendProto.NoteTypeConfig.latex_pre', index=4,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='latex_post', full_name='BackendProto.NoteTypeConfig.latex_post', index=5,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='latex_svg', full_name='BackendProto.NoteTypeConfig.latex_svg', index=6,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='reqs', full_name='BackendProto.NoteTypeConfig.reqs', index=7,
      number=8, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='other', full_name='BackendProto.NoteTypeConfig.other', index=8,
      number=255, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _NOTETYPECONFIG_KIND,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2587,
  serialized_end=2873,
)


_CARDREQUIREMENT = _descriptor.Descriptor(
  name='CardRequirement',
  full_name='BackendProto.CardRequirement',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='card_ord', full_name='BackendProto.CardRequirement.card_ord', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='kind', full_name='BackendProto.CardRequirement.kind', index=1,
      number=2, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='field_ords', full_name='BackendProto.CardRequirement.field_ords', index=2,
      number=3, type=13, cpp_type=3, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _CARDREQUIREMENT_KIND,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2876,
  serialized_end=3032,
)


_DECK = _descriptor.Descriptor(
  name='Deck',
  full_name='BackendProto.Deck',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='BackendProto.Deck.id', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='name', full_name='BackendProto.Deck.name', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='mtime_secs', full_name='BackendProto.Deck.mtime_secs', index=2,
      number=3, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='usn', full_name='BackendProto.Deck.usn', index=3,
      number=4, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='common', full_name='BackendProto.Deck.common', index=4,
      number=5, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='normal', full_name='BackendProto.Deck.normal', index=5,
      number=6, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='filtered', full_name='BackendProto.Deck.filtered', index=6,
      number=7, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='kind', full_name='BackendProto.Deck.kind',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=3035,
  serialized_end=3242,
)


_NOTETYPE = _descriptor.Descriptor(
  name='NoteType',
  full_name='BackendProto.NoteType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='BackendProto.NoteType.id', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='name', full_name='BackendProto.NoteType.name', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='mtime_secs', full_name='BackendProto.NoteType.mtime_secs', index=2,
      number=3, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='usn', full_name='BackendProto.NoteType.usn', index=3,
      number=4, type=17, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='config', full_name='BackendProto.NoteType.config', index=4,
      number=7, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='fields', full_name='BackendProto.NoteType.fields', index=5,
      number=8, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='templates', full_name='BackendProto.NoteType.templates', index=6,
      number=9, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3245,
  serialized_end=3448,
)


_NOTEFIELD = _descriptor.Descriptor(
  name='NoteField',
  full_name='BackendProto.NoteField',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='ord', full_name='BackendProto.NoteField.ord', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='name', full_name='BackendProto.NoteField.name', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='config', full_name='BackendProto.NoteField.config', index=2,
      number=5, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3450,
  serialized_end=3565,
)


_CARDTEMPLATE = _descriptor.Descriptor(
  name='CardTemplate',
  full_name='BackendProto.CardTemplate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='ord', full_name='BackendProto.CardTemplate.ord', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='name', full_name='BackendProto.CardTemplate.name', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='mtime_secs', full_name='BackendProto.CardTemplate.mtime_secs', index=2,
      number=3, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='usn', full_name='BackendProto.CardTemplate.usn', index=3,
      number=4, type=17, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='config', full_name='BackendProto.CardTemplate.config', index=4,
      number=5, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3568,
  serialized_end=3722,
)


_NOTE = _descriptor.Descriptor(
  name='Note',
  full_name='BackendProto.Note',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='BackendProto.Note.id', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='guid', full_name='BackendProto.Note.guid', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='notetype_id', full_name='BackendProto.Note.notetype_id', index=2,
      number=3, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='mtime_secs', full_name='BackendProto.Note.mtime_secs', index=3,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='usn', full_name='BackendProto.Note.usn', index=4,
      number=5, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='tags', full_name='BackendProto.Note.tags', index=5,
      number=6, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='fields', full_name='BackendProto.Note.fields', index=6,
      number=7, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3724,
  serialized_end=3840,
)


_CARD = _descriptor.Descriptor(
  name='Card',
  full_name='BackendProto.Card',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='BackendProto.Card.id', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='note_id', full_name='BackendProto.Card.note_id', index=1,
      number=2, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='deck_id', full_name='BackendProto.Card.deck_id', index=2,
      number=3, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='template_idx', full_name='BackendProto.Card.template_idx', index=3,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='mtime_secs', full_name='BackendProto.Card.mtime_secs', index=4,
      number=5, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='usn', full_name='BackendProto.Card.usn', index=5,
      number=6, type=17, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='ctype', full_name='BackendProto.Card.ctype', index=6,
      number=7, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='queue', full_name='BackendProto.Card.queue', index=7,
      number=8, type=17, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='due', full_name='BackendProto.Card.due', index=8,
      number=9, type=17, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='interval', full_name='BackendProto.Card.interval', index=9,
      number=10, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='ease_factor', full_name='BackendProto.Card.ease_factor', index=10,
      number=11, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='reps', full_name='BackendProto.Card.reps', index=11,
      number=12, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='lapses', full_name='BackendProto.Card.lapses', index=12,
      number=13, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='remaining_steps', full_name='BackendProto.Card.remaining_steps', index=13,
      number=14, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='original_due', full_name='BackendProto.Card.original_due', index=14,
      number=15, type=17, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='original_deck_id', full_name='BackendProto.Card.original_deck_id', index=15,
      number=16, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='flags', full_name='BackendProto.Card.flags', index=16,
      number=17, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='data', full_name='BackendProto.Card.data', index=17,
      number=18, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3843,
  serialized_end=4164,
)


_BACKENDINIT = _descriptor.Descriptor(
  name='BackendInit',
  full_name='BackendProto.BackendInit',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='preferred_langs', full_name='BackendProto.BackendInit.preferred_langs', index=0,
      number=1, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='locale_folder_path', full_name='BackendProto.BackendInit.locale_folder_path', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='server', full_name='BackendProto.BackendInit.server', index=2,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4166,
  serialized_end=4248,
)


_I18NBACKENDINIT = _descriptor.Descriptor(
  name='I18nBackendInit',
  full_name='BackendProto.I18nBackendInit',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='preferred_langs', full_name='BackendProto.I18nBackendInit.preferred_langs', index=0,
      number=4, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='locale_folder_path', full_name='BackendProto.I18nBackendInit.locale_folder_path', index=1,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4250,
  serialized_end=4320,
)


_BACKENDERROR = _descriptor.Descriptor(
  name='BackendError',
  full_name='BackendProto.BackendError',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='localized', full_name='BackendProto.BackendError.localized', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='invalid_input', full_name='BackendProto.BackendError.invalid_input', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='template_parse', full_name='BackendProto.BackendError.template_parse', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='io_error', full_name='BackendProto.BackendError.io_error', index=3,
      number=4, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='db_error', full_name='BackendProto.BackendError.db_error', index=4,
      number=5, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='network_error', full_name='BackendProto.BackendError.network_error', index=5,
      number=6, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='sync_error', full_name='BackendProto.BackendError.sync_error', index=6,
      number=7, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='interrupted', full_name='BackendProto.BackendError.interrupted', index=7,
      number=8, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='json_error', full_name='BackendProto.BackendError.json_error', index=8,
      number=9, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='proto_error', full_name='BackendProto.BackendError.proto_error', index=9,
      number=10, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='not_found_error', full_name='BackendProto.BackendError.not_found_error', index=10,
      number=11, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='exists', full_name='BackendProto.BackendError.exists', index=11,
      number=12, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='deck_is_filtered', full_name='BackendProto.BackendError.deck_is_filtered', index=12,
      number=13, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='BackendProto.BackendError.value',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=4323,
  serialized_end=4865,
)


_NETWORKERROR = _descriptor.Descriptor(
  name='NetworkError',
  full_name='BackendProto.NetworkError',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='kind', full_name='BackendProto.NetworkError.kind', index=0,
      number=1, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _NETWORKERROR_NETWORKERRORKIND,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4868,
  serialized_end=5014,
)


_SYNCERROR = _descriptor.Descriptor(
  name='SyncError',
  full_name='BackendProto.SyncError',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='kind', full_name='BackendProto.SyncError.kind', index=0,
      number=1, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _SYNCERROR_SYNCERRORKIND,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5017,
  serialized_end=5296,
)


_PROGRESS = _descriptor.Descriptor(
  name='Progress',
  full_name='BackendProto.Progress',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='none', full_name='BackendProto.Progress.none', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='media_sync', full_name='BackendProto.Progress.media_sync', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='media_check', full_name='BackendProto.Progress.media_check', index=2,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='full_sync', full_name='BackendProto.Progress.full_sync', index=3,
      number=4, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='normal_sync', full_name='BackendProto.Progress.normal_sync', index=4,
      number=5, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='database_check', full_name='BackendProto.Progress.database_check', index=5,
      number=6, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='BackendProto.Progress.value',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=5299,
  serialized_end=5606,
)


_MEDIASYNCPROGRESS = _descriptor.Descriptor(
  name='MediaSyncProgress',
  full_name='BackendProto.MediaSyncProgress',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='checked', full_name='BackendProto.MediaSyncProgress.checked', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='added', full_name='BackendProto.MediaSyncProgress.added', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='removed', full_name='BackendProto.MediaSyncProgress.removed', index=2,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5608,
  serialized_end=5676,
)


_FULLSYNCPROGRESS = _descriptor.Descriptor(
  name='FullSyncProgress',
  full_name='BackendProto.FullSyncProgress',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='transferred', full_name='BackendProto.FullSyncProgress.transferred', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='total', full_name='BackendProto.FullSyncProgress.total', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5678,
  serialized_end=5732,
)


_MEDIASYNCUPLOADPROGRESS = _descriptor.Descriptor(
  name='MediaSyncUploadProgress',
  full_name='BackendProto.MediaSyncUploadProgress',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='files', full_name='BackendProto.MediaSyncUploadProgress.files', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='deletions', full_name='BackendProto.MediaSyncUploadProgress.deletions', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5734,
  serialized_end=5793,
)


_NORMALSYNCPROGRESS = _descriptor.Descriptor(
  name='NormalSyncProgress',
  full_name='BackendProto.NormalSyncProgress',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='stage', full_name='BackendProto.NormalSyncProgress.stage', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='added', full_name='BackendProto.NormalSyncProgress.added', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='removed', full_name='BackendProto.NormalSyncProgress.removed', index=2,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5795,
  serialized_end=5862,
)


_DATABASECHECKPROGRESS = _descriptor.Descriptor(
  name='DatabaseCheckProgress',
  full_name='BackendProto.DatabaseCheckProgress',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='stage', full_name='BackendProto.DatabaseCheckProgress.stage', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='stage_total', full_name='BackendProto.DatabaseCheckProgress.stage_total', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='stage_current', full_name='BackendProto.DatabaseCheckProgress.stage_current', index=2,
      number=3, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5864,
  serialized_end=5946,
)


_SCHEDTIMINGTODAYOUT = _descriptor.Descriptor(
  name='SchedTimingTodayOut',
  full_name='BackendProto.SchedTimingTodayOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='days_elapsed', full_name='BackendProto.SchedTimingTodayOut.days_elapsed', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='next_day_at', full_name='BackendProto.SchedTimingTodayOut.next_day_at', index=1,
      number=2, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5948,
  serialized_end=6012,
)


_DECKTREEIN = _descriptor.Descriptor(
  name='DeckTreeIn',
  full_name='BackendProto.DeckTreeIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='now', full_name='BackendProto.DeckTreeIn.now', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='top_deck_id', full_name='BackendProto.DeckTreeIn.top_deck_id', index=1,
      number=2, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6014,
  serialized_end=6060,
)


_DECKTREENODE = _descriptor.Descriptor(
  name='DeckTreeNode',
  full_name='BackendProto.DeckTreeNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='deck_id', full_name='BackendProto.DeckTreeNode.deck_id', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='name', full_name='BackendProto.DeckTreeNode.name', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='children', full_name='BackendProto.DeckTreeNode.children', index=2,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='level', full_name='BackendProto.DeckTreeNode.level', index=3,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='collapsed', full_name='BackendProto.DeckTreeNode.collapsed', index=4,
      number=5, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='review_count', full_name='BackendProto.DeckTreeNode.review_count', index=5,
      number=6, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='learn_count', full_name='BackendProto.DeckTreeNode.learn_count', index=6,
      number=7, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='new_count', full_name='BackendProto.DeckTreeNode.new_count', index=7,
      number=8, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='filtered', full_name='BackendProto.DeckTreeNode.filtered', index=8,
      number=16, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6063,
  serialized_end=6268,
)


_RENDEREXISTINGCARDIN = _descriptor.Descriptor(
  name='RenderExistingCardIn',
  full_name='BackendProto.RenderExistingCardIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='card_id', full_name='BackendProto.RenderExistingCardIn.card_id', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='browser', full_name='BackendProto.RenderExistingCardIn.browser', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6270,
  serialized_end=6326,
)


_RENDERUNCOMMITTEDCARDIN = _descriptor.Descriptor(
  name='RenderUncommittedCardIn',
  full_name='BackendProto.RenderUncommittedCardIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='note', full_name='BackendProto.RenderUncommittedCardIn.note', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='card_ord', full_name='BackendProto.RenderUncommittedCardIn.card_ord', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='template', full_name='BackendProto.RenderUncommittedCardIn.template', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='fill_empty', full_name='BackendProto.RenderUncommittedCardIn.fill_empty', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6328,
  serialized_end=6443,
)


_RENDERCARDOUT = _descriptor.Descriptor(
  name='RenderCardOut',
  full_name='BackendProto.RenderCardOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='question_nodes', full_name='BackendProto.RenderCardOut.question_nodes', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='answer_nodes', full_name='BackendProto.RenderCardOut.answer_nodes', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6446,
  serialized_end=6579,
)


_RENDEREDTEMPLATENODE = _descriptor.Descriptor(
  name='RenderedTemplateNode',
  full_name='BackendProto.RenderedTemplateNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='text', full_name='BackendProto.RenderedTemplateNode.text', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='replacement', full_name='BackendProto.RenderedTemplateNode.replacement', index=1,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='BackendProto.RenderedTemplateNode.value',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=6581,
  serialized_end=6694,
)


_RENDEREDTEMPLATEREPLACEMENT = _descriptor.Descriptor(
  name='RenderedTemplateReplacement',
  full_name='BackendProto.RenderedTemplateReplacement',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='field_name', full_name='BackendProto.RenderedTemplateReplacement.field_name', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='current_text', full_name='BackendProto.RenderedTemplateReplacement.current_text', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='filters', full_name='BackendProto.RenderedTemplateReplacement.filters', index=2,
      number=3, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6696,
  serialized_end=6784,
)


_EXTRACTAVTAGSIN = _descriptor.Descriptor(
  name='ExtractAVTagsIn',
  full_name='BackendProto.ExtractAVTagsIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='text', full_name='BackendProto.ExtractAVTagsIn.text', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='question_side', full_name='BackendProto.ExtractAVTagsIn.question_side', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6786,
  serialized_end=6840,
)


_EXTRACTAVTAGSOUT = _descriptor.Descriptor(
  name='ExtractAVTagsOut',
  full_name='BackendProto.ExtractAVTagsOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='text', full_name='BackendProto.ExtractAVTagsOut.text', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='av_tags', full_name='BackendProto.ExtractAVTagsOut.av_tags', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6842,
  serialized_end=6912,
)


_AVTAG = _descriptor.Descriptor(
  name='AVTag',
  full_name='BackendProto.AVTag',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='sound_or_video', full_name='BackendProto.AVTag.sound_or_video', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='tts', full_name='BackendProto.AVTag.tts', index=1,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='BackendProto.AVTag.value',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=6914,
  serialized_end=6993,
)


_TTSTAG = _descriptor.Descriptor(
  name='TTSTag',
  full_name='BackendProto.TTSTag',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='field_text', full_name='BackendProto.TTSTag.field_text', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='lang', full_name='BackendProto.TTSTag.lang', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='voices', full_name='BackendProto.TTSTag.voices', index=2,
      number=3, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='speed', full_name='BackendProto.TTSTag.speed', index=3,
      number=4, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='other_args', full_name='BackendProto.TTSTag.other_args', index=4,
      number=5, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6995,
  serialized_end=7088,
)


_EXTRACTLATEXIN = _descriptor.Descriptor(
  name='ExtractLatexIn',
  full_name='BackendProto.ExtractLatexIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='text', full_name='BackendProto.ExtractLatexIn.text', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='svg', full_name='BackendProto.ExtractLatexIn.svg', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='expand_clozes', full_name='BackendProto.ExtractLatexIn.expand_clozes', index=2,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7090,
  serialized_end=7156,
)


_EXTRACTLATEXOUT = _descriptor.Descriptor(
  name='ExtractLatexOut',
  full_name='BackendProto.ExtractLatexOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='text', full_name='BackendProto.ExtractLatexOut.text', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='latex', full_name='BackendProto.ExtractLatexOut.latex', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7158,
  serialized_end=7234,
)


_EXTRACTEDLATEX = _descriptor.Descriptor(
  name='ExtractedLatex',
  full_name='BackendProto.ExtractedLatex',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='filename', full_name='BackendProto.ExtractedLatex.filename', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='latex_body', full_name='BackendProto.ExtractedLatex.latex_body', index=1,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7236,
  serialized_end=7290,
)


_ADDMEDIAFILEIN = _descriptor.Descriptor(
  name='AddMediaFileIn',
  full_name='BackendProto.AddMediaFileIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='desired_name', full_name='BackendProto.AddMediaFileIn.desired_name', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='data', full_name='BackendProto.AddMediaFileIn.data', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7292,
  serialized_end=7344,
)


_CHECKMEDIAOUT = _descriptor.Descriptor(
  name='CheckMediaOut',
  full_name='BackendProto.CheckMediaOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='unused', full_name='BackendProto.CheckMediaOut.unused', index=0,
      number=1, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='missing', full_name='BackendProto.CheckMediaOut.missing', index=1,
      number=2, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='report', full_name='BackendProto.CheckMediaOut.report', index=2,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='have_trash', full_name='BackendProto.CheckMediaOut.have_trash', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7346,
  serialized_end=7430,
)


_TRASHMEDIAFILESIN = _descriptor.Descriptor(
  name='TrashMediaFilesIn',
  full_name='BackendProto.TrashMediaFilesIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='fnames', full_name='BackendProto.TrashMediaFilesIn.fnames', index=0,
      number=1, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7432,
  serialized_end=7467,
)


_TRANSLATESTRINGIN_ARGSENTRY = _descriptor.Descriptor(
  name='ArgsEntry',
  full_name='BackendProto.TranslateStringIn.ArgsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='BackendProto.TranslateStringIn.ArgsEntry.key', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='value', full_name='BackendProto.TranslateStringIn.ArgsEntry.value', index=1,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'8\001',
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7589,
  serialized_end=7665,
)

_TRANSLATESTRINGIN = _descriptor.Descriptor(
  name='TranslateStringIn',
  full_name='BackendProto.TranslateStringIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='BackendProto.TranslateStringIn.key', index=0,
      number=2, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='args', full_name='BackendProto.TranslateStringIn.args', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_TRANSLATESTRINGIN_ARGSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7470,
  serialized_end=7665,
)


_TRANSLATEARGVALUE = _descriptor.Descriptor(
  name='TranslateArgValue',
  full_name='BackendProto.TranslateArgValue',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='str', full_name='BackendProto.TranslateArgValue.str', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='number', full_name='BackendProto.TranslateArgValue.number', index=1,
      number=2, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='BackendProto.TranslateArgValue.value',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=7667,
  serialized_end=7728,
)


_FORMATTIMESPANIN = _descriptor.Descriptor(
  name='FormatTimespanIn',
  full_name='BackendProto.FormatTimespanIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='seconds', full_name='BackendProto.FormatTimespanIn.seconds', index=0,
      number=1, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='context', full_name='BackendProto.FormatTimespanIn.context', index=1,
      number=2, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _FORMATTIMESPANIN_CONTEXT,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7731,
  serialized_end=7882,
)


_STUDIEDTODAYIN = _descriptor.Descriptor(
  name='StudiedTodayIn',
  full_name='BackendProto.StudiedTodayIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='cards', full_name='BackendProto.StudiedTodayIn.cards', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='seconds', full_name='BackendProto.StudiedTodayIn.seconds', index=1,
      number=2, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7884,
  serialized_end=7932,
)


_CONGRATSLEARNMESSAGEIN = _descriptor.Descriptor(
  name='CongratsLearnMessageIn',
  full_name='BackendProto.CongratsLearnMessageIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='next_due', full_name='BackendProto.CongratsLearnMessageIn.next_due', index=0,
      number=1, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='remaining', full_name='BackendProto.CongratsLearnMessageIn.remaining', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7934,
  serialized_end=7995,
)


_OPENCOLLECTIONIN = _descriptor.Descriptor(
  name='OpenCollectionIn',
  full_name='BackendProto.OpenCollectionIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='collection_path', full_name='BackendProto.OpenCollectionIn.collection_path', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='media_folder_path', full_name='BackendProto.OpenCollectionIn.media_folder_path', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='media_db_path', full_name='BackendProto.OpenCollectionIn.media_db_path', index=2,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='log_path', full_name='BackendProto.OpenCollectionIn.log_path', index=3,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7997,
  serialized_end=8108,
)


_SEARCHCARDSIN = _descriptor.Descriptor(
  name='SearchCardsIn',
  full_name='BackendProto.SearchCardsIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='search', full_name='BackendProto.SearchCardsIn.search', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='order', full_name='BackendProto.SearchCardsIn.order', index=1,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=8110,
  serialized_end=8181,
)


_SEARCHCARDSOUT = _descriptor.Descriptor(
  name='SearchCardsOut',
  full_name='BackendProto.SearchCardsOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='card_ids', full_name='BackendProto.SearchCardsOut.card_ids', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=8183,
  serialized_end=8217,
)


_SORTORDER = _descriptor.Descriptor(
  name='SortOrder',
  full_name='BackendProto.SortOrder',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='from_config', full_name='BackendProto.SortOrder.from_config', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='none', full_name='BackendProto.SortOrder.none', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='custom', full_name='BackendProto.SortOrder.custom', index=2,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='builtin', full_name='BackendProto.SortOrder.builtin', index=3,
      number=4, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='BackendProto.SortOrder.value',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=8220,
  serialized_end=8392,
)


_SEARCHNOTESIN = _descriptor.Descriptor(
  name='SearchNotesIn',
  full_name='BackendProto.SearchNotesIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='search', full_name='BackendProto.SearchNotesIn.search', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=8394,
  serialized_end=8425,
)


_SEARCHNOTESOUT = _descriptor.Descriptor(
  name='SearchNotesOut',
  full_name='BackendProto.SearchNotesOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='note_ids', full_name='BackendProto.SearchNotesOut.note_ids', index=0,
      number=2, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=8427,
  serialized_end=8461,
)


_BUILTINSEARCHORDER = _descriptor.Descriptor(
  name='BuiltinSearchOrder',
  full_name='BackendProto.BuiltinSearchOrder',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='kind', full_name='BackendProto.BuiltinSearchOrder.kind', index=0,
      number=1, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='reverse', full_name='BackendProto.BuiltinSearchOrder.reverse', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _BUILTINSEARCHORDER_BUILTINSORTKIND,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=8464,
  serialized_end=8792,
)


_CLOSECOLLECTIONIN = _descriptor.Descriptor(
  name='CloseCollectionIn',
  full_name='BackendProto.CloseCollectionIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='downgrade_to_schema11', full_name='BackendProto.CloseCollectionIn.downgrade_to_schema11', index=0,
      number=1, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=8794,
  serialized_end=8844,
)


_ADDORUPDATEDECKCONFIGLEGACYIN = _descriptor.Descriptor(
  name='AddOrUpdateDeckConfigLegacyIn',
  full_name='BackendProto.AddOrUpdateDeckConfigLegacyIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='config', full_name='BackendProto.AddOrUpdateDeckConfigLegacyIn.config', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='preserve_usn_and_mtime', full_name='BackendProto.AddOrUpdateDeckConfigLegacyIn.preserve_usn_and_mtime', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=8846,
  serialized_end=8925,
)


_REGISTERTAGSIN = _descriptor.Descriptor(
  name='RegisterTagsIn',
  full_name='BackendProto.RegisterTagsIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='tags', full_name='BackendProto.RegisterTagsIn.tags', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='preserve_usn', full_name='BackendProto.RegisterTagsIn.preserve_usn', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='usn', full_name='BackendProto.RegisterTagsIn.usn', index=2,
      number=3, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='clear_first', full_name='BackendProto.RegisterTagsIn.clear_first', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=8927,
  serialized_end=9013,
)


_ALLTAGSOUT = _descriptor.Descriptor(
  name='AllTagsOut',
  full_name='BackendProto.AllTagsOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='tags', full_name='BackendProto.AllTagsOut.tags', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9015,
  serialized_end=9068,
)


_TAGUSNTUPLE = _descriptor.Descriptor(
  name='TagUsnTuple',
  full_name='BackendProto.TagUsnTuple',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='tag', full_name='BackendProto.TagUsnTuple.tag', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='usn', full_name='BackendProto.TagUsnTuple.usn', index=1,
      number=2, type=17, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9070,
  serialized_end=9109,
)


_GETCHANGEDTAGSOUT = _descriptor.Descriptor(
  name='GetChangedTagsOut',
  full_name='BackendProto.GetChangedTagsOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='tags', full_name='BackendProto.GetChangedTagsOut.tags', index=0,
      number=1, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9111,
  serialized_end=9144,
)


_SETCONFIGJSONIN = _descriptor.Descriptor(
  name='SetConfigJsonIn',
  full_name='BackendProto.SetConfigJsonIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='BackendProto.SetConfigJsonIn.key', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='value_json', full_name='BackendProto.SetConfigJsonIn.value_json', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9146,
  serialized_end=9196,
)


_GETSTOCKNOTETYPEIN = _descriptor.Descriptor(
  name='GetStockNotetypeIn',
  full_name='BackendProto.GetStockNotetypeIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='kind', full_name='BackendProto.GetStockNotetypeIn.kind', index=0,
      number=1, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9198,
  serialized_end=9261,
)


_NOTETYPENAMES = _descriptor.Descriptor(
  name='NoteTypeNames',
  full_name='BackendProto.NoteTypeNames',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='entries', full_name='BackendProto.NoteTypeNames.entries', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9263,
  serialized_end=9325,
)


_NOTETYPEUSECOUNTS = _descriptor.Descriptor(
  name='NoteTypeUseCounts',
  full_name='BackendProto.NoteTypeUseCounts',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='entries', full_name='BackendProto.NoteTypeUseCounts.entries', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9327,
  serialized_end=9401,
)


_NOTETYPENAMEID = _descriptor.Descriptor(
  name='NoteTypeNameID',
  full_name='BackendProto.NoteTypeNameID',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='BackendProto.NoteTypeNameID.id', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='name', full_name='BackendProto.NoteTypeNameID.name', index=1,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9403,
  serialized_end=9445,
)


_NOTETYPENAMEIDUSECOUNT = _descriptor.Descriptor(
  name='NoteTypeNameIDUseCount',
  full_name='BackendProto.NoteTypeNameIDUseCount',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='BackendProto.NoteTypeNameIDUseCount.id', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='name', full_name='BackendProto.NoteTypeNameIDUseCount.name', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='use_count', full_name='BackendProto.NoteTypeNameIDUseCount.use_count', index=2,
      number=3, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9447,
  serialized_end=9516,
)


_ADDORUPDATENOTETYPEIN = _descriptor.Descriptor(
  name='AddOrUpdateNotetypeIn',
  full_name='BackendProto.AddOrUpdateNotetypeIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='json', full_name='BackendProto.AddOrUpdateNotetypeIn.json', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='preserve_usn_and_mtime', full_name='BackendProto.AddOrUpdateNotetypeIn.preserve_usn_and_mtime', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9518,
  serialized_end=9587,
)


_ADDNOTEIN = _descriptor.Descriptor(
  name='AddNoteIn',
  full_name='BackendProto.AddNoteIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='note', full_name='BackendProto.AddNoteIn.note', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='deck_id', full_name='BackendProto.AddNoteIn.deck_id', index=1,
      number=2, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9589,
  serialized_end=9651,
)


_EMPTYCARDSREPORT = _descriptor.Descriptor(
  name='EmptyCardsReport',
  full_name='BackendProto.EmptyCardsReport',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='report', full_name='BackendProto.EmptyCardsReport.report', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='notes', full_name='BackendProto.EmptyCardsReport.notes', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9653,
  serialized_end=9736,
)


_NOTEWITHEMPTYCARDS = _descriptor.Descriptor(
  name='NoteWithEmptyCards',
  full_name='BackendProto.NoteWithEmptyCards',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='note_id', full_name='BackendProto.NoteWithEmptyCards.note_id', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='card_ids', full_name='BackendProto.NoteWithEmptyCards.card_ids', index=1,
      number=2, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='will_delete_note', full_name='BackendProto.NoteWithEmptyCards.will_delete_note', index=2,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9738,
  serialized_end=9819,
)


_DECKNAMES = _descriptor.Descriptor(
  name='DeckNames',
  full_name='BackendProto.DeckNames',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='entries', full_name='BackendProto.DeckNames.entries', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9821,
  serialized_end=9875,
)


_DECKNAMEID = _descriptor.Descriptor(
  name='DeckNameID',
  full_name='BackendProto.DeckNameID',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='BackendProto.DeckNameID.id', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='name', full_name='BackendProto.DeckNameID.name', index=1,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9877,
  serialized_end=9915,
)


_ADDORUPDATEDECKLEGACYIN = _descriptor.Descriptor(
  name='AddOrUpdateDeckLegacyIn',
  full_name='BackendProto.AddOrUpdateDeckLegacyIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='deck', full_name='BackendProto.AddOrUpdateDeckLegacyIn.deck', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='preserve_usn_and_mtime', full_name='BackendProto.AddOrUpdateDeckLegacyIn.preserve_usn_and_mtime', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9917,
  serialized_end=9988,
)


_FIELDNAMESFORNOTESIN = _descriptor.Descriptor(
  name='FieldNamesForNotesIn',
  full_name='BackendProto.FieldNamesForNotesIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='nids', full_name='BackendProto.FieldNamesForNotesIn.nids', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9990,
  serialized_end=10026,
)


_FIELDNAMESFORNOTESOUT = _descriptor.Descriptor(
  name='FieldNamesForNotesOut',
  full_name='BackendProto.FieldNamesForNotesOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='fields', full_name='BackendProto.FieldNamesForNotesOut.fields', index=0,
      number=1, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=10028,
  serialized_end=10067,
)


_FINDANDREPLACEIN = _descriptor.Descriptor(
  name='FindAndReplaceIn',
  full_name='BackendProto.FindAndReplaceIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='nids', full_name='BackendProto.FindAndReplaceIn.nids', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='search', full_name='BackendProto.FindAndReplaceIn.search', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='replacement', full_name='BackendProto.FindAndReplaceIn.replacement', index=2,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='regex', full_name='BackendProto.FindAndReplaceIn.regex', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='match_case', full_name='BackendProto.FindAndReplaceIn.match_case', index=4,
      number=5, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='field_name', full_name='BackendProto.FindAndReplaceIn.field_name', index=5,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=10069,
  serialized_end=10193,
)


_AFTERNOTEUPDATESIN = _descriptor.Descriptor(
  name='AfterNoteUpdatesIn',
  full_name='BackendProto.AfterNoteUpdatesIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='nids', full_name='BackendProto.AfterNoteUpdatesIn.nids', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='mark_notes_modified', full_name='BackendProto.AfterNoteUpdatesIn.mark_notes_modified', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='generate_cards', full_name='BackendProto.AfterNoteUpdatesIn.generate_cards', index=2,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=10195,
  serialized_end=10282,
)


_ADDNOTETAGSIN = _descriptor.Descriptor(
  name='AddNoteTagsIn',
  full_name='BackendProto.AddNoteTagsIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='nids', full_name='BackendProto.AddNoteTagsIn.nids', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='tags', full_name='BackendProto.AddNoteTagsIn.tags', index=1,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=10284,
  serialized_end=10327,
)


_UPDATENOTETAGSIN = _descriptor.Descriptor(
  name='UpdateNoteTagsIn',
  full_name='BackendProto.UpdateNoteTagsIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='nids', full_name='BackendProto.UpdateNoteTagsIn.nids', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='tags', full_name='BackendProto.UpdateNoteTagsIn.tags', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='replacement', full_name='BackendProto.UpdateNoteTagsIn.replacement', index=2,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='regex', full_name='BackendProto.UpdateNoteTagsIn.regex', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=10329,
  serialized_end=10411,
)


_CHECKDATABASEOUT = _descriptor.Descriptor(
  name='CheckDatabaseOut',
  full_name='BackendProto.CheckDatabaseOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problems', full_name='BackendProto.CheckDatabaseOut.problems', index=0,
      number=1, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=10413,
  serialized_end=10449,
)


_COLLECTIONSCHEDULINGSETTINGS = _descriptor.Descriptor(
  name='CollectionSchedulingSettings',
  full_name='BackendProto.CollectionSchedulingSettings',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='scheduler_version', full_name='BackendProto.CollectionSchedulingSettings.scheduler_version', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='rollover', full_name='BackendProto.CollectionSchedulingSettings.rollover', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='learn_ahead_secs', full_name='BackendProto.CollectionSchedulingSettings.learn_ahead_secs', index=2,
      number=3, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='new_review_mix', full_name='BackendProto.CollectionSchedulingSettings.new_review_mix', index=3,
      number=4, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='show_remaining_due_counts', full_name='BackendProto.CollectionSchedulingSettings.show_remaining_due_counts', index=4,
      number=5, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='show_intervals_on_buttons', full_name='BackendProto.CollectionSchedulingSettings.show_intervals_on_buttons', index=5,
      number=6, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='time_limit_secs', full_name='BackendProto.CollectionSchedulingSettings.time_limit_secs', index=6,
      number=7, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='new_timezone', full_name='BackendProto.CollectionSchedulingSettings.new_timezone', index=7,
      number=8, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='day_learn_first', full_name='BackendProto.CollectionSchedulingSettings.day_learn_first', index=8,
      number=9, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _COLLECTIONSCHEDULINGSETTINGS_NEWREVIEWMIX,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=10452,
  serialized_end=10842,
)


_PREFERENCES = _descriptor.Descriptor(
  name='Preferences',
  full_name='BackendProto.Preferences',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='sched', full_name='BackendProto.Preferences.sched', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=10844,
  serialized_end=10916,
)


_CLOZENUMBERSINNOTEOUT = _descriptor.Descriptor(
  name='ClozeNumbersInNoteOut',
  full_name='BackendProto.ClozeNumbersInNoteOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='numbers', full_name='BackendProto.ClozeNumbersInNoteOut.numbers', index=0,
      number=1, type=13, cpp_type=3, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=10918,
  serialized_end=10958,
)


_GETDECKNAMESIN = _descriptor.Descriptor(
  name='GetDeckNamesIn',
  full_name='BackendProto.GetDeckNamesIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='skip_empty_default', full_name='BackendProto.GetDeckNamesIn.skip_empty_default', index=0,
      number=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='include_filtered', full_name='BackendProto.GetDeckNamesIn.include_filtered', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=10960,
  serialized_end=11030,
)


_NOTEISDUPLICATEOREMPTYOUT = _descriptor.Descriptor(
  name='NoteIsDuplicateOrEmptyOut',
  full_name='BackendProto.NoteIsDuplicateOrEmptyOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='state', full_name='BackendProto.NoteIsDuplicateOrEmptyOut.state', index=0,
      number=1, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _NOTEISDUPLICATEOREMPTYOUT_STATE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11033,
  serialized_end=11169,
)


_SYNCLOGININ = _descriptor.Descriptor(
  name='SyncLoginIn',
  full_name='BackendProto.SyncLoginIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='username', full_name='BackendProto.SyncLoginIn.username', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='password', full_name='BackendProto.SyncLoginIn.password', index=1,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11171,
  serialized_end=11220,
)


_SYNCSTATUSOUT = _descriptor.Descriptor(
  name='SyncStatusOut',
  full_name='BackendProto.SyncStatusOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='required', full_name='BackendProto.SyncStatusOut.required', index=0,
      number=1, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _SYNCSTATUSOUT_REQUIRED,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11223,
  serialized_end=11354,
)


_SYNCCOLLECTIONOUT = _descriptor.Descriptor(
  name='SyncCollectionOut',
  full_name='BackendProto.SyncCollectionOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='host_number', full_name='BackendProto.SyncCollectionOut.host_number', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='server_message', full_name='BackendProto.SyncCollectionOut.server_message', index=1,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='required', full_name='BackendProto.SyncCollectionOut.required', index=2,
      number=3, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _SYNCCOLLECTIONOUT_CHANGESREQUIRED,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11357,
  serialized_end=11591,
)


_SYNCAUTH = _descriptor.Descriptor(
  name='SyncAuth',
  full_name='BackendProto.SyncAuth',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='hkey', full_name='BackendProto.SyncAuth.hkey', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='host_number', full_name='BackendProto.SyncAuth.host_number', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11593,
  serialized_end=11638,
)


_REMOVENOTESIN = _descriptor.Descriptor(
  name='RemoveNotesIn',
  full_name='BackendProto.RemoveNotesIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='note_ids', full_name='BackendProto.RemoveNotesIn.note_ids', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='card_ids', full_name='BackendProto.RemoveNotesIn.card_ids', index=1,
      number=2, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11640,
  serialized_end=11691,
)


_REMOVECARDSIN = _descriptor.Descriptor(
  name='RemoveCardsIn',
  full_name='BackendProto.RemoveCardsIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='card_ids', full_name='BackendProto.RemoveCardsIn.card_ids', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11693,
  serialized_end=11726,
)


_UPDATESTATSIN = _descriptor.Descriptor(
  name='UpdateStatsIn',
  full_name='BackendProto.UpdateStatsIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='deck_id', full_name='BackendProto.UpdateStatsIn.deck_id', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='new_delta', full_name='BackendProto.UpdateStatsIn.new_delta', index=1,
      number=2, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='review_delta', full_name='BackendProto.UpdateStatsIn.review_delta', index=2,
      number=4, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='millisecond_delta', full_name='BackendProto.UpdateStatsIn.millisecond_delta', index=3,
      number=5, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11728,
  serialized_end=11828,
)


_EXTENDLIMITSIN = _descriptor.Descriptor(
  name='ExtendLimitsIn',
  full_name='BackendProto.ExtendLimitsIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='deck_id', full_name='BackendProto.ExtendLimitsIn.deck_id', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='new_delta', full_name='BackendProto.ExtendLimitsIn.new_delta', index=1,
      number=2, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='review_delta', full_name='BackendProto.ExtendLimitsIn.review_delta', index=2,
      number=3, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11830,
  serialized_end=11904,
)


_COUNTSFORDECKTODAYOUT = _descriptor.Descriptor(
  name='CountsForDeckTodayOut',
  full_name='BackendProto.CountsForDeckTodayOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='new', full_name='BackendProto.CountsForDeckTodayOut.new', index=0,
      number=1, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='review', full_name='BackendProto.CountsForDeckTodayOut.review', index=1,
      number=2, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11906,
  serialized_end=11958,
)


_GRAPHSIN = _descriptor.Descriptor(
  name='GraphsIn',
  full_name='BackendProto.GraphsIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='search', full_name='BackendProto.GraphsIn.search', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='days', full_name='BackendProto.GraphsIn.days', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11960,
  serialized_end=12000,
)


_GRAPHSOUT = _descriptor.Descriptor(
  name='GraphsOut',
  full_name='BackendProto.GraphsOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='cards', full_name='BackendProto.GraphsOut.cards', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='revlog', full_name='BackendProto.GraphsOut.revlog', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='days_elapsed', full_name='BackendProto.GraphsOut.days_elapsed', index=2,
      number=3, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='next_day_at_secs', full_name='BackendProto.GraphsOut.next_day_at_secs', index=3,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='scheduler_version', full_name='BackendProto.GraphsOut.scheduler_version', index=4,
      number=5, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='local_offset_secs', full_name='BackendProto.GraphsOut.local_offset_secs', index=5,
      number=7, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=12003,
  serialized_end=12194,
)


_REVLOGENTRY = _descriptor.Descriptor(
  name='RevlogEntry',
  full_name='BackendProto.RevlogEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='BackendProto.RevlogEntry.id', index=0,
      number=1, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='cid', full_name='BackendProto.RevlogEntry.cid', index=1,
      number=2, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='usn', full_name='BackendProto.RevlogEntry.usn', index=2,
      number=3, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='button_chosen', full_name='BackendProto.RevlogEntry.button_chosen', index=3,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='interval', full_name='BackendProto.RevlogEntry.interval', index=4,
      number=5, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='last_interval', full_name='BackendProto.RevlogEntry.last_interval', index=5,
      number=6, type=5, cpp_type=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='ease_factor', full_name='BackendProto.RevlogEntry.ease_factor', index=6,
      number=7, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='taken_millis', full_name='BackendProto.RevlogEntry.taken_millis', index=7,
      number=8, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='review_kind', full_name='BackendProto.RevlogEntry.review_kind', index=8,
      number=9, type=14, cpp_type=8, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _REVLOGENTRY_REVIEWKIND,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=12197,
  serialized_end=12488,
)

_DECKCONFIGINNER.fields_by_name['new_card_order'].enum_type = _DECKCONFIGINNER_NEWCARDORDER
_DECKCONFIGINNER.fields_by_name['leech_action'].enum_type = _DECKCONFIGINNER_LEECHACTION
_DECKCONFIGINNER_NEWCARDORDER.containing_type = _DECKCONFIGINNER
_DECKCONFIGINNER_LEECHACTION.containing_type = _DECKCONFIGINNER
_DECKKIND.fields_by_name['normal'].message_type = _NORMALDECK
_DECKKIND.fields_by_name['filtered'].message_type = _FILTEREDDECK
_DECKKIND.oneofs_by_name['kind'].fields.append(
  _DECKKIND.fields_by_name['normal'])
_DECKKIND.fields_by_name['normal'].containing_oneof = _DECKKIND.oneofs_by_name['kind']
_DECKKIND.oneofs_by_name['kind'].fields.append(
  _DECKKIND.fields_by_name['filtered'])
_DECKKIND.fields_by_name['filtered'].containing_oneof = _DECKKIND.oneofs_by_name['kind']
_FILTEREDDECK.fields_by_name['search_terms'].message_type = _FILTEREDSEARCHTERM
_FILTEREDSEARCHTERM.fields_by_name['order'].enum_type = _FILTEREDSEARCHTERM_FILTEREDSEARCHORDER
_FILTEREDSEARCHTERM_FILTEREDSEARCHORDER.containing_type = _FILTEREDSEARCHTERM
_NOTETYPECONFIG.fields_by_name['kind'].enum_type = _NOTETYPECONFIG_KIND
_NOTETYPECONFIG.fields_by_name['reqs'].message_type = _CARDREQUIREMENT
_NOTETYPECONFIG_KIND.containing_type = _NOTETYPECONFIG
_CARDREQUIREMENT.fields_by_name['kind'].enum_type = _CARDREQUIREMENT_KIND
_CARDREQUIREMENT_KIND.containing_type = _CARDREQUIREMENT
_DECK.fields_by_name['common'].message_type = _DECKCOMMON
_DECK.fields_by_name['normal'].message_type = _NORMALDECK
_DECK.fields_by_name['filtered'].message_type = _FILTEREDDECK
_DECK.oneofs_by_name['kind'].fields.append(
  _DECK.fields_by_name['normal'])
_DECK.fields_by_name['normal'].containing_oneof = _DECK.oneofs_by_name['kind']
_DECK.oneofs_by_name['kind'].fields.append(
  _DECK.fields_by_name['filtered'])
_DECK.fields_by_name['filtered'].containing_oneof = _DECK.oneofs_by_name['kind']
_NOTETYPE.fields_by_name['config'].message_type = _NOTETYPECONFIG
_NOTETYPE.fields_by_name['fields'].message_type = _NOTEFIELD
_NOTETYPE.fields_by_name['templates'].message_type = _CARDTEMPLATE
_NOTEFIELD.fields_by_name['ord'].message_type = _OPTIONALUINT32
_NOTEFIELD.fields_by_name['config'].message_type = _NOTEFIELDCONFIG
_CARDTEMPLATE.fields_by_name['ord'].message_type = _OPTIONALUINT32
_CARDTEMPLATE.fields_by_name['config'].message_type = _CARDTEMPLATECONFIG
_BACKENDERROR.fields_by_name['invalid_input'].message_type = _EMPTY
_BACKENDERROR.fields_by_name['template_parse'].message_type = _EMPTY
_BACKENDERROR.fields_by_name['io_error'].message_type = _EMPTY
_BACKENDERROR.fields_by_name['db_error'].message_type = _EMPTY
_BACKENDERROR.fields_by_name['network_error'].message_type = _NETWORKERROR
_BACKENDERROR.fields_by_name['sync_error'].message_type = _SYNCERROR
_BACKENDERROR.fields_by_name['interrupted'].message_type = _EMPTY
_BACKENDERROR.fields_by_name['not_found_error'].message_type = _EMPTY
_BACKENDERROR.fields_by_name['exists'].message_type = _EMPTY
_BACKENDERROR.fields_by_name['deck_is_filtered'].message_type = _EMPTY
_BACKENDERROR.oneofs_by_name['value'].fields.append(
  _BACKENDERROR.fields_by_name['invalid_input'])
_BACKENDERROR.fields_by_name['invalid_input'].containing_oneof = _BACKENDERROR.oneofs_by_name['value']
_BACKENDERROR.oneofs_by_name['value'].fields.append(
  _BACKENDERROR.fields_by_name['template_parse'])
_BACKENDERROR.fields_by_name['template_parse'].containing_oneof = _BACKENDERROR.oneofs_by_name['value']
_BACKENDERROR.oneofs_by_name['value'].fields.append(
  _BACKENDERROR.fields_by_name['io_error'])
_BACKENDERROR.fields_by_name['io_error'].containing_oneof = _BACKENDERROR.oneofs_by_name['value']
_BACKENDERROR.oneofs_by_name['value'].fields.append(
  _BACKENDERROR.fields_by_name['db_error'])
_BACKENDERROR.fields_by_name['db_error'].containing_oneof = _BACKENDERROR.oneofs_by_name['value']
_BACKENDERROR.oneofs_by_name['value'].fields.append(
  _BACKENDERROR.fields_by_name['network_error'])
_BACKENDERROR.fields_by_name['network_error'].containing_oneof = _BACKENDERROR.oneofs_by_name['value']
_BACKENDERROR.oneofs_by_name['value'].fields.append(
  _BACKENDERROR.fields_by_name['sync_error'])
_BACKENDERROR.fields_by_name['sync_error'].containing_oneof = _BACKENDERROR.oneofs_by_name['value']
_BACKENDERROR.oneofs_by_name['value'].fields.append(
  _BACKENDERROR.fields_by_name['interrupted'])
_BACKENDERROR.fields_by_name['interrupted'].containing_oneof = _BACKENDERROR.oneofs_by_name['value']
_BACKENDERROR.oneofs_by_name['value'].fields.append(
  _BACKENDERROR.fields_by_name['json_error'])
_BACKENDERROR.fields_by_name['json_error'].containing_oneof = _BACKENDERROR.oneofs_by_name['value']
_BACKENDERROR.oneofs_by_name['value'].fields.append(
  _BACKENDERROR.fields_by_name['proto_error'])
_BACKENDERROR.fields_by_name['proto_error'].containing_oneof = _BACKENDERROR.oneofs_by_name['value']
_BACKENDERROR.oneofs_by_name['value'].fields.append(
  _BACKENDERROR.fields_by_name['not_found_error'])
_BACKENDERROR.fields_by_name['not_found_error'].containing_oneof = _BACKENDERROR.oneofs_by_name['value']
_BACKENDERROR.oneofs_by_name['value'].fields.append(
  _BACKENDERROR.fields_by_name['exists'])
_BACKENDERROR.fields_by_name['exists'].containing_oneof = _BACKENDERROR.oneofs_by_name['value']
_BACKENDERROR.oneofs_by_name['value'].fields.append(
  _BACKENDERROR.fields_by_name['deck_is_filtered'])
_BACKENDERROR.fields_by_name['deck_is_filtered'].containing_oneof = _BACKENDERROR.oneofs_by_name['value']
_NETWORKERROR.fields_by_name['kind'].enum_type = _NETWORKERROR_NETWORKERRORKIND
_NETWORKERROR_NETWORKERRORKIND.containing_type = _NETWORKERROR
_SYNCERROR.fields_by_name['kind'].enum_type = _SYNCERROR_SYNCERRORKIND
_SYNCERROR_SYNCERRORKIND.containing_type = _SYNCERROR
_PROGRESS.fields_by_name['none'].message_type = _EMPTY
_PROGRESS.fields_by_name['media_sync'].message_type = _MEDIASYNCPROGRESS
_PROGRESS.fields_by_name['full_sync'].message_type = _FULLSYNCPROGRESS
_PROGRESS.fields_by_name['normal_sync'].message_type = _NORMALSYNCPROGRESS
_PROGRESS.fields_by_name['database_check'].message_type = _DATABASECHECKPROGRESS
_PROGRESS.oneofs_by_name['value'].fields.append(
  _PROGRESS.fields_by_name['none'])
_PROGRESS.fields_by_name['none'].containing_oneof = _PROGRESS.oneofs_by_name['value']
_PROGRESS.oneofs_by_name['value'].fields.append(
  _PROGRESS.fields_by_name['media_sync'])
_PROGRESS.fields_by_name['media_sync'].containing_oneof = _PROGRESS.oneofs_by_name['value']
_PROGRESS.oneofs_by_name['value'].fields.append(
  _PROGRESS.fields_by_name['media_check'])
_PROGRESS.fields_by_name['media_check'].containing_oneof = _PROGRESS.oneofs_by_name['value']
_PROGRESS.oneofs_by_name['value'].fields.append(
  _PROGRESS.fields_by_name['full_sync'])
_PROGRESS.fields_by_name['full_sync'].containing_oneof = _PROGRESS.oneofs_by_name['value']
_PROGRESS.oneofs_by_name['value'].fields.append(
  _PROGRESS.fields_by_name['normal_sync'])
_PROGRESS.fields_by_name['normal_sync'].containing_oneof = _PROGRESS.oneofs_by_name['value']
_PROGRESS.oneofs_by_name['value'].fields.append(
  _PROGRESS.fields_by_name['database_check'])
_PROGRESS.fields_by_name['database_check'].containing_oneof = _PROGRESS.oneofs_by_name['value']
_DECKTREENODE.fields_by_name['children'].message_type = _DECKTREENODE
_RENDERUNCOMMITTEDCARDIN.fields_by_name['note'].message_type = _NOTE
_RENDERCARDOUT.fields_by_name['question_nodes'].message_type = _RENDEREDTEMPLATENODE
_RENDERCARDOUT.fields_by_name['answer_nodes'].message_type = _RENDEREDTEMPLATENODE
_RENDEREDTEMPLATENODE.fields_by_name['replacement'].message_type = _RENDEREDTEMPLATEREPLACEMENT
_RENDEREDTEMPLATENODE.oneofs_by_name['value'].fields.append(
  _RENDEREDTEMPLATENODE.fields_by_name['text'])
_RENDEREDTEMPLATENODE.fields_by_name['text'].containing_oneof = _RENDEREDTEMPLATENODE.oneofs_by_name['value']
_RENDEREDTEMPLATENODE.oneofs_by_name['value'].fields.append(
  _RENDEREDTEMPLATENODE.fields_by_name['replacement'])
_RENDEREDTEMPLATENODE.fields_by_name['replacement'].containing_oneof = _RENDEREDTEMPLATENODE.oneofs_by_name['value']
_EXTRACTAVTAGSOUT.fields_by_name['av_tags'].message_type = _AVTAG
_AVTAG.fields_by_name['tts'].message_type = _TTSTAG
_AVTAG.oneofs_by_name['value'].fields.append(
  _AVTAG.fields_by_name['sound_or_video'])
_AVTAG.fields_by_name['sound_or_video'].containing_oneof = _AVTAG.oneofs_by_name['value']
_AVTAG.oneofs_by_name['value'].fields.append(
  _AVTAG.fields_by_name['tts'])
_AVTAG.fields_by_name['tts'].containing_oneof = _AVTAG.oneofs_by_name['value']
_EXTRACTLATEXOUT.fields_by_name['latex'].message_type = _EXTRACTEDLATEX
_TRANSLATESTRINGIN_ARGSENTRY.fields_by_name['value'].message_type = _TRANSLATEARGVALUE
_TRANSLATESTRINGIN_ARGSENTRY.containing_type = _TRANSLATESTRINGIN
_TRANSLATESTRINGIN.fields_by_name['key'].enum_type = fluent__pb2._FLUENTSTRING
_TRANSLATESTRINGIN.fields_by_name['args'].message_type = _TRANSLATESTRINGIN_ARGSENTRY
_TRANSLATEARGVALUE.oneofs_by_name['value'].fields.append(
  _TRANSLATEARGVALUE.fields_by_name['str'])
_TRANSLATEARGVALUE.fields_by_name['str'].containing_oneof = _TRANSLATEARGVALUE.oneofs_by_name['value']
_TRANSLATEARGVALUE.oneofs_by_name['value'].fields.append(
  _TRANSLATEARGVALUE.fields_by_name['number'])
_TRANSLATEARGVALUE.fields_by_name['number'].containing_oneof = _TRANSLATEARGVALUE.oneofs_by_name['value']
_FORMATTIMESPANIN.fields_by_name['context'].enum_type = _FORMATTIMESPANIN_CONTEXT
_FORMATTIMESPANIN_CONTEXT.containing_type = _FORMATTIMESPANIN
_SEARCHCARDSIN.fields_by_name['order'].message_type = _SORTORDER
_SORTORDER.fields_by_name['from_config'].message_type = _EMPTY
_SORTORDER.fields_by_name['none'].message_type = _EMPTY
_SORTORDER.fields_by_name['builtin'].message_type = _BUILTINSEARCHORDER
_SORTORDER.oneofs_by_name['value'].fields.append(
  _SORTORDER.fields_by_name['from_config'])
_SORTORDER.fields_by_name['from_config'].containing_oneof = _SORTORDER.oneofs_by_name['value']
_SORTORDER.oneofs_by_name['value'].fields.append(
  _SORTORDER.fields_by_name['none'])
_SORTORDER.fields_by_name['none'].containing_oneof = _SORTORDER.oneofs_by_name['value']
_SORTORDER.oneofs_by_name['value'].fields.append(
  _SORTORDER.fields_by_name['custom'])
_SORTORDER.fields_by_name['custom'].containing_oneof = _SORTORDER.oneofs_by_name['value']
_SORTORDER.oneofs_by_name['value'].fields.append(
  _SORTORDER.fields_by_name['builtin'])
_SORTORDER.fields_by_name['builtin'].containing_oneof = _SORTORDER.oneofs_by_name['value']
_BUILTINSEARCHORDER.fields_by_name['kind'].enum_type = _BUILTINSEARCHORDER_BUILTINSORTKIND
_BUILTINSEARCHORDER_BUILTINSORTKIND.containing_type = _BUILTINSEARCHORDER
_ALLTAGSOUT.fields_by_name['tags'].message_type = _TAGUSNTUPLE
_GETSTOCKNOTETYPEIN.fields_by_name['kind'].enum_type = _STOCKNOTETYPE
_NOTETYPENAMES.fields_by_name['entries'].message_type = _NOTETYPENAMEID
_NOTETYPEUSECOUNTS.fields_by_name['entries'].message_type = _NOTETYPENAMEIDUSECOUNT
_ADDNOTEIN.fields_by_name['note'].message_type = _NOTE
_EMPTYCARDSREPORT.fields_by_name['notes'].message_type = _NOTEWITHEMPTYCARDS
_DECKNAMES.fields_by_name['entries'].message_type = _DECKNAMEID
_COLLECTIONSCHEDULINGSETTINGS.fields_by_name['new_review_mix'].enum_type = _COLLECTIONSCHEDULINGSETTINGS_NEWREVIEWMIX
_COLLECTIONSCHEDULINGSETTINGS_NEWREVIEWMIX.containing_type = _COLLECTIONSCHEDULINGSETTINGS
_PREFERENCES.fields_by_name['sched'].message_type = _COLLECTIONSCHEDULINGSETTINGS
_NOTEISDUPLICATEOREMPTYOUT.fields_by_name['state'].enum_type = _NOTEISDUPLICATEOREMPTYOUT_STATE
_NOTEISDUPLICATEOREMPTYOUT_STATE.containing_type = _NOTEISDUPLICATEOREMPTYOUT
_SYNCSTATUSOUT.fields_by_name['required'].enum_type = _SYNCSTATUSOUT_REQUIRED
_SYNCSTATUSOUT_REQUIRED.containing_type = _SYNCSTATUSOUT
_SYNCCOLLECTIONOUT.fields_by_name['required'].enum_type = _SYNCCOLLECTIONOUT_CHANGESREQUIRED
_SYNCCOLLECTIONOUT_CHANGESREQUIRED.containing_type = _SYNCCOLLECTIONOUT
_GRAPHSOUT.fields_by_name['cards'].message_type = _CARD
_GRAPHSOUT.fields_by_name['revlog'].message_type = _REVLOGENTRY
_REVLOGENTRY.fields_by_name['review_kind'].enum_type = _REVLOGENTRY_REVIEWKIND
_REVLOGENTRY_REVIEWKIND.containing_type = _REVLOGENTRY
DESCRIPTOR.message_types_by_name['Empty'] = _EMPTY
DESCRIPTOR.message_types_by_name['OptionalInt32'] = _OPTIONALINT32
DESCRIPTOR.message_types_by_name['OptionalUInt32'] = _OPTIONALUINT32
DESCRIPTOR.message_types_by_name['Int32'] = _INT32
DESCRIPTOR.message_types_by_name['UInt32'] = _UINT32
DESCRIPTOR.message_types_by_name['Int64'] = _INT64
DESCRIPTOR.message_types_by_name['String'] = _STRING
DESCRIPTOR.message_types_by_name['Json'] = _JSON
DESCRIPTOR.message_types_by_name['Bool'] = _BOOL
DESCRIPTOR.message_types_by_name['NoteTypeID'] = _NOTETYPEID
DESCRIPTOR.message_types_by_name['NoteID'] = _NOTEID
DESCRIPTOR.message_types_by_name['CardID'] = _CARDID
DESCRIPTOR.message_types_by_name['DeckID'] = _DECKID
DESCRIPTOR.message_types_by_name['DeckConfigID'] = _DECKCONFIGID
DESCRIPTOR.message_types_by_name['DeckConfigInner'] = _DECKCONFIGINNER
DESCRIPTOR.message_types_by_name['DeckCommon'] = _DECKCOMMON
DESCRIPTOR.message_types_by_name['DeckKind'] = _DECKKIND
DESCRIPTOR.message_types_by_name['NormalDeck'] = _NORMALDECK
DESCRIPTOR.message_types_by_name['FilteredDeck'] = _FILTEREDDECK
DESCRIPTOR.message_types_by_name['FilteredSearchTerm'] = _FILTEREDSEARCHTERM
DESCRIPTOR.message_types_by_name['NoteFieldConfig'] = _NOTEFIELDCONFIG
DESCRIPTOR.message_types_by_name['CardTemplateConfig'] = _CARDTEMPLATECONFIG
DESCRIPTOR.message_types_by_name['NoteTypeConfig'] = _NOTETYPECONFIG
DESCRIPTOR.message_types_by_name['CardRequirement'] = _CARDREQUIREMENT
DESCRIPTOR.message_types_by_name['Deck'] = _DECK
DESCRIPTOR.message_types_by_name['NoteType'] = _NOTETYPE
DESCRIPTOR.message_types_by_name['NoteField'] = _NOTEFIELD
DESCRIPTOR.message_types_by_name['CardTemplate'] = _CARDTEMPLATE
DESCRIPTOR.message_types_by_name['Note'] = _NOTE
DESCRIPTOR.message_types_by_name['Card'] = _CARD
DESCRIPTOR.message_types_by_name['BackendInit'] = _BACKENDINIT
DESCRIPTOR.message_types_by_name['I18nBackendInit'] = _I18NBACKENDINIT
DESCRIPTOR.message_types_by_name['BackendError'] = _BACKENDERROR
DESCRIPTOR.message_types_by_name['NetworkError'] = _NETWORKERROR
DESCRIPTOR.message_types_by_name['SyncError'] = _SYNCERROR
DESCRIPTOR.message_types_by_name['Progress'] = _PROGRESS
DESCRIPTOR.message_types_by_name['MediaSyncProgress'] = _MEDIASYNCPROGRESS
DESCRIPTOR.message_types_by_name['FullSyncProgress'] = _FULLSYNCPROGRESS
DESCRIPTOR.message_types_by_name['MediaSyncUploadProgress'] = _MEDIASYNCUPLOADPROGRESS
DESCRIPTOR.message_types_by_name['NormalSyncProgress'] = _NORMALSYNCPROGRESS
DESCRIPTOR.message_types_by_name['DatabaseCheckProgress'] = _DATABASECHECKPROGRESS
DESCRIPTOR.message_types_by_name['SchedTimingTodayOut'] = _SCHEDTIMINGTODAYOUT
DESCRIPTOR.message_types_by_name['DeckTreeIn'] = _DECKTREEIN
DESCRIPTOR.message_types_by_name['DeckTreeNode'] = _DECKTREENODE
DESCRIPTOR.message_types_by_name['RenderExistingCardIn'] = _RENDEREXISTINGCARDIN
DESCRIPTOR.message_types_by_name['RenderUncommittedCardIn'] = _RENDERUNCOMMITTEDCARDIN
DESCRIPTOR.message_types_by_name['RenderCardOut'] = _RENDERCARDOUT
DESCRIPTOR.message_types_by_name['RenderedTemplateNode'] = _RENDEREDTEMPLATENODE
DESCRIPTOR.message_types_by_name['RenderedTemplateReplacement'] = _RENDEREDTEMPLATEREPLACEMENT
DESCRIPTOR.message_types_by_name['ExtractAVTagsIn'] = _EXTRACTAVTAGSIN
DESCRIPTOR.message_types_by_name['ExtractAVTagsOut'] = _EXTRACTAVTAGSOUT
DESCRIPTOR.message_types_by_name['AVTag'] = _AVTAG
DESCRIPTOR.message_types_by_name['TTSTag'] = _TTSTAG
DESCRIPTOR.message_types_by_name['ExtractLatexIn'] = _EXTRACTLATEXIN
DESCRIPTOR.message_types_by_name['ExtractLatexOut'] = _EXTRACTLATEXOUT
DESCRIPTOR.message_types_by_name['ExtractedLatex'] = _EXTRACTEDLATEX
DESCRIPTOR.message_types_by_name['AddMediaFileIn'] = _ADDMEDIAFILEIN
DESCRIPTOR.message_types_by_name['CheckMediaOut'] = _CHECKMEDIAOUT
DESCRIPTOR.message_types_by_name['TrashMediaFilesIn'] = _TRASHMEDIAFILESIN
DESCRIPTOR.message_types_by_name['TranslateStringIn'] = _TRANSLATESTRINGIN
DESCRIPTOR.message_types_by_name['TranslateArgValue'] = _TRANSLATEARGVALUE
DESCRIPTOR.message_types_by_name['FormatTimespanIn'] = _FORMATTIMESPANIN
DESCRIPTOR.message_types_by_name['StudiedTodayIn'] = _STUDIEDTODAYIN
DESCRIPTOR.message_types_by_name['CongratsLearnMessageIn'] = _CONGRATSLEARNMESSAGEIN
DESCRIPTOR.message_types_by_name['OpenCollectionIn'] = _OPENCOLLECTIONIN
DESCRIPTOR.message_types_by_name['SearchCardsIn'] = _SEARCHCARDSIN
DESCRIPTOR.message_types_by_name['SearchCardsOut'] = _SEARCHCARDSOUT
DESCRIPTOR.message_types_by_name['SortOrder'] = _SORTORDER
DESCRIPTOR.message_types_by_name['SearchNotesIn'] = _SEARCHNOTESIN
DESCRIPTOR.message_types_by_name['SearchNotesOut'] = _SEARCHNOTESOUT
DESCRIPTOR.message_types_by_name['BuiltinSearchOrder'] = _BUILTINSEARCHORDER
DESCRIPTOR.message_types_by_name['CloseCollectionIn'] = _CLOSECOLLECTIONIN
DESCRIPTOR.message_types_by_name['AddOrUpdateDeckConfigLegacyIn'] = _ADDORUPDATEDECKCONFIGLEGACYIN
DESCRIPTOR.message_types_by_name['RegisterTagsIn'] = _REGISTERTAGSIN
DESCRIPTOR.message_types_by_name['AllTagsOut'] = _ALLTAGSOUT
DESCRIPTOR.message_types_by_name['TagUsnTuple'] = _TAGUSNTUPLE
DESCRIPTOR.message_types_by_name['GetChangedTagsOut'] = _GETCHANGEDTAGSOUT
DESCRIPTOR.message_types_by_name['SetConfigJsonIn'] = _SETCONFIGJSONIN
DESCRIPTOR.message_types_by_name['GetStockNotetypeIn'] = _GETSTOCKNOTETYPEIN
DESCRIPTOR.message_types_by_name['NoteTypeNames'] = _NOTETYPENAMES
DESCRIPTOR.message_types_by_name['NoteTypeUseCounts'] = _NOTETYPEUSECOUNTS
DESCRIPTOR.message_types_by_name['NoteTypeNameID'] = _NOTETYPENAMEID
DESCRIPTOR.message_types_by_name['NoteTypeNameIDUseCount'] = _NOTETYPENAMEIDUSECOUNT
DESCRIPTOR.message_types_by_name['AddOrUpdateNotetypeIn'] = _ADDORUPDATENOTETYPEIN
DESCRIPTOR.message_types_by_name['AddNoteIn'] = _ADDNOTEIN
DESCRIPTOR.message_types_by_name['EmptyCardsReport'] = _EMPTYCARDSREPORT
DESCRIPTOR.message_types_by_name['NoteWithEmptyCards'] = _NOTEWITHEMPTYCARDS
DESCRIPTOR.message_types_by_name['DeckNames'] = _DECKNAMES
DESCRIPTOR.message_types_by_name['DeckNameID'] = _DECKNAMEID
DESCRIPTOR.message_types_by_name['AddOrUpdateDeckLegacyIn'] = _ADDORUPDATEDECKLEGACYIN
DESCRIPTOR.message_types_by_name['FieldNamesForNotesIn'] = _FIELDNAMESFORNOTESIN
DESCRIPTOR.message_types_by_name['FieldNamesForNotesOut'] = _FIELDNAMESFORNOTESOUT
DESCRIPTOR.message_types_by_name['FindAndReplaceIn'] = _FINDANDREPLACEIN
DESCRIPTOR.message_types_by_name['AfterNoteUpdatesIn'] = _AFTERNOTEUPDATESIN
DESCRIPTOR.message_types_by_name['AddNoteTagsIn'] = _ADDNOTETAGSIN
DESCRIPTOR.message_types_by_name['UpdateNoteTagsIn'] = _UPDATENOTETAGSIN
DESCRIPTOR.message_types_by_name['CheckDatabaseOut'] = _CHECKDATABASEOUT
DESCRIPTOR.message_types_by_name['CollectionSchedulingSettings'] = _COLLECTIONSCHEDULINGSETTINGS
DESCRIPTOR.message_types_by_name['Preferences'] = _PREFERENCES
DESCRIPTOR.message_types_by_name['ClozeNumbersInNoteOut'] = _CLOZENUMBERSINNOTEOUT
DESCRIPTOR.message_types_by_name['GetDeckNamesIn'] = _GETDECKNAMESIN
DESCRIPTOR.message_types_by_name['NoteIsDuplicateOrEmptyOut'] = _NOTEISDUPLICATEOREMPTYOUT
DESCRIPTOR.message_types_by_name['SyncLoginIn'] = _SYNCLOGININ
DESCRIPTOR.message_types_by_name['SyncStatusOut'] = _SYNCSTATUSOUT
DESCRIPTOR.message_types_by_name['SyncCollectionOut'] = _SYNCCOLLECTIONOUT
DESCRIPTOR.message_types_by_name['SyncAuth'] = _SYNCAUTH
DESCRIPTOR.message_types_by_name['RemoveNotesIn'] = _REMOVENOTESIN
DESCRIPTOR.message_types_by_name['RemoveCardsIn'] = _REMOVECARDSIN
DESCRIPTOR.message_types_by_name['UpdateStatsIn'] = _UPDATESTATSIN
DESCRIPTOR.message_types_by_name['ExtendLimitsIn'] = _EXTENDLIMITSIN
DESCRIPTOR.message_types_by_name['CountsForDeckTodayOut'] = _COUNTSFORDECKTODAYOUT
DESCRIPTOR.message_types_by_name['GraphsIn'] = _GRAPHSIN
DESCRIPTOR.message_types_by_name['GraphsOut'] = _GRAPHSOUT
DESCRIPTOR.message_types_by_name['RevlogEntry'] = _REVLOGENTRY
DESCRIPTOR.enum_types_by_name['StockNoteType'] = _STOCKNOTETYPE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Empty = _reflection.GeneratedProtocolMessageType('Empty', (_message.Message,), {
  'DESCRIPTOR' : _EMPTY,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.Empty)
  })
_sym_db.RegisterMessage(Empty)

OptionalInt32 = _reflection.GeneratedProtocolMessageType('OptionalInt32', (_message.Message,), {
  'DESCRIPTOR' : _OPTIONALINT32,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.OptionalInt32)
  })
_sym_db.RegisterMessage(OptionalInt32)

OptionalUInt32 = _reflection.GeneratedProtocolMessageType('OptionalUInt32', (_message.Message,), {
  'DESCRIPTOR' : _OPTIONALUINT32,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.OptionalUInt32)
  })
_sym_db.RegisterMessage(OptionalUInt32)

Int32 = _reflection.GeneratedProtocolMessageType('Int32', (_message.Message,), {
  'DESCRIPTOR' : _INT32,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.Int32)
  })
_sym_db.RegisterMessage(Int32)

UInt32 = _reflection.GeneratedProtocolMessageType('UInt32', (_message.Message,), {
  'DESCRIPTOR' : _UINT32,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.UInt32)
  })
_sym_db.RegisterMessage(UInt32)

Int64 = _reflection.GeneratedProtocolMessageType('Int64', (_message.Message,), {
  'DESCRIPTOR' : _INT64,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.Int64)
  })
_sym_db.RegisterMessage(Int64)

String = _reflection.GeneratedProtocolMessageType('String', (_message.Message,), {
  'DESCRIPTOR' : _STRING,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.String)
  })
_sym_db.RegisterMessage(String)

Json = _reflection.GeneratedProtocolMessageType('Json', (_message.Message,), {
  'DESCRIPTOR' : _JSON,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.Json)
  })
_sym_db.RegisterMessage(Json)

Bool = _reflection.GeneratedProtocolMessageType('Bool', (_message.Message,), {
  'DESCRIPTOR' : _BOOL,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.Bool)
  })
_sym_db.RegisterMessage(Bool)

NoteTypeID = _reflection.GeneratedProtocolMessageType('NoteTypeID', (_message.Message,), {
  'DESCRIPTOR' : _NOTETYPEID,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NoteTypeID)
  })
_sym_db.RegisterMessage(NoteTypeID)

NoteID = _reflection.GeneratedProtocolMessageType('NoteID', (_message.Message,), {
  'DESCRIPTOR' : _NOTEID,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NoteID)
  })
_sym_db.RegisterMessage(NoteID)

CardID = _reflection.GeneratedProtocolMessageType('CardID', (_message.Message,), {
  'DESCRIPTOR' : _CARDID,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.CardID)
  })
_sym_db.RegisterMessage(CardID)

DeckID = _reflection.GeneratedProtocolMessageType('DeckID', (_message.Message,), {
  'DESCRIPTOR' : _DECKID,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.DeckID)
  })
_sym_db.RegisterMessage(DeckID)

DeckConfigID = _reflection.GeneratedProtocolMessageType('DeckConfigID', (_message.Message,), {
  'DESCRIPTOR' : _DECKCONFIGID,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.DeckConfigID)
  })
_sym_db.RegisterMessage(DeckConfigID)

DeckConfigInner = _reflection.GeneratedProtocolMessageType('DeckConfigInner', (_message.Message,), {
  'DESCRIPTOR' : _DECKCONFIGINNER,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.DeckConfigInner)
  })
_sym_db.RegisterMessage(DeckConfigInner)

DeckCommon = _reflection.GeneratedProtocolMessageType('DeckCommon', (_message.Message,), {
  'DESCRIPTOR' : _DECKCOMMON,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.DeckCommon)
  })
_sym_db.RegisterMessage(DeckCommon)

DeckKind = _reflection.GeneratedProtocolMessageType('DeckKind', (_message.Message,), {
  'DESCRIPTOR' : _DECKKIND,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.DeckKind)
  })
_sym_db.RegisterMessage(DeckKind)

NormalDeck = _reflection.GeneratedProtocolMessageType('NormalDeck', (_message.Message,), {
  'DESCRIPTOR' : _NORMALDECK,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NormalDeck)
  })
_sym_db.RegisterMessage(NormalDeck)

FilteredDeck = _reflection.GeneratedProtocolMessageType('FilteredDeck', (_message.Message,), {
  'DESCRIPTOR' : _FILTEREDDECK,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.FilteredDeck)
  })
_sym_db.RegisterMessage(FilteredDeck)

FilteredSearchTerm = _reflection.GeneratedProtocolMessageType('FilteredSearchTerm', (_message.Message,), {
  'DESCRIPTOR' : _FILTEREDSEARCHTERM,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.FilteredSearchTerm)
  })
_sym_db.RegisterMessage(FilteredSearchTerm)

NoteFieldConfig = _reflection.GeneratedProtocolMessageType('NoteFieldConfig', (_message.Message,), {
  'DESCRIPTOR' : _NOTEFIELDCONFIG,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NoteFieldConfig)
  })
_sym_db.RegisterMessage(NoteFieldConfig)

CardTemplateConfig = _reflection.GeneratedProtocolMessageType('CardTemplateConfig', (_message.Message,), {
  'DESCRIPTOR' : _CARDTEMPLATECONFIG,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.CardTemplateConfig)
  })
_sym_db.RegisterMessage(CardTemplateConfig)

NoteTypeConfig = _reflection.GeneratedProtocolMessageType('NoteTypeConfig', (_message.Message,), {
  'DESCRIPTOR' : _NOTETYPECONFIG,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NoteTypeConfig)
  })
_sym_db.RegisterMessage(NoteTypeConfig)

CardRequirement = _reflection.GeneratedProtocolMessageType('CardRequirement', (_message.Message,), {
  'DESCRIPTOR' : _CARDREQUIREMENT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.CardRequirement)
  })
_sym_db.RegisterMessage(CardRequirement)

Deck = _reflection.GeneratedProtocolMessageType('Deck', (_message.Message,), {
  'DESCRIPTOR' : _DECK,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.Deck)
  })
_sym_db.RegisterMessage(Deck)

NoteType = _reflection.GeneratedProtocolMessageType('NoteType', (_message.Message,), {
  'DESCRIPTOR' : _NOTETYPE,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NoteType)
  })
_sym_db.RegisterMessage(NoteType)

NoteField = _reflection.GeneratedProtocolMessageType('NoteField', (_message.Message,), {
  'DESCRIPTOR' : _NOTEFIELD,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NoteField)
  })
_sym_db.RegisterMessage(NoteField)

CardTemplate = _reflection.GeneratedProtocolMessageType('CardTemplate', (_message.Message,), {
  'DESCRIPTOR' : _CARDTEMPLATE,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.CardTemplate)
  })
_sym_db.RegisterMessage(CardTemplate)

Note = _reflection.GeneratedProtocolMessageType('Note', (_message.Message,), {
  'DESCRIPTOR' : _NOTE,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.Note)
  })
_sym_db.RegisterMessage(Note)

Card = _reflection.GeneratedProtocolMessageType('Card', (_message.Message,), {
  'DESCRIPTOR' : _CARD,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.Card)
  })
_sym_db.RegisterMessage(Card)

BackendInit = _reflection.GeneratedProtocolMessageType('BackendInit', (_message.Message,), {
  'DESCRIPTOR' : _BACKENDINIT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.BackendInit)
  })
_sym_db.RegisterMessage(BackendInit)

I18nBackendInit = _reflection.GeneratedProtocolMessageType('I18nBackendInit', (_message.Message,), {
  'DESCRIPTOR' : _I18NBACKENDINIT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.I18nBackendInit)
  })
_sym_db.RegisterMessage(I18nBackendInit)

BackendError = _reflection.GeneratedProtocolMessageType('BackendError', (_message.Message,), {
  'DESCRIPTOR' : _BACKENDERROR,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.BackendError)
  })
_sym_db.RegisterMessage(BackendError)

NetworkError = _reflection.GeneratedProtocolMessageType('NetworkError', (_message.Message,), {
  'DESCRIPTOR' : _NETWORKERROR,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NetworkError)
  })
_sym_db.RegisterMessage(NetworkError)

SyncError = _reflection.GeneratedProtocolMessageType('SyncError', (_message.Message,), {
  'DESCRIPTOR' : _SYNCERROR,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.SyncError)
  })
_sym_db.RegisterMessage(SyncError)

Progress = _reflection.GeneratedProtocolMessageType('Progress', (_message.Message,), {
  'DESCRIPTOR' : _PROGRESS,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.Progress)
  })
_sym_db.RegisterMessage(Progress)

MediaSyncProgress = _reflection.GeneratedProtocolMessageType('MediaSyncProgress', (_message.Message,), {
  'DESCRIPTOR' : _MEDIASYNCPROGRESS,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.MediaSyncProgress)
  })
_sym_db.RegisterMessage(MediaSyncProgress)

FullSyncProgress = _reflection.GeneratedProtocolMessageType('FullSyncProgress', (_message.Message,), {
  'DESCRIPTOR' : _FULLSYNCPROGRESS,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.FullSyncProgress)
  })
_sym_db.RegisterMessage(FullSyncProgress)

MediaSyncUploadProgress = _reflection.GeneratedProtocolMessageType('MediaSyncUploadProgress', (_message.Message,), {
  'DESCRIPTOR' : _MEDIASYNCUPLOADPROGRESS,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.MediaSyncUploadProgress)
  })
_sym_db.RegisterMessage(MediaSyncUploadProgress)

NormalSyncProgress = _reflection.GeneratedProtocolMessageType('NormalSyncProgress', (_message.Message,), {
  'DESCRIPTOR' : _NORMALSYNCPROGRESS,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NormalSyncProgress)
  })
_sym_db.RegisterMessage(NormalSyncProgress)

DatabaseCheckProgress = _reflection.GeneratedProtocolMessageType('DatabaseCheckProgress', (_message.Message,), {
  'DESCRIPTOR' : _DATABASECHECKPROGRESS,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.DatabaseCheckProgress)
  })
_sym_db.RegisterMessage(DatabaseCheckProgress)

SchedTimingTodayOut = _reflection.GeneratedProtocolMessageType('SchedTimingTodayOut', (_message.Message,), {
  'DESCRIPTOR' : _SCHEDTIMINGTODAYOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.SchedTimingTodayOut)
  })
_sym_db.RegisterMessage(SchedTimingTodayOut)

DeckTreeIn = _reflection.GeneratedProtocolMessageType('DeckTreeIn', (_message.Message,), {
  'DESCRIPTOR' : _DECKTREEIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.DeckTreeIn)
  })
_sym_db.RegisterMessage(DeckTreeIn)

DeckTreeNode = _reflection.GeneratedProtocolMessageType('DeckTreeNode', (_message.Message,), {
  'DESCRIPTOR' : _DECKTREENODE,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.DeckTreeNode)
  })
_sym_db.RegisterMessage(DeckTreeNode)

RenderExistingCardIn = _reflection.GeneratedProtocolMessageType('RenderExistingCardIn', (_message.Message,), {
  'DESCRIPTOR' : _RENDEREXISTINGCARDIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.RenderExistingCardIn)
  })
_sym_db.RegisterMessage(RenderExistingCardIn)

RenderUncommittedCardIn = _reflection.GeneratedProtocolMessageType('RenderUncommittedCardIn', (_message.Message,), {
  'DESCRIPTOR' : _RENDERUNCOMMITTEDCARDIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.RenderUncommittedCardIn)
  })
_sym_db.RegisterMessage(RenderUncommittedCardIn)

RenderCardOut = _reflection.GeneratedProtocolMessageType('RenderCardOut', (_message.Message,), {
  'DESCRIPTOR' : _RENDERCARDOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.RenderCardOut)
  })
_sym_db.RegisterMessage(RenderCardOut)

RenderedTemplateNode = _reflection.GeneratedProtocolMessageType('RenderedTemplateNode', (_message.Message,), {
  'DESCRIPTOR' : _RENDEREDTEMPLATENODE,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.RenderedTemplateNode)
  })
_sym_db.RegisterMessage(RenderedTemplateNode)

RenderedTemplateReplacement = _reflection.GeneratedProtocolMessageType('RenderedTemplateReplacement', (_message.Message,), {
  'DESCRIPTOR' : _RENDEREDTEMPLATEREPLACEMENT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.RenderedTemplateReplacement)
  })
_sym_db.RegisterMessage(RenderedTemplateReplacement)

ExtractAVTagsIn = _reflection.GeneratedProtocolMessageType('ExtractAVTagsIn', (_message.Message,), {
  'DESCRIPTOR' : _EXTRACTAVTAGSIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.ExtractAVTagsIn)
  })
_sym_db.RegisterMessage(ExtractAVTagsIn)

ExtractAVTagsOut = _reflection.GeneratedProtocolMessageType('ExtractAVTagsOut', (_message.Message,), {
  'DESCRIPTOR' : _EXTRACTAVTAGSOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.ExtractAVTagsOut)
  })
_sym_db.RegisterMessage(ExtractAVTagsOut)

AVTag = _reflection.GeneratedProtocolMessageType('AVTag', (_message.Message,), {
  'DESCRIPTOR' : _AVTAG,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.AVTag)
  })
_sym_db.RegisterMessage(AVTag)

TTSTag = _reflection.GeneratedProtocolMessageType('TTSTag', (_message.Message,), {
  'DESCRIPTOR' : _TTSTAG,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.TTSTag)
  })
_sym_db.RegisterMessage(TTSTag)

ExtractLatexIn = _reflection.GeneratedProtocolMessageType('ExtractLatexIn', (_message.Message,), {
  'DESCRIPTOR' : _EXTRACTLATEXIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.ExtractLatexIn)
  })
_sym_db.RegisterMessage(ExtractLatexIn)

ExtractLatexOut = _reflection.GeneratedProtocolMessageType('ExtractLatexOut', (_message.Message,), {
  'DESCRIPTOR' : _EXTRACTLATEXOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.ExtractLatexOut)
  })
_sym_db.RegisterMessage(ExtractLatexOut)

ExtractedLatex = _reflection.GeneratedProtocolMessageType('ExtractedLatex', (_message.Message,), {
  'DESCRIPTOR' : _EXTRACTEDLATEX,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.ExtractedLatex)
  })
_sym_db.RegisterMessage(ExtractedLatex)

AddMediaFileIn = _reflection.GeneratedProtocolMessageType('AddMediaFileIn', (_message.Message,), {
  'DESCRIPTOR' : _ADDMEDIAFILEIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.AddMediaFileIn)
  })
_sym_db.RegisterMessage(AddMediaFileIn)

CheckMediaOut = _reflection.GeneratedProtocolMessageType('CheckMediaOut', (_message.Message,), {
  'DESCRIPTOR' : _CHECKMEDIAOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.CheckMediaOut)
  })
_sym_db.RegisterMessage(CheckMediaOut)

TrashMediaFilesIn = _reflection.GeneratedProtocolMessageType('TrashMediaFilesIn', (_message.Message,), {
  'DESCRIPTOR' : _TRASHMEDIAFILESIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.TrashMediaFilesIn)
  })
_sym_db.RegisterMessage(TrashMediaFilesIn)

TranslateStringIn = _reflection.GeneratedProtocolMessageType('TranslateStringIn', (_message.Message,), {

  'ArgsEntry' : _reflection.GeneratedProtocolMessageType('ArgsEntry', (_message.Message,), {
    'DESCRIPTOR' : _TRANSLATESTRINGIN_ARGSENTRY,
    '__module__' : 'backend_pb2'
    # @@protoc_insertion_point(class_scope:BackendProto.TranslateStringIn.ArgsEntry)
    })
  ,
  'DESCRIPTOR' : _TRANSLATESTRINGIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.TranslateStringIn)
  })
_sym_db.RegisterMessage(TranslateStringIn)
_sym_db.RegisterMessage(TranslateStringIn.ArgsEntry)

TranslateArgValue = _reflection.GeneratedProtocolMessageType('TranslateArgValue', (_message.Message,), {
  'DESCRIPTOR' : _TRANSLATEARGVALUE,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.TranslateArgValue)
  })
_sym_db.RegisterMessage(TranslateArgValue)

FormatTimespanIn = _reflection.GeneratedProtocolMessageType('FormatTimespanIn', (_message.Message,), {
  'DESCRIPTOR' : _FORMATTIMESPANIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.FormatTimespanIn)
  })
_sym_db.RegisterMessage(FormatTimespanIn)

StudiedTodayIn = _reflection.GeneratedProtocolMessageType('StudiedTodayIn', (_message.Message,), {
  'DESCRIPTOR' : _STUDIEDTODAYIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.StudiedTodayIn)
  })
_sym_db.RegisterMessage(StudiedTodayIn)

CongratsLearnMessageIn = _reflection.GeneratedProtocolMessageType('CongratsLearnMessageIn', (_message.Message,), {
  'DESCRIPTOR' : _CONGRATSLEARNMESSAGEIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.CongratsLearnMessageIn)
  })
_sym_db.RegisterMessage(CongratsLearnMessageIn)

OpenCollectionIn = _reflection.GeneratedProtocolMessageType('OpenCollectionIn', (_message.Message,), {
  'DESCRIPTOR' : _OPENCOLLECTIONIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.OpenCollectionIn)
  })
_sym_db.RegisterMessage(OpenCollectionIn)

SearchCardsIn = _reflection.GeneratedProtocolMessageType('SearchCardsIn', (_message.Message,), {
  'DESCRIPTOR' : _SEARCHCARDSIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.SearchCardsIn)
  })
_sym_db.RegisterMessage(SearchCardsIn)

SearchCardsOut = _reflection.GeneratedProtocolMessageType('SearchCardsOut', (_message.Message,), {
  'DESCRIPTOR' : _SEARCHCARDSOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.SearchCardsOut)
  })
_sym_db.RegisterMessage(SearchCardsOut)

SortOrder = _reflection.GeneratedProtocolMessageType('SortOrder', (_message.Message,), {
  'DESCRIPTOR' : _SORTORDER,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.SortOrder)
  })
_sym_db.RegisterMessage(SortOrder)

SearchNotesIn = _reflection.GeneratedProtocolMessageType('SearchNotesIn', (_message.Message,), {
  'DESCRIPTOR' : _SEARCHNOTESIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.SearchNotesIn)
  })
_sym_db.RegisterMessage(SearchNotesIn)

SearchNotesOut = _reflection.GeneratedProtocolMessageType('SearchNotesOut', (_message.Message,), {
  'DESCRIPTOR' : _SEARCHNOTESOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.SearchNotesOut)
  })
_sym_db.RegisterMessage(SearchNotesOut)

BuiltinSearchOrder = _reflection.GeneratedProtocolMessageType('BuiltinSearchOrder', (_message.Message,), {
  'DESCRIPTOR' : _BUILTINSEARCHORDER,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.BuiltinSearchOrder)
  })
_sym_db.RegisterMessage(BuiltinSearchOrder)

CloseCollectionIn = _reflection.GeneratedProtocolMessageType('CloseCollectionIn', (_message.Message,), {
  'DESCRIPTOR' : _CLOSECOLLECTIONIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.CloseCollectionIn)
  })
_sym_db.RegisterMessage(CloseCollectionIn)

AddOrUpdateDeckConfigLegacyIn = _reflection.GeneratedProtocolMessageType('AddOrUpdateDeckConfigLegacyIn', (_message.Message,), {
  'DESCRIPTOR' : _ADDORUPDATEDECKCONFIGLEGACYIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.AddOrUpdateDeckConfigLegacyIn)
  })
_sym_db.RegisterMessage(AddOrUpdateDeckConfigLegacyIn)

RegisterTagsIn = _reflection.GeneratedProtocolMessageType('RegisterTagsIn', (_message.Message,), {
  'DESCRIPTOR' : _REGISTERTAGSIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.RegisterTagsIn)
  })
_sym_db.RegisterMessage(RegisterTagsIn)

AllTagsOut = _reflection.GeneratedProtocolMessageType('AllTagsOut', (_message.Message,), {
  'DESCRIPTOR' : _ALLTAGSOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.AllTagsOut)
  })
_sym_db.RegisterMessage(AllTagsOut)

TagUsnTuple = _reflection.GeneratedProtocolMessageType('TagUsnTuple', (_message.Message,), {
  'DESCRIPTOR' : _TAGUSNTUPLE,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.TagUsnTuple)
  })
_sym_db.RegisterMessage(TagUsnTuple)

GetChangedTagsOut = _reflection.GeneratedProtocolMessageType('GetChangedTagsOut', (_message.Message,), {
  'DESCRIPTOR' : _GETCHANGEDTAGSOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.GetChangedTagsOut)
  })
_sym_db.RegisterMessage(GetChangedTagsOut)

SetConfigJsonIn = _reflection.GeneratedProtocolMessageType('SetConfigJsonIn', (_message.Message,), {
  'DESCRIPTOR' : _SETCONFIGJSONIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.SetConfigJsonIn)
  })
_sym_db.RegisterMessage(SetConfigJsonIn)

GetStockNotetypeIn = _reflection.GeneratedProtocolMessageType('GetStockNotetypeIn', (_message.Message,), {
  'DESCRIPTOR' : _GETSTOCKNOTETYPEIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.GetStockNotetypeIn)
  })
_sym_db.RegisterMessage(GetStockNotetypeIn)

NoteTypeNames = _reflection.GeneratedProtocolMessageType('NoteTypeNames', (_message.Message,), {
  'DESCRIPTOR' : _NOTETYPENAMES,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NoteTypeNames)
  })
_sym_db.RegisterMessage(NoteTypeNames)

NoteTypeUseCounts = _reflection.GeneratedProtocolMessageType('NoteTypeUseCounts', (_message.Message,), {
  'DESCRIPTOR' : _NOTETYPEUSECOUNTS,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NoteTypeUseCounts)
  })
_sym_db.RegisterMessage(NoteTypeUseCounts)

NoteTypeNameID = _reflection.GeneratedProtocolMessageType('NoteTypeNameID', (_message.Message,), {
  'DESCRIPTOR' : _NOTETYPENAMEID,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NoteTypeNameID)
  })
_sym_db.RegisterMessage(NoteTypeNameID)

NoteTypeNameIDUseCount = _reflection.GeneratedProtocolMessageType('NoteTypeNameIDUseCount', (_message.Message,), {
  'DESCRIPTOR' : _NOTETYPENAMEIDUSECOUNT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NoteTypeNameIDUseCount)
  })
_sym_db.RegisterMessage(NoteTypeNameIDUseCount)

AddOrUpdateNotetypeIn = _reflection.GeneratedProtocolMessageType('AddOrUpdateNotetypeIn', (_message.Message,), {
  'DESCRIPTOR' : _ADDORUPDATENOTETYPEIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.AddOrUpdateNotetypeIn)
  })
_sym_db.RegisterMessage(AddOrUpdateNotetypeIn)

AddNoteIn = _reflection.GeneratedProtocolMessageType('AddNoteIn', (_message.Message,), {
  'DESCRIPTOR' : _ADDNOTEIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.AddNoteIn)
  })
_sym_db.RegisterMessage(AddNoteIn)

EmptyCardsReport = _reflection.GeneratedProtocolMessageType('EmptyCardsReport', (_message.Message,), {
  'DESCRIPTOR' : _EMPTYCARDSREPORT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.EmptyCardsReport)
  })
_sym_db.RegisterMessage(EmptyCardsReport)

NoteWithEmptyCards = _reflection.GeneratedProtocolMessageType('NoteWithEmptyCards', (_message.Message,), {
  'DESCRIPTOR' : _NOTEWITHEMPTYCARDS,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NoteWithEmptyCards)
  })
_sym_db.RegisterMessage(NoteWithEmptyCards)

DeckNames = _reflection.GeneratedProtocolMessageType('DeckNames', (_message.Message,), {
  'DESCRIPTOR' : _DECKNAMES,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.DeckNames)
  })
_sym_db.RegisterMessage(DeckNames)

DeckNameID = _reflection.GeneratedProtocolMessageType('DeckNameID', (_message.Message,), {
  'DESCRIPTOR' : _DECKNAMEID,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.DeckNameID)
  })
_sym_db.RegisterMessage(DeckNameID)

AddOrUpdateDeckLegacyIn = _reflection.GeneratedProtocolMessageType('AddOrUpdateDeckLegacyIn', (_message.Message,), {
  'DESCRIPTOR' : _ADDORUPDATEDECKLEGACYIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.AddOrUpdateDeckLegacyIn)
  })
_sym_db.RegisterMessage(AddOrUpdateDeckLegacyIn)

FieldNamesForNotesIn = _reflection.GeneratedProtocolMessageType('FieldNamesForNotesIn', (_message.Message,), {
  'DESCRIPTOR' : _FIELDNAMESFORNOTESIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.FieldNamesForNotesIn)
  })
_sym_db.RegisterMessage(FieldNamesForNotesIn)

FieldNamesForNotesOut = _reflection.GeneratedProtocolMessageType('FieldNamesForNotesOut', (_message.Message,), {
  'DESCRIPTOR' : _FIELDNAMESFORNOTESOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.FieldNamesForNotesOut)
  })
_sym_db.RegisterMessage(FieldNamesForNotesOut)

FindAndReplaceIn = _reflection.GeneratedProtocolMessageType('FindAndReplaceIn', (_message.Message,), {
  'DESCRIPTOR' : _FINDANDREPLACEIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.FindAndReplaceIn)
  })
_sym_db.RegisterMessage(FindAndReplaceIn)

AfterNoteUpdatesIn = _reflection.GeneratedProtocolMessageType('AfterNoteUpdatesIn', (_message.Message,), {
  'DESCRIPTOR' : _AFTERNOTEUPDATESIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.AfterNoteUpdatesIn)
  })
_sym_db.RegisterMessage(AfterNoteUpdatesIn)

AddNoteTagsIn = _reflection.GeneratedProtocolMessageType('AddNoteTagsIn', (_message.Message,), {
  'DESCRIPTOR' : _ADDNOTETAGSIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.AddNoteTagsIn)
  })
_sym_db.RegisterMessage(AddNoteTagsIn)

UpdateNoteTagsIn = _reflection.GeneratedProtocolMessageType('UpdateNoteTagsIn', (_message.Message,), {
  'DESCRIPTOR' : _UPDATENOTETAGSIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.UpdateNoteTagsIn)
  })
_sym_db.RegisterMessage(UpdateNoteTagsIn)

CheckDatabaseOut = _reflection.GeneratedProtocolMessageType('CheckDatabaseOut', (_message.Message,), {
  'DESCRIPTOR' : _CHECKDATABASEOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.CheckDatabaseOut)
  })
_sym_db.RegisterMessage(CheckDatabaseOut)

CollectionSchedulingSettings = _reflection.GeneratedProtocolMessageType('CollectionSchedulingSettings', (_message.Message,), {
  'DESCRIPTOR' : _COLLECTIONSCHEDULINGSETTINGS,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.CollectionSchedulingSettings)
  })
_sym_db.RegisterMessage(CollectionSchedulingSettings)

Preferences = _reflection.GeneratedProtocolMessageType('Preferences', (_message.Message,), {
  'DESCRIPTOR' : _PREFERENCES,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.Preferences)
  })
_sym_db.RegisterMessage(Preferences)

ClozeNumbersInNoteOut = _reflection.GeneratedProtocolMessageType('ClozeNumbersInNoteOut', (_message.Message,), {
  'DESCRIPTOR' : _CLOZENUMBERSINNOTEOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.ClozeNumbersInNoteOut)
  })
_sym_db.RegisterMessage(ClozeNumbersInNoteOut)

GetDeckNamesIn = _reflection.GeneratedProtocolMessageType('GetDeckNamesIn', (_message.Message,), {
  'DESCRIPTOR' : _GETDECKNAMESIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.GetDeckNamesIn)
  })
_sym_db.RegisterMessage(GetDeckNamesIn)

NoteIsDuplicateOrEmptyOut = _reflection.GeneratedProtocolMessageType('NoteIsDuplicateOrEmptyOut', (_message.Message,), {
  'DESCRIPTOR' : _NOTEISDUPLICATEOREMPTYOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.NoteIsDuplicateOrEmptyOut)
  })
_sym_db.RegisterMessage(NoteIsDuplicateOrEmptyOut)

SyncLoginIn = _reflection.GeneratedProtocolMessageType('SyncLoginIn', (_message.Message,), {
  'DESCRIPTOR' : _SYNCLOGININ,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.SyncLoginIn)
  })
_sym_db.RegisterMessage(SyncLoginIn)

SyncStatusOut = _reflection.GeneratedProtocolMessageType('SyncStatusOut', (_message.Message,), {
  'DESCRIPTOR' : _SYNCSTATUSOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.SyncStatusOut)
  })
_sym_db.RegisterMessage(SyncStatusOut)

SyncCollectionOut = _reflection.GeneratedProtocolMessageType('SyncCollectionOut', (_message.Message,), {
  'DESCRIPTOR' : _SYNCCOLLECTIONOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.SyncCollectionOut)
  })
_sym_db.RegisterMessage(SyncCollectionOut)

SyncAuth = _reflection.GeneratedProtocolMessageType('SyncAuth', (_message.Message,), {
  'DESCRIPTOR' : _SYNCAUTH,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.SyncAuth)
  })
_sym_db.RegisterMessage(SyncAuth)

RemoveNotesIn = _reflection.GeneratedProtocolMessageType('RemoveNotesIn', (_message.Message,), {
  'DESCRIPTOR' : _REMOVENOTESIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.RemoveNotesIn)
  })
_sym_db.RegisterMessage(RemoveNotesIn)

RemoveCardsIn = _reflection.GeneratedProtocolMessageType('RemoveCardsIn', (_message.Message,), {
  'DESCRIPTOR' : _REMOVECARDSIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.RemoveCardsIn)
  })
_sym_db.RegisterMessage(RemoveCardsIn)

UpdateStatsIn = _reflection.GeneratedProtocolMessageType('UpdateStatsIn', (_message.Message,), {
  'DESCRIPTOR' : _UPDATESTATSIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.UpdateStatsIn)
  })
_sym_db.RegisterMessage(UpdateStatsIn)

ExtendLimitsIn = _reflection.GeneratedProtocolMessageType('ExtendLimitsIn', (_message.Message,), {
  'DESCRIPTOR' : _EXTENDLIMITSIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.ExtendLimitsIn)
  })
_sym_db.RegisterMessage(ExtendLimitsIn)

CountsForDeckTodayOut = _reflection.GeneratedProtocolMessageType('CountsForDeckTodayOut', (_message.Message,), {
  'DESCRIPTOR' : _COUNTSFORDECKTODAYOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.CountsForDeckTodayOut)
  })
_sym_db.RegisterMessage(CountsForDeckTodayOut)

GraphsIn = _reflection.GeneratedProtocolMessageType('GraphsIn', (_message.Message,), {
  'DESCRIPTOR' : _GRAPHSIN,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.GraphsIn)
  })
_sym_db.RegisterMessage(GraphsIn)

GraphsOut = _reflection.GeneratedProtocolMessageType('GraphsOut', (_message.Message,), {
  'DESCRIPTOR' : _GRAPHSOUT,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.GraphsOut)
  })
_sym_db.RegisterMessage(GraphsOut)

RevlogEntry = _reflection.GeneratedProtocolMessageType('RevlogEntry', (_message.Message,), {
  'DESCRIPTOR' : _REVLOGENTRY,
  '__module__' : 'backend_pb2'
  # @@protoc_insertion_point(class_scope:BackendProto.RevlogEntry)
  })
_sym_db.RegisterMessage(RevlogEntry)


_TRANSLATESTRINGIN_ARGSENTRY._options = None

_BACKENDSERVICE = _descriptor.ServiceDescriptor(
  name='BackendService',
  full_name='BackendProto.BackendService',
  file=DESCRIPTOR,
  index=0,
  serialized_options=None,
  create_key=_descriptor._internal_create_key,
  serialized_start=12682,
  serialized_end=18503,
  methods=[
  _descriptor.MethodDescriptor(
    name='LatestProgress',
    full_name='BackendProto.BackendService.LatestProgress',
    index=0,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_PROGRESS,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SetWantsAbort',
    full_name='BackendProto.BackendService.SetWantsAbort',
    index=1,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ExtractAVTags',
    full_name='BackendProto.BackendService.ExtractAVTags',
    index=2,
    containing_service=None,
    input_type=_EXTRACTAVTAGSIN,
    output_type=_EXTRACTAVTAGSOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ExtractLatex',
    full_name='BackendProto.BackendService.ExtractLatex',
    index=3,
    containing_service=None,
    input_type=_EXTRACTLATEXIN,
    output_type=_EXTRACTLATEXOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetEmptyCards',
    full_name='BackendProto.BackendService.GetEmptyCards',
    index=4,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_EMPTYCARDSREPORT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='RenderExistingCard',
    full_name='BackendProto.BackendService.RenderExistingCard',
    index=5,
    containing_service=None,
    input_type=_RENDEREXISTINGCARDIN,
    output_type=_RENDERCARDOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='RenderUncommittedCard',
    full_name='BackendProto.BackendService.RenderUncommittedCard',
    index=6,
    containing_service=None,
    input_type=_RENDERUNCOMMITTEDCARDIN,
    output_type=_RENDERCARDOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='StripAVTags',
    full_name='BackendProto.BackendService.StripAVTags',
    index=7,
    containing_service=None,
    input_type=_STRING,
    output_type=_STRING,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SearchCards',
    full_name='BackendProto.BackendService.SearchCards',
    index=8,
    containing_service=None,
    input_type=_SEARCHCARDSIN,
    output_type=_SEARCHCARDSOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SearchNotes',
    full_name='BackendProto.BackendService.SearchNotes',
    index=9,
    containing_service=None,
    input_type=_SEARCHNOTESIN,
    output_type=_SEARCHNOTESOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='FindAndReplace',
    full_name='BackendProto.BackendService.FindAndReplace',
    index=10,
    containing_service=None,
    input_type=_FINDANDREPLACEIN,
    output_type=_UINT32,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='LocalMinutesWest',
    full_name='BackendProto.BackendService.LocalMinutesWest',
    index=11,
    containing_service=None,
    input_type=_INT64,
    output_type=_INT32,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SetLocalMinutesWest',
    full_name='BackendProto.BackendService.SetLocalMinutesWest',
    index=12,
    containing_service=None,
    input_type=_INT32,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SchedTimingToday',
    full_name='BackendProto.BackendService.SchedTimingToday',
    index=13,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_SCHEDTIMINGTODAYOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='StudiedToday',
    full_name='BackendProto.BackendService.StudiedToday',
    index=14,
    containing_service=None,
    input_type=_STUDIEDTODAYIN,
    output_type=_STRING,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='CongratsLearnMessage',
    full_name='BackendProto.BackendService.CongratsLearnMessage',
    index=15,
    containing_service=None,
    input_type=_CONGRATSLEARNMESSAGEIN,
    output_type=_STRING,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UpdateStats',
    full_name='BackendProto.BackendService.UpdateStats',
    index=16,
    containing_service=None,
    input_type=_UPDATESTATSIN,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ExtendLimits',
    full_name='BackendProto.BackendService.ExtendLimits',
    index=17,
    containing_service=None,
    input_type=_EXTENDLIMITSIN,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='CountsForDeckToday',
    full_name='BackendProto.BackendService.CountsForDeckToday',
    index=18,
    containing_service=None,
    input_type=_DECKID,
    output_type=_COUNTSFORDECKTODAYOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='CardStats',
    full_name='BackendProto.BackendService.CardStats',
    index=19,
    containing_service=None,
    input_type=_CARDID,
    output_type=_STRING,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='Graphs',
    full_name='BackendProto.BackendService.Graphs',
    index=20,
    containing_service=None,
    input_type=_GRAPHSIN,
    output_type=_GRAPHSOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='CheckMedia',
    full_name='BackendProto.BackendService.CheckMedia',
    index=21,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_CHECKMEDIAOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='TrashMediaFiles',
    full_name='BackendProto.BackendService.TrashMediaFiles',
    index=22,
    containing_service=None,
    input_type=_TRASHMEDIAFILESIN,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='AddMediaFile',
    full_name='BackendProto.BackendService.AddMediaFile',
    index=23,
    containing_service=None,
    input_type=_ADDMEDIAFILEIN,
    output_type=_STRING,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='EmptyTrash',
    full_name='BackendProto.BackendService.EmptyTrash',
    index=24,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='RestoreTrash',
    full_name='BackendProto.BackendService.RestoreTrash',
    index=25,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='AddOrUpdateDeckLegacy',
    full_name='BackendProto.BackendService.AddOrUpdateDeckLegacy',
    index=26,
    containing_service=None,
    input_type=_ADDORUPDATEDECKLEGACYIN,
    output_type=_DECKID,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DeckTree',
    full_name='BackendProto.BackendService.DeckTree',
    index=27,
    containing_service=None,
    input_type=_DECKTREEIN,
    output_type=_DECKTREENODE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DeckTreeLegacy',
    full_name='BackendProto.BackendService.DeckTreeLegacy',
    index=28,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_JSON,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetAllDecksLegacy',
    full_name='BackendProto.BackendService.GetAllDecksLegacy',
    index=29,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_JSON,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetDeckIDByName',
    full_name='BackendProto.BackendService.GetDeckIDByName',
    index=30,
    containing_service=None,
    input_type=_STRING,
    output_type=_DECKID,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetDeckLegacy',
    full_name='BackendProto.BackendService.GetDeckLegacy',
    index=31,
    containing_service=None,
    input_type=_DECKID,
    output_type=_JSON,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetDeckNames',
    full_name='BackendProto.BackendService.GetDeckNames',
    index=32,
    containing_service=None,
    input_type=_GETDECKNAMESIN,
    output_type=_DECKNAMES,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='NewDeckLegacy',
    full_name='BackendProto.BackendService.NewDeckLegacy',
    index=33,
    containing_service=None,
    input_type=_BOOL,
    output_type=_JSON,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='RemoveDeck',
    full_name='BackendProto.BackendService.RemoveDeck',
    index=34,
    containing_service=None,
    input_type=_DECKID,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='AddOrUpdateDeckConfigLegacy',
    full_name='BackendProto.BackendService.AddOrUpdateDeckConfigLegacy',
    index=35,
    containing_service=None,
    input_type=_ADDORUPDATEDECKCONFIGLEGACYIN,
    output_type=_DECKCONFIGID,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='AllDeckConfigLegacy',
    full_name='BackendProto.BackendService.AllDeckConfigLegacy',
    index=36,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_JSON,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetDeckConfigLegacy',
    full_name='BackendProto.BackendService.GetDeckConfigLegacy',
    index=37,
    containing_service=None,
    input_type=_DECKCONFIGID,
    output_type=_JSON,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='NewDeckConfigLegacy',
    full_name='BackendProto.BackendService.NewDeckConfigLegacy',
    index=38,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_JSON,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='RemoveDeckConfig',
    full_name='BackendProto.BackendService.RemoveDeckConfig',
    index=39,
    containing_service=None,
    input_type=_DECKCONFIGID,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetCard',
    full_name='BackendProto.BackendService.GetCard',
    index=40,
    containing_service=None,
    input_type=_CARDID,
    output_type=_CARD,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UpdateCard',
    full_name='BackendProto.BackendService.UpdateCard',
    index=41,
    containing_service=None,
    input_type=_CARD,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='AddCard',
    full_name='BackendProto.BackendService.AddCard',
    index=42,
    containing_service=None,
    input_type=_CARD,
    output_type=_CARDID,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='RemoveCards',
    full_name='BackendProto.BackendService.RemoveCards',
    index=43,
    containing_service=None,
    input_type=_REMOVECARDSIN,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='NewNote',
    full_name='BackendProto.BackendService.NewNote',
    index=44,
    containing_service=None,
    input_type=_NOTETYPEID,
    output_type=_NOTE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='AddNote',
    full_name='BackendProto.BackendService.AddNote',
    index=45,
    containing_service=None,
    input_type=_ADDNOTEIN,
    output_type=_NOTEID,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UpdateNote',
    full_name='BackendProto.BackendService.UpdateNote',
    index=46,
    containing_service=None,
    input_type=_NOTE,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetNote',
    full_name='BackendProto.BackendService.GetNote',
    index=47,
    containing_service=None,
    input_type=_NOTEID,
    output_type=_NOTE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='RemoveNotes',
    full_name='BackendProto.BackendService.RemoveNotes',
    index=48,
    containing_service=None,
    input_type=_REMOVENOTESIN,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='AddNoteTags',
    full_name='BackendProto.BackendService.AddNoteTags',
    index=49,
    containing_service=None,
    input_type=_ADDNOTETAGSIN,
    output_type=_UINT32,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UpdateNoteTags',
    full_name='BackendProto.BackendService.UpdateNoteTags',
    index=50,
    containing_service=None,
    input_type=_UPDATENOTETAGSIN,
    output_type=_UINT32,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ClozeNumbersInNote',
    full_name='BackendProto.BackendService.ClozeNumbersInNote',
    index=51,
    containing_service=None,
    input_type=_NOTE,
    output_type=_CLOZENUMBERSINNOTEOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='AfterNoteUpdates',
    full_name='BackendProto.BackendService.AfterNoteUpdates',
    index=52,
    containing_service=None,
    input_type=_AFTERNOTEUPDATESIN,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='FieldNamesForNotes',
    full_name='BackendProto.BackendService.FieldNamesForNotes',
    index=53,
    containing_service=None,
    input_type=_FIELDNAMESFORNOTESIN,
    output_type=_FIELDNAMESFORNOTESOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='NoteIsDuplicateOrEmpty',
    full_name='BackendProto.BackendService.NoteIsDuplicateOrEmpty',
    index=54,
    containing_service=None,
    input_type=_NOTE,
    output_type=_NOTEISDUPLICATEOREMPTYOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='AddOrUpdateNotetype',
    full_name='BackendProto.BackendService.AddOrUpdateNotetype',
    index=55,
    containing_service=None,
    input_type=_ADDORUPDATENOTETYPEIN,
    output_type=_NOTETYPEID,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetStockNotetypeLegacy',
    full_name='BackendProto.BackendService.GetStockNotetypeLegacy',
    index=56,
    containing_service=None,
    input_type=_GETSTOCKNOTETYPEIN,
    output_type=_JSON,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetNotetypeLegacy',
    full_name='BackendProto.BackendService.GetNotetypeLegacy',
    index=57,
    containing_service=None,
    input_type=_NOTETYPEID,
    output_type=_JSON,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetNotetypeNames',
    full_name='BackendProto.BackendService.GetNotetypeNames',
    index=58,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_NOTETYPENAMES,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetNotetypeNamesAndCounts',
    full_name='BackendProto.BackendService.GetNotetypeNamesAndCounts',
    index=59,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_NOTETYPEUSECOUNTS,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetNotetypeIDByName',
    full_name='BackendProto.BackendService.GetNotetypeIDByName',
    index=60,
    containing_service=None,
    input_type=_STRING,
    output_type=_NOTETYPEID,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='RemoveNotetype',
    full_name='BackendProto.BackendService.RemoveNotetype',
    index=61,
    containing_service=None,
    input_type=_NOTETYPEID,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='OpenCollection',
    full_name='BackendProto.BackendService.OpenCollection',
    index=62,
    containing_service=None,
    input_type=_OPENCOLLECTIONIN,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='CloseCollection',
    full_name='BackendProto.BackendService.CloseCollection',
    index=63,
    containing_service=None,
    input_type=_CLOSECOLLECTIONIN,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='CheckDatabase',
    full_name='BackendProto.BackendService.CheckDatabase',
    index=64,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_CHECKDATABASEOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SyncMedia',
    full_name='BackendProto.BackendService.SyncMedia',
    index=65,
    containing_service=None,
    input_type=_SYNCAUTH,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='AbortSync',
    full_name='BackendProto.BackendService.AbortSync',
    index=66,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='AbortMediaSync',
    full_name='BackendProto.BackendService.AbortMediaSync',
    index=67,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='BeforeUpload',
    full_name='BackendProto.BackendService.BeforeUpload',
    index=68,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SyncLogin',
    full_name='BackendProto.BackendService.SyncLogin',
    index=69,
    containing_service=None,
    input_type=_SYNCLOGININ,
    output_type=_SYNCAUTH,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SyncStatus',
    full_name='BackendProto.BackendService.SyncStatus',
    index=70,
    containing_service=None,
    input_type=_SYNCAUTH,
    output_type=_SYNCSTATUSOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SyncCollection',
    full_name='BackendProto.BackendService.SyncCollection',
    index=71,
    containing_service=None,
    input_type=_SYNCAUTH,
    output_type=_SYNCCOLLECTIONOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='FullUpload',
    full_name='BackendProto.BackendService.FullUpload',
    index=72,
    containing_service=None,
    input_type=_SYNCAUTH,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='FullDownload',
    full_name='BackendProto.BackendService.FullDownload',
    index=73,
    containing_service=None,
    input_type=_SYNCAUTH,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='TranslateString',
    full_name='BackendProto.BackendService.TranslateString',
    index=74,
    containing_service=None,
    input_type=_TRANSLATESTRINGIN,
    output_type=_STRING,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='FormatTimespan',
    full_name='BackendProto.BackendService.FormatTimespan',
    index=75,
    containing_service=None,
    input_type=_FORMATTIMESPANIN,
    output_type=_STRING,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='I18nResources',
    full_name='BackendProto.BackendService.I18nResources',
    index=76,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_JSON,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='RegisterTags',
    full_name='BackendProto.BackendService.RegisterTags',
    index=77,
    containing_service=None,
    input_type=_REGISTERTAGSIN,
    output_type=_BOOL,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='AllTags',
    full_name='BackendProto.BackendService.AllTags',
    index=78,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_ALLTAGSOUT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetConfigJson',
    full_name='BackendProto.BackendService.GetConfigJson',
    index=79,
    containing_service=None,
    input_type=_STRING,
    output_type=_JSON,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SetConfigJson',
    full_name='BackendProto.BackendService.SetConfigJson',
    index=80,
    containing_service=None,
    input_type=_SETCONFIGJSONIN,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='RemoveConfig',
    full_name='BackendProto.BackendService.RemoveConfig',
    index=81,
    containing_service=None,
    input_type=_STRING,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SetAllConfig',
    full_name='BackendProto.BackendService.SetAllConfig',
    index=82,
    containing_service=None,
    input_type=_JSON,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetAllConfig',
    full_name='BackendProto.BackendService.GetAllConfig',
    index=83,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_JSON,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetPreferences',
    full_name='BackendProto.BackendService.GetPreferences',
    index=84,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_PREFERENCES,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SetPreferences',
    full_name='BackendProto.BackendService.SetPreferences',
    index=85,
    containing_service=None,
    input_type=_PREFERENCES,
    output_type=_EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
])
_sym_db.RegisterServiceDescriptor(_BACKENDSERVICE)

DESCRIPTOR.services_by_name['BackendService'] = _BACKENDSERVICE

# @@protoc_insertion_point(module_scope)
