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

// https://github.com/rust-lang/rust-clippy/issues/702
#![allow(unknown_lints)]
#![allow(clippy::all)]

#![allow(unused_attributes)]
#![cfg_attr(rustfmt, rustfmt::skip)]

#![allow(box_pointers)]
#![allow(dead_code)]
#![allow(missing_docs)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(trivial_casts)]
#![allow(unused_results)]
#![allow(unused_mut)]

//! Generated file from `messages.proto`

/// Generated files are compatible only with the same version
/// of protobuf runtime.
const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_3_0;

#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
// @@protoc_insertion_point(enum:hw.trezor.messages.MessageType)
pub enum MessageType {
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Initialize)
    MessageType_Initialize = 0,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Ping)
    MessageType_Ping = 1,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Success)
    MessageType_Success = 2,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Failure)
    MessageType_Failure = 3,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ChangePin)
    MessageType_ChangePin = 4,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_WipeDevice)
    MessageType_WipeDevice = 5,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetEntropy)
    MessageType_GetEntropy = 9,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Entropy)
    MessageType_Entropy = 10,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_LoadDevice)
    MessageType_LoadDevice = 13,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ResetDevice)
    MessageType_ResetDevice = 14,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SetBusy)
    MessageType_SetBusy = 16,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Features)
    MessageType_Features = 17,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PinMatrixRequest)
    MessageType_PinMatrixRequest = 18,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PinMatrixAck)
    MessageType_PinMatrixAck = 19,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Cancel)
    MessageType_Cancel = 20,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_LockDevice)
    MessageType_LockDevice = 24,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ApplySettings)
    MessageType_ApplySettings = 25,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ButtonRequest)
    MessageType_ButtonRequest = 26,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ButtonAck)
    MessageType_ButtonAck = 27,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ApplyFlags)
    MessageType_ApplyFlags = 28,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetNonce)
    MessageType_GetNonce = 31,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Nonce)
    MessageType_Nonce = 33,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BackupDevice)
    MessageType_BackupDevice = 34,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EntropyRequest)
    MessageType_EntropyRequest = 35,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EntropyAck)
    MessageType_EntropyAck = 36,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PassphraseRequest)
    MessageType_PassphraseRequest = 41,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PassphraseAck)
    MessageType_PassphraseAck = 42,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_RecoveryDevice)
    MessageType_RecoveryDevice = 45,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_WordRequest)
    MessageType_WordRequest = 46,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_WordAck)
    MessageType_WordAck = 47,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetFeatures)
    MessageType_GetFeatures = 55,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SdProtect)
    MessageType_SdProtect = 79,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ChangeWipeCode)
    MessageType_ChangeWipeCode = 82,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EndSession)
    MessageType_EndSession = 83,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DoPreauthorized)
    MessageType_DoPreauthorized = 84,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PreauthorizedRequest)
    MessageType_PreauthorizedRequest = 85,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CancelAuthorization)
    MessageType_CancelAuthorization = 86,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_RebootToBootloader)
    MessageType_RebootToBootloader = 87,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetFirmwareHash)
    MessageType_GetFirmwareHash = 88,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_FirmwareHash)
    MessageType_FirmwareHash = 89,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_UnlockPath)
    MessageType_UnlockPath = 93,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_UnlockedPathRequest)
    MessageType_UnlockedPathRequest = 94,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ShowDeviceTutorial)
    MessageType_ShowDeviceTutorial = 95,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_UnlockBootloader)
    MessageType_UnlockBootloader = 96,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_AuthenticateDevice)
    MessageType_AuthenticateDevice = 97,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_AuthenticityProof)
    MessageType_AuthenticityProof = 98,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SetU2FCounter)
    MessageType_SetU2FCounter = 63,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetNextU2FCounter)
    MessageType_GetNextU2FCounter = 80,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NextU2FCounter)
    MessageType_NextU2FCounter = 81,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Deprecated_PassphraseStateRequest)
    MessageType_Deprecated_PassphraseStateRequest = 77,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Deprecated_PassphraseStateAck)
    MessageType_Deprecated_PassphraseStateAck = 78,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_FirmwareErase)
    MessageType_FirmwareErase = 6,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_FirmwareUpload)
    MessageType_FirmwareUpload = 7,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_FirmwareRequest)
    MessageType_FirmwareRequest = 8,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SelfTest)
    MessageType_SelfTest = 32,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetPublicKey)
    MessageType_GetPublicKey = 11,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PublicKey)
    MessageType_PublicKey = 12,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SignTx)
    MessageType_SignTx = 15,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TxRequest)
    MessageType_TxRequest = 21,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TxAck)
    MessageType_TxAck = 22,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetAddress)
    MessageType_GetAddress = 29,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Address)
    MessageType_Address = 30,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TxAckPaymentRequest)
    MessageType_TxAckPaymentRequest = 37,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SignMessage)
    MessageType_SignMessage = 38,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_VerifyMessage)
    MessageType_VerifyMessage = 39,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MessageSignature)
    MessageType_MessageSignature = 40,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetOwnershipId)
    MessageType_GetOwnershipId = 43,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_OwnershipId)
    MessageType_OwnershipId = 44,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetOwnershipProof)
    MessageType_GetOwnershipProof = 49,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_OwnershipProof)
    MessageType_OwnershipProof = 50,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_AuthorizeCoinJoin)
    MessageType_AuthorizeCoinJoin = 51,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CipherKeyValue)
    MessageType_CipherKeyValue = 23,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CipheredKeyValue)
    MessageType_CipheredKeyValue = 48,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SignIdentity)
    MessageType_SignIdentity = 53,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SignedIdentity)
    MessageType_SignedIdentity = 54,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetECDHSessionKey)
    MessageType_GetECDHSessionKey = 61,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ECDHSessionKey)
    MessageType_ECDHSessionKey = 62,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CosiCommit)
    MessageType_CosiCommit = 71,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CosiCommitment)
    MessageType_CosiCommitment = 72,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CosiSign)
    MessageType_CosiSign = 73,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CosiSignature)
    MessageType_CosiSignature = 74,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkDecision)
    MessageType_DebugLinkDecision = 100,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkGetState)
    MessageType_DebugLinkGetState = 101,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkState)
    MessageType_DebugLinkState = 102,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkStop)
    MessageType_DebugLinkStop = 103,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkLog)
    MessageType_DebugLinkLog = 104,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkMemoryRead)
    MessageType_DebugLinkMemoryRead = 110,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkMemory)
    MessageType_DebugLinkMemory = 111,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkMemoryWrite)
    MessageType_DebugLinkMemoryWrite = 112,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkFlashErase)
    MessageType_DebugLinkFlashErase = 113,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkLayout)
    MessageType_DebugLinkLayout = 9001,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkReseedRandom)
    MessageType_DebugLinkReseedRandom = 9002,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkRecordScreen)
    MessageType_DebugLinkRecordScreen = 9003,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkEraseSdCard)
    MessageType_DebugLinkEraseSdCard = 9005,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkWatchLayout)
    MessageType_DebugLinkWatchLayout = 9006,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkResetDebugEvents)
    MessageType_DebugLinkResetDebugEvents = 9007,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumGetPublicKey)
    MessageType_EthereumGetPublicKey = 450,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumPublicKey)
    MessageType_EthereumPublicKey = 451,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumGetAddress)
    MessageType_EthereumGetAddress = 56,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumAddress)
    MessageType_EthereumAddress = 57,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumSignTx)
    MessageType_EthereumSignTx = 58,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumSignTxEIP1559)
    MessageType_EthereumSignTxEIP1559 = 452,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumTxRequest)
    MessageType_EthereumTxRequest = 59,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumTxAck)
    MessageType_EthereumTxAck = 60,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumSignMessage)
    MessageType_EthereumSignMessage = 64,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumVerifyMessage)
    MessageType_EthereumVerifyMessage = 65,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumMessageSignature)
    MessageType_EthereumMessageSignature = 66,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumSignTypedData)
    MessageType_EthereumSignTypedData = 464,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumTypedDataStructRequest)
    MessageType_EthereumTypedDataStructRequest = 465,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumTypedDataStructAck)
    MessageType_EthereumTypedDataStructAck = 466,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumTypedDataValueRequest)
    MessageType_EthereumTypedDataValueRequest = 467,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumTypedDataValueAck)
    MessageType_EthereumTypedDataValueAck = 468,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumTypedDataSignature)
    MessageType_EthereumTypedDataSignature = 469,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumSignTypedHash)
    MessageType_EthereumSignTypedHash = 470,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NEMGetAddress)
    MessageType_NEMGetAddress = 67,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NEMAddress)
    MessageType_NEMAddress = 68,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NEMSignTx)
    MessageType_NEMSignTx = 69,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NEMSignedTx)
    MessageType_NEMSignedTx = 70,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NEMDecryptMessage)
    MessageType_NEMDecryptMessage = 75,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NEMDecryptedMessage)
    MessageType_NEMDecryptedMessage = 76,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TezosGetAddress)
    MessageType_TezosGetAddress = 150,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TezosAddress)
    MessageType_TezosAddress = 151,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TezosSignTx)
    MessageType_TezosSignTx = 152,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TezosSignedTx)
    MessageType_TezosSignedTx = 153,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TezosGetPublicKey)
    MessageType_TezosGetPublicKey = 154,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TezosPublicKey)
    MessageType_TezosPublicKey = 155,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarSignTx)
    MessageType_StellarSignTx = 202,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarTxOpRequest)
    MessageType_StellarTxOpRequest = 203,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarGetAddress)
    MessageType_StellarGetAddress = 207,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarAddress)
    MessageType_StellarAddress = 208,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarCreateAccountOp)
    MessageType_StellarCreateAccountOp = 210,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarPaymentOp)
    MessageType_StellarPaymentOp = 211,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarPathPaymentStrictReceiveOp)
    MessageType_StellarPathPaymentStrictReceiveOp = 212,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarManageSellOfferOp)
    MessageType_StellarManageSellOfferOp = 213,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarCreatePassiveSellOfferOp)
    MessageType_StellarCreatePassiveSellOfferOp = 214,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarSetOptionsOp)
    MessageType_StellarSetOptionsOp = 215,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarChangeTrustOp)
    MessageType_StellarChangeTrustOp = 216,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarAllowTrustOp)
    MessageType_StellarAllowTrustOp = 217,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarAccountMergeOp)
    MessageType_StellarAccountMergeOp = 218,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarManageDataOp)
    MessageType_StellarManageDataOp = 220,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarBumpSequenceOp)
    MessageType_StellarBumpSequenceOp = 221,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarManageBuyOfferOp)
    MessageType_StellarManageBuyOfferOp = 222,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarPathPaymentStrictSendOp)
    MessageType_StellarPathPaymentStrictSendOp = 223,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarClaimClaimableBalanceOp)
    MessageType_StellarClaimClaimableBalanceOp = 225,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarSignedTx)
    MessageType_StellarSignedTx = 230,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoGetPublicKey)
    MessageType_CardanoGetPublicKey = 305,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoPublicKey)
    MessageType_CardanoPublicKey = 306,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoGetAddress)
    MessageType_CardanoGetAddress = 307,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoAddress)
    MessageType_CardanoAddress = 308,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxItemAck)
    MessageType_CardanoTxItemAck = 313,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxAuxiliaryDataSupplement)
    MessageType_CardanoTxAuxiliaryDataSupplement = 314,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxWitnessRequest)
    MessageType_CardanoTxWitnessRequest = 315,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxWitnessResponse)
    MessageType_CardanoTxWitnessResponse = 316,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxHostAck)
    MessageType_CardanoTxHostAck = 317,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxBodyHash)
    MessageType_CardanoTxBodyHash = 318,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoSignTxFinished)
    MessageType_CardanoSignTxFinished = 319,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoSignTxInit)
    MessageType_CardanoSignTxInit = 320,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxInput)
    MessageType_CardanoTxInput = 321,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxOutput)
    MessageType_CardanoTxOutput = 322,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoAssetGroup)
    MessageType_CardanoAssetGroup = 323,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoToken)
    MessageType_CardanoToken = 324,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxCertificate)
    MessageType_CardanoTxCertificate = 325,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxWithdrawal)
    MessageType_CardanoTxWithdrawal = 326,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxAuxiliaryData)
    MessageType_CardanoTxAuxiliaryData = 327,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoPoolOwner)
    MessageType_CardanoPoolOwner = 328,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoPoolRelayParameters)
    MessageType_CardanoPoolRelayParameters = 329,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoGetNativeScriptHash)
    MessageType_CardanoGetNativeScriptHash = 330,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoNativeScriptHash)
    MessageType_CardanoNativeScriptHash = 331,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxMint)
    MessageType_CardanoTxMint = 332,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxCollateralInput)
    MessageType_CardanoTxCollateralInput = 333,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxRequiredSigner)
    MessageType_CardanoTxRequiredSigner = 334,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxInlineDatumChunk)
    MessageType_CardanoTxInlineDatumChunk = 335,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxReferenceScriptChunk)
    MessageType_CardanoTxReferenceScriptChunk = 336,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxReferenceInput)
    MessageType_CardanoTxReferenceInput = 337,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_RippleGetAddress)
    MessageType_RippleGetAddress = 400,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_RippleAddress)
    MessageType_RippleAddress = 401,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_RippleSignTx)
    MessageType_RippleSignTx = 402,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_RippleSignedTx)
    MessageType_RippleSignedTx = 403,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionInitRequest)
    MessageType_MoneroTransactionInitRequest = 501,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionInitAck)
    MessageType_MoneroTransactionInitAck = 502,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionSetInputRequest)
    MessageType_MoneroTransactionSetInputRequest = 503,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionSetInputAck)
    MessageType_MoneroTransactionSetInputAck = 504,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionInputViniRequest)
    MessageType_MoneroTransactionInputViniRequest = 507,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionInputViniAck)
    MessageType_MoneroTransactionInputViniAck = 508,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionAllInputsSetRequest)
    MessageType_MoneroTransactionAllInputsSetRequest = 509,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionAllInputsSetAck)
    MessageType_MoneroTransactionAllInputsSetAck = 510,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionSetOutputRequest)
    MessageType_MoneroTransactionSetOutputRequest = 511,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionSetOutputAck)
    MessageType_MoneroTransactionSetOutputAck = 512,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionAllOutSetRequest)
    MessageType_MoneroTransactionAllOutSetRequest = 513,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionAllOutSetAck)
    MessageType_MoneroTransactionAllOutSetAck = 514,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionSignInputRequest)
    MessageType_MoneroTransactionSignInputRequest = 515,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionSignInputAck)
    MessageType_MoneroTransactionSignInputAck = 516,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionFinalRequest)
    MessageType_MoneroTransactionFinalRequest = 517,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionFinalAck)
    MessageType_MoneroTransactionFinalAck = 518,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroKeyImageExportInitRequest)
    MessageType_MoneroKeyImageExportInitRequest = 530,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroKeyImageExportInitAck)
    MessageType_MoneroKeyImageExportInitAck = 531,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroKeyImageSyncStepRequest)
    MessageType_MoneroKeyImageSyncStepRequest = 532,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroKeyImageSyncStepAck)
    MessageType_MoneroKeyImageSyncStepAck = 533,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroKeyImageSyncFinalRequest)
    MessageType_MoneroKeyImageSyncFinalRequest = 534,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroKeyImageSyncFinalAck)
    MessageType_MoneroKeyImageSyncFinalAck = 535,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroGetAddress)
    MessageType_MoneroGetAddress = 540,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroAddress)
    MessageType_MoneroAddress = 541,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroGetWatchKey)
    MessageType_MoneroGetWatchKey = 542,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroWatchKey)
    MessageType_MoneroWatchKey = 543,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugMoneroDiagRequest)
    MessageType_DebugMoneroDiagRequest = 546,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugMoneroDiagAck)
    MessageType_DebugMoneroDiagAck = 547,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroGetTxKeyRequest)
    MessageType_MoneroGetTxKeyRequest = 550,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroGetTxKeyAck)
    MessageType_MoneroGetTxKeyAck = 551,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroLiveRefreshStartRequest)
    MessageType_MoneroLiveRefreshStartRequest = 552,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroLiveRefreshStartAck)
    MessageType_MoneroLiveRefreshStartAck = 553,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroLiveRefreshStepRequest)
    MessageType_MoneroLiveRefreshStepRequest = 554,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroLiveRefreshStepAck)
    MessageType_MoneroLiveRefreshStepAck = 555,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroLiveRefreshFinalRequest)
    MessageType_MoneroLiveRefreshFinalRequest = 556,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroLiveRefreshFinalAck)
    MessageType_MoneroLiveRefreshFinalAck = 557,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EosGetPublicKey)
    MessageType_EosGetPublicKey = 600,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EosPublicKey)
    MessageType_EosPublicKey = 601,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EosSignTx)
    MessageType_EosSignTx = 602,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EosTxActionRequest)
    MessageType_EosTxActionRequest = 603,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EosTxActionAck)
    MessageType_EosTxActionAck = 604,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EosSignedTx)
    MessageType_EosSignedTx = 605,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BinanceGetAddress)
    MessageType_BinanceGetAddress = 700,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BinanceAddress)
    MessageType_BinanceAddress = 701,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BinanceGetPublicKey)
    MessageType_BinanceGetPublicKey = 702,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BinancePublicKey)
    MessageType_BinancePublicKey = 703,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BinanceSignTx)
    MessageType_BinanceSignTx = 704,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BinanceTxRequest)
    MessageType_BinanceTxRequest = 705,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BinanceTransferMsg)
    MessageType_BinanceTransferMsg = 706,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BinanceOrderMsg)
    MessageType_BinanceOrderMsg = 707,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BinanceCancelMsg)
    MessageType_BinanceCancelMsg = 708,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BinanceSignedTx)
    MessageType_BinanceSignedTx = 709,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_WebAuthnListResidentCredentials)
    MessageType_WebAuthnListResidentCredentials = 800,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_WebAuthnCredentials)
    MessageType_WebAuthnCredentials = 801,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_WebAuthnAddResidentCredential)
    MessageType_WebAuthnAddResidentCredential = 802,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_WebAuthnRemoveResidentCredential)
    MessageType_WebAuthnRemoveResidentCredential = 803,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SolanaGetPublicKey)
    MessageType_SolanaGetPublicKey = 900,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SolanaPublicKey)
    MessageType_SolanaPublicKey = 901,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SolanaGetAddress)
    MessageType_SolanaGetAddress = 902,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SolanaAddress)
    MessageType_SolanaAddress = 903,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SolanaSignTx)
    MessageType_SolanaSignTx = 904,
    // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SolanaTxSignature)
    MessageType_SolanaTxSignature = 905,
}

impl ::protobuf::Enum for MessageType {
    const NAME: &'static str = "MessageType";

    fn value(&self) -> i32 {
        *self as i32
    }

    fn from_i32(value: i32) -> ::std::option::Option<MessageType> {
        match value {
            0 => ::std::option::Option::Some(MessageType::MessageType_Initialize),
            1 => ::std::option::Option::Some(MessageType::MessageType_Ping),
            2 => ::std::option::Option::Some(MessageType::MessageType_Success),
            3 => ::std::option::Option::Some(MessageType::MessageType_Failure),
            4 => ::std::option::Option::Some(MessageType::MessageType_ChangePin),
            5 => ::std::option::Option::Some(MessageType::MessageType_WipeDevice),
            9 => ::std::option::Option::Some(MessageType::MessageType_GetEntropy),
            10 => ::std::option::Option::Some(MessageType::MessageType_Entropy),
            13 => ::std::option::Option::Some(MessageType::MessageType_LoadDevice),
            14 => ::std::option::Option::Some(MessageType::MessageType_ResetDevice),
            16 => ::std::option::Option::Some(MessageType::MessageType_SetBusy),
            17 => ::std::option::Option::Some(MessageType::MessageType_Features),
            18 => ::std::option::Option::Some(MessageType::MessageType_PinMatrixRequest),
            19 => ::std::option::Option::Some(MessageType::MessageType_PinMatrixAck),
            20 => ::std::option::Option::Some(MessageType::MessageType_Cancel),
            24 => ::std::option::Option::Some(MessageType::MessageType_LockDevice),
            25 => ::std::option::Option::Some(MessageType::MessageType_ApplySettings),
            26 => ::std::option::Option::Some(MessageType::MessageType_ButtonRequest),
            27 => ::std::option::Option::Some(MessageType::MessageType_ButtonAck),
            28 => ::std::option::Option::Some(MessageType::MessageType_ApplyFlags),
            31 => ::std::option::Option::Some(MessageType::MessageType_GetNonce),
            33 => ::std::option::Option::Some(MessageType::MessageType_Nonce),
            34 => ::std::option::Option::Some(MessageType::MessageType_BackupDevice),
            35 => ::std::option::Option::Some(MessageType::MessageType_EntropyRequest),
            36 => ::std::option::Option::Some(MessageType::MessageType_EntropyAck),
            41 => ::std::option::Option::Some(MessageType::MessageType_PassphraseRequest),
            42 => ::std::option::Option::Some(MessageType::MessageType_PassphraseAck),
            45 => ::std::option::Option::Some(MessageType::MessageType_RecoveryDevice),
            46 => ::std::option::Option::Some(MessageType::MessageType_WordRequest),
            47 => ::std::option::Option::Some(MessageType::MessageType_WordAck),
            55 => ::std::option::Option::Some(MessageType::MessageType_GetFeatures),
            79 => ::std::option::Option::Some(MessageType::MessageType_SdProtect),
            82 => ::std::option::Option::Some(MessageType::MessageType_ChangeWipeCode),
            83 => ::std::option::Option::Some(MessageType::MessageType_EndSession),
            84 => ::std::option::Option::Some(MessageType::MessageType_DoPreauthorized),
            85 => ::std::option::Option::Some(MessageType::MessageType_PreauthorizedRequest),
            86 => ::std::option::Option::Some(MessageType::MessageType_CancelAuthorization),
            87 => ::std::option::Option::Some(MessageType::MessageType_RebootToBootloader),
            88 => ::std::option::Option::Some(MessageType::MessageType_GetFirmwareHash),
            89 => ::std::option::Option::Some(MessageType::MessageType_FirmwareHash),
            93 => ::std::option::Option::Some(MessageType::MessageType_UnlockPath),
            94 => ::std::option::Option::Some(MessageType::MessageType_UnlockedPathRequest),
            95 => ::std::option::Option::Some(MessageType::MessageType_ShowDeviceTutorial),
            96 => ::std::option::Option::Some(MessageType::MessageType_UnlockBootloader),
            97 => ::std::option::Option::Some(MessageType::MessageType_AuthenticateDevice),
            98 => ::std::option::Option::Some(MessageType::MessageType_AuthenticityProof),
            63 => ::std::option::Option::Some(MessageType::MessageType_SetU2FCounter),
            80 => ::std::option::Option::Some(MessageType::MessageType_GetNextU2FCounter),
            81 => ::std::option::Option::Some(MessageType::MessageType_NextU2FCounter),
            77 => ::std::option::Option::Some(MessageType::MessageType_Deprecated_PassphraseStateRequest),
            78 => ::std::option::Option::Some(MessageType::MessageType_Deprecated_PassphraseStateAck),
            6 => ::std::option::Option::Some(MessageType::MessageType_FirmwareErase),
            7 => ::std::option::Option::Some(MessageType::MessageType_FirmwareUpload),
            8 => ::std::option::Option::Some(MessageType::MessageType_FirmwareRequest),
            32 => ::std::option::Option::Some(MessageType::MessageType_SelfTest),
            11 => ::std::option::Option::Some(MessageType::MessageType_GetPublicKey),
            12 => ::std::option::Option::Some(MessageType::MessageType_PublicKey),
            15 => ::std::option::Option::Some(MessageType::MessageType_SignTx),
            21 => ::std::option::Option::Some(MessageType::MessageType_TxRequest),
            22 => ::std::option::Option::Some(MessageType::MessageType_TxAck),
            29 => ::std::option::Option::Some(MessageType::MessageType_GetAddress),
            30 => ::std::option::Option::Some(MessageType::MessageType_Address),
            37 => ::std::option::Option::Some(MessageType::MessageType_TxAckPaymentRequest),
            38 => ::std::option::Option::Some(MessageType::MessageType_SignMessage),
            39 => ::std::option::Option::Some(MessageType::MessageType_VerifyMessage),
            40 => ::std::option::Option::Some(MessageType::MessageType_MessageSignature),
            43 => ::std::option::Option::Some(MessageType::MessageType_GetOwnershipId),
            44 => ::std::option::Option::Some(MessageType::MessageType_OwnershipId),
            49 => ::std::option::Option::Some(MessageType::MessageType_GetOwnershipProof),
            50 => ::std::option::Option::Some(MessageType::MessageType_OwnershipProof),
            51 => ::std::option::Option::Some(MessageType::MessageType_AuthorizeCoinJoin),
            23 => ::std::option::Option::Some(MessageType::MessageType_CipherKeyValue),
            48 => ::std::option::Option::Some(MessageType::MessageType_CipheredKeyValue),
            53 => ::std::option::Option::Some(MessageType::MessageType_SignIdentity),
            54 => ::std::option::Option::Some(MessageType::MessageType_SignedIdentity),
            61 => ::std::option::Option::Some(MessageType::MessageType_GetECDHSessionKey),
            62 => ::std::option::Option::Some(MessageType::MessageType_ECDHSessionKey),
            71 => ::std::option::Option::Some(MessageType::MessageType_CosiCommit),
            72 => ::std::option::Option::Some(MessageType::MessageType_CosiCommitment),
            73 => ::std::option::Option::Some(MessageType::MessageType_CosiSign),
            74 => ::std::option::Option::Some(MessageType::MessageType_CosiSignature),
            100 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkDecision),
            101 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkGetState),
            102 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkState),
            103 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkStop),
            104 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkLog),
            110 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkMemoryRead),
            111 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkMemory),
            112 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkMemoryWrite),
            113 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkFlashErase),
            9001 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkLayout),
            9002 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkReseedRandom),
            9003 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkRecordScreen),
            9005 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkEraseSdCard),
            9006 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkWatchLayout),
            9007 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkResetDebugEvents),
            450 => ::std::option::Option::Some(MessageType::MessageType_EthereumGetPublicKey),
            451 => ::std::option::Option::Some(MessageType::MessageType_EthereumPublicKey),
            56 => ::std::option::Option::Some(MessageType::MessageType_EthereumGetAddress),
            57 => ::std::option::Option::Some(MessageType::MessageType_EthereumAddress),
            58 => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTx),
            452 => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTxEIP1559),
            59 => ::std::option::Option::Some(MessageType::MessageType_EthereumTxRequest),
            60 => ::std::option::Option::Some(MessageType::MessageType_EthereumTxAck),
            64 => ::std::option::Option::Some(MessageType::MessageType_EthereumSignMessage),
            65 => ::std::option::Option::Some(MessageType::MessageType_EthereumVerifyMessage),
            66 => ::std::option::Option::Some(MessageType::MessageType_EthereumMessageSignature),
            464 => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTypedData),
            465 => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataStructRequest),
            466 => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataStructAck),
            467 => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataValueRequest),
            468 => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataValueAck),
            469 => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataSignature),
            470 => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTypedHash),
            67 => ::std::option::Option::Some(MessageType::MessageType_NEMGetAddress),
            68 => ::std::option::Option::Some(MessageType::MessageType_NEMAddress),
            69 => ::std::option::Option::Some(MessageType::MessageType_NEMSignTx),
            70 => ::std::option::Option::Some(MessageType::MessageType_NEMSignedTx),
            75 => ::std::option::Option::Some(MessageType::MessageType_NEMDecryptMessage),
            76 => ::std::option::Option::Some(MessageType::MessageType_NEMDecryptedMessage),
            150 => ::std::option::Option::Some(MessageType::MessageType_TezosGetAddress),
            151 => ::std::option::Option::Some(MessageType::MessageType_TezosAddress),
            152 => ::std::option::Option::Some(MessageType::MessageType_TezosSignTx),
            153 => ::std::option::Option::Some(MessageType::MessageType_TezosSignedTx),
            154 => ::std::option::Option::Some(MessageType::MessageType_TezosGetPublicKey),
            155 => ::std::option::Option::Some(MessageType::MessageType_TezosPublicKey),
            202 => ::std::option::Option::Some(MessageType::MessageType_StellarSignTx),
            203 => ::std::option::Option::Some(MessageType::MessageType_StellarTxOpRequest),
            207 => ::std::option::Option::Some(MessageType::MessageType_StellarGetAddress),
            208 => ::std::option::Option::Some(MessageType::MessageType_StellarAddress),
            210 => ::std::option::Option::Some(MessageType::MessageType_StellarCreateAccountOp),
            211 => ::std::option::Option::Some(MessageType::MessageType_StellarPaymentOp),
            212 => ::std::option::Option::Some(MessageType::MessageType_StellarPathPaymentStrictReceiveOp),
            213 => ::std::option::Option::Some(MessageType::MessageType_StellarManageSellOfferOp),
            214 => ::std::option::Option::Some(MessageType::MessageType_StellarCreatePassiveSellOfferOp),
            215 => ::std::option::Option::Some(MessageType::MessageType_StellarSetOptionsOp),
            216 => ::std::option::Option::Some(MessageType::MessageType_StellarChangeTrustOp),
            217 => ::std::option::Option::Some(MessageType::MessageType_StellarAllowTrustOp),
            218 => ::std::option::Option::Some(MessageType::MessageType_StellarAccountMergeOp),
            220 => ::std::option::Option::Some(MessageType::MessageType_StellarManageDataOp),
            221 => ::std::option::Option::Some(MessageType::MessageType_StellarBumpSequenceOp),
            222 => ::std::option::Option::Some(MessageType::MessageType_StellarManageBuyOfferOp),
            223 => ::std::option::Option::Some(MessageType::MessageType_StellarPathPaymentStrictSendOp),
            225 => ::std::option::Option::Some(MessageType::MessageType_StellarClaimClaimableBalanceOp),
            230 => ::std::option::Option::Some(MessageType::MessageType_StellarSignedTx),
            305 => ::std::option::Option::Some(MessageType::MessageType_CardanoGetPublicKey),
            306 => ::std::option::Option::Some(MessageType::MessageType_CardanoPublicKey),
            307 => ::std::option::Option::Some(MessageType::MessageType_CardanoGetAddress),
            308 => ::std::option::Option::Some(MessageType::MessageType_CardanoAddress),
            313 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxItemAck),
            314 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxAuxiliaryDataSupplement),
            315 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxWitnessRequest),
            316 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxWitnessResponse),
            317 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxHostAck),
            318 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxBodyHash),
            319 => ::std::option::Option::Some(MessageType::MessageType_CardanoSignTxFinished),
            320 => ::std::option::Option::Some(MessageType::MessageType_CardanoSignTxInit),
            321 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxInput),
            322 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxOutput),
            323 => ::std::option::Option::Some(MessageType::MessageType_CardanoAssetGroup),
            324 => ::std::option::Option::Some(MessageType::MessageType_CardanoToken),
            325 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxCertificate),
            326 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxWithdrawal),
            327 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxAuxiliaryData),
            328 => ::std::option::Option::Some(MessageType::MessageType_CardanoPoolOwner),
            329 => ::std::option::Option::Some(MessageType::MessageType_CardanoPoolRelayParameters),
            330 => ::std::option::Option::Some(MessageType::MessageType_CardanoGetNativeScriptHash),
            331 => ::std::option::Option::Some(MessageType::MessageType_CardanoNativeScriptHash),
            332 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxMint),
            333 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxCollateralInput),
            334 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxRequiredSigner),
            335 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxInlineDatumChunk),
            336 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxReferenceScriptChunk),
            337 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxReferenceInput),
            400 => ::std::option::Option::Some(MessageType::MessageType_RippleGetAddress),
            401 => ::std::option::Option::Some(MessageType::MessageType_RippleAddress),
            402 => ::std::option::Option::Some(MessageType::MessageType_RippleSignTx),
            403 => ::std::option::Option::Some(MessageType::MessageType_RippleSignedTx),
            501 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInitRequest),
            502 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInitAck),
            503 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetInputRequest),
            504 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetInputAck),
            507 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInputViniRequest),
            508 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInputViniAck),
            509 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllInputsSetRequest),
            510 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllInputsSetAck),
            511 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetOutputRequest),
            512 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetOutputAck),
            513 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllOutSetRequest),
            514 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllOutSetAck),
            515 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSignInputRequest),
            516 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSignInputAck),
            517 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionFinalRequest),
            518 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionFinalAck),
            530 => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageExportInitRequest),
            531 => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageExportInitAck),
            532 => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncStepRequest),
            533 => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncStepAck),
            534 => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncFinalRequest),
            535 => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncFinalAck),
            540 => ::std::option::Option::Some(MessageType::MessageType_MoneroGetAddress),
            541 => ::std::option::Option::Some(MessageType::MessageType_MoneroAddress),
            542 => ::std::option::Option::Some(MessageType::MessageType_MoneroGetWatchKey),
            543 => ::std::option::Option::Some(MessageType::MessageType_MoneroWatchKey),
            546 => ::std::option::Option::Some(MessageType::MessageType_DebugMoneroDiagRequest),
            547 => ::std::option::Option::Some(MessageType::MessageType_DebugMoneroDiagAck),
            550 => ::std::option::Option::Some(MessageType::MessageType_MoneroGetTxKeyRequest),
            551 => ::std::option::Option::Some(MessageType::MessageType_MoneroGetTxKeyAck),
            552 => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStartRequest),
            553 => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStartAck),
            554 => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStepRequest),
            555 => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStepAck),
            556 => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshFinalRequest),
            557 => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshFinalAck),
            600 => ::std::option::Option::Some(MessageType::MessageType_EosGetPublicKey),
            601 => ::std::option::Option::Some(MessageType::MessageType_EosPublicKey),
            602 => ::std::option::Option::Some(MessageType::MessageType_EosSignTx),
            603 => ::std::option::Option::Some(MessageType::MessageType_EosTxActionRequest),
            604 => ::std::option::Option::Some(MessageType::MessageType_EosTxActionAck),
            605 => ::std::option::Option::Some(MessageType::MessageType_EosSignedTx),
            700 => ::std::option::Option::Some(MessageType::MessageType_BinanceGetAddress),
            701 => ::std::option::Option::Some(MessageType::MessageType_BinanceAddress),
            702 => ::std::option::Option::Some(MessageType::MessageType_BinanceGetPublicKey),
            703 => ::std::option::Option::Some(MessageType::MessageType_BinancePublicKey),
            704 => ::std::option::Option::Some(MessageType::MessageType_BinanceSignTx),
            705 => ::std::option::Option::Some(MessageType::MessageType_BinanceTxRequest),
            706 => ::std::option::Option::Some(MessageType::MessageType_BinanceTransferMsg),
            707 => ::std::option::Option::Some(MessageType::MessageType_BinanceOrderMsg),
            708 => ::std::option::Option::Some(MessageType::MessageType_BinanceCancelMsg),
            709 => ::std::option::Option::Some(MessageType::MessageType_BinanceSignedTx),
            800 => ::std::option::Option::Some(MessageType::MessageType_WebAuthnListResidentCredentials),
            801 => ::std::option::Option::Some(MessageType::MessageType_WebAuthnCredentials),
            802 => ::std::option::Option::Some(MessageType::MessageType_WebAuthnAddResidentCredential),
            803 => ::std::option::Option::Some(MessageType::MessageType_WebAuthnRemoveResidentCredential),
            900 => ::std::option::Option::Some(MessageType::MessageType_SolanaGetPublicKey),
            901 => ::std::option::Option::Some(MessageType::MessageType_SolanaPublicKey),
            902 => ::std::option::Option::Some(MessageType::MessageType_SolanaGetAddress),
            903 => ::std::option::Option::Some(MessageType::MessageType_SolanaAddress),
            904 => ::std::option::Option::Some(MessageType::MessageType_SolanaSignTx),
            905 => ::std::option::Option::Some(MessageType::MessageType_SolanaTxSignature),
            _ => ::std::option::Option::None
        }
    }

    fn from_str(str: &str) -> ::std::option::Option<MessageType> {
        match str {
            "MessageType_Initialize" => ::std::option::Option::Some(MessageType::MessageType_Initialize),
            "MessageType_Ping" => ::std::option::Option::Some(MessageType::MessageType_Ping),
            "MessageType_Success" => ::std::option::Option::Some(MessageType::MessageType_Success),
            "MessageType_Failure" => ::std::option::Option::Some(MessageType::MessageType_Failure),
            "MessageType_ChangePin" => ::std::option::Option::Some(MessageType::MessageType_ChangePin),
            "MessageType_WipeDevice" => ::std::option::Option::Some(MessageType::MessageType_WipeDevice),
            "MessageType_GetEntropy" => ::std::option::Option::Some(MessageType::MessageType_GetEntropy),
            "MessageType_Entropy" => ::std::option::Option::Some(MessageType::MessageType_Entropy),
            "MessageType_LoadDevice" => ::std::option::Option::Some(MessageType::MessageType_LoadDevice),
            "MessageType_ResetDevice" => ::std::option::Option::Some(MessageType::MessageType_ResetDevice),
            "MessageType_SetBusy" => ::std::option::Option::Some(MessageType::MessageType_SetBusy),
            "MessageType_Features" => ::std::option::Option::Some(MessageType::MessageType_Features),
            "MessageType_PinMatrixRequest" => ::std::option::Option::Some(MessageType::MessageType_PinMatrixRequest),
            "MessageType_PinMatrixAck" => ::std::option::Option::Some(MessageType::MessageType_PinMatrixAck),
            "MessageType_Cancel" => ::std::option::Option::Some(MessageType::MessageType_Cancel),
            "MessageType_LockDevice" => ::std::option::Option::Some(MessageType::MessageType_LockDevice),
            "MessageType_ApplySettings" => ::std::option::Option::Some(MessageType::MessageType_ApplySettings),
            "MessageType_ButtonRequest" => ::std::option::Option::Some(MessageType::MessageType_ButtonRequest),
            "MessageType_ButtonAck" => ::std::option::Option::Some(MessageType::MessageType_ButtonAck),
            "MessageType_ApplyFlags" => ::std::option::Option::Some(MessageType::MessageType_ApplyFlags),
            "MessageType_GetNonce" => ::std::option::Option::Some(MessageType::MessageType_GetNonce),
            "MessageType_Nonce" => ::std::option::Option::Some(MessageType::MessageType_Nonce),
            "MessageType_BackupDevice" => ::std::option::Option::Some(MessageType::MessageType_BackupDevice),
            "MessageType_EntropyRequest" => ::std::option::Option::Some(MessageType::MessageType_EntropyRequest),
            "MessageType_EntropyAck" => ::std::option::Option::Some(MessageType::MessageType_EntropyAck),
            "MessageType_PassphraseRequest" => ::std::option::Option::Some(MessageType::MessageType_PassphraseRequest),
            "MessageType_PassphraseAck" => ::std::option::Option::Some(MessageType::MessageType_PassphraseAck),
            "MessageType_RecoveryDevice" => ::std::option::Option::Some(MessageType::MessageType_RecoveryDevice),
            "MessageType_WordRequest" => ::std::option::Option::Some(MessageType::MessageType_WordRequest),
            "MessageType_WordAck" => ::std::option::Option::Some(MessageType::MessageType_WordAck),
            "MessageType_GetFeatures" => ::std::option::Option::Some(MessageType::MessageType_GetFeatures),
            "MessageType_SdProtect" => ::std::option::Option::Some(MessageType::MessageType_SdProtect),
            "MessageType_ChangeWipeCode" => ::std::option::Option::Some(MessageType::MessageType_ChangeWipeCode),
            "MessageType_EndSession" => ::std::option::Option::Some(MessageType::MessageType_EndSession),
            "MessageType_DoPreauthorized" => ::std::option::Option::Some(MessageType::MessageType_DoPreauthorized),
            "MessageType_PreauthorizedRequest" => ::std::option::Option::Some(MessageType::MessageType_PreauthorizedRequest),
            "MessageType_CancelAuthorization" => ::std::option::Option::Some(MessageType::MessageType_CancelAuthorization),
            "MessageType_RebootToBootloader" => ::std::option::Option::Some(MessageType::MessageType_RebootToBootloader),
            "MessageType_GetFirmwareHash" => ::std::option::Option::Some(MessageType::MessageType_GetFirmwareHash),
            "MessageType_FirmwareHash" => ::std::option::Option::Some(MessageType::MessageType_FirmwareHash),
            "MessageType_UnlockPath" => ::std::option::Option::Some(MessageType::MessageType_UnlockPath),
            "MessageType_UnlockedPathRequest" => ::std::option::Option::Some(MessageType::MessageType_UnlockedPathRequest),
            "MessageType_ShowDeviceTutorial" => ::std::option::Option::Some(MessageType::MessageType_ShowDeviceTutorial),
            "MessageType_UnlockBootloader" => ::std::option::Option::Some(MessageType::MessageType_UnlockBootloader),
            "MessageType_AuthenticateDevice" => ::std::option::Option::Some(MessageType::MessageType_AuthenticateDevice),
            "MessageType_AuthenticityProof" => ::std::option::Option::Some(MessageType::MessageType_AuthenticityProof),
            "MessageType_SetU2FCounter" => ::std::option::Option::Some(MessageType::MessageType_SetU2FCounter),
            "MessageType_GetNextU2FCounter" => ::std::option::Option::Some(MessageType::MessageType_GetNextU2FCounter),
            "MessageType_NextU2FCounter" => ::std::option::Option::Some(MessageType::MessageType_NextU2FCounter),
            "MessageType_Deprecated_PassphraseStateRequest" => ::std::option::Option::Some(MessageType::MessageType_Deprecated_PassphraseStateRequest),
            "MessageType_Deprecated_PassphraseStateAck" => ::std::option::Option::Some(MessageType::MessageType_Deprecated_PassphraseStateAck),
            "MessageType_FirmwareErase" => ::std::option::Option::Some(MessageType::MessageType_FirmwareErase),
            "MessageType_FirmwareUpload" => ::std::option::Option::Some(MessageType::MessageType_FirmwareUpload),
            "MessageType_FirmwareRequest" => ::std::option::Option::Some(MessageType::MessageType_FirmwareRequest),
            "MessageType_SelfTest" => ::std::option::Option::Some(MessageType::MessageType_SelfTest),
            "MessageType_GetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_GetPublicKey),
            "MessageType_PublicKey" => ::std::option::Option::Some(MessageType::MessageType_PublicKey),
            "MessageType_SignTx" => ::std::option::Option::Some(MessageType::MessageType_SignTx),
            "MessageType_TxRequest" => ::std::option::Option::Some(MessageType::MessageType_TxRequest),
            "MessageType_TxAck" => ::std::option::Option::Some(MessageType::MessageType_TxAck),
            "MessageType_GetAddress" => ::std::option::Option::Some(MessageType::MessageType_GetAddress),
            "MessageType_Address" => ::std::option::Option::Some(MessageType::MessageType_Address),
            "MessageType_TxAckPaymentRequest" => ::std::option::Option::Some(MessageType::MessageType_TxAckPaymentRequest),
            "MessageType_SignMessage" => ::std::option::Option::Some(MessageType::MessageType_SignMessage),
            "MessageType_VerifyMessage" => ::std::option::Option::Some(MessageType::MessageType_VerifyMessage),
            "MessageType_MessageSignature" => ::std::option::Option::Some(MessageType::MessageType_MessageSignature),
            "MessageType_GetOwnershipId" => ::std::option::Option::Some(MessageType::MessageType_GetOwnershipId),
            "MessageType_OwnershipId" => ::std::option::Option::Some(MessageType::MessageType_OwnershipId),
            "MessageType_GetOwnershipProof" => ::std::option::Option::Some(MessageType::MessageType_GetOwnershipProof),
            "MessageType_OwnershipProof" => ::std::option::Option::Some(MessageType::MessageType_OwnershipProof),
            "MessageType_AuthorizeCoinJoin" => ::std::option::Option::Some(MessageType::MessageType_AuthorizeCoinJoin),
            "MessageType_CipherKeyValue" => ::std::option::Option::Some(MessageType::MessageType_CipherKeyValue),
            "MessageType_CipheredKeyValue" => ::std::option::Option::Some(MessageType::MessageType_CipheredKeyValue),
            "MessageType_SignIdentity" => ::std::option::Option::Some(MessageType::MessageType_SignIdentity),
            "MessageType_SignedIdentity" => ::std::option::Option::Some(MessageType::MessageType_SignedIdentity),
            "MessageType_GetECDHSessionKey" => ::std::option::Option::Some(MessageType::MessageType_GetECDHSessionKey),
            "MessageType_ECDHSessionKey" => ::std::option::Option::Some(MessageType::MessageType_ECDHSessionKey),
            "MessageType_CosiCommit" => ::std::option::Option::Some(MessageType::MessageType_CosiCommit),
            "MessageType_CosiCommitment" => ::std::option::Option::Some(MessageType::MessageType_CosiCommitment),
            "MessageType_CosiSign" => ::std::option::Option::Some(MessageType::MessageType_CosiSign),
            "MessageType_CosiSignature" => ::std::option::Option::Some(MessageType::MessageType_CosiSignature),
            "MessageType_DebugLinkDecision" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkDecision),
            "MessageType_DebugLinkGetState" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkGetState),
            "MessageType_DebugLinkState" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkState),
            "MessageType_DebugLinkStop" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkStop),
            "MessageType_DebugLinkLog" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkLog),
            "MessageType_DebugLinkMemoryRead" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkMemoryRead),
            "MessageType_DebugLinkMemory" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkMemory),
            "MessageType_DebugLinkMemoryWrite" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkMemoryWrite),
            "MessageType_DebugLinkFlashErase" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkFlashErase),
            "MessageType_DebugLinkLayout" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkLayout),
            "MessageType_DebugLinkReseedRandom" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkReseedRandom),
            "MessageType_DebugLinkRecordScreen" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkRecordScreen),
            "MessageType_DebugLinkEraseSdCard" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkEraseSdCard),
            "MessageType_DebugLinkWatchLayout" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkWatchLayout),
            "MessageType_DebugLinkResetDebugEvents" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkResetDebugEvents),
            "MessageType_EthereumGetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_EthereumGetPublicKey),
            "MessageType_EthereumPublicKey" => ::std::option::Option::Some(MessageType::MessageType_EthereumPublicKey),
            "MessageType_EthereumGetAddress" => ::std::option::Option::Some(MessageType::MessageType_EthereumGetAddress),
            "MessageType_EthereumAddress" => ::std::option::Option::Some(MessageType::MessageType_EthereumAddress),
            "MessageType_EthereumSignTx" => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTx),
            "MessageType_EthereumSignTxEIP1559" => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTxEIP1559),
            "MessageType_EthereumTxRequest" => ::std::option::Option::Some(MessageType::MessageType_EthereumTxRequest),
            "MessageType_EthereumTxAck" => ::std::option::Option::Some(MessageType::MessageType_EthereumTxAck),
            "MessageType_EthereumSignMessage" => ::std::option::Option::Some(MessageType::MessageType_EthereumSignMessage),
            "MessageType_EthereumVerifyMessage" => ::std::option::Option::Some(MessageType::MessageType_EthereumVerifyMessage),
            "MessageType_EthereumMessageSignature" => ::std::option::Option::Some(MessageType::MessageType_EthereumMessageSignature),
            "MessageType_EthereumSignTypedData" => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTypedData),
            "MessageType_EthereumTypedDataStructRequest" => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataStructRequest),
            "MessageType_EthereumTypedDataStructAck" => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataStructAck),
            "MessageType_EthereumTypedDataValueRequest" => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataValueRequest),
            "MessageType_EthereumTypedDataValueAck" => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataValueAck),
            "MessageType_EthereumTypedDataSignature" => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataSignature),
            "MessageType_EthereumSignTypedHash" => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTypedHash),
            "MessageType_NEMGetAddress" => ::std::option::Option::Some(MessageType::MessageType_NEMGetAddress),
            "MessageType_NEMAddress" => ::std::option::Option::Some(MessageType::MessageType_NEMAddress),
            "MessageType_NEMSignTx" => ::std::option::Option::Some(MessageType::MessageType_NEMSignTx),
            "MessageType_NEMSignedTx" => ::std::option::Option::Some(MessageType::MessageType_NEMSignedTx),
            "MessageType_NEMDecryptMessage" => ::std::option::Option::Some(MessageType::MessageType_NEMDecryptMessage),
            "MessageType_NEMDecryptedMessage" => ::std::option::Option::Some(MessageType::MessageType_NEMDecryptedMessage),
            "MessageType_TezosGetAddress" => ::std::option::Option::Some(MessageType::MessageType_TezosGetAddress),
            "MessageType_TezosAddress" => ::std::option::Option::Some(MessageType::MessageType_TezosAddress),
            "MessageType_TezosSignTx" => ::std::option::Option::Some(MessageType::MessageType_TezosSignTx),
            "MessageType_TezosSignedTx" => ::std::option::Option::Some(MessageType::MessageType_TezosSignedTx),
            "MessageType_TezosGetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_TezosGetPublicKey),
            "MessageType_TezosPublicKey" => ::std::option::Option::Some(MessageType::MessageType_TezosPublicKey),
            "MessageType_StellarSignTx" => ::std::option::Option::Some(MessageType::MessageType_StellarSignTx),
            "MessageType_StellarTxOpRequest" => ::std::option::Option::Some(MessageType::MessageType_StellarTxOpRequest),
            "MessageType_StellarGetAddress" => ::std::option::Option::Some(MessageType::MessageType_StellarGetAddress),
            "MessageType_StellarAddress" => ::std::option::Option::Some(MessageType::MessageType_StellarAddress),
            "MessageType_StellarCreateAccountOp" => ::std::option::Option::Some(MessageType::MessageType_StellarCreateAccountOp),
            "MessageType_StellarPaymentOp" => ::std::option::Option::Some(MessageType::MessageType_StellarPaymentOp),
            "MessageType_StellarPathPaymentStrictReceiveOp" => ::std::option::Option::Some(MessageType::MessageType_StellarPathPaymentStrictReceiveOp),
            "MessageType_StellarManageSellOfferOp" => ::std::option::Option::Some(MessageType::MessageType_StellarManageSellOfferOp),
            "MessageType_StellarCreatePassiveSellOfferOp" => ::std::option::Option::Some(MessageType::MessageType_StellarCreatePassiveSellOfferOp),
            "MessageType_StellarSetOptionsOp" => ::std::option::Option::Some(MessageType::MessageType_StellarSetOptionsOp),
            "MessageType_StellarChangeTrustOp" => ::std::option::Option::Some(MessageType::MessageType_StellarChangeTrustOp),
            "MessageType_StellarAllowTrustOp" => ::std::option::Option::Some(MessageType::MessageType_StellarAllowTrustOp),
            "MessageType_StellarAccountMergeOp" => ::std::option::Option::Some(MessageType::MessageType_StellarAccountMergeOp),
            "MessageType_StellarManageDataOp" => ::std::option::Option::Some(MessageType::MessageType_StellarManageDataOp),
            "MessageType_StellarBumpSequenceOp" => ::std::option::Option::Some(MessageType::MessageType_StellarBumpSequenceOp),
            "MessageType_StellarManageBuyOfferOp" => ::std::option::Option::Some(MessageType::MessageType_StellarManageBuyOfferOp),
            "MessageType_StellarPathPaymentStrictSendOp" => ::std::option::Option::Some(MessageType::MessageType_StellarPathPaymentStrictSendOp),
            "MessageType_StellarClaimClaimableBalanceOp" => ::std::option::Option::Some(MessageType::MessageType_StellarClaimClaimableBalanceOp),
            "MessageType_StellarSignedTx" => ::std::option::Option::Some(MessageType::MessageType_StellarSignedTx),
            "MessageType_CardanoGetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_CardanoGetPublicKey),
            "MessageType_CardanoPublicKey" => ::std::option::Option::Some(MessageType::MessageType_CardanoPublicKey),
            "MessageType_CardanoGetAddress" => ::std::option::Option::Some(MessageType::MessageType_CardanoGetAddress),
            "MessageType_CardanoAddress" => ::std::option::Option::Some(MessageType::MessageType_CardanoAddress),
            "MessageType_CardanoTxItemAck" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxItemAck),
            "MessageType_CardanoTxAuxiliaryDataSupplement" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxAuxiliaryDataSupplement),
            "MessageType_CardanoTxWitnessRequest" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxWitnessRequest),
            "MessageType_CardanoTxWitnessResponse" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxWitnessResponse),
            "MessageType_CardanoTxHostAck" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxHostAck),
            "MessageType_CardanoTxBodyHash" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxBodyHash),
            "MessageType_CardanoSignTxFinished" => ::std::option::Option::Some(MessageType::MessageType_CardanoSignTxFinished),
            "MessageType_CardanoSignTxInit" => ::std::option::Option::Some(MessageType::MessageType_CardanoSignTxInit),
            "MessageType_CardanoTxInput" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxInput),
            "MessageType_CardanoTxOutput" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxOutput),
            "MessageType_CardanoAssetGroup" => ::std::option::Option::Some(MessageType::MessageType_CardanoAssetGroup),
            "MessageType_CardanoToken" => ::std::option::Option::Some(MessageType::MessageType_CardanoToken),
            "MessageType_CardanoTxCertificate" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxCertificate),
            "MessageType_CardanoTxWithdrawal" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxWithdrawal),
            "MessageType_CardanoTxAuxiliaryData" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxAuxiliaryData),
            "MessageType_CardanoPoolOwner" => ::std::option::Option::Some(MessageType::MessageType_CardanoPoolOwner),
            "MessageType_CardanoPoolRelayParameters" => ::std::option::Option::Some(MessageType::MessageType_CardanoPoolRelayParameters),
            "MessageType_CardanoGetNativeScriptHash" => ::std::option::Option::Some(MessageType::MessageType_CardanoGetNativeScriptHash),
            "MessageType_CardanoNativeScriptHash" => ::std::option::Option::Some(MessageType::MessageType_CardanoNativeScriptHash),
            "MessageType_CardanoTxMint" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxMint),
            "MessageType_CardanoTxCollateralInput" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxCollateralInput),
            "MessageType_CardanoTxRequiredSigner" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxRequiredSigner),
            "MessageType_CardanoTxInlineDatumChunk" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxInlineDatumChunk),
            "MessageType_CardanoTxReferenceScriptChunk" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxReferenceScriptChunk),
            "MessageType_CardanoTxReferenceInput" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxReferenceInput),
            "MessageType_RippleGetAddress" => ::std::option::Option::Some(MessageType::MessageType_RippleGetAddress),
            "MessageType_RippleAddress" => ::std::option::Option::Some(MessageType::MessageType_RippleAddress),
            "MessageType_RippleSignTx" => ::std::option::Option::Some(MessageType::MessageType_RippleSignTx),
            "MessageType_RippleSignedTx" => ::std::option::Option::Some(MessageType::MessageType_RippleSignedTx),
            "MessageType_MoneroTransactionInitRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInitRequest),
            "MessageType_MoneroTransactionInitAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInitAck),
            "MessageType_MoneroTransactionSetInputRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetInputRequest),
            "MessageType_MoneroTransactionSetInputAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetInputAck),
            "MessageType_MoneroTransactionInputViniRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInputViniRequest),
            "MessageType_MoneroTransactionInputViniAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInputViniAck),
            "MessageType_MoneroTransactionAllInputsSetRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllInputsSetRequest),
            "MessageType_MoneroTransactionAllInputsSetAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllInputsSetAck),
            "MessageType_MoneroTransactionSetOutputRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetOutputRequest),
            "MessageType_MoneroTransactionSetOutputAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetOutputAck),
            "MessageType_MoneroTransactionAllOutSetRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllOutSetRequest),
            "MessageType_MoneroTransactionAllOutSetAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllOutSetAck),
            "MessageType_MoneroTransactionSignInputRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSignInputRequest),
            "MessageType_MoneroTransactionSignInputAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSignInputAck),
            "MessageType_MoneroTransactionFinalRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionFinalRequest),
            "MessageType_MoneroTransactionFinalAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionFinalAck),
            "MessageType_MoneroKeyImageExportInitRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageExportInitRequest),
            "MessageType_MoneroKeyImageExportInitAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageExportInitAck),
            "MessageType_MoneroKeyImageSyncStepRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncStepRequest),
            "MessageType_MoneroKeyImageSyncStepAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncStepAck),
            "MessageType_MoneroKeyImageSyncFinalRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncFinalRequest),
            "MessageType_MoneroKeyImageSyncFinalAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncFinalAck),
            "MessageType_MoneroGetAddress" => ::std::option::Option::Some(MessageType::MessageType_MoneroGetAddress),
            "MessageType_MoneroAddress" => ::std::option::Option::Some(MessageType::MessageType_MoneroAddress),
            "MessageType_MoneroGetWatchKey" => ::std::option::Option::Some(MessageType::MessageType_MoneroGetWatchKey),
            "MessageType_MoneroWatchKey" => ::std::option::Option::Some(MessageType::MessageType_MoneroWatchKey),
            "MessageType_DebugMoneroDiagRequest" => ::std::option::Option::Some(MessageType::MessageType_DebugMoneroDiagRequest),
            "MessageType_DebugMoneroDiagAck" => ::std::option::Option::Some(MessageType::MessageType_DebugMoneroDiagAck),
            "MessageType_MoneroGetTxKeyRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroGetTxKeyRequest),
            "MessageType_MoneroGetTxKeyAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroGetTxKeyAck),
            "MessageType_MoneroLiveRefreshStartRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStartRequest),
            "MessageType_MoneroLiveRefreshStartAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStartAck),
            "MessageType_MoneroLiveRefreshStepRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStepRequest),
            "MessageType_MoneroLiveRefreshStepAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStepAck),
            "MessageType_MoneroLiveRefreshFinalRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshFinalRequest),
            "MessageType_MoneroLiveRefreshFinalAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshFinalAck),
            "MessageType_EosGetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_EosGetPublicKey),
            "MessageType_EosPublicKey" => ::std::option::Option::Some(MessageType::MessageType_EosPublicKey),
            "MessageType_EosSignTx" => ::std::option::Option::Some(MessageType::MessageType_EosSignTx),
            "MessageType_EosTxActionRequest" => ::std::option::Option::Some(MessageType::MessageType_EosTxActionRequest),
            "MessageType_EosTxActionAck" => ::std::option::Option::Some(MessageType::MessageType_EosTxActionAck),
            "MessageType_EosSignedTx" => ::std::option::Option::Some(MessageType::MessageType_EosSignedTx),
            "MessageType_BinanceGetAddress" => ::std::option::Option::Some(MessageType::MessageType_BinanceGetAddress),
            "MessageType_BinanceAddress" => ::std::option::Option::Some(MessageType::MessageType_BinanceAddress),
            "MessageType_BinanceGetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_BinanceGetPublicKey),
            "MessageType_BinancePublicKey" => ::std::option::Option::Some(MessageType::MessageType_BinancePublicKey),
            "MessageType_BinanceSignTx" => ::std::option::Option::Some(MessageType::MessageType_BinanceSignTx),
            "MessageType_BinanceTxRequest" => ::std::option::Option::Some(MessageType::MessageType_BinanceTxRequest),
            "MessageType_BinanceTransferMsg" => ::std::option::Option::Some(MessageType::MessageType_BinanceTransferMsg),
            "MessageType_BinanceOrderMsg" => ::std::option::Option::Some(MessageType::MessageType_BinanceOrderMsg),
            "MessageType_BinanceCancelMsg" => ::std::option::Option::Some(MessageType::MessageType_BinanceCancelMsg),
            "MessageType_BinanceSignedTx" => ::std::option::Option::Some(MessageType::MessageType_BinanceSignedTx),
            "MessageType_WebAuthnListResidentCredentials" => ::std::option::Option::Some(MessageType::MessageType_WebAuthnListResidentCredentials),
            "MessageType_WebAuthnCredentials" => ::std::option::Option::Some(MessageType::MessageType_WebAuthnCredentials),
            "MessageType_WebAuthnAddResidentCredential" => ::std::option::Option::Some(MessageType::MessageType_WebAuthnAddResidentCredential),
            "MessageType_WebAuthnRemoveResidentCredential" => ::std::option::Option::Some(MessageType::MessageType_WebAuthnRemoveResidentCredential),
            "MessageType_SolanaGetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_SolanaGetPublicKey),
            "MessageType_SolanaPublicKey" => ::std::option::Option::Some(MessageType::MessageType_SolanaPublicKey),
            "MessageType_SolanaGetAddress" => ::std::option::Option::Some(MessageType::MessageType_SolanaGetAddress),
            "MessageType_SolanaAddress" => ::std::option::Option::Some(MessageType::MessageType_SolanaAddress),
            "MessageType_SolanaSignTx" => ::std::option::Option::Some(MessageType::MessageType_SolanaSignTx),
            "MessageType_SolanaTxSignature" => ::std::option::Option::Some(MessageType::MessageType_SolanaTxSignature),
            _ => ::std::option::Option::None
        }
    }

    const VALUES: &'static [MessageType] = &[
        MessageType::MessageType_Initialize,
        MessageType::MessageType_Ping,
        MessageType::MessageType_Success,
        MessageType::MessageType_Failure,
        MessageType::MessageType_ChangePin,
        MessageType::MessageType_WipeDevice,
        MessageType::MessageType_GetEntropy,
        MessageType::MessageType_Entropy,
        MessageType::MessageType_LoadDevice,
        MessageType::MessageType_ResetDevice,
        MessageType::MessageType_SetBusy,
        MessageType::MessageType_Features,
        MessageType::MessageType_PinMatrixRequest,
        MessageType::MessageType_PinMatrixAck,
        MessageType::MessageType_Cancel,
        MessageType::MessageType_LockDevice,
        MessageType::MessageType_ApplySettings,
        MessageType::MessageType_ButtonRequest,
        MessageType::MessageType_ButtonAck,
        MessageType::MessageType_ApplyFlags,
        MessageType::MessageType_GetNonce,
        MessageType::MessageType_Nonce,
        MessageType::MessageType_BackupDevice,
        MessageType::MessageType_EntropyRequest,
        MessageType::MessageType_EntropyAck,
        MessageType::MessageType_PassphraseRequest,
        MessageType::MessageType_PassphraseAck,
        MessageType::MessageType_RecoveryDevice,
        MessageType::MessageType_WordRequest,
        MessageType::MessageType_WordAck,
        MessageType::MessageType_GetFeatures,
        MessageType::MessageType_SdProtect,
        MessageType::MessageType_ChangeWipeCode,
        MessageType::MessageType_EndSession,
        MessageType::MessageType_DoPreauthorized,
        MessageType::MessageType_PreauthorizedRequest,
        MessageType::MessageType_CancelAuthorization,
        MessageType::MessageType_RebootToBootloader,
        MessageType::MessageType_GetFirmwareHash,
        MessageType::MessageType_FirmwareHash,
        MessageType::MessageType_UnlockPath,
        MessageType::MessageType_UnlockedPathRequest,
        MessageType::MessageType_ShowDeviceTutorial,
        MessageType::MessageType_UnlockBootloader,
        MessageType::MessageType_AuthenticateDevice,
        MessageType::MessageType_AuthenticityProof,
        MessageType::MessageType_SetU2FCounter,
        MessageType::MessageType_GetNextU2FCounter,
        MessageType::MessageType_NextU2FCounter,
        MessageType::MessageType_Deprecated_PassphraseStateRequest,
        MessageType::MessageType_Deprecated_PassphraseStateAck,
        MessageType::MessageType_FirmwareErase,
        MessageType::MessageType_FirmwareUpload,
        MessageType::MessageType_FirmwareRequest,
        MessageType::MessageType_SelfTest,
        MessageType::MessageType_GetPublicKey,
        MessageType::MessageType_PublicKey,
        MessageType::MessageType_SignTx,
        MessageType::MessageType_TxRequest,
        MessageType::MessageType_TxAck,
        MessageType::MessageType_GetAddress,
        MessageType::MessageType_Address,
        MessageType::MessageType_TxAckPaymentRequest,
        MessageType::MessageType_SignMessage,
        MessageType::MessageType_VerifyMessage,
        MessageType::MessageType_MessageSignature,
        MessageType::MessageType_GetOwnershipId,
        MessageType::MessageType_OwnershipId,
        MessageType::MessageType_GetOwnershipProof,
        MessageType::MessageType_OwnershipProof,
        MessageType::MessageType_AuthorizeCoinJoin,
        MessageType::MessageType_CipherKeyValue,
        MessageType::MessageType_CipheredKeyValue,
        MessageType::MessageType_SignIdentity,
        MessageType::MessageType_SignedIdentity,
        MessageType::MessageType_GetECDHSessionKey,
        MessageType::MessageType_ECDHSessionKey,
        MessageType::MessageType_CosiCommit,
        MessageType::MessageType_CosiCommitment,
        MessageType::MessageType_CosiSign,
        MessageType::MessageType_CosiSignature,
        MessageType::MessageType_DebugLinkDecision,
        MessageType::MessageType_DebugLinkGetState,
        MessageType::MessageType_DebugLinkState,
        MessageType::MessageType_DebugLinkStop,
        MessageType::MessageType_DebugLinkLog,
        MessageType::MessageType_DebugLinkMemoryRead,
        MessageType::MessageType_DebugLinkMemory,
        MessageType::MessageType_DebugLinkMemoryWrite,
        MessageType::MessageType_DebugLinkFlashErase,
        MessageType::MessageType_DebugLinkLayout,
        MessageType::MessageType_DebugLinkReseedRandom,
        MessageType::MessageType_DebugLinkRecordScreen,
        MessageType::MessageType_DebugLinkEraseSdCard,
        MessageType::MessageType_DebugLinkWatchLayout,
        MessageType::MessageType_DebugLinkResetDebugEvents,
        MessageType::MessageType_EthereumGetPublicKey,
        MessageType::MessageType_EthereumPublicKey,
        MessageType::MessageType_EthereumGetAddress,
        MessageType::MessageType_EthereumAddress,
        MessageType::MessageType_EthereumSignTx,
        MessageType::MessageType_EthereumSignTxEIP1559,
        MessageType::MessageType_EthereumTxRequest,
        MessageType::MessageType_EthereumTxAck,
        MessageType::MessageType_EthereumSignMessage,
        MessageType::MessageType_EthereumVerifyMessage,
        MessageType::MessageType_EthereumMessageSignature,
        MessageType::MessageType_EthereumSignTypedData,
        MessageType::MessageType_EthereumTypedDataStructRequest,
        MessageType::MessageType_EthereumTypedDataStructAck,
        MessageType::MessageType_EthereumTypedDataValueRequest,
        MessageType::MessageType_EthereumTypedDataValueAck,
        MessageType::MessageType_EthereumTypedDataSignature,
        MessageType::MessageType_EthereumSignTypedHash,
        MessageType::MessageType_NEMGetAddress,
        MessageType::MessageType_NEMAddress,
        MessageType::MessageType_NEMSignTx,
        MessageType::MessageType_NEMSignedTx,
        MessageType::MessageType_NEMDecryptMessage,
        MessageType::MessageType_NEMDecryptedMessage,
        MessageType::MessageType_TezosGetAddress,
        MessageType::MessageType_TezosAddress,
        MessageType::MessageType_TezosSignTx,
        MessageType::MessageType_TezosSignedTx,
        MessageType::MessageType_TezosGetPublicKey,
        MessageType::MessageType_TezosPublicKey,
        MessageType::MessageType_StellarSignTx,
        MessageType::MessageType_StellarTxOpRequest,
        MessageType::MessageType_StellarGetAddress,
        MessageType::MessageType_StellarAddress,
        MessageType::MessageType_StellarCreateAccountOp,
        MessageType::MessageType_StellarPaymentOp,
        MessageType::MessageType_StellarPathPaymentStrictReceiveOp,
        MessageType::MessageType_StellarManageSellOfferOp,
        MessageType::MessageType_StellarCreatePassiveSellOfferOp,
        MessageType::MessageType_StellarSetOptionsOp,
        MessageType::MessageType_StellarChangeTrustOp,
        MessageType::MessageType_StellarAllowTrustOp,
        MessageType::MessageType_StellarAccountMergeOp,
        MessageType::MessageType_StellarManageDataOp,
        MessageType::MessageType_StellarBumpSequenceOp,
        MessageType::MessageType_StellarManageBuyOfferOp,
        MessageType::MessageType_StellarPathPaymentStrictSendOp,
        MessageType::MessageType_StellarClaimClaimableBalanceOp,
        MessageType::MessageType_StellarSignedTx,
        MessageType::MessageType_CardanoGetPublicKey,
        MessageType::MessageType_CardanoPublicKey,
        MessageType::MessageType_CardanoGetAddress,
        MessageType::MessageType_CardanoAddress,
        MessageType::MessageType_CardanoTxItemAck,
        MessageType::MessageType_CardanoTxAuxiliaryDataSupplement,
        MessageType::MessageType_CardanoTxWitnessRequest,
        MessageType::MessageType_CardanoTxWitnessResponse,
        MessageType::MessageType_CardanoTxHostAck,
        MessageType::MessageType_CardanoTxBodyHash,
        MessageType::MessageType_CardanoSignTxFinished,
        MessageType::MessageType_CardanoSignTxInit,
        MessageType::MessageType_CardanoTxInput,
        MessageType::MessageType_CardanoTxOutput,
        MessageType::MessageType_CardanoAssetGroup,
        MessageType::MessageType_CardanoToken,
        MessageType::MessageType_CardanoTxCertificate,
        MessageType::MessageType_CardanoTxWithdrawal,
        MessageType::MessageType_CardanoTxAuxiliaryData,
        MessageType::MessageType_CardanoPoolOwner,
        MessageType::MessageType_CardanoPoolRelayParameters,
        MessageType::MessageType_CardanoGetNativeScriptHash,
        MessageType::MessageType_CardanoNativeScriptHash,
        MessageType::MessageType_CardanoTxMint,
        MessageType::MessageType_CardanoTxCollateralInput,
        MessageType::MessageType_CardanoTxRequiredSigner,
        MessageType::MessageType_CardanoTxInlineDatumChunk,
        MessageType::MessageType_CardanoTxReferenceScriptChunk,
        MessageType::MessageType_CardanoTxReferenceInput,
        MessageType::MessageType_RippleGetAddress,
        MessageType::MessageType_RippleAddress,
        MessageType::MessageType_RippleSignTx,
        MessageType::MessageType_RippleSignedTx,
        MessageType::MessageType_MoneroTransactionInitRequest,
        MessageType::MessageType_MoneroTransactionInitAck,
        MessageType::MessageType_MoneroTransactionSetInputRequest,
        MessageType::MessageType_MoneroTransactionSetInputAck,
        MessageType::MessageType_MoneroTransactionInputViniRequest,
        MessageType::MessageType_MoneroTransactionInputViniAck,
        MessageType::MessageType_MoneroTransactionAllInputsSetRequest,
        MessageType::MessageType_MoneroTransactionAllInputsSetAck,
        MessageType::MessageType_MoneroTransactionSetOutputRequest,
        MessageType::MessageType_MoneroTransactionSetOutputAck,
        MessageType::MessageType_MoneroTransactionAllOutSetRequest,
        MessageType::MessageType_MoneroTransactionAllOutSetAck,
        MessageType::MessageType_MoneroTransactionSignInputRequest,
        MessageType::MessageType_MoneroTransactionSignInputAck,
        MessageType::MessageType_MoneroTransactionFinalRequest,
        MessageType::MessageType_MoneroTransactionFinalAck,
        MessageType::MessageType_MoneroKeyImageExportInitRequest,
        MessageType::MessageType_MoneroKeyImageExportInitAck,
        MessageType::MessageType_MoneroKeyImageSyncStepRequest,
        MessageType::MessageType_MoneroKeyImageSyncStepAck,
        MessageType::MessageType_MoneroKeyImageSyncFinalRequest,
        MessageType::MessageType_MoneroKeyImageSyncFinalAck,
        MessageType::MessageType_MoneroGetAddress,
        MessageType::MessageType_MoneroAddress,
        MessageType::MessageType_MoneroGetWatchKey,
        MessageType::MessageType_MoneroWatchKey,
        MessageType::MessageType_DebugMoneroDiagRequest,
        MessageType::MessageType_DebugMoneroDiagAck,
        MessageType::MessageType_MoneroGetTxKeyRequest,
        MessageType::MessageType_MoneroGetTxKeyAck,
        MessageType::MessageType_MoneroLiveRefreshStartRequest,
        MessageType::MessageType_MoneroLiveRefreshStartAck,
        MessageType::MessageType_MoneroLiveRefreshStepRequest,
        MessageType::MessageType_MoneroLiveRefreshStepAck,
        MessageType::MessageType_MoneroLiveRefreshFinalRequest,
        MessageType::MessageType_MoneroLiveRefreshFinalAck,
        MessageType::MessageType_EosGetPublicKey,
        MessageType::MessageType_EosPublicKey,
        MessageType::MessageType_EosSignTx,
        MessageType::MessageType_EosTxActionRequest,
        MessageType::MessageType_EosTxActionAck,
        MessageType::MessageType_EosSignedTx,
        MessageType::MessageType_BinanceGetAddress,
        MessageType::MessageType_BinanceAddress,
        MessageType::MessageType_BinanceGetPublicKey,
        MessageType::MessageType_BinancePublicKey,
        MessageType::MessageType_BinanceSignTx,
        MessageType::MessageType_BinanceTxRequest,
        MessageType::MessageType_BinanceTransferMsg,
        MessageType::MessageType_BinanceOrderMsg,
        MessageType::MessageType_BinanceCancelMsg,
        MessageType::MessageType_BinanceSignedTx,
        MessageType::MessageType_WebAuthnListResidentCredentials,
        MessageType::MessageType_WebAuthnCredentials,
        MessageType::MessageType_WebAuthnAddResidentCredential,
        MessageType::MessageType_WebAuthnRemoveResidentCredential,
        MessageType::MessageType_SolanaGetPublicKey,
        MessageType::MessageType_SolanaPublicKey,
        MessageType::MessageType_SolanaGetAddress,
        MessageType::MessageType_SolanaAddress,
        MessageType::MessageType_SolanaSignTx,
        MessageType::MessageType_SolanaTxSignature,
    ];
}

impl ::protobuf::EnumFull for MessageType {
    fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
        descriptor.get(|| file_descriptor().enum_by_package_relative_name("MessageType").unwrap()).clone()
    }

    fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
        let index = match self {
            MessageType::MessageType_Initialize => 0,
            MessageType::MessageType_Ping => 1,
            MessageType::MessageType_Success => 2,
            MessageType::MessageType_Failure => 3,
            MessageType::MessageType_ChangePin => 4,
            MessageType::MessageType_WipeDevice => 5,
            MessageType::MessageType_GetEntropy => 6,
            MessageType::MessageType_Entropy => 7,
            MessageType::MessageType_LoadDevice => 8,
            MessageType::MessageType_ResetDevice => 9,
            MessageType::MessageType_SetBusy => 10,
            MessageType::MessageType_Features => 11,
            MessageType::MessageType_PinMatrixRequest => 12,
            MessageType::MessageType_PinMatrixAck => 13,
            MessageType::MessageType_Cancel => 14,
            MessageType::MessageType_LockDevice => 15,
            MessageType::MessageType_ApplySettings => 16,
            MessageType::MessageType_ButtonRequest => 17,
            MessageType::MessageType_ButtonAck => 18,
            MessageType::MessageType_ApplyFlags => 19,
            MessageType::MessageType_GetNonce => 20,
            MessageType::MessageType_Nonce => 21,
            MessageType::MessageType_BackupDevice => 22,
            MessageType::MessageType_EntropyRequest => 23,
            MessageType::MessageType_EntropyAck => 24,
            MessageType::MessageType_PassphraseRequest => 25,
            MessageType::MessageType_PassphraseAck => 26,
            MessageType::MessageType_RecoveryDevice => 27,
            MessageType::MessageType_WordRequest => 28,
            MessageType::MessageType_WordAck => 29,
            MessageType::MessageType_GetFeatures => 30,
            MessageType::MessageType_SdProtect => 31,
            MessageType::MessageType_ChangeWipeCode => 32,
            MessageType::MessageType_EndSession => 33,
            MessageType::MessageType_DoPreauthorized => 34,
            MessageType::MessageType_PreauthorizedRequest => 35,
            MessageType::MessageType_CancelAuthorization => 36,
            MessageType::MessageType_RebootToBootloader => 37,
            MessageType::MessageType_GetFirmwareHash => 38,
            MessageType::MessageType_FirmwareHash => 39,
            MessageType::MessageType_UnlockPath => 40,
            MessageType::MessageType_UnlockedPathRequest => 41,
            MessageType::MessageType_ShowDeviceTutorial => 42,
            MessageType::MessageType_UnlockBootloader => 43,
            MessageType::MessageType_AuthenticateDevice => 44,
            MessageType::MessageType_AuthenticityProof => 45,
            MessageType::MessageType_SetU2FCounter => 46,
            MessageType::MessageType_GetNextU2FCounter => 47,
            MessageType::MessageType_NextU2FCounter => 48,
            MessageType::MessageType_Deprecated_PassphraseStateRequest => 49,
            MessageType::MessageType_Deprecated_PassphraseStateAck => 50,
            MessageType::MessageType_FirmwareErase => 51,
            MessageType::MessageType_FirmwareUpload => 52,
            MessageType::MessageType_FirmwareRequest => 53,
            MessageType::MessageType_SelfTest => 54,
            MessageType::MessageType_GetPublicKey => 55,
            MessageType::MessageType_PublicKey => 56,
            MessageType::MessageType_SignTx => 57,
            MessageType::MessageType_TxRequest => 58,
            MessageType::MessageType_TxAck => 59,
            MessageType::MessageType_GetAddress => 60,
            MessageType::MessageType_Address => 61,
            MessageType::MessageType_TxAckPaymentRequest => 62,
            MessageType::MessageType_SignMessage => 63,
            MessageType::MessageType_VerifyMessage => 64,
            MessageType::MessageType_MessageSignature => 65,
            MessageType::MessageType_GetOwnershipId => 66,
            MessageType::MessageType_OwnershipId => 67,
            MessageType::MessageType_GetOwnershipProof => 68,
            MessageType::MessageType_OwnershipProof => 69,
            MessageType::MessageType_AuthorizeCoinJoin => 70,
            MessageType::MessageType_CipherKeyValue => 71,
            MessageType::MessageType_CipheredKeyValue => 72,
            MessageType::MessageType_SignIdentity => 73,
            MessageType::MessageType_SignedIdentity => 74,
            MessageType::MessageType_GetECDHSessionKey => 75,
            MessageType::MessageType_ECDHSessionKey => 76,
            MessageType::MessageType_CosiCommit => 77,
            MessageType::MessageType_CosiCommitment => 78,
            MessageType::MessageType_CosiSign => 79,
            MessageType::MessageType_CosiSignature => 80,
            MessageType::MessageType_DebugLinkDecision => 81,
            MessageType::MessageType_DebugLinkGetState => 82,
            MessageType::MessageType_DebugLinkState => 83,
            MessageType::MessageType_DebugLinkStop => 84,
            MessageType::MessageType_DebugLinkLog => 85,
            MessageType::MessageType_DebugLinkMemoryRead => 86,
            MessageType::MessageType_DebugLinkMemory => 87,
            MessageType::MessageType_DebugLinkMemoryWrite => 88,
            MessageType::MessageType_DebugLinkFlashErase => 89,
            MessageType::MessageType_DebugLinkLayout => 90,
            MessageType::MessageType_DebugLinkReseedRandom => 91,
            MessageType::MessageType_DebugLinkRecordScreen => 92,
            MessageType::MessageType_DebugLinkEraseSdCard => 93,
            MessageType::MessageType_DebugLinkWatchLayout => 94,
            MessageType::MessageType_DebugLinkResetDebugEvents => 95,
            MessageType::MessageType_EthereumGetPublicKey => 96,
            MessageType::MessageType_EthereumPublicKey => 97,
            MessageType::MessageType_EthereumGetAddress => 98,
            MessageType::MessageType_EthereumAddress => 99,
            MessageType::MessageType_EthereumSignTx => 100,
            MessageType::MessageType_EthereumSignTxEIP1559 => 101,
            MessageType::MessageType_EthereumTxRequest => 102,
            MessageType::MessageType_EthereumTxAck => 103,
            MessageType::MessageType_EthereumSignMessage => 104,
            MessageType::MessageType_EthereumVerifyMessage => 105,
            MessageType::MessageType_EthereumMessageSignature => 106,
            MessageType::MessageType_EthereumSignTypedData => 107,
            MessageType::MessageType_EthereumTypedDataStructRequest => 108,
            MessageType::MessageType_EthereumTypedDataStructAck => 109,
            MessageType::MessageType_EthereumTypedDataValueRequest => 110,
            MessageType::MessageType_EthereumTypedDataValueAck => 111,
            MessageType::MessageType_EthereumTypedDataSignature => 112,
            MessageType::MessageType_EthereumSignTypedHash => 113,
            MessageType::MessageType_NEMGetAddress => 114,
            MessageType::MessageType_NEMAddress => 115,
            MessageType::MessageType_NEMSignTx => 116,
            MessageType::MessageType_NEMSignedTx => 117,
            MessageType::MessageType_NEMDecryptMessage => 118,
            MessageType::MessageType_NEMDecryptedMessage => 119,
            MessageType::MessageType_TezosGetAddress => 120,
            MessageType::MessageType_TezosAddress => 121,
            MessageType::MessageType_TezosSignTx => 122,
            MessageType::MessageType_TezosSignedTx => 123,
            MessageType::MessageType_TezosGetPublicKey => 124,
            MessageType::MessageType_TezosPublicKey => 125,
            MessageType::MessageType_StellarSignTx => 126,
            MessageType::MessageType_StellarTxOpRequest => 127,
            MessageType::MessageType_StellarGetAddress => 128,
            MessageType::MessageType_StellarAddress => 129,
            MessageType::MessageType_StellarCreateAccountOp => 130,
            MessageType::MessageType_StellarPaymentOp => 131,
            MessageType::MessageType_StellarPathPaymentStrictReceiveOp => 132,
            MessageType::MessageType_StellarManageSellOfferOp => 133,
            MessageType::MessageType_StellarCreatePassiveSellOfferOp => 134,
            MessageType::MessageType_StellarSetOptionsOp => 135,
            MessageType::MessageType_StellarChangeTrustOp => 136,
            MessageType::MessageType_StellarAllowTrustOp => 137,
            MessageType::MessageType_StellarAccountMergeOp => 138,
            MessageType::MessageType_StellarManageDataOp => 139,
            MessageType::MessageType_StellarBumpSequenceOp => 140,
            MessageType::MessageType_StellarManageBuyOfferOp => 141,
            MessageType::MessageType_StellarPathPaymentStrictSendOp => 142,
            MessageType::MessageType_StellarClaimClaimableBalanceOp => 143,
            MessageType::MessageType_StellarSignedTx => 144,
            MessageType::MessageType_CardanoGetPublicKey => 145,
            MessageType::MessageType_CardanoPublicKey => 146,
            MessageType::MessageType_CardanoGetAddress => 147,
            MessageType::MessageType_CardanoAddress => 148,
            MessageType::MessageType_CardanoTxItemAck => 149,
            MessageType::MessageType_CardanoTxAuxiliaryDataSupplement => 150,
            MessageType::MessageType_CardanoTxWitnessRequest => 151,
            MessageType::MessageType_CardanoTxWitnessResponse => 152,
            MessageType::MessageType_CardanoTxHostAck => 153,
            MessageType::MessageType_CardanoTxBodyHash => 154,
            MessageType::MessageType_CardanoSignTxFinished => 155,
            MessageType::MessageType_CardanoSignTxInit => 156,
            MessageType::MessageType_CardanoTxInput => 157,
            MessageType::MessageType_CardanoTxOutput => 158,
            MessageType::MessageType_CardanoAssetGroup => 159,
            MessageType::MessageType_CardanoToken => 160,
            MessageType::MessageType_CardanoTxCertificate => 161,
            MessageType::MessageType_CardanoTxWithdrawal => 162,
            MessageType::MessageType_CardanoTxAuxiliaryData => 163,
            MessageType::MessageType_CardanoPoolOwner => 164,
            MessageType::MessageType_CardanoPoolRelayParameters => 165,
            MessageType::MessageType_CardanoGetNativeScriptHash => 166,
            MessageType::MessageType_CardanoNativeScriptHash => 167,
            MessageType::MessageType_CardanoTxMint => 168,
            MessageType::MessageType_CardanoTxCollateralInput => 169,
            MessageType::MessageType_CardanoTxRequiredSigner => 170,
            MessageType::MessageType_CardanoTxInlineDatumChunk => 171,
            MessageType::MessageType_CardanoTxReferenceScriptChunk => 172,
            MessageType::MessageType_CardanoTxReferenceInput => 173,
            MessageType::MessageType_RippleGetAddress => 174,
            MessageType::MessageType_RippleAddress => 175,
            MessageType::MessageType_RippleSignTx => 176,
            MessageType::MessageType_RippleSignedTx => 177,
            MessageType::MessageType_MoneroTransactionInitRequest => 178,
            MessageType::MessageType_MoneroTransactionInitAck => 179,
            MessageType::MessageType_MoneroTransactionSetInputRequest => 180,
            MessageType::MessageType_MoneroTransactionSetInputAck => 181,
            MessageType::MessageType_MoneroTransactionInputViniRequest => 182,
            MessageType::MessageType_MoneroTransactionInputViniAck => 183,
            MessageType::MessageType_MoneroTransactionAllInputsSetRequest => 184,
            MessageType::MessageType_MoneroTransactionAllInputsSetAck => 185,
            MessageType::MessageType_MoneroTransactionSetOutputRequest => 186,
            MessageType::MessageType_MoneroTransactionSetOutputAck => 187,
            MessageType::MessageType_MoneroTransactionAllOutSetRequest => 188,
            MessageType::MessageType_MoneroTransactionAllOutSetAck => 189,
            MessageType::MessageType_MoneroTransactionSignInputRequest => 190,
            MessageType::MessageType_MoneroTransactionSignInputAck => 191,
            MessageType::MessageType_MoneroTransactionFinalRequest => 192,
            MessageType::MessageType_MoneroTransactionFinalAck => 193,
            MessageType::MessageType_MoneroKeyImageExportInitRequest => 194,
            MessageType::MessageType_MoneroKeyImageExportInitAck => 195,
            MessageType::MessageType_MoneroKeyImageSyncStepRequest => 196,
            MessageType::MessageType_MoneroKeyImageSyncStepAck => 197,
            MessageType::MessageType_MoneroKeyImageSyncFinalRequest => 198,
            MessageType::MessageType_MoneroKeyImageSyncFinalAck => 199,
            MessageType::MessageType_MoneroGetAddress => 200,
            MessageType::MessageType_MoneroAddress => 201,
            MessageType::MessageType_MoneroGetWatchKey => 202,
            MessageType::MessageType_MoneroWatchKey => 203,
            MessageType::MessageType_DebugMoneroDiagRequest => 204,
            MessageType::MessageType_DebugMoneroDiagAck => 205,
            MessageType::MessageType_MoneroGetTxKeyRequest => 206,
            MessageType::MessageType_MoneroGetTxKeyAck => 207,
            MessageType::MessageType_MoneroLiveRefreshStartRequest => 208,
            MessageType::MessageType_MoneroLiveRefreshStartAck => 209,
            MessageType::MessageType_MoneroLiveRefreshStepRequest => 210,
            MessageType::MessageType_MoneroLiveRefreshStepAck => 211,
            MessageType::MessageType_MoneroLiveRefreshFinalRequest => 212,
            MessageType::MessageType_MoneroLiveRefreshFinalAck => 213,
            MessageType::MessageType_EosGetPublicKey => 214,
            MessageType::MessageType_EosPublicKey => 215,
            MessageType::MessageType_EosSignTx => 216,
            MessageType::MessageType_EosTxActionRequest => 217,
            MessageType::MessageType_EosTxActionAck => 218,
            MessageType::MessageType_EosSignedTx => 219,
            MessageType::MessageType_BinanceGetAddress => 220,
            MessageType::MessageType_BinanceAddress => 221,
            MessageType::MessageType_BinanceGetPublicKey => 222,
            MessageType::MessageType_BinancePublicKey => 223,
            MessageType::MessageType_BinanceSignTx => 224,
            MessageType::MessageType_BinanceTxRequest => 225,
            MessageType::MessageType_BinanceTransferMsg => 226,
            MessageType::MessageType_BinanceOrderMsg => 227,
            MessageType::MessageType_BinanceCancelMsg => 228,
            MessageType::MessageType_BinanceSignedTx => 229,
            MessageType::MessageType_WebAuthnListResidentCredentials => 230,
            MessageType::MessageType_WebAuthnCredentials => 231,
            MessageType::MessageType_WebAuthnAddResidentCredential => 232,
            MessageType::MessageType_WebAuthnRemoveResidentCredential => 233,
            MessageType::MessageType_SolanaGetPublicKey => 234,
            MessageType::MessageType_SolanaPublicKey => 235,
            MessageType::MessageType_SolanaGetAddress => 236,
            MessageType::MessageType_SolanaAddress => 237,
            MessageType::MessageType_SolanaSignTx => 238,
            MessageType::MessageType_SolanaTxSignature => 239,
        };
        Self::enum_descriptor().value_by_index(index)
    }
}

impl ::std::default::Default for MessageType {
    fn default() -> Self {
        MessageType::MessageType_Initialize
    }
}

impl MessageType {
    fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
        ::protobuf::reflect::GeneratedEnumDescriptorData::new::<MessageType>("MessageType")
    }
}

/// Extension fields
pub mod exts {

    pub const wire_in: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50002, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL);

    pub const wire_out: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50003, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL);

    pub const wire_debug_in: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50004, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL);

    pub const wire_debug_out: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50005, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL);

    pub const wire_tiny: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50006, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL);

    pub const wire_bootloader: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50007, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL);

    pub const wire_no_fsm: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50008, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL);

    pub const bitcoin_only: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(60000, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL);

    pub const has_bitcoin_only_values: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(51001, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL);

    pub const experimental_message: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::MessageOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(52001, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL);

    pub const wire_type: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::MessageOptions, u32> = ::protobuf::ext::ExtFieldOptional::new(52002, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_UINT32);

    pub const experimental_field: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::FieldOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(53001, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL);

    pub const include_in_bitcoin_only: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::FileOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(60000, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL);
}

static file_descriptor_proto_data: &'static [u8] = b"\
    \n\x0emessages.proto\x12\x12hw.trezor.messages\x1a\x20google/protobuf/de\
    scriptor.proto*\x8bS\n\x0bMessageType\x12(\n\x16MessageType_Initialize\
    \x10\0\x1a\x0c\x80\xa6\x1d\x01\xb0\xb5\x18\x01\x90\xb5\x18\x01\x12\x1e\n\
    \x10MessageType_Ping\x10\x01\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12\
    %\n\x13MessageType_Success\x10\x02\x1a\x0c\x80\xa6\x1d\x01\xa8\xb5\x18\
    \x01\x98\xb5\x18\x01\x12%\n\x13MessageType_Failure\x10\x03\x1a\x0c\x80\
    \xa6\x1d\x01\xa8\xb5\x18\x01\x98\xb5\x18\x01\x12#\n\x15MessageType_Chang\
    ePin\x10\x04\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16MessageTy\
    pe_WipeDevice\x10\x05\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16\
    MessageType_GetEntropy\x10\t\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12\
    !\n\x13MessageType_Entropy\x10\n\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\
    \x12$\n\x16MessageType_LoadDevice\x10\r\x1a\x08\x80\xa6\x1d\x01\x90\xb5\
    \x18\x01\x12%\n\x17MessageType_ResetDevice\x10\x0e\x1a\x08\x80\xa6\x1d\
    \x01\x90\xb5\x18\x01\x12!\n\x13MessageType_SetBusy\x10\x10\x1a\x08\x80\
    \xa6\x1d\x01\x90\xb5\x18\x01\x12\"\n\x14MessageType_Features\x10\x11\x1a\
    \x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12*\n\x1cMessageType_PinMatrixRequ\
    est\x10\x12\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12.\n\x18MessageTyp\
    e_PinMatrixAck\x10\x13\x1a\x10\xc0\xb5\x18\x01\xb0\xb5\x18\x01\x80\xa6\
    \x1d\x01\x90\xb5\x18\x01\x12$\n\x12MessageType_Cancel\x10\x14\x1a\x0c\
    \x80\xa6\x1d\x01\xb0\xb5\x18\x01\x90\xb5\x18\x01\x12$\n\x16MessageType_L\
    ockDevice\x10\x18\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12'\n\x19Mess\
    ageType_ApplySettings\x10\x19\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\
    \x12'\n\x19MessageType_ButtonRequest\x10\x1a\x1a\x08\x80\xa6\x1d\x01\x98\
    \xb5\x18\x01\x12+\n\x15MessageType_ButtonAck\x10\x1b\x1a\x10\xc0\xb5\x18\
    \x01\xb0\xb5\x18\x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16MessageTy\
    pe_ApplyFlags\x10\x1c\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12\"\n\
    \x14MessageType_GetNonce\x10\x1f\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\
    \x12\x1f\n\x11MessageType_Nonce\x10!\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\
    \x01\x12&\n\x18MessageType_BackupDevice\x10\"\x1a\x08\x80\xa6\x1d\x01\
    \x90\xb5\x18\x01\x12(\n\x1aMessageType_EntropyRequest\x10#\x1a\x08\x80\
    \xa6\x1d\x01\x98\xb5\x18\x01\x12$\n\x16MessageType_EntropyAck\x10$\x1a\
    \x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12+\n\x1dMessageType_PassphraseReq\
    uest\x10)\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12/\n\x19MessageType_\
    PassphraseAck\x10*\x1a\x10\xc0\xb5\x18\x01\xb0\xb5\x18\x01\x80\xa6\x1d\
    \x01\x90\xb5\x18\x01\x12(\n\x1aMessageType_RecoveryDevice\x10-\x1a\x08\
    \x80\xa6\x1d\x01\x90\xb5\x18\x01\x12%\n\x17MessageType_WordRequest\x10.\
    \x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12!\n\x13MessageType_WordAck\
    \x10/\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12%\n\x17MessageType_GetF\
    eatures\x107\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12#\n\x15MessageTy\
    pe_SdProtect\x10O\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMess\
    ageType_ChangeWipeCode\x10R\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\
    \n\x16MessageType_EndSession\x10S\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\
    \x01\x12)\n\x1bMessageType_DoPreauthorized\x10T\x1a\x08\x80\xa6\x1d\x01\
    \x90\xb5\x18\x01\x12.\n\x20MessageType_PreauthorizedRequest\x10U\x1a\x08\
    \x80\xa6\x1d\x01\x98\xb5\x18\x01\x12-\n\x1fMessageType_CancelAuthorizati\
    on\x10V\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12,\n\x1eMessageType_Re\
    bootToBootloader\x10W\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12)\n\x1b\
    MessageType_GetFirmwareHash\x10X\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\
    \x12&\n\x18MessageType_FirmwareHash\x10Y\x1a\x08\x80\xa6\x1d\x01\x98\xb5\
    \x18\x01\x12$\n\x16MessageType_UnlockPath\x10]\x1a\x08\x80\xa6\x1d\x01\
    \x90\xb5\x18\x01\x12-\n\x1fMessageType_UnlockedPathRequest\x10^\x1a\x08\
    \x80\xa6\x1d\x01\x98\xb5\x18\x01\x12,\n\x1eMessageType_ShowDeviceTutoria\
    l\x10_\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12*\n\x1cMessageType_Unl\
    ockBootloader\x10`\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12,\n\x1eMes\
    sageType_AuthenticateDevice\x10a\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\
    \x12+\n\x1dMessageType_AuthenticityProof\x10b\x1a\x08\x80\xa6\x1d\x01\
    \x90\xb5\x18\x01\x12#\n\x19MessageType_SetU2FCounter\x10?\x1a\x04\x90\
    \xb5\x18\x01\x12'\n\x1dMessageType_GetNextU2FCounter\x10P\x1a\x04\x90\
    \xb5\x18\x01\x12$\n\x1aMessageType_NextU2FCounter\x10Q\x1a\x04\x98\xb5\
    \x18\x01\x125\n-MessageType_Deprecated_PassphraseStateRequest\x10M\x1a\
    \x02\x08\x01\x121\n)MessageType_Deprecated_PassphraseStateAck\x10N\x1a\
    \x02\x08\x01\x12+\n\x19MessageType_FirmwareErase\x10\x06\x1a\x0c\xb8\xb5\
    \x18\x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12,\n\x1aMessageType_FirmwareU\
    pload\x10\x07\x1a\x0c\xb8\xb5\x18\x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\
    \x12-\n\x1bMessageType_FirmwareRequest\x10\x08\x1a\x0c\xb8\xb5\x18\x01\
    \x80\xa6\x1d\x01\x98\xb5\x18\x01\x12&\n\x14MessageType_SelfTest\x10\x20\
    \x1a\x0c\xb8\xb5\x18\x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12&\n\x18Messa\
    geType_GetPublicKey\x10\x0b\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12#\
    \n\x15MessageType_PublicKey\x10\x0c\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\
    \x01\x12\x20\n\x12MessageType_SignTx\x10\x0f\x1a\x08\x80\xa6\x1d\x01\x90\
    \xb5\x18\x01\x12#\n\x15MessageType_TxRequest\x10\x15\x1a\x08\x80\xa6\x1d\
    \x01\x98\xb5\x18\x01\x12\x1f\n\x11MessageType_TxAck\x10\x16\x1a\x08\x80\
    \xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16MessageType_GetAddress\x10\x1d\
    \x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12!\n\x13MessageType_Address\
    \x10\x1e\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12)\n\x1fMessageType_T\
    xAckPaymentRequest\x10%\x1a\x04\x90\xb5\x18\x01\x12%\n\x17MessageType_Si\
    gnMessage\x10&\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12'\n\x19Message\
    Type_VerifyMessage\x10'\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12*\n\
    \x1cMessageType_MessageSignature\x10(\x1a\x08\x80\xa6\x1d\x01\x98\xb5\
    \x18\x01\x12(\n\x1aMessageType_GetOwnershipId\x10+\x1a\x08\x80\xa6\x1d\
    \x01\x90\xb5\x18\x01\x12%\n\x17MessageType_OwnershipId\x10,\x1a\x08\x80\
    \xa6\x1d\x01\x98\xb5\x18\x01\x12+\n\x1dMessageType_GetOwnershipProof\x10\
    1\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMessageType_Ownershi\
    pProof\x102\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12+\n\x1dMessageTyp\
    e_AuthorizeCoinJoin\x103\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\
    \x1aMessageType_CipherKeyValue\x10\x17\x1a\x08\x80\xa6\x1d\x01\x90\xb5\
    \x18\x01\x12*\n\x1cMessageType_CipheredKeyValue\x100\x1a\x08\x80\xa6\x1d\
    \x01\x98\xb5\x18\x01\x12&\n\x18MessageType_SignIdentity\x105\x1a\x08\x80\
    \xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMessageType_SignedIdentity\x106\
    \x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12+\n\x1dMessageType_GetECDHSe\
    ssionKey\x10=\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMessageT\
    ype_ECDHSessionKey\x10>\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12$\n\
    \x16MessageType_CosiCommit\x10G\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\
    \x12(\n\x1aMessageType_CosiCommitment\x10H\x1a\x08\x80\xa6\x1d\x01\x98\
    \xb5\x18\x01\x12\"\n\x14MessageType_CosiSign\x10I\x1a\x08\x80\xa6\x1d\
    \x01\x90\xb5\x18\x01\x12'\n\x19MessageType_CosiSignature\x10J\x1a\x08\
    \x80\xa6\x1d\x01\x98\xb5\x18\x01\x123\n\x1dMessageType_DebugLinkDecision\
    \x10d\x1a\x10\xc0\xb5\x18\x01\xb0\xb5\x18\x01\x80\xa6\x1d\x01\xa0\xb5\
    \x18\x01\x12/\n\x1dMessageType_DebugLinkGetState\x10e\x1a\x0c\x80\xa6\
    \x1d\x01\xb0\xb5\x18\x01\xa0\xb5\x18\x01\x12(\n\x1aMessageType_DebugLink\
    State\x10f\x1a\x08\x80\xa6\x1d\x01\xa8\xb5\x18\x01\x12'\n\x19MessageType\
    _DebugLinkStop\x10g\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12&\n\x18Me\
    ssageType_DebugLinkLog\x10h\x1a\x08\x80\xa6\x1d\x01\xa8\xb5\x18\x01\x12-\
    \n\x1fMessageType_DebugLinkMemoryRead\x10n\x1a\x08\x80\xa6\x1d\x01\xa0\
    \xb5\x18\x01\x12)\n\x1bMessageType_DebugLinkMemory\x10o\x1a\x08\x80\xa6\
    \x1d\x01\xa8\xb5\x18\x01\x12.\n\x20MessageType_DebugLinkMemoryWrite\x10p\
    \x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12-\n\x1fMessageType_DebugLink\
    FlashErase\x10q\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12*\n\x1bMessag\
    eType_DebugLinkLayout\x10\xa9F\x1a\x08\x80\xa6\x1d\x01\xa8\xb5\x18\x01\
    \x120\n!MessageType_DebugLinkReseedRandom\x10\xaaF\x1a\x08\x80\xa6\x1d\
    \x01\xa0\xb5\x18\x01\x120\n!MessageType_DebugLinkRecordScreen\x10\xabF\
    \x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12/\n\x20MessageType_DebugLink\
    EraseSdCard\x10\xadF\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12/\n\x20M\
    essageType_DebugLinkWatchLayout\x10\xaeF\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\
    \x18\x01\x124\n%MessageType_DebugLinkResetDebugEvents\x10\xafF\x1a\x08\
    \x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12+\n\x20MessageType_EthereumGetPublic\
    Key\x10\xc2\x03\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_EthereumPu\
    blicKey\x10\xc3\x03\x1a\x04\x98\xb5\x18\x01\x12(\n\x1eMessageType_Ethere\
    umGetAddress\x108\x1a\x04\x90\xb5\x18\x01\x12%\n\x1bMessageType_Ethereum\
    Address\x109\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EthereumSignT\
    x\x10:\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageType_EthereumSignTxEIP1559\
    \x10\xc4\x03\x1a\x04\x90\xb5\x18\x01\x12'\n\x1dMessageType_EthereumTxReq\
    uest\x10;\x1a\x04\x98\xb5\x18\x01\x12#\n\x19MessageType_EthereumTxAck\
    \x10<\x1a\x04\x90\xb5\x18\x01\x12)\n\x1fMessageType_EthereumSignMessage\
    \x10@\x1a\x04\x90\xb5\x18\x01\x12+\n!MessageType_EthereumVerifyMessage\
    \x10A\x1a\x04\x90\xb5\x18\x01\x12.\n$MessageType_EthereumMessageSignatur\
    e\x10B\x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_EthereumSignTypedData\
    \x10\xd0\x03\x1a\x04\x90\xb5\x18\x01\x125\n*MessageType_EthereumTypedDat\
    aStructRequest\x10\xd1\x03\x1a\x04\x98\xb5\x18\x01\x121\n&MessageType_Et\
    hereumTypedDataStructAck\x10\xd2\x03\x1a\x04\x90\xb5\x18\x01\x124\n)Mess\
    ageType_EthereumTypedDataValueRequest\x10\xd3\x03\x1a\x04\x98\xb5\x18\
    \x01\x120\n%MessageType_EthereumTypedDataValueAck\x10\xd4\x03\x1a\x04\
    \x90\xb5\x18\x01\x121\n&MessageType_EthereumTypedDataSignature\x10\xd5\
    \x03\x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_EthereumSignTypedHash\
    \x10\xd6\x03\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_NEMGetAddress\
    \x10C\x1a\x04\x90\xb5\x18\x01\x12\x20\n\x16MessageType_NEMAddress\x10D\
    \x1a\x04\x98\xb5\x18\x01\x12\x1f\n\x15MessageType_NEMSignTx\x10E\x1a\x04\
    \x90\xb5\x18\x01\x12!\n\x17MessageType_NEMSignedTx\x10F\x1a\x04\x98\xb5\
    \x18\x01\x12'\n\x1dMessageType_NEMDecryptMessage\x10K\x1a\x04\x90\xb5\
    \x18\x01\x12)\n\x1fMessageType_NEMDecryptedMessage\x10L\x1a\x04\x98\xb5\
    \x18\x01\x12&\n\x1bMessageType_TezosGetAddress\x10\x96\x01\x1a\x04\x90\
    \xb5\x18\x01\x12#\n\x18MessageType_TezosAddress\x10\x97\x01\x1a\x04\x98\
    \xb5\x18\x01\x12\"\n\x17MessageType_TezosSignTx\x10\x98\x01\x1a\x04\x90\
    \xb5\x18\x01\x12$\n\x19MessageType_TezosSignedTx\x10\x99\x01\x1a\x04\x98\
    \xb5\x18\x01\x12(\n\x1dMessageType_TezosGetPublicKey\x10\x9a\x01\x1a\x04\
    \x90\xb5\x18\x01\x12%\n\x1aMessageType_TezosPublicKey\x10\x9b\x01\x1a\
    \x04\x98\xb5\x18\x01\x12$\n\x19MessageType_StellarSignTx\x10\xca\x01\x1a\
    \x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_StellarTxOpRequest\x10\xcb\
    \x01\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_StellarGetAddress\x10\
    \xcf\x01\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_StellarAddress\
    \x10\xd0\x01\x1a\x04\x98\xb5\x18\x01\x12-\n\"MessageType_StellarCreateAc\
    countOp\x10\xd2\x01\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_Stella\
    rPaymentOp\x10\xd3\x01\x1a\x04\x90\xb5\x18\x01\x128\n-MessageType_Stella\
    rPathPaymentStrictReceiveOp\x10\xd4\x01\x1a\x04\x90\xb5\x18\x01\x12/\n$M\
    essageType_StellarManageSellOfferOp\x10\xd5\x01\x1a\x04\x90\xb5\x18\x01\
    \x126\n+MessageType_StellarCreatePassiveSellOfferOp\x10\xd6\x01\x1a\x04\
    \x90\xb5\x18\x01\x12*\n\x1fMessageType_StellarSetOptionsOp\x10\xd7\x01\
    \x1a\x04\x90\xb5\x18\x01\x12+\n\x20MessageType_StellarChangeTrustOp\x10\
    \xd8\x01\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_StellarAllowTrust\
    Op\x10\xd9\x01\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageType_StellarAccount\
    MergeOp\x10\xda\x01\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_Stella\
    rManageDataOp\x10\xdc\x01\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageType_Ste\
    llarBumpSequenceOp\x10\xdd\x01\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageTyp\
    e_StellarManageBuyOfferOp\x10\xde\x01\x1a\x04\x90\xb5\x18\x01\x125\n*Mes\
    sageType_StellarPathPaymentStrictSendOp\x10\xdf\x01\x1a\x04\x90\xb5\x18\
    \x01\x125\n*MessageType_StellarClaimClaimableBalanceOp\x10\xe1\x01\x1a\
    \x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_StellarSignedTx\x10\xe6\x01\
    \x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_CardanoGetPublicKey\x10\
    \xb1\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_CardanoPublicKey\
    \x10\xb2\x02\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CardanoGetAdd\
    ress\x10\xb3\x02\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CardanoAd\
    dress\x10\xb4\x02\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_CardanoT\
    xItemAck\x10\xb9\x02\x1a\x04\x98\xb5\x18\x01\x127\n,MessageType_CardanoT\
    xAuxiliaryDataSupplement\x10\xba\x02\x1a\x04\x98\xb5\x18\x01\x12.\n#Mess\
    ageType_CardanoTxWitnessRequest\x10\xbb\x02\x1a\x04\x90\xb5\x18\x01\x12/\
    \n$MessageType_CardanoTxWitnessResponse\x10\xbc\x02\x1a\x04\x98\xb5\x18\
    \x01\x12'\n\x1cMessageType_CardanoTxHostAck\x10\xbd\x02\x1a\x04\x90\xb5\
    \x18\x01\x12(\n\x1dMessageType_CardanoTxBodyHash\x10\xbe\x02\x1a\x04\x98\
    \xb5\x18\x01\x12,\n!MessageType_CardanoSignTxFinished\x10\xbf\x02\x1a\
    \x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CardanoSignTxInit\x10\xc0\x02\
    \x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CardanoTxInput\x10\xc1\
    \x02\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_CardanoTxOutput\x10\
    \xc2\x02\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_CardanoAssetGroup\
    \x10\xc3\x02\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_CardanoToken\
    \x10\xc4\x02\x1a\x04\x90\xb5\x18\x01\x12+\n\x20MessageType_CardanoTxCert\
    ificate\x10\xc5\x02\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_Cardan\
    oTxWithdrawal\x10\xc6\x02\x1a\x04\x90\xb5\x18\x01\x12-\n\"MessageType_Ca\
    rdanoTxAuxiliaryData\x10\xc7\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessa\
    geType_CardanoPoolOwner\x10\xc8\x02\x1a\x04\x90\xb5\x18\x01\x121\n&Messa\
    geType_CardanoPoolRelayParameters\x10\xc9\x02\x1a\x04\x90\xb5\x18\x01\
    \x121\n&MessageType_CardanoGetNativeScriptHash\x10\xca\x02\x1a\x04\x90\
    \xb5\x18\x01\x12.\n#MessageType_CardanoNativeScriptHash\x10\xcb\x02\x1a\
    \x04\x98\xb5\x18\x01\x12$\n\x19MessageType_CardanoTxMint\x10\xcc\x02\x1a\
    \x04\x90\xb5\x18\x01\x12/\n$MessageType_CardanoTxCollateralInput\x10\xcd\
    \x02\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_CardanoTxRequiredSigner\
    \x10\xce\x02\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_CardanoTxInlineD\
    atumChunk\x10\xcf\x02\x1a\x04\x90\xb5\x18\x01\x124\n)MessageType_Cardano\
    TxReferenceScriptChunk\x10\xd0\x02\x1a\x04\x90\xb5\x18\x01\x12.\n#Messag\
    eType_CardanoTxReferenceInput\x10\xd1\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\
    \x1cMessageType_RippleGetAddress\x10\x90\x03\x1a\x04\x90\xb5\x18\x01\x12\
    $\n\x19MessageType_RippleAddress\x10\x91\x03\x1a\x04\x98\xb5\x18\x01\x12\
    #\n\x18MessageType_RippleSignTx\x10\x92\x03\x1a\x04\x90\xb5\x18\x01\x12%\
    \n\x1aMessageType_RippleSignedTx\x10\x93\x03\x1a\x04\x90\xb5\x18\x01\x12\
    3\n(MessageType_MoneroTransactionInitRequest\x10\xf5\x03\x1a\x04\x98\xb5\
    \x18\x01\x12/\n$MessageType_MoneroTransactionInitAck\x10\xf6\x03\x1a\x04\
    \x98\xb5\x18\x01\x127\n,MessageType_MoneroTransactionSetInputRequest\x10\
    \xf7\x03\x1a\x04\x98\xb5\x18\x01\x123\n(MessageType_MoneroTransactionSet\
    InputAck\x10\xf8\x03\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTr\
    ansactionInputViniRequest\x10\xfb\x03\x1a\x04\x98\xb5\x18\x01\x124\n)Mes\
    sageType_MoneroTransactionInputViniAck\x10\xfc\x03\x1a\x04\x98\xb5\x18\
    \x01\x12;\n0MessageType_MoneroTransactionAllInputsSetRequest\x10\xfd\x03\
    \x1a\x04\x98\xb5\x18\x01\x127\n,MessageType_MoneroTransactionAllInputsSe\
    tAck\x10\xfe\x03\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTransa\
    ctionSetOutputRequest\x10\xff\x03\x1a\x04\x98\xb5\x18\x01\x124\n)Message\
    Type_MoneroTransactionSetOutputAck\x10\x80\x04\x1a\x04\x98\xb5\x18\x01\
    \x128\n-MessageType_MoneroTransactionAllOutSetRequest\x10\x81\x04\x1a\
    \x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroTransactionAllOutSetAck\
    \x10\x82\x04\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTransactio\
    nSignInputRequest\x10\x83\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType\
    _MoneroTransactionSignInputAck\x10\x84\x04\x1a\x04\x98\xb5\x18\x01\x124\
    \n)MessageType_MoneroTransactionFinalRequest\x10\x85\x04\x1a\x04\x98\xb5\
    \x18\x01\x120\n%MessageType_MoneroTransactionFinalAck\x10\x86\x04\x1a\
    \x04\x98\xb5\x18\x01\x126\n+MessageType_MoneroKeyImageExportInitRequest\
    \x10\x92\x04\x1a\x04\x98\xb5\x18\x01\x122\n'MessageType_MoneroKeyImageEx\
    portInitAck\x10\x93\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_Moner\
    oKeyImageSyncStepRequest\x10\x94\x04\x1a\x04\x98\xb5\x18\x01\x120\n%Mess\
    ageType_MoneroKeyImageSyncStepAck\x10\x95\x04\x1a\x04\x98\xb5\x18\x01\
    \x125\n*MessageType_MoneroKeyImageSyncFinalRequest\x10\x96\x04\x1a\x04\
    \x98\xb5\x18\x01\x121\n&MessageType_MoneroKeyImageSyncFinalAck\x10\x97\
    \x04\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_MoneroGetAddress\x10\
    \x9c\x04\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_MoneroAddress\x10\
    \x9d\x04\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_MoneroGetWatchKey\
    \x10\x9e\x04\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_MoneroWatchKe\
    y\x10\x9f\x04\x1a\x04\x98\xb5\x18\x01\x12-\n\"MessageType_DebugMoneroDia\
    gRequest\x10\xa2\x04\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_Debug\
    MoneroDiagAck\x10\xa3\x04\x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_Mon\
    eroGetTxKeyRequest\x10\xa6\x04\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessage\
    Type_MoneroGetTxKeyAck\x10\xa7\x04\x1a\x04\x98\xb5\x18\x01\x124\n)Messag\
    eType_MoneroLiveRefreshStartRequest\x10\xa8\x04\x1a\x04\x90\xb5\x18\x01\
    \x120\n%MessageType_MoneroLiveRefreshStartAck\x10\xa9\x04\x1a\x04\x98\
    \xb5\x18\x01\x123\n(MessageType_MoneroLiveRefreshStepRequest\x10\xaa\x04\
    \x1a\x04\x90\xb5\x18\x01\x12/\n$MessageType_MoneroLiveRefreshStepAck\x10\
    \xab\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroLiveRefreshFin\
    alRequest\x10\xac\x04\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_MoneroL\
    iveRefreshFinalAck\x10\xad\x04\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessage\
    Type_EosGetPublicKey\x10\xd8\x04\x1a\x04\x90\xb5\x18\x01\x12#\n\x18Messa\
    geType_EosPublicKey\x10\xd9\x04\x1a\x04\x98\xb5\x18\x01\x12\x20\n\x15Mes\
    sageType_EosSignTx\x10\xda\x04\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessage\
    Type_EosTxActionRequest\x10\xdb\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMe\
    ssageType_EosTxActionAck\x10\xdc\x04\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17\
    MessageType_EosSignedTx\x10\xdd\x04\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMe\
    ssageType_BinanceGetAddress\x10\xbc\x05\x1a\x04\x90\xb5\x18\x01\x12%\n\
    \x1aMessageType_BinanceAddress\x10\xbd\x05\x1a\x04\x98\xb5\x18\x01\x12*\
    \n\x1fMessageType_BinanceGetPublicKey\x10\xbe\x05\x1a\x04\x90\xb5\x18\
    \x01\x12'\n\x1cMessageType_BinancePublicKey\x10\xbf\x05\x1a\x04\x98\xb5\
    \x18\x01\x12$\n\x19MessageType_BinanceSignTx\x10\xc0\x05\x1a\x04\x90\xb5\
    \x18\x01\x12'\n\x1cMessageType_BinanceTxRequest\x10\xc1\x05\x1a\x04\x98\
    \xb5\x18\x01\x12)\n\x1eMessageType_BinanceTransferMsg\x10\xc2\x05\x1a\
    \x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_BinanceOrderMsg\x10\xc3\x05\
    \x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_BinanceCancelMsg\x10\xc4\
    \x05\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_BinanceSignedTx\x10\
    \xc5\x05\x1a\x04\x98\xb5\x18\x01\x126\n+MessageType_WebAuthnListResident\
    Credentials\x10\xa0\x06\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_We\
    bAuthnCredentials\x10\xa1\x06\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType\
    _WebAuthnAddResidentCredential\x10\xa2\x06\x1a\x04\x90\xb5\x18\x01\x127\
    \n,MessageType_WebAuthnRemoveResidentCredential\x10\xa3\x06\x1a\x04\x90\
    \xb5\x18\x01\x12)\n\x1eMessageType_SolanaGetPublicKey\x10\x84\x07\x1a\
    \x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_SolanaPublicKey\x10\x85\x07\
    \x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_SolanaGetAddress\x10\x86\
    \x07\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_SolanaAddress\x10\x87\
    \x07\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_SolanaSignTx\x10\x88\
    \x07\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_SolanaTxSignature\x10\
    \x89\x07\x1a\x04\x98\xb5\x18\x01\x1a\x04\xc8\xf3\x18\x01\"\x04\x08Z\x10\
    \\\"\x04\x08r\x10z\"\x06\x08\xdb\x01\x10\xdb\x01\"\x06\x08\xe0\x01\x10\
    \xe0\x01\"\x06\x08\xac\x02\x10\xb0\x02\"\x06\x08\xb5\x02\x10\xb8\x02:<\n\
    \x07wire_in\x18\xd2\x86\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueO\
    ptionsR\x06wireIn:>\n\x08wire_out\x18\xd3\x86\x03\x20\x01(\x08\x12!.goog\
    le.protobuf.EnumValueOptionsR\x07wireOut:G\n\rwire_debug_in\x18\xd4\x86\
    \x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOptionsR\x0bwireDebugIn:\
    I\n\x0ewire_debug_out\x18\xd5\x86\x03\x20\x01(\x08\x12!.google.protobuf.\
    EnumValueOptionsR\x0cwireDebugOut:@\n\twire_tiny\x18\xd6\x86\x03\x20\x01\
    (\x08\x12!.google.protobuf.EnumValueOptionsR\x08wireTiny:L\n\x0fwire_boo\
    tloader\x18\xd7\x86\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOptio\
    nsR\x0ewireBootloader:C\n\x0bwire_no_fsm\x18\xd8\x86\x03\x20\x01(\x08\
    \x12!.google.protobuf.EnumValueOptionsR\twireNoFsm:F\n\x0cbitcoin_only\
    \x18\xe0\xd4\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOptionsR\x0b\
    bitcoinOnly:U\n\x17has_bitcoin_only_values\x18\xb9\x8e\x03\x20\x01(\x08\
    \x12\x1c.google.protobuf.EnumOptionsR\x14hasBitcoinOnlyValues:T\n\x14exp\
    erimental_message\x18\xa1\x96\x03\x20\x01(\x08\x12\x1f.google.protobuf.M\
    essageOptionsR\x13experimentalMessage:>\n\twire_type\x18\xa2\x96\x03\x20\
    \x01(\r\x12\x1f.google.protobuf.MessageOptionsR\x08wireType:N\n\x12exper\
    imental_field\x18\x89\x9e\x03\x20\x01(\x08\x12\x1d.google.protobuf.Field\
    OptionsR\x11experimentalField:U\n\x17include_in_bitcoin_only\x18\xe0\xd4\
    \x03\x20\x01(\x08\x12\x1c.google.protobuf.FileOptionsR\x14includeInBitco\
    inOnlyB8\n#com.satoshilabs.trezor.lib.protobufB\rTrezorMessage\x80\xa6\
    \x1d\x01\
";

/// `FileDescriptorProto` object which was a source for this generated file
fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
    static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new();
    file_descriptor_proto_lazy.get(|| {
        ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
    })
}

/// `FileDescriptor` object which allows dynamic access to files
pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
    static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new();
    static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
    file_descriptor.get(|| {
        let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
            let mut deps = ::std::vec::Vec::with_capacity(1);
            deps.push(::protobuf::descriptor::file_descriptor().clone());
            let mut messages = ::std::vec::Vec::with_capacity(0);
            let mut enums = ::std::vec::Vec::with_capacity(1);
            enums.push(MessageType::generated_enum_descriptor_data());
            ::protobuf::reflect::GeneratedFileDescriptor::new_generated(
                file_descriptor_proto(),
                deps,
                messages,
                enums,
            )
        });
        ::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
    })
}