ZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg0YzY4NTUKLS0tIC9kZXYvbnVsbAorKysgYi8uZ2l0aWdub3JlCkBAIC0wLDAgKzEsNCBAQAordGFyZ2V0DQorLnNldHRpbmdzDQorLmNsYXNzcGF0aA0KKy5wcm9qZWN0DQpkaWZmIC0tZ2l0IGEvYm9hcmQtcmVwb3J0cy8yMDEzLTA4LnR4dCBiL2JvYXJkLXJlcG9ydHMvMjAxMy0wOC50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWI1ZThjYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvMjAxMy0wOC50eHQKQEAgLTAsMCArMSwzNCBAQAorSlNQV2lraSBpcyBhIEphdmEtYmFzZWQgd2lraSBlbmdpbmUNCisNCitBbnl0aGluZyB0aGUgYm9hcmQgc2hvdWxkIGJlIGF3YXJlIG9mPw0KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK1N0aWxsIGhhdmluZyBzb21lIGlzc3VlcyB0cmFuc2ZlcnJpbmcgdGhlIHJlc291cmNlcyBmcm9tIEluY3ViYXRvciB0byBUTFA7IA0KK2N1cnJlbnRseSB1bmFibGUgdG8gZWRpdCB0aGUgd2Vic2l0ZSwgZXhjZXB0IGJ1dCBkb2luZyBkaXJlY3RseSBvbiANCitwcm9kdWN0aW9uLyBVUkwuIEZvbGxvd2luZyB1cCB0aGlzIGlzc3VlIHdpdGggSW5mcmE6IElORlJBLTY1NzcsIElORlJBLTY2MTEsDQorSU5GUkEtNjQ5MiBhbmQgSlNQV0lLSS03ODcuDQorDQorV2UncmUgYWxzbyBsb29raW5nIGZvcndhcmQgaGF2aW5nIGEgVk0gdG8gaG9zdCBsaXZlIChKU1Apd2lraXMgd2l0aCANCitkb2N1bWVudGF0aW9uLCBhIHNhbmRib3ggYW5kIGEgZ2VuZXJhbCBlbnRyeSBwb2ludCB0byBuZXdjb21lcnMuIA0KK0hpc3RvcmljYWxseSwgdGhlc2Ugd2lraXMgaGF2ZSBiZWVuIHdlcmUgSlNQV2lraSdzIGNvbW11bml0eSBoYXMgYnVpbHQgdXAuIEENCitjb3VwbGUgb2YgSklSQXMgZmlsZWQgdG8gZm9sbG93IHVwIHRoaXMgaXNzdWUgd2l0aCBJbmZyYTogSU5GUkEtNjU4MCwNCitJTkZSQS01NTg4IGFuZCBKU1BXSUtJLTczOS4gDQorDQorSG9wZWZ1bGx5IGJ5IHRoZSB0aW1lIG9mIHRoZSBib2FyZCBtZWV0aW5nLCB0aGVzZSBpbmZyYSBpc3N1ZXMgd2lsbCBoYXZlIA0KK2JlZW4gcmVzb2x2ZWQuDQorDQorUmVsZWFzZXMgLyBEZXZlbG9wbWVudA0KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitMYXN0IHJlbGVhc2Ugb24gMTV0aCBNYXksIDIwMTMNCisNCitTb21lIGRldmVsb3BtZW50IGhhcyBvY2N1cmVkIHJlZ2FyZGluZyAzcmQgcGFydHkgbGlicmFyaWVzIGJlaW5nIHVwZ3JhZGVkLCANCitpbmN1YmF0b3IgcmVmZXJlbmNlcyBiZWluZyByZW1vdmVkLCBhbmQgc29tZSBhY3Rpdml0eSByZWdhcmRpbmcgDQoraXNzdWVzIHBvaW50ZWQgb3V0IGJ5IGFuYWx5c2lzLmEuby4NCisNCitDb21tdW5pdHkNCistLS0tLS0tLS0NCitMYXN0IENvbW1pdHRlcjogR2xlbiBNYXp6YSAoZ21henphKSwgb24gMDR0aCBKYW4sIDIwMTMNCitMYXN0IFBNQzogR2xlbiBNYXp6YSAoZ21henphKSwgb24gMDR0aCBKYW4sIDIwMTMNCisNCitCb3RoIGRldkBqLmEubyBhbmQgdXNlckBqLmEubyBzZWVtIHRvIGhhdmUgYSBsaXR0bGUgbW9yZSBhY3Rpdml0eSB0aGFuDQord2hlbiBiZWluZyBhdCBJbmN1YmF0b3IuIDkxIHBlb3BsZSBzdWJzY3JpYmVkIHRvIGRldkBqLmEubywgMTg1IHBlb3BsZSANCitzdWJzY3JpYmVkIGF0IHVzZXJAai5hLm8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzLzIwMTMtMDkudHh0IGIvYm9hcmQtcmVwb3J0cy8yMDEzLTA5LnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMDJiNmZlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy8yMDEzLTA5LnR4dApAQCAtMCwwICsxLDMzIEBACitKU1BXaWtpIGlzIGEgSmF2YS1iYXNlZCB3aWtpIGVuZ2luZQ0KKw0KK0FueXRoaW5nIHRoZSBib2FyZCBzaG91bGQgYmUgYXdhcmUgb2Y/DQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorU3RpbGwgaGF2aW5nIG9uZSBpc3N1ZSBub3RlZCBvbiB0aGUgcGFzdCByZXBvcnQsIHJlZ2FyZGluZyB0aGUgDQordHJhbnNmZXIgb2YgSW5jdWJhdG9yIHJlc291cmNlcyB0byBUTFA6IHdlJ3JlIGN1cnJlbnRseSB1bmFibGUgdG8gZWRpdA0KK3RoZSB3ZWJzaXRlLCB1bmxlc3Mgd2UgZG8gaXQgZGlyZWN0bHkgb24gcHJvZHVjdGlvbi8gVVJMLiBGb2xsb3dpbmcgdXAgDQordGhpcyBpc3N1ZSB3aXRoIEluZnJhIGF0IElORlJBLTY2MTEuDQorDQorUmVsZWFzZXMgLyBEZXZlbG9wbWVudA0KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitMYXN0IHJlbGVhc2Ugb24gMTV0aCBNYXksIDIwMTMNCisNCitMaXR0bGUgYWN0aXZpdHkgcmVnYXJkaW5nIGRldmVsb3BtZW50IHRoaXMgbW9udGguDQorDQorRGV2ZWxvcG1lbnQgaGFzIGJlZW4gbWFpbmx5IGZvY3VzZWQgb24gdGhyZWUgcG9pbnRzOiByZXBsYWNpbmcgb3NjYWNoZQ0KK3dpdGggZWhjYWNoZSwgc2ltcGxpZnlpbmcgSlNQV2lraSBjb25maWd1cmF0aW9uIHZpYSBhIGN1c3RvbSBwcm9wZXJ0aWVzIA0KK2ZpbGUgYW5kIGZpeGluZyB0aGUgaW50ZWdyYXRpb24gdGVzdHMuDQorDQorVGhlIFZNIGZvciB0aGUgbGl2ZSBKU1BXaWtpcyBoYXMganVzdCBiZWVuIGNyZWF0ZWQsIHNvIHdvcmsgb24gc2V0dGluZyANCit1cCB0aGUgd2lraXMgc2hvdWxkIGJlZ2luIHNob3J0bHkuDQorDQorQ29tbXVuaXR5DQorLS0tLS0tLS0tDQorTGFzdCBDb21taXR0ZXI6IEdsZW4gTWF6emEgKGdtYXp6YSksIG9uIDA0dGggSmFuLCAyMDEzDQorTGFzdCBQTUM6IEdsZW4gTWF6emEgKGdtYXp6YSksIG9uIDA0dGggSmFuLCAyMDEzDQorDQorZGV2QGouYS5vIGhhZCByb3VnaGx5IGEgMzUlIGxlc3MgdHJhZmZpYyB0aGFuIHRoZSBwcmV2aW91cyBtb250aCwgDQord2hlcmVhcyB1c2VyQGouYS5vIGhhZCB+NCB0aW1lcyBtb3JlIHBvc3RzLiBUaGVzZSBwb3N0cyBob3dldmVyLCBoYXZlDQorYmVlbiBmb2N1c2VkIG9uIDIgc2luZ2xlIHF1ZXN0aW9ucy4NCisNCis5MSAoKzApIHBlb3BsZSBzdWJzY3JpYmVkIHRvIGRldkBqLmEubywgMTc1ICgtMTApIHBlb3BsZSBzdWJzY3JpYmVkIGF0DQordXNlckBqLmEubwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2JvYXJkLXJlcG9ydHMvMjAxMy0xMC50eHQgYi9ib2FyZC1yZXBvcnRzLzIwMTMtMTAudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIzNjJhZDMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC1yZXBvcnRzLzIwMTMtMTAudHh0CkBAIC0wLDAgKzEsMjcgQEAKK0pTUFdpa2kgaXMgYSBKYXZhLWJhc2VkIHdpa2kgZW5naW5lDQorDQorQW55dGhpbmcgdGhlIGJvYXJkIHNob3VsZCBiZSBhd2FyZSBvZj8NCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitUaGVyZSBhcmUgbm8gQm9hcmQtbGV2ZWwgaXNzdWVzIGF0IHRoaXMgdGltZS4NCisNCitSZWxlYXNlcyAvIERldmVsb3BtZW50DQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0xhc3QgcmVsZWFzZSBvbiAxNXRoIE1heSwgMjAxMw0KKw0KK0xpdHRsZSBhY3Rpdml0eSByZWdhcmRpbmcgZGV2ZWxvcG1lbnQgdGhpcyBtb250aC4NCisNCitEZXZlbG9wbWVudCBoYXMgYmVlbiBtYWlubHkgZm9jdXNlZCBvbiBzZXR0aW5nIHVwIG91ciBwdWJsaWMgd2lraXMsIA0KK3doaWNoIGFyZSBuZWFyIGNvbXBsZXRlLCBwZW5kaW5nIGZvciBzb21lIHJlZGlyZWN0aW9ucyB0byBiZSBwZXJmb3JtZWQNCithdCBpbmZyYSwgY2xlYW5pbmcgdXAgdGhlIHdlYnNpdGUgbm93IHRoYXQgd2UncmUgYWJsZSB0byBlZGl0IHRoZSANCitzaXRlLCBhbmQgZml4aW5nIGFuIGlzc3VlIHJlZ2FyZGluZyBvc2NhY2hlIHRvIGVoY2FjaGUgdHJhbnNpdGlvbi4NCisNCitDb21tdW5pdHkNCistLS0tLS0tLS0NCitMYXN0IENvbW1pdHRlcjogR2xlbiBNYXp6YSAoZ21henphKSwgb24gMDR0aCBKYW4sIDIwMTMNCitMYXN0IFBNQzogR2xlbiBNYXp6YSAoZ21henphKSwgb24gMDR0aCBKYW4sIDIwMTMNCisNCitBbG1vc3Qgc2lsZW50IG1vbnRoIGF0IGRldkBqLmEubywgd2hlcmVhcyB1c2VyQGouYS5vIGNvbnRpbnVlcw0KK3dpdGggbW9yZSBvciBsZXNzIHRoZSBzYW1lIGFtb3VudCBvZiAobGl0dGxlKSBhY3Rpdml0eQ0KKw0KKzkyICgrMSkgcGVvcGxlIHN1YnNjcmliZWQgdG8gZGV2QGouYS5vLCAxNzYgKCsxKSBwZW9wbGUgc3Vic2NyaWJlZCBhdA0KK3VzZXJAai5hLm8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzLzIwMTQtMDEudHh0IGIvYm9hcmQtcmVwb3J0cy8yMDE0LTAxLnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNjljODQ5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy8yMDE0LTAxLnR4dApAQCAtMCwwICsxLDM3IEBACitKU1BXaWtpIGlzIGEgSmF2YS1iYXNlZCB3aWtpIGVuZ2luZQ0KKw0KK0FueXRoaW5nIHRoZSBib2FyZCBzaG91bGQgYmUgYXdhcmUgb2Y/DQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorVGhlcmUgYXJlIG5vIEJvYXJkLWxldmVsIGlzc3VlcyBhdCB0aGlzIHRpbWUuDQorDQorUmVsZWFzZXMgLyBEZXZlbG9wbWVudA0KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitMYXN0IHJlbGVhc2Ugb24gMTV0aCBNYXksIDIwMTMNCisNCitBY3Rpdml0eSBoYXMgaW5jcmVhc2VkIHRoaXMgcGVyaW9kLCBwYXJ0IGJlY2F1c2Ugb2YgcHVibGljIHdpa2kgDQorcHVibGlzaGVkLCBwYXJ0IGJlY2F1c2UgMi4xMC4wIHJlbGVhc2UgaXMgYmVpbmcgcHVyc3VlZC4gQSByZWxlYXNlIHZvdGUNCitmb3IgMi4xMC4wIHdhcyBoZWxkLCBidXQgZGlkbid0IHBhc3MgZHVlIHRvIGEgY291cGxlIG9mIGlzc3VlcyB3aGljaCANCitzdXJmYWNlZCBkdXJpbmcgdGhlIHZvdGUuIFRob3NlIGhhdmUgYmVlbiBmaXhlZCwgYnV0IHdlIGhhdmUgdGFrZW4gdGhlDQorb3Bwb3J0dW5pdHkgdG8gaW5jbHVkZSBvbmUgY29udHJpYnV0aW9uIGFuZCBmaXggb3RoZXIgbWlub3IgaXNzdWVzLg0KKw0KKzIuMTAuMCBzaG91bGQgYmUgcmVsZWFzZWQgdGhpcyBKYW51YXJ5Lg0KKw0KK0RldmVsb3BtZW50IGhhcyBhbHNvIGJlZW4gYXNzb2NpYXRlZCB0byB0aGUgbWlncmF0aW9uIG9mIHdpa2kgcGFnZXMNCitmcm9tIHd3dy5lY3lyZC5jb20vSlNQV2lraSAoZm9ybWVyIHd3dy5qc3B3aWtpLm9yZykgdG8gb3VyIG5ldyB3aWtpLg0KKw0KK0NvbW11bml0eQ0KKy0tLS0tLS0tLQ0KK0xhc3QgQ29tbWl0dGVyOiBHbGVuIE1henphIChnbWF6emEpLCBvbiAwNHRoIEphbiwgMjAxMw0KK0xhc3QgUE1DOiBHbGVuIE1henphIChnbWF6emEpLCBvbiAwNHRoIEphbiwgMjAxMw0KKw0KK0FjdGl2aXR5IGhhcyByZXR1cm5lZCB0byBpdCdzIG5vcm1hbCBsZXZlbHMgYXQgZGV2QGouYS5vLCB3aGVyZWFzIA0KK3VzZXJAai5hLm8gY29udGludWVzIHdpdGggbW9yZSBvciBsZXNzIHRoZSBzYW1lIGFtb3VudCBvZiAobGl0dGxlKSANCithY3Rpdml0eS4NCisNCitXZSBoYXZlIHJlY2VpdmVkIGEgY291cGxlIG9mIGNvbnRyaWJ1dGlvbnMsIHRoZSBDbGVhbiBCbHVlIHRlbXBsYXRlLA0KK3RvIGJlIGluY2x1ZGVkIG9uIHRoZSB1cGNvbWluZyAyLjEwLjAgcmVsZWFzZSBhbmQgdGhlIEVudGl0eU1hbmFnZXIsDQord2hpY2ggc2hvdWxkIGJlIGxvb2tlZCBhdCBhZnRlciAyLjEwLjAuIFdlIGFsc28gcmVjZWl2ZWQgYSBjb3VwbGUgb2YNCitwYXRjaGVzIGluIHRoaXMgcGVyaW9kLCB3aGljaCBoYXZlIGJlZW4gaW5jb3Jwb3JhdGVkIGludG8gdHJ1bmsuDQorDQorOTIgKCswKSBwZW9wbGUgc3Vic2NyaWJlZCB0byBkZXZAai5hLm8sIDE3NSAoLTEpIHBlb3BsZSBzdWJzY3JpYmVkIGF0DQordXNlckBqLmEubwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2JvYXJkLXJlcG9ydHMvMjAxNC0wNC50eHQgYi9ib2FyZC1yZXBvcnRzLzIwMTQtMDQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMyMWU3ODUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC1yZXBvcnRzLzIwMTQtMDQudHh0CkBAIC0wLDAgKzEsMzcgQEAKK0pTUFdpa2kgaXMgYSBKYXZhLWJhc2VkIHdpa2kgZW5naW5lDQorDQorQW55dGhpbmcgdGhlIGJvYXJkIHNob3VsZCBiZSBhd2FyZSBvZj8NCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitUaGVyZSBhcmUgbm8gQm9hcmQtbGV2ZWwgaXNzdWVzIGF0IHRoaXMgdGltZS4NCisNCitSZWxlYXNlcyAvIERldmVsb3BtZW50DQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0xhc3QgcmVsZWFzZSBvbiAxc3QgRmViLCAyMDE0DQorDQorQXMgYW4gZWZmZWN0IG9mIHJlbGVhc2luZyAyLjEwLjAsIHdlJ3ZlIGhhZCBzZXZlcmFsIEpJUkFzIHJhaXNlZCwNCithY2NvbXBhbmllZCBieSB0aGVpciBjb3JyZXNwb25kaW5nIHBhdGNoZXMsIDUgb2YgdGhlbSBhbHJlYWR5DQorb24gdHJ1bmsuDQorDQorQSAyLjEwLjEgcmVsZWFzZSBpcyBiZWluZyBkaXNjdXNzZWQgYXQgZGV2QGpzcHdpa2kuYXBhY2hlLm9yZywgd2hpY2gNCitzaG91bGQgZml4IGEgY291cGxlIG9mIGlzc3VlcyBmb3VuZCBhZnRlciAyLjEwLjA7IHRoaXMgcmVsZWFzZSB3aWxsIA0KK2Fsc28gYWRkIHRoZSBhYmlsaXR5IG9mIGxvYWRpbmcgcGx1Z2lucyBmcm9tIGFuIG91dHNpZGUgZGlyZWN0b3J5Lg0KKw0KK0FzaWRlIGZyb20gdGhpcywgdGhlcmUgaXMgd29yayBpbiBwcm9ncmVzcyBvbiBhIG5ldyB0ZW1wbGF0ZSAvIFVJIGZvcg0KK0pTUFdpa2kgYW5kIG9uIGhhdmluZyBwb3J0YWJsZSBiaW5hcmllcy4NCisNCitDb21tdW5pdHkNCistLS0tLS0tLS0NCitMYXN0IENvbW1pdHRlcjogR2xlbiBNYXp6YSAoZ21henphKSwgb24gMDR0aCBKYW4sIDIwMTMNCitMYXN0IFBNQzogR2xlbiBNYXp6YSAoZ21henphKSwgb24gMDR0aCBKYW4sIDIwMTMNCisNCitXZSBhc2tlZCBvbmUgaW5kaXZpZHVhbCB0byBqb2luIGFzIFBNQyBhbmQgY29tbWl0dGVyLCBidXQgdGhlIA0KK2ludml0YXRpb24gd2FzIGRlY2xpbmVkLg0KKw0KK09uZSBKU1BXaWtpIHRhbGsgYXQgQXBhY2hlQ29uLCBnaXZlbiBieSBTaWVnZnJpZWQgR/Zlc2NobA0KKw0KKzIuMTAuMCByZWxlYXNlIGJyb3VnaHQgYSByb3VnaCAzMCUgaW5jcmVhc2Ugb24gYWN0aXZpdHkgYXQgZGV2QGouYS5vIA0KK3RoaXMgcGVyaW9kLCB3aXRoIH4xMjAgbWVzc2FnZXMgcGVyIG1vbnRoLCB3aXRoIHVzZXJAai5hLm8gYWxzbyANCitoYXZpbmcgYSBiaWcgc3Bpa2UgdGhpcyBxdWFydGVyLg0KKw0KKzg5ICgtMykgcGVvcGxlIHN1YnNjcmliZWQgdG8gZGV2QGouYS5vLCAxNzUgKCswKSBwZW9wbGUgc3Vic2NyaWJlZCBhdA0KK3VzZXJAai5hLm8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzLzIwMTQtMDcudHh0IGIvYm9hcmQtcmVwb3J0cy8yMDE0LTA3LnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NjA1ZDE4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy8yMDE0LTA3LnR4dApAQCAtMCwwICsxLDI1IEBACitTdGF0dXMgUmVwb3J0IGZvciB0aGUgQXBhY2hlIEpTUFdpa2kgcHJvamVjdCAtIEp1bHkgMjAxNA0KKw0KK0pTUFdpa2kgaXMgYSBKYXZhLWJhc2VkIHdpa2kgZW5naW5lDQorDQorPT0gQW55dGhpbmcgdGhlIGJvYXJkIHNob3VsZCBiZSBhd2FyZSBvZj8NCitUaGVyZSBhcmUgbm8gQm9hcmQtbGV2ZWwgaXNzdWVzIGF0IHRoaXMgdGltZS4NCisNCis9PSBSZWxlYXNlcyAvIERldmVsb3BtZW50DQorTGFzdCByZWxlYXNlLCAyLjEwLjEsIG9uIDI5dGggTWF5LCAyMDE0DQorDQorQXNpZGUgZnJvbSBlZmZvcnRzIHB1dCBpbnRvIHRoZSByZWxlYXNlLCBpdCdzIGJlZW4gYSBxdWlldGVyIHBlcmlvZCB0aGFuDQordXN1YWwsIGFsdGhvdWdoIGEgY29udHJpYnV0aW9uIHdhcyBpbmNvcnBvcmF0ZWQgaW50byB0cnVuayBhbmQgcXVlc3Rpb25zDQorYXJlIGJlaW5nIGFuc3dlcmVkIG9uIE1Mcy4NCisNCis9PSBDb21tdW5pdHkNCitMYXN0IENvbW1pdHRlcjogR2xlbiBNYXp6YSAoZ21henphKSwgb24gMDR0aCBKYW4sIDIwMTMNCitMYXN0IFBNQzogR2xlbiBNYXp6YSAoZ21henphKSwgb24gMDR0aCBKYW4sIDIwMTMNCisNCitCYWNrIHRvIG5vcm1hbCBsZXZlbHMgb2YgYWN0aXZpdHkgb24gTUwsIG1lYW5pbmcgYSByb3VnaCAzMCUgZGVjcmVhc2Ugb2YgDQorYWN0aXZpdHkgYXQgZGV2QGouYS5vIG9uIHRoaXMgcGVyaW9kLCB3aGVuIGNvbXBhcmVkIHRvIHByZXZpb3VzIHBlcmlvZCwgd2l0aA0KK2FuIGF2ZXJhZ2Ugb2YgYWxtb3N0IDcwIG1lc3NhZ2VzIHBlciBtb250aCwgd2l0aCB1c2VyQGouYS5vIGFsc28gZ29pbmcgYmFjayANCit0byBub3JtYWwgbGV2ZWxzICgxNi0xNyBtZXNzYWdlcyBwZXIgbW9udGgsIG9uIGF2ZXJhZ2UpLg0KKw0KKzg4ICgtMSkgcGVvcGxlIHN1YnNjcmliZWQgdG8gZGV2QGouYS5vLCAxNzcgKCsyKSBwZW9wbGUgc3Vic2NyaWJlZCBhdA0KK3VzZXJAai5hLm8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzLzIwMTQtMTAudHh0IGIvYm9hcmQtcmVwb3J0cy8yMDE0LTEwLnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMmQ4ODA0Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy8yMDE0LTEwLnR4dApAQCAtMCwwICsxLDIzIEBACitTdGF0dXMgUmVwb3J0IGZvciB0aGUgQXBhY2hlIEpTUFdpa2kgcHJvamVjdCAtIE9jdG9iZXIgMjAxNA0KKw0KK0pTUFdpa2kgaXMgYSBKYXZhLWJhc2VkIHdpa2kgZW5naW5lDQorDQorPT0gQW55dGhpbmcgdGhlIGJvYXJkIHNob3VsZCBiZSBhd2FyZSBvZj8NCitUaGVyZSBhcmUgbm8gQm9hcmQtbGV2ZWwgaXNzdWVzIGF0IHRoaXMgdGltZS4NCisNCis9PSBSZWxlYXNlcyAvIERldmVsb3BtZW50DQorTGFzdCByZWxlYXNlLCAyLjEwLjEsIG9uIDI5dGggTWF5LCAyMDE0DQorDQorQSBxdWlldCBwZXJpb2QgcmVnYXJkaW5nIGRldmVsb3BtZW50LCBpbnZvbHZpbmcgMyBKSVJBcywgZml4ZXMgZm9yIDIgb2YNCit0aGVtIHByb3ZpZGVkIGJ5IGNvbW11bml0eS4NCisNCis9PSBDb21tdW5pdHkNCitMYXN0IENvbW1pdHRlcjogU2llZ2ZyaWVkIEdvZXNjaGwgKHNnb2VzY2hsKSwgb24gMjFzdCBBdWcsIDIwMTQNCitMYXN0IFBNQzogU2llZ2ZyaWVkIEdvZXNjaGwgKHNnb2VzY2hsKSwgb24gMjFzdCBBdWcsIDIwMTQNCisNCitUaGlzIHF1YXJ0ZXIgd2UgaGFkIGEgZGVjcmVhc2Ugb24gYWN0aXZpdHkgb24gTUxzLCB3aXRoIH41MCBtZXNzYWdlcyBwZXINCittb250aCBhdCBkZXZAai5hLm8sIHdoZW4gY29tcGFyZWQgdG8gcHJldmlvdXMgcGVyaW9kICh+NzApLCBhbmQgdXNlckBqLmEubw0KK2Fsc28gZ29pbmcgYmFjayB0byB+MTAgbWVzc2FnZXMgcGVyIG1vbnRoICgxNi0xNyBvbiBsYXN0IHBlcmlvZCkuDQorDQorODkgKCsxKSBwZW9wbGUgc3Vic2NyaWJlZCB0byBkZXZAai5hLm8sIDE3NyAoPSkgcGVvcGxlIHN1YnNjcmliZWQgYXQNCit1c2VyQGouYS5vClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYm9hcmQtcmVwb3J0cy8yMDE1LTAxLnR4dCBiL2JvYXJkLXJlcG9ydHMvMjAxNS0wMS50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmQ5ZWQ4ZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvMjAxNS0wMS50eHQKQEAgLTAsMCArMSwyNSBAQAorU3RhdHVzIFJlcG9ydCBmb3IgdGhlIEFwYWNoZSBKU1BXaWtpIHByb2plY3QgLSBKYW51YXJ5IDIwMTUNCisNCitKU1BXaWtpIGlzIGEgSmF2YS1iYXNlZCB3aWtpIGVuZ2luZQ0KKw0KKz09IEFueXRoaW5nIHRoZSBib2FyZCBzaG91bGQgYmUgYXdhcmUgb2Y/DQorVGhlcmUgYXJlIG5vIEJvYXJkLWxldmVsIGlzc3VlcyBhdCB0aGlzIHRpbWUuDQorDQorPT0gUmVsZWFzZXMgLyBEZXZlbG9wbWVudA0KK0xhc3QgcmVsZWFzZSwgMi4xMC4xLCBvbiAyOXRoIE1heSwgMjAxNA0KKw0KK1JlZ2FyZGluZyBkZXZlbG9wbWVudCwgdGhpcyBwZXJpb2QgaW52b2x2ZWQgNyBKSVJBcyBzb2x2ZWQsIG1vc3QNCitub3RhYmxlIG9mIHRoZW0gV2lraSBPbiBhIFN0aWNrIGZ1bmN0aW9uYWxpdHkgYmVpbmcgbWVyZ2VkIGludG8NCit0cnVuay4NCisNCis9PSBDb21tdW5pdHkNCitMYXN0IENvbW1pdHRlcjogRGF2aWQgVml0dG9yIChkdml0dG9yKSwgb24gMjNyZCBEZWMsIDIwMTQNCitMYXN0IFBNQzogRGF2aWQgVml0dG9yIChkdml0dG9yKSwgb24gMjNyZCBEZWMsIDIwMTQNCisNCitUaGlzIHF1YXJ0ZXIgd2UgaGFkIGFub3RoZXIgZGVjcmVhc2Ugb24gYWN0aXZpdHkgb24gTUxzLCB3aXRoIH4yMA0KK21lc3NhZ2VzIHBlciBtb250aCBhdCBkZXZAai5hLm8sIHdoZW4gY29tcGFyZWQgdG8gcHJldmlvdXMgcGVyaW9kDQorKH41MCksIGFuZCB1c2VyQGouYS5vIGFsc28gZ29pbmcgYmFjayB0byB+NCBtZXNzYWdlcyBwZXIgbW9udGggKGF2ZXJhZ2UNCitvZiAxMCBvbiBsYXN0IHBlcmlvZCkuIFF1ZXN0aW9ucyBhcmUgYmVpbmcgYW5zd2VyZWQsIHRob3VnaC4NCisNCis4OCAoLTEpIHBlb3BsZSBzdWJzY3JpYmVkIHRvIGRldkBqLmEubywgMTcyICgtNSkgcGVvcGxlIHN1YnNjcmliZWQgYXQNCit1c2VyQGouYS5vClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYm9hcmQtcmVwb3J0cy8yMDE1LTA0LnR4dCBiL2JvYXJkLXJlcG9ydHMvMjAxNS0wNC50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTAxYjBiYQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvMjAxNS0wNC50eHQKQEAgLTAsMCArMSw0OSBAQAorUmVwb3J0IGZyb20gdGhlIEFwYWNoZSBKU1BXaWtpIHByb2plY3QNCisNCisjIyBEZXNjcmlwdGlvbjoNCisNCisgICBBIGZlYXR1cmUtcmljaCBhbmQgZXh0ZW5zaWJsZSBXaWtpV2lraSBlbmdpbmUgYnVpbHQgYXJvdW5kIHRoZSBzdGFuZGFyZCANCisgICAgICAgIEoyRUUgY29tcG9uZW50cyAoSmF2YSwgc2VydmxldHMsIEpTUCkuDQorICANCisjIyBBY3Rpdml0eToNCisNCisgLSBBZ2Fpbiwgc2xvdyBwYWNlIG9mIGRldmVsb3BtZW50LCBpbmNsdWRpbmcgKGJ1dCBub3QgbGltaXRlZCB0bykgc29tZQ0KKyAgIGludGVyZXN0aW5nIGZ1bmN0aW9uYWxpdGllcyBjb21taXR0ZWQgaW50byB0cnVuazoNCisgICAqIFBvcnRhYmxlIGJ1aWxkcyBvZiBKU1BXaWtpLg0KKyAgICogQ29tcGxldGUgcmV3cml0ZSBvZiBBSkFYIGZ1bmN0aW9uYWxpdHkuDQorICAgKiBKU1BXaWtpIGNvbmZpZ3VyYWJsZSB2aWEgZW52aXJvbm1lbnQgdmFyaWFibGVzLCB3aGljaCBhbGxvd3MgZWFzeQ0KKyAgICAgZG9ja2VyaXphdGlvbi4NCisNCisgLSBGZXcgcXVlc3Rpb25zIGF0IHVzZXJAai5hLm8sIHdpdGggdGhlaXIgZm9sbG93LXVwcywgd2l0aCBkZXZAai5hLm8gbW9zdGx5DQorICAgY29udGFpbmluZyBKSVJBIG5vdGlmaWNhdGlvbnMuDQorICANCisjIyBJc3N1ZXM6DQorDQorIC0gdGhlcmUgYXJlIG5vIGlzc3VlcyByZXF1aXJpbmcgYm9hcmQgYXR0ZW50aW9uIGF0IHRoaXMgdGltZS4NCisgIA0KKyMjIFBNQy9Db21taXR0ZXJzaGlwIGNoYW5nZXM6DQorICANCisgLSBDdXJyZW50bHkgMTUgY29tbWl0dGVycyBhbmQgMTAgUE1DIG1lbWJlcnMgaW4gdGhlIHByb2plY3QuDQorIC0gRGF2aWQgVml0dG9yIHdhcyBhZGRlZCB0byB0aGUgUE1DIG9uIFRodSBKYW4gMjIgMjAxNS4NCisgLSBMYXN0IGNvbW1pdHRlciBhZGRpdGlvbiB3YXMgRGF2aWQgVml0dG9yIGF0IEZyaSBKYW4gMDIgMjAxNS4NCisgLSBHbGVuIE1henphIHJlc2lnbmVkIGZyb20gUE1DIG9uIDMxLzAzLzIwMTUsIHdlIGFsbCB0aGFuayBoaW0gZm9yIGhpcw0KKyAgIHNlcnZpY2UuDQorICANCisjIyBSZWxlYXNlczoNCisgIA0KKyAtIExhc3QgcmVsZWFzZSB3YXMgMi4xMC4xIG9uIFRodSBNYXkgMjkgMjAxNC4NCisgIA0KKyMjIE1haWxpbmcgbGlzdCBhY3Rpdml0eToNCisgIA0KKyAtIGRldkBqc3B3aWtpLmFwYWNoZS5vcmc6IA0KKyAgICAtIDg2IHN1YnNjcmliZXJzIChkb3duIC0yIGluIHRoZSBsYXN0IDMgbW9udGhzKToNCisgICAgLSAxMjcgZW1haWxzIHNlbnQgdG8gbGlzdCAoNjAgaW4gcHJldmlvdXMgcXVhcnRlcikuDQorICANCisgLSB1c2VyQGpzcHdpa2kuYXBhY2hlLm9yZzogDQorICAgIC0gMTczIHN1YnNjcmliZXJzICh1cCAxIGluIHRoZSBsYXN0IDMgbW9udGhzKToNCisgICAgLSAyOSBlbWFpbHMgc2VudCB0byBsaXN0ICgxNCBpbiBwcmV2aW91cyBxdWFydGVyKS4NCisgIA0KKyMjIEpJUkEgYWN0aXZpdHk6DQorICANCisgLSA1IEpJUkEgdGlja2V0cyBjcmVhdGVkIGluIHRoZSBsYXN0IDMgbW9udGhzLg0KKyAtIDE2IEpJUkEgdGlja2V0cyBjbG9zZWQvcmVzb2x2ZWQgaW4gdGhlIGxhc3QgMyBtb250aHMuClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYm9hcmQtcmVwb3J0cy8yMDE1LTA3LnR4dCBiL2JvYXJkLXJlcG9ydHMvMjAxNS0wNy50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMThlZjM0YQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvMjAxNS0wNy50eHQKQEAgLTAsMCArMSw0MyBAQAorUmVwb3J0IGZyb20gdGhlIEFwYWNoZSBKU1BXaWtpIGNvbW1pdHRlZQ0KKw0KKyMjIERlc2NyaXB0aW9uOiANCisgICBBIGZlYXR1cmUtcmljaCBhbmQgZXh0ZW5zaWJsZSBXaWtpV2lraSBlbmdpbmUgYnVpbHQgYXJvdW5kIHRoZSBzdGFuZGFyZCAgDQorICAgICAgICBKMkVFIGNvbXBvbmVudHMgKEphdmEsIHNlcnZsZXRzLCBKU1ApLiANCisgICANCisjIyBBY3Rpdml0eTogDQorIC0gU3RhcnRlZCBjb252ZXJzYXRpb25zIGFib3V0IHJlbGVhc2luZyAyLjEwLjIsIHdoaWNoIHNob3VsZCBoYXBwZW4gc29vbi4NCisgLSBMYXN0IG1vbnRoIHNhdyBhIGJ1cnN0IG9mIGFjdGl2aXR5IGF0IHVzZXIncyBNTC4NCisgLSBOZXcgU1ZOIGJyYW5jaCBjcmVhdGVkIHRvIGludHJvZHVjZSBQaWNvQ29udGFpbmVyIHRvIGhhbmRsZSBkZXBlbmRlbmN5IA0KKyAgICBpbmplY3Rpb24uDQorIC0gT25nb2luZyB3b3JrIG9uIEhhZGRvY2sgdGVtcGxhdGUsIGEgbmV3IHRlbXBsYXRlL3VpIGZvciBBcGFjaGUgSlNQV2lraS4NCisgICANCisjIyBJc3N1ZXM6IA0KKyAtIHRoZXJlIGFyZSBubyBpc3N1ZXMgcmVxdWlyaW5nIGJvYXJkIGF0dGVudGlvbiBhdCB0aGlzIHRpbWUNCisgICANCisjIyBMREFQIGNvbW1pdHRlZS9Db21taXR0ZXJzaGlwIGNoYW5nZXM6IA0KKyAgIA0KKyAtIEN1cnJlbnRseSAxNSBjb21taXR0ZXJzIGFuZCAxMCBMREFQIGNvbW1pdHRlZSBtZW1iZXJzLiANCisgLSBObyBuZXcgTERBUCBjb21taXR0ZWUgbWVtYmVycyBhZGRlZCBpbiB0aGUgbGFzdCAzIG1vbnRocyANCisgLSBMYXN0IExEQVAgY29tbWl0dGVlIGFkZGl0aW9uIHdhcyBEYXZpZCBWaXR0b3IgYXQgVGh1IEphbiAyMiAyMDE1IA0KKyAtIE5vIG5ldyBjb21taXR0ZXJzIGFkZGVkIGluIHRoZSBsYXN0IDMgbW9udGhzIA0KKyAtIExhc3QgY29tbWl0dGVyIGFkZGl0aW9uIHdhcyBEYXZpZCBWaXR0b3IgYXQgRnJpIEphbiAwMiAyMDE1IA0KKyAgIA0KKyMjIFJlbGVhc2VzOiANCisgICANCisgLSBMYXN0IHJlbGVhc2Ugd2FzIDIuMTAuMSBvbiBUaHUgTWF5IDI5IDIwMTQgDQorICAgDQorIyMgTWFpbGluZyBsaXN0IGFjdGl2aXR5OiANCisgICANCisgLSBkZXZAanNwd2lraS5hcGFjaGUub3JnOiAgDQorICAgIC0gODUgc3Vic2NyaWJlcnMgKGRvd24gLTEgaW4gdGhlIGxhc3QgMyBtb250aHMpOiANCisgICAgLSAxNTEgZW1haWxzIHNlbnQgdG8gbGlzdCAoMTI0IGluIHByZXZpb3VzIHF1YXJ0ZXIpIA0KKyAgIA0KKyAtIHVzZXJAanNwd2lraS5hcGFjaGUub3JnOiAgDQorICAgIC0gMTc1IHN1YnNjcmliZXJzICh1cCAyIGluIHRoZSBsYXN0IDMgbW9udGhzKTogDQorICAgIC0gOTMgZW1haWxzIHNlbnQgdG8gbGlzdCAoMjkgaW4gcHJldmlvdXMgcXVhcnRlcikgDQorICAgDQorICAgDQorIyMgSklSQSBhY3Rpdml0eTogDQorICAgDQorIC0gMTcgSklSQSB0aWNrZXRzIGNyZWF0ZWQgaW4gdGhlIGxhc3QgMyBtb250aHMgDQorIC0gMTMgSklSQSB0aWNrZXRzIGNsb3NlZC9yZXNvbHZlZCBpbiB0aGUgbGFzdCAzIG1vbnRocyAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzLzIwMTUtMTAudHh0IGIvYm9hcmQtcmVwb3J0cy8yMDE1LTEwLnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NjE0MjIwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy8yMDE1LTEwLnR4dApAQCAtMCwwICsxLDU1IEBACitSZXBvcnQgZnJvbSB0aGUgQXBhY2hlIEpTUFdpa2kgY29tbWl0dGVlDQorDQorIyMgRGVzY3JpcHRpb246DQorICAgQSBmZWF0dXJlLXJpY2ggYW5kIGV4dGVuc2libGUgV2lraVdpa2kgZW5naW5lIGJ1aWx0IGFyb3VuZCB0aGUgc3RhbmRhcmQgDQorICAgICAgICBKMkVFIGNvbXBvbmVudHMgKEphdmEsIHNlcnZsZXRzLCBKU1ApLg0KKyAgDQorIyMgSXNzdWVzOg0KKyAtIFRoZXJlIGFyZSBubyBpc3N1ZXMgcmVxdWlyaW5nIGJvYXJkIGF0dGVudGlvbiBhdCB0aGlzIHRpbWUuDQorICANCisjIyBBY3Rpdml0eToNCisgLSBRdWlldCBxdWFydGVyIHJlZ2FyZGluZyBNTCBhY3Rpdml0eSwgYWx0aG91Z2ggY29udmVyc2F0aW9ucyBvbiByZWxlYXNpbmcNCisgICAyLjEwLjIgc3B1biBxdWl0ZSBhIGJ1cnN0IG9mIGFjdGl2aXR5IHRvIGluY2x1ZGUgbmV3IGZ1bmN0aW9uYWxpdHkgZm9yDQorICAgdGhpcyByZWxlYXNlLg0KKyAtIFdlIGhhdmUgdG8gcmV0YWtlIGNvbnZlcnNhdGlvbiBvbiByZWxlYXNpbmcgMi4xMC4yLiBUaGVyZSBzaG91bGRuJ3QgYmUNCisgICB0b28gbXVjaCB0cm91YmxlIHdpdGggaXQuDQorICANCisjIyBIZWFsdGggcmVwb3J0Og0KKyAtIEFzIHNhaWQgYmVmb3JlLCBpdCBoYXMgYmVlbiBhIHF1aWV0IHF1YXJ0ZXIsIGJ1dCB0aGlzIGhhcHBlbnMgZnJvbSB0aW1lDQorICAgdG8gdGltZTsgYWxsIEpTUFdpa2kgZGV2ZWxvcGVycyB3b3JrIG9uIGl0IG9uIHRoZWlyIGZyZWUgdGltZSwgcGx1cyB0aGlzDQorICAgcXVhcnRlciB3ZSd2ZSBoYWQgZmV3IHF1ZXN0aW9ucyBvbiBNTHMsIGhlbmNlIGxpdHRsZSBhY3Rpdml0eS4NCisgLSBUaGVyZSBpcyBzdGlsbCBwbGVudHkgZW5vdWdoIHBlb3BsZSB0byBhbnN3ZXIgcXVlc3Rpb25zIC8gdm90ZSBvbg0KKyAgIG5ldyByZWxlYXNlcywgZXRjLiwgdGhvdWdoLg0KKyAgDQorIyMgUE1DIGNoYW5nZXM6DQorICANCisgLSBDdXJyZW50bHkgMTAgUE1DIG1lbWJlcnMuDQorIC0gTm8gbmV3IFBNQyBtZW1iZXJzIGFkZGVkIGluIHRoZSBsYXN0IDMgbW9udGhzDQorIC0gTGFzdCBQTUMgYWRkaXRpb24gd2FzIERhdmlkIFZpdHRvciBhdCBGcmkgSmFuIDIzIDIwMTUNCisgIA0KKyMjIExEQVAgY2hhbmdlczoNCisgIA0KKyAtIEN1cnJlbnRseSAxNSBjb21taXR0ZXJzIGFuZCAxMCBjb21taXR0ZWUgZ3JvdXAgbWVtYmVycy4NCisgLSBObyBuZXcgY29tbWl0dGVlIGdyb3VwIG1lbWJlcnMgYWRkZWQgaW4gdGhlIGxhc3QgMyBtb250aHMNCisgLSBObyBuZXcgY29tbWl0dGVycyBhZGRlZCBpbiB0aGUgbGFzdCAzIG1vbnRocw0KKyAtIExhc3QgY29tbWl0dGVyIGFkZGl0aW9uIHdhcyBEYXZpZCBWaXR0b3IgYXQgRnJpIEphbiAwMiAyMDE1DQorICANCisjIyBSZWxlYXNlczoNCisgIA0KKyAtIExhc3QgcmVsZWFzZSB3YXMgMi4xMC4xIG9uIFRodSBNYXkgMjkgMjAxNA0KKyAgDQorIyMgTWFpbGluZyBsaXN0IGFjdGl2aXR5Og0KKyAgDQorIC0gZGV2QGpzcHdpa2kuYXBhY2hlLm9yZzogDQorICAgIC0gODQgc3Vic2NyaWJlcnMgKGRvd24gLTEgaW4gdGhlIGxhc3QgMyBtb250aHMpOg0KKyAgICAtIDEwNyBlbWFpbHMgc2VudCB0byBsaXN0ICgxNTkgaW4gcHJldmlvdXMgcXVhcnRlcikNCisgIA0KKyAtIHVzZXJAanNwd2lraS5hcGFjaGUub3JnOiANCisgICAgLSAxNzIgc3Vic2NyaWJlcnMgKGRvd24gLTIgaW4gdGhlIGxhc3QgMyBtb250aHMpOg0KKyAgICAtIDIwIGVtYWlscyBzZW50IHRvIGxpc3QgKDEwNSBpbiBwcmV2aW91cyBxdWFydGVyKQ0KKyAgDQorICANCisjIyBKSVJBIGFjdGl2aXR5Og0KKyAgDQorIC0gMjEgSklSQSB0aWNrZXRzIGNyZWF0ZWQgaW4gdGhlIGxhc3QgMyBtb250aHMNCisgLSAxNyBKSVJBIHRpY2tldHMgY2xvc2VkL3Jlc29sdmVkIGluIHRoZSBsYXN0IDMgbW9udGhzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYm9hcmQtcmVwb3J0cy8yMDE2LTAxLnR4dCBiL2JvYXJkLXJlcG9ydHMvMjAxNi0wMS50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDZmMThkNAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvMjAxNi0wMS50eHQKQEAgLTAsMCArMSw1NCBAQAorIyMgRGVzY3JpcHRpb246IA0KKyAgIEEgZmVhdHVyZS1yaWNoIGFuZCBleHRlbnNpYmxlIFdpa2lXaWtpIGVuZ2luZSBidWlsdCBhcm91bmQgdGhlIHN0YW5kYXJkICANCisgICAgICAgIEpFRSBjb21wb25lbnRzIChKYXZhLCBzZXJ2bGV0cywgSlNQKS4gDQorICAgDQorIyMgSXNzdWVzOiANCisgLSBBbHRob3VnaCBhbG1vc3Qgbm8gZGV2IGFjdGl2aXR5IG9uIHRoaXMgcXVhcnRlciAoc2VlIGJlbG93KSwgd2UgdGhpbmsgDQorICAgdGhlcmUgYXJlIG5vIGlzc3VlcyByZXF1aXJpbmcgYm9hcmQgYXR0ZW50aW9uIGF0IHRoaXMgdGltZS4NCisgICANCisjIyBBY3Rpdml0eTogDQorIC0gQWxtb3N0IG5vIFNWTiBhY3Rpdml0eSB0aGlzIHF1YXJ0ZXIuIA0KKyAtIFJlbGVhc2UgMi4xMC4yIGJsb2NrZWQgZHVlIHRvIGRldmVsb3BlcnMnIGxhY2sgb2YgdGltZSBvbiB0aGUgcHJvamVjdCwgDQorICAgKGR1ZSB0byBiZWluZyBkZXZlbG9wZWQgb24gYSBmcmVlLXRpbWUgYmFzaXMpIGhvbGlkYXlzLCBldGMuLCBidXQgDQorICAgc2hvdWxkIGJlIGRvYWJsZSBvbiB0aGlzIHF1YXJ0ZXIuDQorIC0gTm8gcXVlc3Rpb25zIHVuYXR0ZW5kZWQvdW5hbnN3ZXJlZCBvbiBNTHMuDQorICAgDQorIyMgSGVhbHRoIHJlcG9ydDogDQorIC0gQWx0aG91Z2ggdGhlcmUgaGFzbid0IGJlZW4gYWxtb3N0IGFueSBkZXZlbG9wbWVudCBhY3Rpdml0eSB0aGlzIHF1YXJ0ZXIsIA0KKyAgIHdlIGRvbid0IHRoaW5rIHRoZXJlJ3MgcmVhc29uIHRvIGNvbmNlcm46IFByb2plY3QgaXMgc3RhYmxlIC8gbWF0dXJlIA0KKyAgIHdpdGggYSBzbG93IHBhY2Ugb2YgZGV2ZWxvcG1lbnQsIHBsdXMgdGhlcmUncyBlbm91Z2ggcGVvcGxlIHRvIG92ZXJzZWUgDQorICAgdGhlIHByb2plY3QgKHZvdGUgb24gcmVsZWFzZXMsIGFuc3dlciBxdWVzdGlvbnMsIGV0Yy4pLiANCisgLSBBY3Rpdml0eSBpcyBleHBlY3RlZCB0byBiZSBwaWNrZWQgdXAgb25jZSB3ZSByZWxlYXNlIDIuMTAuMi4NCisgICANCisjIyBQTUMgY2hhbmdlczogDQorICAgDQorIC0gQ3VycmVudGx5IDEwIFBNQyBtZW1iZXJzLiANCisgLSBObyBuZXcgUE1DIG1lbWJlcnMgYWRkZWQgaW4gdGhlIGxhc3QgMyBtb250aHMgDQorIC0gTGFzdCBQTUMgYWRkaXRpb24gd2FzIERhdmlkIFZpdHRvciBvbiBGcmkgSmFuIDIzIDIwMTUgDQorICAgDQorIyMgQ29tbWl0dGVyIGJhc2UgY2hhbmdlczogDQorICAgDQorIC0gQ3VycmVudGx5IDE1IGNvbW1pdHRlcnMuIA0KKyAtIE5vIG5ldyBjb21taXR0ZXJzIGFkZGVkIGluIHRoZSBsYXN0IDMgbW9udGhzIA0KKyAtIExhc3QgY29tbWl0dGVyIGFkZGl0aW9uIHdhcyBEYXZpZCBWaXR0b3IgYXQgRnJpIEphbiAwMiAyMDE1IA0KKyAgIA0KKyMjIFJlbGVhc2VzOiANCisgICANCisgLSBMYXN0IHJlbGVhc2Ugd2FzIDIuMTAuMSBvbiBUaHUgTWF5IDI5IDIwMTQgDQorICAgDQorIyMgTWFpbGluZyBsaXN0IGFjdGl2aXR5OiANCisgICANCisgLSBkZXZAanNwd2lraS5hcGFjaGUub3JnOiAgDQorICAgIC0gODYgc3Vic2NyaWJlcnMgKHVwIDIgaW4gdGhlIGxhc3QgMyBtb250aHMpOiANCisgICAgLSA0MCBlbWFpbHMgc2VudCB0byBsaXN0ICgxMzIgaW4gcHJldmlvdXMgcXVhcnRlcikgDQorICAgDQorIC0gdXNlckBqc3B3aWtpLmFwYWNoZS5vcmc6ICANCisgICAgLSAxNzcgc3Vic2NyaWJlcnMgKHVwIDUgaW4gdGhlIGxhc3QgMyBtb250aHMpOiANCisgICAgLSAyOSBlbWFpbHMgc2VudCB0byBsaXN0ICgyNyBpbiBwcmV2aW91cyBxdWFydGVyKSANCisgICANCisgICANCisjIyBKSVJBIGFjdGl2aXR5OiANCisgICANCisgLSA0IEpJUkEgdGlja2V0cyBjcmVhdGVkIGluIHRoZSBsYXN0IDMgbW9udGhzIA0KKyAtIDMgSklSQSB0aWNrZXRzIGNsb3NlZC9yZXNvbHZlZCBpbiB0aGUgbGFzdCAzIG1vbnRocyANCisgICANCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzLzIwMTYtMDQudHh0IGIvYm9hcmQtcmVwb3J0cy8yMDE2LTA0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZmUwZGNlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy8yMDE2LTA0LnR4dApAQCAtMCwwICsxLDU3IEBACisjIyBEZXNjcmlwdGlvbjogDQorICAgQSBmZWF0dXJlLXJpY2ggYW5kIGV4dGVuc2libGUgV2lraVdpa2kgZW5naW5lIGJ1aWx0IGFyb3VuZCB0aGUgc3RhbmRhcmQgIA0KKyAgICAgICAgSkVFIGNvbXBvbmVudHMgKEphdmEsIHNlcnZsZXRzLCBKU1ApLiANCisgICANCisjIyBJc3N1ZXM6IA0KKyAtIHRoZXJlIGFyZSBubyBpc3N1ZXMgcmVxdWlyaW5nIGJvYXJkIGF0dGVudGlvbiBhdCB0aGlzIHRpbWUuIA0KKyAgIA0KKyMjIEFjdGl2aXR5OiANCisgLSB1c2VyQGouYS5vIGhlbGQgYSB0aHJlYWQgbmFtZWQgIk9wZW4gRGlzY3Vzc2lvbiAtIEhvdyB0byBpbmNyZWFzaW5nIA0KKyAgIEpTUFdpa2kgcHVibGljaXR5Ii4gQXMgYSByZXN1bHQgb2YgdGhhdCB3ZSBrbm93IGhhdmUgb25lIG1vcmUgUE1DICYNCisgICBjb21taXR0ZXIsIHdobyBpcyB0YWtpbmcgY2FyZSBvZiBib3RoIHByb2plY3QncyBGYWNlYm9vayBhbmQgVHdpdHRlcg0KKyAgIGFjY291bnRzLg0KKyAtIEEgZmFjdWx0eSBtZW1iZXIgZnJvbSBNYXNzYWNodXNldHRzIGFwcHJvYWNoZWQgZGV2QGouYS5vIGFza2luZyBmb3IgDQorICAgc29tZSB0YXNrcyB0byBiZSBkb25lLCB3aGljaCBjb3VsZCBiZSB1c2VkIG9uIGEgY29tcHV0ZXIgc2NpZW5jZSBzZW5pb3IgDQorICAgc2VtaW5hciBjb3Vyc2UuDQorIC0gMi4xMC4yIHdhcyBmaW5hbGx5IHJlbGVhc2VkLCB3aGljaCByZXN1bHRlZCBpbnRvIGFuIGluY3JlYXNlIG9mIGFjdGl2aXR5DQorIC0gRGV2ZWxvcG1lbnQgYWZ0ZXIgMi4xMC4yIGhhcyBiZWVuIGZvY3VzZWQgbW9zdGx5IG9uIGltcHJvdmluZyBKU1BXaWtpJ3MgDQorICAgZGVmYXVsdCB0ZW1wbGF0ZS4gDQorIC0gVGhlcmUgd2VyZSBjb21taXRzIGJ5IHRocmVlIGRpZmZlcmVudCBwZW9wbGUgb24gdGhpcyBwZXJpb2QuDQorIC0gV2UgaGFkIG9uZSBzZWN1cml0eSB2dWxuZXJhYmlsaXR5IHJlcG9ydCwgYnV0IGl0IHdhcyBkaXNtaXNzZWQuDQorICAgDQorIyMgSGVhbHRoIHJlcG9ydDogDQorIC0gT3ZlcmFsbCwgdGhlIHByb2plY3QgaXMgaGVhbHRoeSwgYnV0IHdpdGggYSBzbG93IHBhY2Ugb2YgZGV2ZWxvcG1lbnQuDQorICAgDQorIyMgUE1DIGNoYW5nZXM6IA0KKyAgIA0KKyAtIEN1cnJlbnRseSAxMSBQTUMgbWVtYmVycy4gDQorIC0gRGF2ZSBLb2VsbWV5ZXIgd2FzIGFkZGVkIHRvIHRoZSBQTUMgb24gV2VkIEFwciAwNiAyMDE2IA0KKyAgIA0KKyMjIENvbW1pdHRlciBiYXNlIGNoYW5nZXM6IA0KKyAgIA0KKyAtIEN1cnJlbnRseSAxNiBjb21taXR0ZXJzLiANCisgLSBEYXZlIEtvZWxtZXllciB3YXMgYWRkZWQgYXMgYSBjb21taXR0ZXIgb24gV2VkIEFwciAwNiAyMDE2IA0KKyAgIA0KKyMjIFJlbGVhc2VzOiANCisgICANCisgLSAyLjEwLjIgd2FzIHJlbGVhc2VkIG9uIFNhdCBGZWIgMjAgMjAxNiANCisgICANCisjIyBNYWlsaW5nIGxpc3QgYWN0aXZpdHk6IA0KKyAgIA0KKyAtIEluY3JlYXNlIG9mIHRyYWZmaWMgb24gYm90aCBsaXN0cywgb24gdXNlciBkdWUgdG8gdGhlIGFmb3JhbWVudGlvbmVkIHRocmVhZA0KKyAgIHBsdXMgRkIgYW5kIFR3aXR0ZXIgYWNjb3VudHMsIGFuZCBvbiBkZXYgYmVjYXVzZSBvZiAyLjEwLjIgKyBKSVJBIGFjdGl2aXR5Lg0KKyAgIA0KKyAtIGRldkBqc3B3aWtpLmFwYWNoZS5vcmc6ICANCisgICAgLSA4OCBzdWJzY3JpYmVycyAodXAgMiBpbiB0aGUgbGFzdCAzIG1vbnRocyk6IA0KKyAgICAtIDEzMSBlbWFpbHMgc2VudCB0byBsaXN0ICgzOCBpbiBwcmV2aW91cyBxdWFydGVyKSANCisgICANCisgLSB1c2VyQGpzcHdpa2kuYXBhY2hlLm9yZzogIA0KKyAgICAtIDE4MCBzdWJzY3JpYmVycyAodXAgMyBpbiB0aGUgbGFzdCAzIG1vbnRocyk6IA0KKyAgICAtIDc0IGVtYWlscyBzZW50IHRvIGxpc3QgKDIwIGluIHByZXZpb3VzIHF1YXJ0ZXIpIA0KKyAgIA0KKyAgIA0KKyMjIEpJUkEgYWN0aXZpdHk6IA0KKyAgIA0KKyAtIDkgSklSQSB0aWNrZXRzIGNyZWF0ZWQgaW4gdGhlIGxhc3QgMyBtb250aHMgDQorIC0gMTIgSklSQSB0aWNrZXRzIGNsb3NlZC9yZXNvbHZlZCBpbiB0aGUgbGFzdCAzIG1vbnRocyANCisgICANCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzLzIwMTYtMDcudHh0IGIvYm9hcmQtcmVwb3J0cy8yMDE2LTA3LnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZGQzZmFmCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy8yMDE2LTA3LnR4dApAQCAtMCwwICsxLDQzIEBACisjIyBEZXNjcmlwdGlvbjoNCisgIEEgZmVhdHVyZS1yaWNoIGFuZCBleHRlbnNpYmxlIFdpa2lXaWtpIGVuZ2luZSBidWlsdCBhcm91bmQgdGhlIHN0YW5kYXJkIA0KK0pFRSBjb21wb25lbnRzIChKYXZhLCBzZXJ2bGV0cywgSlNQKS4NCisgDQorIyMgSXNzdWVzOg0KKy0gVGhlcmUgYXJlIG5vIGlzc3VlcyByZXF1aXJpbmcgYm9hcmQgYXR0ZW50aW9uIGF0IHRoaXMgdGltZS4gVGhlcmUgaXNuJ3QgbXVjaA0KK2FjdGl2aXR5LCBidXQgZW5vdWdoIHBlb3BsZSB0byBwcm92aWRlIG92ZXJzaWdodC4NCisgDQorIyMgQWN0aXZpdHk6DQorLSBBbG1vc3Qgbm8gYWN0aXZpdHkgb24gdGhpcyBwZXJpb2QsIGEgZmV3IHF1ZXN0aW9ucyB3ZXJlIHJhaXNlZCBhbmQgYW5zd2VyZWQNCitvbiBNTHMgYW5kIGEgY291cGxlIG9mIGJ1Z3MgZml4ZWQgaW4gU1ZOIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHF1YXJ0ZXIuDQorLSBBIG5ldyBibG9nIHdhcyBzZXR1cCBhdCBodHRwczovL2Jsb2dzLmFwYWNoZS5vcmcvanNwd2lraS8gZm9sbG93ZWQgd2l0aCBhDQorY291cGxlIG9mIHBvc3RzLg0KKw0KKyMjIEhlYWx0aCByZXBvcnQ6DQorLSBQcm9qZWN0IGlzIHN0YWJsZSAvIG1hdHVyZSB3aXRoIGEgc2xvdyBwYWNlIG9mIGRldmVsb3BtZW50LCBhbHRob3VnaCB0aGVyZSdzDQorZW5vdWdoIHBlb3BsZSB0byBvdmVyc2VlIHRoZSBwcm9qZWN0ICh2b3RlIG9uIHJlbGVhc2VzLCBhbnN3ZXIgcXVlc3Rpb25zLA0KK2V0Yy4pLg0KKyANCisjIyBQTUMgY2hhbmdlczoNCistIEN1cnJlbnRseSAxMSBQTUMgbWVtYmVycy4NCistIE5vIG5ldyBQTUMgbWVtYmVycyBhZGRlZCBpbiB0aGUgbGFzdCAzIG1vbnRocy4NCistIExhc3QgUE1DIGFkZGl0aW9uIHdhcyBEYXZlIEtvZWxtZXllciBvbiBXZWQgQXByIDA2IDIwMTYuDQorIA0KKyMjIENvbW1pdHRlciBiYXNlIGNoYW5nZXM6DQorLSBDdXJyZW50bHkgMTYgY29tbWl0dGVycy4NCistIE5vIG5ldyBjb21taXR0ZXJzIGFkZGVkIGluIHRoZSBsYXN0IDMgbW9udGhzLg0KKy0gTGFzdCBjb21taXR0ZXIgYWRkaXRpb24gd2FzIERhdmUgS29lbG1leWVyIGF0IFdlZCBBcHIgMDYgMjAxNi4NCisgDQorIyMgUmVsZWFzZXM6DQorLSBMYXN0IHJlbGVhc2Ugd2FzIDIuMTAuMiBvbiBTYXQgRmViIDIwIDIwMTYNCisgDQorIyMgTWFpbGluZyBsaXN0IGFjdGl2aXR5Og0KKy0gSXQncyBiZWVuIGEgcXVpZXQgcXVhcnRlciwgYWx0aG91Z2ggZGV2QGpzcHdpa2kuYS5vIHNob3dzIGFuIGluY3JlYXNlIGluDQorYWN0aXZpdHksIGl0IHdhcyBjYXVzZWQgYnkgYSBnZW5lcmFsaXNlZCBzcGFtIGF0dGFjayBvbiBBU0YncyBKSVJBLg0KKyANCistIGRldkBqc3B3aWtpLmFwYWNoZS5vcmc6IA0KKyAgIC0gODggc3Vic2NyaWJlcnMgKHVwIDAgaW4gdGhlIGxhc3QgMyBtb250aHMpOg0KKyAgIC0gMTcwIGVtYWlscyBzZW50IHRvIGxpc3QgKDEyOSBpbiBwcmV2aW91cyBxdWFydGVyKQ0KKyANCistIHVzZXJAanNwd2lraS5hcGFjaGUub3JnOiANCisgICAtIDE4MSBzdWJzY3JpYmVycyAodXAgMSBpbiB0aGUgbGFzdCAzIG1vbnRocyk6DQorICAgLSA5IGVtYWlscyBzZW50IHRvIGxpc3QgKDY3IGluIHByZXZpb3VzIHF1YXJ0ZXIpIApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2JvYXJkLXJlcG9ydHMvMjAxNi0xMC50eHQgYi9ib2FyZC1yZXBvcnRzLzIwMTYtMTAudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJkZmRkYmYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC1yZXBvcnRzLzIwMTYtMTAudHh0CkBAIC0wLDAgKzEsNDcgQEAKKyMjIERlc2NyaXB0aW9uOiANCisgLSBBIGZlYXR1cmUtcmljaCBhbmQgZXh0ZW5zaWJsZSBXaWtpV2lraSBlbmdpbmUgYnVpbHQgYXJvdW5kIHRoZSBzdGFuZGFyZCANCitKRUUgY29tcG9uZW50cyAoSmF2YSwgc2VydmxldHMsIEpTUCkuDQorICAgDQorIyMgSXNzdWVzOiANCisgLSBUaGVyZSBhcmUgbm8gaXNzdWVzIHJlcXVpcmluZyBib2FyZCBhdHRlbnRpb24gYXQgdGhpcyB0aW1lLiBUaGVyZSdzIGVub3VnaCANCitwZW9wbGUgdG8gcHJvdmlkZSBvdmVyc2lnaHQuDQorICAgDQorIyMgQWN0aXZpdHk6IA0KKyAtIFNvdXJjZSBjb2RlIHdhcyBtaWdyYXRlZCBmcm9tIFNWTiB0byBHaXQgKCsgaXRzIGludGVncmF0aW9ucykgaW4gb3JkZXIgdG8gDQorZWFzZSBjb250cmlidXRpb25zLg0KKw0KKyAtIFdlJ3ZlIGFsc28gdGFsa2VkIGFib3V0IG1vdmluZyBqc3B3aWtpLmEubyBmcm9tIEFTRidzIENNUyB0byBKU1BXaWtpIA0KKyhodHRwczovL3MuYXBhY2hlLm9yZy9QRlhJKSBhcyBhKSBoaXN0b3JpY2FsbHkgaXQncyBhbHdheXMgYmVlbiB0aGF0IHdheSwgYW5kDQorYikgd2UgY291bGQgdXNlIGl0IGFzIHNob3djYXNlLCBoYXZpbmcgYSBzZXBhcmF0ZSB3aWtpIGRvZXNuJ3Qgc2VlbSB0byBiZSANCitlbm91Z2ggKGh0dHBzOi8vaXNzdWVzLmFwYWNoZS5vcmcvamlyYS9icm93c2UvSlNQV0lLSS0xMDMwKS4gSSB2b2x1bnRlZXJlZCANCitmb3IgdGhlIHRhc2sgKG1vdmluZyBjb250ZW50LCBjb3B5cmlnaHQgY29tcGxpYW5jZSwgYXNraW5nIGluZnJhKSBidXQgaGF2ZW4ndA0KK2hhZCB0aW1lIHRoaXMgcXVhcnRlci4gSG9wZWZ1bGx5IHRoaXMgd2lsbCBjaGFuZ2Ugb24gdGhlIHVwY29taW5nIHF1YXJ0ZXIuDQorDQorIC0gNSBuZXcgYmxvZyBwb3N0cyBhdCBodHRwczovL2Jsb2dzLmFwYWNoZS5vcmcvanNwd2lraS8NCisgICANCisjIyBIZWFsdGggcmVwb3J0OiANCisgLSBBbGwgcXVlc3Rpb25zIGFza2VkIG9uIE1McyB3aGVyZSBhbnN3ZXJlZCwgd2l0aCBhIGZldyBKSVJBIGlzc3VlcyBzb2x2ZWQgDQorYW5kIHNvbWUgb3RoZXIgZml4ZXMgdGhhdCB3ZW50IGludG8gdHJ1bmsvbWFzdGVyLg0KKw0KKyAtIDMgSklSQSBpc3N1ZXMgZml4ZXMgY2FtZSBmcm9tIGFuIGV4dGVybmFsIGNvbnRyaWJ1dG9yLg0KKyAgIA0KKyMjIFBNQyBjaGFuZ2VzOiANCisgICANCisgLSBDdXJyZW50bHkgMTEgUE1DIG1lbWJlcnMuIA0KKyAtIE5vIG5ldyBQTUMgbWVtYmVycyBhZGRlZCBpbiB0aGUgbGFzdCAzIG1vbnRocyANCisgLSBMYXN0IFBNQyBhZGRpdGlvbiB3YXMgRGF2ZSBLb2VsbWV5ZXIgb24gV2VkIEFwciAwNiAyMDE2IA0KKyAgIA0KKyMjIENvbW1pdHRlciBiYXNlIGNoYW5nZXM6IA0KKyAgIA0KKyAtIEN1cnJlbnRseSAxNiBjb21taXR0ZXJzLiANCisgLSBObyBuZXcgY29tbWl0dGVycyBhZGRlZCBpbiB0aGUgbGFzdCAzIG1vbnRocyANCisgLSBMYXN0IGNvbW1pdHRlciBhZGRpdGlvbiB3YXMgRGF2ZSBLb2VsbWV5ZXIgYXQgV2VkIEFwciAwNiAyMDE2IA0KKyAgIA0KKyMjIFJlbGVhc2VzOiANCisgICANCisgLSBMYXN0IHJlbGVhc2Ugd2FzIDIuMTAuMiBvbiBTYXQgRmViIDIwIDIwMTYgDQorICAgDQorIyMgSklSQSBhY3Rpdml0eTogDQorICAgDQorIC0gNiBKSVJBIHRpY2tldHMgY3JlYXRlZCBpbiB0aGUgbGFzdCAzIG1vbnRocyANCisgLSA0IEpJUkEgdGlja2V0cyBjbG9zZWQvcmVzb2x2ZWQgaW4gdGhlIGxhc3QgMyBtb250aHMgClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYm9hcmQtcmVwb3J0cy8yMDE3LTEwLnR4dCBiL2JvYXJkLXJlcG9ydHMvMjAxNy0xMC50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWI3Y2VhZgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvMjAxNy0xMC50eHQKQEAgLTAsMCArMSw1NiBAQAorIyMgRGVzY3JpcHRpb246DQorIC0gQSBmZWF0dXJlLXJpY2ggYW5kIGV4dGVuc2libGUgV2lraVdpa2kgZW5naW5lIGJ1aWx0IGFyb3VuZCB0aGUgc3RhbmRhcmQNCitKRUUgY29tcG9uZW50cyAoSmF2YSwgc2VydmxldHMsIEpTUCkuDQorICAgDQorIyMgSXNzdWVzOg0KKyAtIHRoZXJlIGFyZSBubyBpc3N1ZXMgcmVxdWlyaW5nIGJvYXJkIGF0dGVudGlvbiBhdCB0aGlzIHRpbWUuDQorICAgDQorIyMgQWN0aXZpdHk6DQorIC0gVGhpcyBxdWFydGVyIGhhcyBiZWVuIGEgc2lsZW50IG9uZSwgd2l0aCBhbGwgdGhlIGFjdGl2aXR5IG1vc3RseSBoYXBwZW5pbmcNCisgICBvbiBob2xpZGF5cyAocm91Z2hseSwgc2Vjb25kIGhhbGYgb2YgRGVjZW1iZXIsIGZpcnN0IGhhbGYgb2YgSmFudWFyeSkNCisgICANCisjIyBIZWFsdGggcmVwb3J0Og0KKyAtIEFwYWNoZSBKU1BXaWtpIHJlbWFpbnMgYXMgYSAxMDAlIHZvbHVudGVlciBlZmZvcnQsIHNvIHF1aWV0IHBlcmlvZHMgbGlrZQ0KKyAgIHRoaXMgb25lIGFyZSBub3QgdW5jb21tb24uIFRoZXJlIHdlcmUgY29tbWl0cyBmcm9tIDIgaW5kaXZpZHVhbHMgb24gdGhpcw0KKyAgIHBlcmlvZC4NCisgICANCisgLSBUaGlzIHF1YXJ0ZXIgc2hvdWxkIGhhdmUgc2VlbiBzb21lIG1vdmVtZW50IHJlZ2FyZGluZyB0aGUgdHJhbnNpdGlvbiBvZg0KKyAgIGpzcHdpa2kuYS5vIGZyb20gQVNGJ3MgQ01TIHRvIEpTUFdpa2kuIEkgdm9sdW50ZXJlZWQgZm9yIHRoaXMgdGFzaywgYnV0DQorICAgaGF2ZSBiZWVuIHRvdGFsbHkgYXdheSBmb3IgYWxtb3N0IGFsbCB0aGUgcXVhcnRlciwgc28gbm8gcHJvZ3Jlc3MgaGVyZS4uLg0KKyAgIA0KKyAtIEFsbCBxdWVzdGlvbnMgb24gTUwgd2hlcmUgYW5zd2VyZWQsIGFuZCB0aGVyZSBhcmUgZW5vdWdoIHBlb3BsZSB0bw0KKyAgIHByb3ZpZGUgcHJvamVjdCBvdmVyc2lnaHQuIEZpbmFsbHksIHRoZXJlIHdlcmVuJ3QgbmV3IGJsb2cgcG9zdHMgb24gdGhpcyBxdWFydGVyLg0KKyAgICAgIA0KKyMjIFBNQyBjaGFuZ2VzOg0KKyAgIA0KKyAtIEN1cnJlbnRseSAxMSBQTUMgbWVtYmVycy4NCisgLSBObyBuZXcgUE1DIG1lbWJlcnMgYWRkZWQgaW4gdGhlIGxhc3QgMyBtb250aHMNCisgLSBMYXN0IFBNQyBhZGRpdGlvbiB3YXMgRGF2ZSBLb2VsbWV5ZXIgb24gV2VkIEFwciAwNiAyMDE2DQorICAgDQorIyMgQ29tbWl0dGVyIGJhc2UgY2hhbmdlczoNCisgICANCisgLSBDdXJyZW50bHkgMTYgY29tbWl0dGVycy4NCisgLSBObyBuZXcgY29tbWl0dGVycyBhZGRlZCBpbiB0aGUgbGFzdCAzIG1vbnRocw0KKyAtIExhc3QgY29tbWl0dGVyIGFkZGl0aW9uIHdhcyBEYXZlIEtvZWxtZXllciBhdCBXZWQgQXByIDA2IDIwMTYNCisgICANCisjIyBSZWxlYXNlczoNCisgICANCisgLSBMYXN0IHJlbGVhc2Ugd2FzIDIuMTAuMiBvbiBTYXQgRmViIDIwIDIwMTYNCisgICANCisjIyBNYWlsaW5nIGxpc3QgYWN0aXZpdHk6DQorICAgDQorIC0gQXMgb3V0bGluZWQgb24gdGhlIEFjdGl2aXR5IHNlY3Rpb24sIHRoaXMgaGFzIGJlZW4gYSBxdWlldCBxdWFydGVyLCB3aGljaA0KKyAgIHJlZmxlY3RzIG9uIE1MIHN0YXRpc3RpY3M6DQorICAgDQorIC0gZGV2QGpzcHdpa2kuYXBhY2hlLm9yZzogIA0KKyAgICAtIDg3IHN1YnNjcmliZXJzIChkb3duIC0xIGluIHRoZSBsYXN0IDMgbW9udGhzKToNCisgICAgLSA0NyBlbWFpbHMgc2VudCB0byBsaXN0ICg4NCBpbiBwcmV2aW91cyBxdWFydGVyKQ0KKyAgIA0KKyAtIHVzZXJAanNwd2lraS5hcGFjaGUub3JnOiAgDQorICAgIC0gMTc4IHN1YnNjcmliZXJzICh1cCAwIGluIHRoZSBsYXN0IDMgbW9udGhzKToNCisgICAgLSAyOCBlbWFpbHMgc2VudCB0byBsaXN0ICgzMCBpbiBwcmV2aW91cyBxdWFydGVyKQ0KKyAgIA0KKyMjIEpJUkEgYWN0aXZpdHk6DQorICAgDQorIC0gNyBKSVJBIHRpY2tldHMgY3JlYXRlZCBpbiB0aGUgbGFzdCAzIG1vbnRocw0KKyAtIDYgSklSQSB0aWNrZXRzIGNsb3NlZC9yZXNvbHZlZCBpbiB0aGUgbGFzdCAzIG1vbnRocyAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDA3LTEwLnR4dCBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMDctMTAudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMxMzU1N2YKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDA3LTEwLnR4dApAQCAtMCwwICsxLDEzIEBACisyMDA3LU9jdG9iZXIgSlNQV2lraSBJbmN1YmF0b3Igc3RhdHVzIHJlcG9ydAorCitUaGUgcHJvamVjdCBoYXMga2lja2VkIG9mZiB3aXRoIHNvbWUgYmFzaWMgaW5mcmFzdHJ1Y3R1cmUgbm93IGluIHBsYWNlLgorCitNYWlsaW5nIGxpc3RzIGhhdmUgYmVlbiBzZXQgdXAgYW5kIHN1YnNjcmlwdGlvbnMgZnJvbSB0aGUgcHJldmlvdXMgbWFpbGluZworbGlzdHMgYXJlIGJlaW5nIHRyYW5zZmVycmVkLgorCitUaGUgc3ZuIHJlcG9zaXRvcnkgaXMgcmVhZHkgZm9yIGNvZGUuCisKK1RoZSBKSVJBIHByb2plY3QgaXMgc2V0IHVwLgorCitUaGUgaW5pdGlhbCBjb21taXR0ZXJzIGhhdmUgc2VudCBJQ0xBJ3MgYW5kIGFjY291bnRzIGhhdmUgYmVlbiByZXF1ZXN0ZWQuCisKZGlmZiAtLWdpdCBhL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMDctMTEudHh0IGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAwNy0xMS50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTZlMDU5ZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMDctMTEudHh0CkBAIC0wLDAgKzEsMTkgQEAKKzIwMDctTm92ZW1iZXIgSlNQV2lraSBJbmN1YmF0b3Igc3RhdHVzIHJlcG9ydAorCitKU1BXaWtpIGluZnJhc3RydWN0dXJlIGhhcyBiZWVuIG1vdmVkIG92ZXIgdG8gQXBhY2hlOiB0aGUgaXNzdWUgdHJhY2tlcnMKK2FuZCB0aGUgbWFpbGluZyBsaXN0cyBhcmUgbm93IGZ1bGx5IG9wZXJhdGlvbmFsLiAgV2UndmUgYWxzbyBzdGFydGVkIHRoZSBwcm9jZXNzCitvZiBnZXR0aW5nIElDTEFzIGFuZCBTb2Z0d2FyZSBHcmFudHMgZnJvbSBhbGwgdGhlIHByZXZpb3VzIGNvbnRyaWJ1dG9ycyB3aG8gc3RpbGwKK2hvbGQgY29weXJpZ2h0IG92ZXIgdGhlIGNvZGUuCisKK0FsbCBjb21taXR0ZXJzIGlkZW50aWZpZWQgaW4gdGhlIG9yaWdpbmFsIHByb3Bvc2FsIHBsdXMgdGhlIG1lbnRvcnMKK2hhdmUgY29tbWl0IGFjY2VzcyBhbmQgYXJlIG9uIHRoZSBwcml2YXRlIG1haWxpbmcgbGlzdC4KKworVGhlIGRldiBhbGlhcyBoYXMgYXR0cmFjdGVkIGEgY291cGxlIGRvemVuIG91dHNpZGUgbWVtYmVycy4KKworVGhlIGZpbmFsIExHUEwtbGljZW5zZWQgSlNQV2lraSByZWxlYXNlIGlzIGFsbW9zdCByZWFkeSwgYWZ0ZXIgd2hpY2ggd2Ugd2lsbAorc3RhcnQgbW92aW5nIGNvZGUgaW50byB0aGUgQXBhY2hlIFNWTi4gIFRoaXMgaXMgdG8gbWluaW1pemUgaGF2aW5nIHRvIG1haW50YWluIHR3bworc2VwYXJhdGUgYnJhbmNoZXMsIG9uZSBMR1BMIGFuZCBvbmUgQXBhY2hlIC1saWNlbnNlZC4KKworVGhlIHF1ZXN0aW9ucyBvbiBob3cganNwd2lraS5vcmcgZG9tYWluIGFuZCB0aGUganNwd2lraS5vcmcgd2Vic2l0ZXMgc2hvdWxkCitiZSB0cmFuc2ZlcnJlZCB0byBBcGFjaGUgaGF2ZSBub3QgeWV0IGJlZW4gZGlzY3Vzc2VkLgorCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDA3LTEyLnR4dCBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMDctMTIudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc1YWZmMDcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDA3LTEyLnR4dApAQCAtMCwwICsxLDE3IEBACisyMDA3LURlY2VtYmVyIEpTUFdpa2kgSW5jdWJhdG9yIHN0YXR1cyByZXBvcnQKKworSlNQV2lraSBoYXMgYmVlbiBpbmN1YmF0aW5nIHNpbmNlIFNlcHRlbWJlciAyMDA3LgorCitKU1BXaWtpIGlzIGEgSlNQLWJhc2VkIHdpa2kgcHJvZ3JhbS4KKworVGhlIGZpbmFsIEpTUFdpa2kgTEdQTCByZWxlYXNlIGhhcyBiZWVuIHBvc3Rwb25lZCBkdWUgdG8gYSBsYXJnZQorbnVtYmVyIG9mIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcyB0aGF0IHdlcmUgZGlzY2xvc2VkIHRvIHVzCityaWdodCBiZWZvcmUgdGhlIHJlbGVhc2UsIHNvIHVuZm9ydHVuYXRlbHkgdGhhdCBoYXMgYWxzbyBkZWxheWVkCit0aGUgbW92ZSBvZiB0aGUgY29kZWJhc2UgdW5kZXIgQVNGJ3MgaW5mcmFzdHJ1Y3R1cmUuCisKK1RoZSBKU1BXaWtpIHVzZXIgY29tbXVuaXR5IGlzIGluIHRoZSBwcm9jZXNzIG9mIHRyYW5zaXRpb24gZnJvbSAKK291dHNpZGUgQXBhY2hlLiBUaGVyZSBhcmUgY2xvc2UgdG8gMTAwIHN1YnNjcmliZXJzIHRvIHRoZSB1c2VyIGxpc3QuCitUaGUgZGV2ZWxvcGVyIGxpc3QgaGFzIG1lYW53aGlsZSBjb250aW51ZWQgZ3Jvd2luZywgYW5kIG5ldyBwZW9wbGUKK2hhdmUgY29tZSBmb3J3YXJkIHdpdGggcGF0Y2hlcyBhbmQgZXhwcmVzc2lvbnMgb2YgaW50ZXJlc3Qgb24KK3dvcmtpbmcgb24gdGhlIGNvZGUuCisKZGlmZiAtLWdpdCBhL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMDgtMDEudHh0IGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAwOC0wMS50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjdhNzAwYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMDgtMDEudHh0CkBAIC0wLDAgKzEsMTcgQEAKKzIwMDgtSmFudWFyeSBKU1BXaWtpIEluY3ViYXRvciBzdGF0dXMgcmVwb3J0CisKK0pTUFdpa2kgaGFzIGJlZW4gaW5jdWJhdGluZyBzaW5jZSBTZXB0ZW1iZXIgMjAwNy4KKworSlNQV2lraSBpcyBhIEpTUC1iYXNlZCB3aWtpIHByb2dyYW0uCisKK0pTUFdpa2kgMi42IExHUEwgd2FzIGZpbmFsbHkgcmVsZWFzZWQganVzdCBiZWZvcmUgQ2hyaXN0bWFzLCBzbyB0aGUgZGV2ZWxvcG1lbnQKK2NvdWxkIGZpbmFsbHkgYmUgbW92ZWQgdG8gdGhlIEFwYWNoZSBJbmN1YmF0aW9uIFNWTi4gVGhlIGNvZGUgaXMgZXhwZWN0ZWQKK3RvIGJlIHRyYW5zZmVycmVkIHRvIHRoZSBBcGFjaGUgcmVwb3NpdG9yeSB3aXRoaW4gdGhlIG5leHQgZmV3IHdlZWtzLgorCitUaGUgaW5jdWJhdG9yIHdlYiBzaXRlIHdhcyBhbHNvIGNyZWF0ZWQuCisKK0NvbW11bml0eQorCitUaGUgZGV2ZWxvcGVyIGFuZCB1c2VyIG1haWxpbmcgbGlzdHMgY29udGludWUgdG8gaGF2ZSBzdHJvbmcgYWN0aXZpdHksCit3aXRoIGEgZmV3IGRvemVuIGFjdGl2ZSBwYXJ0aWNpcGFudHMgYW5kIG92ZXIgYSBodW5kcmVkIG1vbml0b3JpbmcgdGhlIGxpc3RzLgorCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDA4LTA0LnR4dCBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMDgtMDQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJmOGM3ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDA4LTA0LnR4dApAQCAtMCwwICsxLDE4IEBACisyMDA4LUFwcmlsIEpTUFdpa2kgSW5jdWJhdG9yIHN0YXR1cyByZXBvcnQKKworSlNQV2lraSBoYXMgYmVlbiBpbmN1YmF0aW5nIHNpbmNlIFNlcHRlbWJlciAyMDA3LgorCitKU1BXaWtpIGlzIGEgSlNQLWJhc2VkIHdpa2kgcHJvZ3JhbS4KKworRHVyaW5nIHRoZSBwYXN0IHRocmVlIG1vbnRocyBzaW5jZSBvdXIgbGFzdCByZXBvcnQsIHRoZSBKU1BXaWtpIGNvbW11bml0eSBoYXMKK2dyb3duIG5pY2VseS4gIEN1cnJlbnRseSBvdmVyIDEyMCBwZW9wbGUgYXJlIG1vbml0b3JpbmcgdGhlIHVzZXIgbWFpbGluZyBsaXN0LAorYW5kIG92ZXIgNTAgb24gdGhlIGRldiBsaXN0LiAgQXBhY2hlIEpJUkEgaGFzIGJlZW4gaW50ZWdyYXRlZCB0byBvdXIgd29ya2Zsb3dzLAorYW5kIHRoZSBpbmZsdXggb2YgcGF0Y2hlcyBzZWVtcyB0byBiZSBncm93aW5nIHN0ZWFkaWx5LgorCitUaGUgSlNQV2lraSBkZXZlbG9wbWVudCBoYXMgYmVlbiBtb3ZlZCB0byB0aGUgQXBhY2hlIFNWTiwgYW5kIGFsbW9zdCBhbGwgY29kZQoraGFzIGJlZW4gcmVsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIDIuMCBsaWNlbnNlLiAgQSBmZXcgZmlsZXMgc3RpbGwgcmVtYWluIAordW5kZXIgTEdQTCwgbW9zdGx5IHBlbmRpbmcgQ0xBcyB3aGljaCBoYXZlIG5vdCB5ZXQgZm91bmQgdGhlaXIgd2F5IHRvIEFTRi4KKworRHVyaW5nIHRoZSBwYXN0IHRocmVlIG1vbnRocywgdGhlIDIuNiBMR1BMIGJyYW5jaCBoYXMgc2VlbiB0d28gYnVnIGZpeCAKK3JlbGVhc2VzIHVzaW5nIG91ciBvbGQgcmVsZWFzZSBtZWNoYW5pc20sIGFuZCB0aGUgZGV2ZWxvcG1lbnQgZm9yIHRoZSAKKzIuOCByZWxlYXNlIGlzIGN1cnJlbnRseSBvbmdvaW5nIGluIHRoZSBTVk4gdHJ1bmsuCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDA4LTA3LnR4dCBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMDgtMDcudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEzMmRkNDEKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDA4LTA3LnR4dApAQCAtMCwwICsxLDI4IEBACisyMDA4LUp1bHkgSlNQV2lraSBJbmN1YmF0b3Igc3RhdHVzIHJlcG9ydA0KKw0KK0pTUFdpa2kgaGFzIGJlZW4gaW5jdWJhdGluZyBzaW5jZSBTZXB0ZW1iZXIgMjAwNy4NCisNCitKU1BXaWtpIGlzIGEgSlNQLWJhc2VkIHdpa2kgcHJvZ3JhbS4NCisNCitEdXJpbmcgdGhlIHBhc3QgdGhyZWUgbW9udGhzLCB0aGUgSlNQV2lraSBjb21tdW5pdHkgc2VlbXMgdG8gc3RpbGwgZW5qb3kgDQorYSBzdGVhZHkgaW5jcmVhc2UuICBUaGUgZGV2ZWxvcGVyIGxpc3Qgbm93IGhhcyA1OSBuYW1lcywgYW4gaW5jcmVhc2UgDQorb2YgMTUlLiBUaGUgdXNlciBsaXN0IGlzIG5vdyAxNDIgcGVvcGxlIHN0cm9uZywgYSBncm93dGggb2YgMTglLiAgDQorSW4gYWRkaXRpb24sIHRoZSBKU1BXaWtpIFBQTUMgYW5kIHRoZSBJbmN1YmF0b3IgUE1DIHZvdGVkIHRvIGFkZCANCithIG5ldyBjb21taXR0ZXIsIEhhcnJ5IE1ldHNrZSwgdG8gdGhlIHRlYW0uDQorDQorQWxsIExHUEwgZGVwZW5kZW5jaWVzIGhhdmUgbm93IGJlZW4gY2xlYW5lZCBhd2F5IGZyb20gdGhlIGNvZGUgYmFzZSwgYW5kDQorYWxsIHRoZSBjb2RlIGlzIG5vdyBhY2NvdW50ZWQgZm9yLCBlaXRoZXIgdW5kZXIgaW5kaXZpZHVhbCBDTEFzLCBjb3Jwb3JhdGUgQ0NMQXMNCitvciBTR0FzLiAgVGhlIGNsZWFudXAgZGlkIHVuZm9ydHVuYXRlbHkgbWVhbiB0aGF0IHNvbWUgYml0cyBvZiB0aGUgY29kZWJhc2UNCituZWVkZWQgdG8gYmUgcmUtaW1wbGVtZW50ZWQgdW5kZXIgdGhlIEFwYWNoZSBsaWNlbnNlLCBkZWxheWluZyB0aGUgd29yay4NCisNCitKU1BXaWtpIDIuOC4wIGhhcyBlbnRlcmVkIHRoZSB0ZXN0aW5nIGN5Y2xlIHdpdGggYW4gSlNQV2lraSAyLjguMCBhbHBoYSBidWlsZA0KK2F2YWlsYWJsZSB0byB1c2VycyBhbmQgZGV2ZWxvcGVycy4gIFRoaXMgaXMgbm90IGFuIGluY3ViYXRvciByZWxlYXNlIGFzIHN1Y2gsDQorYnV0IGlzIHJlbGVhc2VkIHRocm91Z2ggdGhlIG9sZCBtZWNoYW5pc20gc28gdGhhdCB3ZSBjYW4gcG9zdHBvbmUgdGhlIHN3aXRjaA0KK3RvIHRoZSBvcmcuYXBhY2hlLmpzcHdpa2kgcGFja2FnZSBzdHJ1Y3R1cmUgdW50aWwgMy4wLg0KKw0KK1RoZSBBUEkgZGV2ZWxvcG1lbnQgZm9yIDMuMCBoYXMgYWxzbyBiZWVuIHN0YXJ0ZWQgaW4gdGhlIFNWTiBhbmQgd2lraS4NCisNCitHcmFkdWF0aW9uIGlzIG5vdCBvbiB0aGUgaG9yaXpvbiB5ZXQuIFRoZSBjb2RlIGJhc2UgaXMgbm90IHlldCBtaWdyYXRlZA0KK3RvIHVzZSB0aGUgb3JnLmFwYWNoZSBwYWNrYWdlIG5hbWluZyBhbmQgdGhlcmUgaGFzIG5vdCBiZWVuIGFuIG9mZmljaWFsDQoraW5jdWJhdG9yIHJlbGVhc2UgeWV0Lg0KKw0KZGlmZiAtLWdpdCBhL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMDgtMTAudHh0IGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAwOC0xMC50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWFlOTA3YQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMDgtMTAudHh0CkBAIC0wLDAgKzEsMjcgQEAKKzIwMDgtT2N0b2JlciBKU1BXaWtpIEluY3ViYXRvciBzdGF0dXMgcmVwb3J0CisKK0pTUFdpa2kgaGFzIGJlZW4gaW5jdWJhdGluZyBzaW5jZSBTZXB0ZW1iZXIgMjAwNy4KKworSlNQV2lraSBpcyBhIEpTUC1iYXNlZCB3aWtpIHByb2dyYW0uCisKK0R1cmluZyB0aGUgcGFzdCB0aHJlZSBtb250aHMsIHRoZSBKU1BXaWtpIGNvbW11bml0eSBzZWVtcyB0byBzdGlsbCBlbmpveSAKK2Egc3RlYWR5IGluY3JlYXNlLiAgVGhlIGRldmVsb3BlciBsaXN0IG5vdyBoYXMgNjYgbmFtZXMsIGFuIGluY3JlYXNlIAorb2YgMTIlLiAgVGhlIHVzZXIgbGlzdCBpcyBub3cgMTUyIHBlb3BsZSBzdHJvbmcsIGEgZ3Jvd3RoIG9mIDclIHNpbmNlIHRoZSBsYXN0CityZXBvcnQuCisKK1RoZSBmaXJzdCBiZXRhIG9mIEpTUFdpa2kgMi44ICh3aGljaCBpcyB0aGUgQXBhY2hlLWxpY2Vuc2VkIHZlcnNpb24gb2YgMi42KQoraGFzIGJlZW4gcmVsZWFzZWQsIGFuZCBpdCBpcyBtaXNzaW5nIG9ubHkgYSBmZXcga2V5IHBhdGNoZXMgdG8gYmUgYSBmdWxsIHJlbGVhc2UuCitUaGlzLCBob3dldmVyLCB3b24ndCBiZSBhbiBBcGFjaGUgcmVsZWFzZSAoYXMgaXQgaXMgbWVhbnQgdG8gYmUgYmFja3dhcmRzCitjb21wYXRpYmxlIHdpdGggMi54IHNlcmllcywgd2hpY2ggbWVhbnMga2VlcGluZyB0aGUgb2xkIHBhY2thZ2Ugc3RydWN0dXJlKS4KK0Rlc3BpdGUgb2YgdGhpcywgd2UncmUgcHJhY3RpY2luZyB0aGUgQXBhY2hlIHByb2Nlc3NlcyBvZiB2b3RpbmcgYW5kIGFwcHJvdmluZworcmVsZWFzZXMuCisKK0dyYWR1YXRpb24gZGVwZW5kcyBjaGllZmx5IG9mIHRocmVlIHRoaW5nczoKKworKiBTdGFibGUgcmVsZWFzZSBvZiAyLjgsIHNvIHdlIGNhbiBjb25jZW50cmF0ZSBvbiAzLjAgcHJvY2VzcworKiBNYWtpbmcgYSBzdWNjZXNzZnVsIDMuMCByZWxlYXNlLCBpbmNsdWRpbmcKKwkqIFJlbmFtaW5nIG9mIGFsbCBwYWNrYWdlcyB0byBvcmcuYXBhY2hlLioKKwkqIFRha2luZyB0aGUgbmV3IEFQSSBpbnRvIHVzZQorKiBNYWtpbmcgc3VyZSBhbGwgdGhlIGxlZ2FsIGJpdHMgYW5kIHBpZWNlcyBhcmUgaW4gb3JkZXIgKGkuZS4gdGhlIHN0YXR1cyBmaWxlKQorCisKZGlmZiAtLWdpdCBhL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMDktMDEudHh0IGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAwOS0wMS50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTI5NjRmOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMDktMDEudHh0CkBAIC0wLDAgKzEsMjYgQEAKKzIwMDkgSmFudWFyeSBKU1BXaWtpIEluY3ViYXRvciBzdGF0dXMgcmVwb3J0CisKK0pTUFdpa2kgaGFzIGJlZW4gaW5jdWJhdGluZyBzaW5jZSBTZXB0ZW1iZXIgMjAwNy4KKworSlNQV2lraSBpcyBhIEpTUC1iYXNlZCB3aWtpIHByb2dyYW0uCisKK0R1cmluZyB0aGUgcGFzdCB0aHJlZSBtb250aHMsIHRoZSBKU1BXaWtpIGNvbW11bml0eSBoYXMgaW5jcmVhc2VkIHNvbWV3aGF0LCAKK2J1dCB0aGUgZ3Jvd3RoIHNlZW1zIHRvIGxldmVsIG9mZi4gIFRoZSBkZXZlbG9wZXIgbGlzdCBub3cgaGFzIDcyIG5hbWVzLCAKK2EgbW9kZXN0IGluY3JlYXNlIGZyb20gNjYgdGhlIGxhc3QgdGltZSwgYW5kIHRoZSB1c2VyIGxpc3QgaXMgbm93IDE1NyAKK3Blb3BsZSBzdHJvbmcsIGZpdmUgbW9yZSB0aGFuIHRocmVlIG1vbnRocyBhZ28uCisKK0pTUFdpa2kgMi44IChhbiBBcGFjaGUtbGljZW5zZWQgdmVyc2lvbiBvZiAyLjYpIHdhcyBtYWRlIHN1Y2Nlc3NmdWxseSwgYW5kCitldmVuIGEgY291cGxlIG9mIGJ1Z2ZpeCByZWxlYXNlcyBoYXZlIGJlZW4gZG9uZS4gIFRoaXMgbWVhbnMgdGhhdCB3b3JrIG9uIHRoZQorMy4wIC0gdGhlIGZpcnN0IEFwYWNoZS1icmFuZGVkIHJlbGVhc2UgLSBpcyBjdXJyZW50bHkgc3Ryb25nbHkgdW5kZXJ3YXkuCisKK0EgbWlub3IgcHJvYmxlbSB3YXMgZW5jb3VudGVyZWQgd2hlbiBhIHdpZGVzcHJlYWQgYnVnIGluIEphc3BlciBtZWFucwordGhhdCB3ZSBjYW5ub3QgdXNlIG91ciBpbml0aWFsIGNob2ljZSBvZiAib3JnLmFwYWNoZS5qc3B3aWtpIiBhcyB0aGUgCitwYWNrYWdlIG5hbWUgd2l0aG91dCBzYWNyaWZpY2luZyBjb21wYXRpYmlsaXR5IHdpdGggdGhlIG1ham9yaXR5IG9mIAorc2VydmxldCBjb250YWluZXJzLiAgVGhlIGNvbW11bml0eSBpcyBzdGlsbCBkZWJhdGluZyBhIGNvdXBsZSBvZiBvcHRpb25zLgorCitHcmFkdWF0aW9uIGRlcGVuZHMgb246CisKKyogUmVuYW1pbmcgb3JnLmpzcHdpa2kgdG8gY29uZm9ybSB3aXRoIHRoZSBvcmcuYXBhY2hlIG5hbWluZyBzY2hlbWUKKyogTWFraW5nIGEgc3VjY2Vzc2Z1bCAzLjAgcmVsZWFzZSwgd2hpY2ggaXMgY3VycmVudGx5IGJlaW5nIHRyYWNrZWQgYXQKKyAgaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL2Jyb3dzZS9KU1BXSUtJLTQ2MQorKiBNYWtpbmcgc3VyZSBhbGwgdGhlIGxlZ2FsIGJpdHMgYW5kIHBpZWNlcyBhcmUgaW4gb3JkZXIgKGkuZS4gdGhlIHN0YXR1cyBmaWxlKQpkaWZmIC0tZ2l0IGEvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAwOS0wNC50eHQgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDA5LTA0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YjFkMDA1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAwOS0wNC50eHQKQEAgLTAsMCArMSwzMSBAQAorMjAwOSBBcHJpbCBKU1BXaWtpIEluY3ViYXRvciBzdGF0dXMgcmVwb3J0CisKK0pTUFdpa2kgaGFzIGJlZW4gaW5jdWJhdGluZyBzaW5jZSBTZXB0ZW1iZXIgMjAwNy4KKworSlNQV2lraSBpcyBhIEpTUC1iYXNlZCB3aWtpIHByb2dyYW0uCisKK0R1cmluZyB0aGUgcGFzdCB0aHJlZSBtb250aHMsIHRoZSBKU1BXaWtpIGNvbW11bml0eSBoYXMgc3RpbGwgY29udGludWVkIHRvIGluY3JlYXNlLiAKK1RoZSBkZXZlbG9wZXIgbGlzdCBub3cgaGFzIDgyIG5hbWVzLCBhIG1vZGVzdCBpbmNyZWFzZSBmcm9tIDcyIHRoZSBsYXN0IHRpbWUsIGFuZCB0aGUgCit1c2VyIGxpc3QgaXMgbm93IDE2NyBwZW9wbGUgc3Ryb25nLCB0ZW4gbW9yZSB0aGFuIHRocmVlIG1vbnRocyBhZ28uCisKK1RoZSBiaWcgcHVzaCBub3cgaXMgZm9yIG91ciBncmFkdWF0aW9uLiAgVGhlIGJpZ2dlc3QgaHVyZGxlcyBoYXZlIGJlZW4gb3ZlcmNvbWU6CitUaGUgcGFja2FnZXMgYXJlIG5vdyBjYWxsZWQgIm9yZy5hcGFjaGUud2lraSIgW3BsZWFzZSBzZWUgVG9tY2F0IGJ1ZworaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NDY0NjIgdG8gc2VlIHdoeSB3ZSBjb3VsZG4ndAordXNlIG9yZy5hcGFjaGUuanNwd2lraV07IEpTUFdpa2kgaGFzIHN3aXRjaGVkIHRvIHRoZSBTdHJpcGVzIGZyYW1ld29yazsgYW5kIHdlCitoYXZlIHN3aXRjaGVkIHRvIHVzZSB0aGUgSkNSIGJhY2tlbmQgKGUuZy4gQXBhY2hlIEphY2tyYWJiaXQpLgorQXMgYSByZXN1bHQgb2YgYSB2b3RlLCB0aGUgc3VwcG9ydCBmb3Igd2ViZGF2IGhhcyBiZWVuIGRyb3BwZWQuCitUaGUgZmFpcmx5IG9sZCBqc29ucnBjIGhhcyBiZWVuIHJlcGxhY2VkIGJ5IGphYnNvcmIuCisKK0hvd2V2ZXIsIHRoZSB0cnVuayBpcyBpbiBhIGZhaXJseSBpbW1hdHVyZSBzdGF0ZS4gIEZvciBleGFtcGxlLCBpdCBpcyBub3QgZGVwbG95YWJsZQorYXQgYWxsLCB3aGljaCBtZWFucyB0aGF0IG5vYm9keSBjYW4geWV0IHVzZSB0aGUgdHJ1bmsgZm9yIGl0cyBpbnRlbmRlZCBwdXJwb3NlLiAgCitPdXIgbWFpbiBjb25jZXJuIGlzIHRvIHN0YWJpbGl6ZSB0aGUgY29kZSB0byBzb21lIHN0YXRlIHdoZXJlIGl0IHdvdWxkIGJlIAorYWN0dWFsbHkgdXNhYmxlIGJlZm9yZSBtYWtpbmcgYSByZWxlYXNlLgorCitUaGUgYmlnZ2VzdCBzbG93ZG93biBpcyBzaW1wbHkgdGhlIGZhY3QgdGhhdCBKU1BXaWtpIGlzIChzdGlsbCkgYSBjb21wbGV0ZWx5IHZvbHVudGVlci0KK2RldmVsb3BlZCBwcm9qZWN0LCB3aXRoIG5vYm9keSBhY3R1YWxseSByZWNlaXZpbmcgYW55IG1vbmV5IGZvciBpdHMgZGV2ZWxvcG1lbnQuICBXaGlsZQordGhpcyBpcyBncmVhdCBpbiB0aGUgc2Vuc2UgdGhhdCBkZXZlbG9wbWVudCBpcyByZWxhdGl2ZWx5IGVhc3kgdG8gam9pbiwgYW5kIGNvbW11bml0aWVzCithcmUgbm90IG92ZXJydW4gYnkgY29ycG9yYXRlIHJlcXVpcmVtZW50cywgaXQgYWxzbyBtZWFucyB0aGF0IHRoZSBjb21taXR0ZXIncyBwcmlvcml0aWVzIAorb2Z0ZW4gY29uZmxpY3Qgd2l0aCB0aGUgb2JqZWN0IG9mIHNwZWVkeSBncmFkdWF0aW9uLgorCitXZSBhcmUgcGxhbm5pbmcgdG8gaGF2ZSBhbiAiYWxwaGEiIGdyYWRlIHJlbGVhc2UgYXMgb3VyIGZpcnN0IG9mZmljaWFsIEFwYWNoZSByZWxlYXNlLAorYWZ0ZXIgd2hpY2ggd2Ugc2hvdWxkIGJlIGZhaXJseSByZWFkeSBmb3IgZ3JhZHVhdGlvbi4KZGlmZiAtLWdpdCBhL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMDktMDcudHh0IGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAwOS0wNy50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWExODdhNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMDktMDcudHh0CkBAIC0wLDAgKzEsMjEgQEAKKzIwMDkgQXByaWwgSlNQV2lraSBJbmN1YmF0b3Igc3RhdHVzIHJlcG9ydAorCitKU1BXaWtpIGhhcyBiZWVuIGluY3ViYXRpbmcgc2luY2UgU2VwdGVtYmVyIDIwMDcuCisKK0pTUFdpa2kgaXMgYSBKU1AtYmFzZWQgd2lraSBwcm9ncmFtLgorCitEdXJpbmcgdGhlIHBhc3QgdGhyZWUgbW9udGhzLCB0aGUgSlNQV2lraSBjb21tdW5pdHkgaGFzIG5vdCBpbmNyZWFzZWQgc2lnbmlmaWNhbnRseS4KK1RoZSBkZXZlbG9wZXIgbGlzdCBub3cgaGFzIDgzIG5hbWVzLCBvbmUgbW9yZSB0aGFuIHRoZSBsYXN0IHRpbWUsIGFuZCB0aGUgCit1c2VyIGxpc3QgaXMgbm93IDE3OCBwZW9wbGUgc3Ryb25nLCBlbGV2ZW4gbW9yZSB0aGFuIHRocmVlIG1vbnRocyBhZ28uCisKK1dlIGFyZSBjb21wbGV0aW5nIHRoZSBjaGVja2xpc3Qgb24gdGhlIGdyYWR1YXRpb24sIGJ1dCB0aGluZ3MgaGF2ZSBzbG93ZWQgZG93bgorZHVlIHRvIGRldmVsb3BlcnMgdGFraW5nIHRpbWUgb24gcGVyc29uYWwgaXNzdWVzIC0gc29tZSBnZXQgbWFycmllZCwgc29tZSBnZXQgY2hpbGRyZW4sCitzb21lIGp1c3QgZW5qb3kgaG9saWRheXMuICBKU1BXaWtpIGlzIHN0aWxsIGZ1bGx5IGEgdm9sdW50ZWVyIHByb2plY3QsIHdoaWNoIHNob3dzLgorVGhlIGNoZWNrbGlzdCBpcyBrZXB0IGluIEpJUkEsIGF0IGh0dHA6Ly9pcy5nZC8xcWtWOAorCitNb3N0IG9mIHRoZSBjaGVja2xpc3QgaXRlbXMgYXJlIG9mIHByYWN0aWNhbCBuYXR1cmUgcmF0aGVyIHRoYW4gcmVhbCBzaG93c3RvcHBlcnM7Cit0aGVyZSBpcyBzb21lIHVuY2VydGFpbnR5IGFzIHRvIHdoZW4gdGhpbmdzIGNhbiBiZSBjYWxsZWQgImRvbmUiLgorCitUaGUgZGV2ZWxvcG1lbnQgb2YgdGhlIDMuMCBzdGlsbCBjb250aW51ZXMgaW4gdGhlIFNWTiwgYWxiZWl0IGF0IGEgcmVkdWNlZCBzcGVlZCBkdWUKK3RvIHRoZSBhZm9yZW1lbnRpb25lZCBpc3N1ZXMuCisgClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAwOS0xMC50eHQgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDA5LTEwLnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xOWFkODZlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAwOS0xMC50eHQKQEAgLTAsMCArMSwyMyBAQAorMjAwOSBPY3RvYmVyIEpTUFdpa2kgSW5jdWJhdG9yIHN0YXR1cyByZXBvcnQKKworSlNQV2lraSBoYXMgYmVlbiBpbmN1YmF0aW5nIHNpbmNlIFNlcHRlbWJlciAyMDA3LgorCitKU1BXaWtpIGlzIGEgSlNQLWJhc2VkIHdpa2kgcHJvZ3JhbS4KKworRGV2ZWxvcG1lbnQgb24gdGhlIHRydW5rIGhhcyBwaWNrZWQgdXAgYWdhaW4gYWZ0ZXIgdGhlIHN1bW1lciwgd2l0aCBmb2N1cyBvbiB0aHJlZQorYXJlYXM6IGltcHJvdmluZyB0aGUgcXVhbGl0eSBvZiB0aGUgSkNSIGJhY2stZW5kLCBjb21wbGV0aW5nIHRoZQorbWlncmF0aW9uIG9mIHRoZSBNVkMgcHJlc2VudGF0aW9uIGxheWVyLCBhbmQgc3RhYmlsaXppbmcgdGhlIHRydW5rIG5vdyB0aGF0Cit0aGUgSkNSIGJhY2stZW5kIGlzIGluIHBsYWNlLiBQcm9ncmVzcyBvbiBhbGwgZnJvbnRzIGNvbnRpbnVlcy4gT3ZlciB0aGUgbGFzdAorcXVhcnRlciwgZm9yIGV4YW1wbGUsIHVuaXQgdGVzdCBjb21wbGlhbmNlIGhhcyByaXNlbiBmcm9tIHRoZSBsb3cgODBzIHRvIG5lYXJseSA5OS41JS4KKworT2YgdGhlIDI3IGl0ZW1zIG9uIHRoZSBncmFkdWF0aW9uIGNoZWNrbGlzdCwgMTggYXJlIGNvbXBsZXRlLiBUd28gb2YgdGhlIHJlbWFpbmluZworaXRlbXMgYXJlIGRvY3VtZW50YXRpb24gcmVsYXRlZDogd3JpdGluZyB0aGUgY2hhcnRlciBhbmQgSVAgcHJvY2VzcyBkb2N1bWVudHMuCitUaGUgbW9zdCBzaWduaWZpY2FudCByZW1haW5pbmcgdGFzayBpcyB0byByZWxlYXNlIGEgMy4wLjAtaW5jdWJhdGluZy1hbHBoYTEgcmVsZWFzZS4KK1dpdGggdGhlIGluY3JlYXNpbmcgc3RhYmlsaXR5IG9mIHRoZSB0cnVuaywgYW4gYWxwaGEgcmVsZWFzZSBpbiB0aGUgbmVhciB0ZXJtIGxvb2tzCitpbmNyZWFzaW5nbHkgbGlrZWx5LiBBbGwgb3RoZXIgcmVtYWluaW5nIGNoZWNrbGlzdCBpdGVtcyBhcmUgcHVyZWx5IEFTRiBwcm9jZXNzIGFuZAoraW5mcmFzdHJ1Y3R1cmUgcmVsYXRlZC4KKworVGhlIGRldmVsb3BlciBsaXN0IGN1cnJlbnRseSBoYXMgODYgbWVtYmVycywgYSBtaW5vciBpbmNyZWFzZSBmcm9tIDgzOyBhbmQgdGhlCit1c2VyIGxpc3QgaGFzIDE4NyBtZW1iZXJzLCBhbiBpbmNyZWFzZSBvZiBuaW5lIHBlb3BsZS4KKworIApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMTAtMDEudHh0IGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMC0wMS50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWM5N2JlNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMTAtMDEudHh0CkBAIC0wLDAgKzEsMjEgQEAKKzIwMTAgSmFudWFyeSBKU1BXaWtpIEluY3ViYXRvciBzdGF0dXMgcmVwb3J0CisKK0pTUFdpa2kgaGFzIGJlZW4gaW5jdWJhdGluZyBzaW5jZSBTZXB0ZW1iZXIgMjAwNy4KKworSlNQV2lraSBpcyBhIEpTUC1iYXNlZCB3aWtpIHByb2dyYW0uCisKK1NpZ25pZmljYW50IHByb2dyZXNzIHdhcyBtYWRlIGluIFN0cmlwZXNpZnlpbmcgdGhlIGpzcCdzLgorV2UgYWxzbyBpbnRyb2R1Y2VkIGEgbmV3IGNvbnRlbnQtaW5zcGVjdGlvbiBwYWNrYWdlIGFuZCBpbnRlZ3JhdGVkIENBUFRDSEEuIAorV2UgdXBncmFkZWQgdG8gdGhlIHByaWhhIDAuNy4wLWFscGhhIHJlbGVhc2Ugd2hpY2ggcGFzc2VzIGFsbCB0ZXN0cyAKK2Zyb20gdGhlIEpTUi0xNzAgdGVzdCBzdWl0ZSwgYW5kIG9mZmVycyBiZXR0ZXIgcGVyZm9ybWFuY2UuCisKK0EgbnVtYmVyIG9mIGJ1Z3Mgd2VyZSBmaXhlZCBhbmQgMjcgbmV3IHVuaXQgdGVzdHMgd2VyZSBhZGRlZCwgdGhlIGN1cnJlbnQgdW5pdCAKK3Rlc3QgY29tcGxpYW5jZSBoYXMgZHJvcHBlZCBhIGJpdCB0byA5Ni44ICUuICAKKworT2YgdGhlIDI3IGl0ZW1zIG9uIHRoZSBncmFkdWF0aW9uIGNoZWNrbGlzdCwgc3RpbGwgb25seSAxOCBhcmUgY29tcGxldGUsIAorc28gaW4gdGhhdCBhcmVhIHRoZXJlIGhhcyBiZWVuIG5vIHByb2dyZXNzLiAKK0FsbCBvcGVuIGl0ZW1zIGFyZSBkb2N1bWVudGF0aW9uIGFuZCBBU0YgcHJvY2VzcyBhbmQgaW5mcmFzdHJ1Y3R1cmUgcmVsYXRlZC4KK1RoZXJlIHN0aWxsIGlzIG5vIDMuMC4wLWluY3ViYXRpbmctYWxwaGExIHJlbGVhc2UuCisKK1RoZSBkZXZlbG9wZXIgbGlzdCBjdXJyZW50bHkgaGFzIDgyIG1lbWJlcnMsIGEgbWlub3IgZGVjcmVhc2UgZnJvbSA4NjsgYW5kIHRoZQordXNlciBsaXN0IGhhcyAxOTEgbWVtYmVycywgYW4gaW5jcmVhc2UgZnJvbSAxODcuIApkaWZmIC0tZ2l0IGEvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMC0wNC50eHQgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDEwLTA0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZGUzYTAwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMC0wNC50eHQKQEAgLTAsMCArMSwzMSBAQAorMjAxMCBBcHJpbCBKU1BXaWtpIEluY3ViYXRvciBzdGF0dXMgcmVwb3J0CisKK0pTUFdpa2kgaGFzIGJlZW4gaW5jdWJhdGluZyBzaW5jZSBTZXB0ZW1iZXIgMjAwNy4KKworSlNQV2lraSBpcyBhIEpTUC1iYXNlZCB3aWtpIHByb2dyYW0uCisKKworUXVpdGUgYSBmZXcgYnVncyB3ZXJlIGZpeGVkIGluIHRoZSBKU1AgdGllci4KK1NsaW1ib3ggd2FzIHVwZ3JhZGVkLCB2YXJpb3VzIG1lZGlhIGZvcm1hdHMgYXJlIG5vdworc3VwcG9ydGVkIHNvIHlvdSBjYW4gdmlldyB5b3V0dWJlIG9yIGZhY2Vib29rIHZpZGVvcywgb3RoZXIKK3dpa2lwYWdlcywgb3IgZXZlbiBleHRlcm5hbCB3ZWItcGFnZXMuCitBbHNvIHN1cHBvcnQgd2FzIGFkZGVkIGZvciBtdWx0aS1maWxlIHVwbG9hZHMuCitXZSBhbHNvIGFkZGVkIGFuIGV4cGVyaW1lbnRhbCB3eXNpd3lnIGVkaXRvciBiYXNlZCBvbiBtb290b29scy4KKworUmVmZXJlbmNlTWFuYWdlciB3YXMgcmV3cml0dGVuIHRvIHVzZSBKQ1IgVVVJRHMgdG8ga2VlcCByZWZlcmVuY2VzCitiZXR3ZWVuIHBhZ2VzLgorCitBIGNvdXBsZSBvZiBidWdzIHdlcmUgZml4ZWQgYW5kLCBhbmQgdGhlIHVuaXQgdGVzdCBjb21wbGlhbmNlIGhhcyBjbGltYmVkIAorZnJvbSA5Ni44ICB0byA5OS4zICUuICAKKworT2YgdGhlIDI4IGl0ZW1zICgxIHdhcyByZWNlbnRseSBhZGRlZCkgb24gdGhlIGdyYWR1YXRpb24gY2hlY2tsaXN0LCAKKzE5IGFyZSBjb21wbGV0ZSwgc28gaW4gdGhhdCBhcmVhIHRoZXJlIGhhcyBiZWVuIG5vdCBtdWNoIHByb2dyZXNzLCAKK3dpdGggdGhlIGV4Y2VwdGlvbiBvZiBmaXhpbmcganVuaXQgdGVzdHMuLiAKK0FsbCBvcGVuIGl0ZW1zIGFyZSBkb2N1bWVudGF0aW9uIGFuZCBBU0YgcHJvY2VzcyBhbmQgaW5mcmFzdHJ1Y3R1cmUgcmVsYXRlZC4KK1RoZXJlIHN0aWxsIGlzIG5vIDMuMC4wLWluY3ViYXRpbmctYWxwaGExIHJlbGVhc2UuCisKK0l0IGxvb2tzIGxpa2UgdGhpbmdzIGhhdmUgc2xvd2VkIGRvd24gdGhlIGxhc3QgZmV3IHdlZWtzIGZvciBhbiB1bmtub3duIHJlYXNvbi4KKworVGhlIGRldmVsb3BlciBsaXN0IGN1cnJlbnRseSBoYXMgODggbWVtYmVycywgYW4gaW5jcmVhc2UgZnJvbSA4MjsgYW5kIHRoZQordXNlciBsaXN0IGhhcyAxOTMgbWVtYmVycywgYW4gaW5jcmVhc2UgZnJvbSAxOTEuIAorCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDEwLTEwLnR4dCBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMTAtMTAudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI4ZjU5NDEKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDEwLTEwLnR4dApAQCAtMCwwICsxLDE4IEBACisyMDEwIE9jdG9iZXIgSlNQV2lraSBJbmN1YmF0b3Igc3RhdHVzIHJlcG9ydAorCitKU1BXaWtpIGhhcyBiZWVuIGluY3ViYXRpbmcgc2luY2UgU2VwdGVtYmVyIDIwMDcuCisKK0pTUFdpa2kgaXMgYSBKU1AtYmFzZWQgd2lraSBwcm9ncmFtLgorCitPbmx5IGEgZmV3IG1pbm9yIGJ1Z3Mgd2VyZSBmaXhlZC4KKworTm8gcHJvZ3Jlc3MgaW4gdGhlIGluY3ViYXRpb24gcHJvY2Vzcy4gVGhlIHByb2plY3Qgc3RpbGwgbmVlZHMgdG8KK21ha2UgYW4gb2ZmaWNpYWwgQXBhY2hlIHJlbGVhc2UuCisKK1RoaW5ncyBoYXZlIHNsb3dlZCBkb3duIHRoZSBsYXN0IGZldyBtb250aHMgZm9yIGFuIHVua25vd24gcmVhc29uLgorQWxzbyB0aGUgbWFpbGluZyBsaXN0cyBhcmUgdmVyeSBxdWlldC4KKworVGhlcmUgaXMgc3RpbGwgY29uc2lkZXJhYmxlIGludGVyZXN0IGluIHRoZSBwcm9qZWN0LgorVGhlIGRldmVsb3BlciBsaXN0IGN1cnJlbnRseSBoYXMgOTAgc3Vic2NyaWJlcnMsIG5vIGNoYW5nZTsgYW5kIHRoZQordXNlciBsaXN0IGhhcyAxOTUgc3Vic2NyaWJlcnMsIG5vIGNoYW5nZS4gCisKZGlmZiAtLWdpdCBhL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMTEtMDEudHh0IGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMS0wMS50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWUyZmM0NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMTEtMDEudHh0CkBAIC0wLDAgKzEsMTggQEAKKzIwMTEgSmFudWFyeSBKU1BXaWtpIEluY3ViYXRvciBzdGF0dXMgcmVwb3J0CisKK0pTUFdpa2kgaGFzIGJlZW4gaW5jdWJhdGluZyBzaW5jZSBTZXB0ZW1iZXIgMjAwNy4KKworSlNQV2lraSBpcyBhIEpTUC1iYXNlZCB3aWtpIHByb2dyYW0uCisKK0EgZmV3IG1pbm9yIGJ1Z3Mgd2VyZSBmaXhlZC4KKworTm8gcHJvZ3Jlc3MgaW4gdGhlIGluY3ViYXRpb24gcHJvY2Vzcy4gVGhlIHByb2plY3Qgc3RpbGwgbmVlZHMgdG8KK21ha2UgYW4gb2ZmaWNpYWwgQXBhY2hlIHJlbGVhc2UuCisKK1RoZXJlIGhhdmUgYmVlbiBkaXNjdXNzaW9ucyBhYm91dCB0aGUgZnV0dXJlIG9mIEpTUFdpa2ksIGNvbnNpZGVyaW5nCit0aGUgbG9uZyAicGVyaW9kcyBvZiBzaWxlbmNlIiBhbmQgdGhlIGxhY2sgb2YgcHJvZ3Jlc3MgaW4gdGhlIGluY3ViYXRpb24KK3Byb2Nlc3MuLgorRGlmZmVyZW50IG9waW5pb25zIHdlcmUgdmVudGlsYXRlZCwgYm90aCBwb3NpdGl2ZSBhbmQgbGVzcyBwb3NpdGl2ZSBvbmVzIAord2l0aCBubyBjbGVhciBvdXRjb21lLiAKK1RoZSBkZXZlbG9wZXIgbGlzdCBjdXJyZW50bHkgaGFzID8/IHN1YnNjcmliZXJzLCBubyBjaGFuZ2U7IGFuZCB0aGUKK3VzZXIgbGlzdCBoYXMgPz8gc3Vic2NyaWJlcnMuIApkaWZmIC0tZ2l0IGEvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMS0wNC50eHQgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDExLTA0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMmEwOTlmCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMS0wNC50eHQKQEAgLTAsMCArMSwxOCBAQAorMjAxMSBBcHJpbCBKU1BXaWtpIEluY3ViYXRvciBzdGF0dXMgcmVwb3J0CisKK0pTUFdpa2kgaGFzIGJlZW4gaW5jdWJhdGluZyBzaW5jZSBTZXB0ZW1iZXIgMjAwNy4KKworSlNQV2lraSBpcyBhIEpTUC1iYXNlZCB3aWtpIHByb2dyYW0uCisKK0EgZmV3IG1pbm9yIGJ1Z3Mgd2VyZSBmaXhlZC4KKworTm8gcHJvZ3Jlc3MgaW4gdGhlIGluY3ViYXRpb24gcHJvY2Vzcy4gVGhlIHByb2plY3Qgc3RpbGwgbmVlZHMgdG8KK21ha2UgYW4gb2ZmaWNpYWwgQXBhY2hlIHJlbGVhc2UuICBWZXJ5IGZldyBkZXZlbG9wZXJzIHNlZW0gdG8gaGF2ZQordGltZSB0byBkZWRpY2F0ZSBmb3IgSlNQV2lraS4KKworVGhlcmUgYXBwZWFycyB0byBiZSBhIGxhY2sgb2YgaW50ZXJlc3QgaW4gdGhlIG5ldyByZWxlYXNlcywgdGhvdWdoCit0aGVyZSBpcyBzdGlsbCBhY3Rpdml0eSBvbiB0aGUgdXNlcnMgbGlzdCwgd2hpY2ggc2hvd3MgdGhhdCBwZW9wbGUKK2FyZSB1c2luZyBKU1BXaWtpLgorCitUaGUgZGV2ZWxvcGVyIGxpc3QgY3VycmVudGx5IGhhcyA5NiBzdWJzY3JpYmVyczsgYW5kIHRoZQordXNlciBsaXN0IGhhcyAxOTMgc3Vic2NyaWJlcnMuICBUaGVyZSBpcyBubyBzaWduaWZpY2FudCBjaGFuZ2UuCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDExLTA3LnR4dCBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMTEtMDcudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJmZTViZTIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDExLTA3LnR4dApAQCAtMCwwICsxLDE4IEBACisyMDExIEFwcmlsIEpTUFdpa2kgSW5jdWJhdG9yIHN0YXR1cyByZXBvcnQKKworSlNQV2lraSBoYXMgYmVlbiBpbmN1YmF0aW5nIHNpbmNlIFNlcHRlbWJlciAyMDA3LgorCitKU1BXaWtpIGlzIGEgSlNQLWJhc2VkIHdpa2kgcHJvZ3JhbS4KKworVGhlcmUgd2VyZSA2IGJ1Z3MgZml4ZWQuCitBbmQgYWxzbyBzb21lIHByb2dyZXNzIGluIHRoZSBpbmN1YmF0aW9uIHByb2Nlc3MsIHRoZSBsYXN0IG9wZW4gaXNzdWUKKyAoSlNQV0lLSS02MzYgQ2xlYW4gdW5pdCB0ZXN0IGJ1aWxkcykgd2FzIGFsc28gZml4ZWQuCitCdXQgc3RpbGwgbm8gYWN0aXZpdHkgdG8gbWFrZSBhbiBvZmZpY2lhbCBBcGFjaGUgcmVsZWFzZS4gIAorVmVyeSBmZXcgZGV2ZWxvcGVycyBzZWVtIHRvIGhhdmUgdGltZSB0byBkZWRpY2F0ZSBmb3IgSlNQV2lraS4KKworVGhlcmUgYXBwZWFycyB0byBiZSBhIGxhY2sgb2YgaW50ZXJlc3QgaW4gdGhlIG5ldyByZWxlYXNlcywgdGhvdWdoCit0aGVyZSBpcyBzdGlsbCBhY3Rpdml0eSBvbiB0aGUgdXNlcnMgbGlzdCwgd2hpY2ggc2hvd3MgdGhhdCBwZW9wbGUKK2FyZSB1c2luZyBKU1BXaWtpLgorCitUaGUgZGV2ZWxvcGVyIGxpc3QgY3VycmVudGx5IGhhcyA5MyBzdWJzY3JpYmVyczsgYW5kIHRoZQordXNlciBsaXN0IGhhcyAxOTIgc3Vic2NyaWJlcnMuClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMS0xMi50eHQgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDExLTEyLnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NzlkNDZjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMS0xMi50eHQKQEAgLTAsMCArMSwxMiBAQAorMjAxMSBEZWNlbWJlciBKU1BXaWtpIEluY3ViYXRvciBzdGF0dXMgcmVwb3J0CisKK0pTUFdpa2kgaGFzIGJlZW4gaW5jdWJhdGluZyBzaW5jZSBTZXB0ZW1iZXIgMjAwNy4KKworSlNQV2lraSBpcyBhIEpTUC1iYXNlZCB3aWtpIHByb2dyYW0uCisKK05vIGJ1Z3Mgd2VyZSBmaXhlZCBpbiB0aGlzIHBlcmlvZC4KK1RoZXJlIGhhcyBiZWVuIGFsbW9zdCBubyBhY3Rpdml0eSwgZmV3IGRldmVsb3BlcnMgc2VlbSB0byBoYXZlIHRpbWUgZm9yIEpTUFdpa2kuCitBbHNvIGhhcmRseSBhbnkgYWN0aXZpdHkgb24gdGhlIHVzZXIgYW5kIGRldiBtYWlsaW5nIGxpc3RzLgorCitUaGUgZGV2ZWxvcGVyIGxpc3QgY3VycmVudGx5IGhhcyA/PyBzdWJzY3JpYmVyczsgYW5kIHRoZQordXNlciBsaXN0IGhhcyA/Pz8gc3Vic2NyaWJlcnMuClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMi0wMS50eHQgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDEyLTAxLnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NGM0NTJmCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMi0wMS50eHQKQEAgLTAsMCArMSwxNiBAQAorMjAxMiBKYW51YXJ5IEpTUFdpa2kgSW5jdWJhdG9yIHN0YXR1cyByZXBvcnQKKworSlNQV2lraSBoYXMgYmVlbiBpbmN1YmF0aW5nIHNpbmNlIFNlcHRlbWJlciAyMDA3LgorCitKU1BXaWtpIGlzIGEgSlNQLWJhc2VkIHdpa2kgcHJvZ3JhbS4KKworMiBKSVJBIGlzc3VlcyB3ZXJlIGZpeGVkIHNpbmNlIGxhc3QgcGVyaW9kLgorQXMgYWdhaW4gdGhlcmUgaGFzIGJlZW4gdmVyeSBsaXR0bGUgYWN0aXZpdHksIGEgZGlzY3Vzc2lvbgoraXMgbm93IHRha2luZyBwbGFjZSBpbiBkZXYgbWFpbGluZyBsaXN0LCByZWdhcmRpbmcgdGhlIAorZnV0dXJlIGFuZCBvYmplY3RpdmVzIG9mIEpTUFdpa2kuCitPdGhlciB0aGFuIHRoYXQsIHRoZXJlIGhhcyBiZWVuIGZldyBhY3Rpdml0eSBvbiB0aGUgdXNlciAKK2FuZCBkZXYgbWFpbGluZyBsaXN0cy4KKworVGhlIGRldmVsb3BlciBsaXN0IGN1cnJlbnRseSBoYXMgPz8gc3Vic2NyaWJlcnM7IGFuZCB0aGUKK3VzZXIgbGlzdCBoYXMgPz8/IHN1YnNjcmliZXJzLgorCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDEyLTA0LnR4dCBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMTItMDQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEyOGQ3ZjAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDEyLTA0LnR4dApAQCAtMCwwICsxLDIwIEBACisyMDEyIEFwcmlsIEpTUFdpa2kgSW5jdWJhdG9yIHN0YXR1cyByZXBvcnQKKworSlNQV2lraSBoYXMgYmVlbiBpbmN1YmF0aW5nIHNpbmNlIFNlcHRlbWJlciAyMDA3LgorCitKU1BXaWtpIGlzIGEgSlNQLWJhc2VkIHdpa2kgcHJvZ3JhbS4KKworQXMgYSByZXN1bHQgb2YgZGlzY3Vzc2luZyBpbiB0aGUgZGV2LWxpc3QsIHRoZSBvYmplY3RpdmVzCitmb3IgZ3JhZHVhdGlvbiBoYXZlIGNoYW5nZWQ6IHRoZSBmaXJzdCBBcGFjaGUgcmVsZWFzZQord2lsbCBiZSBiYXNlZCBvbiAyLjggKHBhY2thZ2UtcmVuYW1lZCksIHdoaWNoIGlzIAorYmF0dGxlLXRlc3RlZCwgYmVpbmcgdGhlIHBsYW4gdG8gZXZvbHZlIGZyb20gdGhlcmUuCisKKzQgSklSQSBpc3N1ZXMgd2VyZSBmaXhlZCBzaW5jZSBsYXN0IHBlcmlvZCwgYW5kIHRlc3RzIGFyZQorbm93IHBhcnQgb2YgdGhlIG1haW4gYnVpbGQuCisKK1RoZSBtYWluIGlzc3VlcyBibG9ja2luZyBncmFkdWF0aW9uIG5vdyBhcmUgcmVzb2x1dGlvbiAKK2FjY2VwdGFuY2UsIGFuZCBjb21tdW5pdHkgYW5kIElQTUMgZ3JhZHVhdGlvbiB2b3RlLgorCitUaGUgZGV2ZWxvcGVyIGxpc3QgY3VycmVudGx5IGhhcyA/PyBzdWJzY3JpYmVyczsgYW5kIHRoZQordXNlciBsaXN0IGhhcyA/Pz8gc3Vic2NyaWJlcnMuCisKZGlmZiAtLWdpdCBhL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMTItMDcudHh0IGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMi0wNy50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWVkYmJhZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMTItMDcudHh0CkBAIC0wLDAgKzEsMjQgQEAKKzIwMTIgSnVseSBKU1BXaWtpIEluY3ViYXRvciBzdGF0dXMgcmVwb3J0CisKK0pTUFdpa2kgaGFzIGJlZW4gaW5jdWJhdGluZyBzaW5jZSBTZXB0ZW1iZXIgMjAwNy4KKworSlNQV2lraSBpcyBhIEpTUC1iYXNlZCB3aWtpIHByb2dyYW0uCisKK1N0aWxsIGZvbGxvd2luZyB0aGUgb2JqZXRpdmUgb2YgbWFraW5nIHRoZSBmaXJzdCBBcGFjaGUgcmVsZWFzZToKKworNCBKSVJBIGlzc3VlcyB3ZXJlIGZpeGVkIHNpbmNlIGxhc3QgcGVyaW9kLCB0aGUgcHJvamVjdCAKK3dlYnNpdGUgaGFzIGJlZW4gcmV2YW1wZWQsIGFuZCBmZXcgb3RoZXIgbmljZXRpZXMgJiBmaXhlcyBoYXZlIGdvdCAKK2ludG8gdHJ1bmsgKGZvciBleGFtcGxlIGx1Y2VuZSBsaWJyYXJ5IHdhcyB1cGdyYWRlZCB0byAzLjYuMCkuCisKKzIgUmVsZWFzZSBjYW5kaWRhdGVzIGhhdmUgYmVlbiBtYWRlLCBidXQgdGhleSBkaWRuJ3Qgc3VjY2VlZAorYmVjYXVzZSBvZiB0ZWNobmljYWwgaXNzdWVzLiBIb3BlZnVsbHkgdGhlIHRoaXJkIFJDIHdpbGwgYmVjYW1lCit0aGUgZmlyc3QgQVNGIHJlbGVhc2UuCisKK1RoZSBtYWluIGlzc3VlcyBibG9ja2luZyBncmFkdWF0aW9uIGtlZXAgYmVpbmcgdGhlIHNhbWUgYXMgCitpbiB0aGUgbGFzdCByZXBvcnQ6IHJlc29sdXRpb24gYWNjZXB0YW5jZSwgY29tbXVuaXR5IGFuZCBJUE1DIAorZ3JhZHVhdGlvbiB2b3RlLCB0aGUgbGF0dGVyIG9uZSByZXF1aXJpbmcgYXQgbGVhc3Qgb25lIEFTRiAKK3JlbGVhc2UuCisKK1RoZSBkZXZlbG9wZXIgbGlzdCBjdXJyZW50bHkgaGFzID8/IHN1YnNjcmliZXJzOyBhbmQgdGhlCit1c2VyIGxpc3QgaGFzID8/PyBzdWJzY3JpYmVycy4KKwpkaWZmIC0tZ2l0IGEvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMi0xMC50eHQgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDEyLTEwLnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZmU2NTg4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMi0xMC50eHQKQEAgLTAsMCArMSwyNiBAQAorMjAxMiBPY3RvYmVyIEpTUFdpa2kgSW5jdWJhdG9yIHN0YXR1cyByZXBvcnQKKworSlNQV2lraSBoYXMgYmVlbiBpbmN1YmF0aW5nIHNpbmNlIFNlcHRlbWJlciAyMDA3LgorCitKU1BXaWtpIGlzIGEgSlNQLWJhc2VkIHdpa2kgcHJvZ3JhbS4KKworU3RpbGwgZm9sbG93aW5nIHRoZSBvYmplY3RpdmUgb2YgbWFraW5nIHRoZSBmaXJzdCBBcGFjaGUgcmVsZWFzZToKKworQSBmZXcgSklSQSBpc3N1ZXMgd2VyZSByYWlzZWQgaW4gdGhpcyBwZXJpb2QgZHVlIHRvIGluY29ycmVjdAoraGFuZGxpbmcgb2YgZXh0ZXJuYWwgZGVwZW5kZW5jaWVzLiBUaGV5IGhhdmUgYmVlbiBmaXhlZCwgc28gdGhlcmUgCithcmVuJ3QgYW55IG90aGVyIHRlY2huaWNhbCBpc3N1ZXMgYmxvY2tpbmcgYSByZWxlYXNlLiBBIG5ldyBSQyBhbmQKK2EgcmVsZWFzZSB2b3RlIGhhcyBiZWVuIGNhc3QgaW4ganNwd2lraS1kZXYsIHdpdGggMTAgKzEgKDYgZnJvbQorUFBNQyBtZW1iZXJzKS4gSG93ZXZlciwgd2UgZG9uJ3QgaGF2ZSBhbnkgSVBNQyB2b3RlIHlldCwgc28gdGhlIHJlbGVhc2UKK3RocmVhZCB3YXMgZm9yd2FyZGVkIHRvIGdlbmVyYWwgb24gRnJpZGF5IDI2dGguIAorCitJdCdzIGxpa2VseSB0aGF0IHdlIHdpbGwgaGF2ZSBvdXIgZmlyc3QgQXBhY2hlIHJlbGVhc2UgZHVyaW5nIHRoZQorZmlyc3Qgd2Vla3Mgb2YgT2N0b2Jlci4gCisKK1RoZSBtYWluIGlzc3VlcyBibG9ja2luZyBncmFkdWF0aW9uIGtlZXAgYmVpbmcgdGhlIHNhbWUgYXMgCitpbiB0aGUgbGFzdCByZXBvcnQ6IHJlc29sdXRpb24gYWNjZXB0YW5jZSwgY29tbXVuaXR5IGFuZCBJUE1DIAorZ3JhZHVhdGlvbiB2b3RlLCB0aGUgbGF0dGVyIHJlcXVpcmluZyBhdCBsZWFzdCBvbmUgQVNGIAorcmVsZWFzZS4KKworVGhlIGRldmVsb3BlciBsaXN0IGN1cnJlbnRseSBoYXMgOTEgc3Vic2NyaWJlcnM7IGFuZCB0aGUKK3VzZXIgbGlzdCBoYXMgMTg2IHN1YnNjcmliZXJzLgorCmRpZmYgLS1naXQgYS9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDEzLTAxLnR4dCBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMTMtMDEudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZjc5NjkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDEzLTAxLnR4dApAQCAtMCwwICsxLDIzIEBACisyMDEzIEphbnVhcnkgSlNQV2lraSBJbmN1YmF0b3Igc3RhdHVzIHJlcG9ydAorCitKU1BXaWtpIGhhcyBiZWVuIGluY3ViYXRpbmcgc2luY2UgU2VwdGVtYmVyIDIwMDcuCisKK0pTUFdpa2kgaXMgYSBKU1AtYmFzZWQgd2lraSBwcm9ncmFtLgorCitUaGUgbW9zdCBzaWduaWZpY2FudCBtb3ZlbWVudHMgaW4gdGhpcyBwZXJpb2QgaGF2ZSBiZWVuOgorLSBBcGFjaGUgSlNQV2lraSAoaW5jdWJhdGluZykgMi45LjAgcmVsZWFzZWQgaW4gRGVjZW1iZXIgCistIDQgcGF0Y2hlcyBpbmNvcnBvcmF0ZWQgaW50byB0cnVuaworLSBuZXcgbWVudG9yIC0gU2llZ2ZyaWVkIEdvZXNjaGwKKy0gdm90ZSB0byBhc2sgR2xlbiBNYXp6YSAoZ21henphQGFwYWNoZS5vcmcpIGFzIFBQTUMgJiBjb21taXR0ZXIgcGFzc2VkLCB3aXRoIAorICBHbGVuIGFncmVlaW5nIHRvIGpvaW4gaW4uCisKK1RoZSB0cmFmZmljIG9uIGpzcHdpa2ktZGV2IGhhcyBrZXB0IGdyb3dpbmcgdGhlc2UgbW9udGhzLCB3aGVyZWFzIHRoZSB0cmFmZmljIGF0Citqc3B3aWtpLXVzZXIgaGFzIHJlbWFpbmVkIG1vcmUgb3IgbGVzcyB0aGUgc2FtZS4gMTMgSklSQSBpc3N1ZXMgd2VyZSBhbHNvIGZpeGVkIAoraW4gdGhpcyBwZXJpb2QuIExhc3RseSwgd29yayBvbiBhbiBBUEkgdG8gZXhwb3NlIEpTUFdpa2kgaW50ZXJuYWxzIGhhcyBzdGFydGVkLiAKKworVGhlIG1haW4gaXNzdWVzIGJsb2NraW5nIGdyYWR1YXRpb24gYXJlOiByZXNvbHV0aW9uIGFjY2VwdGFuY2UsIGNvbW11bml0eSBhbmQgCitJUE1DIGdyYWR1YXRpb24gdm90ZS4gSG93ZXZlciwgd2UgZmVlbCB0aGF0IGluIHRoaXMgcGVyaW9kIHdlJ3ZlIHN0cm9uZ2x5IAorYWR2YW5jZWQgdG93YXJkcyBncmFkdWF0aW9uLgorCitUaGUgZGV2ZWxvcGVyIGxpc3QgY3VycmVudGx5IGhhcyAoPykgc3Vic2NyaWJlcnM7IGFuZCB0aGUgdXNlciBsaXN0IGhhcyAoPykgCitzdWJzY3JpYmVycy4KZGlmZiAtLWdpdCBhL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMTMtMDQudHh0IGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMy0wNC50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2RjOWY1NAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkLXJlcG9ydHMvaW5jdWJhdG9yLzIwMTMtMDQudHh0CkBAIC0wLDAgKzEsMTkgQEAKKzIwMTMgQXByaWwgSlNQV2lraSBJbmN1YmF0b3Igc3RhdHVzIHJlcG9ydAorCitKU1BXaWtpIGhhcyBiZWVuIGluY3ViYXRpbmcgc2luY2UgU2VwdGVtYmVyIDIwMDcuCisKK0pTUFdpa2kgaXMgYSBKU1AtYmFzZWQgd2lraSBwcm9ncmFtLgorCitUaGUgbW9zdCBzaWduaWZpY2FudCBtb3ZlbWVudHMgaW4gdGhpcyBwZXJpb2QgaGF2ZSBiZWVuOgorLSBvbmdvaW5nIHZvdGUgdG8gcmVsZWFzZSBBcGFjaGUgSlNQV2lraSAoaW5jdWJhdGluZykgMi45LjEKKy0gMSBwYXRjaCBpbmNvcnBvcmF0ZWQgaW50byB0cnVuaywgMTUgSklSQXMgcmVzb2x2ZWQKKworQ29tcGFyZWQgdG8gdGhlIGxhc3QgcGVyaW9kLCB0aGUgdHJhZmZpYyBvbiBqc3B3aWtpLWRldiBoYXMgYmVlbiBoYWx2ZWQsIAord2hlcmVhcyB0aGUgdHJhZmZpYyBhdCBqc3B3aWtpLXVzZXIgaGFzIGluY3JlYXNlZCBzbGlnaHRseS4gIAorCitUaGUgbWFpbiBpc3N1ZXMgYmxvY2tpbmcgZ3JhZHVhdGlvbiBhcmU6IHJlc29sdXRpb24gYWNjZXB0YW5jZSwgY29tbXVuaXR5IGFuZCAKK0lQTUMgZ3JhZHVhdGlvbiB2b3RlLiBJZiB0aGUgcmVsZWFzZSB2b3RlIGlzIHN1Y2Nlc2Z1bCwgd2UncmUgdGhpbmtpbmcgb24KK2Rpc2N1c3NpbmcgbGVhdmluZyB0aGUgSW5jdWJhdG9yICsgZ3JhZHVhdGUgYXMgVExQCisKK1RoZSBkZXZlbG9wZXIgbGlzdCBjdXJyZW50bHkgaGFzICg/KSBzdWJzY3JpYmVyczsgYW5kIHRoZSB1c2VyIGxpc3QgaGFzICg/KSAKK3N1YnNjcmliZXJzLgpkaWZmIC0tZ2l0IGEvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMy0wNy50eHQgYi9ib2FyZC1yZXBvcnRzL2luY3ViYXRvci8yMDEzLTA3LnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xODE2NDBmCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQtcmVwb3J0cy9pbmN1YmF0b3IvMjAxMy0wNy50eHQKQEAgLTAsMCArMSwzNSBAQAorMjAxMyBKdWx5IEpTUFdpa2kgSW5jdWJhdG9yIHN0YXR1cyByZXBvcnQKKworSlNQV2lraQorCitKYXZhLWJhc2VkIHdpa2kgZW5naW5lCisKK0pTUFdpa2kgaGFzIGJlZW4gaW5jdWJhdGluZyBzaW5jZSAyMDA3LTA5LTE3LgorCitUaHJlZSBtb3N0IGltcG9ydGFudCBpc3N1ZXMgdG8gYWRkcmVzcyBpbiB0aGUgbW92ZSB0b3dhcmRzIGdyYWR1YXRpb246CisKKyAgMS4gSVBNQyB2b3RlICg/LCBjdXJyZW50bHkgcnVubmluZykKKyAgMi4gCisgIDMuIAorCitBbnkgaXNzdWVzIHRoYXQgdGhlIEluY3ViYXRvciBQTUMgKElQTUMpIG9yIEFTRiBCb2FyZCB3aXNoL25lZWQgdG8gYmUgYXdhcmUgb2Y/CisqIFdlIGN1cnJlbnRseSBoYXZlIG9wZW4gc29tZSBKSVJBcyB3aXRoIEluZnJhLiBTcGVjaWZpY2FsbHksIGhhdmluZyAKKyAgSU5GUkEtNTU4OCAoVWJ1bnR1IFZNIGZvciBKU1BXaWtpKSBzb2x2ZWQgd291bGQgYmUgYSBncmVhdCArMSBpbiB0ZXJtcyBvZiAKKyAgY29tbXVuaXR5IGJ1aWxkaW5nLCBhbmQgd291bGQgYmUgYSByZWFsbHkgbmljZSB3YXkgb2YgZW50ZXJpbmcgVExQLgorCitIb3cgaGFzIHRoZSBjb21tdW5pdHkgZGV2ZWxvcGVkIHNpbmNlIHRoZSBsYXN0IHJlcG9ydD8KKyogQ29tbXVuaXR5IGdyYWR1YXRpb24gdm90ZSBwYXNzZWQgd2l0aCAxNiArMSAoaHR0cDovL3MuYXBhY2hlLm9yZy91TSkKKyogVGhlcmUgd2FzIGEgY2FsbCBmb3IgY29tcGxldGluZyBpMThuIGZpbGVzLCB3aGljaCBoYXMgYmVlbiBmYXN0bHkgYWRkcmVzZWQgCisgIGJ5IGNvbW11bml0eTogQ2hpbmVzZSwgUG9ydHVndWVzZSwgRnJlbmNoLCBJdGFsaWFuLCBCcmF6aWxpYW4gYW5kIFJ1c3NpYW4gCisgIGxhbmd1YWdlIGZpbGVzIGhhdmUgYmVlbiBjb21wbGV0ZWQgY29tcGxldGVkIGJ5IGNvbW11bml0eQorKiBNYWlsIGFjdGl2aXR5IGhhcyB0cmlwbGVkIHByZXZpb3VzIHF1YXJ0ZXIgYXQganNwd2lraS1kZXYsIDIuOS4xLWluY3ViYXRpbmcgCisgIHJlbGVhc2UgYW5kIGdyYWR1YXRpb24gYmVpbmcgcmVzcG9uc2libGUgb2YgcGFydCBvZiB0aGUgaW5jcmVhc2Ugb2YgdGhpcyAKKyAgYWN0aXZpdHkuIGpzcHdpa2ktdXNlciB0cmFmZmljIGhhcyBkZWNyZWFzZWQgYSBiaXQsIHRob3VnaC4KKworSG93IGhhcyB0aGUgcHJvamVjdCBkZXZlbG9wZWQgc2luY2UgdGhlIGxhc3QgcmVwb3J0PworKiBBcGFjaGUgSlNQV2lraSAyLjkuMS1pbmN1YmF0aW5nIHJlbGVhc2VkIG9uIE1heSwgMTV0aAorKiA4IEpJUkFzIHJlc29sdmVkIGluIHRoaXMgcGVyaW9kCisqIFN3aXRjaCB0byBNYXZlbiBhcyBidWlsZCB0b29sIGFsbW9zdCBjb21wbGV0ZQorKiBVcGdyYWRlZCBzb21lIGxpYnJhcmllcworCitEYXRlIG9mIGxhc3QgcmVsZWFzZTogMTUvMDUvMjAxMwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2JvYXJkLXJlc29sdXRpb25zL0pTUFdJS0ktNTM4IEJvYXJkUmVzb2x1dGlvbi50eHQgYi9ib2FyZC1yZXNvbHV0aW9ucy9KU1BXSUtJLTUzOCBCb2FyZFJlc29sdXRpb24udHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc3OWQyOWEKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC1yZXNvbHV0aW9ucy9KU1BXSUtJLTUzOCBCb2FyZFJlc29sdXRpb24udHh0CkBAIC0wLDAgKzEsNTkgQEAKK0JvYXJkIFJlc29sdXRpb24gUmVwb3J0CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgICAgIFdIRVJFQVMsIHRoZSBCb2FyZCBvZiBEaXJlY3RvcnMgZGVlbXMgaXQgdG8gYmUgaW4gdGhlIGJlc3QKKyAgICAgICBpbnRlcmVzdHMgb2YgdGhlIEZvdW5kYXRpb24gYW5kIGNvbnNpc3RlbnQgd2l0aCB0aGUKKyAgICAgICBGb3VuZGF0aW9uJ3MgcHVycG9zZSB0byBlc3RhYmxpc2ggYSBQcm9qZWN0IE1hbmFnZW1lbnQKKyAgICAgICBDb21taXR0ZWUgY2hhcmdlZCB3aXRoIHRoZSBjcmVhdGlvbiBhbmQgbWFpbnRlbmFuY2Ugb2YKKyAgICAgICBvcGVuLXNvdXJjZSBzb2Z0d2FyZSByZWxhdGVkIHRvIEpTUFdpa2ksIGEgZmVhdHVyZS1yaWNoIGFuZAorICAgICAgIGV4dGVuc2libGUgV2lraSBlbmdpbmUgYnVpbHQgYXJvdW5kIHRoZSBzdGFuZGFyZCAKKyAgICAgICBKYXZhIEVFIGNvbXBvbmVudHMgSmF2YSwgU2VydmxldHMsIGFuZCBKYXZhIFNlcnZlciBQYWdlcywKKyAgICAgICBmb3IgZGlzdHJpYnV0aW9uIGF0IG5vIGNoYXJnZSB0byB0aGUgcHVibGljLgorCisgICAgICAgTk9XLCBUSEVSRUZPUkUsIEJFIElUIFJFU09MVkVELCB0aGF0IGEgUHJvamVjdCBNYW5hZ2VtZW50CisgICAgICAgQ29tbWl0dGVlIChQTUMpLCB0byBiZSBrbm93biBhcyB0aGUgIkFwYWNoZSBKU1BXaWtpIFByb2plY3QiLAorICAgICAgIGJlIGFuZCBoZXJlYnkgaXMgZXN0YWJsaXNoZWQgcHVyc3VhbnQgdG8gQnlsYXdzIG9mIHRoZQorICAgICAgIEZvdW5kYXRpb247IGFuZCBiZSBpdCBmdXJ0aGVyCisKKyAgICAgICBSRVNPTFZFRCwgdGhhdCB0aGUgQXBhY2hlIEpTUFdpa2kgUHJvamVjdCBiZSBhbmQgaGVyZWJ5IGlzCisgICAgICAgcmVzcG9uc2libGUgZm9yIHRoZSBjcmVhdGlvbiBhbmQgbWFpbnRlbmFuY2Ugb2Ygc29mdHdhcmUKKyAgICAgICByZWxhdGVkIHRvIEpTUFdpa2ksIGEgZmVhdHVyZS1yaWNoIGFuZAorICAgICAgIGV4dGVuc2libGUgV2lraSBlbmdpbmUgYnVpbHQgYXJvdW5kIHRoZSBzdGFuZGFyZCAKKyAgICAgICBKYXZhIEVFIGNvbXBvbmVudHMgSmF2YSwgU2VydmxldHMsIGFuZCBKYXZhIFNlcnZlciBQYWdlczsKKyAgICAgICBhbmQgYmUgaXQgZnVydGhlcgorCisgICAgICAgUkVTT0xWRUQsIHRoYXQgdGhlIG9mZmljZSBvZiAiVmljZSBQcmVzaWRlbnQsIEFwYWNoZSBKU1BXaWtpIiBiZQorICAgICAgIGFuZCBoZXJlYnkgaXMgY3JlYXRlZCwgdGhlIHBlcnNvbiBob2xkaW5nIHN1Y2ggb2ZmaWNlIHRvCisgICAgICAgc2VydmUgYXQgdGhlIGRpcmVjdGlvbiBvZiB0aGUgQm9hcmQgb2YgRGlyZWN0b3JzIGFzIHRoZSBjaGFpcgorICAgICAgIG9mIHRoZSBBcGFjaGUgSlNQV2lraSBQcm9qZWN0LCBhbmQgdG8gaGF2ZSBwcmltYXJ5IHJlc3BvbnNpYmlsaXR5CisgICAgICAgZm9yIG1hbmFnZW1lbnQgb2YgdGhlIHByb2plY3RzIHdpdGhpbiB0aGUgc2NvcGUgb2YKKyAgICAgICByZXNwb25zaWJpbGl0eSBvZiB0aGUgQXBhY2hlIEpTUFdpa2kgUHJvamVjdDsgYW5kIGJlIGl0IGZ1cnRoZXIKKworICAgICAgIFJFU09MVkVELCB0aGF0IHRoZSBwZXJzb25zIGxpc3RlZCBpbW1lZGlhdGVseSBiZWxvdyBiZSBhbmQKKyAgICAgICBoZXJlYnkgYXJlIGFwcG9pbnRlZCB0byBzZXJ2ZSBhcyB0aGUgaW5pdGlhbCBtZW1iZXJzIG9mIHRoZQorICAgICAgIEFwYWNoZSBKU1BXaWtpIFByb2plY3Q6CisKKyAgICAgICAgICogTXVycmF5IEFsdGhlaW0gICAgICAgPGFsdGhlaW1AYXBhY2hlLm9yZz4KKyAgICAgICAgICogRGlyayBGcmVkZXJpY2t4ICAgICAgPGJydXNoZWRAYXBhY2hlLm9yZz4KKyAgICAgICAgICogRmxvcmlhbiBIb2xlY3playAgICAgPGZsb3JpYW5oQGFwYWNoZS5vcmc+CisgICAgICAgICAqIEFuZHJldyBKYXF1aXRoICAgICAgIDxhamFxdWl0aEBhcGFjaGUub3JnPgorICAgICAgICAgKiBHbGVuIE1henphICAgICAgICAgICA8Z21henphQGFwYWNoZS5vcmc+CisgICAgICAgICAqIEhhcnJ5IE1ldHNrZSAgICAgICAgIDxtZXRza2VtQGFwYWNoZS5vcmc+CisgICAgICAgICAqIENyYWlnIEwgUnVzc2VsbCAgICAgIDxjbHJAYXBhY2hlLm9yZz4KKyAgICAgICAgICogSnVhbiBQYWJsbyBTYW50b3MgICAgPGp1YW5wYWJsb0BhcGFjaGUub3JnPgorICAgICAgICAgKiBDaHJpc3RvcGggU2F1ZXIgICAgICA8Y3NhdWVyQGFwYWNoZS5vcmc+CisKKyAgICAgICBOT1csIFRIRVJFRk9SRSwgQkUgSVQgRlVSVEhFUiBSRVNPTFZFRCwgdGhhdCBKdWFuIFBhYmxvIFNhbnRvcworICAgICAgIGJlIGFwcG9pbnRlZCB0byB0aGUgb2ZmaWNlIG9mIFZpY2UgUHJlc2lkZW50LCBBcGFjaGUgSlNQV2lraSwgdG8KKyAgICAgICBzZXJ2ZSBpbiBhY2NvcmRhbmNlIHdpdGggYW5kIHN1YmplY3QgdG8gdGhlIGRpcmVjdGlvbiBvZiB0aGUKKyAgICAgICBCb2FyZCBvZiBEaXJlY3RvcnMgYW5kIHRoZSBCeWxhd3Mgb2YgdGhlIEZvdW5kYXRpb24gdW50aWwKKyAgICAgICBkZWF0aCwgcmVzaWduYXRpb24sIHJldGlyZW1lbnQsIHJlbW92YWwgb3IgZGlzcXVhbGlmaWNhdGlvbiwKKyAgICAgICBvciB1bnRpbCBhIHN1Y2Nlc3NvciBpcyBhcHBvaW50ZWQ7IGFuZCBiZSBpdCBmdXJ0aGVyCisKKyAgICAgICBSRVNPTFZFRCwgdGhhdCB0aGUgQXBhY2hlIEpTUFdpa2kgUHJvamVjdCBiZSBhbmQgaGVyZWJ5CisgICAgICAgaXMgdGFza2VkIHdpdGggdGhlIG1pZ3JhdGlvbiBhbmQgcmF0aW9uYWxpemF0aW9uIG9mIHRoZSBBcGFjaGUKKyAgICAgICBJbmN1YmF0b3IgSlNQV2lraSBwb2RsaW5nOyBhbmQgYmUgaXQgZnVydGhlcgorCisgICAgICAgUkVTT0xWRUQsIHRoYXQgYWxsIHJlc3BvbnNpYmlsaXRpZXMgcGVydGFpbmluZyB0byB0aGUgQXBhY2hlCisgICAgICAgSW5jdWJhdG9yIEpTUFdpa2kgcG9kbGluZyBlbmN1bWJlcmVkIHVwb24gdGhlIEFwYWNoZSBJbmN1YmF0b3IKKyAgICAgICBQcm9qZWN0IGFyZSBoZXJlYWZ0ZXIgZGlzY2hhcmdlZC4K