mikufans_proto_intl/
bilibili.app.card.v1.rs

1// This file is @generated by prost-build.
2///
3#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct AdInfo {
5    ///
6    #[prost(int64, tag = "1")]
7    pub creative_id: i64,
8    ///
9    #[prost(int32, tag = "2")]
10    pub creative_type: i32,
11    ///
12    #[prost(int32, tag = "3")]
13    pub card_type: i32,
14    ///
15    #[prost(message, optional, tag = "4")]
16    pub creative_content: ::core::option::Option<CreativeContent>,
17    ///
18    #[prost(string, tag = "5")]
19    pub ad_cb: ::prost::alloc::string::String,
20    ///
21    #[prost(int64, tag = "6")]
22    pub resource: i64,
23    ///
24    #[prost(int32, tag = "7")]
25    pub source: i32,
26    ///
27    #[prost(string, tag = "8")]
28    pub request_id: ::prost::alloc::string::String,
29    ///
30    #[prost(bool, tag = "9")]
31    pub is_ad: bool,
32    ///
33    #[prost(int64, tag = "10")]
34    pub cm_mark: i64,
35    ///
36    #[prost(int32, tag = "11")]
37    pub index: i32,
38    ///
39    #[prost(bool, tag = "12")]
40    pub is_ad_loc: bool,
41    ///
42    #[prost(int32, tag = "13")]
43    pub card_index: i32,
44    ///
45    #[prost(string, tag = "14")]
46    pub client_ip: ::prost::alloc::string::String,
47    ///
48    #[prost(bytes = "vec", tag = "15")]
49    pub extra: ::prost::alloc::vec::Vec<u8>,
50    ///
51    #[prost(int32, tag = "16")]
52    pub creative_style: i32,
53    ///
54    #[prost(int64, tag = "17")]
55    pub nature_ad: i64,
56    ///
57    #[prost(int32, tag = "18")]
58    pub content_fast_access: i32,
59}
60///
61#[derive(Clone, PartialEq, ::prost::Message)]
62pub struct Args {
63    ///
64    #[prost(int32, tag = "1")]
65    pub r#type: i32,
66    ///
67    #[prost(int64, tag = "2")]
68    pub up_id: i64,
69    ///
70    #[prost(string, tag = "3")]
71    pub up_name: ::prost::alloc::string::String,
72    ///
73    #[prost(int32, tag = "4")]
74    pub rid: i32,
75    ///
76    #[prost(string, tag = "5")]
77    pub rname: ::prost::alloc::string::String,
78    ///
79    #[prost(int64, tag = "6")]
80    pub tid: i64,
81    ///
82    #[prost(string, tag = "7")]
83    pub tname: ::prost::alloc::string::String,
84    ///
85    #[prost(string, tag = "8")]
86    pub track_id: ::prost::alloc::string::String,
87    ///
88    #[prost(string, tag = "9")]
89    pub state: ::prost::alloc::string::String,
90    ///
91    #[prost(int32, tag = "10")]
92    pub converge_type: i32,
93    ///
94    #[prost(int64, tag = "11")]
95    pub aid: i64,
96}
97///
98#[derive(Clone, PartialEq, ::prost::Message)]
99pub struct Avatar {
100    ///
101    #[prost(string, tag = "1")]
102    pub cover: ::prost::alloc::string::String,
103    ///
104    #[prost(string, tag = "2")]
105    pub text: ::prost::alloc::string::String,
106    ///
107    #[prost(string, tag = "3")]
108    pub uri: ::prost::alloc::string::String,
109    ///
110    #[prost(int32, tag = "4")]
111    pub r#type: i32,
112    ///
113    #[prost(string, tag = "5")]
114    pub event: ::prost::alloc::string::String,
115    ///
116    #[prost(string, tag = "6")]
117    pub event_v2: ::prost::alloc::string::String,
118    ///
119    #[prost(int32, tag = "7")]
120    pub defalut_cover: i32,
121}
122///
123#[derive(Clone, PartialEq, ::prost::Message)]
124pub struct Base {
125    ///
126    #[prost(string, tag = "1")]
127    pub card_type: ::prost::alloc::string::String,
128    ///
129    #[prost(string, tag = "2")]
130    pub card_goto: ::prost::alloc::string::String,
131    ///
132    #[prost(string, tag = "3")]
133    pub goto: ::prost::alloc::string::String,
134    ///
135    #[prost(string, tag = "4")]
136    pub param: ::prost::alloc::string::String,
137    ///
138    #[prost(string, tag = "5")]
139    pub cover: ::prost::alloc::string::String,
140    ///
141    #[prost(string, tag = "6")]
142    pub title: ::prost::alloc::string::String,
143    ///
144    #[prost(string, tag = "7")]
145    pub uri: ::prost::alloc::string::String,
146    ///
147    #[prost(message, optional, tag = "8")]
148    pub three_point: ::core::option::Option<ThreePoint>,
149    ///
150    #[prost(message, optional, tag = "9")]
151    pub args: ::core::option::Option<Args>,
152    ///
153    #[prost(message, optional, tag = "10")]
154    pub player_args: ::core::option::Option<PlayerArgs>,
155    ///
156    #[prost(int64, tag = "11")]
157    pub idx: i64,
158    ///
159    #[prost(message, optional, tag = "12")]
160    pub ad_info: ::core::option::Option<AdInfo>,
161    ///
162    #[prost(message, optional, tag = "13")]
163    pub mask: ::core::option::Option<Mask>,
164    ///
165    #[prost(string, tag = "14")]
166    pub from_type: ::prost::alloc::string::String,
167    ///
168    #[prost(message, repeated, tag = "15")]
169    pub three_point_v2: ::prost::alloc::vec::Vec<ThreePointV2>,
170    ///
171    #[prost(message, repeated, tag = "16")]
172    pub three_point_v3: ::prost::alloc::vec::Vec<ThreePointV3>,
173    ///
174    #[prost(message, optional, tag = "17")]
175    pub desc_button: ::core::option::Option<Button>,
176    ///
177    #[prost(message, optional, tag = "18")]
178    pub three_point_v4: ::core::option::Option<ThreePointV4>,
179    ///
180    #[prost(message, optional, tag = "19")]
181    pub up_args: ::core::option::Option<UpArgs>,
182}
183///
184#[derive(Clone, PartialEq, ::prost::Message)]
185pub struct Bubble {
186    ///
187    #[prost(string, tag = "1")]
188    pub bubble_content: ::prost::alloc::string::String,
189    ///
190    #[prost(int32, tag = "2")]
191    pub version: i32,
192    ///
193    #[prost(int64, tag = "3")]
194    pub stime: i64,
195}
196///
197#[derive(Clone, PartialEq, ::prost::Message)]
198pub struct Button {
199    ///
200    #[prost(string, tag = "1")]
201    pub text: ::prost::alloc::string::String,
202    ///
203    #[prost(string, tag = "2")]
204    pub param: ::prost::alloc::string::String,
205    ///
206    #[prost(string, tag = "3")]
207    pub uri: ::prost::alloc::string::String,
208    ///
209    #[prost(string, tag = "4")]
210    pub event: ::prost::alloc::string::String,
211    ///
212    #[prost(int32, tag = "5")]
213    pub selected: i32,
214    ///
215    #[prost(int32, tag = "6")]
216    pub r#type: i32,
217    ///
218    #[prost(string, tag = "7")]
219    pub event_v2: ::prost::alloc::string::String,
220    ///
221    #[prost(message, optional, tag = "8")]
222    pub relation: ::core::option::Option<Relation>,
223}
224///
225#[derive(Clone, PartialEq, ::prost::Message)]
226pub struct Card {
227    ///
228    #[prost(oneof = "card::Item", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12")]
229    pub item: ::core::option::Option<card::Item>,
230}
231/// Nested message and enum types in `Card`.
232pub mod card {
233    ///
234    #[derive(Clone, PartialEq, ::prost::Oneof)]
235    pub enum Item {
236        ///
237        #[prost(message, tag = "1")]
238        SmallCoverV5(super::SmallCoverV5),
239        ///
240        #[prost(message, tag = "2")]
241        LargeCoverV1(super::LargeCoverV1),
242        ///
243        #[prost(message, tag = "3")]
244        ThreeItemAllV2(super::ThreeItemAllV2),
245        ///
246        #[prost(message, tag = "4")]
247        ThreeItemV1(super::ThreeItemV1),
248        ///
249        #[prost(message, tag = "5")]
250        HotTopic(super::HotTopic),
251        ///
252        #[prost(message, tag = "6")]
253        ThreeItemHV5(super::DynamicHot),
254        ///
255        #[prost(message, tag = "7")]
256        MiddleCoverV3(super::MiddleCoverV3),
257        ///
258        #[prost(message, tag = "8")]
259        LargeCoverV4(super::LargeCoverV4),
260        ///
261        #[prost(message, tag = "9")]
262        PopularTopEntrance(super::PopularTopEntrance),
263        ///
264        #[prost(message, tag = "10")]
265        RcmdOneItem(super::RcmdOneItem),
266        ///
267        #[prost(message, tag = "11")]
268        SmallCoverV5Ad(super::SmallCoverV5Ad),
269        ///
270        #[prost(message, tag = "12")]
271        TopicList(super::TopicList),
272    }
273}
274///
275#[derive(Clone, PartialEq, ::prost::Message)]
276pub struct CreativeContent {
277    ///
278    #[prost(string, tag = "1")]
279    pub title: ::prost::alloc::string::String,
280    ///
281    #[prost(string, tag = "2")]
282    pub description: ::prost::alloc::string::String,
283    ///
284    #[prost(int64, tag = "3")]
285    pub video_id: i64,
286    ///
287    #[prost(string, tag = "4")]
288    pub username: ::prost::alloc::string::String,
289    ///
290    #[prost(string, tag = "5")]
291    pub image_url: ::prost::alloc::string::String,
292    ///
293    #[prost(string, tag = "6")]
294    pub image_md5: ::prost::alloc::string::String,
295    ///
296    #[prost(string, tag = "7")]
297    pub log_url: ::prost::alloc::string::String,
298    ///
299    #[prost(string, tag = "8")]
300    pub log_md5: ::prost::alloc::string::String,
301    ///
302    #[prost(string, tag = "9")]
303    pub url: ::prost::alloc::string::String,
304    ///
305    #[prost(string, tag = "10")]
306    pub click_url: ::prost::alloc::string::String,
307    ///
308    #[prost(string, tag = "11")]
309    pub show_url: ::prost::alloc::string::String,
310}
311///
312#[derive(Clone, PartialEq, ::prost::Message)]
313pub struct DislikeReason {
314    ///
315    #[prost(int64, tag = "1")]
316    pub id: i64,
317    ///
318    #[prost(string, tag = "2")]
319    pub name: ::prost::alloc::string::String,
320}
321///
322#[derive(Clone, PartialEq, ::prost::Message)]
323pub struct DoubleCards {
324    ///
325    #[prost(oneof = "double_cards::Card", tags = "1, 2, 3")]
326    pub card: ::core::option::Option<double_cards::Card>,
327}
328/// Nested message and enum types in `DoubleCards`.
329pub mod double_cards {
330    ///
331    #[derive(Clone, PartialEq, ::prost::Oneof)]
332    pub enum Card {
333        ///
334        #[prost(message, tag = "1")]
335        SmallCoverV2(super::SmallCoverV2),
336        ///
337        #[prost(message, tag = "2")]
338        OnePicV2(super::OnePicV2),
339        ///
340        #[prost(message, tag = "3")]
341        ThreePicV2(super::ThreePicV2),
342    }
343}
344///
345#[derive(Clone, PartialEq, ::prost::Message)]
346pub struct DynamicHot {
347    ///
348    #[prost(message, optional, tag = "1")]
349    pub base: ::core::option::Option<Base>,
350    ///
351    #[prost(string, tag = "2")]
352    pub top_left_title: ::prost::alloc::string::String,
353    ///
354    #[prost(string, tag = "3")]
355    pub desc1: ::prost::alloc::string::String,
356    ///
357    #[prost(string, tag = "4")]
358    pub desc2: ::prost::alloc::string::String,
359    ///
360    #[prost(string, tag = "5")]
361    pub more_uri: ::prost::alloc::string::String,
362    ///
363    #[prost(string, tag = "6")]
364    pub more_text: ::prost::alloc::string::String,
365    ///
366    #[prost(string, repeated, tag = "7")]
367    pub covers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
368    ///
369    #[prost(string, tag = "8")]
370    pub cover_right_text: ::prost::alloc::string::String,
371    ///
372    #[prost(message, optional, tag = "9")]
373    pub top_rcmd_reason_style: ::core::option::Option<ReasonStyle>,
374}
375///
376#[derive(Clone, PartialEq, ::prost::Message)]
377pub struct EntranceItem {
378    ///
379    #[prost(string, tag = "1")]
380    pub goto: ::prost::alloc::string::String,
381    ///
382    #[prost(string, tag = "2")]
383    pub icon: ::prost::alloc::string::String,
384    ///
385    #[prost(string, tag = "3")]
386    pub title: ::prost::alloc::string::String,
387    ///
388    #[prost(string, tag = "4")]
389    pub module_id: ::prost::alloc::string::String,
390    ///
391    #[prost(string, tag = "5")]
392    pub uri: ::prost::alloc::string::String,
393    ///
394    #[prost(int64, tag = "6")]
395    pub entrance_id: i64,
396    ///
397    #[prost(message, optional, tag = "7")]
398    pub bubble: ::core::option::Option<Bubble>,
399    ///
400    #[prost(int32, tag = "8")]
401    pub entrance_type: i32,
402}
403///
404#[derive(Clone, PartialEq, ::prost::Message)]
405pub struct FunctionalButton {
406    ///
407    #[prost(int32, tag = "1")]
408    pub r#type: i32,
409    ///
410    #[prost(message, repeated, tag = "2")]
411    pub button_metas: ::prost::alloc::vec::Vec<FunctionalButtonMeta>,
412}
413///
414#[derive(Clone, PartialEq, ::prost::Message)]
415pub struct FunctionalButtonMeta {
416    ///
417    #[prost(string, tag = "1")]
418    pub icon: ::prost::alloc::string::String,
419    ///
420    #[prost(string, tag = "2")]
421    pub text: ::prost::alloc::string::String,
422    ///
423    #[prost(string, tag = "3")]
424    pub button_status: ::prost::alloc::string::String,
425    ///
426    #[prost(string, tag = "4")]
427    pub toast: ::prost::alloc::string::String,
428}
429///
430#[derive(Clone, PartialEq, ::prost::Message)]
431pub struct HotTopic {
432    ///
433    #[prost(message, optional, tag = "1")]
434    pub base: ::core::option::Option<Base>,
435    ///
436    #[prost(string, tag = "2")]
437    pub desc: ::prost::alloc::string::String,
438    ///
439    #[prost(message, repeated, tag = "3")]
440    pub items: ::prost::alloc::vec::Vec<HotTopicItem>,
441}
442///
443#[derive(Clone, PartialEq, ::prost::Message)]
444pub struct HotTopicItem {
445    ///
446    #[prost(string, tag = "1")]
447    pub cover: ::prost::alloc::string::String,
448    ///
449    #[prost(string, tag = "2")]
450    pub uri: ::prost::alloc::string::String,
451    ///
452    #[prost(string, tag = "3")]
453    pub param: ::prost::alloc::string::String,
454    ///
455    #[prost(string, tag = "4")]
456    pub name: ::prost::alloc::string::String,
457}
458///
459#[derive(Clone, PartialEq, ::prost::Message)]
460pub struct HotwordEntrance {
461    ///
462    #[prost(int64, tag = "1")]
463    pub hotword_id: i64,
464    ///
465    #[prost(string, tag = "2")]
466    pub hot_text: ::prost::alloc::string::String,
467    ///
468    #[prost(string, tag = "3")]
469    pub h5_url: ::prost::alloc::string::String,
470    ///
471    #[prost(string, tag = "4")]
472    pub icon: ::prost::alloc::string::String,
473}
474///
475#[derive(Clone, PartialEq, ::prost::Message)]
476pub struct InlineProgressBar {
477    ///
478    #[prost(string, tag = "1")]
479    pub icon_drag: ::prost::alloc::string::String,
480    ///
481    #[prost(string, tag = "2")]
482    pub icon_drag_hash: ::prost::alloc::string::String,
483    ///
484    #[prost(string, tag = "3")]
485    pub icon_stop: ::prost::alloc::string::String,
486    ///
487    #[prost(string, tag = "4")]
488    pub icon_stop_hash: ::prost::alloc::string::String,
489}
490///
491#[derive(Clone, PartialEq, ::prost::Message)]
492pub struct LargeCoverV1 {
493    ///
494    #[prost(message, optional, tag = "1")]
495    pub base: ::core::option::Option<Base>,
496    ///
497    #[prost(string, tag = "2")]
498    pub cover_gif: ::prost::alloc::string::String,
499    ///
500    #[prost(message, optional, tag = "3")]
501    pub avatar: ::core::option::Option<Avatar>,
502    ///
503    #[prost(string, tag = "4")]
504    pub cover_left_text1: ::prost::alloc::string::String,
505    ///
506    #[prost(string, tag = "5")]
507    pub cover_left_text2: ::prost::alloc::string::String,
508    ///
509    #[prost(string, tag = "6")]
510    pub cover_left_text3: ::prost::alloc::string::String,
511    ///
512    #[prost(string, tag = "7")]
513    pub cover_badge: ::prost::alloc::string::String,
514    ///
515    #[prost(string, tag = "8")]
516    pub top_rcmd_reason: ::prost::alloc::string::String,
517    ///
518    #[prost(string, tag = "9")]
519    pub bottom_rcmd_reason: ::prost::alloc::string::String,
520    ///
521    #[prost(string, tag = "10")]
522    pub desc: ::prost::alloc::string::String,
523    ///
524    #[prost(int32, tag = "11")]
525    pub official_icon: i32,
526    ///
527    #[prost(int32, tag = "12")]
528    pub can_play: i32,
529    ///
530    #[prost(message, optional, tag = "13")]
531    pub top_rcmd_reason_style: ::core::option::Option<ReasonStyle>,
532    ///
533    #[prost(message, optional, tag = "14")]
534    pub bottom_rcmd_reason_style: ::core::option::Option<ReasonStyle>,
535    ///
536    #[prost(message, optional, tag = "15")]
537    pub rcmd_reason_style_v2: ::core::option::Option<ReasonStyle>,
538    ///
539    #[prost(message, optional, tag = "16")]
540    pub left_cover_badge_style: ::core::option::Option<ReasonStyle>,
541    ///
542    #[prost(message, optional, tag = "17")]
543    pub right_cover_badge_style: ::core::option::Option<ReasonStyle>,
544    ///
545    #[prost(string, tag = "18")]
546    pub cover_badge2: ::prost::alloc::string::String,
547    ///
548    #[prost(message, optional, tag = "19")]
549    pub like_button: ::core::option::Option<LikeButton>,
550    ///
551    #[prost(int32, tag = "20")]
552    pub title_single_line: i32,
553    ///
554    #[prost(string, tag = "21")]
555    pub cover_right_text: ::prost::alloc::string::String,
556}
557///
558#[derive(Clone, PartialEq, ::prost::Message)]
559pub struct LargeCoverV2 {
560    ///
561    #[prost(message, optional, tag = "1")]
562    pub base: ::core::option::Option<Base>,
563    ///
564    #[prost(message, optional, tag = "2")]
565    pub avatar: ::core::option::Option<Avatar>,
566    ///
567    #[prost(string, tag = "3")]
568    pub badge: ::prost::alloc::string::String,
569    ///
570    #[prost(message, optional, tag = "4")]
571    pub cover_right_button: ::core::option::Option<Button>,
572    ///
573    #[prost(string, tag = "5")]
574    pub cover_left_text1: ::prost::alloc::string::String,
575    ///
576    #[prost(int32, tag = "6")]
577    pub cover_left_icon1: i32,
578    ///
579    #[prost(string, tag = "7")]
580    pub cover_left_text2: ::prost::alloc::string::String,
581    ///
582    #[prost(int32, tag = "8")]
583    pub cover_left_icon2: i32,
584    ///
585    #[prost(string, tag = "9")]
586    pub rcmd_reason: ::prost::alloc::string::String,
587    ///
588    #[prost(int32, tag = "10")]
589    pub official_icon: i32,
590    ///
591    #[prost(int32, tag = "11")]
592    pub can_play: i32,
593    ///
594    #[prost(message, optional, tag = "12")]
595    pub rcmd_reason_style: ::core::option::Option<ReasonStyle>,
596    ///
597    #[prost(int32, tag = "13")]
598    pub show_top: i32,
599    ///
600    #[prost(int32, tag = "14")]
601    pub show_bottom: i32,
602}
603///
604#[derive(Clone, PartialEq, ::prost::Message)]
605pub struct LargeCoverV3 {
606    ///
607    #[prost(message, optional, tag = "1")]
608    pub base: ::core::option::Option<Base>,
609    ///
610    #[prost(string, tag = "2")]
611    pub cover_gif: ::prost::alloc::string::String,
612    ///
613    #[prost(message, optional, tag = "3")]
614    pub avatar: ::core::option::Option<Avatar>,
615    ///
616    #[prost(message, optional, tag = "4")]
617    pub top_rcmd_reason_style: ::core::option::Option<ReasonStyle>,
618    ///
619    #[prost(message, optional, tag = "5")]
620    pub bottom_rcmd_reason_style: ::core::option::Option<ReasonStyle>,
621    ///
622    #[prost(string, tag = "6")]
623    pub cover_left_text1: ::prost::alloc::string::String,
624    ///
625    #[prost(int32, tag = "7")]
626    pub cover_left_icon1: i32,
627    ///
628    #[prost(string, tag = "8")]
629    pub cover_left_text2: ::prost::alloc::string::String,
630    ///
631    #[prost(int32, tag = "9")]
632    pub cover_left_icon2: i32,
633    ///
634    #[prost(string, tag = "10")]
635    pub cover_right_text: ::prost::alloc::string::String,
636    ///
637    #[prost(string, tag = "11")]
638    pub desc: ::prost::alloc::string::String,
639    ///
640    #[prost(int32, tag = "12")]
641    pub official_icon: i32,
642}
643///
644#[derive(Clone, PartialEq, ::prost::Message)]
645pub struct LargeCoverV4 {
646    ///
647    #[prost(message, optional, tag = "1")]
648    pub base: ::core::option::Option<Base>,
649    ///
650    #[prost(string, tag = "2")]
651    pub cover_left_text1: ::prost::alloc::string::String,
652    ///
653    #[prost(string, tag = "3")]
654    pub cover_left_text2: ::prost::alloc::string::String,
655    ///
656    #[prost(string, tag = "4")]
657    pub cover_left_text3: ::prost::alloc::string::String,
658    ///
659    #[prost(string, tag = "5")]
660    pub cover_badge: ::prost::alloc::string::String,
661    ///
662    #[prost(int32, tag = "6")]
663    pub can_play: i32,
664    ///
665    #[prost(message, optional, tag = "7")]
666    pub up: ::core::option::Option<Up>,
667    ///
668    #[prost(string, tag = "8")]
669    pub short_link: ::prost::alloc::string::String,
670    ///
671    #[prost(string, tag = "9")]
672    pub share_subtitle: ::prost::alloc::string::String,
673    ///
674    #[prost(string, tag = "10")]
675    pub play_number: ::prost::alloc::string::String,
676    ///
677    #[prost(string, tag = "11")]
678    pub bvid: ::prost::alloc::string::String,
679    ///
680    #[prost(string, tag = "12")]
681    pub sub_param: ::prost::alloc::string::String,
682}
683///
684#[derive(Clone, PartialEq, ::prost::Message)]
685pub struct LikeButton {
686    ///
687    #[prost(int64, tag = "1")]
688    pub aid: i64,
689    ///
690    #[prost(int32, tag = "2")]
691    pub count: i32,
692    ///
693    #[prost(bool, tag = "3")]
694    pub show_count: bool,
695    ///
696    #[prost(string, tag = "4")]
697    pub event: ::prost::alloc::string::String,
698    ///
699    #[prost(int32, tag = "5")]
700    pub selected: i32,
701    ///
702    #[prost(string, tag = "6")]
703    pub event_v2: ::prost::alloc::string::String,
704}
705///
706#[derive(Clone, PartialEq, ::prost::Message)]
707pub struct Mask {
708    ///
709    #[prost(message, optional, tag = "1")]
710    pub avatar: ::core::option::Option<Avatar>,
711    ///
712    #[prost(message, optional, tag = "2")]
713    pub button: ::core::option::Option<Button>,
714}
715///
716#[derive(Clone, PartialEq, ::prost::Message)]
717pub struct MiddleCoverV2 {
718    ///
719    #[prost(message, optional, tag = "1")]
720    pub base: ::core::option::Option<Base>,
721    ///
722    #[prost(int32, tag = "2")]
723    pub ratio: i32,
724    ///
725    #[prost(string, tag = "3")]
726    pub desc: ::prost::alloc::string::String,
727    ///
728    #[prost(string, tag = "4")]
729    pub badge: ::prost::alloc::string::String,
730}
731///
732#[derive(Clone, PartialEq, ::prost::Message)]
733pub struct MiddleCoverV3 {
734    ///
735    #[prost(message, optional, tag = "1")]
736    pub base: ::core::option::Option<Base>,
737    ///
738    #[prost(string, tag = "2")]
739    pub desc1: ::prost::alloc::string::String,
740    ///
741    #[prost(string, tag = "3")]
742    pub desc2: ::prost::alloc::string::String,
743    ///
744    #[prost(message, optional, tag = "4")]
745    pub cover_badge_style: ::core::option::Option<ReasonStyle>,
746}
747///
748#[derive(Clone, PartialEq, ::prost::Message)]
749pub struct MultiItem {
750    ///
751    #[prost(message, optional, tag = "1")]
752    pub base: ::core::option::Option<Base>,
753    ///
754    #[prost(string, tag = "2")]
755    pub more_uri: ::prost::alloc::string::String,
756    ///
757    #[prost(string, tag = "3")]
758    pub more_text: ::prost::alloc::string::String,
759    ///
760    #[prost(message, repeated, tag = "4")]
761    pub items: ::prost::alloc::vec::Vec<DoubleCards>,
762}
763///
764#[derive(Clone, PartialEq, ::prost::Message)]
765pub struct OnePicV2 {
766    ///
767    #[prost(message, optional, tag = "1")]
768    pub base: ::core::option::Option<Base>,
769    ///
770    #[prost(int32, tag = "2")]
771    pub cover_left_icon1: i32,
772    ///
773    #[prost(string, tag = "3")]
774    pub cover_left_text2: ::prost::alloc::string::String,
775    ///
776    #[prost(string, tag = "4")]
777    pub cover_right_text: ::prost::alloc::string::String,
778    ///
779    #[prost(int32, tag = "5")]
780    pub cover_right_icon: i32,
781    ///
782    #[prost(string, tag = "6")]
783    pub cover_right_background_color: ::prost::alloc::string::String,
784    ///
785    #[prost(string, tag = "7")]
786    pub badge: ::prost::alloc::string::String,
787    ///
788    #[prost(string, tag = "8")]
789    pub rcmd_reason: ::prost::alloc::string::String,
790    ///
791    #[prost(message, optional, tag = "9")]
792    pub avatar: ::core::option::Option<Avatar>,
793    ///
794    #[prost(message, optional, tag = "10")]
795    pub rcmd_reason_style: ::core::option::Option<ReasonStyle>,
796}
797///
798#[derive(Clone, PartialEq, ::prost::Message)]
799pub struct OnePicV3 {
800    ///
801    #[prost(message, optional, tag = "1")]
802    pub base: ::core::option::Option<Base>,
803    ///
804    #[prost(string, tag = "2")]
805    pub cover_left_text1: ::prost::alloc::string::String,
806    ///
807    #[prost(int32, tag = "3")]
808    pub cover_left_icon1: i32,
809    ///
810    #[prost(string, tag = "4")]
811    pub cover_right_text: ::prost::alloc::string::String,
812    ///
813    #[prost(int32, tag = "5")]
814    pub cover_right_icon: i32,
815    ///
816    #[prost(string, tag = "6")]
817    pub cover_right_background_color: ::prost::alloc::string::String,
818    ///
819    #[prost(string, tag = "7")]
820    pub badge: ::prost::alloc::string::String,
821    ///
822    #[prost(message, optional, tag = "8")]
823    pub rcmd_reason_style: ::core::option::Option<ReasonStyle>,
824}
825///
826#[derive(Clone, PartialEq, ::prost::Message)]
827pub struct PanelMeta {
828    ///
829    #[prost(int32, tag = "1")]
830    pub panel_type: i32,
831    ///
832    #[prost(string, tag = "2")]
833    pub share_origin: ::prost::alloc::string::String,
834    ///
835    #[prost(string, tag = "3")]
836    pub share_id: ::prost::alloc::string::String,
837    ///
838    #[prost(message, repeated, tag = "4")]
839    pub functional_buttons: ::prost::alloc::vec::Vec<FunctionalButton>,
840}
841///
842#[derive(Clone, PartialEq, ::prost::Message)]
843pub struct PlayerArgs {
844    ///
845    #[prost(int32, tag = "1")]
846    pub is_live: i32,
847    ///
848    #[prost(int64, tag = "2")]
849    pub aid: i64,
850    ///
851    #[prost(int64, tag = "3")]
852    pub cid: i64,
853    ///
854    #[prost(int32, tag = "4")]
855    pub sub_type: i32,
856    ///
857    #[prost(int64, tag = "5")]
858    pub room_id: i64,
859    ///
860    #[prost(int64, tag = "7")]
861    pub ep_id: i64,
862    ///
863    #[prost(int32, tag = "8")]
864    pub is_preview: i32,
865    ///
866    #[prost(string, tag = "9")]
867    pub r#type: ::prost::alloc::string::String,
868    ///
869    #[prost(int64, tag = "10")]
870    pub duration: i64,
871    ///
872    #[prost(int64, tag = "11")]
873    pub season_id: i64,
874}
875///
876#[derive(Clone, PartialEq, ::prost::Message)]
877pub struct PopularTopEntrance {
878    ///
879    #[prost(message, optional, tag = "1")]
880    pub base: ::core::option::Option<Base>,
881    ///
882    #[prost(message, repeated, tag = "2")]
883    pub items: ::prost::alloc::vec::Vec<EntranceItem>,
884}
885///
886#[derive(Clone, PartialEq, ::prost::Message)]
887pub struct RcmdOneItem {
888    ///
889    #[prost(message, optional, tag = "1")]
890    pub base: ::core::option::Option<Base>,
891    ///
892    #[prost(message, optional, tag = "2")]
893    pub top_rcmd_reason_style: ::core::option::Option<ReasonStyle>,
894    ///
895    #[prost(message, optional, tag = "3")]
896    pub item: ::core::option::Option<SmallCoverRcmdItem>,
897}
898///
899#[derive(Clone, PartialEq, ::prost::Message)]
900pub struct ReasonStyle {
901    ///
902    #[prost(string, tag = "1")]
903    pub text: ::prost::alloc::string::String,
904    ///
905    #[prost(string, tag = "2")]
906    pub text_color: ::prost::alloc::string::String,
907    ///
908    #[prost(string, tag = "3")]
909    pub bg_color: ::prost::alloc::string::String,
910    ///
911    #[prost(string, tag = "4")]
912    pub border_color: ::prost::alloc::string::String,
913    ///
914    #[prost(string, tag = "5")]
915    pub icon_url: ::prost::alloc::string::String,
916    ///
917    #[prost(string, tag = "6")]
918    pub text_color_night: ::prost::alloc::string::String,
919    ///
920    #[prost(string, tag = "7")]
921    pub bg_color_night: ::prost::alloc::string::String,
922    ///
923    #[prost(string, tag = "8")]
924    pub border_color_night: ::prost::alloc::string::String,
925    ///
926    #[prost(string, tag = "9")]
927    pub icon_night_url: ::prost::alloc::string::String,
928    ///
929    #[prost(int32, tag = "10")]
930    pub bg_style: i32,
931    ///
932    #[prost(string, tag = "11")]
933    pub uri: ::prost::alloc::string::String,
934    ///
935    #[prost(string, tag = "12")]
936    pub icon_bg_url: ::prost::alloc::string::String,
937    ///
938    #[prost(string, tag = "13")]
939    pub event: ::prost::alloc::string::String,
940    ///
941    #[prost(string, tag = "14")]
942    pub event_v2: ::prost::alloc::string::String,
943    ///
944    #[prost(int32, tag = "15")]
945    pub right_icon_type: i32,
946    ///
947    #[prost(string, tag = "16")]
948    pub left_icon_type: ::prost::alloc::string::String,
949}
950///
951#[derive(Clone, Copy, PartialEq, ::prost::Message)]
952pub struct Relation {
953    ///
954    #[prost(int32, tag = "1")]
955    pub status: i32,
956    ///
957    #[prost(int32, tag = "2")]
958    pub is_follow: i32,
959    ///
960    #[prost(int32, tag = "3")]
961    pub is_followed: i32,
962}
963///
964#[derive(Clone, PartialEq, ::prost::Message)]
965pub struct SharePlane {
966    ///
967    #[prost(string, tag = "1")]
968    pub title: ::prost::alloc::string::String,
969    ///
970    #[prost(string, tag = "2")]
971    pub share_subtitle: ::prost::alloc::string::String,
972    ///
973    #[prost(string, tag = "3")]
974    pub desc: ::prost::alloc::string::String,
975    ///
976    #[prost(string, tag = "4")]
977    pub cover: ::prost::alloc::string::String,
978    ///
979    #[prost(int64, tag = "5")]
980    pub aid: i64,
981    ///
982    #[prost(string, tag = "6")]
983    pub bvid: ::prost::alloc::string::String,
984    ///
985    #[prost(map = "string, bool", tag = "7")]
986    pub share_to: ::std::collections::HashMap<::prost::alloc::string::String, bool>,
987    ///
988    #[prost(string, tag = "8")]
989    pub author: ::prost::alloc::string::String,
990    ///
991    #[prost(int64, tag = "9")]
992    pub author_id: i64,
993    ///
994    #[prost(string, tag = "10")]
995    pub short_link: ::prost::alloc::string::String,
996    ///
997    #[prost(string, tag = "11")]
998    pub play_number: ::prost::alloc::string::String,
999    ///
1000    #[prost(int64, tag = "12")]
1001    pub first_cid: i64,
1002}
1003///
1004#[derive(Clone, PartialEq, ::prost::Message)]
1005pub struct SmallChannelSpecial {
1006    ///
1007    #[prost(message, optional, tag = "1")]
1008    pub base: ::core::option::Option<Base>,
1009    ///
1010    #[prost(string, tag = "2")]
1011    pub bg_cover: ::prost::alloc::string::String,
1012    ///
1013    #[prost(string, tag = "3")]
1014    pub desc1: ::prost::alloc::string::String,
1015    ///
1016    #[prost(string, tag = "4")]
1017    pub desc2: ::prost::alloc::string::String,
1018    ///
1019    #[prost(string, tag = "5")]
1020    pub badge: ::prost::alloc::string::String,
1021    ///
1022    #[prost(message, optional, tag = "6")]
1023    pub rcmd_reason_style2: ::core::option::Option<ReasonStyle>,
1024}
1025///
1026#[derive(Clone, PartialEq, ::prost::Message)]
1027pub struct SmallCoverConvergeV2 {
1028    ///
1029    #[prost(message, optional, tag = "1")]
1030    pub base: ::core::option::Option<Base>,
1031    ///
1032    #[prost(string, tag = "2")]
1033    pub cover_left_text1: ::prost::alloc::string::String,
1034    ///
1035    #[prost(int32, tag = "3")]
1036    pub cover_left_icon1: i32,
1037    ///
1038    #[prost(string, tag = "4")]
1039    pub cover_left_text2: ::prost::alloc::string::String,
1040    ///
1041    #[prost(int32, tag = "5")]
1042    pub cover_left_icon2: i32,
1043    ///
1044    #[prost(string, tag = "6")]
1045    pub cover_right_text: ::prost::alloc::string::String,
1046    ///
1047    #[prost(string, tag = "7")]
1048    pub cover_right_top_text: ::prost::alloc::string::String,
1049    ///
1050    #[prost(message, optional, tag = "8")]
1051    pub rcmd_reason_style: ::core::option::Option<ReasonStyle>,
1052    ///
1053    #[prost(message, optional, tag = "9")]
1054    pub rcmd_reason_style_v2: ::core::option::Option<ReasonStyle>,
1055}
1056///
1057#[derive(Clone, PartialEq, ::prost::Message)]
1058pub struct SmallCoverRcmdItem {
1059    ///
1060    #[prost(string, tag = "1")]
1061    pub title: ::prost::alloc::string::String,
1062    ///
1063    #[prost(string, tag = "2")]
1064    pub cover: ::prost::alloc::string::String,
1065    ///
1066    #[prost(string, tag = "3")]
1067    pub uri: ::prost::alloc::string::String,
1068    ///
1069    #[prost(string, tag = "4")]
1070    pub param: ::prost::alloc::string::String,
1071    ///
1072    #[prost(string, tag = "5")]
1073    pub goto: ::prost::alloc::string::String,
1074    ///
1075    #[prost(string, tag = "6")]
1076    pub cover_right_text1: ::prost::alloc::string::String,
1077    ///
1078    #[prost(string, tag = "7")]
1079    pub right_desc1: ::prost::alloc::string::String,
1080    ///
1081    #[prost(string, tag = "8")]
1082    pub right_desc2: ::prost::alloc::string::String,
1083    ///
1084    #[prost(string, tag = "9")]
1085    pub cover_gif: ::prost::alloc::string::String,
1086    ///
1087    #[prost(int32, tag = "10")]
1088    pub right_icon1: i32,
1089    ///
1090    #[prost(int32, tag = "11")]
1091    pub right_icon2: i32,
1092    ///
1093    #[prost(string, tag = "12")]
1094    pub cover_right_text_content_description: ::prost::alloc::string::String,
1095    ///
1096    #[prost(string, tag = "13")]
1097    pub right_desc1_content_description: ::prost::alloc::string::String,
1098}
1099///
1100#[derive(Clone, PartialEq, ::prost::Message)]
1101pub struct SmallCoverV2 {
1102    ///
1103    #[prost(message, optional, tag = "1")]
1104    pub base: ::core::option::Option<Base>,
1105    ///
1106    #[prost(string, tag = "2")]
1107    pub cover_gif: ::prost::alloc::string::String,
1108    ///
1109    #[prost(int32, tag = "3")]
1110    pub cover_blur: i32,
1111    ///
1112    #[prost(string, tag = "4")]
1113    pub cover_left_text1: ::prost::alloc::string::String,
1114    ///
1115    #[prost(int32, tag = "5")]
1116    pub cover_left_icon1: i32,
1117    ///
1118    #[prost(string, tag = "6")]
1119    pub cover_left_text2: ::prost::alloc::string::String,
1120    ///
1121    #[prost(int32, tag = "7")]
1122    pub cover_left_icon2: i32,
1123    ///
1124    #[prost(string, tag = "8")]
1125    pub cover_right_text: ::prost::alloc::string::String,
1126    ///
1127    #[prost(int32, tag = "9")]
1128    pub cover_right_icon: i32,
1129    ///
1130    #[prost(string, tag = "10")]
1131    pub cover_right_background_color: ::prost::alloc::string::String,
1132    ///
1133    #[prost(string, tag = "11")]
1134    pub subtitle: ::prost::alloc::string::String,
1135    ///
1136    #[prost(string, tag = "12")]
1137    pub badge: ::prost::alloc::string::String,
1138    ///
1139    #[prost(string, tag = "13")]
1140    pub rcmd_reason: ::prost::alloc::string::String,
1141    ///
1142    #[prost(string, tag = "14")]
1143    pub desc: ::prost::alloc::string::String,
1144    ///
1145    #[prost(message, optional, tag = "15")]
1146    pub avatar: ::core::option::Option<Avatar>,
1147    ///
1148    #[prost(int32, tag = "16")]
1149    pub official_icon: i32,
1150    ///
1151    #[prost(int32, tag = "17")]
1152    pub can_play: i32,
1153    ///
1154    #[prost(message, optional, tag = "18")]
1155    pub rcmd_reason_style: ::core::option::Option<ReasonStyle>,
1156    ///
1157    #[prost(message, optional, tag = "19")]
1158    pub rcmd_reason_style_v2: ::core::option::Option<ReasonStyle>,
1159    ///
1160    #[prost(message, optional, tag = "20")]
1161    pub like_button: ::core::option::Option<LikeButton>,
1162}
1163///
1164#[derive(Clone, PartialEq, ::prost::Message)]
1165pub struct SmallCoverV3 {
1166    ///
1167    #[prost(message, optional, tag = "1")]
1168    pub base: ::core::option::Option<Base>,
1169    ///
1170    #[prost(message, optional, tag = "2")]
1171    pub avatar: ::core::option::Option<Avatar>,
1172    ///
1173    #[prost(string, tag = "3")]
1174    pub cover_left_text: ::prost::alloc::string::String,
1175    ///
1176    #[prost(message, optional, tag = "4")]
1177    pub cover_right_button: ::core::option::Option<Button>,
1178    ///
1179    #[prost(string, tag = "5")]
1180    pub rcmd_reason: ::prost::alloc::string::String,
1181    ///
1182    #[prost(string, tag = "6")]
1183    pub desc: ::prost::alloc::string::String,
1184    ///
1185    #[prost(int32, tag = "7")]
1186    pub official_icon: i32,
1187    ///
1188    #[prost(int32, tag = "8")]
1189    pub can_play: i32,
1190    ///
1191    #[prost(message, optional, tag = "9")]
1192    pub rcmd_reason_style: ::core::option::Option<ReasonStyle>,
1193}
1194///
1195#[derive(Clone, PartialEq, ::prost::Message)]
1196pub struct SmallCoverV4 {
1197    ///
1198    #[prost(message, optional, tag = "1")]
1199    pub base: ::core::option::Option<Base>,
1200    ///
1201    #[prost(string, tag = "2")]
1202    pub cover_badge: ::prost::alloc::string::String,
1203    ///
1204    #[prost(string, tag = "3")]
1205    pub desc: ::prost::alloc::string::String,
1206    ///
1207    #[prost(string, tag = "4")]
1208    pub title_right_text: ::prost::alloc::string::String,
1209    ///
1210    #[prost(int32, tag = "5")]
1211    pub title_right_pic: i32,
1212}
1213///
1214#[derive(Clone, PartialEq, ::prost::Message)]
1215pub struct SmallCoverV5 {
1216    ///
1217    #[prost(message, optional, tag = "1")]
1218    pub base: ::core::option::Option<Base>,
1219    ///
1220    #[prost(string, tag = "2")]
1221    pub cover_gif: ::prost::alloc::string::String,
1222    ///
1223    #[prost(message, optional, tag = "3")]
1224    pub up: ::core::option::Option<Up>,
1225    ///
1226    #[prost(string, tag = "4")]
1227    pub cover_right_text1: ::prost::alloc::string::String,
1228    ///
1229    #[prost(string, tag = "5")]
1230    pub right_desc1: ::prost::alloc::string::String,
1231    ///
1232    #[prost(string, tag = "6")]
1233    pub right_desc2: ::prost::alloc::string::String,
1234    ///
1235    #[prost(message, optional, tag = "7")]
1236    pub rcmd_reason_style: ::core::option::Option<ReasonStyle>,
1237    ///
1238    #[prost(message, optional, tag = "8")]
1239    pub hotword_entrance: ::core::option::Option<HotwordEntrance>,
1240    ///
1241    #[prost(message, optional, tag = "9")]
1242    pub corner_mark_style: ::core::option::Option<ReasonStyle>,
1243    ///
1244    #[prost(int32, tag = "10")]
1245    pub right_icon1: i32,
1246    ///
1247    #[prost(int32, tag = "11")]
1248    pub right_icon2: i32,
1249    ///
1250    #[prost(message, optional, tag = "12")]
1251    pub left_corner_mark_style: ::core::option::Option<ReasonStyle>,
1252    ///
1253    #[prost(string, tag = "13")]
1254    pub cover_right_text_content_description: ::prost::alloc::string::String,
1255    ///
1256    #[prost(string, tag = "14")]
1257    pub right_desc1_content_description: ::prost::alloc::string::String,
1258}
1259///
1260#[derive(Clone, PartialEq, ::prost::Message)]
1261pub struct SmallCoverV5Ad {
1262    ///
1263    #[prost(message, optional, tag = "1")]
1264    pub base: ::core::option::Option<Base>,
1265    ///
1266    #[prost(string, tag = "2")]
1267    pub cover_gif: ::prost::alloc::string::String,
1268    ///
1269    #[prost(message, optional, tag = "3")]
1270    pub up: ::core::option::Option<Up>,
1271    ///
1272    #[prost(string, tag = "4")]
1273    pub cover_right_text1: ::prost::alloc::string::String,
1274    ///
1275    #[prost(string, tag = "5")]
1276    pub right_desc1: ::prost::alloc::string::String,
1277    ///
1278    #[prost(string, tag = "6")]
1279    pub right_desc2: ::prost::alloc::string::String,
1280    ///
1281    #[prost(message, optional, tag = "7")]
1282    pub rcmd_reason_style: ::core::option::Option<ReasonStyle>,
1283    ///
1284    #[prost(message, optional, tag = "8")]
1285    pub hotword_entrance: ::core::option::Option<HotwordEntrance>,
1286    ///
1287    #[prost(message, optional, tag = "9")]
1288    pub corner_mark_style: ::core::option::Option<ReasonStyle>,
1289    ///
1290    #[prost(int32, tag = "10")]
1291    pub right_icon1: i32,
1292    ///
1293    #[prost(int32, tag = "11")]
1294    pub right_icon2: i32,
1295    ///
1296    #[prost(message, optional, tag = "12")]
1297    pub left_corner_mark_style: ::core::option::Option<ReasonStyle>,
1298    ///
1299    #[prost(string, tag = "13")]
1300    pub cover_right_text_content_description: ::prost::alloc::string::String,
1301    ///
1302    #[prost(string, tag = "14")]
1303    pub right_desc1_content_description: ::prost::alloc::string::String,
1304}
1305///
1306#[derive(Clone, PartialEq, ::prost::Message)]
1307pub struct SmallCoverV7 {
1308    ///
1309    #[prost(message, optional, tag = "1")]
1310    pub base: ::core::option::Option<Base>,
1311    ///
1312    #[prost(string, tag = "2")]
1313    pub desc: ::prost::alloc::string::String,
1314}
1315///
1316#[derive(Clone, PartialEq, ::prost::Message)]
1317pub struct SmallCoverV9 {
1318    ///
1319    #[prost(message, optional, tag = "1")]
1320    pub base: ::core::option::Option<Base>,
1321    ///
1322    #[prost(string, tag = "2")]
1323    pub cover_left_text1: ::prost::alloc::string::String,
1324    ///
1325    #[prost(int32, tag = "3")]
1326    pub cover_left_icon1: i32,
1327    ///
1328    #[prost(string, tag = "4")]
1329    pub cover_left_text2: ::prost::alloc::string::String,
1330    ///
1331    #[prost(int32, tag = "5")]
1332    pub cover_left_icon2: i32,
1333    ///
1334    #[prost(string, tag = "6")]
1335    pub cover_right_text: ::prost::alloc::string::String,
1336    ///
1337    #[prost(int32, tag = "7")]
1338    pub cover_right_icon: i32,
1339    ///
1340    #[prost(int32, tag = "8")]
1341    pub can_play: i32,
1342    ///
1343    #[prost(message, optional, tag = "9")]
1344    pub rcmd_reason_style: ::core::option::Option<ReasonStyle>,
1345    ///
1346    #[prost(message, optional, tag = "10")]
1347    pub up: ::core::option::Option<Up>,
1348    ///
1349    #[prost(message, optional, tag = "11")]
1350    pub left_cover_badge_style: ::core::option::Option<ReasonStyle>,
1351    ///
1352    #[prost(message, optional, tag = "12")]
1353    pub left_bottom_rcmd_reason_style: ::core::option::Option<ReasonStyle>,
1354}
1355///
1356#[derive(Clone, PartialEq, ::prost::Message)]
1357pub struct ThreeItemAllV2 {
1358    ///
1359    #[prost(message, optional, tag = "1")]
1360    pub base: ::core::option::Option<Base>,
1361    ///
1362    #[prost(message, optional, tag = "2")]
1363    pub top_rcmd_reason_style: ::core::option::Option<ReasonStyle>,
1364    ///
1365    #[prost(message, repeated, tag = "3")]
1366    pub item: ::prost::alloc::vec::Vec<TwoItemHv1Item>,
1367}
1368///
1369#[derive(Clone, PartialEq, ::prost::Message)]
1370pub struct ThreeItemV1 {
1371    ///
1372    #[prost(message, optional, tag = "1")]
1373    pub base: ::core::option::Option<Base>,
1374    ///
1375    #[prost(int32, tag = "2")]
1376    pub title_icon: i32,
1377    ///
1378    #[prost(string, tag = "3")]
1379    pub more_uri: ::prost::alloc::string::String,
1380    ///
1381    #[prost(string, tag = "4")]
1382    pub more_text: ::prost::alloc::string::String,
1383    ///
1384    #[prost(message, repeated, tag = "5")]
1385    pub items: ::prost::alloc::vec::Vec<ThreeItemV1Item>,
1386}
1387///
1388#[derive(Clone, PartialEq, ::prost::Message)]
1389pub struct ThreeItemV1Item {
1390    ///
1391    #[prost(message, optional, tag = "1")]
1392    pub base: ::core::option::Option<Base>,
1393    ///
1394    #[prost(string, tag = "2")]
1395    pub cover_left_text: ::prost::alloc::string::String,
1396    ///
1397    #[prost(int32, tag = "3")]
1398    pub cover_left_icon: i32,
1399    ///
1400    #[prost(string, tag = "4")]
1401    pub desc1: ::prost::alloc::string::String,
1402    ///
1403    #[prost(string, tag = "5")]
1404    pub desc2: ::prost::alloc::string::String,
1405    ///
1406    #[prost(string, tag = "6")]
1407    pub badge: ::prost::alloc::string::String,
1408}
1409///
1410#[derive(Clone, PartialEq, ::prost::Message)]
1411pub struct ThreeItemV2 {
1412    ///
1413    #[prost(message, optional, tag = "1")]
1414    pub base: ::core::option::Option<Base>,
1415    ///
1416    #[prost(int32, tag = "2")]
1417    pub title_icon: i32,
1418    ///
1419    #[prost(string, tag = "3")]
1420    pub more_uri: ::prost::alloc::string::String,
1421    ///
1422    #[prost(string, tag = "4")]
1423    pub more_text: ::prost::alloc::string::String,
1424    ///
1425    #[prost(message, repeated, tag = "5")]
1426    pub items: ::prost::alloc::vec::Vec<ThreeItemV2Item>,
1427}
1428///
1429#[derive(Clone, PartialEq, ::prost::Message)]
1430pub struct ThreeItemV2Item {
1431    ///
1432    #[prost(message, optional, tag = "1")]
1433    pub base: ::core::option::Option<Base>,
1434    ///
1435    #[prost(int32, tag = "2")]
1436    pub cover_left_icon: i32,
1437    ///
1438    #[prost(string, tag = "3")]
1439    pub desc_text1: ::prost::alloc::string::String,
1440    ///
1441    #[prost(int32, tag = "4")]
1442    pub desc_icon1: i32,
1443    ///
1444    #[prost(string, tag = "5")]
1445    pub desc_text2: ::prost::alloc::string::String,
1446    ///
1447    #[prost(int32, tag = "6")]
1448    pub desc_icon2: i32,
1449    ///
1450    #[prost(string, tag = "7")]
1451    pub badge: ::prost::alloc::string::String,
1452}
1453///
1454#[derive(Clone, PartialEq, ::prost::Message)]
1455pub struct ThreePicV2 {
1456    ///
1457    #[prost(message, optional, tag = "1")]
1458    pub base: ::core::option::Option<Base>,
1459    ///
1460    #[prost(string, tag = "2")]
1461    pub left_cover: ::prost::alloc::string::String,
1462    ///
1463    #[prost(string, tag = "3")]
1464    pub right_cover1: ::prost::alloc::string::String,
1465    ///
1466    #[prost(string, tag = "4")]
1467    pub right_cover2: ::prost::alloc::string::String,
1468    ///
1469    #[prost(string, tag = "5")]
1470    pub cover_left_text1: ::prost::alloc::string::String,
1471    ///
1472    #[prost(int32, tag = "6")]
1473    pub cover_left_icon1: i32,
1474    ///
1475    #[prost(string, tag = "7")]
1476    pub cover_left_text2: ::prost::alloc::string::String,
1477    ///
1478    #[prost(int32, tag = "8")]
1479    pub cover_left_icon2: i32,
1480    ///
1481    #[prost(string, tag = "9")]
1482    pub cover_right_text: ::prost::alloc::string::String,
1483    ///
1484    #[prost(int32, tag = "10")]
1485    pub cover_right_icon: i32,
1486    ///
1487    #[prost(string, tag = "11")]
1488    pub cover_right_background_color: ::prost::alloc::string::String,
1489    ///
1490    #[prost(string, tag = "12")]
1491    pub badge: ::prost::alloc::string::String,
1492    ///
1493    #[prost(string, tag = "13")]
1494    pub rcmd_reason: ::prost::alloc::string::String,
1495    ///
1496    #[prost(string, tag = "14")]
1497    pub desc: ::prost::alloc::string::String,
1498    ///
1499    #[prost(message, optional, tag = "15")]
1500    pub avatar: ::core::option::Option<Avatar>,
1501    ///
1502    #[prost(message, optional, tag = "16")]
1503    pub rcmd_reason_style: ::core::option::Option<ReasonStyle>,
1504}
1505///
1506#[derive(Clone, PartialEq, ::prost::Message)]
1507pub struct ThreePicV3 {
1508    ///
1509    #[prost(message, optional, tag = "1")]
1510    pub base: ::core::option::Option<Base>,
1511    ///
1512    #[prost(string, tag = "2")]
1513    pub left_cover: ::prost::alloc::string::String,
1514    ///
1515    #[prost(string, tag = "3")]
1516    pub right_cover1: ::prost::alloc::string::String,
1517    ///
1518    #[prost(string, tag = "4")]
1519    pub right_cover2: ::prost::alloc::string::String,
1520    ///
1521    #[prost(string, tag = "5")]
1522    pub cover_left_text1: ::prost::alloc::string::String,
1523    ///
1524    #[prost(int32, tag = "6")]
1525    pub cover_left_icon1: i32,
1526    ///
1527    #[prost(string, tag = "7")]
1528    pub cover_left_text2: ::prost::alloc::string::String,
1529    ///
1530    #[prost(int32, tag = "8")]
1531    pub cover_left_icon2: i32,
1532    ///
1533    #[prost(string, tag = "9")]
1534    pub cover_right_text: ::prost::alloc::string::String,
1535    ///
1536    #[prost(int32, tag = "10")]
1537    pub cover_right_icon: i32,
1538    ///
1539    #[prost(string, tag = "11")]
1540    pub cover_right_background_color: ::prost::alloc::string::String,
1541    ///
1542    #[prost(string, tag = "12")]
1543    pub badge: ::prost::alloc::string::String,
1544    ///
1545    #[prost(message, optional, tag = "13")]
1546    pub rcmd_reason_style: ::core::option::Option<ReasonStyle>,
1547}
1548///
1549#[derive(Clone, PartialEq, ::prost::Message)]
1550pub struct ThreePoint {
1551    ///
1552    #[prost(message, repeated, tag = "1")]
1553    pub dislike_reasons: ::prost::alloc::vec::Vec<DislikeReason>,
1554    ///
1555    #[prost(message, repeated, tag = "2")]
1556    pub feedbacks: ::prost::alloc::vec::Vec<DislikeReason>,
1557    ///
1558    #[prost(int32, tag = "3")]
1559    pub watch_later: i32,
1560}
1561///
1562#[derive(Clone, PartialEq, ::prost::Message)]
1563pub struct ThreePointV2 {
1564    ///
1565    #[prost(string, tag = "1")]
1566    pub title: ::prost::alloc::string::String,
1567    ///
1568    #[prost(string, tag = "2")]
1569    pub subtitle: ::prost::alloc::string::String,
1570    ///
1571    #[prost(message, repeated, tag = "3")]
1572    pub reasons: ::prost::alloc::vec::Vec<DislikeReason>,
1573    ///
1574    #[prost(string, tag = "4")]
1575    pub r#type: ::prost::alloc::string::String,
1576    ///
1577    #[prost(int64, tag = "5")]
1578    pub id: i64,
1579}
1580///
1581#[derive(Clone, PartialEq, ::prost::Message)]
1582pub struct ThreePointV3 {
1583    ///
1584    #[prost(string, tag = "1")]
1585    pub title: ::prost::alloc::string::String,
1586    ///
1587    #[prost(string, tag = "2")]
1588    pub selected_title: ::prost::alloc::string::String,
1589    ///
1590    #[prost(string, tag = "3")]
1591    pub subtitle: ::prost::alloc::string::String,
1592    ///
1593    #[prost(message, repeated, tag = "4")]
1594    pub reasons: ::prost::alloc::vec::Vec<DislikeReason>,
1595    ///
1596    #[prost(string, tag = "5")]
1597    pub r#type: ::prost::alloc::string::String,
1598    ///
1599    #[prost(int64, tag = "6")]
1600    pub id: i64,
1601    ///
1602    #[prost(int32, tag = "7")]
1603    pub selected: i32,
1604    ///
1605    #[prost(string, tag = "8")]
1606    pub icon: ::prost::alloc::string::String,
1607    ///
1608    #[prost(string, tag = "9")]
1609    pub selected_icon: ::prost::alloc::string::String,
1610    ///
1611    #[prost(string, tag = "10")]
1612    pub url: ::prost::alloc::string::String,
1613    ///
1614    #[prost(int32, tag = "11")]
1615    pub default_id: i32,
1616}
1617///
1618#[derive(Clone, PartialEq, ::prost::Message)]
1619pub struct ThreePointV4 {
1620    ///
1621    #[prost(message, optional, tag = "1")]
1622    pub share_plane: ::core::option::Option<SharePlane>,
1623    ///
1624    #[prost(message, optional, tag = "2")]
1625    pub watch_later: ::core::option::Option<WatchLater>,
1626}
1627///
1628#[derive(Clone, PartialEq, ::prost::Message)]
1629pub struct TopicButton {
1630    ///
1631    #[prost(string, tag = "1")]
1632    pub title: ::prost::alloc::string::String,
1633    ///
1634    #[prost(string, tag = "2")]
1635    pub jump_uri: ::prost::alloc::string::String,
1636    ///
1637    #[prost(bool, tag = "3")]
1638    pub red_dot: bool,
1639}
1640///
1641#[derive(Clone, PartialEq, ::prost::Message)]
1642pub struct TopicList {
1643    ///
1644    #[prost(message, optional, tag = "1")]
1645    pub base: ::core::option::Option<Base>,
1646    ///
1647    #[prost(string, tag = "2")]
1648    pub title: ::prost::alloc::string::String,
1649    ///
1650    #[prost(string, tag = "3")]
1651    pub title_icon: ::prost::alloc::string::String,
1652    ///
1653    #[prost(message, optional, tag = "4")]
1654    pub more_button: ::core::option::Option<TopicButton>,
1655    ///
1656    #[prost(message, repeated, tag = "5")]
1657    pub topic_list_item: ::prost::alloc::vec::Vec<TopicListItem>,
1658}
1659///
1660#[derive(Clone, PartialEq, ::prost::Message)]
1661pub struct TopicListItem {
1662    ///
1663    #[prost(string, tag = "1")]
1664    pub icon: ::prost::alloc::string::String,
1665    ///
1666    #[prost(string, tag = "2")]
1667    pub icon_title: ::prost::alloc::string::String,
1668    ///
1669    #[prost(int64, tag = "3")]
1670    pub topic_id: i64,
1671    ///
1672    #[prost(string, tag = "4")]
1673    pub topic_name: ::prost::alloc::string::String,
1674    ///
1675    #[prost(string, tag = "5")]
1676    pub url: ::prost::alloc::string::String,
1677    ///
1678    #[prost(int64, tag = "6")]
1679    pub up_mid: i64,
1680    ///
1681    #[prost(int64, tag = "7")]
1682    pub position: i64,
1683}
1684///
1685#[derive(Clone, PartialEq, ::prost::Message)]
1686pub struct TwoItemHv1Item {
1687    ///
1688    #[prost(string, tag = "1")]
1689    pub title: ::prost::alloc::string::String,
1690    ///
1691    #[prost(string, tag = "2")]
1692    pub cover: ::prost::alloc::string::String,
1693    ///
1694    #[prost(string, tag = "3")]
1695    pub uri: ::prost::alloc::string::String,
1696    ///
1697    #[prost(string, tag = "4")]
1698    pub param: ::prost::alloc::string::String,
1699    ///
1700    #[prost(message, optional, tag = "5")]
1701    pub args: ::core::option::Option<Args>,
1702    ///
1703    #[prost(string, tag = "6")]
1704    pub goto: ::prost::alloc::string::String,
1705    ///
1706    #[prost(string, tag = "7")]
1707    pub cover_left_text1: ::prost::alloc::string::String,
1708    ///
1709    #[prost(int32, tag = "8")]
1710    pub cover_left_icon1: i32,
1711    ///
1712    #[prost(string, tag = "9")]
1713    pub cover_right_text: ::prost::alloc::string::String,
1714}
1715///
1716#[derive(Clone, PartialEq, ::prost::Message)]
1717pub struct TwoItemV2 {
1718    ///
1719    #[prost(message, optional, tag = "1")]
1720    pub base: ::core::option::Option<Base>,
1721    ///
1722    #[prost(message, repeated, tag = "2")]
1723    pub items: ::prost::alloc::vec::Vec<TwoItemV2Item>,
1724}
1725///
1726#[derive(Clone, PartialEq, ::prost::Message)]
1727pub struct TwoItemV2Item {
1728    ///
1729    #[prost(message, optional, tag = "1")]
1730    pub base: ::core::option::Option<Base>,
1731    ///
1732    #[prost(string, tag = "2")]
1733    pub badge: ::prost::alloc::string::String,
1734    ///
1735    #[prost(string, tag = "3")]
1736    pub cover_left_text1: ::prost::alloc::string::String,
1737    ///
1738    #[prost(int32, tag = "4")]
1739    pub cover_left_icon1: i32,
1740}
1741///
1742#[derive(Clone, PartialEq, ::prost::Message)]
1743pub struct Up {
1744    ///
1745    #[prost(int64, tag = "1")]
1746    pub id: i64,
1747    ///
1748    #[prost(string, tag = "2")]
1749    pub name: ::prost::alloc::string::String,
1750    ///
1751    #[prost(string, tag = "3")]
1752    pub desc: ::prost::alloc::string::String,
1753    ///
1754    #[prost(message, optional, tag = "4")]
1755    pub avatar: ::core::option::Option<Avatar>,
1756    ///
1757    #[prost(int32, tag = "5")]
1758    pub official_icon: i32,
1759    ///
1760    #[prost(message, optional, tag = "6")]
1761    pub desc_button: ::core::option::Option<Button>,
1762    ///
1763    #[prost(string, tag = "7")]
1764    pub cooperation: ::prost::alloc::string::String,
1765}
1766///
1767#[derive(Clone, PartialEq, ::prost::Message)]
1768pub struct UpArgs {
1769    ///
1770    #[prost(int64, tag = "1")]
1771    pub up_id: i64,
1772    ///
1773    #[prost(string, tag = "2")]
1774    pub up_name: ::prost::alloc::string::String,
1775    ///
1776    #[prost(string, tag = "3")]
1777    pub up_face: ::prost::alloc::string::String,
1778    ///
1779    #[prost(int64, tag = "4")]
1780    pub selected: i64,
1781}
1782///
1783#[derive(Clone, PartialEq, ::prost::Message)]
1784pub struct WatchLater {
1785    ///
1786    #[prost(int64, tag = "1")]
1787    pub aid: i64,
1788    ///
1789    #[prost(string, tag = "2")]
1790    pub bvid: ::prost::alloc::string::String,
1791}