ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggZDdiYjNjMi4uZWU3NmE1NyAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMTQgKzEsMTQgQEAKLVRoaXMgaXMgcmVsZWFzZSAyMDA1MDQxOSBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgorVGhpcyBpcyByZWxlYXNlIDIwMDUwNTI0IG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCiBVbml4LiAgVGhpcyBpcyBzdGlsbCBhIGRldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncwogYW5kIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yawogY29ycmVjdGx5LgogCi1XSEFUJ1MgTkVXIHdpdGggV2luZS0yMDA1MDQxOTogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCi0gICAgICAgIC0gTWFpbHNsb3Qgc3VwcG9ydC4KLSAgICAgICAgLSBTdXBwb3J0IGZvciBzaWRlIG1vdXNlIGJ1dHRvbnMgKFggYnV0dG9ucykuCi0gICAgICAgIC0gTW9yZSBSaWNoZWRpdCBpbXByb3ZlbWVudHMuCi0gICAgICAgIC0gTG9hZGluZyBvZiBXaW5kb3dzIHJlZ2lzdHJ5IGZpbGVzIGRpc2FibGVkIGZvciBub3cuCi0gICAgICAgIC0gTWFueSBjb2RlIGNsZWFudXBzLgorV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwNTA1MjQ6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQorICAgICAgICAtIE1hbnkgTVNJIGltcHJvdmVtZW50cy4KKyAgICAgICAgLSBNb3JlIGZlYXR1cmVzIGluIHRoZSBmaWxlIG1hbmFnZXIuCisgICAgICAgIC0gQmV0dGVyIGNvbXBhdGliaWxpdHkgZm9yIFdpbmVsaWIgaW1wb3J0IGxpYnJhcmllcy4KKyAgICAgICAgLSBTR01MIGRvY3VtZW50YXRpb24gbW92ZWQgb3V0IG9mIHRoZSBzb3VyY2UgdHJlZS4KKyAgICAgICAgLSBIZWFkZXIgZmlsZXMgY2xlYW51cHMuCiAgICAgICAgIC0gTG90cyBvZiBidWcgZml4ZXMuCiAKIFNlZSB0aGUgUkVBRE1FIGZpbGUgaW4gdGhlIGRpc3RyaWJ1dGlvbiBmb3IgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucy4KQEAgLTE3LDggKzE3LDggQEAKIHRoZSByZWxlYXNlIGlzIGF2YWlsYWJsZSBhdCB0aGUgZnRwIHNpdGVzLiAgVGhlIHNvdXJjZXMgd2lsbCBiZSBhdmFpbGFibGUKIGZyb20gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CiAKLSAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDUwNDE5LnRhci5negotICBodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3dpbmUvV2luZS0yMDA1MDQxOS50YXIuZ3oKKyAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDUwNTI0LnRhci5negorICBodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3dpbmUvV2luZS0yMDA1MDUyNC50YXIuZ3oKIAogSXQgc2hvdWxkIGFsc28gYmUgYXZhaWxhYmxlIGZyb20gYW55IG90aGVyIHNpdGUgdGhhdCBtaXJyb3JzIGliaWJsaW8ub3JnLgogVGhlc2UgbG9jYXRpb25zIGFsc28gaG9sZCBwcmUtYnVpbHQgZG9jdW1lbnRhdGlvbiBwYWNrYWdlcyBpbiB2YXJpb3VzCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZWQ1ZDg1ZS4uN2RiYWRmNyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSw0ICsxLDI2MTkgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzIwMDUtMDUtMjQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvcWNhcC9NYWtlZmlsZS5pbiwgZGxscy9xY2FwL3FjYXBfbWFpbi5oLCBkbGxzL3FjYXAveXV2LmM6CisJTWFhcnRlbiBMYW5raG9yc3QgPG0uYi5sYW5raG9yc3RAZ21haWwuY29tPgorCUFkZGVkIFlVViByb3V0aW5lcyBuZWVkZWQgZm9yIHY0bCBkcml2ZXIsIGFuZCBpbiB0aGUgZnV0dXJlIHBvc3NpYmx5CisJb3RoZXIgY2FwdHVyZSBkcml2ZXJzIHRvby4KKworCSogZGxscy9rZXJuZWwvZmlsZS5jOiBSZWluIEtsYXplcyA8d2lqbkB3YW5hZG9vLm5sPgorCVdvcmsgYXJvdW5kIGEgcHJvYmxlbSB3aGVyZSBXcml0ZUZpbGUgaXMgYXNrZWQgdG8gd3JpdGUgbWVtb3J5CisJcHJvdGVjdGVkIGJ5IERJQlNlY3Rpb24gY29kZS4KKworCSogZGxscy9jb21jdGwzMi9kYXRldGltZS5jLCBkbGxzL2l0c3MvY2htX2xpYi5jLCBkbGxzL2tlcm5lbC9pbnN0ci5jLAorCSAgZGxscy93aW5lcHMvdHJ1ZXR5cGUuYywgZGxscy93aW50YWIzMi9jb250ZXh0LmMsCisJICBwcm9ncmFtcy93aW5lZGJnL2JyZWFrLmMsIHRvb2xzL3dpbmVkdW1wL3BlLmM6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJRml4IHVuaW5pdGlhbGl6ZWQgd2FybmluZ3MuCisKKwkqIGRsbHMvbnRkbGwvc2VjLmMsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwKKwkgIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci9yZXF1ZXN0LmgsIHNlcnZlci90b2tlbi5jLAorCSAgc2VydmVyL3RyYWNlLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudCBOdEFjY2Vzc0NoZWNrLgorCisJKiBkbGxzL3VybG1vbi9zZWNfbWdyLmMsIGluY2x1ZGUvdXJsbW9uLmlkbDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkIHRoZSBtaXNzaW5nIGludGVyZmFjZSBtZXRob2QgUHJvbXB0QWN0aW9uIHRvCisJSUludGVybmV0Wm9uZU1hbmFnZXIuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL21zdmNydC90aW1lLmMsIGluY2x1ZGUvY29uZmlnLmguaW46CisJUGhpbCBLcnlsb3YgPHBoaWxAbmV3c3Rhci5yaW5ldC5ydT4KKwlBZGRlZCBkZXRlY3Rpb24gb2YgcGxhdGZvcm1zIHdoaWNoIGRvbid0IGhhdmUgZXh0ZXJuYWwgdGltZXpvbmUgYW5kCisJZGF5bGlnaHQgdmFyaWFibGVzLCBhbmQgZW11bGF0aW9uIG9mIHRoZXNlIHZhcmlhYmxlcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBLb3VqaSBTYXNha2kgPHRhcm8teEBqdXN0c3lzdGVtLmNvLmpwPgorCUFkZGVkIGhhbmRsaW5nIG9mIFdNX0VOQUJMRSBtZXNzYWdlLgorCisJKiBwcm9ncmFtcy93aW5lZGJnL01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5lZGJnL2JlX2FscGhhLmMsCisJICBwcm9ncmFtcy93aW5lZGJnL2JlX2NwdS5oLCBwcm9ncmFtcy93aW5lZGJnL2JlX2kzODYuYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvYmVfcHBjLmMsIHByb2dyYW1zL3dpbmVkYmcvYnJlYWsuYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvZGVidWdnZXIuaCwgcHJvZ3JhbXMvd2luZWRiZy9nZGJwcm94eS5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9tZW1vcnkuYywgcHJvZ3JhbXMvd2luZWRiZy90Z3RfYWN0aXZlLmMsCisJICBwcm9ncmFtcy93aW5lZGJnL3R5cGVzLmMsIHByb2dyYW1zL3dpbmVkYmcvd2luZWRiZy5jOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCS0gc3RhcnRlZCBpbmZyYXN0cnVjdHVyZSBmb3IgcHJvcGVyIG11bHRpLXRhcmdldCBzdXBwb3J0IChhY3RpdmUKKwkgIHByb2Nlc3MsIG1pbmlkdW1wLi4uKQorCS0gYWxsIHJlYWQvd3JpdGUgbWVtb3J5IG9wcyBhcmUgbm93IGRvbmUgdGhydSBhIGNlbnRyYWxpemVkIHByb2Nlc3NfaW8KKwkgIGZhY2lsaXR5CisJLSBtaW5vciBmaXhlcyAmIGNsZWFudXBzIGluIENQVSBiYWNrZW5kcworCisJKiBkbGxzL3NoZWxsMzIvZm9sZGVycy5jLCBkbGxzL3NoZWxsMzIvcmVnc3ZyLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmgsIGRsbHMvc2hlbGwzMi9zaGVsbG9sZS5jLAorCSAgZGxscy9zaGVsbDMyL3NoZmxkcl91bml4ZnMuYzoKKwlNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJQWRkIGEgbmV3IENMU0lEIGZvciBVbml4RG9zRm9sZGVyLCB3aGljaCBpcyBpZGVudGljYWwgdG8gVW5peEZvbGRlciwKKwlidXQgZG9lcyB1bml4IDwtPiBkb3MgcGF0aCBjb252ZXJzaW9uIGZvciBHZXREaXNwbGF5TmFtZU9mIGFuZAorCVBhcnNlRGlzcGxheU5hbWUuCisKKwkqIHRvb2xzL3dpbmVkdW1wL2R1bXAuYywgdG9vbHMvd2luZWR1bXAvbWluaWR1bXAuYywgdG9vbHMvd2luZWR1bXAvcGUuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVByaW50IGRhdGEgb2Zmc2V0IGFkZGl0aW9uYWxseSB0byBwcmVmaXggd2hpbGUgZHVtcGluZyBkYXRhLgorCisJKiBkbGxzL3gxMWRydi93aW5kb3cuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlTZXRQYXJlbnQgbmVlZHMgdG8gY2xlYXIgJ21hbmFnZWQnIGZsYWcgZm9yIGZvcm1lciB0b3AgbGV2ZWwgd2luZG93LgorCisJKiBkbGxzL21zaHRtbC9vbGVvYmouYzogSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCBPTEVJVkVSQl9VSUFDVElWQVRFIGhhbmRsaW5nLgorCisJKiBpbmNsdWRlL3VybG1vbi5pZGw6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEZWZpbmUgR2V0U29mdHdhcmVVcGRhdGVJbmZvIGFuZCBJU29mdERpc3RFeHQuCisKKwkqIGRsbHMvd2luaW5ldC9pbnRlcm5ldC5jLCBkbGxzL3dpbmluZXQvdGVzdHMvaHR0cC5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlIYW5kbGUgbW9yZSBFc2NhcGUgc2l0dWF0aW9ucy4KKworCSogdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlGcmVlIGRlbGF5ZWQgaW1wb3J0IG1vZHVsZXMgb24gUFJPQ0VTU19ERVRBQ0guCisKKwkqIGRsbHMva2VybmVsL01ha2VmaWxlLmluLCBkbGxzL2tlcm5lbC90b29saGVscC5jLAorCSAgZGxscy9rZXJuZWwvdG9vbGhlbHAxNi5jOgorCVN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlTcGxpdCBXaW4xNiBhbmQgV2luMzIgdG9vbGhlbHAgZnVuY3Rpb25zLgorCUNvbXBpbGUgb3V0IHdpbjg3ZW0gYW5kIDE2Yml0IHRvb2xoZWxwIGZ1bmN0aW9ucyBpZiAxNiBiaXQgc3VwcG9ydCBpcworCWRpc2FibGVkLgorCisJKiBwcm9ncmFtcy93aW5lZGJnL2dkYnByb3h5LmM6IERhdmlkIFdlbGNoIDx3ZWxjaEBjd2NvbS5uZXQ+CisJQWRkZWQgdGhlIGFiaWxpdHkgdG8gYnJlYWsgaW50byB0aGUgcHJvZ3JhbSB3aGVuIHVzaW5nIHRoZSBnZGIgcHJveHkuCisKKwkqIGRsbHMvcmljaGVkMjAvcGFpbnQuYzogSGFubnUgVmFsdG9uZW4gPEhhbm51LlZhbHRvbmVuQGh1dC5maT4KKwlVc2UgY29ycmVjdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgd2hvbGUgcmljaGVkaXQgY29udHJvbC4KKworCSogZGxscy91c2VyL2J1dHRvbi5jOiBWaXRhbHkgTGlwYXRvdiA8bGF2QGV0ZXJzb2Z0LnJ1PgorCUFkZCBCVVRUT05fTk9USUZZX1BBUkVOVCBtYWNybyAoYXMgaW4gZWRpdC5jKS4KKwlOb3RpZnkgcGFyZW50IGFib3V0IFdNX0tJTEwvU0VURk9DVVMgZXZlbnRzLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9jcnlwdDMyL01ha2VmaWxlLmluLAorCSAgZGxscy9jcnlwdDMyL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvY3J5cHQzMi90ZXN0cy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvY3J5cHQzMi90ZXN0cy9wcm90ZWN0ZGF0YS5jOgorCUtlZXMgQ29vayA8a2Vlc0BvdXRmbHV4Lm5ldD4KKwlDcmVhdGUgYmFzaWMgdGVzdCBzdWl0ZSBmb3IgQ3J5cHRQcm90ZWN0RGF0YS9DcnlwdFVucHJvdGVjdERhdGEuCisKKwkqIGRsbHMvdXNlci9ub25jbGllbnQuYywgZGxscy91c2VyL3Rlc3RzL3dpbi5jOgorCVJpY2hhcmQgQ29oZW4gPHJpY2hhcmRAZGFpam9idS5jby51az4KKwlGaXggb2ZmLWJ5LW9uZSBpbiBtZW51IGhlaWdodCBjYWxjdWxhdGlvbiAoJiB0aGVyZWZvcmUKKwlBZGp1c3RXaW5kb3dSZWN0KSArIHRlc3QuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJQXVkaXQgdGhlIExpc3QtVmlldyBjb250cm9sLgorCisJKiBwcm9ncmFtcy93aW5lZGJnL2dkYnByb3h5LmM6IERhdmlkIFdlbGNoIDx3ZWxjaEBjd2NvbS5uZXQ+CisJRml4IGRlY29kaW5nIG9mIHRocmVhZCBJRHMgaW4gdGhlIGdkYnByb3h5LgorCisJKiBkbGxzL3V4dGhlbWUvZHJhdy5jOiBLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlVc2UgdW5pZm9ybXNpemluZyB0aGVtZSBwcm9wZXJ0eS4KKworCSogaW5jbHVkZS9leGRpc3AuaWRsOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRGVmaW5lIENMU0lEX1NoZWxsV2luZG93cy4KKworCSogZGxscy9tc2kvc3FsLnk6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTaW1wbGlmeSBwYXJzaW5nIG9mIHRoZSBGUk9NIGtleXdvcmQuCisKKzIwMDUtMDUtMjMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3RyYWNlLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gQWRkIG5ldyBzZXJ2ZXIgdHlwZSAic3RydWN0IHNlY3VyaXR5X2Rlc2NyaXB0b3IiLgorCS0gQWRkIHRyYWNpbmcgZm9yIHRoaXMgbmV3IHR5cGUuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGZsZHJfZGVza3RvcC5jLCBkbGxzL3NoZWxsMzIvc2hmbGRyX2ZzLmMsCisJICBkbGxzL3NoZWxsMzIvc2hmbGRyX215Y29tcC5jLCBkbGxzL3NoZWxsMzIvc2hmbGRyX3VuaXhmcy5jOgorCU1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlNb3JlIHJvYnVzdGx5IHF1ZXJ5IHRoZSBTSEdETl9GT1JQQVJTSU5HIGZsYWcgaW4gdGhlIHNoZWxsMzIncyBmb2xkZXJzCisJR2V0RGlzcGxheU5hbWVPZiBtZXRob2RzLgorCisJKiBkbGxzL29sZTMyL29sZW9iai5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJUmVtb3ZlIGZvcndhcmQgZGVjbGFyYXRpb25zLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEb3VibGUgdGVybWluYXRlIFNaX01VTFRJIHByb3Blcmx5LgorCUNsYXNzSW5mbyBhbmQgRXh0ZW5zaW9uSW5mbyBhcmUgYWxzbyB3cml0dGVuIGZvciBBRFZFUlRJU0VECisJY29tcG9uZW50cy4KKworCSogZGxscy9tc2kvbXNpLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJRml4IGEgbGVha2luZyBoYW5kbGUuCisJTWFrZSBNc2lDb2xsZWN0VXNlckluZm8gbW9yZSBpbnRlcm5hbGx5IGNvbnNpc3RlbnQuCisJVGhhbmtzIHRvIE1pa2UgTWNDb3JtYWNrLgorCisJKiBpbmNsdWRlL3dpbm50Lmg6IEl2YW4gTGVvIFB1b3RpIDxpdmFubGVvQGdtYWlsLmNvbT4KKwlVcGRhdGUgTERUX0VOVFJZIGRlZmluaXRpb24uCisKKwkqIGRsbHMvbXNpL3NxbC55OiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJSW1wcm92ZSBwYXJzZXIgZXJyb3IgY2hlY2tpbmcuCisKKwkqIGRsbHMvc2hsd2FwaS90ZXN0cy9wYXRoLmMsIGRsbHMvc2hsd2FwaS91cmwuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJVGVzdCBjYXNlcyBmb3IgVVJMX1VORVNDQVBFIGFuZCBzbWFsbCBmaXguCisKKwkqIHByb2dyYW1zL3dpbmVkYmcvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbmVkYmcvZGJnLnksCisJICBwcm9ncmFtcy93aW5lZGJnL2RlYnVnLmwsIHByb2dyYW1zL3dpbmVkYmcvZGVidWdnZXIuaCwKKwkgIHByb2dyYW1zL3dpbmVkYmcvdGd0X21pbmlkdW1wLmMsIHByb2dyYW1zL3dpbmVkYmcvd2luZWRiZy5jOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCS0gbm93IHN0b3JpbmcgZXhjZXB0aW9uIGluZm8gKGlmIGFueSkgaW4gdGhyZWFkIHN0cnVjdHVyZQorCS0gYWRkZWQgbWluaWR1bXAgZnVuY3Rpb24gaW4gd2luZWRiZyAod3JpdGUgb25seSkKKworCSogZGxscy9rZXJuZWwva2VybmVsMTZfcHJpdmF0ZS5oLCBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYzoKKwlTdXBwb3J0IHVubG9hZGluZyAxNi1iaXQgYnVpbHRpbiBtb2R1bGVzLCBhbmQgcHJvcGVybHkgbWFuYWdlIHRoZQorCXJlZmNvdW50IG9mIHRoZSAzMi1iaXQgb3duZXIgbW9kdWxlLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC90b29saGVscC5jOgorCUtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUltcGxlbWVudCBNb2R1bGUzMkZpcnN0Vy9OZXh0Vy4KKworCSogZGxscy9tc2kvY3JlYXRlLmMsIGRsbHMvbXNpL2luc2VydC5jLCBkbGxzL21zaS9tc2lwcml2LmgsCisJICBkbGxzL21zaS9tc2lxdWVyeS5jLCBkbGxzL21zaS9xdWVyeS5oLCBkbGxzL21zaS9zcWwueSwKKwkgIGRsbHMvbXNpL3VwZGF0ZS5jLCBkbGxzL21zaS93aGVyZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlUcmFjayBtZW1vcnkgYWxsb2NhdGlvbnMgaW4gdGhlIFNRTCBwYXJzZXIuCisKKwkqIGRsbHMvYWR2YXBpMzIvYWR2YXBpMzIuc3BlYywgZGxscy9hZHZhcGkzMi9jcnlwdC5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlJbXBsZW1lbnRlZCBTeXN0ZW1GdW5jdGlvbjAzNi4KKworCSogZGxscy9rZXJuZWwva2VybmVsMTZfcHJpdmF0ZS5oLCBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYywKKwkgIGluY2x1ZGUvd2luZS93aW5iYXNlMTYuaCwgdG9vbHMvd2luZWJ1aWxkL3NwZWMxNi5jOgorCU1vdmVkIHRoZSBnZW5lcmF0ZWQgY29kZSBzZWdtZW50IGZvciAxNi1iaXQgYnVpbHRpbnMgaW5zaWRlIHRoZSBtb2R1bGUKKwlzdHJ1Y3R1cmUuCisJR2V0IHJpZCBvZiB0aGUgQlVJTFRJTjE2X0RFU0NSSVBUT1Igc3RydWN0dXJlIGFuZCBkaXJlY3RseSByZWdpc3RlcgorCXRoZSBNWiBoZWFkZXIgaW5zdGVhZC4KKworCSogZGxscy9tc2kvc3FsLnk6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTaW1wbGlmeSBwYXJzaW5nIG9mIHNlbGVjdCBxdWVyeS4KKworCSogZGxscy9kcGxheXgvZHBsYXkuYzogTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwlSZXdyaXRlIERpcmVjdFBsYXlFbnVtZXJhdGVBIGFuZCBhZGQgVyB2ZXJzaW9uIGF0IHRoZSBzYW1lIHRpbWUuCisKKwkqIGRsbHMvb2xlYXV0MzIvdGVzdHMvdmFydGVzdC5jOiBNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCVRlc3RzIGZvciBWYXJNdWwoKS4KKworCSogZGxscy9vbGVhdXQzMi92YXJpYW50LmM6IE1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJUmVpbXBsZW1lbnQgVmFyTXVsKCkuIEl0IGNhbiBtdWx0aXBseSBub3cgYWxsIHZhcmlhbnRzIHRoYXQgdGhlIG5hdGl2ZQorCShXaW5YUCkgZnVuY3Rpb24gc3VwcG9ydHMgdG9vLgorCisJKiBkbGxzL2RiZ2hlbHAvc3RhY2suYywgaW5jbHVkZS9kYmdoZWxwLmg6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJLSBmaXhlZCBSZWFkUHJvY2Vzc01lbW9yeVByb2MgcHJvdG90eXBlCisJLSBtYWRlIFN0YWNrV2FsayB3b3JrIHdoZW4gZGJnaGVscCBpcyBydW4gYWdhaW5zdCBhIG5vbiBydW5uaW5nCisJICBwcm9jZXNzCisKKwkqIGRsbHMvZGRyYXcvZHN1cmZhY2UvbWFpbi5jOiBBbnRvaW5lIENoYXZhc3NlIDxhLmNoYXZhc3NlQGdtYWlsLmNvbT4KKwlBZGRlZCB0cmFjZXMgaW4gR2V0UHJpdmF0ZURhdGEgYW5kIFNldFByaXZhdGVEYXRhLgorCU1hZGUgU2V0UHJpdmF0ZURhdGEgYWN0dWFsbHkgc3RvcmUgdGhlIGRhdGEgZnJvbSB0aGUgYnVmZmVyIGFzIHdlbGwgYXMKKwlpdHMgc2l6ZS4KKworCSogZGxscy9udGRsbC9sb2FkZXIuYzoKKwlNb3ZlZCB0aGUgbG9hZGRsbCB0cmFjZSBpbnRvIHRoZSBsb2FkX2J1aWx0aW5fZGxsIGZ1bmN0aW9uIHNvIHRoYXQgaXQKKwlnZXRzIHByaW50ZWQgZXZlbiB3aGVuIHdlIGRvbid0IGdldCB0aGUgZXhwZWN0ZWQgc28gZmlsZS4KKworCSogdG9vbHMvd2luZWR1bXAvbG5rLmMsIHRvb2xzL3dpbmVkdW1wL21pbmlkdW1wLmMsCisJICB0b29scy93aW5lZHVtcC9tc21hbmdsZS5jLCB0b29scy93aW5lZHVtcC9wZS5jLAorCSAgdG9vbHMvd2luZWR1bXAvd2luZWR1bXAuaCwgdG9vbHMvd21jL2xhbmcuaCwgdG9vbHMvd21jL3dyaXRlLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUZpeCAtV3dyaXRlLXN0cmluZ3Mgd2FybmluZ3MuCisKKwkqIGRsbHMvbXN2Y3J0L21zdmNydC5zcGVjLCBkbGxzL21zdmNydC9zdHJpbmcuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJSW1wbGVtZW50IG1pbmltYWwgX3N0cmljb2xsLgorCisJKiBkbGxzL29sZTMyL2ZpbGVtb25pa2VyLmMsIGRsbHMvb2xlMzIvaXRlbW1vbmlrZXIuYzoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBBZGQgZXJyb3IgbWVzc2FnZXMgb24gZmFpbHVyZSBpbiBmaWxlIG1vbmlrZXIgbG9hZCBmdW5jdGlvbi4KKwktIEZpeCBpbmNvcnJlY3QgcG9pbnRlciBjaGVjayBpbiBib3RoIG1vbmlrZXJzLgorCS0gRml4IG1heCBzaXplIGNhbGN1bGF0aW9uIG9mIGl0ZW0gbW9uaWtlciB0byBtYXRjaCBuYXRpdmUuCisKKwkqIGRsbHMvb2xlMzIvbWFyc2hhbC5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBBZGQgYSB1c2VmdWwgdHJhY2UgbWVzc2FnZS4KKwktIEZpeCBtb3JlIHBsYWNlcyB3aGVyZSBjdXN0b20gaGVhZGVyIHNpemUgd2FzIGNhbGN1bGF0ZWQgZXhjbHVzaXZlIG9mCisJICB0aGUgZGF0YSBzaXplIG1lbWJlci4KKwktIE9wdGltaXplIGN1c3RvbSBtYXJzaGFsaW5nIGJ5IGdldHRpbmcgc2l6ZSBiZWZvcmUgY2FsbGluZyB0aGUgY3VzdG9tCisJICBtYXJzaGFsZXIgc28gd2UgY2FuIHdyaXRlIHRoZSBoZWFkZXIgYmVmb3JlIGFuZCBub3QgdXNlIGEgc2Vjb25kCisJICBzdHJlYW0uCisKKwkqIGRsbHMvbXNpL29yZGVyLmMsIGRsbHMvbXNpL3F1ZXJ5LmgsIGRsbHMvbXNpL3NxbC55OgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDcmVhdGUgdGhlIE9SREVSIEJZIHZpZXcgaW4gYSBzaW5nbGUgY2FsbC4KKworCSogcHJvZ3JhbXMvd2luZWZpbGUvd2luZWZpbGUuYywgcHJvZ3JhbXMvd2luZWZpbGUvd2luZWZpbGUuaDoKKwlNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCUJ1ZyBmaXhlcyBmb3IgX05PX0VYVEVOU0lPTlMgbW9kZS4KKworCSogZGxscy9vbGVhdXQzMi90ZXN0cy92YXJ0ZXN0LmMsIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jOgorCVJpY2hhcmQgQ29oZW4gPHJpY2hhcmRAZGFpam9idS5jby51az4KKwktIFJlbW92ZSB1bnVzZWQgbWFjcm8uCisJLSBDaGVjayBmb3IgVlRfSTggYmVmb3JlIHRlc3RpbmcgaXQuCisJLSBWYXJNb2QgcmV0dXJucyBESVNQX0VfT1ZFUkZMT1cgbm90IEVfSU5WQUxJREFSRy4KKworCSogcHJvZ3JhbXMvd2luZWRiZy9kZWJ1Z2dlci5oLCBwcm9ncmFtcy93aW5lZGJnL21lbW9yeS5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9zeW1ib2wuYzoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlSZW1vdmVkIHRoZSBtYWNyb3MgZm9yIHZlcmJvc2UgbWVtb3J5IHJlYWQvd3JpdGUgb3BlcmF0aW9ucy4KKworCSogZGxscy9hdmlmaWwzMi9hdmlmaWxlLnNwZWMsIGRsbHMva2VybmVsL2NvbW0uZHJ2LnNwZWMsCisJICBkbGxzL2tlcm5lbC93aW5kZWJ1Zy5zcGVjLCBkbGxzL29sZTMyL29sZTJ0aGsuc3BlYywKKwkgIGRsbHMvc2V0dXBhcGkvc2V0dXB4LnNwZWMsIGRsbHMvc2hlbGwzMi9zaGVsbC5zcGVjLAorCSAgZGxscy91c2VyL2tleWJvYXJkLmRydi5zcGVjLCBkbGxzL3dpbjMycy93aW4zMnMxNi5zcGVjOgorCUNvbW1lbnQgb3V0IHN0dWIgV0VQIGVudHJ5IHBvaW50cyBzbyB0aGF0IHdlIGNhbiBjYWxsIFdFUCBmb3IgYnVpbHRpbgorCWRsbHMgdG9vLgorCisJKiBkbGxzL2NvbW1kbGcvTWFrZWZpbGUuaW4sIGRsbHMvY29tbWRsZy9jb21tZGxnLnNwZWMsCisJICBkbGxzL2NvbW1kbGcvZ2VuZXJpYy5jLCBkbGxzL21zYWNtL21zYWNtLnNwZWMsCisJICBkbGxzL21zYWNtL21zYWNtX21haW4uYywgZGxscy9tc3ZpZGVvL21zdmlkZW8uc3BlYywKKwkgIGRsbHMvbXN2aWRlby9tc3ZpZGVvMTYuYywgZGxscy9vbGUzMi9vbGUxNi5jLAorCSAgZGxscy9zZXR1cGFwaS92aXJ0Y29weS5jLCBkbGxzL3NoZWxsMzIvc2hlbGwuYywKKwkgIGRsbHMvd2lubW0vbW1zeXN0ZW0uYywgZGxscy93aW5tbS9tbXN5c3RlbS5zcGVjOgorCVJlbW92ZWQgdW5uZWNlc3NhcnkgY29kZSBpbiB0aGUgMTYtYml0IERsbEVudHJ5UG9pbnQgZnVuY3Rpb24gb2Ygc29tZQorCWRsbHMsIGFuZCBhbHNvIGZpeGVkIGl0cyBvcmRpbmFsIGluIGEgZmV3IHBsYWNlcy4KKworCSogZGxscy9vbGUzMi9tb25pa2VyLmMsIGRsbHMvb2xlMzIvdGVzdHMvbWFyc2hhbC5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIE1hcnNoYWwgb2JqZWN0cyAmIG1vbmlrZXJzIGludG8gdGhlIFJPVC4KKwktIFRlc3QgZm9yIHRoaXMgYmVoYXZpb3VyLgorCisJKiBkbGxzL3JpY2hlZDIwL2VkaXRvci5jOiBIYW5udSBWYWx0b25lbiA8SGFubnUuVmFsdG9uZW5AaHV0LmZpPgorCS0gSW1wbGVtZW50IEVNX0xJTkVTQ1JPTEwgbWVzc2FnZSBoYW5kbGluZworCS0gRml4IGEgcHJvYmxlbSB3aXRoIHNjcm9sbGluZyBvdmVyIHRoZSBlbmQgb2YgdGhlIHRleHQgaW4KKwkgIFdNX1dIRUVMTU9VU0UuCisKKwkqIGluY2x1ZGUvd2luY3J5cHQuaDogS2VlcyBDb29rIDxrZWVzQG91dGZsdXgubmV0PgorCUFkZCBkZWZpbmVzIGZvciBkd0ZsYWdzIGluIHBQcm9tcHRTdHJ1Y3QgYW5kIGNhbGxzIHRvCisJQ3J5cHRQcm90ZWN0RGF0YS4KKworCSogaW5jbHVkZS9udGRkc2NzaS5oOiBJdmFuIExlbyBQdW90aSA8aXZhbmxlb0BnbWFpbC5jb20+CisJQWRkZWQgc29tZSBzdHJ1Y3RzIHRvIG50ZGRzY3NpLmguCisKKwkqIGRsbHMvbXNpL21zaXByaXYuaCwgZGxscy9tc2kvbXNpcXVlcnkuYywgZGxscy9tc2kvcXVlcnkuaCwKKwkgIGRsbHMvbXNpL3NxbC55OgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIHJlbW92ZSB0aGUgdW51c2VkIHV0ZjggZmllbGQgb2YgYW4gZXhwcmVzc2lvbgorCS0gbWFrZSB0aGUgcGFyc2UgcmVzdWx0IGEgc2luZ2xlIGFzc2lnbm1lbnQgYXQgdG9wIGxldmVsIG9mIHBhcnNpbmcKKwktIGFib3J0IHBhcnNpbmcgb24gYSBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlCisKKwkqIGRsbHMvdXJsbW9uL3Rlc3RzL3VybC5jLCBkbGxzL3VybG1vbi91bW9uLmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlTZXBhcmF0ZWQgSUJpbmRpbmcgYW5kIElNb25pa2VyIGludGVyZmFjZXMuCisKKwkqIHNlcnZlci9yZWdpc3RyeS5jLCBzZXJ2ZXIvd2luZG93LmM6CisJUm9iIFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUZpeCBzZXZlcmFsIG1lbW9yeSBsZWFrcy4KKworCSogcHJvZ3JhbXMvd2luZWZpbGUvQ3MucmMsIHByb2dyYW1zL3dpbmVmaWxlL0RlLnJjLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvRW4ucmMsIHByb2dyYW1zL3dpbmVmaWxlL0VzLnJjLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvRnIucmMsIHByb2dyYW1zL3dpbmVmaWxlL0h1LnJjLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvSXQucmMsIHByb2dyYW1zL3dpbmVmaWxlL05sLnJjLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvUGwucmMsIHByb2dyYW1zL3dpbmVmaWxlL1B0LnJjLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvUnUucmMsIHByb2dyYW1zL3dpbmVmaWxlL1NpLnJjLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvU3YucmMsIHByb2dyYW1zL3dpbmVmaWxlL1poLnJjLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvcmVzb3VyY2UuaCwgcHJvZ3JhbXMvd2luZWZpbGUvd2luZWZpbGUuYzoKKwlNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCUltcGxlbWVudCBJRF9WSUVXX1NQTElUIGNvbW1hbmQuCisKKwkqIGRsbHMveDExZHJ2L3NldHRpbmdzLmM6IERhbmllbCBTY2hlcGxlciA8c2NoZXBsZXJAbWF0aC5iZXJrZWxleS5lZHU+CisJSW1wbGVtZW50IENEU19URVNUIGZsYWcgaW4gQ2hhbmdlRGlzcGxheVNldHRpbmdzLgorCisJKiBkbGxzL29sZTMyL2NvbXBvc2l0ZW1vbmlrZXIuYzogS2V2aW4gS29sdHphdSA8a2V2aW5AcGxvcC5vcmc+CisJSW1wbGVtZW50IEhhc2ggZnVuY3Rpb24gb24gY29tcG9zaXRlIG1vbmlrZXIuCisKKwkqIHByb2dyYW1zL3dpbmVkYmcvZGJnLnksIHByb2dyYW1zL3dpbmVkYmcvZGVidWcubCwKKwkgIHByb2dyYW1zL3dpbmVkYmcvZGVidWdnZXIuaCwgcHJvZ3JhbXMvd2luZWRiZy9leHByLmMsCisJICBwcm9ncmFtcy93aW5lZGJnL3N0YWNrLmMsIHByb2dyYW1zL3dpbmVkYmcvdHlwZXMuYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvd2luZWRiZy5jOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCS0gbm8gbG9uZ2VyIHN0b3JlIGludGVybmFsbHkgdGhlICIgZm9yIHN0cmluZ3MKKwktIG1pc2MgY2xlYW4tdXBzCisJLSBhY3RpdmF0ZSBzeW1ib2wgZGVtYW5nbGluZyBieSBkZWZhdWx0CisKKwkqIHRvb2xzL2ZudDJmb24uYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlTbWFsbCBmaXggZm9yIHRoZSBmb250IGRpcmVjdG9yeSByZXNvdXJjZSB3cml0dGVuIGJ5IGZudDJmb24uCisKKwkqIGRsbHMvbnRkbGwvdmlydHVhbC5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVXNlIExJU1RfRk9SX0VBQ0hfRU5UUlkgaW4gdmlydHVhbCBtZW1vcnkgY29kZS4KKworCSogZGxscy9vbGVhdXQzMi92YXJpYW50LmM6IE1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJRml4IFZhcmlhbnRDaGFuZ2VUeXBlOiBjYWxscyB0byBWYXJEZWNGcm9tQ3kgYW5kIFZhckRlY0Zyb21EaXNwIGhhZAorCXNvdXJjZSBhbmQgZGVzdGluYXRpb24gc3dhcHBlZC4KKworCSogZGxscy9jcnlwdDMyL3Byb3RlY3RkYXRhLmM6IEtlZXMgQ29vayA8a2Vlc0BvdXRmbHV4Lm5ldD4KKwlDb3JyZWN0IGNyeXB0IGNvbnRleHQgaW5pdCBpbiBDcnlwdFByb3RlY3REYXRhL0NyeXB0VW5wcm90ZWN0RGF0YS4KKworCSogZGxscy9kYmdoZWxwL2R3YXJmLmM6IFJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCS0gZml4bWUgd2hlbiB1bmV4cGVjdGVkIGNoaWxkcmVuIGZvdW5kCisJLSBubyBtb3JlIGR3YXJmMl9jaGVja19zaWJsaW5nIGVycm9ycyAoaWUgcGVyZmVjdCBwYXJzaW5nIGNvdW50KSA6KQorCS0gZHdhcmYyX3BhcnNlX2lubGluZWRfc3Vicm91dGluZSwgZHdhcmYyX3BhcnNlX3ZhcmlhYmxlCisKKwkqIGRsbHMvbXNpL3ZlcnNpb24ucmM6IFN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCVVwZGF0ZSB2ZXJzaW9uIHJlc291cmNlIG9mIG1zaS5kbGwgdG8gY3VycmVudCB2ZXJzaW9uIHNoaXBwZWQgZnJvbQorCXdpbmRvd3MgdXBkYXRlLgorCisyMDA1LTA1LTIwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2NyeXB0MzIvTWFrZWZpbGUuaW4sIGRsbHMvY3J5cHQzMi9jcnlwdDMyLnNwZWMsCisJICBkbGxzL2NyeXB0MzIvZW5jb2RlLmMsIGRsbHMvY3J5cHQzMi9tYWluLmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCS0gbW9yZSBmdWxseSBpbXBsZW1lbnQgQ3J5cHRSZWdpc3Rlck9JREZ1bmN0aW9uCisJLSBpbXBsZW1lbnQgQ3J5cHRVbnJlZ2lzdGVyT0lERnVuY3Rpb24KKwktIGFkZCBzdHVicyBmb3IgQ3J5cHRFbmNvZGVPYmplY3QoRXgpL0NyeXB0RGVjb2RlT2JqZWN0KEV4KQorCisJKiBkbGxzL250ZGxsL2RpcmVjdG9yeS5jOiBHZXJhbGQgUGZlaWZlciA8Z2VyYWxkQHBmZWlmZXIuY29tPgorCUF2b2lkIGNvbXBpbGVyIHdhcm5pbmcgaW4gcGFyc2VfbW91bnRfZW50cmllcygpLgorCisJKiBkbGxzL2NyeXB0MzIvY3J5cHQzMi5zcGVjLCBkbGxzL2NyeXB0MzIvcHJvdGVjdGRhdGEuYzoKKwlLZWVzIENvb2sgPGtlZXNAb3V0Zmx1eC5uZXQ+CisJSW1wbGVtZW50IENyeXB0VW5wcm90ZWN0RGF0YSBjb3VudGVycGFydCB0byBDcnlwdFByb3RlY3REYXRhLgorCisJKiBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYywgZGxscy9rZXJuZWwvcmVzb3VyY2UxNi5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9yZXMxNi5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3NwZWMxNi5jOgorCUdlbmVyYXRlIDE2LWJpdCByZXNvdXJjZXMgaW4gdGhlIHByb3BlciBmb3JtYXQgaW5zaWRlIHRoZSBtb2R1bGUgZGF0YSwKKwlhbmQgZ2V0IHJpZCBvZiB0aGUgc3BlY2lhbCBjYXNlIGZvciBidWlsdGlucyBpbiBORV9EZWZSZXNvdXJjZUhhbmRsZXIuCisKKwkqIGRsbHMvbXNpL3RhYmxlLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlUdXJuIGhhbmRsZWQgZXJyb3JzIGZyb20gRVJScyB0byBXQVJOcyBvciBUUkFDRXMuCisKKwkqIGRsbHMvbnRkbGwvZmlsZS5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJSW1wbGVtZW50IE50UXVlcnlWb2x1bWVJbmZvcm1hdGlvbkZpbGUgZm9yIHR5cGUKKwlGaWxlRnNEZXZpY2VJbmZvcm1hdGlvbiBvbiBGcmVlQlNELgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCVNlbGVjdCB0aGUgaXRlbSB1bmRlciB0aGUgcG9pbnQgKHgseSkgaW4gTW91c2VIb3Zlci4KKworCSogZGxscy9jcnlwdDMyL21haW4uYywgZGxscy9jcnlwdDMyL3Byb3RlY3RkYXRhLmM6CisJS2VlcyBDb29rIDxrZWVzQG91dGZsdXgubmV0PgorCUltcGxlbWVudCBDcnlwdFByb3RlY3REYXRhIHdpdGggYmVzdC1ndWVzcyBlbmNyeXB0aW9uLgorCisJKiBkbGxzL29sZWF1dDMyL3Rlc3RzL3NhZmVhcnJheS5jOgorCVJpY2hhcmQgQ29oZW4gPHJpY2hhcmRAZGFpam9idS5jby51az4KKwlDaGVjayBpZiBWVF9SOCBhbmQgVlRfSU5UX1BUUiBhcmUgc3VwcG9ydGVkIGJlZm9yZSB0ZXN0aW5nIHRoZW0uCisKKwkqIGRsbHMvZ2RpL2dkaW9iai5jOiBEYXZpZCBIZW1tbyA8ZGF2aWQud2luZUBwaWxzb2Z0LmNvbT4KKwlHRElfUmVsZWFzZU9iaiB3YXMgbm90IGNhbGxlZCB3aXRoIHRoZSByaWdodCBwYXJhbWV0ZXIuCisKKwkqIGRsbHMvbXNpL21zaS5zcGVjOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCVdlIGhhdmUgYSBzdHViIGZvciBNc2lHZXRVc2VySW5mb0Egd2Ugc2hvdWxkIHVzZSBpdC4KKworCSogZGxscy9tc2kvbXNpLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJRml4IGEgbGVha2luZyBoYW5kbGUgaW4gTXNpQ29uZmlndXJlUHJvZHVjdEV4Vy4KKwlJbXBsZW1lbnQgTXNpR2V0UHJvZHVjdENvZGVXLgorCUltcGxlbWVudCBNc2lHZXRVc2VySW5mb1cuCisJSW1wbGVtZW50IE1zaUNvbGxlY3RVc2VySW5mb0EvVy4KKworCSogZGxscy9tc2kvYWN0aW9uLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJV3JpdGUgdGhlIFJlZ093bmVyIGFuZCBSZWdDb21wYW55IGtleXMgYXMgYmxhbmsgaWYgdGhleSBkbyBub3QgZXhpc3QKKwl3aGVuIGRvaW5nIHRoZSBSZWdpc3RlclVzZXIgYWN0aW9uLgorCisJKiBkbGxzL3NoZWxsMzIvaWNvbmNhY2hlLmM6IE1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlDb25zaWRlciBvbmx5IHRoZSBHSUxfRk9SU0hPUlRDVVQgZmxhZyBpbiBTSUNfQ29tcGFyZUVudHJpZXMuCisKKwkqIGRsbHMvZ2RpL3Rlc3RzL2dkaW9iai5jOiBSaWNoYXJkIENvaGVuIDxyaWNoYXJkQGRhaWpvYnUuY28udWs+CisJRml4IGdkaW9iaiB0ZXN0IG9uIE5UNCwgcmVtb3ZlIGFzc2VydHMuCisKKwkqIGRsbHMvb3BlbmdsMzIvbWFrZV9vcGVuZ2w6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZCAndXNlIHN0cmljdCcgYW5kIGZpeCBtYWtlX29wZW5nbCBhY2NvcmRpbmdseS4KKwlBZGQgZnVuY3Rpb24gcHJvdG90eXBlcy4KKwlXcml0ZSAiJGEgJGIiIHJhdGhlciB0aGFuIHRoZSBtb3JlIGNvbXBsZXggJGEgLiAiICIgLiAkYi4KKwlEb2N1bWVudCB3aGljaCBPcGVuR0wgc3BlYyBmaWxlcyBuZWVkIHRvIGJlIGRvd25sb2FkZWQuCisJVXBkYXRlIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBPcGVuR0wgdmVyc2lvbnMuCisJVHdlYWsgdGhlIHVzYWdlIHNvIGl0IGFsd2F5cyByZXBvcnRzIHRoZSByaWdodCBjb21tYW5kIG5hbWUuCisKKwkqIGluY2x1ZGUvd2luY3J5cHQuaDogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUFkZCBhIGJ1bmNoIG9mIG1pc3NpbmcgZGVjbGFyYXRpb25zIGFuZCBkZWZpbml0aW9ucy4KKworCSogZGxscy9jcnlwdDMyL3Byb3RlY3RkYXRhLmM6IEtlZXMgQ29vayA8a2Vlc0BvdXRmbHV4Lm5ldD4KKwlJbXBsZW1lbnQgc2VyaWFsaXphdGlvbiBhbmQgaGVscGVyIGZ1bmN0aW9ucyBmb3IgQ3J5cHRQcm90ZWN0RGF0YS4KKworCSogaW5jbHVkZS9jb21tY3RybC5oOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlVcGRhdGUgTFZHUk9VUCBzdHJ1Y3QgdG8gbWF0Y2ggTVNETi4KKworCSogdG9vbHMvZm50MmZvbi5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCU1ha2UgLmZvbiBmaWxlcyBnZW5lcmF0ZWQgYnkgZm50MmZvbiBzbGlnaHRseSBtb3JlIGNvbXBhdGlibGUgd2l0aAorCWZvbnRmb3JnZSwgZnJlZXR5cGUgYW5kIFdpbmRvd3MgZm9udCB2aWV3ZXIuCisKKwkqIHRvb2xzL3NmbnQyZm50LmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJLSBBbHdheXMgaW5pdGlhbGl6ZSB3aWR0aCB0YWJsZS4KKwktIEZUX0dldF9OZXh0X0NoYXIgZm9yIHNvbWUgcmVhc29uIHJldHVybnMgdG9vIGhpZ2ggbnVtYmVyICgxMDQwKSBpZgorCSAgdGhlIHdpbmVfY291cmllciBmb250IGhhcyBiZWVuIGdlbmVyYXRlZCBieSBmb250Zm9yZ2UsIHVzZSAzMiBhcyB0aGUKKwkgIDFzdCBjaGFyIGluc3RlYWQuCisKKwkqIHRvb2xzL3dpbmVkdW1wL25lLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJUHJpbnQgYWxzbyBmbGFncyBhbmQgbGVuZ3RoIG9mIE5FIHJlc291cmNlcy4KKworCSogZGxscy9kYmdoZWxwL2R3YXJmLmM6IFJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCS0gYmV0dGVyIHRyYWNlcworCS0gaGFuZGxlIGluY2x1c2lvbiAibGV2ZWxzIgorCS0gYmV0dGVyIHBhcnNpbmcgb2Ygc3VicHJvZ3JhbSwgdHlwZWRlZiwgcG9pbnRlciwgLi4uIGVudHJpZXMKKwktIGFycmF5cywgZW51bXMsIGNvbnN0X3R5cGUsIHJlZmVyZW5jZV90eXBlIHBhcnNpbmcKKwktIGNoZWNrcyBwYXJzaW5nIGN1cnNvcnMgZXJyb3JzICh3aGVuIHNpYmxpbmcgdmFsdWUgYXZhaWxhYmxlKQorCS0gbW9yZSB1dGlsaXRpZXMgZnVuY3Rpb25zIChkd2FyZjJfcGFyc2VfYXR0cl9hc19kYXRhKQorCisJKiBkbGxzL250ZGxsL250LmMsIGluY2x1ZGUvd2ludGVybmwuaDoKKwlJdmFuIExlbyBQdW90aSA8aXZhbmxlb0BnbWFpbC5jb20+CisJUmVuYW1lIFN5c3RlbURyaXZlckluZm9ybWF0aW9uIHRvIFN5c3RlbU1vZHVsZUluZm9ybWF0aW9uLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggcXVvdGluZyBvbiBxdWVyaWVzLgorCVJlc3BlY3QgJysnIGFuZCAnKicgaW4gV3JpdGVSZWdpc3RyeVZhbHVlcyB0byBvbmx5IGNyZWF0ZSB0aGUga2V5IGlmCisJaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdC4gUHJldmVudHMgb3ZlcndyaXRpbmcgdmFsdWVzIHdpdGggTlVMTC4KKworCSogZGxscy9tc2kvcGFja2FnZS5jOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCVF1b3RpbmcgZml4ZXMuCisKKwkqIGRsbHMvbXNpL2N1c3RvbS5jOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUNvcnJlY3QgcXVlcnkgcXVvdGluZyBiYXNlZCBvbiBNaWtlJ3MgcGF0Y2guCisJQWxzbyBtb3JlIGVycm9yIG1lc3NhZ2VzIGFib3V0IHJldHVybiBjb2RlcyBmcm9tIGN1c3RvbSBhY3Rpb25zIGFuZAorCWlnbm9yZSBhbiBlcnJvciB0aGF0IHdlIHNob3VsZCBiZSBpZ25vcmluZy4KKworMjAwNS0wNS0xOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9NYWtlZmlsZS5pbiwgZGxscy93aW5lZG9zLy5jdnNpZ25vcmUsIGRsbHMvd2luZWRvcy9NYWtlZmlsZS5pbjoKKwlSZXZlcnQgcHJldmlvdXMgcGF0Y2gsIHdlIHN0aWxsIG5lZWQgdGhlIHdpbmVkb3MgaW1wb3J0IGxpYiBmb3Igbm93LgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYzoKKwlEaXNhYmxlIFdpbjE2IHN1cHBvcnQgYnkgZGVmYXVsdCBvbiBub24teDg2IHBsYXRmb3Jtcy4KKworCSogZGxscy9NYWtlZmlsZS5pbiwgZGxscy93aW5lZG9zLy5jdnNpZ25vcmUsIGRsbHMvd2luZWRvcy9NYWtlZmlsZS5pbjoKKwlXZSBubyBsb25nZXIgbmVlZCBhIHdpbmVkb3MgaW1wb3J0IGxpYnJhcnkuCisKKwkqIHByb2dyYW1zL3dpbmV2ZG0vTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbmV2ZG0vd2luZXZkbS5jOgorCUZhaWwgbW9yZSBncmFjZWZ1bGx5IGlmIDE2LWJpdCBzdXBwb3J0IGlzIG1pc3NpbmcuCisKKwkqIHByb2dyYW1zL3dpbmVmaWxlL3dpbmVmaWxlLmM6IE1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJVGhlIGNhbGwgdG8gU2NyZWVuVG9DbGllbnQoKSBjaGFuZ2VzIHRoZSBjb250ZW50IG9mIHRoZSAncHQnIHZhcmlhYmxlLAorCXNvIGl0IGNhbid0IGJlIHVzZWQgZm9yIHRoZSBmb2xsb3dpbmcgU2hlbGxGb2xkZXJDb250ZXh0TWVudSgpIGNhbGwuCisKKwkqIGRsbHMvb2xlMzIvZmlsZW1vbmlrZXIuYywgZGxscy9vbGUzMi9pdGVtbW9uaWtlci5jLAorCSAgZGxscy9vbGUzMi9tb25pa2VyLmMsIGRsbHMvb2xlMzIvbW9uaWtlci5oLCBkbGxzL29sZTMyL29sZXByb3h5LmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gQWRkIGEgZ2VuZXJpYyBtb25pa2VyIG1hcnNoYWxlciB0aGF0IHdvcmtzIGJ5IHNhdmluZyAmIGxvYWRpbmcKKwkgIG1vbmlrZXJzIHRvICYgZnJvbSB0aGUgc3RyZWFtLgorCS0gVXNlIHRoZSBnZW5lcmljIG1vbmlrZXIgbWFyc2hhbCBpbiB0aGUgZmlsZSAmIGl0ZW0gbW9uaWtlcnMgYW5kIGFkZAorCSAgYSBjbGFzcyBmYWN0b3J5IGZvciBlYWNoLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWkgUGF1biA8ZGltaUBsYXR0aWNhLmNvbT4KKwlEbyBub3QgY29tcHV0ZSB0aGUgaGl0IHRlc3QgaWYgd2UgZG9uJ3QgcmVhbGx5IG5lZWQgaXQuCisKKwkqIGRsbHMvbXN2Y3J0L2V4Y2VwdC5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJSW1wbGVtZW50IF9YY3B0RmlsdGVyIHVzaW5nIHNpZ25hbCBoYW5kbGVycywgYW5kIGFkZCBhIGNvdXBsZSB0cmFjZXMuCisKKwkqIGRsbHMvd2luZWRvcy9kb3NleGUuaCwgZGxscy93aW5lZG9zL2Rvc21lbS5jLCBkbGxzL3dpbmVkb3MvZG9zdm0uYzoKKwlSZWZ1c2UgdG8gbG9hZCBpZiAxNi1iaXQgc3VwcG9ydCBpcyBtaXNzaW5nLgorCisJKiB0b29scy93aW5lYnVpbGQvc3BlYzE2LmM6CisJVXNlIFJhaXNlRXhjZXB0aW9uIGluc3RlYWQgb2YgUnRsUmFpc2VFeGNlcHRpb24gaW4gMTYtYml0IHNwZWMgZmlsZXMKKwlzaW5jZSB0aGV5IGFscmVhZHkgZGVwZW5kIG9uIGtlcm5lbDMyLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9zcGVjMTYuYzoKKwlSZW5hbWVkIF9fd2luZV8odW4pcmVnaXN0ZXJfZGxsXzE2IHRvIF9fd2luZV9kbGxfKHVuKXJlZ2lzdGVyXzE2IGZvcgorCWNvbnNpc3RlbmN5IHdpdGggdGhlIDMyLWJpdCB2ZXJzaW9uLCBhbmQgYWxzbyBtYWtlIHRoZSByZWdpc3RlcgorCWZ1bmN0aW9uIHVzZSB0aGUgc2FtZSBwcm90b3R5cGUgYXMgdGhlIDMyLWJpdCBvbmUuCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDE2X3ByaXZhdGUuaCwgZGxscy9rZXJuZWwvbmVfbW9kdWxlLmMsCisJICBkbGxzL2tlcm5lbC9uZV9zZWdtZW50LmMsIGRsbHMva2VybmVsL3Jlc291cmNlMTYuYzoKKwlVc2UgYSBtZW1vcnkgbWFwcGluZyBpbnN0ZWFkIG9mIGZpbGUgSS9PIHRvIGxvYWQgMTYtYml0IG1vZHVsZXMuCisKKwkqIGRsbHMvb2xlMzIvbWFyc2hhbC5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBDaGFuZ2UgcmVtYWluaW5nIGJsb2NrcyBvZiBjb2RlIHdpdGggMi1zcGFjZSBpbmRlbnRhdGlvbiB0byA0LXNwYWNlCisJICBpbmRlbnRhdGlvbi4KKwktIE1ha2UgdnRhYmxlcyBjb25zdC4KKwktIFJlbW92ZSBhbiB1bm5lY2Vzc2FyeSBtZW1jcHkgYW5kIGxldCB0aGUgY29tcGlsZXIgZG8gdGhlIHdvcmsuCisKKwkqIGRsbHMvb2xlMzIvbWFyc2hhbC5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJV3JpdGUgY3VzdG9tIGhlYWRlciB1cCB0byBhbmQgaW5jbHVkaW5nIHNpemUsIG5vdCBleGNsdWRpbmcuCisKKwkqIGRsbHMvbXNpL3BhY2thZ2UuYywgZGxscy9tc2kvc3FsLnksIGRsbHMvbXNpL3Rlc3RzL2RiLmMsCisJICBkbGxzL21zaS90b2tlbml6ZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlPbmx5IHRhYmxlcyBjYW4gYmUgYmFja3F1b3RlZCwgc3RyaW5ncyBtdXN0IGJlIHNpbmdsZSBxdW90ZWQuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJRG9uJ3QgZmFpbCBpbiBSZWdpc3RlckZvbnRzIGlmIHRoZSBGb250cyB0YWJsZSBpcyBtaXNzaW5nLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjLCBwcm9ncmFtcy93aW5lY2ZnL2RyaXZldWkuYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvcmVzb3VyY2UuaDoKKwlKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlMb2FkIFNob3cvSGlkZSBBZHZhbmNlZCBzdHJpbmdzIGZyb20gcmVzb3VyY2VzLgorCisJKiBkbGxzL2RiZ2hlbHAvZHdhcmYuYzogUmFwaGFlbCBKdW5xdWVpcmEgPGZlbml4QGNsdWItaW50ZXJuZXQuZnI+CisJLSBiYXNpYyBwYXJzaW5nIG9mIHN1YnByb2dyYW0sIHR5cGVkZWYsIHBvaW50ZXIsIGNsYXNzLCBzdHJ1Y3QsIGVudW0KKwkgIGVudHJpZXMKKwktIGluZGlyZWN0IHN0cmluZ3Mgc3VwcG9ydAorCS0gdXRpbGl0aWVzIGZ1bmN0aW9ucyAocGFyc2VfYnl0ZSwgcGFyc2VfdTIsIC4uLikKKworCSogaW5jbHVkZS93aW5lL3JwY2ZjLmg6IEVyaWMgS29obCA8ZXJpYy5rb2hsQHQtb25saW5lLmRlPgorCURlZmluZSBSUENfRkNfSUdOT1JFLgorCisJKiBpbmNsdWRlL3NobG9iai5oOiBLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlBZGRlZCBtaXNzaW5nIEFXIGRlZmluZS4KKworCSogaW5jbHVkZS9yaWNob2xlLmlkbDogS2V2aW4gS29sdHphdSA8a2V2aW5AcGxvcC5vcmc+CisJQWRkIG1pc3NpbmcgdHlwZWRlZnMuCisKKwkqIGRsbHMva2VybmVsL2xvY2FsMTYuYywgaW5jbHVkZS9sb2NhbC5oOiBEaW1pIFBhdW4gPGRpbWlAbGF0dGljYS5jb20+CisJUmVuYW1lIGJhY2sgbG9jYWxfY29tcGFjdCB0byBMT0NBTF9Db21wYWN0IGZvciBjb25zaXN0ZW5jeS4KKwlHZXQgcmlkIG9mIG5vIGxvbmdlciB1c2VkIGxvY2FsLmguCisKKwkqIGRsbHMvdXNlci91c2VyX3ByaXZhdGUuaCwgd2luZG93cy9zeXNjb2xvci5jLCB3aW5kb3dzL3VzZXIuYzoKKwlEaW1pIFBhdW4gPGRpbWlAbGF0dGljYS5jb20+CisJUmVtb3ZlIExPQ0FMXyooKSBjYWxscyBmcm9tIFVTRVIsIHVzZSBMb2NhbCoxNigpIGluc3RlYWQuCisKKwkqIHRvb2xzL3dpbmVwcmVmaXhjcmVhdGUuaW46CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJQ3JlYXRlIGxpbmsgZm9yIG1zaWV4ZWMuZXhlIGluIHN5c3RlbSBkaXJlY3RvcnkuCisKKwkqIGRsbHMvbnRkbGwvZGlyZWN0b3J5LmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlJbXBsZW1lbnQgZ2V0X2RlZmF1bHRfZHJpdmVfZGV2aWNlIGZvciBGcmVlQlNELgorCisyMDA1LTA1LTE4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL250ZGxsL2hlYXAuYywgaW5jbHVkZS90aHJlYWQuaDoKKwlSZW1vdmVkIGxhc3QgZGVwZW5kZW5jaWVzIG9uIDE2LWJpdCBoZWFkZXJzIGZyb20gbnRkbGwuCisKKwkqIGRsbHMvb2xlMzIvZmlsZW1vbmlrZXIuYywgZGxscy9vbGUzMi9pdGVtbW9uaWtlci5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgSVJPVERhdGE6OkdldENvbXBhcmlzb25EYXRhIGZvciBmaWxlICYgaXRlbSBtb25pa2Vycy4KKworCSogZGxscy9rZXJuZWwva2VybmVsMTZfcHJpdmF0ZS5oLCBkbGxzL250ZGxsL2xvYWRlci5jLAorCSAgaW5jbHVkZS9tb2R1bGUuaDoKKwlNb3ZlZCBlbnRyeSBwb2ludCBkZWZpbml0aW9ucyBmcm9tIG1vZHVsZS5oIHRvIGtlcm5lbDE2X3ByaXZhdGUuaC4KKworCSogZGxscy9kZXZlbnVtL01ha2VmaWxlLmluLCBkbGxzL2RldmVudW0vY3JlYXRlZGV2ZW51bS5jOgorCU1hYXJ0ZW4gTGFua2hvcnN0IDxtLmIubGFua2hvcnN0QGdtYWlsLmNvbT4KKwlBZGQgdmZ3aW5kZXggd2hlbiBlbnVtZXJhdGluZyBkZXZpY2VzLCBhbmQgbWFrZSBzdXJlIGV2ZXJ5IGRldmljZSBoYXMKKwlhIHVuaXF1ZSByZWdpc3RyeSBrZXksIHNvIG11bHRpcGxlIGRldmljZXMgd2l0aCBzYW1lIG5hbWUgYXJlIGFsbG93ZWQuCisKKwkqIGRsbHMva2VybmVsL25lX21vZHVsZS5jLCB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwKKwkgIHRvb2xzL3dpbmVidWlsZC9yZXMxNi5jLCB0b29scy93aW5lYnVpbGQvc3BlYzE2LmM6CisJR2VuZXJhdGUgdGhlIDE2LWJpdCBtb2R1bGUgaGVhZGVyIGluIHRoZSBzdGFuZGFyZCBvbi1kaXNrIGZvcm1hdCwgc28KKwl0aGF0IHdpbmVidWlsZCBkb2Vzbid0IG5lZWQgdG8ga25vdyBhYm91dCBrZXJuZWwgaW50ZXJuYWwgc3RydWN0dXJlcy4KKworCSogZGxscy9kZXZlbnVtL21lZGlhY2F0ZW51bS5jOgorCU1hYXJ0ZW4gTGFua2hvcnN0IDxtLmIubGFua2hvcnN0QGdtYWlsLmNvbT4KKwlQYXNzIHByb3BlcnR5IGJhZyB0byBJUGVyc2lzdFByb3BlcnR5QmFnLCBpZiBzdXBwb3J0ZWQuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL2tlcm5lbC9jcHUuYywgZGxscy9rZXJuZWwvdGltZS5jLAorCSAgaW5jbHVkZS9jb25maWcuaC5pbjoKKwlFbW1hbnVlbCBNYWlsbGFyZCA8ZS5yc3pAbGliZXJ0eXN1cmYuZnI+CisJQWRkZWQgRGFyd2luIDguMCBzcGVjaWZpYyBoZWFkZXJzLgorCisJKiBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYzoKKwlTcGxpdCB0aGUgbW9kdWxlIGJ1aWxkaW5nIGZ1bmN0aW9uYWxpdHkgb2YgTkVfTG9hZEV4ZUhlYWRlciBpbnRvCisJc2VwYXJhdGUgZnVuY3Rpb25zLgorCisJKiBkbGxzL21zaS9jb25kLnk6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJQSBmZXcgc21hbGwgZml4ZXMuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCVdlIGNhbm5vdCBpbnRlcm5hbGx5IGxvYWQgdGhlIGZpbGVzIGluIEZpbGVDb3N0IGJlY2F1c2UgdGhhdCBhY3Rpb24KKwltYXkgYmUgc2tpcHBlZCBvciBub3QgY2FsbGVkLiBTbyBkbyBpdCBpbiBDb3N0SW5pdGlhbGl6ZS4KKwlRdW90ZSB0aGUgZmlsZSBwYXRoIGluIFNlbGZSZWdNb2R1bGVzLgorCURvIG5vdCB3cml0ZSBzcXVpc2hlZCBudWxsIGd1aWRzIHRvIHRoZSBmZWF0dXJlIHJlZ2lzdHJhdGlvbi4KKworCSogZGxscy9xY2FwL2NhcHR1cmVncmFwaC5jOiBNYWFydGVuIExhbmtob3JzdCA8bS5iLmxhbmtob3JzdEBnbWFpbC5jb20+CisJRml4ZWQgU2V0RmlsdGVyR3JhcGggZmFpbHVyZS4KKwlBZGRlZCBkZWJ1ZyBpbmZvLgorCUFkZGVkIE9iamVjdFJlZkNvdW50IGluZm8gZm9yIERsbENhblVubG9hZE5vdy4KKworCSogZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy91c2VyL2N1cnNvcmljb24uYywKKwkgIGRsbHMvdXNlci91c2VyMTYuYywgaW5jbHVkZS9tb2R1bGUuaDoKKwlSZW1vdmVkIGltcGxlbWVudGF0aW9uIG9mIExvYWRESUJJY29uSGFuZGxlcjE2IGFuZAorCUxvYWRESUJDdXJzb3JIYW5kbGVyMTYgc2luY2UgdGhleSBhcmUgbm8gbG9uZ2VyIHVzZWQsIGFuZCBzdG9wCisJZXhwb3J0aW5nIE5FX0RlZlJlc291cmNlSGFuZGxlci4KKworCSogZGxscy9xY2FwL01ha2VmaWxlLmluLCBkbGxzL3FjYXAvcGluLmMsIGRsbHMvcWNhcC9waW4uaDoKKwlNYWFydGVuIExhbmtob3JzdCA8bS5iLmxhbmtob3JzdEBnbWFpbC5jb20+CisJQWRkIHBpbiBmdW5jdGlvbnMgZnJvbSBxdWFydHouCisKKwkqIGRsbHMvY3J5cHQzMi9NYWtlZmlsZS5pbiwgZGxscy9jcnlwdDMyL3Byb3RlY3RkYXRhLmM6CisJS2VlcyBDb29rIDxrZWVzQG91dGZsdXgubmV0PgorCURlZmluZSBzdHJ1Y3R1cmVzIGZvciBDcnlwdFByb3RlY3REYXRhL0NyeXB0VW5wcm90ZWN0RGF0YSBjYWxscy4KKworCSogZGxscy9rZXJuZWwvdGVzdHMvcGlwZS5jLCBkbGxzL29sZWF1dDMyL3Rlc3RzL29sZWZvbnQuYywKKwkgIGRsbHMvb2xlYXV0MzIvdGVzdHMvc2FmZWFycmF5LmMsIGRsbHMvb2xlYXV0MzIvdGVzdHMvdmFydGVzdC5jLAorCSAgZGxscy9zaGx3YXBpL3Rlc3RzL2Nsc2lkLmMsIGRsbHMvc2hsd2FwaS90ZXN0cy9vcmRpbmFsLmMsCisJICBkbGxzL3NobHdhcGkvdGVzdHMvcGF0aC5jLCBkbGxzL3NobHdhcGkvdGVzdHMvc2hyZWcuYywKKwkgIGRsbHMvc2hsd2FwaS90ZXN0cy9zdHJpbmcuYywgcHJvZ3JhbXMvZXhwYW5kL2V4cGFuZC5jLAorCSAgcHJvZ3JhbXMvcnBjc3MvcnBjc3NfbWFpbi5jLCBwcm9ncmFtcy91bmluc3RhbGxlci9tYWluLmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL2RyaXZlLmMsIHByb2dyYW1zL3dpbmVtaW5lL21haW4uYywKKwkgIHByb2dyYW1zL3dpbmhlbHAvaGxwMnNnbWwuYzoKKwlQaWVycmUgZCdIZXJiZW1vbnQgPHN0ZWdlZmluQGZyZWUuZnI+CisJUmVtb3ZlIHN0ZGxpYi5oIGluY2x1c2lvbiBpZiB3aW5zb2NrLmggaXMgaW5jbHVkZWQuCisKKwkqIGRsbHMvcWNhcC9lbnVtcGlucy5jLCBkbGxzL3FjYXAvcWNhcF9tYWluLmM6CisJTWFhcnRlbiBMYW5raG9yc3QgPG0uYi5sYW5raG9yc3RAZ21haWwuY29tPgorCURsbENhblVubG9hZE5vdyBmaXguCisJRml4ZWQgT2JqUmVmQ291bnQgZm9yIEVudW1QaW5zLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCS0gU3RvcmUgdGhlIGNsaWNrIHBvaW50IGluIExJU1RWSUVXX0lORk8uCisJLSBNb3ZlIG1vdXNlIHRyYWNraW5nIHRvIE1vdXNlTW92ZS4KKwktIFVzZSBEcmFnRGV0ZWN0IGluc3RlYWQgb2YgVHJhY2tNb3VzZS4KKwktIFJlbW92ZSB0aGUgdW51c2VkIFRyYWNrTW91c2UgZnVuY3Rpb24uCisKKwkqIGRsbHMvZGJnaGVscC9tc2MuYzogRml4ZWQgYSBjb3VwbGUgb2Ygd2FybmluZ3MuCisKKwkqIGRsbHMvcXVhcnR6L2ZpbHRlcmdyYXBoLmM6CisJTWFhcnRlbiBMYW5raG9yc3QgPG0uYi5sYW5raG9yc3RAZ21haWwuY29tPgorCUFkZGVkIHJlY29ubmVjdCBmdW5jdGlvbiBmb3IgZmlsdGVyZ3JhcGguCisKKwkqIGRsbHMvcXVhcnR6L21lbWFsbG9jYXRvci5jOgorCU1hYXJ0ZW4gTGFua2hvcnN0IDxtLmIubGFua2hvcnN0QGdtYWlsLmNvbT4KKwlGaXhlZCBmcmVlaW5nIG9mIG1lZGlhdHlwZS4KKworCSogaW5jbHVkZS93aW5lL2xpc3QuaDogRGltaSBQYXVuIDxkaW1pQGxhdHRpY2EuY29tPgorCURvY3VtZW50IHRoZSBtb3JlIGNvbnZlbmllbnQgaXRlcmF0aW9uIG1ldGhvZC4KKworCSogaW5jbHVkZS93aW5jcnlwdC5oOiBLZWVzIENvb2sgPGtlZXNAb3V0Zmx1eC5uZXQ+CisJRGVmaW5lIENyeXB0UHJvdGVjdERhdGEvQ3J5cHRVbnByb3RlY3REYXRhIGNyeXB0MzIuZGxsIGNhbGxzLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYywgZGxscy9tc2kvYWN0aW9uLmg6CisJQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb3JyZWN0bHkgdXNlIHNob3J0IGZpbGVuYW1lcyBmcm9tIHVuY29tcHJlc3NlZCBmaWxlIHNvdXJjZXMuIEFsc28KKwlkZWZhdWx0IGZlYXR1cmUgYW5kIGNvbXBvbmVudCBpbnN0YWxsIHN0YXRlcyB0byBBQlNFTlQgaW5zdGVhZCBvZgorCVVOS05PV04uCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDE2X3ByaXZhdGUuaCwgZGxscy9rZXJuZWwvbmVfbW9kdWxlLmMsCisJICBkbGxzL2tlcm5lbC9zbm9vcDE2LmM6CisJQ2hhbmdlZCBTTk9PUDE2X1JlZ2lzdGVyRExMIHRvIHRha2UgYSBtb2R1bGUgaGFuZGxlIGluc3RlYWQgb2YKKwlwb2ludGVyLiBNb3ZlZCBzbm9vcCBmdW5jdGlvbiBwcm90b3R5cGVzIHRvIGtlcm5lbDE2X3ByaXZhdGUuaC4KKworCSogZGxscy9udGRsbC9sb2FkZXIuYzoKKwlNb3ZlZCBpbXBvcnQgdHJhY2luZyB0byBhIHNlcGFyYXRlIGNoYW5uZWwgc28gdGhhdCArbW9kdWxlIHRyYWNlcworCWRvbid0IGNvbnRhaW4gdG9vIG11Y2ggbm9pc2UuCisKKwkqIGRsbHMvZ2RpL2dkaW9iai5jOiBEaW1pIFBhdW4gPGRpbWlAbGF0dGljYS5jb20+CisJUmVtb3ZlIHRoZSBMT0NBTF8qKCkgZnVuY3Rpb25zIGZyb20gR0RJLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL2RyaXZldWkuYzogSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJQWRkIGhhbmRsaW5nIGZvciBkcml2ZSBvcHRpb25zLgorCisJKiBkbGxzL2tlcm5lbC90b29saGVscC5jOiBEaW1pIFBhdW4gPGRpbWlAbGF0dGljYS5jb20+CisJUmVtb3ZlIHRoZSBMT0NBTF8qKCkgZnVuY3Rpb24gY2FsbHMgZnJvbSBLRVJORUwuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzoKKwlGZWxpeCBOYXdvdGhuaWcgPGZlbGl4Lm5hd290aG5pZ0B0LW9ubGluZS5kZT4KKwlSZXNpemUgbGlzdHZpZXcgY29sdW1uIHRvIGF1dG9maXQgb24gYSBkb3VibGVjbGljayBvbiB0aGUKKwloZWFkZXItZGl2aWRlci4KKworCSogZGxscy9kYmdoZWxwL2R3YXJmLmM6IFJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCS0gYWRkIHNvbWUgRHdhcmYyIGVudW1zCisJLSBhYmJyZXYgZW50cmllcyBwYXJzZXIgKHdpdGggYXR0cmlidXRlcykKKwktIGRlYnVnIGluZm8gcGFyc2VyIHNrZWxldG9uIChzZWUgYmlnIHRhZyBzd2l0aCBpbiBkd2FyZjJfcGFyc2UpLgorCisJKiBkbGxzL250ZGxsL2V4Y2VwdGlvbi5jOiBEaW1pIFBhdW4gPGRpbWlAbGF0dGljYS5jb20+CisJVXNlIHRoZSBtb3JlIGlkaW9tYXRpYyBmb3JtIG9mIGl0ZXJhdGluZyB0aHJvdWdoIHRoZSBsaXN0LgorCisJKiBkbGxzL250ZGxsL3ZpcnR1YWwuYzogRGltaSBQYXVuIDxkaW1pQGxhdHRpY2EuY29tPgorCU1ha2UgdGhlIGFyZ3VtZW50IGNvbW1lbnRzIG91dC1vZi1saW5lLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTb21lIGVycm9yIG1lc3NhZ2VzIGFuZCBzdHJjbXAgY2hhbmdlcyBzdWdnZXN0ZWQgYnkgRG1pdHJ5LgorCisJKiBkbGxzL29sZTMyL3N0b3JhZ2UzMi5jOiBQaWVycmUgZCdIZXJiZW1vbnQgPHN0ZWdlZmluQGZyZWUuZnI+CisJQmlnIEVuZGlhbiBzcGVjaWZpYyBjb2RlIGZpeGVzIGluIG9yZGVyIHRvIGNvbmZvcm0gd2l0aAorCU5PTkFNRUxFU1NTVFJVQ1QuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGxmb2xkZXIuYzogS291amkgU2FzYWtpIDx0YXJvLXhAanVzdHN5c3RlbS5jby5qcD4KKwlBZGRlZCB0aGUgcHJvY2Vzc2luZyBmb3IgZGV0ZXJtaW5hdGlvbiBvZiBTRkdBT19IQVNTVUJGT0xERVIgZmxhZyBpbgorCVNIRUxMMzJfR2V0SXRlbUF0dHJpYnV0ZSBmdW5jdGlvbi4KKworCSogaW5jbHVkZS9jb21tY3RybC5oOiBLb3VqaSBTYXNha2kgPHRhcm8teEBqdXN0c3lzdGVtLmNvLmpwPgorCUV4Y2hhbmdlZCB0aGUgdmFsdWVzIGZvciBMVkFfQUxJR05MRUZUIHN0eWxlIGFuZCBMVkFfREVGQVVMVCBzdHlsZS4KKworCSogcHJvZ3JhbXMvd2luaGVscC9obHBmaWxlLmM6IEtvdWppIFNhc2FraSA8dGFyby14QGp1c3RzeXN0ZW0uY28uanA+CisJQ29ycmVjdGVkIFJMRSBkZWNvbXByZXNzaW9uIHByb2Nlc3NpbmcuCisKKwkqIGRsbHMvZGJnaGVscC9tc2MuYywgZGxscy9kYmdoZWxwL3BhdGguYzoKKwlSYXBoYWVsIEp1bnF1ZWlyYSA8ZmVuaXhAY2x1Yi1pbnRlcm5ldC5mcj4KKwlGaXggb3Blbl9wZGJfZmlsZSAodXNlZCBmb3IgbG9jYXRlL29wZW4gcGRicyk6CisJLSBwZGJfbWF0Y2ggaGV1cmlzdGljIG5vdyBvbmx5IHN0b3Agd2hlbiAiZmlyc3QgZmlsZSIgZXhpc3RzCisJLSBTeW1GaW5kRmlsZUluUGF0aCBub3cgZmlsbCBvdXRwdXQgYnVmZmVyIHdpdGggYSB2YWxpZCB2YWx1ZSBvbgorCSAgc3VjY2Vzcy4KKworMjAwNS0wNS0xNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9kZXZlbnVtL2RldmVudW0uc3BlYywgZGxscy9kZXZlbnVtL2RldmVudW1fbWFpbi5jLAorCSAgZGxscy9kbWNvbXBvcy9kbWNvbXBvcy5zcGVjLCBkbGxzL2RtY29tcG9zL2RtY29tcG9zX21haW4uYywKKwkgIGRsbHMvZG1jb21wb3MvcmVnc3ZyLmMsIGRsbHMvZG1pbWUvZG1pbWUuc3BlYywKKwkgIGRsbHMvZG1pbWUvZG1pbWVfbWFpbi5jLCBkbGxzL2RtaW1lL3JlZ3N2ci5jLAorCSAgZGxscy9kbXN0eWxlL2Rtc3R5bGUuc3BlYywgZGxscy9kbXN0eWxlL2Rtc3R5bGVfbWFpbi5jLAorCSAgZGxscy9kbXN0eWxlL3JlZ3N2ci5jLCBkbGxzL2Rzb3VuZC9kc291bmQuc3BlYywKKwkgIGRsbHMvZHNvdW5kL2Rzb3VuZF9tYWluLmMsIGRsbHMvZHNvdW5kL3JlZ3N2ci5jLAorCSAgZGxscy9oaGN0cmwub2N4L2hoY3RybC5vY3guc3BlYywgZGxscy9oaGN0cmwub2N4L3JlZ3N2ci5jLAorCSAgZGxscy9vbGVwcm8zMi9vbGVwcm8zMi5zcGVjLCBkbGxzL29sZXBybzMyL29sZXBybzMyc3R1YnMuYywKKwkgIGRsbHMvcXVhcnR6L21haW4uYywgZGxscy9xdWFydHovcXVhcnR6LnNwZWMsIGRsbHMvcXVhcnR6L3JlZ3N2ci5jLAorCSAgZGxscy9yc2FlbmgvcnNhZW5oLmMsIGRsbHMvcnNhZW5oL3JzYWVuaC5zcGVjLCBkbGxzL3NoZG9jdncvcmVnc3ZyLmMsCisJICBkbGxzL3NoZG9jdncvc2hkb2N2dy5zcGVjLCBkbGxzL3NoZG9jdncvc2hkb2N2d19tYWluLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCVJlbmFtZSBNT0RVTEVOQU1FX0RsbCogZnVuY3Rpb25zIHRvIERsbCogZm9yIGJldHRlciBjb25zaXN0ZW5jeSBhbmQKKwl0eXBlIGNoZWNraW5nLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwxNl9wcml2YXRlLmgsIGRsbHMva2VybmVsL2xvY2FsMTYuYywKKwkgIGRsbHMva2VybmVsL25lX21vZHVsZS5jLCBkbGxzL2tlcm5lbC9uZV9zZWdtZW50LmMsCisJICBkbGxzL2tlcm5lbC9yZWxheTE2LmMsIGRsbHMva2VybmVsL3Jlc291cmNlMTYuYywKKwkgIGRsbHMva2VybmVsL3Nub29wMTYuYywgZGxscy9rZXJuZWwvdGFzay5jOgorCVJlbmFtZWQgc29tZSBmaWVsZHMgaW4gTkVfTU9EVUxFIHRvIHVzZSB0aGUgc2FtZSBuYW1lIGFzIGluIHRoZQorCWV4cG9ydGVkIElNQUdFX09TMl9IRUFERVIgc3RydWN0dXJlLgorCisJKiBkbGxzL2dkaS9nZGlvYmouYzogRGltaSBQYXVuIDxkaW1pQGxhdHRpY2EuY29tPgorCVVzZSBzdGFuZGFyZCBUUkFDRSBtYWNyby4KKworCSogcHJvZ3JhbXMvbXNpZXhlYy9tc2lleGVjLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW5hbWUgRGxsUmVnaXN0ZXJTZXJ2ZXIgYW5kIERsbFVucmVnaXN0ZXJTZXJ2ZXIgdG8gYXZvaWQgY29uZnVzaW9uCisJd2l0aCB0aGUgQ09NIGZ1bmN0aW9ucyBvZiBkaWZmZXJlbnQgc2lnbmF0dXJlcy4KKworCSogaW5jbHVkZS9vYmpiYXNlLmg6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgV2luZS1vbmx5IHR5cGUgY2hlY2tpbmcgZm9yIERsbFJlZ2lzdGVyU2VydmVyIGFuZAorCURsbFVucmVnaXN0ZXJTZXJ2ZXIuCisKKwkqIGRsbHMvZGJnaGVscC9NYWtlZmlsZS5pbiwgZGxscy9kYmdoZWxwL2RiZ2hlbHBfcHJpdmF0ZS5oLAorCSAgZGxscy9kYmdoZWxwL2R3YXJmLmMsIGRsbHMvZGJnaGVscC9lbGZfbW9kdWxlLmM6CisJUmFwaGFlbCBKdW5xdWVpcmEgPGZlbml4QGNsdWItaW50ZXJuZXQuZnI+CisJQmVnaW5uaW5nIG9mIGRiZ2hlbHAgZHdhcmYyIHN1cHBvcnQ6CisJLSBhZGQgZWxmX21vZHVsZSBlbnRyeSBmb3IgZHdhcmYyX3BhcnNlCisJLSBzdHViYmVkIGR3YXJmMl9wYXJzZSBpbiBuZXcgZHdhcmYuYyBmaWxlCisKKwkqIGRsbHMvdXNlci9lZGl0LmM6IERpbWkgUGF1biA8ZGltaUBsYXR0aWNhLmNvbT4KKwlVc2Ugc3RhbmRhcmQgTG9jYWwqMTYoKSBmdW5jdGlvbnMgaW5zdGVhZCBvZiBMT0NBTF8qKCkgb25lcy4KKworCSogZGxscy9xY2FwL01ha2VmaWxlLmluLCBkbGxzL3FjYXAvZW51bXBpbnMuYzoKKwlNYWFydGVuIExhbmtob3JzdCA8bS5iLmxhbmtob3JzdEBnbWFpbC5jb20+CisJQWRkZWQgRW51bVBpbnMgZnJvbSBxdWFydHogZm9yIGludGVybmFsIHVzZS4KKworCSogZGxscy9rZXJuZWwva2VybmVsMTZfcHJpdmF0ZS5oLCBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYywKKwkgIGluY2x1ZGUvbW9kdWxlLmgsIHRvb2xzL3dpbmVidWlsZC9zcGVjMTYuYzoKKwlVc2UgdGhlIGV4cG9ydGVkIElNQUdFX09TMl9IRUFERVIgdG8gZ2VuZXJhdGUgdGhlIG1vZHVsZSBoZWFkZXIgaW4gdGhlCisJc3BlYyBmaWxlLCBhbmQgbW92ZWQgdGhlIE5FX01PRFVMRSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbiB0bworCWtlcm5lbDE2X3ByaXZhdGUuaC4KKworCSogcHJvZ3JhbXMvd2luZWNmZy9Fbi5yYywgcHJvZ3JhbXMvd2luZWNmZy9yZXNvdXJjZS5oOgorCUphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUFkZCBTaG93RGlyU3ltTGluayBhbmQgU2hvd0RvdEZpbGVzIHRvIHRoZSBkcml2ZSB1aS4KKworCSogZGxscy9jb21jdGwzMi90YWIuYzogSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJRml4ZWQgY2VudGVyaW5nIG9mIHRhYiB0ZXh0LgorCisJKiBkbGxzL3FjYXAvZGxsc2V0dXAuYzogTWFhcnRlbiBMYW5raG9yc3QgPG0uYi5sYW5raG9yc3RAZ21haWwuY29tPgorCUZpeGVkIGluaXRpYWxpc2F0aW9uIGNyYXNoIG9uIGxvYWRpbmcgcWNhcCBkbGwuCisKKwkqIGRsbHMvb2xlMzIvb2xlMi5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJT2J2aW91cyBmaXhlcyB0byBQcm9wVmFyaWFudENsZWFyIGFuZCBQcm9wVmFyaWFudENvcHkgZm9yIHZlY3RvcgorCXR5cGVzLgorCisJKiBkbGxzL3FjYXAvZW51bW1lZGlhLmM6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtLmIubGFua2hvcnN0QGdtYWlsLmNvbT4KKwlGaXhlZCBxY2FwJ3MgaW5oZXJpdGVkIGVudW1tZWRpYSBidWdzLgorCisyMDA1LTA1LTE2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL29sZTMyL3N0Z19wcm9wLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlBZGQgYSBjb21tZW50LCBhbmQgYSBuby1vcCBjbGVhbnVwLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYywgaW5jbHVkZS9tc2lkZWZzLmg6CisJQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb3JyZWN0IGEgcHJvYmxlbSB3aXRoIHBhcnNlX2RhdGEgaWYgYmluYXJ5IGRhdGEgd2FzIG5vdCBpbiBmdWxsIGJ5dGVzLgorCU1vcmUgcHJvcGVybHkgaGFuZGxlIHVuY29tcHJlc3NlZCBmaWxlIHNvdXJjZXMsIGZpeCB0aGUgY3JlYXRpbmcgYW5kCisJcGFyc2luZyBvZiBTb3VyY2UgRGlyZWN0b3JpZXMuCisKKwkqIHByb2dyYW1zL3dpbmVmaWxlL0NzLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9EZS5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL0VuLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9Fcy5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL0ZyLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9IdS5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL0l0LnJjLCBwcm9ncmFtcy93aW5lZmlsZS9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3dpbmVmaWxlL05sLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9QbC5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL1B0LnJjLCBwcm9ncmFtcy93aW5lZmlsZS9SdS5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL1NpLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9Tdi5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL1poLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9yZXNvdXJjZS5oLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvd2luZWZpbGUuYzoKKwlNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCUltcGxlbWVudCBjb25uZWN0aW5nIGFuZCBkaXNjb25uZWN0aW5nIG9mIG5ldHdvcmsgZHJpdmVzLgorCisJKiBkbGxzL2tlcm5lbC9hdG9tMTYuYywgZGxscy9rZXJuZWwvZGVidWdnZXIuYywgZGxscy9rZXJuZWwvZ2xvYmFsMTYuYywKKwkgIGRsbHMva2VybmVsL2luc3RyLmMsIGRsbHMva2VybmVsL2tlcm5lbDE2X3ByaXZhdGUuaCwKKwkgIGRsbHMva2VybmVsL2tlcm5lbF9tYWluLmMsIGRsbHMva2VybmVsL2tlcm5lbF9wcml2YXRlLmgsCisJICBkbGxzL2tlcm5lbC9sb2NhbDE2LmMsIGRsbHMva2VybmVsL25lX21vZHVsZS5jLAorCSAgZGxscy9rZXJuZWwvbmVfc2VnbWVudC5jLCBkbGxzL2tlcm5lbC9yZWxheTE2LmMsCisJICBkbGxzL2tlcm5lbC9yZXNvdXJjZTE2LmMsIGRsbHMva2VybmVsL3Nub29wMTYuYywKKwkgIGRsbHMva2VybmVsL3N5c3RlbS5jLCBkbGxzL2tlcm5lbC90YXNrLmMsIGRsbHMva2VybmVsL3RodW5rLmMsCisJICBkbGxzL2tlcm5lbC93b3d0aHVuay5jLCBpbmNsdWRlL21vZHVsZS5oOgorCU1vdmVkIGEgYnVuY2ggb2YgZGVmaW5pdGlvbnMgb3V0IG9mIG1vZHVsZS5oIGludG8gYSBuZXcKKwlrZXJuZWwxNl9wcml2YXRlLmggaGVhZGVyLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9NYWtlZmlsZS5pbiwgZGxscy9vZGJjY3AzMi8uY3ZzaWdub3JlLAorCSAgZGxscy9vZGJjY3AzMi9NYWtlZmlsZS5pbiwgZGxscy9vZGJjY3AzMi9vZGJjY3AzMi5jLAorCSAgZGxscy9vZGJjY3AzMi9vZGJjY3AzMi5zcGVjOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbml0aWFsIG1vc3RseSBzdHViIGltcGxlbWVudGF0aW9uIG9mIE9EQkMgY29udHJvbCBwYW5lbC4KKworCSogc2VydmVyL3Rva2VuLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgdXNlciBhdHRyaWJ1dGUgdG8gdG9rZW4gb2JqZWN0cy4KKworCSogZGxscy9vbGUzMi9zdGdfcHJvcC5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJRGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHZlcnNpb24gMCBhbmQgdmVyc2lvbiAxIHByb3BlcnR5IHN0b3JhZ2VzLgorCisJKiBkbGxzL2RiZ2hlbHAvc3RhY2suYywgZGxscy9rZXJuZWwvY29tbS5jLCBkbGxzL2tlcm5lbC9pbnN0ci5jLAorCSAgZGxscy9rZXJuZWwva2VybmVsX21haW4uYywgZGxscy9rZXJuZWwvbG9jYWxlLmMsCisJICBkbGxzL2tlcm5lbC9zeXNsZXZlbC5jLCBkbGxzL2tlcm5lbC90YXNrLmMsIGRsbHMva2VybmVsL3RocmVhZC5jLAorCSAgZGxscy9rZXJuZWwvdGh1bmsuYywgZGxscy9rZXJuZWwvd293dGh1bmsuYywgZGxscy9udGRsbC9maWxlLmMsCisJICBkbGxzL250ZGxsL250ZGxsX21pc2MuaCwgZGxscy9udGRsbC9wYXRoLmMsIGRsbHMvbnRkbGwvc2lnbmFsX2kzODYuYywKKwkgIGRsbHMvbnRkbGwvc3luYy5jLCBkbGxzL3VzZXIvd2lucHJvYy5jLCBpbmNsdWRlL3dpbnRlcm5sLmg6CisJUmVtb3ZlZCB0aGUgc3BlY2lhbCBjYXNpbmcgb2Yga2VybmVsMzIgYW5kIG50ZGxsIGZvciB0aGUgVEVCCisJZGVmaW5pdGlvbiBpbiB3aW50ZXJubC5oLgorCisJKiBkbGxzL2tlcm5lbC9hdG9tMTYuYywgZGxscy9rZXJuZWwvZGVidWdnZXIuYywgZGxscy9rZXJuZWwvZXJyb3IxNi5jLAorCSAgZGxscy9rZXJuZWwvZ2xvYmFsMTYuYywgZGxscy9rZXJuZWwva2VybmVsX21haW4uYywKKwkgIGRsbHMva2VybmVsL2tlcm5lbF9wcml2YXRlLmgsIGRsbHMva2VybmVsL2xvY2FsMTYuYywKKwkgIGRsbHMva2VybmVsL25lX21vZHVsZS5jLCBkbGxzL2tlcm5lbC9uZV9zZWdtZW50LmMsCisJICBkbGxzL2tlcm5lbC9yZWxheTE2LmMsIGRsbHMva2VybmVsL3Nub29wMTYuYywgZGxscy9rZXJuZWwvc3lzdGVtLmMsCisJICBkbGxzL2tlcm5lbC90YXNrLmMsIGRsbHMva2VybmVsL3RodW5rLmMsIGRsbHMva2VybmVsL3Rvb2xoZWxwLmMsCisJICBkbGxzL2tlcm5lbC93b3d0aHVuay5jLCBpbmNsdWRlL2xvY2FsLmgsIGluY2x1ZGUvc3RhY2tmcmFtZS5oOgorCU1vdmVkIHRoZSByZW1haW5pbmcgc3RhY2sgZnJhbWUgZGVmaW5pdGlvbnMgdG8ga2VybmVsX3ByaXZhdGUuaCBhbmQKKwlyZW1vdmVkIHN0YWNrZnJhbWUuaC4KKworCSogZGxscy9kYmdoZWxwL3N0YWNrLmMsIGRsbHMvdXNlci93aW5wcm9jLmMsIGRsbHMvdXNlci93bmQxNi5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9zdGFjay5jLCB0b29scy93aW5lYnVpbGQvcmVsYXkuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9zcGVjMTYuYzoKKwlBdm9pZCByZWZlcmVuY2luZyBzdGFja2ZyYW1lLmggZnJvbSBvdXRzaWRlIGtlcm5lbDMyLgorCisJKiBkbGxzL29sZTMyL2NvbXBvYmouYywgZGxscy9vbGUzMi9jb21wb2JqX3ByaXZhdGUuaCwKKwkgIGRsbHMvb2xlMzIvb2xlMi5jLCBkbGxzL29sZTMyL29sZTJfMTYuYywgZGxscy9vbGUzMi9vbGUzMl9tYWluLmMsCisJICBkbGxzL29sZTMyL29sZTMyX21haW4uaDoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlNb3ZlIHRoZSBEbGwgaW5pdCBmdW5jdGlvbiB0byBjb21wb2JqLmMgdG8gYXZvaWQgaGF2aW5nIGdsb2JhbAorCXZhcmlhYmxlcy4gUmVtb3ZlIG5lZWQgb2Ygb2xlMzJfbWFpbi5oLgorCisJKiBwcm9ncmFtcy93aW5lZmlsZS9Dcy5yYywgcHJvZ3JhbXMvd2luZWZpbGUvRGUucmMsCisJICBwcm9ncmFtcy93aW5lZmlsZS9Fbi5yYywgcHJvZ3JhbXMvd2luZWZpbGUvRXMucmMsCisJICBwcm9ncmFtcy93aW5lZmlsZS9Gci5yYywgcHJvZ3JhbXMvd2luZWZpbGUvSHUucmMsCisJICBwcm9ncmFtcy93aW5lZmlsZS9JdC5yYywgcHJvZ3JhbXMvd2luZWZpbGUvTmwucmMsCisJICBwcm9ncmFtcy93aW5lZmlsZS9QbC5yYywgcHJvZ3JhbXMvd2luZWZpbGUvUHQucmMsCisJICBwcm9ncmFtcy93aW5lZmlsZS9SdS5yYywgcHJvZ3JhbXMvd2luZWZpbGUvU2kucmMsCisJICBwcm9ncmFtcy93aW5lZmlsZS9aaC5yYywgcHJvZ3JhbXMvd2luZWZpbGUvcmVzb3VyY2UuaCwKKwkgIHByb2dyYW1zL3dpbmVmaWxlL3dpbmVmaWxlLmM6CisJTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlJbXBsZW1lbnQgbWVudSBlbnRyeSAiZm9ybWF0IGRpc2siIChkZXJpdmVkIGZyb20gUm9iZXJ0IERpY2tlbnNvbidzCisJY29kZSkuCisKKwkqIGRsbHMvYWR2YXBpMzIvcmVnaXN0cnkuYywgZGxscy9udGRsbC9yZWcuYzoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IFJlZ05vdGlmeUNoYW5nZUtleVZhbHVlIG9uIHRvcCBvZiBOdE5vdGlmeUNoYW5nZUtleS4KKworCSogZGxscy9rZXJuZWwvbG9jYWwxNi5jOiBEaW1pIFBhdW4gPGRpbWlAbGF0dGljYS5jb20+CisJVXNlIHRoZSBzdGFuZGFyZCBMb2NhbCoxNigpIGluc3RlYWQgb2YgTE9DQUxfKigpIGZ1bmN0aW9ucy4KKworCSogZGxscy9kaW5wdXQvZGV2aWNlLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRWZmZWN0IG9iamVjdHMgYXJlIG5vdCBzdXBwb3J0ZWQgeWV0IHNvIGRvbid0IGNyYXNoIHdoZW4gdHJ5aW5nIHRvCisJZW51bWVyYXRlIHRoZW0uCisKKwkqIGRsbHMva2VybmVsL25lX21vZHVsZS5jLCBkbGxzL2tlcm5lbC9uZV9zZWdtZW50LmMsCisJICBkbGxzL2tlcm5lbC9yZWxheTE2LmMsIGRsbHMva2VybmVsL3Nub29wMTYuYywgZGxscy93aW5lZG9zL3JlbGF5LmMsCisJICBpbmNsdWRlL2J1aWx0aW4xNi5oLCBpbmNsdWRlL3N0YWNrZnJhbWUuaCwgaW5jbHVkZS93aW5lL3dpbmJhc2UxNi5oLAorCSAgdG9vbHMvd2luZWJ1aWxkL3NwZWMxNi5jOgorCU1vdmVkIGRhdGEgc3RydWN0dXJlcyBmb3IgMTYtYml0IHJlbGF5IGNhbGxzIHRvIHdpbmJhc2UxNi5oIGFuZAorCXJlbW92ZWQgYnVpbHRpbjE2LmguCisKKwkqIGRsbHMvcnNhZW5oL3JzYWVuaC5jOiBLZWVzIENvb2sgPGtlZXNAb3V0Zmx1eC5uZXQ+CisJQXZvaWQgc2VnZmF1bHQgaW4gaGFzaCB1cGRhdGUgd2l0aCBjb3JydXB0ZWQgZGVjcnlwdCBkYXRhLgorCisJKiBkbGxzL3JpY2hlZDIwL3J1bi5jOiBNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCUNoYW5nZSBhbiBhc3NlcnQgdG8gYSBXQVJOLgorCisJKiBkbGxzL2dkaS9wYXRoLmM6IEZlbGl4IE5hd290aG5pZyA8ZmVsaXgubmF3b3RobmlnQHQtb25saW5lLmRlPgorCUtlZXAgd2lkdGggZm9yIGNvc21ldGljIHBlbnMsIGRvbid0IHVzZSBMUHRvRFAoKSBmb3Igd2lkdGhzIGFuZAorCWNvbnZlcnQgdGhlIGRhc2hlcyBmb3IgUFNfVVNFUlNUWUxFIHBlbnMgaW50byBkZXZpY2UgdW5pdHMuCisKKwkqIGRsbHMvYWR2YXBpMzIvZXZlbnRsb2cuYywgZGxscy9yaWNoZWQyMC9lZGl0b3IuYywKKwkgIGRsbHMvcmljaGVkaXQvcmljaGVkaXQuYywgZGxscy9ycGNydDQvbmRyX3N0dWJsZXNzLmM6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVByb3ZpZGUgbWluaW1hbCBBUEkgZG9jdW1lbnRhdGlvbiBpbiBhZHZhcGkvZXZlbnRsb2cuYyB0byBzaWxlbmNlIHNvbWUKKwl3aW5hcGlfY2hlY2sgb3V0cHV0LgorCU1vdmUgYXJvdW5kIGZ1bmN0aW9ucyBpbiByaWNoZWQyMCwgcmljaGVkaXQgYW5kIHJwY3J0NCB0byBhY2hpZXZlIHRoZQorCXNhbWUgZ29hbC4KKworCSogZGxscy9yc2FlbmgvcnNhZW5oLmM6IEtlZXMgQ29vayA8a2Vlc0BvdXRmbHV4Lm5ldD4KKwlBdm9pZCBzZWdmYXVsdCB3aGVuIGRldGVjdGluZyBkZWNyeXB0aW9uIGJ1ZmZlciBzaXplLgorCisJKiBkbGxzL21zdmNydC9maWxlLmMsIGRsbHMvbXN2Y3J0L3Rlc3RzL2ZpbGUuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJQ29ycmVjdCByZXR1cm4gdmFsdWUgb2YgZnNldHBvcy4KKworCSogZGxscy9zZXR1cGFwaS9xdWV1ZS5jOiBJdmFuIExlbyBQdW90aSA8aXZhbmxlb0BnbWFpbC5jb20+CisJTWlub3IgZml4IGluIFNldHVwUXVldWVDb3B5U2VjdGlvblcuCisKKwkqIGRsbHMva2VybmVsL2xvY2FsMTYuYzogRGltaSBQYXVuIDxkaW1pQGxhdHRpY2EuY29tPgorCUF2b2lkIHVzaW5nIHNvbWUgTE9DQUxfKigpIGZ1bmN0aW9ucy4KKworCSogcHJvZ3JhbXMvd2luZWZpbGUvU3YucmMsIHByb2dyYW1zL3dpbmVmaWxlL3JzcmMucmM6CisJTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlTd2VkaXNoIHRyYW5zbGF0aW9uIG9mIHdpbmVmaWxlIHJlc291cmNlcyBieSBEYXZpZCBOb3JkZW5iZXJnLAorCXByb29mcmVhZCBieSBBbmRyZWFzIEJqZXJrZWhvbHQuCisKKwkqIHByb2dyYW1zL3dpbmVmaWxlL0RlLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9Fbi5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL0VzLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9Gci5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL0h1LnJjLCBwcm9ncmFtcy93aW5lZmlsZS9JdC5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL05sLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9QdC5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL1J1LnJjLCBwcm9ncmFtcy93aW5lZmlsZS9TaS5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL1poLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9yZXNvdXJjZS5oLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvd2luZWZpbGUuYzoKKwlNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCUltcGxlbWVudCBzd2l0Y2hpbmcgb2YgZmlsZSBzb3J0IG9yZGVyLgorCisJKiBpbmNsdWRlL3NobG9iai5oOiBNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCURlZmluZSBmbGFncyBmb3IgU0hGb3JtYXREcml2ZSgpLgorCisJKiBkbGxzL2RiZ2hlbHAvc3RhYnMuYzogSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJU2lsZW5jZSBzb21lIHVua25vd24gc3RhYiB0eXBlIG1lc3NhZ2VzLgorCisJKiBkbGxzL29sZTMyL29sZTE2LmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCU1ha2UgX3htYWxsb2MxNigpIHN0YXRpYy4KKworCSogZGxscy9vbGUzMi9mdG1hcnNoYWwuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJU3RhdGljaWZ5IEZUTWFyc2hhbEltcGwgZGVmaW5pdGlvbi4KKworCSogZGxscy9vbGUzMi9oZ2xvYmFsc3RyZWFtLmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCU1ha2UgSEdMT0JBTFN0cmVhbV8qIGZ1bmN0aW9ucyBzdGF0aWMuCisKKwkqIGluY2x1ZGUvLmN2c2lnbm9yZSwgaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9tc3htbC5pZGwsCisJICBpbmNsdWRlL21zeG1sZGlkLmg6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIHNvbWUgeG1sIGhlYWRlcnMuCisKKwkqIHRvb2xzL3dpbmFwaS93aW4xNi5hcGksIHRvb2xzL3dpbmFwaS93aW4zMi5hcGk6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVVwZGF0ZSB3aW4xNi5hcGkgYW5kIHdpbjMyLmFwaSB0byBrZWVwIHVwIHdpdGggY3VycmVudCBXaW5lCisJZGV2ZWxvcG1lbnQuCisKKwkqIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywgZGxscy91bmljb3dzL3VuaWNvd3Muc3BlYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQ29ycmVjdCBhcmcgY291bnQgZm9yIDMgZnVuY3Rpb25zIGluIG50ZGxsLnNwZWMgYW5kIHVuaWNvd3Muc3BlYy4KKworCSogZGxscy91c2VyL3N5c3BhcmFtcy5jLCBpbmNsdWRlL3dpbnVzZXIuaDoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCUFkZCBzb21lIFN5c3RlbVBhcmFtZXRlcnNJbmZvIFNQSV8qIGRlZmluZXMuCisKKwkqIGRsbHMvZGlucHV0L2RpbnB1dF9tYWluLmMsIGRsbHMvZGlucHV0L2RpbnB1dF9wcml2YXRlLmgsCisJICBkbGxzL2RpbnB1dC9qb3lzdGlja19saW51eC5jLCBkbGxzL2RpbnB1dC9qb3lzdGlja19saW51eGlucHV0LmMsCisJICBkbGxzL2RpbnB1dC9rZXlib2FyZC5jLCBkbGxzL2RpbnB1dC9tb3VzZS5jLAorCSAgZGxscy9kaW5wdXQvdGVzdHMvam95c3RpY2suYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCVBhc3MgYXJvdW5kIHJlYWwgdmVyc2lvbiBhbmQgZG8gY29ycmVjdCB0aGluZyBiYXNlZCBvbiBpdC4KKwlDaGFuZ2UgY29vcGVyYXRpdmUgbGV2ZWwgdG8gcGFzcyBvbiB3aW5kb3dzLgorCisJKiBkbGxzL29sZTMyL3N0Z19wcm9wLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlTdG9yZSBwcm9wZXJ0eSBuYW1lcyBpbiB0aGUgY29kZSBwYWdlIG9mIHRoZSBwcm9wZXJ0eSBzZXQuCisKKzIwMDUtMDUtMTQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHByb2dyYW1zL3dpbmVmaWxlL3Jlc291cmNlLmgsIHByb2dyYW1zL3dpbmVmaWxlL3Jlc291cmNlLnJjLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvd2luZWZpbGUuYzoKKwlNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCS0gc3BlbGxpbmcgZml4ZXMgKHByZWZlcmVkIC0+IHByZWZlcnJlZCkKKwktIGFkZCAiLCB7MCwgMH0sIDAsIDAiIGluIGNvbW1lbnQgbGluZXMKKwktIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50CisKKwkqIGRsbHMvb2xlMzIvbW9uaWtlci5jLCBkbGxzL29sZTMyL3Rlc3RzL21vbmlrZXIuYzoKKwlKZWZmIExhdGltZXIgPGplZmZsQGRlZmNlbi5nb3YuYXU+CisJSW1wbGVtZW50IHRoZSBJRW51bU1vbmlrZXIgaW50ZXJmYWNlIGZvciB0aGUgUk9UIGFuZCBwcm92aWRlIHRlc3RzIHRvCisJZXhlcmNpc2UgdGhlIGludGVyZmFjZS4KKworCSogZGxscy9nZGkvcGF0aC5jOiBGZWxpeCBOYXdvdGhuaWcgPGZlbGl4Lm5hd290aG5pZ0B0LW9ubGluZS5kZT4KKwlDb252ZXJ0IHBlbiB3aWR0aCB0byBEUCBpbiBTdHJva2VQYXRoKCkuCisKKwkqIGRsbHMvd2lubW0vd2luZW9zcy9hdWRpby5jLCBkbGxzL3dpbm1tL3dpbmVvc3MvbWlkaS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTZXQgdGhyZWFkIHByaW9yaXRpZXMgdG8gdGltZSBjcml0aWNhbC4KKworCSogZGxscy91c2VyL3Rlc3RzL3dpbi5jLCBkbGxzL3VzZXIvd2luLmM6CisJUGF1bCBWcmllbnMgPHBhdWwudnJpZW5zQHhzNGFsbC5ubD4KKwlDaGVjayBmb3IgYSBOVUxMIHBvaW50ZXIgaW4gR2V0V2luZG93VGV4dEEvVy4KKworCSogZGxscy9udGRsbC9kaXJlY3RvcnkuYzogUm9iZXJ0IEx1bm5vbiA8Ym9ibEBvcHR1c2hvbWUuY29tLmF1PgorCUltcGxlbWVudCBnZXRfZGVmYXVsdF9kcml2ZV9kZXZpY2UgZm9yIFNvbGFyaXMuCisKKwkqIGRsbHMvZ2RpL2dkaW9iai5jLCBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC9sb2NhbDE2LmMsCisJICBpbmNsdWRlL2xvY2FsLmgsIHdpbmRvd3MvdXNlci5jOgorCURpbWkgUGF1biA8ZGltaUBsYXR0aWNhLmNvbT4KKwlNYWtlIExPQ0FMXyooKSBqdXN0IHdyYXBwZXJzIGFyb3VuZCBMb2NhbCoxNigpIGZ1bmN0aW9ucy4KKworCSogZGxscy9kYmdoZWxwL3N0YWNrLmMsIGRsbHMva2VybmVsL2tlcm5lbF9tYWluLmMsCisJICBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYywgZGxscy9rZXJuZWwvbmVfc2VnbWVudC5jLAorCSAgZGxscy9rZXJuZWwvc3lzdGVtLmMsIGRsbHMva2VybmVsL3Rhc2suYywgZGxscy9rZXJuZWwvdGh1bmsuYywKKwkgIGRsbHMva2VybmVsL3dvd3RodW5rLmMsIGRsbHMvbnRkbGwvc2lnbmFsX2kzODYuYywKKwkgIGRsbHMvdXNlci93aW5wcm9jLmMsIGluY2x1ZGUvc3RhY2tmcmFtZS5oLCBpbmNsdWRlL3RocmVhZC5oLAorCSAgdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmg6CisJU3RvcmUgdGhlIDE2LWJpdCBzdGFjayBwb2ludGVyIGluIHRoZSBXT1czMlJlc2VydmVkIFRFQiBmaWVsZC4KKworCSogZGxscy9udGRsbC9hdG9tLmMsIHNlcnZlci9hdG9tLmM6CisJRml4ZWQgYSBudW1iZXIgb2YgYXRvbSB0ZXN0IGZhaWx1cmVzLgorCisJKiBkbGxzL3dpbnNvY2svc29ja2V0LmMsIGluY2x1ZGUvdGhyZWFkLmg6CisJU3RvcmUgdGhlIHdpbnNvY2sgcGVyLXRocmVhZCBkYXRhIGluIE50Q3VycmVudFRlYigpLT5XaW5Tb2NrRGF0YQorCWluc3RlYWQgb2YgdXNpbmcgVGxzQWxsb2MuCisKKwkqIHNlcnZlci9xdWV1ZS5jOgorCUZpeGVkIGFub3RoZXIgY2FzZSB3aGVyZSBhIG1vdXNlIG1lc3NhZ2UgY291bGQgZ2V0IGFzc2lnbmVkIHRvIGEKKwlkaWZmZXJlbnQgdGhyZWFkIGlucHV0LgorCisJKiBwcm9ncmFtcy93aW5lZmlsZS9EZS5yYywgcHJvZ3JhbXMvd2luZWZpbGUvRW4ucmMsCisJICBwcm9ncmFtcy93aW5lZmlsZS9yZXNvdXJjZS5oLCBwcm9ncmFtcy93aW5lZmlsZS93aW5lZmlsZS5jOgorCU1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJRGlzcGxheSBmcmVlIGFuZCB0b3RhbCBkaXNrIHNwYWNlIGluIHN0YXR1cyBiYXIuCisKKwkqIGRsbHMvZ2RpL3BhdGguYzogRmVsaXggTmF3b3RobmlnIDxmZWxpeC5uYXdvdGhuaWdAdC1vbmxpbmUuZGU+CisJRHJhdyBlYWNoIGZpZ3VyZSBhcyBhIHNpbmdsZSBwcmltaXRpdmUgaW4gU3Ryb2tlUGF0aCgpLgorCisJKiBkbGxzL21zdmNydC9kYXRhLmMsIGRsbHMvbXN2Y3J0L21zdmNydC5oLCBkbGxzL21zdmNydC9tc3ZjcnQuc3BlYywKKwkgIGRsbHMvbXN2Y3J0L3RpbWUuYzoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJLSBtb3ZlIF90aW1lem9uZSB0byB0aW1lLmMsIGFuZCBjb3JyZWN0IGl0cyB0eXBlCisJLSBpbXBsZW1lbnQgX3R6c2V0LCBhbmQgaW5pdGlhbGl6ZSBfZGF5bGlnaHQsIF90aW1lem9uZSwgYW5kIF90em5hbWUKKwkgIGZyb20gbGliYyB2YWx1ZXMKKworCSogZGxscy9zaGVsbDMyL3NobGV4ZWMuYzogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCS0gb25seSBsb2cgdW5zdXBwb3J0ZWQgZmxhZ3MgaW4gU2hlbGxFeGVjdXRlCisJLSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXJlIGV4cGFuZGVkLCBzbyBTRUVfTUFTS19ET0VOVlNVQlNUIGlzCisJICBzdXBwb3J0ZWQKKworCSogZGxscy9vbGUzMi9zdGdfcHJvcC5jLCBkbGxzL29sZTMyL3N0b3JhZ2UzMi5jLAorCSAgZGxscy9vbGUzMi9zdG9yYWdlMzIuaDoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJLSBtYWludGFpbiBwcm9wZXIgYnl0ZSBvcmRlcgorCS0gbWFpbnRhaW4gUFJPUFNFVEZMQUdfQU5TSSBmbGFnIGJhc2VkIG9uIGNvZGVwYWdlCisJLSB1cGRhdGUgY29tbWVudHMKKworCSogZGxscy9jYWJpbmV0L2NhYmluZXQuaCwgZGxscy9jYWJpbmV0L2ZjaS5jOgorCUdlcm9sZCBKZW5zIFd1Y2hlcnBmZW5uaWcgPGdqd3VjaGVycGZlbm5pZ0BnbXgubmV0PgorCUluaXRpYWwgRkNJIHdvcmsgKEZDSUNyZWF0ZSBhbmQgRkNJRGVzdHJveSkuCisKKwkqIGRsbHMvcWNhcC9NYWtlZmlsZS5pbiwgZGxscy9xY2FwL2VudW1tZWRpYS5jLCBkbGxzL3FjYXAvcWNhcF9tYWluLmg6CisJUm9sZiBLYWxiZXJtYXR0ZXIgPHIua2FsYmVybWF0dGVyQGhjY25ldC5ubD4KKwlBZGQgSUVudW1NZWRpYVR5cGUgb2JqZWN0IGZvciB1c2UgYnkgb3RoZXIgY2xhc3Mgb2JqZWN0cy4gVGhpcyBpcworCXRha2VuIGZyb20gcXVhcnR6IHdpdGggb25seSBtaW5vciBhZGFwdGlvbnMuCisKKwkqIGRsbHMvY29tY3RsMzIvaGVhZGVyLmM6IEZlbGl4IE5hd290aG5pZyA8ZmVsaXgubmF3b3RobmlnQHQtb25saW5lLmRlPgorCVJld3JvdGUgaXRlbSBsYXlvdXRpbmcgLSBuZXcgY29kZSBmaXhlcyBiaXRtYXAvaW1hZ2UgcG9zaXRpb24gZm9yCisJbm9uLWxlZnQtYWxpZ25lZCB0ZXh0LCBwcmV2ZW50cyBqdW1waW5nIHdoZW4gcmVzaXppbmcgbm9uLWxlZnQtYWxpZ25lZAorCXRleHQsIGltcGxlbWVudHMgY2xpcHBpbmcgZm9yIGltYWdlcyBhbmQgY29ycmVjdGx5IGFsaWducyBiaXRtYXBzIHdoZW4KKwlhbiBpbWFnZSBpcyBhbHJlYWR5IHRoZXJlLgorCisyMDA1LTA1LTEzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2NvbW1kbGcvZm9udGRsZy5jOgorCURvbid0IGNvbnZlcnQgdGhlIHRlbXBsYXRlIG5hbWUgdG8gVW5pY29kZSwgaXQncyBub3QgdXNlZCBieSB0aGUKKwlkaWFsb2cgYW55d2F5LiBDbGVhciB0aGUgd2luZG93IHByb3BlcnR5IG9uIFdNX0RFU1RST1kuCisKKwkqIGRsbHMvc2hlbGwzMi8uY3ZzaWdub3JlLCBkbGxzL3NoZWxsMzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL3NoZWxsMzIvZm9sZGVycy5jLCBkbGxzL3NoZWxsMzIvaWNvbmNhY2hlLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uaCwKKwkgIGRsbHMvc2hlbGwzMi9zaHJlcy5yYywgZGxscy9zaGVsbDMyL3NocmVzZGVmLmgsIHRvb2xzL3dpbmUuaW5mOgorCUdlIHZhbiBHZWxkb3JwIDxndmdAcmVhY3Rvcy5jb20+CisJT3ZlcmxheSBpY29ucyBmb3IgLmxuayBmaWxlcyB3aXRoIGEgc21hbGwgYXJyb3cgaW4gdGhlIGxvd2VyIGxlZnQKKwljb3JuZXIuCisKKwkqIHByb2dyYW1zL3dpbmVmaWxlL3dpbmVmaWxlLmM6IE1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJRGlzcGxheSBzb3VyY2UgcGF0aCBpbiAibW92ZSBmaWxlIiBkaWFsb2cuCisKKwkqIGRsbHMvb2xlMzIvZ2l0LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1vdmUgZnVuY3Rpb24gcHJvdG90eXBlcy4KKworCSogZGxscy9yaWNoZWQyMC9lZGl0b3IuYzogS3J6eXN6dG9mIEZvbHRtYW4gPHdkZXZAZm9sdG1hbi5jb20+CisJQWRkZWQgc3R1YnMgZm9yIGEgY291cGxlIG9mIG1pc3NpbmcgMi4wIGFuZCAzLjAgbWVzc2FnZXMuCisKKwkqIHByb2dyYW1zL3dpbmVmaWxlL0NzLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9EZS5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL0VuLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9Fcy5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL0ZyLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9IdS5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL0l0LnJjLCBwcm9ncmFtcy93aW5lZmlsZS9ObC5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL1BsLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9QdC5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL1J1LnJjLCBwcm9ncmFtcy93aW5lZmlsZS9TaS5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL1poLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9yZXNvdXJjZS5oOgorCU1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJUmVwbGFjZSBudW1lcmljIHJlc291cmNlIGlkZW50aWZpZXJzIGJ5IHRoZWlyIGRlZmluZWQgY29uc3RhbnRzLgorCisJKiBkbGxzL3NlY3VyMzIvTWFrZWZpbGUuaW4sIGRsbHMvc2VjdXIzMi9zY2hhbm5lbC5jLAorCSAgZGxscy9zZWN1cjMyL3NlY3VyMzIuYywgZGxscy9zZWN1cjMyL3NlY3VyMzJfcHJpdi5oOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlCZWdpbiBzdHVicyBvZiBidWlsdC1pbiBzY2hhbm5lbCBwcm92aWRlci4KKworCSogZGxscy9tc3ZjcnQvZXhjZXB0LmMsIGRsbHMvbXN2Y3J0L21haW4uYywgZGxscy9tc3ZjcnQvbXN2Y3J0LmgsCisJICBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL21zdmNydC9mbG9hdC5oLCBpbmNsdWRlL21zdmNydC9zaWduYWwuaDoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJSW1wbGVtZW50IHNpZ25hbHMuCisKKwkqIGRsbHMvb2xlMzIvdGVzdHMvTWFrZWZpbGUuaW46IEhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCURvbid0IGltcG9ydCBmcm9tIG50ZGxsLgorCisJKiBkbGxzL3VzZXIvcGFpbnRpbmcuYzoKKwlQcm9jZXNzIHRoZSBwZW5kaW5nIGV4cG9zZSBldmVudHMgb24gUkRXX1VQREFURU5PVyBiZWZvcmUgZG9pbmcgdGhlCisJcmVkcmF3X3dpbmRvdyBzZXJ2ZXIgY2FsbCBzbyB0aGF0IHRoZSBwYXJlbnQgd2luZG93cyBnZXQgcHJvcGVybHkKKwl2YWxpZGF0ZWQgaWYgbmVjZXNzYXJ5LgorCisJKiBzZXJ2ZXIvcXVldWUuYzoKKwlPbmx5IHNldCB0aGUgbmV3IHdpbmRvdyBvZiBhIGhhcmR3YXJlIG1lc3NhZ2UgaWYgdGhlIHdpbmRvdyBiZWxvbmdzIHRvCisJdGhlIHNhbWUgdGhyZWFkIGlucHV0LCBvdGhlcndpc2UganVzdCBkcm9wIHRoZSBtZXNzYWdlLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1vdmUgc29tZSB1bnVzZWQgaW5jbHVkZSBmaWxlcy4KKworCSogZGxscy9vcGVuZ2wzMi9vcGVuZ2xfZXh0Lmg6IEFkZGVkIHlldCBhbm90aGVyIG1pc3NpbmcgT3BlbkdMIGRlZmluZS4KKworCSogZGxscy9vbGUzMi9zdG9yYWdlMzIuYywgZGxscy9vbGUzMi9zdG9yYWdlMzIuaCwKKwkgIGRsbHMvb2xlMzIvdGVzdHMvc3RvcmFnZTMyLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCU1ha2Ugc3VyZSBhIHN0cmVhbSBjYW4ndCBiZSBjcmVhdGVkIGluIHJlYWQgb25seSBzdG9yYWdlLgorCisJKiBkbGxzL3VzZXIvd2luLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQXZvaWQgYSBjcmFzaCBpbiBmcmVlX3dpbmRvd19oYW5kbGUoKSBvbiBhbiBpbnZhbGlkIHdpbmRvdyBoYW5kbGUuCisKKwkqIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvbWFrZV9kbGxzOgorCUJ1aWxkIGltcG9ydCBsaWJyYXJpZXMgYWxzbyB3aGVuIG9ubHkgZG9pbmcgYW4gaW5zdGFsbC1saWIuCisKKwkqIGRsbHMvZGlucHV0L2RpbnB1dF9tYWluLmMsIGRsbHMvZGlucHV0L2RpbnB1dF9wcml2YXRlLmgsCisJICBkbGxzL2RpbnB1dC9qb3lzdGlja19saW51eC5jLCBkbGxzL2RpbnB1dC90ZXN0cy9qb3lzdGljay5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRml4IFNldFByb3BlcnR5IGVycm9yIHJldHVybmVkLgorCUFkZCBFbnVtRGV2aWNlIGpveXN0aWNrIHZlcnNpb24gY2hlY2suCisJVGVzdCBtdWx0aXBsZSB2ZXJzaW9ucy4KKworCSogZGxscy9udGRsbC9leGNlcHRpb24uYzogTWlrZSBIZWFybiA8bWlrZUBuYXZpLmN4PgorCU1ha2UgdW5pbXBsZW1lbnRlZCBmdW5jdGlvbiBtZXNzYWdlIGEgYml0IHByZXR0aWVyLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYywgZGxscy9tc2kvbXNpcHJpdi5oOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJLSBFeGVjdXRlQWN0aW9uIHJ1bnMgdGhlIHdob2xlIEV4ZWN1dGUgdGFibGUgYW5kIG5vdCBqdXN0IGZyb20KKwkgIEluc3RhbGxWYWxpZGF0ZSBvbndhcmQuICBUbyBkbyB0aGlzIG1ha2Ugc3VyZSB3ZSBkbyBub3QgZG8gdGhlCisJICBjb3N0aW5nIGluaXRpYWxpemF0aW9uIHdvcmsgYWdhaW4gaWYgaXQgaXMgYWxyZWFkeSBkb25lIChieSBjaGVja2luZworCSAgdGhlIENvc3RpbmdDb21wbGV0ZSBQcm9wZXJ0eSkuCisJLSBBIGxvdCBvZiB3b3JrIHRvIHJlZmluZSBmZWF0dXJlIHN0YXRlcywgc2V0dGluZyB0aGUgc3RhdGUgYWZmZWN0cworCSAgdGhlIHN0YXRlIG9mIGFsbCBjaGlsZCBmZWF0dXJlcyBhbmQgYWxzbyByZXNwZWN0IGZlYXR1cmVzIHRoYXQgd2FudAorCSAgdG8gZGVmYXVsdCB0byBzb21ldGhpbmcgb3RoZXIgdGhhbiBMT0NBTC4KKworCSogZGxscy9udGRsbC9udC5jOiBQYXVsIFZyaWVucyA8UGF1bC5WcmllbnNAeHM0YWxsLm5sPgorCUFkZGVkIChzdHViYmVkKSBTeXN0ZW1Ecml2ZXJJbmZvcm1hdGlvbiBhbmQKKwlTeXN0ZW1JbnRlcnJ1cHRJbmZvcm1hdGlvbi4KKworCSogcHJvZ3JhbXMvbm90ZXBhZC9tYWluLmM6IEtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUVuYWJsZS9kaXNhYmxlIG1lbnUgaXRlbXMgYmFzZWQgb24gZWRpdCBjb250cm9sIHN0YXRlLgorCisJKiBkbGxzL3JwY3J0NC9ycGNfc2VydmVyLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEZpeCBScGNTZXJ2ZXJMaXN0ZW4gc28gdGhhdCBpdCBkb2Vzbid0IHJldHVybgorCSAgUlBDX1NfQUxSRUFEWV9MSVNURU5JTkcgd2hlbiB0aGUgb25seSBpbnRlcmZhY2VzIGl0IGlzIGxpc3RlbmluZyBvbgorCSAgYXJlIGF1dG8gbGlzdGVucy4KKwktIE9ubHkgc3luY2hyb25pemUgd2l0aCBzZXJ2ZXIgdGhyZWFkIHdoZW4gbmVjZXNzYXJ5IGFuZCBtb3ZlIHRoaXMKKwkgIGludG8gUnBjTWdtdFdhaXRTZXJ2ZXJMaXN0ZW4uCisKKwkqIGRsbHMvc2hlbGwzMi9zaGZsZHJfdW5peGZzLmM6CisJTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCVJlcGxhY2UgJ1xcJyBieSAnLycgaW4gc3RyaW5ncyBwYXNzZWQgdG8gUGFyc2VEaXNwbGF5TmFtZSB0byBiZSBhYmxlCisJdG8gaGFuZGxlIERPUy1zdHlsZSByZWxhdGl2ZSBwYXRocy4KKworMjAwNS0wNS0xMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9vbGUzMi9jb21wb2JqX3ByaXZhdGUuaCwgZGxscy9vbGUzMi9maWxlbW9uaWtlci5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1vdmUgdW5uZWNlc3NhcnkgZGVjbGFyYXRpb25zIGFuZCBtYWtlIGZ1bmN0aW9ucyBzdGF0aWMuCisKKwkqIGRsbHMvY29tY3RsMzIvdGFiLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJSGFuZGxlIFdNX05DQ0FMQ1NJWkUgaW4gdGhlIHRhYiBjb250cm9sLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTcGxpdCBTSEdldEZpbGVJbmZvVyBpbnRvIHR3byBmdW5jdGlvbnMuCisKKwkqIGRsbHMveDExZHJ2L2NsaXBib2FyZC5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCURvIG5vdCBwYXNzIGFuIGludmFsaWQgdGFyZ2V0IGJ1ZmZlciBpbmZvIHRvIFdpZGVDaGFyVG9NdWx0aUJ5dGUuCisKKwkqIGRsbHMvY29tbWRsZy9maWxlZGxnYnJvd3Nlci5jOiBNaWtlIEhlYXJuIDxtaWtlQG5hdmkuY3g+CisJRml4IHJldHVybiBjb2RlIGFidXNlLgorCisJKiBkbGxzL3NoZWxsMzIvc2hmbGRyX3VuaXhmcy5jOiBNaWNoYWVsIExpbiA8bWxpbkBjb3J2dS5jb20uYXU+CisJLSBJbXBsZW1lbnQgSVBlcnNpc3RGb2xkZXIyLgorCS0gUmV0cmlldmUgdGhlIGNvcnJlY3QgYXR0cmlidXRlcyBpbiBQYXJzZURpc3BsYXlOYW1lKCkuCisKKwkqIGRsbHMvb3BlbmdsMzIvd2dsLmMsIGRsbHMvb3BlbmdsMzIvd2dsX2V4dC5jOgorCVJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCS0gYmV0dGVyIHJvYnVzdG5lc3Mgb2YgcGJ1ZmZlciBjb2RlIChjaGVja3MsIFNldExhc3RFcnJvciBhcyBzcGVjcywgZXRjLi4uKS4KKwktIGJldHRlciBoZXVyaXN0aWMgZm9yIFdHTF9yZW5kZXJfdGV4dHVyZSBhbmQgZmlyc3QgdHJ5IG9mCisJICBXR0xfcmVuZGVyX3RleHR1cmUgImVtdWxhdGlvbiIgdXNpbmcgUGJ1ZmZlcnMgKGRlYWN0aXZhdGVkIGJ5CisJICBkZWZhdWx0KQorCS0gbW9yZSB0cmFjZXMKKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9zY2hhbm5lbC5oLCBpbmNsdWRlL3NjaG5sc3AuaDoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJQWRkZWQgc2NoYW5uZWwgaGVhZGVyIGZpbGVzLgorCisJKiBkbGxzL21zdmNydC9maWxlLmM6IDx3aW5lLmxhcnJ5LmVuZ2hvbG1AeG94eS5uZXQ+CisJRmx1c2ggb3V0cHV0IGJ1ZmZlcnMgZnJvbSBfY2xvc2UoKSByYXRoZXIgdGhhbiBNU1ZDUlRfZmNsb3NlKCkuCisKKwkqIGRsbHMvbnRkbGwvdGltZS5jOiBHYWJyaWVsIEdhbWJldHRhIDxnYWJyaWVsQE15c3RlcnlTdHVkaW8uY29tPgorCUFkZGVkIFVZVCB0byBUWl9JTkZPLgorCisyMDA1LTA1LTExICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3VzZXIvcHJvcGVydHkuYywgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLAorCSAgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3RyYWNlLmMsIHNlcnZlci93aW5kb3cuYzoKKwlBbGxvdyBwYXNzaW5nIGEgc3RyaW5nIHRvIHRoZSB3aW5kb3cgcHJvcGVydHkgc2VydmVyIHJlcXVlc3RzIGluc3RlYWQKKwlvZiBhbiBhdG9tIHRvIGF2b2lkIHJlZHVuZGFudCBzZXJ2ZXIgcm91bmQtdHJpcHMuCisKKwkqIHNlcnZlci9hdG9tLmMsIHNlcnZlci9vYmplY3QuaDoKKwlDaGFuZ2VkIGF0b20gaGFuZGxpbmcgdG8gdXNlIGNvdW50ZWQgc3RyaW5ncyBpbnN0ZWFkIG9mCisJbnVsbC10ZXJtaW5hdGVkIG9uZXMsIGF2b2lkaW5nIHRoZSBuZWVkIGZvciBhIHRlbXBvcmFyeSBidWZmZXIuCisKKwkqIGRvY3VtZW50YXRpb24vUkVBRE1FLnB0X2JyOiBEaW1pIFBhdW4gPGRpbWlAbGF0dGljYS5jb20+CisJRml4IHNwZWxsaW5nIGVycm9ycyBkaXNjb3ZlcmVkIGJ5IE1hcmNlbG8gRHVhcnRlLgorCisJKiBpbmNsdWRlL3dpbnRlcm5sLmg6IFBhdWwgVnJpZW5zIDxwYXVsLnZyaWVuc0B4czRhbGwubmw+CisJU29ydGVkIHNvbWUgb2YgdGhlIHN0cnVjdHMgYW5kIG1hZGUgdGhlbSBjb25zaXN0ZW50LgorCisJKiBwcm9ncmFtcy93aW5lZmlsZS93aW5lZmlsZS5jOiBNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCUltcHJvdmVkIHZlcnNpb24gb2YgUGlvdHIgQ2FiYW4ncyBidWdmaXggcGF0Y2ggIkZpeGVkIGRpc3BsYXkgYnVnIi4KKworCSogaW5jbHVkZS9ldm50cmFjZS5oOiBBZGRlZCBhIGZldyBtaXNzaW5nIHN0cnVjdHVyZSBuYW1lcy4KKworCSogZGxscy9vbGVhdXQzMi90bWFyc2hhbC5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJVXNlIElfUnBjR2V0QnVmZmVyIGluc3RlYWQgb2YgSGVhcFJlQWxsb2MgZm9yIGdldHRpbmcgdGhlIEJ1ZmZlcgorCW1lbW9yeS4KKworCSogZGxscy9vbGUzMi9tb25pa2VyLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIGZ1bmN0aW9ucyBzdGF0aWMgYW5kIHJlbW92ZSB1bm5lY2Vzc2FyeSBkZWNsYXJhdGlvbnMuCisKKwkqIGRsbHMvcmljaGVkMjAvcnVuLmMsIGRsbHMvcmljaGVkMjAvc3R5bGUuYzoKKwlJdmFuIExlbyBQdW90aSA8aXZhbmxlb0BnbWFpbC5jb20+CisJRml4IGNyYXNoIGluIE1FX0dldFJ1blNpemVDb21tb24oKS4gVHVybiBhIEZJWE1FIGludG8gYSBUUkFDRS4KKworCSogZGxscy9udGRsbC90ZXN0cy8uY3ZzaWdub3JlLCBkbGxzL250ZGxsL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9udGRsbC90ZXN0cy9hdG9tLmM6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJU29tZSB0ZXN0cyBmb3IgTlRETEwgYXRvbSBzdXBwb3J0IChieSBHefZyZ3kgJ05vZycgSmVuZXkpLgorCisJKiBkbGxzL250ZGxsL01ha2VmaWxlLmluLCBkbGxzL250ZGxsL2F0b20uYywgZGxscy9udGRsbC9udGRsbC5zcGVjLAorCSAgaW5jbHVkZS93aW50ZXJubC5oOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCUltcGxlbWVudGVkIE5URExMIGF0b20gc3VwcG9ydC4KKworCSogZGxscy91c2VyL2hvb2suYywgZGxscy91c2VyL21lc3NhZ2UuYywgZGxscy91c2VyL3VzZXJfcHJpdmF0ZS5oLAorCSAgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBzZXJ2ZXIvaG9vay5jLCBzZXJ2ZXIvcHJvdG9jb2wuZGVmLAorCSAgc2VydmVyL3F1ZXVlLmMsIHNlcnZlci90cmFjZS5jLCBzZXJ2ZXIvdXNlci5oOgorCVN0b3JlIGEgYml0bWFwIG9mIGFjdGl2ZSBob29rcyBvbiB0aGUgY2xpZW50IHNpZGUgdG8gdHJ5IHRvIGF2b2lkCisJc2VydmVyIGNhbGxzIGZvciBob29rcyB0aGF0IGFyZSBub3Qgc2V0LgorCisJKiBkbGxzL2FkdmFwaTMyL2FkdmFwaTMyLnNwZWMsIGRsbHMvYWR2YXBpMzIvZXZlbnRsb2cuYywKKwkgIGluY2x1ZGUvZXZudHJhY2UuaDoKKwlBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUFkZCBhIHN0dWIgaW1wbGVtZW50YXRpb24gb2YgUmVnaXN0ZXJUcmFjZUd1aWRzLgorCisJKiBkbGxzL21zaS9tc2lxdWVyeS5jLCBkbGxzL21zaS90YWJsZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBdm9pZCBzb21lIG5vbi1zdGFuZGFyZCBzdHIgZnVuY3Rpb25zLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC9sb2NhbGUuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJU3R1YiBpbXBsZW1lbnRhdGlvbiBmb3IgR2V0R2VvSW5mby4KKworCSogZGxscy9vbGUzMi9jb21wb2JqLmMsIGRsbHMvb2xlMzIvb2xlMzIuc3BlYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkIGEgc3R1YiBpbXBsZW1lbnRhdGlvbiBvZiBDb0lzSGFuZGxlckNvbm5lY3RlZC4KKworCSogZGxscy9tc3ZpZGVvL21zdmlkZW9fbWFpbi5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQ29ycmVjdCB0aGUgZnVuY3Rpb24gbmFtZSBpbiBhIGNvbW1lbnQuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL2RpbnB1dC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvZGlucHV0L3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvZGlucHV0L3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9kaW5wdXQvdGVzdHMvZGlucHV0X3Rlc3QuaCwgZGxscy9kaW5wdXQvdGVzdHMvam95c3RpY2suYywKKwkgIGRsbHMvZGlucHV0L3Rlc3RzL2tleWJvYXJkLmMsIGRsbHMvZGlucHV0L3Rlc3RzL21vdXNlLmMsCisJICBwcm9ncmFtcy93aW5ldGVzdC9NYWtlZmlsZS5pbjoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFkZGVkIGRpbnB1dCB0ZXN0cy4KKworCSogZGxscy9nZGkvZW5obWZkcnYvYml0Ymx0LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDaGVjayB0aGF0IEdldE9iamVjdCBpcyBzdWNjZXNzZnVsLgorCisJKiBkbGxzL250ZGxsL250ZGxsLnNwZWM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlad1F1ZXJ5VGltZXIgc2hvdWxkIGZvcndhcmQgdG8gTnRRdWVyeVRpbWVyLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkIE1vZHVsZTMyRmlyc3RXIGFuZCBNb2R1bGUzMk5leHRXIGV4cG9ydHMuCisKKwkqIGRsbHMvY29tY3RsMzIvdXBkb3duLmM6IERpbWkgUGF1biA8ZGltaUBsYXR0aWNhLmNvbT4KKwlNYWtlIGl0IG1vcmUgZXhwbGljaXQgaG93IHdlIGRlYWwgd2l0aCBXU19ESVNBQkxFRC4KKworCSogZGxscy9tc2kvbXNpLmM6IFN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCUFkZGVkIG1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgTXNpQ3JlYXRlQW5kVmVyaWZ5SW5zdGFsbGVyRGlyZWN0b3J5LgorCisJKiBpbmNsdWRlL3dpbmJhc2UuaCwgcHJvZ3JhbXMvdGFza21nci9wZXJmZGF0YS5oOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTW92ZSB7QUJPVkUsQkVMT1d9X05PUk1BTF9QUklPUklUWV9DTEFTUyB0byB3aW5iYXNlLmguCisKKwkqIGRsbHMvbXN2Y3J0L3Rlc3RzL3ByaW50Zi5jOiA8d2luZS5sYXJyeS5lbmdob2xtQHhveHkubmV0PgorCUFkZCB0ZXN0IGZvciBjb3JyZWN0bHkgaW50ZXJwcmV0aW5nICUlIHByaW50ZiBmb3JtYXQgc3RyaW5nIGNvbnZlcnNpb24KKwlzcGVjaWZpZXIuCisKKzIwMDUtMDUtMTAgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRvY3VtZW50YXRpb24vUkVBRE1FLmRlLCBkb2N1bWVudGF0aW9uL1JFQURNRS5lcywKKwkgIGRvY3VtZW50YXRpb24vUkVBRE1FLmZyLCBkb2N1bWVudGF0aW9uL1JFQURNRS5pdCwKKwkgIGRvY3VtZW50YXRpb24vUkVBRE1FLnB0LCBkb2N1bWVudGF0aW9uL1JFQURNRS5wdF9icjoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkaW1pQGxhdHRpY2EuY29tPgorCVVwZGF0ZSBSRUFETUUgdHJhbnNsYXRpb25zIHRvIG1hdGNoIHRoZSBsYXRlc3QgY2hhbmdlcyB0byB0aGUgRW5nbGlzaAorCVJFQURNRS4KKworCSogcHJvZ3JhbXMvTWFrZWZpbGUuaW4sIHByb2dyYW1zL21ha2VfcHJvZ3M6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlJbnN0YWxsIG1zaWV4ZWMgaW4gdGhlIGJpbiBkaXJlY3RvcnkuCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbF9tYWluLmMsIGRsbHMva2VybmVsL3NlbGVjdG9yLmMsCisJICBkbGxzL2tlcm5lbC93b3d0aHVuay5jLCBkbGxzL3dpbmVkb3MvZG9zYXNwaS5jLCBkbGxzL3dpbmVkb3MvaW50MDkuYywKKwkgIGRsbHMvd2luZWRvcy9pbnQxMC5jLCBkbGxzL3dpbmVkb3MvaW50MTYuYywgZGxscy93aW5lZG9zL2ludDE5LmMsCisJICBkbGxzL3dpbmVkb3MvaW50MWEuYywgZGxscy93aW5lZG9zL2ludDI5LmMsIGRsbHMvd2luZWRvcy9pbnQyZi5jLAorCSAgZGxscy93aW5lZG9zL2ludDMzLmMsIGRsbHMvd2luZWRvcy9pbnQ2Ny5jLCBkbGxzL3dpbmVkb3MvcHBkZXYuYywKKwkgIGRsbHMvd2luZWRvcy92Z2EuYywgaW5jbHVkZS9taXNjZW11Lmg6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJR2V0IHJpZCBvZiBpbmNsdWRlL21pc2NlbXUuaC4KKworCSogZGxscy9tc2kvZGF0YWJhc2UuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCS0gbWFrZSBzdXJlIHRvIGZyZWUgdGhlIHN0cmluZyB0YWJsZSB3aGVuIGNsb3NpbmcgdGhlIGRhdGFiYXNlCisJLSBkb24ndCBmcmVlIHN6UGVyc2lzdCBpbiBNc2lPcGVuRGF0YWJhc2UgaWYgaXQncyBub3QgYSBzdHJpbmcKKworCSogZGxscy9vbGUzMi9zdG9yYWdlMzIuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBhIG1lbW9yeSBsZWFrIGluIHRoZSBvbGUgc3RvcmFnZSBpbXBsZW1lbnRhdGlvbi4KKworCSogZGxscy9rZXJuZWwvZG9zbWVtLmMsIGRsbHMva2VybmVsL2dsb2JhbDE2LmMsIGRsbHMva2VybmVsL2luc3RyLmMsCisJICBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC9rZXJuZWxfcHJpdmF0ZS5oLAorCSAgZGxscy93aW5lZG9zL01ha2VmaWxlLmluLCBkbGxzL3dpbmVkb3MvZG9zZXhlLmgsCisJICBkbGxzL3dpbmVkb3MvZG9zbWVtLmMsIGRsbHMvd2luZWRvcy9kb3N2bS5jLCBkbGxzL3dpbmVkb3MvaW50MjEuYywKKwkgIGRsbHMvd2luZWRvcy9pbnQzMS5jLCBkbGxzL3dpbmVkb3MvbW9kdWxlLmMsCisJICBkbGxzL3dpbmVkb3Mvd2luZWRvcy5zcGVjLCBpbmNsdWRlL21pc2NlbXUuaDoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlNb3ZlZCBET1MgbWVtb3J5IGhhbmRsaW5nIHRvIHdpbmVkb3MuCisKKwkqIGRsbHMva2VybmVsL2F0b20uYywgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBzZXJ2ZXIvYXRvbS5jLAorCSAgc2VydmVyL3Byb2Nlc3MuYywgc2VydmVyL3Byb2Nlc3MuaCwgc2VydmVyL3Byb3RvY29sLmRlZiwKKwkgIHNlcnZlci9yZXF1ZXN0LmgsIHNlcnZlci90cmFjZS5jOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCS0gY2hhbmdlZCBBVE9NIHN1cHBvcnQgaW4gd2luZXNlcnZlciB0byBtYXRjaCBOVERMTCBuZWVkcworCS0gYWRhcHRlZCBhY2NvcmRpbmdseSBrZXJuZWwzMiBhdG9tIHN1cHBvcnQKKworCSogbGlicy93aW5lL2xvYWRlci5jOiBSb2JlcnQgTHVubm9uIDxib2JsQG9wdHVzbmV0LmNvbS5hdT4KKwlBZGQgUlRMRF9GSVJTVCBmbGFnIHRvIGRsb3BlbiBjYWxscy4KKworCSogUkVBRE1FLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZG9jdW1lbnRhdGlvbi8uY3ZzaWdub3JlLAorCSAgZG9jdW1lbnRhdGlvbi9NYWtlZmlsZS5pbiwgZG9jdW1lbnRhdGlvbi9hZGRyZXNzLXNwYWNlLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL2FyY2hpdGVjdHVyZS5zZ21sLCBkb2N1bWVudGF0aW9uL2J1Z3Muc2dtbCwKKwkgIGRvY3VtZW50YXRpb24vY29uZmlndXJpbmcuc2dtbCwgZG9jdW1lbnRhdGlvbi9kZHJhdy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9kZWJ1Z2dlci5zZ21sLCBkb2N1bWVudGF0aW9uL2RlYnVnZ2luZy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLnNnbWwsIGRvY3VtZW50YXRpb24vZmFxLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL2ZvbnRzLnNnbWwsIGRvY3VtZW50YXRpb24vZ2V0dGluZy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9nbG9zc2FyeS5zZ21sLCBkb2N1bWVudGF0aW9uL2ludHJvZHVjdGlvbi5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9tdWx0aW1lZGlhLnNnbWwsIGRvY3VtZW50YXRpb24vb2xlLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL29wZW5nbC5zZ21sLCBkb2N1bWVudGF0aW9uL3BhdGNoZXMuc2dtbCwKKwkgIGRvY3VtZW50YXRpb24vcHJpbnRpbmcuc2dtbCwgZG9jdW1lbnRhdGlvbi9yZWdpc3RyeS5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9ydW5uaW5nLnNnbWwsIGRvY3VtZW50YXRpb24vdGVzdGluZy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi93aW5lLWRldmVsLnNnbWwsIGRvY3VtZW50YXRpb24vd2luZS1mYXEuc2dtbCwKKwkgIGRvY3VtZW50YXRpb24vd2luZS11c2VyLnNnbWwsIGRvY3VtZW50YXRpb24vd2luZWRldi1jb2Rpbmcuc2dtbCwKKwkgIGRvY3VtZW50YXRpb24vd2luZWRldi1ncmFwaGljYWwuc2dtbCwKKwkgIGRvY3VtZW50YXRpb24vd2luZWRldi1rZXJuZWwuc2dtbCwKKwkgIGRvY3VtZW50YXRpb24vd2luZWRldi1vdGhlcmRlYnVnLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL3dpbmVkZXYtd2luZG93aW5nLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL3dpbmVsaWItYmluZGxscy5zZ21sLCBkb2N1bWVudGF0aW9uL3dpbmVsaWItaW50cm8uc2dtbCwKKwkgIGRvY3VtZW50YXRpb24vd2luZWxpYi1tZmMuc2dtbCwgZG9jdW1lbnRhdGlvbi93aW5lbGliLXBvcnRpbmcuc2dtbCwKKwkgIGRvY3VtZW50YXRpb24vd2luZWxpYi10b29sa2l0LnNnbWwsIGRvY3VtZW50YXRpb24vd2luZWxpYi11c2VyLnNnbWw6CisJRGltaSBQYXVuIDxkaW1pQGxhdHRpY2EuY29tPgorCU1vdmVkIHRoZSBTR01MIGRvY3VtZW50YXRpb24gb3ZlciB0byBTb3VyY2VGb3JnZS4KKworCSogZGxscy9NYWtlZGxsLnJ1bGVzLmluLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL01ha2V0ZXN0LnJ1bGVzLmluLAorCSAgZGxscy9tYWtlX2RsbHMsIHByb2dyYW1zL01ha2Vwcm9nLnJ1bGVzLmluLAorCSAgcHJvZ3JhbXMvYXZpdG9vbHMvTWFrZWZpbGUuaW46CisJQnVpbGQgYW5kIGxvYWQgaW1wb3J0IGxpYnJhcmllcyBkaXJlY3RseSBmcm9tIHRoZSBkbGwgZGlyZWN0b3J5IHdoZXJlCisJcG9zc2libGUsIGFuZCBvbmx5IGNyZWF0ZSBzeW1saW5rcyBmb3IgZGlyZWN0b3JpZXMgdGhhdCBkb24ndCBoYXZlIHRoZQorCWNvcnJlY3QgbmFtZS4KKworCSogZGxscy91c2VyL21lbnUuYywgZGxscy91c2VyL3Rlc3RzL21lbnUuYzoKKwlSZWluIEtsYXplcyA8d2lqbkB3YW5hZG9vLm5sPgorCU11bHRpIGNvbHVtbiBwb3B1cCBtZW51cyBoYXZlIDQgcGl4ZWwgc3BhY2UgYmV0d2VlbiB0aGUgY29sdW1ucy4gV2l0aAorCWNvbmZvcm1hbmNlIHRlc3QuCisKKwkqIGRsbHMvZGlucHV0L2RldmljZS5jLCBkbGxzL2RpbnB1dC9kaW5wdXRfbWFpbi5jLAorCSAgZGxscy9kaW5wdXQvam95c3RpY2tfbGludXguYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUZpeCBqb3lzdGljayBjcmFzaCB3aGVuIGEgYnV0dG9uIGd1aWQgaXMgc3BlY2lmaWVkIGluIHRoZSBkYXRhCisJZm9ybWF0LgorCUFkZCBzb21lIHBhcmFtZXRlciBjaGVja2luZy4KKworCSogZGxscy9udGRsbC90ZXN0cy9pbmZvLmM6IFBhdWwgVnJpZW5zIDxwYXVsLnZyaWVuc0B4czRhbGwubmw+CisJQWRkZWQgU3lzdGVtSGFuZGxlSW5mb3JtYXRpb24gdGVzdHMuCisJUmVtb3ZlZCBIZWFwQWxsb2MgaW4gdGVzdF9iYXNpYy4KKwlSZW5hbWVkIHRlc3RfYmFzaWMgdG8gdGVzdF9xdWVyeV9iYXNpYy4KKworCSogZGxscy9udGRsbC9udC5jOiBQYXVsIFZyaWVucyA8cGF1bC52cmllbnNAeHM0YWxsLm5sPgorCUFkZGVkIChzdHViYmVkKSBTeXN0ZW1IYW5kbGVJbmZvcm1hdGlvbi4KKwlTb3J0ZWQgdGhlIGxpc3QuCisKKwkqIGluY2x1ZGUvd2ludGVybmwuaDogUGF1bCBWcmllbnMgPHBhdWwudnJpZW5zQHhzNGFsbC5ubD4KKwlDaGFuZ2VkIFN5c3RlbUhhbmRsZUxpc3QgaW50byBTeXN0ZW1IYW5kbGVJbmZvcm1hdGlvbgorCVVua25vd24xOCBpcyBub3cgU3lzdGVtUGFnZUZpbGVJbmZvcm1hdGlvbgorCVNvbWUgY29uc2lzdGVuY3kgKGFkZGVkIG51bWJlcnMgdG8gdGhlIGRlZmluaXRpb25zKS4KKworCSogZGxscy9vcGVuZ2wzMi93Z2wuYzogUmFwaGFlbCBKdW5xdWVpcmEgPGZlbml4QGNsdWItaW50ZXJuZXQuZnI+CisJRml4IGFsbG9jYXRlZCBidWZmZXIgc2l6ZSB0byBhdm9pZCBidWZmZXIgb3ZlcmZsb3cuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvZHJpdmV1aS5jOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwktIFJlbW92ZSB1c2VsZXNzIExWTl9JVEVNQUNUSVZBVEUgbm90aWZpY2F0aW9uIGhhbmRsaW5nLgorCS0gVXBkYXRlIGNvbnRyb2xzIGluIHJlc3BvbnNlIHRvIGEgTk1fQ0xJQ0sgbm90aWZpY2F0aW9uLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL2RyaXZldWkuYzogSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJUmVtb3ZlIG9sZCBsaXN0Ym94IGNvZGUgZnJvbSBkcml2ZXVpLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlTZXQgbGlzdHZpZXcgc3R5bGUgTFZTX1NJTkdMRVNFTCBzbyBvbmx5IG9uZSBkcml2ZSBjYW4gYmUgc2VsZWN0ZWQuCisKKwkqIGluY2x1ZGUvbWFwaWRlZnMuaDogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUZpeCBGSUxFVElNRSB0byBtYXRjaCB3aW5iYXNlLmggb24gYmlnLWVuZGlhbiBtYWNoaW5lcy4KKworCSogZGxscy9zaGVsbDMyL2NwYW5lbGZvbGRlci5jLCBkbGxzL3NoZWxsMzIvc2hmbGRyX2Rlc2t0b3AuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGZsZHJfZnMuYywgZGxscy9zaGVsbDMyL3NoZmxkcl9teWNvbXAuYzoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJRml4ZXMgdG8gSVNoZWxsRm9sZGVyOjpHZXRBdHRyaWJ1dGVzT2YgaW1wbGVtZW50YXRpb25zLCBzcG90dGVkIGJ5CisJc2lsdmVyYmxhZGVfOgorCS0gYSBjb3VudCBvZiB6ZXJvIGlzIGFsbG93ZWQgdG8gR2V0QXR0cmlidXRlc09mIGlmIGFwaWRsIGlzIE5VTEwKKwktIFNGR0FPX1ZBTElEQVRFIG11c3QgYmUgY2xlYXJlZCB1cG9uIHJldHVybgorCisJKiBkbGxzL21zdmNydC93Y3MuYzogPHdpbmUubGFycnkuZW5naG9sbUB4b3h5Lm5ldD4KKwlJbnRlcnByZXQgJSUgY29ycmVjdGx5IGluIHByaW50ZiBmb3JtYXQgc3RyaW5nLgorCisJKiBkbGxzL3NoZWxsMzIvcGlkbC5jOiBNaWtlIEhlYXJuIDxtaEBjb2Rld2VhdmVycy5jb20+CisJRml4IFNIRUxMX0dldFBhdGhGcm9tSURMaXN0W0FXXSB0byByZXR1cm4gdGhlIGRlc2t0b3AgcGF0aCBnaXZlbiBhbgorCWVtcHR5IFBJREwuCisKKwkqIGRsbHMvbXNpL2FwcHNlYXJjaC5jLCBpbmNsdWRlL21zaWRlZnMuaDoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJUGFydGlhbGx5IGltcGxlbWVudCBBcHBTZWFyY2ggZm9yIFJlZ0xvY2F0b3ItdHlwZSBzZWFyY2hlcy4KKworCSogZGxscy94MTFkcnYvb3BlbmdsLmM6IFJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCUZpeCBYMTFEUlZfQ2hvb3NlUGl4ZWxGb3JtYXQgIHRvIGNob29zZSAyNCBicHAgYXMgMzIgYnBwIGZvciBkZXB0aAorCWJ1ZmZlcnMgKG5lZWRlZCBhcyBtYW55IFgxMSBkcml2ZXJzIG9ubHkgc3VwcG9ydCAyNGJwcCkuCisKKwkqIGRsbHMvbnRkbGwvdGltZS5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJQWRkZWQgSXJpc2ggU3VtbWVyIFRpbWUuCisKKzIwMDUtMDUtMDkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jLCBkbGxzL21zaS9kaWFsb2cuYzoKKwlBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUZpeCBhIGZldyBsZWFraW5nIG9iamVjdCBoYW5kbGVzLgorCisJKiBkbGxzL2NvbW1kbGcvZmlsZWRsZy5jOiBNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJRGV0ZWN0IGRyaXZlIGxldHRlcnMsIHdoaWNoIGhhdmUgdG8gaGF2ZSBhIGJhY2tzbGFzaCBhcHBlbmRlZCwgaW4gYQorCW1vcmUgcm9idXN0IHdheS4KKworCSogZGxscy9zaGVsbDMyL3NoZmxkcl91bml4ZnMuYzoKKwlNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJU3VwcG9ydCBmb2xkZXIgcmVsYXRpdmUgcGF0aHMgaW4gVW5peEZvbGRlcnMnIFBhcnNlRGlzcGxheU5hbWUKKwltZXRob2QuCisKKwkqIGRsbHMvd2luZWQzZC9kaXJlY3R4LmM6IERhbmllbCBMdW5kIDxkcm1lcmNAZ21haWwuY29tPgorCUFkZGVkIEQzRERFVkNBUFNfSFdSQVNURVJJWkFUSU9OIHRvIHRoZSBEZXZDYXBzIGZvciBzY2VuZQorCXJhc3Rlcml6YXRpb24uIEFsbG93cyBHdWlsZFdhcnMgdG8gc3RhcnQuCisKKwkqIGRsbHMva2VybmVsL2NvbW0uYywgaW5jbHVkZS93aW5iYXNlLmg6CisJQW5kcmVhcyBNb2hyIDxhbmRpQHJobHgwMS5maHQtZXNzbGluZ2VuLmRlPgorCUZpeCBmb3IgQ29tbUNvbmZpZ0RpYWxvZyooKSBod25kIGFyZ3VtZW50LgorCisJKiBpbmNsdWRlL3dpbnRlcm5sLmg6IFBhdWwgVnJpZW5zIDxwYXVsLnZyaWVuc0B4czRhbGwubmw+CisJUmVtb3ZlIEhBTkRMRUlORk8gc3RydWN0LgorCUFkZCBTWVNURU1fSEFORExFX0lORk9STUFUSU9OIGFuZCBTWVNURU1fSEFORExFX0VOVFJZIHN0cnVjdHMuCisKKwkqIGRsbHMvb3BlbmdsMzIvd2dsX2V4dC5jOiBBcmljIEN5ciA8YWN5ckBhbHVtbmkudXdhdGVybG9vLmNhPgorCUZpeCBXR0xfQUNDRUxFUkFUSU9OX0FSQiBxdWVyaWVzIGZyb20gYXBwbGljYXRpb25zLgorCisJKiBkbGxzL3dpbnNvY2svc29ja2V0LmM6IEVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCVNvbWUgZml4ZXMgb24gYXN5bmMgc2h1dGRvd24uCisKKwkqIGRsbHMvb3BlbmdsMzIvb3BlbmdsX2V4dC5oOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCURlZmluZSBHTFhfU0FNUExFX0JVRkZFUlNfQVJCIGFuZCBHTFhfU0FNUExFU19BUkIgaWYgdGhleSB3ZXJlIG5vdAorCWRlZmluZWQgYnkgdGhlIE9wZW5HTCBoZWFkZXJzLgorCisJKiBkbGxzL01ha2VkbGwucnVsZXMuaW4sIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvYWR2YXBpMzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL2FkdnBhY2svTWFrZWZpbGUuaW4sIGRsbHMvYW1zdHJlYW0vTWFrZWZpbGUuaW4sCisJICBkbGxzL2F0bC9NYWtlZmlsZS5pbiwgZGxscy9hdmljYXAzMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvYXZpZmlsMzIvTWFrZWZpbGUuaW4sIGRsbHMvY2FiaW5ldC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvY2FwaTIwMzIvTWFrZWZpbGUuaW4sIGRsbHMvY2FyZHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL2NmZ21ncjMyL01ha2VmaWxlLmluLCBkbGxzL2NvbWNhdC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvY29tY3RsMzIvTWFrZWZpbGUuaW4sIGRsbHMvbWFrZV9kbGxzLCBkbGxzL2NvbW1kbGcvTWFrZWZpbGUuaW4sCisJICBkbGxzL2NydGRsbC9NYWtlZmlsZS5pbiwgZGxscy9jcnlwdDMyL01ha2VmaWxlLmluLAorCSAgZGxscy9jcnlwdGRsbC9NYWtlZmlsZS5pbiwgZGxscy9jdGwzZC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvZDNkOC9NYWtlZmlsZS5pbiwgZGxscy9kM2Q5L01ha2VmaWxlLmluLCBkbGxzL2QzZGltL01ha2VmaWxlLmluLAorCSAgZGxscy9kM2RybS9NYWtlZmlsZS5pbiwgZGxscy9kM2R4OC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvZDNkeG9mL01ha2VmaWxlLmluLCBkbGxzL2RiZ2hlbHAvTWFrZWZpbGUuaW4sCisJICBkbGxzL2RjaW1hbjMyL01ha2VmaWxlLmluLCBkbGxzL2RkcmF3L01ha2VmaWxlLmluLAorCSAgZGxscy9kZXZlbnVtL01ha2VmaWxlLmluLCBkbGxzL2RpbnB1dC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvZGlucHV0OC9NYWtlZmlsZS5pbiwgZGxscy9kbWJhbmQvTWFrZWZpbGUuaW4sCisJICBkbGxzL2RtY29tcG9zL01ha2VmaWxlLmluLCBkbGxzL2RtaW1lL01ha2VmaWxlLmluLAorCSAgZGxscy9kbWxvYWRlci9NYWtlZmlsZS5pbiwgZGxscy9kbXNjcmlwdC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvZG1zdHlsZS9NYWtlZmlsZS5pbiwgZGxscy9kbXN5bnRoL01ha2VmaWxlLmluLAorCSAgZGxscy9kbXVzaWMvTWFrZWZpbGUuaW4sIGRsbHMvZG11c2ljMzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL2RwbGF5L01ha2VmaWxlLmluLCBkbGxzL2RwbGF5eC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvZHBuZXQvTWFrZWZpbGUuaW4sIGRsbHMvZHBuaHBhc3QvTWFrZWZpbGUuaW4sCisJICBkbGxzL2Rzb3VuZC9NYWtlZmlsZS5pbiwgZGxscy9kc3dhdmUvTWFrZWZpbGUuaW4sCisJICBkbGxzL2R4ZGlhZ24vTWFrZWZpbGUuaW4sIGRsbHMvZ2RpL01ha2VmaWxlLmluLAorCSAgZGxscy9nbHUzMi9NYWtlZmlsZS5pbiwgZGxscy9nbHV0MzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL2ljY3ZpZC9NYWtlZmlsZS5pbiwgZGxscy9pY21wL01ha2VmaWxlLmluLAorCSAgZGxscy9pbWFnZWhscC9NYWtlZmlsZS5pbiwgZGxscy9pbW0zMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvaXBobHBhcGkvTWFrZWZpbGUuaW4sIGRsbHMvaXRzcy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMva2VybmVsL01ha2VmaWxlLmluLCBkbGxzL2x6ZXhwYW5kL01ha2VmaWxlLmluLAorCSAgZGxscy9tYXBpMzIvTWFrZWZpbGUuaW4sIGRsbHMvbWxhbmcvTWFrZWZpbGUuaW4sCisJICBkbGxzL21wci9NYWtlZmlsZS5pbiwgZGxscy9tc2FjbS9NYWtlZmlsZS5pbiwgZGxscy9tc2Ntcy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvbXNkbW8vTWFrZWZpbGUuaW4sIGRsbHMvbXNodG1sL01ha2VmaWxlLmluLAorCSAgZGxscy9tc2kvTWFrZWZpbGUuaW4sIGRsbHMvbXNpbWczMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvbXNuZXQzMi9NYWtlZmlsZS5pbiwgZGxscy9tc3JsZTMyL01ha2VmaWxlLmluLAorCSAgZGxscy9tc3ZjcnQvTWFrZWZpbGUuaW4sIGRsbHMvbXN2Y3J0MjAvTWFrZWZpbGUuaW4sCisJICBkbGxzL21zdmNydDQwL01ha2VmaWxlLmluLCBkbGxzL21zdmNydGQvTWFrZWZpbGUuaW4sCisJICBkbGxzL21zdmlkYzMyL01ha2VmaWxlLmluLCBkbGxzL21zdmlkZW8vTWFrZWZpbGUuaW4sCisJICBkbGxzL21zd3NvY2svTWFrZWZpbGUuaW4sIGRsbHMvbmV0YXBpMzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL25ld2Rldi9NYWtlZmlsZS5pbiwgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvb2RiYzMyL01ha2VmaWxlLmluLCBkbGxzL29sZTMyL01ha2VmaWxlLmluLAorCSAgZGxscy9vbGVhY2MvTWFrZWZpbGUuaW4sIGRsbHMvb2xlYXV0MzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL29sZWNsaS9NYWtlZmlsZS5pbiwgZGxscy9vbGVkbGcvTWFrZWZpbGUuaW4sCisJICBkbGxzL29sZXBybzMyL01ha2VmaWxlLmluLCBkbGxzL29sZXN2ci9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvb3BlbmdsMzIvTWFrZWZpbGUuaW4sIGRsbHMvcG93cnByb2YvTWFrZWZpbGUuaW4sCisJICBkbGxzL3BzYXBpL01ha2VmaWxlLmluLCBkbGxzL3FjYXAvTWFrZWZpbGUuaW4sCisJICBkbGxzL3F1YXJ0ei9NYWtlZmlsZS5pbiwgZGxscy9yYXNhcGkzMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvcmljaGVkMjAvTWFrZWZpbGUuaW4sIGRsbHMvcmljaGVkaXQvTWFrZWZpbGUuaW4sCisJICBkbGxzL3JwY3J0NC9NYWtlZmlsZS5pbiwgZGxscy9yc2FiYXNlL01ha2VmaWxlLmluLAorCSAgZGxscy9yc2FlbmgvTWFrZWZpbGUuaW4sIGRsbHMvc2VjdXIzMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvc2Vuc2FwaS9NYWtlZmlsZS5pbiwgZGxscy9zZXJpYWx1aS9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvc2V0dXBhcGkvTWFrZWZpbGUuaW4sIGRsbHMvc2hkb2N2dy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbiwgZGxscy9zaGZvbGRlci9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvc2hsd2FwaS9NYWtlZmlsZS5pbiwgZGxscy9zbm1wYXBpL01ha2VmaWxlLmluLAorCSAgZGxscy9zdGkvTWFrZWZpbGUuaW4sIGRsbHMvdGFwaTMyL01ha2VmaWxlLmluLAorCSAgZGxscy90d2Fpbi9NYWtlZmlsZS5pbiwgZGxscy91bmljb3dzL01ha2VmaWxlLmluLAorCSAgZGxscy91cmwvTWFrZWZpbGUuaW4sIGRsbHMvdXJsbW9uL01ha2VmaWxlLmluLCBkbGxzL3VzZXIvTWFrZWZpbGUuaW4sCisJICBkbGxzL3V4dGhlbWUvTWFrZWZpbGUuaW4sIGRsbHMvdmRtZGJnL01ha2VmaWxlLmluLAorCSAgZGxscy92ZXJzaW9uL01ha2VmaWxlLmluLCBkbGxzL3dpbjMycy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvd2luYXNwaS9NYWtlZmlsZS5pbiwgZGxscy93aW5lZDNkL01ha2VmaWxlLmluLAorCSAgZGxscy93aW5lZG9zL01ha2VmaWxlLmluLCBkbGxzL3dpbmluZXQvTWFrZWZpbGUuaW4sCisJICBkbGxzL3dpbm1tL01ha2VmaWxlLmluLCBkbGxzL3dpbm5scy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvd2luc29jay9NYWtlZmlsZS5pbiwgZGxscy93aW5zcG9vbC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvd2ludGFiMzIvTWFrZWZpbGUuaW4sIGRsbHMvd2ludHJ1c3QvTWFrZWZpbGUuaW4sCisJICBkbGxzL3dvdzMyL01ha2VmaWxlLmluLCBkbGxzL3dzb2NrMzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL3d0c2FwaTMyL01ha2VmaWxlLmluOgorCUFkZGVkIHJ1bGVzIGZvciBidWlsZGluZyBpbXBvcnQgbGlicmFyaWVzIGluIHRoZSBpbmRpdmlkdWFsIGRsbAorCW1ha2VmaWxlcywgYW5kIGFkZGVkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGEgLmRlZi5hIHN0YXRpYyBpbXBvcnQKKwlsaWJyYXJ5IHRvby4KKworCSogdG9vbHMvd2luZWdjYy93aW5lZ2NjLmM6CisJRm9yIGVhY2ggaW1wb3J0ZWQgZGxsLCBjaGVjayBpZiB0aGVyZSBpcyBhIHN0YXRpYyBsaWJyYXJ5IHdpdGggdGhlCisJc2FtZSBiYXNlIG5hbWUgYXMgdGhlIGltcG9ydCBsaWJyYXJ5LCBhbmQgaWYgeWVzIGFkZCBpdCB0byB0aGUgbGlicmFyeQorCWxpc3QuCisKKwkqIGluY2x1ZGUvd2ludGVybmwuaDogUGF1bCBWcmllbnMgPHBhdWwudnJpZW5zQHhzNGFsbC5ubD4KKwlSZW1vdmUgdGhlIG5vdCB1c2VkIFBST0NFU1NfSU5GTyBzdHJ1Y3QuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvRW4ucmMsIHByb2dyYW1zL3dpbmVjZmcvZHJpdmV1aS5jOgorCUphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCVVzZSBhIGxpc3R2aWV3IGluc3RlYWQgb2YgYSBsaXN0Ym94IGZvciBkcml2ZXMgbGlzdC4KKworCSogdG9vbHMvd2luZXNoZWxsbGluazogTGF1cmVudCBCbHVtZSA8bGF1cmVudEBlbGFub3Iub3JnPgorCVJlcGxhY2UgdGhlIHRlc3Qgb2YgdGhlIHdoaWNoIGNvbW1hbmQgZm9yIHR5cGUgY29tbWFuZCB0byBnZXQgc2ltaWxhcgorCWJlaGF2aW91ciBvbiBhbGwgT1Nlcy4KKworCSogZGxscy9vbGUzMi9zdGdfcHJvcC5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJQ29ycmVjdC9pbXByb3ZlIGVycm9yIGNoZWNraW5nIGluIElQcm9wZXJ0eVN0b3JhZ2UuCisKKwkqIHNlcnZlci90b2tlbi5jLCB0b29scy93cmMvd3JjdHlwZXMuaDoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCUNoYW5nZSB0aGUgdHlwZSBvZiAxIGJpdCB3aWRlIGJpdGZpZWxkcyB0byB1bnNpZ25lZC4KKworCSogZGxscy9zaGVsbDMyL3NoZmxkcl91bml4ZnMuYzoKKwlNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJQWx3YXlzIHBhc3MgZnVsbHkgcXVhbGlmaWVkIHBhdGhzIHRvIHN0YXQgc3lzdGVtIGNhbGwuCisKKwkqIHNlcnZlci9uYW1lZF9waXBlLmM6IEVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCUZpeGVkIGEgd3Jvbmcgb3BzIHdoZW4gY3JlYXRpbmcgbmFtZWQgcGlwZSBjbGllbnQuCisKKwkqIGRsbHMvc2hlbGwzMi9zaHJlcy5yYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJdCBtYWtlcyBubyBzZW5zZSB0byBoYXZlIGEgbGVmdCBwb2ludGluZyBhcnJvdyBhcyB0aGUgZGVza3RvcCBpY29uLgorCVJlcGxhY2UgaXQgd2l0aCBzb21ldGhpbmcgbW9yZSBhcHByb3BpYXRlLgorCisJKiBkbGxzL2RpbnB1dC9tb3VzZS5jOiBMaW9uZWwgVWxtZXIgPGxpb25lbC51bG1lckBmcmVlLmZyPgorCS0gV2luZG93cyByZXBvcnRzIDB4ODAgb24gcHJlc3NlZCBidXR0b25zIG5vdCAweEZGCisJLSB0cmFjZSB0aGUgZXZlbnRzIHJlcG9ydGVkIHRvIHRoZSBhcHBsaWNhdGlvbgorCisJKiBkbGxzL2NvbWN0bDMyL2lwYWRkcmVzcy5jOgorCUZlbGl4IE5hd290aG5pZyA8ZmVsaXgubmF3b3RobmlnQHQtb25saW5lLmRlPgorCUltcGxlbWVudGVkIFdNX0VOQUJMRS4KKworCSogZGxscy9kc291bmQvYnVmZmVyLmMsIGRsbHMvZHNvdW5kL2Rzb3VuZF9wcml2YXRlLmgsCisJICBkbGxzL2Rzb3VuZC9taXhlci5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJUmVtb3ZlIGRlYWQgY29kZSBhbmQgcmVkdW5kYW50IHZhcmlhYmxlcyBmcm9tIERTT1VORF9DYWxjUGxheVBvc2l0aW9uCisJYW5kIGNhbGxlcnMuCisKKwkqIHByb2dyYW1zL25vdGVwYWQvRGUucmMsIHByb2dyYW1zL3JlZ2VkaXQvRGUucmMsCisJICBwcm9ncmFtcy91bmluc3RhbGxlci9EZS5yYzoKKwlIZW5uaW5nIEdlcmhhcmR0IDxoZW5uaW5nLmdlcmhhcmR0QHdlYi5kZT4KKwlVcGRhdGUgR2VybWFuIHJlc291cmNlIGZpbGVzLgorCisyMDA1LTA1LTA3ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB0b29scy93aW5lYnVpbGQvaW1wb3J0LmMsIHRvb2xzL3dpbmVidWlsZC9wYXJzZXIuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYywgdG9vbHMvd2luZWJ1aWxkL3dpbmVidWlsZC5tYW4uaW46CisJUmVtb3ZlZCBubyBsb25nZXIgdXNlZCBzdXBwb3J0IGZvciAzMi1iaXQgcmVnaXN0ZXIgZW50cnkgcG9pbnRzLgorCisJKiBkbGxzL01ha2VkbGwucnVsZXMuaW4sIHRvb2xzL2MybWFuLnBsOgorCVdpbGxpYW0gUG9ldHJhIFlvZ2EgSCA8d2lsbGlhbXBvZXRyYUB5YWhvby5jb20+CisJU3VwcG9ydCBidWlsZGluZyBtYW4gcGFnZXMgb3V0c2lkZSBvZiB0aGUgc291cmNlIGRpcmVjdG9yeS4KKworCSogZGxscy9rZXJuZWwvaGVhcC5jLCBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLAorCSAgZGxscy9rZXJuZWwva3JubDM4Ni5leGUuc3BlYywgZGxscy9rZXJuZWwvbmVfbW9kdWxlLmMsCisJICBkbGxzL2tlcm5lbC9zZWxlY3Rvci5jLCBkbGxzL2tlcm5lbC90aHVuay5jLCBkbGxzL2tlcm5lbC92eGQuYzoKKwlDb252ZXJ0ZWQgYWxsIHRoZSBrZXJuZWwzMiByZWdpc3RlciBmdW5jdGlvbnMgdG8gdGhlCisJREVGSU5FX1JFR1NfRU5UUllQT0lOVCBtZWNoYW5pc20uCisKKwkqIGRsbHMvcWNhcC9NYWtlZmlsZS5pbiwgZGxscy9xY2FwL2NhcHR1cmVncmFwaC5jLAorCSAgZGxscy9xY2FwL3FjYXBfbWFpbi5jOgorCVJvbGYgS2FsYmVybWF0dGVyIDxyb2xmLmthbGJlcm1hdHRlckBjaXRlbmcuY29tPgorCUltcGxlbWVudCBJQ2FwdHVyZUdyYXBoQnVpbGRlciBhbmQgSWNhcHR1cmVHcmFwaEJ1aWxkZXIyIGJhc2VkIG9uCisJTWFhcnRlbiBMYW5raG9yc3QncyBwYXRjaC4KKworCSogZGxscy9tc3ZjcnQvY3BwZXhjZXB0LmMsIGRsbHMvbXN2Y3J0L2V4Y2VwdC5jLAorCSAgZGxscy9udGRsbC9leGNlcHRpb24uYywgZGxscy9udGRsbC9udGRsbF9taXNjLmgsIGRsbHMvbnRkbGwvcnRsLmMsCisJICBkbGxzL250ZGxsL3NpZ25hbF9pMzg2LmMsIGRsbHMvbnRkbGwvc2lnbmFsX3Bvd2VycGMuYywKKwkgIGRsbHMvbnRkbGwvc2lnbmFsX3NwYXJjLmMsIGluY2x1ZGUvd2luZS9wb3J0Lmg6CisJUHJlZml4IHRoZSBpbnRlcm5hbCBuYW1lIG9mIGFsbCByZWdpc3RlciBmdW5jdGlvbnMgd2l0aCBfX3JlZ3NfIGZvcgorCWJldHRlciBjb25zaXN0ZW5jeSBhbmQgdG8gbWFrZSBhdXRvbWF0ZWQgY2hlY2tpbmcgcG9zc2libGUuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvRW4ucmMsIHByb2dyYW1zL3dpbmVjZmcvYXBwZGVmYXVsdHMuYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvcHJvcGVydGllcy5jLCBwcm9ncmFtcy93aW5lY2ZnL3Jlc291cmNlLmg6CisJR2V0IHJpZCBvZiB0aGUgRE9TIHZlcnNpb24gY29tYm9ib3gsIG5vcm1hbCB1c2VycyBzaG91bGQgbmV2ZXIgbmVlZCB0bworCWNoYW5nZSBpdC4KKworCSogZGxscy9xY2FwL01ha2VmaWxlLmluLCBkbGxzL3FjYXAvZGxsc2V0dXAuYywgZGxscy9xY2FwL2RsbHNldHVwLmgsCisJICBkbGxzL3FjYXAvcWNhcC5zcGVjLCBkbGxzL3FjYXAvcWNhcF9tYWluLmMsIGRsbHMvcWNhcC9xY2FwX21haW4uaDoKKwlSb2xmIEthbGJlcm1hdHRlciA8cm9sZi5rYWxiZXJtYXR0ZXJAY2l0ZW5nLmNvbT4KKwlJbXBsZW1lbnQgRExMIHJlZ2lzdGVyaW5nIGFuZCB1bnJlZ2lzdGVyaW5nIGZ1bmN0aW9ucywgY2xhc3MgZmFjdG9yeQorCWFuZCBzZXJ2ZXIgbG9ja2luZyBiYXNlZCBvbiBob3cgaXQgaXMgZG9uZSB3aXRoIERpcmVjdFggc2FtcGxlcy4KKworCSogZGxscy94MTFkcnYvZ3JhcGhpY3MuYzogUmVpbiBLbGF6ZXMgPHdpam5Ad2FuYWRvby5ubD4KKwlEb24ndCBzZXQgdGhlIHBlbiB3aWR0aCB0byAxIGluIFgxMURSVl9Qb2x5TGluZS4KKworCSogdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jOgorCVVzZSBSYWlzZUV4Y2VwdGlvbiBpbnN0ZWFkIG9mIFJ0bFJhaXNlRXhjZXB0aW9uIGZvciBkZWxheWVkIGVudHJ5CisJcG9pbnRzIGxvYWQgZmFpbHVyZSB0byBhdm9pZCBjcmVhdGluZyBhIGRlcGVuZGVuY3kgb24gbnRkbGwuCisKKwkqIGRsbHMvdXNlci93aW4uYywgc2VydmVyL3VzZXIuYzoKKwlUcmVhdCAweGZmZmYgdGhlIHNhbWUgYXMgMCBmb3IgdGhlIGhhbmRsZSBnZW5lcmF0aW9uIGZpZWxkIHRvIGF2b2lkCisJc2lnbiBleHRlbnNpb24gcHJvYmxlbXMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBsaWJzL3BvcnQvZnV0aW1lcy5jOgorCVJvYmVydCBMdW5ub24gPGJvYmxAb3B0dXNob21lLmNvbS5hdT4KKwlJbXBsZW1lbnQgZnV0aW1lcyBmb3IgU29sYXJpcyB1c2luZyBmdXRpbWVzYXQuCisKKwkqIGRsbHMvbnRkbGwvdGltZS5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUFkZCB0aGUgJ1dlc3Rlcm4gRXVyb3BlYW4gU3VtbWVyIFRpbWUnIChXRVNUKSB0aW1lem9uZSAocmVwb3J0ZWQgYnkKKwlKb3PpIE1lbG8pLgorCisJKiBwcm9ncmFtcy93aW5lbWVudWJ1aWxkZXIvd2luZW1lbnVidWlsZGVyLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJd2luZW1lbnVidWlsZGVyLmMgaXMgdGhlIG9ubHkgV2luZSBzb3VyY2UgZmlsZSBjaGVja2luZyBmb3IKKwlIQVZFX1NUUklOR19ILiBSZW1vdmUgdGhhdCBjaGVjayBmb3IgY29uc2lzdGVuY3kuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvRGUucmMsIHByb2dyYW1zL3dpbmVjZmcvRW4ucmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL2RyaXZldWkuYywgcHJvZ3JhbXMvd2luZWNmZy9yZXNvdXJjZS5oOgorCU1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlUaGUgdW5peGZzIGV4dGVuc2lvbiBkb2Vzbid0IGhhdmUgYSBkaXN0aW5ndWlzaGVkICcvJyBub2RlIGFueW1vcmUuCisJTW92ZWQgVUkgc3RyaW5nIGludG8gdGhlIHJlc291cmNlcy4KKworCSogZGxscy9zaGVsbDMyL3NoZmxkcl91bml4ZnMuYzogUm9iZXJ0IEx1bm5vbiA8Ym9ibEBvcHR1c2hvbWUuY29tLmF1PgorCU1ha2UgcmVmZXJlbmNlcyB0byBOQU1FX01BWCByZWZlciB0byBQQVRIX01BWCBpbnN0ZWFkLgorCisJKiBNYWtlLnJ1bGVzLmluLCBkbGxzL01ha2VkbGwucnVsZXMuaW4sIGRsbHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL01ha2V0ZXN0LnJ1bGVzLmluLCBkbGxzL2FkdmFwaTMyLy5jdnNpZ25vcmUsCisJICBkbGxzL2FkdnBhY2svLmN2c2lnbm9yZSwgZGxscy9hbXN0cmVhbS8uY3ZzaWdub3JlLAorCSAgZGxscy9hdGwvLmN2c2lnbm9yZSwgZGxscy9hdmljYXAzMi8uY3ZzaWdub3JlLAorCSAgZGxscy9hdmlmaWwzMi8uY3ZzaWdub3JlLCBkbGxzL2NhYmluZXQvLmN2c2lnbm9yZSwKKwkgIGRsbHMvY2FwaTIwMzIvLmN2c2lnbm9yZSwgZGxscy9jYXJkcy8uY3ZzaWdub3JlLAorCSAgZGxscy9jZmdtZ3IzMi8uY3ZzaWdub3JlLCBkbGxzL2NvbWNhdC8uY3ZzaWdub3JlLCBkbGxzL21ha2VfZGxscywKKwkgIGRsbHMvY29tY3RsMzIvLmN2c2lnbm9yZSwgZGxscy9jb21tZGxnLy5jdnNpZ25vcmUsCisJICBkbGxzL2NydGRsbC8uY3ZzaWdub3JlLCBkbGxzL2NyeXB0MzIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvY3J5cHRkbGwvLmN2c2lnbm9yZSwgZGxscy9jdGwzZC8uY3ZzaWdub3JlLAorCSAgZGxscy9kM2Q4Ly5jdnNpZ25vcmUsIGRsbHMvZDNkOS8uY3ZzaWdub3JlLCBkbGxzL2QzZGltLy5jdnNpZ25vcmUsCisJICBkbGxzL2QzZHJtLy5jdnNpZ25vcmUsIGRsbHMvZDNkeDgvLmN2c2lnbm9yZSwgZGxscy9kM2R4b2YvLmN2c2lnbm9yZSwKKwkgIGRsbHMvZGJnaGVscC8uY3ZzaWdub3JlLCBkbGxzL2RjaW1hbjMyLy5jdnNpZ25vcmUsCisJICBkbGxzL2RkcmF3Ly5jdnNpZ25vcmUsIGRsbHMvZGV2ZW51bS8uY3ZzaWdub3JlLAorCSAgZGxscy9kaW5wdXQvLmN2c2lnbm9yZSwgZGxscy9kaW5wdXQ4Ly5jdnNpZ25vcmUsCisJICBkbGxzL2RtYmFuZC8uY3ZzaWdub3JlLCBkbGxzL2RtY29tcG9zLy5jdnNpZ25vcmUsCisJICBkbGxzL2RtaW1lLy5jdnNpZ25vcmUsIGRsbHMvZG1sb2FkZXIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvZG1zY3JpcHQvLmN2c2lnbm9yZSwgZGxscy9kbXN0eWxlLy5jdnNpZ25vcmUsCisJICBkbGxzL2Rtc3ludGgvLmN2c2lnbm9yZSwgZGxscy9kbXVzaWMvLmN2c2lnbm9yZSwKKwkgIGRsbHMvZG11c2ljMzIvLmN2c2lnbm9yZSwgZGxscy9kcGxheS8uY3ZzaWdub3JlLAorCSAgZGxscy9kcGxheXgvLmN2c2lnbm9yZSwgZGxscy9kcG5ldC8uY3ZzaWdub3JlLAorCSAgZGxscy9kcG5ocGFzdC8uY3ZzaWdub3JlLCBkbGxzL2Rzb3VuZC8uY3ZzaWdub3JlLAorCSAgZGxscy9kc3dhdmUvLmN2c2lnbm9yZSwgZGxscy9keGRpYWduLy5jdnNpZ25vcmUsIGRsbHMvZ2RpLy5jdnNpZ25vcmUsCisJICBkbGxzL2dsdTMyLy5jdnNpZ25vcmUsIGRsbHMvZ2x1dDMyLy5jdnNpZ25vcmUsCisJICBkbGxzL2ljY3ZpZC8uY3ZzaWdub3JlLCBkbGxzL2ljbXAvLmN2c2lnbm9yZSwKKwkgIGRsbHMvaW1hZ2VobHAvLmN2c2lnbm9yZSwgZGxscy9pbW0zMi8uY3ZzaWdub3JlLAorCSAgZGxscy9pcGhscGFwaS8uY3ZzaWdub3JlLCBkbGxzL2l0c3MvLmN2c2lnbm9yZSwKKwkgIGRsbHMva2VybmVsLy5jdnNpZ25vcmUsIGRsbHMvbHpleHBhbmQvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbWFwaTMyLy5jdnNpZ25vcmUsIGRsbHMvbWxhbmcvLmN2c2lnbm9yZSwgZGxscy9tcHIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbXNhY20vLmN2c2lnbm9yZSwgZGxscy9tc2Ntcy8uY3ZzaWdub3JlLCBkbGxzL21zZG1vLy5jdnNpZ25vcmUsCisJICBkbGxzL21zaHRtbC8uY3ZzaWdub3JlLCBkbGxzL21zaS8uY3ZzaWdub3JlLCBkbGxzL21zaW1nMzIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbXNuZXQzMi8uY3ZzaWdub3JlLCBkbGxzL21zcmxlMzIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbXN2Y3J0Ly5jdnNpZ25vcmUsIGRsbHMvbXN2Y3J0MjAvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbXN2Y3J0NDAvLmN2c2lnbm9yZSwgZGxscy9tc3ZjcnRkLy5jdnNpZ25vcmUsCisJICBkbGxzL21zdmlkYzMyLy5jdnNpZ25vcmUsIGRsbHMvbXN2aWRlby8uY3ZzaWdub3JlLAorCSAgZGxscy9tc3dzb2NrLy5jdnNpZ25vcmUsIGRsbHMvbmV0YXBpMzIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbmV3ZGV2Ly5jdnNpZ25vcmUsIGRsbHMvbnRkbGwvLmN2c2lnbm9yZSwKKwkgIGRsbHMvb2RiYzMyLy5jdnNpZ25vcmUsIGRsbHMvb2xlMzIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvb2xlYWNjLy5jdnNpZ25vcmUsIGRsbHMvb2xlYXV0MzIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvb2xlY2xpLy5jdnNpZ25vcmUsIGRsbHMvb2xlZGxnLy5jdnNpZ25vcmUsCisJICBkbGxzL29sZXBybzMyLy5jdnNpZ25vcmUsIGRsbHMvb2xlc3ZyLy5jdnNpZ25vcmUsCisJICBkbGxzL29wZW5nbDMyLy5jdnNpZ25vcmUsIGRsbHMvcG93cnByb2YvLmN2c2lnbm9yZSwKKwkgIGRsbHMvcHNhcGkvLmN2c2lnbm9yZSwgZGxscy9xY2FwLy5jdnNpZ25vcmUsIGRsbHMvcXVhcnR6Ly5jdnNpZ25vcmUsCisJICBkbGxzL3Jhc2FwaTMyLy5jdnNpZ25vcmUsIGRsbHMvcmljaGVkMjAvLmN2c2lnbm9yZSwKKwkgIGRsbHMvcmljaGVkaXQvLmN2c2lnbm9yZSwgZGxscy9ycGNydDQvLmN2c2lnbm9yZSwKKwkgIGRsbHMvcnNhYmFzZS8uY3ZzaWdub3JlLCBkbGxzL3JzYWVuaC8uY3ZzaWdub3JlLAorCSAgZGxscy9zZWN1cjMyLy5jdnNpZ25vcmUsIGRsbHMvc2Vuc2FwaS8uY3ZzaWdub3JlLAorCSAgZGxscy9zZXJpYWx1aS8uY3ZzaWdub3JlLCBkbGxzL3NldHVwYXBpLy5jdnNpZ25vcmUsCisJICBkbGxzL3NoZG9jdncvLmN2c2lnbm9yZSwgZGxscy9zaGVsbDMyLy5jdnNpZ25vcmUsCisJICBkbGxzL3NoZm9sZGVyLy5jdnNpZ25vcmUsIGRsbHMvc2hsd2FwaS8uY3ZzaWdub3JlLAorCSAgZGxscy9zbm1wYXBpLy5jdnNpZ25vcmUsIGRsbHMvc3RpLy5jdnNpZ25vcmUsIGRsbHMvdGFwaTMyLy5jdnNpZ25vcmUsCisJICBkbGxzL3R3YWluLy5jdnNpZ25vcmUsIGRsbHMvdW5pY293cy8uY3ZzaWdub3JlLCBkbGxzL3VybC8uY3ZzaWdub3JlLAorCSAgZGxscy91cmxtb24vLmN2c2lnbm9yZSwgZGxscy91c2VyLy5jdnNpZ25vcmUsCisJICBkbGxzL3V4dGhlbWUvLmN2c2lnbm9yZSwgZGxscy92ZG1kYmcvLmN2c2lnbm9yZSwKKwkgIGRsbHMvdmVyc2lvbi8uY3ZzaWdub3JlLCBkbGxzL3dpbjMycy8uY3ZzaWdub3JlLAorCSAgZGxscy93aW5hc3BpLy5jdnNpZ25vcmUsIGRsbHMvd2luZWQzZC8uY3ZzaWdub3JlLAorCSAgZGxscy93aW5lZG9zLy5jdnNpZ25vcmUsIGRsbHMvd2luaW5ldC8uY3ZzaWdub3JlLAorCSAgZGxscy93aW5tbS8uY3ZzaWdub3JlLCBkbGxzL3dpbm5scy8uY3ZzaWdub3JlLAorCSAgZGxscy93aW5zb2NrLy5jdnNpZ25vcmUsIGRsbHMvd2luc3Bvb2wvLmN2c2lnbm9yZSwKKwkgIGRsbHMvd2ludGFiMzIvLmN2c2lnbm9yZSwgZGxscy93aW50cnVzdC8uY3ZzaWdub3JlLAorCSAgZGxscy93b3czMi8uY3ZzaWdub3JlLCBkbGxzL3dzb2NrMzIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvd3RzYXBpMzIvLmN2c2lnbm9yZToKKwlBZGRlZCBydWxlcyB0byBidWlsZCBpbXBvcnQgbGlicmFyaWVzIGluIHRoZSBpbmRpdmlkdWFsIGRsbCBtYWtlZmlsZXMuCisJR2VuZXJhdGUgaW1wb3J0IGxpYnJhcmllcyB3aXRoIHRoZSByaWdodCBuYW1lIHJpZ2h0IGF3YXkgaW5zdGVhZCBvZgorCXVzaW5nIGFuIGludGVybWVkaWF0ZSAuc3BlYy5kZWYgZmlsZS4KKworCSogZGxscy94MTFkcnYva2V5Ym9hcmQuYzogUm9iZXJ0IEx1bm5vbiA8Ym9ibEBvcHR1c2hvbWUuY29tLmF1PgorCUF2b2lkIHBhc3NpbmcgTlVMTCBidWZmZXIgZWxlbWVudHMgYW5kIHN0YXR1cyBwb2ludGVycyB0bworCVhtYkxvb2t1cFN0cmluZy4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jOiBSb2JlcnQgTHVubm9uIDxib2JsQG9wdHVzaG9tZS5jb20uYXU+CisJQWRkZWQgYSBjb25kaXRpb25hbGx5IGNvbXBpbGVkIGRlZmluaXRpb24gb2YgSU5BRERSX05PTkUgZm9yIHBsYXRmb3JtcworCXRoYXQgZG9uJ3QgZGVmaW5lIGl0LgorCisJKiBkbGxzL2RkcmF3L2RkcmF3L3VzZXIuYzogTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwknMCcgbWVhbnMgJ2RlZmF1bHQgcmVmcmVzaCByYXRlJyBhbmQgbm90IGEgcmVhbCByZWZyZXNoIHJhdGUgb2YgJzAnLgorCisJKiBkbGxzL3dpbm1tL3dpbmVhdWRpb2lvL2F1ZGlvLmM6IFJvYmVydCBMdW5ub24gPGJvYmxAb3B0dXNob21lLmNvbS5hdT4KKwlGaXggc2VnbWVudGF0aW9uIGZhdWx0IGNhdXNlZCBieSBpbmNvcnJlY3QgcmVmZXJlbmNpbmcgb2YgY2xpZW50IGF1ZGlvCisJZm9ybWF0IHNwZWNpZmljYXRpb25zIGFycmF5LgorCisJKiBkbGxzL3NoZWxsMzIvcmVnc3ZyLmMsIGRsbHMvc2hlbGwzMi9zaGZsZHJfdW5peGZzLmM6CisJTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCU1ha2UgdGhlIHJvb3Qgb2YgdGhlIHNoZWxsIGV4dGVuc2lvbiBtYXAgdG8gdGhlIHJvb3Qgb2YgdGhlIHVuaXgKKwlmaWxlc3lzdGVtLgorCisJKiBkbGxzL250ZGxsL2ZpbGUuYzogUm9iZXJ0IEx1bm5vbiA8Ym9ibEBvcHR1c2hvbWUuY29tLmF1PgorCUltcGxlbWVudCBOdFF1ZXJ5Vm9sdW1lSW5mb3JtYXRpb24gZm9yIFNvbGFyaXMuCisKKwkqIHNlcnZlci9tYWlsc2xvdC5jOiBSb2JlcnQgTHVubm9uIDxib2JsQG9wdHVzaG9tZS5jb20uYXU+CisJSW5jbHVkZSA8c3lzL2ZpbGlvLmg+IG9uIHBsYXRmb3JtcyB0aGF0IHN1cHBvcnQgaXQuCisKKwkqIHByb2dyYW1zL25vdGVwYWQvZGlhbG9nLmM6IEtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUhhbmRsZSBub3RlcGFkIGxvZyBmZWF0dXJlLgorCisJKiBwcm9ncmFtcy9ub3RlcGFkL0VuLnJjLCBwcm9ncmFtcy9ub3RlcGFkL3JzcmMucmM6CisJS2V2aW4gS29sdHphdSA8a2V2aW5AcGxvcC5vcmc+CisJQWRkIGEgZmV3IG1pc3NpbmcgYWNjZWxlcmF0b3JzLgorCisJKiBkbGxzL21zaS9yZWNvcmQuYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgYSBtaXNzaW5nIG1zaW9ial9yZWxlYXNlIHRoYXQgd2FzIHJlc3VsdGluZyBpbiBhIGxlYWtlZCBvYmplY3QKKwl3aXRoIGVhY2ggTXNpQ3JlYXRlUmVjb3JkIGNhbGwuCisKKwkqIGRsbHMvbXNpL3Rlc3RzL2RiLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJQ29ycmVjdCBhIG1pc3NpbmcgTXNpQ2xvc2VIYW5kbGUoKS4KKworCSogZGxscy9xdWFydHovZW51bW1lZGlhLmM6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtLmIubGFua2hvcnN0QGdtYWlsLmNvbT4KKwlGaXhlZCB0d28gc21hbGwgbWVtb3J5IGxlYWtzLgorCisJKiBkbGxzL29sZTMyL3Rlc3RzL3N0Z19wcm9wLmM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJTWFrZSBvbGUzMiB0ZXN0cyBsb2FkYWJsZSBvbiBOVDQuCisKKzIwMDUtMDUtMDYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvd2luZXBzLy5jdnNpZ25vcmUsIGRsbHMvd2luZXBzL01ha2VmaWxlLmluLAorCSAgZGxscy93aW5lcHMvd2luZXBzLmRydi5zcGVjLCBkbGxzL3dpbmVwcy93aW5lcHMuc3BlYywKKwkgIGRsbHMvd2luc3Bvb2wvaW5mby5jOgorCVJlbmFtZWQgd2luZXBzLmRsbCB0byB3aW5lcHMuZHJ2IGZvciBjb25zaXN0ZW5jeS4KKworCSogZGxscy93aW5lcHMvZHJpdmVyLmMsIGRsbHMvd2luZXBzL2luaXQuYywgZGxscy93aW5lcHMvcHNkcnYuaDoKKwlTdG9yZSB0aGUgbW9kdWxlIGluc3RhbmNlIHdlIGdldCBpbiBEbGxNYWluIHRvIGF2b2lkIGV4dHJhIExvYWRMaWJyYXJ5CisJY2FsbHMuCisKKwkqIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvZDNkOC9kM2Q4X21haW4uYywgZGxscy9kM2Q5L2QzZDlfbWFpbi5jLAorCSAgZGxscy9kZHJhdy9tYWluLmMsIGRsbHMvZ2RpL2RyaXZlci5jLCBkbGxzL2ltbTMyL2ltbS5jLAorCSAgZGxscy9tYWtlX2RsbHMsIGRsbHMvb3BlbmdsMzIvd2dsLmMsIGRsbHMvdHR5ZHJ2Ly5jdnNpZ25vcmUsCisJICBkbGxzL3R0eWRydi9NYWtlZmlsZS5pbiwgZGxscy90dHlkcnYvdHR5ZHJ2LnNwZWMsCisJICBkbGxzL3R0eWRydi93aW5ldHR5LmRydi5zcGVjLCBkbGxzL3VzZXIvdXNlcl9tYWluLmMsCisJICBkbGxzL3dpbmVkM2Qvd2luZWQzZF9tYWluLmMsIGRsbHMvd2ludGFiMzIvd2ludGFiMzIuYywKKwkgIGRsbHMveDExZHJ2Ly5jdnNpZ25vcmUsIGRsbHMveDExZHJ2L01ha2VmaWxlLmluLAorCSAgZGxscy94MTFkcnYvd2luZXgxMS5kcnYuc3BlYywgZGxscy94MTFkcnYveDExZHJ2LnNwZWMsCisJICBkb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnOgorCVJlbmFtZWQgdHR5ZHJ2IGFuZCB4MTFkcnYgdG8gd2luZXR0eS5kcnYgYW5kIHdpbmV4MTEuZHJ2IHJlc3BlY3RpdmVseQorCXRvIGZvbGxvdyB0aGUgbmFtZXNwYWNlIGNvbnZlbnRpb25zIGFuZCBtYWtlIGl0IGNsZWFyIHRoYXQgdGhleSBhcmUKKwlkcml2ZXJzIGFuZCBub3QgZGxscy4KKwlNb3ZlZCB0aGUgZ3JhcGhpY3MgZHJpdmVyIGNvbmZpZ3VyYXRpb24gdG8gSEtMTVxTb2Z0d2FyZVxXaW5lXERyaXZlcnMuCisKKwkqIHRvb2xzL3dpbmVkdW1wL291dHB1dC5jOgorCVJlbW92ZWQgYSBidW5jaCBvZiBvYnNvbGV0ZSBtYWtlZmlsZSBoYWNraW5nIHNlZCBjb2RlLgorCisJKiBkbGxzL2Rzb3VuZC9kc291bmQuYywgZGxscy9kc291bmQvdGVzdHMvZHNvdW5kLmMsCisJICBkbGxzL2Rzb3VuZC90ZXN0cy9kc291bmQ4LmM6CisJUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlNb3ZlIGluaXRpYWxpemF0aW9uIHRvIElEaXJlY3RTb3VuZF9Jbml0aWFsaXplLgorCUZpeCBlcnJvciBwYXRocyB0byBoYW5kbGUgYSBmYWlsZWQgSURpcmVjdFNvdW5kX0luaXRpYWxpemUuCisJQWRkIHRlc3RzIGZvciBJRGlyZWN0U291bmRfSW5pdGlhbGl6ZS4KKworCSogZGxscy9zaGVsbDMyL2Jyc2ZvbGRlci5jOiBNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJUmV0dXJuIGEgY2xvbmVkIFBJREwgYnkgU0hCcm93c2VGb3JGb2xkZXIgdG8gYXZvaWQgaGVhcCBjb3JydXB0aW9uLgorCisJKiBkbGxzL3NoZWxsMzIvZm9sZGVycy5jOiBNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJRGlzcGxheSBhIGRyaXZlIGljb24gZm9yIHRoZSB1bml4IHJvb3QgZGlyZWN0b3J5LgorCisJKiBkbGxzL3dpbm1tL3RpbWUuYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlDaGFuZ2UgRklYTUUgdG8gV0FSTi4KKworCSogZGxscy9jcnRkbGwvY3J0ZGxsX21haW4uYywgZGxscy9kYmdoZWxwL2VsZl9tb2R1bGUuYywKKwkgIGRsbHMvZGJnaGVscC9zdGFicy5jLCBkbGxzL2dkaS9mcmVldHlwZS5jLCBkbGxzL2tlcm5lbC9jb21tLmMsCisJICBkbGxzL2tlcm5lbC9rZXJuZWxfbWFpbi5jLCBkbGxzL2tlcm5lbC9vbGRjb25maWcuYywKKwkgIGRsbHMva2VybmVsL3Z4ZC5jLCBkbGxzL21zYWNtL3dpbmVtcDMvY29tbW9uLmMsIGRsbHMvbnRkbGwvY2Ryb20uYywKKwkgIGRsbHMvbnRkbGwvZGlyZWN0b3J5LmMsIGRsbHMvbnRkbGwvcGF0aC5jLCBkbGxzL250ZGxsL3NlcnZlci5jLAorCSAgZGxscy9zaGVsbDMyL3NoZmxkcl91bml4ZnMuYywgZGxscy93aW5hc3BpL3dpbmFzcGkxNi5jLAorCSAgZGxscy93aW5hc3BpL3dpbmFzcGkzMi5jLCBkbGxzL3dpbmVkb3MvaW50MjEuYywKKwkgIGRsbHMvd2luZWRvcy9tb2R1bGUuYywgZGxscy93aW5lZG9zL3BwZGV2LmMsIGRsbHMvd2luZWRvcy92eGQuYywKKwkgIGRsbHMvd2luc29jay9zb2NrZXQuYywgbG9hZGVyL3ByZWxvYWRlci5jLCB0b29scy93aW5hcGkvbmF0aXZlYXBpLnBtLAorCSAgdG9vbHMvd2luYXBpL3dpbmFwaV9jaGVjazoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXggbmF0aXZlYXBpLnBtIHNvIGl0IGtub3dzIGFib3V0IEFDX0hFQURFUl9TVEFUKCkuCisJTWFrZSB0aGUgZXJyb3IgbWVzc2FnZSBhYm91dCB1bmV4cGVjdGVkICcjaWZkZWYgSEFWRV9YWFgnIGNsZWFyZXIuCisJUHJvdGVjdCBzeXMvc3RhdC5oICNpbmNsdWRlcyB3aXRoIHRoZSBjb3JyZXNwb25kaW5nICcjaWZkZWYgSEFWRV9YWFgnCisJY2hlY2suCisKKwkqIGRsbHMvTWFrZWRsbC5ydWxlcy5pbiwgcHJvZ3JhbXMvTWFrZXByb2cucnVsZXMuaW4sCisJICB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL21haW4uYywgdG9vbHMvd2luZWJ1aWxkL3V0aWxzLmMsCisJICB0b29scy93aW5lYnVpbGQvd2luZWJ1aWxkLm1hbi5pbjoKKwlBZGRlZCBzdXBwb3J0IGluIHdpbmVidWlsZCBmb3Igc3BlY2lmeWluZyBpbXBvcnQgbGlicmFyaWVzIGRpcmVjdGx5IG9uCisJdGhlIGNvbW1hbmQgbGluZSB3aXRob3V0IHRoZSAtbCBvcHRpb24uCisJQ2hhbmdlZCB0aGUgLWQgb3B0aW9uIHRvIG9ubHkgbWFyayB0aGUgbGlicmFyeSBhcyBkZWxheWVkLCB0aGUgYWN0dWFsCisJbG9hZGluZyBpcyBub3cgZG9uZSBzZXBhcmF0ZWx5LgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMydW5kb2MuYywgZGxscy9jb21jdGwzMi9ob3RrZXkuYywKKwkgIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmMsIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYywKKwkgIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jLCBkbGxzL2Rzb3VuZC9idWZmZXIuYywgZGxscy9kc291bmQvcHJpbWFyeS5jLAorCSAgZGxscy9nZGkvYml0Ymx0LmMsIGRsbHMvZ2RpL3BhbGV0dGUuYywgZGxscy9rZXJuZWwvcHJvZmlsZS5jLAorCSAgZGxscy9rZXJuZWwvdGVzdHMvZmlsZS5jLCBkbGxzL2tlcm5lbC92b2x1bWUuYywKKwkgIGRsbHMva2VybmVsL3dvd3RodW5rLmMsIGRsbHMvbnRkbGwvcnRsc3RyLmMsIGRsbHMvb2RiYzMyL3Byb3h5b2RiYy5jLAorCSAgZGxscy9vcGVuZ2wzMi93Z2xfZXh0LmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX0VuLnJjLAorCSAgZGxscy9zaGVsbDMyL3NobGZpbGVvcC5jLCBkbGxzL3NoZWxsMzIvdGVzdHMvc2hsZmlsZW9wLmMsCisJICBkbGxzL3NobHdhcGkvcmVnLmMsIGRsbHMvd2luc3Bvb2wvaW5mby5jLCBkbGxzL3gxMWRydi9wYWxldHRlLmMsCisJICBkb2N1bWVudGF0aW9uL2NvbmZpZ3VyaW5nLnNnbWwsIGRvY3VtZW50YXRpb24vZGVidWdnaW5nLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL29wZW5nbC5zZ21sLCBkb2N1bWVudGF0aW9uL3dpbmVkZXYtY29kaW5nLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL3dpbmVkZXYtb3RoZXJkZWJ1Zy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi93aW5lbGliLW1mYy5zZ21sLCBwcm9ncmFtcy9ub3RlcGFkL0VuLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGUuYywgdG9vbHMvd2luZWdjYy91dGlscy5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFzc29ydGVkIHNwZWxsaW5nIGZpeGVzLgorCisJKiBkbGxzL3NldHVwYXBpL21pc2MuYywgZGxscy9zZXR1cGFwaS9zZXR1cGFwaS5zcGVjLAorCSAgaW5jbHVkZS9zZXR1cGFwaS5oLCBpbmNsdWRlL3dpbm50Lmg6CisJRXJpYyBLb2hsIDxlcmljLmtvaGxfYXRfdC1vbmxpbmUuZGU+CisJSW1wbGVtZW50IENhcHR1cmVBbmRDb252ZXJ0QW5zaUFyZywgQ2FwdHVyZVN0cmluZ0FyZywKKwlPcGVuQW5kTWFwRm9yUmVhZCwgUmV0cmVpdmVGaWxlU2VjdXJpdHksIFN0YW1wRmlsZVNlY3VyaXR5LAorCVRha2VPd25lcnNoaXBPZkZpbGUsIGFuZCBVbm1hcEFuZENsb3NlRmlsZS4KKworCSogZGxscy9xdWFydHovZmlsdGVyZ3JhcGguYywgZGxscy9xdWFydHovcGluLmM6CisJTWFhcnRlbiBMYW5raG9yc3QgPG0uYi5sYW5raG9yc3RAZ21haWwuY29tPgorCUZpeGVkIGEgZG96ZW4gb2YgcmVmZXJlbmNlIChhbmQgc29tZSBtZW1vcnkpIGxlYWtzLgorCUltcGxlbWVudGVkIGZpbHRlcmdyYXBoX3BhdXNlL3N0b3AuCisKKwkqIGRsbHMvcXVhcnR6L2VudW1tZWRpYS5jLCBkbGxzL3F1YXJ0ei9xdWFydHpfcHJpdmF0ZS5oOgorCU1hYXJ0ZW4gTGFua2hvcnN0IDxtLmIubGFua2hvcnN0QGdtYWlsLmNvbT4KKwlGaXhlZCB7Q29weS9EZWxldGUvRnJlZX1NZWRpYVR5cGUgZnVuY3Rpb25zIHRvIHNob3cgcHJvcGVyIGJlaGF2aW91ci4KKwlGaXhlZCBFbnVtTWVkaWFUeXBlcyB0byBjb3B5IHBiRm9ybWF0IHRvby4KKwlBZGRlZCBGcmVlTWVkaWFUeXBlLgorCisJKiB0b29scy93aW5hcGkvd2luYXBpX2NoZWNrOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlIQVZFX1Y0TDIgaXMgbm90IGFuIGF1dG9jb25mIGRlZmluZSBzbyB0ZWxsIHdpbmFwaV9jaGVjayBub3QgdG8KKwljb21wbGFpbiBjb21wbGFpbiBhYm91dCBpdC4KKworCSogZGxscy9ycGNydDQvcnBjc3NfbnBfY2xpZW50LmM6IEhhcnRtdXQgQmlyciA8aGFydG11dC5iaXJyQGdteC5kZT4KKwlDbGVhbiB1cCBpZiBuYW1lZCBwaXBlIGlzIG5vdCBhdmFpbGFibGUuCisKKwkqIGRsbHMvbXNpL3JlZ2lzdHJ5LmMsIGRsbHMveDExZHJ2L29wZW5nbC5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVR3ZWFrIHRoZSBkb2N1bWVudGF0aW9uIHRvIG1ha2Ugd2luYXBpX2NoZWNrIGhhcHB5LgorCisJKiBkbGxzL3VybG1vbi91cmxtb25fbWFpbi5jLCBpbmNsdWRlL3VybG1vbi5pZGwsCisJICB0b29scy93aW5hcGkvd2luMzIuYXBpOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVVwZGF0ZSB3aW4zMi5hcGkgdG8gbWF0Y2ggdGhlIGN1cnJlbnQgc291cmNlcy4KKwlEZWNsYXJlIENvR2V0Q2xhc3NPYmplY3RGcm9tVVJMKCkgaW4gdXJsbW9uLmguCisKKwkqIGRsbHMvb2xlMzIvb2xlMzIuc3BlYywgZGxscy9vbGUzMi9zdG9yYWdlMzIuYzoKKwlNYXR0aGV3IE1hc3RyYWNjaSA8bWF0dEBhY2xhcm8uY29tPgorCVJlcGxhY2Ugc3R1YiBlbnRyeSBmb3IgU3RnT3BlblN0b3JhZ2VFeCB3aXRoIGNhbGwgdG8gU3RnT3BlblN0b3JhZ2UuCisKKzIwMDUtMDUtMDUgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHNlcnZlci9yZWdpc3RyeS5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBGaXggYWNjZXNzIHJpZ2h0cyBmb3IgUmVnT3BlbktleUV4IGFuZCBSZWdDcmVhdGVLZXlFeCBjYWxscy4KKwktIEFkZCBwcml2aWxlZ2UgY2hlY2tzIGZvciBSZWdMb2FkS2V5LCBSZWdVbmxvYWRLZXkgJiBSZWdTYXZlS2V5CisJICBjYWxscy4KKworCSogZGxscy91c2VyL3BhaW50aW5nLmM6CisJRG9uJ3QgcmV0cmlldmUgYSB3aW5kb3cgREMgaW4gR2V0VXBkYXRlUmVjdCBpZiB0aGVyZSBpcyBub3RoaW5nIHRvCisJZXJhc2UsIHRvIGF2b2lkIHNldHRpbmcgYSBudWxsIHVwZGF0ZSByZWdpb24gaW4gYW4gb3duZWQgREMuCisJQXZvaWQgcG90ZW50aWFsIGRvdWJsZSBkZWxldGUgb2YgdGhlIHVwZGF0ZSByZWdpb24gb24gcmV0dXJuIGZyb20KKwlzZW5kX2VyYXNlLgorCisJKiBkbGxzL21zdmNydC9maWxlLmM6IDx3aW5lLmxhcnJ5LmVuZ2hvbG1AeG94eS5uZXQ+CisJUmV0dXJuIEVOT0VOVCByYXRoZXIgdGhhbiBFQkFERiBmcm9tIE1TVkNSVF9mb3BlbigpIHdoZW4gZmlsZSBkb2Vzbid0CisJZXhpc3QuCisKKwkqIGRsbHMvYWR2YXBpMzIvcmVnaXN0cnkuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUZpeCBSZWdEZWxldGVLZXl7QSxXfSB0byBvcGVuIHRoZSBzcGVjaWZpZWQga2V5IHdpdGggdGhlIERFTEVURSBhY2Nlc3MKKwlyaWdodC4KKworCSogdG9vbHMvd2luZWdjYy93aW5lZ2NjLmM6CisJb3V0cHV0X25hbWUgYWxyZWFkeSBjb250YWlucyAuZXhlIGV4dGVuc2lvbiwgZG9uJ3QgYWRkIGl0IGFnYWluIGZvciAtRgorCW9wdGlvbi4KKworCSogZGxscy9vbGUzMi9zdG9yYWdlMzIuYywgaW5jbHVkZS9vYmpiYXNlLmg6CisJTWF0dGhldyBNYXN0cmFjY2kgPG1tYXN0cmFjQGNhbmFkYS5jb20+CisJUmVwbGFjZSBTdGdDcmVhdGVTdG9yYWdlRXggc3R1YiB3aXRoIGNhbGwgdG8gU3RnQ3JlYXRlRG9jZmlsZSBhbmQgYWRkCisJcmVxdWlyZWQgU1RHRk1UXyogZW51bWVyYXRpb25zLgorCisJKiBkbGxzL2dkaS9iaXRibHQuYzogUmVpbiBLbGF6ZXMgPHdpam5Ad2FuYWRvby5ubD4KKwlJbiBNYXNrQmx0IGRlbGV0ZSBjb3JyZWN0IGJpdG1hcC4KKworCSogZGxscy91c2VyL3dpbnByb2MuYywgaW5jbHVkZS93aW5lL3dpbnVzZXIxNi5oOgorCVJlaW4gS2xhemVzIDx3aWpuQHdhbmFkb28ubmw+CisJQWRkIDE2PC0+MzIgYml0IG1lc3NhZ2UgbWFwcGluZ3MgZm9yIFdNX0NPUFlEQVRBIG1lc3NhZ2VzLgorCisJKiBkbGxzL3dpbmVkb3MvbW9kdWxlLmM6IFJlaW4gS2xhemVzIDx3aWpuQHdhbmFkb28ubmw+CisJLSBJbiBNWl9Eb0xvYWRJbWFnZSBpZiBhbiBlbnZpcm9ubWVudCBzZWdtZW50IGlzIHNwZWNpZmllZCBpbiB0aGUKKwkgIHBhcmFtZXRlciBibG9jaywgdXNlIHRoYXQgYW5kIGRvIG5vdCBpbmhlcml0IGZyb20gdGhlIGNhbGxpbmcKKwkgIHByb2Nlc3MuCisJLSBDYWxsIEZyZWVFbnZpcm9ubWVudFN0cmluZ3Mgd2hlbiB0aGUgc3RyaW5ncyBhcmUgbm8gbG9uZ2VyIHVzZWQuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGZsZHJfZnMuYzogTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCUZpeGVkIEdldERpc3BsYXlOYW1lT2YgbWV0aG9kIHRvIG5vdCBkZXBlbmQgb24gaW5jb3JyZWN0IGJlaGF2aW91cgorCXJlZ2FyZGluZyB0aGUgU0hHRE5fSU5GT0xERVIgZmxhZy4KKworCSogZGxscy9zaGVsbDMyL3NoZmxkcl9teWNvbXAuYzoKKwlNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJRml4ZWQgTXlDb21wdXRlcidzIEdldERpc3BsYXlOYW1lT2YgbWV0aG9kLgorCisJKiBkbGxzL2RpbnB1dC9tb3VzZS5jOiBMaW9uZWwgVWxtZXIgPGxpb25lbC51bG1lckBmcmVlLmZyPgorCS0gZG8gbm90IGZsdXNoIHRoZSBidWZmZXIgd2hlbiB0aGUgYXBwbGljYXRpb24gb25seSB3YW50cyB0byBwZWVrIHRoZQorCSAgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBxdWV1ZQorCS0gdHJhY2UgdGhlIEdldERldmljZVN0YXRlIHZhbHVlcyBiZWZvcmUgdGhleSBhcmUgcmVzZXQKKworCSogZGxscy91cmxtb24vdXJsbW9uLnNwZWMsIGRsbHMvdXJsbW9uL3VybG1vbl9tYWluLmM6CisJQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUFkZGVkIHN0dWIgaW1wbGVtZW50YXRpb24gZm9yIENvR2V0Q2xhc3NPYmplY3RGcm9tVVJMLgorCisJKiBkbGxzL3VybG1vbi91bW9uLmM6IFRyb3kgUm9sbG8gPHdpbmVAdHJveS5yb2xsby5uYW1lPgorCUNvcnJlY3QgYnVnIHRydW5jYXRpbmcgZG93bmxvYWRlZCBmaWxlcyB0byA0MDk2IGJ5dGVzLgorCisJKiBkbGxzL3F1YXJ0ei9maWx0ZXJncmFwaC5jLCBkbGxzL3F1YXJ0ei9tYWluLmMsCisJICBkbGxzL3F1YXJ0ei9xdWFydHpfcHJpdmF0ZS5oLCBkbGxzL3F1YXJ0ei9yZWdzdnIuYzoKKwlDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJRm9yd2FyZCBDTFNJRF9GaWx0ZXJHcmFwaE5vVGhyZWFkIHRvIENMU0lEX0ZpbHRlckdyYXBoLgorCisJKiBkbGxzL2RiZ2hlbHAvZWxmX21vZHVsZS5jOiBFbW1hbnVlbCBNYWlsbGFyZCA8ZS5yc3pAbGliZXJ0eXN1cmYuZnI+CisJRml4IGNvbXBpbGUgb24gbm9uLUVMRiBob3N0LgorCisJKiBkbGxzL2RpbnB1dC9kZXZpY2UuYzogTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwktIG1vcmUgcHJldHR5IHByaW50IGZvciB0aGUgdHlwZXMgZmxhZworCS0gbW9yZSBXaW5kb3dzLWFsaWduZWQgY2hlY2sgZm9yIG9iamVjdCBpbnN0YW5jZXMKKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlJbml0aWFsaXplIGlvc2IuCisKKwkqIGRsbHMvbnRkbGwvdmVyc2lvbi5jOiBJdmFuIExlbyBQdW90aSA8aXZhbmxlb0BnbWFpbC5jb20+CisJU2V0IHdpbjJrMyBzZXJ2aWNlIHBhY2sgbnVtYmVyIHRvIDEuCisKKwkqIGRsbHMvbnRkbGwvc2lnbmFsX3Bvd2VycGMuYzogRW1tYW51ZWwgTWFpbGxhcmQgPGUucnN6QGxpYmVydHlzdXJmLmZyPgorCS0gRml4IE5URExMX3dhaXRfZm9yX211bHRpcGxlX29iamVjdHMgY2FsbCBpbiB1c3IxX2hhbmRsZXIuCisJLSBGaXggYW4gZXJyb3IgZHVlIHRvICJpbnZhbGlkIGx2YWx1ZSBpbiBhc3NpZ25tZW50IiB3aXRoIGdjYyA0IG9uCisJICBEYXJ3aW4gOC4wLgorCisyMDA1LTA1LTA0ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB0b29scy93aW5hcGkvY29uZmlnLnBtLCB0b29scy93aW5hcGkvbWFrZV9wYXJzZXIucG0sCisJICB0b29scy93aW5hcGkvbW9kdWxlcy5wbSwgdG9vbHMvd2luYXBpL25hdGl2ZWFwaS5wbSwKKwkgIHRvb2xzL3dpbmFwaS9zZXR1cC5wbSwgdG9vbHMvd2luYXBpL3dpbmFwaV9leHRyYWN0LAorCSAgdG9vbHMvd2luYXBpL3dpbmFwaV9maXh1cCwgdG9vbHMvd2luYXBpL3dpbmFwaV90ZXN0OgorCUdldCByaWQgb2YgdGhlIHdpbmFwaV9jaGVja19kaXIgY29uZmlnIHBhcmFtZXRlci4KKworCSogZGxscy9jb21jdGwzMi9jb21ib2V4LmM6CisJRmVsaXggTmF3b3RobmlnIDxmZWxpeC5uYXdvdGhuaWdAdC1vbmxpbmUuZGU+CisJU2V0IGlJdGVtIHRvIGluZGV4IGJlZm9yZSBub3RpZnlpbmcgY2FsbGJhY2sgaXRlbXMuCisKKwkqIGRsbHMvbXNpL3BhY2thZ2UuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJU2V0IFBoeXNpY2FsTWVtb3J5IHByb3BlcnR5IGZyb20gc3lzdGVtIGRhdGEuCisKKwkqIGRsbHMvdXJsbW9uL01ha2VmaWxlLmluLCBkbGxzL3VybG1vbi91bW9uLmMsIGRsbHMvdXJsbW9uL3Vtc3RyZWFtLmMsCisJICBkbGxzL3VybG1vbi91cmxtb25fbWFpbi5oOgorCVRyb3kgUm9sbG8gPHdpbmVAdHJveS5yb2xsby5uYW1lPgorCUltcGxlbWVudCBVUkxNb25pa2VySW1wbF9CaW5kVG9TdG9yYWdlLgorCisJKiBkbGxzL3dpbmluZXQvdXJsY2FjaGUuYzogVHJveSBSb2xsbyA8d2luZUB0cm95LnJvbGxvLm5hbWU+CisJQ3JlYXRlIFVSTCBDYWNoZSBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LgorCisJKiBNYWtlLnJ1bGVzLmluLCB0b29scy9NYWtlZmlsZS5pbiwgdG9vbHMvd2luYXBpL21vZHVsZXMucG0sCisJICB0b29scy93aW5hcGkvbmF0aXZlYXBpLmRhdCwgdG9vbHMvd2luYXBpL25hdGl2ZWFwaS5wbSwKKwkgIHRvb2xzL3dpbmFwaS9wcmVwcm9jZXNzb3IucG0sIHRvb2xzL3dpbmFwaS9zZXR1cC5wbSwKKwkgIHRvb2xzL3dpbmFwaS93aW5hcGlfY19wYXJzZXIucG0sIHRvb2xzL3dpbmFwaS93aW5hcGlfY2hlY2ssCisJICB0b29scy93aW5hcGkvd2luYXBpX2RvY3VtZW50YXRpb24ucG0sCisJICB0b29scy93aW5hcGkvd2luYXBpX2Z1bmN0aW9uLnBtLCB0b29scy93aW5hcGkvd2luYXBpX2dsb2JhbC5wbSwKKwkgIHRvb2xzL3dpbmFwaS93aW5hcGlfbG9jYWwucG0sIHRvb2xzL3dpbmFwaS93aW5hcGlfcGFyc2VyLnBtOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCU1vdmUgYWxsIGZpbGVzIGZyb20gd2luYXBpX2NoZWNrLyB0byB3aW5hcGkvLCBhbmQgcmVtb3ZlIHJlZmVyZW5jZXMgdG8KKwl3aW5hcGlfY2hlY2sgZGlyZWN0b3J5LiAgTWVyZ2Ugd2luYXBpX2NoZWNrIHByb2dyYW1zLgorCisJKiBkbGxzL21zaS9tc2lfRnIucmMsIGRsbHMvb2xlYXV0MzIvb2xlYXV0MzJfRnIucmMsCisJICBkbGxzL29sZWRsZy9vbGVkbGdfRnIucmMsIGRsbHMvc2hkb2N2dy9Gci5yYywgcHJvZ3JhbXMvdGFza21nci9Gci5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvRnIucmM6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVVzZSBTVUJMQU5HX05FVVRSQUwgZm9yIEZyZW5jaCByZXNvdXJjZXMuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvQ3MucmMsIHByb2dyYW1zL3dpbmVjZmcvRGUucmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjLCBwcm9ncmFtcy93aW5lY2ZnL0VzLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9Gci5yYywgcHJvZ3JhbXMvd2luZWNmZy9JdC5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvTmwucmMsIHByb2dyYW1zL3dpbmVjZmcvUHQucmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL1J1LnJjLCBwcm9ncmFtcy93aW5lY2ZnL1NpLnJjOgorCUphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUVubGFyZ2UgdGhlIGxpY2Vuc2UgdGV4dCBjb250cm9sIGxlbmd0aC4KKworCSogZGxscy9zaGVsbDMyL2Jyc2ZvbGRlci5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJUmVtb3ZlIHN0YXRpYyB2YXJpYWJsZXMgaW4gU0hCcm93c2VGb3JGb2xkZXIgaW1wbGVtZW50YXRpb24uCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvZHJpdmUuYzogSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJUmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIHJlZ2lzdHJ5IGVudHJ5IHdoZW4gZGVsZXRpbmcgYSBkcml2ZS4KKworCSogcHJvZ3JhbXMvd2luZWNmZy9hcHBkZWZhdWx0cy5jOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlEb24ndCBhZGQgdGhlIHNhbWUgcHJvZ3JhbSBpbiBBcHBEZWZhdWx0cyBtb3JlIHRoYW4gb25jZS4KKworCSogZGxscy9zZXR1cGFwaS9zZXR1cGFwaS5zcGVjLCBkbGxzL3NldHVwYXBpL3N0dWJzLmM6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJU3R1YiBpbXBsZW1lbnRhdGlvbiBmb3IgU2V0dXBDb3B5T0VNSW5mVy4KKworCSogZGxscy9rZXJuZWwvdmVyc2lvbi5yYzogSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJQnVtcCB2ZXJzaW9uIG51bWJlciB0byBYUCBTUDIuCisKKwkqIHByb2dyYW1zL3dpbmVmaWxlL3dpbmVmaWxlLmM6IE1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJSW1wbGVtZW50IG93bmVyIGRyYXduIGNvbnRleHQgbWVudXMuCisKKwkqIGRsbHMvZHNvdW5kL3Byb3BzZXQuYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlTZXQgZHJpdmVyIHR5cGUgcHJvcGVybHkuCisKKwkqIGluY2x1ZGUvYXhleHRlbmQuaWRsOiBNYWFydGVuIExhbmtob3JzdCA8bS5iLmxhbmtob3JzdEBnbWFpbC5jb20+CisJQWRkZWQgSUFNVmlkZW9Qcm9jQW1wLgorCisJKiBkbGxzL2RpbnB1dC9tb3VzZS5jOiBKYW1lcyBEZWFuIEFuZGVyc29uIDxwZXRyQHBhbnRlay5vcmc+CisJUmVwb3J0IGFuIGVycm9yIGlmIHRyeWluZyB0byBnZXQgZGF0YSBmcm9tIGFuIHVuYWNxdWlyZWQgbW91c2UuCisKKwkqIGRsbHMvbnRkbGwvdGltZS5jOiBJdmFuIFdvbmcgPGVtYWlsQGl2YW53b25nLmluZm8+CisJQWRkZWQgSG9uZyBLb25nIFN0YW5kYXJkIFRpbWUgKEhLVCkuCisKKwkqIGRsbHMvdXNlci9lZGl0LmM6IFVscmljaCBDemVrYWxsYSA8dWxyaWNoQGNvZGV3ZWF2ZXJzLmNvbT4KKwlMZXQgdGhlIGRlZmF1bHQgd2lucHJvYyBoYW5kbGUgV01fTU9VU0VBQ1RJVkFURS4KKworMjAwNS0wNC0yOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9vcGVuZ2wzMi9NYWtlZmlsZS5pbiwgZGxscy9vcGVuZ2wzMi9tYWtlX29wZW5nbCwKKwkgIGRsbHMvb3BlbmdsMzIvb3BlbmdsX2V4dC5oLCBkbGxzL29wZW5nbDMyL29wZW5nbF9ub3JtLmMsCisJICBkbGxzL29wZW5nbDMyL3dnbC5jLCBkbGxzL29wZW5nbDMyL3dnbC5oLCBkbGxzL29wZW5nbDMyL3dnbF9leHQuYywKKwkgIGRsbHMvb3BlbmdsMzIvd2dsX2V4dC5oOgorCVJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCS0gaW1wbGVtZW50IHdnbEdldEN1cnJlbnRSZWFkRENBUkIsIHdnbE1ha2VDb250ZXh0Q3VycmVudEFSQiBvbgorCSAgb3BlbkdMMzIgKHdnbF9leHQpCisJLSBhZGQgY29kZSB0byBkaXNhYmxlIHNvbWUgb3BlbkdMIGV4dGVuc2lvbnMgc3VwcG9ydCB1c2luZyB3aW5lCisJICByZWdpc3RyeSBrZXkgSEtMTVxTb2Z0d2FyZVxXaW5lXE9wZW5HTFxEaXNhYmxlZEV4dGVuc2lvbnMgKGxpc3QKKwkgIHNlcGFyYXRlZCBieSBzcGFjZXMpCisJLSB2YWxpZC9yb2J1c3QgaW1wbGVtZW50YXRpb24gb2Ygd2dsQ2hvb3NlUGl4ZWxGb3JtYXRBUkIgYW5kCisJICB3Z2xHZXRQaXhlbEZvcm1hdEF0dHJpYml2QVJCICh3Z2xfZXh0KQorCisJKiBkbGxzL3gxMWRydi9vcGVuZ2wuYywgZGxscy94MTFkcnYveHJhbmRyLmM6CisJUmFwaGFlbCBKdW5xdWVpcmEgPGZlbml4QGNsdWItaW50ZXJuZXQuZnI+CisJLSB2YWxpZCBpbXBsZW1lbnRhdGlvbiBvZiBYMTFEUlZfQ2hvb3NlUGl4ZWxGb3JtYXQgdXNpbmcgR0xYMS4zIEFQSQorCSAgKGllLiB1c2luZyByZWFsIGNhcmQgY2FwcyBhbmQgbm90IHVnbHkgd2F5IHVzaW5nIHZpc3VhbHMgYXJyYXkpIHRvCisJICBiZSBjb21wYXRpYmxlIHdpdGggb3BlbmdsMzIgcGl4ZWwgZm9ybWF0cyAod2dsKlBpeGVsRm9ybWF0KiBBUElzKSBhcworCSAgdGhleSBuZWVkIHRvIGJlIHRoZSBzYW1lCisJLSBhZGQgbW9yZSB0cmFjZXMgdG8geHJhbmRyCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jLCBkbGxzL21zaS9tc2kuYywgZGxscy9tc2kvcmVnaXN0cnkuYzoKKwlBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUNvcnJlY3QgdXNlciBjb21wb25lbnQgcHVibGljYXRpb24uCisJSW1wbGVtZW50IE1zaUVudW1Db21wb25lbnRRdWFsaWZpZXJzLgorCisJKiBkbGxzL3dpbnNvY2svc29ja2V0LmM6IE1hcmN1cyBNZWlzc25lciA8bWVpc3NuZXJAc3VzZS5kZT4KKwlGaXhlZCBzdGFjayBvdmVyd3JpdGUgYnkgdXNpbmcgc2l6ZW9mKFdTX3NvY2thZGRyX2lweCkuCisKKwkqIGRsbHMvc2hlbGwzMi9icnNmb2xkZXIuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVNwbGl0IHVwIHRoZSB3aW5kb3cgcHJvY2VkdXJlLgorCisJKiBkbGxzL3VzZXIvaW5wdXQuYywgZGxscy91c2VyL21lc3NhZ2UuYywKKwkgIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3F1ZXVlLmMsCisJICBzZXJ2ZXIvcmVxdWVzdC5oLCBzZXJ2ZXIvdHJhY2UuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50ZWQgR2V0TGFzdElucHV0SW5mby4KKworCSogZGxscy93aW5lZDNkL2RpcmVjdHguYzogUmFwaGFlbCBKdW5xdWVpcmEgPGZlbml4QGNsdWItaW50ZXJuZXQuZnI+CisJLSBpbXBsZW1lbnQgbWVtb3J5IGFjY2VzcyBBUElzIHRvIFZlcnRleEJ1ZmZlcnMKKwktIG1vcmUgdmFsaWQgaW1wbGVtZW50YXRpb24gZm9yIElXaW5lRDNESW1wbF9DaGVjayogQVBJcyAobm90IG1vcmUKKwkgIFNfT0sgZm9yIGFsbCBjYXNlcykKKworCSogaW5jbHVkZS93aW5lL3VuaWNvZGUuaDogSmVmZiBMYXRpbWVyIDxqZWZmbEBkZWZjZW4uZ292LmF1PgorCURlZmluZSBzdHJuY3B5VyB0byBlbnN1cmUgdGhhdCB1c2VycyBrbm93IHdoeSBpdCBpcyBub3QgcHJlc2VudC4KKworCSogZGxscy9tc2kvbXNpLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IE1zaVF1ZXJ5RmVhdHVyZVN0YXRlVy4KKworMjAwNS0wNC0yNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy91c2VyL21pc2MuYywgZGxscy91c2VyL3VzZXJfbWFpbi5jLCB3aW5kb3dzL3VzZXIuYzoKKwlNb3ZlZCB0aGUgVVNFUiBzeXNsZXZlbCB0byBkbGxzL3VzZXIvdXNlcl9tYWluLmMuCisJTW92ZWQgYSBidW5jaCBvZiBzdHVicyB0byBkbGxzL3VzZXIvbWlzYy5jLgorCisJKiBkbGxzL2tlcm5lbC9kb3NtZW0uYywgZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywKKwkgIGRsbHMva2VybmVsL2tlcm5lbF9tYWluLmMsIGRsbHMvd2luZWRvcy9pbnQzMS5jLAorCSAgZGxscy93aW5lZG9zL21vZHVsZS5jLCBpbmNsdWRlL21pc2NlbXUuaDoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwktIGRlbGF5ZWQgaW5pdGlhbGlzYXRpb24gb2YgQklPUyBhbmQgU1lTVEVNIGluZm9ybWF0aW9uIHVudGlsIHNvbWVvbmUKKwkgIGFjdHVhbGx5IG5lZWRzIGl0CisJLSBub3cgdXNpbmcgc29tZSBtYW5pZmVzdCBjb25zdGFudHMgdG8gbWFrZSBjb2RlIGNsZWFyZXIKKworCSogZGxscy9kZXZlbnVtL01ha2VmaWxlLmluLCBkbGxzL2RldmVudW0vY3JlYXRlZGV2ZW51bS5jLAorCSAgZGxscy9kZXZlbnVtL2RldmVudW1fcHJpdmF0ZS5oOgorCU1hYXJ0ZW4gTGFua2hvcnN0IDxtLmIubGFua2hvcnN0QGdtYWlsLmNvbT4KKwlBZGRlZCB0aGUgdmlkZW8gaW5wdXQgZGV2aWNlIGNhdGVnb3J5LgorCisJKiBkbGxzL3VzZXIvY29tYm8uYywgZGxscy91c2VyL2N1cnNvcmljb24uYywgZGxscy91c2VyL2RlZnduZC5jLAorCSAgZGxscy91c2VyL2VkaXQuYywgZGxscy91c2VyL2hvb2suYywgZGxscy91c2VyL2hvb2sxNi5jLAorCSAgZGxscy91c2VyL2lucHV0LmMsIGRsbHMvdXNlci9saXN0Ym94LmMsIGRsbHMvdXNlci9tZGkuYywKKwkgIGRsbHMvdXNlci9tZXNzYWdlLmMsIGRsbHMvdXNlci9tZXNzYWdlLmgsIGRsbHMvdXNlci9tc2cxNi5jLAorCSAgZGxscy91c2VyL3Njcm9sbC5jLCBkbGxzL3VzZXIvc3B5LmMsIGRsbHMvdXNlci91c2VyX21haW4uYywKKwkgIGRsbHMvdXNlci91c2VyX3ByaXZhdGUuaCwgZGxscy91c2VyL3dpbi5jLCBkbGxzL3VzZXIvd2lucG9zLmMsCisJICBkbGxzL3VzZXIvd2lucHJvYy5jLCB3aW5kb3dzL3VzZXIuYzoKKwlNb3ZlZCByZW1haW5pbmcgbWVzc2FnaW5nIGRlZmluaXRpb25zIHRvIHVzZXJfcHJpdmF0ZS5oIGFuZCByZW1vdmVkCisJbWVzc2FnZS5oLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYywgZGxscy9tc2kvY3VzdG9tLmMsIGRsbHMvbXNpL2RpYWxvZy5jLAorCSAgZGxscy9tc2kvbXNpcHJpdi5oOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIHN1cmUgdGhhdCBkaWFsb2dzIGFyZSBvbmx5IGNyZWF0ZWQgYW5kIGRlc3Ryb3llZCBpbiBhIHNpbmdsZQorCXRocmVhZC4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvYXZpY2FwMzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL2F2aWNhcDMyL2F2aWNhcDMyX21haW4uYywgaW5jbHVkZS9jb25maWcuaC5pbjoKKwlNYWFydGVuIExhbmtob3JzdCA8bS5iLmxhbmtob3JzdEBnbWFpbC5jb20+CisJSW1wbGVtZW50ZWQgY2FwR2V0RHJpdmVyRGVzY3JpcHRpb24uCisKKwkqIGRsbHMvd2lubW0vbWNpYXZpL21jaWF2aS5jLCBkbGxzL3dpbm1tL21jaXNlcS9tY2ltaWRpLmMsCisJICBkbGxzL3dpbm1tL21jaXdhdmUvbWNpd2F2ZS5jLCBkbGxzL3dpbm1tL21tc3lzdGVtLmMsCisJICBkbGxzL3dpbm1tL3BsYXlzb3VuZC5jLCBkbGxzL3dpbm1tL3dpbmVhbHNhL2F1ZGlvLmMsCisJICBkbGxzL3dpbm1tL3dpbmVhbHNhL21pZGkuYywgZGxscy93aW5tbS93aW5tbS5jLAorCSAgZGxscy93aW5tbS93aW5lYXJ0cy9hdWRpby5jLCBkbGxzL3dpbm1tL3dpbmVhdWRpb2lvL2F1ZGlvLmMsCisJICBkbGxzL3dpbm1tL3dpbmVuYXMvYXVkaW8uYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBtdWx0aW1lZGlhIHRocmVhZHMgaGlnaCBwcmlvcml0eS4KKworCSogZGxscy9hZHZwYWNrL2FkdnBhY2suYywgZGxscy9hZHZwYWNrL3Rlc3RzL2FkdnBhY2suYzoKKwlTYW1pIEFhcmlvIDxzYW1pLmFhcmlvQHN1cmZldS5maT4KKwlBZGRlZCBpbml0aWFsIHZlcnNpb24gb2YgRGVsbm9kZSBwbHVzIHNvbWUgdGVzdHMuCisKKwkqIGRsbHMva2VybmVsL3Rhc2suYywgZGxscy9udGRsbC90aHJlYWQuYywgZGxscy91c2VyL01ha2VmaWxlLmluLAorCSAgZGxscy91c2VyL2N1cnNvcmljb24uYywgZGxscy91c2VyL2hvb2suYywgZGxscy91c2VyL2hvb2sxNi5jLAorCSAgZGxscy91c2VyL2lucHV0LmMsIGRsbHMvdXNlci9tZXNzYWdlLmMsIGRsbHMvdXNlci9tZXNzYWdlLmgsCisJICBkbGxzL3VzZXIvdXNlcjE2LmMsIGRsbHMvdXNlci91c2VyX21haW4uYywgZGxscy91c2VyL3VzZXJfcHJpdmF0ZS5oLAorCSAgZGxscy91c2VyL3duZDE2LmMsIGluY2x1ZGUvdGhyZWFkLmgsIHdpbmRvd3MvcXVldWUuYzoKKwlSZW1vdmVkIHRoZSBNRVNTQUdFUVVFVUUgc3RydWN0dXJlLCBhbmQgc3RvcmUgdGhlIGNvcnJlc3BvbmRpbmcKKwlpbmZvcm1hdGlvbiBkaXJlY3RseSBpbiB0aGUgVEVCLCBpbiB0aGUgV2luMzJDbGllbnRJbmZvIGZpZWxkLgorCisJKiBpbmNsdWRlL3dpbnRlcm5sLmg6IEFkZGVkIHByb3BlciBuYW1lcyBmb3IgdGhlIHJlbWFpbmluZyBURUIgZmllbGRzLgorCisJKiBkbGxzL3dpbm1tL21jaS5jLCBkbGxzL3dpbm1tL21taW8uYywgZGxscy93aW5tbS9tbXN5c3RlbS5jLAorCSAgZGxscy93aW5tbS9wbGF5c291bmQuYywgZGxscy93aW5tbS90aW1lLmMsIGRsbHMvd2lubW0vd2luZW1tLmgsCisJICBkbGxzL3dpbm1tL3dpbm1tLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCU1ha2UgV0lOTU1fSURhdGEgc3RhdGljYWxseSBhbGxvY2F0ZWQuCisKKwkqIGRsbHMvZDNkOC9kcmF3cHJpbS5jOiBSYXBoYWVsIEp1bnF1ZWlyYSA8ZmVuaXhAY2x1Yi1pbnRlcm5ldC5mcj4KKwlGaXggY3Jhc2ggb24gZHJhd1N0cmlkZWRTbG93LgorCisJKiBkbGxzL3NoZWxsMzIvc2hmbGRyX3VuaXhmcy5jOiBHZXJhbGQgUGZlaWZlciA8Z2VyYWxkQHBmZWlmZXIuY29tPgorCUluY2x1ZGUgPGxpbWl0cy5oPiB0byBnZXQgYSBkZWZpbml0aW9uIG9mIE5BTUVfTUFYLgorCisJKiBkbGxzL21zaS9tc2kuYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb3JyZWN0IGEgbGVha2luZyBoa2V5IGhhbmRsZS4KKworMjAwNS0wNC0yNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogcHJvZ3JhbXMvdGFza21nci9ncmFwaGN0bC5jLCBwcm9ncmFtcy93aW5lbWluZS9tYWluLmMsCisJICBwcm9ncmFtcy93aW5oZWxwL2hscDJzZ21sLmMsIHByb2dyYW1zL3dpbmhlbHAvaGxwZmlsZS5jOgorCVJlbW92ZWQgYSBmZXcgbW9yZSBzdHJuY3B5IGNhbGxzLgorCisJKiBzZXJ2ZXIvcXVldWUuYywgc2VydmVyL3VzZXIuaCwgc2VydmVyL3dpbmRvdy5jOgorCU1ha2Ugc3VyZSBhIHRocmVhZCBoYXMgYSBxdWV1ZSBhcyBzb29uIGFzIGl0IGNyZWF0ZXMgYSB3aW5kb3cuCisKKwkqIGRsbHMvbXNpL21zaS5jOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUV4cGFuZCBzb21lIGhhbmRsaW5nIG9mIHNwZWNpYWwgcHJvcGVydGllcyBpbiBNc2lHZXRQcm9kdWN0SW5mby4KKworCSogZGxscy9tc2kvZGF0YWJhc2UuYywgZGxscy9tc2kvbXNpLnNwZWM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCURlY2xhcmUgTXNpRXhwb3J0RGF0YWJhc2UqIGluIHRoZSBzcGVjIGZpbGUsIGFuZCBmaXggYSB0eXBvLgorCisJKiBkbGxzL3dpbm1tL21jaWF2aS9pbmZvLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlGaXhlZCBmbGFncyBoYW5kbGluZyBpbiBNQ0lBVklfbWNpSW5mby4KKworCSogZGxscy91c2VyL2lucHV0LmMsIGRsbHMvdXNlci9tZXNzYWdlLmMsIHdpbmRvd3MvcXVldWUuYzoKKwlNb3ZlZCBzb21lIG1lc3NhZ2luZyBhbmQgaW5wdXQgZnVuY3Rpb25zIHRvIG1lc3NhZ2UuYyBhbmQgaW5wdXQuYworCXJlc3BlY3RpdmVseS4KKworCSogZGxscy91c2VyL3Rlc3RzL3dpbi5jLCBkbGxzL3gxMWRydi93aW5kb3cuYzoKKwlVbHJpY2ggQ3pla2FsbGEgPHVscmljaEBjb2Rld2VhdmVycy5jb20+CisJU2V0UGFyZW50IHNob3VsZCBub3QgcmVtb3ZlIG1lbnUgZnJvbSBub24tY2hpbGQgd2luZG93cy4KKworCSogZGxscy91c2VyL2NvbWJvLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJVGhlIGFuc2kgdmVyc2lvbiBvZiBDQl9BRERTVFJJTkcgc2hvdWxkbid0IG92ZXJ3cml0ZSB0aGUgc3RyaW5nIGlmCisJY29udmVydGluZyBjYXNlLgorCisJKiBkbGxzL2RldmVudW0vbWVkaWFjYXRlbnVtLmM6CisJTWFhcnRlbiBMYW5raG9yc3QgPG0uYi5sYW5raG9yc3RAZ21haWwuY29tPgorCUZpeGVkIGEgcmVmZXJlbmNlIGxlYWsuCisKKzIwMDUtMDQtMjUgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGluY2x1ZGUvd2luYmFzZS5oOgorCURlZmluZSBzdHJuY3B5IHRvIGFuIGVycm9yIHRvIG1ha2Ugc3VyZSBpdCBkb2Vzbid0IGNyZWVwIGJhY2sgaW4uCisKKwkqIGRsbHMvdXNlci9NYWtlZmlsZS5pbiwgZGxscy91c2VyL3BhaW50aW5nLmMsIHdpbmRvd3Mvc2Nyb2xsLmM6CisJTW92ZWQgdGhlIFNjcm9sbFdpbmRvdyBhbmQgU2Nyb2xsREMgZnVuY3Rpb25zIHRvIGRsbHMvdXNlci9wYWludGluZy5jLAorCWFuZCByZW1vdmVkIHdpbmRvd3Mvc2Nyb2xsLmMuCisKKwkqIGRsbHMvZ2RpL2RjLmM6IE1heGltZSBCZWxsZW5n6SA8bWF4aW1lLmJlbGxlbmdlQGxhcG9zdGUubmV0PgorCVByZXZlbnQgQ3JlYXRlRENBIGZyb20gY3Jhc2hpbmcgaWYgYSBiYWQgbHBJbml0RGF0YSBwYXJhbWV0ZXIgaXMKKwlwcm92aWRlZC4KKworCSogZGxscy9udGRsbC9maWxlLmM6IEl2YW4gTGVvIFB1b3RpIDxpdmFubGVvQGdtYWlsLmNvbT4KKwlBZGQgcGFyYW1ldGVyIGNoZWNraW5nIHRvIE50UmVhZEZpbGUvTnRXcml0ZUZpbGUuCisKKwkqIGRsbHMvbXN2Y3J0L21iY3MuYywgZGxscy9udGRsbC9maWxlLmMsIGluY2x1ZGUvd2luZS9saWJyYXJ5LmgsCisJICBsaWJzL3dpbmUvZGVidWcuYywgbGlicy93aW5lL2xvYWRlci5jLCB0b29scy9zZm50MmZudC5jLAorCSAgdG9vbHMvd2luZWR1bXAvZHVtcC5jOgorCVJlbW92ZSBhIGZldyBtb3JlIGluc3RhbmNlcyBvZiBzdHJuY3B5LgorCisJKiBkbGxzL3VzZXIvTWFrZWZpbGUuaW4sIGRsbHMvdXNlci9jbGFzcy5jLCBkbGxzL3VzZXIvY2xpcGJvYXJkLmMsCisJICBkbGxzL3VzZXIvY3Vyc29yaWNvbi5jLCBkbGxzL3VzZXIvZGVmZGxnLmMsIGRsbHMvdXNlci9kZWZ3bmQuYywKKwkgIGRsbHMvdXNlci9kaWFsb2cuYywgZGxscy91c2VyL2lucHV0LmMsIGRsbHMvdXNlci9tZGkuYywKKwkgIGRsbHMvdXNlci9tc2dib3guYywgZGxscy91c2VyL25vbmNsaWVudC5jLCBkbGxzL3VzZXIvc3B5LmMsCisJICBkbGxzL3VzZXIvd2luLmMsIGRsbHMvdXNlci93aW5oZWxwLmMsIGRsbHMvdXNlci93aW5wb3MuYywKKwkgIGRsbHMvdXNlci93aW5wcm9jLmMsIHdpbmRvd3MvY2xhc3MuYywgd2luZG93cy9jbGlwYm9hcmQuYywKKwkgIHdpbmRvd3MvY3Vyc29yaWNvbi5jLCB3aW5kb3dzL2RlZmRsZy5jLCB3aW5kb3dzL2RlZnduZC5jLAorCSAgd2luZG93cy9kaWFsb2cuYywgd2luZG93cy9pbnB1dC5jLCB3aW5kb3dzL21kaS5jLCB3aW5kb3dzL21zZ2JveC5jLAorCSAgd2luZG93cy9ub25jbGllbnQuYywgd2luZG93cy9zcHkuYywgd2luZG93cy93aW4uYywgd2luZG93cy93aW5oZWxwLmMsCisJICB3aW5kb3dzL3dpbnBvcy5jLCB3aW5kb3dzL3dpbnByb2MuYzoKKwlNb3ZlZCBtb3N0IGZpbGVzIGZyb20gdGhlIHdpbmRvd3MgZGlyZWN0b3J5IHRvIGRsbHMvdXNlci4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfRGUucmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX0VuLnJjLAorCSAgZGxscy9zaGVsbDMyL3NoZmxkcl91bml4ZnMuYywgZGxscy9zaGVsbDMyL3NocmVzZGVmLmg6CisJTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCVN1cHBvcnQgZm9yIHJlZ3VsYXIgZmlsZXMgKGFzIG9wcG9zZWQgdG8gZGlyZWN0b3JpZXMpLgorCisJKiBkbGxzL3F1YXJ0ei9kc291bmRyZW5kZXIuYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUltcHJvdmVkIGVycm9ycyBoYW5kbGluZyBhIGJpdCBpbiBkc291bmQgcmVuZGVyZXIuCisKKwkqIGluY2x1ZGUvbXN2Y3J0L2NvbmlvLmgsIGluY2x1ZGUvbXN2Y3J0L2lvLmgsCisJICBpbmNsdWRlL21zdmNydC9wcm9jZXNzLmg6CisJTWFyY3VzIE1laXNzbmVyIDxtZWlzc25lckBzdXNlLmRlPgorCWdjYzQgYWxpYXMgZml4ZXMuCisKKwkqIGRsbHMvZGRyYXcvZGRyYXcvaGFsLmMsIGRsbHMvZGlucHV0L2RldmljZS5jLAorCSAgZGxscy9tc2FjbS90ZXN0cy9tc2FjbS5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUZpeGVkIDMgbWVtc2V0KClzIHdoaWNoIHVzZWQgdGhlIHdyb25nIHNpemUgKHRvbyBsYXJnZSkuCisKKzIwMDUtMDQtMjQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMva2VybmVsL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9rZXJuZWwvdGVzdHMvc3luYy5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlUZXN0cyBmb3IgU2lnbmFsT2JqZWN0QW5kV2FpdC4KKworCSogZGxscy9rZXJuZWwvc3luYy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50ZWQgU2lnbmFsT2JqZWN0QW5kV2FpdC4KKworCSogZGxscy9udGRsbC9udGRsbF9taXNjLmgsIGRsbHMvbnRkbGwvc2lnbmFsX2kzODYuYywgZGxscy9udGRsbC9zeW5jLmMsCisJICBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIGluY2x1ZGUvd2ludGVybmwuaCwgc2VydmVyL2F0b20uYywKKwkgIHNlcnZlci9jaGFuZ2UuYywgc2VydmVyL2NvbnNvbGUuYywgc2VydmVyL2RlYnVnZ2VyLmMsIHNlcnZlci9ldmVudC5jLAorCSAgc2VydmVyL2ZkLmMsIHNlcnZlci9maWxlLmMsIHNlcnZlci9oYW5kbGUuYywgc2VydmVyL2hhbmRsZS5oLAorCSAgc2VydmVyL2hvb2suYywgc2VydmVyL21haWxzbG90LmMsIHNlcnZlci9tYXBwaW5nLmMsIHNlcnZlci9tdXRleC5jLAorCSAgc2VydmVyL25hbWVkX3BpcGUuYywgc2VydmVyL29iamVjdC5jLCBzZXJ2ZXIvb2JqZWN0LmgsCisJICBzZXJ2ZXIvcHJvY2Vzcy5jLCBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvcXVldWUuYywKKwkgIHNlcnZlci9yZWdpc3RyeS5jLCBzZXJ2ZXIvcmVxdWVzdC5jLCBzZXJ2ZXIvc2VtYXBob3JlLmMsCisJICBzZXJ2ZXIvc2VyaWFsLmMsIHNlcnZlci9zaWduYWwuYywgc2VydmVyL3NuYXBzaG90LmMsIHNlcnZlci9zb2NrLmMsCisJICBzZXJ2ZXIvdGhyZWFkLmMsIHNlcnZlci90aW1lci5jLCBzZXJ2ZXIvdG9rZW4uYywgc2VydmVyL3RyYWNlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudGVkIE50U2lnbmFsQW5kV2FpdEZvclNpbmdsZU9iamVjdC4KKworCSogZGxscy93aW5tbS90ZXN0cy90aW1lci5jOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCVJlbW92ZSBwcmlvcml0eSBib29zdCBzdHVmZi4KKworCSogZGxscy9kZHJhdy9kZHJhdy91c2VyLmM6IER5bGFuIFRhZnQgPHNvdW5kbWFub2tAeWFob28uY29tPgorCVNldCBkaXNwbGF5IGZyZXF1ZW5jeSB0b28gaW4gU2V0RGlzcGxheU1vZGUuCisKKwkqIHRvb2xzL3dpbmVpbnN0YWxsOiBQYXVsIFZyaWVucyA8UGF1bC5WcmllbnNAeHM0YWxsLm5sPgorCS0tdXBkYXRlIGlzIG5vIGxvbmdlciBuZWVkZWQgd2l0aCB3aW5lcHJlZml4Y3JlYXRlLgorCisJKiBkbGxzL29sZTMyL3N0b3JhZ2UzMi5jLCBkbGxzL29sZTMyL3N0b3JhZ2UzMi5oOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlEZWZpbmUgYW5kIHVzZSBlbmRpYW4gY29udmVyc2lvbiBtYWNyb3MgZm9yIGJpZy1lbmRpYW4gbWFjaGluZXMuCisKKzIwMDUtMDQtMjMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbXN2Y3J0L21zdmNydC5zcGVjLCBkbGxzL21zdmNydC90aW1lLmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUV4cG9ydCBfdHpuYW1lLCBleHBlY3RlZCBieSBNb3ppbGxhLgorCisJKiBkbGxzL2FkdmFwaTMyL3Rlc3RzL2NyeXB0LmM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJRXhjbHVkZWQgdGVzdHMgY3Jhc2hpbmcgb24gTlQ0IGZyb20gY29tcGlsaW5nLgorCisJKiBkbGxzL29sZTMyL3N0Z19wcm9wLmMsIGRsbHMvb2xlMzIvdGVzdHMvc3RnX3Byb3AuYzoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJLSBjb252ZXJ0IHN0cmluZ3MgYmV0d2VlbiBwcm9wZXJ0eSBzdG9yYWdlJ3MgY29kZSBwYWdlIGFuZCBzeXN0ZW0gY29kZQorCSAgcGFnZQorCS0gYWRkIHRlc3RzIGZvciBzZXR0aW5nIGNvZGUgcGFnZQorCS0gZml4IHRlc3RzIGFuZCBiZWhhdmlvciB0byBtYXRjaCBXaW5YUAorCisJKiBkbGxzL3dpbm1tL3Rlc3RzL3RpbWVyLmMsIGRsbHMvd2lubW0vdGltZS5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJU2V0IHRocmVhZCBwcmlvcml0eSBmb3IgdGltZXIgdGhyZWFkLgorCUFkZCB0aW1lciB0aHJlYWQgcHJpb3JpdHkgdGVzdC4KKworMjAwNS0wNC0yMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9zaGVsbDMyL3NoZmxkcl91bml4ZnMuYzoKKwlNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJVXNlIHRoZSBzaGVsbDMyIHR5cGljYWwgYmluYXJ5IGZvcm1hdCBmb3IgSVRFTUlETElTVHMuCisKKwkqIGRsbHMvY29tY3RsMzIvdGVzdHMvZHBhLmM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJSW1wb3J0IERQQV9TZWFyY2ggYnkgb3JkaW5hbCBsaWtlIG90aGVyIERQQSBmdW5jdGlvbnMuCisKKwkqIHRvb2xzL3dpbmFwaS93aW4zMi5hcGk6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZCBhIHBvd3Jwcm9mIHNlY3Rpb24uCisJVXBkYXRlIHdpbjMyLmFwaSB0byBtYXRjaCB0aGUgY3VycmVudCBzb3VyY2UuCisKKwkqIGRsbHMvYWR2YXBpMzIvc2VjdXJpdHkuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudCBQcml2aWxlZ2VDaGVjay4KKworCSogZGxscy9udGRsbC9udC5jLCBkbGxzL250ZGxsL250ZGxsLnNwZWMsCisJICBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIGluY2x1ZGUvd2lubnQuaCwgaW5jbHVkZS93aW50ZXJubC5oLAorCSAgc2VydmVyL29iamVjdC5oLCBzZXJ2ZXIvcHJvY2Vzcy5jLCBzZXJ2ZXIvcHJvdG9jb2wuZGVmLAorCSAgc2VydmVyL3JlcXVlc3QuaCwgc2VydmVyL3NlY3VyaXR5LmgsIHNlcnZlci90aHJlYWQuYywKKwkgIHNlcnZlci90aHJlYWQuaCwgc2VydmVyL3Rva2VuLmMsIHNlcnZlci90cmFjZS5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIENsZWFuIHVwIHdlbGwta25vd24gcHJpdmlsZWdlcy4KKwktIEltcGxlbWVudCBjaGVja2luZyB0b2tlbnMgZm9yIHByaXZpbGVnZXMgaW4gdGhlIHNlcnZlci4KKwktIEltcGxlbWVudCBOdFByaXZpbGVnZUNoZWNrLgorCisJKiBkbGxzL3NoZWxsMzIvYnJzZm9sZGVyLmM6IE1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlGaXhlZCBpbmNvcnJlY3QgSVNoZWxsRm9sZGVyOjpFbnVtT2plY3RzIEFQSSB1c2FnZS4KKworCSogZGxscy94MTFkcnYvZGliLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJSWYgWFNobUF0dGFjaCBmYWlscyB0aGVuIHJlc2V0IHNobWlkIHRvIC0xIHNvIHRoYXQgd2UgZG9uJ3QgdHJ5IHRvIHVzZQorCWl0IGxhdGVyLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNU0kgYWR2ZXJ0aXNlZCBzaG9ydGN1dHMgZG9uJ3QgcmVxdWlyZSBhIHByb2R1Y3QgSUQuCisKKwkqIGRsbHMvb2xlMzIvdGVzdHMvc3RnX3Byb3AuYzoKKwlTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1MaW5lLmNvbT4KKwlNYWtlIG9sZTMyIHRlc3RzIGxvYWRhYmxlIG9uIE5UNC4KKworCSogZGxscy93aW5tbS93aW5lYWxzYS9hdWRpby5jOgorCUFsZXggVmlsbGFj7XMgTGFzc28gPGFfdmlsbGFjaXNAcGFsb3NhbnRvLmNvbT4KKwlQZXJmb3JtIG9uZSBtb3JlIGNvbW1pdCBpbiBBTFNBIG5vbi1lbXVsYXRpb24gaWYgdGhlcmUgYXJlIHN0aWxsCisJZnJhbWVzIHRvIGJlIHRyYW5zbWl0dGVkLgorCisJKiBkbGxzL29sZWF1dDMyL29sZXBpY3R1cmUuYzoKKwlBbGV4IFZpbGxhY+1zIExhc3NvIDxhX3ZpbGxhY2lzQHBhbG9zYW50by5jb20+CisJLSBGaXggbGVmdG92ZXIgbmVnYXRpdmUgc2lnbiBpbiBoZWlnaHQgcGFyYW1ldGVyIGZvciB0cmFuc3BhcmVudAorCSAgYml0bWFwLgorCS0gUHJvcGVybHkgYW5ub3VuY2Ugd2hldGhlciBiaXRtYXAgaXMgdHJhbnNwYXJlbnQgaW4gZ2V0X0F0dHJpYnV0ZXMuCisJLSBHSUYgdHJhbnNwYXJlbmN5IGlzIG5vdyBwYWxldHRlLWluZGV4IGJhc2VkLCBpbnN0ZWFkIG9mIFJHQiBiYXNlZC4KKwktIEtlZXAgb3JpZ2luYWwgYml0bWFwIGFuZCBYT1IgbWFzayBzZXBhcmF0ZSwgc28gdGhhdCBnZXRfSGFuZGxlCisJICByZXR1cm5zIG9yaWdpbmFsIGJpdG1hcC4KKworCSogZGxscy9tc2kvbXNpLmM6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVR3ZWFrIHRoZSBBUEkgZG9jdW1lbnRhdGlvbiB0byBzaWxlbmNlIHdpbmFwaV9jaGVjayB3YXJuaW5ncy4KKworCSogZGxscy9hdGwvYXRsX21haW4uYywgZGxscy9hdGwvYXRsYmFzZS5oLCB0b29scy93aW5hcGkvd2luMzIuYXBpOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZCBhIGRlZmluaXRpb24gZm9yIF9BVExfUkVHTUFQX0VOVFJZIGluIGF0bGJhc2UuaC4KKwlGaXggdGhlIHByb3RvdHlwZSBvZiBBdGxNb2R1bGVVcGRhdGVSZWdpc3RyeUZyb21SZXNvdXJjZUQoKSBzbyBpdCB1c2VzCisJdGhlIHJpZ2h0IHBvaW50ZXIgdHlwZXMuCisKKzIwMDUtMDQtMjEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMveDExZHJ2L2NsaXBib2FyZC5jLCBkbGxzL3gxMWRydi94MTFkcnYuaCwKKwkgIGRsbHMveDExZHJ2L3gxMWRydl9tYWluLmMsIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWc6CisJTW92ZWQgdGhlIFVzZVByaW1hcnkgY29uZmlnIHBhcmFtZXRlciB0byB0aGUgeDExZHJ2IHNlY3Rpb24sIHJlbmFtZWQKKwlhcyBVc2VQcmltYXJ5U2VsZWN0aW9uLgorCisJKiBkbGxzL21zaS9tc2kuYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggZm9yIHRoZSByZXR1cm4gY29kZXMgZm9yIHRoZSBRdWFsaWZpZWQgY29tcG9uZW50IGNhbGxzLiBUaGV5IGFyZQorCW5vdCBJTlNUQUxMU1RBVEVzIGJ1dCByYXRoZXIgc3VjY2VzcyB2YWx1ZXMuCisKKwkqIGRsbHMvYWR2YXBpMzIvc2VjdXJpdHkuYywgZGxscy9udGRsbC90aW1lLmMsIGRsbHMvbnRkbGwvd2NzdHJpbmcuYywKKwkgIGRsbHMvd2luaW5ldC9mdHAuYywgZGxscy93aW5pbmV0L3V0aWxpdHkuYywgaW5jbHVkZS93aW5lL3VuaWNvZGUuaDoKKwlHZXQgcmlkIG9mIHRoZSByZW1haW5pbmcgY2FsbHMgdG8gc3RybmNweVcsIGFuZCByZW1vdmUgdGhhdCBmdW5jdGlvbgorCWZyb20gd2luZS91bmljb2RlLmguCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbC5jOiBQZXRlciBCZXJnIExhcnNlbiA8cGVibEBtYXRoLmt1LmRrPgorCVJld3JpdHRlbiBEb0Vudmlyb25tZW50U3Vic3QxNi4KKworCSogZGxscy9udGRsbC9udC5jLCBpbmNsdWRlL3dpbnRlcm5sLmg6CisJUGF1bCBWcmllbnMgPFBhdWwuVnJpZW5zQHhzNGFsbC5ubD4KKwlSZW1vdmUgVEhSRUFEX0lORk8gc3RydWN0LgorCVJlbmFtZSBUSFJFQURJTkZPIGludG8gU1lTVEVNX1RIUkVBRF9JTkZPUk1BVElPTi4KKworMjAwNS0wNC0yMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogREVWRUxPUEVSUy1ISU5UUywgY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL3Bvd3Jwcm9mLy5jdnNpZ25vcmUsIGRsbHMvcG93cnByb2YvTWFrZWZpbGUuaW4sCisJICBkbGxzL3Bvd3Jwcm9mL3Bvd3Jwcm9mLmMsIGRsbHMvcG93cnByb2YvcG93cnByb2Yuc3BlYzoKKwlCZW5qYW1pbiBDdXRsZXIgPGN1dGxlckBjcy5jb2xvc3RhdGUuZWR1PgorCUFkZGVkIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgcG93cnByb2YuZGxsLgorCisJKiBkbGxzL3VzZXIvbWVzc2FnZS5jOgorCUhhbmRsZSBwb3N0ZWQgaW50ZXJuYWwgbWVzc2FnZXMgZGlyZWN0bHkgaW4gUGVla01lc3NhZ2VXIHRvIGF2b2lkCisJaGF2aW5nIHRvIHJldHVybiB0aGVtIHRvIHRoZSBhcHBsaWNhdGlvbi4KKwlDYWxsIE50WWllbGRFeGVjdXRpb24gZm9yIG5pY2VyIGJlaGF2aW9yIHdoZW4gUE1fTk9ZSUVMRCBpcyBub3QKKwlzcGVjaWZpZWQuCisKKwkqIGRsbHMveDExZHJ2L2RpYi5jLCBkbGxzL3gxMWRydi94MTFkcnYuaDogQXZvaWQgYSBjb21waWxlciB3YXJuaW5nLgorCisJKiBkbGxzL2RjaW1hbjMyL2RjaW1hbl9tYWluLmMsIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvZGNpZGRpLmgsCisJICBpbmNsdWRlL2RjaW1hbi5oLCB0b29scy93aW5hcGkvd2luMzIuYXBpOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUZpeCB0aGUgRENJQ3JlYXRlUHJpbWFyeSgpIHByb3RvdHlwZS4gSXQncyBzdXBwb3NlZCB0byByZXR1cm4gYW4gaW50CisJc28gaGF2ZSBpdCByZXR1cm4gRENJX0ZBSUxfVU5TVVBQT1JURUQuCisJQWRkIHRoZSBuZWVkZWQgZXJyb3IgY29kZXMgYW5kIHRoZSBEQ0lTVVJGQUNFSU5GTyBkZWZpbml0aW9uIHRvCisJZGNpZGRpLmguCisJQWRkIGRjaW1hbi5oIGFuZCBwdXQgdGhlIGZ1bmN0aW9uIHByb3RvdHlwZXMgdGhlcmUuCisJZGNpZGRpLmggYW5kIGRjaW1hbi5oIHNob3VsZCBiZSBpbnN0YWxsZWQgd2l0aCB0aGUgb3RoZXIgV2luZG93cworCWhlYWRlcnMuCisKKwkqIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywgZGxscy9udGRsbC9udGRsbF9taXNjLmgsIGRsbHMvbnRkbGwvdmlydHVhbC5jOgorCVJlbW92ZSBhbGwgdHJhY2VzIG9mIHRoZSBWSVJUVUFMX1NldEZhdWx0SGFuZGxlciBzdXBwb3J0LgorCisJKiBkbGxzL3gxMWRydi9kaWIuYywgZGxscy94MTFkcnYveDExZHJ2Lmg6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlVc2UgdmVjdG9yZWQgZXhjZXB0aW9ucyB0byBnZXQgcmlkIG9mIFZJUlRVQUxfU2V0RmF1bHRIYW5kbGVyKCkuCisKKwkqIGRsbHMvb2xlMzIvb2xlMi5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlTcGVjaWZ5IHRoZSBwcm9wZXIgY2FsbCBjb252ZW50aW9uIGluIHRoZSBQcm9wU3lzRnJlZVN0cmluZygpCisJaW1wbGVtZW50YXRpb24uCisKKwkqIERFVkVMT1BFUlMtSElOVFMsIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL2tlcm5lbC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMva2VybmVsL29sZGNvbmZpZy5jLCBkbGxzL2tlcm5lbC9wcm9jZXNzLmMsIGRsbHMva2VybmVsL3ZvbHVtZS5jOgorCU1vdmUgYWxsIHRoZSBvbGQgY29uZmlnIGNvbnZlcnNpb24gY29kZSB0byBhIG5ldyBvbGRjb25maWcuYyBmaWxlLCBhbmQKKwlnZXQgcmlkIG9mIG1pc2MvcmVnaXN0cnkuYyBhbmQgdGhlIG1pc2MgZGlyZWN0b3J5LgorCisJKiBkbGxzL2FkdmFwaTMyL2NyeXB0LmMsIGRsbHMvYWR2YXBpMzIvc2VjdXJpdHkuYywgZGxscy9nZGkvcGFsZXR0ZS5jLAorCSAgZGxscy9tc2h0bWwvbWFpbi5jLCBkbGxzL21zaS9hY3Rpb24uYywgZGxscy9tc2kvbXNpLmMsCisJICBkbGxzL29sZTMyL29sZTIuYywgZGxscy9ycGNydDQvcnBjcnQ0X21haW4uYywgZGxscy91c2VyL21pc2MuYywKKwkgIGRsbHMvd2luaW5ldC9mdHAuYywgZGxscy94MTFkcnYveHJlbmRlci5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVR3ZWFrIHRoZSBBUEkgZG9jdW1lbnRhdGlvbiB0byBzaWxlbmNlIHdpbmFwaV9jaGVjayB3YXJuaW5ncy4KKworCSogdG9vbHMvd2luZXByZWZpeGNyZWF0ZS5pbjoKKwlQcm9wZXJseSBzdXBwb3J0IG91dC1vZi10cmVlIGJ1aWxkcyAoYmFzZWQgb24gcGF0Y2ggYnkgUGF1bCBNaWxsYXIpLgorCisJKiBkbGxzL3JpY2hlZDIwL2VkaXRvci5jOiBQaGlsIEtyeWxvdiA8cGhpbEBuZXdzdGFyLnJpbmV0LnJ1PgorCUZpeGVkIGFuIGVycm9yIGluIG15IHByZXZpb3VzIGNvbW1pdCB3aGljaCBjYXVzZWQgYW4gaW5maW5pdGUgbG9vcCBpbgorCUlFNiBpbnN0YWxsZXIuCisKKwkqIHRvb2xzL3dpbmFwaS93aW5hcGlfZml4dXBfZG9jdW1lbnRhdGlvbi5wbToKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlUcnkgdG8gY2xhcmlmeSB0aGUgJ25vIHRyYW5zbGF0aW9uIGRlZmluZWQnIGVycm9yLgorCVJlbW92ZSBhbiB1bnVzZWQgdmFyaWFibGUuCisKKwkqIGRsbHMvbXNpL3Rlc3RzL3N1bWluZm8uYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVRlc3QgTXNpU3VtbWFyeUluZm9HZXRQcm9wZXJ0eSByZWFkaW5nIGFuIGVtcHR5IHByb3BlcnR5LgorCisJKiBkbGxzL21zaS9zdW1pbmZvLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggbG9hZGluZyBvZiB0aGUgc3VtbWFyeSBpbmZvcm1hdGlvbi4KKworCSogZGxscy9udGRsbC9zZXJ2ZXIuYywgdG9vbHMvd2luZXByZWZpeGNyZWF0ZS5pbiwgdG9vbHMvd2luZXdyYXBwZXI6CisJUmVwbGFjZSB0aGUgd2luZXByZWZpeGNyZWF0ZSAtLXVwZGF0ZSBvcHRpb24gYnkgYSAtLXdhaXQgb3B0aW9uLCBhbmQKKwltYWtlIHRoZSBub24td2FpdCBiZWhhdmlvciB0aGUgZGVmYXVsdC4KKworCSogZGxscy91c2VyL21lc3NhZ2UuYywgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLAorCSAgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3F1ZXVlLmMsIHNlcnZlci90cmFjZS5jOgorCUFsbG93IG5lc3RlZCBoYXJkd2FyZSBtZXNzYWdlIHByb2Nlc3NpbmcgYnkgc3RvcmluZyBhIHVuaXF1ZSBpZCBpbgorCWV2ZXJ5IG1lc3NhZ2UgYW5kIHVzaW5nIGl0IHRvIG1hbmFnZSB0aGUgY3VycmVudCBxdWV1ZSBwb3NpdGlvbi4KKwlCZXR0ZXIgZmlsdGVyaW5nIG9mIGhhcmR3YXJlIG1lc3NhZ2VzIHRvIGF2b2lkIHJldHVybmluZyBtZXNzYWdlcyB0aGF0CisJaGF2ZSBubyBjaGFuY2UgdG8gbWF0Y2ggdGhlIGZpbHRlci4KKworCSogc2VydmVyL3JlZ2lzdHJ5LmM6CisJTG9hZCBzeXN0ZW0ucmVnIGFuZCB1c2VyZGVmLnJlZyBhdCBzZXJ2ZXIgaW5pdCB0aW1lLgorCisJKiBkbGxzL2dkaS9nZGlvYmouYywgZGxscy94MTFkcnYvYnJ1c2guYzoKKwlSaWNoYXJkIENvaGVuIDxyaWNoYXJkQGRhaWpvYnUuY28udWs+CisJRGl0aGVyIHNvbGlkIGNvbG91cnMgb24gbW9ub2Nocm9tZSBiaXRtYXBzLgorCisJKiBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL2V2bnRyYWNlLmgsIGluY2x1ZGUvd21pc3RyLmg6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIGV2bnRyYWNlLmggYW5kIHdtaXN0ci5oLgorCisJKiBpbmNsdWRlL2d1aWRkZWYuaDogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCURlZmluZSBMUENHVUlELgorCisJKiB0b29scy93aW5hcGkvd2luMzIuYXBpOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlVcGRhdGUgd2luMzIuYXBpIHRvIG1hdGNoIHRoZSBjdXJyZW50IHNvdXJjZS4KKworCSogZGxscy9jb21jdGwzMi9tb250aGNhbC5jOiBEdWFuZSBDbGFyayA8ZGNsYXJrQGFrYW1haWwuY29tPgorCU1pc2MgcmVjdGFuZ2xlIGZpeGVzLgorCVRoZSBkYXRlIHNob3VsZCBiZSBpbml0aWFsaXplZCBmcm9tIGxvY2FsIHRpbWUuCisKKwkqIGRsbHMva2VybmVsL3N5bmMuYzogR2VyYWxkIFBmZWlmZXIgPGdlcmFsZEBwZmVpZmVyLmNvbT4KKwlGaXggY29tcGlsYXRpb24gcHJvYmxlbSBjYXVzZWQgYnkgVUxPTkdfTUFYLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYywgZGxscy9tc2kvbXNpLmMsIGRsbHMvbXNpL21zaS5zcGVjLAorCSAgZGxscy9tc2kvbXNpcHJpdi5oLCBkbGxzL21zaS9yZWdpc3RyeS5jOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IFB1Ymxpc2ggQ29tcG9uZW50cyBpbiBvcmRlciBmb3IgTXNpR2V0UXVhbGlmaWVkQ29tcG9uZW50CisJYXBpcyB0byB3b3JrLiBBbHNvIGltcGxlbWVudCBNc2lHZXRRdWFsaWZpZWRDb21wb25lbnQsIG9yIGF0IGxlYXN0IHNvbWUKKwlvZiB0aGUgZnVuY3Rpb25hbGl0eSBhcyBpdCBpcyBzdXBwb3NlZCB0byBpbnN0YWxsIHN0dWZmIGlmIGl0IGlzCisJYWJzZW50LCB3aGljaCBpdCBkb2VzIG5vdCBkbyB5ZXQuCisKKzIwMDUtMDQtMTkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIEFOTk9VTkNFLCBDaGFuZ2VMb2csIFZFUlNJT04sIGNvbmZpZ3VyZTogUmVsZWFzZSAyMDA1MDQxOS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMjAwNS0wNC0xOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogZGxscy93dHNhcGkzMi93dHNhcGkzMi5jLCBkbGxzL3d0c2FwaTMyL3d0c2FwaTMyLnNwZWMsCmRpZmYgLS1naXQgYS9WRVJTSU9OIGIvVkVSU0lPTgppbmRleCAyY2MyNThiLi43ODI2ZDMzIDEwMDY0NAotLS0gYS9WRVJTSU9OCisrKyBiL1ZFUlNJT04KQEAgLTEgKzEgQEAKLVdpbmUgdmVyc2lvbiAyMDA1MDQxOQorV2luZSB2ZXJzaW9uIDIwMDUwNTI0CmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggNDJlMTlkMy4uYzFjN2ZhZSAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAtMSw2ICsxLDYgQEAKICMhIC9iaW4vc2gKICMgR3Vlc3MgdmFsdWVzIGZvciBzeXN0ZW0tZGVwZW5kZW50IHZhcmlhYmxlcyBhbmQgY3JlYXRlIE1ha2VmaWxlcy4KLSMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5IGZvciBXaW5lIDIwMDUwNDE5LgorIyBHZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkgZm9yIFdpbmUgMjAwNTA1MjQuCiAjCiAjIFJlcG9ydCBidWdzIHRvIDx3aW5lLWRldmVsQHdpbmVocS5vcmc+LgogIwpAQCAtMjY5LDggKzI2OSw4IEBACiAjIElkZW50aXR5IG9mIHRoaXMgcGFja2FnZS4KIFBBQ0tBR0VfTkFNRT0nV2luZScKIFBBQ0tBR0VfVEFSTkFNRT0nd2luZScKLVBBQ0tBR0VfVkVSU0lPTj0nMjAwNTA0MTknCi1QQUNLQUdFX1NUUklORz0nV2luZSAyMDA1MDQxOScKK1BBQ0tBR0VfVkVSU0lPTj0nMjAwNTA1MjQnCitQQUNLQUdFX1NUUklORz0nV2luZSAyMDA1MDUyNCcKIFBBQ0tBR0VfQlVHUkVQT1JUPSd3aW5lLWRldmVsQHdpbmVocS5vcmcnCiAKIGFjX3VuaXF1ZV9maWxlPSJzZXJ2ZXIvYXRvbS5jIgpAQCAtNzg4LDcgKzc4OCw3IEBACiAgICMgT21pdCBzb21lIGludGVybmFsIG9yIG9ic29sZXRlIG9wdGlvbnMgdG8gbWFrZSB0aGUgbGlzdCBsZXNzIGltcG9zaW5nLgogICAjIFRoaXMgbWVzc2FnZSBpcyB0b28gbG9uZyB0byBiZSBhIHN0cmluZyBpbiB0aGUgQS9VWCAzLjEgc2guCiAgIGNhdCA8PF9BQ0VPRgotXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgV2luZSAyMDA1MDQxOSB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCitcYGNvbmZpZ3VyZScgY29uZmlndXJlcyBXaW5lIDIwMDUwNTI0IHRvIGFkYXB0IHRvIG1hbnkga2luZHMgb2Ygc3lzdGVtcy4KIAogVXNhZ2U6ICQwIFtPUFRJT05dLi4uIFtWQVI9VkFMVUVdLi4uCiAKQEAgLTg1Myw3ICs4NTMsNyBAQAogCiBpZiB0ZXN0IC1uICIkYWNfaW5pdF9oZWxwIjsgdGhlbgogICBjYXNlICRhY19pbml0X2hlbHAgaW4KLSAgICAgc2hvcnQgfCByZWN1cnNpdmUgKSBlY2hvICJDb25maWd1cmF0aW9uIG9mIFdpbmUgMjAwNTA0MTk6Ijs7CisgICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBXaW5lIDIwMDUwNTI0OiI7OwogICAgZXNhYwogICBjYXQgPDxcX0FDRU9GCiAKQEAgLTk4NCw3ICs5ODQsNyBAQAogdGVzdCAtbiAiJGFjX2luaXRfaGVscCIgJiYgZXhpdCAwCiBpZiAkYWNfaW5pdF92ZXJzaW9uOyB0aGVuCiAgIGNhdCA8PFxfQUNFT0YKLVdpbmUgY29uZmlndXJlIDIwMDUwNDE5CitXaW5lIGNvbmZpZ3VyZSAyMDA1MDUyNAogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5CiAKIENvcHlyaWdodCAoQykgMjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTk5OCw3ICs5OTgsNyBAQAogVGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hpbGUKIHJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtlcyBhIG1pc3Rha2UuCiAKLUl0IHdhcyBjcmVhdGVkIGJ5IFdpbmUgJGFzX21lIDIwMDUwNDE5LCB3aGljaCB3YXMKK0l0IHdhcyBjcmVhdGVkIGJ5IFdpbmUgJGFzX21lIDIwMDUwNTI0LCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgICQgJDAgJEAKQEAgLTIwNDYwLDcgKzIwNDYwLDcgQEAKIH0gPiY1CiBjYXQgPiY1IDw8X0NTRU9GCiAKLVRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgV2luZSAkYXNfbWUgMjAwNTA0MTksIHdoaWNoIHdhcworVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBXaW5lICRhc19tZSAyMDA1MDUyNCwgd2hpY2ggd2FzCiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKIAogICBDT05GSUdfRklMRVMgICAgPSAkQ09ORklHX0ZJTEVTCkBAIC0yMDUyMyw3ICsyMDUyMyw3IEBACiAKIGNhdCA+PiRDT05GSUdfU1RBVFVTIDw8X0FDRU9GCiBhY19jc192ZXJzaW9uPSJcXAotV2luZSBjb25maWcuc3RhdHVzIDIwMDUwNDE5CitXaW5lIGNvbmZpZy5zdGF0dXMgMjAwNTA1MjQKIGNvbmZpZ3VyZWQgYnkgJDAsIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OSwKICAgd2l0aCBvcHRpb25zIFxcImBlY2hvICIkYWNfY29uZmlndXJlX2FyZ3MiIHwgc2VkICdzL1tcXCIiXGBcJF0vXFxcXCYvZydgXFwiCiAK