diff --git a/.vscode/settings.json b/.vscode/settings.json index 9cf0b9310..fd0a0fdc4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -15,4 +15,19 @@ "go.lintFlags": [ "-c", "${workspaceFolder}/.golangci.yml", "--fast" ], + "cSpell.words": [ + "actorutils", + "autocli", + "Bech", + "cosmossdk", + "Delegators", + "errorsmod", + "Inferer", + "inferers", + "msgserver", + "protobuf", + "quantile", + "reputers", + "Wrapf" + ], } \ No newline at end of file diff --git a/test/testutil/testdata.go b/test/testutil/testdata.go index 0486f4020..9e4dabed5 100644 --- a/test/testutil/testdata.go +++ b/test/testutil/testdata.go @@ -1646,3 +1646,137 @@ func SetRegretsFromPreviousEpoch( return nil } + +func GetSortitionSimulatorValuesGetterForEpochs() map[int]func(header string) alloraMath.Dec { + const simulatorHeaders = "epoch,n_participants,n_participants_max,n_participants_drawn,quality_cutoff,percentile,alpha_quality,quality_percentile,0_prev_participated,0_prev_quality_ema,0_sort_position_previous_quality_ema,0_sort_position_quality_metrics,0_active,0_quality_metric,0_quality_ema,1_prev_participated,1_prev_quality_ema,1_sort_position_previous_quality_ema,1_sort_position_quality_metrics,1_active,1_quality_metric,1_quality_ema,2_prev_participated,2_prev_quality_ema,2_sort_position_previous_quality_ema,2_sort_position_quality_metrics,2_active,2_quality_metric,2_quality_ema,3_prev_participated,3_prev_quality_ema,3_sort_position_previous_quality_ema,3_sort_position_quality_metrics,3_active,3_quality_metric,3_quality_ema,4_prev_participated,4_prev_quality_ema,4_sort_position_previous_quality_ema,4_sort_position_quality_metrics,4_active,4_quality_metric,4_quality_ema,5_prev_participated,5_prev_quality_ema,5_sort_position_previous_quality_ema,5_sort_position_quality_metrics,5_active,5_quality_metric,5_quality_ema,6_prev_participated,6_prev_quality_ema,6_sort_position_previous_quality_ema,6_sort_position_quality_metrics,6_active,6_quality_metric,6_quality_ema,7_prev_participated,7_prev_quality_ema,7_sort_position_previous_quality_ema,7_sort_position_quality_metrics,7_active,7_quality_metric,7_quality_ema" + simulatorEpochs := map[int]string{ + 300: "300,8,5,5,0.15051785184201963,20,0.1,0.1255336081888135,true,0.11406254395706042,7,,,,0.11520965038023573,true,0.11747935227513646,5,,,,0.11828477786650417,true,0.35614532609011657,1,4,true,0.09166028668778334,0.3296968221498833,true,0.1172213184572862,6,,,,0.11805254743043893,true,0.4770759602298508,0,1,true,0.4591089530674562,0.4752792595136114,true,0.15051785184201963,4,2,true,0.43381630437630625,0.1788476970954483,true,0.1792792070820537,3,3,true,0.13400193856407105,0.17475148023025544,true,0.2215930893092064,2,0,true,0.48414844671682644,0.2478486250499684", + 301: "301,8,5,5,0.17475148023025544,20,0.1,0.010460649655629104,true,0.11520965038023573,7,,,,0.10473475030777507,true,0.11828477786650417,5,,,,0.10750236504541666,true,0.3296968221498833,1,3,true,0.02075826620396365,0.2988029665552913,true,0.11805254743043893,6,,,,0.10729335765295794,true,0.4752792595136114,0,0,true,0.6875270309955097,0.4965040366618012,true,0.1788476970954483,3,1,true,0.3595578447635491,0.19691871186225837,true,0.17475148023025544,4,2,true,0.05789280428041588,0.16306561263527147,true,0.2478486250499684,2,4,true,-0.030729816537709093,0.21999078089120067", + 302: "302,8,5,5,0.16306561263527147,20,0.1,0.1565910640663154,true,0.10473475030777507,7,,,,0.10992038168362911,true,0.10750236504541666,5,,,,0.11241123494750653,true,0.2988029665552913,1,4,true,-0.05947253078680703,0.2629754168210815,true,0.10729335765295794,6,,,,0.11222312829429369,true,0.4965040366618012,0,0,true,0.5153355119581934,0.49838718419144046,true,0.19691871186225837,3,1,true,0.47883682207567724,0.22511052288360026,true,0.16306561263527147,4,2,true,0.2820599766834697,0.1749650490400913,true,0.21999078089120067,2,3,true,0.210606962779596,0.2190523990800402", + 303: "303,8,5,5,0.1749650490400913,20,0.1,0.18795584642520996,true,0.10992038168362911,7,,,,0.1177239281577872,true,0.11241123494750653,5,,,,0.11996569609527688,true,0.2629754168210815,1,3,true,0.2512156876803045,0.26179944390700377,true,0.11222312829429369,6,,,,0.11979640010738532,true,0.49838718419144046,0,0,true,0.555229733452909,0.5040714391175873,true,0.22511052288360026,2,1,true,0.48873694862691053,0.2514731654579313,true,0.1749650490400913,4,4,true,-0.06508351859516817,0.15096019227656537,true,0.2190523990800402,3,2,true,0.30171740692373467,0.22731889986440965", + 304: "304,8,5,5,0.15096019227656537,20,0.1,0.01408285006346982,true,0.1177239281577872,7,,,,0.10735982034835548,true,0.11996569609527688,5,,,,0.10937741149209618,true,0.26179944390700377,1,4,true,-0.13637884964629166,0.22198161455167423,true,0.11979640010738532,6,,,,0.10922504510299377,true,0.5040714391175873,0,1,true,0.1934773927554307,0.4730120344813717,true,0.2514731654579313,2,0,true,0.24949941658457403,0.25127579057059557,true,0.15096019227656537,4,3,true,0.051698274990910176,0.14103400054799986,true,0.22731889986440965,3,2,true,0.10932939132483192,0.21551994901045188", + 305: "305,8,5,5,0.14103400054799986,20,0.1,0.06121677931568584,true,0.10735982034835548,7,,,,0.10274551624508851,true,0.10937741149209618,5,,,,0.10456134827445514,true,0.22198161455167423,2,1,true,0.3579613129177525,0.23557958438828205,true,0.10922504510299377,6,,,,0.10442421852426298,true,0.4730120344813717,0,0,true,0.6198100803338487,0.4876918390666194,true,0.25127579057059557,1,4,true,0.03193548076732808,0.2293417595902688,true,0.14103400054799986,4,2,true,0.15089314615315577,0.14201991510851544,true,0.21551994901045188,3,3,true,0.06853710395277528,0.20082166450468422", + 306: "306,8,5,5,0.14201991510851544,20,0.1,0.1309176581536055,true,0.10274551624508851,7,,,,0.10556273043594021,true,0.10456134827445514,5,,,,0.10719697926237018,true,0.23557958438828205,1,3,true,0.1439993324438856,0.2264215591938424,true,0.10442421852426298,6,,,,0.10707356248719724,true,0.4876918390666194,0,4,true,0.07859096099248519,0.446781751259206,true,0.2293417595902688,2,0,true,0.554175540675531,0.261825137698795,true,0.14201991510851544,4,1,true,0.46245461286023215,0.1740633848836871,true,0.20082166450468422,3,2,true,0.42567056985384594,0.2233065550396004", + 307: "307,8,5,5,0.1740633848836871,20,0.1,0.14261635986161547,true,0.10556273043594021,7,,,,0.10926809337850774,true,0.10719697926237018,5,,,,0.11073891732229471,true,0.2264215591938424,2,3,true,0.14482679072658144,0.21826208234711633,true,0.10707356248719724,6,,,,0.11062784222463906,true,0.446781751259206,0,1,true,0.31097762812975904,0.4332013389462613,true,0.261825137698795,1,2,true,0.22457920041535723,0.25810054397045123,true,0.1740633848836871,4,4,true,0.13377463640175158,0.17003451003549358,true,0.2233065550396004,3,0,true,0.42651218237060573,0.24362711777270094", + 308: "308,8,5,5,0.17003451003549358,20,0.1,0.06252053239505342,true,0.10926809337850774,7,,,,0.1045933372801623,true,0.11073891732229471,5,,,,0.10591707882957058,true,0.21826208234711633,3,4,true,0.004786140489145108,0.1969144881613192,true,0.11062784222463906,6,,,,0.1058171112416805,true,0.4332013389462613,0,0,true,0.6969287637406706,0.4595740814257022,true,0.25810054397045123,1,2,true,0.10762636487230662,0.24305312606063678,true,0.17003451003549358,4,3,true,0.0769541303715305,0.16072647206909726,true,0.24362711777270094,2,1,true,0.39896060379874576,0.25916046637530543", + 309: "309,8,5,5,0.16072647206909726,20,0.1,-0.010277757353331252,true,0.1045933372801623,7,,,,0.09310622781681295,true,0.10591707882957058,5,,,,0.0942975952112804,true,0.1969144881613192,3,3,true,0.011231534534002219,0.17834619279858752,true,0.1058171112416805,6,,,,0.09420762438217933,true,0.4595740814257022,0,0,true,0.906123243224335,0.5042289976055655,true,0.24305312606063678,2,4,true,-0.09631492490266516,0.2091163209643066,true,0.16072647206909726,4,2,true,0.18007488295055368,0.1626613131572429,true,0.25916046637530543,1,1,true,0.4404613912790495,0.2772905588656799", + 310: "310,8,5,5,0.1626613131572429,20,0.1,0.03598644427061674,true,0.09310622781681295,7,,,,0.08739424946219333,true,0.0942975952112804,5,,,,0.08846648011721403,true,0.17834619279858752,3,2,true,0.2304013504028307,0.18355170855901184,true,0.09420762438217933,6,,,,0.08838550637102308,true,0.5042289976055655,0,0,true,0.3519728252685276,0.48900338037186175,true,0.2091163209643066,2,1,true,0.28717046062525703,0.21692173493040165,true,0.1626613131572429,4,4,true,-0.11612843112314528,0.13478233872920406,true,0.2772905588656799,1,3,true,0.07401516311905723,0.2569630192910176", + 311: "311,8,5,5,0.13478233872920406,20,0.1,0.3882498634713742,true,0.08739424946219333,7,,,,0.11747981086311142,true,0.08846648011721403,5,,,,0.11844481845263005,true,0.18355170855901184,3,2,true,0.44291752660848804,0.20948829036395947,true,0.08838550637102308,6,,,,0.1183719420810582,true,0.48900338037186175,0,0,true,0.6774038903373872,0.5078434313684143,true,0.21692173493040165,2,3,true,0.42315646269242724,0.2375452077066042,true,0.13478233872920406,4,1,true,0.6435931091640481,0.18566341577268847,true,0.2569630192910176,1,4,true,0.248623466587162,0.25612906402063207", + 312: "312,8,5,5,0.18566341577268847,20,0.1,0.2047637518756514,true,0.11747981086311142,7,,,,0.1262082049643654,true,0.11844481845263005,5,,,,0.12707671179493218,true,0.20948829036395947,3,0,true,0.5204664207769446,0.240586103405258,true,0.1183719420810582,6,,,,0.1270111230605175,true,0.5078434313684143,0,1,true,0.49628634168234953,0.5066877223998077,true,0.2375452077066042,2,3,true,0.23767166486962246,0.23755785342290603,true,0.18566341577268847,4,4,true,0.0731320998997671,0.17441028418539634,true,0.25612906402063207,1,2,true,0.3770674034638276,0.26822289796495163", + 313: "313,8,5,5,0.17441028418539634,20,0.1,0.302444539832311,true,0.1262082049643654,7,,,,0.14383183845116,true,0.12707671179493218,5,,,,0.14461349459867007,true,0.240586103405258,2,2,true,0.42796796183333885,0.2593242892480661,true,0.1270111230605175,6,,,,0.14455446473769687,true,0.5066877223998077,0,3,true,0.41914369710241073,0.49793331987006806,true,0.23755785342290603,3,1,true,0.49628347999243383,0.26343041607985884,true,0.17441028418539634,4,4,true,-0.1643520892480879,0.14053404684204793,true,0.26822289796495163,1,0,true,0.503123302978025,0.291712938466259", + 314: "314,8,5,5,0.14461349459867007,20,0.1,-0.023411686574991413,true,0.14383183845116,6,,,,0.12710748594854485,true,0.14461349459867007,4,4,true,-0.024598176273040145,0.12769232751149906,true,0.2593242892480661,3,0,true,0.4891701455709334,0.28230887488035283,true,0.14455446473769687,5,,,,0.12775784960642805,true,0.49793331987006806,0,2,true,0.24550977530231838,0.4726909654132931,true,0.26343041607985884,2,3,true,-0.02311506415047923,0.23477586805682504,true,0.14053404684204793,7,,,,0.12413947350034399,true,0.291712938466259,1,1,true,0.35190856340058146,0.2977325009596913", + 315: "315,8,5,5,0.12775784960642805,20,0.1,0.1490394203154356,true,0.12710748594854485,6,,,,0.12930067938523393,true,0.12769232751149906,5,,,,0.12982703679189272,true,0.28230887488035283,2,2,true,0.2873264516650472,0.2828106325588223,true,0.12775784960642805,4,4,true,-0.2058985696135995,0.0943922076844253,true,0.4726909654132931,0,1,true,0.5703057123860868,0.4824524401105724,true,0.23477586805682504,3,3,true,0.23777391779769436,0.23507567303091198,true,0.12413947350034399,7,,,,0.12662946818185314,true,0.2977325009596913,1,0,true,0.6734363919622122,0.3353028900599434", + 316: "316,8,5,5,0.12982703679189272,20,0.1,-0.08069447105736081,true,0.12930067938523393,5,,,,0.10830116434097446,true,0.12982703679189272,4,3,true,-0.07131881970234927,0.10971245114246853,true,0.2828106325588223,2,1,true,0.285394410146682,0.2830690103176083,true,0.0943922076844253,7,,,,0.07688353981024669,true,0.4824524401105724,0,2,true,0.07140369856352868,0.44134756595586805,true,0.23507567303091198,3,0,true,0.4126816813015799,0.2528362738579788,true,0.12662946818185314,6,,,,0.10589707425793175,true,0.3353028900599434,1,4,true,-0.11819707647740699,0.2899528934062084", + 317: "317,8,5,5,0.10971245114246853,20,0.1,0.07037817416378767,true,0.10830116434097446,5,,,,0.10450886532325579,true,0.10971245114246853,4,3,true,0.11923793320680443,0.11066499934890212,true,0.2830690103176083,2,2,true,0.28207389099595326,0.2829694983854428,true,0.07688353981024669,7,,,,0.07623300324560078,true,0.44134756595586805,0,0,true,0.4676613475700888,0.4439789441172901,true,0.2528362738579788,3,1,true,0.4152082410321782,0.26907347057539877,true,0.10589707425793175,6,,,,0.10234518424851735,true,0.2899528934062084,1,4,true,-0.12506086200827946,0.2484515178647596", + 318: "318,8,5,5,0.11066499934890212,20,0.1,0.10070911263801881,true,0.10450886532325579,5,,,,0.1041288900547321,true,0.11066499934890212,4,4,true,0.05919964866172753,0.10551846428018466,true,0.2829694983854428,1,2,true,0.3396441324700214,0.28863696179390064,true,0.07623300324560078,7,,,,0.0786806141848426,true,0.4439789441172901,0,0,true,0.8169172129020008,0.4812727709957612,true,0.26907347057539877,2,3,true,0.11108647863209162,0.2532747713810681,true,0.10234518424851735,6,,,,0.1021815770874675,true,0.2484515178647596,3,1,true,0.3875699988267758,0.2623633659609612", + 319: "319,8,5,5,0.10551846428018466,20,0.1,0.1376309232302885,true,0.1041288900547321,5,,,,0.10747909337228773,true,0.10551846428018466,4,4,true,-0.15353062681725452,0.07961355517044075,true,0.28863696179390064,1,0,true,0.3648528699174867,0.2962585526062593,true,0.0786806141848426,7,,,,0.0845756450893872,true,0.4812727709957612,0,1,true,0.3082280941603978,0.4639683033122249,true,0.2532747713810681,3,2,true,0.23257067909601215,0.2512043621525625,true,0.1021815770874675,6,,,,0.1057265117017496,true,0.2623633659609612,2,3,true,0.21042131074217424,0.2571691604390825", + 320: "320,8,5,5,0.10747909337228773,20,0.1,0.17830624670488826,true,0.10747909337228773,4,3,true,0.20901426178965088,0.11763261021402405,true,0.07961355517044075,7,,,,0.08948282432388549,true,0.2962585526062593,1,4,true,0.055474186365837785,0.2721801159822171,true,0.0845756450893872,6,,,,0.09394870525093732,true,0.4639683033122249,0,0,true,0.6772559869389343,0.48529707167489583,true,0.2512043621525625,3,2,true,0.5516280329188968,0.2812467292291959,true,0.1057265117017496,5,,,,0.11298448520206347,true,0.2571691604390825,2,1,true,0.5882530189639423,0.2902775462915685", + 321: "321,8,5,5,0.11763261021402405,20,0.1,0.09357126275102126,true,0.11763261021402405,4,4,true,-0.0958635962618859,0.09628298956643305,true,0.08948282432388549,7,,,,0.08989166816659908,true,0.2721801159822171,3,3,true,0.14092997750424804,0.2590551021344202,true,0.09394870525093732,6,,,,0.09391096100094572,true,0.48529707167489583,0,0,true,0.47749262374781487,0.4845166268821878,true,0.2812467292291959,2,1,true,0.1886931108842039,0.2719913673946967,true,0.11298448520206347,5,,,,0.11104316295695926,true,0.2902775462915685,1,2,true,0.15861849060776237,0.2771116407231879", + 322: "322,8,5,5,0.11104316295695926,20,0.1,0.27124903236295556,true,0.09628298956643305,5,,,,0.11377959384608531,true,0.08989166816659908,7,,,,0.10802740458623473,true,0.2590551021344202,3,3,true,0.28933159540552017,0.2620827514615302,true,0.09391096100094572,6,,,,0.1116447681371467,true,0.4845166268821878,0,1,true,0.39589541846492393,0.4756545060404614,true,0.2719913673946967,2,0,true,0.6087147847906628,0.3056637091342933,true,0.11104316295695926,4,4,true,0.1989187801926971,0.11983072468053305,true,0.2771116407231879,1,2,true,0.2946450330514696,0.27886497995601606", + 323: "323,8,5,5,0.11983072468053305,20,0.1,0.06373180686925774,true,0.11377959384608531,5,,,,0.10877481514840255,true,0.10802740458623473,7,,,,0.10359784481453703,true,0.2620827514615302,3,3,true,0.07084904287978044,0.24295938060335523,true,0.1116447681371467,6,,,,0.1068534720103578,true,0.4756545060404614,0,1,true,0.17676882224703844,0.44576593766111905,true,0.3056637091342933,1,2,true,0.12037651155357344,0.2871349893762213,true,0.11983072468053305,4,4,true,0.035262862827166896,0.11137393849519643,true,0.27886497995601606,2,0,true,0.18490840865319222,0.26946932282573366", + 324: "324,8,5,5,0.11137393849519643,20,0.1,0.24929812638282345,true,0.10877481514840255,5,,,,0.12282714627184466,true,0.10359784481453703,7,,,,0.11816787297136566,true,0.24295938060335523,3,3,true,0.25399915261739536,0.24406335780475924,true,0.1068534720103578,6,,,,0.12109793744760436,true,0.44576593766111905,0,0,true,0.6701046640065461,0.46819981029566177,true,0.2871349893762213,1,4,true,0.2304940214445358,0.28147089258305275,true,0.11137393849519643,4,2,true,0.3305533809036132,0.1332918827360381,true,0.26946932282573366,2,1,true,0.47579869895546456,0.29010226043870674", + 325: "325,8,5,5,0.1332918827360381,20,0.1,0.1361913647499185,true,0.12282714627184466,5,,,,0.12416356811965205,true,0.11816787297136566,7,,,,0.11997022214922096,true,0.24406335780475924,3,0,true,0.592038265272067,0.27886084855149007,true,0.12109793744760436,6,,,,0.12260728017783579,true,0.46819981029566177,0,1,true,0.37717113750238784,0.45909694301633436,true,0.28147089258305275,2,2,true,0.31334367281138664,0.2846581706058861,true,0.1332918827360381,4,4,true,-0.009371874168958544,0.11902550704553842,true,0.29010226043870674,1,3,true,0.17258217447963775,0.2783502518427999", + 326: "326,8,5,5,0.12416356811965205,20,0.1,0.30181447577272297,true,0.12416356811965205,4,3,true,0.31930482973305174,0.14367769428099203,true,0.11997022214922096,6,,,,0.13815464751157117,true,0.27886084855149007,2,1,true,0.32212546665590264,0.28318731036193134,true,0.12260728017783579,5,,,,0.1405279997373245,true,0.45909694301633436,0,2,true,0.32072272045407907,0.44525952076010883,true,0.2846581706058861,1,0,true,0.6178249112483181,0.3179748446701293,true,0.11902550704553842,7,,,,0.13730440391825688,true,0.2783502518427999,3,4,true,0.2318530599314078,0.27370053265166067", + 327: "327,8,5,5,0.14367769428099203,20,0.1,-0.04336719969005718,true,0.14367769428099203,4,4,true,-0.10894400347922664,0.11841552450497017,true,0.13815464751157117,6,,,,0.12000246279140835,true,0.28318731036193134,2,3,true,-0.02697299874276482,0.2521712794514617,true,0.1405279997373245,5,,,,0.12213847979458635,true,0.44525952076010883,0,0,true,0.7819495989596035,0.4789285285800583,true,0.3179748446701293,1,1,true,0.3770287185936948,0.3238802320624859,true,0.13730440391825688,7,,,,0.11923724355742549,true,0.27370053265166067,3,2,true,0.1996459817365835,0.26629507756015297", + 328: "328,8,5,5,0.12213847979458635,20,0.1,0.2428856518470537,true,0.11841552450497017,7,,,,0.1308625372391785,true,0.12000246279140835,5,,,,0.1322907816969729,true,0.2521712794514617,3,0,true,0.662658369904195,0.2932199884967351,true,0.12213847979458635,4,3,true,0.2769755543986059,0.13762218725498832,true,0.4789285285800583,0,1,true,0.4097115505617724,0.4720068307782297,true,0.3238802320624859,1,2,true,0.33159070672990176,0.3246512795292275,true,0.11923724355742549,6,,,,0.13160208438638832,true,0.26629507756015297,2,4,true,0.10652604164084498,0.25031817396822215", + 329: "329,8,5,5,0.13762218725498832,20,0.1,0.3299825639215139,true,0.1308625372391785,7,,,,0.15077453990741205,true,0.1322907816969729,5,,,,0.152059959919427,true,0.2932199884967351,2,2,true,0.40981729711493964,0.3048797193585555,true,0.13762218725498832,4,4,true,0.28733063787820345,0.15259303231730983,true,0.4720068307782297,0,0,true,0.8529352626609221,0.5100996739664989,true,0.3246512795292275,1,3,true,0.34064554543234155,0.32625070611953894,true,0.13160208438638832,6,,,,0.1514401323399009,true,0.25031817396822215,3,1,true,0.4943996067775277,0.27472631724915275", + 330: "330,8,5,5,0.15259303231730983,20,0.1,-0.06834688025167106,true,0.15077453990741205,7,,,,0.12886239789150375,true,0.152059959919427,5,,,,0.1300192759023172,true,0.3048797193585555,2,1,true,0.6589515680966249,0.34028690423236246,true,0.15259303231730983,4,4,true,-0.1093248577772441,0.12640124330785446,true,0.5100996739664989,0,0,true,0.6683173856721724,0.5259214451370663,true,0.32625070611953894,1,3,true,-0.0581023858702778,0.28781539692055724,true,0.1514401323399009,6,,,,0.1294614310807437,true,0.27472631724915275,3,2,true,0.027521657643761938,0.2500058512886137", + 331: "331,8,5,5,0.1300192759023172,20,0.1,-0.08991966091502956,true,0.12886239789150375,6,,,,0.10698419201085041,true,0.1300192759023172,4,2,true,-0.03346605504275722,0.11367074280780977,true,0.34028690423236246,1,4,true,-0.16553429638313255,0.28970478417081297,true,0.12640124330785446,7,,,,0.10476915288556606,true,0.5259214451370663,0,0,true,0.29136560943907186,0.5024658615672668,true,0.28781539692055724,2,3,true,-0.07101600204800382,0.25193225702370114,true,0.1294614310807437,5,,,,0.10752332188116638,true,0.2500058512886137,3,1,true,0.147530092141789,0.23975827537393124", + 332: "332,8,5,5,0.11367074280780977,20,0.1,0.05822008550905847,true,0.10698419201085041,6,,,,0.10210778136067122,true,0.11367074280780977,4,2,true,0.1580480489185481,0.11810847341888361,true,0.28970478417081297,1,4,true,-0.15307642813496153,0.24542666294023555,true,0.10476915288556606,7,,,,0.10011424614791531,true,0.5024658615672668,0,0,true,0.5926881028062089,0.511488085691161,true,0.25193225702370114,2,3,true,0.11104421392006346,0.23784345271333737,true,0.10752332188116638,5,,,,0.1025929982439556,true,0.23975827537393124,3,1,true,0.3641465112985106,0.2521970989663892", + 333: "333,8,5,5,0.11810847341888361,20,0.1,0.25190523620810507,true,0.10210778136067122,6,,,,0.11708752684541461,true,0.11810847341888361,4,4,true,-0.15420356846146066,0.09087726923084918,true,0.24542666294023555,2,0,true,0.4649598928527444,0.26737998593148643,true,0.10011424614791531,7,,,,0.11529334515393429,true,0.511488085691161,0,3,true,0.35343243737549646,0.4956825208595946,true,0.23784345271333737,3,1,true,0.4632372403736892,0.2603828314793726,true,0.1025929982439556,5,,,,0.11752422204037055,true,0.2521970989663892,1,2,true,0.3672386517160068,0.263701254241351", + 334: "334,8,5,5,0.11752422204037055,20,0.1,0.1784513698128226,true,0.11708752684541461,5,,,,0.12322391114215542,true,0.09087726923084918,7,,,,0.09963467928904653,true,0.26737998593148643,1,1,true,0.3024638667327574,0.27088837401161353,true,0.11529334515393429,6,,,,0.12160914761982312,true,0.4956825208595946,0,2,true,0.23690938634669384,0.4698052074083045,true,0.2603828314793726,3,3,true,0.19855910979271468,0.2542004593107068,true,0.11752422204037055,4,0,true,0.4570060062971819,0.1514724004660517,true,0.263701254241351,2,4,true,0.09802040989325429,0.24713316980654135", + 335: "335,8,5,5,0.1514724004660517,20,0.1,-0.03389858414357484,true,0.12322391114215542,5,,,,0.10751166161358239,true,0.09963467928904653,7,,,,0.08628135294578439,true,0.27088837401161353,1,4,true,-0.15195656782019062,0.2286038798284331,true,0.12160914761982312,6,,,,0.10605837444348333,true,0.4698052074083045,0,0,true,0.4229422442129216,0.46511891108876624,true,0.2542004593107068,2,1,true,0.27323059819277934,0.256103473198914,true,0.1514724004660517,4,2,true,0.2730767049933156,0.1636328309187781,true,0.24713316980654135,3,3,true,-0.004384088224420907,0.22198144400344513", + 336: "336,8,5,5,0.1636328309187781,20,0.1,0.17127728284734237,true,0.10751166161358239,5,,,,0.1138882237369584,true,0.08628135294578439,7,,,,0.09478094593594019,true,0.2286038798284331,2,1,true,0.37911694070603036,0.24365518591619284,true,0.10605837444348333,6,,,,0.11258026528386925,true,0.46511891108876624,0,2,true,0.3033716482191072,0.44894418480180037,true,0.256103473198914,1,3,true,0.20821898402863145,0.2513150242818858,true,0.1636328309187781,4,0,true,0.560167661752813,0.20328631400218156,true,0.22198144400344513,3,4,true,0.023510478122185957,0.20213434741531922", + 337: "337,8,5,5,0.20213434741531922,20,0.1,0.004042443044576915,true,0.1138882237369584,5,,,,0.10290364566772026,true,0.09478094593594019,7,,,,0.08570709564680387,true,0.24365518591619284,2,2,true,0.1879708919156401,0.23808675651613756,true,0.11258026528386925,6,,,,0.10172648305994002,true,0.44894418480180037,0,0,true,0.532143375591467,0.457264103880767,true,0.2513150242818858,1,1,true,0.3334024282868068,0.2595237646823779,true,0.20328631400218156,3,4,true,-0.06703409636309784,0.17625427296565363,true,0.20213434741531922,4,3,true,0.0218115778964956,0.18410207046343685", + 338: "338,8,5,5,0.17625427296565363,20,0.1,0.18374582229722086,true,0.10290364566772026,5,,,,0.11098786333067032,true,0.08570709564680387,7,,,,0.09551096831184558,true,0.23808675651613756,2,0,true,0.3804404502987425,0.25232212589439806,true,0.10172648305994002,6,,,,0.1099284169836681,true,0.457264103880767,0,2,true,0.32083050274576747,0.44362074376726707,true,0.2595237646823779,1,3,true,0.2909008897887453,0.2626614771930147,true,0.17625427296565363,4,4,true,-0.24487444766887687,0.13414140090220059,true,0.18410207046343685,3,1,true,0.3407403826737596,0.19976590168446912", + 339: "339,8,5,5,0.13414140090220059,20,0.1,0.19818477467692674,true,0.11098786333067032,5,,,,0.11970755446529596,true,0.09551096831184558,7,,,,0.1057783489483537,true,0.25232212589439806,2,0,true,0.49739717791318916,0.2768296310962772,true,0.1099284169836681,6,,,,0.11875405275299397,true,0.44362074376726707,0,1,true,0.40857833928622583,0.44011650331916297,true,0.2626614771930147,1,3,true,0.2558672407552837,0.2619820535492416,true,0.13414140090220059,4,4,true,-0.03254508963650124,0.1174727518483304,true,0.19976590168446912,3,2,true,0.36564869296360586,0.21635418081238278", + 340: "340,8,5,5,0.11970755446529596,20,0.1,-0.15344671905927204,true,0.11970755446529596,4,3,true,-0.13737286615089792,0.09399951240367657,true,0.1057783489483537,7,,,,0.07985584214759112,true,0.2768296310962772,1,1,true,0.33355433732934153,0.2825021017195836,true,0.11875405275299397,5,,,,0.09153397557176737,true,0.44011650331916297,0,2,true,0.2166600393770583,0.4177708569249525,true,0.2619820535492416,2,4,true,-0.21774213069276857,0.2140096351250406,true,0.1174727518483304,6,,,,0.09038080475757015,true,0.21635418081238278,3,0,true,0.7547968488496317,0.2701984476161077", + 341: "341,8,5,5,0.09399951240367657,20,0.1,0.19546368448453225,true,0.09399951240367657,4,4,true,0.06951295085387604,0.09155085624869652,true,0.07985584214759112,7,,,,0.09141662638128524,true,0.2825021017195836,1,2,true,0.2910074187581237,0.28335263342343764,true,0.09153397557176737,5,,,,0.10192694646304387,true,0.4177708569249525,0,0,true,0.5362059760665353,0.42961436883911086,true,0.2140096351250406,3,1,true,0.3329450400620637,0.2259031756187429,true,0.09038080475757015,6,,,,0.10088909273026637,true,0.2701984476161077,2,3,true,0.22695136789219628,0.2658737396437165", + 342: "342,8,5,5,0.10192694646304387,20,0.1,0.12207345260996308,true,0.09155085624869652,6,,,,0.09460311588482317,true,0.09141662638128524,7,,,,0.09448230900415303,true,0.28335263342343764,1,1,true,0.36259986509404724,0.2912773565904986,true,0.10192694646304387,4,4,true,0.08030261676487847,0.09976451349322733,true,0.42961436883911086,0,2,true,0.3105664903934019,0.41770958099454,true,0.2259031756187429,3,3,true,0.13251616157123422,0.21656447421399203,true,0.10088909273026637,5,,,,0.10300752871823604,true,0.2658737396437165,2,0,true,0.37610995782598833,0.2768973614619437", + 343: "343,8,5,5,0.10300752871823604,20,0.1,0.1685966632873466,true,0.09460311588482317,6,,,,0.10200247062507552,true,0.09448230900415303,7,,,,0.10189374443247239,true,0.2912773565904986,1,2,true,0.2035668171090395,0.28250630264235266,true,0.09976451349322733,5,,,,0.10664772847263926,true,0.41770958099454,0,0,true,0.5852653454565439,0.4344651574407404,true,0.21656447421399203,3,3,true,0.17156639293179077,0.2120646660857719,true,0.10300752871823604,4,4,true,0.15671774470956992,0.10837855031736944,true,0.2768973614619437,2,1,true,0.30175210807015396,0.27938283612276477", + 344: "344,8,5,5,0.10837855031736944,20,0.1,0.2782036677761932,true,0.10200247062507552,6,,,,0.1196225903401873,true,0.10189374443247239,7,,,,0.11952473676684447,true,0.28250630264235266,1,0,true,0.7522101536769229,0.32947668774580974,true,0.10664772847263926,5,,,,0.12380332240299466,true,0.4344651574407404,0,3,true,0.30330181710578186,0.4213488234072445,true,0.2120646660857719,3,2,true,0.40938024213789226,0.23179622369098393,true,0.10837855031736944,4,4,true,0.1778110704578386,0.11532180233141637,true,0.27938283612276477,2,1,true,0.5377219746581479,0.3052167499763031", + 345: "345,8,5,5,0.12380332240299466,20,0.1,0.030789410134120503,true,0.1196225903401873,5,,,,0.11073927231958063,true,0.11952473676684447,6,,,,0.11065120410357207,true,0.32947668774580974,1,2,true,0.1322063434176024,0.30974965331298904,true,0.12380332240299466,4,4,true,-0.008464290033326542,0.11057656115936254,true,0.4213488234072445,0,0,true,0.5888076086358793,0.438094701930108,true,0.23179622369098393,3,3,true,0.04060283517598226,0.21267688483948377,true,0.11532180233141637,7,,,,0.10686856311168678,true,0.3052167499763031,2,1,true,0.5520320148471605,0.3298982764633889", + 346: "346,8,5,5,0.11073927231958063,20,0.1,0.15701685022075856,true,0.11073927231958063,4,3,true,0.22810167383683125,0.1224755124713057,true,0.11065120410357207,5,,,,0.11528776871529073,true,0.30974965331298904,2,0,true,0.7711376164203527,0.3558884496237254,true,0.11057656115936254,6,,,,0.11522059006550216,true,0.438094701930108,0,1,true,0.6184027441447228,0.45612550615156955,true,0.21267688483948377,3,4,true,-0.1273224442435323,0.1786769519311822,true,0.10686856311168678,7,,,,0.11188339182259396,true,0.3298982764633889,1,2,true,0.5991254431222439,0.3568209931292744", + 347: "347,8,5,5,0.1224755124713057,20,0.1,0.052605290926232166,true,0.1224755124713057,4,4,true,-0.03164335545909702,0.10706362567826544,true,0.11528776871529073,5,,,,0.10901952093638487,true,0.3558884496237254,2,0,true,0.661612663843625,0.38646087104571536,true,0.11522059006550216,6,,,,0.10895906015157515,true,0.45612550615156955,0,1,true,0.27920052053941,0.4384330075903536,true,0.1786769519311822,3,3,true,0.07366745252256446,0.16817600199032043,true,0.11188339182259396,7,,,,0.10595558173295778,true,0.3568209931292744,1,2,true,0.08011559878750021,0.329150453695097", + 348: "348,8,5,5,0.10901952093638487,20,0.1,0.03688953429896389,true,0.10706362567826544,6,,,,0.10004621654033528,true,0.10901952093638487,4,2,true,0.10356233102011797,0.10847380194475818,true,0.38646087104571536,1,1,true,0.11584551251702907,0.3593993351928467,true,0.10895906015157515,5,,,,0.10175210756631403,true,0.4384330075903536,0,0,true,0.3208719194648643,0.4266768987778047,true,0.16817600199032043,3,3,true,0.09745687948193987,0.1611040897394824,true,0.10595558173295778,7,,,,0.0990489769895584,true,0.329150453695097,2,4,true,-0.20537984643294008,0.27569742368229333", + 349: "349,8,5,5,0.10847380194475818,20,0.1,0.08470071972472089,true,0.10004621654033528,6,,,,0.09851166685877384,true,0.10847380194475818,4,3,true,0.11438896765944809,0.10906531851622718,true,0.3593993351928467,1,4,true,-0.03405227201418792,0.3200541744721433,true,0.10175210756631403,5,,,,0.10004696878215472,true,0.4266768987778047,0,0,true,0.6452319296559232,0.44853240186561655,true,0.1611040897394824,3,1,true,0.3314269488031056,0.17813637564584472,true,0.0990489769895584,7,,,,0.09761415126307466,true,0.27569742368229333,2,2,true,0.17959741664172127,0.2660874229782361", + 350: "350,8,5,5,0.10906531851622718,20,0.1,0.13250016189320715,true,0.09851166685877384,6,,,,0.10191051636221718,true,0.10906531851622718,4,4,true,-0.30012526497147896,0.06814626016745656,true,0.3200541744721433,1,3,true,0.24065651860937864,0.31211440888586683,true,0.10004696878215472,5,,,,0.10329228809325997,true,0.44853240186561655,0,0,true,0.5376926547170466,0.45744842715075956,true,0.17813637564584472,3,1,true,0.5003243148983822,0.2103551695710985,true,0.09761415126307466,7,,,,0.10110275232608791,true,0.2660874229782361,2,2,true,0.44491649836057123,0.28397033051646964", + 351: "351,8,5,5,0.10329228809325997,20,0.1,0.18100840038635255,true,0.10191051636221718,5,,,,0.10982030476463071,true,0.06814626016745656,7,,,,0.07943247418934615,true,0.31211440888586683,1,0,true,0.5890793453087926,0.33981090252815943,true,0.10329228809325997,4,3,true,0.19928848435664975,0.11289190771959895,true,0.45744842715075956,0,1,true,0.45119370641365386,0.456822955077049,true,0.2103551695710985,3,2,true,0.3549991191259604,0.22481956452658472,true,0.10110275232608791,6,,,,0.10909331713211437,true,0.28397033051646964,2,4,true,0.10788806450516375,0.26636210391533904", + 352: "352,8,5,5,0.11289190771959895,20,0.1,0.24239019835227224,true,0.10982030476463071,5,,,,0.12307729412339487,true,0.07943247418934615,7,,,,0.09572824660563876,true,0.33981090252815943,1,2,true,0.4296918168793754,0.34879899396328107,true,0.11289190771959895,4,4,true,0.13149437402402975,0.11475215435004203,true,0.456822955077049,0,0,true,0.5051146417156699,0.4616521237409111,true,0.22481956452658472,3,3,true,0.27011415443433284,0.22934902351735953,true,0.10909331713211437,6,,,,0.12242300525413016,true,0.26636210391533904,2,1,true,0.48726474354141747,0.28845236787794687", + 353: "353,8,5,5,0.12307729412339487,20,0.1,-0.010832660224012181,true,0.12307729412339487,4,3,true,0.012167173519239141,0.1119862820629793,true,0.09572824660563876,7,,,,0.08507215592267367,true,0.34879899396328107,1,0,true,0.6010230578986241,0.3740214003568154,true,0.11475215435004203,6,,,,0.10219367289263662,true,0.4616521237409111,0,1,true,0.3414032304113389,0.4496272344079539,true,0.22934902351735953,3,2,true,0.34055037846796077,0.24046915901241966,true,0.12242300525413016,5,,,,0.10909743870631593,true,0.28845236787794687,2,4,true,-0.1028319951970175,0.24932393157045046", + 354: "354,8,5,5,0.1119862820629793,20,0.1,0.11944512746287812,true,0.1119862820629793,4,3,true,0.1862309915275235,0.11941075300943373,true,0.08507215592267367,7,,,,0.08850945307669413,true,0.3740214003568154,1,1,true,0.592620723435294,0.3958813326646633,true,0.10219367289263662,6,,,,0.10391881834966077,true,0.4496272344079539,0,0,true,0.8370608728682338,0.4883705982539819,true,0.24046915901241966,3,2,true,0.27693764192792136,0.24411600730396982,true,0.10909743870631593,5,,,,0.11013220758197215,true,0.24932393157045046,2,4,true,-0.14769832879570352,0.20962170553383508", + 355: "355,8,5,5,0.11941075300943373,20,0.1,0.06902642817094592,true,0.11941075300943373,4,2,true,0.1253011473430663,0.11999979244279699,true,0.08850945307669413,7,,,,0.0865611505861193,true,0.3958813326646633,1,1,true,0.32080484333579606,0.3883736837317766,true,0.10391881834966077,6,,,,0.10042957933178928,true,0.4883705982539819,0,0,true,0.47851787016928315,0.48738532544551205,true,0.24411600730396982,2,3,true,0.09948654516197114,0.22965306108976996,true,0.11013220758197215,5,,,,0.10602162964086952,true,0.20962170553383508,3,4,true,-0.05281403979315499,0.18337813100113606", + 356: "356,8,5,5,0.11999979244279699,20,0.1,0.27885853963071244,true,0.11999979244279699,4,4,true,0.047031836985608616,0.11270299689707815,true,0.0865611505861193,7,,,,0.10579088949057862,true,0.3883736837317766,1,0,true,0.7609483858124033,0.4256311539398393,true,0.10042957933178928,6,,,,0.1182724753616816,true,0.48738532544551205,0,1,true,0.6416984133574963,0.5028166342367105,true,0.22965306108976996,2,3,true,0.3368152152919884,0.24036927650999182,true,0.10602162964086952,5,,,,0.12330532063985382,true,0.18337813100113606,3,2,true,0.40303388017081976,0.20534370591810444", + 357: "357,8,5,5,0.12330532063985382,20,0.1,0.22925761273369244,true,0.11270299689707815,6,,,,0.12435845848073958,true,0.10579088949057862,7,,,,0.11813756181489,true,0.4256311539398393,1,1,true,0.35398820421334015,0.4184668589671894,true,0.1182724753616816,5,,,,0.12937098909888267,true,0.5028166342367105,0,3,true,0.2642658760949138,0.4789615584225309,true,0.24036927650999182,2,0,true,0.4620411342135883,0.26253646228035143,true,0.12330532063985382,4,2,true,0.2659811543279983,0.13757290400866828,true,0.20534370591810444,3,4,true,0.08922455928880692,0.1937317912551747", + 358: "358,8,5,5,0.13757290400866828,20,0.1,0.13298351727371696,true,0.12435845848073958,6,,,,0.12522096436003732,true,0.11813756181489,7,,,,0.1196221573607727,true,0.4184668589671894,1,3,true,0.15916771906860658,0.3925369449773311,true,0.12937098909888267,5,,,,0.1297322419163661,true,0.4789615584225309,0,1,true,0.43344419761356145,0.474409822341634,true,0.26253646228035143,2,2,true,0.3477379320543463,0.27105660925775094,true,0.13757290400866828,4,0,true,0.5174322461950084,0.17555883822730228,true,0.1937317912551747,3,4,true,0.028246710094158523,0.17718328313907308", + 359: "359,8,5,5,0.17555883822730228,20,0.1,-0.008515813168005447,true,0.12522096436003732,6,,,,0.11184728660723305,true,0.1196221573607727,7,,,,0.10680836030789488,true,0.3925369449773311,1,2,true,0.18622512779264436,0.37190576325886243,true,0.1297322419163661,5,,,,0.11590743640792894,true,0.474409822341634,0,0,true,0.5935233250566502,0.4863211726131356,true,0.27105660925775094,2,4,true,-0.21640267659555065,0.22231068067242077,true,0.17555883822730228,4,3,true,0.04345590268888083,0.16234854467346016,true,0.17718328313907308,3,1,true,0.219536699832188,0.18141862480838458", + 360: "360,8,5,5,0.16234854467346016,20,0.1,0.23148200428571455,true,0.11184728660723305,6,,,,0.12381075837508121,true,0.10680836030789488,7,,,,0.11927572470567685,true,0.37190576325886243,1,1,true,0.5455135355706706,0.3892665404900433,true,0.11590743640792894,5,,,,0.1274648931957075,true,0.4863211726131356,0,0,true,0.6302963231116104,0.5007186876629831,true,0.22231068067242077,2,4,true,0.04231729518394273,0.20431134212357296,true,0.16234854467346016,4,2,true,0.33787646169449015,0.17990133637556316,true,0.18141862480838458,3,3,true,0.2787731815611575,0.19115408048366186", + 361: "361,8,5,5,0.17990133637556316,20,0.1,0.14401484915643867,true,0.12381075837508121,6,,,,0.12583116745321696,true,0.11927572470567685,7,,,,0.12174963715075304,true,0.3892665404900433,1,2,true,0.2124312897267177,0.37158301541371075,true,0.1274648931957075,5,,,,0.12911988879178063,true,0.5007186876629831,0,0,true,0.7000798649183839,0.5206548053885232,true,0.20431134212357296,2,1,true,0.24893632796085732,0.2087738407073014,true,0.17990133637556316,4,4,true,0.09675408292610262,0.17158661103061712,true,0.19115408048366186,3,3,true,0.15583004071402268,0.18762167650669795", + 362: "362,8,5,5,0.17158661103061712,20,0.1,0.22013118848517088,true,0.12583116745321696,6,,,,0.13526116955641235,true,0.12174963715075304,7,,,,0.13158779228419482,true,0.37158301541371075,1,0,true,0.37679418701131373,0.3721041325734711,true,0.12911988879178063,5,,,,0.13822101876111964,true,0.5206548053885232,0,1,true,0.2806539937986414,0.496654724229535,true,0.2087738407073014,2,3,true,0.24605291028419896,0.21250174766499116,true,0.17158661103061712,4,2,true,0.25778021699082787,0.1802059716266382,true,0.18762167650669795,3,4,true,0.11644430128905855,0.180503938984934", + 363: "363,8,5,5,0.1802059716266382,20,0.1,0.391507987258017,true,0.13526116955641235,6,,,,0.16088585132657282,true,0.13158779228419482,7,,,,0.15757981178157704,true,0.3721041325734711,1,2,true,0.608263792036909,0.3957200985198149,true,0.13822101876111964,5,,,,0.1635497156108094,true,0.496654724229535,0,0,true,0.8269522415673882,0.5296844759633204,true,0.21250174766499116,2,4,true,0.35524786190385454,0.2267763590888775,true,0.1802059716266382,4,1,true,0.6364738261230787,0.22583275707628225,true,0.180503938984934,3,3,true,0.4005730185965576,0.20251084694609636", + 364: "364,8,5,5,0.20251084694609636,20,0.1,-0.06494347546584348,true,0.16088585132657282,6,,,,0.13830291864733119,true,0.15757981178157704,7,,,,0.135327483056835,true,0.3957200985198149,1,2,true,0.2806690334225206,0.3842149920100854,true,0.1635497156108094,5,,,,0.14070039650314412,true,0.5296844759633204,0,0,true,0.8436640107938216,0.5610824294463705,true,0.2267763590888775,2,1,true,0.30160041465510945,0.23425876464550072,true,0.22583275707628225,3,4,true,-0.20187554625485535,0.1830619267431685,true,0.20251084694609636,4,3,true,-0.03071045776859052,0.1791887164746277", + 365: "365,8,5,5,0.1791887164746277,20,0.1,0.12321987979265069,true,0.13830291864733119,6,,,,0.13679461476186314,true,0.135327483056835,7,,,,0.13411672273041658,true,0.3842149920100854,1,0,true,0.6985045427859519,0.4156439470876721,true,0.14070039650314412,5,,,,0.13895234483209476,true,0.5610824294463705,0,1,true,0.41367690671337376,0.5463418771730709,true,0.23425876464550072,2,2,true,0.407342549463715,0.25156714312732215,true,0.1830619267431685,3,4,true,0.07271162781691724,0.1720268968505434,true,0.1791887164746277,4,3,true,0.13584694278658405,0.17485453910582335", + 366: "366,8,5,5,0.1720268968505434,20,0.1,0.1815019614140289,true,0.13679461476186314,6,,,,0.14126534942707972,true,0.13411672273041658,7,,,,0.13885524659877782,true,0.4156439470876721,1,1,true,0.6971873229058859,0.4437982846694935,true,0.13895234483209476,5,,,,0.14320730649028818,true,0.5463418771730709,0,0,true,0.8297292737984143,0.5746806168356052,true,0.25156714312732215,2,2,true,0.2766686200620052,0.25407729082079045,true,0.1720268968505434,4,3,true,0.18240899909752945,0.173065107075242,true,0.17485453910582335,3,4,true,0.17787381068002683,0.1751564662632437", + 367: "367,8,5,5,0.173065107075242,20,0.1,0.08751359739810369,true,0.14126534942707972,6,,,,0.13589017422418212,true,0.13885524659877782,7,,,,0.1337210816787104,true,0.4437982846694935,1,2,true,0.439488962927918,0.443367352495336,true,0.14320730649028818,5,,,,0.13763793558106974,true,0.5746806168356052,0,0,true,0.8060759120295331,0.597820146354998,true,0.25407729082079045,2,1,true,0.43994845730538046,0.27266440746924947,true,0.173065107075242,4,4,true,-0.09906963276530675,0.14585163309118712,true,0.1751564662632437,3,3,true,0.13415940493895628,0.17105676013081494", + 368: "368,8,5,5,0.14585163309118712,20,0.1,0.0057688912972028855,true,0.13589017422418212,6,,,,0.1228780459314842,true,0.1337210816787104,7,,,,0.12092586264055966,true,0.443367352495336,1,1,true,0.3191901997208872,0.43094963721789115,true,0.13763793558106974,5,,,,0.12445103115268305,true,0.597820146354998,0,0,true,0.35058939631489405,0.5730970713509876,true,0.27266440746924947,2,4,true,-0.16245893635134503,0.22915207308719002,true,0.14585163309118712,4,3,true,0.047825848209339855,0.1360490546030024,true,0.17105676013081494,3,2,true,0.14350214161814182,0.16830129827954762", + 369: "369,8,5,5,0.1360490546030024,20,0.1,0.18083028931520134,true,0.1228780459314842,6,,,,0.12867327026985592,true,0.12092586264055966,7,,,,0.12691630530802384,true,0.43094963721789115,1,1,true,0.5489317537479468,0.4427478488708967,true,0.12445103115268305,5,,,,0.13008895696893488,true,0.5730970713509876,0,0,true,0.6256538501688347,0.5783527492327724,true,0.22915207308719002,2,4,true,0.16401340701831912,0.22263820648030294,true,0.1360490546030024,4,2,true,0.3356648925155987,0.15601063839426205,true,0.16830129827954762,3,3,true,0.1850345098894219,0.16997461944053505", + 370: "370,8,5,5,0.15601063839426205,20,0.1,0.3333011593573486,true,0.12867327026985592,6,,,,0.1491360591786052,true,0.12691630530802384,7,,,,0.14755479071295632,true,0.4427478488708967,1,2,true,0.4564310327896833,0.44411616726277536,true,0.13008895696893488,5,,,,0.15041017720777627,true,0.5783527492327724,0,3,true,0.41274996394433255,0.5617924707039283,true,0.22263820648030294,2,0,true,0.4995661012278345,0.2503309959550561,true,0.15601063839426205,4,4,true,0.015505941009412605,0.14196016865577712,true,0.16997461944053505,3,1,true,0.4885333314932523,0.20183049064580677", + 371: "371,8,5,5,0.15041017720777627,20,0.1,-0.0570572540977364,true,0.1491360591786052,5,,,,0.12851672785097107,true,0.14755479071295632,6,,,,0.12709358623188705,true,0.44411616726277536,1,3,true,-0.031118605850045222,0.3965926899514933,true,0.15041017720777627,4,4,true,-0.16081184708850113,0.11928797477814854,true,0.5617924707039283,0,0,true,0.6018287246317042,0.565796096096706,true,0.2503309959550561,2,2,true,-0.015389017514817221,0.22375899460806878,true,0.14196016865577712,7,,,,0.12205842638042579,true,0.20183049064580677,3,1,true,0.02987048834276304,0.1846344904155024", + 372: "372,8,5,5,0.12851672785097107,20,0.1,-0.0883864381402026,true,0.12851672785097107,4,4,true,-0.313207134261829,0.08434434163969107,true,0.12709358623188705,5,,,,0.10554558379467809,true,0.3965926899514933,1,1,true,0.1226529638857442,0.36919871734491844,true,0.11928797477814854,7,,,,0.09852053348631343,true,0.565796096096706,0,2,true,0.04831888197688827,0.5140483746847243,true,0.22375899460806878,2,3,true,-0.03218126410979602,0.1981649687362823,true,0.12205842638042579,6,,,,0.10101393992836295,true,0.1846344904155024,3,0,true,0.13030089802557956,0.17920113117651013", + 373: "373,8,5,5,0.10554558379467809,20,0.1,0.17968926818698344,true,0.08434434163969107,7,,,,0.0938788342944203,true,0.10554558379467809,4,4,true,-0.06958535804402008,0.08803248961080827,true,0.36919871734491844,1,1,true,0.36283939002698745,0.3685627846131253,true,0.09852053348631343,6,,,,0.10663740695638042,true,0.5140483746847243,0,0,true,0.5082795434216738,0.5134714915584193,true,0.1981649687362823,2,3,true,0.24200792474473432,0.20254926433712753,true,0.10101393992836295,5,,,,0.108881472754225,true,0.17920113117651013,3,2,true,0.24241336299829347,0.18552235435868847", + 374: "374,8,5,5,0.108881472754225,20,0.1,0.19283476262181137,true,0.0938788342944203,6,,,,0.10377442712715942,true,0.08803248961080827,7,,,,0.09851271691190858,true,0.3685627846131253,1,1,true,0.4117675393748296,0.37288326008929573,true,0.10663740695638042,5,,,,0.11525714252292352,true,0.5134714915584193,0,0,true,0.7252705011926963,0.534651392521847,true,0.20254926433712753,2,3,true,0.2095607016848049,0.2032504080718953,true,0.108881472754225,4,2,true,0.4014971128440279,0.1381430367632053,true,0.18552235435868847,3,4,true,0.1259310063698373,0.17956321955980337", + 375: "375,8,5,5,0.1381430367632053,20,0.1,0.22524381141902983,true,0.10377442712715942,6,,,,0.11592136555634647,true,0.09851271691190858,7,,,,0.11118582636262071,true,0.37288326008929573,1,2,true,0.30001228287423565,0.36559616236778975,true,0.11525714252292352,5,,,,0.12625580941253417,true,0.534651392521847,0,0,true,0.5317992892972361,0.5343661821993859,true,0.2032504080718953,2,1,true,0.35843078580616483,0.21876844584532223,true,0.1381430367632053,4,3,true,0.28425136223942604,0.15275386931082738,true,0.17956321955980337,3,4,true,-0.010786391862555117,0.16052825841756754", + 376: "376,8,5,5,0.15275386931082738,20,0.1,0.21119921527578792,true,0.11592136555634647,6,,,,0.12544915052829061,true,0.11118582636262071,7,,,,0.12118716525393744,true,0.36559616236778975,1,1,true,0.4806131153601436,0.3770978576670252,true,0.12625580941253417,5,,,,0.13475014999885954,true,0.5343661821993859,0,0,true,0.4820238177296653,0.5291319457524138,true,0.21876844584532223,2,2,true,0.39645232674583686,0.23653683393537372,true,0.15275386931082738,4,4,true,-0.026742295501615193,0.1348042528295831,true,0.16052825841756754,3,3,true,0.2706845929701387,0.17154389187282468", + 377: "377,8,5,5,0.1348042528295831,20,0.1,0.2130337861858411,true,0.12544915052829061,6,,,,0.13420761409404566,true,0.12118716525393744,7,,,,0.13037182734712782,true,0.3770978576670252,1,4,true,0.20505448220634373,0.35989352012095704,true,0.13475014999885954,5,,,,0.1425785136175577,true,0.5291319457524138,0,2,true,0.21577857375340886,0.4977966085525134,true,0.23653683393537372,2,1,true,0.22989788636832398,0.23587293917866875,true,0.1348042528295831,4,0,true,0.3899219382462517,0.16031602137124998,true,0.17154389187282468,3,3,true,0.21502861218071542,0.17589236390361376", + 378: "378,8,5,5,0.16031602137124998,20,0.1,0.18729377429135502,true,0.13420761409404566,6,,,,0.1395162301137766,true,0.13037182734712782,7,,,,0.13606402204155055,true,0.35989352012095704,1,2,true,0.30719054693029085,0.35462322280189046,true,0.1425785136175577,5,,,,0.14705003968493743,true,0.4977966085525134,0,3,true,0.28459207948733156,0.4764761556459952,true,0.23587293917866875,2,0,true,0.34001349594856595,0.24628699485565847,true,0.16031602137124998,4,1,true,0.3381395676353508,0.17809837599766007,true,0.17589236390361376,3,4,true,-0.2018994464925513,0.13811318286399726", + 379: "379,8,5,5,0.14705003968493743,20,0.1,-0.11256954084514975,true,0.1395162301137766,5,,,,0.11430765301788397,true,0.13606402204155055,7,,,,0.11120066575288051,true,0.35462322280189046,1,1,true,0.45671248706987744,0.3648321492286892,true,0.14705003968493743,4,4,true,-0.3231303266350074,0.10003200305294294,true,0.4764761556459952,0,0,true,0.8096320535460113,0.5097917454359968,true,0.24628699485565847,2,3,true,-0.05992934439768535,0.2156653609303241,true,0.17809837599766007,3,2,true,0.2853233905410637,0.18882087745200044,true,0.13811318286399726,6,,,,0.11304491049308256", + 380: "380,8,5,5,0.11430765301788397,20,0.1,0.06420921078094628,true,0.11430765301788397,4,4,true,0.057468729536379194,0.10862376066973349,true,0.11120066575288051,6,,,,0.10650152025568708,true,0.3648321492286892,1,1,true,0.18691916023018076,0.3470408503288383,true,0.10003200305294294,7,,,,0.09644972382574327,true,0.5097917454359968,0,0,true,0.5516147257730681,0.513974043469704,true,0.2156653609303241,2,3,true,0.06589433109208806,0.2006882579465005,true,0.18882087745200044,3,2,true,0.16997840244884044,0.18693662995168445,true,0.11304491049308256,5,,,,0.10816134052186893", + 381: "381,8,5,5,0.10862376066973349,20,0.1,0.15069247959882817,true,0.10862376066973349,4,2,true,0.21996850848120125,0.11975823545088027,true,0.10650152025568708,6,,,,0.1109206161900012,true,0.3470408503288383,1,3,true,0.19031357742009827,0.3313681230379643,true,0.09644972382574327,7,,,,0.10187399940305177,true,0.513974043469704,0,0,true,0.8095149079283297,0.5435281299155665,true,0.2006882579465005,2,1,true,0.44440669944427774,0.22506010209627822,true,0.18693662995168445,3,4,true,-0.0077919116862523174,0.16746377578789076,true,0.10816134052186893,5,,,,0.11241445442956487", + 382: "382,8,5,5,0.11975823545088027,20,0.1,0.1425144575452349,true,0.11975823545088027,4,1,true,0.37039631686736274,0.1448220435925285,true,0.1109206161900012,6,,,,0.11408000032552457,true,0.3313681230379643,1,3,true,0.20751677413344397,0.31898298814751225,true,0.10187399940305177,7,,,,0.10593804521727007,true,0.5435281299155665,0,0,true,0.6601578054497226,0.5551910974689822,true,0.22506010209627822,2,4,true,-0.11749480880760135,0.19080461100589027,true,0.16746377578789076,3,2,true,0.32830656822698945,0.18354805503180063,true,0.11241445442956487,5,,,,0.11542445474113187", + 383: "383,8,5,5,0.1448220435925285,20,0.1,0.033450626855544036,true,0.1448220435925285,4,2,true,0.12817980624270808,0.14315781985754647,true,0.11408000032552457,6,,,,0.10601706297852652,true,0.31898298814751225,1,1,true,0.2835727912234433,0.31544196845510536,true,0.10593804521727007,7,,,,0.09868930338109747,true,0.5551910974689822,0,0,true,0.3389684415009192,0.5335688318721759,true,0.19080461100589027,2,3,true,0.06402560688087386,0.17812671059338864,true,0.18354805503180063,3,4,true,-0.08884929324577531,0.15630832020404306,true,0.11542445474113187,5,,,,0.10722707195257308", + 384: "384,8,5,5,0.14315781985754647,20,0.1,0.23228958011318618,true,0.14315781985754647,4,1,true,0.399905521598223,0.16883259003161413,true,0.10601706297852652,6,,,,0.11864431469199249,true,0.31544196845510536,1,0,true,0.6796492157201833,0.3518626931816132,true,0.09868930338109747,7,,,,0.11204933105430634,true,0.5335688318721759,0,2,true,0.266872571356626,0.5068992058206209,true,0.17812671059338864,2,3,true,0.23687286200467322,0.1840013257345171,true,0.15630832020404306,3,4,true,0.21395645254723794,0.16207313343836255,true,0.10722707195257308,5,,,,0.1197333227686344", + 385: "385,8,5,5,0.16207313343836255,20,0.1,-0.060200388384347596,true,0.16883259003161413,3,4,true,-0.1164818724660551,0.14030114378184722,true,0.11864431469199249,6,,,,0.10075984438435849,true,0.3518626931816132,1,1,true,0.7034344258139399,0.3870198664448459,true,0.11204933105430634,7,,,,0.09482435911044095,true,0.5068992058206209,0,0,true,0.762764170951571,0.532485702333716,true,0.1840013257345171,2,2,true,0.3558367254117263,0.20118486570223804,true,0.16207313343836255,4,3,true,-0.04613001736392072,0.14125281835813425,true,0.1197333227686344,5,,,,0.1017399516533362", + 386: "386,8,5,5,0.14030114378184722,20,0.1,0.1653838248229618,true,0.14030114378184722,4,2,true,0.21401854964440062,0.14767288436810255,true,0.10075984438435849,6,,,,0.10722224242821882,true,0.3870198664448459,1,1,true,0.48791619558707006,0.39710949935906825,true,0.09482435911044095,7,,,,0.10188030568169303,true,0.532485702333716,0,0,true,0.5473927723958331,0.5339764093399276,true,0.20118486570223804,2,4,true,0.11625158319574778,0.192691537451589,true,0.14125281835813425,3,3,true,0.1776668852297653,0.14489422504529736,true,0.1017399516533362,5,,,,0.10810433897029877", + 387: "387,8,5,5,0.14489422504529736,20,0.1,0.18246125664014917,true,0.14767288436810255,3,3,true,0.1865325052708833,0.15155884645838064,true,0.10722224242821882,6,,,,0.11474614384941186,true,0.39710949935906825,1,0,true,0.5898429674629311,0.4163828461694546,true,0.10188030568169303,7,,,,0.10993840077753864,true,0.5339764093399276,0,1,true,0.5755978647815279,0.5381385548840877,true,0.192691537451589,2,4,true,0.1661762621172127,0.1900400099181514,true,0.14489422504529736,4,2,true,0.47827586911842757,0.17823238945261038,true,0.10810433897029877,5,,,,0.1155400307372838", + 388: "388,8,5,5,0.15155884645838064,20,0.1,0.16382096895044282,true,0.15155884645838064,4,3,true,0.20268227452990206,0.15667118926553278,true,0.11474614384941186,6,,,,0.11965362635951496,true,0.4163828461694546,1,2,true,0.29538487020004417,0.4042830485725135,true,0.10993840077753864,7,,,,0.11532665759482906,true,0.5381385548840877,0,0,true,0.4226201995551966,0.5265867193511986,true,0.1900400099181514,2,4,true,0.00837574663260579,0.17187358358959687,true,0.17823238945261038,3,1,true,0.4198854829867792,0.2023976988060273,true,0.1155400307372838,5,,,,0.12036812455859972", + 389: "389,8,5,5,0.15667118926553278,20,0.1,0.06099197892614083,true,0.15667118926553278,4,3,true,0.0732535365914081,0.1483294239981203,true,0.11965362635951496,6,,,,0.11378746161617755,true,0.4042830485725135,1,4,true,0.011945748265071776,0.36504931854176936,true,0.11532665759482906,7,,,,0.10989318972796024,true,0.5265867193511986,0,1,true,0.26092906506294117,0.5000209539223729,true,0.17187358358959687,3,2,true,0.2039221296422714,0.17507843819486432,true,0.2023976988060273,2,0,true,0.4178932284918292,0.2239472517746075,true,0.12036812455859972,5,,,,0.11443050999535383", + 390: "390,8,5,5,0.1483294239981203,20,0.1,0.01618372889058651,true,0.1483294239981203,4,3,true,0.030574780870107926,0.13655395968531905,true,0.11378746161617755,6,,,,0.10402708834361844,true,0.36504931854176936,1,1,true,0.36380616376625347,0.3649250030642178,true,0.10989318972796024,7,,,,0.10052224364422287,true,0.5000209539223729,0,0,true,0.806937647870769,0.5307126233172126,true,0.17507843819486432,3,2,true,0.27191008424540375,0.18476160279991827,true,0.2239472517746075,2,4,true,-0.04138047902749917,0.19741447869439685,true,0.11443050999535383,5,,,,0.1046058318848771", + 391: "391,8,5,5,0.13655395968531905,20,0.1,0.126426253073959,true,0.13655395968531905,4,4,true,-0.1376822882190953,0.10913033489487761,true,0.10402708834361844,6,,,,0.10626700481665251,true,0.3649250030642178,1,3,true,0.19245338839722254,0.3476778415975183,true,0.10052224364422287,7,,,,0.10311264458719649,true,0.5307126233172126,0,1,true,0.32070066866863467,0.5097114278523548,true,0.18476160279991827,3,2,true,0.30351522977984235,0.19663696549791068,true,0.19741447869439685,2,0,true,0.6133437223150044,0.23900740305645762,true,0.1046058318848771,5,,,,0.1067878740037853", + 392: "392,8,5,5,0.10913033489487761,20,0.1,0.011349402067768764,true,0.10913033489487761,4,3,true,0.036782310526963916,0.10189553245808625,true,0.10626700481665251,6,,,,0.09677524454176413,true,0.3476778415975183,1,1,true,0.28245674421377215,0.34115573185914366,true,0.10311264458719649,7,,,,0.09393632033525372,true,0.5097114278523548,0,0,true,0.47782121871228767,0.506522406938348,true,0.19663696549791068,3,2,true,0.2691898234896351,0.20389225129708313,true,0.23900740305645762,2,4,true,-0.09038223176901186,0.2060684395739107,true,0.1067878740037853,5,,,,0.09724402681018364", + 393: "393,8,5,5,0.10189553245808625,20,0.1,-0.08471812831896004,true,0.10189553245808625,4,4,true,-0.20582379396690367,0.07112359981558725,true,0.09677524454176413,6,,,,0.07862590725569171,true,0.34115573185914366,1,0,true,0.8087858602948734,0.38791874470271664,true,0.09393632033525372,7,,,,0.07607087546983234,true,0.506522406938348,0,1,true,0.7254621145755304,0.5284163777020663,true,0.20389225129708313,3,3,true,-0.05444171190697414,0.1780588549766774,true,0.2060684395739107,2,2,true,0.009782507922990041,0.1864398464088186,true,0.09724402681018364,5,,,,0.07904781129726927", + 394: "394,8,5,5,0.07904781129726927,20,0.1,0.04117889221158516,true,0.07112359981558725,7,,,,0.06812912905518705,true,0.07862590725569171,5,,,,0.07488120575128107,true,0.38791874470271664,1,4,true,-0.0238557520285666,0.34674129502958834,true,0.07607087546983234,6,,,,0.07258167714400762,true,0.5284163777020663,0,0,true,0.7378198226704431,0.549356722198904,true,0.1780588549766774,3,1,true,0.5350536630181723,0.2137583357808269,true,0.1864398464088186,2,3,true,0.0574375532716231,0.17353961709509907,true,0.07904781129726927,4,2,true,0.3407090744835244,0.10521393761589479", + 395: "395,8,5,5,0.10521393761589479,20,0.1,-0.015863097236965946,true,0.06812912905518705,7,,,,0.05972990642597174,true,0.07488120575128107,5,,,,0.06580677545245638,true,0.34674129502958834,1,2,true,0.05116641890338741,0.3171838074169682,true,0.07258167714400762,6,,,,0.06373719970591027,true,0.549356722198904,0,0,true,0.8065191259463069,0.5750729625736443,true,0.2137583357808269,2,3,true,-0.014907027620294333,0.1908917994407148,true,0.17353961709509907,3,4,true,-0.019687375703652393,0.15421691781522395,true,0.10521393761589479,4,1,true,0.2693499667126922,0.12162754052557453", + 396: "396,8,5,5,0.12162754052557453,20,0.1,0.25342996186643657,true,0.05972990642597174,7,,,,0.07909991197001823,true,0.06580677545245638,5,,,,0.08456909409385441,true,0.3171838074169682,1,0,true,0.6689331960673114,0.3523587462820026,true,0.06373719970591027,6,,,,0.0827064759219629,true,0.5750729625736443,0,3,true,0.28986819330126873,0.5465524856464068,true,0.1908917994407148,2,2,true,0.43028523175754296,0.2148311426723976,true,0.15421691781522395,3,4,true,0.10767703612710798,0.14956292964641235,true,0.12162754052557453,4,1,true,0.44591367098283663,0.15405615357130076", + 397: "397,8,5,5,0.14956292964641235,20,0.1,0.03409475232310376,true,0.07909991197001823,7,,,,0.07459939600532678,true,0.08456909409385441,5,,,,0.07952165991677934,true,0.3523587462820026,1,0,true,0.4391500402026953,0.36103787567407186,true,0.0827064759219629,6,,,,0.07784530356207699,true,0.5465524856464068,0,2,true,0.14691860933238288,0.5065890980150044,true,0.2148311426723976,2,4,true,-0.1635787777223531,0.17699015063292256,true,0.14956292964641235,4,3,true,0.08351313483446796,0.1429579501652179,true,0.15405615357130076,3,1,true,0.18614239863499968,0.15726477807767067", + 398: "398,8,5,5,0.1429579501652179,20,0.1,0.2512012736036656,true,0.07459939600532678,7,,,,0.09225958376516066,true,0.07952165991677934,5,,,,0.09668962128546797,true,0.36103787567407186,1,3,true,0.26266732074771715,0.3512008201814364,true,0.07784530356207699,6,,,,0.09518090056623585,true,0.5065890980150044,0,0,true,0.6305809366259272,0.5189882818760967,true,0.17699015063292256,2,2,true,0.320799516630486,0.19137108723267893,true,0.1429579501652179,4,4,true,0.20533708502745948,0.14919586365144205,true,0.15726477807767067,3,1,true,0.39288962475253114,0.18082726274515673", + 399: "399,8,5,5,0.14919586365144205,20,0.1,0.2204127355889608,true,0.09225958376516066,7,,,,0.10507489894754068,true,0.09668962128546797,5,,,,0.10906193271581725,true,0.3512008201814364,1,1,true,0.4246860676467026,0.358549344927963,true,0.09518090056623585,6,,,,0.10770408406850834,true,0.5189882818760967,0,0,true,0.6071424328304225,0.5278036969715293,true,0.19137108723267893,2,2,true,0.3153506021558414,0.2037690387249952,true,0.14919586365144205,4,3,true,0.24153305474064352,0.1584295827603622,true,0.18082726274515673,3,4,true,0.13593145898222994,0.17633768236886405", + 400: "400,8,5,5,0.1584295827603622,20,0.1,0.12289460679596906,true,0.10507489894754068,7,,,,0.10685686973238352,true,0.10906193271581725,5,,,,0.11044520012383244,true,0.358549344927963,1,1,true,0.4232790444194137,0.365022314877108,true,0.10770408406850834,6,,,,0.10922313634125443,true,0.5278036969715293,0,0,true,0.5351434581777635,0.5285376730921527,true,0.2037690387249952,2,2,true,0.2365383104204157,0.20704596589453725,true,0.1584295827603622,4,3,true,0.18535548931591248,0.16112217341591722,true,0.17633768236886405,3,4,true,-0.12694892328380467,0.14600902180359718", + } + // skip epoch column, change true values to be alloraMath.OneDec() + // and empty values to be alloraMath.ZeroDec() + filteredSimulatorEpochs := map[int]string{} + for epochNumber, epoch := range simulatorEpochs { + outputted := "" + splitted := strings.Split(epoch, ",")[1:] // remove epoch header + stop := len(splitted) - 1 + for i, value := range splitted { + if value == "" { // empty string represent as alloraMath.ZeroDec() + outputted += "0" + } else if value == "true" { // true string represent as alloraMath.OneDec() + outputted += "1" + } else { // you have a real value, just use that + outputted += value + } + if i != stop { // add comma if not last value + outputted += "," + } + } + filteredSimulatorEpochs[epochNumber] = outputted + } + filteredSimulatorHeaders := strings.Join(strings.Split(simulatorHeaders, ",")[1:], ",") + gettersMap := map[int](func(header string) alloraMath.Dec){} + for epochNumber, epoch := range filteredSimulatorEpochs { + gettersMap[epochNumber] = GetSimulatedValuesGetterForEpoch(epoch, filteredSimulatorHeaders) + } + return gettersMap +} diff --git a/x/emissions/api/v3/genesis.pulsar.go b/x/emissions/api/v3/genesis.pulsar.go index fb3995775..420c5691c 100644 --- a/x/emissions/api/v3/genesis.pulsar.go +++ b/x/emissions/api/v3/genesis.pulsar.go @@ -2805,6 +2805,159 @@ func (x *_GenesisState_59_list) IsValid() bool { return x.list != nil } +var _ protoreflect.List = (*_GenesisState_63_list)(nil) + +type _GenesisState_63_list struct { + list *[]*TopicIdAndDec +} + +func (x *_GenesisState_63_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_63_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_63_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*TopicIdAndDec) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_63_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*TopicIdAndDec) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_63_list) AppendMutable() protoreflect.Value { + v := new(TopicIdAndDec) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_63_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_63_list) NewElement() protoreflect.Value { + v := new(TopicIdAndDec) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_63_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_GenesisState_64_list)(nil) + +type _GenesisState_64_list struct { + list *[]*TopicIdAndDec +} + +func (x *_GenesisState_64_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_64_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_64_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*TopicIdAndDec) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_64_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*TopicIdAndDec) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_64_list) AppendMutable() protoreflect.Value { + v := new(TopicIdAndDec) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_64_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_64_list) NewElement() protoreflect.Value { + v := new(TopicIdAndDec) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_64_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_GenesisState_65_list)(nil) + +type _GenesisState_65_list struct { + list *[]*TopicIdAndDec +} + +func (x *_GenesisState_65_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_65_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_65_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*TopicIdAndDec) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_65_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*TopicIdAndDec) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_65_list) AppendMutable() protoreflect.Value { + v := new(TopicIdAndDec) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_65_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_65_list) NewElement() protoreflect.Value { + v := new(TopicIdAndDec) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_65_list) IsValid() bool { + return x.list != nil +} + var ( md_GenesisState protoreflect.MessageDescriptor fd_GenesisState_params protoreflect.FieldDescriptor @@ -2866,6 +3019,9 @@ var ( fd_GenesisState_topicToNextPossibleChurningBlock protoreflect.FieldDescriptor fd_GenesisState_blockToActiveTopics protoreflect.FieldDescriptor fd_GenesisState_blockToLowestActiveTopicWeight protoreflect.FieldDescriptor + fd_GenesisState_previousTopicQuantileInfererScoreEma protoreflect.FieldDescriptor + fd_GenesisState_previousTopicQuantileForecasterScoreEma protoreflect.FieldDescriptor + fd_GenesisState_previousTopicQuantileReputerScoreEma protoreflect.FieldDescriptor ) func init() { @@ -2930,6 +3086,9 @@ func init() { fd_GenesisState_topicToNextPossibleChurningBlock = md_GenesisState.Fields().ByName("topicToNextPossibleChurningBlock") fd_GenesisState_blockToActiveTopics = md_GenesisState.Fields().ByName("blockToActiveTopics") fd_GenesisState_blockToLowestActiveTopicWeight = md_GenesisState.Fields().ByName("blockToLowestActiveTopicWeight") + fd_GenesisState_previousTopicQuantileInfererScoreEma = md_GenesisState.Fields().ByName("previousTopicQuantileInfererScoreEma") + fd_GenesisState_previousTopicQuantileForecasterScoreEma = md_GenesisState.Fields().ByName("previousTopicQuantileForecasterScoreEma") + fd_GenesisState_previousTopicQuantileReputerScoreEma = md_GenesisState.Fields().ByName("previousTopicQuantileReputerScoreEma") } var _ protoreflect.Message = (*fastReflection_GenesisState)(nil) @@ -3351,6 +3510,24 @@ func (x *fastReflection_GenesisState) Range(f func(protoreflect.FieldDescriptor, return } } + if len(x.PreviousTopicQuantileInfererScoreEma) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_63_list{list: &x.PreviousTopicQuantileInfererScoreEma}) + if !f(fd_GenesisState_previousTopicQuantileInfererScoreEma, value) { + return + } + } + if len(x.PreviousTopicQuantileForecasterScoreEma) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_64_list{list: &x.PreviousTopicQuantileForecasterScoreEma}) + if !f(fd_GenesisState_previousTopicQuantileForecasterScoreEma, value) { + return + } + } + if len(x.PreviousTopicQuantileReputerScoreEma) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_65_list{list: &x.PreviousTopicQuantileReputerScoreEma}) + if !f(fd_GenesisState_previousTopicQuantileReputerScoreEma, value) { + return + } + } } // Has reports whether a field is populated. @@ -3484,6 +3661,12 @@ func (x *fastReflection_GenesisState) Has(fd protoreflect.FieldDescriptor) bool return len(x.BlockToActiveTopics) != 0 case "emissions.v3.GenesisState.blockToLowestActiveTopicWeight": return len(x.BlockToLowestActiveTopicWeight) != 0 + case "emissions.v3.GenesisState.previousTopicQuantileInfererScoreEma": + return len(x.PreviousTopicQuantileInfererScoreEma) != 0 + case "emissions.v3.GenesisState.previousTopicQuantileForecasterScoreEma": + return len(x.PreviousTopicQuantileForecasterScoreEma) != 0 + case "emissions.v3.GenesisState.previousTopicQuantileReputerScoreEma": + return len(x.PreviousTopicQuantileReputerScoreEma) != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.GenesisState")) @@ -3618,6 +3801,12 @@ func (x *fastReflection_GenesisState) Clear(fd protoreflect.FieldDescriptor) { x.BlockToActiveTopics = nil case "emissions.v3.GenesisState.blockToLowestActiveTopicWeight": x.BlockToLowestActiveTopicWeight = nil + case "emissions.v3.GenesisState.previousTopicQuantileInfererScoreEma": + x.PreviousTopicQuantileInfererScoreEma = nil + case "emissions.v3.GenesisState.previousTopicQuantileForecasterScoreEma": + x.PreviousTopicQuantileForecasterScoreEma = nil + case "emissions.v3.GenesisState.previousTopicQuantileReputerScoreEma": + x.PreviousTopicQuantileReputerScoreEma = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.GenesisState")) @@ -3976,6 +4165,24 @@ func (x *fastReflection_GenesisState) Get(descriptor protoreflect.FieldDescripto } listValue := &_GenesisState_59_list{list: &x.BlockToLowestActiveTopicWeight} return protoreflect.ValueOfList(listValue) + case "emissions.v3.GenesisState.previousTopicQuantileInfererScoreEma": + if len(x.PreviousTopicQuantileInfererScoreEma) == 0 { + return protoreflect.ValueOfList(&_GenesisState_63_list{}) + } + listValue := &_GenesisState_63_list{list: &x.PreviousTopicQuantileInfererScoreEma} + return protoreflect.ValueOfList(listValue) + case "emissions.v3.GenesisState.previousTopicQuantileForecasterScoreEma": + if len(x.PreviousTopicQuantileForecasterScoreEma) == 0 { + return protoreflect.ValueOfList(&_GenesisState_64_list{}) + } + listValue := &_GenesisState_64_list{list: &x.PreviousTopicQuantileForecasterScoreEma} + return protoreflect.ValueOfList(listValue) + case "emissions.v3.GenesisState.previousTopicQuantileReputerScoreEma": + if len(x.PreviousTopicQuantileReputerScoreEma) == 0 { + return protoreflect.ValueOfList(&_GenesisState_65_list{}) + } + listValue := &_GenesisState_65_list{list: &x.PreviousTopicQuantileReputerScoreEma} + return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.GenesisState")) @@ -4224,6 +4431,18 @@ func (x *fastReflection_GenesisState) Set(fd protoreflect.FieldDescriptor, value lv := value.List() clv := lv.(*_GenesisState_59_list) x.BlockToLowestActiveTopicWeight = *clv.list + case "emissions.v3.GenesisState.previousTopicQuantileInfererScoreEma": + lv := value.List() + clv := lv.(*_GenesisState_63_list) + x.PreviousTopicQuantileInfererScoreEma = *clv.list + case "emissions.v3.GenesisState.previousTopicQuantileForecasterScoreEma": + lv := value.List() + clv := lv.(*_GenesisState_64_list) + x.PreviousTopicQuantileForecasterScoreEma = *clv.list + case "emissions.v3.GenesisState.previousTopicQuantileReputerScoreEma": + lv := value.List() + clv := lv.(*_GenesisState_65_list) + x.PreviousTopicQuantileReputerScoreEma = *clv.list default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.GenesisState")) @@ -4579,6 +4798,24 @@ func (x *fastReflection_GenesisState) Mutable(fd protoreflect.FieldDescriptor) p } value := &_GenesisState_59_list{list: &x.BlockToLowestActiveTopicWeight} return protoreflect.ValueOfList(value) + case "emissions.v3.GenesisState.previousTopicQuantileInfererScoreEma": + if x.PreviousTopicQuantileInfererScoreEma == nil { + x.PreviousTopicQuantileInfererScoreEma = []*TopicIdAndDec{} + } + value := &_GenesisState_63_list{list: &x.PreviousTopicQuantileInfererScoreEma} + return protoreflect.ValueOfList(value) + case "emissions.v3.GenesisState.previousTopicQuantileForecasterScoreEma": + if x.PreviousTopicQuantileForecasterScoreEma == nil { + x.PreviousTopicQuantileForecasterScoreEma = []*TopicIdAndDec{} + } + value := &_GenesisState_64_list{list: &x.PreviousTopicQuantileForecasterScoreEma} + return protoreflect.ValueOfList(value) + case "emissions.v3.GenesisState.previousTopicQuantileReputerScoreEma": + if x.PreviousTopicQuantileReputerScoreEma == nil { + x.PreviousTopicQuantileReputerScoreEma = []*TopicIdAndDec{} + } + value := &_GenesisState_65_list{list: &x.PreviousTopicQuantileReputerScoreEma} + return protoreflect.ValueOfList(value) case "emissions.v3.GenesisState.nextTopicId": panic(fmt.Errorf("field nextTopicId of message emissions.v3.GenesisState is not mutable")) case "emissions.v3.GenesisState.totalStake": @@ -4772,6 +5009,15 @@ func (x *fastReflection_GenesisState) NewField(fd protoreflect.FieldDescriptor) case "emissions.v3.GenesisState.blockToLowestActiveTopicWeight": list := []*BlockHeightTopicIdWeightPair{} return protoreflect.ValueOfList(&_GenesisState_59_list{list: &list}) + case "emissions.v3.GenesisState.previousTopicQuantileInfererScoreEma": + list := []*TopicIdAndDec{} + return protoreflect.ValueOfList(&_GenesisState_63_list{list: &list}) + case "emissions.v3.GenesisState.previousTopicQuantileForecasterScoreEma": + list := []*TopicIdAndDec{} + return protoreflect.ValueOfList(&_GenesisState_64_list{list: &list}) + case "emissions.v3.GenesisState.previousTopicQuantileReputerScoreEma": + list := []*TopicIdAndDec{} + return protoreflect.ValueOfList(&_GenesisState_65_list{list: &list}) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.GenesisState")) @@ -5188,6 +5434,24 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { n += 2 + l + runtime.Sov(uint64(l)) } } + if len(x.PreviousTopicQuantileInfererScoreEma) > 0 { + for _, e := range x.PreviousTopicQuantileInfererScoreEma { + l = options.Size(e) + n += 2 + l + runtime.Sov(uint64(l)) + } + } + if len(x.PreviousTopicQuantileForecasterScoreEma) > 0 { + for _, e := range x.PreviousTopicQuantileForecasterScoreEma { + l = options.Size(e) + n += 2 + l + runtime.Sov(uint64(l)) + } + } + if len(x.PreviousTopicQuantileReputerScoreEma) > 0 { + for _, e := range x.PreviousTopicQuantileReputerScoreEma { + l = options.Size(e) + n += 2 + l + runtime.Sov(uint64(l)) + } + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -5217,6 +5481,60 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.PreviousTopicQuantileReputerScoreEma) > 0 { + for iNdEx := len(x.PreviousTopicQuantileReputerScoreEma) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.PreviousTopicQuantileReputerScoreEma[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x4 + i-- + dAtA[i] = 0x8a + } + } + if len(x.PreviousTopicQuantileForecasterScoreEma) > 0 { + for iNdEx := len(x.PreviousTopicQuantileForecasterScoreEma) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.PreviousTopicQuantileForecasterScoreEma[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x4 + i-- + dAtA[i] = 0x82 + } + } + if len(x.PreviousTopicQuantileInfererScoreEma) > 0 { + for iNdEx := len(x.PreviousTopicQuantileInfererScoreEma) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.PreviousTopicQuantileInfererScoreEma[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xfa + } + } if len(x.ReputerScoreEmas) > 0 { for iNdEx := len(x.ReputerScoreEmas) - 1; iNdEx >= 0; iNdEx-- { encoded, err := options.Marshal(x.ReputerScoreEmas[iNdEx]) @@ -8345,6 +8663,108 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex + case 63: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PreviousTopicQuantileInfererScoreEma", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.PreviousTopicQuantileInfererScoreEma = append(x.PreviousTopicQuantileInfererScoreEma, &TopicIdAndDec{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.PreviousTopicQuantileInfererScoreEma[len(x.PreviousTopicQuantileInfererScoreEma)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 64: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PreviousTopicQuantileForecasterScoreEma", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.PreviousTopicQuantileForecasterScoreEma = append(x.PreviousTopicQuantileForecasterScoreEma, &TopicIdAndDec{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.PreviousTopicQuantileForecasterScoreEma[len(x.PreviousTopicQuantileForecasterScoreEma)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 65: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PreviousTopicQuantileReputerScoreEma", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.PreviousTopicQuantileReputerScoreEma = append(x.PreviousTopicQuantileReputerScoreEma, &TopicIdAndDec{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.PreviousTopicQuantileReputerScoreEma[len(x.PreviousTopicQuantileReputerScoreEma)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -24400,6 +24820,10 @@ type GenesisState struct { TopicToNextPossibleChurningBlock []*TopicIdAndBlockHeight `protobuf:"bytes,57,rep,name=topicToNextPossibleChurningBlock,proto3" json:"topicToNextPossibleChurningBlock,omitempty"` BlockToActiveTopics []*BlockHeightTopicIds `protobuf:"bytes,58,rep,name=blockToActiveTopics,proto3" json:"blockToActiveTopics,omitempty"` BlockToLowestActiveTopicWeight []*BlockHeightTopicIdWeightPair `protobuf:"bytes,59,rep,name=blockToLowestActiveTopicWeight,proto3" json:"blockToLowestActiveTopicWeight,omitempty"` + // EMA + PreviousTopicQuantileInfererScoreEma []*TopicIdAndDec `protobuf:"bytes,63,rep,name=previousTopicQuantileInfererScoreEma,proto3" json:"previousTopicQuantileInfererScoreEma,omitempty"` + PreviousTopicQuantileForecasterScoreEma []*TopicIdAndDec `protobuf:"bytes,64,rep,name=previousTopicQuantileForecasterScoreEma,proto3" json:"previousTopicQuantileForecasterScoreEma,omitempty"` + PreviousTopicQuantileReputerScoreEma []*TopicIdAndDec `protobuf:"bytes,65,rep,name=previousTopicQuantileReputerScoreEma,proto3" json:"previousTopicQuantileReputerScoreEma,omitempty"` } func (x *GenesisState) Reset() { @@ -24835,6 +25259,27 @@ func (x *GenesisState) GetBlockToLowestActiveTopicWeight() []*BlockHeightTopicId return nil } +func (x *GenesisState) GetPreviousTopicQuantileInfererScoreEma() []*TopicIdAndDec { + if x != nil { + return x.PreviousTopicQuantileInfererScoreEma + } + return nil +} + +func (x *GenesisState) GetPreviousTopicQuantileForecasterScoreEma() []*TopicIdAndDec { + if x != nil { + return x.PreviousTopicQuantileForecasterScoreEma + } + return nil +} + +func (x *GenesisState) GetPreviousTopicQuantileReputerScoreEma() []*TopicIdAndDec { + if x != nil { + return x.PreviousTopicQuantileReputerScoreEma + } + return nil +} + type TopicIdAndTopic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -26341,7 +26786,7 @@ var file_emissions_v3_genesis_proto_rawDesc = []byte{ 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf2, 0x2b, 0x0a, 0x0c, + 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x2e, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x72, 0x61, @@ -26686,292 +27131,314 @@ var file_emissions_v3_genesis_proto_rawDesc = []byte{ 0x68, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x50, 0x61, 0x69, 0x72, 0x52, 0x1e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x6f, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x4a, 0x04, 0x08, 0x0d, 0x10, 0x0e, 0x4a, 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x4a, - 0x04, 0x08, 0x0f, 0x10, 0x10, 0x52, 0x1b, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, - 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, - 0x65, 0x72, 0x52, 0x1e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, - 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, - 0x65, 0x72, 0x52, 0x1c, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x42, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x22, 0x56, 0x0a, 0x0f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x6e, 0x64, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x29, 0x0a, - 0x05, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x52, 0x05, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x45, 0x0a, 0x0f, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x41, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x54, + 0x67, 0x68, 0x74, 0x12, 0x6f, 0x0a, 0x24, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x65, + 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x18, 0x3f, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, + 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x6e, 0x64, 0x44, 0x65, 0x63, 0x52, 0x24, + 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x45, 0x6d, 0x61, 0x12, 0x75, 0x0a, 0x27, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, + 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x18, + 0x40, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x6e, 0x64, 0x44, + 0x65, 0x63, 0x52, 0x27, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x12, 0x6f, 0x0a, 0x24, 0x70, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x45, 0x6d, 0x61, 0x18, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, + 0x41, 0x6e, 0x64, 0x44, 0x65, 0x63, 0x52, 0x24, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, + 0x75, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x4a, 0x04, 0x08, 0x0d, + 0x10, 0x0e, 0x4a, 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x4a, 0x04, 0x08, 0x0f, 0x10, 0x10, 0x52, 0x1b, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x73, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x1e, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x73, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x1c, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, + 0x42, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x22, 0x56, 0x0a, 0x0f, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x49, 0x64, 0x41, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x05, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x22, 0x45, 0x0a, 0x0f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x41, 0x6e, 0x64, 0x41, 0x63, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x15, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x49, 0x64, 0x41, 0x6e, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x56, 0x0a, + 0x16, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x41, 0x6e, 0x64, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x49, 0x64, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x18, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, + 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2c, + 0x0a, 0x06, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x73, 0x52, 0x06, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x74, 0x0a, 0x13, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x05, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x22, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, + 0x74, 0x6f, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, + 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x56, 0x0a, + 0x14, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, + 0x63, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x52, + 0x14, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, + 0x63, 0x69, 0x65, 0x6e, 0x74, 0x22, 0x92, 0x01, 0x0a, 0x11, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, + 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x44, 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, - 0x53, 0x0a, 0x15, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x6e, 0x64, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x22, 0x56, 0x0a, 0x16, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x41, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x73, 0x12, 0x20, - 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x04, 0x52, 0x08, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x73, 0x22, 0x84, 0x01, 0x0a, - 0x18, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x06, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x73, 0x22, 0x74, 0x0a, 0x13, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x29, - 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x22, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, + 0x49, 0x0a, 0x03, 0x44, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, + 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, + 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, + 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x03, 0x44, 0x65, 0x63, 0x22, 0x6d, 0x0a, 0x0d, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x03, 0x49, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, + 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, + 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x03, 0x49, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x49, 0x6e, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x03, 0x49, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, + 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, + 0x2a, 0x01, 0x52, 0x03, 0x49, 0x6e, 0x74, 0x22, 0xbb, 0x01, 0x0a, 0x24, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x49, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x74, - 0x6f, 0x72, 0x49, 0x64, 0x12, 0x56, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, - 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x22, 0x92, 0x01, 0x0a, - 0x11, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x44, - 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, - 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x03, 0x44, 0x65, 0x63, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x03, 0x44, 0x65, - 0x63, 0x22, 0x6d, 0x0a, 0x0d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x6e, 0x64, 0x49, - 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x03, - 0x49, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, - 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, - 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x03, 0x49, 0x6e, 0x74, - 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x49, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x03, 0x49, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, - 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, - 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x03, 0x49, 0x6e, 0x74, 0x22, 0xbb, - 0x01, 0x0a, 0x24, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x18, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0d, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xcd, 0x01, 0x0a, - 0x29, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x49, 0x64, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x12, 0x4a, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x53, 0x74, 0x61, 0x6b, - 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x71, 0x0a, 0x19, - 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x74, - 0x6f, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, - 0x94, 0x02, 0x0a, 0x3a, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, - 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, - 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x44, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x75, - 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x12, 0x62, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, - 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, - 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x18, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x98, 0x01, 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x49, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, - 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, - 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, - 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x22, 0x84, 0x01, 0x0a, 0x17, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, - 0x6f, 0x72, 0x49, 0x64, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, - 0x64, 0x12, 0x35, 0x0a, 0x09, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x49, - 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x16, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x63, - 0x61, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x08, 0x46, 0x6f, 0x72, 0x65, 0x63, - 0x61, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, - 0x74, 0x52, 0x08, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x22, 0x78, 0x0a, 0x18, 0x4c, - 0x69, 0x62, 0x50, 0x32, 0x70, 0x4b, 0x65, 0x79, 0x41, 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x69, 0x62, 0x50, 0x32, - 0x70, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x69, 0x62, 0x50, - 0x32, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x0c, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x66, 0x66, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x22, 0x74, 0x0a, 0x0d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, - 0x41, 0x6e, 0x64, 0x44, 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, + 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xcd, 0x01, 0x0a, 0x29, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x10, 0x53, 0x74, 0x61, + 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x71, 0x0a, 0x19, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x94, 0x02, 0x0a, 0x3a, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x18, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, + 0x98, 0x01, 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x70, + 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x17, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x49, 0x6e, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, - 0x12, 0x49, 0x0a, 0x03, 0x44, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, - 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, - 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x03, 0x44, 0x65, 0x63, 0x22, 0x94, 0x01, 0x0a, 0x1c, + 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x09, 0x49, 0x6e, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x22, 0x80, 0x01, 0x0a, 0x16, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, + 0x12, 0x32, 0x0a, 0x08, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x52, 0x08, 0x46, 0x6f, 0x72, 0x65, + 0x63, 0x61, 0x73, 0x74, 0x22, 0x78, 0x0a, 0x18, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x70, 0x4b, 0x65, + 0x79, 0x41, 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x70, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x3e, + 0x0a, 0x0c, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0c, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x22, 0x74, + 0x0a, 0x0d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x6e, 0x64, 0x44, 0x65, 0x63, 0x12, + 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x03, 0x44, 0x65, 0x63, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, + 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, + 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, + 0x03, 0x44, 0x65, 0x63, 0x22, 0x94, 0x01, 0x0a, 0x1c, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, + 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x0a, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x1b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, + 0x68, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x46, 0x6f, 0x72, 0x65, 0x63, + 0x61, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, + 0x73, 0x74, 0x73, 0x52, 0x09, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x73, 0x22, 0xb8, + 0x01, 0x0a, 0x25, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x12, 0x53, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, + 0x2e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x73, 0x52, 0x13, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x1e, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x49, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x0a, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x1b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, - 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x35, - 0x0a, 0x09, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, - 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x73, 0x52, 0x09, 0x46, 0x6f, 0x72, 0x65, - 0x63, 0x61, 0x73, 0x74, 0x73, 0x22, 0xb8, 0x01, 0x0a, 0x25, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, - 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x70, 0x75, - 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x53, 0x0a, 0x13, 0x52, - 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x52, 0x13, 0x52, 0x65, 0x70, - 0x75, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, - 0x22, 0x99, 0x01, 0x0a, 0x1e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, - 0x3b, 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, - 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0x5a, 0x0a, 0x10, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x6e, 0x64, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x4e, 0x6f, - 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, - 0x52, 0x06, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x1e, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x56, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x33, 0x2e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x14, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xa0, 0x01, - 0x0a, 0x1e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x74, - 0x6f, 0x72, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x10, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0xc5, 0x01, 0x0a, 0x25, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, - 0x61, 0x6d, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x31, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x31, - 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x32, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x32, 0x12, 0x4a, 0x0a, 0x10, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, - 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x1c, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x41, - 0x63, 0x74, 0x6f, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, + 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0x5a, 0x0a, 0x10, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, + 0x41, 0x6e, 0x64, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x06, 0x4e, 0x6f, 0x6e, 0x63, 0x65, + 0x73, 0x22, 0x92, 0x01, 0x0a, 0x1e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x6e, 0x64, + 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x6f, + 0x6e, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x56, + 0x0a, 0x14, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, + 0x52, 0x14, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xa0, 0x01, 0x0a, 0x1e, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x49, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, + 0x6d, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x49, 0x64, 0x12, 0x59, 0x0a, 0x15, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x65, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x41, 0x63, 0x74, - 0x6f, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x15, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x65, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x6b, - 0x0a, 0x13, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, + 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x4a, 0x0a, + 0x10, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc5, 0x01, 0x0a, 0x25, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x41, 0x63, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x31, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x63, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x41, 0x63, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x32, 0x12, 0x4a, 0x0a, 0x10, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x10, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x93, 0x01, 0x0a, 0x1c, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x4e, 0x6f, 0x6e, + 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x59, 0x0a, 0x15, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, + 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, + 0x52, 0x15, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x41, 0x63, 0x74, + 0x6f, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x6b, 0x0a, 0x13, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x73, 0x12, 0x20, + 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x12, 0x32, 0x0a, 0x08, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x33, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x73, 0x52, 0x08, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x49, 0x64, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x1c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x57, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x50, 0x61, 0x69, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x32, 0x0a, 0x08, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, - 0x73, 0x52, 0x08, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x1c, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x49, 0x64, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x50, 0x61, 0x69, 0x72, 0x12, 0x20, 0x0a, 0x0b, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x41, - 0x0a, 0x0b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x42, 0xc2, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, - 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x76, 0x33, 0xa2, 0x02, 0x03, 0x45, 0x58, 0x58, 0xaa, 0x02, 0x0c, - 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x0c, 0x45, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x18, 0x45, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0d, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x41, 0x0a, 0x0b, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x49, 0x64, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0xc2, 0x01, 0x0a, 0x10, 0x63, + 0x6f, 0x6d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x42, + 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, + 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, + 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x76, 0x33, + 0xa2, 0x02, 0x03, 0x45, 0x58, 0x58, 0xaa, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x18, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x0d, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x33, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -27095,32 +27562,35 @@ var file_emissions_v3_genesis_proto_depIdxs = []int32{ 3, // 50: emissions.v3.GenesisState.topicToNextPossibleChurningBlock:type_name -> emissions.v3.TopicIdAndBlockHeight 29, // 51: emissions.v3.GenesisState.blockToActiveTopics:type_name -> emissions.v3.BlockHeightTopicIds 30, // 52: emissions.v3.GenesisState.blockToLowestActiveTopicWeight:type_name -> emissions.v3.BlockHeightTopicIdWeightPair - 32, // 53: emissions.v3.TopicIdAndTopic.Topic:type_name -> emissions.v3.Topic - 33, // 54: emissions.v3.TopicIdBlockHeightScores.Scores:type_name -> emissions.v3.Scores - 34, // 55: emissions.v3.TopicIdActorIdScore.Score:type_name -> emissions.v3.Score - 35, // 56: emissions.v3.TopicIdActorIdListeningCoefficient.ListeningCoefficient:type_name -> emissions.v3.ListeningCoefficient - 36, // 57: emissions.v3.TopicIdDelegatorReputerDelegatorInfo.DelegatorInfo:type_name -> emissions.v3.DelegatorInfo - 37, // 58: emissions.v3.BlockHeightTopicIdReputerStakeRemovalInfo.StakeRemovalInfo:type_name -> emissions.v3.StakeRemovalInfo - 38, // 59: emissions.v3.BlockHeightTopicIdDelegatorReputerDelegateStakeRemovalInfo.DelegateStakeRemovalInfo:type_name -> emissions.v3.DelegateStakeRemovalInfo - 39, // 60: emissions.v3.TopicIdActorIdInference.Inference:type_name -> emissions.v3.Inference - 40, // 61: emissions.v3.TopicIdActorIdForecast.Forecast:type_name -> emissions.v3.Forecast - 41, // 62: emissions.v3.LibP2pKeyAndOffchainNode.OffchainNode:type_name -> emissions.v3.OffchainNode - 42, // 63: emissions.v3.TopicIdBlockHeightInferences.Inferences:type_name -> emissions.v3.Inferences - 43, // 64: emissions.v3.TopicIdBlockHeightForecasts.Forecasts:type_name -> emissions.v3.Forecasts - 44, // 65: emissions.v3.TopicIdBlockHeightReputerValueBundles.ReputerValueBundles:type_name -> emissions.v3.ReputerValueBundles - 45, // 66: emissions.v3.TopicIdBlockHeightValueBundles.ValueBundle:type_name -> emissions.v3.ValueBundle - 46, // 67: emissions.v3.TopicIdAndNonces.Nonces:type_name -> emissions.v3.Nonces - 47, // 68: emissions.v3.TopicIdAndReputerRequestNonces.ReputerRequestNonces:type_name -> emissions.v3.ReputerRequestNonces - 48, // 69: emissions.v3.TopicIdActorIdTimeStampedValue.TimestampedValue:type_name -> emissions.v3.TimestampedValue - 48, // 70: emissions.v3.TopicIdActorIdActorIdTimeStampedValue.TimestampedValue:type_name -> emissions.v3.TimestampedValue - 49, // 71: emissions.v3.TopicIdTimestampedActorNonce.TimestampedActorNonce:type_name -> emissions.v3.TimestampedActorNonce - 50, // 72: emissions.v3.BlockHeightTopicIds.TopicIds:type_name -> emissions.v3.TopicIds - 51, // 73: emissions.v3.BlockHeightTopicIdWeightPair.TopicWeight:type_name -> emissions.v3.TopicIdWeightPair - 74, // [74:74] is the sub-list for method output_type - 74, // [74:74] is the sub-list for method input_type - 74, // [74:74] is the sub-list for extension type_name - 74, // [74:74] is the sub-list for extension extendee - 0, // [0:74] is the sub-list for field type_name + 19, // 53: emissions.v3.GenesisState.previousTopicQuantileInfererScoreEma:type_name -> emissions.v3.TopicIdAndDec + 19, // 54: emissions.v3.GenesisState.previousTopicQuantileForecasterScoreEma:type_name -> emissions.v3.TopicIdAndDec + 19, // 55: emissions.v3.GenesisState.previousTopicQuantileReputerScoreEma:type_name -> emissions.v3.TopicIdAndDec + 32, // 56: emissions.v3.TopicIdAndTopic.Topic:type_name -> emissions.v3.Topic + 33, // 57: emissions.v3.TopicIdBlockHeightScores.Scores:type_name -> emissions.v3.Scores + 34, // 58: emissions.v3.TopicIdActorIdScore.Score:type_name -> emissions.v3.Score + 35, // 59: emissions.v3.TopicIdActorIdListeningCoefficient.ListeningCoefficient:type_name -> emissions.v3.ListeningCoefficient + 36, // 60: emissions.v3.TopicIdDelegatorReputerDelegatorInfo.DelegatorInfo:type_name -> emissions.v3.DelegatorInfo + 37, // 61: emissions.v3.BlockHeightTopicIdReputerStakeRemovalInfo.StakeRemovalInfo:type_name -> emissions.v3.StakeRemovalInfo + 38, // 62: emissions.v3.BlockHeightTopicIdDelegatorReputerDelegateStakeRemovalInfo.DelegateStakeRemovalInfo:type_name -> emissions.v3.DelegateStakeRemovalInfo + 39, // 63: emissions.v3.TopicIdActorIdInference.Inference:type_name -> emissions.v3.Inference + 40, // 64: emissions.v3.TopicIdActorIdForecast.Forecast:type_name -> emissions.v3.Forecast + 41, // 65: emissions.v3.LibP2pKeyAndOffchainNode.OffchainNode:type_name -> emissions.v3.OffchainNode + 42, // 66: emissions.v3.TopicIdBlockHeightInferences.Inferences:type_name -> emissions.v3.Inferences + 43, // 67: emissions.v3.TopicIdBlockHeightForecasts.Forecasts:type_name -> emissions.v3.Forecasts + 44, // 68: emissions.v3.TopicIdBlockHeightReputerValueBundles.ReputerValueBundles:type_name -> emissions.v3.ReputerValueBundles + 45, // 69: emissions.v3.TopicIdBlockHeightValueBundles.ValueBundle:type_name -> emissions.v3.ValueBundle + 46, // 70: emissions.v3.TopicIdAndNonces.Nonces:type_name -> emissions.v3.Nonces + 47, // 71: emissions.v3.TopicIdAndReputerRequestNonces.ReputerRequestNonces:type_name -> emissions.v3.ReputerRequestNonces + 48, // 72: emissions.v3.TopicIdActorIdTimeStampedValue.TimestampedValue:type_name -> emissions.v3.TimestampedValue + 48, // 73: emissions.v3.TopicIdActorIdActorIdTimeStampedValue.TimestampedValue:type_name -> emissions.v3.TimestampedValue + 49, // 74: emissions.v3.TopicIdTimestampedActorNonce.TimestampedActorNonce:type_name -> emissions.v3.TimestampedActorNonce + 50, // 75: emissions.v3.BlockHeightTopicIds.TopicIds:type_name -> emissions.v3.TopicIds + 51, // 76: emissions.v3.BlockHeightTopicIdWeightPair.TopicWeight:type_name -> emissions.v3.TopicIdWeightPair + 77, // [77:77] is the sub-list for method output_type + 77, // [77:77] is the sub-list for method input_type + 77, // [77:77] is the sub-list for extension type_name + 77, // [77:77] is the sub-list for extension extendee + 0, // [0:77] is the sub-list for field type_name } func init() { file_emissions_v3_genesis_proto_init() } diff --git a/x/emissions/api/v3/query.pulsar.go b/x/emissions/api/v3/query.pulsar.go index c5b43ad14..05f575564 100644 --- a/x/emissions/api/v3/query.pulsar.go +++ b/x/emissions/api/v3/query.pulsar.go @@ -54909,27 +54909,25 @@ func (x *fastReflection_QueryInferenceScoresUntilBlockResponse) ProtoMethods() * } var ( - md_QueryWorkerInferenceScoresAtBlockRequest protoreflect.MessageDescriptor - fd_QueryWorkerInferenceScoresAtBlockRequest_topic_id protoreflect.FieldDescriptor - fd_QueryWorkerInferenceScoresAtBlockRequest_block_height protoreflect.FieldDescriptor + md_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest protoreflect.MessageDescriptor + fd_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest_topic_id protoreflect.FieldDescriptor ) func init() { file_emissions_v3_query_proto_init() - md_QueryWorkerInferenceScoresAtBlockRequest = File_emissions_v3_query_proto.Messages().ByName("QueryWorkerInferenceScoresAtBlockRequest") - fd_QueryWorkerInferenceScoresAtBlockRequest_topic_id = md_QueryWorkerInferenceScoresAtBlockRequest.Fields().ByName("topic_id") - fd_QueryWorkerInferenceScoresAtBlockRequest_block_height = md_QueryWorkerInferenceScoresAtBlockRequest.Fields().ByName("block_height") + md_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest = File_emissions_v3_query_proto.Messages().ByName("QueryGetPreviousTopicQuantileForecasterScoreEmaRequest") + fd_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest_topic_id = md_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest.Fields().ByName("topic_id") } -var _ protoreflect.Message = (*fastReflection_QueryWorkerInferenceScoresAtBlockRequest)(nil) +var _ protoreflect.Message = (*fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest)(nil) -type fastReflection_QueryWorkerInferenceScoresAtBlockRequest QueryWorkerInferenceScoresAtBlockRequest +type fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest QueryGetPreviousTopicQuantileForecasterScoreEmaRequest -func (x *QueryWorkerInferenceScoresAtBlockRequest) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryWorkerInferenceScoresAtBlockRequest)(x) +func (x *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest)(x) } -func (x *QueryWorkerInferenceScoresAtBlockRequest) slowProtoReflect() protoreflect.Message { +func (x *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) slowProtoReflect() protoreflect.Message { mi := &file_emissions_v3_query_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -54941,43 +54939,43 @@ func (x *QueryWorkerInferenceScoresAtBlockRequest) slowProtoReflect() protorefle return mi.MessageOf(x) } -var _fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType -var _ protoreflect.MessageType = fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType{} +var _fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest_messageType fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest_messageType{} -type fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType struct{} +type fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest_messageType struct{} -func (x fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryWorkerInferenceScoresAtBlockRequest)(nil) +func (x fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest)(nil) } -func (x fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType) New() protoreflect.Message { - return new(fastReflection_QueryWorkerInferenceScoresAtBlockRequest) +func (x fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) } -func (x fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryWorkerInferenceScoresAtBlockRequest +func (x fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Descriptor() protoreflect.MessageDescriptor { - return md_QueryWorkerInferenceScoresAtBlockRequest +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Type() protoreflect.MessageType { - return _fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) New() protoreflect.Message { - return new(fastReflection_QueryWorkerInferenceScoresAtBlockRequest) +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) New() protoreflect.Message { + return new(fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Interface() protoreflect.ProtoMessage { - return (*QueryWorkerInferenceScoresAtBlockRequest)(x) +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Interface() protoreflect.ProtoMessage { + return (*QueryGetPreviousTopicQuantileForecasterScoreEmaRequest)(x) } // Range iterates over every populated field in an undefined order, @@ -54985,16 +54983,10 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Interface() pr // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.TopicId != uint64(0) { value := protoreflect.ValueOfUint64(x.TopicId) - if !f(fd_QueryWorkerInferenceScoresAtBlockRequest_topic_id, value) { - return - } - } - if x.BlockHeight != int64(0) { - value := protoreflect.ValueOfInt64(x.BlockHeight) - if !f(fd_QueryWorkerInferenceScoresAtBlockRequest_block_height, value) { + if !f(fd_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest_topic_id, value) { return } } @@ -55011,17 +55003,15 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Range(f func(p // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest.topic_id": return x.TopicId != uint64(0) - case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.block_height": - return x.BlockHeight != int64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest does not contain field %s", fd.FullName())) } } @@ -55031,17 +55021,15 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Has(fd protore // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest.topic_id": x.TopicId = uint64(0) - case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.block_height": - x.BlockHeight = int64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest does not contain field %s", fd.FullName())) } } @@ -55051,19 +55039,16 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Clear(fd proto // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest.topic_id": value := x.TopicId return protoreflect.ValueOfUint64(value) - case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.block_height": - value := x.BlockHeight - return protoreflect.ValueOfInt64(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest does not contain field %s", descriptor.FullName())) } } @@ -55077,17 +55062,15 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Get(descriptor // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest.topic_id": x.TopicId = value.Uint() - case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.block_height": - x.BlockHeight = value.Int() default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest does not contain field %s", fd.FullName())) } } @@ -55101,44 +55084,40 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Set(fd protore // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.topic_id": - panic(fmt.Errorf("field topic_id of message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest is not mutable")) - case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.block_height": - panic(fmt.Errorf("field block_height of message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest is not mutable")) + case "emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest.topic_id": + panic(fmt.Errorf("field topic_id of message emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest.topic_id": return protoreflect.ValueOfUint64(uint64(0)) - case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.block_height": - return protoreflect.ValueOfInt64(int64(0)) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryWorkerInferenceScoresAtBlockRequest", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest", d.FullName())) } panic("unreachable") } @@ -55146,7 +55125,7 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) WhichOneof(d p // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -55157,7 +55136,7 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) GetUnknown() p // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -55169,7 +55148,7 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) SetUnknown(fie // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) IsValid() bool { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) IsValid() bool { return x != nil } @@ -55179,9 +55158,9 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) IsValid() bool // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryWorkerInferenceScoresAtBlockRequest) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -55196,9 +55175,6 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) ProtoMethods() if x.TopicId != 0 { n += 1 + runtime.Sov(uint64(x.TopicId)) } - if x.BlockHeight != 0 { - n += 1 + runtime.Sov(uint64(x.BlockHeight)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -55209,7 +55185,7 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) ProtoMethods() } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryWorkerInferenceScoresAtBlockRequest) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -55228,11 +55204,6 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) ProtoMethods() i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.BlockHeight != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.BlockHeight)) - i-- - dAtA[i] = 0x10 - } if x.TopicId != 0 { i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId)) i-- @@ -55249,7 +55220,7 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) ProtoMethods() }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryWorkerInferenceScoresAtBlockRequest) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -55281,10 +55252,10 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) ProtoMethods() fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockRequest: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetPreviousTopicQuantileForecasterScoreEmaRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetPreviousTopicQuantileForecasterScoreEmaRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -55306,25 +55277,6 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) ProtoMethods() break } } - case 2: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) - } - x.BlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.BlockHeight |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -55361,25 +55313,25 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) ProtoMethods() } var ( - md_QueryWorkerInferenceScoresAtBlockResponse protoreflect.MessageDescriptor - fd_QueryWorkerInferenceScoresAtBlockResponse_scores protoreflect.FieldDescriptor + md_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse protoreflect.MessageDescriptor + fd_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse_value protoreflect.FieldDescriptor ) func init() { file_emissions_v3_query_proto_init() - md_QueryWorkerInferenceScoresAtBlockResponse = File_emissions_v3_query_proto.Messages().ByName("QueryWorkerInferenceScoresAtBlockResponse") - fd_QueryWorkerInferenceScoresAtBlockResponse_scores = md_QueryWorkerInferenceScoresAtBlockResponse.Fields().ByName("scores") + md_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse = File_emissions_v3_query_proto.Messages().ByName("QueryGetPreviousTopicQuantileForecasterScoreEmaResponse") + fd_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse_value = md_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse.Fields().ByName("value") } -var _ protoreflect.Message = (*fastReflection_QueryWorkerInferenceScoresAtBlockResponse)(nil) +var _ protoreflect.Message = (*fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse)(nil) -type fastReflection_QueryWorkerInferenceScoresAtBlockResponse QueryWorkerInferenceScoresAtBlockResponse +type fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse QueryGetPreviousTopicQuantileForecasterScoreEmaResponse -func (x *QueryWorkerInferenceScoresAtBlockResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryWorkerInferenceScoresAtBlockResponse)(x) +func (x *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse)(x) } -func (x *QueryWorkerInferenceScoresAtBlockResponse) slowProtoReflect() protoreflect.Message { +func (x *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) slowProtoReflect() protoreflect.Message { mi := &file_emissions_v3_query_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -55391,43 +55343,43 @@ func (x *QueryWorkerInferenceScoresAtBlockResponse) slowProtoReflect() protorefl return mi.MessageOf(x) } -var _fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType{} +var _fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse_messageType fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse_messageType{} -type fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType struct{} +type fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse_messageType struct{} -func (x fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryWorkerInferenceScoresAtBlockResponse)(nil) +func (x fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse)(nil) } -func (x fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryWorkerInferenceScoresAtBlockResponse) +func (x fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) } -func (x fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryWorkerInferenceScoresAtBlockResponse +func (x fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryWorkerInferenceScoresAtBlockResponse +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) New() protoreflect.Message { - return new(fastReflection_QueryWorkerInferenceScoresAtBlockResponse) +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) New() protoreflect.Message { + return new(fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Interface() protoreflect.ProtoMessage { - return (*QueryWorkerInferenceScoresAtBlockResponse)(x) +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Interface() protoreflect.ProtoMessage { + return (*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -55435,10 +55387,10 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Interface() p // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Scores != nil { - value := protoreflect.ValueOfMessage(x.Scores.ProtoReflect()) - if !f(fd_QueryWorkerInferenceScoresAtBlockResponse_scores, value) { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Value != "" { + value := protoreflect.ValueOfString(x.Value) + if !f(fd_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse_value, value) { return } } @@ -55455,15 +55407,15 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Range(f func( // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "emissions.v3.QueryWorkerInferenceScoresAtBlockResponse.scores": - return x.Scores != nil + case "emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse.value": + return x.Value != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse does not contain field %s", fd.FullName())) } } @@ -55473,15 +55425,15 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Has(fd protor // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "emissions.v3.QueryWorkerInferenceScoresAtBlockResponse.scores": - x.Scores = nil + case "emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse.value": + x.Value = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse does not contain field %s", fd.FullName())) } } @@ -55491,16 +55443,16 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Clear(fd prot // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "emissions.v3.QueryWorkerInferenceScoresAtBlockResponse.scores": - value := x.Scores - return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse.value": + value := x.Value + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse does not contain field %s", descriptor.FullName())) } } @@ -55514,15 +55466,15 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Get(descripto // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "emissions.v3.QueryWorkerInferenceScoresAtBlockResponse.scores": - x.Scores = value.Message().Interface().(*Scores) + case "emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse.value": + x.Value = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse does not contain field %s", fd.FullName())) } } @@ -55536,44 +55488,40 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Set(fd protor // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryWorkerInferenceScoresAtBlockResponse.scores": - if x.Scores == nil { - x.Scores = new(Scores) - } - return protoreflect.ValueOfMessage(x.Scores.ProtoReflect()) + case "emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse.value": + panic(fmt.Errorf("field value of message emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryWorkerInferenceScoresAtBlockResponse.scores": - m := new(Scores) - return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse.value": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryWorkerInferenceScoresAtBlockResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse", d.FullName())) } panic("unreachable") } @@ -55581,7 +55529,7 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) WhichOneof(d // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -55592,7 +55540,7 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) GetUnknown() // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -55604,7 +55552,7 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) SetUnknown(fi // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) IsValid() bool { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) IsValid() bool { return x != nil } @@ -55614,9 +55562,9 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) IsValid() boo // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryWorkerInferenceScoresAtBlockResponse) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -55628,8 +55576,8 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) ProtoMethods( var n int var l int _ = l - if x.Scores != nil { - l = options.Size(x.Scores) + l = len(x.Value) + if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { @@ -55642,7 +55590,7 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) ProtoMethods( } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryWorkerInferenceScoresAtBlockResponse) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -55661,17 +55609,10 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) ProtoMethods( i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Scores != nil { - encoded, err := options.Marshal(x.Scores) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + if len(x.Value) > 0 { + i -= len(x.Value) + copy(dAtA[i:], x.Value) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Value))) i-- dAtA[i] = 0xa } @@ -55686,7 +55627,7 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) ProtoMethods( }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryWorkerInferenceScoresAtBlockResponse) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -55718,17 +55659,17 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) ProtoMethods( fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetPreviousTopicQuantileForecasterScoreEmaResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetPreviousTopicQuantileForecasterScoreEmaResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Scores", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -55738,27 +55679,23 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) ProtoMethods( } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.Scores == nil { - x.Scores = &Scores{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Scores); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } + x.Value = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -55796,27 +55733,25 @@ func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) ProtoMethods( } var ( - md_QueryForecastScoresUntilBlockRequest protoreflect.MessageDescriptor - fd_QueryForecastScoresUntilBlockRequest_topic_id protoreflect.FieldDescriptor - fd_QueryForecastScoresUntilBlockRequest_block_height protoreflect.FieldDescriptor + md_QueryGetPreviousTopicQuantileInfererScoreEmaRequest protoreflect.MessageDescriptor + fd_QueryGetPreviousTopicQuantileInfererScoreEmaRequest_topic_id protoreflect.FieldDescriptor ) func init() { file_emissions_v3_query_proto_init() - md_QueryForecastScoresUntilBlockRequest = File_emissions_v3_query_proto.Messages().ByName("QueryForecastScoresUntilBlockRequest") - fd_QueryForecastScoresUntilBlockRequest_topic_id = md_QueryForecastScoresUntilBlockRequest.Fields().ByName("topic_id") - fd_QueryForecastScoresUntilBlockRequest_block_height = md_QueryForecastScoresUntilBlockRequest.Fields().ByName("block_height") + md_QueryGetPreviousTopicQuantileInfererScoreEmaRequest = File_emissions_v3_query_proto.Messages().ByName("QueryGetPreviousTopicQuantileInfererScoreEmaRequest") + fd_QueryGetPreviousTopicQuantileInfererScoreEmaRequest_topic_id = md_QueryGetPreviousTopicQuantileInfererScoreEmaRequest.Fields().ByName("topic_id") } -var _ protoreflect.Message = (*fastReflection_QueryForecastScoresUntilBlockRequest)(nil) +var _ protoreflect.Message = (*fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest)(nil) -type fastReflection_QueryForecastScoresUntilBlockRequest QueryForecastScoresUntilBlockRequest +type fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest QueryGetPreviousTopicQuantileInfererScoreEmaRequest -func (x *QueryForecastScoresUntilBlockRequest) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryForecastScoresUntilBlockRequest)(x) +func (x *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest)(x) } -func (x *QueryForecastScoresUntilBlockRequest) slowProtoReflect() protoreflect.Message { +func (x *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) slowProtoReflect() protoreflect.Message { mi := &file_emissions_v3_query_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -55828,43 +55763,43 @@ func (x *QueryForecastScoresUntilBlockRequest) slowProtoReflect() protoreflect.M return mi.MessageOf(x) } -var _fastReflection_QueryForecastScoresUntilBlockRequest_messageType fastReflection_QueryForecastScoresUntilBlockRequest_messageType -var _ protoreflect.MessageType = fastReflection_QueryForecastScoresUntilBlockRequest_messageType{} +var _fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest_messageType fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest_messageType{} -type fastReflection_QueryForecastScoresUntilBlockRequest_messageType struct{} +type fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest_messageType struct{} -func (x fastReflection_QueryForecastScoresUntilBlockRequest_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryForecastScoresUntilBlockRequest)(nil) +func (x fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest)(nil) } -func (x fastReflection_QueryForecastScoresUntilBlockRequest_messageType) New() protoreflect.Message { - return new(fastReflection_QueryForecastScoresUntilBlockRequest) +func (x fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) } -func (x fastReflection_QueryForecastScoresUntilBlockRequest_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryForecastScoresUntilBlockRequest +func (x fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetPreviousTopicQuantileInfererScoreEmaRequest } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Descriptor() protoreflect.MessageDescriptor { - return md_QueryForecastScoresUntilBlockRequest +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetPreviousTopicQuantileInfererScoreEmaRequest } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Type() protoreflect.MessageType { - return _fastReflection_QueryForecastScoresUntilBlockRequest_messageType +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) New() protoreflect.Message { - return new(fastReflection_QueryForecastScoresUntilBlockRequest) +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) New() protoreflect.Message { + return new(fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Interface() protoreflect.ProtoMessage { - return (*QueryForecastScoresUntilBlockRequest)(x) +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Interface() protoreflect.ProtoMessage { + return (*QueryGetPreviousTopicQuantileInfererScoreEmaRequest)(x) } // Range iterates over every populated field in an undefined order, @@ -55872,16 +55807,10 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Interface() protor // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.TopicId != uint64(0) { value := protoreflect.ValueOfUint64(x.TopicId) - if !f(fd_QueryForecastScoresUntilBlockRequest_topic_id, value) { - return - } - } - if x.BlockHeight != int64(0) { - value := protoreflect.ValueOfInt64(x.BlockHeight) - if !f(fd_QueryForecastScoresUntilBlockRequest_block_height, value) { + if !f(fd_QueryGetPreviousTopicQuantileInfererScoreEmaRequest_topic_id, value) { return } } @@ -55898,17 +55827,15 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Range(f func(proto // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "emissions.v3.QueryForecastScoresUntilBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest.topic_id": return x.TopicId != uint64(0) - case "emissions.v3.QueryForecastScoresUntilBlockRequest.block_height": - return x.BlockHeight != int64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest does not contain field %s", fd.FullName())) } } @@ -55918,17 +55845,15 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Has(fd protoreflec // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "emissions.v3.QueryForecastScoresUntilBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest.topic_id": x.TopicId = uint64(0) - case "emissions.v3.QueryForecastScoresUntilBlockRequest.block_height": - x.BlockHeight = int64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest does not contain field %s", fd.FullName())) } } @@ -55938,19 +55863,16 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Clear(fd protorefl // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "emissions.v3.QueryForecastScoresUntilBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest.topic_id": value := x.TopicId return protoreflect.ValueOfUint64(value) - case "emissions.v3.QueryForecastScoresUntilBlockRequest.block_height": - value := x.BlockHeight - return protoreflect.ValueOfInt64(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockRequest does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest does not contain field %s", descriptor.FullName())) } } @@ -55964,17 +55886,15 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Get(descriptor pro // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "emissions.v3.QueryForecastScoresUntilBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest.topic_id": x.TopicId = value.Uint() - case "emissions.v3.QueryForecastScoresUntilBlockRequest.block_height": - x.BlockHeight = value.Int() default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest does not contain field %s", fd.FullName())) } } @@ -55988,44 +55908,40 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Set(fd protoreflec // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryForecastScoresUntilBlockRequest.topic_id": - panic(fmt.Errorf("field topic_id of message emissions.v3.QueryForecastScoresUntilBlockRequest is not mutable")) - case "emissions.v3.QueryForecastScoresUntilBlockRequest.block_height": - panic(fmt.Errorf("field block_height of message emissions.v3.QueryForecastScoresUntilBlockRequest is not mutable")) + case "emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest.topic_id": + panic(fmt.Errorf("field topic_id of message emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryForecastScoresUntilBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest.topic_id": return protoreflect.ValueOfUint64(uint64(0)) - case "emissions.v3.QueryForecastScoresUntilBlockRequest.block_height": - return protoreflect.ValueOfInt64(int64(0)) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryForecastScoresUntilBlockRequest", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest", d.FullName())) } panic("unreachable") } @@ -56033,7 +55949,7 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) WhichOneof(d proto // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -56044,7 +55960,7 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) GetUnknown() proto // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -56056,7 +55972,7 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) SetUnknown(fields // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) IsValid() bool { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) IsValid() bool { return x != nil } @@ -56066,9 +55982,9 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryForecastScoresUntilBlockRequest) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaRequest) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryForecastScoresUntilBlockRequest) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileInfererScoreEmaRequest) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -56083,9 +55999,6 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) ProtoMethods() *pr if x.TopicId != 0 { n += 1 + runtime.Sov(uint64(x.TopicId)) } - if x.BlockHeight != 0 { - n += 1 + runtime.Sov(uint64(x.BlockHeight)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -56096,7 +56009,7 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) ProtoMethods() *pr } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryForecastScoresUntilBlockRequest) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileInfererScoreEmaRequest) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -56115,11 +56028,6 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) ProtoMethods() *pr i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.BlockHeight != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.BlockHeight)) - i-- - dAtA[i] = 0x10 - } if x.TopicId != 0 { i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId)) i-- @@ -56136,7 +56044,7 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) ProtoMethods() *pr }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryForecastScoresUntilBlockRequest) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileInfererScoreEmaRequest) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -56168,10 +56076,10 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) ProtoMethods() *pr fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryForecastScoresUntilBlockRequest: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetPreviousTopicQuantileInfererScoreEmaRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryForecastScoresUntilBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetPreviousTopicQuantileInfererScoreEmaRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -56193,25 +56101,6 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) ProtoMethods() *pr break } } - case 2: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) - } - x.BlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.BlockHeight |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -56247,77 +56136,26 @@ func (x *fastReflection_QueryForecastScoresUntilBlockRequest) ProtoMethods() *pr } } -var _ protoreflect.List = (*_QueryForecastScoresUntilBlockResponse_1_list)(nil) - -type _QueryForecastScoresUntilBlockResponse_1_list struct { - list *[]*Score -} - -func (x *_QueryForecastScoresUntilBlockResponse_1_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_QueryForecastScoresUntilBlockResponse_1_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_QueryForecastScoresUntilBlockResponse_1_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Score) - (*x.list)[i] = concreteValue -} - -func (x *_QueryForecastScoresUntilBlockResponse_1_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Score) - *x.list = append(*x.list, concreteValue) -} - -func (x *_QueryForecastScoresUntilBlockResponse_1_list) AppendMutable() protoreflect.Value { - v := new(Score) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_QueryForecastScoresUntilBlockResponse_1_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_QueryForecastScoresUntilBlockResponse_1_list) NewElement() protoreflect.Value { - v := new(Score) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_QueryForecastScoresUntilBlockResponse_1_list) IsValid() bool { - return x.list != nil -} - var ( - md_QueryForecastScoresUntilBlockResponse protoreflect.MessageDescriptor - fd_QueryForecastScoresUntilBlockResponse_scores protoreflect.FieldDescriptor + md_QueryGetPreviousTopicQuantileInfererScoreEmaResponse protoreflect.MessageDescriptor + fd_QueryGetPreviousTopicQuantileInfererScoreEmaResponse_value protoreflect.FieldDescriptor ) func init() { file_emissions_v3_query_proto_init() - md_QueryForecastScoresUntilBlockResponse = File_emissions_v3_query_proto.Messages().ByName("QueryForecastScoresUntilBlockResponse") - fd_QueryForecastScoresUntilBlockResponse_scores = md_QueryForecastScoresUntilBlockResponse.Fields().ByName("scores") + md_QueryGetPreviousTopicQuantileInfererScoreEmaResponse = File_emissions_v3_query_proto.Messages().ByName("QueryGetPreviousTopicQuantileInfererScoreEmaResponse") + fd_QueryGetPreviousTopicQuantileInfererScoreEmaResponse_value = md_QueryGetPreviousTopicQuantileInfererScoreEmaResponse.Fields().ByName("value") } -var _ protoreflect.Message = (*fastReflection_QueryForecastScoresUntilBlockResponse)(nil) +var _ protoreflect.Message = (*fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse)(nil) -type fastReflection_QueryForecastScoresUntilBlockResponse QueryForecastScoresUntilBlockResponse +type fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse QueryGetPreviousTopicQuantileInfererScoreEmaResponse -func (x *QueryForecastScoresUntilBlockResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryForecastScoresUntilBlockResponse)(x) +func (x *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse)(x) } -func (x *QueryForecastScoresUntilBlockResponse) slowProtoReflect() protoreflect.Message { +func (x *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) slowProtoReflect() protoreflect.Message { mi := &file_emissions_v3_query_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -56329,43 +56167,43 @@ func (x *QueryForecastScoresUntilBlockResponse) slowProtoReflect() protoreflect. return mi.MessageOf(x) } -var _fastReflection_QueryForecastScoresUntilBlockResponse_messageType fastReflection_QueryForecastScoresUntilBlockResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryForecastScoresUntilBlockResponse_messageType{} +var _fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse_messageType fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse_messageType{} -type fastReflection_QueryForecastScoresUntilBlockResponse_messageType struct{} +type fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse_messageType struct{} -func (x fastReflection_QueryForecastScoresUntilBlockResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryForecastScoresUntilBlockResponse)(nil) +func (x fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse)(nil) } -func (x fastReflection_QueryForecastScoresUntilBlockResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryForecastScoresUntilBlockResponse) +func (x fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) } -func (x fastReflection_QueryForecastScoresUntilBlockResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryForecastScoresUntilBlockResponse +func (x fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetPreviousTopicQuantileInfererScoreEmaResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryForecastScoresUntilBlockResponse +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetPreviousTopicQuantileInfererScoreEmaResponse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryForecastScoresUntilBlockResponse_messageType +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) New() protoreflect.Message { - return new(fastReflection_QueryForecastScoresUntilBlockResponse) +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) New() protoreflect.Message { + return new(fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Interface() protoreflect.ProtoMessage { - return (*QueryForecastScoresUntilBlockResponse)(x) +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Interface() protoreflect.ProtoMessage { + return (*QueryGetPreviousTopicQuantileInfererScoreEmaResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -56373,10 +56211,10 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Interface() proto // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if len(x.Scores) != 0 { - value := protoreflect.ValueOfList(&_QueryForecastScoresUntilBlockResponse_1_list{list: &x.Scores}) - if !f(fd_QueryForecastScoresUntilBlockResponse_scores, value) { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Value != "" { + value := protoreflect.ValueOfString(x.Value) + if !f(fd_QueryGetPreviousTopicQuantileInfererScoreEmaResponse_value, value) { return } } @@ -56393,15 +56231,15 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Range(f func(prot // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "emissions.v3.QueryForecastScoresUntilBlockResponse.scores": - return len(x.Scores) != 0 + case "emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse.value": + return x.Value != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse does not contain field %s", fd.FullName())) } } @@ -56411,15 +56249,15 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Has(fd protorefle // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "emissions.v3.QueryForecastScoresUntilBlockResponse.scores": - x.Scores = nil + case "emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse.value": + x.Value = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse does not contain field %s", fd.FullName())) } } @@ -56429,19 +56267,16 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Clear(fd protoref // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "emissions.v3.QueryForecastScoresUntilBlockResponse.scores": - if len(x.Scores) == 0 { - return protoreflect.ValueOfList(&_QueryForecastScoresUntilBlockResponse_1_list{}) - } - listValue := &_QueryForecastScoresUntilBlockResponse_1_list{list: &x.Scores} - return protoreflect.ValueOfList(listValue) + case "emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse.value": + value := x.Value + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse does not contain field %s", descriptor.FullName())) } } @@ -56455,17 +56290,15 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Get(descriptor pr // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "emissions.v3.QueryForecastScoresUntilBlockResponse.scores": - lv := value.List() - clv := lv.(*_QueryForecastScoresUntilBlockResponse_1_list) - x.Scores = *clv.list + case "emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse.value": + x.Value = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse does not contain field %s", fd.FullName())) } } @@ -56479,45 +56312,40 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Set(fd protorefle // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryForecastScoresUntilBlockResponse.scores": - if x.Scores == nil { - x.Scores = []*Score{} - } - value := &_QueryForecastScoresUntilBlockResponse_1_list{list: &x.Scores} - return protoreflect.ValueOfList(value) + case "emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse.value": + panic(fmt.Errorf("field value of message emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryForecastScoresUntilBlockResponse.scores": - list := []*Score{} - return protoreflect.ValueOfList(&_QueryForecastScoresUntilBlockResponse_1_list{list: &list}) + case "emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse.value": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryForecastScoresUntilBlockResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse", d.FullName())) } panic("unreachable") } @@ -56525,7 +56353,7 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) WhichOneof(d prot // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -56536,7 +56364,7 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) GetUnknown() prot // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -56548,7 +56376,7 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) SetUnknown(fields // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) IsValid() bool { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) IsValid() bool { return x != nil } @@ -56558,9 +56386,9 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryForecastScoresUntilBlockResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryGetPreviousTopicQuantileInfererScoreEmaResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryForecastScoresUntilBlockResponse) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileInfererScoreEmaResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -56572,11 +56400,9 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) ProtoMethods() *p var n int var l int _ = l - if len(x.Scores) > 0 { - for _, e := range x.Scores { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } + l = len(x.Value) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { n += len(x.unknownFields) @@ -56588,7 +56414,7 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) ProtoMethods() *p } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryForecastScoresUntilBlockResponse) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileInfererScoreEmaResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -56607,21 +56433,12 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) ProtoMethods() *p i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Scores) > 0 { - for iNdEx := len(x.Scores) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.Scores[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0xa - } + if len(x.Value) > 0 { + i -= len(x.Value) + copy(dAtA[i:], x.Value) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Value))) + i-- + dAtA[i] = 0xa } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) @@ -56634,7 +56451,7 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) ProtoMethods() *p }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryForecastScoresUntilBlockResponse) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileInfererScoreEmaResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -56666,17 +56483,17 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) ProtoMethods() *p fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryForecastScoresUntilBlockResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetPreviousTopicQuantileInfererScoreEmaResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryForecastScoresUntilBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetPreviousTopicQuantileInfererScoreEmaResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Scores", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -56686,25 +56503,23 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) ProtoMethods() *p } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Scores = append(x.Scores, &Score{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Scores[len(x.Scores)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } + x.Value = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -56742,27 +56557,25 @@ func (x *fastReflection_QueryForecastScoresUntilBlockResponse) ProtoMethods() *p } var ( - md_QueryWorkerForecastScoresAtBlockRequest protoreflect.MessageDescriptor - fd_QueryWorkerForecastScoresAtBlockRequest_topic_id protoreflect.FieldDescriptor - fd_QueryWorkerForecastScoresAtBlockRequest_block_height protoreflect.FieldDescriptor + md_QueryGetPreviousTopicQuantileReputerScoreEmaRequest protoreflect.MessageDescriptor + fd_QueryGetPreviousTopicQuantileReputerScoreEmaRequest_topic_id protoreflect.FieldDescriptor ) func init() { file_emissions_v3_query_proto_init() - md_QueryWorkerForecastScoresAtBlockRequest = File_emissions_v3_query_proto.Messages().ByName("QueryWorkerForecastScoresAtBlockRequest") - fd_QueryWorkerForecastScoresAtBlockRequest_topic_id = md_QueryWorkerForecastScoresAtBlockRequest.Fields().ByName("topic_id") - fd_QueryWorkerForecastScoresAtBlockRequest_block_height = md_QueryWorkerForecastScoresAtBlockRequest.Fields().ByName("block_height") + md_QueryGetPreviousTopicQuantileReputerScoreEmaRequest = File_emissions_v3_query_proto.Messages().ByName("QueryGetPreviousTopicQuantileReputerScoreEmaRequest") + fd_QueryGetPreviousTopicQuantileReputerScoreEmaRequest_topic_id = md_QueryGetPreviousTopicQuantileReputerScoreEmaRequest.Fields().ByName("topic_id") } -var _ protoreflect.Message = (*fastReflection_QueryWorkerForecastScoresAtBlockRequest)(nil) +var _ protoreflect.Message = (*fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest)(nil) -type fastReflection_QueryWorkerForecastScoresAtBlockRequest QueryWorkerForecastScoresAtBlockRequest +type fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest QueryGetPreviousTopicQuantileReputerScoreEmaRequest -func (x *QueryWorkerForecastScoresAtBlockRequest) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryWorkerForecastScoresAtBlockRequest)(x) +func (x *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest)(x) } -func (x *QueryWorkerForecastScoresAtBlockRequest) slowProtoReflect() protoreflect.Message { +func (x *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) slowProtoReflect() protoreflect.Message { mi := &file_emissions_v3_query_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -56774,43 +56587,43 @@ func (x *QueryWorkerForecastScoresAtBlockRequest) slowProtoReflect() protoreflec return mi.MessageOf(x) } -var _fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType -var _ protoreflect.MessageType = fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType{} +var _fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest_messageType fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest_messageType{} -type fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType struct{} +type fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest_messageType struct{} -func (x fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryWorkerForecastScoresAtBlockRequest)(nil) +func (x fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest)(nil) } -func (x fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType) New() protoreflect.Message { - return new(fastReflection_QueryWorkerForecastScoresAtBlockRequest) +func (x fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) } -func (x fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryWorkerForecastScoresAtBlockRequest +func (x fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetPreviousTopicQuantileReputerScoreEmaRequest } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Descriptor() protoreflect.MessageDescriptor { - return md_QueryWorkerForecastScoresAtBlockRequest +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetPreviousTopicQuantileReputerScoreEmaRequest } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Type() protoreflect.MessageType { - return _fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) New() protoreflect.Message { - return new(fastReflection_QueryWorkerForecastScoresAtBlockRequest) +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) New() protoreflect.Message { + return new(fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Interface() protoreflect.ProtoMessage { - return (*QueryWorkerForecastScoresAtBlockRequest)(x) +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Interface() protoreflect.ProtoMessage { + return (*QueryGetPreviousTopicQuantileReputerScoreEmaRequest)(x) } // Range iterates over every populated field in an undefined order, @@ -56818,16 +56631,10 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Interface() pro // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.TopicId != uint64(0) { value := protoreflect.ValueOfUint64(x.TopicId) - if !f(fd_QueryWorkerForecastScoresAtBlockRequest_topic_id, value) { - return - } - } - if x.BlockHeight != int64(0) { - value := protoreflect.ValueOfInt64(x.BlockHeight) - if !f(fd_QueryWorkerForecastScoresAtBlockRequest_block_height, value) { + if !f(fd_QueryGetPreviousTopicQuantileReputerScoreEmaRequest_topic_id, value) { return } } @@ -56844,17 +56651,15 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Range(f func(pr // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest.topic_id": return x.TopicId != uint64(0) - case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.block_height": - return x.BlockHeight != int64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest does not contain field %s", fd.FullName())) } } @@ -56864,17 +56669,15 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Has(fd protoref // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest.topic_id": x.TopicId = uint64(0) - case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.block_height": - x.BlockHeight = int64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest does not contain field %s", fd.FullName())) } } @@ -56884,19 +56687,16 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Clear(fd protor // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest.topic_id": value := x.TopicId return protoreflect.ValueOfUint64(value) - case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.block_height": - value := x.BlockHeight - return protoreflect.ValueOfInt64(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockRequest does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest does not contain field %s", descriptor.FullName())) } } @@ -56910,17 +56710,15 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Get(descriptor // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest.topic_id": x.TopicId = value.Uint() - case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.block_height": - x.BlockHeight = value.Int() default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest does not contain field %s", fd.FullName())) } } @@ -56934,44 +56732,40 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Set(fd protoref // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.topic_id": - panic(fmt.Errorf("field topic_id of message emissions.v3.QueryWorkerForecastScoresAtBlockRequest is not mutable")) - case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.block_height": - panic(fmt.Errorf("field block_height of message emissions.v3.QueryWorkerForecastScoresAtBlockRequest is not mutable")) + case "emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest.topic_id": + panic(fmt.Errorf("field topic_id of message emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest.topic_id": return protoreflect.ValueOfUint64(uint64(0)) - case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.block_height": - return protoreflect.ValueOfInt64(int64(0)) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryWorkerForecastScoresAtBlockRequest", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest", d.FullName())) } panic("unreachable") } @@ -56979,7 +56773,7 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) WhichOneof(d pr // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -56990,7 +56784,7 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) GetUnknown() pr // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -57002,7 +56796,7 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) SetUnknown(fiel // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) IsValid() bool { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) IsValid() bool { return x != nil } @@ -57012,9 +56806,9 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) IsValid() bool // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaRequest) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryWorkerForecastScoresAtBlockRequest) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileReputerScoreEmaRequest) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -57029,9 +56823,6 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) ProtoMethods() if x.TopicId != 0 { n += 1 + runtime.Sov(uint64(x.TopicId)) } - if x.BlockHeight != 0 { - n += 1 + runtime.Sov(uint64(x.BlockHeight)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -57042,7 +56833,7 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) ProtoMethods() } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryWorkerForecastScoresAtBlockRequest) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileReputerScoreEmaRequest) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -57061,11 +56852,6 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) ProtoMethods() i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.BlockHeight != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.BlockHeight)) - i-- - dAtA[i] = 0x10 - } if x.TopicId != 0 { i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId)) i-- @@ -57082,7 +56868,7 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) ProtoMethods() }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryWorkerForecastScoresAtBlockRequest) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileReputerScoreEmaRequest) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -57114,10 +56900,10 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) ProtoMethods() fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockRequest: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetPreviousTopicQuantileReputerScoreEmaRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetPreviousTopicQuantileReputerScoreEmaRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -57139,25 +56925,6 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) ProtoMethods() break } } - case 2: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) - } - x.BlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.BlockHeight |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -57194,25 +56961,25 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) ProtoMethods() } var ( - md_QueryWorkerForecastScoresAtBlockResponse protoreflect.MessageDescriptor - fd_QueryWorkerForecastScoresAtBlockResponse_scores protoreflect.FieldDescriptor + md_QueryGetPreviousTopicQuantileReputerScoreEmaResponse protoreflect.MessageDescriptor + fd_QueryGetPreviousTopicQuantileReputerScoreEmaResponse_value protoreflect.FieldDescriptor ) func init() { file_emissions_v3_query_proto_init() - md_QueryWorkerForecastScoresAtBlockResponse = File_emissions_v3_query_proto.Messages().ByName("QueryWorkerForecastScoresAtBlockResponse") - fd_QueryWorkerForecastScoresAtBlockResponse_scores = md_QueryWorkerForecastScoresAtBlockResponse.Fields().ByName("scores") + md_QueryGetPreviousTopicQuantileReputerScoreEmaResponse = File_emissions_v3_query_proto.Messages().ByName("QueryGetPreviousTopicQuantileReputerScoreEmaResponse") + fd_QueryGetPreviousTopicQuantileReputerScoreEmaResponse_value = md_QueryGetPreviousTopicQuantileReputerScoreEmaResponse.Fields().ByName("value") } -var _ protoreflect.Message = (*fastReflection_QueryWorkerForecastScoresAtBlockResponse)(nil) +var _ protoreflect.Message = (*fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse)(nil) -type fastReflection_QueryWorkerForecastScoresAtBlockResponse QueryWorkerForecastScoresAtBlockResponse +type fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse QueryGetPreviousTopicQuantileReputerScoreEmaResponse -func (x *QueryWorkerForecastScoresAtBlockResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryWorkerForecastScoresAtBlockResponse)(x) +func (x *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse)(x) } -func (x *QueryWorkerForecastScoresAtBlockResponse) slowProtoReflect() protoreflect.Message { +func (x *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) slowProtoReflect() protoreflect.Message { mi := &file_emissions_v3_query_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -57224,43 +56991,43 @@ func (x *QueryWorkerForecastScoresAtBlockResponse) slowProtoReflect() protorefle return mi.MessageOf(x) } -var _fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType{} +var _fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse_messageType fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse_messageType{} -type fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType struct{} +type fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse_messageType struct{} -func (x fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryWorkerForecastScoresAtBlockResponse)(nil) +func (x fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse)(nil) } -func (x fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryWorkerForecastScoresAtBlockResponse) +func (x fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) } -func (x fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryWorkerForecastScoresAtBlockResponse +func (x fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetPreviousTopicQuantileReputerScoreEmaResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryWorkerForecastScoresAtBlockResponse +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetPreviousTopicQuantileReputerScoreEmaResponse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) New() protoreflect.Message { - return new(fastReflection_QueryWorkerForecastScoresAtBlockResponse) +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) New() protoreflect.Message { + return new(fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Interface() protoreflect.ProtoMessage { - return (*QueryWorkerForecastScoresAtBlockResponse)(x) +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Interface() protoreflect.ProtoMessage { + return (*QueryGetPreviousTopicQuantileReputerScoreEmaResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -57268,10 +57035,10 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Interface() pr // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Scores != nil { - value := protoreflect.ValueOfMessage(x.Scores.ProtoReflect()) - if !f(fd_QueryWorkerForecastScoresAtBlockResponse_scores, value) { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Value != "" { + value := protoreflect.ValueOfString(x.Value) + if !f(fd_QueryGetPreviousTopicQuantileReputerScoreEmaResponse_value, value) { return } } @@ -57288,15 +57055,15 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Range(f func(p // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "emissions.v3.QueryWorkerForecastScoresAtBlockResponse.scores": - return x.Scores != nil + case "emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse.value": + return x.Value != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse does not contain field %s", fd.FullName())) } } @@ -57306,15 +57073,15 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Has(fd protore // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "emissions.v3.QueryWorkerForecastScoresAtBlockResponse.scores": - x.Scores = nil + case "emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse.value": + x.Value = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse does not contain field %s", fd.FullName())) } } @@ -57324,16 +57091,16 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Clear(fd proto // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "emissions.v3.QueryWorkerForecastScoresAtBlockResponse.scores": - value := x.Scores - return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse.value": + value := x.Value + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse does not contain field %s", descriptor.FullName())) } } @@ -57347,15 +57114,15 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Get(descriptor // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "emissions.v3.QueryWorkerForecastScoresAtBlockResponse.scores": - x.Scores = value.Message().Interface().(*Scores) + case "emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse.value": + x.Value = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse does not contain field %s", fd.FullName())) } } @@ -57369,44 +57136,40 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Set(fd protore // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryWorkerForecastScoresAtBlockResponse.scores": - if x.Scores == nil { - x.Scores = new(Scores) - } - return protoreflect.ValueOfMessage(x.Scores.ProtoReflect()) + case "emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse.value": + panic(fmt.Errorf("field value of message emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryWorkerForecastScoresAtBlockResponse.scores": - m := new(Scores) - return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse.value": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryWorkerForecastScoresAtBlockResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse", d.FullName())) } panic("unreachable") } @@ -57414,7 +57177,7 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) WhichOneof(d p // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -57425,7 +57188,7 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) GetUnknown() p // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -57437,7 +57200,7 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) SetUnknown(fie // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) IsValid() bool { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) IsValid() bool { return x != nil } @@ -57447,9 +57210,9 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) IsValid() bool // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryGetPreviousTopicQuantileReputerScoreEmaResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryWorkerForecastScoresAtBlockResponse) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileReputerScoreEmaResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -57461,8 +57224,8 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) ProtoMethods() var n int var l int _ = l - if x.Scores != nil { - l = options.Size(x.Scores) + l = len(x.Value) + if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { @@ -57475,7 +57238,7 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) ProtoMethods() } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryWorkerForecastScoresAtBlockResponse) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileReputerScoreEmaResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -57494,17 +57257,10 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) ProtoMethods() i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Scores != nil { - encoded, err := options.Marshal(x.Scores) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + if len(x.Value) > 0 { + i -= len(x.Value) + copy(dAtA[i:], x.Value) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Value))) i-- dAtA[i] = 0xa } @@ -57519,7 +57275,7 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) ProtoMethods() }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryWorkerForecastScoresAtBlockResponse) + x := input.Message.Interface().(*QueryGetPreviousTopicQuantileReputerScoreEmaResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -57551,17 +57307,17 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) ProtoMethods() fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetPreviousTopicQuantileReputerScoreEmaResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetPreviousTopicQuantileReputerScoreEmaResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Scores", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -57571,27 +57327,23 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) ProtoMethods() } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.Scores == nil { - x.Scores = &Scores{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Scores); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } + x.Value = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -57629,27 +57381,27 @@ func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) ProtoMethods() } var ( - md_QueryReputersScoresAtBlockRequest protoreflect.MessageDescriptor - fd_QueryReputersScoresAtBlockRequest_topic_id protoreflect.FieldDescriptor - fd_QueryReputersScoresAtBlockRequest_block_height protoreflect.FieldDescriptor + md_QueryWorkerInferenceScoresAtBlockRequest protoreflect.MessageDescriptor + fd_QueryWorkerInferenceScoresAtBlockRequest_topic_id protoreflect.FieldDescriptor + fd_QueryWorkerInferenceScoresAtBlockRequest_block_height protoreflect.FieldDescriptor ) func init() { file_emissions_v3_query_proto_init() - md_QueryReputersScoresAtBlockRequest = File_emissions_v3_query_proto.Messages().ByName("QueryReputersScoresAtBlockRequest") - fd_QueryReputersScoresAtBlockRequest_topic_id = md_QueryReputersScoresAtBlockRequest.Fields().ByName("topic_id") - fd_QueryReputersScoresAtBlockRequest_block_height = md_QueryReputersScoresAtBlockRequest.Fields().ByName("block_height") + md_QueryWorkerInferenceScoresAtBlockRequest = File_emissions_v3_query_proto.Messages().ByName("QueryWorkerInferenceScoresAtBlockRequest") + fd_QueryWorkerInferenceScoresAtBlockRequest_topic_id = md_QueryWorkerInferenceScoresAtBlockRequest.Fields().ByName("topic_id") + fd_QueryWorkerInferenceScoresAtBlockRequest_block_height = md_QueryWorkerInferenceScoresAtBlockRequest.Fields().ByName("block_height") } -var _ protoreflect.Message = (*fastReflection_QueryReputersScoresAtBlockRequest)(nil) +var _ protoreflect.Message = (*fastReflection_QueryWorkerInferenceScoresAtBlockRequest)(nil) -type fastReflection_QueryReputersScoresAtBlockRequest QueryReputersScoresAtBlockRequest +type fastReflection_QueryWorkerInferenceScoresAtBlockRequest QueryWorkerInferenceScoresAtBlockRequest -func (x *QueryReputersScoresAtBlockRequest) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryReputersScoresAtBlockRequest)(x) +func (x *QueryWorkerInferenceScoresAtBlockRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryWorkerInferenceScoresAtBlockRequest)(x) } -func (x *QueryReputersScoresAtBlockRequest) slowProtoReflect() protoreflect.Message { +func (x *QueryWorkerInferenceScoresAtBlockRequest) slowProtoReflect() protoreflect.Message { mi := &file_emissions_v3_query_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -57661,43 +57413,43 @@ func (x *QueryReputersScoresAtBlockRequest) slowProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -var _fastReflection_QueryReputersScoresAtBlockRequest_messageType fastReflection_QueryReputersScoresAtBlockRequest_messageType -var _ protoreflect.MessageType = fastReflection_QueryReputersScoresAtBlockRequest_messageType{} +var _fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType{} -type fastReflection_QueryReputersScoresAtBlockRequest_messageType struct{} +type fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType struct{} -func (x fastReflection_QueryReputersScoresAtBlockRequest_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryReputersScoresAtBlockRequest)(nil) +func (x fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryWorkerInferenceScoresAtBlockRequest)(nil) } -func (x fastReflection_QueryReputersScoresAtBlockRequest_messageType) New() protoreflect.Message { - return new(fastReflection_QueryReputersScoresAtBlockRequest) +func (x fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryWorkerInferenceScoresAtBlockRequest) } -func (x fastReflection_QueryReputersScoresAtBlockRequest_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryReputersScoresAtBlockRequest +func (x fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryWorkerInferenceScoresAtBlockRequest } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) Descriptor() protoreflect.MessageDescriptor { - return md_QueryReputersScoresAtBlockRequest -} +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryWorkerInferenceScoresAtBlockRequest +} // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) Type() protoreflect.MessageType { - return _fastReflection_QueryReputersScoresAtBlockRequest_messageType +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryWorkerInferenceScoresAtBlockRequest_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) New() protoreflect.Message { - return new(fastReflection_QueryReputersScoresAtBlockRequest) +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) New() protoreflect.Message { + return new(fastReflection_QueryWorkerInferenceScoresAtBlockRequest) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) Interface() protoreflect.ProtoMessage { - return (*QueryReputersScoresAtBlockRequest)(x) +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Interface() protoreflect.ProtoMessage { + return (*QueryWorkerInferenceScoresAtBlockRequest)(x) } // Range iterates over every populated field in an undefined order, @@ -57705,16 +57457,16 @@ func (x *fastReflection_QueryReputersScoresAtBlockRequest) Interface() protorefl // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.TopicId != uint64(0) { value := protoreflect.ValueOfUint64(x.TopicId) - if !f(fd_QueryReputersScoresAtBlockRequest_topic_id, value) { + if !f(fd_QueryWorkerInferenceScoresAtBlockRequest_topic_id, value) { return } } if x.BlockHeight != int64(0) { value := protoreflect.ValueOfInt64(x.BlockHeight) - if !f(fd_QueryReputersScoresAtBlockRequest_block_height, value) { + if !f(fd_QueryWorkerInferenceScoresAtBlockRequest_block_height, value) { return } } @@ -57731,17 +57483,17 @@ func (x *fastReflection_QueryReputersScoresAtBlockRequest) Range(f func(protoref // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "emissions.v3.QueryReputersScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.topic_id": return x.TopicId != uint64(0) - case "emissions.v3.QueryReputersScoresAtBlockRequest.block_height": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.block_height": return x.BlockHeight != int64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest does not contain field %s", fd.FullName())) } } @@ -57751,17 +57503,17 @@ func (x *fastReflection_QueryReputersScoresAtBlockRequest) Has(fd protoreflect.F // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "emissions.v3.QueryReputersScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.topic_id": x.TopicId = uint64(0) - case "emissions.v3.QueryReputersScoresAtBlockRequest.block_height": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.block_height": x.BlockHeight = int64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest does not contain field %s", fd.FullName())) } } @@ -57771,19 +57523,19 @@ func (x *fastReflection_QueryReputersScoresAtBlockRequest) Clear(fd protoreflect // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "emissions.v3.QueryReputersScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.topic_id": value := x.TopicId return protoreflect.ValueOfUint64(value) - case "emissions.v3.QueryReputersScoresAtBlockRequest.block_height": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.block_height": value := x.BlockHeight return protoreflect.ValueOfInt64(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockRequest does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest does not contain field %s", descriptor.FullName())) } } @@ -57797,17 +57549,17 @@ func (x *fastReflection_QueryReputersScoresAtBlockRequest) Get(descriptor protor // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "emissions.v3.QueryReputersScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.topic_id": x.TopicId = value.Uint() - case "emissions.v3.QueryReputersScoresAtBlockRequest.block_height": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.block_height": x.BlockHeight = value.Int() default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest does not contain field %s", fd.FullName())) } } @@ -57821,44 +57573,44 @@ func (x *fastReflection_QueryReputersScoresAtBlockRequest) Set(fd protoreflect.F // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryReputersScoresAtBlockRequest.topic_id": - panic(fmt.Errorf("field topic_id of message emissions.v3.QueryReputersScoresAtBlockRequest is not mutable")) - case "emissions.v3.QueryReputersScoresAtBlockRequest.block_height": - panic(fmt.Errorf("field block_height of message emissions.v3.QueryReputersScoresAtBlockRequest is not mutable")) + case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.topic_id": + panic(fmt.Errorf("field topic_id of message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest is not mutable")) + case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.block_height": + panic(fmt.Errorf("field block_height of message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryReputersScoresAtBlockRequest.topic_id": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.topic_id": return protoreflect.ValueOfUint64(uint64(0)) - case "emissions.v3.QueryReputersScoresAtBlockRequest.block_height": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest.block_height": return protoreflect.ValueOfInt64(int64(0)) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockRequest does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryReputersScoresAtBlockRequest", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryWorkerInferenceScoresAtBlockRequest", d.FullName())) } panic("unreachable") } @@ -57866,7 +57618,7 @@ func (x *fastReflection_QueryReputersScoresAtBlockRequest) WhichOneof(d protoref // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -57877,7 +57629,7 @@ func (x *fastReflection_QueryReputersScoresAtBlockRequest) GetUnknown() protoref // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -57889,7 +57641,7 @@ func (x *fastReflection_QueryReputersScoresAtBlockRequest) SetUnknown(fields pro // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) IsValid() bool { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) IsValid() bool { return x != nil } @@ -57899,9 +57651,9 @@ func (x *fastReflection_QueryReputersScoresAtBlockRequest) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryReputersScoresAtBlockRequest) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockRequest) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryReputersScoresAtBlockRequest) + x := input.Message.Interface().(*QueryWorkerInferenceScoresAtBlockRequest) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -57929,7 +57681,7 @@ func (x *fastReflection_QueryReputersScoresAtBlockRequest) ProtoMethods() *proto } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryReputersScoresAtBlockRequest) + x := input.Message.Interface().(*QueryWorkerInferenceScoresAtBlockRequest) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -57969,7 +57721,7 @@ func (x *fastReflection_QueryReputersScoresAtBlockRequest) ProtoMethods() *proto }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryReputersScoresAtBlockRequest) + x := input.Message.Interface().(*QueryWorkerInferenceScoresAtBlockRequest) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -58001,10 +57753,10 @@ func (x *fastReflection_QueryReputersScoresAtBlockRequest) ProtoMethods() *proto fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryReputersScoresAtBlockRequest: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryReputersScoresAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -58081,25 +57833,25 @@ func (x *fastReflection_QueryReputersScoresAtBlockRequest) ProtoMethods() *proto } var ( - md_QueryReputersScoresAtBlockResponse protoreflect.MessageDescriptor - fd_QueryReputersScoresAtBlockResponse_scores protoreflect.FieldDescriptor + md_QueryWorkerInferenceScoresAtBlockResponse protoreflect.MessageDescriptor + fd_QueryWorkerInferenceScoresAtBlockResponse_scores protoreflect.FieldDescriptor ) func init() { file_emissions_v3_query_proto_init() - md_QueryReputersScoresAtBlockResponse = File_emissions_v3_query_proto.Messages().ByName("QueryReputersScoresAtBlockResponse") - fd_QueryReputersScoresAtBlockResponse_scores = md_QueryReputersScoresAtBlockResponse.Fields().ByName("scores") + md_QueryWorkerInferenceScoresAtBlockResponse = File_emissions_v3_query_proto.Messages().ByName("QueryWorkerInferenceScoresAtBlockResponse") + fd_QueryWorkerInferenceScoresAtBlockResponse_scores = md_QueryWorkerInferenceScoresAtBlockResponse.Fields().ByName("scores") } -var _ protoreflect.Message = (*fastReflection_QueryReputersScoresAtBlockResponse)(nil) +var _ protoreflect.Message = (*fastReflection_QueryWorkerInferenceScoresAtBlockResponse)(nil) -type fastReflection_QueryReputersScoresAtBlockResponse QueryReputersScoresAtBlockResponse +type fastReflection_QueryWorkerInferenceScoresAtBlockResponse QueryWorkerInferenceScoresAtBlockResponse -func (x *QueryReputersScoresAtBlockResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryReputersScoresAtBlockResponse)(x) +func (x *QueryWorkerInferenceScoresAtBlockResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryWorkerInferenceScoresAtBlockResponse)(x) } -func (x *QueryReputersScoresAtBlockResponse) slowProtoReflect() protoreflect.Message { +func (x *QueryWorkerInferenceScoresAtBlockResponse) slowProtoReflect() protoreflect.Message { mi := &file_emissions_v3_query_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -58111,43 +57863,43 @@ func (x *QueryReputersScoresAtBlockResponse) slowProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -var _fastReflection_QueryReputersScoresAtBlockResponse_messageType fastReflection_QueryReputersScoresAtBlockResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryReputersScoresAtBlockResponse_messageType{} +var _fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType{} -type fastReflection_QueryReputersScoresAtBlockResponse_messageType struct{} +type fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType struct{} -func (x fastReflection_QueryReputersScoresAtBlockResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryReputersScoresAtBlockResponse)(nil) +func (x fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryWorkerInferenceScoresAtBlockResponse)(nil) } -func (x fastReflection_QueryReputersScoresAtBlockResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryReputersScoresAtBlockResponse) +func (x fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryWorkerInferenceScoresAtBlockResponse) } -func (x fastReflection_QueryReputersScoresAtBlockResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryReputersScoresAtBlockResponse +func (x fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryWorkerInferenceScoresAtBlockResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryReputersScoresAtBlockResponse +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryWorkerInferenceScoresAtBlockResponse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryReputersScoresAtBlockResponse_messageType +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryWorkerInferenceScoresAtBlockResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) New() protoreflect.Message { - return new(fastReflection_QueryReputersScoresAtBlockResponse) +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) New() protoreflect.Message { + return new(fastReflection_QueryWorkerInferenceScoresAtBlockResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) Interface() protoreflect.ProtoMessage { - return (*QueryReputersScoresAtBlockResponse)(x) +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Interface() protoreflect.ProtoMessage { + return (*QueryWorkerInferenceScoresAtBlockResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -58155,10 +57907,10 @@ func (x *fastReflection_QueryReputersScoresAtBlockResponse) Interface() protoref // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Scores != nil { value := protoreflect.ValueOfMessage(x.Scores.ProtoReflect()) - if !f(fd_QueryReputersScoresAtBlockResponse_scores, value) { + if !f(fd_QueryWorkerInferenceScoresAtBlockResponse_scores, value) { return } } @@ -58175,15 +57927,15 @@ func (x *fastReflection_QueryReputersScoresAtBlockResponse) Range(f func(protore // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "emissions.v3.QueryReputersScoresAtBlockResponse.scores": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockResponse.scores": return x.Scores != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockResponse does not contain field %s", fd.FullName())) } } @@ -58193,15 +57945,15 @@ func (x *fastReflection_QueryReputersScoresAtBlockResponse) Has(fd protoreflect. // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "emissions.v3.QueryReputersScoresAtBlockResponse.scores": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockResponse.scores": x.Scores = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockResponse does not contain field %s", fd.FullName())) } } @@ -58211,16 +57963,16 @@ func (x *fastReflection_QueryReputersScoresAtBlockResponse) Clear(fd protoreflec // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "emissions.v3.QueryReputersScoresAtBlockResponse.scores": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockResponse.scores": value := x.Scores return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockResponse does not contain field %s", descriptor.FullName())) } } @@ -58234,15 +57986,15 @@ func (x *fastReflection_QueryReputersScoresAtBlockResponse) Get(descriptor proto // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "emissions.v3.QueryReputersScoresAtBlockResponse.scores": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockResponse.scores": x.Scores = value.Message().Interface().(*Scores) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockResponse does not contain field %s", fd.FullName())) } } @@ -58256,44 +58008,44 @@ func (x *fastReflection_QueryReputersScoresAtBlockResponse) Set(fd protoreflect. // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryReputersScoresAtBlockResponse.scores": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockResponse.scores": if x.Scores == nil { x.Scores = new(Scores) } return protoreflect.ValueOfMessage(x.Scores.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockResponse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryReputersScoresAtBlockResponse.scores": + case "emissions.v3.QueryWorkerInferenceScoresAtBlockResponse.scores": m := new(Scores) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryWorkerInferenceScoresAtBlockResponse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryReputersScoresAtBlockResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryWorkerInferenceScoresAtBlockResponse", d.FullName())) } panic("unreachable") } @@ -58301,7 +58053,7 @@ func (x *fastReflection_QueryReputersScoresAtBlockResponse) WhichOneof(d protore // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -58312,7 +58064,7 @@ func (x *fastReflection_QueryReputersScoresAtBlockResponse) GetUnknown() protore // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -58324,7 +58076,7 @@ func (x *fastReflection_QueryReputersScoresAtBlockResponse) SetUnknown(fields pr // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) IsValid() bool { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) IsValid() bool { return x != nil } @@ -58334,9 +58086,9 @@ func (x *fastReflection_QueryReputersScoresAtBlockResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryReputersScoresAtBlockResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryWorkerInferenceScoresAtBlockResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryReputersScoresAtBlockResponse) + x := input.Message.Interface().(*QueryWorkerInferenceScoresAtBlockResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -58362,7 +58114,7 @@ func (x *fastReflection_QueryReputersScoresAtBlockResponse) ProtoMethods() *prot } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryReputersScoresAtBlockResponse) + x := input.Message.Interface().(*QueryWorkerInferenceScoresAtBlockResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -58406,7 +58158,7 @@ func (x *fastReflection_QueryReputersScoresAtBlockResponse) ProtoMethods() *prot }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryReputersScoresAtBlockResponse) + x := input.Message.Interface().(*QueryWorkerInferenceScoresAtBlockResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -58438,10 +58190,10 @@ func (x *fastReflection_QueryReputersScoresAtBlockResponse) ProtoMethods() *prot fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryReputersScoresAtBlockResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryReputersScoresAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -58516,27 +58268,25 @@ func (x *fastReflection_QueryReputersScoresAtBlockResponse) ProtoMethods() *prot } var ( - md_QueryListeningCoefficientRequest protoreflect.MessageDescriptor - fd_QueryListeningCoefficientRequest_topic_id protoreflect.FieldDescriptor - fd_QueryListeningCoefficientRequest_reputer protoreflect.FieldDescriptor + md_QueryCurrentLowestInfererScoreRequest protoreflect.MessageDescriptor + fd_QueryCurrentLowestInfererScoreRequest_topic_id protoreflect.FieldDescriptor ) func init() { file_emissions_v3_query_proto_init() - md_QueryListeningCoefficientRequest = File_emissions_v3_query_proto.Messages().ByName("QueryListeningCoefficientRequest") - fd_QueryListeningCoefficientRequest_topic_id = md_QueryListeningCoefficientRequest.Fields().ByName("topic_id") - fd_QueryListeningCoefficientRequest_reputer = md_QueryListeningCoefficientRequest.Fields().ByName("reputer") + md_QueryCurrentLowestInfererScoreRequest = File_emissions_v3_query_proto.Messages().ByName("QueryCurrentLowestInfererScoreRequest") + fd_QueryCurrentLowestInfererScoreRequest_topic_id = md_QueryCurrentLowestInfererScoreRequest.Fields().ByName("topic_id") } -var _ protoreflect.Message = (*fastReflection_QueryListeningCoefficientRequest)(nil) +var _ protoreflect.Message = (*fastReflection_QueryCurrentLowestInfererScoreRequest)(nil) -type fastReflection_QueryListeningCoefficientRequest QueryListeningCoefficientRequest +type fastReflection_QueryCurrentLowestInfererScoreRequest QueryCurrentLowestInfererScoreRequest -func (x *QueryListeningCoefficientRequest) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryListeningCoefficientRequest)(x) +func (x *QueryCurrentLowestInfererScoreRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCurrentLowestInfererScoreRequest)(x) } -func (x *QueryListeningCoefficientRequest) slowProtoReflect() protoreflect.Message { +func (x *QueryCurrentLowestInfererScoreRequest) slowProtoReflect() protoreflect.Message { mi := &file_emissions_v3_query_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -58548,43 +58298,43 @@ func (x *QueryListeningCoefficientRequest) slowProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -var _fastReflection_QueryListeningCoefficientRequest_messageType fastReflection_QueryListeningCoefficientRequest_messageType -var _ protoreflect.MessageType = fastReflection_QueryListeningCoefficientRequest_messageType{} +var _fastReflection_QueryCurrentLowestInfererScoreRequest_messageType fastReflection_QueryCurrentLowestInfererScoreRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryCurrentLowestInfererScoreRequest_messageType{} -type fastReflection_QueryListeningCoefficientRequest_messageType struct{} +type fastReflection_QueryCurrentLowestInfererScoreRequest_messageType struct{} -func (x fastReflection_QueryListeningCoefficientRequest_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryListeningCoefficientRequest)(nil) +func (x fastReflection_QueryCurrentLowestInfererScoreRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCurrentLowestInfererScoreRequest)(nil) } -func (x fastReflection_QueryListeningCoefficientRequest_messageType) New() protoreflect.Message { - return new(fastReflection_QueryListeningCoefficientRequest) +func (x fastReflection_QueryCurrentLowestInfererScoreRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCurrentLowestInfererScoreRequest) } -func (x fastReflection_QueryListeningCoefficientRequest_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryListeningCoefficientRequest +func (x fastReflection_QueryCurrentLowestInfererScoreRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCurrentLowestInfererScoreRequest } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryListeningCoefficientRequest) Descriptor() protoreflect.MessageDescriptor { - return md_QueryListeningCoefficientRequest +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCurrentLowestInfererScoreRequest } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryListeningCoefficientRequest) Type() protoreflect.MessageType { - return _fastReflection_QueryListeningCoefficientRequest_messageType +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryCurrentLowestInfererScoreRequest_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryListeningCoefficientRequest) New() protoreflect.Message { - return new(fastReflection_QueryListeningCoefficientRequest) +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) New() protoreflect.Message { + return new(fastReflection_QueryCurrentLowestInfererScoreRequest) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryListeningCoefficientRequest) Interface() protoreflect.ProtoMessage { - return (*QueryListeningCoefficientRequest)(x) +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) Interface() protoreflect.ProtoMessage { + return (*QueryCurrentLowestInfererScoreRequest)(x) } // Range iterates over every populated field in an undefined order, @@ -58592,16 +58342,10 @@ func (x *fastReflection_QueryListeningCoefficientRequest) Interface() protorefle // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryListeningCoefficientRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.TopicId != uint64(0) { value := protoreflect.ValueOfUint64(x.TopicId) - if !f(fd_QueryListeningCoefficientRequest_topic_id, value) { - return - } - } - if x.Reputer != "" { - value := protoreflect.ValueOfString(x.Reputer) - if !f(fd_QueryListeningCoefficientRequest_reputer, value) { + if !f(fd_QueryCurrentLowestInfererScoreRequest_topic_id, value) { return } } @@ -58618,17 +58362,15 @@ func (x *fastReflection_QueryListeningCoefficientRequest) Range(f func(protorefl // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryListeningCoefficientRequest) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "emissions.v3.QueryListeningCoefficientRequest.topic_id": + case "emissions.v3.QueryCurrentLowestInfererScoreRequest.topic_id": return x.TopicId != uint64(0) - case "emissions.v3.QueryListeningCoefficientRequest.reputer": - return x.Reputer != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestInfererScoreRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestInfererScoreRequest does not contain field %s", fd.FullName())) } } @@ -58638,17 +58380,15 @@ func (x *fastReflection_QueryListeningCoefficientRequest) Has(fd protoreflect.Fi // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryListeningCoefficientRequest) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "emissions.v3.QueryListeningCoefficientRequest.topic_id": + case "emissions.v3.QueryCurrentLowestInfererScoreRequest.topic_id": x.TopicId = uint64(0) - case "emissions.v3.QueryListeningCoefficientRequest.reputer": - x.Reputer = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestInfererScoreRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestInfererScoreRequest does not contain field %s", fd.FullName())) } } @@ -58658,19 +58398,16 @@ func (x *fastReflection_QueryListeningCoefficientRequest) Clear(fd protoreflect. // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryListeningCoefficientRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "emissions.v3.QueryListeningCoefficientRequest.topic_id": + case "emissions.v3.QueryCurrentLowestInfererScoreRequest.topic_id": value := x.TopicId return protoreflect.ValueOfUint64(value) - case "emissions.v3.QueryListeningCoefficientRequest.reputer": - value := x.Reputer - return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestInfererScoreRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientRequest does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestInfererScoreRequest does not contain field %s", descriptor.FullName())) } } @@ -58684,17 +58421,15 @@ func (x *fastReflection_QueryListeningCoefficientRequest) Get(descriptor protore // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryListeningCoefficientRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "emissions.v3.QueryListeningCoefficientRequest.topic_id": + case "emissions.v3.QueryCurrentLowestInfererScoreRequest.topic_id": x.TopicId = value.Uint() - case "emissions.v3.QueryListeningCoefficientRequest.reputer": - x.Reputer = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestInfererScoreRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestInfererScoreRequest does not contain field %s", fd.FullName())) } } @@ -58708,44 +58443,40 @@ func (x *fastReflection_QueryListeningCoefficientRequest) Set(fd protoreflect.Fi // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryListeningCoefficientRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryListeningCoefficientRequest.topic_id": - panic(fmt.Errorf("field topic_id of message emissions.v3.QueryListeningCoefficientRequest is not mutable")) - case "emissions.v3.QueryListeningCoefficientRequest.reputer": - panic(fmt.Errorf("field reputer of message emissions.v3.QueryListeningCoefficientRequest is not mutable")) + case "emissions.v3.QueryCurrentLowestInfererScoreRequest.topic_id": + panic(fmt.Errorf("field topic_id of message emissions.v3.QueryCurrentLowestInfererScoreRequest is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestInfererScoreRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestInfererScoreRequest does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryListeningCoefficientRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryListeningCoefficientRequest.topic_id": + case "emissions.v3.QueryCurrentLowestInfererScoreRequest.topic_id": return protoreflect.ValueOfUint64(uint64(0)) - case "emissions.v3.QueryListeningCoefficientRequest.reputer": - return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestInfererScoreRequest")) } - panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestInfererScoreRequest does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryListeningCoefficientRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryListeningCoefficientRequest", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryCurrentLowestInfererScoreRequest", d.FullName())) } panic("unreachable") } @@ -58753,7 +58484,7 @@ func (x *fastReflection_QueryListeningCoefficientRequest) WhichOneof(d protorefl // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryListeningCoefficientRequest) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -58764,7 +58495,7 @@ func (x *fastReflection_QueryListeningCoefficientRequest) GetUnknown() protorefl // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryListeningCoefficientRequest) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -58776,7 +58507,7 @@ func (x *fastReflection_QueryListeningCoefficientRequest) SetUnknown(fields prot // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryListeningCoefficientRequest) IsValid() bool { +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) IsValid() bool { return x != nil } @@ -58786,9 +58517,9 @@ func (x *fastReflection_QueryListeningCoefficientRequest) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryListeningCoefficientRequest) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryCurrentLowestInfererScoreRequest) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryListeningCoefficientRequest) + x := input.Message.Interface().(*QueryCurrentLowestInfererScoreRequest) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -58803,10 +58534,6 @@ func (x *fastReflection_QueryListeningCoefficientRequest) ProtoMethods() *protoi if x.TopicId != 0 { n += 1 + runtime.Sov(uint64(x.TopicId)) } - l = len(x.Reputer) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -58817,7 +58544,7 @@ func (x *fastReflection_QueryListeningCoefficientRequest) ProtoMethods() *protoi } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryListeningCoefficientRequest) + x := input.Message.Interface().(*QueryCurrentLowestInfererScoreRequest) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -58836,13 +58563,6 @@ func (x *fastReflection_QueryListeningCoefficientRequest) ProtoMethods() *protoi i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Reputer) > 0 { - i -= len(x.Reputer) - copy(dAtA[i:], x.Reputer) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reputer))) - i-- - dAtA[i] = 0x12 - } if x.TopicId != 0 { i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId)) i-- @@ -58859,7 +58579,7 @@ func (x *fastReflection_QueryListeningCoefficientRequest) ProtoMethods() *protoi }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryListeningCoefficientRequest) + x := input.Message.Interface().(*QueryCurrentLowestInfererScoreRequest) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -58891,10 +58611,10 @@ func (x *fastReflection_QueryListeningCoefficientRequest) ProtoMethods() *protoi fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryListeningCoefficientRequest: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCurrentLowestInfererScoreRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryListeningCoefficientRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCurrentLowestInfererScoreRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -58916,38 +58636,6 @@ func (x *fastReflection_QueryListeningCoefficientRequest) ProtoMethods() *protoi break } } - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Reputer", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Reputer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -58984,25 +58672,25 @@ func (x *fastReflection_QueryListeningCoefficientRequest) ProtoMethods() *protoi } var ( - md_QueryListeningCoefficientResponse protoreflect.MessageDescriptor - fd_QueryListeningCoefficientResponse_listening_coefficient protoreflect.FieldDescriptor + md_QueryCurrentLowestInfererScoreResponse protoreflect.MessageDescriptor + fd_QueryCurrentLowestInfererScoreResponse_score protoreflect.FieldDescriptor ) func init() { file_emissions_v3_query_proto_init() - md_QueryListeningCoefficientResponse = File_emissions_v3_query_proto.Messages().ByName("QueryListeningCoefficientResponse") - fd_QueryListeningCoefficientResponse_listening_coefficient = md_QueryListeningCoefficientResponse.Fields().ByName("listening_coefficient") + md_QueryCurrentLowestInfererScoreResponse = File_emissions_v3_query_proto.Messages().ByName("QueryCurrentLowestInfererScoreResponse") + fd_QueryCurrentLowestInfererScoreResponse_score = md_QueryCurrentLowestInfererScoreResponse.Fields().ByName("score") } -var _ protoreflect.Message = (*fastReflection_QueryListeningCoefficientResponse)(nil) +var _ protoreflect.Message = (*fastReflection_QueryCurrentLowestInfererScoreResponse)(nil) -type fastReflection_QueryListeningCoefficientResponse QueryListeningCoefficientResponse +type fastReflection_QueryCurrentLowestInfererScoreResponse QueryCurrentLowestInfererScoreResponse -func (x *QueryListeningCoefficientResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryListeningCoefficientResponse)(x) +func (x *QueryCurrentLowestInfererScoreResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCurrentLowestInfererScoreResponse)(x) } -func (x *QueryListeningCoefficientResponse) slowProtoReflect() protoreflect.Message { +func (x *QueryCurrentLowestInfererScoreResponse) slowProtoReflect() protoreflect.Message { mi := &file_emissions_v3_query_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -59014,43 +58702,43 @@ func (x *QueryListeningCoefficientResponse) slowProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -var _fastReflection_QueryListeningCoefficientResponse_messageType fastReflection_QueryListeningCoefficientResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryListeningCoefficientResponse_messageType{} +var _fastReflection_QueryCurrentLowestInfererScoreResponse_messageType fastReflection_QueryCurrentLowestInfererScoreResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryCurrentLowestInfererScoreResponse_messageType{} -type fastReflection_QueryListeningCoefficientResponse_messageType struct{} +type fastReflection_QueryCurrentLowestInfererScoreResponse_messageType struct{} -func (x fastReflection_QueryListeningCoefficientResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryListeningCoefficientResponse)(nil) +func (x fastReflection_QueryCurrentLowestInfererScoreResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCurrentLowestInfererScoreResponse)(nil) } -func (x fastReflection_QueryListeningCoefficientResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryListeningCoefficientResponse) +func (x fastReflection_QueryCurrentLowestInfererScoreResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCurrentLowestInfererScoreResponse) } -func (x fastReflection_QueryListeningCoefficientResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryListeningCoefficientResponse +func (x fastReflection_QueryCurrentLowestInfererScoreResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCurrentLowestInfererScoreResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryListeningCoefficientResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryListeningCoefficientResponse +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCurrentLowestInfererScoreResponse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryListeningCoefficientResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryListeningCoefficientResponse_messageType +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryCurrentLowestInfererScoreResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryListeningCoefficientResponse) New() protoreflect.Message { - return new(fastReflection_QueryListeningCoefficientResponse) +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) New() protoreflect.Message { + return new(fastReflection_QueryCurrentLowestInfererScoreResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryListeningCoefficientResponse) Interface() protoreflect.ProtoMessage { - return (*QueryListeningCoefficientResponse)(x) +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) Interface() protoreflect.ProtoMessage { + return (*QueryCurrentLowestInfererScoreResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -59058,10 +58746,10 @@ func (x *fastReflection_QueryListeningCoefficientResponse) Interface() protorefl // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryListeningCoefficientResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.ListeningCoefficient != nil { - value := protoreflect.ValueOfMessage(x.ListeningCoefficient.ProtoReflect()) - if !f(fd_QueryListeningCoefficientResponse_listening_coefficient, value) { +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Score != nil { + value := protoreflect.ValueOfMessage(x.Score.ProtoReflect()) + if !f(fd_QueryCurrentLowestInfererScoreResponse_score, value) { return } } @@ -59078,15 +58766,15 @@ func (x *fastReflection_QueryListeningCoefficientResponse) Range(f func(protoref // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryListeningCoefficientResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "emissions.v3.QueryListeningCoefficientResponse.listening_coefficient": - return x.ListeningCoefficient != nil + case "emissions.v3.QueryCurrentLowestInfererScoreResponse.score": + return x.Score != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestInfererScoreResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestInfererScoreResponse does not contain field %s", fd.FullName())) } } @@ -59096,15 +58784,15 @@ func (x *fastReflection_QueryListeningCoefficientResponse) Has(fd protoreflect.F // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryListeningCoefficientResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "emissions.v3.QueryListeningCoefficientResponse.listening_coefficient": - x.ListeningCoefficient = nil + case "emissions.v3.QueryCurrentLowestInfererScoreResponse.score": + x.Score = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestInfererScoreResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestInfererScoreResponse does not contain field %s", fd.FullName())) } } @@ -59114,16 +58802,16 @@ func (x *fastReflection_QueryListeningCoefficientResponse) Clear(fd protoreflect // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryListeningCoefficientResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "emissions.v3.QueryListeningCoefficientResponse.listening_coefficient": - value := x.ListeningCoefficient + case "emissions.v3.QueryCurrentLowestInfererScoreResponse.score": + value := x.Score return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestInfererScoreResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestInfererScoreResponse does not contain field %s", descriptor.FullName())) } } @@ -59137,15 +58825,15 @@ func (x *fastReflection_QueryListeningCoefficientResponse) Get(descriptor protor // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryListeningCoefficientResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "emissions.v3.QueryListeningCoefficientResponse.listening_coefficient": - x.ListeningCoefficient = value.Message().Interface().(*ListeningCoefficient) + case "emissions.v3.QueryCurrentLowestInfererScoreResponse.score": + x.Score = value.Message().Interface().(*Score) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestInfererScoreResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestInfererScoreResponse does not contain field %s", fd.FullName())) } } @@ -59159,44 +58847,44 @@ func (x *fastReflection_QueryListeningCoefficientResponse) Set(fd protoreflect.F // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryListeningCoefficientResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryListeningCoefficientResponse.listening_coefficient": - if x.ListeningCoefficient == nil { - x.ListeningCoefficient = new(ListeningCoefficient) + case "emissions.v3.QueryCurrentLowestInfererScoreResponse.score": + if x.Score == nil { + x.Score = new(Score) } - return protoreflect.ValueOfMessage(x.ListeningCoefficient.ProtoReflect()) + return protoreflect.ValueOfMessage(x.Score.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestInfererScoreResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestInfererScoreResponse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryListeningCoefficientResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "emissions.v3.QueryListeningCoefficientResponse.listening_coefficient": - m := new(ListeningCoefficient) + case "emissions.v3.QueryCurrentLowestInfererScoreResponse.score": + m := new(Score) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestInfererScoreResponse")) } - panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestInfererScoreResponse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryListeningCoefficientResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryListeningCoefficientResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryCurrentLowestInfererScoreResponse", d.FullName())) } panic("unreachable") } @@ -59204,7 +58892,7 @@ func (x *fastReflection_QueryListeningCoefficientResponse) WhichOneof(d protoref // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryListeningCoefficientResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -59215,7 +58903,7 @@ func (x *fastReflection_QueryListeningCoefficientResponse) GetUnknown() protoref // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryListeningCoefficientResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -59227,7 +58915,7 @@ func (x *fastReflection_QueryListeningCoefficientResponse) SetUnknown(fields pro // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryListeningCoefficientResponse) IsValid() bool { +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) IsValid() bool { return x != nil } @@ -59237,9 +58925,9 @@ func (x *fastReflection_QueryListeningCoefficientResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryListeningCoefficientResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryCurrentLowestInfererScoreResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryListeningCoefficientResponse) + x := input.Message.Interface().(*QueryCurrentLowestInfererScoreResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -59251,8 +58939,8 @@ func (x *fastReflection_QueryListeningCoefficientResponse) ProtoMethods() *proto var n int var l int _ = l - if x.ListeningCoefficient != nil { - l = options.Size(x.ListeningCoefficient) + if x.Score != nil { + l = options.Size(x.Score) n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { @@ -59265,7 +58953,7 @@ func (x *fastReflection_QueryListeningCoefficientResponse) ProtoMethods() *proto } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryListeningCoefficientResponse) + x := input.Message.Interface().(*QueryCurrentLowestInfererScoreResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -59284,8 +58972,8 @@ func (x *fastReflection_QueryListeningCoefficientResponse) ProtoMethods() *proto i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.ListeningCoefficient != nil { - encoded, err := options.Marshal(x.ListeningCoefficient) + if x.Score != nil { + encoded, err := options.Marshal(x.Score) if err != nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -59309,7 +58997,7 @@ func (x *fastReflection_QueryListeningCoefficientResponse) ProtoMethods() *proto }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryListeningCoefficientResponse) + x := input.Message.Interface().(*QueryCurrentLowestInfererScoreResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -59341,15 +59029,15 @@ func (x *fastReflection_QueryListeningCoefficientResponse) ProtoMethods() *proto fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryListeningCoefficientResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCurrentLowestInfererScoreResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryListeningCoefficientResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCurrentLowestInfererScoreResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ListeningCoefficient", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Score", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -59376,10 +59064,10 @@ func (x *fastReflection_QueryListeningCoefficientResponse) ProtoMethods() *proto if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.ListeningCoefficient == nil { - x.ListeningCoefficient = &ListeningCoefficient{} + if x.Score == nil { + x.Score = &Score{} } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ListeningCoefficient); err != nil { + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Score); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex @@ -59419,27 +59107,27 @@ func (x *fastReflection_QueryListeningCoefficientResponse) ProtoMethods() *proto } var ( - md_QueryPreviousReputerRewardFractionRequest protoreflect.MessageDescriptor - fd_QueryPreviousReputerRewardFractionRequest_topic_id protoreflect.FieldDescriptor - fd_QueryPreviousReputerRewardFractionRequest_reputer protoreflect.FieldDescriptor + md_QueryForecastScoresUntilBlockRequest protoreflect.MessageDescriptor + fd_QueryForecastScoresUntilBlockRequest_topic_id protoreflect.FieldDescriptor + fd_QueryForecastScoresUntilBlockRequest_block_height protoreflect.FieldDescriptor ) func init() { file_emissions_v3_query_proto_init() - md_QueryPreviousReputerRewardFractionRequest = File_emissions_v3_query_proto.Messages().ByName("QueryPreviousReputerRewardFractionRequest") - fd_QueryPreviousReputerRewardFractionRequest_topic_id = md_QueryPreviousReputerRewardFractionRequest.Fields().ByName("topic_id") - fd_QueryPreviousReputerRewardFractionRequest_reputer = md_QueryPreviousReputerRewardFractionRequest.Fields().ByName("reputer") + md_QueryForecastScoresUntilBlockRequest = File_emissions_v3_query_proto.Messages().ByName("QueryForecastScoresUntilBlockRequest") + fd_QueryForecastScoresUntilBlockRequest_topic_id = md_QueryForecastScoresUntilBlockRequest.Fields().ByName("topic_id") + fd_QueryForecastScoresUntilBlockRequest_block_height = md_QueryForecastScoresUntilBlockRequest.Fields().ByName("block_height") } -var _ protoreflect.Message = (*fastReflection_QueryPreviousReputerRewardFractionRequest)(nil) +var _ protoreflect.Message = (*fastReflection_QueryForecastScoresUntilBlockRequest)(nil) -type fastReflection_QueryPreviousReputerRewardFractionRequest QueryPreviousReputerRewardFractionRequest +type fastReflection_QueryForecastScoresUntilBlockRequest QueryForecastScoresUntilBlockRequest -func (x *QueryPreviousReputerRewardFractionRequest) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryPreviousReputerRewardFractionRequest)(x) +func (x *QueryForecastScoresUntilBlockRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryForecastScoresUntilBlockRequest)(x) } -func (x *QueryPreviousReputerRewardFractionRequest) slowProtoReflect() protoreflect.Message { +func (x *QueryForecastScoresUntilBlockRequest) slowProtoReflect() protoreflect.Message { mi := &file_emissions_v3_query_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -59451,37 +59139,5338 @@ func (x *QueryPreviousReputerRewardFractionRequest) slowProtoReflect() protorefl return mi.MessageOf(x) } -var _fastReflection_QueryPreviousReputerRewardFractionRequest_messageType fastReflection_QueryPreviousReputerRewardFractionRequest_messageType -var _ protoreflect.MessageType = fastReflection_QueryPreviousReputerRewardFractionRequest_messageType{} +var _fastReflection_QueryForecastScoresUntilBlockRequest_messageType fastReflection_QueryForecastScoresUntilBlockRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryForecastScoresUntilBlockRequest_messageType{} -type fastReflection_QueryPreviousReputerRewardFractionRequest_messageType struct{} +type fastReflection_QueryForecastScoresUntilBlockRequest_messageType struct{} -func (x fastReflection_QueryPreviousReputerRewardFractionRequest_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryPreviousReputerRewardFractionRequest)(nil) +func (x fastReflection_QueryForecastScoresUntilBlockRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryForecastScoresUntilBlockRequest)(nil) } -func (x fastReflection_QueryPreviousReputerRewardFractionRequest_messageType) New() protoreflect.Message { - return new(fastReflection_QueryPreviousReputerRewardFractionRequest) +func (x fastReflection_QueryForecastScoresUntilBlockRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryForecastScoresUntilBlockRequest) } -func (x fastReflection_QueryPreviousReputerRewardFractionRequest_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryPreviousReputerRewardFractionRequest +func (x fastReflection_QueryForecastScoresUntilBlockRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryForecastScoresUntilBlockRequest } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryPreviousReputerRewardFractionRequest) Descriptor() protoreflect.MessageDescriptor { - return md_QueryPreviousReputerRewardFractionRequest +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryForecastScoresUntilBlockRequest } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryPreviousReputerRewardFractionRequest) Type() protoreflect.MessageType { - return _fastReflection_QueryPreviousReputerRewardFractionRequest_messageType +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryForecastScoresUntilBlockRequest_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryPreviousReputerRewardFractionRequest) New() protoreflect.Message { - return new(fastReflection_QueryPreviousReputerRewardFractionRequest) +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) New() protoreflect.Message { + return new(fastReflection_QueryForecastScoresUntilBlockRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Interface() protoreflect.ProtoMessage { + return (*QueryForecastScoresUntilBlockRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.TopicId != uint64(0) { + value := protoreflect.ValueOfUint64(x.TopicId) + if !f(fd_QueryForecastScoresUntilBlockRequest_topic_id, value) { + return + } + } + if x.BlockHeight != int64(0) { + value := protoreflect.ValueOfInt64(x.BlockHeight) + if !f(fd_QueryForecastScoresUntilBlockRequest_block_height, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "emissions.v3.QueryForecastScoresUntilBlockRequest.topic_id": + return x.TopicId != uint64(0) + case "emissions.v3.QueryForecastScoresUntilBlockRequest.block_height": + return x.BlockHeight != int64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "emissions.v3.QueryForecastScoresUntilBlockRequest.topic_id": + x.TopicId = uint64(0) + case "emissions.v3.QueryForecastScoresUntilBlockRequest.block_height": + x.BlockHeight = int64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "emissions.v3.QueryForecastScoresUntilBlockRequest.topic_id": + value := x.TopicId + return protoreflect.ValueOfUint64(value) + case "emissions.v3.QueryForecastScoresUntilBlockRequest.block_height": + value := x.BlockHeight + return protoreflect.ValueOfInt64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "emissions.v3.QueryForecastScoresUntilBlockRequest.topic_id": + x.TopicId = value.Uint() + case "emissions.v3.QueryForecastScoresUntilBlockRequest.block_height": + x.BlockHeight = value.Int() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryForecastScoresUntilBlockRequest.topic_id": + panic(fmt.Errorf("field topic_id of message emissions.v3.QueryForecastScoresUntilBlockRequest is not mutable")) + case "emissions.v3.QueryForecastScoresUntilBlockRequest.block_height": + panic(fmt.Errorf("field block_height of message emissions.v3.QueryForecastScoresUntilBlockRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryForecastScoresUntilBlockRequest.topic_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "emissions.v3.QueryForecastScoresUntilBlockRequest.block_height": + return protoreflect.ValueOfInt64(int64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryForecastScoresUntilBlockRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryForecastScoresUntilBlockRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryForecastScoresUntilBlockRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.TopicId != 0 { + n += 1 + runtime.Sov(uint64(x.TopicId)) + } + if x.BlockHeight != 0 { + n += 1 + runtime.Sov(uint64(x.BlockHeight)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryForecastScoresUntilBlockRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.BlockHeight != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BlockHeight)) + i-- + dAtA[i] = 0x10 + } + if x.TopicId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryForecastScoresUntilBlockRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryForecastScoresUntilBlockRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryForecastScoresUntilBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + x.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + } + x.BlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.BlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QueryForecastScoresUntilBlockResponse_1_list)(nil) + +type _QueryForecastScoresUntilBlockResponse_1_list struct { + list *[]*Score +} + +func (x *_QueryForecastScoresUntilBlockResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryForecastScoresUntilBlockResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_QueryForecastScoresUntilBlockResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Score) + (*x.list)[i] = concreteValue +} + +func (x *_QueryForecastScoresUntilBlockResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Score) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryForecastScoresUntilBlockResponse_1_list) AppendMutable() protoreflect.Value { + v := new(Score) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryForecastScoresUntilBlockResponse_1_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_QueryForecastScoresUntilBlockResponse_1_list) NewElement() protoreflect.Value { + v := new(Score) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryForecastScoresUntilBlockResponse_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryForecastScoresUntilBlockResponse protoreflect.MessageDescriptor + fd_QueryForecastScoresUntilBlockResponse_scores protoreflect.FieldDescriptor +) + +func init() { + file_emissions_v3_query_proto_init() + md_QueryForecastScoresUntilBlockResponse = File_emissions_v3_query_proto.Messages().ByName("QueryForecastScoresUntilBlockResponse") + fd_QueryForecastScoresUntilBlockResponse_scores = md_QueryForecastScoresUntilBlockResponse.Fields().ByName("scores") +} + +var _ protoreflect.Message = (*fastReflection_QueryForecastScoresUntilBlockResponse)(nil) + +type fastReflection_QueryForecastScoresUntilBlockResponse QueryForecastScoresUntilBlockResponse + +func (x *QueryForecastScoresUntilBlockResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryForecastScoresUntilBlockResponse)(x) +} + +func (x *QueryForecastScoresUntilBlockResponse) slowProtoReflect() protoreflect.Message { + mi := &file_emissions_v3_query_proto_msgTypes[131] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryForecastScoresUntilBlockResponse_messageType fastReflection_QueryForecastScoresUntilBlockResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryForecastScoresUntilBlockResponse_messageType{} + +type fastReflection_QueryForecastScoresUntilBlockResponse_messageType struct{} + +func (x fastReflection_QueryForecastScoresUntilBlockResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryForecastScoresUntilBlockResponse)(nil) +} +func (x fastReflection_QueryForecastScoresUntilBlockResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryForecastScoresUntilBlockResponse) +} +func (x fastReflection_QueryForecastScoresUntilBlockResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryForecastScoresUntilBlockResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryForecastScoresUntilBlockResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryForecastScoresUntilBlockResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) New() protoreflect.Message { + return new(fastReflection_QueryForecastScoresUntilBlockResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Interface() protoreflect.ProtoMessage { + return (*QueryForecastScoresUntilBlockResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Scores) != 0 { + value := protoreflect.ValueOfList(&_QueryForecastScoresUntilBlockResponse_1_list{list: &x.Scores}) + if !f(fd_QueryForecastScoresUntilBlockResponse_scores, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "emissions.v3.QueryForecastScoresUntilBlockResponse.scores": + return len(x.Scores) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "emissions.v3.QueryForecastScoresUntilBlockResponse.scores": + x.Scores = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "emissions.v3.QueryForecastScoresUntilBlockResponse.scores": + if len(x.Scores) == 0 { + return protoreflect.ValueOfList(&_QueryForecastScoresUntilBlockResponse_1_list{}) + } + listValue := &_QueryForecastScoresUntilBlockResponse_1_list{list: &x.Scores} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "emissions.v3.QueryForecastScoresUntilBlockResponse.scores": + lv := value.List() + clv := lv.(*_QueryForecastScoresUntilBlockResponse_1_list) + x.Scores = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryForecastScoresUntilBlockResponse.scores": + if x.Scores == nil { + x.Scores = []*Score{} + } + value := &_QueryForecastScoresUntilBlockResponse_1_list{list: &x.Scores} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryForecastScoresUntilBlockResponse.scores": + list := []*Score{} + return protoreflect.ValueOfList(&_QueryForecastScoresUntilBlockResponse_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryForecastScoresUntilBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryForecastScoresUntilBlockResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryForecastScoresUntilBlockResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryForecastScoresUntilBlockResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryForecastScoresUntilBlockResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.Scores) > 0 { + for _, e := range x.Scores { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryForecastScoresUntilBlockResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Scores) > 0 { + for iNdEx := len(x.Scores) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Scores[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryForecastScoresUntilBlockResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryForecastScoresUntilBlockResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryForecastScoresUntilBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Scores", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Scores = append(x.Scores, &Score{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Scores[len(x.Scores)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryWorkerForecastScoresAtBlockRequest protoreflect.MessageDescriptor + fd_QueryWorkerForecastScoresAtBlockRequest_topic_id protoreflect.FieldDescriptor + fd_QueryWorkerForecastScoresAtBlockRequest_block_height protoreflect.FieldDescriptor +) + +func init() { + file_emissions_v3_query_proto_init() + md_QueryWorkerForecastScoresAtBlockRequest = File_emissions_v3_query_proto.Messages().ByName("QueryWorkerForecastScoresAtBlockRequest") + fd_QueryWorkerForecastScoresAtBlockRequest_topic_id = md_QueryWorkerForecastScoresAtBlockRequest.Fields().ByName("topic_id") + fd_QueryWorkerForecastScoresAtBlockRequest_block_height = md_QueryWorkerForecastScoresAtBlockRequest.Fields().ByName("block_height") +} + +var _ protoreflect.Message = (*fastReflection_QueryWorkerForecastScoresAtBlockRequest)(nil) + +type fastReflection_QueryWorkerForecastScoresAtBlockRequest QueryWorkerForecastScoresAtBlockRequest + +func (x *QueryWorkerForecastScoresAtBlockRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryWorkerForecastScoresAtBlockRequest)(x) +} + +func (x *QueryWorkerForecastScoresAtBlockRequest) slowProtoReflect() protoreflect.Message { + mi := &file_emissions_v3_query_proto_msgTypes[132] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType{} + +type fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType struct{} + +func (x fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryWorkerForecastScoresAtBlockRequest)(nil) +} +func (x fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryWorkerForecastScoresAtBlockRequest) +} +func (x fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryWorkerForecastScoresAtBlockRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryWorkerForecastScoresAtBlockRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryWorkerForecastScoresAtBlockRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) New() protoreflect.Message { + return new(fastReflection_QueryWorkerForecastScoresAtBlockRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Interface() protoreflect.ProtoMessage { + return (*QueryWorkerForecastScoresAtBlockRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.TopicId != uint64(0) { + value := protoreflect.ValueOfUint64(x.TopicId) + if !f(fd_QueryWorkerForecastScoresAtBlockRequest_topic_id, value) { + return + } + } + if x.BlockHeight != int64(0) { + value := protoreflect.ValueOfInt64(x.BlockHeight) + if !f(fd_QueryWorkerForecastScoresAtBlockRequest_block_height, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.topic_id": + return x.TopicId != uint64(0) + case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.block_height": + return x.BlockHeight != int64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.topic_id": + x.TopicId = uint64(0) + case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.block_height": + x.BlockHeight = int64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.topic_id": + value := x.TopicId + return protoreflect.ValueOfUint64(value) + case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.block_height": + value := x.BlockHeight + return protoreflect.ValueOfInt64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.topic_id": + x.TopicId = value.Uint() + case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.block_height": + x.BlockHeight = value.Int() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.topic_id": + panic(fmt.Errorf("field topic_id of message emissions.v3.QueryWorkerForecastScoresAtBlockRequest is not mutable")) + case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.block_height": + panic(fmt.Errorf("field block_height of message emissions.v3.QueryWorkerForecastScoresAtBlockRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.topic_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "emissions.v3.QueryWorkerForecastScoresAtBlockRequest.block_height": + return protoreflect.ValueOfInt64(int64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryWorkerForecastScoresAtBlockRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryWorkerForecastScoresAtBlockRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.TopicId != 0 { + n += 1 + runtime.Sov(uint64(x.TopicId)) + } + if x.BlockHeight != 0 { + n += 1 + runtime.Sov(uint64(x.BlockHeight)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryWorkerForecastScoresAtBlockRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.BlockHeight != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BlockHeight)) + i-- + dAtA[i] = 0x10 + } + if x.TopicId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryWorkerForecastScoresAtBlockRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + x.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + } + x.BlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.BlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryWorkerForecastScoresAtBlockResponse protoreflect.MessageDescriptor + fd_QueryWorkerForecastScoresAtBlockResponse_scores protoreflect.FieldDescriptor +) + +func init() { + file_emissions_v3_query_proto_init() + md_QueryWorkerForecastScoresAtBlockResponse = File_emissions_v3_query_proto.Messages().ByName("QueryWorkerForecastScoresAtBlockResponse") + fd_QueryWorkerForecastScoresAtBlockResponse_scores = md_QueryWorkerForecastScoresAtBlockResponse.Fields().ByName("scores") +} + +var _ protoreflect.Message = (*fastReflection_QueryWorkerForecastScoresAtBlockResponse)(nil) + +type fastReflection_QueryWorkerForecastScoresAtBlockResponse QueryWorkerForecastScoresAtBlockResponse + +func (x *QueryWorkerForecastScoresAtBlockResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryWorkerForecastScoresAtBlockResponse)(x) +} + +func (x *QueryWorkerForecastScoresAtBlockResponse) slowProtoReflect() protoreflect.Message { + mi := &file_emissions_v3_query_proto_msgTypes[133] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType{} + +type fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType struct{} + +func (x fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryWorkerForecastScoresAtBlockResponse)(nil) +} +func (x fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryWorkerForecastScoresAtBlockResponse) +} +func (x fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryWorkerForecastScoresAtBlockResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryWorkerForecastScoresAtBlockResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryWorkerForecastScoresAtBlockResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) New() protoreflect.Message { + return new(fastReflection_QueryWorkerForecastScoresAtBlockResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Interface() protoreflect.ProtoMessage { + return (*QueryWorkerForecastScoresAtBlockResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Scores != nil { + value := protoreflect.ValueOfMessage(x.Scores.ProtoReflect()) + if !f(fd_QueryWorkerForecastScoresAtBlockResponse_scores, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "emissions.v3.QueryWorkerForecastScoresAtBlockResponse.scores": + return x.Scores != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "emissions.v3.QueryWorkerForecastScoresAtBlockResponse.scores": + x.Scores = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "emissions.v3.QueryWorkerForecastScoresAtBlockResponse.scores": + value := x.Scores + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "emissions.v3.QueryWorkerForecastScoresAtBlockResponse.scores": + x.Scores = value.Message().Interface().(*Scores) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryWorkerForecastScoresAtBlockResponse.scores": + if x.Scores == nil { + x.Scores = new(Scores) + } + return protoreflect.ValueOfMessage(x.Scores.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryWorkerForecastScoresAtBlockResponse.scores": + m := new(Scores) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryWorkerForecastScoresAtBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryWorkerForecastScoresAtBlockResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryWorkerForecastScoresAtBlockResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryWorkerForecastScoresAtBlockResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryWorkerForecastScoresAtBlockResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Scores != nil { + l = options.Size(x.Scores) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryWorkerForecastScoresAtBlockResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Scores != nil { + encoded, err := options.Marshal(x.Scores) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryWorkerForecastScoresAtBlockResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Scores", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Scores == nil { + x.Scores = &Scores{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Scores); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryCurrentLowestForecasterScoreRequest protoreflect.MessageDescriptor + fd_QueryCurrentLowestForecasterScoreRequest_topic_id protoreflect.FieldDescriptor +) + +func init() { + file_emissions_v3_query_proto_init() + md_QueryCurrentLowestForecasterScoreRequest = File_emissions_v3_query_proto.Messages().ByName("QueryCurrentLowestForecasterScoreRequest") + fd_QueryCurrentLowestForecasterScoreRequest_topic_id = md_QueryCurrentLowestForecasterScoreRequest.Fields().ByName("topic_id") +} + +var _ protoreflect.Message = (*fastReflection_QueryCurrentLowestForecasterScoreRequest)(nil) + +type fastReflection_QueryCurrentLowestForecasterScoreRequest QueryCurrentLowestForecasterScoreRequest + +func (x *QueryCurrentLowestForecasterScoreRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCurrentLowestForecasterScoreRequest)(x) +} + +func (x *QueryCurrentLowestForecasterScoreRequest) slowProtoReflect() protoreflect.Message { + mi := &file_emissions_v3_query_proto_msgTypes[134] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCurrentLowestForecasterScoreRequest_messageType fastReflection_QueryCurrentLowestForecasterScoreRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryCurrentLowestForecasterScoreRequest_messageType{} + +type fastReflection_QueryCurrentLowestForecasterScoreRequest_messageType struct{} + +func (x fastReflection_QueryCurrentLowestForecasterScoreRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCurrentLowestForecasterScoreRequest)(nil) +} +func (x fastReflection_QueryCurrentLowestForecasterScoreRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCurrentLowestForecasterScoreRequest) +} +func (x fastReflection_QueryCurrentLowestForecasterScoreRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCurrentLowestForecasterScoreRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCurrentLowestForecasterScoreRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryCurrentLowestForecasterScoreRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) New() protoreflect.Message { + return new(fastReflection_QueryCurrentLowestForecasterScoreRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) Interface() protoreflect.ProtoMessage { + return (*QueryCurrentLowestForecasterScoreRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.TopicId != uint64(0) { + value := protoreflect.ValueOfUint64(x.TopicId) + if !f(fd_QueryCurrentLowestForecasterScoreRequest_topic_id, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestForecasterScoreRequest.topic_id": + return x.TopicId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestForecasterScoreRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestForecasterScoreRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestForecasterScoreRequest.topic_id": + x.TopicId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestForecasterScoreRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestForecasterScoreRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "emissions.v3.QueryCurrentLowestForecasterScoreRequest.topic_id": + value := x.TopicId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestForecasterScoreRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestForecasterScoreRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestForecasterScoreRequest.topic_id": + x.TopicId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestForecasterScoreRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestForecasterScoreRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestForecasterScoreRequest.topic_id": + panic(fmt.Errorf("field topic_id of message emissions.v3.QueryCurrentLowestForecasterScoreRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestForecasterScoreRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestForecasterScoreRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestForecasterScoreRequest.topic_id": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestForecasterScoreRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestForecasterScoreRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryCurrentLowestForecasterScoreRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCurrentLowestForecasterScoreRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCurrentLowestForecasterScoreRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.TopicId != 0 { + n += 1 + runtime.Sov(uint64(x.TopicId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCurrentLowestForecasterScoreRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.TopicId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCurrentLowestForecasterScoreRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCurrentLowestForecasterScoreRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCurrentLowestForecasterScoreRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + x.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryCurrentLowestForecasterScoreResponse protoreflect.MessageDescriptor + fd_QueryCurrentLowestForecasterScoreResponse_score protoreflect.FieldDescriptor +) + +func init() { + file_emissions_v3_query_proto_init() + md_QueryCurrentLowestForecasterScoreResponse = File_emissions_v3_query_proto.Messages().ByName("QueryCurrentLowestForecasterScoreResponse") + fd_QueryCurrentLowestForecasterScoreResponse_score = md_QueryCurrentLowestForecasterScoreResponse.Fields().ByName("score") +} + +var _ protoreflect.Message = (*fastReflection_QueryCurrentLowestForecasterScoreResponse)(nil) + +type fastReflection_QueryCurrentLowestForecasterScoreResponse QueryCurrentLowestForecasterScoreResponse + +func (x *QueryCurrentLowestForecasterScoreResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCurrentLowestForecasterScoreResponse)(x) +} + +func (x *QueryCurrentLowestForecasterScoreResponse) slowProtoReflect() protoreflect.Message { + mi := &file_emissions_v3_query_proto_msgTypes[135] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCurrentLowestForecasterScoreResponse_messageType fastReflection_QueryCurrentLowestForecasterScoreResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryCurrentLowestForecasterScoreResponse_messageType{} + +type fastReflection_QueryCurrentLowestForecasterScoreResponse_messageType struct{} + +func (x fastReflection_QueryCurrentLowestForecasterScoreResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCurrentLowestForecasterScoreResponse)(nil) +} +func (x fastReflection_QueryCurrentLowestForecasterScoreResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCurrentLowestForecasterScoreResponse) +} +func (x fastReflection_QueryCurrentLowestForecasterScoreResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCurrentLowestForecasterScoreResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCurrentLowestForecasterScoreResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryCurrentLowestForecasterScoreResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) New() protoreflect.Message { + return new(fastReflection_QueryCurrentLowestForecasterScoreResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) Interface() protoreflect.ProtoMessage { + return (*QueryCurrentLowestForecasterScoreResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Score != nil { + value := protoreflect.ValueOfMessage(x.Score.ProtoReflect()) + if !f(fd_QueryCurrentLowestForecasterScoreResponse_score, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestForecasterScoreResponse.score": + return x.Score != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestForecasterScoreResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestForecasterScoreResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestForecasterScoreResponse.score": + x.Score = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestForecasterScoreResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestForecasterScoreResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "emissions.v3.QueryCurrentLowestForecasterScoreResponse.score": + value := x.Score + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestForecasterScoreResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestForecasterScoreResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestForecasterScoreResponse.score": + x.Score = value.Message().Interface().(*Score) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestForecasterScoreResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestForecasterScoreResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestForecasterScoreResponse.score": + if x.Score == nil { + x.Score = new(Score) + } + return protoreflect.ValueOfMessage(x.Score.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestForecasterScoreResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestForecasterScoreResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestForecasterScoreResponse.score": + m := new(Score) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestForecasterScoreResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestForecasterScoreResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryCurrentLowestForecasterScoreResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCurrentLowestForecasterScoreResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCurrentLowestForecasterScoreResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Score != nil { + l = options.Size(x.Score) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCurrentLowestForecasterScoreResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Score != nil { + encoded, err := options.Marshal(x.Score) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCurrentLowestForecasterScoreResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCurrentLowestForecasterScoreResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCurrentLowestForecasterScoreResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Score", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Score == nil { + x.Score = &Score{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Score); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryReputersScoresAtBlockRequest protoreflect.MessageDescriptor + fd_QueryReputersScoresAtBlockRequest_topic_id protoreflect.FieldDescriptor + fd_QueryReputersScoresAtBlockRequest_block_height protoreflect.FieldDescriptor +) + +func init() { + file_emissions_v3_query_proto_init() + md_QueryReputersScoresAtBlockRequest = File_emissions_v3_query_proto.Messages().ByName("QueryReputersScoresAtBlockRequest") + fd_QueryReputersScoresAtBlockRequest_topic_id = md_QueryReputersScoresAtBlockRequest.Fields().ByName("topic_id") + fd_QueryReputersScoresAtBlockRequest_block_height = md_QueryReputersScoresAtBlockRequest.Fields().ByName("block_height") +} + +var _ protoreflect.Message = (*fastReflection_QueryReputersScoresAtBlockRequest)(nil) + +type fastReflection_QueryReputersScoresAtBlockRequest QueryReputersScoresAtBlockRequest + +func (x *QueryReputersScoresAtBlockRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryReputersScoresAtBlockRequest)(x) +} + +func (x *QueryReputersScoresAtBlockRequest) slowProtoReflect() protoreflect.Message { + mi := &file_emissions_v3_query_proto_msgTypes[136] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryReputersScoresAtBlockRequest_messageType fastReflection_QueryReputersScoresAtBlockRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryReputersScoresAtBlockRequest_messageType{} + +type fastReflection_QueryReputersScoresAtBlockRequest_messageType struct{} + +func (x fastReflection_QueryReputersScoresAtBlockRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryReputersScoresAtBlockRequest)(nil) +} +func (x fastReflection_QueryReputersScoresAtBlockRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryReputersScoresAtBlockRequest) +} +func (x fastReflection_QueryReputersScoresAtBlockRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryReputersScoresAtBlockRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryReputersScoresAtBlockRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryReputersScoresAtBlockRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) New() protoreflect.Message { + return new(fastReflection_QueryReputersScoresAtBlockRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) Interface() protoreflect.ProtoMessage { + return (*QueryReputersScoresAtBlockRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.TopicId != uint64(0) { + value := protoreflect.ValueOfUint64(x.TopicId) + if !f(fd_QueryReputersScoresAtBlockRequest_topic_id, value) { + return + } + } + if x.BlockHeight != int64(0) { + value := protoreflect.ValueOfInt64(x.BlockHeight) + if !f(fd_QueryReputersScoresAtBlockRequest_block_height, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "emissions.v3.QueryReputersScoresAtBlockRequest.topic_id": + return x.TopicId != uint64(0) + case "emissions.v3.QueryReputersScoresAtBlockRequest.block_height": + return x.BlockHeight != int64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "emissions.v3.QueryReputersScoresAtBlockRequest.topic_id": + x.TopicId = uint64(0) + case "emissions.v3.QueryReputersScoresAtBlockRequest.block_height": + x.BlockHeight = int64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "emissions.v3.QueryReputersScoresAtBlockRequest.topic_id": + value := x.TopicId + return protoreflect.ValueOfUint64(value) + case "emissions.v3.QueryReputersScoresAtBlockRequest.block_height": + value := x.BlockHeight + return protoreflect.ValueOfInt64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "emissions.v3.QueryReputersScoresAtBlockRequest.topic_id": + x.TopicId = value.Uint() + case "emissions.v3.QueryReputersScoresAtBlockRequest.block_height": + x.BlockHeight = value.Int() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryReputersScoresAtBlockRequest.topic_id": + panic(fmt.Errorf("field topic_id of message emissions.v3.QueryReputersScoresAtBlockRequest is not mutable")) + case "emissions.v3.QueryReputersScoresAtBlockRequest.block_height": + panic(fmt.Errorf("field block_height of message emissions.v3.QueryReputersScoresAtBlockRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryReputersScoresAtBlockRequest.topic_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "emissions.v3.QueryReputersScoresAtBlockRequest.block_height": + return protoreflect.ValueOfInt64(int64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryReputersScoresAtBlockRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryReputersScoresAtBlockRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryReputersScoresAtBlockRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.TopicId != 0 { + n += 1 + runtime.Sov(uint64(x.TopicId)) + } + if x.BlockHeight != 0 { + n += 1 + runtime.Sov(uint64(x.BlockHeight)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryReputersScoresAtBlockRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.BlockHeight != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BlockHeight)) + i-- + dAtA[i] = 0x10 + } + if x.TopicId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryReputersScoresAtBlockRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryReputersScoresAtBlockRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryReputersScoresAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + x.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + } + x.BlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.BlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryReputersScoresAtBlockResponse protoreflect.MessageDescriptor + fd_QueryReputersScoresAtBlockResponse_scores protoreflect.FieldDescriptor +) + +func init() { + file_emissions_v3_query_proto_init() + md_QueryReputersScoresAtBlockResponse = File_emissions_v3_query_proto.Messages().ByName("QueryReputersScoresAtBlockResponse") + fd_QueryReputersScoresAtBlockResponse_scores = md_QueryReputersScoresAtBlockResponse.Fields().ByName("scores") +} + +var _ protoreflect.Message = (*fastReflection_QueryReputersScoresAtBlockResponse)(nil) + +type fastReflection_QueryReputersScoresAtBlockResponse QueryReputersScoresAtBlockResponse + +func (x *QueryReputersScoresAtBlockResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryReputersScoresAtBlockResponse)(x) +} + +func (x *QueryReputersScoresAtBlockResponse) slowProtoReflect() protoreflect.Message { + mi := &file_emissions_v3_query_proto_msgTypes[137] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryReputersScoresAtBlockResponse_messageType fastReflection_QueryReputersScoresAtBlockResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryReputersScoresAtBlockResponse_messageType{} + +type fastReflection_QueryReputersScoresAtBlockResponse_messageType struct{} + +func (x fastReflection_QueryReputersScoresAtBlockResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryReputersScoresAtBlockResponse)(nil) +} +func (x fastReflection_QueryReputersScoresAtBlockResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryReputersScoresAtBlockResponse) +} +func (x fastReflection_QueryReputersScoresAtBlockResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryReputersScoresAtBlockResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryReputersScoresAtBlockResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryReputersScoresAtBlockResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) New() protoreflect.Message { + return new(fastReflection_QueryReputersScoresAtBlockResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) Interface() protoreflect.ProtoMessage { + return (*QueryReputersScoresAtBlockResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Scores != nil { + value := protoreflect.ValueOfMessage(x.Scores.ProtoReflect()) + if !f(fd_QueryReputersScoresAtBlockResponse_scores, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "emissions.v3.QueryReputersScoresAtBlockResponse.scores": + return x.Scores != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "emissions.v3.QueryReputersScoresAtBlockResponse.scores": + x.Scores = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "emissions.v3.QueryReputersScoresAtBlockResponse.scores": + value := x.Scores + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "emissions.v3.QueryReputersScoresAtBlockResponse.scores": + x.Scores = value.Message().Interface().(*Scores) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryReputersScoresAtBlockResponse.scores": + if x.Scores == nil { + x.Scores = new(Scores) + } + return protoreflect.ValueOfMessage(x.Scores.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryReputersScoresAtBlockResponse.scores": + m := new(Scores) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryReputersScoresAtBlockResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryReputersScoresAtBlockResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryReputersScoresAtBlockResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryReputersScoresAtBlockResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryReputersScoresAtBlockResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Scores != nil { + l = options.Size(x.Scores) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryReputersScoresAtBlockResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Scores != nil { + encoded, err := options.Marshal(x.Scores) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryReputersScoresAtBlockResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryReputersScoresAtBlockResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryReputersScoresAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Scores", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Scores == nil { + x.Scores = &Scores{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Scores); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryCurrentLowestReputerScoreRequest protoreflect.MessageDescriptor + fd_QueryCurrentLowestReputerScoreRequest_topic_id protoreflect.FieldDescriptor +) + +func init() { + file_emissions_v3_query_proto_init() + md_QueryCurrentLowestReputerScoreRequest = File_emissions_v3_query_proto.Messages().ByName("QueryCurrentLowestReputerScoreRequest") + fd_QueryCurrentLowestReputerScoreRequest_topic_id = md_QueryCurrentLowestReputerScoreRequest.Fields().ByName("topic_id") +} + +var _ protoreflect.Message = (*fastReflection_QueryCurrentLowestReputerScoreRequest)(nil) + +type fastReflection_QueryCurrentLowestReputerScoreRequest QueryCurrentLowestReputerScoreRequest + +func (x *QueryCurrentLowestReputerScoreRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCurrentLowestReputerScoreRequest)(x) +} + +func (x *QueryCurrentLowestReputerScoreRequest) slowProtoReflect() protoreflect.Message { + mi := &file_emissions_v3_query_proto_msgTypes[138] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCurrentLowestReputerScoreRequest_messageType fastReflection_QueryCurrentLowestReputerScoreRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryCurrentLowestReputerScoreRequest_messageType{} + +type fastReflection_QueryCurrentLowestReputerScoreRequest_messageType struct{} + +func (x fastReflection_QueryCurrentLowestReputerScoreRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCurrentLowestReputerScoreRequest)(nil) +} +func (x fastReflection_QueryCurrentLowestReputerScoreRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCurrentLowestReputerScoreRequest) +} +func (x fastReflection_QueryCurrentLowestReputerScoreRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCurrentLowestReputerScoreRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCurrentLowestReputerScoreRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryCurrentLowestReputerScoreRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) New() protoreflect.Message { + return new(fastReflection_QueryCurrentLowestReputerScoreRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) Interface() protoreflect.ProtoMessage { + return (*QueryCurrentLowestReputerScoreRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.TopicId != uint64(0) { + value := protoreflect.ValueOfUint64(x.TopicId) + if !f(fd_QueryCurrentLowestReputerScoreRequest_topic_id, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestReputerScoreRequest.topic_id": + return x.TopicId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestReputerScoreRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestReputerScoreRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestReputerScoreRequest.topic_id": + x.TopicId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestReputerScoreRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestReputerScoreRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "emissions.v3.QueryCurrentLowestReputerScoreRequest.topic_id": + value := x.TopicId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestReputerScoreRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestReputerScoreRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestReputerScoreRequest.topic_id": + x.TopicId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestReputerScoreRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestReputerScoreRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestReputerScoreRequest.topic_id": + panic(fmt.Errorf("field topic_id of message emissions.v3.QueryCurrentLowestReputerScoreRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestReputerScoreRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestReputerScoreRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestReputerScoreRequest.topic_id": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestReputerScoreRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestReputerScoreRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryCurrentLowestReputerScoreRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCurrentLowestReputerScoreRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCurrentLowestReputerScoreRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.TopicId != 0 { + n += 1 + runtime.Sov(uint64(x.TopicId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCurrentLowestReputerScoreRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.TopicId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCurrentLowestReputerScoreRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCurrentLowestReputerScoreRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCurrentLowestReputerScoreRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + x.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryCurrentLowestReputerScoreResponse protoreflect.MessageDescriptor + fd_QueryCurrentLowestReputerScoreResponse_score protoreflect.FieldDescriptor +) + +func init() { + file_emissions_v3_query_proto_init() + md_QueryCurrentLowestReputerScoreResponse = File_emissions_v3_query_proto.Messages().ByName("QueryCurrentLowestReputerScoreResponse") + fd_QueryCurrentLowestReputerScoreResponse_score = md_QueryCurrentLowestReputerScoreResponse.Fields().ByName("score") +} + +var _ protoreflect.Message = (*fastReflection_QueryCurrentLowestReputerScoreResponse)(nil) + +type fastReflection_QueryCurrentLowestReputerScoreResponse QueryCurrentLowestReputerScoreResponse + +func (x *QueryCurrentLowestReputerScoreResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCurrentLowestReputerScoreResponse)(x) +} + +func (x *QueryCurrentLowestReputerScoreResponse) slowProtoReflect() protoreflect.Message { + mi := &file_emissions_v3_query_proto_msgTypes[139] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCurrentLowestReputerScoreResponse_messageType fastReflection_QueryCurrentLowestReputerScoreResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryCurrentLowestReputerScoreResponse_messageType{} + +type fastReflection_QueryCurrentLowestReputerScoreResponse_messageType struct{} + +func (x fastReflection_QueryCurrentLowestReputerScoreResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCurrentLowestReputerScoreResponse)(nil) +} +func (x fastReflection_QueryCurrentLowestReputerScoreResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCurrentLowestReputerScoreResponse) +} +func (x fastReflection_QueryCurrentLowestReputerScoreResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCurrentLowestReputerScoreResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCurrentLowestReputerScoreResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryCurrentLowestReputerScoreResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) New() protoreflect.Message { + return new(fastReflection_QueryCurrentLowestReputerScoreResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) Interface() protoreflect.ProtoMessage { + return (*QueryCurrentLowestReputerScoreResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Score != nil { + value := protoreflect.ValueOfMessage(x.Score.ProtoReflect()) + if !f(fd_QueryCurrentLowestReputerScoreResponse_score, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestReputerScoreResponse.score": + return x.Score != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestReputerScoreResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestReputerScoreResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestReputerScoreResponse.score": + x.Score = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestReputerScoreResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestReputerScoreResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "emissions.v3.QueryCurrentLowestReputerScoreResponse.score": + value := x.Score + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestReputerScoreResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestReputerScoreResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestReputerScoreResponse.score": + x.Score = value.Message().Interface().(*Score) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestReputerScoreResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestReputerScoreResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestReputerScoreResponse.score": + if x.Score == nil { + x.Score = new(Score) + } + return protoreflect.ValueOfMessage(x.Score.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestReputerScoreResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestReputerScoreResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryCurrentLowestReputerScoreResponse.score": + m := new(Score) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryCurrentLowestReputerScoreResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryCurrentLowestReputerScoreResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryCurrentLowestReputerScoreResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCurrentLowestReputerScoreResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCurrentLowestReputerScoreResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Score != nil { + l = options.Size(x.Score) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCurrentLowestReputerScoreResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Score != nil { + encoded, err := options.Marshal(x.Score) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCurrentLowestReputerScoreResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCurrentLowestReputerScoreResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCurrentLowestReputerScoreResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Score", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Score == nil { + x.Score = &Score{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Score); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryListeningCoefficientRequest protoreflect.MessageDescriptor + fd_QueryListeningCoefficientRequest_topic_id protoreflect.FieldDescriptor + fd_QueryListeningCoefficientRequest_reputer protoreflect.FieldDescriptor +) + +func init() { + file_emissions_v3_query_proto_init() + md_QueryListeningCoefficientRequest = File_emissions_v3_query_proto.Messages().ByName("QueryListeningCoefficientRequest") + fd_QueryListeningCoefficientRequest_topic_id = md_QueryListeningCoefficientRequest.Fields().ByName("topic_id") + fd_QueryListeningCoefficientRequest_reputer = md_QueryListeningCoefficientRequest.Fields().ByName("reputer") +} + +var _ protoreflect.Message = (*fastReflection_QueryListeningCoefficientRequest)(nil) + +type fastReflection_QueryListeningCoefficientRequest QueryListeningCoefficientRequest + +func (x *QueryListeningCoefficientRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryListeningCoefficientRequest)(x) +} + +func (x *QueryListeningCoefficientRequest) slowProtoReflect() protoreflect.Message { + mi := &file_emissions_v3_query_proto_msgTypes[140] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryListeningCoefficientRequest_messageType fastReflection_QueryListeningCoefficientRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryListeningCoefficientRequest_messageType{} + +type fastReflection_QueryListeningCoefficientRequest_messageType struct{} + +func (x fastReflection_QueryListeningCoefficientRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryListeningCoefficientRequest)(nil) +} +func (x fastReflection_QueryListeningCoefficientRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryListeningCoefficientRequest) +} +func (x fastReflection_QueryListeningCoefficientRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryListeningCoefficientRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryListeningCoefficientRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryListeningCoefficientRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryListeningCoefficientRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryListeningCoefficientRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryListeningCoefficientRequest) New() protoreflect.Message { + return new(fastReflection_QueryListeningCoefficientRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryListeningCoefficientRequest) Interface() protoreflect.ProtoMessage { + return (*QueryListeningCoefficientRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryListeningCoefficientRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.TopicId != uint64(0) { + value := protoreflect.ValueOfUint64(x.TopicId) + if !f(fd_QueryListeningCoefficientRequest_topic_id, value) { + return + } + } + if x.Reputer != "" { + value := protoreflect.ValueOfString(x.Reputer) + if !f(fd_QueryListeningCoefficientRequest_reputer, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryListeningCoefficientRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "emissions.v3.QueryListeningCoefficientRequest.topic_id": + return x.TopicId != uint64(0) + case "emissions.v3.QueryListeningCoefficientRequest.reputer": + return x.Reputer != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryListeningCoefficientRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "emissions.v3.QueryListeningCoefficientRequest.topic_id": + x.TopicId = uint64(0) + case "emissions.v3.QueryListeningCoefficientRequest.reputer": + x.Reputer = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryListeningCoefficientRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "emissions.v3.QueryListeningCoefficientRequest.topic_id": + value := x.TopicId + return protoreflect.ValueOfUint64(value) + case "emissions.v3.QueryListeningCoefficientRequest.reputer": + value := x.Reputer + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryListeningCoefficientRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "emissions.v3.QueryListeningCoefficientRequest.topic_id": + x.TopicId = value.Uint() + case "emissions.v3.QueryListeningCoefficientRequest.reputer": + x.Reputer = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryListeningCoefficientRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryListeningCoefficientRequest.topic_id": + panic(fmt.Errorf("field topic_id of message emissions.v3.QueryListeningCoefficientRequest is not mutable")) + case "emissions.v3.QueryListeningCoefficientRequest.reputer": + panic(fmt.Errorf("field reputer of message emissions.v3.QueryListeningCoefficientRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryListeningCoefficientRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryListeningCoefficientRequest.topic_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "emissions.v3.QueryListeningCoefficientRequest.reputer": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientRequest")) + } + panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryListeningCoefficientRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryListeningCoefficientRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryListeningCoefficientRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryListeningCoefficientRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryListeningCoefficientRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryListeningCoefficientRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryListeningCoefficientRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.TopicId != 0 { + n += 1 + runtime.Sov(uint64(x.TopicId)) + } + l = len(x.Reputer) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryListeningCoefficientRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Reputer) > 0 { + i -= len(x.Reputer) + copy(dAtA[i:], x.Reputer) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reputer))) + i-- + dAtA[i] = 0x12 + } + if x.TopicId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryListeningCoefficientRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryListeningCoefficientRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryListeningCoefficientRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + x.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Reputer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Reputer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryListeningCoefficientResponse protoreflect.MessageDescriptor + fd_QueryListeningCoefficientResponse_listening_coefficient protoreflect.FieldDescriptor +) + +func init() { + file_emissions_v3_query_proto_init() + md_QueryListeningCoefficientResponse = File_emissions_v3_query_proto.Messages().ByName("QueryListeningCoefficientResponse") + fd_QueryListeningCoefficientResponse_listening_coefficient = md_QueryListeningCoefficientResponse.Fields().ByName("listening_coefficient") +} + +var _ protoreflect.Message = (*fastReflection_QueryListeningCoefficientResponse)(nil) + +type fastReflection_QueryListeningCoefficientResponse QueryListeningCoefficientResponse + +func (x *QueryListeningCoefficientResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryListeningCoefficientResponse)(x) +} + +func (x *QueryListeningCoefficientResponse) slowProtoReflect() protoreflect.Message { + mi := &file_emissions_v3_query_proto_msgTypes[141] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryListeningCoefficientResponse_messageType fastReflection_QueryListeningCoefficientResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryListeningCoefficientResponse_messageType{} + +type fastReflection_QueryListeningCoefficientResponse_messageType struct{} + +func (x fastReflection_QueryListeningCoefficientResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryListeningCoefficientResponse)(nil) +} +func (x fastReflection_QueryListeningCoefficientResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryListeningCoefficientResponse) +} +func (x fastReflection_QueryListeningCoefficientResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryListeningCoefficientResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryListeningCoefficientResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryListeningCoefficientResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryListeningCoefficientResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryListeningCoefficientResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryListeningCoefficientResponse) New() protoreflect.Message { + return new(fastReflection_QueryListeningCoefficientResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryListeningCoefficientResponse) Interface() protoreflect.ProtoMessage { + return (*QueryListeningCoefficientResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryListeningCoefficientResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ListeningCoefficient != nil { + value := protoreflect.ValueOfMessage(x.ListeningCoefficient.ProtoReflect()) + if !f(fd_QueryListeningCoefficientResponse_listening_coefficient, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryListeningCoefficientResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "emissions.v3.QueryListeningCoefficientResponse.listening_coefficient": + return x.ListeningCoefficient != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryListeningCoefficientResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "emissions.v3.QueryListeningCoefficientResponse.listening_coefficient": + x.ListeningCoefficient = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryListeningCoefficientResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "emissions.v3.QueryListeningCoefficientResponse.listening_coefficient": + value := x.ListeningCoefficient + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryListeningCoefficientResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "emissions.v3.QueryListeningCoefficientResponse.listening_coefficient": + x.ListeningCoefficient = value.Message().Interface().(*ListeningCoefficient) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryListeningCoefficientResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryListeningCoefficientResponse.listening_coefficient": + if x.ListeningCoefficient == nil { + x.ListeningCoefficient = new(ListeningCoefficient) + } + return protoreflect.ValueOfMessage(x.ListeningCoefficient.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryListeningCoefficientResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "emissions.v3.QueryListeningCoefficientResponse.listening_coefficient": + m := new(ListeningCoefficient) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v3.QueryListeningCoefficientResponse")) + } + panic(fmt.Errorf("message emissions.v3.QueryListeningCoefficientResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryListeningCoefficientResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in emissions.v3.QueryListeningCoefficientResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryListeningCoefficientResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryListeningCoefficientResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryListeningCoefficientResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryListeningCoefficientResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryListeningCoefficientResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.ListeningCoefficient != nil { + l = options.Size(x.ListeningCoefficient) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryListeningCoefficientResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.ListeningCoefficient != nil { + encoded, err := options.Marshal(x.ListeningCoefficient) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryListeningCoefficientResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryListeningCoefficientResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryListeningCoefficientResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ListeningCoefficient", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.ListeningCoefficient == nil { + x.ListeningCoefficient = &ListeningCoefficient{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ListeningCoefficient); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryPreviousReputerRewardFractionRequest protoreflect.MessageDescriptor + fd_QueryPreviousReputerRewardFractionRequest_topic_id protoreflect.FieldDescriptor + fd_QueryPreviousReputerRewardFractionRequest_reputer protoreflect.FieldDescriptor +) + +func init() { + file_emissions_v3_query_proto_init() + md_QueryPreviousReputerRewardFractionRequest = File_emissions_v3_query_proto.Messages().ByName("QueryPreviousReputerRewardFractionRequest") + fd_QueryPreviousReputerRewardFractionRequest_topic_id = md_QueryPreviousReputerRewardFractionRequest.Fields().ByName("topic_id") + fd_QueryPreviousReputerRewardFractionRequest_reputer = md_QueryPreviousReputerRewardFractionRequest.Fields().ByName("reputer") +} + +var _ protoreflect.Message = (*fastReflection_QueryPreviousReputerRewardFractionRequest)(nil) + +type fastReflection_QueryPreviousReputerRewardFractionRequest QueryPreviousReputerRewardFractionRequest + +func (x *QueryPreviousReputerRewardFractionRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryPreviousReputerRewardFractionRequest)(x) +} + +func (x *QueryPreviousReputerRewardFractionRequest) slowProtoReflect() protoreflect.Message { + mi := &file_emissions_v3_query_proto_msgTypes[142] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryPreviousReputerRewardFractionRequest_messageType fastReflection_QueryPreviousReputerRewardFractionRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryPreviousReputerRewardFractionRequest_messageType{} + +type fastReflection_QueryPreviousReputerRewardFractionRequest_messageType struct{} + +func (x fastReflection_QueryPreviousReputerRewardFractionRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryPreviousReputerRewardFractionRequest)(nil) +} +func (x fastReflection_QueryPreviousReputerRewardFractionRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryPreviousReputerRewardFractionRequest) +} +func (x fastReflection_QueryPreviousReputerRewardFractionRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryPreviousReputerRewardFractionRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryPreviousReputerRewardFractionRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryPreviousReputerRewardFractionRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryPreviousReputerRewardFractionRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryPreviousReputerRewardFractionRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryPreviousReputerRewardFractionRequest) New() protoreflect.Message { + return new(fastReflection_QueryPreviousReputerRewardFractionRequest) } // Interface unwraps the message reflection interface and @@ -59908,7 +64897,7 @@ func (x *QueryPreviousReputerRewardFractionResponse) ProtoReflect() protoreflect } func (x *QueryPreviousReputerRewardFractionResponse) slowProtoReflect() protoreflect.Message { - mi := &file_emissions_v3_query_proto_msgTypes[131] + mi := &file_emissions_v3_query_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60382,7 +65371,7 @@ func (x *QueryPreviousInferenceRewardFractionRequest) ProtoReflect() protoreflec } func (x *QueryPreviousInferenceRewardFractionRequest) slowProtoReflect() protoreflect.Message { - mi := &file_emissions_v3_query_proto_msgTypes[132] + mi := &file_emissions_v3_query_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60850,7 +65839,7 @@ func (x *QueryPreviousInferenceRewardFractionResponse) ProtoReflect() protorefle } func (x *QueryPreviousInferenceRewardFractionResponse) slowProtoReflect() protoreflect.Message { - mi := &file_emissions_v3_query_proto_msgTypes[133] + mi := &file_emissions_v3_query_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -61324,7 +66313,7 @@ func (x *QueryPreviousForecastRewardFractionRequest) ProtoReflect() protoreflect } func (x *QueryPreviousForecastRewardFractionRequest) slowProtoReflect() protoreflect.Message { - mi := &file_emissions_v3_query_proto_msgTypes[134] + mi := &file_emissions_v3_query_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -61792,7 +66781,7 @@ func (x *QueryPreviousForecastRewardFractionResponse) ProtoReflect() protoreflec } func (x *QueryPreviousForecastRewardFractionResponse) slowProtoReflect() protoreflect.Message { - mi := &file_emissions_v3_query_proto_msgTypes[135] + mi := &file_emissions_v3_query_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62262,7 +67251,7 @@ func (x *QueryPreviousPercentageRewardToStakedReputersRequest) ProtoReflect() pr } func (x *QueryPreviousPercentageRewardToStakedReputersRequest) slowProtoReflect() protoreflect.Message { - mi := &file_emissions_v3_query_proto_msgTypes[136] + mi := &file_emissions_v3_query_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62620,7 +67609,7 @@ func (x *QueryPreviousPercentageRewardToStakedReputersResponse) ProtoReflect() p } func (x *QueryPreviousPercentageRewardToStakedReputersResponse) slowProtoReflect() protoreflect.Message { - mi := &file_emissions_v3_query_proto_msgTypes[137] + mi := &file_emissions_v3_query_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63038,7 +68027,7 @@ func (x *QueryTotalRewardToDistributeRequest) ProtoReflect() protoreflect.Messag } func (x *QueryTotalRewardToDistributeRequest) slowProtoReflect() protoreflect.Message { - mi := &file_emissions_v3_query_proto_msgTypes[138] + mi := &file_emissions_v3_query_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63396,7 +68385,7 @@ func (x *QueryTotalRewardToDistributeResponse) ProtoReflect() protoreflect.Messa } func (x *QueryTotalRewardToDistributeResponse) slowProtoReflect() protoreflect.Message { - mi := &file_emissions_v3_query_proto_msgTypes[139] + mi := &file_emissions_v3_query_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63816,7 +68805,7 @@ func (x *QueryActiveTopicsAtBlockRequest) ProtoReflect() protoreflect.Message { } func (x *QueryActiveTopicsAtBlockRequest) slowProtoReflect() protoreflect.Message { - mi := &file_emissions_v3_query_proto_msgTypes[140] + mi := &file_emissions_v3_query_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64273,7 +69262,7 @@ func (x *QueryActiveTopicsAtBlockResponse) ProtoReflect() protoreflect.Message { } func (x *QueryActiveTopicsAtBlockResponse) slowProtoReflect() protoreflect.Message { - mi := &file_emissions_v3_query_proto_msgTypes[141] + mi := &file_emissions_v3_query_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64793,7 +69782,7 @@ func (x *QueryNextChurningBlockByTopicIdRequest) ProtoReflect() protoreflect.Mes } func (x *QueryNextChurningBlockByTopicIdRequest) slowProtoReflect() protoreflect.Message { - mi := &file_emissions_v3_query_proto_msgTypes[142] + mi := &file_emissions_v3_query_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65197,7 +70186,7 @@ func (x *QueryNextChurningBlockByTopicIdResponse) ProtoReflect() protoreflect.Me } func (x *QueryNextChurningBlockByTopicIdResponse) slowProtoReflect() protoreflect.Message { - mi := &file_emissions_v3_query_proto_msgTypes[143] + mi := &file_emissions_v3_query_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -70169,56 +75158,344 @@ func (*QueryGetReputerScoreEmaRequest) Descriptor() ([]byte, []int) { return file_emissions_v3_query_proto_rawDescGZIP(), []int{116} } -func (x *QueryGetReputerScoreEmaRequest) GetTopicId() uint64 { +func (x *QueryGetReputerScoreEmaRequest) GetTopicId() uint64 { + if x != nil { + return x.TopicId + } + return 0 +} + +func (x *QueryGetReputerScoreEmaRequest) GetReputer() string { + if x != nil { + return x.Reputer + } + return "" +} + +type QueryGetReputerScoreEmaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Score *Score `protobuf:"bytes,1,opt,name=score,proto3" json:"score,omitempty"` +} + +func (x *QueryGetReputerScoreEmaResponse) Reset() { + *x = QueryGetReputerScoreEmaResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_emissions_v3_query_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetReputerScoreEmaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetReputerScoreEmaResponse) ProtoMessage() {} + +// Deprecated: Use QueryGetReputerScoreEmaResponse.ProtoReflect.Descriptor instead. +func (*QueryGetReputerScoreEmaResponse) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{117} +} + +func (x *QueryGetReputerScoreEmaResponse) GetScore() *Score { + if x != nil { + return x.Score + } + return nil +} + +type QueryInferenceScoresUntilBlockRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` + BlockHeight int64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` +} + +func (x *QueryInferenceScoresUntilBlockRequest) Reset() { + *x = QueryInferenceScoresUntilBlockRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_emissions_v3_query_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryInferenceScoresUntilBlockRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryInferenceScoresUntilBlockRequest) ProtoMessage() {} + +// Deprecated: Use QueryInferenceScoresUntilBlockRequest.ProtoReflect.Descriptor instead. +func (*QueryInferenceScoresUntilBlockRequest) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{118} +} + +func (x *QueryInferenceScoresUntilBlockRequest) GetTopicId() uint64 { + if x != nil { + return x.TopicId + } + return 0 +} + +func (x *QueryInferenceScoresUntilBlockRequest) GetBlockHeight() int64 { + if x != nil { + return x.BlockHeight + } + return 0 +} + +type QueryInferenceScoresUntilBlockResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Scores []*Score `protobuf:"bytes,1,rep,name=scores,proto3" json:"scores,omitempty"` +} + +func (x *QueryInferenceScoresUntilBlockResponse) Reset() { + *x = QueryInferenceScoresUntilBlockResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_emissions_v3_query_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryInferenceScoresUntilBlockResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryInferenceScoresUntilBlockResponse) ProtoMessage() {} + +// Deprecated: Use QueryInferenceScoresUntilBlockResponse.ProtoReflect.Descriptor instead. +func (*QueryInferenceScoresUntilBlockResponse) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{119} +} + +func (x *QueryInferenceScoresUntilBlockResponse) GetScores() []*Score { + if x != nil { + return x.Scores + } + return nil +} + +type QueryGetPreviousTopicQuantileForecasterScoreEmaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` +} + +func (x *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Reset() { + *x = QueryGetPreviousTopicQuantileForecasterScoreEmaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_emissions_v3_query_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) ProtoMessage() {} + +// Deprecated: Use QueryGetPreviousTopicQuantileForecasterScoreEmaRequest.ProtoReflect.Descriptor instead. +func (*QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{120} +} + +func (x *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) GetTopicId() uint64 { + if x != nil { + return x.TopicId + } + return 0 +} + +type QueryGetPreviousTopicQuantileForecasterScoreEmaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Reset() { + *x = QueryGetPreviousTopicQuantileForecasterScoreEmaResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_emissions_v3_query_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) ProtoMessage() {} + +// Deprecated: Use QueryGetPreviousTopicQuantileForecasterScoreEmaResponse.ProtoReflect.Descriptor instead. +func (*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{121} +} + +func (x *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +type QueryGetPreviousTopicQuantileInfererScoreEmaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` +} + +func (x *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Reset() { + *x = QueryGetPreviousTopicQuantileInfererScoreEmaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_emissions_v3_query_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetPreviousTopicQuantileInfererScoreEmaRequest) ProtoMessage() {} + +// Deprecated: Use QueryGetPreviousTopicQuantileInfererScoreEmaRequest.ProtoReflect.Descriptor instead. +func (*QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{122} +} + +func (x *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) GetTopicId() uint64 { + if x != nil { + return x.TopicId + } + return 0 +} + +type QueryGetPreviousTopicQuantileInfererScoreEmaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Reset() { + *x = QueryGetPreviousTopicQuantileInfererScoreEmaResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_emissions_v3_query_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetPreviousTopicQuantileInfererScoreEmaResponse) ProtoMessage() {} + +// Deprecated: Use QueryGetPreviousTopicQuantileInfererScoreEmaResponse.ProtoReflect.Descriptor instead. +func (*QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{123} +} + +func (x *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +type QueryGetPreviousTopicQuantileReputerScoreEmaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` +} + +func (x *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Reset() { + *x = QueryGetPreviousTopicQuantileReputerScoreEmaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_emissions_v3_query_proto_msgTypes[124] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetPreviousTopicQuantileReputerScoreEmaRequest) ProtoMessage() {} + +// Deprecated: Use QueryGetPreviousTopicQuantileReputerScoreEmaRequest.ProtoReflect.Descriptor instead. +func (*QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{124} +} + +func (x *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) GetTopicId() uint64 { if x != nil { return x.TopicId } return 0 } -func (x *QueryGetReputerScoreEmaRequest) GetReputer() string { - if x != nil { - return x.Reputer - } - return "" -} - -type QueryGetReputerScoreEmaResponse struct { +type QueryGetPreviousTopicQuantileReputerScoreEmaResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Score *Score `protobuf:"bytes,1,opt,name=score,proto3" json:"score,omitempty"` + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` } -func (x *QueryGetReputerScoreEmaResponse) Reset() { - *x = QueryGetReputerScoreEmaResponse{} +func (x *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Reset() { + *x = QueryGetPreviousTopicQuantileReputerScoreEmaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[117] + mi := &file_emissions_v3_query_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryGetReputerScoreEmaResponse) String() string { +func (x *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryGetReputerScoreEmaResponse) ProtoMessage() {} +func (*QueryGetPreviousTopicQuantileReputerScoreEmaResponse) ProtoMessage() {} -// Deprecated: Use QueryGetReputerScoreEmaResponse.ProtoReflect.Descriptor instead. -func (*QueryGetReputerScoreEmaResponse) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{117} +// Deprecated: Use QueryGetPreviousTopicQuantileReputerScoreEmaResponse.ProtoReflect.Descriptor instead. +func (*QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{125} } -func (x *QueryGetReputerScoreEmaResponse) GetScore() *Score { +func (x *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) GetValue() string { if x != nil { - return x.Score + return x.Value } - return nil + return "" } -type QueryInferenceScoresUntilBlockRequest struct { +type QueryWorkerInferenceScoresAtBlockRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -70227,149 +75504,141 @@ type QueryInferenceScoresUntilBlockRequest struct { BlockHeight int64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` } -func (x *QueryInferenceScoresUntilBlockRequest) Reset() { - *x = QueryInferenceScoresUntilBlockRequest{} +func (x *QueryWorkerInferenceScoresAtBlockRequest) Reset() { + *x = QueryWorkerInferenceScoresAtBlockRequest{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[118] + mi := &file_emissions_v3_query_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryInferenceScoresUntilBlockRequest) String() string { +func (x *QueryWorkerInferenceScoresAtBlockRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryInferenceScoresUntilBlockRequest) ProtoMessage() {} +func (*QueryWorkerInferenceScoresAtBlockRequest) ProtoMessage() {} -// Deprecated: Use QueryInferenceScoresUntilBlockRequest.ProtoReflect.Descriptor instead. -func (*QueryInferenceScoresUntilBlockRequest) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{118} +// Deprecated: Use QueryWorkerInferenceScoresAtBlockRequest.ProtoReflect.Descriptor instead. +func (*QueryWorkerInferenceScoresAtBlockRequest) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{126} } -func (x *QueryInferenceScoresUntilBlockRequest) GetTopicId() uint64 { +func (x *QueryWorkerInferenceScoresAtBlockRequest) GetTopicId() uint64 { if x != nil { return x.TopicId } return 0 } -func (x *QueryInferenceScoresUntilBlockRequest) GetBlockHeight() int64 { +func (x *QueryWorkerInferenceScoresAtBlockRequest) GetBlockHeight() int64 { if x != nil { return x.BlockHeight } return 0 } -type QueryInferenceScoresUntilBlockResponse struct { +type QueryWorkerInferenceScoresAtBlockResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Scores []*Score `protobuf:"bytes,1,rep,name=scores,proto3" json:"scores,omitempty"` + Scores *Scores `protobuf:"bytes,1,opt,name=scores,proto3" json:"scores,omitempty"` } -func (x *QueryInferenceScoresUntilBlockResponse) Reset() { - *x = QueryInferenceScoresUntilBlockResponse{} +func (x *QueryWorkerInferenceScoresAtBlockResponse) Reset() { + *x = QueryWorkerInferenceScoresAtBlockResponse{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[119] + mi := &file_emissions_v3_query_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryInferenceScoresUntilBlockResponse) String() string { +func (x *QueryWorkerInferenceScoresAtBlockResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryInferenceScoresUntilBlockResponse) ProtoMessage() {} +func (*QueryWorkerInferenceScoresAtBlockResponse) ProtoMessage() {} -// Deprecated: Use QueryInferenceScoresUntilBlockResponse.ProtoReflect.Descriptor instead. -func (*QueryInferenceScoresUntilBlockResponse) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{119} +// Deprecated: Use QueryWorkerInferenceScoresAtBlockResponse.ProtoReflect.Descriptor instead. +func (*QueryWorkerInferenceScoresAtBlockResponse) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{127} } -func (x *QueryInferenceScoresUntilBlockResponse) GetScores() []*Score { +func (x *QueryWorkerInferenceScoresAtBlockResponse) GetScores() *Scores { if x != nil { return x.Scores } return nil } -type QueryWorkerInferenceScoresAtBlockRequest struct { +type QueryCurrentLowestInfererScoreRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` - BlockHeight int64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` } -func (x *QueryWorkerInferenceScoresAtBlockRequest) Reset() { - *x = QueryWorkerInferenceScoresAtBlockRequest{} +func (x *QueryCurrentLowestInfererScoreRequest) Reset() { + *x = QueryCurrentLowestInfererScoreRequest{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[120] + mi := &file_emissions_v3_query_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryWorkerInferenceScoresAtBlockRequest) String() string { +func (x *QueryCurrentLowestInfererScoreRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryWorkerInferenceScoresAtBlockRequest) ProtoMessage() {} +func (*QueryCurrentLowestInfererScoreRequest) ProtoMessage() {} -// Deprecated: Use QueryWorkerInferenceScoresAtBlockRequest.ProtoReflect.Descriptor instead. -func (*QueryWorkerInferenceScoresAtBlockRequest) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{120} +// Deprecated: Use QueryCurrentLowestInfererScoreRequest.ProtoReflect.Descriptor instead. +func (*QueryCurrentLowestInfererScoreRequest) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{128} } -func (x *QueryWorkerInferenceScoresAtBlockRequest) GetTopicId() uint64 { +func (x *QueryCurrentLowestInfererScoreRequest) GetTopicId() uint64 { if x != nil { return x.TopicId } return 0 } -func (x *QueryWorkerInferenceScoresAtBlockRequest) GetBlockHeight() int64 { - if x != nil { - return x.BlockHeight - } - return 0 -} - -type QueryWorkerInferenceScoresAtBlockResponse struct { +type QueryCurrentLowestInfererScoreResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Scores *Scores `protobuf:"bytes,1,opt,name=scores,proto3" json:"scores,omitempty"` + Score *Score `protobuf:"bytes,1,opt,name=score,proto3" json:"score,omitempty"` } -func (x *QueryWorkerInferenceScoresAtBlockResponse) Reset() { - *x = QueryWorkerInferenceScoresAtBlockResponse{} +func (x *QueryCurrentLowestInfererScoreResponse) Reset() { + *x = QueryCurrentLowestInfererScoreResponse{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[121] + mi := &file_emissions_v3_query_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryWorkerInferenceScoresAtBlockResponse) String() string { +func (x *QueryCurrentLowestInfererScoreResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryWorkerInferenceScoresAtBlockResponse) ProtoMessage() {} +func (*QueryCurrentLowestInfererScoreResponse) ProtoMessage() {} -// Deprecated: Use QueryWorkerInferenceScoresAtBlockResponse.ProtoReflect.Descriptor instead. -func (*QueryWorkerInferenceScoresAtBlockResponse) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{121} +// Deprecated: Use QueryCurrentLowestInfererScoreResponse.ProtoReflect.Descriptor instead. +func (*QueryCurrentLowestInfererScoreResponse) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{129} } -func (x *QueryWorkerInferenceScoresAtBlockResponse) GetScores() *Scores { +func (x *QueryCurrentLowestInfererScoreResponse) GetScore() *Score { if x != nil { - return x.Scores + return x.Score } return nil } @@ -70386,7 +75655,7 @@ type QueryForecastScoresUntilBlockRequest struct { func (x *QueryForecastScoresUntilBlockRequest) Reset() { *x = QueryForecastScoresUntilBlockRequest{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[122] + mi := &file_emissions_v3_query_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70400,7 +75669,7 @@ func (*QueryForecastScoresUntilBlockRequest) ProtoMessage() {} // Deprecated: Use QueryForecastScoresUntilBlockRequest.ProtoReflect.Descriptor instead. func (*QueryForecastScoresUntilBlockRequest) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{122} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{130} } func (x *QueryForecastScoresUntilBlockRequest) GetTopicId() uint64 { @@ -70428,7 +75697,7 @@ type QueryForecastScoresUntilBlockResponse struct { func (x *QueryForecastScoresUntilBlockResponse) Reset() { *x = QueryForecastScoresUntilBlockResponse{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[123] + mi := &file_emissions_v3_query_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70442,7 +75711,7 @@ func (*QueryForecastScoresUntilBlockResponse) ProtoMessage() {} // Deprecated: Use QueryForecastScoresUntilBlockResponse.ProtoReflect.Descriptor instead. func (*QueryForecastScoresUntilBlockResponse) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{123} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{131} } func (x *QueryForecastScoresUntilBlockResponse) GetScores() []*Score { @@ -70464,7 +75733,7 @@ type QueryWorkerForecastScoresAtBlockRequest struct { func (x *QueryWorkerForecastScoresAtBlockRequest) Reset() { *x = QueryWorkerForecastScoresAtBlockRequest{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[124] + mi := &file_emissions_v3_query_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70478,7 +75747,7 @@ func (*QueryWorkerForecastScoresAtBlockRequest) ProtoMessage() {} // Deprecated: Use QueryWorkerForecastScoresAtBlockRequest.ProtoReflect.Descriptor instead. func (*QueryWorkerForecastScoresAtBlockRequest) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{124} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{132} } func (x *QueryWorkerForecastScoresAtBlockRequest) GetTopicId() uint64 { @@ -70506,7 +75775,7 @@ type QueryWorkerForecastScoresAtBlockResponse struct { func (x *QueryWorkerForecastScoresAtBlockResponse) Reset() { *x = QueryWorkerForecastScoresAtBlockResponse{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[125] + mi := &file_emissions_v3_query_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70520,7 +75789,7 @@ func (*QueryWorkerForecastScoresAtBlockResponse) ProtoMessage() {} // Deprecated: Use QueryWorkerForecastScoresAtBlockResponse.ProtoReflect.Descriptor instead. func (*QueryWorkerForecastScoresAtBlockResponse) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{125} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{133} } func (x *QueryWorkerForecastScoresAtBlockResponse) GetScores() *Scores { @@ -70530,6 +75799,76 @@ func (x *QueryWorkerForecastScoresAtBlockResponse) GetScores() *Scores { return nil } +type QueryCurrentLowestForecasterScoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` +} + +func (x *QueryCurrentLowestForecasterScoreRequest) Reset() { + *x = QueryCurrentLowestForecasterScoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_emissions_v3_query_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCurrentLowestForecasterScoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCurrentLowestForecasterScoreRequest) ProtoMessage() {} + +// Deprecated: Use QueryCurrentLowestForecasterScoreRequest.ProtoReflect.Descriptor instead. +func (*QueryCurrentLowestForecasterScoreRequest) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{134} +} + +func (x *QueryCurrentLowestForecasterScoreRequest) GetTopicId() uint64 { + if x != nil { + return x.TopicId + } + return 0 +} + +type QueryCurrentLowestForecasterScoreResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Score *Score `protobuf:"bytes,1,opt,name=score,proto3" json:"score,omitempty"` +} + +func (x *QueryCurrentLowestForecasterScoreResponse) Reset() { + *x = QueryCurrentLowestForecasterScoreResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_emissions_v3_query_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCurrentLowestForecasterScoreResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCurrentLowestForecasterScoreResponse) ProtoMessage() {} + +// Deprecated: Use QueryCurrentLowestForecasterScoreResponse.ProtoReflect.Descriptor instead. +func (*QueryCurrentLowestForecasterScoreResponse) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{135} +} + +func (x *QueryCurrentLowestForecasterScoreResponse) GetScore() *Score { + if x != nil { + return x.Score + } + return nil +} + type QueryReputersScoresAtBlockRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -70542,7 +75881,7 @@ type QueryReputersScoresAtBlockRequest struct { func (x *QueryReputersScoresAtBlockRequest) Reset() { *x = QueryReputersScoresAtBlockRequest{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[126] + mi := &file_emissions_v3_query_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70556,7 +75895,7 @@ func (*QueryReputersScoresAtBlockRequest) ProtoMessage() {} // Deprecated: Use QueryReputersScoresAtBlockRequest.ProtoReflect.Descriptor instead. func (*QueryReputersScoresAtBlockRequest) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{126} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{136} } func (x *QueryReputersScoresAtBlockRequest) GetTopicId() uint64 { @@ -70584,7 +75923,7 @@ type QueryReputersScoresAtBlockResponse struct { func (x *QueryReputersScoresAtBlockResponse) Reset() { *x = QueryReputersScoresAtBlockResponse{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[127] + mi := &file_emissions_v3_query_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70598,7 +75937,7 @@ func (*QueryReputersScoresAtBlockResponse) ProtoMessage() {} // Deprecated: Use QueryReputersScoresAtBlockResponse.ProtoReflect.Descriptor instead. func (*QueryReputersScoresAtBlockResponse) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{127} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{137} } func (x *QueryReputersScoresAtBlockResponse) GetScores() *Scores { @@ -70608,6 +75947,76 @@ func (x *QueryReputersScoresAtBlockResponse) GetScores() *Scores { return nil } +type QueryCurrentLowestReputerScoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` +} + +func (x *QueryCurrentLowestReputerScoreRequest) Reset() { + *x = QueryCurrentLowestReputerScoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_emissions_v3_query_proto_msgTypes[138] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCurrentLowestReputerScoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCurrentLowestReputerScoreRequest) ProtoMessage() {} + +// Deprecated: Use QueryCurrentLowestReputerScoreRequest.ProtoReflect.Descriptor instead. +func (*QueryCurrentLowestReputerScoreRequest) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{138} +} + +func (x *QueryCurrentLowestReputerScoreRequest) GetTopicId() uint64 { + if x != nil { + return x.TopicId + } + return 0 +} + +type QueryCurrentLowestReputerScoreResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Score *Score `protobuf:"bytes,1,opt,name=score,proto3" json:"score,omitempty"` +} + +func (x *QueryCurrentLowestReputerScoreResponse) Reset() { + *x = QueryCurrentLowestReputerScoreResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_emissions_v3_query_proto_msgTypes[139] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCurrentLowestReputerScoreResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCurrentLowestReputerScoreResponse) ProtoMessage() {} + +// Deprecated: Use QueryCurrentLowestReputerScoreResponse.ProtoReflect.Descriptor instead. +func (*QueryCurrentLowestReputerScoreResponse) Descriptor() ([]byte, []int) { + return file_emissions_v3_query_proto_rawDescGZIP(), []int{139} +} + +func (x *QueryCurrentLowestReputerScoreResponse) GetScore() *Score { + if x != nil { + return x.Score + } + return nil +} + type QueryListeningCoefficientRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -70620,7 +76029,7 @@ type QueryListeningCoefficientRequest struct { func (x *QueryListeningCoefficientRequest) Reset() { *x = QueryListeningCoefficientRequest{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[128] + mi := &file_emissions_v3_query_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70634,7 +76043,7 @@ func (*QueryListeningCoefficientRequest) ProtoMessage() {} // Deprecated: Use QueryListeningCoefficientRequest.ProtoReflect.Descriptor instead. func (*QueryListeningCoefficientRequest) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{128} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{140} } func (x *QueryListeningCoefficientRequest) GetTopicId() uint64 { @@ -70662,7 +76071,7 @@ type QueryListeningCoefficientResponse struct { func (x *QueryListeningCoefficientResponse) Reset() { *x = QueryListeningCoefficientResponse{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[129] + mi := &file_emissions_v3_query_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70676,7 +76085,7 @@ func (*QueryListeningCoefficientResponse) ProtoMessage() {} // Deprecated: Use QueryListeningCoefficientResponse.ProtoReflect.Descriptor instead. func (*QueryListeningCoefficientResponse) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{129} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{141} } func (x *QueryListeningCoefficientResponse) GetListeningCoefficient() *ListeningCoefficient { @@ -70698,7 +76107,7 @@ type QueryPreviousReputerRewardFractionRequest struct { func (x *QueryPreviousReputerRewardFractionRequest) Reset() { *x = QueryPreviousReputerRewardFractionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[130] + mi := &file_emissions_v3_query_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70712,7 +76121,7 @@ func (*QueryPreviousReputerRewardFractionRequest) ProtoMessage() {} // Deprecated: Use QueryPreviousReputerRewardFractionRequest.ProtoReflect.Descriptor instead. func (*QueryPreviousReputerRewardFractionRequest) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{130} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{142} } func (x *QueryPreviousReputerRewardFractionRequest) GetTopicId() uint64 { @@ -70741,7 +76150,7 @@ type QueryPreviousReputerRewardFractionResponse struct { func (x *QueryPreviousReputerRewardFractionResponse) Reset() { *x = QueryPreviousReputerRewardFractionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[131] + mi := &file_emissions_v3_query_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70755,7 +76164,7 @@ func (*QueryPreviousReputerRewardFractionResponse) ProtoMessage() {} // Deprecated: Use QueryPreviousReputerRewardFractionResponse.ProtoReflect.Descriptor instead. func (*QueryPreviousReputerRewardFractionResponse) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{131} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{143} } func (x *QueryPreviousReputerRewardFractionResponse) GetRewardFraction() string { @@ -70784,7 +76193,7 @@ type QueryPreviousInferenceRewardFractionRequest struct { func (x *QueryPreviousInferenceRewardFractionRequest) Reset() { *x = QueryPreviousInferenceRewardFractionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[132] + mi := &file_emissions_v3_query_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70798,7 +76207,7 @@ func (*QueryPreviousInferenceRewardFractionRequest) ProtoMessage() {} // Deprecated: Use QueryPreviousInferenceRewardFractionRequest.ProtoReflect.Descriptor instead. func (*QueryPreviousInferenceRewardFractionRequest) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{132} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{144} } func (x *QueryPreviousInferenceRewardFractionRequest) GetTopicId() uint64 { @@ -70827,7 +76236,7 @@ type QueryPreviousInferenceRewardFractionResponse struct { func (x *QueryPreviousInferenceRewardFractionResponse) Reset() { *x = QueryPreviousInferenceRewardFractionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[133] + mi := &file_emissions_v3_query_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70841,7 +76250,7 @@ func (*QueryPreviousInferenceRewardFractionResponse) ProtoMessage() {} // Deprecated: Use QueryPreviousInferenceRewardFractionResponse.ProtoReflect.Descriptor instead. func (*QueryPreviousInferenceRewardFractionResponse) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{133} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{145} } func (x *QueryPreviousInferenceRewardFractionResponse) GetRewardFraction() string { @@ -70870,7 +76279,7 @@ type QueryPreviousForecastRewardFractionRequest struct { func (x *QueryPreviousForecastRewardFractionRequest) Reset() { *x = QueryPreviousForecastRewardFractionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[134] + mi := &file_emissions_v3_query_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70884,7 +76293,7 @@ func (*QueryPreviousForecastRewardFractionRequest) ProtoMessage() {} // Deprecated: Use QueryPreviousForecastRewardFractionRequest.ProtoReflect.Descriptor instead. func (*QueryPreviousForecastRewardFractionRequest) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{134} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{146} } func (x *QueryPreviousForecastRewardFractionRequest) GetTopicId() uint64 { @@ -70913,7 +76322,7 @@ type QueryPreviousForecastRewardFractionResponse struct { func (x *QueryPreviousForecastRewardFractionResponse) Reset() { *x = QueryPreviousForecastRewardFractionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[135] + mi := &file_emissions_v3_query_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70927,7 +76336,7 @@ func (*QueryPreviousForecastRewardFractionResponse) ProtoMessage() {} // Deprecated: Use QueryPreviousForecastRewardFractionResponse.ProtoReflect.Descriptor instead. func (*QueryPreviousForecastRewardFractionResponse) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{135} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{147} } func (x *QueryPreviousForecastRewardFractionResponse) GetRewardFraction() string { @@ -70953,7 +76362,7 @@ type QueryPreviousPercentageRewardToStakedReputersRequest struct { func (x *QueryPreviousPercentageRewardToStakedReputersRequest) Reset() { *x = QueryPreviousPercentageRewardToStakedReputersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[136] + mi := &file_emissions_v3_query_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70967,7 +76376,7 @@ func (*QueryPreviousPercentageRewardToStakedReputersRequest) ProtoMessage() {} // Deprecated: Use QueryPreviousPercentageRewardToStakedReputersRequest.ProtoReflect.Descriptor instead. func (*QueryPreviousPercentageRewardToStakedReputersRequest) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{136} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{148} } type QueryPreviousPercentageRewardToStakedReputersResponse struct { @@ -70981,7 +76390,7 @@ type QueryPreviousPercentageRewardToStakedReputersResponse struct { func (x *QueryPreviousPercentageRewardToStakedReputersResponse) Reset() { *x = QueryPreviousPercentageRewardToStakedReputersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[137] + mi := &file_emissions_v3_query_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70995,7 +76404,7 @@ func (*QueryPreviousPercentageRewardToStakedReputersResponse) ProtoMessage() {} // Deprecated: Use QueryPreviousPercentageRewardToStakedReputersResponse.ProtoReflect.Descriptor instead. func (*QueryPreviousPercentageRewardToStakedReputersResponse) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{137} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{149} } func (x *QueryPreviousPercentageRewardToStakedReputersResponse) GetPercentageReward() string { @@ -71014,7 +76423,7 @@ type QueryTotalRewardToDistributeRequest struct { func (x *QueryTotalRewardToDistributeRequest) Reset() { *x = QueryTotalRewardToDistributeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[138] + mi := &file_emissions_v3_query_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71028,7 +76437,7 @@ func (*QueryTotalRewardToDistributeRequest) ProtoMessage() {} // Deprecated: Use QueryTotalRewardToDistributeRequest.ProtoReflect.Descriptor instead. func (*QueryTotalRewardToDistributeRequest) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{138} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{150} } type QueryTotalRewardToDistributeResponse struct { @@ -71042,7 +76451,7 @@ type QueryTotalRewardToDistributeResponse struct { func (x *QueryTotalRewardToDistributeResponse) Reset() { *x = QueryTotalRewardToDistributeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[139] + mi := &file_emissions_v3_query_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71056,7 +76465,7 @@ func (*QueryTotalRewardToDistributeResponse) ProtoMessage() {} // Deprecated: Use QueryTotalRewardToDistributeResponse.ProtoReflect.Descriptor instead. func (*QueryTotalRewardToDistributeResponse) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{139} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{151} } func (x *QueryTotalRewardToDistributeResponse) GetTotalReward() string { @@ -71077,7 +76486,7 @@ type QueryActiveTopicsAtBlockRequest struct { func (x *QueryActiveTopicsAtBlockRequest) Reset() { *x = QueryActiveTopicsAtBlockRequest{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[140] + mi := &file_emissions_v3_query_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71091,7 +76500,7 @@ func (*QueryActiveTopicsAtBlockRequest) ProtoMessage() {} // Deprecated: Use QueryActiveTopicsAtBlockRequest.ProtoReflect.Descriptor instead. func (*QueryActiveTopicsAtBlockRequest) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{140} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{152} } func (x *QueryActiveTopicsAtBlockRequest) GetBlockHeight() int64 { @@ -71113,7 +76522,7 @@ type QueryActiveTopicsAtBlockResponse struct { func (x *QueryActiveTopicsAtBlockResponse) Reset() { *x = QueryActiveTopicsAtBlockResponse{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[141] + mi := &file_emissions_v3_query_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71127,7 +76536,7 @@ func (*QueryActiveTopicsAtBlockResponse) ProtoMessage() {} // Deprecated: Use QueryActiveTopicsAtBlockResponse.ProtoReflect.Descriptor instead. func (*QueryActiveTopicsAtBlockResponse) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{141} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{153} } func (x *QueryActiveTopicsAtBlockResponse) GetTopics() []*Topic { @@ -71155,7 +76564,7 @@ type QueryNextChurningBlockByTopicIdRequest struct { func (x *QueryNextChurningBlockByTopicIdRequest) Reset() { *x = QueryNextChurningBlockByTopicIdRequest{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[142] + mi := &file_emissions_v3_query_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71169,7 +76578,7 @@ func (*QueryNextChurningBlockByTopicIdRequest) ProtoMessage() {} // Deprecated: Use QueryNextChurningBlockByTopicIdRequest.ProtoReflect.Descriptor instead. func (*QueryNextChurningBlockByTopicIdRequest) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{142} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{154} } func (x *QueryNextChurningBlockByTopicIdRequest) GetTopicId() uint64 { @@ -71190,7 +76599,7 @@ type QueryNextChurningBlockByTopicIdResponse struct { func (x *QueryNextChurningBlockByTopicIdResponse) Reset() { *x = QueryNextChurningBlockByTopicIdResponse{} if protoimpl.UnsafeEnabled { - mi := &file_emissions_v3_query_proto_msgTypes[143] + mi := &file_emissions_v3_query_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71204,7 +76613,7 @@ func (*QueryNextChurningBlockByTopicIdResponse) ProtoMessage() {} // Deprecated: Use QueryNextChurningBlockByTopicIdResponse.ProtoReflect.Descriptor instead. func (*QueryNextChurningBlockByTopicIdResponse) Descriptor() ([]byte, []int) { - return file_emissions_v3_query_proto_rawDescGZIP(), []int{143} + return file_emissions_v3_query_proto_rawDescGZIP(), []int{155} } func (x *QueryNextChurningBlockByTopicIdResponse) GetBlockHeight() int64 { @@ -72045,1076 +77454,1234 @@ var file_emissions_v3_query_proto_rawDesc = []byte{ 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, - 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x68, 0x0a, - 0x28, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x59, 0x0a, 0x29, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x73, 0x22, 0x64, 0x0a, 0x24, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x63, - 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x54, 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x55, - 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, - 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x67, - 0x0a, 0x27, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x46, 0x6f, 0x72, - 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x58, 0x0a, 0x28, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, - 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x73, 0x22, 0x61, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x53, 0x0a, + 0x36, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x46, 0x6f, + 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x49, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x37, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, + 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, + 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x50, 0x0a, + 0x33, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x49, 0x6e, + 0x66, 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x22, + 0x85, 0x01, 0x0a, 0x34, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, + 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, + 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, + 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, + 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, + 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x50, 0x0a, 0x33, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x22, 0x85, 0x01, 0x0a, 0x34, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x68, 0x0a, 0x28, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, + 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, + 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x59, 0x0a, 0x29, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x06, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x42, 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x65, + 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x26, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, + 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, + 0x64, 0x0a, 0x24, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x54, 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6f, + 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x55, 0x6e, 0x74, 0x69, + 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, + 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x27, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, + 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x22, 0x52, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, - 0x75, 0x74, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, - 0x52, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x57, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, - 0x63, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x22, 0x7c, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x14, 0x6c, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x22, - 0x60, 0x0a, 0x29, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, - 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x22, 0xab, 0x01, 0x0a, 0x2a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, - 0x6f, 0x75, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x60, 0x0a, 0x0f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, - 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, - 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, - 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, - 0x65, 0x63, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x22, - 0x60, 0x0a, 0x2b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, - 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, - 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, - 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x6f, 0x72, 0x6b, 0x65, - 0x72, 0x22, 0xad, 0x01, 0x0a, 0x2c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, - 0x6f, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, - 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, - 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, - 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, - 0x64, 0x22, 0x5f, 0x0a, 0x2a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, - 0x75, 0x73, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x6f, 0x72, 0x6b, - 0x65, 0x72, 0x22, 0xac, 0x01, 0x0a, 0x2b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, - 0x69, 0x6f, 0x75, 0x73, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, - 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, - 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, - 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, - 0x64, 0x22, 0x36, 0x0a, 0x34, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, - 0x75, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x54, 0x6f, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x35, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x53, 0x74, 0x61, - 0x6b, 0x65, 0x64, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x11, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, - 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, + 0x69, 0x67, 0x68, 0x74, 0x22, 0x58, 0x0a, 0x28, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x45, + 0x0a, 0x28, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, + 0x77, 0x65, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x29, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, + 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x61, 0x0a, + 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x21, 0x0a, + 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x22, 0x52, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x06, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x73, 0x22, 0x42, 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, + 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x26, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, + 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x57, 0x0a, + 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x22, 0x7c, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x15, 0x6c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, + 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x14, + 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, + 0x69, 0x65, 0x6e, 0x74, 0x22, 0x60, 0x0a, 0x29, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, + 0x76, 0x69, 0x6f, 0x75, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x22, 0xab, 0x01, 0x0a, 0x2a, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, + 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, - 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x10, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x25, 0x0a, 0x23, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x82, 0x01, 0x0a, 0x24, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x44, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x20, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x2b, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x4c, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, - 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x50, 0x61, 0x67, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x43, 0x0a, 0x26, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x78, 0x74, 0x43, 0x68, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, - 0x22, 0x4c, 0x0a, 0x27, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x78, 0x74, 0x43, 0x68, 0x75, + 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x5f, 0x66, + 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x46, + 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x60, 0x0a, 0x2b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, + 0x76, 0x69, 0x6f, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x22, 0xad, 0x01, 0x0a, 0x2c, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0f, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x74, + 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x6f, + 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x5f, 0x0a, 0x2a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x22, 0xac, 0x01, 0x0a, 0x2b, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, + 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0f, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x74, + 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x6f, + 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x36, 0x0a, 0x34, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x52, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x9d, + 0x01, 0x0a, 0x35, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, + 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x54, 0x6f, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x11, 0x70, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x10, 0x70, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x25, + 0x0a, 0x23, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x24, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, + 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0b, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x44, 0x0a, 0x1f, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x41, + 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, + 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x22, 0x9d, 0x01, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, + 0x63, 0x73, 0x12, 0x4c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x75, 0x72, 0x73, + 0x6f, 0x72, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x43, 0x0a, 0x26, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x78, 0x74, 0x43, 0x68, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x32, 0xf9, - 0x6f, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x6b, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x12, 0x20, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, - 0x14, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, - 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x25, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x78, - 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x26, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x78, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x76, 0x33, 0x2f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, - 0x64, 0x12, 0x7b, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x1f, 0x2e, + 0x63, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x49, 0x64, 0x22, 0x4c, 0x0a, 0x27, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, + 0x78, 0x74, 0x43, 0x68, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, + 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x32, 0xf2, 0x7a, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x6b, 0x0a, + 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x20, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x25, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, - 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2c, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xde, - 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x79, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, - 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x77, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, - 0xb2, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x2b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, - 0x12, 0x32, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, - 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x7d, 0x12, 0xb6, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, + 0x72, 0x79, 0x4e, 0x65, 0x78, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x78, 0x74, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x88, 0xe7, + 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x12, 0x7b, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x12, 0x1f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, + 0x33, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, + 0x69, 0x64, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x42, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x88, 0xe7, + 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, + 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x73, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x7d, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0xb2, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x2b, 0x2e, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, + 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, + 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xb6, 0x01, 0x0a, 0x18, 0x47, 0x65, + 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x73, + 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x73, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2c, 0x12, 0x2a, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, - 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xae, 0x01, - 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x73, 0x41, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, - 0x73, 0x74, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x73, 0x41, - 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, - 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x6f, 0x72, 0x65, 0x63, - 0x61, 0x73, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xc9, - 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x73, - 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x32, - 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x73, 0x73, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, - 0x73, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x76, 0x33, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6c, 0x6f, 0x73, 0x73, - 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0x84, 0x01, 0x0a, 0x0d, 0x47, - 0x65, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x24, 0x2e, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x6b, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x88, 0xe7, 0xb0, 0x2a, 0x01, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x6b, - 0x65, 0x12, 0xb6, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x2d, 0x2e, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x88, 0xe7, 0xb0, - 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, - 0x73, 0x74, 0x61, 0x6b, 0x65, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, - 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xbd, 0x01, 0x0a, 0x1b, 0x47, - 0x65, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x32, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, - 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, - 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x35, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, - 0x12, 0x28, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, - 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x73, 0x2f, - 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe1, 0x01, 0x0a, 0x20, 0x47, - 0x65, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x12, - 0x37, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, - 0x75, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x6e, 0x53, 0x65, 0x6c, - 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, - 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x49, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x4a, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, - 0x3d, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, - 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x73, 0x65, 0x6c, - 0x66, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x7d, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe5, - 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x88, 0xe7, 0xb0, 0x2a, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, + 0x64, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, + 0x73, 0x74, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x2a, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, + 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x63, + 0x61, 0x73, 0x74, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, + 0x12, 0x31, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, + 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x7d, 0x12, 0xc9, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x4c, 0x6f, 0x73, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x74, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x12, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, + 0x6f, 0x73, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x73, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x74, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x88, 0xe7, + 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, + 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, + 0x84, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x6b, + 0x65, 0x12, 0x24, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x6b, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, + 0x6c, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, + 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x12, 0xb6, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x12, 0x2d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x6b, 0x65, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, + 0x65, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x3d, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x70, + 0x75, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, + 0xbd, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, + 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x70, + 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x74, + 0x61, 0x6b, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, + 0xe1, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, + 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x6e, + 0x53, 0x65, 0x6c, 0x66, 0x12, 0x37, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72, + 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x49, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x6b, + 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, + 0x69, 0x64, 0x7d, 0x12, 0xe5, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, + 0x6e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x37, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x49, 0x6e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x38, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x6e, 0x52, 0x65, 0x70, 0x75, - 0x74, 0x65, 0x72, 0x12, 0x37, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x6e, 0x52, 0x65, - 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x6e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x76, 0x33, 0x2f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x7b, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x80, 0x02, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, - 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x6e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x12, 0x3c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x6e, - 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, - 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x88, 0xe7, 0xb0, + 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x2f, 0x7b, + 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, + 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x80, 0x02, 0x0a, 0x25, + 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x6e, 0x52, 0x65, - 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, 0x88, - 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x7b, 0x72, 0x65, - 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x7b, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x1c, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x33, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, - 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, + 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x3c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, + 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x49, 0x6e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, + 0x6d, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x49, 0x6e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x5a, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, + 0x4d, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x2f, 0x7b, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x7d, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd3, + 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, + 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, - 0x33, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, - 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, - 0x89, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x74, 0x61, 0x6b, - 0x65, 0x12, 0x24, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, - 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x65, - 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc3, 0x01, 0x0a, 0x1c, - 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, - 0x55, 0x70, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x33, 0x2e, 0x65, + 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72, + 0x6f, 0x6d, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x88, 0xe7, 0xb0, 0x2a, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, + 0x73, 0x74, 0x61, 0x6b, 0x65, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x89, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x24, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x55, 0x70, - 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, + 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, + 0x12, 0x1e, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, + 0x73, 0x74, 0x61, 0x6b, 0x65, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0xc3, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x55, 0x70, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x12, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x55, 0x70, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, - 0x6c, 0x73, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x7d, 0x12, 0xe4, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x55, 0x70, - 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x3b, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x61, 0x6c, 0x73, 0x55, 0x70, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, - 0x73, 0x55, 0x70, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x36, 0x12, 0x34, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, - 0x33, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, - 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, - 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x88, 0xe7, 0xb0, 0x2a, 0x01, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, - 0x76, 0x61, 0x6c, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, - 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x7d, 0x12, 0xda, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, - 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x65, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x55, 0x70, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x88, 0xe7, + 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xe4, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x61, 0x6c, 0x73, 0x55, 0x70, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, + 0x3b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, + 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x55, 0x70, 0x55, 0x6e, 0x74, 0x69, 0x6c, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x52, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, - 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x61, 0x6c, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, - 0x75, 0x74, 0x65, 0x72, 0x7d, 0x12, 0x95, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, - 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2b, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x99, 0x01, - 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x55, 0x70, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x88, 0xe7, 0xb0, 0x2a, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, + 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x2f, 0x7b, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xad, 0x01, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, + 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x65, + 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, + 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x7d, 0x12, 0xda, 0x01, + 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, + 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x2e, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x76, 0x33, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b, + 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x7d, + 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x7d, 0x12, 0x95, 0x01, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, + 0x33, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x7d, 0x12, 0x99, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, + 0x70, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x88, 0xe7, 0xb0, - 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x2f, - 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xcf, 0x01, 0x0a, 0x1b, 0x49, 0x73, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, - 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, - 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x36, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x1c, - 0x49, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x65, 0x64, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x36, 0x2e, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x49, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, + 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x2c, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x70, + 0x75, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xcf, + 0x01, 0x0a, 0x1b, 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x35, + 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x88, - 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x2f, 0x7b, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x7d, 0x12, 0xed, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x12, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x88, 0xe7, 0xb0, 0x2a, - 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x12, 0x58, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, - 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x7d, 0x12, 0xc3, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, - 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x76, 0x33, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x88, + 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x2f, 0x7b, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, + 0x12, 0xd3, 0x01, 0x0a, 0x1c, 0x49, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, + 0x64, 0x12, 0x36, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, + 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, + 0x64, 0x49, 0x6e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x42, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, + 0x35, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, + 0x64, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xed, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, + 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x65, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x12, 0x58, 0x2f, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x69, + 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x7d, 0x12, 0xc3, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x88, 0xe7, 0xb0, + 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe8, 0x01, 0x0a, + 0x22, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x3a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x88, 0xe7, + 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x4c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3a, - 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, - 0x64, 0x7d, 0x12, 0xd5, 0x01, 0x0a, 0x18, 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, - 0x6f, 0x6e, 0x63, 0x65, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, - 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x6e, 0x63, - 0x65, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, - 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x73, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x6e, - 0x6f, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, - 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x19, 0x49, - 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x55, 0x6e, 0x66, - 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x52, - 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x55, 0x6e, 0x66, 0x75, 0x6c, - 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, + 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd5, 0x01, 0x0a, 0x18, 0x49, 0x73, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, + 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x57, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, + 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x88, + 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x73, 0x5f, 0x77, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x6e, 0x66, 0x75, 0x6c, 0x66, + 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, + 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, + 0xd9, 0x01, 0x0a, 0x19, 0x49, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x6e, + 0x63, 0x65, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, - 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x51, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, - 0x12, 0x44, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, - 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, - 0x5f, 0x75, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x2f, 0x7b, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x55, 0x6e, - 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, - 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, - 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x66, - 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x6f, - 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x88, 0xe7, - 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, - 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, - 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc8, 0x01, - 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, - 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x32, 0x2e, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x70, - 0x75, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, - 0x64, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x76, 0x33, 0x2f, 0x75, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x72, - 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc3, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, - 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, - 0x67, 0x72, 0x65, 0x74, 0x12, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, - 0x33, 0x2f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, - 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xcd, - 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0x31, 0x2e, + 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, + 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, + 0x64, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x1a, + 0x47, 0x65, 0x74, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, + 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3d, 0x12, 0x3b, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, - 0x2f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x7d, 0x12, 0xf1, - 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x65, 0x49, 0x6e, 0x46, 0x6f, 0x72, 0x65, 0x63, + 0x72, 0x79, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3f, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, + 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x6e, + 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, + 0x64, 0x7d, 0x12, 0xc8, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, + 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x6e, 0x63, + 0x65, 0x73, 0x12, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, + 0x65, 0x64, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x66, 0x75, 0x6c, + 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x6e, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x88, 0xe7, 0xb0, + 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, + 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, + 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc3, 0x01, + 0x0a, 0x17, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, + 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, + 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x88, 0xe7, 0xb0, 0x2a, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x2f, 0x7b, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, + 0x69, 0x64, 0x7d, 0x12, 0xcd, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, - 0x65, 0x74, 0x12, 0x36, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x49, 0x6e, 0x46, 0x6f, 0x72, 0x65, - 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, - 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, - 0x6e, 0x65, 0x49, 0x6e, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, - 0x12, 0x50, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, - 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, - 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x66, 0x6f, 0x72, - 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, - 0x72, 0x7d, 0x12, 0x9c, 0x01, 0x0a, 0x10, 0x49, 0x73, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, - 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x57, 0x68, - 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x7d, 0x12, 0xce, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x4c, 0x61, - 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x4c, 0x61, 0x73, 0x74, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x65, 0x74, 0x12, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, + 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x88, 0xe7, 0xb0, 0x2a, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, + 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x2f, + 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x7d, 0x12, 0xf1, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x65, 0x49, 0x6e, + 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0x36, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x49, + 0x6e, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x37, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x49, 0x6e, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x50, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x65, + 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, + 0x65, 0x67, 0x72, 0x65, 0x74, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, + 0x2f, 0x7b, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x69, + 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x7d, 0x12, 0x9c, 0x01, 0x0a, 0x10, 0x49, 0x73, 0x57, 0x68, + 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2a, 0x2e, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x49, 0x73, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x57, + 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x68, 0x69, + 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xce, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x4c, 0x61, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x4c, 0x61, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x88, - 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, - 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, - 0x64, 0x7d, 0x12, 0xd2, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x4c, - 0x61, 0x73, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x4c, 0x61, - 0x73, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x44, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, - 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x4c, 0x61, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x43, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, + 0x36, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2f, 0x7b, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa8, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, - 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4e, - 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, - 0x64, 0x7d, 0x12, 0xd4, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x4c, 0x6f, 0x73, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x12, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4c, - 0x6f, 0x73, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd2, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x35, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x70, + 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa8, 0x01, 0x0a, + 0x13, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4e, + 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x88, + 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, + 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd4, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x73, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x73, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x41, - 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, - 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x2f, - 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xc6, 0x01, 0x0a, 0x18, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, - 0x65, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x88, 0xe7, 0xb0, 0x2a, 0x01, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x75, - 0x74, 0x65, 0x72, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x7b, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x7d, 0x12, 0xd5, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, - 0x6b, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, - 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x48, 0x12, 0x46, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, - 0x33, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, - 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, - 0x7d, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x7d, 0x12, 0xd2, 0x01, 0x0a, 0x1b, 0x47, - 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x55, - 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x55, 0x70, 0x6f, 0x6e, - 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, - 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x55, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, - 0x12, 0x3d, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x75, - 0x70, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x7d, 0x12, - 0xcb, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x30, 0x2e, + 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x50, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x50, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x49, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, - 0x3c, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, - 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x7d, 0x12, 0xdd, 0x01, - 0x0a, 0x23, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, - 0x6c, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x3a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x41, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, - 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x65, 0x6d, + 0x72, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x73, 0x73, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x49, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, + 0x12, 0x3c, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, + 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, + 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xc6, + 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2f, 0x2e, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, + 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x65, - 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x7d, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xdd, 0x01, - 0x0a, 0x17, 0x47, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, - 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x88, 0xe7, 0xb0, 0x2a, - 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x12, 0x54, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x72, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x7d, 0x12, 0xd5, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6c, 0x61, 0x63, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x88, 0xe7, 0xb0, 0x2a, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, - 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x2f, 0x7b, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x2f, 0x7b, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x6f, 0x72, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x7d, 0x12, 0xb4, 0x01, - 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, - 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, - 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x90, 0x01, 0x0a, 0x0b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x45, 0x78, - 0x69, 0x73, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x45, 0x78, - 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x32, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, - 0x12, 0x25, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x99, 0x01, 0x0a, 0x0d, 0x49, 0x73, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x88, 0xe7, - 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x73, 0x5f, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, - 0x69, 0x64, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x46, 0x65, 0x65, 0x52, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x12, 0x29, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x46, 0x65, 0x65, 0x52, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x46, - 0x65, 0x65, 0x52, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x37, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, - 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x2f, - 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x9c, 0x01, 0x0a, 0x13, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x73, 0x12, 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x61, 0x62, 0x6c, - 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, + 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, + 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x7d, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x7d, 0x12, + 0xd2, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x61, 0x6b, 0x65, 0x55, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, + 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, + 0x65, 0x55, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x61, 0x6b, 0x65, 0x55, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, + 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x70, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x12, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2f, 0x7b, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x7d, 0x12, 0xdd, 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x41, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x3a, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x52, 0x65, + 0x70, 0x75, 0x74, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x6b, 0x65, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x41, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, + 0x12, 0x30, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, + 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x2f, 0x7b, 0x72, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, + 0x64, 0x7d, 0x12, 0xdd, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x88, 0xe7, 0xb0, - 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0xb4, 0x01, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, - 0x12, 0x2c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, + 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x88, - 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, - 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x61, 0x2f, 0x7b, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x7d, - 0x12, 0xc3, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, - 0x65, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x88, - 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x61, 0x2f, 0x7b, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x66, 0x6f, 0x72, 0x65, 0x63, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x12, 0x2c, 0x2e, + 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x61, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x12, 0x54, 0x2f, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, + 0x61, 0x6c, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x7d, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, + 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, - 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x88, 0xe7, 0xb0, 0x2a, - 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x61, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, - 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x7d, 0x12, 0xdc, 0x01, - 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, - 0x6f, 0x72, 0x65, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x33, + 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x88, 0xe7, + 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2f, 0x7b, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x90, 0x01, 0x0a, 0x0b, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, + 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x99, 0x01, 0x0a, + 0x0d, 0x49, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x65, 0x72, 0x79, 0x49, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x73, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x35, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, + 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x73, + 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2f, 0x7b, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x46, 0x65, 0x65, 0x52, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x12, + 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x46, 0x65, 0x65, 0x52, 0x65, 0x76, 0x65, + 0x6e, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x46, 0x65, 0x65, 0x52, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x76, + 0x65, 0x6e, 0x75, 0x65, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, + 0x9c, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x61, 0x62, 0x6c, + 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x2c, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0xb4, + 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x45, 0x6d, 0x61, 0x12, 0x2c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, + 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, + 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x41, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, + 0x34, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x69, + 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x61, + 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x69, 0x6e, 0x66, + 0x65, 0x72, 0x65, 0x72, 0x7d, 0x12, 0xc3, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, + 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x12, + 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, + 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, + 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x47, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, + 0x3a, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x66, + 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, + 0x65, 0x6d, 0x61, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, + 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x12, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, + 0x6d, 0x61, 0x12, 0x2c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x41, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x61, 0x2f, 0x7b, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x7d, 0x12, 0xdc, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x12, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x88, 0xe7, 0xb0, 0x2a, 0x01, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, - 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xe9, 0x01, 0x0a, - 0x1f, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x12, 0x36, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x55, 0x6e, 0x74, 0x69, + 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, + 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x6e, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x75, 0x6e, 0x74, 0x69, + 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, + 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x7d, 0x12, 0x84, 0x02, 0x0a, 0x2a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x46, 0x6f, + 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, + 0x12, 0x44, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, + 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, + 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x88, + 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x61, 0x2f, 0x7b, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xf8, 0x01, 0x0a, 0x27, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x45, 0x6d, 0x61, 0x12, 0x41, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, + 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, + 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x45, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x88, 0xe7, 0xb0, + 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x71, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x61, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, + 0x69, 0x64, 0x7d, 0x12, 0xf8, 0x01, 0x0a, 0x27, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, + 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, + 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x12, + 0x41, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, + 0x75, 0x73, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x52, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, + 0x65, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, + 0x65, 0x6d, 0x61, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe9, + 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x12, 0x36, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x55, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, + 0x12, 0x48, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, + 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xcd, 0x01, 0x0a, 0x1c, 0x47, + 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x49, + 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x33, 0x2e, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, + 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, 0x65, + 0x73, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x76, 0x33, 0x2f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x2f, + 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd8, 0x01, 0x0a, 0x1b, 0x47, + 0x65, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, + 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x32, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, + 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x55, 0x6e, 0x74, + 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, + 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x50, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, + 0x12, 0x43, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, + 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, + 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xe5, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x35, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x55, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x12, 0x48, - 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, + 0x6b, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x36, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, + 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, + 0x61, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xd9, 0x01, + 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, 0x65, + 0x73, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x12, 0x36, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, + 0x65, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x45, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, + 0x38, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x6f, + 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x7b, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xcc, 0x01, 0x0a, 0x18, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, + 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x88, 0xe7, 0xb0, 0x2a, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xd8, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, - 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x55, 0x6e, - 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6f, 0x72, - 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x55, - 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x50, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, - 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x6f, - 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x75, 0x6e, - 0x74, 0x69, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x7d, 0x12, 0xe5, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, - 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, - 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x35, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, - 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, - 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, - 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x49, 0x12, 0x47, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, - 0x33, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, - 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xcc, 0x01, 0x0a, 0x18, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, - 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, - 0x75, 0x74, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, - 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x74, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x88, 0xe7, 0xb0, - 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, - 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xc1, 0x01, 0x0a, 0x17, 0x47, - 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, - 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, - 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x7d, 0x12, 0xe7, - 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x52, 0x65, + 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xcd, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, + 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, + 0x75, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, + 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x37, 0x12, 0x35, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, + 0x2f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x7b, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc1, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, + 0x69, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, + 0x33, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x65, 0x66, + 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, + 0x64, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x7d, 0x12, 0xe7, 0x01, 0x0a, + 0x20, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x52, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x37, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, - 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x76, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, - 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, - 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x7d, 0x12, 0xee, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, - 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x39, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x65, 0x6d, 0x69, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x76, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, - 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x21, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, - 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x38, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x46, 0x6f, 0x72, 0x65, - 0x63, 0x61, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, - 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x52, 0x65, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, - 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x77, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x7d, 0x12, 0x80, 0x02, 0x0a, 0x2b, 0x47, 0x65, 0x74, 0x50, 0x72, - 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x52, 0x65, - 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x12, 0x42, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, - 0x6f, 0x75, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x54, 0x6f, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x52, - 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x48, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x76, - 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, - 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x64, - 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x12, 0xba, 0x01, 0x0a, 0x1a, 0x47, 0x65, - 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x44, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, - 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x35, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0xc3, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4e, 0x61, - 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x61, 0x69, 0x76, + 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x72, 0x65, + 0x70, 0x75, 0x74, 0x65, 0x72, 0x7d, 0x12, 0xee, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x50, 0x72, + 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, + 0x76, 0x69, 0x6f, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x46, 0x12, 0x44, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, + 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, + 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x2e, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, + 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, + 0x69, 0x6f, 0x75, 0x73, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x50, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, + 0x43, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x70, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x77, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x7d, 0x12, 0x80, 0x02, 0x0a, 0x2b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, + 0x69, 0x6f, 0x75, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x42, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x54, 0x6f, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, + 0x76, 0x69, 0x6f, 0x75, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x70, + 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x88, + 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, + 0x75, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x5f, 0x72, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x12, 0xba, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, + 0x74, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x88, + 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x12, 0xc3, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, - 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4e, 0x61, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x38, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, - 0x2b, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6e, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0xe4, 0x01, 0x0a, - 0x24, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, - 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, - 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0x3b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, - 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x66, - 0x65, 0x72, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x41, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x6e, 0x65, - 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, - 0x65, 0x72, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x67, - 0x72, 0x65, 0x74, 0x12, 0xf0, 0x01, 0x0a, 0x27, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x65, 0x4f, 0x75, - 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, - 0x3e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, - 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x3f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, - 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x61, 0x69, 0x76, 0x65, 0x49, + 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, + 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, + 0x61, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x44, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x6e, 0x65, - 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, + 0x22, 0x38, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6e, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0xe4, 0x01, 0x0a, 0x24, 0x47, + 0x65, 0x74, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, + 0x72, 0x65, 0x74, 0x12, 0x3b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x49, 0x6e, + 0x66, 0x65, 0x72, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, + 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x6e, 0x65, 0x5f, 0x6f, + 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, + 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, + 0x74, 0x12, 0xf0, 0x01, 0x0a, 0x27, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x49, + 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0x3e, 0x2e, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x46, + 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x46, + 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, + 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x6e, 0x65, 0x5f, 0x6f, + 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, + 0x67, 0x72, 0x65, 0x74, 0x12, 0xf0, 0x01, 0x0a, 0x27, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x65, 0x4f, + 0x75, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, + 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, + 0x12, 0x3e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x44, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, + 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x6e, + 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, + 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0xfc, 0x01, 0x0a, 0x2a, 0x47, 0x65, 0x74, 0x4f, + 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x46, + 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0x41, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x4f, 0x75, + 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, + 0x65, 0x4f, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x46, 0x6f, + 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, + 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x88, + 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x6e, 0x65, 0x5f, 0x6f, 0x75, + 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0xf0, 0x01, 0x0a, 0x27, 0x47, 0x65, 0x74, 0x4f, 0x6e, - 0x65, 0x4f, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, - 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, - 0x65, 0x74, 0x12, 0x3e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x46, 0x6f, 0x72, - 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x46, 0x6f, 0x72, - 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x44, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, - 0x12, 0x37, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, - 0x6f, 0x6e, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0xfc, 0x01, 0x0a, 0x2a, 0x47, 0x65, - 0x74, 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0x41, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x65, - 0x4f, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x72, - 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, - 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x4f, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, - 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x47, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x6e, 0x65, 0x5f, - 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x66, - 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0xb9, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x41, 0x74, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x12, 0x2d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x40, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, - 0x33, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x5f, 0x61, 0x74, 0x5f, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, - 0x43, 0x68, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x78, 0x74, 0x43, - 0x68, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4e, 0x65, 0x78, 0x74, 0x43, 0x68, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x42, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x45, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, - 0x12, 0x38, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x68, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x2f, - 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x42, 0xc0, 0x01, 0x0a, 0x10, 0x63, - 0x6f, 0x6d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x42, - 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4f, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, - 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x76, 0x33, 0x3b, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x76, 0x33, 0xa2, 0x02, - 0x03, 0x45, 0x58, 0x58, 0xaa, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x56, 0x33, 0xca, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, - 0x56, 0x33, 0xe2, 0x02, 0x18, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, - 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0d, - 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0xb9, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x12, 0x2d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x73, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x40, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x5f, 0x61, 0x74, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x2f, 0x7b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x43, 0x68, + 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x49, 0x64, 0x12, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x78, 0x74, 0x43, 0x68, 0x75, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, + 0x65, 0x78, 0x74, 0x43, 0x68, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x42, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x45, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, + 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x63, 0x68, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x2f, 0x7b, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x42, 0xc0, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, + 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4f, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, + 0x3b, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x76, 0x33, 0xa2, 0x02, 0x03, 0x45, + 0x58, 0x58, 0xaa, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, + 0x33, 0xca, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x33, + 0xe2, 0x02, 0x18, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x33, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0d, 0x45, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -73129,377 +78696,404 @@ func file_emissions_v3_query_proto_rawDescGZIP() []byte { return file_emissions_v3_query_proto_rawDescData } -var file_emissions_v3_query_proto_msgTypes = make([]protoimpl.MessageInfo, 144) +var file_emissions_v3_query_proto_msgTypes = make([]protoimpl.MessageInfo, 156) var file_emissions_v3_query_proto_goTypes = []interface{}{ - (*QueryNaiveInfererNetworkRegretRequest)(nil), // 0: emissions.v3.QueryNaiveInfererNetworkRegretRequest - (*QueryNaiveInfererNetworkRegretResponse)(nil), // 1: emissions.v3.QueryNaiveInfererNetworkRegretResponse - (*QueryOneOutInfererInfererNetworkRegretRequest)(nil), // 2: emissions.v3.QueryOneOutInfererInfererNetworkRegretRequest - (*QueryOneOutInfererInfererNetworkRegretResponse)(nil), // 3: emissions.v3.QueryOneOutInfererInfererNetworkRegretResponse - (*QueryOneOutInfererForecasterNetworkRegretRequest)(nil), // 4: emissions.v3.QueryOneOutInfererForecasterNetworkRegretRequest - (*QueryOneOutInfererForecasterNetworkRegretResponse)(nil), // 5: emissions.v3.QueryOneOutInfererForecasterNetworkRegretResponse - (*QueryOneOutForecasterInfererNetworkRegretRequest)(nil), // 6: emissions.v3.QueryOneOutForecasterInfererNetworkRegretRequest - (*QueryOneOutForecasterInfererNetworkRegretResponse)(nil), // 7: emissions.v3.QueryOneOutForecasterInfererNetworkRegretResponse - (*QueryOneOutForecasterForecasterNetworkRegretRequest)(nil), // 8: emissions.v3.QueryOneOutForecasterForecasterNetworkRegretRequest - (*QueryOneOutForecasterForecasterNetworkRegretResponse)(nil), // 9: emissions.v3.QueryOneOutForecasterForecasterNetworkRegretResponse - (*QueryParamsRequest)(nil), // 10: emissions.v3.QueryParamsRequest - (*QueryParamsResponse)(nil), // 11: emissions.v3.QueryParamsResponse - (*QueryTotalStakeRequest)(nil), // 12: emissions.v3.QueryTotalStakeRequest - (*QueryTotalStakeResponse)(nil), // 13: emissions.v3.QueryTotalStakeResponse - (*QueryReputerStakeInTopicRequest)(nil), // 14: emissions.v3.QueryReputerStakeInTopicRequest - (*QueryReputerStakeInTopicResponse)(nil), // 15: emissions.v3.QueryReputerStakeInTopicResponse - (*QueryMultiReputerStakeInTopicRequest)(nil), // 16: emissions.v3.QueryMultiReputerStakeInTopicRequest - (*QueryMultiReputerStakeInTopicResponse)(nil), // 17: emissions.v3.QueryMultiReputerStakeInTopicResponse - (*QueryStakeFromReputerInTopicInSelfRequest)(nil), // 18: emissions.v3.QueryStakeFromReputerInTopicInSelfRequest - (*QueryStakeFromReputerInTopicInSelfResponse)(nil), // 19: emissions.v3.QueryStakeFromReputerInTopicInSelfResponse - (*QueryDelegateStakeInTopicInReputerRequest)(nil), // 20: emissions.v3.QueryDelegateStakeInTopicInReputerRequest - (*QueryDelegateStakeInTopicInReputerResponse)(nil), // 21: emissions.v3.QueryDelegateStakeInTopicInReputerResponse - (*QueryStakeFromDelegatorInTopicInReputerRequest)(nil), // 22: emissions.v3.QueryStakeFromDelegatorInTopicInReputerRequest - (*QueryStakeFromDelegatorInTopicInReputerResponse)(nil), // 23: emissions.v3.QueryStakeFromDelegatorInTopicInReputerResponse - (*QueryStakeFromDelegatorInTopicRequest)(nil), // 24: emissions.v3.QueryStakeFromDelegatorInTopicRequest - (*QueryStakeFromDelegatorInTopicResponse)(nil), // 25: emissions.v3.QueryStakeFromDelegatorInTopicResponse - (*QueryTopicStakeRequest)(nil), // 26: emissions.v3.QueryTopicStakeRequest - (*QueryTopicStakeResponse)(nil), // 27: emissions.v3.QueryTopicStakeResponse - (*QueryNetworkLossBundleAtBlockRequest)(nil), // 28: emissions.v3.QueryNetworkLossBundleAtBlockRequest - (*QueryNetworkLossBundleAtBlockResponse)(nil), // 29: emissions.v3.QueryNetworkLossBundleAtBlockResponse - (*QueryNextTopicIdRequest)(nil), // 30: emissions.v3.QueryNextTopicIdRequest - (*QueryNextTopicIdResponse)(nil), // 31: emissions.v3.QueryNextTopicIdResponse - (*QueryTopicRequest)(nil), // 32: emissions.v3.QueryTopicRequest - (*QueryTopicResponse)(nil), // 33: emissions.v3.QueryTopicResponse - (*QueryActiveTopicsRequest)(nil), // 34: emissions.v3.QueryActiveTopicsRequest - (*QueryActiveTopicsResponse)(nil), // 35: emissions.v3.QueryActiveTopicsResponse - (*QueryInferencesAtBlockRequest)(nil), // 36: emissions.v3.QueryInferencesAtBlockRequest - (*QueryInferencesAtBlockResponse)(nil), // 37: emissions.v3.QueryInferencesAtBlockResponse - (*QueryLatestTopicInferencesRequest)(nil), // 38: emissions.v3.QueryLatestTopicInferencesRequest - (*QueryLatestTopicInferencesResponse)(nil), // 39: emissions.v3.QueryLatestTopicInferencesResponse - (*QueryForecastsAtBlockRequest)(nil), // 40: emissions.v3.QueryForecastsAtBlockRequest - (*QueryForecastsAtBlockResponse)(nil), // 41: emissions.v3.QueryForecastsAtBlockResponse - (*QueryWorkerLatestInferenceRequest)(nil), // 42: emissions.v3.QueryWorkerLatestInferenceRequest - (*QueryWorkerLatestInferenceResponse)(nil), // 43: emissions.v3.QueryWorkerLatestInferenceResponse - (*QueryWorkerNodeInfoRequest)(nil), // 44: emissions.v3.QueryWorkerNodeInfoRequest - (*QueryWorkerNodeInfoResponse)(nil), // 45: emissions.v3.QueryWorkerNodeInfoResponse - (*QueryReputerNodeInfoRequest)(nil), // 46: emissions.v3.QueryReputerNodeInfoRequest - (*QueryReputerNodeInfoResponse)(nil), // 47: emissions.v3.QueryReputerNodeInfoResponse - (*QueryNetworkInferencesAtBlockRequest)(nil), // 48: emissions.v3.QueryNetworkInferencesAtBlockRequest - (*QueryLatestNetworkInferencesRequest)(nil), // 49: emissions.v3.QueryLatestNetworkInferencesRequest - (*QueryLatestAvailableNetworkInferencesRequest)(nil), // 50: emissions.v3.QueryLatestAvailableNetworkInferencesRequest - (*QueryIsWorkerNonceUnfulfilledRequest)(nil), // 51: emissions.v3.QueryIsWorkerNonceUnfulfilledRequest - (*QueryIsWorkerNonceUnfulfilledResponse)(nil), // 52: emissions.v3.QueryIsWorkerNonceUnfulfilledResponse - (*QueryUnfulfilledReputerNoncesRequest)(nil), // 53: emissions.v3.QueryUnfulfilledReputerNoncesRequest - (*QueryUnfulfilledReputerNoncesResponse)(nil), // 54: emissions.v3.QueryUnfulfilledReputerNoncesResponse - (*QueryUnfulfilledWorkerNoncesRequest)(nil), // 55: emissions.v3.QueryUnfulfilledWorkerNoncesRequest - (*QueryUnfulfilledWorkerNoncesResponse)(nil), // 56: emissions.v3.QueryUnfulfilledWorkerNoncesResponse - (*QueryInfererNetworkRegretRequest)(nil), // 57: emissions.v3.QueryInfererNetworkRegretRequest - (*QueryInfererNetworkRegretResponse)(nil), // 58: emissions.v3.QueryInfererNetworkRegretResponse - (*QueryForecasterNetworkRegretRequest)(nil), // 59: emissions.v3.QueryForecasterNetworkRegretRequest - (*QueryForecasterNetworkRegretResponse)(nil), // 60: emissions.v3.QueryForecasterNetworkRegretResponse - (*QueryOneInForecasterNetworkRegretRequest)(nil), // 61: emissions.v3.QueryOneInForecasterNetworkRegretRequest - (*QueryOneInForecasterNetworkRegretResponse)(nil), // 62: emissions.v3.QueryOneInForecasterNetworkRegretResponse - (*QueryIsReputerNonceUnfulfilledRequest)(nil), // 63: emissions.v3.QueryIsReputerNonceUnfulfilledRequest - (*QueryIsReputerNonceUnfulfilledResponse)(nil), // 64: emissions.v3.QueryIsReputerNonceUnfulfilledResponse - (*QueryNetworkInferencesAtBlockResponse)(nil), // 65: emissions.v3.QueryNetworkInferencesAtBlockResponse - (*QueryLatestNetworkInferencesResponse)(nil), // 66: emissions.v3.QueryLatestNetworkInferencesResponse - (*QueryLatestAvailableNetworkInferencesResponse)(nil), // 67: emissions.v3.QueryLatestAvailableNetworkInferencesResponse - (*QueryIsWorkerRegisteredInTopicIdRequest)(nil), // 68: emissions.v3.QueryIsWorkerRegisteredInTopicIdRequest - (*QueryIsWorkerRegisteredInTopicIdResponse)(nil), // 69: emissions.v3.QueryIsWorkerRegisteredInTopicIdResponse - (*QueryIsReputerRegisteredInTopicIdRequest)(nil), // 70: emissions.v3.QueryIsReputerRegisteredInTopicIdRequest - (*QueryIsReputerRegisteredInTopicIdResponse)(nil), // 71: emissions.v3.QueryIsReputerRegisteredInTopicIdResponse - (*QueryIsWhitelistAdminRequest)(nil), // 72: emissions.v3.QueryIsWhitelistAdminRequest - (*QueryIsWhitelistAdminResponse)(nil), // 73: emissions.v3.QueryIsWhitelistAdminResponse - (*QueryStakeRemovalsUpUntilBlockRequest)(nil), // 74: emissions.v3.QueryStakeRemovalsUpUntilBlockRequest - (*QueryStakeRemovalsUpUntilBlockResponse)(nil), // 75: emissions.v3.QueryStakeRemovalsUpUntilBlockResponse - (*QueryDelegateStakeRemovalsUpUntilBlockRequest)(nil), // 76: emissions.v3.QueryDelegateStakeRemovalsUpUntilBlockRequest - (*QueryDelegateStakeRemovalsUpUntilBlockResponse)(nil), // 77: emissions.v3.QueryDelegateStakeRemovalsUpUntilBlockResponse - (*QueryStakeRemovalInfoRequest)(nil), // 78: emissions.v3.QueryStakeRemovalInfoRequest - (*QueryStakeRemovalInfoResponse)(nil), // 79: emissions.v3.QueryStakeRemovalInfoResponse - (*QueryDelegateStakeRemovalInfoRequest)(nil), // 80: emissions.v3.QueryDelegateStakeRemovalInfoRequest - (*QueryDelegateStakeRemovalInfoResponse)(nil), // 81: emissions.v3.QueryDelegateStakeRemovalInfoResponse - (*QueryTopicLastWorkerCommitInfoRequest)(nil), // 82: emissions.v3.QueryTopicLastWorkerCommitInfoRequest - (*QueryTopicLastWorkerCommitInfoResponse)(nil), // 83: emissions.v3.QueryTopicLastWorkerCommitInfoResponse - (*QueryTopicLastReputerCommitInfoRequest)(nil), // 84: emissions.v3.QueryTopicLastReputerCommitInfoRequest - (*QueryTopicLastReputerCommitInfoResponse)(nil), // 85: emissions.v3.QueryTopicLastReputerCommitInfoResponse - (*QueryTopicRewardNonceRequest)(nil), // 86: emissions.v3.QueryTopicRewardNonceRequest - (*QueryTopicRewardNonceResponse)(nil), // 87: emissions.v3.QueryTopicRewardNonceResponse - (*QueryReputerLossBundlesAtBlockRequest)(nil), // 88: emissions.v3.QueryReputerLossBundlesAtBlockRequest - (*QueryReputerLossBundlesAtBlockResponse)(nil), // 89: emissions.v3.QueryReputerLossBundlesAtBlockResponse - (*QueryStakeReputerAuthorityRequest)(nil), // 90: emissions.v3.QueryStakeReputerAuthorityRequest - (*QueryStakeReputerAuthorityResponse)(nil), // 91: emissions.v3.QueryStakeReputerAuthorityResponse - (*QueryDelegateStakePlacementRequest)(nil), // 92: emissions.v3.QueryDelegateStakePlacementRequest - (*QueryDelegateStakePlacementResponse)(nil), // 93: emissions.v3.QueryDelegateStakePlacementResponse - (*QueryDelegateStakeUponReputerRequest)(nil), // 94: emissions.v3.QueryDelegateStakeUponReputerRequest - (*QueryDelegateStakeUponReputerResponse)(nil), // 95: emissions.v3.QueryDelegateStakeUponReputerResponse - (*QueryDelegateRewardPerShareRequest)(nil), // 96: emissions.v3.QueryDelegateRewardPerShareRequest - (*QueryDelegateRewardPerShareResponse)(nil), // 97: emissions.v3.QueryDelegateRewardPerShareResponse - (*QueryStakeRemovalForReputerAndTopicIdRequest)(nil), // 98: emissions.v3.QueryStakeRemovalForReputerAndTopicIdRequest - (*QueryStakeRemovalForReputerAndTopicIdResponse)(nil), // 99: emissions.v3.QueryStakeRemovalForReputerAndTopicIdResponse - (*QueryDelegateStakeRemovalRequest)(nil), // 100: emissions.v3.QueryDelegateStakeRemovalRequest - (*QueryDelegateStakeRemovalResponse)(nil), // 101: emissions.v3.QueryDelegateStakeRemovalResponse - (*QueryPreviousTopicWeightRequest)(nil), // 102: emissions.v3.QueryPreviousTopicWeightRequest - (*QueryPreviousTopicWeightResponse)(nil), // 103: emissions.v3.QueryPreviousTopicWeightResponse - (*QueryTopicExistsRequest)(nil), // 104: emissions.v3.QueryTopicExistsRequest - (*QueryTopicExistsResponse)(nil), // 105: emissions.v3.QueryTopicExistsResponse - (*QueryIsTopicActiveRequest)(nil), // 106: emissions.v3.QueryIsTopicActiveRequest - (*QueryIsTopicActiveResponse)(nil), // 107: emissions.v3.QueryIsTopicActiveResponse - (*QueryTopicFeeRevenueRequest)(nil), // 108: emissions.v3.QueryTopicFeeRevenueRequest - (*QueryTopicFeeRevenueResponse)(nil), // 109: emissions.v3.QueryTopicFeeRevenueResponse - (*QueryRewardableTopicsRequest)(nil), // 110: emissions.v3.QueryRewardableTopicsRequest - (*QueryRewardableTopicsResponse)(nil), // 111: emissions.v3.QueryRewardableTopicsResponse - (*QueryGetInfererScoreEmaRequest)(nil), // 112: emissions.v3.QueryGetInfererScoreEmaRequest - (*QueryGetInfererScoreEmaResponse)(nil), // 113: emissions.v3.QueryGetInfererScoreEmaResponse - (*QueryGetForecasterScoreEmaRequest)(nil), // 114: emissions.v3.QueryGetForecasterScoreEmaRequest - (*QueryGetForecasterScoreEmaResponse)(nil), // 115: emissions.v3.QueryGetForecasterScoreEmaResponse - (*QueryGetReputerScoreEmaRequest)(nil), // 116: emissions.v3.QueryGetReputerScoreEmaRequest - (*QueryGetReputerScoreEmaResponse)(nil), // 117: emissions.v3.QueryGetReputerScoreEmaResponse - (*QueryInferenceScoresUntilBlockRequest)(nil), // 118: emissions.v3.QueryInferenceScoresUntilBlockRequest - (*QueryInferenceScoresUntilBlockResponse)(nil), // 119: emissions.v3.QueryInferenceScoresUntilBlockResponse - (*QueryWorkerInferenceScoresAtBlockRequest)(nil), // 120: emissions.v3.QueryWorkerInferenceScoresAtBlockRequest - (*QueryWorkerInferenceScoresAtBlockResponse)(nil), // 121: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse - (*QueryForecastScoresUntilBlockRequest)(nil), // 122: emissions.v3.QueryForecastScoresUntilBlockRequest - (*QueryForecastScoresUntilBlockResponse)(nil), // 123: emissions.v3.QueryForecastScoresUntilBlockResponse - (*QueryWorkerForecastScoresAtBlockRequest)(nil), // 124: emissions.v3.QueryWorkerForecastScoresAtBlockRequest - (*QueryWorkerForecastScoresAtBlockResponse)(nil), // 125: emissions.v3.QueryWorkerForecastScoresAtBlockResponse - (*QueryReputersScoresAtBlockRequest)(nil), // 126: emissions.v3.QueryReputersScoresAtBlockRequest - (*QueryReputersScoresAtBlockResponse)(nil), // 127: emissions.v3.QueryReputersScoresAtBlockResponse - (*QueryListeningCoefficientRequest)(nil), // 128: emissions.v3.QueryListeningCoefficientRequest - (*QueryListeningCoefficientResponse)(nil), // 129: emissions.v3.QueryListeningCoefficientResponse - (*QueryPreviousReputerRewardFractionRequest)(nil), // 130: emissions.v3.QueryPreviousReputerRewardFractionRequest - (*QueryPreviousReputerRewardFractionResponse)(nil), // 131: emissions.v3.QueryPreviousReputerRewardFractionResponse - (*QueryPreviousInferenceRewardFractionRequest)(nil), // 132: emissions.v3.QueryPreviousInferenceRewardFractionRequest - (*QueryPreviousInferenceRewardFractionResponse)(nil), // 133: emissions.v3.QueryPreviousInferenceRewardFractionResponse - (*QueryPreviousForecastRewardFractionRequest)(nil), // 134: emissions.v3.QueryPreviousForecastRewardFractionRequest - (*QueryPreviousForecastRewardFractionResponse)(nil), // 135: emissions.v3.QueryPreviousForecastRewardFractionResponse - (*QueryPreviousPercentageRewardToStakedReputersRequest)(nil), // 136: emissions.v3.QueryPreviousPercentageRewardToStakedReputersRequest - (*QueryPreviousPercentageRewardToStakedReputersResponse)(nil), // 137: emissions.v3.QueryPreviousPercentageRewardToStakedReputersResponse - (*QueryTotalRewardToDistributeRequest)(nil), // 138: emissions.v3.QueryTotalRewardToDistributeRequest - (*QueryTotalRewardToDistributeResponse)(nil), // 139: emissions.v3.QueryTotalRewardToDistributeResponse - (*QueryActiveTopicsAtBlockRequest)(nil), // 140: emissions.v3.QueryActiveTopicsAtBlockRequest - (*QueryActiveTopicsAtBlockResponse)(nil), // 141: emissions.v3.QueryActiveTopicsAtBlockResponse - (*QueryNextChurningBlockByTopicIdRequest)(nil), // 142: emissions.v3.QueryNextChurningBlockByTopicIdRequest - (*QueryNextChurningBlockByTopicIdResponse)(nil), // 143: emissions.v3.QueryNextChurningBlockByTopicIdResponse - (*TimestampedValue)(nil), // 144: emissions.v3.TimestampedValue - (*Params)(nil), // 145: emissions.v3.Params - (*StakeInfo)(nil), // 146: emissions.v3.StakeInfo - (*ValueBundle)(nil), // 147: emissions.v3.ValueBundle - (*Topic)(nil), // 148: emissions.v3.Topic - (*SimpleCursorPaginationRequest)(nil), // 149: emissions.v3.SimpleCursorPaginationRequest - (*SimpleCursorPaginationResponse)(nil), // 150: emissions.v3.SimpleCursorPaginationResponse - (*Inferences)(nil), // 151: emissions.v3.Inferences - (*Forecasts)(nil), // 152: emissions.v3.Forecasts - (*Inference)(nil), // 153: emissions.v3.Inference - (*OffchainNode)(nil), // 154: emissions.v3.OffchainNode - (*ReputerRequestNonces)(nil), // 155: emissions.v3.ReputerRequestNonces - (*Nonces)(nil), // 156: emissions.v3.Nonces - (*RegretInformedWeight)(nil), // 157: emissions.v3.RegretInformedWeight - (*WorkerAttributedValue)(nil), // 158: emissions.v3.WorkerAttributedValue - (*StakeRemovalInfo)(nil), // 159: emissions.v3.StakeRemovalInfo - (*DelegateStakeRemovalInfo)(nil), // 160: emissions.v3.DelegateStakeRemovalInfo - (*TimestampedActorNonce)(nil), // 161: emissions.v3.TimestampedActorNonce - (*ReputerValueBundles)(nil), // 162: emissions.v3.ReputerValueBundles - (*DelegatorInfo)(nil), // 163: emissions.v3.DelegatorInfo - (*Score)(nil), // 164: emissions.v3.Score - (*Scores)(nil), // 165: emissions.v3.Scores - (*ListeningCoefficient)(nil), // 166: emissions.v3.ListeningCoefficient + (*QueryNaiveInfererNetworkRegretRequest)(nil), // 0: emissions.v3.QueryNaiveInfererNetworkRegretRequest + (*QueryNaiveInfererNetworkRegretResponse)(nil), // 1: emissions.v3.QueryNaiveInfererNetworkRegretResponse + (*QueryOneOutInfererInfererNetworkRegretRequest)(nil), // 2: emissions.v3.QueryOneOutInfererInfererNetworkRegretRequest + (*QueryOneOutInfererInfererNetworkRegretResponse)(nil), // 3: emissions.v3.QueryOneOutInfererInfererNetworkRegretResponse + (*QueryOneOutInfererForecasterNetworkRegretRequest)(nil), // 4: emissions.v3.QueryOneOutInfererForecasterNetworkRegretRequest + (*QueryOneOutInfererForecasterNetworkRegretResponse)(nil), // 5: emissions.v3.QueryOneOutInfererForecasterNetworkRegretResponse + (*QueryOneOutForecasterInfererNetworkRegretRequest)(nil), // 6: emissions.v3.QueryOneOutForecasterInfererNetworkRegretRequest + (*QueryOneOutForecasterInfererNetworkRegretResponse)(nil), // 7: emissions.v3.QueryOneOutForecasterInfererNetworkRegretResponse + (*QueryOneOutForecasterForecasterNetworkRegretRequest)(nil), // 8: emissions.v3.QueryOneOutForecasterForecasterNetworkRegretRequest + (*QueryOneOutForecasterForecasterNetworkRegretResponse)(nil), // 9: emissions.v3.QueryOneOutForecasterForecasterNetworkRegretResponse + (*QueryParamsRequest)(nil), // 10: emissions.v3.QueryParamsRequest + (*QueryParamsResponse)(nil), // 11: emissions.v3.QueryParamsResponse + (*QueryTotalStakeRequest)(nil), // 12: emissions.v3.QueryTotalStakeRequest + (*QueryTotalStakeResponse)(nil), // 13: emissions.v3.QueryTotalStakeResponse + (*QueryReputerStakeInTopicRequest)(nil), // 14: emissions.v3.QueryReputerStakeInTopicRequest + (*QueryReputerStakeInTopicResponse)(nil), // 15: emissions.v3.QueryReputerStakeInTopicResponse + (*QueryMultiReputerStakeInTopicRequest)(nil), // 16: emissions.v3.QueryMultiReputerStakeInTopicRequest + (*QueryMultiReputerStakeInTopicResponse)(nil), // 17: emissions.v3.QueryMultiReputerStakeInTopicResponse + (*QueryStakeFromReputerInTopicInSelfRequest)(nil), // 18: emissions.v3.QueryStakeFromReputerInTopicInSelfRequest + (*QueryStakeFromReputerInTopicInSelfResponse)(nil), // 19: emissions.v3.QueryStakeFromReputerInTopicInSelfResponse + (*QueryDelegateStakeInTopicInReputerRequest)(nil), // 20: emissions.v3.QueryDelegateStakeInTopicInReputerRequest + (*QueryDelegateStakeInTopicInReputerResponse)(nil), // 21: emissions.v3.QueryDelegateStakeInTopicInReputerResponse + (*QueryStakeFromDelegatorInTopicInReputerRequest)(nil), // 22: emissions.v3.QueryStakeFromDelegatorInTopicInReputerRequest + (*QueryStakeFromDelegatorInTopicInReputerResponse)(nil), // 23: emissions.v3.QueryStakeFromDelegatorInTopicInReputerResponse + (*QueryStakeFromDelegatorInTopicRequest)(nil), // 24: emissions.v3.QueryStakeFromDelegatorInTopicRequest + (*QueryStakeFromDelegatorInTopicResponse)(nil), // 25: emissions.v3.QueryStakeFromDelegatorInTopicResponse + (*QueryTopicStakeRequest)(nil), // 26: emissions.v3.QueryTopicStakeRequest + (*QueryTopicStakeResponse)(nil), // 27: emissions.v3.QueryTopicStakeResponse + (*QueryNetworkLossBundleAtBlockRequest)(nil), // 28: emissions.v3.QueryNetworkLossBundleAtBlockRequest + (*QueryNetworkLossBundleAtBlockResponse)(nil), // 29: emissions.v3.QueryNetworkLossBundleAtBlockResponse + (*QueryNextTopicIdRequest)(nil), // 30: emissions.v3.QueryNextTopicIdRequest + (*QueryNextTopicIdResponse)(nil), // 31: emissions.v3.QueryNextTopicIdResponse + (*QueryTopicRequest)(nil), // 32: emissions.v3.QueryTopicRequest + (*QueryTopicResponse)(nil), // 33: emissions.v3.QueryTopicResponse + (*QueryActiveTopicsRequest)(nil), // 34: emissions.v3.QueryActiveTopicsRequest + (*QueryActiveTopicsResponse)(nil), // 35: emissions.v3.QueryActiveTopicsResponse + (*QueryInferencesAtBlockRequest)(nil), // 36: emissions.v3.QueryInferencesAtBlockRequest + (*QueryInferencesAtBlockResponse)(nil), // 37: emissions.v3.QueryInferencesAtBlockResponse + (*QueryLatestTopicInferencesRequest)(nil), // 38: emissions.v3.QueryLatestTopicInferencesRequest + (*QueryLatestTopicInferencesResponse)(nil), // 39: emissions.v3.QueryLatestTopicInferencesResponse + (*QueryForecastsAtBlockRequest)(nil), // 40: emissions.v3.QueryForecastsAtBlockRequest + (*QueryForecastsAtBlockResponse)(nil), // 41: emissions.v3.QueryForecastsAtBlockResponse + (*QueryWorkerLatestInferenceRequest)(nil), // 42: emissions.v3.QueryWorkerLatestInferenceRequest + (*QueryWorkerLatestInferenceResponse)(nil), // 43: emissions.v3.QueryWorkerLatestInferenceResponse + (*QueryWorkerNodeInfoRequest)(nil), // 44: emissions.v3.QueryWorkerNodeInfoRequest + (*QueryWorkerNodeInfoResponse)(nil), // 45: emissions.v3.QueryWorkerNodeInfoResponse + (*QueryReputerNodeInfoRequest)(nil), // 46: emissions.v3.QueryReputerNodeInfoRequest + (*QueryReputerNodeInfoResponse)(nil), // 47: emissions.v3.QueryReputerNodeInfoResponse + (*QueryNetworkInferencesAtBlockRequest)(nil), // 48: emissions.v3.QueryNetworkInferencesAtBlockRequest + (*QueryLatestNetworkInferencesRequest)(nil), // 49: emissions.v3.QueryLatestNetworkInferencesRequest + (*QueryLatestAvailableNetworkInferencesRequest)(nil), // 50: emissions.v3.QueryLatestAvailableNetworkInferencesRequest + (*QueryIsWorkerNonceUnfulfilledRequest)(nil), // 51: emissions.v3.QueryIsWorkerNonceUnfulfilledRequest + (*QueryIsWorkerNonceUnfulfilledResponse)(nil), // 52: emissions.v3.QueryIsWorkerNonceUnfulfilledResponse + (*QueryUnfulfilledReputerNoncesRequest)(nil), // 53: emissions.v3.QueryUnfulfilledReputerNoncesRequest + (*QueryUnfulfilledReputerNoncesResponse)(nil), // 54: emissions.v3.QueryUnfulfilledReputerNoncesResponse + (*QueryUnfulfilledWorkerNoncesRequest)(nil), // 55: emissions.v3.QueryUnfulfilledWorkerNoncesRequest + (*QueryUnfulfilledWorkerNoncesResponse)(nil), // 56: emissions.v3.QueryUnfulfilledWorkerNoncesResponse + (*QueryInfererNetworkRegretRequest)(nil), // 57: emissions.v3.QueryInfererNetworkRegretRequest + (*QueryInfererNetworkRegretResponse)(nil), // 58: emissions.v3.QueryInfererNetworkRegretResponse + (*QueryForecasterNetworkRegretRequest)(nil), // 59: emissions.v3.QueryForecasterNetworkRegretRequest + (*QueryForecasterNetworkRegretResponse)(nil), // 60: emissions.v3.QueryForecasterNetworkRegretResponse + (*QueryOneInForecasterNetworkRegretRequest)(nil), // 61: emissions.v3.QueryOneInForecasterNetworkRegretRequest + (*QueryOneInForecasterNetworkRegretResponse)(nil), // 62: emissions.v3.QueryOneInForecasterNetworkRegretResponse + (*QueryIsReputerNonceUnfulfilledRequest)(nil), // 63: emissions.v3.QueryIsReputerNonceUnfulfilledRequest + (*QueryIsReputerNonceUnfulfilledResponse)(nil), // 64: emissions.v3.QueryIsReputerNonceUnfulfilledResponse + (*QueryNetworkInferencesAtBlockResponse)(nil), // 65: emissions.v3.QueryNetworkInferencesAtBlockResponse + (*QueryLatestNetworkInferencesResponse)(nil), // 66: emissions.v3.QueryLatestNetworkInferencesResponse + (*QueryLatestAvailableNetworkInferencesResponse)(nil), // 67: emissions.v3.QueryLatestAvailableNetworkInferencesResponse + (*QueryIsWorkerRegisteredInTopicIdRequest)(nil), // 68: emissions.v3.QueryIsWorkerRegisteredInTopicIdRequest + (*QueryIsWorkerRegisteredInTopicIdResponse)(nil), // 69: emissions.v3.QueryIsWorkerRegisteredInTopicIdResponse + (*QueryIsReputerRegisteredInTopicIdRequest)(nil), // 70: emissions.v3.QueryIsReputerRegisteredInTopicIdRequest + (*QueryIsReputerRegisteredInTopicIdResponse)(nil), // 71: emissions.v3.QueryIsReputerRegisteredInTopicIdResponse + (*QueryIsWhitelistAdminRequest)(nil), // 72: emissions.v3.QueryIsWhitelistAdminRequest + (*QueryIsWhitelistAdminResponse)(nil), // 73: emissions.v3.QueryIsWhitelistAdminResponse + (*QueryStakeRemovalsUpUntilBlockRequest)(nil), // 74: emissions.v3.QueryStakeRemovalsUpUntilBlockRequest + (*QueryStakeRemovalsUpUntilBlockResponse)(nil), // 75: emissions.v3.QueryStakeRemovalsUpUntilBlockResponse + (*QueryDelegateStakeRemovalsUpUntilBlockRequest)(nil), // 76: emissions.v3.QueryDelegateStakeRemovalsUpUntilBlockRequest + (*QueryDelegateStakeRemovalsUpUntilBlockResponse)(nil), // 77: emissions.v3.QueryDelegateStakeRemovalsUpUntilBlockResponse + (*QueryStakeRemovalInfoRequest)(nil), // 78: emissions.v3.QueryStakeRemovalInfoRequest + (*QueryStakeRemovalInfoResponse)(nil), // 79: emissions.v3.QueryStakeRemovalInfoResponse + (*QueryDelegateStakeRemovalInfoRequest)(nil), // 80: emissions.v3.QueryDelegateStakeRemovalInfoRequest + (*QueryDelegateStakeRemovalInfoResponse)(nil), // 81: emissions.v3.QueryDelegateStakeRemovalInfoResponse + (*QueryTopicLastWorkerCommitInfoRequest)(nil), // 82: emissions.v3.QueryTopicLastWorkerCommitInfoRequest + (*QueryTopicLastWorkerCommitInfoResponse)(nil), // 83: emissions.v3.QueryTopicLastWorkerCommitInfoResponse + (*QueryTopicLastReputerCommitInfoRequest)(nil), // 84: emissions.v3.QueryTopicLastReputerCommitInfoRequest + (*QueryTopicLastReputerCommitInfoResponse)(nil), // 85: emissions.v3.QueryTopicLastReputerCommitInfoResponse + (*QueryTopicRewardNonceRequest)(nil), // 86: emissions.v3.QueryTopicRewardNonceRequest + (*QueryTopicRewardNonceResponse)(nil), // 87: emissions.v3.QueryTopicRewardNonceResponse + (*QueryReputerLossBundlesAtBlockRequest)(nil), // 88: emissions.v3.QueryReputerLossBundlesAtBlockRequest + (*QueryReputerLossBundlesAtBlockResponse)(nil), // 89: emissions.v3.QueryReputerLossBundlesAtBlockResponse + (*QueryStakeReputerAuthorityRequest)(nil), // 90: emissions.v3.QueryStakeReputerAuthorityRequest + (*QueryStakeReputerAuthorityResponse)(nil), // 91: emissions.v3.QueryStakeReputerAuthorityResponse + (*QueryDelegateStakePlacementRequest)(nil), // 92: emissions.v3.QueryDelegateStakePlacementRequest + (*QueryDelegateStakePlacementResponse)(nil), // 93: emissions.v3.QueryDelegateStakePlacementResponse + (*QueryDelegateStakeUponReputerRequest)(nil), // 94: emissions.v3.QueryDelegateStakeUponReputerRequest + (*QueryDelegateStakeUponReputerResponse)(nil), // 95: emissions.v3.QueryDelegateStakeUponReputerResponse + (*QueryDelegateRewardPerShareRequest)(nil), // 96: emissions.v3.QueryDelegateRewardPerShareRequest + (*QueryDelegateRewardPerShareResponse)(nil), // 97: emissions.v3.QueryDelegateRewardPerShareResponse + (*QueryStakeRemovalForReputerAndTopicIdRequest)(nil), // 98: emissions.v3.QueryStakeRemovalForReputerAndTopicIdRequest + (*QueryStakeRemovalForReputerAndTopicIdResponse)(nil), // 99: emissions.v3.QueryStakeRemovalForReputerAndTopicIdResponse + (*QueryDelegateStakeRemovalRequest)(nil), // 100: emissions.v3.QueryDelegateStakeRemovalRequest + (*QueryDelegateStakeRemovalResponse)(nil), // 101: emissions.v3.QueryDelegateStakeRemovalResponse + (*QueryPreviousTopicWeightRequest)(nil), // 102: emissions.v3.QueryPreviousTopicWeightRequest + (*QueryPreviousTopicWeightResponse)(nil), // 103: emissions.v3.QueryPreviousTopicWeightResponse + (*QueryTopicExistsRequest)(nil), // 104: emissions.v3.QueryTopicExistsRequest + (*QueryTopicExistsResponse)(nil), // 105: emissions.v3.QueryTopicExistsResponse + (*QueryIsTopicActiveRequest)(nil), // 106: emissions.v3.QueryIsTopicActiveRequest + (*QueryIsTopicActiveResponse)(nil), // 107: emissions.v3.QueryIsTopicActiveResponse + (*QueryTopicFeeRevenueRequest)(nil), // 108: emissions.v3.QueryTopicFeeRevenueRequest + (*QueryTopicFeeRevenueResponse)(nil), // 109: emissions.v3.QueryTopicFeeRevenueResponse + (*QueryRewardableTopicsRequest)(nil), // 110: emissions.v3.QueryRewardableTopicsRequest + (*QueryRewardableTopicsResponse)(nil), // 111: emissions.v3.QueryRewardableTopicsResponse + (*QueryGetInfererScoreEmaRequest)(nil), // 112: emissions.v3.QueryGetInfererScoreEmaRequest + (*QueryGetInfererScoreEmaResponse)(nil), // 113: emissions.v3.QueryGetInfererScoreEmaResponse + (*QueryGetForecasterScoreEmaRequest)(nil), // 114: emissions.v3.QueryGetForecasterScoreEmaRequest + (*QueryGetForecasterScoreEmaResponse)(nil), // 115: emissions.v3.QueryGetForecasterScoreEmaResponse + (*QueryGetReputerScoreEmaRequest)(nil), // 116: emissions.v3.QueryGetReputerScoreEmaRequest + (*QueryGetReputerScoreEmaResponse)(nil), // 117: emissions.v3.QueryGetReputerScoreEmaResponse + (*QueryInferenceScoresUntilBlockRequest)(nil), // 118: emissions.v3.QueryInferenceScoresUntilBlockRequest + (*QueryInferenceScoresUntilBlockResponse)(nil), // 119: emissions.v3.QueryInferenceScoresUntilBlockResponse + (*QueryGetPreviousTopicQuantileForecasterScoreEmaRequest)(nil), // 120: emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest + (*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse)(nil), // 121: emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse + (*QueryGetPreviousTopicQuantileInfererScoreEmaRequest)(nil), // 122: emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest + (*QueryGetPreviousTopicQuantileInfererScoreEmaResponse)(nil), // 123: emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse + (*QueryGetPreviousTopicQuantileReputerScoreEmaRequest)(nil), // 124: emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest + (*QueryGetPreviousTopicQuantileReputerScoreEmaResponse)(nil), // 125: emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse + (*QueryWorkerInferenceScoresAtBlockRequest)(nil), // 126: emissions.v3.QueryWorkerInferenceScoresAtBlockRequest + (*QueryWorkerInferenceScoresAtBlockResponse)(nil), // 127: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse + (*QueryCurrentLowestInfererScoreRequest)(nil), // 128: emissions.v3.QueryCurrentLowestInfererScoreRequest + (*QueryCurrentLowestInfererScoreResponse)(nil), // 129: emissions.v3.QueryCurrentLowestInfererScoreResponse + (*QueryForecastScoresUntilBlockRequest)(nil), // 130: emissions.v3.QueryForecastScoresUntilBlockRequest + (*QueryForecastScoresUntilBlockResponse)(nil), // 131: emissions.v3.QueryForecastScoresUntilBlockResponse + (*QueryWorkerForecastScoresAtBlockRequest)(nil), // 132: emissions.v3.QueryWorkerForecastScoresAtBlockRequest + (*QueryWorkerForecastScoresAtBlockResponse)(nil), // 133: emissions.v3.QueryWorkerForecastScoresAtBlockResponse + (*QueryCurrentLowestForecasterScoreRequest)(nil), // 134: emissions.v3.QueryCurrentLowestForecasterScoreRequest + (*QueryCurrentLowestForecasterScoreResponse)(nil), // 135: emissions.v3.QueryCurrentLowestForecasterScoreResponse + (*QueryReputersScoresAtBlockRequest)(nil), // 136: emissions.v3.QueryReputersScoresAtBlockRequest + (*QueryReputersScoresAtBlockResponse)(nil), // 137: emissions.v3.QueryReputersScoresAtBlockResponse + (*QueryCurrentLowestReputerScoreRequest)(nil), // 138: emissions.v3.QueryCurrentLowestReputerScoreRequest + (*QueryCurrentLowestReputerScoreResponse)(nil), // 139: emissions.v3.QueryCurrentLowestReputerScoreResponse + (*QueryListeningCoefficientRequest)(nil), // 140: emissions.v3.QueryListeningCoefficientRequest + (*QueryListeningCoefficientResponse)(nil), // 141: emissions.v3.QueryListeningCoefficientResponse + (*QueryPreviousReputerRewardFractionRequest)(nil), // 142: emissions.v3.QueryPreviousReputerRewardFractionRequest + (*QueryPreviousReputerRewardFractionResponse)(nil), // 143: emissions.v3.QueryPreviousReputerRewardFractionResponse + (*QueryPreviousInferenceRewardFractionRequest)(nil), // 144: emissions.v3.QueryPreviousInferenceRewardFractionRequest + (*QueryPreviousInferenceRewardFractionResponse)(nil), // 145: emissions.v3.QueryPreviousInferenceRewardFractionResponse + (*QueryPreviousForecastRewardFractionRequest)(nil), // 146: emissions.v3.QueryPreviousForecastRewardFractionRequest + (*QueryPreviousForecastRewardFractionResponse)(nil), // 147: emissions.v3.QueryPreviousForecastRewardFractionResponse + (*QueryPreviousPercentageRewardToStakedReputersRequest)(nil), // 148: emissions.v3.QueryPreviousPercentageRewardToStakedReputersRequest + (*QueryPreviousPercentageRewardToStakedReputersResponse)(nil), // 149: emissions.v3.QueryPreviousPercentageRewardToStakedReputersResponse + (*QueryTotalRewardToDistributeRequest)(nil), // 150: emissions.v3.QueryTotalRewardToDistributeRequest + (*QueryTotalRewardToDistributeResponse)(nil), // 151: emissions.v3.QueryTotalRewardToDistributeResponse + (*QueryActiveTopicsAtBlockRequest)(nil), // 152: emissions.v3.QueryActiveTopicsAtBlockRequest + (*QueryActiveTopicsAtBlockResponse)(nil), // 153: emissions.v3.QueryActiveTopicsAtBlockResponse + (*QueryNextChurningBlockByTopicIdRequest)(nil), // 154: emissions.v3.QueryNextChurningBlockByTopicIdRequest + (*QueryNextChurningBlockByTopicIdResponse)(nil), // 155: emissions.v3.QueryNextChurningBlockByTopicIdResponse + (*TimestampedValue)(nil), // 156: emissions.v3.TimestampedValue + (*Params)(nil), // 157: emissions.v3.Params + (*StakeInfo)(nil), // 158: emissions.v3.StakeInfo + (*ValueBundle)(nil), // 159: emissions.v3.ValueBundle + (*Topic)(nil), // 160: emissions.v3.Topic + (*SimpleCursorPaginationRequest)(nil), // 161: emissions.v3.SimpleCursorPaginationRequest + (*SimpleCursorPaginationResponse)(nil), // 162: emissions.v3.SimpleCursorPaginationResponse + (*Inferences)(nil), // 163: emissions.v3.Inferences + (*Forecasts)(nil), // 164: emissions.v3.Forecasts + (*Inference)(nil), // 165: emissions.v3.Inference + (*OffchainNode)(nil), // 166: emissions.v3.OffchainNode + (*ReputerRequestNonces)(nil), // 167: emissions.v3.ReputerRequestNonces + (*Nonces)(nil), // 168: emissions.v3.Nonces + (*RegretInformedWeight)(nil), // 169: emissions.v3.RegretInformedWeight + (*WorkerAttributedValue)(nil), // 170: emissions.v3.WorkerAttributedValue + (*StakeRemovalInfo)(nil), // 171: emissions.v3.StakeRemovalInfo + (*DelegateStakeRemovalInfo)(nil), // 172: emissions.v3.DelegateStakeRemovalInfo + (*TimestampedActorNonce)(nil), // 173: emissions.v3.TimestampedActorNonce + (*ReputerValueBundles)(nil), // 174: emissions.v3.ReputerValueBundles + (*DelegatorInfo)(nil), // 175: emissions.v3.DelegatorInfo + (*Score)(nil), // 176: emissions.v3.Score + (*Scores)(nil), // 177: emissions.v3.Scores + (*ListeningCoefficient)(nil), // 178: emissions.v3.ListeningCoefficient } var file_emissions_v3_query_proto_depIdxs = []int32{ - 144, // 0: emissions.v3.QueryNaiveInfererNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue - 144, // 1: emissions.v3.QueryOneOutInfererInfererNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue - 144, // 2: emissions.v3.QueryOneOutInfererForecasterNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue - 144, // 3: emissions.v3.QueryOneOutForecasterInfererNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue - 144, // 4: emissions.v3.QueryOneOutForecasterForecasterNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue - 145, // 5: emissions.v3.QueryParamsResponse.params:type_name -> emissions.v3.Params - 146, // 6: emissions.v3.QueryMultiReputerStakeInTopicResponse.amounts:type_name -> emissions.v3.StakeInfo - 147, // 7: emissions.v3.QueryNetworkLossBundleAtBlockResponse.loss_bundle:type_name -> emissions.v3.ValueBundle - 148, // 8: emissions.v3.QueryTopicResponse.topic:type_name -> emissions.v3.Topic - 149, // 9: emissions.v3.QueryActiveTopicsRequest.pagination:type_name -> emissions.v3.SimpleCursorPaginationRequest - 148, // 10: emissions.v3.QueryActiveTopicsResponse.topics:type_name -> emissions.v3.Topic - 150, // 11: emissions.v3.QueryActiveTopicsResponse.pagination:type_name -> emissions.v3.SimpleCursorPaginationResponse - 151, // 12: emissions.v3.QueryInferencesAtBlockResponse.inferences:type_name -> emissions.v3.Inferences - 151, // 13: emissions.v3.QueryLatestTopicInferencesResponse.inferences:type_name -> emissions.v3.Inferences - 152, // 14: emissions.v3.QueryForecastsAtBlockResponse.forecasts:type_name -> emissions.v3.Forecasts - 153, // 15: emissions.v3.QueryWorkerLatestInferenceResponse.latest_inference:type_name -> emissions.v3.Inference - 154, // 16: emissions.v3.QueryWorkerNodeInfoResponse.node_info:type_name -> emissions.v3.OffchainNode - 154, // 17: emissions.v3.QueryReputerNodeInfoResponse.node_info:type_name -> emissions.v3.OffchainNode - 155, // 18: emissions.v3.QueryUnfulfilledReputerNoncesResponse.nonces:type_name -> emissions.v3.ReputerRequestNonces - 156, // 19: emissions.v3.QueryUnfulfilledWorkerNoncesResponse.nonces:type_name -> emissions.v3.Nonces - 144, // 20: emissions.v3.QueryInfererNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue - 144, // 21: emissions.v3.QueryForecasterNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue - 144, // 22: emissions.v3.QueryOneInForecasterNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue - 147, // 23: emissions.v3.QueryNetworkInferencesAtBlockResponse.network_inferences:type_name -> emissions.v3.ValueBundle - 147, // 24: emissions.v3.QueryLatestNetworkInferencesResponse.network_inferences:type_name -> emissions.v3.ValueBundle - 157, // 25: emissions.v3.QueryLatestNetworkInferencesResponse.inferer_weights:type_name -> emissions.v3.RegretInformedWeight - 157, // 26: emissions.v3.QueryLatestNetworkInferencesResponse.forecaster_weights:type_name -> emissions.v3.RegretInformedWeight - 158, // 27: emissions.v3.QueryLatestNetworkInferencesResponse.forecastImpliedInferences:type_name -> emissions.v3.WorkerAttributedValue - 147, // 28: emissions.v3.QueryLatestAvailableNetworkInferencesResponse.network_inferences:type_name -> emissions.v3.ValueBundle - 157, // 29: emissions.v3.QueryLatestAvailableNetworkInferencesResponse.inferer_weights:type_name -> emissions.v3.RegretInformedWeight - 157, // 30: emissions.v3.QueryLatestAvailableNetworkInferencesResponse.forecaster_weights:type_name -> emissions.v3.RegretInformedWeight - 158, // 31: emissions.v3.QueryLatestAvailableNetworkInferencesResponse.forecastImpliedInferences:type_name -> emissions.v3.WorkerAttributedValue - 159, // 32: emissions.v3.QueryStakeRemovalsUpUntilBlockResponse.removals:type_name -> emissions.v3.StakeRemovalInfo - 160, // 33: emissions.v3.QueryDelegateStakeRemovalsUpUntilBlockResponse.removals:type_name -> emissions.v3.DelegateStakeRemovalInfo - 159, // 34: emissions.v3.QueryStakeRemovalInfoResponse.removal:type_name -> emissions.v3.StakeRemovalInfo - 160, // 35: emissions.v3.QueryDelegateStakeRemovalInfoResponse.removal:type_name -> emissions.v3.DelegateStakeRemovalInfo - 161, // 36: emissions.v3.QueryTopicLastWorkerCommitInfoResponse.last_commit:type_name -> emissions.v3.TimestampedActorNonce - 161, // 37: emissions.v3.QueryTopicLastReputerCommitInfoResponse.last_commit:type_name -> emissions.v3.TimestampedActorNonce - 162, // 38: emissions.v3.QueryReputerLossBundlesAtBlockResponse.loss_bundles:type_name -> emissions.v3.ReputerValueBundles - 163, // 39: emissions.v3.QueryDelegateStakePlacementResponse.delegator_info:type_name -> emissions.v3.DelegatorInfo - 159, // 40: emissions.v3.QueryStakeRemovalForReputerAndTopicIdResponse.stake_removal_info:type_name -> emissions.v3.StakeRemovalInfo - 160, // 41: emissions.v3.QueryDelegateStakeRemovalResponse.stake_removal_info:type_name -> emissions.v3.DelegateStakeRemovalInfo - 164, // 42: emissions.v3.QueryGetInfererScoreEmaResponse.score:type_name -> emissions.v3.Score - 164, // 43: emissions.v3.QueryGetForecasterScoreEmaResponse.score:type_name -> emissions.v3.Score - 164, // 44: emissions.v3.QueryGetReputerScoreEmaResponse.score:type_name -> emissions.v3.Score - 164, // 45: emissions.v3.QueryInferenceScoresUntilBlockResponse.scores:type_name -> emissions.v3.Score - 165, // 46: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse.scores:type_name -> emissions.v3.Scores - 164, // 47: emissions.v3.QueryForecastScoresUntilBlockResponse.scores:type_name -> emissions.v3.Score - 165, // 48: emissions.v3.QueryWorkerForecastScoresAtBlockResponse.scores:type_name -> emissions.v3.Scores - 165, // 49: emissions.v3.QueryReputersScoresAtBlockResponse.scores:type_name -> emissions.v3.Scores - 166, // 50: emissions.v3.QueryListeningCoefficientResponse.listening_coefficient:type_name -> emissions.v3.ListeningCoefficient - 148, // 51: emissions.v3.QueryActiveTopicsAtBlockResponse.topics:type_name -> emissions.v3.Topic - 150, // 52: emissions.v3.QueryActiveTopicsAtBlockResponse.pagination:type_name -> emissions.v3.SimpleCursorPaginationResponse - 10, // 53: emissions.v3.Query.Params:input_type -> emissions.v3.QueryParamsRequest - 30, // 54: emissions.v3.Query.GetNextTopicId:input_type -> emissions.v3.QueryNextTopicIdRequest - 32, // 55: emissions.v3.Query.GetTopic:input_type -> emissions.v3.QueryTopicRequest - 42, // 56: emissions.v3.Query.GetWorkerLatestInferenceByTopicId:input_type -> emissions.v3.QueryWorkerLatestInferenceRequest - 36, // 57: emissions.v3.Query.GetInferencesAtBlock:input_type -> emissions.v3.QueryInferencesAtBlockRequest - 38, // 58: emissions.v3.Query.GetLatestTopicInferences:input_type -> emissions.v3.QueryLatestTopicInferencesRequest - 40, // 59: emissions.v3.Query.GetForecastsAtBlock:input_type -> emissions.v3.QueryForecastsAtBlockRequest - 28, // 60: emissions.v3.Query.GetNetworkLossBundleAtBlock:input_type -> emissions.v3.QueryNetworkLossBundleAtBlockRequest - 12, // 61: emissions.v3.Query.GetTotalStake:input_type -> emissions.v3.QueryTotalStakeRequest - 14, // 62: emissions.v3.Query.GetReputerStakeInTopic:input_type -> emissions.v3.QueryReputerStakeInTopicRequest - 16, // 63: emissions.v3.Query.GetMultiReputerStakeInTopic:input_type -> emissions.v3.QueryMultiReputerStakeInTopicRequest - 18, // 64: emissions.v3.Query.GetStakeFromReputerInTopicInSelf:input_type -> emissions.v3.QueryStakeFromReputerInTopicInSelfRequest - 20, // 65: emissions.v3.Query.GetDelegateStakeInTopicInReputer:input_type -> emissions.v3.QueryDelegateStakeInTopicInReputerRequest - 22, // 66: emissions.v3.Query.GetStakeFromDelegatorInTopicInReputer:input_type -> emissions.v3.QueryStakeFromDelegatorInTopicInReputerRequest - 24, // 67: emissions.v3.Query.GetStakeFromDelegatorInTopic:input_type -> emissions.v3.QueryStakeFromDelegatorInTopicRequest - 26, // 68: emissions.v3.Query.GetTopicStake:input_type -> emissions.v3.QueryTopicStakeRequest - 74, // 69: emissions.v3.Query.GetStakeRemovalsUpUntilBlock:input_type -> emissions.v3.QueryStakeRemovalsUpUntilBlockRequest - 76, // 70: emissions.v3.Query.GetDelegateStakeRemovalsUpUntilBlock:input_type -> emissions.v3.QueryDelegateStakeRemovalsUpUntilBlockRequest - 78, // 71: emissions.v3.Query.GetStakeRemovalInfo:input_type -> emissions.v3.QueryStakeRemovalInfoRequest - 80, // 72: emissions.v3.Query.GetDelegateStakeRemovalInfo:input_type -> emissions.v3.QueryDelegateStakeRemovalInfoRequest - 44, // 73: emissions.v3.Query.GetWorkerNodeInfo:input_type -> emissions.v3.QueryWorkerNodeInfoRequest - 46, // 74: emissions.v3.Query.GetReputerNodeInfo:input_type -> emissions.v3.QueryReputerNodeInfoRequest - 68, // 75: emissions.v3.Query.IsWorkerRegisteredInTopicId:input_type -> emissions.v3.QueryIsWorkerRegisteredInTopicIdRequest - 70, // 76: emissions.v3.Query.IsReputerRegisteredInTopicId:input_type -> emissions.v3.QueryIsReputerRegisteredInTopicIdRequest - 48, // 77: emissions.v3.Query.GetNetworkInferencesAtBlock:input_type -> emissions.v3.QueryNetworkInferencesAtBlockRequest - 49, // 78: emissions.v3.Query.GetLatestNetworkInference:input_type -> emissions.v3.QueryLatestNetworkInferencesRequest - 50, // 79: emissions.v3.Query.GetLatestAvailableNetworkInference:input_type -> emissions.v3.QueryLatestAvailableNetworkInferencesRequest - 51, // 80: emissions.v3.Query.IsWorkerNonceUnfulfilled:input_type -> emissions.v3.QueryIsWorkerNonceUnfulfilledRequest - 63, // 81: emissions.v3.Query.IsReputerNonceUnfulfilled:input_type -> emissions.v3.QueryIsReputerNonceUnfulfilledRequest - 55, // 82: emissions.v3.Query.GetUnfulfilledWorkerNonces:input_type -> emissions.v3.QueryUnfulfilledWorkerNoncesRequest - 53, // 83: emissions.v3.Query.GetUnfulfilledReputerNonces:input_type -> emissions.v3.QueryUnfulfilledReputerNoncesRequest - 57, // 84: emissions.v3.Query.GetInfererNetworkRegret:input_type -> emissions.v3.QueryInfererNetworkRegretRequest - 59, // 85: emissions.v3.Query.GetForecasterNetworkRegret:input_type -> emissions.v3.QueryForecasterNetworkRegretRequest - 61, // 86: emissions.v3.Query.GetOneInForecasterNetworkRegret:input_type -> emissions.v3.QueryOneInForecasterNetworkRegretRequest - 72, // 87: emissions.v3.Query.IsWhitelistAdmin:input_type -> emissions.v3.QueryIsWhitelistAdminRequest - 82, // 88: emissions.v3.Query.GetTopicLastWorkerCommitInfo:input_type -> emissions.v3.QueryTopicLastWorkerCommitInfoRequest - 84, // 89: emissions.v3.Query.GetTopicLastReputerCommitInfo:input_type -> emissions.v3.QueryTopicLastReputerCommitInfoRequest - 86, // 90: emissions.v3.Query.GetTopicRewardNonce:input_type -> emissions.v3.QueryTopicRewardNonceRequest - 88, // 91: emissions.v3.Query.GetReputerLossBundlesAtBlock:input_type -> emissions.v3.QueryReputerLossBundlesAtBlockRequest - 90, // 92: emissions.v3.Query.GetStakeReputerAuthority:input_type -> emissions.v3.QueryStakeReputerAuthorityRequest - 92, // 93: emissions.v3.Query.GetDelegateStakePlacement:input_type -> emissions.v3.QueryDelegateStakePlacementRequest - 94, // 94: emissions.v3.Query.GetDelegateStakeUponReputer:input_type -> emissions.v3.QueryDelegateStakeUponReputerRequest - 96, // 95: emissions.v3.Query.GetDelegateRewardPerShare:input_type -> emissions.v3.QueryDelegateRewardPerShareRequest - 98, // 96: emissions.v3.Query.GetStakeRemovalForReputerAndTopicId:input_type -> emissions.v3.QueryStakeRemovalForReputerAndTopicIdRequest - 100, // 97: emissions.v3.Query.GetDelegateStakeRemoval:input_type -> emissions.v3.QueryDelegateStakeRemovalRequest - 102, // 98: emissions.v3.Query.GetPreviousTopicWeight:input_type -> emissions.v3.QueryPreviousTopicWeightRequest - 104, // 99: emissions.v3.Query.TopicExists:input_type -> emissions.v3.QueryTopicExistsRequest - 106, // 100: emissions.v3.Query.IsTopicActive:input_type -> emissions.v3.QueryIsTopicActiveRequest - 108, // 101: emissions.v3.Query.GetTopicFeeRevenue:input_type -> emissions.v3.QueryTopicFeeRevenueRequest - 110, // 102: emissions.v3.Query.GetRewardableTopics:input_type -> emissions.v3.QueryRewardableTopicsRequest - 112, // 103: emissions.v3.Query.GetInfererScoreEma:input_type -> emissions.v3.QueryGetInfererScoreEmaRequest - 114, // 104: emissions.v3.Query.GetForecasterScoreEma:input_type -> emissions.v3.QueryGetForecasterScoreEmaRequest - 116, // 105: emissions.v3.Query.GetReputerScoreEma:input_type -> emissions.v3.QueryGetReputerScoreEmaRequest - 118, // 106: emissions.v3.Query.GetInferenceScoresUntilBlock:input_type -> emissions.v3.QueryInferenceScoresUntilBlockRequest - 120, // 107: emissions.v3.Query.GetWorkerInferenceScoresAtBlock:input_type -> emissions.v3.QueryWorkerInferenceScoresAtBlockRequest - 122, // 108: emissions.v3.Query.GetForecastScoresUntilBlock:input_type -> emissions.v3.QueryForecastScoresUntilBlockRequest - 124, // 109: emissions.v3.Query.GetWorkerForecastScoresAtBlock:input_type -> emissions.v3.QueryWorkerForecastScoresAtBlockRequest - 126, // 110: emissions.v3.Query.GetReputersScoresAtBlock:input_type -> emissions.v3.QueryReputersScoresAtBlockRequest - 128, // 111: emissions.v3.Query.GetListeningCoefficient:input_type -> emissions.v3.QueryListeningCoefficientRequest - 130, // 112: emissions.v3.Query.GetPreviousReputerRewardFraction:input_type -> emissions.v3.QueryPreviousReputerRewardFractionRequest - 132, // 113: emissions.v3.Query.GetPreviousInferenceRewardFraction:input_type -> emissions.v3.QueryPreviousInferenceRewardFractionRequest - 134, // 114: emissions.v3.Query.GetPreviousForecastRewardFraction:input_type -> emissions.v3.QueryPreviousForecastRewardFractionRequest - 136, // 115: emissions.v3.Query.GetPreviousPercentageRewardToStakedReputers:input_type -> emissions.v3.QueryPreviousPercentageRewardToStakedReputersRequest - 138, // 116: emissions.v3.Query.GetTotalRewardToDistribute:input_type -> emissions.v3.QueryTotalRewardToDistributeRequest - 0, // 117: emissions.v3.Query.GetNaiveInfererNetworkRegret:input_type -> emissions.v3.QueryNaiveInfererNetworkRegretRequest - 2, // 118: emissions.v3.Query.GetOneOutInfererInfererNetworkRegret:input_type -> emissions.v3.QueryOneOutInfererInfererNetworkRegretRequest - 4, // 119: emissions.v3.Query.GetOneOutInfererForecasterNetworkRegret:input_type -> emissions.v3.QueryOneOutInfererForecasterNetworkRegretRequest - 6, // 120: emissions.v3.Query.GetOneOutForecasterInfererNetworkRegret:input_type -> emissions.v3.QueryOneOutForecasterInfererNetworkRegretRequest - 8, // 121: emissions.v3.Query.GetOneOutForecasterForecasterNetworkRegret:input_type -> emissions.v3.QueryOneOutForecasterForecasterNetworkRegretRequest - 140, // 122: emissions.v3.Query.GetActiveTopicsAtBlock:input_type -> emissions.v3.QueryActiveTopicsAtBlockRequest - 142, // 123: emissions.v3.Query.GetNextChurningBlockByTopicId:input_type -> emissions.v3.QueryNextChurningBlockByTopicIdRequest - 11, // 124: emissions.v3.Query.Params:output_type -> emissions.v3.QueryParamsResponse - 31, // 125: emissions.v3.Query.GetNextTopicId:output_type -> emissions.v3.QueryNextTopicIdResponse - 33, // 126: emissions.v3.Query.GetTopic:output_type -> emissions.v3.QueryTopicResponse - 43, // 127: emissions.v3.Query.GetWorkerLatestInferenceByTopicId:output_type -> emissions.v3.QueryWorkerLatestInferenceResponse - 37, // 128: emissions.v3.Query.GetInferencesAtBlock:output_type -> emissions.v3.QueryInferencesAtBlockResponse - 39, // 129: emissions.v3.Query.GetLatestTopicInferences:output_type -> emissions.v3.QueryLatestTopicInferencesResponse - 41, // 130: emissions.v3.Query.GetForecastsAtBlock:output_type -> emissions.v3.QueryForecastsAtBlockResponse - 29, // 131: emissions.v3.Query.GetNetworkLossBundleAtBlock:output_type -> emissions.v3.QueryNetworkLossBundleAtBlockResponse - 13, // 132: emissions.v3.Query.GetTotalStake:output_type -> emissions.v3.QueryTotalStakeResponse - 15, // 133: emissions.v3.Query.GetReputerStakeInTopic:output_type -> emissions.v3.QueryReputerStakeInTopicResponse - 17, // 134: emissions.v3.Query.GetMultiReputerStakeInTopic:output_type -> emissions.v3.QueryMultiReputerStakeInTopicResponse - 19, // 135: emissions.v3.Query.GetStakeFromReputerInTopicInSelf:output_type -> emissions.v3.QueryStakeFromReputerInTopicInSelfResponse - 21, // 136: emissions.v3.Query.GetDelegateStakeInTopicInReputer:output_type -> emissions.v3.QueryDelegateStakeInTopicInReputerResponse - 23, // 137: emissions.v3.Query.GetStakeFromDelegatorInTopicInReputer:output_type -> emissions.v3.QueryStakeFromDelegatorInTopicInReputerResponse - 25, // 138: emissions.v3.Query.GetStakeFromDelegatorInTopic:output_type -> emissions.v3.QueryStakeFromDelegatorInTopicResponse - 27, // 139: emissions.v3.Query.GetTopicStake:output_type -> emissions.v3.QueryTopicStakeResponse - 75, // 140: emissions.v3.Query.GetStakeRemovalsUpUntilBlock:output_type -> emissions.v3.QueryStakeRemovalsUpUntilBlockResponse - 77, // 141: emissions.v3.Query.GetDelegateStakeRemovalsUpUntilBlock:output_type -> emissions.v3.QueryDelegateStakeRemovalsUpUntilBlockResponse - 79, // 142: emissions.v3.Query.GetStakeRemovalInfo:output_type -> emissions.v3.QueryStakeRemovalInfoResponse - 81, // 143: emissions.v3.Query.GetDelegateStakeRemovalInfo:output_type -> emissions.v3.QueryDelegateStakeRemovalInfoResponse - 45, // 144: emissions.v3.Query.GetWorkerNodeInfo:output_type -> emissions.v3.QueryWorkerNodeInfoResponse - 47, // 145: emissions.v3.Query.GetReputerNodeInfo:output_type -> emissions.v3.QueryReputerNodeInfoResponse - 69, // 146: emissions.v3.Query.IsWorkerRegisteredInTopicId:output_type -> emissions.v3.QueryIsWorkerRegisteredInTopicIdResponse - 71, // 147: emissions.v3.Query.IsReputerRegisteredInTopicId:output_type -> emissions.v3.QueryIsReputerRegisteredInTopicIdResponse - 65, // 148: emissions.v3.Query.GetNetworkInferencesAtBlock:output_type -> emissions.v3.QueryNetworkInferencesAtBlockResponse - 66, // 149: emissions.v3.Query.GetLatestNetworkInference:output_type -> emissions.v3.QueryLatestNetworkInferencesResponse - 67, // 150: emissions.v3.Query.GetLatestAvailableNetworkInference:output_type -> emissions.v3.QueryLatestAvailableNetworkInferencesResponse - 52, // 151: emissions.v3.Query.IsWorkerNonceUnfulfilled:output_type -> emissions.v3.QueryIsWorkerNonceUnfulfilledResponse - 64, // 152: emissions.v3.Query.IsReputerNonceUnfulfilled:output_type -> emissions.v3.QueryIsReputerNonceUnfulfilledResponse - 56, // 153: emissions.v3.Query.GetUnfulfilledWorkerNonces:output_type -> emissions.v3.QueryUnfulfilledWorkerNoncesResponse - 54, // 154: emissions.v3.Query.GetUnfulfilledReputerNonces:output_type -> emissions.v3.QueryUnfulfilledReputerNoncesResponse - 58, // 155: emissions.v3.Query.GetInfererNetworkRegret:output_type -> emissions.v3.QueryInfererNetworkRegretResponse - 60, // 156: emissions.v3.Query.GetForecasterNetworkRegret:output_type -> emissions.v3.QueryForecasterNetworkRegretResponse - 62, // 157: emissions.v3.Query.GetOneInForecasterNetworkRegret:output_type -> emissions.v3.QueryOneInForecasterNetworkRegretResponse - 73, // 158: emissions.v3.Query.IsWhitelistAdmin:output_type -> emissions.v3.QueryIsWhitelistAdminResponse - 83, // 159: emissions.v3.Query.GetTopicLastWorkerCommitInfo:output_type -> emissions.v3.QueryTopicLastWorkerCommitInfoResponse - 85, // 160: emissions.v3.Query.GetTopicLastReputerCommitInfo:output_type -> emissions.v3.QueryTopicLastReputerCommitInfoResponse - 87, // 161: emissions.v3.Query.GetTopicRewardNonce:output_type -> emissions.v3.QueryTopicRewardNonceResponse - 89, // 162: emissions.v3.Query.GetReputerLossBundlesAtBlock:output_type -> emissions.v3.QueryReputerLossBundlesAtBlockResponse - 91, // 163: emissions.v3.Query.GetStakeReputerAuthority:output_type -> emissions.v3.QueryStakeReputerAuthorityResponse - 93, // 164: emissions.v3.Query.GetDelegateStakePlacement:output_type -> emissions.v3.QueryDelegateStakePlacementResponse - 95, // 165: emissions.v3.Query.GetDelegateStakeUponReputer:output_type -> emissions.v3.QueryDelegateStakeUponReputerResponse - 97, // 166: emissions.v3.Query.GetDelegateRewardPerShare:output_type -> emissions.v3.QueryDelegateRewardPerShareResponse - 99, // 167: emissions.v3.Query.GetStakeRemovalForReputerAndTopicId:output_type -> emissions.v3.QueryStakeRemovalForReputerAndTopicIdResponse - 101, // 168: emissions.v3.Query.GetDelegateStakeRemoval:output_type -> emissions.v3.QueryDelegateStakeRemovalResponse - 103, // 169: emissions.v3.Query.GetPreviousTopicWeight:output_type -> emissions.v3.QueryPreviousTopicWeightResponse - 105, // 170: emissions.v3.Query.TopicExists:output_type -> emissions.v3.QueryTopicExistsResponse - 107, // 171: emissions.v3.Query.IsTopicActive:output_type -> emissions.v3.QueryIsTopicActiveResponse - 109, // 172: emissions.v3.Query.GetTopicFeeRevenue:output_type -> emissions.v3.QueryTopicFeeRevenueResponse - 111, // 173: emissions.v3.Query.GetRewardableTopics:output_type -> emissions.v3.QueryRewardableTopicsResponse - 113, // 174: emissions.v3.Query.GetInfererScoreEma:output_type -> emissions.v3.QueryGetInfererScoreEmaResponse - 115, // 175: emissions.v3.Query.GetForecasterScoreEma:output_type -> emissions.v3.QueryGetForecasterScoreEmaResponse - 117, // 176: emissions.v3.Query.GetReputerScoreEma:output_type -> emissions.v3.QueryGetReputerScoreEmaResponse - 119, // 177: emissions.v3.Query.GetInferenceScoresUntilBlock:output_type -> emissions.v3.QueryInferenceScoresUntilBlockResponse - 121, // 178: emissions.v3.Query.GetWorkerInferenceScoresAtBlock:output_type -> emissions.v3.QueryWorkerInferenceScoresAtBlockResponse - 123, // 179: emissions.v3.Query.GetForecastScoresUntilBlock:output_type -> emissions.v3.QueryForecastScoresUntilBlockResponse - 125, // 180: emissions.v3.Query.GetWorkerForecastScoresAtBlock:output_type -> emissions.v3.QueryWorkerForecastScoresAtBlockResponse - 127, // 181: emissions.v3.Query.GetReputersScoresAtBlock:output_type -> emissions.v3.QueryReputersScoresAtBlockResponse - 129, // 182: emissions.v3.Query.GetListeningCoefficient:output_type -> emissions.v3.QueryListeningCoefficientResponse - 131, // 183: emissions.v3.Query.GetPreviousReputerRewardFraction:output_type -> emissions.v3.QueryPreviousReputerRewardFractionResponse - 133, // 184: emissions.v3.Query.GetPreviousInferenceRewardFraction:output_type -> emissions.v3.QueryPreviousInferenceRewardFractionResponse - 135, // 185: emissions.v3.Query.GetPreviousForecastRewardFraction:output_type -> emissions.v3.QueryPreviousForecastRewardFractionResponse - 137, // 186: emissions.v3.Query.GetPreviousPercentageRewardToStakedReputers:output_type -> emissions.v3.QueryPreviousPercentageRewardToStakedReputersResponse - 139, // 187: emissions.v3.Query.GetTotalRewardToDistribute:output_type -> emissions.v3.QueryTotalRewardToDistributeResponse - 1, // 188: emissions.v3.Query.GetNaiveInfererNetworkRegret:output_type -> emissions.v3.QueryNaiveInfererNetworkRegretResponse - 3, // 189: emissions.v3.Query.GetOneOutInfererInfererNetworkRegret:output_type -> emissions.v3.QueryOneOutInfererInfererNetworkRegretResponse - 5, // 190: emissions.v3.Query.GetOneOutInfererForecasterNetworkRegret:output_type -> emissions.v3.QueryOneOutInfererForecasterNetworkRegretResponse - 7, // 191: emissions.v3.Query.GetOneOutForecasterInfererNetworkRegret:output_type -> emissions.v3.QueryOneOutForecasterInfererNetworkRegretResponse - 9, // 192: emissions.v3.Query.GetOneOutForecasterForecasterNetworkRegret:output_type -> emissions.v3.QueryOneOutForecasterForecasterNetworkRegretResponse - 141, // 193: emissions.v3.Query.GetActiveTopicsAtBlock:output_type -> emissions.v3.QueryActiveTopicsAtBlockResponse - 143, // 194: emissions.v3.Query.GetNextChurningBlockByTopicId:output_type -> emissions.v3.QueryNextChurningBlockByTopicIdResponse - 124, // [124:195] is the sub-list for method output_type - 53, // [53:124] is the sub-list for method input_type - 53, // [53:53] is the sub-list for extension type_name - 53, // [53:53] is the sub-list for extension extendee - 0, // [0:53] is the sub-list for field type_name + 156, // 0: emissions.v3.QueryNaiveInfererNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue + 156, // 1: emissions.v3.QueryOneOutInfererInfererNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue + 156, // 2: emissions.v3.QueryOneOutInfererForecasterNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue + 156, // 3: emissions.v3.QueryOneOutForecasterInfererNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue + 156, // 4: emissions.v3.QueryOneOutForecasterForecasterNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue + 157, // 5: emissions.v3.QueryParamsResponse.params:type_name -> emissions.v3.Params + 158, // 6: emissions.v3.QueryMultiReputerStakeInTopicResponse.amounts:type_name -> emissions.v3.StakeInfo + 159, // 7: emissions.v3.QueryNetworkLossBundleAtBlockResponse.loss_bundle:type_name -> emissions.v3.ValueBundle + 160, // 8: emissions.v3.QueryTopicResponse.topic:type_name -> emissions.v3.Topic + 161, // 9: emissions.v3.QueryActiveTopicsRequest.pagination:type_name -> emissions.v3.SimpleCursorPaginationRequest + 160, // 10: emissions.v3.QueryActiveTopicsResponse.topics:type_name -> emissions.v3.Topic + 162, // 11: emissions.v3.QueryActiveTopicsResponse.pagination:type_name -> emissions.v3.SimpleCursorPaginationResponse + 163, // 12: emissions.v3.QueryInferencesAtBlockResponse.inferences:type_name -> emissions.v3.Inferences + 163, // 13: emissions.v3.QueryLatestTopicInferencesResponse.inferences:type_name -> emissions.v3.Inferences + 164, // 14: emissions.v3.QueryForecastsAtBlockResponse.forecasts:type_name -> emissions.v3.Forecasts + 165, // 15: emissions.v3.QueryWorkerLatestInferenceResponse.latest_inference:type_name -> emissions.v3.Inference + 166, // 16: emissions.v3.QueryWorkerNodeInfoResponse.node_info:type_name -> emissions.v3.OffchainNode + 166, // 17: emissions.v3.QueryReputerNodeInfoResponse.node_info:type_name -> emissions.v3.OffchainNode + 167, // 18: emissions.v3.QueryUnfulfilledReputerNoncesResponse.nonces:type_name -> emissions.v3.ReputerRequestNonces + 168, // 19: emissions.v3.QueryUnfulfilledWorkerNoncesResponse.nonces:type_name -> emissions.v3.Nonces + 156, // 20: emissions.v3.QueryInfererNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue + 156, // 21: emissions.v3.QueryForecasterNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue + 156, // 22: emissions.v3.QueryOneInForecasterNetworkRegretResponse.regret:type_name -> emissions.v3.TimestampedValue + 159, // 23: emissions.v3.QueryNetworkInferencesAtBlockResponse.network_inferences:type_name -> emissions.v3.ValueBundle + 159, // 24: emissions.v3.QueryLatestNetworkInferencesResponse.network_inferences:type_name -> emissions.v3.ValueBundle + 169, // 25: emissions.v3.QueryLatestNetworkInferencesResponse.inferer_weights:type_name -> emissions.v3.RegretInformedWeight + 169, // 26: emissions.v3.QueryLatestNetworkInferencesResponse.forecaster_weights:type_name -> emissions.v3.RegretInformedWeight + 170, // 27: emissions.v3.QueryLatestNetworkInferencesResponse.forecastImpliedInferences:type_name -> emissions.v3.WorkerAttributedValue + 159, // 28: emissions.v3.QueryLatestAvailableNetworkInferencesResponse.network_inferences:type_name -> emissions.v3.ValueBundle + 169, // 29: emissions.v3.QueryLatestAvailableNetworkInferencesResponse.inferer_weights:type_name -> emissions.v3.RegretInformedWeight + 169, // 30: emissions.v3.QueryLatestAvailableNetworkInferencesResponse.forecaster_weights:type_name -> emissions.v3.RegretInformedWeight + 170, // 31: emissions.v3.QueryLatestAvailableNetworkInferencesResponse.forecastImpliedInferences:type_name -> emissions.v3.WorkerAttributedValue + 171, // 32: emissions.v3.QueryStakeRemovalsUpUntilBlockResponse.removals:type_name -> emissions.v3.StakeRemovalInfo + 172, // 33: emissions.v3.QueryDelegateStakeRemovalsUpUntilBlockResponse.removals:type_name -> emissions.v3.DelegateStakeRemovalInfo + 171, // 34: emissions.v3.QueryStakeRemovalInfoResponse.removal:type_name -> emissions.v3.StakeRemovalInfo + 172, // 35: emissions.v3.QueryDelegateStakeRemovalInfoResponse.removal:type_name -> emissions.v3.DelegateStakeRemovalInfo + 173, // 36: emissions.v3.QueryTopicLastWorkerCommitInfoResponse.last_commit:type_name -> emissions.v3.TimestampedActorNonce + 173, // 37: emissions.v3.QueryTopicLastReputerCommitInfoResponse.last_commit:type_name -> emissions.v3.TimestampedActorNonce + 174, // 38: emissions.v3.QueryReputerLossBundlesAtBlockResponse.loss_bundles:type_name -> emissions.v3.ReputerValueBundles + 175, // 39: emissions.v3.QueryDelegateStakePlacementResponse.delegator_info:type_name -> emissions.v3.DelegatorInfo + 171, // 40: emissions.v3.QueryStakeRemovalForReputerAndTopicIdResponse.stake_removal_info:type_name -> emissions.v3.StakeRemovalInfo + 172, // 41: emissions.v3.QueryDelegateStakeRemovalResponse.stake_removal_info:type_name -> emissions.v3.DelegateStakeRemovalInfo + 176, // 42: emissions.v3.QueryGetInfererScoreEmaResponse.score:type_name -> emissions.v3.Score + 176, // 43: emissions.v3.QueryGetForecasterScoreEmaResponse.score:type_name -> emissions.v3.Score + 176, // 44: emissions.v3.QueryGetReputerScoreEmaResponse.score:type_name -> emissions.v3.Score + 176, // 45: emissions.v3.QueryInferenceScoresUntilBlockResponse.scores:type_name -> emissions.v3.Score + 177, // 46: emissions.v3.QueryWorkerInferenceScoresAtBlockResponse.scores:type_name -> emissions.v3.Scores + 176, // 47: emissions.v3.QueryCurrentLowestInfererScoreResponse.score:type_name -> emissions.v3.Score + 176, // 48: emissions.v3.QueryForecastScoresUntilBlockResponse.scores:type_name -> emissions.v3.Score + 177, // 49: emissions.v3.QueryWorkerForecastScoresAtBlockResponse.scores:type_name -> emissions.v3.Scores + 176, // 50: emissions.v3.QueryCurrentLowestForecasterScoreResponse.score:type_name -> emissions.v3.Score + 177, // 51: emissions.v3.QueryReputersScoresAtBlockResponse.scores:type_name -> emissions.v3.Scores + 176, // 52: emissions.v3.QueryCurrentLowestReputerScoreResponse.score:type_name -> emissions.v3.Score + 178, // 53: emissions.v3.QueryListeningCoefficientResponse.listening_coefficient:type_name -> emissions.v3.ListeningCoefficient + 160, // 54: emissions.v3.QueryActiveTopicsAtBlockResponse.topics:type_name -> emissions.v3.Topic + 162, // 55: emissions.v3.QueryActiveTopicsAtBlockResponse.pagination:type_name -> emissions.v3.SimpleCursorPaginationResponse + 10, // 56: emissions.v3.Query.Params:input_type -> emissions.v3.QueryParamsRequest + 30, // 57: emissions.v3.Query.GetNextTopicId:input_type -> emissions.v3.QueryNextTopicIdRequest + 32, // 58: emissions.v3.Query.GetTopic:input_type -> emissions.v3.QueryTopicRequest + 42, // 59: emissions.v3.Query.GetWorkerLatestInferenceByTopicId:input_type -> emissions.v3.QueryWorkerLatestInferenceRequest + 36, // 60: emissions.v3.Query.GetInferencesAtBlock:input_type -> emissions.v3.QueryInferencesAtBlockRequest + 38, // 61: emissions.v3.Query.GetLatestTopicInferences:input_type -> emissions.v3.QueryLatestTopicInferencesRequest + 40, // 62: emissions.v3.Query.GetForecastsAtBlock:input_type -> emissions.v3.QueryForecastsAtBlockRequest + 28, // 63: emissions.v3.Query.GetNetworkLossBundleAtBlock:input_type -> emissions.v3.QueryNetworkLossBundleAtBlockRequest + 12, // 64: emissions.v3.Query.GetTotalStake:input_type -> emissions.v3.QueryTotalStakeRequest + 14, // 65: emissions.v3.Query.GetReputerStakeInTopic:input_type -> emissions.v3.QueryReputerStakeInTopicRequest + 16, // 66: emissions.v3.Query.GetMultiReputerStakeInTopic:input_type -> emissions.v3.QueryMultiReputerStakeInTopicRequest + 18, // 67: emissions.v3.Query.GetStakeFromReputerInTopicInSelf:input_type -> emissions.v3.QueryStakeFromReputerInTopicInSelfRequest + 20, // 68: emissions.v3.Query.GetDelegateStakeInTopicInReputer:input_type -> emissions.v3.QueryDelegateStakeInTopicInReputerRequest + 22, // 69: emissions.v3.Query.GetStakeFromDelegatorInTopicInReputer:input_type -> emissions.v3.QueryStakeFromDelegatorInTopicInReputerRequest + 24, // 70: emissions.v3.Query.GetStakeFromDelegatorInTopic:input_type -> emissions.v3.QueryStakeFromDelegatorInTopicRequest + 26, // 71: emissions.v3.Query.GetTopicStake:input_type -> emissions.v3.QueryTopicStakeRequest + 74, // 72: emissions.v3.Query.GetStakeRemovalsUpUntilBlock:input_type -> emissions.v3.QueryStakeRemovalsUpUntilBlockRequest + 76, // 73: emissions.v3.Query.GetDelegateStakeRemovalsUpUntilBlock:input_type -> emissions.v3.QueryDelegateStakeRemovalsUpUntilBlockRequest + 78, // 74: emissions.v3.Query.GetStakeRemovalInfo:input_type -> emissions.v3.QueryStakeRemovalInfoRequest + 80, // 75: emissions.v3.Query.GetDelegateStakeRemovalInfo:input_type -> emissions.v3.QueryDelegateStakeRemovalInfoRequest + 44, // 76: emissions.v3.Query.GetWorkerNodeInfo:input_type -> emissions.v3.QueryWorkerNodeInfoRequest + 46, // 77: emissions.v3.Query.GetReputerNodeInfo:input_type -> emissions.v3.QueryReputerNodeInfoRequest + 68, // 78: emissions.v3.Query.IsWorkerRegisteredInTopicId:input_type -> emissions.v3.QueryIsWorkerRegisteredInTopicIdRequest + 70, // 79: emissions.v3.Query.IsReputerRegisteredInTopicId:input_type -> emissions.v3.QueryIsReputerRegisteredInTopicIdRequest + 48, // 80: emissions.v3.Query.GetNetworkInferencesAtBlock:input_type -> emissions.v3.QueryNetworkInferencesAtBlockRequest + 49, // 81: emissions.v3.Query.GetLatestNetworkInference:input_type -> emissions.v3.QueryLatestNetworkInferencesRequest + 50, // 82: emissions.v3.Query.GetLatestAvailableNetworkInference:input_type -> emissions.v3.QueryLatestAvailableNetworkInferencesRequest + 51, // 83: emissions.v3.Query.IsWorkerNonceUnfulfilled:input_type -> emissions.v3.QueryIsWorkerNonceUnfulfilledRequest + 63, // 84: emissions.v3.Query.IsReputerNonceUnfulfilled:input_type -> emissions.v3.QueryIsReputerNonceUnfulfilledRequest + 55, // 85: emissions.v3.Query.GetUnfulfilledWorkerNonces:input_type -> emissions.v3.QueryUnfulfilledWorkerNoncesRequest + 53, // 86: emissions.v3.Query.GetUnfulfilledReputerNonces:input_type -> emissions.v3.QueryUnfulfilledReputerNoncesRequest + 57, // 87: emissions.v3.Query.GetInfererNetworkRegret:input_type -> emissions.v3.QueryInfererNetworkRegretRequest + 59, // 88: emissions.v3.Query.GetForecasterNetworkRegret:input_type -> emissions.v3.QueryForecasterNetworkRegretRequest + 61, // 89: emissions.v3.Query.GetOneInForecasterNetworkRegret:input_type -> emissions.v3.QueryOneInForecasterNetworkRegretRequest + 72, // 90: emissions.v3.Query.IsWhitelistAdmin:input_type -> emissions.v3.QueryIsWhitelistAdminRequest + 82, // 91: emissions.v3.Query.GetTopicLastWorkerCommitInfo:input_type -> emissions.v3.QueryTopicLastWorkerCommitInfoRequest + 84, // 92: emissions.v3.Query.GetTopicLastReputerCommitInfo:input_type -> emissions.v3.QueryTopicLastReputerCommitInfoRequest + 86, // 93: emissions.v3.Query.GetTopicRewardNonce:input_type -> emissions.v3.QueryTopicRewardNonceRequest + 88, // 94: emissions.v3.Query.GetReputerLossBundlesAtBlock:input_type -> emissions.v3.QueryReputerLossBundlesAtBlockRequest + 90, // 95: emissions.v3.Query.GetStakeReputerAuthority:input_type -> emissions.v3.QueryStakeReputerAuthorityRequest + 92, // 96: emissions.v3.Query.GetDelegateStakePlacement:input_type -> emissions.v3.QueryDelegateStakePlacementRequest + 94, // 97: emissions.v3.Query.GetDelegateStakeUponReputer:input_type -> emissions.v3.QueryDelegateStakeUponReputerRequest + 96, // 98: emissions.v3.Query.GetDelegateRewardPerShare:input_type -> emissions.v3.QueryDelegateRewardPerShareRequest + 98, // 99: emissions.v3.Query.GetStakeRemovalForReputerAndTopicId:input_type -> emissions.v3.QueryStakeRemovalForReputerAndTopicIdRequest + 100, // 100: emissions.v3.Query.GetDelegateStakeRemoval:input_type -> emissions.v3.QueryDelegateStakeRemovalRequest + 102, // 101: emissions.v3.Query.GetPreviousTopicWeight:input_type -> emissions.v3.QueryPreviousTopicWeightRequest + 104, // 102: emissions.v3.Query.TopicExists:input_type -> emissions.v3.QueryTopicExistsRequest + 106, // 103: emissions.v3.Query.IsTopicActive:input_type -> emissions.v3.QueryIsTopicActiveRequest + 108, // 104: emissions.v3.Query.GetTopicFeeRevenue:input_type -> emissions.v3.QueryTopicFeeRevenueRequest + 110, // 105: emissions.v3.Query.GetRewardableTopics:input_type -> emissions.v3.QueryRewardableTopicsRequest + 112, // 106: emissions.v3.Query.GetInfererScoreEma:input_type -> emissions.v3.QueryGetInfererScoreEmaRequest + 114, // 107: emissions.v3.Query.GetForecasterScoreEma:input_type -> emissions.v3.QueryGetForecasterScoreEmaRequest + 116, // 108: emissions.v3.Query.GetReputerScoreEma:input_type -> emissions.v3.QueryGetReputerScoreEmaRequest + 118, // 109: emissions.v3.Query.GetInferenceScoresUntilBlock:input_type -> emissions.v3.QueryInferenceScoresUntilBlockRequest + 120, // 110: emissions.v3.Query.GetPreviousTopicQuantileForecasterScoreEma:input_type -> emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest + 122, // 111: emissions.v3.Query.GetPreviousTopicQuantileInfererScoreEma:input_type -> emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest + 124, // 112: emissions.v3.Query.GetPreviousTopicQuantileReputerScoreEma:input_type -> emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest + 126, // 113: emissions.v3.Query.GetWorkerInferenceScoresAtBlock:input_type -> emissions.v3.QueryWorkerInferenceScoresAtBlockRequest + 128, // 114: emissions.v3.Query.GetCurrentLowestInfererScore:input_type -> emissions.v3.QueryCurrentLowestInfererScoreRequest + 130, // 115: emissions.v3.Query.GetForecastScoresUntilBlock:input_type -> emissions.v3.QueryForecastScoresUntilBlockRequest + 132, // 116: emissions.v3.Query.GetWorkerForecastScoresAtBlock:input_type -> emissions.v3.QueryWorkerForecastScoresAtBlockRequest + 134, // 117: emissions.v3.Query.GetCurrentLowestForecasterScore:input_type -> emissions.v3.QueryCurrentLowestForecasterScoreRequest + 136, // 118: emissions.v3.Query.GetReputersScoresAtBlock:input_type -> emissions.v3.QueryReputersScoresAtBlockRequest + 138, // 119: emissions.v3.Query.GetCurrentLowestReputerScore:input_type -> emissions.v3.QueryCurrentLowestReputerScoreRequest + 140, // 120: emissions.v3.Query.GetListeningCoefficient:input_type -> emissions.v3.QueryListeningCoefficientRequest + 142, // 121: emissions.v3.Query.GetPreviousReputerRewardFraction:input_type -> emissions.v3.QueryPreviousReputerRewardFractionRequest + 144, // 122: emissions.v3.Query.GetPreviousInferenceRewardFraction:input_type -> emissions.v3.QueryPreviousInferenceRewardFractionRequest + 146, // 123: emissions.v3.Query.GetPreviousForecastRewardFraction:input_type -> emissions.v3.QueryPreviousForecastRewardFractionRequest + 148, // 124: emissions.v3.Query.GetPreviousPercentageRewardToStakedReputers:input_type -> emissions.v3.QueryPreviousPercentageRewardToStakedReputersRequest + 150, // 125: emissions.v3.Query.GetTotalRewardToDistribute:input_type -> emissions.v3.QueryTotalRewardToDistributeRequest + 0, // 126: emissions.v3.Query.GetNaiveInfererNetworkRegret:input_type -> emissions.v3.QueryNaiveInfererNetworkRegretRequest + 2, // 127: emissions.v3.Query.GetOneOutInfererInfererNetworkRegret:input_type -> emissions.v3.QueryOneOutInfererInfererNetworkRegretRequest + 4, // 128: emissions.v3.Query.GetOneOutInfererForecasterNetworkRegret:input_type -> emissions.v3.QueryOneOutInfererForecasterNetworkRegretRequest + 6, // 129: emissions.v3.Query.GetOneOutForecasterInfererNetworkRegret:input_type -> emissions.v3.QueryOneOutForecasterInfererNetworkRegretRequest + 8, // 130: emissions.v3.Query.GetOneOutForecasterForecasterNetworkRegret:input_type -> emissions.v3.QueryOneOutForecasterForecasterNetworkRegretRequest + 152, // 131: emissions.v3.Query.GetActiveTopicsAtBlock:input_type -> emissions.v3.QueryActiveTopicsAtBlockRequest + 154, // 132: emissions.v3.Query.GetNextChurningBlockByTopicId:input_type -> emissions.v3.QueryNextChurningBlockByTopicIdRequest + 11, // 133: emissions.v3.Query.Params:output_type -> emissions.v3.QueryParamsResponse + 31, // 134: emissions.v3.Query.GetNextTopicId:output_type -> emissions.v3.QueryNextTopicIdResponse + 33, // 135: emissions.v3.Query.GetTopic:output_type -> emissions.v3.QueryTopicResponse + 43, // 136: emissions.v3.Query.GetWorkerLatestInferenceByTopicId:output_type -> emissions.v3.QueryWorkerLatestInferenceResponse + 37, // 137: emissions.v3.Query.GetInferencesAtBlock:output_type -> emissions.v3.QueryInferencesAtBlockResponse + 39, // 138: emissions.v3.Query.GetLatestTopicInferences:output_type -> emissions.v3.QueryLatestTopicInferencesResponse + 41, // 139: emissions.v3.Query.GetForecastsAtBlock:output_type -> emissions.v3.QueryForecastsAtBlockResponse + 29, // 140: emissions.v3.Query.GetNetworkLossBundleAtBlock:output_type -> emissions.v3.QueryNetworkLossBundleAtBlockResponse + 13, // 141: emissions.v3.Query.GetTotalStake:output_type -> emissions.v3.QueryTotalStakeResponse + 15, // 142: emissions.v3.Query.GetReputerStakeInTopic:output_type -> emissions.v3.QueryReputerStakeInTopicResponse + 17, // 143: emissions.v3.Query.GetMultiReputerStakeInTopic:output_type -> emissions.v3.QueryMultiReputerStakeInTopicResponse + 19, // 144: emissions.v3.Query.GetStakeFromReputerInTopicInSelf:output_type -> emissions.v3.QueryStakeFromReputerInTopicInSelfResponse + 21, // 145: emissions.v3.Query.GetDelegateStakeInTopicInReputer:output_type -> emissions.v3.QueryDelegateStakeInTopicInReputerResponse + 23, // 146: emissions.v3.Query.GetStakeFromDelegatorInTopicInReputer:output_type -> emissions.v3.QueryStakeFromDelegatorInTopicInReputerResponse + 25, // 147: emissions.v3.Query.GetStakeFromDelegatorInTopic:output_type -> emissions.v3.QueryStakeFromDelegatorInTopicResponse + 27, // 148: emissions.v3.Query.GetTopicStake:output_type -> emissions.v3.QueryTopicStakeResponse + 75, // 149: emissions.v3.Query.GetStakeRemovalsUpUntilBlock:output_type -> emissions.v3.QueryStakeRemovalsUpUntilBlockResponse + 77, // 150: emissions.v3.Query.GetDelegateStakeRemovalsUpUntilBlock:output_type -> emissions.v3.QueryDelegateStakeRemovalsUpUntilBlockResponse + 79, // 151: emissions.v3.Query.GetStakeRemovalInfo:output_type -> emissions.v3.QueryStakeRemovalInfoResponse + 81, // 152: emissions.v3.Query.GetDelegateStakeRemovalInfo:output_type -> emissions.v3.QueryDelegateStakeRemovalInfoResponse + 45, // 153: emissions.v3.Query.GetWorkerNodeInfo:output_type -> emissions.v3.QueryWorkerNodeInfoResponse + 47, // 154: emissions.v3.Query.GetReputerNodeInfo:output_type -> emissions.v3.QueryReputerNodeInfoResponse + 69, // 155: emissions.v3.Query.IsWorkerRegisteredInTopicId:output_type -> emissions.v3.QueryIsWorkerRegisteredInTopicIdResponse + 71, // 156: emissions.v3.Query.IsReputerRegisteredInTopicId:output_type -> emissions.v3.QueryIsReputerRegisteredInTopicIdResponse + 65, // 157: emissions.v3.Query.GetNetworkInferencesAtBlock:output_type -> emissions.v3.QueryNetworkInferencesAtBlockResponse + 66, // 158: emissions.v3.Query.GetLatestNetworkInference:output_type -> emissions.v3.QueryLatestNetworkInferencesResponse + 67, // 159: emissions.v3.Query.GetLatestAvailableNetworkInference:output_type -> emissions.v3.QueryLatestAvailableNetworkInferencesResponse + 52, // 160: emissions.v3.Query.IsWorkerNonceUnfulfilled:output_type -> emissions.v3.QueryIsWorkerNonceUnfulfilledResponse + 64, // 161: emissions.v3.Query.IsReputerNonceUnfulfilled:output_type -> emissions.v3.QueryIsReputerNonceUnfulfilledResponse + 56, // 162: emissions.v3.Query.GetUnfulfilledWorkerNonces:output_type -> emissions.v3.QueryUnfulfilledWorkerNoncesResponse + 54, // 163: emissions.v3.Query.GetUnfulfilledReputerNonces:output_type -> emissions.v3.QueryUnfulfilledReputerNoncesResponse + 58, // 164: emissions.v3.Query.GetInfererNetworkRegret:output_type -> emissions.v3.QueryInfererNetworkRegretResponse + 60, // 165: emissions.v3.Query.GetForecasterNetworkRegret:output_type -> emissions.v3.QueryForecasterNetworkRegretResponse + 62, // 166: emissions.v3.Query.GetOneInForecasterNetworkRegret:output_type -> emissions.v3.QueryOneInForecasterNetworkRegretResponse + 73, // 167: emissions.v3.Query.IsWhitelistAdmin:output_type -> emissions.v3.QueryIsWhitelistAdminResponse + 83, // 168: emissions.v3.Query.GetTopicLastWorkerCommitInfo:output_type -> emissions.v3.QueryTopicLastWorkerCommitInfoResponse + 85, // 169: emissions.v3.Query.GetTopicLastReputerCommitInfo:output_type -> emissions.v3.QueryTopicLastReputerCommitInfoResponse + 87, // 170: emissions.v3.Query.GetTopicRewardNonce:output_type -> emissions.v3.QueryTopicRewardNonceResponse + 89, // 171: emissions.v3.Query.GetReputerLossBundlesAtBlock:output_type -> emissions.v3.QueryReputerLossBundlesAtBlockResponse + 91, // 172: emissions.v3.Query.GetStakeReputerAuthority:output_type -> emissions.v3.QueryStakeReputerAuthorityResponse + 93, // 173: emissions.v3.Query.GetDelegateStakePlacement:output_type -> emissions.v3.QueryDelegateStakePlacementResponse + 95, // 174: emissions.v3.Query.GetDelegateStakeUponReputer:output_type -> emissions.v3.QueryDelegateStakeUponReputerResponse + 97, // 175: emissions.v3.Query.GetDelegateRewardPerShare:output_type -> emissions.v3.QueryDelegateRewardPerShareResponse + 99, // 176: emissions.v3.Query.GetStakeRemovalForReputerAndTopicId:output_type -> emissions.v3.QueryStakeRemovalForReputerAndTopicIdResponse + 101, // 177: emissions.v3.Query.GetDelegateStakeRemoval:output_type -> emissions.v3.QueryDelegateStakeRemovalResponse + 103, // 178: emissions.v3.Query.GetPreviousTopicWeight:output_type -> emissions.v3.QueryPreviousTopicWeightResponse + 105, // 179: emissions.v3.Query.TopicExists:output_type -> emissions.v3.QueryTopicExistsResponse + 107, // 180: emissions.v3.Query.IsTopicActive:output_type -> emissions.v3.QueryIsTopicActiveResponse + 109, // 181: emissions.v3.Query.GetTopicFeeRevenue:output_type -> emissions.v3.QueryTopicFeeRevenueResponse + 111, // 182: emissions.v3.Query.GetRewardableTopics:output_type -> emissions.v3.QueryRewardableTopicsResponse + 113, // 183: emissions.v3.Query.GetInfererScoreEma:output_type -> emissions.v3.QueryGetInfererScoreEmaResponse + 115, // 184: emissions.v3.Query.GetForecasterScoreEma:output_type -> emissions.v3.QueryGetForecasterScoreEmaResponse + 117, // 185: emissions.v3.Query.GetReputerScoreEma:output_type -> emissions.v3.QueryGetReputerScoreEmaResponse + 119, // 186: emissions.v3.Query.GetInferenceScoresUntilBlock:output_type -> emissions.v3.QueryInferenceScoresUntilBlockResponse + 121, // 187: emissions.v3.Query.GetPreviousTopicQuantileForecasterScoreEma:output_type -> emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse + 123, // 188: emissions.v3.Query.GetPreviousTopicQuantileInfererScoreEma:output_type -> emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse + 125, // 189: emissions.v3.Query.GetPreviousTopicQuantileReputerScoreEma:output_type -> emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse + 127, // 190: emissions.v3.Query.GetWorkerInferenceScoresAtBlock:output_type -> emissions.v3.QueryWorkerInferenceScoresAtBlockResponse + 129, // 191: emissions.v3.Query.GetCurrentLowestInfererScore:output_type -> emissions.v3.QueryCurrentLowestInfererScoreResponse + 131, // 192: emissions.v3.Query.GetForecastScoresUntilBlock:output_type -> emissions.v3.QueryForecastScoresUntilBlockResponse + 133, // 193: emissions.v3.Query.GetWorkerForecastScoresAtBlock:output_type -> emissions.v3.QueryWorkerForecastScoresAtBlockResponse + 135, // 194: emissions.v3.Query.GetCurrentLowestForecasterScore:output_type -> emissions.v3.QueryCurrentLowestForecasterScoreResponse + 137, // 195: emissions.v3.Query.GetReputersScoresAtBlock:output_type -> emissions.v3.QueryReputersScoresAtBlockResponse + 139, // 196: emissions.v3.Query.GetCurrentLowestReputerScore:output_type -> emissions.v3.QueryCurrentLowestReputerScoreResponse + 141, // 197: emissions.v3.Query.GetListeningCoefficient:output_type -> emissions.v3.QueryListeningCoefficientResponse + 143, // 198: emissions.v3.Query.GetPreviousReputerRewardFraction:output_type -> emissions.v3.QueryPreviousReputerRewardFractionResponse + 145, // 199: emissions.v3.Query.GetPreviousInferenceRewardFraction:output_type -> emissions.v3.QueryPreviousInferenceRewardFractionResponse + 147, // 200: emissions.v3.Query.GetPreviousForecastRewardFraction:output_type -> emissions.v3.QueryPreviousForecastRewardFractionResponse + 149, // 201: emissions.v3.Query.GetPreviousPercentageRewardToStakedReputers:output_type -> emissions.v3.QueryPreviousPercentageRewardToStakedReputersResponse + 151, // 202: emissions.v3.Query.GetTotalRewardToDistribute:output_type -> emissions.v3.QueryTotalRewardToDistributeResponse + 1, // 203: emissions.v3.Query.GetNaiveInfererNetworkRegret:output_type -> emissions.v3.QueryNaiveInfererNetworkRegretResponse + 3, // 204: emissions.v3.Query.GetOneOutInfererInfererNetworkRegret:output_type -> emissions.v3.QueryOneOutInfererInfererNetworkRegretResponse + 5, // 205: emissions.v3.Query.GetOneOutInfererForecasterNetworkRegret:output_type -> emissions.v3.QueryOneOutInfererForecasterNetworkRegretResponse + 7, // 206: emissions.v3.Query.GetOneOutForecasterInfererNetworkRegret:output_type -> emissions.v3.QueryOneOutForecasterInfererNetworkRegretResponse + 9, // 207: emissions.v3.Query.GetOneOutForecasterForecasterNetworkRegret:output_type -> emissions.v3.QueryOneOutForecasterForecasterNetworkRegretResponse + 153, // 208: emissions.v3.Query.GetActiveTopicsAtBlock:output_type -> emissions.v3.QueryActiveTopicsAtBlockResponse + 155, // 209: emissions.v3.Query.GetNextChurningBlockByTopicId:output_type -> emissions.v3.QueryNextChurningBlockByTopicIdResponse + 133, // [133:210] is the sub-list for method output_type + 56, // [56:133] is the sub-list for method input_type + 56, // [56:56] is the sub-list for extension type_name + 56, // [56:56] is the sub-list for extension extendee + 0, // [0:56] is the sub-list for field type_name } func init() { file_emissions_v3_query_proto_init() } @@ -74959,7 +80553,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryWorkerInferenceScoresAtBlockRequest); i { + switch v := v.(*QueryGetPreviousTopicQuantileForecasterScoreEmaRequest); i { case 0: return &v.state case 1: @@ -74971,7 +80565,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryWorkerInferenceScoresAtBlockResponse); i { + switch v := v.(*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse); i { case 0: return &v.state case 1: @@ -74983,7 +80577,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryForecastScoresUntilBlockRequest); i { + switch v := v.(*QueryGetPreviousTopicQuantileInfererScoreEmaRequest); i { case 0: return &v.state case 1: @@ -74995,7 +80589,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryForecastScoresUntilBlockResponse); i { + switch v := v.(*QueryGetPreviousTopicQuantileInfererScoreEmaResponse); i { case 0: return &v.state case 1: @@ -75007,7 +80601,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryWorkerForecastScoresAtBlockRequest); i { + switch v := v.(*QueryGetPreviousTopicQuantileReputerScoreEmaRequest); i { case 0: return &v.state case 1: @@ -75019,7 +80613,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryWorkerForecastScoresAtBlockResponse); i { + switch v := v.(*QueryGetPreviousTopicQuantileReputerScoreEmaResponse); i { case 0: return &v.state case 1: @@ -75031,7 +80625,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryReputersScoresAtBlockRequest); i { + switch v := v.(*QueryWorkerInferenceScoresAtBlockRequest); i { case 0: return &v.state case 1: @@ -75043,7 +80637,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryReputersScoresAtBlockResponse); i { + switch v := v.(*QueryWorkerInferenceScoresAtBlockResponse); i { case 0: return &v.state case 1: @@ -75055,7 +80649,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryListeningCoefficientRequest); i { + switch v := v.(*QueryCurrentLowestInfererScoreRequest); i { case 0: return &v.state case 1: @@ -75067,7 +80661,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryListeningCoefficientResponse); i { + switch v := v.(*QueryCurrentLowestInfererScoreResponse); i { case 0: return &v.state case 1: @@ -75079,7 +80673,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryPreviousReputerRewardFractionRequest); i { + switch v := v.(*QueryForecastScoresUntilBlockRequest); i { case 0: return &v.state case 1: @@ -75091,7 +80685,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryPreviousReputerRewardFractionResponse); i { + switch v := v.(*QueryForecastScoresUntilBlockResponse); i { case 0: return &v.state case 1: @@ -75103,7 +80697,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryPreviousInferenceRewardFractionRequest); i { + switch v := v.(*QueryWorkerForecastScoresAtBlockRequest); i { case 0: return &v.state case 1: @@ -75115,7 +80709,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryPreviousInferenceRewardFractionResponse); i { + switch v := v.(*QueryWorkerForecastScoresAtBlockResponse); i { case 0: return &v.state case 1: @@ -75127,7 +80721,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryPreviousForecastRewardFractionRequest); i { + switch v := v.(*QueryCurrentLowestForecasterScoreRequest); i { case 0: return &v.state case 1: @@ -75139,7 +80733,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryPreviousForecastRewardFractionResponse); i { + switch v := v.(*QueryCurrentLowestForecasterScoreResponse); i { case 0: return &v.state case 1: @@ -75151,7 +80745,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryPreviousPercentageRewardToStakedReputersRequest); i { + switch v := v.(*QueryReputersScoresAtBlockRequest); i { case 0: return &v.state case 1: @@ -75163,7 +80757,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryPreviousPercentageRewardToStakedReputersResponse); i { + switch v := v.(*QueryReputersScoresAtBlockResponse); i { case 0: return &v.state case 1: @@ -75175,7 +80769,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryTotalRewardToDistributeRequest); i { + switch v := v.(*QueryCurrentLowestReputerScoreRequest); i { case 0: return &v.state case 1: @@ -75187,7 +80781,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryTotalRewardToDistributeResponse); i { + switch v := v.(*QueryCurrentLowestReputerScoreResponse); i { case 0: return &v.state case 1: @@ -75199,7 +80793,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryActiveTopicsAtBlockRequest); i { + switch v := v.(*QueryListeningCoefficientRequest); i { case 0: return &v.state case 1: @@ -75211,7 +80805,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryActiveTopicsAtBlockResponse); i { + switch v := v.(*QueryListeningCoefficientResponse); i { case 0: return &v.state case 1: @@ -75223,7 +80817,7 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryNextChurningBlockByTopicIdRequest); i { + switch v := v.(*QueryPreviousReputerRewardFractionRequest); i { case 0: return &v.state case 1: @@ -75235,6 +80829,150 @@ func file_emissions_v3_query_proto_init() { } } file_emissions_v3_query_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryPreviousReputerRewardFractionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_emissions_v3_query_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryPreviousInferenceRewardFractionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_emissions_v3_query_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryPreviousInferenceRewardFractionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_emissions_v3_query_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryPreviousForecastRewardFractionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_emissions_v3_query_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryPreviousForecastRewardFractionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_emissions_v3_query_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryPreviousPercentageRewardToStakedReputersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_emissions_v3_query_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryPreviousPercentageRewardToStakedReputersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_emissions_v3_query_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryTotalRewardToDistributeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_emissions_v3_query_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryTotalRewardToDistributeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_emissions_v3_query_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryActiveTopicsAtBlockRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_emissions_v3_query_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryActiveTopicsAtBlockResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_emissions_v3_query_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryNextChurningBlockByTopicIdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_emissions_v3_query_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryNextChurningBlockByTopicIdResponse); i { case 0: return &v.state @@ -75253,7 +80991,7 @@ func file_emissions_v3_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_emissions_v3_query_proto_rawDesc, NumEnums: 0, - NumMessages: 144, + NumMessages: 156, NumExtensions: 0, NumServices: 1, }, diff --git a/x/emissions/api/v3/query_grpc.pb.go b/x/emissions/api/v3/query_grpc.pb.go index 4b88f236d..19f3517d8 100644 --- a/x/emissions/api/v3/query_grpc.pb.go +++ b/x/emissions/api/v3/query_grpc.pb.go @@ -73,10 +73,16 @@ const ( Query_GetForecasterScoreEma_FullMethodName = "/emissions.v3.Query/GetForecasterScoreEma" Query_GetReputerScoreEma_FullMethodName = "/emissions.v3.Query/GetReputerScoreEma" Query_GetInferenceScoresUntilBlock_FullMethodName = "/emissions.v3.Query/GetInferenceScoresUntilBlock" + Query_GetPreviousTopicQuantileForecasterScoreEma_FullMethodName = "/emissions.v3.Query/GetPreviousTopicQuantileForecasterScoreEma" + Query_GetPreviousTopicQuantileInfererScoreEma_FullMethodName = "/emissions.v3.Query/GetPreviousTopicQuantileInfererScoreEma" + Query_GetPreviousTopicQuantileReputerScoreEma_FullMethodName = "/emissions.v3.Query/GetPreviousTopicQuantileReputerScoreEma" Query_GetWorkerInferenceScoresAtBlock_FullMethodName = "/emissions.v3.Query/GetWorkerInferenceScoresAtBlock" + Query_GetCurrentLowestInfererScore_FullMethodName = "/emissions.v3.Query/GetCurrentLowestInfererScore" Query_GetForecastScoresUntilBlock_FullMethodName = "/emissions.v3.Query/GetForecastScoresUntilBlock" Query_GetWorkerForecastScoresAtBlock_FullMethodName = "/emissions.v3.Query/GetWorkerForecastScoresAtBlock" + Query_GetCurrentLowestForecasterScore_FullMethodName = "/emissions.v3.Query/GetCurrentLowestForecasterScore" Query_GetReputersScoresAtBlock_FullMethodName = "/emissions.v3.Query/GetReputersScoresAtBlock" + Query_GetCurrentLowestReputerScore_FullMethodName = "/emissions.v3.Query/GetCurrentLowestReputerScore" Query_GetListeningCoefficient_FullMethodName = "/emissions.v3.Query/GetListeningCoefficient" Query_GetPreviousReputerRewardFraction_FullMethodName = "/emissions.v3.Query/GetPreviousReputerRewardFraction" Query_GetPreviousInferenceRewardFraction_FullMethodName = "/emissions.v3.Query/GetPreviousInferenceRewardFraction" @@ -151,10 +157,16 @@ type QueryClient interface { GetForecasterScoreEma(ctx context.Context, in *QueryGetForecasterScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetForecasterScoreEmaResponse, error) GetReputerScoreEma(ctx context.Context, in *QueryGetReputerScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetReputerScoreEmaResponse, error) GetInferenceScoresUntilBlock(ctx context.Context, in *QueryInferenceScoresUntilBlockRequest, opts ...grpc.CallOption) (*QueryInferenceScoresUntilBlockResponse, error) + GetPreviousTopicQuantileForecasterScoreEma(ctx context.Context, in *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse, error) + GetPreviousTopicQuantileInfererScoreEma(ctx context.Context, in *QueryGetPreviousTopicQuantileInfererScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetPreviousTopicQuantileInfererScoreEmaResponse, error) + GetPreviousTopicQuantileReputerScoreEma(ctx context.Context, in *QueryGetPreviousTopicQuantileReputerScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetPreviousTopicQuantileReputerScoreEmaResponse, error) GetWorkerInferenceScoresAtBlock(ctx context.Context, in *QueryWorkerInferenceScoresAtBlockRequest, opts ...grpc.CallOption) (*QueryWorkerInferenceScoresAtBlockResponse, error) + GetCurrentLowestInfererScore(ctx context.Context, in *QueryCurrentLowestInfererScoreRequest, opts ...grpc.CallOption) (*QueryCurrentLowestInfererScoreResponse, error) GetForecastScoresUntilBlock(ctx context.Context, in *QueryForecastScoresUntilBlockRequest, opts ...grpc.CallOption) (*QueryForecastScoresUntilBlockResponse, error) GetWorkerForecastScoresAtBlock(ctx context.Context, in *QueryWorkerForecastScoresAtBlockRequest, opts ...grpc.CallOption) (*QueryWorkerForecastScoresAtBlockResponse, error) + GetCurrentLowestForecasterScore(ctx context.Context, in *QueryCurrentLowestForecasterScoreRequest, opts ...grpc.CallOption) (*QueryCurrentLowestForecasterScoreResponse, error) GetReputersScoresAtBlock(ctx context.Context, in *QueryReputersScoresAtBlockRequest, opts ...grpc.CallOption) (*QueryReputersScoresAtBlockResponse, error) + GetCurrentLowestReputerScore(ctx context.Context, in *QueryCurrentLowestReputerScoreRequest, opts ...grpc.CallOption) (*QueryCurrentLowestReputerScoreResponse, error) GetListeningCoefficient(ctx context.Context, in *QueryListeningCoefficientRequest, opts ...grpc.CallOption) (*QueryListeningCoefficientResponse, error) GetPreviousReputerRewardFraction(ctx context.Context, in *QueryPreviousReputerRewardFractionRequest, opts ...grpc.CallOption) (*QueryPreviousReputerRewardFractionResponse, error) GetPreviousInferenceRewardFraction(ctx context.Context, in *QueryPreviousInferenceRewardFractionRequest, opts ...grpc.CallOption) (*QueryPreviousInferenceRewardFractionResponse, error) @@ -664,6 +676,33 @@ func (c *queryClient) GetInferenceScoresUntilBlock(ctx context.Context, in *Quer return out, nil } +func (c *queryClient) GetPreviousTopicQuantileForecasterScoreEma(ctx context.Context, in *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse, error) { + out := new(QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) + err := c.cc.Invoke(ctx, Query_GetPreviousTopicQuantileForecasterScoreEma_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) GetPreviousTopicQuantileInfererScoreEma(ctx context.Context, in *QueryGetPreviousTopicQuantileInfererScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetPreviousTopicQuantileInfererScoreEmaResponse, error) { + out := new(QueryGetPreviousTopicQuantileInfererScoreEmaResponse) + err := c.cc.Invoke(ctx, Query_GetPreviousTopicQuantileInfererScoreEma_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) GetPreviousTopicQuantileReputerScoreEma(ctx context.Context, in *QueryGetPreviousTopicQuantileReputerScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetPreviousTopicQuantileReputerScoreEmaResponse, error) { + out := new(QueryGetPreviousTopicQuantileReputerScoreEmaResponse) + err := c.cc.Invoke(ctx, Query_GetPreviousTopicQuantileReputerScoreEma_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) GetWorkerInferenceScoresAtBlock(ctx context.Context, in *QueryWorkerInferenceScoresAtBlockRequest, opts ...grpc.CallOption) (*QueryWorkerInferenceScoresAtBlockResponse, error) { out := new(QueryWorkerInferenceScoresAtBlockResponse) err := c.cc.Invoke(ctx, Query_GetWorkerInferenceScoresAtBlock_FullMethodName, in, out, opts...) @@ -673,6 +712,15 @@ func (c *queryClient) GetWorkerInferenceScoresAtBlock(ctx context.Context, in *Q return out, nil } +func (c *queryClient) GetCurrentLowestInfererScore(ctx context.Context, in *QueryCurrentLowestInfererScoreRequest, opts ...grpc.CallOption) (*QueryCurrentLowestInfererScoreResponse, error) { + out := new(QueryCurrentLowestInfererScoreResponse) + err := c.cc.Invoke(ctx, Query_GetCurrentLowestInfererScore_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) GetForecastScoresUntilBlock(ctx context.Context, in *QueryForecastScoresUntilBlockRequest, opts ...grpc.CallOption) (*QueryForecastScoresUntilBlockResponse, error) { out := new(QueryForecastScoresUntilBlockResponse) err := c.cc.Invoke(ctx, Query_GetForecastScoresUntilBlock_FullMethodName, in, out, opts...) @@ -691,6 +739,15 @@ func (c *queryClient) GetWorkerForecastScoresAtBlock(ctx context.Context, in *Qu return out, nil } +func (c *queryClient) GetCurrentLowestForecasterScore(ctx context.Context, in *QueryCurrentLowestForecasterScoreRequest, opts ...grpc.CallOption) (*QueryCurrentLowestForecasterScoreResponse, error) { + out := new(QueryCurrentLowestForecasterScoreResponse) + err := c.cc.Invoke(ctx, Query_GetCurrentLowestForecasterScore_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) GetReputersScoresAtBlock(ctx context.Context, in *QueryReputersScoresAtBlockRequest, opts ...grpc.CallOption) (*QueryReputersScoresAtBlockResponse, error) { out := new(QueryReputersScoresAtBlockResponse) err := c.cc.Invoke(ctx, Query_GetReputersScoresAtBlock_FullMethodName, in, out, opts...) @@ -700,6 +757,15 @@ func (c *queryClient) GetReputersScoresAtBlock(ctx context.Context, in *QueryRep return out, nil } +func (c *queryClient) GetCurrentLowestReputerScore(ctx context.Context, in *QueryCurrentLowestReputerScoreRequest, opts ...grpc.CallOption) (*QueryCurrentLowestReputerScoreResponse, error) { + out := new(QueryCurrentLowestReputerScoreResponse) + err := c.cc.Invoke(ctx, Query_GetCurrentLowestReputerScore_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) GetListeningCoefficient(ctx context.Context, in *QueryListeningCoefficientRequest, opts ...grpc.CallOption) (*QueryListeningCoefficientResponse, error) { out := new(QueryListeningCoefficientResponse) err := c.cc.Invoke(ctx, Query_GetListeningCoefficient_FullMethodName, in, out, opts...) @@ -876,10 +942,16 @@ type QueryServer interface { GetForecasterScoreEma(context.Context, *QueryGetForecasterScoreEmaRequest) (*QueryGetForecasterScoreEmaResponse, error) GetReputerScoreEma(context.Context, *QueryGetReputerScoreEmaRequest) (*QueryGetReputerScoreEmaResponse, error) GetInferenceScoresUntilBlock(context.Context, *QueryInferenceScoresUntilBlockRequest) (*QueryInferenceScoresUntilBlockResponse, error) + GetPreviousTopicQuantileForecasterScoreEma(context.Context, *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) (*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse, error) + GetPreviousTopicQuantileInfererScoreEma(context.Context, *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) (*QueryGetPreviousTopicQuantileInfererScoreEmaResponse, error) + GetPreviousTopicQuantileReputerScoreEma(context.Context, *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) (*QueryGetPreviousTopicQuantileReputerScoreEmaResponse, error) GetWorkerInferenceScoresAtBlock(context.Context, *QueryWorkerInferenceScoresAtBlockRequest) (*QueryWorkerInferenceScoresAtBlockResponse, error) + GetCurrentLowestInfererScore(context.Context, *QueryCurrentLowestInfererScoreRequest) (*QueryCurrentLowestInfererScoreResponse, error) GetForecastScoresUntilBlock(context.Context, *QueryForecastScoresUntilBlockRequest) (*QueryForecastScoresUntilBlockResponse, error) GetWorkerForecastScoresAtBlock(context.Context, *QueryWorkerForecastScoresAtBlockRequest) (*QueryWorkerForecastScoresAtBlockResponse, error) + GetCurrentLowestForecasterScore(context.Context, *QueryCurrentLowestForecasterScoreRequest) (*QueryCurrentLowestForecasterScoreResponse, error) GetReputersScoresAtBlock(context.Context, *QueryReputersScoresAtBlockRequest) (*QueryReputersScoresAtBlockResponse, error) + GetCurrentLowestReputerScore(context.Context, *QueryCurrentLowestReputerScoreRequest) (*QueryCurrentLowestReputerScoreResponse, error) GetListeningCoefficient(context.Context, *QueryListeningCoefficientRequest) (*QueryListeningCoefficientResponse, error) GetPreviousReputerRewardFraction(context.Context, *QueryPreviousReputerRewardFractionRequest) (*QueryPreviousReputerRewardFractionResponse, error) GetPreviousInferenceRewardFraction(context.Context, *QueryPreviousInferenceRewardFractionRequest) (*QueryPreviousInferenceRewardFractionResponse, error) @@ -1062,18 +1134,36 @@ func (UnimplementedQueryServer) GetReputerScoreEma(context.Context, *QueryGetRep func (UnimplementedQueryServer) GetInferenceScoresUntilBlock(context.Context, *QueryInferenceScoresUntilBlockRequest) (*QueryInferenceScoresUntilBlockResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetInferenceScoresUntilBlock not implemented") } +func (UnimplementedQueryServer) GetPreviousTopicQuantileForecasterScoreEma(context.Context, *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) (*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPreviousTopicQuantileForecasterScoreEma not implemented") +} +func (UnimplementedQueryServer) GetPreviousTopicQuantileInfererScoreEma(context.Context, *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) (*QueryGetPreviousTopicQuantileInfererScoreEmaResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPreviousTopicQuantileInfererScoreEma not implemented") +} +func (UnimplementedQueryServer) GetPreviousTopicQuantileReputerScoreEma(context.Context, *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) (*QueryGetPreviousTopicQuantileReputerScoreEmaResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPreviousTopicQuantileReputerScoreEma not implemented") +} func (UnimplementedQueryServer) GetWorkerInferenceScoresAtBlock(context.Context, *QueryWorkerInferenceScoresAtBlockRequest) (*QueryWorkerInferenceScoresAtBlockResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetWorkerInferenceScoresAtBlock not implemented") } +func (UnimplementedQueryServer) GetCurrentLowestInfererScore(context.Context, *QueryCurrentLowestInfererScoreRequest) (*QueryCurrentLowestInfererScoreResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCurrentLowestInfererScore not implemented") +} func (UnimplementedQueryServer) GetForecastScoresUntilBlock(context.Context, *QueryForecastScoresUntilBlockRequest) (*QueryForecastScoresUntilBlockResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetForecastScoresUntilBlock not implemented") } func (UnimplementedQueryServer) GetWorkerForecastScoresAtBlock(context.Context, *QueryWorkerForecastScoresAtBlockRequest) (*QueryWorkerForecastScoresAtBlockResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetWorkerForecastScoresAtBlock not implemented") } +func (UnimplementedQueryServer) GetCurrentLowestForecasterScore(context.Context, *QueryCurrentLowestForecasterScoreRequest) (*QueryCurrentLowestForecasterScoreResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCurrentLowestForecasterScore not implemented") +} func (UnimplementedQueryServer) GetReputersScoresAtBlock(context.Context, *QueryReputersScoresAtBlockRequest) (*QueryReputersScoresAtBlockResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetReputersScoresAtBlock not implemented") } +func (UnimplementedQueryServer) GetCurrentLowestReputerScore(context.Context, *QueryCurrentLowestReputerScoreRequest) (*QueryCurrentLowestReputerScoreResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCurrentLowestReputerScore not implemented") +} func (UnimplementedQueryServer) GetListeningCoefficient(context.Context, *QueryListeningCoefficientRequest) (*QueryListeningCoefficientResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetListeningCoefficient not implemented") } @@ -2098,6 +2188,60 @@ func _Query_GetInferenceScoresUntilBlock_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } +func _Query_GetPreviousTopicQuantileForecasterScoreEma_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GetPreviousTopicQuantileForecasterScoreEma(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_GetPreviousTopicQuantileForecasterScoreEma_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GetPreviousTopicQuantileForecasterScoreEma(ctx, req.(*QueryGetPreviousTopicQuantileForecasterScoreEmaRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_GetPreviousTopicQuantileInfererScoreEma_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryGetPreviousTopicQuantileInfererScoreEmaRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GetPreviousTopicQuantileInfererScoreEma(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_GetPreviousTopicQuantileInfererScoreEma_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GetPreviousTopicQuantileInfererScoreEma(ctx, req.(*QueryGetPreviousTopicQuantileInfererScoreEmaRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_GetPreviousTopicQuantileReputerScoreEma_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryGetPreviousTopicQuantileReputerScoreEmaRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GetPreviousTopicQuantileReputerScoreEma(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_GetPreviousTopicQuantileReputerScoreEma_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GetPreviousTopicQuantileReputerScoreEma(ctx, req.(*QueryGetPreviousTopicQuantileReputerScoreEmaRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_GetWorkerInferenceScoresAtBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryWorkerInferenceScoresAtBlockRequest) if err := dec(in); err != nil { @@ -2116,6 +2260,24 @@ func _Query_GetWorkerInferenceScoresAtBlock_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } +func _Query_GetCurrentLowestInfererScore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCurrentLowestInfererScoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GetCurrentLowestInfererScore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_GetCurrentLowestInfererScore_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GetCurrentLowestInfererScore(ctx, req.(*QueryCurrentLowestInfererScoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_GetForecastScoresUntilBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryForecastScoresUntilBlockRequest) if err := dec(in); err != nil { @@ -2152,6 +2314,24 @@ func _Query_GetWorkerForecastScoresAtBlock_Handler(srv interface{}, ctx context. return interceptor(ctx, in, info, handler) } +func _Query_GetCurrentLowestForecasterScore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCurrentLowestForecasterScoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GetCurrentLowestForecasterScore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_GetCurrentLowestForecasterScore_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GetCurrentLowestForecasterScore(ctx, req.(*QueryCurrentLowestForecasterScoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_GetReputersScoresAtBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryReputersScoresAtBlockRequest) if err := dec(in); err != nil { @@ -2170,6 +2350,24 @@ func _Query_GetReputersScoresAtBlock_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _Query_GetCurrentLowestReputerScore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCurrentLowestReputerScoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GetCurrentLowestReputerScore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_GetCurrentLowestReputerScore_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GetCurrentLowestReputerScore(ctx, req.(*QueryCurrentLowestReputerScoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_GetListeningCoefficient_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryListeningCoefficientRequest) if err := dec(in); err != nil { @@ -2627,10 +2825,26 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetInferenceScoresUntilBlock", Handler: _Query_GetInferenceScoresUntilBlock_Handler, }, + { + MethodName: "GetPreviousTopicQuantileForecasterScoreEma", + Handler: _Query_GetPreviousTopicQuantileForecasterScoreEma_Handler, + }, + { + MethodName: "GetPreviousTopicQuantileInfererScoreEma", + Handler: _Query_GetPreviousTopicQuantileInfererScoreEma_Handler, + }, + { + MethodName: "GetPreviousTopicQuantileReputerScoreEma", + Handler: _Query_GetPreviousTopicQuantileReputerScoreEma_Handler, + }, { MethodName: "GetWorkerInferenceScoresAtBlock", Handler: _Query_GetWorkerInferenceScoresAtBlock_Handler, }, + { + MethodName: "GetCurrentLowestInfererScore", + Handler: _Query_GetCurrentLowestInfererScore_Handler, + }, { MethodName: "GetForecastScoresUntilBlock", Handler: _Query_GetForecastScoresUntilBlock_Handler, @@ -2639,10 +2853,18 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetWorkerForecastScoresAtBlock", Handler: _Query_GetWorkerForecastScoresAtBlock_Handler, }, + { + MethodName: "GetCurrentLowestForecasterScore", + Handler: _Query_GetCurrentLowestForecasterScore_Handler, + }, { MethodName: "GetReputersScoresAtBlock", Handler: _Query_GetReputersScoresAtBlock_Handler, }, + { + MethodName: "GetCurrentLowestReputerScore", + Handler: _Query_GetCurrentLowestReputerScore_Handler, + }, { MethodName: "GetListeningCoefficient", Handler: _Query_GetListeningCoefficient_Handler, diff --git a/x/emissions/keeper/actor_utils/losses_test.go b/x/emissions/keeper/actor_utils/losses_test.go index 615a9033f..8b0c32438 100644 --- a/x/emissions/keeper/actor_utils/losses_test.go +++ b/x/emissions/keeper/actor_utils/losses_test.go @@ -172,7 +172,7 @@ func (a *ActorUtilsTestSuite) TestFilterUnacceptedWorkersFromReputerValueBundle( }, }, } - err := a.emissionsKeeper.InsertInferences(a.ctx, 1, workerNonce, infererLossBundle) + err := a.emissionsKeeper.InsertInferences(a.ctx, 1, workerNonce.BlockHeight, infererLossBundle) a.Require().NoError(err) forecasterLossBundle := emissionstypes.Forecasts{ @@ -205,7 +205,7 @@ func (a *ActorUtilsTestSuite) TestFilterUnacceptedWorkersFromReputerValueBundle( }, }, } - err = a.emissionsKeeper.InsertForecasts(a.ctx, 1, workerNonce, forecasterLossBundle) + err = a.emissionsKeeper.InsertForecasts(a.ctx, 1, workerNonce.BlockHeight, forecasterLossBundle) a.Require().NoError(err) // Prepare a sample ReputerValueBundle diff --git a/x/emissions/keeper/actor_utils/quantile.go b/x/emissions/keeper/actor_utils/quantile.go new file mode 100644 index 000000000..78138a143 --- /dev/null +++ b/x/emissions/keeper/actor_utils/quantile.go @@ -0,0 +1,100 @@ +package actorutils + +import ( + "slices" + + alloraMath "github.com/allora-network/allora-chain/math" + emissionstypes "github.com/allora-network/allora-chain/x/emissions/types" +) + +// Returns the quantile value of the given sorted scores +// e.g. if quantile is 0.25 (25%), for all the scores sorted from greatest to smallest +// give me the value that is greater than 25% of the values and less than 75% of the values +// the domain of this quantile is assumed to be between 0 and 1. +// Scores should be of unique actors => no two elements have the same actor address. +func GetQuantileOfScores( + scores []emissionstypes.Score, + quantile alloraMath.Dec, +) (alloraMath.Dec, error) { + // If there are no scores then the quantile of scores is 0. + // This better ensures chain continuity without consequence because in this situation + // there is no meaningful quantile to calculate. + if len(scores) == 0 { + return alloraMath.ZeroDec(), nil + } + + // Sort scores in descending order. Address is used to break ties. + slices.SortStableFunc(scores, func(x, y emissionstypes.Score) int { + if x.Score.Lt(y.Score) { + return 1 + } else if x.Score.Gt(y.Score) { + return -1 + } else { + if x.Address < y.Address { + return 1 + } else if x.Address > y.Address { + return -1 + } else { + return 0 + } + } + }) + + // n elements, q quantile + // position = (1 - q) * (n - 1) + nLessOne, err := alloraMath.NewDecFromUint64(uint64(len(scores) - 1)) + if err != nil { + return alloraMath.Dec{}, err + } + oneLessQ, err := alloraMath.OneDec().Sub(quantile) + if err != nil { + return alloraMath.Dec{}, err + } + position, err := oneLessQ.Mul(nLessOne) + if err != nil { + return alloraMath.Dec{}, err + } + + lowerIndex, err := position.Floor() + if err != nil { + return alloraMath.Dec{}, err + } + lowerIndexInt, err := lowerIndex.Int64() + if err != nil { + return alloraMath.Dec{}, err + } + upperIndex, err := position.Ceil() + if err != nil { + return alloraMath.Dec{}, err + } + upperIndexInt, err := upperIndex.Int64() + if err != nil { + return alloraMath.Dec{}, err + } + + if lowerIndex == upperIndex { + return scores[lowerIndexInt].Score, nil + } + + // in cases where the quantile is between two values + // return lowerValue + (upperValue-lowerValue)*(position-lowerIndex) + lowerScore := scores[lowerIndexInt] + upperScore := scores[upperIndexInt] + positionMinusLowerIndex, err := position.Sub(lowerIndex) + if err != nil { + return alloraMath.Dec{}, err + } + upperMinusLower, err := upperScore.Score.Sub(lowerScore.Score) + if err != nil { + return alloraMath.Dec{}, err + } + product, err := positionMinusLowerIndex.Mul(upperMinusLower) + if err != nil { + return alloraMath.Dec{}, err + } + ret, err := lowerScore.Score.Add(product) + if err != nil { + return alloraMath.Dec{}, err + } + return ret, nil +} diff --git a/x/emissions/keeper/actor_utils/quantile_test.go b/x/emissions/keeper/actor_utils/quantile_test.go new file mode 100644 index 000000000..bda334aeb --- /dev/null +++ b/x/emissions/keeper/actor_utils/quantile_test.go @@ -0,0 +1,104 @@ +package actorutils_test + +import ( + "fmt" + "strconv" + "testing" + + alloraMath "github.com/allora-network/allora-chain/math" + alloratestutil "github.com/allora-network/allora-chain/test/testutil" + actorutils "github.com/allora-network/allora-chain/x/emissions/keeper/actor_utils" + emissionstypes "github.com/allora-network/allora-chain/x/emissions/types" + "github.com/stretchr/testify/require" +) + +func TestGetQuantileOfScores(t *testing.T) { + // Note: unsorted scores. GetQuantileOfScores should sort scores within its scope + scores := []emissionstypes.Score{ + {TopicId: 0, BlockHeight: 0, Address: "w1", Score: alloraMath.NewDecFromInt64(90)}, + {TopicId: 0, BlockHeight: 0, Address: "w4", Score: alloraMath.NewDecFromInt64(60)}, + {TopicId: 0, BlockHeight: 0, Address: "w3", Score: alloraMath.NewDecFromInt64(70)}, + {TopicId: 0, BlockHeight: 0, Address: "w5", Score: alloraMath.NewDecFromInt64(50)}, + {TopicId: 0, BlockHeight: 0, Address: "w2", Score: alloraMath.NewDecFromInt64(80)}, + } + + quantile := alloraMath.MustNewDecFromString("0.5") + expectedResult := alloraMath.NewDecFromInt64(70) + + result, err := actorutils.GetQuantileOfScores(scores, quantile) + require.NoError(t, err) + require.Equal(t, expectedResult, result) + + quantile = alloraMath.MustNewDecFromString("0.2") + expectedResult = alloraMath.NewDecFromInt64(58) + + result, err = actorutils.GetQuantileOfScores(scores, quantile) + require.NoError(t, err) + expectedInt, err := expectedResult.Int64() + require.NoError(t, err) + actualInt, err := result.Int64() + require.NoError(t, err) + require.Equal(t, expectedInt, actualInt) +} + +func TestGetQuantileOfScoresWithLargerAltDataset(t *testing.T) { + scoresSorted := []emissionstypes.Score{ + {Score: alloraMath.MustNewDecFromString("0.8"), Address: "w1", BlockHeight: 0, TopicId: 0}, + {Score: alloraMath.MustNewDecFromString("0.7"), Address: "w2", BlockHeight: 0, TopicId: 0}, + {Score: alloraMath.MustNewDecFromString("0.0"), Address: "w9", BlockHeight: 0, TopicId: 0}, + {Score: alloraMath.MustNewDecFromString("0.3"), Address: "w6", BlockHeight: 0, TopicId: 0}, + {Score: alloraMath.MustNewDecFromString("0.4"), Address: "w5", BlockHeight: 0, TopicId: 0}, + {Score: alloraMath.MustNewDecFromString("0.9"), Address: "w0", BlockHeight: 0, TopicId: 0}, + {Score: alloraMath.MustNewDecFromString("0.6"), Address: "w3", BlockHeight: 0, TopicId: 0}, + {Score: alloraMath.MustNewDecFromString("0.5"), Address: "w4", BlockHeight: 0, TopicId: 0}, + {Score: alloraMath.MustNewDecFromString("0.1"), Address: "w8", BlockHeight: 0, TopicId: 0}, + {Score: alloraMath.MustNewDecFromString("0.2"), Address: "w7", BlockHeight: 0, TopicId: 0}, + } + quantile := alloraMath.MustNewDecFromString("0.2") + expectedResult := alloraMath.MustNewDecFromString("0.18") + + result, err := actorutils.GetQuantileOfScores(scoresSorted, quantile) + require.NoError(t, err) + alloratestutil.InEpsilon5Dec(t, result, expectedResult) +} + +func TestGetQuantileOfScoresCsv(t *testing.T) { + for epoch := 301; epoch < 400; epoch++ { + epochGet := alloratestutil.GetSortitionSimulatorValuesGetterForEpochs()[epoch] + topicId := uint64(0) + + nParticipants, err := epochGet("n_participants").UInt64() + require.NoError(t, err) + nParticipantsDrawn, err := epochGet("n_participants_drawn").UInt64() + require.NoError(t, err) + + // populate the data from the csv + scoresSorted := make([]emissionstypes.Score, nParticipantsDrawn) + for i := uint64(0); i < nParticipants; i++ { + participantName := strconv.FormatUint(i, 10) + active := epochGet(fmt.Sprintf("%s_active", participantName)) + if active.Equal(alloraMath.OneDec()) { + sortPosition := epochGet(fmt.Sprintf("%s_sort_position_quality_metrics", participantName)) + sortPos, err := sortPosition.UInt64() + require.NoError(t, err) + qualityMetric := epochGet(fmt.Sprintf("%s_quality_metric", participantName)) + scoresSorted[sortPos] = emissionstypes.Score{ + TopicId: topicId, + Address: participantName, + BlockHeight: int64(epoch), + Score: qualityMetric, + } + } + } + for _, score := range scoresSorted { + require.NotEmpty(t, score) + } + expected := epochGet("quality_percentile") + percentile_to_use := epochGet("percentile") + quantile, err := percentile_to_use.Quo(alloraMath.NewDecFromInt64(int64(100))) + require.NoError(t, err) + result, err := actorutils.GetQuantileOfScores(scoresSorted, quantile) + require.NoError(t, err) + alloratestutil.InEpsilon5Dec(t, result, expected) + } +} diff --git a/x/emissions/keeper/actor_utils/util_sort.go b/x/emissions/keeper/actor_utils/sort.go similarity index 100% rename from x/emissions/keeper/actor_utils/util_sort.go rename to x/emissions/keeper/actor_utils/sort.go diff --git a/x/emissions/keeper/actor_utils/sort_test.go b/x/emissions/keeper/actor_utils/sort_test.go new file mode 100644 index 000000000..73ccdee3e --- /dev/null +++ b/x/emissions/keeper/actor_utils/sort_test.go @@ -0,0 +1,153 @@ +package actorutils_test + +import ( + "fmt" + "strconv" + "testing" + + storetypes "cosmossdk.io/store/types" + alloraMath "github.com/allora-network/allora-chain/math" + alloratestutil "github.com/allora-network/allora-chain/test/testutil" + actorutils "github.com/allora-network/allora-chain/x/emissions/keeper/actor_utils" + emissionstypes "github.com/allora-network/allora-chain/x/emissions/types" + "github.com/cometbft/cometbft/crypto/secp256k1" + "github.com/cosmos/cosmos-sdk/testutil" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/require" +) + +// test helper function reduce code duplication +func setUpSomeWorkers(t *testing.T) ( + testCtx sdk.Context, + worker1Addr sdk.AccAddress, + worker2Addr sdk.AccAddress, + worker3Addr sdk.AccAddress, + worker4Addr sdk.AccAddress, + worker5Addr sdk.AccAddress, +) { + t.Helper() + worker1PrivateKey := secp256k1.GenPrivKey() + worker2PrivateKey := secp256k1.GenPrivKey() + worker3PrivateKey := secp256k1.GenPrivKey() + worker4PrivateKey := secp256k1.GenPrivKey() + worker5PrivateKey := secp256k1.GenPrivKey() + + worker1Addr = sdk.AccAddress(worker1PrivateKey.PubKey().Address()) + worker2Addr = sdk.AccAddress(worker2PrivateKey.PubKey().Address()) + worker3Addr = sdk.AccAddress(worker3PrivateKey.PubKey().Address()) + worker4Addr = sdk.AccAddress(worker4PrivateKey.PubKey().Address()) + worker5Addr = sdk.AccAddress(worker5PrivateKey.PubKey().Address()) + + key := storetypes.NewKVStoreKey("test") + testCtx = testutil.DefaultContextWithDB(t, key, storetypes.NewTransientStoreKey("transient_test")).Ctx + + return testCtx, worker1Addr, worker2Addr, worker3Addr, worker4Addr, worker5Addr +} + +func TestFindTopNByScoreDesc(t *testing.T) { + topicId := uint64(0) + testCtx, + worker1Addr, + worker2Addr, + worker3Addr, + worker4Addr, + worker5Addr := setUpSomeWorkers(t) + + reputerScoreEmas := []emissionstypes.Score{ + {TopicId: topicId, BlockHeight: 1, Address: worker1Addr.String(), Score: alloraMath.NewDecFromInt64(90)}, + {TopicId: topicId, BlockHeight: 1, Address: worker2Addr.String(), Score: alloraMath.NewDecFromInt64(40)}, + {TopicId: topicId, BlockHeight: 1, Address: worker3Addr.String(), Score: alloraMath.NewDecFromInt64(80)}, + {TopicId: topicId, BlockHeight: 1, Address: worker4Addr.String(), Score: alloraMath.NewDecFromInt64(20)}, + {TopicId: topicId, BlockHeight: 1, Address: worker5Addr.String(), Score: alloraMath.NewDecFromInt64(100)}, + } + + topActors, _, topActorsBool := actorutils.FindTopNByScoreDesc(testCtx, 3, reputerScoreEmas, 1) + require.Equal(t, worker5Addr.String(), topActors[0].Address) + require.Equal(t, worker1Addr.String(), topActors[1].Address) + require.Equal(t, worker3Addr.String(), topActors[2].Address) + + _, isTop := topActorsBool[worker1Addr.String()] + require.True(t, isTop) + _, isTop = topActorsBool[worker2Addr.String()] + require.False(t, isTop) + _, isTop = topActorsBool[worker3Addr.String()] + require.True(t, isTop) + _, isTop = topActorsBool[worker4Addr.String()] + require.False(t, isTop) + _, isTop = topActorsBool[worker5Addr.String()] + require.True(t, isTop) +} + +// helper function that handles the expected types of the top actors +func requireIsTop(t *testing.T, expectedTop alloraMath.Dec, isTop bool) { + t.Helper() + require.True( + t, expectedTop.Equal(alloraMath.OneDec()) || expectedTop.Equal(alloraMath.ZeroDec()), + "expectedTop must be 0 or 1, got %s", expectedTop.String(), + ) + expectedTopBool := expectedTop.Equal(alloraMath.OneDec()) + require.Equal(t, expectedTopBool, isTop) +} + +func TestFindTopNByScoreDescCsv(t *testing.T) { + for epoch := 301; epoch < 400; epoch++ { + epochGet := alloratestutil.GetSortitionSimulatorValuesGetterForEpochs()[epoch] + key := storetypes.NewKVStoreKey("test") + testCtx := testutil.DefaultContextWithDB(t, key, storetypes.NewTransientStoreKey("transient_test")).Ctx + topicId := uint64(0) + + nParticipants, err := epochGet("n_participants").UInt64() + require.NoError(t, err) + reputerScoreEmas := make([]emissionstypes.Score, 0) + for i := 0; uint64(i) < nParticipants; i++ { + participantName := strconv.Itoa(i) + reputerScoreEmas = append(reputerScoreEmas, emissionstypes.Score{ + TopicId: topicId, + BlockHeight: int64(epoch), + Address: participantName, + Score: epochGet(fmt.Sprintf("%s_prev_quality_ema", participantName)), + }) + } + + nParticipantsDrawn, err := epochGet("n_participants_drawn").UInt64() + require.NoError(t, err) + + _, _, topActorsBool := actorutils.FindTopNByScoreDesc( + testCtx, + nParticipantsDrawn, + reputerScoreEmas, + 1, + ) + + for i := 0; uint64(i) < nParticipants; i++ { + participantName := strconv.Itoa(i) + expectedTop := epochGet(fmt.Sprintf("%s_active", participantName)) + _, isTop := topActorsBool[participantName] + requireIsTop(t, expectedTop, isTop) + } + } +} + +// Not convinced we should be not throwing errors in FindTopNbyScoreDesc +// but for now instead of throwing errors, we find top N including empty scores +// and just file empty scores at the end of the list +func TestFindTopNByScoreDescWithNils(t *testing.T) { + topicId := uint64(0) + testCtx, _, _, worker3Addr, _, worker5Addr := setUpSomeWorkers(t) + + reputerScoreEmas := []emissionstypes.Score{ + {TopicId: topicId, BlockHeight: 1, Address: worker3Addr.String(), Score: alloraMath.NewDecFromInt64(80)}, + {TopicId: topicId, BlockHeight: 1, Address: worker5Addr.String(), Score: alloraMath.NewDecFromInt64(100)}, + {}, //nolint:exhaustruct + } + + // Actors with nil scores sent to the end + topActors, allActorsSorted, actorIsTop := actorutils.FindTopNByScoreDesc(testCtx, 3, reputerScoreEmas, 1) + require.Len(t, topActors, 3) + require.Equal(t, worker5Addr.String(), topActors[0].Address) + require.Equal(t, struct{}{}, actorIsTop[worker5Addr.String()]) + require.Equal(t, worker3Addr.String(), topActors[1].Address) + require.Equal(t, struct{}{}, actorIsTop[worker3Addr.String()]) + require.Equal(t, "", topActors[2].Address) + require.Len(t, allActorsSorted, 3) +} diff --git a/x/emissions/keeper/actor_utils/util_test.go b/x/emissions/keeper/actor_utils/util_test.go deleted file mode 100644 index 3c3b2e3ad..000000000 --- a/x/emissions/keeper/actor_utils/util_test.go +++ /dev/null @@ -1,55 +0,0 @@ -package actorutils - -import ( - "testing" - - storetypes "cosmossdk.io/store/types" - alloraMath "github.com/allora-network/allora-chain/math" - "github.com/allora-network/allora-chain/x/emissions/types" - "github.com/cometbft/cometbft/crypto/secp256k1" - "github.com/cosmos/cosmos-sdk/testutil" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/stretchr/testify/require" -) - -func TestFindTopNByScoreDesc(t *testing.T) { - key := storetypes.NewKVStoreKey("test") - topicId := uint64(0) - testCtx := testutil.DefaultContextWithDB(t, key, storetypes.NewTransientStoreKey("transient_test")).Ctx - - worker1PrivateKey := secp256k1.GenPrivKey() - worker2PrivateKey := secp256k1.GenPrivKey() - worker3PrivateKey := secp256k1.GenPrivKey() - worker4PrivateKey := secp256k1.GenPrivKey() - worker5PrivateKey := secp256k1.GenPrivKey() - - worker1Addr := sdk.AccAddress(worker1PrivateKey.PubKey().Address()) - worker2Addr := sdk.AccAddress(worker2PrivateKey.PubKey().Address()) - worker3Addr := sdk.AccAddress(worker3PrivateKey.PubKey().Address()) - worker4Addr := sdk.AccAddress(worker4PrivateKey.PubKey().Address()) - worker5Addr := sdk.AccAddress(worker5PrivateKey.PubKey().Address()) - - latestReputerScores := []types.Score{ - {TopicId: topicId, BlockHeight: 1, Address: worker1Addr.String(), Score: alloraMath.NewDecFromInt64(90)}, - {TopicId: topicId, BlockHeight: 1, Address: worker2Addr.String(), Score: alloraMath.NewDecFromInt64(40)}, - {TopicId: topicId, BlockHeight: 1, Address: worker3Addr.String(), Score: alloraMath.NewDecFromInt64(80)}, - {TopicId: topicId, BlockHeight: 1, Address: worker4Addr.String(), Score: alloraMath.NewDecFromInt64(20)}, - {TopicId: topicId, BlockHeight: 1, Address: worker5Addr.String(), Score: alloraMath.NewDecFromInt64(100)}, - } - - topActors, _, topActorsBool := FindTopNByScoreDesc(testCtx, 3, latestReputerScores, 1) - require.Equal(t, worker5Addr.String(), topActors[0].Address) - require.Equal(t, worker1Addr.String(), topActors[1].Address) - require.Equal(t, worker3Addr.String(), topActors[2].Address) - - _, isTop := topActorsBool[worker1Addr.String()] - require.True(t, isTop) - _, isTop = topActorsBool[worker2Addr.String()] - require.False(t, isTop) - _, isTop = topActorsBool[worker3Addr.String()] - require.True(t, isTop) - _, isTop = topActorsBool[worker4Addr.String()] - require.False(t, isTop) - _, isTop = topActorsBool[worker5Addr.String()] - require.True(t, isTop) -} diff --git a/x/emissions/keeper/actor_utils/worker.go b/x/emissions/keeper/actor_utils/worker.go index cbd416329..ae759da51 100644 --- a/x/emissions/keeper/actor_utils/worker.go +++ b/x/emissions/keeper/actor_utils/worker.go @@ -37,7 +37,7 @@ func CloseWorkerNonce(k *keeper.Keeper, ctx sdk.Context, topicId keeper.TopicId, return types.ErrInvalidTopicId } - // Check if the window time has passed: if blockheight > nonce.BlockHeight + topic.WorkerSubmissionWindow + // Check if the window time has passed: if blockHeight > nonce.BlockHeight + topic.WorkerSubmissionWindow blockHeight := ctx.BlockHeight() if blockHeight <= topic.EpochLastEnded || blockHeight > topic.EpochLastEnded+topic.GroundTruthLag { @@ -102,22 +102,19 @@ func CloseWorkerNonce(k *keeper.Keeper, ctx sdk.Context, topicId keeper.TopicId, return nil } -// Output a new set of inferences where only 1 inference per registered inferer is kept, -// ignore the rest. In particular, take the first inference from each registered inferer -// and none from any unregistered inferer. -// Signatures, anti-synil procedures, and "skimming of only the top few workers by score -// descending" should be done here. +// It is assumed `inferences` come from unique, registered, top inferers by EMA score descending +// It is also assumed that the inferences are for the correct topic and nonce func insertInferencesFromTopInferers( ctx sdk.Context, k *keeper.Keeper, topicId uint64, nonce types.Nonce, inferences []*types.Inference, -) (map[string]bool, error) { - acceptedInferers := make(map[string]bool, 0) +) (acceptedInferers map[string]bool, err error) { + acceptedInferers = make(map[string]bool, 0) if len(inferences) == 0 { ctx.Logger().Warn(fmt.Sprintf("No inferences to process for topic: %d, nonce: %v", topicId, nonce)) - return nil, types.ErrNoValidInferences // TODO Change err name - No inferences to process + return nil, types.ErrNoInferencesToInsert } for _, inference := range inferences { // Check that the forecast exist, is for the correct topic, and is for the correct nonce @@ -141,7 +138,7 @@ func insertInferencesFromTopInferers( inferencesToInsert := types.Inferences{ Inferences: inferences, } - err := k.InsertInferences(ctx, topicId, nonce, inferencesToInsert) + err = k.InsertInferences(ctx, topicId, nonce.BlockHeight, inferencesToInsert) if err != nil { return nil, err } @@ -149,11 +146,9 @@ func insertInferencesFromTopInferers( return acceptedInferers, nil } -// Output a new set of forecasts where only 1 forecast per registered forecaster is kept, -// ignore the rest. In particular, take the first forecast from each registered forecaster -// and none from any unregistered forecaster. -// Signatures, anti-synil procedures, and "skimming of only the top few workers by score -// descending" should be done here. +// insert forecasts from top forecasters +// check forecast elements to ensure they are forecasts made about +// the active list of inferers. func insertForecastsFromTopForecasters( ctx sdk.Context, k *keeper.Keeper, @@ -212,7 +207,7 @@ func insertForecastsFromTopForecasters( } } - // Though less than ideal because it produces less-acurate network inferences, + // Though less than ideal because it produces less-accurate network inferences, // it is fine if no forecasts are accepted // => no need to check len(forecastsFromTopForecasters) == 0 @@ -224,7 +219,7 @@ func insertForecastsFromTopForecasters( forecastsToInsert := types.Forecasts{ Forecasts: latestForecaster, } - err := k.InsertForecasts(ctx, topicId, nonce, forecastsToInsert) + err := k.InsertForecasts(ctx, topicId, nonce.BlockHeight, forecastsToInsert) if err != nil { return err } diff --git a/x/emissions/keeper/ema_scores.go b/x/emissions/keeper/ema_scores.go new file mode 100644 index 000000000..f902aa9d0 --- /dev/null +++ b/x/emissions/keeper/ema_scores.go @@ -0,0 +1,238 @@ +package keeper + +import ( + "context" + + "cosmossdk.io/errors" + alloraMath "github.com/allora-network/allora-chain/math" + "github.com/allora-network/allora-chain/x/emissions/types" +) + +// Calculates and saves the EMA scores for a active set worker and topic. +// By assuming worker is in active set, we know to calculate the EMA with a new, passed-in score. +func (k *Keeper) CalcAndSaveInfererScoreEmaForActiveSet( + ctx context.Context, + topic types.Topic, + block types.BlockHeight, + worker ActorId, + newScore types.Score, +) (types.Score, error) { + previousScore, err := k.GetInfererScoreEma(ctx, topic.Id, worker) + if err != nil { + return types.Score{}, errors.Wrapf(err, "Error getting inferer score ema") + } + firstTime := previousScore.BlockHeight == 0 && previousScore.Score.IsZero() + emaScoreDec, err := alloraMath.CalcEma( + topic.MeritSortitionAlpha, + newScore.Score, + previousScore.Score, + firstTime, + ) + if err != nil { + return types.Score{}, errors.Wrapf(err, "Error calculating ema") + } + emaScore := types.Score{ + TopicId: topic.Id, + BlockHeight: block, + Address: worker, + Score: emaScoreDec, + } + err = k.SetInfererScoreEma(ctx, topic.Id, worker, emaScore) + if err != nil { + return types.Score{}, errors.Wrapf(err, "error setting latest inferer score") + } + return emaScore, nil +} + +// Calculates and saves the EMA scores for a active set worker and topic. +// By assuming worker is in active set, we know to calculate the EMA with a new, passed-in score. +func (k *Keeper) CalcAndSaveForecasterScoreEmaForActiveSet( + ctx context.Context, + topic types.Topic, + block types.BlockHeight, + worker ActorId, + newScore types.Score, +) (types.Score, error) { + previousScore, err := k.GetForecasterScoreEma(ctx, topic.Id, worker) + if err != nil { + return types.Score{}, errors.Wrapf(err, "Error getting forecaster score ema") + } + firstTime := previousScore.BlockHeight == 0 && previousScore.Score.IsZero() + emaScoreDec, err := alloraMath.CalcEma( + topic.MeritSortitionAlpha, + newScore.Score, + previousScore.Score, + firstTime, + ) + if err != nil { + return types.Score{}, errors.Wrapf(err, "Error calculating ema") + } + emaScore := types.Score{ + TopicId: topic.Id, + BlockHeight: block, + Address: worker, + Score: emaScoreDec, + } + err = k.SetForecasterScoreEma(ctx, topic.Id, worker, emaScore) + if err != nil { + return types.Score{}, errors.Wrapf(err, "error setting latest forecaster score") + } + return emaScore, nil +} + +// Calculates and saves the EMA scores for a given reputer and topic. +// By assuming reputer is in active set, we know to calculate the EMA with a new, passed-in score. +func (k *Keeper) CalcAndSaveReputerScoreEmaForActiveSet( + ctx context.Context, + topic types.Topic, + block types.BlockHeight, + reputer ActorId, + newScore types.Score, +) (types.Score, error) { + previousScore, err := k.GetReputerScoreEma(ctx, topic.Id, reputer) + if err != nil { + return types.Score{}, errors.Wrapf(err, "Error getting reputer score ema") + } + firstTime := previousScore.BlockHeight == 0 && previousScore.Score.IsZero() + emaScoreDec, err := alloraMath.CalcEma( + topic.MeritSortitionAlpha, + newScore.Score, + previousScore.Score, + firstTime, + ) + if err != nil { + return types.Score{}, errors.Wrapf(err, "Error calculating ema") + } + emaScore := types.Score{ + TopicId: topic.Id, + BlockHeight: block, + Address: reputer, + Score: emaScoreDec, + } + err = k.SetReputerScoreEma(ctx, topic.Id, reputer, emaScore) + if err != nil { + return types.Score{}, errors.Wrapf(err, "error setting latest reputer score") + } + return emaScore, nil +} + +// Calculates and saves the EMA scores for a given worker and topic. +// Uses the last saved topic quantile score to calculate the EMA. +// This is useful for updating EMAs of workers in the passive set. +func (k *Keeper) CalcAndSaveInfererScoreEmaWithLastSavedTopicQuantile( + ctx context.Context, + topic types.Topic, + block types.BlockHeight, + worker ActorId, +) error { + previousScore, err := k.GetInfererScoreEma(ctx, topic.Id, worker) + if err != nil { + return errors.Wrapf(err, "Error getting inferer score ema") + } + previousTopicQuantileInfererScoreEma, err := k.GetPreviousTopicQuantileInfererScoreEma(ctx, topic.Id) + if err != nil { + return err + } + firstTime := previousScore.BlockHeight == 0 && previousScore.Score.IsZero() + emaScoreDec, err := alloraMath.CalcEma( + topic.MeritSortitionAlpha, + previousTopicQuantileInfererScoreEma, + previousScore.Score, + firstTime, + ) + if err != nil { + return errors.Wrapf(err, "Error calculating ema") + } + emaScore := types.Score{ + TopicId: topic.Id, + BlockHeight: block, + Address: worker, + Score: emaScoreDec, + } + err = k.SetInfererScoreEma(ctx, topic.Id, worker, emaScore) + if err != nil { + return errors.Wrapf(err, "error setting latest inferer score") + } + return nil +} + +// Calculates and saves the EMA scores for a given worker and topic. +// Uses the last saved topic quantile score to calculate the EMA. +// This is useful for updating EMAs of workers in the passive set. +func (k *Keeper) CalcAndSaveForecasterScoreEmaWithLastSavedTopicQuantile( + ctx context.Context, + topic types.Topic, + block types.BlockHeight, + worker ActorId, +) error { + previousScore, err := k.GetForecasterScoreEma(ctx, topic.Id, worker) + if err != nil { + return errors.Wrapf(err, "Error getting forecaster score ema") + } + previousTopicQuantileForecasterScoreEma, err := k.GetPreviousTopicQuantileForecasterScoreEma(ctx, topic.Id) + if err != nil { + return err + } + firstTime := previousScore.BlockHeight == 0 && previousScore.Score.IsZero() + emaScoreDec, err := alloraMath.CalcEma( + topic.MeritSortitionAlpha, + previousTopicQuantileForecasterScoreEma, + previousScore.Score, + firstTime, + ) + if err != nil { + return errors.Wrapf(err, "Error calculating ema") + } + emaScore := types.Score{ + TopicId: topic.Id, + BlockHeight: block, + Address: worker, + Score: emaScoreDec, + } + err = k.SetForecasterScoreEma(ctx, topic.Id, worker, emaScore) + if err != nil { + return errors.Wrapf(err, "error setting latest forecaster score") + } + return nil +} + +// Calculates and saves the EMA scores for a given reputer and topic. +// Uses the last saved topic quantile score to calculate the EMA. +// This is useful for updating EMAs of reputers in the passive set. +func (k *Keeper) CalcAndSaveReputerScoreEmaWithLastSavedTopicQuantile( + ctx context.Context, + topic types.Topic, + block types.BlockHeight, + reputer ActorId, +) error { + previousScore, err := k.GetReputerScoreEma(ctx, topic.Id, reputer) + if err != nil { + return errors.Wrapf(err, "Error getting reputer score ema") + } + // Only calc and save if there's a new update + previousTopicQuantileReputerScoreEma, err := k.GetPreviousTopicQuantileReputerScoreEma(ctx, topic.Id) + if err != nil { + return err + } + firstTime := previousScore.BlockHeight == 0 && previousScore.Score.IsZero() + emaScoreDec, err := alloraMath.CalcEma( + topic.MeritSortitionAlpha, + previousTopicQuantileReputerScoreEma, + previousScore.Score, + firstTime, + ) + if err != nil { + return errors.Wrapf(err, "Error calculating ema") + } + emaScore := types.Score{ + TopicId: topic.Id, + BlockHeight: block, + Address: reputer, + Score: emaScoreDec, + } + err = k.SetReputerScoreEma(ctx, topic.Id, reputer, emaScore) + if err != nil { + return errors.Wrapf(err, "error setting latest reputer score") + } + return nil +} diff --git a/x/emissions/keeper/ema_scores_test.go b/x/emissions/keeper/ema_scores_test.go new file mode 100644 index 000000000..10d4f66d2 --- /dev/null +++ b/x/emissions/keeper/ema_scores_test.go @@ -0,0 +1,204 @@ +package keeper_test + +import ( + alloraMath "github.com/allora-network/allora-chain/math" + "github.com/allora-network/allora-chain/x/emissions/types" +) + +func (s *KeeperTestSuite) TestCalcAndSaveInfererScoreEmaIfNewUpdate() { + ctx := s.ctx + keeper := s.emissionsKeeper + + topic := types.Topic{ + Id: uint64(1), + WorkerSubmissionWindow: 10, + MeritSortitionAlpha: alloraMath.MustNewDecFromString("0.2"), + } + worker := "worker1" + block := types.BlockHeight(100) + + // Test case 1: New update + newScore := types.Score{ + TopicId: topic.Id, + BlockHeight: block, + Address: worker, + Score: alloraMath.MustNewDecFromString("0.2"), + } + emaScore, err := keeper.CalcAndSaveInfererScoreEmaForActiveSet(ctx, topic, block, worker, newScore) + s.Require().NoError(err) + s.Require().Equal("0.2", emaScore.Score.String()) + + // Verify the EMA score was saved + savedScore, err := keeper.GetInfererScoreEma(ctx, topic.Id, worker) + s.Require().NoError(err) + s.Require().Equal(newScore.Score, savedScore.Score) + + // Test case 2: Update blockheight of score + newScore.BlockHeight = block + 5 + emaScore, err = keeper.CalcAndSaveInfererScoreEmaForActiveSet(ctx, topic, newScore.BlockHeight, worker, newScore) + s.Require().NoError(err) + s.Require().Equal("0.2", emaScore.Score.String()) + + // Verify the EMA score was not updated + savedScore, err = keeper.GetInfererScoreEma(ctx, topic.Id, worker) + s.Require().NoError(err) + s.Require().Equal(newScore.BlockHeight, savedScore.BlockHeight) +} + +func (s *KeeperTestSuite) TestCalcAndSaveForecasterScoreEmaIfNewUpdate() { + ctx := s.ctx + keeper := s.emissionsKeeper + + topic := types.Topic{ + Id: uint64(1), + WorkerSubmissionWindow: 10, + MeritSortitionAlpha: alloraMath.MustNewDecFromString("0.2"), + } + worker := "worker1" + block := types.BlockHeight(100) + + // Test case 1: New update + newScore := types.Score{ + TopicId: topic.Id, + BlockHeight: block, + Address: worker, + Score: alloraMath.MustNewDecFromString("0.5"), + } + emaScore, err := keeper.CalcAndSaveForecasterScoreEmaForActiveSet(ctx, topic, block, worker, newScore) + s.Require().NoError(err) + s.Require().Equal("0.5", emaScore.Score.String()) + + // Verify the EMA score was saved + savedScore, err := keeper.GetForecasterScoreEma(ctx, topic.Id, worker) + s.Require().NoError(err) + s.Require().Equal(newScore.Score, savedScore.Score) + + // Test case 2: Update blockheight of score + newScore.BlockHeight = block + 5 + emaScore, err = keeper.CalcAndSaveForecasterScoreEmaForActiveSet(ctx, topic, newScore.BlockHeight, worker, newScore) + s.Require().NoError(err) + s.Require().Equal("0.5", emaScore.Score.String()) + + // Verify the EMA score was not updated + savedScore, err = keeper.GetForecasterScoreEma(ctx, topic.Id, worker) + s.Require().NoError(err) + s.Require().Equal(newScore.BlockHeight, savedScore.BlockHeight) +} + +func (s *KeeperTestSuite) TestCalcAndSaveReputerScoreEmaIfNewUpdate() { + ctx := s.ctx + keeper := s.emissionsKeeper + + topic := types.Topic{ + Id: uint64(1), + EpochLength: 20, + MeritSortitionAlpha: alloraMath.MustNewDecFromString("0.2"), + } + reputer := "reputer1" + block := types.BlockHeight(100) + + // Test case 1: New update + newScore := types.Score{ + TopicId: topic.Id, + BlockHeight: block, + Address: reputer, + Score: alloraMath.MustNewDecFromString("0.5"), + } + emaScore, err := keeper.CalcAndSaveReputerScoreEmaForActiveSet(ctx, topic, block, reputer, newScore) + s.Require().NoError(err) + s.Require().Equal("0.5", emaScore.Score.String()) + + // Verify the EMA score was saved + savedScore, err := keeper.GetReputerScoreEma(ctx, topic.Id, reputer) + s.Require().NoError(err) + s.Require().Equal(newScore.Score, savedScore.Score) + + // Test case 2: Update blockheight of score + newScore.BlockHeight = block + 10 + emaScore, err = keeper.CalcAndSaveReputerScoreEmaForActiveSet(ctx, topic, newScore.BlockHeight, reputer, newScore) + s.Require().NoError(err) + s.Require().Equal("0.5", emaScore.Score.String()) + + // Verify the EMA score was not updated + savedScore, err = keeper.GetReputerScoreEma(ctx, topic.Id, reputer) + s.Require().NoError(err) + s.Require().Equal(newScore.BlockHeight, savedScore.BlockHeight) +} + +func (s *KeeperTestSuite) TestCalcAndSaveInfererScoreEmaWithLastSavedTopicQuantile() { + ctx := s.ctx + keeper := s.emissionsKeeper + + topic := types.Topic{ + Id: uint64(1), + MeritSortitionAlpha: alloraMath.MustNewDecFromString("0.2"), + } + worker := "worker1" + block := types.BlockHeight(100) + + // Set up a previous topic quantile score + previousQuantileScore := alloraMath.MustNewDecFromString("0.8") + err := keeper.SetPreviousTopicQuantileInfererScoreEma(ctx, topic.Id, previousQuantileScore) + s.Require().NoError(err) + + err = keeper.CalcAndSaveInfererScoreEmaWithLastSavedTopicQuantile(ctx, topic, block, worker) + s.Require().NoError(err) + + // Verify the EMA score was calculated and saved + savedScore, err := keeper.GetInfererScoreEma(ctx, topic.Id, worker) + s.Require().NoError(err) + s.Require().Equal(previousQuantileScore, savedScore.Score) + s.Require().Equal(block, savedScore.BlockHeight) +} + +func (s *KeeperTestSuite) TestCalcAndSaveForecasterScoreEmaWithLastSavedTopicQuantile() { + ctx := s.ctx + keeper := s.emissionsKeeper + + topic := types.Topic{ + Id: uint64(1), + MeritSortitionAlpha: alloraMath.MustNewDecFromString("0.2"), + } + worker := "worker1" + block := types.BlockHeight(100) + + // Set up a previous topic quantile score + previousQuantileScore := alloraMath.MustNewDecFromString("0.8") + err := keeper.SetPreviousTopicQuantileForecasterScoreEma(ctx, topic.Id, previousQuantileScore) + s.Require().NoError(err) + + err = keeper.CalcAndSaveForecasterScoreEmaWithLastSavedTopicQuantile(ctx, topic, block, worker) + s.Require().NoError(err) + + // Verify the EMA score was calculated and saved + savedScore, err := keeper.GetForecasterScoreEma(ctx, topic.Id, worker) + s.Require().NoError(err) + s.Require().Equal(previousQuantileScore, savedScore.Score) + s.Require().Equal(block, savedScore.BlockHeight) +} + +func (s *KeeperTestSuite) TestCalcAndSaveReputerScoreEmaWithLastSavedTopicQuantile() { + ctx := s.ctx + keeper := s.emissionsKeeper + + topic := types.Topic{ + Id: uint64(1), + MeritSortitionAlpha: alloraMath.MustNewDecFromString("0.2"), + } + reputer := "reputer1" + block := types.BlockHeight(100) + + // Set up a previous topic quantile score + previousQuantileScore := alloraMath.MustNewDecFromString("0.8") + err := keeper.SetPreviousTopicQuantileReputerScoreEma(ctx, topic.Id, previousQuantileScore) + s.Require().NoError(err) + + err = keeper.CalcAndSaveReputerScoreEmaWithLastSavedTopicQuantile(ctx, topic, block, reputer) + s.Require().NoError(err) + + // Verify the EMA score was calculated and saved + savedScore, err := keeper.GetReputerScoreEma(ctx, topic.Id, reputer) + s.Require().NoError(err) + s.Require().Equal(previousQuantileScore, savedScore.Score) + s.Require().Equal(block, savedScore.BlockHeight) +} diff --git a/x/emissions/keeper/genesis.go b/x/emissions/keeper/genesis.go index 7621a9710..c5df47829 100644 --- a/x/emissions/keeper/genesis.go +++ b/x/emissions/keeper/genesis.go @@ -707,6 +707,34 @@ func (k *Keeper) InitGenesis(ctx context.Context, data *types.GenesisState) erro } } } + + // PreviousTopicQuantileInfererScoreEma + if len(data.PreviousTopicQuantileInfererScoreEma) != 0 { + for _, topicIdDec := range data.PreviousTopicQuantileInfererScoreEma { + if err := k.previousTopicQuantileInfererScoreEma.Set(ctx, topicIdDec.TopicId, topicIdDec.Dec); err != nil { + return errors.Wrap(err, "error setting previousTopicQuantileInfererScoreEma") + } + } + } + + // PreviousTopicQuantileForecasterScoreEma + if len(data.PreviousTopicQuantileForecasterScoreEma) != 0 { + for _, topicIdDec := range data.PreviousTopicQuantileForecasterScoreEma { + if err := k.previousTopicQuantileForecasterScoreEma.Set(ctx, topicIdDec.TopicId, topicIdDec.Dec); err != nil { + return errors.Wrap(err, "error setting previousTopicQuantileForecasterScoreEma") + } + } + } + + // PreviousTopicQuantileReputerScoreEma + if len(data.PreviousTopicQuantileReputerScoreEma) != 0 { + for _, topicIdDec := range data.PreviousTopicQuantileReputerScoreEma { + if err := k.previousTopicQuantileReputerScoreEma.Set(ctx, topicIdDec.TopicId, topicIdDec.Dec); err != nil { + return errors.Wrap(err, "error setting previousTopicQuantileReputerScoreEma") + } + } + } + return nil } @@ -1724,6 +1752,57 @@ func (k *Keeper) ExportGenesis(ctx context.Context) (*types.GenesisState, error) topicLastReputerCommit = append(topicLastReputerCommit, &topicIdTimestampedActorNonce) } + previousTopicQuantileInfererScoreEma := make([]*types.TopicIdAndDec, 0) + previousTopicQuantileInfererScoreEmaIter, err := k.previousTopicQuantileInfererScoreEma.Iterate(ctx, nil) + if err != nil { + return nil, errors.Wrap(err, "failed to iterate previous topic quantile inferer score ema") + } + for ; previousTopicQuantileInfererScoreEmaIter.Valid(); previousTopicQuantileInfererScoreEmaIter.Next() { + keyValue, err := previousTopicQuantileInfererScoreEmaIter.KeyValue() + if err != nil { + return nil, errors.Wrap(err, "failed to get key value: previousTopicQuantileInfererScoreEmaIter") + } + topicIdAndDec := types.TopicIdAndDec{ + TopicId: keyValue.Key, + Dec: keyValue.Value, + } + previousTopicQuantileInfererScoreEma = append(previousTopicQuantileInfererScoreEma, &topicIdAndDec) + } + + previousTopicQuantileForecasterScoreEma := make([]*types.TopicIdAndDec, 0) + previousTopicQuantileForecasterScoreEmaIter, err := k.previousTopicQuantileForecasterScoreEma.Iterate(ctx, nil) + if err != nil { + return nil, errors.Wrap(err, "failed to iterate previous topic quantile forecaster score ema") + } + for ; previousTopicQuantileForecasterScoreEmaIter.Valid(); previousTopicQuantileForecasterScoreEmaIter.Next() { + keyValue, err := previousTopicQuantileForecasterScoreEmaIter.KeyValue() + if err != nil { + return nil, errors.Wrap(err, "failed to get key value: previousTopicQuantileForecasterScoreEmaIter") + } + topicIdAndDec := types.TopicIdAndDec{ + TopicId: keyValue.Key, + Dec: keyValue.Value, + } + previousTopicQuantileForecasterScoreEma = append(previousTopicQuantileForecasterScoreEma, &topicIdAndDec) + } + + previousTopicQuantileReputerScoreEma := make([]*types.TopicIdAndDec, 0) + previousTopicQuantileReputerScoreEmaIter, err := k.previousTopicQuantileReputerScoreEma.Iterate(ctx, nil) + if err != nil { + return nil, errors.Wrap(err, "failed to iterate previous topic quantile reputer score ema") + } + for ; previousTopicQuantileReputerScoreEmaIter.Valid(); previousTopicQuantileReputerScoreEmaIter.Next() { + keyValue, err := previousTopicQuantileReputerScoreEmaIter.KeyValue() + if err != nil { + return nil, errors.Wrap(err, "failed to get key value: previousTopicQuantileReputerScoreEmaIter") + } + topicIdAndDec := types.TopicIdAndDec{ + TopicId: keyValue.Key, + Dec: keyValue.Value, + } + previousTopicQuantileReputerScoreEma = append(previousTopicQuantileReputerScoreEma, &topicIdAndDec) + } + return &types.GenesisState{ Params: moduleParams, NextTopicId: nextTopicId, @@ -1783,6 +1862,9 @@ func (k *Keeper) ExportGenesis(ctx context.Context) (*types.GenesisState, error) TopicToNextPossibleChurningBlock: topicToNextPossibleChurningBlock, BlockToActiveTopics: blockHeightTopicIds, BlockToLowestActiveTopicWeight: blockHeightTopicIdWeight, + PreviousTopicQuantileInfererScoreEma: previousTopicQuantileInfererScoreEma, + PreviousTopicQuantileForecasterScoreEma: previousTopicQuantileForecasterScoreEma, + PreviousTopicQuantileReputerScoreEma: previousTopicQuantileReputerScoreEma, }, nil } diff --git a/x/emissions/keeper/inference_synthesis/network_inferences_test.go b/x/emissions/keeper/inference_synthesis/network_inferences_test.go index 5682ae4f5..78c0b203e 100644 --- a/x/emissions/keeper/inference_synthesis/network_inferences_test.go +++ b/x/emissions/keeper/inference_synthesis/network_inferences_test.go @@ -127,13 +127,13 @@ func (s *InferenceSynthesisTestSuite) TestGetNetworkInferencesAtBlock() { inferences, err := testutil.GetInferencesFromCsv(topicId, blockHeight, infererAddresses, epoch3Get) s.Require().NoError(err) - err = keeper.InsertInferences(s.ctx, topicId, simpleNonce, inferences) + err = keeper.InsertInferences(s.ctx, topicId, simpleNonce.BlockHeight, inferences) s.Require().NoError(err) forecasts, err := testutil.GetForecastsFromCsv(topicId, blockHeight, infererAddresses, forecasterAddresses, epoch3Get) s.Require().NoError(err) - err = keeper.InsertForecasts(s.ctx, topicId, simpleNonce, forecasts) + err = keeper.InsertForecasts(s.ctx, topicId, simpleNonce.BlockHeight, forecasts) s.Require().NoError(err) // Set regrets from the previous epoch @@ -649,13 +649,13 @@ func (s *InferenceSynthesisTestSuite) TestGetLatestNetworkInferenceFromCsv() { inferences, err := testutil.GetInferencesFromCsv(topicId, blockHeightInferences, infererAddresses, epoch3Get) s.Require().NoError(err) - err = keeper.InsertInferences(s.ctx, topicId, simpleNonce, inferences) + err = keeper.InsertInferences(s.ctx, topicId, simpleNonce.BlockHeight, inferences) s.Require().NoError(err) forecasts, err := testutil.GetForecastsFromCsv(topicId, blockHeightInferences, infererAddresses, forecasterAddresses, epoch3Get) s.Require().NoError(err) - err = keeper.InsertForecasts(s.ctx, topicId, simpleNonce, forecasts) + err = keeper.InsertForecasts(s.ctx, topicId, simpleNonce.BlockHeight, forecasts) s.Require().NoError(err) // Set regrets from the previous epoch @@ -778,7 +778,7 @@ func (s *InferenceSynthesisTestSuite) TestGetNetworkInferencesWithMedianCalculat } nonce := emissionstypes.Nonce{BlockHeight: blockHeight} - err := keeper.InsertInferences(s.ctx, topicId, nonce, inferences) + err := keeper.InsertInferences(s.ctx, topicId, nonce.BlockHeight, inferences) s.Require().NoError(err) valueBundle, _, _, _, _, _, err := inferencesynthesis.GetNetworkInferences(s.ctx, keeper, topicId, &blockHeight) diff --git a/x/emissions/keeper/keeper.go b/x/emissions/keeper/keeper.go index 9a3429335..2ebfd7667 100644 --- a/x/emissions/keeper/keeper.go +++ b/x/emissions/keeper/keeper.go @@ -88,6 +88,12 @@ type Keeper struct { previousForecastRewardFraction collections.Map[collections.Pair[TopicId, ActorId], alloraMath.Dec] // map of topic -> previous forecaster score ratio previousForecasterScoreRatio collections.Map[TopicId, alloraMath.Dec] + // previous topic inferer ema score at topic quantile + previousTopicQuantileInfererScoreEma collections.Map[TopicId, alloraMath.Dec] + // previous topic forecaster ema score at topic quantile + previousTopicQuantileForecasterScoreEma collections.Map[TopicId, alloraMath.Dec] + // previous topic reputer ema score at topic quantile + previousTopicQuantileReputerScoreEma collections.Map[TopicId, alloraMath.Dec] /// STAKING @@ -253,25 +259,28 @@ func NewKeeper( latestOneOutInfererForecasterNetworkRegrets: collections.NewMap(sb, types.LatestOneOutInfererForecasterNetworkRegretsKey, "latest_one_out_inferer_forecaster_network_regrets", collections.TripleKeyCodec(collections.Uint64Key, collections.StringKey, collections.StringKey), codec.CollValue[types.TimestampedValue](cdc)), latestOneOutForecasterInfererNetworkRegrets: collections.NewMap(sb, types.LatestOneOutForecasterInfererNetworkRegretsKey, "latest_one_out_forecaster_inferer_network_regrets", collections.TripleKeyCodec(collections.Uint64Key, collections.StringKey, collections.StringKey), codec.CollValue[types.TimestampedValue](cdc)), latestOneOutForecasterForecasterNetworkRegrets: collections.NewMap(sb, types.LatestOneOutForecasterForecasterNetworkRegretsKey, "latest_one_out_forecaster_forecaster_network_regrets", collections.TripleKeyCodec(collections.Uint64Key, collections.StringKey, collections.StringKey), codec.CollValue[types.TimestampedValue](cdc)), - whitelistAdmins: collections.NewKeySet(sb, types.WhitelistAdminsKey, "whitelist_admins", collections.StringKey), - infererScoresByBlock: collections.NewMap(sb, types.InferenceScoresKey, "inferer_scores_by_block", collections.PairKeyCodec(collections.Uint64Key, collections.Int64Key), codec.CollValue[types.Scores](cdc)), - forecasterScoresByBlock: collections.NewMap(sb, types.ForecastScoresKey, "forecaster_scores_by_block", collections.PairKeyCodec(collections.Uint64Key, collections.Int64Key), codec.CollValue[types.Scores](cdc)), - infererScoreEmas: collections.NewMap(sb, types.InfererScoreEmasKey, "latest_inferer_scores_by_worker", collections.PairKeyCodec(collections.Uint64Key, collections.StringKey), codec.CollValue[types.Score](cdc)), - forecasterScoreEmas: collections.NewMap(sb, types.ForecasterScoreEmasKey, "latest_forecaster_scores_by_worker", collections.PairKeyCodec(collections.Uint64Key, collections.StringKey), codec.CollValue[types.Score](cdc)), - reputerScoreEmas: collections.NewMap(sb, types.ReputerScoreEmasKey, "latest_reputer_scores_by_reputer", collections.PairKeyCodec(collections.Uint64Key, collections.StringKey), codec.CollValue[types.Score](cdc)), - previousReputerRewardFraction: collections.NewMap(sb, types.PreviousReputerRewardFractionKey, "previous_reputer_reward_fraction", collections.PairKeyCodec(collections.Uint64Key, collections.StringKey), alloraMath.DecValue), - previousInferenceRewardFraction: collections.NewMap(sb, types.PreviousInferenceRewardFractionKey, "previous_inference_reward_fraction", collections.PairKeyCodec(collections.Uint64Key, collections.StringKey), alloraMath.DecValue), - previousForecastRewardFraction: collections.NewMap(sb, types.PreviousForecastRewardFractionKey, "previous_forecast_reward_fraction", collections.PairKeyCodec(collections.Uint64Key, collections.StringKey), alloraMath.DecValue), - previousForecasterScoreRatio: collections.NewMap(sb, types.PreviousForecasterScoreRatioKey, "previous_forecaster_score_ratio", collections.Uint64Key, alloraMath.DecValue), - reputerScoresByBlock: collections.NewMap(sb, types.ReputerScoresKey, "reputer_scores_by_block", collections.PairKeyCodec(collections.Uint64Key, collections.Int64Key), codec.CollValue[types.Scores](cdc)), - reputerListeningCoefficient: collections.NewMap(sb, types.ReputerListeningCoefficientKey, "reputer_listening_coefficient", collections.PairKeyCodec(collections.Uint64Key, collections.StringKey), codec.CollValue[types.ListeningCoefficient](cdc)), - unfulfilledWorkerNonces: collections.NewMap(sb, types.UnfulfilledWorkerNoncesKey, "unfulfilled_worker_nonces", collections.Uint64Key, codec.CollValue[types.Nonces](cdc)), - unfulfilledReputerNonces: collections.NewMap(sb, types.UnfulfilledReputerNoncesKey, "unfulfilled_reputer_nonces", collections.Uint64Key, codec.CollValue[types.ReputerRequestNonces](cdc)), - lastDripBlock: collections.NewMap(sb, types.LastDripBlockKey, "last_drip_block", collections.Uint64Key, collections.Int64Value), - topicRewardNonce: collections.NewMap(sb, types.TopicRewardNonceKey, "topic_reward_nonce", collections.Uint64Key, collections.Int64Value), - topicLastWorkerCommit: collections.NewMap(sb, types.TopicLastWorkerCommitKey, "topic_last_worker_commit", collections.Uint64Key, codec.CollValue[types.TimestampedActorNonce](cdc)), - topicLastReputerCommit: collections.NewMap(sb, types.TopicLastReputerCommitKey, "topic_last_reputer_commit", collections.Uint64Key, codec.CollValue[types.TimestampedActorNonce](cdc)), - openWorkerWindows: collections.NewMap(sb, types.OpenWorkerWindowsKey, "open_worker_windows", collections.Int64Key, codec.CollValue[types.TopicIds](cdc)), + whitelistAdmins: collections.NewKeySet(sb, types.WhitelistAdminsKey, "whitelist_admins", collections.StringKey), + infererScoresByBlock: collections.NewMap(sb, types.InferenceScoresKey, "inferer_scores_by_block", collections.PairKeyCodec(collections.Uint64Key, collections.Int64Key), codec.CollValue[types.Scores](cdc)), + forecasterScoresByBlock: collections.NewMap(sb, types.ForecastScoresKey, "forecaster_scores_by_block", collections.PairKeyCodec(collections.Uint64Key, collections.Int64Key), codec.CollValue[types.Scores](cdc)), + infererScoreEmas: collections.NewMap(sb, types.InfererScoreEmasKey, "latest_inferer_scores_by_worker", collections.PairKeyCodec(collections.Uint64Key, collections.StringKey), codec.CollValue[types.Score](cdc)), + forecasterScoreEmas: collections.NewMap(sb, types.ForecasterScoreEmasKey, "latest_forecaster_scores_by_worker", collections.PairKeyCodec(collections.Uint64Key, collections.StringKey), codec.CollValue[types.Score](cdc)), + reputerScoreEmas: collections.NewMap(sb, types.ReputerScoreEmasKey, "latest_reputer_scores_by_reputer", collections.PairKeyCodec(collections.Uint64Key, collections.StringKey), codec.CollValue[types.Score](cdc)), + previousReputerRewardFraction: collections.NewMap(sb, types.PreviousReputerRewardFractionKey, "previous_reputer_reward_fraction", collections.PairKeyCodec(collections.Uint64Key, collections.StringKey), alloraMath.DecValue), + previousInferenceRewardFraction: collections.NewMap(sb, types.PreviousInferenceRewardFractionKey, "previous_inference_reward_fraction", collections.PairKeyCodec(collections.Uint64Key, collections.StringKey), alloraMath.DecValue), + previousForecastRewardFraction: collections.NewMap(sb, types.PreviousForecastRewardFractionKey, "previous_forecast_reward_fraction", collections.PairKeyCodec(collections.Uint64Key, collections.StringKey), alloraMath.DecValue), + previousForecasterScoreRatio: collections.NewMap(sb, types.PreviousForecasterScoreRatioKey, "previous_forecaster_score_ratio", collections.Uint64Key, alloraMath.DecValue), + reputerScoresByBlock: collections.NewMap(sb, types.ReputerScoresKey, "reputer_scores_by_block", collections.PairKeyCodec(collections.Uint64Key, collections.Int64Key), codec.CollValue[types.Scores](cdc)), + reputerListeningCoefficient: collections.NewMap(sb, types.ReputerListeningCoefficientKey, "reputer_listening_coefficient", collections.PairKeyCodec(collections.Uint64Key, collections.StringKey), codec.CollValue[types.ListeningCoefficient](cdc)), + unfulfilledWorkerNonces: collections.NewMap(sb, types.UnfulfilledWorkerNoncesKey, "unfulfilled_worker_nonces", collections.Uint64Key, codec.CollValue[types.Nonces](cdc)), + unfulfilledReputerNonces: collections.NewMap(sb, types.UnfulfilledReputerNoncesKey, "unfulfilled_reputer_nonces", collections.Uint64Key, codec.CollValue[types.ReputerRequestNonces](cdc)), + lastDripBlock: collections.NewMap(sb, types.LastDripBlockKey, "last_drip_block", collections.Uint64Key, collections.Int64Value), + topicRewardNonce: collections.NewMap(sb, types.TopicRewardNonceKey, "topic_reward_nonce", collections.Uint64Key, collections.Int64Value), + topicLastWorkerCommit: collections.NewMap(sb, types.TopicLastWorkerCommitKey, "topic_last_worker_commit", collections.Uint64Key, codec.CollValue[types.TimestampedActorNonce](cdc)), + topicLastReputerCommit: collections.NewMap(sb, types.TopicLastReputerCommitKey, "topic_last_reputer_commit", collections.Uint64Key, codec.CollValue[types.TimestampedActorNonce](cdc)), + openWorkerWindows: collections.NewMap(sb, types.OpenWorkerWindowsKey, "open_worker_windows", collections.Int64Key, codec.CollValue[types.TopicIds](cdc)), + previousTopicQuantileInfererScoreEma: collections.NewMap(sb, types.PreviousTopicQuantileInfererScoreEmaKey, "previous_topic_quantile_inferer_score_ema", collections.Uint64Key, alloraMath.DecValue), + previousTopicQuantileForecasterScoreEma: collections.NewMap(sb, types.PreviousTopicQuantileForecasterScoreEmaKey, "previous_topic_quantile_forecaster_score_ema", collections.Uint64Key, alloraMath.DecValue), + previousTopicQuantileReputerScoreEma: collections.NewMap(sb, types.PreviousTopicQuantileReputerScoreEmaKey, "previous_topic_quantile_reputer_score_ema", collections.Uint64Key, alloraMath.DecValue), } schema, err := sb.Build() @@ -784,56 +793,89 @@ func (k *Keeper) GetForecastsAtBlock(ctx context.Context, topicId TopicId, block } // Append individual inference for a topic/block -func (k *Keeper) AppendInference(ctx context.Context, topicId TopicId, nonce types.Nonce, inference *types.Inference) error { - if inference == nil { +func (k *Keeper) AppendInference( + ctx context.Context, + topic types.Topic, + blockHeight BlockHeight, + nonceBlockHeight BlockHeight, + inference *types.Inference, +) error { + if inference == nil || inference.Inferer == "" { return errors.New("invalid inference: inferer is empty or nil") } - if inference.Inferer == "" { - return errors.New("invalid inference: inferer is empty") - } - block := nonce.BlockHeight moduleParams, err := k.GetParams(ctx) if err != nil { return err } - key := collections.Join(topicId, block) - inferences, err := k.allInferences.Get(ctx, key) + ptr, err := k.GetInferencesAtBlock(ctx, topic.Id, nonceBlockHeight) if err != nil { - inferences = types.Inferences{} + return errorsmod.Wrapf(err, "Error getting inferences at block %d", nonceBlockHeight) } - var newInferences types.Inferences - // remove inference if this inferer already submitted + inferences := *ptr + + // Check if the inference is already submitted for _, exInference := range inferences.Inferences { - if exInference.Inferer != inference.Inferer { - newInferences.Inferences = append(newInferences.Inferences, exInference) + if exInference.Inferer == inference.Inferer { + return errors.New("inference already submitted") } } - // append inference if not reached out topN - if uint64(len(newInferences.Inferences)) < moduleParams.MaxTopInferersToReward { - newInferences.Inferences = append(newInferences.Inferences, inference) - return k.allInferences.Set(ctx, key, newInferences) - } - // get score of current inference and check with - score, err := k.GetInfererScoreEma(ctx, topicId, inference.Inferer) + + previousEmaScore, err := k.GetInfererScoreEma(ctx, topic.Id, inference.Inferer) if err != nil { - return err + return errorsmod.Wrapf(err, "Error getting inferer score ema") + } + // Only calc and save if there's a new update + if previousEmaScore.BlockHeight != 0 && + blockHeight-previousEmaScore.BlockHeight <= topic.WorkerSubmissionWindow { + return types.ErrCantUpdateEmaMoreThanOncePerWindow } - lowScore, lowScoreIndex, err := GetLowScoreFromAllInferences(ctx, k, topicId, newInferences) + + // append inference if not yet reached topN + if uint64(len(inferences.Inferences)) < moduleParams.MaxTopInferersToReward { + inferences.Inferences = append(inferences.Inferences, inference) + return k.InsertInferences(ctx, topic.Id, nonceBlockHeight, inferences) + } + + // get score of current inference and check with lowest score + lowScore, lowScoreIndex, err := GetLowScoreFromAllInferences(ctx, k, topic.Id, inferences) if err != nil { return err } - if score.Score.Gt(lowScore.Score) { - newInferences.Inferences = append(newInferences.Inferences[:lowScoreIndex], newInferences.Inferences[lowScoreIndex+1:]...) - newInferences.Inferences = append(newInferences.Inferences, inference) - return k.allInferences.Set(ctx, key, newInferences) + // Update EMA score for the lowest score inferer + // This conditional decides who that lowest score inferer is + if previousEmaScore.Score.Gt(lowScore.Score) { + // Update EMA score for the lowest score inferer, who is not the current inferer + err = k.CalcAndSaveInfererScoreEmaWithLastSavedTopicQuantile( + ctx, + topic, + blockHeight, + inferences.Inferences[lowScoreIndex].Inferer, + ) + if err != nil { + return err + } + // Remove the lowest score inferer from the list + inferences.Inferences = append(inferences.Inferences[:lowScoreIndex], inferences.Inferences[lowScoreIndex+1:]...) + // Append the current inferer to the list + inferences.Inferences = append(inferences.Inferences, inference) + return k.InsertInferences(ctx, topic.Id, nonceBlockHeight, inferences) + } else { + // Update EMA score for the current inferer, who is the lowest score inferer + err = k.CalcAndSaveInfererScoreEmaWithLastSavedTopicQuantile(ctx, topic, blockHeight, inference.Inferer) + if err != nil { + return err + } } return nil } // Insert a complete set of inferences for a topic/block. Overwrites previous ones. -func (k *Keeper) InsertInferences(ctx context.Context, topicId TopicId, nonce types.Nonce, inferences types.Inferences) error { - block := nonce.BlockHeight - +func (k *Keeper) InsertInferences( + ctx context.Context, + topicId TopicId, + nonceBlockHeight BlockHeight, + inferences types.Inferences, +) error { for _, inference := range inferences.Inferences { // Update latests inferences for each worker key := collections.Join(topicId, inference.Inferer) @@ -841,61 +883,92 @@ func (k *Keeper) InsertInferences(ctx context.Context, topicId TopicId, nonce ty return err } } - - key := collections.Join(topicId, block) + key := collections.Join(topicId, nonceBlockHeight) return k.allInferences.Set(ctx, key, inferences) } // Append individual forecast for a topic/block -func (k *Keeper) AppendForecast(ctx context.Context, topicId TopicId, nonce types.Nonce, forecast *types.Forecast) error { +func (k *Keeper) AppendForecast( + ctx context.Context, + topic types.Topic, + blockHeight BlockHeight, + nonceBlockHeight BlockHeight, + forecast *types.Forecast, +) error { if forecast == nil || forecast.Forecaster == "" { return errors.New("invalid forecast: forecaster is empty or nil") } if len(forecast.ForecastElements) == 0 { return errors.New("invalid forecast: forecast elements are empty") } - block := nonce.BlockHeight moduleParams, err := k.GetParams(ctx) if err != nil { return err } - key := collections.Join(topicId, block) - forecasts, err := k.allForecasts.Get(ctx, key) + ptr, err := k.GetForecastsAtBlock(ctx, topic.Id, nonceBlockHeight) if err != nil { - forecasts = types.Forecasts{} + return errorsmod.Wrapf(err, "Error getting forecasts at block %d", nonceBlockHeight) } - var newForecasts types.Forecasts - // remove forecast if this forecaster already submitted + forecasts := *ptr + + // Check if the inference is already submitted for _, exForecast := range forecasts.Forecasts { - if exForecast.Forecaster != forecast.Forecaster { - newForecasts.Forecasts = append(newForecasts.Forecasts, exForecast) + if exForecast.Forecaster == forecast.Forecaster { + return errors.New("forecast already submitted") } } - if uint64(len(newForecasts.Forecasts)) < moduleParams.MaxTopForecastersToReward { - newForecasts.Forecasts = append(newForecasts.Forecasts, forecast) - return k.allForecasts.Set(ctx, key, newForecasts) - } - // get score of current inference and check with - score, err := k.GetForecasterScoreEma(ctx, topicId, forecast.Forecaster) + + previousEmaScore, err := k.GetForecasterScoreEma(ctx, topic.Id, forecast.Forecaster) if err != nil { - return err + return errorsmod.Wrapf(err, "Error getting forecaster score ema") } - lowScore, lowScoreIndex, err := GetLowScoreFromAllForecasts(ctx, k, topicId, newForecasts) + // Only calc and save if there's a new update + if previousEmaScore.BlockHeight != 0 && + blockHeight-previousEmaScore.BlockHeight <= topic.WorkerSubmissionWindow { + return types.ErrCantUpdateEmaMoreThanOncePerWindow + } + + // append forecast if not yet reached topN + if uint64(len(forecasts.Forecasts)) < moduleParams.MaxTopForecastersToReward { + forecasts.Forecasts = append(forecasts.Forecasts, forecast) + return k.InsertForecasts(ctx, topic.Id, nonceBlockHeight, forecasts) + } + + // get score of current forecast and check with lowest score + lowScore, lowScoreIndex, err := GetLowScoreFromAllForecasts(ctx, k, topic.Id, forecasts) if err != nil { return err } - if score.Score.Gt(lowScore.Score) { - newForecasts.Forecasts = append(newForecasts.Forecasts[:lowScoreIndex], newForecasts.Forecasts[lowScoreIndex+1:]...) - newForecasts.Forecasts = append(newForecasts.Forecasts, forecast) - return k.allForecasts.Set(ctx, key, newForecasts) + // Update EMA score for the lowest score forecaster + // This conditional decides who that lowest score forecaster is + if previousEmaScore.Score.Gt(lowScore.Score) { + // Update EMA score for the lowest score forecaster, who is not the current forecaster + err = k.CalcAndSaveForecasterScoreEmaWithLastSavedTopicQuantile( + ctx, + topic, + blockHeight, + forecasts.Forecasts[lowScoreIndex].Forecaster, + ) + if err != nil { + return err + } + // Remove the lowest score forecaster from the list + forecasts.Forecasts = append(forecasts.Forecasts[:lowScoreIndex], forecasts.Forecasts[lowScoreIndex+1:]...) + // Append the current forecaster to the list + forecasts.Forecasts = append(forecasts.Forecasts, forecast) + return k.InsertForecasts(ctx, topic.Id, nonceBlockHeight, forecasts) + } else { + // Update EMA score for the current forecaster, who is the lowest score forecaster + err = k.CalcAndSaveForecasterScoreEmaWithLastSavedTopicQuantile(ctx, topic, blockHeight, forecast.Forecaster) + if err != nil { + return err + } } return nil } // Insert a complete set of inferences for a topic/block. Overwrites previous ones. -func (k *Keeper) InsertForecasts(ctx context.Context, topicId TopicId, nonce types.Nonce, forecasts types.Forecasts) error { - block := nonce.BlockHeight - +func (k *Keeper) InsertForecasts(ctx context.Context, topicId TopicId, nonceBlockHeight BlockHeight, forecasts types.Forecasts) error { for _, forecast := range forecasts.Forecasts { // Update latests forecasts for each worker key := collections.Join(topicId, forecast.Forecaster) @@ -903,15 +976,15 @@ func (k *Keeper) InsertForecasts(ctx context.Context, topicId TopicId, nonce typ return err } } - - key := collections.Join(topicId, block) + key := collections.Join(topicId, nonceBlockHeight) return k.allForecasts.Set(ctx, key, forecasts) } func (k *Keeper) GetWorkerLatestInferenceByTopicId( ctx context.Context, topicId TopicId, - worker ActorId) (types.Inference, error) { + worker ActorId, +) (types.Inference, error) { key := collections.Join(topicId, worker) return k.inferences.Get(ctx, key) } @@ -942,8 +1015,14 @@ func (k *Keeper) DeleteTopicRewardNonce(ctx context.Context, topicId TopicId) er /// LOSS BUNDLES -// Append loss bundle for a topoic and blockheight -func (k *Keeper) AppendReputerLoss(ctx context.Context, topicId TopicId, block BlockHeight, reputerLoss *types.ReputerValueBundle) error { +// Append loss bundle for a topic and blockHeight +func (k *Keeper) AppendReputerLoss( + ctx context.Context, + topic types.Topic, + blockHeight BlockHeight, + nonceBlockHeight BlockHeight, + reputerLoss *types.ReputerValueBundle, +) error { if reputerLoss == nil { return errors.New("invalid reputerLoss bundle: inferer is empty or nil") } @@ -957,38 +1036,65 @@ func (k *Keeper) AppendReputerLoss(ctx context.Context, topicId TopicId, block B if err != nil { return err } - key := collections.Join(topicId, block) - reputerLossBundles, err := k.allLossBundles.Get(ctx, key) + ptr, err := k.GetReputerLossBundlesAtBlock(ctx, topic.Id, nonceBlockHeight) if err != nil { - reputerLossBundles = types.ReputerValueBundles{} + return errorsmod.Wrapf(err, "Error getting reputer loss bundles at block %d", nonceBlockHeight) } + reputerLossBundles := *ptr - var newReputerLossBundles types.ReputerValueBundles - // remove reputation if this reputer already submitted + // Check if the reputer loss bundle is already submitted for _, exReputation := range reputerLossBundles.ReputerValueBundles { - if exReputation.ValueBundle.Reputer != reputerLoss.ValueBundle.Reputer { - newReputerLossBundles.ReputerValueBundles = append(newReputerLossBundles.ReputerValueBundles, exReputation) + if exReputation.ValueBundle.Reputer == reputerLoss.ValueBundle.Reputer { + return errors.New("reputer loss bundle already submitted") } } - if uint64(len(newReputerLossBundles.ReputerValueBundles)) < moduleParams.MaxTopReputersToReward { - newReputerLossBundles.ReputerValueBundles = append(newReputerLossBundles.ReputerValueBundles, reputerLoss) - return k.allLossBundles.Set(ctx, key, newReputerLossBundles) - } - // get score of current inference and check with - score, err := k.GetReputerScoreEma(ctx, topicId, reputerLoss.ValueBundle.Reputer) + previousEmaScore, err := k.GetReputerScoreEma(ctx, topic.Id, reputerLoss.ValueBundle.Reputer) if err != nil { return err } - lowScore, lowScoreIndex, err := GetLowScoreFromAllLossBundles(ctx, k, topicId, newReputerLossBundles) + // Only calc and save if there's a new update + if previousEmaScore.BlockHeight != 0 && + blockHeight-previousEmaScore.BlockHeight <= topic.EpochLength { + return types.ErrCantUpdateEmaMoreThanOncePerWindow + } + + // append reputer loss bundle if not yet reached topN + if uint64(len(reputerLossBundles.ReputerValueBundles)) < moduleParams.MaxTopReputersToReward { + reputerLossBundles.ReputerValueBundles = append(reputerLossBundles.ReputerValueBundles, reputerLoss) + return k.InsertReputerLossBundlesAtBlock(ctx, topic.Id, nonceBlockHeight, reputerLossBundles) + } + + // get score of current inference and check with + lowScore, lowScoreIndex, err := GetLowScoreFromAllLossBundles(ctx, k, topic.Id, reputerLossBundles) if err != nil { return err } - if score.Score.Gt(lowScore.Score) { - newReputerLossBundles.ReputerValueBundles = append(newReputerLossBundles.ReputerValueBundles[:lowScoreIndex], - newReputerLossBundles.ReputerValueBundles[lowScoreIndex+1:]...) - newReputerLossBundles.ReputerValueBundles = append(newReputerLossBundles.ReputerValueBundles, reputerLoss) - return k.allLossBundles.Set(ctx, key, newReputerLossBundles) + // Update EMA score for the lowest score reputer + // This conditional decides who that lowest score reputer is + if previousEmaScore.Score.Gt(lowScore.Score) { + // Update EMA score for the lowest score reputer, who is not the current reputer + err = k.CalcAndSaveReputerScoreEmaWithLastSavedTopicQuantile( + ctx, + topic, + blockHeight, + reputerLossBundles.ReputerValueBundles[lowScoreIndex].ValueBundle.Reputer, + ) + if err != nil { + return err + } + // Remove the lowest score reputer from the list + reputerLossBundles.ReputerValueBundles = append(reputerLossBundles.ReputerValueBundles[:lowScoreIndex], + reputerLossBundles.ReputerValueBundles[lowScoreIndex+1:]...) + // Append the current reputer to the list + reputerLossBundles.ReputerValueBundles = append(reputerLossBundles.ReputerValueBundles, reputerLoss) + return k.InsertReputerLossBundlesAtBlock(ctx, topic.Id, nonceBlockHeight, reputerLossBundles) + } else { + // Update EMA score for the current reputer, who is the lowest score reputer + err = k.CalcAndSaveReputerScoreEmaWithLastSavedTopicQuantile(ctx, topic, blockHeight, reputerLoss.ValueBundle.Reputer) + if err != nil { + return err + } } return nil } @@ -1851,8 +1957,8 @@ func (k *Keeper) GetReputerInfo(ctx sdk.Context, reputerKey ActorId) (types.Offc // Adds a new worker to the worker tracking data structures, workers and topicWorkers func (k *Keeper) InsertWorker(ctx context.Context, topicId TopicId, worker ActorId, workerInfo types.OffchainNode) error { - topickey := collections.Join(topicId, worker) - err := k.topicWorkers.Set(ctx, topickey) + topicKey := collections.Join(topicId, worker) + err := k.topicWorkers.Set(ctx, topicKey) if err != nil { return err } @@ -1954,14 +2060,14 @@ func (k *Keeper) UpdateTopicEpochLastEnded(ctx context.Context, topicId TopicId, // True if worker is registered in topic, else False func (k *Keeper) IsWorkerRegisteredInTopic(ctx context.Context, topicId TopicId, worker ActorId) (bool, error) { - topickey := collections.Join(topicId, worker) - return k.topicWorkers.Has(ctx, topickey) + topicKey := collections.Join(topicId, worker) + return k.topicWorkers.Has(ctx, topicKey) } // True if reputer is registered in topic, else False func (k *Keeper) IsReputerRegisteredInTopic(ctx context.Context, topicId TopicId, reputer ActorId) (bool, error) { - topickey := collections.Join(topicId, reputer) - return k.topicReputers.Has(ctx, topickey) + topicKey := collections.Join(topicId, reputer) + return k.topicReputers.Has(ctx, topicKey) } /// TOPIC FEE REVENUE @@ -2207,13 +2313,13 @@ func (k *Keeper) GetReputerScoreEma(ctx context.Context, topicId TopicId, repute func (k *Keeper) InsertWorkerInferenceScore(ctx context.Context, topicId TopicId, blockHeight BlockHeight, score types.Score) error { scores, err := k.GetWorkerInferenceScoresAtBlock(ctx, topicId, blockHeight) if err != nil { - return err + return errorsmod.Wrapf(err, "Error getting worker inference scores at block") } scores.Scores = append(scores.Scores, &score) moduleParams, err := k.GetParams(ctx) if err != nil { - return err + return errorsmod.Wrapf(err, "Error getting params") } maxNumScores := moduleParams.MaxSamplesToScaleScores @@ -2411,6 +2517,57 @@ func (k *Keeper) GetListeningCoefficient(ctx context.Context, topicId TopicId, r return coef, nil } +func (k *Keeper) SetPreviousTopicQuantileInfererScoreEma(ctx context.Context, topicId TopicId, score alloraMath.Dec) error { + return k.previousTopicQuantileInfererScoreEma.Set(ctx, topicId, score) +} + +// Gets the previous Inferer Score Ema at Topic quantile +// Returns previous inferer score ema at topic quantile, or 0 if not yet seen +func (k *Keeper) GetPreviousTopicQuantileInfererScoreEma(ctx context.Context, topicId TopicId) (alloraMath.Dec, error) { + score, err := k.previousTopicQuantileInfererScoreEma.Get(ctx, topicId) + if err != nil { + if errors.Is(err, collections.ErrNotFound) { + return alloraMath.ZeroDec(), nil + } + return alloraMath.Dec{}, err + } + return score, nil +} + +func (k *Keeper) SetPreviousTopicQuantileForecasterScoreEma(ctx context.Context, topicId TopicId, score alloraMath.Dec) error { + return k.previousTopicQuantileForecasterScoreEma.Set(ctx, topicId, score) +} + +// Gets the previous Forecaster Score Ema at Topic quantile +// Returns previous forecaster score ema at topic quantile, or 0 if not yet seen +func (k *Keeper) GetPreviousTopicQuantileForecasterScoreEma(ctx context.Context, topicId TopicId) (alloraMath.Dec, error) { + score, err := k.previousTopicQuantileForecasterScoreEma.Get(ctx, topicId) + if err != nil { + if errors.Is(err, collections.ErrNotFound) { + return alloraMath.ZeroDec(), nil + } + return alloraMath.Dec{}, err + } + return score, nil +} + +func (k *Keeper) SetPreviousTopicQuantileReputerScoreEma(ctx context.Context, topicId TopicId, score alloraMath.Dec) error { + return k.previousTopicQuantileReputerScoreEma.Set(ctx, topicId, score) +} + +// Gets the previous Reputer Score Ema at Topic quantile +// Returns previous reputer score ema at topic quantile, or 0 if not yet seen +func (k *Keeper) GetPreviousTopicQuantileReputerScoreEma(ctx context.Context, topicId TopicId) (alloraMath.Dec, error) { + score, err := k.previousTopicQuantileReputerScoreEma.Get(ctx, topicId) + if err != nil { + if errors.Is(err, collections.ErrNotFound) { + return alloraMath.ZeroDec(), nil + } + return alloraMath.Dec{}, err + } + return score, nil +} + /// REWARD FRACTION // Gets the previous W_{i-1,m} @@ -2664,6 +2821,12 @@ func (k *Keeper) BlockWithinWorkerSubmissionWindowOfNonce(topic types.Topic, non return nonce.BlockHeight <= blockHeight && blockHeight < topic.WorkerSubmissionWindow+nonce.BlockHeight } +// Return true if the nonce is within the worker submission window for the topic +func (k *Keeper) BlockWithinReputerSubmissionWindowOfNonce(topic types.Topic, nonce types.ReputerRequestNonce, blockHeight int64) bool { + return nonce.ReputerNonce.BlockHeight+topic.GroundTruthLag <= blockHeight && + blockHeight <= nonce.ReputerNonce.BlockHeight+topic.GroundTruthLag*2 +} + func (k *Keeper) ValidateStringIsBech32(actor ActorId) error { _, err := sdk.AccAddressFromBech32(actor) if err != nil { diff --git a/x/emissions/keeper/keeper_test.go b/x/emissions/keeper/keeper_test.go index c5b4200f5..0d8e0233d 100644 --- a/x/emissions/keeper/keeper_test.go +++ b/x/emissions/keeper/keeper_test.go @@ -1078,7 +1078,7 @@ func (s *KeeperTestSuite) TestGetInferencesAtBlock() { // Assume InsertInferences correctly sets up inferences nonce := types.Nonce{BlockHeight: block} // Assuming block type cast to int64 if needed - err := keeper.InsertInferences(ctx, topicId, nonce, expectedInferences) + err := keeper.InsertInferences(ctx, topicId, nonce.BlockHeight, expectedInferences) s.Require().NoError(err) // Retrieve inferences @@ -1113,7 +1113,7 @@ func (s *KeeperTestSuite) TestGetLatestTopicInferences() { Inferences: []*types.Inference{&newInference1}, } nonce1 := types.Nonce{BlockHeight: blockHeight1} - err = keeper.InsertInferences(ctx, topicId, nonce1, inferences1) + err = keeper.InsertInferences(ctx, topicId, nonce1.BlockHeight, inferences1) s.Require().NoError(err, "Inserting first set of inferences should not fail") // Insert second set of inferences @@ -1130,7 +1130,7 @@ func (s *KeeperTestSuite) TestGetLatestTopicInferences() { Inferences: []*types.Inference{&newInference2}, } nonce2 := types.Nonce{BlockHeight: blockHeight2} - err = keeper.InsertInferences(ctx, topicId, nonce2, inferences2) + err = keeper.InsertInferences(ctx, topicId, nonce2.BlockHeight, inferences2) s.Require().NoError(err, "Inserting second set of inferences should not fail") // Retrieve the latest inferences @@ -1163,7 +1163,7 @@ func (s *KeeperTestSuite) TestGetWorkerLatestInferenceByTopicId() { Inferences: []*types.Inference{&newInference1}, } nonce := types.Nonce{BlockHeight: blockHeight1} - err = keeper.InsertInferences(ctx, topicId, nonce, inferences1) + err = keeper.InsertInferences(ctx, topicId, nonce.BlockHeight, inferences1) s.Require().NoError(err, "Inserting inferences should not fail") blockHeight2 := int64(12346) @@ -1179,7 +1179,7 @@ func (s *KeeperTestSuite) TestGetWorkerLatestInferenceByTopicId() { Inferences: []*types.Inference{&newInference2}, } nonce2 := types.Nonce{BlockHeight: blockHeight2} - err = keeper.InsertInferences(ctx, topicId, nonce2, inferences2) + err = keeper.InsertInferences(ctx, topicId, nonce2.BlockHeight, inferences2) s.Require().NoError(err, "Inserting inferences should not fail") retrievedInference, err := keeper.GetWorkerLatestInferenceByTopicId(ctx, topicId, workerAccStr) @@ -1207,7 +1207,7 @@ func (s *KeeperTestSuite) TestGetForecastsAtBlock() { // Assume InsertForecasts correctly sets up forecasts nonce := types.Nonce{BlockHeight: block} - err := keeper.InsertForecasts(ctx, topicId, nonce, expectedForecasts) + err := keeper.InsertForecasts(ctx, topicId, nonce.BlockHeight, expectedForecasts) s.Require().NoError(err) // Retrieve forecasts @@ -3070,7 +3070,7 @@ func (s *KeeperTestSuite) TestPruneRecordsAfterRewards() { }, } nonce := types.Nonce{BlockHeight: block} // Assuming block type cast to int64 if needed - err := s.emissionsKeeper.InsertInferences(s.ctx, topicId, nonce, expectedInferences) + err := s.emissionsKeeper.InsertInferences(s.ctx, topicId, nonce.BlockHeight, expectedInferences) s.Require().NoError(err, "Inserting inferences should not fail") expectedForecasts := types.Forecasts{ @@ -3085,7 +3085,7 @@ func (s *KeeperTestSuite) TestPruneRecordsAfterRewards() { }, }, } - err = s.emissionsKeeper.InsertForecasts(s.ctx, topicId, nonce, expectedForecasts) + err = s.emissionsKeeper.InsertForecasts(s.ctx, topicId, nonce.BlockHeight, expectedForecasts) s.Require().NoError(err) reputerLossBundles := types.ReputerValueBundles{} @@ -3475,25 +3475,34 @@ func (s *KeeperTestSuite) TestGetFirstDelegateStakeRemovalForDelegatorReputerAnd s.Require().False(found) } -func (s *KeeperTestSuite) TestAppendForecast() { +func (s *KeeperTestSuite) TestAppendInference() { ctx := s.ctx k := s.emissionsKeeper - topicId := uint64(1) + // Topic IDs + topicId := s.CreateOneTopic(10800) nonce := types.Nonce{BlockHeight: 10} blockHeightInferences := int64(10) + // Set previous topic quantile inferer score ema + err := k.SetPreviousTopicQuantileInfererScoreEma(ctx, topicId, alloraMath.MustNewDecFromString("1000")) + s.Require().NoError(err) + + topic, err := k.GetTopic(ctx, topicId) + s.Require().NoError(err) + worker1 := "worker1" worker2 := "worker2" worker3 := "worker3" worker4 := "worker4" worker5 := "worker5" + ogWorker2Score := alloraMath.MustNewDecFromString("90") score1 := types.Score{TopicId: topicId, BlockHeight: 2, Address: worker1, Score: alloraMath.NewDecFromInt64(95)} - score2 := types.Score{TopicId: topicId, BlockHeight: 2, Address: worker2, Score: alloraMath.NewDecFromInt64(90)} + score2 := types.Score{TopicId: topicId, BlockHeight: 2, Address: worker2, Score: ogWorker2Score} score3 := types.Score{TopicId: topicId, BlockHeight: 2, Address: worker3, Score: alloraMath.NewDecFromInt64(99)} score4 := types.Score{TopicId: topicId, BlockHeight: 2, Address: worker4, Score: alloraMath.NewDecFromInt64(91)} score5 := types.Score{TopicId: topicId, BlockHeight: 2, Address: worker5, Score: alloraMath.NewDecFromInt64(96)} - err := k.SetInfererScoreEma(ctx, topicId, worker1, score1) + err = k.SetInfererScoreEma(ctx, topicId, worker1, score1) s.Require().NoError(err) err = k.SetInfererScoreEma(ctx, topicId, worker2, score2) s.Require().NoError(err) @@ -3511,37 +3520,89 @@ func (s *KeeperTestSuite) TestAppendForecast() { {TopicId: topicId, BlockHeight: blockHeightInferences, Inferer: worker3, Value: alloraMath.MustNewDecFromString("0.71")}, }, } - err = k.InsertInferences(ctx, topicId, nonce, allInferences) + err = k.InsertInferences(ctx, topicId, nonce.BlockHeight, allInferences) s.Require().NoError(err) + blockHeightInferences = blockHeightInferences + topic.EpochLength newInference := types.Inference{ TopicId: topicId, BlockHeight: blockHeightInferences, Inferer: worker4, Value: alloraMath.MustNewDecFromString("0.52"), } - err = k.AppendInference(ctx, topicId, nonce, &newInference) + err = k.AppendInference(ctx, topic, blockHeightInferences, nonce.BlockHeight, &newInference) s.Require().NoError(err) - newAllInferences, err := k.GetInferencesAtBlock(ctx, topicId, blockHeightInferences) + newAllInferences, err := k.GetInferencesAtBlock(ctx, topicId, nonce.BlockHeight) s.Require().NoError(err) s.Require().Equal(len(newAllInferences.Inferences), len(allInferences.Inferences)+1) + + // Ensure that the number of top inferers is capped at the max top inferers to reward + // New high-score entrant should replace earlier low-score entrant params := types.Params{ MaxTopInferersToReward: 4, } err = k.SetParams(ctx, params) s.Require().NoError(err) + blockHeightInferences = blockHeightInferences + topic.EpochLength newInference2 := types.Inference{ TopicId: topicId, BlockHeight: blockHeightInferences, Inferer: worker5, Value: alloraMath.MustNewDecFromString("0.52"), } - err = k.AppendInference(ctx, topicId, nonce, &newInference2) + worker5OgScore, err := k.GetInfererScoreEma(ctx, topicId, worker5) + s.Require().NoError(err) + err = k.AppendInference(ctx, topic, blockHeightInferences, nonce.BlockHeight, &newInference2) s.Require().NoError(err) - newAllInferences, err = k.GetInferencesAtBlock(ctx, topicId, blockHeightInferences) + newAllInferences, err = k.GetInferencesAtBlock(ctx, topicId, nonce.BlockHeight) s.Require().NoError(err) s.Require().Equal(uint64(len(newAllInferences.Inferences)), params.MaxTopInferersToReward) - s.Require().Equal(newAllInferences.Inferences[1].Inferer, worker3) + // New high-score entrant should replace earlier low-score entrant + worker5Found := false + for _, inference := range newAllInferences.Inferences { + if inference.Inferer == worker5 { + worker5Found = true + } + } + s.Require().True(worker5Found) + + // Ensure EMA score of active set is not yet updated + // This will happen later during epoch reward calculation, not here + worker5NewScore, err := k.GetInfererScoreEma(ctx, topicId, worker5) + s.Require().NoError(err) + // EMA score should be updated higher because saved topic quantile ema is higher + s.Require().True(worker5OgScore.Score.Equal(worker5NewScore.Score)) + // EMA score should be updated with the new time of update given that it was updated then + s.Require().Equal(worker5OgScore.BlockHeight, worker5NewScore.BlockHeight) + + // Ensure EMA score of actor moved to passive set is updated + updatedWorker2Score, err := k.GetInfererScoreEma(ctx, topicId, worker2) + s.Require().NoError(err) + // EMA score should be updated higher because saved topic quantile ema is higher + updatedWorker2ScoreVal, _ := updatedWorker2Score.Score.Int64() + ogWorker2ScoreVal, _ := ogWorker2Score.Int64() + worker5OgScoreVal, _ := worker5OgScore.Score.Int64() + s.Require().Greater(updatedWorker2ScoreVal, ogWorker2ScoreVal, "worker2 score should go up given large ema value") + s.Require().Greater(updatedWorker2ScoreVal, worker5OgScoreVal, "worker2 could not overtake worker5, but not in this epoch") + // EMA score should be updated with the new time of update given that it was updated then + s.Require().Equal(blockHeightInferences, updatedWorker2Score.BlockHeight) + + // Ensure passive set participant can't update their score within the same epoch + blockHeightInferences = blockHeightInferences + 1 // within the same epoch => no update + newInference2 = types.Inference{ + TopicId: topicId, BlockHeight: blockHeightInferences, Inferer: worker2, Value: alloraMath.MustNewDecFromString("0.52"), + } + err = k.AppendInference(ctx, topic, blockHeightInferences, nonce.BlockHeight, &newInference2) + s.Require().Error(err, types.ErrCantUpdateEmaMoreThanOncePerWindow.Error()) + // Confirm no change in EMA score + newAllInferences, err = k.GetInferencesAtBlock(ctx, topicId, nonce.BlockHeight) + s.Require().NoError(err) + s.Require().Equal(uint64(len(newAllInferences.Inferences)), params.MaxTopInferersToReward) + updateAttemptForWorker2, err := k.GetInfererScoreEma(ctx, topicId, worker2) + s.Require().NoError(err) + updateAttemptForWorker2Val, _ := updateAttemptForWorker2.Score.Int64() + s.Require().Equal(updateAttemptForWorker2Val, updatedWorker2ScoreVal, "unchanged score") + s.Require().Equal(updateAttemptForWorker2.BlockHeight, updatedWorker2Score.BlockHeight, "unchanged height") } -func (s *KeeperTestSuite) TestAppendInference() { +func (s *KeeperTestSuite) TestAppendForecast() { ctx := s.ctx k := s.emissionsKeeper - topicId := uint64(1) + topicId := s.CreateOneTopic(10800) nonce := types.Nonce{BlockHeight: 10} blockHeightInferences := int64(10) @@ -3616,7 +3677,7 @@ func (s *KeeperTestSuite) TestAppendInference() { }, }, } - err = k.InsertForecasts(ctx, topicId, nonce, allForecasts) + err = k.InsertForecasts(ctx, topicId, nonce.BlockHeight, allForecasts) s.Require().NoError(err) newForecast := types.Forecast{ @@ -3634,9 +3695,12 @@ func (s *KeeperTestSuite) TestAppendInference() { }, }, } - err = k.AppendForecast(ctx, topicId, nonce, &newForecast) + topic, err := k.GetTopic(ctx, topicId) + s.Require().NoError(err) + blockHeightInferences = blockHeightInferences + topic.EpochLength + err = k.AppendForecast(ctx, topic, blockHeightInferences, nonce.BlockHeight, &newForecast) s.Require().NoError(err) - newAllForecasts, err := k.GetForecastsAtBlock(ctx, topicId, blockHeightInferences) + newAllForecasts, err := k.GetForecastsAtBlock(ctx, topicId, nonce.BlockHeight) s.Require().NoError(err) s.Require().Equal(len(newAllForecasts.Forecasts), len(allForecasts.Forecasts)+1) params := types.Params{ @@ -3659,9 +3723,10 @@ func (s *KeeperTestSuite) TestAppendInference() { }, }, } - err = k.AppendForecast(ctx, topicId, nonce, &newInference2) + blockHeightInferences = blockHeightInferences + topic.EpochLength + err = k.AppendForecast(ctx, topic, blockHeightInferences, nonce.BlockHeight, &newInference2) s.Require().NoError(err) - newAllForecasts, err = k.GetForecastsAtBlock(ctx, topicId, blockHeightInferences) + newAllForecasts, err = k.GetForecastsAtBlock(ctx, topicId, nonce.BlockHeight) s.Require().NoError(err) s.Require().Equal(uint64(len(newAllForecasts.Forecasts)), params.MaxTopInferersToReward) s.Require().Equal(newAllForecasts.Forecasts[1].Forecaster, worker3) @@ -3670,7 +3735,7 @@ func (s *KeeperTestSuite) TestAppendInference() { func (s *KeeperTestSuite) TestAppendReputerLoss() { ctx := s.ctx k := s.emissionsKeeper - topicId := uint64(1) + topicId := s.CreateOneTopic(10800) blockHeight := int64(10) nonce := types.Nonce{BlockHeight: blockHeight} reputerRequestNonce := &types.ReputerRequestNonce{ @@ -3738,7 +3803,10 @@ func (s *KeeperTestSuite) TestAppendReputerLoss() { TopicId: topicId, }, } - err = k.AppendReputerLoss(ctx, topicId, nonce.BlockHeight, &newReputerLoss) + topic, err := k.GetTopic(ctx, topicId) + s.Require().NoError(err) + blockHeight = blockHeight + topic.EpochLength + err = k.AppendReputerLoss(ctx, topic, blockHeight, nonce.BlockHeight, &newReputerLoss) s.Require().NoError(err) newAllReputerLosses, err := k.GetReputerLossBundlesAtBlock(ctx, topicId, nonce.BlockHeight) s.Require().NoError(err) @@ -3757,7 +3825,8 @@ func (s *KeeperTestSuite) TestAppendReputerLoss() { TopicId: topicId, }, } - err = k.AppendReputerLoss(ctx, topicId, nonce.BlockHeight, &newReputerLoss2) + blockHeight = blockHeight + topic.EpochLength + err = k.AppendReputerLoss(ctx, topic, blockHeight, nonce.BlockHeight, &newReputerLoss2) s.Require().NoError(err) newAllReputerLosses, err = k.GetReputerLossBundlesAtBlock(ctx, topicId, nonce.BlockHeight) s.Require().NoError(err) diff --git a/x/emissions/keeper/msgserver/msg_server_reputer_payload.go b/x/emissions/keeper/msgserver/msg_server_reputer_payload.go index 0a51692bc..6c522ebd1 100644 --- a/x/emissions/keeper/msgserver/msg_server_reputer_payload.go +++ b/x/emissions/keeper/msgserver/msg_server_reputer_payload.go @@ -31,8 +31,8 @@ func (ms msgServer) InsertReputerPayload(ctx context.Context, msg *types.MsgInse topicId := msg.ReputerValueBundle.ValueBundle.TopicId // Check if the topic exists - topicExists, err := ms.k.TopicExists(ctx, topicId) - if err != nil || !topicExists { + topic, err := ms.k.GetTopic(ctx, topicId) + if err != nil { return nil, types.ErrInvalidTopicId } @@ -56,28 +56,40 @@ func (ms msgServer) InsertReputerPayload(ctx context.Context, msg *types.MsgInse return nil, types.ErrUnfulfilledNonceNotFound } - topic, err := ms.k.GetTopic(ctx, topicId) - if err != nil { - return nil, types.ErrInvalidTopicId - } - // Check if the ground truth lag has passed: if blockheight > nonce.BlockHeight + topic.GroundTruthLag - if blockHeight < nonce.ReputerNonce.BlockHeight+topic.GroundTruthLag || - blockHeight > nonce.ReputerNonce.BlockHeight+topic.GroundTruthLag*2 { + if !ms.k.BlockWithinReputerSubmissionWindowOfNonce(topic, *nonce, blockHeight) { return nil, types.ErrReputerNonceWindowNotAvailable } - // Before creating topic, transfer fee amount from creator to ecosystem bucket + isRegistered, err := ms.k.IsReputerRegisteredInTopic(ctx, topicId, msg.ReputerValueBundle.ValueBundle.Reputer) + if err != nil { + return nil, err + } + if !isRegistered { + return nil, errorsmod.Wrapf(types.ErrAddressNotRegistered, "reputer is not registered in this topic") + } + params, err := ms.k.GetParams(ctx) if err != nil { return nil, errorsmod.Wrapf(err, "Error getting params for sender: %v", &msg.Sender) } + + // Check that the reputer enough stake in the topic + stake, err := ms.k.GetStakeReputerAuthority(ctx, topicId, msg.ReputerValueBundle.ValueBundle.Reputer) + if err != nil { + return nil, err + } + if stake.LT(params.RequiredMinimumStake) { + return nil, errorsmod.Wrapf(types.ErrInsufficientStake, "reputer does not have sufficient stake in the topic") + } + + // Before accepting data, transfer fee amount from sender to ecosystem bucket err = sendEffectiveRevenueActivateTopicIfWeightSufficient(ctx, ms, msg.Sender, topicId, params.DataSendingFee) if err != nil { return nil, err } - err = ms.k.AppendReputerLoss(ctx, topicId, nonce.ReputerNonce.BlockHeight, msg.ReputerValueBundle) + err = ms.k.AppendReputerLoss(ctx, topic, blockHeight, nonce.ReputerNonce.BlockHeight, msg.ReputerValueBundle) if err != nil { return nil, err } diff --git a/x/emissions/keeper/msgserver/msg_server_reputer_payload_test.go b/x/emissions/keeper/msgserver/msg_server_reputer_payload_test.go index 3209cf3b1..bd493d83c 100644 --- a/x/emissions/keeper/msgserver/msg_server_reputer_payload_test.go +++ b/x/emissions/keeper/msgserver/msg_server_reputer_payload_test.go @@ -160,10 +160,10 @@ func (s *MsgServerTestSuite) TestMsgInsertReputerPayloadFailsEarlyWindow() { reputerValueBundle, expectedInferences, expectedForecasts, topicId := s.setUpMsgReputerPayload(reputerAddr, workerAddr) - err := keeper.InsertForecasts(ctx, topicId, types.Nonce{BlockHeight: block}, expectedForecasts) + err := keeper.InsertForecasts(ctx, topicId, block, expectedForecasts) require.NoError(err) - err = keeper.InsertInferences(ctx, topicId, types.Nonce{BlockHeight: block}, expectedInferences) + err = keeper.InsertInferences(ctx, topicId, block, expectedInferences) require.NoError(err) topic, err := s.emissionsKeeper.GetTopic(s.ctx, topicId) @@ -176,24 +176,17 @@ func (s *MsgServerTestSuite) TestMsgInsertReputerPayloadFailsEarlyWindow() { err = s.constructAndInsertReputerPayload(reputerAddr, reputerPrivateKey, reputerPublicKeyBytes, &reputerValueBundle) require.ErrorIs(err, types.ErrReputerNonceWindowNotAvailable) - // Valid reputer nonce window, start - newBlockheight = block + topic.GroundTruthLag + // Valid reputer nonce window, end + newBlockheight = block + topic.GroundTruthLag*2 + 1 s.ctx = sdk.UnwrapSDKContext(s.ctx).WithBlockHeight(newBlockheight) - err = s.constructAndInsertReputerPayload(reputerAddr, reputerPrivateKey, reputerPublicKeyBytes, &reputerValueBundle) - require.NoError(err) + require.ErrorIs(err, types.ErrReputerNonceWindowNotAvailable) // Valid reputer nonce window, end newBlockheight = block + topic.GroundTruthLag*2 s.ctx = sdk.UnwrapSDKContext(s.ctx).WithBlockHeight(newBlockheight) err = s.constructAndInsertReputerPayload(reputerAddr, reputerPrivateKey, reputerPublicKeyBytes, &reputerValueBundle) require.NoError(err) - - // Valid reputer nonce window, end - newBlockheight = block + topic.GroundTruthLag*2 + 1 - s.ctx = sdk.UnwrapSDKContext(s.ctx).WithBlockHeight(newBlockheight) - err = s.constructAndInsertReputerPayload(reputerAddr, reputerPrivateKey, reputerPublicKeyBytes, &reputerValueBundle) - require.ErrorIs(err, types.ErrReputerNonceWindowNotAvailable) } func (s *MsgServerTestSuite) TestMsgInsertReputerPayloadReputerNotMatchSignature() { @@ -210,10 +203,10 @@ func (s *MsgServerTestSuite) TestMsgInsertReputerPayloadReputerNotMatchSignature reputerValueBundle, expectedInferences, expectedForecasts, topicId := s.setUpMsgReputerPayload(reputerAddr, workerAddr) - err := keeper.InsertForecasts(ctx, topicId, types.Nonce{BlockHeight: block}, expectedForecasts) + err := keeper.InsertForecasts(ctx, topicId, block, expectedForecasts) require.NoError(err) - err = keeper.InsertInferences(ctx, topicId, types.Nonce{BlockHeight: block}, expectedInferences) + err = keeper.InsertInferences(ctx, topicId, block, expectedInferences) require.NoError(err) topic, err := s.emissionsKeeper.GetTopic(s.ctx, topicId) diff --git a/x/emissions/keeper/msgserver/msg_server_topics.go b/x/emissions/keeper/msgserver/msg_server_topics.go index 8d410042d..52ccd04c0 100644 --- a/x/emissions/keeper/msgserver/msg_server_topics.go +++ b/x/emissions/keeper/msgserver/msg_server_topics.go @@ -36,19 +36,23 @@ func (ms msgServer) CreateNewTopic(ctx context.Context, msg *types.MsgCreateNewT } topic := types.Topic{ - Id: topicId, - Creator: msg.Creator, - Metadata: msg.Metadata, - LossMethod: msg.LossMethod, - EpochLastEnded: 0, - EpochLength: msg.EpochLength, - GroundTruthLag: msg.GroundTruthLag, - WorkerSubmissionWindow: msg.WorkerSubmissionWindow, - PNorm: msg.PNorm, - AlphaRegret: msg.AlphaRegret, - AllowNegative: msg.AllowNegative, - Epsilon: msg.Epsilon, - InitialRegret: alloraMath.ZeroDec(), + Id: topicId, + Creator: msg.Creator, + Metadata: msg.Metadata, + LossMethod: msg.LossMethod, + EpochLastEnded: 0, + EpochLength: msg.EpochLength, + GroundTruthLag: msg.GroundTruthLag, + WorkerSubmissionWindow: msg.WorkerSubmissionWindow, + PNorm: msg.PNorm, + AlphaRegret: msg.AlphaRegret, + AllowNegative: msg.AllowNegative, + Epsilon: msg.Epsilon, + InitialRegret: alloraMath.ZeroDec(), + MeritSortitionAlpha: msg.MeritSortitionAlpha, + ActiveInfererQuantile: msg.ActiveInfererQuantile, + ActiveForecasterQuantile: msg.ActiveForecasterQuantile, + ActiveReputerQuantile: msg.ActiveReputerQuantile, } _, err = ms.k.IncrementTopicId(ctx) if err != nil { diff --git a/x/emissions/keeper/msgserver/msg_server_worker_payload.go b/x/emissions/keeper/msgserver/msg_server_worker_payload.go index 5fcc74a26..46c23fa9d 100644 --- a/x/emissions/keeper/msgserver/msg_server_worker_payload.go +++ b/x/emissions/keeper/msgserver/msg_server_worker_payload.go @@ -11,6 +11,9 @@ import ( // A tx function that accepts a individual inference and forecast and possibly returns an error // Need to call this once per forecaster per topic inference solicitation round because protobuf does not nested repeated fields +// Only 1 payload per registered worker is kept, ignore the rest. In particular, take the first payload from each +// registered worker and none from any unregistered actor. +// Signatures, anti-sybil procedures, and "skimming of only the top few workers by EMA score descending" should be done here. func (ms msgServer) InsertWorkerPayload(ctx context.Context, msg *types.MsgInsertWorkerPayload) (*types.MsgInsertWorkerPayloadResponse, error) { sdkCtx := sdk.UnwrapSDKContext(ctx) blockHeight := sdkCtx.BlockHeight() @@ -31,9 +34,9 @@ func (ms msgServer) InsertWorkerPayload(ctx context.Context, msg *types.MsgInser nonce := msg.WorkerDataBundle.Nonce topicId := msg.WorkerDataBundle.TopicId - // Check if the topic exists - topicExists, err := ms.k.TopicExists(ctx, topicId) - if err != nil || !topicExists { + // Check if the topic exists. Will throw if topic does not exist + topic, err := ms.k.GetTopic(ctx, topicId) + if err != nil { return nil, types.ErrInvalidTopicId } // Check if the nonce is unfulfilled @@ -46,14 +49,8 @@ func (ms msgServer) InsertWorkerPayload(ctx context.Context, msg *types.MsgInser return nil, types.ErrUnfulfilledNonceNotFound } - topic, err := ms.k.GetTopic(ctx, topicId) - if err != nil { - return nil, types.ErrInvalidTopicId - } - // Check if the window time is open - if blockHeight < nonce.BlockHeight || - blockHeight > nonce.BlockHeight+topic.WorkerSubmissionWindow { + if !ms.k.BlockWithinWorkerSubmissionWindowOfNonce(topic, *nonce, blockHeight) { return nil, errorsmod.Wrapf( types.ErrWorkerNonceWindowNotAvailable, "Worker window not open for topic: %d, current block %d , nonce block height: %d , start window: %d, end window: %d", @@ -61,7 +58,15 @@ func (ms msgServer) InsertWorkerPayload(ctx context.Context, msg *types.MsgInser ) } - // Before creating topic, transfer fee amount from creator to ecosystem bucket + isInfererRegistered, err := ms.k.IsWorkerRegisteredInTopic(ctx, topicId, msg.WorkerDataBundle.Worker) + if err != nil { + return nil, err + } + if !isInfererRegistered { + return nil, errorsmod.Wrapf(types.ErrAddressNotRegistered, "worker is not registered in this topic") + } + + // Before accepting data, transfer fee amount from sender to ecosystem bucket params, err := ms.k.GetParams(ctx) if err != nil { return nil, errorsmod.Wrapf(err, "Error getting params for sender: %v", &msg.Sender) @@ -81,15 +86,8 @@ func (ms msgServer) InsertWorkerPayload(ctx context.Context, msg *types.MsgInser return nil, errorsmod.Wrapf(types.ErrInvalidTopicId, "inferer not using the same topic as bundle") } - isInfererRegistered, err := ms.k.IsWorkerRegisteredInTopic(ctx, topicId, inference.Inferer) - if err != nil { - return nil, err - } - if !isInfererRegistered { - return nil, errorsmod.Wrapf(types.ErrAddressNotRegistered, - "inferer address is not registered in this topic") - } - err = ms.k.AppendInference(ctx, topicId, *nonce, inference) + + err = ms.k.AppendInference(ctx, topic, blockHeight, nonce.BlockHeight, inference) if err != nil { return nil, errorsmod.Wrapf(err, "Error appending inference") } @@ -104,17 +102,8 @@ func (ms msgServer) InsertWorkerPayload(ctx context.Context, msg *types.MsgInser if forecast.TopicId != msg.WorkerDataBundle.TopicId { return nil, errorsmod.Wrapf(types.ErrInvalidTopicId, "forecaster not using the same topic as bundle") } - isForecasterRegistered, err := ms.k.IsWorkerRegisteredInTopic(ctx, topicId, forecast.Forecaster) - if err != nil { - return nil, errorsmod.Wrapf(err, - "error checking if forecaster address is registered in this topic") - } - if !isForecasterRegistered { - return nil, errorsmod.Wrapf(types.ErrAddressNotRegistered, - "forecaster address is not registered in this topic") - } - // LImit forecast elements for top inferers + // Limit forecast elements to top inferers latestScoresForForecastedInferers := make([]types.Score, 0) for _, el := range forecast.ForecastElements { score, err := ms.k.GetInfererScoreEma(ctx, forecast.TopicId, el.Inferer) @@ -159,7 +148,7 @@ func (ms msgServer) InsertWorkerPayload(ctx context.Context, msg *types.MsgInser if len(acceptedForecastElements) > 0 { forecast.ForecastElements = acceptedForecastElements - err = ms.k.AppendForecast(ctx, topicId, *nonce, forecast) + err = ms.k.AppendForecast(ctx, topic, blockHeight, nonce.BlockHeight, forecast) if err != nil { return nil, errorsmod.Wrapf(err, "Error appending forecast") diff --git a/x/emissions/keeper/msgserver/msg_server_worker_payload_test.go b/x/emissions/keeper/msgserver/msg_server_worker_payload_test.go index 15708a9c0..04bf4c857 100644 --- a/x/emissions/keeper/msgserver/msg_server_worker_payload_test.go +++ b/x/emissions/keeper/msgserver/msg_server_worker_payload_test.go @@ -16,11 +16,16 @@ func getNewAddress() string { func (s *MsgServerTestSuite) setUpMsgInsertWorkerPayload( workerPrivateKey secp256k1.PrivKey, - +) (types.MsgInsertWorkerPayload, uint64) { + return s.setUpMsgInsertWorkerPayloadWithBlockHeight(workerPrivateKey, 1) +} +func (s *MsgServerTestSuite) setUpMsgInsertWorkerPayloadWithBlockHeight( + workerPrivateKey secp256k1.PrivKey, + blockHeight int64, ) (types.MsgInsertWorkerPayload, uint64) { ctx := s.ctx keeper := s.emissionsKeeper - nonce := types.Nonce{BlockHeight: 1} + nonce := types.Nonce{BlockHeight: blockHeight} topicId := s.CreateOneTopic() // Define sample OffchainNode information for a worker @@ -99,7 +104,6 @@ func (s *MsgServerTestSuite) setUpMsgInsertWorkerPayload( return workerMsg, topicId } - func (s *MsgServerTestSuite) signMsgInsertWorkerPayload(workerMsg types.MsgInsertWorkerPayload, workerPrivateKey secp256k1.PrivKey) types.MsgInsertWorkerPayload { require := s.Require() @@ -290,15 +294,9 @@ func (s *MsgServerTestSuite) TestMsgInsertWorkerPayloadWithFewTopElementsPerFore _, err := s.msgServer.UpdateParams(s.ctx, updateMsg) require.NoError(err, "UpdateParams should not return an error") - workerMsg, topicId := s.setUpMsgInsertWorkerPayload(workerPrivateKey) - - workerMsg = s.signMsgInsertWorkerPayload(workerMsg, workerPrivateKey) - - blockHeight := workerMsg.WorkerDataBundle.InferenceForecastsBundle.Forecast.BlockHeight - - param, _ := s.emissionsKeeper.GetParams(ctx) - - ctx = ctx.WithBlockHeight(blockHeight) + blockHeight := int64(1) + workerBlockHeight := blockHeight + 10800 + workerMsg, topicId := s.setUpMsgInsertWorkerPayloadWithBlockHeight(workerPrivateKey, workerBlockHeight) inferer1 := workerMsg.WorkerDataBundle.InferenceForecastsBundle.Forecast.ForecastElements[0].Inferer inferer2 := workerMsg.WorkerDataBundle.InferenceForecastsBundle.Forecast.ForecastElements[1].Inferer @@ -315,10 +313,16 @@ func (s *MsgServerTestSuite) TestMsgInsertWorkerPayloadWithFewTopElementsPerFore _ = s.emissionsKeeper.SetInfererScoreEma(ctx, topicId, inferer3, score3) _ = s.emissionsKeeper.SetInfererScoreEma(ctx, topicId, inferer4, score4) + workerMsg = s.signMsgInsertWorkerPayload(workerMsg, workerPrivateKey) + + param, _ := s.emissionsKeeper.GetParams(ctx) + + ctx = ctx.WithBlockHeight(workerBlockHeight) + _, err = msgServer.InsertWorkerPayload(ctx, &workerMsg) require.NoError(err, "InsertWorkerPayload should not return an error") - forecasts, err := s.emissionsKeeper.GetForecastsAtBlock(ctx, topicId, blockHeight) + forecasts, err := s.emissionsKeeper.GetForecastsAtBlock(ctx, topicId, workerBlockHeight) require.NoError(err) @@ -635,13 +639,12 @@ func (s *MsgServerTestSuite) TestMsgInsertWorkerPayloadWithLowScoreForecastsAreR _, err := s.msgServer.UpdateParams(s.ctx, updateMsg) require.NoError(err, "UpdateParams should not return an error") - workerMsg, topicId := s.setUpMsgInsertWorkerPayload(workerPrivateKey) + blockHeight := int64(1) + inferenceBlockHeight := blockHeight + 10800 + workerMsg, topicId := s.setUpMsgInsertWorkerPayloadWithBlockHeight(workerPrivateKey, inferenceBlockHeight) workerMsg = s.signMsgInsertWorkerPayload(workerMsg, workerPrivateKey) - - blockHeight := workerMsg.WorkerDataBundle.InferenceForecastsBundle.Forecast.BlockHeight ctx = ctx.WithBlockHeight(blockHeight) - inferer1 := workerMsg.WorkerDataBundle.InferenceForecastsBundle.Forecast.ForecastElements[0].Inferer inferer2 := workerMsg.WorkerDataBundle.InferenceForecastsBundle.Forecast.ForecastElements[1].Inferer inferer3 := workerMsg.WorkerDataBundle.InferenceForecastsBundle.Forecast.ForecastElements[2].Inferer @@ -657,12 +660,15 @@ func (s *MsgServerTestSuite) TestMsgInsertWorkerPayloadWithLowScoreForecastsAreR _ = keeper.SetInfererScoreEma(ctx, topicId, inferer3, score3) _ = keeper.SetInfererScoreEma(ctx, topicId, inferer4, score4) + blockHeight = blockHeight + workerMsg.WorkerDataBundle.InferenceForecastsBundle.Forecast.BlockHeight + ctx = ctx.WithBlockHeight(blockHeight) + _, err = msgServer.InsertWorkerPayload(ctx, &workerMsg) require.NoError(err, "InsertWorkerPayload should not return an error even if the forecast elements are below the threshold") - forecastsCount0 := s.getCountForecastsAtBlock(topicId, blockHeight) + forecastsCount0 := s.getCountForecastsAtBlock(topicId, inferenceBlockHeight) require.Equal(forecastsCount0, 1) - forecastsAtBlock, err := keeper.GetForecastsAtBlock(ctx, topicId, blockHeight) + forecastsAtBlock, err := keeper.GetForecastsAtBlock(ctx, topicId, inferenceBlockHeight) require.NoError(err) require.Equal(len(forecastsAtBlock.Forecasts[0].ForecastElements), 3) require.Equal(forecastsAtBlock.Forecasts[0].ForecastElements[0].Inferer, inferer1) @@ -670,84 +676,6 @@ func (s *MsgServerTestSuite) TestMsgInsertWorkerPayloadWithLowScoreForecastsAreR require.Equal(forecastsAtBlock.Forecasts[0].ForecastElements[2].Inferer, inferer3) } -func (s *MsgServerTestSuite) TestMsgInsertWorkerPayloadWithInferencesRepeatedlyOverwritesPreviousValue() { - ctx, msgServer := s.ctx, s.msgServer - require := s.Require() - keeper := s.emissionsKeeper - - workerPrivateKey := secp256k1.GenPrivKey() - - workerMsg, topicId := s.setUpMsgInsertWorkerPayload(workerPrivateKey) - // BEGIN MODIFICATION - workerMsg.WorkerDataBundle.InferenceForecastsBundle.Inference.Value = alloraMath.NewDecFromInt64(100) - // END MODIFICATION - workerMsg = s.signMsgInsertWorkerPayload(workerMsg, workerPrivateKey) - - blockHeight := workerMsg.WorkerDataBundle.InferenceForecastsBundle.Inference.BlockHeight - ctx = ctx.WithBlockHeight(blockHeight) - - _, err := msgServer.InsertWorkerPayload(ctx, &workerMsg) - require.NoError(err, "InsertWorkerPayload should not return an error") - - inferences, err := keeper.GetInferencesAtBlock(ctx, topicId, blockHeight) - require.NoError(err) - require.Equal(len(inferences.Inferences), 1) - require.Equal(inferences.Inferences[0].Value, alloraMath.NewDecFromInt64(100)) - - // Repeat the same inference with a different inference value and check if it overwrites the previous value - // BEGIN MODIFICATION - workerMsg.WorkerDataBundle.InferenceForecastsBundle.Inference.Value = alloraMath.NewDecFromInt64(200) - // END MODIFICATION - workerMsg = s.signMsgInsertWorkerPayload(workerMsg, workerPrivateKey) - - _, err = msgServer.InsertWorkerPayload(ctx, &workerMsg) - require.NoError(err, "InsertWorkerPayload should not return an error") - - inferences, err = keeper.GetInferencesAtBlock(ctx, topicId, blockHeight) - require.NoError(err) - require.Equal(len(inferences.Inferences), 1) - require.Equal(inferences.Inferences[0].Value, alloraMath.NewDecFromInt64(200)) -} - -func (s *MsgServerTestSuite) TestMsgInsertWorkerPayloadWithForecastRepeatedlyOverwritesPreviousValue() { - ctx, msgServer := s.ctx, s.msgServer - require := s.Require() - keeper := s.emissionsKeeper - - workerPrivateKey := secp256k1.GenPrivKey() - - workerMsg, topicId := s.setUpMsgInsertWorkerPayload(workerPrivateKey) - // BEGIN MODIFICATION - workerMsg.WorkerDataBundle.InferenceForecastsBundle.Forecast.ForecastElements[0].Value = alloraMath.NewDecFromInt64(100) - // END MODIFICATION - workerMsg = s.signMsgInsertWorkerPayload(workerMsg, workerPrivateKey) - - blockHeight := workerMsg.WorkerDataBundle.InferenceForecastsBundle.Forecast.BlockHeight - ctx = ctx.WithBlockHeight(blockHeight) - - _, err := msgServer.InsertWorkerPayload(ctx, &workerMsg) - require.NoError(err, "InsertWorkerPayload should not return an error") - - forecasts, err := keeper.GetForecastsAtBlock(ctx, topicId, blockHeight) - require.NoError(err) - require.Equal(len(forecasts.Forecasts[0].ForecastElements), 4) - require.Equal(forecasts.Forecasts[0].ForecastElements[0].Value, alloraMath.NewDecFromInt64(100)) - - // Repeat the same forecast with a different forecast value and check if it overwrites the previous value - // BEGIN MODIFICATION - workerMsg.WorkerDataBundle.InferenceForecastsBundle.Forecast.ForecastElements[0].Value = alloraMath.NewDecFromInt64(200) - // END MODIFICATION - workerMsg = s.signMsgInsertWorkerPayload(workerMsg, workerPrivateKey) - - _, err = msgServer.InsertWorkerPayload(ctx, &workerMsg) - require.NoError(err, "InsertWorkerPayload should not return an error") - - forecasts, err = keeper.GetForecastsAtBlock(ctx, topicId, blockHeight) - require.NoError(err) - require.Equal(len(forecasts.Forecasts[0].ForecastElements), 4) - require.Equal(forecasts.Forecasts[0].ForecastElements[0].Value, alloraMath.NewDecFromInt64(200)) -} - // test that the inferer address inside the bundle matches the signature on the payload message func (s *MsgServerTestSuite) TestMsgInsertWorkerPayloadInfererNotMatchSignature() { ctx, msgServer := s.ctx, s.msgServer diff --git a/x/emissions/keeper/queryserver/query_server_forecasts_test.go b/x/emissions/keeper/queryserver/query_server_forecasts_test.go index 71b5a52a6..ea2f6f437 100644 --- a/x/emissions/keeper/queryserver/query_server_forecasts_test.go +++ b/x/emissions/keeper/queryserver/query_server_forecasts_test.go @@ -26,7 +26,7 @@ func (s *QueryServerTestSuite) TestGetForecastsAtBlock() { // Assume InsertForecasts correctly sets up forecasts nonce := types.Nonce{BlockHeight: blockHeight} - err := keeper.InsertForecasts(ctx, topicId, nonce, expectedForecasts) + err := keeper.InsertForecasts(ctx, topicId, nonce.BlockHeight, expectedForecasts) s.Require().NoError(err) results, err := queryserver.GetForecastsAtBlock( diff --git a/x/emissions/keeper/queryserver/query_server_inferences_test.go b/x/emissions/keeper/queryserver/query_server_inferences_test.go index 2a6ea8772..adcf8d943 100644 --- a/x/emissions/keeper/queryserver/query_server_inferences_test.go +++ b/x/emissions/keeper/queryserver/query_server_inferences_test.go @@ -32,7 +32,7 @@ func (s *QueryServerTestSuite) TestGetInferencesAtBlock() { } nonce := types.Nonce{BlockHeight: blockHeight} - err := keeper.InsertInferences(ctx, topicId, nonce, expectedInferences) + err := keeper.InsertInferences(ctx, topicId, nonce.BlockHeight, expectedInferences) s.Require().NoError(err) results, err := queryServer.GetInferencesAtBlock( @@ -91,7 +91,7 @@ func (s *QueryServerTestSuite) TestGetWorkerLatestInferenceByTopicId() { Inferences: []*types.Inference{&inference}, } nonce := types.Nonce{BlockHeight: blockHeight} - err = keeper.InsertInferences(ctx, topicId, nonce, inferences) + err = keeper.InsertInferences(ctx, topicId, nonce.BlockHeight, inferences) s.Require().NoError(err, "Inserting inferences should succeed") // Testing successful retrieval @@ -236,7 +236,7 @@ func (s *QueryServerTestSuite) TestGetNetworkInferencesAtBlock() { }, } - err = keeper.InsertInferences(s.ctx, topicId, simpleNonce, inferences) + err = keeper.InsertInferences(s.ctx, topicId, simpleNonce.BlockHeight, inferences) s.Require().NoError(err) // Set actual block @@ -359,7 +359,7 @@ func (s *QueryServerTestSuite) TestGetLatestNetworkInferences() { }, } - err = keeper.InsertInferences(s.ctx, topicId, inferenceNonce, inferences) + err = keeper.InsertInferences(s.ctx, topicId, inferenceNonce.BlockHeight, inferences) s.Require().NoError(err) // Set Forecasts @@ -404,7 +404,7 @@ func (s *QueryServerTestSuite) TestGetLatestNetworkInferences() { }, } - err = keeper.InsertForecasts(s.ctx, topicId, inferenceNonce, forecasts) + err = keeper.InsertForecasts(s.ctx, topicId, inferenceNonce.BlockHeight, forecasts) require.NoError(err) // Update epoch topic epoch last ended @@ -603,7 +603,7 @@ func (s *QueryServerTestSuite) TestGetLatestTopicInferences() { Inferences: []*types.Inference{&newInference1}, } nonce1 := types.Nonce{BlockHeight: blockHeight1} - err = keeper.InsertInferences(ctx, topicId, nonce1, inferences1) + err = keeper.InsertInferences(ctx, topicId, nonce1.BlockHeight, inferences1) s.Require().NoError(err, "Inserting first set of inferences should not fail") // Insert second set of inferences @@ -620,7 +620,7 @@ func (s *QueryServerTestSuite) TestGetLatestTopicInferences() { Inferences: []*types.Inference{&newInference2}, } nonce2 := types.Nonce{BlockHeight: blockHeight2} - err = keeper.InsertInferences(ctx, topicId, nonce2, inferences2) + err = keeper.InsertInferences(ctx, topicId, nonce2.BlockHeight, inferences2) s.Require().NoError(err, "Inserting second set of inferences should not fail") // Retrieve the latest inferences @@ -787,20 +787,20 @@ func (s *QueryServerTestSuite) TestGetLatestAvailableNetworkInference() { } // insert inferences and forecasts 1 - err = keeper.InsertInferences(s.ctx, topicId, inferenceNonce, getInferencesForBlockHeight(inferenceBlockHeight)) + err = keeper.InsertInferences(s.ctx, topicId, inferenceNonce.BlockHeight, getInferencesForBlockHeight(inferenceBlockHeight)) s.Require().NoError(err) - err = keeper.InsertForecasts(s.ctx, topicId, inferenceNonce, getForecastsForBlockHeight(inferenceBlockHeight)) + err = keeper.InsertForecasts(s.ctx, topicId, inferenceNonce.BlockHeight, getForecastsForBlockHeight(inferenceBlockHeight)) require.NoError(err) err = keeper.SetWorkerTopicLastCommit(s.ctx, topicId, inferenceBlockHeight, &inferenceNonce) s.Require().NoError(err) // insert inferences and forecasts 2 - err = keeper.InsertInferences(s.ctx, topicId, inferenceNonce2, getInferencesForBlockHeight(inferenceBlockHeight2)) + err = keeper.InsertInferences(s.ctx, topicId, inferenceNonce2.BlockHeight, getInferencesForBlockHeight(inferenceBlockHeight2)) s.Require().NoError(err) - err = keeper.InsertForecasts(s.ctx, topicId, inferenceNonce2, getForecastsForBlockHeight(inferenceBlockHeight2)) + err = keeper.InsertForecasts(s.ctx, topicId, inferenceNonce2.BlockHeight, getForecastsForBlockHeight(inferenceBlockHeight2)) require.NoError(err) err = keeper.SetWorkerTopicLastCommit(s.ctx, topicId, inferenceBlockHeight2, &inferenceNonce2) @@ -981,10 +981,10 @@ func (s *QueryServerTestSuite) TestTestGetLatestAvailableNetworkInferenceWithMis // dont insert inferences at the blockheight that matches with the losses - err = keeper.InsertInferences(s.ctx, topicId, inferenceNonce2, getInferencesForBlockHeight(inferenceBlockHeight2)) + err = keeper.InsertInferences(s.ctx, topicId, inferenceNonce2.BlockHeight, getInferencesForBlockHeight(inferenceBlockHeight2)) s.Require().NoError(err) - err = keeper.InsertForecasts(s.ctx, topicId, inferenceNonce2, getForecastsForBlockHeight(inferenceBlockHeight2)) + err = keeper.InsertForecasts(s.ctx, topicId, inferenceNonce2.BlockHeight, getForecastsForBlockHeight(inferenceBlockHeight2)) require.NoError(err) // Update epoch topic epoch last ended diff --git a/x/emissions/keeper/queryserver/query_server_score.go b/x/emissions/keeper/queryserver/query_server_score.go index 18667b73d..e6f0af1a3 100644 --- a/x/emissions/keeper/queryserver/query_server_score.go +++ b/x/emissions/keeper/queryserver/query_server_score.go @@ -3,6 +3,8 @@ package queryserver import ( "context" + errorsmod "cosmossdk.io/errors" + emissionskeeper "github.com/allora-network/allora-chain/x/emissions/keeper" "github.com/allora-network/allora-chain/x/emissions/types" ) @@ -51,6 +53,39 @@ func (qs queryServer) GetReputerScoreEma( return &types.QueryGetReputerScoreEmaResponse{Score: &latestReputerScore}, nil } +func (qs queryServer) GetPreviousTopicQuantileForecasterScoreEma(ctx context.Context, req *types.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) ( + *types.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse, + error, +) { + previousQuantileForecasterScore, err := qs.k.GetPreviousTopicQuantileForecasterScoreEma(ctx, req.TopicId) + if err != nil { + return nil, err + } + return &types.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse{Value: previousQuantileForecasterScore}, nil +} + +func (qs queryServer) GetPreviousTopicQuantileInfererScoreEma(ctx context.Context, req *types.QueryGetPreviousTopicQuantileInfererScoreEmaRequest) ( + *types.QueryGetPreviousTopicQuantileInfererScoreEmaResponse, + error, +) { + previousQuantileInfererScore, err := qs.k.GetPreviousTopicQuantileInfererScoreEma(ctx, req.TopicId) + if err != nil { + return nil, err + } + return &types.QueryGetPreviousTopicQuantileInfererScoreEmaResponse{Value: previousQuantileInfererScore}, nil +} + +func (qs queryServer) GetPreviousTopicQuantileReputerScoreEma(ctx context.Context, req *types.QueryGetPreviousTopicQuantileReputerScoreEmaRequest) ( + *types.QueryGetPreviousTopicQuantileReputerScoreEmaResponse, + error, +) { + previousQuantileReputerScore, err := qs.k.GetPreviousTopicQuantileReputerScoreEma(ctx, req.TopicId) + if err != nil { + return nil, err + } + return &types.QueryGetPreviousTopicQuantileReputerScoreEmaResponse{Value: previousQuantileReputerScore}, nil +} + func (qs queryServer) GetInferenceScoresUntilBlock( ctx context.Context, req *types.QueryInferenceScoresUntilBlockRequest, @@ -81,6 +116,46 @@ func (qs queryServer) GetWorkerInferenceScoresAtBlock( return &types.QueryWorkerInferenceScoresAtBlockResponse{Scores: &workerInferenceScores}, nil } +func (qs queryServer) GetCurrentLowestInfererScore( + ctx context.Context, + req *types.QueryCurrentLowestInfererScoreRequest, +) ( + *types.QueryCurrentLowestInfererScoreResponse, + error, +) { + unfulfilledWorkerNonces, err := qs.k.GetUnfulfilledWorkerNonces(ctx, req.TopicId) + if err != nil { + return nil, err + } + if len(unfulfilledWorkerNonces.Nonces) == 0 { + return nil, + errorsmod.Wrap(types.ErrWorkerNonceWindowNotAvailable, + "no unfulfilled nonces right now, is the topic active?") + } + highestNonce := unfulfilledWorkerNonces.Nonces[0] + for _, nonce := range unfulfilledWorkerNonces.Nonces { + if nonce.BlockHeight > highestNonce.BlockHeight { + highestNonce = nonce + } + } + + inferences, err := qs.k.GetInferencesAtBlock(ctx, req.TopicId, highestNonce.BlockHeight) + if err != nil { + return nil, err + } + lowestInfererScore, _, err := emissionskeeper.GetLowScoreFromAllInferences( + ctx, + &qs.k, + req.TopicId, + *inferences, + ) + if err != nil { + return nil, err + } + + return &types.QueryCurrentLowestInfererScoreResponse{Score: &lowestInfererScore}, nil +} + func (qs queryServer) GetForecastScoresUntilBlock( ctx context.Context, req *types.QueryForecastScoresUntilBlockRequest, @@ -111,6 +186,49 @@ func (qs queryServer) GetWorkerForecastScoresAtBlock( return &types.QueryWorkerForecastScoresAtBlockResponse{Scores: &workerForecastScores}, nil } +func (qs queryServer) GetCurrentLowestForecasterScore( + ctx context.Context, + req *types.QueryCurrentLowestForecasterScoreRequest, +) ( + *types.QueryCurrentLowestForecasterScoreResponse, + error, +) { + unfulfilledWorkerNonces, err := qs.k.GetUnfulfilledWorkerNonces(ctx, req.TopicId) + if err != nil { + return nil, err + } + if len(unfulfilledWorkerNonces.Nonces) == 0 { + return nil, + errorsmod.Wrap(types.ErrWorkerNonceWindowNotAvailable, + "no unfulfilled nonces right now, is the topic active?") + } + highestNonce := unfulfilledWorkerNonces.Nonces[0] + for _, nonce := range unfulfilledWorkerNonces.Nonces { + if nonce.BlockHeight > highestNonce.BlockHeight { + highestNonce = nonce + } + } + forecasts, err := qs.k.GetForecastsAtBlock(ctx, req.TopicId, highestNonce.BlockHeight) + if err != nil { + return nil, err + } + if len(forecasts.Forecasts) == 0 { + return nil, errorsmod.Wrap(types.ErrInvalidLengthScore, "no scores found for this epoch") + } + + lowestForecasterScore, _, err := emissionskeeper.GetLowScoreFromAllForecasts( + ctx, + &qs.k, + req.TopicId, + *forecasts, + ) + if err != nil { + return nil, err + } + + return &types.QueryCurrentLowestForecasterScoreResponse{Score: &lowestForecasterScore}, nil +} + func (qs queryServer) GetReputersScoresAtBlock( ctx context.Context, req *types.QueryReputersScoresAtBlockRequest, @@ -126,6 +244,45 @@ func (qs queryServer) GetReputersScoresAtBlock( return &types.QueryReputersScoresAtBlockResponse{Scores: &reputersScores}, nil } +func (qs queryServer) GetCurrentLowestReputerScore( + ctx context.Context, + req *types.QueryCurrentLowestReputerScoreRequest, +) ( + *types.QueryCurrentLowestReputerScoreResponse, + error, +) { + unfulfilledReputerNonces, err := qs.k.GetUnfulfilledReputerNonces(ctx, req.TopicId) + if err != nil { + return nil, err + } + if len(unfulfilledReputerNonces.Nonces) == 0 { + return nil, + errorsmod.Wrap(types.ErrWorkerNonceWindowNotAvailable, + "no unfulfilled nonces right now, is the topic active?") + } + highestNonce := unfulfilledReputerNonces.Nonces[0] + for _, nonce := range unfulfilledReputerNonces.Nonces { + if nonce.ReputerNonce.BlockHeight > highestNonce.ReputerNonce.BlockHeight { + highestNonce = nonce + } + } + lossBundles, err := qs.k.GetReputerLossBundlesAtBlock(ctx, req.TopicId, highestNonce.ReputerNonce.BlockHeight) + if err != nil { + return nil, err + } + lowestReputerScore, _, err := emissionskeeper.GetLowScoreFromAllLossBundles( + ctx, + &qs.k, + req.TopicId, + *lossBundles, + ) + if err != nil { + return nil, err + } + + return &types.QueryCurrentLowestReputerScoreResponse{Score: &lowestReputerScore}, nil +} + func (qs queryServer) GetListeningCoefficient( ctx context.Context, req *types.QueryListeningCoefficientRequest, diff --git a/x/emissions/keeper/queryserver/query_server_score_test.go b/x/emissions/keeper/queryserver/query_server_score_test.go index 093dba878..19d0155c3 100644 --- a/x/emissions/keeper/queryserver/query_server_score_test.go +++ b/x/emissions/keeper/queryserver/query_server_score_test.go @@ -271,3 +271,188 @@ func (s *QueryServerTestSuite) TestGetListeningCoefficient() { s.Require().NoError(err, "Fetching coefficient should not fail after setting") s.Require().Equal(setCoef.Coefficient, fetchedCoef.Coefficient, "The fetched coefficient should match the set value") } + +func (s *QueryServerTestSuite) TestGetCurrentLowestInfererScore() { + ctx, keeper, require := s.ctx, s.emissionsKeeper, s.Require() + + topicId := uint64(1) + blockHeight := int64(100) + + // add a worker nonce at block height + nonce := types.Nonce{ + BlockHeight: blockHeight, + } + err := keeper.AddWorkerNonce(ctx, topicId, &nonce) + require.NoError(err, "Adding worker nonce should not fail") + + inferences := types.Inferences{ + Inferences: []*types.Inference{}, + } + for i := 0; i < 3; i++ { + inference := types.Inference{ + TopicId: topicId, + BlockHeight: blockHeight, + Value: alloraMath.ZeroDec(), + ExtraData: []byte{}, + Proof: "", + Inferer: "worker" + strconv.Itoa(i), + } + inferences.Inferences = append(inferences.Inferences, &inference) + } + err = keeper.InsertInferences(ctx, topicId, blockHeight, inferences) + require.NoError(err, "Inserting inferences should not fail") + for i := 0; i < 3; i++ { + score := types.Score{ + TopicId: topicId, + BlockHeight: blockHeight, + Address: "worker" + strconv.Itoa(i), + Score: alloraMath.NewDecFromInt64(int64(95 + i)), + } + err := keeper.InsertWorkerInferenceScore(ctx, topicId, blockHeight, score) + require.NoError(err, "Inserting worker inference score should not fail") + err = keeper.SetInfererScoreEma(ctx, topicId, "worker"+strconv.Itoa(i), score) + require.NoError(err, "Setting inferer score ema should not fail") + } + // call the query function + + req := &types.QueryCurrentLowestInfererScoreRequest{TopicId: topicId} + + response, err := s.queryServer.GetCurrentLowestInfererScore(ctx, req) + require.NoError(err, "Fetching current lowest inferer score should not fail") + + // verify the result + + require.True( + response.Score.Score.Equal(alloraMath.NewDecFromInt64(95)), + "The lowest score should be 95", + response.Score, + ) +} + +func (s *QueryServerTestSuite) TestGetCurrentLowestForecasterScore() { + ctx, keeper, require := s.ctx, s.emissionsKeeper, s.Require() + + topicId := uint64(1) + blockHeight := int64(100) + + // add a worker nonce at block height + nonce := types.Nonce{ + BlockHeight: blockHeight, + } + err := keeper.AddWorkerNonce(ctx, topicId, &nonce) + require.NoError(err, "Adding worker nonce should not fail") + + forecasts := types.Forecasts{ + Forecasts: []*types.Forecast{}, + } + for i := 0; i < 3; i++ { + forecast := types.Forecast{ + TopicId: topicId, + BlockHeight: blockHeight, + ExtraData: []byte{}, + Forecaster: "forecaster" + strconv.Itoa(i), + ForecastElements: []*types.ForecastElement{}, + } + forecasts.Forecasts = append(forecasts.Forecasts, &forecast) + } + err = keeper.InsertForecasts(ctx, topicId, blockHeight, forecasts) + require.NoError(err, "Inserting forecasts should not fail") + + for i := 0; i < 3; i++ { + score := types.Score{ + TopicId: topicId, + BlockHeight: blockHeight, + Address: "forecaster" + strconv.Itoa(i), + Score: alloraMath.NewDecFromInt64(int64(95 + i)), + } + err := keeper.InsertWorkerForecastScore(ctx, topicId, blockHeight, score) + require.NoError(err, "Inserting worker forecast score should not fail") + err = keeper.SetForecasterScoreEma(ctx, topicId, "forecaster"+strconv.Itoa(i), score) + require.NoError(err, "Setting forecaster score ema should not fail") + } + + // call the query function + req := &types.QueryCurrentLowestForecasterScoreRequest{TopicId: topicId} + + response, err := s.queryServer.GetCurrentLowestForecasterScore(ctx, req) + require.NoError(err, "Fetching current lowest forecaster score should not fail") + + // verify the result + require.True( + response.Score.Score.Equal(alloraMath.NewDecFromInt64(95)), + "The lowest score should be 95", + response.Score, + ) +} + +func (s *QueryServerTestSuite) TestGetCurrentLowestReputerScore() { + ctx, keeper, require := s.ctx, s.emissionsKeeper, s.Require() + + topicId := uint64(1) + blockHeight := int64(100) + + // add reputer nonce at block height + + reputerNonce := types.Nonce{ + BlockHeight: blockHeight, + } + err := keeper.AddReputerNonce(ctx, topicId, &reputerNonce) + require.NoError(err, "Adding reputer nonce should not fail") + + lossBundles := types.ReputerValueBundles{ + ReputerValueBundles: []*types.ReputerValueBundle{}, + } + for i := 0; i < 3; i++ { + lossBundle := types.ReputerValueBundle{ + ValueBundle: &types.ValueBundle{ + TopicId: topicId, + ReputerRequestNonce: &types.ReputerRequestNonce{ + ReputerNonce: &types.Nonce{ + BlockHeight: blockHeight, + }, + }, + Reputer: "reputer" + strconv.Itoa(i), + ExtraData: []byte{}, + CombinedValue: alloraMath.ZeroDec(), + InfererValues: []*types.WorkerAttributedValue{}, + ForecasterValues: []*types.WorkerAttributedValue{}, + NaiveValue: alloraMath.ZeroDec(), + OneOutInfererValues: []*types.WithheldWorkerAttributedValue{}, + OneOutForecasterValues: []*types.WithheldWorkerAttributedValue{}, + OneInForecasterValues: []*types.WorkerAttributedValue{}, + OneOutInfererForecasterValues: []*types.OneOutInfererForecasterValues{}, + }, + Signature: []byte{}, + Pubkey: "", + } + lossBundles.ReputerValueBundles = append(lossBundles.ReputerValueBundles, &lossBundle) + } + err = keeper.InsertReputerLossBundlesAtBlock(ctx, topicId, blockHeight, lossBundles) + require.NoError(err, "Inserting reputer loss bundles should not fail") + + for i := 0; i < 3; i++ { + score := types.Score{ + TopicId: topicId, + BlockHeight: blockHeight, + Address: "reputer" + strconv.Itoa(i), + Score: alloraMath.NewDecFromInt64(int64(95 + i)), + } + err := keeper.InsertReputerScore(ctx, topicId, blockHeight, score) + require.NoError(err, "Inserting reputer score should not fail") + err = keeper.SetReputerScoreEma(ctx, topicId, "reputer"+strconv.Itoa(i), score) + require.NoError(err, "Setting reputer score ema should not fail") + } + + // call the query function + req := &types.QueryCurrentLowestReputerScoreRequest{TopicId: topicId} + + response, err := s.queryServer.GetCurrentLowestReputerScore(ctx, req) + require.NoError(err, "Fetching current lowest reputer score should not fail") + + // verify the result + require.True( + response.Score.Score.Equal(alloraMath.NewDecFromInt64(95)), + "The lowest score should be 95", + response.Score, + ) +} diff --git a/x/emissions/keeper/score_utils.go b/x/emissions/keeper/score_utils.go index bfbde707f..5487766cb 100644 --- a/x/emissions/keeper/score_utils.go +++ b/x/emissions/keeper/score_utils.go @@ -12,9 +12,9 @@ func GetLowScoreFromAllLossBundles( k *Keeper, topicId TopicId, lossBundles types.ReputerValueBundles, -) (types.Score, int, error) { - lowScoreIndex := 0 - lowScore, err := k.GetReputerScoreEma(ctx, topicId, lossBundles.ReputerValueBundles[0].ValueBundle.Reputer) +) (lowScore types.Score, lowScoreIndex int, err error) { + lowScoreIndex = 0 + lowScore, err = k.GetReputerScoreEma(ctx, topicId, lossBundles.ReputerValueBundles[0].ValueBundle.Reputer) if err != nil { return types.Score{}, lowScoreIndex, err } @@ -37,9 +37,9 @@ func GetLowScoreFromAllInferences( k *Keeper, topicId TopicId, inferences types.Inferences, -) (types.Score, int, error) { - lowScoreIndex := 0 - lowScore, err := k.GetInfererScoreEma(ctx, topicId, inferences.Inferences[0].Inferer) +) (lowScore types.Score, lowScoreIndex int, err error) { + lowScoreIndex = 0 + lowScore, err = k.GetInfererScoreEma(ctx, topicId, inferences.Inferences[0].Inferer) if err != nil { return types.Score{}, lowScoreIndex, err } @@ -62,9 +62,9 @@ func GetLowScoreFromAllForecasts( k *Keeper, topicId TopicId, forecasts types.Forecasts, -) (types.Score, int, error) { - lowScoreIndex := 0 - lowScore, err := k.GetForecasterScoreEma(ctx, topicId, forecasts.Forecasts[0].Forecaster) +) (lowScore types.Score, lowScoreIndex int, err error) { + lowScoreIndex = 0 + lowScore, err = k.GetForecasterScoreEma(ctx, topicId, forecasts.Forecasts[0].Forecaster) if err != nil { return types.Score{}, lowScoreIndex, err } diff --git a/x/emissions/module/autocli.go b/x/emissions/module/autocli.go index a9219767a..2c17ad909 100644 --- a/x/emissions/module/autocli.go +++ b/x/emissions/module/autocli.go @@ -178,6 +178,22 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { {ProtoField: "forecaster"}, }, }, + { + RpcMethod: "GetPreviousTopicQuantileForecasterScoreEma", + Use: "topic-quantile-forecaster-score [topic_id]", + Short: "Returns topic-quantile score ema among the previous top forecasters by score EMA", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{ + {ProtoField: "topic_id"}, + }, + }, + { + RpcMethod: "GetCurrentLowestForecasterScore", + Use: "current-lowest-forecaster-score [topic_id]", + Short: "Returns current lowest score for a forecaster in a topic", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{ + {ProtoField: "topic_id"}, + }, + }, { RpcMethod: "GetInfererScoreEma", Use: "inferer-score-ema [topic_id] [inferer]", @@ -187,6 +203,22 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { {ProtoField: "inferer"}, }, }, + { + RpcMethod: "GetPreviousTopicQuantileInfererScoreEma", + Use: "topic-quantile-inferer-score [topic_id]", + Short: "Returns topic-quantile score ema among the previous top inferers by score EMA", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{ + {ProtoField: "topic_id"}, + }, + }, + { + RpcMethod: "GetCurrentLowestInfererScore", + Use: "current-lowest-inferer-score [topic_id]", + Short: "Returns current lowest score for a inferer in a topic", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{ + {ProtoField: "topic_id"}, + }, + }, { RpcMethod: "GetReputerScoreEma", Use: "reputer-score-ema [topic_id] [reputer]", @@ -196,6 +228,22 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { {ProtoField: "reputer"}, }, }, + { + RpcMethod: "GetPreviousTopicQuantileReputerScoreEma", + Use: "topic-quantile-reputer-score [topic_id]", + Short: "Returns topic-quantile score ema among the previous top reputers by score EMA", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{ + {ProtoField: "topic_id"}, + }, + }, + { + RpcMethod: "GetCurrentLowestReputerScore", + Use: "current-lowest-reputer-score [topic_id]", + Short: "Returns current lowest score for a reputer in a topic", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{ + {ProtoField: "topic_id"}, + }, + }, { RpcMethod: "GetLatestTopicInferences", Use: "latest-topic-raw-inferences [topic_id]", @@ -476,7 +524,7 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { }, { RpcMethod: "GetReputerNodeInfo", - Use: "reputer-info [addresss]", + Use: "reputer-info [address]", Short: "Get node info for reputer node", PositionalArgs: []*autocliv1.PositionalArgDescriptor{ {ProtoField: "address"}, @@ -631,7 +679,7 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { }, { RpcMethod: "CreateNewTopic", - Use: "create-topic [creator] [metadata] [loss_method] [epoch_length] [ground_truth_lag] [worker_submission_window] [p_norm] [alpha_regret] [allow_negative] [epsilon]", + Use: "create-topic [creator] [metadata] [loss_method] [epoch_length] [ground_truth_lag] [worker_submission_window] [p_norm] [alpha_regret] [allow_negative] [epsilon] [merit_sortition_alpha] [active_inferer_quantile] [active_forecaster_quantile] [active_reputer_quantile]", Short: "Add a new topic to the network", PositionalArgs: []*autocliv1.PositionalArgDescriptor{ {ProtoField: "creator"}, @@ -644,6 +692,10 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { {ProtoField: "alpha_regret"}, {ProtoField: "allow_negative"}, {ProtoField: "epsilon"}, + {ProtoField: "merit_sortition_alpha"}, + {ProtoField: "active_inferer_quantile"}, + {ProtoField: "active_forecaster_quantile"}, + {ProtoField: "active_reputer_quantile"}, }, }, { diff --git a/x/emissions/module/rewards/rewards_test.go b/x/emissions/module/rewards/rewards_test.go index 09b8ff233..56577d2e9 100644 --- a/x/emissions/module/rewards/rewards_test.go +++ b/x/emissions/module/rewards/rewards_test.go @@ -190,27 +190,45 @@ func (s *RewardsTestSuite) MintTokensToModule(moduleName string, amount cosmosMa s.Require().NoError(err) } +func (s *RewardsTestSuite) RegisterAllWorkersOfPayload(topicId types.TopicId, payload *types.WorkerDataBundle) { + worker := payload.InferenceForecastsBundle.Inference.Inferer + // Define sample OffchainNode information for a worker + workerInfo := types.OffchainNode{ + Owner: "worker-owner-sample", + NodeAddress: worker, + } + err := s.emissionsKeeper.InsertWorker(s.ctx, topicId, worker, workerInfo) + s.Require().NoError(err) + for _, element := range payload.InferenceForecastsBundle.Forecast.ForecastElements { + worker = element.Inferer + workerInfo = types.OffchainNode{ + Owner: "worker-owner-sample", + NodeAddress: worker, + } + err := s.emissionsKeeper.InsertWorker(s.ctx, topicId, worker, workerInfo) + s.Require().NoError(err) + } +} + +func (s *RewardsTestSuite) RegisterAllReputersOfPayload(topicId types.TopicId, payload *types.ReputerValueBundle) { + reputer := payload.ValueBundle.Reputer + // Define sample OffchainNode information for a worker + reputerInfo := types.OffchainNode{ + Owner: "worker-owner-sample", + NodeAddress: reputer, + } + err := s.emissionsKeeper.InsertReputer(s.ctx, topicId, reputer, reputerInfo) + s.Require().NoError(err) +} func (s *RewardsTestSuite) TestStandardRewardEmission() { block := int64(600) s.ctx = s.ctx.WithBlockHeight(block) // Reputer Addresses - reputerAddrs := []sdk.AccAddress{ - s.addrs[0], - s.addrs[1], - s.addrs[2], - s.addrs[3], - s.addrs[4], - } + reputerAddrs := s.returnAddresses(0, 5) // Worker Addresses - workerAddrs := []sdk.AccAddress{ - s.addrs[5], - s.addrs[6], - s.addrs[7], - s.addrs[8], - s.addrs[9], - } + workerAddrs := s.returnAddresses(5, 5) // Create topic newTopicMsg := &types.MsgCreateNewTopic{ @@ -330,22 +348,10 @@ func (s *RewardsTestSuite) TestStandardRewardEmissionShouldRewardTopicsWithFulfi s.ctx = s.ctx.WithBlockHeight(block) // Reputer Addresses - reputerAddrs := []sdk.AccAddress{ - s.addrs[0], - s.addrs[1], - s.addrs[2], - s.addrs[3], - s.addrs[4], - } + reputerAddrs := s.returnAddresses(0, 5) // Worker Addresses - workerAddrs := []sdk.AccAddress{ - s.addrs[5], - s.addrs[6], - s.addrs[7], - s.addrs[8], - s.addrs[9], - } + workerAddrs := s.returnAddresses(5, 5) // Create topic newTopicMsg := &types.MsgCreateNewTopic{ @@ -474,22 +480,10 @@ func (s *RewardsTestSuite) TestStandardRewardEmissionShouldRewardTopicsWithFulfi // Create topic 2 // Reputer Addresses - reputerAddrs = []sdk.AccAddress{ - s.addrs[10], - s.addrs[11], - s.addrs[12], - s.addrs[13], - s.addrs[14], - } + reputerAddrs = s.returnAddresses(10, 5) // Worker Addresses - workerAddrs = []sdk.AccAddress{ - s.addrs[15], - s.addrs[16], - s.addrs[17], - s.addrs[18], - s.addrs[19], - } + workerAddrs = s.returnAddresses(15, 5) // Create topic newTopicMsg = &types.MsgCreateNewTopic{ @@ -695,7 +689,6 @@ func (s *RewardsTestSuite) setUpTopicWithEpochLength( func (s *RewardsTestSuite) getRewardsDistribution( topicId uint64, - blockHeight int64, workerValues []TestWorkerValue, reputerValues []TestWorkerValue, workerZeroAddress sdk.AccAddress, @@ -707,24 +700,16 @@ func (s *RewardsTestSuite) getRewardsDistribution( params, err := s.emissionsKeeper.GetParams(s.ctx) require.NoError(err) - s.ctx = sdk.UnwrapSDKContext(s.ctx).WithBlockHeight(blockHeight) - // TODO EndBlock should create the nonce, and add to workerSubmissionWindows, etc. - // but it doesn't. So we have to do it manually. + // Move to end of this epoch block nextBlock, _, err := s.emissionsKeeper.GetNextPossibleChurningBlockByTopicId(s.ctx, topicId) s.Require().NoError(err) - blockHeight = nextBlock + blockHeight := nextBlock s.ctx = sdk.UnwrapSDKContext(s.ctx).WithBlockHeight(blockHeight) err = s.emissionsAppModule.EndBlock(s.ctx) - //err = s.emissionsKeeper.AddWorkerNonce( - // s.ctx, - // topicId, - // &types.Nonce{BlockHeight: blockHeight}, - //) require.NoError(err) + topic, err := s.emissionsKeeper.GetTopic(s.ctx, topicId) s.Require().NoError(err) - //err = s.emissionsKeeper.AddWorkerWindowTopicId(s.ctx, blockHeight+topic.WorkerSubmissionWindow, topic.Id) - //s.Require().NoError(err) // Advance one to send the worker data s.ctx = sdk.UnwrapSDKContext(s.ctx).WithBlockHeight(blockHeight + 1) @@ -741,6 +726,7 @@ func (s *RewardsTestSuite) getRewardsDistribution( inferenceBundles := GenerateSimpleWorkerDataBundles(s, topicId, topic.EpochLastEnded, blockHeight, workerValues, workerAddrs) for _, payload := range inferenceBundles { + s.RegisterAllWorkersOfPayload(topicId, payload) _, err = s.msgServer.InsertWorkerPayload(s.ctx, &types.MsgInsertWorkerPayload{ Sender: payload.Worker, WorkerDataBundle: payload, @@ -770,6 +756,7 @@ func (s *RewardsTestSuite) getRewardsDistribution( newBlockheight := blockHeight + topic.GroundTruthLag s.ctx = sdk.UnwrapSDKContext(s.ctx).WithBlockHeight(newBlockheight) for _, payload := range lossBundles.ReputerValueBundles { + s.RegisterAllReputersOfPayload(topicId, payload) _, err = s.msgServer.InsertReputerPayload(s.ctx, &types.MsgInsertReputerPayload{ Sender: payload.ValueBundle.Reputer, ReputerValueBundle: payload, @@ -837,17 +824,9 @@ func (s *RewardsTestSuite) TestFixingTaskRewardAlphaDoesNotChangePerformanceImpo blockHeightDelta := int64(1) s.ctx = s.ctx.WithBlockHeight(blockHeight0) - workerAddrs := []sdk.AccAddress{ - s.addrs[0], - s.addrs[1], - s.addrs[2], - } + workerAddrs := s.returnAddresses(0, 3) - reputerAddrs := []sdk.AccAddress{ - s.addrs[3], - s.addrs[4], - s.addrs[5], - } + reputerAddrs := s.returnAddresses(3, 3) stake := cosmosMath.NewInt(1000000000000000000).Mul(inferencesynthesis.CosmosIntOneE18()) @@ -874,7 +853,6 @@ func (s *RewardsTestSuite) TestFixingTaskRewardAlphaDoesNotChangePerformanceImpo rewardsDistribution0_0 := s.getRewardsDistribution( topicId, - blockHeight0, workerValues, reputerValues, workerAddrs[0], @@ -889,7 +867,6 @@ func (s *RewardsTestSuite) TestFixingTaskRewardAlphaDoesNotChangePerformanceImpo rewardsDistribution0_1 := s.getRewardsDistribution( topicId, - blockHeight1, workerValues, reputerValues, workerAddrs[0], @@ -906,7 +883,6 @@ func (s *RewardsTestSuite) TestFixingTaskRewardAlphaDoesNotChangePerformanceImpo rewardsDistribution1_0 := s.getRewardsDistribution( topicId1, - blockHeight2, workerValues, reputerValues, workerAddrs[0], @@ -921,7 +897,6 @@ func (s *RewardsTestSuite) TestFixingTaskRewardAlphaDoesNotChangePerformanceImpo rewardsDistribution1_1 := s.getRewardsDistribution( topicId1, - blockHeight3, workerValues, reputerValues, workerAddrs[0], @@ -948,17 +923,9 @@ func (s *RewardsTestSuite) TestIncreasingTaskRewardAlphaIncreasesImportanceOfPre blockHeightDelta := int64(1) s.ctx = s.ctx.WithBlockHeight(blockHeight0) - workerAddrs := []sdk.AccAddress{ - s.addrs[0], - s.addrs[1], - s.addrs[2], - } + workerAddrs := s.returnAddresses(0, 3) - reputerAddrs := []sdk.AccAddress{ - s.addrs[3], - s.addrs[4], - s.addrs[5], - } + reputerAddrs := s.returnAddresses(3, 3) stake := cosmosMath.NewInt(1000000000000000000).Mul(inferencesynthesis.CosmosIntOneE18()) @@ -985,7 +952,6 @@ func (s *RewardsTestSuite) TestIncreasingTaskRewardAlphaIncreasesImportanceOfPre rewardsDistribution0_0 := s.getRewardsDistribution( topicId, - blockHeight0, workerValues, reputerValues, workerAddrs[0], @@ -1000,7 +966,6 @@ func (s *RewardsTestSuite) TestIncreasingTaskRewardAlphaIncreasesImportanceOfPre rewardsDistribution0_1 := s.getRewardsDistribution( topicId, - blockHeight1, workerValues, reputerValues, workerAddrs[0], @@ -1023,7 +988,6 @@ func (s *RewardsTestSuite) TestIncreasingTaskRewardAlphaIncreasesImportanceOfPre rewardsDistribution1_0 := s.getRewardsDistribution( topicId1, - blockHeight2, workerValues, reputerValues, workerAddrs[0], @@ -1038,7 +1002,6 @@ func (s *RewardsTestSuite) TestIncreasingTaskRewardAlphaIncreasesImportanceOfPre rewardsDistribution1_1 := s.getRewardsDistribution( topicId1, - blockHeight3, workerValues, reputerValues, workerAddrs[0], @@ -1095,17 +1058,9 @@ func (s *RewardsTestSuite) TestIncreasingAlphaRegretIncreasesPresentEffectOnRegr blockHeightDelta := int64(1) s.ctx = s.ctx.WithBlockHeight(blockHeight0) - workerAddrs := []sdk.AccAddress{ - s.addrs[0], - s.addrs[1], - s.addrs[2], - } + workerAddrs := s.returnAddresses(0, 3) - reputerAddrs := []sdk.AccAddress{ - s.addrs[3], - s.addrs[4], - s.addrs[5], - } + reputerAddrs := s.returnAddresses(3, 3) stake := cosmosMath.NewInt(1000000000000000000).Mul(inferencesynthesis.CosmosIntOneE18()) @@ -1134,7 +1089,6 @@ func (s *RewardsTestSuite) TestIncreasingAlphaRegretIncreasesPresentEffectOnRegr s.getRewardsDistribution( topicId0, - blockHeight0, workerValues, reputerValues, workerAddrs[0], @@ -1152,7 +1106,6 @@ func (s *RewardsTestSuite) TestIncreasingAlphaRegretIncreasesPresentEffectOnRegr s.getRewardsDistribution( topicId0, - blockHeight1, workerValues, reputerValues, workerAddrs[0], @@ -1193,7 +1146,6 @@ func (s *RewardsTestSuite) TestIncreasingAlphaRegretIncreasesPresentEffectOnRegr s.getRewardsDistribution( topicId1, - blockHeight2, workerValues, reputerValues, workerAddrs[0], @@ -1211,7 +1163,6 @@ func (s *RewardsTestSuite) TestIncreasingAlphaRegretIncreasesPresentEffectOnRegr s.getRewardsDistribution( topicId1, - blockHeight3, workerValues, reputerValues, workerAddrs[0], @@ -1247,19 +1198,9 @@ func (s *RewardsTestSuite) TestGenerateTasksRewardsShouldIncreaseRewardShareIfMo block := int64(100) s.ctx = s.ctx.WithBlockHeight(block) - reputerAddrs := []sdk.AccAddress{ - s.addrs[0], - s.addrs[1], - s.addrs[2], - } + reputerAddrs := s.returnAddresses(0, 3) - workerAddrs := []sdk.AccAddress{ - s.addrs[5], - s.addrs[6], - s.addrs[7], - s.addrs[8], - s.addrs[9], - } + workerAddrs := s.returnAddresses(5, 5) cosmosOneE18 := inferencesynthesis.CosmosIntOneE18() @@ -1556,22 +1497,10 @@ func (s *RewardsTestSuite) TestRewardsIncreasesBalance() { s.MintTokensToModule(types.AlloraStakingAccountName, cosmosMath.NewInt(10000000000)) // Reputer Addresses - reputerAddrs := []sdk.AccAddress{ - s.addrs[0], - s.addrs[1], - s.addrs[2], - s.addrs[3], - s.addrs[4], - } + reputerAddrs := s.returnAddresses(0, 5) // Worker Addresses - workerAddrs := []sdk.AccAddress{ - s.addrs[5], - s.addrs[6], - s.addrs[7], - s.addrs[8], - s.addrs[9], - } + workerAddrs := s.returnAddresses(5, 5) // Create topic newTopicMsg := &types.MsgCreateNewTopic{ @@ -1740,22 +1669,10 @@ func (s *RewardsTestSuite) TestRewardsHandleStandardDeviationOfZero() { epochLength := int64(10800) // Reputer Addresses - reputerAddrs := []sdk.AccAddress{ - s.addrs[0], - s.addrs[1], - s.addrs[2], - s.addrs[3], - s.addrs[4], - } + reputerAddrs := s.returnAddresses(0, 5) // Worker Addresses - workerAddrs := []sdk.AccAddress{ - s.addrs[5], - s.addrs[6], - s.addrs[7], - s.addrs[8], - s.addrs[9], - } + workerAddrs := s.returnAddresses(5, 5) // Create first topic newTopicMsg := &types.MsgCreateNewTopic{ @@ -1900,6 +1817,7 @@ func (s *RewardsTestSuite) TestRewardsHandleStandardDeviationOfZero() { // Insert inference from workers inferenceBundles := GenerateWorkerDataBundles(s, block, topicId1) for _, payload := range inferenceBundles { + s.RegisterAllWorkersOfPayload(topicId1, payload) _, err = s.msgServer.InsertWorkerPayload(s.ctx, &types.MsgInsertWorkerPayload{ Sender: payload.Worker, WorkerDataBundle: payload, @@ -1909,6 +1827,7 @@ func (s *RewardsTestSuite) TestRewardsHandleStandardDeviationOfZero() { inferenceBundles2 := GenerateWorkerDataBundles(s, block, topicId2) for _, payload := range inferenceBundles2 { + s.RegisterAllWorkersOfPayload(topicId2, payload) _, err = s.msgServer.InsertWorkerPayload(s.ctx, &types.MsgInsertWorkerPayload{ Sender: payload.Worker, WorkerDataBundle: payload, @@ -1924,14 +1843,17 @@ func (s *RewardsTestSuite) TestRewardsHandleStandardDeviationOfZero() { // Insert loss bundle from reputers lossBundles := GenerateLossBundles(s, block, topicId1, reputerAddrs) - for _, payload := range lossBundles.ReputerValueBundles { - _, _ = s.emissionsKeeper.FulfillWorkerNonce(s.ctx, topicId1, payload.ValueBundle.ReputerRequestNonce.ReputerNonce) - _ = s.emissionsKeeper.AddReputerNonce(s.ctx, topicId1, payload.ValueBundle.ReputerRequestNonce.ReputerNonce) - _, err = s.msgServer.InsertReputerPayload(s.ctx, &types.MsgInsertReputerPayload{ - Sender: payload.ValueBundle.Reputer, - ReputerValueBundle: payload, - }) - s.Require().NoError(err) + for i, payload := range lossBundles.ReputerValueBundles { + s.RegisterAllReputersOfPayload(topicId1, payload) + if i <= 2 { + _, _ = s.emissionsKeeper.FulfillWorkerNonce(s.ctx, topicId1, payload.ValueBundle.ReputerRequestNonce.ReputerNonce) + _ = s.emissionsKeeper.AddReputerNonce(s.ctx, topicId1, payload.ValueBundle.ReputerRequestNonce.ReputerNonce) + _, err = s.msgServer.InsertReputerPayload(s.ctx, &types.MsgInsertReputerPayload{ + Sender: payload.ValueBundle.Reputer, + ReputerValueBundle: payload, + }) + s.Require().NoError(err) + } } topic2, err := s.emissionsKeeper.GetTopic(s.ctx, topicId2) @@ -1941,14 +1863,17 @@ func (s *RewardsTestSuite) TestRewardsHandleStandardDeviationOfZero() { s.ctx = sdk.UnwrapSDKContext(s.ctx).WithBlockHeight(newBlockheight) lossBundles2 := GenerateLossBundles(s, block, topicId2, reputerAddrs) - for _, payload := range lossBundles2.ReputerValueBundles { - _, _ = s.emissionsKeeper.FulfillWorkerNonce(s.ctx, topicId2, payload.ValueBundle.ReputerRequestNonce.ReputerNonce) - _ = s.emissionsKeeper.AddReputerNonce(s.ctx, topicId2, payload.ValueBundle.ReputerRequestNonce.ReputerNonce) - _, err = s.msgServer.InsertReputerPayload(s.ctx, &types.MsgInsertReputerPayload{ - Sender: payload.ValueBundle.Reputer, - ReputerValueBundle: payload, - }) - s.Require().NoError(err) + for i, payload := range lossBundles2.ReputerValueBundles { + s.RegisterAllReputersOfPayload(topicId2, payload) + if i > 2 { + _, _ = s.emissionsKeeper.FulfillWorkerNonce(s.ctx, topicId2, payload.ValueBundle.ReputerRequestNonce.ReputerNonce) + _ = s.emissionsKeeper.AddReputerNonce(s.ctx, topicId2, payload.ValueBundle.ReputerRequestNonce.ReputerNonce) + _, err = s.msgServer.InsertReputerPayload(s.ctx, &types.MsgInsertReputerPayload{ + Sender: payload.ValueBundle.Reputer, + ReputerValueBundle: payload, + }) + s.Require().NoError(err) + } } block += epochLength * 3 @@ -2307,19 +2232,9 @@ func (s *RewardsTestSuite) TestTotalInferersRewardFractionGrowsWithMoreInferers( block := int64(100) s.ctx = s.ctx.WithBlockHeight(block) - reputerAddrs := []sdk.AccAddress{ - s.addrs[0], - s.addrs[1], - s.addrs[2], - } + reputerAddrs := s.returnAddresses(0, 3) - workerAddrs := []sdk.AccAddress{ - s.addrs[5], - s.addrs[6], - s.addrs[7], - s.addrs[8], - s.addrs[9], - } + workerAddrs := s.returnAddresses(5, 5) cosmosOneE18 := inferencesynthesis.CosmosIntOneE18() @@ -2410,6 +2325,7 @@ func (s *RewardsTestSuite) TestTotalInferersRewardFractionGrowsWithMoreInferers( // Insert inference from workers inferenceBundles := GenerateHugeWorkerDataBundles(s, block, topicId, workerAddrs) for _, payload := range inferenceBundles { + s.RegisterAllWorkersOfPayload(topicId, payload) _, err = s.msgServer.InsertWorkerPayload(s.ctx, &types.MsgInsertWorkerPayload{ Sender: payload.Worker, WorkerDataBundle: payload, @@ -2474,8 +2390,6 @@ func (s *RewardsTestSuite) TestTotalInferersRewardFractionGrowsWithMoreInferers( firstInfererFraction, err := totalInferersReward.Quo(totalReward) s.Require().NoError(err) - firstForecasterFraction, err := totalForecastersReward.Quo(totalReward) - s.Require().NoError(err) block += 1 s.ctx = s.ctx.WithBlockHeight(block) @@ -2484,6 +2398,7 @@ func (s *RewardsTestSuite) TestTotalInferersRewardFractionGrowsWithMoreInferers( newSecondWorkersAddrs := []sdk.AccAddress{ s.addrs[10], s.addrs[11], + s.addrs[12], } newSecondWorkersAddrs = append(workerAddrs, newSecondWorkersAddrs...) @@ -2582,6 +2497,7 @@ func (s *RewardsTestSuite) TestTotalInferersRewardFractionGrowsWithMoreInferers( inferenceBundles = append(inferenceBundles, newInferenceBundles...) for _, payload := range inferenceBundles { + s.RegisterAllWorkersOfPayload(topicId, payload) _, err = s.msgServer.InsertWorkerPayload(s.ctx, &types.MsgInsertWorkerPayload{ Sender: payload.Worker, WorkerDataBundle: payload, @@ -2730,6 +2646,7 @@ func (s *RewardsTestSuite) TestTotalInferersRewardFractionGrowsWithMoreInferers( newInferenceBundles = GenerateMoreForecastersDataBundles(s, block, topicId) inferenceBundles = append(inferenceBundles, newInferenceBundles...) for _, payload := range inferenceBundles { + s.RegisterAllWorkersOfPayload(topicId, payload) _, err = s.msgServer.InsertWorkerPayload(s.ctx, &types.MsgInsertWorkerPayload{ Sender: payload.Worker, WorkerDataBundle: payload, @@ -2763,21 +2680,21 @@ func (s *RewardsTestSuite) TestTotalInferersRewardFractionGrowsWithMoreInferers( params) s.Require().NoError(err) - totalForecastersReward = alloraMath.ZeroDec() + totalInferersReward = alloraMath.ZeroDec() totalReward = alloraMath.ZeroDec() for _, reward := range thirdRewardsDistribution { - if reward.Type == types.WorkerForecastRewardType { - totalForecastersReward, _ = totalForecastersReward.Add(reward.Reward) + if reward.Type == types.WorkerInferenceRewardType { + totalInferersReward, _ = totalInferersReward.Add(reward.Reward) } totalReward, _ = totalReward.Add(reward.Reward) } - thirdForecasterFraction, err := totalForecastersReward.Quo(totalReward) + thirdInfererFraction, err := totalInferersReward.Quo(totalReward) s.Require().NoError(err) s.Require().True( - firstForecasterFraction.Lt(thirdForecasterFraction), + firstInfererFraction.Lt(thirdInfererFraction), "Third forecaster fraction must be bigger than first fraction %s > %s", - firstForecasterFraction.String(), - thirdForecasterFraction.String(), + firstInfererFraction.String(), + thirdInfererFraction.String(), ) } @@ -2792,17 +2709,9 @@ func (s *RewardsTestSuite) TestRewardForTopicGoesUpWhenRelativeStakeGoesUp() { s.SetParamsForTest() - reputerAddrs := []sdk.AccAddress{ - s.addrs[0], - s.addrs[1], - s.addrs[2], - } + reputerAddrs := s.returnAddresses(0, 3) - workerAddrs := []sdk.AccAddress{ - s.addrs[3], - s.addrs[4], - s.addrs[5], - } + workerAddrs := s.returnAddresses(3, 3) // setup topics stake := cosmosMath.NewInt(1000).Mul(inferencesynthesis.CosmosIntOneE18()) @@ -2843,7 +2752,6 @@ func (s *RewardsTestSuite) TestRewardForTopicGoesUpWhenRelativeStakeGoesUp() { // do work on the topics to earn rewards s.getRewardsDistribution( topicId0, - block, workerValues, reputerValues, workerAddrs[0], @@ -2853,7 +2761,6 @@ func (s *RewardsTestSuite) TestRewardForTopicGoesUpWhenRelativeStakeGoesUp() { s.getRewardsDistribution( topicId1, - block, workerValues, reputerValues, workerAddrs[0], @@ -2933,7 +2840,6 @@ func (s *RewardsTestSuite) TestRewardForTopicGoesUpWhenRelativeStakeGoesUp() { // do work on the topics to earn rewards s.getRewardsDistribution( topicId0, - block, workerValues, reputerValues, workerAddrs[0], @@ -2943,7 +2849,6 @@ func (s *RewardsTestSuite) TestRewardForTopicGoesUpWhenRelativeStakeGoesUp() { s.getRewardsDistribution( topicId1, - block, workerValues, reputerValues, workerAddrs[0], @@ -3004,24 +2909,13 @@ func (s *RewardsTestSuite) TestReputerAboveConsensusGetsLessRewards() { s.SetParamsForTest() - reputer0Addrs := []sdk.AccAddress{ - s.addrs[0], - s.addrs[1], - s.addrs[2], - s.addrs[3], - s.addrs[4], - s.addrs[5], - } + reputer0Addrs := s.returnAddresses(0, 6) - workerAddrs := []sdk.AccAddress{ - s.addrs[6], - s.addrs[7], - s.addrs[8], - } + workerAddrs := s.returnAddresses(6, 3) stake := cosmosMath.NewInt(1000).Mul(inferencesynthesis.CosmosIntOneE18()) - topicId0 := s.setUpTopicWithEpochLength(block, workerAddrs, reputer0Addrs, stake, alphaRegret, 3) + topicId0 := s.setUpTopicWithEpochLength(block, workerAddrs, reputer0Addrs, stake, alphaRegret, 5) reputer0Values := []TestWorkerValue{ {Address: s.addrs[0], Value: "0.1"}, @@ -3053,7 +2947,6 @@ func (s *RewardsTestSuite) TestReputerAboveConsensusGetsLessRewards() { s.getRewardsDistribution( topicId0, - block, workerValues, reputer0Values, workerAddrs[0], @@ -3103,24 +2996,13 @@ func (s *RewardsTestSuite) TestReputerBelowConsensusGetsLessRewards() { s.SetParamsForTest() - reputerAddrs := []sdk.AccAddress{ - s.addrs[0], - s.addrs[1], - s.addrs[2], - s.addrs[3], - s.addrs[4], - s.addrs[5], - } + reputerAddrs := s.returnAddresses(0, 6) - workerAddrs := []sdk.AccAddress{ - s.addrs[6], - s.addrs[7], - s.addrs[8], - } + workerAddrs := s.returnAddresses(6, 3) stake := cosmosMath.NewInt(1000).Mul(inferencesynthesis.CosmosIntOneE18()) - topicId0 := s.setUpTopicWithEpochLength(block, workerAddrs, reputerAddrs, stake, alphaRegret, 3) + topicId0 := s.setUpTopicWithEpochLength(block, workerAddrs, reputerAddrs, stake, alphaRegret, 5) reputerValues := []TestWorkerValue{ {Address: s.addrs[0], Value: "0.9"}, @@ -3152,7 +3034,6 @@ func (s *RewardsTestSuite) TestReputerBelowConsensusGetsLessRewards() { s.getRewardsDistribution( topicId0, - block, workerValues, reputerValues, workerAddrs[0], @@ -3203,17 +3084,9 @@ func (s *RewardsTestSuite) TestRewardForRemainingParticipantsGoUpWhenParticipant s.SetParamsForTest() - reputer0Addrs := []sdk.AccAddress{ - s.addrs[0], - s.addrs[1], - s.addrs[2], - } + reputer0Addrs := s.returnAddresses(0, 3) - workerAddrs := []sdk.AccAddress{ - s.addrs[3], - s.addrs[4], - s.addrs[5], - } + workerAddrs := s.returnAddresses(3, 3) stake := cosmosMath.NewInt(1000).Mul(inferencesynthesis.CosmosIntOneE18()) @@ -3249,7 +3122,6 @@ func (s *RewardsTestSuite) TestRewardForRemainingParticipantsGoUpWhenParticipant // do work on the current block s.getRewardsDistribution( topicId0, - block, workerValues, reputer0Values, workerAddrs[0], @@ -3301,7 +3173,6 @@ func (s *RewardsTestSuite) TestRewardForRemainingParticipantsGoUpWhenParticipant // do work on the current block, but with one less reputer s.getRewardsDistribution( topic.Id, - block, workerValues, reputer1Values, workerAddrs[0], @@ -3339,3 +3210,154 @@ func (s *RewardsTestSuite) TestRewardForRemainingParticipantsGoUpWhenParticipant require.True(reputer2_Reward0.GT(cosmosMath.ZeroInt())) require.True(reputer2_Reward1.Equal(cosmosMath.ZeroInt())) } + +func (s *RewardsTestSuite) TestRewardIncreaseContiouslyAfterTopicReactivated() { + // SETUP + require := s.Require() + + block := int64(1) + s.ctx = s.ctx.WithBlockHeight(block) + + alphaRegret := alloraMath.MustNewDecFromString("0.1") + + s.SetParamsForTest() + + reputer0Addrs := s.returnAddresses(0, 3) + + worker0Addrs := s.returnAddresses(3, 3) + + reputer1Addrs := s.returnAddresses(6, 3) + + worker1Addrs := s.returnAddresses(9, 3) + + stake := cosmosMath.NewInt(1000).Mul(inferencesynthesis.CosmosIntOneE18()) + + topicId0 := s.setUpTopicWithEpochLength(block, worker0Addrs, reputer0Addrs, stake, alphaRegret, 30) + topicId1 := s.setUpTopicWithEpochLength(block, worker1Addrs, reputer1Addrs, stake, alphaRegret, 60) + cosmosOneE18 := inferencesynthesis.CosmosIntOneE18() + // Add Stake for reputers + var stakes = []cosmosMath.Int{ + cosmosMath.NewInt(1176644).Mul(cosmosOneE18), + cosmosMath.NewInt(384623).Mul(cosmosOneE18), + cosmosMath.NewInt(394676).Mul(cosmosOneE18), + cosmosMath.NewInt(207999).Mul(cosmosOneE18), + cosmosMath.NewInt(368582).Mul(cosmosOneE18), + } + for i, addr := range reputer0Addrs { + s.MintTokensToAddress(addr, stakes[i]) + _, err := s.msgServer.AddStake(s.ctx, &types.MsgAddStake{ + Sender: addr.String(), + Amount: stakes[i], + TopicId: topicId0, + }) + s.Require().NoError(err) + } + for i, addr := range reputer1Addrs { + s.MintTokensToAddress(addr, stakes[i].MulRaw(2)) + _, err := s.msgServer.AddStake(s.ctx, &types.MsgAddStake{ + Sender: addr.String(), + Amount: stakes[i].MulRaw(2), + TopicId: topicId1, + }) + s.Require().NoError(err) + } + + initialStake := cosmosMath.NewInt(1000) + s.MintTokensToAddress(reputer0Addrs[0], initialStake) + fundTopic0Message := types.MsgFundTopic{ + Sender: reputer0Addrs[0].String(), + TopicId: topicId0, + Amount: initialStake, + } + _, err := s.msgServer.FundTopic(s.ctx, &fundTopic0Message) + s.Require().NoError(err) + + s.MintTokensToAddress(reputer1Addrs[0], initialStake.MulRaw(2)) + fundTopic1Message := types.MsgFundTopic{ + Sender: reputer1Addrs[0].String(), + TopicId: topicId1, + Amount: initialStake.MulRaw(2), + } + _, err = s.msgServer.FundTopic(s.ctx, &fundTopic1Message) + s.Require().NoError(err) + + topic0, err := s.emissionsKeeper.GetTopic(s.ctx, topicId0) + require.NoError(err) + blocklHeight := topic0.EpochLength + s.ctx = s.ctx.WithBlockHeight(blocklHeight) + err = s.emissionsAppModule.EndBlock(s.ctx) + s.Require().NoError(err) + worker0Values := []TestWorkerValue{ + {Address: worker0Addrs[0], Value: "0.1"}, + {Address: worker0Addrs[1], Value: "0.2"}, + {Address: worker0Addrs[2], Value: "0.3"}, + } + reputer0Values := []TestWorkerValue{ + {Address: reputer0Addrs[0], Value: "0.1"}, + {Address: reputer0Addrs[1], Value: "0.2"}, + {Address: reputer0Addrs[2], Value: "0.3"}, + } + worker1Values := []TestWorkerValue{ + {Address: worker1Addrs[0], Value: "0.4"}, + {Address: worker1Addrs[1], Value: "0.5"}, + {Address: worker1Addrs[2], Value: "0.6"}, + } + reputer1Values := []TestWorkerValue{ + {Address: reputer1Addrs[0], Value: "0.4"}, + {Address: reputer1Addrs[1], Value: "0.5"}, + {Address: reputer1Addrs[2], Value: "0.6"}, + } + rewardsDistribution0_0 := s.getRewardsDistribution( + topicId0, + worker0Values, + reputer0Values, + worker0Addrs[0], + "0.1", + "0.1", + ) + + _ = s.getRewardsDistribution( + topicId1, + worker1Values, + reputer1Values, + worker1Addrs[0], + "0.2", + "0.2", + ) + + // Check if first topic is inactivated due to low weight + isActivated, err := s.emissionsKeeper.IsTopicActive(s.ctx, topicId0) + require.NoError(err) + require.False(isActivated) + + // Activate first topic + s.MintTokensToAddress(reputer0Addrs[0], initialStake) + fundTopic0Message = types.MsgFundTopic{ + Sender: reputer0Addrs[0].String(), + TopicId: topicId0, + Amount: initialStake.MulRaw(3), + } + _, err = s.msgServer.FundTopic(s.ctx, &fundTopic0Message) + s.Require().NoError(err) + + isActivated, err = s.emissionsKeeper.IsTopicActive(s.ctx, topicId0) + require.NoError(err) + require.True(isActivated) + + rewardsDistribution0_1 := s.getRewardsDistribution( + topicId0, + worker0Values, + reputer0Values, + worker0Addrs[0], + "0.1", + "0.1", + ) + require.Equal(len(rewardsDistribution0_1), len(rewardsDistribution0_0)) +} +func (s *RewardsTestSuite) returnAddresses(start, count int) []sdk.AccAddress { + res := make([]sdk.AccAddress, count) + for ind := start; ind < start+count; ind++ { + res[ind-start] = s.addrs[ind] + } + return res +} diff --git a/x/emissions/module/rewards/scores.go b/x/emissions/module/rewards/scores.go index c28748058..3a2e98be9 100644 --- a/x/emissions/module/rewards/scores.go +++ b/x/emissions/module/rewards/scores.go @@ -4,6 +4,7 @@ import ( "cosmossdk.io/errors" alloraMath "github.com/allora-network/allora-chain/math" "github.com/allora-network/allora-chain/x/emissions/keeper" + actorutils "github.com/allora-network/allora-chain/x/emissions/keeper/actor_utils" "github.com/allora-network/allora-chain/x/emissions/types" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -87,6 +88,7 @@ func GenerateReputerScores( // Insert new coeffients and scores var newScores []types.Score + var emaScores []types.Score for i, reputer := range reputers { err := keeper.SetListeningCoefficient( ctx, @@ -108,31 +110,24 @@ func GenerateReputerScores( if err != nil { return []types.Score{}, errors.Wrapf(err, "Error inserting reputer score") } - previousScore, err := keeper.GetReputerScoreEma(ctx, topicId, reputer) - if err != nil { - return []types.Score{}, errors.Wrapf(err, "Error getting reputer score ema") - } - firstTime := previousScore.BlockHeight == 0 && previousScore.Score.IsZero() - emaScoreDec, err := alloraMath.CalcEma( - topic.MeritSortitionAlpha, - newScore.Score, - previousScore.Score, - firstTime, - ) - if err != nil { - return []types.Score{}, errors.Wrapf(err, "Error calculating ema") - } - emaScore := types.Score{ - TopicId: topicId, - BlockHeight: block, - Address: reputer, - Score: emaScoreDec, - } - err = keeper.SetReputerScoreEma(ctx, topicId, reputer, emaScore) + + emaScore, err := keeper.CalcAndSaveReputerScoreEmaForActiveSet(ctx, topic, block, reputer, newScore) if err != nil { - return []types.Score{}, errors.Wrapf(err, "Error setting latest reputer score") + return []types.Score{}, errors.Wrapf(err, "Error calculating and saving reputer score ema") } + newScores = append(newScores, newScore) + emaScores = append(emaScores, emaScore) + } + + // Update topic quantile of EMA score + topicEmaScoreQuantile, err := actorutils.GetQuantileOfScores(emaScores, topic.ActiveReputerQuantile) + if err != nil { + return nil, err + } + err = keeper.SetPreviousTopicQuantileReputerScoreEma(ctx, topicId, topicEmaScoreQuantile) + if err != nil { + return nil, err } types.EmitNewReputerScoresSetEvent(ctx, newScores) @@ -148,7 +143,7 @@ func GenerateInferenceScores( networkLosses types.ValueBundle, ) ([]types.Score, error) { var newScores []types.Score - + var emaScores []types.Score // If there is only one inferer, set score to 0 // More than one inferer is required to have one-out losses if len(networkLosses.InfererValues) == 1 { @@ -186,31 +181,24 @@ func GenerateInferenceScores( if err != nil { return []types.Score{}, errors.Wrapf(err, "Error inserting worker inference score") } - previousScore, err := keeper.GetInfererScoreEma(ctx, topicId, oneOutLoss.Worker) - if err != nil { - return []types.Score{}, errors.Wrapf(err, "Error getting inferer score ema") - } - firstTime := previousScore.BlockHeight == 0 && previousScore.Score.IsZero() - emaScoreDec, err := alloraMath.CalcEma( - topic.MeritSortitionAlpha, - newScore.Score, - previousScore.Score, - firstTime, - ) - if err != nil { - return []types.Score{}, errors.Wrapf(err, "Error calculating ema") - } - emaScore := types.Score{ - TopicId: topicId, - BlockHeight: block, - Address: oneOutLoss.Worker, - Score: emaScoreDec, - } - err = keeper.SetInfererScoreEma(ctx, topicId, oneOutLoss.Worker, emaScore) + + emaScore, err := keeper.CalcAndSaveInfererScoreEmaForActiveSet(ctx, topic, block, oneOutLoss.Worker, newScore) if err != nil { - return []types.Score{}, errors.Wrapf(err, "error setting latest inferer score") + return []types.Score{}, errors.Wrapf(err, "Error calculating and saving inferer score ema") } + newScores = append(newScores, newScore) + emaScores = append(emaScores, emaScore) + } + + // Update topic quantile of EMA score + topicEmaScoreQuantile, err := actorutils.GetQuantileOfScores(emaScores, topic.ActiveInfererQuantile) + if err != nil { + return nil, errors.Wrapf(err, "Error getting quantile of scores") + } + err = keeper.SetPreviousTopicQuantileInfererScoreEma(ctx, topicId, topicEmaScoreQuantile) + if err != nil { + return nil, errors.Wrapf(err, "Error setting previous topic quantile inferer score ema") } types.EmitNewInfererScoresSetEvent(ctx, newScores) @@ -226,6 +214,7 @@ func GenerateForecastScores( networkLosses types.ValueBundle, ) ([]types.Score, error) { var newScores []types.Score + var emaScores []types.Score topic, err := keeper.GetTopic(ctx, topicId) if err != nil { return []types.Score{}, errors.Wrapf(err, "Error getting topic") @@ -288,31 +277,24 @@ func GenerateForecastScores( if err != nil { return []types.Score{}, errors.Wrapf(err, "Error inserting worker forecast score") } - previousScore, err := keeper.GetForecasterScoreEma(ctx, topicId, oneInNaiveLoss.Worker) - if err != nil { - return []types.Score{}, errors.Wrapf(err, "Error getting inferer score ema") - } - firstTime := previousScore.BlockHeight == 0 && previousScore.Score.IsZero() - emaScoreDec, err := alloraMath.CalcEma( - topic.MeritSortitionAlpha, - newScore.Score, - previousScore.Score, - firstTime, - ) - if err != nil { - return []types.Score{}, errors.Wrapf(err, "Error calculating ema") - } - emaScore := types.Score{ - TopicId: topicId, - BlockHeight: block, - Address: oneInNaiveLoss.Worker, - Score: emaScoreDec, - } - err = keeper.SetForecasterScoreEma(ctx, topicId, oneInNaiveLoss.Worker, emaScore) + + emaScore, err := keeper.CalcAndSaveForecasterScoreEmaForActiveSet(ctx, topic, block, oneInNaiveLoss.Worker, newScore) if err != nil { - return []types.Score{}, errors.Wrapf(err, "Error setting latest forecaster score") + return []types.Score{}, errors.Wrapf(err, "Error calculating and saving forecaster score ema") } + newScores = append(newScores, newScore) + emaScores = append(emaScores, emaScore) + } + + // Update topic quantile of EMA score + topicEmaScoreQuantile, err := actorutils.GetQuantileOfScores(emaScores, topic.ActiveForecasterQuantile) + if err != nil { + return nil, err + } + err = keeper.SetPreviousTopicQuantileForecasterScoreEma(ctx, topicId, topicEmaScoreQuantile) + if err != nil { + return nil, err } types.EmitNewForecasterScoresSetEvent(ctx, newScores) diff --git a/x/emissions/module/rewards/scores_test.go b/x/emissions/module/rewards/scores_test.go index 3b91825c8..520749577 100644 --- a/x/emissions/module/rewards/scores_test.go +++ b/x/emissions/module/rewards/scores_test.go @@ -1293,8 +1293,8 @@ func GenerateWorkerDataBundles(s *RewardsTestSuite, blockHeight int64, topicId u func GenerateMoreInferencesDataBundles(s *RewardsTestSuite, blockHeight int64, topicId uint64) []*types.WorkerDataBundle { var newInferences []*types.WorkerDataBundle - worker1Addr := s.addrs[10] - worker2Addr := s.addrs[11] + worker1Addr := s.addrs[13] + worker2Addr := s.addrs[14] worker1InferenceForecastBundle := &types.InferenceForecastBundle{ Inference: &types.Inference{ @@ -1371,8 +1371,8 @@ func GenerateMoreInferencesDataBundles(s *RewardsTestSuite, blockHeight int64, t func GenerateMoreForecastersDataBundles(s *RewardsTestSuite, blockHeight int64, topicId uint64) []*types.WorkerDataBundle { var newForecasts []*types.WorkerDataBundle - worker1Addr := s.addrs[10] - worker2Addr := s.addrs[11] + worker1Addr := s.addrs[13] + worker2Addr := s.addrs[14] worker1InferenceForecastBundle := &types.InferenceForecastBundle{ Inference: &types.Inference{ diff --git a/x/emissions/proto/emissions/v3/genesis.proto b/x/emissions/proto/emissions/v3/genesis.proto index bccc5012a..8331d4f44 100644 --- a/x/emissions/proto/emissions/v3/genesis.proto +++ b/x/emissions/proto/emissions/v3/genesis.proto @@ -180,6 +180,11 @@ message GenesisState { repeated TopicIdAndBlockHeight topicToNextPossibleChurningBlock = 57; repeated BlockHeightTopicIds blockToActiveTopics = 58; repeated BlockHeightTopicIdWeightPair blockToLowestActiveTopicWeight = 59; + + // EMA + repeated TopicIdAndDec previousTopicQuantileInfererScoreEma = 63; + repeated TopicIdAndDec previousTopicQuantileForecasterScoreEma = 64; + repeated TopicIdAndDec previousTopicQuantileReputerScoreEma = 65; } message TopicIdAndTopic { diff --git a/x/emissions/proto/emissions/v3/query.proto b/x/emissions/proto/emissions/v3/query.proto index a36760ac0..7a59ac06a 100644 --- a/x/emissions/proto/emissions/v3/query.proto +++ b/x/emissions/proto/emissions/v3/query.proto @@ -38,9 +38,7 @@ service Query { rpc GetWorkerLatestInferenceByTopicId(QueryWorkerLatestInferenceRequest) returns (QueryWorkerLatestInferenceResponse) { option (cosmos.query.v1.module_query_safe) = true; - option (google.api.http).get = - "/emissions/v3/topics/{topic_id}/" - "workers/{worker_address}/latest_inference"; + option (google.api.http).get = "/emissions/v3/topics/{topic_id}/workers/{worker_address}/latest_inference"; } rpc GetInferencesAtBlock(QueryInferencesAtBlockRequest) returns (QueryInferencesAtBlockResponse) { @@ -90,9 +88,7 @@ service Query { rpc GetStakeFromDelegatorInTopicInReputer(QueryStakeFromDelegatorInTopicInReputerRequest) returns (QueryStakeFromDelegatorInTopicInReputerResponse) { option (cosmos.query.v1.module_query_safe) = true; - option (google.api.http).get = - "/emissions/v3/delegate_stake/{delegator_address}/{reputer_address}/" - "{topic_id}"; + option (google.api.http).get = "/emissions/v3/delegate_stake/{delegator_address}/{reputer_address}/{topic_id}"; } rpc GetStakeFromDelegatorInTopic(QueryStakeFromDelegatorInTopicRequest) returns (QueryStakeFromDelegatorInTopicResponse) { @@ -147,9 +143,7 @@ service Query { rpc GetNetworkInferencesAtBlock(QueryNetworkInferencesAtBlockRequest) returns (QueryNetworkInferencesAtBlockResponse) { option (cosmos.query.v1.module_query_safe) = true; - option (google.api.http).get = - "/emissions/v3/network_inferences/{topic_id}/last_inference/" - "{block_height_last_inference}"; + option (google.api.http).get = "/emissions/v3/network_inferences/{topic_id}/last_inference/{block_height_last_inference}"; } rpc GetLatestNetworkInference(QueryLatestNetworkInferencesRequest) returns (QueryLatestNetworkInferencesResponse) { @@ -194,9 +188,7 @@ service Query { rpc GetOneInForecasterNetworkRegret(QueryOneInForecasterNetworkRegretRequest) returns (QueryOneInForecasterNetworkRegretResponse) { option (cosmos.query.v1.module_query_safe) = true; - option (google.api.http).get = - "/emissions/v3/one_in_forecaster_network_regret/{topic_id}/" - "{forecaster}/{inferer}"; + option (google.api.http).get = "/emissions/v3/one_in_forecaster_network_regret/{topic_id}/{forecaster}/{inferer}"; } rpc IsWhitelistAdmin(QueryIsWhitelistAdminRequest) returns (QueryIsWhitelistAdminResponse) { @@ -230,9 +222,7 @@ service Query { rpc GetDelegateStakePlacement(QueryDelegateStakePlacementRequest) returns (QueryDelegateStakePlacementResponse) { option (cosmos.query.v1.module_query_safe) = true; - option (google.api.http).get = - "/emissions/v3/delegate_stake_placement/" - "{topic_id}/{delegator}/{target}"; + option (google.api.http).get = "/emissions/v3/delegate_stake_placement/{topic_id}/{delegator}/{target}"; } rpc GetDelegateStakeUponReputer(QueryDelegateStakeUponReputerRequest) returns (QueryDelegateStakeUponReputerResponse) { @@ -252,9 +242,7 @@ service Query { rpc GetDelegateStakeRemoval(QueryDelegateStakeRemovalRequest) returns (QueryDelegateStakeRemovalResponse) { option (cosmos.query.v1.module_query_safe) = true; - option (google.api.http).get = - "/emissions/v3/delegate_stake_removal/{block_height}/{topic_id}/" - "{delegator}/{reputer}"; + option (google.api.http).get = "/emissions/v3/delegate_stake_removal/{block_height}/{topic_id}/{delegator}/{reputer}"; } rpc GetPreviousTopicWeight(QueryPreviousTopicWeightRequest) returns (QueryPreviousTopicWeightResponse) { @@ -302,11 +290,29 @@ service Query { option (google.api.http).get = "/emissions/v3/inference_scores_until_block/{topic_id}/{block_height}"; } + rpc GetPreviousTopicQuantileForecasterScoreEma(QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) returns (QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) { + option (cosmos.query.v1.module_query_safe) = true; + option (google.api.http).get = "/emissions/v3/topic_quantile_forecaster_score_ema/{topic_id}"; + } + + rpc GetPreviousTopicQuantileInfererScoreEma(QueryGetPreviousTopicQuantileInfererScoreEmaRequest) returns (QueryGetPreviousTopicQuantileInfererScoreEmaResponse) { + option (cosmos.query.v1.module_query_safe) = true; + option (google.api.http).get = "/emissions/v3/topic_quantile_inferer_score_ema/{topic_id}"; + } + + rpc GetPreviousTopicQuantileReputerScoreEma(QueryGetPreviousTopicQuantileReputerScoreEmaRequest) returns (QueryGetPreviousTopicQuantileReputerScoreEmaResponse) { + option (cosmos.query.v1.module_query_safe) = true; + option (google.api.http).get = "/emissions/v3/topic_quantile_reputer_score_ema/{topic_id}"; + } + rpc GetWorkerInferenceScoresAtBlock(QueryWorkerInferenceScoresAtBlockRequest) returns (QueryWorkerInferenceScoresAtBlockResponse) { option (cosmos.query.v1.module_query_safe) = true; - option (google.api.http).get = - "/emissions/v3/worker_inference_scores_at_block/{topic_id}/" - "{block_height}"; + option (google.api.http).get = "/emissions/v3/worker_inference_scores_at_block/{topic_id}/{block_height}"; + } + + rpc GetCurrentLowestInfererScore(QueryCurrentLowestInfererScoreRequest) returns (QueryCurrentLowestInfererScoreResponse) { + option (cosmos.query.v1.module_query_safe) = true; + option (google.api.http).get = "/emissions/v3/current_lowest_inferer_score/{topic_id}"; } rpc GetForecastScoresUntilBlock(QueryForecastScoresUntilBlockRequest) returns (QueryForecastScoresUntilBlockResponse) { @@ -316,9 +322,12 @@ service Query { rpc GetWorkerForecastScoresAtBlock(QueryWorkerForecastScoresAtBlockRequest) returns (QueryWorkerForecastScoresAtBlockResponse) { option (cosmos.query.v1.module_query_safe) = true; - option (google.api.http).get = - "/emissions/v3/worker_forecast_scores_at_block/{topic_id}/" - "{block_height}"; + option (google.api.http).get = "/emissions/v3/worker_forecast_scores_at_block/{topic_id}/{block_height}"; + } + + rpc GetCurrentLowestForecasterScore(QueryCurrentLowestForecasterScoreRequest) returns (QueryCurrentLowestForecasterScoreResponse) { + option (cosmos.query.v1.module_query_safe) = true; + option (google.api.http).get = "/emissions/v3/current_lowest_forecaster_score/{topic_id}"; } rpc GetReputersScoresAtBlock(QueryReputersScoresAtBlockRequest) returns (QueryReputersScoresAtBlockResponse) { @@ -326,6 +335,11 @@ service Query { option (google.api.http).get = "/emissions/v3/reputers_scores_at_block/{topic_id}/{block_height}"; } + rpc GetCurrentLowestReputerScore(QueryCurrentLowestReputerScoreRequest) returns (QueryCurrentLowestReputerScoreResponse) { + option (cosmos.query.v1.module_query_safe) = true; + option (google.api.http).get = "/emissions/v3/current_lowest_reputer_score/{topic_id}"; + } + rpc GetListeningCoefficient(QueryListeningCoefficientRequest) returns (QueryListeningCoefficientResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/emissions/v3/listening_coefficient/{topic_id}/{reputer}"; @@ -1034,6 +1048,39 @@ message QueryInferenceScoresUntilBlockResponse { repeated Score scores = 1; } +message QueryGetPreviousTopicQuantileForecasterScoreEmaRequest { + uint64 topic_id = 1; +} + +message QueryGetPreviousTopicQuantileForecasterScoreEmaResponse { + string value = 1 [ + (gogoproto.customtype) = "github.com/allora-network/allora-chain/math.Dec", + (gogoproto.nullable) = false + ]; +} + +message QueryGetPreviousTopicQuantileInfererScoreEmaRequest { + uint64 topic_id = 1; +} + +message QueryGetPreviousTopicQuantileInfererScoreEmaResponse { + string value = 1 [ + (gogoproto.customtype) = "github.com/allora-network/allora-chain/math.Dec", + (gogoproto.nullable) = false + ]; +} + +message QueryGetPreviousTopicQuantileReputerScoreEmaRequest { + uint64 topic_id = 1; +} + +message QueryGetPreviousTopicQuantileReputerScoreEmaResponse { + string value = 1 [ + (gogoproto.customtype) = "github.com/allora-network/allora-chain/math.Dec", + (gogoproto.nullable) = false + ]; +} + message QueryWorkerInferenceScoresAtBlockRequest { uint64 topic_id = 1; int64 block_height = 2; @@ -1043,6 +1090,14 @@ message QueryWorkerInferenceScoresAtBlockResponse { Scores scores = 1; } +message QueryCurrentLowestInfererScoreRequest { + uint64 topic_id = 1; +} + +message QueryCurrentLowestInfererScoreResponse { + Score score = 1; +} + message QueryForecastScoresUntilBlockRequest { uint64 topic_id = 1; int64 block_height = 2; @@ -1061,6 +1116,14 @@ message QueryWorkerForecastScoresAtBlockResponse { Scores scores = 1; } +message QueryCurrentLowestForecasterScoreRequest { + uint64 topic_id = 1; +} + +message QueryCurrentLowestForecasterScoreResponse { + Score score = 1; +} + message QueryReputersScoresAtBlockRequest { uint64 topic_id = 1; int64 block_height = 2; @@ -1070,6 +1133,14 @@ message QueryReputersScoresAtBlockResponse { Scores scores = 1; } +message QueryCurrentLowestReputerScoreRequest { + uint64 topic_id = 1; +} + +message QueryCurrentLowestReputerScoreResponse { + Score score = 1; +} + message QueryListeningCoefficientRequest { uint64 topic_id = 1; string reputer = 2; diff --git a/x/emissions/types/errors.go b/x/emissions/types/errors.go index 76f157efe..12cd9c524 100644 --- a/x/emissions/types/errors.go +++ b/x/emissions/types/errors.go @@ -15,7 +15,7 @@ var ( ErrAddressAlreadyRegisteredInATopic = errors.Register(ModuleName, 8, "address already registered in a topic") ErrAddressIsNotRegisteredInAnyTopic = errors.Register(ModuleName, 9, "address is not registered in any topic") ErrAddressIsNotRegisteredInThisTopic = errors.Register(ModuleName, 10, "address is not registered in this topic") - ErrInsufficientStakeToRegister = errors.Register(ModuleName, 11, "insufficient stake to register") + ErrInsufficientStake = errors.Register(ModuleName, 11, "insufficient stake") // ErrLibP2PKeyRequired = errors.Register(ModuleName, 12, "libp2p key required") ErrAddressNotRegistered = errors.Register(ModuleName, 13, "address not registered") ErrInsufficientStakeToRemove = errors.Register(ModuleName, 14, "insufficient stake to remove") @@ -80,4 +80,6 @@ var ( ErrUnfulfilledNonceNotFound = errors.Register(ModuleName, 75, "unfulfilled nonce not found") ErrNotFound = errors.Register(ModuleName, 76, "not found") ErrNoValidForecastElements = errors.Register(ModuleName, 77, "no valid forecast elements found") + ErrCantUpdateEmaMoreThanOncePerWindow = errors.Register(ModuleName, 78, "cannot update EMA more than once per window") + ErrNoInferencesToInsert = errors.Register(ModuleName, 79, "no inferences to insert") ) diff --git a/x/emissions/types/genesis.pb.go b/x/emissions/types/genesis.pb.go index a5351530c..b2a186f81 100644 --- a/x/emissions/types/genesis.pb.go +++ b/x/emissions/types/genesis.pb.go @@ -167,6 +167,10 @@ type GenesisState struct { TopicToNextPossibleChurningBlock []*TopicIdAndBlockHeight `protobuf:"bytes,57,rep,name=topicToNextPossibleChurningBlock,proto3" json:"topicToNextPossibleChurningBlock,omitempty"` BlockToActiveTopics []*BlockHeightTopicIds `protobuf:"bytes,58,rep,name=blockToActiveTopics,proto3" json:"blockToActiveTopics,omitempty"` BlockToLowestActiveTopicWeight []*BlockHeightTopicIdWeightPair `protobuf:"bytes,59,rep,name=blockToLowestActiveTopicWeight,proto3" json:"blockToLowestActiveTopicWeight,omitempty"` + // EMA + PreviousTopicQuantileInfererScoreEma []*TopicIdAndDec `protobuf:"bytes,63,rep,name=previousTopicQuantileInfererScoreEma,proto3" json:"previousTopicQuantileInfererScoreEma,omitempty"` + PreviousTopicQuantileForecasterScoreEma []*TopicIdAndDec `protobuf:"bytes,64,rep,name=previousTopicQuantileForecasterScoreEma,proto3" json:"previousTopicQuantileForecasterScoreEma,omitempty"` + PreviousTopicQuantileReputerScoreEma []*TopicIdAndDec `protobuf:"bytes,65,rep,name=previousTopicQuantileReputerScoreEma,proto3" json:"previousTopicQuantileReputerScoreEma,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -601,6 +605,27 @@ func (m *GenesisState) GetBlockToLowestActiveTopicWeight() []*BlockHeightTopicId return nil } +func (m *GenesisState) GetPreviousTopicQuantileInfererScoreEma() []*TopicIdAndDec { + if m != nil { + return m.PreviousTopicQuantileInfererScoreEma + } + return nil +} + +func (m *GenesisState) GetPreviousTopicQuantileForecasterScoreEma() []*TopicIdAndDec { + if m != nil { + return m.PreviousTopicQuantileForecasterScoreEma + } + return nil +} + +func (m *GenesisState) GetPreviousTopicQuantileReputerScoreEma() []*TopicIdAndDec { + if m != nil { + return m.PreviousTopicQuantileReputerScoreEma + } + return nil +} + type TopicIdAndTopic struct { TopicId uint64 `protobuf:"varint,1,opt,name=TopicId,proto3" json:"TopicId,omitempty"` Topic *Topic `protobuf:"bytes,2,opt,name=Topic,proto3" json:"Topic,omitempty"` @@ -2370,157 +2395,160 @@ func init() { func init() { proto.RegisterFile("emissions/v3/genesis.proto", fileDescriptor_ddb55d068ee88122) } var fileDescriptor_ddb55d068ee88122 = []byte{ - // 2386 bytes of a gzipped FileDescriptorProto + // 2438 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x5a, 0xcd, 0x6f, 0x1b, 0xc7, - 0x15, 0xf7, 0x8a, 0xb4, 0x2c, 0x3d, 0x49, 0x36, 0x3d, 0xfa, 0x5a, 0x4b, 0x32, 0xcd, 0xac, 0x3f, - 0x22, 0x7f, 0x49, 0x8e, 0x5c, 0xd7, 0x6e, 0xdc, 0x06, 0xa5, 0xfc, 0xd1, 0xd0, 0xf5, 0x87, 0x30, - 0x54, 0xec, 0xd6, 0x09, 0xe0, 0xac, 0xc8, 0x11, 0xb5, 0xd0, 0x72, 0x87, 0xd9, 0x59, 0xca, 0xf2, - 0xad, 0x40, 0xd3, 0x53, 0x0b, 0x34, 0x68, 0x52, 0xa0, 0x45, 0x2f, 0x3d, 0xf6, 0x98, 0x43, 0x0f, - 0x05, 0x7a, 0x2e, 0x90, 0x4b, 0x81, 0xa0, 0xa7, 0xa2, 0x87, 0xa0, 0xb0, 0x0f, 0xbd, 0xf7, 0x2f, - 0x08, 0x76, 0x66, 0x76, 0xb9, 0x1f, 0xb3, 0x4b, 0x8a, 0xca, 0xc5, 0xe0, 0xee, 0xbc, 0xf7, 0x7b, - 0xbf, 0x99, 0xf7, 0xf6, 0xcd, 0xcc, 0xcf, 0x82, 0x05, 0xd2, 0xb6, 0x18, 0xb3, 0xa8, 0xc3, 0x56, - 0xf7, 0xae, 0xaf, 0xb6, 0x88, 0x43, 0x98, 0xc5, 0x56, 0x3a, 0x2e, 0xf5, 0x28, 0x9a, 0x0c, 0xc7, - 0x56, 0xf6, 0xae, 0x2f, 0x9c, 0x34, 0xdb, 0x96, 0x43, 0x57, 0xf9, 0xbf, 0xc2, 0x60, 0xe1, 0x54, - 0x83, 0xb2, 0x36, 0x65, 0x2f, 0xf8, 0xd3, 0xaa, 0x78, 0x90, 0x43, 0xf3, 0x31, 0x5c, 0x87, 0x36, - 0x89, 0x1c, 0xd0, 0x13, 0x03, 0x4e, 0x23, 0x18, 0x39, 0x15, 0x1b, 0xe9, 0x98, 0xae, 0xd9, 0x0e, - 0xd0, 0xe2, 0x2c, 0x5d, 0xd2, 0xe9, 0x7a, 0xc4, 0x55, 0x02, 0xb2, 0x06, 0x75, 0xd5, 0xa1, 0x98, - 0x67, 0xee, 0xaa, 0x47, 0x3c, 0xda, 0xb1, 0x1a, 0xea, 0x91, 0x57, 0x1d, 0xc2, 0x94, 0xf4, 0x5e, - 0x52, 0x77, 0x37, 0xa4, 0x30, 0xd3, 0xa2, 0x2d, 0x2a, 0x16, 0xc1, 0xff, 0x25, 0xde, 0x1a, 0xff, - 0xbf, 0x0c, 0x93, 0x3f, 0x11, 0x0b, 0x5a, 0xf7, 0x4c, 0x8f, 0xa0, 0x35, 0x18, 0x15, 0xb3, 0xd2, - 0xb5, 0x8a, 0xb6, 0x3c, 0xb1, 0x36, 0xb3, 0x12, 0x5d, 0xe0, 0x95, 0x0d, 0x3e, 0xb6, 0x5e, 0xfc, - 0xea, 0x9b, 0x33, 0x47, 0xb0, 0xb4, 0x44, 0x15, 0x98, 0x70, 0xc8, 0xbe, 0xb7, 0xe9, 0x53, 0xac, - 0x35, 0xf5, 0x42, 0x45, 0x5b, 0x2e, 0xe2, 0xe8, 0x2b, 0x74, 0x03, 0x46, 0xf9, 0x04, 0x98, 0x5e, - 0xac, 0x14, 0x96, 0x27, 0xd6, 0x4e, 0xc7, 0x51, 0xa5, 0x59, 0xd5, 0x69, 0xf2, 0x5f, 0x58, 0x1a, - 0x23, 0x03, 0x26, 0xcd, 0x86, 0x67, 0xed, 0x91, 0x4d, 0xe1, 0x7c, 0xb4, 0x52, 0x58, 0x2e, 0xe2, - 0xd8, 0x3b, 0x74, 0x09, 0x4a, 0x2e, 0x79, 0x69, 0xba, 0x4d, 0x73, 0xcb, 0x0e, 0xec, 0x46, 0xb9, - 0x5d, 0xea, 0x3d, 0xaa, 0xc2, 0x24, 0x47, 0x7e, 0xc6, 0x17, 0x86, 0xe9, 0xc7, 0x32, 0xc9, 0x54, - 0x9d, 0x66, 0xb5, 0xe1, 0x51, 0xb7, 0xd6, 0xc4, 0x31, 0x17, 0x74, 0x07, 0xa6, 0xf8, 0x33, 0x16, - 0xf9, 0x65, 0xfa, 0xd8, 0x20, 0x18, 0x71, 0x1f, 0xf4, 0x04, 0x4a, 0xf2, 0x85, 0x4f, 0xf0, 0xb1, - 0x5f, 0x5f, 0xfa, 0x38, 0xc7, 0x39, 0x9b, 0xb5, 0x30, 0xeb, 0x36, 0x6d, 0xec, 0xbe, 0x4f, 0xac, - 0xd6, 0x8e, 0x87, 0x53, 0xce, 0xe8, 0x39, 0xcc, 0x58, 0xce, 0x36, 0x71, 0x89, 0x5b, 0xf7, 0x6b, - 0x8b, 0xad, 0xbf, 0xe2, 0xf6, 0x3a, 0x70, 0xd0, 0x0b, 0x4a, 0xd0, 0x08, 0xa2, 0x70, 0xc2, 0x4a, - 0x0c, 0xf4, 0x31, 0xcc, 0x6f, 0x53, 0x97, 0x34, 0x4c, 0xe6, 0x25, 0xe1, 0x27, 0x0e, 0x04, 0x9f, - 0x05, 0xe3, 0xb3, 0x97, 0x9f, 0x4b, 0x1c, 0x7e, 0xf2, 0x60, 0xec, 0x55, 0x18, 0xe8, 0x11, 0x94, - 0xa2, 0xb3, 0xba, 0xd7, 0x36, 0x99, 0xfe, 0x43, 0x8e, 0xfb, 0x96, 0x7a, 0xa9, 0x45, 0xc6, 0xb8, - 0x31, 0x4e, 0xb9, 0xa2, 0x3a, 0x4c, 0x27, 0x66, 0xc1, 0x11, 0x7f, 0x34, 0x28, 0xa2, 0xca, 0xdb, - 0xe7, 0x18, 0xe5, 0xce, 0x11, 0xdf, 0x1b, 0x98, 0x63, 0xd2, 0x15, 0xb9, 0xb0, 0x28, 0xdf, 0x3d, - 0xb4, 0x98, 0x47, 0x1c, 0xcb, 0x69, 0xdd, 0xa1, 0x64, 0x7b, 0xdb, 0x6a, 0x58, 0xc4, 0xf1, 0xf4, - 0x12, 0x47, 0xbe, 0x96, 0x87, 0xac, 0xf2, 0xc3, 0x79, 0xa0, 0x88, 0xc0, 0xe9, 0x8e, 0x4b, 0xf6, - 0x2c, 0xda, 0x65, 0xb2, 0xca, 0x45, 0x79, 0xde, 0x77, 0xfd, 0x8f, 0x95, 0x3a, 0xfa, 0x49, 0x1e, - 0xf5, 0x4c, 0x5e, 0xd4, 0xbb, 0xa4, 0x81, 0xf3, 0x51, 0x90, 0x05, 0x67, 0x02, 0x83, 0x1a, 0x4f, - 0x8d, 0xd3, 0x20, 0x89, 0x40, 0x68, 0xb0, 0x40, 0xfd, 0x70, 0x50, 0x0b, 0xca, 0x81, 0xc9, 0x7d, - 0x99, 0xb3, 0x44, 0xa4, 0xe9, 0xc1, 0x22, 0xf5, 0x81, 0x41, 0x0d, 0x58, 0x4a, 0x5a, 0xc8, 0x6c, - 0x62, 0xd3, 0xb3, 0xa8, 0x3e, 0x33, 0x58, 0x98, 0x5c, 0x10, 0xb4, 0x01, 0xe0, 0x51, 0xcf, 0xb4, - 0xeb, 0xfe, 0x06, 0xa3, 0xcf, 0x56, 0xb4, 0xe5, 0xf1, 0xf5, 0x6b, 0x7e, 0x13, 0xff, 0xcf, 0x37, - 0x67, 0x66, 0xc5, 0xa6, 0xc8, 0x9a, 0xbb, 0x2b, 0x16, 0x5d, 0x6d, 0x9b, 0xde, 0xce, 0x4a, 0xcd, - 0xf1, 0xfe, 0xf5, 0xd7, 0xab, 0x20, 0x77, 0xcb, 0x9a, 0xe3, 0xfd, 0xe5, 0x7f, 0x5f, 0x5e, 0xd2, - 0x70, 0x04, 0x03, 0xdd, 0xf6, 0x11, 0x3b, 0x56, 0x43, 0x20, 0xce, 0x71, 0x92, 0x8b, 0x59, 0xdd, - 0xab, 0xe6, 0x78, 0x38, 0x62, 0x8e, 0x3e, 0x80, 0x59, 0xbe, 0xd5, 0xc9, 0x2c, 0x57, 0xbb, 0xde, - 0x0e, 0x75, 0x2d, 0xef, 0x95, 0x3e, 0xdf, 0x7f, 0xb2, 0x3e, 0x96, 0xda, 0x3b, 0x84, 0xad, 0x77, - 0xdb, 0xf7, 0x5d, 0xda, 0xbe, 0x4b, 0x6c, 0xd2, 0x32, 0x3d, 0xea, 0xea, 0xfa, 0x41, 0x60, 0x93, - 0xde, 0xe8, 0x23, 0x38, 0xd1, 0x14, 0x0f, 0xa4, 0xc9, 0xf9, 0x33, 0xfd, 0x14, 0x07, 0x5c, 0x53, - 0x02, 0x86, 0x8e, 0x92, 0x5f, 0xf8, 0x5c, 0x73, 0xb6, 0x29, 0x4e, 0x42, 0xf9, 0x85, 0xc6, 0xc3, - 0xc6, 0x62, 0xb2, 0x0f, 0x3a, 0xd4, 0x91, 0xfe, 0xfa, 0xc2, 0x60, 0xec, 0xfb, 0xc0, 0xa0, 0x67, - 0x30, 0x17, 0xc4, 0x16, 0x25, 0xb8, 0x41, 0xdc, 0xfa, 0x8e, 0xe9, 0x12, 0x7d, 0x71, 0xb0, 0x12, - 0xcb, 0x70, 0x47, 0xbb, 0x30, 0x23, 0xf3, 0xd1, 0xa6, 0x7b, 0xa6, 0x1d, 0xf6, 0xef, 0x25, 0x0e, - 0x7b, 0x33, 0x0e, 0x1b, 0x69, 0xdc, 0x32, 0x82, 0xe4, 0x57, 0x8f, 0x40, 0xf0, 0x95, 0x52, 0x82, - 0xa2, 0x0f, 0x53, 0xc1, 0x38, 0x43, 0xfd, 0x34, 0x0f, 0xf6, 0x76, 0x3c, 0x98, 0x24, 0x9f, 0xde, - 0x33, 0xb0, 0x12, 0x04, 0xfd, 0x46, 0x83, 0xa5, 0x60, 0x92, 0x75, 0xd5, 0x94, 0xca, 0x3c, 0xca, - 0xfb, 0xfd, 0xa6, 0x94, 0x51, 0x02, 0x24, 0x35, 0xc7, 0xdc, 0x68, 0xc8, 0xcb, 0x64, 0x23, 0xe6, - 0x7c, 0x46, 0xd5, 0xca, 0x93, 0xb1, 0x15, 0x93, 0xcf, 0x45, 0x45, 0xf7, 0x00, 0xac, 0xa0, 0x29, - 0x32, 0xbd, 0xc2, 0x63, 0x9c, 0xcf, 0x2f, 0xbe, 0xa0, 0x85, 0x46, 0x1c, 0xd1, 0x3a, 0x8c, 0x07, - 0x9b, 0x1d, 0xd3, 0xdf, 0xe2, 0x28, 0xe7, 0xf2, 0x50, 0xc2, 0xf6, 0xd8, 0x73, 0x43, 0x3f, 0x86, - 0x63, 0x2f, 0xe5, 0x59, 0xcd, 0x50, 0x1d, 0x06, 0x1e, 0x5a, 0x5b, 0x1b, 0x6b, 0x9d, 0x9f, 0x92, - 0x57, 0x55, 0xa7, 0xf9, 0x64, 0x7b, 0xbb, 0xb1, 0x63, 0x5a, 0xce, 0x63, 0xda, 0x24, 0x38, 0x70, - 0x43, 0xeb, 0x30, 0xe6, 0x06, 0x47, 0xb5, 0xb3, 0x07, 0x82, 0x08, 0xfd, 0xd0, 0x3d, 0x38, 0xc1, - 0x7b, 0xd7, 0x7d, 0x42, 0x30, 0xd9, 0x23, 0x4e, 0x97, 0xe8, 0xe7, 0xfa, 0xf7, 0xbb, 0xa4, 0x0f, - 0x7a, 0x04, 0xd3, 0x41, 0x8f, 0xe6, 0x96, 0xcf, 0x78, 0x32, 0xf4, 0xf3, 0xf9, 0x50, 0xfe, 0x87, - 0xa7, 0xf2, 0x43, 0x1b, 0x30, 0x65, 0xda, 0x76, 0xad, 0x97, 0xa9, 0x0b, 0x1c, 0xe8, 0x52, 0xbf, - 0xe3, 0x52, 0xcf, 0x03, 0xc7, 0x01, 0xd0, 0x23, 0x98, 0x34, 0x6d, 0xfb, 0x7e, 0x98, 0xb4, 0xb7, - 0x39, 0xe0, 0xc5, 0x7e, 0x80, 0xa1, 0x03, 0x8e, 0xb9, 0xa3, 0x0f, 0xe1, 0xb8, 0x69, 0xdb, 0x0f, - 0x29, 0x63, 0xeb, 0x5d, 0xa7, 0x69, 0x13, 0xa6, 0x2f, 0x73, 0xc0, 0xeb, 0xfd, 0x00, 0x65, 0xe1, - 0x3e, 0x35, 0xed, 0x2e, 0x91, 0xae, 0x38, 0x01, 0x85, 0x3e, 0x02, 0xe4, 0x10, 0xcf, 0xcf, 0x72, - 0x34, 0xc0, 0x45, 0x1e, 0xe0, 0x4a, 0xbf, 0x00, 0x31, 0x64, 0x05, 0x0e, 0xfa, 0x5c, 0x83, 0xe5, - 0x60, 0xcd, 0x37, 0x88, 0xdb, 0x20, 0x8e, 0x67, 0xb6, 0x64, 0xdb, 0xdb, 0xa4, 0xfc, 0xab, 0x69, - 0x86, 0x37, 0x80, 0x4b, 0x7c, 0x37, 0xbd, 0x29, 0x77, 0xd3, 0xd5, 0x96, 0xe5, 0xed, 0x74, 0xb7, - 0x56, 0x1a, 0xb4, 0xbd, 0x6a, 0xda, 0x36, 0x75, 0xcd, 0xab, 0x32, 0x40, 0xf0, 0xc8, 0x4b, 0x4c, - 0xec, 0xb3, 0x7e, 0x72, 0x07, 0x0e, 0x84, 0x30, 0x9c, 0xa4, 0x1d, 0xe2, 0x88, 0xab, 0xc8, 0x33, - 0xcb, 0x69, 0xd2, 0x97, 0x4c, 0xbf, 0xa9, 0xfa, 0xb2, 0x22, 0x73, 0x0d, 0x2e, 0x55, 0xb5, 0x26, - 0xc3, 0x69, 0x77, 0xf4, 0x33, 0x98, 0xef, 0x3a, 0xdb, 0x5d, 0x7b, 0xdb, 0xb2, 0x6d, 0xd2, 0x14, - 0x63, 0xfc, 0x4e, 0xc1, 0xf4, 0xcb, 0x1c, 0xb9, 0x9c, 0x55, 0x98, 0xc2, 0x0a, 0x67, 0xb9, 0xa3, - 0x1d, 0xd0, 0x23, 0x43, 0x72, 0x12, 0x12, 0xfa, 0x4a, 0x4e, 0x9e, 0xaa, 0x4e, 0x33, 0x3c, 0xfc, - 0x7d, 0xd2, 0x25, 0xcc, 0x93, 0x81, 0x32, 0xd1, 0x50, 0x0d, 0xa6, 0x6c, 0x93, 0x79, 0x77, 0x5d, - 0xab, 0x23, 0xba, 0xf4, 0xad, 0xc1, 0xef, 0x52, 0x71, 0x4f, 0xe4, 0xc0, 0xa2, 0x6d, 0x7a, 0x84, - 0xc9, 0xaf, 0xc4, 0x7d, 0x2c, 0x52, 0x87, 0x49, 0xcb, 0x25, 0x1e, 0xd3, 0xaf, 0xe6, 0xf1, 0x96, - 0x7b, 0x8d, 0xd5, 0xf6, 0xdb, 0x6a, 0xbb, 0x43, 0x9a, 0xbc, 0xcc, 0x70, 0x1e, 0x20, 0xf2, 0xa0, - 0x2c, 0x86, 0x7b, 0xa7, 0xb6, 0x44, 0xc8, 0x95, 0x21, 0x42, 0xf6, 0xc1, 0x44, 0xbf, 0xd2, 0xe0, - 0xac, 0x30, 0x79, 0xe2, 0x90, 0x9a, 0x93, 0x19, 0x7b, 0x35, 0xe7, 0x7b, 0x95, 0xb1, 0xb3, 0x28, - 0x0c, 0x82, 0x8f, 0xf6, 0xa1, 0x22, 0xcc, 0x1e, 0x9b, 0xd6, 0x1e, 0x51, 0x2f, 0xf9, 0xb5, 0x21, - 0xe6, 0xdf, 0x17, 0x15, 0xfd, 0x56, 0x83, 0xe5, 0x90, 0xe1, 0x93, 0x6e, 0x90, 0x1d, 0x35, 0x85, - 0x77, 0x86, 0x5f, 0x86, 0x81, 0x83, 0xa0, 0xdf, 0x6b, 0x70, 0x59, 0x61, 0x9c, 0x99, 0x9b, 0xb5, - 0xe1, 0x49, 0x1d, 0x24, 0x4e, 0x8a, 0x57, 0xcf, 0x50, 0xbd, 0x58, 0xd7, 0xbf, 0x23, 0x5e, 0x7d, - 0xe2, 0xa0, 0x3f, 0x69, 0xb0, 0xa2, 0xb6, 0xcf, 0x5c, 0xb2, 0xef, 0x0d, 0x4f, 0xed, 0x80, 0xa1, - 0xd0, 0x0a, 0x4c, 0xfb, 0x97, 0xaf, 0x17, 0x1e, 0x31, 0xdb, 0x2f, 0xcc, 0x66, 0xd3, 0x25, 0x8c, - 0x11, 0xa6, 0x8f, 0x54, 0x0a, 0xcb, 0xe3, 0xf8, 0xa4, 0x3f, 0xb4, 0x49, 0xcc, 0x76, 0x35, 0x18, - 0x40, 0x1f, 0xc3, 0x2c, 0x3f, 0x2e, 0x3c, 0x34, 0x99, 0x27, 0xba, 0xe8, 0x1d, 0xda, 0x6e, 0x5b, - 0x9e, 0x7e, 0x23, 0x67, 0x53, 0xf7, 0x59, 0x32, 0xc1, 0x92, 0xf3, 0xe6, 0xed, 0x10, 0xab, 0x81, - 0xd0, 0x16, 0xcc, 0x85, 0x03, 0xb2, 0x7d, 0xca, 0x10, 0xdf, 0x3f, 0x70, 0x88, 0x0c, 0x24, 0x44, - 0xa1, 0xc2, 0x47, 0x36, 0xe9, 0x63, 0xb2, 0xef, 0x6d, 0x50, 0xc6, 0xac, 0x2d, 0x9b, 0xdc, 0xd9, - 0xe9, 0xba, 0x8e, 0xe5, 0xb4, 0x44, 0x6f, 0xfe, 0xc1, 0xe0, 0xbd, 0xb9, 0x2f, 0x18, 0xaa, 0xc3, - 0xf4, 0x96, 0xff, 0x63, 0x93, 0x56, 0xa3, 0x3a, 0xe1, 0xbb, 0x2a, 0xf1, 0x24, 0x7d, 0x4a, 0x67, - 0x58, 0xe5, 0x8d, 0x5c, 0x28, 0xcb, 0xd7, 0x0f, 0xe9, 0x4b, 0xc2, 0xbc, 0xc8, 0xa0, 0x3c, 0xb2, - 0xdd, 0x56, 0xad, 0x58, 0x1a, 0x5f, 0x58, 0x6f, 0x98, 0x96, 0x8b, 0xfb, 0x20, 0x3e, 0x28, 0x8e, - 0x4d, 0x95, 0x8e, 0x3f, 0x28, 0x8e, 0x1d, 0x2f, 0x9d, 0x78, 0x50, 0x1c, 0x3b, 0x51, 0x2a, 0x25, - 0xb6, 0x8d, 0x40, 0xd4, 0x12, 0x29, 0x4d, 0x37, 0xf8, 0xc4, 0xf8, 0x92, 0x18, 0xc7, 0x71, 0x45, - 0x4c, 0x3e, 0x1a, 0x4f, 0xe1, 0x44, 0x42, 0x71, 0x45, 0x3a, 0x1c, 0x0b, 0xe4, 0x5b, 0x8d, 0xcb, - 0xb7, 0xc1, 0x23, 0xba, 0x08, 0x47, 0xf9, 0x4f, 0x7d, 0x84, 0xeb, 0xc1, 0xd3, 0x8a, 0xc4, 0x61, - 0x61, 0x61, 0xdc, 0x93, 0xb8, 0x3d, 0xe1, 0x33, 0x07, 0x57, 0x87, 0x63, 0xd2, 0x88, 0x23, 0x8f, - 0xe3, 0xe0, 0xd1, 0xa8, 0xc3, 0xac, 0xb2, 0x1e, 0x72, 0xc0, 0x2a, 0x30, 0x11, 0x31, 0xe4, 0x80, - 0x05, 0x1c, 0x7d, 0x65, 0x3c, 0x85, 0x39, 0xf5, 0xa1, 0x28, 0xe9, 0xab, 0xa5, 0x7c, 0xd1, 0x02, - 0x8c, 0x05, 0xd6, 0xfc, 0x0b, 0x2e, 0xe2, 0xf0, 0xd9, 0xf8, 0x54, 0x03, 0x3d, 0x4b, 0x92, 0x3c, - 0x0c, 0x61, 0x74, 0x05, 0x46, 0x05, 0x0a, 0xd7, 0xd3, 0x53, 0x42, 0xbc, 0x14, 0x3d, 0xa5, 0x8d, - 0xe1, 0xc1, 0xb4, 0x42, 0x1c, 0x1c, 0x66, 0xf9, 0xfd, 0x84, 0x73, 0x67, 0x19, 0x77, 0x5a, 0x11, - 0x17, 0x0b, 0x0b, 0xe3, 0x4b, 0x0d, 0x8c, 0xfe, 0xca, 0xe1, 0x50, 0x2c, 0x9e, 0xc2, 0x8c, 0x52, - 0xbd, 0x14, 0xa4, 0x8c, 0xe4, 0x1d, 0x4e, 0xa1, 0x57, 0x2a, 0xfd, 0x8d, 0xdf, 0x69, 0x70, 0x32, - 0xa5, 0x6c, 0x0c, 0xc5, 0xb0, 0x06, 0x85, 0xbb, 0xa4, 0xc1, 0x09, 0x1d, 0xe2, 0xf4, 0xef, 0x63, - 0x18, 0x6d, 0x98, 0x8a, 0xdd, 0x1d, 0x73, 0xf8, 0xac, 0x43, 0xa1, 0xe6, 0x88, 0x82, 0x19, 0x46, - 0xc1, 0xf3, 0x9d, 0x8d, 0x5f, 0xa7, 0xd6, 0xa0, 0x36, 0x64, 0x96, 0x24, 0x9b, 0xc2, 0x61, 0xd8, - 0xfc, 0x5d, 0x83, 0x73, 0x83, 0x28, 0x67, 0x39, 0x04, 0x97, 0x60, 0xbc, 0xa7, 0xf5, 0x09, 0x8a, - 0xbd, 0x17, 0xbe, 0x5f, 0xa0, 0xa4, 0x15, 0x04, 0xfd, 0x40, 0x11, 0xab, 0xc2, 0x54, 0x2c, 0x84, - 0x5e, 0xe4, 0xd5, 0xb5, 0x98, 0x21, 0xa8, 0x70, 0xc5, 0x26, 0xee, 0x61, 0xfc, 0x53, 0x83, 0x8b, - 0x03, 0x4b, 0x5a, 0x03, 0xf4, 0x9a, 0xc8, 0x24, 0x47, 0x52, 0x59, 0xc8, 0x98, 0xc6, 0x03, 0x28, - 0x25, 0x23, 0xc9, 0x99, 0x24, 0x2e, 0x6f, 0x29, 0xf9, 0x29, 0xe5, 0x67, 0x7c, 0x02, 0xa7, 0x32, - 0x45, 0xb3, 0x68, 0x21, 0x68, 0xf1, 0x42, 0xc8, 0xa6, 0x9d, 0x98, 0x72, 0x21, 0xdd, 0x9a, 0xbf, - 0x18, 0x81, 0x77, 0x87, 0x97, 0xd0, 0x0e, 0xb5, 0xa6, 0xb1, 0xc2, 0x29, 0xe4, 0x14, 0x4e, 0x31, - 0xbe, 0xe2, 0x5b, 0xa0, 0x67, 0xf1, 0xd1, 0x8f, 0xf2, 0x95, 0xbf, 0xa0, 0xac, 0xa1, 0xb4, 0x00, - 0x98, 0x89, 0x63, 0xfc, 0x41, 0x03, 0xa3, 0xbf, 0x96, 0x17, 0x9f, 0x82, 0x96, 0x33, 0x85, 0x91, - 0xf8, 0x14, 0x22, 0x8b, 0x52, 0xc8, 0xcd, 0x58, 0x31, 0x9d, 0xb1, 0x4f, 0x35, 0x98, 0xcf, 0x90, - 0x00, 0x87, 0x6a, 0x23, 0x37, 0x60, 0x3c, 0x04, 0x90, 0x1d, 0x7e, 0x3e, 0xbe, 0x7e, 0x3d, 0x89, - 0xb1, 0x67, 0x69, 0xfc, 0x42, 0x83, 0x39, 0xb5, 0x86, 0x38, 0x14, 0x8b, 0x35, 0x18, 0x0b, 0xfc, - 0x25, 0x89, 0xb9, 0x38, 0x89, 0x50, 0xa1, 0x0c, 0xed, 0x8c, 0x7d, 0xd0, 0xb3, 0x04, 0x44, 0x3f, - 0x33, 0xe1, 0x58, 0x90, 0x99, 0xf0, 0x05, 0x7a, 0x0f, 0x26, 0xa3, 0xd6, 0xf2, 0x78, 0xb5, 0x10, - 0x8f, 0x18, 0x13, 0x24, 0x63, 0xf6, 0x86, 0x17, 0xdd, 0x33, 0xf2, 0xf7, 0x30, 0xb9, 0x53, 0x8d, - 0x7c, 0x07, 0x3b, 0xd5, 0x17, 0x1a, 0x2c, 0xe5, 0x49, 0x8a, 0x87, 0x3a, 0xf2, 0xdc, 0x02, 0x88, - 0xc8, 0x99, 0x22, 0x05, 0x7a, 0x46, 0x1d, 0x30, 0x1c, 0xb1, 0x35, 0x3e, 0xd3, 0x60, 0x31, 0x47, - 0x98, 0x3c, 0x14, 0xab, 0x1b, 0x30, 0xde, 0x93, 0x44, 0x95, 0xc5, 0xd9, 0x13, 0x40, 0x7b, 0x96, - 0xc6, 0xdf, 0x34, 0x38, 0x3f, 0x90, 0xb4, 0x79, 0x28, 0x72, 0x75, 0x98, 0x56, 0x40, 0x4a, 0x9a, - 0x89, 0x0b, 0x90, 0x4a, 0x56, 0x55, 0x79, 0x1b, 0x7f, 0xd4, 0xa0, 0x9c, 0x2f, 0x9a, 0x1e, 0x8a, - 0xf3, 0x6d, 0x98, 0x88, 0x60, 0x49, 0xae, 0xa7, 0xe2, 0x5c, 0x23, 0x06, 0x38, 0x6a, 0x6d, 0x3c, - 0x87, 0x52, 0x52, 0x82, 0xcc, 0x21, 0x73, 0x05, 0x46, 0xa5, 0xe2, 0x38, 0xa2, 0x3a, 0x44, 0x4b, - 0x65, 0x51, 0xda, 0xf8, 0x67, 0xc3, 0x72, 0xbe, 0x08, 0x99, 0x13, 0xea, 0x29, 0xcc, 0xa8, 0x3c, - 0x64, 0x60, 0x43, 0x99, 0x8a, 0xb8, 0xc0, 0xa9, 0xf4, 0x37, 0xfe, 0x1c, 0x21, 0xa5, 0x16, 0x27, - 0x86, 0x6a, 0x76, 0x0f, 0xa0, 0x14, 0xb9, 0xdb, 0x73, 0x1c, 0x99, 0x89, 0xa4, 0xe0, 0x9b, 0xb0, - 0xc2, 0x29, 0x3f, 0xe3, 0x1f, 0xbd, 0x52, 0xcf, 0x97, 0x51, 0x72, 0x98, 0x2e, 0xc0, 0x98, 0x74, - 0x7a, 0x47, 0x52, 0x0d, 0x9f, 0x23, 0x63, 0x6b, 0x72, 0x93, 0x0e, 0x9f, 0x95, 0xf3, 0x28, 0x0e, - 0x39, 0x8f, 0xcf, 0x7b, 0xcd, 0x4d, 0xa9, 0x7b, 0xe4, 0xd0, 0xff, 0x39, 0xcc, 0x2a, 0x5d, 0x64, - 0xfa, 0xcf, 0x66, 0x72, 0x89, 0x0a, 0x37, 0xca, 0xd7, 0xc6, 0x2e, 0x4c, 0x2b, 0xa4, 0x8b, 0x01, - 0x8e, 0x3d, 0x6b, 0xb1, 0x6b, 0xab, 0x62, 0x3f, 0x0b, 0x65, 0x90, 0xde, 0x75, 0xf6, 0x97, 0x1a, - 0x2c, 0xe5, 0x09, 0x19, 0x03, 0x84, 0xad, 0xc2, 0x44, 0x54, 0x2b, 0x11, 0x91, 0xd5, 0xff, 0xb7, - 0x1c, 0x11, 0x48, 0xa2, 0x3e, 0xeb, 0xf8, 0xab, 0xd7, 0x65, 0xed, 0xeb, 0xd7, 0x65, 0xed, 0xbf, - 0xaf, 0xcb, 0xda, 0x67, 0x6f, 0xca, 0x47, 0xbe, 0x7e, 0x53, 0x3e, 0xf2, 0xef, 0x37, 0xe5, 0x23, - 0xcf, 0x6f, 0x0d, 0xb8, 0x6b, 0xed, 0xaf, 0xf6, 0xfe, 0x12, 0x8e, 0xff, 0x81, 0xdc, 0xd6, 0x28, - 0xff, 0x83, 0xb7, 0xeb, 0xdf, 0x06, 0x00, 0x00, 0xff, 0xff, 0x3c, 0x20, 0x41, 0x94, 0x4d, 0x28, - 0x00, 0x00, + 0x15, 0xf7, 0x8a, 0x8c, 0x2c, 0x3d, 0x49, 0x36, 0x3d, 0xd4, 0xc7, 0x58, 0x92, 0x69, 0x66, 0xfd, + 0x25, 0x3b, 0x36, 0xe5, 0xc8, 0x75, 0xed, 0xc6, 0x6d, 0x1a, 0xca, 0xb6, 0x1a, 0xba, 0xfe, 0x50, + 0x97, 0x8a, 0xdd, 0x3a, 0x01, 0x9c, 0x15, 0x39, 0xa2, 0x16, 0x5a, 0xee, 0x30, 0x3b, 0x4b, 0xd9, + 0xbe, 0x15, 0x68, 0x7a, 0x6a, 0x81, 0x06, 0x4d, 0x0a, 0xb4, 0xe8, 0xa5, 0xc7, 0x1e, 0x73, 0xe8, + 0xa1, 0x40, 0xcf, 0x05, 0x02, 0x14, 0x05, 0x82, 0x9e, 0x8a, 0x1e, 0x82, 0xc2, 0x3e, 0xf4, 0xdf, + 0x28, 0x76, 0x76, 0x76, 0xb9, 0x1f, 0xb3, 0xcb, 0x15, 0x95, 0x8b, 0xc1, 0xdd, 0x79, 0xef, 0xf7, + 0x7e, 0x6f, 0xde, 0xec, 0x9b, 0x99, 0x9f, 0x05, 0x8b, 0xa4, 0x6b, 0x30, 0x66, 0x50, 0x8b, 0xad, + 0xee, 0x5f, 0x5b, 0xed, 0x10, 0x8b, 0x30, 0x83, 0xd5, 0x7a, 0x36, 0x75, 0x28, 0x9a, 0x0e, 0xc6, + 0x6a, 0xfb, 0xd7, 0x16, 0x4f, 0xe8, 0x5d, 0xc3, 0xa2, 0xab, 0xfc, 0x5f, 0xcf, 0x60, 0xf1, 0x64, + 0x8b, 0xb2, 0x2e, 0x65, 0xcf, 0xf8, 0xd3, 0xaa, 0xf7, 0x20, 0x86, 0x16, 0x22, 0xb8, 0x16, 0x6d, + 0x13, 0x31, 0x80, 0x63, 0x03, 0x56, 0xcb, 0x1f, 0x39, 0x19, 0x19, 0xe9, 0xe9, 0xb6, 0xde, 0xf5, + 0xd1, 0xa2, 0x2c, 0x6d, 0xd2, 0xeb, 0x3b, 0xc4, 0x96, 0x02, 0xb2, 0x16, 0xb5, 0xe5, 0xa1, 0x98, + 0xa3, 0xef, 0xc9, 0x47, 0x1c, 0xda, 0x33, 0x5a, 0xf2, 0x91, 0x97, 0x3d, 0xc2, 0xa4, 0xf4, 0x9e, + 0x53, 0x7b, 0x2f, 0xa0, 0x30, 0xdb, 0xa1, 0x1d, 0xea, 0x4d, 0x82, 0xfb, 0xcb, 0x7b, 0xab, 0xfe, + 0xa3, 0x06, 0xd3, 0x3f, 0xf2, 0x26, 0xb4, 0xe9, 0xe8, 0x0e, 0x41, 0x6b, 0x30, 0xee, 0x65, 0x85, + 0x95, 0xaa, 0xb2, 0x32, 0xb5, 0x36, 0x5b, 0x0b, 0x4f, 0x70, 0x6d, 0x93, 0x8f, 0xad, 0x17, 0xbf, + 0xfa, 0xe6, 0xf4, 0x11, 0x4d, 0x58, 0xa2, 0x2a, 0x4c, 0x59, 0xe4, 0x85, 0xb3, 0xe5, 0x52, 0x6c, + 0xb4, 0x71, 0xa1, 0xaa, 0xac, 0x14, 0xb5, 0xf0, 0x2b, 0x74, 0x1d, 0xc6, 0x79, 0x02, 0x0c, 0x17, + 0xab, 0x85, 0x95, 0xa9, 0xb5, 0x53, 0x51, 0x54, 0x61, 0x56, 0xb7, 0xda, 0xfc, 0x97, 0x26, 0x8c, + 0x91, 0x0a, 0xd3, 0x7a, 0xcb, 0x31, 0xf6, 0xc9, 0x96, 0xe7, 0xfc, 0x46, 0xb5, 0xb0, 0x52, 0xd4, + 0x22, 0xef, 0xd0, 0x25, 0x28, 0xd9, 0xe4, 0xb9, 0x6e, 0xb7, 0xf5, 0x6d, 0xd3, 0xb7, 0x1b, 0xe7, + 0x76, 0x89, 0xf7, 0xa8, 0x0e, 0xd3, 0x1c, 0xf9, 0x09, 0x9f, 0x18, 0x86, 0x8f, 0xa6, 0x92, 0xa9, + 0x5b, 0xed, 0x7a, 0xcb, 0xa1, 0x76, 0xa3, 0xad, 0x45, 0x5c, 0xd0, 0x6d, 0x98, 0xe1, 0xcf, 0x9a, + 0x57, 0x5f, 0x86, 0x27, 0xf2, 0x60, 0x44, 0x7d, 0xd0, 0x23, 0x28, 0x89, 0x17, 0x2e, 0xc1, 0x87, + 0xee, 0xfa, 0xc2, 0x93, 0x1c, 0xe7, 0x4c, 0xda, 0xc4, 0xac, 0x9b, 0xb4, 0xb5, 0xf7, 0x3e, 0x31, + 0x3a, 0xbb, 0x8e, 0x96, 0x70, 0x46, 0x4f, 0x61, 0xd6, 0xb0, 0x76, 0x88, 0x4d, 0xec, 0xa6, 0xbb, + 0xb6, 0xd8, 0xfa, 0x4b, 0x6e, 0x8f, 0x81, 0x83, 0x9e, 0x97, 0x82, 0x86, 0x10, 0x3d, 0x27, 0x4d, + 0x8a, 0x81, 0x3e, 0x86, 0x85, 0x1d, 0x6a, 0x93, 0x96, 0xce, 0x9c, 0x38, 0xfc, 0xd4, 0x81, 0xe0, + 0xd3, 0x60, 0x5c, 0xf6, 0xe2, 0x73, 0x89, 0xc2, 0x4f, 0x1f, 0x8c, 0xbd, 0x0c, 0x03, 0x3d, 0x80, + 0x52, 0x38, 0xab, 0xbb, 0x5d, 0x9d, 0xe1, 0xef, 0x73, 0xdc, 0x37, 0xe5, 0x53, 0xed, 0x55, 0x8c, + 0x1b, 0x6b, 0x09, 0x57, 0xd4, 0x84, 0x72, 0x2c, 0x0b, 0x8e, 0xf8, 0x83, 0xbc, 0x88, 0x32, 0x6f, + 0x97, 0x63, 0x98, 0x3b, 0x47, 0x7c, 0x37, 0x37, 0xc7, 0xb8, 0x2b, 0xb2, 0x61, 0x49, 0xbc, 0xbb, + 0x6f, 0x30, 0x87, 0x58, 0x86, 0xd5, 0xb9, 0x4d, 0xc9, 0xce, 0x8e, 0xd1, 0x32, 0x88, 0xe5, 0xe0, + 0x12, 0x47, 0xbe, 0x9a, 0x85, 0x2c, 0xf3, 0xd3, 0xb2, 0x40, 0x11, 0x81, 0x53, 0x3d, 0x9b, 0xec, + 0x1b, 0xb4, 0xcf, 0xc4, 0x2a, 0xf7, 0x96, 0xe7, 0x86, 0xed, 0x7e, 0xac, 0xd4, 0xc2, 0x27, 0x78, + 0xd4, 0xd3, 0x59, 0x51, 0xef, 0x90, 0x96, 0x96, 0x8d, 0x82, 0x0c, 0x38, 0xed, 0x1b, 0x34, 0x78, + 0x69, 0xac, 0x16, 0x89, 0x05, 0x42, 0xf9, 0x02, 0x0d, 0xc3, 0x41, 0x1d, 0xa8, 0xf8, 0x26, 0x1b, + 0xa2, 0x66, 0xb1, 0x48, 0xe5, 0x7c, 0x91, 0x86, 0xc0, 0xa0, 0x16, 0x2c, 0xc7, 0x2d, 0x44, 0x35, + 0x35, 0xdd, 0x31, 0x28, 0x9e, 0xcd, 0x17, 0x26, 0x13, 0x04, 0x6d, 0x02, 0x38, 0xd4, 0xd1, 0xcd, + 0xa6, 0xbb, 0xc1, 0xe0, 0xb9, 0xaa, 0xb2, 0x32, 0xb9, 0x7e, 0xd5, 0x6d, 0xe2, 0xff, 0xf9, 0xe6, + 0xf4, 0x9c, 0xb7, 0x29, 0xb2, 0xf6, 0x5e, 0xcd, 0xa0, 0xab, 0x5d, 0xdd, 0xd9, 0xad, 0x35, 0x2c, + 0xe7, 0x5f, 0x7f, 0xb9, 0x02, 0x62, 0xb7, 0x6c, 0x58, 0xce, 0x9f, 0xff, 0xf7, 0xe5, 0x25, 0x45, + 0x0b, 0x61, 0xa0, 0x5b, 0x2e, 0x62, 0xcf, 0x68, 0x79, 0x88, 0xf3, 0x9c, 0xe4, 0x52, 0x5a, 0xf7, + 0x6a, 0x58, 0x8e, 0x16, 0x32, 0x47, 0x1f, 0xc0, 0x1c, 0xdf, 0xea, 0x44, 0x95, 0xeb, 0x7d, 0x67, + 0x97, 0xda, 0x86, 0xf3, 0x12, 0x2f, 0x0c, 0x4f, 0xd6, 0xc5, 0x92, 0x7b, 0x07, 0xb0, 0xcd, 0x7e, + 0x77, 0xc3, 0xa6, 0xdd, 0x3b, 0xc4, 0x24, 0x1d, 0xdd, 0xa1, 0x36, 0xc6, 0x07, 0x81, 0x8d, 0x7b, + 0xa3, 0x8f, 0xe0, 0x78, 0xdb, 0x7b, 0x20, 0x6d, 0xce, 0x9f, 0xe1, 0x93, 0x1c, 0x70, 0x4d, 0x0a, + 0x18, 0x38, 0x0a, 0x7e, 0xc1, 0x73, 0xc3, 0xda, 0xa1, 0x5a, 0x1c, 0xca, 0x5d, 0x68, 0x3c, 0x6c, + 0x24, 0x26, 0xfb, 0xa0, 0x47, 0x2d, 0xe1, 0x8f, 0x17, 0xf3, 0xb1, 0x1f, 0x02, 0x83, 0x9e, 0xc0, + 0xbc, 0x1f, 0xdb, 0x5b, 0x82, 0x9b, 0xc4, 0x6e, 0xee, 0xea, 0x36, 0xc1, 0x4b, 0xf9, 0x96, 0x58, + 0x8a, 0x3b, 0xda, 0x83, 0x59, 0x51, 0x8f, 0x2e, 0xdd, 0xd7, 0xcd, 0xa0, 0x7f, 0x2f, 0x73, 0xd8, + 0x1b, 0x51, 0xd8, 0x50, 0xe3, 0x16, 0x11, 0x04, 0xbf, 0x66, 0x08, 0x82, 0xcf, 0x94, 0x14, 0x14, + 0x7d, 0x98, 0x08, 0xc6, 0x19, 0xe2, 0x53, 0x3c, 0xd8, 0x85, 0x68, 0x30, 0x41, 0x3e, 0xb9, 0x67, + 0x68, 0x52, 0x10, 0xf4, 0x6b, 0x05, 0x96, 0xfd, 0x24, 0x9b, 0xb2, 0x94, 0x2a, 0x3c, 0xca, 0xfb, + 0xc3, 0x52, 0x4a, 0x59, 0x02, 0x24, 0x91, 0x63, 0x66, 0x34, 0xe4, 0xa4, 0xb2, 0xf1, 0x72, 0x3e, + 0x2d, 0x6b, 0xe5, 0xf1, 0xd8, 0x92, 0xe4, 0x33, 0x51, 0xd1, 0x5d, 0x00, 0xc3, 0x6f, 0x8a, 0x0c, + 0x57, 0x79, 0x8c, 0x73, 0xd9, 0x8b, 0xcf, 0x6f, 0xa1, 0x21, 0x47, 0xb4, 0x0e, 0x93, 0xfe, 0x66, + 0xc7, 0xf0, 0x9b, 0x1c, 0xe5, 0x6c, 0x16, 0x4a, 0xd0, 0x1e, 0x07, 0x6e, 0xe8, 0x3d, 0x38, 0xfa, + 0x5c, 0x9c, 0xd5, 0x54, 0xd9, 0x61, 0xe0, 0xbe, 0xb1, 0xbd, 0xb9, 0xd6, 0xfb, 0x31, 0x79, 0x59, + 0xb7, 0xda, 0x8f, 0x76, 0x76, 0x5a, 0xbb, 0xba, 0x61, 0x3d, 0xa4, 0x6d, 0xa2, 0xf9, 0x6e, 0x68, + 0x1d, 0x26, 0x6c, 0xff, 0xa8, 0x76, 0xe6, 0x40, 0x10, 0x81, 0x1f, 0xba, 0x0b, 0xc7, 0x79, 0xef, + 0xda, 0x20, 0x44, 0x23, 0xfb, 0xc4, 0xea, 0x13, 0x7c, 0x76, 0x78, 0xbf, 0x8b, 0xfb, 0xa0, 0x07, + 0x50, 0xf6, 0x7b, 0x34, 0xb7, 0x7c, 0xc2, 0x8b, 0x81, 0xcf, 0x65, 0x43, 0xb9, 0x1f, 0x9e, 0xcc, + 0x0f, 0x6d, 0xc2, 0x8c, 0x6e, 0x9a, 0x8d, 0x41, 0xa5, 0xce, 0x73, 0xa0, 0x4b, 0xc3, 0x8e, 0x4b, + 0x03, 0x0f, 0x2d, 0x0a, 0x80, 0x1e, 0xc0, 0xb4, 0x6e, 0x9a, 0x1b, 0x41, 0xd1, 0x2e, 0x70, 0xc0, + 0x8b, 0xc3, 0x00, 0x03, 0x07, 0x2d, 0xe2, 0x8e, 0x3e, 0x84, 0x63, 0xba, 0x69, 0xde, 0xa7, 0x8c, + 0xad, 0xf7, 0xad, 0xb6, 0x49, 0x18, 0x5e, 0xe1, 0x80, 0xd7, 0x86, 0x01, 0x8a, 0x85, 0xfb, 0x58, + 0x37, 0xfb, 0x44, 0xb8, 0x6a, 0x31, 0x28, 0xf4, 0x11, 0x20, 0x8b, 0x38, 0x6e, 0x95, 0xc3, 0x01, + 0x2e, 0xf2, 0x00, 0x97, 0x87, 0x05, 0x88, 0x20, 0x4b, 0x70, 0xd0, 0xe7, 0x0a, 0xac, 0xf8, 0x73, + 0xbe, 0x49, 0xec, 0x16, 0xb1, 0x1c, 0xbd, 0x23, 0xda, 0xde, 0x16, 0xe5, 0x5f, 0x4d, 0x3b, 0xb8, + 0x01, 0x5c, 0xe2, 0xbb, 0xe9, 0x0d, 0xb1, 0x9b, 0xae, 0x76, 0x0c, 0x67, 0xb7, 0xbf, 0x5d, 0x6b, + 0xd1, 0xee, 0xaa, 0x6e, 0x9a, 0xd4, 0xd6, 0xaf, 0x88, 0x00, 0xfe, 0x23, 0x5f, 0x62, 0xde, 0x3e, + 0xeb, 0x16, 0x37, 0x77, 0x20, 0xa4, 0xc1, 0x09, 0xda, 0x23, 0x96, 0x77, 0x15, 0x79, 0x62, 0x58, + 0x6d, 0xfa, 0x9c, 0xe1, 0x1b, 0xb2, 0x2f, 0x2b, 0x94, 0xab, 0x7f, 0xa9, 0x6a, 0xb4, 0x99, 0x96, + 0x74, 0x47, 0x3f, 0x85, 0x85, 0xbe, 0xb5, 0xd3, 0x37, 0x77, 0x0c, 0xd3, 0x24, 0x6d, 0x6f, 0x8c, + 0xdf, 0x29, 0x18, 0x7e, 0x8b, 0x23, 0x57, 0xd2, 0x16, 0xa6, 0x67, 0xa5, 0xa5, 0xb9, 0xa3, 0x5d, + 0xc0, 0xa1, 0x21, 0x91, 0x84, 0x80, 0xbe, 0x9c, 0x51, 0xa7, 0xba, 0xd5, 0x0e, 0x0e, 0x7f, 0x9f, + 0xf4, 0x09, 0x73, 0x44, 0xa0, 0x54, 0x34, 0xd4, 0x80, 0x19, 0x53, 0x67, 0xce, 0x1d, 0xdb, 0xe8, + 0x79, 0x5d, 0xfa, 0x66, 0xfe, 0xbb, 0x54, 0xd4, 0x13, 0x59, 0xb0, 0x64, 0xea, 0x0e, 0x61, 0xe2, + 0x2b, 0xb1, 0x1f, 0x7a, 0xa5, 0xd3, 0x48, 0xc7, 0x26, 0x0e, 0xc3, 0x57, 0xb2, 0x78, 0x8b, 0xbd, + 0xc6, 0xe8, 0xba, 0x6d, 0xb5, 0xdb, 0x23, 0x6d, 0xbe, 0xcc, 0xb4, 0x2c, 0x40, 0xe4, 0x40, 0xc5, + 0x1b, 0x1e, 0x9c, 0xda, 0x62, 0x21, 0x6b, 0x23, 0x84, 0x1c, 0x82, 0x89, 0x7e, 0xa9, 0xc0, 0x19, + 0xcf, 0xe4, 0x91, 0x45, 0x1a, 0x56, 0x6a, 0xec, 0xd5, 0x8c, 0xef, 0x55, 0xc4, 0x4e, 0xa3, 0x90, + 0x07, 0x1f, 0xbd, 0x80, 0xaa, 0x67, 0xf6, 0x50, 0x37, 0xf6, 0x89, 0x7c, 0xca, 0xaf, 0x8e, 0x90, + 0xff, 0x50, 0x54, 0xf4, 0x1b, 0x05, 0x56, 0x02, 0x86, 0x8f, 0xfa, 0x7e, 0x75, 0xe4, 0x14, 0xde, + 0x1e, 0x7d, 0x1a, 0x72, 0x07, 0x41, 0xbf, 0x53, 0xe0, 0x2d, 0x89, 0x71, 0x6a, 0x6d, 0xd6, 0x46, + 0x27, 0x75, 0x90, 0x38, 0x09, 0x5e, 0x03, 0x43, 0xf9, 0x64, 0x5d, 0xfb, 0x96, 0x78, 0x0d, 0x89, + 0x83, 0xfe, 0xa8, 0x40, 0x4d, 0x6e, 0x9f, 0x3a, 0x65, 0xdf, 0x19, 0x9d, 0xda, 0x01, 0x43, 0xa1, + 0x1a, 0x94, 0xdd, 0xcb, 0xd7, 0x33, 0x87, 0xe8, 0xdd, 0x67, 0x7a, 0xbb, 0x6d, 0x13, 0xc6, 0x08, + 0xc3, 0x63, 0xd5, 0xc2, 0xca, 0xa4, 0x76, 0xc2, 0x1d, 0xda, 0x22, 0x7a, 0xb7, 0xee, 0x0f, 0xa0, + 0x8f, 0x61, 0x8e, 0x1f, 0x17, 0xee, 0xeb, 0xcc, 0xf1, 0xba, 0xe8, 0x6d, 0xda, 0xed, 0x1a, 0x0e, + 0xbe, 0x9e, 0xb1, 0xa9, 0xbb, 0x2c, 0x99, 0xc7, 0x92, 0xf3, 0xe6, 0xed, 0x50, 0x93, 0x03, 0xa1, + 0x6d, 0x98, 0x0f, 0x06, 0x44, 0xfb, 0x14, 0x21, 0xbe, 0x7b, 0xe0, 0x10, 0x29, 0x48, 0x88, 0x42, + 0x95, 0x8f, 0x6c, 0xd1, 0x87, 0xe4, 0x85, 0xb3, 0x49, 0x19, 0x33, 0xb6, 0x4d, 0x72, 0x7b, 0xb7, + 0x6f, 0x5b, 0x86, 0xd5, 0xf1, 0x7a, 0xf3, 0xf7, 0xf2, 0xf7, 0xe6, 0xa1, 0x60, 0xa8, 0x09, 0xe5, + 0x6d, 0xf7, 0xc7, 0x16, 0xad, 0x87, 0x75, 0xc2, 0x77, 0x64, 0xe2, 0x49, 0xf2, 0x94, 0xce, 0x34, + 0x99, 0x37, 0xb2, 0xa1, 0x22, 0x5e, 0xdf, 0xa7, 0xcf, 0x09, 0x73, 0x42, 0x83, 0xe2, 0xc8, 0x76, + 0x4b, 0x36, 0x63, 0x49, 0x7c, 0xcf, 0x7a, 0x53, 0x37, 0x6c, 0x6d, 0x08, 0x22, 0xa2, 0x70, 0x36, + 0x72, 0xc6, 0xfb, 0x49, 0x5f, 0xb7, 0x1c, 0xc3, 0xf4, 0xbb, 0x97, 0x2f, 0xee, 0xe0, 0x1f, 0x0e, + 0x3f, 0x2c, 0xe6, 0x02, 0x42, 0x7d, 0xb8, 0x20, 0xb5, 0xdb, 0x48, 0xe8, 0x53, 0xf8, 0xbd, 0xe1, + 0x31, 0xf3, 0x62, 0xa5, 0xe6, 0xa9, 0x45, 0x45, 0x2c, 0x5c, 0x1f, 0x35, 0xcf, 0x18, 0xd0, 0xbd, + 0xe2, 0xc4, 0x4c, 0xe9, 0xd8, 0xbd, 0xe2, 0xc4, 0xb1, 0xd2, 0xf1, 0x7b, 0xc5, 0x89, 0xe3, 0xa5, + 0x52, 0x6c, 0x3f, 0xf6, 0xd5, 0x42, 0xef, 0x5b, 0x49, 0xee, 0x9c, 0xb1, 0xf1, 0x65, 0x6f, 0x5c, + 0x8b, 0x4a, 0x8d, 0xe2, 0x51, 0x7d, 0x0c, 0xc7, 0x63, 0x52, 0x36, 0xc2, 0x70, 0xd4, 0xd7, 0xc5, + 0x15, 0xae, 0x8b, 0xfb, 0x8f, 0xe8, 0x22, 0xbc, 0xc1, 0x7f, 0xe2, 0x31, 0x2e, 0xb4, 0x97, 0x25, + 0xb9, 0x6a, 0x9e, 0x85, 0x7a, 0x57, 0xe0, 0x0e, 0x14, 0xe5, 0x0c, 0x5c, 0x0c, 0x47, 0x85, 0x11, + 0x47, 0x9e, 0xd4, 0xfc, 0x47, 0xb5, 0x09, 0x73, 0xd2, 0x0f, 0x2d, 0x03, 0xac, 0x0a, 0x53, 0x21, + 0x43, 0x0e, 0x58, 0xd0, 0xc2, 0xaf, 0xd4, 0xc7, 0x30, 0x2f, 0x3f, 0x6d, 0xc6, 0x7d, 0x95, 0x84, + 0x2f, 0x5a, 0x84, 0x09, 0xdf, 0x9a, 0xb7, 0xc6, 0xa2, 0x16, 0x3c, 0xab, 0x9f, 0x2a, 0x80, 0xd3, + 0xb4, 0xde, 0xc3, 0x10, 0x46, 0x97, 0x61, 0xdc, 0x43, 0xe1, 0xff, 0x51, 0x91, 0xf8, 0x1f, 0x0e, + 0xa1, 0x26, 0x0b, 0x1b, 0xd5, 0x81, 0xb2, 0x44, 0x75, 0x1d, 0x65, 0xfa, 0xdd, 0x82, 0x73, 0x67, + 0x11, 0xb7, 0x2c, 0x89, 0xab, 0x79, 0x16, 0xea, 0x97, 0x0a, 0xa8, 0xc3, 0x25, 0xd9, 0x91, 0x58, + 0x3c, 0x86, 0x59, 0xa9, 0x2c, 0xec, 0x91, 0x52, 0xe3, 0x97, 0x63, 0x89, 0x10, 0x2c, 0xf5, 0x57, + 0x7f, 0xab, 0xc0, 0x89, 0x84, 0x64, 0x34, 0x12, 0xc3, 0x06, 0x14, 0xee, 0x90, 0x16, 0x27, 0x74, + 0x88, 0x6b, 0x95, 0x8b, 0xa1, 0x76, 0x61, 0x26, 0x72, 0x29, 0xcf, 0xe0, 0xb3, 0x0e, 0x85, 0x86, + 0xe5, 0x2d, 0x98, 0x51, 0xa4, 0x51, 0xd7, 0x59, 0xfd, 0x55, 0x62, 0x0e, 0x1a, 0x23, 0x56, 0x49, + 0xb0, 0x29, 0x1c, 0x86, 0xcd, 0xdf, 0x14, 0x38, 0x9b, 0x47, 0x92, 0xcc, 0x20, 0xb8, 0x0c, 0x93, + 0x03, 0x11, 0xd5, 0xa3, 0x38, 0x78, 0xe1, 0xfa, 0xf9, 0x12, 0x65, 0xc1, 0xa3, 0xef, 0x4b, 0x8d, + 0x75, 0x98, 0x89, 0x84, 0xc0, 0x45, 0xbe, 0xba, 0x96, 0x52, 0x94, 0x2a, 0x2e, 0x85, 0x45, 0x3d, + 0xd4, 0x7f, 0x2a, 0x70, 0x31, 0xb7, 0x56, 0x98, 0xa3, 0xd7, 0x84, 0x92, 0x1c, 0x4b, 0x54, 0x21, + 0x25, 0x8d, 0x7b, 0x50, 0x8a, 0x47, 0x12, 0x99, 0xc4, 0x6e, 0xc5, 0x09, 0x5d, 0x2f, 0xe1, 0xa7, + 0x7e, 0x02, 0x27, 0x53, 0xd5, 0xc8, 0xf0, 0x42, 0x50, 0xa2, 0x0b, 0x21, 0x9d, 0x76, 0x2c, 0xe5, + 0x42, 0xb2, 0x35, 0x7f, 0x31, 0x06, 0xef, 0x8c, 0xae, 0x4d, 0x1e, 0x6a, 0x4e, 0x23, 0x0b, 0xa7, + 0x90, 0xb1, 0x70, 0x8a, 0xd1, 0x19, 0xdf, 0x06, 0x9c, 0xc6, 0x07, 0xbf, 0xc1, 0x67, 0xfe, 0xbc, + 0x74, 0x0d, 0x25, 0x95, 0xd5, 0x54, 0x1c, 0xf5, 0xf7, 0x0a, 0xa8, 0xc3, 0x45, 0xd2, 0x68, 0x0a, + 0x4a, 0x46, 0x0a, 0x63, 0xd1, 0x14, 0x42, 0x93, 0x52, 0xc8, 0xac, 0x58, 0x31, 0x59, 0xb1, 0x4f, + 0x15, 0x58, 0x48, 0xd1, 0x56, 0x47, 0x6a, 0x23, 0xd7, 0x61, 0x32, 0x00, 0x10, 0x1d, 0x7e, 0x21, + 0x3a, 0x7f, 0x03, 0xed, 0x76, 0x60, 0xa9, 0xfe, 0x5c, 0x81, 0x79, 0xb9, 0x38, 0x3b, 0x12, 0x8b, + 0x35, 0x98, 0xf0, 0xfd, 0x05, 0x89, 0xf9, 0x28, 0x89, 0x40, 0xfa, 0x0d, 0xec, 0xd4, 0x17, 0x80, + 0xd3, 0x94, 0x59, 0xb7, 0x32, 0xc1, 0x98, 0x5f, 0x99, 0xe0, 0x05, 0x7a, 0x17, 0xa6, 0xc3, 0xd6, + 0xe2, 0x78, 0xb5, 0x18, 0x8d, 0x18, 0x51, 0x7a, 0x23, 0xf6, 0xaa, 0x13, 0xde, 0x33, 0xb2, 0xf7, + 0x30, 0xb1, 0x53, 0x8d, 0x7d, 0x0b, 0x3b, 0xd5, 0x17, 0x0a, 0x2c, 0x67, 0x69, 0xb5, 0x87, 0x3a, + 0xf2, 0xdc, 0x04, 0x08, 0xe9, 0xc4, 0x5e, 0x09, 0x70, 0xca, 0x3a, 0x60, 0x5a, 0xc8, 0x56, 0xfd, + 0x4c, 0x81, 0xa5, 0x0c, 0xc5, 0xf7, 0x50, 0xac, 0xae, 0xc3, 0xe4, 0x40, 0x6b, 0x96, 0x2e, 0xce, + 0x81, 0xb2, 0x3c, 0xb0, 0x54, 0xff, 0xaa, 0xc0, 0xb9, 0x5c, 0x9a, 0xf1, 0xa1, 0xc8, 0x35, 0xa1, + 0x2c, 0x81, 0x14, 0x34, 0x63, 0x37, 0x4b, 0x99, 0x5e, 0x2d, 0xf3, 0x56, 0xff, 0xa0, 0x40, 0x25, + 0x5b, 0x8d, 0x3e, 0x14, 0xe7, 0x5b, 0x30, 0x15, 0xc2, 0x12, 0x5c, 0x4f, 0x46, 0xb9, 0x86, 0x0c, + 0xb4, 0xb0, 0xb5, 0xfa, 0x14, 0x4a, 0x71, 0x6d, 0x37, 0x83, 0xcc, 0x65, 0x18, 0x17, 0x52, 0xee, + 0x98, 0xec, 0x10, 0x2d, 0x24, 0x5b, 0x61, 0xe3, 0x9e, 0x0d, 0x2b, 0xd9, 0xea, 0x6e, 0x46, 0xa8, + 0xc7, 0x30, 0x2b, 0xf3, 0x10, 0x81, 0x55, 0x69, 0x29, 0xa2, 0xca, 0xb1, 0xd4, 0x5f, 0xfd, 0x53, + 0x88, 0x94, 0x5c, 0xf5, 0x19, 0xa9, 0xd9, 0xdd, 0x83, 0x52, 0x48, 0x34, 0xe1, 0x38, 0xa2, 0x12, + 0x71, 0x25, 0x3d, 0x66, 0xa5, 0x25, 0xfc, 0xd4, 0xbf, 0x0f, 0x96, 0x7a, 0xb6, 0x3e, 0x95, 0xc1, + 0x74, 0x11, 0x26, 0x84, 0xd3, 0xdb, 0x82, 0x6a, 0xf0, 0x1c, 0x1a, 0x5b, 0x13, 0x9b, 0x74, 0xf0, + 0x2c, 0xcd, 0xa3, 0x38, 0x62, 0x1e, 0x9f, 0x0f, 0x9a, 0x9b, 0x54, 0x50, 0xca, 0xa0, 0xff, 0x33, + 0x98, 0x93, 0xba, 0x88, 0xf2, 0x9f, 0x49, 0xe5, 0x12, 0x56, 0xc4, 0xa4, 0xaf, 0xd5, 0x3d, 0x28, + 0x4b, 0x34, 0xa1, 0x1c, 0xc7, 0x9e, 0xb5, 0xc8, 0xb5, 0x55, 0xb2, 0x9f, 0x05, 0xfa, 0xd2, 0xe0, + 0x3a, 0xfb, 0x0b, 0x05, 0x96, 0xb3, 0x14, 0xa2, 0x1c, 0x61, 0xeb, 0x30, 0x15, 0x16, 0xa1, 0xbc, + 0xc8, 0xf2, 0xff, 0xb4, 0x0f, 0x29, 0x4f, 0x61, 0x9f, 0x75, 0xed, 0xab, 0x57, 0x15, 0xe5, 0xeb, + 0x57, 0x15, 0xe5, 0xbf, 0xaf, 0x2a, 0xca, 0x67, 0xaf, 0x2b, 0x47, 0xbe, 0x7e, 0x5d, 0x39, 0xf2, + 0xef, 0xd7, 0x95, 0x23, 0x4f, 0x6f, 0xe6, 0xdc, 0xb5, 0x5e, 0xac, 0x0e, 0xfe, 0xc4, 0x90, 0xff, + 0xe5, 0xe1, 0xf6, 0x38, 0xff, 0x4b, 0xc2, 0x6b, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x52, 0x69, + 0x59, 0x13, 0xa6, 0x29, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -2543,6 +2571,54 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.PreviousTopicQuantileReputerScoreEma) > 0 { + for iNdEx := len(m.PreviousTopicQuantileReputerScoreEma) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.PreviousTopicQuantileReputerScoreEma[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4 + i-- + dAtA[i] = 0x8a + } + } + if len(m.PreviousTopicQuantileForecasterScoreEma) > 0 { + for iNdEx := len(m.PreviousTopicQuantileForecasterScoreEma) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.PreviousTopicQuantileForecasterScoreEma[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4 + i-- + dAtA[i] = 0x82 + } + } + if len(m.PreviousTopicQuantileInfererScoreEma) > 0 { + for iNdEx := len(m.PreviousTopicQuantileInfererScoreEma) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.PreviousTopicQuantileInfererScoreEma[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xfa + } + } if len(m.ReputerScoreEmas) > 0 { for iNdEx := len(m.ReputerScoreEmas) - 1; iNdEx >= 0; iNdEx-- { { @@ -5134,6 +5210,24 @@ func (m *GenesisState) Size() (n int) { n += 2 + l + sovGenesis(uint64(l)) } } + if len(m.PreviousTopicQuantileInfererScoreEma) > 0 { + for _, e := range m.PreviousTopicQuantileInfererScoreEma { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } + if len(m.PreviousTopicQuantileForecasterScoreEma) > 0 { + for _, e := range m.PreviousTopicQuantileForecasterScoreEma { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } + if len(m.PreviousTopicQuantileReputerScoreEma) > 0 { + for _, e := range m.PreviousTopicQuantileReputerScoreEma { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } return n } @@ -7806,6 +7900,108 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 63: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PreviousTopicQuantileInfererScoreEma", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PreviousTopicQuantileInfererScoreEma = append(m.PreviousTopicQuantileInfererScoreEma, &TopicIdAndDec{}) + if err := m.PreviousTopicQuantileInfererScoreEma[len(m.PreviousTopicQuantileInfererScoreEma)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 64: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PreviousTopicQuantileForecasterScoreEma", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PreviousTopicQuantileForecasterScoreEma = append(m.PreviousTopicQuantileForecasterScoreEma, &TopicIdAndDec{}) + if err := m.PreviousTopicQuantileForecasterScoreEma[len(m.PreviousTopicQuantileForecasterScoreEma)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 65: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PreviousTopicQuantileReputerScoreEma", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PreviousTopicQuantileReputerScoreEma = append(m.PreviousTopicQuantileReputerScoreEma, &TopicIdAndDec{}) + if err := m.PreviousTopicQuantileReputerScoreEma[len(m.PreviousTopicQuantileReputerScoreEma)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/x/emissions/types/keys.go b/x/emissions/types/keys.go index fc1e7781a..621fceecf 100644 --- a/x/emissions/types/keys.go +++ b/x/emissions/types/keys.go @@ -83,4 +83,7 @@ var ( TopicToNextPossibleChurningBlockKey = collections.NewPrefix(68) BlockToActiveTopicsKey = collections.NewPrefix(69) BlockToLowestActiveTopicWeightKey = collections.NewPrefix(70) + PreviousTopicQuantileInfererScoreEmaKey = collections.NewPrefix(71) + PreviousTopicQuantileForecasterScoreEmaKey = collections.NewPrefix(72) + PreviousTopicQuantileReputerScoreEmaKey = collections.NewPrefix(73) ) diff --git a/x/emissions/types/query.pb.go b/x/emissions/types/query.pb.go index 44a58af24..3c52338f0 100644 --- a/x/emissions/types/query.pb.go +++ b/x/emissions/types/query.pb.go @@ -5822,6 +5822,273 @@ func (m *QueryInferenceScoresUntilBlockResponse) GetScores() []*Score { return nil } +type QueryGetPreviousTopicQuantileForecasterScoreEmaRequest struct { + TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` +} + +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Reset() { + *m = QueryGetPreviousTopicQuantileForecasterScoreEmaRequest{} +} +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) String() string { + return proto.CompactTextString(m) +} +func (*QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) ProtoMessage() {} +func (*QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_15a605632fb3bc37, []int{120} +} +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest.Merge(m, src) +} +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGetPreviousTopicQuantileForecasterScoreEmaRequest proto.InternalMessageInfo + +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) GetTopicId() uint64 { + if m != nil { + return m.TopicId + } + return 0 +} + +type QueryGetPreviousTopicQuantileForecasterScoreEmaResponse struct { + Value github_com_allora_network_allora_chain_math.Dec `protobuf:"bytes,1,opt,name=value,proto3,customtype=github.com/allora-network/allora-chain/math.Dec" json:"value"` +} + +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Reset() { + *m = QueryGetPreviousTopicQuantileForecasterScoreEmaResponse{} +} +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) String() string { + return proto.CompactTextString(m) +} +func (*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) ProtoMessage() {} +func (*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_15a605632fb3bc37, []int{121} +} +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse.Merge(m, src) +} +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGetPreviousTopicQuantileForecasterScoreEmaResponse proto.InternalMessageInfo + +type QueryGetPreviousTopicQuantileInfererScoreEmaRequest struct { + TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` +} + +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Reset() { + *m = QueryGetPreviousTopicQuantileInfererScoreEmaRequest{} +} +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) String() string { + return proto.CompactTextString(m) +} +func (*QueryGetPreviousTopicQuantileInfererScoreEmaRequest) ProtoMessage() {} +func (*QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_15a605632fb3bc37, []int{122} +} +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGetPreviousTopicQuantileInfererScoreEmaRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGetPreviousTopicQuantileInfererScoreEmaRequest.Merge(m, src) +} +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGetPreviousTopicQuantileInfererScoreEmaRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGetPreviousTopicQuantileInfererScoreEmaRequest proto.InternalMessageInfo + +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) GetTopicId() uint64 { + if m != nil { + return m.TopicId + } + return 0 +} + +type QueryGetPreviousTopicQuantileInfererScoreEmaResponse struct { + Value github_com_allora_network_allora_chain_math.Dec `protobuf:"bytes,1,opt,name=value,proto3,customtype=github.com/allora-network/allora-chain/math.Dec" json:"value"` +} + +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Reset() { + *m = QueryGetPreviousTopicQuantileInfererScoreEmaResponse{} +} +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) String() string { + return proto.CompactTextString(m) +} +func (*QueryGetPreviousTopicQuantileInfererScoreEmaResponse) ProtoMessage() {} +func (*QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_15a605632fb3bc37, []int{123} +} +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGetPreviousTopicQuantileInfererScoreEmaResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGetPreviousTopicQuantileInfererScoreEmaResponse.Merge(m, src) +} +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGetPreviousTopicQuantileInfererScoreEmaResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGetPreviousTopicQuantileInfererScoreEmaResponse proto.InternalMessageInfo + +type QueryGetPreviousTopicQuantileReputerScoreEmaRequest struct { + TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` +} + +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Reset() { + *m = QueryGetPreviousTopicQuantileReputerScoreEmaRequest{} +} +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) String() string { + return proto.CompactTextString(m) +} +func (*QueryGetPreviousTopicQuantileReputerScoreEmaRequest) ProtoMessage() {} +func (*QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_15a605632fb3bc37, []int{124} +} +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGetPreviousTopicQuantileReputerScoreEmaRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGetPreviousTopicQuantileReputerScoreEmaRequest.Merge(m, src) +} +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGetPreviousTopicQuantileReputerScoreEmaRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGetPreviousTopicQuantileReputerScoreEmaRequest proto.InternalMessageInfo + +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) GetTopicId() uint64 { + if m != nil { + return m.TopicId + } + return 0 +} + +type QueryGetPreviousTopicQuantileReputerScoreEmaResponse struct { + Value github_com_allora_network_allora_chain_math.Dec `protobuf:"bytes,1,opt,name=value,proto3,customtype=github.com/allora-network/allora-chain/math.Dec" json:"value"` +} + +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Reset() { + *m = QueryGetPreviousTopicQuantileReputerScoreEmaResponse{} +} +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) String() string { + return proto.CompactTextString(m) +} +func (*QueryGetPreviousTopicQuantileReputerScoreEmaResponse) ProtoMessage() {} +func (*QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_15a605632fb3bc37, []int{125} +} +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGetPreviousTopicQuantileReputerScoreEmaResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGetPreviousTopicQuantileReputerScoreEmaResponse.Merge(m, src) +} +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGetPreviousTopicQuantileReputerScoreEmaResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGetPreviousTopicQuantileReputerScoreEmaResponse proto.InternalMessageInfo + type QueryWorkerInferenceScoresAtBlockRequest struct { TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` BlockHeight int64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` @@ -5833,7 +6100,7 @@ func (m *QueryWorkerInferenceScoresAtBlockRequest) Reset() { func (m *QueryWorkerInferenceScoresAtBlockRequest) String() string { return proto.CompactTextString(m) } func (*QueryWorkerInferenceScoresAtBlockRequest) ProtoMessage() {} func (*QueryWorkerInferenceScoresAtBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{120} + return fileDescriptor_15a605632fb3bc37, []int{126} } func (m *QueryWorkerInferenceScoresAtBlockRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5888,7 +6155,7 @@ func (m *QueryWorkerInferenceScoresAtBlockResponse) String() string { } func (*QueryWorkerInferenceScoresAtBlockResponse) ProtoMessage() {} func (*QueryWorkerInferenceScoresAtBlockResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{121} + return fileDescriptor_15a605632fb3bc37, []int{127} } func (m *QueryWorkerInferenceScoresAtBlockResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5924,6 +6191,96 @@ func (m *QueryWorkerInferenceScoresAtBlockResponse) GetScores() *Scores { return nil } +type QueryCurrentLowestInfererScoreRequest struct { + TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` +} + +func (m *QueryCurrentLowestInfererScoreRequest) Reset() { *m = QueryCurrentLowestInfererScoreRequest{} } +func (m *QueryCurrentLowestInfererScoreRequest) String() string { return proto.CompactTextString(m) } +func (*QueryCurrentLowestInfererScoreRequest) ProtoMessage() {} +func (*QueryCurrentLowestInfererScoreRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_15a605632fb3bc37, []int{128} +} +func (m *QueryCurrentLowestInfererScoreRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCurrentLowestInfererScoreRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCurrentLowestInfererScoreRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryCurrentLowestInfererScoreRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCurrentLowestInfererScoreRequest.Merge(m, src) +} +func (m *QueryCurrentLowestInfererScoreRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryCurrentLowestInfererScoreRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCurrentLowestInfererScoreRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCurrentLowestInfererScoreRequest proto.InternalMessageInfo + +func (m *QueryCurrentLowestInfererScoreRequest) GetTopicId() uint64 { + if m != nil { + return m.TopicId + } + return 0 +} + +type QueryCurrentLowestInfererScoreResponse struct { + Score *Score `protobuf:"bytes,1,opt,name=score,proto3" json:"score,omitempty"` +} + +func (m *QueryCurrentLowestInfererScoreResponse) Reset() { + *m = QueryCurrentLowestInfererScoreResponse{} +} +func (m *QueryCurrentLowestInfererScoreResponse) String() string { return proto.CompactTextString(m) } +func (*QueryCurrentLowestInfererScoreResponse) ProtoMessage() {} +func (*QueryCurrentLowestInfererScoreResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_15a605632fb3bc37, []int{129} +} +func (m *QueryCurrentLowestInfererScoreResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCurrentLowestInfererScoreResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCurrentLowestInfererScoreResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryCurrentLowestInfererScoreResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCurrentLowestInfererScoreResponse.Merge(m, src) +} +func (m *QueryCurrentLowestInfererScoreResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryCurrentLowestInfererScoreResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCurrentLowestInfererScoreResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCurrentLowestInfererScoreResponse proto.InternalMessageInfo + +func (m *QueryCurrentLowestInfererScoreResponse) GetScore() *Score { + if m != nil { + return m.Score + } + return nil +} + type QueryForecastScoresUntilBlockRequest struct { TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` BlockHeight int64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` @@ -5933,7 +6290,7 @@ func (m *QueryForecastScoresUntilBlockRequest) Reset() { *m = QueryForec func (m *QueryForecastScoresUntilBlockRequest) String() string { return proto.CompactTextString(m) } func (*QueryForecastScoresUntilBlockRequest) ProtoMessage() {} func (*QueryForecastScoresUntilBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{122} + return fileDescriptor_15a605632fb3bc37, []int{130} } func (m *QueryForecastScoresUntilBlockRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5984,7 +6341,7 @@ func (m *QueryForecastScoresUntilBlockResponse) Reset() { *m = QueryFore func (m *QueryForecastScoresUntilBlockResponse) String() string { return proto.CompactTextString(m) } func (*QueryForecastScoresUntilBlockResponse) ProtoMessage() {} func (*QueryForecastScoresUntilBlockResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{123} + return fileDescriptor_15a605632fb3bc37, []int{131} } func (m *QueryForecastScoresUntilBlockResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6031,7 +6388,7 @@ func (m *QueryWorkerForecastScoresAtBlockRequest) Reset() { func (m *QueryWorkerForecastScoresAtBlockRequest) String() string { return proto.CompactTextString(m) } func (*QueryWorkerForecastScoresAtBlockRequest) ProtoMessage() {} func (*QueryWorkerForecastScoresAtBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{124} + return fileDescriptor_15a605632fb3bc37, []int{132} } func (m *QueryWorkerForecastScoresAtBlockRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6084,7 +6441,7 @@ func (m *QueryWorkerForecastScoresAtBlockResponse) Reset() { func (m *QueryWorkerForecastScoresAtBlockResponse) String() string { return proto.CompactTextString(m) } func (*QueryWorkerForecastScoresAtBlockResponse) ProtoMessage() {} func (*QueryWorkerForecastScoresAtBlockResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{125} + return fileDescriptor_15a605632fb3bc37, []int{133} } func (m *QueryWorkerForecastScoresAtBlockResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6120,23 +6477,117 @@ func (m *QueryWorkerForecastScoresAtBlockResponse) GetScores() *Scores { return nil } -type QueryReputersScoresAtBlockRequest struct { - TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` - BlockHeight int64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` +type QueryCurrentLowestForecasterScoreRequest struct { + TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` } -func (m *QueryReputersScoresAtBlockRequest) Reset() { *m = QueryReputersScoresAtBlockRequest{} } -func (m *QueryReputersScoresAtBlockRequest) String() string { return proto.CompactTextString(m) } -func (*QueryReputersScoresAtBlockRequest) ProtoMessage() {} -func (*QueryReputersScoresAtBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{126} +func (m *QueryCurrentLowestForecasterScoreRequest) Reset() { + *m = QueryCurrentLowestForecasterScoreRequest{} } -func (m *QueryReputersScoresAtBlockRequest) XXX_Unmarshal(b []byte) error { +func (m *QueryCurrentLowestForecasterScoreRequest) String() string { return proto.CompactTextString(m) } +func (*QueryCurrentLowestForecasterScoreRequest) ProtoMessage() {} +func (*QueryCurrentLowestForecasterScoreRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_15a605632fb3bc37, []int{134} +} +func (m *QueryCurrentLowestForecasterScoreRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryReputersScoresAtBlockRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryCurrentLowestForecasterScoreRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryReputersScoresAtBlockRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryCurrentLowestForecasterScoreRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryCurrentLowestForecasterScoreRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCurrentLowestForecasterScoreRequest.Merge(m, src) +} +func (m *QueryCurrentLowestForecasterScoreRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryCurrentLowestForecasterScoreRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCurrentLowestForecasterScoreRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCurrentLowestForecasterScoreRequest proto.InternalMessageInfo + +func (m *QueryCurrentLowestForecasterScoreRequest) GetTopicId() uint64 { + if m != nil { + return m.TopicId + } + return 0 +} + +type QueryCurrentLowestForecasterScoreResponse struct { + Score *Score `protobuf:"bytes,1,opt,name=score,proto3" json:"score,omitempty"` +} + +func (m *QueryCurrentLowestForecasterScoreResponse) Reset() { + *m = QueryCurrentLowestForecasterScoreResponse{} +} +func (m *QueryCurrentLowestForecasterScoreResponse) String() string { + return proto.CompactTextString(m) +} +func (*QueryCurrentLowestForecasterScoreResponse) ProtoMessage() {} +func (*QueryCurrentLowestForecasterScoreResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_15a605632fb3bc37, []int{135} +} +func (m *QueryCurrentLowestForecasterScoreResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCurrentLowestForecasterScoreResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCurrentLowestForecasterScoreResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryCurrentLowestForecasterScoreResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCurrentLowestForecasterScoreResponse.Merge(m, src) +} +func (m *QueryCurrentLowestForecasterScoreResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryCurrentLowestForecasterScoreResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCurrentLowestForecasterScoreResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCurrentLowestForecasterScoreResponse proto.InternalMessageInfo + +func (m *QueryCurrentLowestForecasterScoreResponse) GetScore() *Score { + if m != nil { + return m.Score + } + return nil +} + +type QueryReputersScoresAtBlockRequest struct { + TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` + BlockHeight int64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` +} + +func (m *QueryReputersScoresAtBlockRequest) Reset() { *m = QueryReputersScoresAtBlockRequest{} } +func (m *QueryReputersScoresAtBlockRequest) String() string { return proto.CompactTextString(m) } +func (*QueryReputersScoresAtBlockRequest) ProtoMessage() {} +func (*QueryReputersScoresAtBlockRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_15a605632fb3bc37, []int{136} +} +func (m *QueryReputersScoresAtBlockRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryReputersScoresAtBlockRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryReputersScoresAtBlockRequest.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -6180,7 +6631,7 @@ func (m *QueryReputersScoresAtBlockResponse) Reset() { *m = QueryReputer func (m *QueryReputersScoresAtBlockResponse) String() string { return proto.CompactTextString(m) } func (*QueryReputersScoresAtBlockResponse) ProtoMessage() {} func (*QueryReputersScoresAtBlockResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{127} + return fileDescriptor_15a605632fb3bc37, []int{137} } func (m *QueryReputersScoresAtBlockResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6216,6 +6667,96 @@ func (m *QueryReputersScoresAtBlockResponse) GetScores() *Scores { return nil } +type QueryCurrentLowestReputerScoreRequest struct { + TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` +} + +func (m *QueryCurrentLowestReputerScoreRequest) Reset() { *m = QueryCurrentLowestReputerScoreRequest{} } +func (m *QueryCurrentLowestReputerScoreRequest) String() string { return proto.CompactTextString(m) } +func (*QueryCurrentLowestReputerScoreRequest) ProtoMessage() {} +func (*QueryCurrentLowestReputerScoreRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_15a605632fb3bc37, []int{138} +} +func (m *QueryCurrentLowestReputerScoreRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCurrentLowestReputerScoreRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCurrentLowestReputerScoreRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryCurrentLowestReputerScoreRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCurrentLowestReputerScoreRequest.Merge(m, src) +} +func (m *QueryCurrentLowestReputerScoreRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryCurrentLowestReputerScoreRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCurrentLowestReputerScoreRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCurrentLowestReputerScoreRequest proto.InternalMessageInfo + +func (m *QueryCurrentLowestReputerScoreRequest) GetTopicId() uint64 { + if m != nil { + return m.TopicId + } + return 0 +} + +type QueryCurrentLowestReputerScoreResponse struct { + Score *Score `protobuf:"bytes,1,opt,name=score,proto3" json:"score,omitempty"` +} + +func (m *QueryCurrentLowestReputerScoreResponse) Reset() { + *m = QueryCurrentLowestReputerScoreResponse{} +} +func (m *QueryCurrentLowestReputerScoreResponse) String() string { return proto.CompactTextString(m) } +func (*QueryCurrentLowestReputerScoreResponse) ProtoMessage() {} +func (*QueryCurrentLowestReputerScoreResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_15a605632fb3bc37, []int{139} +} +func (m *QueryCurrentLowestReputerScoreResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCurrentLowestReputerScoreResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCurrentLowestReputerScoreResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryCurrentLowestReputerScoreResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCurrentLowestReputerScoreResponse.Merge(m, src) +} +func (m *QueryCurrentLowestReputerScoreResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryCurrentLowestReputerScoreResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCurrentLowestReputerScoreResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCurrentLowestReputerScoreResponse proto.InternalMessageInfo + +func (m *QueryCurrentLowestReputerScoreResponse) GetScore() *Score { + if m != nil { + return m.Score + } + return nil +} + type QueryListeningCoefficientRequest struct { TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` Reputer string `protobuf:"bytes,2,opt,name=reputer,proto3" json:"reputer,omitempty"` @@ -6225,7 +6766,7 @@ func (m *QueryListeningCoefficientRequest) Reset() { *m = QueryListening func (m *QueryListeningCoefficientRequest) String() string { return proto.CompactTextString(m) } func (*QueryListeningCoefficientRequest) ProtoMessage() {} func (*QueryListeningCoefficientRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{128} + return fileDescriptor_15a605632fb3bc37, []int{140} } func (m *QueryListeningCoefficientRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6276,7 +6817,7 @@ func (m *QueryListeningCoefficientResponse) Reset() { *m = QueryListenin func (m *QueryListeningCoefficientResponse) String() string { return proto.CompactTextString(m) } func (*QueryListeningCoefficientResponse) ProtoMessage() {} func (*QueryListeningCoefficientResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{129} + return fileDescriptor_15a605632fb3bc37, []int{141} } func (m *QueryListeningCoefficientResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6325,7 +6866,7 @@ func (m *QueryPreviousReputerRewardFractionRequest) String() string { } func (*QueryPreviousReputerRewardFractionRequest) ProtoMessage() {} func (*QueryPreviousReputerRewardFractionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{130} + return fileDescriptor_15a605632fb3bc37, []int{142} } func (m *QueryPreviousReputerRewardFractionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6381,7 +6922,7 @@ func (m *QueryPreviousReputerRewardFractionResponse) String() string { } func (*QueryPreviousReputerRewardFractionResponse) ProtoMessage() {} func (*QueryPreviousReputerRewardFractionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{131} + return fileDescriptor_15a605632fb3bc37, []int{143} } func (m *QueryPreviousReputerRewardFractionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6430,7 +6971,7 @@ func (m *QueryPreviousInferenceRewardFractionRequest) String() string { } func (*QueryPreviousInferenceRewardFractionRequest) ProtoMessage() {} func (*QueryPreviousInferenceRewardFractionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{132} + return fileDescriptor_15a605632fb3bc37, []int{144} } func (m *QueryPreviousInferenceRewardFractionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6486,7 +7027,7 @@ func (m *QueryPreviousInferenceRewardFractionResponse) String() string { } func (*QueryPreviousInferenceRewardFractionResponse) ProtoMessage() {} func (*QueryPreviousInferenceRewardFractionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{133} + return fileDescriptor_15a605632fb3bc37, []int{145} } func (m *QueryPreviousInferenceRewardFractionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6535,7 +7076,7 @@ func (m *QueryPreviousForecastRewardFractionRequest) String() string { } func (*QueryPreviousForecastRewardFractionRequest) ProtoMessage() {} func (*QueryPreviousForecastRewardFractionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{134} + return fileDescriptor_15a605632fb3bc37, []int{146} } func (m *QueryPreviousForecastRewardFractionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6591,7 +7132,7 @@ func (m *QueryPreviousForecastRewardFractionResponse) String() string { } func (*QueryPreviousForecastRewardFractionResponse) ProtoMessage() {} func (*QueryPreviousForecastRewardFractionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{135} + return fileDescriptor_15a605632fb3bc37, []int{147} } func (m *QueryPreviousForecastRewardFractionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6638,7 +7179,7 @@ func (m *QueryPreviousPercentageRewardToStakedReputersRequest) String() string { } func (*QueryPreviousPercentageRewardToStakedReputersRequest) ProtoMessage() {} func (*QueryPreviousPercentageRewardToStakedReputersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{136} + return fileDescriptor_15a605632fb3bc37, []int{148} } func (m *QueryPreviousPercentageRewardToStakedReputersRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6679,7 +7220,7 @@ func (m *QueryPreviousPercentageRewardToStakedReputersResponse) String() string } func (*QueryPreviousPercentageRewardToStakedReputersResponse) ProtoMessage() {} func (*QueryPreviousPercentageRewardToStakedReputersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{137} + return fileDescriptor_15a605632fb3bc37, []int{149} } func (m *QueryPreviousPercentageRewardToStakedReputersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6715,7 +7256,7 @@ func (m *QueryTotalRewardToDistributeRequest) Reset() { *m = QueryTotalR func (m *QueryTotalRewardToDistributeRequest) String() string { return proto.CompactTextString(m) } func (*QueryTotalRewardToDistributeRequest) ProtoMessage() {} func (*QueryTotalRewardToDistributeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{138} + return fileDescriptor_15a605632fb3bc37, []int{150} } func (m *QueryTotalRewardToDistributeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6752,7 +7293,7 @@ func (m *QueryTotalRewardToDistributeResponse) Reset() { *m = QueryTotal func (m *QueryTotalRewardToDistributeResponse) String() string { return proto.CompactTextString(m) } func (*QueryTotalRewardToDistributeResponse) ProtoMessage() {} func (*QueryTotalRewardToDistributeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{139} + return fileDescriptor_15a605632fb3bc37, []int{151} } func (m *QueryTotalRewardToDistributeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6789,7 +7330,7 @@ func (m *QueryActiveTopicsAtBlockRequest) Reset() { *m = QueryActiveTopi func (m *QueryActiveTopicsAtBlockRequest) String() string { return proto.CompactTextString(m) } func (*QueryActiveTopicsAtBlockRequest) ProtoMessage() {} func (*QueryActiveTopicsAtBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{140} + return fileDescriptor_15a605632fb3bc37, []int{152} } func (m *QueryActiveTopicsAtBlockRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6834,7 +7375,7 @@ func (m *QueryActiveTopicsAtBlockResponse) Reset() { *m = QueryActiveTop func (m *QueryActiveTopicsAtBlockResponse) String() string { return proto.CompactTextString(m) } func (*QueryActiveTopicsAtBlockResponse) ProtoMessage() {} func (*QueryActiveTopicsAtBlockResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{141} + return fileDescriptor_15a605632fb3bc37, []int{153} } func (m *QueryActiveTopicsAtBlockResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6887,7 +7428,7 @@ func (m *QueryNextChurningBlockByTopicIdRequest) Reset() { func (m *QueryNextChurningBlockByTopicIdRequest) String() string { return proto.CompactTextString(m) } func (*QueryNextChurningBlockByTopicIdRequest) ProtoMessage() {} func (*QueryNextChurningBlockByTopicIdRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{142} + return fileDescriptor_15a605632fb3bc37, []int{154} } func (m *QueryNextChurningBlockByTopicIdRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6933,7 +7474,7 @@ func (m *QueryNextChurningBlockByTopicIdResponse) Reset() { func (m *QueryNextChurningBlockByTopicIdResponse) String() string { return proto.CompactTextString(m) } func (*QueryNextChurningBlockByTopicIdResponse) ProtoMessage() {} func (*QueryNextChurningBlockByTopicIdResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_15a605632fb3bc37, []int{143} + return fileDescriptor_15a605632fb3bc37, []int{155} } func (m *QueryNextChurningBlockByTopicIdResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7090,14 +7631,26 @@ func init() { proto.RegisterType((*QueryGetReputerScoreEmaResponse)(nil), "emissions.v3.QueryGetReputerScoreEmaResponse") proto.RegisterType((*QueryInferenceScoresUntilBlockRequest)(nil), "emissions.v3.QueryInferenceScoresUntilBlockRequest") proto.RegisterType((*QueryInferenceScoresUntilBlockResponse)(nil), "emissions.v3.QueryInferenceScoresUntilBlockResponse") + proto.RegisterType((*QueryGetPreviousTopicQuantileForecasterScoreEmaRequest)(nil), "emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaRequest") + proto.RegisterType((*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse)(nil), "emissions.v3.QueryGetPreviousTopicQuantileForecasterScoreEmaResponse") + proto.RegisterType((*QueryGetPreviousTopicQuantileInfererScoreEmaRequest)(nil), "emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaRequest") + proto.RegisterType((*QueryGetPreviousTopicQuantileInfererScoreEmaResponse)(nil), "emissions.v3.QueryGetPreviousTopicQuantileInfererScoreEmaResponse") + proto.RegisterType((*QueryGetPreviousTopicQuantileReputerScoreEmaRequest)(nil), "emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaRequest") + proto.RegisterType((*QueryGetPreviousTopicQuantileReputerScoreEmaResponse)(nil), "emissions.v3.QueryGetPreviousTopicQuantileReputerScoreEmaResponse") proto.RegisterType((*QueryWorkerInferenceScoresAtBlockRequest)(nil), "emissions.v3.QueryWorkerInferenceScoresAtBlockRequest") proto.RegisterType((*QueryWorkerInferenceScoresAtBlockResponse)(nil), "emissions.v3.QueryWorkerInferenceScoresAtBlockResponse") + proto.RegisterType((*QueryCurrentLowestInfererScoreRequest)(nil), "emissions.v3.QueryCurrentLowestInfererScoreRequest") + proto.RegisterType((*QueryCurrentLowestInfererScoreResponse)(nil), "emissions.v3.QueryCurrentLowestInfererScoreResponse") proto.RegisterType((*QueryForecastScoresUntilBlockRequest)(nil), "emissions.v3.QueryForecastScoresUntilBlockRequest") proto.RegisterType((*QueryForecastScoresUntilBlockResponse)(nil), "emissions.v3.QueryForecastScoresUntilBlockResponse") proto.RegisterType((*QueryWorkerForecastScoresAtBlockRequest)(nil), "emissions.v3.QueryWorkerForecastScoresAtBlockRequest") proto.RegisterType((*QueryWorkerForecastScoresAtBlockResponse)(nil), "emissions.v3.QueryWorkerForecastScoresAtBlockResponse") + proto.RegisterType((*QueryCurrentLowestForecasterScoreRequest)(nil), "emissions.v3.QueryCurrentLowestForecasterScoreRequest") + proto.RegisterType((*QueryCurrentLowestForecasterScoreResponse)(nil), "emissions.v3.QueryCurrentLowestForecasterScoreResponse") proto.RegisterType((*QueryReputersScoresAtBlockRequest)(nil), "emissions.v3.QueryReputersScoresAtBlockRequest") proto.RegisterType((*QueryReputersScoresAtBlockResponse)(nil), "emissions.v3.QueryReputersScoresAtBlockResponse") + proto.RegisterType((*QueryCurrentLowestReputerScoreRequest)(nil), "emissions.v3.QueryCurrentLowestReputerScoreRequest") + proto.RegisterType((*QueryCurrentLowestReputerScoreResponse)(nil), "emissions.v3.QueryCurrentLowestReputerScoreResponse") proto.RegisterType((*QueryListeningCoefficientRequest)(nil), "emissions.v3.QueryListeningCoefficientRequest") proto.RegisterType((*QueryListeningCoefficientResponse)(nil), "emissions.v3.QueryListeningCoefficientResponse") proto.RegisterType((*QueryPreviousReputerRewardFractionRequest)(nil), "emissions.v3.QueryPreviousReputerRewardFractionRequest") @@ -7119,351 +7672,370 @@ func init() { func init() { proto.RegisterFile("emissions/v3/query.proto", fileDescriptor_15a605632fb3bc37) } var fileDescriptor_15a605632fb3bc37 = []byte{ - // 5489 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5d, 0x7b, 0x6c, 0x1c, 0xc7, - 0x79, 0xf7, 0x92, 0x12, 0x45, 0x0e, 0xf5, 0xa0, 0xc6, 0xb2, 0x4c, 0x1e, 0x65, 0x4a, 0x5a, 0x59, - 0x6f, 0x89, 0x27, 0x91, 0x7a, 0x5b, 0x92, 0x4d, 0xea, 0x41, 0x9d, 0x2c, 0xeb, 0x71, 0x7a, 0x5a, - 0x4d, 0x7c, 0x5e, 0xdd, 0xcd, 0x91, 0x0b, 0xdd, 0xed, 0x9e, 0x77, 0xf7, 0x28, 0x09, 0x0a, 0xd1, - 0x24, 0x08, 0x8a, 0x04, 0xe8, 0x1f, 0x06, 0x8a, 0x14, 0x0d, 0x90, 0x14, 0x29, 0xd0, 0x3f, 0x02, - 0xb4, 0x29, 0x8a, 0x22, 0x28, 0xd0, 0x02, 0xfd, 0xa3, 0x48, 0x51, 0xb8, 0xe8, 0x2b, 0x88, 0x6b, - 0x20, 0x0d, 0x1a, 0xa3, 0xb5, 0x13, 0x24, 0x2d, 0xd0, 0xa2, 0xfd, 0xb3, 0x40, 0xff, 0x28, 0x76, - 0xe6, 0x9b, 0xdd, 0x9d, 0xbd, 0x99, 0xd9, 0xbd, 0x23, 0x89, 0xa6, 0x80, 0xff, 0x11, 0xb4, 0xbb, - 0x33, 0xf3, 0x7d, 0xbf, 0x79, 0x7e, 0xdf, 0x37, 0xdf, 0x8f, 0x87, 0x46, 0x49, 0xd3, 0xf6, 0x7d, - 0xdb, 0x75, 0xfc, 0xe2, 0xe2, 0x74, 0xf1, 0xbd, 0x36, 0xf1, 0x9e, 0x4d, 0xb6, 0x3c, 0x37, 0x70, - 0xf1, 0xfa, 0xe8, 0xcb, 0xe4, 0xe2, 0x74, 0x61, 0xb3, 0xd5, 0xb4, 0x1d, 0xb7, 0x48, 0xff, 0x65, - 0x05, 0x0a, 0xe3, 0x55, 0xd7, 0x6f, 0xba, 0x3e, 0xab, 0x54, 0x5c, 0x3c, 0x9a, 0xac, 0x5d, 0x18, - 0x63, 0x1f, 0x2b, 0xf4, 0xa9, 0xc8, 0x1e, 0xe0, 0xd3, 0x36, 0x41, 0xa4, 0xed, 0xd4, 0x89, 0x47, - 0x9c, 0x2a, 0x81, 0xaf, 0x2f, 0x0b, 0x5f, 0x1d, 0xb7, 0xc6, 0x3f, 0x8c, 0xa6, 0x3e, 0xc4, 0x55, - 0xc6, 0x84, 0x2f, 0x2d, 0xcb, 0xb3, 0x9a, 0x5c, 0x56, 0x41, 0xf8, 0xe4, 0x91, 0x56, 0x3b, 0x20, - 0x9e, 0xb4, 0x41, 0xbf, 0xea, 0x7a, 0x72, 0x51, 0x7e, 0x60, 0x3d, 0x96, 0x7f, 0x09, 0xdc, 0x96, - 0x5d, 0x95, 0x7f, 0x79, 0xd6, 0x22, 0xbe, 0x54, 0xbd, 0x27, 0xae, 0xf7, 0x38, 0x52, 0x61, 0xcb, - 0xbc, 0x3b, 0xef, 0xb2, 0x2e, 0x0a, 0xff, 0xc7, 0x3b, 0x68, 0xde, 0x75, 0xe7, 0x1b, 0xa4, 0x68, - 0xb5, 0xec, 0xa2, 0xe5, 0x38, 0x6e, 0x60, 0x05, 0x74, 0x18, 0xe8, 0x57, 0xf3, 0x73, 0x68, 0xf7, - 0xad, 0xb0, 0xa3, 0xaf, 0x5b, 0xf6, 0x22, 0x29, 0xd1, 0xde, 0xf3, 0xae, 0x93, 0x20, 0x6c, 0xb7, - 0x4c, 0xe6, 0x3d, 0x12, 0x94, 0xc9, 0x7b, 0x6d, 0xe2, 0x07, 0x78, 0x0c, 0x0d, 0x52, 0x05, 0x2b, - 0x76, 0x6d, 0xd4, 0xd8, 0x61, 0xec, 0x5b, 0x53, 0x5e, 0x47, 0x9f, 0x4b, 0x35, 0x3c, 0x8a, 0xd6, - 0xb1, 0x7e, 0xf7, 0x46, 0xfb, 0x76, 0x18, 0xfb, 0x86, 0xca, 0xfc, 0xd1, 0x7c, 0x17, 0xed, 0xc9, - 0x6a, 0xdd, 0x6f, 0xb9, 0x8e, 0x4f, 0xf0, 0x09, 0x34, 0xe0, 0xd1, 0x37, 0xb4, 0xf1, 0xe1, 0xa9, - 0x89, 0xc9, 0xe4, 0x84, 0x99, 0xbc, 0x63, 0x37, 0x89, 0x1f, 0x58, 0xcd, 0x16, 0xa9, 0xdd, 0xb3, - 0x1a, 0x6d, 0x52, 0x86, 0xd2, 0xe6, 0xaf, 0x1b, 0xe8, 0x30, 0x15, 0x71, 0xc3, 0x21, 0x37, 0xda, - 0x01, 0xc8, 0xe8, 0x11, 0xc8, 0x1e, 0xb4, 0xc9, 0x75, 0x48, 0xc5, 0x6d, 0x07, 0x15, 0x11, 0xd0, - 0x06, 0x37, 0xd9, 0x7a, 0x12, 0x70, 0xbf, 0x08, 0x78, 0x01, 0x4d, 0xe6, 0xd5, 0x66, 0x99, 0xc0, - 0xbf, 0x6e, 0xa0, 0x23, 0x9d, 0xa2, 0x2e, 0xbb, 0x1e, 0xa9, 0x5a, 0x7e, 0xb0, 0x7a, 0xd8, 0x27, - 0x10, 0xaa, 0x47, 0x42, 0x00, 0x7e, 0xe2, 0x8d, 0xf9, 0x18, 0x1d, 0xed, 0x42, 0xad, 0x95, 0xed, - 0x84, 0x58, 0x4c, 0x8f, 0x13, 0xe0, 0x10, 0xc2, 0xbc, 0x13, 0x12, 0x20, 0x59, 0x3f, 0x8c, 0xb8, - 0x29, 0x19, 0x9a, 0x69, 0x20, 0x76, 0x42, 0x96, 0x5a, 0xcb, 0xec, 0x84, 0xdf, 0x36, 0xd0, 0xb4, - 0x54, 0x5a, 0xef, 0x93, 0xa1, 0xbb, 0x7e, 0xc8, 0x9a, 0x12, 0x0e, 0x3a, 0xd6, 0x9d, 0x7e, 0xcb, - 0xec, 0x90, 0x2d, 0x08, 0x53, 0x79, 0x37, 0xe9, 0xde, 0x0d, 0x70, 0xcd, 0xeb, 0xe8, 0x45, 0xe1, - 0x2d, 0x08, 0x39, 0x89, 0x06, 0xd8, 0x1e, 0x0f, 0x42, 0xb6, 0x88, 0x42, 0x58, 0xe9, 0xd9, 0xa1, - 0x0f, 0x3e, 0xde, 0xfe, 0xc2, 0x77, 0x7e, 0xfe, 0x87, 0x07, 0x8c, 0x32, 0x14, 0x37, 0x47, 0xd1, - 0x56, 0xda, 0xde, 0x1d, 0x37, 0xb0, 0x1a, 0xb7, 0xc3, 0x5d, 0x9d, 0x4b, 0xb2, 0xd1, 0xcb, 0x1d, - 0x5f, 0x40, 0xda, 0x15, 0x34, 0x60, 0x35, 0xdd, 0xb6, 0xc3, 0x20, 0x0d, 0xcd, 0x1e, 0x09, 0xdb, - 0xfd, 0xf1, 0xc7, 0xdb, 0x5f, 0x62, 0x67, 0x9a, 0x5f, 0x7b, 0x3c, 0x69, 0xbb, 0xc5, 0xa6, 0x15, - 0x2c, 0x4c, 0x96, 0x9c, 0xe0, 0x87, 0xdf, 0x3b, 0x8c, 0xe0, 0xb0, 0x2b, 0x39, 0x01, 0x88, 0x67, - 0xf5, 0xcf, 0xac, 0xf9, 0xc5, 0xb7, 0xb7, 0x1b, 0xe6, 0x3d, 0xb4, 0x9d, 0x8a, 0x2a, 0xb3, 0xb3, - 0x88, 0x0a, 0x2b, 0x39, 0x77, 0xc2, 0x61, 0xe4, 0xc3, 0x3c, 0x8a, 0xd6, 0x59, 0xb5, 0x9a, 0x47, - 0x7c, 0x86, 0x70, 0xa8, 0xcc, 0x1f, 0x85, 0x09, 0xd0, 0x27, 0x4c, 0x00, 0xd3, 0x43, 0x3b, 0xd4, - 0xed, 0xae, 0x12, 0x96, 0x0a, 0x7a, 0x95, 0xca, 0x7c, 0xab, 0xdd, 0x08, 0x6c, 0x0d, 0xa0, 0x6d, - 0x68, 0x08, 0x10, 0x90, 0x10, 0x52, 0xff, 0xbe, 0xa1, 0x72, 0xfc, 0x42, 0x07, 0xea, 0x21, 0x9c, - 0x75, 0x6a, 0x01, 0x80, 0xec, 0x28, 0x5a, 0xc7, 0x34, 0x63, 0xed, 0x0f, 0x4f, 0xbd, 0x2c, 0x4e, - 0x0a, 0xa8, 0x54, 0x77, 0xcb, 0xbc, 0x9c, 0xe9, 0xa2, 0xfd, 0xb4, 0x6d, 0xfa, 0xe9, 0xb2, 0xe7, - 0x36, 0xa1, 0x7d, 0x68, 0xba, 0xe4, 0xdc, 0x26, 0x8d, 0x3a, 0x47, 0xb0, 0x17, 0x6d, 0x02, 0xe3, - 0xa1, 0x22, 0x0e, 0xcd, 0x46, 0x78, 0x3d, 0x93, 0x3d, 0x42, 0x5f, 0x40, 0x07, 0xf2, 0x08, 0x5c, - 0xa5, 0xb1, 0xe2, 0x70, 0x2f, 0x92, 0x06, 0x99, 0xb7, 0x02, 0x92, 0xec, 0xc6, 0x92, 0x03, 0xaa, - 0xac, 0x06, 0xdc, 0x0c, 0x81, 0xab, 0x04, 0xf7, 0x77, 0x0c, 0x38, 0xd7, 0xa3, 0xde, 0x06, 0x3d, - 0x5c, 0x4f, 0x05, 0xfa, 0x20, 0xda, 0x5c, 0xe3, 0x65, 0x52, 0xb0, 0x47, 0xa2, 0x0f, 0x1c, 0xb8, - 0xa4, 0x87, 0xfa, 0x32, 0x7b, 0xa8, 0x5f, 0xec, 0xa1, 0x2f, 0x19, 0xa8, 0x98, 0x5b, 0xc7, 0x55, - 0x9b, 0x16, 0xbb, 0xf5, 0x2a, 0xf4, 0xd4, 0x3b, 0x9a, 0x69, 0xf1, 0x14, 0x0c, 0x4c, 0x8d, 0xc0, - 0x55, 0x82, 0x3a, 0x1d, 0x6d, 0xff, 0x2d, 0xbb, 0x9a, 0xdc, 0xfe, 0x35, 0xe7, 0x6a, 0xe2, 0x64, - 0x88, 0x2b, 0xad, 0x92, 0x7e, 0x35, 0xd8, 0x4d, 0xe1, 0x68, 0xbd, 0xe6, 0xfa, 0xfe, 0x6c, 0xdb, - 0xa9, 0x35, 0xc8, 0x4c, 0x30, 0xdb, 0x70, 0xab, 0x8f, 0x73, 0x58, 0x01, 0x3b, 0xd1, 0xfa, 0x47, - 0x61, 0xd1, 0xca, 0x02, 0xb1, 0xe7, 0x17, 0x02, 0xda, 0xf7, 0xfd, 0xe5, 0x61, 0xfa, 0xee, 0x0a, - 0x7d, 0x65, 0x56, 0xb9, 0xfb, 0xa0, 0x94, 0x02, 0xf0, 0xce, 0xa0, 0xe1, 0x86, 0xeb, 0xfb, 0x95, - 0x47, 0xf4, 0x2b, 0x9c, 0xb5, 0x63, 0xe2, 0xb6, 0x4a, 0x4f, 0x71, 0x56, 0xbd, 0x8c, 0x1a, 0x51, - 0x53, 0xe6, 0x18, 0xf4, 0xda, 0x75, 0xf2, 0x34, 0x60, 0x13, 0xb9, 0xc6, 0x8f, 0xda, 0xf3, 0x68, - 0xb4, 0xf3, 0x13, 0x88, 0x34, 0xd1, 0x06, 0x87, 0x3c, 0x0d, 0x2a, 0x29, 0x78, 0xc3, 0x4e, 0x5c, - 0xd6, 0x9c, 0x44, 0x9b, 0xe3, 0x01, 0xc9, 0x31, 0x80, 0x5f, 0x31, 0xc0, 0xb6, 0x10, 0x27, 0xd7, - 0x7e, 0xb4, 0x96, 0x96, 0x00, 0x5c, 0x2f, 0xa6, 0x0c, 0x15, 0x5a, 0x96, 0x95, 0xc0, 0x5b, 0xd1, - 0xc0, 0x93, 0xb8, 0x3b, 0x87, 0xca, 0xf0, 0x14, 0xae, 0x08, 0x52, 0xaf, 0x93, 0x6a, 0x60, 0x2f, - 0x92, 0x8a, 0x47, 0x16, 0x89, 0xd3, 0x26, 0x60, 0x4b, 0x8d, 0x44, 0x1f, 0xca, 0xec, 0xbd, 0x39, - 0x0f, 0xb0, 0x67, 0xe8, 0x5b, 0xda, 0x3e, 0xb7, 0x73, 0xf0, 0x9b, 0x08, 0xb5, 0xac, 0x79, 0xdb, - 0xa1, 0x6e, 0x1e, 0x28, 0x74, 0x30, 0x75, 0x7e, 0xd9, 0xcd, 0x56, 0x83, 0x5c, 0x68, 0x7b, 0xbe, - 0xeb, 0xdd, 0x8c, 0xca, 0x42, 0x03, 0xe5, 0x44, 0x75, 0xf3, 0x37, 0x0d, 0x34, 0x26, 0x91, 0x04, - 0xb0, 0x0f, 0xa2, 0x01, 0x0a, 0x8a, 0x1f, 0x93, 0x52, 0xdc, 0x50, 0x04, 0x5f, 0x13, 0xf4, 0xea, - 0xa3, 0x7a, 0x1d, 0xca, 0xa7, 0x17, 0x13, 0x27, 0x28, 0xf6, 0x79, 0xf4, 0x0a, 0xd5, 0xab, 0xc4, - 0x1d, 0x7e, 0x7f, 0x45, 0xe7, 0xf5, 0x43, 0x34, 0xa1, 0x6a, 0x1e, 0xb0, 0x9f, 0x42, 0x28, 0x0a, - 0x36, 0x70, 0xdb, 0x71, 0x54, 0x84, 0x13, 0x57, 0x2e, 0x27, 0xca, 0x9a, 0xe7, 0xd1, 0x4e, 0xda, - 0xf6, 0x35, 0x2b, 0x20, 0x3e, 0xcc, 0xc4, 0xb8, 0x64, 0xf6, 0x1c, 0xfc, 0x92, 0x81, 0x4c, 0x5d, - 0x03, 0xcb, 0x55, 0x30, 0x4f, 0xff, 0x7c, 0x0e, 0x6d, 0xa3, 0x2a, 0x70, 0x13, 0x7e, 0x65, 0x7b, - 0xff, 0x1e, 0x0c, 0x6e, 0x67, 0xeb, 0x80, 0xed, 0x38, 0x1a, 0xe2, 0xfe, 0x05, 0x87, 0x96, 0x32, - 0xd1, 0xa2, 0xaa, 0xe5, 0xb8, 0xa4, 0x49, 0xa0, 0xe7, 0xef, 0xd3, 0xa8, 0x09, 0xeb, 0xbe, 0xa8, - 0x0f, 0x72, 0xa8, 0xbe, 0x1b, 0x6d, 0x64, 0x01, 0x97, 0xd4, 0x29, 0xbd, 0x81, 0xbd, 0x85, 0xf3, - 0xca, 0x5c, 0x80, 0xf1, 0x51, 0x88, 0x01, 0x0c, 0xb3, 0x68, 0xa4, 0x41, 0x3f, 0x55, 0xa2, 0xae, - 0x97, 0x43, 0x89, 0xab, 0x6e, 0x6a, 0x88, 0x6d, 0x99, 0x57, 0x50, 0x21, 0x21, 0xe9, 0xba, 0x5b, - 0x63, 0x56, 0x69, 0xa7, 0xe5, 0xdf, 0x27, 0x58, 0xfe, 0x57, 0xd7, 0x0c, 0x1a, 0x23, 0x7d, 0x65, - 0xd4, 0xb0, 0x1f, 0xb5, 0xa6, 0x5a, 0x95, 0xc7, 0xe4, 0x99, 0x79, 0x0f, 0x8d, 0x4b, 0x5b, 0x8a, - 0xbc, 0xa4, 0x21, 0xc7, 0xad, 0x91, 0x50, 0x55, 0x17, 0xb4, 0x2c, 0x88, 0x5a, 0xde, 0xa8, 0xd7, - 0xab, 0x0b, 0x96, 0xed, 0x84, 0x55, 0xcb, 0x83, 0x0e, 0x34, 0x60, 0x96, 0xa0, 0x5d, 0xb0, 0x3c, - 0x96, 0xa3, 0xe2, 0x7d, 0x98, 0x73, 0x1d, 0x4d, 0x2d, 0x57, 0xc7, 0x6f, 0x1b, 0xe2, 0x59, 0xd9, - 0xcb, 0x9e, 0x72, 0x0e, 0x8d, 0x27, 0x67, 0x75, 0xa5, 0x61, 0x09, 0x03, 0xcb, 0x26, 0xf9, 0x68, - 0x62, 0x92, 0x5f, 0xb3, 0x12, 0x03, 0x79, 0x75, 0xcd, 0x60, 0xff, 0xc8, 0x1a, 0xf8, 0x2e, 0x34, - 0xe1, 0x91, 0x27, 0x96, 0x57, 0x33, 0xdf, 0x40, 0xbb, 0x12, 0x4b, 0xbe, 0x43, 0xcf, 0x1c, 0xbb, - 0x46, 0x09, 0x1d, 0x4a, 0xb4, 0x30, 0xb3, 0x68, 0xd9, 0x0d, 0xeb, 0x51, 0x83, 0xf4, 0xd2, 0x14, - 0x37, 0x2d, 0x4a, 0x3e, 0x9f, 0x2d, 0x4e, 0x95, 0xdc, 0x75, 0xea, 0xed, 0x46, 0xdd, 0x6e, 0x34, - 0x48, 0x6d, 0x65, 0x36, 0x81, 0x3a, 0x98, 0x16, 0x6a, 0x29, 0x30, 0xee, 0xe7, 0xd0, 0xb8, 0xed, - 0x57, 0x60, 0x61, 0xd2, 0x48, 0x6e, 0xa5, 0x1d, 0x17, 0xa3, 0x92, 0x07, 0xcb, 0xa3, 0xb6, 0xa2, - 0x19, 0x73, 0x06, 0xd0, 0x08, 0x4d, 0xc3, 0x0c, 0xcb, 0xd9, 0x21, 0xdc, 0x0a, 0x52, 0x37, 0x11, - 0x59, 0x41, 0x03, 0x54, 0x41, 0xbe, 0x69, 0x99, 0xe2, 0xfc, 0x14, 0x5d, 0x08, 0xa8, 0x0b, 0x35, - 0xa2, 0x29, 0x90, 0x10, 0x92, 0x40, 0x94, 0x47, 0xcd, 0x3b, 0x9d, 0x48, 0xc5, 0x16, 0x40, 0xcb, - 0x43, 0x29, 0x2d, 0x53, 0x21, 0x91, 0x94, 0x5e, 0x0f, 0x20, 0x54, 0xd0, 0x63, 0xc8, 0x6d, 0x0c, - 0x0d, 0x5a, 0xd5, 0xd0, 0x0b, 0x00, 0xe3, 0x3e, 0xdc, 0x02, 0xc2, 0xe7, 0x52, 0xcd, 0xfc, 0x15, - 0xd8, 0xae, 0x57, 0x25, 0x6a, 0xf6, 0x00, 0xba, 0xb3, 0xf7, 0x20, 0x59, 0x68, 0xc9, 0xd1, 0xee, - 0x8b, 0x2c, 0x39, 0xfa, 0x64, 0xbe, 0x03, 0xdd, 0xbc, 0x5a, 0xe1, 0xad, 0x5f, 0x45, 0xfb, 0x78, - 0x38, 0xad, 0xe4, 0xf4, 0xae, 0xbe, 0x18, 0xb5, 0xeb, 0x4b, 0x47, 0xed, 0x34, 0xd1, 0xcd, 0x2a, - 0x38, 0xff, 0x7a, 0x05, 0x96, 0x89, 0x92, 0x44, 0xcb, 0x3f, 0xb9, 0x94, 0x56, 0x7c, 0x97, 0xb1, - 0xc1, 0x81, 0xd4, 0x88, 0x01, 0x20, 0xaf, 0xa3, 0x6d, 0xb6, 0x5f, 0xe1, 0x6e, 0xba, 0x6a, 0x9f, - 0x19, 0xb3, 0x55, 0x0d, 0x99, 0xef, 0x89, 0xbe, 0x92, 0xda, 0xb4, 0xbc, 0x82, 0xb0, 0xc3, 0xca, - 0x54, 0x3a, 0x2c, 0x38, 0x8d, 0xcb, 0xb4, 0xd9, 0x49, 0x37, 0x6c, 0x7e, 0xb4, 0x16, 0xe6, 0xa2, - 0xf2, 0xdc, 0x58, 0x69, 0x91, 0xf8, 0x4d, 0xb4, 0x09, 0xe6, 0x49, 0x85, 0x79, 0x36, 0xe1, 0xc9, - 0xde, 0x2f, 0xdb, 0xeb, 0xc2, 0x61, 0x0e, 0xcf, 0x5f, 0xaf, 0x49, 0x6a, 0xf7, 0x69, 0xd1, 0xf2, - 0x46, 0xa8, 0xca, 0x1e, 0x7d, 0x7c, 0x0b, 0xe1, 0x78, 0x46, 0x46, 0xed, 0xf5, 0xe7, 0x6e, 0x6f, - 0x73, 0x5c, 0x9b, 0x37, 0x69, 0xa1, 0x31, 0xfe, 0xb2, 0xd4, 0x6c, 0x35, 0x6c, 0x52, 0x8b, 0x95, - 0x1f, 0x5d, 0x43, 0x5b, 0xde, 0x25, 0xb6, 0xcc, 0xf6, 0xc8, 0x99, 0x20, 0xf0, 0xec, 0x47, 0xed, - 0x80, 0xcf, 0x53, 0x75, 0x2b, 0xf8, 0x18, 0xda, 0x1a, 0x75, 0x62, 0x45, 0x98, 0x80, 0x6b, 0xe9, - 0x04, 0xdc, 0x12, 0x7d, 0x9d, 0x8d, 0x67, 0x22, 0x3e, 0x80, 0x36, 0x33, 0x0f, 0x39, 0x59, 0x61, - 0x80, 0x56, 0xd8, 0x44, 0x9d, 0xe1, 0x44, 0xd9, 0x5f, 0x33, 0xd0, 0xae, 0xaa, 0xeb, 0xd4, 0xed, - 0x1a, 0x95, 0x61, 0x3b, 0x01, 0xf1, 0x16, 0xad, 0x46, 0xc5, 0xb3, 0x9e, 0x54, 0x5a, 0xc4, 0xab, - 0x12, 0x27, 0xb0, 0x1b, 0xc4, 0x1f, 0x5d, 0xb7, 0xa3, 0x7f, 0xdf, 0xd0, 0xec, 0x49, 0x08, 0x25, - 0x14, 0xe7, 0xed, 0x60, 0xa1, 0xfd, 0x68, 0xb2, 0xea, 0x36, 0x8b, 0x56, 0xa3, 0xe1, 0x7a, 0xd6, - 0x61, 0x18, 0x3f, 0xfe, 0x48, 0xad, 0x23, 0x16, 0x64, 0xb8, 0x48, 0xaa, 0xe5, 0x1d, 0xb1, 0x8c, - 0x12, 0x88, 0x28, 0x5b, 0x4f, 0x6e, 0xc6, 0x02, 0x70, 0x1b, 0x15, 0x64, 0x7a, 0x2c, 0x86, 0x5d, - 0xe4, 0x8f, 0x0e, 0x2e, 0x4f, 0xfc, 0x68, 0xa7, 0x78, 0xda, 0xf7, 0xbe, 0xf9, 0xf1, 0x5a, 0xb8, - 0xf5, 0xcb, 0xb6, 0x66, 0x3e, 0x9b, 0xe0, 0x9f, 0x4d, 0xf0, 0xff, 0x7f, 0x13, 0xfc, 0x1d, 0xb4, - 0x57, 0x30, 0x7e, 0xcb, 0x64, 0xde, 0x0e, 0x07, 0x39, 0x1c, 0x06, 0x31, 0x04, 0x96, 0x71, 0x31, - 0x2f, 0xf7, 0xae, 0xcc, 0x1b, 0x60, 0x43, 0x68, 0xdb, 0x87, 0xa5, 0xb3, 0x0b, 0x6d, 0xa0, 0x07, - 0x1f, 0x2f, 0x01, 0x27, 0xdd, 0xfa, 0xf0, 0xa4, 0xe3, 0xef, 0xcc, 0x4a, 0xd4, 0x60, 0x64, 0xc4, - 0xae, 0xac, 0xc6, 0x37, 0xc1, 0xe8, 0xd0, 0x0b, 0xe8, 0x46, 0xe5, 0x53, 0xe0, 0x4f, 0x96, 0xfc, - 0xfb, 0x0b, 0x76, 0x40, 0x1a, 0xb6, 0x1f, 0xcc, 0xd4, 0x9a, 0xb6, 0x93, 0x79, 0x71, 0x66, 0x9e, - 0xe1, 0xc1, 0xa7, 0x8e, 0x9a, 0x20, 0x7f, 0x0c, 0x0d, 0xda, 0x7e, 0xc5, 0x0a, 0xdf, 0x81, 0xe8, - 0x75, 0xb6, 0x4f, 0x8b, 0x98, 0x57, 0x93, 0x21, 0xf2, 0x32, 0x69, 0xba, 0x8b, 0x56, 0xc3, 0xbf, - 0xdb, 0xba, 0x1b, 0xce, 0x37, 0xc1, 0xd9, 0x4c, 0x1b, 0x2f, 0x46, 0xa7, 0xf1, 0x52, 0x4b, 0x46, - 0xbf, 0xe5, 0x6d, 0x45, 0x8e, 0xc7, 0xa0, 0x07, 0xdf, 0x21, 0x56, 0x37, 0x21, 0xb9, 0xd2, 0x82, - 0x26, 0xa8, 0x57, 0x1d, 0x95, 0x37, 0xcb, 0xb0, 0xd7, 0x0a, 0x57, 0x2f, 0xcb, 0xd4, 0x3c, 0x80, - 0xfb, 0x94, 0x1c, 0x6d, 0x46, 0xe1, 0x92, 0x34, 0x82, 0x3d, 0x22, 0x02, 0x59, 0x53, 0x29, 0x24, - 0xb7, 0x61, 0xc4, 0x3b, 0x8a, 0xe4, 0x9a, 0x98, 0x60, 0xfa, 0xf1, 0x89, 0x09, 0x8f, 0xe6, 0xdb, - 0x30, 0x19, 0x3a, 0x1b, 0x8d, 0x02, 0x71, 0xeb, 0x40, 0x03, 0xb9, 0x09, 0xdc, 0x51, 0x91, 0x17, - 0x37, 0x9f, 0x81, 0xf5, 0xa6, 0x84, 0x96, 0xad, 0xf7, 0x36, 0x34, 0x14, 0xdd, 0xa7, 0x80, 0xe6, - 0xf1, 0x8b, 0x24, 0xaa, 0x7e, 0x11, 0x95, 0x0d, 0xd3, 0x54, 0x2d, 0x1a, 0xd0, 0xbd, 0x91, 0x46, - 0x97, 0x77, 0x58, 0x22, 0x94, 0xb3, 0x20, 0x8a, 0x2e, 0xe2, 0x6b, 0x96, 0x1f, 0xb0, 0x2d, 0xe9, - 0x82, 0xdb, 0x6c, 0xda, 0x41, 0x3e, 0x98, 0xa6, 0x03, 0x2b, 0x41, 0xd3, 0x06, 0xe8, 0x7b, 0x11, - 0x0d, 0xd3, 0xc0, 0x4a, 0x95, 0x7e, 0x02, 0x9d, 0x77, 0x29, 0x9d, 0x92, 0x99, 0xd0, 0x17, 0xa5, - 0xa6, 0x7c, 0x19, 0x85, 0xf5, 0x58, 0x8b, 0xe6, 0x85, 0xb4, 0x3c, 0xd8, 0x94, 0xba, 0x52, 0xda, - 0x85, 0x4d, 0x5e, 0xd7, 0xc8, 0x8a, 0x6a, 0x7d, 0x1a, 0xe6, 0x3f, 0x5c, 0x5e, 0x3c, 0xb1, 0xbc, - 0x1a, 0x2b, 0x94, 0xad, 0xeb, 0x71, 0x98, 0xe5, 0x9d, 0x55, 0x41, 0xc3, 0x2d, 0x68, 0x2d, 0xf5, - 0x89, 0x60, 0xb5, 0xb3, 0x87, 0xc8, 0x8b, 0x03, 0x64, 0xf1, 0xfd, 0xd0, 0xca, 0x06, 0x8c, 0xf9, - 0xf0, 0x6b, 0xc4, 0x44, 0x1d, 0xb9, 0x3e, 0x71, 0x0f, 0xc5, 0x2d, 0xc0, 0x9d, 0xd2, 0x38, 0x4c, - 0xc2, 0x10, 0xf4, 0xcb, 0xc3, 0xf1, 0x85, 0x94, 0x6f, 0x3e, 0x80, 0xc8, 0x04, 0x4c, 0x6a, 0x76, - 0x45, 0xdb, 0x0e, 0x16, 0x5c, 0xcf, 0x0e, 0x9e, 0x2d, 0x6b, 0x37, 0x09, 0x20, 0x76, 0xac, 0x68, - 0x19, 0x50, 0x5c, 0x47, 0x43, 0x16, 0x7f, 0xd9, 0xf3, 0x7d, 0x61, 0xdc, 0x84, 0xd9, 0x06, 0xa9, - 0xc2, 0x62, 0xbd, 0xd9, 0xb0, 0xaa, 0xa4, 0x49, 0x9c, 0x60, 0xd9, 0xdb, 0xcc, 0x56, 0x34, 0x10, - 0x58, 0xde, 0x3c, 0x09, 0x60, 0x97, 0x81, 0x27, 0xd3, 0x86, 0x18, 0x8c, 0x4a, 0x6c, 0xb4, 0xf5, - 0x6f, 0x8c, 0x2f, 0x8b, 0x13, 0xd1, 0xdd, 0x71, 0xe9, 0x4e, 0xe3, 0x7a, 0x74, 0xe5, 0x6c, 0xa8, - 0x25, 0x1f, 0xcd, 0xb7, 0x65, 0x5b, 0xe9, 0xdd, 0x96, 0x9b, 0xbe, 0xb6, 0xd7, 0xc7, 0x7b, 0x00, - 0x45, 0x9f, 0x80, 0xc2, 0x95, 0x6d, 0x95, 0x42, 0xd3, 0x80, 0xe3, 0x32, 0x5a, 0x4b, 0xb3, 0x3f, - 0x7b, 0x1e, 0x31, 0x56, 0xdd, 0x7c, 0x3b, 0x35, 0x5a, 0x6c, 0x39, 0xde, 0x24, 0xde, 0xed, 0x05, - 0xcb, 0x23, 0xcb, 0x9a, 0x7e, 0x5f, 0x35, 0x52, 0x43, 0x92, 0x6e, 0x1b, 0xa0, 0x58, 0x68, 0x84, - 0x45, 0xa6, 0x43, 0x6b, 0xbc, 0xe2, 0x87, 0xdf, 0x00, 0x55, 0xcf, 0xc6, 0xf0, 0x46, 0x4f, 0x10, - 0x65, 0x56, 0x21, 0x60, 0x9d, 0x3c, 0x38, 0x2e, 0xbb, 0x1e, 0x5f, 0x13, 0x4e, 0x2d, 0x65, 0x55, - 0x26, 0x40, 0x19, 0x02, 0x28, 0x5d, 0xfe, 0xc0, 0x12, 0xd8, 0x36, 0xd9, 0x42, 0x00, 0xf8, 0x35, - 0x84, 0xe9, 0x20, 0x54, 0xe0, 0xf4, 0x4a, 0xce, 0xc7, 0xac, 0x73, 0x7d, 0xc4, 0x4f, 0xbd, 0x31, - 0x7f, 0xcb, 0x80, 0xe0, 0xa9, 0xec, 0x94, 0xcc, 0x6f, 0x4e, 0x69, 0x10, 0x8a, 0x2b, 0xb3, 0x5f, - 0x63, 0x00, 0xac, 0x11, 0x67, 0xc2, 0x33, 0xd8, 0xe2, 0xe4, 0x9a, 0x41, 0x6f, 0xdc, 0xd1, 0xf4, - 0x46, 0x5e, 0x3b, 0xa0, 0xb3, 0x57, 0xce, 0x42, 0x52, 0xdb, 0x4d, 0x8f, 0x2c, 0xda, 0x6e, 0xdb, - 0xa7, 0x63, 0x00, 0x0e, 0x6f, 0xf6, 0x49, 0xf5, 0x3e, 0xef, 0x53, 0x69, 0x75, 0x50, 0xfc, 0x46, - 0x74, 0x0b, 0xbf, 0xcc, 0x59, 0xcb, 0xaf, 0xef, 0xc7, 0xd1, 0x90, 0xe3, 0x06, 0x95, 0xba, 0xdb, - 0x76, 0xd8, 0x10, 0x0c, 0x96, 0x07, 0x1d, 0x37, 0xb8, 0x1c, 0x3e, 0x9b, 0xc7, 0x92, 0x69, 0x1f, - 0x97, 0x9e, 0xda, 0x7e, 0x90, 0x27, 0x5c, 0x3f, 0x05, 0x97, 0xfc, 0x42, 0x2d, 0xd0, 0x7f, 0x2b, - 0x1a, 0x20, 0xf4, 0x0d, 0xb8, 0x17, 0xf0, 0x64, 0x9e, 0x80, 0xeb, 0xfa, 0x12, 0x43, 0x3d, 0x03, - 0x59, 0x03, 0x99, 0xb2, 0x4e, 0xc3, 0x45, 0x62, 0xaa, 0x1e, 0x48, 0x1b, 0x47, 0x43, 0xa1, 0x3b, - 0x43, 0x5f, 0x82, 0xc0, 0x41, 0xdb, 0x67, 0x85, 0xcc, 0x53, 0x70, 0xc3, 0x47, 0x2b, 0x5e, 0x26, - 0x3c, 0x47, 0x21, 0x87, 0xd0, 0xf7, 0x92, 0xe6, 0x48, 0xb2, 0x26, 0x88, 0xbd, 0x85, 0x86, 0xeb, - 0x24, 0x4e, 0x86, 0xe8, 0x75, 0xd7, 0x44, 0xf5, 0xa8, 0x69, 0x73, 0x22, 0xba, 0x43, 0x0c, 0xf7, - 0x1a, 0xeb, 0x51, 0x43, 0x4c, 0x9e, 0x30, 0x6f, 0x81, 0x99, 0xd3, 0xf9, 0x1d, 0x74, 0x3a, 0x82, - 0xb6, 0x78, 0xd1, 0xb7, 0x28, 0xb5, 0x84, 0xb9, 0x24, 0x6b, 0xca, 0xd8, 0x13, 0xeb, 0x95, 0x6a, - 0xbe, 0x79, 0x17, 0x52, 0x09, 0xe6, 0x08, 0xcf, 0x86, 0xbe, 0x5d, 0x75, 0x3d, 0x72, 0xa9, 0x69, - 0x2d, 0x2b, 0xb5, 0xfe, 0x1a, 0x2c, 0x12, 0x59, 0xb3, 0x71, 0x56, 0x0a, 0xe5, 0x21, 0xc8, 0xb3, - 0x52, 0x68, 0xf1, 0x32, 0x2b, 0x61, 0xbe, 0x03, 0xab, 0x7d, 0x8e, 0x24, 0xf2, 0x73, 0xbb, 0xd0, - 0x33, 0xe3, 0x32, 0xc1, 0xbc, 0x01, 0x47, 0x96, 0xa2, 0xfd, 0xee, 0x15, 0x4e, 0xf4, 0x2a, 0xcf, - 0xe4, 0xec, 0xaa, 0x57, 0x15, 0xe7, 0x5f, 0xa2, 0x57, 0x3b, 0x9a, 0xed, 0x5e, 0xc9, 0xe8, 0x0e, - 0x83, 0x87, 0xc3, 0xe8, 0x57, 0xbf, 0xd3, 0x63, 0x5e, 0x9e, 0xf5, 0x7b, 0x97, 0xdf, 0x61, 0xa8, - 0xc5, 0xc4, 0x09, 0x3b, 0x54, 0x33, 0x45, 0xc2, 0x0e, 0x53, 0x1e, 0x8a, 0x98, 0x0b, 0x10, 0xd2, - 0x61, 0xae, 0x54, 0xaa, 0xf1, 0x15, 0x35, 0xdf, 0xdf, 0x86, 0xd8, 0x8e, 0x5e, 0x52, 0x7c, 0x3b, - 0x19, 0x61, 0x90, 0xdc, 0x4e, 0xb2, 0x4a, 0x11, 0x88, 0x5a, 0xea, 0x32, 0x6e, 0x75, 0x46, 0xe0, - 0x0e, 0x0c, 0xb4, 0x5a, 0x4a, 0x2f, 0x03, 0x30, 0x0f, 0xfe, 0x21, 0xeb, 0x16, 0xb1, 0xed, 0x15, - 0xed, 0xff, 0x07, 0xc2, 0x48, 0x2b, 0x04, 0xf5, 0xd4, 0xfd, 0x16, 0xec, 0x2b, 0xb0, 0x98, 0xfc, - 0x55, 0x50, 0xbe, 0x0c, 0x5b, 0x8b, 0x42, 0x44, 0x4f, 0x6a, 0xdf, 0x07, 0x13, 0xe2, 0x9a, 0xed, - 0x07, 0xc4, 0xb1, 0x9d, 0xf9, 0x0b, 0x2e, 0xa9, 0xd7, 0xed, 0xaa, 0x9d, 0xcf, 0x1b, 0x52, 0xef, - 0x2f, 0x5f, 0xe0, 0xb9, 0x5f, 0xd2, 0x86, 0x41, 0xd7, 0xfb, 0xe8, 0xa5, 0x06, 0xff, 0x5e, 0xa9, - 0xc6, 0x05, 0xe4, 0x49, 0x03, 0xd2, 0xa6, 0xb6, 0x34, 0x24, 0x6f, 0xcd, 0x77, 0x61, 0x9d, 0x71, - 0xcb, 0x28, 0x72, 0x50, 0xc2, 0x43, 0xeb, 0xb2, 0x17, 0x1e, 0xf0, 0x51, 0x1a, 0x60, 0x6f, 0xf8, - 0x7e, 0xcf, 0x80, 0x3c, 0xed, 0x0c, 0x11, 0x80, 0xf4, 0x5d, 0xb4, 0x09, 0xdc, 0x88, 0x3a, 0x7c, - 0x5a, 0x21, 0x2f, 0x82, 0x4b, 0xd2, 0xdb, 0x65, 0xef, 0xa2, 0x83, 0x82, 0xb2, 0x89, 0x24, 0xad, - 0x2e, 0x7b, 0x44, 0x95, 0x0b, 0xf0, 0x5d, 0x03, 0xbc, 0x98, 0x4c, 0x11, 0xbf, 0x1c, 0x3d, 0x52, - 0x49, 0x0d, 0x1f, 0xdf, 0x0b, 0x56, 0xac, 0x43, 0x7e, 0xdf, 0x48, 0xf5, 0xb9, 0x4a, 0xc2, 0x2f, - 0x47, 0x7f, 0x9c, 0x00, 0xea, 0x12, 0xd7, 0x16, 0xae, 0x86, 0xac, 0x79, 0x18, 0xbf, 0x3b, 0x2e, - 0xf5, 0x67, 0x78, 0xba, 0x4f, 0x64, 0x47, 0x7e, 0xcb, 0x40, 0xc7, 0xbb, 0xac, 0x08, 0x80, 0x6b, - 0x68, 0x73, 0x2b, 0x2a, 0x0b, 0xe9, 0x5f, 0xcb, 0x85, 0x3c, 0xd2, 0x4a, 0x49, 0x37, 0x77, 0x83, - 0x9b, 0x4f, 0x29, 0x4a, 0x5c, 0xa3, 0x8b, 0xb6, 0x0f, 0x57, 0x80, 0x1c, 0xc6, 0x97, 0x79, 0x66, - 0x9c, 0xb2, 0x1c, 0x68, 0xfd, 0x10, 0xad, 0x0f, 0xc2, 0x22, 0x2b, 0xa4, 0xf0, 0x70, 0x10, 0xcb, - 0x33, 0x2f, 0x82, 0x4d, 0x96, 0x4c, 0x41, 0x4e, 0x9d, 0x20, 0x39, 0x6e, 0x1c, 0xbe, 0xc5, 0xdd, - 0x42, 0x69, 0x33, 0xff, 0xf7, 0x09, 0xcd, 0x3c, 0xa2, 0x7c, 0x9d, 0x3c, 0x0d, 0x2e, 0x2c, 0xb4, - 0xbd, 0x70, 0xef, 0xa6, 0xca, 0xcd, 0x3e, 0xcb, 0x7d, 0x7d, 0x66, 0x5e, 0x03, 0x8b, 0x41, 0xd7, - 0x08, 0x40, 0xcd, 0xee, 0xb2, 0xa9, 0xff, 0x76, 0xd1, 0x5a, 0xda, 0x1c, 0x7e, 0x8c, 0x06, 0x18, - 0x11, 0x0e, 0xef, 0x10, 0x01, 0x76, 0xf2, 0xec, 0x0a, 0x3b, 0x35, 0x25, 0x98, 0x6c, 0x73, 0xdb, - 0x97, 0x3f, 0xfc, 0xe9, 0x6f, 0xf4, 0x6d, 0xc5, 0x5b, 0x8a, 0x12, 0xae, 0x35, 0xfe, 0x9a, 0x81, - 0x36, 0xce, 0x91, 0x20, 0x91, 0xd2, 0x8f, 0x77, 0x4b, 0xda, 0xec, 0x64, 0x03, 0x14, 0xf6, 0x64, - 0x15, 0x03, 0xf9, 0xfb, 0xbe, 0x1a, 0x3a, 0x86, 0x54, 0x89, 0x57, 0xf0, 0xb8, 0xa8, 0x84, 0x40, - 0x19, 0xc0, 0xcf, 0xd1, 0xe0, 0x1c, 0x61, 0xf5, 0xf1, 0x76, 0x49, 0xeb, 0x49, 0xde, 0x40, 0x61, - 0x87, 0xba, 0x00, 0x08, 0x3e, 0x14, 0x0b, 0xde, 0x89, 0xb7, 0x17, 0x3b, 0xe9, 0xdf, 0x7e, 0xf1, - 0x39, 0x97, 0xbd, 0x84, 0x3f, 0x36, 0xd0, 0xce, 0x39, 0x12, 0x48, 0xd3, 0x88, 0xa3, 0x01, 0xc5, - 0x45, 0x89, 0x54, 0x5d, 0x82, 0x73, 0xe1, 0x48, 0xfe, 0x0a, 0xa0, 0xf6, 0xbd, 0x58, 0xed, 0x37, - 0x71, 0x29, 0x43, 0x6d, 0xe0, 0xa4, 0xfb, 0xc5, 0xe7, 0x62, 0xae, 0xf4, 0x52, 0x31, 0x9d, 0xee, - 0x8c, 0xff, 0xc8, 0x40, 0x5b, 0x22, 0xff, 0x35, 0x91, 0x09, 0x85, 0x0f, 0x4a, 0x54, 0x54, 0x65, - 0xe5, 0x16, 0x0e, 0xe5, 0x2b, 0x0c, 0x58, 0x5e, 0x8f, 0xb1, 0x1c, 0xc3, 0x53, 0x45, 0xf9, 0x5f, - 0x0f, 0x10, 0xf0, 0x3c, 0x4f, 0xae, 0x93, 0x25, 0xfc, 0xc7, 0x06, 0x1a, 0x9d, 0x23, 0x81, 0x34, - 0xf9, 0x5e, 0x3a, 0x18, 0xba, 0x3c, 0x7f, 0xe9, 0x60, 0x68, 0xf3, 0xfa, 0xcd, 0x93, 0x31, 0x80, - 0x43, 0xf8, 0x80, 0x08, 0x20, 0xdd, 0xc3, 0xc2, 0x74, 0xfa, 0x03, 0x03, 0xbd, 0x98, 0xf0, 0xbf, - 0xa3, 0xce, 0x3e, 0x20, 0x51, 0x41, 0x91, 0xd7, 0x5f, 0x38, 0x98, 0xab, 0x2c, 0x68, 0x7a, 0x3e, - 0xd6, 0x74, 0x1a, 0x1f, 0x15, 0x35, 0x8d, 0x92, 0xf2, 0x35, 0x3d, 0xfd, 0x57, 0x06, 0x1a, 0xa7, - 0x1b, 0x81, 0x9c, 0x5b, 0x84, 0xa7, 0xa4, 0xcb, 0x5d, 0x4b, 0x77, 0x2a, 0x4c, 0x77, 0x55, 0x07, - 0x80, 0xcc, 0xc4, 0x40, 0x4e, 0xe0, 0x63, 0xe9, 0xfd, 0x82, 0x65, 0x15, 0x35, 0x5c, 0x5f, 0x87, - 0xe5, 0x2b, 0x06, 0xda, 0x40, 0x77, 0x12, 0x4e, 0x09, 0xc6, 0xaf, 0x4a, 0x77, 0x8b, 0x14, 0x97, - 0xb8, 0xb0, 0x3b, 0xa3, 0x14, 0x68, 0xb8, 0x27, 0xd6, 0x70, 0x1c, 0x8f, 0xa5, 0x57, 0x68, 0x78, - 0x30, 0xd3, 0x28, 0x6b, 0x38, 0x79, 0xb7, 0x26, 0x62, 0x1b, 0x09, 0x12, 0x25, 0x3e, 0x2c, 0x91, - 0xa4, 0x66, 0xe1, 0x16, 0x26, 0xf3, 0x16, 0x07, 0x0d, 0xcf, 0xc5, 0x1a, 0x4e, 0xe1, 0x23, 0x45, - 0xd9, 0x5f, 0xd2, 0x60, 0x3a, 0x16, 0x9f, 0x47, 0x1b, 0x46, 0x62, 0xf2, 0xfe, 0x19, 0x9b, 0x0b, - 0x2a, 0xea, 0xae, 0x74, 0x2e, 0x64, 0x10, 0x89, 0xa5, 0x73, 0x21, 0x8b, 0x1b, 0x6c, 0x1e, 0x8f, - 0x71, 0x1c, 0xc0, 0xfb, 0xa4, 0x38, 0x7c, 0x06, 0x44, 0x58, 0x7c, 0xff, 0x62, 0xa0, 0x1d, 0x73, - 0x24, 0xd0, 0xb2, 0x75, 0xf1, 0x49, 0x89, 0x42, 0x79, 0x08, 0xc5, 0x85, 0x53, 0xdd, 0x57, 0x04, - 0x38, 0x57, 0x63, 0x38, 0xaf, 0xe3, 0x73, 0x9a, 0x61, 0xa9, 0xf8, 0xa4, 0x51, 0x2f, 0x3e, 0x4f, - 0xd1, 0x54, 0x85, 0x31, 0xfa, 0x19, 0xc3, 0xa8, 0xa5, 0xe8, 0x4a, 0x31, 0xe6, 0x61, 0x11, 0x4b, - 0x31, 0xe6, 0x62, 0x03, 0x9b, 0xd7, 0x63, 0x8c, 0x17, 0xf0, 0x8c, 0x1c, 0x23, 0x5c, 0x89, 0x10, - 0x3e, 0x07, 0x75, 0x38, 0xbf, 0xd8, 0x87, 0x76, 0x27, 0xc7, 0x52, 0xc9, 0xb3, 0xc5, 0x67, 0x75, - 0xe3, 0x92, 0x45, 0x21, 0x2e, 0x9c, 0xeb, 0xb1, 0x36, 0xc0, 0x7e, 0x18, 0xc3, 0xbe, 0x81, 0xdf, - 0x12, 0x61, 0xa7, 0xe1, 0x76, 0x90, 0x71, 0x97, 0xf4, 0x5d, 0xf0, 0xa1, 0x81, 0xb6, 0xe9, 0xba, - 0x00, 0x4f, 0x77, 0xa3, 0x3b, 0x07, 0x7c, 0xac, 0xbb, 0x4a, 0x80, 0xf3, 0x4a, 0x8c, 0xf3, 0x1c, - 0x7e, 0xad, 0x7b, 0x9c, 0x31, 0xaa, 0xaf, 0xf1, 0x4d, 0x9a, 0xb3, 0x73, 0x15, 0x9b, 0x74, 0x8a, - 0xf1, 0xab, 0xd8, 0xa4, 0xd3, 0x14, 0x5f, 0xf3, 0x60, 0xac, 0xe8, 0x0e, 0x3c, 0x51, 0xec, 0xfc, - 0xb3, 0x40, 0x49, 0x5d, 0xbe, 0x9f, 0xe8, 0x61, 0x59, 0x62, 0x94, 0xba, 0x87, 0x35, 0xa9, 0x59, - 0xea, 0x1e, 0xd6, 0xe5, 0x5e, 0x99, 0xa7, 0x62, 0xc5, 0x0f, 0xe3, 0x83, 0x12, 0xc5, 0xf9, 0xfd, - 0x9f, 0x9f, 0x3e, 0xf6, 0x7e, 0x6a, 0xa0, 0x57, 0xd3, 0x5b, 0x82, 0x14, 0xcd, 0x6b, 0x59, 0xab, - 0x5b, 0x87, 0xea, 0x6c, 0x6f, 0x95, 0x73, 0x9c, 0xee, 0xe2, 0xfc, 0x51, 0xc2, 0xfc, 0x2e, 0x33, - 0xad, 0xd2, 0x77, 0x9b, 0x52, 0xd3, 0x4a, 0x91, 0xc4, 0x25, 0x35, 0xad, 0x54, 0x59, 0x57, 0xda, - 0xd3, 0x54, 0x50, 0x55, 0x30, 0x49, 0x60, 0x45, 0x2f, 0xe1, 0x1f, 0xb3, 0xd3, 0x54, 0x75, 0x27, - 0x2b, 0x3d, 0x4d, 0x33, 0x92, 0xd0, 0xa4, 0xa7, 0x69, 0x56, 0xf6, 0x98, 0x59, 0x8e, 0x71, 0xcc, - 0xe1, 0x4b, 0x79, 0xfa, 0x5e, 0x00, 0x14, 0x2d, 0xe7, 0x24, 0xb8, 0xaf, 0x1b, 0x68, 0x73, 0xe4, - 0x36, 0x71, 0x96, 0x20, 0xde, 0xa7, 0xf4, 0x7a, 0x52, 0x9c, 0xc4, 0xc2, 0xfe, 0x1c, 0x25, 0x73, - 0xac, 0x68, 0xe6, 0xfd, 0xc4, 0xd6, 0x0c, 0xfe, 0x86, 0x81, 0x70, 0x6c, 0x7b, 0x45, 0x8a, 0xed, - 0x57, 0x1b, 0x52, 0x69, 0xcd, 0x0e, 0xe4, 0x29, 0x9a, 0xc3, 0xd5, 0x84, 0xae, 0x4a, 0xe8, 0xf6, - 0xf7, 0x06, 0x1a, 0xd7, 0xe4, 0x02, 0xe3, 0xe3, 0x32, 0x1f, 0x2b, 0x33, 0x37, 0xb9, 0x70, 0xa2, - 0xdb, 0x6a, 0x39, 0x96, 0x24, 0x78, 0x95, 0x71, 0x72, 0xaf, 0x30, 0x23, 0x22, 0x44, 0xe1, 0x09, - 0xa5, 0xcb, 0x15, 0xc6, 0x72, 0xdd, 0x32, 0xb3, 0x97, 0x0b, 0x27, 0xbb, 0xae, 0x07, 0xa0, 0x66, - 0x63, 0x50, 0x27, 0xf1, 0x71, 0xb9, 0x19, 0x92, 0x85, 0xea, 0xdf, 0x05, 0x97, 0xa8, 0xd3, 0x71, - 0xd6, 0xb8, 0x44, 0x4a, 0xff, 0x79, 0xba, 0xab, 0x3a, 0x00, 0x86, 0xc4, 0x60, 0x1e, 0xe2, 0x07, - 0x72, 0x97, 0x48, 0xee, 0x4e, 0x8b, 0xcc, 0x58, 0x71, 0x27, 0x4d, 0xd1, 0x66, 0xe9, 0x29, 0x38, - 0x16, 0x39, 0xdb, 0x69, 0xa5, 0xf0, 0x51, 0xa5, 0xf3, 0xac, 0xa2, 0xb5, 0x16, 0xa6, 0xba, 0xa9, - 0x92, 0x23, 0x64, 0x00, 0x1e, 0xb7, 0x16, 0x32, 0xfe, 0x85, 0x81, 0xcc, 0x08, 0x85, 0x92, 0xac, - 0x82, 0xcf, 0x28, 0x75, 0xcb, 0xa4, 0xeb, 0x16, 0x5e, 0xeb, 0xa9, 0x2e, 0x00, 0x2c, 0xc5, 0x00, - 0xcf, 0xe3, 0xb3, 0x52, 0x80, 0x16, 0x6f, 0x25, 0x03, 0xea, 0x47, 0x06, 0x1a, 0x55, 0x31, 0x76, - 0xa5, 0xb3, 0x33, 0x83, 0x44, 0x2c, 0x9d, 0x9d, 0x59, 0x94, 0x60, 0xf3, 0x66, 0x0c, 0xe8, 0x12, - 0xbe, 0x90, 0x0a, 0xf2, 0xa8, 0xb9, 0xc2, 0x1a, 0xff, 0xfd, 0x1f, 0x0d, 0x34, 0xa6, 0xe4, 0x08, - 0xe2, 0x69, 0xdd, 0x9e, 0xa0, 0x42, 0x76, 0xac, 0xbb, 0x4a, 0x00, 0xed, 0x56, 0x0c, 0xed, 0x32, - 0xbe, 0xd8, 0x01, 0x4d, 0xc9, 0x4f, 0xd4, 0x60, 0xfb, 0x0b, 0x03, 0x15, 0xe6, 0x48, 0xa0, 0xa0, - 0x05, 0x4b, 0x57, 0x99, 0x9e, 0x84, 0x2c, 0x5d, 0x65, 0x19, 0xac, 0x63, 0xed, 0x2a, 0x4b, 0xe0, - 0x10, 0x06, 0x4f, 0x98, 0x7a, 0x1f, 0xb0, 0xbd, 0x51, 0x45, 0xc2, 0xc6, 0x19, 0x4a, 0xc9, 0x48, - 0xdf, 0xd2, 0xd9, 0x97, 0xc5, 0xf2, 0x36, 0xdf, 0x88, 0x91, 0x1c, 0xc7, 0xd3, 0x6a, 0x24, 0xc2, - 0x58, 0xf9, 0x29, 0xe3, 0xff, 0xe5, 0x38, 0xb1, 0x47, 0x20, 0xd6, 0xe2, 0x49, 0x65, 0xb8, 0x53, - 0x4a, 0x01, 0x2e, 0x14, 0x73, 0x97, 0x07, 0xf5, 0xe7, 0x62, 0xf5, 0xcf, 0xe2, 0x33, 0xb2, 0x08, - 0xa9, 0x17, 0x6d, 0x02, 0x8c, 0xac, 0x2b, 0x9e, 0x55, 0xc0, 0xe6, 0x5e, 0xc2, 0x7f, 0xcb, 0xe6, - 0x95, 0x82, 0x21, 0x2c, 0x9d, 0x57, 0x7a, 0x3a, 0xb3, 0x74, 0x5e, 0x65, 0x10, 0x90, 0xb5, 0xee, - 0x61, 0x82, 0x7b, 0xa7, 0x41, 0xc4, 0x66, 0xdc, 0x12, 0xfe, 0x2f, 0x03, 0x6d, 0x9f, 0x23, 0x81, - 0x8e, 0xf6, 0x2c, 0xb5, 0x2a, 0x72, 0x10, 0xb5, 0xa5, 0x56, 0x45, 0x1e, 0x7e, 0xb5, 0xf9, 0xf9, - 0x18, 0x5e, 0x19, 0xdf, 0x14, 0xe1, 0xb9, 0x0e, 0xa9, 0xd8, 0x4e, 0x25, 0x1f, 0xca, 0xb8, 0xd4, - 0x52, 0xf1, 0x39, 0x8c, 0xf3, 0x12, 0xfe, 0xa6, 0x81, 0x46, 0xd2, 0x34, 0x27, 0xa9, 0x5b, 0xa3, - 0x60, 0x51, 0x49, 0xdd, 0x1a, 0x15, 0x6f, 0xca, 0x2c, 0x52, 0x1c, 0xfb, 0xf1, 0xde, 0x94, 0xc9, - 0xc7, 0x4b, 0x33, 0x4a, 0x55, 0xc2, 0x1e, 0xfa, 0x3b, 0xe6, 0x25, 0x2b, 0x69, 0x1f, 0xd2, 0x9d, - 0x39, 0x8b, 0x68, 0x22, 0xdd, 0x99, 0x33, 0x99, 0x25, 0xe6, 0x85, 0x78, 0x24, 0x4e, 0xe1, 0x13, - 0x92, 0x5b, 0x12, 0x66, 0xdd, 0xc0, 0xfe, 0xc5, 0x98, 0x1c, 0x34, 0x61, 0x36, 0xb9, 0xf2, 0x7f, - 0x68, 0xa0, 0x57, 0x92, 0x80, 0x3a, 0x28, 0x21, 0x58, 0xab, 0x9c, 0x8a, 0x86, 0x52, 0x38, 0xde, - 0x65, 0x2d, 0xc0, 0x74, 0x31, 0xc6, 0x74, 0x1a, 0x9f, 0x54, 0x62, 0xe2, 0x3b, 0x99, 0x02, 0xd4, - 0x77, 0x98, 0x7b, 0x9c, 0xe6, 0x8e, 0x48, 0xe7, 0x91, 0x82, 0x9b, 0x22, 0x9d, 0x47, 0x2a, 0x32, - 0x8a, 0x36, 0x60, 0xc1, 0xd4, 0x82, 0xa4, 0x02, 0xba, 0xf5, 0x26, 0x55, 0xfd, 0x07, 0x36, 0xa1, - 0x94, 0x44, 0x12, 0xe9, 0x84, 0xca, 0x62, 0xb7, 0x48, 0x27, 0x54, 0x26, 0x57, 0x45, 0x6b, 0x96, - 0xf1, 0x1e, 0x4f, 0x92, 0x59, 0x34, 0x47, 0xfc, 0x5f, 0xb2, 0x4b, 0x2b, 0x29, 0xab, 0x44, 0x7a, - 0x69, 0xa5, 0x63, 0xb6, 0x48, 0x2f, 0xad, 0xb4, 0x84, 0x15, 0xed, 0x99, 0xc2, 0xdd, 0x7b, 0x88, - 0x36, 0xf2, 0xba, 0xf2, 0xc8, 0xc5, 0x47, 0xcc, 0x21, 0x90, 0x33, 0x46, 0xf0, 0x91, 0xac, 0x18, - 0x44, 0x9a, 0xd3, 0x52, 0x38, 0xda, 0x45, 0x0d, 0xc0, 0x72, 0x3b, 0xc6, 0x72, 0x05, 0x5f, 0xd6, - 0xc6, 0x2c, 0x5a, 0xbc, 0xb2, 0x32, 0x6a, 0xc1, 0x38, 0x24, 0x74, 0xdd, 0x77, 0x44, 0x64, 0x12, - 0x1c, 0x92, 0xec, 0x88, 0x4c, 0x27, 0x97, 0x25, 0x3b, 0x22, 0x23, 0x21, 0xa9, 0x68, 0x2f, 0x04, - 0x52, 0xe8, 0xda, 0x2d, 0xd7, 0xa9, 0x44, 0xb1, 0x84, 0x04, 0x40, 0x0e, 0xea, 0xaf, 0xc5, 0xc1, - 0x12, 0xb9, 0x24, 0xda, 0xc1, 0x92, 0x52, 0x5a, 0xb4, 0x83, 0x25, 0x27, 0xaa, 0x68, 0xd7, 0x50, - 0x04, 0x27, 0x4d, 0x65, 0x91, 0x4f, 0xbd, 0x9f, 0x18, 0x68, 0x57, 0x2a, 0xc8, 0x27, 0xa3, 0x8a, - 0x48, 0xdd, 0xb8, 0x9c, 0x24, 0x16, 0xa9, 0x1b, 0x97, 0x97, 0x9b, 0xd2, 0x4d, 0x50, 0x90, 0x83, - 0x4a, 0x6e, 0x7d, 0x3f, 0x61, 0x46, 0xa7, 0x2c, 0x66, 0x27, 0x35, 0x3a, 0x35, 0x9c, 0x15, 0xa9, - 0xd1, 0xa9, 0x63, 0x92, 0x98, 0x56, 0xac, 0xfb, 0x3d, 0x7c, 0x27, 0x5f, 0x20, 0x50, 0xd8, 0xe2, - 0xb2, 0xe3, 0x82, 0xdf, 0x63, 0x77, 0x9f, 0x12, 0x5a, 0x88, 0xf4, 0xee, 0x53, 0xcd, 0x3e, 0x91, - 0xde, 0x7d, 0x6a, 0xd8, 0x26, 0xe6, 0x6b, 0x31, 0xb8, 0x23, 0x78, 0x32, 0x95, 0xf4, 0x02, 0xf5, - 0x20, 0xe7, 0x84, 0xd1, 0x49, 0x92, 0xc3, 0xf2, 0xbe, 0x81, 0x86, 0x13, 0x14, 0x10, 0xac, 0xbc, - 0x6c, 0x10, 0x88, 0x25, 0xd2, 0x5c, 0x18, 0x09, 0x93, 0xc4, 0x9c, 0x8a, 0x75, 0xdb, 0x8b, 0x77, - 0xcb, 0x8e, 0x4a, 0x46, 0x2d, 0x49, 0xaa, 0xf4, 0x0d, 0x03, 0x6d, 0x10, 0x98, 0x22, 0x78, 0xaf, - 0xd4, 0xca, 0xeb, 0xe4, 0xa0, 0x14, 0xf6, 0x65, 0x17, 0xcc, 0x71, 0xd1, 0x6a, 0xf3, 0xee, 0x62, - 0x9c, 0x94, 0xa4, 0x6e, 0xbf, 0xcb, 0xa2, 0xac, 0x29, 0x4e, 0x89, 0x34, 0xca, 0x2a, 0x67, 0xac, - 0x14, 0x0e, 0xe4, 0x29, 0x9a, 0x23, 0x19, 0x83, 0xe9, 0x94, 0x60, 0xb0, 0x24, 0xd5, 0xfc, 0x26, - 0x33, 0x89, 0xd2, 0x3c, 0x13, 0x2c, 0x0f, 0xf1, 0x4a, 0xc9, 0x2a, 0x52, 0x93, 0x48, 0x45, 0x5c, - 0xc9, 0x88, 0x07, 0x8b, 0x8c, 0x16, 0x3f, 0x5c, 0x2b, 0xb8, 0x93, 0x59, 0x82, 0x65, 0xa9, 0x36, - 0x4a, 0x5e, 0x4b, 0xe1, 0x70, 0xce, 0xd2, 0x39, 0x82, 0xbe, 0xdc, 0xef, 0xa4, 0xf9, 0xd9, 0x15, - 0xd2, 0xb4, 0x84, 0xe5, 0x1e, 0x79, 0x2b, 0xdf, 0x37, 0xd0, 0x4b, 0x52, 0x8a, 0x89, 0xd4, 0xc6, - 0xd1, 0x91, 0x5d, 0xa4, 0x36, 0x8e, 0x96, 0xbd, 0xa2, 0xb5, 0x71, 0x12, 0x2e, 0x98, 0x1c, 0x42, - 0xc2, 0xfb, 0xe2, 0x9d, 0x9f, 0x22, 0xa0, 0xa8, 0x3a, 0x5f, 0x4e, 0x7f, 0x51, 0x75, 0xbe, 0x82, - 0xd5, 0xa2, 0xed, 0xfc, 0x28, 0x0f, 0x40, 0xaa, 0x79, 0xb4, 0xbf, 0xfe, 0x13, 0x33, 0x9d, 0x95, - 0x2c, 0x14, 0x79, 0x94, 0x2c, 0x83, 0x1a, 0x23, 0x8f, 0x92, 0x65, 0x11, 0x5d, 0xf4, 0x51, 0xb2, - 0xe8, 0x4f, 0xd7, 0xb0, 0x6c, 0xff, 0x4a, 0x3b, 0xac, 0xcf, 0xfe, 0x2c, 0x8d, 0xc6, 0x84, 0xfe, - 0x57, 0xe6, 0xfd, 0xeb, 0x38, 0x2a, 0x52, 0xef, 0x3f, 0x07, 0x7d, 0x46, 0xea, 0xfd, 0xe7, 0x21, - 0xc3, 0x98, 0x77, 0x63, 0x9c, 0x57, 0xf1, 0x15, 0xe9, 0x45, 0x49, 0x07, 0x5c, 0x2b, 0xc8, 0xc4, - 0xfa, 0x23, 0x66, 0x8d, 0xaa, 0xe8, 0x2c, 0x58, 0x17, 0x87, 0x51, 0x0d, 0xe4, 0x74, 0x57, 0x75, - 0x72, 0x04, 0x72, 0xf9, 0x92, 0xe9, 0x6e, 0x18, 0x7f, 0x66, 0xa0, 0x89, 0x68, 0x18, 0xa5, 0x54, - 0x17, 0xe9, 0x65, 0x57, 0x36, 0x07, 0xa7, 0x70, 0xa2, 0xdb, 0x6a, 0x80, 0xf1, 0x4e, 0x8c, 0xb1, - 0x84, 0xe7, 0xa4, 0x63, 0x98, 0x86, 0x9a, 0x63, 0x08, 0xff, 0x86, 0x79, 0x7c, 0x52, 0x56, 0x8c, - 0x74, 0x37, 0xd4, 0x51, 0x74, 0xa4, 0xbb, 0xa1, 0x96, 0x70, 0x63, 0xbe, 0x15, 0xa3, 0x9a, 0xc5, - 0x6f, 0xa8, 0xf2, 0xa4, 0x72, 0xc3, 0xf9, 0x73, 0x66, 0x9c, 0xca, 0xc8, 0x2e, 0x52, 0xe3, 0x54, - 0xc3, 0xdc, 0x91, 0x1a, 0xa7, 0x3a, 0x42, 0x8e, 0x79, 0x29, 0xc6, 0x72, 0x06, 0x9f, 0x4a, 0xdd, - 0x8f, 0xc8, 0x98, 0x3a, 0xf2, 0x0d, 0xf2, 0xe7, 0x2c, 0x3f, 0x4a, 0x4b, 0x8d, 0x91, 0xe6, 0x47, - 0xe5, 0xe1, 0xeb, 0x48, 0xf3, 0xa3, 0x72, 0xb1, 0x70, 0xb4, 0x8b, 0x2c, 0x32, 0x4f, 0xe3, 0x1b, - 0x4a, 0x81, 0x8d, 0x21, 0x47, 0xfa, 0x1f, 0xec, 0xc2, 0x2b, 0x83, 0xf4, 0x82, 0x4f, 0x6b, 0x54, - 0xd6, 0x73, 0x71, 0x0a, 0x67, 0x7a, 0xa9, 0x9a, 0xe3, 0x70, 0x88, 0xf0, 0xc6, 0xdb, 0xa6, 0x0e, - 0x31, 0x0f, 0x0d, 0xff, 0x1b, 0x4b, 0xd5, 0xd6, 0x93, 0x5a, 0xb0, 0x6e, 0x88, 0xb4, 0x4c, 0x9b, - 0xc2, 0xe9, 0x1e, 0x6a, 0x76, 0x33, 0xba, 0xd1, 0x06, 0x93, 0x07, 0xec, 0x17, 0xfb, 0xd0, 0xc1, - 0x04, 0xd8, 0x2c, 0x6a, 0x0b, 0x9e, 0xd5, 0x28, 0x9f, 0x93, 0x50, 0x53, 0xb8, 0xb0, 0xac, 0x36, - 0x72, 0x5c, 0x05, 0x44, 0x5d, 0xd1, 0xc1, 0xbe, 0xa9, 0x04, 0x2e, 0xf3, 0x3c, 0xa3, 0x1b, 0x1b, - 0x1f, 0xff, 0x29, 0xbb, 0xda, 0x50, 0xd0, 0x62, 0xa4, 0x57, 0x1b, 0x7a, 0xaa, 0x8d, 0xf4, 0x6a, - 0x23, 0x83, 0x75, 0xa3, 0x75, 0x91, 0x92, 0x74, 0x9c, 0x10, 0x41, 0x2d, 0xd6, 0x0e, 0x52, 0xcb, - 0x94, 0x3f, 0xca, 0x26, 0x35, 0xd4, 0xb2, 0x7e, 0x20, 0x4e, 0x6a, 0xa8, 0x65, 0xfe, 0xee, 0x9b, - 0x36, 0x52, 0xeb, 0x58, 0xf4, 0xc7, 0x10, 0xe4, 0x77, 0x4e, 0x3c, 0xb5, 0x2c, 0xf3, 0x97, 0xd6, - 0xa4, 0xa9, 0x65, 0x79, 0x7f, 0x2d, 0x4e, 0x9a, 0x5a, 0x96, 0xfb, 0xc7, 0xdd, 0xb4, 0x56, 0x75, - 0xea, 0xd7, 0xd6, 0x54, 0x30, 0xff, 0xd3, 0x40, 0x7b, 0xd3, 0x30, 0x55, 0x97, 0x4f, 0xe7, 0xb3, - 0x94, 0xcd, 0xb8, 0x84, 0x7a, 0xbd, 0xe7, 0xfa, 0x39, 0xae, 0x0b, 0xd2, 0x78, 0x95, 0xb7, 0x52, - 0x22, 0x64, 0xfd, 0x8f, 0xa7, 0x69, 0x20, 0xe7, 0xfa, 0x31, 0x38, 0x0d, 0xe4, 0x7c, 0xbf, 0xda, - 0x96, 0x0b, 0x72, 0x02, 0xaa, 0x62, 0x94, 0xff, 0xc7, 0x40, 0x07, 0x24, 0x90, 0x55, 0x03, 0x3d, - 0x93, 0x43, 0xeb, 0x8c, 0xb1, 0x9e, 0x5d, 0x4e, 0x13, 0x39, 0x3c, 0x5e, 0x09, 0x76, 0xf5, 0x88, - 0xff, 0x09, 0x0b, 0xcd, 0x49, 0xa8, 0x79, 0xd2, 0xd0, 0x9c, 0x9a, 0x09, 0x28, 0x0d, 0xcd, 0x69, - 0x18, 0x7f, 0xda, 0xbb, 0x7a, 0x16, 0x5c, 0x82, 0x90, 0x48, 0xc2, 0x48, 0x15, 0x2d, 0xd3, 0x0f, - 0xd9, 0x8d, 0x9d, 0x9a, 0x72, 0x27, 0xbd, 0xb1, 0xcb, 0xa4, 0xf9, 0x49, 0x6f, 0xec, 0xb2, 0x79, - 0x7d, 0x5a, 0x5b, 0x95, 0x72, 0xdb, 0xaa, 0x50, 0x1f, 0xfe, 0x0e, 0xeb, 0xa3, 0x67, 0x11, 0xdb, - 0x2d, 0x71, 0xd8, 0xcf, 0x96, 0x3f, 0xf8, 0x64, 0xc2, 0xf8, 0xc1, 0x27, 0x13, 0xc6, 0x3f, 0x7f, - 0x32, 0x61, 0xbc, 0xff, 0xe9, 0xc4, 0x0b, 0x3f, 0xf8, 0x74, 0xe2, 0x85, 0x1f, 0x7d, 0x3a, 0xf1, - 0xc2, 0xc3, 0x53, 0x39, 0xc9, 0x9c, 0x4f, 0x13, 0xb2, 0xe9, 0x0f, 0x98, 0x3e, 0x1a, 0xa0, 0x3f, - 0x39, 0x3a, 0xfd, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xa6, 0xf2, 0x60, 0x0b, 0x26, 0x76, 0x00, - 0x00, + // 5798 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5d, 0x6d, 0x6c, 0x1c, 0xc7, + 0x79, 0xf6, 0x52, 0x12, 0x45, 0x8e, 0xac, 0xaf, 0xb1, 0x2c, 0x93, 0x47, 0x99, 0x92, 0x56, 0x96, + 0x25, 0xeb, 0x83, 0x27, 0x89, 0xfa, 0xb6, 0x65, 0x9b, 0xd4, 0x07, 0x75, 0xb6, 0xac, 0x8f, 0xd3, + 0x97, 0xad, 0x26, 0x3e, 0xaf, 0xee, 0x86, 0xe4, 0x42, 0xc7, 0xdd, 0xd3, 0xee, 0x1e, 0x25, 0x55, + 0x21, 0x9a, 0x04, 0x69, 0x91, 0x00, 0xfd, 0x61, 0xa0, 0x48, 0xd1, 0x00, 0x49, 0x91, 0x02, 0xfd, + 0x11, 0xa0, 0x4d, 0x11, 0x14, 0x41, 0x81, 0x16, 0xe8, 0x8f, 0x22, 0x45, 0xe1, 0xa2, 0x4d, 0x1b, + 0xc4, 0x35, 0x90, 0x04, 0x8d, 0xd1, 0xda, 0x09, 0x9c, 0x16, 0x68, 0xd1, 0xf6, 0x57, 0x7f, 0xf4, + 0x47, 0xb1, 0x33, 0xef, 0xec, 0xce, 0xec, 0xcd, 0xcc, 0xee, 0xdd, 0x91, 0x48, 0x02, 0xe4, 0x0f, + 0xc1, 0xdb, 0x9d, 0x79, 0xe7, 0x7d, 0x66, 0xde, 0x99, 0x79, 0xe7, 0x9d, 0x79, 0x66, 0xd1, 0x08, + 0x59, 0x70, 0xc3, 0xd0, 0xf5, 0xbd, 0xb0, 0xbc, 0x38, 0x59, 0xbe, 0xdf, 0x26, 0xc1, 0xa3, 0x89, + 0x56, 0xe0, 0x47, 0x3e, 0x7e, 0x32, 0x79, 0x33, 0xb1, 0x38, 0x59, 0xda, 0xec, 0x2c, 0xb8, 0x9e, + 0x5f, 0xa6, 0x7f, 0x59, 0x82, 0xd2, 0x58, 0xdd, 0x0f, 0x17, 0xfc, 0x90, 0x65, 0x2a, 0x2f, 0x1e, + 0x16, 0x73, 0x97, 0x46, 0xd9, 0xcb, 0x1a, 0xfd, 0x55, 0x66, 0x3f, 0xe0, 0xd5, 0x36, 0xa9, 0x48, + 0xd7, 0x9b, 0x25, 0x01, 0xf1, 0xea, 0x04, 0xde, 0x3e, 0x23, 0xbd, 0xf5, 0xfc, 0x06, 0x7f, 0x31, + 0x92, 0x79, 0x91, 0x66, 0x19, 0x95, 0xde, 0xb4, 0x9c, 0xc0, 0x59, 0xe0, 0x65, 0x95, 0xa4, 0x57, + 0x01, 0x69, 0xb5, 0x23, 0x12, 0x28, 0x05, 0x86, 0x75, 0x3f, 0x50, 0x17, 0x15, 0x46, 0xce, 0x3d, + 0xf5, 0x9b, 0xc8, 0x6f, 0xb9, 0x75, 0xf5, 0x9b, 0x47, 0x2d, 0x12, 0x2a, 0xd5, 0x7b, 0xe0, 0x07, + 0xf7, 0x12, 0x15, 0xb6, 0xcc, 0xf9, 0x73, 0x3e, 0xab, 0xa2, 0xf8, 0x3f, 0x5e, 0x41, 0x73, 0xbe, + 0x3f, 0xd7, 0x24, 0x65, 0xa7, 0xe5, 0x96, 0x1d, 0xcf, 0xf3, 0x23, 0x27, 0xa2, 0xcd, 0x40, 0xdf, + 0xda, 0x9f, 0x42, 0xbb, 0xaf, 0xc5, 0x15, 0x7d, 0xd9, 0x71, 0x17, 0x49, 0x85, 0xd6, 0x5e, 0x70, + 0x99, 0x44, 0xb1, 0xdc, 0x2a, 0x99, 0x0b, 0x48, 0x54, 0x25, 0xf7, 0xdb, 0x24, 0x8c, 0xf0, 0x28, + 0x1a, 0xa2, 0x0a, 0xd6, 0xdc, 0xc6, 0x88, 0xb5, 0xc3, 0xda, 0xbb, 0xba, 0xba, 0x96, 0xfe, 0xae, + 0x34, 0xf0, 0x08, 0x5a, 0xcb, 0xea, 0x3d, 0x18, 0x19, 0xd8, 0x61, 0xed, 0x1d, 0xae, 0xf2, 0x9f, + 0xf6, 0x3b, 0xe8, 0xf9, 0x3c, 0xe9, 0x61, 0xcb, 0xf7, 0x42, 0x82, 0x8f, 0xa3, 0xc1, 0x80, 0x3e, + 0xa1, 0xc2, 0xd7, 0x1d, 0x19, 0x9f, 0x10, 0x0d, 0x66, 0xe2, 0x86, 0xbb, 0x40, 0xc2, 0xc8, 0x59, + 0x68, 0x91, 0xc6, 0x2d, 0xa7, 0xd9, 0x26, 0x55, 0x48, 0x6d, 0xff, 0xb6, 0x85, 0x0e, 0xd2, 0x22, + 0xae, 0x78, 0xe4, 0x4a, 0x3b, 0x82, 0x32, 0x7a, 0x04, 0xf2, 0x3c, 0xda, 0xe8, 0x7b, 0xa4, 0xe6, + 0xb7, 0xa3, 0x9a, 0x0c, 0x68, 0xbd, 0x2f, 0x4a, 0x17, 0x01, 0xaf, 0x92, 0x01, 0xcf, 0xa3, 0x89, + 0xa2, 0xda, 0xf4, 0x09, 0xfc, 0xcb, 0x16, 0x3a, 0xd4, 0x59, 0xd4, 0x05, 0x3f, 0x20, 0x75, 0x27, + 0x8c, 0x56, 0x0e, 0xfb, 0x38, 0x42, 0xb3, 0x49, 0x21, 0x00, 0x5f, 0x78, 0x62, 0xdf, 0x43, 0x87, + 0xbb, 0x50, 0x6b, 0x79, 0x2b, 0x21, 0x2d, 0xa6, 0x47, 0x03, 0x38, 0x80, 0x30, 0xaf, 0x04, 0x01, + 0x24, 0xab, 0x87, 0x4d, 0x7e, 0xa6, 0x0c, 0x83, 0x19, 0xc8, 0x95, 0x90, 0xa7, 0x56, 0x9f, 0x95, + 0xf0, 0xfb, 0x16, 0x9a, 0x54, 0x96, 0xd6, 0xbb, 0x31, 0x74, 0x57, 0x0f, 0x79, 0x26, 0xe1, 0xa1, + 0xa3, 0xdd, 0xe9, 0xd7, 0x67, 0x85, 0x6c, 0x41, 0x98, 0x96, 0x77, 0x95, 0x8e, 0xdd, 0x00, 0xd7, + 0xbe, 0x8c, 0x9e, 0x92, 0x9e, 0x42, 0x21, 0x27, 0xd0, 0x20, 0x1b, 0xe3, 0xa1, 0x90, 0x2d, 0x72, + 0x21, 0x2c, 0xf5, 0xf4, 0xf0, 0x7b, 0x1f, 0x6e, 0x7f, 0xe2, 0x1b, 0x9f, 0x7c, 0x6b, 0x9f, 0x55, + 0x85, 0xe4, 0xf6, 0x08, 0xda, 0x4a, 0xe5, 0xdd, 0xf0, 0x23, 0xa7, 0x79, 0x3d, 0x1e, 0xd5, 0x79, + 0x49, 0x2e, 0x7a, 0xa6, 0xe3, 0x0d, 0x94, 0x76, 0x11, 0x0d, 0x3a, 0x0b, 0x7e, 0xdb, 0x63, 0x90, + 0x86, 0xa7, 0x0f, 0xc5, 0x72, 0x7f, 0xf4, 0xe1, 0xf6, 0xa7, 0xd9, 0x9c, 0x16, 0x36, 0xee, 0x4d, + 0xb8, 0x7e, 0x79, 0xc1, 0x89, 0xe6, 0x27, 0x2a, 0x5e, 0xf4, 0xfd, 0x6f, 0x1f, 0x44, 0x30, 0xd9, + 0x55, 0xbc, 0x08, 0x8a, 0x67, 0xf9, 0x4f, 0xaf, 0xfe, 0xd9, 0xd7, 0xb7, 0x5b, 0xf6, 0x2d, 0xb4, + 0x9d, 0x16, 0x55, 0x65, 0x73, 0x11, 0x2d, 0xac, 0xe2, 0xdd, 0x88, 0x9b, 0x91, 0x37, 0xf3, 0x08, + 0x5a, 0xeb, 0x34, 0x1a, 0x01, 0x09, 0x19, 0xc2, 0xe1, 0x2a, 0xff, 0x29, 0x19, 0xc0, 0x80, 0x64, + 0x00, 0x76, 0x80, 0x76, 0xe8, 0xe5, 0xae, 0x10, 0x96, 0x1a, 0x7a, 0x8e, 0x96, 0xf9, 0x46, 0xbb, + 0x19, 0xb9, 0x06, 0x40, 0xdb, 0xd0, 0x30, 0x20, 0x20, 0x31, 0xa4, 0x55, 0x7b, 0x87, 0xab, 0xe9, + 0x03, 0x13, 0xa8, 0x3b, 0x30, 0xd7, 0xe9, 0x0b, 0x00, 0x64, 0x87, 0xd1, 0x5a, 0xa6, 0x19, 0x93, + 0xbf, 0xee, 0xc8, 0x33, 0xb2, 0x51, 0x40, 0xa6, 0x59, 0xbf, 0xca, 0xd3, 0xd9, 0x3e, 0x7a, 0x81, + 0xca, 0xa6, 0xaf, 0x2e, 0x04, 0xfe, 0x02, 0xc8, 0x07, 0xd1, 0x15, 0xef, 0x3a, 0x69, 0xce, 0x72, + 0x04, 0x7b, 0xd0, 0x46, 0x70, 0x1e, 0x6a, 0x72, 0xd3, 0x6c, 0x80, 0xc7, 0x53, 0xf9, 0x2d, 0xf4, + 0x19, 0xb4, 0xaf, 0x48, 0x81, 0x2b, 0xd4, 0x56, 0x1c, 0xee, 0x39, 0xd2, 0x24, 0x73, 0x4e, 0x44, + 0xc4, 0x6a, 0xac, 0x78, 0xa0, 0xca, 0x4a, 0xc0, 0xcd, 0x29, 0x70, 0x85, 0xe0, 0xfe, 0x81, 0x05, + 0xf3, 0x7a, 0x52, 0xdb, 0xa0, 0x87, 0x1f, 0xe8, 0x40, 0xef, 0x47, 0x9b, 0x1b, 0x3c, 0x4d, 0x06, + 0xf6, 0xa6, 0xe4, 0x05, 0x07, 0xae, 0xa8, 0xa1, 0x81, 0xdc, 0x1a, 0x5a, 0x25, 0xd7, 0xd0, 0xe7, + 0x2c, 0x54, 0x2e, 0xac, 0xe3, 0x8a, 0x99, 0xc5, 0x6e, 0xb3, 0x0a, 0x3d, 0xd5, 0x8e, 0xc1, 0x2c, + 0x1e, 0x82, 0x83, 0x69, 0x28, 0x70, 0x85, 0xa0, 0x4e, 0x26, 0xc3, 0x7f, 0xcb, 0xad, 0x8b, 0xc3, + 0xbf, 0x61, 0x5e, 0x15, 0x66, 0x86, 0x34, 0xd3, 0x0a, 0xe9, 0xd7, 0x80, 0xd1, 0x14, 0xa6, 0xd6, + 0x4b, 0x7e, 0x18, 0x4e, 0xb7, 0xbd, 0x46, 0x93, 0x4c, 0x45, 0xd3, 0x4d, 0xbf, 0x7e, 0xaf, 0x80, + 0x17, 0xb0, 0x13, 0x3d, 0x79, 0x37, 0x4e, 0x5a, 0x9b, 0x27, 0xee, 0xdc, 0x7c, 0x44, 0xeb, 0x7e, + 0x55, 0x75, 0x1d, 0x7d, 0x76, 0x91, 0x3e, 0xb2, 0xeb, 0x7c, 0xf9, 0xa0, 0x2d, 0x05, 0xe0, 0x9d, + 0x46, 0xeb, 0x9a, 0x7e, 0x18, 0xd6, 0xee, 0xd2, 0xb7, 0x30, 0xd7, 0x8e, 0xca, 0xc3, 0x2a, 0x9d, + 0xc5, 0x59, 0xf6, 0x2a, 0x6a, 0x26, 0xa2, 0xec, 0x51, 0xa8, 0xb5, 0xcb, 0xe4, 0x61, 0xc4, 0x0c, + 0xb9, 0xc1, 0xa7, 0xda, 0x97, 0xd1, 0x48, 0xe7, 0x2b, 0x28, 0xd2, 0x46, 0xeb, 0x3d, 0xf2, 0x30, + 0xaa, 0x65, 0xe0, 0xad, 0xf3, 0xd2, 0xb4, 0xf6, 0x04, 0xda, 0x9c, 0x36, 0x48, 0x81, 0x06, 0xfc, + 0x82, 0x05, 0xbe, 0x85, 0x6c, 0x5c, 0x2f, 0xa0, 0x35, 0x34, 0x05, 0xe0, 0x7a, 0x2a, 0xe3, 0xa8, + 0xd0, 0xb4, 0x2c, 0x05, 0xde, 0x8a, 0x06, 0x1f, 0xa4, 0xd5, 0x39, 0x5c, 0x85, 0x5f, 0x71, 0x8f, + 0x20, 0xb3, 0xb3, 0xa4, 0x1e, 0xb9, 0x8b, 0xa4, 0x16, 0x90, 0x45, 0xe2, 0xb5, 0x09, 0xf8, 0x52, + 0x9b, 0x92, 0x17, 0x55, 0xf6, 0xdc, 0x9e, 0x03, 0xd8, 0x53, 0xf4, 0x29, 0x95, 0xcf, 0xfd, 0x1c, + 0xfc, 0x3a, 0x42, 0x2d, 0x67, 0xce, 0xf5, 0xe8, 0x32, 0x0f, 0x14, 0xda, 0x9f, 0x99, 0xbf, 0xdc, + 0x85, 0x56, 0x93, 0x9c, 0x6d, 0x07, 0xa1, 0x1f, 0x5c, 0x4d, 0xd2, 0x82, 0x80, 0xaa, 0x90, 0xdd, + 0xfe, 0x5d, 0x0b, 0x8d, 0x2a, 0x4a, 0x02, 0xd8, 0xfb, 0xd1, 0x20, 0x05, 0xc5, 0xa7, 0x49, 0x25, + 0x6e, 0x48, 0x82, 0x2f, 0x49, 0x7a, 0x0d, 0x50, 0xbd, 0x0e, 0x14, 0xd3, 0x8b, 0x15, 0x27, 0x29, + 0xf6, 0x69, 0xf4, 0x2c, 0xd5, 0xab, 0xc2, 0x17, 0xfc, 0xe1, 0xb2, 0xda, 0xf5, 0x1d, 0x34, 0xae, + 0x13, 0x0f, 0xd8, 0x4f, 0x22, 0x94, 0x04, 0x1b, 0xb8, 0xef, 0x38, 0x22, 0xc3, 0x49, 0x33, 0x57, + 0x85, 0xb4, 0xf6, 0xcb, 0x68, 0x27, 0x95, 0x7d, 0xc9, 0x89, 0x48, 0x08, 0x96, 0x98, 0xa6, 0xcc, + 0xb7, 0xc1, 0xcf, 0x59, 0xc8, 0x36, 0x09, 0xe8, 0x57, 0xc1, 0x22, 0xf5, 0xf3, 0x29, 0xb4, 0x8d, + 0xaa, 0xc0, 0x5d, 0xf8, 0xe5, 0xad, 0xfd, 0x5b, 0xd0, 0xb8, 0x9d, 0xd2, 0x01, 0xdb, 0x31, 0x34, + 0xcc, 0xd7, 0x17, 0x1c, 0x5a, 0xc6, 0x45, 0x4b, 0xb2, 0x56, 0xd3, 0x94, 0x36, 0x81, 0x9a, 0xbf, + 0x4d, 0xa3, 0x26, 0xac, 0xfa, 0x92, 0x3a, 0x28, 0xa0, 0xfa, 0x6e, 0xb4, 0x81, 0x05, 0x5c, 0x32, + 0xb3, 0xf4, 0x7a, 0xf6, 0x14, 0xe6, 0x2b, 0x7b, 0x1e, 0xda, 0x47, 0x53, 0x0c, 0x60, 0x98, 0x46, + 0x9b, 0x9a, 0xf4, 0x55, 0x2d, 0xa9, 0x7a, 0x35, 0x94, 0x34, 0xeb, 0xc6, 0xa6, 0x2c, 0xcb, 0xbe, + 0x88, 0x4a, 0x42, 0x49, 0x97, 0xfd, 0x06, 0xf3, 0x4a, 0x3b, 0x3d, 0xff, 0x01, 0xc9, 0xf3, 0x7f, + 0x6d, 0xf5, 0x90, 0xb5, 0x69, 0xa0, 0x8a, 0x9a, 0xee, 0xdd, 0xd6, 0x91, 0x56, 0xed, 0x1e, 0x79, + 0x64, 0xdf, 0x42, 0x63, 0x4a, 0x49, 0xc9, 0x2a, 0x69, 0xd8, 0xf3, 0x1b, 0x24, 0x56, 0xd5, 0x07, + 0x2d, 0x4b, 0xb2, 0x96, 0x57, 0x66, 0x67, 0xeb, 0xf3, 0x8e, 0xeb, 0xc5, 0x59, 0xab, 0x43, 0x1e, + 0x08, 0xb0, 0x2b, 0x20, 0x17, 0x3c, 0x8f, 0x7e, 0x54, 0xbc, 0x0d, 0x36, 0xd7, 0x21, 0xaa, 0x5f, + 0x1d, 0xbf, 0x6e, 0xc9, 0x73, 0x65, 0x2f, 0x63, 0xca, 0x19, 0x34, 0x26, 0x5a, 0x75, 0xad, 0xe9, + 0x48, 0x0d, 0xcb, 0x8c, 0x7c, 0x44, 0x30, 0xf2, 0x4b, 0x8e, 0xd0, 0x90, 0xaf, 0xad, 0x1e, 0x5a, + 0xb5, 0x69, 0x35, 0xbc, 0x97, 0x44, 0x04, 0xe4, 0x81, 0x13, 0x34, 0xec, 0x57, 0xd1, 0x2e, 0xa1, + 0xcb, 0x77, 0xe8, 0x59, 0x60, 0xd4, 0xa8, 0xa0, 0x03, 0x82, 0x84, 0xa9, 0x45, 0xc7, 0x6d, 0x3a, + 0x77, 0x9b, 0xa4, 0x17, 0x51, 0xdc, 0xb5, 0xa8, 0x84, 0xdc, 0x5a, 0xbc, 0x3a, 0xb9, 0xe9, 0xcd, + 0xb6, 0x9b, 0xb3, 0x6e, 0xb3, 0x49, 0x1a, 0xcb, 0x33, 0x08, 0xcc, 0x82, 0x6b, 0xa1, 0x2f, 0x05, + 0xda, 0xfd, 0x0c, 0x1a, 0x73, 0xc3, 0x1a, 0x74, 0x4c, 0x1a, 0xc9, 0xad, 0xb5, 0xd3, 0x64, 0xb4, + 0xe4, 0xa1, 0xea, 0x88, 0xab, 0x11, 0x63, 0x4f, 0x01, 0x1a, 0x49, 0x34, 0x58, 0x58, 0xc1, 0x0a, + 0xe1, 0x5e, 0x90, 0x5e, 0x44, 0xe2, 0x05, 0x0d, 0x52, 0x05, 0xf9, 0xa0, 0x65, 0xcb, 0xf6, 0x29, + 0x2f, 0x21, 0x20, 0x2f, 0xe4, 0x48, 0x4c, 0x40, 0x28, 0x44, 0x40, 0x54, 0x44, 0xcd, 0x1b, 0x9d, + 0x48, 0x65, 0x09, 0xa0, 0xe5, 0x81, 0x8c, 0x96, 0x99, 0x90, 0x48, 0x46, 0xaf, 0x37, 0x21, 0x54, + 0xd0, 0x63, 0xc8, 0x6d, 0x14, 0x0d, 0x39, 0xf5, 0x78, 0x15, 0x00, 0xce, 0x7d, 0x3c, 0x04, 0xc4, + 0xbf, 0x2b, 0x0d, 0xfb, 0xd7, 0x60, 0xb8, 0x5e, 0x91, 0xa8, 0xd9, 0x9b, 0x50, 0x9d, 0xbd, 0x07, + 0xc9, 0x62, 0x4f, 0x8e, 0x56, 0x5f, 0xe2, 0xc9, 0xd1, 0x5f, 0xf6, 0xdb, 0x50, 0xcd, 0x2b, 0x15, + 0xde, 0xfa, 0x0d, 0xb4, 0x97, 0x87, 0xd3, 0x2a, 0x5e, 0xef, 0xea, 0xcb, 0x51, 0xbb, 0x81, 0x6c, + 0xd4, 0xce, 0x10, 0xdd, 0xac, 0xc3, 0xe2, 0xdf, 0xac, 0x40, 0x9f, 0x28, 0x49, 0xd2, 0xfd, 0xc5, + 0xae, 0xb4, 0xec, 0xa3, 0x8c, 0x0b, 0x0b, 0x48, 0x43, 0x31, 0x00, 0xe4, 0x15, 0xb4, 0xcd, 0x0d, + 0x6b, 0x7c, 0x99, 0xae, 0x1b, 0x67, 0x46, 0x5d, 0x9d, 0x20, 0xfb, 0xbe, 0xbc, 0x56, 0xd2, 0xbb, + 0x96, 0x17, 0x11, 0xf6, 0x58, 0x9a, 0x5a, 0x87, 0x07, 0x67, 0x58, 0x32, 0x6d, 0xf6, 0xb2, 0x82, + 0xed, 0x0f, 0xd6, 0x80, 0x2d, 0x6a, 0xe7, 0x8d, 0xe5, 0x2e, 0x12, 0xbf, 0x8e, 0x36, 0x82, 0x9d, + 0xd4, 0xd8, 0xca, 0x26, 0x9e, 0xd9, 0x57, 0xa9, 0xc6, 0xba, 0xb8, 0x99, 0xe3, 0xf9, 0x37, 0x58, + 0x20, 0x8d, 0xdb, 0x34, 0x69, 0x75, 0x03, 0x64, 0x65, 0x3f, 0x43, 0x7c, 0x0d, 0xe1, 0xd4, 0x22, + 0x13, 0x79, 0xab, 0x0a, 0xcb, 0xdb, 0x9c, 0xe6, 0xe6, 0x22, 0x1d, 0x34, 0xca, 0x1f, 0x56, 0x16, + 0x5a, 0x4d, 0x97, 0x34, 0x52, 0xe5, 0x47, 0x56, 0x53, 0xc9, 0xbb, 0x64, 0xc9, 0x6c, 0x8c, 0x9c, + 0x8a, 0xa2, 0xc0, 0xbd, 0xdb, 0x8e, 0xb8, 0x9d, 0xea, 0xa5, 0xe0, 0xa3, 0x68, 0x6b, 0x52, 0x89, + 0x35, 0xc9, 0x00, 0xd7, 0x50, 0x03, 0xdc, 0x92, 0xbc, 0x9d, 0x4e, 0x2d, 0x11, 0xef, 0x43, 0x9b, + 0xd9, 0x0a, 0x59, 0xcc, 0x30, 0x48, 0x33, 0x6c, 0xa4, 0x8b, 0x61, 0x21, 0xed, 0x6f, 0x59, 0x68, + 0x57, 0xdd, 0xf7, 0x66, 0xdd, 0x06, 0x2d, 0xc3, 0xf5, 0x22, 0x12, 0x2c, 0x3a, 0xcd, 0x5a, 0xe0, + 0x3c, 0xa8, 0xb5, 0x48, 0x50, 0x27, 0x5e, 0xe4, 0x36, 0x49, 0x38, 0xb2, 0x76, 0xc7, 0xaa, 0xbd, + 0xc3, 0xd3, 0x27, 0x20, 0x94, 0x50, 0x9e, 0x73, 0xa3, 0xf9, 0xf6, 0xdd, 0x89, 0xba, 0xbf, 0x50, + 0x76, 0x9a, 0x4d, 0x3f, 0x70, 0x0e, 0x42, 0xfb, 0xf1, 0x9f, 0xd4, 0x3b, 0x62, 0x41, 0x86, 0x73, + 0xa4, 0x5e, 0xdd, 0x91, 0x96, 0x51, 0x81, 0x22, 0xaa, 0xce, 0x83, 0xab, 0x69, 0x01, 0xb8, 0x8d, + 0x4a, 0x2a, 0x3d, 0x16, 0xe3, 0x2a, 0x0a, 0x47, 0x86, 0xfa, 0x2b, 0x7e, 0xa4, 0xb3, 0x78, 0x5a, + 0xf7, 0xa1, 0xfd, 0xe1, 0x1a, 0xd8, 0xf5, 0xcb, 0xf7, 0x66, 0x7e, 0x65, 0xe0, 0xbf, 0x32, 0xf0, + 0x5f, 0x3e, 0x03, 0x7f, 0x1b, 0xed, 0x91, 0x9c, 0xdf, 0x2a, 0x99, 0x73, 0xe3, 0x46, 0x8e, 0x9b, + 0x41, 0x0e, 0x81, 0xe5, 0x6c, 0xcc, 0xab, 0x57, 0x57, 0xf6, 0x15, 0xf0, 0x21, 0x8c, 0xf2, 0xa1, + 0xeb, 0xec, 0x42, 0xeb, 0xe9, 0xc4, 0xc7, 0x53, 0xc0, 0x4c, 0xf7, 0x64, 0x3c, 0xd3, 0xf1, 0x67, + 0x76, 0x2d, 0x11, 0x98, 0x38, 0xb1, 0xcb, 0xab, 0xf1, 0x55, 0x70, 0x3a, 0xcc, 0x05, 0x74, 0xa3, + 0xf2, 0x49, 0x58, 0x4f, 0x56, 0xc2, 0xdb, 0xf3, 0x6e, 0x44, 0x9a, 0x6e, 0x18, 0x4d, 0x35, 0x16, + 0x5c, 0x2f, 0x77, 0xe3, 0xcc, 0x3e, 0xcd, 0x83, 0x4f, 0x1d, 0x39, 0xa1, 0xfc, 0x51, 0x34, 0xe4, + 0x86, 0x35, 0x27, 0x7e, 0x06, 0x45, 0xaf, 0x75, 0x43, 0x9a, 0xc4, 0x7e, 0x4d, 0x0c, 0x91, 0x57, + 0xc9, 0x82, 0xbf, 0xe8, 0x34, 0xc3, 0x9b, 0xad, 0x9b, 0xb1, 0xbd, 0x49, 0x8b, 0xcd, 0xac, 0xf3, + 0x62, 0x75, 0x3a, 0x2f, 0x0d, 0x31, 0xfa, 0xad, 0x96, 0x95, 0x2c, 0x3c, 0x86, 0x02, 0x78, 0x0f, + 0xb1, 0xba, 0x71, 0xc5, 0x96, 0x16, 0x88, 0xa0, 0xab, 0xea, 0x24, 0xbd, 0x5d, 0x85, 0xb1, 0x56, + 0xda, 0x7a, 0xe9, 0x53, 0xf3, 0x08, 0xf6, 0x53, 0x0a, 0xc8, 0x4c, 0xc2, 0x25, 0x59, 0x04, 0xcf, + 0xcb, 0x08, 0x54, 0xa2, 0x32, 0x48, 0xae, 0x43, 0x8b, 0x77, 0x24, 0x29, 0x64, 0x98, 0xe0, 0xfa, + 0x71, 0xc3, 0x84, 0x9f, 0xf6, 0x5b, 0x60, 0x0c, 0x9d, 0x42, 0x93, 0x40, 0xdc, 0x5a, 0xd0, 0x40, + 0xed, 0x02, 0x77, 0x64, 0xe4, 0xc9, 0xed, 0x47, 0xe0, 0xbd, 0x69, 0xa1, 0xe5, 0xeb, 0xbd, 0x0d, + 0x0d, 0x27, 0xfb, 0x29, 0xa0, 0x79, 0xfa, 0x40, 0x44, 0xb5, 0x4a, 0x46, 0xe5, 0x82, 0x99, 0xea, + 0x8b, 0x06, 0x74, 0xaf, 0x66, 0xd1, 0x15, 0x6d, 0x96, 0x04, 0xe5, 0x34, 0x14, 0x45, 0x3b, 0xf1, + 0x25, 0x27, 0x8c, 0xd8, 0x90, 0x74, 0xd6, 0x5f, 0x58, 0x70, 0xa3, 0x62, 0x30, 0x6d, 0x0f, 0x7a, + 0x82, 0x41, 0x06, 0xe8, 0x7b, 0x0e, 0xad, 0xa3, 0x81, 0x95, 0x3a, 0x7d, 0x05, 0x3a, 0xef, 0xd2, + 0x2e, 0x4a, 0xa6, 0xe2, 0xb5, 0x28, 0x75, 0xe5, 0xab, 0x28, 0xce, 0xc7, 0x24, 0xda, 0x67, 0xb3, + 0xe5, 0xc1, 0xa0, 0xd4, 0x95, 0xd2, 0x3e, 0x0c, 0xf2, 0x26, 0x21, 0xcb, 0xaa, 0xf5, 0x29, 0xb0, + 0x7f, 0xd8, 0xbc, 0x78, 0xe0, 0x04, 0x0d, 0x96, 0x28, 0x5f, 0xd7, 0x63, 0x60, 0xe5, 0x9d, 0x59, + 0x41, 0xc3, 0x2d, 0x68, 0x0d, 0x5d, 0x13, 0x41, 0x6f, 0x67, 0x3f, 0x92, 0x55, 0x1c, 0x20, 0x4b, + 0xf7, 0x87, 0x96, 0x37, 0x60, 0xcc, 0x9b, 0xdf, 0x50, 0x4c, 0x52, 0x91, 0x4f, 0x0a, 0xfb, 0x50, + 0xdc, 0x03, 0xdc, 0xa9, 0x8c, 0xc3, 0x08, 0x8e, 0x60, 0x58, 0x5d, 0x97, 0x6e, 0x48, 0x85, 0xf6, + 0x9b, 0x10, 0x99, 0x00, 0xa3, 0x66, 0x5b, 0xb4, 0xed, 0x68, 0xde, 0x0f, 0xdc, 0xe8, 0x51, 0x5f, + 0xa3, 0x49, 0x04, 0xb1, 0x63, 0x8d, 0x64, 0x40, 0x71, 0x19, 0x0d, 0x3b, 0xfc, 0x61, 0xcf, 0xfb, + 0x85, 0xa9, 0x08, 0xbb, 0x0d, 0xa5, 0x4a, 0x9d, 0xf5, 0x6a, 0xd3, 0xa9, 0x93, 0x05, 0xe2, 0x45, + 0x7d, 0x0f, 0x33, 0x5b, 0xd1, 0x60, 0xe4, 0x04, 0x73, 0x24, 0x82, 0x51, 0x06, 0x7e, 0xd9, 0x2e, + 0xc4, 0x60, 0x74, 0xc5, 0x26, 0x43, 0xff, 0x86, 0x74, 0xb3, 0x58, 0x88, 0xee, 0x8e, 0x29, 0x47, + 0x1a, 0x3f, 0xa0, 0x3d, 0x67, 0x7d, 0x43, 0xfc, 0x69, 0xbf, 0xa5, 0x1a, 0x4a, 0x6f, 0xb6, 0xfc, + 0xec, 0xb6, 0xbd, 0x39, 0xde, 0x03, 0x28, 0x06, 0x24, 0x14, 0xbe, 0x6a, 0xa8, 0x94, 0x44, 0x03, + 0x8e, 0x0b, 0x68, 0x0d, 0x3d, 0xfd, 0xd9, 0x73, 0x8b, 0xb1, 0xec, 0xf6, 0x5b, 0x99, 0xd6, 0x62, + 0xdd, 0xf1, 0x2a, 0x09, 0xae, 0xcf, 0x3b, 0x01, 0xe9, 0xcb, 0xfc, 0xbe, 0x68, 0x65, 0x9a, 0x24, + 0x2b, 0x1b, 0xa0, 0x38, 0x68, 0x13, 0x8b, 0x4c, 0xc7, 0xde, 0x78, 0x2d, 0x8c, 0xdf, 0x01, 0xaa, + 0x9e, 0x9d, 0xe1, 0x0d, 0x81, 0x54, 0x94, 0x5d, 0x87, 0x80, 0xb5, 0x38, 0x71, 0x5c, 0xf0, 0x03, + 0xde, 0x27, 0xbc, 0x46, 0xc6, 0xab, 0x14, 0x40, 0x59, 0x12, 0x28, 0xd3, 0xf9, 0x81, 0x25, 0xf0, + 0x6d, 0xf2, 0x0b, 0x01, 0xe0, 0x97, 0x10, 0xa6, 0x8d, 0x50, 0x83, 0xd9, 0x4b, 0xb4, 0xc7, 0xbc, + 0x79, 0x7d, 0x53, 0x98, 0x79, 0x62, 0xff, 0x9e, 0x05, 0xc1, 0x53, 0xd5, 0x2c, 0x59, 0xdc, 0x9d, + 0x32, 0x20, 0x94, 0x7b, 0xe6, 0x2a, 0x83, 0x03, 0xb0, 0x5a, 0xb6, 0x84, 0x47, 0x30, 0xc4, 0xa9, + 0x35, 0x83, 0xda, 0xb8, 0x61, 0xa8, 0x8d, 0xa2, 0x7e, 0x40, 0x67, 0xad, 0xbc, 0x04, 0x87, 0xda, + 0xae, 0x06, 0x64, 0xd1, 0xf5, 0xdb, 0x21, 0x6d, 0x03, 0x58, 0xf0, 0xe6, 0xcf, 0x54, 0xef, 0xf2, + 0x3a, 0x55, 0x66, 0x07, 0xc5, 0xaf, 0x24, 0xbb, 0xf0, 0x7d, 0x5a, 0x2d, 0xdf, 0xbe, 0x1f, 0x43, + 0xc3, 0x9e, 0x1f, 0xd5, 0x66, 0xfd, 0xb6, 0xc7, 0x9a, 0x60, 0xa8, 0x3a, 0xe4, 0xf9, 0xd1, 0x85, + 0xf8, 0xb7, 0x7d, 0x54, 0x3c, 0xf6, 0x71, 0xfe, 0xa1, 0x1b, 0x46, 0x45, 0xc2, 0xf5, 0x47, 0x60, + 0x93, 0x5f, 0xca, 0x05, 0xfa, 0x6f, 0x45, 0x83, 0x84, 0x3e, 0x81, 0xe5, 0x05, 0xfc, 0xb2, 0x8f, + 0xc3, 0x76, 0x7d, 0x85, 0xa1, 0x9e, 0x82, 0x53, 0x03, 0xb9, 0x65, 0x9d, 0x82, 0x8d, 0xc4, 0x4c, + 0x3e, 0x28, 0x6d, 0x0c, 0x0d, 0xc7, 0xcb, 0x19, 0xfa, 0x10, 0x0a, 0x1c, 0x72, 0x43, 0x96, 0xc8, + 0x3e, 0x09, 0x3b, 0x7c, 0x34, 0xe3, 0x05, 0xc2, 0xcf, 0x28, 0x14, 0x28, 0xf4, 0xbe, 0xe8, 0x8e, + 0x88, 0x39, 0xa1, 0xd8, 0x6b, 0x68, 0xdd, 0x2c, 0x49, 0x0f, 0x43, 0xf4, 0x3a, 0x6a, 0xa2, 0xd9, + 0x44, 0xb4, 0x3d, 0x9e, 0xec, 0x21, 0xc6, 0x63, 0x8d, 0x73, 0xb7, 0x29, 0x1f, 0x9e, 0xb0, 0xaf, + 0x81, 0x9b, 0xd3, 0xf9, 0x1e, 0x74, 0x3a, 0x84, 0xb6, 0x04, 0xc9, 0xbb, 0xe4, 0x68, 0x09, 0x5b, + 0x92, 0xac, 0xae, 0xe2, 0x40, 0xce, 0x57, 0x69, 0x84, 0xf6, 0x4d, 0x38, 0x4a, 0x30, 0x43, 0xf8, + 0x69, 0xe8, 0xeb, 0x75, 0x3f, 0x20, 0xe7, 0x17, 0x9c, 0xbe, 0x8e, 0xd6, 0x5f, 0x82, 0x4e, 0xa2, + 0x12, 0x9b, 0x9e, 0x4a, 0xa1, 0x3c, 0x04, 0xf5, 0xa9, 0x14, 0x9a, 0xbc, 0xca, 0x52, 0xd8, 0x6f, + 0x43, 0x6f, 0x9f, 0x21, 0xc2, 0xf9, 0xdc, 0x2e, 0xf4, 0xcc, 0xd9, 0x4c, 0xb0, 0xaf, 0xc0, 0x94, + 0xa5, 0x91, 0xdf, 0xbd, 0xc2, 0x42, 0xad, 0xf2, 0x93, 0x9c, 0x5d, 0xd5, 0xaa, 0x66, 0xfe, 0x13, + 0x6a, 0xb5, 0x43, 0x6c, 0xf7, 0x4a, 0x26, 0x7b, 0x18, 0x3c, 0x1c, 0x46, 0xdf, 0x86, 0x9d, 0x2b, + 0xe6, 0xfe, 0xbc, 0xdf, 0x9b, 0x7c, 0x0f, 0x43, 0x5f, 0x4c, 0x7a, 0x60, 0x87, 0x6a, 0xa6, 0x39, + 0xb0, 0xc3, 0x94, 0x87, 0x24, 0xf6, 0x75, 0x74, 0x9c, 0xd7, 0x85, 0x34, 0x94, 0x5e, 0x6b, 0x3b, + 0x34, 0x38, 0xd6, 0x8b, 0xa1, 0xc4, 0x0e, 0xc6, 0x89, 0xae, 0xa5, 0x82, 0xf6, 0x6f, 0xa0, 0x35, + 0x34, 0xee, 0xd6, 0xef, 0x98, 0xcd, 0xa4, 0xd8, 0x57, 0xe1, 0xd8, 0xbc, 0x4e, 0x93, 0xae, 0x7b, + 0xab, 0xfd, 0x9b, 0x16, 0x9c, 0x74, 0x2f, 0x2c, 0xf2, 0xe7, 0x83, 0xac, 0xeb, 0x1e, 0x93, 0x8f, + 0x4c, 0xd7, 0x5b, 0x96, 0x19, 0xd9, 0x3c, 0x84, 0x19, 0xd9, 0xf2, 0x3e, 0x63, 0xf0, 0xcb, 0xba, + 0xa4, 0x7c, 0x0b, 0xe2, 0x8d, 0xe6, 0x92, 0xd2, 0x1d, 0xf3, 0xa4, 0x5f, 0x29, 0x76, 0xcc, 0x59, + 0xa6, 0xa4, 0x63, 0xf1, 0x80, 0xc7, 0xd9, 0x76, 0x10, 0x10, 0x2f, 0xba, 0xe4, 0x3f, 0x48, 0x0e, + 0xf5, 0xb0, 0x0a, 0x2c, 0xd0, 0x20, 0xd7, 0xa1, 0xcf, 0x1b, 0x64, 0x74, 0x3f, 0x5e, 0x35, 0x32, + 0x3b, 0xd7, 0x2b, 0x33, 0x5c, 0xdd, 0x00, 0xf8, 0xfa, 0x52, 0x7a, 0x19, 0xad, 0xe6, 0x20, 0x98, + 0xc2, 0xda, 0x4b, 0x96, 0xbd, 0xac, 0x86, 0xf1, 0xa6, 0x64, 0x82, 0x9a, 0x82, 0x7a, 0xb2, 0x8b, + 0xf3, 0x20, 0x59, 0x6a, 0xd3, 0xcc, 0x78, 0x58, 0xc0, 0x34, 0x6e, 0x81, 0xe5, 0x9a, 0xc5, 0x74, + 0x6f, 0x1d, 0x0e, 0xf8, 0x08, 0xd0, 0xd5, 0xc3, 0x15, 0xa8, 0xdb, 0x2a, 0xb8, 0x09, 0x9a, 0x22, + 0x96, 0xaf, 0xb7, 0x89, 0xc3, 0x55, 0xaf, 0xbd, 0x4d, 0x96, 0xd1, 0x7d, 0x7d, 0xde, 0x86, 0x75, + 0xca, 0x25, 0x37, 0x8c, 0x88, 0xe7, 0x7a, 0x73, 0x67, 0x7d, 0x32, 0x3b, 0xeb, 0xd6, 0xdd, 0x62, + 0x21, 0x17, 0xbd, 0x13, 0xf3, 0x19, 0x7e, 0xc0, 0x54, 0x29, 0x18, 0x14, 0xbd, 0x8d, 0x9e, 0x6e, + 0xf2, 0xf7, 0xb5, 0x7a, 0x9a, 0x40, 0x7d, 0x32, 0x49, 0x29, 0x6a, 0x4b, 0x53, 0xf1, 0xd4, 0x7e, + 0x07, 0xcc, 0x8f, 0x4f, 0x13, 0x49, 0x14, 0x24, 0xf6, 0x8c, 0x2f, 0x04, 0xf1, 0x2a, 0x22, 0x39, + 0x6b, 0xdc, 0x1b, 0xbe, 0x3f, 0xb2, 0x80, 0x0c, 0x92, 0x53, 0x04, 0x20, 0x7d, 0x07, 0x6d, 0x84, + 0x58, 0xc5, 0x2c, 0xbc, 0x5a, 0xa6, 0x50, 0x05, 0x2f, 0xc9, 0xbc, 0xf8, 0x7b, 0x07, 0xed, 0x97, + 0x94, 0x15, 0x4e, 0x82, 0x76, 0x59, 0x23, 0xba, 0x03, 0x47, 0xdf, 0xb4, 0x20, 0x54, 0x92, 0x5b, + 0xc4, 0x2f, 0x46, 0x8d, 0xd4, 0x32, 0xcd, 0xc7, 0xc7, 0xa6, 0x65, 0xab, 0x90, 0x3f, 0xb6, 0x32, + 0x75, 0xae, 0x2b, 0xe1, 0x17, 0xa3, 0x3e, 0x8e, 0x83, 0x6f, 0xc5, 0xb5, 0x85, 0xfd, 0x67, 0x67, + 0x0e, 0xda, 0xef, 0x86, 0x4f, 0x83, 0x26, 0xfc, 0x4c, 0x61, 0xb2, 0x58, 0xfd, 0x9a, 0x85, 0x8e, + 0x75, 0x99, 0x11, 0x00, 0x37, 0xd0, 0xe6, 0x56, 0x92, 0x16, 0xce, 0x98, 0xf6, 0x0b, 0x79, 0x53, + 0x2b, 0x53, 0xba, 0xbd, 0x1b, 0x62, 0x89, 0x94, 0x07, 0xc9, 0x35, 0x3a, 0xe7, 0x86, 0x70, 0xce, + 0x80, 0xc3, 0xf8, 0x3c, 0x3f, 0x7e, 0xab, 0x4d, 0x07, 0x5a, 0xdf, 0x41, 0x4f, 0x46, 0x71, 0x92, + 0x65, 0x52, 0x78, 0x5d, 0x94, 0x96, 0x67, 0x9f, 0x83, 0x85, 0x9f, 0xc8, 0x73, 0xc8, 0x4c, 0x6d, + 0x05, 0xb6, 0x35, 0xbf, 0xc6, 0x63, 0x4f, 0x4a, 0x31, 0x3f, 0x7f, 0xd6, 0x04, 0xdf, 0xb6, 0xba, + 0x4c, 0x1e, 0x46, 0x67, 0xe7, 0xdb, 0x41, 0x3c, 0x76, 0x53, 0xe5, 0xa6, 0x1f, 0x15, 0xde, 0xa3, + 0xb7, 0x2f, 0x81, 0xa7, 0x65, 0x12, 0x02, 0x50, 0xf3, 0xab, 0xec, 0xc8, 0xff, 0xfc, 0x3a, 0x5a, + 0x43, 0xc5, 0xe1, 0x7b, 0x68, 0x90, 0xb1, 0x6d, 0xf1, 0x0e, 0x19, 0x60, 0x27, 0x99, 0xb7, 0xb4, + 0xd3, 0x90, 0x82, 0x95, 0x6d, 0x6f, 0xfb, 0xfc, 0xfb, 0x3f, 0xf9, 0x9d, 0x81, 0xad, 0x78, 0x4b, + 0x59, 0x71, 0xa1, 0x03, 0xfe, 0x92, 0x85, 0x36, 0xcc, 0x90, 0x48, 0xe0, 0x0d, 0xe1, 0xdd, 0x0a, + 0x99, 0x9d, 0x94, 0xa3, 0xd2, 0xf3, 0x79, 0xc9, 0xa0, 0xfc, 0xbd, 0x5f, 0xfc, 0xe4, 0x5b, 0xfb, + 0x2c, 0xaa, 0xc4, 0xb3, 0x78, 0x4c, 0x56, 0x42, 0xe2, 0x25, 0xe1, 0xc7, 0x68, 0x68, 0x86, 0xb0, + 0xfc, 0x78, 0xbb, 0x42, 0xba, 0x48, 0x4e, 0x2a, 0xed, 0xd0, 0x27, 0x80, 0x82, 0x0f, 0xa4, 0x05, + 0xef, 0xc4, 0xdb, 0xcb, 0x9d, 0x77, 0x4c, 0x84, 0xe5, 0xc7, 0xbc, 0xec, 0x25, 0xfc, 0xa1, 0x85, + 0x76, 0xce, 0x90, 0x48, 0xc9, 0x55, 0x48, 0x1a, 0x14, 0x97, 0x15, 0xa5, 0x9a, 0x58, 0x14, 0xa5, + 0x43, 0xc5, 0x33, 0x80, 0xda, 0xb7, 0x52, 0xb5, 0x5f, 0xc7, 0x95, 0x1c, 0xb5, 0xe1, 0xe2, 0x8b, + 0xb0, 0xfc, 0x58, 0x26, 0x64, 0x2c, 0x95, 0xb3, 0x9c, 0x0a, 0xfc, 0xa7, 0x16, 0xda, 0x92, 0x04, + 0xc9, 0x84, 0xe3, 0x96, 0x78, 0xbf, 0x42, 0x45, 0xdd, 0xd1, 0xff, 0xd2, 0x81, 0x62, 0x89, 0x01, + 0xcb, 0x2b, 0x29, 0x96, 0xa3, 0xf8, 0x48, 0x59, 0x7d, 0x45, 0x89, 0x84, 0xe7, 0xb1, 0xd8, 0x4f, + 0x96, 0xf0, 0x9f, 0x59, 0x68, 0x64, 0x86, 0x44, 0x4a, 0x86, 0x8f, 0xb2, 0x31, 0x4c, 0x64, 0x22, + 0x65, 0x63, 0x18, 0xc9, 0x43, 0xf6, 0x89, 0x14, 0xc0, 0x01, 0xbc, 0x4f, 0x06, 0x90, 0xad, 0x61, + 0xc9, 0x9c, 0xfe, 0xc4, 0x42, 0x4f, 0x09, 0x41, 0xbe, 0xa4, 0xb2, 0xf7, 0x29, 0x54, 0xd0, 0x90, + 0x87, 0x4a, 0xfb, 0x0b, 0xa5, 0x05, 0x4d, 0x5f, 0x4e, 0x35, 0x9d, 0xc4, 0x87, 0x65, 0x4d, 0x13, + 0xe6, 0x8f, 0xa1, 0xa6, 0xff, 0xd6, 0x42, 0x63, 0x74, 0x20, 0x50, 0x13, 0x18, 0xf1, 0x11, 0x65, + 0x77, 0x37, 0x72, 0x2a, 0x4b, 0x93, 0x5d, 0xe5, 0x01, 0x20, 0x53, 0x29, 0x90, 0xe3, 0xf8, 0x68, + 0x76, 0xbc, 0x60, 0x47, 0x17, 0x9b, 0x7e, 0x68, 0xc2, 0xf2, 0x05, 0x0b, 0xad, 0xa7, 0x23, 0x09, + 0xbf, 0x77, 0x00, 0x3f, 0xa7, 0x1c, 0x2d, 0x32, 0x17, 0x16, 0x94, 0x76, 0xe7, 0xa4, 0x02, 0x0d, + 0x9f, 0x4f, 0x35, 0x1c, 0xc3, 0xa3, 0xd9, 0x1e, 0x1a, 0x4f, 0xcc, 0x74, 0x2b, 0x27, 0x36, 0xde, + 0xad, 0x42, 0x00, 0x55, 0x60, 0x6a, 0xe3, 0x83, 0x8a, 0x92, 0xf4, 0x54, 0xff, 0xd2, 0x44, 0xd1, + 0xe4, 0xa0, 0xe1, 0x99, 0x54, 0xc3, 0x23, 0xf8, 0x50, 0x59, 0x75, 0x5d, 0x0f, 0xd3, 0xb1, 0xfc, + 0x38, 0x19, 0x30, 0x04, 0xe3, 0xfd, 0x4b, 0x66, 0x0b, 0xba, 0xfb, 0x01, 0x94, 0xb6, 0x90, 0x73, + 0x5b, 0x81, 0xd2, 0x16, 0xf2, 0x2e, 0x20, 0xb0, 0x8f, 0xa5, 0x38, 0xf6, 0xe1, 0xbd, 0x4a, 0x1c, + 0x21, 0x03, 0x22, 0x75, 0xbe, 0x7f, 0xb5, 0xd0, 0x8e, 0x19, 0x12, 0x19, 0xaf, 0x04, 0xc0, 0x27, + 0x14, 0x0a, 0x15, 0xb9, 0xb5, 0xa0, 0x74, 0xb2, 0xfb, 0x8c, 0x00, 0xe7, 0xb5, 0x14, 0xce, 0x2b, + 0xf8, 0x8c, 0xa1, 0x59, 0x6a, 0x21, 0x69, 0xce, 0x96, 0x1f, 0x67, 0xb8, 0xf0, 0x52, 0x1b, 0xfd, + 0x94, 0x61, 0x34, 0xde, 0x03, 0xa0, 0xc4, 0x58, 0xe4, 0xaa, 0x02, 0x25, 0xc6, 0x42, 0x57, 0x0e, + 0xd8, 0x97, 0x53, 0x8c, 0x67, 0xf1, 0x94, 0x1a, 0x23, 0xec, 0xbb, 0x12, 0x6e, 0x83, 0x26, 0x9c, + 0x9f, 0x1d, 0x40, 0xbb, 0xc5, 0xb6, 0xd4, 0x92, 0xf9, 0xf1, 0x4b, 0xa6, 0x76, 0xc9, 0xbb, 0xa7, + 0xa0, 0x74, 0xa6, 0xc7, 0xdc, 0x00, 0xfb, 0x4e, 0x0a, 0xfb, 0x0a, 0x7e, 0x43, 0x86, 0x9d, 0x85, + 0xdb, 0xc1, 0xf8, 0x5f, 0x32, 0x57, 0xc1, 0xfb, 0x16, 0xda, 0x66, 0xaa, 0x02, 0x3c, 0xd9, 0x8d, + 0xee, 0x1c, 0xf0, 0xd1, 0xee, 0x32, 0x01, 0xce, 0x8b, 0x29, 0xce, 0x33, 0xf8, 0xc5, 0xee, 0x71, + 0xa6, 0xa8, 0xbe, 0xc4, 0x07, 0x69, 0x7e, 0x05, 0x80, 0x66, 0x90, 0xce, 0x5c, 0x2b, 0xa0, 0x19, + 0xa4, 0xb3, 0xf7, 0x08, 0xd8, 0xfb, 0x53, 0x45, 0x77, 0xe0, 0xf1, 0x72, 0xe7, 0xdd, 0x63, 0xa2, + 0x2e, 0xdf, 0x11, 0x6a, 0x58, 0x75, 0xfa, 0x52, 0x5f, 0xc3, 0x86, 0xf3, 0x9f, 0xfa, 0x1a, 0x36, + 0x1d, 0xf0, 0xb4, 0x4f, 0xa6, 0x8a, 0x1f, 0xc4, 0xfb, 0x15, 0x8a, 0xf3, 0x43, 0x06, 0x61, 0x76, + 0xda, 0xfb, 0x89, 0x85, 0x9e, 0xcb, 0x0e, 0x09, 0x4a, 0x34, 0x2f, 0xe6, 0xf5, 0x6e, 0x13, 0xaa, + 0x97, 0x7a, 0xcb, 0x5c, 0x60, 0x76, 0x97, 0xed, 0x47, 0x0b, 0xf3, 0x9b, 0xcc, 0xb5, 0xca, 0x1e, + 0xa0, 0x50, 0xba, 0x56, 0x9a, 0x93, 0xa2, 0x4a, 0xd7, 0x4a, 0x77, 0xb4, 0xd3, 0x38, 0x9b, 0x4a, + 0xaa, 0x4a, 0x2e, 0x09, 0xf4, 0xe8, 0x25, 0xfc, 0x23, 0x36, 0x9b, 0xea, 0x0e, 0x7e, 0x28, 0x67, + 0xd3, 0x9c, 0x93, 0xae, 0xca, 0xd9, 0x34, 0xef, 0x88, 0xaa, 0x5d, 0x4d, 0x71, 0xcc, 0xe0, 0xf3, + 0x45, 0xea, 0x5e, 0x02, 0x94, 0x74, 0x67, 0x11, 0xdc, 0x97, 0x2d, 0xb4, 0x39, 0x59, 0x36, 0x71, + 0x2a, 0x32, 0xde, 0xab, 0x5d, 0xf5, 0x64, 0x88, 0xcf, 0xa5, 0x17, 0x0a, 0xa4, 0x2c, 0xd0, 0xa3, + 0xd9, 0xea, 0x27, 0xf5, 0x66, 0xf0, 0x57, 0x2c, 0x84, 0x53, 0xdf, 0x2b, 0x51, 0xec, 0x05, 0xbd, + 0x23, 0x95, 0xd5, 0x6c, 0x5f, 0x91, 0xa4, 0x05, 0x96, 0x9a, 0x50, 0x55, 0x82, 0x6e, 0xff, 0x68, + 0xa1, 0x31, 0x03, 0xe1, 0x00, 0x1f, 0x53, 0xad, 0xb1, 0x72, 0x09, 0x10, 0xa5, 0xe3, 0xdd, 0x66, + 0x2b, 0xd0, 0x25, 0x61, 0x55, 0x99, 0x32, 0x08, 0x24, 0x8b, 0x48, 0x10, 0xc5, 0x33, 0x94, 0x89, + 0x90, 0x80, 0xd5, 0xba, 0xe5, 0x52, 0x24, 0x4a, 0x27, 0xba, 0xce, 0x07, 0xa0, 0xa6, 0x53, 0x50, + 0x27, 0xf0, 0x31, 0xb5, 0x1b, 0x92, 0x87, 0xea, 0x3f, 0xa4, 0x25, 0x51, 0xe7, 0xc2, 0xd9, 0xb0, + 0x24, 0xd2, 0xae, 0x9f, 0x27, 0xbb, 0xca, 0x03, 0x60, 0x48, 0x0a, 0xe6, 0x0e, 0x7e, 0x53, 0xbd, + 0x24, 0x52, 0x2f, 0xa7, 0x65, 0xfa, 0xbd, 0x3c, 0x92, 0x66, 0xb8, 0xf9, 0x74, 0x16, 0x1c, 0x4d, + 0x16, 0xdb, 0x59, 0xa5, 0xf0, 0x61, 0xed, 0xe2, 0x59, 0xc7, 0x9d, 0x2f, 0x1d, 0xe9, 0x26, 0x4b, + 0x81, 0x90, 0x01, 0xac, 0xb8, 0x8d, 0x90, 0xf1, 0xcf, 0x2c, 0x64, 0x27, 0x28, 0xb4, 0x8c, 0x38, + 0x7c, 0x5a, 0xab, 0x5b, 0xee, 0x9d, 0x00, 0xa5, 0x17, 0x7b, 0xca, 0x0b, 0x00, 0x2b, 0x29, 0xc0, + 0x97, 0xf1, 0x4b, 0x4a, 0x80, 0x0e, 0x97, 0x92, 0x03, 0xf5, 0x03, 0x0b, 0x8d, 0xe8, 0xae, 0x05, + 0x50, 0x5a, 0x67, 0xce, 0x4d, 0x05, 0x4a, 0xeb, 0xcc, 0xbb, 0x77, 0xc0, 0xbe, 0x9a, 0x02, 0x3a, + 0x8f, 0xcf, 0x66, 0x82, 0x3c, 0xfa, 0x0b, 0x09, 0x0c, 0xeb, 0xf7, 0x1f, 0x5a, 0x68, 0x54, 0x4b, + 0x44, 0xc6, 0x93, 0xa6, 0x31, 0x41, 0x87, 0xec, 0x68, 0x77, 0x99, 0x00, 0xda, 0xb5, 0x14, 0xda, + 0x05, 0x7c, 0xae, 0x03, 0x9a, 0x96, 0x04, 0x6d, 0xc0, 0xf6, 0xd7, 0x16, 0x2a, 0xcd, 0x90, 0x48, + 0x73, 0xf7, 0x80, 0xb2, 0x97, 0x99, 0x6f, 0x3a, 0x50, 0xf6, 0xb2, 0x9c, 0xab, 0x0d, 0x8c, 0xbd, + 0x4c, 0xc0, 0x21, 0x35, 0x9e, 0x64, 0x7a, 0xef, 0xb1, 0xb1, 0x51, 0x77, 0xd3, 0x03, 0xce, 0x51, + 0x4a, 0x75, 0xb3, 0x84, 0xd2, 0xfa, 0xf2, 0xae, 0x92, 0xb0, 0x5f, 0x4d, 0x91, 0x1c, 0xc3, 0x93, + 0x7a, 0x24, 0x52, 0x5b, 0x85, 0x19, 0xe7, 0xff, 0x99, 0xf4, 0xf4, 0xa0, 0xc4, 0xde, 0xc7, 0x13, + 0xda, 0x70, 0xa7, 0xf2, 0x9e, 0x81, 0x52, 0xb9, 0x70, 0x7a, 0x50, 0x7f, 0x26, 0x55, 0xff, 0x25, + 0x7c, 0x5a, 0x15, 0x21, 0x0d, 0x92, 0x41, 0x80, 0xdd, 0x08, 0x20, 0xcf, 0x55, 0x70, 0x65, 0xc4, + 0x12, 0xfe, 0x2e, 0xb3, 0x2b, 0xcd, 0x35, 0x04, 0x4a, 0xbb, 0x32, 0xdf, 0x99, 0xa0, 0xb4, 0xab, + 0x9c, 0x5b, 0x0e, 0x8c, 0xcb, 0x43, 0x81, 0xe0, 0x6b, 0x40, 0xc4, 0x2c, 0x6e, 0x09, 0xff, 0xb7, + 0x85, 0xb6, 0xcf, 0x90, 0xc8, 0x74, 0xb7, 0x82, 0xd2, 0xab, 0x28, 0x70, 0x1b, 0x84, 0xd2, 0xab, + 0x28, 0x72, 0x89, 0x83, 0xfd, 0xe9, 0x14, 0x5e, 0x15, 0x5f, 0x95, 0xe1, 0xf9, 0x1e, 0xa9, 0xb9, + 0x5e, 0xad, 0x18, 0xca, 0x34, 0xd5, 0x52, 0xf9, 0x31, 0xb4, 0xf3, 0x12, 0xfe, 0xaa, 0x85, 0x36, + 0x65, 0xb9, 0x94, 0xca, 0x65, 0x8d, 0x86, 0xaa, 0xa9, 0x5c, 0xd6, 0xe8, 0xc8, 0x99, 0x76, 0x99, + 0xe2, 0x78, 0x01, 0xef, 0xc9, 0xb8, 0x7c, 0x3c, 0x35, 0xe3, 0x6d, 0x0a, 0xfe, 0xd0, 0x3f, 0xb0, + 0x55, 0xb2, 0x96, 0x5b, 0xa6, 0x1c, 0x99, 0xf3, 0xd8, 0x6c, 0xca, 0x91, 0x39, 0x97, 0xbe, 0x66, + 0x9f, 0x4d, 0x5b, 0xe2, 0x24, 0x3e, 0xae, 0xd8, 0x25, 0x61, 0xde, 0x0d, 0x8c, 0x5f, 0x8c, 0x2e, + 0x46, 0x4f, 0xe5, 0x8b, 0x3d, 0xff, 0xfb, 0x16, 0x7a, 0x56, 0x04, 0xd4, 0xc1, 0x3b, 0xc3, 0x46, + 0xe5, 0x74, 0x5c, 0xb7, 0xd2, 0xb1, 0x2e, 0x73, 0x01, 0xa6, 0x73, 0x29, 0xa6, 0x53, 0xf8, 0x84, + 0x16, 0x13, 0x1f, 0xc9, 0x34, 0xa0, 0xbe, 0xc1, 0x96, 0xc7, 0x59, 0x82, 0x9a, 0xd2, 0x8e, 0x34, + 0x04, 0x38, 0xa5, 0x1d, 0xe9, 0x18, 0x6f, 0xc6, 0x80, 0x05, 0x53, 0x0b, 0x0e, 0x15, 0xd0, 0xa1, + 0x57, 0x54, 0xf5, 0x9f, 0x98, 0x41, 0x69, 0xd9, 0x6a, 0x4a, 0x83, 0xca, 0xa3, 0xd0, 0x29, 0x0d, + 0x2a, 0x97, 0x10, 0x67, 0x74, 0xcb, 0x78, 0x8d, 0x8b, 0x8c, 0x39, 0xc3, 0x14, 0xff, 0x37, 0x6c, + 0xd3, 0x4a, 0x49, 0x5d, 0x53, 0x6e, 0x5a, 0x99, 0xe8, 0x73, 0xca, 0x4d, 0x2b, 0x23, 0x2b, 0xce, + 0x38, 0xa7, 0xf0, 0xe5, 0x3d, 0x44, 0x1b, 0x79, 0x5e, 0x75, 0xe4, 0xe2, 0x03, 0xb6, 0x20, 0x50, + 0xd3, 0xd2, 0xf0, 0xa1, 0xbc, 0x18, 0x44, 0x96, 0x38, 0x57, 0x3a, 0xdc, 0x45, 0x0e, 0xc0, 0x72, + 0x3d, 0xc5, 0x72, 0x11, 0x5f, 0x30, 0xc6, 0x2c, 0x5a, 0x3c, 0xb3, 0x36, 0x6a, 0xc1, 0x88, 0x6a, + 0xb4, 0xdf, 0x77, 0x44, 0x64, 0x04, 0xa2, 0x5a, 0x7e, 0x44, 0xa6, 0x93, 0x30, 0x97, 0x1f, 0x91, + 0x51, 0x30, 0xe1, 0x8c, 0x1b, 0x02, 0x19, 0x74, 0xed, 0x96, 0xef, 0xd5, 0x92, 0x58, 0x82, 0x00, + 0x90, 0x83, 0xfa, 0x3b, 0xb9, 0xb1, 0x64, 0xc2, 0x9a, 0xb1, 0xb1, 0x94, 0xbc, 0x39, 0x63, 0x63, + 0xa9, 0xd9, 0x70, 0xc6, 0x3e, 0x94, 0xc0, 0xc9, 0xf2, 0xe5, 0xd4, 0xa6, 0xf7, 0x63, 0x0b, 0xed, + 0xca, 0x04, 0xf9, 0x54, 0x7c, 0x34, 0xe5, 0x32, 0xae, 0x20, 0x53, 0x4e, 0xb9, 0x8c, 0x2b, 0x4a, + 0x80, 0xeb, 0x26, 0x28, 0xc8, 0x41, 0x89, 0x43, 0xdf, 0x8f, 0x99, 0xd3, 0xa9, 0x8a, 0xd9, 0x29, + 0x9d, 0x4e, 0x03, 0x31, 0x4e, 0xe9, 0x74, 0x9a, 0xe8, 0x6a, 0xb6, 0x93, 0xea, 0x7e, 0x0b, 0xdf, + 0x28, 0x16, 0x08, 0x94, 0x86, 0xb8, 0xfc, 0xb8, 0xe0, 0xb7, 0xd9, 0xde, 0xa7, 0x82, 0x7b, 0xa6, + 0xdc, 0xfb, 0xd4, 0x53, 0xdc, 0x94, 0x7b, 0x9f, 0x06, 0x4a, 0x9b, 0xfd, 0x62, 0x0a, 0xee, 0x10, + 0x9e, 0xc8, 0x1c, 0x7a, 0x81, 0x7c, 0x70, 0xe6, 0x84, 0x71, 0xd6, 0xc4, 0x66, 0x79, 0xd7, 0x42, + 0xeb, 0x04, 0x9e, 0x19, 0xd6, 0x6e, 0x36, 0x48, 0xec, 0x35, 0xe5, 0x59, 0x18, 0x05, 0x5d, 0xcd, + 0x3e, 0x92, 0xea, 0xb6, 0x07, 0xef, 0x56, 0x4d, 0x95, 0x8c, 0xbf, 0x26, 0xaa, 0xf4, 0x15, 0x0b, + 0xad, 0x97, 0xe8, 0x68, 0x78, 0x8f, 0xd2, 0xcb, 0xeb, 0x24, 0xba, 0x95, 0xf6, 0xe6, 0x27, 0x2c, + 0xb0, 0xd1, 0xea, 0xf2, 0xea, 0x62, 0xc4, 0x37, 0x51, 0xb7, 0x3f, 0x64, 0x51, 0xd6, 0x0c, 0x71, + 0x4d, 0x19, 0x65, 0x55, 0xd3, 0xe2, 0x4a, 0xfb, 0x8a, 0x24, 0x2d, 0x70, 0x18, 0x83, 0xe9, 0x24, + 0xd0, 0xe4, 0x44, 0x35, 0xbf, 0xca, 0x5c, 0xa2, 0x2c, 0x99, 0x0d, 0xab, 0x43, 0xbc, 0x4a, 0x46, + 0x9c, 0xd2, 0x25, 0xd2, 0xb1, 0xe3, 0x72, 0xe2, 0xc1, 0x32, 0x6d, 0x2e, 0x8c, 0xfb, 0x0a, 0xee, + 0xa4, 0xaf, 0x61, 0xd5, 0x51, 0x1b, 0x2d, 0x79, 0xae, 0x74, 0xb0, 0x60, 0xea, 0x02, 0x41, 0x5f, + 0xbe, 0xee, 0xa4, 0xc7, 0xb3, 0x6b, 0x64, 0xc1, 0x91, 0xba, 0x7b, 0xb2, 0x5a, 0xf9, 0x8e, 0x85, + 0x9e, 0x56, 0xf2, 0xd8, 0x94, 0x3e, 0x8e, 0x89, 0x51, 0xa7, 0xf4, 0x71, 0x8c, 0x14, 0x39, 0xa3, + 0x8f, 0x23, 0x2c, 0xc1, 0xd4, 0x10, 0x84, 0xd5, 0x17, 0xaf, 0xfc, 0x0c, 0x6f, 0x47, 0x57, 0xf9, + 0x6a, 0xc6, 0x90, 0xae, 0xf2, 0x35, 0x64, 0x20, 0x63, 0xe5, 0x27, 0xe7, 0x00, 0x94, 0x9a, 0x27, + 0xe3, 0xeb, 0x3f, 0x33, 0xd7, 0x59, 0x4b, 0x75, 0x53, 0x47, 0xc9, 0x72, 0xf8, 0x77, 0xea, 0x28, + 0x59, 0x1e, 0x9b, 0xce, 0x1c, 0x25, 0x4b, 0xee, 0xc7, 0x62, 0x34, 0x84, 0x5a, 0x3b, 0xce, 0xcf, + 0xee, 0xbe, 0x32, 0x9d, 0xe0, 0x19, 0x40, 0xfb, 0x8a, 0x33, 0xe3, 0xf0, 0x39, 0x75, 0xfd, 0x77, + 0x47, 0xd7, 0x2b, 0x9d, 0xef, 0x53, 0x4a, 0x01, 0x2f, 0x88, 0x01, 0xbe, 0x0f, 0x42, 0x6a, 0x39, + 0x96, 0x8a, 0xff, 0xd7, 0x42, 0x7b, 0x0a, 0x72, 0xe8, 0xf0, 0x54, 0x17, 0xda, 0x6b, 0xc6, 0x90, + 0xe9, 0x7e, 0x44, 0x00, 0xfa, 0x0b, 0x29, 0xfa, 0x17, 0xf1, 0x29, 0x23, 0x7a, 0xd3, 0x38, 0x63, + 0x84, 0x9e, 0xed, 0xac, 0xdd, 0x40, 0xd7, 0xf4, 0xe0, 0xe9, 0x7e, 0x44, 0x74, 0x0f, 0xdd, 0xd4, + 0xcb, 0xf1, 0xbf, 0xb1, 0xd0, 0x97, 0x89, 0x71, 0xa7, 0x0c, 0x7d, 0x15, 0x20, 0x03, 0x2a, 0x43, + 0x5f, 0x45, 0xa8, 0x7d, 0xf6, 0xcd, 0x14, 0xdc, 0x6b, 0xf8, 0xa2, 0x72, 0x97, 0xb0, 0xa3, 0xaf, + 0x3b, 0x51, 0x6e, 0x47, 0xff, 0x2e, 0x1b, 0xc7, 0xb4, 0xf4, 0x3d, 0xe5, 0x38, 0x96, 0x47, 0x18, + 0x54, 0x8e, 0x63, 0xb9, 0x0c, 0x41, 0xe3, 0x9e, 0x61, 0x9d, 0xe5, 0xae, 0x35, 0x69, 0x76, 0xd9, + 0x74, 0xc5, 0xb6, 0xfb, 0x01, 0x5b, 0x5a, 0xea, 0x38, 0x7d, 0xd8, 0x14, 0x54, 0xd5, 0x8d, 0xca, + 0x93, 0x5d, 0xe5, 0x29, 0xb0, 0x2b, 0xc3, 0x87, 0x9d, 0xee, 0xc6, 0xe4, 0x9f, 0x5a, 0x68, 0x3c, + 0x31, 0x4b, 0x25, 0xdf, 0x4f, 0xb9, 0x73, 0x9d, 0x4f, 0x44, 0x2c, 0x1d, 0xef, 0x36, 0x1b, 0x60, + 0xbc, 0x91, 0x62, 0xac, 0xe0, 0x19, 0xa5, 0x4d, 0x66, 0xa1, 0x16, 0x30, 0xc9, 0x1f, 0xb2, 0xee, + 0x67, 0xa2, 0x0d, 0x2a, 0xbb, 0x5f, 0x01, 0xba, 0xa2, 0xb2, 0xfb, 0x15, 0xe1, 0x27, 0xda, 0xe7, + 0x53, 0xa8, 0xa7, 0xf1, 0x49, 0xa3, 0x6d, 0x66, 0x27, 0x15, 0xd1, 0x3c, 0xff, 0x9e, 0x85, 0xa6, + 0x94, 0xbc, 0x42, 0xa5, 0xdb, 0x66, 0x22, 0x39, 0x2a, 0xdd, 0x36, 0x23, 0x65, 0xd1, 0x7e, 0x23, + 0x85, 0x31, 0x8d, 0x5f, 0xd5, 0x1d, 0xe8, 0xec, 0x6b, 0xf4, 0x10, 0x47, 0xe7, 0xfc, 0xd1, 0x43, + 0x41, 0x80, 0xcc, 0x1f, 0x3d, 0x54, 0x8c, 0xc7, 0x6e, 0x46, 0x0f, 0x69, 0xf4, 0x17, 0x9b, 0xe7, + 0xaf, 0x58, 0x54, 0x40, 0xc5, 0x32, 0x54, 0x46, 0x05, 0x0c, 0x94, 0x49, 0x65, 0x54, 0xc0, 0xc4, + 0x84, 0x34, 0x9a, 0x98, 0x92, 0x22, 0xa9, 0xf6, 0x4c, 0x3f, 0x61, 0x07, 0x53, 0x8d, 0x9c, 0x44, + 0xe5, 0xc1, 0xd4, 0x22, 0x44, 0x49, 0xe5, 0xc1, 0xd4, 0x42, 0xf4, 0x47, 0xe3, 0x80, 0x98, 0xc4, + 0x05, 0xd2, 0xa3, 0x21, 0x12, 0x0d, 0x4e, 0x8d, 0xf4, 0x3f, 0xd9, 0x49, 0x83, 0x1c, 0xb6, 0x21, + 0x3e, 0x65, 0x50, 0xd9, 0x4c, 0x82, 0x2c, 0x9d, 0xee, 0x25, 0x6b, 0x01, 0xaf, 0x3c, 0xc1, 0x9b, + 0x4e, 0xd9, 0x26, 0xc4, 0x7c, 0x4f, 0xee, 0xdf, 0x19, 0x47, 0xc6, 0xcc, 0x26, 0xc4, 0xa6, 0x26, + 0x32, 0x52, 0x1c, 0x4b, 0xa7, 0x7a, 0xc8, 0xd9, 0x4d, 0xeb, 0x26, 0x93, 0x41, 0x11, 0xb0, 0x9f, + 0x1d, 0x40, 0xfb, 0x05, 0xb0, 0x79, 0x9c, 0x42, 0x3c, 0x6d, 0x50, 0xbe, 0x20, 0x93, 0xb1, 0x74, + 0xb6, 0x2f, 0x19, 0x05, 0xf6, 0x60, 0x93, 0xaa, 0xe8, 0xa0, 0x3d, 0xd6, 0x22, 0x9f, 0x85, 0xfc, + 0x92, 0xad, 0xf2, 0x10, 0xff, 0x05, 0xdb, 0x53, 0xd6, 0xf0, 0x11, 0x95, 0x7b, 0xca, 0x66, 0x8e, + 0xa3, 0x72, 0x4f, 0x39, 0x87, 0xee, 0x68, 0x8c, 0x4d, 0x89, 0x3c, 0xc8, 0x18, 0x41, 0x23, 0xd5, + 0x0e, 0xce, 0xf4, 0x6a, 0x3f, 0xb9, 0xab, 0x9c, 0x1b, 0xf2, 0x3e, 0xff, 0xab, 0x9c, 0x1b, 0x72, + 0xbf, 0xea, 0x6b, 0xdc, 0x22, 0xf3, 0x1c, 0xfa, 0xa9, 0x2b, 0xf5, 0x66, 0x3f, 0x3f, 0xd3, 0x9b, + 0xfb, 0x1d, 0x5d, 0xe5, 0x99, 0xde, 0xa2, 0xdf, 0x02, 0x56, 0x9e, 0xe9, 0x2d, 0xfc, 0xe9, 0x5e, + 0x63, 0x38, 0x23, 0xf3, 0x2d, 0x5d, 0x1d, 0xcc, 0xff, 0x62, 0xab, 0xbd, 0x22, 0x1f, 0xcb, 0xc5, + 0x2f, 0xe7, 0x29, 0x9b, 0xb3, 0xfb, 0xff, 0x4a, 0xcf, 0xf9, 0x0b, 0xec, 0xd3, 0x66, 0xf1, 0x6a, + 0x8f, 0x03, 0xc8, 0x90, 0xcd, 0x9f, 0xc6, 0x35, 0x40, 0x2e, 0xf4, 0xa9, 0x5f, 0x03, 0xe4, 0x62, + 0xdf, 0xe4, 0x2d, 0x04, 0x59, 0x80, 0xaa, 0x69, 0xe5, 0xff, 0xb3, 0x68, 0x54, 0xa7, 0xe0, 0xf7, + 0x6f, 0x95, 0xcb, 0xfa, 0xee, 0xbe, 0xed, 0xab, 0x5c, 0xd6, 0x77, 0xf9, 0xf9, 0x5d, 0x63, 0xa8, + 0x51, 0x81, 0x5d, 0xdf, 0xe2, 0x7f, 0xce, 0xf6, 0x44, 0x14, 0x9c, 0x68, 0xe5, 0x9e, 0x88, 0x9e, + 0x82, 0xad, 0xdc, 0x13, 0x31, 0x50, 0xad, 0x8d, 0x87, 0xa4, 0x58, 0x54, 0x1f, 0x62, 0xd1, 0x82, + 0xd3, 0x2d, 0x7b, 0xda, 0xef, 0xb3, 0xa3, 0x12, 0x7a, 0xae, 0xb3, 0xf2, 0xa8, 0x44, 0x2e, 0xbf, + 0x5a, 0x79, 0x54, 0x22, 0x9f, 0x50, 0x6d, 0xf4, 0x55, 0x29, 0xa9, 0xb8, 0x0e, 0xf9, 0xe1, 0x96, + 0xfd, 0xbb, 0x8f, 0x12, 0x9a, 0xb1, 0x30, 0xd9, 0x4f, 0x57, 0xdf, 0xfb, 0x68, 0xdc, 0xfa, 0xde, + 0x47, 0xe3, 0xd6, 0xbf, 0x7c, 0x34, 0x6e, 0xbd, 0xfb, 0xf1, 0xf8, 0x13, 0xdf, 0xfb, 0x78, 0xfc, + 0x89, 0x1f, 0x7c, 0x3c, 0xfe, 0xc4, 0x9d, 0x93, 0x05, 0x59, 0xf4, 0x0f, 0x85, 0xb2, 0xe9, 0xe7, + 0xe9, 0xef, 0x0e, 0xd2, 0x0f, 0xca, 0x4f, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7a, 0x5f, + 0xef, 0xc1, 0x04, 0x80, 0x00, 0x00, } func (this *QueryTotalStakeResponse) Equal(that interface{}) bool { @@ -7702,10 +8274,16 @@ type QueryClient interface { GetForecasterScoreEma(ctx context.Context, in *QueryGetForecasterScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetForecasterScoreEmaResponse, error) GetReputerScoreEma(ctx context.Context, in *QueryGetReputerScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetReputerScoreEmaResponse, error) GetInferenceScoresUntilBlock(ctx context.Context, in *QueryInferenceScoresUntilBlockRequest, opts ...grpc.CallOption) (*QueryInferenceScoresUntilBlockResponse, error) + GetPreviousTopicQuantileForecasterScoreEma(ctx context.Context, in *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse, error) + GetPreviousTopicQuantileInfererScoreEma(ctx context.Context, in *QueryGetPreviousTopicQuantileInfererScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetPreviousTopicQuantileInfererScoreEmaResponse, error) + GetPreviousTopicQuantileReputerScoreEma(ctx context.Context, in *QueryGetPreviousTopicQuantileReputerScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetPreviousTopicQuantileReputerScoreEmaResponse, error) GetWorkerInferenceScoresAtBlock(ctx context.Context, in *QueryWorkerInferenceScoresAtBlockRequest, opts ...grpc.CallOption) (*QueryWorkerInferenceScoresAtBlockResponse, error) + GetCurrentLowestInfererScore(ctx context.Context, in *QueryCurrentLowestInfererScoreRequest, opts ...grpc.CallOption) (*QueryCurrentLowestInfererScoreResponse, error) GetForecastScoresUntilBlock(ctx context.Context, in *QueryForecastScoresUntilBlockRequest, opts ...grpc.CallOption) (*QueryForecastScoresUntilBlockResponse, error) GetWorkerForecastScoresAtBlock(ctx context.Context, in *QueryWorkerForecastScoresAtBlockRequest, opts ...grpc.CallOption) (*QueryWorkerForecastScoresAtBlockResponse, error) + GetCurrentLowestForecasterScore(ctx context.Context, in *QueryCurrentLowestForecasterScoreRequest, opts ...grpc.CallOption) (*QueryCurrentLowestForecasterScoreResponse, error) GetReputersScoresAtBlock(ctx context.Context, in *QueryReputersScoresAtBlockRequest, opts ...grpc.CallOption) (*QueryReputersScoresAtBlockResponse, error) + GetCurrentLowestReputerScore(ctx context.Context, in *QueryCurrentLowestReputerScoreRequest, opts ...grpc.CallOption) (*QueryCurrentLowestReputerScoreResponse, error) GetListeningCoefficient(ctx context.Context, in *QueryListeningCoefficientRequest, opts ...grpc.CallOption) (*QueryListeningCoefficientResponse, error) GetPreviousReputerRewardFraction(ctx context.Context, in *QueryPreviousReputerRewardFractionRequest, opts ...grpc.CallOption) (*QueryPreviousReputerRewardFractionResponse, error) GetPreviousInferenceRewardFraction(ctx context.Context, in *QueryPreviousInferenceRewardFractionRequest, opts ...grpc.CallOption) (*QueryPreviousInferenceRewardFractionResponse, error) @@ -8215,6 +8793,33 @@ func (c *queryClient) GetInferenceScoresUntilBlock(ctx context.Context, in *Quer return out, nil } +func (c *queryClient) GetPreviousTopicQuantileForecasterScoreEma(ctx context.Context, in *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse, error) { + out := new(QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) + err := c.cc.Invoke(ctx, "/emissions.v3.Query/GetPreviousTopicQuantileForecasterScoreEma", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) GetPreviousTopicQuantileInfererScoreEma(ctx context.Context, in *QueryGetPreviousTopicQuantileInfererScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetPreviousTopicQuantileInfererScoreEmaResponse, error) { + out := new(QueryGetPreviousTopicQuantileInfererScoreEmaResponse) + err := c.cc.Invoke(ctx, "/emissions.v3.Query/GetPreviousTopicQuantileInfererScoreEma", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) GetPreviousTopicQuantileReputerScoreEma(ctx context.Context, in *QueryGetPreviousTopicQuantileReputerScoreEmaRequest, opts ...grpc.CallOption) (*QueryGetPreviousTopicQuantileReputerScoreEmaResponse, error) { + out := new(QueryGetPreviousTopicQuantileReputerScoreEmaResponse) + err := c.cc.Invoke(ctx, "/emissions.v3.Query/GetPreviousTopicQuantileReputerScoreEma", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) GetWorkerInferenceScoresAtBlock(ctx context.Context, in *QueryWorkerInferenceScoresAtBlockRequest, opts ...grpc.CallOption) (*QueryWorkerInferenceScoresAtBlockResponse, error) { out := new(QueryWorkerInferenceScoresAtBlockResponse) err := c.cc.Invoke(ctx, "/emissions.v3.Query/GetWorkerInferenceScoresAtBlock", in, out, opts...) @@ -8224,6 +8829,15 @@ func (c *queryClient) GetWorkerInferenceScoresAtBlock(ctx context.Context, in *Q return out, nil } +func (c *queryClient) GetCurrentLowestInfererScore(ctx context.Context, in *QueryCurrentLowestInfererScoreRequest, opts ...grpc.CallOption) (*QueryCurrentLowestInfererScoreResponse, error) { + out := new(QueryCurrentLowestInfererScoreResponse) + err := c.cc.Invoke(ctx, "/emissions.v3.Query/GetCurrentLowestInfererScore", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) GetForecastScoresUntilBlock(ctx context.Context, in *QueryForecastScoresUntilBlockRequest, opts ...grpc.CallOption) (*QueryForecastScoresUntilBlockResponse, error) { out := new(QueryForecastScoresUntilBlockResponse) err := c.cc.Invoke(ctx, "/emissions.v3.Query/GetForecastScoresUntilBlock", in, out, opts...) @@ -8242,6 +8856,15 @@ func (c *queryClient) GetWorkerForecastScoresAtBlock(ctx context.Context, in *Qu return out, nil } +func (c *queryClient) GetCurrentLowestForecasterScore(ctx context.Context, in *QueryCurrentLowestForecasterScoreRequest, opts ...grpc.CallOption) (*QueryCurrentLowestForecasterScoreResponse, error) { + out := new(QueryCurrentLowestForecasterScoreResponse) + err := c.cc.Invoke(ctx, "/emissions.v3.Query/GetCurrentLowestForecasterScore", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) GetReputersScoresAtBlock(ctx context.Context, in *QueryReputersScoresAtBlockRequest, opts ...grpc.CallOption) (*QueryReputersScoresAtBlockResponse, error) { out := new(QueryReputersScoresAtBlockResponse) err := c.cc.Invoke(ctx, "/emissions.v3.Query/GetReputersScoresAtBlock", in, out, opts...) @@ -8251,6 +8874,15 @@ func (c *queryClient) GetReputersScoresAtBlock(ctx context.Context, in *QueryRep return out, nil } +func (c *queryClient) GetCurrentLowestReputerScore(ctx context.Context, in *QueryCurrentLowestReputerScoreRequest, opts ...grpc.CallOption) (*QueryCurrentLowestReputerScoreResponse, error) { + out := new(QueryCurrentLowestReputerScoreResponse) + err := c.cc.Invoke(ctx, "/emissions.v3.Query/GetCurrentLowestReputerScore", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) GetListeningCoefficient(ctx context.Context, in *QueryListeningCoefficientRequest, opts ...grpc.CallOption) (*QueryListeningCoefficientResponse, error) { out := new(QueryListeningCoefficientResponse) err := c.cc.Invoke(ctx, "/emissions.v3.Query/GetListeningCoefficient", in, out, opts...) @@ -8425,10 +9057,16 @@ type QueryServer interface { GetForecasterScoreEma(context.Context, *QueryGetForecasterScoreEmaRequest) (*QueryGetForecasterScoreEmaResponse, error) GetReputerScoreEma(context.Context, *QueryGetReputerScoreEmaRequest) (*QueryGetReputerScoreEmaResponse, error) GetInferenceScoresUntilBlock(context.Context, *QueryInferenceScoresUntilBlockRequest) (*QueryInferenceScoresUntilBlockResponse, error) + GetPreviousTopicQuantileForecasterScoreEma(context.Context, *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) (*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse, error) + GetPreviousTopicQuantileInfererScoreEma(context.Context, *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) (*QueryGetPreviousTopicQuantileInfererScoreEmaResponse, error) + GetPreviousTopicQuantileReputerScoreEma(context.Context, *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) (*QueryGetPreviousTopicQuantileReputerScoreEmaResponse, error) GetWorkerInferenceScoresAtBlock(context.Context, *QueryWorkerInferenceScoresAtBlockRequest) (*QueryWorkerInferenceScoresAtBlockResponse, error) + GetCurrentLowestInfererScore(context.Context, *QueryCurrentLowestInfererScoreRequest) (*QueryCurrentLowestInfererScoreResponse, error) GetForecastScoresUntilBlock(context.Context, *QueryForecastScoresUntilBlockRequest) (*QueryForecastScoresUntilBlockResponse, error) GetWorkerForecastScoresAtBlock(context.Context, *QueryWorkerForecastScoresAtBlockRequest) (*QueryWorkerForecastScoresAtBlockResponse, error) + GetCurrentLowestForecasterScore(context.Context, *QueryCurrentLowestForecasterScoreRequest) (*QueryCurrentLowestForecasterScoreResponse, error) GetReputersScoresAtBlock(context.Context, *QueryReputersScoresAtBlockRequest) (*QueryReputersScoresAtBlockResponse, error) + GetCurrentLowestReputerScore(context.Context, *QueryCurrentLowestReputerScoreRequest) (*QueryCurrentLowestReputerScoreResponse, error) GetListeningCoefficient(context.Context, *QueryListeningCoefficientRequest) (*QueryListeningCoefficientResponse, error) GetPreviousReputerRewardFraction(context.Context, *QueryPreviousReputerRewardFractionRequest) (*QueryPreviousReputerRewardFractionResponse, error) GetPreviousInferenceRewardFraction(context.Context, *QueryPreviousInferenceRewardFractionRequest) (*QueryPreviousInferenceRewardFractionResponse, error) @@ -8610,18 +9248,36 @@ func (*UnimplementedQueryServer) GetReputerScoreEma(ctx context.Context, req *Qu func (*UnimplementedQueryServer) GetInferenceScoresUntilBlock(ctx context.Context, req *QueryInferenceScoresUntilBlockRequest) (*QueryInferenceScoresUntilBlockResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetInferenceScoresUntilBlock not implemented") } +func (*UnimplementedQueryServer) GetPreviousTopicQuantileForecasterScoreEma(ctx context.Context, req *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) (*QueryGetPreviousTopicQuantileForecasterScoreEmaResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPreviousTopicQuantileForecasterScoreEma not implemented") +} +func (*UnimplementedQueryServer) GetPreviousTopicQuantileInfererScoreEma(ctx context.Context, req *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) (*QueryGetPreviousTopicQuantileInfererScoreEmaResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPreviousTopicQuantileInfererScoreEma not implemented") +} +func (*UnimplementedQueryServer) GetPreviousTopicQuantileReputerScoreEma(ctx context.Context, req *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) (*QueryGetPreviousTopicQuantileReputerScoreEmaResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPreviousTopicQuantileReputerScoreEma not implemented") +} func (*UnimplementedQueryServer) GetWorkerInferenceScoresAtBlock(ctx context.Context, req *QueryWorkerInferenceScoresAtBlockRequest) (*QueryWorkerInferenceScoresAtBlockResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetWorkerInferenceScoresAtBlock not implemented") } +func (*UnimplementedQueryServer) GetCurrentLowestInfererScore(ctx context.Context, req *QueryCurrentLowestInfererScoreRequest) (*QueryCurrentLowestInfererScoreResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCurrentLowestInfererScore not implemented") +} func (*UnimplementedQueryServer) GetForecastScoresUntilBlock(ctx context.Context, req *QueryForecastScoresUntilBlockRequest) (*QueryForecastScoresUntilBlockResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetForecastScoresUntilBlock not implemented") } func (*UnimplementedQueryServer) GetWorkerForecastScoresAtBlock(ctx context.Context, req *QueryWorkerForecastScoresAtBlockRequest) (*QueryWorkerForecastScoresAtBlockResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetWorkerForecastScoresAtBlock not implemented") } +func (*UnimplementedQueryServer) GetCurrentLowestForecasterScore(ctx context.Context, req *QueryCurrentLowestForecasterScoreRequest) (*QueryCurrentLowestForecasterScoreResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCurrentLowestForecasterScore not implemented") +} func (*UnimplementedQueryServer) GetReputersScoresAtBlock(ctx context.Context, req *QueryReputersScoresAtBlockRequest) (*QueryReputersScoresAtBlockResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetReputersScoresAtBlock not implemented") } +func (*UnimplementedQueryServer) GetCurrentLowestReputerScore(ctx context.Context, req *QueryCurrentLowestReputerScoreRequest) (*QueryCurrentLowestReputerScoreResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCurrentLowestReputerScore not implemented") +} func (*UnimplementedQueryServer) GetListeningCoefficient(ctx context.Context, req *QueryListeningCoefficientRequest) (*QueryListeningCoefficientResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetListeningCoefficient not implemented") } @@ -9638,161 +10294,269 @@ func _Query_GetInferenceScoresUntilBlock_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } -func _Query_GetWorkerInferenceScoresAtBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryWorkerInferenceScoresAtBlockRequest) +func _Query_GetPreviousTopicQuantileForecasterScoreEma_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).GetWorkerInferenceScoresAtBlock(ctx, in) + return srv.(QueryServer).GetPreviousTopicQuantileForecasterScoreEma(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/emissions.v3.Query/GetWorkerInferenceScoresAtBlock", + FullMethod: "/emissions.v3.Query/GetPreviousTopicQuantileForecasterScoreEma", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).GetWorkerInferenceScoresAtBlock(ctx, req.(*QueryWorkerInferenceScoresAtBlockRequest)) + return srv.(QueryServer).GetPreviousTopicQuantileForecasterScoreEma(ctx, req.(*QueryGetPreviousTopicQuantileForecasterScoreEmaRequest)) } return interceptor(ctx, in, info, handler) } -func _Query_GetForecastScoresUntilBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryForecastScoresUntilBlockRequest) +func _Query_GetPreviousTopicQuantileInfererScoreEma_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryGetPreviousTopicQuantileInfererScoreEmaRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).GetForecastScoresUntilBlock(ctx, in) + return srv.(QueryServer).GetPreviousTopicQuantileInfererScoreEma(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/emissions.v3.Query/GetForecastScoresUntilBlock", + FullMethod: "/emissions.v3.Query/GetPreviousTopicQuantileInfererScoreEma", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).GetForecastScoresUntilBlock(ctx, req.(*QueryForecastScoresUntilBlockRequest)) + return srv.(QueryServer).GetPreviousTopicQuantileInfererScoreEma(ctx, req.(*QueryGetPreviousTopicQuantileInfererScoreEmaRequest)) } return interceptor(ctx, in, info, handler) } -func _Query_GetWorkerForecastScoresAtBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryWorkerForecastScoresAtBlockRequest) +func _Query_GetPreviousTopicQuantileReputerScoreEma_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryGetPreviousTopicQuantileReputerScoreEmaRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).GetWorkerForecastScoresAtBlock(ctx, in) + return srv.(QueryServer).GetPreviousTopicQuantileReputerScoreEma(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/emissions.v3.Query/GetWorkerForecastScoresAtBlock", + FullMethod: "/emissions.v3.Query/GetPreviousTopicQuantileReputerScoreEma", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).GetWorkerForecastScoresAtBlock(ctx, req.(*QueryWorkerForecastScoresAtBlockRequest)) + return srv.(QueryServer).GetPreviousTopicQuantileReputerScoreEma(ctx, req.(*QueryGetPreviousTopicQuantileReputerScoreEmaRequest)) } return interceptor(ctx, in, info, handler) } -func _Query_GetReputersScoresAtBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryReputersScoresAtBlockRequest) +func _Query_GetWorkerInferenceScoresAtBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryWorkerInferenceScoresAtBlockRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).GetReputersScoresAtBlock(ctx, in) + return srv.(QueryServer).GetWorkerInferenceScoresAtBlock(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/emissions.v3.Query/GetReputersScoresAtBlock", + FullMethod: "/emissions.v3.Query/GetWorkerInferenceScoresAtBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).GetReputersScoresAtBlock(ctx, req.(*QueryReputersScoresAtBlockRequest)) + return srv.(QueryServer).GetWorkerInferenceScoresAtBlock(ctx, req.(*QueryWorkerInferenceScoresAtBlockRequest)) } return interceptor(ctx, in, info, handler) } -func _Query_GetListeningCoefficient_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryListeningCoefficientRequest) +func _Query_GetCurrentLowestInfererScore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCurrentLowestInfererScoreRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).GetListeningCoefficient(ctx, in) + return srv.(QueryServer).GetCurrentLowestInfererScore(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/emissions.v3.Query/GetListeningCoefficient", + FullMethod: "/emissions.v3.Query/GetCurrentLowestInfererScore", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).GetListeningCoefficient(ctx, req.(*QueryListeningCoefficientRequest)) + return srv.(QueryServer).GetCurrentLowestInfererScore(ctx, req.(*QueryCurrentLowestInfererScoreRequest)) } return interceptor(ctx, in, info, handler) } -func _Query_GetPreviousReputerRewardFraction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryPreviousReputerRewardFractionRequest) +func _Query_GetForecastScoresUntilBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryForecastScoresUntilBlockRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).GetPreviousReputerRewardFraction(ctx, in) + return srv.(QueryServer).GetForecastScoresUntilBlock(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/emissions.v3.Query/GetPreviousReputerRewardFraction", + FullMethod: "/emissions.v3.Query/GetForecastScoresUntilBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).GetPreviousReputerRewardFraction(ctx, req.(*QueryPreviousReputerRewardFractionRequest)) + return srv.(QueryServer).GetForecastScoresUntilBlock(ctx, req.(*QueryForecastScoresUntilBlockRequest)) } return interceptor(ctx, in, info, handler) } -func _Query_GetPreviousInferenceRewardFraction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryPreviousInferenceRewardFractionRequest) +func _Query_GetWorkerForecastScoresAtBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryWorkerForecastScoresAtBlockRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).GetPreviousInferenceRewardFraction(ctx, in) + return srv.(QueryServer).GetWorkerForecastScoresAtBlock(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/emissions.v3.Query/GetPreviousInferenceRewardFraction", + FullMethod: "/emissions.v3.Query/GetWorkerForecastScoresAtBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).GetPreviousInferenceRewardFraction(ctx, req.(*QueryPreviousInferenceRewardFractionRequest)) + return srv.(QueryServer).GetWorkerForecastScoresAtBlock(ctx, req.(*QueryWorkerForecastScoresAtBlockRequest)) } return interceptor(ctx, in, info, handler) } -func _Query_GetPreviousForecastRewardFraction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryPreviousForecastRewardFractionRequest) +func _Query_GetCurrentLowestForecasterScore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCurrentLowestForecasterScoreRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).GetPreviousForecastRewardFraction(ctx, in) + return srv.(QueryServer).GetCurrentLowestForecasterScore(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/emissions.v3.Query/GetPreviousForecastRewardFraction", + FullMethod: "/emissions.v3.Query/GetCurrentLowestForecasterScore", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).GetPreviousForecastRewardFraction(ctx, req.(*QueryPreviousForecastRewardFractionRequest)) + return srv.(QueryServer).GetCurrentLowestForecasterScore(ctx, req.(*QueryCurrentLowestForecasterScoreRequest)) } return interceptor(ctx, in, info, handler) } -func _Query_GetPreviousPercentageRewardToStakedReputers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryPreviousPercentageRewardToStakedReputersRequest) +func _Query_GetReputersScoresAtBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryReputersScoresAtBlockRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).GetPreviousPercentageRewardToStakedReputers(ctx, in) + return srv.(QueryServer).GetReputersScoresAtBlock(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/emissions.v3.Query/GetPreviousPercentageRewardToStakedReputers", + FullMethod: "/emissions.v3.Query/GetReputersScoresAtBlock", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GetReputersScoresAtBlock(ctx, req.(*QueryReputersScoresAtBlockRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_GetCurrentLowestReputerScore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCurrentLowestReputerScoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GetCurrentLowestReputerScore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/emissions.v3.Query/GetCurrentLowestReputerScore", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GetCurrentLowestReputerScore(ctx, req.(*QueryCurrentLowestReputerScoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_GetListeningCoefficient_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryListeningCoefficientRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GetListeningCoefficient(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/emissions.v3.Query/GetListeningCoefficient", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GetListeningCoefficient(ctx, req.(*QueryListeningCoefficientRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_GetPreviousReputerRewardFraction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryPreviousReputerRewardFractionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GetPreviousReputerRewardFraction(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/emissions.v3.Query/GetPreviousReputerRewardFraction", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GetPreviousReputerRewardFraction(ctx, req.(*QueryPreviousReputerRewardFractionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_GetPreviousInferenceRewardFraction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryPreviousInferenceRewardFractionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GetPreviousInferenceRewardFraction(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/emissions.v3.Query/GetPreviousInferenceRewardFraction", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GetPreviousInferenceRewardFraction(ctx, req.(*QueryPreviousInferenceRewardFractionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_GetPreviousForecastRewardFraction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryPreviousForecastRewardFractionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GetPreviousForecastRewardFraction(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/emissions.v3.Query/GetPreviousForecastRewardFraction", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GetPreviousForecastRewardFraction(ctx, req.(*QueryPreviousForecastRewardFractionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_GetPreviousPercentageRewardToStakedReputers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryPreviousPercentageRewardToStakedReputersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GetPreviousPercentageRewardToStakedReputers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/emissions.v3.Query/GetPreviousPercentageRewardToStakedReputers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(QueryServer).GetPreviousPercentageRewardToStakedReputers(ctx, req.(*QueryPreviousPercentageRewardToStakedReputersRequest)) @@ -10164,10 +10928,26 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "GetInferenceScoresUntilBlock", Handler: _Query_GetInferenceScoresUntilBlock_Handler, }, + { + MethodName: "GetPreviousTopicQuantileForecasterScoreEma", + Handler: _Query_GetPreviousTopicQuantileForecasterScoreEma_Handler, + }, + { + MethodName: "GetPreviousTopicQuantileInfererScoreEma", + Handler: _Query_GetPreviousTopicQuantileInfererScoreEma_Handler, + }, + { + MethodName: "GetPreviousTopicQuantileReputerScoreEma", + Handler: _Query_GetPreviousTopicQuantileReputerScoreEma_Handler, + }, { MethodName: "GetWorkerInferenceScoresAtBlock", Handler: _Query_GetWorkerInferenceScoresAtBlock_Handler, }, + { + MethodName: "GetCurrentLowestInfererScore", + Handler: _Query_GetCurrentLowestInfererScore_Handler, + }, { MethodName: "GetForecastScoresUntilBlock", Handler: _Query_GetForecastScoresUntilBlock_Handler, @@ -10176,10 +10956,18 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "GetWorkerForecastScoresAtBlock", Handler: _Query_GetWorkerForecastScoresAtBlock_Handler, }, + { + MethodName: "GetCurrentLowestForecasterScore", + Handler: _Query_GetCurrentLowestForecasterScore_Handler, + }, { MethodName: "GetReputersScoresAtBlock", Handler: _Query_GetReputersScoresAtBlock_Handler, }, + { + MethodName: "GetCurrentLowestReputerScore", + Handler: _Query_GetCurrentLowestReputerScore_Handler, + }, { MethodName: "GetListeningCoefficient", Handler: _Query_GetListeningCoefficient_Handler, @@ -14479,7 +15267,7 @@ func (m *QueryInferenceScoresUntilBlockResponse) MarshalToSizedBuffer(dAtA []byt return len(dAtA) - i, nil } -func (m *QueryWorkerInferenceScoresAtBlockRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14489,21 +15277,16 @@ func (m *QueryWorkerInferenceScoresAtBlockRequest) Marshal() (dAtA []byte, err e return dAtA[:n], nil } -func (m *QueryWorkerInferenceScoresAtBlockRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryWorkerInferenceScoresAtBlockRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.BlockHeight != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.BlockHeight)) - i-- - dAtA[i] = 0x10 - } if m.TopicId != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.TopicId)) i-- @@ -14512,7 +15295,7 @@ func (m *QueryWorkerInferenceScoresAtBlockRequest) MarshalToSizedBuffer(dAtA []b return len(dAtA) - i, nil } -func (m *QueryWorkerInferenceScoresAtBlockResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14522,32 +15305,30 @@ func (m *QueryWorkerInferenceScoresAtBlockResponse) Marshal() (dAtA []byte, err return dAtA[:n], nil } -func (m *QueryWorkerInferenceScoresAtBlockResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryWorkerInferenceScoresAtBlockResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Scores != nil { - { - size, err := m.Scores.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + { + size := m.Value.Size() + i -= size + if _, err := m.Value.MarshalTo(dAtA[i:]); err != nil { + return 0, err } - i-- - dAtA[i] = 0xa + i = encodeVarintQuery(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *QueryForecastScoresUntilBlockRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14557,21 +15338,16 @@ func (m *QueryForecastScoresUntilBlockRequest) Marshal() (dAtA []byte, err error return dAtA[:n], nil } -func (m *QueryForecastScoresUntilBlockRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryForecastScoresUntilBlockRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.BlockHeight != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.BlockHeight)) - i-- - dAtA[i] = 0x10 - } if m.TopicId != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.TopicId)) i-- @@ -14580,7 +15356,7 @@ func (m *QueryForecastScoresUntilBlockRequest) MarshalToSizedBuffer(dAtA []byte) return len(dAtA) - i, nil } -func (m *QueryForecastScoresUntilBlockResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14590,34 +15366,30 @@ func (m *QueryForecastScoresUntilBlockResponse) Marshal() (dAtA []byte, err erro return dAtA[:n], nil } -func (m *QueryForecastScoresUntilBlockResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryForecastScoresUntilBlockResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Scores) > 0 { - for iNdEx := len(m.Scores) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Scores[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa + { + size := m.Value.Size() + i -= size + if _, err := m.Value.MarshalTo(dAtA[i:]); err != nil { + return 0, err } + i = encodeVarintQuery(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *QueryWorkerForecastScoresAtBlockRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14627,21 +15399,16 @@ func (m *QueryWorkerForecastScoresAtBlockRequest) Marshal() (dAtA []byte, err er return dAtA[:n], nil } -func (m *QueryWorkerForecastScoresAtBlockRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryWorkerForecastScoresAtBlockRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.BlockHeight != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.BlockHeight)) - i-- - dAtA[i] = 0x10 - } if m.TopicId != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.TopicId)) i-- @@ -14650,7 +15417,7 @@ func (m *QueryWorkerForecastScoresAtBlockRequest) MarshalToSizedBuffer(dAtA []by return len(dAtA) - i, nil } -func (m *QueryWorkerForecastScoresAtBlockResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14660,32 +15427,30 @@ func (m *QueryWorkerForecastScoresAtBlockResponse) Marshal() (dAtA []byte, err e return dAtA[:n], nil } -func (m *QueryWorkerForecastScoresAtBlockResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryWorkerForecastScoresAtBlockResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Scores != nil { - { - size, err := m.Scores.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + { + size := m.Value.Size() + i -= size + if _, err := m.Value.MarshalTo(dAtA[i:]); err != nil { + return 0, err } - i-- - dAtA[i] = 0xa + i = encodeVarintQuery(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *QueryReputersScoresAtBlockRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryWorkerInferenceScoresAtBlockRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14695,12 +15460,12 @@ func (m *QueryReputersScoresAtBlockRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryReputersScoresAtBlockRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryWorkerInferenceScoresAtBlockRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryReputersScoresAtBlockRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryWorkerInferenceScoresAtBlockRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -14718,7 +15483,7 @@ func (m *QueryReputersScoresAtBlockRequest) MarshalToSizedBuffer(dAtA []byte) (i return len(dAtA) - i, nil } -func (m *QueryReputersScoresAtBlockResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryWorkerInferenceScoresAtBlockResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14728,12 +15493,12 @@ func (m *QueryReputersScoresAtBlockResponse) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *QueryReputersScoresAtBlockResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryWorkerInferenceScoresAtBlockResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryReputersScoresAtBlockResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryWorkerInferenceScoresAtBlockResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -14753,7 +15518,7 @@ func (m *QueryReputersScoresAtBlockResponse) MarshalToSizedBuffer(dAtA []byte) ( return len(dAtA) - i, nil } -func (m *QueryListeningCoefficientRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryCurrentLowestInfererScoreRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14763,23 +15528,16 @@ func (m *QueryListeningCoefficientRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryListeningCoefficientRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryCurrentLowestInfererScoreRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryListeningCoefficientRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryCurrentLowestInfererScoreRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Reputer) > 0 { - i -= len(m.Reputer) - copy(dAtA[i:], m.Reputer) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Reputer))) - i-- - dAtA[i] = 0x12 - } if m.TopicId != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.TopicId)) i-- @@ -14788,7 +15546,7 @@ func (m *QueryListeningCoefficientRequest) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func (m *QueryListeningCoefficientResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryCurrentLowestInfererScoreResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14798,19 +15556,19 @@ func (m *QueryListeningCoefficientResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryListeningCoefficientResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryCurrentLowestInfererScoreResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryListeningCoefficientResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryCurrentLowestInfererScoreResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.ListeningCoefficient != nil { + if m.Score != nil { { - size, err := m.ListeningCoefficient.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Score.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -14823,7 +15581,7 @@ func (m *QueryListeningCoefficientResponse) MarshalToSizedBuffer(dAtA []byte) (i return len(dAtA) - i, nil } -func (m *QueryPreviousReputerRewardFractionRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryForecastScoresUntilBlockRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14833,22 +15591,20 @@ func (m *QueryPreviousReputerRewardFractionRequest) Marshal() (dAtA []byte, err return dAtA[:n], nil } -func (m *QueryPreviousReputerRewardFractionRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryForecastScoresUntilBlockRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryPreviousReputerRewardFractionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryForecastScoresUntilBlockRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Reputer) > 0 { - i -= len(m.Reputer) - copy(dAtA[i:], m.Reputer) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Reputer))) + if m.BlockHeight != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.BlockHeight)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x10 } if m.TopicId != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.TopicId)) @@ -14858,7 +15614,7 @@ func (m *QueryPreviousReputerRewardFractionRequest) MarshalToSizedBuffer(dAtA [] return len(dAtA) - i, nil } -func (m *QueryPreviousReputerRewardFractionResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryForecastScoresUntilBlockResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14868,40 +15624,34 @@ func (m *QueryPreviousReputerRewardFractionResponse) Marshal() (dAtA []byte, err return dAtA[:n], nil } -func (m *QueryPreviousReputerRewardFractionResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryForecastScoresUntilBlockResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryPreviousReputerRewardFractionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryForecastScoresUntilBlockResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.NotFound { - i-- - if m.NotFound { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x10 - } - { - size := m.RewardFraction.Size() - i -= size - if _, err := m.RewardFraction.MarshalTo(dAtA[i:]); err != nil { - return 0, err + if len(m.Scores) > 0 { + for iNdEx := len(m.Scores) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Scores[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa } - i = encodeVarintQuery(dAtA, i, uint64(size)) } - i-- - dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *QueryPreviousInferenceRewardFractionRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryWorkerForecastScoresAtBlockRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14911,22 +15661,20 @@ func (m *QueryPreviousInferenceRewardFractionRequest) Marshal() (dAtA []byte, er return dAtA[:n], nil } -func (m *QueryPreviousInferenceRewardFractionRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryWorkerForecastScoresAtBlockRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryPreviousInferenceRewardFractionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryWorkerForecastScoresAtBlockRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Worker) > 0 { - i -= len(m.Worker) - copy(dAtA[i:], m.Worker) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Worker))) + if m.BlockHeight != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.BlockHeight)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x10 } if m.TopicId != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.TopicId)) @@ -14936,7 +15684,7 @@ func (m *QueryPreviousInferenceRewardFractionRequest) MarshalToSizedBuffer(dAtA return len(dAtA) - i, nil } -func (m *QueryPreviousInferenceRewardFractionResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryWorkerForecastScoresAtBlockResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14946,40 +15694,32 @@ func (m *QueryPreviousInferenceRewardFractionResponse) Marshal() (dAtA []byte, e return dAtA[:n], nil } -func (m *QueryPreviousInferenceRewardFractionResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryWorkerForecastScoresAtBlockResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryPreviousInferenceRewardFractionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryWorkerForecastScoresAtBlockResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.NotFound { - i-- - if m.NotFound { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + if m.Scores != nil { + { + size, err := m.Scores.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x10 - } - { - size := m.RewardFraction.Size() - i -= size - if _, err := m.RewardFraction.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintQuery(dAtA, i, uint64(size)) + dAtA[i] = 0xa } - i-- - dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *QueryPreviousForecastRewardFractionRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryCurrentLowestForecasterScoreRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14989,23 +15729,16 @@ func (m *QueryPreviousForecastRewardFractionRequest) Marshal() (dAtA []byte, err return dAtA[:n], nil } -func (m *QueryPreviousForecastRewardFractionRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryCurrentLowestForecasterScoreRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryPreviousForecastRewardFractionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryCurrentLowestForecasterScoreRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Worker) > 0 { - i -= len(m.Worker) - copy(dAtA[i:], m.Worker) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Worker))) - i-- - dAtA[i] = 0x12 - } if m.TopicId != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.TopicId)) i-- @@ -15014,7 +15747,7 @@ func (m *QueryPreviousForecastRewardFractionRequest) MarshalToSizedBuffer(dAtA [ return len(dAtA) - i, nil } -func (m *QueryPreviousForecastRewardFractionResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryCurrentLowestForecasterScoreResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -15024,40 +15757,32 @@ func (m *QueryPreviousForecastRewardFractionResponse) Marshal() (dAtA []byte, er return dAtA[:n], nil } -func (m *QueryPreviousForecastRewardFractionResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryCurrentLowestForecasterScoreResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryPreviousForecastRewardFractionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryCurrentLowestForecasterScoreResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.NotFound { - i-- - if m.NotFound { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + if m.Score != nil { + { + size, err := m.Score.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x10 - } - { - size := m.RewardFraction.Size() - i -= size - if _, err := m.RewardFraction.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintQuery(dAtA, i, uint64(size)) + dAtA[i] = 0xa } - i-- - dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *QueryPreviousPercentageRewardToStakedReputersRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryReputersScoresAtBlockRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -15067,20 +15792,30 @@ func (m *QueryPreviousPercentageRewardToStakedReputersRequest) Marshal() (dAtA [ return dAtA[:n], nil } -func (m *QueryPreviousPercentageRewardToStakedReputersRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryReputersScoresAtBlockRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryPreviousPercentageRewardToStakedReputersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryReputersScoresAtBlockRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.BlockHeight != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.BlockHeight)) + i-- + dAtA[i] = 0x10 + } + if m.TopicId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.TopicId)) + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } -func (m *QueryPreviousPercentageRewardToStakedReputersResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryReputersScoresAtBlockResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -15090,30 +15825,32 @@ func (m *QueryPreviousPercentageRewardToStakedReputersResponse) Marshal() (dAtA return dAtA[:n], nil } -func (m *QueryPreviousPercentageRewardToStakedReputersResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryReputersScoresAtBlockResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryPreviousPercentageRewardToStakedReputersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryReputersScoresAtBlockResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - { - size := m.PercentageReward.Size() - i -= size - if _, err := m.PercentageReward.MarshalTo(dAtA[i:]); err != nil { - return 0, err + if m.Scores != nil { + { + size, err := m.Scores.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } - i = encodeVarintQuery(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *QueryTotalRewardToDistributeRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryCurrentLowestReputerScoreRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -15123,20 +15860,25 @@ func (m *QueryTotalRewardToDistributeRequest) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *QueryTotalRewardToDistributeRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryCurrentLowestReputerScoreRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryTotalRewardToDistributeRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryCurrentLowestReputerScoreRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.TopicId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.TopicId)) + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } -func (m *QueryTotalRewardToDistributeResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryCurrentLowestReputerScoreResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -15146,30 +15888,32 @@ func (m *QueryTotalRewardToDistributeResponse) Marshal() (dAtA []byte, err error return dAtA[:n], nil } -func (m *QueryTotalRewardToDistributeResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryCurrentLowestReputerScoreResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryTotalRewardToDistributeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryCurrentLowestReputerScoreResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - { - size := m.TotalReward.Size() - i -= size - if _, err := m.TotalReward.MarshalTo(dAtA[i:]); err != nil { - return 0, err + if m.Score != nil { + { + size, err := m.Score.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } - i = encodeVarintQuery(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *QueryActiveTopicsAtBlockRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryListeningCoefficientRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -15179,25 +15923,32 @@ func (m *QueryActiveTopicsAtBlockRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryActiveTopicsAtBlockRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryListeningCoefficientRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryActiveTopicsAtBlockRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryListeningCoefficientRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.BlockHeight != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.BlockHeight)) + if len(m.Reputer) > 0 { + i -= len(m.Reputer) + copy(dAtA[i:], m.Reputer) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Reputer))) + i-- + dAtA[i] = 0x12 + } + if m.TopicId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.TopicId)) i-- dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *QueryActiveTopicsAtBlockResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryListeningCoefficientResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -15207,19 +15958,19 @@ func (m *QueryActiveTopicsAtBlockResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryActiveTopicsAtBlockResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryListeningCoefficientResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryActiveTopicsAtBlockResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryListeningCoefficientResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Pagination != nil { + if m.ListeningCoefficient != nil { { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.ListeningCoefficient.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -15227,26 +15978,12 @@ func (m *QueryActiveTopicsAtBlockResponse) MarshalToSizedBuffer(dAtA []byte) (in i = encodeVarintQuery(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x12 - } - if len(m.Topics) > 0 { - for iNdEx := len(m.Topics) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Topics[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryNextChurningBlockByTopicIdRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryPreviousReputerRewardFractionRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -15256,16 +15993,23 @@ func (m *QueryNextChurningBlockByTopicIdRequest) Marshal() (dAtA []byte, err err return dAtA[:n], nil } -func (m *QueryNextChurningBlockByTopicIdRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryPreviousReputerRewardFractionRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryNextChurningBlockByTopicIdRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryPreviousReputerRewardFractionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if len(m.Reputer) > 0 { + i -= len(m.Reputer) + copy(dAtA[i:], m.Reputer) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Reputer))) + i-- + dAtA[i] = 0x12 + } if m.TopicId != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.TopicId)) i-- @@ -15274,7 +16018,7 @@ func (m *QueryNextChurningBlockByTopicIdRequest) MarshalToSizedBuffer(dAtA []byt return len(dAtA) - i, nil } -func (m *QueryNextChurningBlockByTopicIdResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryPreviousReputerRewardFractionResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -15284,288 +16028,704 @@ func (m *QueryNextChurningBlockByTopicIdResponse) Marshal() (dAtA []byte, err er return dAtA[:n], nil } -func (m *QueryNextChurningBlockByTopicIdResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryPreviousReputerRewardFractionResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryNextChurningBlockByTopicIdResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryPreviousReputerRewardFractionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.BlockHeight != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.BlockHeight)) + if m.NotFound { i-- - dAtA[i] = 0x8 + if m.NotFound { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 } - return len(dAtA) - i, nil -} - -func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { - offset -= sovQuery(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ + { + size := m.RewardFraction.Size() + i -= size + if _, err := m.RewardFraction.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintQuery(dAtA, i, uint64(size)) } - dAtA[offset] = uint8(v) - return base + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil } -func (m *QueryNaiveInfererNetworkRegretRequest) Size() (n int) { - if m == nil { - return 0 + +func (m *QueryPreviousInferenceRewardFractionRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *QueryPreviousInferenceRewardFractionRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryPreviousInferenceRewardFractionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if m.TopicId != 0 { - n += 1 + sovQuery(uint64(m.TopicId)) + if len(m.Worker) > 0 { + i -= len(m.Worker) + copy(dAtA[i:], m.Worker) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Worker))) + i-- + dAtA[i] = 0x12 } - l = len(m.Inferer) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if m.TopicId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.TopicId)) + i-- + dAtA[i] = 0x8 } - return n + return len(dAtA) - i, nil } -func (m *QueryNaiveInfererNetworkRegretResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Regret != nil { - l = m.Regret.Size() - n += 1 + l + sovQuery(uint64(l)) +func (m *QueryPreviousInferenceRewardFractionResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *QueryOneOutInfererInfererNetworkRegretRequest) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryPreviousInferenceRewardFractionResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryPreviousInferenceRewardFractionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if m.TopicId != 0 { - n += 1 + sovQuery(uint64(m.TopicId)) - } - l = len(m.OneOutInferer) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if m.NotFound { + i-- + if m.NotFound { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 } - l = len(m.Inferer) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + { + size := m.RewardFraction.Size() + i -= size + if _, err := m.RewardFraction.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintQuery(dAtA, i, uint64(size)) } - return n + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil } -func (m *QueryOneOutInfererInfererNetworkRegretResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Regret != nil { - l = m.Regret.Size() - n += 1 + l + sovQuery(uint64(l)) +func (m *QueryPreviousForecastRewardFractionRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *QueryOneOutInfererForecasterNetworkRegretRequest) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryPreviousForecastRewardFractionRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryPreviousForecastRewardFractionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if m.TopicId != 0 { - n += 1 + sovQuery(uint64(m.TopicId)) - } - l = len(m.OneOutInferer) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if len(m.Worker) > 0 { + i -= len(m.Worker) + copy(dAtA[i:], m.Worker) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Worker))) + i-- + dAtA[i] = 0x12 } - l = len(m.Forecaster) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if m.TopicId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.TopicId)) + i-- + dAtA[i] = 0x8 } - return n + return len(dAtA) - i, nil } -func (m *QueryOneOutInfererForecasterNetworkRegretResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Regret != nil { - l = m.Regret.Size() - n += 1 + l + sovQuery(uint64(l)) +func (m *QueryPreviousForecastRewardFractionResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *QueryOneOutForecasterInfererNetworkRegretRequest) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryPreviousForecastRewardFractionResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryPreviousForecastRewardFractionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if m.TopicId != 0 { - n += 1 + sovQuery(uint64(m.TopicId)) - } - l = len(m.OneOutForecaster) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if m.NotFound { + i-- + if m.NotFound { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 } - l = len(m.Inferer) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + { + size := m.RewardFraction.Size() + i -= size + if _, err := m.RewardFraction.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintQuery(dAtA, i, uint64(size)) } - return n + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil } -func (m *QueryOneOutForecasterInfererNetworkRegretResponse) Size() (n int) { - if m == nil { - return 0 +func (m *QueryPreviousPercentageRewardToStakedReputersRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *QueryPreviousPercentageRewardToStakedReputersRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryPreviousPercentageRewardToStakedReputersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if m.Regret != nil { - l = m.Regret.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n + return len(dAtA) - i, nil } -func (m *QueryOneOutForecasterForecasterNetworkRegretRequest) Size() (n int) { - if m == nil { - return 0 +func (m *QueryPreviousPercentageRewardToStakedReputersResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - if m.TopicId != 0 { - n += 1 + sovQuery(uint64(m.TopicId)) - } - l = len(m.OneOutForecaster) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.Forecaster) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n + return dAtA[:n], nil } -func (m *QueryOneOutForecasterForecasterNetworkRegretResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryPreviousPercentageRewardToStakedReputersResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryPreviousPercentageRewardToStakedReputersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if m.Regret != nil { - l = m.Regret.Size() - n += 1 + l + sovQuery(uint64(l)) + { + size := m.PercentageReward.Size() + i -= size + if _, err := m.PercentageReward.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintQuery(dAtA, i, uint64(size)) } - return n + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil } -func (m *QueryParamsRequest) Size() (n int) { - if m == nil { - return 0 +func (m *QueryTotalRewardToDistributeRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *QueryTotalRewardToDistributeRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTotalRewardToDistributeRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *QueryParamsResponse) Size() (n int) { - if m == nil { - return 0 +func (m *QueryTotalRewardToDistributeResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *QueryTotalRewardToDistributeResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTotalRewardToDistributeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = m.Params.Size() - n += 1 + l + sovQuery(uint64(l)) - return n + { + size := m.TotalReward.Size() + i -= size + if _, err := m.TotalReward.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil } -func (m *QueryTotalStakeRequest) Size() (n int) { - if m == nil { - return 0 +func (m *QueryActiveTopicsAtBlockRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *QueryActiveTopicsAtBlockRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryActiveTopicsAtBlockRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + if m.BlockHeight != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.BlockHeight)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil } -func (m *QueryTotalStakeResponse) Size() (n int) { - if m == nil { - return 0 +func (m *QueryActiveTopicsAtBlockResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *QueryActiveTopicsAtBlockResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryActiveTopicsAtBlockResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = m.Amount.Size() - n += 1 + l + sovQuery(uint64(l)) - return n + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Topics) > 0 { + for iNdEx := len(m.Topics) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Topics[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil } -func (m *QueryReputerStakeInTopicRequest) Size() (n int) { - if m == nil { - return 0 +func (m *QueryNextChurningBlockByTopicIdRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *QueryNextChurningBlockByTopicIdRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryNextChurningBlockByTopicIdRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Address) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } if m.TopicId != 0 { - n += 1 + sovQuery(uint64(m.TopicId)) + i = encodeVarintQuery(dAtA, i, uint64(m.TopicId)) + i-- + dAtA[i] = 0x8 } - return n + return len(dAtA) - i, nil } -func (m *QueryReputerStakeInTopicResponse) Size() (n int) { - if m == nil { - return 0 +func (m *QueryNextChurningBlockByTopicIdResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *QueryNextChurningBlockByTopicIdResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryNextChurningBlockByTopicIdResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = m.Amount.Size() - n += 1 + l + sovQuery(uint64(l)) - return n + if m.BlockHeight != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.BlockHeight)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil } -func (m *QueryMultiReputerStakeInTopicRequest) Size() (n int) { +func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { + offset -= sovQuery(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *QueryNaiveInfererNetworkRegretRequest) Size() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.Addresses) > 0 { - for _, s := range m.Addresses { - l = len(s) - n += 1 + l + sovQuery(uint64(l)) - } - } if m.TopicId != 0 { n += 1 + sovQuery(uint64(m.TopicId)) } + l = len(m.Inferer) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } return n } -func (m *QueryMultiReputerStakeInTopicResponse) Size() (n int) { +func (m *QueryNaiveInfererNetworkRegretResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.Amounts) > 0 { + if m.Regret != nil { + l = m.Regret.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryOneOutInfererInfererNetworkRegretRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TopicId != 0 { + n += 1 + sovQuery(uint64(m.TopicId)) + } + l = len(m.OneOutInferer) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Inferer) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryOneOutInfererInfererNetworkRegretResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Regret != nil { + l = m.Regret.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryOneOutInfererForecasterNetworkRegretRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TopicId != 0 { + n += 1 + sovQuery(uint64(m.TopicId)) + } + l = len(m.OneOutInferer) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Forecaster) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryOneOutInfererForecasterNetworkRegretResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Regret != nil { + l = m.Regret.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryOneOutForecasterInfererNetworkRegretRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TopicId != 0 { + n += 1 + sovQuery(uint64(m.TopicId)) + } + l = len(m.OneOutForecaster) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Inferer) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryOneOutForecasterInfererNetworkRegretResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Regret != nil { + l = m.Regret.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryOneOutForecasterForecasterNetworkRegretRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TopicId != 0 { + n += 1 + sovQuery(uint64(m.TopicId)) + } + l = len(m.OneOutForecaster) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Forecaster) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryOneOutForecasterForecasterNetworkRegretResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Regret != nil { + l = m.Regret.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryParamsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Params.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryTotalStakeRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryTotalStakeResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Amount.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryReputerStakeInTopicRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.TopicId != 0 { + n += 1 + sovQuery(uint64(m.TopicId)) + } + return n +} + +func (m *QueryReputerStakeInTopicResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Amount.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryMultiReputerStakeInTopicRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Addresses) > 0 { + for _, s := range m.Addresses { + l = len(s) + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.TopicId != 0 { + n += 1 + sovQuery(uint64(m.TopicId)) + } + return n +} + +func (m *QueryMultiReputerStakeInTopicResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Amounts) > 0 { for _, e := range m.Amounts { l = e.Size() n += 1 + l + sovQuery(uint64(l)) @@ -17050,7 +18210,7 @@ func (m *QueryInferenceScoresUntilBlockResponse) Size() (n int) { return n } -func (m *QueryWorkerInferenceScoresAtBlockRequest) Size() (n int) { +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Size() (n int) { if m == nil { return 0 } @@ -17059,26 +18219,21 @@ func (m *QueryWorkerInferenceScoresAtBlockRequest) Size() (n int) { if m.TopicId != 0 { n += 1 + sovQuery(uint64(m.TopicId)) } - if m.BlockHeight != 0 { - n += 1 + sovQuery(uint64(m.BlockHeight)) - } return n } -func (m *QueryWorkerInferenceScoresAtBlockResponse) Size() (n int) { +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Scores != nil { - l = m.Scores.Size() - n += 1 + l + sovQuery(uint64(l)) - } + l = m.Value.Size() + n += 1 + l + sovQuery(uint64(l)) return n } -func (m *QueryForecastScoresUntilBlockRequest) Size() (n int) { +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Size() (n int) { if m == nil { return 0 } @@ -17087,28 +18242,21 @@ func (m *QueryForecastScoresUntilBlockRequest) Size() (n int) { if m.TopicId != 0 { n += 1 + sovQuery(uint64(m.TopicId)) } - if m.BlockHeight != 0 { - n += 1 + sovQuery(uint64(m.BlockHeight)) - } return n } -func (m *QueryForecastScoresUntilBlockResponse) Size() (n int) { +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.Scores) > 0 { - for _, e := range m.Scores { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } + l = m.Value.Size() + n += 1 + l + sovQuery(uint64(l)) return n } -func (m *QueryWorkerForecastScoresAtBlockRequest) Size() (n int) { +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Size() (n int) { if m == nil { return 0 } @@ -17117,8 +18265,114 @@ func (m *QueryWorkerForecastScoresAtBlockRequest) Size() (n int) { if m.TopicId != 0 { n += 1 + sovQuery(uint64(m.TopicId)) } - if m.BlockHeight != 0 { - n += 1 + sovQuery(uint64(m.BlockHeight)) + return n +} + +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Value.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryWorkerInferenceScoresAtBlockRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TopicId != 0 { + n += 1 + sovQuery(uint64(m.TopicId)) + } + if m.BlockHeight != 0 { + n += 1 + sovQuery(uint64(m.BlockHeight)) + } + return n +} + +func (m *QueryWorkerInferenceScoresAtBlockResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Scores != nil { + l = m.Scores.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryCurrentLowestInfererScoreRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TopicId != 0 { + n += 1 + sovQuery(uint64(m.TopicId)) + } + return n +} + +func (m *QueryCurrentLowestInfererScoreResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Score != nil { + l = m.Score.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryForecastScoresUntilBlockRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TopicId != 0 { + n += 1 + sovQuery(uint64(m.TopicId)) + } + if m.BlockHeight != 0 { + n += 1 + sovQuery(uint64(m.BlockHeight)) + } + return n +} + +func (m *QueryForecastScoresUntilBlockResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Scores) > 0 { + for _, e := range m.Scores { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *QueryWorkerForecastScoresAtBlockRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TopicId != 0 { + n += 1 + sovQuery(uint64(m.TopicId)) + } + if m.BlockHeight != 0 { + n += 1 + sovQuery(uint64(m.BlockHeight)) } return n } @@ -17136,6 +18390,31 @@ func (m *QueryWorkerForecastScoresAtBlockResponse) Size() (n int) { return n } +func (m *QueryCurrentLowestForecasterScoreRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TopicId != 0 { + n += 1 + sovQuery(uint64(m.TopicId)) + } + return n +} + +func (m *QueryCurrentLowestForecasterScoreResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Score != nil { + l = m.Score.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func (m *QueryReputersScoresAtBlockRequest) Size() (n int) { if m == nil { return 0 @@ -17164,6 +18443,31 @@ func (m *QueryReputersScoresAtBlockResponse) Size() (n int) { return n } +func (m *QueryCurrentLowestReputerScoreRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TopicId != 0 { + n += 1 + sovQuery(uint64(m.TopicId)) + } + return n +} + +func (m *QueryCurrentLowestReputerScoreResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Score != nil { + l = m.Score.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func (m *QueryListeningCoefficientRequest) Size() (n int) { if m == nil { return 0 @@ -17347,44 +18651,888 @@ func (m *QueryActiveTopicsAtBlockResponse) Size() (n int) { n += 1 + l + sovQuery(uint64(l)) } } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryNextChurningBlockByTopicIdRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.TopicId != 0 { - n += 1 + sovQuery(uint64(m.TopicId)) - } - return n -} + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryNextChurningBlockByTopicIdRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TopicId != 0 { + n += 1 + sovQuery(uint64(m.TopicId)) + } + return n +} + +func (m *QueryNextChurningBlockByTopicIdResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BlockHeight != 0 { + n += 1 + sovQuery(uint64(m.BlockHeight)) + } + return n +} + +func sovQuery(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozQuery(x uint64) (n int) { + return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *QueryNaiveInfererNetworkRegretRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryNaiveInfererNetworkRegretRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryNaiveInfererNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + m.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Inferer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Inferer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryNaiveInfererNetworkRegretResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryNaiveInfererNetworkRegretResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryNaiveInfererNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Regret == nil { + m.Regret = &TimestampedValue{} + } + if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryOneOutInfererInfererNetworkRegretRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryOneOutInfererInfererNetworkRegretRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryOneOutInfererInfererNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + m.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OneOutInferer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OneOutInferer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Inferer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Inferer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryOneOutInfererInfererNetworkRegretResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryOneOutInfererInfererNetworkRegretResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryOneOutInfererInfererNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Regret == nil { + m.Regret = &TimestampedValue{} + } + if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryOneOutInfererForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryOneOutInfererForecasterNetworkRegretRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryOneOutInfererForecasterNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + m.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OneOutInferer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OneOutInferer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Forecaster", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Forecaster = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryOneOutInfererForecasterNetworkRegretResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryOneOutInfererForecasterNetworkRegretResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryOneOutInfererForecasterNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Regret == nil { + m.Regret = &TimestampedValue{} + } + if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryOneOutForecasterInfererNetworkRegretRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryOneOutForecasterInfererNetworkRegretRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryOneOutForecasterInfererNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + m.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OneOutForecaster", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OneOutForecaster = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Inferer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Inferer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryOneOutForecasterInfererNetworkRegretResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryOneOutForecasterInfererNetworkRegretResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryOneOutForecasterInfererNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Regret == nil { + m.Regret = &TimestampedValue{} + } + if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } -func (m *QueryNextChurningBlockByTopicIdResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.BlockHeight != 0 { - n += 1 + sovQuery(uint64(m.BlockHeight)) + if iNdEx > l { + return io.ErrUnexpectedEOF } - return n -} - -func sovQuery(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozQuery(x uint64) (n int) { - return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + return nil } -func (m *QueryNaiveInfererNetworkRegretRequest) Unmarshal(dAtA []byte) error { +func (m *QueryOneOutForecasterForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17407,10 +19555,10 @@ func (m *QueryNaiveInfererNetworkRegretRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryNaiveInfererNetworkRegretRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryOneOutForecasterForecasterNetworkRegretRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryNaiveInfererNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryOneOutForecasterForecasterNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -17434,7 +19582,7 @@ func (m *QueryNaiveInfererNetworkRegretRequest) Unmarshal(dAtA []byte) error { } case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Inferer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OneOutForecaster", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -17462,7 +19610,125 @@ func (m *QueryNaiveInfererNetworkRegretRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Inferer = string(dAtA[iNdEx:postIndex]) + m.OneOutForecaster = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Forecaster", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Forecaster = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryOneOutForecasterForecasterNetworkRegretResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryOneOutForecasterForecasterNetworkRegretResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryOneOutForecasterForecasterNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Regret == nil { + m.Regret = &TimestampedValue{} + } + if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -17485,7 +19751,57 @@ func (m *QueryNaiveInfererNetworkRegretRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryNaiveInfererNetworkRegretResponse) Unmarshal(dAtA []byte) error { +func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17508,15 +19824,15 @@ func (m *QueryNaiveInfererNetworkRegretResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryNaiveInfererNetworkRegretResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryParamsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryNaiveInfererNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -17543,10 +19859,7 @@ func (m *QueryNaiveInfererNetworkRegretResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Regret == nil { - m.Regret = &TimestampedValue{} - } - if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -17571,7 +19884,7 @@ func (m *QueryNaiveInfererNetworkRegretResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryOneOutInfererInfererNetworkRegretRequest) Unmarshal(dAtA []byte) error { +func (m *QueryTotalStakeRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17594,95 +19907,12 @@ func (m *QueryOneOutInfererInfererNetworkRegretRequest) Unmarshal(dAtA []byte) e fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryOneOutInfererInfererNetworkRegretRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTotalStakeRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryOneOutInfererInfererNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTotalStakeRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) - } - m.TopicId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OneOutInferer", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OneOutInferer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Inferer", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Inferer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -17704,7 +19934,7 @@ func (m *QueryOneOutInfererInfererNetworkRegretRequest) Unmarshal(dAtA []byte) e } return nil } -func (m *QueryOneOutInfererInfererNetworkRegretResponse) Unmarshal(dAtA []byte) error { +func (m *QueryTotalStakeResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17727,17 +19957,17 @@ func (m *QueryOneOutInfererInfererNetworkRegretResponse) Unmarshal(dAtA []byte) fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryOneOutInfererInfererNetworkRegretResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTotalStakeResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryOneOutInfererInfererNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTotalStakeResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -17747,25 +19977,23 @@ func (m *QueryOneOutInfererInfererNetworkRegretResponse) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Regret == nil { - m.Regret = &TimestampedValue{} - } - if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -17790,7 +20018,7 @@ func (m *QueryOneOutInfererInfererNetworkRegretResponse) Unmarshal(dAtA []byte) } return nil } -func (m *QueryOneOutInfererForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error { +func (m *QueryReputerStakeInTopicRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17813,34 +20041,15 @@ func (m *QueryOneOutInfererForecasterNetworkRegretRequest) Unmarshal(dAtA []byte fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryOneOutInfererForecasterNetworkRegretRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryReputerStakeInTopicRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryOneOutInfererForecasterNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryReputerStakeInTopicRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) - } - m.TopicId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OneOutInferer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -17868,13 +20077,13 @@ func (m *QueryOneOutInfererForecasterNetworkRegretRequest) Unmarshal(dAtA []byte if postIndex > l { return io.ErrUnexpectedEOF } - m.OneOutInferer = string(dAtA[iNdEx:postIndex]) + m.Address = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Forecaster", wireType) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } - var stringLen uint64 + m.TopicId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -17884,24 +20093,11 @@ func (m *QueryOneOutInfererForecasterNetworkRegretRequest) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.TopicId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Forecaster = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -17923,7 +20119,7 @@ func (m *QueryOneOutInfererForecasterNetworkRegretRequest) Unmarshal(dAtA []byte } return nil } -func (m *QueryOneOutInfererForecasterNetworkRegretResponse) Unmarshal(dAtA []byte) error { +func (m *QueryReputerStakeInTopicResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17946,17 +20142,17 @@ func (m *QueryOneOutInfererForecasterNetworkRegretResponse) Unmarshal(dAtA []byt fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryOneOutInfererForecasterNetworkRegretResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryReputerStakeInTopicResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryOneOutInfererForecasterNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryReputerStakeInTopicResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -17966,25 +20162,23 @@ func (m *QueryOneOutInfererForecasterNetworkRegretResponse) Unmarshal(dAtA []byt } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Regret == nil { - m.Regret = &TimestampedValue{} - } - if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -18009,7 +20203,7 @@ func (m *QueryOneOutInfererForecasterNetworkRegretResponse) Unmarshal(dAtA []byt } return nil } -func (m *QueryOneOutForecasterInfererNetworkRegretRequest) Unmarshal(dAtA []byte) error { +func (m *QueryMultiReputerStakeInTopicRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18032,34 +20226,15 @@ func (m *QueryOneOutForecasterInfererNetworkRegretRequest) Unmarshal(dAtA []byte fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryOneOutForecasterInfererNetworkRegretRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryMultiReputerStakeInTopicRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryOneOutForecasterInfererNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryMultiReputerStakeInTopicRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) - } - m.TopicId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OneOutForecaster", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -18087,13 +20262,13 @@ func (m *QueryOneOutForecasterInfererNetworkRegretRequest) Unmarshal(dAtA []byte if postIndex > l { return io.ErrUnexpectedEOF } - m.OneOutForecaster = string(dAtA[iNdEx:postIndex]) + m.Addresses = append(m.Addresses, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Inferer", wireType) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } - var stringLen uint64 + m.TopicId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -18103,24 +20278,11 @@ func (m *QueryOneOutForecasterInfererNetworkRegretRequest) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF + m.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - m.Inferer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -18142,7 +20304,7 @@ func (m *QueryOneOutForecasterInfererNetworkRegretRequest) Unmarshal(dAtA []byte } return nil } -func (m *QueryOneOutForecasterInfererNetworkRegretResponse) Unmarshal(dAtA []byte) error { +func (m *QueryMultiReputerStakeInTopicResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18165,15 +20327,15 @@ func (m *QueryOneOutForecasterInfererNetworkRegretResponse) Unmarshal(dAtA []byt fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryOneOutForecasterInfererNetworkRegretResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryMultiReputerStakeInTopicResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryOneOutForecasterInfererNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryMultiReputerStakeInTopicResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amounts", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -18200,10 +20362,8 @@ func (m *QueryOneOutForecasterInfererNetworkRegretResponse) Unmarshal(dAtA []byt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Regret == nil { - m.Regret = &TimestampedValue{} - } - if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Amounts = append(m.Amounts, &StakeInfo{}) + if err := m.Amounts[len(m.Amounts)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -18228,7 +20388,7 @@ func (m *QueryOneOutForecasterInfererNetworkRegretResponse) Unmarshal(dAtA []byt } return nil } -func (m *QueryOneOutForecasterForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error { +func (m *QueryStakeFromReputerInTopicInSelfRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18251,34 +20411,15 @@ func (m *QueryOneOutForecasterForecasterNetworkRegretRequest) Unmarshal(dAtA []b fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryOneOutForecasterForecasterNetworkRegretRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryStakeFromReputerInTopicInSelfRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryOneOutForecasterForecasterNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryStakeFromReputerInTopicInSelfRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) - } - m.TopicId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OneOutForecaster", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ReputerAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -18306,13 +20447,13 @@ func (m *QueryOneOutForecasterForecasterNetworkRegretRequest) Unmarshal(dAtA []b if postIndex > l { return io.ErrUnexpectedEOF } - m.OneOutForecaster = string(dAtA[iNdEx:postIndex]) + m.ReputerAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Forecaster", wireType) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } - var stringLen uint64 + m.TopicId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -18322,24 +20463,11 @@ func (m *QueryOneOutForecasterForecasterNetworkRegretRequest) Unmarshal(dAtA []b } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.TopicId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Forecaster = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -18361,7 +20489,7 @@ func (m *QueryOneOutForecasterForecasterNetworkRegretRequest) Unmarshal(dAtA []b } return nil } -func (m *QueryOneOutForecasterForecasterNetworkRegretResponse) Unmarshal(dAtA []byte) error { +func (m *QueryStakeFromReputerInTopicInSelfResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18384,17 +20512,17 @@ func (m *QueryOneOutForecasterForecasterNetworkRegretResponse) Unmarshal(dAtA [] fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryOneOutForecasterForecasterNetworkRegretResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryStakeFromReputerInTopicInSelfResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryOneOutForecasterForecasterNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryStakeFromReputerInTopicInSelfResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -18404,25 +20532,23 @@ func (m *QueryOneOutForecasterForecasterNetworkRegretResponse) Unmarshal(dAtA [] } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Regret == nil { - m.Regret = &TimestampedValue{} - } - if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -18447,7 +20573,7 @@ func (m *QueryOneOutForecasterForecasterNetworkRegretResponse) Unmarshal(dAtA [] } return nil } -func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryDelegateStakeInTopicInReputerRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18470,12 +20596,63 @@ func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegateStakeInTopicInReputerRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegateStakeInTopicInReputerRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReputerAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReputerAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + m.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -18497,7 +20674,7 @@ func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryDelegateStakeInTopicInReputerResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18520,17 +20697,17 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryParamsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegateStakeInTopicInReputerResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegateStakeInTopicInReputerResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -18540,22 +20717,23 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -18580,7 +20758,7 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTotalStakeRequest) Unmarshal(dAtA []byte) error { +func (m *QueryStakeFromDelegatorInTopicInReputerRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18593,22 +20771,105 @@ func (m *QueryTotalStakeRequest) Unmarshal(dAtA []byte) error { if iNdEx >= l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicInReputerRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicInReputerRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReputerAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReputerAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + m.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryTotalStakeRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTotalStakeRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -18630,7 +20891,7 @@ func (m *QueryTotalStakeRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTotalStakeResponse) Unmarshal(dAtA []byte) error { +func (m *QueryStakeFromDelegatorInTopicInReputerResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18653,10 +20914,10 @@ func (m *QueryTotalStakeResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTotalStakeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicInReputerResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTotalStakeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicInReputerResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -18714,7 +20975,7 @@ func (m *QueryTotalStakeResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryReputerStakeInTopicRequest) Unmarshal(dAtA []byte) error { +func (m *QueryStakeFromDelegatorInTopicRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18737,15 +20998,15 @@ func (m *QueryReputerStakeInTopicRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryReputerStakeInTopicRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryReputerStakeInTopicRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -18773,7 +21034,7 @@ func (m *QueryReputerStakeInTopicRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Address = string(dAtA[iNdEx:postIndex]) + m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 0 { @@ -18815,7 +21076,7 @@ func (m *QueryReputerStakeInTopicRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryReputerStakeInTopicResponse) Unmarshal(dAtA []byte) error { +func (m *QueryStakeFromDelegatorInTopicResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18838,10 +21099,10 @@ func (m *QueryReputerStakeInTopicResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryReputerStakeInTopicResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryReputerStakeInTopicResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -18899,7 +21160,7 @@ func (m *QueryReputerStakeInTopicResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryMultiReputerStakeInTopicRequest) Unmarshal(dAtA []byte) error { +func (m *QueryTopicStakeRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18922,45 +21183,13 @@ func (m *QueryMultiReputerStakeInTopicRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryMultiReputerStakeInTopicRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTopicStakeRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryMultiReputerStakeInTopicRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTopicStakeRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Addresses = append(m.Addresses, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 2: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } @@ -19000,7 +21229,7 @@ func (m *QueryMultiReputerStakeInTopicRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryMultiReputerStakeInTopicResponse) Unmarshal(dAtA []byte) error { +func (m *QueryTopicStakeResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19023,17 +21252,17 @@ func (m *QueryMultiReputerStakeInTopicResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryMultiReputerStakeInTopicResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTopicStakeResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryMultiReputerStakeInTopicResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTopicStakeResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amounts", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -19043,23 +21272,23 @@ func (m *QueryMultiReputerStakeInTopicResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - m.Amounts = append(m.Amounts, &StakeInfo{}) - if err := m.Amounts[len(m.Amounts)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -19084,7 +21313,7 @@ func (m *QueryMultiReputerStakeInTopicResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryStakeFromReputerInTopicInSelfRequest) Unmarshal(dAtA []byte) error { +func (m *QueryNetworkLossBundleAtBlockRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19107,17 +21336,17 @@ func (m *QueryStakeFromReputerInTopicInSelfRequest) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryStakeFromReputerInTopicInSelfRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryNetworkLossBundleAtBlockRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStakeFromReputerInTopicInSelfRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryNetworkLossBundleAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReputerAddress", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } - var stringLen uint64 + m.TopicId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -19127,29 +21356,16 @@ func (m *QueryStakeFromReputerInTopicInSelfRequest) Unmarshal(dAtA []byte) error } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.TopicId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ReputerAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) } - m.TopicId = 0 + m.BlockHeight = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -19159,7 +21375,7 @@ func (m *QueryStakeFromReputerInTopicInSelfRequest) Unmarshal(dAtA []byte) error } b := dAtA[iNdEx] iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift + m.BlockHeight |= int64(b&0x7F) << shift if b < 0x80 { break } @@ -19185,7 +21401,7 @@ func (m *QueryStakeFromReputerInTopicInSelfRequest) Unmarshal(dAtA []byte) error } return nil } -func (m *QueryStakeFromReputerInTopicInSelfResponse) Unmarshal(dAtA []byte) error { +func (m *QueryNetworkLossBundleAtBlockResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19208,17 +21424,17 @@ func (m *QueryStakeFromReputerInTopicInSelfResponse) Unmarshal(dAtA []byte) erro fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryStakeFromReputerInTopicInSelfResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryNetworkLossBundleAtBlockResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStakeFromReputerInTopicInSelfResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryNetworkLossBundleAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field LossBundle", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -19228,23 +21444,25 @@ func (m *QueryStakeFromReputerInTopicInSelfResponse) Unmarshal(dAtA []byte) erro } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.LossBundle == nil { + m.LossBundle = &ValueBundle{} + } + if err := m.LossBundle.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -19269,7 +21487,7 @@ func (m *QueryStakeFromReputerInTopicInSelfResponse) Unmarshal(dAtA []byte) erro } return nil } -func (m *QueryDelegateStakeInTopicInReputerRequest) Unmarshal(dAtA []byte) error { +func (m *QueryNextTopicIdRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19292,49 +21510,67 @@ func (m *QueryDelegateStakeInTopicInReputerRequest) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegateStakeInTopicInReputerRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryNextTopicIdRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegateStakeInTopicInReputerRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryNextTopicIdRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReputerAddress", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryNextTopicIdResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.ReputerAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryNextTopicIdResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryNextTopicIdResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NextTopicId", wireType) } - m.TopicId = 0 + m.NextTopicId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -19344,7 +21580,7 @@ func (m *QueryDelegateStakeInTopicInReputerRequest) Unmarshal(dAtA []byte) error } b := dAtA[iNdEx] iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift + m.NextTopicId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -19370,7 +21606,7 @@ func (m *QueryDelegateStakeInTopicInReputerRequest) Unmarshal(dAtA []byte) error } return nil } -func (m *QueryDelegateStakeInTopicInReputerResponse) Unmarshal(dAtA []byte) error { +func (m *QueryTopicRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19393,17 +21629,17 @@ func (m *QueryDelegateStakeInTopicInReputerResponse) Unmarshal(dAtA []byte) erro fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegateStakeInTopicInReputerResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTopicRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegateStakeInTopicInReputerResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTopicRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } - var stringLen uint64 + m.TopicId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -19413,26 +21649,11 @@ func (m *QueryDelegateStakeInTopicInReputerResponse) Unmarshal(dAtA []byte) erro } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.TopicId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -19454,7 +21675,7 @@ func (m *QueryDelegateStakeInTopicInReputerResponse) Unmarshal(dAtA []byte) erro } return nil } -func (m *QueryStakeFromDelegatorInTopicInReputerRequest) Unmarshal(dAtA []byte) error { +func (m *QueryTopicResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19477,17 +21698,17 @@ func (m *QueryStakeFromDelegatorInTopicInReputerRequest) Unmarshal(dAtA []byte) fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicInReputerRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTopicResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicInReputerRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTopicResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -19497,27 +21718,31 @@ func (m *QueryStakeFromDelegatorInTopicInReputerRequest) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + if m.Topic == nil { + m.Topic = &Topic{} + } + if err := m.Topic.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReputerAddress", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -19545,13 +21770,13 @@ func (m *QueryStakeFromDelegatorInTopicInReputerRequest) Unmarshal(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - m.ReputerAddress = string(dAtA[iNdEx:postIndex]) + m.Weight = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EffectiveRevenue", wireType) } - m.TopicId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -19561,11 +21786,24 @@ func (m *QueryStakeFromDelegatorInTopicInReputerRequest) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EffectiveRevenue = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -19587,7 +21825,7 @@ func (m *QueryStakeFromDelegatorInTopicInReputerRequest) Unmarshal(dAtA []byte) } return nil } -func (m *QueryStakeFromDelegatorInTopicInReputerResponse) Unmarshal(dAtA []byte) error { +func (m *QueryActiveTopicsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19610,17 +21848,17 @@ func (m *QueryStakeFromDelegatorInTopicInReputerResponse) Unmarshal(dAtA []byte) fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicInReputerResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryActiveTopicsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicInReputerResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryActiveTopicsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -19630,23 +21868,25 @@ func (m *QueryStakeFromDelegatorInTopicInReputerResponse) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Pagination == nil { + m.Pagination = &SimpleCursorPaginationRequest{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -19671,7 +21911,7 @@ func (m *QueryStakeFromDelegatorInTopicInReputerResponse) Unmarshal(dAtA []byte) } return nil } -func (m *QueryStakeFromDelegatorInTopicRequest) Unmarshal(dAtA []byte) error { +func (m *QueryActiveTopicsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19694,17 +21934,17 @@ func (m *QueryStakeFromDelegatorInTopicRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryActiveTopicsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryActiveTopicsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Topics", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -19714,25 +21954,113 @@ func (m *QueryStakeFromDelegatorInTopicRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + m.Topics = append(m.Topics, &Topic{}) + if err := m.Topics[len(m.Topics)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &SimpleCursorPaginationResponse{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryInferencesAtBlockRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryInferencesAtBlockRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryInferencesAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } @@ -19751,6 +22079,25 @@ func (m *QueryStakeFromDelegatorInTopicRequest) Unmarshal(dAtA []byte) error { break } } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + } + m.BlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -19772,7 +22119,7 @@ func (m *QueryStakeFromDelegatorInTopicRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryStakeFromDelegatorInTopicResponse) Unmarshal(dAtA []byte) error { +func (m *QueryInferencesAtBlockResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19795,17 +22142,17 @@ func (m *QueryStakeFromDelegatorInTopicResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryInferencesAtBlockResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStakeFromDelegatorInTopicResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryInferencesAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Inferences", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -19815,23 +22162,25 @@ func (m *QueryStakeFromDelegatorInTopicResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Inferences == nil { + m.Inferences = &Inferences{} + } + if err := m.Inferences.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -19856,7 +22205,7 @@ func (m *QueryStakeFromDelegatorInTopicResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTopicStakeRequest) Unmarshal(dAtA []byte) error { +func (m *QueryLatestTopicInferencesRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19879,10 +22228,10 @@ func (m *QueryTopicStakeRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTopicStakeRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryLatestTopicInferencesRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTopicStakeRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryLatestTopicInferencesRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -19925,7 +22274,7 @@ func (m *QueryTopicStakeRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTopicStakeResponse) Unmarshal(dAtA []byte) error { +func (m *QueryLatestTopicInferencesResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19948,17 +22297,17 @@ func (m *QueryTopicStakeResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTopicStakeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryLatestTopicInferencesResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTopicStakeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryLatestTopicInferencesResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Inferences", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -19968,26 +22317,47 @@ func (m *QueryTopicStakeResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Inferences == nil { + m.Inferences = &Inferences{} + } + if err := m.Inferences.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + } + m.BlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -20009,7 +22379,7 @@ func (m *QueryTopicStakeResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryNetworkLossBundleAtBlockRequest) Unmarshal(dAtA []byte) error { +func (m *QueryForecastsAtBlockRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20032,10 +22402,10 @@ func (m *QueryNetworkLossBundleAtBlockRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryNetworkLossBundleAtBlockRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryForecastsAtBlockRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryNetworkLossBundleAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryForecastsAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -20097,7 +22467,7 @@ func (m *QueryNetworkLossBundleAtBlockRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryNetworkLossBundleAtBlockResponse) Unmarshal(dAtA []byte) error { +func (m *QueryForecastsAtBlockResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20120,15 +22490,15 @@ func (m *QueryNetworkLossBundleAtBlockResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryNetworkLossBundleAtBlockResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryForecastsAtBlockResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryNetworkLossBundleAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryForecastsAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LossBundle", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Forecasts", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -20155,10 +22525,10 @@ func (m *QueryNetworkLossBundleAtBlockResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.LossBundle == nil { - m.LossBundle = &ValueBundle{} + if m.Forecasts == nil { + m.Forecasts = &Forecasts{} } - if err := m.LossBundle.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Forecasts.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -20183,7 +22553,7 @@ func (m *QueryNetworkLossBundleAtBlockResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryNextTopicIdRequest) Unmarshal(dAtA []byte) error { +func (m *QueryWorkerLatestInferenceRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20206,12 +22576,63 @@ func (m *QueryNextTopicIdRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryNextTopicIdRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryWorkerLatestInferenceRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryNextTopicIdRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryWorkerLatestInferenceRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + m.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WorkerAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.WorkerAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -20233,7 +22654,7 @@ func (m *QueryNextTopicIdRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryNextTopicIdResponse) Unmarshal(dAtA []byte) error { +func (m *QueryWorkerLatestInferenceResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20256,17 +22677,17 @@ func (m *QueryNextTopicIdResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryNextTopicIdResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryWorkerLatestInferenceResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryNextTopicIdResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryWorkerLatestInferenceResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NextTopicId", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LatestInference", wireType) } - m.NextTopicId = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -20276,11 +22697,28 @@ func (m *QueryNextTopicIdResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.NextTopicId |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.LatestInference == nil { + m.LatestInference = &Inference{} + } + if err := m.LatestInference.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -20302,7 +22740,7 @@ func (m *QueryNextTopicIdResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTopicRequest) Unmarshal(dAtA []byte) error { +func (m *QueryWorkerNodeInfoRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20325,17 +22763,17 @@ func (m *QueryTopicRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTopicRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryWorkerNodeInfoRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTopicRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryWorkerNodeInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) } - m.TopicId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -20345,11 +22783,24 @@ func (m *QueryTopicRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -20371,7 +22822,7 @@ func (m *QueryTopicRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTopicResponse) Unmarshal(dAtA []byte) error { +func (m *QueryWorkerNodeInfoResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20394,15 +22845,15 @@ func (m *QueryTopicResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTopicResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryWorkerNodeInfoResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTopicResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryWorkerNodeInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NodeInfo", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -20429,77 +22880,13 @@ func (m *QueryTopicResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Topic == nil { - m.Topic = &Topic{} + if m.NodeInfo == nil { + m.NodeInfo = &OffchainNode{} } - if err := m.Topic.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.NodeInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Weight = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EffectiveRevenue", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.EffectiveRevenue = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -20521,7 +22908,7 @@ func (m *QueryTopicResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryActiveTopicsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryReputerNodeInfoRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20544,17 +22931,17 @@ func (m *QueryActiveTopicsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryActiveTopicsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryReputerNodeInfoRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryActiveTopicsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryReputerNodeInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -20564,27 +22951,23 @@ func (m *QueryActiveTopicsRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pagination == nil { - m.Pagination = &SimpleCursorPaginationRequest{} - } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Address = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -20607,7 +22990,7 @@ func (m *QueryActiveTopicsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryActiveTopicsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryReputerNodeInfoResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20630,49 +23013,15 @@ func (m *QueryActiveTopicsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryActiveTopicsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryReputerNodeInfoResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryActiveTopicsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryReputerNodeInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Topics", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Topics = append(m.Topics, &Topic{}) - if err := m.Topics[len(m.Topics)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NodeInfo", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -20699,10 +23048,10 @@ func (m *QueryActiveTopicsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pagination == nil { - m.Pagination = &SimpleCursorPaginationResponse{} + if m.NodeInfo == nil { + m.NodeInfo = &OffchainNode{} } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.NodeInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -20727,7 +23076,7 @@ func (m *QueryActiveTopicsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryInferencesAtBlockRequest) Unmarshal(dAtA []byte) error { +func (m *QueryNetworkInferencesAtBlockRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20750,10 +23099,10 @@ func (m *QueryInferencesAtBlockRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryInferencesAtBlockRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryNetworkInferencesAtBlockRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryInferencesAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryNetworkInferencesAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -20777,9 +23126,9 @@ func (m *QueryInferencesAtBlockRequest) Unmarshal(dAtA []byte) error { } case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlockHeightLastInference", wireType) } - m.BlockHeight = 0 + m.BlockHeightLastInference = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -20789,7 +23138,7 @@ func (m *QueryInferencesAtBlockRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.BlockHeight |= int64(b&0x7F) << shift + m.BlockHeightLastInference |= int64(b&0x7F) << shift if b < 0x80 { break } @@ -20815,7 +23164,7 @@ func (m *QueryInferencesAtBlockRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryInferencesAtBlockResponse) Unmarshal(dAtA []byte) error { +func (m *QueryLatestNetworkInferencesRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20838,17 +23187,17 @@ func (m *QueryInferencesAtBlockResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryInferencesAtBlockResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryLatestNetworkInferencesRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryInferencesAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryLatestNetworkInferencesRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Inferences", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } - var msglen int + m.TopicId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -20858,28 +23207,11 @@ func (m *QueryInferencesAtBlockResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.TopicId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Inferences == nil { - m.Inferences = &Inferences{} - } - if err := m.Inferences.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -20901,7 +23233,7 @@ func (m *QueryInferencesAtBlockResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryLatestTopicInferencesRequest) Unmarshal(dAtA []byte) error { +func (m *QueryLatestAvailableNetworkInferencesRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20924,10 +23256,10 @@ func (m *QueryLatestTopicInferencesRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryLatestTopicInferencesRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryLatestAvailableNetworkInferencesRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryLatestTopicInferencesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryLatestAvailableNetworkInferencesRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -20970,7 +23302,7 @@ func (m *QueryLatestTopicInferencesRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryLatestTopicInferencesResponse) Unmarshal(dAtA []byte) error { +func (m *QueryIsWorkerNonceUnfulfilledRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20993,17 +23325,17 @@ func (m *QueryLatestTopicInferencesResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryLatestTopicInferencesResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryIsWorkerNonceUnfulfilledRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryLatestTopicInferencesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryIsWorkerNonceUnfulfilledRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Inferences", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } - var msglen int + m.TopicId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -21013,28 +23345,11 @@ func (m *QueryLatestTopicInferencesResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.TopicId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Inferences == nil { - m.Inferences = &Inferences{} - } - if err := m.Inferences.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex case 2: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) @@ -21075,7 +23390,7 @@ func (m *QueryLatestTopicInferencesResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryForecastsAtBlockRequest) Unmarshal(dAtA []byte) error { +func (m *QueryIsWorkerNonceUnfulfilledResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21098,17 +23413,17 @@ func (m *QueryForecastsAtBlockRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryForecastsAtBlockRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryIsWorkerNonceUnfulfilledResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryForecastsAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryIsWorkerNonceUnfulfilledResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field IsWorkerNonceUnfulfilled", wireType) } - m.TopicId = 0 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -21118,16 +23433,67 @@ func (m *QueryForecastsAtBlockRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - case 2: + m.IsWorkerNonceUnfulfilled = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryUnfulfilledReputerNoncesRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryUnfulfilledReputerNoncesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryUnfulfilledReputerNoncesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } - m.BlockHeight = 0 + m.TopicId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -21137,7 +23503,7 @@ func (m *QueryForecastsAtBlockRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.BlockHeight |= int64(b&0x7F) << shift + m.TopicId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -21163,7 +23529,7 @@ func (m *QueryForecastsAtBlockRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryForecastsAtBlockResponse) Unmarshal(dAtA []byte) error { +func (m *QueryUnfulfilledReputerNoncesResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21186,15 +23552,15 @@ func (m *QueryForecastsAtBlockResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryForecastsAtBlockResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryUnfulfilledReputerNoncesResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryForecastsAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryUnfulfilledReputerNoncesResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Forecasts", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Nonces", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -21221,10 +23587,10 @@ func (m *QueryForecastsAtBlockResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Forecasts == nil { - m.Forecasts = &Forecasts{} + if m.Nonces == nil { + m.Nonces = &ReputerRequestNonces{} } - if err := m.Forecasts.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Nonces.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -21249,7 +23615,7 @@ func (m *QueryForecastsAtBlockResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryWorkerLatestInferenceRequest) Unmarshal(dAtA []byte) error { +func (m *QueryUnfulfilledWorkerNoncesRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21272,10 +23638,10 @@ func (m *QueryWorkerLatestInferenceRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryWorkerLatestInferenceRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryUnfulfilledWorkerNoncesRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryWorkerLatestInferenceRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryUnfulfilledWorkerNoncesRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -21292,43 +23658,11 @@ func (m *QueryWorkerLatestInferenceRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WorkerAddress", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.TopicId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.WorkerAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -21350,7 +23684,7 @@ func (m *QueryWorkerLatestInferenceRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryWorkerLatestInferenceResponse) Unmarshal(dAtA []byte) error { +func (m *QueryUnfulfilledWorkerNoncesResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21373,15 +23707,15 @@ func (m *QueryWorkerLatestInferenceResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryWorkerLatestInferenceResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryUnfulfilledWorkerNoncesResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryWorkerLatestInferenceResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryUnfulfilledWorkerNoncesResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LatestInference", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Nonces", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -21408,10 +23742,10 @@ func (m *QueryWorkerLatestInferenceResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.LatestInference == nil { - m.LatestInference = &Inference{} + if m.Nonces == nil { + m.Nonces = &Nonces{} } - if err := m.LatestInference.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Nonces.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -21436,7 +23770,7 @@ func (m *QueryWorkerLatestInferenceResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryWorkerNodeInfoRequest) Unmarshal(dAtA []byte) error { +func (m *QueryInfererNetworkRegretRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21459,15 +23793,34 @@ func (m *QueryWorkerNodeInfoRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryWorkerNodeInfoRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryInfererNetworkRegretRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryWorkerNodeInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryInfererNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + m.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ActorId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -21495,7 +23848,7 @@ func (m *QueryWorkerNodeInfoRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Address = string(dAtA[iNdEx:postIndex]) + m.ActorId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -21518,7 +23871,7 @@ func (m *QueryWorkerNodeInfoRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryWorkerNodeInfoResponse) Unmarshal(dAtA []byte) error { +func (m *QueryInfererNetworkRegretResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21541,15 +23894,15 @@ func (m *QueryWorkerNodeInfoResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryWorkerNodeInfoResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryInfererNetworkRegretResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryWorkerNodeInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryInfererNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NodeInfo", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -21576,10 +23929,10 @@ func (m *QueryWorkerNodeInfoResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.NodeInfo == nil { - m.NodeInfo = &OffchainNode{} + if m.Regret == nil { + m.Regret = &TimestampedValue{} } - if err := m.NodeInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -21604,7 +23957,7 @@ func (m *QueryWorkerNodeInfoResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryReputerNodeInfoRequest) Unmarshal(dAtA []byte) error { +func (m *QueryForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21627,15 +23980,34 @@ func (m *QueryReputerNodeInfoRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryReputerNodeInfoRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryForecasterNetworkRegretRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryReputerNodeInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryForecasterNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + m.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Worker", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -21663,7 +24035,7 @@ func (m *QueryReputerNodeInfoRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Address = string(dAtA[iNdEx:postIndex]) + m.Worker = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -21686,7 +24058,7 @@ func (m *QueryReputerNodeInfoRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryReputerNodeInfoResponse) Unmarshal(dAtA []byte) error { +func (m *QueryForecasterNetworkRegretResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21709,15 +24081,15 @@ func (m *QueryReputerNodeInfoResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryReputerNodeInfoResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryForecasterNetworkRegretResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryReputerNodeInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryForecasterNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NodeInfo", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -21744,10 +24116,10 @@ func (m *QueryReputerNodeInfoResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.NodeInfo == nil { - m.NodeInfo = &OffchainNode{} + if m.Regret == nil { + m.Regret = &TimestampedValue{} } - if err := m.NodeInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -21772,7 +24144,7 @@ func (m *QueryReputerNodeInfoResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryNetworkInferencesAtBlockRequest) Unmarshal(dAtA []byte) error { +func (m *QueryOneInForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21795,10 +24167,10 @@ func (m *QueryNetworkInferencesAtBlockRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryNetworkInferencesAtBlockRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryOneInForecasterNetworkRegretRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryNetworkInferencesAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryOneInForecasterNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -21821,10 +24193,10 @@ func (m *QueryNetworkInferencesAtBlockRequest) Unmarshal(dAtA []byte) error { } } case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHeightLastInference", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Forecaster", wireType) } - m.BlockHeightLastInference = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -21834,11 +24206,56 @@ func (m *QueryNetworkInferencesAtBlockRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.BlockHeightLastInference |= int64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Forecaster = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Inferer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Inferer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -21860,7 +24277,7 @@ func (m *QueryNetworkInferencesAtBlockRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryLatestNetworkInferencesRequest) Unmarshal(dAtA []byte) error { +func (m *QueryOneInForecasterNetworkRegretResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21883,17 +24300,17 @@ func (m *QueryLatestNetworkInferencesRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryLatestNetworkInferencesRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryOneInForecasterNetworkRegretResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryLatestNetworkInferencesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryOneInForecasterNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) } - m.TopicId = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -21903,11 +24320,28 @@ func (m *QueryLatestNetworkInferencesRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Regret == nil { + m.Regret = &TimestampedValue{} + } + if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -21929,7 +24363,7 @@ func (m *QueryLatestNetworkInferencesRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryLatestAvailableNetworkInferencesRequest) Unmarshal(dAtA []byte) error { +func (m *QueryIsReputerNonceUnfulfilledRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21952,10 +24386,10 @@ func (m *QueryLatestAvailableNetworkInferencesRequest) Unmarshal(dAtA []byte) er fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryLatestAvailableNetworkInferencesRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryIsReputerNonceUnfulfilledRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryLatestAvailableNetworkInferencesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryIsReputerNonceUnfulfilledRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -21977,6 +24411,25 @@ func (m *QueryLatestAvailableNetworkInferencesRequest) Unmarshal(dAtA []byte) er break } } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + } + m.BlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -21998,7 +24451,7 @@ func (m *QueryLatestAvailableNetworkInferencesRequest) Unmarshal(dAtA []byte) er } return nil } -func (m *QueryIsWorkerNonceUnfulfilledRequest) Unmarshal(dAtA []byte) error { +func (m *QueryIsReputerNonceUnfulfilledResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22021,36 +24474,17 @@ func (m *QueryIsWorkerNonceUnfulfilledRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryIsWorkerNonceUnfulfilledRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryIsReputerNonceUnfulfilledResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryIsWorkerNonceUnfulfilledRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) - } - m.TopicId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: + return fmt.Errorf("proto: QueryIsReputerNonceUnfulfilledResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field IsReputerNonceUnfulfilled", wireType) } - m.BlockHeight = 0 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -22060,11 +24494,12 @@ func (m *QueryIsWorkerNonceUnfulfilledRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.BlockHeight |= int64(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } + m.IsReputerNonceUnfulfilled = bool(v != 0) default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -22086,7 +24521,7 @@ func (m *QueryIsWorkerNonceUnfulfilledRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryIsWorkerNonceUnfulfilledResponse) Unmarshal(dAtA []byte) error { +func (m *QueryNetworkInferencesAtBlockResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22109,17 +24544,17 @@ func (m *QueryIsWorkerNonceUnfulfilledResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryIsWorkerNonceUnfulfilledResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryNetworkInferencesAtBlockResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryIsWorkerNonceUnfulfilledResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryNetworkInferencesAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsWorkerNonceUnfulfilled", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NetworkInferences", wireType) } - var v int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -22129,12 +24564,28 @@ func (m *QueryIsWorkerNonceUnfulfilledResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.IsWorkerNonceUnfulfilled = bool(v != 0) + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.NetworkInferences == nil { + m.NetworkInferences = &ValueBundle{} + } + if err := m.NetworkInferences.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -22156,7 +24607,7 @@ func (m *QueryIsWorkerNonceUnfulfilledResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryUnfulfilledReputerNoncesRequest) Unmarshal(dAtA []byte) error { +func (m *QueryLatestNetworkInferencesResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22179,17 +24630,229 @@ func (m *QueryUnfulfilledReputerNoncesRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryUnfulfilledReputerNoncesRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryLatestNetworkInferencesResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryUnfulfilledReputerNoncesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryLatestNetworkInferencesResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NetworkInferences", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.NetworkInferences == nil { + m.NetworkInferences = &ValueBundle{} + } + if err := m.NetworkInferences.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InfererWeights", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.InfererWeights = append(m.InfererWeights, &RegretInformedWeight{}) + if err := m.InfererWeights[len(m.InfererWeights)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ForecasterWeights", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ForecasterWeights = append(m.ForecasterWeights, &RegretInformedWeight{}) + if err := m.ForecasterWeights[len(m.ForecasterWeights)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ForecastImpliedInferences", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ForecastImpliedInferences = append(m.ForecastImpliedInferences, &WorkerAttributedValue{}) + if err := m.ForecastImpliedInferences[len(m.ForecastImpliedInferences)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field InferenceBlockHeight", wireType) + } + m.InferenceBlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InferenceBlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LossBlockHeight", wireType) + } + m.LossBlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LossBlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConfidenceIntervalRawPercentiles", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var v github_com_allora_network_allora_chain_math.Dec + m.ConfidenceIntervalRawPercentiles = append(m.ConfidenceIntervalRawPercentiles, v) + if err := m.ConfidenceIntervalRawPercentiles[len(m.ConfidenceIntervalRawPercentiles)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.TopicId = 0 + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConfidenceIntervalValues", wireType) + } + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -22199,11 +24862,28 @@ func (m *QueryUnfulfilledReputerNoncesRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var v github_com_allora_network_allora_chain_math.Dec + m.ConfidenceIntervalValues = append(m.ConfidenceIntervalValues, v) + if err := m.ConfidenceIntervalValues[len(m.ConfidenceIntervalValues)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -22225,7 +24905,7 @@ func (m *QueryUnfulfilledReputerNoncesRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryUnfulfilledReputerNoncesResponse) Unmarshal(dAtA []byte) error { +func (m *QueryLatestAvailableNetworkInferencesResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22248,15 +24928,15 @@ func (m *QueryUnfulfilledReputerNoncesResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryUnfulfilledReputerNoncesResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryLatestAvailableNetworkInferencesResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryUnfulfilledReputerNoncesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryLatestAvailableNetworkInferencesResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Nonces", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NetworkInferences", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -22283,68 +24963,52 @@ func (m *QueryUnfulfilledReputerNoncesResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Nonces == nil { - m.Nonces = &ReputerRequestNonces{} + if m.NetworkInferences == nil { + m.NetworkInferences = &ValueBundle{} } - if err := m.Nonces.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.NetworkInferences.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InfererWeights", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return ErrInvalidLengthQuery } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryUnfulfilledWorkerNoncesRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.InfererWeights = append(m.InfererWeights, &RegretInformedWeight{}) + if err := m.InfererWeights[len(m.InfererWeights)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryUnfulfilledWorkerNoncesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryUnfulfilledWorkerNoncesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ForecasterWeights", wireType) } - m.TopicId = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -22354,64 +25018,29 @@ func (m *QueryUnfulfilledWorkerNoncesRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { + if msglen < 0 { return ErrInvalidLengthQuery } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryUnfulfilledWorkerNoncesResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.ForecasterWeights = append(m.ForecasterWeights, &RegretInformedWeight{}) + if err := m.ForecasterWeights[len(m.ForecasterWeights)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryUnfulfilledWorkerNoncesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryUnfulfilledWorkerNoncesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Nonces", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ForecastImpliedInferences", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -22438,68 +25067,35 @@ func (m *QueryUnfulfilledWorkerNoncesResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Nonces == nil { - m.Nonces = &Nonces{} - } - if err := m.Nonces.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.ForecastImpliedInferences = append(m.ForecastImpliedInferences, &WorkerAttributedValue{}) + if err := m.ForecastImpliedInferences[len(m.ForecastImpliedInferences)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryInfererNetworkRegretRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InferenceBlockHeight", wireType) } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.InferenceBlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InferenceBlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryInfererNetworkRegretRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryInfererNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 6: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field LossBlockHeight", wireType) } - m.TopicId = 0 + m.LossBlockHeight = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -22509,14 +25105,14 @@ func (m *QueryInfererNetworkRegretRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift + m.LossBlockHeight |= int64(b&0x7F) << shift if b < 0x80 { break } } - case 2: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ActorId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ConfidenceIntervalRawPercentiles", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -22544,63 +25140,17 @@ func (m *QueryInfererNetworkRegretRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ActorId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { + var v github_com_allora_network_allora_chain_math.Dec + m.ConfidenceIntervalRawPercentiles = append(m.ConfidenceIntervalRawPercentiles, v) + if err := m.ConfidenceIntervalRawPercentiles[len(m.ConfidenceIntervalRawPercentiles)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryInfererNetworkRegretResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryInfererNetworkRegretResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryInfererNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ConfidenceIntervalValues", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -22610,25 +25160,25 @@ func (m *QueryInfererNetworkRegretResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Regret == nil { - m.Regret = &TimestampedValue{} - } - if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + var v github_com_allora_network_allora_chain_math.Dec + m.ConfidenceIntervalValues = append(m.ConfidenceIntervalValues, v) + if err := m.ConfidenceIntervalValues[len(m.ConfidenceIntervalValues)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -22653,7 +25203,7 @@ func (m *QueryInfererNetworkRegretResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error { +func (m *QueryIsWorkerRegisteredInTopicIdRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22676,10 +25226,10 @@ func (m *QueryForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryForecasterNetworkRegretRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryIsWorkerRegisteredInTopicIdRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryForecasterNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryIsWorkerRegisteredInTopicIdRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -22703,7 +25253,7 @@ func (m *QueryForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error { } case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Worker", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -22731,7 +25281,7 @@ func (m *QueryForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Worker = string(dAtA[iNdEx:postIndex]) + m.Address = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -22754,7 +25304,7 @@ func (m *QueryForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryForecasterNetworkRegretResponse) Unmarshal(dAtA []byte) error { +func (m *QueryIsWorkerRegisteredInTopicIdResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22777,17 +25327,17 @@ func (m *QueryForecasterNetworkRegretResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryForecasterNetworkRegretResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryIsWorkerRegisteredInTopicIdResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryForecasterNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryIsWorkerRegisteredInTopicIdResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsRegistered", wireType) } - var msglen int + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -22797,28 +25347,12 @@ func (m *QueryForecasterNetworkRegretResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Regret == nil { - m.Regret = &TimestampedValue{} - } - if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex + m.IsRegistered = bool(v != 0) default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -22840,7 +25374,7 @@ func (m *QueryForecasterNetworkRegretResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryOneInForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error { +func (m *QueryIsReputerRegisteredInTopicIdRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22863,10 +25397,10 @@ func (m *QueryOneInForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryOneInForecasterNetworkRegretRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryIsReputerRegisteredInTopicIdRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryOneInForecasterNetworkRegretRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryIsReputerRegisteredInTopicIdRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -22890,7 +25424,7 @@ func (m *QueryOneInForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error } case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Forecaster", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -22918,13 +25452,63 @@ func (m *QueryOneInForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error if postIndex > l { return io.ErrUnexpectedEOF } - m.Forecaster = string(dAtA[iNdEx:postIndex]) + m.Address = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Inferer", wireType) + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err } - var stringLen uint64 + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryIsReputerRegisteredInTopicIdResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryIsReputerRegisteredInTopicIdResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryIsReputerRegisteredInTopicIdResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsRegistered", wireType) + } + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -22934,24 +25518,12 @@ func (m *QueryOneInForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Inferer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex + m.IsRegistered = bool(v != 0) default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -22973,7 +25545,7 @@ func (m *QueryOneInForecasterNetworkRegretRequest) Unmarshal(dAtA []byte) error } return nil } -func (m *QueryOneInForecasterNetworkRegretResponse) Unmarshal(dAtA []byte) error { +func (m *QueryIsWhitelistAdminRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22996,17 +25568,17 @@ func (m *QueryOneInForecasterNetworkRegretResponse) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryOneInForecasterNetworkRegretResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryIsWhitelistAdminRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryOneInForecasterNetworkRegretResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryIsWhitelistAdminRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Regret", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -23016,27 +25588,23 @@ func (m *QueryOneInForecasterNetworkRegretResponse) Unmarshal(dAtA []byte) error } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Regret == nil { - m.Regret = &TimestampedValue{} - } - if err := m.Regret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Address = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -23059,7 +25627,7 @@ func (m *QueryOneInForecasterNetworkRegretResponse) Unmarshal(dAtA []byte) error } return nil } -func (m *QueryIsReputerNonceUnfulfilledRequest) Unmarshal(dAtA []byte) error { +func (m *QueryIsWhitelistAdminResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -23082,36 +25650,17 @@ func (m *QueryIsReputerNonceUnfulfilledRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryIsReputerNonceUnfulfilledRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryIsWhitelistAdminResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryIsReputerNonceUnfulfilledRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryIsWhitelistAdminResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) - } - m.TopicId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field IsAdmin", wireType) } - m.BlockHeight = 0 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -23121,11 +25670,12 @@ func (m *QueryIsReputerNonceUnfulfilledRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.BlockHeight |= int64(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } + m.IsAdmin = bool(v != 0) default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -23147,7 +25697,7 @@ func (m *QueryIsReputerNonceUnfulfilledRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryIsReputerNonceUnfulfilledResponse) Unmarshal(dAtA []byte) error { +func (m *QueryStakeRemovalsUpUntilBlockRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -23170,17 +25720,17 @@ func (m *QueryIsReputerNonceUnfulfilledResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryIsReputerNonceUnfulfilledResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryStakeRemovalsUpUntilBlockRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryIsReputerNonceUnfulfilledResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryStakeRemovalsUpUntilBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsReputerNonceUnfulfilled", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) } - var v int + m.BlockHeight = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -23190,12 +25740,11 @@ func (m *QueryIsReputerNonceUnfulfilledResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + m.BlockHeight |= int64(b&0x7F) << shift if b < 0x80 { break } } - m.IsReputerNonceUnfulfilled = bool(v != 0) default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -23217,7 +25766,7 @@ func (m *QueryIsReputerNonceUnfulfilledResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryNetworkInferencesAtBlockResponse) Unmarshal(dAtA []byte) error { +func (m *QueryStakeRemovalsUpUntilBlockResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -23240,15 +25789,15 @@ func (m *QueryNetworkInferencesAtBlockResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryNetworkInferencesAtBlockResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryStakeRemovalsUpUntilBlockResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryNetworkInferencesAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryStakeRemovalsUpUntilBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NetworkInferences", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Removals", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -23275,10 +25824,8 @@ func (m *QueryNetworkInferencesAtBlockResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.NetworkInferences == nil { - m.NetworkInferences = &ValueBundle{} - } - if err := m.NetworkInferences.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Removals = append(m.Removals, &StakeRemovalInfo{}) + if err := m.Removals[len(m.Removals)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -23303,7 +25850,7 @@ func (m *QueryNetworkInferencesAtBlockResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryLatestNetworkInferencesResponse) Unmarshal(dAtA []byte) error { +func (m *QueryDelegateStakeRemovalsUpUntilBlockRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -23326,229 +25873,17 @@ func (m *QueryLatestNetworkInferencesResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryLatestNetworkInferencesResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegateStakeRemovalsUpUntilBlockRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryLatestNetworkInferencesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegateStakeRemovalsUpUntilBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NetworkInferences", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.NetworkInferences == nil { - m.NetworkInferences = &ValueBundle{} - } - if err := m.NetworkInferences.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InfererWeights", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.InfererWeights = append(m.InfererWeights, &RegretInformedWeight{}) - if err := m.InfererWeights[len(m.InfererWeights)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ForecasterWeights", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ForecasterWeights = append(m.ForecasterWeights, &RegretInformedWeight{}) - if err := m.ForecasterWeights[len(m.ForecasterWeights)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ForecastImpliedInferences", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ForecastImpliedInferences = append(m.ForecastImpliedInferences, &WorkerAttributedValue{}) - if err := m.ForecastImpliedInferences[len(m.ForecastImpliedInferences)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field InferenceBlockHeight", wireType) - } - m.InferenceBlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.InferenceBlockHeight |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field LossBlockHeight", wireType) - } - m.LossBlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.LossBlockHeight |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConfidenceIntervalRawPercentiles", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var v github_com_allora_network_allora_chain_math.Dec - m.ConfidenceIntervalRawPercentiles = append(m.ConfidenceIntervalRawPercentiles, v) - if err := m.ConfidenceIntervalRawPercentiles[len(m.ConfidenceIntervalRawPercentiles)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConfidenceIntervalValues", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) } - var stringLen uint64 + m.BlockHeight = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -23558,28 +25893,11 @@ func (m *QueryLatestNetworkInferencesResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.BlockHeight |= int64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var v github_com_allora_network_allora_chain_math.Dec - m.ConfidenceIntervalValues = append(m.ConfidenceIntervalValues, v) - if err := m.ConfidenceIntervalValues[len(m.ConfidenceIntervalValues)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -23601,7 +25919,7 @@ func (m *QueryLatestNetworkInferencesResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryLatestAvailableNetworkInferencesResponse) Unmarshal(dAtA []byte) error { +func (m *QueryDelegateStakeRemovalsUpUntilBlockResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -23624,15 +25942,15 @@ func (m *QueryLatestAvailableNetworkInferencesResponse) Unmarshal(dAtA []byte) e fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryLatestAvailableNetworkInferencesResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegateStakeRemovalsUpUntilBlockResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryLatestAvailableNetworkInferencesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegateStakeRemovalsUpUntilBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NetworkInferences", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Removals", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -23659,139 +25977,66 @@ func (m *QueryLatestAvailableNetworkInferencesResponse) Unmarshal(dAtA []byte) e if postIndex > l { return io.ErrUnexpectedEOF } - if m.NetworkInferences == nil { - m.NetworkInferences = &ValueBundle{} - } - if err := m.NetworkInferences.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Removals = append(m.Removals, &DelegateStakeRemovalInfo{}) + if err := m.Removals[len(m.Removals)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InfererWeights", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.InfererWeights = append(m.InfererWeights, &RegretInformedWeight{}) - if err := m.InfererWeights[len(m.InfererWeights)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { return err } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ForecasterWeights", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthQuery } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.ForecasterWeights = append(m.ForecasterWeights, &RegretInformedWeight{}) - if err := m.ForecasterWeights[len(m.ForecasterWeights)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ForecastImpliedInferences", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryStakeRemovalInfoRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.ForecastImpliedInferences = append(m.ForecastImpliedInferences, &WorkerAttributedValue{}) - if err := m.ForecastImpliedInferences[len(m.ForecastImpliedInferences)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field InferenceBlockHeight", wireType) - } - m.InferenceBlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.InferenceBlockHeight |= int64(b&0x7F) << shift - if b < 0x80 { - break - } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - case 6: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryStakeRemovalInfoRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStakeRemovalInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field LossBlockHeight", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } - m.LossBlockHeight = 0 + m.TopicId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -23801,14 +26046,14 @@ func (m *QueryLatestAvailableNetworkInferencesResponse) Unmarshal(dAtA []byte) e } b := dAtA[iNdEx] iNdEx++ - m.LossBlockHeight |= int64(b&0x7F) << shift + m.TopicId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 7: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConfidenceIntervalRawPercentiles", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Reputer", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -23836,17 +26081,63 @@ func (m *QueryLatestAvailableNetworkInferencesResponse) Unmarshal(dAtA []byte) e if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_allora_network_allora_chain_math.Dec - m.ConfidenceIntervalRawPercentiles = append(m.ConfidenceIntervalRawPercentiles, v) - if err := m.ConfidenceIntervalRawPercentiles[len(m.ConfidenceIntervalRawPercentiles)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Reputer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { return err } - iNdEx = postIndex - case 8: + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryStakeRemovalInfoResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryStakeRemovalInfoResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStakeRemovalInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConfidenceIntervalValues", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Removal", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -23856,25 +26147,25 @@ func (m *QueryLatestAvailableNetworkInferencesResponse) Unmarshal(dAtA []byte) e } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_allora_network_allora_chain_math.Dec - m.ConfidenceIntervalValues = append(m.ConfidenceIntervalValues, v) - if err := m.ConfidenceIntervalValues[len(m.ConfidenceIntervalValues)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Removal == nil { + m.Removal = &StakeRemovalInfo{} + } + if err := m.Removal.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -23899,7 +26190,7 @@ func (m *QueryLatestAvailableNetworkInferencesResponse) Unmarshal(dAtA []byte) e } return nil } -func (m *QueryIsWorkerRegisteredInTopicIdRequest) Unmarshal(dAtA []byte) error { +func (m *QueryDelegateStakeRemovalInfoRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -23922,10 +26213,10 @@ func (m *QueryIsWorkerRegisteredInTopicIdRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryIsWorkerRegisteredInTopicIdRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegateStakeRemovalInfoRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryIsWorkerRegisteredInTopicIdRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegateStakeRemovalInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -23949,7 +26240,7 @@ func (m *QueryIsWorkerRegisteredInTopicIdRequest) Unmarshal(dAtA []byte) error { } case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Delegator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -23977,7 +26268,39 @@ func (m *QueryIsWorkerRegisteredInTopicIdRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Address = string(dAtA[iNdEx:postIndex]) + m.Delegator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reputer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reputer = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -24000,7 +26323,7 @@ func (m *QueryIsWorkerRegisteredInTopicIdRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryIsWorkerRegisteredInTopicIdResponse) Unmarshal(dAtA []byte) error { +func (m *QueryDelegateStakeRemovalInfoResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -24023,17 +26346,17 @@ func (m *QueryIsWorkerRegisteredInTopicIdResponse) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryIsWorkerRegisteredInTopicIdResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegateStakeRemovalInfoResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryIsWorkerRegisteredInTopicIdResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegateStakeRemovalInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsRegistered", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Removal", wireType) } - var v int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -24043,12 +26366,28 @@ func (m *QueryIsWorkerRegisteredInTopicIdResponse) Unmarshal(dAtA []byte) error } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.IsRegistered = bool(v != 0) + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Removal == nil { + m.Removal = &DelegateStakeRemovalInfo{} + } + if err := m.Removal.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -24070,7 +26409,7 @@ func (m *QueryIsWorkerRegisteredInTopicIdResponse) Unmarshal(dAtA []byte) error } return nil } -func (m *QueryIsReputerRegisteredInTopicIdRequest) Unmarshal(dAtA []byte) error { +func (m *QueryTopicLastWorkerCommitInfoRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -24093,10 +26432,10 @@ func (m *QueryIsReputerRegisteredInTopicIdRequest) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryIsReputerRegisteredInTopicIdRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTopicLastWorkerCommitInfoRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryIsReputerRegisteredInTopicIdRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTopicLastWorkerCommitInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -24118,38 +26457,6 @@ func (m *QueryIsReputerRegisteredInTopicIdRequest) Unmarshal(dAtA []byte) error break } } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -24171,7 +26478,7 @@ func (m *QueryIsReputerRegisteredInTopicIdRequest) Unmarshal(dAtA []byte) error } return nil } -func (m *QueryIsReputerRegisteredInTopicIdResponse) Unmarshal(dAtA []byte) error { +func (m *QueryTopicLastWorkerCommitInfoResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -24194,17 +26501,17 @@ func (m *QueryIsReputerRegisteredInTopicIdResponse) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryIsReputerRegisteredInTopicIdResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTopicLastWorkerCommitInfoResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryIsReputerRegisteredInTopicIdResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTopicLastWorkerCommitInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsRegistered", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastCommit", wireType) } - var v int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -24214,12 +26521,28 @@ func (m *QueryIsReputerRegisteredInTopicIdResponse) Unmarshal(dAtA []byte) error } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.IsRegistered = bool(v != 0) + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.LastCommit == nil { + m.LastCommit = &TimestampedActorNonce{} + } + if err := m.LastCommit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -24241,7 +26564,7 @@ func (m *QueryIsReputerRegisteredInTopicIdResponse) Unmarshal(dAtA []byte) error } return nil } -func (m *QueryIsWhitelistAdminRequest) Unmarshal(dAtA []byte) error { +func (m *QueryTopicLastReputerCommitInfoRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -24264,17 +26587,17 @@ func (m *QueryIsWhitelistAdminRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryIsWhitelistAdminRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTopicLastReputerCommitInfoRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryIsWhitelistAdminRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTopicLastReputerCommitInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } - var stringLen uint64 + m.TopicId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -24284,24 +26607,11 @@ func (m *QueryIsWhitelistAdminRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.TopicId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -24323,7 +26633,7 @@ func (m *QueryIsWhitelistAdminRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryIsWhitelistAdminResponse) Unmarshal(dAtA []byte) error { +func (m *QueryTopicLastReputerCommitInfoResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -24346,17 +26656,17 @@ func (m *QueryIsWhitelistAdminResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryIsWhitelistAdminResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTopicLastReputerCommitInfoResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryIsWhitelistAdminResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTopicLastReputerCommitInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsAdmin", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastCommit", wireType) } - var v int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -24366,12 +26676,28 @@ func (m *QueryIsWhitelistAdminResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.IsAdmin = bool(v != 0) + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.LastCommit == nil { + m.LastCommit = &TimestampedActorNonce{} + } + if err := m.LastCommit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -24393,7 +26719,7 @@ func (m *QueryIsWhitelistAdminResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryStakeRemovalsUpUntilBlockRequest) Unmarshal(dAtA []byte) error { +func (m *QueryTopicRewardNonceRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -24416,17 +26742,17 @@ func (m *QueryStakeRemovalsUpUntilBlockRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryStakeRemovalsUpUntilBlockRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTopicRewardNonceRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStakeRemovalsUpUntilBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTopicRewardNonceRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } - m.BlockHeight = 0 + m.TopicId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -24436,7 +26762,7 @@ func (m *QueryStakeRemovalsUpUntilBlockRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.BlockHeight |= int64(b&0x7F) << shift + m.TopicId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -24462,7 +26788,7 @@ func (m *QueryStakeRemovalsUpUntilBlockRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryStakeRemovalsUpUntilBlockResponse) Unmarshal(dAtA []byte) error { +func (m *QueryTopicRewardNonceResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -24485,17 +26811,17 @@ func (m *QueryStakeRemovalsUpUntilBlockResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryStakeRemovalsUpUntilBlockResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTopicRewardNonceResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStakeRemovalsUpUntilBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTopicRewardNonceResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Removals", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) } - var msglen int + m.Nonce = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -24505,26 +26831,11 @@ func (m *QueryStakeRemovalsUpUntilBlockResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Nonce |= int64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Removals = append(m.Removals, &StakeRemovalInfo{}) - if err := m.Removals[len(m.Removals)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -24546,7 +26857,7 @@ func (m *QueryStakeRemovalsUpUntilBlockResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegateStakeRemovalsUpUntilBlockRequest) Unmarshal(dAtA []byte) error { +func (m *QueryReputerLossBundlesAtBlockRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -24569,13 +26880,32 @@ func (m *QueryDelegateStakeRemovalsUpUntilBlockRequest) Unmarshal(dAtA []byte) e fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegateStakeRemovalsUpUntilBlockRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryReputerLossBundlesAtBlockRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegateStakeRemovalsUpUntilBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryReputerLossBundlesAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + m.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) } @@ -24615,7 +26945,7 @@ func (m *QueryDelegateStakeRemovalsUpUntilBlockRequest) Unmarshal(dAtA []byte) e } return nil } -func (m *QueryDelegateStakeRemovalsUpUntilBlockResponse) Unmarshal(dAtA []byte) error { +func (m *QueryReputerLossBundlesAtBlockResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -24638,15 +26968,15 @@ func (m *QueryDelegateStakeRemovalsUpUntilBlockResponse) Unmarshal(dAtA []byte) fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegateStakeRemovalsUpUntilBlockResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryReputerLossBundlesAtBlockResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegateStakeRemovalsUpUntilBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryReputerLossBundlesAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Removals", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field LossBundles", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -24673,8 +27003,10 @@ func (m *QueryDelegateStakeRemovalsUpUntilBlockResponse) Unmarshal(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - m.Removals = append(m.Removals, &DelegateStakeRemovalInfo{}) - if err := m.Removals[len(m.Removals)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.LossBundles == nil { + m.LossBundles = &ReputerValueBundles{} + } + if err := m.LossBundles.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -24699,7 +27031,7 @@ func (m *QueryDelegateStakeRemovalsUpUntilBlockResponse) Unmarshal(dAtA []byte) } return nil } -func (m *QueryStakeRemovalInfoRequest) Unmarshal(dAtA []byte) error { +func (m *QueryStakeReputerAuthorityRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -24722,10 +27054,10 @@ func (m *QueryStakeRemovalInfoRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryStakeRemovalInfoRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryStakeReputerAuthorityRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStakeRemovalInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryStakeReputerAuthorityRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -24800,7 +27132,7 @@ func (m *QueryStakeRemovalInfoRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryStakeRemovalInfoResponse) Unmarshal(dAtA []byte) error { +func (m *QueryStakeReputerAuthorityResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -24823,17 +27155,17 @@ func (m *QueryStakeRemovalInfoResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryStakeRemovalInfoResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryStakeReputerAuthorityResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStakeRemovalInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryStakeReputerAuthorityResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Removal", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -24843,25 +27175,23 @@ func (m *QueryStakeRemovalInfoResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Removal == nil { - m.Removal = &StakeRemovalInfo{} - } - if err := m.Removal.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Authority.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -24886,7 +27216,7 @@ func (m *QueryStakeRemovalInfoResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegateStakeRemovalInfoRequest) Unmarshal(dAtA []byte) error { +func (m *QueryDelegateStakePlacementRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -24909,10 +27239,10 @@ func (m *QueryDelegateStakeRemovalInfoRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegateStakeRemovalInfoRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegateStakePlacementRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegateStakeRemovalInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegateStakePlacementRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -24968,7 +27298,7 @@ func (m *QueryDelegateStakeRemovalInfoRequest) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Reputer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -24996,7 +27326,7 @@ func (m *QueryDelegateStakeRemovalInfoRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Reputer = string(dAtA[iNdEx:postIndex]) + m.Target = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -25019,7 +27349,7 @@ func (m *QueryDelegateStakeRemovalInfoRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegateStakeRemovalInfoResponse) Unmarshal(dAtA []byte) error { +func (m *QueryDelegateStakePlacementResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25042,15 +27372,15 @@ func (m *QueryDelegateStakeRemovalInfoResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegateStakeRemovalInfoResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegateStakePlacementResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegateStakeRemovalInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegateStakePlacementResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Removal", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorInfo", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -25077,10 +27407,10 @@ func (m *QueryDelegateStakeRemovalInfoResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Removal == nil { - m.Removal = &DelegateStakeRemovalInfo{} + if m.DelegatorInfo == nil { + m.DelegatorInfo = &DelegatorInfo{} } - if err := m.Removal.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.DelegatorInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -25105,7 +27435,7 @@ func (m *QueryDelegateStakeRemovalInfoResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTopicLastWorkerCommitInfoRequest) Unmarshal(dAtA []byte) error { +func (m *QueryDelegateStakeUponReputerRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25128,10 +27458,10 @@ func (m *QueryTopicLastWorkerCommitInfoRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTopicLastWorkerCommitInfoRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegateStakeUponReputerRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTopicLastWorkerCommitInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegateStakeUponReputerRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -25153,6 +27483,38 @@ func (m *QueryTopicLastWorkerCommitInfoRequest) Unmarshal(dAtA []byte) error { break } } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Target = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -25174,7 +27536,7 @@ func (m *QueryTopicLastWorkerCommitInfoRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTopicLastWorkerCommitInfoResponse) Unmarshal(dAtA []byte) error { +func (m *QueryDelegateStakeUponReputerResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25197,17 +27559,17 @@ func (m *QueryTopicLastWorkerCommitInfoResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTopicLastWorkerCommitInfoResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegateStakeUponReputerResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTopicLastWorkerCommitInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegateStakeUponReputerResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastCommit", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Stake", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -25217,25 +27579,23 @@ func (m *QueryTopicLastWorkerCommitInfoResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if m.LastCommit == nil { - m.LastCommit = &TimestampedActorNonce{} - } - if err := m.LastCommit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Stake.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -25260,7 +27620,7 @@ func (m *QueryTopicLastWorkerCommitInfoResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTopicLastReputerCommitInfoRequest) Unmarshal(dAtA []byte) error { +func (m *QueryDelegateRewardPerShareRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25283,10 +27643,10 @@ func (m *QueryTopicLastReputerCommitInfoRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTopicLastReputerCommitInfoRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegateRewardPerShareRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTopicLastReputerCommitInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegateRewardPerShareRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -25308,6 +27668,38 @@ func (m *QueryTopicLastReputerCommitInfoRequest) Unmarshal(dAtA []byte) error { break } } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reputer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reputer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -25329,7 +27721,7 @@ func (m *QueryTopicLastReputerCommitInfoRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTopicLastReputerCommitInfoResponse) Unmarshal(dAtA []byte) error { +func (m *QueryDelegateRewardPerShareResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25352,17 +27744,17 @@ func (m *QueryTopicLastReputerCommitInfoResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTopicLastReputerCommitInfoResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegateRewardPerShareResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTopicLastReputerCommitInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegateRewardPerShareResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastCommit", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RewardPerShare", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -25372,25 +27764,23 @@ func (m *QueryTopicLastReputerCommitInfoResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if m.LastCommit == nil { - m.LastCommit = &TimestampedActorNonce{} - } - if err := m.LastCommit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.RewardPerShare.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -25415,7 +27805,7 @@ func (m *QueryTopicLastReputerCommitInfoResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTopicRewardNonceRequest) Unmarshal(dAtA []byte) error { +func (m *QueryStakeRemovalForReputerAndTopicIdRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25438,13 +27828,45 @@ func (m *QueryTopicRewardNonceRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTopicRewardNonceRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryStakeRemovalForReputerAndTopicIdRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTopicRewardNonceRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryStakeRemovalForReputerAndTopicIdRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reputer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reputer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } @@ -25484,7 +27906,7 @@ func (m *QueryTopicRewardNonceRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTopicRewardNonceResponse) Unmarshal(dAtA []byte) error { +func (m *QueryStakeRemovalForReputerAndTopicIdResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25507,17 +27929,17 @@ func (m *QueryTopicRewardNonceResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTopicRewardNonceResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryStakeRemovalForReputerAndTopicIdResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTopicRewardNonceResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryStakeRemovalForReputerAndTopicIdResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StakeRemovalInfo", wireType) } - m.Nonce = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -25527,11 +27949,28 @@ func (m *QueryTopicRewardNonceResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Nonce |= int64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.StakeRemovalInfo == nil { + m.StakeRemovalInfo = &StakeRemovalInfo{} + } + if err := m.StakeRemovalInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -25553,7 +27992,7 @@ func (m *QueryTopicRewardNonceResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryReputerLossBundlesAtBlockRequest) Unmarshal(dAtA []byte) error { +func (m *QueryDelegateStakeRemovalRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25576,13 +28015,32 @@ func (m *QueryReputerLossBundlesAtBlockRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryReputerLossBundlesAtBlockRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegateStakeRemovalRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryReputerLossBundlesAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegateStakeRemovalRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + } + m.BlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } @@ -25601,11 +28059,11 @@ func (m *QueryReputerLossBundlesAtBlockRequest) Unmarshal(dAtA []byte) error { break } } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Delegator", wireType) } - m.BlockHeight = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -25615,11 +28073,56 @@ func (m *QueryReputerLossBundlesAtBlockRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.BlockHeight |= int64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Delegator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reputer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reputer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -25641,7 +28144,7 @@ func (m *QueryReputerLossBundlesAtBlockRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryReputerLossBundlesAtBlockResponse) Unmarshal(dAtA []byte) error { +func (m *QueryDelegateStakeRemovalResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25664,15 +28167,15 @@ func (m *QueryReputerLossBundlesAtBlockResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryReputerLossBundlesAtBlockResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegateStakeRemovalResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryReputerLossBundlesAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegateStakeRemovalResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LossBundles", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StakeRemovalInfo", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -25699,10 +28202,10 @@ func (m *QueryReputerLossBundlesAtBlockResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.LossBundles == nil { - m.LossBundles = &ReputerValueBundles{} + if m.StakeRemovalInfo == nil { + m.StakeRemovalInfo = &DelegateStakeRemovalInfo{} } - if err := m.LossBundles.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.StakeRemovalInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -25727,7 +28230,7 @@ func (m *QueryReputerLossBundlesAtBlockResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryStakeReputerAuthorityRequest) Unmarshal(dAtA []byte) error { +func (m *QueryPreviousTopicWeightRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25750,10 +28253,10 @@ func (m *QueryStakeReputerAuthorityRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryStakeReputerAuthorityRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryPreviousTopicWeightRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStakeReputerAuthorityRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryPreviousTopicWeightRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -25775,38 +28278,6 @@ func (m *QueryStakeReputerAuthorityRequest) Unmarshal(dAtA []byte) error { break } } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Reputer", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Reputer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -25828,7 +28299,7 @@ func (m *QueryStakeReputerAuthorityRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryStakeReputerAuthorityResponse) Unmarshal(dAtA []byte) error { +func (m *QueryPreviousTopicWeightResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25851,15 +28322,15 @@ func (m *QueryStakeReputerAuthorityResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryStakeReputerAuthorityResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryPreviousTopicWeightResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStakeReputerAuthorityResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryPreviousTopicWeightResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -25887,10 +28358,30 @@ func (m *QueryStakeReputerAuthorityResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Authority.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Weight.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NotFound", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.NotFound = bool(v != 0) default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -25912,7 +28403,7 @@ func (m *QueryStakeReputerAuthorityResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegateStakePlacementRequest) Unmarshal(dAtA []byte) error { +func (m *QueryTopicExistsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25935,10 +28426,10 @@ func (m *QueryDelegateStakePlacementRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegateStakePlacementRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTopicExistsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegateStakePlacementRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTopicExistsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -25958,72 +28449,8 @@ func (m *QueryDelegateStakePlacementRequest) Unmarshal(dAtA []byte) error { m.TopicId |= uint64(b&0x7F) << shift if b < 0x80 { break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Delegator", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Delegator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF + } } - m.Target = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -26045,7 +28472,7 @@ func (m *QueryDelegateStakePlacementRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegateStakePlacementResponse) Unmarshal(dAtA []byte) error { +func (m *QueryTopicExistsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26068,17 +28495,17 @@ func (m *QueryDelegateStakePlacementResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegateStakePlacementResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTopicExistsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegateStakePlacementResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTopicExistsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DelegatorInfo", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Exists", wireType) } - var msglen int + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -26088,28 +28515,12 @@ func (m *QueryDelegateStakePlacementResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.DelegatorInfo == nil { - m.DelegatorInfo = &DelegatorInfo{} - } - if err := m.DelegatorInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex + m.Exists = bool(v != 0) default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -26131,7 +28542,7 @@ func (m *QueryDelegateStakePlacementResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegateStakeUponReputerRequest) Unmarshal(dAtA []byte) error { +func (m *QueryIsTopicActiveRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26154,10 +28565,10 @@ func (m *QueryDelegateStakeUponReputerRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegateStakeUponReputerRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryIsTopicActiveRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegateStakeUponReputerRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryIsTopicActiveRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -26179,38 +28590,6 @@ func (m *QueryDelegateStakeUponReputerRequest) Unmarshal(dAtA []byte) error { break } } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Target = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -26232,7 +28611,7 @@ func (m *QueryDelegateStakeUponReputerRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegateStakeUponReputerResponse) Unmarshal(dAtA []byte) error { +func (m *QueryIsTopicActiveResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26255,17 +28634,17 @@ func (m *QueryDelegateStakeUponReputerResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegateStakeUponReputerResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryIsTopicActiveResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegateStakeUponReputerResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryIsTopicActiveResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Stake", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsActive", wireType) } - var stringLen uint64 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -26275,26 +28654,12 @@ func (m *QueryDelegateStakeUponReputerResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Stake.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex + m.IsActive = bool(v != 0) default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -26316,7 +28681,7 @@ func (m *QueryDelegateStakeUponReputerResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegateRewardPerShareRequest) Unmarshal(dAtA []byte) error { +func (m *QueryTopicFeeRevenueRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26339,10 +28704,10 @@ func (m *QueryDelegateRewardPerShareRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegateRewardPerShareRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTopicFeeRevenueRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegateRewardPerShareRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTopicFeeRevenueRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -26364,38 +28729,6 @@ func (m *QueryDelegateRewardPerShareRequest) Unmarshal(dAtA []byte) error { break } } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Reputer", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Reputer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -26417,7 +28750,7 @@ func (m *QueryDelegateRewardPerShareRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegateRewardPerShareResponse) Unmarshal(dAtA []byte) error { +func (m *QueryTopicFeeRevenueResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26440,15 +28773,15 @@ func (m *QueryDelegateRewardPerShareResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegateRewardPerShareResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTopicFeeRevenueResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegateRewardPerShareResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTopicFeeRevenueResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RewardPerShare", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FeeRevenue", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -26476,7 +28809,7 @@ func (m *QueryDelegateRewardPerShareResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.RewardPerShare.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.FeeRevenue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -26501,7 +28834,7 @@ func (m *QueryDelegateRewardPerShareResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryStakeRemovalForReputerAndTopicIdRequest) Unmarshal(dAtA []byte) error { +func (m *QueryRewardableTopicsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26524,63 +28857,12 @@ func (m *QueryStakeRemovalForReputerAndTopicIdRequest) Unmarshal(dAtA []byte) er fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryStakeRemovalForReputerAndTopicIdRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryRewardableTopicsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStakeRemovalForReputerAndTopicIdRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryRewardableTopicsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Reputer", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Reputer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) - } - m.TopicId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TopicId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -26602,7 +28884,7 @@ func (m *QueryStakeRemovalForReputerAndTopicIdRequest) Unmarshal(dAtA []byte) er } return nil } -func (m *QueryStakeRemovalForReputerAndTopicIdResponse) Unmarshal(dAtA []byte) error { +func (m *QueryRewardableTopicsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26610,63 +28892,103 @@ func (m *QueryStakeRemovalForReputerAndTopicIdResponse) Unmarshal(dAtA []byte) e var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryStakeRemovalForReputerAndTopicIdResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStakeRemovalForReputerAndTopicIdResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StakeRemovalInfo", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery + return ErrIntOverflowQuery } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - if m.StakeRemovalInfo == nil { - m.StakeRemovalInfo = &StakeRemovalInfo{} + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - if err := m.StakeRemovalInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryRewardableTopicsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryRewardableTopicsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.RewardableTopicIds = append(m.RewardableTopicIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.RewardableTopicIds) == 0 { + m.RewardableTopicIds = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.RewardableTopicIds = append(m.RewardableTopicIds, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field RewardableTopicIds", wireType) } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -26688,7 +29010,7 @@ func (m *QueryStakeRemovalForReputerAndTopicIdResponse) Unmarshal(dAtA []byte) e } return nil } -func (m *QueryDelegateStakeRemovalRequest) Unmarshal(dAtA []byte) error { +func (m *QueryGetInfererScoreEmaRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26711,32 +29033,13 @@ func (m *QueryDelegateStakeRemovalRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegateStakeRemovalRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryGetInfererScoreEmaRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegateStakeRemovalRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryGetInfererScoreEmaRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) - } - m.BlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.BlockHeight |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) } @@ -26755,41 +29058,9 @@ func (m *QueryDelegateStakeRemovalRequest) Unmarshal(dAtA []byte) error { break } } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Delegator", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Delegator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Reputer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Inferer", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -26817,7 +29088,7 @@ func (m *QueryDelegateStakeRemovalRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Reputer = string(dAtA[iNdEx:postIndex]) + m.Inferer = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -26840,7 +29111,7 @@ func (m *QueryDelegateStakeRemovalRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegateStakeRemovalResponse) Unmarshal(dAtA []byte) error { +func (m *QueryGetInfererScoreEmaResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26863,15 +29134,15 @@ func (m *QueryDelegateStakeRemovalResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegateStakeRemovalResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryGetInfererScoreEmaResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegateStakeRemovalResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryGetInfererScoreEmaResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StakeRemovalInfo", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Score", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -26898,10 +29169,10 @@ func (m *QueryDelegateStakeRemovalResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.StakeRemovalInfo == nil { - m.StakeRemovalInfo = &DelegateStakeRemovalInfo{} + if m.Score == nil { + m.Score = &Score{} } - if err := m.StakeRemovalInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Score.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -26926,7 +29197,7 @@ func (m *QueryDelegateStakeRemovalResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryPreviousTopicWeightRequest) Unmarshal(dAtA []byte) error { +func (m *QueryGetForecasterScoreEmaRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26949,10 +29220,10 @@ func (m *QueryPreviousTopicWeightRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryPreviousTopicWeightRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryGetForecasterScoreEmaRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryPreviousTopicWeightRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryGetForecasterScoreEmaRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -26974,6 +29245,38 @@ func (m *QueryPreviousTopicWeightRequest) Unmarshal(dAtA []byte) error { break } } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Forecaster", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Forecaster = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -26995,7 +29298,7 @@ func (m *QueryPreviousTopicWeightRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryPreviousTopicWeightResponse) Unmarshal(dAtA []byte) error { +func (m *QueryGetForecasterScoreEmaResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27018,51 +29321,17 @@ func (m *QueryPreviousTopicWeightResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryPreviousTopicWeightResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryGetForecasterScoreEmaResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryPreviousTopicWeightResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryGetForecasterScoreEmaResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Weight.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NotFound", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Score", wireType) } - var v int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -27072,12 +29341,28 @@ func (m *QueryPreviousTopicWeightResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.NotFound = bool(v != 0) + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Score == nil { + m.Score = &Score{} + } + if err := m.Score.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -27099,7 +29384,7 @@ func (m *QueryPreviousTopicWeightResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTopicExistsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryGetReputerScoreEmaRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27122,10 +29407,10 @@ func (m *QueryTopicExistsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTopicExistsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryGetReputerScoreEmaRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTopicExistsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryGetReputerScoreEmaRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -27147,6 +29432,38 @@ func (m *QueryTopicExistsRequest) Unmarshal(dAtA []byte) error { break } } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reputer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reputer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -27168,7 +29485,7 @@ func (m *QueryTopicExistsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTopicExistsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryGetReputerScoreEmaResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27191,17 +29508,17 @@ func (m *QueryTopicExistsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTopicExistsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryGetReputerScoreEmaResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTopicExistsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryGetReputerScoreEmaResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Exists", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Score", wireType) } - var v int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -27211,12 +29528,28 @@ func (m *QueryTopicExistsResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.Exists = bool(v != 0) + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Score == nil { + m.Score = &Score{} + } + if err := m.Score.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -27238,7 +29571,7 @@ func (m *QueryTopicExistsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryIsTopicActiveRequest) Unmarshal(dAtA []byte) error { +func (m *QueryInferenceScoresUntilBlockRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27261,10 +29594,10 @@ func (m *QueryIsTopicActiveRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryIsTopicActiveRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryInferenceScoresUntilBlockRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryIsTopicActiveRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryInferenceScoresUntilBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -27286,6 +29619,25 @@ func (m *QueryIsTopicActiveRequest) Unmarshal(dAtA []byte) error { break } } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + } + m.BlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -27307,7 +29659,7 @@ func (m *QueryIsTopicActiveRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryIsTopicActiveResponse) Unmarshal(dAtA []byte) error { +func (m *QueryInferenceScoresUntilBlockResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27330,17 +29682,17 @@ func (m *QueryIsTopicActiveResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryIsTopicActiveResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryInferenceScoresUntilBlockResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryIsTopicActiveResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryInferenceScoresUntilBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsActive", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Scores", wireType) } - var v int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -27350,12 +29702,26 @@ func (m *QueryIsTopicActiveResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.IsActive = bool(v != 0) + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Scores = append(m.Scores, &Score{}) + if err := m.Scores[len(m.Scores)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -27377,7 +29743,7 @@ func (m *QueryIsTopicActiveResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTopicFeeRevenueRequest) Unmarshal(dAtA []byte) error { +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27400,10 +29766,10 @@ func (m *QueryTopicFeeRevenueRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTopicFeeRevenueRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryGetPreviousTopicQuantileForecasterScoreEmaRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTopicFeeRevenueRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryGetPreviousTopicQuantileForecasterScoreEmaRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -27446,7 +29812,7 @@ func (m *QueryTopicFeeRevenueRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTopicFeeRevenueResponse) Unmarshal(dAtA []byte) error { +func (m *QueryGetPreviousTopicQuantileForecasterScoreEmaResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27469,15 +29835,15 @@ func (m *QueryTopicFeeRevenueResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTopicFeeRevenueResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryGetPreviousTopicQuantileForecasterScoreEmaResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTopicFeeRevenueResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryGetPreviousTopicQuantileForecasterScoreEmaResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FeeRevenue", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -27505,7 +29871,7 @@ func (m *QueryTopicFeeRevenueResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.FeeRevenue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -27530,7 +29896,7 @@ func (m *QueryTopicFeeRevenueResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryRewardableTopicsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27553,12 +29919,31 @@ func (m *QueryRewardableTopicsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryRewardableTopicsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryGetPreviousTopicQuantileInfererScoreEmaRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryRewardableTopicsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryGetPreviousTopicQuantileInfererScoreEmaRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType) + } + m.TopicId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TopicId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -27580,7 +29965,7 @@ func (m *QueryRewardableTopicsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryRewardableTopicsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryGetPreviousTopicQuantileInfererScoreEmaResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27603,88 +29988,46 @@ func (m *QueryRewardableTopicsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryRewardableTopicsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryGetPreviousTopicQuantileInfererScoreEmaResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryRewardableTopicsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryGetPreviousTopicQuantileInfererScoreEmaResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType == 0 { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.RewardableTopicIds = append(m.RewardableTopicIds, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var elementCount int - var count int - for _, integer := range dAtA[iNdEx:postIndex] { - if integer < 128 { - count++ - } - } - elementCount = count - if elementCount != 0 && len(m.RewardableTopicIds) == 0 { - m.RewardableTopicIds = make([]uint64, 0, elementCount) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.RewardableTopicIds = append(m.RewardableTopicIds, v) + if iNdEx >= l { + return io.ErrUnexpectedEOF } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field RewardableTopicIds", wireType) + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF } + if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -27706,7 +30049,7 @@ func (m *QueryRewardableTopicsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryGetInfererScoreEmaRequest) Unmarshal(dAtA []byte) error { +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27729,10 +30072,10 @@ func (m *QueryGetInfererScoreEmaRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryGetInfererScoreEmaRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryGetPreviousTopicQuantileReputerScoreEmaRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetInfererScoreEmaRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryGetPreviousTopicQuantileReputerScoreEmaRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -27754,38 +30097,6 @@ func (m *QueryGetInfererScoreEmaRequest) Unmarshal(dAtA []byte) error { break } } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Inferer", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Inferer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -27807,7 +30118,7 @@ func (m *QueryGetInfererScoreEmaRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryGetInfererScoreEmaResponse) Unmarshal(dAtA []byte) error { +func (m *QueryGetPreviousTopicQuantileReputerScoreEmaResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27830,17 +30141,17 @@ func (m *QueryGetInfererScoreEmaResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryGetInfererScoreEmaResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryGetPreviousTopicQuantileReputerScoreEmaResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetInfererScoreEmaResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryGetPreviousTopicQuantileReputerScoreEmaResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Score", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -27850,25 +30161,23 @@ func (m *QueryGetInfererScoreEmaResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Score == nil { - m.Score = &Score{} - } - if err := m.Score.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -27893,7 +30202,7 @@ func (m *QueryGetInfererScoreEmaResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryGetForecasterScoreEmaRequest) Unmarshal(dAtA []byte) error { +func (m *QueryWorkerInferenceScoresAtBlockRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27916,10 +30225,10 @@ func (m *QueryGetForecasterScoreEmaRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryGetForecasterScoreEmaRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetForecasterScoreEmaRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -27942,10 +30251,10 @@ func (m *QueryGetForecasterScoreEmaRequest) Unmarshal(dAtA []byte) error { } } case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Forecaster", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) } - var stringLen uint64 + m.BlockHeight = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -27955,24 +30264,11 @@ func (m *QueryGetForecasterScoreEmaRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.BlockHeight |= int64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Forecaster = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -27994,7 +30290,7 @@ func (m *QueryGetForecasterScoreEmaRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryGetForecasterScoreEmaResponse) Unmarshal(dAtA []byte) error { +func (m *QueryWorkerInferenceScoresAtBlockResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28017,15 +30313,15 @@ func (m *QueryGetForecasterScoreEmaResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryGetForecasterScoreEmaResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetForecasterScoreEmaResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Score", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Scores", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -28052,10 +30348,10 @@ func (m *QueryGetForecasterScoreEmaResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Score == nil { - m.Score = &Score{} + if m.Scores == nil { + m.Scores = &Scores{} } - if err := m.Score.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Scores.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -28080,7 +30376,7 @@ func (m *QueryGetForecasterScoreEmaResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryGetReputerScoreEmaRequest) Unmarshal(dAtA []byte) error { +func (m *QueryCurrentLowestInfererScoreRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28103,10 +30399,10 @@ func (m *QueryGetReputerScoreEmaRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryGetReputerScoreEmaRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryCurrentLowestInfererScoreRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetReputerScoreEmaRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryCurrentLowestInfererScoreRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -28128,38 +30424,6 @@ func (m *QueryGetReputerScoreEmaRequest) Unmarshal(dAtA []byte) error { break } } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Reputer", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Reputer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -28181,7 +30445,7 @@ func (m *QueryGetReputerScoreEmaRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryGetReputerScoreEmaResponse) Unmarshal(dAtA []byte) error { +func (m *QueryCurrentLowestInfererScoreResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28204,10 +30468,10 @@ func (m *QueryGetReputerScoreEmaResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryGetReputerScoreEmaResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryCurrentLowestInfererScoreResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetReputerScoreEmaResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryCurrentLowestInfererScoreResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -28267,7 +30531,7 @@ func (m *QueryGetReputerScoreEmaResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryInferenceScoresUntilBlockRequest) Unmarshal(dAtA []byte) error { +func (m *QueryForecastScoresUntilBlockRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28290,10 +30554,10 @@ func (m *QueryInferenceScoresUntilBlockRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryInferenceScoresUntilBlockRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryForecastScoresUntilBlockRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryInferenceScoresUntilBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryForecastScoresUntilBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -28355,7 +30619,7 @@ func (m *QueryInferenceScoresUntilBlockRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryInferenceScoresUntilBlockResponse) Unmarshal(dAtA []byte) error { +func (m *QueryForecastScoresUntilBlockResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28378,10 +30642,10 @@ func (m *QueryInferenceScoresUntilBlockResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryInferenceScoresUntilBlockResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryForecastScoresUntilBlockResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryInferenceScoresUntilBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryForecastScoresUntilBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -28439,7 +30703,7 @@ func (m *QueryInferenceScoresUntilBlockResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryWorkerInferenceScoresAtBlockRequest) Unmarshal(dAtA []byte) error { +func (m *QueryWorkerForecastScoresAtBlockRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28462,10 +30726,10 @@ func (m *QueryWorkerInferenceScoresAtBlockRequest) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -28527,7 +30791,7 @@ func (m *QueryWorkerInferenceScoresAtBlockRequest) Unmarshal(dAtA []byte) error } return nil } -func (m *QueryWorkerInferenceScoresAtBlockResponse) Unmarshal(dAtA []byte) error { +func (m *QueryWorkerForecastScoresAtBlockResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28550,10 +30814,10 @@ func (m *QueryWorkerInferenceScoresAtBlockResponse) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryWorkerInferenceScoresAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -28613,7 +30877,7 @@ func (m *QueryWorkerInferenceScoresAtBlockResponse) Unmarshal(dAtA []byte) error } return nil } -func (m *QueryForecastScoresUntilBlockRequest) Unmarshal(dAtA []byte) error { +func (m *QueryCurrentLowestForecasterScoreRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28636,10 +30900,10 @@ func (m *QueryForecastScoresUntilBlockRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryForecastScoresUntilBlockRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryCurrentLowestForecasterScoreRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryForecastScoresUntilBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryCurrentLowestForecasterScoreRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -28661,25 +30925,6 @@ func (m *QueryForecastScoresUntilBlockRequest) Unmarshal(dAtA []byte) error { break } } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) - } - m.BlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.BlockHeight |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -28701,7 +30946,7 @@ func (m *QueryForecastScoresUntilBlockRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryForecastScoresUntilBlockResponse) Unmarshal(dAtA []byte) error { +func (m *QueryCurrentLowestForecasterScoreResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28724,15 +30969,15 @@ func (m *QueryForecastScoresUntilBlockResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryForecastScoresUntilBlockResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryCurrentLowestForecasterScoreResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryForecastScoresUntilBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryCurrentLowestForecasterScoreResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Scores", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Score", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -28759,8 +31004,10 @@ func (m *QueryForecastScoresUntilBlockResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Scores = append(m.Scores, &Score{}) - if err := m.Scores[len(m.Scores)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Score == nil { + m.Score = &Score{} + } + if err := m.Score.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -28785,7 +31032,7 @@ func (m *QueryForecastScoresUntilBlockResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryWorkerForecastScoresAtBlockRequest) Unmarshal(dAtA []byte) error { +func (m *QueryReputersScoresAtBlockRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28808,10 +31055,10 @@ func (m *QueryWorkerForecastScoresAtBlockRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryReputersScoresAtBlockRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryReputersScoresAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -28873,7 +31120,7 @@ func (m *QueryWorkerForecastScoresAtBlockRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryWorkerForecastScoresAtBlockResponse) Unmarshal(dAtA []byte) error { +func (m *QueryReputersScoresAtBlockResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28896,10 +31143,10 @@ func (m *QueryWorkerForecastScoresAtBlockResponse) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryReputersScoresAtBlockResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryWorkerForecastScoresAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryReputersScoresAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -28959,7 +31206,7 @@ func (m *QueryWorkerForecastScoresAtBlockResponse) Unmarshal(dAtA []byte) error } return nil } -func (m *QueryReputersScoresAtBlockRequest) Unmarshal(dAtA []byte) error { +func (m *QueryCurrentLowestReputerScoreRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28982,10 +31229,10 @@ func (m *QueryReputersScoresAtBlockRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryReputersScoresAtBlockRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryCurrentLowestReputerScoreRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryReputersScoresAtBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryCurrentLowestReputerScoreRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -29007,25 +31254,6 @@ func (m *QueryReputersScoresAtBlockRequest) Unmarshal(dAtA []byte) error { break } } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) - } - m.BlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.BlockHeight |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -29047,7 +31275,7 @@ func (m *QueryReputersScoresAtBlockRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryReputersScoresAtBlockResponse) Unmarshal(dAtA []byte) error { +func (m *QueryCurrentLowestReputerScoreResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -29070,15 +31298,15 @@ func (m *QueryReputersScoresAtBlockResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryReputersScoresAtBlockResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryCurrentLowestReputerScoreResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryReputersScoresAtBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryCurrentLowestReputerScoreResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Scores", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Score", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -29105,10 +31333,10 @@ func (m *QueryReputersScoresAtBlockResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Scores == nil { - m.Scores = &Scores{} + if m.Score == nil { + m.Score = &Score{} } - if err := m.Scores.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Score.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/x/emissions/types/query.pb.gw.go b/x/emissions/types/query.pb.gw.go index 72396c249..c5e8ef697 100644 --- a/x/emissions/types/query.pb.gw.go +++ b/x/emissions/types/query.pb.gw.go @@ -3615,6 +3615,168 @@ func local_request_Query_GetInferenceScoresUntilBlock_0(ctx context.Context, mar } +func request_Query_GetPreviousTopicQuantileForecasterScoreEma_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryGetPreviousTopicQuantileForecasterScoreEmaRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["topic_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "topic_id") + } + + protoReq.TopicId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "topic_id", err) + } + + msg, err := client.GetPreviousTopicQuantileForecasterScoreEma(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_GetPreviousTopicQuantileForecasterScoreEma_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryGetPreviousTopicQuantileForecasterScoreEmaRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["topic_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "topic_id") + } + + protoReq.TopicId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "topic_id", err) + } + + msg, err := server.GetPreviousTopicQuantileForecasterScoreEma(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_GetPreviousTopicQuantileInfererScoreEma_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryGetPreviousTopicQuantileInfererScoreEmaRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["topic_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "topic_id") + } + + protoReq.TopicId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "topic_id", err) + } + + msg, err := client.GetPreviousTopicQuantileInfererScoreEma(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_GetPreviousTopicQuantileInfererScoreEma_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryGetPreviousTopicQuantileInfererScoreEmaRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["topic_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "topic_id") + } + + protoReq.TopicId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "topic_id", err) + } + + msg, err := server.GetPreviousTopicQuantileInfererScoreEma(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_GetPreviousTopicQuantileReputerScoreEma_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryGetPreviousTopicQuantileReputerScoreEmaRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["topic_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "topic_id") + } + + protoReq.TopicId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "topic_id", err) + } + + msg, err := client.GetPreviousTopicQuantileReputerScoreEma(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_GetPreviousTopicQuantileReputerScoreEma_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryGetPreviousTopicQuantileReputerScoreEmaRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["topic_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "topic_id") + } + + protoReq.TopicId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "topic_id", err) + } + + msg, err := server.GetPreviousTopicQuantileReputerScoreEma(ctx, &protoReq) + return msg, metadata, err + +} + func request_Query_GetWorkerInferenceScoresAtBlock_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QueryWorkerInferenceScoresAtBlockRequest var metadata runtime.ServerMetadata @@ -3691,6 +3853,60 @@ func local_request_Query_GetWorkerInferenceScoresAtBlock_0(ctx context.Context, } +func request_Query_GetCurrentLowestInfererScore_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCurrentLowestInfererScoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["topic_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "topic_id") + } + + protoReq.TopicId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "topic_id", err) + } + + msg, err := client.GetCurrentLowestInfererScore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_GetCurrentLowestInfererScore_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCurrentLowestInfererScoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["topic_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "topic_id") + } + + protoReq.TopicId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "topic_id", err) + } + + msg, err := server.GetCurrentLowestInfererScore(ctx, &protoReq) + return msg, metadata, err + +} + func request_Query_GetForecastScoresUntilBlock_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QueryForecastScoresUntilBlockRequest var metadata runtime.ServerMetadata @@ -3843,6 +4059,60 @@ func local_request_Query_GetWorkerForecastScoresAtBlock_0(ctx context.Context, m } +func request_Query_GetCurrentLowestForecasterScore_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCurrentLowestForecasterScoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["topic_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "topic_id") + } + + protoReq.TopicId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "topic_id", err) + } + + msg, err := client.GetCurrentLowestForecasterScore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_GetCurrentLowestForecasterScore_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCurrentLowestForecasterScoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["topic_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "topic_id") + } + + protoReq.TopicId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "topic_id", err) + } + + msg, err := server.GetCurrentLowestForecasterScore(ctx, &protoReq) + return msg, metadata, err + +} + func request_Query_GetReputersScoresAtBlock_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QueryReputersScoresAtBlockRequest var metadata runtime.ServerMetadata @@ -3867,22 +4137,87 @@ func request_Query_GetReputersScoresAtBlock_0(ctx context.Context, marshaler run val, ok = pathParams["block_height"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "block_height") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "block_height") + } + + protoReq.BlockHeight, err = runtime.Int64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "block_height", err) + } + + msg, err := client.GetReputersScoresAtBlock(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_GetReputersScoresAtBlock_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryReputersScoresAtBlockRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["topic_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "topic_id") + } + + protoReq.TopicId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "topic_id", err) + } + + val, ok = pathParams["block_height"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "block_height") + } + + protoReq.BlockHeight, err = runtime.Int64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "block_height", err) + } + + msg, err := server.GetReputersScoresAtBlock(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_GetCurrentLowestReputerScore_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCurrentLowestReputerScoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["topic_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "topic_id") } - protoReq.BlockHeight, err = runtime.Int64(val) + protoReq.TopicId, err = runtime.Uint64(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "block_height", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "topic_id", err) } - msg, err := client.GetReputersScoresAtBlock(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetCurrentLowestReputerScore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Query_GetReputersScoresAtBlock_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryReputersScoresAtBlockRequest +func local_request_Query_GetCurrentLowestReputerScore_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCurrentLowestReputerScoreRequest var metadata runtime.ServerMetadata var ( @@ -3903,18 +4238,7 @@ func local_request_Query_GetReputersScoresAtBlock_0(ctx context.Context, marshal return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "topic_id", err) } - val, ok = pathParams["block_height"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "block_height") - } - - protoReq.BlockHeight, err = runtime.Int64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "block_height", err) - } - - msg, err := server.GetReputersScoresAtBlock(ctx, &protoReq) + msg, err := server.GetCurrentLowestReputerScore(ctx, &protoReq) return msg, metadata, err } @@ -5795,6 +6119,75 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_GetPreviousTopicQuantileForecasterScoreEma_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_GetPreviousTopicQuantileForecasterScoreEma_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_GetPreviousTopicQuantileForecasterScoreEma_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_GetPreviousTopicQuantileInfererScoreEma_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_GetPreviousTopicQuantileInfererScoreEma_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_GetPreviousTopicQuantileInfererScoreEma_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_GetPreviousTopicQuantileReputerScoreEma_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_GetPreviousTopicQuantileReputerScoreEma_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_GetPreviousTopicQuantileReputerScoreEma_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Query_GetWorkerInferenceScoresAtBlock_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -5818,6 +6211,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_GetCurrentLowestInfererScore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_GetCurrentLowestInfererScore_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_GetCurrentLowestInfererScore_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Query_GetForecastScoresUntilBlock_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -5864,6 +6280,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_GetCurrentLowestForecasterScore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_GetCurrentLowestForecasterScore_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_GetCurrentLowestForecasterScore_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Query_GetReputersScoresAtBlock_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -5887,6 +6326,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_GetCurrentLowestReputerScore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_GetCurrentLowestReputerScore_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_GetCurrentLowestReputerScore_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Query_GetListeningCoefficient_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -7307,6 +7769,66 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_GetPreviousTopicQuantileForecasterScoreEma_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_GetPreviousTopicQuantileForecasterScoreEma_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_GetPreviousTopicQuantileForecasterScoreEma_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_GetPreviousTopicQuantileInfererScoreEma_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_GetPreviousTopicQuantileInfererScoreEma_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_GetPreviousTopicQuantileInfererScoreEma_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_GetPreviousTopicQuantileReputerScoreEma_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_GetPreviousTopicQuantileReputerScoreEma_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_GetPreviousTopicQuantileReputerScoreEma_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Query_GetWorkerInferenceScoresAtBlock_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -7327,6 +7849,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_GetCurrentLowestInfererScore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_GetCurrentLowestInfererScore_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_GetCurrentLowestInfererScore_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Query_GetForecastScoresUntilBlock_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -7367,6 +7909,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_GetCurrentLowestForecasterScore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_GetCurrentLowestForecasterScore_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_GetCurrentLowestForecasterScore_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Query_GetReputersScoresAtBlock_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -7387,6 +7949,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_GetCurrentLowestReputerScore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_GetCurrentLowestReputerScore_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_GetCurrentLowestReputerScore_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Query_GetListeningCoefficient_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -7759,14 +8341,26 @@ var ( pattern_Query_GetInferenceScoresUntilBlock_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"emissions", "v3", "inference_scores_until_block", "topic_id", "block_height"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_GetPreviousTopicQuantileForecasterScoreEma_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"emissions", "v3", "topic_quantile_forecaster_score_ema", "topic_id"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_GetPreviousTopicQuantileInfererScoreEma_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"emissions", "v3", "topic_quantile_inferer_score_ema", "topic_id"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_GetPreviousTopicQuantileReputerScoreEma_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"emissions", "v3", "topic_quantile_reputer_score_ema", "topic_id"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_GetWorkerInferenceScoresAtBlock_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"emissions", "v3", "worker_inference_scores_at_block", "topic_id", "block_height"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_GetCurrentLowestInfererScore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"emissions", "v3", "current_lowest_inferer_score", "topic_id"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_GetForecastScoresUntilBlock_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"emissions", "v3", "forecast_scores_until_block", "topic_id", "block_height"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_GetWorkerForecastScoresAtBlock_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"emissions", "v3", "worker_forecast_scores_at_block", "topic_id", "block_height"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_GetCurrentLowestForecasterScore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"emissions", "v3", "current_lowest_forecaster_score", "topic_id"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_GetReputersScoresAtBlock_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"emissions", "v3", "reputers_scores_at_block", "topic_id", "block_height"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_GetCurrentLowestReputerScore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"emissions", "v3", "current_lowest_reputer_score", "topic_id"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_GetListeningCoefficient_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"emissions", "v3", "listening_coefficient", "topic_id", "reputer"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_GetPreviousReputerRewardFraction_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"emissions", "v3", "previous_reputer_reward_fraction", "topic_id", "reputer"}, "", runtime.AssumeColonVerbOpt(false))) @@ -7903,14 +8497,26 @@ var ( forward_Query_GetInferenceScoresUntilBlock_0 = runtime.ForwardResponseMessage + forward_Query_GetPreviousTopicQuantileForecasterScoreEma_0 = runtime.ForwardResponseMessage + + forward_Query_GetPreviousTopicQuantileInfererScoreEma_0 = runtime.ForwardResponseMessage + + forward_Query_GetPreviousTopicQuantileReputerScoreEma_0 = runtime.ForwardResponseMessage + forward_Query_GetWorkerInferenceScoresAtBlock_0 = runtime.ForwardResponseMessage + forward_Query_GetCurrentLowestInfererScore_0 = runtime.ForwardResponseMessage + forward_Query_GetForecastScoresUntilBlock_0 = runtime.ForwardResponseMessage forward_Query_GetWorkerForecastScoresAtBlock_0 = runtime.ForwardResponseMessage + forward_Query_GetCurrentLowestForecasterScore_0 = runtime.ForwardResponseMessage + forward_Query_GetReputersScoresAtBlock_0 = runtime.ForwardResponseMessage + forward_Query_GetCurrentLowestReputerScore_0 = runtime.ForwardResponseMessage + forward_Query_GetListeningCoefficient_0 = runtime.ForwardResponseMessage forward_Query_GetPreviousReputerRewardFraction_0 = runtime.ForwardResponseMessage