From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: - archer-jankratochvil-fedora12 commit: Date: Sat, 27 Jun 2026 23:54:19 GMT Message-ID: <178260445972.1.10268598971241478617.rpms-gdb-833a63eb373c@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: 833a63eb373c31c96a2ca3eee4e5b5bae4812e9c ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogODMzYTYzZWIzNzNjMzFjOTZhMmNhM2VlZTRlNWI1YmFlNDgx MmU5YwogICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amtyYXRvY2hAZmVkb3Jh cHJvamVjdC5vcmc+CiAgICAgICAgICAgIERhdGUgICA6IDIwMDktMDgtMTFUMjE6MTU6MTMrMDA6 MDAKICAgICAgICAgICAgU3RhdHMgIDogKzE1MS8tNDEyIGluIDMgZmlsZShzKQogICAgICAgICAg ICBVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jLzgzM2E2 M2ViMzczYzMxYzk2YTJjYTNlZWU0ZTViNWJhZTQ4MTJlOWM/YnJhbmNoPWdkYi0xNy4yLXJlYmFz ZS1mNDQKCiAgICAgICAgICAgIExvZzoKICAgICAgICAgICAgLSBhcmNoZXItamFua3JhdG9jaHZp bC1mZWRvcmExMiBjb21taXQ6CiAgICAyODg4ZmFmZTYzODg5NzU3YzZmZDI3Y2NjMmYyNTY2MWQ0 M2ZkMWE0Ci0gRHJvcCBhcmNoZXItamFua3JhdG9jaHZpbC12bGEgVkFST0JKIGludmFsaWRhdGUv cmV2YWxpZGF0ZSBzcGxpdCB0byBmaXgKICAgIHJlZ3Jlc3Npb25zIGFnYWluc3QgRlNGIEdEQiBI RUFELgoKLS0tCmRpZmYgLS1naXQgYS9nZGItNi4zLXBpZS0yMDA1MDExMC5wYXRjaCBiL2dkYi02 LjMtcGllLTIwMDUwMTEwLnBhdGNoCmluZGV4IGMxOTg4MTQuLjlmOGM5NDggMTAwNjQ0Ci0tLSBh L2dkYi02LjMtcGllLTIwMDUwMTEwLnBhdGNoCisrKyBiL2dkYi02LjMtcGllLTIwMDUwMTEwLnBh dGNoCkBAIC0yNiwxMCArMjYsMTAgQEAKIAogCUZpeCBzY2FuX2R5bnRhZygpIGZvciBiaW5hcmll cyBwcm92aWRlZCBieSB2YWxncmluZCAoQlogNDYwMzE5KS4KIAotSW5kZXg6IGdkYi02LjguNTAu MjAwOTA4MDkvZ2RiL2FtZDY0LXRkZXAuYworSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MTEvZ2Ri L2FtZDY0LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi02LjguNTAuMjAwOTA4MDkub3JpZy9n ZGIvYW1kNjQtdGRlcC5jCTIwMDktMDgtMTAgMDA6NTA6MzAuMDAwMDAwMDAwICswMjAwCi0rKysg Z2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvYW1kNjQtdGRlcC5jCTIwMDktMDgtMTAgMTQ6NTk6NTgu MDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTYuOC41MC4yMDA5MDgxMS5vcmlnL2dkYi9hbWQ2NC10 ZGVwLmMJMjAwOS0wOC0xMSAyMzoxMjozMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNi44LjUw LjIwMDkwODExL2dkYi9hbWQ2NC10ZGVwLmMJMjAwOS0wOC0xMSAyMzoxMjozNC4wMDAwMDAwMDAg KzAyMDAKIEBAIC0zNiw2ICszNiw3IEBACiAgI2luY2x1ZGUgInJlZ2NhY2hlLmgiCiAgI2luY2x1 ZGUgInJlZ3NldC5oIgpAQCAtMTM4LDEwICsxMzgsMTAgQEAgSW5kZXg6IGdkYi02LjguNTAuMjAw OTA4MDkvZ2RiL2FtZDY0LXRkZXAuYwogICAgcmV0dXJuIHBjOwogIH0KICAKLUluZGV4OiBnZGIt Ni44LjUwLjIwMDkwODA5L2dkYi9hdXh2LmMKK0luZGV4OiBnZGItNi44LjUwLjIwMDkwODExL2dk Yi9hdXh2LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNi44LjUwLjIwMDkwODA5Lm9yaWcvZ2RiL2F1 eHYuYwkyMDA5LTA3LTAyIDE5OjI1OjUyLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi02LjguNTAu MjAwOTA4MDkvZ2RiL2F1eHYuYwkyMDA5LTA4LTEwIDE0OjU5OjU4LjAwMDAwMDAwMCArMDIwMAor LS0tIGdkYi02LjguNTAuMjAwOTA4MTEub3JpZy9nZGIvYXV4di5jCTIwMDktMDctMDIgMTk6MjU6 NTIuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTYuOC41MC4yMDA5MDgxMS9nZGIvYXV4di5jCTIw MDktMDgtMTEgMjM6MTI6MzQuMDAwMDAwMDAwICswMjAwCiBAQCAtNzgsNyArNzgsNyBAQCBwcm9j ZnNfeGZlcl9hdXh2IChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzCiAgICAgUmV0dXJuIDEgaWYgYW4g ZW50cnkgd2FzIHJlYWQgaW50byAqVFlQRVAgYW5kICpWQUxQLiAgKi8KICBzdGF0aWMgaW50CkBA IC0yMzAsMTAgKzIzMCwxMCBAQCBJbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvYXV4di5j CiAgCWJyZWFrOwogICAgICB9CiAgCi1JbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvYXV4 di5oCitJbmRleDogZ2RiLTYuOC41MC4yMDA5MDgxMS9nZGIvYXV4di5oCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTYuOC41MC4yMDA5MDgwOS5vcmlnL2dkYi9hdXh2LmgJMjAwOS0wNi0wNyAyMTowNzow OC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9hdXh2LmgJMjAw OS0wOC0xMCAxNDo1OTo1OC4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNi44LjUwLjIwMDkwODEx Lm9yaWcvZ2RiL2F1eHYuaAkyMDA5LTA2LTA3IDIxOjA3OjA4LjAwMDAwMDAwMCArMDIwMAorKysr IGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL2F1eHYuaAkyMDA5LTA4LTExIDIzOjEyOjM0LjAwMDAw MDAwMCArMDIwMAogQEAgLTMxLDE0ICszMSwxNCBAQAogICAgIFJldHVybiAxIGlmIGFuIGVudHJ5 IHdhcyByZWFkIGludG8gKlRZUEVQIGFuZCAqVkFMUC4gICovCiAgZXh0ZXJuIGludCB0YXJnZXRf YXV4dl9wYXJzZSAoc3RydWN0IHRhcmdldF9vcHMgKm9wcywKQEAgLTI1MSwxMSArMjUxLDExIEBA IEluZGV4OiBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9hdXh2LmgKICAKICAvKiBQcmludCB0aGUg Y29udGVudHMgb2YgdGhlIHRhcmdldCdzIEFVWFYgb24gdGhlIHNwZWNpZmllZCBmaWxlLiAqLwog IGV4dGVybiBpbnQgZnByaW50X3RhcmdldF9hdXh2IChzdHJ1Y3QgdWlfZmlsZSAqZmlsZSwgc3Ry dWN0IHRhcmdldF9vcHMgKm9wcyk7Ci1JbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvZHdh cmYycmVhZC5jCitJbmRleDogZ2RiLTYuOC41MC4yMDA5MDgxMS9nZGIvZHdhcmYycmVhZC5jCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTYuOC41MC4yMDA5MDgwOS5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJ MjAwOS0wOC0xMCAxNDo1OToyOC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNi44LjUwLjIwMDkw ODA5L2dkYi9kd2FyZjJyZWFkLmMJMjAwOS0wOC0xMCAxNDo1OTo1OC4wMDAwMDAwMDAgKzAyMDAK LUBAIC0xNjU5LDcgKzE2NTksNyBAQCBkd2FyZjJfYnVpbGRfcHN5bXRhYnMgKHN0cnVjdCBvYmpm aWxlICpvCistLS0gZ2RiLTYuOC41MC4yMDA5MDgxMS5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAw OS0wOC0xMSAyMzoxMjozMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNi44LjUwLjIwMDkwODEx L2dkYi9kd2FyZjJyZWFkLmMJMjAwOS0wOC0xMSAyMzoxMjozNC4wMDAwMDAwMDAgKzAyMDAKK0BA IC0xNjUzLDcgKzE2NTMsNyBAQCBkd2FyZjJfYnVpbGRfcHN5bXRhYnMgKHN0cnVjdCBvYmpmaWxl ICpvCiAgICBkd2FyZjJfcmVhZF9zZWN0aW9uIChvYmpmaWxlLCAmZHdhcmYyX3Blcl9vYmpmaWxl LT5laF9mcmFtZSk7CiAgICBkd2FyZjJfcmVhZF9zZWN0aW9uIChvYmpmaWxlLCAmZHdhcmYyX3Bl cl9vYmpmaWxlLT5mcmFtZSk7CiAgCkBAIC0yNjQsMTAgKzI2NCwxMCBAQCBJbmRleDogZ2RiLTYu OC41MC4yMDA5MDgwOS9nZGIvZHdhcmYycmVhZC5jCiAgICAgICAgfHwgKG9iamZpbGUtPmdsb2Jh bF9wc3ltYm9scy5zaXplID09IDAKICAJICAmJiBvYmpmaWxlLT5zdGF0aWNfcHN5bWJvbHMuc2l6 ZSA9PSAwKSkKICAgICAgewotSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL2VsZnJlYWQu YworSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL2VsZnJlYWQuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi02LjguNTAuMjAwOTA4MDkub3JpZy9nZGIvZWxmcmVhZC5jCTIwMDktMDgtMTAgMDA6 NTA6MzAuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvZWxmcmVh ZC5jCTIwMDktMDgtMTAgMTQ6NTk6NTguMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTYuOC41MC4y MDA5MDgxMS5vcmlnL2dkYi9lbGZyZWFkLmMJMjAwOS0wOC0xMSAyMzoxMjozMS4wMDAwMDAwMDAg KzAyMDAKKysrKyBnZGItNi44LjUwLjIwMDkwODExL2dkYi9lbGZyZWFkLmMJMjAwOS0wOC0xMSAy MzoxMjozNC4wMDAwMDAwMDAgKzAyMDAKIEBAIC02ODEsNyArNjgxLDcgQEAgZWxmX3N5bWZpbGVf cmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbAogICAgLyogSWYgd2UgYXJlIHJlaW5pdGlhbGl6 aW5nLCBvciBpZiB3ZSBoYXZlIG5ldmVyIGxvYWRlZCBzeW1zIHlldCwKICAgICAgIHNldCB0YWJs ZSB0byBlbXB0eS4gIE1BSU5MSU5FIGlzIGNsZWFyZWQgc28gdGhhdCAqX3JlYWRfcHN5bXRhYgpA QCAtMjc3LDEwICsyNzcsMTAgQEAgSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL2VsZnJl YWQuYwogICAgICB7CiAgICAgICAgaW5pdF9wc3ltYm9sX2xpc3QgKG9iamZpbGUsIDApOwogICAg ICAgIG1haW5saW5lID0gMDsKLUluZGV4OiBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9pbmZydW4u YworSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL2luZnJ1bi5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTYuOC41MC4yMDA5MDgwOS5vcmlnL2dkYi9pbmZydW4uYwkyMDA5LTA4LTEwIDAwOjUw OjMwLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL2luZnJ1bi5j CTIwMDktMDgtMTAgMTQ6NTk6NTguMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTYuOC41MC4yMDA5 MDgxMS5vcmlnL2dkYi9pbmZydW4uYwkyMDA5LTA4LTExIDIzOjEyOjMyLjAwMDAwMDAwMCArMDIw MAorKysrIGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL2luZnJ1bi5jCTIwMDktMDgtMTEgMjM6MTI6 MzQuMDAwMDAwMDAwICswMjAwCiBAQCAtMzUzMSw2ICszNTMxLDEwIEBAIGluZnJ1bjogQlBTVEFU X1dIQVRfU0VUX0xPTkdKTVBfUkVTVU1FICgKICAjZW5kaWYKICAJICB0YXJnZXRfdGVybWluYWxf aW5mZXJpb3IgKCk7CkBAIC0yOTIsMTMgKzI5MiwxMyBAQCBJbmRleDogZ2RiLTYuOC41MC4yMDA5 MDgwOS9nZGIvaW5mcnVuLmMKICAJICAvKiBJZiByZXF1ZXN0ZWQsIHN0b3Agd2hlbiB0aGUgZHlu YW1pYyBsaW5rZXIgbm90aWZpZXMKICAJICAgICBnZGIgb2YgZXZlbnRzLiAgVGhpcyBhbGxvd3Mg dGhlIHVzZXIgdG8gZ2V0IGNvbnRyb2wKICAJICAgICBhbmQgcGxhY2UgYnJlYWtwb2ludHMgaW4g aW5pdGlhbGl6ZXIgcm91dGluZXMgZm9yCi1JbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIv b2JqZmlsZXMuYworSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL29iamZpbGVzLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNi44LjUwLjIwMDkwODA5Lm9yaWcvZ2RiL29iamZpbGVzLmMJMjAw OS0wOC0xMCAwMDo1MDozMC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNi44LjUwLjIwMDkwODA5 L2dkYi9vYmpmaWxlcy5jCTIwMDktMDgtMTAgMTQ6NTk6NTguMDAwMDAwMDAwICswMjAwCi1AQCAt NTIsNiArNTIsOSBAQAorLS0tIGdkYi02LjguNTAuMjAwOTA4MTEub3JpZy9nZGIvb2JqZmlsZXMu YwkyMDA5LTA4LTExIDIzOjEyOjMxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi02LjguNTAuMjAw OTA4MTEvZ2RiL29iamZpbGVzLmMJMjAwOS0wOC0xMSAyMzoxMjo1MS4wMDAwMDAwMDAgKzAyMDAK K0BAIC01MSw2ICs1MSw5IEBACisgI2luY2x1ZGUgImFyY2gtdXRpbHMuaCIKICAjaW5jbHVkZSAi ZXhlYy5oIgotICNpbmNsdWRlICJvYnNlcnZlci5oIgogIAogKyNpbmNsdWRlICJhdXh2LmgiCiAr I2luY2x1ZGUgImVsZi9jb21tb24uaCIKQEAgLTMwNiw3ICszMDYsNyBAQCBJbmRleDogZ2RiLTYu OC41MC4yMDA5MDgwOS9nZGIvb2JqZmlsZXMuYwogIC8qIFByb3RvdHlwZXMgZm9yIGxvY2FsIGZ1 bmN0aW9ucyAqLwogIAogIHN0YXRpYyB2b2lkIG9iamZpbGVfYWxsb2NfZGF0YSAoc3RydWN0IG9i amZpbGUgKm9iamZpbGUpOwotQEAgLTI3OSw5ICsyODIsMTcgQEAgaW5pdF9lbnRyeV9wb2ludF9p bmZvIChzdHJ1Y3Qgb2JqZmlsZSAqbworQEAgLTI3OCw5ICsyODEsMTcgQEAgaW5pdF9lbnRyeV9w b2ludF9pbmZvIChzdHJ1Y3Qgb2JqZmlsZSAqbwogIENPUkVfQUREUgogIGVudHJ5X3BvaW50X2Fk ZHJlc3MgKHZvaWQpCiAgewpAQCAtMzM0LDEwICszMzQsMTAgQEAgSW5kZXg6IGdkYi02LjguNTAu MjAwOTA4MDkvZ2RiL29iamZpbGVzLmMKICAgIC8qIEJlZm9yZSB0aGUgc3ltYm9sIHRhYmxlIGNv ZGUgd2FzIHJlZG9uZSB0byBtYWtlIGl0IGVhc2llciB0bwogICAgICAgc2VsZWN0aXZlbHkgbG9h ZCBhbmQgcmVtb3ZlIGluZm9ybWF0aW9uIHBhcnRpY3VsYXIgdG8gYSBzcGVjaWZpYwogICAgICAg bGlua2FnZSB1bml0LCBnZGIgdXNlZCB0byBkbyB0aGVzZSB0aGluZ3Mgd2hlbmV2ZXIgdGhlIG1v bm9saXRoaWMKLUluZGV4OiBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9zb2xpYi1zdnI0LmMKK0lu ZGV4OiBnZGItNi44LjUwLjIwMDkwODExL2dkYi9zb2xpYi1zdnI0LmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNi44LjUwLjIwMDkwODA5Lm9yaWcvZ2RiL3NvbGliLXN2cjQuYwkyMDA5LTA4LTEwIDE0 OjU2OjExLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL3NvbGli LXN2cjQuYwkyMDA5LTA4LTEwIDE0OjU5OjU4LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi02Ljgu NTAuMjAwOTA4MTEub3JpZy9nZGIvc29saWItc3ZyNC5jCTIwMDktMDgtMTEgMjM6MTI6MzIuMDAw MDAwMDAwICswMjAwCisrKysgZ2RiLTYuOC41MC4yMDA5MDgxMS9nZGIvc29saWItc3ZyNC5jCTIw MDktMDgtMTEgMjM6MTI6MzQuMDAwMDAwMDAwICswMjAwCiBAQCAtNDcsNiArNDcsNyBAQAogICNp bmNsdWRlICJleGVjLmgiCiAgI2luY2x1ZGUgImF1eHYuaCIKQEAgLTk5OSwxMCArOTk5LDEwIEBA IEluZGV4OiBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9zb2xpYi1zdnI0LmMKICsgIGFkZF9pbmZv ICgibGlua21hcCIsIGluZm9fbGlua21hcF9jb21tYW5kLAogKwkgICAgIkRpc3BsYXkgdGhlIGlu ZmVyaW9yJ3MgbGlua21hcC4iKTsKICB9Ci1JbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIv c29saWIuYworSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL3NvbGliLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNi44LjUwLjIwMDkwODA5Lm9yaWcvZ2RiL3NvbGliLmMJMjAwOS0wOC0xMCAw MDo1MDozMC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9zb2xp Yi5jCTIwMDktMDgtMTAgMTU6MDc6MTMuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTYuOC41MC4y MDA5MDgxMS5vcmlnL2dkYi9zb2xpYi5jCTIwMDktMDgtMTEgMjM6MTI6MzEuMDAwMDAwMDAwICsw MjAwCisrKysgZ2RiLTYuOC41MC4yMDA5MDgxMS9nZGIvc29saWIuYwkyMDA5LTA4LTExIDIzOjEy OjM0LjAwMDAwMDAwMCArMDIwMAogQEAgLTgxLDYgKzgxLDggQEAgc2V0X3NvbGliX29wcyAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsIAogIAogIC8qIGV4dGVybmFsIGRhdGEgZGVjbGFyYXRpb25z ICovCkBAIC0xMDIxLDcgKzEwMjEsNyBAQCBJbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIv c29saWIuYwogIC8qCiAgCiAgICAgR0xPQkFMIEZVTkNUSU9OCi1AQCAtNDUzLDE0ICs0NTMsMzgg QEAgc3ltYm9sX2FkZF9zdHViIChzdHJ1Y3Qgc29fbGlzdCAqc28sIGludAorQEAgLTQ0OSwxNCAr NDUzLDM4IEBAIHN5bWJvbF9hZGRfc3R1YiAoc3RydWN0IHNvX2xpc3QgKnNvLCBpbnQKICAgIC8q IEhhdmUgd2UgYWxyZWFkeSBsb2FkZWQgdGhpcyBzaGFyZWQgb2JqZWN0PyAgKi8KICAgIEFMTF9P QkpGSUxFUyAoc28tPm9iamZpbGUpCiAgICAgIHsKQEAgLTExMzksMTAgKzExMzksMTAgQEAgSW5k ZXg6IGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL3NvbGliLmMKICsJCQkgICBOVUxMLCBOVUxMLAog KwkJCSAgICZzZXRkZWJ1Z2xpc3QsICZzaG93ZGVidWdsaXN0KTsKICB9Ci1JbmRleDogZ2RiLTYu OC41MC4yMDA5MDgwOS9nZGIvc29saXN0LmgKK0luZGV4OiBnZGItNi44LjUwLjIwMDkwODExL2dk Yi9zb2xpc3QuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi02LjguNTAuMjAwOTA4MDkub3JpZy9nZGIv c29saXN0LmgJMjAwOS0wOC0xMCAwMDo1MDozMC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNi44 LjUwLjIwMDkwODA5L2dkYi9zb2xpc3QuaAkyMDA5LTA4LTEwIDE0OjU5OjU4LjAwMDAwMDAwMCAr MDIwMAorLS0tIGdkYi02LjguNTAuMjAwOTA4MTEub3JpZy9nZGIvc29saXN0LmgJMjAwOS0wOC0x MSAyMzoxMjozMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNi44LjUwLjIwMDkwODExL2dkYi9z b2xpc3QuaAkyMDA5LTA4LTExIDIzOjEyOjM0LjAwMDAwMDAwMCArMDIwMAogQEAgLTYxLDYgKzYx LDggQEAgc3RydWN0IHNvX2xpc3QKICAgICAgYmZkICphYmZkOwogICAgICBjaGFyIHN5bWJvbHNf bG9hZGVkOwkvKiBmbGFnOiBzeW1ib2xzIHJlYWQgaW4geWV0PyAqLwpAQCAtMTE2MywxMCArMTE2 MywxMCBAQCBJbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvc29saXN0LmgKICtleHRlcm4g aW50IGRlYnVnX3NvbGliOwogKwogICNlbmRpZgotSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MDkv Z2RiL3N5bWZpbGUtbWVtLmMKK0luZGV4OiBnZGItNi44LjUwLjIwMDkwODExL2dkYi9zeW1maWxl LW1lbS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTYuOC41MC4yMDA5MDgwOS5vcmlnL2dkYi9zeW1m aWxlLW1lbS5jCTIwMDktMDgtMTAgMDA6NTA6MzAuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTYu OC41MC4yMDA5MDgwOS9nZGIvc3ltZmlsZS1tZW0uYwkyMDA5LTA4LTEwIDE0OjU5OjU4LjAwMDAw MDAwMCArMDIwMAorLS0tIGdkYi02LjguNTAuMjAwOTA4MTEub3JpZy9nZGIvc3ltZmlsZS1tZW0u YwkyMDA5LTA4LTExIDIzOjEyOjMxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi02LjguNTAuMjAw OTA4MTEvZ2RiL3N5bWZpbGUtbWVtLmMJMjAwOS0wOC0xMSAyMzoxMjozNC4wMDAwMDAwMDAgKzAy MDAKIEBAIC0xMTUsNyArMTE1LDcgQEAgc3ltYm9sX2ZpbGVfYWRkX2Zyb21fbWVtb3J5IChzdHJ1 Y3QgYmZkIAogIAkrK2k7CiAgICAgICAgfQpAQCAtMTE3NiwxMCArMTE3NiwxMCBAQCBJbmRleDog Z2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvc3ltZmlsZS1tZW0uYwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2FpLCBPQkpGX1NIQVJFRCk7CiAgCiAgICAvKiBUaGlzIG1pZ2h0 IGNoYW5nZSBvdXIgaWRlYXMgYWJvdXQgZnJhbWVzIGFscmVhZHkgbG9va2VkIGF0LiAgKi8KLUlu ZGV4OiBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9zeW1maWxlLmMKK0luZGV4OiBnZGItNi44LjUw LjIwMDkwODExL2dkYi9zeW1maWxlLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNi44LjUwLjIwMDkw ODA5Lm9yaWcvZ2RiL3N5bWZpbGUuYwkyMDA5LTA4LTEwIDE0OjU5OjI4LjAwMDAwMDAwMCArMDIw MAotKysrIGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL3N5bWZpbGUuYwkyMDA5LTA4LTEwIDE0OjU5 OjU4LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi02LjguNTAuMjAwOTA4MTEub3JpZy9nZGIvc3lt ZmlsZS5jCTIwMDktMDgtMTEgMjM6MTI6MzIuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTYuOC41 MC4yMDA5MDgxMS9nZGIvc3ltZmlsZS5jCTIwMDktMDgtMTEgMjM6MTI6MzQuMDAwMDAwMDAwICsw MjAwCiBAQCAtNDksNiArNDksNyBAQAogICNpbmNsdWRlICJyZWFkbGluZS9yZWFkbGluZS5oIgog ICNpbmNsdWRlICJnZGJfYXNzZXJ0LmgiCkBAIC0xMTg4LDcgKzExODgsNyBAQCBJbmRleDogZ2Ri LTYuOC41MC4yMDA5MDgwOS9nZGIvc3ltZmlsZS5jCiAgI2luY2x1ZGUgIm9ic2VydmVyLmgiCiAg I2luY2x1ZGUgImV4ZWMuaCIKICAjaW5jbHVkZSAicGFyc2VyLWRlZnMuaCIKLUBAIC03ODUsNyAr Nzg2LDcgQEAgc3ltc19mcm9tX29iamZpbGUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaQorQEAgLTc4 Niw3ICs3ODcsNyBAQCBzeW1zX2Zyb21fb2JqZmlsZSAoc3RydWN0IG9iamZpbGUgKm9iamZpCiAg CiAgICAvKiBOb3cgZWl0aGVyIGFkZHJzIG9yIG9mZnNldHMgaXMgbm9uLXplcm8uICAqLwogIApA QCAtMTE5Nyw3ICsxMTk3LDcgQEAgSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL3N5bWZp bGUuYwogICAgICB7CiAgICAgICAgLyogV2Ugd2lsbCBtb2RpZnkgdGhlIG1haW4gc3ltYm9sIHRh YmxlLCBtYWtlIHN1cmUgdGhhdCBhbGwgaXRzIHVzZXJzCiAgICAgICAgICAgd2lsbCBiZSBjbGVh bmVkIHVwIGlmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgc3ltYm9sIHJlYWRpbmcuICAqLwotQEAg LTgxMyw3ICs4MTQsNyBAQCBzeW1zX2Zyb21fb2JqZmlsZSAoc3RydWN0IG9iamZpbGUgKm9iamZp CitAQCAtODE0LDcgKzgxNSw3IEBAIHN5bXNfZnJvbV9vYmpmaWxlIChzdHJ1Y3Qgb2JqZmlsZSAq b2JqZmkKICAKICAgICAgIFdlIG5vIGxvbmdlciB3YXJuIGlmIHRoZSBsb3dlc3Qgc2VjdGlvbiBp cyBub3QgYSB0ZXh0IHNlZ21lbnQgKGFzCiAgICAgICBoYXBwZW5zIGZvciB0aGUgUEE2NCBwb3J0 LiAgKi8KQEAgLTEyMDYsNyArMTIwNiw3IEBAIEluZGV4OiBnZGItNi44LjUwLjIwMDkwODA5L2dk Yi9zeW1maWxlLmMKICAgICAgewogICAgICAgIGFzZWN0aW9uICpsb3dlcl9zZWN0OwogICAgICAg IGFzZWN0aW9uICpzZWN0OwotQEAgLTg5Niw3ICs4OTcsNyBAQCBzeW1zX2Zyb21fb2JqZmlsZSAo c3RydWN0IG9iamZpbGUgKm9iamZpCitAQCAtODk3LDcgKzg5OCw3IEBAIHN5bXNfZnJvbV9vYmpm aWxlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmkKICAgICAgICBpbml0X29iamZpbGVfc2VjdF9pbmRp Y2VzIChvYmpmaWxlKTsKICAgICAgfQogIApAQCAtMTIxNSw3ICsxMjE1LDcgQEAgSW5kZXg6IGdk Yi02LjguNTAuMjAwOTA4MDkvZ2RiL3N5bWZpbGUuYwogIAogICAgLyogRGlzY2FyZCBjbGVhbnVw cyBhcyBzeW1ib2wgcmVhZGluZyB3YXMgc3VjY2Vzc2Z1bC4gICovCiAgCi1AQCAtOTE1LDE3ICs5 MTYsMjIgQEAgbmV3X3N5bWZpbGVfb2JqZmlsZSAoc3RydWN0IG9iamZpbGUgKm9iagorQEAgLTkx NiwxNyArOTE3LDIyIEBAIG5ld19zeW1maWxlX29iamZpbGUgKHN0cnVjdCBvYmpmaWxlICpvYmoK ICAgIC8qIElmIHRoaXMgaXMgdGhlIG1haW4gc3ltYm9sIGZpbGUgd2UgaGF2ZSB0byBjbGVhbiB1 cCBhbGwgdXNlcnMgb2YgdGhlCiAgICAgICBvbGQgbWFpbiBzeW1ib2wgZmlsZS4gT3RoZXJ3aXNl IGl0IGlzIHN1ZmZpY2llbnQgdG8gZml4dXAgYWxsIHRoZQogICAgICAgYnJlYWtwb2ludHMgdGhh dCBtYXkgaGF2ZSBiZWVuIHJlZGVmaW5lZCBieSB0aGlzIHN5bWJvbCBmaWxlLiAgKi8KQEAgLTEy NDAsNyArMTI0MCw3IEBAIEluZGV4OiBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9zeW1maWxlLmMK ICAKICAgIC8qIFdlJ3JlIGRvbmUgcmVhZGluZyB0aGUgc3ltYm9sIGZpbGU7IGZpbmlzaCBvZmYg Y29tcGxhaW50cy4gICovCiAgICBjbGVhcl9jb21wbGFpbnRzICgmc3ltZmlsZV9jb21wbGFpbnRz LCAwLCBhZGRfZmxhZ3MgJiBTWU1GSUxFX1ZFUkJPU0UpOwotQEAgLTk4Miw3ICs5ODgsNyBAQCBz eW1ib2xfZmlsZV9hZGRfd2l0aF9hZGRyc19vcl9vZmZzZXRzIChiCitAQCAtOTgwLDcgKzk4Niw3 IEBAIHN5bWJvbF9maWxlX2FkZF93aXRoX2FkZHJzX29yX29mZnNldHMgKGIKICAgIC8qIEdpdmUg dXNlciBhIGNoYW5jZSB0byBidXJwIGlmIHdlJ2QgYmUKICAgICAgIGludGVyYWN0aXZlbHkgd2lw aW5nIG91dCBhbnkgZXhpc3Rpbmcgc3ltYm9scy4gICovCiAgCkBAIC0xMjQ5LDcgKzEyNDksNyBA QCBJbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvc3ltZmlsZS5jCiAgICAgICAgJiYgKGhh dmVfZnVsbF9zeW1ib2xzICgpIHx8IGhhdmVfcGFydGlhbF9zeW1ib2xzICgpKQogICAgICAgICYm IGZyb21fdHR5CiAgICAgICAgJiYgKGhhdmVfZnVsbF9zeW1ib2xzICgpIHx8IGhhdmVfcGFydGlh bF9zeW1ib2xzICgpKQotQEAgLTExODMsNiArMTE4OSw5IEBAIHN5bWJvbF9maWxlX2NsZWFyIChp bnQgZnJvbV90dHkpCitAQCAtMTE4MSw2ICsxMTg3LDkgQEAgc3ltYm9sX2ZpbGVfY2xlYXIgKGlu dCBmcm9tX3R0eSkKICAJCSAgICBzeW1maWxlX29iamZpbGUtPm5hbWUpCiAgCSAgOiAhcXVlcnkg KF8oIkRpc2NhcmQgc3ltYm9sIHRhYmxlPyAiKSkpKQogICAgICBlcnJvciAoXygiTm90IGNvbmZp cm1lZC4iKSk7CkBAIC0xMjU5LDcgKzEyNTksNyBAQCBJbmRleDogZ2RiLTYuOC41MC4yMDA5MDgw OS9nZGIvc3ltZmlsZS5jCiAgCiAgICBmcmVlX2FsbF9vYmpmaWxlcyAoKTsKICAKLUBAIC0zMzg3 LDYgKzMzOTYsOCBAQCByZXJlYWRfc3ltYm9scyAodm9pZCkKK0BAIC0zMzg1LDYgKzMzOTQsOCBA QCByZXJlYWRfc3ltYm9scyAodm9pZCkKICAJICAgICAgLyogRGlzY2FyZCBjbGVhbnVwcyBhcyBz eW1ib2wgcmVhZGluZyB3YXMgc3VjY2Vzc2Z1bC4gICovCiAgCSAgICAgIGRpc2NhcmRfY2xlYW51 cHMgKG9sZF9jbGVhbnVwcyk7CiAgCkBAIC0xMjY4LDEwICsxMjY4LDEwIEBAIEluZGV4OiBnZGIt Ni44LjUwLjIwMDkwODA5L2dkYi9zeW1maWxlLmMKICAJICAgICAgLyogSWYgdGhlIG10aW1lIGhh cyBjaGFuZ2VkIGJldHdlZW4gdGhlIHRpbWUgd2Ugc2V0IG5ld19tb2R0aW1lCiAgCSAgICAgICAg IGFuZCBub3csIHdlICp3YW50KiB0aGlzIHRvIGJlIG91dCBvZiBkYXRlLCBzbyBkb24ndCBjYWxs IHN0YXQKICAJICAgICAgICAgYWdhaW4gbm93LiAgKi8KLUluZGV4OiBnZGItNi44LjUwLjIwMDkw ODA5L2dkYi90YXJnZXQuaAorSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL3RhcmdldC5o CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTYuOC41MC4yMDA5MDgwOS5vcmlnL2dkYi90YXJnZXQuaAky MDA5LTA4LTEwIDE0OjU5OjI4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi02LjguNTAuMjAwOTA4 MDkvZ2RiL3RhcmdldC5oCTIwMDktMDgtMTAgMTQ6NTk6NTguMDAwMDAwMDAwICswMjAwCistLS0g Z2RiLTYuOC41MC4yMDA5MDgxMS5vcmlnL2dkYi90YXJnZXQuaAkyMDA5LTA4LTExIDIzOjEyOjMy LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL3RhcmdldC5oCTIw MDktMDgtMTEgMjM6MTI6MzQuMDAwMDAwMDAwICswMjAwCiBAQCAtNTI0LDcgKzUyNCw3IEBAIHN0 cnVjdCB0YXJnZXRfb3BzCiAgICAgICAgIFJldHVybiAtMSBpZiB0aGVyZSBpcyBpbnN1ZmZpY2ll bnQgYnVmZmVyIGZvciBhIHdob2xlIGVudHJ5LgogICAgICAgICBSZXR1cm4gMSBpZiBhbiBlbnRy eSB3YXMgcmVhZCBpbnRvICpUWVBFUCBhbmQgKlZBTFAuICAqLwpAQCAtMTI4MSwxMCArMTI4MSwx MCBAQCBJbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvdGFyZ2V0LmgKICAKICAgICAgLyog U2VhcmNoIFNFQVJDSF9TUEFDRV9MRU4gYnl0ZXMgYmVnaW5uaW5nIGF0IFNUQVJUX0FERFIgZm9y IHRoZQogICAgICAgICBzZXF1ZW5jZSBvZiBieXRlcyBpbiBQQVRURVJOIHdpdGggbGVuZ3RoIFBB VFRFUk5fTEVOLgotSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL3N5bWZpbGUuaAorSW5k ZXg6IGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL3N5bWZpbGUuaAogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi02LjguNTAuMjAwOTA4MDkub3JpZy9nZGIvc3ltZmlsZS5oCTIwMDktMDgtMTAgMTQ6NTk6Mjgu MDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvc3ltZmlsZS5oCTIw MDktMDgtMTAgMTQ6NTk6NTguMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTYuOC41MC4yMDA5MDgx MS5vcmlnL2dkYi9zeW1maWxlLmgJMjAwOS0wOC0xMSAyMzoxMjozMi4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNi44LjUwLjIwMDkwODExL2dkYi9zeW1maWxlLmgJMjAwOS0wOC0xMSAyMzoxMjoz NC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0yMjksNyArMjI5LDEzIEBAIGVudW0gc3ltZmlsZV9hZGRf ZmxhZ3MKICAgICAgU1lNRklMRV9NQUlOTElORSA9IDEgPDwgMiwKICAKCmRpZmYgLS1naXQgYS9n ZGItYXJjaGVyLnBhdGNoIGIvZ2RiLWFyY2hlci5wYXRjaAppbmRleCBiMWIwZTFkLi45ZWQ5Y2Rm IDEwMDY0NAotLS0gYS9nZGItYXJjaGVyLnBhdGNoCisrKyBiL2dkYi1hcmNoZXIucGF0Y2gKQEAg LTIsNyArMiw3IEBAIGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9nZGIvd2lraS9Qcm9qZWN0QXJjaGVy CiBodHRwOi8vc291cmNld2FyZS5vcmcvZ2RiL3dpa2kvQXJjaGVyQnJhbmNoTWFuYWdlbWVudAog CiBHSVQgc25hcHNob3Q6Ci1jb21taXQgOTNmNWU5NDJiZGNkY2MzNzZlY2U0NTJjMzA5YmVkYWJh ZTcxZGVmOQorY29tbWl0IDI4ODhmYWZlNjM4ODk3NTdjNmZkMjdjY2MyZjI1NjYxZDQzZmQxYTQK IAogYnJhbmNoIGBhcmNoZXInIC0gdGhlIG1lcmdlIG9mIGJyYW5jaGVzOgogYXJjaGVyLXRyb21l eS1jYWxsLWZyYW1lLWNmYQpAQCAtMzIxNCwyNiArMzIxNCwxMCBAQCBpbmRleCBiMWMwNDUyLi5k YTI0Yjk4IDEwMDY0NAogIAogIEBub2RlIExhbmd1YWdlIFN1cHBvcnQKIGRpZmYgLS1naXQgYS9n ZGIvZG9jL29ic2VydmVyLnRleGkgYi9nZGIvZG9jL29ic2VydmVyLnRleGkKLWluZGV4IDQ5ODRm MzEuLjRiYmJlNGUgMTAwNjQ0CitpbmRleCA0OTg0ZjMxLi5mY2YxYjVkIDEwMDY0NAogLS0tIGEv Z2RiL2RvYy9vYnNlcnZlci50ZXhpCiArKysgYi9nZGIvZG9jL29ic2VydmVyLnRleGkKLUBAIC0x MzAsNiArMTMwLDE1IEBAIENhbGxlZCB3aXRoIEB2YXJ7b2JqZmlsZX0gZXF1YWwgdG8gQGNvZGV7 TlVMTH0gdG8gaW5kaWNhdGUKLSBwcmV2aW91c2x5IGxvYWRlZCBzeW1ib2wgdGFibGUgZGF0YSBo YXMgbm93IGJlZW4gaW52YWxpZGF0ZWQuCi0gQGVuZCBkZWZ0eXBlZnVuCi0gCi0rQGRlZnR5cGVm dW4gdm9pZCBvYmpmaWxlX3VubG9hZGluZyAoc3RydWN0IG9iamZpbGUgKkB2YXJ7b2JqZmlsZX0p Ci0rVGhlIGZpbGUgc3BlY2lmaWVkIGJ5IEB2YXJ7b2JqZmlsZX0gaXMgZ29pbmcgdG8gYmUgcmVt b3ZlZCBmcm9tIEB2YWx1ZXtHREJOfS4KLStAZW5kIGRlZnR5cGVmdW4KLSsKLStAZGVmdHlwZWZ1 biB2b2lkIG9iamZpbGVfdW5sb2FkZWQgKHZvaWQpCi0rUmVtb3ZhbCBvZiBAdmFye29iamZpbGV9 IHN0YXJ0ZWQgYnkgQGNvZGV7b2JqZmlsZV91bmxvYWRpbmd9IGZpbmlzaGVkIGFuZAotK0B2YXJ7 b2JqZmlsZX0gaXMgbm8gbG9uZ2VyIGtub3duIHRvIEB2YWx1ZXtHREJOfS4KLStAZW5kIGRlZnR5 cGVmdW4KLSsKLSBAZGVmdHlwZWZ1biB2b2lkIG5ld190aHJlYWQgKHN0cnVjdCB0aHJlYWRfaW5m byAqQHZhcnt0fSkKLSBUaGUgdGhyZWFkIHNwZWNpZmllZCBieSBAdmFye3R9IGhhcyBiZWVuIGNy ZWF0ZWQuCi0gQGVuZCBkZWZ0eXBlZnVuCi1AQCAtMjA2LDYgKzIxNSwxMSBAQCBFaXRoZXIgQHZh bHVle0dEQk59IGRldGFjaGVkIGZyb20gdGhlIGluZmVyaW9yLCBvciB0aGUgaW5mZXJpb3IKK0BA IC0yMDYsNiArMjA2LDExIEBAIEVpdGhlciBAdmFsdWV7R0RCTn0gZGV0YWNoZWQgZnJvbSB0aGUg aW5mZXJpb3IsIG9yIHRoZSBpbmZlcmlvcgogIGV4aXRlZC4gIFRoZSBhcmd1bWVudCBAdmFye3Bp ZH0gaWRlbnRpZmllcyB0aGUgaW5mZXJpb3IuCiAgQGVuZCBkZWZ0eXBlZnVuCiAgCkBAIC0xMDUx MywyMyArMTA0OTcsMTcgQEAgaW5kZXggYTg0MDAzZi4uOTI0YzFjNSAxMDA2NDQKICAgIGRlZmF1 bHRfc3ltZmlsZV9vZmZzZXRzLAkvKiBzeW1fb2Zmc2V0czogZHVtbXkgRklYTUUgdGlsIGltcGxl bSBzeW0gcmVsb2MgKi8KICAgIGRlZmF1bHRfc3ltZmlsZV9zZWdtZW50cywJLyogc3ltX3NlZ21l bnRzOiBHZXQgc2VnbWVudCBpbmZvcm1hdGlvbiBmcm9tCiBkaWZmIC0tZ2l0IGEvZ2RiL29iamZp bGVzLmMgYi9nZGIvb2JqZmlsZXMuYwotaW5kZXggNTg2ZjVkMC4uYTRiZjcxOSAxMDA2NDQKK2lu ZGV4IDU4NmY1ZDAuLjZkMDQ1MWMgMTAwNjQ0CiAtLS0gYS9nZGIvb2JqZmlsZXMuYwogKysrIGIv Z2RiL29iamZpbGVzLmMKLUBAIC00MzIsMTAgKzQzMiw5IEBAIGZyZWVfb2JqZmlsZSAoc3RydWN0 IG9iamZpbGUgKm9iamZpbGUpCi0gCSBkb2Vzbid0IHJlZmVyZW5jZSBpdC4gICovCi0gICAgICAg b2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluay0+c2VwYXJhdGVfZGVidWdf b2JqZmlsZSA9IE5VTEw7Ci0gICAgIH0KLS0gIAotLSAgLyogUmVtb3ZlIGFueSByZWZlcmVuY2Vz IHRvIHRoaXMgb2JqZmlsZSBpbiB0aGUgZ2xvYmFsIHZhbHVlCi0tICAgICBsaXN0cy4gICovCi0t ICBwcmVzZXJ2ZV92YWx1ZXMgKG9iamZpbGUpOwotKwotKyAgLyogUmVtb3ZlIGFueSByZWZlcmVu Y2VzIHRvIHRoaXMgb2JqZmlsZSBpbiB0aGUgZ2xvYmFsIHZhbHVlIGxpc3RzLiAgKi8KLSsgIG9i c2VydmVyX25vdGlmeV9vYmpmaWxlX3VubG9hZGluZyAob2JqZmlsZSk7CitAQCAtNTAsNyArNTAs NiBAQAorICNpbmNsdWRlICJhZGRybWFwLmgiCisgI2luY2x1ZGUgImFyY2gtdXRpbHMuaCIKKyAj aW5jbHVkZSAiZXhlYy5oIgorLSNpbmNsdWRlICJvYnNlcnZlci5oIgorIAorIC8qIFByb3RvdHlw ZXMgZm9yIGxvY2FsIGZ1bmN0aW9ucyAqLwogIAotICAgLyogRmlyc3QgZG8gYW55IHN5bWJvbCBm aWxlIHNwZWNpZmljIGFjdGlvbnMgcmVxdWlyZWQgd2hlbiB3ZSBhcmUKLSAgICAgIGZpbmlzaGVk IHdpdGggYSBwYXJ0aWN1bGFyIHN5bWJvbCBmaWxlLiAgTm90ZSB0aGF0IGlmIHRoZSBvYmpmaWxl CiBAQCAtNDU4LDEyICs0NTcsMTQgQEAgZnJlZV9vYmpmaWxlIChzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSkKICAKICAgIHVubGlua19vYmpmaWxlIChvYmpmaWxlKTsKQEAgLTEwODQyLDcgKzEwODIw LDcgQEAgaW5kZXggY2JkYTljMy4uYTA3ZTZmMiAxMDA2NDQKICsKICAjZW5kaWYgLyogUEFSU0VS X0RFRlNfSCAqLwogZGlmZiAtLWdpdCBhL2dkYi9wcmludGNtZC5jIGIvZ2RiL3ByaW50Y21kLmMK LWluZGV4IDVkOGI5MzYuLjQ5YzU3NWQgMTAwNjQ0CitpbmRleCA1ZDhiOTM2Li5mYjBhNDU1IDEw MDY0NAogLS0tIGEvZ2RiL3ByaW50Y21kLmMKICsrKyBiL2dkYi9wcmludGNtZC5jCiBAQCAtNDYs NyArNDYsNiBAQApAQCAtMTA5MzksMTMgKzEwOTE3LDExIEBAIGluZGV4IDVkOGI5MzYuLjQ5YzU3 NWQgMTAwNjQ0CiAgLyogZGlzcGxheV9jaGFpbiBpdGVtcyBwb2ludCB0byBibG9ja3MgYW5kIGV4 cHJlc3Npb25zLiAgU29tZSBleHByZXNzaW9ucyBpbgogICAgIHR1cm4gbWF5IHBvaW50IHRvIHN5 bWJvbHMuCiAgICAgQm90aCBzeW1ib2xzIGFuZCBibG9ja3MgYXJlIG9ic3RhY2tfYWxsb2MnZCBv biBvYmpmaWxlX3N0YWNrLCBhbmQgYXJlCi1AQCAtMTg1MSwyMCArMTgyNywxOCBAQCBkaXNwbGF5 X3VzZXNfc29saWJfcCAoY29uc3Qgc3RydWN0IGRpc3BsYXkgKmQsCi0gICAgYW4gaXRlbSBieSBy ZS1wYXJzaW5nIC5leHBfc3RyaW5nIGZpZWxkIGluIHRoZSBuZXcgZXhlY3V0aW9uIGNvbnRleHQu ICAqLwotIAorQEAgLTE4NTMsMTggKzE4MjksMjAgQEAgZGlzcGxheV91c2VzX3NvbGliX3AgKGNv bnN0IHN0cnVjdCBkaXNwbGF5ICpkLAogIHN0YXRpYyB2b2lkCi0tY2xlYXJfZGFuZ2xpbmdfZGlz cGxheV9leHByZXNzaW9ucyAoc3RydWN0IHNvX2xpc3QgKnNvbGliKQotK2NsZWFyX2RhbmdsaW5n X2Rpc3BsYXlfZXhwcmVzc2lvbnMgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQorIGNsZWFyX2Rh bmdsaW5nX2Rpc3BsYXlfZXhwcmVzc2lvbnMgKHN0cnVjdCBzb19saXN0ICpzb2xpYikKICB7Cisr ICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSA9IHNvbGliLT5vYmpmaWxlOwogICAgc3RydWN0IGRp c3BsYXkgKmQ7CiAtICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSA9IE5VTEw7CiAgCkBAIC0xMDk1 OCw2ICsxMDkzNCw5IEBAIGluZGV4IDVkOGI5MzYuLjQ5YzU3NWQgMTAwNjQ0CiAtCSAgZC0+Ymxv Y2sgPSBOVUxMOwogLQl9CiAtICAgIH0KKysgIGlmIChvYmpmaWxlID09IE5VTEwpCisrICAgIHJl dHVybjsKKysKICsgIGZvciAoZCA9IGRpc3BsYXlfY2hhaW47IGQgIT0gTlVMTDsgZCA9IGQtPm5l eHQpCiArICAgIGlmIChibG9ja19vYmpmaWxlIChkLT5ibG9jaykgPT0gb2JqZmlsZQogKwl8fCAo ZC0+ZXhwICYmIGV4cF91c2VzX29iamZpbGUgKGQtPmV4cCwgb2JqZmlsZSkpKQpAQCAtMTA5Njks MTYgKzEwOTQ4LDcgQEAgaW5kZXggNWQ4YjkzNi4uNDljNTc1ZCAxMDA2NDQKICB9CiAgDAogIAot QEAgLTI1OTMsNyArMjU2Nyw3IEBAIF9pbml0aWFsaXplX3ByaW50Y21kICh2b2lkKQotIAotICAg Y3VycmVudF9kaXNwbGF5X251bWJlciA9IC0xOwotIAotLSAgb2JzZXJ2ZXJfYXR0YWNoX3NvbGli X3VubG9hZGVkIChjbGVhcl9kYW5nbGluZ19kaXNwbGF5X2V4cHJlc3Npb25zKTsKLSsgIG9ic2Vy dmVyX2F0dGFjaF9vYmpmaWxlX3VubG9hZGluZyAoY2xlYXJfZGFuZ2xpbmdfZGlzcGxheV9leHBy ZXNzaW9ucyk7Ci0gCi0gICBhZGRfaW5mbyAoImFkZHJlc3MiLCBhZGRyZXNzX2luZm8sCi0gCSAg ICBfKCJEZXNjcmliZSB3aGVyZSBzeW1ib2wgU1lNIGlzIHN0b3JlZC4iKSk7Ci1AQCAtMjc0OSw0 ICsyNzIzLDYgQEAgU2hvdyBwcmludGluZyBvZiBzb3VyY2UgZmlsZW5hbWUgYW5kIGxpbmUgbnVt YmVyIHdpdGggPHN5bWJvbD4uIiksIE5VTEwsCitAQCAtMjc0OSw0ICsyNzI3LDYgQEAgU2hvdyBw cmludGluZyBvZiBzb3VyY2UgZmlsZW5hbWUgYW5kIGxpbmUgbnVtYmVyIHdpdGggPHN5bWJvbD4u IiksIE5VTEwsCiAgCQkJICAgTlVMTCwKICAJCQkgICBzaG93X3ByaW50X3N5bWJvbF9maWxlbmFt ZSwKICAJCQkgICAmc2V0cHJpbnRsaXN0LCAmc2hvd3ByaW50bGlzdCk7CkBAIC0xNzQ5NywyNiAr MTc0NjcsMTMgQEAgaW5kZXggMWMzNzgwMS4uNTk0ZWIxNiAxMDA2NDQKICAJICBwcmludF92YXJp YWJsZV9hbmRfdmFsdWUgKE5VTEwsIHN5bSwgZnJhbWUsIHN0cmVhbSwgNCAqIG51bV90YWJzKTsK ICAJICBicmVhazsKIGRpZmYgLS1naXQgYS9nZGIvc3ltZmlsZS5jIGIvZ2RiL3N5bWZpbGUuYwot aW5kZXggYzE4MmZhYS4uOGI5NzFmYiAxMDA2NDQKK2luZGV4IGMxODJmYWEuLjU1MGQwNmEgMTAw NjQ0CiAtLS0gYS9nZGIvc3ltZmlsZS5jCiArKysgYi9nZGIvc3ltZmlsZS5jCi1AQCAtNTIsNyAr NTIsNiBAQAotICNpbmNsdWRlICJvYnNlcnZlci5oIgotICNpbmNsdWRlICJleGVjLmgiCi0gI2lu Y2x1ZGUgInBhcnNlci1kZWZzLmgiCi0tI2luY2x1ZGUgInZhcm9iai5oIgotICNpbmNsdWRlICJl bGYtYmZkLmgiCi0gI2luY2x1ZGUgInNvbGliLmgiCi0gI2luY2x1ZGUgInJlbW90ZS5oIgotQEAg LTkyNiw2ICs5MjUsMjAgQEAgbmV3X3N5bWZpbGVfb2JqZmlsZSAoc3RydWN0IG9iamZpbGUgKm9i amZpbGUsIGludCBhZGRfZmxhZ3MpCi0gCi0gICAvKiBXZSdyZSBkb25lIHJlYWRpbmcgdGhlIHN5 bWJvbCBmaWxlOyBmaW5pc2ggb2ZmIGNvbXBsYWludHMuICAqLworQEAgLTkyOCw2ICs5MjgsMTcg QEAgbmV3X3N5bWZpbGVfb2JqZmlsZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGludCBhZGRf ZmxhZ3MpCiAgICBjbGVhcl9jb21wbGFpbnRzICgmc3ltZmlsZV9jb21wbGFpbnRzLCAwLCBhZGRf ZmxhZ3MgJiBTWU1GSUxFX1ZFUkJPU0UpOwotKwotKyAgLyogV2UgaGF2ZSBmaW5pc2hlZCB1bmxv YWRpbmcgb2YgT0JKRklMRS4gICovCi0rICBvYnNlcnZlcl9ub3RpZnlfb2JqZmlsZV91bmxvYWRl ZCAoKTsKLSt9Ci0rCisgfQorIAogKy8qIEEgaGVscGVyIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMg dHJ1ZSBpZiBPQkpGSUxFIGhhcyBhbnkgZGVidWcKICsgICBzeW1ib2xzLCBhbmQgZmFsc2Ugb3Ro ZXJ3aXNlLiAgKi8KICtzdGF0aWMgaW50CkBAIC0xNzUyNiwxMCArMTc0ODMsMTIgQEAgaW5kZXgg YzE4MmZhYS4uOGI5NzFmYiAxMDA2NDQKICsJICB8fCAob2JqZmlsZS0+c2VwYXJhdGVfZGVidWdf b2JqZmlsZQogKwkgICAgICAmJiAob2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZS0+cHN5 bXRhYnMKICsJCSAgfHwgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZS0+cXVpY2tfYWRk cm1hcCkpKTsKLSB9Ci0gCisrfQorKwogIC8qIFByb2Nlc3MgYSBzeW1ib2wgZmlsZSwgYXMgZWl0 aGVyIHRoZSBtYWluIGZpbGUgb3IgYXMgYSBkeW5hbWljYWxseQotQEAgLTk2NSwxMyArOTc4LDE2 IEBAIHN5bWJvbF9maWxlX2FkZF93aXRoX2FkZHJzX29yX29mZnNldHMgKGJmZCAqYWJmZCwKKyAg ICBsb2FkZWQgZmlsZS4KKyAKK0BAIC05NjUsMTMgKzk3NiwxNiBAQCBzeW1ib2xfZmlsZV9hZGRf d2l0aF9hZGRyc19vcl9vZmZzZXRzIChiZmQgKmFiZmQsCiAgICAvKiBHaXZlIHVzZXIgYSBjaGFu Y2UgdG8gYnVycCBpZiB3ZSdkIGJlCiAgICAgICBpbnRlcmFjdGl2ZWx5IHdpcGluZyBvdXQgYW55 IGV4aXN0aW5nIHN5bWJvbHMuICAqLwogIApAQCAtMTc1NDgsNyArMTc1MDcsNyBAQCBpbmRleCBj MTgyZmFhLi44Yjk3MWZiIDEwMDY0NAogICAgZGlzY2FyZF9jbGVhbnVwcyAobXlfY2xlYW51cHMp OwogIAogICAgaWYgKGFkZHJzKQotQEAgLTEwMDcsNiArMTAyMyw4IEBAIHN5bWJvbF9maWxlX2Fk ZF93aXRoX2FkZHJzX29yX29mZnNldHMgKGJmZCAqYWJmZCwKK0BAIC0xMDA3LDYgKzEwMjEsOCBA QCBzeW1ib2xfZmlsZV9hZGRfd2l0aF9hZGRyc19vcl9vZmZzZXRzIChiZmQgKmFiZmQsCiAgCiAg ICBpZiAoKGZsYWdzICYgT0JKRl9SRUFETk9XKSB8fCByZWFkbm93X3N5bWJvbF9maWxlcykKICAg ICAgewpAQCAtMTc1NTcsNyArMTc1MTYsNyBAQCBpbmRleCBjMTgyZmFhLi44Yjk3MWZiIDEwMDY0 NAogICAgICAgIGlmICgoZnJvbV90dHkgfHwgaW5mb192ZXJib3NlKSAmJiBwcmludF9zeW1ib2xf bG9hZGluZykKICAJewogIAkgIHByaW50Zl91bmZpbHRlcmVkIChfKCJleHBhbmRpbmcgdG8gZnVs bCBzeW1ib2xzLi4uIikpOwotQEAgLTEwMjUsNyArMTA0Myw3IEBAIHN5bWJvbF9maWxlX2FkZF93 aXRoX2FkZHJzX29yX29mZnNldHMgKGJmZCAqYWJmZCwKK0BAIC0xMDI1LDcgKzEwNDEsNyBAQCBz eW1ib2xfZmlsZV9hZGRfd2l0aF9hZGRyc19vcl9vZmZzZXRzIChiZmQgKmFiZmQsCiAgICAvKiBJ ZiB0aGUgZmlsZSBoYXMgaXRzIG93biBzeW1ib2wgdGFibGVzIGl0IGhhcyBubyBzZXBhcmF0ZSBk ZWJ1ZyBpbmZvLgogICAgICAgYC5keW5zeW0nL2Auc3ltdGFiJyBnbyB0byBNU1lNQk9MUywgYC5k ZWJ1Z19pbmZvJyBnb2VzIHRvIFNZTVRBQlMvUFNZTVRBQlMuCiAgICAgICBgLmdudV9kZWJ1Z2xp bmsnIG1heSBubyBsb25nZXIgYmUgcHJlc2VudCB3aXRoIGAubm90ZS5nbnUuYnVpbGQtaWQnLiAg Ki8KQEAgLTE3NTY2LDcgKzE3NTI1LDcgQEAgaW5kZXggYzE4MmZhYS4uOGI5NzFmYiAxMDA2NDQK ICAgICAgZGVidWdmaWxlID0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlIChvYmpmaWxlKTsKICAg IGlmIChkZWJ1Z2ZpbGUpCiAgICAgIHsKLUBAIC0xMDQ5LDggKzEwNjcsMTEgQEAgc3ltYm9sX2Zp bGVfYWRkX3dpdGhfYWRkcnNfb3Jfb2Zmc2V0cyAoYmZkICphYmZkLAorQEAgLTEwNDksOCArMTA2 NSwxMSBAQCBzeW1ib2xfZmlsZV9hZGRfd2l0aF9hZGRyc19vcl9vZmZzZXRzIChiZmQgKmFiZmQs CiAgICAgICAgeGZyZWUgKGRlYnVnZmlsZSk7CiAgICAgIH0KICAKQEAgLTE3NTgwLDcgKzE3NTM5 LDcgQEAgaW5kZXggYzE4MmZhYS4uOGI5NzFmYiAxMDA2NDQKICAgICAgewogICAgICAgIHdyYXBf aGVyZSAoIiIpOwogICAgICAgIHByaW50Zl91bmZpbHRlcmVkIChfKCIobm8gZGVidWdnaW5nIHN5 bWJvbHMgZm91bmQpIikpOwotQEAgLTExNjYsNyArMTE4Nyw5IEBAIHN5bWJvbF9maWxlX2NsZWFy IChpbnQgZnJvbV90dHkpCitAQCAtMTE2Niw3ICsxMTg1LDkgQEAgc3ltYm9sX2ZpbGVfY2xlYXIg KGludCBmcm9tX3R0eSkKICAgICAgIGRlc2NyaXB0b3JzIGFzIHdlbGwuICAqLwogICAgbm9fc2hh cmVkX2xpYnJhcmllcyAoTlVMTCwgZnJvbV90dHkpOwogIApAQCAtMTc1OTEsMTYgKzE3NTUwLDcg QEAgaW5kZXggYzE4MmZhYS4uOGI5NzFmYiAxMDA2NDQKICAgIGlmIChmcm9tX3R0eSkKICAgICAg cHJpbnRmX3VuZmlsdGVyZWQgKF8oIk5vIHN5bWJvbCBmaWxlIG5vdy5cbiIpKTsKICB9Ci1AQCAt MjM0OSw3ICsyMzcyLDcgQEAgcmVyZWFkX3N5bWJvbHMgKHZvaWQpCi0gCi0gCSAgICAgIC8qIFJl bW92ZSBhbnkgcmVmZXJlbmNlcyB0byB0aGlzIG9iamZpbGUgaW4gdGhlIGdsb2JhbAotIAkJIHZh bHVlIGxpc3RzLiAgKi8KLS0JICAgICAgcHJlc2VydmVfdmFsdWVzIChvYmpmaWxlKTsKLSsJICAg ICAgb2JzZXJ2ZXJfbm90aWZ5X29iamZpbGVfdW5sb2FkaW5nIChvYmpmaWxlKTsKLSAKLSAJICAg ICAgLyogTnVrZSBhbGwgdGhlIHN0YXRlIHRoYXQgd2Ugd2lsbCByZS1yZWFkLiAgTXVjaCBvZiB0 aGUgZm9sbG93aW5nCi0gCSAgICAgICAgIGNvZGUgd2hpY2ggc2V0cyB0aGluZ3MgdG8gTlVMTCBy ZWFsbHkgaXMgbmVjZXNzYXJ5IHRvIHRlbGwKLUBAIC0yNDM3LDEzICsyNDYwLDE1IEBAIHJlcmVh ZF9zeW1ib2xzICh2b2lkKQorQEAgLTI0MzcsMTMgKzI0NTgsMTUgQEAgcmVyZWFkX3N5bWJvbHMg KHZvaWQpCiAgCSAgICAgICAgIHplcm8gaXMgT0sgc2luY2UgZGJ4cmVhZC5jIGFsc28gZG9lcyB3 aGF0IGl0IG5lZWRzIHRvIGRvIGlmCiAgCSAgICAgICAgIG9iamZpbGUtPmdsb2JhbF9wc3ltYm9s cy5zaXplIGlzIDAuICAqLwogIAkgICAgICAoKm9iamZpbGUtPnNmLT5zeW1fcmVhZCkgKG9iamZp bGUsIDApOwpAQCAtMTc2MTcsMTcgKzE3NTY3LDcgQEAgaW5kZXggYzE4MmZhYS4uOGI5NzFmYiAx MDA2NDQKICAJICAgICAgLyogV2UncmUgZG9uZSByZWFkaW5nIHRoZSBzeW1ib2wgZmlsZTsgZmlu aXNoIG9mZiBjb21wbGFpbnRzLiAgKi8KICAJICAgICAgY2xlYXJfY29tcGxhaW50cyAoJnN5bWZp bGVfY29tcGxhaW50cywgMCwgMSk7CiAgCi1AQCAtMjQ1Miw2ICsyNDc3LDkgQEAgcmVyZWFkX3N5 bWJvbHMgKHZvaWQpCi0gCi0gCSAgICAgIHJlaW5pdF9mcmFtZV9jYWNoZSAoKTsKLSAKLSsJICAg ICAgLyogV2UgaGF2ZSBmaW5pc2hlZCByZWxvYWRpbmcgb2YgT0JKRklMRS4gICovCi0rCSAgICAg IG9ic2VydmVyX25vdGlmeV9vYmpmaWxlX3VubG9hZGVkICgpOwotKwotIAkgICAgICAvKiBEaXNj YXJkIGNsZWFudXBzIGFzIHN5bWJvbCByZWFkaW5nIHdhcyBzdWNjZXNzZnVsLiAgKi8KLSAJICAg ICAgZGlzY2FyZF9jbGVhbnVwcyAob2xkX2NsZWFudXBzKTsKLSAKLUBAIC0yNzQxLDcgKzI3Njks NyBAQCBhbGxvY2F0ZV9zeW10YWIgKGNoYXIgKmZpbGVuYW1lLCBzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSkKK0BAIC0yNzQxLDcgKzI3NjQsNyBAQCBhbGxvY2F0ZV9zeW10YWIgKGNoYXIgKmZpbGVu YW1lLCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKICB9CiAgCiAgc3RydWN0IHBhcnRpYWxfc3lt dGFiICoKQEAgLTE3NjM2LDE4ICsxNzU3Niw3IEBAIGluZGV4IGMxODJmYWEuLjhiOTcxZmIgMTAw NjQ0CiAgewogICAgc3RydWN0IHBhcnRpYWxfc3ltdGFiICpwc3ltdGFiOwogIAotQEAgLTI4MzIs MTAgKzI4NjAsNiBAQCBjbGVhcl9zeW10YWJfdXNlcnMgKHZvaWQpCi0gICAgICBiZXR3ZWVuIGV4 cHJlc3Npb25zIGFuZCB3aGljaCBvdWdodCB0byBiZSByZXNldCBlYWNoIHRpbWUuICAqLwotICAg ZXhwcmVzc2lvbl9jb250ZXh0X2Jsb2NrID0gTlVMTDsKLSAgIGlubmVybW9zdF9ibG9jayA9IE5V TEw7Ci0tCi0tICAvKiBWYXJvYmogbWF5IHJlZmVyIHRvIG9sZCBzeW1ib2xzLCBwZXJmb3JtIGEg Y2xlYW51cC4gICovCi0tICB2YXJvYmpfaW52YWxpZGF0ZSAoKTsKLS0KLSB9Ci0gCi0gc3RhdGlj IHZvaWQKLUBAIC0zMDU1LDcgKzMwNzksOCBAQCBhZ2FpbjI6CitAQCAtMzA1NSw3ICszMDc4LDgg QEAgYWdhaW4yOgogIAogIHN0cnVjdCBwYXJ0aWFsX3N5bXRhYiAqCiAgc3RhcnRfcHN5bXRhYl9j b21tb24gKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLApAQCAtMjUyMDEsNyArMjUxMzAsNyBAQCBp bmRleCBjYmI1ZDk0Li5jZjM1YmYwIDEwMDY0NAogIAkgICsrcmVwczsKICAJICArK3JlcDE7CiBk aWZmIC0tZ2l0IGEvZ2RiL3ZhbHVlLmMgYi9nZGIvdmFsdWUuYwotaW5kZXggNjVhNWFhOS4uYzk0 Mzc4MSAxMDA2NDQKK2luZGV4IDY1YTVhYTkuLmZhMzlkM2QgMTAwNjQ0CiAtLS0gYS9nZGIvdmFs dWUuYwogKysrIGIvZ2RiL3ZhbHVlLmMKIEBAIC0zNyw4ICszNywxMCBAQApAQCAtMjU0NjcsMTUg KzI1Mzk2LDYgQEAgaW5kZXggNjVhNWFhOS4uYzk0Mzc4MSAxMDA2NDQKICAgICAgICBicmVhazsK ICAKICAgICAgY2FzZSBJTlRFUk5BTFZBUl9WQUxVRToKLUBAIC0xNDY5LDcgKzE1NTEsNyBAQCBw cmVzZXJ2ZV9vbmVfaW50ZXJuYWx2YXIgKHN0cnVjdCBpbnRlcm5hbHZhciAqdmFyLCBzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSwKLSAgICB0aGlzIG9iamZpbGUncyB0eXBlcywgYW5kIHRoZSBjb252 ZW5pZW5jZSB2YXJpYWJsZXMgd2lsbCBiZSBhZGp1c3RlZCB0bwotICAgIHVzZSB0aGUgbmV3IGds b2JhbCB0eXBlcy4gICovCi0gCi0tdm9pZAotK3N0YXRpYyB2b2lkCi0gcHJlc2VydmVfdmFsdWVz IChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKLSB7Ci0gICBodGFiX3QgY29waWVkX3R5cGVzOwog QEAgLTE0OTAsOCArMTU3Miw3IEBAIHByZXNlcnZlX3ZhbHVlcyAoc3RydWN0IG9iamZpbGUgKm9i amZpbGUpCiAgICBmb3IgKHZhciA9IGludGVybmFsdmFyczsgdmFyOyB2YXIgPSB2YXItPm5leHQp CiAgICAgIHByZXNlcnZlX29uZV9pbnRlcm5hbHZhciAodmFyLCBvYmpmaWxlLCBjb3BpZWRfdHlw ZXMpOwpAQCAtMjU1NjcsMTggKzI1NDg3LDE3IEBAIGluZGV4IDY1YTVhYTkuLmM5NDM3ODEgMTAw NjQ0CiAgLyogQ3JlYXRlIGEgdmFsdWUgcmVwcmVzZW50aW5nIGEgcG9pbnRlciBvZiB0eXBlIFRZ UEUgdG8gdGhlIGFkZHJlc3MKICAgICBBRERSLiAgKi8KICBzdHJ1Y3QgdmFsdWUgKgotQEAgLTIz NDIsNCArMjQ3Niw5IEBAIFZBUklBQkxFIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuIikpOworQEAg LTIzNDIsNCArMjQ3Niw4IEBAIFZBUklBQkxFIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuIikpOwog ICAgYWRkX3ByZWZpeF9jbWQgKCJmdW5jdGlvbiIsIG5vX2NsYXNzLCBmdW5jdGlvbl9jb21tYW5k LCBfKCJcCiAgUGxhY2Vob2xkZXIgY29tbWFuZCBmb3Igc2hvd2luZyBoZWxwIG9uIGNvbnZlbmll bmNlIGZ1bmN0aW9ucy4iKSwKICAJCSAgJmZ1bmN0aW9ubGlzdCwgImZ1bmN0aW9uICIsIDAsICZj bWRsaXN0KTsKICsKICsgIG1ha2VfZmluYWxfY2xlYW51cCAodmFsdWVfaGlzdG9yeV9jbGVhbnVw LCBOVUxMKTsKICsKLSsgIG9ic2VydmVyX2F0dGFjaF9vYmpmaWxlX3VubG9hZGluZyAocHJlc2Vy dmVfdmFsdWVzKTsKICsgIG9ic2VydmVyX2F0dGFjaF9tYXJrX3VzZWQgKHZhbHVlX3R5cGVzX21h cmtfdXNlZCk7CiAgfQogZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5oIGIvZ2RiL3ZhbHVlLmgKLWlu ZGV4IDI5YWQ3ODMuLmVlODQ0MGIgMTAwNjQ0CitpbmRleCAyOWFkNzgzLi5jMzU3ZDgwIDEwMDY0 NAogLS0tIGEvZ2RiL3ZhbHVlLmgKICsrKyBiL2dkYi92YWx1ZS5oCiBAQCAtMzQ0LDExICszNDQs MTYgQEAgZXh0ZXJuIExPTkdFU1QgdW5wYWNrX2ZpZWxkX2FzX2xvbmcgKHN0cnVjdCB0eXBlICp0 eXBlLApAQCAtMjU2MDYsMTMgKzI1NTI1LDcgQEAgaW5kZXggMjlhZDc4My4uZWU4NDQwYiAxMDA2 NDQKICAJCQkJCSAgaW50IHdhbnRfYWRkcmVzcywKICAJCQkJCSAgZW51bSBub3NpZGUgbm9zaWRl KTsKICAKLUBAIC02NTgsMTIgKzY2NCwxMiBAQCBleHRlcm4gdm9pZCB0eXBlZGVmX3ByaW50IChz dHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHN5bWJvbCAqbmV3cywKLSAKLSBleHRlcm4gY2hhciAq aW50ZXJuYWx2YXJfbmFtZSAoc3RydWN0IGludGVybmFsdmFyICp2YXIpOwotIAotLWV4dGVybiB2 b2lkIHByZXNlcnZlX3ZhbHVlcyAoc3RydWN0IG9iamZpbGUgKik7Ci0tCi0gLyogRnJvbSB2YWx1 ZXMuYyAqLworQEAgLTY2NCw2ICs2NzAsOCBAQCBleHRlcm4gdm9pZCBwcmVzZXJ2ZV92YWx1ZXMg KHN0cnVjdCBvYmpmaWxlICopOwogIAogIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2NvcHkg KHN0cnVjdCB2YWx1ZSAqKTsKICAKQEAgLTI1NjIxLDcgKzI1NTM0LDcgQEAgaW5kZXggMjlhZDc4 My4uZWU4NDQwYiAxMDA2NDQKICAvKiBGcm9tIHZhbG9wcy5jICovCiAgCiAgZXh0ZXJuIHN0cnVj dCB2YWx1ZSAqdmFyeWluZ190b19zbGljZSAoc3RydWN0IHZhbHVlICopOwotQEAgLTY4MSw3ICs2 ODcsNyBAQCBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9hbGxvY2F0ZV9zcGFjZV9pbl9pbmZl cmlvciAoaW50KTsKK0BAIC02ODEsNyArNjg5LDcgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFs dWVfYWxsb2NhdGVfc3BhY2VfaW5faW5mZXJpb3IgKGludCk7CiAgZXh0ZXJuIHN0cnVjdCB2YWx1 ZSAqdmFsdWVfb2ZfbG9jYWwgKGNvbnN0IGNoYXIgKm5hbWUsIGludCBjb21wbGFpbik7CiAgCiAg ZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfc3Vic2NyaXB0ZWRfcnZhbHVlIChzdHJ1Y3QgdmFs dWUgKmFycmF5LApAQCAtMjU2MzEsMTAgKzI1NTQ0LDEwIEBAIGluZGV4IDI5YWQ3ODMuLmVlODQ0 MGIgMTAwNjQ0CiAgLyogVXNlciBmdW5jdGlvbiBoYW5kbGVyLiAgKi8KICAKIGRpZmYgLS1naXQg YS9nZGIvdmFyb2JqLmMgYi9nZGIvdmFyb2JqLmMKLWluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAw NjQ0CitpbmRleCA0YTk0OTg4Li5mMjY1NGYwIDEwMDY0NAogLS0tIGEvZ2RiL3Zhcm9iai5jCiAr KysgYi9nZGIvdmFyb2JqLmMKLUBAIC0yNiwxNCArMjYsMTggQEAKK0BAIC0yNiw5ICsyNiwxMiBA QAogICNpbmNsdWRlICJnZGJjbWQuaCIKICAjaW5jbHVkZSAiYmxvY2suaCIKICAjaW5jbHVkZSAi dmFscHJpbnQuaCIKQEAgLTI1NjQ3LDEzICsyNTU2MCw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMz ZmIgMTAwNjQ0CiAgCiAgI2luY2x1ZGUgInZhcm9iai5oIgogICNpbmNsdWRlICJ2ZWMuaCIKLSAj aW5jbHVkZSAiZ2RidGhyZWFkLmgiCi0gI2luY2x1ZGUgImluZmVyaW9yLmgiCi0rI2luY2x1ZGUg Im9ic2VydmVyLmgiCi0gCi0gI2lmIEhBVkVfUFlUSE9OCi0gI2luY2x1ZGUgInB5dGhvbi9weXRo b24uaCIKLUBAIC01OSw2ICs2MywxNSBAQCBjaGFyICp2YXJvYmpfZm9ybWF0X3N0cmluZ1tdID0K K0BAIC01OSw2ICs2MiwxNSBAQCBjaGFyICp2YXJvYmpfZm9ybWF0X3N0cmluZ1tdID0KICAvKiBT dHJpbmcgcmVwcmVzZW50YXRpb25zIG9mIGdkYidzIGtub3duIGxhbmd1YWdlcyAqLwogIGNoYXIg KnZhcm9ial9sYW5ndWFnZV9zdHJpbmdbXSA9IHsgInVua25vd24iLCAiQyIsICJDKysiLCAiSmF2 YSIgfTsKICAKQEAgLTI1NjY5LDcgKzI1NTc2LDcgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAx MDA2NDQKICAvKiBEYXRhIHN0cnVjdHVyZXMgKi8KICAKICAvKiBFdmVyeSByb290IHZhcmlhYmxl IGhhcyBvbmUgb2YgdGhlc2Ugc3RydWN0dXJlcyBzYXZlZCBpbiBpdHMKLUBAIC0xNzMsOSArMTg2 LDMxIEBAIHN0cnVjdCB2YXJvYmoKK0BAIC0xNzMsOSArMTg1LDMxIEBAIHN0cnVjdCB2YXJvYmoK ICAgICAgIGZyb3plbi4gICovCiAgICBpbnQgbm90X2ZldGNoZWQ7CiAgCkBAIC0yNTcwMSw3ICsy NTYwOCw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAgfTsKICAKICBzdHJ1Y3Qg Y3BzdGFjawotQEAgLTIyMSw2ICsyNTYsOCBAQCBzdGF0aWMgdm9pZCBmcmVlX3ZhcmlhYmxlIChz dHJ1Y3QgdmFyb2JqICp2YXIpOworQEAgLTIyMSw2ICsyNTUsOCBAQCBzdGF0aWMgdm9pZCBmcmVl X3ZhcmlhYmxlIChzdHJ1Y3QgdmFyb2JqICp2YXIpOwogIAogIHN0YXRpYyBzdHJ1Y3QgY2xlYW51 cCAqbWFrZV9jbGVhbnVwX2ZyZWVfdmFyaWFibGUgKHN0cnVjdCB2YXJvYmogKnZhcik7CiAgCkBA IC0yNTcxMCw3ICsyNTYxNyw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAgc3Rh dGljIHN0cnVjdCB0eXBlICpnZXRfdHlwZSAoc3RydWN0IHZhcm9iaiAqdmFyKTsKICAKICBzdGF0 aWMgc3RydWN0IHR5cGUgKmdldF92YWx1ZV90eXBlIChzdHJ1Y3QgdmFyb2JqICp2YXIpOwotQEAg LTIzNiw4ICsyNzMsNiBAQCBzdGF0aWMgY2hhciAqY3Bwb3AgKHN0cnVjdCBjcHN0YWNrICoqcHN0 YWNrKTsKK0BAIC0yMzYsOCArMjcyLDYgQEAgc3RhdGljIGNoYXIgKmNwcG9wIChzdHJ1Y3QgY3Bz dGFjayAqKnBzdGFjayk7CiAgc3RhdGljIGludCBpbnN0YWxsX25ld192YWx1ZSAoc3RydWN0IHZh cm9iaiAqdmFyLCBzdHJ1Y3QgdmFsdWUgKnZhbHVlLCAKICAJCQkgICAgICBpbnQgaW5pdGlhbCk7 CiAgCkBAIC0yNTcxOSw3ICsyNTYyNiw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0 CiAgLyogTGFuZ3VhZ2Utc3BlY2lmaWMgcm91dGluZXMuICovCiAgCiAgc3RhdGljIGVudW0gdmFy b2JqX2xhbmd1YWdlcyB2YXJpYWJsZV9sYW5ndWFnZSAoc3RydWN0IHZhcm9iaiAqdmFyKTsKLUBA IC00NTAsNiArNDg1LDggQEAgaXNfcm9vdF9wIChzdHJ1Y3QgdmFyb2JqICp2YXIpCitAQCAtNDUw LDYgKzQ4NCw4IEBAIGlzX3Jvb3RfcCAoc3RydWN0IHZhcm9iaiAqdmFyKQogIHN0cnVjdCBjbGVh bnVwICoKICB2YXJvYmpfZW5zdXJlX3B5dGhvbl9lbnYgKHN0cnVjdCB2YXJvYmogKnZhcikKICB7 CkBAIC0yNTcyOCw3ICsyNTYzNSw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAg ICByZXR1cm4gZW5zdXJlX3B5dGhvbl9lbnYgKHZhci0+cm9vdC0+ZXhwLT5nZGJhcmNoLAogIAkJ CSAgICB2YXItPnJvb3QtPmV4cC0+bGFuZ3VhZ2VfZGVmbik7CiAgfQotQEAgLTYxNCw5ICs2NTEs OSBAQCB2YXJvYmpfY3JlYXRlIChjaGFyICpvYmpuYW1lLAorQEAgLTYxNCw5ICs2NTAsOSBAQCB2 YXJvYmpfY3JlYXRlIChjaGFyICpvYmpuYW1lLAogIAkgIGRvX2NsZWFudXBzIChvbGRfY2hhaW4p OwogIAkgIHJldHVybiBOVUxMOwogIAl9CkBAIC0yNTczOSw3ICsyNTY0Niw3IEBAIGluZGV4IDRh OTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAgICBkaXNjYXJkX2NsZWFudXBzIChvbGRfY2hhaW4pOwog ICAgcmV0dXJuIHZhcjsKICB9Ci1AQCAtNzMxLDE1ICs3NjgsOCBAQCBpbnN0YW50aWF0ZV9wcmV0 dHlfcHJpbnRlciAoUHlPYmplY3QgKmNvbnN0cnVjdG9yLCBzdHJ1Y3QgdmFsdWUgKnZhbHVlKQor QEAgLTczMSwxNSArNzY3LDggQEAgaW5zdGFudGlhdGVfcHJldHR5X3ByaW50ZXIgKFB5T2JqZWN0 ICpjb25zdHJ1Y3Rvciwgc3RydWN0IHZhbHVlICp2YWx1ZSkKICAjaWYgSEFWRV9QWVRIT04KICAg IFB5T2JqZWN0ICp2YWxfb2JqID0gTlVMTDsgCiAgICBQeU9iamVjdCAqcHJpbnRlcjsKQEAgLTI1 NzU1LDcgKzI1NjYyLDcgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAxMDA2NDQKICAgIGlmICgh IHZhbF9vYmopCiAgICAgIHJldHVybiBOVUxMOwogIAotQEAgLTc5Miw3ICs4MjIsMTIgQEAgdmFy b2JqX2dldF9kaXNwbGF5X2hpbnQgKHN0cnVjdCB2YXJvYmogKnZhcikKK0BAIC03OTIsNyArODIx LDEyIEBAIHZhcm9ial9nZXRfZGlzcGxheV9oaW50IChzdHJ1Y3QgdmFyb2JqICp2YXIpCiAgICBj aGFyICpyZXN1bHQgPSBOVUxMOwogIAogICNpZiBIQVZFX1BZVEhPTgpAQCAtMjU3NjksNyArMjU2 NzYsNyBAQCBpbmRleCA0YTk0OTg4Li4zNDMzM2ZiIDEwMDY0NAogIAogICAgaWYgKHZhci0+cHJl dHR5X3ByaW50ZXIpCiAgICAgIHJlc3VsdCA9IGdkYnB5X2dldF9kaXNwbGF5X2hpbnQgKHZhci0+ cHJldHR5X3ByaW50ZXIpOwotQEAgLTgwMyw2ICs4MzgsMTcgQEAgdmFyb2JqX2dldF9kaXNwbGF5 X2hpbnQgKHN0cnVjdCB2YXJvYmogKnZhcikKK0BAIC04MDMsNiArODM3LDE3IEBAIHZhcm9ial9n ZXRfZGlzcGxheV9oaW50IChzdHJ1Y3QgdmFyb2JqICp2YXIpCiAgICByZXR1cm4gcmVzdWx0Owog IH0KICAKQEAgLTI1Nzg3LDcgKzI1Njk0LDcgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAxMDA2 NDQKICAvKiBJZiB0aGUgdmFyaWFibGUgb2JqZWN0IGlzIGJvdW5kIHRvIGEgc3BlY2lmaWMgdGhy ZWFkLCB0aGF0CiAgICAgaXMgaXRzIGV2YWx1YXRpb24gY2FuIGFsd2F5cyBiZSBkb25lIGluIGNv bnRleHQgb2YgYSBmcmFtZQogICAgIGluc2lkZSB0aGF0IHRocmVhZCwgcmV0dXJucyBHREIgaWQg b2YgdGhlIHRocmVhZCAtLSB3aGljaAotQEAgLTgzNSwyMiArODgxLDczIEBAIHZhcm9ial9nZXRf ZnJvemVuIChzdHJ1Y3QgdmFyb2JqICp2YXIpCitAQCAtODM1LDIyICs4ODAsNzMgQEAgdmFyb2Jq X2dldF9mcm96ZW4gKHN0cnVjdCB2YXJvYmogKnZhcikKICAgIHJldHVybiB2YXItPmZyb3plbjsK ICB9CiAgCkBAIC0yNTg2OSw3ICsyNTc3Niw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAw NjQ0CiAgICBQeU9iamVjdCAqcHJpbnRlciA9IHZhci0+cHJldHR5X3ByaW50ZXI7CiAgCiAgICBi YWNrX3RvID0gdmFyb2JqX2Vuc3VyZV9weXRob25fZW52ICh2YXIpOwotQEAgLTg2Miw5NiArOTU5 LDEwMyBAQCB1cGRhdGVfZHluYW1pY192YXJvYmpfY2hpbGRyZW4gKHN0cnVjdCB2YXJvYmogKnZh ciwKK0BAIC04NjIsOTYgKzk1OCwxMDMgQEAgdXBkYXRlX2R5bmFtaWNfdmFyb2JqX2NoaWxkcmVu IChzdHJ1Y3QgdmFyb2JqICp2YXIsCiAgICAgICAgcmV0dXJuIDA7CiAgICAgIH0KICAKQEAgLTI1 ODg0LDI2ICsyNTc5MSwyNiBAQCBpbmRleCA0YTk0OTg4Li4zNDMzM2ZiIDEwMDY0NAogLSAgICB9 CiArICAgICAgY2hpbGRyZW4gPSBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncyAocHJpbnRlciwg Z2RicHlfY2hpbGRyZW5fY3N0LAogKwkJCQkJICAgICBOVUxMKTsKLSAKLS0gIG1ha2VfY2xlYW51 cF9weV9kZWNyZWYgKGNoaWxkcmVuKTsKKysKICsgICAgICBpZiAoIWNoaWxkcmVuKQogKwl7CiAr CSAgZ2RicHlfcHJpbnRfc3RhY2sgKCk7CiArCSAgZXJyb3IgKF8oIk51bGwgdmFsdWUgcmV0dXJu ZWQgZm9yIGNoaWxkcmVuIikpOwogKwl9CiAgCistICBtYWtlX2NsZWFudXBfcHlfZGVjcmVmIChj aGlsZHJlbik7CisrICAgICAgbWFrZV9jbGVhbnVwX3B5X2RlY3JlZiAoY2hpbGRyZW4pOworIAog LSAgaWYgKCFQeUl0ZXJfQ2hlY2sgKGNoaWxkcmVuKSkKIC0gICAgZXJyb3IgKF8oIlJldHVybmVk IHZhbHVlIGlzIG5vdCBpdGVyYWJsZSIpKTsKLSsgICAgICBtYWtlX2NsZWFudXBfcHlfZGVjcmVm IChjaGlsZHJlbik7CisrICAgICAgaWYgKCFQeUl0ZXJfQ2hlY2sgKGNoaWxkcmVuKSkKKysJZXJy b3IgKF8oIlJldHVybmVkIHZhbHVlIGlzIG5vdCBpdGVyYWJsZSIpKTsKICAKIC0gIGl0ZXJhdG9y ID0gUHlPYmplY3RfR2V0SXRlciAoY2hpbGRyZW4pOwogLSAgaWYgKCFpdGVyYXRvcikKIC0gICAg ewogLSAgICAgIGdkYnB5X3ByaW50X3N0YWNrICgpOwogLSAgICAgIGVycm9yIChfKCJDb3VsZCBu b3QgZ2V0IGNoaWxkcmVuIGl0ZXJhdG9yIikpOwotKyAgICAgIGlmICghUHlJdGVyX0NoZWNrIChj aGlsZHJlbikpCi0rCWVycm9yIChfKCJSZXR1cm5lZCB2YWx1ZSBpcyBub3QgaXRlcmFibGUiKSk7 Ci0rCiArICAgICAgUHlfWERFQ1JFRiAodmFyLT5jaGlsZF9pdGVyKTsKICsgICAgICB2YXItPmNo aWxkX2l0ZXIgPSBQeU9iamVjdF9HZXRJdGVyIChjaGlsZHJlbik7CiArICAgICAgaWYgKCF2YXIt PmNoaWxkX2l0ZXIpCkBAIC0yNjAzNyw3ICsyNTk0NCw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMz ZmIgMTAwNjQ0CiAgICByZXR1cm4gMTsKICAjZWxzZQogICAgZ2RiX2Fzc2VydCAoMCAmJiAic2hv dWxkIG5ldmVyIGJlIGNhbGxlZCBpZiBQeXRob24gaXMgbm90IGVuYWJsZWQiKTsKLUBAIC05NjQs OCArMTA2OCw3IEBAIHZhcm9ial9nZXRfbnVtX2NoaWxkcmVuIChzdHJ1Y3QgdmFyb2JqICp2YXIp CitAQCAtOTY0LDggKzEwNjcsNyBAQCB2YXJvYmpfZ2V0X251bV9jaGlsZHJlbiAoc3RydWN0IHZh cm9iaiAqdmFyKQogICAgaWYgKHZhci0+bnVtX2NoaWxkcmVuID09IC0xKQogICAgICB7CiAgICAg ICAgaW50IGNoYW5nZWQ7CkBAIC0yNjA0Nyw3ICsyNTk1NCw3IEBAIGluZGV4IDRhOTQ5ODguLjM0 MzMzZmIgMTAwNjQ0CiAgCXZhci0+bnVtX2NoaWxkcmVuID0gbnVtYmVyX29mX2NoaWxkcmVuICh2 YXIpOwogICAgICB9CiAgCi1AQCAtOTc2LDcgKzEwNzksNyBAQCB2YXJvYmpfZ2V0X251bV9jaGls ZHJlbiAoc3RydWN0IHZhcm9iaiAqdmFyKQorQEAgLTk3Niw3ICsxMDc4LDcgQEAgdmFyb2JqX2dl dF9udW1fY2hpbGRyZW4gKHN0cnVjdCB2YXJvYmogKnZhcikKICAgICB0aGUgcmV0dXJuIGNvZGUg aXMgdGhlIG51bWJlciBvZiBzdWNoIGNoaWxkcmVuIG9yIC0xIG9uIGVycm9yICovCiAgCiAgVkVD ICh2YXJvYmpfcCkqCkBAIC0yNjA1Niw3ICsyNTk2Myw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMz ZmIgMTAwNjQ0CiAgewogICAgc3RydWN0IHZhcm9iaiAqY2hpbGQ7CiAgICBjaGFyICpuYW1lOwot QEAgLTk4OCw4ICsxMDkxLDEyIEBAIHZhcm9ial9saXN0X2NoaWxkcmVuIChzdHJ1Y3QgdmFyb2Jq ICp2YXIpCitAQCAtOTg4LDggKzEwOTAsMTIgQEAgdmFyb2JqX2xpc3RfY2hpbGRyZW4gKHN0cnVj dCB2YXJvYmogKnZhcikKICAgICAgICAvKiBUaGlzLCBpbiB0aGVvcnksIGNhbiByZXN1bHQgaW4g dGhlIG51bWJlciBvZiBjaGlsZHJlbiBjaGFuZ2luZyB3aXRob3V0CiAgCSBmcm9udGVuZCBub3Rp Y2luZy4gIEJ1dCB3ZWxsLCBjYWxsaW5nIC12YXItbGlzdC1jaGlsZHJlbiBvbiB0aGUgc2FtZQog IAkgdmFyb2JqIHR3aWNlIGlzIG5vdCBzb21ldGhpbmcgYSBzYW5lIGZyb250ZW5kIHdvdWxkIGRv LiAgKi8KQEAgLTI2MDcxLDcgKzI1OTc4LDcgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAxMDA2 NDQKICAKICAgIGlmICh2YXItPm51bV9jaGlsZHJlbiA9PSAtMSkKICAgICAgdmFyLT5udW1fY2hp bGRyZW4gPSBudW1iZXJfb2ZfY2hpbGRyZW4gKHZhcik7Ci1AQCAtMTAxNSwxMCArMTEyMiwxMCBA QCB2YXJvYmpfbGlzdF9jaGlsZHJlbiAoc3RydWN0IHZhcm9iaiAqdmFyKQorQEAgLTEwMTUsMTAg KzExMjEsMTAgQEAgdmFyb2JqX2xpc3RfY2hpbGRyZW4gKHN0cnVjdCB2YXJvYmogKnZhcikKICAJ ICBuYW1lID0gbmFtZV9vZl9jaGlsZCAodmFyLCBpKTsKICAJICBleGlzdGluZyA9IGNyZWF0ZV9j aGlsZCAodmFyLCBpLCBuYW1lKTsKICAJICBWRUNfcmVwbGFjZSAodmFyb2JqX3AsIHZhci0+Y2hp bGRyZW4sIGksIGV4aXN0aW5nKTsKQEAgLTI2MDgzLDcgKzI1OTkwLDcgQEAgaW5kZXggNGE5NDk4 OC4uMzQzMzNmYiAxMDA2NDQKICAgIHJldHVybiB2YXItPmNoaWxkcmVuOwogIH0KICAKLUBAIC0x MDI5LDcgKzExMzYsNiBAQCB2YXJvYmpfYWRkX2NoaWxkIChzdHJ1Y3QgdmFyb2JqICp2YXIsIGNv bnN0IGNoYXIgKm5hbWUsIHN0cnVjdCB2YWx1ZSAqdmFsdWUpCitAQCAtMTAyOSw3ICsxMTM1LDYg QEAgdmFyb2JqX2FkZF9jaGlsZCAoc3RydWN0IHZhcm9iaiAqdmFyLCBjb25zdCBjaGFyICpuYW1l LCBzdHJ1Y3QgdmFsdWUgKnZhbHVlKQogIAkJCQkJVkVDX2xlbmd0aCAodmFyb2JqX3AsIHZhci0+ Y2hpbGRyZW4pLCAKICAJCQkJCW5hbWUsIHZhbHVlKTsKICAgIFZFQ19zYWZlX3B1c2ggKHZhcm9i al9wLCB2YXItPmNoaWxkcmVuLCB2KTsKQEAgLTI2MDkxLDcgKzI1OTk4LDcgQEAgaW5kZXggNGE5 NDk4OC4uMzQzMzNmYiAxMDA2NDQKICAgIHJldHVybiB2OwogIH0KICAKLUBAIC0xMTY4LDYgKzEy NzQsMTE1IEBAIHZhcm9ial9zZXRfdmFsdWUgKHN0cnVjdCB2YXJvYmogKnZhciwgY2hhciAqZXhw cmVzc2lvbikKK0BAIC0xMTY4LDYgKzEyNzMsMTE1IEBAIHZhcm9ial9zZXRfdmFsdWUgKHN0cnVj dCB2YXJvYmogKnZhciwgY2hhciAqZXhwcmVzc2lvbikKICAgIHJldHVybiAxOwogIH0KICAKQEAg LTI2MjA3LDcgKzI2MTE0LDcgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAxMDA2NDQKICAvKiBB c3NpZ24gYSBuZXcgdmFsdWUgdG8gYSB2YXJpYWJsZSBvYmplY3QuICBJZiBJTklUSUFMIGlzIG5v bi16ZXJvLAogICAgIHRoaXMgaXMgdGhlIGZpcnN0IGFzc2lnbmVtZW50IGFmdGVyIHRoZSB2YXJp YWJsZSBvYmplY3Qgd2FzIGp1c3QKICAgICBjcmVhdGVkLCBvciBjaGFuZ2VkIHR5cGUuICBJbiB0 aGF0IGNhc2UsIGp1c3QgYXNzaWduIHRoZSB2YWx1ZSAKLUBAIC0xMjc0LDcgKzE0ODksNyBAQCBp bnN0YWxsX25ld192YWx1ZSAoc3RydWN0IHZhcm9iaiAqdmFyLCBzdHJ1Y3QgdmFsdWUgKnZhbHVl LCBpbnQgaW5pdGlhbCkKK0BAIC0xMjc0LDcgKzE0ODgsNyBAQCBpbnN0YWxsX25ld192YWx1ZSAo c3RydWN0IHZhcm9iaiAqdmFyLCBzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBpbnQgaW5pdGlhbCkKICAJ ewogIAkgIGNoYW5nZWQgPSAxOwogIAl9CkBAIC0yNjIxNiw3ICsyNjEyMyw3IEBAIGluZGV4IDRh OTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAgCXsKICAJICAvKiBUcnkgdG8gY29tcGFyZSB0aGUgdmFs dWVzLiAgVGhhdCByZXF1aXJlcyB0aGF0IGJvdGgKICAJICAgICB2YWx1ZXMgYXJlIG5vbi1sYXp5 LiAgKi8KLUBAIC0xMzI4LDY1ICsxNTQzLDMyIEBAIGluc3RhbGxfbmV3X3ZhbHVlIChzdHJ1Y3Qg dmFyb2JqICp2YXIsIHN0cnVjdCB2YWx1ZSAqdmFsdWUsIGludCBpbml0aWFsKQorQEAgLTEzMjgs NjUgKzE1NDIsMzIgQEAgaW5zdGFsbF9uZXdfdmFsdWUgKHN0cnVjdCB2YXJvYmogKnZhciwgc3Ry dWN0IHZhbHVlICp2YWx1ZSwgaW50IGluaXRpYWwpCiAgICAgIHZhci0+bm90X2ZldGNoZWQgPSAw OwogICAgdmFyLT51cGRhdGVkID0gMDsKICAKQEAgLTI2Mjk5LDcgKzI2MjA2LDcgQEAgaW5kZXgg NGE5NDk4OC4uMzQzMzNmYiAxMDA2NDQKICB9CiAgCiAgdm9pZCAKLUBAIC0xNDA0LDMxICsxNTg2 LDE5IEBAIHZhcm9ial9zZXRfdmlzdWFsaXplciAoc3RydWN0IHZhcm9iaiAqdmFyLCBjb25zdCBj aGFyICp2aXN1YWxpemVyKQorQEAgLTE0MDQsMzEgKzE1ODUsMTkgQEAgdmFyb2JqX3NldF92aXN1 YWxpemVyIChzdHJ1Y3QgdmFyb2JqICp2YXIsIGNvbnN0IGNoYXIgKnZpc3VhbGl6ZXIpCiAgICBt YWtlX2NsZWFudXBfcHlfZGVjcmVmIChnbG9iYWxzKTsKICAKICAgIGNvbnN0cnVjdG9yID0gUHlS dW5fU3RyaW5nICh2aXN1YWxpemVyLCBQeV9ldmFsX2lucHV0LCBnbG9iYWxzLCBnbG9iYWxzKTsK QEAgLTI2MzEyLDkgKzI2MjE5LDkgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAxMDA2NDQKIC0g ICAgfQogLSAgZWxzZQogLSAgICBwcmV0dHlfcHJpbnRlciA9IGluc3RhbnRpYXRlX3ByZXR0eV9w cmludGVyIChjb25zdHJ1Y3RvciwgdmFyLT52YWx1ZSk7Ci0tCi0tICBQeV9YREVDUkVGIChjb25z dHJ1Y3Rvcik7CiAgCistICBQeV9YREVDUkVGIChjb25zdHJ1Y3Rvcik7CistCiAtICBpZiAoISBw cmV0dHlfcHJpbnRlcikKICsgIGlmICghIGNvbnN0cnVjdG9yKQogICAgICB7CkBAIC0yNjMzNyw3 ICsyNjI0NCw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAgCiAgICBkb19jbGVh bnVwcyAoYmFja190byk7CiAgI2Vsc2UKLUBAIC0xNTQzLDcgKzE3MTMsNyBAQCBWRUModmFyb2Jq X3VwZGF0ZV9yZXN1bHQpICp2YXJvYmpfdXBkYXRlIChzdHJ1Y3QgdmFyb2JqICoqdmFycCwgaW50 IGV4cGxpY2l0KQorQEAgLTE1NDMsNyArMTcxMiw3IEBAIFZFQyh2YXJvYmpfdXBkYXRlX3Jlc3Vs dCkgKnZhcm9ial91cGRhdGUgKHN0cnVjdCB2YXJvYmogKip2YXJwLCBpbnQgZXhwbGljaXQpCiAg CSBVSSwgc28gd2UgbmVlZCBub3QgYm90aGVyIGdldHRpbmcgaXQuICAqLwogICAgICAgIGlmICh2 LT5wcmV0dHlfcHJpbnRlcikKICAJewpAQCAtMjYzNDYsNyArMjYyNTMsNyBAQCBpbmRleCA0YTk0 OTg4Li4zNDMzM2ZiIDEwMDY0NAogIAkgIGludCBpLCBjaGlsZHJlbl9jaGFuZ2VkOwogIAkgIHZh cm9ial9wIHRtcDsKICAKLUBAIC0xNTU1LDI4ICsxNzI1LDI4IEBAIFZFQyh2YXJvYmpfdXBkYXRl X3Jlc3VsdCkgKnZhcm9ial91cGRhdGUgKHN0cnVjdCB2YXJvYmogKip2YXJwLCBpbnQgZXhwbGlj aXQpCitAQCAtMTU1NSwyOCArMTcyNCwyOCBAQCBWRUModmFyb2JqX3VwZGF0ZV9yZXN1bHQpICp2 YXJvYmpfdXBkYXRlIChzdHJ1Y3QgdmFyb2JqICoqdmFycCwgaW50IGV4cGxpY2l0KQogIAogIAkg IC8qIElmIHVwZGF0ZV9keW5hbWljX3Zhcm9ial9jaGlsZHJlbiByZXR1cm5zIDAsIHRoZW4gd2Ug aGF2ZQogIAkgICAgIGEgbm9uLWNvbmZvcm1pbmcgcHJldHR5LXByaW50ZXIsIHNvIHdlIHNraXAg aXQuICAqLwpAQCAtMjYzODcsNyArMjYyOTQsNyBAQCBpbmRleCA0YTk0OTg4Li4zNDMzM2ZiIDEw MDY0NAogIAkgICAgICBjb250aW51ZTsKICAJICAgIH0KICAJfQotQEAgLTE4NjQsNyArMjAzNCwx MiBAQCBuZXdfdmFyaWFibGUgKHZvaWQpCitAQCAtMTg2NCw3ICsyMDMzLDEyIEBAIG5ld192YXJp YWJsZSAodm9pZCkKICAgIHZhci0+ZnJvemVuID0gMDsKICAgIHZhci0+bm90X2ZldGNoZWQgPSAw OwogICAgdmFyLT5jaGlsZHJlbl9yZXF1ZXN0ZWQgPSAwOwpAQCAtMjY0MDAsNyArMjYzMDcsNyBA QCBpbmRleCA0YTk0OTg4Li4zNDMzM2ZiIDEwMDY0NAogIAogICAgcmV0dXJuIHZhcjsKICB9Ci1A QCAtMTg5NCw3ICsyMDY5LDEwIEBAIGZyZWVfdmFyaWFibGUgKHN0cnVjdCB2YXJvYmogKnZhcikK K0BAIC0xODk0LDcgKzIwNjgsMTAgQEAgZnJlZV92YXJpYWJsZSAoc3RydWN0IHZhcm9iaiAqdmFy KQogICAgaWYgKHZhci0+cHJldHR5X3ByaW50ZXIpCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgY2xl YW51cCAqY2xlYW51cCA9IHZhcm9ial9lbnN1cmVfcHl0aG9uX2VudiAodmFyKTsKQEAgLTI2NDEy LDcgKzI2MzE5LDcgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAxMDA2NDQKICAgICAgICBkb19j bGVhbnVwcyAoY2xlYW51cCk7CiAgICAgIH0KICAjZW5kaWYKLUBAIC0xOTI3LDYgKzIxMDUsMTgg QEAgbWFrZV9jbGVhbnVwX2ZyZWVfdmFyaWFibGUgKHN0cnVjdCB2YXJvYmogKnZhcikKK0BAIC0x OTI3LDYgKzIxMDQsMTggQEAgbWFrZV9jbGVhbnVwX2ZyZWVfdmFyaWFibGUgKHN0cnVjdCB2YXJv YmogKnZhcikKICAgIHJldHVybiBtYWtlX2NsZWFudXAgKGRvX2ZyZWVfdmFyaWFibGVfY2xlYW51 cCwgdmFyKTsKICB9CiAgCkBAIC0yNjQzMSw3ICsyNjMzOCw3IEBAIGluZGV4IDRhOTQ5ODguLjM0 MzMzZmIgMTAwNjQ0CiAgLyogVGhpcyByZXR1cm5zIHRoZSB0eXBlIG9mIHRoZSB2YXJpYWJsZS4g SXQgYWxzbyBza2lwcyBwYXN0IHR5cGVkZWZzCiAgICAgdG8gcmV0dXJuIHRoZSByZWFsIHR5cGUg b2YgdGhlIHZhcmlhYmxlLgogIAotQEAgLTIxNDEsNiArMjMzMSw4IEBAIHZhbHVlX29mX3Jvb3Qg KHN0cnVjdCB2YXJvYmogKip2YXJfaGFuZGxlLCBpbnQgKnR5cGVfY2hhbmdlZCkKK0BAIC0yMTQx LDYgKzIzMzAsOCBAQCB2YWx1ZV9vZl9yb290IChzdHJ1Y3QgdmFyb2JqICoqdmFyX2hhbmRsZSwg aW50ICp0eXBlX2NoYW5nZWQpCiAgICAgICAgZWxzZQogIAl7CiAgCSAgdG1wX3Zhci0+b2JqX25h bWUgPSB4c3RyZHVwICh2YXItPm9ial9uYW1lKTsKQEAgLTI2NDQwLDcgKzI2MzQ3LDcgQEAgaW5k ZXggNGE5NDk4OC4uMzQzMzNmYiAxMDA2NDQKICAJICB2YXJvYmpfZGVsZXRlICh2YXIsIE5VTEws IDApOwogIAogIAkgIGluc3RhbGxfdmFyaWFibGUgKHRtcF92YXIpOwotQEAgLTMxNzMsNiArMzM2 NSwxOSBAQCBqYXZhX3ZhbHVlX29mX3ZhcmlhYmxlIChzdHJ1Y3QgdmFyb2JqICp2YXIsIGVudW0g dmFyb2JqX2Rpc3BsYXlfZm9ybWF0cyBmb3JtYXQpCitAQCAtMzE3Myw2ICszMzY0LDE5IEBAIGph dmFfdmFsdWVfb2ZfdmFyaWFibGUgKHN0cnVjdCB2YXJvYmogKnZhciwgZW51bSB2YXJvYmpfZGlz cGxheV9mb3JtYXRzIGZvcm1hdCkKICAgIHJldHVybiBjcGx1c192YWx1ZV9vZl92YXJpYWJsZSAo dmFyLCBmb3JtYXQpOwogIH0KICAKQEAgLTI2NDYwLDQxICsyNjM2NywyNiBAQCBpbmRleCA0YTk0 OTg4Li4zNDMzM2ZiIDEwMDY0NAogIC8qIEl0ZXJhdGUgYWxsIHRoZSBleGlzdGluZyBfcm9vdF8g VkFST0JKcyBhbmQgY2FsbCB0aGUgRlVOQyBjYWxsYmFjayBmb3IgdGhlbQogICAgIHdpdGggYW4g YXJiaXRyYXJ5IGNhbGxlciBzdXBwbGllZCBEQVRBIHBvaW50ZXIuICAqLwogIAotQEAgLTMxOTAs NDggKzMzOTUsMTEwIEBAIGFsbF9yb290X3Zhcm9ianMgKHZvaWQgKCpmdW5jKSAoc3RydWN0IHZh cm9iaiAqdmFyLCB2b2lkICpkYXRhKSwgdm9pZCAqZGF0YSkKK0BAIC0zMTkwLDYgKzMzOTQsNDMg QEAgYWxsX3Jvb3RfdmFyb2JqcyAodm9pZCAoKmZ1bmMpIChzdHJ1Y3QgdmFyb2JqICp2YXIsIHZv aWQgKmRhdGEpLCB2b2lkICpkYXRhKQogICAgICAgICgqZnVuYykgKHZhcl9yb290LT5yb290dmFy LCBkYXRhKTsKICAgICAgfQogIH0KLS0MCi0tZXh0ZXJuIHZvaWQgX2luaXRpYWxpemVfdmFyb2Jq ICh2b2lkKTsKLS12b2lkCi0tX2luaXRpYWxpemVfdmFyb2JqICh2b2lkKQogKwogKy8qIEhlbHBl ciBmb3IgdmFyb2JqX3R5cGVzX21hcmtfdXNlZC4gIENhbGwgdHlwZV9tYXJrX3VzZWQgZm9yIGFu eSBUWVBFcwogKyAgIHJlZmVyZW5jZWQgZnJvbSB0aGlzIFZBUi4gICovCiArCiArc3RhdGljIHZv aWQKICt2YXJvYmpfdHlwZXNfbWFya191c2VkX2l0ZXIgKHN0cnVjdCB2YXJvYmogKnZhciwgdm9p ZCAqdW51c2VkKQotIHsKLS0gIGludCBzaXplb2ZfdGFibGUgPSBzaXplb2YgKHN0cnVjdCB2bGlz dCAqKSAqIFZBUk9CSl9UQUJMRV9TSVpFOworK3sKICsgIC8qIEV2ZW4gRkxPQVRJTkcgb3IgSVNf SU5WQUxJRCBWQVJzIHdpdGggbm9uLU5VTEwgVFlQRSByZWZlcmVuY2VzIHdpbGwKICsgICAgIGZy ZWUgdGhlbSBpbiBmcmVlX3ZhcmlhYmxlLiAgU3RpbGwgRVhQIG1heSBhbHNvIHJlZmVyZW5jZSBU WVBFcwogKyAgICAgYnV0IHRoZXNlIGJlbG9uZyB0byBTWU1CT0xzIHdoaWNoIHNob3VsZCBiZSBh bHdheXMgYXNzb2NpYXRlZCB3aXRoCiArICAgICBhbiBPQkpGSUxFIChhbmQgdGhlcmVmb3JlIG5v dCB1c2VmdWwgdG8gYmUgdHlwZV9tYXJrX3VzZWQpLiAgKi8KLSAKLS0gIHZhcm9ial90YWJsZSA9 IHhtYWxsb2MgKHNpemVvZl90YWJsZSk7Ci0tICBtZW1zZXQgKHZhcm9ial90YWJsZSwgMCwgc2l6 ZW9mX3RhYmxlKTsKKysKICsgIHR5cGVfbWFya191c2VkICh2YXItPnR5cGUpOwogKyAgaWYgKHZh ci0+dmFsdWUpCiArICAgIHR5cGVfbWFya191c2VkICh2YWx1ZV90eXBlICh2YXItPnZhbHVlKSk7 Ci0gCi0tICBhZGRfc2V0c2hvd196aW50ZWdlcl9jbWQgKCJkZWJ1Z3Zhcm9iaiIsIGNsYXNzX21h aW50ZW5hbmNlLAotLQkJCSAgICAmdmFyb2JqZGVidWcsIF8oIlwKLS1TZXQgdmFyb2JqIGRlYnVn Z2luZy4iKSwgXygiXAotLVNob3cgdmFyb2JqIGRlYnVnZ2luZy4iKSwgXygiXAotLVdoZW4gbm9u LXplcm8sIHZhcm9iaiBkZWJ1Z2dpbmcgaXMgZW5hYmxlZC4iKSwKLS0JCQkgICAgTlVMTCwKLS0J CQkgICAgc2hvd192YXJvYmpkZWJ1ZywKLS0JCQkgICAgJnNldGxpc3QsICZzaG93bGlzdCk7Cisr CiArICAvKiBDaGVjayBWQVJPQkpST09UcyBvbmx5IG9uY2UgZHVyaW5nIHRoZSB2YXJvYmpfdHlw ZXNfbWFya191c2VkIHBhc3MuICAqLwogKwogKyAgaWYgKHZhci0+cm9vdC0+cm9vdHZhciA9PSB2 YXIpCkBAIC0yNjUwMiwxNzcgKzI2Mzk0LDI1IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAw NjQ0CiArICAgICAgaWYgKHZhci0+cm9vdC0+ZXhwKQogKwlleHBfdHlwZXNfbWFya191c2VkICh2 YXItPnJvb3QtPmV4cCk7CiArICAgIH0KLSB9Ci0gCi0tLyogSW52YWxpZGF0ZSB2YXJvYmogVkFS IGlmIGl0IGlzIHRpZWQgdG8gbG9jYWxzIGFuZCByZS1jcmVhdGUgaXQgaWYgaXQgaXMKLS0gICBk ZWZpbmVkIG9uIGdsb2JhbHMuICBJdCBpcyBhIGhlbHBlciBmb3IgdmFyb2JqX2ludmFsaWRhdGUu ICAqLwotKy8qIENhbGwgdHlwZV9tYXJrX3VzZWQgZm9yIGFueSBUWVBFcyByZWZlcmVuY2VkIGZy b20gdGhpcyBHREIgc291cmNlIGZpbGUuICAqLwotIAotIHN0YXRpYyB2b2lkCi0tdmFyb2JqX2lu dmFsaWRhdGVfaXRlciAoc3RydWN0IHZhcm9iaiAqdmFyLCB2b2lkICp1bnVzZWQpCi0rdmFyb2Jq X3R5cGVzX21hcmtfdXNlZCAodm9pZCkKLSB7Ci0tICAvKiBGbG9hdGluZyB2YXJvYmpzIGFyZSBy ZXBhcnNlZCBvbiBlYWNoIHN0b3AsIHNvIHdlIGRvbid0IGNhcmUgaWYgdGhlCi0tICAgICBwcmVz ZW50bHkgcGFyc2VkIGV4cHJlc3Npb24gcmVmZXJzIHRvIHNvbWV0aGluZyB0aGF0J3MgZ29uZS4g ICovCi0tICBpZiAodmFyLT5yb290LT5mbG9hdGluZykKLS0gICAgcmV0dXJuOwotKyAgLyogQ2hl Y2sgYWxsIHRoZSBWQVJPQkpzLCBldmVuIG5vbi1yb290IG9uZXMuICBDaGlsZCBWQVJPQkpzIGNh biByZWZlcmVuY2UKLSsgICAgIHR5cGVzIGZyb20gb3RoZXIgT0JKRklMRXMgdGhyb3VnaCBUWVBF X0lTX09QQVFVRSByZXNvbHV0aW9ucyBieQotKyAgICAgY2hlY2tfdHlwZWRlZi4gIFN1Y2ggdHlw ZXMgcmVmZXJlbmNlcyB3aWxsIG5vdCBiZSBpbnRlcmNvbm5lY3RlZCBpbnRvIHRoZQotKyAgICAg c2FtZSBUWVBFX0dST1VQLiAgKi8KLSsKLSsgIGFsbF92YXJvYmpzICh2YXJvYmpfdHlwZXNfbWFy a191c2VkX2l0ZXIsIE5VTEwpOwotK30KLSsKLSsvKiBJbnZhbGlkYXRlIFZBUiBpZiBpdCBpcyB0 aWVkIHRvIHRoZSBzcGVjaWZpZWQgT0JKRklMRS4gIENhbGwgdGhpcyBmdW5jdGlvbgotKyAgIGJl Zm9yZSB5b3Ugc3RhcnQgcmVtb3ZpbmcgT0JKRklMRS4KLSsKLSsgICBDYWxsIHZhcm9ial9yZXZh bGlkYXRlX2l0ZXIgYWZ0ZXIgdGhlIE9CSkZJTEUgdXBkYXRlIGdldCBmaW5pc2hlZC4KLSsKLSsg ICBJbnZhbGlkYXRlZCB2YXJvYmpzIHdpbGwgYmUgYWx3YXlzIHByaW50ZWQgaW5fc2NvcGU9Imlu dmFsaWQiLiAgKi8KLSsKLStzdGF0aWMgdm9pZAotK3Zhcm9ial9pbnZhbGlkYXRlX2l0ZXIgKHN0 cnVjdCB2YXJvYmogKnZhciwgdm9pZCAqb2JqZmlsZV92b2lkcCkKLSt7Ci0rICBzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsZSA9IG9iamZpbGVfdm9pZHA7Ci0rCi0rICAvKiBDaGVjayBWQVJPQkpST09U cyBvbmx5IG9uY2UgZHVyaW5nIHRoZSB2YXJvYmpfaW52YWxpZGF0ZSBwYXNzLiAgKi8KLSsKLSsg IGlmICh2YXItPnJvb3QtPnJvb3R2YXIgPT0gdmFyKQotKyAgICB7Ci0rICAgICAgLyogQ2hlY2sg ZXZlbiBGTE9BVElORyBWQVJPQkpST09UcyBhcyB0aGVpciBkYXRhIHdpbGwgYmUgc3RpbGwgY2hl Y2tlZAotKwkgZHVyaW5nIHZhcm9ial91cGRhdGUgYnkgdmFyb2JqX2dldF90eXBlLiAgKi8KLSsK LSsgICAgICBpZiAodmFyLT5yb290LT5pc192YWxpZAotKwkgICYmIGJsb2NrX29iamZpbGUgKHZh ci0+cm9vdC0+dmFsaWRfYmxvY2spID09IG9iamZpbGUpCi0rCXZhci0+cm9vdC0+aXNfdmFsaWQg PSAwOwotKwotKyAgICAgIGlmICh2YXItPnJvb3QtPmV4cCAmJiBleHBfdXNlc19vYmpmaWxlICh2 YXItPnJvb3QtPmV4cCwgb2JqZmlsZSkpCi0rCXsKLSsJICB2YXItPnJvb3QtPmlzX3ZhbGlkID0g MDsKLSsKLSsJICAvKiBObyBvbmUgdG91Y2hlcyBFWFAgZm9yICFJU19WQUxJRCB2YXJvYmouICAq LwotKwkgIHhmcmVlICh2YXItPnJvb3QtPmV4cCk7Ci0rCSAgdmFyLT5yb290LT5leHAgPSBOVUxM OwotKwl9Ci0rICAgIH0KLSsKLSsgIGlmICh2YXItPnR5cGUgJiYgVFlQRV9PQkpGSUxFICh2YXIt PnR5cGUpID09IG9iamZpbGUpCi0rICAgIHsKLSsgICAgICB2YXItPnJvb3QtPmlzX3ZhbGlkID0g MDsKLSsKLSsgICAgICB2YXItPnR5cGUgPSBOVUxMOwotKyAgICB9Ci0rCi0rICBpZiAodmFyLT52 YWx1ZSAmJiBUWVBFX09CSkZJTEUgKHZhbHVlX3R5cGUgKHZhci0+dmFsdWUpKSA9PSBvYmpmaWxl KQotKyAgICB7Ci0rICAgICAgdmFyLT5yb290LT5pc192YWxpZCA9IDA7Ci0rCi0rICAgICAgdmFs dWVfZnJlZSAodmFyLT52YWx1ZSk7Ci0rICAgICAgdmFyLT52YWx1ZSA9IE5VTEw7Ci0rICAgIH0K ICt9CiArCi0rLyogUmVjcmVhdGUgYW55IGdsb2JhbCB2YXJvYmpzIHBvc3NpYmx5IHByZXZpb3Vz bHkgaW52YWxpZGF0ZWQuICBJZiB0aGUKLSsgICBleHByZXNzaW9ucyBhcmUgbm8gbG9uZ2VyIGV2 YWx1YXRhYmxlIHNldC9rZWVwIHRoZSBWQVIgaW52YWxpZC4gICovCisrLyogQ2FsbCB0eXBlX21h cmtfdXNlZCBmb3IgYW55IFRZUEVzIHJlZmVyZW5jZWQgZnJvbSB0aGlzIEdEQiBzb3VyY2UgZmls ZS4gICovCiArCiArc3RhdGljIHZvaWQKLSt2YXJvYmpfcmV2YWxpZGF0ZV9pdGVyIChzdHJ1Y3Qg dmFyb2JqICp2YXIsIHZvaWQgKnVudXNlZCkKLSt7Ci0rICAvKiBHbG9iYWwgVkFSIG11c3QgYmUg cmUtZXZhbHVhdGVkLiAgKi8KLSAKLS0gIC8qIGdsb2JhbCB2YXIgbXVzdCBiZSByZS1ldmFsdWF0 ZWQuICAqLyAgICAgCi0gICBpZiAodmFyLT5yb290LT52YWxpZF9ibG9jayA9PSBOVUxMKQotICAg ICB7Ci0gICAgICAgc3RydWN0IHZhcm9iaiAqdG1wX3ZhcjsKLSAKLSAgICAgICAvKiBUcnkgdG8g Y3JlYXRlIGEgdmFyb2JqIHdpdGggc2FtZSBleHByZXNzaW9uLiAgSWYgd2Ugc3VjY2VlZAotIAkg cmVwbGFjZSB0aGUgb2xkIHZhcm9iaiwgb3RoZXJ3aXNlIGludmFsaWRhdGUgaXQuICAqLwotLSAg ICAgIHRtcF92YXIgPSB2YXJvYmpfY3JlYXRlIChOVUxMLCB2YXItPm5hbWUsIChDT1JFX0FERFIp IDAsCi0tCQkJICAgICAgIFVTRV9DVVJSRU5UX0ZSQU1FKTsKLS0gICAgICBpZiAodG1wX3ZhciAh PSBOVUxMKSAKLS0JeyAKLSsgICAgICB0bXBfdmFyID0gdmFyb2JqX2NyZWF0ZSAoTlVMTCwgdmFy LT5uYW1lLCAwLCBVU0VfQ1VSUkVOVF9GUkFNRSk7Ci0rICAgICAgaWYgKHRtcF92YXIgIT0gTlVM TCkKLSsJewotIAkgIHRtcF92YXItPm9ial9uYW1lID0geHN0cmR1cCAodmFyLT5vYmpfbmFtZSk7 Ci0gCSAgdmFyb2JqX2RlbGV0ZSAodmFyLCBOVUxMLCAwKTsKLSAJICBpbnN0YWxsX3ZhcmlhYmxl ICh0bXBfdmFyKTsKLUBAIC0zMjM5LDE2ICszNTA2LDY0IEBAIHZhcm9ial9pbnZhbGlkYXRlX2l0 ZXIgKHN0cnVjdCB2YXJvYmogKnZhciwgdm9pZCAqdW51c2VkKQotICAgICAgIGVsc2UKLSAJdmFy LT5yb290LT5pc192YWxpZCA9IDA7Ci0gICAgIH0KLS0gIGVsc2UgLyogbG9jYWxzIG11c3QgYmUg aW52YWxpZGF0ZWQuICAqLwotLSAgICB2YXItPnJvb3QtPmlzX3ZhbGlkID0gMDsKLSB9Ci0gCi0t LyogSW52YWxpZGF0ZSB0aGUgdmFyb2JqcyB0aGF0IGFyZSB0aWVkIHRvIGxvY2FscyBhbmQgcmUt Y3JlYXRlIHRoZSBvbmVzIHRoYXQKLS0gICBhcmUgZGVmaW5lZCBvbiBnbG9iYWxzLgotLSAgIElu dmFsaWRhdGVkIHZhcm9ianMgd2lsbCBiZSBhbHdheXMgcHJpbnRlZCBpbl9zY29wZT0iaW52YWxp ZCIuICAqLwotKy8qIENhbGwgdmFyb2JqX2ludmFsaWRhdGVfaXRlciBmb3IgYWxsIHRoZSBWQVJP QkpzLiAgKi8KLSAKLS12b2lkIAotLXZhcm9ial9pbnZhbGlkYXRlICh2b2lkKQotK3N0YXRpYyB2 b2lkIAotK3Zhcm9ial9pbnZhbGlkYXRlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKKyt2YXJv YmpfdHlwZXNfbWFya191c2VkICh2b2lkKQogK3sKICsgIC8qIENoZWNrIGFsbCB0aGUgVkFST0JK cywgZXZlbiBub24tcm9vdCBvbmVzLiAgQ2hpbGQgVkFST0JKcyBjYW4gcmVmZXJlbmNlCiArICAg ICB0eXBlcyBmcm9tIG90aGVyIE9CSkZJTEVzIHRocm91Z2ggVFlQRV9JU19PUEFRVUUgcmVzb2x1 dGlvbnMgYnkKLSsgICAgIGNoZWNrX3R5cGVkZWYuICAqLwotKwotKyAgYWxsX3Zhcm9ianMgKHZh cm9ial9pbnZhbGlkYXRlX2l0ZXIsIG9iamZpbGUpOwotK30KLSsKLSsvKiBDYWxsIHZhcm9ial9y ZXZhbGlkYXRlX2l0ZXIgZm9yIGFsbCB0aGUgcm9vdCBWQVJPQkpzLiAgKi8KLSsKLStzdGF0aWMg dm9pZCAKLSt2YXJvYmpfcmV2YWxpZGF0ZSAodm9pZCkKLSt7Ci0rICAvKiBDaGVjayBvbmx5IHJv b3QgVkFST0JKcy4gIEFueSBzdWNjZXNzZnVsIHJldmFsaWRhdGlvbiB3aWxsIHJlcGxhY2UgdGhl Ci0rICAgICB3aG9sZSBWQVJPQkpzIHRyZWUgc3RhcnRpbmcgd2l0aCByb290IFZBUk9CSnMgYW5k IGl0cyBjaGlsZHJlbiBnZXQgY3JlYXRlZAotKyAgICAgbGF0ZXIgb24tZGVtYW5kLiAgU28gdGhl cmUgaXMgbm8gcG9pbnQgdHJ5aW5nIHRvIHJldmFsaWRhdGUgdGhlIGNoaWxkCi0rICAgICBWQVJP QkpzLiAgKi8KLSsKLSsgIGFsbF9yb290X3Zhcm9ianMgKHZhcm9ial9yZXZhbGlkYXRlX2l0ZXIs IE5VTEwpOwotK30KLSsKLSsvKiBDYWxsIHZhcm9ial9yZXZhbGlkYXRlIGp1c3QgcHJvdmlkaW5n IGEgZGlmZmVyZW50IGZ1bmN0aW9uIHByb3RvdHlwZS4KLSsgICBDdXJyZW50bHkgZXhpc3Rpbmcg VkFST0JKcyBtYXkgYmVjb21lIHZhbGlkIG9yIGNoYW5nZSB3aXRoIG5ldyBzeW1ib2xzCi0rICAg bG9hZGVkLiAgKi8KKysgICAgIGNoZWNrX3R5cGVkZWYuICBTdWNoIHR5cGVzIHJlZmVyZW5jZXMg d2lsbCBub3QgYmUgaW50ZXJjb25uZWN0ZWQgaW50byB0aGUKKysgICAgIHNhbWUgVFlQRV9HUk9V UC4gICovCiArCi0rc3RhdGljIHZvaWQKLSt2YXJvYmpfcmV2YWxpZGF0ZV9mb3Jfb2JqZmlsZSAo c3RydWN0IG9iamZpbGUgKm9iamZpbGUpCi0gewotLSAgYWxsX3Jvb3RfdmFyb2JqcyAodmFyb2Jq X2ludmFsaWRhdGVfaXRlciwgTlVMTCk7Ci0rICB2YXJvYmpfcmV2YWxpZGF0ZSAoKTsKKysgIGFs bF92YXJvYmpzICh2YXJvYmpfdHlwZXNfbWFya191c2VkX2l0ZXIsIE5VTEwpOwogK30KLSsMCi0r ZXh0ZXJuIHZvaWQgX2luaXRpYWxpemVfdmFyb2JqICh2b2lkKTsKLSt2b2lkCi0rX2luaXRpYWxp emVfdmFyb2JqICh2b2lkKQotK3sKLSsgIGludCBzaXplb2ZfdGFibGUgPSBzaXplb2YgKHN0cnVj dCB2bGlzdCAqKSAqIFZBUk9CSl9UQUJMRV9TSVpFOwotKwotKyAgdmFyb2JqX3RhYmxlID0geG1h bGxvYyAoc2l6ZW9mX3RhYmxlKTsKLSsgIG1lbXNldCAodmFyb2JqX3RhYmxlLCAwLCBzaXplb2Zf dGFibGUpOwotKwotKyAgYWRkX3NldHNob3dfemludGVnZXJfY21kICgiZGVidWd2YXJvYmoiLCBj bGFzc19tYWludGVuYW5jZSwKLSsJCQkgICAgJnZhcm9iamRlYnVnLCBfKCJcCi0rU2V0IHZhcm9i aiBkZWJ1Z2dpbmcuIiksIF8oIlwKLStTaG93IHZhcm9iaiBkZWJ1Z2dpbmcuIiksIF8oIlwKLStX aGVuIG5vbi16ZXJvLCB2YXJvYmogZGVidWdnaW5nIGlzIGVuYWJsZWQuIiksCi0rCQkJICAgIE5V TEwsCi0rCQkJICAgIHNob3dfdmFyb2JqZGVidWcsCi0rCQkJICAgICZzZXRsaXN0LCAmc2hvd2xp c3QpOwotKwotKwotKyAgb2JzZXJ2ZXJfYXR0YWNoX29iamZpbGVfdW5sb2FkaW5nICh2YXJvYmpf aW52YWxpZGF0ZSApOwotKyAgb2JzZXJ2ZXJfYXR0YWNoX29iamZpbGVfdW5sb2FkZWQgKHZhcm9i al9yZXZhbGlkYXRlKTsKLSsgIG9ic2VydmVyX2F0dGFjaF9uZXdfb2JqZmlsZSAodmFyb2JqX3Jl dmFsaWRhdGVfZm9yX29iamZpbGUpOwotKyAgb2JzZXJ2ZXJfYXR0YWNoX21hcmtfdXNlZCAodmFy b2JqX3R5cGVzX21hcmtfdXNlZCk7Ci0gfQorIAwKKyBleHRlcm4gdm9pZCBfaW5pdGlhbGl6ZV92 YXJvYmogKHZvaWQpOworIHZvaWQKIGRpZmYgLS1naXQgYS9nZGIvdmFyb2JqLmggYi9nZGIvdmFy b2JqLmgKLWluZGV4IDcyOTcyNDMuLmZiZTJmMmYgMTAwNjQ0CitpbmRleCA3Mjk3MjQzLi4wNzQ0 Y2MzIDEwMDY0NAogLS0tIGEvZ2RiL3Zhcm9iai5oCiArKysgYi9nZGIvdmFyb2JqLmgKIEBAIC03 OCw2ICs3OCwxMiBAQCB0eXBlZGVmIHN0cnVjdCB2YXJvYmpfdXBkYXRlX3Jlc3VsdF90CkBAIC0y NjcxNiwxMyArMjY0NTYsNyBAQCBpbmRleCA3Mjk3MjQzLi5mYmUyZjJmIDEwMDY0NAogIAogIGV4 dGVybiBjaGFyICp2YXJvYmpfZ2V0X3R5cGUgKHN0cnVjdCB2YXJvYmogKnZhcik7CiAgCi1AQCAt MTQzLDEyICsxNjAsMTUgQEAgZXh0ZXJuIHZvaWQgYWxsX3Jvb3RfdmFyb2JqcyAodm9pZCAoKmZ1 bmMpIChzdHJ1Y3QgdmFyb2JqICp2YXIsIHZvaWQgKmRhdGEpLAotIGV4dGVybiBWRUModmFyb2Jq X3VwZGF0ZV9yZXN1bHQpICp2YXJvYmpfdXBkYXRlIChzdHJ1Y3QgdmFyb2JqICoqdmFycCwgCi0g CQkJCQkJIGludCBleHBsaWNpdCk7Ci0gCi0tZXh0ZXJuIHZvaWQgdmFyb2JqX2ludmFsaWRhdGUg KHZvaWQpOwotLQotIGV4dGVybiBpbnQgdmFyb2JqX2VkaXRhYmxlX3AgKHN0cnVjdCB2YXJvYmog KnZhcik7CitAQCAtMTQ5LDYgKzE2NiwxMSBAQCBleHRlcm4gaW50IHZhcm9ial9lZGl0YWJsZV9w IChzdHJ1Y3QgdmFyb2JqICp2YXIpOwogIAogIGV4dGVybiBpbnQgdmFyb2JqX2Zsb2F0aW5nX3Ag KHN0cnVjdCB2YXJvYmogKnZhcik7CiAgCgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3Bl YwppbmRleCBkYTlhYmMyLi5kYjE1YjVjIDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIu c3BlYwpAQCAtMTQsNyArMTQsNyBAQCBWZXJzaW9uOiA2LjguNTAuMjAwOTA4MTEKIAogIyBUaGUg cmVsZWFzZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2VydmVkIG51bWJlciwgc3RhcnQg aXQgYXQgMS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBuYW1lJyB0byBzdGF5IGZ1 bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRlc3RpbmcuCi1SZWxlYXNl OiAyJXs/X3dpdGhfdXBzdHJlYW06LnVwc3RyZWFtfSV7P2Rpc3R9CitSZWxlYXNlOiAzJXs/X3dp dGhfdXBzdHJlYW06LnVwc3RyZWFtfSV7P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKwogR3JvdXA6 IERldmVsb3BtZW50L0RlYnVnZ2VycwpAQCAtODI1LDYgKzgyNSwxMSBAQCBmaQogJWVuZGlmCiAK ICVjaGFuZ2Vsb2cKKyogVHVlIEF1ZyAxMSAyMDA5IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9j aHZpbEByZWRoYXQuY29tPiAtIDYuOC41MC4yMDA5MDgxMS0zCistIGFyY2hlci1qYW5rcmF0b2No dmlsLWZlZG9yYTEyIGNvbW1pdDogMjg4OGZhZmU2Mzg4OTc1N2M2ZmQyN2NjYzJmMjU2NjFkNDNm ZDFhNAorLSBEcm9wIGFyY2hlci1qYW5rcmF0b2NodmlsLXZsYSBWQVJPQkogaW52YWxpZGF0ZS9y ZXZhbGlkYXRlIHNwbGl0IHRvIGZpeAorICByZWdyZXNzaW9ucyBhZ2FpbnN0IEZTRiBHREIgSEVB RC4KKwogKiBUdWUgQXVnIDExIDIwMDkgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJl ZGhhdC5jb20+IC0gNi44LjUwLjIwMDkwODExLTIKIC0gYXJjaGVyLWphbmtyYXRvY2h2aWwtZmVk b3JhMTIgY29tbWl0OiA5M2Y1ZTk0MmJkY2RjYzM3NmVjZTQ1MmMzMDliZWRhYmFlNzFkZWY5CiAt IEZpeCAiY2FuJ3QgY29tcHV0ZSBDRkEgZm9yIHRoaXMgZnJhbWUiIChieSBUb20gVHJvbWV5LCBC WiA1MTY2MjcpLgo=