Re: Feature Request: Official Firefox Extension for Opening Direct Media Links in VLC

Steve Lhomme <[email protected]> Mon, 20 Jul 2026 08:20:25 +0200
Newsgroups gmane.comp.video.videolan.vlc.devel
Message-ID <[email protected]>
SGksCgpUaGlzIHNlZW1zIGludGVycmVzdGluZywgaG93ZXZlciB3ZSBkb24ndCB1c2UgdGhpcyBt
YWlsaW5nIGxpc3QgYW55bW9yZS4KQ2FuIHlvdSBvcGVuIGEgZmVhdHVyZSByZXF1ZXN0IG9uIApo
dHRwczovL2NvZGUudmlkZW9sYW4ub3JnL3ZpZGVvbGFuL3ZsYy8tL3dvcmtfaXRlbXMgPwoKVGhh
bmtzCgpPbiAxOC8wNy8yMDI2IDEyOjQ3LCBMYW5kb24gdmlhIHZsYy1kZXZlbCB3cm90ZToKPiAK
PiAgIEZlYXR1cmUgUmVxdWVzdDogT2ZmaWNpYWwgRmlyZWZveCBFeHRlbnNpb24gZm9yIE9wZW5p
bmcgRGlyZWN0IE1lZGlhCj4gICBMaW5rcyBpbiBWTEMKPiAKPiAKPiAgICAgU3VtbWFyeQo+IAo+
IEkgd291bGQgbGlrZSB0byByZXF1ZXN0IGFuIG9mZmljaWFsIFZMQyBleHRlbnNpb24gZm9yIEZp
cmVmb3ggdGhhdCBhZGRzIAo+IGEgY2xlYXJseSBsYWJlbGVkICpWTEMqIGxpbmsgbmV4dCB0byBk
aXJlY3QgbWVkaWEgbGlua3Mgb24gd2ViIHBhZ2VzLgo+IAo+IFRoZSBwdXJwb3NlIGlzIHRvIGxl
dCB1c2VycyBzdHJlYW0gYSBtZWRpYSBVUkwgZGlyZWN0bHkgaW4gVkxDIHdpdGhvdXQgCj4gY2hh
bmdpbmcgdGhlIHdlYnNpdGXigJlzIG9yaWdpbmFsIGxpbmsgYmVoYXZpb3IuCj4gCj4gSSBhbHJl
YWR5IGRpZCB0aGlzIG9uIG15IERlYmlhbiBMaW51eCBkZXNrdG9wIGJ5IHVzaW5nIHRoZSAKPiBp
bnN0cnVjdGlvbnPCoGFuZCBjb2RlIGluIHRoaXMgZmlsZSA8aHR0cHM6Ly93d3cuY2RuLmF5MS5u
ZXQvcHViL2F1dG8tIAo+IG9wZW4tbWVkaWEtbGlua3MtaW4tdmxjLWRlYmlhbi11YnVudHUtbGlu
dXguemlwPi4gSGVyZSBpcyBhIHZpZGVvIAo+IDxodHRwczovL3d3dy5jZG4uYXkxLm5ldC9wdWIv
YXV0by1vcGVuLW1lZGlhLWxpbmtzLWluLXZsYy5ta3Y+VkxDIAo+IDx2bGM6Ly9vcGVuP3VybD1o
dHRwcyUzQSUyRiUyRnd3dy5jZG4uYXkxLm5ldCUyRnB1YiUyRmF1dG8tb3Blbi1tZWRpYS0gCj4g
bGlua3MtaW4tdmxjLm1rdj4gc2hvd2luZyBob3cgaXQgd29ya3MuCj4gCj4gT25lIGdsYXJpbmcg
ZXhhbXBsZSBvZiB3aHkgdGhpcyBpcyBuZWVkZWQgaXMgdGhhdCBJIGRvbid0IGtub3cgb2YgYW55
IAo+IGJyb3dzZXJzIHRoYXQgY2FuIHN0cmVhbSAubWt2IGZpbGVzIQo+IAo+IFZpZGVvIGV4YW1w
bGU6Cj4gCj4gaHR0cHM6Ly93d3cuY2RuLmF5MS5uZXQvcHViL2F1dG8tb3Blbi1tZWRpYS1saW5r
cy1pbi12bGMubWt2IDxodHRwczovLyAKPiB3d3cuY2RuLmF5MS5uZXQvcHViL2F1dG8tb3Blbi1t
ZWRpYS1saW5rcy1pbi12bGMubWt2Pgo+IAo+IENvZGUgYW5kIGluc3RydWN0aW9uczoKPiAKPiBo
dHRwczovL3d3dy5jZG4uYXkxLm5ldC9wdWIvYXV0by1vcGVuLW1lZGlhLWxpbmtzLWluLXZsYy1k
ZWJpYW4tdWJ1bnR1LSAKPiBsaW51eC56aXAgPGh0dHBzOi8vd3d3LmNkbi5heTEubmV0L3B1Yi9h
dXRvLW9wZW4tbWVkaWEtbGlua3MtaW4tdmxjLSAKPiBkZWJpYW4tdWJ1bnR1LWxpbnV4LnppcD4K
PiAKPiAKPiBGb3IgZXhhbXBsZSwgd2hlbiBhIHBhZ2UgY29udGFpbnMgYSBkaXJlY3QgbGluayB0
bzoKPiAKPiAgICoKPiAKPiAgICAgTVA0Cj4gCj4gICAqCj4gCj4gICAgIE1LVgo+IAo+ICAgKgo+
IAo+ICAgICBXZWJNCj4gCj4gICAqCj4gCj4gICAgIEFWSQo+IAo+ICAgKgo+IAo+ICAgICBNT1YK
PiAKPiAgICoKPiAKPiAgICAgTVBFRwo+IAo+ICAgKgo+IAo+ICAgICBUUyBvciBNMlRTCj4gCj4g
ICAqCj4gCj4gICAgIE1QMwo+IAo+ICAgKgo+IAo+ICAgICBGTEFDCj4gCj4gICAqCj4gCj4gICAg
IE9HRwo+IAo+ICAgKgo+IAo+ICAgICBNM1Ugb3IgTTNVOAo+IAo+ICAgKgo+IAo+ICAgICBEQVNI
L01QRAo+IAo+ICAgKgo+IAo+ICAgICBSVFNQLCBSVE1QLCBNTVMsIFJUUCwgb3IgYW5vdGhlciBW
TEMtc3VwcG9ydGVkIG5ldHdvcmsgc3RyZWFtCj4gCj4gdGhlIEZpcmVmb3ggZXh0ZW5zaW9uIHdv
dWxkIGFkZCBhIGJvbGQgKlZMQyogbGluayBpbW1lZGlhdGVseSBiZXNpZGUgdGhlIAo+IG9yaWdp
bmFsIG1lZGlhIGxpbmsuCj4gCj4gVGhlIHVzZXIgd291bGQgdGhlbiBoYXZlIHR3byBzZXBhcmF0
ZSBjaG9pY2VzOgo+IAo+ICAgKgo+IAo+ICAgICBDbGljayB0aGUgd2Vic2l0ZeKAmXMgb3JpZ2lu
YWwgbGluayB0byByZXRhaW4gdGhlIHdlYnNpdGXigJlzIG5vcm1hbAo+ICAgICBiZWhhdmlvci4K
PiAKPiAgICoKPiAKPiAgICAgQ2xpY2sgdGhlIGFkZGVkICpWTEMqIGxpbmsgdG8gb3BlbiBhbmQg
c3RyZWFtIHRoZSBtZWRpYSBVUkwgaW4gVkxDLgo+IAo+IFJpZ2h0LWNsaWNraW5nIHRoZSBvcmln
aW5hbCBsaW5rIHdvdWxkIGNvbnRpbnVlIHRvIHByb3ZpZGUgRmlyZWZveOKAmXMgCj4gbm9ybWFs
ICpTYXZlIExpbmsgQXPigKYqIG9wdGlvbi4KPiAKPiAKPiAgICAgV2h5IHRoaXMgZmVhdHVyZSBp
cyB1c2VmdWwKPiAKPiBGaXJlZm94IGNhbiBhc3NvY2lhdGUgbWVkaWEgZmlsZSB0eXBlcyB3aXRo
IFZMQywgYnV0IHRoYXQgaXMgbm90IHRoZSAKPiBzYW1lIGFzIHBhc3NpbmcgdGhlIG9yaWdpbmFs
IG5ldHdvcmsgVVJMIGRpcmVjdGx5IHRvIFZMQy4KPiAKPiBXaGVuIEZpcmVmb3ggb3BlbnMgYSBk
b3dubG9hZGVkIGZpbGUgd2l0aCBhbiBleHRlcm5hbCBhcHBsaWNhdGlvbiwgaXQgCj4gbWF5IGZp
cnN0IHNhdmUgdGhlIGZpbGUgbG9jYWxseSBvciB0cmVhdCBpdCBhcyBhIGRvd25sb2FkLiBUaGF0
IGlzIAo+IHVuZGVzaXJhYmxlIHdoZW4gdGhlIHVzZXIgc2ltcGx5IHdhbnRzIFZMQyB0byBzdHJl
YW0gdGhlIG9yaWdpbmFsIFVSTC4KPiAKPiBBbiBvZmZpY2lhbCBWTEMgYnJvd3NlciBleHRlbnNp
b24gY291bGQgcGFzcyB0aGUgYWN0dWFsIFVSTCBkaXJlY3RseSB0byAKPiBWTEMsIGFsbG93aW5n
IFZMQyB0bzoKPiAKPiAgICoKPiAKPiAgICAgQmVnaW4gcGxheWJhY2sgd2hpbGUgdGhlIG1lZGlh
IGlzIHN0aWxsIGRvd25sb2FkaW5nLgo+IAo+ICAgKgo+IAo+ICAgICBVc2UgaXRzIG93biBidWZm
ZXJpbmcgYW5kIHNlZWtpbmcgYmVoYXZpb3IuCj4gCj4gICAqCj4gCj4gICAgIEhhbmRsZSBmb3Jt
YXRzIEZpcmVmb3ggY2Fubm90IHBsYXkgaW50ZXJuYWxseS4KPiAKPiAgICoKPiAKPiAgICAgUGxh
eSB2aWRlb3MgaW4gYSBzZXBhcmF0ZSBWTEMgd2luZG93Lgo+IAo+ICAgKgo+IAo+ICAgICBBdm9p
ZCBzYXZpbmcgdW5uZWNlc3NhcnkgdGVtcG9yYXJ5IGNvcGllcy4KPiAKPiAgICoKPiAKPiAgICAg
U3VwcG9ydCBwbGF5bGlzdHMgYW5kIHN0cmVhbWluZyBtYW5pZmVzdHMuCj4gCj4gICAqCj4gCj4g
ICAgIFByZXNlcnZlIHRoZSB3ZWJzaXRl4oCZcyBvcmlnaW5hbCBkb3dubG9hZCBiZWhhdmlvci4K
PiAKPiBUaGlzIGlzIGVzcGVjaWFsbHkgdXNlZnVsIGZvciBsYXJnZSB2aWRlbyBmaWxlcywgdW5j
b21tb24gbWVkaWEgZm9ybWF0cywgCj4gZGlyZWN0IGZpbGUgaW5kZXhlcywgc2VsZi1ob3N0ZWQg
bWVkaWEgc2VydmVycywgYXJjaGl2ZSBzaXRlcywgYW5kIHBhZ2VzIAo+IGNvbnRhaW5pbmcgZG93
bmxvYWRhYmxlIG1lZGlhIGxpbmtzLgo+IAo+IAo+ICAgICBSZXF1ZXN0ZWQgYmVoYXZpb3IKPiAK
PiBUaGUgZXh0ZW5zaW9uIHNob3VsZCBzY2FuIHdlYiBwYWdlcyBmb3IgbGlua3MgdGhhdCBWTEMg
Y2FuIHJlYXNvbmFibHkgCj4gYXR0ZW1wdCB0byBvcGVuLgo+IAo+IFdoZW4gYSBzdXBwb3J0ZWQg
bGluayBpcyBkZXRlY3RlZCwgaXQgc2hvdWxkIGFkZCBhIHNtYWxsIGJ1dCBjbGVhcmx5IAo+IHZp
c2libGUgbGluayBiZXNpZGUgaXQsIHN1Y2ggYXM6Cj4gCj4gKlZMQyoKPiAKPiBUaGUgVkxDIGxp
bmsgc2hvdWxkIHByZWZlcmFibHkgYmUgYm9sZCBzbyB0aGF0IGl0IGlzIGVhc3kgdG8gaWRlbnRp
ZnkuCj4gCj4gRXhhbXBsZToKPiAKPiB8ZXhhbXBsZS12aWRlby5ta3YgVkxDIHwKPiAKPiBUaGUg
b3JpZ2luYWwgbGluayBtdXN0IG5vdCBiZSBtb2RpZmllZCBvciByZXBsYWNlZC4KPiAKPiAKPiAg
ICAgICBDbGlja2luZyB0aGUgb3JpZ2luYWwgbGluawo+IAo+IFRoZSB3ZWJzaXRlIHNob3VsZCBi
ZWhhdmUgZXhhY3RseSBhcyBpdCBub3JtYWxseSB3b3VsZC4KPiAKPiBUaGlzIHByZXNlcnZlczoK
PiAKPiAgICoKPiAKPiAgICAgQnJvd3NlciBwbGF5YmFjay4KPiAKPiAgICoKPiAKPiAgICAgV2Vi
c2l0ZS1zcGVjaWZpYyB2aWRlbyBwbGF5ZXJzLgo+IAo+ICAgKgo+IAo+ICAgICBOb3JtYWwgbmF2
aWdhdGlvbi4KPiAKPiAgICoKPiAKPiAgICAgRXhwbGljaXQgZG93bmxvYWQgYmVoYXZpb3IuCj4g
Cj4gICAqCj4gCj4gICAgIEF1dGhlbnRpY2F0aW9uIGZsb3dzLgo+IAo+ICAgKgo+IAo+ICAgICBS
aWdodC1jbGljayBzYXZpbmcuCj4gCj4gCj4gICAgICAgQ2xpY2tpbmcgdGhlIFZMQyBsaW5rCj4g
Cj4gVGhlIGV4dGVuc2lvbiBzaG91bGQgc2VuZCB0aGUgYWJzb2x1dGUgbWVkaWEgVVJMIHRvIFZM
Qy4KPiAKPiBWTEMgc2hvdWxkIHRoZW4gb3BlbiB0aGUgbmV0d29yayBsb2NhdGlvbiBkaXJlY3Rs
eSByYXRoZXIgdGhhbiByZWNlaXZpbmcgCj4gYSB0ZW1wb3JhcnkgZmlsZSBkb3dubG9hZGVkIGJ5
IEZpcmVmb3guCj4gCj4gQ29uY2VwdHVhbGx5LCBWTEMgd291bGQgYmUgbGF1bmNoZWQgd2l0aDoK
PiAKPiB8dmxjICJodHRwczovL2V4YW1wbGUuY29tL3BhdGgvdmlkZW8ubWt2IDxodHRwczovL2V4
YW1wbGUuY29tL3BhdGgvIAo+IHZpZGVvLm1rdj4iIHwKPiAKPiAKPiAgICAgTWVkaWEgZGV0ZWN0
aW9uCj4gCj4gVGhlIGV4dGVuc2lvbiBjb3VsZCBpZGVudGlmeSBtZWRpYSBsaW5rcyB1c2luZyBz
ZXZlcmFsIG1ldGhvZHMuCj4gCj4gCj4gICAgICAgRmlsZSBleHRlbnNpb25zCj4gCj4gSXQgY291
bGQgcmVjb2duaXplIGNvbW1vbiBtZWRpYSBmaWxlbmFtZSBleHRlbnNpb25zLCBpbmNsdWRpbmcg
YnV0IG5vdCAKPiBsaW1pdGVkIHRvOgo+IAo+IAo+ICAgICAgICAgVmlkZW8KPiAKPiB8LjNncCAu
YXZpIC5kaXZ4IC5kdiAuZmx2IC5tMXYgLm0ydCAubTJ0cyAubTJ2IC5tNHYgLm1rdiAubW92IC5t
cDQgLm1wZWcgLm1wZyAubXRzIC5teGYgLm9nbSAub2d2IC5ybSAucm12YiAudHMgLnZvYiAud2Vi
bSAud212IHwKPiAKPiAKPiAgICAgICAgIEF1ZGlvCj4gCj4gfC5hYWMgLmFjMyAuYWlmZiAuYWxh
YyAuYW1yIC5hcGUgLmF1IC5kdHMgLmZsYWMgLm00YSAubTRiIC5ta2EgLm1wMiAubXAzIC5vZ2Eg
Lm9nZyAub3B1cyAucmEgLndhdiAud21hIC53diB8Cj4gCj4gCj4gICAgICAgICBQbGF5bGlzdHMg
YW5kIHN0cmVhbWluZyBtYW5pZmVzdHMKPiAKPiB8LmFzeCAuY3VlIC5tM3UgLm0zdTggLm1wZCAu
cGxzIC5yYW0gLnNkcCAuc21pbCAueHNwZiB8Cj4gCj4gVGhlIGZpbmFsIGxpc3QgY291bGQgYmUg
Z2VuZXJhdGVkIGZyb20gdGhlIG1lZGlhIGFuZCBuZXR3b3JrIGZvcm1hdHMgCj4gc3VwcG9ydGVk
IGJ5IFZMQyByYXRoZXIgdGhhbiBiZWluZyBwZXJtYW5lbnRseSBoYXJkLWNvZGVkIGluIHRoZSBl
eHRlbnNpb24uCj4gCj4gCj4gICAgICAgTUlNRSB0eXBlcwo+IAo+IFRoZSBleHRlbnNpb24gY291
bGQgYWxzbyBpbnNwZWN0IHRoZSBIVE1MIHx0eXBlfCBhdHRyaWJ1dGUgd2hlbiBwcmVzZW50Lgo+
IAo+IEV4YW1wbGVzIGluY2x1ZGU6Cj4gCj4gfHZpZGVvLyogYXVkaW8vKiBhcHBsaWNhdGlvbi9k
YXNoK3htbCBhcHBsaWNhdGlvbi9vZ2cgYXBwbGljYXRpb24vIAo+IHZuZC5hcHBsZS5tcGVndXJs
IGFwcGxpY2F0aW9uL3gtbXBlZ3VybCBhcHBsaWNhdGlvbi94c3BmK3htbCB8Cj4gCj4gCj4gICAg
ICAgU3RyZWFtaW5nIHByb3RvY29scwo+IAo+IExpbmtzIHVzaW5nIFZMQy1zdXBwb3J0ZWQgcHJv
dG9jb2xzIGNvdWxkIGFsc28gcmVjZWl2ZSBhIFZMQyBsaW5rLgo+IAo+IEV4YW1wbGVzOgo+IAo+
IHxydHNwOi8vIHJ0c3BzOi8vIHJ0bXA6Ly8gcnRtcHM6Ly8gbW1zOi8vIG1tc2g6Ly8gbW1zdDov
LyBydHA6Ly8gdWRwOi8vIHwKPiAKPiAKPiAgICAgICBVUkxzIGNvbnRhaW5pbmcgZmlsZW5hbWVz
IGluIHF1ZXJ5IHBhcmFtZXRlcnMKPiAKPiBTb21lIHdlYnNpdGVzIGRvIG5vdCBlbmQgdGhlIHZp
c2libGUgVVJMIHBhdGggd2l0aCBhIG1lZGlhIGV4dGVuc2lvbi4KPiAKPiBGb3IgZXhhbXBsZToK
PiAKPiB8aHR0cHM6Ly9leGFtcGxlLmNvbS9kb3dubG9hZD9pZD0xMjMmZmlsZW5hbWU9dmlkZW8u
bWt2IDxodHRwczovLyAKPiBleGFtcGxlLmNvbS9kb3dubG9hZD9pZD0xMjMmZmlsZW5hbWU9dmlk
ZW8ubWt2PiB8Cj4gCj4gVGhlIGV4dGVuc2lvbiBjb3VsZCBleGFtaW5lIHF1ZXJ5IHBhcmFtZXRl
ciB2YWx1ZXMgYW5kIHRoZSB2aXNpYmxlIGxpbmsgCj4gdGV4dCBmb3IgcmVjb2duaXphYmxlIG1l
ZGlhIGZpbGVuYW1lcy4KPiAKPiAKPiAgICAgRHluYW1pY2FsbHkgbG9hZGVkIHBhZ2VzCj4gCj4g
TWFueSBtb2Rlcm4gd2Vic2l0ZXMgbG9hZCBvciByZXBsYWNlIGNvbnRlbnQgYWZ0ZXIgdGhlIGlu
aXRpYWwgcGFnZSBsb2FkLgo+IAo+IFRoZSBleHRlbnNpb24gc2hvdWxkIG1vbml0b3IgdGhlIGRv
Y3VtZW50IGZvciBuZXdseSBhZGRlZCBsaW5rcyBhbmQgYWRkIAo+IFZMQyBsaW5rcyB3aGVuIG5l
dyBtZWRpYSBpdGVtcyBhcHBlYXIuCj4gCj4gVGhpcyBjb3VsZCBiZSBpbXBsZW1lbnRlZCB3aXRo
IGEgfE11dGF0aW9uT2JzZXJ2ZXJ8Lgo+IAo+IFRoZSBleHRlbnNpb24gc2hvdWxkIGF2b2lkIGFk
ZGluZyBkdXBsaWNhdGUgVkxDIGxpbmtzIHdoZW4gdGhlIHBhZ2UgaXMgCj4gbW9kaWZpZWQgcmVw
ZWF0ZWRseS4KPiAKPiAKPiAgICAgUHJvcG9zZWQgfHZsYzovL3wgcHJvdG9jb2wKPiAKPiBUaGUg
RmlyZWZveCBleHRlbnNpb24gbmVlZHMgYSBzZWN1cmUgYW5kIGRlcGVuZGFibGUgd2F5IHRvIHBh
c3MgdGhlIAo+IG1lZGlhIFVSTCB0byB0aGUgaW5zdGFsbGVkIFZMQyBhcHBsaWNhdGlvbi4KPiAK
PiBJIHN1Z2dlc3QgdGhhdCBvZmZpY2lhbCBWTEMgcGFja2FnZXMgcmVnaXN0ZXIgYSBjdXN0b20g
cHJvdG9jb2wgd2hlbiBWTEMgCj4gaXMgaW5zdGFsbGVkOgo+IAo+IHx2bGM6Ly8gfAo+IAo+IEEg
VkxDIGxpbmsgY291bGQgY29udGFpbiB0aGUgZW5jb2RlZCBvcmlnaW5hbCBVUkwgaW4gYSBmb3Jt
IHN1Y2ggYXM6Cj4gCj4gfHZsYzovL29wZW4/dXJsPWh0dHBzJTNBJTJGJTJGZXhhbXBsZS5jb20l
MkZ2aWRlby5ta3YgfAo+IAo+IFRoZSBVUkwgbXVzdCBiZSBlbmNvZGVkIHNvIHRoYXQgY2hhcmFj
dGVycyBzdWNoIGFzIHRoZXNlIGFyZSBwcmVzZXJ2ZWQgCj4gY29ycmVjdGx5Ogo+IAo+IHwmID8g
IyAlIHNwYWNlcyBVbmljb2RlIGNoYXJhY3RlcnMgc2lnbmVkIFVSTCBwYXJhbWV0ZXJzIHRlbXBv
cmFyeSAKPiBhY2Nlc3MgdG9rZW5zIHwKPiAKPiBWTEPigJlzIHByb3RvY29sIGhhbmRsZXIgd291
bGQgZGVjb2RlIHRoZSB8dXJsfCBwYXJhbWV0ZXIsIHZhbGlkYXRlIGl0LCAKPiBhbmQgb3BlbiB0
aGUgcmVzdWx0aW5nIG5ldHdvcmsgbG9jYXRpb24gaW4gVkxDLgo+IAo+IAo+ICAgICBWTEMgaW5z
dGFsbGVyIGludGVncmF0aW9uCj4gCj4gVGhlIG9mZmljaWFsIFZMQyBpbnN0YWxsZXIgb3IgcGFj
a2FnZSBzaG91bGQgcmVnaXN0ZXIgdGhlIHx2bGM6Ly98IAo+IHByb3RvY29sIGhhbmRsZXIuCj4g
Cj4gCj4gICAgICAgV2luZG93cwo+IAo+IFRoZSBWTEMgaW5zdGFsbGVyIGNvdWxkIGNyZWF0ZSB0
aGUgYXBwcm9wcmlhdGUgcmVnaXN0cnkgZW50cmllcyBzbyB0aGF0IAo+IHx2bGM6Ly98IFVSTHMg
bGF1bmNoIFZMQy4KPiAKPiAKPiAgICAgICBMaW51eAo+IAo+IFZMQyBjb3VsZCBpbnN0YWxsIGEg
ZGVza3RvcCBlbnRyeSBkZWNsYXJpbmc6Cj4gCj4gfE1pbWVUeXBlPXgtc2NoZW1lLWhhbmRsZXIv
dmxjOyB8Cj4gCj4gVGhlIHN5c3RlbSBjb3VsZCBhc3NvY2lhdGUgdGhhdCBoYW5kbGVyIHdpdGgg
VkxDIHVzaW5nIHRoZSBzdGFuZGFyZCAKPiBmcmVlZGVza3RvcCBkZXNrdG9wIGFuZCBNSU1FIG1l
Y2hhbmlzbXMuCj4gCj4gCj4gICAgICAgbWFjT1MKPiAKPiBUaGUgVkxDIGFwcGxpY2F0aW9uIGJ1
bmRsZSBjb3VsZCBkZWNsYXJlIHN1cHBvcnQgZm9yIHRoZSB8dmxjfCBVUkwgc2NoZW1lLgo+IAo+
IFRoaXMgd291bGQgcHJvdmlkZSBjb25zaXN0ZW50IGJlaGF2aW9yIGFjcm9zcyBXaW5kb3dzLCBM
aW51eCwgYW5kIG1hY09TLgo+IAo+IAo+ICAgICBTZWN1cml0eSBjb25zaWRlcmF0aW9ucwo+IAo+
IFRoZSBWTEMgcHJvdG9jb2wgaGFuZGxlciBzaG91bGQgbm90IGV4ZWN1dGUgYXJiaXRyYXJ5IGNv
bW1hbmRzLgo+IAo+IEl0IHNob3VsZCBhY2NlcHQgb25seSBhIFVSTCB2YWx1ZSBhbmQgcGFzcyBp
dCB0byBWTEMgYXMgYSBtZWRpYSBsb2NhdGlvbi4KPiAKPiBUaGUgaGFuZGxlciBzaG91bGQ6Cj4g
Cj4gICAqCj4gCj4gICAgIFBhcnNlIHRoZSB8dmxjOi8vfCBVUkwgc2FmZWx5Lgo+IAo+ICAgKgo+
IAo+ICAgICBSZXF1aXJlIGFuIGV4cGxpY2l0bHkgbmFtZWQgVVJMIHBhcmFtZXRlci4KPiAKPiAg
ICoKPiAKPiAgICAgRGVjb2RlIHRoZSBVUkwgb25jZSB1c2luZyBhIHN0YW5kYXJkIFVSTCBkZWNv
ZGVyLgo+IAo+ICAgKgo+IAo+ICAgICBSZWplY3QgdW5zdXBwb3J0ZWQgb3IgZGFuZ2Vyb3VzIHRh
cmdldCBzY2hlbWVzLgo+IAo+ICAgKgo+IAo+ICAgICBQYXNzIHRoZSB0YXJnZXQgVVJMIGFzIGEg
c2luZ2xlIGFyZ3VtZW50Lgo+IAo+ICAgKgo+IAo+ICAgICBBdm9pZCBpbnZva2luZyBhIHNoZWxs
Lgo+IAo+ICAgKgo+IAo+ICAgICBBdm9pZCBpbnRlcnByZXRpbmcgY29tbWFuZC1saW5lIHN3aXRj
aGVzIGVtYmVkZGVkIGluIHRoZSBVUkwuCj4gCj4gICAqCj4gCj4gICAgIFVzZSBhbiBhcmd1bWVu
dCBzZXBhcmF0b3Igc3VjaCBhcyB8LS18IGJlZm9yZSB0aGUgbWVkaWEgVVJMIHdoZXJlCj4gICAg
IGFwcGxpY2FibGUuCj4gCj4gRm9yIGV4YW1wbGU6Cj4gCj4gfHZsYyAtLSAiaHR0cHM6Ly9leGFt
cGxlLmNvbS92aWRlby5tcDQgPGh0dHBzOi8vZXhhbXBsZS5jb20vdmlkZW8ubXA0PiIgfAo+IAo+
IFRoZSBoYW5kbGVyIGNvdWxkIGFsbG93IGtub3duIG1lZGlhIHNjaGVtZXMgc3VjaCBhczoKPiAK
PiB8aHR0cCBodHRwcyBmdHAgZnRwcyBzZnRwIHNtYiBydHNwIHJ0c3BzIHJ0bXAgcnRtcHMgbW1z
IG1tc2ggbW1zdCBydHAgdWRwIHwKPiAKPiBMb2NhbCBmaWxlIFVSTHMgY291bGQgYmUgZGlzYWJs
ZWQgYnkgZGVmYXVsdCBvciBoYW5kbGVkIHVuZGVyIGEgc3RyaWN0ZXIgCj4gcG9saWN5Lgo+IAo+
IAo+ICAgICBQcml2YWN5IGNvbnNpZGVyYXRpb25zCj4gCj4gVGhlIGV4dGVuc2lvbiBzaG91bGQg
cGVyZm9ybSBhbGwgbWVkaWEtbGluayBkZXRlY3Rpb24gbG9jYWxseSBpbiBGaXJlZm94Lgo+IAo+
IEl0IHNob3VsZCBub3Q6Cj4gCj4gICAqCj4gCj4gICAgIFNlbmQgYnJvd3NpbmcgaGlzdG9yeSB0
byBWTEMgc2VydmVycy4KPiAKPiAgICoKPiAKPiAgICAgVXBsb2FkIFVSTHMgdG8gYSB0aGlyZCBw
YXJ0eS4KPiAKPiAgICoKPiAKPiAgICAgQ29sbGVjdCBhbmFseXRpY3MgYnkgZGVmYXVsdC4KPiAK
PiAgICoKPiAKPiAgICAgSW5zcGVjdCBwYWdlIGNvbnRlbnQgYmV5b25kIHdoYXQgaXMgbmVjZXNz
YXJ5IHRvIGlkZW50aWZ5IGxpbmtzLgo+IAo+ICAgKgo+IAo+ICAgICBsb2cgc2lnbmVkIFVSTHMg
b3IgYXV0aGVudGljYXRpb24gdG9rZW5zLgo+IAo+IElmIGRpYWdub3N0aWMgbG9nZ2luZyBpcyBw
cm92aWRlZCwgcXVlcnkgc3RyaW5ncyBhbmQgZnJhZ21lbnRzIHNob3VsZCBiZSAKPiBvbWl0dGVk
IG9yIHJlZGFjdGVkIGJlY2F1c2UgdGhleSBtYXkgY29udGFpbiB0ZW1wb3JhcnkgYWNjZXNzIGNy
ZWRlbnRpYWxzLgo+IAo+IAo+ICAgICBBdXRoZW50aWNhdGlvbiBhbmQgY29va2llcwo+IAo+IFNv
bWUgbWVkaWEgVVJMcyByZXF1aXJlIGJyb3dzZXIgY29va2llcywgYXV0aG9yaXphdGlvbiBoZWFk
ZXJzLCByZWZlcnJlciAKPiBoZWFkZXJzLCBvciBleHBpcmluZyB0b2tlbnMuCj4gCj4gVGhlIGJh
c2ljIGltcGxlbWVudGF0aW9uIHNob3VsZCBwYXNzIHRoZSBvcmlnaW5hbCBVUkwgYXMtaXMuCj4g
Cj4gRm9yIHNpdGVzIHdoZXJlIHRoZSBVUkwgYWxvbmUgaXMgaW5zdWZmaWNpZW50LCBhIGZ1dHVy
ZSBhZHZhbmNlZCBtb2RlIAo+IG1pZ2h0IG9wdGlvbmFsbHkgcHJvdmlkZToKPiAKPiAgICoKPiAK
PiAgICAgVGhlIHBhZ2UgcmVmZXJyZXIuCj4gCj4gICAqCj4gCj4gICAgIFNlbGVjdGVkIHJlcXVl
c3QgaGVhZGVycy4KPiAKPiAgICoKPiAKPiAgICAgQ29va2llcywgb25seSB3aXRoIGV4cGxpY2l0
IHVzZXIgcGVybWlzc2lvbi4KPiAKPiAgICoKPiAKPiAgICAgQSBnZW5lcmF0ZWQgdGVtcG9yYXJ5
IHBsYXlsaXN0IGZpbGUgY29udGFpbmluZyBWTEMgb3B0aW9ucy4KPiAKPiBIb3dldmVyLCB0aGlz
IHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5IGZvciB0aGUgaW5pdGlhbCB2ZXJzaW9uLgo+IAo+IFRo
ZSBmaXJzdCBvZmZpY2lhbCB2ZXJzaW9uIGNvdWxkIGZvY3VzIG9uIG9yZGluYXJ5IGRpcmVjdCBt
ZWRpYSBsaW5rcyAKPiBhbmQgcHVibGljIG9yIHRva2VuaXplZCBzdHJlYW0gVVJMcy4KPiAKPiAK
PiAgICAgVXNlciBzZXR0aW5ncwo+IAo+IFVzZWZ1bCBleHRlbnNpb24gc2V0dGluZ3MgY291bGQg
aW5jbHVkZToKPiAKPiAgICoKPiAKPiAgICAgRW5hYmxlIG9yIGRpc2FibGUgdGhlIGV4dGVuc2lv
biBnbG9iYWxseS4KPiAKPiAgICoKPiAKPiAgICAgRW5hYmxlIG9yIGRpc2FibGUgaXQgb24gc2Vs
ZWN0ZWQgd2Vic2l0ZXMuCj4gCj4gICAqCj4gCj4gICAgIENob29zZSB3aGV0aGVyIHRoZSBWTEMg
bGluayBpcyBib2xkLgo+IAo+ICAgKgo+IAo+ICAgICBDdXN0b21pemUgdGhlIGxhYmVsLCBzdWNo
IGFzIHxWTEN8LCB8UGxheSBpbiBWTEN8LCBvciBhIFZMQyBpY29uLgo+IAo+ICAgKgo+IAo+ICAg
ICBQbGFjZSB0aGUgVkxDIGxpbmsgYmVmb3JlIG9yIGFmdGVyIHRoZSBvcmlnaW5hbCBsaW5rLgo+
IAo+ICAgKgo+IAo+ICAgICBTZWxlY3Qgd2hpY2ggbWVkaWEgdHlwZXMgYXJlIGRldGVjdGVkLgo+
IAo+ICAgKgo+IAo+ICAgICBFbmFibGUgb3IgZGlzYWJsZSBhdWRpbyBsaW5rcy4KPiAKPiAgICoK
PiAKPiAgICAgRW5hYmxlIG9yIGRpc2FibGUgcGxheWxpc3QgbGlua3MuCj4gCj4gICAqCj4gCj4g
ICAgIEVuYWJsZSBvciBkaXNhYmxlIGRpcmVjdCBzdHJlYW1pbmcgcHJvdG9jb2xzLgo+IAo+ICAg
Kgo+IAo+ICAgICBTaG93IHRoZSBmdWxsIHRhcmdldCBVUkwgaW4gYSB0b29sdGlwLgo+IAo+ICAg
Kgo+IAo+ICAgICBPcGVuIFZMQyBpbW1lZGlhdGVseSBvciBzaG93IGEgY29uZmlybWF0aW9uIHBy
b21wdC4KPiAKPiAgICoKPiAKPiAgICAgQWRkIGEgY29udGV4dC1tZW51IG9wdGlvbiBuYW1lZCAq
T3BlbiBsaW5rIGluIFZMQyouCj4gCj4gICAqCj4gCj4gICAgIEFkZCBhIHRvb2xiYXIgYWN0aW9u
IGZvciBzY2FubmluZyBvciBvcGVuaW5nIHRoZSBjdXJyZW50IHBhZ2XigJlzIG1lZGlhLgo+IAo+
IAo+ICAgICBDb250ZXh0LW1lbnUgc3VwcG9ydAo+IAo+IEluIGFkZGl0aW9uIHRvIGFkZGluZyB2
aXNpYmxlIFZMQyBsaW5rcywgdGhlIGV4dGVuc2lvbiBjb3VsZCBwcm92aWRlOgo+IAo+IHxPcGVu
IGxpbmsgaW4gVkxDIHwKPiAKPiBpbiBGaXJlZm944oCZcyByaWdodC1jbGljayBjb250ZXh0IG1l
bnUuCj4gCj4gVGhpcyB3b3VsZCBiZSB1c2VmdWwgd2hlbjoKPiAKPiAgICoKPiAKPiAgICAgQSBz
aXRl4oCZcyBkZXNpZ24gbWFrZXMgaXQgZGlmZmljdWx0IHRvIGluc2VydCBhIHZpc2libGUgVkxD
IGxpbmsuCj4gCj4gICAqCj4gCj4gICAgIFRoZSBVUkwgaGFzIG5vIHJlY29nbml6YWJsZSBmaWxl
bmFtZSBleHRlbnNpb24uCj4gCj4gICAqCj4gCj4gICAgIFRoZSB1c2VyIGtub3dzIHRoYXQgYW4g
dW51c3VhbCBsaW5rIGlzIGEgcGxheWFibGUgbWVkaWEgc291cmNlLgo+IAo+ICAgKgo+IAo+ICAg
ICBUaGUgZXh0ZW5zaW9uIGZhaWxzIHRvIGlkZW50aWZ5IGEgbGluayBhdXRvbWF0aWNhbGx5Lgo+
IAo+IFRoZSB2aXNpYmxlIGJvbGQgVkxDIGxpbmsgc2hvdWxkIHJlbWFpbiB0aGUgbWFpbiBmZWF0
dXJlIGJlY2F1c2UgaXQgaXMgCj4gZmFzdGVyIGFuZCBlYXNpZXIgZm9yIHBhZ2VzIGNvbnRhaW5p
bmcgbWFueSBtZWRpYSBmaWxlcy4KPiAKPiAKPiAgICAgRXhwZWN0ZWQgd29ya2Zsb3cKPiAKPiAg
MS4KPiAKPiAgICAgVGhlIHVzZXIgaW5zdGFsbHMgVkxDLgo+IAo+ICAyLgo+IAo+ICAgICBWTEMg
cmVnaXN0ZXJzIHRoZSB8dmxjOi8vfCBwcm90b2NvbCBoYW5kbGVyLgo+IAo+ICAzLgo+IAo+ICAg
ICBUaGUgdXNlciBpbnN0YWxscyB0aGUgb2ZmaWNpYWwgVkxDIGV4dGVuc2lvbiBmcm9tIE1vemls
bGEgQWRkLW9ucy4KPiAKPiAgNC4KPiAKPiAgICAgQSB3ZWIgcGFnZSBjb250YWlucyBhIGxpbmsg
dG8gYSBtZWRpYSBmaWxlLgo+IAo+ICA1Lgo+IAo+ICAgICBUaGUgZXh0ZW5zaW9uIGFkZHMgYSBi
b2xkICpWTEMqIGxpbmsgYmVzaWRlIGl0Lgo+IAo+ICA2Lgo+IAo+ICAgICBUaGUgdXNlciBjbGlj
a3MgKlZMQyouCj4gCj4gIDcuCj4gCj4gICAgIEZpcmVmb3ggYXNrcyBmb3IgcGVybWlzc2lvbiB0
aGUgZmlyc3QgdGltZSBpdCBvcGVucyB0aGUgZXh0ZXJuYWwgVkxDCj4gICAgIGhhbmRsZXIuCj4g
Cj4gIDguCj4gCj4gICAgIFZMQyByZWNlaXZlcyBhbmQgZGVjb2RlcyB0aGUgb3JpZ2luYWwgVVJM
Lgo+IAo+ICA5Lgo+IAo+ICAgICBWTEMgYmVnaW5zIHN0cmVhbWluZyB0aGUgbWVkaWEuCj4gCj4g
VGhlIG9yaWdpbmFsIHdlYiBsaW5rIHJlbWFpbnMgY29tcGxldGVseSB1bmNoYW5nZWQuCj4gCj4g
Cj4gICAgIEV4aXN0aW5nIHByb29mIG9mIGNvbmNlcHQKPiAKPiBJIGN1cnJlbnRseSB1c2UgYSB3
b3JraW5nIHByb29mIG9mIGNvbmNlcHQgYnVpbHQgZnJvbToKPiAKPiAgICoKPiAKPiAgICAgQSBU
YW1wZXJtb25rZXkgdXNlcnNjcmlwdC4KPiAKPiAgICoKPiAKPiAgICAgQSBsb2NhbGx5IHJlZ2lz
dGVyZWQgfHZsYzovL3wgcHJvdG9jb2wgaGFuZGxlci4KPiAKPiAgICoKPiAKPiAgICAgQSBzbWFs
bCBVUkwtZGVjb2RpbmcgbGF1bmNoZXIuCj4gCj4gVGhlIHVzZXJzY3JpcHQ6Cj4gCj4gICAqCj4g
Cj4gICAgIERldGVjdHMgY29tbW9uIHZpZGVvLCBhdWRpbywgcGxheWxpc3QsIGFuZCBtYW5pZmVz
dCBmb3JtYXRzLgo+IAo+ICAgKgo+IAo+ICAgICBBZGRzIGEgYm9sZCAqVkxDKiBsaW5rIGJlc2lk
ZSB0aGUgb3JpZ2luYWwgbGluay4KPiAKPiAgICoKPiAKPiAgICAgQ29udmVydHMgcmVsYXRpdmUg
bGlua3MgaW50byBhYnNvbHV0ZSBVUkxzLgo+IAo+ICAgKgo+IAo+ICAgICBVUkwtZW5jb2RlcyB0
aGUgdGFyZ2V0IGJlZm9yZSBwbGFjaW5nIGl0IGluIHRoZSB8dmxjOi8vfCBsaW5rLgo+IAo+ICAg
Kgo+IAo+ICAgICBEZXRlY3RzIGxpbmtzIGxvYWRlZCBkeW5hbWljYWxseSBhZnRlciB0aGUgaW5p
dGlhbCBwYWdlIGxvYWQuCj4gCj4gICAqCj4gCj4gICAgIERvZXMgbm90IG1vZGlmeSB0aGUgd2Vi
c2l0ZeKAmXMgb3JpZ2luYWwgbGluay4KPiAKPiAgICoKPiAKPiAgICAgUHJlc2VydmVzIG5vcm1h
bCBGaXJlZm94IGRvd25sb2FkaW5nIGFuZCByaWdodC1jbGljayBiZWhhdmlvci4KPiAKPiBUaGUg
bG9jYWwgaGFuZGxlcjoKPiAKPiAgICoKPiAKPiAgICAgUmVjZWl2ZXMgdGhlIHx2bGM6Ly98IFVS
TC4KPiAKPiAgICoKPiAKPiAgICAgRXh0cmFjdHMgYW5kIGRlY29kZXMgdGhlIG9yaWdpbmFsIG1l
ZGlhIFVSTC4KPiAKPiAgICoKPiAKPiAgICAgVmVyaWZpZXMgdGhhdCB0aGUgZGVzdGluYXRpb24g
dXNlcyBhbiBhbGxvd2VkIHByb3RvY29sLgo+IAo+ICAgKgo+IAo+ICAgICBMYXVuY2hlcyBWTEMg
d2l0aCB0aGUgb3JpZ2luYWwgVVJMIGFzIGEgc2luZ2xlIGFyZ3VtZW50Lgo+IAo+ICAgKgo+IAo+
ICAgICBEb2VzIG5vdCB1c2UgYSBjb21tYW5kIHNoZWxsLgo+IAo+ICAgKgo+IAo+ICAgICBBdm9p
ZHMgcmVjb3JkaW5nIHNlbnNpdGl2ZSBxdWVyeSBwYXJhbWV0ZXJzIGluIGl0cyBkaWFnbm9zdGlj
IGxvZy4KPiAKPiBUaGUgcHJvb2Ygb2YgY29uY2VwdCB3b3JrcyB2ZXJ5IHdlbGwgb24gRGViaWFu
IGFuZCBzaG91bGQgdXNlIHRoZSBzYW1lIAo+IGdlbmVyYWwgYXBwcm9hY2ggb24gVWJ1bnR1IGFu
ZCBvdGhlciBMaW51eCBkZXNrdG9wIGRpc3RyaWJ1dGlvbnMuCj4gCj4gQSBwcmV2aW91cyB2ZXJz
aW9uIGFsc28gd29ya2VkIG9uIFdpbmRvd3MgdXNpbmcgYSBXaW5kb3dzIGN1c3RvbS0gCj4gcHJv
dG9jb2wgcmVnaXN0cmF0aW9uIGFuZCBsYXVuY2hlci4KPiAKPiAKPiAgICAgUmVxdWVzdGVkIGlt
cGxlbWVudGF0aW9uCj4gCj4gUGxlYXNlIGNvbnNpZGVyIGNyZWF0aW5nIGFuICpvZmZpY2lhbCBW
TEMgZXh0ZW5zaW9uIGZvciBGaXJlZm94KiB0aGF0IAo+IHByb3ZpZGVzIHRoaXMgZnVuY3Rpb25h
bGl0eS4KPiAKPiBJZGVhbGx5LCB0aGUgb2ZmaWNpYWwgVkxDIHByb2plY3Qgd291bGQgcHJvdmlk
ZSBib3RoIHBhcnRzOgo+IAo+ICAxLgo+IAo+ICAgICBBbiBvZmZpY2lhbCBGaXJlZm94IGV4dGVu
c2lvbiBwdWJsaXNoZWQgdW5kZXIgdGhlIFZpZGVvTEFOIG9yIFZMQwo+ICAgICBkZXZlbG9wZXIg
YWNjb3VudC4KPiAKPiAgMi4KPiAKPiAgICAgTmF0aXZlIHx2bGM6Ly98IHByb3RvY29sIGhhbmRs
aW5nIGluY2x1ZGVkIHdpdGggVkxDIGluc3RhbGxhdGlvbgo+ICAgICBwYWNrYWdlcyBmb3IgV2lu
ZG93cywgTGludXgsIGFuZCBtYWNPUy4KPiAKPiBUaGlzIHdvdWxkIG1ha2UgdGhlIGZlYXR1cmUg
ZWFzeSB0byBpbnN0YWxsLCBzYWZlciwgbW9yZSB0cnVzdHdvcnRoeSwgCj4gYW5kIG1vcmUgcmVs
aWFibGUgdGhhbiByZXF1aXJpbmcgdXNlcnMgdG8gaW5zdGFsbCB0aGlyZC1wYXJ0eSBicm93c2Vy
IAo+IHNjcmlwdHMgYW5kIG1hbnVhbGx5IGNyZWF0ZSBvcGVyYXRpbmctc3lzdGVtIHByb3RvY29s
IGhhbmRsZXJzLgo+IAo+IFRoZSBleHRlbnNpb24gc2hvdWxkIGFkZCBhIGJvbGQgKlZMQyogbGlu
ayBiZXNpZGUgZXZlcnkgbWVkaWEgbGluayB0aGF0IAo+IFZMQyBjYW4gcmVhc29uYWJseSBzdHJl
YW0sIHdoaWxlIGxlYXZpbmcgdGhlIHdlYnNpdGXigJlzIG9yaWdpbmFsIGxpbmtzIAo+IGFuZCBk
b3dubG9hZCBiZWhhdmlvciB1bnRvdWNoZWQuCj4gCj4gSSBiZWxpZXZlIHRoaXMgd291bGQgYmUg
YSB2ZXJ5IHVzZWZ1bCBmZWF0dXJlIGZvciB1c2VycyB3aG8gcHJlZmVyIFZMQ+KAmXMgCj4gcGxh
eWJhY2ssIGNvZGVjIHN1cHBvcnQsIGJ1ZmZlcmluZywgYXVkaW8gY29udHJvbHMsIHN1YnRpdGxl
cywgaGFyZHdhcmUgCj4gYWNjZWxlcmF0aW9uLCBhbmQgbmV0d29yay1zdHJlYW1pbmcgY2FwYWJp
bGl0aWVzIG92ZXIgYnJvd3NlciBwbGF5YmFjay4KPiAKPiAKPiAKPiBfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IHZsYy1kZXZlbCBtYWlsaW5nIGxpc3QK
PiBUbyB1bnN1YnNjcmliZSBvciBtb2RpZnkgeW91ciBzdWJzY3JpcHRpb24gb3B0aW9uczoKPiBo
dHRwczovL21haWxtYW4udmlkZW9sYW4ub3JnL2xpc3RpbmZvL3ZsYy1kZXZlbAoKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KdmxjLWRldmVsIG1haWxpbmcg
bGlzdApUbyB1bnN1YnNjcmliZSBvciBtb2RpZnkgeW91ciBzdWJzY3JpcHRpb24gb3B0aW9uczoK
aHR0cHM6Ly9tYWlsbWFuLnZpZGVvbGFuLm9yZy9saXN0aW5mby92bGMtZGV2ZWwK