[qt/clang/llvm-project]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]> Wed, 5 Aug 2026 00:14:46 +0000 (UTC)
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
R2l0IHJlcG9zaXRvcnkgY2hhbmdlIHN1bW1hcnkgZm9yIHF0L2NsYW5nL2xsdm0tcHJvamVjdApQ dXNoZWQgYnkgbWlycm9yLXNlcnZpY2UgaW50byBicmFuY2ggJ3Vwc3RyZWFtL3VzZXJzL2FyaWNo YXJkc29uL3Nwci9lbGZyaXNjLXYtYWRkLWJhc2VsaW5lLXRlc3QtZm9yLWlnbm9yZWQtYWJpLWJl aGF2aW91cicuCkNoYW5nZWQgZnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwIHRvIDQyYzkyYjk2M2Y4ODY5YTk0YTVhODQ4NzJlZDY5NTMxYTMyZWRjMGEKQWNrbm93 bGVkZ2VtZW50IHdhcyByZWNlaXZlZCB0aGF0IHRoaXMgY2hhbmdlIGludHJvZHVjZXMgb25seSBl eGlzdGluZyBjb2RlIHRoYXQgaGFzIGJlZW4gcHVzaGVkIHRvIGFub3RoZXIgcHVibGljIG9wZW4g c291cmNlIHJlcG9zaXRvcnkuCgpUaGlzIGNoYW5nZSBjb250YWlucyB0aGUgZm9sbG93aW5nIG5l dyBjb21taXRzOgoKR2l0IGNvbW1pdCA3NjA5Y2I4M2JmNWZjNWMyNWUyODc3NzBkYjI3N2RiYjM0 ZTY3NGI4IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEZpbm4gUGx1bW1lcikgb24gMDQvMDgvMjAy NiBhdCAxNzozMy4uCltEaXJlY3RYXSBQcmV2ZW50IGBkeGlsLXJlc291cmNlLWFjY2Vzc2AgZnJv bSBpbnNlcnRpbmcgYSByZXNvdXJjZSBhY2Nlc3MgaW4tYmV0d2VlbiBwaGkgbm9kZXMgKCMyMTEz NDMpCgpUaGUgcGFzcyBjYW4gaW5jb3JyZWN0bHkgcGxhY2UgYSBsb2FkL3N0b3JlIHdpdGhpbiB0 aGUgcGhpIG5vZGVzIGF0IHRvcApvZiB0aGUgYmFzaWMgYmxvY2s6IGh0dHBzOi8vZ29kYm9sdC5v cmcvei94NUVjNEdXR1QKClRoaXMgaXMgcmVzb2x2ZWQgYnkgdXBkYXRpbmcgYHJlcGxhY2VIYW5k bGVXaXRoSW5kaWNlc2AgdG8gYWRqdXN0IHRoZQppbnNlcnRpb24gcG9pbnQgd2hlbiB0aGUgcHRy IGNvbWVzIGZyb20gYSBwaGkgbm9kZS4KClJlc29sdmVzLCBpbiBwYXJ0LCBodHRwczovL2dpdGh1 Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvaXNzdWVzLzIxMTEyMQoKQXNzaXN0ZWQgYnk6IENsYXVk ZSBPcHVzIDQuOApodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8t L2NvbW1pdC83NjA5Y2I4M2JmNWZjNWMyNWUyODc3NzBkYjI3N2RiYjM0ZTY3NGI4CgpHaXQgY29t bWl0IDUzODJmN2Q2NGZmNTlkMTk4MDkxZmZkMjYzZDdhZGVjZjVkN2RkNWEgYnkgR2l0SHViIChv biBiZWhhbGYgb2YgQmVuamFtaW4gTWF4d2VsbCkgb24gMDQvMDgvMjAyNiBhdCAxNzo0OC4uCltD b3N0TW9kZWxdW0FBcmNoNjRdIEFkZCBpbml0aWFsIGNvc3RzIGZvciBgbWFza2VkLmNvbXByZXNz c3RvcmVgICgjMjEzNzEyKQoKVGhpcyBhZGRzIGFuIGluaXRpYWwgY29zdCBtb2RlbCBmb3IgYG1h c2tlZC5jb21wcmVzc3N0b3JlYC4gVGhlIHRlc3RzCmFyZSBiYXNlZCBvbiBgbWFza2VkX2V4cGFu ZF9sb2FkLmxsYCwgd2hpY2ggY292ZXJzIGFsbCBjb25maWd1cmF0aW9ucwpmb3IgdGhlIGBleHBh bmRgL2Bjb21wYWN0YCBpbnN0cnVjdGlvbnMuCgpOb3RlOiBSaWdodCBub3csIHdlIG9ubHkgcmVw b3J0IHZhbGlkIGNvc3RzIGZvciBgbWFza2VkLmNvbXByZXNzc3RvcmVgCm9wZXJhdGlvbnMgdGhh dCBjYW4gYmUgbG93ZXJlZCB3aXRoIFNWRTEgKGFzIHRoYXQncyBhbGwgd2UgaGFuZGxlIElTRUwK Zm9yIGF0IHRoZSBtb21lbnQpLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0t cHJvamVjdC8tL2NvbW1pdC81MzgyZjdkNjRmZjU5ZDE5ODA5MWZmZDI2M2Q3YWRlY2Y1ZDdkZDVh CgpHaXQgY29tbWl0IGFmMTQ0NTZhMmJhYzU1MDI2YjJkNTdjYmYxNGIzOTA1YzQ1MmI4YTQgYnkg R2l0SHViIChvbiBiZWhhbGYgb2YgYXJzbnlkZXIxNikgb24gMDQvMDgvMjAyNiBhdCAxNzo1Mi4u CltPcGVuTVBdIFNpbXBsaWZ5IGdlbmVyaWMgbWljcm90YXNrIGRpc3BhdGNoICgjMjE0MDA0KQoK UmVwbGFjZSB0aGUgZ2VuZXJpYyBtaWNyb3Rhc2sgZGlzcGF0Y2hlcidzIGhhbmR3cml0dGVuIGZ1 bmN0aW9uLXBvaW50ZXIKdHlwZXMgYW5kIGNhbGxzIHdpdGggYSB2YXJpYWRpYy10ZW1wbGF0ZSBo ZWxwZXIgYW5kIGEgbWFjcm8gZm9yIGVhY2gKc3VwcG9ydGVkIGFyZ3VtZW50IGNvdW50LgoKVGhl IGRpc3BhdGNoZXIgc3RpbGwgY2FzdHMgZWFjaCBtaWNyb3Rhc2sgdG8gdGhlIGV4YWN0IGZpeGVk LWFyaXR5CnNpZ25hdHVyZSByZXF1aXJlZCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBXZWJBc3NlbWJs eS4gVGhpcyBpcyBpbnRlbmRlZCBhcwphIHJlZmFjdG9yIG9ubHk6IHRoZSBleGlzdGluZyBsaW1p dCBvZiAxNSBtaWNyb3Rhc2sgYXJndW1lbnRzIGFuZCB0aGUKZGlhZ25vc3RpYyBmb3IgbGFyZ2Vy IGFyZ3VtZW50IGNvdW50cyByZW1haW4gdW5jaGFuZ2VkLgoKVGhpcyByZWR1Y2VzIHRoZSByZXBl dGl0aXZlIGNvZGUgYW5kIG1ha2VzIGZ1dHVyZSBjaGFuZ2VzIHRvIHRoZQpzdXBwb3J0ZWQgYXJn dW1lbnQgcmFuZ2UgZWFzaWVyIHRvIHJldmlldy4KClNwbGl0IG91dCBmcm9tICMyMTEwNzEKaHR0 cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvYWYxNDQ1 NmEyYmFjNTUwMjZiMmQ1N2NiZjE0YjM5MDVjNDUyYjhhNAoKR2l0IGNvbW1pdCAyYTJhZGRlMzU5 Mzc2NjdkZDkzZGM1NTk0YWM1ZDUyODQyZTExNmQyIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIENo aW5tYXkgRGVzaHBhbmRlKSBvbiAwNC8wOC8yMDI2IGF0IDE3OjU2Li4KW0FNREdQVV1bR0lTZWxd IEFkZCBSZWdCYW5rTGVnYWxpemUgcnVsZXMgZm9yIGxsdm0uYW1kZ2NuLmZkb3QyLmJmMTYuYmYx NiAoIzIxNDAxMykKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3Qv LS9jb21taXQvMmEyYWRkZTM1OTM3NjY3ZGQ5M2RjNTU5NGFjNWQ1Mjg0MmUxMTZkMgoKR2l0IGNv bW1pdCA1MDA5NjIyOThkNjI0YTc0YWRlNThjMmFlYjY1MzEzZmIzMmRkYTVhIGJ5IEdpdEh1YiAo b24gYmVoYWxmIG9mIEFsZXhleSBCYXRhZXYpIG9uIDA0LzA4LzIwMjYgYXQgMTc6NTcuLgpbSW5z dENvbWJpbmVdRm9sZCBmY21wK3NlbGVjdCB0byBtaW4vbWF4IGlmIGl0cyB6ZXJvIHNpZ24gaXMg bWlzc2luZwoKTG9vayB0aHJvdWdoIHBoaXMsIGNoYWluZWQgc2VsZWN0cyBhbmQgdGhlIGxvb3Ag YmFjayBlZGdlIHRvIHRoZQpzZWxlY3QgaXRzZWxmIGFuZCBmb2xkIGlmIG5vIHVzZSBjYW4gb2Jz ZXJ2ZSB0aGUgc2lnbiBvZiB6ZXJvIG9mIHRoZQpyZXN1bHQuIFRoaXMgcmVzdG9yZXMgdGhlIGZv bGQgZm9yIGxvb3AtY2FycmllZCBhbmQgdW5yb2xsZWQgcnVubmluZwptaW4vbWF4IHZhbHVlcyAo ZmNzZWwgLT4gZm1pbm5tIG9uIEFBcmNoNjQpIGxvc3QgdG8gdGhlIHNpZ25lZCB6ZXJvCmhhbmRs aW5nIGZpeCBpbiBtYXRjaFNlbGVjdFBhdHRlcm4gKCMyMTAwNzcpLgoKUmV2aWV3ZXJzOiBuaWtp YywgZHRjeHp5dwoKUHVsbCBSZXF1ZXN0OiBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXBy b2plY3QvcHVsbC8yMTMxMzMKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXBy b2plY3QvLS9jb21taXQvNTAwOTYyMjk4ZDYyNGE3NGFkZTU4YzJhZWI2NTMxM2ZiMzJkZGE1YQoK R2l0IGNvbW1pdCA3MGVjYzViYjYyMTg3Y2E3MGU2ZmU0ZTU2M2RiZDYwZjg4YzJlN2EwIGJ5IEdp dEh1YiAob24gYmVoYWxmIG9mIFRpbXVyIEdvbHVib3ZpY2gpIG9uIDA0LzA4LzIwMjYgYXQgMTc6 NTguLgpSZXZlcnQgIltHbG9iYWxJU2VsXSBDb21iaW5lIG1lcmdlLXVubWVyZ2Ugd2l0aCBtaXhl ZCBzY2FsYXIgYW5kIHZlY3RvciB0eXBlcyIgKCMyMTQwMTApCgpSZXZlcnRzIGxsdm0vbGx2bS1w cm9qZWN0IzIxMzA4NgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVj dC8tL2NvbW1pdC83MGVjYzViYjYyMTg3Y2E3MGU2ZmU0ZTU2M2RiZDYwZjg4YzJlN2EwCgpHaXQg Y29tbWl0IDYzMjZmMTRjZGMxMmJhYmZkYzQzNTlmNWRkZDRkZmNkNjZiNTNmMzMgYnkgR2l0SHVi IChvbiBiZWhhbGYgb2YgQWRhbSBTbWl0aCkgb24gMDQvMDgvMjAyNiBhdCAxODowMy4uCltDSVJd IExvd2VyIHZhcmlhZGljIGNhbGxzIGluIENhbGxDb252TG93ZXJpbmcgZm9yIHg4Nl82NCAoIzIx MzMxNSkKCkNhbGxDb252TG93ZXJpbmcgY2xhc3NpZmllZCBlYWNoIGZ1bmN0aW9uIG9uY2UgZnJv bSBpdHMgZGVjbGFyZWQKc2lnbmF0dXJlIGFuZCByZXVzZWQgdGhhdCBjbGFzc2lmaWNhdGlvbiBh dCBldmVyeSBjYWxsIHNpdGUuIEFuIGFyZ3VtZW50CnBhc3NlZCB0aHJvdWdoIGFuIGVsbGlwc2lz IGhhcyBubyBlbnRyeSBpbiB0aGUgY2FsbGVlJ3MgcGFyYW1ldGVyIGxpc3QsCnNvIG9uIHg4Nl82 NCBhbiBlbGxpcHNpcyBhcmd1bWVudCB0aGF0IG5lZWRlZCBhbiBleHRlbnNpb24gYXR0cmlidXRl LCBhCnJlZ2lzdGVyIGNvZXJjaW9uLCBvciBhIGJ5dmFsIHNsb3Qgd2FzIGVtaXR0ZWQgdW5jaGFu Z2VkIHdoZW5ldmVyIHRoZQpjYWxsZWUncyBkZWNsYXJlZCBwYXJhbWV0ZXJzIGhhcHBlbmVkIHRv IG5lZWQgbm8gcmV3cml0ZSwgYW5kIHJlcG9ydGVkCk5ZSSB3aGVuIHRoZXkgZGlkLgoKQW4gZWxs aXBzaXMgYXJndW1lbnQgY29tcGV0ZXMgZm9yIHRoZSBzYW1lIHJlZ2lzdGVycyBhcyBhIGRlY2xh cmVkIG9uZSwKc28gdGhlIHNhbWUgdHdvLWVpZ2h0Ynl0ZSByZWNvcmQgZ29lcyBpbiBhIHJlZ2lz dGVyIHBhaXIgZWFybHkgaW4gdGhlCmxpc3QgYW5kIGJ5dmFsIG9uY2UgdGhlIGludGVnZXIgcmVn aXN0ZXJzIGFyZSBnb25lLiBWYXJpYWRpYyBjYWxsIHNpdGVzCnVuZGVyIHRoZSB4ODZfNjQgZHJp dmVyIGFyZSBub3cgY2xhc3NpZmllZCBmcm9tIHRoZSBjYWxsJ3Mgb3duIG9wZXJhbmQKdHlwZXMs IGFuZCB0aGUgZGVjbGFyZWQgcGFyYW1ldGVyIGNvdW50IHJlYWNoZXMKYGxsdm06OmFiaTo6RnVu Y3Rpb25JbmZvOjpjcmVhdGVgIGFzIGl0cyBgTnVtUmVxdWlyZWRgIGFyZ3VtZW50LCB3aGljaApp cyB3aGF0IGxldHMgdGhlIGNsYXNzaWZpZXIgdGVsbCBhIG5hbWVkIGFyZ3VtZW50IGZyb20gb25l IHBhc3NlZAp0aHJvdWdoIHRoZSBlbGxpcHNpcy4gVG9kYXkgdGhhdCBmbGFnIG9ubHkgZGVjaWRl cyB3aGV0aGVyIGEgbGFyZ2UKdmVjdG9yIGdvZXMgaW4gYSByZWdpc3RlciwgYW5kIHRoZSBDSVIg dHlwZSBicmlkZ2UgYWRtaXRzIG5vIHZlY3Rvcgp0eXBlcywgc28gdGhlIGJvdW5kYXJ5IGNoYW5n ZXMgbm8gb3V0cHV0IHlldC4KCmBwcmVwZW5kSW5kaXJlY3RDYWxsZWVgIGFsc28gcmVidWlsdCB0 aGUgY2FsbGVlIHBvaW50ZXIncyBwb2ludGVlCndpdGhvdXQgYGlzVmFyQXJnYCwgZHJvcHBpbmcg dGhlIGVsbGlwc2lzIGZyb20gYSBsb3dlcmVkIGluZGlyZWN0IGNhbGwKYW5kIHdpdGggaXQgdGhl IHZlY3Rvci1yZWdpc3RlciBjb3VudCB0aGUgeDg2XzY0IFN5c1YgQUJJIHBhc3NlcyBpbiBBTC4K QSB2b2lkIHJldHVybiBhbmQgYSByZXR1cm4gdGhlIEFCSSBkcm9wcywgc3VjaCBhcyBhbiBlbXB0 eSByZWNvcmQsIGJvdGgKY2xhc3NpZnkgYXMgYElnbm9yZWAgd2hpbGUgbmVlZGluZyBvcHBvc2l0 ZSB0cmVhdG1lbnQsIHNvCmBGdW5jdGlvbkNsYXNzaWZpY2F0aW9uYCBub3cgcmVjb3JkcyB3aGlj aCBvbmUgaXQgd2FzIHdoZXJlIHRoZQpjbGFzc2lmaWNhdGlvbiBpcyBwcm9kdWNlZC4gYG5lZWRz UmV3cml0ZWAgbW92ZXMgZnJvbSB0aGUgQ0lSIHJld3JpdGVyCnRvIGBtbGlyL2luY2x1ZGUvbWxp ci9BQkkvQUJJUmV3cml0ZUNvbnRleHQuaGAsIG92ZXIgYSBuZXcgcGVyLWFyZ3VtZW50CmBpc1Bh c3NUaHJvdWdoYCwgc28gdGhlIHBhc3MgYW5kIHRoZSByZXdyaXRlciBzaGFyZSBvbmUgZGVmaW5p dGlvbi4KClR3byB0aGluZ3MgYXJlIG5ld2x5IGRpYWdub3NlZCByYXRoZXIgdGhhbiBuZXdseSBi cm9rZW4uIFRoZQpvcGVyYW5kLWNvdW50IGNoZWNrIG1vdmVzIGFoZWFkIG9mIHRoZSBwYXNzLXRo cm91Z2ggZWFybHkgcmV0dXJuLCBzbyBhCmNhbGwgd2hvc2Ugb3BlcmFuZCBjb3VudCBkaXNhZ3Jl ZXMgd2l0aCBhIGBub19wcm90b2AgY2FsbGVlJ3MKZGVjbGFyYXRpb24gaXMgcmVwb3J0ZWQgaW5z dGVhZCBvZiBsb3dlcmVkIHdpdGggb3BlcmFuZHMgdGhlCmNsYXNzaWZpY2F0aW9uIG5ldmVyIGNv dmVyZWQuIEFuZCB0aGUgaW5kaXJlY3QtY2FsbCB3YWxrIHZpc2l0cwpgY2lyOjpDSVJDYWxsT3BJ bnRlcmZhY2VgIHJhdGhlciB0aGFuIG9ubHkgYGNpci5jYWxsYCwgc28gYSB2YXJpYWRpYwppbmRp cmVjdCBgY2lyLnRyeV9jYWxsYCBpcyBhY2NvdW50ZWQgZm9yLCBhbmQgb25lIHRoYXQgbmVlZHMg YSByZXdyaXRlCmlzIHJlcG9ydGVkIGluc3RlYWQgb2YgbGVmdCBhcyB3cml0dGVuIHdoaWxlIHRo ZSBzaWduYXR1cmUgYXJvdW5kIGl0IGlzCmNvZXJjZWQuIEEgbm9uLXZhcmlhZGljIGluZGlyZWN0 IGBjaXIudHJ5X2NhbGxgIGlzIGZpbHRlcmVkIG91dCB3aGVyZQp0aGUgd2FsayBjb2xsZWN0cywg c2luY2UgcmV3cml0aW5nIG9uZSBpcyB1bmltcGxlbWVudGVkIGVpdGhlciB3YXkgYW5kCnRoYXQg Z2FwIGhhcyBub3RoaW5nIHRvIGRvIHdpdGggdGhlIGVsbGlwc2lzLiBSZXBvcnRlZCBOWUk6IHZh cmlhZGljCmluZGlyZWN0IGNhbGxzIHRoYXQgbmVlZCBhIHJld3JpdGUsIHZhcmlhZGljIGNhbGxz IHVuZGVyIHRoZSBvdGhlcgpkcml2ZXJzLCBhbmQgYW4gZWxsaXBzaXMgYXJndW1lbnQgd2hvc2Ug QUJJIGNvZXJjaW9uIHRoZSB0eXBlIGJyaWRnZQpjYW5ub3QgcmVwcmVzZW50LgpodHRwczovL2lu dmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC82MzI2ZjE0Y2RjMTJi YWJmZGM0MzU5ZjVkZGQ0ZGZjZDY2YjUzZjMzCgpHaXQgY29tbWl0IGM5ZjJiYTIyODQ5ZTUwZGYx Mjc3ZGI4MjI1YTY0MTBiYTlkZGNiNWUgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgU2FtIEVsbGlv dHQpIG9uIDA0LzA4LzIwMjYgYXQgMTg6MDkuLgpbUklTQ1ZdIEZpeCBYcWNpIEZ1c2lvbnMgd2l0 aCBGcmFtZSBJbmRleGVzICgjMjEzODE1KQoKUHJlLVJBLCB0aGUgQURESSBjYW4gY29udGFpbiBh IGZyYW1lIGluZGV4IHJhdGhlciB0aGFuIGEgcmVnaXN0ZXIsIHdoaWNoCmNhdXNlcyBgZ2V0UmVn KClgIHRvIGFzc2VydC4gVGhlc2Ugd2VyZSBtaXNzaW5nIHRoZSBgQ2hlY2tJc1JlZ09wZXJhbmRg CnRoYXQgbW9zdCBvdGhlciBmdXNpb25zIGhhdmUuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQv Y2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2M5ZjJiYTIyODQ5ZTUwZGYxMjc3ZGI4MjI1YTY0 MTBiYTlkZGNiNWUKCkdpdCBjb21taXQgY2FmZDM2YmZjZTY3NjgyMTkzYzNkNWRhNTkxYjA1MWE0 NjBlNTBmNiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBFcmljaCBLZWFuZSkgb24gMDQvMDgvMjAy NiBhdCAxODoxMS4uCltORkNdW0NJUl0gUHJvcGFnYXRlIFN5bWJvbFRhYmxlcyBiZXR0ZXIgKCMy MTM5NzIpCgpUaGlzIGNhbWUgdXAgZHVyaW5nIHNlbGYtYnVpbGQsIHdlIGFyZSBzcGVuZGluZyBh IGxvdCBvZiB0aW1lIGluIHNvbWUKY2FzZXMgbG9va2luZyB1cCB1c2luZyB0aGUgZ2xvYmFsIHN5 bWJvbCB0YWJsZSwgd2hpY2ggZG9lcyBubyBjYWNoaW5nLgpQcmV2aW91c2x5IHdlJ2QgcHJvcGFn YXRlZCB0aGlzIGluIGEgZmV3IHBsYWNlcywgYnV0IHRoaXMgcGF0Y2ggcmVtb3ZlcwphbGwgdXNl cyBvZiBTeW1ib2xUYWJsZTo6bG9va3VwIGFuZCBhZGRzIHRoZSBjYWNoZSBldmVyeXdoZXJlLgoK VGhpcyBpbnZvbHZlZCBjaGFuZ2luZyB0aGUgdGFibGVnZW4gdG8gaW5jbHVkZSBpdCBpbiBlYWNo IG9mIG91cgpyZXdyaXRlcnMsIHBsdXMgdGhlIENpckF0dHIgbG93ZXJpbmcgZXZlcnl3aGVyZS4K ClRoZSBvbmx5IHRoaW5nIHdlIGhhdmUgdG8gdGFrZSBjYXJlIG9mIGlzIHRvIG1ha2Ugc3VyZSB3 ZSBpbnZhbGlkYXRlIHRoZQpjYWNoZS91cGRhdGUgdGhlIGNhY2hlIHdoZW5ldmVyIHdlIGFkZCBz b21ldGhpbmcgd2l0aCBhIG5hbWUgKHNlZQpjcmVhdGVMTFZNRnVuY09wSWZOb3RFeGlzdCkuCgpU aGlzIGlzIE5GQywgYXMgaXQgaXNuJ3Qgb2JzZXJ2YWJsZSwgb3RoZXIgdGhhbiBiZWluZyBhIGJ1 aWxkIHRpbWUKaW1wcm92ZW1lbnQuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2 bS1wcm9qZWN0Ly0vY29tbWl0L2NhZmQzNmJmY2U2NzY4MjE5M2MzZDVkYTU5MWIwNTFhNDYwZTUw ZjYKCkdpdCBjb21taXQgMWY2OWExNjI4OTQ3OGM5YTdiMmNkYTVkZjRjZDE2ZDY2MDllYjJjMiBi eSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBTaW1vbiBQaWxncmltKSBvbiAwNC8wOC8yMDI2IGF0IDE4 OjE1Li4KW0Nvc3RNb2RlbF1bWDg2XSBnZXRBcml0aG1ldGljUmVkdWN0aW9uQ29zdCAtIGVuc3Vy ZSB3ZSB0ZXN0IHRoZSB2WGkxIHJlZHVjdGlvbnMgdHlwZXMgYmVmb3JlIGxlZ2FsaXNhdGlvbiAo IzIxMTA0MykKClByZS1BVlg1MTIgdGhlc2Ugd2lsbCBiZSBsZWdhbGl6ZWQgdG8gd2lkZXIgdmVj dG9yIHR5cGVzIGFuZCBtaWdodCBtYXRjaAphZ2FpbnN0IG90aGVyIHJlZHVjdGlvbnMgdGFibGVz LgoKTm90aWNlZCB3aGlsZSB3b3JraW5nIG9uIGltcHJvdmluZyBsb2dpYyByZWR1Y3Rpb25zLCBi dXQgaGl0IGEgY2FzZQp3aXRoL3dpdGhvdXQgcG9wY250IGZvciBib29sIHN1bSByZWR1Y3Rpb24g cGF0dGVybnMgLSBJJ3ZlIGFkZGVkIGEgQVZYMgp0ZXN0IHBhc3MgdG8gY2hlY2sgdGhlIChjb3Jy ZWN0ZWQpIGNvc3RzIGFyZSBzdGlsbCB3b3JraW5nCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQv Y2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzFmNjlhMTYyODk0NzhjOWE3YjJjZGE1ZGY0Y2Qx NmQ2NjA5ZWIyYzIKCkdpdCBjb21taXQgMDhhODczOWFjODlhMjdjN2RiZDAzNDkyNjY2MTFjYTk0 ODY2YWUyZiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBOZXJpeHl6KSBvbiAwNC8wOC8yMDI2IGF0 IDE4OjE2Li4KW2xsZGJdW1B5dGhvbl0gSW5saW5lIGBsbGRiX2l0ZXJgIGZvciBiZXR0ZXIgdHlw ZSBpbmZlcmVuY2UgKCMyMTQwMDApCgpDdXJyZW50bHksIHRoZSBgbGxkYl9pdGVyYCBoZWxwZXIg aXMgdXNlZCBmb3IgcHJvdmlkaW5nIGBfX2l0ZXJfX2AgaW4KdGhlIFB5dGhvbiBiaW5kaW5nczoK YGBgcHl0aG9uCmRlZiBsbGRiX2l0ZXIob2JqLCBnZXRzaXplLCBnZXRlbGVtKToKICAgICIiIkEg Z2VuZXJhdG9yIGFkYXB0b3IgdG8gc3VwcG9ydCBpdGVyYXRpb24gZm9yIGxsZGIgY29udGFpbmVy IG9iamVjdHMuIiIiCiAgICBzaXplID0gZ2V0YXR0cihvYmosIGdldHNpemUpCiAgICBlbGVtID0g Z2V0YXR0cihvYmosIGdldGVsZW0pCiAgICBmb3IgaSBpbiByYW5nZShzaXplKCkpOgogICAgICAg IHlpZWxkIGVsZW0oaSkKYGBgCgpBIHR5cGUgY2hlY2tlciBvciBMU1AgY2FuJ3Qgc2VlIHRocm91 Z2ggdGhpcyBmdW5jdGlvbi4gQ3VycmVudGx5LCB0aGF0J3MKbm8gcHJvYmxlbSwgYmVjYXVzZSBp dCBkb2Vzbid0IGtub3cgdGhlIHJldHVybiB0eXBlIG9mIGFueSBTd2lnIHdyYXBwZXIsCmJ1dCB3 aGVuIHdlIGFkZCB0eXBlIGFubm90YXRpb25zIChob3BlZnVsbHkgd2l0aCBTd2lnIDQuNSBpbiAj MjEzNDYzKSwKYF9faXRlcl9fYCByZW1haW5zIHVudHlwZWQuIFNvIGl0ZXJhdGluZyB0aHJvdWdo IHRoZSB3cmFwcGVycyB3b24ndCBzaG93CnRoZSBjb3JyZWN0IHR5cGUuCgpBcyB0aGUgZnVuY3Rp b25hbGl0eSBpcyBmYWlybHkgc2ltcGxlLCBpdCdzIGVhc2llciB0byBpbmxpbmUgaXQuIFRoYXQn cwp3aGF0IHRoaXMgUFIgZG9lcy4gVGhlbiBhIHR5cGUgY2hlY2tlciBjYW4gaW5mZXIgdGhlIHJl dHVybiB0eXBlLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8t L2NvbW1pdC8wOGE4NzM5YWM4OWEyN2M3ZGJkMDM0OTI2NjYxMWNhOTQ4NjZhZTJmCgpHaXQgY29t bWl0IGFiNGYyMTBhMzEyN2UzYmExNzczODE4OTExOTQxNDRmOTI3OThiYTYgYnkgR2l0SHViIChv biBiZWhhbGYgb2YgTWF0dCBBcnNlbmF1bHQpIG9uIDA0LzA4LzIwMjYgYXQgMTg6MTcuLgpjbGFu ZzogUmVwbGFjZSBJcypPZmZsb2FkQXJjaCBmcmVlIGZ1bmN0aW9ucyB3aXRoIE9mZmxvYWRBcmNo IG1ldGhvZHMgKCMyMTMzNjMpCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1w cm9qZWN0Ly0vY29tbWl0L2FiNGYyMTBhMzEyN2UzYmExNzczODE4OTExOTQxNDRmOTI3OThiYTYK CkdpdCBjb21taXQgYTlhNmVkYjU5MzVjOWY0MmM1OTI4MzY2MTIzNTZiZWE1NmUzYzA4YiBieSBH aXRIdWIgKG9uIGJlaGFsZiBvZiBBbGV4ZXkgQmF0YWV2KSBvbiAwNC8wOC8yMDI2IGF0IDE4OjE4 Li4KW1NMUF1WZWN0b3JpemUgc2luZ2xlLXVzZXIgaW5zdHJ1Y3Rpb25zIGFzIHRoZSBsYXN0LWF0 dGVtcHQgc2VlZHMKCkluc3RydWN0aW9ucyB3aXRoIHRoZSBzaW5nbGUgdXNlciBjb3N0IG9uZSBl eHRyYWN0IHBlciBsYW5lLCBzbyB0aGV5IGFyZQp2ZWN0b3JpemVkIGFmdGVyIGFsbCBvdGhlciBy b290cyBpbiB0aGUgZnVuY3Rpb24gYXJlIGV4aGF1c3RlZCwgZ3JvdXBlZCBieQp0aGUga2V5L3N1 YmtleSBwYWlycy4gTG9hZHMsIGFkZHJlc3NlcywgY29tcGFyZXMgYW5kIHRoZSBvcGVyYXRpb25z LCBmb2xkZWQKYXdheSBvciBjb250cmFjdGVkIGludG8gdGhlIHNjYWxhciBGTUEsIGFyZSBleGNs dWRlZC4gVGhlIHJlamVjdGVkIGJ1bmRsZXMKYW5kIHRoZSBtZW1iZXJzIG9mIHRoZSBwcmljZWQg bWluaW1hbCBub2RlcyBhcmUgbm90IHJldHJpZWQsIHVubGVzcyB0aGUKdHJlZSB3YXMgZHJvcHBl ZCBieSB0aGUgcmVwYWNraW5nIG92ZXJoZWFkIHJhdGhlciB0aGFuIGJ5IHRoZSBtZW1iZXJzLgoK UmV2aWV3ZXJzOiBoaXJhZGl0eWEsIFJLU2ltb24sIGJhYmFidWNrCgpQdWxsIFJlcXVlc3Q6IGh0 dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9wdWxsLzIxMjU3OQpodHRwczovL2lu dmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9hOWE2ZWRiNTkzNWM5 ZjQyYzU5MjgzNjYxMjM1NmJlYTU2ZTNjMDhiCgpHaXQgY29tbWl0IDQwMmM5ZjlhNzc2ZGMyMGQw M2UzM2M0NDdkODY2MzRjNDg2YTU0MzQgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgSGVucnkgSmlh bmcpIG9uIDA0LzA4LzIwMjYgYXQgMTg6MjMuLgpbTkZDXVtDdWRhXVt0ZXN0XSBGaXggQ0hFQ0st Tk9UIHBhdHRlcm5zIG1hdGNoaW5nIHRoZSBidWlsZCBkaXJlY3RvcnkgKCMyMTM3OTkpCgpgY3Vk YS1vbXAtdW5zdXBwb3J0ZWQtZGVidWctb3B0aW9ucy5jdWAncyBDT01NT04tTk9UOiAuLi58bGxk YnwuLi4gY2FuCm1hdGNoIGFnYWluc3QgdGhlIGJ1aWxkIGRpcmVjdG9yeSBwYXRoIHRoYXQgbWF5 IGNvbnRhaW4gYGxsZGJgIGluIHRoZQpwYXRobmFtZS4gQ2hhbmdlIHRoZSB0ZXN0IHRvIGNoZWNr IHRoZSBleGFjdCBjYzEgYXJndW1lbnRzLgoKcmRhcjovLzE4MzUwMTU1OApodHRwczovL2ludmVu dC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC80MDJjOWY5YTc3NmRjMjBk MDNlMzNjNDQ3ZDg2NjM0YzQ4NmE1NDM0CgpHaXQgY29tbWl0IGY1OWQ2ZjVmODY2Yjk3NDEzNTEw ZmExMTkxNDQ2NTFmYmJiYzcxMjMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgVXNhbWEgSGFtZWVk KSBvbiAwNC8wOC8yMDI2IGF0IDE4OjQ5Li4KW2NsYW5nXVt0ZXN0XSBBZGQgdGVzdCBmb3Igc3Rh Y2tfcHJvdGVjdG9yX2lnbm9yZSBpbiBzeXN0ZW0gbWFjcm9zICgjMjEzNzcwKQoKZDMxODRiYzZj NmE4ICgiW2NsYW5nXSBEb24ndCB3YXJuIG9uIHN0YWNrX3Byb3RlY3Rvcl9pZ25vcmUgaW4gc3lz dGVtCm1hY3JvcyIpIGFkZGVkIFN1cHByZXNzSW5TeXN0ZW1NYWNybyB0bwp3YXJuX3N0YWNrX3By b3RlY3Rpb25faWdub3JlX2F0dHJpYnV0ZSBidXQgb25seSBhZGRlZCBhbiBMTFZNIENvZGVHZW4K dGVzdCBmb3IgdGhlIHN0YWNrLXByb3RlY3RvciBtZXRhZGF0YSwgc28gdGhlIGRpYWdub3N0aWMg Y2hhbmdlIGl0c2VsZgp3YXMgdW50ZXN0ZWQuCgpBZGQgYSB0ZXN0IHVzaW5nIHRoZSBzZWxmLWlu Y2x1ZGUgc3lzdGVtX2hlYWRlciBpZGlvbTogdGhlIGF0dHJpYnV0ZQpmcm9tIGEgc3lzdGVtIGhl YWRlciBtYWNybyBkb2VzIG5vdCB3YXJuIHVuZGVyIC1mc3RhY2stcHJvdGVjdG9yLWFsbCwKd2hp bGUgb25lIHdyaXR0ZW4gaW4gdXNlciBjb2RlIHN0aWxsIGRvZXMuCgpyZGFyOi8vMTgzOTYyOTg1 Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2Y1 OWQ2ZjVmODY2Yjk3NDEzNTEwZmExMTkxNDQ2NTFmYmJiYzcxMjMKCkdpdCBjb21taXQgNDM3NmI4 ZDY2OTYxZGIzNjA5NDVkYjQ0YWJlNTEwZDlmMTNhYmY2MSBieSBHaXRIdWIgKG9uIGJlaGFsZiBv ZiBBbGV4ZXkgQmF0YWV2KSBvbiAwNC8wOC8yMDI2IGF0IDE4OjU3Li4KW1NMUF1GbGF0dGVuIGFk ZC9zdWIgYW5kIGZhZGQvZnN1YiBjaGFpbnMgaW50byBvbmUgcmVhc3NvY2lhdGVkIG5vZGUKCkEg cGVlbGVkIHN1YnRyYWN0IGtlZXBzIHRoZSBjb2x1bW4gc2lnbiBmb3IgaXRzIGZpcnN0IG9wZXJh bmQgYW5kIGZsaXBzCml0IGZvciB0aGUgc2Vjb25kLCBzbyBtaXhlZCBhZGQvc3ViIChmYWRkL2Zz dWIgd2l0aCByZWFzc29jKSBjaGFpbnMKbGluZWFyaXplIGludG8gcG9zaXRpdmUgYW5kIG5lZ2F0 aXZlIG9wZXJhbmQgY29sdW1ucyBjb21iaW5pbmcgYXMKc3VtKHBvc2l0aXZlKSAtIHN1bShuZWdh dGl2ZSksIHdpdGggc3VidHJhaGVuZCBjb2x1bW5zIHJlb3JkZXJlZCBieQp2YWx1ZSBmYW1pbHku IG51dyBpcyBub3cgYWxzbyBkcm9wcGVkIG9uIG5vbi1leGFjdCBjb21iaW5lcyB3aGVuIGEKbmVn YXRlZCBsZWFmIGV4aXN0cywgc2luY2UgYSByZWdyb3VwZWQgc3VidHJhaGVuZCBzdW0gY2FuIGV4 Y2VlZCB0aGUKb3JpZ2luYWwgcnVubmluZyB0b3RhbC4KClJldmlld2VyczogUktTaW1vbiwgYmFi YWJ1Y2ssIGhpcmFkaXR5YQoKUHVsbCBSZXF1ZXN0OiBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9s bHZtLXByb2plY3QvcHVsbC8yMTM1NDQKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9s bHZtLXByb2plY3QvLS9jb21taXQvNDM3NmI4ZDY2OTYxZGIzNjA5NDVkYjQ0YWJlNTEwZDlmMTNh YmY2MQoKR2l0IGNvbW1pdCBiMDdmYzhhNDRhYTZhYzAzZWM4ZTBjNzliMDQxMzRiZGE4N2I1Mjc5 IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEZvbGtlcnQgZGUgVnJpZXMpIG9uIDA0LzA4LzIwMjYg YXQgMTk6MDAuLgpbU1BBUkNdIERvIG5vdCB1c2UgdGhlIHVuaW1wIHN0cnVjdC1yZXR1cm4gY29u dmVudGlvbiBmb3IgemVyby1zaXplZCB0eXBlcyAoIzIxMzczMykKCkdDQyBoYXMgc3BlY2lhbCBo YW5kbGluZyBmb3IgYW4gYHNyZXRgIG9mIGEgemVyby1zaXplZCB0eXBlLCBtYXRjaCB0aGF0Cmhh bmRsaW5nLgoKaHR0cHM6Ly9nb2Rib2x0Lm9yZy96L1RjcmFhbzdyVAoKSXQgc2VlbXMgdW5saWtl bHkgc29tZW9uZSBpcyBhY3R1YWxseSByZWx5aW5nIG9uIHRoaXMsIHNvIEkgaGF2ZW4ndAphZGRl ZCB0aGUgYWJpIGNvbXBhdGliaWxpdHkgbG9naWMuIFJ1c3QgaG93ZXZlciB1c2VzIHplcm8tc2l6 ZWQgdHlwZXMKcXVpdGUgaGVhdmlseSwgc28gaGF2aW5nIHRoaXMgd29yayBjb3JyZWN0bHkgaXMg dXNlZnVsIHRoZXJlLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVj dC8tL2NvbW1pdC9iMDdmYzhhNDRhYTZhYzAzZWM4ZTBjNzliMDQxMzRiZGE4N2I1Mjc5CgpHaXQg Y29tbWl0IDhjZjMyNjhiM2E2NWUxODZmMTA0MTM5YTNmNTNkMDdkZThkNTAzMmEgYnkgR2l0SHVi IChvbiBiZWhhbGYgb2YgQW5keSBLYXlsb3IpIG9uIDA0LzA4LzIwMjYgYXQgMTk6MTAuLgpbQ0lS XVtBQXJjaDY0XSBVc2UgQ0lSJ3MgZm1hIGFuZCBzcXJ0IGZvciBOZW9uIGJ1aWx0aW5zICgjMjEz ODAwKQoKVGhpcyBjaGFuZ2UgcmVwbGFjZXMgc29tZSBsb2NhdGlvbnMgd2hlcmUgdGhlIE5lb24g YnVpbHRpbiBoYW5kbGluZyB3YXMKY2FsbGluZyBMTFZNIGludHJpbnNpY3MgZGlyZWN0bHkgZm9y IEZNQSBhbmQgc3FydCBvcGVyYXRpb25zIHJhdGhlciB0aGFuCnVzaW5nIHRoZSBDSVIgb3BlcmF0 aW9ucy4gVXNpbmcgdGhlIENJUiBvcGVyYXRpb25zIHdpbGwgYmUgbmVjZXNzYXJ5IHRvCmdldCB0 aGUgYmVzdCBjb25zdHJhaW5lZCBGUCBoYW5kbGluZy4KClRoaXMgd2lsbCBzdGlsbCByZXF1aXJl IHNldHRpbmcgdGhlIGZlbnYgYXR0cmlidXRlIG9uIHRoZXNlIG9wZXJhdGlvbnMKd2hlbiBuZWVk ZWQuIFRoaXMgY2hhbmdlIGlzIGp1c3QgdGhlIGZpcnN0IG9mIGEgZmV3IHByZWxpbWluYXJ5IGNo YW5nZXMKbmVlZGVkIHRvIGdldCB1cyBpbiBhIGdvb2Qgc3RhdGUgdG8gYWRkIHRoZSBjb25zdHJh aW5lZCBGUCBoYW5kbGluZy4KCkFzc2lzdGVkLWJ5OiBDdXJzb3IgLyBHcm9rIDQuNQpodHRwczov L2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC84Y2YzMjY4YjNh NjVlMTg2ZjEwNDEzOWEzZjUzZDA3ZGU4ZDUwMzJhCgpHaXQgY29tbWl0IGQ0NjI4NTI2YmRkMmM4 YmQwM2FjZGNiZjBmOWQ4NzEwZWYyNDM0ODYgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQW5keSBL YXlsb3IpIG9uIDA0LzA4LzIwMjYgYXQgMTk6MTUuLgpbQ0lSXSBBcHBseSBGUCBjb25zdHJhaW50 cyB0byBnbG9iYWwgaW5pdGlhbGl6ZXJzICgjMjEzNzc2KQoKQmVjYXVzZSBDSVIgaGFuZGxlcyBn bG9iYWwgaW5pdGlhbGl6ZXJzIHVzaW5nIGEgcmVnaW9uIG9mIHRoZSBjaXIuZ2xvYmFsCm9wZXJh dGlvbiBkdXJpbmcgaW5pdGlhbCBjb2RlIGdlbmVyYXRpb24sIHRoZXNlIGluaXRpYWxpemVycyBk b24ndAphdXRvbWF0aWNhbGx5IGdldCB0aGUgc3RyaWN0ZnAgc2V0dXAgaW4gQ0lSR2VuRnVuY3Rp b246OnN0YXJ0RnVuY3Rpb24uCgpUaGlzIGNoYW5nZSBhZGRzIGFuIGF0dHJpYnV0ZSB0byB0aGUg Y2lyLmdsb2JhbCBvcGVyYXRpb24gdG8gdHJhY2sKZmxvYXRpbmctcG9pbnQgY29uc3RyYWludHMg c28gdGhhdCB0aGUgYHN0cmljdGZwYCBhdHRyaWJ1dGUgY2FuIGJlIHNldApvbiB0aGUgaW5pdGlh bGl6YXRpb24gZnVuY3Rpb24gd2hlbiBpdCBpcyBjcmVhdGVkIGR1cmluZyBFSEFCSSBsb3dlcmlu Zy4KCkFzc2lzdGVkLWJ5OiBDdXJzb3IgLyB2YXJpb3VzIG1vZGVscwpodHRwczovL2ludmVudC5r ZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9kNDYyODUyNmJkZDJjOGJkMDNh Y2RjYmYwZjlkODcxMGVmMjQzNDg2CgpHaXQgY29tbWl0IDMyYjY0NWQ5ZDY5YjhjMmU2Mjg5MGZl ZDE5MjAzMzM3YmVkZGY3OTcgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgRXJpYyBDaHJpc3RvcGhl cikgb24gMDQvMDgvMjAyNiBhdCAxOToyMS4uCltEZWJ1Z0luZm9dIFRyZWF0IHRhZyBvZmZzZXRz IGFzIG5vbi1lbWl0dGluZyAoIzIxMTk2OSkKCkRXX09QX0xMVk1fdGFnX29mZnNldCBkb2Vzbid0 IGVtaXQgYW55dGhpbmcgaW50byB0aGUgRFdBUkYgZXhwcmVzc2lvbiwKc28gbG9vayBwYXN0IGl0 IHdoZW4gZGVjaWRpbmcgd2hldGhlciBhIHJlZ2lzdGVyIGV4cHJlc3Npb24gaXMgY29tcGxleApv ciB3aGV0aGVyIGFwcGVuZFRvU3RhY2sgbmVlZHMgdG8gYWRkIGEgZGVyZWZlcmVuY2UuCgpUZXN0 ZWQgd2l0aCBtYWtlIGNoZWNrLgoKQXNzaXN0ZWQgd2l0aCBBSS4KaHR0cHM6Ly9pbnZlbnQua2Rl Lm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvMzJiNjQ1ZDlkNjliOGMyZTYyODkw ZmVkMTkyMDMzMzdiZWRkZjc5NwoKR2l0IGNvbW1pdCA3MDI1M2FmODcwOTYxN2I4NjA4NjVjZThk NzQyMDQ3MThlOGExOTc1IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFZpdGFseSBCdWthKSBvbiAw NC8wOC8yMDI2IGF0IDE5OjI3Li4KW05GQ11bbGliRnV6emVyXSBSZW1vdmUgdW51c2VkIEdldE1v ZHVsZU5hbWUgaGVscGVyIGluIFRyYWNlUEMgKCMyMTQwMzIpCgpGaXhpbmcgYnVpbGQgYm90cyBh ZnRlcgpodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvcHVsbC8yMDMwODQuCmh0 dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzcwMjUz YWY4NzA5NjE3Yjg2MDg2NWNlOGQ3NDIwNDcxOGU4YTE5NzUKCkdpdCBjb21taXQgN2Y0OThkOWQz NmQxMDJhNjUzMDg5ZTg2Y2MwN2QwYTdmOTBiZmFlYyBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBR aW9uZ3NpIFd1KSBvbiAwNC8wOC8yMDI2IGF0IDE5OjM4Li4KW2NsYW5nXVtEZXBlbmRlbmN5U2Nh bm5pbmddIFVzZSBDb21waWxlckluc3RhbmNlV2l0aENvbnRleHQgZm9yIFRVIFNjYW5uaW5nICgj MjExNDA4KQoKQWZ0ZXIgYENvbXBpbGVySW5zdGFuY2VXaXRoQ29udGV4dGAncyByZWxvY2F0aW9u IHRvCmBEZXBlbmRlbmN5U2Nhbm5pbmdXb3JrZXIuY3BwYCwgd2UgY2FuIHVzZSBpdCBmcmVlbHkg YXMgYW4KaW1wbGVtZW50YXRpb24gZW5naW5lIGZvciBUVSBzY2FubmluZy4gVGhpcyBQUiBkb2Vz IHRoYXQsIGFuZCB1bmlmaWVzCnRoZSBieS1uYW1lIHNjYW5uaW5nIGFuZCBUVSBzY2FubmluZyBz byB0aGV5IGFsbCBnbyB0aHJvdWdoCmBDb21waWxlckluc3RhbmNlV2l0aENvbnRleHRgLgoKcmRh cjovLzE2NzAzNDMwOQoKCgotLS0KCjxzdWI+U3RhY2sgY3JlYXRlZCB3aXRoIDxhCmhyZWY9Imh0 dHBzOi8vZ2l0aHViLmNvbS9naXRodWIvZ2gtc3RhY2siPkdpdEh1YiBTdGFja3MgQ0xJPC9hPiDi gKIgPGEKaHJlZj0iaHR0cHM6Ly9naC5pby9zdGFja3MtZmVlZGJhY2siPkdpdmUgRmVlZGJhY2sg 8J+SrDwvYT48L3N1Yj4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2pl Y3QvLS9jb21taXQvN2Y0OThkOWQzNmQxMDJhNjUzMDg5ZTg2Y2MwN2QwYTdmOTBiZmFlYwoKR2l0 IGNvbW1pdCAwNDcyMmE0YTMyZTZmZWMxODk3Y2MzY2I1YTU0ODA5ZmNkOGM5Y2FlIGJ5IEdpdEh1 YiAob24gYmVoYWxmIG9mIFFpb25nc2kgV3UpIG9uIDA0LzA4LzIwMjYgYXQgMTk6MzguLgpbY2xh bmddW0RlcGVuZGVuY3lTY2FubmluZ10gRGlzc29sdmUgRGVwZW5kZW5jeVNjYW5uZXJJbXBsLmgv Y3BwICgjMjExNDA5KQoKYERlcGVuZGVuY3lTY2FubmVySW1wbC5oL2NwcGAgd2VyZSBjcmVhdGVk IHRvIHNoYXJlIGNvZGUgYmV0d2VlbiBUVQpzY2FubmluZyBhbmQgYnktbmFtZSBzY2FubmluZyB3 aGVuIHRoZXkgd2VyZSBvbiBkaWZmZXJlbnQgY29kZSBwYXRocy4KQWZ0ZXIgdW5pZnlpbmcgdGhl IGltcGxlbWVudGF0aW9uIHRocm91Z2ggYENvbXBpbGVySW5zdGFuY2VXaXRoQ29udGV4dGAsCndl IG5vIGxvbmdlciBuZWVkIGEgc2VwYXJhdGUgaGVhZGVyL2NwcCBwYWlyIGFuZCBhbGwgdGhlIGNv ZGUgYXJlIG1vdmVkCmludG8gYERlcGVuZGVuY3lTY2FubmluZ1dvcmtlci5jcHBgLiBUaGlzIFBS IGlzIG1lY2huaWNhbCBhbmQgZG9lcyBub3QKaW50ZW5kIHRvIGludHJvZHVjZSBiZWhhdml2b3Ig Y2hhbmdlcy4KCi0tLQoKPHN1Yj5TdGFjayBjcmVhdGVkIHdpdGggPGEKaHJlZj0iaHR0cHM6Ly9n aXRodWIuY29tL2dpdGh1Yi9naC1zdGFjayI+R2l0SHViIFN0YWNrcyBDTEk8L2E+IOKAoiA8YQpo cmVmPSJodHRwczovL2doLmlvL3N0YWNrcy1mZWVkYmFjayI+R2l2ZSBGZWVkYmFjayDwn5KsPC9h Pjwvc3ViPgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2Nv bW1pdC8wNDcyMmE0YTMyZTZmZWMxODk3Y2MzY2I1YTU0ODA5ZmNkOGM5Y2FlCgpHaXQgY29tbWl0 IGIzY2UwN2I5OTk5MDAwZTZmYWQxYzNhYThmNDI5ZTJmZjI2YjU5OGYgYnkgR2l0SHViIChvbiBi ZWhhbGYgb2YgQWJoaW5hIFNyZWUpIG9uIDA0LzA4LzIwMjYgYXQgMTk6NDEuLgpbU3lzdGVtWl1b ei9PU10gdXNlIExMVk1fVEhSRUFEX0xPQ0FMIGluc3RlYWQgb2YgdGhyZWFkX2xvY2FsICgjMjE0 MDM5KQoKVGhpcyBwYXRjaCBpcyB0byBmaXggdGhlIGZvbGxvd2luZyBlcnJvciBvbiB6L09TCgpg YGAKbGx2bS9pbmNsdWRlL2xsdm0vU3VwcG9ydC9QZXJUaHJlYWRCdW1wUHRyQWxsb2NhdG9yLmg6 NzU6MTI6IGVycm9yOiB0aHJlYWQtbG9jYWwgc3RvcmFnZSBpcyBub3Qgc3VwcG9ydGVkIGZvciB0 aGUgY3VycmVudCB0YXJnZXQKICAgNzUgfCAgICAgc3RhdGljIHRocmVhZF9sb2NhbCBzdGQ6OnZl Y3RvcjxBbGxvY2F0b3JUeSAqPiBDYWNoZTsKICAgICAgfCAgICAgICAgICAgIF4KYGBgCmh0dHBz Oi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2IzY2UwN2I5 OTk5MDAwZTZmYWQxYzNhYThmNDI5ZTJmZjI2YjU5OGYKCkdpdCBjb21taXQgY2RkYzEwNzg5OWJk ZjA5ZWUzZmZkNjBiMDBiMzI0NTVlNjk5YjEzMCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBcnNl bml5IE9ib2xlbnNraXkpIG9uIDA0LzA4LzIwMjYgYXQgMTk6NDguLgpbQU1ER1BVXSBEbyBub3Qg d2lkZW4gY29uc3RhbnQgbG9hZHMgdGhhdCBtYXkgbm90IGJlIGRlcmVmZXJlbmNlYWJsZSAoIzE4 NDc5MCkKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21t aXQvY2RkYzEwNzg5OWJkZjA5ZWUzZmZkNjBiMDBiMzI0NTVlNjk5YjEzMAoKR2l0IGNvbW1pdCBk ZWU3MGEwZmM5NDhjZTkwNjBmNDIyNWVlNWI3MDdhZjQyODdlNWRjIGJ5IEdpdEh1YiAob24gYmVo YWxmIG9mIEFsZXhhbmRlciBSaWNoYXJkc29uKSBvbiAwNC8wOC8yMDI2IGF0IDE5OjU1Li4KW1Rh YmxlR2VuXSBHZW5lcmF0ZSBgZ2V0UmVnQ2xhc3NGcm9tTWF0Y2hLaW5kKClgIGZvciBBc21NYXRj aGVycwoKVGhpcyBoZWxwZXIgY2FuIGJlIHVzZWZ1bCBpbiB2YWxpZGF0ZVRhcmdldE9wZXJhbmRD bGFzcyB0byBnZXQgdGhlCk1DUmVnaXN0ZXJDbGFzcyBmb3IgdGhlIE1DS18qIGVudW0uCk1pZ3Jh dGUgdGhlIFJWWSBsb2dpYyB0byB1c2UgdGhpcyBuZXcgZ2VuZXJhdGVkIGZ1bmN0aW9uLiBDaGVj a2luZyBhbGwKcmVnaXN0ZXIgY2xhc3NlcyBpbnN0ZWFkIG9mIGp1c3QgdGhlIFJWWSBvbmVzIHdp bGwgbWFyZ2luYWxseSBzbG93IGRvd24KdmFsaWRhdGVUYXJnZXRPcGVyYW5kQ2xhc3MsIGJ1dCBz aW5jZSB0aGlzIGlzIGFscmVhZHkgYSBzbG93IHBhdGggaXQKc2hvdWxkIG5vdCBtYXR0ZXIuCgpJ ZiBtdWx0aXBsZSBSZWdpc3Rlck9wZXJhbmRzIHNoYXJlIGEgUGFyc2VyTWF0Y2hDbGFzcyBidXQg bWFwIHRvIGRpZmZlcmVudApSZWdpc3RlckNsYXNzZXMsIG9taXQgdGhlbSBmcm9tIHRoZSBnZW5l cmF0ZWQgZ2V0UmVnQ2xhc3NGcm9tTWF0Y2hLaW5kCm1hcHBpbmcgZnVuY3Rpb24uIEkgb3JpZ2lu YWxseSB0cmllZCB0byBlbWl0IGFuIGVycm9yIGhlcmUsIGJ1dCBpdCB0dXJucwpvdXQgdGhlcmUg YXJlIG1hbnkgdGFyZ2V0cyB0aGF0IHJlbHkgb24gc2hhcmluZyB0aGUgUGFyc2VyTWF0Y2hDbGFz cyB3aXRoCmRpZmZlcmVudCAoYnV0IHNpbWlsYXIpIFJlZ2lzdGVyQ2xhc3NlcyBzbyBpZ25vcmlu ZyB0aGVtIGlzIHNhZmVyLgoKUmV2aWV3ZWQgQnk6IGxlbmFyeQoKUHVsbCBSZXF1ZXN0OiBodHRw czovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvcHVsbC8yMDA0NTMKaHR0cHM6Ly9pbnZl bnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvZGVlNzBhMGZjOTQ4Y2U5 MDYwZjQyMjVlZTViNzA3YWY0Mjg3ZTVkYwoKR2l0IGNvbW1pdCAwZDFiNTQ2MDRkYWM3M2FkYzE2 YWYxNWY0MzNhZTBjOTIwNjlmY2MyIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEFsZXhhbmRlciBS aWNoYXJkc29uKSBvbiAwNC8wOC8yMDI2IGF0IDE5OjU3Li4KW1RhYmxlR2VuXVtBc21NYXRjaGVy XSBSZXNvbHZlIFJlZ0NsYXNzQnlId01vZGUga2luZHMgZm9yIGFsbCBvcGVyYW5kcwoKdmFsaWRh dGVPcGVyYW5kQ2xhc3MoKSBvbmx5IHJlbWFwcGVkIGEgUmVnQ2xhc3NCeUh3TW9kZSBvcGVyYW5k IGtpbmQKd2hlbiB0aGUgYWN0dWFsIHBhcnNlZCBvcGVyYW5kIHdhcyBhIHJlZ2lzdGVyLiBXaGVu IHRoZSBvcGVyYW5kIHdhcwpzb21ldGhpbmcgZWxzZSBlbnRpcmVseSAoZS5nLiBhIGJhcmUgaW1t ZWRpYXRlIHdoZXJlIGEgcmVnaXN0ZXIgd2FzCmV4cGVjdGVkKSwgdGhpcyBmZWxsIHRocm91Z2gg dG8gdGhlIGdlbmVyaWMgIktpbmQgPD0gTUNLX0xBU1RfUkVHSVNURVIiCmRpYWdub3N0aWMgY2hl Y2ssIHNvIHdlIGVuZCB1cCB3aXRoIGEgZ2VuZXJpYyBNYXRjaF9JbnZhbGlkT3BlcmFuZC4KCk5v IHRlc3QgY2hhbmdlcyBoZXJlLCBidXQgdGhpcyBpcyBuZWVkZWQgdG8gYXZvaWQgZGlhZ25vc3Rp YyByZWdyZXNzaW9ucwp3aXRoIHRoZSBSVlkgbG9hZC9zdG9yZSBzdXBwb3J0IChQUiAjMTc3MDcz KS4KClB1bGwgUmVxdWVzdDogaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9qZWN0L3B1 bGwvMjEzNDc5Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0v Y29tbWl0LzBkMWI1NDYwNGRhYzczYWRjMTZhZjE1ZjQzM2FlMGM5MjA2OWZjYzIKCkdpdCBjb21t aXQgYzc0MGM1NDUxN2ZhZmRmYjZhM2RkMzUyMjcwMDA3NmQ1MTg0Yzg0MiBieSBHaXRIdWIgKG9u IGJlaGFsZiBvZiBBYmhpbmEgU3JlZSkgb24gMDQvMDgvMjAyNiBhdCAxOTo1Ny4uCltTeXN0ZW1a XVt6L09TXSBBZGQgZ3VhcmQgZm9yIFNJX1VTRVIgICgjMjEzMTAxKQoKU0lfVVNFUiBpcyBub3Qg ZGVmaW5lZCBvbiB6L09TIGFuZCBpcyBjYXVzaW5nIHRoZSBmb2xsb3dpbmcgYnVpbGQKZmFpbHVy ZS4gYGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdTSV9VU0VSJ2AgClRoaXMg cGF0Y2ggYWRkcyBhIGd1YXJkIHRvIGNoZWNrIHdoZXRoZXIgU0lfVVNFUiBpcyBkZWZpbmVkCmJl Zm9yZSB1c2luZyBpdC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2pl Y3QvLS9jb21taXQvYzc0MGM1NDUxN2ZhZmRmYjZhM2RkMzUyMjcwMDA3NmQ1MTg0Yzg0MgoKR2l0 IGNvbW1pdCA4MzQzYzUzOGYwZTdlZGVlOGJmYzJjODAwZjZkMWJmYWVmNjY0YzEyIGJ5IEdpdEh1 YiAob24gYmVoYWxmIG9mIGZvcmtpbmctZ29vZ2xlLWJhemVsLWJvdFtib3RdKSBvbiAwNC8wOC8y MDI2IGF0IDIwOjA5Li4KW0JhemVsXSBGaXhlcyAwNDcyMmE0ICgjMjE0MDQ5KQoKVGhpcyBmaXhl cyAwNDcyMmE0YTMyZTZmZWMxODk3Y2MzY2I1YTU0ODA5ZmNkOGM5Y2FlICgjMjExNDA5KS4KCkJ1 aWxka2l0ZSBlcnJvciBsaW5rOgpodHRwczovL2J1aWxka2l0ZS5jb20vbGx2bS1wcm9qZWN0L3Vw c3RyZWFtLWJhemVsL2J1aWxkcz9jb21taXQ9MDQ3MjJhNGEzMmU2ZmVjMTg5N2NjM2NiNWE1NDgw OWZjZDhjOWNhZQoKQ28tYXV0aG9yZWQtYnk6IEdvb2dsZSBCYXplbCBCb3QgPGdvb2dsZS1iYXpl bC1ib3RAZ29vZ2xlLmNvbT4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXBy b2plY3QvLS9jb21taXQvODM0M2M1MzhmMGU3ZWRlZThiZmMyYzgwMGY2ZDFiZmFlZjY2NGMxMgoK R2l0IGNvbW1pdCA0NGM2YWVkOWJkOWI5Y2RhOTkzZjRlOTNmMmNiZGI0ZmJiYTg5MGQwIGJ5IEdp dEh1YiAob24gYmVoYWxmIG9mIFNwZW5jZXIgQnJ5bmdlbHNvbikgb24gMDQvMDgvMjAyNiBhdCAy MDoxNS4uCltmbGFuZ11bT3Blbk1QXSBEaWFnbm9zZSBmYWlsZWQgY29uc3RydWN0IGRlY29tcG9z aXRpb24gaW5zdGVhZCBvZiBmYWxsaW5nIHRocm91Z2ggKCMyMTQwMTIpCgpgYnVpbGRDb25zdHJ1 Y3RRdWV1ZWAgYXNzZXJ0cyB0aGF0IGRlY29tcG9zaXRpb24gcHJvZHVjZWQgb3V0cHV0OgoKYGBg Y3BwCkNvbnN0cnVjdERlY29tcG9zaXRpb24gZGVjb21wb3NlKG1vZE9wLCBzZW1hQ3R4LCBldmFs LCBjb21wb3VuZCwgY2xhdXNlcyk7CmFzc2VydCghZGVjb21wb3NlLm91dHB1dC5lbXB0eSgpICYm ICJDb25zdHJ1Y3QgZGVjb21wb3NpdGlvbiBmYWlsZWQiKTsKYGBgCgpSZWxlYXNlIGJ1aWxkcyBo YXZlIG5vIGNoZWNrLCBzbyB0aGUgZW1wdHkgcXVldWUgZmFsbHMgdGhyb3VnaCB0byB0aGUKbG9v cCBiZWxvdyBhbmQgb3V0IHRvIHRoZQpjYWxsZXIuIFRoYXQgaXMgdW5kZWZpbmVkIGJlaGF2aW91 ciwgYW5kIGl0IGlzIHJlYWNoYWJsZSDigJQgc2VtYW50aWNzCmRvZXMgbm90IGNhdGNoIGV2ZXJ5 CmRpcmVjdGl2ZS9jbGF1c2UgY29tYmluYXRpb24gdGhhdCBjYW5ub3QgYmUgZGVjb21wb3NlZC4g VGhlIHJlc3VsdCBpcyBhbgppbnRlcm1pdHRlbnQgc2VnZmF1bHQKcmF0aGVyIHRoYW4gYSBkaWFn bm9zdGljLgoKIzIxMTQzMCBpcyBvbmUgd2F5IGluOiBgYWxsb2NhdGVgIGlzIGFuIE9wZW5NUCA1 LjAgY2xhdXNlLCBidXQgbW9zdApkaXJlY3RpdmVzIGRlY2xhcmUgaXQgaW4KYE9NUC50ZGAgd2l0 aG91dCBhIG1pbmltdW0gdmVyc2lvbiwgc28gc2VtYW50aWNzIGFjY2VwdHMgaXQgYmVsb3cgNS4w CmFuZCBkZWNvbXBvc2l0aW9uIHRoZW4KY29ycmVjdGx5IHJlZnVzZXMgaXQuIGZsYW5nIGRlZmF1 bHRzIHRvIE9wZW5NUCAzLjEsIHNvIG5vIHVudXN1YWwgZmxhZ3MKYXJlIG5lZWRlZC4gVGhlCmlu dGVybWl0dGVuY3kgaXMgd2hhdCBtYWRlIHRoYXQgcmVwb3J0IGhhcmQgdG8gcGluIGRvd24g4oCU IDQwIHRyaWFscyBhdApgLWZvcGVubXAtdmVyc2lvbj0zMWA6Cgp8IHwgc2VnZmF1bHRzIHwKfC0t LXwtLS18CnwgQVNMUiBvbiB8IDI1LzQwIHwKfCBBU0xSIG9mZiAoYHNldGFyY2ggLVJgKSB8IDAv NDAgfAoKd2hpY2ggaXMgYW4gdW5pbml0aWFsaXplZCByZWFkLgoKQWZ0ZXIgdGhpcyBwYXRjaCB0 aGUgc2FtZSBpbnB1dCBmYWlscyBkZXRlcm1pbmlzdGljYWxseSB3aXRoIGEgbG9jYXRlZApkaWFn bm9zdGljLCA0MC80MDoKCmBgYAplcnJvcjogbG9jKCJyZXByby5mOTAiOjY6MTEpOiBPcGVuTVAg Y29uc3RydWN0IGRlY29tcG9zaXRpb24gZmFpbGVkOiBhIGNsYXVzZSBvbgogICAgICAgJ3Rhcmdl dCB0ZWFtcyBkaXN0cmlidXRlIHBhcmFsbGVsIGRvJyBjYW5ub3QgYmUgYXBwbGllZCB0byBhbnkg b2YgaXRzIGxlYWYgY29uc3RydWN0cwpgYGAKCmBnZW5DcmFzaERpYWc9ZmFsc2VgIHNvIGl0IGV4 aXRzIG5vbi16ZXJvIHdpdGhvdXQgYSBiYWNrdHJhY2UsIHJhdGhlcgp0aGFuIHByZXNlbnRpbmcg YXMgYSBjb21waWxlcgpjcmFzaC4KClRoaXMgaXMgYSBoYXJkZW5pbmcgZml4IGZvciB0aGUgbG93 ZXJpbmcgcGF0aCBhbmQgaXMgaW5kZXBlbmRlbnQgb2YgYW55CnBhcnRpY3VsYXIgY2xhdXNlOiBp dCBjb3ZlcnMKZXZlcnkgY29tYmluYXRpb24gdGhhdCBkZWNvbXBvc2VzIGVtcHR5LiBJdCBkb2Vz IG5vdCBtYWtlIHRoZSBgYWxsb2NhdGVgCmNhc2UgYSAqZ29vZCogZGlhZ25vc3RpYyDigJQKdGhh dCBiZWxvbmdzIGluIHNlbWFudGljcywgYW5kICMyMTM5ODAgaXMgdGhlIHNlcGFyYXRlIGNoYW5n ZSBmb3IgaXQuCgpgY2hlY2stZmxhbmdgIGlzIGNsZWFuICg0ODA4IHRlc3RzKS4gTm8gdGVzdCBp cyBhZGRlZDogdGhlIG9ubHkgaW4tdHJlZQp3YXkgdG8gcmVhY2ggdGhpcyBwYXRoIGlzCnRocm91 Z2ggdGhlIGBPTVAudGRgIGdhcCB0aGF0ICMyMTM5ODAgZml4ZXMsIHNvIGEgdGVzdCBoZXJlIHdv dWxkIGVuY29kZQp0aGF0IGdhcCBhcyBleHBlY3RlZApiZWhhdmlvdXIgYW5kIGhhdmUgdG8gYmUg cmVtb3ZlZCB3aGVuIGl0IGxhbmRzLiBIYXBweSB0byBhZGQgb25lIGlmCnlvdSdkIHByZWZlci4K CgotLS0KClBhcnRzIG9mIHRoaXMgY2hhbmdlIHdlcmUgd3JpdHRlbiBvciBhdWRpdGVkIHdpdGgg Q2xhdWRlIENvZGUuIEkgaGF2ZQpyZXZpZXdlZCBhbGwgb2YgaXQgYW5kIHRha2UKZnVsbCByZXNw b25zaWJpbGl0eSBmb3IgdGhlIGNvbnRyaWJ1dGlvbi4gU2VlCmBsbHZtL2RvY3MvQUlUb29sUG9s aWN5Lm1kYC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9j b21taXQvNDRjNmFlZDliZDliOWNkYTk5M2Y0ZTkzZjJjYmRiNGZiYmE4OTBkMAoKR2l0IGNvbW1p dCA4M2ZiNzJhOTA0ZTgyMzFiZjY4NzkwNzZiOWMxMGJkYmYyNWU0NzQ0IGJ5IEdpdEh1YiAob24g YmVoYWxmIG9mIEFydGh1ciBFdWJhbmtzKSBvbiAwNC8wOC8yMDI2IGF0IDIwOjIwLi4KW0RXUF0g RWFnZXJseSBjbGVhciBidWZmZXJzIGFmdGVyIHdyaXRpbmcgKCMyMTMzNDUpCgpMb3dlcnMgcGVh ayBtZW1vcnkgdXNhZ2Ugb24gYSBsbHZtLWR3cCBpbnZvY2F0aW9uIGZyb20gMTIuMzdHQiAtPgox MS4xOUdCLgoKVGhpcyBhY3R1YWxseSBub3cgYmVhdHMgb3V0IEdOVSBkd3AgKDExLjM1R0IpIGF0 IGxlYXN0IHdoZW4gdGhlIG91dHB1dApmaWxlIGlzIGluIHRtcGZzLgpodHRwczovL2ludmVudC5r ZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC84M2ZiNzJhOTA0ZTgyMzFiZjY4 NzkwNzZiOWMxMGJkYmYyNWU0NzQ0CgpHaXQgY29tbWl0IGQ1MmU5ODgxNGM0MTQ4N2U1NjM1YTE4 NmQ5N2JmNTgwM2UyMDI0NTcgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgSGVucnkgSmlhbmcpIG9u IDA0LzA4LzIwMjYgYXQgMjA6MjUuLgpbTkZDXVtBTURHUFVdIEZpeCBleGl0IGNvZGUgbWlzbWF0 Y2ggd2l0aCBFWFBFTlNJVkVfQ0hFQ0sgaW4gc2NoZWR1bGXigKYgKCMyMTQwMjcpCgrigKYtYW1k Z3B1LXRyYWNrZXItcGh5c3JlZy1jcmFzaC5sbAoKT2JzZXJ2ZWQgaW4KaHR0cHM6Ly9jaS5zd2lm dC5vcmcvam9iL2xsdm0ub3JnL2pvYi9jbGFuZy1zdGFnZTEtUkEtZXhwZW5zaXZlL2pvYi9tYWlu LzExNTUKd2l0aCBMTFZNX0VOQUJMRV9FWFBFTlNJVkVfQ0hFQ0tTIGVuYWJsZWQsCmBDb2RlR2Vu L0FNREdQVS9zY2hlZHVsZS1hbWRncHUtdHJhY2tlci1waHlzcmVnLWNyYXNoLmxsYCBmYWlscyBk dWUgdG8KTWFjaGluZVZlcmlmaWVyIHJ1bm5pbmcsIGNhdXNpbmcgYW4gZXhpdCAxLgoKTW9kaWZp ZWQgdG8gYWx3YXlzIHJ1biB0aGUgYC12ZXJpZnktbWFjaGluZWluc3Ryc2AuCgpyZGFyOi8vMTg0 MDEwNzY2Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29t bWl0L2Q1MmU5ODgxNGM0MTQ4N2U1NjM1YTE4NmQ5N2JmNTgwM2UyMDI0NTcKCkdpdCBjb21taXQg ZjIwYjY0ZmZlNWM4MWUwZWYzNWJjZjk5OTBmNjBhMWZmOTE1N2Y3YiBieSBHaXRIdWIgKG9uIGJl aGFsZiBvZiBEbWl0cnkgVmFzaWx5ZXYpIG9uIDA0LzA4LzIwMjYgYXQgMjA6MjYuLgpbbGxkYl0g RGlzYWJsZSBUZXN0UHJvY2Vzc1NhdmVDb3JlTWluaWR1bXBTaXplTWlzbWF0Y2ggb24gV2luZG93 cyBob3N0cyAoIzIxNDA0NCkKClRoZSBidWlsZGJvdApbbGxkYi1yZW1vdGUtbGludXgtd2luXSho dHRwczovL2xhYi5sbHZtLm9yZy9idWlsZGJvdC8jL2J1aWxkZXJzLzE5NykgaXMKcmVkIGFmdGVy ICMyMTI4NjEuICMyMTI4NjEgY2Fubm90IGJlIHJldmVydGVkIGF1dG9tYXRpY2FsbHkgbm93IGJl Y2F1c2Ugb2YKIzIxMjY0MS4gU28gZGlzYWJsZSBUZXN0UHJvY2Vzc1NhdmVDb3JlTWluaWR1bXBT aXplTWlzbWF0Y2ggb24gV2luZG93cwpob3N0cyB0byBtYWtlIHRoZSBidWlsZGJvdCBncmVlbiBh Z2Fpbi4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21t aXQvZjIwYjY0ZmZlNWM4MWUwZWYzNWJjZjk5OTBmNjBhMWZmOTE1N2Y3YgoKR2l0IGNvbW1pdCAw M2Y4NmM2ZDRkNTU4MDlmOTUzMWI1ZTM3ZWI4MjQ5ZTU2OTc0NmFhIGJ5IEdpdEh1YiAob24gYmVo YWxmIG9mIERhdmlkIFlvdW5nKSBvbiAwNC8wOC8yMDI2IGF0IDIwOjMyLi4KW1N1cHBvcnRdW0Ry aXZlcl1bTExEQl0gR3VhcmQgV0lOMzJfTEVBTl9BTkRfTUVBTiBkZWZpbml0aW9ucyB3aXRoICNp Zm5kZWYgKCMyMTMwNDUpCgpTZXZlcmFsIFdpbmRvd3MgaGVhZGVycy9UVXMgdW5jb25kaXRpb25h bGx5IGAjZGVmaW5lCldJTjMyX0xFQU5fQU5EX01FQU5gLiBXaGVuIGEgYnVpbGQgcHJlZGVmaW5l cyB0aGUgbWFjcm8gb24gdGhlIGNvbXBpbGVyCmNvbW1hbmQgbGluZSAoZS5nLiBhIHRvb2xjaGFp biB0aGF0IHBhc3NlcyAtRFdJTjMyX0xFQU5fQU5EX01FQU4sIHdoaWNoCmNsYW5nIHRyZWF0cyBh cyBgI2RlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOIDFgKSwgdGhlIGRpZmZlcmluZyB0b2tlbgps aXN0cyB0cmlnZ2VyIC1XbWFjcm8tcmVkZWZpbmVkLCB3aGljaCBiZWNvbWVzIGEgaGFyZCBlcnJv ciB1bmRlcgotV2Vycm9yLgoKR3VhcmQgdGhlIGRlZmluaXRpb25zIHdpdGggI2lmbmRlZiwgbWF0 Y2hpbmcgdGhlIGFkamFjZW50IE5PTUlOTUFYCmhhbmRsaW5nIGFuZCB0aGUgZXhpc3RpbmcgcGF0 dGVybiBpbgpsbHZtL2xpYi9TdXBwb3J0L3JwbWFsbG9jL3JwbWFsbG9jLmMuIFRoZSBtYWNybyBp cyBvbmx5IGEgcHJlc2VuY2UgZmxhZywKc28ga2VlcGluZyBhbiBleHRlcm5hbGx5LXByb3ZpZGVk IGRlZmluaXRpb24gaXMgY29ycmVjdC4KClNpdGVzIGd1YXJkZWQ6CiAgbGx2bS9pbmNsdWRlL2xs dm0vU3VwcG9ydC9XaW5kb3dzL1dpbmRvd3NTdXBwb3J0LmgKICBsbHZtL2xpYi9XaW5kb3dzRHJp dmVyL01TVkNQYXRocy5jcHAKICBjbGFuZy9saWIvRHJpdmVyL1Rvb2xDaGFpbnMvTVNWQy5jcHAK ICBsbGRiL2luY2x1ZGUvbGxkYi9Ib3N0L3dpbmRvd3Mvd2luZG93cy5oCgpNZXRhIHJhbiBpbnRv IHRoaXMgaW50ZXJuYWxseSBidWlsZGluZyBsbGRiIG9uIHdpbmRvdyBhZnRlciBhIHN5bmMgd2l0 aAp1cHN0cmVhbSBmcm9tIEp1bHkgY29tbWl0LCBzbyBhZGRpbmcgZ3VhcmRzIHdvdWxkIGFsbG93 IHVzIHRvIGRyb3AgYQp3b3JrYXJvdW5kIG9mIGlnbm9yaW5nIHRoZSBkdXBsaWNhdGUgZGVmaW5l cy4KCkVycm9yOgpsbHZtXGluY2x1ZGVcbGx2bS9TdXBwb3J0L1dpbmRvd3MvV2luZG93c1N1cHBv cnQuaCgyOSw5KTogZXJyb3I6CidXSU4zMl9MRUFOX0FORF9NRUFOJyBtYWNybyByZWRlZmluZWQg Wy1XZXJyb3IsLVdtYWNyby1yZWRlZmluZWRdCiAgIDI5IHwgI2RlZmluZSBXSU4zMl9MRUFOX0FO RF9NRUFOCiAgICAgIHwgICAgICAgICBeCjxjb21tYW5kIGxpbmU+KDEwLDkpOiBub3RlOiBwcmV2 aW91cyBkZWZpbml0aW9uIGlzIGhlcmUKICAgMTAgfCAjZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01F QU4gMQogICAgICB8ICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KaHR0cHM6Ly9pbnZlbnQu a2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvMDNmODZjNmQ0ZDU1ODA5Zjk1 MzFiNWUzN2ViODI0OWU1Njk3NDZhYQoKR2l0IGNvbW1pdCA0NmI4ZWI4NjEzNTJkMGQzNDYyM2Ez MTM5ZWQxMWRlNzYzMzE3MzIzIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIE5pa2l0YSBUZXJlbnRl dikgb24gMDQvMDgvMjAyNiBhdCAyMDozOS4uCltORkNdW0NsYW5nXVtEb2NzXSBGaXggbWlub3Ig dHlwb3MgaW4gQ29uc3RhbnQgSW50ZXJwcmV0ZXIgZG9jLiAoIzIxMTYwOCkKCkZpcnN0OiBUeXBv IGlzIG9idmlvdXMuIApTZWNvbmQ6IEluIHRoZSBleGFtcGxlLCB0aGUgYS55IGZpZWxkIGlzIG1p c3NpbmcgYW5kIGZpZWxkIGEuYi55IGlzCnJlcXVpcmVkLgpodHRwczovL2ludmVudC5rZGUub3Jn L3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC80NmI4ZWI4NjEzNTJkMGQzNDYyM2EzMTM5 ZWQxMWRlNzYzMzE3MzIzCgpHaXQgY29tbWl0IDIxNzhkYjZkM2RlNGFkOWZiOTc5NGY1NWU2ZDZk MzhjZGYyYjAzNDcgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgVGltdXIgR29sdWJvdmljaCkgb24g MDQvMDgvMjAyNiBhdCAyMDo0Mi4uCltYODZdIEhhbmRsZSBtdWx0aS11c2Ugc2V0Y2MgaW4gY29t bXV0ZVNlbGVjdCAoIzIxMzY0NSkKCldoZW4gYSBzZXRjYyBjb25kaXRpb24gaXMgc2hhcmVkIGJl dHdlZW4gbXVsdGlwbGUgdnNlbGVjdHMsCmNvbW11dGVTZWxlY3QgcHJldmlvdXNseSBiYWlsZWQg b3V0IGR1ZSB0byB0aGUgbV9PbmVVc2UgY29uc3RyYWludC4KRXh0ZW5kIGl0IHRvIGNoZWNrIGFs bCB1c2VycyBvZiB0aGUgc2V0Y2MgYW5kLCBpZiB0aGV5IGFsbCBiZW5lZml0IGZyb20KY29tbXV0 aW5nLCBpbnZlcnQgdGhlIGNvbmRpdGlvbiBvbmNlIHdpdGggUmVwbGFjZUFsbFVzZXNPZlZhbHVl V2l0aCBhbmQKc3dhcCBhbGwgdnNlbGVjdCBvcGVyYW5kcy4KClRoaXMgZml4ZXMgYSB3cml0ZS1t YXNrIGZ1c2lvbiByZWdyZXNzaW9uIHdoZXJlIG1hc2tlZCBtaW4vbWF4CnJlZHVjdGlvbnMgcHJv ZHVjZWQgdW5mdXNlZCB2bWlucHMgKyB2bW92YXBzIHsla30gaW5zdGVhZCBvZiBhIHNpbmdsZQp3 cml0ZS1tYXNrZWQgdm1pbnBzIHsla30uCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcv bGx2bS1wcm9qZWN0Ly0vY29tbWl0LzIxNzhkYjZkM2RlNGFkOWZiOTc5NGY1NWU2ZDZkMzhjZGYy YjAzNDcKCkdpdCBjb21taXQgYWE3Njk2M2VjMDM5ZjQ4NWQwNWMxMjM1YmFjNWE1ZWRmMzYwNTM3 OCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBTaW1vbiBQaWxncmltKSBvbiAwNC8wOC8yMDI2IGF0 IDIwOjQzLi4KW1g4Nl0gTG93ZXJQQVJJVFkgLSB1c2UgY291bnRNYXhBY3RpdmVCaXRzIHRvIGRl dGVybWluZSBpZiByZXByZXNlbnRhYmxlIGFzIHVpbnQ4X3QuIE5GQy4gKCMyMTQwNTYpCgpNdWNo IGNsZWFuZXIgdGhhbiB1c2luZyB0aGUgTWFza2VkVmFsdWVJc1plcm8gY2hlY2suCgpGaXggaTY0 IC0+IHhvcihpMzIsaTMyKSBwYXJpdHkgc3RhZ2UgY29tbWVudCBhcyB3ZWxsLgpodHRwczovL2lu dmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9hYTc2OTYzZWMwMzlm NDg1ZDA1YzEyMzViYWM1YTVlZGYzNjA1Mzc4CgpHaXQgY29tbWl0IGNkNDU5ZjI0NjZlNDA4ZWJm OWRjZDQ1NWM1OGE0Mzk1MmQ2YTU5MDMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgRmFyem9uIExv dGZpKSBvbiAwNC8wOC8yMDI2IGF0IDIwOjQ3Li4KW1NQSVJWXSBTcGxpdCB3aWRlIHNoYWRlciBQ SElzIGJlZm9yZSBhcHBseWluZyBleHBsaWNpdCBzdXBwb3J0ZWQgdHlwZXMgKCMyMTM4MDYpCgpm aXhlcyAjMjEzODAyCgpBcHBseSB0aGUgbWF4aW11bS12ZWN0b3Itc2l6ZSBydWxlIGJlZm9yZSB0 aGUgZXhwbGljaXQgUEhJIGxlZ2FsaXR5CnJ1bGVzIGZvciB0eXBlLiBUaGlzIHdheSBpZiB3ZSBz ZWUgYSBzaXplIDE2IHZlY3RvciB3ZSBzcGxpdCBpdApiZWZvcmVoYW5kLgoKSW4gbW9yZSBwcmVj aXNlIHdvcmRzIHRoaXMgcHJlc2VydmVzIGV4aXN0aW5nIGxlZ2FsaXR5IHJ1bGVzIHdoaWxlCmVu c3VyaW5nIHNoYWRlciBQSElzIHdpZGVyIHRoYW4gZm91ciBsYW5lcyBhcmUgc3BsaXQgZmlyc3Qu CgpBc3Npc3RlZCBieSBDb3BpbG90IChHUFQgNS42IFNvbCkKaHR0cHM6Ly9pbnZlbnQua2RlLm9y Zy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvY2Q0NTlmMjQ2NmU0MDhlYmY5ZGNkNDU1 YzU4YTQzOTUyZDZhNTkwMwoKR2l0IGNvbW1pdCA1MjdhZTUzNDJkY2VjZTI0N2QzMDJlYTg4NGE1 OGY4MTYzZGE5OTkyIGJ5IEFsZXhhbmRlciBSaWNoYXJkc29uIG9uIDA0LzA4LzIwMjYgYXQgMjE6 MzQuLgpb8J2YgPCdl73wnZe/XSBpbml0aWFsIHZlcnNpb24KCkNyZWF0ZWQgdXNpbmcgc3ByIDEu My44LWJldGEuMS1hcmljaGFyZHNvbgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xs dm0tcHJvamVjdC8tL2NvbW1pdC81MjdhZTUzNDJkY2VjZTI0N2QzMDJlYTg4NGE1OGY4MTYzZGE5 OTkyCgpHaXQgY29tbWl0IDg0NzBkYjQxZDE0MjAwY2M3OTlkZmMzOGE3NzE1NWIzOGUxYmMzNTcg YnkgQWxleGFuZGVyIFJpY2hhcmRzb24gb24gMDQvMDgvMjAyNiBhdCAyMTozNi4uCmZpeCBlbmQg b2YgZmlsZQoKQ3JlYXRlZCB1c2luZyBzcHIgMS4zLjgtYmV0YS4xLWFyaWNoYXJkc29uCmh0dHBz Oi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0Lzg0NzBkYjQx ZDE0MjAwY2M3OTlkZmMzOGE3NzE1NWIzOGUxYmMzNTcKCkdpdCBjb21taXQgNDJjOTJiOTYzZjg4 NjlhOTRhNWE4NDg3MmVkNjk1MzFhMzJlZGMwYSBieSBBbGV4YW5kZXIgUmljaGFyZHNvbiBvbiAw NC8wOC8yMDI2IGF0IDIxOjQ1Li4KZml4IHR5cG8KCkNyZWF0ZWQgdXNpbmcgc3ByIDEuMy44LWJl dGEuMS1hcmljaGFyZHNvbgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJv amVjdC8tL2NvbW1pdC80MmM5MmI5NjNmODg2OWE5NGE1YTg0ODcyZWQ2OTUzMWEzMmVkYzBhCg==