Skip to content

Commit dbe25b2

Browse files
authored
#5966 Add reliable checks for ambigious file extensions (#5969)
* refactor: add reliable checks for ambigious file extensions * test: add test * refactor: update test material info
1 parent 7e72889 commit dbe25b2

File tree

3 files changed

+173
-1
lines changed

3 files changed

+173
-1
lines changed

extension/js/common/core/attachment.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ export class Attachment {
204204
} else if (this.name === 'message' && isBodyEmpty) {
205205
// treat message as encryptedMsg when empty body for the 'message' attachment
206206
return 'encryptedMsg';
207-
} else if (this.name.match(/(\.pgp$)|(\.gpg$)|(\.[a-zA-Z0-9]{3,4}\.asc$)/g)) {
207+
} else if (this.name.match(/(\.pgp$)|(\.gpg$)|(\.[a-zA-Z0-9]{3,4}\.asc$)/g) && !this.isPublicKey() && !this.isPrivateKey()) {
208208
// ends with one of .gpg, .pgp, .???.asc, .????.asc
209209
return 'encryptedFile';
210210
// todo: after #4906 is done we should "decrypt" the encryptedFile here to see if it's a binary 'publicKey' (as in message 1869220e0c8f16dd)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
{
2+
"acctEmail": "[email protected]",
3+
"full": {
4+
"id": "1960e404123e1cbc",
5+
"threadId": "1960e404123e1cbc",
6+
"labelIds": [
7+
"Label_2"
8+
],
9+
"snippet": "From: XYZ Secure Mail To: [email protected] Please find my PGP public key attached.",
10+
"payload": {
11+
"partId": "",
12+
"mimeType": "multipart/mixed",
13+
"filename": "",
14+
"headers": [
15+
{
16+
"name": "Date",
17+
"value": "Wed, 2 Apr 2025 04:15:42 +0200 (CEST)"
18+
},
19+
{
20+
"name": "From",
21+
"value": "[email protected]"
22+
},
23+
{
24+
"name": "Reply-To",
25+
"value": "[email protected]"
26+
},
27+
{
28+
"name": "To",
29+
"value": "[email protected]"
30+
},
31+
{
32+
"name": "Subject",
33+
"value": "INFORMATION: Secure email PGP public key request response"
34+
},
35+
{
36+
"name": "MIME-Version",
37+
"value": "1.0"
38+
},
39+
{
40+
"name": "Content-Type",
41+
"value": "multipart/mixed; boundary=\"----=_Part_87311_665893808.1743560149859\""
42+
},
43+
{
44+
"name": "X-Mailer",
45+
"value": "Totemo_TrustMail_(Notification)"
46+
},
47+
{
48+
"name": "X-Totemo_TrustMail_Notification_Name",
49+
"value": "UBSreplyCertInfoPGP"
50+
}
51+
],
52+
"body": {
53+
"size": 0
54+
},
55+
"parts": [
56+
{
57+
"partId": "0",
58+
"mimeType": "multipart/alternative",
59+
"filename": "",
60+
"headers": [
61+
{
62+
"name": "Content-Type",
63+
"value": "multipart/alternative; boundary=\"----=_Part_87307_327781610.1743560142630\""
64+
}
65+
],
66+
"body": {
67+
"size": 0
68+
},
69+
"parts": [
70+
{
71+
"partId": "0.0",
72+
"mimeType": "text/plain",
73+
"filename": "",
74+
"headers": [
75+
{
76+
"name": "Content-Type",
77+
"value": "text/plain; charset=\"UTF-8\""
78+
},
79+
{
80+
"name": "Content-Transfer-Encoding",
81+
"value": "quoted-printable"
82+
}
83+
],
84+
"body": {
85+
"size": 106,
86+
"data": "RnJvbTpVQlMgU2VjdXJlIE1haWwgR2F0ZXdheVRvOnNpbW9uLnNoYW9AY2Fub3B5LmNsb3VkDQoNCg0KUGxlYXNlIGZpbmQgbXkgUEdQIHB1YmxpYyBrZXkgYXR0YWNoZWQuIA0KDQoNCg=="
87+
}
88+
},
89+
{
90+
"partId": "0.1",
91+
"mimeType": "text/html",
92+
"filename": "",
93+
"headers": [
94+
{
95+
"name": "Content-Type",
96+
"value": "text/html; charset=\"UTF-8\""
97+
},
98+
{
99+
"name": "Content-Transfer-Encoding",
100+
"value": "quoted-printable"
101+
}
102+
],
103+
"body": {
104+
"size": 592,
105+
"data": "IDxwDQogIHN0eWxlPSJmb250LWZhbWlseTogYXJpYWwgLCBoZWx2ZXRpY2EgLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZTogeC1zbWFsbDsiPg0KICAgIDx0YWJsZQ0KICAgIHN0eWxlPSJib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO2JvcmRlcjogbm9uZTtmb250LWZhbWlseTogYXJpYWwgLCBoZWx2ZXRpY2EgLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZTogeC1zbWFsbDsiPiAgIDx0Ym9keT4NCiAgICAgIDx0cj4gIDx0ZD5Gcm9tOjwvdGQ-ICA8dGQgc3R5bGU9InBhZGRpbmctbGVmdDogNS4wcHg7Ij5VQlMgU2VjdXJlDQogICAgICAgICAgTWFpbCBHYXRld2F5PC90ZD4gICA8L3RyPg0KICAgICAgPHRyPiAgICAgPHRkPlRvOjwvdGQ-ICA8dGQNCiAgICAgICAgc3R5bGU9InBhZGRpbmctbGVmdDogNS4wcHg7Ij5zaW1vbi5zaGFvQGNhbm9weS5jbG91ZDwvdGQ-ICAgPC90cj4gPC90Ym9keT4NCiAgPC90YWJsZT4gPC9wPg0KIDxwDQogIHN0eWxlPSJmb250LWZhbWlseTogYXJpYWwgLCBoZWx2ZXRpY2EgLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZTogeC1zbWFsbDsiPg0KICBQbGVhc2UgZmluZCBteSBQR1AgcHVibGljIGtleSBhdHRhY2hlZC4gPC9wPg=="
106+
}
107+
}
108+
]
109+
},
110+
{
111+
"partId": "1",
112+
"mimeType": "application/pgp-keys",
113+
"filename": "[email protected]",
114+
"headers": [
115+
{
116+
"name": "Content-Type",
117+
"value": "application/pgp-keys; name=\"[email protected]\""
118+
},
119+
{
120+
"name": "Content-Transfer-Encoding",
121+
"value": "7bit"
122+
},
123+
{
124+
"name": "Content-Disposition",
125+
"value": "attachment; filename=\"[email protected]\""
126+
}
127+
],
128+
"body": {
129+
"attachmentId": "ANGjdJ-uMdPYym4OHGhBVnL8hnt1vJMpGHf6iygGsasqWEQyPan6mJPGOUsfjhtnRjqDMRIz2sg6-408I8mZUCieTwKdUUanksx5gSrMSoyaVmOpNOBT-BQ0tx7ADmoUc3NHoRIqPq_F9_pF4a5bKBJjkt3HPsyYAL2mQxei-6wBAJ81duW2URxfNrEKyogKMUfd5YeudJietJZnFgrir-d9OVsGXz_mMNth1Pz9Q5tLcJIbjnXgesKxpEVILPKNwP0NmXzcxv2ooELbWndrGBjH1jfsKQwRT2s5RuMsO4iQxhUEOmb2hUJCbaOj_zNMgPuuGupuNlLqGaFHFnLAih60N0HoMCBhElI3ZCQz3dfBI6n1PEByTXCV673C4eA",
130+
"size": 1801
131+
}
132+
}
133+
]
134+
},
135+
"sizeEstimate": 7938,
136+
"historyId": "1478989",
137+
"internalDate": "1743560142000"
138+
},
139+
"attachments": {
140+
"ANGjdJ-uMdPYym4OHGhBVnL8hnt1vJMpGHf6iygGsasqWEQyPan6mJPGOUsfjhtnRjqDMRIz2sg6-408I8mZUCieTwKdUUanksx5gSrMSoyaVmOpNOBT-BQ0tx7ADmoUc3NHoRIqPq_F9_pF4a5bKBJjkt3HPsyYAL2mQxei-6wBAJ81duW2URxfNrEKyogKMUfd5YeudJietJZnFgrir-d9OVsGXz_mMNth1Pz9Q5tLcJIbjnXgesKxpEVILPKNwP0NmXzcxv2ooELbWndrGBjH1jfsKQwRT2s5RuMsO4iQxhUEOmb2hUJCbaOj_zNMgPuuGupuNlLqGaFHFnLAih60N0HoMCBhElI3ZCQz3dfBI6n1PEByTXCV673C4eA": {
141+
"data": "LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tDQpWZXJzaW9uOiBPcGVuUEdQIEtpdGV3b3Jrcw0KQ29tbWVudDogS2l0ZXdvcmtzIE9wZW5QR1AgLSBodHRwOi8vd3d3LnRvdGVtby5jb20NCg0KbVFFTkJHZGx6Y2dCQ0FEUGx2UUQxS2VQMmEvY1Z3OHpqWFdZVWhHWE01NUorRFhFOEo0d2lYS3FEWitIbmFtNA0KQ2FIWHZ2UWlSSmlPVjQwR2Fwb3RSd2J3YTg3ZFdsbEJFWWF0WVIyNmZpR0I1NWhHM281RDBkNHFhOU01c1NZbw0KSHFJV01FREd2MWlXTVhIdzMyMC8rakJ2Mzc3Zy9lQWMyUXI1aWZUdWRjQnNGcVdnaG1Ja1R2ejBydzRXcjJEYw0KUFZTc3RWaE1wc05PeE4rNFZYa0lUMVRiZUM4WjRyT29nZ2RCR3RtVlI4Z2Fpcm5CVitMUkpYZ1J1TGVhU0pYZQ0Kd1FNdVJlc2E4UUk1Ykt6VUxuY3MwY1VxTlRtOGVZZHNHVEVqbEpKdkVhb1FkSG1UZlAwdkZGM3ZhWmN4ckVWSA0KejFtU2VpYTA3eDJVNTRzdndGdzQ1Ykc3WTRoYmMvcEpvSUluQUJFQkFBRzBPWEJwYjNSeUxYcGhMbmRwYzI1cA0KWlhkemEybEFkV0p6TG1OdmJTQThjR2x2ZEhJdGVtRXVkMmx6Ym1sbGQzTnJhVUIxWW5NdVkyOXRQb2tDSEFRVA0KQVFnQUJnVUNaMlhOeUFBS0NSQ0toNFBLUTJRajRtL1lELzBjdktsMWVqWXRDSHFZZGRETHdYUXMrZXA3R1Noag0KQ2x0K1ZoVjFLTW9OODMxekNFeHUvNnlwQ004Wkd2OVFDbTNpdDBVWXBINzZGbURqVEhJZlZTY2FhYStRR3ZTTg0KWlVScStaVk4wenV5YnRJZzI4eTVlUGpES1ltdFFrMGJsK2EyVC9meTdGbWFaMjVFQyt2L1oya3FQVnBROTk0WQ0KdDZYaEhpb0ZwMk5BbExtSE9xanBCUXk2MmkwOXF5QlVZd3FuYUJPV2dMbDA0SG1LT2NqcS9wRFZ0aE56bmdsZw0KSkNoT0hoSUJJZmplQkh6MXVDUUVUSWw3YU9FdG1sT1FJY1YwWEhkVjBwb0xFcnByV2ZoYjAraTl0VnFLWU1FMg0Kbzh2WXhxVDRUd1ovVDkvMzFXeENiMk1ESmJEaEI2TlRZajE5T0hDclJvelM3MDUraWUybEZGcjQ0cjBwRk9FdA0KMWZtNnBuZm9GVHMvRnhqZTV3VkV0U0xrUk05MmtTRlJlVHUzN2R3SEFsdkJNZll3a1FjUGxocWNaUFI3QzBPVQ0KQWxnQy9QeVdlMWJ4eVdxREtuUURtRmVFdm4vMEk1T2hiMENKZEkyd3FIVDAwSm90RDhHcks3RWREVk5YWDNtUQ0KcmZzZmRvczFxV2h4Ukd5SGFJODVqYi9FRXVwajhjeGhjVWFhdjZKRHViVGQ5NS9DYXhOa3ZxSEppaWdWVkQ1Nw0KRXN5TXVDOWRVUjJtWmNNNWxJelpNQzRmVVBMUVJmZ2poaGpGVHk1L0lxeld1bENqU201RmI4dHIwczczU200SA0Kd0RNMzFGSnEycldKQjJhVm9oUEJZQ2lEREkzdytxOEZHTGoxQXZVRkozWm9WTXpYTHBadjYwbzFHSDdqK1UxQg0KbDVkSms4MGJ5RjhpbElrQk9RUVRBUWdBSXdVQ1oyWE55QVlMQ1FnSEF3SUVGUWdKQ2dRV0FnTUJBaDRCQWhzUA0KQlFrRHdtY0FBQW9KRUc4THJWVUlYN3h0ckpBSC8zTjRlR3ZJRWZ5ajlpUTJ3ZDNUWFNYQUZ3LzZCNGRQWGFqUA0KNGxTc2tjc25vMUpNNjhBVzdPbmVDckJuRjdIR2RVTWpoSjZxTjcvYmxYUzdYbW9DekN5MzhFYmRvN0tvQ2tIZw0KU0xOekJ6RDYySTBZRHhSNWcvL0VsYml6SllGMThDQ3hDUkloT0s4NW9GK0VBNmNSd1MxM1NaSTQ3Tkxia0UzNQ0KdVlHWTZWS1g0bllPTUtOc2pPZDNOUC8zOWFtOUs4Z0RGME5VU2hLeVNEMXArSDVvTDRTODB0dWFETHB0RzhmZA0KTVQwMTh3SXJUTW9JN01yL2Rmblh1dzdFUmwrd3U3bEw3MG85eHd1RkhOWlkxakgwY1hza2lLVEZ2cDcrMnRaTg0KdHR3NzRXYnI0cG5wcDdBbDBnd0U2NUpIN1dTc1VsZ01GdlJXdlBINW9Vc2tyY0FjbDVjPQ0KPTFBN0UNCi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS0NCg",
142+
"size": 1801
143+
}
144+
},
145+
"raw": {
146+
"id": "1960e404123e1cbc",
147+
"threadId": "1960e404123e1cbc",
148+
"labelIds": [
149+
"Label_2"
150+
],
151+
"snippet": "From: XYZ Secure Mail To: [email protected] Please find my PGP public key attached.",
152+
"sizeEstimate": 7938,
153+
"raw": "RGVsaXZlcmVkLVRvOiBzaW1vbi5zaGFvQGNhbm9weS5jbG91ZA0KUmVjZWl2ZWQ6IGJ5IDIwMDI6YTJlOjk2ZDM6MDpiMDozMGI6ZmU3Yjo2M2VmIHdpdGggU01UUCBpZCBkMTljc3AyNDkyNDM3bGpqOw0KICAgICAgICBUdWUsIDEgQXByIDIwMjUgMTk6MTU6NTAgLTA3MDAgKFBEVCkNClgtR29vZ2xlLVNtdHAtU291cmNlOiBBR0hUK0lFWVdjQ2lVU1AremxlN2IxcFM2ZnZ2U0tid0o2WnhPWXFiYTEybVJYS0ZCeE92M3pOUnlqY3lzTzU1V05sanJuSzFUMnJLDQpYLVJlY2VpdmVkOiBieSAyMDAyOmExNzo5MDc6OTdjNDpiMDphYzc6MThjOToyOTc1IHdpdGggU01UUCBpZCBhNjQwYzIzYTYyZjNhLWFjN2ExYWJkZTU4bXI0MjIwNjY2NmIuNDguMTc0MzU2MDE1MDQ5ODsNCiAgICAgICAgVHVlLCAwMSBBcHIgMjAyNSAxOToxNTo1MCAtMDcwMCAoUERUKQ0KQVJDLVNlYWw6IGk9MTsgYT1yc2Etc2hhMjU2OyB0PTE3NDM1NjAxNTA7IGN2PW5vbmU7DQogICAgICAgIGQ9Z29vZ2xlLmNvbTsgcz1hcmMtMjAyNDA2MDU7DQogICAgICAgIGI9YS9GQnJsZStNVGh5emI3K0hFcHZrU09vN1dKZVo0eERwUEordnErd3ViUnpkOFIrOG5KS1M3SW5oNVc4NFpBN0tTDQogICAgICAgICBvMVY3L09seHc0QUFSeXdETm5FVWJxVWpPeU5NY2JkcVRYN1F1cVFnT3RXdmFGSHpUQ1pvSlZldkNxWW9icDhSeTJGTg0KICAgICAgICAgMUJYV0FVdjB6SGoyZ0NRamlYQ1VpMVNSQWhCU0VHRllKbTVhaWdVYkRTT2IxNm5ZYTlabEVEY1IySktmR05wcVBGTVYNCiAgICAgICAgIDhyaVhqdjRUVDB5MDZjdUFnN3JRZjZOc0svV0dZUUxQNE9jNm5acm8xS3lTTXlGM3g5d3EyL3lsUFhRYU94SDZsMVhEDQogICAgICAgICBiaGVCRnVJN3FZaUZLenZqQVdYUkw4YjRsb1JMaVZUZDlHOU9lRWt5bzRwc1IwMTZzQjZxblBwWGZndEs2Z2xFNjkzSA0KICAgICAgICAgUWFKdz09DQpBUkMtTWVzc2FnZS1TaWduYXR1cmU6IGk9MTsgYT1yc2Etc2hhMjU2OyBjPXJlbGF4ZWQvcmVsYXhlZDsgZD1nb29nbGUuY29tOyBzPWFyYy0yMDI0MDYwNTsNCiAgICAgICAgaD1taW1lLXZlcnNpb246c3ViamVjdDptZXNzYWdlLWlkOnRvOnJlcGx5LXRvOmZyb206ZGF0ZQ0KICAgICAgICAgOmRraW0tc2lnbmF0dXJlOw0KICAgICAgICBiaD1HaXpLSEJ5clhoems3Z3d4T3lINVcxb2JPNUQyL09sS0FJbVhGc3drM2hRPTsNCiAgICAgICAgZmg9bFRhYXhhOXduYzBwMW5mam1VVUFBdjIySjYyeXI2QldTOGRkRWpnVDJsTT07DQogICAgICAgIGI9QmRtaEdwNm1tTXRMNGlCRHRHN3dpRVNEQnVIQ0pJYmpNOWN0OWRsUFZQQXZEK0FFNW5GSjdneGdXNGNZd3NvLzdNDQogICAgICAgICBJcXovNHRvZ1Nrekx1SUhCcEZCOW0wdjFISGs3V2hTelVGUDVZYXVJVGhDMlp5OTloNUEwYTVIWVBDdnFxa29PMmcyTg0KICAgICAgICAgL2hEaG5ZNjVFdzFsK1VDZlFoa2xSZzN6SXJiRXNPWU9RWmF2SDI2QkhIbUZ1OUtOUmJnaUZzZk0rY0JTYmRpcis3R1ANCiAgICAgICAgIFNQUTJxL2wwVnFnYndrZk5BbjRHZktEWDRhWW5aRzFoeHQwM0ZpWWxQejJyUTlHWFB3RDh4Y1doMlRuSjJxVHdrNUZTDQogICAgICAgICBpOXBtNkt2RFRpTWxNcjBPais0SXQ4MCs3SWxzWitXQk9RWHRDekFFVHpRaU12VGMrTXlFRlE4bXV0UVhIdE9abEo3aA0KICAgICAgICAgRllIZz09Ow0KICAgICAgICBkYXJhPWdvb2dsZS5jb20NCkFSQy1BdXRoZW50aWNhdGlvbi1SZXN1bHRzOiBpPTE7IG14Lmdvb2dsZS5jb207DQogICAgICAgZGtpbT1wYXNzIGhlYWRlci5pPUB1YnMuY29tIGhlYWRlci5zPXNyc2EyMDQ4IGhlYWRlci5iPUs3ZHBhQVhvOw0KICAgICAgIHNwZj1wYXNzIChnb29nbGUuY29tOiBkb21haW4gb2YgcGlvdHItemEud2lzbmlld3NraUB1YnMuY29tIGRlc2lnbmF0ZXMgMTY1LjIyMi41Ni4xNjAgYXMgcGVybWl0dGVkIHNlbmRlcikgc210cC5tYWlsZnJvbT1waW90ci16YS53aXNuaWV3c2tpQHVicy5jb207DQogICAgICAgZG1hcmM9cGFzcyAocD1SRUpFQ1Qgc3A9UkVKRUNUIGRpcz1OT05FKSBoZWFkZXIuZnJvbT11YnMuY29tDQpSZXR1cm4tUGF0aDogPHBpb3RyLXphLndpc25pZXdza2lAdWJzLmNvbT4NClJlY2VpdmVkOiBmcm9tIGRtei16dXItZ3cxLXdtLnVicy5jb20gKGRtei16dXItZ3cxLXdtLnVicy5jb20uIFsxNjUuMjIyLjU2LjE2MF0pDQogICAgICAgIGJ5IG14Lmdvb2dsZS5jb20gd2l0aCBFU01UUFMgaWQgYTY0MGMyM2E2MmYzYS1hYzcxOTY5MWQyYXNpODIwNDc5MDY2Yi43MjguMjAyNS4wNC4wMS4xOS4xNS41MA0KICAgICAgICBmb3IgPHNpbW9uLnNoYW9AY2Fub3B5LmNsb3VkPg0KICAgICAgICAodmVyc2lvbj1UTFMxXzMgY2lwaGVyPVRMU19BRVNfMjU2X0dDTV9TSEEzODQgYml0cz0yNTYvMjU2KTsNCiAgICAgICAgVHVlLCAwMSBBcHIgMjAyNSAxOToxNTo1MCAtMDcwMCAoUERUKQ0KUmVjZWl2ZWQtU1BGOiBwYXNzIChnb29nbGUuY29tOiBkb21haW4gb2YgcGlvdHItemEud2lzbmlld3NraUB1YnMuY29tIGRlc2lnbmF0ZXMgMTY1LjIyMi41Ni4xNjAgYXMgcGVybWl0dGVkIHNlbmRlcikgY2xpZW50LWlwPTE2NS4yMjIuNTYuMTYwOw0KQXV0aGVudGljYXRpb24tUmVzdWx0czogbXguZ29vZ2xlLmNvbTsNCiAgICAgICBka2ltPXBhc3MgaGVhZGVyLmk9QHVicy5jb20gaGVhZGVyLnM9c3JzYTIwNDggaGVhZGVyLmI9SzdkcGFBWG87DQogICAgICAgc3BmPXBhc3MgKGdvb2dsZS5jb206IGRvbWFpbiBvZiBwaW90ci16YS53aXNuaWV3c2tpQHVicy5jb20gZGVzaWduYXRlcyAxNjUuMjIyLjU2LjE2MCBhcyBwZXJtaXR0ZWQgc2VuZGVyKSBzbXRwLm1haWxmcm9tPXBpb3RyLXphLndpc25pZXdza2lAdWJzLmNvbTsNCiAgICAgICBkbWFyYz1wYXNzIChwPVJFSkVDVCBzcD1SRUpFQ1QgZGlzPU5PTkUpIGhlYWRlci5mcm9tPXVicy5jb20NClJlY2VpdmVkOiBmcm9tIGxvY2FsaG9zdCAobG9jYWxob3N0IFsxMjcuMC4wLjFdKQ0KCWJ5IHBvc3RmaXguYW1hdmlzZCAoUG9zdGZpeCkgd2l0aCBFU01UUCBpZCA0WlM3a3QweDNIellraFlODQoJZm9yIDxzaW1vbi5zaGFvQGNhbm9weS5jbG91ZD47IFdlZCwgIDIgQXByIDIwMjUgMDQ6MTU6NTAgKzAyMDAgKENFU1QpDQpES0lNLVNpZ25hdHVyZTogdj0xOyBhPXJzYS1zaGEyNTY7IGM9cmVsYXhlZC9yZWxheGVkOyBkPXVicy5jb207IGg9DQoJeC1tYWlsZXI6Y29udGVudC10eXBlOmNvbnRlbnQtdHlwZTptaW1lLXZlcnNpb246c3ViamVjdDpzdWJqZWN0DQoJOm1lc3NhZ2UtaWQ6cmVwbHktdG86ZnJvbTpmcm9tOmRhdGU6ZGF0ZTpyZWNlaXZlZDpyZWNlaXZlZDsgcz0NCglzcnNhMjA0ODsgdD0xNzQzNTYwMTUwOyBiaD1HaXpLSEJ5clhoems3Z3d4T3lINVcxb2JPNUQyL09sS0FJbVhGDQoJc3drM2hRPTsgYj1LN2RwYUFYb01aUjBoQ1pReGhDZVNCR2tPaGlCb211cUtWaU5zaS9Ta1Z0YzExeEVkdGVLTw0KCXdjTkd6TFRRZjNnRmowTTQ2cE15N3pYM1FNc0tNcEtuVWR2MHUwZ1FKV29EWDdJN2FaSTJnQko1TDJXLy9XNnoNCgltN2IrYkJRRTc3dDMrMXNSZHZYN1YzQzJ5aE5IbktTZ2U0bDk2V3BCZ1FKZVFJYjQwbFo3Y0JJM3lkNWdGYkVPDQoJRlhUbFI0SU9EVnoyUmVHUmxqYU1sZWM5VVQyQkZvRFc4S1pyNHQweFl1UTZKczdsSmRuQ0QyYTJBZFkwK3NaYg0KCXdvZVNzK01Xb0dBZkRCMDhrcXZUaFN2ejZteWpiVGI4TlAvendoeVByTWFTeEk0R0hBMGI5WDdvbFB1SzEwZ3INCgl2Si9KQit5NTJ3SEZ0aDU5YzJOSFEvRGlFbXdwOFdoSmc9PQ0KUmVjZWl2ZWQ6IGZyb20gZG16LXp1ci1ndzEtd20udWJzLmNvbSAoWzEyNy4wLjAuMV0pDQoJYnkgbG9jYWxob3N0IChhMzAyLTM2NDQtNzA0My56dXIudWJzLm5ldCBbMTI3LjAuMC4xXSkgKGFtYXZpc2QtbmV3LCBwb3J0IDEwMDI0KQ0KCXdpdGggRVNNVFAgaWQgUl9tcHp2WlNTRmphIGZvciA8c2ltb24uc2hhb0BjYW5vcHkuY2xvdWQ-Ow0KCVdlZCwgIDIgQXByIDIwMjUgMDQ6MTU6NTAgKzAyMDAgKENFU1QpDQpSZWNlaXZlZDogZnJvbSBUcnVzdE1haWw_QjJCLVBST0Q_T1VUR09JTkc_W3NtdHBdICh1bmtub3duIFsxMC4zOC4zLjM2XSkNCglieSBwb3N0Zml4LmJ5cGFzcyAoUG9zdGZpeCkgd2l0aCBTTVRQIGlkIDRaUzdrdDBWTXh6WWtoWU0NCglmb3IgPHNpbW9uLnNoYW9AY2Fub3B5LmNsb3VkPjsgV2VkLCAgMiBBcHIgMjAyNSAwNDoxNTo1MCArMDIwMCAoQ0VTVCkNCkRhdGU6IFdlZCwgMiBBcHIgMjAyNSAwNDoxNTo0MiArMDIwMCAoQ0VTVCkNCkZyb206ICJwaW90ci16YS53aXNuaWV3c2tpQHVicy5jb20iIDxwaW90ci16YS53aXNuaWV3c2tpQHVicy5jb20-DQpSZXBseS1Ubzogc2VjdXJlbWFpbEB1YnMuY29tDQpUbzogc2ltb24uc2hhb0BjYW5vcHkuY2xvdWQNCk1lc3NhZ2UtSUQ6IDw2Nzg5NDczNjcuODczMTAuMTc0MzU2MDE0MjYzMUB4enVyNTU5M3BhcC56dXIuc3dpc3NiYW5rLmNvbT4NClN1YmplY3Q6IElORk9STUFUSU9OOiBTZWN1cmUgZW1haWwgUEdQIHB1YmxpYyBrZXkgcmVxdWVzdCByZXNwb25zZQ0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L21peGVkOyANCglib3VuZGFyeT0iLS0tLT1fUGFydF84NzMxMV82NjU4OTM4MDguMTc0MzU2MDE0OTg1OSINClgtTWFpbGVyOiBUb3RlbW9fVHJ1c3RNYWlsXyhOb3RpZmljYXRpb24pDQpYLVRvdGVtb19UcnVzdE1haWxfTm90aWZpY2F0aW9uX05hbWU6IFVCU3JlcGx5Q2VydEluZm9QR1ANCg0KLS0tLS0tPV9QYXJ0Xzg3MzExXzY2NTg5MzgwOC4xNzQzNTYwMTQ5ODU5DQpDb250ZW50LVR5cGU6IG11bHRpcGFydC9hbHRlcm5hdGl2ZTsgDQoJYm91bmRhcnk9Ii0tLS09X1BhcnRfODczMDdfMzI3NzgxNjEwLjE3NDM1NjAxNDI2MzAiDQoNCi0tLS0tLT1fUGFydF84NzMwN18zMjc3ODE2MTAuMTc0MzU2MDE0MjYzMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUNCg0KRnJvbTpVQlMgU2VjdXJlIE1haWwgR2F0ZXdheVRvOnNpbW9uLnNoYW9AY2Fub3B5LmNsb3VkDQoNCg0KUGxlYXNlIGZpbmQgbXkgUEdQIHB1YmxpYyBrZXkgYXR0YWNoZWQuPTIwDQoNCg0KDQotLS0tLS09X1BhcnRfODczMDdfMzI3NzgxNjEwLjE3NDM1NjAxNDI2MzANCkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUNCg0KIDxwDQogIHN0eWxlPTNEImZvbnQtZmFtaWx5OiBhcmlhbCAsIGhlbHZldGljYSAsIHNhbnMtc2VyaWY7Zm9udC1zaXplOiB4LXNtYWxsOyI9DQo-DQogICAgPHRhYmxlDQogICAgc3R5bGU9M0QiYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtib3JkZXI6IG5vbmU7Zm9udC1mYW1pbHk6IGFyaWFsICwgaGU9DQpsdmV0aWNhICwgc2Fucy1zZXJpZjtmb250LXNpemU6IHgtc21hbGw7Ij4gICA8dGJvZHk-DQogICAgICA8dHI-ICA8dGQ-RnJvbTo8L3RkPiAgPHRkIHN0eWxlPTNEInBhZGRpbmctbGVmdDogNS4wcHg7Ij5VQlMgU2VjdXJlDQogICAgICAgICAgTWFpbCBHYXRld2F5PC90ZD4gICA8L3RyPg0KICAgICAgPHRyPiAgICAgPHRkPlRvOjwvdGQ-ICA8dGQNCiAgICAgICAgc3R5bGU9M0QicGFkZGluZy1sZWZ0OiA1LjBweDsiPnNpbW9uLnNoYW9AY2Fub3B5LmNsb3VkPC90ZD4gICA8L3RyPj0NCiA8L3Rib2R5Pg0KICA8L3RhYmxlPiA8L3A-DQogPHANCiAgc3R5bGU9M0QiZm9udC1mYW1pbHk6IGFyaWFsICwgaGVsdmV0aWNhICwgc2Fucy1zZXJpZjtmb250LXNpemU6IHgtc21hbGw7Ij0NCj4NCiAgUGxlYXNlIGZpbmQgbXkgUEdQIHB1YmxpYyBrZXkgYXR0YWNoZWQuIDwvcD4NCi0tLS0tLT1fUGFydF84NzMwN18zMjc3ODE2MTAuMTc0MzU2MDE0MjYzMC0tDQoNCi0tLS0tLT1fUGFydF84NzMxMV82NjU4OTM4MDguMTc0MzU2MDE0OTg1OQ0KQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wZ3Ata2V5czsgbmFtZT0icGlvdHItemEud2lzbmlld3NraUB1YnMuY29tLmFzYyINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSJwaW90ci16YS53aXNuaWV3c2tpQHVicy5jb20uYXNjIg0KDQotLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS0NClZlcnNpb246IE9wZW5QR1AgS2l0ZXdvcmtzDQpDb21tZW50OiBLaXRld29ya3MgT3BlblBHUCAtIGh0dHA6Ly93d3cudG90ZW1vLmNvbQ0KDQptUUVOQkdkbHpjZ0JDQURQbHZRRDFLZVAyYS9jVnc4empYV1lVaEdYTTU1SitEWEU4SjR3aVhLcURaK0huYW00DQpDYUhYdnZRaVJKaU9WNDBHYXBvdFJ3YndhODdkV2xsQkVZYXRZUjI2ZmlHQjU1aEczbzVEMGQ0cWE5TTVzU1lvDQpIcUlXTUVER3YxaVdNWEh3MzIwLytqQnYzNzdnL2VBYzJRcjVpZlR1ZGNCc0ZxV2dobUlrVHZ6MHJ3NFdyMkRjDQpQVlNzdFZoTXBzTk94Tis0VlhrSVQxVGJlQzhaNHJPb2dnZEJHdG1WUjhnYWlybkJWK0xSSlhnUnVMZWFTSlhlDQp3UU11UmVzYThRSTViS3pVTG5jczBjVXFOVG04ZVlkc0dURWpsSkp2RWFvUWRIbVRmUDB2RkYzdmFaY3hyRVZIDQp6MW1TZWlhMDd4MlU1NHN2d0Z3NDViRzdZNGhiYy9wSm9JSW5BQkVCQUFHME9YQnBiM1J5TFhwaExuZHBjMjVwDQpaWGR6YTJsQWRXSnpMbU52YlNBOGNHbHZkSEl0ZW1FdWQybHpibWxsZDNOcmFVQjFZbk11WTI5dFBva0NIQVFUDQpBUWdBQmdVQ1oyWE55QUFLQ1JDS2g0UEtRMlFqNG0vWUQvMGN2S2wxZWpZdENIcVlkZERMd1hRcytlcDdHU2hqDQpDbHQrVmhWMUtNb044MzF6Q0V4dS82eXBDTThaR3Y5UUNtM2l0MFVZcEg3NkZtRGpUSElmVlNjYWFhK1FHdlNODQpaVVJxK1pWTjB6dXlidElnMjh5NWVQakRLWW10UWswYmwrYTJUL2Z5N0ZtYVoyNUVDK3YvWjJrcVBWcFE5OTRZDQp0NlhoSGlvRnAyTkFsTG1IT3FqcEJReTYyaTA5cXlCVVl3cW5hQk9XZ0xsMDRIbUtPY2pxL3BEVnRoTnpuZ2xnDQpKQ2hPSGhJQklmamVCSHoxdUNRRVRJbDdhT0V0bWxPUUljVjBYSGRWMHBvTEVycHJXZmhiMCtpOXRWcUtZTUUyDQpvOHZZeHFUNFR3Wi9UOS8zMVd4Q2IyTURKYkRoQjZOVFlqMTlPSENyUm96UzcwNStpZTJsRkZyNDRyMHBGT0V0DQoxZm02cG5mb0ZUcy9GeGplNXdWRXRTTGtSTTkya1NGUmVUdTM3ZHdIQWx2Qk1mWXdrUWNQbGhxY1pQUjdDME9VDQpBbGdDL1B5V2UxYnh5V3FES25RRG1GZUV2bi8wSTVPaGIwQ0pkSTJ3cUhUMDBKb3REOEdySzdFZERWTlhYM21RDQpyZnNmZG9zMXFXaHhSR3lIYUk4NWpiL0VFdXBqOGN4aGNVYWF2NkpEdWJUZDk1L0NheE5rdnFISmlpZ1ZWRDU3DQpFc3lNdUM5ZFVSMm1aY001bEl6Wk1DNGZVUExRUmZnamhoakZUeTUvSXF6V3VsQ2pTbTVGYjh0cjBzNzNTbTRIDQp3RE0zMUZKcTJyV0pCMmFWb2hQQllDaURESTN3K3E4RkdMajFBdlVGSjNab1ZNelhMcFp2NjBvMUdIN2orVTFCDQpsNWRKazgwYnlGOGlsSWtCT1FRVEFRZ0FJd1VDWjJYTnlBWUxDUWdIQXdJRUZRZ0pDZ1FXQWdNQkFoNEJBaHNQDQpCUWtEd21jQUFBb0pFRzhMclZVSVg3eHRySkFILzNONGVHdklFZnlqOWlRMndkM1RYU1hBRncvNkI0ZFBYYWpQDQo0bFNza2Nzbm8xSk02OEFXN09uZUNyQm5GN0hHZFVNamhKNnFONy9ibFhTN1htb0N6Q3kzOEViZG83S29Da0hnDQpTTE56QnpENjJJMFlEeFI1Zy8vRWxiaXpKWUYxOENDeENSSWhPSzg1b0YrRUE2Y1J3UzEzU1pJNDdOTGJrRTM1DQp1WUdZNlZLWDRuWU9NS05zak9kM05QLzM5YW05SzhnREYwTlVTaEt5U0QxcCtINW9MNFM4MHR1YURMcHRHOGZkDQpNVDAxOHdJclRNb0k3TXIvZGZuWHV3N0VSbCt3dTdsTDcwbzl4d3VGSE5aWTFqSDBjWHNraUtURnZwNysydFpODQp0dHc3NFdicjRwbnBwN0FsMGd3RTY1Skg3V1NzVWxnTUZ2Uld2UEg1b1Vza3JjQWNsNWM9DQo9MUE3RQ0KLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLQ0KDQotLS0tLS09X1BhcnRfODczMTFfNjY1ODkzODA4LjE3NDM1NjAxNDk4NTktLQ0K",
154+
"historyId": "1478989",
155+
"internalDate": "1743560142000"
156+
}
157+
}

0 commit comments

Comments
 (0)