Re: MetaData Update for FLAC and OPUS

Thomas B. Rücker <[email protected]> Sat, 24 Aug 2019 12:16:21 +0000
Newsgroups gmane.comp.audio.icecast.devel
Message-ID <[email protected]>
SGksCgpPbiA4LzIxLzE5IDY6MzMgQU0sIGJuQHJhZGlvNDIuY29tIHdyb3RlOgo+IFRoYW5rcyBm
b3IgeW91ciBjbGVhciBhbnN3ZXIuCj4KPiBJJ2xsIHRyeSB0byBjb250YWN0IHRoZSBPR0csIEZM
QUMgYSBPcHVzIGVuY29kZXIgZGV2ZWxvcGVycyBhdCB4aXBoLm9yZy4KPiBBcyBpdCBjdXJyZW50
bHkgc2VlbXMsIHRoYXQgdGhlcmUgaXMgbm8gZGlyZWN0IHN1cHBvcnQgZm9yIGNoYWluZWQgc3Ry
ZWFtcyBvbiB0aGUgJ2NsaWVudC1zaWRlJyAoZW5jb2RlciBzaWRlKSB3aGVuIHVzaW5nIHRoZSBy
ZWZlcmVuY2UgZW5jb2RlcnMgYXMgcHJvdmlkZWQgYnkgeGlwaC5vcmcuCj4gQXMgc3VjaCBJIGZp
bmQgaXQgYSBiaXQgb2RkIHRvIGhhdmUgbm8gJ291dC1vZi10aGUtYm94JyBzb2x1dGlvbiBhdmFp
bGFibGUgYXQgYWxsLgoKCk9nZyBjaGFpbmluZyBzdWZmZXJzIGZyb20gYSBsb25nIHN0YW5kaW5n
IGNoaWNrZW4tYW5kLWVnZyBwcm9ibGVtLiBUaGVyZQphcmVuJ3QgbWFueSBpbXBsZW1lbnRhdGlv
bnMgYW5kIGV2ZW4gaW4gdGhlIHBsYXllciB3b3JsZCB0aGlzIGlzIG9mdGVuCm5vdCB3ZWxsIGlt
cGxlbWVudGVkLiBXZSB3ZWxjb21lIGV2ZXJ5b25lIHdobyBpcyB3aWxsaW5nIHRvIGdvIHRoYXQK
ZXh0cmEgbGVuZ3RoIGZvciB0aGVpciB1c2VycyBhbmQgYXJlIGhhcHB5IHRvIGhlbHAsIHdlIG9u
bHkgYXNrIGZvcgpwYXRpZW5jZSBhcyBtb3N0IG9mIHVzIGFyZSBsb3cgb24gc3BhcmUgdGltZS4K
Cgo+IEV2ZW4gaWYgYWxsL3lvdSBzYXk6IGl0IHNlZW1zIGZhaXJseSBlYXN5IHRvIHNvbHZlIHRo
ZSBpc3N1ZSBvbiB0aGUgY2xpZW50IChlbmNvZGVyKSBzaWRlLCBJIGd1ZXNzIG5vbmUgb2YgeW91
IGhhdmUgZXZlciBkb25lIGl0IGJ5IHVzaW5nIHRoZSBzdGFuZGFyZCB0b29scyBhdmFpbGFibGUg
YXQgeGlwaC5vcmc/IQoKClBsZWFzZSBkb24ndCBqdW1wIHRvIGNsb25jbHVzaW9ucyBsaWtlIHRo
YXQuIEkgdW5kZXJzdGFuZCB0aGF0IHRoaXMgaXMgYQpjdW1iZXJzb21lIHRvcGljLCBidXQgaXQn
cyBlYXNpZXIgYWRkcmVzc2VkIHdoZW4gd2UncmUgYWxsIGNhbG0gYW5kCmZyaWVuZGx5LgoKQXMg
cHJldmlvdXNseSBtZW50aW9uZWQsIEljZVMgZG9lcyBpbXBsZW1lbnQgdGhpcy4KaHR0cDovL2lj
ZWNhc3Qub3JnL2ljZXMvClNwZWNpZmljYWxseSB0aGlzIHBhcnQgcmVsYXRpbmcgdG8gdXBkYXRp
bmcgdm9yYmlzLWNvbW1lbnRzOgpodHRwczovL2dpdGxhYi54aXBoLm9yZy94aXBoL2ljZWNhc3Qt
aWNlcy9ibG9iL21hc3Rlci9zcmMvc3RyZWFtLmMjTDI0OApTZWUgYWxzbzogaHR0cHM6Ly9lbi53
aWtpcGVkaWEub3JnL3dpa2kvVm9yYmlzX2NvbW1lbnQgZm9yIHdoeSBpdCdzIG5vdApqdXN0IFZv
cmJpcywgYnV0IGFsc28gT3B1cywgRkxBQywgZXRjLgoKSSBoYXZlbid0IHdyaXR0ZW4gdGhlIGlj
ZXMgY29kZSwgYnV0IGl0IGlzIHRoZSBkZWZhY3RvIHJlZmVyZW5jZQppbXBsZW1lbnRhdGlvbiBh
cyBpdCB3YXMgZG9uZSBhbG9uZ3NpZGUgdGhlIEljZWNhc3Qgb2dnIHdvcmssIGFsbW9zdCAyMAp5
ZWFycyBhZ28uIEknbSBzdXJlIHRoZXJlIGFyZSBhIGZldyBvdGhlciBpbXBsZW1lbnRhdGlvbnMg
dG9vIGFuZCBob3BlCnNvbWVvbmUgY2FuIHBvaW50IHRob3NlIG91dC4KCgo+IElmIEkgYW0gd3Jv
bmcsIEkgd291bGQgYmUgdmVyeSBoYXBweSB0byByZWNlaXZlIHNvbWUgZ3VpZGFuY2Ugb24gdGhp
cywgaS5lLiBob3cgY2FuIEkgcHJvdmlkZSBjaGFpbmVkIHN0cmVhbXMgb24gYSBjb250aW51b3Vz
IHNvdXJjZSB3aGVuIHVzaW5nIHRoZSB4aXBoLm9yZyByZWZlcmVuY2UgZW5jb2RlcnMgKGUuZy4g
RkxBQyBvciBPcHVzKT8hCgoKSWYgeW91IG5lZWQgZnVydGhlciBoZWxwIHJlZ2FyZGluZyB2b3Ji
aXMtY29tbWVudHMgYW5kIGNoYWluZWQgT2dnLApwbGVhc2UgZG9uJ3QgaGVzaXRhdGUgdG8gYXNr
IGhlcmUuCgoKQ2hlZXJzLAoKVEJSCgoKPgo+IC0tLS0tVXJzcHLDvG5nbGljaGUgTmFjaHJpY2h0
LS0tLS0KPiBWb246IEljZWNhc3QtZGV2IDxpY2VjYXN0LWRldi1ib3VuY2VzQHhpcGgub3JnPiBJ
bSBBdWZ0cmFnIHZvbiBUaG9tYXMgQi4gUsO8Y2tlcgo+IEdlc2VuZGV0OiBEaWVuc3RhZywgMjAu
IEF1Z3VzdCAyMDE5IDIyOjMxCj4gQW46IGljZWNhc3QtZGV2QHhpcGgub3JnCj4gQmV0cmVmZjog
UmU6IFtJY2VjYXN0LWRldl0gTWV0YURhdGEgVXBkYXRlIGZvciBGTEFDIGFuZCBPUFVTCj4KPiBI
aSwKPgo+IE9uIDgvMTYvMTkgNjoxMCBBTSwgQmVybmQgTmllZGVyZ2Vzw6TDnyB3cm90ZToKPj4g
SSBhbSBhIHNvZnR3YXJlIGRldmVsb3BlciBteXNlbGYuIFdlIGRldmVsb3AgYSBSYWRpbyBBdXRv
bWF0aW9uIFN5c3RlbS9Ccm9hZGNhc3RpbmcuIEhlbmNlIHdlIGFyZSB1c2luZyB0aGUgcmVmZXJl
bmNlIGVuY29kZXJzLiAKPj4KPj4gRm9yIE9HRyB0aGVyZSBpcyBMVUNLSUxZIHN0aWxsIHRoZSBh
ZG1pbiBpbnRlcmZhY2Ugd29ya2luZyB0byB1cGRhdGUgbWV0YSBkYXRhIG1pZC1zdHJlYW0uIAo+
Cj4gQXMgcHJldmlvdXNseSBub3RlZCB0aGlzIGRvZXMgbm90IGRvIHdoYXQgeW91IG1heSB0aGlu
ayBpdCBkb2VzIGFuZCBpdHMgdXNlIGZvciBPZ2cvVm9yYmlzIGlzIGRpc2NvdXJhZ2VkIGJ5IHVz
LiBUaGVyZSBhcmUgY29tcGxleCBpc3N1ZXMgdGhhdCB0aGlzIGNhbiBjYXVzZSBhbmQgYWRkcmVz
c2luZyB0aGVtIGZ1bmRhbWVudGFsbHkgd291bGQgYmUgY29tcGxpY2F0ZWQgYW5kIHRpbWUgY29u
c3VtaW5nLgo+Cj4gU291cmNlIGNsaWVudHMgdGhhdCByZWx5IG9uIHRoaXMgd2lsbCBwcm92aWRl
IHVubmVjZXNzYXJpbHkgcG9vciBhbmQgdW5yZWxpYWJsZSBtZXRhZGF0YSB0byB0aGVpciB1c2Vy
cy4gVGhlIGNvbnRhaW5lciBzdXBwb3J0cyBjb21wbGV4IG1ldGFkYXRhLCB3aGlsZSB0aGlzIGhh
Y2sgbW9kaWZpZXMgb25lIGZpZWxkLgo+Cj4KPgo+PiBUaGF0IGlzIHdoeSBteSBwb3N0IGlzIHJl
bGF0ZWQgdG8gdGhlIG90aGVyIG9nZyBiYXNlZCBmb3JtYXRzOiBGTEFDIGFuZCBPUFVTIQo+Cj4g
V2Ugc2ltcGx5IGRpZCBub3QgcGVycGV0dWF0ZSB0aGUgbWlzdGFrZSB0aGF0IHdhcyBtYWRlIGZv
ciBPZ2cvVm9yYmlzLCB3aGVyZSBpdCB3YXMgbm90IGV4cGxpY2l0bHkgZm9yYmlkZGVuLiBBcyBw
cmV2aW91c2x5IG91dGxpbmVkLCBpbiBjYXNlIG9mIE9nZyBlbmNhcHN1bGF0aW9uIHRoZSBvbmx5
IHNwZWNpZmljYXRpb24gY29tcGxpYW50IGFuZCByZWxpYWJsZSB3YXkgdG8gaGF2ZSBtZXRhZGF0
YSBpcyB0byBnZW5lcmF0ZSBhIGNoYWluZWQgc3RyZWFtIGluIHRoZSBzb3VyY2UgY2xpZW50Lgo+
Cj4gV2UgdW5kZXJzdGFuZCB0aGF0IGZvciBzb2Z0d2FyZSBkZXZlbG9wZXJzIGl0J3MgaW5jb252
ZW5pZW50IHRvIGltcGxlbWVudCBzb21ldGhpbmcgZGlmZmVyZW50bHkgaWYgaXQgZmVlbHMgbGlr
ZSBpdCBzaG91bGQgYmUgYXMgc2ltcGxlIGFzIHRoZSBvdGhlciB0aGluZywgYnV0IGFzIGFuIG9w
ZW4gc291cmNlIHByb2plY3Qgd2UgYXJlIGxpbWl0ZWQgaW4gdGhlIGFtb3VudCBvZiB3b3JrIHRo
YXQgd2UgY2FuIHJlYXNvbmFibHkgdGFrZSBvbi4gRW1iYXJraW5nIG9uIHRoZSBlbmRlYXZvdXIg
b2YgbW9kaWZ5aW5nIHRoZSBzdHJlYW0gdGhhdCBpcyBzZW50IGJ5IHRoZSBzb3VyY2UgY2xpZW50
IHByb3Blcmx5LCB3aGlsZSBtYWludGFpbmluZyBjb25zaXN0ZW5jeSBpcyBuZWl0aGVyIGVub3Vn
aCBvZiBhIHByaW9yaXR5LCBub3IgZmVhc2libGUgd2l0aCBvdXIgbGltaXRlZCByZXNvdXJjZXMu
IFdoaWxlIG9uIHRoZSBjbGllbnQgc2lkZSBpdCdzIGluY3JlZGlibHkgc2ltcGxlIGluIGNvbXBh
cmlzb24uCj4KPiBXZSBhcmUgaGFwcHkgdG8gc3VwcG9ydCBkZXZlbG9wZXJzIGluIHRoZWlyIGVm
Zm9ydCBvZiBpbXBsZW1lbnRpbmcgY2hhaW5lZCBPZ2cgcHJvcGVybHkgYW5kIHRoZXJlIGFyZSBy
ZWZlcmVuY2VzIGxpa2UgdGhlIEljZVMgc291cmNlLiBJZiB5b3UgaGF2ZSBhbnkgcXVlc3Rpb25z
IGFib3V0IGl0LCBwbGVhc2UgYXNrLgo+Cj4KPj4gQXMgc3VjaCBwbGVhc2UgcHJvdmlkZSB0aGUg
c2FtZSBhZG1pbiBtZXRhIGRhdGEgdXBkYXRlIGZlYXR1cmVzIGFzIGF2YWlsYWJsZSBmb3IgTVAz
LCBBQUMgYW5kIE9HRyBhbHNvIGZvciBGTEFDIGFuZCBPUFVTISEKPgo+IEFnYWluLCB3ZSBhcmUg
c29ycnksIGJ1dCB0aGlzIGlzIG5vdCBmZWFzaWJsZS4KPgo+IE1QMyBhbmQgQUFDIGRvIG5vdCB1
c2UgYSBjb250YWluZXIsIGJ1dCByZWx5IG9uIGEgdmVyeSBsaW1pdGVkIHRpdGxlLWZpZWxkIGlu
amVjdGlvbiBkZXZpc2VkIGJ5IE51bGxzb2Z0IGZvciBTaG91dGNhc3QuCj4gVGhpcyBzdXBwb3J0
cyBleGFjdGx5ICpvbmUqIGZpZWxkLiBJZiB5b3Ugc2VlICJBcnRpc3QgLSBUaXRsZSIgdGhlbiB0
aGlzIGlzIGFjdHVhbGx5IGEgKnNpbmdsZSogc3RyaW5nLiBBbHNvIHRoZXJlIGlzIG5vIGRlZmlu
ZWQgZW5jb2RpbmcgYW5kIG9ubHkgNy1iaXQgQVNDSUkgd2lsbCB3b3JrIHJlbGlhYmx5IGZvciBh
bGwgY2xpZW50cywgYXMgc29tZSB3aWxsIGFzc3VtZQo+IENQMTUyMCBvdGhlcnMgSVNPLTg4NTkt
MSBhbmQgeWV0IG90aGVycyBVVEYtOC4KPgo+IFN0cmVhbXMgdGhhdCB1c2UgYSBjb250YWluZXIg
Km11c3QqIHB1dCB0aGVpciBsaXZlIG1ldGFkYXRhIGludG8gdGhlIHN0cmVhbS4gVGhlcmUgaXMg
bm8gcGxhbiB0byBzdXBwb3J0IG91dCBvZiBiYW5kIHVwZGF0ZXMuCj4KPgo+IENoZWVycywKPgo+
Cj4gVGhvbWFzCj4KPgo+PiBUaGFua3MKPj4gQmVybmQKPj4KPj4KPj4+IEFtIDE2LjA4LjIwMTkg
dW0gMDY6MDYgc2NocmllYiByZW5hbiBqZWdvdXpvIDxyZW5hbkBhZXN0ZXNpcy5vcmc+Ogo+Pj4K
Pj4+IHlvdSBjYW4gdHJ5IHRyYWNrdG9yIHBybyBhbmQgc2VlIGhvdyBpdCBzdHJlYW1zLgo+Pj4g
Y2F1c2UgaXQgaGFuZGxlcyBpdCB3ZWxsOiB0cmFjaydzIGluZm8gdXBkYXRlcyBpbiBvZ2cgd2l0
aG91dCAKPj4+IHJ1cHR1cmUuLgo+Pj4KPj4+IHJlZ2FyZHMKPj4+IHJlbmFuCj4+PiB3YXZlcy5w
dwo+Pj4KPj4+PiBPbiAxNS8wOC8yMDE5IDIwOjQ4LCBibkByYWRpbzQyLmNvbSB3cm90ZToKPj4+
PiBNYW55IFRoYW5rcyBmb3IgeW91ciBhbnN3ZXIuCj4+Pj4KPj4+PiBBY3R1YWxseSBxdWl0ZSBh
IGZldyAnaWZzJywgJ21heWJlcycgb3IgJ3Nob3VsZHMnLi4uIDstKSBJIGhhdmUgCj4+Pj4gdHJp
ZWQgbW9zdCBvZiB0aGVtIChleGNlcHQgbGlxdWlkc29hcCkuCj4+Pj4gSG93ZXZlciwgZXZlbiB0
aGUgbWVudGlvbmVkIGFwcHMgbGlrZSBSYWRpb0RKIG9yIE1peHh4IGRvIE5PVCBzdXBwb3J0IG1l
dGEgZGF0YSBjaGFuZ2VzIHZpYSB0aGUgZW5jb2RlciAodGhleSBhbGwgdXNlIHRoZSBhZG1pbiBp
bnRlcmZhY2UpIQo+Pj4+Cj4+Pj4gQW5kIGFzIHlvdSBjb3JyZWN0bHkgcG9pbnRlZCBvdXQ6IG5v
bmUgb2YgdGhlIHJlZmVyZW5jZSBlbmNvZGVycyBzdXBwb3J0IHRoaXMuCj4+Pj4gTm90IGV2ZW4g
dGhlIEZMQUMsIE9HRyBhbmQgT1BVUyBlbmNvZGVycyBsaXN0ZWQgb24gdGhlIGNvbW1vbiB4aXBo
Lm9yZyBzaXRlIQo+Pj4+Cj4+Pj4gQW55IHRoaXMgaXMgYWN0dWFsbHkgbXkgcG9pbnQ6IFdoeSBk
b2VzIGEgeGlwaC5vcmcgdG9vbCBsaWtlIElDRWNhc3QgZGVtYW5kIGEgZmVhdHVyZSwgd2hpY2gg
aXMgbm90IGV2ZW4gc3VwcG9ydGVkIGJ5IHRoZSBvdGhlciB4aXBoLm9yZyB0b29scz8hCj4+Pj4K
Pj4+PiBBcyBhbHJlYWR5IHBvaW50ZWQgb3V0IGluIG15IGxhc3QgbWFpbC9wb3N0Ogo+Pj4+IEl0
IHdvdWxkIHNpbXBseSBiZSB2ZXJ5IHVzZXIgZnJpZW5kIHRvIG9mZmVyIGEgbWlkLXN0cmVhbSBt
ZXRhIGRhdGEgdXBkYXRlLCBsaWtlIGl0IGlzIG9mZmVyZWQgZm9yIE1QMyBvciBBQUMuCj4+Pj4K
Pj4+PiBUaGlzIHdheSBhbHNvIGFsbCByZWZlcmVuY2UgZW5jb2RlcnMgYW5kIG1hbnkgb3RoZXIg
dG9vbHMgY291bGQgc2ltcGx5IGVuYWJsZSBtZXRhIGRhdGEgdXBkYXRlcyBpbiBhbiBlYXN5IHdh
eS4KPj4+PiBUaGlzIGlzIGFsbCBJIGFtIGFza2luZy4KPj4+Pgo+Pj4+IEFuZCB0byBiZSBmcmFu
a2x5OiBJIGhhdmUgbm90IGhlYXJkIGEgc2luZ2xlIGdvb2QgYXJndW1lbnQgd2h5IHRoaXMgc2hv
dWxkIG5vdCBiZSBwb3NzaWJsZS4KPj4+Pgo+Pj4+IE1hbnkgVGhhbmtzLAo+Pj4+IEJlcm5kCj4+
Pj4KPj4+Pgo+Pj4+IC0tLS0tVXJzcHLDvG5nbGljaGUgTmFjaHJpY2h0LS0tLS0KPj4+PiBWb246
IEljZWNhc3QtZGV2IDxpY2VjYXN0LWRldi1ib3VuY2VzQHhpcGgub3JnPiBJbSBBdWZ0cmFnIHZv
biBSb2dlciAKPj4+PiBIw6VnZW5zZW4KPj4+PiBHZXNlbmRldDogRG9ubmVyc3RhZywgMTUuIEF1
Z3VzdCAyMDE5IDE5OjM4Cj4+Pj4gQW46IGljZWNhc3QtZGV2QHhpcGgub3JnCj4+Pj4gQmV0cmVm
ZjogUmU6IFtJY2VjYXN0LWRldl0gTWV0YURhdGEgVXBkYXRlIGZvciBGTEFDIGFuZCBPUFVTCj4+
Pj4KPj4+Pj4gT24gMjAxOS0wOC0xNCAwODozNSwgQmVybmQgd3JvdGU6Cj4+Pj4+IE1vc3QgdXNl
cnMgZG8gdXNlIElDRWNhc3QgdG8gc3RyZWFtIGEgY29udGludW91cyBzdHJlYW0sIGUuZy4gdGhl
eSBzdHJlYW0gYSBsaXZlIERKIG9yIHJhZGlvIHByb2dyYW0uCj4+Pj4+IEkuZS4gdGhleSBzZXR1
cCBhIHNpbmdsZSBlbmNvZGVyIG9uIGEgc2luZ2xlIGF1ZGlvIHN0cmVhbS4KPj4+Pj4gU3RpbGwg
dGhpcyBsb2dpY2FsIHN0cmVhbSBjb250YWlucyBkaWZmZXJlbnQgdHJhY2tzIGJlaW5nIHBsYXll
ZCBvdmVyIGl0cyB0aW1lLCBhbmQgYXMgc3VjaCB0aG9zZSB1c2VycyB3b3VsZCBsaWtlIHRvIHVw
ZGF0ZSBJQ0VjYXN0IHRvIGluZm9ybSB0aGVpciBsaXN0ZW5lcnMgYWJvdXQgdGhlIGNoYW5naW5n
IHRyYWNrcyB3aXRoaW4gdGhpcyBwcm9ncmFtLiBUaGlzIGlzIGEgc2ltcGxlIGRlbWFuZC4KPj4+
PiBJJ20ganVzdCBnb2luZyBieSB2YWd1ZSBtZW1vcnkgaGVyZSAoSSdtIHN1cmUgUGhpbGlwcCBv
ciBzb21lYm9keSBlbHNlIHdpbGwgY29ycmVjdCBtZSBpZidtIEknbSB3aWxkbHkgd3JvbmcpLCBi
dXQgYSBPZ2cgc3RyZWFtIGNhbiBoYXZlIHN0cmVhbSByZXNldHMsIGJhc2ljYWxseSB0aGUgc3Ry
ZWFtIGVuZHMgYW5kIGEgbmV3IHN0YXJ0IChidXQgdGhlIGRhdGEgaXMgY29udGludW91cykuCj4+
Pj4KPj4+PiBJIGRvbid0IHRoaW5rIGFueSBvZiB0aGUgInJlZmVyZW5jZSBlbmNvZGVycyIgc3Vw
cG9ydCB0aGlzLCB5b3UgbWF5IGJlIGFibGUgdG8gZG8gaXQgYnkgZW5jb2RpbmcgdGhlIGVuY29k
aW5nIGFuZCBzdGFydGluZyBhIG5ldyBvbmUuCj4+Pj4KPj4+PiBZb3VyIGJlc3QgYmVzdCBpcyB0
byB1c2UgbGlxdWlkc29hcCBvciBmZm1wZWcgKG5vdGUgdGhhdCB0aGUgImZmbXBlZyBPcHVzIiBl
bmNvZGVyIGlzIHNhaWQgdG8gaGF2ZSBxdWFsaXR5IGlzc3Vlcykgb3Igc29tZSBvdGhlciBzb2Z0
d2FyZS4KPj4+Pgo+Pj4+IEFueSBzb2Z0d2FyZSB0aGF0IGltcGxlbWVudHMgKG9yIHVzZXMpIGxp
YnNob3V0IHNob3VsZCBoYXZlIG5vIGlzc3VlcyBlbWJlZGRpbmcgdGhlIG1ldGFkYXRhIGNvcnJl
Y3RseSBpbiBhIE9nZyBzdHJlYW0uCj4+Pj4KPj4+PiBJJ20gbm90IHN1cmUgaWYgeW91IGNvdWxk
IHVzZSBmZm1wZWcgKyB0aGUgcmVmZXJlbmNlIG9wdXMgZW5jb2RlciBhbmQgY2hhaW4gdGhlbSB2
aWEgYSBwaXBlIGluIHNvbWUgd2F5IChhbmQgaGF2ZSBmZm1wZWcgd2FpdCBmb3IgYSBuZXcgZW5j
b2RlciBleGVjdXRpb24gdG8gY29ubmVjdCkuCj4+Pj4KPj4+PiBNYXliZSBhIFBIUCBvciBQeXRo
b24gc2NyaXB0IGNvdWxkIGJlIHVzZWQgdG8gaGFuZGxlIHNvbWUgb2YgdGhlIGxvZ2lzdGljcz8K
Pj4+Pgo+Pj4+IEJVVFQgKEJyb2FkY2FzdCBVc2luZyBUaGlzIFRvb2wpIGlzIG9wZW5zb3VyY2Ug
YW5kIHN1cHBvcnRzIG1ldGFkYXRhIHJlYWRpbmcgZnJvbSBhIGZpbGUgYW5kIGVtYmVkZGluZyB0
aGlzIGluIHRoZSBPZ2cgc3RyZWFtIChhcyBmYXIgYXMgSSBrbm93KSwgaWYgeW91IGZlZWwgbGlr
ZSBjb2RpbmcgeW91cnNlbGYgKG9yIGhhdmluZyBzb21lYm9keSBlbHNlIGNvZGUgZm9yIHlvdSkg
eW91IGNvdWxkIHByb2JhYmx5IGFkYXB0IHRoYXQgaW50byBzb21ldGhpbmcgdGhhdCB3b3JrcyB3
aXQgeW91ciBzZXR1cC4KPj4+Pgo+Pj4+IFRoZXJlIGFyZSBhbHNvIHNvZnR3YXJlIGxpa2UgTWl4
eHggYW5kIFJhZGlvREogdGhhdCBzaG91bGQgaGF2ZSBhIHByb3BlciBPZ2cgc3RyZWFtIGVuY29k
ZXIgdGhhdCBjYW4gY29ubmVjdCB0byBJY2VjYXN0IHNlcnZlcnMuIEknbSB1bnN1cmUgYWJvdXQg
dGhlIGNvbW1lcmNpYWwgc29mdHdhcmUgb2ZmZXJpbmdzLgo+Pj4+Cj4+Pj4KPj4+PiBSZWdhcmRz
LAo+Pj4+IFJvZ2VyIEjDpWdlbnNlbgo+Pj4+Cj4+Pj4gLS0KPj4+PiBVbmxlc3Mgc3BlY2lmaWVk
IG90aGVyd2lzZSwgYW55dGhpbmcgSSB3cml0ZSBwdWJsaWNseSBpcyBjb25zaWRlcmVkIFB1Ymxp
YyBEb21haW4gKENDMCkuIE15IG9waW5pb25zIGFyZSBteSBvd24gdW5sZXNzIHNwZWNpZmllZCBv
dGhlcndpc2UuCj4+Pj4gUm9nZXIgSMOlZ2Vuc2VuLAo+Pj4+IEZyZWVsYW5jZXIsIE5vcndheS4K
Pj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Pj4+
IEljZWNhc3QtZGV2IG1haWxpbmcgbGlzdAo+Pj4+IEljZWNhc3QtZGV2QHhpcGgub3JnCj4+Pj4g
aHR0cDovL2xpc3RzLnhpcGgub3JnL21haWxtYW4vbGlzdGluZm8vaWNlY2FzdC1kZXYKPj4+Pgo+
Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+Pj4g
SWNlY2FzdC1kZXYgbWFpbGluZyBsaXN0Cj4+Pj4gSWNlY2FzdC1kZXZAeGlwaC5vcmcKPj4+PiBo
dHRwOi8vbGlzdHMueGlwaC5vcmcvbWFpbG1hbi9saXN0aW5mby9pY2VjYXN0LWRldgo+Pj4+Cj4+
PiAtLQo+Pj4gcmVuYW4gamVnb3V6bwo+Pj4gQ1RPCj4+PiB3YXZlcy5wdwo+Pj4gYWVzdGVzaXMu
bmV0Cj4+PiBoYnByb3B0ZWNoLmNvbQo+Pj4KPj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCj4+PiBJY2VjYXN0LWRldiBtYWlsaW5nIGxpc3QKPj4+IElj
ZWNhc3QtZGV2QHhpcGgub3JnCj4+PiBodHRwOi8vbGlzdHMueGlwaC5vcmcvbWFpbG1hbi9saXN0
aW5mby9pY2VjYXN0LWRldgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwo+PiBJY2VjYXN0LWRldiBtYWlsaW5nIGxpc3QKPj4gSWNlY2FzdC1kZXZAeGlw
aC5vcmcKPj4gaHR0cDovL2xpc3RzLnhpcGgub3JnL21haWxtYW4vbGlzdGluZm8vaWNlY2FzdC1k
ZXYKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IElj
ZWNhc3QtZGV2IG1haWxpbmcgbGlzdAo+IEljZWNhc3QtZGV2QHhpcGgub3JnCj4gaHR0cDovL2xp
c3RzLnhpcGgub3JnL21haWxtYW4vbGlzdGluZm8vaWNlY2FzdC1kZXYKPgo+IF9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSWNlY2FzdC1kZXYgbWFpbGlu
ZyBsaXN0Cj4gSWNlY2FzdC1kZXZAeGlwaC5vcmcKPiBodHRwOi8vbGlzdHMueGlwaC5vcmcvbWFp
bG1hbi9saXN0aW5mby9pY2VjYXN0LWRldgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KSWNlY2FzdC1kZXYgbWFpbGluZyBsaXN0CkljZWNhc3QtZGV2QHhp
cGgub3JnCmh0dHA6Ly9saXN0cy54aXBoLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ljZWNhc3QtZGV2
Cg==