[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 dXNoZWQgYnkgbWlycm9yLXNlcnZpY2UgaW50byBicmFuY2ggJ3Vwc3RyZWFtL3VzZXJzL2NjaGVu L2ZsYW5nX29wZW5tcF9tb3Rpb25fbWFwX2l0ZXJhdG9yJy4KQ2hhbmdlZCBmcm9tIGYyY2RhYjRj MmU4YmNlODk1YTc4ZjlmMDBjMjdiOTAyNDAwYzQ5MjMgdG8gNDU5ZDZhOTM2OGIzZTFmMzliZThm MTNjZDQ1NWRlMWZiNzU5MmJlNgpBY2tub3dsZWRnZW1lbnQgd2FzIHJlY2VpdmVkIHRoYXQgdGhp cyBjaGFuZ2UgaW50cm9kdWNlcyBvbmx5IGV4aXN0aW5nIGNvZGUgdGhhdCBoYXMgYmVlbiBwdXNo ZWQgdG8gYW5vdGhlciBwdWJsaWMgb3BlbiBzb3VyY2UgcmVwb3NpdG9yeS4KClRoaXMgY2hhbmdl IGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgbmV3IGNvbW1pdHM6CgpHaXQgY29tbWl0IDc2MDljYjgz YmY1ZmM1YzI1ZTI4Nzc3MGRiMjc3ZGJiMzRlNjc0YjggYnkgR2l0SHViIChvbiBiZWhhbGYgb2Yg RmlubiBQbHVtbWVyKSBvbiAwNC8wOC8yMDI2IGF0IDE3OjMzLi4KW0RpcmVjdFhdIFByZXZlbnQg YGR4aWwtcmVzb3VyY2UtYWNjZXNzYCBmcm9tIGluc2VydGluZyBhIHJlc291cmNlIGFjY2VzcyBp bi1iZXR3ZWVuIHBoaSBub2RlcyAoIzIxMTM0MykKClRoZSBwYXNzIGNhbiBpbmNvcnJlY3RseSBw bGFjZSBhIGxvYWQvc3RvcmUgd2l0aGluIHRoZSBwaGkgbm9kZXMgYXQgdG9wCm9mIHRoZSBiYXNp YyBibG9jazogaHR0cHM6Ly9nb2Rib2x0Lm9yZy96L3g1RWM0R1dHVAoKVGhpcyBpcyByZXNvbHZl ZCBieSB1cGRhdGluZyBgcmVwbGFjZUhhbmRsZVdpdGhJbmRpY2VzYCB0byBhZGp1c3QgdGhlCmlu c2VydGlvbiBwb2ludCB3aGVuIHRoZSBwdHIgY29tZXMgZnJvbSBhIHBoaSBub2RlLgoKUmVzb2x2 ZXMsIGluIHBhcnQsIGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9pc3N1ZXMv MjExMTIxCgpBc3Npc3RlZCBieTogQ2xhdWRlIE9wdXMgNC44Cmh0dHBzOi8vaW52ZW50LmtkZS5v cmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0Lzc2MDljYjgzYmY1ZmM1YzI1ZTI4Nzc3 MGRiMjc3ZGJiMzRlNjc0YjgKCkdpdCBjb21taXQgNTM4MmY3ZDY0ZmY1OWQxOTgwOTFmZmQyNjNk N2FkZWNmNWQ3ZGQ1YSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBCZW5qYW1pbiBNYXh3ZWxsKSBv biAwNC8wOC8yMDI2IGF0IDE3OjQ4Li4KW0Nvc3RNb2RlbF1bQUFyY2g2NF0gQWRkIGluaXRpYWwg Y29zdHMgZm9yIGBtYXNrZWQuY29tcHJlc3NzdG9yZWAgKCMyMTM3MTIpCgpUaGlzIGFkZHMgYW4g aW5pdGlhbCBjb3N0IG1vZGVsIGZvciBgbWFza2VkLmNvbXByZXNzc3RvcmVgLiBUaGUgdGVzdHMK YXJlIGJhc2VkIG9uIGBtYXNrZWRfZXhwYW5kX2xvYWQubGxgLCB3aGljaCBjb3ZlcnMgYWxsIGNv bmZpZ3VyYXRpb25zCmZvciB0aGUgYGV4cGFuZGAvYGNvbXBhY3RgIGluc3RydWN0aW9ucy4KCk5v dGU6IFJpZ2h0IG5vdywgd2Ugb25seSByZXBvcnQgdmFsaWQgY29zdHMgZm9yIGBtYXNrZWQuY29t cHJlc3NzdG9yZWAKb3BlcmF0aW9ucyB0aGF0IGNhbiBiZSBsb3dlcmVkIHdpdGggU1ZFMSAoYXMg dGhhdCdzIGFsbCB3ZSBoYW5kbGUgSVNFTApmb3IgYXQgdGhlIG1vbWVudCkuCmh0dHBzOi8vaW52 ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzUzODJmN2Q2NGZmNTlk MTk4MDkxZmZkMjYzZDdhZGVjZjVkN2RkNWEKCkdpdCBjb21taXQgYWYxNDQ1NmEyYmFjNTUwMjZi MmQ1N2NiZjE0YjM5MDVjNDUyYjhhNCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBhcnNueWRlcjE2 KSBvbiAwNC8wOC8yMDI2IGF0IDE3OjUyLi4KW09wZW5NUF0gU2ltcGxpZnkgZ2VuZXJpYyBtaWNy b3Rhc2sgZGlzcGF0Y2ggKCMyMTQwMDQpCgpSZXBsYWNlIHRoZSBnZW5lcmljIG1pY3JvdGFzayBk aXNwYXRjaGVyJ3MgaGFuZHdyaXR0ZW4gZnVuY3Rpb24tcG9pbnRlcgp0eXBlcyBhbmQgY2FsbHMg d2l0aCBhIHZhcmlhZGljLXRlbXBsYXRlIGhlbHBlciBhbmQgYSBtYWNybyBmb3IgZWFjaApzdXBw b3J0ZWQgYXJndW1lbnQgY291bnQuCgpUaGUgZGlzcGF0Y2hlciBzdGlsbCBjYXN0cyBlYWNoIG1p Y3JvdGFzayB0byB0aGUgZXhhY3QgZml4ZWQtYXJpdHkKc2lnbmF0dXJlIHJlcXVpcmVkIGJ5IHBs YXRmb3JtcyBzdWNoIGFzIFdlYkFzc2VtYmx5LiBUaGlzIGlzIGludGVuZGVkIGFzCmEgcmVmYWN0 b3Igb25seTogdGhlIGV4aXN0aW5nIGxpbWl0IG9mIDE1IG1pY3JvdGFzayBhcmd1bWVudHMgYW5k IHRoZQpkaWFnbm9zdGljIGZvciBsYXJnZXIgYXJndW1lbnQgY291bnRzIHJlbWFpbiB1bmNoYW5n ZWQuCgpUaGlzIHJlZHVjZXMgdGhlIHJlcGV0aXRpdmUgY29kZSBhbmQgbWFrZXMgZnV0dXJlIGNo YW5nZXMgdG8gdGhlCnN1cHBvcnRlZCBhcmd1bWVudCByYW5nZSBlYXNpZXIgdG8gcmV2aWV3LgoK U3BsaXQgb3V0IGZyb20gIzIxMTA3MQpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xs dm0tcHJvamVjdC8tL2NvbW1pdC9hZjE0NDU2YTJiYWM1NTAyNmIyZDU3Y2JmMTRiMzkwNWM0NTJi OGE0CgpHaXQgY29tbWl0IDJhMmFkZGUzNTkzNzY2N2RkOTNkYzU1OTRhYzVkNTI4NDJlMTE2ZDIg YnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQ2hpbm1heSBEZXNocGFuZGUpIG9uIDA0LzA4LzIwMjYg YXQgMTc6NTYuLgpbQU1ER1BVXVtHSVNlbF0gQWRkIFJlZ0JhbmtMZWdhbGl6ZSBydWxlcyBmb3Ig bGx2bS5hbWRnY24uZmRvdDIuYmYxNi5iZjE2ICgjMjE0MDEzKQpodHRwczovL2ludmVudC5rZGUu b3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC8yYTJhZGRlMzU5Mzc2NjdkZDkzZGM1 NTk0YWM1ZDUyODQyZTExNmQyCgpHaXQgY29tbWl0IDUwMDk2MjI5OGQ2MjRhNzRhZGU1OGMyYWVi NjUzMTNmYjMyZGRhNWEgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWxleGV5IEJhdGFldikgb24g MDQvMDgvMjAyNiBhdCAxNzo1Ny4uCltJbnN0Q29tYmluZV1Gb2xkIGZjbXArc2VsZWN0IHRvIG1p bi9tYXggaWYgaXRzIHplcm8gc2lnbiBpcyBtaXNzaW5nCgpMb29rIHRocm91Z2ggcGhpcywgY2hh aW5lZCBzZWxlY3RzIGFuZCB0aGUgbG9vcCBiYWNrIGVkZ2UgdG8gdGhlCnNlbGVjdCBpdHNlbGYg YW5kIGZvbGQgaWYgbm8gdXNlIGNhbiBvYnNlcnZlIHRoZSBzaWduIG9mIHplcm8gb2YgdGhlCnJl c3VsdC4gVGhpcyByZXN0b3JlcyB0aGUgZm9sZCBmb3IgbG9vcC1jYXJyaWVkIGFuZCB1bnJvbGxl ZCBydW5uaW5nCm1pbi9tYXggdmFsdWVzIChmY3NlbCAtPiBmbWlubm0gb24gQUFyY2g2NCkgbG9z dCB0byB0aGUgc2lnbmVkIHplcm8KaGFuZGxpbmcgZml4IGluIG1hdGNoU2VsZWN0UGF0dGVybiAo IzIxMDA3NykuCgpSZXZpZXdlcnM6IG5pa2ljLCBkdGN4enl3CgpQdWxsIFJlcXVlc3Q6IGh0dHBz Oi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9wdWxsLzIxMzEzMwpodHRwczovL2ludmVu dC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC81MDA5NjIyOThkNjI0YTc0 YWRlNThjMmFlYjY1MzEzZmIzMmRkYTVhCgpHaXQgY29tbWl0IDcwZWNjNWJiNjIxODdjYTcwZTZm ZTRlNTYzZGJkNjBmODhjMmU3YTAgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgVGltdXIgR29sdWJv dmljaCkgb24gMDQvMDgvMjAyNiBhdCAxNzo1OC4uClJldmVydCAiW0dsb2JhbElTZWxdIENvbWJp bmUgbWVyZ2UtdW5tZXJnZSB3aXRoIG1peGVkIHNjYWxhciBhbmQgdmVjdG9yIHR5cGVzIiAoIzIx NDAxMCkKClJldmVydHMgbGx2bS9sbHZtLXByb2plY3QjMjEzMDg2Cmh0dHBzOi8vaW52ZW50Lmtk ZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzcwZWNjNWJiNjIxODdjYTcwZTZm ZTRlNTYzZGJkNjBmODhjMmU3YTAKCkdpdCBjb21taXQgNjMyNmYxNGNkYzEyYmFiZmRjNDM1OWY1 ZGRkNGRmY2Q2NmI1M2YzMyBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBZGFtIFNtaXRoKSBvbiAw NC8wOC8yMDI2IGF0IDE4OjAzLi4KW0NJUl0gTG93ZXIgdmFyaWFkaWMgY2FsbHMgaW4gQ2FsbENv bnZMb3dlcmluZyBmb3IgeDg2XzY0ICgjMjEzMzE1KQoKQ2FsbENvbnZMb3dlcmluZyBjbGFzc2lm aWVkIGVhY2ggZnVuY3Rpb24gb25jZSBmcm9tIGl0cyBkZWNsYXJlZApzaWduYXR1cmUgYW5kIHJl dXNlZCB0aGF0IGNsYXNzaWZpY2F0aW9uIGF0IGV2ZXJ5IGNhbGwgc2l0ZS4gQW4gYXJndW1lbnQK cGFzc2VkIHRocm91Z2ggYW4gZWxsaXBzaXMgaGFzIG5vIGVudHJ5IGluIHRoZSBjYWxsZWUncyBw YXJhbWV0ZXIgbGlzdCwKc28gb24geDg2XzY0IGFuIGVsbGlwc2lzIGFyZ3VtZW50IHRoYXQgbmVl ZGVkIGFuIGV4dGVuc2lvbiBhdHRyaWJ1dGUsIGEKcmVnaXN0ZXIgY29lcmNpb24sIG9yIGEgYnl2 YWwgc2xvdCB3YXMgZW1pdHRlZCB1bmNoYW5nZWQgd2hlbmV2ZXIgdGhlCmNhbGxlZSdzIGRlY2xh cmVkIHBhcmFtZXRlcnMgaGFwcGVuZWQgdG8gbmVlZCBubyByZXdyaXRlLCBhbmQgcmVwb3J0ZWQK TllJIHdoZW4gdGhleSBkaWQuCgpBbiBlbGxpcHNpcyBhcmd1bWVudCBjb21wZXRlcyBmb3IgdGhl IHNhbWUgcmVnaXN0ZXJzIGFzIGEgZGVjbGFyZWQgb25lLApzbyB0aGUgc2FtZSB0d28tZWlnaHRi eXRlIHJlY29yZCBnb2VzIGluIGEgcmVnaXN0ZXIgcGFpciBlYXJseSBpbiB0aGUKbGlzdCBhbmQg Ynl2YWwgb25jZSB0aGUgaW50ZWdlciByZWdpc3RlcnMgYXJlIGdvbmUuIFZhcmlhZGljIGNhbGwg c2l0ZXMKdW5kZXIgdGhlIHg4Nl82NCBkcml2ZXIgYXJlIG5vdyBjbGFzc2lmaWVkIGZyb20gdGhl IGNhbGwncyBvd24gb3BlcmFuZAp0eXBlcywgYW5kIHRoZSBkZWNsYXJlZCBwYXJhbWV0ZXIgY291 bnQgcmVhY2hlcwpgbGx2bTo6YWJpOjpGdW5jdGlvbkluZm86OmNyZWF0ZWAgYXMgaXRzIGBOdW1S ZXF1aXJlZGAgYXJndW1lbnQsIHdoaWNoCmlzIHdoYXQgbGV0cyB0aGUgY2xhc3NpZmllciB0ZWxs IGEgbmFtZWQgYXJndW1lbnQgZnJvbSBvbmUgcGFzc2VkCnRocm91Z2ggdGhlIGVsbGlwc2lzLiBU b2RheSB0aGF0IGZsYWcgb25seSBkZWNpZGVzIHdoZXRoZXIgYSBsYXJnZQp2ZWN0b3IgZ29lcyBp biBhIHJlZ2lzdGVyLCBhbmQgdGhlIENJUiB0eXBlIGJyaWRnZSBhZG1pdHMgbm8gdmVjdG9yCnR5 cGVzLCBzbyB0aGUgYm91bmRhcnkgY2hhbmdlcyBubyBvdXRwdXQgeWV0LgoKYHByZXBlbmRJbmRp cmVjdENhbGxlZWAgYWxzbyByZWJ1aWx0IHRoZSBjYWxsZWUgcG9pbnRlcidzIHBvaW50ZWUKd2l0 aG91dCBgaXNWYXJBcmdgLCBkcm9wcGluZyB0aGUgZWxsaXBzaXMgZnJvbSBhIGxvd2VyZWQgaW5k aXJlY3QgY2FsbAphbmQgd2l0aCBpdCB0aGUgdmVjdG9yLXJlZ2lzdGVyIGNvdW50IHRoZSB4ODZf NjQgU3lzViBBQkkgcGFzc2VzIGluIEFMLgpBIHZvaWQgcmV0dXJuIGFuZCBhIHJldHVybiB0aGUg QUJJIGRyb3BzLCBzdWNoIGFzIGFuIGVtcHR5IHJlY29yZCwgYm90aApjbGFzc2lmeSBhcyBgSWdu b3JlYCB3aGlsZSBuZWVkaW5nIG9wcG9zaXRlIHRyZWF0bWVudCwgc28KYEZ1bmN0aW9uQ2xhc3Np ZmljYXRpb25gIG5vdyByZWNvcmRzIHdoaWNoIG9uZSBpdCB3YXMgd2hlcmUgdGhlCmNsYXNzaWZp Y2F0aW9uIGlzIHByb2R1Y2VkLiBgbmVlZHNSZXdyaXRlYCBtb3ZlcyBmcm9tIHRoZSBDSVIgcmV3 cml0ZXIKdG8gYG1saXIvaW5jbHVkZS9tbGlyL0FCSS9BQklSZXdyaXRlQ29udGV4dC5oYCwgb3Zl ciBhIG5ldyBwZXItYXJndW1lbnQKYGlzUGFzc1Rocm91Z2hgLCBzbyB0aGUgcGFzcyBhbmQgdGhl IHJld3JpdGVyIHNoYXJlIG9uZSBkZWZpbml0aW9uLgoKVHdvIHRoaW5ncyBhcmUgbmV3bHkgZGlh Z25vc2VkIHJhdGhlciB0aGFuIG5ld2x5IGJyb2tlbi4gVGhlCm9wZXJhbmQtY291bnQgY2hlY2sg bW92ZXMgYWhlYWQgb2YgdGhlIHBhc3MtdGhyb3VnaCBlYXJseSByZXR1cm4sIHNvIGEKY2FsbCB3 aG9zZSBvcGVyYW5kIGNvdW50IGRpc2FncmVlcyB3aXRoIGEgYG5vX3Byb3RvYCBjYWxsZWUncwpk ZWNsYXJhdGlvbiBpcyByZXBvcnRlZCBpbnN0ZWFkIG9mIGxvd2VyZWQgd2l0aCBvcGVyYW5kcyB0 aGUKY2xhc3NpZmljYXRpb24gbmV2ZXIgY292ZXJlZC4gQW5kIHRoZSBpbmRpcmVjdC1jYWxsIHdh bGsgdmlzaXRzCmBjaXI6OkNJUkNhbGxPcEludGVyZmFjZWAgcmF0aGVyIHRoYW4gb25seSBgY2ly LmNhbGxgLCBzbyBhIHZhcmlhZGljCmluZGlyZWN0IGBjaXIudHJ5X2NhbGxgIGlzIGFjY291bnRl ZCBmb3IsIGFuZCBvbmUgdGhhdCBuZWVkcyBhIHJld3JpdGUKaXMgcmVwb3J0ZWQgaW5zdGVhZCBv ZiBsZWZ0IGFzIHdyaXR0ZW4gd2hpbGUgdGhlIHNpZ25hdHVyZSBhcm91bmQgaXQgaXMKY29lcmNl ZC4gQSBub24tdmFyaWFkaWMgaW5kaXJlY3QgYGNpci50cnlfY2FsbGAgaXMgZmlsdGVyZWQgb3V0 IHdoZXJlCnRoZSB3YWxrIGNvbGxlY3RzLCBzaW5jZSByZXdyaXRpbmcgb25lIGlzIHVuaW1wbGVt ZW50ZWQgZWl0aGVyIHdheSBhbmQKdGhhdCBnYXAgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCB0aGUg ZWxsaXBzaXMuIFJlcG9ydGVkIE5ZSTogdmFyaWFkaWMKaW5kaXJlY3QgY2FsbHMgdGhhdCBuZWVk IGEgcmV3cml0ZSwgdmFyaWFkaWMgY2FsbHMgdW5kZXIgdGhlIG90aGVyCmRyaXZlcnMsIGFuZCBh biBlbGxpcHNpcyBhcmd1bWVudCB3aG9zZSBBQkkgY29lcmNpb24gdGhlIHR5cGUgYnJpZGdlCmNh bm5vdCByZXByZXNlbnQuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9q ZWN0Ly0vY29tbWl0LzYzMjZmMTRjZGMxMmJhYmZkYzQzNTlmNWRkZDRkZmNkNjZiNTNmMzMKCkdp dCBjb21taXQgYzlmMmJhMjI4NDllNTBkZjEyNzdkYjgyMjVhNjQxMGJhOWRkY2I1ZSBieSBHaXRI dWIgKG9uIGJlaGFsZiBvZiBTYW0gRWxsaW90dCkgb24gMDQvMDgvMjAyNiBhdCAxODowOS4uCltS SVNDVl0gRml4IFhxY2kgRnVzaW9ucyB3aXRoIEZyYW1lIEluZGV4ZXMgKCMyMTM4MTUpCgpQcmUt UkEsIHRoZSBBRERJIGNhbiBjb250YWluIGEgZnJhbWUgaW5kZXggcmF0aGVyIHRoYW4gYSByZWdp c3Rlciwgd2hpY2gKY2F1c2VzIGBnZXRSZWcoKWAgdG8gYXNzZXJ0LiBUaGVzZSB3ZXJlIG1pc3Np bmcgdGhlIGBDaGVja0lzUmVnT3BlcmFuZGAKdGhhdCBtb3N0IG90aGVyIGZ1c2lvbnMgaGF2ZS4K aHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvYzlm MmJhMjI4NDllNTBkZjEyNzdkYjgyMjVhNjQxMGJhOWRkY2I1ZQoKR2l0IGNvbW1pdCBjYWZkMzZi ZmNlNjc2ODIxOTNjM2Q1ZGE1OTFiMDUxYTQ2MGU1MGY2IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9m IEVyaWNoIEtlYW5lKSBvbiAwNC8wOC8yMDI2IGF0IDE4OjExLi4KW05GQ11bQ0lSXSBQcm9wYWdh dGUgU3ltYm9sVGFibGVzIGJldHRlciAoIzIxMzk3MikKClRoaXMgY2FtZSB1cCBkdXJpbmcgc2Vs Zi1idWlsZCwgd2UgYXJlIHNwZW5kaW5nIGEgbG90IG9mIHRpbWUgaW4gc29tZQpjYXNlcyBsb29r aW5nIHVwIHVzaW5nIHRoZSBnbG9iYWwgc3ltYm9sIHRhYmxlLCB3aGljaCBkb2VzIG5vIGNhY2hp bmcuClByZXZpb3VzbHkgd2UnZCBwcm9wYWdhdGVkIHRoaXMgaW4gYSBmZXcgcGxhY2VzLCBidXQg dGhpcyBwYXRjaCByZW1vdmVzCmFsbCB1c2VzIG9mIFN5bWJvbFRhYmxlOjpsb29rdXAgYW5kIGFk ZHMgdGhlIGNhY2hlIGV2ZXJ5d2hlcmUuCgpUaGlzIGludm9sdmVkIGNoYW5naW5nIHRoZSB0YWJs ZWdlbiB0byBpbmNsdWRlIGl0IGluIGVhY2ggb2Ygb3VyCnJld3JpdGVycywgcGx1cyB0aGUgQ2ly QXR0ciBsb3dlcmluZyBldmVyeXdoZXJlLgoKVGhlIG9ubHkgdGhpbmcgd2UgaGF2ZSB0byB0YWtl IGNhcmUgb2YgaXMgdG8gbWFrZSBzdXJlIHdlIGludmFsaWRhdGUgdGhlCmNhY2hlL3VwZGF0ZSB0 aGUgY2FjaGUgd2hlbmV2ZXIgd2UgYWRkIHNvbWV0aGluZyB3aXRoIGEgbmFtZSAoc2VlCmNyZWF0 ZUxMVk1GdW5jT3BJZk5vdEV4aXN0KS4KClRoaXMgaXMgTkZDLCBhcyBpdCBpc24ndCBvYnNlcnZh YmxlLCBvdGhlciB0aGFuIGJlaW5nIGEgYnVpbGQgdGltZQppbXByb3ZlbWVudC4KaHR0cHM6Ly9p bnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvY2FmZDM2YmZjZTY3 NjgyMTkzYzNkNWRhNTkxYjA1MWE0NjBlNTBmNgoKR2l0IGNvbW1pdCAxZjY5YTE2Mjg5NDc4Yzlh N2IyY2RhNWRmNGNkMTZkNjYwOWViMmMyIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFNpbW9uIFBp bGdyaW0pIG9uIDA0LzA4LzIwMjYgYXQgMTg6MTUuLgpbQ29zdE1vZGVsXVtYODZdIGdldEFyaXRo bWV0aWNSZWR1Y3Rpb25Db3N0IC0gZW5zdXJlIHdlIHRlc3QgdGhlIHZYaTEgcmVkdWN0aW9ucyB0 eXBlcyBiZWZvcmUgbGVnYWxpc2F0aW9uICgjMjExMDQzKQoKUHJlLUFWWDUxMiB0aGVzZSB3aWxs IGJlIGxlZ2FsaXplZCB0byB3aWRlciB2ZWN0b3IgdHlwZXMgYW5kIG1pZ2h0IG1hdGNoCmFnYWlu c3Qgb3RoZXIgcmVkdWN0aW9ucyB0YWJsZXMuCgpOb3RpY2VkIHdoaWxlIHdvcmtpbmcgb24gaW1w cm92aW5nIGxvZ2ljIHJlZHVjdGlvbnMsIGJ1dCBoaXQgYSBjYXNlCndpdGgvd2l0aG91dCBwb3Bj bnQgZm9yIGJvb2wgc3VtIHJlZHVjdGlvbiBwYXR0ZXJucyAtIEkndmUgYWRkZWQgYSBBVlgyCnRl c3QgcGFzcyB0byBjaGVjayB0aGUgKGNvcnJlY3RlZCkgY29zdHMgYXJlIHN0aWxsIHdvcmtpbmcK aHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvMWY2 OWExNjI4OTQ3OGM5YTdiMmNkYTVkZjRjZDE2ZDY2MDllYjJjMgoKR2l0IGNvbW1pdCAwOGE4NzM5 YWM4OWEyN2M3ZGJkMDM0OTI2NjYxMWNhOTQ4NjZhZTJmIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9m IE5lcml4eXopIG9uIDA0LzA4LzIwMjYgYXQgMTg6MTYuLgpbbGxkYl1bUHl0aG9uXSBJbmxpbmUg YGxsZGJfaXRlcmAgZm9yIGJldHRlciB0eXBlIGluZmVyZW5jZSAoIzIxNDAwMCkKCkN1cnJlbnRs eSwgdGhlIGBsbGRiX2l0ZXJgIGhlbHBlciBpcyB1c2VkIGZvciBwcm92aWRpbmcgYF9faXRlcl9f YCBpbgp0aGUgUHl0aG9uIGJpbmRpbmdzOgpgYGBweXRob24KZGVmIGxsZGJfaXRlcihvYmosIGdl dHNpemUsIGdldGVsZW0pOgogICAgIiIiQSBnZW5lcmF0b3IgYWRhcHRvciB0byBzdXBwb3J0IGl0 ZXJhdGlvbiBmb3IgbGxkYiBjb250YWluZXIgb2JqZWN0cy4iIiIKICAgIHNpemUgPSBnZXRhdHRy KG9iaiwgZ2V0c2l6ZSkKICAgIGVsZW0gPSBnZXRhdHRyKG9iaiwgZ2V0ZWxlbSkKICAgIGZvciBp IGluIHJhbmdlKHNpemUoKSk6CiAgICAgICAgeWllbGQgZWxlbShpKQpgYGAKCkEgdHlwZSBjaGVj a2VyIG9yIExTUCBjYW4ndCBzZWUgdGhyb3VnaCB0aGlzIGZ1bmN0aW9uLiBDdXJyZW50bHksIHRo YXQncwpubyBwcm9ibGVtLCBiZWNhdXNlIGl0IGRvZXNuJ3Qga25vdyB0aGUgcmV0dXJuIHR5cGUg b2YgYW55IFN3aWcgd3JhcHBlciwKYnV0IHdoZW4gd2UgYWRkIHR5cGUgYW5ub3RhdGlvbnMgKGhv cGVmdWxseSB3aXRoIFN3aWcgNC41IGluICMyMTM0NjMpLApgX19pdGVyX19gIHJlbWFpbnMgdW50 eXBlZC4gU28gaXRlcmF0aW5nIHRocm91Z2ggdGhlIHdyYXBwZXJzIHdvbid0IHNob3cKdGhlIGNv cnJlY3QgdHlwZS4KCkFzIHRoZSBmdW5jdGlvbmFsaXR5IGlzIGZhaXJseSBzaW1wbGUsIGl0J3Mg ZWFzaWVyIHRvIGlubGluZSBpdC4gVGhhdCdzCndoYXQgdGhpcyBQUiBkb2VzLiBUaGVuIGEgdHlw ZSBjaGVja2VyIGNhbiBpbmZlciB0aGUgcmV0dXJuIHR5cGUuCmh0dHBzOi8vaW52ZW50LmtkZS5v cmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzA4YTg3MzlhYzg5YTI3YzdkYmQwMzQ5 MjY2NjExY2E5NDg2NmFlMmYKCkdpdCBjb21taXQgYWI0ZjIxMGEzMTI3ZTNiYTE3NzM4MTg5MTE5 NDE0NGY5Mjc5OGJhNiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBNYXR0IEFyc2VuYXVsdCkgb24g MDQvMDgvMjAyNiBhdCAxODoxNy4uCmNsYW5nOiBSZXBsYWNlIElzKk9mZmxvYWRBcmNoIGZyZWUg ZnVuY3Rpb25zIHdpdGggT2ZmbG9hZEFyY2ggbWV0aG9kcyAoIzIxMzM2MykKaHR0cHM6Ly9pbnZl bnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvYWI0ZjIxMGEzMTI3ZTNi YTE3NzM4MTg5MTE5NDE0NGY5Mjc5OGJhNgoKR2l0IGNvbW1pdCBhOWE2ZWRiNTkzNWM5ZjQyYzU5 MjgzNjYxMjM1NmJlYTU2ZTNjMDhiIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEFsZXhleSBCYXRh ZXYpIG9uIDA0LzA4LzIwMjYgYXQgMTg6MTguLgpbU0xQXVZlY3Rvcml6ZSBzaW5nbGUtdXNlciBp bnN0cnVjdGlvbnMgYXMgdGhlIGxhc3QtYXR0ZW1wdCBzZWVkcwoKSW5zdHJ1Y3Rpb25zIHdpdGgg dGhlIHNpbmdsZSB1c2VyIGNvc3Qgb25lIGV4dHJhY3QgcGVyIGxhbmUsIHNvIHRoZXkgYXJlCnZl Y3Rvcml6ZWQgYWZ0ZXIgYWxsIG90aGVyIHJvb3RzIGluIHRoZSBmdW5jdGlvbiBhcmUgZXhoYXVz dGVkLCBncm91cGVkIGJ5CnRoZSBrZXkvc3Via2V5IHBhaXJzLiBMb2FkcywgYWRkcmVzc2VzLCBj b21wYXJlcyBhbmQgdGhlIG9wZXJhdGlvbnMsIGZvbGRlZAphd2F5IG9yIGNvbnRyYWN0ZWQgaW50 byB0aGUgc2NhbGFyIEZNQSwgYXJlIGV4Y2x1ZGVkLiBUaGUgcmVqZWN0ZWQgYnVuZGxlcwphbmQg dGhlIG1lbWJlcnMgb2YgdGhlIHByaWNlZCBtaW5pbWFsIG5vZGVzIGFyZSBub3QgcmV0cmllZCwg dW5sZXNzIHRoZQp0cmVlIHdhcyBkcm9wcGVkIGJ5IHRoZSByZXBhY2tpbmcgb3ZlcmhlYWQgcmF0 aGVyIHRoYW4gYnkgdGhlIG1lbWJlcnMuCgpSZXZpZXdlcnM6IGhpcmFkaXR5YSwgUktTaW1vbiwg YmFiYWJ1Y2sKClB1bGwgUmVxdWVzdDogaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9q ZWN0L3B1bGwvMjEyNTc5Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9q ZWN0Ly0vY29tbWl0L2E5YTZlZGI1OTM1YzlmNDJjNTkyODM2NjEyMzU2YmVhNTZlM2MwOGIKCkdp dCBjb21taXQgNDAyYzlmOWE3NzZkYzIwZDAzZTMzYzQ0N2Q4NjYzNGM0ODZhNTQzNCBieSBHaXRI dWIgKG9uIGJlaGFsZiBvZiBIZW5yeSBKaWFuZykgb24gMDQvMDgvMjAyNiBhdCAxODoyMy4uCltO RkNdW0N1ZGFdW3Rlc3RdIEZpeCBDSEVDSy1OT1QgcGF0dGVybnMgbWF0Y2hpbmcgdGhlIGJ1aWxk IGRpcmVjdG9yeSAoIzIxMzc5OSkKCmBjdWRhLW9tcC11bnN1cHBvcnRlZC1kZWJ1Zy1vcHRpb25z LmN1YCdzIENPTU1PTi1OT1Q6IC4uLnxsbGRifC4uLiBjYW4KbWF0Y2ggYWdhaW5zdCB0aGUgYnVp bGQgZGlyZWN0b3J5IHBhdGggdGhhdCBtYXkgY29udGFpbiBgbGxkYmAgaW4gdGhlCnBhdGhuYW1l LiBDaGFuZ2UgdGhlIHRlc3QgdG8gY2hlY2sgdGhlIGV4YWN0IGNjMSBhcmd1bWVudHMuCgpyZGFy Oi8vMTgzNTAxNTU4Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0 Ly0vY29tbWl0LzQwMmM5ZjlhNzc2ZGMyMGQwM2UzM2M0NDdkODY2MzRjNDg2YTU0MzQKCkdpdCBj b21taXQgZjU5ZDZmNWY4NjZiOTc0MTM1MTBmYTExOTE0NDY1MWZiYmJjNzEyMyBieSBHaXRIdWIg KG9uIGJlaGFsZiBvZiBVc2FtYSBIYW1lZWQpIG9uIDA0LzA4LzIwMjYgYXQgMTg6NDkuLgpbY2xh bmddW3Rlc3RdIEFkZCB0ZXN0IGZvciBzdGFja19wcm90ZWN0b3JfaWdub3JlIGluIHN5c3RlbSBt YWNyb3MgKCMyMTM3NzApCgpkMzE4NGJjNmM2YTggKCJbY2xhbmddIERvbid0IHdhcm4gb24gc3Rh Y2tfcHJvdGVjdG9yX2lnbm9yZSBpbiBzeXN0ZW0KbWFjcm9zIikgYWRkZWQgU3VwcHJlc3NJblN5 c3RlbU1hY3JvIHRvCndhcm5fc3RhY2tfcHJvdGVjdGlvbl9pZ25vcmVfYXR0cmlidXRlIGJ1dCBv bmx5IGFkZGVkIGFuIExMVk0gQ29kZUdlbgp0ZXN0IGZvciB0aGUgc3RhY2stcHJvdGVjdG9yIG1l dGFkYXRhLCBzbyB0aGUgZGlhZ25vc3RpYyBjaGFuZ2UgaXRzZWxmCndhcyB1bnRlc3RlZC4KCkFk ZCBhIHRlc3QgdXNpbmcgdGhlIHNlbGYtaW5jbHVkZSBzeXN0ZW1faGVhZGVyIGlkaW9tOiB0aGUg YXR0cmlidXRlCmZyb20gYSBzeXN0ZW0gaGVhZGVyIG1hY3JvIGRvZXMgbm90IHdhcm4gdW5kZXIg LWZzdGFjay1wcm90ZWN0b3ItYWxsLAp3aGlsZSBvbmUgd3JpdHRlbiBpbiB1c2VyIGNvZGUgc3Rp bGwgZG9lcy4KCnJkYXI6Ly8xODM5NjI5ODUKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFu Zy9sbHZtLXByb2plY3QvLS9jb21taXQvZjU5ZDZmNWY4NjZiOTc0MTM1MTBmYTExOTE0NDY1MWZi YmJjNzEyMwoKR2l0IGNvbW1pdCA0Mzc2YjhkNjY5NjFkYjM2MDk0NWRiNDRhYmU1MTBkOWYxM2Fi ZjYxIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEFsZXhleSBCYXRhZXYpIG9uIDA0LzA4LzIwMjYg YXQgMTg6NTcuLgpbU0xQXUZsYXR0ZW4gYWRkL3N1YiBhbmQgZmFkZC9mc3ViIGNoYWlucyBpbnRv IG9uZSByZWFzc29jaWF0ZWQgbm9kZQoKQSBwZWVsZWQgc3VidHJhY3Qga2VlcHMgdGhlIGNvbHVt biBzaWduIGZvciBpdHMgZmlyc3Qgb3BlcmFuZCBhbmQgZmxpcHMKaXQgZm9yIHRoZSBzZWNvbmQs IHNvIG1peGVkIGFkZC9zdWIgKGZhZGQvZnN1YiB3aXRoIHJlYXNzb2MpIGNoYWlucwpsaW5lYXJp emUgaW50byBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgb3BlcmFuZCBjb2x1bW5zIGNvbWJpbmluZyBh cwpzdW0ocG9zaXRpdmUpIC0gc3VtKG5lZ2F0aXZlKSwgd2l0aCBzdWJ0cmFoZW5kIGNvbHVtbnMg cmVvcmRlcmVkIGJ5CnZhbHVlIGZhbWlseS4gbnV3IGlzIG5vdyBhbHNvIGRyb3BwZWQgb24gbm9u LWV4YWN0IGNvbWJpbmVzIHdoZW4gYQpuZWdhdGVkIGxlYWYgZXhpc3RzLCBzaW5jZSBhIHJlZ3Jv dXBlZCBzdWJ0cmFoZW5kIHN1bSBjYW4gZXhjZWVkIHRoZQpvcmlnaW5hbCBydW5uaW5nIHRvdGFs LgoKUmV2aWV3ZXJzOiBSS1NpbW9uLCBiYWJhYnVjaywgaGlyYWRpdHlhCgpQdWxsIFJlcXVlc3Q6 IGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9wdWxsLzIxMzU0NApodHRwczov L2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC80Mzc2YjhkNjY5 NjFkYjM2MDk0NWRiNDRhYmU1MTBkOWYxM2FiZjYxCgpHaXQgY29tbWl0IGIwN2ZjOGE0NGFhNmFj MDNlYzhlMGM3OWIwNDEzNGJkYTg3YjUyNzkgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgRm9sa2Vy dCBkZSBWcmllcykgb24gMDQvMDgvMjAyNiBhdCAxOTowMC4uCltTUEFSQ10gRG8gbm90IHVzZSB0 aGUgdW5pbXAgc3RydWN0LXJldHVybiBjb252ZW50aW9uIGZvciB6ZXJvLXNpemVkIHR5cGVzICgj MjEzNzMzKQoKR0NDIGhhcyBzcGVjaWFsIGhhbmRsaW5nIGZvciBhbiBgc3JldGAgb2YgYSB6ZXJv LXNpemVkIHR5cGUsIG1hdGNoIHRoYXQKaGFuZGxpbmcuCgpodHRwczovL2dvZGJvbHQub3JnL3ov VGNyYWFvN3JUCgpJdCBzZWVtcyB1bmxpa2VseSBzb21lb25lIGlzIGFjdHVhbGx5IHJlbHlpbmcg b24gdGhpcywgc28gSSBoYXZlbid0CmFkZGVkIHRoZSBhYmkgY29tcGF0aWJpbGl0eSBsb2dpYy4g UnVzdCBob3dldmVyIHVzZXMgemVyby1zaXplZCB0eXBlcwpxdWl0ZSBoZWF2aWx5LCBzbyBoYXZp bmcgdGhpcyB3b3JrIGNvcnJlY3RseSBpcyB1c2VmdWwgdGhlcmUuCmh0dHBzOi8vaW52ZW50Lmtk ZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2IwN2ZjOGE0NGFhNmFjMDNlYzhl MGM3OWIwNDEzNGJkYTg3YjUyNzkKCkdpdCBjb21taXQgOGNmMzI2OGIzYTY1ZTE4NmYxMDQxMzlh M2Y1M2QwN2RlOGQ1MDMyYSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBbmR5IEtheWxvcikgb24g MDQvMDgvMjAyNiBhdCAxOToxMC4uCltDSVJdW0FBcmNoNjRdIFVzZSBDSVIncyBmbWEgYW5kIHNx cnQgZm9yIE5lb24gYnVpbHRpbnMgKCMyMTM4MDApCgpUaGlzIGNoYW5nZSByZXBsYWNlcyBzb21l IGxvY2F0aW9ucyB3aGVyZSB0aGUgTmVvbiBidWlsdGluIGhhbmRsaW5nIHdhcwpjYWxsaW5nIExM Vk0gaW50cmluc2ljcyBkaXJlY3RseSBmb3IgRk1BIGFuZCBzcXJ0IG9wZXJhdGlvbnMgcmF0aGVy IHRoYW4KdXNpbmcgdGhlIENJUiBvcGVyYXRpb25zLiBVc2luZyB0aGUgQ0lSIG9wZXJhdGlvbnMg d2lsbCBiZSBuZWNlc3NhcnkgdG8KZ2V0IHRoZSBiZXN0IGNvbnN0cmFpbmVkIEZQIGhhbmRsaW5n LgoKVGhpcyB3aWxsIHN0aWxsIHJlcXVpcmUgc2V0dGluZyB0aGUgZmVudiBhdHRyaWJ1dGUgb24g dGhlc2Ugb3BlcmF0aW9ucwp3aGVuIG5lZWRlZC4gVGhpcyBjaGFuZ2UgaXMganVzdCB0aGUgZmly c3Qgb2YgYSBmZXcgcHJlbGltaW5hcnkgY2hhbmdlcwpuZWVkZWQgdG8gZ2V0IHVzIGluIGEgZ29v ZCBzdGF0ZSB0byBhZGQgdGhlIGNvbnN0cmFpbmVkIEZQIGhhbmRsaW5nLgoKQXNzaXN0ZWQtYnk6 IEN1cnNvciAvIEdyb2sgNC41Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1w cm9qZWN0Ly0vY29tbWl0LzhjZjMyNjhiM2E2NWUxODZmMTA0MTM5YTNmNTNkMDdkZThkNTAzMmEK CkdpdCBjb21taXQgZDQ2Mjg1MjZiZGQyYzhiZDAzYWNkY2JmMGY5ZDg3MTBlZjI0MzQ4NiBieSBH aXRIdWIgKG9uIGJlaGFsZiBvZiBBbmR5IEtheWxvcikgb24gMDQvMDgvMjAyNiBhdCAxOToxNS4u CltDSVJdIEFwcGx5IEZQIGNvbnN0cmFpbnRzIHRvIGdsb2JhbCBpbml0aWFsaXplcnMgKCMyMTM3 NzYpCgpCZWNhdXNlIENJUiBoYW5kbGVzIGdsb2JhbCBpbml0aWFsaXplcnMgdXNpbmcgYSByZWdp b24gb2YgdGhlIGNpci5nbG9iYWwKb3BlcmF0aW9uIGR1cmluZyBpbml0aWFsIGNvZGUgZ2VuZXJh dGlvbiwgdGhlc2UgaW5pdGlhbGl6ZXJzIGRvbid0CmF1dG9tYXRpY2FsbHkgZ2V0IHRoZSBzdHJp Y3RmcCBzZXR1cCBpbiBDSVJHZW5GdW5jdGlvbjo6c3RhcnRGdW5jdGlvbi4KClRoaXMgY2hhbmdl IGFkZHMgYW4gYXR0cmlidXRlIHRvIHRoZSBjaXIuZ2xvYmFsIG9wZXJhdGlvbiB0byB0cmFjawpm bG9hdGluZy1wb2ludCBjb25zdHJhaW50cyBzbyB0aGF0IHRoZSBgc3RyaWN0ZnBgIGF0dHJpYnV0 ZSBjYW4gYmUgc2V0Cm9uIHRoZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiB3aGVuIGl0IGlzIGNy ZWF0ZWQgZHVyaW5nIEVIQUJJIGxvd2VyaW5nLgoKQXNzaXN0ZWQtYnk6IEN1cnNvciAvIHZhcmlv dXMgbW9kZWxzCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0v Y29tbWl0L2Q0NjI4NTI2YmRkMmM4YmQwM2FjZGNiZjBmOWQ4NzEwZWYyNDM0ODYKCkdpdCBjb21t aXQgMzJiNjQ1ZDlkNjliOGMyZTYyODkwZmVkMTkyMDMzMzdiZWRkZjc5NyBieSBHaXRIdWIgKG9u IGJlaGFsZiBvZiBFcmljIENocmlzdG9waGVyKSBvbiAwNC8wOC8yMDI2IGF0IDE5OjIxLi4KW0Rl YnVnSW5mb10gVHJlYXQgdGFnIG9mZnNldHMgYXMgbm9uLWVtaXR0aW5nICgjMjExOTY5KQoKRFdf T1BfTExWTV90YWdfb2Zmc2V0IGRvZXNuJ3QgZW1pdCBhbnl0aGluZyBpbnRvIHRoZSBEV0FSRiBl eHByZXNzaW9uLApzbyBsb29rIHBhc3QgaXQgd2hlbiBkZWNpZGluZyB3aGV0aGVyIGEgcmVnaXN0 ZXIgZXhwcmVzc2lvbiBpcyBjb21wbGV4Cm9yIHdoZXRoZXIgYXBwZW5kVG9TdGFjayBuZWVkcyB0 byBhZGQgYSBkZXJlZmVyZW5jZS4KClRlc3RlZCB3aXRoIG1ha2UgY2hlY2suCgpBc3Npc3RlZCB3 aXRoIEFJLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2Nv bW1pdC8zMmI2NDVkOWQ2OWI4YzJlNjI4OTBmZWQxOTIwMzMzN2JlZGRmNzk3CgpHaXQgY29tbWl0 IDcwMjUzYWY4NzA5NjE3Yjg2MDg2NWNlOGQ3NDIwNDcxOGU4YTE5NzUgYnkgR2l0SHViIChvbiBi ZWhhbGYgb2YgVml0YWx5IEJ1a2EpIG9uIDA0LzA4LzIwMjYgYXQgMTk6MjcuLgpbTkZDXVtsaWJG dXp6ZXJdIFJlbW92ZSB1bnVzZWQgR2V0TW9kdWxlTmFtZSBoZWxwZXIgaW4gVHJhY2VQQyAoIzIx NDAzMikKCkZpeGluZyBidWlsZCBib3RzIGFmdGVyCmh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xs dm0tcHJvamVjdC9wdWxsLzIwMzA4NC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9s bHZtLXByb2plY3QvLS9jb21taXQvNzAyNTNhZjg3MDk2MTdiODYwODY1Y2U4ZDc0MjA0NzE4ZThh MTk3NQoKR2l0IGNvbW1pdCA3ZjQ5OGQ5ZDM2ZDEwMmE2NTMwODllODZjYzA3ZDBhN2Y5MGJmYWVj IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFFpb25nc2kgV3UpIG9uIDA0LzA4LzIwMjYgYXQgMTk6 MzguLgpbY2xhbmddW0RlcGVuZGVuY3lTY2FubmluZ10gVXNlIENvbXBpbGVySW5zdGFuY2VXaXRo Q29udGV4dCBmb3IgVFUgU2Nhbm5pbmcgKCMyMTE0MDgpCgpBZnRlciBgQ29tcGlsZXJJbnN0YW5j ZVdpdGhDb250ZXh0YCdzIHJlbG9jYXRpb24gdG8KYERlcGVuZGVuY3lTY2FubmluZ1dvcmtlci5j cHBgLCB3ZSBjYW4gdXNlIGl0IGZyZWVseSBhcyBhbgppbXBsZW1lbnRhdGlvbiBlbmdpbmUgZm9y IFRVIHNjYW5uaW5nLiBUaGlzIFBSIGRvZXMgdGhhdCwgYW5kIHVuaWZpZXMKdGhlIGJ5LW5hbWUg c2Nhbm5pbmcgYW5kIFRVIHNjYW5uaW5nIHNvIHRoZXkgYWxsIGdvIHRocm91Z2gKYENvbXBpbGVy SW5zdGFuY2VXaXRoQ29udGV4dGAuCgpyZGFyOi8vMTY3MDM0MzA5CgoKCi0tLQoKPHN1Yj5TdGFj ayBjcmVhdGVkIHdpdGggPGEKaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2dpdGh1Yi9naC1zdGFj ayI+R2l0SHViIFN0YWNrcyBDTEk8L2E+IOKAoiA8YQpocmVmPSJodHRwczovL2doLmlvL3N0YWNr cy1mZWVkYmFjayI+R2l2ZSBGZWVkYmFjayDwn5KsPC9hPjwvc3ViPgpodHRwczovL2ludmVudC5r ZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC83ZjQ5OGQ5ZDM2ZDEwMmE2NTMw ODllODZjYzA3ZDBhN2Y5MGJmYWVjCgpHaXQgY29tbWl0IDA0NzIyYTRhMzJlNmZlYzE4OTdjYzNj YjVhNTQ4MDlmY2Q4YzljYWUgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgUWlvbmdzaSBXdSkgb24g MDQvMDgvMjAyNiBhdCAxOTozOC4uCltjbGFuZ11bRGVwZW5kZW5jeVNjYW5uaW5nXSBEaXNzb2x2 ZSBEZXBlbmRlbmN5U2Nhbm5lckltcGwuaC9jcHAgKCMyMTE0MDkpCgpgRGVwZW5kZW5jeVNjYW5u ZXJJbXBsLmgvY3BwYCB3ZXJlIGNyZWF0ZWQgdG8gc2hhcmUgY29kZSBiZXR3ZWVuIFRVCnNjYW5u aW5nIGFuZCBieS1uYW1lIHNjYW5uaW5nIHdoZW4gdGhleSB3ZXJlIG9uIGRpZmZlcmVudCBjb2Rl IHBhdGhzLgpBZnRlciB1bmlmeWluZyB0aGUgaW1wbGVtZW50YXRpb24gdGhyb3VnaCBgQ29tcGls ZXJJbnN0YW5jZVdpdGhDb250ZXh0YCwKd2Ugbm8gbG9uZ2VyIG5lZWQgYSBzZXBhcmF0ZSBoZWFk ZXIvY3BwIHBhaXIgYW5kIGFsbCB0aGUgY29kZSBhcmUgbW92ZWQKaW50byBgRGVwZW5kZW5jeVNj YW5uaW5nV29ya2VyLmNwcGAuIFRoaXMgUFIgaXMgbWVjaG5pY2FsIGFuZCBkb2VzIG5vdAppbnRl bmQgdG8gaW50cm9kdWNlIGJlaGF2aXZvciBjaGFuZ2VzLgoKLS0tCgo8c3ViPlN0YWNrIGNyZWF0 ZWQgd2l0aCA8YQpocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZ2l0aHViL2doLXN0YWNrIj5HaXRI dWIgU3RhY2tzIENMSTwvYT4g4oCiIDxhCmhyZWY9Imh0dHBzOi8vZ2guaW8vc3RhY2tzLWZlZWRi YWNrIj5HaXZlIEZlZWRiYWNrIPCfkqw8L2E+PC9zdWI+Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcv cXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzA0NzIyYTRhMzJlNmZlYzE4OTdjYzNjYjVh NTQ4MDlmY2Q4YzljYWUKCkdpdCBjb21taXQgYjNjZTA3Yjk5OTkwMDBlNmZhZDFjM2FhOGY0Mjll MmZmMjZiNTk4ZiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBYmhpbmEgU3JlZSkgb24gMDQvMDgv MjAyNiBhdCAxOTo0MS4uCltTeXN0ZW1aXVt6L09TXSB1c2UgTExWTV9USFJFQURfTE9DQUwgaW5z dGVhZCBvZiB0aHJlYWRfbG9jYWwgKCMyMTQwMzkpCgpUaGlzIHBhdGNoIGlzIHRvIGZpeCB0aGUg Zm9sbG93aW5nIGVycm9yIG9uIHovT1MKCmBgYApsbHZtL2luY2x1ZGUvbGx2bS9TdXBwb3J0L1Bl clRocmVhZEJ1bXBQdHJBbGxvY2F0b3IuaDo3NToxMjogZXJyb3I6IHRocmVhZC1sb2NhbCBzdG9y YWdlIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoZSBjdXJyZW50IHRhcmdldAogICA3NSB8ICAgICBz dGF0aWMgdGhyZWFkX2xvY2FsIHN0ZDo6dmVjdG9yPEFsbG9jYXRvclR5ICo+IENhY2hlOwogICAg ICB8ICAgICAgICAgICAgXgpgYGAKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZt LXByb2plY3QvLS9jb21taXQvYjNjZTA3Yjk5OTkwMDBlNmZhZDFjM2FhOGY0MjllMmZmMjZiNTk4 ZgoKR2l0IGNvbW1pdCBjZGRjMTA3ODk5YmRmMDllZTNmZmQ2MGIwMGIzMjQ1NWU2OTliMTMwIGJ5 IEdpdEh1YiAob24gYmVoYWxmIG9mIEFyc2VuaXkgT2JvbGVuc2tpeSkgb24gMDQvMDgvMjAyNiBh dCAxOTo0OC4uCltBTURHUFVdIERvIG5vdCB3aWRlbiBjb25zdGFudCBsb2FkcyB0aGF0IG1heSBu b3QgYmUgZGVyZWZlcmVuY2VhYmxlICgjMTg0NzkwKQpodHRwczovL2ludmVudC5rZGUub3JnL3F0 L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9jZGRjMTA3ODk5YmRmMDllZTNmZmQ2MGIwMGIz MjQ1NWU2OTliMTMwCgpHaXQgY29tbWl0IGRlZTcwYTBmYzk0OGNlOTA2MGY0MjI1ZWU1YjcwN2Fm NDI4N2U1ZGMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWxleGFuZGVyIFJpY2hhcmRzb24pIG9u IDA0LzA4LzIwMjYgYXQgMTk6NTUuLgpbVGFibGVHZW5dIEdlbmVyYXRlIGBnZXRSZWdDbGFzc0Zy b21NYXRjaEtpbmQoKWAgZm9yIEFzbU1hdGNoZXJzCgpUaGlzIGhlbHBlciBjYW4gYmUgdXNlZnVs IGluIHZhbGlkYXRlVGFyZ2V0T3BlcmFuZENsYXNzIHRvIGdldCB0aGUKTUNSZWdpc3RlckNsYXNz IGZvciB0aGUgTUNLXyogZW51bS4KTWlncmF0ZSB0aGUgUlZZIGxvZ2ljIHRvIHVzZSB0aGlzIG5l dyBnZW5lcmF0ZWQgZnVuY3Rpb24uIENoZWNraW5nIGFsbApyZWdpc3RlciBjbGFzc2VzIGluc3Rl YWQgb2YganVzdCB0aGUgUlZZIG9uZXMgd2lsbCBtYXJnaW5hbGx5IHNsb3cgZG93bgp2YWxpZGF0 ZVRhcmdldE9wZXJhbmRDbGFzcywgYnV0IHNpbmNlIHRoaXMgaXMgYWxyZWFkeSBhIHNsb3cgcGF0 aCBpdApzaG91bGQgbm90IG1hdHRlci4KCklmIG11bHRpcGxlIFJlZ2lzdGVyT3BlcmFuZHMgc2hh cmUgYSBQYXJzZXJNYXRjaENsYXNzIGJ1dCBtYXAgdG8gZGlmZmVyZW50ClJlZ2lzdGVyQ2xhc3Nl cywgb21pdCB0aGVtIGZyb20gdGhlIGdlbmVyYXRlZCBnZXRSZWdDbGFzc0Zyb21NYXRjaEtpbmQK bWFwcGluZyBmdW5jdGlvbi4gSSBvcmlnaW5hbGx5IHRyaWVkIHRvIGVtaXQgYW4gZXJyb3IgaGVy ZSwgYnV0IGl0IHR1cm5zCm91dCB0aGVyZSBhcmUgbWFueSB0YXJnZXRzIHRoYXQgcmVseSBvbiBz aGFyaW5nIHRoZSBQYXJzZXJNYXRjaENsYXNzIHdpdGgKZGlmZmVyZW50IChidXQgc2ltaWxhcikg UmVnaXN0ZXJDbGFzc2VzIHNvIGlnbm9yaW5nIHRoZW0gaXMgc2FmZXIuCgpSZXZpZXdlZCBCeTog bGVuYXJ5CgpQdWxsIFJlcXVlc3Q6IGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVj dC9wdWxsLzIwMDQ1MwpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVj dC8tL2NvbW1pdC9kZWU3MGEwZmM5NDhjZTkwNjBmNDIyNWVlNWI3MDdhZjQyODdlNWRjCgpHaXQg Y29tbWl0IDBkMWI1NDYwNGRhYzczYWRjMTZhZjE1ZjQzM2FlMGM5MjA2OWZjYzIgYnkgR2l0SHVi IChvbiBiZWhhbGYgb2YgQWxleGFuZGVyIFJpY2hhcmRzb24pIG9uIDA0LzA4LzIwMjYgYXQgMTk6 NTcuLgpbVGFibGVHZW5dW0FzbU1hdGNoZXJdIFJlc29sdmUgUmVnQ2xhc3NCeUh3TW9kZSBraW5k cyBmb3IgYWxsIG9wZXJhbmRzCgp2YWxpZGF0ZU9wZXJhbmRDbGFzcygpIG9ubHkgcmVtYXBwZWQg YSBSZWdDbGFzc0J5SHdNb2RlIG9wZXJhbmQga2luZAp3aGVuIHRoZSBhY3R1YWwgcGFyc2VkIG9w ZXJhbmQgd2FzIGEgcmVnaXN0ZXIuIFdoZW4gdGhlIG9wZXJhbmQgd2FzCnNvbWV0aGluZyBlbHNl IGVudGlyZWx5IChlLmcuIGEgYmFyZSBpbW1lZGlhdGUgd2hlcmUgYSByZWdpc3RlciB3YXMKZXhw ZWN0ZWQpLCB0aGlzIGZlbGwgdGhyb3VnaCB0byB0aGUgZ2VuZXJpYyAiS2luZCA8PSBNQ0tfTEFT VF9SRUdJU1RFUiIKZGlhZ25vc3RpYyBjaGVjaywgc28gd2UgZW5kIHVwIHdpdGggYSBnZW5lcmlj IE1hdGNoX0ludmFsaWRPcGVyYW5kLgoKTm8gdGVzdCBjaGFuZ2VzIGhlcmUsIGJ1dCB0aGlzIGlz IG5lZWRlZCB0byBhdm9pZCBkaWFnbm9zdGljIHJlZ3Jlc3Npb25zCndpdGggdGhlIFJWWSBsb2Fk L3N0b3JlIHN1cHBvcnQgKFBSICMxNzcwNzMpLgoKUHVsbCBSZXF1ZXN0OiBodHRwczovL2dpdGh1 Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvcHVsbC8yMTM0NzkKaHR0cHM6Ly9pbnZlbnQua2RlLm9y Zy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvMGQxYjU0NjA0ZGFjNzNhZGMxNmFmMTVm NDMzYWUwYzkyMDY5ZmNjMgoKR2l0IGNvbW1pdCBjNzQwYzU0NTE3ZmFmZGZiNmEzZGQzNTIyNzAw MDc2ZDUxODRjODQyIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEFiaGluYSBTcmVlKSBvbiAwNC8w OC8yMDI2IGF0IDE5OjU3Li4KW1N5c3RlbVpdW3ovT1NdIEFkZCBndWFyZCBmb3IgU0lfVVNFUiAg KCMyMTMxMDEpCgpTSV9VU0VSIGlzIG5vdCBkZWZpbmVkIG9uIHovT1MgYW5kIGlzIGNhdXNpbmcg dGhlIGZvbGxvd2luZyBidWlsZApmYWlsdXJlLiBgZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ1NJX1VTRVInYCAKVGhpcyBwYXRjaCBhZGRzIGEgZ3VhcmQgdG8gY2hlY2sgd2hl dGhlciBTSV9VU0VSIGlzIGRlZmluZWQKYmVmb3JlIHVzaW5nIGl0LgpodHRwczovL2ludmVudC5r ZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9jNzQwYzU0NTE3ZmFmZGZiNmEz ZGQzNTIyNzAwMDc2ZDUxODRjODQyCgpHaXQgY29tbWl0IDgzNDNjNTM4ZjBlN2VkZWU4YmZjMmM4 MDBmNmQxYmZhZWY2NjRjMTIgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgZm9ya2luZy1nb29nbGUt YmF6ZWwtYm90W2JvdF0pIG9uIDA0LzA4LzIwMjYgYXQgMjA6MDkuLgpbQmF6ZWxdIEZpeGVzIDA0 NzIyYTQgKCMyMTQwNDkpCgpUaGlzIGZpeGVzIDA0NzIyYTRhMzJlNmZlYzE4OTdjYzNjYjVhNTQ4 MDlmY2Q4YzljYWUgKCMyMTE0MDkpLgoKQnVpbGRraXRlIGVycm9yIGxpbms6Cmh0dHBzOi8vYnVp bGRraXRlLmNvbS9sbHZtLXByb2plY3QvdXBzdHJlYW0tYmF6ZWwvYnVpbGRzP2NvbW1pdD0wNDcy MmE0YTMyZTZmZWMxODk3Y2MzY2I1YTU0ODA5ZmNkOGM5Y2FlCgpDby1hdXRob3JlZC1ieTogR29v Z2xlIEJhemVsIEJvdCA8Z29vZ2xlLWJhemVsLWJvdEBnb29nbGUuY29tPgpodHRwczovL2ludmVu dC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC84MzQzYzUzOGYwZTdlZGVl OGJmYzJjODAwZjZkMWJmYWVmNjY0YzEyCgpHaXQgY29tbWl0IDQ0YzZhZWQ5YmQ5YjljZGE5OTNm NGU5M2YyY2JkYjRmYmJhODkwZDAgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgU3BlbmNlciBCcnlu Z2Vsc29uKSBvbiAwNC8wOC8yMDI2IGF0IDIwOjE1Li4KW2ZsYW5nXVtPcGVuTVBdIERpYWdub3Nl IGZhaWxlZCBjb25zdHJ1Y3QgZGVjb21wb3NpdGlvbiBpbnN0ZWFkIG9mIGZhbGxpbmcgdGhyb3Vn aCAoIzIxNDAxMikKCmBidWlsZENvbnN0cnVjdFF1ZXVlYCBhc3NlcnRzIHRoYXQgZGVjb21wb3Np dGlvbiBwcm9kdWNlZCBvdXRwdXQ6CgpgYGBjcHAKQ29uc3RydWN0RGVjb21wb3NpdGlvbiBkZWNv bXBvc2UobW9kT3AsIHNlbWFDdHgsIGV2YWwsIGNvbXBvdW5kLCBjbGF1c2VzKTsKYXNzZXJ0KCFk ZWNvbXBvc2Uub3V0cHV0LmVtcHR5KCkgJiYgIkNvbnN0cnVjdCBkZWNvbXBvc2l0aW9uIGZhaWxl ZCIpOwpgYGAKClJlbGVhc2UgYnVpbGRzIGhhdmUgbm8gY2hlY2ssIHNvIHRoZSBlbXB0eSBxdWV1 ZSBmYWxscyB0aHJvdWdoIHRvIHRoZQpsb29wIGJlbG93IGFuZCBvdXQgdG8gdGhlCmNhbGxlci4g VGhhdCBpcyB1bmRlZmluZWQgYmVoYXZpb3VyLCBhbmQgaXQgaXMgcmVhY2hhYmxlIOKAlCBzZW1h bnRpY3MKZG9lcyBub3QgY2F0Y2ggZXZlcnkKZGlyZWN0aXZlL2NsYXVzZSBjb21iaW5hdGlvbiB0 aGF0IGNhbm5vdCBiZSBkZWNvbXBvc2VkLiBUaGUgcmVzdWx0IGlzIGFuCmludGVybWl0dGVudCBz ZWdmYXVsdApyYXRoZXIgdGhhbiBhIGRpYWdub3N0aWMuCgojMjExNDMwIGlzIG9uZSB3YXkgaW46 IGBhbGxvY2F0ZWAgaXMgYW4gT3Blbk1QIDUuMCBjbGF1c2UsIGJ1dCBtb3N0CmRpcmVjdGl2ZXMg ZGVjbGFyZSBpdCBpbgpgT01QLnRkYCB3aXRob3V0IGEgbWluaW11bSB2ZXJzaW9uLCBzbyBzZW1h bnRpY3MgYWNjZXB0cyBpdCBiZWxvdyA1LjAKYW5kIGRlY29tcG9zaXRpb24gdGhlbgpjb3JyZWN0 bHkgcmVmdXNlcyBpdC4gZmxhbmcgZGVmYXVsdHMgdG8gT3Blbk1QIDMuMSwgc28gbm8gdW51c3Vh bCBmbGFncwphcmUgbmVlZGVkLiBUaGUKaW50ZXJtaXR0ZW5jeSBpcyB3aGF0IG1hZGUgdGhhdCBy ZXBvcnQgaGFyZCB0byBwaW4gZG93biDigJQgNDAgdHJpYWxzIGF0CmAtZm9wZW5tcC12ZXJzaW9u PTMxYDoKCnwgfCBzZWdmYXVsdHMgfAp8LS0tfC0tLXwKfCBBU0xSIG9uIHwgMjUvNDAgfAp8IEFT TFIgb2ZmIChgc2V0YXJjaCAtUmApIHwgMC80MCB8Cgp3aGljaCBpcyBhbiB1bmluaXRpYWxpemVk IHJlYWQuCgpBZnRlciB0aGlzIHBhdGNoIHRoZSBzYW1lIGlucHV0IGZhaWxzIGRldGVybWluaXN0 aWNhbGx5IHdpdGggYSBsb2NhdGVkCmRpYWdub3N0aWMsIDQwLzQwOgoKYGBgCmVycm9yOiBsb2Mo InJlcHJvLmY5MCI6NjoxMSk6IE9wZW5NUCBjb25zdHJ1Y3QgZGVjb21wb3NpdGlvbiBmYWlsZWQ6 IGEgY2xhdXNlIG9uCiAgICAgICAndGFyZ2V0IHRlYW1zIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8n IGNhbm5vdCBiZSBhcHBsaWVkIHRvIGFueSBvZiBpdHMgbGVhZiBjb25zdHJ1Y3RzCmBgYAoKYGdl bkNyYXNoRGlhZz1mYWxzZWAgc28gaXQgZXhpdHMgbm9uLXplcm8gd2l0aG91dCBhIGJhY2t0cmFj ZSwgcmF0aGVyCnRoYW4gcHJlc2VudGluZyBhcyBhIGNvbXBpbGVyCmNyYXNoLgoKVGhpcyBpcyBh IGhhcmRlbmluZyBmaXggZm9yIHRoZSBsb3dlcmluZyBwYXRoIGFuZCBpcyBpbmRlcGVuZGVudCBv ZiBhbnkKcGFydGljdWxhciBjbGF1c2U6IGl0IGNvdmVycwpldmVyeSBjb21iaW5hdGlvbiB0aGF0 IGRlY29tcG9zZXMgZW1wdHkuIEl0IGRvZXMgbm90IG1ha2UgdGhlIGBhbGxvY2F0ZWAKY2FzZSBh ICpnb29kKiBkaWFnbm9zdGljIOKAlAp0aGF0IGJlbG9uZ3MgaW4gc2VtYW50aWNzLCBhbmQgIzIx Mzk4MCBpcyB0aGUgc2VwYXJhdGUgY2hhbmdlIGZvciBpdC4KCmBjaGVjay1mbGFuZ2AgaXMgY2xl YW4gKDQ4MDggdGVzdHMpLiBObyB0ZXN0IGlzIGFkZGVkOiB0aGUgb25seSBpbi10cmVlCndheSB0 byByZWFjaCB0aGlzIHBhdGggaXMKdGhyb3VnaCB0aGUgYE9NUC50ZGAgZ2FwIHRoYXQgIzIxMzk4 MCBmaXhlcywgc28gYSB0ZXN0IGhlcmUgd291bGQgZW5jb2RlCnRoYXQgZ2FwIGFzIGV4cGVjdGVk CmJlaGF2aW91ciBhbmQgaGF2ZSB0byBiZSByZW1vdmVkIHdoZW4gaXQgbGFuZHMuIEhhcHB5IHRv IGFkZCBvbmUgaWYKeW91J2QgcHJlZmVyLgoKCi0tLQoKUGFydHMgb2YgdGhpcyBjaGFuZ2Ugd2Vy ZSB3cml0dGVuIG9yIGF1ZGl0ZWQgd2l0aCBDbGF1ZGUgQ29kZS4gSSBoYXZlCnJldmlld2VkIGFs bCBvZiBpdCBhbmQgdGFrZQpmdWxsIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgY29udHJpYnV0aW9u LiBTZWUKYGxsdm0vZG9jcy9BSVRvb2xQb2xpY3kubWRgLgpodHRwczovL2ludmVudC5rZGUub3Jn L3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC80NGM2YWVkOWJkOWI5Y2RhOTkzZjRlOTNm MmNiZGI0ZmJiYTg5MGQwCgpHaXQgY29tbWl0IDgzZmI3MmE5MDRlODIzMWJmNjg3OTA3NmI5YzEw YmRiZjI1ZTQ3NDQgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQXJ0aHVyIEV1YmFua3MpIG9uIDA0 LzA4LzIwMjYgYXQgMjA6MjAuLgpbRFdQXSBFYWdlcmx5IGNsZWFyIGJ1ZmZlcnMgYWZ0ZXIgd3Jp dGluZyAoIzIxMzM0NSkKCkxvd2VycyBwZWFrIG1lbW9yeSB1c2FnZSBvbiBhIGxsdm0tZHdwIGlu dm9jYXRpb24gZnJvbSAxMi4zN0dCIC0+CjExLjE5R0IuCgpUaGlzIGFjdHVhbGx5IG5vdyBiZWF0 cyBvdXQgR05VIGR3cCAoMTEuMzVHQikgYXQgbGVhc3Qgd2hlbiB0aGUgb3V0cHV0CmZpbGUgaXMg aW4gdG1wZnMuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0v Y29tbWl0LzgzZmI3MmE5MDRlODIzMWJmNjg3OTA3NmI5YzEwYmRiZjI1ZTQ3NDQKCkdpdCBjb21t aXQgZDUyZTk4ODE0YzQxNDg3ZTU2MzVhMTg2ZDk3YmY1ODAzZTIwMjQ1NyBieSBHaXRIdWIgKG9u IGJlaGFsZiBvZiBIZW5yeSBKaWFuZykgb24gMDQvMDgvMjAyNiBhdCAyMDoyNS4uCltORkNdW0FN REdQVV0gRml4IGV4aXQgY29kZSBtaXNtYXRjaCB3aXRoIEVYUEVOU0lWRV9DSEVDSyBpbiBzY2hl ZHVsZeKApiAoIzIxNDAyNykKCuKApi1hbWRncHUtdHJhY2tlci1waHlzcmVnLWNyYXNoLmxsCgpP YnNlcnZlZCBpbgpodHRwczovL2NpLnN3aWZ0Lm9yZy9qb2IvbGx2bS5vcmcvam9iL2NsYW5nLXN0 YWdlMS1SQS1leHBlbnNpdmUvam9iL21haW4vMTE1NQp3aXRoIExMVk1fRU5BQkxFX0VYUEVOU0lW RV9DSEVDS1MgZW5hYmxlZCwKYENvZGVHZW4vQU1ER1BVL3NjaGVkdWxlLWFtZGdwdS10cmFja2Vy LXBoeXNyZWctY3Jhc2gubGxgIGZhaWxzIGR1ZSB0bwpNYWNoaW5lVmVyaWZpZXIgcnVubmluZywg Y2F1c2luZyBhbiBleGl0IDEuCgpNb2RpZmllZCB0byBhbHdheXMgcnVuIHRoZSBgLXZlcmlmeS1t YWNoaW5laW5zdHJzYC4KCnJkYXI6Ly8xODQwMTA3NjYKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9x dC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvZDUyZTk4ODE0YzQxNDg3ZTU2MzVhMTg2ZDk3 YmY1ODAzZTIwMjQ1NwoKR2l0IGNvbW1pdCBmMjBiNjRmZmU1YzgxZTBlZjM1YmNmOTk5MGY2MGEx ZmY5MTU3ZjdiIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIERtaXRyeSBWYXNpbHlldikgb24gMDQv MDgvMjAyNiBhdCAyMDoyNi4uCltsbGRiXSBEaXNhYmxlIFRlc3RQcm9jZXNzU2F2ZUNvcmVNaW5p ZHVtcFNpemVNaXNtYXRjaCBvbiBXaW5kb3dzIGhvc3RzICgjMjE0MDQ0KQoKVGhlIGJ1aWxkYm90 CltsbGRiLXJlbW90ZS1saW51eC13aW5dKGh0dHBzOi8vbGFiLmxsdm0ub3JnL2J1aWxkYm90LyMv YnVpbGRlcnMvMTk3KSBpcwpyZWQgYWZ0ZXIgIzIxMjg2MS4gIzIxMjg2MSBjYW5ub3QgYmUgcmV2 ZXJ0ZWQgYXV0b21hdGljYWxseSBub3cgYmVjYXVzZSBvZgojMjEyNjQxLiBTbyBkaXNhYmxlIFRl c3RQcm9jZXNzU2F2ZUNvcmVNaW5pZHVtcFNpemVNaXNtYXRjaCBvbiBXaW5kb3dzCmhvc3RzIHRv IG1ha2UgdGhlIGJ1aWxkYm90IGdyZWVuIGFnYWluLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0 L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9mMjBiNjRmZmU1YzgxZTBlZjM1YmNmOTk5MGY2 MGExZmY5MTU3ZjdiCgpHaXQgY29tbWl0IDAzZjg2YzZkNGQ1NTgwOWY5NTMxYjVlMzdlYjgyNDll NTY5NzQ2YWEgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgRGF2aWQgWW91bmcpIG9uIDA0LzA4LzIw MjYgYXQgMjA6MzIuLgpbU3VwcG9ydF1bRHJpdmVyXVtMTERCXSBHdWFyZCBXSU4zMl9MRUFOX0FO RF9NRUFOIGRlZmluaXRpb25zIHdpdGggI2lmbmRlZiAoIzIxMzA0NSkKClNldmVyYWwgV2luZG93 cyBoZWFkZXJzL1RVcyB1bmNvbmRpdGlvbmFsbHkgYCNkZWZpbmUKV0lOMzJfTEVBTl9BTkRfTUVB TmAuIFdoZW4gYSBidWlsZCBwcmVkZWZpbmVzIHRoZSBtYWNybyBvbiB0aGUgY29tcGlsZXIKY29t bWFuZCBsaW5lIChlLmcuIGEgdG9vbGNoYWluIHRoYXQgcGFzc2VzIC1EV0lOMzJfTEVBTl9BTkRf TUVBTiwgd2hpY2gKY2xhbmcgdHJlYXRzIGFzIGAjZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4g MWApLCB0aGUgZGlmZmVyaW5nIHRva2VuCmxpc3RzIHRyaWdnZXIgLVdtYWNyby1yZWRlZmluZWQs IHdoaWNoIGJlY29tZXMgYSBoYXJkIGVycm9yIHVuZGVyCi1XZXJyb3IuCgpHdWFyZCB0aGUgZGVm aW5pdGlvbnMgd2l0aCAjaWZuZGVmLCBtYXRjaGluZyB0aGUgYWRqYWNlbnQgTk9NSU5NQVgKaGFu ZGxpbmcgYW5kIHRoZSBleGlzdGluZyBwYXR0ZXJuIGluCmxsdm0vbGliL1N1cHBvcnQvcnBtYWxs b2MvcnBtYWxsb2MuYy4gVGhlIG1hY3JvIGlzIG9ubHkgYSBwcmVzZW5jZSBmbGFnLApzbyBrZWVw aW5nIGFuIGV4dGVybmFsbHktcHJvdmlkZWQgZGVmaW5pdGlvbiBpcyBjb3JyZWN0LgoKU2l0ZXMg Z3VhcmRlZDoKICBsbHZtL2luY2x1ZGUvbGx2bS9TdXBwb3J0L1dpbmRvd3MvV2luZG93c1N1cHBv cnQuaAogIGxsdm0vbGliL1dpbmRvd3NEcml2ZXIvTVNWQ1BhdGhzLmNwcAogIGNsYW5nL2xpYi9E cml2ZXIvVG9vbENoYWlucy9NU1ZDLmNwcAogIGxsZGIvaW5jbHVkZS9sbGRiL0hvc3Qvd2luZG93 cy93aW5kb3dzLmgKCk1ldGEgcmFuIGludG8gdGhpcyBpbnRlcm5hbGx5IGJ1aWxkaW5nIGxsZGIg b24gd2luZG93IGFmdGVyIGEgc3luYyB3aXRoCnVwc3RyZWFtIGZyb20gSnVseSBjb21taXQsIHNv IGFkZGluZyBndWFyZHMgd291bGQgYWxsb3cgdXMgdG8gZHJvcCBhCndvcmthcm91bmQgb2YgaWdu b3JpbmcgdGhlIGR1cGxpY2F0ZSBkZWZpbmVzLgoKRXJyb3I6Cmxsdm1caW5jbHVkZVxsbHZtL1N1 cHBvcnQvV2luZG93cy9XaW5kb3dzU3VwcG9ydC5oKDI5LDkpOiBlcnJvcjoKJ1dJTjMyX0xFQU5f QU5EX01FQU4nIG1hY3JvIHJlZGVmaW5lZCBbLVdlcnJvciwtV21hY3JvLXJlZGVmaW5lZF0KICAg MjkgfCAjZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4KICAgICAgfCAgICAgICAgIF4KPGNvbW1h bmQgbGluZT4oMTAsOSk6IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24gaXMgaGVyZQogICAxMCB8 ICNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTiAxCiAgICAgIHwgICAgICAgICBeCjEgZXJyb3Ig Z2VuZXJhdGVkLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8t L2NvbW1pdC8wM2Y4NmM2ZDRkNTU4MDlmOTUzMWI1ZTM3ZWI4MjQ5ZTU2OTc0NmFhCgpHaXQgY29t bWl0IDM3NTkzMjE5ODE2NTI1NzU3YThiMTM2NzQ1OTMyNGI2MmI5Y2E5NDEgYnkgQ2hpLUNodW4s IENoZW4gKG9uIGJlaGFsZiBvZiBDaGkgQ2h1biwgQ2hlbikgb24gMDQvMDgvMjAyNiBhdCAyMToy OS4uCltGbGFuZ11bT3Blbk1QXSBTdXBwb3J0IGl0ZXJhdG9yIG1vZGlmaWVycyBpbiBtYXAgYW5k IG1vdGlvbiBjbGF1c2VzCgpTdXBwb3J0IGl0ZXJhdGVkIGFycmF5IGVsZW1lbnRzIGFuZCBhcnJh eSBzZWN0aW9ucyBpbiBtYXAgYW5kIG1vdGlvbiBjbGF1c2VzIGZvcgp0YXJnZXQgZGF0YSwgdGFy Z2V0IGVudGVyIGRhdGEsIHRhcmdldCBleGl0IGRhdGEsIGFuZCB0YXJnZXQgdXBkYXRlIGNvbnN0 cnVjdHMuCgpQcmVzZXJ2ZSBtYXBwZXIgcmVzb2x1dGlvbiBmb3IgaXRlcmF0ZWQgZW50cmllcywg aW5jbHVkaW5nIGV4cGxpY2l0IG1hcHBlcnMsCnVzZXItZGVmaW5lZCBkZWZhdWx0IG1hcHBlcnMs IGRlY2xhcmUgbWFwcGVyIGVudHJpZXMsIGFuZCBpbXBsaWNpdCBkZWZhdWx0Cm1hcHBlcnMuCgpU aGlzIFBSIHN0YWNrZWQgb24gdG9wIG9mICMxOTcwNDcgYW5kICMxOTc3NTIuCgpUaGlzIHBhdGNo IGlzIHBhcnQgb2YgdGhlIGZlYXR1cmUgd29yayBmb3IgIzE4ODA2MS4KCkFzc2lzdGVkIHdpdGgg Y29waWxvdC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9j b21taXQvMzc1OTMyMTk4MTY1MjU3NTdhOGIxMzY3NDU5MzI0YjYyYjljYTk0MQoKR2l0IGNvbW1p dCAyOGNmZmYyZjFhNGE5OTcxM2UyNDk0Mzg5NjFhMDc3OTFkMDhkM2ZmIGJ5IENoaS1DaHVuLCBD aGVuIChvbiBiZWhhbGYgb2YgQ2hpIENodW4sIENoZW4pIG9uIDA0LzA4LzIwMjYgYXQgMjE6Mjku LgpSZXNvbHZlIGZlZWRiYWNrIGFib3V0IE1hcEluZm9GaW5hbGl6YXRpb24KCktlZXAgTWFwSW5m b0ZpbmFsaXphdGlvbiBmcm9tIGV4cGFuZGluZyBgb21wLm1hcC5pbmZvYCBvcGVyYXRpb25zIG5l c3RlZAppbiBvbXAuaXRlcmF0b3IgcmVnaW9ucy4gVGhvc2UgbWFwcyBhcmUgeWllbGRlZCB0aHJv dWdoIHRoZSBpdGVyYXRvcgpyZXN1bHQsIHNvIHJld3JpdGluZyB0aGVtIGFzIG91dGVyIHRhcmdl dCBvcGVyYW5kcyBjYW4gdmlvbGF0ZSBTU0EKZG9taW5hbmNlLgpodHRwczovL2ludmVudC5rZGUu b3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC8yOGNmZmYyZjFhNGE5OTcxM2UyNDk0 Mzg5NjFhMDc3OTFkMDhkM2ZmCgpHaXQgY29tbWl0IGNkZDRjNmM0NzEzMGI2OWQxMjA2ZmI4NTA4 NjZiZDk1Yzc1MDljMDEgYnkgQ2hpLUNodW4sIENoZW4gKG9uIGJlaGFsZiBvZiBDaGkgQ2h1biwg Q2hlbikgb24gMDQvMDgvMjAyNiBhdCAyMToyOS4uClJlc29sdmUgZmVlZGJhY2sgYWJvdXQgY3Jl YXRlTWFwSW5mb09wIHVzYWdlCgpCdWlsZCBpdGVyYXRvci1nZW5lcmF0ZWQgbWFwIGVudHJpZXMg dGhyb3VnaCB0aGUgc2hhcmVkIGNyZWF0ZU1hcEluZm9PcApoZWxwZXIgd2hpbGUgcHJlc2Vydmlu ZyB0aGUgRklSIGB2YXJfcHRyYCB0eXBlIHVzZWQgdG8gZGVyaXZlIHRoZSBPcGVuTVAKYHZhclB0 clR5cGVgIGZvciBgIWxsdm0ucHRyYCBpdGVyYXRvciByZXN1bHRzLgpodHRwczovL2ludmVudC5r ZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9jZGQ0YzZjNDcxMzBiNjlkMTIw NmZiODUwODY2YmQ5NWM3NTA5YzAxCgpHaXQgY29tbWl0IGFlNDM1ZGNkMWEyMGFmNDRjZTc5YTFk MDQ2NTcwYTU0MGZmOTA2YjYgYnkgQ2hpLUNodW4sIENoZW4gKG9uIGJlaGFsZiBvZiBDaGkgQ2h1 biwgQ2hlbikgb24gMDQvMDgvMjAyNiBhdCAyMToyOS4uClJlc29sdmUgZmVlZGJhY2sgYWJvdXQg aXRlcmF0b3IgbWVtYmVyIG1hcHMKClJlamVjdCBpdGVyYXRvci1kZXBlbmRlbnQgZGVyaXZlZCB0 eXBlIG1lbWJlciBtYXBzIGZvciBub3cuIFRoZXNlIG1hcHMKd291bGQgb3RoZXJ3aXNlIGJ5cGFz cyB0aGUgcGFyZW50L21lbWJlciBib29ra2VlcGluZyBpbiBwcm9jZXNzTWFwT2JqZWN0cywKaW5j bHVkaW5nIHBhcmVudE1lbWJlckluZGljZXMgY29uc3RydWN0aW9uIGFuZCBtYXBwZXIgcmVzb2x1 dGlvbiB3aXRoCmhhc1BhcmVudE9iaj10cnVlLgoKV2l0aG91dCB0aGF0IGJvb2trZWVwaW5nLCBs b3dlcmluZyBtYXAoaXRlcmF0b3IoLi4uKTogeCVhKGkpKSBjb3VsZCBlbWl0CmFuIGluY29tcGxl dGUgcGFyZW50IHBhcnRpYWwgbWFwLiBFbWl0IGEgVE9ETyBpbnN0ZWFkIG9mIHNpbGVudGx5IGdl bmVyYXRpbmcKaW5jb3JyZWN0IG9yIGluY29tcGxldGUgbWFwcGluZyBJUi4KaHR0cHM6Ly9pbnZl bnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvYWU0MzVkY2QxYTIwYWY0 NGNlNzlhMWQwNDY1NzBhNTQwZmY5MDZiNgoKR2l0IGNvbW1pdCAyZWJhMzk4OGNkNjg3M2ZlY2E5 NTYxNmM3ZmNmZjAzNTY1ODMwODdmIGJ5IENoaS1DaHVuLCBDaGVuIChvbiBiZWhhbGYgb2YgQ2hp IENodW4sIENoZW4pIG9uIDA0LzA4LzIwMjYgYXQgMjE6MjkuLgpBZGQgY29tbWVudCBhYm91dCBp dGVyYXRvciBtYXAgYm91bmRzCgpDbGFyaWZ5IHdoeSBpdGVyYXRvciBtYXAgbG93ZXJpbmcga2Vl cHMgYSBzdGFibGUgYmFzZSBhZGRyZXNzIHdoaWxlCmxvd2VyaW5nIGl0ZXJhdG9yLWRlcGVuZGVu dCBzdWJzY3JpcHRzIGluc2lkZSB0aGUgb21wLml0ZXJhdG9yIGJvZHkuClRoaXMgZG9jdW1lbnRz IHRoZSBkaWZmZXJlbmNlIGZyb20gb3JkaW5hcnkgbWFwIGJvdW5kcyBnZW5lcmF0aW9uLgpodHRw czovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC8yZWJhMzk4 OGNkNjg3M2ZlY2E5NTYxNmM3ZmNmZjAzNTY1ODMwODdmCgpHaXQgY29tbWl0IDM4NGJiZmM3ZWVm YjE4M2MyZjY3MDQ3MTA3YjBjZTVkMTUwNzM4MDkgYnkgQ2hpLUNodW4sIENoZW4gKG9uIGJlaGFs ZiBvZiBDaGkgQ2h1biwgQ2hlbikgb24gMDQvMDgvMjAyNiBhdCAyMToyOS4uClByZXNlcnZlIGl0 ZXJhdG9yLWRlcGVuZGVudCBsb2NhdG9ycyBpbiBzaGFyZWQgbWFwIGxvd2VyaW5nCgpTaGFyZSB0 aGUgaXRlcmF0ZWQtbWFwIGhhbmRsaW5nIGJldHdlZW4gbWFwIGFuZCBtb3Rpb24gY2xhdXNlcyB3 aGlsZQpwcmVzZXJ2aW5nIGl0ZXJhdG9yLWRlcGVuZGVudCBsb2NhdG9ycyBvbiBtYXBfaXRlcmF0 ZWQgYW5kIGtlZXBpbmcKc3RhbmRhcmQgbWFwIGxvd2VyaW5nIGZvciBvdGhlciBjbGF1c2Ugb2Jq ZWN0cy4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21t aXQvMzg0YmJmYzdlZWZiMTgzYzJmNjcwNDcxMDdiMGNlNWQxNTA3MzgwOQoKR2l0IGNvbW1pdCBm MTA0MDM5NGNhNjM4ZjFlODYxMDUwZTUxODc5YjhmODY1MTE5N2MyIGJ5IENoaS1DaHVuLCBDaGVu IChvbiBiZWhhbGYgb2YgQ2hpIENodW4sIENoZW4pIG9uIDA0LzA4LzIwMjYgYXQgMjE6MjkuLgpQ cmVzZXJ2ZSBkZXNjcmlwdG9yIHN0cmlkZXMgZm9yIGl0ZXJhdG9yIG1hcCBib3VuZHMKCkl0ZXJh dG9yIG1hcCBsb3dlcmluZyBrZWVwcyBhIHN0YWJsZSBhcnJheSBiYXNlIHBvaW50ZXIgYW5kIGRl c2NyaWJlcyB0aGUKc2VsZWN0ZWQgZWxlbWVudCBvciBzZWN0aW9uIHdpdGggYm91bmRzIGluc2lk ZSBvbXAuaXRlcmF0b3IuIEZvciBib3hlZCBhcnJheXMsCnRob3NlIGJvdW5kcyBtdXN0IHVzZSB0 aGUgYnl0ZSBzdHJpZGUgc3RvcmVkIGZvciBlYWNoIGRlc2NyaXB0b3IgZGltZW5zaW9uLgoKVXNl IGZpci5ib3hfZGltcyBmb3IgYm94ZWQgaXRlcmF0b3IgbWFwIGJvdW5kcyBhbmQgcGFzcyB0aHJv dWdoIGVhY2gKZGltZW5zaW9uJ3MgZGVzY3JpcHRvciBieXRlIHN0cmlkZS4gVGhpcyBwcmVzZXJ2 ZXMgbm9uLWNvbnRpZ3VvdXMKYXNzdW1lZC1zaGFwZSBhY3R1YWxzIHdoaWxlIGtlZXBpbmcgdW5p dCBlbGVtZW50IHN0cmlkZXMgZm9yIG5vbi1ib3ggYXJyYXlzLgpodHRwczovL2ludmVudC5rZGUu b3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9mMTA0MDM5NGNhNjM4ZjFlODYxMDUw ZTUxODc5YjhmODY1MTE5N2MyCgpHaXQgY29tbWl0IDY5OGY3MWU3ZjhiOTA1YTA1NWE4M2VkYzAz ZjRmNWJkOGM4NmUyNjkgYnkgQ2hpLUNodW4sIENoZW4gKG9uIGJlaGFsZiBvZiBDaGkgQ2h1biwg Q2hlbikgb24gMDQvMDgvMjAyNiBhdCAyMToyOS4uClJlbW92ZSB1bm5lY2Vzc2FyeSBsYW1iZGEg YW5kIGhlbHBlcnMKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3Qv LS9jb21taXQvNjk4ZjcxZTdmOGI5MDVhMDU1YTgzZWRjMDNmNGY1YmQ4Yzg2ZTI2OQoKR2l0IGNv bW1pdCA1NzhkYjM5NjMzMDU5MDgwODE3Zjk5NmM1YjE4ZTk5ODk5MDk2ZmViIGJ5IENoaS1DaHVu LCBDaGVuIChvbiBiZWhhbGYgb2YgQ2hpIENodW4sIENoZW4pIG9uIDA0LzA4LzIwMjYgYXQgMjE6 MjkuLgpGaXggaXRlcmF0b3IgbWFwIHZhcl9wdHIgZm9yIGFsbG9jYXRhYmxlL3BvaW50ZXIgYXJy YXlzCgpGb3IgYWxsb2NhdGFibGUgb3IgcG9pbnRlciBhcnJheXMgdXNlZCBpbiBpdGVyYXRvciBt YXAvbW90aW9uIGxvY2F0b3JzIChmb3IKZXhhbXBsZSwgYHRhcmdldCB1cGRhdGUgdG8oaXRlcmF0 b3IoaSA9IDE6bik6IGEoaSkpYCksIGdldEl0ZXJhdG9yTWFwRW50aXR5CnJldHVybmVkIHRoZSBk ZXNjcmlwdG9yIGFkZHJlc3MsIGNhdXNpbmcgb21wLm1hcC5pbmZvIHRvIHJlY29yZCB0aGUgRm9y dHJhbgpkZXNjcmlwdG9yIGluIHZhcl9wdHIgaW5zdGVhZCBvZiB0aGUgYXJyYXkgZGF0YS4gVGhp cyBhZmZlY3RlZCBib3RoIHdob2xlLWFycmF5CmxvY2F0b3JzIGFuZCBkZXJpdmVkLXR5cGUgY29t cG9uZW50IGxvY2F0b3JzIHN1Y2ggYXMgdiVhKGkpICh2aWEgZGVjbGFyZQptYXBwZXJzKS4KCkxv YWQgdGhlIGRlc2NyaXB0b3IgaW4gZ2V0SXRlcmF0b3JNYXBFbnRpdHkgYW5kIHVzZSBmaXIuYm94 X2FkZHIgZm9yIHZhcl9wdHIsCndoaWxlIGNvbnRpbnVpbmcgdG8gZGVyaXZlIGJvdW5kcyBhbmQg Ynl0ZSBzdHJpZGVzIGZyb20gdGhlIGRlc2NyaXB0b3IuCkFzc3VtZWQtc2hhcGUgYW5kIG5vbi1h bGxvY2F0YWJsZSBlbnRpdGllcyBhcmUgdW5hZmZlY3RlZC4KCkFsc28gcmVwbGFjZSB0aGUgaW5k aXJlY3QgYGRpcmVjdGl2ZSAhPSBPTVBEX3Vua25vd25gIGRlY2xhcmUtbWFwcGVyIGNoZWNrIHdp dGgKYSBkaXJlY3QgbG9va3VwIG9mIGFuIGVuY2xvc2luZyBvbXAuZGVjbGFyZV9tYXBwZXIgcmVn aW9uLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1p dC81NzhkYjM5NjMzMDU5MDgwODE3Zjk5NmM1YjE4ZTk5ODk5MDk2ZmViCgpHaXQgY29tbWl0IDkz MmZmYmJmYmY1ZWVkMzk0ZjE0M2ZhZDE3NTcyNDU1NGM5OTZmNWQgYnkgQ2hpLUNodW4sIENoZW4g b24gMDQvMDgvMjAyNiBhdCAyMToyOS4uClJlamVjdCB0YXJnZXQgbWFwIGl0ZXJhdG9yIG1vZGlm aWVycwoKRXhlY3V0YWJsZSB0YXJnZXQgcmVnaW9ucyBuZWVkIHN0YWJsZSBibG9jayBhcmd1bWVu dHMgZm9yIGl0ZXJhdG9yLW1hcHBlZApvYmplY3RzLiBXaXRob3V0IHNlcGFyYXRlIGNhcHR1cmVz LCBpbXBsaWNpdCBsb3dlcmluZyBhZGRzIGEgd2hvbGUtb2JqZWN0CmB0b2Zyb21gIG1hcCB0aGF0 IGNoYW5nZXMgdGhlIHJlcXVlc3RlZCBleHRlbnQgYW5kIGRpcmVjdGlvbi4KClJlamVjdCB0aGlz IHVuc3VwcG9ydGVkIGNhc2UgdW50aWwgdGFyZ2V0IG1hcCBpdGVyYXRvciBjYXB0dXJlcyBhcmUK YXZhaWxhYmxlLCBhbmQgYWRkIFRPRE8gY292ZXJhZ2UgZm9yIHRoZSByZXBvcnRlZCBhcnJheSB1 c2UuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0 LzkzMmZmYmJmYmY1ZWVkMzk0ZjE0M2ZhZDE3NTcyNDU1NGM5OTZmNWQKCkdpdCBjb21taXQgZmRh ZGYyZjMwOGIwNjU3ZTU5MDNkM2I5ODBlOTc3YzBiY2U3M2ZlMSBieSBDaGktQ2h1biwgQ2hlbiBv biAwNC8wOC8yMDI2IGF0IDIxOjI5Li4KTWFrZSBpdGVyYXRvciBtYXAgZmluYWxpemF0aW9uIG1v cmUgcm9idXN0CgpNYXBJbmZvRmluYWxpemF0aW9uIHNraXBzIG1hcHMgbmVzdGVkIGluIGBvbXAu aXRlcmF0b3JgLCBzbyBkZXNjcmlwdG9yLWJhY2tlZAppdGVyYXRvciBtYXBzIGFyZSBub3QgZXhw YW5kZWQuIEFkZCBlbmQtdG8tZW5kIEZvcnRyYW4gY292ZXJhZ2UgZm9yCmFzc3VtZWQtc2hhcGUg YW5kIGFsbG9jYXRhYmxlIGFycmF5cy4KCk1ha2UgdGhlIGl0ZXJhdG9yIGd1YXJkIGV4cGxpY2l0 IGluIHRoZSByZWNvcmQtbWVtYmVyIHdhbGsgYW5kIHJlbW92ZSB0aGUKdW5yZWFjaGFibGUgYG9t cC55aWVsZGAgdHJhdmVyc2FsIGZyb20gYGdldEZpcnN0VGFyZ2V0VXNlcmAuCmh0dHBzOi8vaW52 ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2ZkYWRmMmYzMDhiMDY1 N2U1OTAzZDNiOTgwZTk3N2MwYmNlNzNmZTEKCkdpdCBjb21taXQgN2MzMGY2NzU0N2Q5YmNlNGJk ZTk4MDExMWYwYWY3ZjJiZjMxZGQwZSBieSBDaGktQ2h1biwgQ2hlbiBvbiAwNC8wOC8yMDI2IGF0 IDIxOjI5Li4KQWxpZ24gZGVzY3JpcHRvciB3YXJuaW5ncyB3aXRoIGl0ZXJhdG9yIG1hcHMKCkl0 ZXJhdG9yIG1hcHMgbG93ZXIgZGVzY3JpcHRvci1iYWNrZWQgYXJyYXlzIHRvIGRhdGEtb25seSBl bnRyaWVzLiBTa2lwIHRoZQp0ZW1wb3JhcnktZGVzY3JpcHRvciB3YXJuaW5nIGZvciB0aG9zZSBt YXBzIGFuZCBkb2N1bWVudCB0aGUgY29udHJhY3QuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQv Y2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzdjMzBmNjc1NDdkOWJjZTRiZGU5ODAxMTFmMGFm N2YyYmYzMWRkMGUKCkdpdCBjb21taXQgNjdjMzAzOTBmMDQ5YmUyZDYyNzgwMGY0MTk2M2EzY2Yy NTQwMGM4YiBieSBDaGktQ2h1biwgQ2hlbiBvbiAwNC8wOC8yMDI2IGF0IDIxOjM3Li4KUmVqZWN0 IG9wdGlvbmFsIGl0ZXJhdG9yIGxvY2F0b3JzCgpPcHRpb25hbCBpdGVyYXRvciBsb2NhdG9ycyBy ZXF1aXJlIHByZXNlbmNlLWF3YXJlIG1hcCBjb25zdHJ1Y3Rpb24uIFJlamVjdAp0aGVtIHVudGls IGxvd2VyaW5nIGNhbiBvbWl0IGFic2VudCBvcHRpb25hbCBsaXN0IGl0ZW1zIHNhZmVseS4KaHR0 cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvNjdjMzAz OTBmMDQ5YmUyZDYyNzgwMGY0MTk2M2EzY2YyNTQwMGM4YgoKR2l0IGNvbW1pdCA0NTlkNmE5MzY4 YjNlMWYzOWJlOGYxM2NkNDU1ZGUxZmI3NTkyYmU2IGJ5IENoaS1DaHVuLCBDaGVuIG9uIDA0LzA4 LzIwMjYgYXQgMjE6NTMuLgpBcHBseSBjbGFuZy1mb3JtYXQgdG8gaXRlcmF0b3IgbG93ZXJpbmcK aHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvNDU5 ZDZhOTM2OGIzZTFmMzliZThmMTNjZDQ1NWRlMWZiNzU5MmJlNgo=