mtp2.pb.go 144 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431
  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // versions:
  3. // protoc-gen-go v1.25.0
  4. // protoc v3.11.4
  5. // source: mtp2.proto
  6. package pb
  7. import (
  8. proto "github.com/golang/protobuf/proto"
  9. protoreflect "google.golang.org/protobuf/reflect/protoreflect"
  10. protoimpl "google.golang.org/protobuf/runtime/protoimpl"
  11. reflect "reflect"
  12. sync "sync"
  13. )
  14. const (
  15. // Verify that this generated code is sufficiently up-to-date.
  16. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
  17. // Verify that runtime/protoimpl is sufficiently up-to-date.
  18. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
  19. )
  20. // This is a compile-time assertion that a sufficiently up-to-date version
  21. // of the legacy proto package is being used.
  22. const _ = proto.ProtoPackageIsVersion4
  23. //交易规则信息子集
  24. type TradeRule struct {
  25. state protoimpl.MessageState
  26. sizeCache protoimpl.SizeCache
  27. unknownFields protoimpl.UnknownFields
  28. RuleID *uint32 `protobuf:"varint,1,opt,name=RuleID" json:"RuleID,omitempty"` // 交易规则ID
  29. ParamValue *float64 `protobuf:"fixed64,2,opt,name=ParamValue" json:"ParamValue,omitempty"` // 参数值
  30. }
  31. func (x *TradeRule) Reset() {
  32. *x = TradeRule{}
  33. if protoimpl.UnsafeEnabled {
  34. mi := &file_mtp2_proto_msgTypes[0]
  35. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  36. ms.StoreMessageInfo(mi)
  37. }
  38. }
  39. func (x *TradeRule) String() string {
  40. return protoimpl.X.MessageStringOf(x)
  41. }
  42. func (*TradeRule) ProtoMessage() {}
  43. func (x *TradeRule) ProtoReflect() protoreflect.Message {
  44. mi := &file_mtp2_proto_msgTypes[0]
  45. if protoimpl.UnsafeEnabled && x != nil {
  46. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  47. if ms.LoadMessageInfo() == nil {
  48. ms.StoreMessageInfo(mi)
  49. }
  50. return ms
  51. }
  52. return mi.MessageOf(x)
  53. }
  54. // Deprecated: Use TradeRule.ProtoReflect.Descriptor instead.
  55. func (*TradeRule) Descriptor() ([]byte, []int) {
  56. return file_mtp2_proto_rawDescGZIP(), []int{0}
  57. }
  58. func (x *TradeRule) GetRuleID() uint32 {
  59. if x != nil && x.RuleID != nil {
  60. return *x.RuleID
  61. }
  62. return 0
  63. }
  64. func (x *TradeRule) GetParamValue() float64 {
  65. if x != nil && x.ParamValue != nil {
  66. return *x.ParamValue
  67. }
  68. return 0
  69. }
  70. //交易规则信息
  71. type TradeRuleInfoStruct struct {
  72. state protoimpl.MessageState
  73. sizeCache protoimpl.SizeCache
  74. unknownFields protoimpl.UnknownFields
  75. AccountID *uint64 `protobuf:"varint,1,opt,name=AccountID" json:"AccountID,omitempty"` // 资金账号
  76. GoodsID *uint32 `protobuf:"varint,2,opt,name=GoodsID" json:"GoodsID,omitempty"` // 商品id
  77. TradeRules []*TradeRule `protobuf:"bytes,3,rep,name=TradeRules" json:"TradeRules,omitempty"` // 交易规则
  78. }
  79. func (x *TradeRuleInfoStruct) Reset() {
  80. *x = TradeRuleInfoStruct{}
  81. if protoimpl.UnsafeEnabled {
  82. mi := &file_mtp2_proto_msgTypes[1]
  83. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  84. ms.StoreMessageInfo(mi)
  85. }
  86. }
  87. func (x *TradeRuleInfoStruct) String() string {
  88. return protoimpl.X.MessageStringOf(x)
  89. }
  90. func (*TradeRuleInfoStruct) ProtoMessage() {}
  91. func (x *TradeRuleInfoStruct) ProtoReflect() protoreflect.Message {
  92. mi := &file_mtp2_proto_msgTypes[1]
  93. if protoimpl.UnsafeEnabled && x != nil {
  94. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  95. if ms.LoadMessageInfo() == nil {
  96. ms.StoreMessageInfo(mi)
  97. }
  98. return ms
  99. }
  100. return mi.MessageOf(x)
  101. }
  102. // Deprecated: Use TradeRuleInfoStruct.ProtoReflect.Descriptor instead.
  103. func (*TradeRuleInfoStruct) Descriptor() ([]byte, []int) {
  104. return file_mtp2_proto_rawDescGZIP(), []int{1}
  105. }
  106. func (x *TradeRuleInfoStruct) GetAccountID() uint64 {
  107. if x != nil && x.AccountID != nil {
  108. return *x.AccountID
  109. }
  110. return 0
  111. }
  112. func (x *TradeRuleInfoStruct) GetGoodsID() uint32 {
  113. if x != nil && x.GoodsID != nil {
  114. return *x.GoodsID
  115. }
  116. return 0
  117. }
  118. func (x *TradeRuleInfoStruct) GetTradeRules() []*TradeRule {
  119. if x != nil {
  120. return x.TradeRules
  121. }
  122. return nil
  123. }
  124. // 日期类型定义
  125. type Date struct {
  126. state protoimpl.MessageState
  127. sizeCache protoimpl.SizeCache
  128. unknownFields protoimpl.UnknownFields
  129. DateStr *string `protobuf:"bytes,1,opt,name=DateStr" json:"DateStr,omitempty"` // 日期时间
  130. }
  131. func (x *Date) Reset() {
  132. *x = Date{}
  133. if protoimpl.UnsafeEnabled {
  134. mi := &file_mtp2_proto_msgTypes[2]
  135. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  136. ms.StoreMessageInfo(mi)
  137. }
  138. }
  139. func (x *Date) String() string {
  140. return protoimpl.X.MessageStringOf(x)
  141. }
  142. func (*Date) ProtoMessage() {}
  143. func (x *Date) ProtoReflect() protoreflect.Message {
  144. mi := &file_mtp2_proto_msgTypes[2]
  145. if protoimpl.UnsafeEnabled && x != nil {
  146. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  147. if ms.LoadMessageInfo() == nil {
  148. ms.StoreMessageInfo(mi)
  149. }
  150. return ms
  151. }
  152. return mi.MessageOf(x)
  153. }
  154. // Deprecated: Use Date.ProtoReflect.Descriptor instead.
  155. func (*Date) Descriptor() ([]byte, []int) {
  156. return file_mtp2_proto_rawDescGZIP(), []int{2}
  157. }
  158. func (x *Date) GetDateStr() string {
  159. if x != nil && x.DateStr != nil {
  160. return *x.DateStr
  161. }
  162. return ""
  163. }
  164. // ERMS2_ARBITRAGESTRATEGY 期现套利策略表
  165. type Erms2ArbitrageStrategy struct {
  166. state protoimpl.MessageState
  167. sizeCache protoimpl.SizeCache
  168. unknownFields protoimpl.UnknownFields
  169. //mkey: 1
  170. ASApplyId *uint64 `protobuf:"varint,1,opt,name=ASApplyId" json:"ASApplyId,omitempty"` // 策略申请ID(702+Unix秒时间戳(10位)+xxxxxx)
  171. ASNo *string `protobuf:"bytes,2,opt,name=ASNo" json:"ASNo,omitempty"` // 策略编号
  172. BizType *uint32 `protobuf:"varint,3,opt,name=BizType" json:"BizType,omitempty"` // 业务类型 - 1:正向套利 -1:反向套利
  173. UserId *uint32 `protobuf:"varint,4,opt,name=UserId" json:"UserId,omitempty"` // 所属机构
  174. DeliveryGoodsId *uint32 `protobuf:"varint,5,opt,name=DeliveryGoodsId" json:"DeliveryGoodsId,omitempty"` // 现货品种ID
  175. GoodsGroupId *uint32 `protobuf:"varint,6,opt,name=GoodsGroupId" json:"GoodsGroupId,omitempty"` // 期货品种ID
  176. SpotQuota *float64 `protobuf:"fixed64,7,opt,name=SpotQuota" json:"SpotQuota,omitempty"` // 现货额度
  177. FutureQuote *float64 `protobuf:"fixed64,8,opt,name=FutureQuote" json:"FutureQuote,omitempty"` // 期货额度
  178. ApplyBasis *float64 `protobuf:"fixed64,9,opt,name=ApplyBasis" json:"ApplyBasis,omitempty"` // 申请基差
  179. StrategyStatus *uint32 `protobuf:"varint,10,opt,name=StrategyStatus" json:"StrategyStatus,omitempty"` // 策略状态 - 0:未结束 1:已结束
  180. Remark *string `protobuf:"bytes,11,opt,name=Remark" json:"Remark,omitempty"` // 备注
  181. MarketId *uint32 `protobuf:"varint,12,opt,name=MarketId" json:"MarketId,omitempty"` // 市场ID
  182. TradeDate *string `protobuf:"bytes,13,opt,name=TradeDate" json:"TradeDate,omitempty"` // 交易日(yyyyMMdd)
  183. CloseTradeDate *string `protobuf:"bytes,14,opt,name=CloseTradeDate" json:"CloseTradeDate,omitempty"` // 完结交易日(yyyyMMdd)
  184. UsedQuota *float64 `protobuf:"fixed64,15,opt,name=UsedQuota" json:"UsedQuota,omitempty"` // 已占用资金
  185. FutureQty *float64 `protobuf:"fixed64,16,opt,name=FutureQty" json:"FutureQty,omitempty"` // 期货持仓数量
  186. FutureAvgPrice *float64 `protobuf:"fixed64,17,opt,name=FutureAvgPrice" json:"FutureAvgPrice,omitempty"` // 期货建仓均价
  187. FuturePL *float64 `protobuf:"fixed64,18,opt,name=FuturePL" json:"FuturePL,omitempty"` // 期货总盈亏[结算更新]
  188. PricedSpotQty *float64 `protobuf:"fixed64,19,opt,name=PricedSpotQty" json:"PricedSpotQty,omitempty"` // 已定价现货数量
  189. PricedSpotQtyNoTax *float64 `protobuf:"fixed64,20,opt,name=PricedSpotQtyNoTax" json:"PricedSpotQtyNoTax,omitempty"` // 已定价现货不含税数量
  190. SpotavgPrice *float64 `protobuf:"fixed64,21,opt,name=SpotavgPrice" json:"SpotavgPrice,omitempty"` // 现货均价
  191. SpotPL *float64 `protobuf:"fixed64,22,opt,name=SpotPL" json:"SpotPL,omitempty"` // 现货总盈亏[结算更新]
  192. NetExposure *float64 `protobuf:"fixed64,23,opt,name=NetExposure" json:"NetExposure,omitempty"` // 单笔业务头寸净敞口 = 期货持仓数量 + 已定价现货不含税数量
  193. NetExposureRate *float64 `protobuf:"fixed64,24,opt,name=NetExposureRate" json:"NetExposureRate,omitempty"` // 净敞口比例 - 0:未结束 = (NetExposure/PriceSpotQtyNoTax) ; 已结束为0
  194. TotalPL *float64 `protobuf:"fixed64,25,opt,name=TotalPL" json:"TotalPL,omitempty"` // 业务合计损益 = FuturePL + SpotPL [结算更新]
  195. OpenBasis *float64 `protobuf:"fixed64,26,opt,name=OpenBasis" json:"OpenBasis,omitempty"` // 建仓基差
  196. CurBasis *float64 `protobuf:"fixed64,27,opt,name=CurBasis" json:"CurBasis,omitempty"` // 当前基差[结算更新]
  197. BasisChangePL *float64 `protobuf:"fixed64,28,opt,name=BasisChangePL" json:"BasisChangePL,omitempty"` // 基差变动损益[结算更新]
  198. NetExposurePL *float64 `protobuf:"fixed64,29,opt,name=NetExposurePL" json:"NetExposurePL,omitempty"` // 净敞口损益 = TotalPL - BasisChangePL[结算更新]
  199. SpotUsedQuota *float64 `protobuf:"fixed64,30,opt,name=SpotUsedQuota" json:"SpotUsedQuota,omitempty"` // 现货占用资金
  200. FutureOpenQty *float64 `protobuf:"fixed64,31,opt,name=FutureOpenQty" json:"FutureOpenQty,omitempty"` // 期货开仓数量
  201. FutureOpenAmount *float64 `protobuf:"fixed64,32,opt,name=FutureOpenAmount" json:"FutureOpenAmount,omitempty"` // 期货开仓金额
  202. FutureCloseQty *float64 `protobuf:"fixed64,33,opt,name=FutureCloseQty" json:"FutureCloseQty,omitempty"` // 期货平仓数量
  203. FutureCloseAmount *float64 `protobuf:"fixed64,34,opt,name=FutureCloseAmount" json:"FutureCloseAmount,omitempty"` // 期货平仓金额
  204. SpotBuyAmount *float64 `protobuf:"fixed64,35,opt,name=SpotBuyAmount" json:"SpotBuyAmount,omitempty"` // 现货采购金额
  205. SpotBuyQty *float64 `protobuf:"fixed64,36,opt,name=SpotBuyQty" json:"SpotBuyQty,omitempty"` // 现货采购数量
  206. SpotSellAmount *float64 `protobuf:"fixed64,37,opt,name=SpotSellAmount" json:"SpotSellAmount,omitempty"` // 现货销售金额
  207. SpotSellQty *float64 `protobuf:"fixed64,38,opt,name=SpotSellQty" json:"SpotSellQty,omitempty"` // 现货销售数量
  208. UpDatetime *Date `protobuf:"bytes,39,opt,name=UpDatetime" json:"UpDatetime,omitempty"` // 更新时间
  209. ASName *string `protobuf:"bytes,40,opt,name=ASName" json:"ASName,omitempty"` // 策略名称
  210. }
  211. func (x *Erms2ArbitrageStrategy) Reset() {
  212. *x = Erms2ArbitrageStrategy{}
  213. if protoimpl.UnsafeEnabled {
  214. mi := &file_mtp2_proto_msgTypes[3]
  215. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  216. ms.StoreMessageInfo(mi)
  217. }
  218. }
  219. func (x *Erms2ArbitrageStrategy) String() string {
  220. return protoimpl.X.MessageStringOf(x)
  221. }
  222. func (*Erms2ArbitrageStrategy) ProtoMessage() {}
  223. func (x *Erms2ArbitrageStrategy) ProtoReflect() protoreflect.Message {
  224. mi := &file_mtp2_proto_msgTypes[3]
  225. if protoimpl.UnsafeEnabled && x != nil {
  226. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  227. if ms.LoadMessageInfo() == nil {
  228. ms.StoreMessageInfo(mi)
  229. }
  230. return ms
  231. }
  232. return mi.MessageOf(x)
  233. }
  234. // Deprecated: Use Erms2ArbitrageStrategy.ProtoReflect.Descriptor instead.
  235. func (*Erms2ArbitrageStrategy) Descriptor() ([]byte, []int) {
  236. return file_mtp2_proto_rawDescGZIP(), []int{3}
  237. }
  238. func (x *Erms2ArbitrageStrategy) GetASApplyId() uint64 {
  239. if x != nil && x.ASApplyId != nil {
  240. return *x.ASApplyId
  241. }
  242. return 0
  243. }
  244. func (x *Erms2ArbitrageStrategy) GetASNo() string {
  245. if x != nil && x.ASNo != nil {
  246. return *x.ASNo
  247. }
  248. return ""
  249. }
  250. func (x *Erms2ArbitrageStrategy) GetBizType() uint32 {
  251. if x != nil && x.BizType != nil {
  252. return *x.BizType
  253. }
  254. return 0
  255. }
  256. func (x *Erms2ArbitrageStrategy) GetUserId() uint32 {
  257. if x != nil && x.UserId != nil {
  258. return *x.UserId
  259. }
  260. return 0
  261. }
  262. func (x *Erms2ArbitrageStrategy) GetDeliveryGoodsId() uint32 {
  263. if x != nil && x.DeliveryGoodsId != nil {
  264. return *x.DeliveryGoodsId
  265. }
  266. return 0
  267. }
  268. func (x *Erms2ArbitrageStrategy) GetGoodsGroupId() uint32 {
  269. if x != nil && x.GoodsGroupId != nil {
  270. return *x.GoodsGroupId
  271. }
  272. return 0
  273. }
  274. func (x *Erms2ArbitrageStrategy) GetSpotQuota() float64 {
  275. if x != nil && x.SpotQuota != nil {
  276. return *x.SpotQuota
  277. }
  278. return 0
  279. }
  280. func (x *Erms2ArbitrageStrategy) GetFutureQuote() float64 {
  281. if x != nil && x.FutureQuote != nil {
  282. return *x.FutureQuote
  283. }
  284. return 0
  285. }
  286. func (x *Erms2ArbitrageStrategy) GetApplyBasis() float64 {
  287. if x != nil && x.ApplyBasis != nil {
  288. return *x.ApplyBasis
  289. }
  290. return 0
  291. }
  292. func (x *Erms2ArbitrageStrategy) GetStrategyStatus() uint32 {
  293. if x != nil && x.StrategyStatus != nil {
  294. return *x.StrategyStatus
  295. }
  296. return 0
  297. }
  298. func (x *Erms2ArbitrageStrategy) GetRemark() string {
  299. if x != nil && x.Remark != nil {
  300. return *x.Remark
  301. }
  302. return ""
  303. }
  304. func (x *Erms2ArbitrageStrategy) GetMarketId() uint32 {
  305. if x != nil && x.MarketId != nil {
  306. return *x.MarketId
  307. }
  308. return 0
  309. }
  310. func (x *Erms2ArbitrageStrategy) GetTradeDate() string {
  311. if x != nil && x.TradeDate != nil {
  312. return *x.TradeDate
  313. }
  314. return ""
  315. }
  316. func (x *Erms2ArbitrageStrategy) GetCloseTradeDate() string {
  317. if x != nil && x.CloseTradeDate != nil {
  318. return *x.CloseTradeDate
  319. }
  320. return ""
  321. }
  322. func (x *Erms2ArbitrageStrategy) GetUsedQuota() float64 {
  323. if x != nil && x.UsedQuota != nil {
  324. return *x.UsedQuota
  325. }
  326. return 0
  327. }
  328. func (x *Erms2ArbitrageStrategy) GetFutureQty() float64 {
  329. if x != nil && x.FutureQty != nil {
  330. return *x.FutureQty
  331. }
  332. return 0
  333. }
  334. func (x *Erms2ArbitrageStrategy) GetFutureAvgPrice() float64 {
  335. if x != nil && x.FutureAvgPrice != nil {
  336. return *x.FutureAvgPrice
  337. }
  338. return 0
  339. }
  340. func (x *Erms2ArbitrageStrategy) GetFuturePL() float64 {
  341. if x != nil && x.FuturePL != nil {
  342. return *x.FuturePL
  343. }
  344. return 0
  345. }
  346. func (x *Erms2ArbitrageStrategy) GetPricedSpotQty() float64 {
  347. if x != nil && x.PricedSpotQty != nil {
  348. return *x.PricedSpotQty
  349. }
  350. return 0
  351. }
  352. func (x *Erms2ArbitrageStrategy) GetPricedSpotQtyNoTax() float64 {
  353. if x != nil && x.PricedSpotQtyNoTax != nil {
  354. return *x.PricedSpotQtyNoTax
  355. }
  356. return 0
  357. }
  358. func (x *Erms2ArbitrageStrategy) GetSpotavgPrice() float64 {
  359. if x != nil && x.SpotavgPrice != nil {
  360. return *x.SpotavgPrice
  361. }
  362. return 0
  363. }
  364. func (x *Erms2ArbitrageStrategy) GetSpotPL() float64 {
  365. if x != nil && x.SpotPL != nil {
  366. return *x.SpotPL
  367. }
  368. return 0
  369. }
  370. func (x *Erms2ArbitrageStrategy) GetNetExposure() float64 {
  371. if x != nil && x.NetExposure != nil {
  372. return *x.NetExposure
  373. }
  374. return 0
  375. }
  376. func (x *Erms2ArbitrageStrategy) GetNetExposureRate() float64 {
  377. if x != nil && x.NetExposureRate != nil {
  378. return *x.NetExposureRate
  379. }
  380. return 0
  381. }
  382. func (x *Erms2ArbitrageStrategy) GetTotalPL() float64 {
  383. if x != nil && x.TotalPL != nil {
  384. return *x.TotalPL
  385. }
  386. return 0
  387. }
  388. func (x *Erms2ArbitrageStrategy) GetOpenBasis() float64 {
  389. if x != nil && x.OpenBasis != nil {
  390. return *x.OpenBasis
  391. }
  392. return 0
  393. }
  394. func (x *Erms2ArbitrageStrategy) GetCurBasis() float64 {
  395. if x != nil && x.CurBasis != nil {
  396. return *x.CurBasis
  397. }
  398. return 0
  399. }
  400. func (x *Erms2ArbitrageStrategy) GetBasisChangePL() float64 {
  401. if x != nil && x.BasisChangePL != nil {
  402. return *x.BasisChangePL
  403. }
  404. return 0
  405. }
  406. func (x *Erms2ArbitrageStrategy) GetNetExposurePL() float64 {
  407. if x != nil && x.NetExposurePL != nil {
  408. return *x.NetExposurePL
  409. }
  410. return 0
  411. }
  412. func (x *Erms2ArbitrageStrategy) GetSpotUsedQuota() float64 {
  413. if x != nil && x.SpotUsedQuota != nil {
  414. return *x.SpotUsedQuota
  415. }
  416. return 0
  417. }
  418. func (x *Erms2ArbitrageStrategy) GetFutureOpenQty() float64 {
  419. if x != nil && x.FutureOpenQty != nil {
  420. return *x.FutureOpenQty
  421. }
  422. return 0
  423. }
  424. func (x *Erms2ArbitrageStrategy) GetFutureOpenAmount() float64 {
  425. if x != nil && x.FutureOpenAmount != nil {
  426. return *x.FutureOpenAmount
  427. }
  428. return 0
  429. }
  430. func (x *Erms2ArbitrageStrategy) GetFutureCloseQty() float64 {
  431. if x != nil && x.FutureCloseQty != nil {
  432. return *x.FutureCloseQty
  433. }
  434. return 0
  435. }
  436. func (x *Erms2ArbitrageStrategy) GetFutureCloseAmount() float64 {
  437. if x != nil && x.FutureCloseAmount != nil {
  438. return *x.FutureCloseAmount
  439. }
  440. return 0
  441. }
  442. func (x *Erms2ArbitrageStrategy) GetSpotBuyAmount() float64 {
  443. if x != nil && x.SpotBuyAmount != nil {
  444. return *x.SpotBuyAmount
  445. }
  446. return 0
  447. }
  448. func (x *Erms2ArbitrageStrategy) GetSpotBuyQty() float64 {
  449. if x != nil && x.SpotBuyQty != nil {
  450. return *x.SpotBuyQty
  451. }
  452. return 0
  453. }
  454. func (x *Erms2ArbitrageStrategy) GetSpotSellAmount() float64 {
  455. if x != nil && x.SpotSellAmount != nil {
  456. return *x.SpotSellAmount
  457. }
  458. return 0
  459. }
  460. func (x *Erms2ArbitrageStrategy) GetSpotSellQty() float64 {
  461. if x != nil && x.SpotSellQty != nil {
  462. return *x.SpotSellQty
  463. }
  464. return 0
  465. }
  466. func (x *Erms2ArbitrageStrategy) GetUpDatetime() *Date {
  467. if x != nil {
  468. return x.UpDatetime
  469. }
  470. return nil
  471. }
  472. func (x *Erms2ArbitrageStrategy) GetASName() string {
  473. if x != nil && x.ASName != nil {
  474. return *x.ASName
  475. }
  476. return ""
  477. }
  478. // ERMCP_AREASPOT 企业现货表
  479. type ErmcpAreaSpot struct {
  480. state protoimpl.MessageState
  481. sizeCache protoimpl.SizeCache
  482. unknownFields protoimpl.UnknownFields
  483. //mkey: 1 2
  484. WrStandardID *uint32 `protobuf:"varint,1,opt,name=WrStandardID" json:"WrStandardID,omitempty"` // 现货商品ID
  485. AreaUserID *uint32 `protobuf:"varint,2,opt,name=AreaUserID" json:"AreaUserID,omitempty"` // 所属机构
  486. OriBuyPlanQty *float64 `protobuf:"fixed64,3,opt,name=OriBuyPlanQty" json:"OriBuyPlanQty,omitempty"` // 期初采购计划数量
  487. OriBuyPricedQty *float64 `protobuf:"fixed64,4,opt,name=OriBuyPricedQty" json:"OriBuyPricedQty,omitempty"` // 期初采购合同已定价数量
  488. OriSellPlanQty *float64 `protobuf:"fixed64,5,opt,name=OriSellPlanQty" json:"OriSellPlanQty,omitempty"` // 期初销售计划数量
  489. OriSellPricedQty *float64 `protobuf:"fixed64,6,opt,name=OriSellPricedQty" json:"OriSellPricedQty,omitempty"` // 期初销售合同已定价数量
  490. BuyPlanQty *float64 `protobuf:"fixed64,7,opt,name=BuyPlanQty" json:"BuyPlanQty,omitempty"` // 采购计划数量
  491. BuyPricedQty *float64 `protobuf:"fixed64,8,opt,name=BuyPricedQty" json:"BuyPricedQty,omitempty"` // 采购合同已定价数量
  492. SellPlanQty *float64 `protobuf:"fixed64,9,opt,name=SellPlanQty" json:"SellPlanQty,omitempty"` // 销售计划数量
  493. SellPricedQty *float64 `protobuf:"fixed64,10,opt,name=SellPricedQty" json:"SellPricedQty,omitempty"` // 销售合同已定价数量
  494. TotalSpotQty *float64 `protobuf:"fixed64,11,opt,name=TotalSpotQty" json:"TotalSpotQty,omitempty"` // 现货头寸总量 = (销售计划数量 - 销售已定价数量) - (采购计划数量 - 采购已定价数量)
  495. UpdateTime *Date `protobuf:"bytes,12,opt,name=UpdateTime" json:"UpdateTime,omitempty"` // 更新时间
  496. }
  497. func (x *ErmcpAreaSpot) Reset() {
  498. *x = ErmcpAreaSpot{}
  499. if protoimpl.UnsafeEnabled {
  500. mi := &file_mtp2_proto_msgTypes[4]
  501. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  502. ms.StoreMessageInfo(mi)
  503. }
  504. }
  505. func (x *ErmcpAreaSpot) String() string {
  506. return protoimpl.X.MessageStringOf(x)
  507. }
  508. func (*ErmcpAreaSpot) ProtoMessage() {}
  509. func (x *ErmcpAreaSpot) ProtoReflect() protoreflect.Message {
  510. mi := &file_mtp2_proto_msgTypes[4]
  511. if protoimpl.UnsafeEnabled && x != nil {
  512. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  513. if ms.LoadMessageInfo() == nil {
  514. ms.StoreMessageInfo(mi)
  515. }
  516. return ms
  517. }
  518. return mi.MessageOf(x)
  519. }
  520. // Deprecated: Use ErmcpAreaSpot.ProtoReflect.Descriptor instead.
  521. func (*ErmcpAreaSpot) Descriptor() ([]byte, []int) {
  522. return file_mtp2_proto_rawDescGZIP(), []int{4}
  523. }
  524. func (x *ErmcpAreaSpot) GetWrStandardID() uint32 {
  525. if x != nil && x.WrStandardID != nil {
  526. return *x.WrStandardID
  527. }
  528. return 0
  529. }
  530. func (x *ErmcpAreaSpot) GetAreaUserID() uint32 {
  531. if x != nil && x.AreaUserID != nil {
  532. return *x.AreaUserID
  533. }
  534. return 0
  535. }
  536. func (x *ErmcpAreaSpot) GetOriBuyPlanQty() float64 {
  537. if x != nil && x.OriBuyPlanQty != nil {
  538. return *x.OriBuyPlanQty
  539. }
  540. return 0
  541. }
  542. func (x *ErmcpAreaSpot) GetOriBuyPricedQty() float64 {
  543. if x != nil && x.OriBuyPricedQty != nil {
  544. return *x.OriBuyPricedQty
  545. }
  546. return 0
  547. }
  548. func (x *ErmcpAreaSpot) GetOriSellPlanQty() float64 {
  549. if x != nil && x.OriSellPlanQty != nil {
  550. return *x.OriSellPlanQty
  551. }
  552. return 0
  553. }
  554. func (x *ErmcpAreaSpot) GetOriSellPricedQty() float64 {
  555. if x != nil && x.OriSellPricedQty != nil {
  556. return *x.OriSellPricedQty
  557. }
  558. return 0
  559. }
  560. func (x *ErmcpAreaSpot) GetBuyPlanQty() float64 {
  561. if x != nil && x.BuyPlanQty != nil {
  562. return *x.BuyPlanQty
  563. }
  564. return 0
  565. }
  566. func (x *ErmcpAreaSpot) GetBuyPricedQty() float64 {
  567. if x != nil && x.BuyPricedQty != nil {
  568. return *x.BuyPricedQty
  569. }
  570. return 0
  571. }
  572. func (x *ErmcpAreaSpot) GetSellPlanQty() float64 {
  573. if x != nil && x.SellPlanQty != nil {
  574. return *x.SellPlanQty
  575. }
  576. return 0
  577. }
  578. func (x *ErmcpAreaSpot) GetSellPricedQty() float64 {
  579. if x != nil && x.SellPricedQty != nil {
  580. return *x.SellPricedQty
  581. }
  582. return 0
  583. }
  584. func (x *ErmcpAreaSpot) GetTotalSpotQty() float64 {
  585. if x != nil && x.TotalSpotQty != nil {
  586. return *x.TotalSpotQty
  587. }
  588. return 0
  589. }
  590. func (x *ErmcpAreaSpot) GetUpdateTime() *Date {
  591. if x != nil {
  592. return x.UpdateTime
  593. }
  594. return nil
  595. }
  596. // ERMCP_AREAEXPOSURE 企业敞口表
  597. type ErmcpAreaExposure struct {
  598. state protoimpl.MessageState
  599. sizeCache protoimpl.SizeCache
  600. unknownFields protoimpl.UnknownFields
  601. //mkey: 1 2
  602. //nkey: 1
  603. MiddleGoodsID *uint32 `protobuf:"varint,1,opt,name=MiddleGoodsID" json:"MiddleGoodsID,omitempty"` // 套保品种
  604. AreaUserID *uint32 `protobuf:"varint,2,opt,name=AreaUserID" json:"AreaUserID,omitempty"` // 所属机构
  605. OriBuyPlanQty *float64 `protobuf:"fixed64,3,opt,name=OriBuyPlanQty" json:"OriBuyPlanQty,omitempty"` // 期初采购计划数量
  606. OriBuyPricedQty *float64 `protobuf:"fixed64,4,opt,name=OriBuyPricedQty" json:"OriBuyPricedQty,omitempty"` // 期初采购合同已定价数量
  607. OriSellPlanQty *float64 `protobuf:"fixed64,5,opt,name=OriSellPlanQty" json:"OriSellPlanQty,omitempty"` // 期初销售计划数量
  608. OriSellPricedQty *float64 `protobuf:"fixed64,6,opt,name=OriSellPricedQty" json:"OriSellPricedQty,omitempty"` // 期初销售合同已定价数量
  609. OriBuyFutureQty *uint64 `protobuf:"varint,7,opt,name=OriBuyFutureQty" json:"OriBuyFutureQty,omitempty"` // 期初买入期货数量
  610. OriSellFutureQty *uint64 `protobuf:"varint,8,opt,name=OriSellFutureQty" json:"OriSellFutureQty,omitempty"` // 期初卖出期货数量
  611. BuyPlanQty *float64 `protobuf:"fixed64,9,opt,name=BuyPlanQty" json:"BuyPlanQty,omitempty"` // 采购计划数量
  612. BuyPricedQty *float64 `protobuf:"fixed64,10,opt,name=BuyPricedQty" json:"BuyPricedQty,omitempty"` // 采购合同已定价数量
  613. SellPlanQty *float64 `protobuf:"fixed64,11,opt,name=SellPlanQty" json:"SellPlanQty,omitempty"` // 销售计划数量
  614. SellPricedQty *float64 `protobuf:"fixed64,12,opt,name=SellPricedQty" json:"SellPricedQty,omitempty"` // 销售合同已定价数量
  615. BuyFutureQty *float64 `protobuf:"fixed64,13,opt,name=BuyFutureQty" json:"BuyFutureQty,omitempty"` // 买入期货数量
  616. SellFutureQty *float64 `protobuf:"fixed64,14,opt,name=SellFutureQty" json:"SellFutureQty,omitempty"` // 卖出期货数量
  617. TotalSpotQty *float64 `protobuf:"fixed64,15,opt,name=TotalSpotQty" json:"TotalSpotQty,omitempty"` // 现货头寸总量
  618. TotalFutureQty *float64 `protobuf:"fixed64,16,opt,name=TotalFutureQty" json:"TotalFutureQty,omitempty"` // 期货头寸总量
  619. TotalExposure *float64 `protobuf:"fixed64,17,opt,name=TotalExposure" json:"TotalExposure,omitempty"` // 实时总敞口
  620. TotalHedgeRatio *float64 `protobuf:"fixed64,18,opt,name=TotalHedgeRatio" json:"TotalHedgeRatio,omitempty"` // 总套保比率
  621. TotalNeedHedgeQty *float64 `protobuf:"fixed64,19,opt,name=TotalNeedHedgeQty" json:"TotalNeedHedgeQty,omitempty"` // 应套保总量
  622. NeedHedgeExposoure *float64 `protobuf:"fixed64,20,opt,name=NeedHedgeExposoure" json:"NeedHedgeExposoure,omitempty"` // 应套保敞口
  623. NeedHedgeRatio *float64 `protobuf:"fixed64,21,opt,name=NeedHedgeRatio" json:"NeedHedgeRatio,omitempty"` // 应套保比率
  624. UpdateTime *Date `protobuf:"bytes,22,opt,name=UpdateTime" json:"UpdateTime,omitempty"` // 更新时间
  625. }
  626. func (x *ErmcpAreaExposure) Reset() {
  627. *x = ErmcpAreaExposure{}
  628. if protoimpl.UnsafeEnabled {
  629. mi := &file_mtp2_proto_msgTypes[5]
  630. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  631. ms.StoreMessageInfo(mi)
  632. }
  633. }
  634. func (x *ErmcpAreaExposure) String() string {
  635. return protoimpl.X.MessageStringOf(x)
  636. }
  637. func (*ErmcpAreaExposure) ProtoMessage() {}
  638. func (x *ErmcpAreaExposure) ProtoReflect() protoreflect.Message {
  639. mi := &file_mtp2_proto_msgTypes[5]
  640. if protoimpl.UnsafeEnabled && x != nil {
  641. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  642. if ms.LoadMessageInfo() == nil {
  643. ms.StoreMessageInfo(mi)
  644. }
  645. return ms
  646. }
  647. return mi.MessageOf(x)
  648. }
  649. // Deprecated: Use ErmcpAreaExposure.ProtoReflect.Descriptor instead.
  650. func (*ErmcpAreaExposure) Descriptor() ([]byte, []int) {
  651. return file_mtp2_proto_rawDescGZIP(), []int{5}
  652. }
  653. func (x *ErmcpAreaExposure) GetMiddleGoodsID() uint32 {
  654. if x != nil && x.MiddleGoodsID != nil {
  655. return *x.MiddleGoodsID
  656. }
  657. return 0
  658. }
  659. func (x *ErmcpAreaExposure) GetAreaUserID() uint32 {
  660. if x != nil && x.AreaUserID != nil {
  661. return *x.AreaUserID
  662. }
  663. return 0
  664. }
  665. func (x *ErmcpAreaExposure) GetOriBuyPlanQty() float64 {
  666. if x != nil && x.OriBuyPlanQty != nil {
  667. return *x.OriBuyPlanQty
  668. }
  669. return 0
  670. }
  671. func (x *ErmcpAreaExposure) GetOriBuyPricedQty() float64 {
  672. if x != nil && x.OriBuyPricedQty != nil {
  673. return *x.OriBuyPricedQty
  674. }
  675. return 0
  676. }
  677. func (x *ErmcpAreaExposure) GetOriSellPlanQty() float64 {
  678. if x != nil && x.OriSellPlanQty != nil {
  679. return *x.OriSellPlanQty
  680. }
  681. return 0
  682. }
  683. func (x *ErmcpAreaExposure) GetOriSellPricedQty() float64 {
  684. if x != nil && x.OriSellPricedQty != nil {
  685. return *x.OriSellPricedQty
  686. }
  687. return 0
  688. }
  689. func (x *ErmcpAreaExposure) GetOriBuyFutureQty() uint64 {
  690. if x != nil && x.OriBuyFutureQty != nil {
  691. return *x.OriBuyFutureQty
  692. }
  693. return 0
  694. }
  695. func (x *ErmcpAreaExposure) GetOriSellFutureQty() uint64 {
  696. if x != nil && x.OriSellFutureQty != nil {
  697. return *x.OriSellFutureQty
  698. }
  699. return 0
  700. }
  701. func (x *ErmcpAreaExposure) GetBuyPlanQty() float64 {
  702. if x != nil && x.BuyPlanQty != nil {
  703. return *x.BuyPlanQty
  704. }
  705. return 0
  706. }
  707. func (x *ErmcpAreaExposure) GetBuyPricedQty() float64 {
  708. if x != nil && x.BuyPricedQty != nil {
  709. return *x.BuyPricedQty
  710. }
  711. return 0
  712. }
  713. func (x *ErmcpAreaExposure) GetSellPlanQty() float64 {
  714. if x != nil && x.SellPlanQty != nil {
  715. return *x.SellPlanQty
  716. }
  717. return 0
  718. }
  719. func (x *ErmcpAreaExposure) GetSellPricedQty() float64 {
  720. if x != nil && x.SellPricedQty != nil {
  721. return *x.SellPricedQty
  722. }
  723. return 0
  724. }
  725. func (x *ErmcpAreaExposure) GetBuyFutureQty() float64 {
  726. if x != nil && x.BuyFutureQty != nil {
  727. return *x.BuyFutureQty
  728. }
  729. return 0
  730. }
  731. func (x *ErmcpAreaExposure) GetSellFutureQty() float64 {
  732. if x != nil && x.SellFutureQty != nil {
  733. return *x.SellFutureQty
  734. }
  735. return 0
  736. }
  737. func (x *ErmcpAreaExposure) GetTotalSpotQty() float64 {
  738. if x != nil && x.TotalSpotQty != nil {
  739. return *x.TotalSpotQty
  740. }
  741. return 0
  742. }
  743. func (x *ErmcpAreaExposure) GetTotalFutureQty() float64 {
  744. if x != nil && x.TotalFutureQty != nil {
  745. return *x.TotalFutureQty
  746. }
  747. return 0
  748. }
  749. func (x *ErmcpAreaExposure) GetTotalExposure() float64 {
  750. if x != nil && x.TotalExposure != nil {
  751. return *x.TotalExposure
  752. }
  753. return 0
  754. }
  755. func (x *ErmcpAreaExposure) GetTotalHedgeRatio() float64 {
  756. if x != nil && x.TotalHedgeRatio != nil {
  757. return *x.TotalHedgeRatio
  758. }
  759. return 0
  760. }
  761. func (x *ErmcpAreaExposure) GetTotalNeedHedgeQty() float64 {
  762. if x != nil && x.TotalNeedHedgeQty != nil {
  763. return *x.TotalNeedHedgeQty
  764. }
  765. return 0
  766. }
  767. func (x *ErmcpAreaExposure) GetNeedHedgeExposoure() float64 {
  768. if x != nil && x.NeedHedgeExposoure != nil {
  769. return *x.NeedHedgeExposoure
  770. }
  771. return 0
  772. }
  773. func (x *ErmcpAreaExposure) GetNeedHedgeRatio() float64 {
  774. if x != nil && x.NeedHedgeRatio != nil {
  775. return *x.NeedHedgeRatio
  776. }
  777. return 0
  778. }
  779. func (x *ErmcpAreaExposure) GetUpdateTime() *Date {
  780. if x != nil {
  781. return x.UpdateTime
  782. }
  783. return nil
  784. }
  785. // GoodsMarginCfgStruct 商品保证金配置
  786. type GoodsMarginCfgStruct struct {
  787. state protoimpl.MessageState
  788. sizeCache protoimpl.SizeCache
  789. unknownFields protoimpl.UnknownFields
  790. GoodsID *uint32 `protobuf:"varint,1,opt,name=GoodsID" json:"GoodsID,omitempty"` // 商品ID
  791. CustomerTypeID *uint32 `protobuf:"varint,2,opt,name=CustomerTypeID" json:"CustomerTypeID,omitempty"` // 投资者客户类型
  792. MarginAlgorithm *uint32 `protobuf:"varint,3,opt,name=MarginAlgorithm" json:"MarginAlgorithm,omitempty"` // 保证金计算方式
  793. MarketMarginValue *float64 `protobuf:"fixed64,4,opt,name=MarketMarginValue" json:"MarketMarginValue,omitempty"` // 即市保证金值
  794. ReckonMarginValue *float64 `protobuf:"fixed64,5,opt,name=ReckonMarginValue" json:"ReckonMarginValue,omitempty"` // 结算保证金值
  795. LockMarginValue *float64 `protobuf:"fixed64,6,opt,name=LockMarginValue" json:"LockMarginValue,omitempty"` // 锁仓保证金
  796. RealMarginValue *float64 `protobuf:"fixed64,7,opt,name=RealMarginValue" json:"RealMarginValue,omitempty"` // 实付比例
  797. RealMarginAlgorithm *uint32 `protobuf:"varint,8,opt,name=RealMarginAlgorithm" json:"RealMarginAlgorithm,omitempty"` // 实付保证金计算方式
  798. IsDefault *uint32 `protobuf:"varint,9,opt,name=IsDefault" json:"IsDefault,omitempty"` // 是否默认标志位
  799. }
  800. func (x *GoodsMarginCfgStruct) Reset() {
  801. *x = GoodsMarginCfgStruct{}
  802. if protoimpl.UnsafeEnabled {
  803. mi := &file_mtp2_proto_msgTypes[6]
  804. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  805. ms.StoreMessageInfo(mi)
  806. }
  807. }
  808. func (x *GoodsMarginCfgStruct) String() string {
  809. return protoimpl.X.MessageStringOf(x)
  810. }
  811. func (*GoodsMarginCfgStruct) ProtoMessage() {}
  812. func (x *GoodsMarginCfgStruct) ProtoReflect() protoreflect.Message {
  813. mi := &file_mtp2_proto_msgTypes[6]
  814. if protoimpl.UnsafeEnabled && x != nil {
  815. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  816. if ms.LoadMessageInfo() == nil {
  817. ms.StoreMessageInfo(mi)
  818. }
  819. return ms
  820. }
  821. return mi.MessageOf(x)
  822. }
  823. // Deprecated: Use GoodsMarginCfgStruct.ProtoReflect.Descriptor instead.
  824. func (*GoodsMarginCfgStruct) Descriptor() ([]byte, []int) {
  825. return file_mtp2_proto_rawDescGZIP(), []int{6}
  826. }
  827. func (x *GoodsMarginCfgStruct) GetGoodsID() uint32 {
  828. if x != nil && x.GoodsID != nil {
  829. return *x.GoodsID
  830. }
  831. return 0
  832. }
  833. func (x *GoodsMarginCfgStruct) GetCustomerTypeID() uint32 {
  834. if x != nil && x.CustomerTypeID != nil {
  835. return *x.CustomerTypeID
  836. }
  837. return 0
  838. }
  839. func (x *GoodsMarginCfgStruct) GetMarginAlgorithm() uint32 {
  840. if x != nil && x.MarginAlgorithm != nil {
  841. return *x.MarginAlgorithm
  842. }
  843. return 0
  844. }
  845. func (x *GoodsMarginCfgStruct) GetMarketMarginValue() float64 {
  846. if x != nil && x.MarketMarginValue != nil {
  847. return *x.MarketMarginValue
  848. }
  849. return 0
  850. }
  851. func (x *GoodsMarginCfgStruct) GetReckonMarginValue() float64 {
  852. if x != nil && x.ReckonMarginValue != nil {
  853. return *x.ReckonMarginValue
  854. }
  855. return 0
  856. }
  857. func (x *GoodsMarginCfgStruct) GetLockMarginValue() float64 {
  858. if x != nil && x.LockMarginValue != nil {
  859. return *x.LockMarginValue
  860. }
  861. return 0
  862. }
  863. func (x *GoodsMarginCfgStruct) GetRealMarginValue() float64 {
  864. if x != nil && x.RealMarginValue != nil {
  865. return *x.RealMarginValue
  866. }
  867. return 0
  868. }
  869. func (x *GoodsMarginCfgStruct) GetRealMarginAlgorithm() uint32 {
  870. if x != nil && x.RealMarginAlgorithm != nil {
  871. return *x.RealMarginAlgorithm
  872. }
  873. return 0
  874. }
  875. func (x *GoodsMarginCfgStruct) GetIsDefault() uint32 {
  876. if x != nil && x.IsDefault != nil {
  877. return *x.IsDefault
  878. }
  879. return 0
  880. }
  881. // ERMCP2_HEDGEDITEM 被套期项目表
  882. type Ermcp2HedgedItem struct {
  883. state protoimpl.MessageState
  884. sizeCache protoimpl.SizeCache
  885. unknownFields protoimpl.UnknownFields
  886. //mkey: 1
  887. HedgedItemID *uint64 `protobuf:"varint,1,opt,name=HedgedItemID" json:"HedgedItemID,omitempty"` // 被套期项目ID(624+Unix秒时间戳(10位)+xxxxxx)
  888. HedgedItemNum *string `protobuf:"bytes,2,opt,name=HedgedItemNum" json:"HedgedItemNum,omitempty"` // 项目编号
  889. HedgedItemName *string `protobuf:"bytes,3,opt,name=HedgedItemName" json:"HedgedItemName,omitempty"` // 项目名称
  890. HedgedType *uint64 `protobuf:"varint,4,opt,name=HedgedType" json:"HedgedType,omitempty"` // 套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目
  891. PlanStartDate *Date `protobuf:"bytes,5,opt,name=PlanStartDate" json:"PlanStartDate,omitempty"` // 计划开始日期 --DATE
  892. PlanEndDate *Date `protobuf:"bytes,6,opt,name=PlanEndDate" json:"PlanEndDate,omitempty"` // 计划结束日期 --DATE
  893. HedgeRate *float64 `protobuf:"fixed64,7,opt,name=HedgeRate" json:"HedgeRate,omitempty"` // 套保比率
  894. TradeUserID *uint64 `protobuf:"varint,8,opt,name=TradeUserID" json:"TradeUserID,omitempty"` // 交易用户ID
  895. AreaUserID *uint64 `protobuf:"varint,9,opt,name=AreaUserID" json:"AreaUserID,omitempty"` // 企业ID
  896. HedgedItemStatus *uint64 `protobuf:"varint,10,opt,name=HedgedItemStatus" json:"HedgedItemStatus,omitempty"` // 项目状态 - 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
  897. ApplySrc *uint64 `protobuf:"varint,11,opt,name=ApplySrc" json:"ApplySrc,omitempty"` // 申请来源 - 1:管理端 2:终端
  898. ApplyID *uint64 `protobuf:"varint,12,opt,name=ApplyID" json:"ApplyID,omitempty"` // 申请人
  899. Remark *string `protobuf:"bytes,13,opt,name=Remark" json:"Remark,omitempty"` // 备注
  900. CreateTime *Date `protobuf:"bytes,14,opt,name=CreateTime" json:"CreateTime,omitempty"` // 申请时间 --DATE
  901. AuditTradeDate *string `protobuf:"bytes,15,opt,name=AuditTradeDate" json:"AuditTradeDate,omitempty"` // 审核交易日(yyyyMMdd)
  902. AuditID *uint64 `protobuf:"varint,16,opt,name=AuditID" json:"AuditID,omitempty"` // 审核人
  903. AuditSrc *uint64 `protobuf:"varint,17,opt,name=AuditSrc" json:"AuditSrc,omitempty"` // 审核来源 - 1:管理端 2:终端
  904. AuditTime *string `protobuf:"bytes,18,opt,name=AuditTime" json:"AuditTime,omitempty"` // 审核时间 --DATE
  905. AuditRemark *string `protobuf:"bytes,19,opt,name=AuditRemark" json:"AuditRemark,omitempty"` // 审核备注
  906. DeliveryGoodsID *uint64 `protobuf:"varint,20,opt,name=DeliveryGoodsID" json:"DeliveryGoodsID,omitempty"` // 现货品种ID
  907. WrStandardID *uint64 `protobuf:"varint,21,opt,name=WrStandardID" json:"WrStandardID,omitempty"` // 现货商品ID
  908. VatRate *float64 `protobuf:"fixed64,22,opt,name=VatRate" json:"VatRate,omitempty"` // 增值税
  909. HedgeQty *float64 `protobuf:"fixed64,23,opt,name=HedgeQty" json:"HedgeQty,omitempty"` // 套期现货量
  910. HedgeAmount *float64 `protobuf:"fixed64,24,opt,name=HedgeAmount" json:"HedgeAmount,omitempty"` // 套期市价总额
  911. HedgeRestAmount *float64 `protobuf:"fixed64,25,opt,name=HedgeRestAmount" json:"HedgeRestAmount,omitempty"` // 套期剩余市价总额【现货贸易】
  912. HedgeContractAmount *float64 `protobuf:"fixed64,26,opt,name=HedgeContractAmount" json:"HedgeContractAmount,omitempty"` // 套期定价总额 【定价采购合同】【现货贸易】
  913. OriAvgPrice *float64 `protobuf:"fixed64,27,opt,name=OriAvgPrice" json:"OriAvgPrice,omitempty"` // 期初市场均价 = 套期市价总额 / 套期现货量
  914. ExeQty *float64 `protobuf:"fixed64,28,opt,name=ExeQty" json:"ExeQty,omitempty"` // 执行现货量
  915. ExeAmount *float64 `protobuf:"fixed64,29,opt,name=ExeAmount" json:"ExeAmount,omitempty"` // 执行市价总额
  916. ExeRestAmount *float64 `protobuf:"fixed64,30,opt,name=ExeRestAmount" json:"ExeRestAmount,omitempty"` // 执行剩余市价总额【现货贸易】
  917. ExeAvgPrice *float64 `protobuf:"fixed64,31,opt,name=ExeAvgPrice" json:"ExeAvgPrice,omitempty"` // 执行市场均价= 执行市价总额 / 执行现货量
  918. ExeContractAmount *float64 `protobuf:"fixed64,32,opt,name=ExeContractAmount" json:"ExeContractAmount,omitempty"` // 执行定价总额
  919. CurPrice *float64 `protobuf:"fixed64,33,opt,name=CurPrice" json:"CurPrice,omitempty"` // 当前市场价
  920. UnExeQty *float64 `protobuf:"fixed64,34,opt,name=UnExeQty" json:"UnExeQty,omitempty"` // 未执行现货量 = 套期现货量 - 执行现货量
  921. SpotHedgePL *float64 `protobuf:"fixed64,35,opt,name=SpotHedgePL" json:"SpotHedgePL,omitempty"` // 现货套期损益 =(执行市场均价-期初市场均价)*执行现货量 * 方向(销售计划 为 -1, 其它为1)
  922. SpotPL *float64 `protobuf:"fixed64,36,opt,name=SpotPL" json:"SpotPL,omitempty"` // 现货套期损益 = 现货实际损益 + 现货浮动损益
  923. FutureHedgePL *float64 `protobuf:"fixed64,37,opt,name=FutureHedgePL" json:"FutureHedgePL,omitempty"` // 期货实际损益
  924. FuturePL *float64 `protobuf:"fixed64,38,opt,name=FuturePL" json:"FuturePL,omitempty"` // 期货套期损益
  925. HedgeSumPL *float64 `protobuf:"fixed64,39,opt,name=HedgeSumPL" json:"HedgeSumPL,omitempty"` // 套期汇总损益 = 期货汇总损益 + 现货汇总损益
  926. SpotTradePL *float64 `protobuf:"fixed64,40,opt,name=SpotTradePL" json:"SpotTradePL,omitempty"` // 现货贸易损益【现货贸易】= 执行合同定价总额 - 套期合同定价总额
  927. VatPL *float64 `protobuf:"fixed64,41,opt,name=VatPL" json:"VatPL,omitempty"` // 增值税损益【现货贸易】= 现货贸易损益 * (增值税率 /(1+增值税率))
  928. SumObsPL *float64 `protobuf:"fixed64,42,opt,name=SumObsPL" json:"SumObsPL,omitempty"` // 汇总绝对损益【现货贸易】=现货贸易损益+增值税损益+期货套期损益
  929. SpotBookAmount *float64 `protobuf:"fixed64,43,opt,name=SpotBookAmount" json:"SpotBookAmount,omitempty"` // 现货账面总额
  930. CurStock *float64 `protobuf:"fixed64,44,opt,name=CurStock" json:"CurStock,omitempty"` // 期末库存量 = 采购总量 - 销售总量
  931. EndDate *Date `protobuf:"bytes,45,opt,name=EndDate" json:"EndDate,omitempty"` // 完成日期 --DATE
  932. EndTradeDate *string `protobuf:"bytes,46,opt,name=EndTradeDate" json:"EndTradeDate,omitempty"` // 完成交易日
  933. UpdateTime *Date `protobuf:"bytes,47,opt,name=UpdateTime" json:"UpdateTime,omitempty"` // 更新时间 --DATE
  934. OriSpotHedgePL *float64 `protobuf:"fixed64,48,opt,name=OriSpotHedgePL" json:"OriSpotHedgePL,omitempty"` // 期初现货实际损益
  935. OriFutureHedgePL *float64 `protobuf:"fixed64,49,opt,name=OriFutureHedgePL" json:"OriFutureHedgePL,omitempty"` // 期初期货实际损益
  936. OriSpotPL *float64 `protobuf:"fixed64,50,opt,name=OriSpotPL" json:"OriSpotPL,omitempty"` // 期初现货套期损益
  937. OriFuturePL *float64 `protobuf:"fixed64,51,opt,name=OriFuturePL" json:"OriFuturePL,omitempty"` // 期初期货套期损益
  938. SpotFloatPL *float64 `protobuf:"fixed64,52,opt,name=SpotFloatPL" json:"SpotFloatPL,omitempty"` // 现货浮动损益 =(当前市场价 - 期初市场价)*未执行现货量 * 方向(销售计划 为 -1, 其它为1)
  939. FutureFloatPL *float64 `protobuf:"fixed64,53,opt,name=FutureFloatPL" json:"FutureFloatPL,omitempty"` // 期货浮动损益
  940. IsRelated *uint32 `protobuf:"varint,54,opt,name=IsRelated" json:"IsRelated,omitempty"` //是否关联 - 0:未关联 1:已关联
  941. }
  942. func (x *Ermcp2HedgedItem) Reset() {
  943. *x = Ermcp2HedgedItem{}
  944. if protoimpl.UnsafeEnabled {
  945. mi := &file_mtp2_proto_msgTypes[7]
  946. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  947. ms.StoreMessageInfo(mi)
  948. }
  949. }
  950. func (x *Ermcp2HedgedItem) String() string {
  951. return protoimpl.X.MessageStringOf(x)
  952. }
  953. func (*Ermcp2HedgedItem) ProtoMessage() {}
  954. func (x *Ermcp2HedgedItem) ProtoReflect() protoreflect.Message {
  955. mi := &file_mtp2_proto_msgTypes[7]
  956. if protoimpl.UnsafeEnabled && x != nil {
  957. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  958. if ms.LoadMessageInfo() == nil {
  959. ms.StoreMessageInfo(mi)
  960. }
  961. return ms
  962. }
  963. return mi.MessageOf(x)
  964. }
  965. // Deprecated: Use Ermcp2HedgedItem.ProtoReflect.Descriptor instead.
  966. func (*Ermcp2HedgedItem) Descriptor() ([]byte, []int) {
  967. return file_mtp2_proto_rawDescGZIP(), []int{7}
  968. }
  969. func (x *Ermcp2HedgedItem) GetHedgedItemID() uint64 {
  970. if x != nil && x.HedgedItemID != nil {
  971. return *x.HedgedItemID
  972. }
  973. return 0
  974. }
  975. func (x *Ermcp2HedgedItem) GetHedgedItemNum() string {
  976. if x != nil && x.HedgedItemNum != nil {
  977. return *x.HedgedItemNum
  978. }
  979. return ""
  980. }
  981. func (x *Ermcp2HedgedItem) GetHedgedItemName() string {
  982. if x != nil && x.HedgedItemName != nil {
  983. return *x.HedgedItemName
  984. }
  985. return ""
  986. }
  987. func (x *Ermcp2HedgedItem) GetHedgedType() uint64 {
  988. if x != nil && x.HedgedType != nil {
  989. return *x.HedgedType
  990. }
  991. return 0
  992. }
  993. func (x *Ermcp2HedgedItem) GetPlanStartDate() *Date {
  994. if x != nil {
  995. return x.PlanStartDate
  996. }
  997. return nil
  998. }
  999. func (x *Ermcp2HedgedItem) GetPlanEndDate() *Date {
  1000. if x != nil {
  1001. return x.PlanEndDate
  1002. }
  1003. return nil
  1004. }
  1005. func (x *Ermcp2HedgedItem) GetHedgeRate() float64 {
  1006. if x != nil && x.HedgeRate != nil {
  1007. return *x.HedgeRate
  1008. }
  1009. return 0
  1010. }
  1011. func (x *Ermcp2HedgedItem) GetTradeUserID() uint64 {
  1012. if x != nil && x.TradeUserID != nil {
  1013. return *x.TradeUserID
  1014. }
  1015. return 0
  1016. }
  1017. func (x *Ermcp2HedgedItem) GetAreaUserID() uint64 {
  1018. if x != nil && x.AreaUserID != nil {
  1019. return *x.AreaUserID
  1020. }
  1021. return 0
  1022. }
  1023. func (x *Ermcp2HedgedItem) GetHedgedItemStatus() uint64 {
  1024. if x != nil && x.HedgedItemStatus != nil {
  1025. return *x.HedgedItemStatus
  1026. }
  1027. return 0
  1028. }
  1029. func (x *Ermcp2HedgedItem) GetApplySrc() uint64 {
  1030. if x != nil && x.ApplySrc != nil {
  1031. return *x.ApplySrc
  1032. }
  1033. return 0
  1034. }
  1035. func (x *Ermcp2HedgedItem) GetApplyID() uint64 {
  1036. if x != nil && x.ApplyID != nil {
  1037. return *x.ApplyID
  1038. }
  1039. return 0
  1040. }
  1041. func (x *Ermcp2HedgedItem) GetRemark() string {
  1042. if x != nil && x.Remark != nil {
  1043. return *x.Remark
  1044. }
  1045. return ""
  1046. }
  1047. func (x *Ermcp2HedgedItem) GetCreateTime() *Date {
  1048. if x != nil {
  1049. return x.CreateTime
  1050. }
  1051. return nil
  1052. }
  1053. func (x *Ermcp2HedgedItem) GetAuditTradeDate() string {
  1054. if x != nil && x.AuditTradeDate != nil {
  1055. return *x.AuditTradeDate
  1056. }
  1057. return ""
  1058. }
  1059. func (x *Ermcp2HedgedItem) GetAuditID() uint64 {
  1060. if x != nil && x.AuditID != nil {
  1061. return *x.AuditID
  1062. }
  1063. return 0
  1064. }
  1065. func (x *Ermcp2HedgedItem) GetAuditSrc() uint64 {
  1066. if x != nil && x.AuditSrc != nil {
  1067. return *x.AuditSrc
  1068. }
  1069. return 0
  1070. }
  1071. func (x *Ermcp2HedgedItem) GetAuditTime() string {
  1072. if x != nil && x.AuditTime != nil {
  1073. return *x.AuditTime
  1074. }
  1075. return ""
  1076. }
  1077. func (x *Ermcp2HedgedItem) GetAuditRemark() string {
  1078. if x != nil && x.AuditRemark != nil {
  1079. return *x.AuditRemark
  1080. }
  1081. return ""
  1082. }
  1083. func (x *Ermcp2HedgedItem) GetDeliveryGoodsID() uint64 {
  1084. if x != nil && x.DeliveryGoodsID != nil {
  1085. return *x.DeliveryGoodsID
  1086. }
  1087. return 0
  1088. }
  1089. func (x *Ermcp2HedgedItem) GetWrStandardID() uint64 {
  1090. if x != nil && x.WrStandardID != nil {
  1091. return *x.WrStandardID
  1092. }
  1093. return 0
  1094. }
  1095. func (x *Ermcp2HedgedItem) GetVatRate() float64 {
  1096. if x != nil && x.VatRate != nil {
  1097. return *x.VatRate
  1098. }
  1099. return 0
  1100. }
  1101. func (x *Ermcp2HedgedItem) GetHedgeQty() float64 {
  1102. if x != nil && x.HedgeQty != nil {
  1103. return *x.HedgeQty
  1104. }
  1105. return 0
  1106. }
  1107. func (x *Ermcp2HedgedItem) GetHedgeAmount() float64 {
  1108. if x != nil && x.HedgeAmount != nil {
  1109. return *x.HedgeAmount
  1110. }
  1111. return 0
  1112. }
  1113. func (x *Ermcp2HedgedItem) GetHedgeRestAmount() float64 {
  1114. if x != nil && x.HedgeRestAmount != nil {
  1115. return *x.HedgeRestAmount
  1116. }
  1117. return 0
  1118. }
  1119. func (x *Ermcp2HedgedItem) GetHedgeContractAmount() float64 {
  1120. if x != nil && x.HedgeContractAmount != nil {
  1121. return *x.HedgeContractAmount
  1122. }
  1123. return 0
  1124. }
  1125. func (x *Ermcp2HedgedItem) GetOriAvgPrice() float64 {
  1126. if x != nil && x.OriAvgPrice != nil {
  1127. return *x.OriAvgPrice
  1128. }
  1129. return 0
  1130. }
  1131. func (x *Ermcp2HedgedItem) GetExeQty() float64 {
  1132. if x != nil && x.ExeQty != nil {
  1133. return *x.ExeQty
  1134. }
  1135. return 0
  1136. }
  1137. func (x *Ermcp2HedgedItem) GetExeAmount() float64 {
  1138. if x != nil && x.ExeAmount != nil {
  1139. return *x.ExeAmount
  1140. }
  1141. return 0
  1142. }
  1143. func (x *Ermcp2HedgedItem) GetExeRestAmount() float64 {
  1144. if x != nil && x.ExeRestAmount != nil {
  1145. return *x.ExeRestAmount
  1146. }
  1147. return 0
  1148. }
  1149. func (x *Ermcp2HedgedItem) GetExeAvgPrice() float64 {
  1150. if x != nil && x.ExeAvgPrice != nil {
  1151. return *x.ExeAvgPrice
  1152. }
  1153. return 0
  1154. }
  1155. func (x *Ermcp2HedgedItem) GetExeContractAmount() float64 {
  1156. if x != nil && x.ExeContractAmount != nil {
  1157. return *x.ExeContractAmount
  1158. }
  1159. return 0
  1160. }
  1161. func (x *Ermcp2HedgedItem) GetCurPrice() float64 {
  1162. if x != nil && x.CurPrice != nil {
  1163. return *x.CurPrice
  1164. }
  1165. return 0
  1166. }
  1167. func (x *Ermcp2HedgedItem) GetUnExeQty() float64 {
  1168. if x != nil && x.UnExeQty != nil {
  1169. return *x.UnExeQty
  1170. }
  1171. return 0
  1172. }
  1173. func (x *Ermcp2HedgedItem) GetSpotHedgePL() float64 {
  1174. if x != nil && x.SpotHedgePL != nil {
  1175. return *x.SpotHedgePL
  1176. }
  1177. return 0
  1178. }
  1179. func (x *Ermcp2HedgedItem) GetSpotPL() float64 {
  1180. if x != nil && x.SpotPL != nil {
  1181. return *x.SpotPL
  1182. }
  1183. return 0
  1184. }
  1185. func (x *Ermcp2HedgedItem) GetFutureHedgePL() float64 {
  1186. if x != nil && x.FutureHedgePL != nil {
  1187. return *x.FutureHedgePL
  1188. }
  1189. return 0
  1190. }
  1191. func (x *Ermcp2HedgedItem) GetFuturePL() float64 {
  1192. if x != nil && x.FuturePL != nil {
  1193. return *x.FuturePL
  1194. }
  1195. return 0
  1196. }
  1197. func (x *Ermcp2HedgedItem) GetHedgeSumPL() float64 {
  1198. if x != nil && x.HedgeSumPL != nil {
  1199. return *x.HedgeSumPL
  1200. }
  1201. return 0
  1202. }
  1203. func (x *Ermcp2HedgedItem) GetSpotTradePL() float64 {
  1204. if x != nil && x.SpotTradePL != nil {
  1205. return *x.SpotTradePL
  1206. }
  1207. return 0
  1208. }
  1209. func (x *Ermcp2HedgedItem) GetVatPL() float64 {
  1210. if x != nil && x.VatPL != nil {
  1211. return *x.VatPL
  1212. }
  1213. return 0
  1214. }
  1215. func (x *Ermcp2HedgedItem) GetSumObsPL() float64 {
  1216. if x != nil && x.SumObsPL != nil {
  1217. return *x.SumObsPL
  1218. }
  1219. return 0
  1220. }
  1221. func (x *Ermcp2HedgedItem) GetSpotBookAmount() float64 {
  1222. if x != nil && x.SpotBookAmount != nil {
  1223. return *x.SpotBookAmount
  1224. }
  1225. return 0
  1226. }
  1227. func (x *Ermcp2HedgedItem) GetCurStock() float64 {
  1228. if x != nil && x.CurStock != nil {
  1229. return *x.CurStock
  1230. }
  1231. return 0
  1232. }
  1233. func (x *Ermcp2HedgedItem) GetEndDate() *Date {
  1234. if x != nil {
  1235. return x.EndDate
  1236. }
  1237. return nil
  1238. }
  1239. func (x *Ermcp2HedgedItem) GetEndTradeDate() string {
  1240. if x != nil && x.EndTradeDate != nil {
  1241. return *x.EndTradeDate
  1242. }
  1243. return ""
  1244. }
  1245. func (x *Ermcp2HedgedItem) GetUpdateTime() *Date {
  1246. if x != nil {
  1247. return x.UpdateTime
  1248. }
  1249. return nil
  1250. }
  1251. func (x *Ermcp2HedgedItem) GetOriSpotHedgePL() float64 {
  1252. if x != nil && x.OriSpotHedgePL != nil {
  1253. return *x.OriSpotHedgePL
  1254. }
  1255. return 0
  1256. }
  1257. func (x *Ermcp2HedgedItem) GetOriFutureHedgePL() float64 {
  1258. if x != nil && x.OriFutureHedgePL != nil {
  1259. return *x.OriFutureHedgePL
  1260. }
  1261. return 0
  1262. }
  1263. func (x *Ermcp2HedgedItem) GetOriSpotPL() float64 {
  1264. if x != nil && x.OriSpotPL != nil {
  1265. return *x.OriSpotPL
  1266. }
  1267. return 0
  1268. }
  1269. func (x *Ermcp2HedgedItem) GetOriFuturePL() float64 {
  1270. if x != nil && x.OriFuturePL != nil {
  1271. return *x.OriFuturePL
  1272. }
  1273. return 0
  1274. }
  1275. func (x *Ermcp2HedgedItem) GetSpotFloatPL() float64 {
  1276. if x != nil && x.SpotFloatPL != nil {
  1277. return *x.SpotFloatPL
  1278. }
  1279. return 0
  1280. }
  1281. func (x *Ermcp2HedgedItem) GetFutureFloatPL() float64 {
  1282. if x != nil && x.FutureFloatPL != nil {
  1283. return *x.FutureFloatPL
  1284. }
  1285. return 0
  1286. }
  1287. func (x *Ermcp2HedgedItem) GetIsRelated() uint32 {
  1288. if x != nil && x.IsRelated != nil {
  1289. return *x.IsRelated
  1290. }
  1291. return 0
  1292. }
  1293. // ERMCP2_HEDGEDITEM 被套期项目表扩展
  1294. type Ermcp2HedgedItemExt struct {
  1295. state protoimpl.MessageState
  1296. sizeCache protoimpl.SizeCache
  1297. unknownFields protoimpl.UnknownFields
  1298. Item *Ermcp2HedgedItem `protobuf:"bytes,1,opt,name=item" json:"item,omitempty"`
  1299. Accountname *string `protobuf:"bytes,2,opt,name=accountname" json:"accountname,omitempty"`
  1300. Wrstandardname *string `protobuf:"bytes,3,opt,name=wrstandardname" json:"wrstandardname,omitempty"`
  1301. Unitid *uint32 `protobuf:"varint,4,opt,name=unitid" json:"unitid,omitempty"`
  1302. }
  1303. func (x *Ermcp2HedgedItemExt) Reset() {
  1304. *x = Ermcp2HedgedItemExt{}
  1305. if protoimpl.UnsafeEnabled {
  1306. mi := &file_mtp2_proto_msgTypes[8]
  1307. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1308. ms.StoreMessageInfo(mi)
  1309. }
  1310. }
  1311. func (x *Ermcp2HedgedItemExt) String() string {
  1312. return protoimpl.X.MessageStringOf(x)
  1313. }
  1314. func (*Ermcp2HedgedItemExt) ProtoMessage() {}
  1315. func (x *Ermcp2HedgedItemExt) ProtoReflect() protoreflect.Message {
  1316. mi := &file_mtp2_proto_msgTypes[8]
  1317. if protoimpl.UnsafeEnabled && x != nil {
  1318. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1319. if ms.LoadMessageInfo() == nil {
  1320. ms.StoreMessageInfo(mi)
  1321. }
  1322. return ms
  1323. }
  1324. return mi.MessageOf(x)
  1325. }
  1326. // Deprecated: Use Ermcp2HedgedItemExt.ProtoReflect.Descriptor instead.
  1327. func (*Ermcp2HedgedItemExt) Descriptor() ([]byte, []int) {
  1328. return file_mtp2_proto_rawDescGZIP(), []int{8}
  1329. }
  1330. func (x *Ermcp2HedgedItemExt) GetItem() *Ermcp2HedgedItem {
  1331. if x != nil {
  1332. return x.Item
  1333. }
  1334. return nil
  1335. }
  1336. func (x *Ermcp2HedgedItemExt) GetAccountname() string {
  1337. if x != nil && x.Accountname != nil {
  1338. return *x.Accountname
  1339. }
  1340. return ""
  1341. }
  1342. func (x *Ermcp2HedgedItemExt) GetWrstandardname() string {
  1343. if x != nil && x.Wrstandardname != nil {
  1344. return *x.Wrstandardname
  1345. }
  1346. return ""
  1347. }
  1348. func (x *Ermcp2HedgedItemExt) GetUnitid() uint32 {
  1349. if x != nil && x.Unitid != nil {
  1350. return *x.Unitid
  1351. }
  1352. return 0
  1353. }
  1354. // ERMCP2_HIMIDDLEGOODS 项目套保品种明细
  1355. type Ermcp2HIMiddleGoods struct {
  1356. state protoimpl.MessageState
  1357. sizeCache protoimpl.SizeCache
  1358. unknownFields protoimpl.UnknownFields
  1359. //mkey: 1 2
  1360. HedgedItemID *uint64 `protobuf:"varint,1,opt,name=HedgedItemID" json:"HedgedItemID,omitempty"` // 被套期项目ID(624+Unix秒时间戳(10位)+xxxxxx)
  1361. MiddleGoodsID *uint64 `protobuf:"varint,2,opt,name=MiddleGoodsID" json:"MiddleGoodsID,omitempty"` // 套保品种ID
  1362. DeliveryGoodsID *uint64 `protobuf:"varint,3,opt,name=DeliveryGoodsID" json:"DeliveryGoodsID,omitempty"` // 现货品种ID
  1363. WrstandardID *uint64 `protobuf:"varint,4,opt,name=WrstandardID" json:"WrstandardID,omitempty"` // 现货商品ID
  1364. VatRate *float64 `protobuf:"fixed64,5,opt,name=VatRate" json:"VatRate,omitempty"` // 增值税
  1365. SpotConvertRatio *float64 `protobuf:"fixed64,6,opt,name=SpotConvertRatio" json:"SpotConvertRatio,omitempty"` // 折算系数 [现货]
  1366. UnexeSpotQty *float64 `protobuf:"fixed64,7,opt,name=UnexeSpotQty" json:"UnexeSpotQty,omitempty"` // 未执行现货量
  1367. UnexeHedgeQty *float64 `protobuf:"fixed64,8,opt,name=UnexeHedgeQty" json:"UnexeHedgeQty,omitempty"` // 未执行套期量 = 未执行现货量*折算系数* (1/(1+增值税)) * 套期比例(项目上)
  1368. FutureHedgeQty *float64 `protobuf:"fixed64,9,opt,name=FutureHedgeQty" json:"FutureHedgeQty,omitempty"` // 期货持仓套期量
  1369. HIExpsoure *float64 `protobuf:"fixed64,10,opt,name=HIExpsoure" json:"HIExpsoure,omitempty"` // 期现敞口量 = 未执行套期量 + 期货持仓套期量
  1370. TradeUserID *uint64 `protobuf:"varint,11,opt,name=TradeUserID" json:"TradeUserID,omitempty"` // 交易用户ID
  1371. AreaUserID *uint64 `protobuf:"varint,12,opt,name=AreaUserID" json:"AreaUserID,omitempty"` // 企业ID
  1372. CreateTime *Date `protobuf:"bytes,13,opt,name=CreateTime" json:"CreateTime,omitempty"` // 创建时间 --DATE
  1373. UpdateTime *Date `protobuf:"bytes,14,opt,name=UpdateTime" json:"UpdateTime,omitempty"` // 更新时间 --DATE
  1374. }
  1375. func (x *Ermcp2HIMiddleGoods) Reset() {
  1376. *x = Ermcp2HIMiddleGoods{}
  1377. if protoimpl.UnsafeEnabled {
  1378. mi := &file_mtp2_proto_msgTypes[9]
  1379. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1380. ms.StoreMessageInfo(mi)
  1381. }
  1382. }
  1383. func (x *Ermcp2HIMiddleGoods) String() string {
  1384. return protoimpl.X.MessageStringOf(x)
  1385. }
  1386. func (*Ermcp2HIMiddleGoods) ProtoMessage() {}
  1387. func (x *Ermcp2HIMiddleGoods) ProtoReflect() protoreflect.Message {
  1388. mi := &file_mtp2_proto_msgTypes[9]
  1389. if protoimpl.UnsafeEnabled && x != nil {
  1390. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1391. if ms.LoadMessageInfo() == nil {
  1392. ms.StoreMessageInfo(mi)
  1393. }
  1394. return ms
  1395. }
  1396. return mi.MessageOf(x)
  1397. }
  1398. // Deprecated: Use Ermcp2HIMiddleGoods.ProtoReflect.Descriptor instead.
  1399. func (*Ermcp2HIMiddleGoods) Descriptor() ([]byte, []int) {
  1400. return file_mtp2_proto_rawDescGZIP(), []int{9}
  1401. }
  1402. func (x *Ermcp2HIMiddleGoods) GetHedgedItemID() uint64 {
  1403. if x != nil && x.HedgedItemID != nil {
  1404. return *x.HedgedItemID
  1405. }
  1406. return 0
  1407. }
  1408. func (x *Ermcp2HIMiddleGoods) GetMiddleGoodsID() uint64 {
  1409. if x != nil && x.MiddleGoodsID != nil {
  1410. return *x.MiddleGoodsID
  1411. }
  1412. return 0
  1413. }
  1414. func (x *Ermcp2HIMiddleGoods) GetDeliveryGoodsID() uint64 {
  1415. if x != nil && x.DeliveryGoodsID != nil {
  1416. return *x.DeliveryGoodsID
  1417. }
  1418. return 0
  1419. }
  1420. func (x *Ermcp2HIMiddleGoods) GetWrstandardID() uint64 {
  1421. if x != nil && x.WrstandardID != nil {
  1422. return *x.WrstandardID
  1423. }
  1424. return 0
  1425. }
  1426. func (x *Ermcp2HIMiddleGoods) GetVatRate() float64 {
  1427. if x != nil && x.VatRate != nil {
  1428. return *x.VatRate
  1429. }
  1430. return 0
  1431. }
  1432. func (x *Ermcp2HIMiddleGoods) GetSpotConvertRatio() float64 {
  1433. if x != nil && x.SpotConvertRatio != nil {
  1434. return *x.SpotConvertRatio
  1435. }
  1436. return 0
  1437. }
  1438. func (x *Ermcp2HIMiddleGoods) GetUnexeSpotQty() float64 {
  1439. if x != nil && x.UnexeSpotQty != nil {
  1440. return *x.UnexeSpotQty
  1441. }
  1442. return 0
  1443. }
  1444. func (x *Ermcp2HIMiddleGoods) GetUnexeHedgeQty() float64 {
  1445. if x != nil && x.UnexeHedgeQty != nil {
  1446. return *x.UnexeHedgeQty
  1447. }
  1448. return 0
  1449. }
  1450. func (x *Ermcp2HIMiddleGoods) GetFutureHedgeQty() float64 {
  1451. if x != nil && x.FutureHedgeQty != nil {
  1452. return *x.FutureHedgeQty
  1453. }
  1454. return 0
  1455. }
  1456. func (x *Ermcp2HIMiddleGoods) GetHIExpsoure() float64 {
  1457. if x != nil && x.HIExpsoure != nil {
  1458. return *x.HIExpsoure
  1459. }
  1460. return 0
  1461. }
  1462. func (x *Ermcp2HIMiddleGoods) GetTradeUserID() uint64 {
  1463. if x != nil && x.TradeUserID != nil {
  1464. return *x.TradeUserID
  1465. }
  1466. return 0
  1467. }
  1468. func (x *Ermcp2HIMiddleGoods) GetAreaUserID() uint64 {
  1469. if x != nil && x.AreaUserID != nil {
  1470. return *x.AreaUserID
  1471. }
  1472. return 0
  1473. }
  1474. func (x *Ermcp2HIMiddleGoods) GetCreateTime() *Date {
  1475. if x != nil {
  1476. return x.CreateTime
  1477. }
  1478. return nil
  1479. }
  1480. func (x *Ermcp2HIMiddleGoods) GetUpdateTime() *Date {
  1481. if x != nil {
  1482. return x.UpdateTime
  1483. }
  1484. return nil
  1485. }
  1486. // ERMCP2_HIMIDDLEGOODS 项目套保品种明细扩展
  1487. type Ermcp2HIMiddleGoodsExt struct {
  1488. state protoimpl.MessageState
  1489. sizeCache protoimpl.SizeCache
  1490. unknownFields protoimpl.UnknownFields
  1491. Middlegoods *Ermcp2HIMiddleGoods `protobuf:"bytes,1,opt,name=middlegoods" json:"middlegoods,omitempty"`
  1492. Middlegoodsname *string `protobuf:"bytes,2,opt,name=middlegoodsname" json:"middlegoodsname,omitempty"`
  1493. }
  1494. func (x *Ermcp2HIMiddleGoodsExt) Reset() {
  1495. *x = Ermcp2HIMiddleGoodsExt{}
  1496. if protoimpl.UnsafeEnabled {
  1497. mi := &file_mtp2_proto_msgTypes[10]
  1498. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1499. ms.StoreMessageInfo(mi)
  1500. }
  1501. }
  1502. func (x *Ermcp2HIMiddleGoodsExt) String() string {
  1503. return protoimpl.X.MessageStringOf(x)
  1504. }
  1505. func (*Ermcp2HIMiddleGoodsExt) ProtoMessage() {}
  1506. func (x *Ermcp2HIMiddleGoodsExt) ProtoReflect() protoreflect.Message {
  1507. mi := &file_mtp2_proto_msgTypes[10]
  1508. if protoimpl.UnsafeEnabled && x != nil {
  1509. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1510. if ms.LoadMessageInfo() == nil {
  1511. ms.StoreMessageInfo(mi)
  1512. }
  1513. return ms
  1514. }
  1515. return mi.MessageOf(x)
  1516. }
  1517. // Deprecated: Use Ermcp2HIMiddleGoodsExt.ProtoReflect.Descriptor instead.
  1518. func (*Ermcp2HIMiddleGoodsExt) Descriptor() ([]byte, []int) {
  1519. return file_mtp2_proto_rawDescGZIP(), []int{10}
  1520. }
  1521. func (x *Ermcp2HIMiddleGoodsExt) GetMiddlegoods() *Ermcp2HIMiddleGoods {
  1522. if x != nil {
  1523. return x.Middlegoods
  1524. }
  1525. return nil
  1526. }
  1527. func (x *Ermcp2HIMiddleGoodsExt) GetMiddlegoodsname() string {
  1528. if x != nil && x.Middlegoodsname != nil {
  1529. return *x.Middlegoodsname
  1530. }
  1531. return ""
  1532. }
  1533. //被套期项目表信息
  1534. type Ermcp2HedgedItemInfo struct {
  1535. state protoimpl.MessageState
  1536. sizeCache protoimpl.SizeCache
  1537. unknownFields protoimpl.UnknownFields
  1538. Hedgeditemext *Ermcp2HedgedItemExt `protobuf:"bytes,1,opt,name=hedgeditemext" json:"hedgeditemext,omitempty"` //被套期项目
  1539. Himiddlegoodsext []*Ermcp2HIMiddleGoodsExt `protobuf:"bytes,2,rep,name=himiddlegoodsext" json:"himiddlegoodsext,omitempty"`
  1540. }
  1541. func (x *Ermcp2HedgedItemInfo) Reset() {
  1542. *x = Ermcp2HedgedItemInfo{}
  1543. if protoimpl.UnsafeEnabled {
  1544. mi := &file_mtp2_proto_msgTypes[11]
  1545. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1546. ms.StoreMessageInfo(mi)
  1547. }
  1548. }
  1549. func (x *Ermcp2HedgedItemInfo) String() string {
  1550. return protoimpl.X.MessageStringOf(x)
  1551. }
  1552. func (*Ermcp2HedgedItemInfo) ProtoMessage() {}
  1553. func (x *Ermcp2HedgedItemInfo) ProtoReflect() protoreflect.Message {
  1554. mi := &file_mtp2_proto_msgTypes[11]
  1555. if protoimpl.UnsafeEnabled && x != nil {
  1556. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1557. if ms.LoadMessageInfo() == nil {
  1558. ms.StoreMessageInfo(mi)
  1559. }
  1560. return ms
  1561. }
  1562. return mi.MessageOf(x)
  1563. }
  1564. // Deprecated: Use Ermcp2HedgedItemInfo.ProtoReflect.Descriptor instead.
  1565. func (*Ermcp2HedgedItemInfo) Descriptor() ([]byte, []int) {
  1566. return file_mtp2_proto_rawDescGZIP(), []int{11}
  1567. }
  1568. func (x *Ermcp2HedgedItemInfo) GetHedgeditemext() *Ermcp2HedgedItemExt {
  1569. if x != nil {
  1570. return x.Hedgeditemext
  1571. }
  1572. return nil
  1573. }
  1574. func (x *Ermcp2HedgedItemInfo) GetHimiddlegoodsext() []*Ermcp2HIMiddleGoodsExt {
  1575. if x != nil {
  1576. return x.Himiddlegoodsext
  1577. }
  1578. return nil
  1579. }
  1580. // ERMCP2_AREAEXPOSURE 企业敞口表_New
  1581. type Ermcp2AreaExposure struct {
  1582. state protoimpl.MessageState
  1583. sizeCache protoimpl.SizeCache
  1584. unknownFields protoimpl.UnknownFields
  1585. //mkey: 1 2
  1586. MiddleGoodsID *uint64 `protobuf:"varint,1,opt,name=MiddleGoodsID" json:"MiddleGoodsID,omitempty"` // 套保品种
  1587. AreaUserID *uint64 `protobuf:"varint,2,opt,name=AreaUserID" json:"AreaUserID,omitempty"` // 所属机构
  1588. SpotQty *float64 `protobuf:"fixed64,3,opt,name=SpotQty" json:"SpotQty,omitempty"` // 现货总量
  1589. HedgeSpotQty *float64 `protobuf:"fixed64,4,opt,name=HedgeSpotQty" json:"HedgeSpotQty,omitempty"` // 被套期现货量
  1590. HedgePlanQty *float64 `protobuf:"fixed64,5,opt,name=HedgePlanQty" json:"HedgePlanQty,omitempty"` // 套期计划量
  1591. FutureQty *float64 `protobuf:"fixed64,6,opt,name=FutureQty" json:"FutureQty,omitempty"` // 期货套期量
  1592. SpotExposure *float64 `protobuf:"fixed64,7,opt,name=SpotExposure" json:"SpotExposure,omitempty"` // 现货敞口量
  1593. TotalExposure *float64 `protobuf:"fixed64,8,opt,name=TotalExposure" json:"TotalExposure,omitempty"` // 总敞口量 = 现货敞口量 + 期货套期量
  1594. SpRatio *float64 `protobuf:"fixed64,9,opt,name=SpRatio" json:"SpRatio,omitempty"` // 总期现比例 = 期货套期量/现货敞口量
  1595. HedgedSpotExposure *float64 `protobuf:"fixed64,10,opt,name=HedgedSpotExposure" json:"HedgedSpotExposure,omitempty"` // 被套期现货敞口量
  1596. HedgedTotalExposure *float64 `protobuf:"fixed64,11,opt,name=HedgedTotalExposure" json:"HedgedTotalExposure,omitempty"` // 套期敞口量 = 被套期现货敞口量+期货套期量
  1597. HedgedSpRatio *float64 `protobuf:"fixed64,12,opt,name=HedgedSpRatio" json:"HedgedSpRatio,omitempty"` // 套期期现比例 = 期货套期量/被套期现货敞口量
  1598. OriSpotQty *float64 `protobuf:"fixed64,13,opt,name=OriSpotQty" json:"OriSpotQty,omitempty"` // 期初现货总量
  1599. OriHedgeSpotQty *float64 `protobuf:"fixed64,14,opt,name=OriHedgeSpotQty" json:"OriHedgeSpotQty,omitempty"` // 期初被套期现货量
  1600. OriHedgePlanQty *float64 `protobuf:"fixed64,15,opt,name=OriHedgePlanQty" json:"OriHedgePlanQty,omitempty"` // 期初套期计划量
  1601. OriFutureQty *float64 `protobuf:"fixed64,16,opt,name=OriFutureQty" json:"OriFutureQty,omitempty"` // 期初期货套期量
  1602. OriSpotExposure *float64 `protobuf:"fixed64,17,opt,name=OriSpotExposure" json:"OriSpotExposure,omitempty"` // 期初现货敞口量
  1603. OriTotalExposure *float64 `protobuf:"fixed64,18,opt,name=OriTotalExposure" json:"OriTotalExposure,omitempty"` // 期初总敞口量
  1604. OriHedgedSpotExposure *float64 `protobuf:"fixed64,19,opt,name=OriHedgedSpotExposure" json:"OriHedgedSpotExposure,omitempty"` // 期初被套期现货敞口量
  1605. OriHedgedTotalExposure *float64 `protobuf:"fixed64,20,opt,name=OriHedgedTotalExposure" json:"OriHedgedTotalExposure,omitempty"` // 期初套期敞口量
  1606. UpdateTime *Date `protobuf:"bytes,21,opt,name=UpdateTime" json:"UpdateTime,omitempty"` // 更新时间 --DATE
  1607. MiddleGoodsName *string `protobuf:"bytes,22,opt,name=MiddleGoodsName" json:"MiddleGoodsName,omitempty"` //套保品种名称
  1608. GoodsUnitID *uint32 `protobuf:"varint,23,opt,name=GoodsUnitID" json:"GoodsUnitID,omitempty"` //单位ID
  1609. }
  1610. func (x *Ermcp2AreaExposure) Reset() {
  1611. *x = Ermcp2AreaExposure{}
  1612. if protoimpl.UnsafeEnabled {
  1613. mi := &file_mtp2_proto_msgTypes[12]
  1614. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1615. ms.StoreMessageInfo(mi)
  1616. }
  1617. }
  1618. func (x *Ermcp2AreaExposure) String() string {
  1619. return protoimpl.X.MessageStringOf(x)
  1620. }
  1621. func (*Ermcp2AreaExposure) ProtoMessage() {}
  1622. func (x *Ermcp2AreaExposure) ProtoReflect() protoreflect.Message {
  1623. mi := &file_mtp2_proto_msgTypes[12]
  1624. if protoimpl.UnsafeEnabled && x != nil {
  1625. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1626. if ms.LoadMessageInfo() == nil {
  1627. ms.StoreMessageInfo(mi)
  1628. }
  1629. return ms
  1630. }
  1631. return mi.MessageOf(x)
  1632. }
  1633. // Deprecated: Use Ermcp2AreaExposure.ProtoReflect.Descriptor instead.
  1634. func (*Ermcp2AreaExposure) Descriptor() ([]byte, []int) {
  1635. return file_mtp2_proto_rawDescGZIP(), []int{12}
  1636. }
  1637. func (x *Ermcp2AreaExposure) GetMiddleGoodsID() uint64 {
  1638. if x != nil && x.MiddleGoodsID != nil {
  1639. return *x.MiddleGoodsID
  1640. }
  1641. return 0
  1642. }
  1643. func (x *Ermcp2AreaExposure) GetAreaUserID() uint64 {
  1644. if x != nil && x.AreaUserID != nil {
  1645. return *x.AreaUserID
  1646. }
  1647. return 0
  1648. }
  1649. func (x *Ermcp2AreaExposure) GetSpotQty() float64 {
  1650. if x != nil && x.SpotQty != nil {
  1651. return *x.SpotQty
  1652. }
  1653. return 0
  1654. }
  1655. func (x *Ermcp2AreaExposure) GetHedgeSpotQty() float64 {
  1656. if x != nil && x.HedgeSpotQty != nil {
  1657. return *x.HedgeSpotQty
  1658. }
  1659. return 0
  1660. }
  1661. func (x *Ermcp2AreaExposure) GetHedgePlanQty() float64 {
  1662. if x != nil && x.HedgePlanQty != nil {
  1663. return *x.HedgePlanQty
  1664. }
  1665. return 0
  1666. }
  1667. func (x *Ermcp2AreaExposure) GetFutureQty() float64 {
  1668. if x != nil && x.FutureQty != nil {
  1669. return *x.FutureQty
  1670. }
  1671. return 0
  1672. }
  1673. func (x *Ermcp2AreaExposure) GetSpotExposure() float64 {
  1674. if x != nil && x.SpotExposure != nil {
  1675. return *x.SpotExposure
  1676. }
  1677. return 0
  1678. }
  1679. func (x *Ermcp2AreaExposure) GetTotalExposure() float64 {
  1680. if x != nil && x.TotalExposure != nil {
  1681. return *x.TotalExposure
  1682. }
  1683. return 0
  1684. }
  1685. func (x *Ermcp2AreaExposure) GetSpRatio() float64 {
  1686. if x != nil && x.SpRatio != nil {
  1687. return *x.SpRatio
  1688. }
  1689. return 0
  1690. }
  1691. func (x *Ermcp2AreaExposure) GetHedgedSpotExposure() float64 {
  1692. if x != nil && x.HedgedSpotExposure != nil {
  1693. return *x.HedgedSpotExposure
  1694. }
  1695. return 0
  1696. }
  1697. func (x *Ermcp2AreaExposure) GetHedgedTotalExposure() float64 {
  1698. if x != nil && x.HedgedTotalExposure != nil {
  1699. return *x.HedgedTotalExposure
  1700. }
  1701. return 0
  1702. }
  1703. func (x *Ermcp2AreaExposure) GetHedgedSpRatio() float64 {
  1704. if x != nil && x.HedgedSpRatio != nil {
  1705. return *x.HedgedSpRatio
  1706. }
  1707. return 0
  1708. }
  1709. func (x *Ermcp2AreaExposure) GetOriSpotQty() float64 {
  1710. if x != nil && x.OriSpotQty != nil {
  1711. return *x.OriSpotQty
  1712. }
  1713. return 0
  1714. }
  1715. func (x *Ermcp2AreaExposure) GetOriHedgeSpotQty() float64 {
  1716. if x != nil && x.OriHedgeSpotQty != nil {
  1717. return *x.OriHedgeSpotQty
  1718. }
  1719. return 0
  1720. }
  1721. func (x *Ermcp2AreaExposure) GetOriHedgePlanQty() float64 {
  1722. if x != nil && x.OriHedgePlanQty != nil {
  1723. return *x.OriHedgePlanQty
  1724. }
  1725. return 0
  1726. }
  1727. func (x *Ermcp2AreaExposure) GetOriFutureQty() float64 {
  1728. if x != nil && x.OriFutureQty != nil {
  1729. return *x.OriFutureQty
  1730. }
  1731. return 0
  1732. }
  1733. func (x *Ermcp2AreaExposure) GetOriSpotExposure() float64 {
  1734. if x != nil && x.OriSpotExposure != nil {
  1735. return *x.OriSpotExposure
  1736. }
  1737. return 0
  1738. }
  1739. func (x *Ermcp2AreaExposure) GetOriTotalExposure() float64 {
  1740. if x != nil && x.OriTotalExposure != nil {
  1741. return *x.OriTotalExposure
  1742. }
  1743. return 0
  1744. }
  1745. func (x *Ermcp2AreaExposure) GetOriHedgedSpotExposure() float64 {
  1746. if x != nil && x.OriHedgedSpotExposure != nil {
  1747. return *x.OriHedgedSpotExposure
  1748. }
  1749. return 0
  1750. }
  1751. func (x *Ermcp2AreaExposure) GetOriHedgedTotalExposure() float64 {
  1752. if x != nil && x.OriHedgedTotalExposure != nil {
  1753. return *x.OriHedgedTotalExposure
  1754. }
  1755. return 0
  1756. }
  1757. func (x *Ermcp2AreaExposure) GetUpdateTime() *Date {
  1758. if x != nil {
  1759. return x.UpdateTime
  1760. }
  1761. return nil
  1762. }
  1763. func (x *Ermcp2AreaExposure) GetMiddleGoodsName() string {
  1764. if x != nil && x.MiddleGoodsName != nil {
  1765. return *x.MiddleGoodsName
  1766. }
  1767. return ""
  1768. }
  1769. func (x *Ermcp2AreaExposure) GetGoodsUnitID() uint32 {
  1770. if x != nil && x.GoodsUnitID != nil {
  1771. return *x.GoodsUnitID
  1772. }
  1773. return 0
  1774. }
  1775. // TRADE_HOLDERDETAILEX 交易持仓扩展表
  1776. type TradeHolderDetailEx struct {
  1777. state protoimpl.MessageState
  1778. sizeCache protoimpl.SizeCache
  1779. unknownFields protoimpl.UnknownFields
  1780. //mkey: 1 2
  1781. TradeID *uint64 `protobuf:"varint,1,opt,name=TradeID" json:"TradeID,omitempty"` // 成交单号(101+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
  1782. BuyOrSell *uint32 `protobuf:"varint,2,opt,name=BuyOrSell" json:"BuyOrSell,omitempty"` // 方向 - 0:买 1:卖
  1783. TradeDate *string `protobuf:"bytes,3,opt,name=TradeDate" json:"TradeDate,omitempty"` // 交易日(yyyyMMdd)
  1784. MarketID *uint32 `protobuf:"varint,4,opt,name=MarketID" json:"MarketID,omitempty"` // 市场ID
  1785. GoodsID *uint32 `protobuf:"varint,5,opt,name=GoodsID" json:"GoodsID,omitempty"` // 商品ID
  1786. UserID *uint32 `protobuf:"varint,6,opt,name=UserID" json:"UserID,omitempty"` // 用户ID
  1787. AccountID *uint64 `protobuf:"varint,7,opt,name=AccountID" json:"AccountID,omitempty"` // 账号ID
  1788. MatchUserID *uint32 `protobuf:"varint,8,opt,name=MatchUserID" json:"MatchUserID,omitempty"` // 对手用户ID
  1789. MatchAccountID *uint64 `protobuf:"varint,9,opt,name=MatchAccountID" json:"MatchAccountID,omitempty"` // 对手账号ID
  1790. OpenQty *uint64 `protobuf:"varint,10,opt,name=OpenQty" json:"OpenQty,omitempty"` // 建仓数量
  1791. TradeAmount *float64 `protobuf:"fixed64,11,opt,name=TradeAmount" json:"TradeAmount,omitempty"` // 成交金额
  1792. OpenPrice *float64 `protobuf:"fixed64,12,opt,name=OpenPrice" json:"OpenPrice,omitempty"` // 建仓价格
  1793. HolderQty *uint64 `protobuf:"varint,13,opt,name=HolderQty" json:"HolderQty,omitempty"` // 持仓数量
  1794. HolderAmount *float64 `protobuf:"fixed64,14,opt,name=HolderAmount" json:"HolderAmount,omitempty"` // 持仓金额
  1795. HolderPrice *float64 `protobuf:"fixed64,15,opt,name=HolderPrice" json:"HolderPrice,omitempty"` // 持仓价格
  1796. FreezeQty *uint64 `protobuf:"varint,16,opt,name=FreezeQty" json:"FreezeQty,omitempty"` // 冻结数量
  1797. DeliveryQty *uint64 `protobuf:"varint,17,opt,name=DeliveryQty" json:"DeliveryQty,omitempty"` // 交收手数(已交收)
  1798. HoldDays *uint64 `protobuf:"varint,18,opt,name=HoldDays" json:"HoldDays,omitempty"` // 持仓天数
  1799. PayedDeposit *float64 `protobuf:"fixed64,19,opt,name=PayedDeposit" json:"PayedDeposit,omitempty"` // 已付定金
  1800. RestockDeposit *float64 `protobuf:"fixed64,20,opt,name=RestockDeposit" json:"RestockDeposit,omitempty"` // 补充定金
  1801. LateFeeDays *uint64 `protobuf:"varint,21,opt,name=LateFeeDays" json:"LateFeeDays,omitempty"` // 滞纳金起计天数
  1802. LateFeeAlgorithm *uint32 `protobuf:"varint,22,opt,name=LateFeeAlgorithm" json:"LateFeeAlgorithm,omitempty"` // 滞纳金收取方式 1:比率 2:固定
  1803. LateFeeValue *float64 `protobuf:"fixed64,23,opt,name=LateFeeValue" json:"LateFeeValue,omitempty"` // 滞纳金收取值
  1804. CallAteFee *float64 `protobuf:"fixed64,24,opt,name=CallAteFee" json:"CallAteFee,omitempty"` // 已计滞纳金
  1805. PromptDepositRate *float64 `protobuf:"fixed64,25,opt,name=PromptDepositRate" json:"PromptDepositRate,omitempty"` // 提示定金率
  1806. CutDepositRate *float64 `protobuf:"fixed64,26,opt,name=CutDepositRate" json:"CutDepositRate,omitempty"` // 斩仓定金率
  1807. PromptPrice *float64 `protobuf:"fixed64,27,opt,name=PromptPrice" json:"PromptPrice,omitempty"` // 提示价格
  1808. CutPrice *float64 `protobuf:"fixed64,28,opt,name=CutPrice" json:"CutPrice,omitempty"` // 斩仓价格
  1809. ClosePL *float64 `protobuf:"fixed64,29,opt,name=ClosePL" json:"ClosePL,omitempty"` // 平仓盈亏
  1810. FloatPL *float64 `protobuf:"fixed64,30,opt,name=FloatPL" json:"FloatPL,omitempty"` // 浮动盈亏
  1811. DepositRate *float64 `protobuf:"fixed64,31,opt,name=DepositRate" json:"DepositRate,omitempty"` // 订单定金率
  1812. RefundableDeposit *float64 `protobuf:"fixed64,32,opt,name=RefundableDeposit" json:"RefundableDeposit,omitempty"` // 可退定金
  1813. TradeTime *Date `protobuf:"bytes,34,opt,name=TradeTime" json:"TradeTime,omitempty"` //交易时间
  1814. }
  1815. func (x *TradeHolderDetailEx) Reset() {
  1816. *x = TradeHolderDetailEx{}
  1817. if protoimpl.UnsafeEnabled {
  1818. mi := &file_mtp2_proto_msgTypes[13]
  1819. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1820. ms.StoreMessageInfo(mi)
  1821. }
  1822. }
  1823. func (x *TradeHolderDetailEx) String() string {
  1824. return protoimpl.X.MessageStringOf(x)
  1825. }
  1826. func (*TradeHolderDetailEx) ProtoMessage() {}
  1827. func (x *TradeHolderDetailEx) ProtoReflect() protoreflect.Message {
  1828. mi := &file_mtp2_proto_msgTypes[13]
  1829. if protoimpl.UnsafeEnabled && x != nil {
  1830. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1831. if ms.LoadMessageInfo() == nil {
  1832. ms.StoreMessageInfo(mi)
  1833. }
  1834. return ms
  1835. }
  1836. return mi.MessageOf(x)
  1837. }
  1838. // Deprecated: Use TradeHolderDetailEx.ProtoReflect.Descriptor instead.
  1839. func (*TradeHolderDetailEx) Descriptor() ([]byte, []int) {
  1840. return file_mtp2_proto_rawDescGZIP(), []int{13}
  1841. }
  1842. func (x *TradeHolderDetailEx) GetTradeID() uint64 {
  1843. if x != nil && x.TradeID != nil {
  1844. return *x.TradeID
  1845. }
  1846. return 0
  1847. }
  1848. func (x *TradeHolderDetailEx) GetBuyOrSell() uint32 {
  1849. if x != nil && x.BuyOrSell != nil {
  1850. return *x.BuyOrSell
  1851. }
  1852. return 0
  1853. }
  1854. func (x *TradeHolderDetailEx) GetTradeDate() string {
  1855. if x != nil && x.TradeDate != nil {
  1856. return *x.TradeDate
  1857. }
  1858. return ""
  1859. }
  1860. func (x *TradeHolderDetailEx) GetMarketID() uint32 {
  1861. if x != nil && x.MarketID != nil {
  1862. return *x.MarketID
  1863. }
  1864. return 0
  1865. }
  1866. func (x *TradeHolderDetailEx) GetGoodsID() uint32 {
  1867. if x != nil && x.GoodsID != nil {
  1868. return *x.GoodsID
  1869. }
  1870. return 0
  1871. }
  1872. func (x *TradeHolderDetailEx) GetUserID() uint32 {
  1873. if x != nil && x.UserID != nil {
  1874. return *x.UserID
  1875. }
  1876. return 0
  1877. }
  1878. func (x *TradeHolderDetailEx) GetAccountID() uint64 {
  1879. if x != nil && x.AccountID != nil {
  1880. return *x.AccountID
  1881. }
  1882. return 0
  1883. }
  1884. func (x *TradeHolderDetailEx) GetMatchUserID() uint32 {
  1885. if x != nil && x.MatchUserID != nil {
  1886. return *x.MatchUserID
  1887. }
  1888. return 0
  1889. }
  1890. func (x *TradeHolderDetailEx) GetMatchAccountID() uint64 {
  1891. if x != nil && x.MatchAccountID != nil {
  1892. return *x.MatchAccountID
  1893. }
  1894. return 0
  1895. }
  1896. func (x *TradeHolderDetailEx) GetOpenQty() uint64 {
  1897. if x != nil && x.OpenQty != nil {
  1898. return *x.OpenQty
  1899. }
  1900. return 0
  1901. }
  1902. func (x *TradeHolderDetailEx) GetTradeAmount() float64 {
  1903. if x != nil && x.TradeAmount != nil {
  1904. return *x.TradeAmount
  1905. }
  1906. return 0
  1907. }
  1908. func (x *TradeHolderDetailEx) GetOpenPrice() float64 {
  1909. if x != nil && x.OpenPrice != nil {
  1910. return *x.OpenPrice
  1911. }
  1912. return 0
  1913. }
  1914. func (x *TradeHolderDetailEx) GetHolderQty() uint64 {
  1915. if x != nil && x.HolderQty != nil {
  1916. return *x.HolderQty
  1917. }
  1918. return 0
  1919. }
  1920. func (x *TradeHolderDetailEx) GetHolderAmount() float64 {
  1921. if x != nil && x.HolderAmount != nil {
  1922. return *x.HolderAmount
  1923. }
  1924. return 0
  1925. }
  1926. func (x *TradeHolderDetailEx) GetHolderPrice() float64 {
  1927. if x != nil && x.HolderPrice != nil {
  1928. return *x.HolderPrice
  1929. }
  1930. return 0
  1931. }
  1932. func (x *TradeHolderDetailEx) GetFreezeQty() uint64 {
  1933. if x != nil && x.FreezeQty != nil {
  1934. return *x.FreezeQty
  1935. }
  1936. return 0
  1937. }
  1938. func (x *TradeHolderDetailEx) GetDeliveryQty() uint64 {
  1939. if x != nil && x.DeliveryQty != nil {
  1940. return *x.DeliveryQty
  1941. }
  1942. return 0
  1943. }
  1944. func (x *TradeHolderDetailEx) GetHoldDays() uint64 {
  1945. if x != nil && x.HoldDays != nil {
  1946. return *x.HoldDays
  1947. }
  1948. return 0
  1949. }
  1950. func (x *TradeHolderDetailEx) GetPayedDeposit() float64 {
  1951. if x != nil && x.PayedDeposit != nil {
  1952. return *x.PayedDeposit
  1953. }
  1954. return 0
  1955. }
  1956. func (x *TradeHolderDetailEx) GetRestockDeposit() float64 {
  1957. if x != nil && x.RestockDeposit != nil {
  1958. return *x.RestockDeposit
  1959. }
  1960. return 0
  1961. }
  1962. func (x *TradeHolderDetailEx) GetLateFeeDays() uint64 {
  1963. if x != nil && x.LateFeeDays != nil {
  1964. return *x.LateFeeDays
  1965. }
  1966. return 0
  1967. }
  1968. func (x *TradeHolderDetailEx) GetLateFeeAlgorithm() uint32 {
  1969. if x != nil && x.LateFeeAlgorithm != nil {
  1970. return *x.LateFeeAlgorithm
  1971. }
  1972. return 0
  1973. }
  1974. func (x *TradeHolderDetailEx) GetLateFeeValue() float64 {
  1975. if x != nil && x.LateFeeValue != nil {
  1976. return *x.LateFeeValue
  1977. }
  1978. return 0
  1979. }
  1980. func (x *TradeHolderDetailEx) GetCallAteFee() float64 {
  1981. if x != nil && x.CallAteFee != nil {
  1982. return *x.CallAteFee
  1983. }
  1984. return 0
  1985. }
  1986. func (x *TradeHolderDetailEx) GetPromptDepositRate() float64 {
  1987. if x != nil && x.PromptDepositRate != nil {
  1988. return *x.PromptDepositRate
  1989. }
  1990. return 0
  1991. }
  1992. func (x *TradeHolderDetailEx) GetCutDepositRate() float64 {
  1993. if x != nil && x.CutDepositRate != nil {
  1994. return *x.CutDepositRate
  1995. }
  1996. return 0
  1997. }
  1998. func (x *TradeHolderDetailEx) GetPromptPrice() float64 {
  1999. if x != nil && x.PromptPrice != nil {
  2000. return *x.PromptPrice
  2001. }
  2002. return 0
  2003. }
  2004. func (x *TradeHolderDetailEx) GetCutPrice() float64 {
  2005. if x != nil && x.CutPrice != nil {
  2006. return *x.CutPrice
  2007. }
  2008. return 0
  2009. }
  2010. func (x *TradeHolderDetailEx) GetClosePL() float64 {
  2011. if x != nil && x.ClosePL != nil {
  2012. return *x.ClosePL
  2013. }
  2014. return 0
  2015. }
  2016. func (x *TradeHolderDetailEx) GetFloatPL() float64 {
  2017. if x != nil && x.FloatPL != nil {
  2018. return *x.FloatPL
  2019. }
  2020. return 0
  2021. }
  2022. func (x *TradeHolderDetailEx) GetDepositRate() float64 {
  2023. if x != nil && x.DepositRate != nil {
  2024. return *x.DepositRate
  2025. }
  2026. return 0
  2027. }
  2028. func (x *TradeHolderDetailEx) GetRefundableDeposit() float64 {
  2029. if x != nil && x.RefundableDeposit != nil {
  2030. return *x.RefundableDeposit
  2031. }
  2032. return 0
  2033. }
  2034. func (x *TradeHolderDetailEx) GetTradeTime() *Date {
  2035. if x != nil {
  2036. return x.TradeTime
  2037. }
  2038. return nil
  2039. }
  2040. // RedisTradeHolderDetailEx redis存储交易持仓扩展表
  2041. type RedisTradeHolderDetailEx struct {
  2042. state protoimpl.MessageState
  2043. sizeCache protoimpl.SizeCache
  2044. unknownFields protoimpl.UnknownFields
  2045. THDetailEx *TradeHolderDetailEx `protobuf:"bytes,1,opt,name=THDetailEx" json:"THDetailEx,omitempty"` // 交易持仓扩展表记录
  2046. FloatPL *float64 `protobuf:"fixed64,2,opt,name=FloatPL" json:"FloatPL,omitempty"` // 浮动盈亏
  2047. DepositRate *float64 `protobuf:"fixed64,3,opt,name=DepositRate" json:"DepositRate,omitempty"` // 订单定金率
  2048. RefundableDeposit *float64 `protobuf:"fixed64,4,opt,name=RefundableDeposit" json:"RefundableDeposit,omitempty"` // 可退定金
  2049. GoodsCode *string `protobuf:"bytes,5,opt,name=GoodsCode" json:"GoodsCode,omitempty"` //商品代码
  2050. GoodsName *string `protobuf:"bytes,6,opt,name=GoodsName" json:"GoodsName,omitempty"` //商品名称
  2051. GoodsUnitID *uint32 `protobuf:"varint,7,opt,name=GoodsUnitID" json:"GoodsUnitID,omitempty"` //单位
  2052. AgreeUnit *float64 `protobuf:"fixed64,8,opt,name=AgreeUnit" json:"AgreeUnit,omitempty"` //合约单位
  2053. DecimalPlace *uint32 `protobuf:"varint,9,opt,name=DecimalPlace" json:"DecimalPlace,omitempty"` //小数位位数
  2054. QuoteMinUnit *uint32 `protobuf:"varint,10,opt,name=QuoteMinUnit" json:"QuoteMinUnit,omitempty"` //行情最小变动单位
  2055. }
  2056. func (x *RedisTradeHolderDetailEx) Reset() {
  2057. *x = RedisTradeHolderDetailEx{}
  2058. if protoimpl.UnsafeEnabled {
  2059. mi := &file_mtp2_proto_msgTypes[14]
  2060. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2061. ms.StoreMessageInfo(mi)
  2062. }
  2063. }
  2064. func (x *RedisTradeHolderDetailEx) String() string {
  2065. return protoimpl.X.MessageStringOf(x)
  2066. }
  2067. func (*RedisTradeHolderDetailEx) ProtoMessage() {}
  2068. func (x *RedisTradeHolderDetailEx) ProtoReflect() protoreflect.Message {
  2069. mi := &file_mtp2_proto_msgTypes[14]
  2070. if protoimpl.UnsafeEnabled && x != nil {
  2071. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2072. if ms.LoadMessageInfo() == nil {
  2073. ms.StoreMessageInfo(mi)
  2074. }
  2075. return ms
  2076. }
  2077. return mi.MessageOf(x)
  2078. }
  2079. // Deprecated: Use RedisTradeHolderDetailEx.ProtoReflect.Descriptor instead.
  2080. func (*RedisTradeHolderDetailEx) Descriptor() ([]byte, []int) {
  2081. return file_mtp2_proto_rawDescGZIP(), []int{14}
  2082. }
  2083. func (x *RedisTradeHolderDetailEx) GetTHDetailEx() *TradeHolderDetailEx {
  2084. if x != nil {
  2085. return x.THDetailEx
  2086. }
  2087. return nil
  2088. }
  2089. func (x *RedisTradeHolderDetailEx) GetFloatPL() float64 {
  2090. if x != nil && x.FloatPL != nil {
  2091. return *x.FloatPL
  2092. }
  2093. return 0
  2094. }
  2095. func (x *RedisTradeHolderDetailEx) GetDepositRate() float64 {
  2096. if x != nil && x.DepositRate != nil {
  2097. return *x.DepositRate
  2098. }
  2099. return 0
  2100. }
  2101. func (x *RedisTradeHolderDetailEx) GetRefundableDeposit() float64 {
  2102. if x != nil && x.RefundableDeposit != nil {
  2103. return *x.RefundableDeposit
  2104. }
  2105. return 0
  2106. }
  2107. func (x *RedisTradeHolderDetailEx) GetGoodsCode() string {
  2108. if x != nil && x.GoodsCode != nil {
  2109. return *x.GoodsCode
  2110. }
  2111. return ""
  2112. }
  2113. func (x *RedisTradeHolderDetailEx) GetGoodsName() string {
  2114. if x != nil && x.GoodsName != nil {
  2115. return *x.GoodsName
  2116. }
  2117. return ""
  2118. }
  2119. func (x *RedisTradeHolderDetailEx) GetGoodsUnitID() uint32 {
  2120. if x != nil && x.GoodsUnitID != nil {
  2121. return *x.GoodsUnitID
  2122. }
  2123. return 0
  2124. }
  2125. func (x *RedisTradeHolderDetailEx) GetAgreeUnit() float64 {
  2126. if x != nil && x.AgreeUnit != nil {
  2127. return *x.AgreeUnit
  2128. }
  2129. return 0
  2130. }
  2131. func (x *RedisTradeHolderDetailEx) GetDecimalPlace() uint32 {
  2132. if x != nil && x.DecimalPlace != nil {
  2133. return *x.DecimalPlace
  2134. }
  2135. return 0
  2136. }
  2137. func (x *RedisTradeHolderDetailEx) GetQuoteMinUnit() uint32 {
  2138. if x != nil && x.QuoteMinUnit != nil {
  2139. return *x.QuoteMinUnit
  2140. }
  2141. return 0
  2142. }
  2143. //保证金信息
  2144. type MarginInfoStruct struct {
  2145. state protoimpl.MessageState
  2146. sizeCache protoimpl.SizeCache
  2147. unknownFields protoimpl.UnknownFields
  2148. AccountID *uint64 `protobuf:"varint,1,opt,name=AccountID" json:"AccountID,omitempty"` // 资金账号
  2149. GoodsID *uint32 `protobuf:"varint,2,opt,name=GoodsID" json:"GoodsID,omitempty"` // 商品id
  2150. MarginAlgorithm *uint32 `protobuf:"varint,3,opt,name=MarginAlgorithm" json:"MarginAlgorithm,omitempty"` // 保证金计算方式
  2151. MarketMarginValue *float64 `protobuf:"fixed64,4,opt,name=MarketMarginValue" json:"MarketMarginValue,omitempty"` // 即市保证金值
  2152. ReckonMarginValue *float64 `protobuf:"fixed64,5,opt,name=ReckonMarginValue" json:"ReckonMarginValue,omitempty"` // 结算保证金值
  2153. LockMarginValue *float64 `protobuf:"fixed64,6,opt,name=LockMarginValue" json:"LockMarginValue,omitempty"` // 锁仓保证金
  2154. RealMarginValue *float64 `protobuf:"fixed64,7,opt,name=RealMarginValue" json:"RealMarginValue,omitempty"` // 实付比例
  2155. RealMarginAlgorithm *uint32 `protobuf:"varint,8,opt,name=RealMarginAlgorithm" json:"RealMarginAlgorithm,omitempty"` // 实付保证金计算方式
  2156. }
  2157. func (x *MarginInfoStruct) Reset() {
  2158. *x = MarginInfoStruct{}
  2159. if protoimpl.UnsafeEnabled {
  2160. mi := &file_mtp2_proto_msgTypes[15]
  2161. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2162. ms.StoreMessageInfo(mi)
  2163. }
  2164. }
  2165. func (x *MarginInfoStruct) String() string {
  2166. return protoimpl.X.MessageStringOf(x)
  2167. }
  2168. func (*MarginInfoStruct) ProtoMessage() {}
  2169. func (x *MarginInfoStruct) ProtoReflect() protoreflect.Message {
  2170. mi := &file_mtp2_proto_msgTypes[15]
  2171. if protoimpl.UnsafeEnabled && x != nil {
  2172. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2173. if ms.LoadMessageInfo() == nil {
  2174. ms.StoreMessageInfo(mi)
  2175. }
  2176. return ms
  2177. }
  2178. return mi.MessageOf(x)
  2179. }
  2180. // Deprecated: Use MarginInfoStruct.ProtoReflect.Descriptor instead.
  2181. func (*MarginInfoStruct) Descriptor() ([]byte, []int) {
  2182. return file_mtp2_proto_rawDescGZIP(), []int{15}
  2183. }
  2184. func (x *MarginInfoStruct) GetAccountID() uint64 {
  2185. if x != nil && x.AccountID != nil {
  2186. return *x.AccountID
  2187. }
  2188. return 0
  2189. }
  2190. func (x *MarginInfoStruct) GetGoodsID() uint32 {
  2191. if x != nil && x.GoodsID != nil {
  2192. return *x.GoodsID
  2193. }
  2194. return 0
  2195. }
  2196. func (x *MarginInfoStruct) GetMarginAlgorithm() uint32 {
  2197. if x != nil && x.MarginAlgorithm != nil {
  2198. return *x.MarginAlgorithm
  2199. }
  2200. return 0
  2201. }
  2202. func (x *MarginInfoStruct) GetMarketMarginValue() float64 {
  2203. if x != nil && x.MarketMarginValue != nil {
  2204. return *x.MarketMarginValue
  2205. }
  2206. return 0
  2207. }
  2208. func (x *MarginInfoStruct) GetReckonMarginValue() float64 {
  2209. if x != nil && x.ReckonMarginValue != nil {
  2210. return *x.ReckonMarginValue
  2211. }
  2212. return 0
  2213. }
  2214. func (x *MarginInfoStruct) GetLockMarginValue() float64 {
  2215. if x != nil && x.LockMarginValue != nil {
  2216. return *x.LockMarginValue
  2217. }
  2218. return 0
  2219. }
  2220. func (x *MarginInfoStruct) GetRealMarginValue() float64 {
  2221. if x != nil && x.RealMarginValue != nil {
  2222. return *x.RealMarginValue
  2223. }
  2224. return 0
  2225. }
  2226. func (x *MarginInfoStruct) GetRealMarginAlgorithm() uint32 {
  2227. if x != nil && x.RealMarginAlgorithm != nil {
  2228. return *x.RealMarginAlgorithm
  2229. }
  2230. return 0
  2231. }
  2232. var File_mtp2_proto protoreflect.FileDescriptor
  2233. var file_mtp2_proto_rawDesc = []byte{
  2234. 0x0a, 0x0a, 0x6d, 0x74, 0x70, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
  2235. 0x22, 0x43, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x16, 0x0a,
  2236. 0x06, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x52,
  2237. 0x75, 0x6c, 0x65, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x56, 0x61,
  2238. 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x50, 0x61, 0x72, 0x61, 0x6d,
  2239. 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7c, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x75,
  2240. 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09,
  2241. 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
  2242. 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f,
  2243. 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x47, 0x6f, 0x6f,
  2244. 0x64, 0x73, 0x49, 0x44, 0x12, 0x2d, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x75, 0x6c,
  2245. 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72,
  2246. 0x61, 0x64, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0a, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x75,
  2247. 0x6c, 0x65, 0x73, 0x22, 0x20, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x44,
  2248. 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x44, 0x61,
  2249. 0x74, 0x65, 0x53, 0x74, 0x72, 0x22, 0xea, 0x0a, 0x0a, 0x16, 0x45, 0x72, 0x6d, 0x73, 0x32, 0x41,
  2250. 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x67, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79,
  2251. 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x53, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20,
  2252. 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x53, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x12, 0x12,
  2253. 0x0a, 0x04, 0x41, 0x53, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x41, 0x53,
  2254. 0x4e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x69, 0x7a, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
  2255. 0x01, 0x28, 0x0d, 0x52, 0x07, 0x42, 0x69, 0x7a, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06,
  2256. 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73,
  2257. 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79,
  2258. 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x44,
  2259. 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x22,
  2260. 0x0a, 0x0c, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x06,
  2261. 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70,
  2262. 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x18,
  2263. 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61,
  2264. 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x18,
  2265. 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x75, 0x6f,
  2266. 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x42, 0x61, 0x73, 0x69, 0x73,
  2267. 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x42, 0x61, 0x73,
  2268. 0x69, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x53, 0x74,
  2269. 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x53, 0x74, 0x72, 0x61,
  2270. 0x74, 0x65, 0x67, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65,
  2271. 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61,
  2272. 0x72, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x18, 0x0c,
  2273. 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1c,
  2274. 0x0a, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
  2275. 0x09, 0x52, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e,
  2276. 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0e,
  2277. 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65,
  2278. 0x44, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74,
  2279. 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x55, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f,
  2280. 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x18,
  2281. 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79,
  2282. 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x41, 0x76, 0x67, 0x50, 0x72, 0x69,
  2283. 0x63, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65,
  2284. 0x41, 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x75, 0x74, 0x75,
  2285. 0x72, 0x65, 0x50, 0x4c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x46, 0x75, 0x74, 0x75,
  2286. 0x72, 0x65, 0x50, 0x4c, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x53, 0x70,
  2287. 0x6f, 0x74, 0x51, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x50, 0x72, 0x69,
  2288. 0x63, 0x65, 0x64, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x12, 0x50, 0x72,
  2289. 0x69, 0x63, 0x65, 0x64, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x4e, 0x6f, 0x54, 0x61, 0x78,
  2290. 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x53, 0x70,
  2291. 0x6f, 0x74, 0x51, 0x74, 0x79, 0x4e, 0x6f, 0x54, 0x61, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x70,
  2292. 0x6f, 0x74, 0x61, 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01,
  2293. 0x52, 0x0c, 0x53, 0x70, 0x6f, 0x74, 0x61, 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16,
  2294. 0x0a, 0x06, 0x53, 0x70, 0x6f, 0x74, 0x50, 0x4c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06,
  2295. 0x53, 0x70, 0x6f, 0x74, 0x50, 0x4c, 0x12, 0x20, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x45, 0x78, 0x70,
  2296. 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x4e, 0x65, 0x74,
  2297. 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x45,
  2298. 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28,
  2299. 0x01, 0x52, 0x0f, 0x4e, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x52, 0x61,
  2300. 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x4c, 0x18, 0x19, 0x20,
  2301. 0x01, 0x28, 0x01, 0x52, 0x07, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x4c, 0x12, 0x1c, 0x0a, 0x09,
  2302. 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52,
  2303. 0x09, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x75,
  2304. 0x72, 0x42, 0x61, 0x73, 0x69, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x43, 0x75,
  2305. 0x72, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x42, 0x61, 0x73, 0x69, 0x73, 0x43,
  2306. 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x4c, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x42,
  2307. 0x61, 0x73, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x4c, 0x12, 0x24, 0x0a, 0x0d,
  2308. 0x4e, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x50, 0x4c, 0x18, 0x1d, 0x20,
  2309. 0x01, 0x28, 0x01, 0x52, 0x0d, 0x4e, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65,
  2310. 0x50, 0x4c, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x70, 0x6f, 0x74, 0x55, 0x73, 0x65, 0x64, 0x51, 0x75,
  2311. 0x6f, 0x74, 0x61, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x53, 0x70, 0x6f, 0x74, 0x55,
  2312. 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x46, 0x75, 0x74, 0x75,
  2313. 0x72, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x01, 0x52,
  2314. 0x0d, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x2a,
  2315. 0x0a, 0x10, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x6d, 0x6f, 0x75,
  2316. 0x6e, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65,
  2317. 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x75,
  2318. 0x74, 0x75, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x51, 0x74, 0x79, 0x18, 0x21, 0x20, 0x01,
  2319. 0x28, 0x01, 0x52, 0x0e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x51,
  2320. 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x73,
  2321. 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x46,
  2322. 0x75, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
  2323. 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x70, 0x6f, 0x74, 0x42, 0x75, 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
  2324. 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x53, 0x70, 0x6f, 0x74, 0x42, 0x75, 0x79,
  2325. 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x70, 0x6f, 0x74, 0x42, 0x75,
  2326. 0x79, 0x51, 0x74, 0x79, 0x18, 0x24, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x53, 0x70, 0x6f, 0x74,
  2327. 0x42, 0x75, 0x79, 0x51, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x53, 0x65,
  2328. 0x6c, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x25, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e,
  2329. 0x53, 0x70, 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20,
  2330. 0x0a, 0x0b, 0x53, 0x70, 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x6c, 0x51, 0x74, 0x79, 0x18, 0x26, 0x20,
  2331. 0x01, 0x28, 0x01, 0x52, 0x0b, 0x53, 0x70, 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x6c, 0x51, 0x74, 0x79,
  2332. 0x12, 0x28, 0x0a, 0x0a, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x27,
  2333. 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a,
  2334. 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x53,
  2335. 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x41, 0x53, 0x4e, 0x61,
  2336. 0x6d, 0x65, 0x22, 0xd1, 0x03, 0x0a, 0x0d, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x41, 0x72, 0x65, 0x61,
  2337. 0x53, 0x70, 0x6f, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x57, 0x72, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61,
  2338. 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x57, 0x72, 0x53, 0x74,
  2339. 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x72, 0x65, 0x61,
  2340. 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x41, 0x72,
  2341. 0x65, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x72, 0x69, 0x42,
  2342. 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52,
  2343. 0x0d, 0x4f, 0x72, 0x69, 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x28,
  2344. 0x0a, 0x0f, 0x4f, 0x72, 0x69, 0x42, 0x75, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74,
  2345. 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x4f, 0x72, 0x69, 0x42, 0x75, 0x79, 0x50,
  2346. 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x72, 0x69, 0x53,
  2347. 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01,
  2348. 0x52, 0x0e, 0x4f, 0x72, 0x69, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79,
  2349. 0x12, 0x2a, 0x0a, 0x10, 0x4f, 0x72, 0x69, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65,
  2350. 0x64, 0x51, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x4f, 0x72, 0x69, 0x53,
  2351. 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a,
  2352. 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01,
  2353. 0x52, 0x0a, 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c,
  2354. 0x42, 0x75, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01,
  2355. 0x28, 0x01, 0x52, 0x0c, 0x42, 0x75, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79,
  2356. 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18,
  2357. 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x51,
  2358. 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64,
  2359. 0x51, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x53, 0x65, 0x6c, 0x6c, 0x50,
  2360. 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x6f, 0x74, 0x61,
  2361. 0x6c, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c,
  2362. 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0a,
  2363. 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b,
  2364. 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61,
  2365. 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xf5, 0x06, 0x0a, 0x11, 0x45, 0x72, 0x6d, 0x63, 0x70,
  2366. 0x41, 0x72, 0x65, 0x61, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d,
  2367. 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x01, 0x20,
  2368. 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73,
  2369. 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
  2370. 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73, 0x65, 0x72,
  2371. 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x72, 0x69, 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e,
  2372. 0x51, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x4f, 0x72, 0x69, 0x42, 0x75,
  2373. 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x72, 0x69, 0x42,
  2374. 0x75, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
  2375. 0x01, 0x52, 0x0f, 0x4f, 0x72, 0x69, 0x42, 0x75, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51,
  2376. 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x72, 0x69, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61,
  2377. 0x6e, 0x51, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x4f, 0x72, 0x69, 0x53,
  2378. 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x4f, 0x72,
  2379. 0x69, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x18, 0x06,
  2380. 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x4f, 0x72, 0x69, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x69,
  2381. 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x72, 0x69, 0x42, 0x75, 0x79,
  2382. 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52,
  2383. 0x0f, 0x4f, 0x72, 0x69, 0x42, 0x75, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79,
  2384. 0x12, 0x2a, 0x0a, 0x10, 0x4f, 0x72, 0x69, 0x53, 0x65, 0x6c, 0x6c, 0x46, 0x75, 0x74, 0x75, 0x72,
  2385. 0x65, 0x51, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x4f, 0x72, 0x69, 0x53,
  2386. 0x65, 0x6c, 0x6c, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a,
  2387. 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01,
  2388. 0x52, 0x0a, 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c,
  2389. 0x42, 0x75, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01,
  2390. 0x28, 0x01, 0x52, 0x0c, 0x42, 0x75, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79,
  2391. 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18,
  2392. 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x51,
  2393. 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64,
  2394. 0x51, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x53, 0x65, 0x6c, 0x6c, 0x50,
  2395. 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x75, 0x79, 0x46,
  2396. 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c,
  2397. 0x42, 0x75, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0d,
  2398. 0x53, 0x65, 0x6c, 0x6c, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x18, 0x0e, 0x20,
  2399. 0x01, 0x28, 0x01, 0x52, 0x0d, 0x53, 0x65, 0x6c, 0x6c, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51,
  2400. 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x6f, 0x74, 0x51,
  2401. 0x74, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53,
  2402. 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x46,
  2403. 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e,
  2404. 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x12, 0x24,
  2405. 0x0a, 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18,
  2406. 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x6f,
  2407. 0x73, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x65, 0x64,
  2408. 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x54,
  2409. 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x65, 0x64, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x2c,
  2410. 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x65, 0x65, 0x64, 0x48, 0x65, 0x64, 0x67, 0x65,
  2411. 0x51, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c,
  2412. 0x4e, 0x65, 0x65, 0x64, 0x48, 0x65, 0x64, 0x67, 0x65, 0x51, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x12,
  2413. 0x4e, 0x65, 0x65, 0x64, 0x48, 0x65, 0x64, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x6f, 0x75,
  2414. 0x72, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x4e, 0x65, 0x65, 0x64, 0x48, 0x65,
  2415. 0x64, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0e,
  2416. 0x4e, 0x65, 0x65, 0x64, 0x48, 0x65, 0x64, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x15,
  2417. 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x4e, 0x65, 0x65, 0x64, 0x48, 0x65, 0x64, 0x67, 0x65, 0x52,
  2418. 0x61, 0x74, 0x69, 0x6f, 0x12, 0x28, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69,
  2419. 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61,
  2420. 0x74, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x82,
  2421. 0x03, 0x0a, 0x14, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x43, 0x66,
  2422. 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73,
  2423. 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49,
  2424. 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x54, 0x79, 0x70,
  2425. 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f,
  2426. 0x6d, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x4d, 0x61, 0x72,
  2427. 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x03, 0x20, 0x01,
  2428. 0x28, 0x0d, 0x52, 0x0f, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69,
  2429. 0x74, 0x68, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x72,
  2430. 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11,
  2431. 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75,
  2432. 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6b, 0x6f, 0x6e, 0x4d, 0x61, 0x72, 0x67, 0x69,
  2433. 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x52, 0x65,
  2434. 0x63, 0x6b, 0x6f, 0x6e, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
  2435. 0x28, 0x0a, 0x0f, 0x4c, 0x6f, 0x63, 0x6b, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c,
  2436. 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x4c, 0x6f, 0x63, 0x6b, 0x4d, 0x61,
  2437. 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x61,
  2438. 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01,
  2439. 0x28, 0x01, 0x52, 0x0f, 0x52, 0x65, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61,
  2440. 0x6c, 0x75, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69,
  2441. 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
  2442. 0x52, 0x13, 0x52, 0x65, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f,
  2443. 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75,
  2444. 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x49, 0x73, 0x44, 0x65, 0x66, 0x61,
  2445. 0x75, 0x6c, 0x74, 0x22, 0xca, 0x0e, 0x0a, 0x10, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48, 0x65,
  2446. 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x48, 0x65, 0x64, 0x67,
  2447. 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c,
  2448. 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d,
  2449. 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20,
  2450. 0x01, 0x28, 0x09, 0x52, 0x0d, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4e,
  2451. 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d,
  2452. 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x48, 0x65, 0x64, 0x67,
  2453. 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x65,
  2454. 0x64, 0x67, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
  2455. 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x0d, 0x50, 0x6c,
  2456. 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
  2457. 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x50, 0x6c, 0x61,
  2458. 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x0b, 0x50, 0x6c,
  2459. 0x61, 0x6e, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2460. 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x6e, 0x45,
  2461. 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x48, 0x65, 0x64, 0x67, 0x65, 0x52,
  2462. 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x48, 0x65, 0x64, 0x67, 0x65,
  2463. 0x52, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x55, 0x73, 0x65,
  2464. 0x72, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65,
  2465. 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73,
  2466. 0x65, 0x72, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x41, 0x72, 0x65, 0x61,
  2467. 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64,
  2468. 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04,
  2469. 0x52, 0x10, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74,
  2470. 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x72, 0x63, 0x18, 0x0b,
  2471. 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x72, 0x63, 0x12, 0x18,
  2472. 0x0a, 0x07, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52,
  2473. 0x07, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61,
  2474. 0x72, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b,
  2475. 0x12, 0x28, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e,
  2476. 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a,
  2477. 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x41, 0x75,
  2478. 0x64, 0x69, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01,
  2479. 0x28, 0x09, 0x52, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61,
  2480. 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x75, 0x64, 0x69, 0x74, 0x49, 0x44, 0x18, 0x10, 0x20,
  2481. 0x01, 0x28, 0x04, 0x52, 0x07, 0x41, 0x75, 0x64, 0x69, 0x74, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08,
  2482. 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x72, 0x63, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08,
  2483. 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x72, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x75, 0x64, 0x69,
  2484. 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x41, 0x75, 0x64,
  2485. 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52,
  2486. 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x75, 0x64,
  2487. 0x69, 0x74, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x69,
  2488. 0x76, 0x65, 0x72, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x14, 0x20, 0x01, 0x28,
  2489. 0x04, 0x52, 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73,
  2490. 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x57, 0x72, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64,
  2491. 0x49, 0x44, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x57, 0x72, 0x53, 0x74, 0x61, 0x6e,
  2492. 0x64, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x61, 0x74, 0x52, 0x61, 0x74,
  2493. 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x56, 0x61, 0x74, 0x52, 0x61, 0x74, 0x65,
  2494. 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x65, 0x64, 0x67, 0x65, 0x51, 0x74, 0x79, 0x18, 0x17, 0x20, 0x01,
  2495. 0x28, 0x01, 0x52, 0x08, 0x48, 0x65, 0x64, 0x67, 0x65, 0x51, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b,
  2496. 0x48, 0x65, 0x64, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28,
  2497. 0x01, 0x52, 0x0b, 0x48, 0x65, 0x64, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28,
  2498. 0x0a, 0x0f, 0x48, 0x65, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
  2499. 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x48, 0x65, 0x64, 0x67, 0x65, 0x52, 0x65,
  2500. 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x48, 0x65, 0x64, 0x67,
  2501. 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18,
  2502. 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x13, 0x48, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74,
  2503. 0x72, 0x61, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x72,
  2504. 0x69, 0x41, 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x01, 0x52,
  2505. 0x0b, 0x4f, 0x72, 0x69, 0x41, 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06,
  2506. 0x45, 0x78, 0x65, 0x51, 0x74, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x45, 0x78,
  2507. 0x65, 0x51, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x78, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
  2508. 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x45, 0x78, 0x65, 0x41, 0x6d, 0x6f, 0x75,
  2509. 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x45, 0x78, 0x65, 0x52, 0x65, 0x73, 0x74, 0x41, 0x6d, 0x6f,
  2510. 0x75, 0x6e, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x45, 0x78, 0x65, 0x52, 0x65,
  2511. 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x65, 0x41,
  2512. 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x45,
  2513. 0x78, 0x65, 0x41, 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x45, 0x78,
  2514. 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18,
  2515. 0x20, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x45, 0x78, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
  2516. 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x75, 0x72, 0x50,
  2517. 0x72, 0x69, 0x63, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x43, 0x75, 0x72, 0x50,
  2518. 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x6e, 0x45, 0x78, 0x65, 0x51, 0x74, 0x79,
  2519. 0x18, 0x22, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x55, 0x6e, 0x45, 0x78, 0x65, 0x51, 0x74, 0x79,
  2520. 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x70, 0x6f, 0x74, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x4c, 0x18,
  2521. 0x23, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x53, 0x70, 0x6f, 0x74, 0x48, 0x65, 0x64, 0x67, 0x65,
  2522. 0x50, 0x4c, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x70, 0x6f, 0x74, 0x50, 0x4c, 0x18, 0x24, 0x20, 0x01,
  2523. 0x28, 0x01, 0x52, 0x06, 0x53, 0x70, 0x6f, 0x74, 0x50, 0x4c, 0x12, 0x24, 0x0a, 0x0d, 0x46, 0x75,
  2524. 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x4c, 0x18, 0x25, 0x20, 0x01, 0x28,
  2525. 0x01, 0x52, 0x0d, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x4c,
  2526. 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, 0x4c, 0x18, 0x26, 0x20, 0x01,
  2527. 0x28, 0x01, 0x52, 0x08, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, 0x4c, 0x12, 0x1e, 0x0a, 0x0a,
  2528. 0x48, 0x65, 0x64, 0x67, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x4c, 0x18, 0x27, 0x20, 0x01, 0x28, 0x01,
  2529. 0x52, 0x0a, 0x48, 0x65, 0x64, 0x67, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x4c, 0x12, 0x20, 0x0a, 0x0b,
  2530. 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x50, 0x4c, 0x18, 0x28, 0x20, 0x01, 0x28,
  2531. 0x01, 0x52, 0x0b, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x50, 0x4c, 0x12, 0x14,
  2532. 0x0a, 0x05, 0x56, 0x61, 0x74, 0x50, 0x4c, 0x18, 0x29, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x56,
  2533. 0x61, 0x74, 0x50, 0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x75, 0x6d, 0x4f, 0x62, 0x73, 0x50, 0x4c,
  2534. 0x18, 0x2a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x53, 0x75, 0x6d, 0x4f, 0x62, 0x73, 0x50, 0x4c,
  2535. 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x41, 0x6d, 0x6f, 0x75,
  2536. 0x6e, 0x74, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x42, 0x6f,
  2537. 0x6f, 0x6b, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x75, 0x72, 0x53,
  2538. 0x74, 0x6f, 0x63, 0x6b, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x43, 0x75, 0x72, 0x53,
  2539. 0x74, 0x6f, 0x63, 0x6b, 0x12, 0x22, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18,
  2540. 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52,
  2541. 0x07, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x6e, 0x64, 0x54,
  2542. 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
  2543. 0x45, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0a,
  2544. 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b,
  2545. 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61,
  2546. 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x72, 0x69, 0x53, 0x70, 0x6f,
  2547. 0x74, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x4c, 0x18, 0x30, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e,
  2548. 0x4f, 0x72, 0x69, 0x53, 0x70, 0x6f, 0x74, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x4c, 0x12, 0x2a,
  2549. 0x0a, 0x10, 0x4f, 0x72, 0x69, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x64, 0x67, 0x65,
  2550. 0x50, 0x4c, 0x18, 0x31, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x4f, 0x72, 0x69, 0x46, 0x75, 0x74,
  2551. 0x75, 0x72, 0x65, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x4c, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72,
  2552. 0x69, 0x53, 0x70, 0x6f, 0x74, 0x50, 0x4c, 0x18, 0x32, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x4f,
  2553. 0x72, 0x69, 0x53, 0x70, 0x6f, 0x74, 0x50, 0x4c, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x72, 0x69, 0x46,
  2554. 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, 0x4c, 0x18, 0x33, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x4f,
  2555. 0x72, 0x69, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, 0x4c, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x70,
  2556. 0x6f, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x4c, 0x18, 0x34, 0x20, 0x01, 0x28, 0x01, 0x52,
  2557. 0x0b, 0x53, 0x70, 0x6f, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x4c, 0x12, 0x24, 0x0a, 0x0d,
  2558. 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x4c, 0x18, 0x35, 0x20,
  2559. 0x01, 0x28, 0x01, 0x52, 0x0d, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74,
  2560. 0x50, 0x4c, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18,
  2561. 0x36, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64,
  2562. 0x22, 0xa1, 0x01, 0x0a, 0x13, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48, 0x65, 0x64, 0x67, 0x65,
  2563. 0x64, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x78, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d,
  2564. 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x6d, 0x63,
  2565. 0x70, 0x32, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74,
  2566. 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x6e, 0x61, 0x6d,
  2567. 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
  2568. 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61,
  2569. 0x72, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x77, 0x72,
  2570. 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06,
  2571. 0x75, 0x6e, 0x69, 0x74, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x6e,
  2572. 0x69, 0x74, 0x69, 0x64, 0x22, 0x9b, 0x04, 0x0a, 0x13, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48,
  2573. 0x49, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c,
  2574. 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
  2575. 0x28, 0x04, 0x52, 0x0c, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44,
  2576. 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49,
  2577. 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47,
  2578. 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65,
  2579. 0x72, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52,
  2580. 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44,
  2581. 0x12, 0x22, 0x0a, 0x0c, 0x57, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x49, 0x44,
  2582. 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x57, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61,
  2583. 0x72, 0x64, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x61, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18,
  2584. 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x56, 0x61, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2a,
  2585. 0x0a, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x61, 0x74,
  2586. 0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x43, 0x6f,
  2587. 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x55, 0x6e,
  2588. 0x65, 0x78, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01,
  2589. 0x52, 0x0c, 0x55, 0x6e, 0x65, 0x78, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x12, 0x24,
  2590. 0x0a, 0x0d, 0x55, 0x6e, 0x65, 0x78, 0x65, 0x48, 0x65, 0x64, 0x67, 0x65, 0x51, 0x74, 0x79, 0x18,
  2591. 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x55, 0x6e, 0x65, 0x78, 0x65, 0x48, 0x65, 0x64, 0x67,
  2592. 0x65, 0x51, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65,
  2593. 0x64, 0x67, 0x65, 0x51, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x46, 0x75,
  2594. 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x64, 0x67, 0x65, 0x51, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a,
  2595. 0x48, 0x49, 0x45, 0x78, 0x70, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01,
  2596. 0x52, 0x0a, 0x48, 0x49, 0x45, 0x78, 0x70, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b,
  2597. 0x54, 0x72, 0x61, 0x64, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28,
  2598. 0x04, 0x52, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e,
  2599. 0x0a, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01,
  2600. 0x28, 0x04, 0x52, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x28,
  2601. 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01,
  2602. 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x43, 0x72,
  2603. 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61,
  2604. 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70,
  2605. 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69,
  2606. 0x6d, 0x65, 0x22, 0x7d, 0x0a, 0x16, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48, 0x49, 0x4d, 0x69,
  2607. 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x45, 0x78, 0x74, 0x12, 0x39, 0x0a, 0x0b,
  2608. 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
  2609. 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48, 0x49, 0x4d,
  2610. 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x0b, 0x6d, 0x69, 0x64, 0x64,
  2611. 0x6c, 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x69, 0x64, 0x64, 0x6c,
  2612. 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  2613. 0x52, 0x0f, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x6e, 0x61, 0x6d,
  2614. 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x14, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48, 0x65, 0x64, 0x67,
  2615. 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0d, 0x68, 0x65,
  2616. 0x64, 0x67, 0x65, 0x64, 0x69, 0x74, 0x65, 0x6d, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
  2617. 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48, 0x65, 0x64,
  2618. 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x78, 0x74, 0x52, 0x0d, 0x68, 0x65, 0x64, 0x67,
  2619. 0x65, 0x64, 0x69, 0x74, 0x65, 0x6d, 0x65, 0x78, 0x74, 0x12, 0x46, 0x0a, 0x10, 0x68, 0x69, 0x6d,
  2620. 0x69, 0x64, 0x64, 0x6c, 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20,
  2621. 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48,
  2622. 0x49, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x45, 0x78, 0x74, 0x52,
  2623. 0x10, 0x68, 0x69, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x65, 0x78,
  2624. 0x74, 0x22, 0x98, 0x07, 0x0a, 0x12, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x41, 0x72, 0x65, 0x61,
  2625. 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x69, 0x64, 0x64,
  2626. 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
  2627. 0x0d, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x1e,
  2628. 0x0a, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01,
  2629. 0x28, 0x04, 0x52, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18,
  2630. 0x0a, 0x07, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52,
  2631. 0x07, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x48, 0x65, 0x64, 0x67,
  2632. 0x65, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c,
  2633. 0x48, 0x65, 0x64, 0x67, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c,
  2634. 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01,
  2635. 0x28, 0x01, 0x52, 0x0c, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79,
  2636. 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x18, 0x06, 0x20,
  2637. 0x01, 0x28, 0x01, 0x52, 0x09, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x12, 0x22,
  2638. 0x0a, 0x0c, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18, 0x07,
  2639. 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75,
  2640. 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x6f, 0x73,
  2641. 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c,
  2642. 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x70, 0x52, 0x61,
  2643. 0x74, 0x69, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x53, 0x70, 0x52, 0x61, 0x74,
  2644. 0x69, 0x6f, 0x12, 0x2e, 0x0a, 0x12, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x53, 0x70, 0x6f, 0x74,
  2645. 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12,
  2646. 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75,
  2647. 0x72, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x54, 0x6f, 0x74, 0x61,
  2648. 0x6c, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52,
  2649. 0x13, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x6f,
  2650. 0x73, 0x75, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x53, 0x70,
  2651. 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x48, 0x65, 0x64,
  2652. 0x67, 0x65, 0x64, 0x53, 0x70, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x72,
  2653. 0x69, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a,
  2654. 0x4f, 0x72, 0x69, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x72,
  2655. 0x69, 0x48, 0x65, 0x64, 0x67, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x18, 0x0e, 0x20,
  2656. 0x01, 0x28, 0x01, 0x52, 0x0f, 0x4f, 0x72, 0x69, 0x48, 0x65, 0x64, 0x67, 0x65, 0x53, 0x70, 0x6f,
  2657. 0x74, 0x51, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x72, 0x69, 0x48, 0x65, 0x64, 0x67, 0x65,
  2658. 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x4f,
  2659. 0x72, 0x69, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x22,
  2660. 0x0a, 0x0c, 0x4f, 0x72, 0x69, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x18, 0x10,
  2661. 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x4f, 0x72, 0x69, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51,
  2662. 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x72, 0x69, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x70,
  2663. 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x4f, 0x72, 0x69,
  2664. 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x2a, 0x0a, 0x10,
  2665. 0x4f, 0x72, 0x69, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65,
  2666. 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x4f, 0x72, 0x69, 0x54, 0x6f, 0x74, 0x61, 0x6c,
  2667. 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x4f, 0x72, 0x69, 0x48,
  2668. 0x65, 0x64, 0x67, 0x65, 0x64, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72,
  2669. 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x4f, 0x72, 0x69, 0x48, 0x65, 0x64, 0x67,
  2670. 0x65, 0x64, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x36,
  2671. 0x0a, 0x16, 0x4f, 0x72, 0x69, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c,
  2672. 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x16,
  2673. 0x4f, 0x72, 0x69, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78,
  2674. 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
  2675. 0x54, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e,
  2676. 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
  2677. 0x12, 0x28, 0x0a, 0x0f, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x4e,
  2678. 0x61, 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x4d, 0x69, 0x64, 0x64, 0x6c,
  2679. 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x47, 0x6f,
  2680. 0x6f, 0x64, 0x73, 0x55, 0x6e, 0x69, 0x74, 0x49, 0x44, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52,
  2681. 0x0b, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x55, 0x6e, 0x69, 0x74, 0x49, 0x44, 0x22, 0xd9, 0x08, 0x0a,
  2682. 0x13, 0x54, 0x72, 0x61, 0x64, 0x65, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61,
  2683. 0x69, 0x6c, 0x45, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x18,
  2684. 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x12, 0x1c,
  2685. 0x0a, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
  2686. 0x0d, 0x52, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x12, 0x1c, 0x0a, 0x09,
  2687. 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
  2688. 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61,
  2689. 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61,
  2690. 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49,
  2691. 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44,
  2692. 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
  2693. 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f,
  2694. 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63,
  2695. 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x55,
  2696. 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x4d, 0x61, 0x74,
  2697. 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63,
  2698. 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04,
  2699. 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44,
  2700. 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x65, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28,
  2701. 0x04, 0x52, 0x07, 0x4f, 0x70, 0x65, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x72,
  2702. 0x61, 0x64, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52,
  2703. 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09,
  2704. 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52,
  2705. 0x09, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x48, 0x6f,
  2706. 0x6c, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x48,
  2707. 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x48, 0x6f, 0x6c, 0x64,
  2708. 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c,
  2709. 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b,
  2710. 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
  2711. 0x01, 0x52, 0x0b, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c,
  2712. 0x0a, 0x09, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x51, 0x74, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28,
  2713. 0x04, 0x52, 0x09, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x51, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b,
  2714. 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x51, 0x74, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28,
  2715. 0x04, 0x52, 0x0b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x51, 0x74, 0x79, 0x12, 0x1a,
  2716. 0x0a, 0x08, 0x48, 0x6f, 0x6c, 0x64, 0x44, 0x61, 0x79, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04,
  2717. 0x52, 0x08, 0x48, 0x6f, 0x6c, 0x64, 0x44, 0x61, 0x79, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x61,
  2718. 0x79, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01,
  2719. 0x52, 0x0c, 0x50, 0x61, 0x79, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x26,
  2720. 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
  2721. 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x44,
  2722. 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x4c, 0x61, 0x74, 0x65, 0x46, 0x65,
  2723. 0x65, 0x44, 0x61, 0x79, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x4c, 0x61, 0x74,
  2724. 0x65, 0x46, 0x65, 0x65, 0x44, 0x61, 0x79, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x4c, 0x61, 0x74, 0x65,
  2725. 0x46, 0x65, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x16, 0x20, 0x01,
  2726. 0x28, 0x0d, 0x52, 0x10, 0x4c, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72,
  2727. 0x69, 0x74, 0x68, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x56,
  2728. 0x61, 0x6c, 0x75, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x4c, 0x61, 0x74, 0x65,
  2729. 0x46, 0x65, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c,
  2730. 0x41, 0x74, 0x65, 0x46, 0x65, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x43, 0x61,
  2731. 0x6c, 0x6c, 0x41, 0x74, 0x65, 0x46, 0x65, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6d,
  2732. 0x70, 0x74, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, 0x19, 0x20,
  2733. 0x01, 0x28, 0x01, 0x52, 0x11, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x44, 0x65, 0x70, 0x6f, 0x73,
  2734. 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x75, 0x74, 0x44, 0x65, 0x70,
  2735. 0x6f, 0x73, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e,
  2736. 0x43, 0x75, 0x74, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x20,
  2737. 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x1b, 0x20,
  2738. 0x01, 0x28, 0x01, 0x52, 0x0b, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65,
  2739. 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x75, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x1c, 0x20, 0x01,
  2740. 0x28, 0x01, 0x52, 0x08, 0x43, 0x75, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07,
  2741. 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x4c, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x43,
  2742. 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x4c, 0x12, 0x18, 0x0a, 0x07, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x50,
  2743. 0x4c, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x4c,
  2744. 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18,
  2745. 0x1f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x61,
  2746. 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x62, 0x6c, 0x65,
  2747. 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x52,
  2748. 0x65, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
  2749. 0x12, 0x26, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x22, 0x20,
  2750. 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x54,
  2751. 0x72, 0x61, 0x64, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x81, 0x03, 0x0a, 0x18, 0x52, 0x65, 0x64,
  2752. 0x69, 0x73, 0x54, 0x72, 0x61, 0x64, 0x65, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74,
  2753. 0x61, 0x69, 0x6c, 0x45, 0x78, 0x12, 0x37, 0x0a, 0x0a, 0x54, 0x48, 0x44, 0x65, 0x74, 0x61, 0x69,
  2754. 0x6c, 0x45, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x54,
  2755. 0x72, 0x61, 0x64, 0x65, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
  2756. 0x45, 0x78, 0x52, 0x0a, 0x54, 0x48, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x45, 0x78, 0x12, 0x18,
  2757. 0x0a, 0x07, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x4c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52,
  2758. 0x07, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x4c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x6f,
  2759. 0x73, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x44,
  2760. 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x52, 0x65,
  2761. 0x66, 0x75, 0x6e, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18,
  2762. 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x62, 0x6c,
  2763. 0x65, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x6f, 0x6f, 0x64,
  2764. 0x73, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x47, 0x6f, 0x6f,
  2765. 0x64, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x4e,
  2766. 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x47, 0x6f, 0x6f, 0x64, 0x73,
  2767. 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x55, 0x6e, 0x69,
  2768. 0x74, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x47, 0x6f, 0x6f, 0x64, 0x73,
  2769. 0x55, 0x6e, 0x69, 0x74, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x67, 0x72, 0x65, 0x65, 0x55,
  2770. 0x6e, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x41, 0x67, 0x72, 0x65, 0x65,
  2771. 0x55, 0x6e, 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x50,
  2772. 0x6c, 0x61, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x44, 0x65, 0x63, 0x69,
  2773. 0x6d, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x51, 0x75, 0x6f, 0x74,
  2774. 0x65, 0x4d, 0x69, 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
  2775. 0x51, 0x75, 0x6f, 0x74, 0x65, 0x4d, 0x69, 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x22, 0xd6, 0x02, 0x0a,
  2776. 0x10, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x72, 0x75, 0x63,
  2777. 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01,
  2778. 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12,
  2779. 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
  2780. 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x4d, 0x61, 0x72,
  2781. 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x03, 0x20, 0x01,
  2782. 0x28, 0x0d, 0x52, 0x0f, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69,
  2783. 0x74, 0x68, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x72,
  2784. 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11,
  2785. 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75,
  2786. 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6b, 0x6f, 0x6e, 0x4d, 0x61, 0x72, 0x67, 0x69,
  2787. 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x52, 0x65,
  2788. 0x63, 0x6b, 0x6f, 0x6e, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
  2789. 0x28, 0x0a, 0x0f, 0x4c, 0x6f, 0x63, 0x6b, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c,
  2790. 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x4c, 0x6f, 0x63, 0x6b, 0x4d, 0x61,
  2791. 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x61,
  2792. 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01,
  2793. 0x28, 0x01, 0x52, 0x0f, 0x52, 0x65, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61,
  2794. 0x6c, 0x75, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69,
  2795. 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
  2796. 0x52, 0x13, 0x52, 0x65, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f,
  2797. 0x72, 0x69, 0x74, 0x68, 0x6d,
  2798. }
  2799. var (
  2800. file_mtp2_proto_rawDescOnce sync.Once
  2801. file_mtp2_proto_rawDescData = file_mtp2_proto_rawDesc
  2802. )
  2803. func file_mtp2_proto_rawDescGZIP() []byte {
  2804. file_mtp2_proto_rawDescOnce.Do(func() {
  2805. file_mtp2_proto_rawDescData = protoimpl.X.CompressGZIP(file_mtp2_proto_rawDescData)
  2806. })
  2807. return file_mtp2_proto_rawDescData
  2808. }
  2809. var file_mtp2_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
  2810. var file_mtp2_proto_goTypes = []interface{}{
  2811. (*TradeRule)(nil), // 0: pb.TradeRule
  2812. (*TradeRuleInfoStruct)(nil), // 1: pb.TradeRuleInfoStruct
  2813. (*Date)(nil), // 2: pb.Date
  2814. (*Erms2ArbitrageStrategy)(nil), // 3: pb.Erms2ArbitrageStrategy
  2815. (*ErmcpAreaSpot)(nil), // 4: pb.ErmcpAreaSpot
  2816. (*ErmcpAreaExposure)(nil), // 5: pb.ErmcpAreaExposure
  2817. (*GoodsMarginCfgStruct)(nil), // 6: pb.GoodsMarginCfgStruct
  2818. (*Ermcp2HedgedItem)(nil), // 7: pb.Ermcp2HedgedItem
  2819. (*Ermcp2HedgedItemExt)(nil), // 8: pb.Ermcp2HedgedItemExt
  2820. (*Ermcp2HIMiddleGoods)(nil), // 9: pb.Ermcp2HIMiddleGoods
  2821. (*Ermcp2HIMiddleGoodsExt)(nil), // 10: pb.Ermcp2HIMiddleGoodsExt
  2822. (*Ermcp2HedgedItemInfo)(nil), // 11: pb.Ermcp2HedgedItemInfo
  2823. (*Ermcp2AreaExposure)(nil), // 12: pb.Ermcp2AreaExposure
  2824. (*TradeHolderDetailEx)(nil), // 13: pb.TradeHolderDetailEx
  2825. (*RedisTradeHolderDetailEx)(nil), // 14: pb.RedisTradeHolderDetailEx
  2826. (*MarginInfoStruct)(nil), // 15: pb.MarginInfoStruct
  2827. }
  2828. var file_mtp2_proto_depIdxs = []int32{
  2829. 0, // 0: pb.TradeRuleInfoStruct.TradeRules:type_name -> pb.TradeRule
  2830. 2, // 1: pb.Erms2ArbitrageStrategy.UpDatetime:type_name -> pb.Date
  2831. 2, // 2: pb.ErmcpAreaSpot.UpdateTime:type_name -> pb.Date
  2832. 2, // 3: pb.ErmcpAreaExposure.UpdateTime:type_name -> pb.Date
  2833. 2, // 4: pb.Ermcp2HedgedItem.PlanStartDate:type_name -> pb.Date
  2834. 2, // 5: pb.Ermcp2HedgedItem.PlanEndDate:type_name -> pb.Date
  2835. 2, // 6: pb.Ermcp2HedgedItem.CreateTime:type_name -> pb.Date
  2836. 2, // 7: pb.Ermcp2HedgedItem.EndDate:type_name -> pb.Date
  2837. 2, // 8: pb.Ermcp2HedgedItem.UpdateTime:type_name -> pb.Date
  2838. 7, // 9: pb.Ermcp2HedgedItemExt.item:type_name -> pb.Ermcp2HedgedItem
  2839. 2, // 10: pb.Ermcp2HIMiddleGoods.CreateTime:type_name -> pb.Date
  2840. 2, // 11: pb.Ermcp2HIMiddleGoods.UpdateTime:type_name -> pb.Date
  2841. 9, // 12: pb.Ermcp2HIMiddleGoodsExt.middlegoods:type_name -> pb.Ermcp2HIMiddleGoods
  2842. 8, // 13: pb.Ermcp2HedgedItemInfo.hedgeditemext:type_name -> pb.Ermcp2HedgedItemExt
  2843. 10, // 14: pb.Ermcp2HedgedItemInfo.himiddlegoodsext:type_name -> pb.Ermcp2HIMiddleGoodsExt
  2844. 2, // 15: pb.Ermcp2AreaExposure.UpdateTime:type_name -> pb.Date
  2845. 2, // 16: pb.TradeHolderDetailEx.TradeTime:type_name -> pb.Date
  2846. 13, // 17: pb.RedisTradeHolderDetailEx.THDetailEx:type_name -> pb.TradeHolderDetailEx
  2847. 18, // [18:18] is the sub-list for method output_type
  2848. 18, // [18:18] is the sub-list for method input_type
  2849. 18, // [18:18] is the sub-list for extension type_name
  2850. 18, // [18:18] is the sub-list for extension extendee
  2851. 0, // [0:18] is the sub-list for field type_name
  2852. }
  2853. func init() { file_mtp2_proto_init() }
  2854. func file_mtp2_proto_init() {
  2855. if File_mtp2_proto != nil {
  2856. return
  2857. }
  2858. if !protoimpl.UnsafeEnabled {
  2859. file_mtp2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2860. switch v := v.(*TradeRule); i {
  2861. case 0:
  2862. return &v.state
  2863. case 1:
  2864. return &v.sizeCache
  2865. case 2:
  2866. return &v.unknownFields
  2867. default:
  2868. return nil
  2869. }
  2870. }
  2871. file_mtp2_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2872. switch v := v.(*TradeRuleInfoStruct); i {
  2873. case 0:
  2874. return &v.state
  2875. case 1:
  2876. return &v.sizeCache
  2877. case 2:
  2878. return &v.unknownFields
  2879. default:
  2880. return nil
  2881. }
  2882. }
  2883. file_mtp2_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2884. switch v := v.(*Date); i {
  2885. case 0:
  2886. return &v.state
  2887. case 1:
  2888. return &v.sizeCache
  2889. case 2:
  2890. return &v.unknownFields
  2891. default:
  2892. return nil
  2893. }
  2894. }
  2895. file_mtp2_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2896. switch v := v.(*Erms2ArbitrageStrategy); i {
  2897. case 0:
  2898. return &v.state
  2899. case 1:
  2900. return &v.sizeCache
  2901. case 2:
  2902. return &v.unknownFields
  2903. default:
  2904. return nil
  2905. }
  2906. }
  2907. file_mtp2_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2908. switch v := v.(*ErmcpAreaSpot); i {
  2909. case 0:
  2910. return &v.state
  2911. case 1:
  2912. return &v.sizeCache
  2913. case 2:
  2914. return &v.unknownFields
  2915. default:
  2916. return nil
  2917. }
  2918. }
  2919. file_mtp2_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2920. switch v := v.(*ErmcpAreaExposure); i {
  2921. case 0:
  2922. return &v.state
  2923. case 1:
  2924. return &v.sizeCache
  2925. case 2:
  2926. return &v.unknownFields
  2927. default:
  2928. return nil
  2929. }
  2930. }
  2931. file_mtp2_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2932. switch v := v.(*GoodsMarginCfgStruct); i {
  2933. case 0:
  2934. return &v.state
  2935. case 1:
  2936. return &v.sizeCache
  2937. case 2:
  2938. return &v.unknownFields
  2939. default:
  2940. return nil
  2941. }
  2942. }
  2943. file_mtp2_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2944. switch v := v.(*Ermcp2HedgedItem); i {
  2945. case 0:
  2946. return &v.state
  2947. case 1:
  2948. return &v.sizeCache
  2949. case 2:
  2950. return &v.unknownFields
  2951. default:
  2952. return nil
  2953. }
  2954. }
  2955. file_mtp2_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2956. switch v := v.(*Ermcp2HedgedItemExt); i {
  2957. case 0:
  2958. return &v.state
  2959. case 1:
  2960. return &v.sizeCache
  2961. case 2:
  2962. return &v.unknownFields
  2963. default:
  2964. return nil
  2965. }
  2966. }
  2967. file_mtp2_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2968. switch v := v.(*Ermcp2HIMiddleGoods); i {
  2969. case 0:
  2970. return &v.state
  2971. case 1:
  2972. return &v.sizeCache
  2973. case 2:
  2974. return &v.unknownFields
  2975. default:
  2976. return nil
  2977. }
  2978. }
  2979. file_mtp2_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  2980. switch v := v.(*Ermcp2HIMiddleGoodsExt); i {
  2981. case 0:
  2982. return &v.state
  2983. case 1:
  2984. return &v.sizeCache
  2985. case 2:
  2986. return &v.unknownFields
  2987. default:
  2988. return nil
  2989. }
  2990. }
  2991. file_mtp2_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2992. switch v := v.(*Ermcp2HedgedItemInfo); i {
  2993. case 0:
  2994. return &v.state
  2995. case 1:
  2996. return &v.sizeCache
  2997. case 2:
  2998. return &v.unknownFields
  2999. default:
  3000. return nil
  3001. }
  3002. }
  3003. file_mtp2_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  3004. switch v := v.(*Ermcp2AreaExposure); i {
  3005. case 0:
  3006. return &v.state
  3007. case 1:
  3008. return &v.sizeCache
  3009. case 2:
  3010. return &v.unknownFields
  3011. default:
  3012. return nil
  3013. }
  3014. }
  3015. file_mtp2_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  3016. switch v := v.(*TradeHolderDetailEx); i {
  3017. case 0:
  3018. return &v.state
  3019. case 1:
  3020. return &v.sizeCache
  3021. case 2:
  3022. return &v.unknownFields
  3023. default:
  3024. return nil
  3025. }
  3026. }
  3027. file_mtp2_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  3028. switch v := v.(*RedisTradeHolderDetailEx); i {
  3029. case 0:
  3030. return &v.state
  3031. case 1:
  3032. return &v.sizeCache
  3033. case 2:
  3034. return &v.unknownFields
  3035. default:
  3036. return nil
  3037. }
  3038. }
  3039. file_mtp2_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  3040. switch v := v.(*MarginInfoStruct); i {
  3041. case 0:
  3042. return &v.state
  3043. case 1:
  3044. return &v.sizeCache
  3045. case 2:
  3046. return &v.unknownFields
  3047. default:
  3048. return nil
  3049. }
  3050. }
  3051. }
  3052. type x struct{}
  3053. out := protoimpl.TypeBuilder{
  3054. File: protoimpl.DescBuilder{
  3055. GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  3056. RawDescriptor: file_mtp2_proto_rawDesc,
  3057. NumEnums: 0,
  3058. NumMessages: 16,
  3059. NumExtensions: 0,
  3060. NumServices: 0,
  3061. },
  3062. GoTypes: file_mtp2_proto_goTypes,
  3063. DependencyIndexes: file_mtp2_proto_depIdxs,
  3064. MessageInfos: file_mtp2_proto_msgTypes,
  3065. }.Build()
  3066. File_mtp2_proto = out.File
  3067. file_mtp2_proto_rawDesc = nil
  3068. file_mtp2_proto_goTypes = nil
  3069. file_mtp2_proto_depIdxs = nil
  3070. }