ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggM2FjZGI1OC4uZGMxZmQ2NiAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMTMgKzEsMTQgQEAKLVRoaXMgaXMgcmVsZWFzZSAyMDA0MDIxMyBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgorVGhpcyBpcyByZWxlYXNlIDIwMDQwMzA5IG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCiBVbml4LiAgVGhpcyBpcyBzdGlsbCBhIGRldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncwogYW5kIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yawogY29ycmVjdGx5LgogCi1XSEFUJ1MgTkVXIHdpdGggV2luZS0yMDA0MDIxMzogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCi0gICAgICAgIC0gSW1wcm92ZWQgc3VwcG9ydCBmb3Igc2NyZWVuIHJlc29sdXRpb24gY2hhbmdlcy4KLSAgICAgICAgLSBNb3JlIHNoZWxsMzIgaW1wcm92ZW1lbnRzLgotICAgICAgICAtIFNldmVyYWwgV2luZWxpYiBjb21wYXRpYmlsaXR5IGZpeGVzLgotICAgICAgICAtIEJlZ2lubmluZ3Mgb2Ygc3VwcG9ydCBmb3IgdHlwZWxpYiBjcmVhdGlvbi4KK1dIQVQnUyBORVcgd2l0aCBXaW5lLTIwMDQwMzA5OiAoc2VlIENoYW5nZUxvZyBmb3IgZGV0YWlscykKKyAgICAgICAgLSBNdWNoIGltcHJvdmVkIHdpbmVnY2MgdG9vbCwgbm93IHVzZWQgdG8gYnVpbGQgV2luZSBpdHNlbGYuCisgICAgICAgIC0gVnhEcyBhcmUgbm93IHNlcGFyYXRlIGxpYnJhcmllcyBmb3IgYmV0dGVyIG1vZHVsYXJpdHkuCisgICAgICAgIC0gSW1wcm92ZW1lbnRzIGFuZCBzaW1wbGlmaWNhdGlvbnMgdG8gdGhlIGRyaXZlIGNvbmZpZ3VyYXRpb24uCisgICAgICAgIC0gTmV3IHNldHVwYXBpIElORiBzY3JpcHQgdG8gY3JlYXRlIHRoZSBpbml0aWFsIHJlZ2lzdHJ5LgorICAgICAgICAtIE1hbnkgaW1wcm92ZW1lbnRzIHRvIHRoZSB2YXJpb3VzIG11bHRpbWVkaWEgZGxscy4KICAgICAgICAgLSBMb3RzIG9mIGJ1ZyBmaXhlcy4KIAogU2VlIHRoZSBSRUFETUUgZmlsZSBpbiB0aGUgZGlzdHJpYnV0aW9uIGZvciBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zLgpAQCAtMTYsOCArMTcsOCBAQAogdGhlIHJlbGVhc2UgaXMgYXZhaWxhYmxlIGF0IHRoZSBmdHAgc2l0ZXMuICBUaGUgc291cmNlcyB3aWxsIGJlIGF2YWlsYWJsZQogZnJvbSB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczoKIAotICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwNDAyMTMudGFyLmd6Ci0gIGh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvd2luZS9XaW5lLTIwMDQwMjEzLnRhci5negorICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwNDAzMDkudGFyLmd6CisgIGh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvd2luZS9XaW5lLTIwMDQwMzA5LnRhci5negogCiBJdCBzaG91bGQgYWxzbyBiZSBhdmFpbGFibGUgZnJvbSBhbnkgb3RoZXIgc2l0ZSB0aGF0IG1pcnJvcnMgaWJpYmxpby5vcmcuCiBUaGVzZSBsb2NhdGlvbnMgYWxzbyBob2xkIHByZS1idWlsdCBkb2N1bWVudGF0aW9uIHBhY2thZ2VzIGluIHZhcmlvdXMKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBmZDVjODdmLi40NTU0M2I2IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDQgKzEsMTI2MiBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjAwNC0wMy0wOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwvZmlsZTE2LmMsIGRsbHMva2VybmVsL3Byb2ZpbGUuYywgZmlsZXMvZGlyZWN0b3J5LmMsCisJICBmaWxlcy9kcml2ZS5jOgorCU1vdmVkIGEgbnVtYmVyIG9mIDE2LWJpdCBmdW5jdGlvbnMgdG8gZmlsZTE2LmMuCisKKwkqIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvbWFrZV9kbGxzOgorCURvIG5vdCBjcmVhdGUgc3ltbGlua3MgZm9yIHRoZSBQRSBidWlsZCBzaW5jZSB0aGV5IGNhbiBjb25mbGljdCB3aXRoCisJdGhlIGRpcmVjdG9yeSBuYW1lcy4KKworCSogbGlicy9wb3J0L3N0YXR2ZnMuYzogQ2hlY2sgdGhhdCB3ZSBoYXZlIHN0YXRmcyBiZWZvcmUgdXNpbmcgaXQuCisKKwkqIGluY2x1ZGUvd2luZS9wb3J0Lmg6CisJQWRkZWQgZGVmaW5pdGlvbnMgZm9yIFNfSVhVU1IsIFNfSVhHUlAgYW5kIFNfSVhPVEguCisKKwkqIHRvb2xzL3dpbmVnY2MvdXRpbHMuYzogY2htb2QgaXMgbW9yZSBwb3J0YWJsZSB0aGFuIGZjaG1vZC4KKworCSogZmlsZXMvZG9zX2ZzLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTWFrZSBJU19FTkRfT0ZfTkFNRSBhbiBpbmxpbmUgZnVuY3Rpb24uCisKKwkqIGRsbHMva2VybmVsL25lX21vZHVsZS5jLCBkbGxzL2tlcm5lbC9uZV9zZWdtZW50LmMsCisJICBkbGxzL2tlcm5lbC9wcm9jZXNzLmMsIGRsbHMva2VybmVsL3N5bmMuYywgZGxscy9rZXJuZWwvdGFzay5jLAorCSAgZGxscy9rZXJuZWwvdGltZS5jLCBkbGxzL3dpbmVkb3MvaW50MjEuYywgZmlsZXMvZGlyZWN0b3J5LmMsCisJICBmaWxlcy9kb3NfZnMuYywgZmlsZXMvZHJpdmUuYywgZmlsZXMvZmlsZS5jLCBmaWxlcy9zbWIuYywKKwkgIGluY2x1ZGUvZHJpdmUuaCwgaW5jbHVkZS9maWxlLmg6CisJUmVtb3ZlZCBzb21lIHVubmVjZXNzYXJ5IGRlZmluaXRpb25zIGZyb20gZmlsZS5oLgorCUdvdCByaWQgb2YgZHJpdmUuaC4KKworCSogZGxscy9udGRsbC9ydGxzdHIuYzoKKwlBU0NJSSBzdHJpbmcgY29tcGFyaXNvbnMgc2hvdWxkIG5vdCBkZXBlbmQgb24gdGhlIGxvY2FsZS4KKworCSogZGxscy9jb21jdGwzMi8uY3ZzaWdub3JlLCBkbGxzL2NvbWN0bDMyL01ha2VmaWxlLmluLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGwzMi5oLCBkbGxzL2NvbWN0bDMyL2RyYWdsaXN0LmMsCisJICBkbGxzL2NvbWN0bDMyL3JzcmMucmM6CisJUm9iZXJ0IFNoZWFybWFuIDxSLkouU2hlYXJtYW5Ad2Fyd2ljay5hYy51az4KKwktIEltcGxlbWVudCB0aGUgZHJhZyBsaXN0IGNvbnRyb2wuCisJLSBGaXggdGFicyBpbiBMQkl0ZW1Gcm9tUHQuCisKKwkqIHdpbmRvd3MvbWRpLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJV2UgbmVlZCB0byBhdCBsZWFzdCByZWZyZXNoIHRoZSB3aW5kb3cgbWVudSBpbiBDaGlsZEFjdGl2YXRlLCBzbyBmb3IKKwlub3cgcmVtb3ZlIHRoZSAnaXMgYWxyZWFkeSBhY3RpdmF0ZWQnIG9wdGltaXphdGlvbi4KKworCSogREVWRUxPUEVSUy1ISU5UUywgY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL2R4ZXJyOC8uY3ZzaWdub3JlLCBkbGxzL2R4ZXJyOC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvZHhlcnI4L2R4ZXJyOC5jLCBkbGxzL2R4ZXJyOC9lcnJvcnMuYXdrLCBkbGxzL2R4ZXJyOC9lcnJvcnMuZGF0LAorCSAgZGxscy9keGVycjgvZXJyb3JzLmgsIGRsbHMvZHhlcnI4L21ha2VfZXJyb3JzLAorCSAgZGxscy9keGVycjkvLmN2c2lnbm9yZSwgZGxscy9keGVycjkvTWFrZWZpbGUuaW4sCisJICBkbGxzL2R4ZXJyOS9keGVycjkuYywgZGxscy9keGVycjkvZXJyb3JzLmF3aywgZGxscy9keGVycjkvZXJyb3JzLmRhdCwKKwkgIGRsbHMvZHhlcnI5L2Vycm9ycy5oLCBkbGxzL2R4ZXJyOS9tYWtlX2Vycm9yczoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFkZGVkIGR4ZXJyOCBhbmQgZHhlcnI5IGxpYnJhcmllcy4KKworCSogZG9jdW1lbnRhdGlvbi9jb25maWd1cmluZy5zZ21sLCBkb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnLAorCSAgZG9jdW1lbnRhdGlvbi93aW5lLmNvbmYubWFuLCBmaWxlcy9kaXJlY3RvcnkuYywgZmlsZXMvZG9zX2ZzLmMsCisJICBmaWxlcy9kcml2ZS5jLCBpbmNsdWRlL2RyaXZlLmgsIGluY2x1ZGUvZmlsZS5oOgorCUdldCByaWQgb2YgdGhlIEZpbGVzeXN0ZW0gb3B0aW9uIGluIHRoZSBkcml2ZSBjb25maWcsIHRoaXMgd2FzIG1vcmUKKwljb25mdXNpbmcgdGhhbiB1c2VmdWwuCisKKwkqIGluY2x1ZGUvd2luZS9wb3J0Lmg6IEFkZGVkIHN0YXR2ZnMgcHJvdG90eXBlLgorCisJKiBkbGxzL2Rtc2NyaXB0L2Rtc2NyaXB0X3ByaXZhdGUuaCwgZGxscy9kbXNjcmlwdC9zY3JpcHQuYzoKKwlSYXBoYWVsIEp1bnF1ZWlyYSA8ZmVuaXhAY2x1Yi1pbnRlcm5ldC5mcj4KKwlCZXR0ZXIgZG1zY3JpcHQgbG9hZGluZyAobm93IHdlIGxvYWQgdGhlIHNjcmlwdCB2ZXJzaW9uLCBzY3JpcHQKKwlsYW5ndWFnZSBpZGVudGlmaWVyIGFuZCB0aGUgc2NyaXB0IHNvdXJjZSkuCisKKwkqIGRsbHMvZ2RpL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvZ2RpL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9nZGkvdGVzdHMvbWV0YWZpbGUuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIGFuIEVNRiB0ZXN0IHN1aXRlLgorCisJKiB3aW5kb3dzL21kaS5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVdpbmRvd3MgYWx3YXlzIGFkZHMgYSBzZXBhcmF0b3IgdG8gdGhlIGJvdHRvbSBvZiB0aGUgbmV3IHdpbmRvdworCW1lbnUuIFRoYW5rcyB0byBEbWl0cnkgVGltb3Noa292IGZvciBjb25maXJtaW5nIHRoaXMuCisKKwkqIGRsbHMvZ2RpL2ZyZWV0eXBlLmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJQ2hlY2sgZm9yIE5VTEwgcG9pbnRlcnMgcmV0dXJuZWQgYnkgSGVhcEFsbG9jLgorCisJKiBkbGxzL01ha2V0ZXN0LnJ1bGVzLmluLCBwcm9ncmFtcy9NYWtlcHJvZy5ydWxlcy5pbiwKKwkgIHByb2dyYW1zL2F2aXRvb2xzL01ha2VmaWxlLmluLCBwcm9ncmFtcy9jbG9jay9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL2NtZGxndHN0L01ha2VmaWxlLmluLCBwcm9ncmFtcy9jb250cm9sL01ha2VmaWxlLmluLAorCSAgcHJvZ3JhbXMvZXhwYW5kL01ha2VmaWxlLmluLCBwcm9ncmFtcy9ub3RlcGFkL01ha2VmaWxlLmluLAorCSAgcHJvZ3JhbXMvcHJvZ21hbi9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvcmVnZWRpdC9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3JlZ3N2cjMyL01ha2VmaWxlLmluLCBwcm9ncmFtcy9ycGNzcy9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3J1bmRsbDMyL01ha2VmaWxlLmluLCBwcm9ncmFtcy9zdGFydC9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3VuaW5zdGFsbGVyL01ha2VmaWxlLmluLCBwcm9ncmFtcy92aWV3L01ha2VmaWxlLmluLAorCSAgcHJvZ3JhbXMvd2NtZC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2luZWJvb3QvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy93aW5lYnJvd3Nlci9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2luZWNmZy9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlL01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5lZGJnL01ha2VmaWxlLmluLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbmVtZW51YnVpbGRlci9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3dpbmVtaW5lL01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5lcGF0aC9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5ldmRtL01ha2VmaWxlLmluLAorCSAgcHJvZ3JhbXMvd2luaGVscC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2ludmVyL01ha2VmaWxlLmluOgorCVRha2UgYWR2YW50YWdlIG9mIHRoZSBuZXcgd2luZWdjYyAtQiBzdXBwb3J0LgorCisJKiB0b29scy93aW5lZ2NjL3V0aWxzLmMsIHRvb2xzL3dpbmVnY2MvdXRpbHMuaCwgdG9vbHMvd2luZWdjYy93aW5lZ2NjLmM6CisJQWxsb3cgbXVsdGlwbGUgLUIgb3B0aW9ucy4KKwlEbyBub3QgcGFzcyB0aGUgLUJ0b29scy93aW5lYnVpbGQgbWFnaWMgb3B0aW9uIHRvIHRoZSBjb21waWxlciB0bworCWF2b2lkIHdhcm5pbmdzLgorCVBhc3MgdG8gdGhlIGxpbmtlciBldmVuIHRoZSBsaWJyYXJpZXMgd2UgZGlkbid0IGZpbmQgaW4gdGhlIGxpYiBzZWFyY2gKKwlwYXRoLCBpbiBjYXNlIHdlIGFyZSBub3QgdXNpbmcgdGhlIHN0YW5kYXJkIHBhdGhzLgorCisJKiB0b29scy93aW5lZ2NjL3dpbmVnY2MuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBZGQgYSB3aW5lIHNwZWNpZmljIG1vZGUuIElmIGlzIGFjdGl2YXRlZCBpZiB0aGUgLUIgcHJlZml4IGVuZHMgd2l0aAorCS90b29scy93aW5lYnVpbGQuIElmIHlvdSBoYXBwZW4gdG8gaGF2ZSBzdWNoIGEgcHJlZml4LCBidXQgeW91IGRvbid0CisJd2FudCB0aGlzIGJlaGF2aW91ciwgc2ltcGx5IGFkZCBhIHRyYWlsaW5nICcvJy4gSW4gdGhpcyBzcGVjaWFsIG1vZGUsCisJbm8gZGVmYXVsdCBXaW4zMiBETExzIGFyZSBsaW5rZWQgaW4sIHdlIGRvbid0IGZvcmNlIHRoZSBzaG9ydCB3Y2hhcl90LAorCWFuZCB0aGUgc3RhbmRhcmQgZGlycyBhcmUgbm90IHNlYXJjaGVkLgorCisJKiB0b29scy93aWRsL01ha2VmaWxlLmluLCB0b29scy93aWRsL3dpZGwubWFuOgorCUhhbm51IFZhbHRvbmVuIDxIYW5udS5WYWx0b25lbkBodXQuZmk+CisJQWRkZWQgYSBtYW4gcGFnZSBmb3Igd2lkbC4KKworCSogdG9vbHMvd2luZWdjYy91dGlscy5jLCB0b29scy93aW5lZ2NjL3dpbmVnY2MuYzoKKwlGaXhlZCBhIGNvdXBsZSBvZiBjcmFzaGVzLgorCisJKiB0b29scy9iaW4ycmVzLmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJQWNjZXB0ICctdicgZmxhZy4KKworCSogZGxscy9nZGkvZnJlZXR5cGUuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgcmVnaXN0cnkgZW50cmllcyBmb3IgYW55IGZvbnRzIGZvdW5kIGJ5IGZvbnRjb25maWcgb3IgdGhhdCBhcmUgaW4KKwl0aGUgRm9udERpcnMgZGlyZWN0b3JpZXMuCisKKwkqIHRvb2xzL3dpbmVnY2MvdXRpbHMuYywgdG9vbHMvd2luZWdjYy91dGlscy5oLAorCSAgdG9vbHMvd2luZWdjYy93aW5lZ2NjLmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBZGQgLUIgcHJlZml4IHN1cHBvcnQuIFNtYWxsIGNvbnNpc3RlbmN5IGNsZWFudXBzLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9NYWtlZmlsZS5pbiwgZGxscy9hbXN0cmVhbS8uY3ZzaWdub3JlLAorCSAgZGxscy9hbXN0cmVhbS9NYWtlZmlsZS5pbiwgZGxscy9hbXN0cmVhbS9hbXN0cmVhbS5jLAorCSAgZGxscy9hbXN0cmVhbS9hbXN0cmVhbS5zcGVjLCBkbGxzL2Ftc3RyZWFtL2Ftc3RyZWFtX3ByaXZhdGUuaCwKKwkgIGRsbHMvYW1zdHJlYW0vbWFpbi5jLCBkbGxzL2Ftc3RyZWFtL3JlZ3N2ci5jLAorCSAgZGxscy9hbXN0cmVhbS92ZXJzaW9uLnJjLCBkbGxzL3V1aWQvdXVpZC5jLCBpbmNsdWRlL01ha2VmaWxlLmluLAorCSAgaW5jbHVkZS9hbXN0cmVhbS5oLCBpbmNsdWRlL2Ftc3RyZWFtLmlkbCwgaW5jbHVkZS9hdXN0cmVhbS5oLAorCSAgaW5jbHVkZS9hdXN0cmVhbS5pZGwsIGluY2x1ZGUvZGRyYXcuaCwgaW5jbHVkZS9kZHN0cmVhbS5oLAorCSAgaW5jbHVkZS9kZHN0cmVhbS5pZGwsIGluY2x1ZGUvbW1zdHJlYW0uaCwgaW5jbHVkZS9tbXN0cmVhbS5pZGwsCisJICB0b29scy93aW5lLmluZjoKKwlDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJQWRkIGFtc3RyZWFtIGRsbCAoTXVsdGlNZWRpYSBTdHJlYW1zKSwgcGFydCBvZiBEaXJlY3QgU2hvdy4KKworCSogZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sIGRsbHMva2VybmVsL3ZvbHVtZS5jLCBkbGxzL250ZGxsL2ZpbGUuYywKKwkgIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWcsIGRvY3VtZW50YXRpb24vd2luZS5jb25mLm1hbiwKKwkgIGZpbGVzL2RyaXZlLmMsIGluY2x1ZGUvZHJpdmUuaCwgaW5jbHVkZS93aW5udC5oOgorCVJlaW1wbGVtZW50ZWQgR2V0Vm9sdW1lSW5mb3JtYXRpb24gYW5kIFNldFZvbHVtZUxhYmVsOyB2b2x1bWUgbGFiZWwKKwlhbmQgc2VyaWFsIG51bWJlciBhcmUgbm93IHN0b3JlZCBpbiB0aGUgZmlsZXN5c3RlbSBpbnN0ZWFkIG9mIGluIHRoZQorCWNvbmZpZyBmaWxlIChwYXJ0bHkgYmFzZWQgb24gYSBwYXRjaCBieSBFcmljIFBvdWVjaCkuCisKKwkqIHRvb2xzL3dpbmVnY2Mvd2luZWdjYy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVN1cHBvcnQgcHJvY2Vzc29ycyBtYWRlIHVwIG9mIGRpZmZlcmVudCBjb21tYW5kcy4KKwlSZW5hbWUgc29tZSBwcm9jZXNzb3IgZW51bXMgZm9yIGNvbnNpc3RlbmN5LgorCisJKiBkb2N1bWVudGF0aW9uL1JFQURNRS5kZTogQ2hyaXN0aWFuIEJyaXR6IDxjYnJpdHpAZ214Lm5ldD4KKwlBZGRlZCBHZXJtYW4gdHJhbnNsYXRpb24gb2YgdGhlIFJFQURNRSBmaWxlLgorCisJKiBkbGxzL3VzZXIvbWlzYy5jLCBkbGxzL3VzZXIvdXNlcjMyLnNwZWM6CisJQm9iYnkgQmluZ2hhbSA8YmluZ2hhbS4yMUBvc3UuZWR1PgorCVN0dWIgRW51bURlc2t0b3BzVyBmb3Igbm93LgorCUltcGxlbWVudCBFbnVtRGVza3RvcHNBIGluIHRlcm1zIG9mIEVudW1EZXNrdG9wc1cuCisKKwkqIGRsbHMva2VybmVsL2xvY2FsZS5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCURvIG5vdCB0YWtlIGludG8gYWNjb3VudCBMQ19DVFlQRSBhbmQgTENfTUVTU0FHRVMgd2hpbGUgZGV0ZWN0aW5nIGEKKwl1c2VyIGxvY2FsZS4KKworMjAwNC0wMy0wNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy94MTFkcnYvZGliLmM6IEphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJQ2FsY3VsYXRlIHRoZSBzaXplIG9mIEJJX0JJVEZJRUxEUyBkaWIgc2VjdGlvbnMgdmlhIHRoZSB3aWR0aCBhbmQKKwloZWlnaHQuCisKKwkqIGRsbHMvd2luc3Bvb2wvaW5mby5jLCBkbGxzL3dpbnNwb29sL3Rlc3RzL2luZm8uYzoKKwlTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1MaW5lLmNvbT4KKwlNb3ZlZCBpbXBsZW1lbnRhdGlvbiBvZiBHZXREZWZhdWx0UHJpbnRlciBmcm9tIGFzY2lpIHRvIHVuaWNvZGUsIGFkZGVkCisJdGVzdHMgZm9yIEdldERlZmF1bHRQcmludGVyQS4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGluY2x1ZGUvY29uZmlnLmguaW4sIGxpYnMvcG9ydC9zdGF0dmZzLmM6CisJQWRkZWQgY2hlY2sgZm9yIGZfbmFtZWxlbiBpbiBzdHJ1Y3Qgc3RhdGZzLgorCisJKiBkbGxzL2RtaW1lL3BlcmZvcm1hbmNlLmM6IFJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCUZpeCBvbmUgdWdseSBidWcgKGhvcnJpYmxlIGNhc3QpIGludG8gZG11c2ljIGNvZGUgdG8gZ2V0IFVucmVhbDIKKwljcmFzaGluZyBsYXRlciAod2hlbiB0cnlpbmcgdG8gbGF1bmNoIGxvYWRlZCBzb3VuZCkgOikKKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJRG9uJ3QgYWxsb2NhdGUgc3BhY2UgZm9yIHRleHQgd2hlbiBuTWF4VGV4dFJvd3MgPSAwLgorCisyMDA0LTAzLTA1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZmlsZXMvZHJpdmUuYywgaW5jbHVkZS9jb25maWcuaC5pbiwKKwkgIGluY2x1ZGUvd2luZS9wb3J0LmgsIGxpYnMvcG9ydC9NYWtlZmlsZS5pbiwgbGlicy9wb3J0L3N0YXRmcy5jLAorCSAgbGlicy9wb3J0L3N0YXR2ZnMuYzoKKwlVc2Ugc3RhdHZmcyBpbnN0ZWFkIG9mIHN0YXRmcywgYW5kIHByb3ZpZGUgYSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGluCisJbGlid2luZV9wb3J0IGlmIG5lY2Vzc2FyeS4KKworCSogZGxscy9udGRsbC9jZHJvbS5jOgorCURvIG5vdCBzdG9yZSB0aGUgVW5peCBmaWxlIGRlc2NyaXB0b3IgaW4gdGhlIGNhY2hlIHN0cnVjdHVyZS4KKwlQcm90ZWN0IHRoZSBnbG9iYWwgY2FjaGUgd2l0aCBhIGNyaXRpY2FsIHNlY3Rpb24uCisKKwkqIGRsbHMvdXNlci91c2VyMzIuc3BlYywgd2luZG93cy91c2VyLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxSLkouU2hlYXJtYW5Ad2Fyd2ljay5hYy51az4KKwlTdHViIGZvciBSZWdpc3RlckRldmljZU5vdGlmaWNhdGlvblcuCisKKwkqIGRsbHMvd2lubW0vbW1pby5jOiBKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCUhhbmRsZSBwbGF5aW5nIG9mIGZpbGVzIGNvbnRhaW5pbmcgYSAnKycgYXMgcGFydCBvZiB0aGUgZmlsZW5hbWUuCisKKwkqIGRsbHMvcXVhcnR6L2ZpbHRlcmdyYXBoLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlJbXBsZW1lbnRlZCBJTWVkaWFFdmVudFNpbmsgYW5kIElNZWRpYUV2ZW50RXggaW50ZXJmYWNlcy4KKworMjAwNC0wMy0wNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9udGRsbC9jZHJvbS5jLCBkbGxzL250ZGxsL2ZpbGUuYywgZGxscy9udGRsbC9udGRsbC5zcGVjLAorCSAgZGxscy9udGRsbC9udGRsbF9taXNjLmgsIGZpbGVzL2RyaXZlLmMsIGZpbGVzL2ZpbGUuYywgaW5jbHVkZS9maWxlLmgsCisJICBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIHNlcnZlci9NYWtlZmlsZS5pbiwgc2VydmVyL2RldmljZS5jLAorCSAgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3JlcXVlc3QuaCwgc2VydmVyL3RyYWNlLmM6CisJT3BlbiBhIHJlYWwgZmlsZSBoYW5kbGUgZm9yIGRyaXZlIGRldmljZXMsIGFuZCBnZXQgcmlkIG9mIHRoZSBzZXJ2ZXIKKwlkZXZpY2UgaGFja3MgKGJhc2VkIG9uIGEgcGF0Y2ggYnkgRXJpYyBQb3VlY2gpLgorCisJKiBkbGxzL2RkcmF3L2RzdXJmYWNlL2RpYi5jLCBkbGxzL2dkaS9lbmhtZmRydi9iaXRibHQuYywKKwkgIGRsbHMvZ2RpL2VuaG1mZHJ2L2VuaG1ldGFmaWxlZHJ2LmgsIGRsbHMvZ2RpL2VuaG1mZHJ2L29iamVjdHMuYywKKwkgIGRsbHMvZ2RpL2dkaV9wcml2YXRlLmgsIGRsbHMvZ2RpL21mZHJ2L2JpdGJsdC5jLAorCSAgZGxscy9nZGkvbWZkcnYvbWV0YWZpbGVkcnYuaCwgZGxscy9nZGkvbWZkcnYvb2JqZWN0cy5jLAorCSAgZGxscy9nZGkvcGFpbnRpbmcuYywgZGxscy9nZGkvd2luZy5jLCBkbGxzL3R0eWRydi9wYWxldHRlLmMsCisJICBkbGxzL3gxMWRydi9iaXRtYXAuYywgZGxscy94MTFkcnYvYnJ1c2guYywgZGxscy94MTFkcnYvZGliLmMsCisJICBkbGxzL3gxMWRydi9wYWxldHRlLmMsIGRsbHMveDExZHJ2L3gxMWRkcmF3LmMsIGluY2x1ZGUvYml0bWFwLmgsCisJICBpbmNsdWRlL2dkaS5oLCBpbmNsdWRlL3BhbGV0dGUuaCwgb2JqZWN0cy9iaXRtYXAuYywgb2JqZWN0cy9icnVzaC5jLAorCSAgb2JqZWN0cy9kaWIuYywgb2JqZWN0cy9nZGlvYmouYywgb2JqZWN0cy9tZXRhZmlsZS5jLAorCSAgb2JqZWN0cy9wYWxldHRlLmM6CisJTW92ZWQgbW9yZSBHREkgZGVmaW5pdGlvbnMgdG8gZ2RpX3ByaXZhdGUuaC4KKwlHZXQgcmlkIG9mIGJpdG1hcC5oIGFuZCBwYWxldHRlLmguCisKKwkqIGRsbHMvc2hlbGwzMi9zaGxleGVjLmM6IE1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJRW51bWVyYXRlIGFsbCAic2hlbGxcPHZlcmI+XGNvbW1hbmQiIGVudHJpZXMgaW4gdGhlIHJlZ2lzdHJ5IGluc3RlYWQKKwlvZiBzZWFyY2hpbmcgb25seSBmb3IgInNoZWxsXG9wZW5cY29tbWFuZCIgZW50cmllcy4KKworCSogZGxscy9nZGkvZ2RpX3ByaXZhdGUuaCwgZGxscy90dHlkcnYvZGMuYywgZGxscy90dHlkcnYvdHR5ZHJ2LnNwZWMsCisJICBkbGxzL3dpbmVwcy9pbml0LmMsIGRsbHMvd2luZXBzL3BzZHJ2LmgsIGRsbHMvd2luZXBzL3dpbmVwcy5zcGVjLAorCSAgZGxscy94MTFkcnYvaW5pdC5jLCBkbGxzL3gxMWRydi94MTFkcnYuc3BlYywgb2JqZWN0cy9kYy5jOgorCUNoYW5nZWQgdGhlIENyZWF0ZURDIGRyaXZlciBlbnRyeSBwb2ludCB0byB1c2UgYW4gSERDIGluc3RlYWQgb2YgYSBEQworCXBvaW50ZXIuCisKKwkqIGRsbHMveDExZHJ2L2JpdG1hcC5jLCBkbGxzL3gxMWRydi9kaWIuYywgZGxscy94MTFkcnYvaW5pdC5jLAorCSAgZGxscy94MTFkcnYveDExZHJ2Lmg6CisJR2V0IHJpZCBvZiB0aGUgWDExRFJWX0RDX0Z1bmNzIGhhY2suCisJUmVtb3ZlZCBhIGNvdXBsZSBvZiB1bnVzZWQgYml0bWFwIGZ1bmN0aW9ucy4KKworCSogZGxscy9xdWFydHovTWFrZWZpbGUuaW4sIGRsbHMvcXVhcnR6L2VudW1maWx0ZXJzLmMsCisJICBkbGxzL3F1YXJ0ei9lbnVtcmVnZmlsdGVycy5jLCBkbGxzL3F1YXJ0ei9maWx0ZXJncmFwaC5jLAorCSAgZGxscy9xdWFydHovZmlsdGVybWFwcGVyLmMsIGRsbHMvcXVhcnR6L3F1YXJ0el9wcml2YXRlLmg6CisJQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUltcGxlbWVudGVkIElGaWx0ZXJHcmFwaEltcGxfRW51bUZpbHRlcnMgYW5kIElFbnVtRmlsdGVycyBpbnRlcmZhY2UuCisJUmVuYW1lZCBjb25zdHJ1Y3RvciBvZiBJRW51bVJlZ0ZpbHRlcnMgaW50ZXJmYWNlLgorCVNtYWxsIGZpeCBpbiBJRmlsdGVyTWFwcGVyX0VudW1NYXRjaGluZ0ZpbHRlcnMuCisKKwkqIGRsbHMvaW1tMzIvaW1tLmMsIGRsbHMvaW1tMzIvaW1tMzIuc3BlYzogSmVzc2UgQWxsZW4gPHVoX2phQGdteC5uZXQ+CisJQWRkZWQgSW1tQXNzb2NpYXRlQ29udGV4dEV4IHN0dWIuCisKKwkqIHRvb2xzL3dpbmVnY2Mvd2luZWdjYy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVByZXNlcnZlIHRoZSByZWxhdGl2ZSBvcmRlciBvZiBmaWxlcyBhbmQgbGlicmFyaWVzLiBXZSBkbyBzbyBieQorCW1haW50YWluaW5nIGEgdW5pcXVlIGxpc3Qgb2YgZmlsZXMgYW5kIGxpYiwgZWFjaCBtYXJrZWQgd2l0aCB0aGUKKwlhcHByb3ByaWF0ZSBtZXRhZGF0YS4KKworCSogZGxscy9nZGkvZW5obWZkcnYvZW5obWV0YWZpbGVkcnYuaCwgZGxscy9nZGkvZW5obWZkcnYvb2JqZWN0cy5jLAorCSAgZGxscy9nZGkvZ2RpX3ByaXZhdGUuaCwgZGxscy9nZGkvbWZkcnYvbWV0YWZpbGVkcnYuaCwKKwkgIGRsbHMvZ2RpL21mZHJ2L29iamVjdHMuYywgZGxscy90dHlkcnYvb2JqZWN0cy5jLAorCSAgZGxscy90dHlkcnYvdHR5ZHJ2LnNwZWMsIGRsbHMvd2luZXBzL2ZvbnQuYywgZGxscy93aW5lcHMvd2luZXBzLnNwZWMsCisJICBkbGxzL3gxMWRydi90ZXh0LmMsIGRsbHMveDExZHJ2L3gxMWRydi5oLCBkbGxzL3gxMWRydi94MTFkcnYuc3BlYywKKwkgIGRsbHMveDExZHJ2L3hmb250LmMsIG9iamVjdHMvZm9udC5jOgorCVBhc3MgdGhlIGdkaUZvbnQgb2JqZWN0IHRvIHRoZSBTZWxlY3RGb250IGRyaXZlciBlbnRyeSBwb2ludCBzbyB0aGF0CisJd2UgZG9uJ3QgbmVlZCB0byBsb29rIGludG8gdGhlIERDIHN0cnVjdHVyZSBmb3IgaXQuCisKKwkqIGRsbHMveDExZHJ2L3RleHQuYywgZGxscy94MTFkcnYveHJlbmRlci5jOgorCUF2b2lkIGRpcmVjdCBhY2Nlc3NlcyB0byB0aGUgeGZvcm1Xb3JsZDJWcG9ydCBEQyBmaWVsZC4KKworCSogZGxscy9nZGkvZW5obWZkcnYvZW5obWV0YWZpbGVkcnYuaCwgZGxscy9nZGkvZW5obWZkcnYvZ3JhcGhpY3MuYywKKwkgIGRsbHMvZ2RpL2dkaV9wcml2YXRlLmgsIGRsbHMvZ2RpL21mZHJ2L21ldGFmaWxlZHJ2LmgsCisJICBkbGxzL2dkaS9tZmRydi90ZXh0LmMsIGRsbHMvdHR5ZHJ2L2dyYXBoaWNzLmMsIGRsbHMvdHR5ZHJ2L3R0eWRydi5oLAorCSAgZGxscy90dHlkcnYvdHR5ZHJ2LnNwZWMsIGRsbHMvd2luZXBzL3BzZHJ2LmgsIGRsbHMvd2luZXBzL3RleHQuYywKKwkgIGRsbHMvd2luZXBzL3dpbmVwcy5zcGVjLCBkbGxzL3gxMWRydi90ZXh0LmMsIGRsbHMveDExZHJ2L3gxMWRydi5oLAorCSAgZGxscy94MTFkcnYveDExZHJ2LnNwZWMsIGRsbHMveDExZHJ2L3hyZW5kZXIuYywgb2JqZWN0cy90ZXh0LmM6CisJUGFzcyB0aGUgYnJlYWtFeHRyYSB2YWx1ZSBpbiB0aGUgRXh0VGV4dE91dCBkcml2ZXIgY2FsbCwgc2luY2UgdGhlcmUKKwlpcyBubyBmdW5jdGlvbiB0byByZXRyaWV2ZSBpdCBmcm9tIHRoZSBIREMuCisKKwkqIGNvbnRyb2xzL2Rlc2t0b3AuYywgZGxscy91c2VyL2NvbnRyb2xzLmgsIHdpbmRvd3Mvc3lzcGFyYW1zLmM6CisJSnVzdGluIENoZXZyaWVyIDxidXJuZXIxQGhvdG1haWwuY29tPgorCU1vdmUgaW1wbGVtZW50YXRpb24gb2YgU3lzUGFyYW1ldGVyc0luZm8gZnJvbSBBc2NpaSB0byBVbmljb2RlLgorCisyMDA0LTAzLTAzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL01ha2V0ZXN0LnJ1bGVzLmluLCBwcm9ncmFtcy9NYWtlcHJvZy5ydWxlcy5pbjoKKwlBdm9pZCBzb21lIHJlZHVuZGFudCBsaWJyYXJpZXMgb24gdGhlIHdpbmVnY2MgY29tbWFuZCBsaW5lLgorCisJKiB0b29scy93aW5lZ2NjL3dpbmVnY2MuYzoKKwlQdXQgdGhlIC5zcGVjLm8gZmlsZSBmaXJzdCBhbmQgdGhlIHNvIGxpYnJhcmllcyBsYXN0IG9uIHRoZSBsaW5rCisJY29tbWFuZCBsaW5lLgorCisJKiBkbGxzL250ZGxsL2RlYnVndG9vbHMuYzoKKwlTbWFydGVyIGFsbG9jYXRpb24gYWxnb3JpdGhtIGZvciB0aGUgc3RyaW5nIGJ1ZmZlciwgdG8gYWxsb3cKKwlkaXNwbGF5aW5nIG1vcmUgY2hhcmFjdGVycyBmb3Igc3RyaW5ncyB3aXRob3V0IHRvbyBtYW55IGVzY2FwZXMuCisKKwkqIGRsbHMvd2luZXBzL2J1aWx0aW4uYywgZGxscy94MTFkcnYvdGV4dC5jLCBpbmNsdWRlL2dkaS5oLAorCSAgb2JqZWN0cy9kYy5jLCBvYmplY3RzL2ZvbnQuYzoKKwlDaGFuZ2VkIHRoZSBHZXRUZXh0RXh0ZW50UG9pbnQgZ3JhcGhpY3MgZHJpdmVyIGVudHJ5IHBvaW50IHRvIHJldHVybgorCWRldmljZSBjb29yZGluYXRlcy4KKwlSZW1vdmVkIG5vdCB1c2VkIGJyZWFrQ291bnQgZmllbGQgaW4gdGhlIERDIHN0cnVjdHVyZS4KKworCSogTWFrZS5ydWxlcy5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuYWMsIHRvb2xzL3dpbmVnY2MvTWFrZWZpbGUuaW46CisJUmVuYW1lZCB0aGUgc3ltYm9sIGZvciB0aGUgY3BwIGJpbmFyeSB0byBhdm9pZCBjb25mbGljdHMgd2l0aAorCWNvbmZpZ3VyZSBpbnRlcm5hbHMuCisKKwkqIGRsbHMvc2hsd2FwaS90ZXN0cy9wYXRoLmMsIGRsbHMvc2hsd2FwaS91cmwuYzoKKwlLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlGaXggVXJsQ2Fub25pY2FsaXplIGFuZCBhZGQgcmVncmVzc2lvbiB0ZXN0LgorCisJKiB0b29scy93aW5lZ2NjL3V0aWxzLmMsIHRvb2xzL3dpbmVnY2MvdXRpbHMuaCwKKwkgIHRvb2xzL3dpbmVnY2Mvd2luZWdjYy5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRG9uJ3QgdGllIHRoZSBzY3JpcHQgbmFtZSB0byB0aGUgLmV4ZS5zbyBuYW1lLgorCisJKiBkbGxzL3ZuYnQudnhkL01ha2VmaWxlLmluOiBIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlMaW5rIHRvIHdzMl8zMi4KKworCSogZGxscy9nZGkvZ2RpMTYuYywgZGxscy9nZGkvZ2RpX3ByaXZhdGUuaCwgaW5jbHVkZS9nZGkuaCwKKwkgIG9iamVjdHMvZGMuYzoKKwlJbXBsZW1lbnRlZCBHZXQvU2V0Qm91bmRzUmVjdCBiYXNlZCBvbiBhIHBhdGNoIGJ5IEtlbiBCZWxsZWF1LgorCisJKiBkbGxzL3NobHdhcGkvdXJsLmM6IEtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCVByZXZlbnQgY3Jhc2ggd2l0aCBpbnZhbGlkIGFyZ3MgaW4gYSBmZXcgVVJMIGZ1bmN0aW9ucy4KKworCSogZGxscy9zaGVsbDMyL3NobGV4ZWMuYzogTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlGaXggYnVmZmVyIGxlbmd0aCB1c2FnZSBmb3IgUmVnUXVlcnlWYWx1ZVcoKSBjYWxscyBhdCB2YXJpb3VzIHBsYWNlcy4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJLSBTdXBwb3J0IGN1c3RvbSBjaGVjayBiYWNrZ3JvdW5kLgorCS0gUmVkdWNlIG51bWJlciBvZiBwYXJhbWV0ZXJzIG5lZWRlZCBmb3IgRHJhd1N0cmluZyBmdW5jdGlvbi4KKworCSogaW5jbHVkZS9ycGNuZHIuaCwgaW5jbHVkZS93aW5lL3JwY2ZjLmg6CisJUm9iZXJ0IFNoZWFybWFuIDxSLkouU2hlYXJtYW5Ad2Fyd2ljay5hYy51az4KKwktIEFkZCBtb3JlIFJQQyBmb3JtYXQgY2hhcmFjdGVycy4KKwktIEFkZCBzb21lIE5EUiBmdW5jdGlvbnMgYW5kIHN0cnVjdHVyZXMuCisKKwkqIHRvb2xzL3dpbmVtYWtlcjogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQWRkIENFWFRSQSBBTkQgQ1hYRVhUUkEgZmllbGRzIHNvIHdlIGNhbiBwYXNzIC1tbm8tY3lnd2luIHRvIHdpbmVnY2MKKwlidXQgbm90IHRvIHdyYyB3aGljaCBjaG9rZXMgb24gaXQuIEFkZCBSQ0VYVFJBIGZvciBzeW1ldHJ5IGFuZCBmb3IgdGhlCisJdXNlci4KKwlSZW1vdmUgVF9JTklUIGFuZCBnZXRfZGVmYXVsdF9pbml0KCkuIFRoZXNlIGFyZSBvYnNvbGV0ZSAodXNlZCB0bworCXNlbGVjdCB0aGUgZW50cnktcG9pbnQsIFdpbk1haW4gb3IgbWFpbikuCisJSWYgdGhlIGRpcmVjdG9yeSBjb250YWlucyBoZWFkZXJzLCB0aGVuIGFkZCAnLicgdG8gSU5DTFVERV9QQVRILgorCVNwZWNpZnkgLW1ub2N5Z3dpbiBkdXJpbmcgdGhlIGxpbmsgc3RhZ2UgaWYgd2UgYXJlIHRvIGxpbmsgd2l0aCB0aGUKKwltc3ZjcnQuCisJVHJhbnNmb3JtIFhYWF9BUFBNT0RFIGludG8gWFhYX0xERkxBR1MgZm9yIG1vcmUgZmxleGliaWxpdHkuCisJQ29ycmVjdGx5IHBhc3MgJy1tY29uc29sZScgb3IgJy1td2luZG93cycgdG8gdGhlIGxpbmsgc3RhZ2UuCisJUmVtb3ZlIFhYWF9CQVNFTU9EVUxFLCBYWFhfU1BFQ19TUkNTIGFuZCBTUEVDX1NSQ1MuIFRoZXkgYXJlCisJb2Jzb2xldGUuCisJQWRkIGltcGxpY2l0IGJ1aWxkIHJ1bGVzIGZvciAuYywgLmNwcCwgLmN4eCBmaWxlcyBzbyB0aGF0IG91ciBzZXR0aW5ncworCShlLmcuIElOQ0xVREVfUEFUSCkgYXJlIHVzZWQuCisJRml4IHRoZSBydWxlIGZvciBidWlsZGluZyBSQyBmaWxlcyAoaXQgd2FzIGludmFsaWQgYW5kIHJlamVjdGVkIGJ5CisJbWFrZSkuIENvbnZlcnQgaXQgdG8gYW4gaW1wbGljaXQgcnVsZSBsaWtlIHRoZSBvdGhlcnMuCisJQWRkIHJ1bGVzIGZvciAnbWFrZSBjbGVhbicuCisJQWRkIHRoZSBtaXNzaW5nIHJ1bGVzIGZvciByZWN1cnNpdmUgY29tcGlsYXRpb24uCisJUmVtb3ZlIG9ic29sZXRlIGVsZW1lbnRzIGZyb20gdGhlIGxpbmsgY29tbWFuZCAoTERETExGTEFHUywKKwlBTExfTElCUkFSWV9QQVRILCBMSUJTKS4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9ldmNvZGUuaDoKKwlDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJQWRkZWQgZXZjb2RlLmggaW5jbHVkZS4KKworCSogZGxscy9xdWFydHovZmlsdGVyZ3JhcGguYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUhhbmRsZSBudWxsIGFuZCBkdXBsaWNhdGUgbmFtZSB3aGVuIGFkZGluZyBhIGZpbHRlciB0byB0aGUKKwlmaWx0ZXJncmFwaC4KKworCSogZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9rZXJuZWwvdGltZS5jOgorCVJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlJbXBsZW1lbnRlZCBHZXREYXlsaWdodEZsYWcuCisKKzIwMDQtMDMtMDIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvYWR2YXBpMzIvdGVzdHMvLmN2c2lnbm9yZSwgZGxscy9jb21jdGwzMi90ZXN0cy8uY3ZzaWdub3JlLAorCSAgZGxscy9kZHJhdy90ZXN0cy8uY3ZzaWdub3JlLCBkbGxzL2Rzb3VuZC90ZXN0cy8uY3ZzaWdub3JlLAorCSAgZGxscy9nZGkvdGVzdHMvLmN2c2lnbm9yZSwgZGxscy9pcGhscGFwaS90ZXN0cy8uY3ZzaWdub3JlLAorCSAgZGxscy9rZXJuZWwvdGVzdHMvLmN2c2lnbm9yZSwgZGxscy9tc3ZjcnQvdGVzdHMvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbmV0YXBpMzIvdGVzdHMvLmN2c2lnbm9yZSwgZGxscy9udGRsbC90ZXN0cy8uY3ZzaWdub3JlLAorCSAgZGxscy9vbGVhdXQzMi90ZXN0cy8uY3ZzaWdub3JlLCBkbGxzL3JwY3J0NC90ZXN0cy8uY3ZzaWdub3JlLAorCSAgZGxscy9zaGVsbDMyL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvc2hsd2FwaS90ZXN0cy8uY3ZzaWdub3JlLAorCSAgZGxscy91cmxtb24vdGVzdHMvLmN2c2lnbm9yZSwgZGxscy91c2VyL3Rlc3RzLy5jdnNpZ25vcmUsCisJICBkbGxzL3dpbmluZXQvdGVzdHMvLmN2c2lnbm9yZSwgZGxscy93aW5tbS90ZXN0cy8uY3ZzaWdub3JlLAorCSAgZGxscy93aW5zb2NrL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvd2luc3Bvb2wvdGVzdHMvLmN2c2lnbm9yZSwKKwkgIHByb2dyYW1zL2F2aXRvb2xzLy5jdnNpZ25vcmUsIHByb2dyYW1zL2Nsb2NrLy5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy9jbWRsZ3RzdC8uY3ZzaWdub3JlLCBwcm9ncmFtcy9jb250cm9sLy5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy9leHBhbmQvLmN2c2lnbm9yZSwgcHJvZ3JhbXMvbm90ZXBhZC8uY3ZzaWdub3JlLAorCSAgcHJvZ3JhbXMvcHJvZ21hbi8uY3ZzaWdub3JlLCBwcm9ncmFtcy9yZWdlZGl0Ly5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy9yZWdzdnIzMi8uY3ZzaWdub3JlLCBwcm9ncmFtcy9ycGNzcy8uY3ZzaWdub3JlLAorCSAgcHJvZ3JhbXMvcnVuZGxsMzIvLmN2c2lnbm9yZSwgcHJvZ3JhbXMvc3RhcnQvLmN2c2lnbm9yZSwKKwkgIHByb2dyYW1zL3VuaW5zdGFsbGVyLy5jdnNpZ25vcmUsIHByb2dyYW1zL3ZpZXcvLmN2c2lnbm9yZSwKKwkgIHByb2dyYW1zL3djbWQvLmN2c2lnbm9yZSwgcHJvZ3JhbXMvd2luZWJvb3QvLmN2c2lnbm9yZSwKKwkgIHByb2dyYW1zL3dpbmVicm93c2VyLy5jdnNpZ25vcmUsIHByb2dyYW1zL3dpbmVjZmcvLmN2c2lnbm9yZSwKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlLy5jdnNpZ25vcmUsIHByb2dyYW1zL3dpbmVkYmcvLmN2c2lnbm9yZSwKKwkgIHByb2dyYW1zL3dpbmVmaWxlLy5jdnNpZ25vcmUsIHByb2dyYW1zL3dpbmVtZW51YnVpbGRlci8uY3ZzaWdub3JlLAorCSAgcHJvZ3JhbXMvd2luZW1pbmUvLmN2c2lnbm9yZSwgcHJvZ3JhbXMvd2luZXBhdGgvLmN2c2lnbm9yZSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0Ly5jdnNpZ25vcmUsIHByb2dyYW1zL3dpbmV2ZG0vLmN2c2lnbm9yZSwKKwkgIHByb2dyYW1zL3dpbmhlbHAvLmN2c2lnbm9yZSwgcHJvZ3JhbXMvd2ludmVyLy5jdnNpZ25vcmU6CisJV2Ugbm8gbG9uZ2VyIHVzZSB0aGUgLmV4ZS5zcGVjLmMgZmlsZXMuCisKKwkqIHByb2dyYW1zL01ha2Vwcm9nLnJ1bGVzLmluLCBwcm9ncmFtcy9hdml0b29scy9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL2Nsb2NrL01ha2VmaWxlLmluLCBwcm9ncmFtcy9jbWRsZ3RzdC9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL2NvbnRyb2wvTWFrZWZpbGUuaW4sIHByb2dyYW1zL2V4cGFuZC9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL25vdGVwYWQvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3Byb2dtYW4vTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy9yZWdlZGl0L01ha2VmaWxlLmluLCBwcm9ncmFtcy9yZWdzdnIzMi9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3JwY3NzL01ha2VmaWxlLmluLCBwcm9ncmFtcy9ydW5kbGwzMi9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3N0YXJ0L01ha2VmaWxlLmluLCBwcm9ncmFtcy91bmluc3RhbGxlci9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3ZpZXcvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3djbWQvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy93aW5lYm9vdC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2luZWJyb3dzZXIvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy93aW5lY2ZnL01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5lY29uc29sZS9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3dpbmVkYmcvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbmVmaWxlL01ha2VmaWxlLmluLAorCSAgcHJvZ3JhbXMvd2luZW1lbnVidWlsZGVyL01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5lbWluZS9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3dpbmVwYXRoL01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5ldGVzdC9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3dpbmV2ZG0vTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbmhlbHAvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy93aW52ZXIvTWFrZWZpbGUuaW46CisJQnVpbGQgYWxsIHRoZSBwcm9ncmFtcyB3aXRoIHdpbmVnY2MuCisKKwkqIHByb2dyYW1zL3dpbmV0ZXN0L2d1aS5yYzogSXZhbiBMZW8gTXVycmF5LVNtaXRoIDxwdW90aUBpbndpbmQuaXQ+CisJTWFrZSBzdXJlIHRleHQgaXNuJ3QgY3V0IG9mZiBieSB0aGUgY2xvc2UgYnV0dG9uLgorCisJKiBkbGxzL2ltbTMyL2ltbS5jLCBkbGxzL3JzYWJhc2UvbWFpbi5jLCBkbGxzL3NobHdhcGkvYXNzb2MuYywKKwkgIGRsbHMvdXh0aGVtZS9kcmF3LmMsIGRsbHMveDExZHJ2L2tleWJvYXJkLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQXNzb3J0ZWQgc3BlbGxpbmcgYW5kIGNhc2UgZml4ZXMuCisKKwkqIGRsbHMveDExZHJ2L3dpbmRvdy5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUVuYWJsZSByZXNpemluZyBpZiBXU19USElDS0ZSQU1FIGlzIHNldC4KKworCSogZGxscy9vcGVuZ2wzMi9tYWtlX29wZW5nbCwgZGxscy9vcGVuZ2wzMi9vcGVuZ2xfZXh0LmMsCisJICBkbGxzL29wZW5nbDMyL29wZW5nbF9ub3JtLmM6CisJTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwktIHN5bmMgdXAgd2l0aCBsYXRlc3QgT3BlbkdMIHNwZWNpZmljYXRpb25zCisJLSBzb21lIGZpeGVzIGluIG1ha2Vfb3BlbmdsIHRvIHN1cHBvcnQgdGhlIG5ldyB0eXBlcworCisJKiBpbmNsdWRlL3dpbnNvY2syLmg6IEhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUFkZGVkIHByb3RvY29sIHR5cGUgY29uc3RhbnRzLgorCisJKiB0b29scy93aW5laW5zdGFsbDogRGFuIEtlZ2VsIDxkYW5rQGtlZ2VsLmNvbT4KKwlGaXhlZCB0eXBvIGluIHRlc3QgYXJndW1lbnRzLgorCisJKiBNYWtlLnJ1bGVzLmluLCBkbGxzL01ha2V0ZXN0LnJ1bGVzLmluOiBCdWlsZCB0aGUgdGVzdHMgd2l0aCB3aW5lZ2NjLgorCisJKiB0b29scy93aW5lZ2NjL3V0aWxzLmMsIHRvb2xzL3dpbmVnY2MvdXRpbHMuaCwKKwkgIHRvb2xzL3dpbmVnY2Mvd2luZWdjYy5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQWRkIHN1cHBvcnQgZm9yIHBhc3Npbmcgb3B0aW9ucyB0byB3aW5lYnVpbGQgdmlhIC1XYi4KKwlHZW5lcmF0ZSBvbmx5IHRoZSBsb2FkZXIgc2NyaXB0IHdoZW4gZ2l2ZW4ganVzdCB0aGUgLmV4ZS5zby4KKwlBZGQgZnVuY3Rpb24gdG8gZGVsZXRlIGVsZW1lbnQgZnJvbSBhIHN0cmFycmF5LgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYzoKKwlXZSBuZWVkIHRvIHVzZSBBQ19DSEVDS19UT09MIHRvIGNoZWNrIGZvciBjcHAgaW4gb3JkZXIgdG8gc3VwcG9ydAorCWNyb3NzLWNvbXBpbGF0aW9uIHByb3Blcmx5LgorCisJKiBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL2R4ZXJyOC5oLCBpbmNsdWRlL2R4ZXJyOS5oOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWRkZWQgZHhlcnI4LmggYW5kIGR4ZXJyOS5oIGhlYWRlciBmaWxlcy4KKworCSogZGxscy9yYXNhcGkzMi9yYXNhcGkuYywgZGxscy9yYXNhcGkzMi9yYXNhcGkzMi5zcGVjOgorCUNocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlBZGRlZCBzdHViIGZvciBSYXNHZXRFbnRyeVByb3BlcnRpZXNBLgorCisJKiB0b29scy93aW5lZHVtcC9vdXRwdXQuYzoKKwlSZW1vdmVkIG9ic29sZXRlIGRlZmluaXRpb25zIGZyb20gZ2VuZXJhdGVkIG1ha2VmaWxlcy4KKworCSogdG9vbHMvd2luZWdjYy93aW5lZ2NjLmM6CisJUmVtb3ZlZCBvYnNvbGV0ZSAtLWRsbCBvcHRpb24gZnJvbSBsb2FkZXIgc2NyaXB0LgorCUFkZGVkIHN1cHBvcnQgZm9yIFdJTkVCVUlMRCBlbnZpcm9ubWVudCB2YXJpYWJsZS4KKwlEb24ndCBnZW5lcmF0ZSB0aGUgbG9hZGVyIHNjcmlwdCBpZiB0aGUgb3V0cHV0IGZpbGUgbmFtZSBlbmRzIGluCisJLmV4ZS5zby4KKwlGaXhlZCBoYW5kbGluZyBvZiAtTCBvcHRpb24uCisJU3RhdGljIGxpYnJhcmllcyBoYXZlIHRvIGJlIGxpbmtlZCBpbiBhZnRlciBvYmplY3QgZmlsZXMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL3NlY3VyMzIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvc2VjdXIzMi9NYWtlZmlsZS5pbiwgZGxscy9zZWN1cjMyL3NlY3VyMzIuYywKKwkgIGRsbHMvc2VjdXIzMi9zZWN1cjMyLnNwZWMsIGRsbHMvc2VjdXIzMi9zZWN1cjMyX3ByaXYuaCwKKwkgIGRsbHMvc2VjdXIzMi90aHVua3MuYywgZGxscy9zZWN1cjMyL3RodW5rcy5oLCBkbGxzL3NlY3VyMzIvd3JhcHBlci5jLAorCSAgaW5jbHVkZS93aW5lcnJvci5oOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlBZGRlZCBhIHNlY3VyMzIuZGxsIHRoYXQgbG9hZHMgb3RoZXIgU1NQIERMTHMgYW5kIGZvcndhcmRzIGNhbGxzIHRvCisJdGhlbS4KKworCSogZGxscy9jb21jdGwzMi90YWIuYzogVml0YWxpeSBNYXJnb2xlbiA8d2luZS1wYXRjaEBraWV2aW5mby5jb20+CisJQWRqdXN0IGFsbCBkaW1lbnNpb25zIHRvIG1hdGNoIG5hdGl2ZS4KKwlJbnZhbGlkYXRlIHdob2xlIHRhYiBhcmVhIHdoZW4gbXVsdGktbGluZS4KKwlJbiB2ZXJ0aWNhbCB0YWIgcGxhY2VtZW50IGdvIGZyb20gdG9wIHRvIGJvdHRvbS4KKwlGaXggYW5ub3lpbmcgdmlzdWFsIGFydGlmYWN0cy4KKworCSogTWFrZS5ydWxlcy5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGluY2x1ZGUvY29uZmlnLmguaW4sCisJICB0b29scy93aW5lZ2NjL01ha2VmaWxlLmluLCB0b29scy93aW5lZ2NjL3V0aWxzLmMsCisJICB0b29scy93aW5lZ2NjL3V0aWxzLmgsIHRvb2xzL3dpbmVnY2Mvd2luZWdjYy5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJSW5zdHJ1bWVudCB3aW5lZ2NjIHRvIHVzZSB0aGUgY29tcGlsZXJzIGFuZCBvcHRpb25zIGRldGVjdGVkIGF0CisJY29uZmlndXJlIHRpbWUuIEFkZCBzdXBwb3J0IGZvciBwYXJzaW5nL2Zvcm1hdHRpbmcgYSBzdHJpbmcgYXJyYXkKKwlmcm9tL3RvIGEgY2hhciBzdHJpbmcuIEFkZCBvcHRpb24gdG8gZGlzYWJsZSBzaG9ydCB3Y2hhciBzdXBwb3J0IGluCisJd2luZWdjYy4KKworCSogZmlsZXMvZG9zX2ZzLmM6IFJlbW92ZWQgdXNlbGVzcyAjaWZkZWYgU0laRU9GX0xPTkdfTE9ORy4KKworMjAwNC0wMy0wMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9tc3ZpZGVvL21jaXduZC5jLCBkbGxzL3dpbm1tL21jaWF2aS9tY2lhdmkuYywKKwkgIGRsbHMvd2lubW0vbWNpYXZpL21tb3V0cHV0LmMsIGRsbHMvd2lubW0vbWNpYXZpL3ByaXZhdGVfbWNpYXZpLmgsCisJICBkbGxzL3dpbm1tL21jaWF2aS93bmQuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCS0gQWRkIGEgbG90IG9mIHRyYWNlcyB0byBtYWtlIGRlYnVnZ2luZyBhIGJpdCBlYXNpZXIuCisJLSBBZGQgc3VwcG9ydCBmb3IgTUNJV05ERl9OT0FVVE9TSVpFTU9WSUUsIE1DSVdOREZfTk9BVVRPU0laRVdJTkRPVworCSAgYW5kIE1DSVdOREZfTk9FUlJPUkRMRyBmbGFncyBpbiB0aGUgTUNJV25kQ2xhc3MgaW1wbGVtZW50YXRpb24uCisJLSBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgTUNJX1VQREFURSBpbiB0aGUgTUNJQVZJIGRyaXZlciBhbmQgdXNlIGl0IGluCisJICB0aGUgTUNJV25kQ2xhc3MgV01fUEFJTlQgaGFuZGxlci4KKwktIFJlaW1wbGVtZW50IE1DSV9TVE9QIGNvbW1hbmQgaW4gdGhlIE1DSUFWSSBkcml2ZXIgdmlhIGFuIGV2ZW50LgorCS0gQWRkIGEgdGVzdCBwcmV2ZW50aW5nIHRoZSBNQ0lBVkkgZHJpdmVyIHRvIGNyYXNoIGFmdGVyIE1DSV9TRUVLCisJICBiZWhpbmQgYW4gZW5kIG9mIHN0cmVhbS4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvdm5idC52eGQvLmN2c2lnbm9yZSwKKwkgIGRsbHMvdm5idC52eGQvTWFrZWZpbGUuaW4sIGRsbHMvdm5idC52eGQvdm5idC5jLAorCSAgZGxscy92bmJ0LnZ4ZC92bmJ0LnZ4ZC5zcGVjOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwktIFRoZSB2aXJ0dWFsIG5ldGJpb3MgZGV2aWNlIGRyaXZlciBpcyBwcm9wZXJseSBuYW1lZCB2bmJ0LnZ4ZCwgbm90CisJICB2bmIudnhkLgorCS0gTWFrZSBpdCBub3QgZGVwZW5kIG9uIFVOSVggaW5jbHVkZXMuCisKKwkqIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbjogSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJRXhwb3J0IExDX0FMTCBiZWZvcmUgY2FsbGluZyBzZWQuCisKKwkqIGRsbHMvcXVhcnR6L01ha2VmaWxlLmluLCBkbGxzL3F1YXJ0ei9lbnVtcmVnZmlsdGVycy5jLAorCSAgZGxscy9xdWFydHovZmlsdGVybWFwcGVyLmMsIGRsbHMvcXVhcnR6L3F1YXJ0el9wcml2YXRlLmg6CisJQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUltcGxlbWVudGVkIElGaWx0ZXJNYXBwZXIgYW5kIElFbnVtUmVnRmlsdGVycyBpbnRlcmZhY2VzLgorCUZpeGVkIElGaWx0ZXJNYXBwZXIyX0VudW1NYXRjaGluZ0ZpbHRlcnMuCisKKwkqIHByb2dyYW1zL3dpbmV0ZXN0L3NlbmQuYzogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUNvbm5lY3QgdG8gd2luZWhxLm9yZyBieSBpdHMgbmFtZSByYXRoZXIgdGhhbiBieSBpdHMgSVAgYWRkci4KKworCSogcHJvZ3JhbXMvd2luZW1pbmUvRW4ucmMsIHByb2dyYW1zL3dpbmVtaW5lL0VzLnJjLAorCSAgcHJvZ3JhbXMvd2luZW1pbmUvRnIucmMsIHByb2dyYW1zL3dpbmVtaW5lL0l0LnJjLAorCSAgcHJvZ3JhbXMvd2luZW1pbmUvTmwucmMsIHByb2dyYW1zL3dpbmVtaW5lL1B0LnJjLAorCSAgcHJvZ3JhbXMvd2luZW1pbmUvUnUucmMsIHByb2dyYW1zL3dpbmVtaW5lL1NpLnJjLAorCSAgcHJvZ3JhbXMvd2luZW1pbmUvbWFpbi5jLCBwcm9ncmFtcy93aW5lbWluZS9yZXNvdXJjZS5oLAorCSAgcHJvZ3JhbXMvd2luZW1pbmUvcnNyYy5yYzoKKwlPbGVnIFByb2tob3JvdiA8eG9sZWdwcm9AcmJjbWFpbC5ydT4KKwktIGtleSBhY2NlbGVyYXRvcnMgZm9yICJOZXcgR2FtZSIgYW5kIGV4aXQKKwktIGF1dG8gZmxhZyBhZnRlciBzdWNjZXNzZnVsIGdhbWUgdGhvc2UgZW50cmllcyB3aGljaCB3ZXJlIG5vdCBmbGFnZ2VkCisJICBieSBwbGF5ZXIgZHVyaW5nIHRoZSBnYW1lIGhpbXNlbGYKKworCSogaW5jbHVkZS9vYmppZGwuaWRsLCBpbmNsdWRlL3VybG1vbi5oLCBpbmNsdWRlL3VybG1vbi5pZGw6CisJS2V2aW4gS29sdHphdSA8a2V2aW5AcGxvcC5vcmc+CisJRGVmaW5lIE1LU1lTX1VSTE1PTklLRVIuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGxleGVjLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJQWRkIGEgbWlzc2luZyAnXFwnLgorCisJKiBwcm9ncmFtcy93aW5ldGVzdC9zZW5kLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJU3VibWl0IHJlc3VsdHMgdG8gV2luZUhRLgorCisJKiBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmM6IFN0ZXZlIEx1c3RiYWRlciA8c2x1c3RiYWRlckB2ZXJpem9uLm5ldD4KKwlIYW5kbGUgdGhlIGZpcnN0VmlzaWJsZSBpdGVtIGJlaW5nIE5VTEwgaW4KKwlUUkVFVklFV19VcGRhdGVTY3JvbGxCYXJzKCkuCisKKwkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvc3NwaS5oOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJQWRkZWQgc3NwaS5oLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9kM2Q4L3NoYWRlci5jLAorCSAgZGxscy9kaW5wdXQvam95c3RpY2tfbGludXguYywgZGxscy9pcGhscGFwaS9pcHN0YXRzLmMsCisJICBkbGxzL25ldGFwaTMyL25idC5jLCBkbGxzL3dpbmVkM2QvdmVydGV4c2hhZGVyLmMsCisJICBkbGxzL3dpbmVkb3MvcHBkZXYuYywgZGxscy93aW5tbS9qb3lzdGljay9qb3lzdGljay5jLAorCSAgZGxscy93aW5zb2NrL3NvY2tldC5jLCBmaWxlcy9kb3NfZnMuYywgaW5jbHVkZS9jb25maWcuaC5pbiwKKwkgIHNlcnZlci9jaGFuZ2UuYzoKKwlQb3J0YWJpbGl0eSBmaXhlcyBmb3IgTFNCIGNvbXBhdGliaWxpdHkuCisKKwkqIGRsbHMvbmV0YXBpMzIvbmV0YXBpMzIuYywgZGxscy9uZXRhcGkzMi9uZXRhcGkzMi5zcGVjOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlJbXBsZW1lbnQgTmV0cE5ldGJpb3NTdGF0dXNUb0FwaVN0YXR1cy4KKworCSogZGxscy9udGRsbC90aW1lLmM6IFJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlJbiBUSU1FX0dldEJpYXMgbWFrZSBzdXJlIHRoZXJlIGlzIGEgY2FjaGVkIHZhbHVlIGZvciBkYXlsaWdodCBhcworCXdlbGwuCisKKwkqIGRsbHMvb2xlYXV0MzIvb2xlYXV0LmMsIGluY2x1ZGUvb2xlYXV0by5oOgorCU1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJQ29ycmVjdCByZXR1cm4gdHlwZSBvZiBTeXNTdHJpbmdMZW4oKSBhbmQgU3lzU3RyaW5nQnl0ZUxlbigpLgorCisJKiBkbGxzL3NoZWxsMzIvc2hsZXhlYy5jOiBNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCVNldCBlcnJvciBjb2RlIEVSUk9SX0RERV9GQUlMIGlmIHRoZSBEREUgY29ubmVjdGlvbiBmYWlsZWQgaW4KKwlTaGVsbEV4ZWN1dGUoKS4KKworCSogZGxscy9yc2FiYXNlL01ha2VmaWxlLmluLCBkbGxzL3JzYWJhc2UvbWFpbi5jLCB0b29scy93aW5lLmluZjoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJTWFrZSByc2FiYXNlLmRsbCBzZWxmLXJlZ2lzdGVyLgorCisJKiBkbGxzL2NyeXB0MzIvTWFrZWZpbGUuaW4sIGRsbHMvY3J5cHQzMi9jZXJ0LmMsCisJICBkbGxzL2NyeXB0MzIvY3J5cHQzMi5zcGVjLCBkbGxzL2NyeXB0MzIvbWFpbi5jLCBpbmNsdWRlL3dpbmNyeXB0Lmg6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCS0gY29ycmVjdCBzb21lIHByb3RvdHlwZXMsIGFkZCBzb21lIGRlZmluZXMKKwktIHN0dWIgYSBjb3VwbGUgbW9yZSBmdW5jdGlvbnMKKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9sbWNvbnMuaCwgaW5jbHVkZS9sbXNlcnZlci5oLAorCSAgaW5jbHVkZS9sbXNoYXJlLmg6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCURlY2xhcmUgYSBmZXcgbW9yZSBOZXQgYXBpcyBhbmQgY29uc3RhbnRzLgorCisyMDA0LTAyLTI4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBNYWtlZmlsZS5pbjogUmVtb3ZlIHRoZSAkKGRhdGFkaXIpL3dpbmUgZGlyZWN0b3J5IG9uIHVuaW5zdGFsbC4KKworCSogZG9jdW1lbnRhdGlvbi9zYW1wbGVzL3N5c3RlbS5pbmk6IE5vIGxvbmdlciBuZWVkZWQuCisKKwkqIGRsbHMvd2luZXBzL01ha2VmaWxlLmluLCBkbGxzL3dpbmVwcy9nZW5lcmljLnBwZCwKKwkgIGRvY3VtZW50YXRpb24vc2FtcGxlcy9nZW5lcmljLnBwZDoKKwlNb3ZlZCBnZW5lcmljLnBwZCB0byBkbGxzL3dpbmVwcywgYW5kIGluc3RhbGwgaXQgaW4gZGF0YWRpci4KKworCSogZGxscy9tc3dzb2NrL21zd3NvY2suYywgZGxscy9tc3dzb2NrL21zd3NvY2suc3BlYywKKwkgIGRsbHMvd2luc29jay9hc3luYy5jLCBkbGxzL3dpbnNvY2svc29ja2V0LmMsIGluY2x1ZGUvbXN3c29jay5oLAorCSAgaW5jbHVkZS93aW5zb2NrLmg6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJTW9yZSBzdHVicyBhbmQgYmV0dGVyIGhlYWRlcnMgZm9yIG1zd3NvY2suZGxsLgorCisJKiBkbGxzL3NobHdhcGkvb3JkaW5hbC5jLCBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkIFNITWVudUluZGV4RnJvbUlEIGFuZCBTSENvQ3JlYXRlSW5zdGFuY2VBQy4KKworMjAwNC0wMi0yNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogdG9vbHMvd2luZWluc3RhbGwsIHdpbmVkZWZhdWx0LnJlZzoKKwlVc2UgdGhlIG5ldyAuaW5mIHNjcmlwdCBpbnN0ZWFkIG9mIHdpbmVkZWZhdWx0LnJlZy4KKwlSZW1vdmVkIHNvbWUgb2Jzb2xldGUgY29kZS4KKworCSogdG9vbHMvTWFrZWZpbGUuaW4sIHRvb2xzL3dpbmUuaW5mOgorCUFkZGVkIHdpbmUuaW5mIHNldHVwYXBpIHNjcmlwdCB0byBzZXR1cCB0aGUgaW5pdGlhbCBXaW5lIHJlZ2lzdHJ5CisJKGJhc2VkIG9uIHRoZSB3b3JrIG9mIENocmlzIE1vcmdhbiBhbmQgQnJpYW4gVmluY2VudCkuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL21zcmxlMzIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbXNybGUzMi9NYWtlZmlsZS5pbiwgZGxscy9tc3JsZTMyL21zcmxlMzIuYywKKwkgIGRsbHMvbXNybGUzMi9tc3JsZTMyLnNwZWMsIGRsbHMvbXNybGUzMi9tc3JsZV9EZS5yYywKKwkgIGRsbHMvbXNybGUzMi9tc3JsZV9Fbi5yYywgZGxscy9tc3JsZTMyL21zcmxlX0VzLnJjLAorCSAgZGxscy9tc3JsZTMyL21zcmxlX0ZyLnJjLCBkbGxzL21zcmxlMzIvbXNybGVfSXQucmMsCisJICBkbGxzL21zcmxlMzIvbXNybGVfTmwucmMsIGRsbHMvbXNybGUzMi9tc3JsZV9QdC5yYywKKwkgIGRsbHMvbXNybGUzMi9tc3JsZV9SdS5yYywgZGxscy9tc3JsZTMyL21zcmxlX1NpLnJjLAorCSAgZGxscy9tc3JsZTMyL21zcmxlX3ByaXZhdGUuaCwgZGxscy9tc3JsZTMyL3JzcmMucmM6CisJTW92ZWQgbXNybGUzMiB0byB0aGUgdG9wLWxldmVsIGRsbHMgZGlyZWN0b3J5LgorCisJKiBkbGxzL2ltbTMyL2ltbS5jLCBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC9tb2R1bGUuYywKKwkgIGRsbHMvbmV0YXBpMzIvd2tzdGEuYywgZGxscy9vbGVhdXQzMi9zYWZlYXJyYXkuYywKKwkgIGRsbHMvb2xlYXV0MzIvdmFyZm9ybWF0LmMsIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jLAorCSAgZGxscy9yYXNhcGkzMi9yYXNhcGkzMi5zcGVjLCBkbGxzL3dpbmVwcy93aW5lcHMuc3BlYywKKwkgIGRsbHMvd2luaW5ldC9uZXRjb25uZWN0aW9uLmMsIGRsbHMveDExZHJ2L3gxMWRydi5zcGVjLAorCSAgZGxscy94MTFkcnYveGltLmM6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJRml4ZWQgc29tZSBpc3N1ZXMgZm91bmQgYnkgd2luYXBpX2NoZWNrLgorCisJKiBkbGxzL3NoZWxsMzIvc3lzdHJheS5jOiBPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlGaXhlZCBpY29uIGxlYWsuCisKKwkqIGRsbHMvd2lubW0vd2lubW0uYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlDbGVhbnVwIHByZXBhcmUvdW5wcmVwYXJlIGhlYWRlciBwYXJhbWV0ZXIgY2hlY2tpbmcuCisJRml4IG1pZGlJbkdldERldkNhcHNXLgorCisJKiBpbmNsdWRlL2Rzb3VuZC5oOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFkZGVkIG1pc3NpbmcgI2RlZmluZSBmb3IgRFNfSU5DT01QTEVURS4KKworCSogdG9vbHMvd2luYXBpL3dpbjMyLmFwaTogUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJQVBJIGZpbGVzIHVwZGF0ZS4KKworCSogZGxscy9rZXJuZWwvYWN0Y3R4LmMsIGluY2x1ZGUvd2luYmFzZS5oOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUFkZGVkIHByb3BlciBoZWFkZXJzIGZvciB0aGUgKkFjdEN0eCogZnVuY3Rpb25zLgorCisJKiBpbmNsdWRlL3dpbm50Lmg6IFBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUFkZGVkIG1hY3JvIERFRkFVTFRfVU5SRUFDSEFCTEUuCisKKwkqIGRsbHMvbXN2aWRlby9tY2l3bmQuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggYSB0eXBvIGluIGEgY29tbWVudC4KKworCSogdG9vbHMvd2luZW1ha2VyLCB0b29scy93aW5lbWFrZXIubWFuOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJR2VuZXJhdGUgYSBzaW1wbGUgTWFrZWZpbGUgdGhhdCB1c2VzIHdpbmVnY2MgdG8gY29tcGlsZS4KKwlObyBsb25nZXIgZ2VuZXJhdGUgYSBjb25maWd1cmUgc2NyaXB0LCB0aGF0J3MgcHJvamVjdCBwb2xpY3kuCisKKwkqIGRsbHMvY29tY2F0L3JlZ3N2ci5jLCBkbGxzL2RtaW1lL3JlZ3N2ci5jLCBkbGxzL2Rtc3R5bGUvcmVnc3ZyLmMsCisJICBkbGxzL29sZTMyL3JlZ3N2ci5jLCBkbGxzL3NoZWxsMzIvcmVnc3ZyLmM6CisJU3luYyBzb21lIG9mIHRoZSBkbGwgcmVnaXN0cmF0aW9ucyB3aXRoIHRoZSBjb250ZW50cyBvZgorCXdpbmVkZWZhdWx0LnJlZy4KKworCSogZGxscy9zZXR1cGFwaS9pbnN0YWxsLmM6CisJU1BJTlNUX1VOUkVHU1ZSIG11c3QgdXNlIHRoZSBVbnJlZ2lzdGVyRGxscyBzZWN0aW9uLCBub3QgdGhlCisJUmVnaXN0ZXJEbGxzIG9uZS4KKworCSogZGxscy9zZXR1cGFwaS9pbnN0YWxsLmMsIGRsbHMvc2V0dXBhcGkvc2V0dXBhcGkuc3BlYywKKwkgIGRsbHMvc2V0dXBhcGkvc2V0dXB4X21haW4uYywgZGxscy9zZXR1cGFwaS9zdHVicy5jLAorCSAgaW5jbHVkZS9zZXR1cGFwaS5oOgorCUltcGxlbWVudGVkIEluc3RhbGxIaW5mU2VjdGlvbiAoYmFzZWQgb24gYSBwYXRjaCBieSBDaHJpcyBNb3JnYW4pLgorCisJKiBkbGxzL2FkdmFwaTMyL2NyeXB0LmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJLSBSZW1vdmUgZHVwbGljYXRlIGZyZWUuCisJLSBSZW1vdmUgZGVidWcgbWVzc2FnZSB0aGF0IGR1bXBzIGludmFsaWQgc3RyaW5nLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbW1jdHJsLmMsIGRsbHMvY29tY3RsMzIvZHJhZ2xpc3QuYywKKwkgIGRsbHMvY29tY3RsMzIvZmxhdHNiLmMsIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmMsCisJICBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jLCBkbGxzL2NvbWN0bDMyL3Ntb290aHNjcm9sbC5jOgorCVJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJVXBkYXRlIGNvbW1vbiBjb250cm9sIGZ1bmN0aW9uIGRvY3VtZW50YXRpb24uCisKKwkqIGRsbHMvbnRkbGwvcnRsc3RyLmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJVXBkYXRlIGRvY3VtZW50YXRpb24gZm9yIFJ0bCBmdW5jdGlvbnMuCisKKwkqIGRsbHMvdXh0aGVtZS9kcmF3LmM6IEtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUltcGxlbWVudCBHZXRUaGVtZVRleHRNZXRyaWNzLgorCisJKiBkbGxzL3JwY3J0NC9ycGNfYmluZGluZy5jLCBkbGxzL3JwY3J0NC9ycGNfbWVzc2FnZS5jLAorCSAgZGxscy9ycGNydDQvcnBjX3NlcnZlci5jOgorCVJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJLSBGaXggYSBiYWQgdXNlIG9mIEhlYXBSZWFsbG9jLgorCS0gRml4IGVycm9yIHJldHVybiBjb2Rlcy4KKwktIEltcHJvdmUgdHJhY2VzLgorCisJKiBkbGxzL2NvbWN0bDMyL3JlYmFyLmM6IE1hdHQgQ2hhcG1hbiA8bWF0dGhld2NAY3NlLnVuc3cuZWR1LmF1PgorCVJFQkFSX0xheW91dCBzaG91bGQgcmVzcGVjdCB0aGUgbWluaW11bSBzaXplIG9mIGJhbmRzIGV2ZW4gd2hlbgorCVJCQlNfRklYRURTSVpFIGlzIG5vdCBzZXQuCisKKwkqIGRsbHMvbXN2aWRlby9tY2l3bmQuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlVc2Ugc29tZSBoZXVyaXN0aWNzIHRvIGRlY2lkZSB3aGF0IHR5cGUgb2YgTUNJV05ETV9PUEVOIG1lc3NhZ2UgdG8KKwl1c2UuCisKKwkqIGRsbHMvc2V0dXBhcGkvaW5zdGFsbC5jLCBkbGxzL3NldHVwYXBpL3BhcnNlci5jLAorCSAgZGxscy9zZXR1cGFwaS9xdWV1ZS5jLCBkbGxzL3NldHVwYXBpL3NldHVwYXBpX3ByaXZhdGUuaCwKKwkgIGluY2x1ZGUvc2V0dXBhcGkuaDoKKwlBZGRlZCBzdXBwb3J0IGZvciB0aGUgUmVnaXN0ZXJEbGxzIHNlY3Rpb24gKHBhcnRseSBiYXNlZCBvbiBhIHBhdGNoIGJ5CisJQ2hyaXMgTW9yZ2FuKS4KKworCSogZGxscy9udGRsbC90aW1lLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJQ2FjaGUgdGhlIHJlc3VsdCBvZiBUSU1FX0dldEJpYXMgZm9yIHVwIHRvIDEgc2Vjb25kLgorCisJKiBkbGxzL2NvbWN0bDMyL3JlYmFyLmM6IE1hdHQgQ2hhcG1hbiA8bWF0dGhld2NAY3NlLnVuc3cuZWR1LmF1PgorCVJFQkFSX1Nob3dCYW5kIG5lZWRzIHRvIGZvcmNlIGxheW91dCBvZiB0aGUgcmViYXIgYWZ0ZXIgYSBiYW5kIGlzCisJaGlkZGVuL3VuaGlkZGVuLgorCisJKiBkbGxzL3dpbm1tL21jaWF2aS93bmQuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb252ZXJ0IE1DSUFWSSB3aW5kb3cgc3VwcG9ydCB0byB1bmljb2RlLgorCUFsbG93IG11bHRpcGxlIHNpbXVsdGFuZW91cyBNQ0lBVkkgZHJpdmVyIGluc3RhbmNlcy4KKworCSogdG9vbHMvd2luZWdjYy93aW5ld3JhcC5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlbW92ZSB0aGUgbm8gbG9uZ2VyIHVzZWQgd2luZXdyYXAgdXRpbGl0eS4KKworMjAwNC0wMi0yNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwvc3luYy5jLCBkbGxzL2tlcm5lbC9zeXNsZXZlbC5jLAorCSAgZGxscy9tc25ldDMyL21zbmV0X21haW4uYywgZGxscy93aW50cnVzdC93aW50cnVzdF9tYWluLmMsCisJICB3aW5kb3dzL3VzZXIuYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlbW92ZSB0aGUgd2luMzIgZGVidWcgY2hhbm5lbCwgbWlzYyBjbGVhbnVwIG9mIGRlYnVnZ2luZyBjb2RlLgorCisJKiBkb2N1bWVudGF0aW9uL3Rlc3Rpbmcuc2dtbDogSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJRG9jdW1lbnQgYnVpbGRpbmcgdGVzdHMgd2l0aCBNaW5HVy4KKworCSogZGxscy9rZXJuZWwvdGltZS5jOiBNaWtlIEhlYXJuIDxtaEBjb2Rld2VhdmVycy5jb20+CisJVXNlIHRpbWUgcmF0aGVyIHRoYW4gd2luMzIgZGVidWcgY2hhbm5lbCBmb3Iga2VybmVsIHRpbWUgZnVuY3Rpb25zLgorCisJKiB3aW5kb3dzL2RjZS5jOiBNaWtlIEhlYXJuIDxtaEBjb2Rld2VhdmVycy5jb20+CisJQWRkIGEgY29tbWVudCB0byBleHBsYWluIHRoZSBMb2NrV2luZG93VXBkYXRlIHNpdHVhdGlvbi4KKworCSogaW5jbHVkZS9kaWdpdGFsdi5oOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCBBL1cgbWFwcGluZyBmb3IgTUNJX0RHVl9XSU5ET1dfUEFSTVMuCisKKwkqIHRvb2xzL3dpbmVnY2MvdXRpbHMuYywgdG9vbHMvd2luZWdjYy91dGlscy5oLAorCSAgdG9vbHMvd2luZWdjYy93aW5lZ2NjLmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGb3Igc3RhdGljIGxpYnMgKC5hKSB3ZSBuZWVkIHRvIHBhc3MgdGhlIGFjdHVhbCBmaWxlbmFtZSB0byB3aW5lYnVpbGQsCisJbm90IGEgLWwgc3dpdGNoLiBEbyBub3QgcmVtb3ZlIHRoZSBmaWxlIGV4dGVuc2lvbiB0byBnZXQgdG8gdGhlIGJhc2UKKwluYW1lIGlmIGl0J3Mgbm90IC5leGUgb3IgLmV4ZS5zby4gTGluayBzaGVsbDMyIGJ5IGRlZmF1bHQgZm9yIEdVSQorCXByb2dyYW1zLiBGaXggcGFyc2luZyBvZiBvcHRpb25zIHdpdGggYXJndW1lbnRzLgorCisJKiBkbGxzL3dpbm1tL3dpbm1tLmM6IFNlYW4gWW91bmcgPHNlYW5AbWVzcy5vcmc+CisJQ2hlY2sgdVNpemUgcGFyYW1ldGVyIGluIHdhdmVPdXRVbnByZXBhcmVIZWFkZXIgYW5kCisJd2F2ZU91dFByZXBhcmVIZWFkZXIuCisKKwkqIGRsbHMvb2xlYXV0MzIvb2xlYXV0MzIuc3BlYywgZGxscy9vbGVhdXQzMi90ZXN0cy92YXJ0ZXN0LmMsCisJICBkbGxzL29sZWF1dDMyL3ZhcmlhbnQuYzoKKwlGYWJpYW4gQ2VuZWRlc2UgPENlbmVkZXNlQGluZGVsLmNoPgorCVZhclJvdW5kIGltcGxlbWVudGF0aW9uICh3aXRob3V0IHR5cGUgREVDSU1BTCB5ZXQpIHdpdGggdGVzdCBmdW5jdGlvbi4KKworCSogZGxscy9udGRsbC90aW1lLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJQ2FsbCBUSU1FX0dldEJpYXMgcmF0aGVyIHRoYW4gUnRsUXVlcnlUaW1lWm9uZUluZm8gaWYgd2UncmUgb25seQorCWludGVyZXN0ZWQgaW4gdGhlIGJpYXMgLSBpdCdzIGZhc3Rlci4KKworMjAwNC0wMi0yNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwvbG9jYWxlLmMsIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jLCBkbGxzL3dpbmVwcy9pbml0LmM6CisJRml4ZWQgY2FsbGVycyBvZiBHZXRMb2NhbGVJbmZvVyB0byB1c2UgdGhlIGNvcnJlY3QgYnVmZmVyIHNpemUuCisKKwkqIGRsbHMva2VybmVsL3Z4ZC5jOgorCVJldHVybiB0aGUgcmlnaHQgZXJyb3IgY29kZSBmb3Igbm9uLWV4aXN0ZW50IFZ4RCBtb2R1bGVzLgorCisJKiBkbGxzL2RtYmFuZC9iYW5kLmMsIGRsbHMvZG1iYW5kL2JhbmR0cmFjay5jLAorCSAgZGxscy9kbWJhbmQvZG1iYW5kX21haW4uYywgZGxscy9kbWJhbmQvZG1iYW5kX3ByaXZhdGUuaCwKKwkgIGRsbHMvZG1jb21wb3MvY2hvcmRtYXAuYywgZGxscy9kbWNvbXBvcy9jaG9yZG1hcHRyYWNrLmMsCisJICBkbGxzL2RtY29tcG9zL2NvbXBvc2VyLmMsIGRsbHMvZG1jb21wb3MvZG1jb21wb3NfbWFpbi5jLAorCSAgZGxscy9kbWNvbXBvcy9kbWNvbXBvc19wcml2YXRlLmgsIGRsbHMvZG1jb21wb3Mvc2lnbnBvc3R0cmFjay5jLAorCSAgZGxscy9kbWltZS9hdWRpb3BhdGguYywgZGxscy9kbWltZS9kbWltZV9tYWluLmMsCisJICBkbGxzL2RtaW1lL2RtaW1lX3ByaXZhdGUuaCwgZGxscy9kbWltZS9ncmFwaC5jLAorCSAgZGxscy9kbWltZS9seXJpY3N0cmFjay5jLCBkbGxzL2RtaW1lL21hcmtlcnRyYWNrLmMsCisJICBkbGxzL2RtaW1lL3BhcmFtY29udHJvbHRyYWNrLmMsIGRsbHMvZG1pbWUvcGF0dGVybnRyYWNrLmMsCisJICBkbGxzL2RtaW1lL3BlcmZvcm1hbmNlLmMsIGRsbHMvZG1pbWUvc2VnbWVudC5jLAorCSAgZGxscy9kbWltZS9zZWdtZW50c3RhdGUuYywgZGxscy9kbWltZS9zZWd0cmlnZ2VydHJhY2suYywKKwkgIGRsbHMvZG1pbWUvc2VxdHJhY2suYywgZGxscy9kbWltZS9zeXNleHRyYWNrLmMsCisJICBkbGxzL2RtaW1lL3RlbXBvdHJhY2suYywgZGxscy9kbWltZS90aW1lc2lndHJhY2suYywKKwkgIGRsbHMvZG1pbWUvdG9vbC5jLCBkbGxzL2RtaW1lL3dhdmV0cmFjay5jLCBkbGxzL2RtbG9hZGVyL2NvbnRhaW5lci5jLAorCSAgZGxscy9kbWxvYWRlci9kbWxvYWRlcl9tYWluLmMsIGRsbHMvZG1sb2FkZXIvZG1sb2FkZXJfcHJpdmF0ZS5oLAorCSAgZGxscy9kbWxvYWRlci9sb2FkZXIuYywgZGxscy9kbWxvYWRlci9sb2FkZXJzdHJlYW0uYywKKwkgIGRsbHMvZG1zY3JpcHQvZG1zY3JpcHRfbWFpbi5jLCBkbGxzL2Rtc2NyaXB0L2Rtc2NyaXB0X3ByaXZhdGUuaCwKKwkgIGRsbHMvZG1zY3JpcHQvcmVnc3ZyLmMsIGRsbHMvZG1zY3JpcHQvc2NyaXB0LmMsCisJICBkbGxzL2Rtc2NyaXB0L3NjcmlwdHRyYWNrLmMsIGRsbHMvZG1zdHlsZS9hdWRpdGlvbnRyYWNrLmMsCisJICBkbGxzL2Rtc3R5bGUvY2hvcmR0cmFjay5jLCBkbGxzL2Rtc3R5bGUvY29tbWFuZHRyYWNrLmMsCisJICBkbGxzL2Rtc3R5bGUvZG1zdHlsZV9tYWluLmMsIGRsbHMvZG1zdHlsZS9kbXN0eWxlX3ByaXZhdGUuaCwKKwkgIGRsbHMvZG1zdHlsZS9tb3RpZnRyYWNrLmMsIGRsbHMvZG1zdHlsZS9tdXRldHJhY2suYywKKwkgIGRsbHMvZG1zdHlsZS9zdHlsZS5jLCBkbGxzL2Rtc3R5bGUvc3R5bGV0cmFjay5jLAorCSAgZGxscy9kbXN5bnRoL2Rtc3ludGhfbWFpbi5jLCBkbGxzL2Rtc3ludGgvZG1zeW50aF9wcml2YXRlLmgsCisJICBkbGxzL2Rtc3ludGgvc3ludGguYywgZGxscy9kbXN5bnRoL3N5bnRoc2luay5jLCBkbGxzL2RtdXNpYy9idWZmZXIuYywKKwkgIGRsbHMvZG11c2ljL2Nsb2NrLmMsIGRsbHMvZG11c2ljL2NvbGxlY3Rpb24uYywgZGxscy9kbXVzaWMvZG11c2ljLmMsCisJICBkbGxzL2RtdXNpYy9kbXVzaWNfbWFpbi5jLCBkbGxzL2RtdXNpYy9kbXVzaWNfcHJpdmF0ZS5oLAorCSAgZGxscy9kbXVzaWMvZG93bmxvYWQuYywgZGxscy9kbXVzaWMvZG93bmxvYWRlZGluc3RydW1lbnQuYywKKwkgIGRsbHMvZG11c2ljL2luc3RydW1lbnQuYywgZGxscy9kbXVzaWMvcG9ydC5jLAorCSAgZGxscy9kbXVzaWMvcG9ydGRvd25sb2FkLmMsIGRsbHMvZG11c2ljL3RocnUuYywgZGxscy9kc3dhdmUvZHN3YXZlLmMsCisJICBkbGxzL2Rzd2F2ZS9kc3dhdmVfbWFpbi5jLCBkbGxzL2Rzd2F2ZS9kc3dhdmVfcHJpdmF0ZS5oLAorCSAgaW5jbHVkZS9kbXVzaWNpLmg6CisJUm9rIE1hbmRlbGpjIDxyb2subWFuZGVsamNAZ2ltYi5vcmc+CisJQWRkZWQgbmFtZSByZXNvbHZpbmcgZm9yIENMU0lEcywgSUlEcywgR1VJRHMgYW5kIHJldHVybiBjb2Rlcy4KKworCSogZGxscy9vcGVuZ2wzMi93Z2wuYzogTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwlIYW5kbGUgcHJvcGVyIHN1YnN0cmFjdGlvbiBvZiB1bnNpZ25lZCBudW1iZXJzLgorCisJKiBERVZFTE9QRVJTLUhJTlRTOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUFkZCBWTU0gVnhELgorCisJKiBkbGxzL250ZGxsL3RpbWUuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlTcGVlZCB1cCBSdGxUaW1lRmllbGRzVG9UaW1lLgorCisJKiBwcm9ncmFtcy93aW5lZGJnL21lbW9yeS5jOiBNYXR0IENoYXBtYW4gPG1hdHRoZXdjQGNzZS51bnN3LmVkdS5hdT4KKwlGaXggZHVtcGluZyBvZiBVbmljb2RlIHN0cmluZ3MuCisKKwkqIGRsbHMvY29tY3RsMzIvcHJvcHNoZWV0LmM6IE1hdHQgQ2hhcG1hbiA8bWF0dGhld2NAY3NlLnVuc3cuZWR1LmF1PgorCUZpeCBhIHJlZW50cmFuY3kgaXNzdWUgaW4gdGhlIHByb3BlcnR5IHNoZWV0IGltcGxlbWVudGF0aW9uIGJ5IG5vdAorCWNhY2hpbmcgYSBwb2ludGVyIHRoYXQgY2FuIGNoYW5nZS4KKworCSogZGxscy9vbGVhdXQzMi92YXJ0eXBlLmM6IEZhYmlhbiBDZW5lZGVzZSA8Q2VuZWRlc2VAaW5kZWwuY2g+CisJTm8gc2lnbiBleHRlbnNpb24gZm9yIG5lZ2F0aXZlIHZhbHVlcy4KKworMjAwNC0wMi0yNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9udGRsbC9sb2Fkb3JkZXIuYzoKKwlUd2VhayB0aGUgbG9hZCBvcmRlciBhbGdvcml0aG0gYSBiaXQgdG8gYmV0dGVyIHJlZmxlY3QgdGhlIHVzZXIncworCWludGVudGlvbiwgYnkgdGFraW5nIGludG8gYWNjb3VudCBub24td2lsZGNhcmQgbW9kdWxlIHNwZWNpZmljYXRpb25zCisJZm9yIGFsbCBkaXJlY3Rvcmllcy4KKworCSogZGxscy9udGRsbC9sb2FkZXIuYzoKKwlSZXR1cm4gcmlnaHQgYXdheSBmcm9tIGltcG9ydF9kbGwgd2hlbiBhIGRsbCBpcyBub3QgZm91bmQgdG8gYXZvaWQKKwlkaXNwbGF5aW5nIG1hbnkgdXNlbGVzcyBmdW5jdGlvbiBlcnJvcnMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjOgorCU1vcmUgcm9idXN0IGZpeCBmb3IgdGhlIGFydHNjLWNvbmZpZyBicmVha2FnZS4KKworCSogcHJvZ3JhbXMvd2luZWRiZy9lbGYuYzogWW9yaWNrIEhhcmR5IDx5aEBtZXRyb3dlYi5jby56YT4KKwlVc2UgU0hOX1VOREVGIGluc3RlYWQgb2YgU1ROX1VOREVGIHRvIHNwZWNpZnkgdW5kZWZpbmVkIHNlY3Rpb24KKwlpbmRleC4KKworCSogZGxscy93aW5tbS93aW5lb3NzL21pZGkuYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCVJlcGxhY2VkIHRoZSB0aW1lciBhbmQgaXRzIGNhbGxiYWNrIGJ5IGEgdGhyZWFkIGZvciByZWNlaXZpbmcgbWlkaSBpbgorCWV2ZW50cy4KKwlIYW5kbGVkIERSVk1fRVhJVCBpbiBPU1NfbWlkTWVzc2FnZS4KKworCSogZGxscy9udGRsbC9zaWduYWxfaTM4Ni5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVNldCBTQV9SRVNUQVJUIHNpZ2FjdGlvbiBmbGFnIGZvciBvdGhlciBCU0RzIGJlc2lkZSBOZXRCU0QuCisKKwkqIGRsbHMvb3BlbmdsMzIvd2dsLmM6IExpb25lbCBVbG1lciA8bGlvbmVsLnVsbWVyQGZyZWUuZnI+CisJLSBmaXggJ2VtcHR5JyBnbHlwaHMKKwktIGltcGxlbWVudCBwcm9wZXIgYml0bWFwIGNvb3JkaW5hdGVzCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGZpbGVzL2RpcmVjdG9yeS5jLCBmaWxlcy9kb3NfZnMuYywKKwkgIGZpbGVzL2ZpbGUuYywgaW5jbHVkZS9maWxlLmg6CisJUmVtb3ZlZCBzb21lIG9mIHRoZSBET1MgZGV2aWNlIGhhY2tzIChiYXNlZCBvbiBhIHBhdGNoIGJ5IEVyaWMKKwlQb3VlY2gpLgorCisJKiBkbGxzL21zdmNydC9zY2FuZi5oOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlJbXBsZW1lbnQgSTY0IG1vZGlmaWVyLCBtb3ZlIFdBUk4gdG8gVFJBQ0UuCisKKwkqIGRsbHMvd2luZWRvcy9pbnQyMS5jOgorCUNoYW5nZWQgaGFuZGxpbmcgb2Ygc3BlY2lhbCBET1MgZGV2aWNlcyB0byB1c2UgcmVhbCBmaWxlIGhhbmRsZXMKKwlpbnN0ZWFkIG9mIHRoZSBzZXJ2ZXIgZGV2aWNlIG9iamVjdC4KKworCSogZGxscy9rZXJuZWwvc3luYy5jLCBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsCisJICBzZXJ2ZXIvbmFtZWRfcGlwZS5jLCBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvdHJhY2UuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJIFBhc3MgaW5oZXJpdCBoYW5kbGUgZmxhZyBwcm9wZXJseSBmb3IgQ3JlYXRlTmFtZWRQaXBlLgorCisJKiBkbGxzL2NvbW1kbGcvY2RsZ19JdC5yYzogSXZhbiBMZW8gTXVycmF5LVNtaXRoIDxwdW90aUBpbndpbmQuaXQ+CisJSXRhbGlhbiB1cGRhdGUuCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbHRpcHMuYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUFjY2VwdCBudWxsIG1vZHVsZSBpbnN0YW5jZSwgTG9hZHN0cmluZyBjYW4gaGFuZGxlIGl0LgorCisJKiBkbGxzL3dpbm1tL3dpbm1tLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlGaXhlZCB3YXZlSW5HZXREZXZDYXBzVy4KKworCSogZGxscy9udGRsbC90aW1lLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJU3BlZWQgdXAgUnRsVGltZVRvVGltZUZpZWxkcy4KKworCSogcHJvZ3JhbXMvdW5pbnN0YWxsZXIvbWFpbi5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQ29udmVydCBhcHAgZGVzY3JpcHRpb24gZmllbGQgdG8gdW5pY29kZSBhbmQgdXNlIENQX1VOSVhDUCB3aGVuCisJcHJpbnRpbmcgaXQgb24gdGhlIGNvbnNvbGUuCisKKwkqIHRvb2xzL3dpbmVnY2MvLmN2c2lnbm9yZSwgdG9vbHMvd2luZWdjYy9NYWtlZmlsZS5pbiwKKwkgIHRvb2xzL3dpbmVnY2MvdXRpbHMuYywgdG9vbHMvd2luZWdjYy91dGlscy5oLAorCSAgdG9vbHMvd2luZWdjYy93aW5lZ2NjLmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlNZXJnZSB3aW5ld3JhcCBpbnRvIHdpbmVnY2MuIE1hbnkgY2xlYW51cHMuCisKKwkqIHByb2dyYW1zL3dpbmVkYmcvZWxmLmMsIHByb2dyYW1zL3dpbmVkYmcvbW9kdWxlLmM6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJLSBmaXhlZCBFTEYgbW9kdWxlcycgc2l6ZSBpbmZvcm1hdGlvbgorCS0gZml4ZWQgY29udGFpbmVycycgdGVzdHMKKworCSogZGxscy93aW5lZG9zL3BwZGV2LmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCUlPX3BwX291dHA6IEFsbG93IHRvIHN3aXRjaCBkaXJlY3Rpb24gb2YgdGhlIHByaW50ZXIgcG9ydC4KKworCSogZGxscy9jb21jdGwzMi9pbWFnZWxpc3QuYzoKKwlNYXhpbWUgQmVsbGVuZ+kgPG1heGltZS5iZWxsZW5nZUBsYXBvc3RlLm5ldD4KKwlGaXggYSByZWdyZXNzaW9uIGluIEltYWdlTGlzdF9DcmVhdGUgd2hlbiBjcmVhdGluZyBhIGRpYnNlY3Rpb24uCisKKwkqIGRsbHMvb3BlbmdsMzIvd2dsLmM6IExpb25lbCBVbG1lciA8bGlvbmVsLnVsbWVyQGZyZWUuZnI+CisJVXNlIHRoZSBOVUxMIG1hdHJpeCBpbnN0ZWFkIG9mIGdpdmluZyBhIGJhZGx5IGZpbGxlZCBpZGVudGl0eSBtYXRyaXguCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbHBhdGguYzogS2V2aW4gS29sdHphdSA8a2V2aW5AcGxvcC5vcmc+CisJRmlsbCB1bnVzZWQgZ2FwIHRvIGZpeCBsb29rdXBzIHBhc3QgQ1NJRExfQ09OTkVDVElPTlMuCisKKzIwMDQtMDItMjEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2tlcm5lbC92eGQuYywKKwkgIGRsbHMvdm1tLnZ4ZC8uY3ZzaWdub3JlLCBkbGxzL3ZtbS52eGQvTWFrZWZpbGUuaW4sCisJICBkbGxzL3ZtbS52eGQvdm1tLmMsIGRsbHMvdm1tLnZ4ZC92bW0udnhkLnNwZWMsCisJICBkbGxzL3Z3aW4zMi52eGQvdndpbjMyLmMsIGRsbHMvdndpbjMyLnZ4ZC92d2luMzIudnhkLnNwZWM6CisJQWxsb3cgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBWeERDYWxsIGVudHJ5IHBvaW50cyB0byBiZSBtb3ZlZCB0bworCXNlcGFyYXRlIFZ4RCBkbGxzLgorCU1vdmVkIFZNTSBjb2RlIHRvIGEgc2VwYXJhdGUgZGxsLCBhbmQgcmVtb3ZlZCB0aGUgcmVnaXN0cnkgY2FsbHMgdG8KKwlnZXQgcmlkIG9mIHRoZSBjb2RlIGR1cGxpY2F0aW9uIHdpdGggYWR2YXBpMzIuCisKKwkqIHByb2dyYW1zL3dpbmV0ZXN0L2d1aS5jLCBwcm9ncmFtcy93aW5ldGVzdC9tYWluLmMsCisJICBwcm9ncmFtcy93aW5ldGVzdC9zZW5kLmM6CisJRmVyZW5jIFdhZ25lciA8d2ZlcmlAYWZhdmFudC5lbHRlLmh1PgorCVJlcG9ydCB0aGUgZXJyb3Igc2VudCBieSB0aGUgQ0dJIHNjcmlwdC4KKwlNYWtlIHByb2dyZXNzIGJhciBzZWxlY3Rpb24gZXhwbGljaXQuCisKKwkqIHRvb2xzL3dpbmVnY2Mvd2luZWdjYy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJld3JpdGUgd2luZWdjYyBpbiBwcmVwYXJhdGlvbiBmb3IgbWVyZ2luZyB3aXRoIHdpbmV3cmFwLgorCVdlIG5vdyBoYXZlIGNvbXByZWhlbnNpdmUgKGFuZCBjb3JyZWN0KSBvcHRpb25zIHBhcnNpbmcuCisKKwkqIGRsbHMvc2hkb2N2dy9zaGRvY3Z3X21haW4uYzogTWlrZSBIZWFybiA8bWhAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudCBTSERPQ1ZXX0RsbEdldFZlcnNpb24uIEl0IHJldHVybnMgdGhlIHNhbWUgaW5mb3JtYXRpb24gYXMKKwl0aGUgV2luOTgvSUU2IGltcGxlbWVudGF0aW9uIGRvZXMuCisKKzIwMDQtMDItMjAgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY2FwaTIwMzIvY2FwMjB3eHguYywgZGxscy9jYXBpMjAzMi9jYXAyMHd4eC5oLAorCSAgZGxscy9kZHJhdy9tYWluLmMsIGRsbHMvZ2x1dDMyL2dsdXQuYywKKwkgIGRsbHMvaXBobHBhcGkvdGVzdHMvaXBobHBhcGkuYywgZGxscy9rZXJuZWwvcHJvY2Vzcy5jLAorCSAgZGxscy9rZXJuZWwvdGFzay5jLCBkbGxzL2tlcm5lbC90aHVuay5jLCBkbGxzL21zdmlkYzMyL21zdmlkZW8xLmMsCisJICBkbGxzL250ZGxsL2V4Y2VwdGlvbi5jLCBkbGxzL29sZTMyL21vbmlrZXIuYywgZGxscy9xdWFydHovbWFpbi5jLAorCSAgZGxscy9zZXR1cGFwaS9zZXR1cGNhYi5jLCBkbGxzL3NoZWxsMzIvc2hlbGxwYXRoLmMsCisJICBkbGxzL3NoZWxsMzIvc2hsZmlsZW9wLmMsIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsCisJICBkbGxzL3dpbjMycy93aW4zMnMxNi5jLCBkbGxzL3dpbmFzcGkvd2luYXNwaTE2LmMsCisJICBkbGxzL3dpbmVkb3MvZG9zdm0uYywgZGxscy93aW5tbS9tY2lhdmkvbWNpYXZpLmMsCisJICBkbGxzL3dpbm1tL3dpbmVqYWNrL2F1ZGlvLmMsIGRsbHMveDExZHJ2L3dpbnRhYi5jLCBsb2FkZXIvZ2xpYmMuYzoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlGaXhlZCBzb21lIGlzc3VlcyBmb3VuZCBieSB3aW5hcGlfY2hlY2suCisKKwkqIGRsbHMvY29tY3RsMzIvc3RyaW5nLmM6CisJUmVtb3ZlZCBhIGNvdXBsZSBvZiB1bm5lZWRlZCBoZWxwZXIgZnVuY3Rpb25zLgorCisJKiB0b29scy93aW5lZ2NjL3dpbmV3cmFwLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IHR5cG8gaW50cm9kdWNlZCBkdXJpbmcgdGhlIHBhdGggc2VhcmNoIHJlb3JnYW5pemF0b24uCisKKwkqIHRvb2xzL3dpbmFwaS93aW4xNi5hcGksIHRvb2xzL3dpbmFwaS93aW4zMi5hcGksCisJICB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX2NoZWNrLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9kb2N1bWVudGF0aW9uLnBtLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9sb2NhbC5wbSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW5hcGlfcGFyc2VyLnBtOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCS0gQVBJIGZpbGVzIHVwZGF0ZS4KKwktIE1pbm9yIGJ1ZyBmaXhlcy4KKworCSogZGxscy9jb21jdGwzMi9pbWFnZWxpc3QuYzogVWxyaWNoIEN6ZWthbGxhIDx1bHJpY2hAY29kZXdlYXZlcnMuY29tPgorCVVzZSBkaWJzZWN0aW9ucyBmb3IgdGhlIGltYWdlcy4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJSWYgVEJTVFlMRV9FWF9ISURFQ0xJUFBFREJVVFRPTlMgaXMgc2V0IHRoZW4gaW52YWxpZGF0ZSB0aGUgYXJlYSB0aGF0CisJY2hhbmdlcyBpbiBhIHJlc2l6ZS4KKwlEb24ndCBjYWxsIFNXUCB1bmxlc3Mgd2UncmUgYWN0dWFsbHkgYWRqdXN0aW5nIGFueXRoaW5nLgorCisJKiBwcm9ncmFtcy93aW5ldGVzdC9tYWluLmM6IEZlcmVuYyBXYWduZXIgPHdmZXJpQGFmYXZhbnQuZWx0ZS5odT4KKwlBZGQgYSBmcmVlKCkgY2FsbCBhdCB0aGUgZW5kLgorCisJKiBkbGxzL3gxMWRydi9jbGlwYm9hcmQuYywgZGxscy94MTFkcnYvZXZlbnQuYywgZGxscy94MTFkcnYvd2luZG93LmMsCisJICBkbGxzL3gxMWRydi94MTFkcnYuaDoKKwlVbHJpY2ggQ3pla2FsbGEgPHVscmljaEBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50ZWQgcmVuZGVyaW5nIHN5bnRoZXNpemVkIEJJVE1BUCBhbmQgRElCIGZvcm1hdHMuCisKKwkqIGRsbHMva2VybmVsL01ha2VmaWxlLmluLCBkbGxzL2tlcm5lbC9kZXZpY2UuYywgZGxscy9rZXJuZWwvdnhkLmMsCisJICBmaWxlcy9maWxlLmMsIGluY2x1ZGUvZmlsZS5oOgorCUNyZWF0ZSByZWFsIGZpbGUgaGFuZGxlcyBmb3IgVnhEcyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBzZXJ2ZXIgZGV2aWNlCisJb2JqZWN0IGhhY2sgKHBhcnRseSBiYXNlZCBvbiBhIHBhdGNoIGJ5IEVyaWMgUG91ZWNoKS4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGwzMi5zcGVjLCBkbGxzL2NvbWN0bDMyL3N0cmluZy5jLAorCSAgZGxscy9zaGx3YXBpL3N0cmluZy5jOgorCVJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJLSBJbXBsZW1lbnQgc3RyaW5nIGZ1bmN0aW9ucyBpbiBjb21jdGwzMi4KKwktIFVzZSBDb21wYXJlU3RyaW5nIGluIHNobHdhcGkgd2hlcmV2ZXIgcG9zc2libGUgaW5zdGVhZCBvZiB1Z2x5CisJICBoZWxwZXJzLgorCisJKiBkbGxzL3VzZXIvd2lucHJvYy5oLCB3aW5kb3dzL3dpbnByb2MuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUZpcnN0IHN0ZXAgaW4gdXNpbmcgZmFzdGVyIGFwcHJvYWNoIGZvciBBPC0+VyBtZXNzYWdlIG1hcHBpbmcuCisKKwkqIERFVkVMT1BFUlMtSElOVFM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJVXBkYXRlIERFVkVMT1BFUlMtSElOVFMgd2l0aCB0aGUgbmV3bHkgYWRkZWQgVnhEcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUxWTl9CRUdJTlJEUkFHIGlzIGltcGxlbWVudGVkIG5vdy4gRml4IHR5cG8uCisKKwkqIGRsbHMvdXh0aGVtZS9kcmF3LmMsIGRsbHMvdXh0aGVtZS9tZXRyaWMuYywgZGxscy91eHRoZW1lL21zc3R5bGVzLmMsCisJICBkbGxzL3V4dGhlbWUvbXNzdHlsZXMuaCwgZGxscy91eHRoZW1lL3Byb3BlcnR5LmM6CisJS2V2aW4gS29sdHphdSA8a2V2aW5AcGxvcC5vcmc+CisJSW1wbGVtZW50ZWQgc3lzdGVtIG1ldHJpYyBmdW5jdGlvbnMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL01ha2VmaWxlLmluLAorCSAgZGxscy9pZnNtZ3IudnhkLy5jdnNpZ25vcmUsIGRsbHMvaWZzbWdyLnZ4ZC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvaWZzbWdyLnZ4ZC9pZnNtZ3IuYywgZGxscy9pZnNtZ3IudnhkL2lmc21nci52eGQuc3BlYywKKwkgIGRsbHMva2VybmVsL2RldmljZS5jLCBkbGxzL21tZGV2bGRyLnZ4ZC8uY3ZzaWdub3JlLAorCSAgZGxscy9tbWRldmxkci52eGQvTWFrZWZpbGUuaW4sIGRsbHMvbW1kZXZsZHIudnhkL21tZGV2bGRyLmMsCisJICBkbGxzL21tZGV2bGRyLnZ4ZC9tbWRldmxkci52eGQuc3BlYywgZGxscy9tb25vZGViZy52eGQvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbW9ub2RlYmcudnhkL01ha2VmaWxlLmluLCBkbGxzL21vbm9kZWJnLnZ4ZC9tb25vZGViZy5jLAorCSAgZGxscy9tb25vZGViZy52eGQvbW9ub2RlYmcudnhkLnNwZWMsIGRsbHMvdmRoY3AudnhkLy5jdnNpZ25vcmUsCisJICBkbGxzL3ZkaGNwLnZ4ZC9NYWtlZmlsZS5pbiwgZGxscy92ZGhjcC52eGQvdmRoY3AuYywKKwkgIGRsbHMvdmRoY3AudnhkL3ZkaGNwLnZ4ZC5zcGVjLCBkbGxzL3ZuZXRiaW9zLnZ4ZC8uY3ZzaWdub3JlLAorCSAgZGxscy92bmV0Ymlvcy52eGQvTWFrZWZpbGUuaW4sIGRsbHMvdm5ldGJpb3MudnhkL3ZuZXRiaW9zLmMsCisJICBkbGxzL3ZuZXRiaW9zLnZ4ZC92bmV0Ymlvcy52eGQuc3BlYywgZGxscy92dGRhcGkudnhkLy5jdnNpZ25vcmUsCisJICBkbGxzL3Z0ZGFwaS52eGQvTWFrZWZpbGUuaW4sIGRsbHMvdnRkYXBpLnZ4ZC92dGRhcGkuYywKKwkgIGRsbHMvdnRkYXBpLnZ4ZC92dGRhcGkudnhkLnNwZWMsIGRsbHMvdndpbjMyLnZ4ZC8uY3ZzaWdub3JlLAorCSAgZGxscy92d2luMzIudnhkL01ha2VmaWxlLmluLCBkbGxzL3Z3aW4zMi52eGQvdndpbjMyLmMsCisJICBkbGxzL3Z3aW4zMi52eGQvdndpbjMyLnZ4ZC5zcGVjOgorCUFkZGVkIHN1cHBvcnQgZm9yIGltcGxlbWVudGluZyBWeERzIGFzIHNlcGFyYXRlIGRsbHMgYW5kIGxvYWRpbmcgdGhlbQorCW9uIGRlbWFuZC4KKwlNb3ZlZCBhbGwgdGhlIERldmljZUlvQ29udHJvbCBjb2RlIGludG8gdGhlIHJlc3BlY3RpdmUgVnhEIGRsbHMuCisKKwkqIGRvY3VtZW50YXRpb24vcnVubmluZy5zZ21sOiBCcmlhbiBWaW5jZW50IDx2aW5uQHRoZXNoZWxsLmNvbT4KKwlSZW1vdmUgcmVmZXJlbmNlIHRvIENhbG1pcmEgZmlsZSBtYW5hZ2VyLCBhZGQgYml0IGFib3V0IFdpbmVmaWxlLgorCisJKiBwcm9ncmFtcy93aW5ldGVzdC9ndWkuYzogR2VyYWxkIFBmZWlmZXIgPGdlcmFsZEBwZmVpZmVyLmNvbT4KKwlGaXggbm9uLXN0YW5kYXJkIGNvZGUgaW4gcmVwb3J0KCkuCisKKwkqIG9iamVjdHMvbWV0YWZpbGUuYzogVWxyaWNoIEN6ZWthbGxhIDx1bHJpY2hAY29kZXdlYXZlcnMuY29tPgorCUdldCB0aGUgcmVjdGFuZ2xlIGZyb20gdGhlIGRjIGFuZCB1bmNvbW1lbnQgUGxheUVuaE1ldGFGaWxlIGluCisJR2V0V2luTWV0YUZpbGVCaXRzLgorCisJKiBkbGxzL2dkaS9nZGkzMi5zcGVjLCBvYmplY3RzL3BhbGV0dGUuYzoKKwlSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJQWRkIHN0dWIgaW1wbGVtZW50YXRpb24gZm9yIFNldElDTVByb2ZpbGVBKCkuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnRlZCBMSVNUVklFV19BcHByb3hpbWF0ZVZpZXdSZWN0IGZvciBMVlNfUkVQT1JULgorCisJKiBkbGxzL3gxMWRydi9wYWxldHRlLmM6IEZpbmxvIEJveWRlIDxmaW5AbmVlcHMubmV0PgorCUZpeCBmb3IgZGVhZGxvY2sgd2hlbiB1c2luZyBwcml2YXRlIGNvbG9ybWFwLgorCisyMDA0LTAyLTE5ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBwcm9ncmFtcy93aW5ldGVzdC9ndWkuYywgcHJvZ3JhbXMvd2luZXRlc3QvbWFpbi5jLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvbWFrZXRlc3QsIHByb2dyYW1zL3dpbmV0ZXN0L3V0aWwuYywKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L3dpbmV0ZXN0Lmg6CisJRmVyZW5jIFdhZ25lciA8d2ZlcmlAYWZhdmFudC5lbHRlLmh1PgorCS0gY29tbWFuZCBsaW5lIGhhbmRsaW5nIChHVUkgd2lsbCBmb2xsb3cpCisJLSBzdHJpcCAuZXhlWy5zb10gZnJvbSB0ZXN0IG5hbWVzCisJLSB2ZXJzaW9uIDIgb3V0cHV0CisKKwkqIGRsbHMvd2lubW0vd2luZWFsc2EvbWlkaS5jOiBDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJUmVwbGFjZWQgdGhlIHRpbWVyIGFuZCBpdHMgY2FsbGJhY2sgYnkgYSB0aHJlYWQgZm9yIHJlY2VpdmluZyBtaWRpIGluCisJZXZlbnRzLgorCUZpeGVkIHRpbWUgb2YgTUlNX0xPTkdEQVRBIG5vdGlmaWNhdGlvbi4KKwlIYW5kbGVkIERSVk1fRVhJVCBpbiBBTFNBX21pZE1lc3NhZ2UuCisKKwkqIGRsbHMvb2xlMzIvaWZzLmM6IE1pa2UgSGVhcm4gPG1oQGNvZGV3ZWF2ZXJzLmNvbT4KKwlUbyByZWR1Y2UgZGVidWdnaW5nIG5vaXNlLCBtYWtlIElNYWxsb2MzMi9JTWFsbG9jU3B5IGltcGxlbWVudGF0aW9ucworCW91dHB1dCB0byB0aGUgbmV3IG9sZW1hbGxvYyBkZWJ1ZyBjaGFubmVsLgorCisJKiBkbGxzL21zdmNydC9maWxlLmMsIGRsbHMvbXN2Y3J0L3NjYW5mLmMsIGRsbHMvbXN2Y3J0L3NjYW5mLmgsCisJICBpbmNsdWRlL21zdmNydC9zdGRpby5oOgorCUZpeGVkIHZhcmFyZ3MgaGFuZGxpbmcgaW4gdGhlIHNjYW5mIGZ1bmN0aW9ucyAoc3BvdHRlZCBieSBFcmljCisJUG91ZWNoKS4KKworCSogaW5jbHVkZS93aW51c2VyLmg6IEtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCURlZmluZSBTUElfKiB2YWx1ZXMgaW50cm9kdWNlZCBpbiBYUC4KKworCSogZGxscy94MTFkcnYvY2xpcGJvYXJkLmM6CisJVWxyaWNoIEN6ZWthbGxhIDx1bHJpY2guY3pla2FsbGFAdXRvcm9udG8uY2E+CisJQWR2YW5jZSBpbmRleCBhcyB3ZSBzZXQgdGhlIGF0b20gdmFsdWVzLgorCisJKiBkbGxzL21hcGkzMi9tYXBpMzIuc3BlYzogTWlrZSBIZWFybiA8bWhAY29kZXdlYXZlcnMuY29tPgorCVRoZSBwcmVzZW5jZSBvZiBGR2V0Q29tcG9uZW50UGF0aCBpcyB1c2VkIHRvIGNoZWNrIGlmIG1hcGkzMi5kbGwgaXMKKwl0aGUgT3V0bG9vayB2ZXJzaW9uIG9yIG5vdC4gSXQncyBjb21tb24gdG8gR2V0UHJvY0FkZHJlc3MgZm9yIGl0LCBzbworCWxldCdzIG5vdCBleHBvcnQgaXQgYXMgb3RoZXJ3aXNlIGFwcHMgbWF5IGNhbGwgaXQuCisKKzIwMDQtMDItMTcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHRvb2xzL3dpbmVkdW1wL01ha2VmaWxlLmluLCB0b29scy93aW5lZHVtcC93aW5lZHVtcC5tYW46CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlBZGRlZCB3aW5lZHVtcCBtYW4gcGFnZSwgaGVhdmlseSBiYXNlZCBvbiB0aGUgUkVBRE1FIGZpbGUuCisKKwkqIGRsbHMvc2hsd2FwaS9NYWtlZmlsZS5pbiwgZGxscy9zaGx3YXBpL29yZGluYWwuYywKKwkgIGRsbHMvc2hsd2FwaS9zaGx3YXBpLnNwZWMsIGRsbHMvc2hsd2FwaS9zdG9wd2F0Y2guYywKKwkgIGRsbHMvc2hsd2FwaS9zdHJpbmcuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCVN0dWIgdGhlIHN0b3B3YXRjaCBBUEkuCisJSW1wbGVtZW50IERvZXNTdHJpbmdSb3VuZFRyaXBXLEAzNzEtMyxAMzkyLgorCU1vdmUgYSBjb3VwbGUgb2Ygc3RyaW5nIGZ1bmN0aW9ucyBpbnRvIHN0cmluZy5jCisKKwkqIGRsbHMvc2V0dXBhcGkvc3R1YnMuYzogRml4ZWQgYSB0cmFjZS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBGYWJpYW4gQ2VuZWRlc2UgPENlbmVkZXNlQGluZGVsLmNoPgorCUxpc3RWaWV3IHNob3VsZCBiZWhhdmUgaW4gT1dORVJEUkFXIGFzIGluIEZVTExST1dTRUxFQ1QuIFRoaXMgYWxsb3dzCisJdG8gc2VsZWN0IGNlbGxzIG5vdCBpbiB0aGUgZmlyc3QgY29sdW1uIGluIFJFUE9SVCBtb2RlIHdpdGggT1dORVJEUkFXCisJc3R5bGUgc2V0LgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMyLnNwZWMsIGRsbHMvY29tY3RsMzIvY29tY3RsMzJ1bmRvYy5jOgorCVJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJRm9yd2FyZCBzb21lIHdyYXBwZXIgZnVuY3Rpb25zIHNpbmNlIHdlIGRvbid0IGNhcmUgYWJvdXQgY29tcGF0aWJpbGl0eQorCXdpdGggV2luOTggaW4gdGhpcyBjYXNlLgorCisJKiBkbGxzL2tlcm5lbC9pbnN0ci5jOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlTdXBwb3J0IGVtdWxhdGlvbiBvZiB0aGUgcHJpdmlsZWdlZCBtb3YgZHI3LGVheCBpbnN0cnVjdGlvbi4KKworCSogZGxscy9tc2kvbXNpLmMsIGRsbHMvbXNpL21zaS5zcGVjLCBkbGxzL3NldHVwYXBpL3NldHVwYXBpLnNwZWMsCisJICBkbGxzL3NldHVwYXBpL3N0dWJzLmMsIGluY2x1ZGUvc2V0dXBhcGkuaDoKKwlDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJQWRkZWQgc29tZSBzdHVicy4KKworCSogZGxscy91eHRoZW1lL3N5c3RlbS5jOiBLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlDb3JyZWN0ZWQgbWV0aG9kIG9mIGNyZWF0aW5nIHJlZ2lzdHJ5IGtleXMsIGJvdGggdG8gZml4IGFuIGlzc3VlIHdoZXJlCisJdGhleSB3ZXJlIG5vdCBjcmVhdGVkIGFuZCB0byBhY3QgbW9yZSBsaWtlIFdpbmRvd3MuCisKKwkqIGRsbHMvY29tY3RsMzIvTWFrZWZpbGUuaW4sIGRsbHMvY29tY3RsMzIvY29tY3RsMzJ1bmRvYy5jLAorCSAgZGxscy9jb21jdGwzMi9zdHJpbmcuYzoKKwlSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCU1vdmUgc3RyaW5nIGZ1bmN0aW9ucyB0byBzZXBhcmF0ZSBmaWxlLgorCisJKiBNYWtlLnJ1bGVzLmluLCBkbGxzL01ha2VkbGwucnVsZXMuaW4sIGRsbHMvZ2RpL01ha2VmaWxlLmluLAorCSAgZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvdXNlci9NYWtlZmlsZS5pbiwgdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsCisJICB0b29scy93aW5lYnVpbGQvaW1wb3J0LmMsIHRvb2xzL3dpbmVidWlsZC9tYWluLmMsCisJICB0b29scy93aW5lYnVpbGQvcGFyc2VyLmMsIHRvb2xzL3dpbmVidWlsZC91dGlscy5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3dpbmVidWlsZC5tYW4uaW46CisJQWRkZWQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgYSBkbGwgZnJvbSBhIC5kZWYgZmlsZSBmb3IgY2FzZXMgd2hlcmUgd2UKKwlkb24ndCB3YW50IHRvIHdyaXRlIGEgZnVsbCAuc3BlYy4KKwlSZW5hbWVkIC0tc3BlYyBvcHRpb24gdG8gLS1kbGwgZm9yIGNvbnNpc3RlbmN5LgorCisJKiBjb250cm9scy9tZW51LmMsIGRsbHMvdXNlci90ZXN0cy9tc2cuYywgaW5jbHVkZS93aW4uaCwgd2luZG93cy93aW4uYzoKKwlIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVNldE1lbnUgc2hvdWxkIGFsd2F5cyBjYWxsIFNldFdpbmRvd1BvcyB3aGV0aGVyIHRoZSB3aW5kb3cgaXMgdmlzaWJsZQorCW9yIG5vdC4gSG93ZXZlciB3ZSBzaG91bGRuJ3QgY2FsbCBTV1AgZnJvbSBDcmVhdGVXaW5kb3dFeC4KKwlBZGRlZCBhIHRlc3QgZm9yIHRoaXMgYmVoYXZpb3VyLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYywgaW5jbHVkZS9jb21tY3RybC5oOgorCVJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJLSBGaXggc29tZSB0cmFjZXMuCisJLSBUaGUgVEJNX0dFVCpIT1RMSVNUIGZ1bmN0aW9ucyB0YWtlIGltYWdlbGlzdCBJRCBpbiB3UGFyYW0uCisJLSBJbXBsZW1lbnQgVEJNX0dFVFNUUklOR3tBLFd9LgorCS0gSW1wbGVtZW50IHVuZG9jdW1lbnRlZCAweDQ2MiBtZXNzYWdlLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjLCBwcm9ncmFtcy93aW5lY2ZnL2xpYnJhcmllcy5jLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9yZXNvdXJjZS5oOgorCVJvYmVydCB2YW4gSGVyayA8cm9iZXJ0QHJvYmVydHZhbmhlcmsubmw+CisJQWxsb3cgdXNlciB0byBjaG9vc2UgIm5hdGl2ZSIsICJuYXRpdmUsYnVpbHRpbiIsICJidWlsdGluIiwKKwkiYnVpbHRpbixuYXRpdmUiIGFuZCAiZGlzYWJsZSIgZm9yIGVhY2ggbGlicmFyeSB0aGV5IG92ZXJyaWRlLgorCisJKiBkbGxzL29sZWF1dDMyL3ZhcmlhbnQuYzogRmFiaWFuIENlbmVkZXNlIDxDZW5lZGVzZUBpbmRlbC5jaD4KKwlBY2NlcHQgVlRfQk9PTCBtaXhlZCB3aXRoIGFub3RoZXIgdHlwZSBhcyB2YWxpZCBjb21iaW5hdGlvbiBpbgorCVZhck9yL1ZhckFuZC4KKworCSogaW5jbHVkZS9zaGx3YXBpLmg6IEZpeGVkIEludGxTdHJFcVdvcmtlckEvVyBwcm90b3R5cGVzLgorCisJKiBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjLCBkbGxzL3NobHdhcGkvc3RyaW5nLmMsCisJICBkbGxzL3NobHdhcGkvdGVzdHMvc3RyaW5nLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxSLkouU2hlYXJtYW5Ad2Fyd2ljay5hYy51az4KKwktIEFkZCBJbnRsU3RyRXFXb3JrZXJBL1cuCisJLSBTdHJDbXAgdGVzdHMuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsMzJ1bmRvYy5jOgorCVJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJRG9jdW1lbnRhdGlvbiB1cGRhdGUuCisKKwkqIGRsbHMvbnRkbGwvdmlydHVhbC5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVdyaXRlIHNlY3Rpb24gYWNjZXNzIGFsc28gYXNzdW1lcyByZWFkIGFjY2Vzcy4KKworCSogZGxscy91eHRoZW1lL21zc3R5bGVzLmMsIGRsbHMvdXh0aGVtZS9tc3N0eWxlcy5oLAorCSAgZGxscy91eHRoZW1lL3N5c3RlbS5jOgorCUtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUtlZXAgdHJhY2sgb2YgdGhlbWUgZmlsZW5hbWUgd2l0aGluIFRIRU1FX0ZJTEUuCisKKzIwMDQtMDItMTYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvTWFrZWRsbC5ydWxlcy5pbjogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJQWxsb3cgc3BlY2lmaWNhdGlvbiBvZiAiRExMTU9ERT1uYXRpdmUiIGZvciBuYXRpdmUgZGxscy4KKworCSogZGxscy9NYWtldGVzdC5ydWxlcy5pbiwgcHJvZ3JhbXMvTWFrZXByb2cucnVsZXMuaW4sCisJICBwcm9ncmFtcy9hdml0b29scy9NYWtlZmlsZS5pbiwgdG9vbHMvd2luZWJ1aWxkL21haW4uYywKKwkgIHRvb2xzL3dpbmVidWlsZC93aW5lYnVpbGQubWFuLmluOgorCVJlbmFtZWQgLS1leGUtbW9kZSBvcHRpb24gdG8gLS1tb2RlIG5vdyB0aGF0IGl0IGNhbiBiZSB1c2VkIGZvciBkbGxzCisJdG9vLgorCisJKiBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmM6IE1pa2UgSGVhcm4gPG1pa2VAdGhlb3JldGljLmNvbT4KKwlHcm93IHRoZSB0cmVldmlldyBjb250cm9sIGV4cGFuZGVyIGJ1dHRvbiBieSAxcHggaW4gZWFjaCBkaXJlY3Rpb24gdG8KKwltYXRjaCB0aGUgbmF0aXZlIGxvb2suCisKKwkqIGRsbHMvZGRyYXcvdGVzdHMvTWFrZWZpbGUuaW46IFNhbWkgQWFyaW8gPHNhbWkuYWFyaW9Ac3VyZmV1LmZpPgorCU5vIG5lZWQgdG8gbGluayBhZ2FpbnN0IHRoZSB1dWlkIGxpYnJhcnkuCisKKwkqIGRsbHMveDExZHJ2L3RleHQuYywgZGxscy94MTFkcnYveHJlbmRlci5jOgorCVRoZSBjbGlwIHJlY3RhbmdsZSBmb3IgRXh0VGV4dE91dCBpcyBpbiBsb2dpY2FsIGNvb3Jkcy4KKworCSogZGxscy9pY2N2aWQvaWNjdmlkLmMsIGRsbHMvbXN2aWRjMzIvbXN2aWRlbzEuYywKKwkgIGRsbHMvbXN2aWRlby9tc3ZpZGVvX21haW4uYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVRha2UgcGFsZXR0ZSBpbnRvIGFjY291bnQgd2hpbGUgcmVzcG9uZGluZyBvbgorCUlDTV9ERUNPTVBSRVNTX0dFVEZPUk1BVC4KKworCSogREVWRUxPUEVSUy1ISU5UUzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBZGQgdGhlIG5ldyBSU0EgZW5jcnlwdGlvbiBETEwuCisKKwkqIGRsbHMvdXh0aGVtZS9NYWtlZmlsZS5pbiwgZGxscy91eHRoZW1lL2RyYXcuYywKKwkgIGRsbHMvdXh0aGVtZS9tc3N0eWxlcy5jLCBkbGxzL3V4dGhlbWUvbXNzdHlsZXMuaCwKKwkgIGRsbHMvdXh0aGVtZS9wcm9wZXJ0eS5jOgorCUtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUltcGxlbWVudCBEcmF3VGhlbWVCYWNrZ3JvdW5kRXgsIERyYXdUaGVtZVRleHQsIEdldFRoZW1lVGV4dEV4dGVudC4KKworCSogdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlObyBuZWVkIHRvIGNoZWNrIGZvciBEbGxFbnRyeVBvaW50IHN0eWxlIGNvbnN0YW50cy4KKworCSogZGxscy93aW5pbmV0L2Z0cC5jOiBMaW9uZWwgVWxtZXIgPGxpb25lbC51bG1lckBmcmVlLmZyPgorCVN0b3JlIHBvaW50ZXJzIGluIHRoZSBpbnRlcm5hbCBzdHJ1Y3R1cmVzIGFuZCBub3QgaGFuZGxlcy4KKworCSogZGxscy9kZHJhdy90ZXN0cy9kZHJhd21vZGVzLmM6IFNhbWkgQWFyaW8gPHNhbWkuYWFyaW9Ac3VyZmV1LmZpPgorCUFkZGVkIHN1cmZhY2UgdGVzdHMuCisKKwkqIGRsbHMvd2lubW0vd2luZW9zcy9hdWRpby5jOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFkZCBzZWNvbmRhcnkgYnVmZmVyIGFycmF5LgorCisyMDA0LTAyLTEzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBBTk5PVU5DRSwgQ2hhbmdlTG9nLCBWRVJTSU9OLCBjb25maWd1cmU6IFJlbGVhc2UgMjAwNDAyMTMuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIwMDQtMDItMTMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CiAKIAkqIHRvb2xzL3dpbmVidWlsZC9idWlsZC5oLCB0b29scy93aW5lYnVpbGQvaW1wb3J0LmMsCmRpZmYgLS1naXQgYS9WRVJTSU9OIGIvVkVSU0lPTgppbmRleCBiNTBkNWE3Li5kY2JkZDFiIDEwMDY0NAotLS0gYS9WRVJTSU9OCisrKyBiL1ZFUlNJT04KQEAgLTEgKzEgQEAKLVdpbmUgdmVyc2lvbiAyMDA0MDIxMworV2luZSB2ZXJzaW9uIDIwMDQwMzA5CmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggOGM0ZTNmNS4uOTM0NjgwNiAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAtMSw2ICsxLDYgQEAKICMhIC9iaW4vc2gKICMgR3Vlc3MgdmFsdWVzIGZvciBzeXN0ZW0tZGVwZW5kZW50IHZhcmlhYmxlcyBhbmQgY3JlYXRlIE1ha2VmaWxlcy4KLSMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5IGZvciBXaW5lIDIwMDQwMjEzLgorIyBHZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkgZm9yIFdpbmUgMjAwNDAzMDkuCiAjCiAjIFJlcG9ydCBidWdzIHRvIDx3aW5lLWRldmVsQHdpbmVocS5vcmc+LgogIwpAQCAtMjY5LDggKzI2OSw4IEBACiAjIElkZW50aXR5IG9mIHRoaXMgcGFja2FnZS4KIFBBQ0tBR0VfTkFNRT0nV2luZScKIFBBQ0tBR0VfVEFSTkFNRT0nd2luZScKLVBBQ0tBR0VfVkVSU0lPTj0nMjAwNDAyMTMnCi1QQUNLQUdFX1NUUklORz0nV2luZSAyMDA0MDIxMycKK1BBQ0tBR0VfVkVSU0lPTj0nMjAwNDAzMDknCitQQUNLQUdFX1NUUklORz0nV2luZSAyMDA0MDMwOScKIFBBQ0tBR0VfQlVHUkVQT1JUPSd3aW5lLWRldmVsQHdpbmVocS5vcmcnCiAKIGFjX3VuaXF1ZV9maWxlPSJzZXJ2ZXIvYXRvbS5jIgpAQCAtNzg4LDcgKzc4OCw3IEBACiAgICMgT21pdCBzb21lIGludGVybmFsIG9yIG9ic29sZXRlIG9wdGlvbnMgdG8gbWFrZSB0aGUgbGlzdCBsZXNzIGltcG9zaW5nLgogICAjIFRoaXMgbWVzc2FnZSBpcyB0b28gbG9uZyB0byBiZSBhIHN0cmluZyBpbiB0aGUgQS9VWCAzLjEgc2guCiAgIGNhdCA8PF9BQ0VPRgotXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgV2luZSAyMDA0MDIxMyB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCitcYGNvbmZpZ3VyZScgY29uZmlndXJlcyBXaW5lIDIwMDQwMzA5IHRvIGFkYXB0IHRvIG1hbnkga2luZHMgb2Ygc3lzdGVtcy4KIAogVXNhZ2U6ICQwIFtPUFRJT05dLi4uIFtWQVI9VkFMVUVdLi4uCiAKQEAgLTg1Myw3ICs4NTMsNyBAQAogCiBpZiB0ZXN0IC1uICIkYWNfaW5pdF9oZWxwIjsgdGhlbgogICBjYXNlICRhY19pbml0X2hlbHAgaW4KLSAgICAgc2hvcnQgfCByZWN1cnNpdmUgKSBlY2hvICJDb25maWd1cmF0aW9uIG9mIFdpbmUgMjAwNDAyMTM6Ijs7CisgICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBXaW5lIDIwMDQwMzA5OiI7OwogICAgZXNhYwogICBjYXQgPDxcX0FDRU9GCiAKQEAgLTk4Miw3ICs5ODIsNyBAQAogdGVzdCAtbiAiJGFjX2luaXRfaGVscCIgJiYgZXhpdCAwCiBpZiAkYWNfaW5pdF92ZXJzaW9uOyB0aGVuCiAgIGNhdCA8PFxfQUNFT0YKLVdpbmUgY29uZmlndXJlIDIwMDQwMjEzCitXaW5lIGNvbmZpZ3VyZSAyMDA0MDMwOQogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5CiAKIENvcHlyaWdodCAoQykgMjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTk5Niw3ICs5OTYsNyBAQAogVGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hpbGUKIHJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtlcyBhIG1pc3Rha2UuCiAKLUl0IHdhcyBjcmVhdGVkIGJ5IFdpbmUgJGFzX21lIDIwMDQwMjEzLCB3aGljaCB3YXMKK0l0IHdhcyBjcmVhdGVkIGJ5IFdpbmUgJGFzX21lIDIwMDQwMzA5LCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgICQgJDAgJEAKQEAgLTIwNDQwLDcgKzIwNDQwLDcgQEAKIH0gPiY1CiBjYXQgPiY1IDw8X0NTRU9GCiAKLVRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgV2luZSAkYXNfbWUgMjAwNDAyMTMsIHdoaWNoIHdhcworVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBXaW5lICRhc19tZSAyMDA0MDMwOSwgd2hpY2ggd2FzCiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKIAogICBDT05GSUdfRklMRVMgICAgPSAkQ09ORklHX0ZJTEVTCkBAIC0yMDUwMyw3ICsyMDUwMyw3IEBACiAKIGNhdCA+PiRDT05GSUdfU1RBVFVTIDw8X0FDRU9GCiBhY19jc192ZXJzaW9uPSJcXAotV2luZSBjb25maWcuc3RhdHVzIDIwMDQwMjEzCitXaW5lIGNvbmZpZy5zdGF0dXMgMjAwNDAzMDkKIGNvbmZpZ3VyZWQgYnkgJDAsIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OSwKICAgd2l0aCBvcHRpb25zIFxcImBlY2hvICIkYWNfY29uZmlndXJlX2FyZ3MiIHwgc2VkICdzL1tcXCIiXGBcJF0vXFxcXCYvZydgXFwiCiAK