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: - Upgrade to the FSF GDB gdb-7.0 snapshot: 6.8.91.20090921 Date: Sat, 27 Jun 2026 23:54:26 GMT Message-ID: <178260446627.1.725654890303897131.rpms-gdb-a8e7ccc4fd6c@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: a8e7ccc4fd6cc0bc84bd6ea41fdd39734d8ec68d ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogYThlN2NjYzRmZDZjYzBiYzg0YmQ2ZWE0MWZkZDM5NzM0ZDhl YzY4ZAogICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amtyYXRvY2hAZmVkb3Jh cHJvamVjdC5vcmc+CiAgICAgICAgICAgIERhdGUgICA6IDIwMDktMDktMjFUMTU6NDk6MzYrMDA6 MDAKICAgICAgICAgICAgU3RhdHMgIDogKzEwMjcvLTIzNyBpbiA2IGZpbGUocykKICAgICAgICAg ICAgVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nZGIvYy9hOGU3 Y2NjNGZkNmNjMGJjODRiZDZlYTQxZmRkMzk3MzRkOGVjNjhkP2JyYW5jaD1nZGItMTcuMi1yZWJh c2UtZjQ0CgogICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIC0gVXBncmFkZSB0byB0aGUgRlNG IEdEQiBnZGItNy4wIHNuYXBzaG90OiA2LjguOTEuMjAwOTA5MjEKLSBhcmNoZXItamFua3JhdG9j aHZpbC1mZWRvcmExMiBjb21taXQ6CiAgICAwZDVjMzhkZDg5MDUwYzBlZTFjZjA0OTY1NmYxNzdj MTcwZDY3NWQ0Ci0gW2V4cHJdIENoZWNrIGhhc19zdGFja19mcmFtZXMgYmVmb3JlIGNhbGxpbmcg ZmluZF9wY19saW5lIChTYW1pCiAgICBXYWdpYWFsbGEpLgoKLS0tCmRpZmYgLS1naXQgYS8uY3Zz aWdub3JlIGIvLmN2c2lnbm9yZQppbmRleCA4NTIyY2Q0Li40Y2Y3ZDA1IDEwMDY0NAotLS0gYS8u Y3ZzaWdub3JlCisrKyBiLy5jdnNpZ25vcmUKQEAgLTEsMiArMSwyIEBACi1nZGItNi44LjkxLjIw MDkwOTE3LnRhci5iejIKIGxpYnN0ZGMrKy12My1weXRob24tcjE1MTc5OC50YXIueHoKK2dkYi02 LjguOTEuMjAwOTA5MjEudGFyLmJ6MgoKZGlmZiAtLWdpdCBhL2dkYi02LjMtcGllLTIwMDUwMTEw LnBhdGNoIGIvZ2RiLTYuMy1waWUtMjAwNTAxMTAucGF0Y2gKaW5kZXggMDQ3NTVlYS4uZmFhZDFm NyAxMDA2NDQKLS0tIGEvZ2RiLTYuMy1waWUtMjAwNTAxMTAucGF0Y2gKKysrIGIvZ2RiLTYuMy1w aWUtMjAwNTAxMTAucGF0Y2gKQEAgLTMyNCwxNiArMzI0LDYgQEAgSW5kZXg6IGdkYi02LjguOTEu MjAwOTA5MTcvZ2RiL29iamZpbGVzLmMKICAgIGlmIChzeW1maWxlX29iamZpbGUgPT0gTlVMTCkK ICAgICAgcmV0dXJuIDA7CiAgCi1AQCAtNDY3LDYgKzQ3OCw5IEBAIGZyZWVfb2JqZmlsZSAoc3Ry dWN0IG9iamZpbGUgKm9iamZpbGUpCi0gICBpZiAob2JqZmlsZSA9PSBzeW1maWxlX29iamZpbGUp Ci0gICAgIHN5bWZpbGVfb2JqZmlsZSA9IE5VTEw7Ci0gCi0rICBpZiAob2JqZmlsZSA9PSBzeW1m aWxlX29iamZpbGUpCi0rICAgIHN5bWZpbGVfb2JqZmlsZSA9IE5VTEw7Ci0rCi0gICAvKiBCZWZv cmUgdGhlIHN5bWJvbCB0YWJsZSBjb2RlIHdhcyByZWRvbmUgdG8gbWFrZSBpdCBlYXNpZXIgdG8K LSAgICAgIHNlbGVjdGl2ZWx5IGxvYWQgYW5kIHJlbW92ZSBpbmZvcm1hdGlvbiBwYXJ0aWN1bGFy IHRvIGEgc3BlY2lmaWMKLSAgICAgIGxpbmthZ2UgdW5pdCwgZ2RiIHVzZWQgdG8gZG8gdGhlc2Ug dGhpbmdzIHdoZW5ldmVyIHRoZSBtb25vbGl0aGljCiBJbmRleDogZ2RiLTYuOC45MS4yMDA5MDkx Ny9nZGIvc29saWItc3ZyNC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gZ2RiLTYuOC45MS4yMDA5MDkxNy5v cmlnL2dkYi9zb2xpYi1zdnI0LmMJMjAwOS0wOS0xNyAxMjo0ODo1MC4wMDAwMDAwMDAgKzAyMDAK CmRpZmYgLS1naXQgYS9nZGItNi44LjUwLjIwMDkwOTIxLXVwc3RyZWFtLnBhdGNoIGIvZ2RiLTYu OC41MC4yMDA5MDkyMS11cHN0cmVhbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi4xNzc4NTUyCi0tLSAvZGV2L251bGwKKysrIGIvZ2RiLTYuOC41MC4yMDA5MDkyMS11 cHN0cmVhbS5wYXRjaApAQCAtMCwwICsxLDk2NSBAQAorPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorUkNTIGZpbGU6IC9j dnMvc3JjL3NyYy9nZGIvQ2hhbmdlTG9nLHYKK3JldHJpZXZpbmcgcmV2aXNpb24gMS4xMDg3NC4y LjExCityZXRyaWV2aW5nIHJldmlzaW9uIDEuMTA4NzQuMi4xMgorZGlmZiAtdSAtcjEuMTA4NzQu Mi4xMSAtcjEuMTA4NzQuMi4xMgorLS0tIHNyYy9nZGIvQ2hhbmdlTG9nCTIwMDkvMDkvMTkgMTY6 MzY6MDgJMS4xMDg3NC4yLjExCisrKysgc3JjL2dkYi9DaGFuZ2VMb2cJMjAwOS8wOS8yMSAwNjo1 NzowMgkxLjEwODc0LjIuMTIKK0BAIC0xLDMgKzEsNDcgQEAKKysyMDA5LTA5LTIxICBIdWkgWmh1 ICA8dGVhd2F0ZXJAZ21haWwuY29tPgorKwkgICAgTWljaGFlbCBTbnlkZXIgIDxtc255ZGVyQHZt d2FyZS5jb20+CisrCisrCSogYW1kNjQtbGludXgtdGRlcC5jIChhbWQ2NF9hbGxfYnV0X2lwX3Jl Z2lzdGVyc19yZWNvcmQpOiBOZXcKKysJZnVuY3Rpb24uCisrCShhbWQ2NF9saW51eF9zeXNjYWxs X3JlY29yZCk6IENhbGwKKysJYW1kNjRfYWxsX2J1dF9pcF9yZWdpc3RlcnNfcmVjb3JkIGlmIHN5 c2NhbGwgaXMKKysJc3lzX3J0X3NpZ3JldHVybi4KKysJKEFNRDY0X0xJTlVYX3JlZHpvbmUsIEFN RDY0X0xJTlVYX3hzdGF0ZSwKKysJQU1ENjRfTElOVVhfZnJhbWVfc2l6ZSk6IE5ldyBtYWNyb3Mu CisrCShhbWQ2NF9saW51eF9yZWNvcmRfc2lnbmFsKTogTmV3IGZ1bmN0aW9uLgorKwkoYW1kNjRf bGludXhfaW5pdF9hYmkpOiBDYWxsIHNldF9nZGJhcmNoX3Byb2Nlc3NfcmVjb3JkX3NpZ25hbC4K KysKKysyMDA5LTA5LTIxICBIdWkgWmh1ICA8dGVhd2F0ZXJAZ21haWwuY29tPgorKwkgICAgTWlj aGFlbCBTbnlkZXIgIDxtc255ZGVyQHZtd2FyZS5jb20+CisrCisrCSogaTM4Ni1saW51eC10ZGVw LmMgKGkzODZfYWxsX2J1dF9pcF9yZWdpc3RlcnNfcmVjb3JkKTogTmV3CisrCWZ1bmN0aW9uLgor KwkoaTM4Nl9saW51eF9pbnR4ODBfc3lzZW50ZXJfcmVjb3JkKTogQ2FsbAorKwlpMzg2X2FsbF9i dXRfaXBfcmVnaXN0ZXJzX3JlY29yZCBpZiBzeXNjYWxsIGlzIHN5c19zaWdyZXR1cm4KKysJb3Ig c3lzX3J0X3NpZ3JldHVybi4KKysJKEkzODZfTElOVVhfeHN0YXRlLCBJMzg2X0xJTlVYX2ZyYW1l X3NpemUpOiBOZXcgbWFjcm9zLgorKwkoaTM4Nl9saW51eF9yZWNvcmRfc2lnbmFsKTogTmV3IGZ1 bmN0aW9uLgorKwkoaTM4Nl9saW51eF9pbml0X2FiaSk6IENhbGwgc2V0X2dkYmFyY2hfcHJvY2Vz c19yZWNvcmRfc2lnbmFsLgorKworKzIwMDktMDktMjEgIEh1aSBaaHUgIDx0ZWF3YXRlckBnbWFp bC5jb20+CisrCSAgICBNaWNoYWVsIFNueWRlciAgPG1zbnlkZXJAdm13YXJlLmNvbT4KKysKKysJ KiByZWNvcmQuYyAocmVjb3JkX2VuZF9lbnRyeSk6IE5ldyBzdHJ1Y3QuCisrCShyZWNvcmRfdHlw ZSk6IEFkZCBlbmQuCisrCShyZWNvcmRfYXJjaF9saXN0X2FkZF9lbmQpOiBTZXQgcmVjLT51LmVu ZC5zaWd2YWwgdG8KKysJVEFSR0VUX1NJR05BTF8wLgorKwkocmVjb3JkX21lc3NhZ2VfYXJncyk6 IE5ldyBzdHJ1Y3QuCisrCShyZWNvcmRfbWVzc2FnZSk6IENhbGwgZ2RiYXJjaF9wcm9jZXNzX3Jl Y29yZF9zaWduYWwuCisrCShkb19yZWNvcmRfbWVzc2FnZSk6IEFkZCBhcmd1bWVudCAic2lnbmFs Ii4KKysJKHJlY29yZF9yZXN1bWUpOiBEaXR0by4KKysJKHJlY29yZF93YWl0KTogRGl0dG8uICBD aGVjayByZWNvcmRfbGlzdC0+dS5lbmQuc2lndmFsCisrCWluIHJlcGxheSBtb2RlLgorKworKzIw MDktMDktMjEgIEh1aSBaaHUgIDx0ZWF3YXRlckBnbWFpbC5jb20+CisrCSAgICBNaWNoYWVsIFNu eWRlciAgPG1zbnlkZXJAdm13YXJlLmNvbT4KKysKKysJKiBnZGJhcmNoLnNoIChwcm9jZXNzX3Jl Y29yZF9zaWduYWwpOiBOZXcgaW50ZXJmYWNlLgorKworIDIwMDktMDktMTkgIE1heGltIEdyaWdv cmlldiAgPG1heGltMjQwNUBnbWFpbC5jb20+CisgCisgCSogeHRlbnNhLXRkZXAuYyAoY2FsbDBf YW5hbHl6ZV9wcm9sb2d1ZSk6IFJlcGxhY2UgSU5UX01BWCBieSBVTklUX01BWC4KKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KK1JDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2dkYmFyY2guc2gsdgorcmV0cmlldmluZyBy ZXZpc2lvbiAxLjQ5NgorcmV0cmlldmluZyByZXZpc2lvbiAxLjQ5Ni4yLjEKK2RpZmYgLXUgLXIx LjQ5NiAtcjEuNDk2LjIuMQorLS0tIHNyYy9nZGIvZ2RiYXJjaC5zaAkyMDA5LzA5LzE1IDAzOjMw OjA1CTEuNDk2CisrKysgc3JjL2dkYi9nZGJhcmNoLnNoCTIwMDkvMDkvMjEgMDY6NTc6MDIJMS40 OTYuMi4xCitAQCAtNzA5LDYgKzcwOSwxMCBAQAorICMgUmV0dXJuIC0xIGlmIHNvbWV0aGluZyBn b2VzIHdyb25nLCAwIG90aGVyd2lzZS4KKyBNOmludDpwcm9jZXNzX3JlY29yZDpzdHJ1Y3QgcmVn Y2FjaGUgKnJlZ2NhY2hlLCBDT1JFX0FERFIgYWRkcjpyZWdjYWNoZSwgYWRkcgorIAorKyMgU2F2 ZSBwcm9jZXNzIHN0YXRlIGFmdGVyIGEgc2lnbmFsLgorKyMgUmV0dXJuIC0xIGlmIHNvbWV0aGlu ZyBnb2VzIHdyb25nLCAwIG90aGVyd2lzZS4KKytNOmludDpwcm9jZXNzX3JlY29yZF9zaWduYWw6 c3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgZW51bSB0YXJnZXRfc2lnbmFsIHNpZ25hbDpyZWdj YWNoZSwgc2lnbmFsCisrCisgIyBTaWduYWwgdHJhbnNsYXRpb246IHRyYW5zbGF0ZSBpbmZlcmlv cidzIHNpZ25hbCAoaG9zdCdzKSBudW1iZXIgaW50bworICMgR0RCJ3MgcmVwcmVzZW50YXRpb24u CisgbTplbnVtIHRhcmdldF9zaWduYWw6dGFyZ2V0X3NpZ25hbF9mcm9tX2hvc3Q6aW50IHNpZ25v OnNpZ25vOjpkZWZhdWx0X3RhcmdldF9zaWduYWxfZnJvbV9ob3N0OjowCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitS Q1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9nZGJhcmNoLmMsdgorcmV0cmlldmluZyByZXZpc2lv biAxLjQ1MworcmV0cmlldmluZyByZXZpc2lvbiAxLjQ1My4yLjEKK2RpZmYgLXUgLXIxLjQ1MyAt cjEuNDUzLjIuMQorLS0tIHNyYy9nZGIvZ2RiYXJjaC5jCTIwMDkvMDkvMTUgMDM6MzA6MDUJMS40 NTMKKysrKyBzcmMvZ2RiL2dkYmFyY2guYwkyMDA5LzA5LzIxIDA2OjU3OjAyCTEuNDUzLjIuMQor QEAgLTI0MCw2ICsyNDAsNyBAQAorICAgZ2RiYXJjaF9zdGF0aWNfdHJhbnNmb3JtX25hbWVfZnR5 cGUgKnN0YXRpY190cmFuc2Zvcm1fbmFtZTsKKyAgIGludCBzb2Z1bl9hZGRyZXNzX21heWJlX21p c3Npbmc7CisgICBnZGJhcmNoX3Byb2Nlc3NfcmVjb3JkX2Z0eXBlICpwcm9jZXNzX3JlY29yZDsK KysgIGdkYmFyY2hfcHJvY2Vzc19yZWNvcmRfc2lnbmFsX2Z0eXBlICpwcm9jZXNzX3JlY29yZF9z aWduYWw7CisgICBnZGJhcmNoX3RhcmdldF9zaWduYWxfZnJvbV9ob3N0X2Z0eXBlICp0YXJnZXRf c2lnbmFsX2Zyb21faG9zdDsKKyAgIGdkYmFyY2hfdGFyZ2V0X3NpZ25hbF90b19ob3N0X2Z0eXBl ICp0YXJnZXRfc2lnbmFsX3RvX2hvc3Q7CisgICBnZGJhcmNoX2dldF9zaWdpbmZvX3R5cGVfZnR5 cGUgKmdldF9zaWdpbmZvX3R5cGU7CitAQCAtMzc4LDYgKzM3OSw3IEBACisgICAwLCAgLyogc3Rh dGljX3RyYW5zZm9ybV9uYW1lICovCisgICAwLCAgLyogc29mdW5fYWRkcmVzc19tYXliZV9taXNz aW5nICovCisgICAwLCAgLyogcHJvY2Vzc19yZWNvcmQgKi8KKysgIDAsICAvKiBwcm9jZXNzX3Jl Y29yZF9zaWduYWwgKi8KKyAgIGRlZmF1bHRfdGFyZ2V0X3NpZ25hbF9mcm9tX2hvc3QsICAvKiB0 YXJnZXRfc2lnbmFsX2Zyb21faG9zdCAqLworICAgZGVmYXVsdF90YXJnZXRfc2lnbmFsX3RvX2hv c3QsICAvKiB0YXJnZXRfc2lnbmFsX3RvX2hvc3QgKi8KKyAgIDAsICAvKiBnZXRfc2lnaW5mb190 eXBlICovCitAQCAtNjM1LDYgKzYzNyw3IEBACisgICAvKiBTa2lwIHZlcmlmeSBvZiBzdGF0aWNf dHJhbnNmb3JtX25hbWUsIGhhcyBwcmVkaWNhdGUgKi8KKyAgIC8qIFNraXAgdmVyaWZ5IG9mIHNv ZnVuX2FkZHJlc3NfbWF5YmVfbWlzc2luZywgaW52YWxpZF9wID09IDAgKi8KKyAgIC8qIFNraXAg dmVyaWZ5IG9mIHByb2Nlc3NfcmVjb3JkLCBoYXMgcHJlZGljYXRlICovCisrICAvKiBTa2lwIHZl cmlmeSBvZiBwcm9jZXNzX3JlY29yZF9zaWduYWwsIGhhcyBwcmVkaWNhdGUgKi8KKyAgIC8qIFNr aXAgdmVyaWZ5IG9mIHRhcmdldF9zaWduYWxfZnJvbV9ob3N0LCBpbnZhbGlkX3AgPT0gMCAqLwor ICAgLyogU2tpcCB2ZXJpZnkgb2YgdGFyZ2V0X3NpZ25hbF90b19ob3N0LCBpbnZhbGlkX3AgPT0g MCAqLworICAgLyogU2tpcCB2ZXJpZnkgb2YgZ2V0X3NpZ2luZm9fdHlwZSwgaGFzIHByZWRpY2F0 ZSAqLworQEAgLTk3MSw2ICs5NzQsMTIgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgImdkYmFy Y2hfZHVtcDogcHJvY2Vzc19yZWNvcmQgPSA8JXM+XG4iLAorICAgICAgICAgICAgICAgICAgICAg ICBob3N0X2FkZHJlc3NfdG9fc3RyaW5nIChnZGJhcmNoLT5wcm9jZXNzX3JlY29yZCkpOworICAg ZnByaW50Zl91bmZpbHRlcmVkIChmaWxlLAorKyAgICAgICAgICAgICAgICAgICAgICAiZ2RiYXJj aF9kdW1wOiBnZGJhcmNoX3Byb2Nlc3NfcmVjb3JkX3NpZ25hbF9wKCkgPSAlZFxuIiwKKysgICAg ICAgICAgICAgICAgICAgICAgZ2RiYXJjaF9wcm9jZXNzX3JlY29yZF9zaWduYWxfcCAoZ2RiYXJj aCkpOworKyAgZnByaW50Zl91bmZpbHRlcmVkIChmaWxlLAorKyAgICAgICAgICAgICAgICAgICAg ICAiZ2RiYXJjaF9kdW1wOiBwcm9jZXNzX3JlY29yZF9zaWduYWwgPSA8JXM+XG4iLAorKyAgICAg ICAgICAgICAgICAgICAgICBob3N0X2FkZHJlc3NfdG9fc3RyaW5nIChnZGJhcmNoLT5wcm9jZXNz X3JlY29yZF9zaWduYWwpKTsKKysgIGZwcmludGZfdW5maWx0ZXJlZCAoZmlsZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgImdkYmFyY2hfZHVtcDogcHNfcmVnbnVtID0gJXNcbiIsCisgICAgICAg ICAgICAgICAgICAgICAgIHBsb25nZXN0IChnZGJhcmNoLT5wc19yZWdudW0pKTsKKyAgIGZwcmlu dGZfdW5maWx0ZXJlZCAoZmlsZSwKK0BAIC0zMzA3LDYgKzMzMTYsMzAgQEAKKyAgIGdkYmFyY2gt PnByb2Nlc3NfcmVjb3JkID0gcHJvY2Vzc19yZWNvcmQ7CisgfQorIAorK2ludAorK2dkYmFyY2hf cHJvY2Vzc19yZWNvcmRfc2lnbmFsX3AgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQorK3sKKysg IGdkYl9hc3NlcnQgKGdkYmFyY2ggIT0gTlVMTCk7CisrICByZXR1cm4gZ2RiYXJjaC0+cHJvY2Vz c19yZWNvcmRfc2lnbmFsICE9IE5VTEw7CisrfQorKworK2ludAorK2dkYmFyY2hfcHJvY2Vzc19y ZWNvcmRfc2lnbmFsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHJlZ2NhY2hlICpy ZWdjYWNoZSwgZW51bSB0YXJnZXRfc2lnbmFsIHNpZ25hbCkKKyt7CisrICBnZGJfYXNzZXJ0IChn ZGJhcmNoICE9IE5VTEwpOworKyAgZ2RiX2Fzc2VydCAoZ2RiYXJjaC0+cHJvY2Vzc19yZWNvcmRf c2lnbmFsICE9IE5VTEwpOworKyAgaWYgKGdkYmFyY2hfZGVidWcgPj0gMikKKysgICAgZnByaW50 Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLCAiZ2RiYXJjaF9wcm9jZXNzX3JlY29yZF9zaWduYWwg Y2FsbGVkXG4iKTsKKysgIHJldHVybiBnZGJhcmNoLT5wcm9jZXNzX3JlY29yZF9zaWduYWwgKGdk YmFyY2gsIHJlZ2NhY2hlLCBzaWduYWwpOworK30KKysKKyt2b2lkCisrc2V0X2dkYmFyY2hfcHJv Y2Vzc19yZWNvcmRfc2lnbmFsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGdkYmFyY2hfcHJvY2Vzc19yZWNvcmRfc2lnbmFsX2Z0 eXBlIHByb2Nlc3NfcmVjb3JkX3NpZ25hbCkKKyt7CisrICBnZGJhcmNoLT5wcm9jZXNzX3JlY29y ZF9zaWduYWwgPSBwcm9jZXNzX3JlY29yZF9zaWduYWw7CisrfQorKworIGVudW0gdGFyZ2V0X3Np Z25hbAorIGdkYmFyY2hfdGFyZ2V0X3NpZ25hbF9mcm9tX2hvc3QgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBpbnQgc2lnbm8pCisgeworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorUkNTIGZpbGU6IC9jdnMvc3JjL3Ny Yy9nZGIvZ2RiYXJjaC5oLHYKK3JldHJpZXZpbmcgcmV2aXNpb24gMS40MDMKK3JldHJpZXZpbmcg cmV2aXNpb24gMS40MDMuMi4xCitkaWZmIC11IC1yMS40MDMgLXIxLjQwMy4yLjEKKy0tLSBzcmMv Z2RiL2dkYmFyY2guaAkyMDA5LzA5LzE1IDAzOjMwOjA1CTEuNDAzCisrKysgc3JjL2dkYi9nZGJh cmNoLmgJMjAwOS8wOS8yMSAwNjo1NzowMgkxLjQwMy4yLjEKK0BAIC04MjIsNiArODIyLDE1IEBA CisgZXh0ZXJuIGludCBnZGJhcmNoX3Byb2Nlc3NfcmVjb3JkIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgQ09SRV9BRERSIGFkZHIpOworIGV4dGVy biB2b2lkIHNldF9nZGJhcmNoX3Byb2Nlc3NfcmVjb3JkIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwgZ2RiYXJjaF9wcm9jZXNzX3JlY29yZF9mdHlwZSAqcHJvY2Vzc19yZWNvcmQpOworIAorKy8q IFNhdmUgcHJvY2VzcyBzdGF0ZSBhZnRlciBhIHNpZ25hbC4KKysgICBSZXR1cm4gLTEgaWYgc29t ZXRoaW5nIGdvZXMgd3JvbmcsIDAgb3RoZXJ3aXNlLiAqLworKworK2V4dGVybiBpbnQgZ2RiYXJj aF9wcm9jZXNzX3JlY29yZF9zaWduYWxfcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpOworKwor K3R5cGVkZWYgaW50IChnZGJhcmNoX3Byb2Nlc3NfcmVjb3JkX3NpZ25hbF9mdHlwZSkgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBlbnVtIHRhcmdl dF9zaWduYWwgc2lnbmFsKTsKKytleHRlcm4gaW50IGdkYmFyY2hfcHJvY2Vzc19yZWNvcmRfc2ln bmFsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwg ZW51bSB0YXJnZXRfc2lnbmFsIHNpZ25hbCk7CisrZXh0ZXJuIHZvaWQgc2V0X2dkYmFyY2hfcHJv Y2Vzc19yZWNvcmRfc2lnbmFsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgZ2RiYXJjaF9wcm9j ZXNzX3JlY29yZF9zaWduYWxfZnR5cGUgKnByb2Nlc3NfcmVjb3JkX3NpZ25hbCk7CisrCisgLyog U2lnbmFsIHRyYW5zbGF0aW9uOiB0cmFuc2xhdGUgaW5mZXJpb3IncyBzaWduYWwgKGhvc3Qncykg bnVtYmVyIGludG8KKyAgICBHREIncyByZXByZXNlbnRhdGlvbi4gKi8KKyAKKz09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K K1JDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3JlY29yZC5jLHYKK3JldHJpZXZpbmcgcmV2aXNp b24gMS4xNworcmV0cmlldmluZyByZXZpc2lvbiAxLjE3LjIuMQorZGlmZiAtdSAtcjEuMTcgLXIx LjE3LjIuMQorLS0tIHNyYy9nZGIvcmVjb3JkLmMJMjAwOS8wOS8wOCAwMDo1MDo0MgkxLjE3Cisr Kysgc3JjL2dkYi9yZWNvcmQuYwkyMDA5LzA5LzIxIDA2OjU3OjAzCTEuMTcuMi4xCitAQCAtNTks NiArNTksMTEgQEAKKyAgIGdkYl9ieXRlICp2YWw7CisgfTsKKyAKKytzdHJ1Y3QgcmVjb3JkX2Vu ZF9lbnRyeQorK3sKKysgIGVudW0gdGFyZ2V0X3NpZ25hbCBzaWd2YWw7CisrfTsKKysKKyBlbnVt IHJlY29yZF90eXBlCisgeworICAgcmVjb3JkX2VuZCA9IDAsCitAQCAtNzcsNiArODIsOCBAQAor ICAgICBzdHJ1Y3QgcmVjb3JkX3JlZ19lbnRyeSByZWc7CisgICAgIC8qIG1lbSAqLworICAgICBz dHJ1Y3QgcmVjb3JkX21lbV9lbnRyeSBtZW07CisrICAgIC8qIGVuZCAqLworKyAgICBzdHJ1Y3Qg cmVjb3JkX2VuZF9lbnRyeSBlbmQ7CisgICB9IHU7CisgfTsKKyAKK0BAIC0zMTQsNiArMzIxLDcg QEAKKyAgIHJlYy0+cHJldiA9IE5VTEw7CisgICByZWMtPm5leHQgPSBOVUxMOworICAgcmVjLT50 eXBlID0gcmVjb3JkX2VuZDsKKysgIHJlYy0+dS5lbmQuc2lndmFsID0gVEFSR0VUX1NJR05BTF8w OworIAorICAgcmVjb3JkX2FyY2hfbGlzdF9hZGQgKHJlYyk7CisgCitAQCAtMzYwLDExICszNjgs MTcgQEAKKyAgIHJlY29yZF9saXN0X3JlbGVhc2UgKHJlY29yZF9hcmNoX2xpc3RfdGFpbCk7Cisg fQorIAorK3N0cnVjdCByZWNvcmRfbWVzc2FnZV9hcmdzIHsKKysgIHN0cnVjdCByZWdjYWNoZSAq cmVnY2FjaGU7CisrICBlbnVtIHRhcmdldF9zaWduYWwgc2lnbmFsOworK307CisrCisgc3RhdGlj IGludAorIHJlY29yZF9tZXNzYWdlICh2b2lkICphcmdzKQorIHsKKyAgIGludCByZXQ7CistICBz dHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlID0gYXJnczsKKysgIHN0cnVjdCByZWNvcmRfbWVzc2Fn ZV9hcmdzICpteWFyZ3MgPSBhcmdzOworKyAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRf cmVnY2FjaGVfYXJjaCAobXlhcmdzLT5yZWdjYWNoZSk7CisgICBzdHJ1Y3QgY2xlYW51cCAqb2xk X2NsZWFudXBzID0gbWFrZV9jbGVhbnVwIChyZWNvcmRfbWVzc2FnZV9jbGVhbnVwcywgMCk7Cisg CisgICByZWNvcmRfYXJjaF9saXN0X2hlYWQgPSBOVUxMOworQEAgLTM3Myw5ICszODcsNDQgQEAK KyAgIC8qIENoZWNrIHJlY29yZF9pbnNuX251bS4gICovCisgICByZWNvcmRfY2hlY2tfaW5zbl9u dW0gKDEpOworIAorLSAgcmV0ID0gZ2RiYXJjaF9wcm9jZXNzX3JlY29yZCAoZ2V0X3JlZ2NhY2hl X2FyY2ggKHJlZ2NhY2hlKSwKKy0JCQkJcmVnY2FjaGUsCistCQkJCXJlZ2NhY2hlX3JlYWRfcGMg KHJlZ2NhY2hlKSk7CisrICAvKiBJZiBnZGIgc2VuZHMgYSBzaWduYWwgdmFsdWUgdG8gdGFyZ2V0 X3Jlc3VtZSwKKysgICAgIHNhdmUgaXQgaW4gdGhlICdlbmQnIGZpZWxkIG9mIHRoZSBwcmV2aW91 cyBpbnN0cnVjdGlvbi4KKysKKysgICAgIE1heWJlIHByb2Nlc3MgcmVjb3JkIHNob3VsZCByZWNv cmQgd2hhdCByZWFsbHkgaGFwcGVuZWQsCisrICAgICByYXRoZXIgdGhhbiB3aGF0IGdkYiBwcmV0 ZW5kcyBoYXMgaGFwcGVuZWQuCisrCisrICAgICBTbyBpZiBMaW51eCBkZWxpdmVyZWQgdGhlIHNp Z25hbCB0byB0aGUgY2hpbGQgcHJvY2VzcyBkdXJpbmcKKysgICAgIHRoZSByZWNvcmQgbW9kZSwg d2Ugd2lsbCByZWNvcmQgaXQgYW5kIGRlbGl2ZXIgaXQgYWdhaW4gaW4KKysgICAgIHRoZSByZXBs YXkgbW9kZS4KKysKKysgICAgIElmIHVzZXIgc2F5cyAiaWdub3JlIHRoaXMgc2lnbmFsIiBkdXJp bmcgdGhlIHJlY29yZCBtb2RlLCB0aGVuCisrICAgICBpdCB3aWxsIGJlIGlnbm9yZWQgYWdhaW4g ZHVyaW5nIHRoZSByZXBsYXkgbW9kZSAobm8gbWF0dGVyIGlmCisrICAgICB0aGUgdXNlciBzYXlz IHNvbWV0aGluZyBkaWZmZXJlbnQsIGxpa2UgImRlbGl2ZXIgdGhpcyBzaWduYWwiCisrICAgICBk dXJpbmcgdGhlIHJlcGxheSBtb2RlKS4KKysKKysgICAgIFVzZXIgc2hvdWxkIHVuZGVyc3RhbmQg dGhhdCBub3RoaW5nIGhlIGRvZXMgZHVyaW5nIHRoZSByZXBsYXkKKysgICAgIG1vZGUgd2lsbCBj aGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHRoZSBjaGlsZC4gIElmIGhlIHRyaWVzLAorKyAgICAgdGhl biB0aGF0IGlzIGEgdXNlciBlcnJvci4KKysKKysgICAgIEJ1dCB3ZSBzaG91bGQgc3RpbGwgZGVs aXZlciB0aGUgc2lnbmFsIHRvIGdkYiBkdXJpbmcgdGhlIHJlcGxheSwKKysgICAgIGlmIHdlIGRl bGl2ZXJlZCBpdCBkdXJpbmcgdGhlIHJlY29yZGluZy4gIFRoZXJlZm9yZSB3ZSBzaG91bGQKKysg ICAgIHJlY29yZCB0aGUgc2lnbmFsIGR1cmluZyByZWNvcmRfd2FpdCwgbm90IHJlY29yZF9yZXN1 bWUuICAqLworKyAgaWYgKHJlY29yZF9saXN0ICE9ICZyZWNvcmRfZmlyc3QpICAgIC8qIEZJWE1F IGJldHRlciB3YXkgdG8gY2hlY2sgKi8KKysgICAgeworKyAgICAgIGdkYl9hc3NlcnQgKHJlY29y ZF9saXN0LT50eXBlID09IHJlY29yZF9lbmQpOworKyAgICAgIHJlY29yZF9saXN0LT51LmVuZC5z aWd2YWwgPSBteWFyZ3MtPnNpZ25hbDsKKysgICAgfQorKworKyAgaWYgKG15YXJncy0+c2lnbmFs ID09IFRBUkdFVF9TSUdOQUxfMAorKyAgICAgIHx8ICFnZGJhcmNoX3Byb2Nlc3NfcmVjb3JkX3Np Z25hbF9wIChnZGJhcmNoKSkKKysgICAgcmV0ID0gZ2RiYXJjaF9wcm9jZXNzX3JlY29yZCAoZ2Ri YXJjaCwKKysJCQkJICBteWFyZ3MtPnJlZ2NhY2hlLAorKwkJCQkgIHJlZ2NhY2hlX3JlYWRfcGMg KG15YXJncy0+cmVnY2FjaGUpKTsKKysgIGVsc2UKKysgICAgcmV0ID0gZ2RiYXJjaF9wcm9jZXNz X3JlY29yZF9zaWduYWwgKGdkYmFyY2gsCisrCQkJCQkgbXlhcmdzLT5yZWdjYWNoZSwKKysJCQkJ CSBteWFyZ3MtPnNpZ25hbCk7CisrCisgICBpZiAocmV0ID4gMCkKKyAgICAgZXJyb3IgKF8oIlBy b2Nlc3MgcmVjb3JkOiBpbmZlcmlvciBwcm9ncmFtIHN0b3BwZWQuIikpOworICAgaWYgKHJldCA8 IDApCitAQCAtMzk2LDkgKzQ0NSwxNCBAQAorIH0KKyAKKyBzdGF0aWMgaW50CistZG9fcmVjb3Jk X21lc3NhZ2UgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUpCisrZG9fcmVjb3JkX21lc3NhZ2Ug KHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsCisrCQkgICBlbnVtIHRhcmdldF9zaWduYWwgc2ln bmFsKQorIHsKKy0gIHJldHVybiBjYXRjaF9lcnJvcnMgKHJlY29yZF9tZXNzYWdlLCByZWdjYWNo ZSwgTlVMTCwgUkVUVVJOX01BU0tfQUxMKTsKKysgIHN0cnVjdCByZWNvcmRfbWVzc2FnZV9hcmdz IGFyZ3M7CisrCisrICBhcmdzLnJlZ2NhY2hlID0gcmVnY2FjaGU7CisrICBhcmdzLnNpZ25hbCA9 IHNpZ25hbDsKKysgIHJldHVybiBjYXRjaF9lcnJvcnMgKHJlY29yZF9tZXNzYWdlLCAmYXJncywg TlVMTCwgUkVUVVJOX01BU0tfQUxMKTsKKyB9CisgCisgLyogU2V0IHRvIDEgaWYgcmVjb3JkX3N0 b3JlX3JlZ2lzdGVycyBhbmQgcmVjb3JkX3hmZXJfcGFydGlhbAorQEAgLTUyMCwxMyArNTc0LDEz IEBACisgCisgc3RhdGljIHZvaWQKKyByZWNvcmRfcmVzdW1lIChzdHJ1Y3QgdGFyZ2V0X29wcyAq b3BzLCBwdGlkX3QgcHRpZCwgaW50IHN0ZXAsCistICAgICAgICAgICAgICAgZW51bSB0YXJnZXRf c2lnbmFsIHNpZ2duYWwpCisrICAgICAgICAgICAgICAgZW51bSB0YXJnZXRfc2lnbmFsIHNpZ25h bCkKKyB7CisgICByZWNvcmRfcmVzdW1lX3N0ZXAgPSBzdGVwOworIAorICAgaWYgKCFSRUNPUkRf SVNfUkVQTEFZKQorICAgICB7CistICAgICAgaWYgKGRvX3JlY29yZF9tZXNzYWdlIChnZXRfY3Vy cmVudF9yZWdjYWNoZSAoKSkpCisrICAgICAgaWYgKGRvX3JlY29yZF9tZXNzYWdlIChnZXRfY3Vy cmVudF9yZWdjYWNoZSAoKSwgc2lnbmFsKSkKKyAgICAgICAgIHsKKyAgICAgICAgICAgcmVjb3Jk X3Jlc3VtZV9lcnJvciA9IDA7CisgICAgICAgICB9CitAQCAtNTM2LDcgKzU5MCw3IEBACisgICAg ICAgICAgIHJldHVybjsKKyAgICAgICAgIH0KKyAgICAgICByZWNvcmRfYmVuZWF0aF90b19yZXN1 bWUgKHJlY29yZF9iZW5lYXRoX3RvX3Jlc3VtZV9vcHMsIHB0aWQsIDEsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzaWdnbmFsKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNpZ25hbCk7CisgICAgIH0KKyB9CisgCitAQCAtNjExLDE1ICs2NjUsMTYgQEAKKyAJ ICAgICAgcmV0ID0gcmVjb3JkX2JlbmVhdGhfdG9fd2FpdCAocmVjb3JkX2JlbmVhdGhfdG9fd2Fp dF9vcHMsCisgCQkJCQkgICAgcHRpZCwgc3RhdHVzLCBvcHRpb25zKTsKKyAKKysJICAgICAgLyog SXMgdGhpcyBhIFNJR1RSQVA/ICAqLworIAkgICAgICBpZiAoc3RhdHVzLT5raW5kID09IFRBUkdF VF9XQUlUS0lORF9TVE9QUEVECisgCQkgICYmIHN0YXR1cy0+dmFsdWUuc2lnID09IFRBUkdFVF9T SUdOQUxfVFJBUCkKKyAJCXsKKy0JCSAgLyogQ2hlY2sgaWYgdGhlcmUgaXMgYSBicmVha3BvaW50 LiAgKi8KKysJCSAgLyogWWVzIC0tIGNoZWNrIGlmIHRoZXJlIGlzIGEgYnJlYWtwb2ludC4gICov CisgCQkgIHJlZ2lzdGVyc19jaGFuZ2VkICgpOworIAkJICB0bXBfcGMgPSByZWdjYWNoZV9yZWFk X3BjIChnZXRfY3VycmVudF9yZWdjYWNoZSAoKSk7CisgCQkgIGlmIChicmVha3BvaW50X2luc2Vy dGVkX2hlcmVfcCAodG1wX3BjKSkKKyAJCSAgICB7CistCQkgICAgICAvKiBUaGVyZSBpcyBhIGJy ZWFrcG9pbnQuICAqLworKwkJICAgICAgLyogVGhlcmUgaXMgYSBicmVha3BvaW50LiAgR0RCIHdp bGwgd2FudCB0byBzdG9wLiAgKi8KKyAJCSAgICAgIENPUkVfQUREUiBkZWNyX3BjX2FmdGVyX2Jy ZWFrID0KKyAJCQlnZGJhcmNoX2RlY3JfcGNfYWZ0ZXJfYnJlYWsKKyAJCQkoZ2V0X3JlZ2NhY2hl X2FyY2ggKGdldF9jdXJyZW50X3JlZ2NhY2hlICgpKSk7CitAQCAtNjMxLDggKzY4NiwxMiBAQAor IAkJICAgIH0KKyAJCSAgZWxzZQorIAkJICAgIHsKKy0JCSAgICAgIC8qIFRoZXJlIGlzIG5vdCBh IGJyZWFrcG9pbnQuICAqLworLQkJICAgICAgaWYgKCFkb19yZWNvcmRfbWVzc2FnZSAoZ2V0X2N1 cnJlbnRfcmVnY2FjaGUgKCkpKQorKwkJICAgICAgLyogVGhlcmUgaXMgbm90IGEgYnJlYWtwb2lu dCwgYW5kIGdkYiBpcyBub3QKKysJCSAgICAgICAgIHN0ZXBwaW5nLCB0aGVyZWZvcmUgZ2RiIHdp bGwgbm90IHN0b3AuCisrCQkJIFRoZXJlZm9yZSB3ZSB3aWxsIG5vdCByZXR1cm4gdG8gZ2RiLgor KwkJICAgICAgICAgUmVjb3JkIHRoZSBpbnNuIGFuZCByZXN1bWUuICAqLworKwkJICAgICAgaWYg KCFkb19yZWNvcmRfbWVzc2FnZSAoZ2V0X2N1cnJlbnRfcmVnY2FjaGUgKCksCisrCQkJCQkgICAg ICBUQVJHRVRfU0lHTkFMXzApKQorIAkJCXsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGJy ZWFrOworIAkJCX0KK0BAIC04MjcsNiArODg2LDEwIEBACisgCQkJCQkgICBnZGJhcmNoX2RlY3Jf cGNfYWZ0ZXJfYnJlYWsgKGdkYmFyY2gpKTsKKyAJCSAgICAgIGNvbnRpbnVlX2ZsYWcgPSAwOwor IAkJICAgIH0KKysJCSAgLyogQ2hlY2sgdGFyZ2V0IHNpZ25hbCAqLworKwkJICBpZiAocmVjb3Jk X2xpc3QtPnUuZW5kLnNpZ3ZhbCAhPSBUQVJHRVRfU0lHTkFMXzApCisrCQkgICAgLyogRklYTUU6 IGJldHRlciB3YXkgdG8gY2hlY2sgKi8KKysJCSAgICBjb250aW51ZV9mbGFnID0gMDsKKyAJCX0K KyAJICAgIH0KKyAKK0BAIC04NTEsNiArOTE0LDkgQEAKKyByZXBsYXlfb3V0OgorICAgICAgIGlm IChyZWNvcmRfZ2V0X3NpZykKKyAJc3RhdHVzLT52YWx1ZS5zaWcgPSBUQVJHRVRfU0lHTkFMX0lO VDsKKysgICAgICBlbHNlIGlmIChyZWNvcmRfbGlzdC0+dS5lbmQuc2lndmFsICE9IFRBUkdFVF9T SUdOQUxfMCkKKysJLyogRklYTUU6IGJldHRlciB3YXkgdG8gY2hlY2sgKi8KKysJc3RhdHVzLT52 YWx1ZS5zaWcgPSByZWNvcmRfbGlzdC0+dS5lbmQuc2lndmFsOworICAgICAgIGVsc2UKKyAJc3Rh dHVzLT52YWx1ZS5zaWcgPSBUQVJHRVRfU0lHTkFMX1RSQVA7CisgCis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitSQ1Mg ZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9pMzg2LWxpbnV4LXRkZXAuYyx2CityZXRyaWV2aW5nIHJl dmlzaW9uIDEuNjgKK3JldHJpZXZpbmcgcmV2aXNpb24gMS42OC4yLjEKK2RpZmYgLXUgLXIxLjY4 IC1yMS42OC4yLjEKKy0tLSBzcmMvZ2RiL2kzODYtbGludXgtdGRlcC5jCTIwMDkvMDkvMTUgMDM6 MzA6MDYJMS42OAorKysrIHNyYy9nZGIvaTM4Ni1saW51eC10ZGVwLmMJMjAwOS8wOS8yMSAwNjo1 NzowMwkxLjY4LjIuMQorQEAgLTM1OCw3ICszNTgsMzIgQEAKKyAgIHJlZ2NhY2hlX2Nvb2tlZF93 cml0ZV91bnNpZ25lZCAocmVnY2FjaGUsIEkzODZfTElOVVhfT1JJR19FQVhfUkVHTlVNLCAtMSk7 CisgfQorIAorLXN0YXRpYyBzdHJ1Y3QgbGludXhfcmVjb3JkX3RkZXAgaTM4Nl9saW51eF9yZWNv cmRfdGRlcDsKKysvKiBSZWNvcmQgYWxsIHJlZ2lzdGVycyBidXQgSVAgcmVnaXN0ZXIgZm9yIHBy b2Nlc3MtcmVjb3JkLiAgKi8KKysKKytzdGF0aWMgaW50CisraTM4Nl9hbGxfYnV0X2lwX3JlZ2lz dGVyc19yZWNvcmQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUpCisreworKyAgaWYgKHJlY29y ZF9hcmNoX2xpc3RfYWRkX3JlZyAocmVnY2FjaGUsIEkzODZfRUFYX1JFR05VTSkpCisrICAgIHJl dHVybiAtMTsKKysgIGlmIChyZWNvcmRfYXJjaF9saXN0X2FkZF9yZWcgKHJlZ2NhY2hlLCBJMzg2 X0VDWF9SRUdOVU0pKQorKyAgICByZXR1cm4gLTE7CisrICBpZiAocmVjb3JkX2FyY2hfbGlzdF9h ZGRfcmVnIChyZWdjYWNoZSwgSTM4Nl9FRFhfUkVHTlVNKSkKKysgICAgcmV0dXJuIC0xOworKyAg aWYgKHJlY29yZF9hcmNoX2xpc3RfYWRkX3JlZyAocmVnY2FjaGUsIEkzODZfRUJYX1JFR05VTSkp CisrICAgIHJldHVybiAtMTsKKysgIGlmIChyZWNvcmRfYXJjaF9saXN0X2FkZF9yZWcgKHJlZ2Nh Y2hlLCBJMzg2X0VTUF9SRUdOVU0pKQorKyAgICByZXR1cm4gLTE7CisrICBpZiAocmVjb3JkX2Fy Y2hfbGlzdF9hZGRfcmVnIChyZWdjYWNoZSwgSTM4Nl9FQlBfUkVHTlVNKSkKKysgICAgcmV0dXJu IC0xOworKyAgaWYgKHJlY29yZF9hcmNoX2xpc3RfYWRkX3JlZyAocmVnY2FjaGUsIEkzODZfRVNJ X1JFR05VTSkpCisrICAgIHJldHVybiAtMTsKKysgIGlmIChyZWNvcmRfYXJjaF9saXN0X2FkZF9y ZWcgKHJlZ2NhY2hlLCBJMzg2X0VESV9SRUdOVU0pKQorKyAgICByZXR1cm4gLTE7CisrICBpZiAo cmVjb3JkX2FyY2hfbGlzdF9hZGRfcmVnIChyZWdjYWNoZSwgSTM4Nl9FRkxBR1NfUkVHTlVNKSkK KysgICAgcmV0dXJuIC0xOworKworKyAgcmV0dXJuIDA7CisrfQorIAorIC8qIGkzODZfY2Fub25p Y2FsaXplX3N5c2NhbGwgbWFwcyBmcm9tIHRoZSBuYXRpdmUgaTM4NiBMaW51eCBzZXQKKyAgICBv ZiBzeXNjYWxsIGlkcyBpbnRvIGEgY2Fub25pY2FsIHNldCBvZiBzeXNjYWxsIGlkcyB1c2VkIGJ5 CitAQCAtMzgzLDYgKzQwOCw4IEBACisgCisgICAgUmV0dXJuIC0xIGlmIHNvbWV0aGluZyB3cm9u Zy4gICovCisgCisrc3RhdGljIHN0cnVjdCBsaW51eF9yZWNvcmRfdGRlcCBpMzg2X2xpbnV4X3Jl Y29yZF90ZGVwOworKworIHN0YXRpYyBpbnQKKyBpMzg2X2xpbnV4X2ludHg4MF9zeXNlbnRlcl9y ZWNvcmQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUpCisgeworQEAgLTQwMiw2ICs0MjksMTQg QEAKKyAgICAgICByZXR1cm4gLTE7CisgICAgIH0KKyAKKysgIGlmIChzeXNjYWxsX2dkYiA9PSBn ZGJfc3lzX3NpZ3JldHVybgorKyAgICAgIHx8IHN5c2NhbGxfZ2RiID09IGdkYl9zeXNfcnRfc2ln cmV0dXJuKQorKyAgIHsKKysgICAgIGlmIChpMzg2X2FsbF9idXRfaXBfcmVnaXN0ZXJzX3JlY29y ZCAocmVnY2FjaGUpKQorKyAgICAgICByZXR1cm4gLTE7CisrICAgICByZXR1cm4gMDsKKysgICB9 CisrCisgICByZXQgPSByZWNvcmRfbGludXhfc3lzdGVtX2NhbGwgKHN5c2NhbGxfZ2RiLCByZWdj YWNoZSwKKyAJCQkJICAmaTM4Nl9saW51eF9yZWNvcmRfdGRlcCk7CisgICBpZiAocmV0KQorQEAg LTQxMyw2ICs0NDgsNDAgQEAKKyAKKyAgIHJldHVybiAwOworIH0KKysKKysjZGVmaW5lIEkzODZf TElOVVhfeHN0YXRlCTI3MAorKyNkZWZpbmUgSTM4Nl9MSU5VWF9mcmFtZV9zaXplCTczMgorKwor K2ludAorK2kzODZfbGludXhfcmVjb3JkX3NpZ25hbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs CisrICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSB0YXJnZXRfc2lnbmFsIHNpZ25hbCkKKyt7 CisrICBVTE9OR0VTVCBlc3A7CisrCisrICBpZiAoaTM4Nl9hbGxfYnV0X2lwX3JlZ2lzdGVyc19y ZWNvcmQgKHJlZ2NhY2hlKSkKKysgICAgcmV0dXJuIC0xOworKworKyAgaWYgKHJlY29yZF9hcmNo X2xpc3RfYWRkX3JlZyAocmVnY2FjaGUsIEkzODZfRUlQX1JFR05VTSkpCisrICAgIHJldHVybiAt MTsKKysKKysgIC8qIFJlY29yZCB0aGUgY2hhbmdlIGluIHRoZSBzdGFjay4gICovCisrICByZWdj YWNoZV9yYXdfcmVhZF91bnNpZ25lZCAocmVnY2FjaGUsIEkzODZfRVNQX1JFR05VTSwgJmVzcCk7 CisrICAvKiBUaGlzIGlzIGZvciB4c3RhdGUuCisrICAgICBzcCAtPSBzaXplb2YgKHN0cnVjdCBf ZnBzdGF0ZSk7ICAqLworKyAgZXNwIC09IEkzODZfTElOVVhfeHN0YXRlOworKyAgLyogVGhpcyBp cyBmb3IgZnJhbWVfc2l6ZS4KKysgICAgIHNwIC09IHNpemVvZiAoc3RydWN0IHJ0X3NpZ2ZyYW1l KTsgICovCisrICBlc3AgLT0gSTM4Nl9MSU5VWF9mcmFtZV9zaXplOworKyAgaWYgKHJlY29yZF9h cmNoX2xpc3RfYWRkX21lbSAoZXNwLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg STM4Nl9MSU5VWF94c3RhdGUgKyBJMzg2X0xJTlVYX2ZyYW1lX3NpemUpKQorKyAgICByZXR1cm4g LTE7CisrCisrICBpZiAocmVjb3JkX2FyY2hfbGlzdF9hZGRfZW5kICgpKQorKyAgICByZXR1cm4g LTE7CisrCisrICByZXR1cm4gMDsKKyt9CisgDAorIAorIHN0YXRpYyBMT05HRVNUCitAQCAtNTI5 LDYgKzU5OCw3IEBACisgICB0ZGVwLT5zY19udW1fcmVncyA9IEFSUkFZX1NJWkUgKGkzODZfbGlu dXhfc2NfcmVnX29mZnNldCk7CisgCisgICBzZXRfZ2RiYXJjaF9wcm9jZXNzX3JlY29yZCAoZ2Ri YXJjaCwgaTM4Nl9wcm9jZXNzX3JlY29yZCk7CisrICBzZXRfZ2RiYXJjaF9wcm9jZXNzX3JlY29y ZF9zaWduYWwgKGdkYmFyY2gsIGkzODZfbGludXhfcmVjb3JkX3NpZ25hbCk7CisgCisgICAvKiBJ bml0aWFsaXplIHRoZSBpMzg2X2xpbnV4X3JlY29yZF90ZGVwLiAgKi8KKyAgIC8qIFRoZXNlIHZh bHVlcyBhcmUgdGhlIHNpemUgb2YgdGhlIHR5cGUgdGhhdCB3aWxsIGJlIHVzZWQgaW4gYSBzeXN0 ZW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KK1JDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2FtZDY0LWxpbnV4LXRk ZXAuYyx2CityZXRyaWV2aW5nIHJldmlzaW9uIDEuMjkKK3JldHJpZXZpbmcgcmV2aXNpb24gMS4y OS4yLjEKK2RpZmYgLXUgLXIxLjI5IC1yMS4yOS4yLjEKKy0tLSBzcmMvZ2RiL2FtZDY0LWxpbnV4 LXRkZXAuYwkyMDA5LzA5LzE1IDAzOjMwOjA0CTEuMjkKKysrKyBzcmMvZ2RiL2FtZDY0LWxpbnV4 LXRkZXAuYwkyMDA5LzA5LzIxIDA2OjU3OjAzCTEuMjkuMi4xCitAQCAtMjg5LDE2ICsyODksNDgg QEAKKyAgIHJlZ2NhY2hlX2Nvb2tlZF93cml0ZV91bnNpZ25lZCAocmVnY2FjaGUsIEFNRDY0X0xJ TlVYX09SSUdfUkFYX1JFR05VTSwgLTEpOworIH0KKyAKKy0vKiBQYXJzZSB0aGUgYXJndW1lbnRz IG9mIGN1cnJlbnQgc3lzdGVtIGNhbGwgaW5zdHJ1Y3Rpb24gYW5kIHJlY29yZAorLSAgIHRoZSB2 YWx1ZXMgb2YgdGhlIHJlZ2lzdGVycyBhbmQgbWVtb3J5IHRoYXQgd2lsbCBiZSBjaGFuZ2VkIGlu dG8KKy0gICAicmVjb3JkX2FyY2hfbGlzdCIuICBUaGlzIGluc3RydWN0aW9uIGlzICJzeXNjYWxs Ii4KKy0KKy0gICBSZXR1cm4gLTEgaWYgc29tZXRoaW5nIHdyb25nLiAgKi8KKysvKiBSZWNvcmQg YWxsIHJlZ2lzdGVycyBidXQgSVAgcmVnaXN0ZXIgZm9yIHByb2Nlc3MtcmVjb3JkLiAgKi8KKyAK Ky1zdGF0aWMgc3RydWN0IGxpbnV4X3JlY29yZF90ZGVwIGFtZDY0X2xpbnV4X3JlY29yZF90ZGVw OworK3N0YXRpYyBpbnQKKythbWQ2NF9hbGxfYnV0X2lwX3JlZ2lzdGVyc19yZWNvcmQgKHN0cnVj dCByZWdjYWNoZSAqcmVnY2FjaGUpCisreworKyAgaWYgKHJlY29yZF9hcmNoX2xpc3RfYWRkX3Jl ZyAocmVnY2FjaGUsIEFNRDY0X1JBWF9SRUdOVU0pKQorKyAgICByZXR1cm4gLTE7CisrICBpZiAo cmVjb3JkX2FyY2hfbGlzdF9hZGRfcmVnIChyZWdjYWNoZSwgQU1ENjRfUkNYX1JFR05VTSkpCisr ICAgIHJldHVybiAtMTsKKysgIGlmIChyZWNvcmRfYXJjaF9saXN0X2FkZF9yZWcgKHJlZ2NhY2hl LCBBTUQ2NF9SRFhfUkVHTlVNKSkKKysgICAgcmV0dXJuIC0xOworKyAgaWYgKHJlY29yZF9hcmNo X2xpc3RfYWRkX3JlZyAocmVnY2FjaGUsIEFNRDY0X1JCWF9SRUdOVU0pKQorKyAgICByZXR1cm4g LTE7CisrICBpZiAocmVjb3JkX2FyY2hfbGlzdF9hZGRfcmVnIChyZWdjYWNoZSwgQU1ENjRfUlNQ X1JFR05VTSkpCisrICAgIHJldHVybiAtMTsKKysgIGlmIChyZWNvcmRfYXJjaF9saXN0X2FkZF9y ZWcgKHJlZ2NhY2hlLCBBTUQ2NF9SQlBfUkVHTlVNKSkKKysgICAgcmV0dXJuIC0xOworKyAgaWYg KHJlY29yZF9hcmNoX2xpc3RfYWRkX3JlZyAocmVnY2FjaGUsIEFNRDY0X1JTSV9SRUdOVU0pKQor KyAgICByZXR1cm4gLTE7CisrICBpZiAocmVjb3JkX2FyY2hfbGlzdF9hZGRfcmVnIChyZWdjYWNo ZSwgQU1ENjRfUkRJX1JFR05VTSkpCisrICAgIHJldHVybiAtMTsKKysgIGlmIChyZWNvcmRfYXJj aF9saXN0X2FkZF9yZWcgKHJlZ2NhY2hlLCBBTUQ2NF9SOF9SRUdOVU0pKQorKyAgICByZXR1cm4g LTE7CisrICBpZiAocmVjb3JkX2FyY2hfbGlzdF9hZGRfcmVnIChyZWdjYWNoZSwgQU1ENjRfUjlf UkVHTlVNKSkKKysgICAgcmV0dXJuIC0xOworKyAgaWYgKHJlY29yZF9hcmNoX2xpc3RfYWRkX3Jl ZyAocmVnY2FjaGUsIEFNRDY0X1IxMF9SRUdOVU0pKQorKyAgICByZXR1cm4gLTE7CisrICBpZiAo cmVjb3JkX2FyY2hfbGlzdF9hZGRfcmVnIChyZWdjYWNoZSwgQU1ENjRfUjExX1JFR05VTSkpCisr ICAgIHJldHVybiAtMTsKKysgIGlmIChyZWNvcmRfYXJjaF9saXN0X2FkZF9yZWcgKHJlZ2NhY2hl LCBBTUQ2NF9SMTJfUkVHTlVNKSkKKysgICAgcmV0dXJuIC0xOworKyAgaWYgKHJlY29yZF9hcmNo X2xpc3RfYWRkX3JlZyAocmVnY2FjaGUsIEFNRDY0X1IxM19SRUdOVU0pKQorKyAgICByZXR1cm4g LTE7CisrICBpZiAocmVjb3JkX2FyY2hfbGlzdF9hZGRfcmVnIChyZWdjYWNoZSwgQU1ENjRfUjE0 X1JFR05VTSkpCisrICAgIHJldHVybiAtMTsKKysgIGlmIChyZWNvcmRfYXJjaF9saXN0X2FkZF9y ZWcgKHJlZ2NhY2hlLCBBTUQ2NF9SMTVfUkVHTlVNKSkKKysgICAgcmV0dXJuIC0xOworKyAgaWYg KHJlY29yZF9hcmNoX2xpc3RfYWRkX3JlZyAocmVnY2FjaGUsIEFNRDY0X0VGTEFHU19SRUdOVU0p KQorKyAgICByZXR1cm4gLTE7CisgCistI2RlZmluZSBSRUNPUkRfQVJDSF9HRVRfRlMJMHgxMDAz CistI2RlZmluZSBSRUNPUkRfQVJDSF9HRVRfR1MJMHgxMDA0CisrICByZXR1cm4gMDsKKyt9Cisg CisgLyogYW1kNjRfY2Fub25pY2FsaXplX3N5c2NhbGwgbWFwcyBmcm9tIHRoZSBuYXRpdmUgYW1k NjQgTGludXggc2V0IAorICAgIG9mIHN5c2NhbGwgaWRzIGludG8gYSBjYW5vbmljYWwgc2V0IG9m IHN5c2NhbGwgaWRzIHVzZWQgYnkgCitAQCAtMTExMSw2ICsxMTQzLDE3IEBACisgICB9CisgfQor IAorKy8qIFBhcnNlIHRoZSBhcmd1bWVudHMgb2YgY3VycmVudCBzeXN0ZW0gY2FsbCBpbnN0cnVj dGlvbiBhbmQgcmVjb3JkCisrICAgdGhlIHZhbHVlcyBvZiB0aGUgcmVnaXN0ZXJzIGFuZCBtZW1v cnkgdGhhdCB3aWxsIGJlIGNoYW5nZWQgaW50bworKyAgICJyZWNvcmRfYXJjaF9saXN0Ii4gIFRo aXMgaW5zdHJ1Y3Rpb24gaXMgInN5c2NhbGwiLgorKworKyAgIFJldHVybiAtMSBpZiBzb21ldGhp bmcgd3JvbmcuICAqLworKworK3N0YXRpYyBzdHJ1Y3QgbGludXhfcmVjb3JkX3RkZXAgYW1kNjRf bGludXhfcmVjb3JkX3RkZXA7CisrCisrI2RlZmluZSBSRUNPUkRfQVJDSF9HRVRfRlMJMHgxMDAz CisrI2RlZmluZSBSRUNPUkRfQVJDSF9HRVRfR1MJMHgxMDA0CisrCisgc3RhdGljIGludAorIGFt ZDY0X2xpbnV4X3N5c2NhbGxfcmVjb3JkIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlKQorIHsK K0BAIC0xMTIwLDI3ICsxMTYzLDM5IEBACisgCisgICByZWdjYWNoZV9yYXdfcmVhZF91bnNpZ25l ZCAocmVnY2FjaGUsIEFNRDY0X1JBWF9SRUdOVU0sICZzeXNjYWxsX25hdGl2ZSk7CisgCistICBz eXNjYWxsX2dkYiA9IGFtZDY0X2Nhbm9uaWNhbGl6ZV9zeXNjYWxsIChzeXNjYWxsX25hdGl2ZSk7 CistCistICBpZiAoc3lzY2FsbF9uYXRpdmUgPT0gYW1kNjRfc3lzX2FyY2hfcHJjdGwpIAorKyAg c3dpdGNoIChzeXNjYWxsX25hdGl2ZSkKKyAgICAgeworLSAgICAgIFVMT05HRVNUIGFyZzM7Cist CistICAgICAgcmVnY2FjaGVfcmF3X3JlYWRfdW5zaWduZWQgKHJlZ2NhY2hlLCBhbWQ2NF9saW51 eF9yZWNvcmRfdGRlcC5hcmczLAorLQkJCQkgICZhcmczKTsKKy0gICAgICBpZiAoYXJnMyA9PSBS RUNPUkRfQVJDSF9HRVRfRlMgfHwgYXJnMyA9PSBSRUNPUkRfQVJDSF9HRVRfR1MpCistICAgICAg eworLQlDT1JFX0FERFIgYWRkcjsKKy0KKy0JcmVnY2FjaGVfcmF3X3JlYWRfdW5zaWduZWQgKHJl Z2NhY2hlLCBhbWQ2NF9saW51eF9yZWNvcmRfdGRlcC5hcmcyLAorLQkJCQkgICAgJmFkZHIpOwor LQlpZiAocmVjb3JkX2FyY2hfbGlzdF9hZGRfbWVtIChhZGRyLCAKKy0JCQkJICAgICAgYW1kNjRf bGludXhfcmVjb3JkX3RkZXAuc2l6ZV91bG9uZykpCistCSAgcmV0dXJuIC0xOworLSAgICAgIH0K Ky0gICAgICBnb3RvIHJlY29yZF9yZWdzOworKyAgICBjYXNlIGFtZDY0X3N5c19ydF9zaWdyZXR1 cm46CisrICAgICAgaWYgKGFtZDY0X2FsbF9idXRfaXBfcmVnaXN0ZXJzX3JlY29yZCAocmVnY2Fj aGUpKQorKyAgICAgICAgcmV0dXJuIC0xOworKyAgICAgIHJldHVybiAwOworKyAgICAgIGJyZWFr OworKworKyAgICBjYXNlIGFtZDY0X3N5c19hcmNoX3ByY3RsOgorKyAgICAgIGlmIChzeXNjYWxs X25hdGl2ZSA9PSBhbWQ2NF9zeXNfYXJjaF9wcmN0bCkKKysgICAgICAgIHsKKysgICAgICAgICAg VUxPTkdFU1QgYXJnMzsKKysKKysgICAgICAgICAgcmVnY2FjaGVfcmF3X3JlYWRfdW5zaWduZWQg KHJlZ2NhY2hlLCBhbWQ2NF9saW51eF9yZWNvcmRfdGRlcC5hcmczLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmFyZzMpOworKyAgICAgICAgICBpZiAoYXJnMyA9PSBS RUNPUkRfQVJDSF9HRVRfRlMgfHwgYXJnMyA9PSBSRUNPUkRfQVJDSF9HRVRfR1MpCisrICAgICAg ICAgICAgeworKwkgICAgICBDT1JFX0FERFIgYWRkcjsKKysKKysJICAgICAgcmVnY2FjaGVfcmF3 X3JlYWRfdW5zaWduZWQgKHJlZ2NhY2hlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGFtZDY0X2xpbnV4X3JlY29yZF90ZGVwLmFyZzIsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFkZHIpOworKwkgICAgICBpZiAocmVjb3Jk X2FyY2hfbGlzdF9hZGRfbWVtIChhZGRyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYW1kNjRfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV91bG9uZykpCisrICAg ICAgICAgICAgICAgIHJldHVybiAtMTsKKysgICAgICAgICAgICB9CisrICAgICAgICAgIGdvdG8g cmVjb3JkX3JlZ3M7CisrICAgICAgICB9CisrICAgICAgYnJlYWs7CisgICAgIH0KKyAKKysgIHN5 c2NhbGxfZ2RiID0gYW1kNjRfY2Fub25pY2FsaXplX3N5c2NhbGwgKHN5c2NhbGxfbmF0aXZlKTsK KysKKyAgIGlmIChzeXNjYWxsX2dkYiA8IDApCisgICAgIHsKKyAgICAgICBwcmludGZfdW5maWx0 ZXJlZCAoXygiUHJvY2VzcyByZWNvcmQgYW5kIHJlcGxheSB0YXJnZXQgZG9lc24ndCAiCitAQCAt MTE2Myw2ICsxMjE4LDQ0IEBACisgICBpZiAocmVjb3JkX2FyY2hfbGlzdF9hZGRfcmVnIChyZWdj YWNoZSwgQU1ENjRfUjExX1JFR05VTSkpCisgICAgIHJldHVybiAtMTsKKyAKKysgIHJldHVybiAw OworK30KKysKKysjZGVmaW5lIEFNRDY0X0xJTlVYX3JlZHpvbmUgICAgMTI4CisrI2RlZmluZSBB TUQ2NF9MSU5VWF94c3RhdGUgICAgIDUxMgorKyNkZWZpbmUgQU1ENjRfTElOVVhfZnJhbWVfc2l6 ZSA1NjAKKysKKytpbnQKKythbWQ2NF9saW51eF9yZWNvcmRfc2lnbmFsIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcmVnY2FjaGUg KnJlZ2NhY2hlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gdGFyZ2V0X3NpZ25h bCBzaWduYWwpCisreworKyAgVUxPTkdFU1QgcnNwOworKworKyAgaWYgKGFtZDY0X2FsbF9idXRf aXBfcmVnaXN0ZXJzX3JlY29yZCAocmVnY2FjaGUpKQorKyAgICByZXR1cm4gLTE7CisrCisrICBp ZiAocmVjb3JkX2FyY2hfbGlzdF9hZGRfcmVnIChyZWdjYWNoZSwgQU1ENjRfUklQX1JFR05VTSkp CisrICAgIHJldHVybiAtMTsKKysKKysgIC8qIFJlY29yZCB0aGUgY2hhbmdlIGluIHRoZSBzdGFj ay4gICovCisrICByZWdjYWNoZV9yYXdfcmVhZF91bnNpZ25lZCAocmVnY2FjaGUsIEFNRDY0X1JT UF9SRUdOVU0sICZyc3ApOworKyAgLyogcmVkem9uZQorKyAgICAgc3AgLT0gMTI4OyAqLworKyAg cnNwIC09IEFNRDY0X0xJTlVYX3JlZHpvbmU7CisrICAvKiBUaGlzIGlzIGZvciB4c3RhdGUuCisr ICAgICBzcCAtPSBzaXplb2YgKHN0cnVjdCBfZnBzdGF0ZSk7ICAqLworKyAgcnNwIC09IEFNRDY0 X0xJTlVYX3hzdGF0ZTsKKysgIC8qIFRoaXMgaXMgZm9yIGZyYW1lX3NpemUuCisrICAgICBzcCAt PSBzaXplb2YgKHN0cnVjdCBydF9zaWdmcmFtZSk7ICAqLworKyAgcnNwIC09IEFNRDY0X0xJTlVY X2ZyYW1lX3NpemU7CisrICBpZiAocmVjb3JkX2FyY2hfbGlzdF9hZGRfbWVtIChyc3AsIEFNRDY0 X0xJTlVYX3JlZHpvbmUKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBB TUQ2NF9MSU5VWF94c3RhdGUKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KyBBTUQ2NF9MSU5VWF9mcmFtZV9zaXplKSkKKysgICAgcmV0dXJuIC0xOworKworKyAgaWYgKHJl Y29yZF9hcmNoX2xpc3RfYWRkX2VuZCAoKSkKKysgICAgcmV0dXJuIC0xOworIAorICAgcmV0dXJu IDA7CisgfQorQEAgLTEyMTgsNiArMTMxMSw3IEBACisgICBzZXRfZ2RiYXJjaF9nZXRfc2lnaW5m b190eXBlIChnZGJhcmNoLCBsaW51eF9nZXRfc2lnaW5mb190eXBlKTsKKyAKKyAgIHNldF9nZGJh cmNoX3Byb2Nlc3NfcmVjb3JkIChnZGJhcmNoLCBpMzg2X3Byb2Nlc3NfcmVjb3JkKTsKKysgIHNl dF9nZGJhcmNoX3Byb2Nlc3NfcmVjb3JkX3NpZ25hbCAoZ2RiYXJjaCwgYW1kNjRfbGludXhfcmVj b3JkX3NpZ25hbCk7CisgCisgICAvKiBJbml0aWFsaXplIHRoZSBhbWQ2NF9saW51eF9yZWNvcmRf dGRlcC4gICovCisgICAvKiBUaGVzZSB2YWx1ZXMgYXJlIHRoZSBzaXplIG9mIHRoZSB0eXBlIHRo YXQgd2lsbCBiZSB1c2VkIGluIGEgc3lzdGVtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitSQ1MgZmlsZTogL2N2cy9z cmMvc3JjL2dkYi9DaGFuZ2VMb2csdgorcmV0cmlldmluZyByZXZpc2lvbiAxLjEwODc0LjIuMTIK K3JldHJpZXZpbmcgcmV2aXNpb24gMS4xMDg3NC4yLjEzCitkaWZmIC11IC1yMS4xMDg3NC4yLjEy IC1yMS4xMDg3NC4yLjEzCistLS0gc3JjL2dkYi9DaGFuZ2VMb2cJMjAwOS8wOS8yMSAwNjo1Nzow MgkxLjEwODc0LjIuMTIKKysrKyBzcmMvZ2RiL0NoYW5nZUxvZwkyMDA5LzA5LzIxIDEwOjE5OjU5 CTEuMTA4NzQuMi4xMworQEAgLTEsMyArMSw4IEBACisrMjAwOS0wOS0yMSAgUGhpbCBNdWxkb29u ICA8cG11bGRvb25AcmVkaGF0LmNvbT4KKysKKysJKiBweXRob24vcHktdmFsdWUuYyAodmFscHlf Z2V0aXRlbSk6IFRlc3QgdmFsdWUgYmVmb3JlIGFsbG93aW5nCisrCXN1YnNjcmlwdCBvcGVyYXRp b24uCisrCisgMjAwOS0wOS0yMSAgSHVpIFpodSAgPHRlYXdhdGVyQGdtYWlsLmNvbT4KKyAJICAg IE1pY2hhZWwgU255ZGVyICA8bXNueWRlckB2bXdhcmUuY29tPgorIAorPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorUkNT IGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvcHl0aG9uL3B5LXZhbHVlLmMsdgorcmV0cmlldmluZyBy ZXZpc2lvbiAxLjEKK3JldHJpZXZpbmcgcmV2aXNpb24gMS4xLjIuMQorZGlmZiAtdSAtcjEuMSAt cjEuMS4yLjEKKy0tLSBzcmMvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCTIwMDkvMDkvMDkgMTc6NDU6 NDAJMS4xCisrKysgc3JjL2dkYi9weXRob24vcHktdmFsdWUuYwkyMDA5LzA5LzIxIDEwOjIwOjAw CTEuMS4yLjEKK0BAIC0zMjQsNyArMzI0LDE4IEBACisgCSAgICAgdHlwZS4gICovCisgCSAgc3Ry dWN0IHZhbHVlICppZHggPSBjb252ZXJ0X3ZhbHVlX2Zyb21fcHl0aG9uIChrZXkpOworIAkgIGlm IChpZHggIT0gTlVMTCkKKy0JICAgIHJlc192YWwgPSB2YWx1ZV9zdWJzY3JpcHQgKHRtcCwgdmFs dWVfYXNfbG9uZyAoaWR4KSk7CisrCSAgICB7CisrCSAgICAgIC8qIENoZWNrIHRoZSB2YWx1ZSdz IHR5cGUgaXMgc29tZXRoaW5nIHRoYXQgY2FuIGJlIGFjY2Vzc2VkIHZpYQorKwkJIGEgc3Vic2Ny aXB0LiAgKi8KKysJICAgICAgc3RydWN0IHR5cGUgKnR5cGU7CisrCSAgICAgIHRtcCA9IGNvZXJj ZV9yZWYgKHRtcCk7CisrCSAgICAgIHR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlICh0 bXApKTsKKysJICAgICAgaWYgKFRZUEVfQ09ERSAodHlwZSkgIT0gVFlQRV9DT0RFX0FSUkFZCisr CQkgICYmIFRZUEVfQ09ERSAodHlwZSkgIT0gVFlQRV9DT0RFX1BUUikKKysJCSAgZXJyb3IoIF8o IkNhbm5vdCBzdWJzY3JpcHQgcmVxdWVzdGVkIHR5cGUiKSk7CisrCSAgICAgIGVsc2UKKysJCXJl c192YWwgPSB2YWx1ZV9zdWJzY3JpcHQgKHRtcCwgdmFsdWVfYXNfbG9uZyAoaWR4KSk7CisrCSAg ICB9CisgCX0KKyAgICAgfQorIAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9n ZGIvdGVzdHN1aXRlL0NoYW5nZUxvZyx2CityZXRyaWV2aW5nIHJldmlzaW9uIDEuMTk2MAorcmV0 cmlldmluZyByZXZpc2lvbiAxLjE5NjAuMi4xCitkaWZmIC11IC1yMS4xOTYwIC1yMS4xOTYwLjIu MQorLS0tIHNyYy9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwkyMDA5LzA5LzE1IDE4OjUxOjI1CTEu MTk2MAorKysrIHNyYy9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwkyMDA5LzA5LzIxIDEwOjIwOjAw CTEuMTk2MC4yLjEKK0BAIC0xLDMgKzEsMTAgQEAKKysyMDA5LTA5LTIxICBQaGlsIE11bGRvb24g IDxwbXVsZG9vbkByZWRoYXQuY29tPgorKworKwkqIGdkYi5weXRob24vcHktdmFsdWUuZXhwICh0 ZXN0X3N1YnNjcmlwdF9yZWdyZXNzaW9uKTogTmV3CisrCWZ1bmN0aW9uLiAgVGVzdCBmb3IgaW52 YWxpZCBzdWJzY3JpcHRzLgorKwkqIGdkYi5weXRob24vcHktdmFsdWUuYyAobWFpbik6IEFkZCB0 ZXN0IGFycmF5LCBhbmQgcG9pbnRlciB0byBpdC4KKysJKHB0cl9yZWYpOiBOZXcgZnVuY3Rpb24u CisrCisgMjAwOS0wOS0xNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgorIAorIAkq IGxpYi9taS1zdXBwb3J0LmV4cCAobWlfY3JlYXRlX3Zhcm9iaik6IFVwZGF0ZS4KKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KK1JDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZh bHVlLmMsdgorcmV0cmlldmluZyByZXZpc2lvbiAxLjEKK3JldHJpZXZpbmcgcmV2aXNpb24gMS4x LjIuMQorZGlmZiAtdSAtcjEuMSAtcjEuMS4yLjEKKy0tLSBzcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LXZhbHVlLmMJMjAwOS8wOS8wOSAxNzo0NTo0MgkxLjEKKysrKyBzcmMvZ2RiL3Rl c3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmMJMjAwOS8wOS8yMSAxMDoyMDowMAkxLjEuMi4x CitAQCAtMzcsNiArMzcsMTMgQEAKKyAKKyBlbnVtIGUgZXZhbHVlID0gVFdPOworIAorKyNpZmRl ZiBfX2NwbHVzcGx1cworK3ZvaWQgcHRyX3JlZihpbnQqJiBycHRyX2ludCkKKyt7CisrICByZXR1 cm47IC8qIGJyZWFrIHRvIGluc3BlY3QgcG9pbnRlciBieSByZWZlcmVuY2UuICovCisrfQorKyNl bmRpZgorKworIGludAorIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgeworQEAgLTQ2 LDEwICs1MywxOCBAQAorICAgUFRSIHggPSAmczsKKyAgIGNoYXIgc3RbMTddID0gImRpdmlkZSBl dCBpbXBlcmEiOworICAgY2hhciBudWxsc3RbMTddID0gImRpdmlkZVwwZXRcMGltcGVyYSI7Cisr ICBpbnQgYVszXSA9IHsxLDIsM307CisrICBpbnQgKnAgPSBhOworKyAgaW50IGkgPSAyOworKyAg aW50ICpwdHJfaSA9ICZpOworIAorICAgcy5hID0gMzsKKyAgIHMuYiA9IDU7CisgICB1LmEgPSA3 OworIAorKyNpZmRlZiBfX2NwbHVzcGx1cworKyAgcHRyX3JlZihwdHJfaSk7CisrI2VuZGlmCisr CisgICByZXR1cm4gMDsgICAgICAvKiBicmVhayB0byBpbnNwZWN0IHN0cnVjdCBhbmQgdW5pb24g Ki8KKyB9Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CitSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi90ZXN0c3VpdGUv Z2RiLnB5dGhvbi9weS12YWx1ZS5leHAsdgorcmV0cmlldmluZyByZXZpc2lvbiAxLjEKK3JldHJp ZXZpbmcgcmV2aXNpb24gMS4xLjIuMQorZGlmZiAtdSAtcjEuMSAtcjEuMS4yLjEKKy0tLSBzcmMv Z2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAkyMDA5LzA5LzA5IDE3OjQ1OjQy CTEuMQorKysrIHNyYy9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdmFsdWUuZXhwCTIwMDkv MDkvMjEgMTA6MjA6MDAJMS4xLjIuMQorQEAgLTI5Miw2ICsyOTIsNzUgQEAKKyAgICAgInByaW50 IHZhbHVlJ3MgdHlwZSIKKyB9CisgCisrIyBSZWdyZXNzaW9uIHRlc3QgZm9yIGludmFsaWQgc3Vi c2NyaXB0IG9wZXJhdGlvbnMuICBUaGUgYnVnIHdhcyB0aGF0CisrIyB0aGUgdHlwZSBvZiB0aGUg dmFsdWUgd2FzIG5vdCBiZWluZyBjaGVja2VkIGJlZm9yZSBhbGxvd2luZyBhCisrIyBzdWJzY3Jp cHQgb3BlcmF0aW9uIHRvIHByb2NlZWQuCisrCisrcHJvYyB0ZXN0X3N1YnNjcmlwdF9yZWdyZXNz aW9uIHtsYW5nfSB7CisrCisrIGdsb2JhbCBzcmNkaXIgc3ViZGlyIHNyY2ZpbGUgYmluZmlsZSB0 ZXN0ZmlsZSBoZXgKKysgaWYgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtz cmNmaWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUgImRlYnVnICRsYW5nIl0gIT0gIiIgfSB7 CisrICAgICB1bnRlc3RlZCAiQ291bGRuJ3QgY29tcGlsZSAke3NyY2ZpbGV9IGluICRsYW5nIG1v ZGUiCisrICAgICByZXR1cm4gLTEKKysgfQorKworKyAjIFN0YXJ0IHdpdGggYSBmcmVzaCBnZGIu CisrIGdkYl9leGl0CisrIGdkYl9zdGFydAorKyBnZGJfcmVpbml0aWFsaXplX2RpciAkc3JjZGly LyRzdWJkaXIKKysgZ2RiX2xvYWQgJHtiaW5maWxlfQorKworKyBpZiAhW3J1bnRvX21haW4gXSB0 aGVuIHsKKysgICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQiCisrICAgICBy ZXR1cm4KKysgfQorKworKyBpZiB7JGxhbmcgPT0gImMrKyJ9IHsKKysgICAgIGdkYl9icmVha3Bv aW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJicmVhayB0byBpbnNwZWN0IHBvaW50ZXIgYnkgcmVm ZXJlbmNlIl0KKysgICAgIGdkYl9jb250aW51ZV90b19icmVha3BvaW50ICJicmVhayB0byBpbnNw ZWN0IHBvaW50ZXIgYnkgcmVmZXJlbmNlIgorKworKyAgICAgZ2RiX3B5X3Rlc3Rfc2lsZW50X2Nt ZCAicHJpbnQgcnB0cl9pbnQiIFwKKysJICJPYnRhaW4gYWRkcmVzcyIgMQorKyAgICAgZ2RiX3B5 X3Rlc3Rfc2lsZW50X2NtZCAicHl0aG9uIHJwdHIgPSBnZGIuaGlzdG9yeSgwKSIgXAorKwkgIk9i dGFpbnMgdmFsdWUgZnJvbSBHREIiIDEKKysgICAgIGdkYl90ZXN0ICJweXRob24gcHJpbnQgcnB0 clxbMFxdIiAiMiIgIkNoZWNrIHBvaW50ZXIgcGFzc2VkIGFzIHJlZmVyZW5jZSIKKysgfQorKwor KyBnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5lX251bWJlciAiYnJlYWsgdG8gaW5zcGVjdCBz dHJ1Y3QgYW5kIHVuaW9uIl0KKysgZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgImJyZWFrIHRv IGluc3BlY3Qgc3RydWN0IGFuZCB1bmlvbiIKKysKKysgZ2RiX3B5X3Rlc3Rfc2lsZW50X2NtZCAi cHl0aG9uIGludHYgPSBnZGIuVmFsdWUoMSkiIFwKKysgICAgICJDcmVhdGUgYSB2YWx1ZSBmb3Ig c3Vic2NyaXB0IHRlc3QiIDEKKysgZ2RiX3B5X3Rlc3Rfc2lsZW50X2NtZCAicHl0aG9uIHN0cmlu Z3YgPSBnZGIuVmFsdWUoXCJmb29cIikiIFwKKysgICAgICJDcmVhdGUgYSB2YWx1ZSBmb3Igc3Vi c2NyaXB0IHRlc3QiIDEKKysKKysgIyBUcnkgdG8gYWNjZXNzIGFuIGludCB3aXRoIGEgc3Vic2Ny aXB0LiAgVGhpcyBzaG91bGQgZmFpbC4KKysgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCBpbnR2IiAi MSIgIkJhc2VsaW5lIHByaW50IG9mIGEgUHl0aG9uIHZhbHVlIgorKyBnZGJfdGVzdCAicHl0aG9u IHByaW50IGludHZcWzBcXSIgIlJ1bnRpbWVFcnJvcjogQ2Fubm90IHN1YnNjcmlwdCByZXF1ZXN0 ZWQgdHlwZS4qIiBcCisrICAgICAiQXR0ZW1wdCB0byBhY2Nlc3MgYW4gaW50ZWdlciB3aXRoIGEg c3Vic2NyaXB0IgorKworKyAjIFRyeSB0byBhY2Nlc3MgYSBzdHJpbmcgd2l0aCBhIHN1YnNjcmlw dC4gIFRoaXMgc2hvdWxkIHBhc3MuCisrIGdkYl90ZXN0ICJweXRob24gcHJpbnQgc3RyaW5ndiIg ImZvby4iICJCYXNlbGluZSBwcmludCBvZiBhIFB5dGhvbiB2YWx1ZSIKKysgZ2RiX3Rlc3QgInB5 dGhvbiBwcmludCBzdHJpbmd2XFswXF0iICJmLiIgIkF0dGVtcHQgdG8gYWNjZXNzIGEgc3RyaW5n IHdpdGggYSBzdWJzY3JpcHQiCisrCisrICMgVHJ5IHRvIGFjY2VzcyBhbiBpbnQgYXJyYXkgdmlh IGEgcG9pbnRlciB3aXRoIGEgc3Vic2NyaXB0LiAgVGhpcyBzaG91bGQgcGFzcy4KKysgZ2RiX3B5 X3Rlc3Rfc2lsZW50X2NtZCAicHJpbnQgcCIgIkJ1aWxkIHBvaW50ZXIgdG8gYXJyYXkiIDEKKysg Z2RiX3B5X3Rlc3Rfc2lsZW50X2NtZCAicHl0aG9uIHBvaW50ZXIgPSBnZGIuaGlzdG9yeSgwKSIg IiIgMQorKyBnZGJfdGVzdCAicHl0aG9uIHByaW50IHBvaW50ZXJcWzBcXSIgIjEiICJBY2Nlc3Mg YXJyYXkgdmlhIHBvaW50ZXIgd2l0aCBpbnQgc3Vic2NyaXB0IgorKyBnZGJfdGVzdCAicHl0aG9u IHByaW50IHBvaW50ZXJcW2ludHZcXSIgIjIiICJBY2Nlc3MgYXJyYXkgdmlhIHBvaW50ZXIgd2l0 aCB2YWx1ZSBzdWJzY3JpcHQiCisrCisrICMgVHJ5IHRvIGFjY2VzcyBhIHNpbmdsZSBkaW1lbnNp b24gYXJyYXkgd2l0aCBhIHN1YnNjcmlwdCB0byB0aGUKKysgIyByZXN1bHQuICBUaGlzIHNob3Vs ZCBmYWlsLgorKyBnZGJfdGVzdCAicHl0aG9uIHByaW50IHBvaW50ZXJcW2ludHZcXVxbMFxdIiAi UnVudGltZUVycm9yOiBDYW5ub3Qgc3Vic2NyaXB0IHJlcXVlc3RlZCB0eXBlLioiIFwKKysgICAg ICJBdHRlbXB0IHRvIGFjY2VzcyBhbiBpbnRlZ2VyIHdpdGggYSBzdWJzY3JpcHQiCisrCisrICMg TGFzdGx5LCB0ZXN0IHN1YnNjcmlwdCBhY2Nlc3MgdG8gYW4gYXJyYXkgd2l0aCBtdWx0aXBsZQor KyAjIGRpbWVuc2lvbnMuICBUaGlzIHNob3VsZCBwYXNzLgorKyBnZGJfcHlfdGVzdF9zaWxlbnRf Y21kICJwcmludCB7XCJmdSBcIixcImZvb1wiLFwiYmFyXCJ9IiAiQnVpbGQgYXJyYXkiIDEKKysg Z2RiX3B5X3Rlc3Rfc2lsZW50X2NtZCAicHl0aG9uIG1hcnJheSA9IGdkYi5oaXN0b3J5KDApIiAi IiAxCisrIGdkYl90ZXN0ICJweXRob24gcHJpbnQgbWFycmF5XFsxXF1cWzJcXSIgIm8uIiAiVGVz dCBtdWx0aXBsZSBzdWJzY3JpcHQiCisrfQorKworICMgU3RhcnQgd2l0aCBhIGZyZXNoIGdkYi4K KyAKKyBnZGJfZXhpdAorQEAgLTMyMiwzICszOTEsOCBAQAorIAorIHRlc3RfdmFsdWVfaW5faW5m ZXJpb3IKKyB0ZXN0X3ZhbHVlX2FmdGVyX2RlYXRoCisrCisrIyBUaGUgZm9sbG93aW5nIHRlc3Qg cmVjb21waWxlcyB0aGUgYmluYXJ5IHRvIHRlc3QgZWl0aGVyIEMgb3IgQysrCisrIyB2YWx1ZXMu IAorK3Rlc3Rfc3Vic2NyaXB0X3JlZ3Jlc3Npb24gImMrKyIKKyt0ZXN0X3N1YnNjcmlwdF9yZWdy ZXNzaW9uICJjIgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvQ2hhbmdl TG9nLHYKK3JldHJpZXZpbmcgcmV2aXNpb24gMS4xMDg3NC4yLjEzCityZXRyaWV2aW5nIHJldmlz aW9uIDEuMTA4NzQuMi4xNAorZGlmZiAtdSAtcjEuMTA4NzQuMi4xMyAtcjEuMTA4NzQuMi4xNAor LS0tIHNyYy9nZGIvQ2hhbmdlTG9nCTIwMDkvMDkvMjEgMTA6MTk6NTkJMS4xMDg3NC4yLjEzCisr Kysgc3JjL2dkYi9DaGFuZ2VMb2cJMjAwOS8wOS8yMSAxMDoyNToyOQkxLjEwODc0LjIuMTQKK0BA IC0xLDUgKzEsMTIgQEAKKyAyMDA5LTA5LTIxICBQaGlsIE11bGRvb24gIDxwbXVsZG9vbkByZWRo YXQuY29tPgorIAorKwlQUiBweXRob24vMTA2MzMKKysKKysJKiBjLWxhbmcuYyAoY19wcmludHN0 cik6IERvIG5vdCBsb29wIHBhc3QgIG9wdGlvbnMtPnByaW50X21heCB3aGVuCisrCWl0ZXJhdGlu ZyB3aXRoIHdjaGFyX2l0ZXJhdGUuCisrCisrMjAwOS0wOS0yMSAgUGhpbCBNdWxkb29uICA8cG11 bGRvb25AcmVkaGF0LmNvbT4KKysKKyAJKiBweXRob24vcHktdmFsdWUuYyAodmFscHlfZ2V0aXRl bSk6IFRlc3QgdmFsdWUgYmVmb3JlIGFsbG93aW5nCisgCXN1YnNjcmlwdCBvcGVyYXRpb24uCisg Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CitSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9jLWxhbmcuYyx2CityZXRy aWV2aW5nIHJldmlzaW9uIDEuNzUKK3JldHJpZXZpbmcgcmV2aXNpb24gMS43NS40LjEKK2RpZmYg LXUgLXIxLjc1IC1yMS43NS40LjEKKy0tLSBzcmMvZ2RiL2MtbGFuZy5jCTIwMDkvMDcvMTAgMTA6 MzU6MTYJMS43NQorKysrIHNyYy9nZGIvYy1sYW5nLmMJMjAwOS8wOS8yMSAxMDoyNToyOQkxLjc1 LjQuMQorQEAgLTQ1OSw3ICs0NTksNyBAQAorIAkgc2luZ2xlIGNoYXJhY3RlciBpbiBpc29sYXRp b24uICBUaGlzIG1ha2VzIHRoZSBjb2RlIHNpbXBsZXIKKyAJIGFuZCBwcm9iYWJseSBkb2VzIHRo ZSBzZW5zaWJsZSB0aGluZyBpbiB0aGUgbWFqb3JpdHkgb2YKKyAJIGNhc2VzLiAgKi8KKy0gICAg ICB3aGlsZSAobnVtX2NoYXJzID09IDEpCisrICAgICAgd2hpbGUgKG51bV9jaGFycyA9PSAxICYm IHRoaW5nc19wcmludGVkIDwgb3B0aW9ucy0+cHJpbnRfbWF4KQorIAl7CisgCSAgLyogQ291bnQg dGhlIG51bWJlciBvZiByZXBldGl0aW9ucy4gICovCisgCSAgdW5zaWduZWQgaW50IHJlcHMgPSAw OworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvdGVzdHN1aXRlL0NoYW5n ZUxvZyx2CityZXRyaWV2aW5nIHJldmlzaW9uIDEuMTk2MC4yLjEKK3JldHJpZXZpbmcgcmV2aXNp b24gMS4xOTYwLjIuMgorZGlmZiAtdSAtcjEuMTk2MC4yLjEgLXIxLjE5NjAuMi4yCistLS0gc3Jj L2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCTIwMDkvMDkvMjEgMTA6MjA6MDAJMS4xOTYwLjIuMQor KysrIHNyYy9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwkyMDA5LzA5LzIxIDEwOjI1OjI5CTEuMTk2 MC4yLjIKK0BAIC0xLDUgKzEsMTMgQEAKKyAyMDA5LTA5LTIxICBQaGlsIE11bGRvb24gIDxwbXVs ZG9vbkByZWRoYXQuY29tPgorIAorKwlQUiBweXRob24vMTA2MzMKKysKKysJKiBnZGIucHl0aG9u L3B5LXByZXR0eXByaW50LmV4cCAoZ2RiX3B5X3Rlc3Rfc2lsZW50X2NtZCk6IE5ldworKwlGdW5j dGlvbi4KKysJKHJ1bl9sYW5nX3Rlc3RzKTogQWRkIHByaW50IGVsZW1lbnRzIHRlc3QuCisrCisr MjAwOS0wOS0yMSAgUGhpbCBNdWxkb29uICA8cG11bGRvb25AcmVkaGF0LmNvbT4KKysKKyAJKiBn ZGIucHl0aG9uL3B5LXZhbHVlLmV4cCAodGVzdF9zdWJzY3JpcHRfcmVncmVzc2lvbik6IE5ldwor IAlmdW5jdGlvbi4gIFRlc3QgZm9yIGludmFsaWQgc3Vic2NyaXB0cy4KKyAJKiBnZGIucHl0aG9u L3B5LXZhbHVlLmMgKG1haW4pOiBBZGQgdGVzdCBhcnJheSwgYW5kIHBvaW50ZXIgdG8gaXQuCis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CitSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS1wcmV0dHlwcmludC5leHAsdgorcmV0cmlldmluZyByZXZpc2lvbiAxLjEKK3JldHJpZXZp bmcgcmV2aXNpb24gMS4xLjIuMQorZGlmZiAtdSAtcjEuMSAtcjEuMS4yLjEKKy0tLSBzcmMvZ2Ri L3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXByZXR0eXByaW50LmV4cAkyMDA5LzA5LzA5IDE3OjQ1 OjQyCTEuMQorKysrIHNyYy9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktcHJldHR5cHJpbnQu ZXhwCTIwMDkvMDkvMjEgMTA6MjU6MzAJMS4xLjIuMQorQEAgLTM1LDYgKzM1LDE3IEBACisgICAg IC1yZSAiJGdkYl9wcm9tcHQgJCIJe30KKyB9CisgCisrIyBSdW4gYSBjb21tYW5kIGluIEdEQiwg YW5kIHJlcG9ydCBhIGZhaWx1cmUgaWYgYSBQeXRob24gZXhjZXB0aW9uIGlzIHRocm93bi4KKysj IElmIHJlcG9ydF9wYXNzIGlzIHRydWUsIHJlcG9ydCBhIHBhc3MgaWYgbm8gZXhjZXB0aW9uIGlz IHRocm93bi4KKytwcm9jIGdkYl9weV90ZXN0X3NpbGVudF9jbWQge2NtZCBuYW1lIHJlcG9ydF9w YXNzfSB7CisrICBnbG9iYWwgZ2RiX3Byb21wdAorKworKyAgZ2RiX3Rlc3RfbXVsdGlwbGUgJGNt ZCAkbmFtZSB7CisrICAgICAgLXJlICJUcmFjZWJhY2suKiRnZGJfcHJvbXB0ICQiICB7IGZhaWwg JG5hbWUgfQorKyAgICAgIC1yZSAiJGdkYl9wcm9tcHQgJCIJICAgICAgeyBpZiAkcmVwb3J0X3Bh c3MgeyBwYXNzICRuYW1lIH0gfQorKyAgfQorK30KKysKKyBwcm9jIHJ1bl9sYW5nX3Rlc3RzIHts YW5nfSB7CisgICAgIGdsb2JhbCBzcmNkaXIgc3ViZGlyIHNyY2ZpbGUgYmluZmlsZSB0ZXN0Zmls ZSBoZXgKKyAgICAgaWYgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNm aWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUgImRlYnVnICRsYW5nIl0gIT0gIiIgfSB7CitA QCAtNzksNiArOTAsMTEgQEAKKyAJZ2RiX3Rlc3QgInByaW50IGRlcml2ZWQiIFwKKyAJICAgICIg PSBcey4qPFZiYXNlMT4gPSBwcCBjbGFzcyBuYW1lOiBWYmFzZTEuKjxWYmFzZTI+ID0gXHsuKjxW aXJ0dWFsVGVzdD4gPSBwcCB2YWx1ZSB2YXJpYWJsZSBpczogMSwuKm1lbWJlcnMgb2YgVmJhc2Uy Oi4qX3ZwdHIuVmJhc2UyID0gJGhleC4qPFZiYXNlMz4gPSBcey4qbWVtYmVycyBvZiBWYmFzZTMu Km1lbWJlcnMgb2YgRGVyaXZlZDouKnZhbHVlID0gMi4qIgorIAlnZGJfdGVzdCAicHJpbnQgbnMg IiAiXCJlbWJlZGRlZFxcXFwwMDBudWxsXFxcXDAwMHN0cmluZ1wiIgorKwlnZGJfcHlfdGVzdF9z aWxlbnRfY21kICJzZXQgcHJpbnQgZWxlbWVudHMgMyIgIiIgMQorKwlnZGJfdGVzdCAicHJpbnQg bnMiICJlbWJcLlwuXC4uIgorKwlnZGJfcHlfdGVzdF9zaWxlbnRfY21kICJzZXQgcHJpbnQgZWxl bWVudHMgMTAiICIiIDEKKysJZ2RiX3Rlc3QgInByaW50IG5zIiAiZW1iZWRkZWRcXFxcMDAwblwu XC5cLi4iCisrCWdkYl9weV90ZXN0X3NpbGVudF9jbWQgInNldCBwcmludCBlbGVtZW50cyAyMDAi ICIiIDEKKyAgICAgfQorIAorICAgICBnZGJfdGVzdCAicHJpbnQgeCIgIiA9ICRoZXggXCJ0aGlz IGlzIHhcIiIKCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLnBhdGNoIGIvZ2RiLWFyY2hlci5wYXRj aAppbmRleCAwNGMzM2ExLi42MjM1YjlmIDEwMDY0NAotLS0gYS9nZGItYXJjaGVyLnBhdGNoCisr KyBiL2dkYi1hcmNoZXIucGF0Y2gKQEAgLTIsNyArMiw3IEBAIGh0dHA6Ly9zb3VyY2V3YXJlLm9y Zy9nZGIvd2lraS9Qcm9qZWN0QXJjaGVyCiBodHRwOi8vc291cmNld2FyZS5vcmcvZ2RiL3dpa2kv QXJjaGVyQnJhbmNoTWFuYWdlbWVudAogCiBHSVQgc25hcHNob3Q6Ci1jb21taXQgMTZmM2YwMWNj MmNiYzE1MjgzNDYyZWFhYmRmY2RlOTJjZjQyY2RjNgorY29tbWl0IDBkNWMzOGRkODkwNTBjMGVl MWNmMDQ5NjU2ZjE3N2MxNzBkNjc1ZDQKIAogYnJhbmNoIGBhcmNoZXInIC0gdGhlIG1lcmdlIG9m IGJyYW5jaGVzOgogYXJjaGVyLXRyb21leS1jYWxsLWZyYW1lLWNmYQpAQCAtMjMzNywxOCArMjMz Nyw5IEBAIGluZGV4IGY4ZTRmMTIuLjViNDdlMmUgMTAwNjQ0CiAgICB9CiAgfQogZGlmZiAtLWdp dCBhL2dkYi9jLWxhbmcuYyBiL2dkYi9jLWxhbmcuYwotaW5kZXggNGJhODFiYS4uYmMzNWEzZSAx MDA2NDQKK2luZGV4IGQwMTQ5MGMuLmJjMzVhM2UgMTAwNjQ0CiAtLS0gYS9nZGIvYy1sYW5nLmMK ICsrKyBiL2dkYi9jLWxhbmcuYwotQEAgLTQ1OSw3ICs0NTksNyBAQCBjX3ByaW50c3RyIChzdHJ1 Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnN0 cmluZywKLSAJIHNpbmdsZSBjaGFyYWN0ZXIgaW4gaXNvbGF0aW9uLiAgVGhpcyBtYWtlcyB0aGUg Y29kZSBzaW1wbGVyCi0gCSBhbmQgcHJvYmFibHkgZG9lcyB0aGUgc2Vuc2libGUgdGhpbmcgaW4g dGhlIG1ham9yaXR5IG9mCi0gCSBjYXNlcy4gICovCi0tICAgICAgd2hpbGUgKG51bV9jaGFycyA9 PSAxKQotKyAgICAgIHdoaWxlIChudW1fY2hhcnMgPT0gMSAmJiB0aGluZ3NfcHJpbnRlZCA8IG9w dGlvbnMtPnByaW50X21heCkKLSAJewotIAkgIC8qIENvdW50IHRoZSBudW1iZXIgb2YgcmVwZXRp dGlvbnMuICAqLwotIAkgIHVuc2lnbmVkIGludCByZXBzID0gMDsKIEBAIC03MTUsNyArNzE1LDcg QEAgY19nZXRfc3RyaW5nIChzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBnZGJfYnl0ZSAqKmJ1ZmZlciwg aW50ICpsZW5ndGgsCiAgICAgICBJZiBsZW5ndGggcmV0dXJuZWQgZnJvbSByZWFkX3N0cmluZyB3 YXMgPiAwLCByZXR1cm4gdGhlIG51bWJlciBvZgogICAgICAgY2hhcmFjdGVycyByZWFkIGJ5IGRp dmlkaW5nIHRoZSBudW1iZXIgb2YgYnl0ZXMgYnkgd2lkdGguICAqLwpAQCAtMzExMSw3ICszMTAy LDcgQEAgaW5kZXggNjI4MDBiOC4uOTdkNTg3YiAxMDA2NDQKICAJCQl7ICQkID0gJDEuY29tcDsK ICAJCQkgIGlmICgkMikgJCQgPSBmaWxsX2NvbXAgKERFTUFOR0xFX0NPTVBPTkVOVF9MT0NBTF9O QU1FLCAkJCwgJDIpOyB9CiBkaWZmIC0tZ2l0IGEvZ2RiL2NwLW5hbWVzcGFjZS5jIGIvZ2RiL2Nw LW5hbWVzcGFjZS5jCi1pbmRleCBkMmQ4ZjJlLi5iOTUwMTQ3IDEwMDY0NAoraW5kZXggZDJkOGYy ZS4uYWYwYmEyOCAxMDA2NDQKIC0tLSBhL2dkYi9jcC1uYW1lc3BhY2UuYwogKysrIGIvZ2RiL2Nw LW5hbWVzcGFjZS5jCiBAQCAtMzYsMTQgKzM2LDE3IEBAIHN0YXRpYyBzdHJ1Y3QgdXNpbmdfZGly ZWN0ICpjcF9jb3B5X3VzaW5ncyAoc3RydWN0IHVzaW5nX2RpcmVjdCAqdXNpbmcsCkBAIC0zMjkx LDcgKzMyODIsNyBAQCBpbmRleCBkMmQ4ZjJlLi5iOTUwMTQ3IDEwMDY0NAogICAgICAgIGlmIChz eW0gIT0gTlVMTCkKICAJcmV0dXJuIHN5bTsKICAgICAgfQotQEAgLTMyMCwyNSArMzc3LDgxIEBA IGxvb2t1cF9uYW1lc3BhY2Vfc2NvcGUgKGNvbnN0IGNoYXIgKm5hbWUsCitAQCAtMzIwLDI1ICsz NzcsODcgQEAgbG9va3VwX25hbWVzcGFjZV9zY29wZSAoY29uc3QgY2hhciAqbmFtZSwKICAgIG5h bWVzcGFjZSA9IGFsbG9jYSAoc2NvcGVfbGVuICsgMSk7CiAgICBzdHJuY3B5IChuYW1lc3BhY2Us IHNjb3BlLCBzY29wZV9sZW4pOwogICAgbmFtZXNwYWNlW3Njb3BlX2xlbl0gPSAnXDAnOwpAQCAt MzM3MSwyMSArMzM2MiwyNyBAQCBpbmRleCBkMmQ4ZjJlLi5iOTUwMTQ3IDEwMDY0NAogKyAgc3Ry dWN0IHVzaW5nX2RpcmVjdCAqY3VycmVudDsKICsgIHN0cnVjdCBzeW1ib2wgKnN5bSA9IE5VTEw7 CiArICBpbnQgZGlyZWN0aXZlX21hdGNoOwotKyAgaW50IGN1cnJlbnRfbGluZSA9IGZpbmRfcGNf bGluZSAoZ2V0X2ZyYW1lX3BjIChnZXRfc2VsZWN0ZWRfZnJhbWUgKE5VTEwpKSwgMCkubGluZTsK LSAKLS0gIC8qIEZpcnN0LCBnbyB0aHJvdWdoIHRoZSB1c2luZyBkaXJlY3RpdmVzLiAgSWYgYW55 IG9mIHRoZW0gYWRkIG5ldworKyAgaW50IGN1cnJlbnRfbGluZTsKKysKICsgIGlmKCFkZWNsYXJh dGlvbl9vbmx5KQogKyAgICAvKiBGaXJzdCwgdHJ5IHRvIGZpbmQgdGhlIHN5bWJvbCBpbiB0aGUg Z2l2ZW4gbmFtZXNwYWNlLiAgKi8KICsgICAgc3ltID0gY3BfbG9va3VwX3N5bWJvbF9pbl9uYW1l c3BhY2UgKHNjb3BlLCBuYW1lLCBibG9jaywgZG9tYWluKTsKLSsKKyAKKy0gIC8qIEZpcnN0LCBn byB0aHJvdWdoIHRoZSB1c2luZyBkaXJlY3RpdmVzLiAgSWYgYW55IG9mIHRoZW0gYWRkIG5ldwog KyAgaWYgKCBzeW0gIT0gTlVMTCkKICsgICAgcmV0dXJuIHN5bTsKICsKKysgIGlmIChoYXNfc3Rh Y2tfZnJhbWVzICgpKQorKyAgICBjdXJyZW50X2xpbmUgPSBmaW5kX3BjX2xpbmUgKGdldF9mcmFt ZV9wYyAoZ2V0X3NlbGVjdGVkX2ZyYW1lIChOVUxMKSksCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDApLmxpbmU7CisrICBlbHNlCisrICAgIGN1cnJlbnRf bGluZSA9IDA7CisrCiArICAvKiBHbyB0aHJvdWdoIHRoZSB1c2luZyBkaXJlY3RpdmVzLiAgSWYg YW55IG9mIHRoZW0gYWRkIG5ldwogICAgICAgbmFtZXMgdG8gdGhlIG5hbWVzcGFjZSB3ZSdyZSBz ZWFyY2hpbmcgaW4sIHNlZSBpZiB3ZSBjYW4gZmluZCBhCiAgICAgICBtYXRjaCBieSBhcHBseWlu ZyB0aGVtLiAgKi8KICAKLUBAIC0zNDYsMzkgKzQ1OSw3NCBAQCBjcF9sb29rdXBfc3ltYm9sX25h bWVzcGFjZSAoY29uc3QgY2hhciAqbmFtZXNwYWNlLAorQEAgLTM0NiwzOSArNDY1LDc0IEBAIGNw X2xvb2t1cF9zeW1ib2xfbmFtZXNwYWNlIChjb25zdCBjaGFyICpuYW1lc3BhY2UsCiAgICAgICAg IGN1cnJlbnQgIT0gTlVMTDsKICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQtPm5leHQpCiAgICAg IHsKQEAgLTM0ODgsNyArMzQ4NSw3IEBAIGluZGV4IGQyZDhmMmUuLmI5NTAxNDcgMTAwNjQ0CiAg fQogIAogIC8qIExvb2sgdXAgTkFNRSBpbiBCTE9DSydzIHN0YXRpYyBibG9jayBhbmQgaW4gZ2xv YmFsIGJsb2Nrcy4gIElmCi1AQCAtMzg4LDE3ICs1MzYsMTUgQEAgY3BfbG9va3VwX3N5bWJvbF9u YW1lc3BhY2UgKGNvbnN0IGNoYXIgKm5hbWVzcGFjZSwKK0BAIC0zODgsMTcgKzU0MiwxNSBAQCBj cF9sb29rdXBfc3ltYm9sX25hbWVzcGFjZSAoY29uc3QgY2hhciAqbmFtZXNwYWNlLAogIAogIHN0 YXRpYyBzdHJ1Y3Qgc3ltYm9sICoKICBsb29rdXBfc3ltYm9sX2ZpbGUgKGNvbnN0IGNoYXIgKm5h bWUsCkBAIC0zNTA3LDcgKzM1MDQsNyBAQCBpbmRleCBkMmQ4ZjJlLi5iOTUwMTQ3IDEwMDY0NAog ICAgaWYgKGFub255bW91c19uYW1lc3BhY2UpCiAgICAgIHsKICAgICAgICAvKiBTeW1ib2xzIGRl ZmluZWQgaW4gYW5vbnltb3VzIG5hbWVzcGFjZXMgaGF2ZSBleHRlcm5hbCBsaW5rYWdlCi1AQCAt NDA4LDEyICs1NTQsMTEgQEAgbG9va3VwX3N5bWJvbF9maWxlIChjb25zdCBjaGFyICpuYW1lLAor QEAgLTQwOCwxMiArNTYwLDExIEBAIGxvb2t1cF9zeW1ib2xfZmlsZSAoY29uc3QgY2hhciAqbmFt ZSwKICAgICAgICBjb25zdCBzdHJ1Y3QgYmxvY2sgKmdsb2JhbF9ibG9jayA9IGJsb2NrX2dsb2Jh bF9ibG9jayAoYmxvY2spOwogICAgICAgIAogICAgICAgIGlmIChnbG9iYWxfYmxvY2sgIT0gTlVM TCkKQEAgLTM1MjIsNyArMzUxOSw3IEBAIGluZGV4IGQyZDhmMmUuLmI5NTAxNDcgMTAwNjQ0CiAg ICAgIH0KICAKICAgIGlmIChzeW0gIT0gTlVMTCkKLUBAIC00MzQsNiArNTc5LDcgQEAgbG9va3Vw X3N5bWJvbF9maWxlIChjb25zdCBjaGFyICpuYW1lLAorQEAgLTQzNCw2ICs1ODUsNyBAQCBsb29r dXBfc3ltYm9sX2ZpbGUgKGNvbnN0IGNoYXIgKm5hbWUsCiAgICAgICAgc3ltID0gbG9va3VwX3Bv c3NpYmxlX25hbWVzcGFjZV9zeW1ib2wgKG5hbWUpOwogICAgICAgIGlmIChzeW0gIT0gTlVMTCkK ICAJcmV0dXJuIHN5bTsKQEAgLTM1MzAsNyArMzUyNyw3IEBAIGluZGV4IGQyZDhmMmUuLmI5NTAx NDcgMTAwNjQ0CiAgICAgIH0KICAKICAgIHJldHVybiBOVUxMOwotQEAgLTQ2MSw5ICs2MDcsOCBA QCBjcF9sb29rdXBfbmVzdGVkX3R5cGUgKHN0cnVjdCB0eXBlICpwYXJlbnRfdHlwZSwKK0BAIC00 NjEsOSArNjEzLDggQEAgY3BfbG9va3VwX25lc3RlZF90eXBlIChzdHJ1Y3QgdHlwZSAqcGFyZW50 X3R5cGUsCiAgCSAgIGxvb2t1cF9zeW1ib2xfbmFtZXNwYWNlIHdvcmtzIHdoZW4gbG9va2luZyB0 aGVtIHVwLiAgKi8KICAKICAJY29uc3QgY2hhciAqcGFyZW50X25hbWUgPSBUWVBFX1RBR19OQU1F IChwYXJlbnRfdHlwZSk7CkBAIC0zNTQxLDcgKzM1MzgsNyBAQCBpbmRleCBkMmQ4ZjJlLi5iOTUw MTQ3IDEwMDY0NAogIAkJCQkJCQkgYmxvY2ssCiAgCQkJCQkJCSBWQVJfRE9NQUlOKTsKICAJaWYg KHN5bSA9PSBOVUxMIHx8IFNZTUJPTF9DTEFTUyAoc3ltKSAhPSBMT0NfVFlQRURFRikKLUBAIC03 MDksNyArODU0LDcgQEAgY2hlY2tfb25lX3Bvc3NpYmxlX25hbWVzcGFjZV9zeW1ib2wgKGNvbnN0 IGNoYXIgKm5hbWUsIGludCBsZW4sCitAQCAtNzA5LDcgKzg2MCw3IEBAIGNoZWNrX29uZV9wb3Nz aWJsZV9uYW1lc3BhY2Vfc3ltYm9sIChjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuLAogIAogICAg bWVtY3B5IChuYW1lX2NvcHksIG5hbWUsIGxlbik7CiAgICBuYW1lX2NvcHlbbGVuXSA9ICdcMCc7 CkBAIC0zNTUwLDcgKzM1NDcsNyBAQCBpbmRleCBkMmQ4ZjJlLi5iOTUwMTQ3IDEwMDY0NAogIAog ICAgaWYgKHN5bSA9PSBOVUxMKQogICAgICB7Ci1AQCAtNzQ5LDcgKzg5NCw3IEBAIGxvb2t1cF9w b3NzaWJsZV9uYW1lc3BhY2Vfc3ltYm9sIChjb25zdCBjaGFyICpuYW1lKQorQEAgLTc0OSw3ICs5 MDAsNyBAQCBsb29rdXBfcG9zc2libGVfbmFtZXNwYWNlX3N5bWJvbCAoY29uc3QgY2hhciAqbmFt ZSkKICAgICAgICBzdHJ1Y3Qgc3ltYm9sICpzeW07CiAgCiAgICAgICAgc3ltID0gbG9va3VwX2Js b2NrX3N5bWJvbCAoZ2V0X3Bvc3NpYmxlX25hbWVzcGFjZV9ibG9jayAob2JqZmlsZSksCkBAIC0z NzkzLDcgKzM3OTAsNyBAQCBpbmRleCA3Y2IwMTZkLi5iYjllMzVhIDEwMDY0NAogICAgZGVmYXVs dF9zeW1maWxlX29mZnNldHMsIC8qIHN5bV9vZmZzZXRzOiBwYXJzZSB1c2VyJ3Mgb2Zmc2V0cyB0 bwogIAkJCSAgICAgIGludGVybmFsIGZvcm0gKi8KIGRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYi50 ZXhpbmZvIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwotaW5kZXggNWE1ZjU0Mi4uMmM2YmNlZiAxMDA2 NDQKK2luZGV4IGYxNmI2ZTIuLmZlMzI4YzcgMTAwNjQ0CiAtLS0gYS9nZGIvZG9jL2dkYi50ZXhp bmZvCiArKysgYi9nZGIvZG9jL2dkYi50ZXhpbmZvCiBAQCAtOTU5LDggKzk1OSwxMCBAQCBDb25u ZWN0IHRvIHByb2Nlc3MgSUQgQHZhcntudW1iZXJ9LCBhcyB3aXRoIHRoZSBAY29kZXthdHRhY2h9 IGNvbW1hbmQuCkBAIC0xMjA1NywyNyArMTIwNTQsMTAgQEAgaW5kZXggYTg0MDAzZi4uOTI0YzFj NSAxMDA2NDQKICAgIGRlZmF1bHRfc3ltZmlsZV9vZmZzZXRzLAkvKiBzeW1fb2Zmc2V0czogZHVt bXkgRklYTUUgdGlsIGltcGxlbSBzeW0gcmVsb2MgKi8KICAgIGRlZmF1bHRfc3ltZmlsZV9zZWdt ZW50cywJLyogc3ltX3NlZ21lbnRzOiBHZXQgc2VnbWVudCBpbmZvcm1hdGlvbiBmcm9tCiBkaWZm IC0tZ2l0IGEvZ2RiL29iamZpbGVzLmMgYi9nZGIvb2JqZmlsZXMuYwotaW5kZXggMWY3NDg5Zi4u YjlhN2VkNiAxMDA2NDQKK2luZGV4IDhkY2NhNzAuLjRiMjVhNWEgMTAwNjQ0CiAtLS0gYS9nZGIv b2JqZmlsZXMuYwogKysrIGIvZ2RiL29iamZpbGVzLmMKLUBAIC00NTksMTIgKzQ1OSwxNCBAQCBm cmVlX29iamZpbGUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQotIAotICAgdW5saW5rX29iamZp bGUgKG9iamZpbGUpOwotIAotLSAgLyogSWYgd2UgYXJlIGdvaW5nIHRvIGZyZWUgdGhlIHJ1bnRp bWUgY29tbW9uIG9iamZpbGUsIG1hcmsgaXQKLS0gICAgIGFzIHVuYWxsb2NhdGVkLiAgKi8KLSsg IC8qIElmIHdlIGFyZSBnb2luZyB0byBmcmVlIGFueSBleGlzdGluZyBPQkpGSUxFIHJlZmVyZW5j ZSwgY2xlYXIgaXQuICAqLwotIAotICAgaWYgKG9iamZpbGUgPT0gcnRfY29tbW9uX29iamZpbGUp Ci0gICAgIHJ0X2NvbW1vbl9vYmpmaWxlID0gTlVMTDsKLSAKLSsgIGlmIChvYmpmaWxlID09IHN5 bWZpbGVfb2JqZmlsZSkKLSsgICAgc3ltZmlsZV9vYmpmaWxlID0gTlVMTDsKLSsKLSAgIC8qIEJl Zm9yZSB0aGUgc3ltYm9sIHRhYmxlIGNvZGUgd2FzIHJlZG9uZSB0byBtYWtlIGl0IGVhc2llciB0 bwotICAgICAgc2VsZWN0aXZlbHkgbG9hZCBhbmQgcmVtb3ZlIGluZm9ybWF0aW9uIHBhcnRpY3Vs YXIgdG8gYSBzcGVjaWZpYwotICAgICAgbGlua2FnZSB1bml0LCBnZGIgdXNlZCB0byBkbyB0aGVz ZSB0aGluZ3Mgd2hlbmV2ZXIgdGhlIG1vbm9saXRoaWMKLUBAIC03MzEsNiArNzMzLDIwIEBAIGhh dmVfcGFydGlhbF9zeW1ib2xzICh2b2lkKQorQEAgLTczMSw2ICs3MzEsMjAgQEAgaGF2ZV9wYXJ0 aWFsX3N5bWJvbHMgKHZvaWQpCiAgICAgIGlmIChvYmpmaWxlX2hhc19wYXJ0aWFsX3N5bWJvbHMg KG9mcCkpCiAgICAgICAgcmV0dXJuIDE7CiAgICB9CkBAIC0xNzkyMyw3ICsxNzkwMyw3IEBAIGlu ZGV4IDQ5YzA0MzcuLjg0YTQ3NmUgMTAwNjQ0CiArICByZXR1cm4gMTsKICt9CiBkaWZmIC0tZ2l0 IGEvZ2RiL3B5dGhvbi9weS12YWx1ZS5jIGIvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCi1pbmRleCAz ZDg4YWEzLi45ZmExYzQ0IDEwMDY0NAoraW5kZXggNzE0YWExMS4uOWZhMWM0NCAxMDA2NDQKIC0t LSBhL2dkYi9weXRob24vcHktdmFsdWUuYwogKysrIGIvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCiBA QCAtMjUsNiArMjUsNyBAQApAQCAtMTc5NDUsMjcgKzE3OTI1LDcgQEAgaW5kZXggM2Q4OGFhMy4u OWZhMWM0NCAxMDA2NDQKICAjZGVmaW5lIGJ1aWx0aW5fdHlwZV9weWJvb2wgXAogICAgbGFuZ3Vh Z2VfYm9vbF90eXBlIChweXRob25fbGFuZ3VhZ2UsIHB5dGhvbl9nZGJhcmNoKQogIAotQEAgLTMy NCw3ICszMjksMTggQEAgdmFscHlfZ2V0aXRlbSAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpr ZXkpCi0gCSAgICAgdHlwZS4gICovCi0gCSAgc3RydWN0IHZhbHVlICppZHggPSBjb252ZXJ0X3Zh bHVlX2Zyb21fcHl0aG9uIChrZXkpOwotIAkgIGlmIChpZHggIT0gTlVMTCkKLS0JICAgIHJlc192 YWwgPSB2YWx1ZV9zdWJzY3JpcHQgKHRtcCwgdmFsdWVfYXNfbG9uZyAoaWR4KSk7Ci0rCSAgICB7 Ci0rCSAgICAgIC8qIENoZWNrIHRoZSB2YWx1ZSdzIHR5cGUgaXMgc29tZXRoaW5nIHRoYXQgY2Fu IGJlIGFjY2Vzc2VkIHZpYQotKwkJIGEgc3Vic2NyaXB0LiAgKi8KLSsJICAgICAgc3RydWN0IHR5 cGUgKnR5cGU7Ci0rCSAgICAgIHRtcCA9IGNvZXJjZV9yZWYgKHRtcCk7Ci0rCSAgICAgIHR5cGUg PSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlICh0bXApKTsKLSsJICAgICAgaWYgKFRZUEVfQ09E RSAodHlwZSkgIT0gVFlQRV9DT0RFX0FSUkFZCi0rCQkgICYmIFRZUEVfQ09ERSAodHlwZSkgIT0g VFlQRV9DT0RFX1BUUikKLSsJCSAgZXJyb3IoIF8oIkNhbm5vdCBzdWJzY3JpcHQgcmVxdWVzdGVk IHR5cGUiKSk7Ci0rCSAgICAgIGVsc2UKLSsJCXJlc192YWwgPSB2YWx1ZV9zdWJzY3JpcHQgKHRt cCwgdmFsdWVfYXNfbG9uZyAoaWR4KSk7Ci0rCSAgICB9Ci0gCX0KLSAgICAgfQotIAotQEAgLTg5 MSw3ICs5MDcsMzQgQEAgY29udmVydF92YWx1ZV9mcm9tX3B5dGhvbiAoUHlPYmplY3QgKm9iaikK K0BAIC05MDIsNyArOTA3LDM0IEBAIGNvbnZlcnRfdmFsdWVfZnJvbV9weXRob24gKFB5T2JqZWN0 ICpvYmopCiAgCXsKICAJICBMT05HRVNUIGwgPSBQeUxvbmdfQXNMb25nTG9uZyAob2JqKTsKICAK QEAgLTE4MDAxLDcgKzE3OTYxLDcgQEAgaW5kZXggM2Q4OGFhMy4uOWZhMWM0NCAxMDA2NDQKICAJ ICAgIHZhbHVlID0gdmFsdWVfZnJvbV9sb25nZXN0IChidWlsdGluX3R5cGVfcHlsb25nLCBsKTsK ICAJfQogICAgICAgIGVsc2UgaWYgKFB5RmxvYXRfQ2hlY2sgKG9iaikpCi1AQCAtOTUwLDYgKzk5 MywyNSBAQCBnZGJweV9oaXN0b3J5IChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitA QCAtOTYxLDYgKzk5MywyNSBAQCBnZGJweV9oaXN0b3J5IChQeU9iamVjdCAqc2VsZiwgUHlPYmpl Y3QgKmFyZ3MpCiAgICByZXR1cm4gdmFsdWVfdG9fdmFsdWVfb2JqZWN0IChyZXNfdmFsKTsKICB9 CiAgCkBAIC0xODAyNyw3ICsxNzk4Nyw3IEBAIGluZGV4IDNkODhhYTMuLjlmYTFjNDQgMTAwNjQ0 CiAgdm9pZAogIGdkYnB5X2luaXRpYWxpemVfdmFsdWVzICh2b2lkKQogIHsKLUBAIC05NjAsNiAr MTAyMiw4IEBAIGdkYnB5X2luaXRpYWxpemVfdmFsdWVzICh2b2lkKQorQEAgLTk3MSw2ICsxMDIy LDggQEAgZ2RicHlfaW5pdGlhbGl6ZV92YWx1ZXMgKHZvaWQpCiAgICBQeU1vZHVsZV9BZGRPYmpl Y3QgKGdkYl9tb2R1bGUsICJWYWx1ZSIsIChQeU9iamVjdCAqKSAmdmFsdWVfb2JqZWN0X3R5cGUp OwogIAogICAgdmFsdWVzX2luX3B5dGhvbiA9IE5VTEw7CkBAIC0xODkzMSw3ICsxODg5MSw3IEBA IGluZGV4IDFjMzc4MDEuLjU5NGViMTYgMTAwNjQ0CiAgCSAgcHJpbnRfdmFyaWFibGVfYW5kX3Zh bHVlIChOVUxMLCBzeW0sIGZyYW1lLCBzdHJlYW0sIDQgKiBudW1fdGFicyk7CiAgCSAgYnJlYWs7 CiBkaWZmIC0tZ2l0IGEvZ2RiL3N5bWZpbGUuYyBiL2dkYi9zeW1maWxlLmMKLWluZGV4IDJmMzQ0 MWMuLjc3NjA2NmQgMTAwNjQ0CitpbmRleCAyNDU4MjAxLi5jMzFiNzJhIDEwMDY0NAogLS0tIGEv Z2RiL3N5bWZpbGUuYwogKysrIGIvZ2RiL3N5bWZpbGUuYwogQEAgLTkyMSw2ICs5MjEsMTcgQEAg bmV3X3N5bWZpbGVfb2JqZmlsZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGludCBhZGRfZmxh Z3MpCkBAIC0xOTAwMiwxOCArMTg5NjIsNyBAQCBpbmRleCAyZjM0NDFjLi43NzYwNjZkIDEwMDY0 NAogICAgICB7CiAgICAgICAgd3JhcF9oZXJlICgiIik7CiAgICAgICAgcHJpbnRmX3VuZmlsdGVy ZWQgKF8oIihubyBkZWJ1Z2dpbmcgc3ltYm9scyBmb3VuZCkuLi4iKSk7Ci1AQCAtMTE1MCw3ICsx MTY3LDkgQEAgc3ltYm9sX2ZpbGVfY2xlYXIgKGludCBmcm9tX3R0eSkKLSAgICAgIGRlc2NyaXB0 b3JzIGFzIHdlbGwuICAqLwotICAgbm9fc2hhcmVkX2xpYnJhcmllcyAoTlVMTCwgZnJvbV90dHkp OwotIAotLSAgc3ltZmlsZV9vYmpmaWxlID0gTlVMTDsKLSsgIC8qIGZyZWVfb2JqZmlsZSBzaG91 bGQgaGF2ZSBjbGVhcmVkIGl0LiAgKi8KLSsgIGdkYl9hc3NlcnQgKHN5bWZpbGVfb2JqZmlsZSA9 PSBOVUxMKTsKLSsKLSAgIGlmIChmcm9tX3R0eSkKLSAgICAgcHJpbnRmX3VuZmlsdGVyZWQgKF8o Ik5vIHN5bWJvbCBmaWxlIG5vdy5cbiIpKTsKLSB9Ci1AQCAtMjQyMiwxNCArMjQ0MSwxNSBAQCBy ZXJlYWRfc3ltYm9scyAodm9pZCkKK0BAIC0yNDIyLDE0ICsyNDM5LDE1IEBAIHJlcmVhZF9zeW1i b2xzICh2b2lkKQogIAkgICAgICAgICB6ZXJvIGlzIE9LIHNpbmNlIGRieHJlYWQuYyBhbHNvIGRv ZXMgd2hhdCBpdCBuZWVkcyB0byBkbyBpZgogIAkgICAgICAgICBvYmpmaWxlLT5nbG9iYWxfcHN5 bWJvbHMuc2l6ZSBpcyAwLiAgKi8KICAJICAgICAgKCpvYmpmaWxlLT5zZi0+c3ltX3JlYWQpIChv YmpmaWxlLCAwKTsKQEAgLTE5MDMxLDcgKzE4OTgwLDcgQEAgaW5kZXggMmYzNDQxYy4uNzc2MDY2 ZCAxMDA2NDQKICAJICAgICAgLyogV2UncmUgZG9uZSByZWFkaW5nIHRoZSBzeW1ib2wgZmlsZTsg ZmluaXNoIG9mZiBjb21wbGFpbnRzLiAgKi8KICAJICAgICAgY2xlYXJfY29tcGxhaW50cyAoJnN5 bWZpbGVfY29tcGxhaW50cywgMCwgMSk7CiAgCi1AQCAtMjcyNyw3ICsyNzQ3LDcgQEAgYWxsb2Nh dGVfc3ltdGFiIChjaGFyICpmaWxlbmFtZSwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUpCitAQCAt MjcyNyw3ICsyNzQ1LDcgQEAgYWxsb2NhdGVfc3ltdGFiIChjaGFyICpmaWxlbmFtZSwgc3RydWN0 IG9iamZpbGUgKm9iamZpbGUpCiAgfQogIAogIHN0cnVjdCBwYXJ0aWFsX3N5bXRhYiAqCkBAIC0x OTA0MCw3ICsxODk4OSw3IEBAIGluZGV4IDJmMzQ0MWMuLjc3NjA2NmQgMTAwNjQ0CiAgewogICAg c3RydWN0IHBhcnRpYWxfc3ltdGFiICpwc3ltdGFiOwogIAotQEAgLTMwNDEsNyArMzA2MSw4IEBA IGFnYWluMjoKK0BAIC0zMDQxLDcgKzMwNTksOCBAQCBhZ2FpbjI6CiAgCiAgc3RydWN0IHBhcnRp YWxfc3ltdGFiICoKICBzdGFydF9wc3ltdGFiX2NvbW1vbiAoc3RydWN0IG9iamZpbGUgKm9iamZp bGUsCkBAIC0yNjAzMyw3ICsyNTk4Miw3IEBAIGluZGV4IDAwMDAwMDAuLmU5ZDE4YjcKICtnZGJf dGVzdCAicHl0aG9uIHByaW50IHQwIiAiXFw8Z2RiLkluZmVyaW9yVGhyZWFkIG9iamVjdCBhdCAw eFxbXFs6eGRpZ2l0OlxdXF0rPiIgInZlcmlmeSBJbmZlcmlvclRocmVhZCBvYmplY3QiCiArZ2Ri X3Rlc3QgInB5dGhvbiBwcmludCAncmVzdWx0ID0nLCB0MC5udW0iICIgPSBcWzAtOVxdKyIgInRl c3QgSW5mZXJpb3IubnVtIgogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9w eS1wcmV0dHlwcmludC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktcHJldHR5cHJp bnQuZXhwCi1pbmRleCBkMmRiNWJjLi40ZGUxNjIwIDEwMDY0NAoraW5kZXggYjRiMzc3Ni4uMzU5 YzRlZCAxMDA2NDQKIC0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1wcmV0dHlwcmlu dC5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1wcmV0dHlwcmludC5leHAK IEBAIC0yNywxMiArMjcsMjAgQEAgc2V0IGJpbmZpbGUgJHtvYmpkaXJ9LyR7c3ViZGlyfS8ke3Rl c3RmaWxlfQpAQCAtMjYwNjIsMjAgKzI2MDExLDggQEAgaW5kZXggZDJkYjViYy4uNGRlMTYyMCAx MDA2NDQKICsgIH0KICB9CiAgCi0gcHJvYyBydW5fbGFuZ190ZXN0cyB7bGFuZ30gewotQEAgLTc5 LDYgKzg3LDExIEBAIHByb2MgcnVuX2xhbmdfdGVzdHMge2xhbmd9IHsKLSAJZ2RiX3Rlc3QgInBy aW50IGRlcml2ZWQiIFwKLSAJICAgICIgPSBcey4qPFZiYXNlMT4gPSBwcCBjbGFzcyBuYW1lOiBW YmFzZTEuKjxWYmFzZTI+ID0gXHsuKjxWaXJ0dWFsVGVzdD4gPSBwcCB2YWx1ZSB2YXJpYWJsZSBp czogMSwuKm1lbWJlcnMgb2YgVmJhc2UyOi4qX3ZwdHIuVmJhc2UyID0gJGhleC4qPFZiYXNlMz4g PSBcey4qbWVtYmVycyBvZiBWYmFzZTMuKm1lbWJlcnMgb2YgRGVyaXZlZDouKnZhbHVlID0gMi4q IgotIAlnZGJfdGVzdCAicHJpbnQgbnMgIiAiXCJlbWJlZGRlZFxcXFwwMDBudWxsXFxcXDAwMHN0 cmluZ1wiIgotKwlnZGJfcHlfdGVzdF9zaWxlbnRfY21kICJzZXQgcHJpbnQgZWxlbWVudHMgMyIg IiIgMQotKwlnZGJfdGVzdCAicHJpbnQgbnMiICJlbWJcLlwuXC4uIgotKwlnZGJfcHlfdGVzdF9z aWxlbnRfY21kICJzZXQgcHJpbnQgZWxlbWVudHMgMTAiICIiIDEKLSsJZ2RiX3Rlc3QgInByaW50 IG5zIiAiZW1iZWRkZWRcXFxcMDAwblwuXC5cLi4iCi0rCWdkYl9weV90ZXN0X3NpbGVudF9jbWQg InNldCBwcmludCBlbGVtZW50cyAyMDAiICIiIDEKLSAgICAgfQotIAotICAgICBnZGJfdGVzdCAi cHJpbnQgeCIgIiA9ICRoZXggXCJ0aGlzIGlzIHhcIiIKLUBAIC04Niw2ICs5OSw4IEBAIHByb2Mg cnVuX2xhbmdfdGVzdHMge2xhbmd9IHsKKyAjIFJ1biBhIGNvbW1hbmQgaW4gR0RCLCBhbmQgcmVw b3J0IGEgZmFpbHVyZSBpZiBhIFB5dGhvbiBleGNlcHRpb24gaXMgdGhyb3duLgorQEAgLTEwMiw2 ICsxMTAsOCBAQCBwcm9jIHJ1bl9sYW5nX3Rlc3RzIHtsYW5nfSB7CiAgCiAgICAgIGdkYl90ZXN0 ICJwcmludCBjIiAiID0gY29udGFpbmVyICRoZXggXCJjb250YWluZXJcIiB3aXRoIDIgZWxlbWVu dHMgPSB7JG5sICouMC4gPSAyMywkbmwgKi4xLiA9IDcyJG5sfSIKICAKQEAgLTI2MTI3LDQ4ICsy NjA2NCwxMSBAQCBpbmRleCBjZWE2YWUwLi5jOWE2M2Q0IDEwMDY0NAogIHByb2MgdGVzdF90ZW1w bGF0ZV9hcmcge3R5cGV9IHsKICAgICAgZ2xvYmFsIHRlc3RmaWxlIHNyY2RpciBzdWJkaXIgc3Jj ZmlsZSBiaW5maWxlCiAgICAgIGlmIHsgW2dkYl9jb21waWxlICIke3NyY2Rpcn0vJHtzdWJkaXJ9 LyR7c3JjZmlsZX0iICIke2JpbmZpbGV9IiBcCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIucHl0aG9uL3B5LXZhbHVlLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdmFsdWUu YwotaW5kZXggZjNkNjI4NC4uMDIzZDgzMCAxMDA2NDQKLS0tLSBhL2dkYi90ZXN0c3VpdGUvZ2Ri LnB5dGhvbi9weS12YWx1ZS5jCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdmFs dWUuYwotQEAgLTM3LDYgKzM3LDEzIEBAIHR5cGVkZWYgc3RydWN0IHMgKlBUUjsKLSAKLSBlbnVt IGUgZXZhbHVlID0gVFdPOwotIAotKyNpZmRlZiBfX2NwbHVzcGx1cwotK3ZvaWQgcHRyX3JlZihp bnQqJiBycHRyX2ludCkKLSt7Ci0rICByZXR1cm47IC8qIGJyZWFrIHRvIGluc3BlY3QgcG9pbnRl ciBieSByZWZlcmVuY2UuICovCi0rfQotKyNlbmRpZgotKwotIGludAotIG1haW4gKGludCBhcmdj LCBjaGFyICphcmd2W10pCi0gewotQEAgLTQ2LDEwICs1MywxOCBAQCBtYWluIChpbnQgYXJnYywg Y2hhciAqYXJndltdKQotICAgUFRSIHggPSAmczsKLSAgIGNoYXIgc3RbMTddID0gImRpdmlkZSBl dCBpbXBlcmEiOwotICAgY2hhciBudWxsc3RbMTddID0gImRpdmlkZVwwZXRcMGltcGVyYSI7Ci0r ICBpbnQgYVszXSA9IHsxLDIsM307Ci0rICBpbnQgKnAgPSBhOwotKyAgaW50IGkgPSAyOwotKyAg aW50ICpwdHJfaSA9ICZpOwotIAotICAgcy5hID0gMzsKLSAgIHMuYiA9IDU7Ci0gICB1LmEgPSA3 OwotIAotKyNpZmRlZiBfX2NwbHVzcGx1cwotKyAgcHRyX3JlZihwdHJfaSk7Ci0rI2VuZGlmCi0r Ci0gICByZXR1cm4gMDsgICAgICAvKiBicmVhayB0byBpbnNwZWN0IHN0cnVjdCBhbmQgdW5pb24g Ki8KLSB9CiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4 cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12YWx1ZS5leHAKLWluZGV4IDliNDE5MGQu LmI5ZjJjM2MgMTAwNjQ0CitpbmRleCAyOTU4MjMzLi4wZGUxY2FlIDEwMDY0NAogLS0tIGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIucHl0aG9uL3B5LXZhbHVlLmV4cAotQEAgLTI5MiwyMSArMjkyLDEwNiBAQCBwcm9jIHRlc3Rf dmFsdWVfYWZ0ZXJfZGVhdGgge30geworQEAgLTI5Miw2ICsyOTIsMTUgQEAgcHJvYyB0ZXN0X3Zh bHVlX2FmdGVyX2RlYXRoIHt9IHsKICAgICAgInByaW50IHZhbHVlJ3MgdHlwZSIKICB9CiAgCkBA IC0yNjE4MSw3NyArMjYwODEsMTAgQEAgaW5kZXggOWI0MTkwZC4uYjlmMmMzYyAxMDA2NDQKICsg IGdkYl90ZXN0ICJweXRob24gcHJpbnQgdiIgIjUiICJwcmludCB2YWx1ZSBmb3IgY2FzdCB0ZXN0 IgogK30KICsKLSsjIFJlZ3Jlc3Npb24gdGVzdCBmb3IgaW52YWxpZCBzdWJzY3JpcHQgb3BlcmF0 aW9ucy4gIFRoZSBidWcgd2FzIHRoYXQKLSsjIHRoZSB0eXBlIG9mIHRoZSB2YWx1ZSB3YXMgbm90 IGJlaW5nIGNoZWNrZWQgYmVmb3JlIGFsbG93aW5nIGEKLSsjIHN1YnNjcmlwdCBvcGVyYXRpb24g dG8gcHJvY2VlZC4KLSsKLStwcm9jIHRlc3Rfc3Vic2NyaXB0X3JlZ3Jlc3Npb24ge2xhbmd9IHsK LSsKLSsgZ2xvYmFsIHNyY2RpciBzdWJkaXIgc3JjZmlsZSBiaW5maWxlIHRlc3RmaWxlIGhleAot KyBpZiB7IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHti aW5maWxlfSIgZXhlY3V0YWJsZSAiZGVidWcgJGxhbmciXSAhPSAiIiB9IHsKLSsgICAgIHVudGVz dGVkICJDb3VsZG4ndCBjb21waWxlICR7c3JjZmlsZX0gaW4gJGxhbmcgbW9kZSIKLSsgICAgIHJl dHVybiAtMQotKyB9Ci0rCi0rICMgU3RhcnQgd2l0aCBhIGZyZXNoIGdkYi4KLSsgZ2RiX2V4aXQK LSsgZ2RiX3N0YXJ0Ci0rIGdkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIvJHN1YmRpcgotKyBn ZGJfbG9hZCAke2JpbmZpbGV9Ci0rCi0rIGlmICFbcnVudG9fbWFpbiBdIHRoZW4gewotKyAgICAg cGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCIKLSsgICAgIHJldHVybgotKyB9Ci0r Ci0rIGlmIHskbGFuZyA9PSAiYysrIn0gewotKyAgICAgZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRf bGluZV9udW1iZXIgImJyZWFrIHRvIGluc3BlY3QgcG9pbnRlciBieSByZWZlcmVuY2UiXQotKyAg ICAgZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgImJyZWFrIHRvIGluc3BlY3QgcG9pbnRlciBi eSByZWZlcmVuY2UiCi0rCi0rICAgICBnZGJfcHlfdGVzdF9zaWxlbnRfY21kICJwcmludCBycHRy X2ludCIgXAotKwkgIk9idGFpbiBhZGRyZXNzIiAxCi0rICAgICBnZGJfcHlfdGVzdF9zaWxlbnRf Y21kICJweXRob24gcnB0ciA9IGdkYi5oaXN0b3J5KDApIiBcCi0rCSAiT2J0YWlucyB2YWx1ZSBm cm9tIEdEQiIgMQotKyAgICAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCBycHRyXFswXF0iICIyIiAi Q2hlY2sgcG9pbnRlciBwYXNzZWQgYXMgcmVmZXJlbmNlIgotKyB9Ci0rCi0rIGdkYl9icmVha3Bv aW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJicmVhayB0byBpbnNwZWN0IHN0cnVjdCBhbmQgdW5p b24iXQotKyBnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAiYnJlYWsgdG8gaW5zcGVjdCBzdHJ1 Y3QgYW5kIHVuaW9uIgotKwotKyBnZGJfcHlfdGVzdF9zaWxlbnRfY21kICJweXRob24gaW50diA9 IGdkYi5WYWx1ZSgxKSIgXAotKyAgICAgIkNyZWF0ZSBhIHZhbHVlIGZvciBzdWJzY3JpcHQgdGVz dCIgMQotKyBnZGJfcHlfdGVzdF9zaWxlbnRfY21kICJweXRob24gc3RyaW5ndiA9IGdkYi5WYWx1 ZShcImZvb1wiKSIgXAotKyAgICAgIkNyZWF0ZSBhIHZhbHVlIGZvciBzdWJzY3JpcHQgdGVzdCIg MQotKwotKyAjIFRyeSB0byBhY2Nlc3MgYW4gaW50IHdpdGggYSBzdWJzY3JpcHQuICBUaGlzIHNo b3VsZCBmYWlsLgotKyBnZGJfdGVzdCAicHl0aG9uIHByaW50IGludHYiICIxIiAiQmFzZWxpbmUg cHJpbnQgb2YgYSBQeXRob24gdmFsdWUiCi0rIGdkYl90ZXN0ICJweXRob24gcHJpbnQgaW50dlxb MFxdIiAiUnVudGltZUVycm9yOiBDYW5ub3Qgc3Vic2NyaXB0IHJlcXVlc3RlZCB0eXBlLioiIFwK LSsgICAgICJBdHRlbXB0IHRvIGFjY2VzcyBhbiBpbnRlZ2VyIHdpdGggYSBzdWJzY3JpcHQiCi0r Ci0rICMgVHJ5IHRvIGFjY2VzcyBhIHN0cmluZyB3aXRoIGEgc3Vic2NyaXB0LiAgVGhpcyBzaG91 bGQgcGFzcy4KLSsgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCBzdHJpbmd2IiAiZm9vLiIgIkJhc2Vs aW5lIHByaW50IG9mIGEgUHl0aG9uIHZhbHVlIgotKyBnZGJfdGVzdCAicHl0aG9uIHByaW50IHN0 cmluZ3ZcWzBcXSIgImYuIiAiQXR0ZW1wdCB0byBhY2Nlc3MgYSBzdHJpbmcgd2l0aCBhIHN1YnNj cmlwdCIKLSsKLSsgIyBUcnkgdG8gYWNjZXNzIGFuIGludCBhcnJheSB2aWEgYSBwb2ludGVyIHdp dGggYSBzdWJzY3JpcHQuICBUaGlzIHNob3VsZCBwYXNzLgotKyBnZGJfcHlfdGVzdF9zaWxlbnRf Y21kICJwcmludCBwIiAiQnVpbGQgcG9pbnRlciB0byBhcnJheSIgMQotKyBnZGJfcHlfdGVzdF9z aWxlbnRfY21kICJweXRob24gcG9pbnRlciA9IGdkYi5oaXN0b3J5KDApIiAiIiAxCi0rIGdkYl90 ZXN0ICJweXRob24gcHJpbnQgcG9pbnRlclxbMFxdIiAiMSIgIkFjY2VzcyBhcnJheSB2aWEgcG9p bnRlciB3aXRoIGludCBzdWJzY3JpcHQiCi0rIGdkYl90ZXN0ICJweXRob24gcHJpbnQgcG9pbnRl clxbaW50dlxdIiAiMiIgIkFjY2VzcyBhcnJheSB2aWEgcG9pbnRlciB3aXRoIHZhbHVlIHN1YnNj cmlwdCIKLSsKLSsgIyBUcnkgdG8gYWNjZXNzIGEgc2luZ2xlIGRpbWVuc2lvbiBhcnJheSB3aXRo IGEgc3Vic2NyaXB0IHRvIHRoZQotKyAjIHJlc3VsdC4gIFRoaXMgc2hvdWxkIGZhaWwuCi0rIGdk Yl90ZXN0ICJweXRob24gcHJpbnQgcG9pbnRlclxbaW50dlxdXFswXF0iICJSdW50aW1lRXJyb3I6 IENhbm5vdCBzdWJzY3JpcHQgcmVxdWVzdGVkIHR5cGUuKiIgXAotKyAgICAgIkF0dGVtcHQgdG8g YWNjZXNzIGFuIGludGVnZXIgd2l0aCBhIHN1YnNjcmlwdCIgICAKLSsKLSsgIyBMYXN0bHksIHRl c3Qgc3Vic2NyaXB0IGFjY2VzcyB0byBhbiBhcnJheSB3aXRoIG11bHRpcGxlCi0rICMgZGltZW5z aW9ucy4gIFRoaXMgc2hvdWxkIHBhc3MuCi0rIGdkYl9weV90ZXN0X3NpbGVudF9jbWQgInByaW50 IHtcImZ1IFwiLFwiZm9vXCIsXCJiYXJcIn0iICJCdWlsZCBhcnJheSIgMQotKyBnZGJfcHlfdGVz dF9zaWxlbnRfY21kICJweXRob24gbWFycmF5ID0gZ2RiLmhpc3RvcnkoMCkiICIiIDEKLSsgZ2Ri X3Rlc3QgInB5dGhvbiBwcmludCBtYXJyYXlcWzFcXVxbMlxdIiAiby4iICJUZXN0IG11bHRpcGxl IHN1YnNjcmlwdCIKLSt9ICAgCi0rCi0gIyBTdGFydCB3aXRoIGEgZnJlc2ggZ2RiLgotIAorICMg UmVncmVzc2lvbiB0ZXN0IGZvciBpbnZhbGlkIHN1YnNjcmlwdCBvcGVyYXRpb25zLiAgVGhlIGJ1 ZyB3YXMgdGhhdAorICMgdGhlIHR5cGUgb2YgdGhlIHZhbHVlIHdhcyBub3QgYmVpbmcgY2hlY2tl ZCBiZWZvcmUgYWxsb3dpbmcgYQorICMgc3Vic2NyaXB0IG9wZXJhdGlvbiB0byBwcm9jZWVkLgor QEAgLTM2NiwxNiArMzc1LDIzIEBAIHByb2MgdGVzdF9zdWJzY3JpcHRfcmVncmVzc2lvbiB7bGFu Z30gewogIGdkYl9leGl0CiAgZ2RiX3N0YXJ0CiAgZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rp ci8kc3ViZGlyCkBAIC0yNjI2Niw4ICsyNjA5OSw4IEBAIGluZGV4IDliNDE5MGQuLmI5ZjJjM2Mg MTAwNjQ0CiAraWYgIVtweXRob25fc3VwcG9ydGVkXSB0aGVuIHsKICsgIHVuc3VwcG9ydGVkICJw eXRob24gc3VwcG9ydCBpcyBkaXNhYmxlZCIKICsgIHJldHVybiAtMQotK30KLSsKKyB9CisgCiAr c2V0IHRlc3RmaWxlICJweS12YWx1ZSIKICtzZXQgc3JjZmlsZSAke3Rlc3RmaWxlfS5jCiArc2V0 IGJpbmZpbGUgJHtvYmpkaXJ9LyR7c3ViZGlyfS8ke3Rlc3RmaWxlfQpAQCAtMjYyNzUsMjQgKzI2 MTA4LDIxIEBAIGluZGV4IDliNDE5MGQuLmI5ZjJjM2MgMTAwNjQ0CiAraWYgeyBbZ2RiX2NvbXBp bGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNmaWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFi bGUge2RlYnVnfV0gIT0gIiIgfSB7CiArICAgIHVudGVzdGVkICJDb3VsZG4ndCBjb21waWxlICR7 c3JjZmlsZX0iCiArICAgIHJldHVybiAtMQotIH0KLSAKKyt9CisrCiArZ2RiX2xvYWQgJHtiaW5m aWxlfQogKwogIHRlc3RfdmFsdWVfY3JlYXRpb24KICB0ZXN0X3ZhbHVlX251bWVyaWNfb3BzCiAg dGVzdF92YWx1ZV9ib29sZWFuCi1AQCAtMzIyLDMgKzQwNywxMCBAQCBpZiAhW3J1bnRvX21haW5d IHRoZW4geworQEAgLTM5MSw2ICs0MDcsNyBAQCBpZiAhW3J1bnRvX21haW5dIHRoZW4gewogIAog IHRlc3RfdmFsdWVfaW5faW5mZXJpb3IKICB0ZXN0X3ZhbHVlX2FmdGVyX2RlYXRoCiArdGVzdF9j YXN0X3JlZ3Jlc3Npb24KLSsKLSsjIFRoZSBmb2xsb3dpbmcgdGVzdCByZWNvbXBpbGVzIHRoZSBi aW5hcnkgdG8gdGVzdCBlaXRoZXIgQyBvciBDKysKLSsjIHZhbHVlcy4KLSsKLSt0ZXN0X3N1YnNj cmlwdF9yZWdyZXNzaW9uICJjKysiCi0rdGVzdF9zdWJzY3JpcHRfcmVncmVzc2lvbiAiYyIKKyAK KyAjIFRoZSBmb2xsb3dpbmcgdGVzdCByZWNvbXBpbGVzIHRoZSBiaW5hcnkgdG8gdGVzdCBlaXRo ZXIgQyBvciBDKysKKyAjIHZhbHVlcy4gCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5dGhvbi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHl0aG9uLmV4cAog aW5kZXggNTIyM2ZjOC4uMDNlMWVhYiAxMDA2NDQKIC0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5 dGhvbi9weXRob24uZXhwCkBAIC0yODUwMCw3ICsyODMzMCw3IEBAIGluZGV4IDUxZTY5NjAuLjQ4 YjMwZTQgMTAwNjQ0CiAgLyogVXNlciBmdW5jdGlvbiBoYW5kbGVyLiAgKi8KICAKIGRpZmYgLS1n aXQgYS9nZGIvdmFyb2JqLmMgYi9nZGIvdmFyb2JqLmMKLWluZGV4IDcyMzU2MzUuLjk4NDhkZTAg MTAwNjQ0CitpbmRleCA4ZjIyMTU2Li44ZmU3MmNhIDEwMDY0NAogLS0tIGEvZ2RiL3Zhcm9iai5j CiArKysgYi9nZGIvdmFyb2JqLmMKIEBAIC0yNiw2ICsyNiw4IEBACgpkaWZmIC0tZ2l0IGEvZ2Ri LnNwZWMgYi9nZGIuc3BlYwppbmRleCAxNjVjMTFmLi45YTJmM2VlIDEwMDY0NAotLS0gYS9nZGIu c3BlYworKysgYi9nZGIuc3BlYwpAQCAtMTAsMTEgKzEwLDExIEBAIE5hbWU6IGdkYiV7P193aXRo X2RlYnVnOi1kZWJ1Z30KICMgU2V0IHZlcnNpb24gdG8gY29udGVudHMgb2YgZ2RiL3ZlcnNpb24u aW4uCiAjIE5PVEU6IHRoZSBGU0YgZ2RiIHZlcnNpb25zIGFyZSBudW1iZXJlZCBOLk0gZm9yIG9m ZmljaWFsIHJlbGVhc2VzLCBsaWtlIDYuMyAKICMgYW5kLCBzaW5jZSBKYW51YXJ5IDIwMDUsIFgu WS5aLmRhdGUgZm9yIGRhaWx5IHNuYXBzaG90cywgbGlrZSA2LjMuNTAuMjAwNTAxMTIgIyAoZGFp bHkgc25hcHNob3QgZnJvbSBtYWlsaW5lKSwgb3IgNi4zLjAuMjAwNDAxMTIgKGhlYWQgb2YgdGhl IHJlbGVhc2UgYnJhbmNoKS4KLVZlcnNpb246IDYuOC45MS4yMDA5MDkxNworVmVyc2lvbjogNi44 LjkxLjIwMDkwOTIxCiAKICMgVGhlIHJlbGVhc2UgYWx3YXlzIGNvbnRhaW5zIGEgbGVhZGluZyBy ZXNlcnZlZCBudW1iZXIsIHN0YXJ0IGl0IGF0IDEuCiAjIGB1cHN0cmVhbScgaXMgbm90IGEgcGFy dCBvZiBgbmFtZScgdG8gc3RheSBmdWxseSBycG0gZGVwZW5kZW5jaWVzIGNvbXBhdGlibGUgZm9y IHRoZSB0ZXN0aW5nLgotUmVsZWFzZTogMiV7P193aXRoX3Vwc3RyZWFtOi51cHN0cmVhbX0lez9k aXN0fQorUmVsZWFzZTogMSV7P193aXRoX3Vwc3RyZWFtOi51cHN0cmVhbX0lez9kaXN0fQogCiBM aWNlbnNlOiBHUEx2MysKIEdyb3VwOiBEZXZlbG9wbWVudC9EZWJ1Z2dlcnMKQEAgLTIxOSw4ICsy MTksOCBAQCBQYXRjaDIyOTogZ2RiLTYuMy1iejE0MDUzMi1wcGMtdW53aW5kaW5nLXRlc3QucGF0 Y2gKICMgVGVzdGNhc2UgZm9yIGV4ZWMoKSBmcm9tIHRocmVhZGVkIHByb2dyYW0gKEJaIDIwMjY4 OSkuCiBQYXRjaDIzMTogZ2RiLTYuMy1iejIwMjY4OS1leGVjLWZyb20tcHRocmVhZC10ZXN0LnBh dGNoCiAKLSMgQmFja3BvcnRlZCBwb3N0IGdkYi02LjguNTAuMjAwOTA5MTAgc25hcHNob3QgZml4 dXBzLgotI1BhdGNoMjMyOiBnZGItNi44LjUwLjIwMDkwOTEwLXVwc3RyZWFtLnBhdGNoCisjIEJh Y2twb3J0ZWQgcG9zdCBnZGItNi44LjUwLjIwMDkwOTkxIHNuYXBzaG90IGZpeHVwcy4KK1BhdGNo MjMyOiBnZGItNi44LjUwLjIwMDkwOTIxLXVwc3RyZWFtLnBhdGNoCiAKICMgVGVzdGNhc2UgZm9y IFBQQyBQb3dlcjYvREZQIGluc3RydWN0aW9ucyBkaXNhc3NlbWJseSAoQlogMjMwMDAwKS4KIFBh dGNoMjM0OiBnZGItNi42LWJ6MjMwMDAwLXBvd2VyNi1kaXNhc3NlbWJseS10ZXN0LnBhdGNoCkBA IC00NTMsNyArNDUzLDcgQEAgcm0gLWYgZ2RiL2p2LWV4cC5jIGdkYi9tMi1leHAuYyBnZGIvb2Jq Yy1leHAuYyBnZGIvcC1leHAuYwogCiAlaWYgMCV7IT9fd2l0aF91cHN0cmVhbToxfQogCi0jcGF0 Y2gyMzIgLXAxCislcGF0Y2gyMzIgLXAxCiAlcGF0Y2gzNDkgLXAxCiAlcGF0Y2gxIC1wMQogJXBh dGNoMyAtcDEKQEAgLTg0Nyw2ICs4NDcsMTEgQEAgZmkKICVlbmRpZgogCiAlY2hhbmdlbG9nCisq IE1vbiBTZXAgMjEgMjAwOSBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4gLSA2LjguOTEuMjAwOTA5MjEtMQorLSBVcGdyYWRlIHRvIHRoZSBGU0YgR0RCIGdkYi03LjAg c25hcHNob3Q6IDYuOC45MS4yMDA5MDkyMQorLSBhcmNoZXItamFua3JhdG9jaHZpbC1mZWRvcmEx MiBjb21taXQ6IDBkNWMzOGRkODkwNTBjMGVlMWNmMDQ5NjU2ZjE3N2MxNzBkNjc1ZDQKKyAgLSBb ZXhwcl0gQ2hlY2sgaGFzX3N0YWNrX2ZyYW1lcyBiZWZvcmUgY2FsbGluZyBmaW5kX3BjX2xpbmUg KFNhbWkgV2FnaWFhbGxhKS4KKwogKiBUaHUgU2VwIDE3IDIwMDkgSmFuIEtyYXRvY2h2aWwgPGph bi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNi44LjkxLjIwMDkwOTE3LTIKIC0gSW5jbHVkZSBi dW5kbGVkIGxpYnN0ZGMrKyBweXRob247IGl0IHdpbGwgYmUgaW4gbGlic3RkYysrLWRldmVsIHNp bmNlIGdjYy00LjUuCiAKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCA2NDg5 Y2VjLi43ZDFmNGIzIDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEsMiAr MSwyIEBACi1lYWVkOTE1MGIyMTljOGVlNTZiYjY3NmUzMmE5ZDJhNSAgZ2RiLTYuOC45MS4yMDA5 MDkxNy50YXIuYnoyCiAxZTNhMjYwNDBkY2RkMzU3OWQ3NTk2NzA4NWViOTJiOSAgbGlic3RkYysr LXYzLXB5dGhvbi1yMTUxNzk4LnRhci54egorNjdiNTBhNzhkMDMyMDBjNjcxNGNhZmQ4NWI4MDQ0 ZTggIGdkYi02LjguOTEuMjAwOTA5MjEudGFyLmJ6Mgo=