# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: anki/stats.proto
# Protobuf Python Version: 7.35.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    7,
    35,
    1,
    '',
    'anki/stats.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from anki import generic_pb2 as anki_dot_generic__pb2
from anki import cards_pb2 as anki_dot_cards__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x61nki/stats.proto\x12\nanki.stats\x1a\x12\x61nki/generic.proto\x1a\x10\x61nki/cards.proto\"M\n\nReviewLogs\x12?\n\x07\x65ntries\x18\x01 \x03(\x0b\x32..anki.stats.CardStatsResponse.StatsRevlogEntry\"\xf4\x07\n\x11\x43\x61rdStatsResponse\x12>\n\x06revlog\x18\x01 \x03(\x0b\x32..anki.stats.CardStatsResponse.StatsRevlogEntry\x12\x0f\n\x07\x63\x61rd_id\x18\x02 \x01(\x03\x12\x0f\n\x07note_id\x18\x03 \x01(\x03\x12\x0c\n\x04\x64\x65\x63k\x18\x04 \x01(\t\x12\r\n\x05\x61\x64\x64\x65\x64\x18\x05 \x01(\x03\x12\x19\n\x0c\x66irst_review\x18\x06 \x01(\x03H\x00\x88\x01\x01\x12\x1a\n\rlatest_review\x18\x07 \x01(\x03H\x01\x88\x01\x01\x12\x15\n\x08\x64ue_date\x18\x08 \x01(\x03H\x02\x88\x01\x01\x12\x19\n\x0c\x64ue_position\x18\t \x01(\x05H\x03\x88\x01\x01\x12\x10\n\x08interval\x18\n \x01(\r\x12\x0c\n\x04\x65\x61se\x18\x0b \x01(\r\x12\x0f\n\x07reviews\x18\x0c \x01(\r\x12\x0e\n\x06lapses\x18\r \x01(\r\x12\x14\n\x0c\x61verage_secs\x18\x0e \x01(\x02\x12\x12\n\ntotal_secs\x18\x0f \x01(\x02\x12\x11\n\tcard_type\x18\x10 \x01(\t\x12\x10\n\x08notetype\x18\x11 \x01(\t\x12\x36\n\x0cmemory_state\x18\x12 \x01(\x0b\x32\x1b.anki.cards.FsrsMemoryStateH\x04\x88\x01\x01\x12 \n\x13\x66srs_retrievability\x18\x13 \x01(\x02H\x05\x88\x01\x01\x12\x13\n\x0b\x63ustom_data\x18\x14 \x01(\t\x12\x0e\n\x06preset\x18\x15 \x01(\t\x12\x1a\n\roriginal_deck\x18\x16 \x01(\tH\x06\x88\x01\x01\x12\x1e\n\x11\x64\x65sired_retention\x18\x17 \x01(\x02H\x07\x88\x01\x01\x12\x13\n\x0b\x66srs_params\x18\x18 \x03(\x02\x1a\x84\x02\n\x10StatsRevlogEntry\x12\x0c\n\x04time\x18\x01 \x01(\x03\x12\x37\n\x0breview_kind\x18\x02 \x01(\x0e\x32\".anki.stats.RevlogEntry.ReviewKind\x12\x15\n\rbutton_chosen\x18\x03 \x01(\r\x12\x10\n\x08interval\x18\x04 \x01(\r\x12\x0c\n\x04\x65\x61se\x18\x05 \x01(\r\x12\x12\n\ntaken_secs\x18\x06 \x01(\x02\x12\x36\n\x0cmemory_state\x18\x07 \x01(\x0b\x32\x1b.anki.cards.FsrsMemoryStateH\x00\x88\x01\x01\x12\x15\n\rlast_interval\x18\x08 \x01(\rB\x0f\n\r_memory_stateB\x0f\n\r_first_reviewB\x10\n\x0e_latest_reviewB\x0b\n\t_due_dateB\x0f\n\r_due_positionB\x0f\n\r_memory_stateB\x16\n\x14_fsrs_retrievabilityB\x10\n\x0e_original_deckB\x14\n\x12_desired_retention\"-\n\rGraphsRequest\x12\x0e\n\x06search\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ys\x18\x02 \x01(\r\"\xc0\x1d\n\x0eGraphsResponse\x12\x33\n\x07\x62uttons\x18\x01 \x01(\x0b\x32\".anki.stats.GraphsResponse.Buttons\x12:\n\x0b\x63\x61rd_counts\x18\x02 \x01(\x0b\x32%.anki.stats.GraphsResponse.CardCounts\x12/\n\x05hours\x18\x03 \x01(\x0b\x32 .anki.stats.GraphsResponse.Hours\x12/\n\x05today\x18\x04 \x01(\x0b\x32 .anki.stats.GraphsResponse.Today\x12/\n\x05\x65\x61ses\x18\x05 \x01(\x0b\x32 .anki.stats.GraphsResponse.Eases\x12\x34\n\ndifficulty\x18\x0b \x01(\x0b\x32 .anki.stats.GraphsResponse.Eases\x12\x37\n\tintervals\x18\x06 \x01(\x0b\x32$.anki.stats.GraphsResponse.Intervals\x12\x38\n\nfuture_due\x18\x07 \x01(\x0b\x32$.anki.stats.GraphsResponse.FutureDue\x12/\n\x05\x61\x64\x64\x65\x64\x18\x08 \x01(\x0b\x32 .anki.stats.GraphsResponse.Added\x12@\n\x07reviews\x18\t \x01(\x0b\x32/.anki.stats.GraphsResponse.ReviewCountsAndTimes\x12\x15\n\rrollover_hour\x18\n \x01(\r\x12\x41\n\x0eretrievability\x18\x0c \x01(\x0b\x32).anki.stats.GraphsResponse.Retrievability\x12\x0c\n\x04\x66srs\x18\r \x01(\x08\x12\x37\n\tstability\x18\x0e \x01(\x0b\x32$.anki.stats.GraphsResponse.Intervals\x12\x45\n\x0etrue_retention\x18\x0f \x01(\x0b\x32-.anki.stats.GraphsResponse.TrueRetentionStats\x1aq\n\x05\x41\x64\x64\x65\x64\x12:\n\x05\x61\x64\x64\x65\x64\x18\x01 \x03(\x0b\x32+.anki.stats.GraphsResponse.Added.AddedEntry\x1a,\n\nAddedEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a\x85\x01\n\tIntervals\x12\x46\n\tintervals\x18\x01 \x03(\x0b\x32\x33.anki.stats.GraphsResponse.Intervals.IntervalsEntry\x1a\x30\n\x0eIntervalsEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a\x82\x01\n\x05\x45\x61ses\x12:\n\x05\x65\x61ses\x18\x01 \x03(\x0b\x32+.anki.stats.GraphsResponse.Eases.EasesEntry\x12\x0f\n\x07\x61verage\x18\x02 \x01(\x02\x1a,\n\nEasesEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a\xd9\x01\n\x0eRetrievability\x12U\n\x0eretrievability\x18\x01 \x03(\x0b\x32=.anki.stats.GraphsResponse.Retrievability.RetrievabilityEntry\x12\x0f\n\x07\x61verage\x18\x02 \x01(\x02\x12\x13\n\x0bsum_by_card\x18\x03 \x01(\x02\x12\x13\n\x0bsum_by_note\x18\x04 \x01(\x02\x1a\x35\n\x13RetrievabilityEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a\xb0\x01\n\tFutureDue\x12G\n\nfuture_due\x18\x01 \x03(\x0b\x32\x33.anki.stats.GraphsResponse.FutureDue.FutureDueEntry\x12\x14\n\x0chave_backlog\x18\x02 \x01(\x08\x12\x12\n\ndaily_load\x18\x03 \x01(\r\x1a\x30\n\x0e\x46utureDueEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a\xd7\x01\n\x05Today\x12\x14\n\x0c\x61nswer_count\x18\x01 \x01(\r\x12\x15\n\ranswer_millis\x18\x02 \x01(\r\x12\x15\n\rcorrect_count\x18\x03 \x01(\r\x12\x16\n\x0emature_correct\x18\x04 \x01(\r\x12\x14\n\x0cmature_count\x18\x05 \x01(\r\x12\x13\n\x0blearn_count\x18\x06 \x01(\r\x12\x14\n\x0creview_count\x18\x07 \x01(\r\x12\x15\n\rrelearn_count\x18\x08 \x01(\r\x12\x1a\n\x12\x65\x61rly_review_count\x18\t \x01(\r\x1a\x98\x02\n\x05Hours\x12\x38\n\tone_month\x18\x01 \x03(\x0b\x32%.anki.stats.GraphsResponse.Hours.Hour\x12;\n\x0cthree_months\x18\x02 \x03(\x0b\x32%.anki.stats.GraphsResponse.Hours.Hour\x12\x37\n\x08one_year\x18\x03 \x03(\x0b\x32%.anki.stats.GraphsResponse.Hours.Hour\x12\x37\n\x08\x61ll_time\x18\x04 \x03(\x0b\x32%.anki.stats.GraphsResponse.Hours.Hour\x1a&\n\x04Hour\x12\r\n\x05total\x18\x01 \x01(\r\x12\x0f\n\x07\x63orrect\x18\x02 \x01(\r\x1a\xd3\x03\n\x14ReviewCountsAndTimes\x12I\n\x05\x63ount\x18\x01 \x03(\x0b\x32:.anki.stats.GraphsResponse.ReviewCountsAndTimes.CountEntry\x12G\n\x04time\x18\x02 \x03(\x0b\x32\x39.anki.stats.GraphsResponse.ReviewCountsAndTimes.TimeEntry\x1aZ\n\x07Reviews\x12\r\n\x05learn\x18\x01 \x01(\r\x12\x0f\n\x07relearn\x18\x02 \x01(\r\x12\r\n\x05young\x18\x03 \x01(\r\x12\x0e\n\x06mature\x18\x04 \x01(\r\x12\x10\n\x08\x66iltered\x18\x05 \x01(\r\x1a\x65\n\nCountEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x46\n\x05value\x18\x02 \x01(\x0b\x32\x37.anki.stats.GraphsResponse.ReviewCountsAndTimes.Reviews:\x02\x38\x01\x1a\x64\n\tTimeEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x46\n\x05value\x18\x02 \x01(\x0b\x32\x37.anki.stats.GraphsResponse.ReviewCountsAndTimes.Reviews:\x02\x38\x01\x1a\xdb\x02\n\x07\x42uttons\x12\x42\n\tone_month\x18\x01 \x01(\x0b\x32/.anki.stats.GraphsResponse.Buttons.ButtonCounts\x12\x45\n\x0cthree_months\x18\x02 \x01(\x0b\x32/.anki.stats.GraphsResponse.Buttons.ButtonCounts\x12\x41\n\x08one_year\x18\x03 \x01(\x0b\x32/.anki.stats.GraphsResponse.Buttons.ButtonCounts\x12\x41\n\x08\x61ll_time\x18\x04 \x01(\x0b\x32/.anki.stats.GraphsResponse.Buttons.ButtonCounts\x1a?\n\x0c\x42uttonCounts\x12\x10\n\x08learning\x18\x01 \x03(\r\x12\r\n\x05young\x18\x02 \x03(\r\x12\x0e\n\x06mature\x18\x03 \x03(\r\x1a\x9e\x02\n\nCardCounts\x12H\n\x12including_inactive\x18\x01 \x01(\x0b\x32,.anki.stats.GraphsResponse.CardCounts.Counts\x12H\n\x12\x65xcluding_inactive\x18\x02 \x01(\x0b\x32,.anki.stats.GraphsResponse.CardCounts.Counts\x1a|\n\x06\x43ounts\x12\x10\n\x08newCards\x18\x01 \x01(\r\x12\r\n\x05learn\x18\x02 \x01(\r\x12\x0f\n\x07relearn\x18\x03 \x01(\r\x12\r\n\x05young\x18\x04 \x01(\r\x12\x0e\n\x06mature\x18\x05 \x01(\r\x12\x11\n\tsuspended\x18\x06 \x01(\r\x12\x0e\n\x06\x62uried\x18\x07 \x01(\r\x1a\xcc\x04\n\x12TrueRetentionStats\x12J\n\x05today\x18\x01 \x01(\x0b\x32;.anki.stats.GraphsResponse.TrueRetentionStats.TrueRetention\x12N\n\tyesterday\x18\x02 \x01(\x0b\x32;.anki.stats.GraphsResponse.TrueRetentionStats.TrueRetention\x12I\n\x04week\x18\x03 \x01(\x0b\x32;.anki.stats.GraphsResponse.TrueRetentionStats.TrueRetention\x12J\n\x05month\x18\x04 \x01(\x0b\x32;.anki.stats.GraphsResponse.TrueRetentionStats.TrueRetention\x12I\n\x04year\x18\x05 \x01(\x0b\x32;.anki.stats.GraphsResponse.TrueRetentionStats.TrueRetention\x12M\n\x08\x61ll_time\x18\x06 \x01(\x0b\x32;.anki.stats.GraphsResponse.TrueRetentionStats.TrueRetention\x1ai\n\rTrueRetention\x12\x14\n\x0cyoung_passed\x18\x01 \x01(\r\x12\x14\n\x0cyoung_failed\x18\x02 \x01(\r\x12\x15\n\rmature_passed\x18\x03 \x01(\r\x12\x15\n\rmature_failed\x18\x04 \x01(\r\"\x82\x02\n\x10GraphPreferences\x12H\n\x1a\x63\x61lendar_first_day_of_week\x18\x01 \x01(\x0e\x32$.anki.stats.GraphPreferences.Weekday\x12%\n\x1d\x63\x61rd_counts_separate_inactive\x18\x02 \x01(\x08\x12\x1f\n\x17\x62rowser_links_supported\x18\x03 \x01(\x08\x12\x1f\n\x17\x66uture_due_show_backlog\x18\x04 \x01(\x08\";\n\x07Weekday\x12\n\n\x06SUNDAY\x10\x00\x12\n\n\x06MONDAY\x10\x01\x12\n\n\x06\x46RIDAY\x10\x05\x12\x0c\n\x08SATURDAY\x10\x06\"\xba\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\x37\n\x0breview_kind\x18\t \x01(\x0e\x32\".anki.stats.RevlogEntry.ReviewKind\"a\n\nReviewKind\x12\x0c\n\x08LEARNING\x10\x00\x12\n\n\x06REVIEW\x10\x01\x12\x0e\n\nRELEARNING\x10\x02\x12\x0c\n\x08\x46ILTERED\x10\x03\x12\n\n\x06MANUAL\x10\x04\x12\x0f\n\x0bRESCHEDULED\x10\x05\"9\n\tCardEntry\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\"=\n\tDeckEntry\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x11\n\tparent_id\x18\x02 \x01(\x03\x12\x11\n\tpreset_id\x18\x03 \x01(\x03\"\x94\x01\n\x07\x44\x61taset\x12(\n\x07revlogs\x18\x01 \x03(\x0b\x32\x17.anki.stats.RevlogEntry\x12$\n\x05\x63\x61rds\x18\x02 \x03(\x0b\x32\x15.anki.stats.CardEntry\x12$\n\x05\x64\x65\x63ks\x18\x03 \x03(\x0b\x32\x15.anki.stats.DeckEntry\x12\x13\n\x0bnext_day_at\x18\x04 \x01(\x03\x32\xe0\x02\n\x0cStatsService\x12>\n\tCardStats\x12\x12.anki.cards.CardId\x1a\x1d.anki.stats.CardStatsResponse\x12;\n\rGetReviewLogs\x12\x12.anki.cards.CardId\x1a\x16.anki.stats.ReviewLogs\x12?\n\x06Graphs\x12\x19.anki.stats.GraphsRequest\x1a\x1a.anki.stats.GraphsResponse\x12H\n\x13GetGraphPreferences\x12\x13.anki.generic.Empty\x1a\x1c.anki.stats.GraphPreferences\x12H\n\x13SetGraphPreferences\x12\x1c.anki.stats.GraphPreferences\x1a\x13.anki.generic.Empty2\x15\n\x13\x42\x61\x63kendStatsServiceB\x02P\x01\x62\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'anki.stats_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'P\001'
  _globals['_GRAPHSRESPONSE_ADDED_ADDEDENTRY']._loaded_options = None
  _globals['_GRAPHSRESPONSE_ADDED_ADDEDENTRY']._serialized_options = b'8\001'
  _globals['_GRAPHSRESPONSE_INTERVALS_INTERVALSENTRY']._loaded_options = None
  _globals['_GRAPHSRESPONSE_INTERVALS_INTERVALSENTRY']._serialized_options = b'8\001'
  _globals['_GRAPHSRESPONSE_EASES_EASESENTRY']._loaded_options = None
  _globals['_GRAPHSRESPONSE_EASES_EASESENTRY']._serialized_options = b'8\001'
  _globals['_GRAPHSRESPONSE_RETRIEVABILITY_RETRIEVABILITYENTRY']._loaded_options = None
  _globals['_GRAPHSRESPONSE_RETRIEVABILITY_RETRIEVABILITYENTRY']._serialized_options = b'8\001'
  _globals['_GRAPHSRESPONSE_FUTUREDUE_FUTUREDUEENTRY']._loaded_options = None
  _globals['_GRAPHSRESPONSE_FUTUREDUE_FUTUREDUEENTRY']._serialized_options = b'8\001'
  _globals['_GRAPHSRESPONSE_REVIEWCOUNTSANDTIMES_COUNTENTRY']._loaded_options = None
  _globals['_GRAPHSRESPONSE_REVIEWCOUNTSANDTIMES_COUNTENTRY']._serialized_options = b'8\001'
  _globals['_GRAPHSRESPONSE_REVIEWCOUNTSANDTIMES_TIMEENTRY']._loaded_options = None
  _globals['_GRAPHSRESPONSE_REVIEWCOUNTSANDTIMES_TIMEENTRY']._serialized_options = b'8\001'
  _globals['_REVIEWLOGS']._serialized_start=70
  _globals['_REVIEWLOGS']._serialized_end=147
  _globals['_CARDSTATSRESPONSE']._serialized_start=150
  _globals['_CARDSTATSRESPONSE']._serialized_end=1162
  _globals['_CARDSTATSRESPONSE_STATSREVLOGENTRY']._serialized_start=756
  _globals['_CARDSTATSRESPONSE_STATSREVLOGENTRY']._serialized_end=1016
  _globals['_GRAPHSREQUEST']._serialized_start=1164
  _globals['_GRAPHSREQUEST']._serialized_end=1209
  _globals['_GRAPHSRESPONSE']._serialized_start=1212
  _globals['_GRAPHSRESPONSE']._serialized_end=4988
  _globals['_GRAPHSRESPONSE_ADDED']._serialized_start=2006
  _globals['_GRAPHSRESPONSE_ADDED']._serialized_end=2119
  _globals['_GRAPHSRESPONSE_ADDED_ADDEDENTRY']._serialized_start=2075
  _globals['_GRAPHSRESPONSE_ADDED_ADDEDENTRY']._serialized_end=2119
  _globals['_GRAPHSRESPONSE_INTERVALS']._serialized_start=2122
  _globals['_GRAPHSRESPONSE_INTERVALS']._serialized_end=2255
  _globals['_GRAPHSRESPONSE_INTERVALS_INTERVALSENTRY']._serialized_start=2207
  _globals['_GRAPHSRESPONSE_INTERVALS_INTERVALSENTRY']._serialized_end=2255
  _globals['_GRAPHSRESPONSE_EASES']._serialized_start=2258
  _globals['_GRAPHSRESPONSE_EASES']._serialized_end=2388
  _globals['_GRAPHSRESPONSE_EASES_EASESENTRY']._serialized_start=2344
  _globals['_GRAPHSRESPONSE_EASES_EASESENTRY']._serialized_end=2388
  _globals['_GRAPHSRESPONSE_RETRIEVABILITY']._serialized_start=2391
  _globals['_GRAPHSRESPONSE_RETRIEVABILITY']._serialized_end=2608
  _globals['_GRAPHSRESPONSE_RETRIEVABILITY_RETRIEVABILITYENTRY']._serialized_start=2555
  _globals['_GRAPHSRESPONSE_RETRIEVABILITY_RETRIEVABILITYENTRY']._serialized_end=2608
  _globals['_GRAPHSRESPONSE_FUTUREDUE']._serialized_start=2611
  _globals['_GRAPHSRESPONSE_FUTUREDUE']._serialized_end=2787
  _globals['_GRAPHSRESPONSE_FUTUREDUE_FUTUREDUEENTRY']._serialized_start=2739
  _globals['_GRAPHSRESPONSE_FUTUREDUE_FUTUREDUEENTRY']._serialized_end=2787
  _globals['_GRAPHSRESPONSE_TODAY']._serialized_start=2790
  _globals['_GRAPHSRESPONSE_TODAY']._serialized_end=3005
  _globals['_GRAPHSRESPONSE_HOURS']._serialized_start=3008
  _globals['_GRAPHSRESPONSE_HOURS']._serialized_end=3288
  _globals['_GRAPHSRESPONSE_HOURS_HOUR']._serialized_start=3250
  _globals['_GRAPHSRESPONSE_HOURS_HOUR']._serialized_end=3288
  _globals['_GRAPHSRESPONSE_REVIEWCOUNTSANDTIMES']._serialized_start=3291
  _globals['_GRAPHSRESPONSE_REVIEWCOUNTSANDTIMES']._serialized_end=3758
  _globals['_GRAPHSRESPONSE_REVIEWCOUNTSANDTIMES_REVIEWS']._serialized_start=3463
  _globals['_GRAPHSRESPONSE_REVIEWCOUNTSANDTIMES_REVIEWS']._serialized_end=3553
  _globals['_GRAPHSRESPONSE_REVIEWCOUNTSANDTIMES_COUNTENTRY']._serialized_start=3555
  _globals['_GRAPHSRESPONSE_REVIEWCOUNTSANDTIMES_COUNTENTRY']._serialized_end=3656
  _globals['_GRAPHSRESPONSE_REVIEWCOUNTSANDTIMES_TIMEENTRY']._serialized_start=3658
  _globals['_GRAPHSRESPONSE_REVIEWCOUNTSANDTIMES_TIMEENTRY']._serialized_end=3758
  _globals['_GRAPHSRESPONSE_BUTTONS']._serialized_start=3761
  _globals['_GRAPHSRESPONSE_BUTTONS']._serialized_end=4108
  _globals['_GRAPHSRESPONSE_BUTTONS_BUTTONCOUNTS']._serialized_start=4045
  _globals['_GRAPHSRESPONSE_BUTTONS_BUTTONCOUNTS']._serialized_end=4108
  _globals['_GRAPHSRESPONSE_CARDCOUNTS']._serialized_start=4111
  _globals['_GRAPHSRESPONSE_CARDCOUNTS']._serialized_end=4397
  _globals['_GRAPHSRESPONSE_CARDCOUNTS_COUNTS']._serialized_start=4273
  _globals['_GRAPHSRESPONSE_CARDCOUNTS_COUNTS']._serialized_end=4397
  _globals['_GRAPHSRESPONSE_TRUERETENTIONSTATS']._serialized_start=4400
  _globals['_GRAPHSRESPONSE_TRUERETENTIONSTATS']._serialized_end=4988
  _globals['_GRAPHSRESPONSE_TRUERETENTIONSTATS_TRUERETENTION']._serialized_start=4883
  _globals['_GRAPHSRESPONSE_TRUERETENTIONSTATS_TRUERETENTION']._serialized_end=4988
  _globals['_GRAPHPREFERENCES']._serialized_start=4991
  _globals['_GRAPHPREFERENCES']._serialized_end=5249
  _globals['_GRAPHPREFERENCES_WEEKDAY']._serialized_start=5190
  _globals['_GRAPHPREFERENCES_WEEKDAY']._serialized_end=5249
  _globals['_REVLOGENTRY']._serialized_start=5252
  _globals['_REVLOGENTRY']._serialized_end=5566
  _globals['_REVLOGENTRY_REVIEWKIND']._serialized_start=5469
  _globals['_REVLOGENTRY_REVIEWKIND']._serialized_end=5566
  _globals['_CARDENTRY']._serialized_start=5568
  _globals['_CARDENTRY']._serialized_end=5625
  _globals['_DECKENTRY']._serialized_start=5627
  _globals['_DECKENTRY']._serialized_end=5688
  _globals['_DATASET']._serialized_start=5691
  _globals['_DATASET']._serialized_end=5839
  _globals['_STATSSERVICE']._serialized_start=5842
  _globals['_STATSSERVICE']._serialized_end=6194
  _globals['_BACKENDSTATSSERVICE']._serialized_start=6196
  _globals['_BACKENDSTATSSERVICE']._serialized_end=6217
# @@protoc_insertion_point(module_scope)
