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: Kevin Buettner To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Rebase to FSF GDB 10.1. Date: Thu, 23 Jul 2026 18:34:15 GMT Message-ID: <178483165585.1.9517816853592761361.rpms-gdb-ed8730b4d972@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: ed8730b4d9720b8c71cb7de29ce2165f730955cc ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGZpeC1kdXAtcGF0Y2gKICAgICAg ICAgICAgQ29tbWl0IDogZWQ4NzMwYjRkOTcyMGI4YzcxY2I3ZGUyOWNlMjE2NWY3MzA5NTVjYwog ICAgICAgICAgICBBdXRob3IgOiBLZXZpbiBCdWV0dG5lciA8a2V2aW5iQHJlZGhhdC5jb20+CiAg ICAgICAgICAgIERhdGUgICA6IDIwMjAtMTEtMDVUMTQ6MTc6MjQtMDc6MDAKICAgICAgICAgICAg U3RhdHMgIDogKzYwNS8tMjYyNSBpbiA0NSBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0 dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2RiL2MvZWQ4NzMwYjRkOTcyMGI4Yzcx Y2I3ZGUyOWNlMjE2NWY3MzA5NTVjYz9icmFuY2g9Zml4LWR1cC1wYXRjaAoKICAgICAgICAgICAg TG9nOgogICAgICAgICAgICBSZWJhc2UgdG8gRlNGIEdEQiAxMC4xLgpCdW1wICdzbmFwZ251bGli JyBkYXRlLgpEcm9wIGdkYi1yaGJ6MTgxODAxMS1iZmQtZ2NjMTAtZXJyb3IucGF0Y2guCkRyb3Ag Z2RiLXJoYnoxODIyNzE1LWZpeC1weXRob24tZGVwcmVjYXRpb24ucGF0Y2guCkRyb3AgZ2RiLXJo YnoxODI5NzAyLWZpeC1weXRob24zOS5wYXRjaC4KRHJvcCBnZGItcmhiejE4Mzg3NzctZGVidWdp bmZvZC5wYXRjaC4KRHJvcCBnZGItcmhiejE4NDQ0NTgtdXNlLWZwdXRYX3VuZmlsdGVyZWQucGF0 Y2guCkRyb3AgZ2RiLXJoYnoxODY5NDg0LWRlbGV0ZWQtd29ya2luZy1kaXJlY3RvcnkuCkFkanVz dCBidWlsZC1pZCByZWxhdGVkIHBhdGNoZXMuCkFqdXN0IFZMQSBwYXRjaGVzLgoKLS0tCmRpZmYg LS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCBiODNjZmRmLi5iZjlkMjRhIDEw MDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTEsNCArMSw0IEBACiAv YmludXRpbHMtZ2RiCiAvZ2RiLWxpYnN0ZGMrKy12My1weXRob24tOC4xLjEtMjAxODA2MjYudGFy Lnh6Ci0vZ2RiLTkuMi50YXIueHoKIC92Mi4wLjIudGFyLmd6CisvZ2RiLTEwLjEudGFyLnh6Cgpk aWZmIC0tZ2l0IGEvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUgYi9fZ2RiLnNwZWMuUGF0Y2guaW5j bHVkZQppbmRleCAyNDI4OWQzLi43MDYwYmNkIDEwMDY0NAotLS0gYS9fZ2RiLnNwZWMuUGF0Y2gu aW5jbHVkZQorKysgYi9fZ2RiLnNwZWMuUGF0Y2guaW5jbHVkZQpAQCAtMzcsMTAgKzM3LDYgQEAg UGF0Y2gwMDk6IGdkYi02LjMtdGVzdC1tb3ZlZGlyLTIwMDUwMTI1LnBhdGNoCiAjPWZlZG9yYXRl c3QKIFBhdGNoMDEwOiBnZGItNi4zLXRocmVhZGVkLXdhdGNocG9pbnRzMi0yMDA1MDIyNS5wYXRj aAogCi0jIE5vdGlmeSBvYnNlcnZlcnMgdGhhdCB0aGUgaW5mZXJpb3IgaGFzIGJlZW4gY3JlYXRl ZAotIz1mZWRvcmF0ZXN0Ci1QYXRjaDAxMTogZ2RiLTYuMy1pbmZlcmlvci1ub3RpZmljYXRpb24t MjAwNTA3MjEucGF0Y2gKLQogIyBWZXJpZnkgcHJpbnRpbmcgb2YgaW5oZXJpdGVkIG1lbWJlcnMg dGVzdAogIz1mZWRvcmF0ZXN0CiBQYXRjaDAxMjogZ2RiLTYuMy1pbmhlcml0YW5jZXRlc3QtMjAw NTA3MjYucGF0Y2gKQEAgLTEwMiwxMCArOTgsNiBAQCBQYXRjaDAyNTogZ2RiLTYuNi10ZXN0c3Vp dGUtdGltZW91dHMucGF0Y2gKICM9ZmVkb3JhdGVzdAogUGF0Y2gwMjY6IGdkYi02LjYtYnoyMzc1 NzItcHBjLWF0b21pYy1zZXF1ZW5jZS10ZXN0LnBhdGNoCiAKLSMgVGVzdCBrZXJuZWwgVkRTTyBk ZWNvZGluZyB3aGlsZSBhdHRhY2hpbmcgdG8gYW4gaTM4NiBwcm9jZXNzLgotIz1mZWRvcmF0ZXN0 Ci1QYXRjaDAyNzogZ2RiLTYuMy1hdHRhY2gtc2VlLXZkc28tdGVzdC5wYXRjaAotCiAjIFRlc3Qg bGVmdG92ZXIgem9tYmllIHByb2Nlc3MgKEJaIDI0Mzg0NSkuCiAjPWZlZG9yYXRlc3QKIFBhdGNo MDI4OiBnZGItNi41LWJ6MjQzODQ1LXN0YWxlLXRlc3Rpbmctem9tYmllLXRlc3QucGF0Y2gKQEAg LTE0MywxMCArMTM1LDYgQEAgUGF0Y2gwMzU6IGdkYi02LjUtaWE2NC1saWJ1bndpbmQtbGVhay10 ZXN0LnBhdGNoCiAjPWZlZG9yYXRlc3QKIFBhdGNoMDM2OiBnZGItNi41LW1pc3NlZC10cmFwLW9u LXN0ZXAtdGVzdC5wYXRjaAogCi0jIFRlc3QgZ2NvcmUgbWVtb3J5IGFuZCB0aW1lIHJlcXVpcmVt ZW50cyBmb3IgbGFyZ2UgaW5mZXJpb3JzLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDAzNzogZ2RiLTYu NS1nY29yZS1idWZmZXItbGltaXQtdGVzdC5wYXRjaAotCiAjIFRlc3QgR0NPUkUgZm9yIHNobWlk IDAgc2hhcmVkIG1lbW9yeSBtYXBwaW5ncy4KICM9ZmVkb3JhdGVzdDogQnV0IGl0IGlzIGJyb2tl biBhbnl3YXksIHNvbWV0aW1lcyB0aGUgY2FzZSBiZWluZyB0ZXN0ZWQgaXMgbm90IHJlcHJvZHVj aWJsZS4KIFBhdGNoMDM4OiBnZGItNi4zLW1hcHBpbmctemVyby1pbm9kZS10ZXN0LnBhdGNoCkBA IC0zOTQsMjQgKzM4MiwzIEBAIFBhdGNoMDk2OiBnZGItdmxhLWludGVsLWZpeC1wcmludC1jaGFy LWFycmF5LnBhdGNoCiAjID1mZWRvcmF0ZXN0CiBQYXRjaDA5NzogZ2RiLXJoYnoxNTUzMTA0LXMz OTB4LWFyY2gxMi10ZXN0LnBhdGNoCiAKLSMgRml4IGludCBjb252ZXJzaW9uIGVycm9yIGZyb20g YmZkL2VsZi5jIHdoZW4gY29tcGlsaW5nIHdpdGggZ2NjIDEwCi1QYXRjaDA5ODogZ2RiLXJoYnox ODE4MDExLWJmZC1nY2MxMC1lcnJvci5wYXRjaAotCi0jIEJhY2twb3J0IGZpeCBmb3IgZGVwcmVj YXRpb24gb2YgUHlFdmFsX0luaXRUaHJlYWRzIGluIFB5dGhvbiAzLjkuCi1QYXRjaDA5OTogZ2Ri LXJoYnoxODIyNzE1LWZpeC1weXRob24tZGVwcmVjYXRpb24ucGF0Y2gKLQotIyBCYWNrcG9ydCAi Rml4IFB5dGhvbiAzLjkgcmVsYXRlZCBydW50aW1lIHByb2JsZW1zIgotIyBLZXZpbiBCdWV0dG5l ciA8a2V2aW5iQHJlZGhhdC5jb20+IGFuZCBLZWl0aCBTZWl0eiA8a2VpdGhzQHJlZGhhdC5jb20+ Ci1QYXRjaDEwMDogZ2RiLXJoYnoxODI5NzAyLWZpeC1weXRob24zOS5wYXRjaAotCi0jIEZpeCBm cHV0P191bmZpbHRlcmVkIGZ1bmN0aW9ucwotIyBSSCBCWiAxODQ0NDU4IChTZXJnaW8gRHVyaWdh biBKdW5pb3IgYW5kIFRvbSBUcm9tZXkpCi1QYXRjaDEwMTogZ2RiLXJoYnoxODQ0NDU4LXVzZS1m cHV0WF91bmZpbHRlcmVkLnBhdGNoCi0KLSMgQmFja3BvcnQgZGVidWdpbm9mZCBzdXBwb3J0Lgot IyAoQWFyb24gTWVyZXksIFJIIEJaIDE4Mzg3NykKLVBhdGNoMTAyOiBnZGItcmhiejE4Mzg3Nzct ZGVidWdpbmZvZC5wYXRjaAotCi0jIEJhY2twb3J0IHBhdGNoZXMgZml4aW5nIGFib3J0IHdoZW4g d29ya2luZyBkaXJlY3RvcnkgaXMgZGVsZXRlZC4KLVBhdGNoMTAzOiBnZGItcmhiejE4Njk0ODQt ZGVsZXRlZC13b3JraW5nLWRpcmVjdG9yeQotCgpkaWZmIC0tZ2l0IGEvX2dkYi5zcGVjLnBhdGNo LmluY2x1ZGUgYi9fZ2RiLnNwZWMucGF0Y2guaW5jbHVkZQppbmRleCAwNTU3ZGE2Li43ODgwZTE5 IDEwMDY0NAotLS0gYS9fZ2RiLnNwZWMucGF0Y2guaW5jbHVkZQorKysgYi9fZ2RiLnNwZWMucGF0 Y2guaW5jbHVkZQpAQCAtOCw3ICs4LDYgQEAKICVwYXRjaDAwOCAtcDEKICVwYXRjaDAwOSAtcDEK ICVwYXRjaDAxMCAtcDEKLSVwYXRjaDAxMSAtcDEKICVwYXRjaDAxMiAtcDEKICVwYXRjaDAxMyAt cDEKICVwYXRjaDAxNCAtcDEKQEAgLTI0LDcgKzIzLDYgQEAKICVwYXRjaDAyNCAtcDEKICVwYXRj aDAyNSAtcDEKICVwYXRjaDAyNiAtcDEKLSVwYXRjaDAyNyAtcDEKICVwYXRjaDAyOCAtcDEKICVw YXRjaDAyOSAtcDEKICVwYXRjaDAzMCAtcDEKQEAgLTM0LDcgKzMyLDYgQEAKICVwYXRjaDAzNCAt cDEKICVwYXRjaDAzNSAtcDEKICVwYXRjaDAzNiAtcDEKLSVwYXRjaDAzNyAtcDEKICVwYXRjaDAz OCAtcDEKICVwYXRjaDAzOSAtcDEKICVwYXRjaDA0MCAtcDEKQEAgLTk1LDkgKzkyLDMgQEAKICVw YXRjaDA5NSAtcDEKICVwYXRjaDA5NiAtcDEKICVwYXRjaDA5NyAtcDEKLSVwYXRjaDA5OCAtcDEK LSVwYXRjaDA5OSAtcDEKLSVwYXRjaDEwMCAtcDEKLSVwYXRjaDEwMSAtcDEKLSVwYXRjaDEwMiAt cDEKLSVwYXRjaDEwMyAtcDEKCmRpZmYgLS1naXQgYS9fZ2l0X3Vwc3RyZWFtX2NvbW1pdCBiL19n aXRfdXBzdHJlYW1fY29tbWl0CmluZGV4IDc1MWIyNDEuLjhmMmI3OTcgMTAwNjQ0Ci0tLSBhL19n aXRfdXBzdHJlYW1fY29tbWl0CisrKyBiL19naXRfdXBzdHJlYW1fY29tbWl0CkBAIC0xICsxIEBA Ci1lN2ZlMDgwM2I2NDI3ZDM5MDZlOTkxYmJiM2I3ZmQyZjBmZDA1ZTAwCis2MDZlM2ZkMTQ3ZWQ5 YTAwZGYxNjVlNDZmMzBmZTVjNDZkY2RhMzQ1CgpkaWZmIC0tZ2l0IGEvX3BhdGNoX29yZGVyIGIv X3BhdGNoX29yZGVyCmluZGV4IDVlYTk1MjcuLmE0NTU2NmUgMTAwNjQ0Ci0tLSBhL19wYXRjaF9v cmRlcgorKysgYi9fcGF0Y2hfb3JkZXIKQEAgLTk1LDkgKzk1LDMgQEAgZ2RiLXJoYnoxMzk4Mzg3 LXRhYi1jcmFzaC10ZXN0LnBhdGNoCiBnZGItYXJjaGVyLnBhdGNoCiBnZGItdmxhLWludGVsLWZp eC1wcmludC1jaGFyLWFycmF5LnBhdGNoCiBnZGItcmhiejE1NTMxMDQtczM5MHgtYXJjaDEyLXRl c3QucGF0Y2gKLWdkYi1yaGJ6MTgxODAxMS1iZmQtZ2NjMTAtZXJyb3IucGF0Y2gKLWdkYi1yaGJ6 MTgyMjcxNS1maXgtcHl0aG9uLWRlcHJlY2F0aW9uLnBhdGNoCi1nZGItcmhiejE4Mjk3MDItZml4 LXB5dGhvbjM5LnBhdGNoCi1nZGItcmhiejE4NDQ0NTgtdXNlLWZwdXRYX3VuZmlsdGVyZWQucGF0 Y2gKLWdkYi1yaGJ6MTgzODc3Ny1kZWJ1Z2luZm9kLnBhdGNoCi1nZGItcmhiejE4Njk0ODQtZGVs ZXRlZC13b3JraW5nLWRpcmVjdG9yeQoKZGlmZiAtLWdpdCBhL2dkYi02LjMtZ3N0YWNrLTIwMDUw NDExLnBhdGNoIGIvZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gKaW5kZXggOTgyODYzYS4u NDQxMzYxMSAxMDA2NDQKLS0tIGEvZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gKKysrIGIv Z2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gKQEAgLTE2LDcgKzE2LDcgQEAgU3ViamVjdDog Z2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gKIGRpZmYgLS1naXQgYS9nZGIvTWFrZWZpbGUu aW4gYi9nZGIvTWFrZWZpbGUuaW4KIC0tLSBhL2dkYi9NYWtlZmlsZS5pbgogKysrIGIvZ2RiL01h a2VmaWxlLmluCi1AQCAtMTc2OCw3ICsxNzY4LDcgQEAgaW5mbyBpbnN0YWxsLWluZm8gY2xlYW4t aW5mbyBkdmkgcGRmIGluc3RhbGwtcGRmIGh0bWwgaW5zdGFsbC1odG1sOiBmb3JjZQorQEAgLTE3 MjYsNyArMTcyNiw3IEBAIGluZm8gaW5zdGFsbC1pbmZvIGNsZWFuLWluZm8gZHZpIHBkZiBpbnN0 YWxsLXBkZiBodG1sIGluc3RhbGwtaHRtbDogZm9yY2UKICBpbnN0YWxsOiBhbGwKICAJQCQoTUFL RSkgJChGTEFHU19UT19QQVNTKSBpbnN0YWxsLW9ubHkKICAKQEAgLTI1LDcgKzI1LDcgQEAgZGlm ZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtlZmlsZS5pbgogIAl0cmFuc2Zvcm1l ZF9uYW1lPWB0PSckKHByb2dyYW1fdHJhbnNmb3JtX25hbWUpJzsgXAogIAkJCSAgZWNobyBnZGIg fCBzZWQgLWUgIiQkdCJgIDsgXAogIAkJaWYgdGVzdCAieCQkdHJhbnNmb3JtZWRfbmFtZSIgPSB4 OyB0aGVuIFwKLUBAIC0xODE3LDcgKzE4MTcsMjUgQEAgaW5zdGFsbC1ndWlsZToKK0BAIC0xNzc1 LDcgKzE3NzUsMjUgQEAgaW5zdGFsbC1ndWlsZToKICBpbnN0YWxsLXB5dGhvbjoKICAJJChTSEVM TCkgJChzcmNkaXIpLy4uL21raW5zdGFsbGRpcnMgJChERVNURElSKSQoR0RCX0RBVEFESVIpL3B5 dGhvbi9nZGIKICAKQEAgLTUyLDcgKzUyLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5p biBiL2dkYi9NYWtlZmlsZS5pbgogIAl0cmFuc2Zvcm1lZF9uYW1lPWB0PSckKHByb2dyYW1fdHJh bnNmb3JtX25hbWUpJzsgXAogIAkJCSAgZWNobyBnZGIgfCBzZWQgLWUgJCR0YCA7IFwKICAJCWlm IHRlc3QgIngkJHRyYW5zZm9ybWVkX25hbWUiID0geDsgdGhlbiBcCi1AQCAtMTg0MCw2ICsxODU4 LDE4IEBAIHVuaW5zdGFsbDogZm9yY2UgJChDT05GSUdfVU5JTlNUQUxMKQorQEAgLTE3OTgsNiAr MTgxNiwxOCBAQCB1bmluc3RhbGw6IGZvcmNlICQoQ09ORklHX1VOSU5TVEFMTCkKICAJZmkKICAJ QCQoTUFLRSkgRE89dW5pbnN0YWxsICJET0RJUlM9JChTVUJESVJTKSIgJChGTEFHU19UT19QQVNT KSBzdWJkaXJfZG8KICAKCmRpZmYgLS1naXQgYS9nZGItNi4zLXJoLXRlc3R2ZXJzaW9uLTIwMDQx MjAyLnBhdGNoIGIvZ2RiLTYuMy1yaC10ZXN0dmVyc2lvbi0yMDA0MTIwMi5wYXRjaAppbmRleCA0 OGNhNGI1Li5jMWU3Mzk1IDEwMDY0NAotLS0gYS9nZGItNi4zLXJoLXRlc3R2ZXJzaW9uLTIwMDQx MjAyLnBhdGNoCisrKyBiL2dkYi02LjMtcmgtdGVzdHZlcnNpb24tMjAwNDEyMDIucGF0Y2gKQEAg LTI3LDcgKzI3LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVz dC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QKIGRpZmYgLS1naXQgYS9nZGIv dG9wLmMgYi9nZGIvdG9wLmMKIC0tLSBhL2dkYi90b3AuYwogKysrIGIvZ2RiL3RvcC5jCi1AQCAt MjA5Niw3ICsyMDk2LDcgQEAgaW5pdF9nZGJfdmVyc2lvbl92YXJzICh2b2lkKQorQEAgLTIxNjMs NyArMjE2Myw3IEBAIGluaXRfZ2RiX3ZlcnNpb25fdmFycyAodm9pZCkKICAgIHN0cnVjdCBpbnRl cm5hbHZhciAqbWFqb3JfdmVyc2lvbl92YXIgPSBjcmVhdGVfaW50ZXJuYWx2YXIgKCJfZ2RiX21h am9yIik7CiAgICBzdHJ1Y3QgaW50ZXJuYWx2YXIgKm1pbm9yX3ZlcnNpb25fdmFyID0gY3JlYXRl X2ludGVybmFsdmFyICgiX2dkYl9taW5vciIpOwogICAgaW50IHZtYWpvciA9IDAsIHZtaW5vciA9 IDAsIHZyZXZpc2lvbiA9IDA7CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy10ZXN0LXNlbGYtMjAwNTAx MTAucGF0Y2ggYi9nZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaAppbmRleCA1NjYyYTBl Li4yNzA5MDkzIDEwMDY0NAotLS0gYS9nZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaAor KysgYi9nZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaApAQCAtMTcsNyArMTcsNyBAQCBT dWJqZWN0OiBnZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaAogZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvbGliL3NlbGZ0ZXN0LXN1cHBvcnQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIv c2VsZnRlc3Qtc3VwcG9ydC5leHAKIC0tLSBhL2dkYi90ZXN0c3VpdGUvbGliL3NlbGZ0ZXN0LXN1 cHBvcnQuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2xpYi9zZWxmdGVzdC1zdXBwb3J0LmV4cAot QEAgLTE1MSwxOCArMTUxLDE4IEBAIHByb2MgZG9fc2VsZl90ZXN0cyB7ZnVuY3Rpb24gYm9keX0g eworQEAgLTE1MiwxOCArMTUyLDE4IEBAIHByb2MgZG9fc2VsZl90ZXN0cyB7ZnVuY3Rpb24gYm9k eX0gewogICAgICB9CiAgCiAgICAgICMgUmVtb3ZlIGFueSBvbGQgY29weSBseWluZyBhcm91bmQu CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNS1iejE4NTMzNy1yZXNvbHZlLXRscy13aXRob3V0LWRlYnVn aW5mby12Mi5wYXRjaCBiL2dkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0aG91dC1kZWJ1 Z2luZm8tdjIucGF0Y2gKaW5kZXggYTg5ZGUwYS4uNWNkZjY1ZiAxMDA2NDQKLS0tIGEvZ2RiLTYu NS1iejE4NTMzNy1yZXNvbHZlLXRscy13aXRob3V0LWRlYnVnaW5mby12Mi5wYXRjaAorKysgYi9n ZGItNi41LWJ6MTg1MzM3LXJlc29sdmUtdGxzLXdpdGhvdXQtZGVidWdpbmZvLXYyLnBhdGNoCkBA IC00NCw3ICs0NCw3IEBAIGdsaWJjLWRlYnVnaW5mby0yLjctMi54ODZfNjQ6IC91c3IvbGliL2Rl YnVnL2xpYjY0L2xpYmMuc28uNi5kZWJ1ZzoKIGRpZmYgLS1naXQgYS9nZGIvcHJpbnRjbWQuYyBi L2dkYi9wcmludGNtZC5jCiAtLS0gYS9nZGIvcHJpbnRjbWQuYwogKysrIGIvZ2RiL3ByaW50Y21k LmMKLUBAIC0xMjE0LDYgKzEyMTQsMTAgQEAgcHJpbnRfY29tbWFuZF8xIChjb25zdCBjaGFyICph cmdzLCBpbnQgdm9pZHByaW50KQorQEAgLTEyMTAsNiArMTIxMCwxMCBAQCBwcmludF9jb21tYW5k XzEgKGNvbnN0IGNoYXIgKmFyZ3MsIGludCB2b2lkcHJpbnQpCiAgCiAgICBpZiAoZXhwICE9IG51 bGxwdHIgJiYgKmV4cCkKICAgICAgewoKZGlmZiAtLWdpdCBhL2dkYi02LjUtYnoyMTgzNzktc29s aWItdHJhbXBvbGluZS1sb29rdXAtbG9jay1maXgucGF0Y2ggYi9nZGItNi41LWJ6MjE4Mzc5LXNv bGliLXRyYW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBhdGNoCmluZGV4IDBhNjZiM2QuLjU0YzFh MWUgMTAwNjQ0Ci0tLSBhL2dkYi02LjUtYnoyMTgzNzktc29saWItdHJhbXBvbGluZS1sb29rdXAt bG9jay1maXgucGF0Y2gKKysrIGIvZ2RiLTYuNS1iejIxODM3OS1zb2xpYi10cmFtcG9saW5lLWxv b2t1cC1sb2NrLWZpeC5wYXRjaApAQCAtMTEsNyArMTEsNyBAQCBodHRwczovL2J1Z3ppbGxhLnJl ZGhhdC5jb20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTIxODM3OQogZGlmZiAtLWdpdCBhL2dk Yi9zeW10YWIuYyBiL2dkYi9zeW10YWIuYwogLS0tIGEvZ2RiL3N5bXRhYi5jCiArKysgYi9nZGIv c3ltdGFiLmMKLUBAIC0zMTY2LDYgKzMxNjYsMTMgQEAgZmluZF9wY19zZWN0X2xpbmUgKENPUkVf QUREUiBwYywgc3RydWN0IG9ial9zZWN0aW9uICpzZWN0aW9uLCBpbnQgbm90Y3VycmVudCkKK0BA IC0zMTY5LDYgKzMxNjksMTMgQEAgZmluZF9wY19zZWN0X2xpbmUgKENPUkVfQUREUiBwYywgc3Ry dWN0IG9ial9zZWN0aW9uICpzZWN0aW9uLCBpbnQgbm90Y3VycmVudCkKICAJICAgICBtc3ltYm9s LT5saW5rYWdlX25hbWUgKCkpOyAqLwogIAkgIDsKICAJLyogZmFsbCB0aHJvdWdoICovCkBAIC0y Myw1ICsyMyw1IEBAIGRpZmYgLS1naXQgYS9nZGIvc3ltdGFiLmMgYi9nZGIvc3ltdGFiLmMKICsJ ICB3YXJuaW5nICgiSW4gc3R1YiBmb3IgJXMgKDB4JXMpOyBpbnRlcmxvY2tlZCwgcGxlYXNlIHN1 Ym1pdCB0aGUgYmluYXJ5IHRvIGh0dHA6Ly9idWd6aWxsYS5yZWRoYXQuY29tIiwgbXN5bWJvbC5t aW5zeW0tPmxpbmthZ2VfbmFtZSAoKSwgcGFkZHJlc3MgKHRhcmdldF9nZGJhcmNoICgpLCBwYykp OwogKwkvKiBmYWxsIHRocm91Z2ggKi8KICAJZWxzZQotIAkgIHJldHVybiBmaW5kX3BjX2xpbmUg KEJNU1lNQk9MX1ZBTFVFX0FERFJFU1MgKG1mdW5zeW0pLCAwKTsKLSAgICAgICB9CisgCSAgewor IAkgICAgLyogRGV0ZWN0IGFuIG9idmlvdXMgY2FzZSBvZiBpbmZpbml0ZSByZWN1cnNpb24uICBJ ZiB0aGlzCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1jb3JlLWFzLWFyZy5w YXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2gKaW5kZXggZDE4 MmFlMS4uNDViOTE1ZCAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1jb3JlLWFz LWFyZy5wYXRjaAorKysgYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJnLnBhdGNo CkBAIC03Myw3ICs3Myw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZXhlYy5jIGIvZ2RiL2V4ZWMuYwog ICNpbmNsdWRlICJmcmFtZS5oIgogICNpbmNsdWRlICJpbmZlcmlvci5oIgogICNpbmNsdWRlICJ0 YXJnZXQuaCIKLUBAIC0zNDUsMTIgKzM0NywyNyBAQCBleGVjX2ZpbGVfYXR0YWNoIChjb25zdCBj aGFyICpmaWxlbmFtZSwgaW50IGZyb21fdHR5KQorQEAgLTQ5NSwxMiArNDk3LDI3IEBAIGV4ZWNf ZmlsZV9hdHRhY2ggKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgZnJvbV90dHkpCiAgCiAgICAg ICAgaWYgKCFiZmRfY2hlY2tfZm9ybWF0X21hdGNoZXMgKGV4ZWNfYmZkLCBiZmRfb2JqZWN0LCAm bWF0Y2hpbmcpKQogIAl7CkBAIC04OCw4ICs4OCw4IEBAIGRpZmYgLS1naXQgYS9nZGIvZXhlYy5j IGIvZ2RiL2V4ZWMuYwogIAkgIC8qIE1ha2Ugc3VyZSB0byBjbG9zZSBleGVjX2JmZCwgb3IgZWxz ZSAicnVuIiBtaWdodCB0cnkgdG8gdXNlCiAgCSAgICAgaXQuICAqLwogIAkgIGV4ZWNfY2xvc2Ug KCk7Ci0tCSAgZXJyb3IgKF8oIlwiJXNcIjogbm90IGluIGV4ZWN1dGFibGUgZm9ybWF0OiAlcyIp LAotLQkJIHNjcmF0Y2hfcGF0aG5hbWUsCistCSAgZXJyb3IgKF8oIlwiJXBzXCI6IG5vdCBpbiBl eGVjdXRhYmxlIGZvcm1hdDogJXMiKSwKKy0JCSBzdHlsZWRfc3RyaW5nIChmaWxlX25hbWVfc3R5 bGUuc3R5bGUgKCksIHNjcmF0Y2hfcGF0aG5hbWUpLAogLQkJIGdkYl9iZmRfZXJybXNnIChiZmRf Z2V0X2Vycm9yICgpLCBtYXRjaGluZykuY19zdHIgKCkpOwogKwogKwkgIGlmIChpc19jb3JlICE9 IDApCkBAIC05OCwyOSArOTgsMTYgQEAgZGlmZiAtLWdpdCBhL2dkYi9leGVjLmMgYi9nZGIvZXhl Yy5jCiArCQkJICAgIlBsZWFzZSBzcGVjaWZ5IGFuIGV4ZWN1dGFibGUgdG8gZGVidWcuIiksCiAr CQkJIHNjcmF0Y2hfcGF0aG5hbWUpOwogKwkgIGVsc2UKLSsJICAgIGVycm9yIChfKCJcIiVzc1wi OiBub3QgaW4gZXhlY3V0YWJsZSBmb3JtYXQ6ICVzIiksCi0rCQkgICBzY3JhdGNoX3BhdGhuYW1l LAorKwkgICAgZXJyb3IgKF8oIlwiJXBzXCI6IG5vdCBpbiBleGVjdXRhYmxlIGZvcm1hdDogJXMi KSwKKysJCSAgIHN0eWxlZF9zdHJpbmcgKGZpbGVfbmFtZV9zdHlsZS5zdHlsZSAoKSwgc2NyYXRj aF9wYXRobmFtZSksCiArCQkgICBnZGJfYmZkX2Vycm1zZyAoYmZkX2dldF9lcnJvciAoKSwgbWF0 Y2hpbmcpLmNfc3RyICgpKTsKICAJfQogIAogICAgICAgIGlmIChidWlsZF9zZWN0aW9uX3RhYmxl IChleGVjX2JmZCwgJnNlY3Rpb25zLCAmc2VjdGlvbnNfZW5kKSkKLWRpZmYgLS1naXQgYS9nZGIv Z2Ric3VwcG9ydC9jb21tb24tZXhjZXB0aW9ucy5oIGIvZ2RiL2dkYnN1cHBvcnQvY29tbW9uLWV4 Y2VwdGlvbnMuaAotLS0tIGEvZ2RiL2dkYnN1cHBvcnQvY29tbW9uLWV4Y2VwdGlvbnMuaAotKysr IGIvZ2RiL2dkYnN1cHBvcnQvY29tbW9uLWV4Y2VwdGlvbnMuaAotQEAgLTEwNiw2ICsxMDYsOSBA QCBlbnVtIGVycm9ycyB7Ci0gICAgICAiX0VSUk9SIiBpcyBhcHBlbmRlZCB0byB0aGUgbmFtZS4g ICovCi0gICBNQVhfQ09NUExFVElPTlNfUkVBQ0hFRF9FUlJPUiwKLSAKLSsgIC8qIEF0dGVtcHQg dG8gbG9hZCBhIGNvcmUgZmlsZSBhcyBleGVjdXRhYmxlLiAgKi8KLSsgIElTX0NPUkVfRVJST1Is Ci0rCi0gICAvKiBBZGQgbW9yZSBlcnJvcnMgaGVyZS4gICovCi0gICBOUl9FUlJPUlMKLSB9Owog ZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5jCiAtLS0gYS9nZGIvbWFpbi5jCiAr KysgYi9nZGIvbWFpbi5jCi1AQCAtNDY3LDYgKzQ2NywzNCBAQCBzdHJ1Y3QgY21kYXJnCitAQCAt NTI0LDYgKzUyNCwzNCBAQCBzdHJ1Y3QgY21kYXJnCiAgICBjaGFyICpzdHJpbmc7CiAgfTsKICAK QEAgLTE1NSw3ICsxNDIsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL21haW4uYyBiL2dkYi9tYWluLmMK ICBzdGF0aWMgdm9pZAogIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJn cyAqY29udGV4dCkKICB7Ci1AQCAtOTA3LDYgKzkzNSw4IEBAIGNhcHR1cmVkX21haW5fMSAoc3Ry dWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKK0BAIC05NTksNiArOTg3LDggQEAgY2Fw dHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQogIAl7CiAg CSAgc3ltYXJnID0gYXJndltvcHRpbmRdOwogIAkgIGV4ZWNhcmcgPSBhcmd2W29wdGluZF07CkBA IC0xNjQsNyArMTUxLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5jCiAg CSAgb3B0aW5kKys7CiAgCX0KICAKLUBAIC0xMDYzLDEyICsxMDkzLDI1IEBAIGNhcHR1cmVkX21h aW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKK0BAIC0xMTE0LDEyICsx MTQ0LDI1IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29u dGV4dCkKICAgICAgICAmJiBzeW1hcmcgIT0gTlVMTAogICAgICAgICYmIHN0cmNtcCAoZXhlY2Fy Zywgc3ltYXJnKSA9PSAwKQogICAgICB7CkBAIC0xOTQsMyArMTgxLDE2IEBAIGRpZmYgLS1naXQg YS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwogIAlyZXQgPSBjYXRjaF9jb21tYW5kX2Vycm9ycyAo c3ltYm9sX2ZpbGVfYWRkX21haW5fYWRhcHRlciwKICAJCQkJICAgIHN5bWFyZywgIWJhdGNoX2Zs YWcpOwogICAgICB9CitkaWZmIC0tZ2l0IGEvZ2Ric3VwcG9ydC9jb21tb24tZXhjZXB0aW9ucy5o IGIvZ2Ric3VwcG9ydC9jb21tb24tZXhjZXB0aW9ucy5oCistLS0gYS9nZGJzdXBwb3J0L2NvbW1v bi1leGNlcHRpb25zLmgKKysrKyBiL2dkYnN1cHBvcnQvY29tbW9uLWV4Y2VwdGlvbnMuaAorQEAg LTEwNiw2ICsxMDYsOSBAQCBlbnVtIGVycm9ycyB7CisgICAgICAiX0VSUk9SIiBpcyBhcHBlbmRl ZCB0byB0aGUgbmFtZS4gICovCisgICBNQVhfQ09NUExFVElPTlNfUkVBQ0hFRF9FUlJPUiwKKyAK KysgIC8qIEF0dGVtcHQgdG8gbG9hZCBhIGNvcmUgZmlsZSBhcyBleGVjdXRhYmxlLiAgKi8KKysg IElTX0NPUkVfRVJST1IsCisrCisgICAvKiBBZGQgbW9yZSBlcnJvcnMgaGVyZS4gICovCisgICBO Ul9FUlJPUlMKKyB9OwoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLWxp YnJwbS13b3JrYXJvdW5kLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBt LXdvcmthcm91bmQucGF0Y2gKaW5kZXggYWJlYTZlNi4uYzg2ZWM2YiAxMDA2NDQKLS0tIGEvZ2Ri LTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKKysrIGIvZ2Ri LTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKQEAgLTksNyAr OSw3IEBAIFN1YmplY3Q6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLWxpYnJwbS13b3JrYXJv dW5kLnBhdGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwog LS0tIGEvZ2RiL2J1aWxkLWlkLmMKICsrKyBiL2dkYi9idWlsZC1pZC5jCi1AQCAtNzA5LDYgKzcw OSwxOSBAQCBidWlsZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAq YnVpbGRfaWQsIGNoYXIgKipsaW5rX3JldHVybikKK0BAIC03MDgsNiArNzA4LDE5IEBAIGJ1aWxk X2lkX3RvX2ZpbGVuYW1lIChjb25zdCBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCwgY2hh ciAqKmxpbmtfcmV0dXJuKQogICNpbmNsdWRlIDxkbGZjbi5oPgogICNlbmRpZgogIAoKZGlmZiAt LWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLXNjbC5wYXRjaCBiL2dkYi02LjYtYnVp bGRpZC1sb2NhdGUtcnBtLXNjbC5wYXRjaAppbmRleCBjYTY4M2VkLi4wOWY5MzBmIDEwMDY0NAot LS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKKysrIGIvZ2RiLTYuNi1i dWlsZGlkLWxvY2F0ZS1ycG0tc2NsLnBhdGNoCkBAIC0xMiw3ICsxMiw3IEBAIGh0dHBzOi8vYnVn emlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9OTUzNTg1CiBkaWZmIC0tZ2l0IGEvZ2Ri L2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogLS0tIGEvZ2RiL2J1aWxkLWlkLmMKICsrKyBi L2dkYi9idWlsZC1pZC5jCi1AQCAtNzQzLDcgKzc0MywxMSBAQCBzdGF0aWMgaW50IG1pc3Npbmdf cnBtX2xpc3RfZW50cmllczsKK0BAIC03NDIsNyArNzQyLDExIEBAIHN0YXRpYyBpbnQgbWlzc2lu Z19ycG1fbGlzdF9lbnRyaWVzOwogIC8qIFJldHVybnMgdGhlIGNvdW50IG9mIG5ld2x5IGFkZGVk IHJwbXMuICAqLwogIAogIHN0YXRpYyBpbnQKQEAgLTI0LDcgKzI0LDcgQEAgZGlmZiAtLWdpdCBh L2dkYi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKICB7CiAgICBzdGF0aWMgaW50IHJwbV9p bml0X2RvbmUgPSAwOwogICAgcnBtdHMgdHM7Ci1AQCAtODUwLDcgKzg1NCwxMSBAQCBtaXNzaW5n X3JwbV9lbmxpc3QgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQorQEAgLTg0OSw3ICs4NTMsMTEgQEAg bWlzc2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpmaWxlbmFtZSkKICAgIG1pID0gcnBtdHNJ bml0SXRlcmF0b3JfcCAodHMsIFJQTVRBR19CQVNFTkFNRVMsIGZpbGVuYW1lLCAwKTsKICAgIGlm IChtaSAhPSBOVUxMKQogICAgICB7CkBAIC0zNiw3ICszNiw3IEBAIGRpZmYgLS1naXQgYS9nZGIv YnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAgCXsKICAJICBIZWFkZXIgaDsKICAJICBjaGFy ICpkZWJ1Z2luZm8sICoqc2xvdCwgKnMsICpzMjsKLUBAIC05NjgsNiArOTc2LDM3IEBAIG1pc3Np bmdfcnBtX2VubGlzdCAoY29uc3QgY2hhciAqZmlsZW5hbWUpCitAQCAtOTY3LDYgKzk3NSwzNyBA QCBtaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQogIAkgICAgeGZyZWUg KGRlYnVnaW5mbyk7CiAgCSAgY291bnQrKzsKICAJfQpAQCAtNzQsNyArNzQsNyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogIAogICAgICAgIHJwbWRiRnJl ZUl0ZXJhdG9yX3AgKG1pKTsKICAgICAgfQotQEAgLTk3Nyw2ICsxMDE2LDIwIEBAIG1pc3Npbmdf cnBtX2VubGlzdCAoY29uc3QgY2hhciAqZmlsZW5hbWUpCitAQCAtOTc2LDYgKzEwMTUsMjAgQEAg bWlzc2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpmaWxlbmFtZSkKICAgIHJldHVybiBjb3Vu dDsKICB9CiAgCkBAIC05NSwxMCArOTUsMTAgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5j IGIvZ2RiL2J1aWxkLWlkLmMKICBzdGF0aWMgYm9vbAogIG1pc3NpbmdfcnBtX2xpc3RfY29tcGFy IChjb25zdCBjaGFyICphcCwgY29uc3QgY2hhciAqYnApCiAgewotZGlmZiAtLWdpdCBhL2dkYi9k d2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi0tLS0gYS9nZGIvZHdhcmYycmVhZC5jCi0r KysgYi9nZGIvZHdhcmYycmVhZC5jCi1AQCAtMzQ5Nyw2ICszNDk3LDE2IEBAIHJlYWRfZ2RiX2lu ZGV4X2Zyb21fYnVmZmVyIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK2RpZmYgLS1naXQgYS9n ZGIvZHdhcmYyL3JlYWQuYyBiL2dkYi9kd2FyZjIvcmVhZC5jCistLS0gYS9nZGIvZHdhcmYyL3Jl YWQuYworKysrIGIvZ2RiL2R3YXJmMi9yZWFkLmMKK0BAIC0zMDI1LDYgKzMwMjUsMTYgQEAgcmVh ZF9nZGJfaW5kZXhfZnJvbV9idWZmZXIgKGNvbnN0IGNoYXIgKmZpbGVuYW1lLAogICAgICAgInNl dCB1c2UtZGVwcmVjYXRlZC1pbmRleC1zZWN0aW9ucyBvbiIuICAqLwogICAgaWYgKHZlcnNpb24g PCA2ICYmICFkZXByZWNhdGVkX29rKQogICAgICB7CkBAIC0xMTUsNyArMTE1LDcgQEAgZGlmZiAt LWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCiAgICAgICAgc3RhdGlj IGludCB3YXJuaW5nX3ByaW50ZWQgPSAwOwogICAgICAgIGlmICghd2FybmluZ19wcmludGVkKQog IAl7Ci1AQCAtMzUwOCw2ICszNTE4LDEwIEBAIHRvIHVzZSB0aGUgc2VjdGlvbiBhbnl3YXkuIiks CitAQCAtMzAzNiw2ICszMDQ2LDEwIEBAIHRvIHVzZSB0aGUgc2VjdGlvbiBhbnl3YXkuIiksCiAg CSAgd2FybmluZ19wcmludGVkID0gMTsKICAJfQogICAgICAgIHJldHVybiAwOwoKZGlmZiAtLWdp dCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxv Y2F0ZS1ycG0ucGF0Y2gKaW5kZXggNmUxY2VmOC4uODNiODNiMCAxMDA2NDQKLS0tIGEvZ2RiLTYu Ni1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1y cG0ucGF0Y2gKQEAgLTI0MCwxMCArMjQwLDEwIEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQu YyBiL2dkYi9idWlsZC1pZC5jCiAgI2luY2x1ZGUgImdkYmNtZC5oIgogICNpbmNsdWRlICJnZGJj b3JlLmgiCiArI2luY2x1ZGUgImluZmVyaW9yLmgiCi0gI2luY2x1ZGUgImxpYmJmZC5oIgogICNp bmNsdWRlICJvYmpmaWxlcy5oIgogICNpbmNsdWRlICJvYnNlcnZhYmxlLmgiCi1AQCAtNjk4LDgg KzY5OSwzNzQgQEAgYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGNvbnN0IHN0cnVjdCBiZmRfYnVpbGRf aWQgKmJ1aWxkX2lkLCBjaGFyICoqbGlua19yZXR1cm4pCisgI2luY2x1ZGUgInN5bWZpbGUuaCIK K0BAIC02OTcsOCArNjk4LDM3NCBAQCBidWlsZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0 IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQsIGNoYXIgKipsaW5rX3JldHVybikKICAgIHJldHVybiBy ZXN1bHQ7CiAgfQogIApAQCAtNjE5LDcgKzYxOSw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQt aWQuYyBiL2dkYi9idWlsZC1pZC5jCiAgICAgYXZvaWRhbmNlLiAgKi8KICAKICBzdHJ1Y3QgbWlz c2luZ19maWxlcGFpcgotQEAgLTc1MywxMSArMTEyMCwxNyBAQCBtaXNzaW5nX2ZpbGVwYWlyX2No YW5nZSAodm9pZCkKK0BAIC03NTIsMTEgKzExMTksMTcgQEAgbWlzc2luZ19maWxlcGFpcl9jaGFu Z2UgKHZvaWQpCiAgICAgICAgLyogQWxsIHRoZWlyIG1lbW9yeSBjYW1lIGp1c3QgZnJvbSBtaXNz aW5nX2ZpbGVwYWlyX09CU1RBQ0suICAqLwogICAgICAgIG1pc3NpbmdfZmlsZXBhaXJfaGFzaCA9 IE5VTEw7CiAgICAgIH0KQEAgLTYzNyw3ICs2MzcsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxk LWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogICAgbWlzc2luZ19maWxlcGFpcl9jaGFuZ2UgKCk7CiAg fQogIAotQEAgLTgyNCwxNCArMTE5NywzOCBAQCBkZWJ1Z19wcmludF9taXNzaW5nIChjb25zdCBj aGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKQorQEAgLTgyMywxNCArMTE5NiwzOCBAQCBk ZWJ1Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVn KQogIAogICAgKnNsb3QgPSBtaXNzaW5nX2ZpbGVwYWlyOwogIApAQCAtNjg2LDkgKzY4Niw5IEBA IGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiBkaWZmIC0tZ2l0 IGEvZ2RiL2NvbmZpZy5pbiBiL2dkYi9jb25maWcuaW4KIC0tLSBhL2dkYi9jb25maWcuaW4KICsr KyBiL2dkYi9jb25maWcuaW4KLUBAIC0zNiw2ICszNiw5IEBACi0gLyogRGVmaW5lIHRvIEJGRCdz IGRlZmF1bHQgdGFyZ2V0IHZlY3Rvci4gKi8KLSAjdW5kZWYgREVGQVVMVF9CRkRfVkVDCitAQCAt MzksNiArMzksOSBAQAorIC8qIEhhbmRsZSAuY3RmIHR5cGUtaW5mbyBzZWN0aW9ucyAqLworICN1 bmRlZiBFTkFCTEVfTElCQ1RGCiAgCiArLyogbGlicnBtIHZlcnNpb24gc3BlY2lmaWMgbGlicmFy eSBuYW1lIHRvIGRsb3Blbi4gKi8KICsjdW5kZWYgRExPUEVOX0xJQlJQTQpAQCAtNjk2LDcgKzY5 Niw3IEBAIGRpZmYgLS1naXQgYS9nZGIvY29uZmlnLmluIGIvZ2RiL2NvbmZpZy5pbgogIC8qIERl ZmluZSB0byAxIGlmIHRyYW5zbGF0aW9uIG9mIHByb2dyYW0gbWVzc2FnZXMgdG8gdGhlIHVzZXIn cyBuYXRpdmUKICAgICBsYW5ndWFnZSBpcyByZXF1ZXN0ZWQuICovCiAgI3VuZGVmIEVOQUJMRV9O TFMKLUBAIC0yNDUsNiArMjQ4LDkgQEAKK0BAIC0yNDcsNiArMjUwLDkgQEAKICAvKiBEZWZpbmUg aWYgeW91IGhhdmUgdGhlIG1wZnIgbGlicmFyeS4gKi8KICAjdW5kZWYgSEFWRV9MSUJNUEZSCiAg CkBAIC03MDksNyArNzA5LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWcuaW4gYi9nZGIvY29u ZmlnLmluCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKIC0tLSBh L2dkYi9jb25maWd1cmUKICsrKyBiL2dkYi9jb25maWd1cmUKLUBAIC03NjEsNiArNzYxLDExIEBA IENPREVTSUdOX0NFUlQKK0BAIC03NjksNiArNzY5LDExIEBAIFBLR19DT05GSUcKICBIQVZFX05B VElWRV9HQ09SRV9UQVJHRVQKICBUQVJHRVRfT0JTCiAgc3ViZGlycwpAQCAtNzIxLDcgKzcyMSw3 IEBAIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQogIEdEQl9EQVRB RElSCiAgREVCVUdESVIKICBNQUtFSU5GT19FWFRSQV9GTEFHUwotQEAgLTg2NCw2ICs4NjksNyBA QCB3aXRoX2dkYl9kYXRhZGlyCitAQCAtODczLDYgKzg3OCw3IEBAIHdpdGhfZ2RiX2RhdGFkaXIK ICB3aXRoX3JlbG9jYXRlZF9zb3VyY2VzCiAgd2l0aF9hdXRvX2xvYWRfZGlyCiAgd2l0aF9hdXRv X2xvYWRfc2FmZV9wYXRoCkBAIC03MjksNDIgKzcyOSwzNCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2Nv bmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKICBlbmFibGVfdGFyZ2V0cwogIGVuYWJsZV82NF9iaXRf YmZkCiAgZW5hYmxlX2dkYm1pCi1AQCAtOTI2LDYgKzkzMiwxMSBAQCBDQ0MKLSBDUFAKLSBNQUtF SU5GTwotIE1BS0VJTkZPRkxBR1MKLStQS0dfQ09ORklHCi0rUEtHX0NPTkZJR19QQVRICi0rUEtH X0NPTkZJR19MSUJESVIKK0BAIC05NDksNiArOTU1LDggQEAgUEtHX0NPTkZJR19QQVRICisgUEtH X0NPTkZJR19MSUJESVIKKyBERUJVR0lORk9EX0NGTEFHUworIERFQlVHSU5GT0RfTElCUwogK1JQ TV9DRkxBR1MKICtSUE1fTElCUwogIFlBQ0MKICBZRkxBR1MKICBYTUtNRicKLUBAIC0xNTk4LDYg KzE2MDksOCBAQCBPcHRpb25hbCBQYWNrYWdlczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAg IFstLXdpdGgtYXV0by1sb2FkLWRpcl0KLSAgIC0td2l0aG91dC1hdXRvLWxvYWQtc2FmZS1wYXRo CitAQCAtMTYyMSw2ICsxNjI5LDggQEAgT3B0aW9uYWwgUGFja2FnZXM6CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgYXV0by1sb2FkZWQgZmlsZXMgbG9jYXRpb25z CisgICAtLXdpdGgtZGVidWdpbmZvZCAgICAgICBFbmFibGUgZGVidWdpbmZvIGxvb2t1cHMgd2l0 aCBkZWJ1Z2luZm9kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXV0by95ZXMvbm8pCiAr ICAtLXdpdGgtcnBtICAgICAgICAgICAgICBxdWVyeSBycG0gZGF0YWJhc2UgZm9yIG1pc3Npbmcg ZGVidWdpbmZvcyAoeWVzL25vLAogKyAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmLiBhdXRv PWxpYnJwbS5zbykKICAgIC0td2l0aC1saWJ1bndpbmQtaWE2NCAgIHVzZSBsaWJ1bndpbmQgZnJh bWUgdW53aW5kaW5nIGZvciBpYTY0IHRhcmdldHMKICAgIC0td2l0aC1jdXJzZXMgICAgICAgICAg IHVzZSB0aGUgY3Vyc2VzIGxpYnJhcnkgaW5zdGVhZCBvZiB0aGUgdGVybWNhcAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGlicmFyeQotQEAgLTE2NjEsNiArMTY3NCwxMyBAQCBTb21lIGlu Zmx1ZW50aWFsIGVudmlyb25tZW50IHZhcmlhYmxlczoKLSAgIE1BS0VJTkZPICAgIFBhcmVudCBj b25maWd1cmUgZGV0ZWN0cyBpZiBpdCBpcyBvZiBzdWZmaWNpZW50IHZlcnNpb24uCi0gICBNQUtF SU5GT0ZMQUdTCi0gICAgICAgICAgICAgICBQYXJhbWV0ZXJzIGZvciBNQUtFSU5GTy4KLSsgIFBL R19DT05GSUcgIHBhdGggdG8gcGtnLWNvbmZpZyB1dGlsaXR5Ci0rICBQS0dfQ09ORklHX1BBVEgK LSsgICAgICAgICAgICAgIGRpcmVjdG9yaWVzIHRvIGFkZCB0byBwa2ctY29uZmlnJ3Mgc2VhcmNo IHBhdGgKLSsgIFBLR19DT05GSUdfTElCRElSCi0rICAgICAgICAgICAgICBwYXRoIG92ZXJyaWRp bmcgcGtnLWNvbmZpZydzIGJ1aWx0LWluIHNlYXJjaCBwYXRoCitAQCAtMTcwMiw2ICsxNzEyLDgg QEAgU29tZSBpbmZsdWVudGlhbCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6CisgICAgICAgICAgICAg ICBDIGNvbXBpbGVyIGZsYWdzIGZvciBERUJVR0lORk9ELCBvdmVycmlkaW5nIHBrZy1jb25maWcK KyAgIERFQlVHSU5GT0RfTElCUworICAgICAgICAgICAgICAgbGlua2VyIGZsYWdzIGZvciBERUJV R0lORk9ELCBvdmVycmlkaW5nIHBrZy1jb25maWcKICsgIFJQTV9DRkxBR1MgIEMgY29tcGlsZXIg ZmxhZ3MgZm9yIFJQTSwgb3ZlcnJpZGluZyBwa2ctY29uZmlnCiArICBSUE1fTElCUyAgICBsaW5r ZXIgZmxhZ3MgZm9yIFJQTSwgb3ZlcnJpZGluZyBwa2ctY29uZmlnCiAgICBZQUNDICAgICAgICBU aGUgYFlldCBBbm90aGVyIENvbXBpbGVyIENvbXBpbGVyJyBpbXBsZW1lbnRhdGlvbiB0byB1c2Uu CiAgICAgICAgICAgICAgICBEZWZhdWx0cyB0byB0aGUgZmlyc3QgcHJvZ3JhbSBmb3VuZCBvdXQg b2Y6IGBiaXNvbiAteScsIGBieWFjYycsCiAgICAgICAgICAgICAgICBgeWFjYycuCi1AQCAtNjU4 Nyw2ICs2NjA3LDQ5NCBAQCBfQUNFT0YKK0BAIC02NjY2LDYgKzY2NzgsNDk0IEBAIF9BQ0VPRgog IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkd2l0aF9h dXRvX2xvYWRfc2FmZV9wYXRoIiA+JjUKICAkYXNfZWNobyAiJHdpdGhfYXV0b19sb2FkX3NhZmVf cGF0aCIgPiY2OyB9CiAgCkBAIC0xMjYyLDcgKzEyNTQsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2Nv bmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlLmFjIGIv Z2RiL2NvbmZpZ3VyZS5hYwogLS0tIGEvZ2RiL2NvbmZpZ3VyZS5hYwogKysrIGIvZ2RiL2NvbmZp Z3VyZS5hYwotQEAgLTE0NCw2ICsxNDQsMTk5IEBAIEFDX0RFRklORV9ESVIoQVVUT19MT0FEX1NB RkVfUEFUSCwgZXNjYXBlX2RpciwKK0BAIC0xNDMsNiArMTQzLDE5OSBAQCBBQ19ERUZJTkVfRElS KEFVVE9fTE9BRF9TQUZFX1BBVEgsIGVzY2FwZV9kaXIsCiAgCSAgICAgIFtEaXJlY3RvcmllcyBz YWZlIHRvIGhvbGQgYXV0by1sb2FkZWQgZmlsZXMuXSkKICBBQ19NU0dfUkVTVUxUKFskd2l0aF9h dXRvX2xvYWRfc2FmZV9wYXRoXSkKICAKQEAgLTE0NjUsMTUgKzE0NTcsMTUgQEAgZGlmZiAtLWdp dCBhL2dkYi9jb25maWd1cmUuYWMgYi9nZGIvY29uZmlndXJlLmFjCiBkaWZmIC0tZ2l0IGEvZ2Ri L2V2ZW50LXRvcC5jIGIvZ2RiL2V2ZW50LXRvcC5jCiAtLS0gYS9nZGIvZXZlbnQtdG9wLmMKICsr KyBiL2dkYi9ldmVudC10b3AuYwotQEAgLTQxLDYgKzQxLDcgQEAKLSAjaW5jbHVkZSAic2VyLWV2 ZW50LmgiCi0gI2luY2x1ZGUgImdkYl9zZWxlY3QuaCIKK0BAIC00Miw2ICs0Miw3IEBACisgI2lu Y2x1ZGUgImdkYnN1cHBvcnQvZ2RiX3NlbGVjdC5oIgogICNpbmNsdWRlICJnZGJzdXBwb3J0L2dk Yi1zaWdtYXNrLmgiCisgI2luY2x1ZGUgImFzeW5jLWV2ZW50LmgiCiArI2luY2x1ZGUgInN5bWZp bGUuaCIKICAKICAvKiByZWFkbGluZSBpbmNsdWRlIGZpbGVzLiAgKi8KICAjaW5jbHVkZSAicmVh ZGxpbmUvcmVhZGxpbmUuaCIKLUBAIC0zNjMsNiArMzY0LDggQEAgZGlzcGxheV9nZGJfcHJvbXB0 IChjb25zdCBjaGFyICpuZXdfcHJvbXB0KQorQEAgLTM2NCw2ICszNjUsOCBAQCBkaXNwbGF5X2dk Yl9wcm9tcHQgKGNvbnN0IGNoYXIgKm5ld19wcm9tcHQpCiAgICAvKiBSZXNldCB0aGUgbmVzdGlu ZyBkZXB0aCB1c2VkIHdoZW4gdHJhY2UtY29tbWFuZHMgaXMgc2V0LiAgKi8KICAgIHJlc2V0X2Nv bW1hbmRfbmVzdF9kZXB0aCAoKTsKICAKQEAgLTE0ODIsNyArMTQ3NCw3IEBAIGRpZmYgLS1naXQg YS9nZGIvZXZlbnQtdG9wLmMgYi9nZGIvZXZlbnQtdG9wLmMKICAgIC8qIERvIG5vdCBjYWxsIHRo ZSBweXRob24gaG9vayBvbiBhbiBleHBsaWNpdCBwcm9tcHQgY2hhbmdlIGFzCiAgICAgICBwYXNz ZWQgdG8gdGhpcyBmdW5jdGlvbiwgYXMgdGhpcyBmb3JtcyBhIHNlY29uZGFyeS9sb2NhbCBwcm9t cHQsCiAgICAgICBJRSwgZGlzcGxheWVkIGJ1dCBub3Qgc2V0LiAgKi8KLUBAIC03NzIsNyArNzc1 LDEwIEBAIGNvbW1hbmRfbGluZV9oYW5kbGVyIChnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFy PiAmJnJsKQorQEAgLTc3Myw3ICs3NzYsMTAgQEAgY29tbWFuZF9saW5lX2hhbmRsZXIgKGdkYjo6 dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+ICYmcmwpCiAgICAgICAgY29tbWFuZF9oYW5kbGVyIChj bWQpOwogIAogICAgICAgIGlmICh1aS0+cHJvbXB0X3N0YXRlICE9IFBST01QVEVEKQpAQCAtMTQ5 NywxMiArMTQ4OSwxMSBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V2ZW50LXRvcC5jIGIvZ2RiL2V2ZW50 LXRvcC5jCiBkaWZmIC0tZ2l0IGEvZ2RiL3N5bWZpbGUuaCBiL2dkYi9zeW1maWxlLmgKIC0tLSBh L2dkYi9zeW1maWxlLmgKICsrKyBiL2dkYi9zeW1maWxlLmgKLUBAIC01NDIsNiArNTQyLDggQEAg ZXh0ZXJuIHZvaWQgZ2VuZXJpY19sb2FkIChjb25zdCBjaGFyICphcmdzLCBpbnQgZnJvbV90dHkp OworQEAgLTU2MCw2ICs1NjAsNyBAQCBleHRlcm4gdm9pZCBnZW5lcmljX2xvYWQgKGNvbnN0IGNo YXIgKmFyZ3MsIGludCBmcm9tX3R0eSk7CiAgLyogYnVpbGQtaWQgc3VwcG9ydC4gICovCiAgZXh0 ZXJuIHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkX2FkZHJfZ2V0IChDT1JFX0FERFIgYWRk cik7CiAgZXh0ZXJuIHZvaWQgZGVidWdfcHJpbnRfbWlzc2luZyAoY29uc3QgY2hhciAqYmluYXJ5 LCBjb25zdCBjaGFyICpkZWJ1Zyk7CiArZXh0ZXJuIHZvaWQgZGVidWdfZmx1c2hfbWlzc2luZyAo dm9pZCk7Ci0rI2RlZmluZSBCVUlMRF9JRF9NQUlOX0VYRUNVVEFCTEVfRklMRU5BTUUgXygidGhl IG1haW4gZXhlY3V0YWJsZSBmaWxlIikKKyAjZGVmaW5lIEJVSUxEX0lEX01BSU5fRVhFQ1VUQUJM RV9GSUxFTkFNRSBfKCJ0aGUgbWFpbiBleGVjdXRhYmxlIGZpbGUiKQogIAogIC8qIEZyb20gZHdh cmYycmVhZC5jICovCi0gCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xp Yi1taXNzaW5nLWlkcy5wYXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtc29saWItbWlzc2lu Zy1pZHMucGF0Y2gKaW5kZXggNzNiNzYzYS4uZjFmNWU4MyAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1i dWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaAorKysgYi9nZGItNi42LWJ1aWxk aWQtbG9jYXRlLXNvbGliLW1pc3NpbmctaWRzLnBhdGNoCkBAIC0xNCw3ICsxNCw3IEBAIGh0dHBz Oi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTMzOTg2MgogZGlmZiAtLWdp dCBhL2dkYi9zb2xpYi1zdnI0LmMgYi9nZGIvc29saWItc3ZyNC5jCiAtLS0gYS9nZGIvc29saWIt c3ZyNC5jCiArKysgYi9nZGIvc29saWItc3ZyNC5jCi1AQCAtMTM0NiwxNCArMTM0NiwyNyBAQCBz dnI0X3JlYWRfc29fbGlzdCAoc3ZyNF9pbmZvICppbmZvLCBDT1JFX0FERFIgbG0sIENPUkVfQURE UiBwcmV2X2xtLAorQEAgLTEzNDAsMTQgKzEzNDAsMjcgQEAgc3ZyNF9yZWFkX3NvX2xpc3QgKHN2 cjRfaW5mbyAqaW5mbywgQ09SRV9BRERSIGxtLCBDT1JFX0FERFIgcHJldl9sbSwKICAJfQogIAog ICAgICAgIHsKQEAgLTQ0LDcgKzQ0LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9zb2xpYi1zdnI0LmMg Yi9nZGIvc29saWItc3ZyNC5jCiAgCWlmIChidWlsZF9pZCAhPSBOVUxMKQogIAkgIHsKICAJICAg IGNoYXIgKm5hbWUsICpidWlsZF9pZF9maWxlbmFtZTsKLUBAIC0xMzY4LDIzICsxMzgxLDcgQEAg c3ZyNF9yZWFkX3NvX2xpc3QgKHN2cjRfaW5mbyAqaW5mbywgQ09SRV9BRERSIGxtLCBDT1JFX0FE RFIgcHJldl9sbSwKK0BAIC0xMzYyLDIzICsxMzc1LDcgQEAgc3ZyNF9yZWFkX3NvX2xpc3QgKHN2 cjRfaW5mbyAqaW5mbywgQ09SRV9BRERSIGxtLCBDT1JFX0FERFIgcHJldl9sbSwKICAJCXhmcmVl IChuYW1lKTsKICAJICAgICAgfQogIAkgICAgZWxzZQoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVp bGRpZC1sb2NhdGUucGF0Y2ggYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCmluZGV4IDUw NGM2YTkuLjZjOWZiODEgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gK KysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaApAQCAtOSw3ICs5LDcgQEAgU3ViamVj dDogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAogZGlmZiAtLWdpdCBhL2JmZC9saWJiZmQt aW4uaCBiL2JmZC9saWJiZmQtaW4uaAogLS0tIGEvYmZkL2xpYmJmZC1pbi5oCiArKysgYi9iZmQv bGliYmZkLWluLmgKLUBAIC0xMjcsNyArMTI3LDcgQEAgc3RhdGljIGlubGluZSBjaGFyICoKK0BA IC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIGlubGluZSBjaGFyICoKICBiZmRfc3RyZHVwIChjb25z dCBjaGFyICpzdHIpCiAgewogICAgc2l6ZV90IGxlbiA9IHN0cmxlbiAoc3RyKSArIDE7CkBAIC0y MSw3ICsyMSw3IEBAIGRpZmYgLS1naXQgYS9iZmQvbGliYmZkLWluLmggYi9iZmQvbGliYmZkLWlu LmgKIGRpZmYgLS1naXQgYS9iZmQvbGliYmZkLmggYi9iZmQvbGliYmZkLmgKIC0tLSBhL2JmZC9s aWJiZmQuaAogKysrIGIvYmZkL2xpYmJmZC5oCi1AQCAtMTMyLDcgKzEzMiw3IEBAIHN0YXRpYyBp bmxpbmUgY2hhciAqCitAQCAtMTI2LDcgKzEyNiw3IEBAIHN0YXRpYyBpbmxpbmUgY2hhciAqCiAg YmZkX3N0cmR1cCAoY29uc3QgY2hhciAqc3RyKQogIHsKICAgIHNpemVfdCBsZW4gPSBzdHJsZW4g KHN0cikgKyAxOwpAQCAtMzMsNyArMzMsNyBAQCBkaWZmIC0tZ2l0IGEvYmZkL2xpYmJmZC5oIGIv YmZkL2xpYmJmZC5oCiBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQu YwogLS0tIGEvZ2RiL2J1aWxkLWlkLmMKICsrKyBiL2dkYi9idWlsZC1pZC5jCi1AQCAtMjQsMTMg KzI0LDcxIEBACitAQCAtMjQsMTMgKzI0LDcwIEBACiAgI2luY2x1ZGUgImdkYnN1cHBvcnQvZ2Ri X3ZlY3MuaCIKICAjaW5jbHVkZSAic3ltZmlsZS5oIgogICNpbmNsdWRlICJvYmpmaWxlcy5oIgpA QCAtNDYsNyArNDYsNiBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQt aWQuYwogKyNpbmNsdWRlICJnZGJfYmZkLmgiCiArI2luY2x1ZGUgImdkYmNtZC5oIgogICNpbmNs dWRlICJnZGJjb3JlLmgiCi0rI2luY2x1ZGUgImxpYmJmZC5oIgogKyNpbmNsdWRlICJvYmpmaWxl cy5oIgogKyNpbmNsdWRlICJvYnNlcnZhYmxlLmgiCiArI2luY2x1ZGUgInN5bWZpbGUuaCIKQEAg LTEwNiw3ICsxMDUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQt aWQuYwogIHsKICAgIGlmICghYmZkX2NoZWNrX2Zvcm1hdCAoYWJmZCwgYmZkX29iamVjdCkKICAg ICAgICAmJiAhYmZkX2NoZWNrX2Zvcm1hdCAoYWJmZCwgYmZkX2NvcmUpKQotQEAgLTQzLDYgKzEw MSwzNDggQEAgYnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZkKQorQEAgLTQzLDYgKzEwMCwzNDgg QEAgYnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZkKQogICAgcmV0dXJuIE5VTEw7CiAgfQogIApA QCAtNDU1LDcgKzQ1NCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWls ZC1pZC5jCiAgLyogU2VlIGJ1aWxkLWlkLmguICAqLwogIAogIGludAotQEAgLTUxLDcgKzQ1MSw3 IEBAIGJ1aWxkX2lkX3ZlcmlmeSAoYmZkICphYmZkLCBzaXplX3QgY2hlY2tfbGVuLCBjb25zdCBi ZmRfYnl0ZSAqY2hlY2spCitAQCAtNTEsNyArNDUwLDcgQEAgYnVpbGRfaWRfdmVyaWZ5IChiZmQg KmFiZmQsIHNpemVfdCBjaGVja19sZW4sIGNvbnN0IGJmZF9ieXRlICpjaGVjaykKICAgIGNvbnN0 IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmZvdW5kOwogICAgaW50IHJldHZhbCA9IDA7CiAgCkBAIC00 NjQsNyArNDYzLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlk LmMKICAKICAgIGlmIChmb3VuZCA9PSBOVUxMKQogICAgICB3YXJuaW5nIChfKCJGaWxlIFwiJXNc IiBoYXMgbm8gYnVpbGQtaWQsIGZpbGUgc2tpcHBlZCIpLAotQEAgLTY2LDU2ICs0NjYsMTU5IEBA IGJ1aWxkX2lkX3ZlcmlmeSAoYmZkICphYmZkLCBzaXplX3QgY2hlY2tfbGVuLCBjb25zdCBiZmRf Ynl0ZSAqY2hlY2spCitAQCAtNjYsNTYgKzQ2NSwxNTkgQEAgYnVpbGRfaWRfdmVyaWZ5IChiZmQg KmFiZmQsIHNpemVfdCBjaGVja19sZW4sIGNvbnN0IGJmZF9ieXRlICpjaGVjaykKICAgIHJldHVy biByZXR2YWw7CiAgfQogIApAQCAtNTQzLDcgKzU0Miw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVp bGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiArCSAgICAgZmlsZXMgbWF5IG5vdCBiZSBpbnN0YWxs ZWQuICAqLwogIAogLSAgLyogV2UgZXhwZWN0IHRvIGJlIHNpbGVudCBvbiB0aGUgbm9uLWV4aXN0 aW5nIGZpbGVzLiAgKi8KLS0gIGdkYl9iZmRfcmVmX3B0ciBkZWJ1Z19iZmQgPSBnZGJfYmZkX29w ZW4gKGZpbGVuYW1lLmdldCAoKSwgZ251dGFyZ2V0LCAtMSk7CistICBnZGJfYmZkX3JlZl9wdHIg ZGVidWdfYmZkID0gZ2RiX2JmZF9vcGVuIChmaWxlbmFtZS5nZXQgKCksIGdudXRhcmdldCk7CiAr CSAgc3RyaW5nX2FwcGVuZGYgKGxpbmssICIuJXUiLCBzZXFubyk7CiArCX0KICAKQEAgLTY1MSw3 ICs2NTAsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwog IH0KICAKICAvKiBDb21tb24gY29kZSBmb3IgZmluZGluZyBCRkRzIG9mIGEgZ2l2ZW4gYnVpbGQt aWQuICBUaGlzIGZ1bmN0aW9uCi1AQCAtMTI0LDcgKzYyNyw3IEBAIGJ1aWxkX2lkX3RvX2RlYnVn X2JmZF8xIChjb25zdCBzdGQ6OnN0cmluZyAmbGluaywgc2l6ZV90IGJ1aWxkX2lkX2xlbiwKK0BA IC0xMjQsNyArNjI2LDcgQEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkXzEgKGNvbnN0IHN0ZDo6c3Ry aW5nICZsaW5rLCBzaXplX3QgYnVpbGRfaWRfbGVuLAogIAogIHN0YXRpYyBnZGJfYmZkX3JlZl9w dHIKICBidWlsZF9pZF90b19iZmRfc3VmZml4IChzaXplX3QgYnVpbGRfaWRfbGVuLCBjb25zdCBi ZmRfYnl0ZSAqYnVpbGRfaWQsCkBAIC02NjAsNyArNjU5LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9i dWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKICB7CiAgICAvKiBLZWVwIGJhY2t3YXJkIGNvbXBh dGliaWxpdHkgc28gdGhhdCBERUJVR19GSUxFX0RJUkVDVE9SWSBiZWluZyAiIiB3aWxsCiAgICAg ICBjYXVzZSAiLy5idWlsZC1pZC8uLi4iIGxvb2t1cHMuICAqLwotQEAgLTE0NywxNiArNjUwLDE3 IEBAIGJ1aWxkX2lkX3RvX2JmZF9zdWZmaXggKHNpemVfdCBidWlsZF9pZF9sZW4sIGNvbnN0IGJm ZF9ieXRlICpidWlsZF9pZCwKK0BAIC0xNDcsMTYgKzY0OSwxNyBAQCBidWlsZF9pZF90b19iZmRf c3VmZml4IChzaXplX3QgYnVpbGRfaWRfbGVuLCBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQsCiAg ICAgICAgaWYgKHNpemUgPiAwKQogIAl7CiAgCSAgc2l6ZS0tOwpAQCAtNjgxLDcgKzY4MCw3IEBA IGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAgICAgICAgaWYg KGRlYnVnX2JmZCAhPSBOVUxMKQogIAlyZXR1cm4gZGVidWdfYmZkOwogIAotQEAgLTE3MCw3ICs2 NzQsOCBAQCBidWlsZF9pZF90b19iZmRfc3VmZml4IChzaXplX3QgYnVpbGRfaWRfbGVuLCBjb25z dCBiZmRfYnl0ZSAqYnVpbGRfaWQsCitAQCAtMTcwLDcgKzY3Myw4IEBAIGJ1aWxkX2lkX3RvX2Jm ZF9zdWZmaXggKHNpemVfdCBidWlsZF9pZF9sZW4sIGNvbnN0IGJmZF9ieXRlICpidWlsZF9pZCwK ICAgICAgICBpZiAoc3RyY21wIChnZGJfc3lzcm9vdCwgVEFSR0VUX1NZU1JPT1RfUFJFRklYKSAh PSAwKQogIAl7CiAgCSAgbGluayA9IGdkYl9zeXNyb290ICsgbGluazsKQEAgLTY5MSw3ICs2OTAs NyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogIAkgIGlm IChkZWJ1Z19iZmQgIT0gTlVMTCkKICAJICAgIHJldHVybiBkZWJ1Z19iZmQ7CiAgCX0KLUBAIC0x NzksMzggKzY4NCwyMDggQEAgYnVpbGRfaWRfdG9fYmZkX3N1ZmZpeCAoc2l6ZV90IGJ1aWxkX2lk X2xlbiwgY29uc3QgYmZkX2J5dGUgKmJ1aWxkX2lkLAorQEAgLTE3OSwzOCArNjgzLDIwOCBAQCBi dWlsZF9pZF90b19iZmRfc3VmZml4IChzaXplX3QgYnVpbGRfaWRfbGVuLCBjb25zdCBiZmRfYnl0 ZSAqYnVpbGRfaWQsCiAgICByZXR1cm4ge307CiAgfQogIApAQCAtOTA3LDcgKzkwNiw3IEBAIGRp ZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAgICAgICAgLyogUHJl dmVudCBsb29waW5nIG9uIGEgc3RyaXBwZWQgLmRlYnVnIGZpbGUuICAqLwogICAgICAgIGlmIChh YmZkICE9IE5VTEwKICAJICAmJiBmaWxlbmFtZV9jbXAgKGJmZF9nZXRfZmlsZW5hbWUgKGFiZmQu Z2V0ICgpKSwKLUBAIC0yMjMsMyArODk4LDIxIEBAIGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9i eV9idWlsZGlkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKK0BAIC0yMjMsMyArODk3LDIxIEBA IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSkKICAKICAgIHJldHVybiBzdGQ6OnN0cmluZyAoKTsKICB9CkBAIC0xMDAzLDggKzEwMDIs OCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBiL2dkYi9jb3JlbG93LmMKICAjaW5jbHVk ZSAiaW5mZXJpb3IuaCIKICAjaW5jbHVkZSAiaW5mcnVuLmgiCiAgI2luY2x1ZGUgInN5bXRhYi5o IgotQEAgLTMyMiw2ICszMjYsOCBAQCBhZGRfdG9fdGhyZWFkX2xpc3QgKGJmZCAqYWJmZCwgYXNl Y3Rpb24gKmFzZWN0LCB2b2lkICpyZWdfc2VjdF9hcmcpCi0gICAgIGluZmVyaW9yX3B0aWQgPSBw dGlkOwkJCS8qIFllcywgbWFrZSBpdCBjdXJyZW50LiAgKi8KK0BAIC0zNjIsNiArMzY2LDggQEAg YWRkX3RvX3RocmVhZF9saXN0IChiZmQgKmFiZmQsIGFzZWN0aW9uICphc2VjdCwgdm9pZCAqcmVn X3NlY3RfYXJnKQorICAgICBzd2l0Y2hfdG9fdGhyZWFkICh0aHIpOwkJCS8qIFllcywgbWFrZSBp dCBjdXJyZW50LiAgKi8KICB9CiAgCiArc3RhdGljIGJvb2wgYnVpbGRfaWRfY29yZV9sb2FkcyA9 IHRydWU7CkBAIC0xMDEyLDcgKzEwMTEsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBi L2dkYi9jb3JlbG93LmMKICAvKiBJc3N1ZSBhIG1lc3NhZ2Ugc2F5aW5nIHdlIGhhdmUgbm8gY29y ZSB0byBkZWJ1ZywgaWYgRlJPTV9UVFkuICAqLwogIAogIHN0YXRpYyB2b2lkCi1AQCAtMzU4LDE5 ICszNjQsMjUgQEAgY29yZV9maWxlX2NvbW1hbmQgKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQg ZnJvbV90dHkpCitAQCAtMzk4LDE5ICs0MDQsMjUgQEAgY29yZV9maWxlX2NvbW1hbmQgKGNvbnN0 IGNoYXIgKmZpbGVuYW1lLCBpbnQgZnJvbV90dHkpCiAgc3RhdGljIHZvaWQKICBsb2NhdGVfZXhl Y19mcm9tX2NvcmVmaWxlX2J1aWxkX2lkIChiZmQgKmFiZmQsIGludCBmcm9tX3R0eSkKICB7CkBA IC0xMDQwLDEwICsxMDM5LDEwIEBAIGRpZmYgLS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2Nv cmVsb3cuYwogIH0KICAKICAvKiBTZWUgZ2RiY29yZS5oLiAgKi8KLUBAIC05OTgsNCArMTAxMCwx MSBAQCB2b2lkCi0gX2luaXRpYWxpemVfY29yZWxvdyAodm9pZCkKLSB7Ci0gICBhZGRfdGFyZ2V0 IChjb3JlX3RhcmdldF9pbmZvLCBjb3JlX3RhcmdldF9vcGVuLCBmaWxlbmFtZV9jb21wbGV0ZXIp OworQEAgLTExODksNCArMTIwMSwxMSBAQCBfaW5pdGlhbGl6ZV9jb3JlbG93ICgpCisgICAgICAg ICAgICBtYWludGVuYW5jZV9wcmludF9jb3JlX2ZpbGVfYmFja2VkX21hcHBpbmdzLAorIAkgICBf KCJQcmludCBjb3JlIGZpbGUncyBmaWxlLWJhY2tlZCBtYXBwaW5ncy4iKSwKKyAJICAgJm1haW50 ZW5hbmNlcHJpbnRsaXN0KTsKICsKICsgIGFkZF9zZXRzaG93X2Jvb2xlYW5fY21kICgiYnVpbGQt aWQtY29yZS1sb2FkcyIsIGNsYXNzX2ZpbGVzLAogKwkJCSAgICZidWlsZF9pZF9jb3JlX2xvYWRz LCBfKCJcCkBAIC0xMDU1LDcgKzEwNTQsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBi L2dkYi9jb3JlbG93LmMKIGRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYi50ZXhpbmZvIGIvZ2RiL2Rv Yy9nZGIudGV4aW5mbwogLS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbwogKysrIGIvZ2RiL2RvYy9n ZGIudGV4aW5mbwotQEAgLTIwODYyLDYgKzIwODYyLDI3IEBAIGluZm9ybWF0aW9uIGZpbGVzLgor QEAgLTIxMDc0LDYgKzIxMDc0LDI3IEBAIGluZm9ybWF0aW9uIGZpbGVzLgogIAogIEBlbmQgdGFi bGUKICAKQEAgLTEwODMsMTAgKzEwODIsMTAgQEAgZGlmZiAtLWdpdCBhL2dkYi9kb2MvZ2RiLnRl eGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCiAgQGNpbmRleCBAY29kZXsuZ251X2RlYnVnbGlu a30gc2VjdGlvbnMKICBAY2luZGV4IGRlYnVnIGxpbmsgc2VjdGlvbnMKICBBIGRlYnVnIGxpbmsg aXMgYSBzcGVjaWFsIHNlY3Rpb24gb2YgdGhlIGV4ZWN1dGFibGUgZmlsZSBuYW1lZAotZGlmZiAt LWdpdCBhL2dkYi9kd2FyZi1pbmRleC1jYWNoZS5jIGIvZ2RiL2R3YXJmLWluZGV4LWNhY2hlLmMK LS0tLSBhL2dkYi9kd2FyZi1pbmRleC1jYWNoZS5jCi0rKysgYi9nZGIvZHdhcmYtaW5kZXgtY2Fj aGUuYwotQEAgLTk0LDcgKzk0LDcgQEAgaW5kZXhfY2FjaGU6OnN0b3JlIChzdHJ1Y3QgZHdhcmYy X3Blcl9vYmpmaWxlICpkd2FyZjJfcGVyX29iamZpbGUpCitkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJm Mi9pbmRleC1jYWNoZS5jIGIvZ2RiL2R3YXJmMi9pbmRleC1jYWNoZS5jCistLS0gYS9nZGIvZHdh cmYyL2luZGV4LWNhY2hlLmMKKysrKyBiL2dkYi9kd2FyZjIvaW5kZXgtY2FjaGUuYworQEAgLTk1 LDcgKzk1LDcgQEAgaW5kZXhfY2FjaGU6OnN0b3JlIChkd2FyZjJfcGVyX29iamZpbGUgKnBlcl9v YmpmaWxlKQogICAgICByZXR1cm47CiAgCiAgICAvKiBHZXQgYnVpbGQgaWQgb2Ygb2JqZmlsZS4g ICovCkBAIC0xMDk1LDcgKzEwOTQsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmLWluZGV4LWNh Y2hlLmMgYi9nZGIvZHdhcmYtaW5kZXgtY2FjaGUuYwogICAgaWYgKGJ1aWxkX2lkID09IG51bGxw dHIpCiAgICAgIHsKICAgICAgICBpZiAoZGVidWdfaW5kZXhfY2FjaGUpCi1AQCAtMTEyLDcgKzEx Miw4IEBAIGluZGV4X2NhY2hlOjpzdG9yZSAoc3RydWN0IGR3YXJmMl9wZXJfb2JqZmlsZSAqZHdh cmYyX3Blcl9vYmpmaWxlKQorQEAgLTExMyw3ICsxMTMsOCBAQCBpbmRleF9jYWNoZTo6c3RvcmUg KGR3YXJmMl9wZXJfb2JqZmlsZSAqcGVyX29iamZpbGUpCiAgCiAgICBpZiAoZHd6ICE9IG51bGxw dHIpCiAgICAgIHsKQEAgLTExMDUsMjggKzExMDQsMjggQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2Fy Zi1pbmRleC1jYWNoZS5jIGIvZ2RiL2R3YXJmLWluZGV4LWNhY2hlLmMKICAKICAgICAgICBpZiAo ZHd6X2J1aWxkX2lkID09IG51bGxwdHIpCiAgCXsKLWRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVh ZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwotLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYwotKysrIGIvZ2Ri L2R3YXJmMnJlYWQuYwotQEAgLTI3MTgsNyArMjcxOCw3IEBAIGR3YXJmMl9nZXRfZHd6X2ZpbGUg KHN0cnVjdCBkd2FyZjJfcGVyX29iamZpbGUgKmR3YXJmMl9wZXJfb2JqZmlsZSkKK2RpZmYgLS1n aXQgYS9nZGIvZHdhcmYyL3JlYWQuYyBiL2dkYi9kd2FyZjIvcmVhZC5jCistLS0gYS9nZGIvZHdh cmYyL3JlYWQuYworKysrIGIvZ2RiL2R3YXJmMi9yZWFkLmMKK0BAIC0yMjE4LDcgKzIyMTgsNyBA QCBkd2FyZjJfZ2V0X2R3el9maWxlIChkd2FyZjJfcGVyX2JmZCAqcGVyX2JmZCkKICAgICAgfQog IAogICAgaWYgKGR3el9iZmQgPT0gTlVMTCkKIC0gICAgZHd6X2JmZCA9IGJ1aWxkX2lkX3RvX2Rl YnVnX2JmZCAoYnVpbGRpZF9sZW4sIGJ1aWxkaWQpOwogKyAgICBkd3pfYmZkID0gYnVpbGRfaWRf dG9fZGVidWdfYmZkIChidWlsZGlkX2xlbiwgYnVpbGRpZCwgTlVMTCk7CiAgCi0gICBpZiAoZHd6 X2JmZCA9PSBOVUxMKQotICAgICBlcnJvciAoXygiY291bGQgbm90IGZpbmQgJy5nbnVfZGVidWdh bHRsaW5rJyBmaWxlIGZvciAlcyIpLAotQEAgLTYyNzYsNyArNjI3Niw3IEBAIGdldF9nZGJfaW5k ZXhfY29udGVudHNfZnJvbV9zZWN0aW9uIChvYmpmaWxlICpvYmosIFQgKnNlY3Rpb25fb3duZXIp CisgICBpZiAoZHd6X2JmZCA9PSBudWxscHRyKQorICAgICB7CitAQCAtNTk4MCw3ICs1OTgwLDcg QEAgZ2V0X2dkYl9pbmRleF9jb250ZW50c19mcm9tX3NlY3Rpb24gKG9iamZpbGUgKm9iaiwgVCAq c2VjdGlvbl9vd25lcikKICBzdGF0aWMgZ2RiOjphcnJheV92aWV3PGNvbnN0IGdkYl9ieXRlPgot IGdldF9nZGJfaW5kZXhfY29udGVudHNfZnJvbV9jYWNoZSAob2JqZmlsZSAqb2JqLCBkd2FyZjJf cGVyX29iamZpbGUgKmR3YXJmMl9vYmopCisgZ2V0X2dkYl9pbmRleF9jb250ZW50c19mcm9tX2Nh Y2hlIChvYmpmaWxlICpvYmosIGR3YXJmMl9wZXJfYmZkICpkd2FyZjJfcGVyX2JmZCkKICB7CiAt ICBjb25zdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkID0gYnVpbGRfaWRfYmZkX2dldCAob2JqLT5v YmZkKTsKICsgIGNvbnN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQgPSBidWlsZF9pZF9iZmRfc2hk cl9nZXQgKG9iai0+b2JmZCk7CiAgICBpZiAoYnVpbGRfaWQgPT0gbnVsbHB0cikKICAgICAgcmV0 dXJuIHt9OwogIAotQEAgLTYyODksNyArNjI4OSw3IEBAIGdldF9nZGJfaW5kZXhfY29udGVudHNf ZnJvbV9jYWNoZSAob2JqZmlsZSAqb2JqLCBkd2FyZjJfcGVyX29iamZpbGUgKmR3YXJmMl9vYmop CitAQCAtNTk5Myw3ICs1OTkzLDcgQEAgZ2V0X2dkYl9pbmRleF9jb250ZW50c19mcm9tX2NhY2hl IChvYmpmaWxlICpvYmosIGR3YXJmMl9wZXJfYmZkICpkd2FyZjJfcGVyX2JmZCkKICBzdGF0aWMg Z2RiOjphcnJheV92aWV3PGNvbnN0IGdkYl9ieXRlPgogIGdldF9nZGJfaW5kZXhfY29udGVudHNf ZnJvbV9jYWNoZV9kd3ogKG9iamZpbGUgKm9iaiwgZHd6X2ZpbGUgKmR3eikKICB7CkBAIC0xMTM4 LDcgKzExMzcsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJy ZWFkLmMKIGRpZmYgLS1naXQgYS9nZGIvZWxmcmVhZC5jIGIvZ2RiL2VsZnJlYWQuYwogLS0tIGEv Z2RiL2VsZnJlYWQuYwogKysrIGIvZ2RiL2VsZnJlYWQuYwotQEAgLTEyOTksNyArMTI5OSw5IEBA IGVsZl9zeW1maWxlX3JlYWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBzeW1maWxlX2FkZF9m bGFncyBzeW1maWxlX2ZsYWdzKQorQEAgLTEyOTgsNyArMTI5OCw5IEBAIGVsZl9zeW1maWxlX3Jl YWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBzeW1maWxlX2FkZF9mbGFncyBzeW1maWxlX2Zs YWdzKQogIAkgICAmJiBvYmpmaWxlLT5zZXBhcmF0ZV9kZWJ1Z19vYmpmaWxlID09IE5VTEwKICAJ ICAgJiYgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9PSBOVUxMKQog ICAgICB7CkBAIC0xMTQ5LDM1ICsxMTQ4LDYxIEBAIGRpZmYgLS1naXQgYS9nZGIvZWxmcmVhZC5j IGIvZ2RiL2VsZnJlYWQuYwogIAogICAgICAgIGlmIChkZWJ1Z2ZpbGUuZW1wdHkgKCkpCiAgCWRl YnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9kZWJ1Z2xpbmsgKG9iamZpbGUp OwotQEAgLTEzMTEsOCArMTMxMywxMiBAQCBlbGZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qgb2JqZmls ZSAqb2JqZmlsZSwgc3ltZmlsZV9hZGRfZmxhZ3Mgc3ltZmlsZV9mbGFncykKLSAJICBzeW1ib2xf ZmlsZV9hZGRfc2VwYXJhdGUgKGRlYnVnX2JmZC5nZXQgKCksIGRlYnVnZmlsZS5jX3N0ciAoKSwK LSAJCQkJICAgIHN5bWZpbGVfZmxhZ3MsIG9iamZpbGUpOworQEAgLTEzMTMsNyArMTMxNSw3IEBA IGVsZl9zeW1maWxlX3JlYWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBzeW1maWxlX2FkZF9m bGFncyBzeW1maWxlX2ZsYWdzKQorICAgICAgIGVsc2UKKyAJeworIAkgIGhhc19kd2FyZjIgPSBm YWxzZTsKKy0JICBjb25zdCBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCA9IGJ1aWxkX2lk X2JmZF9nZXQgKG9iamZpbGUtPm9iZmQpOworKwkgIGNvbnN0IHN0cnVjdCBiZmRfYnVpbGRfaWQg KmJ1aWxkX2lkID0gYnVpbGRfaWRfYmZkX3NoZHJfZ2V0IChvYmpmaWxlLT5vYmZkKTsKKyAKKyAJ ICBpZiAoYnVpbGRfaWQgIT0gbnVsbHB0cikKKyAJICAgIHsKK0BAIC0xMzM4LDYgKzEzNDAsMTAg QEAgZWxmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIHN5bWZpbGVfYWRk X2ZsYWdzIHN5bWZpbGVfZmxhZ3MpCisgCQkgICAgICBoYXNfZHdhcmYyID0gdHJ1ZTsKKyAJCSAg ICB9CisgCQl9CisrCQkvKiBDaGVjayBpZiBhbnkgc2VwYXJhdGUgZGVidWcgaW5mbyBoYXMgYmVl biBleHRyYWN0ZWQgb3V0LiAgKi8KKysJCWVsc2UgaWYgKGJmZF9nZXRfc2VjdGlvbl9ieV9uYW1l IChvYmpmaWxlLT5vYmZkLCAiLmdudV9kZWJ1Z2xpbmsiKQorKwkJCSAhPSBOVUxMKQorKwkJICBk ZWJ1Z19wcmludF9taXNzaW5nIChvYmpmaWxlX25hbWUgKG9iamZpbGUpLCBidWlsZF9pZF9maWxl bmFtZS5nZXQgKCkpOworIAkgICAgfQogIAl9Ci0tCWVsc2UKLS0JICBoYXNfZHdhcmYyID0gZmFs c2U7Ci0rICAgICAgLyogQ2hlY2sgaWYgYW55IHNlcGFyYXRlIGRlYnVnIGluZm8gaGFzIGJlZW4g ZXh0cmFjdGVkIG91dC4gICovCi0rICAgICAgZWxzZSBpZiAoYmZkX2dldF9zZWN0aW9uX2J5X25h bWUgKG9iamZpbGUtPm9iZmQsICIuZ251X2RlYnVnbGluayIpCi0rCSAgICAgICAhPSBOVUxMKQot KwlkZWJ1Z19wcmludF9taXNzaW5nIChvYmpmaWxlX25hbWUgKG9iamZpbGUpLCBidWlsZF9pZF9m aWxlbmFtZS5nZXQgKCkpOwotKyAgICAgIGVsc2UKLSsJaGFzX2R3YXJmMiA9IGZhbHNlOwogICAg ICB9CitkaWZmIC0tZ2l0IGEvZ2RiL2V4ZWMuYyBiL2dkYi9leGVjLmMKKy0tLSBhL2dkYi9leGVj LmMKKysrKyBiL2dkYi9leGVjLmMKK0BAIC0yNjQsNyArMjY0LDcgQEAgdmFsaWRhdGVfZXhlY19m aWxlIChpbnQgZnJvbV90dHkpCisgICByZW9wZW5fZXhlY19maWxlICgpOworICAgY3VycmVudF9l eGVjX2ZpbGUgPSBnZXRfZXhlY19maWxlICgwKTsKKyAKKy0gIGNvbnN0IGJmZF9idWlsZF9pZCAq ZXhlY19maWxlX2J1aWxkX2lkID0gYnVpbGRfaWRfYmZkX2dldCAoZXhlY19iZmQpOworKyAgY29u c3QgYmZkX2J1aWxkX2lkICpleGVjX2ZpbGVfYnVpbGRfaWQgPSBidWlsZF9pZF9iZmRfc2hkcl9n ZXQgKGV4ZWNfYmZkKTsKKyAgIGlmIChleGVjX2ZpbGVfYnVpbGRfaWQgIT0gbnVsbHB0cikKKyAg ICAgeworICAgICAgIC8qIFByZXBlbmQgdGhlIHRhcmdldCBwcmVmaXgsIHRvIGZvcmNlIGdkYl9i ZmRfb3BlbiB0byBvcGVuIHRoZQorQEAgLTI3Nyw3ICsyNzcsNyBAQCB2YWxpZGF0ZV9leGVjX2Zp bGUgKGludCBmcm9tX3R0eSkKKyAgICAgICBpZiAoYWJmZCAhPSBudWxscHRyKQorIAl7CisgCSAg Y29uc3QgYmZkX2J1aWxkX2lkICp0YXJnZXRfZXhlY19maWxlX2J1aWxkX2lkCistCSAgICA9IGJ1 aWxkX2lkX2JmZF9nZXQgKGFiZmQuZ2V0ICgpKTsKKysJICAgID0gYnVpbGRfaWRfYmZkX3NoZHJf Z2V0IChhYmZkLmdldCAoKSk7CiAgCi0gICAvKiBSZWFkIHRoZSBDVEYgc2VjdGlvbiBvbmx5IGlm IHRoZXJlIGlzIG5vIERXQVJGIGluZm8uICAqLworIAkgIGlmICh0YXJnZXRfZXhlY19maWxlX2J1 aWxkX2lkICE9IG51bGxwdHIpCisgCSAgICB7CiBkaWZmIC0tZ2l0IGEvZ2RiL29iamZpbGVzLmgg Yi9nZGIvb2JqZmlsZXMuaAogLS0tIGEvZ2RiL29iamZpbGVzLmgKICsrKyBiL2dkYi9vYmpmaWxl cy5oCi1AQCAtNjI3LDYgKzYyNywxMCBAQCBzdHJ1Y3Qgb2JqZmlsZQotICAgaHRhYl91cCBzdGF0 aWNfbGlua3M7CitAQCAtNzE0LDYgKzcxNCwxMCBAQCBzdHJ1Y3Qgb2JqZmlsZQorICAgYm9vbCBz a2lwX2ppdF9zeW1ib2xfbG9va3VwID0gZmFsc2U7CiAgfTsKICAKICsvKiBUaGlzIGZpbGUgd2Fz IGxvYWRlZCBhY2NvcmRpbmcgdG8gdGhlIEJVSUxEX0lEX0NPUkVfTE9BRFMgcnVsZXMuICAqLwog KwogKyNkZWZpbmUgT0JKRl9CVUlMRF9JRF9DT1JFX0xPQURFRCBzdGF0aWNfY2FzdDxlbnVtIG9i amZpbGVfZmxhZz4oMSA8PCAxMikKICsKLSAvKiBEZWNsYXJhdGlvbnMgZm9yIGZ1bmN0aW9ucyBk ZWZpbmVkIGluIG9iamZpbGVzLmMgKi8KKyAvKiBBIGRlbGV0ZXIgZm9yIG9iamZpbGUuICAqLwog IAotIGV4dGVybiBzdHJ1Y3QgZ2RiYXJjaCAqZ2V0X29iamZpbGVfYXJjaCAoY29uc3Qgc3RydWN0 IG9iamZpbGUgKik7Cisgc3RydWN0IG9iamZpbGVfZGVsZXRlcgogZGlmZiAtLWdpdCBhL2dkYi9w eXRob24vcHktb2JqZmlsZS5jIGIvZ2RiL3B5dGhvbi9weS1vYmpmaWxlLmMKIC0tLSBhL2dkYi9w eXRob24vcHktb2JqZmlsZS5jCiArKysgYi9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYwpAQCAtMTIx MCw3ICsxMjM1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9zb2xpYi1zdnI0LmMgYi9nZGIvc29saWIt c3ZyNC5jCiAgCiAgc3RhdGljIHN0cnVjdCBsaW5rX21hcF9vZmZzZXRzICpzdnI0X2ZldGNoX2xp bmtfbWFwX29mZnNldHMgKHZvaWQpOwogIHN0YXRpYyBpbnQgc3ZyNF9oYXZlX2xpbmtfbWFwX29m ZnNldHMgKHZvaWQpOwotQEAgLTEzNDQsOSArMTM0NSw1MSBAQCBzdnI0X3JlYWRfc29fbGlzdCAo c3ZyNF9pbmZvICppbmZvLCBDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAorQEAgLTEz MzgsOSArMTMzOSw1MSBAQCBzdnI0X3JlYWRfc29fbGlzdCAoc3ZyNF9pbmZvICppbmZvLCBDT1JF X0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAogIAkgIGNvbnRpbnVlOwogIAl9CiAgCkBAIC0x MjY1LDEwICsxMjkwLDIyIEBAIGRpZmYgLS1naXQgYS9nZGIvc29saWItc3ZyNC5jIGIvZ2RiL3Nv bGliLXN2cjQuYwogIAogICAgICAgIC8qIElmIHRoaXMgZW50cnkgaGFzIG5vIG5hbWUsIG9yIGl0 cyBuYW1lIG1hdGNoZXMgdGhlIG5hbWUKICAJIGZvciB0aGUgbWFpbiBleGVjdXRhYmxlLCBkb24n dCBpbmNsdWRlIGl0IGluIHRoZSBsaXN0LiAgKi8KK2RpZmYgLS1naXQgYS9nZGIvc291cmNlLmMg Yi9nZGIvc291cmNlLmMKKy0tLSBhL2dkYi9zb3VyY2UuYworKysrIGIvZ2RiL3NvdXJjZS5jCitA QCAtMTE2NSw3ICsxMTY1LDcgQEAgb3Blbl9zb3VyY2VfZmlsZSAoc3RydWN0IHN5bXRhYiAqcykK KyAJICAgICAgc3JjcGF0aCArPSBzLT5maWxlbmFtZTsKKyAJICAgIH0KKyAKKy0JICBjb25zdCBz dHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCA9IGJ1aWxkX2lkX2JmZF9nZXQgKG9mcC0+b2Jm ZCk7CisrCSAgY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQgPSBidWlsZF9pZF9i ZmRfc2hkcl9nZXQgKG9mcC0+b2JmZCk7CisgCisgCSAgLyogUXVlcnkgZGVidWdpbmZvZCBmb3Ig dGhlIHNvdXJjZSBmaWxlLiAgKi8KKyAJICBpZiAoYnVpbGRfaWQgIT0gbnVsbHB0ciAmJiAhc3Jj cGF0aC5lbXB0eSAoKSkKIGRpZmYgLS1naXQgYS9nZGIvc3ltZmlsZS5oIGIvZ2RiL3N5bWZpbGUu aAogLS0tIGEvZ2RiL3N5bWZpbGUuaAogKysrIGIvZ2RiL3N5bWZpbGUuaAotQEAgLTUzMiwxMiAr NTMyLDE3IEBAIHZvaWQgZXhwYW5kX3N5bXRhYnNfbWF0Y2hpbmcKK0BAIC01NTAsMTIgKzU1MCwx OCBAQCB2b2lkIGV4cGFuZF9zeW10YWJzX21hdGNoaW5nCiAgdm9pZCBtYXBfc3ltYm9sX2ZpbGVu YW1lcyAoc3ltYm9sX2ZpbGVuYW1lX2Z0eXBlICpmdW4sIHZvaWQgKmRhdGEsCiAgCQkJICAgaW50 IG5lZWRfZnVsbG5hbWUpOwogIApAQCAtMTI4Miw2ICsxMzE5LDcgQEAgZGlmZiAtLWdpdCBhL2dk Yi9zeW1maWxlLmggYi9nZGIvc3ltZmlsZS5oCiArLyogYnVpbGQtaWQgc3VwcG9ydC4gICovCiAr ZXh0ZXJuIHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkX2FkZHJfZ2V0IChDT1JFX0FERFIg YWRkcik7CiArZXh0ZXJuIHZvaWQgZGVidWdfcHJpbnRfbWlzc2luZyAoY29uc3QgY2hhciAqYmlu YXJ5LCBjb25zdCBjaGFyICpkZWJ1Zyk7CisrI2RlZmluZSBCVUlMRF9JRF9NQUlOX0VYRUNVVEFC TEVfRklMRU5BTUUgXygidGhlIG1haW4gZXhlY3V0YWJsZSBmaWxlIikKICsKICAvKiBGcm9tIGR3 YXJmMnJlYWQuYyAqLwogIApAQCAtMTI4OSw3ICsxMzI3LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9z eW1maWxlLmggYi9nZGIvc3ltZmlsZS5oCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9jb3JlZmlsZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4cAog LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmlsZS5leHAKICsrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhwCi1AQCAtMzExLDMgKzMxMSwzMyBAQCBnZGJfdGVz dF9tdWx0aXBsZSAiY29yZS1maWxlICRjb3JlZmlsZSIgJHRlc3QgeworQEAgLTM0MywzICszNDMs MzMgQEAgZ2RiX3Rlc3RfbXVsdGlwbGUgImNvcmUtZmlsZSAkY29yZWZpbGUiICR0ZXN0IHsKICAJ cGFzcyAkdGVzdAogICAgICB9CiAgfQpAQCAtMTMzNyw3ICsxMzc1LDcgQEAgZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbmV3LXVpLXBlbmRpbmctaW5wdXQuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAog KysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAotQEAgLTE4OTEsNiArMTg5MSwxNyBAQCBw cm9jIGRlZmF1bHRfZ2RiX3N0YXJ0IHsgfSB7CitAQCAtMjAxMSw2ICsyMDExLDE3IEBAIHByb2Mg ZGVmYXVsdF9nZGJfc3RhcnQgeyB9IHsKICAJfQogICAgICB9CiAgCkBAIC0xMzU4LDcgKzEzOTYs NyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCBiL2dkYi90ZXN0c3Vp dGUvbGliL2dkYi5leHAKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0 LmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCiAtLS0gYS9nZGIvdGVzdHN1 aXRlL2xpYi9taS1zdXBwb3J0LmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9y dC5leHAKLUBAIC0zMDksNiArMzA5LDE2IEBAIHByb2MgZGVmYXVsdF9taV9nZGJfc3RhcnQgeyBh cmdzIH0geworQEAgLTMwOCw2ICszMDgsMTYgQEAgcHJvYyBkZWZhdWx0X21pX2dkYl9zdGFydCB7 IGFyZ3MgfSB7CiAgCSAgICB3YXJuaW5nICJDb3VsZG4ndCBzZXQgdGhlIHdpZHRoIHRvIDAuIgog IAl9CiAgICAgIH0KCmRpZmYgLS1naXQgYS9nZGItNi43LXRlc3RzdWl0ZS1zdGFibGUtcmVzdWx0 cy5wYXRjaCBiL2dkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1bHRzLnBhdGNoCmluZGV4IGVj OGY5YzIuLjBlY2ExYTcgMTAwNjQ0Ci0tLSBhL2dkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1 bHRzLnBhdGNoCisrKyBiL2dkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1bHRzLnBhdGNoCkBA IC0yOCw3ICsyOCw3IEBAIGZyYW1lcy1pbnZhbGlkIGNhbiBoYXBwZW4gYXN5bmNocm9ub3VzbHku CiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9maWxlaW8uYyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvZmlsZWlvLmMKIC0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZmls ZWlvLmMKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZmlsZWlvLmMKLUBAIC01NjAsNiAr NTYwLDI4IEBAIHN0cmVycm5vIChpbnQgZXJyKQorQEAgLTU1OSw2ICs1NTksMjggQEAgc3RyZXJy bm8gKGludCBlcnIpCiAgaW50CiAgbWFpbiAoKQogIHsKCmRpZmYgLS1naXQgYS9nZGItNi44LXF1 aXQtbmV2ZXItYWJvcnRzLnBhdGNoIGIvZ2RiLTYuOC1xdWl0LW5ldmVyLWFib3J0cy5wYXRjaApp bmRleCA0ZGQwMWM1Li5hNjgyNDY5IDEwMDY0NAotLS0gYS9nZGItNi44LXF1aXQtbmV2ZXItYWJv cnRzLnBhdGNoCisrKyBiL2dkYi02LjgtcXVpdC1uZXZlci1hYm9ydHMucGF0Y2gKQEAgLTE2LDcg KzE2LDcgQEAgb24gdGhlIGRlYnVnZ2VyIHRlcm1pbmF0aW9uKS4KIGRpZmYgLS1naXQgYS9nZGIv ZGVmcy5oIGIvZ2RiL2RlZnMuaAogLS0tIGEvZ2RiL2RlZnMuaAogKysrIGIvZ2RiL2RlZnMuaAot QEAgLTE2OCw2ICsxNjgsMTAgQEAgZXh0ZXJuIHZvaWQgZGVmYXVsdF9xdWl0X2hhbmRsZXIgKHZv aWQpOworQEAgLTE3Nyw2ICsxNzcsMTAgQEAgZXh0ZXJuIHZvaWQgZGVmYXVsdF9xdWl0X2hhbmRs ZXIgKHZvaWQpOwogIC8qIEZsYWcgdGhhdCBmdW5jdGlvbiBxdWl0IHNob3VsZCBjYWxsIHF1aXRf Zm9yY2UuICAqLwogIGV4dGVybiB2b2xhdGlsZSBpbnQgc3luY19xdWl0X2ZvcmNlX3J1bjsKICAK QEAgLTMwLDI0ICszMCwyNCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2RlZnMuaCBiL2dkYi9kZWZzLmgK IGRpZmYgLS1naXQgYS9nZGIvZXh0ZW5zaW9uLmMgYi9nZGIvZXh0ZW5zaW9uLmMKIC0tLSBhL2dk Yi9leHRlbnNpb24uYwogKysrIGIvZ2RiL2V4dGVuc2lvbi5jCi1AQCAtODIzLDYgKzgyMywxMSBA QCBjaGVja19xdWl0X2ZsYWcgKHZvaWQpCi0gICBpbnQgaSwgcmVzdWx0ID0gMDsKLSAgIGNvbnN0 IHN0cnVjdCBleHRlbnNpb25fbGFuZ3VhZ2VfZGVmbiAqZXh0bGFuZzsKK0BAIC03NjksNiArNzY5 LDExIEBAIGNoZWNrX3F1aXRfZmxhZyAodm9pZCkKKyB7CisgICBpbnQgcmVzdWx0ID0gMDsKICAK ICsjaWZkZWYgTkVFRF9ERVRBQ0hfU0lHU1RPUAogKyAgaWYgKHF1aXRfZmxhZ19jbGVhbnVwKQog KyAgICByZXR1cm4gMDsKICsjZW5kaWYKICsKLSAgIEFMTF9FTkFCTEVEX0VYVEVOU0lPTl9MQU5H VUFHRVMgKGksIGV4dGxhbmcpCisgICBmb3IgKGNvbnN0IHN0cnVjdCBleHRlbnNpb25fbGFuZ3Vh Z2VfZGVmbiAqZXh0bGFuZyA6IGV4dGVuc2lvbl9sYW5ndWFnZXMpCiAgICAgIHsKLSAgICAgICBp ZiAoZXh0bGFuZy0+b3BzLT5jaGVja19xdWl0X2ZsYWcgIT0gTlVMTCkKKyAgICAgICBpZiAoZXh0 bGFuZy0+b3BzICE9IG51bGxwdHIKIGRpZmYgLS1naXQgYS9nZGIvdG9wLmMgYi9nZGIvdG9wLmMK IC0tLSBhL2dkYi90b3AuYwogKysrIGIvZ2RiL3RvcC5jCi1AQCAtMTcwMyw3ICsxNzAzLDEzIEBA IHF1aXRfZm9yY2UgKGludCAqZXhpdF9hcmcsIGludCBmcm9tX3R0eSkKLSAKLSAgIHF0LmZyb21f dHR5ID0gZnJvbV90dHk7CitAQCAtMTc3MCw3ICsxNzcwLDEzIEBAIHF1aXRfZm9yY2UgKGludCAq ZXhpdF9hcmcsIGludCBmcm9tX3R0eSkKKyAgIGVsc2UgaWYgKHJldHVybl9jaGlsZF9yZXN1bHQp CisgICAgIGV4aXRfY29kZSA9IHJldHVybl9jaGlsZF9yZXN1bHRfdmFsdWU7CiAgCiArI2lmbmRl ZiBORUVEX0RFVEFDSF9TSUdTVE9QCiAgICAvKiBXZSB3YW50IHRvIGhhbmRsZSBhbnkgcXVpdCBl cnJvcnMgYW5kIGV4aXQgcmVnYXJkbGVzcy4gICovCkBAIC02Miw3ICs2Miw3IEBAIGRpZmYgLS1n aXQgYS9nZGIvdG9wLmMgYi9nZGIvdG9wLmMKIGRpZmYgLS1naXQgYS9nZGIvdXRpbHMuYyBiL2dk Yi91dGlscy5jCiAtLS0gYS9nZGIvdXRpbHMuYwogKysrIGIvZ2RiL3V0aWxzLmMKLUBAIC0xMDIs NiArMTAyLDEzIEBAIHN0YXRpYyBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpkdXJhdGlvbiBw cm9tcHRfZm9yX2NvbnRpbnVlX3dhaXRfdGltZTsKK0BAIC0xMDMsNiArMTAzLDEzIEBAIHN0YXRp YyBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpkdXJhdGlvbiBwcm9tcHRfZm9yX2NvbnRpbnVl X3dhaXRfdGltZTsKICAKICBzdGF0aWMgYm9vbCBkZWJ1Z190aW1lc3RhbXAgPSBmYWxzZTsKICAK CmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXBpZS1hZGRvbnMta2VlcC1kaXNhYmxlZC5wYXRjaCBi L2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCmluZGV4IDQwYWIxNmIu LmVkMDJmMmMgMTAwNjQ0Ci0tLSBhL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVk LnBhdGNoCisrKyBiL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCkBA IC04LDEyICs4LDEyIEBAIFN1YmplY3Q6IGdkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2Fi bGVkLnBhdGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dkYi9icmVha3BvaW50 LmMKIC0tLSBhL2dkYi9icmVha3BvaW50LmMKICsrKyBiL2dkYi9icmVha3BvaW50LmMKLUBAIC0x NTM5Niw2ICsxNTM5Niw1MSBAQCBzdGF0aWMgc3RydWN0IGNtZF9saXN0X2VsZW1lbnQgKmVuYWJs ZWJyZWFrbGlzdCA9IE5VTEw7CitAQCAtMTU0MzEsNiArMTU0MzEsNTAgQEAgc3RhdGljIHN0cnVj dCBjbWRfbGlzdF9lbGVtZW50ICplbmFibGVicmVha2xpc3QgPSBOVUxMOwogIAogIGNtZF9saXN0 X2VsZW1lbnQgKmNvbW1hbmRzX2NtZF9lbGVtZW50ID0gbnVsbHB0cjsKICAKICt2b2lkCi0rYnJl YWtwb2ludHNfcmVsb2NhdGUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBzdHJ1Y3Qgc2VjdGlv bl9vZmZzZXRzICpkZWx0YSkKKyticmVha3BvaW50c19yZWxvY2F0ZSAoc3RydWN0IG9iamZpbGUg Km9iamZpbGUsIHNlY3Rpb25fb2Zmc2V0cyAmZGVsdGEpCiArewogKyAgc3RydWN0IGJwX2xvY2F0 aW9uICpibCwgKipibHBfdG1wOwogKyAgaW50IGNoYW5nZWQgPSAwOwpAQCAtMzIsNyArMzIsNyBA QCBkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dkYi9icmVha3BvaW50LmMKICsJICBD T1JFX0FERFIgcmVsb2NhdGVkX2FkZHJlc3M7CiArCSAgQ09SRV9BRERSIGRlbHRhX29mZnNldDsK ICsKLSsJICBkZWx0YV9vZmZzZXQgPSBBTk9GRlNFVCAoZGVsdGEsIG9zZWN0LT50aGVfYmZkX3Nl Y3Rpb24tPmluZGV4KTsKKysJICBkZWx0YV9vZmZzZXQgPSBkZWx0YVtvc2VjdC0+dGhlX2JmZF9z ZWN0aW9uLT5pbmRleF07CiArCSAgaWYgKGRlbHRhX29mZnNldCA9PSAwKQogKwkgICAgY29udGlu dWU7CiArCSAgcmVsb2NhdGVkX2FkZHJlc3MgPSBibC0+YWRkcmVzcyArIGRlbHRhX29mZnNldDsK QEAgLTU2LDE5ICs1NiwxOCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dkYi9i cmVha3BvaW50LmMKICsJICAgICAgIGJwX2xvY2F0aW9uX2lzX2xlc3NfdGhhbik7CiArfQogKwot K3ZvaWQgX2luaXRpYWxpemVfYnJlYWtwb2ludCAodm9pZCk7Cisgdm9pZCBfaW5pdGlhbGl6ZV9i cmVha3BvaW50ICgpOwogIHZvaWQKLSBfaW5pdGlhbGl6ZV9icmVha3BvaW50ICh2b2lkKQotIHsK KyBfaW5pdGlhbGl6ZV9icmVha3BvaW50ICgpCiBkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQu aCBiL2dkYi9icmVha3BvaW50LmgKIC0tLSBhL2dkYi9icmVha3BvaW50LmgKICsrKyBiL2dkYi9i cmVha3BvaW50LmgKLUBAIC0xNjk2LDYgKzE2OTYsOSBAQCBleHRlcm4gY29uc3QgY2hhciAqZXBf cGFyc2Vfb3B0aW9uYWxfaWZfY2xhdXNlIChjb25zdCBjaGFyICoqYXJnKTsKK0BAIC0xNjkxLDYg KzE2OTEsOSBAQCBleHRlcm4gY29uc3QgY2hhciAqZXBfcGFyc2Vfb3B0aW9uYWxfaWZfY2xhdXNl IChjb25zdCBjaGFyICoqYXJnKTsKICAgICBVSU9VVCBpZmYgZGVidWdnaW5nIG11bHRpcGxlIHRo cmVhZHMuICAqLwogIGV4dGVybiB2b2lkIG1heWJlX3ByaW50X3RocmVhZF9oaXRfYnJlYWtwb2lu dCAoc3RydWN0IHVpX291dCAqdWlvdXQpOwogIAogK2V4dGVybiB2b2lkIGJyZWFrcG9pbnRzX3Jl bG9jYXRlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKLSsJCQkJICBzdHJ1Y3Qgc2VjdGlvbl9v ZmZzZXRzICpkZWx0YSk7CisrCQkJCSAgc2VjdGlvbl9vZmZzZXRzICZkZWx0YSk7CiArCiAgLyog UHJpbnQgdGhlIHNwZWNpZmllZCBicmVha3BvaW50LiAgKi8KICBleHRlcm4gdm9pZCBwcmludF9i cmVha3BvaW50IChicmVha3BvaW50ICpicCk7CkBAIC03Niw3ICs3NSw3IEBAIGRpZmYgLS1naXQg YS9nZGIvYnJlYWtwb2ludC5oIGIvZ2RiL2JyZWFrcG9pbnQuaAogZGlmZiAtLWdpdCBhL2dkYi9v YmpmaWxlcy5jIGIvZ2RiL29iamZpbGVzLmMKIC0tLSBhL2dkYi9vYmpmaWxlcy5jCiArKysgYi9n ZGIvb2JqZmlsZXMuYwotQEAgLTgxNiw2ICs4MTYsMTEgQEAgb2JqZmlsZV9yZWxvY2F0ZTEgKHN0 cnVjdCBvYmpmaWxlICpvYmpmaWxlLAorQEAgLTc0Miw2ICs3NDIsMTEgQEAgb2JqZmlsZV9yZWxv Y2F0ZTEgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogIAkJCQlvYmpfc2VjdGlvbl9hZGRyIChz KSk7CiAgICAgIH0KICAKQEAgLTg4LDE1ICs4NywzIEBAIGRpZmYgLS1naXQgYS9nZGIvb2JqZmls ZXMuYyBiL2dkYi9vYmpmaWxlcy5jCiAgICAvKiBEYXRhIGNoYW5nZWQuICAqLwogICAgcmV0dXJu IDE7CiAgfQotZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5jIGIvZ2RiL3ZhbHVlLmMKLS0tLSBhL2dk Yi92YWx1ZS5jCi0rKysgYi9nZGIvdmFsdWUuYwotQEAgLTI4NDAsNyArMjg0MCw3IEBAIHZhbHVl X3N0YXRpY19maWVsZCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBmaWVsZG5vKQotICAgICBjYXNl IEZJRUxEX0xPQ19LSU5EX1BIWVNBRERSOgotICAgICAgIHJldHZhbCA9IHZhbHVlX2F0X2xhenkg KFRZUEVfRklFTERfVFlQRSAodHlwZSwgZmllbGRubyksCi0gCQkJICAgICAgVFlQRV9GSUVMRF9T VEFUSUNfUEhZU0FERFIgKHR5cGUsIGZpZWxkbm8pCi0tCQkJICAgICAgKyAoVFlQRV9PQkpGSUxF ICh0eXBlKSA9PSBOVUxMID8gMCA6IFRZUEVfT0JKRklMRSAodHlwZSktPnNlY3Rpb25fb2Zmc2V0 c1tTRUNUX09GRl9URVhUIChUWVBFX09CSkZJTEUgKHR5cGUpKV0pKTsKLSsJCQkgICAgICArIChU WVBFX09CSkZJTEUgKHR5cGUpID09IE5VTEwgPyAwIDogQU5PRkZTRVQgKFRZUEVfT0JKRklMRSAo dHlwZSktPnNlY3Rpb25fb2Zmc2V0cywgU0VDVF9PRkZfVEVYVCAoVFlQRV9PQkpGSUxFICh0eXBl KSkpKSk7Ci0gICAgICAgYnJlYWs7Ci0gICAgIGNhc2UgRklFTERfTE9DX0tJTkRfUEhZU05BTUU6 Ci0gICAgIHsKCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2ggYi9nZGIt YXJjaGVyLXBpZS1hZGRvbnMucGF0Y2gKaW5kZXggZTNhZjNhOS4uZjBjNjhkYiAxMDA2NDQKLS0t IGEvZ2RiLWFyY2hlci1waWUtYWRkb25zLnBhdGNoCisrKyBiL2dkYi1hcmNoZXItcGllLWFkZG9u cy5wYXRjaApAQCAtOCw3ICs4LDcgQEAgU3ViamVjdDogZ2RiLWFyY2hlci1waWUtYWRkb25zLnBh dGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmggYi9nZGIvZ2RidHlwZXMuaAogLS0tIGEv Z2RiL2dkYnR5cGVzLmgKICsrKyBiL2dkYi9nZGJ0eXBlcy5oCi1AQCAtNTE2LDYgKzUxNiw3IEBA IGVudW0gZmllbGRfbG9jX2tpbmQKK0BAIC02NDksNiArNjQ5LDcgQEAgZW51bSBmaWVsZF9sb2Nf a2luZAogICAgewogICAgICBGSUVMRF9MT0NfS0lORF9CSVRQT1MsCS8qKjwgYml0cG9zICovCiAg ICAgIEZJRUxEX0xPQ19LSU5EX0VOVU1WQUwsCS8qKjwgZW51bXZhbCAqLwpAQCAtMTYsNyArMTYs NyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmggYi9nZGIvZ2RidHlwZXMuaAogICAgICBG SUVMRF9MT0NfS0lORF9QSFlTQUREUiwJLyoqPCBwaHlzYWRkciAqLwogICAgICBGSUVMRF9MT0Nf S0lORF9QSFlTTkFNRSwJLyoqPCBwaHlzbmFtZSAqLwogICAgICBGSUVMRF9MT0NfS0lORF9EV0FS Rl9CTE9DSwkvKio8IGR3YXJmX2Jsb2NrICovCi1AQCAtNTY2LDYgKzU2Nyw3IEBAIHVuaW9uIGZp ZWxkX2xvY2F0aW9uCitAQCAtNjk5LDYgKzcwMCw3IEBAIHVuaW9uIGZpZWxkX2xvY2F0aW9uCiAg ICAgICBmaWVsZC4gIE90aGVyd2lzZSwgcGh5c25hbWUgaXMgdGhlIG1hbmdsZWQgbGFiZWwgb2Yg dGhlCiAgICAgICBzdGF0aWMgZmllbGQuICAqLwogIApAQCAtMjQsMzcgKzI0LDEzIEBAIGRpZmYg LS1naXQgYS9nZGIvZ2RidHlwZXMuaCBiL2dkYi9nZGJ0eXBlcy5oCiAgICBDT1JFX0FERFIgcGh5 c2FkZHI7CiAgICBjb25zdCBjaGFyICpwaHlzbmFtZTsKICAKLUBAIC0xNDc0LDYgKzE0NzYsNyBA QCBleHRlcm4gdm9pZCBzZXRfdHlwZV92cHRyX2Jhc2V0eXBlIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1 Y3QgdHlwZSAqKTsKLSAjZGVmaW5lIEZJRUxEX0VOVU1WQUxfTFZBTCh0aGlzZmxkKSAoKHRoaXNm bGQpLmxvYy5lbnVtdmFsKQotICNkZWZpbmUgRklFTERfRU5VTVZBTCh0aGlzZmxkKSAoRklFTERf RU5VTVZBTF9MVkFMICh0aGlzZmxkKSArIDApCi0gI2RlZmluZSBGSUVMRF9TVEFUSUNfUEhZU05B TUUodGhpc2ZsZCkgKCh0aGlzZmxkKS5sb2MucGh5c25hbWUpCi0rLyogVGhpcyBhZGRyZXNzIGlz IHVucmVsb2NhdGVkIGJ5IHRoZSBvYmpmaWxlJ3MgQU5PRkZTRVQuICAqLwotICNkZWZpbmUgRklF TERfU1RBVElDX1BIWVNBRERSKHRoaXNmbGQpICgodGhpc2ZsZCkubG9jLnBoeXNhZGRyKQotICNk ZWZpbmUgRklFTERfRFdBUkZfQkxPQ0sodGhpc2ZsZCkgKCh0aGlzZmxkKS5sb2MuZHdhcmZfYmxv Y2spCi0gI2RlZmluZSBTRVRfRklFTERfQklUUE9TKHRoaXNmbGQsIGJpdHBvcykJCQlcCi1AQCAt MTQ4NSw2ICsxNDg4LDcgQEAgZXh0ZXJuIHZvaWQgc2V0X3R5cGVfdnB0cl9iYXNldHlwZSAoc3Ry dWN0IHR5cGUgKiwgc3RydWN0IHR5cGUgKik7Ci0gI2RlZmluZSBTRVRfRklFTERfUEhZU05BTUUo dGhpc2ZsZCwgbmFtZSkJCQlcCi0gICAoRklFTERfTE9DX0tJTkQgKHRoaXNmbGQpID0gRklFTERf TE9DX0tJTkRfUEhZU05BTUUsCQlcCi0gICAgRklFTERfU1RBVElDX1BIWVNOQU1FICh0aGlzZmxk KSA9IChuYW1lKSkKLSsvKiBUaGlzIGFkZHJlc3MgaXMgdW5yZWxvY2F0ZWQgYnkgdGhlIG9iamZp bGUncyBBTk9GRlNFVC4gICovCi0gI2RlZmluZSBTRVRfRklFTERfUEhZU0FERFIodGhpc2ZsZCwg YWRkcikJCQlcCi0gICAoRklFTERfTE9DX0tJTkQgKHRoaXNmbGQpID0gRklFTERfTE9DX0tJTkRf UEhZU0FERFIsCQlcCi0gICAgRklFTERfU1RBVElDX1BIWVNBRERSICh0aGlzZmxkKSA9IChhZGRy KSkKLUBAIC0xNTAxLDYgKzE1MDUsNyBAQCBleHRlcm4gdm9pZCBzZXRfdHlwZV92cHRyX2Jhc2V0 eXBlIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdHlwZSAqKTsKLSAjZGVmaW5lIFRZUEVfRklFTERf QklUUE9TKHRoaXN0eXBlLCBuKSBGSUVMRF9CSVRQT1MgKFRZUEVfRklFTEQgKHRoaXN0eXBlLCBu KSkKLSAjZGVmaW5lIFRZUEVfRklFTERfRU5VTVZBTCh0aGlzdHlwZSwgbikgRklFTERfRU5VTVZB TCAoVFlQRV9GSUVMRCAodGhpc3R5cGUsIG4pKQotICNkZWZpbmUgVFlQRV9GSUVMRF9TVEFUSUNf UEhZU05BTUUodGhpc3R5cGUsIG4pIEZJRUxEX1NUQVRJQ19QSFlTTkFNRSAoVFlQRV9GSUVMRCAo dGhpc3R5cGUsIG4pKQotKy8qIFRoaXMgYWRkcmVzcyBpcyB1bnJlbG9jYXRlZCBieSB0aGUgb2Jq ZmlsZSdzIEFOT0ZGU0VULiAgKi8KLSAjZGVmaW5lIFRZUEVfRklFTERfU1RBVElDX1BIWVNBRERS KHRoaXN0eXBlLCBuKSBGSUVMRF9TVEFUSUNfUEhZU0FERFIgKFRZUEVfRklFTEQgKHRoaXN0eXBl LCBuKSkKLSAjZGVmaW5lIFRZUEVfRklFTERfRFdBUkZfQkxPQ0sodGhpc3R5cGUsIG4pIEZJRUxE X0RXQVJGX0JMT0NLIChUWVBFX0ZJRUxEICh0aGlzdHlwZSwgbikpCi0gI2RlZmluZSBUWVBFX0ZJ RUxEX0FSVElGSUNJQUwodGhpc3R5cGUsIG4pIEZJRUxEX0FSVElGSUNJQUwoVFlQRV9GSUVMRCh0 aGlzdHlwZSxuKSkKIGRpZmYgLS1naXQgYS9nZGIvdmFsdWUuYyBiL2dkYi92YWx1ZS5jCiAtLS0g YS9nZGIvdmFsdWUuYwogKysrIGIvZ2RiL3ZhbHVlLmMKLUBAIC0yODM5LDcgKzI4MzksOCBAQCB2 YWx1ZV9zdGF0aWNfZmllbGQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgZmllbGRubykKK0BAIC0y ODUwLDcgKzI4NTAsOCBAQCB2YWx1ZV9zdGF0aWNfZmllbGQgKHN0cnVjdCB0eXBlICp0eXBlLCBp bnQgZmllbGRubykKICAgICAgewogICAgICBjYXNlIEZJRUxEX0xPQ19LSU5EX1BIWVNBRERSOgot ICAgICAgIHJldHZhbCA9IHZhbHVlX2F0X2xhenkgKFRZUEVfRklFTERfVFlQRSAodHlwZSwgZmll bGRubyksCisgICAgICAgcmV0dmFsID0gdmFsdWVfYXRfbGF6eSAodHlwZS0+ZmllbGQgKGZpZWxk bm8pLnR5cGUgKCksCiAtCQkJICAgICAgVFlQRV9GSUVMRF9TVEFUSUNfUEhZU0FERFIgKHR5cGUs IGZpZWxkbm8pKTsKICsJCQkgICAgICBUWVBFX0ZJRUxEX1NUQVRJQ19QSFlTQUREUiAodHlwZSwg ZmllbGRubykKICsJCQkgICAgICArIChUWVBFX09CSkZJTEUgKHR5cGUpID09IE5VTEwgPyAwIDog VFlQRV9PQkpGSUxFICh0eXBlKS0+c2VjdGlvbl9vZmZzZXRzW1NFQ1RfT0ZGX1RFWFQgKFRZUEVf T0JKRklMRSAodHlwZSkpXSkpOwoKZGlmZiAtLWdpdCBhL2dkYi1hcmNoZXItdmxhLXRlc3RzLnBh dGNoIGIvZ2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2gKaW5kZXggOTkyMTk0MC4uNDdjOThkMyAx MDA2NDQKLS0tIGEvZ2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2gKKysrIGIvZ2RiLWFyY2hlci12 bGEtdGVzdHMucGF0Y2gKQEAgLTM2ODksNyArMzY4OSw3IEBAIG5ldyBmaWxlIG1vZGUgMTAwNjQ0 CiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCBiL2dkYi90ZXN0c3VpdGUv bGliL2dkYi5leHAKIC0tLSBhL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKICsrKyBiL2dkYi90 ZXN0c3VpdGUvbGliL2dkYi5leHAKLUBAIC0xNzAsNiArMTcwLDExIEBAIHByb2MgZ2RiX3VubG9h ZCB7fSB7CitAQCAtMjI0LDYgKzIyNCwxMSBAQCBwcm9jIGdkYl91bmxvYWQge30gewogIAkgICAg c2VuZF9nZGIgInlcbiIgYW5zd2VyCiAgCSAgICBleHBfY29udGludWUKICAJfQpAQCAtMzcwNSwx MiArMzcwNSwxMiBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2FsLmV4cCBi L2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAKIC0tLSBhL2dkYi90ZXN0c3VpdGUvbGliL3Bh c2NhbC5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAKIEBAIC0zNyw2ICsz Nyw5IEBAIHByb2MgcGFzY2FsX2luaXQge30gewotICAgICBnbG9iYWwgcGFzY2FsX2NvbXBpbGVy X2lzX2ZwYwotICAgICBnbG9iYWwgZ3BjX2NvbXBpbGVyCi0gICAgIGdsb2JhbCBmcGNfY29tcGls ZXIKLSsgICAgZ2xvYmFsIGZwY3ZlcnNpb25fbWFqb3IKLSsgICAgZ2xvYmFsIGZwY3ZlcnNpb25f bWlub3IKLSsgICAgZ2xvYmFsIGZwY3ZlcnNpb25fcmVsZWFzZQorICAgICBnZGJfcGVyc2lzdGVu dF9nbG9iYWwgcGFzY2FsX2NvbXBpbGVyX2lzX2ZwYworICAgICBnZGJfcGVyc2lzdGVudF9nbG9i YWwgZ3BjX2NvbXBpbGVyCisgICAgIGdkYl9wZXJzaXN0ZW50X2dsb2JhbCBmcGNfY29tcGlsZXIK KysgICAgZ2RiX3BlcnNpc3RlbnRfZ2xvYmFsIGZwY3ZlcnNpb25fbWFqb3IKKysgICAgZ2RiX3Bl cnNpc3RlbnRfZ2xvYmFsIGZwY3ZlcnNpb25fbWlub3IKKysgICAgZ2RiX3BlcnNpc3RlbnRfZ2xv YmFsIGZwY3ZlcnNpb25fcmVsZWFzZQogICAgICBnbG9iYWwgZW52CiAgIAogICAgICBpZiB7ICRw YXNjYWxfaW5pdF9kb25lID09IDEgfSB7CgpkaWZmIC0tZ2l0IGEvZ2RiLWF0dGFjaC1mYWlsLXJl YXNvbnMtNW9mNS5wYXRjaCBiL2dkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0Y2gKaW5k ZXggNWIzYjZkMy4uODgzMGJlMyAxMDA2NDQKLS0tIGEvZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMt NW9mNS5wYXRjaAorKysgYi9nZGItYXR0YWNoLWZhaWwtcmVhc29ucy01b2Y1LnBhdGNoCkBAIC00 NSw3ICs0NSw3IEBAIGdkYi9nZGJzZXJ2ZXIvCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZy5pbiBi L2dkYi9jb25maWcuaW4KIC0tLSBhL2dkYi9jb25maWcuaW4KICsrKyBiL2dkYi9jb25maWcuaW4K LUBAIC0yNTEsNiArMjUxLDkgQEAKK0BAIC0yNTMsNiArMjUzLDkgQEAKICAvKiBEZWZpbmUgaWYg bGlicnBtIGxpYnJhcnkgaXMgYmVpbmcgdXNlZC4gKi8KICAjdW5kZWYgSEFWRV9MSUJSUE0KICAK QEAgLTU1LDcgKzU1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWcuaW4gYi9nZGIvY29uZmln LmluCiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsaWJ1bndpbmQtaWE2NC5oPiBo ZWFkZXIgZmlsZS4gKi8KICAjdW5kZWYgSEFWRV9MSUJVTldJTkRfSUE2NF9ICiAgCi1AQCAtMzg2 LDYgKzM4OSw5IEBACitAQCAtMzg4LDYgKzM5MSw5IEBACiAgLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIGBzY21fbmV3X3Ntb2InIGZ1bmN0aW9uLiAqLwogICN1bmRlZiBIQVZFX1NDTV9O RVdfU01PQgogIApAQCAtNjgsNyArNjgsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZy5pbiBi L2dkYi9jb25maWcuaW4KIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3Vy ZQogLS0tIGEvZ2RiL2NvbmZpZ3VyZQogKysrIGIvZ2RiL2NvbmZpZ3VyZQotQEAgLTE2NDM0LDYg KzE2NDM0LDY0IEBAIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKK0BAIC0xNjg2MSw2ICsxNjg2 MSw2NCBAQCBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCiAgX0FDRU9GCiAgCiAgCkBAIC0xMzYs NyArMTM2LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUgYi9nZGIvY29uZmlndXJlCiBk aWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKIC0tLSBhL2dk Yi9jb25maWd1cmUuYWMKICsrKyBiL2dkYi9jb25maWd1cmUuYWMKLUBAIC0xOTY0LDYgKzE5NjQs MTAgQEAgY2FzZSAkaG9zdF9vcyBpbgorQEAgLTE5MDAsNiArMTkwMCwxMCBAQCBjYXNlICRob3N0 X29zIGluCiAgZXNhYwogIEFDX0RFRklORV9VTlFVT1RFRChHREJJTklULCIkZ2RiaW5pdCIsW1Ro ZSAuZ2RiaW5pdCBmaWxlbmFtZS5dKQogIApAQCAtMTQ3LDEyICsxNDcsOTMgQEAgZGlmZiAtLWdp dCBhL2dkYi9jb25maWd1cmUuYWMgYi9nZGIvY29uZmlndXJlLmFjCiAgZG5sIEhhbmRsZSBvcHRp b25hbCBmZWF0dXJlcyB0aGF0IGNhbiBiZSBlbmFibGVkLgogIAogICMgU3VwcG9ydCBmb3IgLS13 aXRoLXN5c3Jvb3QgaXMgYSBjb3B5IG9mIEdEQl9BQ19XSVRIX0RJUiwKLWRpZmYgLS1naXQgYS9n ZGIvZ2Ric2VydmVyL2NvbmZpZy5pbiBiL2dkYi9nZGJzZXJ2ZXIvY29uZmlnLmluCi0tLS0gYS9n ZGIvZ2Ric2VydmVyL2NvbmZpZy5pbgotKysrIGIvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4KLUBA IC0xMjUsNiArMTI1LDkgQEAKLSAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGRsJyBs aWJyYXJ5ICgtbGRsKS4gKi8KLSAjdW5kZWYgSEFWRV9MSUJETAorZGlmZiAtLWdpdCBhL2dkYi9s aW51eC1uYXQuYyBiL2dkYi9saW51eC1uYXQuYworLS0tIGEvZ2RiL2xpbnV4LW5hdC5jCisrKysg Yi9nZGIvbGludXgtbmF0LmMKK0BAIC0xMTAzLDcgKzExMDMsMTYgQEAgbGludXhfbmF0X3Rhcmdl dDo6Y3JlYXRlX2luZmVyaW9yIChjb25zdCBjaGFyICpleGVjX2ZpbGUsCisgICAvKiBNYWtlIHN1 cmUgd2UgcmVwb3J0IGFsbCBzaWduYWxzIGR1cmluZyBzdGFydHVwLiAgKi8KKyAgIHBhc3Nfc2ln bmFscyAoe30pOworIAorLSAgaW5mX3B0cmFjZV90YXJnZXQ6OmNyZWF0ZV9pbmZlcmlvciAoZXhl Y19maWxlLCBhbGxhcmdzLCBlbnYsIGZyb21fdHR5KTsKKysgIHRyeQorKyAgICB7CisrICAgICAg aW5mX3B0cmFjZV90YXJnZXQ6OmNyZWF0ZV9pbmZlcmlvciAoZXhlY19maWxlLCBhbGxhcmdzLCBl bnYsIGZyb21fdHR5KTsKKysgICAgfQorKyAgY2F0Y2ggKGNvbnN0IGdkYl9leGNlcHRpb25fZXJy b3IgJmV4KQorKyAgICB7CisrICAgICAgc3RkOjpzdHJpbmcgcmVzdWx0ID0gIGxpbnV4X3B0cmFj ZV9jcmVhdGVfd2FybmluZ3MgKCk7CisrCisrICAgICAgdGhyb3dfZXJyb3IgKGV4LmVycm9yLCAi JXMlcyIsIHJlc3VsdC5jX3N0ciAoKSwgZXgubWVzc2FnZS0+Y19zdHIgKCkpOworKyAgICB9Cisg fQorIAorIC8qIENhbGxiYWNrIGZvciBsaW51eF9wcm9jX2F0dGFjaF90Z2lkX3RocmVhZHMuICBB dHRhY2ggdG8gUFRJRCBpZiBub3QKK2RpZmYgLS1naXQgYS9nZGIvbmF0L2xpbnV4LXB0cmFjZS5j IGIvZ2RiL25hdC9saW51eC1wdHJhY2UuYworLS0tIGEvZ2RiL25hdC9saW51eC1wdHJhY2UuYwor KysrIGIvZ2RiL25hdC9saW51eC1wdHJhY2UuYworQEAgLTI1LDYgKzI1LDEwIEBACisgI2luY2x1 ZGUgPHN5cy9wcm9jZnMuaD4KKyAjZW5kaWYKKyAKKysjaWZkZWYgSEFWRV9TRUxJTlVYX1NFTElO VVhfSAorKyMgaW5jbHVkZSA8c2VsaW51eC9zZWxpbnV4Lmg+CisrI2VuZGlmIC8qIEhBVkVfU0VM SU5VWF9TRUxJTlVYX0ggKi8KKysKKyAvKiBTdG9yZXMgdGhlIHB0cmFjZSBvcHRpb25zIHN1cHBv cnRlZCBieSB0aGUgcnVubmluZyBrZXJuZWwuCisgICAgQSB2YWx1ZSBvZiAtMSBtZWFucyB3ZSBk aWQgbm90IGNoZWNrIGZvciBmZWF0dXJlcyB5ZXQuICBBIHZhbHVlCisgICAgb2YgMCBtZWFucyB0 aGVyZSBhcmUgbm8gc3VwcG9ydGVkIGZlYXR1cmVzLiAgKi8KK0BAIC01MCw2ICs1NCw4IEBAIGxp bnV4X3B0cmFjZV9hdHRhY2hfZmFpbF9yZWFzb24gKHBpZF90IHBpZCkKKyAJCSAgICAgICJ0ZXJt aW5hdGVkIiksCisgCQkgICAgKGludCkgcGlkKTsKKyAKKysgIHJlc3VsdCArPSBsaW51eF9wdHJh Y2VfY3JlYXRlX3dhcm5pbmdzICgpOworKworICAgcmV0dXJuIHJlc3VsdDsKKyB9CisgCitAQCAt NTg2LDYgKzU5MiwyNSBAQCBsaW51eF9wdHJhY2VfaW5pdF93YXJuaW5ncyAodm9pZCkKKyAgIGxp bnV4X3B0cmFjZV90ZXN0X3JldF90b19ueCAoKTsKKyB9CisgCisrLyogUHJpbnQgYWxsIHBvc3Np YmxlIHJlYXNvbnMgd2UgY291bGQgZmFpbCB0byBjcmVhdGUgYSB0cmFjZWQgcHJvY2Vzcy4gICov CisrCisrc3RkOjpzdHJpbmcKKytsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzICgpCisrewor KyAgc3RkOjpzdHJpbmcgcmVzdWx0OworKworKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKysgIC8q IC0xIGlzIHJldHVybmVkIGZvciBlcnJvcnMsIDAgaWYgaXQgaGFzIG5vIGVmZmVjdCwgMSBpZiBQ VFJBQ0VfQVRUQUNIIGlzCisrICAgICBmb3JiaWRkZW4uICAqLworKyAgaWYgKHNlY3VyaXR5X2dl dF9ib29sZWFuX2FjdGl2ZSAoImRlbnlfcHRyYWNlIikgPT0gMSkKKysgICAgc3RyaW5nX2FwcGVu ZGYgKHJlc3VsdCwKKysJCSAgICBfKCJ0aGUgU0VMaW51eCBib29sZWFuICdkZW55X3B0cmFjZScg aXMgZW5hYmxlZCwgIgorKwkJICAgICAgInlvdSBjYW4gZGlzYWJsZSB0aGlzIHByb2Nlc3MgYXR0 YWNoIHByb3RlY3Rpb24gYnk6ICIKKysJCSAgICAgICIoZ2RiKSBzaGVsbCBzdWRvIHNldHNlYm9v bCBkZW55X3B0cmFjZT0wXG4iKSk7CisrI2VuZGlmIC8qIEhBVkVfTElCU0VMSU5VWCAqLworKyAg cmV0dXJuIHJlc3VsdDsKKyt9CisrCisgLyogRXh0cmFjdCBleHRlbmRlZCBwdHJhY2UgZXZlbnQg ZnJvbSB3YWl0IHN0YXR1cy4gICovCisgCisgaW50CitkaWZmIC0tZ2l0IGEvZ2RiL25hdC9saW51 eC1wdHJhY2UuaCBiL2dkYi9uYXQvbGludXgtcHRyYWNlLmgKKy0tLSBhL2dkYi9uYXQvbGludXgt cHRyYWNlLmgKKysrKyBiL2dkYi9uYXQvbGludXgtcHRyYWNlLmgKK0BAIC0xODQsNiArMTg0LDcg QEAgZXh0ZXJuIHN0ZDo6c3RyaW5nIGxpbnV4X3B0cmFjZV9hdHRhY2hfZmFpbF9yZWFzb24gKHBp ZF90IHBpZCk7CisgZXh0ZXJuIHN0ZDo6c3RyaW5nIGxpbnV4X3B0cmFjZV9hdHRhY2hfZmFpbF9y ZWFzb25fc3RyaW5nIChwdGlkX3QgcHRpZCwgaW50IGVycik7CisgCisgZXh0ZXJuIHZvaWQgbGlu dXhfcHRyYWNlX2luaXRfd2FybmluZ3MgKHZvaWQpOworK2V4dGVybiBzdGQ6OnN0cmluZyBsaW51 eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzICgpOworIGV4dGVybiB2b2lkIGxpbnV4X2NoZWNrX3B0 cmFjZV9mZWF0dXJlcyAodm9pZCk7CisgZXh0ZXJuIHZvaWQgbGludXhfZW5hYmxlX2V2ZW50X3Jl cG9ydGluZyAocGlkX3QgcGlkLCBpbnQgYXR0YWNoZWQpOworIGV4dGVybiB2b2lkIGxpbnV4X2Rp c2FibGVfZXZlbnRfcmVwb3J0aW5nIChwaWRfdCBwaWQpOworZGlmZiAtLWdpdCBhL2dkYnNlcnZl ci9jb25maWcuaW4gYi9nZGJzZXJ2ZXIvY29uZmlnLmluCistLS0gYS9nZGJzZXJ2ZXIvY29uZmln LmluCisrKysgYi9nZGJzZXJ2ZXIvY29uZmlnLmluCitAQCAtMTQzLDYgKzE0Myw5IEBACisgLyog RGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBpcHQgbGlicmFyeS4gKi8KKyAjdW5kZWYgSEFWRV9MSUJJ UFQKICAKICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNlbGludXgnIGxpYnJhcnkg KC1sc2VsaW51eCkuICovCiArI3VuZGVmIEhBVkVfTElCU0VMSU5VWApAQCAtMTYwLDkgKzI0MSw5 IEBAIGRpZmYgLS1naXQgYS9nZGIvZ2Ric2VydmVyL2NvbmZpZy5pbiBiL2dkYi9nZGJzZXJ2ZXIv Y29uZmlnLmluCiAgLyogRGVmaW5lIGlmIHRoZSB0YXJnZXQgc3VwcG9ydHMgYnJhbmNoIHRyYWNp bmcuICovCiAgI3VuZGVmIEhBVkVfTElOVVhfQlRSQUNFCiAgCi1AQCAtMjEwLDYgKzIxMyw5IEBA Ci0gLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwd3JpdGUnIGZ1bmN0aW9uLiAqLwot ICN1bmRlZiBIQVZFX1BXUklURQorQEAgLTI0OSw2ICsyNTIsOSBAQAorIC8qIERlZmluZSB0byAx IGlmIHlvdSBoYXZlIHRoZSBgc2JyaycgZnVuY3Rpb24uICovCisgI3VuZGVmIEhBVkVfU0JSSwog IAogKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c2VsaW51eC9zZWxpbnV4Lmg+IGhl YWRlciBmaWxlLiAqLwogKyN1bmRlZiBIQVZFX1NFTElOVVhfU0VMSU5VWF9ICkBAIC0xNzAsMTAg KzI1MSwxMCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4gYi9nZGIvZ2Ri c2VydmVyL2NvbmZpZy5pbgogIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0bnMn IGZ1bmN0aW9uLiAqLwogICN1bmRlZiBIQVZFX1NFVE5TCiAgCi1kaWZmIC0tZ2l0IGEvZ2RiL2dk YnNlcnZlci9jb25maWd1cmUgYi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQotLS0tIGEvZ2RiL2dk YnNlcnZlci9jb25maWd1cmUKLSsrKyBiL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlCi1AQCAtOTM5 OCw2ICs5Mzk4LDY0IEBAIGlmICR3YW50X2lwYSA7IHRoZW4KK2RpZmYgLS1naXQgYS9nZGJzZXJ2 ZXIvY29uZmlndXJlIGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQorLS0tIGEvZ2Ric2VydmVyL2NvbmZp Z3VyZQorKysrIGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQorQEAgLTEwNjgzLDYgKzEwNjgzLDY0IEBA IGlmICR3YW50X2lwYSA7IHRoZW4KICAgICBmaQogIGZpCiAgCkBAIC0yMzgsMTAgKzMxOSwxMCBA QCBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUgYi9nZGIvZ2Ric2VydmVyL2Nv bmZpZ3VyZQogIAogIAogIAotZGlmZiAtLWdpdCBhL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFj IGIvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUuYWMKLS0tLSBhL2dkYi9nZGJzZXJ2ZXIvY29uZmln dXJlLmFjCi0rKysgYi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYwotQEAgLTQ2NSw2ICs0NjUs MTAgQEAgaWYgJHdhbnRfaXBhIDsgdGhlbgorZGlmZiAtLWdpdCBhL2dkYnNlcnZlci9jb25maWd1 cmUuYWMgYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCistLS0gYS9nZGJzZXJ2ZXIvY29uZmlndXJl LmFjCisrKysgYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCitAQCAtNDAxLDYgKzQwMSwxMCBAQCBp ZiAkd2FudF9pcGEgOyB0aGVuCiAgICAgZmkKICBmaQogIApAQCAtMjUyLDEwICszMzMsMTAgQEAg ZGlmZiAtLWdpdCBhL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjIGIvZ2RiL2dkYnNlcnZlci9j b25maWd1cmUuYWMKICBBQ19TVUJTVChHREJTRVJWRVJfREVQRklMRVMpCiAgQUNfU1VCU1QoR0RC U0VSVkVSX0xJQlMpCiAgQUNfU1VCU1Qoc3J2X3htbGJ1aWx0aW4pCi1kaWZmIC0tZ2l0IGEvZ2Ri L2dkYnNlcnZlci9saW51eC1sb3cuYyBiL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMKLS0tLSBh L2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMKLSsrKyBiL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93 LmMKLUBAIC05NjgsNyArOTY4LDE2IEBAIGxpbnV4X3B0cmFjZV9mdW4gKCkKK2RpZmYgLS1naXQg YS9nZGJzZXJ2ZXIvbGludXgtbG93LmNjIGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jYworLS0tIGEv Z2Ric2VydmVyL2xpbnV4LWxvdy5jYworKysrIGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jYworQEAg LTkzMiw3ICs5MzIsMTYgQEAgbGludXhfcHRyYWNlX2Z1biAoKQogIHsKICAgIGlmIChwdHJhY2Ug KFBUUkFDRV9UUkFDRU1FLCAwLCAoUFRSQUNFX1RZUEVfQVJHMykgMCwKICAJICAgICAgKFBUUkFD RV9UWVBFX0FSRzQpIDApIDwgMCkKQEAgLTI3Myw4NCArMzU0LDMgQEAgZGlmZiAtLWdpdCBhL2dk Yi9nZGJzZXJ2ZXIvbGludXgtbG93LmMgYi9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCiAgCiAg ICBpZiAoc2V0cGdpZCAoMCwgMCkgPCAwKQogICAgICB0cmFjZV9zdGFydF9lcnJvcl93aXRoX25h bWUgKCJzZXRwZ2lkIik7Ci1kaWZmIC0tZ2l0IGEvZ2RiL2xpbnV4LW5hdC5jIGIvZ2RiL2xpbnV4 LW5hdC5jCi0tLS0gYS9nZGIvbGludXgtbmF0LmMKLSsrKyBiL2dkYi9saW51eC1uYXQuYwotQEAg LTEwOTIsNyArMTA5MiwxNiBAQCBsaW51eF9uYXRfdGFyZ2V0OjpjcmVhdGVfaW5mZXJpb3IgKGNv bnN0IGNoYXIgKmV4ZWNfZmlsZSwKLSAgIC8qIE1ha2Ugc3VyZSB3ZSByZXBvcnQgYWxsIHNpZ25h bHMgZHVyaW5nIHN0YXJ0dXAuICAqLwotICAgcGFzc19zaWduYWxzICh7fSk7Ci0gCi0tICBpbmZf cHRyYWNlX3RhcmdldDo6Y3JlYXRlX2luZmVyaW9yIChleGVjX2ZpbGUsIGFsbGFyZ3MsIGVudiwg ZnJvbV90dHkpOwotKyAgdHJ5Ci0rICAgIHsKLSsgICAgICBpbmZfcHRyYWNlX3RhcmdldDo6Y3Jl YXRlX2luZmVyaW9yIChleGVjX2ZpbGUsIGFsbGFyZ3MsIGVudiwgZnJvbV90dHkpOwotKyAgICB9 Ci0rICBjYXRjaCAoY29uc3QgZ2RiX2V4Y2VwdGlvbl9lcnJvciAmZXgpCi0rICAgIHsKLSsgICAg ICBzdGQ6OnN0cmluZyByZXN1bHQgPSAgbGludXhfcHRyYWNlX2NyZWF0ZV93YXJuaW5ncyAoKTsK LSsKLSsgICAgICB0aHJvd19lcnJvciAoZXguZXJyb3IsICIlcyVzIiwgcmVzdWx0LmNfc3RyICgp LCBleC5tZXNzYWdlLT5jX3N0ciAoKSk7Ci0rICAgIH0KLSB9Ci0gCi0gLyogQ2FsbGJhY2sgZm9y IGxpbnV4X3Byb2NfYXR0YWNoX3RnaWRfdGhyZWFkcy4gIEF0dGFjaCB0byBQVElEIGlmIG5vdAot ZGlmZiAtLWdpdCBhL2dkYi9uYXQvbGludXgtcHRyYWNlLmMgYi9nZGIvbmF0L2xpbnV4LXB0cmFj ZS5jCi0tLS0gYS9nZGIvbmF0L2xpbnV4LXB0cmFjZS5jCi0rKysgYi9nZGIvbmF0L2xpbnV4LXB0 cmFjZS5jCi1AQCAtMjUsNiArMjUsMTAgQEAKLSAjaW5jbHVkZSA8c3lzL3Byb2Nmcy5oPgotICNl bmRpZgotIAotKyNpZmRlZiBIQVZFX1NFTElOVVhfU0VMSU5VWF9ICi0rIyBpbmNsdWRlIDxzZWxp bnV4L3NlbGludXguaD4KLSsjZW5kaWYgLyogSEFWRV9TRUxJTlVYX1NFTElOVVhfSCAqLwotKwot IC8qIFN0b3JlcyB0aGUgcHRyYWNlIG9wdGlvbnMgc3VwcG9ydGVkIGJ5IHRoZSBydW5uaW5nIGtl cm5lbC4KLSAgICBBIHZhbHVlIG9mIC0xIG1lYW5zIHdlIGRpZCBub3QgY2hlY2sgZm9yIGZlYXR1 cmVzIHlldC4gIEEgdmFsdWUKLSAgICBvZiAwIG1lYW5zIHRoZXJlIGFyZSBubyBzdXBwb3J0ZWQg ZmVhdHVyZXMuICAqLwotQEAgLTUwLDYgKzU0LDggQEAgbGludXhfcHRyYWNlX2F0dGFjaF9mYWls X3JlYXNvbiAocGlkX3QgcGlkKQotIAkJICAgICAgInRlcm1pbmF0ZWQiKSwKLSAJCSAgICAoaW50 KSBwaWQpOwotIAotKyAgcmVzdWx0ICs9IGxpbnV4X3B0cmFjZV9jcmVhdGVfd2FybmluZ3MgKCk7 Ci0rCi0gICByZXR1cm4gcmVzdWx0OwotIH0KLSAKLUBAIC01ODYsNiArNTkyLDI1IEBAIGxpbnV4 X3B0cmFjZV9pbml0X3dhcm5pbmdzICh2b2lkKQotICAgbGludXhfcHRyYWNlX3Rlc3RfcmV0X3Rv X254ICgpOwotIH0KLSAKLSsvKiBQcmludCBhbGwgcG9zc2libGUgcmVhc29ucyB3ZSBjb3VsZCBm YWlsIHRvIGNyZWF0ZSBhIHRyYWNlZCBwcm9jZXNzLiAgKi8KLSsKLStzdGQ6OnN0cmluZwotK2xp bnV4X3B0cmFjZV9jcmVhdGVfd2FybmluZ3MgKCkKLSt7Ci0rICBzdGQ6OnN0cmluZyByZXN1bHQ7 Ci0rCi0rI2lmZGVmIEhBVkVfTElCU0VMSU5VWAotKyAgLyogLTEgaXMgcmV0dXJuZWQgZm9yIGVy cm9ycywgMCBpZiBpdCBoYXMgbm8gZWZmZWN0LCAxIGlmIFBUUkFDRV9BVFRBQ0ggaXMKLSsgICAg IGZvcmJpZGRlbi4gICovCi0rICBpZiAoc2VjdXJpdHlfZ2V0X2Jvb2xlYW5fYWN0aXZlICgiZGVu eV9wdHJhY2UiKSA9PSAxKQotKyAgICBzdHJpbmdfYXBwZW5kZiAocmVzdWx0LAotKwkJICAgIF8o InRoZSBTRUxpbnV4IGJvb2xlYW4gJ2RlbnlfcHRyYWNlJyBpcyBlbmFibGVkLCAiCi0rCQkgICAg ICAieW91IGNhbiBkaXNhYmxlIHRoaXMgcHJvY2VzcyBhdHRhY2ggcHJvdGVjdGlvbiBieTogIgot KwkJICAgICAgIihnZGIpIHNoZWxsIHN1ZG8gc2V0c2Vib29sIGRlbnlfcHRyYWNlPTBcbiIpKTsK LSsjZW5kaWYgLyogSEFWRV9MSUJTRUxJTlVYICovCi0rICByZXR1cm4gcmVzdWx0OwotK30KLSsK LSAvKiBFeHRyYWN0IGV4dGVuZGVkIHB0cmFjZSBldmVudCBmcm9tIHdhaXQgc3RhdHVzLiAgKi8K LSAKLSBpbnQKLWRpZmYgLS1naXQgYS9nZGIvbmF0L2xpbnV4LXB0cmFjZS5oIGIvZ2RiL25hdC9s aW51eC1wdHJhY2UuaAotLS0tIGEvZ2RiL25hdC9saW51eC1wdHJhY2UuaAotKysrIGIvZ2RiL25h dC9saW51eC1wdHJhY2UuaAotQEAgLTE4NCw2ICsxODQsNyBAQCBleHRlcm4gc3RkOjpzdHJpbmcg bGludXhfcHRyYWNlX2F0dGFjaF9mYWlsX3JlYXNvbiAocGlkX3QgcGlkKTsKLSBleHRlcm4gc3Rk OjpzdHJpbmcgbGludXhfcHRyYWNlX2F0dGFjaF9mYWlsX3JlYXNvbl9zdHJpbmcgKHB0aWRfdCBw dGlkLCBpbnQgZXJyKTsKLSAKLSBleHRlcm4gdm9pZCBsaW51eF9wdHJhY2VfaW5pdF93YXJuaW5n cyAodm9pZCk7Ci0rZXh0ZXJuIHN0ZDo6c3RyaW5nIGxpbnV4X3B0cmFjZV9jcmVhdGVfd2Fybmlu Z3MgKCk7Ci0gZXh0ZXJuIHZvaWQgbGludXhfY2hlY2tfcHRyYWNlX2ZlYXR1cmVzICh2b2lkKTsK LSBleHRlcm4gdm9pZCBsaW51eF9lbmFibGVfZXZlbnRfcmVwb3J0aW5nIChwaWRfdCBwaWQsIGlu dCBhdHRhY2hlZCk7Ci0gZXh0ZXJuIHZvaWQgbGludXhfZGlzYWJsZV9ldmVudF9yZXBvcnRpbmcg KHBpZF90IHBpZCk7CgpkaWZmIC0tZ2l0IGEvZ2RiLWJ6MTIxOTc0Ny1hdHRhY2gta2lsbHMucGF0 Y2ggYi9nZGItYnoxMjE5NzQ3LWF0dGFjaC1raWxscy5wYXRjaAppbmRleCA2OWM4NjU4Li5mYjNh MzQ5IDEwMDY0NAotLS0gYS9nZGItYnoxMjE5NzQ3LWF0dGFjaC1raWxscy5wYXRjaAorKysgYi9n ZGItYnoxMjE5NzQ3LWF0dGFjaC1raWxscy5wYXRjaApAQCAtODAsNyArODAsNyBAQCBnZGIvdGVz dHN1aXRlL0NoYW5nZUxvZwogZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5jCiAt LS0gYS9nZGIvbWFpbi5jCiArKysgYi9nZGIvbWFpbi5jCi1AQCAtMTE0OCw3ICsxMTQ4LDEwIEBA IGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKK0BA IC0xMTk5LDcgKzExOTksMTAgQEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFp bl9hcmdzICpjb250ZXh0KQogIAl7CiAgCSAgcmV0ID0gY2F0Y2hfY29tbWFuZF9lcnJvcnMgKGF0 dGFjaF9jb21tYW5kLCBwaWRfb3JfY29yZV9hcmcsCiAgCQkJCSAgICAgICFiYXRjaF9mbGFnKTsK CmRpZmYgLS1naXQgYS9nZGItYno1MzMxNzYtZm9ydHJhbi1vbXAtc3RlcC5wYXRjaCBiL2dkYi1i ejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCmluZGV4IGVlNDI2Y2UuLjUyNjQxMTUgMTAw NjQ0Ci0tLSBhL2dkYi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCisrKyBiL2dkYi1i ejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCkBAIC0zMCw3ICszMCw3IEBAIGRlYnVnZ2lu ZyBwcm9ibGVtIG9mIEdPTVAgb3V0c2lkZSBvZiB0aGUgc2NvcGUgb2YgdGhpcyBCdWcuCiBkaWZm IC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCiAtLS0gYS9nZGIvaW5mcnVuLmMK ICsrKyBiL2dkYi9pbmZydW4uYwotQEAgLTY0NTMsNiArNjQ1MywxNiBAQCBwcm9jZXNzX2V2ZW50 X3N0b3BfdGVzdCAoc3RydWN0IGV4ZWN1dGlvbl9jb250cm9sX3N0YXRlICplY3MpCitAQCAtNjc4 OCw2ICs2Nzg4LDE2IEBAIHByb2Nlc3NfZXZlbnRfc3RvcF90ZXN0IChzdHJ1Y3QgZXhlY3V0aW9u X2NvbnRyb2xfc3RhdGUgKmVjcykKICAKICAgICAgICBpZiAoZWNzLT5ldmVudF90aHJlYWQtPmNv bnRyb2wuc3RlcF9vdmVyX2NhbGxzID09IFNURVBfT1ZFUl9BTEwpCiAgCXsKQEAgLTQ3LDcgKzQ3 LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYwogIAkgIC8qIFdl J3JlIGRvaW5nIGEgIm5leHQiLgogIAogIAkgICAgIE5vcm1hbCAoZm9yd2FyZCkgZXhlY3V0aW9u OiBzZXQgYSBicmVha3BvaW50IGF0IHRoZQotQEAgLTY0ODYsNiArNjQ5Niw3IEBAIHByb2Nlc3Nf ZXZlbnRfc3RvcF90ZXN0IChzdHJ1Y3QgZXhlY3V0aW9uX2NvbnRyb2xfc3RhdGUgKmVjcykKK0BA IC02ODIxLDYgKzY4MzEsNyBAQCBwcm9jZXNzX2V2ZW50X3N0b3BfdGVzdCAoc3RydWN0IGV4ZWN1 dGlvbl9jb250cm9sX3N0YXRlICplY3MpCiAgCiAgCSAga2VlcF9nb2luZyAoZWNzKTsKICAJICBy ZXR1cm47CgpkaWZmIC0tZ2l0IGEvZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2ggYi9nZGItY29u dGFpbmVyLXJoLXBrZy5wYXRjaAppbmRleCBiMDk1ZDRiLi4wNGE3ZjNjIDEwMDY0NAotLS0gYS9n ZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaAorKysgYi9nZGItY29udGFpbmVyLXJoLXBrZy5wYXRj aApAQCAtOSw3ICs5LDcgQEAgU3ViamVjdDogZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKIGRp ZmYgLS1naXQgYS9nZGIvcmVtb3RlLmMgYi9nZGIvcmVtb3RlLmMKIC0tLSBhL2dkYi9yZW1vdGUu YwogKysrIGIvZ2RiL3JlbW90ZS5jCi1AQCAtMTM5MTYsNyArMTM5MTYsMTcgQEAgcmVtb3RlX3Rh cmdldDo6cGlkX3RvX2V4ZWNfZmlsZSAoaW50IHBpZCkKK0BAIC0xNDAzMSw3ICsxNDAzMSwxNyBA QCByZW1vdGVfdGFyZ2V0OjpwaWRfdG9fZXhlY19maWxlIChpbnQgcGlkKQogICAgY2hhciAqYW5u ZXggPSBOVUxMOwogIAogICAgaWYgKHBhY2tldF9zdXBwb3J0IChQQUNLRVRfcVhmZXJfZXhlY19m aWxlKSAhPSBQQUNLRVRfRU5BQkxFKQpAQCAtMjYsNSArMjYsNSBAQCBkaWZmIC0tZ2l0IGEvZ2Ri L3JlbW90ZS5jIGIvZ2RiL3JlbW90ZS5jCiArICAgICAgcmV0dXJuIE5VTEw7CiArICAgIH0KICAK LSAgIGluZiA9IGZpbmRfaW5mZXJpb3JfcGlkIChwaWQpOworICAgaW5mZXJpb3IgKmluZiA9IGZp bmRfaW5mZXJpb3JfcGlkICh0aGlzLCBwaWQpOwogICAgaWYgKGluZiA9PSBOVUxMKQoKZGlmZiAt LWdpdCBhL2dkYi1mZWRvcmEtbGlibmN1cnNlc3cucGF0Y2ggYi9nZGItZmVkb3JhLWxpYm5jdXJz ZXN3LnBhdGNoCmluZGV4IDk2MDE5M2YuLjdjNjIwZmIgMTAwNjQ0Ci0tLSBhL2dkYi1mZWRvcmEt bGlibmN1cnNlc3cucGF0Y2gKKysrIGIvZ2RiLWZlZG9yYS1saWJuY3Vyc2Vzdy5wYXRjaApAQCAt MTIsNyArMTIsNyBAQCBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lk PTEyNzA1MzQKIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQogLS0t IGEvZ2RiL2NvbmZpZ3VyZQogKysrIGIvZ2RiL2NvbmZpZ3VyZQotQEAgLTkzNzUsNiArOTM3NSw3 IEBAIGlmIHRlc3QgeCIkcHJlZmVyX2N1cnNlcyIgPSB4eWVzOyB0aGVuCitAQCAtOTY0OSw2ICs5 NjQ5LDcgQEAgaWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KICAgICMgc2Vh cmNoIC91c3IvbG9jYWwvaW5jbHVkZSwgaWYgbmN1cnNlcyBpcyBpbnN0YWxsZWQgaW4gL3Vzci9s b2NhbC4gIEEKICAgICMgZGVmYXVsdCBpbnN0YWxsYXRpb24gb2YgbmN1cnNlcyBvbiBhbHBoYSot ZGVjLW9zZiogd2lsbCBsZWFkIHRvIHN1Y2gKICAgICMgYSBzaXR1YXRpb24uCkBAIC0yMCw3ICsy MCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQogICAgeyAk YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgbGlicmFy eSBjb250YWluaW5nIHdhZGRzdHIiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciBsaWJy YXJ5IGNvbnRhaW5pbmcgd2FkZHN0ci4uLiAiID4mNjsgfQogIGlmICR7YWNfY3Zfc2VhcmNoX3dh ZGRzdHIrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTkzOTksNyArOTQwMCw3IEBAIHJldHVybiB3YWRk c3RyICgpOworQEAgLTk2NzMsNyArOTY3NCw3IEBAIHJldHVybiB3YWRkc3RyICgpOwogICAgcmV0 dXJuIDA7CiAgfQogIF9BQ0VPRgpAQCAtMjksNyArMjksNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2Nv bmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKICAgIGlmIHRlc3QgLXogIiRhY19saWIiOyB0aGVuCiAg ICAgIGFjX3Jlcz0ibm9uZSByZXF1aXJlZCIKICAgIGVsc2UKLUBAIC05NDczLDYgKzk0NzQsNyBA QCBjYXNlICRob3N0X29zIGluCitAQCAtOTc0Nyw2ICs5NzQ4LDcgQEAgY2FzZSAkaG9zdF9vcyBp bgogIGVzYWMKICAKICAjIFRoZXNlIGFyZSB0aGUgbGlicmFyaWVzIGNoZWNrZWQgYnkgUmVhZGxp bmUuCkBAIC0zNyw3ICszNyw3IEBAIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2Nv bmZpZ3VyZQogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tp bmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyB0Z2V0ZW50IiA+JjUKICAkYXNfZWNob19uICJjaGVj a2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHRnZXRlbnQuLi4gIiA+JjY7IH0KICBpZiAke2Fj X2N2X3NlYXJjaF90Z2V0ZW50Kzp9IGZhbHNlOyB0aGVuIDoKLUBAIC05NDk3LDcgKzk0OTksNyBA QCByZXR1cm4gdGdldGVudCAoKTsKK0BAIC05NzcxLDcgKzk3NzMsNyBAQCByZXR1cm4gdGdldGVu dCAoKTsKICAgIHJldHVybiAwOwogIH0KICBfQUNFT0YKQEAgLTQ5LDcgKzQ5LDcgQEAgZGlmZiAt LWdpdCBhL2dkYi9jb25maWd1cmUgYi9nZGIvY29uZmlndXJlCiBkaWZmIC0tZ2l0IGEvZ2RiL2Nv bmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKIC0tLSBhL2dkYi9jb25maWd1cmUuYWMKICsr KyBiL2dkYi9jb25maWd1cmUuYWMKLUBAIC03MTcsNyArNzE3LDggQEAgaWYgdGVzdCB4IiRwcmVm ZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KK0BAIC03MTIsNyArNzEyLDggQEAgaWYgdGVzdCB4IiRw cmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KICAgICMgc2VhcmNoIC91c3IvbG9jYWwvaW5jbHVk ZSwgaWYgbmN1cnNlcyBpcyBpbnN0YWxsZWQgaW4gL3Vzci9sb2NhbC4gIEEKICAgICMgZGVmYXVs dCBpbnN0YWxsYXRpb24gb2YgbmN1cnNlcyBvbiBhbHBoYSotZGVjLW9zZiogd2lsbCBsZWFkIHRv IHN1Y2gKICAgICMgYSBzaXR1YXRpb24uCkBAIC01OSw3ICs1OSw3IEBAIGRpZmYgLS1naXQgYS9n ZGIvY29uZmlndXJlLmFjIGIvZ2RiL2NvbmZpZ3VyZS5hYwogIAogICAgaWYgdGVzdCAiJGFjX2N2 X3NlYXJjaF93YWRkc3RyIiAhPSBubzsgdGhlbgogICAgICBjdXJzZXNfZm91bmQ9eWVzCi1AQCAt NzU5LDcgKzc2MCw4IEBAIGNhc2UgJGhvc3Rfb3MgaW4KK0BAIC03NTQsNyArNzU1LDggQEAgY2Fz ZSAkaG9zdF9vcyBpbgogIGVzYWMKICAKICAjIFRoZXNlIGFyZSB0aGUgbGlicmFyaWVzIGNoZWNr ZWQgYnkgUmVhZGxpbmUuCgpkaWZmIC0tZ2l0IGEvZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29mMy5w YXRjaCBiL2dkYi1nbmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0Y2gKaW5kZXggNTI4OTJlNC4uNDE5 NzY2MSAxMDA2NDQKLS0tIGEvZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29mMy5wYXRjaAorKysgYi9n ZGItZ25hdC1kd2FyZi1jcmFzaC0zb2YzLnBhdGNoCkBAIC0zOSwxMCArMzksMTAgQEAgZ2RiLwog CiAJKiBkd2FyZjJyZWFkLmMgKHByb2Nlc3NfZGllKTogQ2hhbmdlIGdkYl9hc3NlcnQgdG8gY29t cGxhaW50LgogCi1kaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFk LmMKLS0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKLSsrKyBiL2dkYi9kd2FyZjJyZWFkLmMKLUBAIC0x MDY1Nyw2ICsxMDY1NywxMyBAQCBwcml2YXRlOgorZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIvcmVh ZC5jIGIvZ2RiL2R3YXJmMi9yZWFkLmMKKy0tLSBhL2dkYi9kd2FyZjIvcmVhZC5jCisrKysgYi9n ZGIvZHdhcmYyL3JlYWQuYworQEAgLTEwMTYyLDYgKzEwMTYyLDEzIEBAIGNsYXNzIHByb2Nlc3Nf ZGllX3Njb3BlCiAgc3RhdGljIHZvaWQKICBwcm9jZXNzX2RpZSAoc3RydWN0IGRpZV9pbmZvICpk aWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogIHsKQEAgLTU2LDI3ICs1NiwxMCBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKICAgIHByb2Nlc3NfZGll X3Njb3BlIHNjb3BlIChkaWUsIGN1KTsKICAKICAgIHN3aXRjaCAoZGllLT50YWcpCi1kaWZmIC0t Z2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCi0tLS0gYS9nZGIvaW5mcnVuLmMKLSsr KyBiL2dkYi9pbmZydW4uYwotQEAgLTYwMSw2ICs2MDEsMTMgQEAgaG9sZGluZyB0aGUgY2hpbGQg c3RvcHBlZC4gIFRyeSBcInNldCBkZXRhY2gtb24tZm9ya1wiIG9yIFwKLSAJCQkJdGFyZ2V0X3Bp ZF90b19zdHIgKHByb2Nlc3NfcHRpZCkuY19zdHIgKCkpOwotIAkgICAgfQotIAotKyNpZmRlZiBO RUVEX0RFVEFDSF9TSUdTVE9QCi0rCSAgLyogV2Ugc2hvdWxkIGNoZWNrIFBJRF9XQVNfU1RPUFBF RCBhbmQgZGV0YWNoIGl0IHN0b3BwZWQgYWNjb3JkaW5nbHkuCi0rCSAgICAgSW4gdGhpcyBwb2lu dCBvZiBjb2RlIGl0IGNhbm5vdCBiZSAxIGFzIHdlIHdvdWxkIG5vdCBnZXQgRk9SSwotKwkgICAg IGV4ZWN1dGVkIHdpdGhvdXQgQ09OVElOVUUgZmlyc3Qgd2hpY2ggcmVzZXRzIFBJRF9XQVNfU1RP UFBFRC4KLSsJICAgICBXZSB3b3VsZCBoYXZlIHRvIGZpcnN0IFRBUkdFVF9TVE9QIGFuZCBXQUlU UElEIGl0IGFzIHdpdGggcnVubmluZwotKwkgICAgIGluZmVyaW9yIFBUUkFDRV9ERVRBQ0gsIFNJ R1NUT1Agd2lsbCBpZ25vcmUgdGhlIHNpZ25hbC4gICovCi0rI2VuZGlmCi0gCSAgdGFyZ2V0X2Rl dGFjaCAocGFyZW50X2luZiwgMCk7Ci0gCX0KLSAKIGRpZmYgLS1naXQgYS9nZGIvbGludXgtbmF0 LmMgYi9nZGIvbGludXgtbmF0LmMKIC0tLSBhL2dkYi9saW51eC1uYXQuYwogKysrIGIvZ2RiL2xp bnV4LW5hdC5jCi1AQCAtMTg5LDYgKzE4OSwxMiBAQCBzdHJ1Y3QgbGludXhfbmF0X3RhcmdldCAq bGludXhfdGFyZ2V0OworQEAgLTE5MCw2ICsxOTAsMTIgQEAgc3RydWN0IGxpbnV4X25hdF90YXJn ZXQgKmxpbnV4X3RhcmdldDsKICAvKiBEb2VzIHRoZSBjdXJyZW50IGhvc3Qgc3VwcG9ydCBQVFJB Q0VfR0VUUkVHU0VUPyAgKi8KICBlbnVtIHRyaWJvb2wgaGF2ZV9wdHJhY2VfZ2V0cmVnc2V0ID0g VFJJQk9PTF9VTktOT1dOOwogIApAQCAtODksMTcgKzcyLDE3IEBAIGRpZmYgLS1naXQgYS9nZGIv bGludXgtbmF0LmMgYi9nZGIvbGludXgtbmF0LmMKICBzdGF0aWMgdW5zaWduZWQgaW50IGRlYnVn X2xpbnV4X25hdDsKICBzdGF0aWMgdm9pZAogIHNob3dfZGVidWdfbGludXhfbmF0IChzdHJ1Y3Qg dWlfZmlsZSAqZmlsZSwgaW50IGZyb21fdHR5LAotQEAgLTEwMzAsNiArMTAzNiw5IEBAIGxpbnV4 X25hdF9wb3N0X2F0dGFjaF93YWl0IChwdGlkX3QgcHRpZCwgaW50ICpzaWduYWxsZWQpCi0gICAg ICAgaWYgKGRlYnVnX2xpbnV4X25hdCkKLSAJZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9n LAotIAkJCSAgICAiTE5QQVc6IEF0dGFjaGluZyB0byBhIHN0b3BwZWQgcHJvY2Vzc1xuIik7CitA QCAtMTA0NCw2ICsxMDUwLDkgQEAgbGludXhfbmF0X3Bvc3RfYXR0YWNoX3dhaXQgKHB0aWRfdCBw dGlkLCBpbnQgKnNpZ25hbGxlZCkKKyAgIGlmIChsaW51eF9wcm9jX3BpZF9pc19zdG9wcGVkIChw aWQpKQorICAgICB7CisgICAgICAgbGludXhfbmF0X2RlYnVnX3ByaW50ZiAoIkF0dGFjaGluZyB0 byBhIHN0b3BwZWQgcHJvY2VzcyIpOwogKyNpZmRlZiBORUVEX0RFVEFDSF9TSUdTVE9QCiArICAg ICAgcGlkX3dhc19zdG9wcGVkID0gcHRpZC5waWQgKCk7CiArI2VuZGlmCiAgCiAgICAgICAgLyog VGhlIHByb2Nlc3MgaXMgZGVmaW5pdGVseSBzdG9wcGVkLiAgSXQgaXMgaW4gYSBqb2IgY29udHJv bAogIAkgc3RvcCwgdW5sZXNzIHRoZSBrZXJuZWwgcHJlZGF0ZXMgdGhlIFRBU0tfU1RPUFBFRCAv Ci1AQCAtMTM2MSw2ICsxMzcwLDI1IEBAIGdldF9kZXRhY2hfc2lnbmFsIChzdHJ1Y3QgbHdwX2lu Zm8gKmxwKQorQEAgLTEzNTksNiArMTM2OCwyNSBAQCBnZXRfZGV0YWNoX3NpZ25hbCAoc3RydWN0 IGx3cF9pbmZvICpscCkKICAgICAgICByZXR1cm4gZ2RiX3NpZ25hbF90b19ob3N0IChzaWdubyk7 CiAgICAgIH0KICAKQEAgLTEyNSw3ICsxMDgsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2xpbnV4LW5h dC5jIGIvZ2RiL2xpbnV4LW5hdC5jCiAgICByZXR1cm4gMDsKICB9CiAgCi1AQCAtMTUwOSw2ICsx NTM3LDEwIEBAIGxpbnV4X25hdF90YXJnZXQ6OmRldGFjaCAoaW5mZXJpb3IgKmluZiwgaW50IGZy b21fdHR5KQorQEAgLTE1MDIsNiArMTUzMCwxMCBAQCBsaW51eF9uYXRfdGFyZ2V0OjpkZXRhY2gg KGluZmVyaW9yICppbmYsIGludCBmcm9tX3R0eSkKICAgICAgICBkZXRhY2hfb25lX2x3cCAobWFp bl9sd3AsICZzaWdubyk7CiAgCiAgICAgICAgZGV0YWNoX3N1Y2Nlc3MgKGluZik7CkBAIC0xMzYs NyArMTE5LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9saW51eC1uYXQuYyBiL2dkYi9saW51eC1uYXQu YwogICAgICB9CiAgfQogIAotQEAgLTE3NjYsNiArMTc5OCwxNiBAQCBsaW51eF9uYXRfdGFyZ2V0 OjpyZXN1bWUgKHB0aWRfdCBwdGlkLCBpbnQgc3RlcCwgZW51bSBnZGJfc2lnbmFsIHNpZ25vKQor QEAgLTE3NDQsNiArMTc3NiwxNiBAQCBsaW51eF9uYXRfdGFyZ2V0OjpyZXN1bWUgKHB0aWRfdCBw dGlkLCBpbnQgc3RlcCwgZW51bSBnZGJfc2lnbmFsIHNpZ25vKQogICAgICAgIHJldHVybjsKICAg ICAgfQogIApAQCAtMTUzLDcgKzEzNiw3IEBAIGRpZmYgLS1naXQgYS9nZGIvbGludXgtbmF0LmMg Yi9nZGIvbGludXgtbmF0LmMKICAgIGlmIChyZXN1bWVfbWFueSkKICAgICAgaXRlcmF0ZV9vdmVy X2x3cHMgKHB0aWQsIFs9XSAoc3RydWN0IGx3cF9pbmZvICppbmZvKQogIAkJCSAgICAgewotQEAg LTM3NzAsNiArMzgxMiwxMCBAQCBsaW51eF9uYXRfdGFyZ2V0Ojptb3Vybl9pbmZlcmlvciAoKQor QEAgLTM2MTcsNiArMzY1OSwxMCBAQCBsaW51eF9uYXRfdGFyZ2V0Ojptb3Vybl9pbmZlcmlvciAo KQogIAogICAgLyogTGV0IHRoZSBhcmNoLXNwZWNpZmljIG5hdGl2ZSBjb2RlIGtub3cgdGhpcyBw cm9jZXNzIGlzIGdvbmUuICAqLwogICAgbGludXhfdGFyZ2V0LT5sb3dfZm9yZ2V0X3Byb2Nlc3Mg KHBpZCk7CgpkaWZmIC0tZ2l0IGEvZ2RiLWppdC1yZWFkZXItbXVsdGlsaWIucGF0Y2ggYi9nZGIt aml0LXJlYWRlci1tdWx0aWxpYi5wYXRjaAppbmRleCBlYzQxZjEzLi40YmNlNWZjIDEwMDY0NAot LS0gYS9nZGItaml0LXJlYWRlci1tdWx0aWxpYi5wYXRjaAorKysgYi9nZGItaml0LXJlYWRlci1t dWx0aWxpYi5wYXRjaApAQCAtOSw3ICs5LDcgQEAgU3ViamVjdDogZ2RiLWppdC1yZWFkZXItbXVs dGlsaWIucGF0Y2gKIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQog LS0tIGEvZ2RiL2NvbmZpZ3VyZQogKysrIGIvZ2RiL2NvbmZpZ3VyZQotQEAgLTk2OTQsMTAgKzk2 OTQsMTIgQEAgX0FDRU9GCitAQCAtOTk2OCwxMCArOTk2OCwxMiBAQCBfQUNFT0YKICAKICAKICAK QEAgLTI4LDcgKzI4LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUgYi9nZGIvY29uZmln dXJlCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKIC0t LSBhL2dkYi9jb25maWd1cmUuYWMKICsrKyBiL2dkYi9jb25maWd1cmUuYWMKLUBAIC04MDgsMTAg KzgwOCwxMiBAQCBBQ19DSEVDS19TSVpFT0YodW5zaWduZWQgbG9uZyBsb25nKQorQEAgLTgwMywx MCArODAzLDEyIEBAIEFDX0NIRUNLX1NJWkVPRih1bnNpZ25lZCBsb25nIGxvbmcpCiAgQUNfQ0hF Q0tfU0laRU9GKHVuc2lnbmVkIGxvbmcpCiAgQUNfQ0hFQ0tfU0laRU9GKHVuc2lnbmVkIF9faW50 MTI4KQogIAoKZGlmZiAtLWdpdCBhL2dkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaCBiL2dkYi1s aW51eF9wZXJmLWJ1bmRsZS5wYXRjaAppbmRleCBkYjllN2M4Li43MjhmNDYzIDEwMDY0NAotLS0g YS9nZGItbGludXhfcGVyZi1idW5kbGUucGF0Y2gKKysrIGIvZ2RiLWxpbnV4X3BlcmYtYnVuZGxl LnBhdGNoCkBAIC02LDMwICs2LDYgQEAgU3ViamVjdDogZ2RiLWxpbnV4X3BlcmYtYnVuZGxlLnBh dGNoCiA7OyBbZHRzK2VsN10gW3g4NipdIEJ1bmRsZSBsaW51eF9wZXJmLmggZm9yIGxpYmlwdCAo UkggQlogMTI1NjUxMykuCiA7Oz1mZWRvcmEKIAotZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUg Yi9nZGIvY29uZmlndXJlCi0tLS0gYS9nZGIvY29uZmlndXJlCi0rKysgYi9nZGIvY29uZmlndXJl Ci1AQCAtMTE5MDUsNyArMTE5MDUsNyBAQCBlbHNlCi0gCi0gI2luY2x1ZGUgPGxpbnV4L3BlcmZf ZXZlbnQuaD4KLSAjaWZuZGVmIFBFUkZfQVRUUl9TSVpFX1ZFUjUKLS0jIGVycm9yCi0rLy8gZXJy b3IgLy8gUEVSRl9BVFRSX1NJWkVfVkVSNV9CVU5ETEUgaXMgbm90IGF2YWlsYWJsZSBoZXJlIC0g RmVkb3JhK1JIRUwKLSAjZW5kaWYKLSAKLSBfQUNFT0YKLWRpZmYgLS1naXQgYS9nZGIvY29uZmln dXJlLmFjIGIvZ2RiL2NvbmZpZ3VyZS5hYwotLS0tIGEvZ2RiL2NvbmZpZ3VyZS5hYwotKysrIGIv Z2RiL2NvbmZpZ3VyZS5hYwotQEAgLTE0MTQsNyArMTQxNCw3IEBAIGVsc2UKLSAgIEFDX1BSRVBS T0NfSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWwotICNpbmNsdWRlIDxsaW51eC9wZXJmX2V2ZW50 Lmg+Ci0gI2lmbmRlZiBQRVJGX0FUVFJfU0laRV9WRVI1Ci0tIyBlcnJvcgotKy8vIGVycm9yIC8v IFBFUkZfQVRUUl9TSVpFX1ZFUjVfQlVORExFIGlzIG5vdCBhdmFpbGFibGUgaGVyZSAtIEZlZG9y YStSSEVMCi0gI2VuZGlmCi0gICBdXSldLCBbcGVyZl9ldmVudD15ZXNdLCBbcGVyZl9ldmVudD1u b10pCi0gICBpZiB0ZXN0ICIkcGVyZl9ldmVudCIgIT0geWVzOyB0aGVuCiBkaWZmIC0tZ2l0IGEv Z2RiL2dkYi5jIGIvZ2RiL2dkYi5jCiAtLS0gYS9nZGIvZ2RiLmMKICsrKyBiL2dkYi9nZGIuYwpA QCAtMjM0LDMgKzIxMCwxNSBAQCBkaWZmIC0tZ2l0IGEvZ2RiL25hdC9saW51eC1idHJhY2UuaCBi L2dkYi9uYXQvbGludXgtYnRyYWNlLmgKICBzdHJ1Y3QgdGFyZ2V0X29wczsKICAKICAjaWYgSEFW RV9MSU5VWF9QRVJGX0VWRU5UX0gKK2RpZmYgLS1naXQgYS9nZGJzdXBwb3J0L2NvbW1vbi5tNCBi L2dkYnN1cHBvcnQvY29tbW9uLm00CistLS0gYS9nZGJzdXBwb3J0L2NvbW1vbi5tNAorKysrIGIv Z2Ric3VwcG9ydC9jb21tb24ubTQKK0BAIC0xNDUsNyArMTQ1LDcgQEAgQUNfREVGVU4oW0dEQl9B Q19DT01NT05dLCBbCisgICAgIEFDX1BSRVBST0NfSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWwor ICAgI2luY2x1ZGUgPGxpbnV4L3BlcmZfZXZlbnQuaD4KKyAgICNpZm5kZWYgUEVSRl9BVFRSX1NJ WkVfVkVSNQorLSAgIyBlcnJvcgorKyAgLy8gZXJyb3IgLy8gUEVSRl9BVFRSX1NJWkVfVkVSNV9C VU5ETEUgaXMgbm90IGF2YWlsYWJsZSBoZXJlIC0gRmVkb3JhK1JIRUwKKyAgICNlbmRpZgorICAg ICBdXSldLCBbcGVyZl9ldmVudD15ZXNdLCBbcGVyZl9ldmVudD1ub10pCisgICAgIGlmIHRlc3Qg IiRwZXJmX2V2ZW50IiAhPSB5ZXM7IHRoZW4KCmRpZmYgLS1naXQgYS9nZGItbHRvZml4LnBhdGNo IGIvZ2RiLWx0b2ZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTMwZjZm OC4uMDAwMDAwMAotLS0gYS9nZGItbHRvZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIg KzAsMCBAQAotZGlmZiAtTnJ1cCBhL2dkYi9nZGJzZXJ2ZXIvYXguYyBiL2dkYi9nZGJzZXJ2ZXIv YXguYwotLS0tIGEvZ2RiL2dkYnNlcnZlci9heC5jCTIwMTktMTEtMTggMTg6NDk6MTkuMDAwMDAw MDAwIC0wNzAwCi0rKysgYi9nZGIvZ2Ric2VydmVyL2F4LmMJMjAxOS0xMi0xOSAyMTozMDoxOS41 MTI1MDU0MTEgLTA3MDAKLUBAIC0yNSw3ICsyNSw3IEBACi0gc3RhdGljIHZvaWQgYXhfdmRlYnVn IChjb25zdCBjaGFyICosIC4uLikgQVRUUklCVVRFX1BSSU5URiAoMSwgMik7Ci0gCi0gI2lmZGVm IElOX1BST0NFU1NfQUdFTlQKLS1pbnQgZGVidWdfYWdlbnQgPSAwOwotK2Jvb2wgZGVidWdfYWdl bnQgPSAwOwotICNlbmRpZgotIAotIHN0YXRpYyB2b2lkCgpkaWZmIC0tZ2l0IGEvZ2RiLW1vcmli dW5kLXV0cmFjZS13b3JrYXJvdW5kLnBhdGNoIGIvZ2RiLW1vcmlidW5kLXV0cmFjZS13b3JrYXJv dW5kLnBhdGNoCmluZGV4IGYyZGE4NzIuLjg2OWZjNzUgMTAwNjQ0Ci0tLSBhL2dkYi1tb3JpYnVu ZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRjaAorKysgYi9nZGItbW9yaWJ1bmQtdXRyYWNlLXdvcmth cm91bmQucGF0Y2gKQEAgLTE0LDEwICsxNCwxMCBAQCBCdWcgaW4gRlNGIEdEQiBleHBsb2l0ZWQg YnkgdGhlIHB0cmFjZS1vbi11dHJhY2UgaW50ZXJhY3Rpb24uCiBkaWZmIC0tZ2l0IGEvZ2RiL2Jy ZWFrcG9pbnQuYyBiL2dkYi9icmVha3BvaW50LmMKIC0tLSBhL2dkYi9icmVha3BvaW50LmMKICsr KyBiL2dkYi9icmVha3BvaW50LmMKLUBAIC0xMTkwNCw2ICsxMTkwNCw4IEBAIHVwZGF0ZV9nbG9i YWxfbG9jYXRpb25fbGlzdCAoZW51bSB1Z2xsX2luc2VydF9tb2RlIGluc2VydF9tb2RlKQotIAkJ IHRyYXBzIHdlIGNhbiBubyBsb25nZXIgZXhwbGFpbi4gICovCi0gCi0gCSAgICAgIG9sZF9sb2Mt PmV2ZW50c190aWxsX3JldGlyZW1lbnQgPSAzICogKHRocmVhZF9jb3VudCAoKSArIDEpOworQEAg LTExOTQ4LDYgKzExOTQ4LDggQEAgdXBkYXRlX2dsb2JhbF9sb2NhdGlvbl9saXN0IChlbnVtIHVn bGxfaW5zZXJ0X21vZGUgaW5zZXJ0X21vZGUpCisgCQkgID0gMyAqICh0aHJlYWRfY291bnQgKHBy b2NfdGFyZ2V0KSArIDEpOworIAkgICAgICBlbHNlCisgCQlvbGRfbG9jLT5ldmVudHNfdGlsbF9y ZXRpcmVtZW50ID0gMTsKICsJICAgICAgLyogUmVkIEhhdCBCdWcgNTkwNjIzLiAgKi8KICsJICAg ICAgb2xkX2xvYy0+ZXZlbnRzX3RpbGxfcmV0aXJlbWVudCAqPSAxMDsKICAJICAgICAgb2xkX2xv Yy0+b3duZXIgPSBOVUxMOwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTgxODAxMS1iZmQtZ2NjMTAt ZXJyb3IucGF0Y2ggYi9nZGItcmhiejE4MTgwMTEtYmZkLWdjYzEwLWVycm9yLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NzQwMzI2Li4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6 MTgxODAxMS1iZmQtZ2NjMTAtZXJyb3IucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCww IEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTog S2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29tPgotRGF0ZTogV2VkLCA4IEFwciAyMDIw IDE2OjE1OjUyIC0wNDAwCi1TdWJqZWN0OiBnZGItcmhiejE4MTgwMTEtYmZkLWdjYzEwLWVycm9y LnBhdGNoCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLTs7IEZpeCBpbnQg Y29udmVyc2lvbiBlcnJvciBmcm9tIGJmZC9lbGYuYyB3aGVuIGNvbXBpbGluZyB3aXRoIGdjYyAx MAotCi1PcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIEguSi4gTHUgPGhqbC50b29sc0BnbWFp bC5jb20+IGlzIGJlbG93OgotCi1iZmQ6IENoYW5nZSBudW1fZ3JvdXAgdG8gdW5zaWduZWQgaW50 Ci0KLWVsZi5jIGZhaWxlZCB3aXRoIHRvIHdpdGggR0NDIDEwIGFzIG9mCi0KLWNvbW1pdCA5MDZi M2ViOWRmNmM1NzdkM2Y2ZTljM2VhNWM5ZDdlNGQxZTkwNTM2Ci1BdXRob3I6IE1hcnRpbiBMaXNr YSA8bWxpc2thQHN1c2UuY3o+Ci1EYXRlOiAgIFR1ZSBNYXIgMjQgMTE6NDA6MTAgMjAyMCArMDEw MAotCi0gICAgSW1wcm92ZSBlbmRpYW5lc3MgZGV0ZWN0aW9uLgotCi0gICAgICAgICAgICBQUiBs dG8vOTQyNDkKLSAgICAgICAgICAgICogcGx1Z2luLWFwaS5oOiBBZGQgbW9yZSByb2J1c3QgZW5k aWFuZXNzIGRldGVjdGlvbi4KLQotYmludXRpbHMtZ2RiL2JmZC9lbGYuYzogSW4gZnVuY3Rpb24g 4oCYc2V0dXBfZ3JvdXDigJk6Ci1iaW51dGlscy1nZGIvYmZkL2VsZi5jOjc0MDozNTogZXJyb3I6 IG92ZXJmbG93IGluIGNvbnZlcnNpb24gZnJvbSDigJh1bnNpZ25lZCBpbnTigJkgdG8g4oCYaW50 4oCZIGNoYW5nZXMgdmFsdWUgZnJvbSDigJhudW1fZ3JvdXAgPSA0Mjk0OTY3Mjk14oCZIHRvIOKA mC0x4oCZIFstV2Vycm9yPW92ZXJmbG93XQotICA3NDAgfCAgICAgZWxmX3RkYXRhIChhYmZkKS0+ bnVtX2dyb3VwID0gbnVtX2dyb3VwID0gLTE7Ci0gICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn4KLWNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQg YXMgZXJyb3JzCi1tYWtlWzJdOiAqKiogW01ha2VmaWxlOjE2MDg6IGVsZi5sb10gRXJyb3IgMQot Ci1DaGFuZ2UgbnVtX2dyb3VwIGluIGVsZl9vYmpfdGRhdGEgdG8gdW5zaWduZWQgaW50IHRvIGNv bXBpbGUgd2l0aCBHQ0MgMTAuCi0KLQlQUiBiaW51dGlscy8yNTcxNwotCSogZWxmLWJmZC5oIChl bGZfb2JqX3RkYXRhKTogQ2hhbmdlIG51bV9ncm91cCB0byB1bnNpZ25lZCBpbnQuCi0KLWRpZmYg LS1naXQgYS9iZmQvZWxmLWJmZC5oIGIvYmZkL2VsZi1iZmQuaAotLS0tIGEvYmZkL2VsZi1iZmQu aAotKysrIGIvYmZkL2VsZi1iZmQuaAotQEAgLTE5MzcsNyArMTkzNyw3IEBAIHN0cnVjdCBlbGZf b2JqX3RkYXRhCi0gICBzdHJ1Y3Qgc2R0X25vdGUgKnNkdF9ub3RlX2hlYWQ7Ci0gCi0gICBFbGZf SW50ZXJuYWxfU2hkciAqKmdyb3VwX3NlY3RfcHRyOwotLSAgaW50IG51bV9ncm91cDsKLSsgIHVu c2lnbmVkIGludCBudW1fZ3JvdXA7Ci0gCi0gICAvKiBJbmRleCBpbnRvIGdyb3VwX3NlY3RfcHRy LCB1cGRhdGVkIGJ5IHNldHVwX2dyb3VwIHdoZW4gZmluZGluZyBhCi0gICAgICBzZWN0aW9uJ3Mg Z3JvdXAuICBVc2VkIHRvIG9wdGltaXplIHN1YnNlcXVlbnQgZ3JvdXAgc2VhcmNoZXMuICAqLwoK ZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTgyMjcxNS1maXgtcHl0aG9uLWRlcHJlY2F0aW9uLnBhdGNo IGIvZ2RiLXJoYnoxODIyNzE1LWZpeC1weXRob24tZGVwcmVjYXRpb24ucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkN2MxMGIuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxODIy NzE1LWZpeC1weXRob24tZGVwcmVjYXRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MCAr MCwwIEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogS2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAxNiBBcHIg MjAyMCAwNToyNzoyNiAtMDcwMAotU3ViamVjdDogZ2RiLXJoYnoxODIyNzE1LWZpeC1weXRob24t ZGVwcmVjYXRpb24ucGF0Y2gKLQotOzsgQmFja3BvcnQgZml4IGZvciBkZXByZWNhdGlvbiBvZiBQ eUV2YWxfSW5pdFRocmVhZHMgaW4gUHl0aG9uIDMuOS4KLQotRml4IGNvbXBpbGF0aW9uIG9mIHB5 dGhvbi9weXRob24uYyBmb3IgUHl0aG9uIDMuOQotCi1UaGlzIGNvbW1pdCBmaXhlcyBhIGNvbXBp bGF0aW9uIHdhcm5pbmcvZXJyb3Igd2hlbiBidWlsZGluZyBHREIKLXdpdGggUHl0aG9uIDMuOToK LQotZysrIC14IGMrKyAgLU8yIC1nIC1waXBlIC1XYWxsIC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5 IC1XcCwtRF9GT1JUSUZZX1NPVVJDRT0yIC1XcCwtRF9HTElCQ1hYX0FTU0VSVElPTlMgLWZleGNl cHRpb25zIC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyAtZ3JlY29yZC1nY2Mtc3dpdGNoZXMgLXNw ZWNzPS91c3IvbGliL3JwbS9yZWRoYXQvcmVkaGF0LWhhcmRlbmVkLWNjMSAtc3BlY3M9L3Vzci9s aWIvcnBtL3JlZGhhdC9yZWRoYXQtYW5ub2Jpbi1jYzEgLW02NCAtbXR1bmU9Z2VuZXJpYyAtZmFz eW5jaHJvbm91cy11bndpbmQtdGFibGVzIC1mc3RhY2stY2xhc2gtcHJvdGVjdGlvbiAtZmNmLXBy b3RlY3Rpb24gIC1ERE5GX0RFQlVHSU5GT19JTlNUQUxMICAgLUkuIC1JLi4vLi4vZ2RiIC1JLi4v Li4vZ2RiL2NvbmZpZyAtRExPQ0FMRURJUj0iXCIvdXNyL3NoYXJlL2xvY2FsZVwiIiAtREhBVkVf Q09ORklHX0ggLUkuLi8uLi9nZGIvLi4vaW5jbHVkZS9vcGNvZGUgICAtSS4uL2JmZCAtSS4uLy4u L2dkYi8uLi9iZmQgLUkuLi8uLi9nZGIvLi4vaW5jbHVkZSAtSS4uL2xpYmRlY251bWJlciAtSS4u Ly4uL2dkYi8uLi9saWJkZWNudW1iZXIgIC1JLi4vLi4vZ2RiLy4uL2dudWxpYi9pbXBvcnQgLUku Li9nbnVsaWIvaW1wb3J0ICAtRFRVST0xICAgIC1JL3Vzci9pbmNsdWRlL2d1aWxlLzIuMCAtcHRo cmVhZCAgLUkvdXNyL2luY2x1ZGUvcHl0aG9uMy45IC1JL3Vzci9pbmNsdWRlL3B5dGhvbjMuOSAg LUkuLi8uLi9nZGIvLi4gLXB0aHJlYWQgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW51c2Vk IC1XdW51c2VkLXZhbHVlIC1XdW51c2VkLXZhcmlhYmxlIC1XdW51c2VkLWZ1bmN0aW9uIC1Xbm8t c3dpdGNoIC1Xbm8tY2hhci1zdWJzY3JpcHRzIC1XZW1wdHktYm9keSAtV3VudXNlZC1idXQtc2V0 LXBhcmFtZXRlciAtV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlIC1Xbm8tc2lnbi1jb21wYXJlIC1X bm8tZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZCAtV25vLW1pc21hdGNoZWQtdGFncyAtV3N1Z2dl c3Qtb3ZlcnJpZGUgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD0zIC1XZHVwbGljYXRlZC1jb25kIC1X c2hhZG93PWxvY2FsIC1XZGVwcmVjYXRlZC1jb3B5IC1XZGVwcmVjYXRlZC1jb3B5LWR0b3IgLVdy ZWR1bmRhbnQtbW92ZSAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1Xbm8tdW51c2VkIC1X ZXJyb3IgLWMgLW8gc2VyLXRjcC5vIC1NVCBzZXItdGNwLm8gLU1NRCAtTVAgLU1GIC4vLmRlcHMv c2VyLXRjcC5UcG8gLi4vLi4vZ2RiL3Nlci10Y3AuYwotLi4vLi4vZ2RiL3B5dGhvbi9weXRob24u YzogSW4gZnVuY3Rpb24gJ2Jvb2wgZG9fc3RhcnRfaW5pdGlhbGl6YXRpb24oKSc6Ci0uLi8uLi9n ZGIvcHl0aG9uL3B5dGhvbi5jOjE2MjE6MjM6IGVycm9yOiAndm9pZCBQeUV2YWxfSW5pdFRocmVh ZHMoKScgaXMgZGVwcmVjYXRlZCBbLVdlcnJvcj1kZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KLSAx NjIxIHwgICBQeUV2YWxfSW5pdFRocmVhZHMgKCk7Ci0gICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICBeCi1JbiBmaWxlIGluY2x1ZGVkIGZyb20gL3Vzci9pbmNsdWRlL3B5dGhvbjMuOS9QeXRo b24uaDoxNDEsCi0gICAgICAgICAgICAgICAgIGZyb20gLi4vLi4vZ2RiL3B5dGhvbi9weXRob24t aW50ZXJuYWwuaDo4NiwKLSAgICAgICAgICAgICAgICAgZnJvbSAuLi8uLi9nZGIvcHl0aG9uL3B5 dGhvbi5jOjkyOgotL3Vzci9pbmNsdWRlL3B5dGhvbjMuOS9jZXZhbC5oOjEzMjozNzogbm90ZTog ZGVjbGFyZWQgaGVyZQotICAxMzIgfCBQeV9ERVBSRUNBVEVEKDMuOSkgUHlBUElfRlVOQyh2b2lk KSBQeUV2YWxfSW5pdFRocmVhZHModm9pZCk7Ci0gICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgotCi1JbmZvcm1hdGlvbiBhYm91dCB0 aGUgZGVwcmVjYXRlZCBmdW5jdGlvbiBjYW4gYmUgZm91bmQgaGVyZToKLQotaHR0cHM6Ly9kb2Nz LnB5dGhvbi5vcmcvMy45L3doYXRzbmV3LzMuOS5odG1sI2RlcHJlY2F0ZWQKLQotU3BlY2lmaWNh bGx5LCB3aXRoIHJlZ2FyZCB0byBQeUV2YWxfSW5pdFRocmVhZHMoKSwgaXQgc2F5czoKLQotICAg IFRoZSBQeUV2YWxfSW5pdFRocmVhZHMoKSBhbmQgUHlFdmFsX1RocmVhZHNJbml0aWFsaXplZCgp IGZ1bmN0aW9ucwotICAgIGFyZSBub3cgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGlu IFB5dGhvbiAzLjExLiAgQ2FsbGluZwotICAgIFB5RXZhbF9Jbml0VGhyZWFkcygpIG5vdyBkb2Vz IG5vdGhpbmcuICBUaGUgR0lMIGlzIGluaXRpYWxpemVkIGJ5Ci0gICAgUHlfSW5pdGlhbGl6ZSgp IHNpbmNlIFB5dGhvbiAzLjcuICAoQ29udHJpYnV0ZWQgYnkgVmljdG9yIFN0aW5uZXIKLSAgICBp biBicG8tMzk4NzcuKQotCi1JIGNob3NlIHRvIGRpc2FibGUgdGhlIGNhbGwgd2l0aCBhICNpZiB0 ZXN0IHVzaW5nIFBZX1ZFUlNJT05fSEVYLgotVGhlcmUgaXMgcHJlY2VkZW50IGZvciB1c2Ugb2Yg UFlfVkVSU0lPTl9IRVg7IGl0J3MgdXNlZCBpbiB0d28gcGxhY2VzCi1pbiBweXRob24taW50ZXJu YWwuaC4gIEkgbm90aWNlZCB0aGF0IHVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcwotcHl0aG9u LWludGVybmFsLmggZGVmaW5lcyBQeUV2YWxfSW5pdFRocmVhZHMgdG8gYmUgbm90aGluZywgd2hp Y2gKLWFjY29tcGxpc2hlcyB0aGUgc2FtZSB0aGluZy4gIEkgY29uc2lkZXJlZCBkb2luZyBzb21l dGhpbmcgc2ltaWxhciBmb3IKLXRoaXMgY2FzZSwgYnV0IGRlY2lkZWQgYWdhaW5zdCBpdCBiZWNh dXNlLCBhdCBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUsCi10aGUgcHJlc2VuY2Ugb2YgUHlFdmFs X0luaXRUaHJlYWRzKCkgd2l0aG91dCBzb21lIGV4cGxhbmF0aW9uIHdpbGwgYmUKLWNvbmZ1c2lu ZyB0byBhIHJlYWRlciB3aG8gd29uJ3QgYmUgYWJsZSB0byBmaW5kIFB5RXZhbF9Jbml0VGhyZWFk cyBpbgotdGhlIGN1cnJlbnQgKGZ1dHVyZSBmb3IgdXMpIFB5dGhvbiBBUEkuICBJTU8sIHVzZSBv ZiB0aGUgI2lmIGFsb25nCi13aXRoIGFuIGFjY29tcGFueWluZyBjb21tZW50IHNlZW1lZCBtb3Jl IHN0cmFpZ2h0Zm9yd2FyZC4KLQotZ2RiL0NoYW5nZUxvZzoKLQotCSogcHl0aG9uL3B5dGhvbi5j IChkb19zdGFydF9pbml0aWFsaXphdGlvbik6IERvbid0IGNhbGwKLQlQeUV2YWxfSW5pdFRocmVh ZHMgZm9yIFB5dGhvbiAzLjkgYW5kIGJleW9uZC4KLQotQ2hhbmdlLUlkOiBJMDY3OWZjMTBiNmI3 Njc2MWE5OTUzODU2OGYxMzE4OGM2ZDgwMTRlMAotCi1kaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9w eXRob24uYyBiL2dkYi9weXRob24vcHl0aG9uLmMKLS0tLSBhL2dkYi9weXRob24vcHl0aG9uLmMK LSsrKyBiL2dkYi9weXRob24vcHl0aG9uLmMKLUBAIC0xNjE4LDcgKzE2MTgsMTIgQEAgZG9fc3Rh cnRfaW5pdGlhbGl6YXRpb24gKCkKLSAjZW5kaWYKLSAKLSAgIFB5X0luaXRpYWxpemUgKCk7Ci0r I2lmIFBZX1ZFUlNJT05fSEVYIDwgMHgwMzA5MDAwMAotKyAgLyogUHlFdmFsX0luaXRUaHJlYWRz IGJlY2FtZSBkZXByZWNhdGVkIGluIFB5dGhvbiAzLjkgYW5kIHdpbGwKLSsgICAgIGJlIHJlbW92 ZWQgaW4gUHl0aG9uIDMuMTEuICBQcmlvciB0byBQeXRob24gMy43LCB0aGlzIGNhbGwgd2FzCi0r ICAgICByZXF1aXJlZCB0byBpbml0aWFsaXplIHRoZSBHSUwuICAqLwotICAgUHlFdmFsX0luaXRU aHJlYWRzICgpOwotKyNlbmRpZgotIAotICNpZmRlZiBJU19QWTNLCi0gICBnZGJfbW9kdWxlID0g UHlJbXBvcnRfSW1wb3J0TW9kdWxlICgiX2dkYiIpOwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTgy OTcwMi1maXgtcHl0aG9uMzkucGF0Y2ggYi9nZGItcmhiejE4Mjk3MDItZml4LXB5dGhvbjM5LnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNGVlZjU2Li4wMDAwMDAwCi0tLSBh L2dkYi1yaGJ6MTgyOTcwMi1maXgtcHl0aG9uMzkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwy MjQgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IEtlaXRoIFNlaXR6IDxrZWl0aHNAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgNCBKdW4g MjAyMCAxNzoxNjo0OCAtMDcwMAotU3ViamVjdDogZ2RiLXJoYnoxODI5NzAyLWZpeC1weXRob24z OS5wYXRjaAotCi07OyBCYWNrcG9ydCAiRml4IFB5dGhvbiAzLjkgcmVsYXRlZCBydW50aW1lIHBy b2JsZW1zIgotOzsgS2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29tPiBhbmQgS2VpdGgg U2VpdHogPGtlaXRoc0ByZWRoYXQuY29tPgotCi1jb21taXQgYzQ3YmFlODU5YTVhZjBkOTUyMjRk OTAwMDBkZjBlNTI5ZjdjNWFhMAotQXV0aG9yOiBLZXZpbiBCdWV0dG5lciA8a2V2aW5iQHJlZGhh dC5jb20+Ci1EYXRlOiAgIFdlZCBNYXkgMjcgMjA6MDU6NDAgMjAyMCAtMDcwMAotCi0gICAgRml4 IFB5dGhvbjMuOSByZWxhdGVkIHJ1bnRpbWUgcHJvYmxlbXMKLQotICAgIFB5dGhvbjMuOWIxIGlz IG5vdyBhdmFpbGFibGUgb24gUmF3aGlkZS4gIEdEQiB3LyBQeXRob24gMy45IHN1cHBvcnQKLSAg ICBjYW4gYmUgYnVpbHQgdXNpbmcgdGhlIGNvbmZpZ3VyZSBzd2l0Y2ggLXdpdGgtcHl0aG9uPS91 c3IvYmluL3B5dGhvbjMuOS4KLQotICAgIEF0dGVtcHRpbmcgdG8gcnVuIGdkYi9QeXRob24zLjkg c2VnZmF1bHRzIG9uIHN0YXJ0dXA6Ci0KLSAgICAgICAgIzAgIDB4MDAwMDdmZmZmN2IwNTgyYyBp biBQeUV2YWxfUmVsZWFzZUxvY2sgKCkgZnJvbSAvbGliNjQvbGlicHl0aG9uMy45Ci0uc28uMS4w Ci0gICAgICAgICMxICAweDAwMDAwMDAwMDA2OWNjYmYgaW4gZG9fc3RhcnRfaW5pdGlhbGl6YXRp b24gKCkKLSAgICAgICAgICAgIGF0IHdvcmt0cmVlLXRlc3QxL2dkYi9weXRob24vcHl0aG9uLmM6 MTc4OQotICAgICAgICAjMiAgX2luaXRpYWxpemVfcHl0aG9uICgpCi0gICAgICAgICAgICBhdCB3 b3JrdHJlZS10ZXN0MS9nZGIvcHl0aG9uL3B5dGhvbi5jOjE4NzcKLSAgICAgICAgIzMgIDB4MDAw MDAwMDAwMDdhZmIwYSBpbiBpbml0aWFsaXplX2FsbF9maWxlcyAoKSBhdCBpbml0LmM6MjM3Ci0g ICAgICAgIC4uLgotCi0gICAgQ29uc3VsdGluZyB0aGUgdGhlIGRvY3VtZW50YXRpb24uLi4KLQot ICAgIGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvYy1hcGkvaW5pdC5odG1sCi0KLSAgICAuLi53 ZSBmaW5kIHRoYXQgUHlFdmFsX1JlbGVhc2VMb2NrKCkgaGFzIGJlZW4gZGVwcmVjYXRlZCBzaW5j ZSB2ZXJzaW9uCi0gICAgMy4yLiAgSXQgcmVjb21tZW5kcyB1c2luZyBQeUV2YWxfU2F2ZVRocmVh ZCBvciBQeUV2YWxfUmVsZWFzZVRocmVhZCgpCi0gICAgaW5zdGVhZC4gIEluIGRvX3N0YXJ0X2lu aXRpYWxpemF0aW9uLCBpbiBnZGIvcHl0aG9uL3B5dGhvbi5jLCB3ZQotICAgIGNhbiByZXBsYWNl IHRoZSBjYWxscyB0byBQeVRocmVhZFN0YXRlX1N3YXAoKSBhbmQgUHlFdmFsX1JlbGVhc2VMb2Nr KCkKLSAgICB3aXRoIGEgc2luZ2xlIGNhbGwgdG8gUHlFdmFsX1NhdmVUaHJlYWQuICAgKFRoYW5r cyB0byBLZWl0aCBTZWl0egotICAgIGZvciB3b3JraW5nIHRoaXMgb3V0LikKLQotICAgIFdpdGgg dGhhdCBpbiBwbGFjZSwgR0RCIGdldHMgYSBsaXR0bGUgYml0IGZ1cnRoZXIuICBJdCBzdGlsbCBk aWVzCi0gICAgb24gc3RhcnR1cCwgYnV0IHRoZSBiYWNrdHJhY2UgaXMgZGlmZmVyZW50OgotCi0g ICAgICAgICMwICAweDAwMDA3ZmZmZjdiMDQzMDYgaW4gUHlPU19JbnRlcnJ1cHRPY2N1cnJlZCAo KQotICAgICAgICAgICBmcm9tIC9saWI2NC9saWJweXRob24zLjkuc28uMS4wCi0gICAgICAgICMx ICAweDAwMDAwMDAwMDA1NzZlODYgaW4gY2hlY2tfcXVpdF9mbGFnICgpCi0gICAgICAgICAgICBh dCB3b3JrdHJlZS10ZXN0MS9nZGIvZXh0ZW5zaW9uLmM6Nzc2Ci0gICAgICAgICMyICAweDAwMDAw MDAwMDA1NzZmOGEgaW4gc2V0X2FjdGl2ZV9leHRfbGFuZyAobm93X2FjdGl2ZT1ub3dfYWN0aXZl QGVudHJ5PTB4OTgzYzAwIDxleHRlbnNpb25fbGFuZ3VhZ2VfcHl0aG9uPikKLSAgICAgICAgICAg IGF0IHdvcmt0cmVlLXRlc3QxL2dkYi9leHRlbnNpb24uYzo3MDUKLSAgICAgICAgIzMgIDB4MDAw MDAwMDAwMDY5ZDM5OSBpbiBnZGJweV9lbnRlcjo6Z2RicHlfZW50ZXIgKHRoaXM9MHg3ZmZmZmZm ZmQyZDAsCi0gICAgICAgICAgICBnZGJhcmNoPTB4MCwgbGFuZ3VhZ2U9MHgwKQotICAgICAgICAg ICAgYXQgd29ya3RyZWUtdGVzdDEvZ2RiL3B5dGhvbi9weXRob24uYzoyMTEKLSAgICAgICAgIzQg IDB4MDAwMDAwMDAwMDY4NmUwMCBpbiBweXRob25fbmV3X2luZmVyaW9yIChpbmY9MHhkZGViMTAp Ci0gICAgICAgICAgICBhdCB3b3JrdHJlZS10ZXN0MS9nZGIvcHl0aG9uL3B5LWluZmVyaW9yLmM6 MjUxCi0gICAgICAgICM1ICAweDAwMDAwMDAwMDA1ZDlmYjkgaW4gc3RkOjpmdW5jdGlvbjx2b2lk IChpbmZlcmlvciopPjo6b3BlcmF0b3IoKShpbmZlcmlvciopIGNvbnN0IChfX2FyZ3MjMD08b3B0 aW1pemVkIG91dD4sIHRoaXM9MHhjY2FkMjApCi0gICAgICAgICAgICBhdCAvdXNyL2luY2x1ZGUv YysrLzEwL2JpdHMvc3RkX2Z1bmN0aW9uLmg6NjE3Ci0gICAgICAgICM2ICBnZGI6Om9ic2VydmVy czo6b2JzZXJ2YWJsZTxpbmZlcmlvcio+Ojpub3RpZnkgKGFyZ3MjMD0weGRkZWIxMCwKLSAgICAg ICAgICAgIHRoaXM9PG9wdGltaXplZCBvdXQ+KQotICAgICAgICAgICAgYXQgd29ya3RyZWUtdGVz dDEvZ2RiLy4uL2dkYnN1cHBvcnQvb2JzZXJ2YWJsZS5oOjEwNgotICAgICAgICAjNyAgYWRkX2lu ZmVyaW9yX3NpbGVudCAocGlkPTApCi0gICAgICAgICAgICBhdCB3b3JrdHJlZS10ZXN0MS9nZGIv aW5mZXJpb3IuYzoxMTMKLSAgICAgICAgIzggIDB4MDAwMDAwMDAwMDVkYmNiOCBpbiBpbml0aWFs aXplX2luZmVyaW9ycyAoKQotICAgICAgICAgICAgYXQgd29ya3RyZWUtdGVzdDEvZ2RiL2luZmVy aW9yLmM6OTQ3Ci0gICAgICAgIC4uLgotCi0gICAgV2UgY2hlY2tlZCB3aXRoIHNvbWUgUHl0aG9u IERldmVsb3BlcnMgYW5kIHdlcmUgdG9sZCB0aGF0IHdlIHNob3VsZAotICAgIGFjcXVpcmUgdGhl IEdJTCBwcmlvciB0byBjYWxsaW5nIGFueSBQeXRob24gQyBBUEkgZnVuY3Rpb24uICBXZQotICAg IGRlZmluaXRlbHkgZG9uJ3QgaGF2ZSB0aGUgR0lMIGZvciBjYWxscyBvZiBQeU9TX0ludGVycnVw dE9jY3VycmVkKCkuCi0KLSAgICBJIG1vdmVkIGNsYXNzX2dkYnB5X2dpbCBlYXJsaWVyIGluIHRo ZSBmaWxlIGFuZCB1c2UgaXQgaW4KLSAgICBnZGJweV9jaGVja19xdWl0X2ZsYWcoKSB0byBhY3F1 aXJlIChhbmQgYXV0b21hdGljYWxseSByZWxlYXNlKSB0aGUKLSAgICBHSUwuCi0KLSAgICBXaXRo IHRob3NlIGNoYW5nZXMgaW4gcGxhY2UsIEkgd2FzIGFibGUgdG8gcnVuIHRvIGEgR0RCIHByb21w dC4gIEJ1dCwKLSAgICB3aGVuIHRyeWluZyB0byBxdWl0LCBpdCBzZWdmYXVsdGVkIGFnYWluIGR1 ZSB0byBkdWUgdG8gc29tZSBvdGhlcgotICAgIHByb2JsZW1zIHdpdGggZ2RicHlfY2hlY2tfcXVp dF9mbGFnKCk6Ci0KLSAgICAgICAgVGhyZWFkIDEgImdkYiIgcmVjZWl2ZWQgc2lnbmFsIFNJR1NF R1YsIFNlZ21lbnRhdGlvbiBmYXVsdC4KLSAgICAgICAgMHgwMDAwN2ZmZmY3YmJhYjBjIGluIG5l d190aHJlYWRzdGF0ZSAoKSBmcm9tIC9saWI2NC9saWJweXRob24zLjkuc28uMS4wCi0gICAgICAg ICh0b3AtZ2RiKSBidCA4Ci0gICAgICAgICMwICAweDAwMDA3ZmZmZjdiYmFiMGMgaW4gbmV3X3Ro cmVhZHN0YXRlICgpIGZyb20gL2xpYjY0L2xpYnB5dGhvbjMuOS5zby4xLjAKLSAgICAgICAgIzEg IDB4MDAwMDdmZmZmN2FmYTVlYSBpbiBQeUdJTFN0YXRlX0Vuc3VyZS5jb2xkICgpCi0gICAgICAg ICAgIGZyb20gL2xpYjY0L2xpYnB5dGhvbjMuOS5zby4xLjAKLSAgICAgICAgIzIgIDB4MDAwMDAw MDAwMDY5YjU4YyBpbiBnZGJweV9naWw6OmdkYnB5X2dpbCAodGhpcz08c3ludGhldGljIHBvaW50 ZXI+KQotICAgICAgICAgICAgYXQgd29ya3RyZWUtdGVzdDEvZ2RiL3B5dGhvbi9weXRob24uYzoy NzgKLSAgICAgICAgIzMgIGdkYnB5X2NoZWNrX3F1aXRfZmxhZyAoZXh0bGFuZz08b3B0aW1pemVk IG91dD4pCi0gICAgICAgICAgICBhdCB3b3JrdHJlZS10ZXN0MS9nZGIvcHl0aG9uL3B5dGhvbi5j OjI3OAotICAgICAgICAjNCAgMHgwMDAwMDAwMDAwNTc2ZTk2IGluIGNoZWNrX3F1aXRfZmxhZyAo KQotICAgICAgICAgICAgYXQgd29ya3RyZWUtdGVzdDEvZ2RiL2V4dGVuc2lvbi5jOjc3NgotICAg ICAgICAjNSAgMHgwMDAwMDAwMDAwNTc3MDBjIGluIHJlc3RvcmVfYWN0aXZlX2V4dF9sYW5nIChw cmV2aW91cz0weGU5YzA1MCkKLSAgICAgICAgICAgIGF0IHdvcmt0cmVlLXRlc3QxL2dkYi9leHRl bnNpb24uYzo3MjkKLSAgICAgICAgIzYgIDB4MDAwMDAwMDAwMDg4OTEzYSBpbiBkb19teV9jbGVh bnVwcyAoCi0gICAgICAgICAgICBwbXlfY2hhaW49MHhjMzE4NzAgPGZpbmFsX2NsZWFudXBfY2hh aW4+LAotICAgICAgICAgICAgb2xkX2NoYWluPTB4YWU1NzIwIDxzZW50aW5lbF9jbGVhbnVwPikK LSAgICAgICAgICAgIGF0IHdvcmt0cmVlLXRlc3QxL2dkYnN1cHBvcnQvY2xlYW51cHMuY2M6MTMx Ci0gICAgICAgICM3ICBkb19maW5hbF9jbGVhbnVwcyAoKQotICAgICAgICAgICAgYXQgd29ya3Ry ZWUtdGVzdDEvZ2Ric3VwcG9ydC9jbGVhbnVwcy5jYzoxNDMKLQotICAgIEluIHRoaXMgY2FzZSwg d2UncmUgdHJ5aW5nIHRvIGNhbGwgYSBQeXRob24gQyBBUEkgZnVuY3Rpb24gYWZ0ZXIKLSAgICBQ eV9GaW5hbGl6ZSgpIGhhcyBiZWVuIGNhbGxlZCBmcm9tIGZpbmFsaXplX3B5dGhvbigpLiAgSSBt YWRlCi0gICAgZmluYWxpemVfcHl0aG9uIHNldCBnZGJfcHl0aG9uX2luaXRpYWxpemVkIHRvIGZh bHNlIGFuZCB0aGVuIGNhdXNlCi0gICAgY2hlY2tfcXVpdF9mbGFnKCkgdG8gcmV0dXJuIGVhcmx5 IHdoZW4gaXQncyBmYWxzZS4KLQotICAgIFdpdGggdGhlc2UgY2hhbmdlcyBpbiBwbGFjZSwgR0RC IHNlZW1zIHRvIGJlIHdvcmtpbmcgYWdhaW4gd2l0aAotICAgIFB5dGhvbjMuOWIxLiAgSSB0aGlu ayBpdCBsaWtlbHkgdGhhdCB0aGVyZSBhcmUgb3RoZXIgcHJvYmxlbXMgbHVya2luZy4KLSAgICBJ IHdvdWxkbid0IGJlIHN1cnByaXNlZCB0byBmaW5kIHRoYXQgdGhlcmUgYXJlIG90aGVyIGNhbGxz IGludG8gUHl0aG9uCi0gICAgd2hlcmUgd2UgZG9uJ3QgZmlyc3QgbWFrZSBzdXJlIHRoYXQgd2Ug aGF2ZSB0aGUgR0lMLiAgRnVydGhlciBjaGFuZ2VzCi0gICAgbWF5IHdlbGwgYmUgbmVlZGVkLgot Ci0gICAgSSBzZWUgbm8gcmVncmVzc2lvbnMgdGVzdGluZyBvbiBSYXdoaWRlIHVzaW5nIGEgR0RC IGJ1aWx0IHdpdGggdGhlCi0gICAgZGVmYXVsdCBQeXRob24gdmVyc2lvbiAoMy44LjMpIHZlcnN1 cyBvbmUgYnVpbHQgdXNpbmcgUHl0aG9uIDMuOWIxLgotCi0gICAgSSd2ZSBhbHNvIHRlc3RlZCBv biBGZWRvcmEgMjgsIDI5LCAzMCwgMzEsIGFuZCAzMiAoYWxsIHg4Nl82NCkgdXNpbmcKLSAgICB0 aGUgZGVmYXVsdCAodGhvdWdoIHVwZGF0ZWQpIHN5c3RlbSBpbnN0YWxsZWQgdmVyc2lvbnMgb2Yg UHl0aG9uIG9uCi0gICAgdGhvc2UgT1Nlcy4gIFRoaXMgbWVhbnMgdGhhdCBJJ3ZlIHRlc3RlZCBh Z2FpbnN0IFB5dGhvbiB2ZXJzaW9ucwotICAgIDIuNy4xNSwgMi43LjE3LCAyLjcuMTgsIDMuNy43 LCAzLjguMiwgYW5kIDMuOC4zLiAgSW4gZWFjaCBjYXNlIEdEQgotICAgIHN0aWxsIGJ1aWxkcyB3 aXRob3V0IHByb2JsZW0gYW5kIHNob3dzIG5vIHJlZ3Jlc3Npb25zIGFmdGVyIGFwcGx5aW5nCi0g ICAgdGhpcyBwYXRjaC4KLQotICAgIGdkYi9DaGFuZ2VMb2c6Ci0KLSAgICAyMDIwLU1NLUREICBL ZXZpbiBCdWV0dG5lciAgPGtldmluYkByZWRoYXQuY29tPgotICAgICAgICAgICAgICAgIEtlaXRo IFNlaXR6ICA8a2VpdGhzQHJlZGhhdC5jb20+Ci0KLSAgICAgICAgICAgICogcHl0aG9uL3B5dGhv bi5jIChkb19zdGFydF9pbml0aWFsaXphdGlvbik6IEZvciBQeXRob24gMy45IGFuZAotICAgICAg ICAgICAgbGF0ZXIsIGNhbGwgUHlFdmFsX1NhdmVUaHJlYWQgaW5zdGVhZCBvZiBQeUV2YWxfUmVs ZWFzZUxvY2suCi0gICAgICAgICAgICAoY2xhc3MgZ2RicHlfZ2lsKTogTW92ZSB0byBlYXJsaWVy IGluIGZpbGUuCi0gICAgICAgICAgICAoZmluYWxpemVfcHl0aG9uKTogU2V0IGdkYl9weXRob25f aW5pdGlhbGl6ZWQuCi0gICAgICAgICAgICAoZ2RicHlfY2hlY2tfcXVpdF9mbGFnKTogQWNxdWly ZSBHSUwgdmlhIGdkYnB5X2dpbC4gIFJldHVybiBlYXJseQotICAgICAgICAgICAgd2hlbiBub3Qg aW5pdGlhbGl6ZWQuCi0KLWRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5dGhvbi5jIGIvZ2RiL3B5 dGhvbi9weXRob24uYwotLS0tIGEvZ2RiL3B5dGhvbi9weXRob24uYwotKysrIGIvZ2RiL3B5dGhv bi9weXRob24uYwotQEAgLTIzNCw2ICsyMzQsMzAgQEAgZ2RicHlfZW50ZXI6On5nZGJweV9lbnRl ciAoKQotICAgUHlHSUxTdGF0ZV9SZWxlYXNlIChtX3N0YXRlKTsKLSB9Ci0gCi0rLyogQSBoZWxw ZXIgY2xhc3MgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUgR0lMLCBidXQgd2l0aG91dCB0b3VjaGlu ZwotKyAgIHRoZSBvdGhlciBnbG9iYWxzIHRoYXQgYXJlIGhhbmRsZWQgYnkgZ2RicHlfZW50ZXIu ICAqLwotKwotK2NsYXNzIGdkYnB5X2dpbAotK3sKLStwdWJsaWM6Ci0rCi0rICBnZGJweV9naWwg KCkKLSsgICAgOiBtX3N0YXRlIChQeUdJTFN0YXRlX0Vuc3VyZSAoKSkKLSsgIHsKLSsgIH0KLSsK LSsgIH5nZGJweV9naWwgKCkKLSsgIHsKLSsgICAgUHlHSUxTdGF0ZV9SZWxlYXNlIChtX3N0YXRl KTsKLSsgIH0KLSsKLSsgIERJU0FCTEVfQ09QWV9BTkRfQVNTSUdOIChnZGJweV9naWwpOwotKwot K3ByaXZhdGU6Ci0rCi0rICBQeUdJTFN0YXRlX1NUQVRFIG1fc3RhdGU7Ci0rfTsKLSsKLSAvKiBT ZXQgdGhlIHF1aXQgZmxhZy4gICovCi0gCi0gc3RhdGljIHZvaWQKLUBAIC0yNDcsNiArMjcxLDEw IEBAIGdkYnB5X3NldF9xdWl0X2ZsYWcgKGNvbnN0IHN0cnVjdCBleHRlbnNpb25fbGFuZ3VhZ2Vf ZGVmbiAqZXh0bGFuZykKLSBzdGF0aWMgaW50Ci0gZ2RicHlfY2hlY2tfcXVpdF9mbGFnIChjb25z dCBzdHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX2RlZm4gKmV4dGxhbmcpCi0gewotKyAgaWYgKCFn ZGJfcHl0aG9uX2luaXRpYWxpemVkKQotKyAgICByZXR1cm4gMDsKLSsKLSsgIGdkYnB5X2dpbCBn aWw7Ci0gICByZXR1cm4gUHlPU19JbnRlcnJ1cHRPY2N1cnJlZCAoKTsKLSB9Ci0gCi1AQCAtOTI0 LDMwICs5NTIsNiBAQCBnZGJweV9zb3VyY2Vfc2NyaXB0IChjb25zdCBzdHJ1Y3QgZXh0ZW5zaW9u X2xhbmd1YWdlX2RlZm4gKmV4dGxhbmcsCi0gCi0gLyogUG9zdGluZyBhbmQgaGFuZGxpbmcgZXZl bnRzLiAgKi8KLSAKLS0vKiBBIGhlbHBlciBjbGFzcyB0byBzYXZlIGFuZCByZXN0b3JlIHRoZSBH SUwsIGJ1dCB3aXRob3V0IHRvdWNoaW5nCi0tICAgdGhlIG90aGVyIGdsb2JhbHMgdGhhdCBhcmUg aGFuZGxlZCBieSBnZGJweV9lbnRlci4gICovCi0tCi0tY2xhc3MgZ2RicHlfZ2lsCi0tewotLXB1 YmxpYzoKLS0KLS0gIGdkYnB5X2dpbCAoKQotLSAgICA6IG1fc3RhdGUgKFB5R0lMU3RhdGVfRW5z dXJlICgpKQotLSAgewotLSAgfQotLQotLSAgfmdkYnB5X2dpbCAoKQotLSAgewotLSAgICBQeUdJ TFN0YXRlX1JlbGVhc2UgKG1fc3RhdGUpOwotLSAgfQotLQotLSAgRElTQUJMRV9DT1BZX0FORF9B U1NJR04gKGdkYnB5X2dpbCk7Ci0tCi0tcHJpdmF0ZToKLS0KLS0gIFB5R0lMU3RhdGVfU1RBVEUg bV9zdGF0ZTsKLS19OwotLQotIC8qIEEgc2luZ2xlIGV2ZW50LiAgKi8KLSBzdHJ1Y3QgZ2RicHlf ZXZlbnQKLSB7Ci1AQCAtMTU0OCw2ICsxNTUyLDcgQEAgZmluYWxpemVfcHl0aG9uICh2b2lkICpp Z25vcmUpCi0gCi0gICBQeV9GaW5hbGl6ZSAoKTsKLSAKLSsgIGdkYl9weXRob25faW5pdGlhbGl6 ZWQgPSBmYWxzZTsKLSAgIHJlc3RvcmVfYWN0aXZlX2V4dF9sYW5nIChwcmV2aW91c19hY3RpdmUp OwotIH0KLSAKLUBAIC0xNzIwLDggKzE3MjUsNyBAQCBkb19zdGFydF9pbml0aWFsaXphdGlvbiAo KQotICAgICByZXR1cm4gZmFsc2U7Ci0gCi0gICAvKiBSZWxlYXNlIHRoZSBHSUwgd2hpbGUgZ2Ri IHJ1bnMuICAqLwotLSAgUHlUaHJlYWRTdGF0ZV9Td2FwIChOVUxMKTsKLS0gIFB5RXZhbF9SZWxl YXNlTG9jayAoKTsKLSsgIFB5RXZhbF9TYXZlVGhyZWFkICgpOwotIAotICAgbWFrZV9maW5hbF9j bGVhbnVwIChmaW5hbGl6ZV9weXRob24sIE5VTEwpOwotIAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6 MTgzODc3Ny1kZWJ1Z2luZm9kLnBhdGNoIGIvZ2RiLXJoYnoxODM4Nzc3LWRlYnVnaW5mb2QucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjOTE4NTEuLjAwMDAwMDAKLS0tIGEv Z2RiLXJoYnoxODM4Nzc3LWRlYnVnaW5mb2QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTg4 ICswLDAgQEAKLUZyb20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1G cm9tOiBLZWl0aCBTZWl0eiA8a2VpdGhzQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDkgSnVuIDIw MjAgMDg6Mjk6NDEgLTA3MDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTgzODc3Ny1kZWJ1Z2luZm9kLnBh dGNoCi0KLTs7IEJhY2twb3J0IGRlYnVnaW5vZmQgc3VwcG9ydC4KLTs7IChBYXJvbiBNZXJleSwg UkggQlogMTgzODc3KQotCi1jb21taXQgMGQ3OWNkYzQ5NGQ1ZWI5ZGIyNmE2MDJkNjJjOTJkNDlm ODNmNDA3ZQotQXV0aG9yOiBBYXJvbiBNZXJleSA8YW1lcmV5QHJlZGhhdC5jb20+Ci1EYXRlOiAg IFdlZCBGZWIgMjYgMTc6NDA6NDkgMjAyMCAtMDUwMAotCi0gICAgQWRkIGRlYnVnaW5mb2Qgc3Vw cG9ydCB0byBHREIKLQotICAgIGRlYnVnaW5mb2QgaXMgYSBsaWdodHdlaWdodCB3ZWIgc2Vydmlj ZSB0aGF0IGluZGV4ZXMgRUxGL0RXQVJGIGRlYnVnZ2luZwotICAgIHJlc291cmNlcyBieSBidWls ZC1pZCBhbmQgc2VydmVzIHRoZW0gb3ZlciBIVFRQLgotCi0gICAgVGhpcyBwYXRjaCBlbmFibGVz IEdEQiB0byBxdWVyeSBkZWJ1Z2luZm9kIHNlcnZlcnMgZm9yIHNlcGFyYXRlIGRlYnVnCi0gICAg ZmlsZXMgYW5kIHNvdXJjZSBjb2RlIHdoZW4gaXQgaXMgb3RoZXJ3aXNlIG5vdCBhYmxlIHRvIGZp bmQgdGhlbS4KLQotICAgIEdEQiBjYW4gYmUgYnVpbHQgd2l0aCBkZWJ1Z2luZm9kIHVzaW5nIHRo ZSAtLXdpdGgtZGVidWdpbmZvZCBjb25maWd1cmUKLSAgICBvcHRpb24uCi0KLSAgICBUaGlzIHJl cXVpcmVzIHRoYXQgbGliZGVidWdpbmZvZCBiZSBpbnN0YWxsZWQgYW5kIGZvdW5kIGF0IGNvbmZp Z3VyZSB0aW1lLgotCi0gICAgZGVidWdpbmZvZCBpcyBwYWNrYWdlZCB3aXRoIGVsZnV0aWxzLCBz dGFydGluZyB3aXRoIHZlcnNpb24gMC4xNzguCi0KLSAgICBGb3IgbW9yZSBpbmZvcm1hdGlvbiBz ZWUgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9lbGZ1dGlscy8uCi0KLSAgICBUZXN0ZWQgb24geDg2 XzY0IEZlZG9yYSAzMS4KLQotICAgIGdkYi9DaGFuZ2VMb2c6Ci0gICAgMjAyMC0wMi0yNiAgQWFy b24gTWVyZXkgIDxhbWVyZXlAcmVkaGF0LmNvbT4KLQotICAgICAgICAgICAgKiBNYWtlZmlsZS5p bjogSGFuZGxlIG9wdGlvbmFsIGRlYnVnaW5mb2Qgc3VwcG9ydC4KLSAgICAgICAgICAgICogTkVX UzogVXBkYXRlLgotICAgICAgICAgICAgKiBSRUFETUU6IEFkZCAtLXdpdGgtZGVidWdpbmZvZCBz dW1tYXJ5LgotICAgICAgICAgICAgKiBjb25maWcuaW46IFJlZ2VuZXJhdGUuCi0gICAgICAgICAg ICAqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KLSAgICAgICAgICAgICogY29uZmlndXJlLmFjOiBI YW5kbGUgb3B0aW9uYWwgZGVidWdpbmZvZCBzdXBwb3J0LgotICAgICAgICAgICAgKiBkZWJ1Z2lu Zm9kLXN1cHBvcnQuYzogZGVidWdpbmZvZCBoZWxwZXIgZnVuY3Rpb25zLgotICAgICAgICAgICAg KiBkZWJ1Z2luZm9kLXN1cHBvcnQuaDogRGl0dG8uCi0gICAgICAgICAgICAqIGRvYy9nZGIudGV4 aW5mbzogQWRkIC0td2l0aC1kZWJ1Z2luZm9kIHRvIGNvbmZpZ3VyZSBvcHRpb25zCi0gICAgICAg ICAgICBzdW1tYXJ5LgotICAgICAgICAgICAgKiBkd2FyZjIvcmVhZC5jIChkd2FyZjJfZ2V0X2R3 el9maWxlKTogUXVlcnkgZGVidWdpbmZvZCBzZXJ2ZXJzCi0gICAgICAgICAgICB3aGVuIGEgZHd6 IGZpbGUgY2Fubm90IGJlIGZvdW5kLgotICAgICAgICAgICAgKiBlbGZyZWFkLmMgKGVsZl9zeW1m aWxlX3JlYWQpOiBRdWVyeSBkZWJ1Z2luZm9kIHNlcnZlcnMgd2hlbiBhCi0gICAgICAgICAgICBk ZWJ1Z2luZm8gZmlsZSBjYW5ub3QgYmUgZm91bmQuCi0gICAgICAgICAgICAqIHNvdXJjZS5jIChv cGVuX3NvdXJjZV9maWxlKTogUXVlcnkgZGVidWdpbmZvZCBzZXJ2ZXJzIHdoZW4gYQotICAgICAg ICAgICAgc291cmNlIGZpbGUgY2Fubm90IGJlIGZvdW5kLgotICAgICAgICAgICAgKiB0b3AuYyAo cHJpbnRfZ2RiX2NvbmZpZ3VyYXRpb24pOiBJbmNsdWRlCi0gICAgICAgICAgICAtLXt3aXRoLHdp dGhvdXR9LWRlYnVnaW5mb2QgaW4gdGhlIG91dHB1dC4KLQotICAgIGdkYi90ZXN0c3VpdGUvQ2hh bmdlTG9nOgotICAgIDIwMjAtMDItMjYgIEFhcm9uIE1lcmV5ICA8YW1lcmV5QHJlZGhhdC5jb20+ Ci0KLSAgICAgICAgICAgICogZ2RiLmRlYnVnaW5mb2Q6IE5ldyBkaXJlY3RvcnkgZm9yIGRlYnVn aW5mb2QgdGVzdHMuCi0gICAgICAgICAgICAqIGdkYi5kZWJ1Z2luZm9kL21haW4uYzogTmV3IHRl c3QgZmlsZS4KLSAgICAgICAgICAgICogZ2RiLmRlYnVnaW5mb2QvZmV0Y2hfc3JjX2FuZF9zeW1i b2xzLmV4cDogTmV3IHRlc3RzLgotCi1kaWZmIC0tZ2l0IGEvY29uZmlnL2RlYnVnaW5mb2QubTQg Yi9jb25maWcvZGVidWdpbmZvZC5tNAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tLSAvZGV2L251 bGwKLSsrKyBiL2NvbmZpZy9kZWJ1Z2luZm9kLm00Ci1AQCAtMCwwICsxLDM4IEBACi0rZG5sIENv cHlyaWdodCAoQykgMTk5Ny0yMDE5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotK2Ru bCBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZSwgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUKLStkbmwgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIEFzIGEgc3BlY2lhbCBl eGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsCi0rZG5sIFB1YmxpYyBMaWNlbnNlLCB0aGlzIGZp bGUgbWF5IGJlIGRpc3RyaWJ1dGVkIGFzIHBhcnQgb2YgYSBwcm9ncmFtCi0rZG5sIHRoYXQgY29u dGFpbnMgYSBjb25maWd1cmF0aW9uIHNjcmlwdCBnZW5lcmF0ZWQgYnkgQXV0b2NvbmYsIHVuZGVy Ci0rZG5sIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyBhcyB0aGUgcmVzdCBvZiB0aGF0IHBy b2dyYW0uCi0rCi0rQUNfREVGVU4oW0FDX0RFQlVHSU5GT0RdLAotK1sKLSsjIEVuYWJsZSBkZWJ1 Z2luZm9kCi0rQUNfQVJHX1dJVEgoW2RlYnVnaW5mb2RdLAotKyAgICAgICAgQUNfSEVMUF9TVFJJ TkcoWy0td2l0aC1kZWJ1Z2luZm9kXSwKLSsgICAgICAgICAgICAgICAgICAgICAgIFtFbmFibGUg ZGVidWdpbmZvIGxvb2t1cHMgd2l0aCBkZWJ1Z2luZm9kIChhdXRvL3llcy9ubyldKSwKLSsgICAg ICAgIFtdLCBbd2l0aF9kZWJ1Z2luZm9kPWF1dG9dKQotK0FDX01TR19DSEVDS0lORyhbd2hldGhl ciB0byB1c2UgZGVidWdpbmZvZF0pCi0rQUNfTVNHX1JFU1VMVChbJHdpdGhfZGVidWdpbmZvZF0p Ci0rCi0raWYgdGVzdCAiJHt3aXRoX2RlYnVnaW5mb2R9IiA9IG5vOyB0aGVuCi0rICBBQ19NU0df V0FSTihbZGVidWdpbmZvZCBzdXBwb3J0IGRpc2FibGVkOyBzb21lIGZlYXR1cmVzIG1heSBiZSB1 bmF2YWlsYWJsZS5dKQotK2Vsc2UKLSsgIEFDX0NIRUNLX0xJQihbZGVidWdpbmZvZF0sIFtkZWJ1 Z2luZm9kX2JlZ2luXSwgW2hhdmVfZGVidWdpbmZvZF9saWI9eWVzXSkKLSsgIEFDX0NIRUNLX0RF Q0woW2RlYnVnaW5mb2RfYmVnaW5dLCBbaGF2ZV9kZWJ1Z2luZm9kX2g9eWVzXSwgW10sCi0rICAg ICAgICAgICAgICAgIFsjaW5jbHVkZSA8ZWxmdXRpbHMvZGVidWdpbmZvZC5oPl0pCi0rICBpZiB0 ZXN0ICJ4JGhhdmVfZGVidWdpbmZvZF9saWIiID0gInh5ZXMiIC1hIFwKLSsgICAgICAgICAgIngk aGF2ZV9kZWJ1Z2luZm9kX2giID0gInh5ZXMiOyB0aGVuCi0rICAgIEFDX0RFRklORShbSEFWRV9M SUJERUJVR0lORk9EXSwgWzFdLAotKyAgICAgICAgICAgICAgW0RlZmluZSB0byAxIGlmIGRlYnVn aW5mb2QgaXMgZW5hYmxlZC5dKQotKyAgICBBQ19TVUJTVChbTElCREVCVUdJTkZPRF0sIFsiLWxk ZWJ1Z2luZm9kIl0pCi0rICBlbHNlCi0rICAgIEFDX1NVQlNUKFtMSUJERUJVR0lORk9EXSwgW10p Ci0rICAgIGlmIHRlc3QgIiR3aXRoX2RlYnVnaW5mb2QiID0geWVzOyB0aGVuCi0rICAgICAgQUNf TVNHX0VSUk9SKFtkZWJ1Z2luZm9kIGlzIG1pc3Npbmcgb3IgdW51c2FibGVdKQotKyAgICBlbHNl Ci0rICAgICAgQUNfTVNHX1dBUk4oW2RlYnVnaW5mb2QgaXMgbWlzc2luZyBvciB1bnVzYWJsZTsg c29tZSBmZWF0dXJlcyBtYXkgYmUgdW5hdmFpbGFibGUuXSkKLSsgICAgZmkKLSsgIGZpCi0rZmkK LStdKQotZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtlZmlsZS5pbgotLS0t IGEvZ2RiL01ha2VmaWxlLmluCi0rKysgYi9nZGIvTWFrZWZpbGUuaW4KLUBAIC02MTIsNyArNjEy LDggQEAgQ0xJQlMgPSAkKFNJTSkgJChSRUFETElORSkgJChPUENPREVTKSAkKEJGRCkgJChMSUJD VEYpICQoWkxJQikgXAotIAlATElCU0AgQEdVSUxFX0xJQlNAIEBQWVRIT05fTElCU0AgXAotIAkk KExJQkVYUEFUKSAkKExJQkxaTUEpICQoTElCQkFCRUxUUkFDRSkgJChMSUJJUFQpIFwKLSAJJChM SUJJQkVSVFkpICQoV0lOMzJMSUJTKSAkKExJQkdOVSkgJChMSUJJQ09OVikgJChMSUJNUEZSKSBc Ci0tCSQoU1JDSElHSF9MSUJTKSAkKExJQlhYSEFTSCkgJChQVEhSRUFEX0xJQlMpCi0rCSQoU1JD SElHSF9MSUJTKSAkKExJQlhYSEFTSCkgJChQVEhSRUFEX0xJQlMpIFwKLSsJQExJQkRFQlVHSU5G T0RACi0gQ0RFUFMgPSAkKE5BVF9DREVQUykgJChTSU0pICQoQkZEKSAkKFJFQURMSU5FX0RFUFMp ICQoTElCQ1RGKSBcCi0gCSQoT1BDT0RFUykgJChJTlRMX0RFUFMpICQoTElCSUJFUlRZKSAkKENP TkZJR19ERVBTKSAkKExJQkdOVSkKLSAKLUBAIC0xMDE2LDYgKzEwMTcsNyBAQCBDT01NT05fU0ZJ TEVTID0gXAotIAlkYnhyZWFkLmMgXAotIAlkY2FjaGUuYyBcCi0gCWRlYnVnLmMgXAotKwlkZWJ1 Z2luZm9kLXN1cHBvcnQuYyBcCi0gCWRpY3Rpb25hcnkuYyBcCi0gCWRpc2FzbS5jIFwKLSAJZGlz YXNtLXNlbGZ0ZXN0cy5jIFwKLWRpZmYgLS1naXQgYS9nZGIvTkVXUyBiL2dkYi9ORVdTCi0tLS0g YS9nZGIvTkVXUwotKysrIGIvZ2RiL05FV1MKLUBAIC05MzIsNiArOTMyLDIwIEBAIFNILTUvU0g2 NCBydW5uaW5nIE9wZW5CU0QgCVNILTUvU0g2NCBzdXBwb3J0IGluIHNoKi0qLW9wZW5ic2QqCi0g ICAgICBtYW51YWwgZm9yIGEgZnVydGhlciBkZXNjcmlwdGlvbiBvZiB0aGlzIGZlYXR1cmUuCi0g Ci0gCi0rKiBHREIgbm93IHN1cHBvcnRzIGRlYnVnaW5mb2QsIGFuIEhUVFAgc2VydmVyIGZvciBk aXN0cmlidXRpbmcgRUxGL0RXQVJGCi0rICBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gYXMgd2VsbCBh cyBzb3VyY2UgY29kZS4KLSsKLSsgIFdoZW4gYnVpbHQgd2l0aCBkZWJ1Z2luZm9kLCBHREIgY2Fu IGF1dG9tYXRpY2FsbHkgcXVlcnkgZGVidWdpbmZvZAotKyAgc2VydmVycyBmb3IgdGhlIHNlcGFy YXRlIGRlYnVnIGZpbGVzIGFuZCBzb3VyY2UgY29kZSBvZiB0aGUgZXhlY3V0YWJsZQotKyAgYmVp bmcgZGVidWdnZWQuCi0rCi0rICBUbyBidWlsZCBHREIgd2l0aCBkZWJ1Z2luZm9kLCBwYXNzIC0t d2l0aC1kZWJ1Z2luZm9kIHRvIGNvbmZpZ3VyZSAodGhpcwotKyAgcmVxdWlyZXMgbGliZGVidWdp bmZvZCwgdGhlIGRlYnVnaW5mb2QgY2xpZW50IGxpYnJhcnkpLgotKwotKyAgZGVidWdpbmZvZCBp cyBkaXN0cmlidXRlZCB3aXRoIGVsZnV0aWxzLCBzdGFydGluZyB3aXRoIHZlcnNpb24gMC4xNzgu Ci0rCi0rICBZb3UgY2FuIGdldCB0aGUgbGF0ZXN0IHZlcnNpb24gZnJvbSBodHRwczovL3NvdXJj ZXdhcmUub3JnL2VsZnV0aWxzLgotKwotICogTmV3IGZlYXR1cmVzIGluIHRoZSBHREIgcmVtb3Rl IHN0dWIsIEdEQnNlcnZlcgotIAotICAgKiogR0RCc2VydmVyIGlzIG5vdyBhYmxlIHRvIHN0YXJ0 IGluZmVyaW9yIHByb2Nlc3NlcyB3aXRoIGEKLWRpZmYgLS1naXQgYS9nZGIvUkVBRE1FIGIvZ2Ri L1JFQURNRQotLS0tIGEvZ2RiL1JFQURNRQotKysrIGIvZ2RiL1JFQURNRQotQEAgLTQzMiw2ICs0 MzIsMTUgQEAgbW9yZSBvYnNjdXJlIEdEQiBgY29uZmlndXJlJyBvcHRpb25zIGFyZSBub3QgbGlz dGVkIGhlcmUuCi0gICAgICBVc2UgdGhlIGN1cnNlcyBsaWJyYXJ5IGluc3RlYWQgb2YgdGhlIHRl cm1jYXAgbGlicmFyeSwgZm9yCi0gICAgICB0ZXh0LW1vZGUgdGVybWluYWwgb3BlcmF0aW9ucy4K LSAKLStgLS13aXRoLWRlYnVnaW5mb2QnCi0rICAgICBCdWlsZCBHREIgd2l0aCBsaWJkZWJ1Z2lu Zm9kLCB0aGUgZGVidWdpbmZvZCBjbGllbnQgbGlicmFyeS4gIFVzZWQKLSsgICAgIHRvIGF1dG9t YXRpY2FsbHkgZmV0Y2ggc291cmNlIGZpbGVzIGFuZCBzZXBhcmF0ZSBkZWJ1ZyBmaWxlcyBmcm9t Ci0rICAgICBkZWJ1Z2luZm9kIHNlcnZlcnMgdXNpbmcgdGhlIGFzc29jaWF0ZWQgZXhlY3V0YWJs ZSdzIGJ1aWxkIElELgotKyAgICAgRW5hYmxlZCBieSBkZWZhdWx0IGlmIGxpYmRlYnVnaW5mb2Qg aXMgaW5zdGFsbGVkIGFuZCBmb3VuZCBhdAotKyAgICAgY29uZmlndXJlIHRpbWUuICBkZWJ1Z2lu Zm9kIGlzIHBhY2thZ2VkIHdpdGggZWxmdXRpbHMsIHN0YXJ0aW5nCi0rICAgICB3aXRoIHZlcnNp b24gMC4xNzguICBZb3UgY2FuIGdldCB0aGUgbGF0ZXN0IHZlcnNpb24gZnJvbQotKyAgICAgJ2h0 dHBzOi8vc291cmNld2FyZS5vcmcvZWxmdXRpbHMvJy4KLSsKLSBgLS13aXRoLWxpYnVud2luZC1p YTY0JwotICAgICAgVXNlIHRoZSBsaWJ1bndpbmQgbGlicmFyeSBmb3IgdW53aW5kaW5nIGZ1bmN0 aW9uIGNhbGwgc3RhY2sgb24gaWE2NAotICAgICAgdGFyZ2V0IHBsYXRmb3Jtcy4KLWRpZmYgLS1n aXQgYS9nZGIvY29uZmlnLmluIGIvZ2RiL2NvbmZpZy5pbgotLS0tIGEvZ2RiL2NvbmZpZy5pbgot KysrIGIvZ2RiL2NvbmZpZy5pbgotQEAgLTIzMCw2ICsyMzAsOSBAQAotIC8qIERlZmluZSBpZiB5 b3UgaGF2ZSB0aGUgYmFiZWx0cmFjZSBsaWJyYXJ5LiAqLwotICN1bmRlZiBIQVZFX0xJQkJBQkVM VFJBQ0UKLSAKLSsvKiBEZWZpbmUgdG8gMSBpZiBkZWJ1Z2luZm9kIGlzIGVuYWJsZWQuICovCi0r I3VuZGVmIEhBVkVfTElCREVCVUdJTkZPRAotKwotIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUg ZXhwYXQgbGlicmFyeS4gKi8KLSAjdW5kZWYgSEFWRV9MSUJFWFBBVAotIAotZGlmZiAtLWdpdCBh L2dkYi9jb25maWd1cmUgYi9nZGIvY29uZmlndXJlCi0tLS0gYS9nZGIvY29uZmlndXJlCi0rKysg Yi9nZGIvY29uZmlndXJlCi1AQCAtNzU4LDYgKzc1OCw3IEBAIFJFUE9SVF9CVUdTX1RFWEkKLSBS RVBPUlRfQlVHU19UTwotIFBLR1ZFUlNJT04KLSBDT0RFU0lHTl9DRVJUCi0rTElCREVCVUdJTkZP RAotIEhBVkVfTkFUSVZFX0dDT1JFX1RBUkdFVAotIFRBUkdFVF9PQlMKLSBzdWJkaXJzCi1AQCAt ODc1LDYgKzg3Niw3IEBAIGVuYWJsZV82NF9iaXRfYmZkCi0gZW5hYmxlX2dkYm1pCi0gZW5hYmxl X3R1aQotIGVuYWJsZV9nZGJ0awotK3dpdGhfZGVidWdpbmZvZAotIHdpdGhfbGlidW53aW5kX2lh NjQKLSB3aXRoX2N1cnNlcwotIGVuYWJsZV9wcm9maWxpbmcKLUBAIC0xNjExLDYgKzE2MTMsOCBA QCBPcHRpb25hbCBQYWNrYWdlczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvIG5vdCBy ZXN0cmljdCBhdXRvLWxvYWRlZCBmaWxlcyBsb2NhdGlvbnMKLSAgIC0td2l0aC1ycG0gICAgICAg ICAgICAgIHF1ZXJ5IHJwbSBkYXRhYmFzZSBmb3IgbWlzc2luZyBkZWJ1Z2luZm9zICh5ZXMvbm8s Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBkZWYuIGF1dG89bGlicnBtLnNvKQotKyAgLS13 aXRoLWRlYnVnaW5mb2QgICAgICAgRW5hYmxlIGRlYnVnaW5mbyBsb29rdXBzIHdpdGggZGVidWdp bmZvZAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGF1dG8veWVzL25vKQotICAgLS13aXRo LWxpYnVud2luZC1pYTY0ICAgdXNlIGxpYnVud2luZCBmcmFtZSB1bndpbmRpbmcgZm9yIGlhNjQg dGFyZ2V0cwotICAgLS13aXRoLWN1cnNlcyAgICAgICAgICAgdXNlIHRoZSBjdXJzZXMgbGlicmFy eSBpbnN0ZWFkIG9mIHRoZSB0ZXJtY2FwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJy YXJ5Ci1AQCAtMjI3MSw2ICsyMjc1LDUyIEBAIHJtIC1mIGNvbmZ0ZXN0LnZhbAotIAotIH0gIyBh Y19mbl9jX2NvbXB1dGVfaW50Ci0gCi0rIyBhY19mbl9jX2NoZWNrX2RlY2wgTElORU5PIFNZTUJP TCBWQVIgSU5DTFVERVMKLSsjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQotKyMgVGVzdHMgd2hldGhlciBTWU1CT0wgaXMgZGVjbGFyZWQgaW4gSU5DTFVERVMs IHNldHRpbmcgY2FjaGUgdmFyaWFibGUgVkFSCi0rIyBhY2NvcmRpbmdseS4KLSthY19mbl9jX2No ZWNrX2RlY2wgKCkKLSt7Ci0rICBhc19saW5lbm89JHthc19saW5lbm8tIiQxIn0gYXNfbGluZW5v X3N0YWNrPWFzX2xpbmVub19zdGFjaz0kYXNfbGluZW5vX3N0YWNrCi0rICBhc19kZWNsX25hbWU9 YGVjaG8gJDJ8c2VkICdzLyAqKC4qLy8nYAotKyAgYXNfZGVjbF91c2U9YGVjaG8gJDJ8c2VkIC1l ICdzLygvKCgvJyAtZSAncy8pLykgMCYvJyAtZSAncy8sLykgMCYgKC9nJ2AKLSsgIHsgJGFzX2Vj aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciAkYXNfZGVj bF9uYW1lIGlzIGRlY2xhcmVkIiA+JjUKLSskYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyICRh c19kZWNsX25hbWUgaXMgZGVjbGFyZWQuLi4gIiA+JjY7IH0KLStpZiBldmFsIFwkeyQzKzp9IGZh bHNlOyB0aGVuIDoKLSsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci0rZWxzZQotKyAgY2F0 IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotKy8qIGVuZCBjb25mZGVm cy5oLiAgKi8KLSskNAotK2ludAotK21haW4gKCkKLSt7Ci0rI2lmbmRlZiAkYXNfZGVjbF9uYW1l Ci0rI2lmZGVmIF9fY3BsdXNwbHVzCi0rICAodm9pZCkgJGFzX2RlY2xfdXNlOwotKyNlbHNlCi0r ICAodm9pZCkgJGFzX2RlY2xfbmFtZTsKLSsjZW5kaWYKLSsjZW5kaWYKLSsKLSsgIDsKLSsgIHJl dHVybiAwOwotK30KLStfQUNFT0YKLStpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsg dGhlbiA6Ci0rICBldmFsICIkMz15ZXMiCi0rZWxzZQotKyAgZXZhbCAiJDM9bm8iCi0rZmkKLSty bSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19l eHQKLStmaQotK2V2YWwgYWNfcmVzPVwkJDMKLSsJICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZTok e2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfcmVzIiA+JjUKLSskYXNfZWNobyAiJGFj X3JlcyIgPiY2OyB9Ci0rICBldmFsICRhc19saW5lbm9fc3RhY2s7ICR7YXNfbGluZW5vX3N0YWNr Ois6fSB1bnNldCBhc19saW5lbm8KLSsKLSt9ICMgYWNfZm5fY19jaGVja19kZWNsCi0rCi0gIyBh Y19mbl9jX2NoZWNrX2Z1bmMgTElORU5PIEZVTkMgVkFSCi0gIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCi0gIyBUZXN0cyB3aGV0aGVyIEZVTkMgZXhpc3RzLCBzZXR0aW5nIHRo ZSBjYWNoZSB2YXJpYWJsZSBWQVIgYWNjb3JkaW5nbHkKLUBAIC0yNDQ5LDUyICsyNDk5LDYgQEAg JGFzX2VjaG8gIiRhY19yZXMiID4mNjsgfQotIAotIH0gIyBhY19mbl9jX2NoZWNrX3R5cGUKLSAK LS0jIGFjX2ZuX2NfY2hlY2tfZGVjbCBMSU5FTk8gU1lNQk9MIFZBUiBJTkNMVURFUwotLSMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tIyBUZXN0cyB3aGV0 aGVyIFNZTUJPTCBpcyBkZWNsYXJlZCBpbiBJTkNMVURFUywgc2V0dGluZyBjYWNoZSB2YXJpYWJs ZSBWQVIKLS0jIGFjY29yZGluZ2x5LgotLWFjX2ZuX2NfY2hlY2tfZGVjbCAoKQotLXsKLS0gIGFz X2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNfbGluZW5vX3N0YWNr PSRhc19saW5lbm9fc3RhY2sKLS0gIGFzX2RlY2xfbmFtZT1gZWNobyAkMnxzZWQgJ3MvICooLiov LydgCi0tICBhc19kZWNsX3VzZT1gZWNobyAkMnxzZWQgLWUgJ3MvKC8oKC8nIC1lICdzLykvKSAw Ji8nIC1lICdzLywvKSAwJiAoL2cnYAotLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v LSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICRhc19kZWNsX25hbWUgaXMgZGVjbGFyZWQiID4m NQotLSRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgJGFzX2RlY2xfbmFtZSBpcyBkZWNsYXJl ZC4uLiAiID4mNjsgfQotLWlmIGV2YWwgXCR7JDMrOn0gZmFsc2U7IHRoZW4gOgotLSAgJGFzX2Vj aG9fbiAiKGNhY2hlZCkgIiA+JjYKLS1lbHNlCi0tICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9G ID5jb25mdGVzdC4kYWNfZXh0Ci0tLyogZW5kIGNvbmZkZWZzLmguICAqLwotLSQ0Ci0taW50Ci0t bWFpbiAoKQotLXsKLS0jaWZuZGVmICRhc19kZWNsX25hbWUKLS0jaWZkZWYgX19jcGx1c3BsdXMK LS0gICh2b2lkKSAkYXNfZGVjbF91c2U7Ci0tI2Vsc2UKLS0gICh2b2lkKSAkYXNfZGVjbF9uYW1l OwotLSNlbmRpZgotLSNlbmRpZgotLQotLSAgOwotLSAgcmV0dXJuIDA7Ci0tfQotLV9BQ0VPRgot LWlmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKLS0gIGV2YWwgIiQzPXll cyIKLS1lbHNlCi0tICBldmFsICIkMz1ubyIKLS1maQotLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJy IGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAotLWZpCi0tZXZhbCBhY19yZXM9 XCQkMwotLQkgICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy ZXN1bHQ6ICRhY19yZXMiID4mNQotLSRhc19lY2hvICIkYWNfcmVzIiA+JjY7IH0KLS0gIGV2YWwg JGFzX2xpbmVub19zdGFjazsgJHthc19saW5lbm9fc3RhY2s6Kzp9IHVuc2V0IGFzX2xpbmVubwot LQotLX0gIyBhY19mbl9jX2NoZWNrX2RlY2wKLS0KLSAjIGFjX2ZuX2N4eF90cnlfbGluayBMSU5F Tk8KLSAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAjIFRyeSB0byBsaW5rIGNvbmZ0ZXN0 LiRhY19leHQsIGFuZCByZXR1cm4gd2hldGhlciB0aGlzIHN1Y2NlZWRlZC4KLUBAIC02NjU4LDgg KzY2NjIsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyBzcGVjaWZpYyBsaWJycG0gdmVyc2lvbi4u LiAiID4mNjsgfQotICAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgot ICAgeyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiBpbiBc YCRhY19wd2QnOiIgPiY1Ci0gJGFzX2VjaG8gIiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6 IiA+JjI7fQotLWFzX2ZuX2Vycm9yICJjYW5ub3QgcnVuIHRlc3QgcHJvZ3JhbSB3aGlsZSBjcm9z cyBjb21waWxpbmcKLS1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgIiRMSU5F Tk8iIDU7IH0KLSthc19mbl9lcnJvciAkPyAiY2Fubm90IHJ1biB0ZXN0IHByb2dyYW0gd2hpbGUg Y3Jvc3MgY29tcGlsaW5nCi0rU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscyIgIiRM SU5FTk8iIDU7IH0KLSBlbHNlCi0gICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVz dC4kYWNfZXh0Ci0gLyogZW5kIGNvbmZkZWZzLmguICAqLwotQEAgLTY4MzAsNyArNjgzNCw3IEBA ICRhc19lY2hvICIjZGVmaW5lIEhBVkVfTElCUlBNIDEiID4+Y29uZmRlZnMuaAotICRhc19lY2hv ICJubyIgPiY2OyB9Ci0gICAgIExJQlM9IiRzYXZlX0xJQlMiCi0gICAgIGlmICRETE9QRU5fUkVR VUlSRTsgdGhlbgotLSAgICAgIGFzX2ZuX2Vycm9yICJTcGVjaWZpYyBuYW1lICRMSUJSUE0gd2Fz IHJlcXVlc3RlZCBidXQgaXQgY291bGQgbm90IGJlIG9wZW5lZC4iICIkTElORU5PIiA1Ci0rICAg ICAgYXNfZm5fZXJyb3IgJD8gIlNwZWNpZmljIG5hbWUgJExJQlJQTSB3YXMgcmVxdWVzdGVkIGJ1 dCBpdCBjb3VsZCBub3QgYmUgb3BlbmVkLiIgIiRMSU5FTk8iIDUKLSAgICAgZmkKLSAKLSAKLUBA IC02ODQ1LDcgKzY4NDksNyBAQCBpZiB0ZXN0ICJ4JGFjX2N2X2Vudl9QS0dfQ09ORklHX3NldCIg IT0gInhzZXQiOyB0aGVuCi0gc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9cGtnLWNvbmZpZzsg YWNfd29yZD0kMgotIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hl Y2tpbmcgZm9yICRhY193b3JkIiA+JjUKLSAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dv cmQuLi4gIiA+JjY7IH0KLS1pZiB0ZXN0ICIke2FjX2N2X3BhdGhfUEtHX0NPTkZJRytzZXR9IiA9 IHNldDsgdGhlbiA6Ci0raWYgJHthY19jdl9wYXRoX1BLR19DT05GSUcrOn0gZmFsc2U7IHRoZW4g OgotICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLSBlbHNlCi0gICBjYXNlICRQS0dfQ09O RklHIGluCi1AQCAtNjg1OSw3ICs2ODYzLDcgQEAgZG8KLSAgIElGUz0kYXNfc2F2ZV9JRlMKLSAg IHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgIGZvciBhY19leGVjX2V4dCBpbiAn JyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGly LyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFj X2V4ZWNfZXh0IjsgfTsgdGhlbgotKyAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRh Y193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgotICAgICBhY19jdl9wYXRoX1BLR19DT05GSUc9IiRh c19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCi0gICAgICRhc19lY2hvICIkYXNfbWU6JHthc19s aW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQot ICAgICBicmVhayAyCi1AQCAtNjg4OCw3ICs2ODkyLDcgQEAgaWYgdGVzdCAteiAiJGFjX2N2X3Bh dGhfUEtHX0NPTkZJRyI7IHRoZW4KLSBzZXQgZHVtbXkgcGtnLWNvbmZpZzsgYWNfd29yZD0kMgot IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRh Y193b3JkIiA+JjUKLSAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7 IH0KLS1pZiB0ZXN0ICIke2FjX2N2X3BhdGhfYWNfcHRfUEtHX0NPTkZJRytzZXR9IiA9IHNldDsg dGhlbiA6Ci0raWYgJHthY19jdl9wYXRoX2FjX3B0X1BLR19DT05GSUcrOn0gZmFsc2U7IHRoZW4g OgotICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLSBlbHNlCi0gICBjYXNlICRhY19wdF9Q S0dfQ09ORklHIGluCi1AQCAtNjkwMiw3ICs2OTA2LDcgQEAgZG8KLSAgIElGUz0kYXNfc2F2ZV9J RlMKLSAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgIGZvciBhY19leGVjX2V4 dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotLSAgaWYgeyB0ZXN0IC1mICIk YXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193 b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotKyAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNf ZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgotICAgICBhY19jdl9wYXRoX2FjX3B0X1BL R19DT05GSUc9IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCi0gICAgICRhc19lY2hvICIk YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhl Y19leHQiID4mNQotICAgICBicmVhayAyCi1AQCAtNzA4Niw3ICs3MDkwLDcgQEAgJGFzX2VjaG8g IiNkZWZpbmUgSEFWRV9MSUJSUE0gMSIgPj5jb25mZGVmcy5oCi0gICAgICAgTElCUz0iJExJQlMg JFJQTV9MSUJTIgotICAgICBlbHNlCi0gICAgICAgaWYgJFJQTV9SRVFVSVJFOyB0aGVuCi0tCWFz X2ZuX2Vycm9yICIkUlBNX1BLR19FUlJPUlMiICIkTElORU5PIiA1Ci0rCWFzX2ZuX2Vycm9yICQ/ ICIkUlBNX1BLR19FUlJPUlMiICIkTElORU5PIiA1Ci0gICAgICAgZWxzZQotIAl7ICRhc19lY2hv ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6ICRSUE1fUEtHX0VSUk9SUyIg PiY1Ci0gJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogJFJQTV9QS0dfRVJST1JTIiA+JjI7fQot QEAgLTczMzIsOCArNzMzNiw5MiBAQCAkYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBnZGJ0ayBp c24ndCBzdXBwb3J0ZWQgb24gJGhvc3Q7IGRpc2FibGluZyIgPiYyO30KLSAgICAgZW5hYmxlX2dk YnRrPW5vIDs7Ci0gZXNhYwotIAotLSMgTGlidW53aW5kIHN1cHBvcnQgZm9yIGlhNjQuCi0rIyBI YW5kbGUgb3B0aW9uYWwgZGVidWdpbmZvZCBzdXBwb3J0Ci0rCi0rIyBFbmFibGUgZGVidWdpbmZv ZAotKwotKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtZGVidWdpbmZvZCB3YXMgZ2l2ZW4uCi0raWYg dGVzdCAiJHt3aXRoX2RlYnVnaW5mb2Qrc2V0fSIgPSBzZXQ7IHRoZW4gOgotKyAgd2l0aHZhbD0k d2l0aF9kZWJ1Z2luZm9kOwotK2Vsc2UKLSsgIHdpdGhfZGVidWdpbmZvZD1hdXRvCi0rZmkKLSsK LSt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRo ZXIgdG8gdXNlIGRlYnVnaW5mb2QiID4mNQotKyRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIg dG8gdXNlIGRlYnVnaW5mb2QuLi4gIiA+JjY7IH0KLSt7ICRhc19lY2hvICIkYXNfbWU6JHthc19s aW5lbm8tJExJTkVOT306IHJlc3VsdDogJHdpdGhfZGVidWdpbmZvZCIgPiY1Ci0rJGFzX2VjaG8g IiR3aXRoX2RlYnVnaW5mb2QiID4mNjsgfQotKwotK2lmIHRlc3QgIiR7d2l0aF9kZWJ1Z2luZm9k fSIgPSBubzsgdGhlbgotKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99 OiBXQVJOSU5HOiBkZWJ1Z2luZm9kIHN1cHBvcnQgZGlzYWJsZWQ7IHNvbWUgZmVhdHVyZXMgbWF5 IGJlIHVuYXZhaWxhYmxlLiIgPiY1Ci0rJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogZGVidWdp bmZvZCBzdXBwb3J0IGRpc2FibGVkOyBzb21lIGZlYXR1cmVzIG1heSBiZSB1bmF2YWlsYWJsZS4i ID4mMjt9Ci0rZWxzZQotKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99 OiBjaGVja2luZyBmb3IgZGVidWdpbmZvZF9iZWdpbiBpbiAtbGRlYnVnaW5mb2QiID4mNQotKyRh c19lY2hvX24gImNoZWNraW5nIGZvciBkZWJ1Z2luZm9kX2JlZ2luIGluIC1sZGVidWdpbmZvZC4u LiAiID4mNjsgfQotK2lmICR7YWNfY3ZfbGliX2RlYnVnaW5mb2RfZGVidWdpbmZvZF9iZWdpbis6 fSBmYWxzZTsgdGhlbiA6Ci0rICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotK2Vsc2UKLSsg IGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKLStMSUJTPSItbGRlYnVnaW5mb2QgICRMSUJT IgotK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLSsvKiBlbmQg Y29uZmRlZnMuaC4gICovCi0rCi0rLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuCi0rICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0 Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCi0rICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KLSsjaWZkZWYgX19jcGx1c3Bs dXMKLStleHRlcm4gIkMiCi0rI2VuZGlmCi0rY2hhciBkZWJ1Z2luZm9kX2JlZ2luICgpOwotK2lu dAotK21haW4gKCkKLSt7Ci0rcmV0dXJuIGRlYnVnaW5mb2RfYmVnaW4gKCk7Ci0rICA7Ci0rICBy ZXR1cm4gMDsKLSt9Ci0rX0FDRU9GCi0raWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRo ZW4gOgotKyAgYWNfY3ZfbGliX2RlYnVnaW5mb2RfZGVidWdpbmZvZF9iZWdpbj15ZXMKLStlbHNl Ci0rICBhY19jdl9saWJfZGVidWdpbmZvZF9kZWJ1Z2luZm9kX2JlZ2luPW5vCi0rZmkKLStybSAt ZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKLSsgICAgY29uZnRlc3Qk YWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKLStMSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJT Ci0rZmkKLSt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog JGFjX2N2X2xpYl9kZWJ1Z2luZm9kX2RlYnVnaW5mb2RfYmVnaW4iID4mNQotKyRhc19lY2hvICIk YWNfY3ZfbGliX2RlYnVnaW5mb2RfZGVidWdpbmZvZF9iZWdpbiIgPiY2OyB9Ci0raWYgdGVzdCAi eCRhY19jdl9saWJfZGVidWdpbmZvZF9kZWJ1Z2luZm9kX2JlZ2luIiA9IHh5ZXM7IHRoZW4gOgot KyAgaGF2ZV9kZWJ1Z2luZm9kX2xpYj15ZXMKLStmaQotKwotKyAgYWNfZm5fY19jaGVja19kZWNs ICIkTElORU5PIiAiZGVidWdpbmZvZF9iZWdpbiIgImFjX2N2X2hhdmVfZGVjbF9kZWJ1Z2luZm9k X2JlZ2luIiAiI2luY2x1ZGUgPGVsZnV0aWxzL2RlYnVnaW5mb2QuaD4KLSsiCi0raWYgdGVzdCAi eCRhY19jdl9oYXZlX2RlY2xfZGVidWdpbmZvZF9iZWdpbiIgPSB4eWVzOyB0aGVuIDoKLSsgIGhh dmVfZGVidWdpbmZvZF9oPXllcwotK2ZpCi0rCi0rICBpZiB0ZXN0ICJ4JGhhdmVfZGVidWdpbmZv ZF9saWIiID0gInh5ZXMiIC1hIFwKLSsgICAgICAgICAgIngkaGF2ZV9kZWJ1Z2luZm9kX2giID0g Inh5ZXMiOyB0aGVuCi0rCi0rJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9MSUJERUJVR0lORk9EIDEi ID4+Y29uZmRlZnMuaAotKwotKyAgICBMSUJERUJVR0lORk9EPSItbGRlYnVnaW5mb2QiCi0gCi0r ICBlbHNlCi0rCi0rICAgIGlmIHRlc3QgIiR3aXRoX2RlYnVnaW5mb2QiID0geWVzOyB0aGVuCi0r ICAgICAgYXNfZm5fZXJyb3IgJD8gImRlYnVnaW5mb2QgaXMgbWlzc2luZyBvciB1bnVzYWJsZSIg IiRMSU5FTk8iIDUKLSsgICAgZWxzZQotKyAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp bmVuby0kTElORU5PfTogV0FSTklORzogZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxl OyBzb21lIGZlYXR1cmVzIG1heSBiZSB1bmF2YWlsYWJsZS4iID4mNQotKyRhc19lY2hvICIkYXNf bWU6IFdBUk5JTkc6IGRlYnVnaW5mb2QgaXMgbWlzc2luZyBvciB1bnVzYWJsZTsgc29tZSBmZWF0 dXJlcyBtYXkgYmUgdW5hdmFpbGFibGUuIiA+JjI7fQotKyAgICBmaQotKyAgZmkKLStmaQotKwot KwotKyMgTGlidW53aW5kIHN1cHBvcnQgZm9yIGlhNjQuCi0gCi0gIyBDaGVjayB3aGV0aGVyIC0t d2l0aC1saWJ1bndpbmQtaWE2NCB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHt3aXRoX2xpYnVud2lu ZF9pYTY0K3NldH0iID0gc2V0OyB0aGVuIDoKLUBAIC0xNjQ0MSw3ICsxNjUyOSw3IEBAIF9BQ0VP RgotIGZvciBhY19oZWFkZXIgaW4gc2VsaW51eC9zZWxpbnV4LmgKLSBkbyA6Ci0gICBhY19mbl9j X2NoZWNrX2hlYWRlcl9tb25ncmVsICIkTElORU5PIiAic2VsaW51eC9zZWxpbnV4LmgiICJhY19j dl9oZWFkZXJfc2VsaW51eF9zZWxpbnV4X2giICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKLS1pZiB0 ZXN0ICJ4JGFjX2N2X2hlYWRlcl9zZWxpbnV4X3NlbGludXhfaCIgPSB4IiJ5ZXM7IHRoZW4gOgot K2lmIHRlc3QgIngkYWNfY3ZfaGVhZGVyX3NlbGludXhfc2VsaW51eF9oIiA9IHh5ZXM7IHRoZW4g OgotICAgY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgotICNkZWZpbmUgSEFWRV9TRUxJTlVYX1NF TElOVVhfSCAxCi0gX0FDRU9GCi1AQCAtMTY0NTIsNyArMTY1NDAsNyBAQCBkb25lCi0gCi0geyAk YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc2VjdXJp dHlfZ2V0X2Jvb2xlYW5fYWN0aXZlIGluIC1sc2VsaW51eCIgPiY1Ci0gJGFzX2VjaG9fbiAiY2hl Y2tpbmcgZm9yIHNlY3VyaXR5X2dldF9ib29sZWFuX2FjdGl2ZSBpbiAtbHNlbGludXguLi4gIiA+ JjY7IH0KLS1pZiB0ZXN0ICIke2FjX2N2X2xpYl9zZWxpbnV4X3NlY3VyaXR5X2dldF9ib29sZWFu X2FjdGl2ZStzZXR9IiA9IHNldDsgdGhlbiA6Ci0raWYgJHthY19jdl9saWJfc2VsaW51eF9zZWN1 cml0eV9nZXRfYm9vbGVhbl9hY3RpdmUrOn0gZmFsc2U7IHRoZW4gOgotICAgJGFzX2VjaG9fbiAi KGNhY2hlZCkgIiA+JjYKLSBlbHNlCi0gICBhY19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCi1A QCAtMTY0ODYsNyArMTY1NzQsNyBAQCBMSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCi0gZmkK LSB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2 X2xpYl9zZWxpbnV4X3NlY3VyaXR5X2dldF9ib29sZWFuX2FjdGl2ZSIgPiY1Ci0gJGFzX2VjaG8g IiRhY19jdl9saWJfc2VsaW51eF9zZWN1cml0eV9nZXRfYm9vbGVhbl9hY3RpdmUiID4mNjsgfQot LWlmIHRlc3QgIngkYWNfY3ZfbGliX3NlbGludXhfc2VjdXJpdHlfZ2V0X2Jvb2xlYW5fYWN0aXZl IiA9IHgiInllczsgdGhlbiA6Ci0raWYgdGVzdCAieCRhY19jdl9saWJfc2VsaW51eF9zZWN1cml0 eV9nZXRfYm9vbGVhbl9hY3RpdmUiID0geHllczsgdGhlbiA6Ci0gICBjYXQgPj5jb25mZGVmcy5o IDw8X0FDRU9GCi0gI2RlZmluZSBIQVZFX0xJQlNFTElOVVggMQotIF9BQ0VPRgotZGlmZiAtLWdp dCBhL2dkYi9jb25maWd1cmUuYWMgYi9nZGIvY29uZmlndXJlLmFjCi0tLS0gYS9nZGIvY29uZmln dXJlLmFjCi0rKysgYi9nZGIvY29uZmlndXJlLmFjCi1AQCAtMTgsNiArMTgsOCBAQCBkbmwgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uCi0gCi0gZG5sIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b2NvbmYgdG8gcHJv ZHVjZSBhIGNvbmZpZ3VyZSBzY3JpcHQuCi0gCi0rbTRfaW5jbHVkZSguLi9jb25maWcvZGVidWdp bmZvZC5tNCkKLSsKLSBBQ19JTklUKG1haW4uYykKLSBBQ19DT05GSUdfSEVBREVSUyhjb25maWcu aDpjb25maWcuaW4sIFtlY2hvID4gc3RhbXAtaF0pCi0gQU1fTUFJTlRBSU5FUl9NT0RFCi1AQCAt NTE2LDggKzUxOCwxMCBAQCBjYXNlICRob3N0X29zIGluCi0gICAgIGVuYWJsZV9nZGJ0az1ubyA7 OwotIGVzYWMKLSAKLS0jIExpYnVud2luZCBzdXBwb3J0IGZvciBpYTY0LgotKyMgSGFuZGxlIG9w dGlvbmFsIGRlYnVnaW5mb2Qgc3VwcG9ydAotK0FDX0RFQlVHSU5GT0QKLSAKLSsjIExpYnVud2lu ZCBzdXBwb3J0IGZvciBpYTY0LgotIEFDX0FSR19XSVRIKGxpYnVud2luZC1pYTY0LAotIEFTX0hF TFBfU1RSSU5HKFstLXdpdGgtbGlidW53aW5kLWlhNjRdLAotIAkgICAgICAgW3VzZSBsaWJ1bndp bmQgZnJhbWUgdW53aW5kaW5nIGZvciBpYTY0IHRhcmdldHNdKSwsCi1kaWZmIC0tZ2l0IGEvZ2Ri L2RlYnVnaW5mb2Qtc3VwcG9ydC5jIGIvZ2RiL2RlYnVnaW5mb2Qtc3VwcG9ydC5jCi1uZXcgZmls ZSBtb2RlIDEwMDY0NAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL2RlYnVnaW5mb2Qtc3VwcG9y dC5jCi1AQCAtMCwwICsxLDE1NSBAQAotKy8qIGRlYnVnaW5mb2QgdXRpbGl0aWVzIGZvciBHREIu Ci0rICAgQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgot KwotKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdEQi4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyAg IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK LSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rI2luY2x1ZGUgImRlZnMuaCIKLSsjaW5jbHVkZSA8 ZXJybm8uaD4KLSsjaW5jbHVkZSAiY2xpL2NsaS1zdHlsZS5oIgotKyNpbmNsdWRlICJnZGJzdXBw b3J0L3Njb3BlZF9mZC5oIgotKyNpbmNsdWRlICJkZWJ1Z2luZm9kLXN1cHBvcnQuaCIKLSsKLSsj aWZuZGVmIEhBVkVfTElCREVCVUdJTkZPRAotK3Njb3BlZF9mZAotK2RlYnVnaW5mb2Rfc291cmNl X3F1ZXJ5IChjb25zdCB1bnNpZ25lZCBjaGFyICpidWlsZF9pZCwKLSsJCQkgaW50IGJ1aWxkX2lk X2xlbiwKLSsJCQkgY29uc3QgY2hhciAqc3JjcGF0aCwKLSsJCQkgZ2RiOjp1bmlxdWVfeG1hbGxv Y19wdHI8Y2hhcj4gKmRlc3RuYW1lKQotK3sKLSsgIHJldHVybiBzY29wZWRfZmQgKC1FTk9TWVMp OwotK30KLSsKLStzY29wZWRfZmQKLStkZWJ1Z2luZm9kX2RlYnVnaW5mb19xdWVyeSAoY29uc3Qg dW5zaWduZWQgY2hhciAqYnVpbGRfaWQsCi0rCQkJICAgIGludCBidWlsZF9pZF9sZW4sCi0rCQkJ ICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAotKwkJCSAgICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0 cjxjaGFyPiAqZGVzdG5hbWUpCi0rewotKyAgcmV0dXJuIHNjb3BlZF9mZCAoLUVOT1NZUyk7Ci0r fQotKyNlbHNlCi0rI2luY2x1ZGUgPGVsZnV0aWxzL2RlYnVnaW5mb2QuaD4KLSsKLSsvKiBUT0RP OiBVc2UgZGVidWdpbmZvZCBBUEkgZXh0ZW5zaW9ucyBpbnN0ZWFkIG9mIHRoZXNlIGdsb2JhbHMu ICAqLwotK3N0YXRpYyBzdGQ6OnN0cmluZyBkZXNjOwotK3N0YXRpYyBzdGQ6OnN0cmluZyBmbmFt ZTsKLStzdGF0aWMgYm9vbCBoYXNfcHJpbnRlZDsKLSsKLStzdGF0aWMgaW50Ci0rcHJvZ3Jlc3Nm biAoZGVidWdpbmZvZF9jbGllbnQgKmMsIGxvbmcgY3VyLCBsb25nIHRvdGFsKQotK3sKLSsgIGlm IChjaGVja19xdWl0X2ZsYWcgKCkpCi0rICAgIHsKLSsgICAgICBwcmludGZfZmlsdGVyZWQgKCJD YW5jZWxsaW5nIGRvd25sb2FkIG9mICVzICVwcy4uLlxuIiwKLSsJCSAgICAgICBkZXNjLmNfc3Ry ICgpLAotKwkJICAgICAgIHN0eWxlZF9zdHJpbmcgKGZpbGVfbmFtZV9zdHlsZS5zdHlsZSAoKSwg Zm5hbWUuY19zdHIgKCkpKTsKLSsgICAgICByZXR1cm4gMTsKLSsgICAgfQotKwotKyAgaWYgKCFo YXNfcHJpbnRlZCAmJiB0b3RhbCAhPSAwKQotKyAgICB7Ci0rICAgICAgLyogUHJpbnQgdGhpcyBt ZXNzYWdlIG9ubHkgb25jZS4gICovCi0rICAgICAgaGFzX3ByaW50ZWQgPSB0cnVlOwotKyAgICAg IHByaW50Zl9maWx0ZXJlZCAoIkRvd25sb2FkaW5nICVzICVwcy4uLlxuIiwKLSsJCSAgICAgICBk ZXNjLmNfc3RyICgpLAotKwkJICAgICAgIHN0eWxlZF9zdHJpbmcgKGZpbGVfbmFtZV9zdHlsZS5z dHlsZSAoKSwgZm5hbWUuY19zdHIgKCkpKTsKLSsgICAgfQotKwotKyAgcmV0dXJuIDA7Ci0rfQot KwotK3N0YXRpYyBkZWJ1Z2luZm9kX2NsaWVudCAqCi0rZGVidWdpbmZvZF9pbml0ICgpCi0rewot KyAgZGVidWdpbmZvZF9jbGllbnQgKmMgPSBkZWJ1Z2luZm9kX2JlZ2luICgpOwotKwotKyAgaWYg KGMgIT0gbnVsbHB0cikKLSsgICAgZGVidWdpbmZvZF9zZXRfcHJvZ3Jlc3NmbiAoYywgcHJvZ3Jl c3Nmbik7Ci0rCi0rICByZXR1cm4gYzsKLSt9Ci0rCi0rLyogU2VlIGRlYnVnaW5mb2Qtc3VwcG9y dC5oICAqLwotKwotK3Njb3BlZF9mZAotK2RlYnVnaW5mb2Rfc291cmNlX3F1ZXJ5IChjb25zdCB1 bnNpZ25lZCBjaGFyICpidWlsZF9pZCwKLSsJCQkgaW50IGJ1aWxkX2lkX2xlbiwKLSsJCQkgY29u c3QgY2hhciAqc3JjcGF0aCwKLSsJCQkgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gKmRl c3RuYW1lKQotK3sKLSsgIGlmIChnZXRlbnYgKERFQlVHSU5GT0RfVVJMU19FTlZfVkFSKSA9PSBO VUxMKQotKyAgICByZXR1cm4gc2NvcGVkX2ZkICgtRU5PU1lTKTsKLSsKLSsgIGRlYnVnaW5mb2Rf Y2xpZW50ICpjID0gZGVidWdpbmZvZF9pbml0ICgpOwotKwotKyAgaWYgKGMgPT0gbnVsbHB0cikK LSsgICAgcmV0dXJuIHNjb3BlZF9mZCAoLUVOT01FTSk7Ci0rCi0rICBkZXNjID0gc3RkOjpzdHJp bmcgKCJzb3VyY2UgZmlsZSIpOwotKyAgZm5hbWUgPSBzdGQ6OnN0cmluZyAoc3JjcGF0aCk7Ci0r ICBoYXNfcHJpbnRlZCA9IGZhbHNlOwotKwotKyAgc2NvcGVkX2ZkIGZkIChkZWJ1Z2luZm9kX2Zp bmRfc291cmNlIChjLAotKwkJCQkJYnVpbGRfaWQsCi0rCQkJCQlidWlsZF9pZF9sZW4sCi0rCQkJ CQlzcmNwYXRoLAotKwkJCQkJbnVsbHB0cikpOwotKwotKyAgLyogVE9ETzogQWRkICdzZXQgZGVi dWcgZGVidWdpbmZvZCcgY29tbWFuZCB0byBjb250cm9sIHdoZW4gZXJyb3IgbWVzc2FnZXMgYXJl IHNob3duLiAgKi8KLSsgIGlmIChmZC5nZXQgKCkgPCAwICYmIGZkLmdldCAoKSAhPSAtRU5PRU5U KQotKyAgICBwcmludGZfZmlsdGVyZWQgKF8oIkRvd25sb2FkIGZhaWxlZDogJXMuICBDb250aW51 aW5nIHdpdGhvdXQgc291cmNlIGZpbGUgJXBzLlxuIiksCi0rCQkgICAgIHNhZmVfc3RyZXJyb3Ig KC1mZC5nZXQgKCkpLAotKwkJICAgICBzdHlsZWRfc3RyaW5nIChmaWxlX25hbWVfc3R5bGUuc3R5 bGUgKCksICBzcmNwYXRoKSk7Ci0rICBlbHNlCi0rICAgIGRlc3RuYW1lLT5yZXNldCAoeHN0cmR1 cCAoc3JjcGF0aCkpOwotKwotKyAgZGVidWdpbmZvZF9lbmQgKGMpOwotKyAgcmV0dXJuIGZkOwot K30KLSsKLSsvKiBTZWUgZGVidWdpbmZvZC1zdXBwb3J0LmggICovCi0rCi0rc2NvcGVkX2ZkCi0r ZGVidWdpbmZvZF9kZWJ1Z2luZm9fcXVlcnkgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1aWxkX2lk LAotKwkJCSAgICBpbnQgYnVpbGRfaWRfbGVuLAotKwkJCSAgICBjb25zdCBjaGFyICpmaWxlbmFt ZSwKLSsJCQkgICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gKmRlc3RuYW1lKQotK3sK LSsgIGlmIChnZXRlbnYgKERFQlVHSU5GT0RfVVJMU19FTlZfVkFSKSA9PSBOVUxMKQotKyAgICBy ZXR1cm4gc2NvcGVkX2ZkICgtRU5PU1lTKTsKLSsKLSsgIGRlYnVnaW5mb2RfY2xpZW50ICpjID0g ZGVidWdpbmZvZF9pbml0ICgpOwotKwotKyAgaWYgKGMgPT0gbnVsbHB0cikKLSsgICAgcmV0dXJu IHNjb3BlZF9mZCAoLUVOT01FTSk7Ci0rCi0rICBkZXNjID0gc3RkOjpzdHJpbmcgKCJzZXBhcmF0 ZSBkZWJ1ZyBpbmZvIGZvciIpOwotKyAgZm5hbWUgPSBzdGQ6OnN0cmluZyAoZmlsZW5hbWUpOwot KyAgaGFzX3ByaW50ZWQgPSBmYWxzZTsKLSsgIGNoYXIgKmRuYW1lID0gbnVsbHB0cjsKLSsKLSsg IHNjb3BlZF9mZCBmZCAoZGVidWdpbmZvZF9maW5kX2RlYnVnaW5mbyAoYywgYnVpbGRfaWQsIGJ1 aWxkX2lkX2xlbiwgJmRuYW1lKSk7Ci0rCi0rICBpZiAoZmQuZ2V0ICgpIDwgMCAmJiBmZC5nZXQg KCkgIT0gLUVOT0VOVCkKLSsgICAgcHJpbnRmX2ZpbHRlcmVkIChfKCJEb3dubG9hZCBmYWlsZWQ6 ICVzLiAgQ29udGludWluZyB3aXRob3V0IGRlYnVnIGluZm8gZm9yICVwcy5cbiIpLAotKwkJICAg ICBzYWZlX3N0cmVycm9yICgtZmQuZ2V0ICgpKSwKLSsJCSAgICAgc3R5bGVkX3N0cmluZyAoZmls ZV9uYW1lX3N0eWxlLnN0eWxlICgpLCAgZmlsZW5hbWUpKTsKLSsKLSsgIGRlc3RuYW1lLT5yZXNl dCAoZG5hbWUpOwotKyAgZGVidWdpbmZvZF9lbmQgKGMpOwotKyAgcmV0dXJuIGZkOwotK30KLSsj ZW5kaWYKLWRpZmYgLS1naXQgYS9nZGIvZGVidWdpbmZvZC1zdXBwb3J0LmggYi9nZGIvZGVidWdp bmZvZC1zdXBwb3J0LmgKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0tLS0gL2Rldi9udWxsCi0rKysg Yi9nZGIvZGVidWdpbmZvZC1zdXBwb3J0LmgKLUBAIC0wLDAgKzEsNjIgQEAKLSsvKiBkZWJ1Z2lu Zm9kIHV0aWxpdGllcyBmb3IgR0RCLgotKyAgIENvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCi0r Ci0rICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsgICBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgotKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKLSsgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgotKwotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwotKwotKyNpZm5kZWYg REVCVUdJTkZPRF9TVVBQT1JUX0gKLSsjZGVmaW5lIERFQlVHSU5GT0RfU1VQUE9SVF9ICi0rCi0r LyogUXVlcnkgZGVidWdpbmZvZCBzZXJ2ZXJzIGZvciBhIHNvdXJjZSBmaWxlIGFzc29jaWF0ZWQg d2l0aCBhbgotKyAgIGV4ZWN1dGFibGUgd2l0aCBCVUlMRF9JRC4gIEJVSUxEX0lEIGNhbiBiZSBn aXZlbiBhcyBhIGJpbmFyeSBibG9iIG9yCi0rICAgYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nLiAg SWYgZ2l2ZW4gYXMgYSBiaW5hcnkgYmxvYiwgQlVJTERfSURfTEVOCi0rICAgc2hvdWxkIGJlIHRo ZSBudW1iZXIgb2YgYnl0ZXMuICBJZiBnaXZlbiBhcyBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcs Ci0rICAgQlVJTERfSURfTEVOIHNob3VsZCBiZSAwLgotKwotKyAgIFNSQ19QQVRIIHNob3VsZCBi ZSB0aGUgc291cmNlIGZpbGUncyBhYnNvbHV0ZSBwYXRoIHRoYXQgaW5jbHVkZXMgdGhlCi0rICAg Y29tcGlsYXRpb24gZGlyZWN0b3J5IG9mIHRoZSBDVSBhc3NvY2lhdGVkIHdpdGggdGhlIHNvdXJj ZSBmaWxlLgotKyAgIEZvciBleGFtcGxlIGlmIGEgQ1UncyBjb21waWxhdGlvbiBkaXJlY3Rvcnkg aXMgYC9teS9idWlsZGAgYW5kIHRoZQotKyAgIHNvdXJjZSBmaWxlIHBhdGggaXMgYC9teS9zb3Vy Y2UvZm9vLmNgLCB0aGVuIFNSQ19QQVRIIHNob3VsZCBiZQotKyAgIGAvbXkvYnVpbGQvLi4vc291 cmNlL2Zvby5jYC4KLSsKLSsgICBJZiB0aGUgZmlsZSBpcyBzdWNjZXNzZnVsbHkgcmV0cmlldmVk LCBpdHMgcGF0aCBvbiB0aGUgbG9jYWwgbWFjaGluZQotKyAgIGlzIHN0b3JlZCBpbiBERVNUTkFN RS4gIElmIEdEQiBpcyBub3QgYnVpbHQgd2l0aCBkZWJ1Z2luZm9kLCB0aGlzCi0rICAgZnVuY3Rp b24gcmV0dXJucyAtRU5PU1lTLiAgKi8KLSsKLStleHRlcm4gc2NvcGVkX2ZkCi0rZGVidWdpbmZv ZF9zb3VyY2VfcXVlcnkgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1aWxkX2lkLAotKwkJCSBpbnQg YnVpbGRfaWRfbGVuLAotKwkJCSBjb25zdCBjaGFyICpzcmNfcGF0aCwKLSsJCQkgZ2RiOjp1bmlx dWVfeG1hbGxvY19wdHI8Y2hhcj4gKmRlc3RuYW1lKTsKLSsKLSsvKiBRdWVyeSBkZWJ1Z2luZm9k IHNlcnZlcnMgZm9yIGEgZGVidWcgaW5mbyBmaWxlIHdpdGggQlVJTERfSUQuCi0rICAgQlVJTERf SUQgY2FuIGJlIGdpdmVuIGFzIGEgYmluYXJ5IGJsb2Igb3IgYSBudWxsLXRlcm1pbmF0ZWQgc3Ry aW5nLgotKyAgIElmIGdpdmVuIGFzIGEgYmluYXJ5IGJsb2IsIEJVSUxEX0lEX0xFTiBzaG91bGQg YmUgdGhlIG51bWJlciBvZiBieXRlcy4KLSsgICBJZiBnaXZlbiBhcyBhIG51bGwtdGVybWluYXRl ZCBzdHJpbmcsIEJVSUxEX0lEX0xFTiBzaG91bGQgYmUgMC4KLSsKLSsgICBGSUxFTkFNRSBzaG91 bGQgYmUgdGhlIG5hbWUgb3IgcGF0aCBvZiB0aGUgbWFpbiBiaW5hcnkgYXNzb2NpYXRlZCB3aXRo Ci0rICAgdGhlIHNlcGFyYXRlIGRlYnVnIGluZm8uICBJdCBpcyB1c2VkIGZvciBwcmludGluZyBt ZXNzYWdlcyB0byB0aGUgdXNlci4KLSsKLSsgICBJZiB0aGUgZmlsZSBpcyBzdWNjZXNzZnVsbHkg cmV0cmlldmVkLCBpdHMgcGF0aCBvbiB0aGUgbG9jYWwgbWFjaGluZQotKyAgIGlzIHN0b3JlZCBp biBERVNUTkFNRS4gIElmIEdEQiBpcyBub3QgYnVpbHQgd2l0aCBkZWJ1Z2luZm9kLCB0aGlzCi0r ICAgZnVuY3Rpb24gcmV0dXJucyAtRU5PU1lTLiAgKi8KLSsKLStleHRlcm4gc2NvcGVkX2ZkCi0r ZGVidWdpbmZvZF9kZWJ1Z2luZm9fcXVlcnkgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1aWxkX2lk LAotKwkJCSAgICBpbnQgYnVpbGRfaWRfbGVuLAotKwkJCSAgICBjb25zdCBjaGFyICpmaWxlbmFt ZSwKLSsJCQkgICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gKmRlc3RuYW1lKTsKLSsK LSsjZW5kaWYgLyogREVCVUdJTkZPRF9TVVBQT1JUX0ggKi8KLWRpZmYgLS1naXQgYS9nZGIvZG9j L2dkYi50ZXhpbmZvIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwotLS0tIGEvZ2RiL2RvYy9nZGIudGV4 aW5mbwotKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwotQEAgLTM3NzI2LDYgKzM3NzI2LDE0IEBA IHN1cHBvcnRlZCkuCi0gVXNlIHRoZSBjdXJzZXMgbGlicmFyeSBpbnN0ZWFkIG9mIHRoZSB0ZXJt Y2FwIGxpYnJhcnksIGZvciB0ZXh0LW1vZGUKLSB0ZXJtaW5hbCBvcGVyYXRpb25zLgotIAotK0Bp dGVtIC0td2l0aC1kZWJ1Z2luZm9kCi0rQnVpbGQgQHZhbHVle0dEQk59IHdpdGggbGliZGVidWdp bmZvZCwgdGhlIGRlYnVnaW5mb2QgY2xpZW50IGxpYnJhcnkuCi0rVXNlZCB0byBhdXRvbWF0aWNh bGx5IGZldGNoIHNvdXJjZSBmaWxlcyBhbmQgc2VwYXJhdGUgZGVidWcgZmlsZXMgZnJvbQotK2Rl YnVnaW5mb2Qgc2VydmVycyB1c2luZyB0aGUgYXNzb2NpYXRlZCBleGVjdXRhYmxlJ3MgYnVpbGQg SUQuIEVuYWJsZWQKLStieSBkZWZhdWx0IGlmIGxpYmRlYnVnaW5mb2QgaXMgaW5zdGFsbGVkIGFu ZCBmb3VuZCBhdCBjb25maWd1cmUgdGltZS4KLStkZWJ1Z2luZm9kIGlzIHBhY2thZ2VkIHdpdGgg ZWxmdXRpbHMsIHN0YXJ0aW5nIHdpdGggdmVyc2lvbiAwLjE3OC4gWW91Ci0rY2FuIGdldCB0aGUg bGF0ZXN0IHZlcnNpb24gZnJvbSBgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9lbGZ1dGlscy8nLgot KwotIEBpdGVtIC0td2l0aC1saWJ1bndpbmQtaWE2NAotIFVzZSB0aGUgbGlidW53aW5kIGxpYnJh cnkgZm9yIHVud2luZGluZyBmdW5jdGlvbiBjYWxsIHN0YWNrIG9uIGlhNjQKLSB0YXJnZXQgcGxh dGZvcm1zLiAgU2VlIGh0dHA6Ly93d3cubm9uZ251Lm9yZy9saWJ1bndpbmQvaW5kZXguaHRtbCBm b3IKLWRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwotLS0t IGEvZ2RiL2R3YXJmMnJlYWQuYwotKysrIGIvZ2RiL2R3YXJmMnJlYWQuYwotQEAgLTc3LDYgKzc3 LDcgQEAKLSAjaW5jbHVkZSAiZ2Ric3VwcG9ydC9zZWxmdGVzdC5oIgotICNpbmNsdWRlICJydXN0 LWxhbmcuaCIKLSAjaW5jbHVkZSAiZ2Ric3VwcG9ydC9wYXRoc3R1ZmYuaCIKLSsjaW5jbHVkZSAi ZGVidWdpbmZvZC1zdXBwb3J0LmgiCi0gCi0gLyogV2hlbiA9PSAxLCBwcmludCBiYXNpYyBoaWdo IGxldmVsIHRyYWNpbmcgbWVzc2FnZXMuCi0gICAgV2hlbiA+IDEsIGJlIG1vcmUgdmVyYm9zZS4K LUBAIC0yNzE3LDYgKzI3MTgsMjkgQEAgZHdhcmYyX2dldF9kd3pfZmlsZSAoc3RydWN0IGR3YXJm Ml9wZXJfb2JqZmlsZSAqZHdhcmYyX3Blcl9vYmpmaWxlKQotIAlkd3pfYmZkLnJlc2V0IChudWxs cHRyKTsKLSAgICAgfQotIAotKyAgaWYgKGR3el9iZmQgPT0gbnVsbHB0cikKLSsgICAgewotKyAg ICAgIGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+IGFsdF9maWxlbmFtZTsKLSsgICAgICBj b25zdCBjaGFyICpvcmlnbmFtZSA9IGR3YXJmMl9wZXJfb2JqZmlsZS0+b2JqZmlsZS0+b3JpZ2lu YWxfbmFtZTsKLSsKLSsgICAgICBzY29wZWRfZmQgZmQgKGRlYnVnaW5mb2RfZGVidWdpbmZvX3F1 ZXJ5IChidWlsZGlkLAotKwkJCQkJCWJ1aWxkaWRfbGVuLAotKwkJCQkJCW9yaWduYW1lLAotKwkJ CQkJCSZhbHRfZmlsZW5hbWUpKTsKLSsKLSsgICAgICBpZiAoZmQuZ2V0ICgpID49IDApCi0rCXsK LSsJICAvKiBGaWxlIHN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgZnJvbSBzZXJ2ZXIuICAqLwotKwkg IGR3el9iZmQgPSBnZGJfYmZkX29wZW4gKGFsdF9maWxlbmFtZS5nZXQgKCksIGdudXRhcmdldCwg LTEpOwotKwotKwkgIGlmIChkd3pfYmZkID09IG51bGxwdHIpCi0rCSAgICB3YXJuaW5nIChfKCJG aWxlIFwiJXNcIiBmcm9tIGRlYnVnaW5mb2QgY2Fubm90IGJlIG9wZW5lZCBhcyBiZmQiKSwKLSsJ CSAgICAgYWx0X2ZpbGVuYW1lLmdldCAoKSk7Ci0rCSAgZWxzZSBpZiAoIWJ1aWxkX2lkX3Zlcmlm eSAoZHd6X2JmZC5nZXQgKCksIGJ1aWxkaWRfbGVuLCBidWlsZGlkKSkKLSsJICAgIGR3el9iZmQu cmVzZXQgKG51bGxwdHIpOwotKwl9Ci0rICAgIH0KLSsKLSAgIGlmIChkd3pfYmZkID09IE5VTEwp Ci0gICAgIGR3el9iZmQgPSBidWlsZF9pZF90b19kZWJ1Z19iZmQgKGJ1aWxkaWRfbGVuLCBidWls ZGlkLCBOVUxMKTsKLSAKLWRpZmYgLS1naXQgYS9nZGIvZWxmcmVhZC5jIGIvZ2RiL2VsZnJlYWQu YwotLS0tIGEvZ2RiL2VsZnJlYWQuYwotKysrIGIvZ2RiL2VsZnJlYWQuYwotQEAgLTQ5LDYgKzQ5 LDggQEAKLSAjaW5jbHVkZSAibWRlYnVncmVhZC5oIgotICNpbmNsdWRlICJjdGZyZWFkLmgiCi0g I2luY2x1ZGUgImdkYnN1cHBvcnQvZ2RiX3N0cmluZ192aWV3LmgiCi0rI2luY2x1ZGUgImdkYnN1 cHBvcnQvc2NvcGVkX2ZkLmgiCi0rI2luY2x1ZGUgImRlYnVnaW5mb2Qtc3VwcG9ydC5oIgotIAot IC8qIEZvcndhcmQgZGVjbGFyYXRpb25zLiAgKi8KLSBleHRlcm4gY29uc3Qgc3RydWN0IHN5bV9m bnMgZWxmX3N5bV9mbnNfZ2RiX2luZGV4OwotQEAgLTEzMTMsMTIgKzEzMTUsNDIgQEAgZWxmX3N5 bWZpbGVfcmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIHN5bWZpbGVfYWRkX2ZsYWdzIHN5 bWZpbGVfZmxhZ3MpCi0gCSAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRlIChkZWJ1Z19iZmQuZ2V0 ICgpLCBkZWJ1Z2ZpbGUuY19zdHIgKCksCi0gCQkJCSAgICBzeW1maWxlX2ZsYWdzLCBvYmpmaWxl KTsKLSAJfQotLSAgICAgIC8qIENoZWNrIGlmIGFueSBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGhhcyBi ZWVuIGV4dHJhY3RlZCBvdXQuICAqLwotLSAgICAgIGVsc2UgaWYgKGJmZF9nZXRfc2VjdGlvbl9i eV9uYW1lIChvYmpmaWxlLT5vYmZkLCAiLmdudV9kZWJ1Z2xpbmsiKQotLQkgICAgICAgIT0gTlVM TCkKLS0JZGVidWdfcHJpbnRfbWlzc2luZyAob2JqZmlsZV9uYW1lIChvYmpmaWxlKSwgYnVpbGRf aWRfZmlsZW5hbWUuZ2V0ICgpKTsKLSAgICAgICBlbHNlCi0tCWhhc19kd2FyZjIgPSBmYWxzZTsK LSsJewotKwkgIGhhc19kd2FyZjIgPSBmYWxzZTsKLSsJICBjb25zdCBzdHJ1Y3QgYmZkX2J1aWxk X2lkICpidWlsZF9pZCA9IGJ1aWxkX2lkX2JmZF9zaGRyX2dldCAob2JqZmlsZS0+b2JmZCk7Ci0r Ci0rCSAgaWYgKGJ1aWxkX2lkICE9IG51bGxwdHIpCi0rCSAgICB7Ci0rCSAgICAgIGdkYjo6dW5p cXVlX3htYWxsb2NfcHRyPGNoYXI+IHN5bWZpbGVfcGF0aDsKLSsJICAgICAgc2NvcGVkX2ZkIGZk IChkZWJ1Z2luZm9kX2RlYnVnaW5mb19xdWVyeSAoYnVpbGRfaWQtPmRhdGEsCi0rCQkJCQkJCWJ1 aWxkX2lkLT5zaXplLAotKwkJCQkJCQlvYmpmaWxlLT5vcmlnaW5hbF9uYW1lLAotKwkJCQkJCQkm c3ltZmlsZV9wYXRoKSk7Ci0rCi0rCSAgICAgIGlmIChmZC5nZXQgKCkgPj0gMCkKLSsJCXsKLSsJ CSAgLyogRmlsZSBzdWNjZXNzZnVsbHkgcmV0cmlldmVkIGZyb20gc2VydmVyLiAgKi8KLSsJCSAg Z2RiX2JmZF9yZWZfcHRyIGRlYnVnX2JmZCAoc3ltZmlsZV9iZmRfb3BlbiAoc3ltZmlsZV9wYXRo LmdldCAoKSkpOwotKwotKwkJICBpZiAoZGVidWdfYmZkID09IG51bGxwdHIpCi0rCQkgICAgd2Fy bmluZyAoXygiRmlsZSBcIiVzXCIgZnJvbSBkZWJ1Z2luZm9kIGNhbm5vdCBiZSBvcGVuZWQgYXMg YmZkIiksCi0rCQkJICAgICBvYmpmaWxlLT5vcmlnaW5hbF9uYW1lKTsKLSsJCSAgZWxzZSBpZiAo YnVpbGRfaWRfdmVyaWZ5IChkZWJ1Z19iZmQuZ2V0ICgpLCBidWlsZF9pZC0+c2l6ZSwgYnVpbGRf aWQtPmRhdGEpKQotKwkJICAgIHsKLSsJCSAgICAgIHN5bWJvbF9maWxlX2FkZF9zZXBhcmF0ZSAo ZGVidWdfYmZkLmdldCAoKSwgc3ltZmlsZV9wYXRoLmdldCAoKSwKLSsJCQkJCQlzeW1maWxlX2Zs YWdzLCBvYmpmaWxlKTsKLSsJCSAgICAgIGhhc19kd2FyZjIgPSB0cnVlOwotKwkJICAgIH0KLSsJ CX0KLSsJICAgICAgLyogQ2hlY2sgaWYgYW55IHNlcGFyYXRlIGRlYnVnIGluZm8gaGFzIGJlZW4g ZXh0cmFjdGVkIG91dC4gICovCi0rCSAgICAgIGVsc2UgaWYgKGJmZF9nZXRfc2VjdGlvbl9ieV9u YW1lIChvYmpmaWxlLT5vYmZkLCAiLmdudV9kZWJ1Z2xpbmsiKQotKwkJICAgICAgICE9IE5VTEwp Ci0rCQlkZWJ1Z19wcmludF9taXNzaW5nIChvYmpmaWxlX25hbWUgKG9iamZpbGUpLCBidWlsZF9p ZF9maWxlbmFtZS5nZXQgKCkpOwotKwkgICAgICBlbHNlCi0rCQloYXNfZHdhcmYyID0gZmFsc2U7 Ci0rCSAgICB9Ci0rCX0KLSAgICAgfQotIAotICAgLyogUmVhZCB0aGUgQ1RGIHNlY3Rpb24gb25s eSBpZiB0aGVyZSBpcyBubyBEV0FSRiBpbmZvLiAgKi8KLWRpZmYgLS1naXQgYS9nZGIvc291cmNl LmMgYi9nZGIvc291cmNlLmMKLS0tLSBhL2dkYi9zb3VyY2UuYwotKysrIGIvZ2RiL3NvdXJjZS5j Ci1AQCAtNDcsNiArNDcsOCBAQAotICNpbmNsdWRlICJnZGJzdXBwb3J0L3BhdGhzdHVmZi5oIgot ICNpbmNsdWRlICJzb3VyY2UtY2FjaGUuaCIKLSAjaW5jbHVkZSAiY2xpL2NsaS1zdHlsZS5oIgot KyNpbmNsdWRlICJidWlsZC1pZC5oIgotKyNpbmNsdWRlICJkZWJ1Z2luZm9kLXN1cHBvcnQuaCIK LSAKLSAjZGVmaW5lIE9QRU5fTU9ERSAoT19SRE9OTFkgfCBPX0JJTkFSWSkKLSAjZGVmaW5lIEZE T1BFTl9NT0RFIEZPUEVOX1JCCi1AQCAtMTEyMiw2ICsxMTI0LDM0IEBAIG9wZW5fc291cmNlX2Zp bGUgKHN0cnVjdCBzeW10YWIgKnMpCi0gICBzLT5mdWxsbmFtZSA9IE5VTEw7Ci0gICBzY29wZWRf ZmQgZmQgPSBmaW5kX2FuZF9vcGVuX3NvdXJjZSAocy0+ZmlsZW5hbWUsIFNZTVRBQl9ESVJOQU1F IChzKSwKLSAJCQkJICAgICAgICZmdWxsbmFtZSk7Ci0rCi0rICBpZiAoZmQuZ2V0ICgpIDwgMCkK LSsgICAgewotKyAgICAgIGlmIChTWU1UQUJfQ09NUFVOSVQgKHMpICE9IG51bGxwdHIpCi0rCXsK LSsJICBjb25zdCBvYmpmaWxlICpvZnAgPSBDT01QVU5JVF9PQkpGSUxFIChTWU1UQUJfQ09NUFVO SVQgKHMpKTsKLSsKLSsJICBzdGQ6OnN0cmluZyBzcmNwYXRoOwotKwkgIGlmIChJU19BQlNPTFVU RV9QQVRIIChzLT5maWxlbmFtZSkpCi0rCSAgICBzcmNwYXRoID0gcy0+ZmlsZW5hbWU7Ci0rCSAg ZWxzZSBpZiAoU1lNVEFCX0RJUk5BTUUgKHMpICE9IG51bGxwdHIpCi0rCSAgICB7Ci0rCSAgICAg IHNyY3BhdGggPSBTWU1UQUJfRElSTkFNRSAocyk7Ci0rCSAgICAgIHNyY3BhdGggKz0gU0xBU0hf U1RSSU5HOwotKwkgICAgICBzcmNwYXRoICs9IHMtPmZpbGVuYW1lOwotKwkgICAgfQotKwotKwkg IGNvbnN0IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkID0gYnVpbGRfaWRfYmZkX3NoZHJf Z2V0IChvZnAtPm9iZmQpOwotKwotKwkgIC8qIFF1ZXJ5IGRlYnVnaW5mb2QgZm9yIHRoZSBzb3Vy Y2UgZmlsZS4gICovCi0rCSAgaWYgKGJ1aWxkX2lkICE9IG51bGxwdHIpCi0rCSAgICBmZCA9IGRl YnVnaW5mb2Rfc291cmNlX3F1ZXJ5IChidWlsZF9pZC0+ZGF0YSwKLSsJCQkJCSAgYnVpbGRfaWQt PnNpemUsCi0rCQkJCQkgIHNyY3BhdGguY19zdHIgKCksCi0rCQkJCQkgICZmdWxsbmFtZSk7Ci0r CX0KLSsgICAgfQotKwotICAgcy0+ZnVsbG5hbWUgPSBmdWxsbmFtZS5yZWxlYXNlICgpOwotICAg cmV0dXJuIGZkOwotIH0KLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5kZWJ1Z2luZm9k L2ZldGNoX3NyY19hbmRfc3ltYm9scy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5kZWJ1Z2luZm9k L2ZldGNoX3NyY19hbmRfc3ltYm9scy5leHAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0tLS0gL2Rl di9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kZWJ1Z2luZm9kL2ZldGNoX3NyY19hbmRf c3ltYm9scy5leHAKLUBAIC0wLDAgKzEsMjE1IEBACi0rIyBDb3B5cmlnaHQgMjAyMCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQotKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IKLSsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0r IwotKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCi0rIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0 aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u Ci0rCi0rIyBUZXN0IGRlYnVnaW5mb2QgZnVuY3Rpb25hbGl0eQotKwotK3N0YW5kYXJkX3Rlc3Rm aWxlIG1haW4uYwotKwotK2xvYWRfbGliIGR3YXJmLmV4cAotKwotK2lmIHsgW3doaWNoIGRlYnVn aW5mb2RdID09IDAgfSB7Ci0rICAgIHVudGVzdGVkICJjYW5ub3QgZmluZCBkZWJ1Z2luZm9kIgot KyAgICByZXR1cm4gLTEKLSt9Ci0rCi0raWYgeyBbd2hpY2ggY3VybF0gPT0gMCB9IHsKLSsgICAg dW50ZXN0ZWQgImNhbm5vdCBmaW5kIGN1cmwiCi0rICAgIHJldHVybiAtMQotK30KLSsKLSsjIFNr aXAgdGVzdGluZyBpZiBnZGIgd2FzIG5vdCBjb25maWd1cmVkIHdpdGggZGVidWdpbmZvZAotK2lm IHsgW3N0cmluZyBmaXJzdCAid2l0aC1kZWJ1Z2luZm9kIiBcCi0rCSAgW2V2YWwgZXhlYyAkR0RC ICRJTlRFUk5BTF9HREJGTEFHUyAtLWNvbmZpZ3VyYXRpb25dXSA9PSAtMSB9IHsKLSsgICAgdW50 ZXN0ZWQgImdkYiBub3QgY29uZmlndXJlZCB3aXRoIGRlYnVnaW5mb2QiCi0rICAgIHJldHVybiAt MQotK30KLSsKLStzZXQgY2FjaGUgW3N0YW5kYXJkX291dHB1dF9maWxlICIuY2xpZW50X2NhY2hl Il0KLStzZXQgZGIgW3N0YW5kYXJkX291dHB1dF9maWxlICIuZGVidWdpbmZvZC5kYiJdCi0rCi0r IyBEZWxldGUgYW55IHByZWV4aXN0aW5nIHRlc3QgZmlsZXMKLStmaWxlIGRlbGV0ZSAtZm9yY2Ug JGNhY2hlCi0rZmlsZSBkZWxldGUgLWZvcmNlICRkYgotKwotK3NldCBzb3VyY2V0bXAgW3N0YW5k YXJkX291dHB1dF9maWxlIHRtcC0ke3NyY2ZpbGV9XQotK3NldCBvdXRwdXRkaXIgW3N0YW5kYXJk X291dHB1dF9maWxlIHt9XQotKwotKyMgTWFrZSBhIGNvcHkgc291cmNlIGZpbGUgdGhhdCB3ZSBj YW4gbW92ZSBhcm91bmQKLStpZiB7IFtjYXRjaCB7ZmlsZSBjb3B5IC1mb3JjZSAke3NyY2Rpcn0v JHtzdWJkaXJ9LyR7c3JjZmlsZX0gXAotKwkgICAgIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAke3Nv dXJjZXRtcH1dfV0gIT0gMCB9IHsKLSsgICAgZXJyb3IgImNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIK LSsgICAgcmV0dXJuIC0xCi0rfQotKwotK2lmIHsgW2dkYl9jb21waWxlICIkc291cmNldG1wIiAi JGJpbmZpbGUiIGV4ZWN1dGFibGUge2RlYnVnfV0gIT0gIiIgfSB7Ci0rICAgIGZhaWwgImNvbXBp bGUiCi0rICAgIHJldHVybiAtMQotK30KLSsKLStzZXRlbnYgREVCVUdJTkZPRF9VUkxTICIiCi0r c2V0ZW52IERFQlVHSU5GT0RfVElNRU9VVCAzMAotK3NldGVudiBERUJVR0lORk9EX0NBQ0hFX1BB VEggJGNhY2hlCi0rCi0rIyBUZXN0IHRoYXQgZ2RiIGNhbm5vdCBmaW5kIHNvdXJjZSB3aXRob3V0 IGRlYnVnaW5mb2QKLStjbGVhbl9yZXN0YXJ0ICRiaW5maWxlCi0rZ2RiX3Rlc3Rfbm9fb3V0cHV0 ICJzZXQgc3Vic3RpdHV0ZS1wYXRoICRvdXRwdXRkaXIgL2Rldi9udWxsIgotK2dkYl90ZXN0ICJs aXN0IiAiLipObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5LioiCi0rCi0rIyBTdHJpcCBzeW1ib2xz IGludG8gc2VwYXJhdGUgZmlsZSBhbmQgbW92ZSBpdCBzbyBnZGIgY2Fubm90IGZpbmQgaXQgd2l0 aG91dCBkZWJ1Z2luZm9kCi0raWYgeyBbZ2RiX2dudV9zdHJpcF9kZWJ1ZyAkYmluZmlsZSAiIl0g IT0gMCB9IHsKLSsgICAgZmFpbCAic3RyaXAgZGVidWdpbmZvIgotKyAgICByZXR1cm4gLTEKLSt9 Ci0rCi0rc2V0IGRlYnVnZGlyIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAiZGVidWciXQotK3NldCBk ZWJ1Z2luZm8gW3N0YW5kYXJkX291dHB1dF9maWxlICJmZXRjaF9zcmNfYW5kX3N5bWJvbHMuZGVi dWciXQotKwotK2ZpbGUgbWtkaXIgJGRlYnVnZGlyCi0rZmlsZSByZW5hbWUgLWZvcmNlICRkZWJ1 Z2luZm8gJGRlYnVnZGlyCi0rCi0rIyBUZXN0IHRoYXQgZ2RiIGNhbm5vdCBmaW5kIHN5bWJvbHMg d2l0aG91dCBkZWJ1Z2luZm9kCi0rY2xlYW5fcmVzdGFydCAkYmluZmlsZQotK2dkYl90ZXN0ICJm aWxlIiAiLipObyBzeW1ib2wgZmlsZS4qIgotKwotKyMgV3JpdGUgc29tZSBhc3NlbWJseSB0aGF0 IGp1c3QgaGFzIGEgLmdudV9kZWJ1Z2FsdGxpbmsgc2VjdGlvbi4KLSsjIENvcGllZCBmcm9tIHRl c3RzdWl0ZS9nZGIuZHdhcmYyL2R3emJ1aWxkaWQuZXhwLgotK3Byb2Mgd3JpdGVfanVzdF9kZWJ1 Z2FsdGxpbmsge2ZpbGVuYW1lIGR3em5hbWUgYnVpbGRpZH0gewotKyAgICBzZXQgYXNtX2ZpbGUg W3N0YW5kYXJkX291dHB1dF9maWxlICRmaWxlbmFtZV0KLSsKLSsgICAgRHdhcmY6OmFzc2VtYmxl ICRhc21fZmlsZSB7Ci0rCXVwdmFyIGR3em5hbWUgZHd6bmFtZQotKwl1cHZhciBidWlsZGlkIGJ1 aWxkaWQKLSsKLSsJZ251X2RlYnVnYWx0bGluayAkZHd6bmFtZSAkYnVpbGRpZAotKwotKwkjIE9u bHkgdGhlIERXQVJGIHJlYWRlciBjaGVja3MgLmdudV9kZWJ1Z2FsdGxpbmssIHNvIG1ha2Ugc3Vy ZQotKwkjIHRoZXJlIGlzIGEgYml0IG9mIERXQVJGIGluIGhlcmUuCi0rCWN1IHt9IHsKLSsJICAg IGNvbXBpbGVfdW5pdCB7e2xhbmd1YWdlIEBEV19MQU5HX0N9fSB7Ci0rCSAgICB9Ci0rCX0KLSsg ICAgfQotK30KLSsKLSsjIFdyaXRlIHNvbWUgRFdBUkYgdGhhdCBhbHNvIHNldHMgdGhlIGJ1aWxk aWQuCi0rIyBDb3BpZWQgZnJvbSB0ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kd3pidWlsZGlkLmV4cC4K LStwcm9jIHdyaXRlX2R3YXJmX2ZpbGUge2ZpbGVuYW1lIGJ1aWxkaWQge3ZhbHVlIDk5fX0gewot KyAgICBzZXQgYXNtX2ZpbGUgW3N0YW5kYXJkX291dHB1dF9maWxlICRmaWxlbmFtZV0KLSsKLSsg ICAgRHdhcmY6OmFzc2VtYmxlICRhc21fZmlsZSB7Ci0rCWRlY2xhcmVfbGFiZWxzIGludF9sYWJl bCBpbnRfbGFiZWwyCi0rCi0rCXVwdmFyIGJ1aWxkaWQgYnVpbGRpZAotKwl1cHZhciB2YWx1ZSB2 YWx1ZQotKwotKwlidWlsZF9pZCAkYnVpbGRpZAotKwotKwljdSB7fSB7Ci0rCSAgICBjb21waWxl X3VuaXQge3tsYW5ndWFnZSBARFdfTEFOR19DfX0gewotKwkgICAgICAgIGludF9sYWJlbDI6IGJh c2VfdHlwZSB7Ci0rCQkgICAge25hbWUgaW50fQotKwkJICAgIHtieXRlX3NpemUgNCBzZGF0YX0K LSsJCSAgICB7ZW5jb2RpbmcgQERXX0FURV9zaWduZWR9Ci0rCQl9Ci0rCi0rCQljb25zdGFudCB7 Ci0rCQkgICAge25hbWUgdGhlX2ludH0KLSsJCSAgICB7dHlwZSA6JGludF9sYWJlbDJ9Ci0rCQkg ICAge2NvbnN0X3ZhbHVlICR2YWx1ZSBkYXRhMX0KLSsJCX0KLSsJICAgIH0KLSsJfQotKyAgICB9 Ci0rfQotKwotK3NldCBidWlsZGlkICIwMTIzNDU2Nzg5MGFiY2RlZjAxMjM0NTYiCi0rCi0rd3Jp dGVfanVzdF9kZWJ1Z2FsdGxpbmsgJHtiaW5maWxlfV9oYXNfYWx0bGluay5TICR7YmluZmlsZX1f ZHd6Lm8gJGJ1aWxkaWQKLSt3cml0ZV9kd2FyZl9maWxlICR7YmluZmlsZX1fZHd6LlMgJGJ1aWxk aWQKLSsKLStpZiB7W2dkYl9jb21waWxlICR7YmluZmlsZX1faGFzX2FsdGxpbmsuUyAke2JpbmZp bGV9X2FsdC5vIG9iamVjdCBub2RlYnVnXSAhPSAiIn0gewotKyAgICBmYWlsICJjb21waWxlIG1h aW4gd2l0aCBhbHRsaW5rIgotKyAgICByZXR1cm4gLTEKLSt9Ci0rCi0raWYge1tnZGJfY29tcGls ZSAke2JpbmZpbGV9X2R3ei5TICR7YmluZmlsZX1fZHd6Lm8gb2JqZWN0IG5vZGVidWddICE9ICIi fSB7Ci0rICAgIGZhaWwgImNvbXBpbGUgYWx0bGluayIKLSsgICAgcmV0dXJuIC0xCi0rfQotKwot K2ZpbGUgcmVuYW1lIC1mb3JjZSAke2JpbmZpbGV9X2R3ei5vICRkZWJ1Z2RpcgotKwotKyMgVGVz dCB0aGF0IGdkYiBjYW5ub3QgZmluZCBkd3ogd2l0aG91dCBkZWJ1Z2luZm9kLgotK2NsZWFuX3Jl c3RhcnQKLStnZGJfdGVzdCAiZmlsZSAke2JpbmZpbGV9X2FsdC5vIiAiLipjb3VsZCBub3QgZmlu ZCAnLmdudV9kZWJ1Z2FsdGxpbmsnLioiCi0rCi0rIyBGaW5kIGFuIHVudXNlZCBwb3J0Ci0rc2V0 IHBvcnQgNzk5OQotK3NldCBmb3VuZCAwCi0rd2hpbGUgeyAhICRmb3VuZCB9IHsKLSsgIGluY3Ig cG9ydAotKyAgaWYgeyAkcG9ydCA9PSA2NTUzNiB9IHsKLSsgICAgZmFpbCAibm8gYXZhaWxhYmxl IHBvcnRzIgotKyAgICByZXR1cm4gLTEKLSsgIH0KLSsKLSsgIHNwYXduIGRlYnVnaW5mb2QgLXZ2 dnYgLWQgJGRiIC1wICRwb3J0IC1GICRkZWJ1Z2RpcgotKyAgZXhwZWN0IHsKLSsgICAgInN0YXJ0 ZWQgaHR0cCBzZXJ2ZXIgb24gSVB2NCBJUHY2IHBvcnQ9JHBvcnQiIHsgc2V0IGZvdW5kIDEgfQot KyAgICAiZmFpbGVkIHRvIGJpbmQgdG8gcG9ydCIgeyBraWxsX3dhaXRfc3Bhd25lZF9wcm9jZXNz ICRzcGF3bl9pZCB9Ci0rICAgIHRpbWVvdXQgewotKyAgICAgIGZhaWwgImZpbmQgcG9ydCB0aW1l b3V0IgotKyAgICAgIHJldHVybiAtMQotKyAgICB9Ci0rICB9Ci0rfQotKwotK3NldCBtZXRyaWNz IFtsaXN0ICJyZWFkeSAxIiBcCi0rCSAgICAgInRocmVhZF93b3JrX3RvdGFse3JvbGU9XCJ0cmF2 ZXJzZVwifSAxIiBcCi0rCSAgICAgInRocmVhZF93b3JrX3BlbmRpbmd7cm9sZT1cInNjYW5cIn0g MCIgXAotKwkgICAgICJ0aHJlYWRfYnVzeXtyb2xlPVwic2NhblwifSAwIl0KLSsKLSsjIENoZWNr IHNlcnZlciBtZXRyaWNzIHRvIGNvbmZpcm0gaW5pdCBoYXMgY29tcGxldGVkLgotK2ZvcmVhY2gg bSAkbWV0cmljcyB7Ci0rICBzZXQgdGltZWxpbSAyMAotKyAgd2hpbGUgeyAkdGltZWxpbSAhPSAw IH0gewotKyAgICBzbGVlcCAwLjUKLSsgICAgY2F0Y2gge2V4ZWMgY3VybCAtcyBodHRwOi8vMTI3 LjAuMC4xOiRwb3J0L21ldHJpY3N9IGdvdAotKwotKyAgICBpZiB7IFtyZWdleHAgJG0gJGdvdF0g fSB7Ci0rICAgICAgYnJlYWsKLSsgICAgfQotKwotKyAgICBpbmNyIHRpbWVsaW0gLTEKLSsgIH0K LSsKLSsgIGlmIHsgJHRpbWVsaW0gPT0gMCB9IHsKLSsgICAgZmFpbCAic2VydmVyIGluaXQgdGlt ZW91dCIKLSsgICAgcmV0dXJuIC0xCi0rICB9Ci0rfQotKwotKyMgUG9pbnQgdGhlIGNsaWVudCB0 byB0aGUgc2VydmVyCi0rc2V0ZW52IERFQlVHSU5GT0RfVVJMUyBodHRwOi8vMTI3LjAuMC4xOiRw b3J0Ci0rCi0rIyBnZGIgc2hvdWxkIG5vdyBmaW5kIHRoZSBzeW1ib2wgYW5kIHNvdXJjZSBmaWxl cwotK2NsZWFuX3Jlc3RhcnQgJGJpbmZpbGUKLStnZGJfdGVzdF9ub19vdXRwdXQgInNldCBzdWJz dGl0dXRlLXBhdGggJG91dHB1dGRpciAvZGV2L251bGwiCi0rZ2RiX3Rlc3QgImJyIG1haW4iICJC cmVha3BvaW50IDEgYXQuKmZpbGUuKiIKLStnZGJfdGVzdCAibCIgIi4qVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlLioiCi0rCi0rIyBnZGIgc2hvdWxkIG5vdyBmaW5kIHRo ZSBkZWJ1Z2FsdGxpbmsgZmlsZQotK2NsZWFuX3Jlc3RhcnQKLStnZGJfdGVzdCAiZmlsZSAke2Jp bmZpbGV9X2FsdC5vIiAiLipSZWFkaW5nIHN5bWJvbHMgZnJvbSAke2JpbmZpbGV9X2FsdC5vXC5c LlwuKiIKLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5kZWJ1Z2luZm9kL21haW4uYyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmRlYnVnaW5mb2QvbWFpbi5jCi1uZXcgZmlsZSBtb2RlIDEwMDY0 NAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZGVidWdpbmZvZC9tYWlu LmMKLUBAIC0wLDAgKzEsMjUgQEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0 aGUgR05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdodCAyMDIwIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAg VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAg Ki8KLSsKLSsvKiBEdW1teSBtYWluIGZ1bmN0aW9uLiAgKi8KLSsKLStpbnQKLSttYWluKCkKLSt7 Ci0rICBhc20gKCJtYWluX2xhYmVsOiAuZ2xvYmwgbWFpbl9sYWJlbCIpOwotKyAgcmV0dXJuIDA7 Ci0rfQotZGlmZiAtLWdpdCBhL2dkYi90b3AuYyBiL2dkYi90b3AuYwotLS0tIGEvZ2RiL3RvcC5j Ci0rKysgYi9nZGIvdG9wLmMKLUBAIC0xNTEzLDYgKzE1MTMsMTcgQEAgVGhpcyBHREIgd2FzIGNv bmZpZ3VyZWQgYXMgZm9sbG93czpcblwKLSAgICAgICAgICAgICAgLS13aXRob3V0LXB5dGhvblxu XAotICIpKTsKLSAjZW5kaWYKLSsKLSsjaWYgSEFWRV9MSUJERUJVR0lORk9ECi0rICBmcHJpbnRm X2ZpbHRlcmVkIChzdHJlYW0sIF8oIlwKLSsgICAgICAgICAgICAgLS13aXRoLWRlYnVnaW5mb2Rc blwKLSsiKSk7Ci0rI2Vsc2UKLSsgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sIF8oIlwKLSsg ICAgICAgICAgICAgLS13aXRob3V0LWRlYnVnaW5mb2RcblwKLSsiKSk7Ci0rI2VuZGlmCi0rCi0g I2lmIEhBVkVfR1VJTEUKLSAgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgXygiXAotICAgICAg ICAgICAgICAtLXdpdGgtZ3VpbGVcblwKCmRpZmYgLS1naXQgYS9nZGItcmhiejE4NDQ0NTgtdXNl LWZwdXRYX3VuZmlsdGVyZWQucGF0Y2ggYi9nZGItcmhiejE4NDQ0NTgtdXNlLWZwdXRYX3VuZmls dGVyZWQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhY2Y3YTUuLjAwMDAw MDAKLS0tIGEvZ2RiLXJoYnoxODQ0NDU4LXVzZS1mcHV0WF91bmZpbHRlcmVkLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMTIwICswLDAgQEAKLUZyb20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgPHNlcmdpb2RqQHJl ZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDE5IEZlYiAyMDIwIDE2OjQwOjQ4IC0wNTAwCi1TdWJqZWN0 OiBnZGItcmhiejE4NDQ0NTgtdXNlLWZwdXRYX3VuZmlsdGVyZWQucGF0Y2gKLQotOzsgRml4IGZw dXQ/X3VuZmlsdGVyZWQgZnVuY3Rpb25zCi07OyBSSCBCWiAxODQ0NDU4IChTZXJnaW8gRHVyaWdh biBKdW5pb3IgYW5kIFRvbSBUcm9tZXkpCi0KLU1ha2UgJ3twdXRjaGFyLGZwdXRjfV91bmZpbHRl cmVkJyB1c2UgJ2ZwdXRzX3VuZmlsdGVyZWQnCi0KLVRoZXJlIGlzIGN1cnJlbnRseSBhIHJlZ3Jl c3Npb24gd2hlbiB1c2luZwotJ3twdXRjaGFyLGZwdXRjfV91bmZpbHRlcmVkJyB3aXRoICdwdXRz X3VuZmlsdGVyZWQnIHdoaWNoIHdhcwotaW50cm9kdWNlZCBieSBvbmUgb2YgdGhlIGNvbW1pdHMg dGhhdCByZXdvcmtlZCB0aGUgdW5maWx0ZXJlZCBwcmludAotY29kZS4KLQotVGhlIHJlZ3Jlc3Np b24gbWFrZXMgaXQgaW1wb3NzaWJsZSB0byB1c2UgJ3twdXRjaGFyLGZwdXRjfV91bmZpbHRlcmVk Jwotd2l0aCAncHV0c191bmZpbHRlcmVkJywgYmVjYXVzZSB0aGUgZm9ybWVyIHdyaXRlcyBkaXJl Y3RseSB0byB0aGUKLXVpX2ZpbGUgc3RyZWFtIHVzaW5nICdzdHJlYW0tPndyaXRlJywgd2hpbGUg dGhlIGxhdHRlciB1c2VzIGEgYnVmZmVyZWQKLW1lY2hhbmlzbSAoc2VlICd3cmFwX2J1ZmZlcicp IGFuZCBkZWxheXMgdGhlIHByaW50aW5nLgotCi1JZiB5b3UgZG8gYSBxdWljayAmIGRpcnR5IGhh Y2sgb24gZS5nLiB0b3AuYzpzaG93X2dkYl9kYXRhZGlyOgotCi0gIEBAIC0yMDg4LDYgKzIwODgs MTMgQEAgc3RhdGljIHZvaWQKLSAgIHNob3dfZ2RiX2RhdGFkaXIgKHN0cnVjdCB1aV9maWxlICpm aWxlLCBpbnQgZnJvbV90dHksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjbWRfbGlzdF9l bGVtZW50ICpjLCBjb25zdCBjaGFyICp2YWx1ZSkKLSAgIHsKLSAgKyAgcHV0Y2hhcl91bmZpbHRl cmVkICgnXG4nKTsKLSAgKyAgcHV0c191bmZpbHRlcmVkICgiVEVTVCIpOwotICArICBwdXRjaGFy X3VuZmlsdGVyZWQgKCc+Jyk7Ci0gICsgIHB1dHNfdW5maWx0ZXJlZCAoIlBVVFMiKTsKLSAgKyAg cHV0c191bmZpbHRlcmVkICgiUFVUUyIpOwotICArICBwdXRjaGFyX3VuZmlsdGVyZWQgKCdcbicp OwotCi1yZWJ1aWxkIEdEQiBhbmQgaW52b2tlIHRoZSAic2hvdyBkYXRhLWRpcmVjdG9yeSIgY29t bWFuZCwgeW91IHdpbGwKLXNlZToKLQotICAoZ2RiKSBzaG93IGRhdGEtZGlyZWN0b3J5Ci0KLSAg PgotICBURVNUUFVUU0dEQidzIGRhdGEgZGlyZWN0b3J5IGlzICIvdXNyL2xvY2FsL3NoYXJlL2dk YiIuCi0KLU5vdGUgaG93IHRoZSAnPicgd2FzIHByaW50ZWQgYmVmb3JlIHRoZSBvdXRwdXQsIGFu ZCAiVEVTVCIgYW5kICJQVVRTIgotd2VyZSBwcmludGVkIHRvZ2V0aGVyLgotCi1NeSBmaXJzdCBh dHRlbXB0IHRvIGZpeCB0aGlzIHdhcyB0byBhbHdheXMgY2FsbCAnZmx1c2hfd3JhcF9idWZmZXIn IGF0Ci10aGUgZW5kIG9mICdmcHV0c19tYXliZV9maWx0ZXJlZCcsIHNpbmNlIGl0IHNlZW1lZCB0 byBtZSB0aGF0IHRoZQotZnVuY3Rpb24gc2hvdWxkIGFsd2F5cyBwcmludCB3aGF0IHdhcyByZXF1 ZXN0ZWQuICBCdXQgSSB3YXNuJ3Qgc3VyZQotdGhpcyB3YXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRv LCBzbyBJIHRhbGtlZCB0byBUb20gb24gSVJDIGFuZCBoZSBnYXZlCi1tZSBhbm90aGVyLCBzaW1w bGVyIGlkZWE6IG1ha2UgJ3twdXRjaGFyLGZwdXRjfV91bmZpbHRlcmVkJyBjYWxsIGludG8KLXRo ZSBhbHJlYWR5IGV4aXN0aW5nICdmcHV0c191bmZpbHRlcmVkJyBmdW5jdGlvbi4KLQotVGhpcyBw YXRjaCBpbXBsZW1lbnRzIHRoZSBpZGVhLiAgSSByZWd0ZXN0ZWQgaXQgb24gdGhlIEJ1aWxkYm90 LCBhbmQKLW5vIHJlZ3Jlc3Npb25zIHdlcmUgZGV0ZWN0ZWQuCi0KLWdkYi9DaGFuZ2VMb2c6Ci0y MDIwLTAyLTIwICBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgIDxzZXJnaW9kakByZWRoYXQuY29tPgot ICAgICAgICAgICAgVG9tIFRyb21leSAgPHRvbUB0cm9tZXkuY29tPgotCi0gICAgICAgICogdXRp bHMuYyAoZnB1dHNfbWF5YmVfZmlsdGVyZWQpOiBDYWxsICdzdHJlYW0tPnB1dHMnIGluc3RlYWQK LSAgICAgICAgb2YgJ2ZwdXRjX3VuZmlsdGVyZWQnLgotICAgICAgICAocHV0Y2hhcl91bmZpbHRl cmVkKTogQ2FsbCAnZnB1dGNfdW5maWx0ZXJlZCcuCi0gICAgICAgIChmcHV0Y191bmZpbHRlcmVk KTogQ2FsbCAnZnB1dHNfdW5maWx0ZXJlZCcuCi0KLWRpZmYgLS1naXQgYS9nZGIvdXRpbHMuYyBi L2dkYi91dGlscy5jCi0tLS0gYS9nZGIvdXRpbHMuYwotKysrIGIvZ2RiL3V0aWxzLmMKLUBAIC0x NzgzLDcgKzE3ODMsMTIgQEAgZnB1dHNfbWF5YmVfZmlsdGVyZWQgKGNvbnN0IGNoYXIgKmxpbmVi dWZmZXIsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCi0gCQkgICAgIG5ld2xpbmUgLS0gaWYgY2hh cnNfcGVyX2xpbmUgaXMgcmlnaHQsIHdlCi0gCQkgICAgIHByb2JhYmx5IGp1c3Qgb3ZlcmZsb3dl ZCBhbnl3YXk7IGlmIGl0J3Mgd3JvbmcsCi0gCQkgICAgIGxldCB1cyBrZWVwIGdvaW5nLiAgKi8K LS0JCSAgZnB1dGNfdW5maWx0ZXJlZCAoJ1xuJywgc3RyZWFtKTsKLSsJCSAgLyogWFhYOiBUaGUg aWRlYWwgdGhpbmcgd291bGQgYmUgdG8gY2FsbAotKwkJICAgICAnc3RyZWFtLT5wdXRjJyBoZXJl LCBidXQgd2UgY2FuJ3QgYmVjYXVzZSBpdAotKwkJICAgICBjdXJyZW50bHkgY2FsbHMgJ2ZwdXRj X3VuZmlsdGVyZWQnLCB3aGljaCBlbmRzIHVwCi0rCQkgICAgIGNhbGxpbmcgdXMsIHdoaWNoIGdl bmVyYXRlcyBhbiBpbmZpbml0ZQotKwkJICAgICByZWN1cnNpb24uICAqLwotKwkJICBzdHJlYW0t PnB1dHMgKCJcbiIpOwotIAkJfQotIAkgICAgICBlbHNlCi0gCQl7Ci1AQCAtMTgyOCw3ICsxODMz LDEyIEBAIGZwdXRzX21heWJlX2ZpbHRlcmVkIChjb25zdCBjaGFyICpsaW5lYnVmZmVyLCBzdHJ1 Y3QgdWlfZmlsZSAqc3RyZWFtLAotIAkgIHdyYXBfaGVyZSAoKGNoYXIgKikgMCk7CS8qIFNwaXQg b3V0IGNoYXJzLCBjYW5jZWwKLSAJCQkJCSAgIGZ1cnRoZXIgd3JhcHMuICAqLwotIAkgIGxpbmVz X3ByaW50ZWQrKzsKLS0JICBmcHV0Y191bmZpbHRlcmVkICgnXG4nLCBzdHJlYW0pOwotKwkgIC8q IFhYWDogVGhlIGlkZWFsIHRoaW5nIHdvdWxkIGJlIHRvIGNhbGwKLSsJICAgICAnc3RyZWFtLT5w dXRjJyBoZXJlLCBidXQgd2UgY2FuJ3QgYmVjYXVzZSBpdAotKwkgICAgIGN1cnJlbnRseSBjYWxs cyAnZnB1dGNfdW5maWx0ZXJlZCcsIHdoaWNoIGVuZHMgdXAKLSsJICAgICBjYWxsaW5nIHVzLCB3 aGljaCBnZW5lcmF0ZXMgYW4gaW5maW5pdGUKLSsJICAgICByZWN1cnNpb24uICAqLwotKwkgIHN0 cmVhbS0+cHV0cyAoIlxuIik7Ci0gCSAgbGluZXB0cisrOwotIAl9Ci0gICAgIH0KLUBAIC0xOTIz LDEwICsxOTMzLDcgQEAgZnB1dHNfaGlnaGxpZ2h0ZWQgKGNvbnN0IGNoYXIgKnN0ciwgY29uc3Qg Y29tcGlsZWRfcmVnZXggJmhpZ2hsaWdodCwKLSBpbnQKLSBwdXRjaGFyX3VuZmlsdGVyZWQgKGlu dCBjKQotIHsKLS0gIGNoYXIgYnVmID0gYzsKLS0KLS0gIHVpX2ZpbGVfd3JpdGUgKGdkYl9zdGRv dXQsICZidWYsIDEpOwotLSAgcmV0dXJuIGM7Ci0rICByZXR1cm4gZnB1dGNfdW5maWx0ZXJlZCAo YywgZ2RiX3N0ZG91dCk7Ci0gfQotIAotIC8qIFdyaXRlIGNoYXJhY3RlciBDIHRvIGdkYl9zdGRv dXQgdXNpbmcgR0RCJ3MgcGFnaW5nIG1lY2hhbmlzbSBhbmQgcmV0dXJuIEMuCi1AQCAtMTk0MSw5 ICsxOTQ4LDExIEBAIHB1dGNoYXJfZmlsdGVyZWQgKGludCBjKQotIGludAotIGZwdXRjX3VuZmls dGVyZWQgKGludCBjLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQotIHsKLS0gIGNoYXIgYnVmID0g YzsKLSsgIGNoYXIgYnVmWzJdOwotIAotLSAgdWlfZmlsZV93cml0ZSAoc3RyZWFtLCAmYnVmLCAx KTsKLSsgIGJ1ZlswXSA9IGM7Ci0rICBidWZbMV0gPSAwOwotKyAgZnB1dHNfdW5maWx0ZXJlZCAo YnVmLCBzdHJlYW0pOwotICAgcmV0dXJuIGM7Ci0gfQotIAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6 MTg2OTQ4NC1kZWxldGVkLXdvcmtpbmctZGlyZWN0b3J5IGIvZ2RiLXJoYnoxODY5NDg0LWRlbGV0 ZWQtd29ya2luZy1kaXJlY3RvcnkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5NTg0 ZWEuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxODY5NDg0LWRlbGV0ZWQtd29ya2luZy1kaXJlY3Rv cnkKKysrIC9kZXYvbnVsbApAQCAtMSwyNDAgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtldmluIEJ1ZXR0bmVyIDxrZXZpbmJAcmVk aGF0LmNvbT4KLURhdGU6IFRodSwgMjAgQXVnIDIwMjAgMjA6NTI6MTIgLTA3MDAKLVN1YmplY3Q6 IGdkYi1yaGJ6MTg2OTQ4NC1kZWxldGVkLXdvcmtpbmctZGlyZWN0b3J5Ci0KLTs7IEJhY2twb3J0 IHBhdGNoZXMgZml4aW5nIGFib3J0IHdoZW4gd29ya2luZyBkaXJlY3RvcnkgaXMgZGVsZXRlZC4K LQotR3VhcmQgYWdhaW5zdCAnY3VycmVudF9kaXJlY3RvcnkgPT0gTlVMTCcgb24gZ2RiX2Fic3Bh dGggKFBSIGdkYi8yMzYxMykKLQotUmVmLjogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3No b3dfYnVnLmNnaT9pZD0xNzI4MTQ3Ci1SZWYuOiBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3pp bGxhL3Nob3dfYnVnLmNnaT9pZD0yMzYxMwotCi1IaSwKLQotVGhpcyBidWcgaGFzIGJlZW4gcmVw b3J0ZWQgYWdhaW5zdCBGZWRvcmEgR0RCLCBidXQgdGhlcmUncyBhbHNvIGFuCi11cHN0cmVhbSBi dWcuICBUaGUgcHJvYmxlbSByZXBvcnRlZCBpcyB0aGF0IEdEQiBzZWdmYXVsdHMgd2hlbiB0aGUK LXdvcmtpbmcgZGlyZWN0b3J5IGlzIGRlbGV0ZWQuICBJdCdzIHByZXR0eSB1c2UgdG8gcmVwcm9k dWNlIGl0OgotCi0gIG1rZGlyIGJsYQotICBjZCBibGEKLSAgcm1kaXIgLi4vYmxhCi0gIGdkYiBl Y2hvCi0KLURlYnVnZ2luZyB0aGUgcHJvYmxlbSBpcyBhIGJpdCB0cmlja3ksIGJlY2F1c2UsIHNp bmNlIHRoZSBjdXJyZW50Ci1kaXJlY3RvcnkgZG9lc24ndCBleGlzdCBhbnltb3JlLCBhIGNvcmVm aWxlIGNhbm5vdCBiZSBzYXZlZCB0aGVyZS4KLUFmdGVyIGEgZmV3IGF0dGVtcHRzLCBJIGNhbWUg dXAgd2l0aCB0aGUgZm9sbG93aW5nOgotCi0gIGdkYiAtZXggJ3NoZWxsIG1rZGlyIGJsYScgLWV4 ICdjZCBibGEnIC1leCAnc2hlbGwgcm1kaXIgLi4vYmxhJyAtZXggJ3IgZWNobycgLi9nZGIvZ2Ri Ci0KLVRoaXMgYXNzdW1lcyB0aGF0IHlvdSdyZSBpbnNpZGUgYSBidWlsZCBkaXJlY3Rvcnkgd2hp Y2ggY29udGFpbnMKLS4vZ2RiL2dkYiwgb2YgY291cnNlLgotCi1BZnRlciBpbnZlc3RpZ2F0aW5n IGl0LCBJIGZvdW5kIHRoYXQgdGhlIHByb2JsZW0gaGFwcGVucyBhdAotZ2RiX2Fic3BhdGgsIHdo ZXJlIHdlJ3JlIGRlcmVmZXJlbmNpbmcgJ2N1cnJlbnRfZGlyZWN0b3J5JyB3aXRob3V0Ci1jaGVj a2luZyBpZiBpdCdzIE5VTEw6Ci0KLSAgICAuLi4KLSAgICAoY29uY2F0IChjdXJyZW50X2RpcmVj dG9yeSwKLQkgICAgIElTX0RJUl9TRVBBUkFUT1IgKGN1cnJlbnRfZGlyZWN0b3J5W3N0cmxlbiAo Y3VycmVudF9kaXJlY3RvcnkpIC0gMV0pCi0JICAgICA/ICIiIDogU0xBU0hfU1RSSU5HLAotICAg IC4uLgotCi1TbyBJIGZpeGVkIHRoZSBwcm9ibGVtIHdpdGggdGhlIHBhdGNoIGJlbG93LiAgVGhl IGlkZWEgaXMgdGhhdCwgaWYKLSdjdXJyZW50X2RpcmVjdG9yeScgaXMgTlVMTCwgdGhlbiB0aGUg ZmluYWwgc3RyaW5nIHJldHVybmVkIHNob3VsZCBiZQotanVzdCB0aGUgInBhdGgiLgotCi1BZnRl ciBmaXhpbmcgdGhlIGJ1ZywgSSBmb3VuZCBhIHNpbWlsYXIgb25lIHJlcG9ydGVkIGFnYWluc3Qg b3VyCi1idWd6aWxsYTogUFIgZ2RiLzIzNjEzLiAgVGhlIHByb2JsZW0gaXMgdGhlIHNhbWUsIGJ1 dCB0aGUgcmVwcm9kdWNlcgotaXMgYSBiaXQgZGlmZmVyZW50LgotCi1JIHJlYWxseSB0cmllZCB3 cml0aW5nIGEgdGVzdGNhc2UgZm9yIHRoaXMsIGJ1dCB1bmZvcnR1bmF0ZWx5IGl0J3MKLWFwcGFy ZW50bHkgbm90IHBvc3NpYmxlIHRvIHN0YXJ0IEdEQiBpbnNpZGUgYSBub24tZXhpc3RlbnQgZGly ZWN0b3J5Ci13aXRoIERlamFHTlUuCi0KLUkgcmVncmVzc2lvbiB0ZXN0ZWQgdGhpcyBwYXRjaCBv biB0aGUgQnVpbGRCb3QsIGFuZCBubyByZWdyZXNzaW9ucwotd2VyZSBmb3VuZC4KLQotZ2RiL0No YW5nZUxvZzoKLTIwMTktMTItMTQgIFNlcmdpbyBEdXJpZ2FuIEp1bmlvciAgPHNlcmdpb2RqQHJl ZGhhdC5jb20+Ci0KLQlodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lk PTE3MjgxNDcKLQlQUiBnZGIvMjM2MTMKLQkqIGJzZC1rdm0uYyAoYnNkX2t2bV90YXJnZXRfb3Bl bik6IFVzZSAnZ2RiX2Fic3BhdGgnLgotCSogY29yZWxvdy5jOiBJbmNsdWRlICdnZGJzdXBwb3J0 L3BhdGhzdHVmZi5oJy4KLQkoY29yZV90YXJnZXRfb3Blbik6IFVzZSAnZ2RiX2Fic3BhdGgnLgot CSogZ2Ric3VwcG9ydC9wYXRoc3R1ZmYuYyAoZ2RiX2Fic3BhdGgpOiBHdWFyZCBhZ2FpbnN0Ci0J J2N1cnJlbnRfZGlyZWN0b3J5ID09IE5VTEwnIGNhc2UuCi0JKiBnZGJzdXBwb3J0L3BhdGhzdHVm Zi5oIChnZGJfYWJzcGF0aCk6IEV4cGFuZCBjb21tZW50IGFuZAotCWV4cGxhaW4gd2hhdCBoYXBw ZW5zIHdoZW4gJ2N1cnJlbnRfZGlyZWN0b3J5JyBpcyBOVUxMLgotCSogZ28zMi1uYXQuYyAoZ28z Ml9uYXRfdGFyZ2V0Ojp3YWl0KTogQ2hlY2sgaWYKLQknY3VycmVudF9kaXJlY3RvcnknIGlzIE5V TEwgYmVmb3JlIGNhbGwgdG8gJ2NoZGlyJy4KLQkqIHNvdXJjZS5jIChhZGRfcGF0aCk6IFVzZSAn Z2RiX2Fic3BhdGgnLgotCSogdG9wLmM6IEluY2x1ZGUgJ2dkYnN1cHBvcnQvcGF0aHN0dWZmLmgn LgotCShpbml0X2hpc3RvcnkpOiBVc2UgJ2dkYl9hYnNwYXRoJy4KLQkoc2V0X2hpc3RvcnlfZmls ZW5hbWUpOiBMaWtld2lzZS4KLQkqIHRyYWNlZmlsZS10ZmlsZS5jOiBJbmNsdWRlICdnZGJzdXBw b3J0L3BhdGhzdHVmZi5oJy4KLQkodGZpbGVfdGFyZ2V0X29wZW4pOiBVc2UgJ2dkYl9hYnNwYXRo Jy4KLQotQ2hhbmdlLUlkOiBJYmIwOTMyZmEyNWJjNWMyZDNhZTRhN2Y2NGJkN2YzMjg4NWNhNDAz YgotCi1kaWZmIC0tZ2l0IGEvZ2RiL2JzZC1rdm0uYyBiL2dkYi9ic2Qta3ZtLmMKLS0tLSBhL2dk Yi9ic2Qta3ZtLmMKLSsrKyBiL2dkYi9ic2Qta3ZtLmMKLUBAIC0xMTQsMTQgKzExNCwxMyBAQCBi c2Rfa3ZtX3RhcmdldF9vcGVuIChjb25zdCBjaGFyICphcmcsIGludCBmcm9tX3R0eSkKLSAKLSAg IGlmIChhcmcpCi0gICAgIHsKLS0gICAgICBjaGFyICp0ZW1wOwotLQotICAgICAgIGZpbGVuYW1l ID0gdGlsZGVfZXhwYW5kIChhcmcpOwotICAgICAgIGlmIChmaWxlbmFtZVswXSAhPSAnLycpCi0g CXsKLS0JICB0ZW1wID0gY29uY2F0IChjdXJyZW50X2RpcmVjdG9yeSwgIi8iLCBmaWxlbmFtZSwg KGNoYXIgKilOVUxMKTsKLSsJICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiB0ZW1wIChn ZGJfYWJzcGF0aCAoZmlsZW5hbWUpKTsKLSsKLSAJICB4ZnJlZSAoZmlsZW5hbWUpOwotLQkgIGZp bGVuYW1lID0gdGVtcDsKLSsJICBmaWxlbmFtZSA9IHRlbXAucmVsZWFzZSAoKTsKLSAJfQotICAg ICB9Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBiL2dkYi9jb3JlbG93LmMKLS0tLSBh L2dkYi9jb3JlbG93LmMKLSsrKyBiL2dkYi9jb3JlbG93LmMKLUBAIC00OCw2ICs0OCw3IEBACi0g I2luY2x1ZGUgImNvbXBsZXRlci5oIgotICNpbmNsdWRlICJnZGJzdXBwb3J0L2ZpbGVzdHVmZi5o IgotICNpbmNsdWRlICJidWlsZC1pZC5oIgotKyNpbmNsdWRlICJnZGJzdXBwb3J0L3BhdGhzdHVm Zi5oIgotIAotICNpZm5kZWYgT19MQVJHRUZJTEUKLSAjZGVmaW5lIE9fTEFSR0VGSUxFIDAKLUBA IC00MDcsOCArNDA4LDcgQEAgY29yZV90YXJnZXRfb3BlbiAoY29uc3QgY2hhciAqYXJnLCBpbnQg ZnJvbV90dHkpCi0gCi0gICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiBmaWxlbmFtZSAo dGlsZGVfZXhwYW5kIChhcmcpKTsKLSAgIGlmICghSVNfQUJTT0xVVEVfUEFUSCAoZmlsZW5hbWUu Z2V0ICgpKSkKLS0gICAgZmlsZW5hbWUucmVzZXQgKGNvbmNhdCAoY3VycmVudF9kaXJlY3Rvcnks ICIvIiwKLS0JCQkgICAgZmlsZW5hbWUuZ2V0ICgpLCAoY2hhciAqKSBOVUxMKSk7Ci0rICAgIGZp bGVuYW1lID0gZ2RiX2Fic3BhdGggKGZpbGVuYW1lLmdldCAoKSk7Ci0gCi0gICBmbGFncyA9IE9f QklOQVJZIHwgT19MQVJHRUZJTEU7Ci0gICBpZiAod3JpdGVfZmlsZXMpCi1kaWZmIC0tZ2l0IGEv Z2RiL2dkYnN1cHBvcnQvcGF0aHN0dWZmLmMgYi9nZGIvZ2Ric3VwcG9ydC9wYXRoc3R1ZmYuYwot LS0tIGEvZ2RiL2dkYnN1cHBvcnQvcGF0aHN0dWZmLmMKLSsrKyBiL2dkYi9nZGJzdXBwb3J0L3Bh dGhzdHVmZi5jCi1AQCAtMTM0LDcgKzEzNCw3IEBAIGdkYl9hYnNwYXRoIChjb25zdCBjaGFyICpw YXRoKQotICAgaWYgKHBhdGhbMF0gPT0gJ34nKQotICAgICByZXR1cm4gZ2RiX3RpbGRlX2V4cGFu ZF91cCAocGF0aCk7Ci0gCi0tICBpZiAoSVNfQUJTT0xVVEVfUEFUSCAocGF0aCkpCi0rICBpZiAo SVNfQUJTT0xVVEVfUEFUSCAocGF0aCkgfHwgY3VycmVudF9kaXJlY3RvcnkgPT0gTlVMTCkKLSAg ICAgcmV0dXJuIG1ha2VfdW5pcXVlX3hzdHJkdXAgKHBhdGgpOwotIAotICAgLyogQmV3YXJlIHRo ZSAvLyBteSBzb24sIHRoZSBFbWFjcyBiYXJmcywgdGhlIGJvdGNoIHRoYXQgY2F0Y2guLi4gICov Ci1kaWZmIC0tZ2l0IGEvZ2RiL2dkYnN1cHBvcnQvcGF0aHN0dWZmLmggYi9nZGIvZ2Ric3VwcG9y dC9wYXRoc3R1ZmYuaAotLS0tIGEvZ2RiL2dkYnN1cHBvcnQvcGF0aHN0dWZmLmgKLSsrKyBiL2dk Yi9nZGJzdXBwb3J0L3BhdGhzdHVmZi5oCi1AQCAtNDQsNyArNDQsMTAgQEAgZXh0ZXJuIGdkYjo6 dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+Ci0gCi0gICAgQ29udHJhcnkgdG8gImdkYl9yZWFscGF0 aCIsIHRoaXMgZnVuY3Rpb24gdXNlcyBDVVJSRU5UX0RJUkVDVE9SWQotICAgIGZvciB0aGUgcGF0 aCBleHBhbnNpb24uICBUaGlzIG1heSBsZWFkIHRvIHNjZW5hcmlvcyB0aGUgY3VycmVudAotLSAg IHdvcmtpbmcgZGlyZWN0b3J5IChDV0QpIGlzIGRpZmZlcmVudCB0aGFuIENVUlJFTlRfRElSRUNU T1JZLiAgKi8KLSsgICB3b3JraW5nIGRpcmVjdG9yeSAoQ1dEKSBpcyBkaWZmZXJlbnQgdGhhbiBD VVJSRU5UX0RJUkVDVE9SWS4KLSsKLSsgICBJZiBDVVJSRU5UX0RJUkVDVE9SWSBpcyBOVUxMLCB0 aGlzIGZ1bmN0aW9uIHJldHVybnMgYSBjb3B5IG9mCi0rICAgUEFUSC4gICovCi0gCi0gZXh0ZXJu IGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+IGdkYl9hYnNwYXRoIChjb25zdCBjaGFyICpw YXRoKTsKLSAKLWRpZmYgLS1naXQgYS9nZGIvZ28zMi1uYXQuYyBiL2dkYi9nbzMyLW5hdC5jCi0t LS0gYS9nZGIvZ28zMi1uYXQuYwotKysrIGIvZ2RiL2dvMzItbmF0LmMKLUBAIC01MDcsNyArNTA3 LDggQEAgZ28zMl9uYXRfdGFyZ2V0Ojp3YWl0IChwdGlkX3QgcHRpZCwgc3RydWN0IHRhcmdldF93 YWl0c3RhdHVzICpzdGF0dXMsCi0gICAgIH0KLSAKLSAgIGdldGN3ZCAoY2hpbGRfY3dkLCBzaXpl b2YgKGNoaWxkX2N3ZCkpOyAvKiBpbiBjYXNlIGl0IGhhcyBjaGFuZ2VkICovCi0tICBjaGRpciAo Y3VycmVudF9kaXJlY3RvcnkpOwotKyAgaWYgKGN1cnJlbnRfZGlyZWN0b3J5ICE9IE5VTEwpCi0r ICAgIGNoZGlyIChjdXJyZW50X2RpcmVjdG9yeSk7Ci0gCi0gICBpZiAoYV90c3MudHNzX2lycW4g PT0gMHgyMSkKLSAgICAgewotZGlmZiAtLWdpdCBhL2dkYi9zb3VyY2UuYyBiL2dkYi9zb3VyY2Uu YwotLS0tIGEvZ2RiL3NvdXJjZS5jCi0rKysgYi9nZGIvc291cmNlLmMKLUBAIC01NDIsOCArNTQy LDcgQEAgYWRkX3BhdGggKGNvbnN0IGNoYXIgKmRpcm5hbWUsIGNoYXIgKip3aGljaF9wYXRoLCBp bnQgcGFyc2Vfc2VwYXJhdG9ycykKLSAJbmV3X25hbWVfaG9sZGVyLnJlc2V0IChjb25jYXQgKG5h bWUsICIuIiwgKGNoYXIgKikgTlVMTCkpOwotICNlbmRpZgotICAgICAgIGVsc2UgaWYgKCFJU19B QlNPTFVURV9QQVRIIChuYW1lKSAmJiBuYW1lWzBdICE9ICckJykKLS0JbmV3X25hbWVfaG9sZGVy LnJlc2V0IChjb25jYXQgKGN1cnJlbnRfZGlyZWN0b3J5LCBTTEFTSF9TVFJJTkcsIG5hbWUsCi0t CQkJCSAgICAgICAoY2hhciAqKSBOVUxMKSk7Ci0rCW5ld19uYW1lX2hvbGRlciA9IGdkYl9hYnNw YXRoIChuYW1lKTsKLSAgICAgICBlbHNlCi0gCW5ld19uYW1lX2hvbGRlci5yZXNldCAoc2F2ZXN0 cmluZyAobmFtZSwgcCAtIG5hbWUpKTsKLSAgICAgICBuYW1lID0gbmV3X25hbWVfaG9sZGVyLmdl dCAoKTsKLWRpZmYgLS1naXQgYS9nZGIvdG9wLmMgYi9nZGIvdG9wLmMKLS0tLSBhL2dkYi90b3Au YwotKysrIGIvZ2RiL3RvcC5jCi1AQCAtNTQsNiArNTQsNyBAQAotICNpbmNsdWRlICJnZGJfc2Vs ZWN0LmgiCi0gI2luY2x1ZGUgImdkYnN1cHBvcnQvc2NvcGUtZXhpdC5oIgotICNpbmNsdWRlICJn ZGJhcmNoLmgiCi0rI2luY2x1ZGUgImdkYnN1cHBvcnQvcGF0aHN0dWZmLmgiCi0gCi0gLyogcmVh ZGxpbmUgaW5jbHVkZSBmaWxlcy4gICovCi0gI2luY2x1ZGUgInJlYWRsaW5lL3JlYWRsaW5lLmgi Ci1AQCAtMjAyMCwxMiArMjAyMSwxMyBAQCBpbml0X2hpc3RvcnkgKHZvaWQpCi0gICAgICAgICAg dGhhdCB3YXMgcmVhZC4gICovCi0gI2lmZGVmIF9fTVNET1NfXwotICAgICAgIC8qIE5vIGxlYWRp bmcgZG90cyBpbiBmaWxlIG5hbWVzIGFyZSBhbGxvd2VkIG9uIE1TRE9TLiAgKi8KLS0gICAgICBo aXN0b3J5X2ZpbGVuYW1lID0gY29uY2F0IChjdXJyZW50X2RpcmVjdG9yeSwgIi9fZ2RiX2hpc3Rv cnkiLAotLQkJCQkgKGNoYXIgKilOVUxMKTsKLSsgICAgICBjb25zdCBjaGFyICpmbmFtZSA9ICJf Z2RiX2hpc3RvcnkiOwotICNlbHNlCi0tICAgICAgaGlzdG9yeV9maWxlbmFtZSA9IGNvbmNhdCAo Y3VycmVudF9kaXJlY3RvcnksICIvLmdkYl9oaXN0b3J5IiwKLS0JCQkJIChjaGFyICopTlVMTCk7 Ci0rICAgICAgY29uc3QgY2hhciAqZm5hbWUgPSAiLmdkYl9oaXN0b3J5IjsKLSAjZW5kaWYKLSsK LSsgICAgICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiB0ZW1wIChnZGJfYWJzcGF0aCAo Zm5hbWUpKTsKLSsgICAgICBoaXN0b3J5X2ZpbGVuYW1lID0gdGVtcC5yZWxlYXNlICgpOwotICAg ICB9Ci0gICByZWFkX2hpc3RvcnkgKGhpc3RvcnlfZmlsZW5hbWUpOwotIH0KLUBAIC0yMTAzLDgg KzIxMDUsMTIgQEAgc2V0X2hpc3RvcnlfZmlsZW5hbWUgKGNvbnN0IGNoYXIgKmFyZ3MsCi0gICAg ICBkaXJlY3RvcmllcyB0aGUgZmlsZSB3cml0dGVuIHdpbGwgYmUgdGhlIHNhbWUgYXMgdGhlIG9u ZQotICAgICAgdGhhdCB3YXMgcmVhZC4gICovCi0gICBpZiAoIUlTX0FCU09MVVRFX1BBVEggKGhp c3RvcnlfZmlsZW5hbWUpKQotLSAgICBoaXN0b3J5X2ZpbGVuYW1lID0gcmVjb25jYXQgKGhpc3Rv cnlfZmlsZW5hbWUsIGN1cnJlbnRfZGlyZWN0b3J5LCAiLyIsIAotLQkJCQkgaGlzdG9yeV9maWxl bmFtZSwgKGNoYXIgKikgTlVMTCk7Ci0rICAgIHsKLSsgICAgICBnZGI6OnVuaXF1ZV94bWFsbG9j X3B0cjxjaGFyPiB0ZW1wIChnZGJfYWJzcGF0aCAoaGlzdG9yeV9maWxlbmFtZSkpOwotKwotKyAg ICAgIHhmcmVlIChoaXN0b3J5X2ZpbGVuYW1lKTsKLSsgICAgICBoaXN0b3J5X2ZpbGVuYW1lID0g dGVtcC5yZWxlYXNlICgpOwotKyAgICB9Ci0gfQotIAotIHN0YXRpYyB2b2lkCi1kaWZmIC0tZ2l0 IGEvZ2RiL3RyYWNlZmlsZS10ZmlsZS5jIGIvZ2RiL3RyYWNlZmlsZS10ZmlsZS5jCi0tLS0gYS9n ZGIvdHJhY2VmaWxlLXRmaWxlLmMKLSsrKyBiL2dkYi90cmFjZWZpbGUtdGZpbGUuYwotQEAgLTMy LDYgKzMyLDcgQEAKLSAjaW5jbHVkZSAieG1sLXRkZXNjLmgiCi0gI2luY2x1ZGUgInRhcmdldC1k ZXNjcmlwdGlvbnMuaCIKLSAjaW5jbHVkZSAiZ2Ric3VwcG9ydC9idWZmZXIuaCIKLSsjaW5jbHVk ZSAiZ2Ric3VwcG9ydC9wYXRoc3R1ZmYuaCIKLSAjaW5jbHVkZSA8YWxnb3JpdGhtPgotIAotICNp Zm5kZWYgT19MQVJHRUZJTEUKLUBAIC00NzAsOCArNDcxLDcgQEAgdGZpbGVfdGFyZ2V0X29wZW4g KGNvbnN0IGNoYXIgKmFyZywgaW50IGZyb21fdHR5KQotIAotICAgZ2RiOjp1bmlxdWVfeG1hbGxv Y19wdHI8Y2hhcj4gZmlsZW5hbWUgKHRpbGRlX2V4cGFuZCAoYXJnKSk7Ci0gICBpZiAoIUlTX0FC U09MVVRFX1BBVEggKGZpbGVuYW1lLmdldCAoKSkpCi0tICAgIGZpbGVuYW1lLnJlc2V0IChjb25j YXQgKGN1cnJlbnRfZGlyZWN0b3J5LCAiLyIsIGZpbGVuYW1lLmdldCAoKSwKLS0JCQkgICAgKGNo YXIgKikgTlVMTCkpOwotKyAgICBmaWxlbmFtZSA9IGdkYl9hYnNwYXRoIChmaWxlbmFtZS5nZXQg KCkpOwotIAotICAgZmxhZ3MgPSBPX0JJTkFSWSB8IE9fTEFSR0VGSUxFOwotICAgZmxhZ3MgfD0g T19SRE9OTFk7CgpkaWZmIC0tZ2l0IGEvZ2RiLXJ1bnRlc3QtcGllLW92ZXJyaWRlLnBhdGNoIGIv Z2RiLXJ1bnRlc3QtcGllLW92ZXJyaWRlLnBhdGNoCmluZGV4IGNkMGNhMGMuLjI1YzJiYjggMTAw NjQ0Ci0tLSBhL2dkYi1ydW50ZXN0LXBpZS1vdmVycmlkZS5wYXRjaAorKysgYi9nZGItcnVudGVz dC1waWUtb3ZlcnJpZGUucGF0Y2gKQEAgLTI1LDcgKzI1LDcgQEAgYSBwcm9ibGVtIHdpdGggbWFr ZSAtaiBwYXJhbGxlbGl6YXRpb24gb2YgdGhlIHRlc3RzdWl0ZS4KIGRpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2xpYi9mdXR1cmUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZnV0dXJlLmV4cAog LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZnV0dXJlLmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9s aWIvZnV0dXJlLmV4cAotQEAgLTE5NSw2ICsxOTUsMTAgQEAgcHJvYyBnZGJfZGVmYXVsdF90YXJn ZXRfY29tcGlsZSB7c291cmNlIGRlc3RmaWxlIHR5cGUgb3B0aW9uc30geworQEAgLTE5Nyw2ICsx OTcsMTAgQEAgcHJvYyBnZGJfZGVmYXVsdF90YXJnZXRfY29tcGlsZV8xIHtzb3VyY2UgZGVzdGZp bGUgdHlwZSBvcHRpb25zfSB7CiAgICAgIHNldCBsZGZsYWdzICIiCiAgICAgIHNldCBkZXN0IFt0 YXJnZXRfaW5mbyBuYW1lXQogIApAQCAtMzYsNyArMzYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9saWIvZnV0dXJlLmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL2Z1dHVyZS5leHAKICAg ICAgaWYge1tpbmZvIGV4aXN0cyBDRkxBR1NfRk9SX1RBUkdFVF19IHsKICAJYXBwZW5kIGFkZF9m bGFncyAiICRDRkxBR1NfRk9SX1RBUkdFVCIKICAgICAgfQotQEAgLTUyOSwxMCArNTMzLDYgQEAg cHJvYyBnZGJfZGVmYXVsdF90YXJnZXRfY29tcGlsZSB7c291cmNlIGRlc3RmaWxlIHR5cGUgb3B0 aW9uc30geworQEAgLTUzMSwxMCArNTM1LDYgQEAgcHJvYyBnZGJfZGVmYXVsdF90YXJnZXRfY29t cGlsZV8xIHtzb3VyY2UgZGVzdGZpbGUgdHlwZSBvcHRpb25zfSB7CiAgCX0KICAgICAgfQogIAoK ZGlmZiAtLWdpdCBhL2dkYi12bGEtaW50ZWwtZml4LXByaW50LWNoYXItYXJyYXkucGF0Y2ggYi9n ZGItdmxhLWludGVsLWZpeC1wcmludC1jaGFyLWFycmF5LnBhdGNoCmluZGV4IGNlMjAzNWMuLjIw NTA4ZGEgMTAwNjQ0Ci0tLSBhL2dkYi12bGEtaW50ZWwtZml4LXByaW50LWNoYXItYXJyYXkucGF0 Y2gKKysrIGIvZ2RiLXZsYS1pbnRlbC1maXgtcHJpbnQtY2hhci1hcnJheS5wYXRjaApAQCAtMjIs MTUgKzIyLDEzIEBAIEFuZCBhZGp1c3QgaXRzIHRlc3RjYXNlLgogZGlmZiAtLWdpdCBhL2dkYi9m LXZhbHByaW50LmMgYi9nZGIvZi12YWxwcmludC5jCiAtLS0gYS9nZGIvZi12YWxwcmludC5jCiAr KysgYi9nZGIvZi12YWxwcmludC5jCi1AQCAtMzE5LDggKzMxOSwyMiBAQCBmX3ZhbF9wcmludCAo c3RydWN0IHR5cGUgKnR5cGUsIGludCBlbWJlZGRlZF9vZmZzZXQsCi0gCQkJCSAgICAgIG9yaWdp bmFsX3ZhbHVlLCAmb3B0cywgMCwgc3RyZWFtKTsKK0BAIC0zMTAsNyArMzEwLDIxIEBAIGZfdmFs dWVfcHJpbnRfaW5uZXIgKHN0cnVjdCB2YWx1ZSAqdmFsLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt LCBpbnQgcmVjdXJzZSwKKyAJICB2YWx1ZV9wcmludF9zY2FsYXJfZm9ybWF0dGVkICh2YWwsICZv cHRzLCAwLCBzdHJlYW0pOwogIAl9CiAgICAgICAgZWxzZQotLQl2YWxfcHJpbnRfc2NhbGFyX2Zv cm1hdHRlZCAodHlwZSwgZW1iZWRkZWRfb2Zmc2V0LAotLQkJCQkgICAgb3JpZ2luYWxfdmFsdWUs IG9wdGlvbnMsIDAsIHN0cmVhbSk7CistCXZhbHVlX3ByaW50X3NjYWxhcl9mb3JtYXR0ZWQgKHZh bCwgb3B0aW9ucywgMCwgc3RyZWFtKTsKICsJewotKwkgIHZhbF9wcmludF9zY2FsYXJfZm9ybWF0 dGVkICh0eXBlLCBlbWJlZGRlZF9vZmZzZXQsCi0rCQkJCSAgICAgIG9yaWdpbmFsX3ZhbHVlLCBv cHRpb25zLCAwLCBzdHJlYW0pOworKwkgIHZhbHVlX3ByaW50X3NjYWxhcl9mb3JtYXR0ZWQgKHZh bCwgb3B0aW9ucywgMCwgc3RyZWFtKTsKICsJICAvKiBDIGFuZCBDKysgaGFzIG5vIHNpbmdsZSBi eXRlIGludCB0eXBlLCBjaGFyIGlzIHVzZWQgaW5zdGVhZC4KICsJICAgICBTaW5jZSB3ZSBkb24n dCBrbm93IHdoZXRoZXIgdGhlIHZhbHVlIGlzIHJlYWxseSBpbnRlbmRlZCB0bwogKwkgICAgIGJl IHVzZWQgYXMgYW4gaW50ZWdlciBvciBhIGNoYXJhY3RlciwgcHJpbnQgdGhlIGNoYXJhY3RlcgpA QCAtNDAsNyArMzgsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2YtdmFscHJpbnQuYyBiL2dkYi9mLXZh bHByaW50LmMKICsJICAgICAgTE9OR0VTVCBjOwogKwogKwkgICAgICBmcHV0c19maWx0ZXJlZCAo IiAiLCBzdHJlYW0pOwotKwkgICAgICBjID0gdW5wYWNrX2xvbmcgKHR5cGUsIHZhbGFkZHIgKyBl bWJlZGRlZF9vZmZzZXQpOworKwkgICAgICBjID0gdW5wYWNrX2xvbmcgKHR5cGUsIHZhbGFkZHIp OwogKwkgICAgICBMQV9QUklOVF9DSEFSICgodW5zaWduZWQgY2hhcikgYywgdHlwZSwgc3RyZWFt KTsKICsJICAgIH0KICsJfQpAQCAtNTAsNyArNDgsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2YtdmFs cHJpbnQuYyBiL2dkYi9mLXZhbHByaW50LmMKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ByaW50aW5nLXR5cGVzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v cHJpbnRpbmctdHlwZXMuZXhwCiAtLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50 aW5nLXR5cGVzLmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludGluZy10 eXBlcy5leHAKLUBAIC0yOSw3ICsyOSw3IEBAIGlmIHshW3J1bnRvIE1BSU5fX119IHRoZW4gewor QEAgLTMwLDcgKzMwLDcgQEAgaWYgeyFbZm9ydHJhbl9ydW50b19tYWluXX0gdGhlbiB7CiAgZ2Ri X2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgIndyaXRlIl0KICBnZGJfY29udGludWVf dG9fYnJlYWtwb2ludCAid3JpdGUiCiAgCgpkaWZmIC0tZ2l0IGEvZ2RiLXZsYS1pbnRlbC1mb3J0 cmFuLXN0cmlkZXMucGF0Y2ggYi9nZGItdmxhLWludGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaApp bmRleCA0ZjQ2OGViLi4zMmY4YmRiIDEwMDY0NAotLS0gYS9nZGItdmxhLWludGVsLWZvcnRyYW4t c3RyaWRlcy5wYXRjaAorKysgYi9nZGItdmxhLWludGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaApA QCAtMzcsNyArMzcsNyBAQCBkYmZkNzE0MGJmNGMwNTAwZDFmNWQxOTJiZTc4MWY4M2Y3OGY3OTIy CiBkaWZmIC0tZ2l0IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFsLmMKIC0tLSBhL2dkYi9ldmFsLmMK ICsrKyBiL2dkYi9ldmFsLmMKLUBAIC0zNzIsMjkgKzM3MiwzMjQgQEAgaW5pdF9hcnJheV9lbGVt ZW50IChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBzdHJ1Y3QgdmFsdWUgKmVsZW1lbnQsCitAQCAtMzcx LDI5ICszNzEsMzIzIEBAIGluaXRfYXJyYXlfZWxlbWVudCAoc3RydWN0IHZhbHVlICphcnJheSwg c3RydWN0IHZhbHVlICplbGVtZW50LAogICAgcmV0dXJuIGluZGV4OwogIH0KICAKQEAgLTU2LDE2 ICs1NiwxNiBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFsLmMKICB7CiAtICBp bnQgcGMgPSAoKnBvcykgKyAxOwogLSAgTE9OR0VTVCBsb3dfYm91bmQsIGhpZ2hfYm91bmQ7Ci0t ICBzdHJ1Y3QgdHlwZSAqcmFuZ2UgPSBjaGVja190eXBlZGVmIChUWVBFX0lOREVYX1RZUEUgKHZh bHVlX3R5cGUgKGFycmF5KSkpOworLSAgc3RydWN0IHR5cGUgKnJhbmdlID0gY2hlY2tfdHlwZWRl ZiAodmFsdWVfdHlwZSAoYXJyYXkpLT5pbmRleF90eXBlICgpKTsKIC0gIGVudW0gcmFuZ2VfdHlw ZSByYW5nZV90eXBlCiAtICAgID0gKGVudW0gcmFuZ2VfdHlwZSkgbG9uZ2VzdF90b19pbnQgKGV4 cC0+ZWx0c1twY10ubG9uZ2NvbnN0KTsKIC0gCiAtICAqcG9zICs9IDM7CiAtCiAtICBpZiAocmFu Z2VfdHlwZSA9PSBMT1dfQk9VTkRfREVGQVVMVCB8fCByYW5nZV90eXBlID09IEJPVEhfQk9VTkRf REVGQVVMVCkKLS0gICAgbG93X2JvdW5kID0gVFlQRV9MT1dfQk9VTkQgKHJhbmdlKTsKKy0gICAg bG93X2JvdW5kID0gcmFuZ2UtPmJvdW5kcyAoKS0+bG93LmNvbnN0X3ZhbCAoKTsKIC0gIGVsc2UK LS0gICAgbG93X2JvdW5kID0gdmFsdWVfYXNfbG9uZyAoZXZhbHVhdGVfc3ViZXhwIChOVUxMX1RZ UEUsIGV4cCwgcG9zLCBub3NpZGUpKTsKKy0gICAgbG93X2JvdW5kID0gdmFsdWVfYXNfbG9uZyAo ZXZhbHVhdGVfc3ViZXhwIChudWxscHRyLCBleHAsIHBvcywgbm9zaWRlKSk7CiArICBpbnQgaSwg ZGltX2NvdW50ID0gMDsKICsgIHN0cnVjdCB2YWx1ZSAqbmV3X2FycmF5ID0gYXJyYXk7CiArICBz dHJ1Y3QgdHlwZSAqYXJyYXlfdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKG5ld19h cnJheSkpOwpAQCAtMTM5LDE2ICsxMzksMTYgQEAgZGlmZiAtLWdpdCBhL2dkYi9ldmFsLmMgYi9n ZGIvZXZhbC5jCiArCSAgICAgdXBwZXIgYm91bmQuICAqLwogKwkgIGlmICgocmFuZ2UtPmY5MF9y YW5nZV90eXBlICYgU1VCQVJSQVlfTE9XX0JPVU5EKQogKwkgICAgICA9PSBTVUJBUlJBWV9MT1df Qk9VTkQpCi0rCSAgICByYW5nZS0+bG93ID0gdmFsdWVfYXNfbG9uZyAoZXZhbHVhdGVfc3ViZXhw IChOVUxMX1RZUEUsIGV4cCwKKysJICAgIHJhbmdlLT5sb3cgPSB2YWx1ZV9hc19sb25nIChldmFs dWF0ZV9zdWJleHAgKG51bGxwdHIsIGV4cCwKICsJCQkJCQkJIHBvcywgbm9zaWRlKSk7CiArCSAg aWYgKChyYW5nZS0+ZjkwX3JhbmdlX3R5cGUgJiBTVUJBUlJBWV9ISUdIX0JPVU5EKQogKwkgICAg ICA9PSBTVUJBUlJBWV9ISUdIX0JPVU5EKQotKwkgICAgcmFuZ2UtPmhpZ2ggPSB2YWx1ZV9hc19s b25nIChldmFsdWF0ZV9zdWJleHAgKE5VTExfVFlQRSwgZXhwLAorKwkgICAgcmFuZ2UtPmhpZ2gg PSB2YWx1ZV9hc19sb25nIChldmFsdWF0ZV9zdWJleHAgKG51bGxwdHIsIGV4cCwKICsJCQkJCQkJ ICBwb3MsIG5vc2lkZSkpOwogKwogKwkgIC8qIEFzc2lnbiB0aGUgdXNlcidzIHN0cmlkZSB2YWx1 ZSBpZiBwcm92aWRlZC4gICovCiArCSAgaWYgKChyYW5nZS0+ZjkwX3JhbmdlX3R5cGUgJiBTVUJB UlJBWV9TVFJJREUpID09IFNVQkFSUkFZX1NUUklERSkKLSsJICAgIHJhbmdlLT5zdHJpZGUgPSB2 YWx1ZV9hc19sb25nIChldmFsdWF0ZV9zdWJleHAgKE5VTExfVFlQRSwgZXhwLAorKwkgICAgcmFu Z2UtPnN0cmlkZSA9IHZhbHVlX2FzX2xvbmcgKGV2YWx1YXRlX3N1YmV4cCAobnVsbHB0ciwgZXhw LAogKwkJCQkJCQkgICAgIHBvcywgbm9zaWRlKSk7CiArCiArCSAgLyogQXNzaWduIHRoZSBkZWZh dWx0IHN0cmlkZSB2YWx1ZSAnMScuICAqLwpAQCAtMTU2LDkgKzE1Niw5IEBAIGRpZmYgLS1naXQg YS9nZGIvZXZhbC5jIGIvZ2RiL2V2YWwuYwogKwkgICAgcmFuZ2UtPnN0cmlkZSA9IDE7CiAgCiAt ICBpZiAocmFuZ2VfdHlwZSA9PSBISUdIX0JPVU5EX0RFRkFVTFQgfHwgcmFuZ2VfdHlwZSA9PSBC T1RIX0JPVU5EX0RFRkFVTFQpCi0tICAgIGhpZ2hfYm91bmQgPSBUWVBFX0hJR0hfQk9VTkQgKHJh bmdlKTsKKy0gICAgaGlnaF9ib3VuZCA9IHJhbmdlLT5ib3VuZHMgKCktPmhpZ2guY29uc3RfdmFs ICgpOwogLSAgZWxzZQotLSAgICBoaWdoX2JvdW5kID0gdmFsdWVfYXNfbG9uZyAoZXZhbHVhdGVf c3ViZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9zLCBub3NpZGUpKTsKKy0gICAgaGlnaF9ib3VuZCA9 IHZhbHVlX2FzX2xvbmcgKGV2YWx1YXRlX3N1YmV4cCAobnVsbHB0ciwgZXhwLCBwb3MsIG5vc2lk ZSkpOwogKwkgIC8qIENoZWNrIHRoZSBwcm92aWRlZCBzdHJpZGUgdmFsdWUgaXMgaWxsZWdhbCwg YWthICcwJy4gICovCiArCSAgaWYgKHJhbmdlLT5zdHJpZGUgPT0gMCkKICsJICAgIGVycm9yIChf KCJTdHJpZGUgbXVzdCBub3QgYmUgMCIpKTsKQEAgLTE4Myw3ICsxODMsNyBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFsLmMKICsgIGZvciAoaSA9IG5hcmdzIC0gMTsgaSA+PSAw OyBpLS0pCiArICAgIHsKICsgICAgICBzdHJ1Y3Qgc3Vic2NyaXB0X3N0b3JlICppbmRleCA9ICZz dWJzY3JpcHRfYXJyYXlbaV07Ci0rICAgICAgc3RydWN0IHR5cGUgKmluZGV4X3R5cGUgPSBUWVBF X0lOREVYX1RZUEUgKGFycmF5X3R5cGUpOworKyAgICAgIHN0cnVjdCB0eXBlICppbmRleF90eXBl ID0gYXJyYXlfdHlwZS0+aW5kZXhfdHlwZSAoKTsKICsKICsgICAgICBzd2l0Y2ggKGluZGV4LT5r aW5kKQogKwl7CkBAIC0xOTksMTcgKzE5OSwxNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V2YWwuYyBi L2dkYi9ldmFsLmMKICsJICAgIC8qIElmIG5vIGxvd2VyIGJvdW5kIHdhcyBwcm92aWRlZCBieSB0 aGUgdXNlciwgd2UgdGFrZSB0aGUKICsJICAgICAgIGRlZmF1bHQgYm91bmRhcnkuICBTYW1lIGZv ciB0aGUgaGlnaCBib3VuZC4gICovCiArCSAgICBpZiAoKHJhbmdlLT5mOTBfcmFuZ2VfdHlwZSAm IFNVQkFSUkFZX0xPV19CT1VORCkgPT0gMCkKLSsJICAgICAgcmFuZ2UtPmxvdyA9IFRZUEVfTE9X X0JPVU5EIChpbmRleF90eXBlKTsKKysJICAgICAgcmFuZ2UtPmxvdyA9IGluZGV4X3R5cGUtPmJv dW5kcyAoKS0+bG93LmNvbnN0X3ZhbCAoKTsKICsKICsJICAgIGlmICgocmFuZ2UtPmY5MF9yYW5n ZV90eXBlICYgU1VCQVJSQVlfSElHSF9CT1VORCkgPT0gMCkKLSsJICAgICAgcmFuZ2UtPmhpZ2gg PSBUWVBFX0hJR0hfQk9VTkQgKGluZGV4X3R5cGUpOworKwkgICAgICByYW5nZS0+aGlnaCA9IGlu ZGV4X3R5cGUtPmJvdW5kcyAoKS0+aGlnaC5jb25zdF92YWwgKCk7CiArCiArCSAgICAvKiBCb3Ro IHVzZXIgcHJvdmlkZWQgbG93IGFuZCBoaWdoIGJvdW5kIGhhdmUgdG8gYmUgaW5zaWRlIHRoZQog KwkgICAgICAgYXJyYXkgYm91bmRzLiAgVGhyb3cgYW4gZXJyb3IgaWYgbm90LiAgKi8KLSsJICAg IGlmIChyYW5nZS0+bG93IDwgVFlQRV9MT1dfQk9VTkQgKGluZGV4X3R5cGUpCi0rCQl8fCByYW5n ZS0+bG93ID4gVFlQRV9ISUdIX0JPVU5EIChpbmRleF90eXBlKQotKwkJfHwgcmFuZ2UtPmhpZ2gg PCBUWVBFX0xPV19CT1VORCAoaW5kZXhfdHlwZSkKLSsJCXx8IHJhbmdlLT5oaWdoID4gVFlQRV9I SUdIX0JPVU5EIChpbmRleF90eXBlKSkKKysJICAgIGlmIChyYW5nZS0+bG93IDwgaW5kZXhfdHlw ZS0+Ym91bmRzICgpLT5sb3cuY29uc3RfdmFsICgpCisrCQl8fCByYW5nZS0+bG93ID4gaW5kZXhf dHlwZS0+Ym91bmRzICgpLT5oaWdoLmNvbnN0X3ZhbCAoKQorKwkJfHwgcmFuZ2UtPmhpZ2ggPCBp bmRleF90eXBlLT5ib3VuZHMgKCktPmxvdy5jb25zdF92YWwgKCkKKysJCXx8IHJhbmdlLT5oaWdo ID4gaW5kZXhfdHlwZS0+Ym91bmRzICgpLT5oaWdoLmNvbnN0X3ZhbCAoKSkKICsJICAgICAgZXJy b3IgKF8oInByb3ZpZGVkIGJvdW5kKHMpIG91dHNpZGUgYXJyYXkgYm91bmQocykiKSk7CiArCiAr CSAgICAvKiBGb3IgYSBuZWdhdGl2ZSBzdHJpZGUgdGhlIGxvd2VyIGJvdW5kYXJ5IG11c3QgYmUg bGFyZ2VyIHRoYW4gdGhlCkBAIC0yNDEsNyArMjQxLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9ldmFs LmMgYi9nZGIvZXZhbC5jCiArICBmb3IgKGkgPSBuYXJncyAtIDE7IGkgPj0gMDsgaS0tKQogKyAg ICB7CiArICAgICAgc3RydWN0IHN1YnNjcmlwdF9zdG9yZSAqaW5kZXggPSAmc3Vic2NyaXB0X2Fy cmF5W2ldOwotKyAgICAgIHN0cnVjdCB0eXBlICppbmRleF90eXBlID0gVFlQRV9JTkRFWF9UWVBF IChhcnJheV90eXBlKTsKKysgICAgICBzdHJ1Y3QgdHlwZSAqaW5kZXhfdHlwZSA9IGFycmF5X3R5 cGUtPmluZGV4X3R5cGUgKCk7CiArCiArICAgICAgc3dpdGNoIChpbmRleC0+a2luZCkKICsJewpA QCAtMjg5LDEyICsyODksMTIgQEAgZGlmZiAtLWdpdCBhL2dkYi9ldmFsLmMgYi9nZGIvZXZhbC5j CiArCQkgICBjYW5ub3QgZG8gdGhlIHJhbmdlIGNoZWNrcyBmb3IgdXMuIFNvIHdlIGhhdmUgdG8g bWFrZSBzdXJlCiArCQkgICBvdXJzZWx2ZXMgdGhhdCB0aGUgdXNlciBwcm92aWRlZCBpbmRleCBp cyBpbnNpZGUgdGhlCiArCQkgICBhcnJheSBib3VuZHMuICBUaHJvdyBhbiBlcnJvciBpZiBub3Qu ICAqLwotKwkJaWYgKGluZGV4LT5VLm51bWJlciA8IFRZUEVfTE9XX0JPVU5EIChpbmRleF90eXBl KQotKwkJICAgICYmIGluZGV4LT5VLm51bWJlciA+IFRZUEVfSElHSF9CT1VORCAoaW5kZXhfdHlw ZSkpCisrCQlpZiAoaW5kZXgtPlUubnVtYmVyIDwgaW5kZXhfdHlwZS0+Ym91bmRzICgpLT5sb3cu Y29uc3RfdmFsICgpCisrCQkgICAgJiYgaW5kZXgtPlUubnVtYmVyID4gaW5kZXhfdHlwZS0+Ym91 bmRzICgpLT5oaWdoLmNvbnN0X3ZhbCAoKSkKICsJCSAgZXJyb3IgKF8oInByb3ZpZGVkIGJvdW5k KHMpIG91dHNpZGUgYXJyYXkgYm91bmQocykiKSk7CiArCi0rCQlpZiAoaW5kZXgtPlUubnVtYmVy ID4gVFlQRV9MT1dfQk9VTkQgKGluZGV4X3R5cGUpCi0rCQkgICAgJiYgaW5kZXgtPlUubnVtYmVy ID4gVFlQRV9ISUdIX0JPVU5EIChpbmRleF90eXBlKSkKKysJCWlmIChpbmRleC0+VS5udW1iZXIg PiBpbmRleF90eXBlLT5ib3VuZHMgKCktPmxvdy5jb25zdF92YWwgKCkKKysJCSAgICAmJiBpbmRl eC0+VS5udW1iZXIgPiBpbmRleF90eXBlLT5ib3VuZHMgKCktPmhpZ2guY29uc3RfdmFsICgpKQog KwkJICBlcnJvciAoXygicHJvdmlkZWQgYm91bmQocykgb3V0c2lkZSBhcnJheSBib3VuZChzKSIp KTsKICsKICsJCW5ld19hcnJheSA9IHZhbHVlX3NsaWNlXzEgKG5ld19hcnJheSwKQEAgLTM2NCw4 ICszNjQsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFsLmMKICsJCQkJCQkg ICAgICBlbHRfdHlwZSwKICsJCQkJCQkgICAgICByYW5nZV90eXBlKTsKICsKLSsJICAgICAgVFlQ RV9DT0RFIChpbnRlcmltX2FycmF5X3R5cGUpCi0rCQk9IFRZUEVfQ09ERSAodmFsdWVfdHlwZSAo bmV3X2FycmF5KSk7CisrCSAgICAgIGludGVyaW1fYXJyYXlfdHlwZS0+c2V0X2NvZGUgKCB2YWx1 ZV90eXBlIChuZXdfYXJyYXkpLT5jb2RlICgpKTsKICsKICsJICAgICAgdiA9IGFsbG9jYXRlX3Zh bHVlIChpbnRlcmltX2FycmF5X3R5cGUpOwogKwpAQCAtMzgxLDcgKzM4MCw3IEBAIGRpZmYgLS1n aXQgYS9nZGIvZXZhbC5jIGIvZ2RiL2V2YWwuYwogIH0KICAKICAKLUBAIC0xMjM1LDE5ICsxNTMw LDYgQEAgZXZhbHVhdGVfZnVuY2FsbCAodHlwZSAqZXhwZWN0X3R5cGUsIGV4cHJlc3Npb24gKmV4 cCwgaW50ICpwb3MsCitAQCAtMTIzMywxOSArMTUyNyw2IEBAIGV2YWx1YXRlX2Z1bmNhbGwgKHR5 cGUgKmV4cGVjdF90eXBlLCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLAogICAgcmV0dXJuIGV2 YWxfY2FsbCAoZXhwLCBub3NpZGUsIG5hcmdzLCBhcmd2ZWMsIHZhcl9mdW5jX25hbWUsIGV4cGVj dF90eXBlKTsKICB9CiAgCkBAIC0zOTUsMTMgKzM5NCwxMyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V2 YWwuYyBiL2dkYi9ldmFsLmMKIC0JCQkgICBlbnVtIG5vc2lkZSBub3NpZGUpCiAtewogLSAgZm9y IChpbnQgaSA9IDA7IGkgPCBuYXJnczsgKytpKQotLSAgICBldmFsdWF0ZV9zdWJleHAgKE5VTExf VFlQRSwgZXhwLCBwb3MsIG5vc2lkZSk7CistICAgIGV2YWx1YXRlX3N1YmV4cCAobnVsbHB0ciwg ZXhwLCBwb3MsIG5vc2lkZSk7CiAtfQogLQotIHN0cnVjdCB2YWx1ZSAqCi0gZXZhbHVhdGVfc3Vi ZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCi0gCQkJICBzdHJ1Y3QgZXhw cmVzc2lvbiAqZXhwLCBpbnQgKnBvcywKLUBAIC0xOTQyLDMzICsyMjI0LDggQEAgZXZhbHVhdGVf c3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCisgLyogUmV0dXJuIHRy dWUgaWYgdHlwZSBpcyBpbnRlZ3JhbCBvciByZWZlcmVuY2UgdG8gaW50ZWdyYWwgKi8KKyAKKyBz dGF0aWMgYm9vbAorQEAgLTE5NTMsMzMgKzIyMzQsOCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRh cmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKICAgICAgICBzd2l0Y2ggKGNvZGUpCiAgCXsK ICAJY2FzZSBUWVBFX0NPREVfQVJSQVk6CkBAIC00MzYsNyArNDM1LDcgQEAgZGlmZiAtLWdpdCBh L2dkYi9ldmFsLmMgYi9nZGIvZXZhbC5jCiAgCiAgCWNhc2UgVFlQRV9DT0RFX1BUUjoKICAJY2Fz ZSBUWVBFX0NPREVfRlVOQzoKLUBAIC0yMzg4LDQ5ICsyNjQ1LDYgQEAgZXZhbHVhdGVfc3ViZXhw X3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCitAQCAtMjQwMCw0OSArMjY1Niw2 IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAog IAl9CiAgICAgICAgcmV0dXJuIChhcmcxKTsKICAKQEAgLTQ4NCwyMiArNDgzLDIyIEBAIGRpZmYg LS1naXQgYS9nZGIvZXZhbC5jIGIvZ2RiL2V2YWwuYwogLSAgICAgIH0KIC0KICAgICAgY2FzZSBC SU5PUF9MT0dJQ0FMX0FORDoKLSAgICAgICBhcmcxID0gZXZhbHVhdGVfc3ViZXhwIChOVUxMX1RZ UEUsIGV4cCwgcG9zLCBub3NpZGUpOworICAgICAgIGFyZzEgPSBldmFsdWF0ZV9zdWJleHAgKG51 bGxwdHIsIGV4cCwgcG9zLCBub3NpZGUpOwogICAgICAgIGlmIChub3NpZGUgPT0gRVZBTF9TS0lQ KQotQEAgLTMzNTAsNiArMzU2NCw5IEBAIGNhbGNfZjc3X2FycmF5X2RpbXMgKHN0cnVjdCB0eXBl ICphcnJheV90eXBlKQorQEAgLTMzNjAsNiArMzU3Myw5IEBAIGNhbGNfZjc3X2FycmF5X2RpbXMg KHN0cnVjdCB0eXBlICphcnJheV90eXBlKQogICAgaW50IG5kaW1lbiA9IDE7CiAgICBzdHJ1Y3Qg dHlwZSAqdG1wX3R5cGU7CiAgCi0rICBpZiAoVFlQRV9DT0RFIChhcnJheV90eXBlKSA9PSBUWVBF X0NPREVfU1RSSU5HKQorKyAgaWYgKGFycmF5X3R5cGUtPmNvZGUgKCkgPT0gVFlQRV9DT0RFX1NU UklORykKICsgICAgcmV0dXJuIDE7CiArCi0gICBpZiAoKFRZUEVfQ09ERSAoYXJyYXlfdHlwZSkg IT0gVFlQRV9DT0RFX0FSUkFZKSkKKyAgIGlmICgoYXJyYXlfdHlwZS0+Y29kZSAoKSAhPSBUWVBF X0NPREVfQVJSQVkpKQogICAgICBlcnJvciAoXygiQ2FuJ3QgZ2V0IGRpbWVuc2lvbnMgZm9yIGEg bm9uLWFycmF5IHR5cGUiKSk7CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2V4cHByaW50LmMgYi9nZGIv ZXhwcHJpbnQuYwogLS0tIGEvZ2RiL2V4cHByaW50LmMKICsrKyBiL2dkYi9leHBwcmludC5jCi1A QCAtNTgwLDE3ICs1ODAsMTQgQEAgcHJpbnRfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgZXhwcmVz c2lvbiAqZXhwLCBpbnQgKnBvcywKK0BAIC01NzYsMTcgKzU3NiwxNCBAQCBwcmludF9zdWJleHBf c3RhbmRhcmQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLAogIAkgIGxvbmdlc3Rf dG9faW50IChleHAtPmVsdHNbcGMgKyAxXS5sb25nY29uc3QpOwogIAkqcG9zICs9IDI7CiAgCkBA IC01MjEsNyArNTIwLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9leHBwcmludC5jIGIvZ2RiL2V4cHBy aW50LmMKICAJICBwcmludF9zdWJleHAgKGV4cCwgcG9zLCBzdHJlYW0sIFBSRUNfQUJPVkVfQ09N TUEpOwogIAlmcHV0c19maWx0ZXJlZCAoIikiLCBzdHJlYW0pOwogIAlyZXR1cm47Ci1AQCAtMTEw NywyMiArMTEwNCwyNCBAQCBkdW1wX3N1YmV4cF9ib2R5X3N0YW5kYXJkIChzdHJ1Y3QgZXhwcmVz c2lvbiAqZXhwLAorQEAgLTExMDMsMjIgKzExMDAsMjQgQEAgZHVtcF9zdWJleHBfYm9keV9zdGFu ZGFyZCAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwKICAKICAJc3dpdGNoIChyYW5nZV90eXBlKQog IAkgIHsKQEAgLTU1NCw3ICs1NTMsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V4cHByaW50LmMgYi9n ZGIvZXhwcHJpbnQuYwogIAkgICAgZnB1dHNfZmlsdGVyZWQgKCJFeGNsdXNpdmVSYW5nZSAnRVhQ Li5FWFAnIiwgc3RyZWFtKTsKICAJICAgIGJyZWFrOwogIAkgIGRlZmF1bHQ6Ci1AQCAtMTEzMCwx MSArMTEyOSw5IEBAIGR1bXBfc3ViZXhwX2JvZHlfc3RhbmRhcmQgKHN0cnVjdCBleHByZXNzaW9u ICpleHAsCitAQCAtMTEyNiwxMSArMTEyNSw5IEBAIGR1bXBfc3ViZXhwX2JvZHlfc3RhbmRhcmQg KHN0cnVjdCBleHByZXNzaW9uICpleHAsCiAgCSAgICBicmVhazsKICAJICB9CiAgCkBAIC03MTAs MTggKzcwOSw5IEBAIGRpZmYgLS1naXQgYS9nZGIvZi12YWxwcmludC5jIGIvZ2RiL2YtdmFscHJp bnQuYwogZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5jIGIvZ2RiL2dkYnR5cGVzLmMKIC0tLSBh L2dkYi9nZGJ0eXBlcy5jCiArKysgYi9nZGIvZ2RidHlwZXMuYwotQEAgLTkzNiw3ICs5MzYsNyBA QCBjcmVhdGVfcmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90eXBlLCBzdHJ1Y3QgdHlw ZSAqaW5kZXhfdHlwZSwKLSAgIFRZUEVfUkFOR0VfREFUQSAocmVzdWx0X3R5cGUpLT5oaWdoID0g KmhpZ2hfYm91bmQ7Ci0gICBUWVBFX1JBTkdFX0RBVEEgKHJlc3VsdF90eXBlKS0+YmlhcyA9IGJp YXM7Ci0gCi0tICAvKiBJbml0aWFsaXplIHRoZSBzdHJpZGUgdG8gYmUgYSBjb25zdGFudCwgdGhl IHZhbHVlIHdpbGwgYWxyZWFkeSBiZSB6ZXJvCi0rICAvKiBiaWFzIHRoZSBzdHJpZGUgdG8gYmUg YSBjb25zdGFudCwgdGhlIHZhbHVlIHdpbGwgYWxyZWFkeSBiZSB6ZXJvCi0gICAgICB0aGFua3Mg dG8gdGhlIHVzZSBvZiBUWVBFX1pBTExPQyBhYm92ZS4gICovCi0gICBUWVBFX1JBTkdFX0RBVEEg KHJlc3VsdF90eXBlKS0+c3RyaWRlLmtpbmQgPSBQUk9QX0NPTlNUOwotIAotQEAgLTEwMDEsNyAr MTAwMSw4IEBAIGNyZWF0ZV9zdGF0aWNfcmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90 eXBlLCBzdHJ1Y3QgdHlwZSAqaW5kZXhfdHlwZSwKLSAgIGhpZ2gua2luZCA9IFBST1BfQ09OU1Q7 Ci0gICBoaWdoLmRhdGEuY29uc3RfdmFsID0gaGlnaF9ib3VuZDsKK0BAIC0xMDA2LDcgKzEwMDYs OCBAQCBjcmVhdGVfc3RhdGljX3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBlICpyZXN1bHRfdHlwZSwg c3RydWN0IHR5cGUgKmluZGV4X3R5cGUsCisgICBsb3cuc2V0X2NvbnN0X3ZhbCAobG93X2JvdW5k KTsKKyAgIGhpZ2guc2V0X2NvbnN0X3ZhbCAoaGlnaF9ib3VuZCk7CiAgCiAtICByZXN1bHRfdHlw ZSA9IGNyZWF0ZV9yYW5nZV90eXBlIChyZXN1bHRfdHlwZSwgaW5kZXhfdHlwZSwgJmxvdywgJmhp Z2gsIDApOwogKyAgcmVzdWx0X3R5cGUgPSBjcmVhdGVfcmFuZ2VfdHlwZSAocmVzdWx0X3R5cGUs IGluZGV4X3R5cGUsCkBAIC03MjksMjkgKzcxOSwxMyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5 cGVzLmMgYi9nZGIvZ2RidHlwZXMuYwogIAogICAgcmV0dXJuIHJlc3VsdF90eXBlOwogIH0KLUBA IC0xMjM2LDYgKzEyMzcsNyBAQCBjcmVhdGVfYXJyYXlfdHlwZV93aXRoX3N0cmlkZSAoc3RydWN0 IHR5cGUgKnJlc3VsdF90eXBlLAotICAgICAgIGlmIChnZXRfZGlzY3JldGVfYm91bmRzIChyYW5n ZV90eXBlLCAmbG93X2JvdW5kLCAmaGlnaF9ib3VuZCkgPCAwKQotIAlsb3dfYm91bmQgPSBoaWdo X2JvdW5kID0gMDsKLSAgICAgICBlbGVtZW50X3R5cGUgPSBjaGVja190eXBlZGVmIChlbGVtZW50 X3R5cGUpOwotKwotICAgICAgIC8qIEJlIGNhcmVmdWwgd2hlbiBzZXR0aW5nIHRoZSBhcnJheSBs ZW5ndGguICBBZGEgYXJyYXlzIGNhbiBiZQotIAkgZW1wdHkgYXJyYXlzIHdpdGggdGhlIGhpZ2hf Ym91bmQgYmVpbmcgc21hbGxlciB0aGFuIHRoZSBsb3dfYm91bmQuCi0gCSBJbiBzdWNoIGNhc2Vz LCB0aGUgYXJyYXkgbGVuZ3RoIHNob3VsZCBiZSB6ZXJvLiAgKi8KIGRpZmYgLS1naXQgYS9nZGIv Z2RidHlwZXMuaCBiL2dkYi9nZGJ0eXBlcy5oCiAtLS0gYS9nZGIvZ2RidHlwZXMuaAogKysrIGIv Z2RiL2dkYnR5cGVzLmgKLUBAIC04MDMsNyArODAzLDYgQEAgc3RydWN0IG1haW5fdHlwZQotICAg ICAvKiAqIFVuaW9uIG1lbWJlciB1c2VkIGZvciByYW5nZSB0eXBlcy4gICovCitAQCAtMTYxNSw2 ICsxNjE1LDE1IEBAIGV4dGVybiB1bnNpZ25lZCB0eXBlX2FsaWduIChzdHJ1Y3QgdHlwZSAqKTsK KyAgICBzcGFjZSBpbiBzdHJ1Y3QgdHlwZS4gICovCisgZXh0ZXJuIGJvb2wgc2V0X3R5cGVfYWxp Z24gKHN0cnVjdCB0eXBlICosIFVMT05HRVNUKTsKICAKLSAgICAgc3RydWN0IHJhbmdlX2JvdW5k cyAqYm91bmRzOwotLQotICAgfSBmbGRzX2JuZHM7Ci0gCi0gICAvKiAqIFNsb3QgdG8gcG9pbnQg dG8gYWRkaXRpb25hbCBsYW5ndWFnZS1zcGVjaWZpYyBmaWVsZHMgb2YgdGhpcwotQEAgLTEzNjUs NiArMTM2NCwxNSBAQCBleHRlcm4gYm9vbCBzZXRfdHlwZV9hbGlnbiAoc3RydWN0IHR5cGUgKiwg VUxPTkdFU1QpOwotICNkZWZpbmUgVFlQRV9CSVRfU1RSSURFKHJhbmdlX3R5cGUpIFwKLSAgIChU WVBFX1JBTkdFX0RBVEEocmFuZ2VfdHlwZSktPnN0cmlkZS5kYXRhLmNvbnN0X3ZhbCBcCi0gICAg KiAoVFlQRV9SQU5HRV9EQVRBKHJhbmdlX3R5cGUpLT5mbGFnX2lzX2J5dGVfc3RyaWRlID8gOCA6 IDEpKQogKyNkZWZpbmUgVFlQRV9CWVRFX1NUUklERShyYW5nZV90eXBlKSBcCiArICBUWVBFX1JB TkdFX0RBVEEocmFuZ2VfdHlwZSktPnN0cmlkZS5kYXRhLmNvbnN0X3ZhbAogKyNkZWZpbmUgVFlQ RV9CWVRFX1NUUklERV9CTE9DSyhyYW5nZV90eXBlKSBcCkBAIC03NjEsMTkgKzczNSwzNiBAQCBk aWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmggYi9nZGIvZ2RidHlwZXMuaAogKyNkZWZpbmUgVFlQ RV9CWVRFX1NUUklERV9LSU5EKHJhbmdlX3R5cGUpIFwKICsgIFRZUEVfUkFOR0VfREFUQShyYW5n ZV90eXBlKS0+c3RyaWRlLmtpbmQKICsKLSAKICAvKiBQcm9wZXJ0eSBhY2Nlc3NvcnMgZm9yIHRo ZSB0eXBlIGRhdGEgbG9jYXRpb24uICAqLwogICNkZWZpbmUgVFlQRV9EQVRBX0xPQ0FUSU9OKHRo aXN0eXBlKSBcCi1AQCAtMTQwMCw2ICsxNDA4LDkgQEAgZXh0ZXJuIGJvb2wgc2V0X3R5cGVfYWxp Z24gKHN0cnVjdCB0eXBlICosIFVMT05HRVNUKTsKLSAgICBUWVBFX0hJR0hfQk9VTkRfVU5ERUZJ TkVEKFRZUEVfSU5ERVhfVFlQRShhcnJheXR5cGUpKQotICNkZWZpbmUgVFlQRV9BUlJBWV9MT1dF Ul9CT1VORF9JU19VTkRFRklORUQoYXJyYXl0eXBlKSBcCi0gICAgVFlQRV9MT1dfQk9VTkRfVU5E RUZJTkVEKFRZUEVfSU5ERVhfVFlQRShhcnJheXR5cGUpKQorICAgKCh0aGlzdHlwZSktPmR5bl9w cm9wIChEWU5fUFJPUF9EQVRBX0xPQ0FUSU9OKSkKK0BAIC0xNjMzLDYgKzE2NDIsMjYgQEAgZXh0 ZXJuIGJvb2wgc2V0X3R5cGVfYWxpZ24gKHN0cnVjdCB0eXBlICosIFVMT05HRVNUKTsKKyAjZGVm aW5lIFRZUEVfQVNTT0NJQVRFRF9QUk9QKHRoaXN0eXBlKSBcCisgICAoKHRoaXN0eXBlKS0+ZHlu X3Byb3AgKERZTl9QUk9QX0FTU09DSUFURUQpKQorIAorKy8qIEFjY2Vzc29ycyBmb3Igc3RydWN0 IHJhbmdlX2JvdW5kcyBkYXRhIGF0dGFjaGVkIHRvIGFuIGFycmF5IHR5cGUncworKyAgIGluZGV4 IHR5cGUuICAqLworKworKyNkZWZpbmUgVFlQRV9BUlJBWV9VUFBFUl9CT1VORF9JU19VTkRFRklO RUQoYXJyYXl0eXBlKSBcCisrICAgKChhcnJheXR5cGUpLT5pbmRleF90eXBlICgpLT5ib3VuZHMg KCktPmhpZ2gua2luZCAoKSA9PSBQUk9QX1VOREVGSU5FRCkKKysjZGVmaW5lIFRZUEVfQVJSQVlf TE9XRVJfQk9VTkRfSVNfVU5ERUZJTkVEKGFycmF5dHlwZSkgXAorKyAgIChhcnJheXR5cGUtPmlu ZGV4X3R5cGUgKCktPmJvdW5kcyAoKS5sb3cua2luZCAoKSA9PSBQUk9QX1VOREVGSU5FRCkKICsj ZGVmaW5lIFRZUEVfQVJSQVlfU1RSSURFX0lTX1VOREVGSU5FRChhcnJheXR5cGUpIFwKLSsgICAo VFlQRV9CWVRFX1NUUklERShUWVBFX0lOREVYX1RZUEUoYXJyYXl0eXBlKSkgPT0gMCkKKysgICAo VFlQRV9CWVRFX1NUUklERShhcnJheXR5cGUtPmluZGV4X3R5cGUgKCkpID09IDApCisrCisrCisr I2RlZmluZSBUWVBFX0FSUkFZX1VQUEVSX0JPVU5EX1ZBTFVFKGFycmF5dHlwZSkgXAorKyAgIChU WVBFX0hJR0hfQk9VTkQoKGFycmF5dHlwZSktPmluZGV4X3R5cGUgKCkpKQogKworKyNkZWZpbmUg VFlQRV9BUlJBWV9MT1dFUl9CT1VORF9WQUxVRShhcnJheXR5cGUpIFwKKysgICAoVFlQRV9MT1df Qk9VTkQoKGFycmF5dHlwZSktPmluZGV4X3R5cGUgKCkpKQorKworKyNkZWZpbmUgVFlQRV9BUlJB WV9CSVRfU1RSSURFKGFycmF5dHlwZSkgXAorKyAgKFRZUEVfQklUX1NUUklERSgoYXJyYXl0eXBl KS0+aW5kZXhfdHlwZSAoKSkpCisrCisgLyogQysrICovCiAgCi0gI2RlZmluZSBUWVBFX0FSUkFZ X1VQUEVSX0JPVU5EX1ZBTFVFKGFycmF5dHlwZSkgXAotICAgIChUWVBFX0hJR0hfQk9VTkQoVFlQ RV9JTkRFWF9UWVBFKChhcnJheXR5cGUpKSkpCisgI2RlZmluZSBUWVBFX1NFTEZfVFlQRSh0aGlz dHlwZSkgaW50ZXJuYWxfdHlwZV9zZWxmX3R5cGUgKHRoaXN0eXBlKQogZGlmZiAtLWdpdCBhL2dk Yi9wYXJzZS5jIGIvZ2RiL3BhcnNlLmMKIC0tLSBhL2dkYi9wYXJzZS5jCiArKysgYi9nZGIvcGFy c2UuYwpAQCAtODU2LDMzICs4NDcsMzMgQEAgZGlmZiAtLWdpdCBhL2dkYi9ydXN0LWV4cC55IGIv Z2RiL3J1c3QtZXhwLnkKIGRpZmYgLS1naXQgYS9nZGIvcnVzdC1sYW5nLmMgYi9nZGIvcnVzdC1s YW5nLmMKIC0tLSBhL2dkYi9ydXN0LWxhbmcuYwogKysrIGIvZ2RiL3J1c3QtbGFuZy5jCi1AQCAt MTIyNCwxMyArMTIyNCwxMSBAQCBydXN0X3JhbmdlIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBp bnQgKnBvcywgZW51bSBub3NpZGUgbm9zaWRlKQorQEAgLTEwODIsMTMgKzEwODIsMTEgQEAgcnVz dF9yYW5nZSAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50ICpwb3MsIGVudW0gbm9zaWRlIG5v c2lkZSkKICAgIGtpbmQgPSAoZW51bSByYW5nZV90eXBlKSBsb25nZXN0X3RvX2ludCAoZXhwLT5l bHRzWypwb3MgKyAxXS5sb25nY29uc3QpOwogICAgKnBvcyArPSAzOwogIAogLSAgaWYgKGtpbmQg PT0gSElHSF9CT1VORF9ERUZBVUxUIHx8IGtpbmQgPT0gTk9ORV9CT1VORF9ERUZBVUxUCiAtICAg ICAgfHwga2luZCA9PSBOT05FX0JPVU5EX0RFRkFVTFRfRVhDTFVTSVZFKQogKyAgaWYgKChraW5k ICYgU1VCQVJSQVlfTE9XX0JPVU5EKSA9PSBTVUJBUlJBWV9MT1dfQk9VTkQpCi0gICAgIGxvdyA9 IGV2YWx1YXRlX3N1YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBvcywgbm9zaWRlKTsKKyAgICAgbG93 ID0gZXZhbHVhdGVfc3ViZXhwIChudWxscHRyLCBleHAsIHBvcywgbm9zaWRlKTsKIC0gIGlmIChr aW5kID09IExPV19CT1VORF9ERUZBVUxUIHx8IGtpbmQgPT0gTE9XX0JPVU5EX0RFRkFVTFRfRVhD TFVTSVZFCiAtICAgICAgfHwga2luZCA9PSBOT05FX0JPVU5EX0RFRkFVTFQgfHwga2luZCA9PSBO T05FX0JPVU5EX0RFRkFVTFRfRVhDTFVTSVZFKQogKyAgaWYgKChraW5kICYgU1VCQVJSQVlfSElH SF9CT1VORCkgPT0gU1VCQVJSQVlfSElHSF9CT1VORCkKLSAgICAgaGlnaCA9IGV2YWx1YXRlX3N1 YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBvcywgbm9zaWRlKTsKKyAgICAgaGlnaCA9IGV2YWx1YXRl X3N1YmV4cCAobnVsbHB0ciwgZXhwLCBwb3MsIG5vc2lkZSk7CiAtICBib29sIGluY2x1c2l2ZSA9 IChraW5kID09IE5PTkVfQk9VTkRfREVGQVVMVCB8fCBraW5kID09IExPV19CT1VORF9ERUZBVUxU KTsKICsgIGJvb2wgaW5jbHVzaXZlID0gKCEoKGtpbmQgJiBTVUJBUlJBWV9ISUdIX0JPVU5EX0VY Q0xVU0lWRSkgPT0gU1VCQVJSQVlfSElHSF9CT1VORF9FWENMVVNJVkUpKTsKICAKICAgIGlmIChu b3NpZGUgPT0gRVZBTF9TS0lQKQogICAgICByZXR1cm4gdmFsdWVfZnJvbV9sb25nZXN0IChidWls dGluX3R5cGUgKGV4cC0+Z2RiYXJjaCktPmJ1aWx0aW5faW50LCAxKTsKLUBAIC0xMzE5LDcgKzEz MTcsNyBAQCBydXN0X2NvbXB1dGVfcmFuZ2UgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdmFs dWUgKnJhbmdlLAorQEAgLTExNzcsNyArMTE3NSw3IEBAIHJ1c3RfY29tcHV0ZV9yYW5nZSAoc3Ry dWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB2YWx1ZSAqcmFuZ2UsCiAgCiAgICAqbG93ID0gMDsKICAg ICpoaWdoID0gMDsKIC0gICpraW5kID0gQk9USF9CT1VORF9ERUZBVUxUOwogKyAgKmtpbmQgPSBT VUJBUlJBWV9OT05FX0JPVU5EOwogIAotICAgaWYgKFRZUEVfTkZJRUxEUyAodHlwZSkgPT0gMCkK KyAgIGlmICh0eXBlLT5udW1fZmllbGRzICgpID09IDApCiAgICAgIHJldHVybjsKLUBAIC0xMzI3 LDE1ICsxMzI1LDE0IEBAIHJ1c3RfY29tcHV0ZV9yYW5nZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0 cnVjdCB2YWx1ZSAqcmFuZ2UsCitAQCAtMTE4NSwxNSArMTE4MywxNCBAQCBydXN0X2NvbXB1dGVf cmFuZ2UgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdmFsdWUgKnJhbmdlLAogICAgaSA9IDA7 CiAgICBpZiAoc3RyY21wIChUWVBFX0ZJRUxEX05BTUUgKHR5cGUsIDApLCAic3RhcnQiKSA9PSAw KQogICAgICB7CkBAIC04OTEsNyArODgyLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9ydXN0LWxhbmcu YyBiL2dkYi9ydXN0LWxhbmcuYwogICAgICAgICpsb3cgPSB2YWx1ZV9hc19sb25nICh2YWx1ZV9m aWVsZCAocmFuZ2UsIDApKTsKICAgICAgICArK2k7CiAgICAgIH0KLSAgIGlmIChUWVBFX05GSUVM RFMgKHR5cGUpID4gaQorICAgaWYgKHR5cGUtPm51bV9maWVsZHMgKCkgPiBpCiAgICAgICAgJiYg c3RyY21wIChUWVBFX0ZJRUxEX05BTUUgKHR5cGUsIGkpLCAiZW5kIikgPT0gMCkKICAgICAgewog LSAgICAgICpraW5kID0gKCpraW5kID09IEJPVEhfQk9VTkRfREVGQVVMVApAQCAtOTAwLDcgKzg5 MSw3IEBAIGRpZmYgLS1naXQgYS9nZGIvcnVzdC1sYW5nLmMgYi9nZGIvcnVzdC1sYW5nLmMKICAg ICAgICAqaGlnaCA9IHZhbHVlX2FzX2xvbmcgKHZhbHVlX2ZpZWxkIChyYW5nZSwgaSkpOwogIAog ICAgICAgIGlmIChydXN0X2luY2x1c2l2ZV9yYW5nZV90eXBlX3AgKHR5cGUpKQotQEAgLTEzNTMs NyArMTM1MCw3IEBAIHJ1c3Rfc3Vic2NyaXB0IChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQg KnBvcywgZW51bSBub3NpZGUgbm9zaWRlLAorQEAgLTEyMTEsNyArMTIwOCw3IEBAIHJ1c3Rfc3Vi c2NyaXB0IChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgKnBvcywgZW51bSBub3NpZGUgbm9z aWRlLAogICAgc3RydWN0IHR5cGUgKnJoc3R5cGU7CiAgICBMT05HRVNUIGxvdywgaGlnaF9ib3Vu ZDsKICAgIC8qIEluaXRpYWxpemVkIHRvIGFwcGVhc2UgdGhlIGNvbXBpbGVyLiAgKi8KQEAgLTkw OSw3ICs5MDAsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3J1c3QtbGFuZy5jIGIvZ2RiL3J1c3QtbGFu Zy5jCiAgICBMT05HRVNUIGhpZ2ggPSAwOwogICAgaW50IHdhbnRfc2xpY2UgPSAwOwogIAotQEAg LTE0NTEsNyArMTQ0OCw3IEBAIHJ1c3Rfc3Vic2NyaXB0IChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhw LCBpbnQgKnBvcywgZW51bSBub3NpZGUgbm9zaWRlLAorQEAgLTEzMDksNyArMTMwNiw3IEBAIHJ1 c3Rfc3Vic2NyaXB0IChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgKnBvcywgZW51bSBub3Np ZGUgbm9zaWRlLAogIAllcnJvciAoXygiQ2Fubm90IHN1YnNjcmlwdCBub24tYXJyYXkgdHlwZSIp KTsKICAKICAgICAgICBpZiAod2FudF9zbGljZQpAQCAtOTE4LDcgKzkwOSw3IEBAIGRpZmYgLS1n aXQgYS9nZGIvcnVzdC1sYW5nLmMgYi9nZGIvcnVzdC1sYW5nLmMKICAJbG93ID0gbG93X2JvdW5k OwogICAgICAgIGlmIChsb3cgPCAwKQogIAllcnJvciAoXygiSW5kZXggbGVzcyB0aGFuIHplcm8i KSk7Ci1AQCAtMTQ2OSw3ICsxNDY2LDcgQEAgcnVzdF9zdWJzY3JpcHQgKHN0cnVjdCBleHByZXNz aW9uICpleHAsIGludCAqcG9zLCBlbnVtIG5vc2lkZSBub3NpZGUsCitAQCAtMTMyNyw3ICsxMzI0 LDcgQEAgcnVzdF9zdWJzY3JpcHQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLCBl bnVtIG5vc2lkZSBub3NpZGUsCiAgCSAgQ09SRV9BRERSIGFkZHI7CiAgCSAgc3RydWN0IHZhbHVl ICphZGRydmFsLCAqdGVtOwogIApAQCAtMTQxNiw3ICsxNDA3LDcgQEAgbmV3IGZpbGUgbW9kZSAx MDA2NDQKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXplb2Yu ZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cAogLS0tIGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cAotQEAgLTMyLDcgKzMyLDggQEAgZ2RiX3Rlc3Qg InByaW50IHNpemVvZih2bGExKSIgIiA9IDAiICJwcmludCBzaXplb2Ygbm9uLWFsbG9jYXRlZCB2 bGExIgorQEAgLTM1LDcgKzM1LDggQEAgZ2RiX3Rlc3QgInByaW50IHNpemVvZih2bGExKSIgIiA9 IDAiICJwcmludCBzaXplb2Ygbm9uLWFsbG9jYXRlZCB2bGExIgogIGdkYl90ZXN0ICJwcmludCBz aXplb2YodmxhMSgzLDIsMSkpIiBcCiAgICAgICJubyBzdWNoIHZlY3RvciBlbGVtZW50IFxcKHZl Y3RvciBub3QgYWxsb2NhdGVkXFwpIiBcCiAgICAgICJwcmludCBzaXplb2Ygbm9uLWFsbG9jYXRl ZCBpbmRleGVkIHZsYTEiCkBAIC0xNDI2LDcgKzE0MTcsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYQogICAgICAicHJpbnQgc2l6ZW9mIG5vbi1hbGxvY2F0ZWQgc2xpY2VkIHZsYTEiCiAgCiAg IyBUcnkgdG8gYWNjZXNzIHZhbHVlIGluIGFsbG9jYXRlZCBWTEEKLUBAIC00MSw3ICs0Miw3IEBA IGdkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2bGExLWFsbG9jYXRlZCIKK0BAIC00NCw3ICs0 NSw3IEBAIGdkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2bGExLWFsbG9jYXRlZCIKICBnZGJf dGVzdCAicHJpbnQgc2l6ZW9mKHZsYTEpIiAiID0gNDAwMCIgInByaW50IHNpemVvZiBhbGxvY2F0 ZWQgdmxhMSIKICBnZGJfdGVzdCAicHJpbnQgc2l6ZW9mKHZsYTEoMywyLDEpKSIgIjQiIFwKICAg ICAgInByaW50IHNpemVvZiBlbGVtZW50IGZyb20gYWxsb2NhdGVkIHZsYTEiCkBAIC0xNDM1LDcg KzE0MjYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6 ZW9mLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYQogICAgICAicHJpbnQgc2l6ZW9mIHNs aWNlZCB2bGExIgogIAogICMgVHJ5IHRvIGFjY2VzcyB2YWx1ZXMgaW4gdW5kZWZpbmVkIHBvaW50 ZXIgdG8gVkxBIChkYW5nbGluZykKLUBAIC00OSw3ICs1MCw4IEBAIGdkYl90ZXN0ICJwcmludCBz aXplb2YocHZsYSkiICIgPSAwIiAicHJpbnQgc2l6ZW9mIG5vbi1hc3NvY2lhdGVkIHB2bGEiCitA QCAtNTIsNyArNTMsOCBAQCBnZGJfdGVzdCAicHJpbnQgc2l6ZW9mKHB2bGEpIiAiID0gMCIgInBy aW50IHNpemVvZiBub24tYXNzb2NpYXRlZCBwdmxhIgogIGdkYl90ZXN0ICJwcmludCBzaXplb2Yo cHZsYSgzLDIsMSkpIiBcCiAgICAgICJubyBzdWNoIHZlY3RvciBlbGVtZW50IFxcKHZlY3RvciBu b3QgYXNzb2NpYXRlZFxcKSIgXAogICAgICAicHJpbnQgc2l6ZW9mIG5vbi1hc3NvY2lhdGVkIGlu ZGV4ZWQgcHZsYSIKQEAgLTE0NDUsNyArMTQzNiw3IEBAIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXplb2YuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh CiAgICAgICJwcmludCBzaXplb2Ygbm9uLWFzc29jaWF0ZWQgc2xpY2VkIHB2bGEiCiAgCiAgIyBU cnkgdG8gYWNjZXNzIHZhbHVlcyBpbiBwb2ludGVyIHRvIFZMQSBhbmQgY29tcGFyZSB0aGVtCi1A QCAtNTgsNyArNjAsOCBAQCBnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAicHZsYS1hc3NvY2lh dGVkIgorQEAgLTYxLDcgKzYzLDggQEAgZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgInB2bGEt YXNzb2NpYXRlZCIKICBnZGJfdGVzdCAicHJpbnQgc2l6ZW9mKHB2bGEpIiAiID0gNDAwMCIgInBy aW50IHNpemVvZiBhc3NvY2lhdGVkIHB2bGEiCiAgZ2RiX3Rlc3QgInByaW50IHNpemVvZihwdmxh KDMsMiwxKSkiICI0IiBcCiAgICAgICJwcmludCBzaXplb2YgZWxlbWVudCBmcm9tIGFzc29jaWF0 ZWQgcHZsYSIKQEAgLTE1NDQsNyArMTUzNSw3IEBAIG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiBkaWZm IC0tZ2l0IGEvZ2RiL3ZhbG9wcy5jIGIvZ2RiL3ZhbG9wcy5jCiAtLS0gYS9nZGIvdmFsb3BzLmMK ICsrKyBiL2dkYi92YWxvcHMuYwotQEAgLTM3OTcsMTMgKzM3OTcsNDIgQEAgdmFsdWVfb2ZfdGhp c19zaWxlbnQgKGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpsYW5nKQorQEAgLTM3NTYsMTMg KzM3NTYsNDIgQEAgdmFsdWVfb2ZfdGhpc19zaWxlbnQgKGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9k ZWZuICpsYW5nKQogIAogIHN0cnVjdCB2YWx1ZSAqCiAgdmFsdWVfc2xpY2UgKHN0cnVjdCB2YWx1 ZSAqYXJyYXksIGludCBsb3dib3VuZCwgaW50IGxlbmd0aCkKQEAgLTE1ODgsMjUgKzE1NzksMjUg QEAgZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYwogLSAgYXJyYXlfdHlw ZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFycmF5KSk7CiArICAvKiBDaGVjayBmb3Ig bGVnYWN5IGNvZGUgaWYgd2UgYXJlIGFjdHVhbGx5IGRlYWxpbmcgd2l0aCBhbiBhcnJheSBvcgog KyAgICAgc3RyaW5nLiAgKi8KLSAgIGlmIChUWVBFX0NPREUgKGFycmF5X3R5cGUpICE9IFRZUEVf Q09ERV9BUlJBWQotICAgICAgICYmIFRZUEVfQ09ERSAoYXJyYXlfdHlwZSkgIT0gVFlQRV9DT0RF X1NUUklORykKKyAgIGlmIChhcnJheV90eXBlLT5jb2RlICgpICE9IFRZUEVfQ09ERV9BUlJBWQor ICAgICAgICYmIGFycmF5X3R5cGUtPmNvZGUgKCkgIT0gVFlQRV9DT0RFX1NUUklORykKICAgICAg ZXJyb3IgKF8oImNhbm5vdCB0YWtlIHNsaWNlIG9mIG5vbi1hcnJheSIpKTsKLUBAIC0zODEzLDQ1 ICszODQyLDE1NSBAQCB2YWx1ZV9zbGljZSAoc3RydWN0IHZhbHVlICphcnJheSwgaW50IGxvd2Jv dW5kLCBpbnQgbGVuZ3RoKQorQEAgLTM3NzIsNDUgKzM4MDEsMTU1IEBAIHZhbHVlX3NsaWNlIChz dHJ1Y3QgdmFsdWUgKmFycmF5LCBpbnQgbG93Ym91bmQsIGludCBsZW5ndGgpCiAgICBpZiAodHlw ZV9ub3RfYXNzb2NpYXRlZCAoYXJyYXlfdHlwZSkpCiAgICAgIGVycm9yIChfKCJhcnJheSBub3Qg YXNzb2NpYXRlZCIpKTsKICAKLS0gIHJhbmdlX3R5cGUgPSBUWVBFX0lOREVYX1RZUEUgKGFycmF5 X3R5cGUpOworLSAgcmFuZ2VfdHlwZSA9IGFycmF5X3R5cGUtPmluZGV4X3R5cGUgKCk7CiAtICBp ZiAoZ2V0X2Rpc2NyZXRlX2JvdW5kcyAocmFuZ2VfdHlwZSwgJmxvd2VyYm91bmQsICZ1cHBlcmJv dW5kKSA8IDApCiAtICAgIGVycm9yIChfKCJzbGljZSBmcm9tIGJhZCBhcnJheSBvciBiaXRzdHJp bmciKSk7Ci0rICBhcnlfbG93X2JvdW5kID0gVFlQRV9MT1dfQk9VTkQgKFRZUEVfSU5ERVhfVFlQ RSAoYXJyYXlfdHlwZSkpOwotKyAgYXJ5X2hpZ2hfYm91bmQgPSBUWVBFX0hJR0hfQk9VTkQgKFRZ UEVfSU5ERVhfVFlQRSAoYXJyYXlfdHlwZSkpOworKyAgYXJ5X2xvd19ib3VuZCA9IGFycmF5X3R5 cGUtPmluZGV4X3R5cGUgKCktPmJvdW5kcyAoKS0+bG93LmNvbnN0X3ZhbCAoKTsKKysgIGFyeV9o aWdoX2JvdW5kID0gYXJyYXlfdHlwZS0+aW5kZXhfdHlwZSAoKS0+Ym91bmRzICgpLT5oaWdoLmNv bnN0X3ZhbCAoKTsKICsKICsgIC8qIFdoZW4gd2UgYXJlIHdvcmtpbmcgb24gYSBtdWx0aS1kaW1l bnNpb25hbCBhcnJheSwgd2UgbmVlZCB0byBnZXQgdGhlCiArICAgICBhdHRyaWJ1dGVzIG9mIHRo ZSB1bmRlcmx5aW5nIHR5cGUuICAqLwogKyAgaWYgKGNhbGxfY291bnQgPiAxKQogKyAgICB7Ci0r ICAgICAgYXJ5X2xvd19ib3VuZCA9IFRZUEVfTE9XX0JPVU5EIChUWVBFX0lOREVYX1RZUEUgKGVs dF90eXBlKSk7Ci0rICAgICAgYXJ5X2hpZ2hfYm91bmQgPSBUWVBFX0hJR0hfQk9VTkQgKFRZUEVf SU5ERVhfVFlQRSAoZWx0X3R5cGUpKTsKKysgICAgICBhcnlfbG93X2JvdW5kID0gZWx0X3R5cGUt PmluZGV4X3R5cGUgKCktPmJvdW5kcyAoKS0+bG93LmNvbnN0X3ZhbCAoKTsKKysgICAgICBhcnlf aGlnaF9ib3VuZCA9IGVsdF90eXBlLT5pbmRleF90eXBlICgpLT5ib3VuZHMgKCktPmhpZ2guY29u c3RfdmFsICgpOwogKyAgICAgIGVsdF90eXBlID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9UQVJHRVRf VFlQRSAoZWx0X3R5cGUpKTsKICsgICAgICByb3dfY291bnQgPSBUWVBFX0xFTkdUSCAoYXJyYXlf dHlwZSkKICsJCSAgICAvIFRZUEVfTEVOR1RIIChUWVBFX1RBUkdFVF9UWVBFIChhcnJheV90eXBl KSk7CkBAIC0xNjIzLDEyICsxNjE0LDEyIEBAIGRpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMgYi9n ZGIvdmFsb3BzLmMKICsKICsgIGVsdF9zaXplID0gVFlQRV9MRU5HVEggKGVsdF90eXBlKTsKICsg IGVsdF9vZmZzID0gbG93Ym91bmQgLSBhcnlfbG93X2JvdW5kOworKworKyAgZWx0X29mZnMgKj0g ZWx0X3NpemU7CiAgCiAtICBpZiAobG93Ym91bmQgPCBsb3dlcmJvdW5kIHx8IGxlbmd0aCA8IDAK IC0gICAgICB8fCBsb3dib3VuZCArIGxlbmd0aCAtIDEgPiB1cHBlcmJvdW5kKQogLSAgICBlcnJv ciAoXygic2xpY2Ugb3V0IG9mIHJhbmdlIikpOwotKyAgZWx0X29mZnMgKj0gZWx0X3NpemU7Ci0r CiArICAvKiBDaGVjayBmb3IgdmFsaWQgdXNlciBpbnB1dC4gIEluIGNhc2Ugb2YgRm9ydHJhbiB0 aGlzIHdhcyBhbHJlYWR5IGRvbmUKICsgICAgIGluIHRoZSBjYWxsaW5nIGZ1bmN0aW9uLiAgKi8K ICsgIGlmIChjYWxsX2NvdW50ID09IDEKQEAgLTE2NDIsNyArMTYzMyw3IEBAIGRpZmYgLS1naXQg YS9nZGIvdmFsb3BzLmMgYi9nZGIvdmFsb3BzLmMKICsgICAgIGFycmF5IGJ5IHNldHRpbmcgc2xp Y2VfcmFuZ2Vfc2l6ZS4gICovCiArICBpZiAoY2FsbF9jb3VudCA9PSAxKQogKyAgICB7Ci0rICAg ICAgcmFuZ2VfdHlwZSA9IFRZUEVfSU5ERVhfVFlQRSAoYXJyYXlfdHlwZSk7CisrICAgICAgcmFu Z2VfdHlwZSA9IGFycmF5X3R5cGUtPmluZGV4X3R5cGUgKCk7CiArICAgICAgc2xpY2VfcmFuZ2Vf c2l6ZSA9IGFyeV9sb3dfYm91bmQgKyBlbGVtX2NvdW50IC0gMTsKICsKICsgICAgICAvKiBDaGVj ayBpZiB0aGUgYXJyYXkgYm91bmRzIGFyZSB2YWxpZC4gICovCkBAIC0xNjU0LDkgKzE2NDUsOSBA QCBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbG9wcy5jIGIvZ2RiL3ZhbG9wcy5jCiArICAgICBhY2NvcmRp bmdseS4gICovCiArICBlbHNlCiArICAgIHsKLSsgICAgICByYW5nZV90eXBlID0gVFlQRV9JTkRF WF9UWVBFIChUWVBFX1RBUkdFVF9UWVBFIChhcnJheV90eXBlKSk7CisrICAgICAgcmFuZ2VfdHlw ZSA9IFRZUEVfVEFSR0VUX1RZUEUgKGFycmF5X3R5cGUpLT5pbmRleF90eXBlICgpOwogKyAgICAg IHNsaWNlX3JhbmdlX3NpemUgPSBhcnlfbG93X2JvdW5kICsgKHJvd19jb3VudCAqIGVsZW1fY291 bnQpIC0gMTsKLSsgICAgICBhcnlfbG93X2JvdW5kID0gVFlQRV9MT1dfQk9VTkQgKHJhbmdlX3R5 cGUpOworKyAgICAgIGFyeV9sb3dfYm91bmQgPSByYW5nZV90eXBlLT5ib3VuZHMgKCktPmxvdy5j b25zdF92YWwgKCk7CiArICAgIH0KICAKICAgIC8qIEZJWE1FLXR5cGUtYWxsb2NhdGlvbjogbmVl ZCBhIHdheSB0byBmcmVlIHRoaXMgdHlwZSB3aGVuIHdlIGFyZQpAQCAtMTY3NCw3ICsxNjY1LDEx IEBAIGRpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMgYi9nZGIvdmFsb3BzLmMKIC0gICAgTE9OR0VT VCBvZmZzZXQKIC0gICAgICA9IChsb3dib3VuZCAtIGxvd2VyYm91bmQpICogVFlQRV9MRU5HVEgg KGNoZWNrX3R5cGVkZWYgKGVsZW1lbnRfdHlwZSkpOwogKyAgICBzdHJ1Y3QgdHlwZSAqZWxlbWVu dF90eXBlOwotKworIAorLSAgICBzbGljZV90eXBlID0gY3JlYXRlX2FycmF5X3R5cGUgKE5VTEws CistCQkJCSAgICBlbGVtZW50X3R5cGUsCistCQkJCSAgICBzbGljZV9yYW5nZV90eXBlKTsKKy0g ICAgc2xpY2VfdHlwZS0+c2V0X2NvZGUgKGFycmF5X3R5cGUtPmNvZGUgKCkpOwogKyAgICAvKiBX aGVuIGJvdGggQ0FMTF9DT1VOVCBhbmQgU1RSSURFX0xFTkdUSCBlcXVhbCAxLCB3ZSBjYW4gdXNl IHRoZSBsZWdhY3kKICsgICAgICAgY29kZSBmb3Igc3ViYXJyYXlzLiAgKi8KICsgICAgaWYgKGNh bGxfY291bnQgPT0gMSAmJiBzdHJpZGVfbGVuZ3RoID09IDEpCkBAIC0xNjgyLDEyICsxNjc3LDgg QEAgZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYwogKwllbGVtZW50X3R5 cGUgPSBUWVBFX1RBUkdFVF9UWVBFIChhcnJheV90eXBlKTsKICsKICsJc2xpY2VfdHlwZSA9IGNy ZWF0ZV9hcnJheV90eXBlIChOVUxMLCBlbGVtZW50X3R5cGUsIHNsaWNlX3JhbmdlX3R5cGUpOwot IAotLSAgICBzbGljZV90eXBlID0gY3JlYXRlX2FycmF5X3R5cGUgKE5VTEwsCi0tCQkJCSAgICBl bGVtZW50X3R5cGUsCi0tCQkJCSAgICBzbGljZV9yYW5nZV90eXBlKTsKLS0gICAgVFlQRV9DT0RF IChzbGljZV90eXBlKSA9IFRZUEVfQ09ERSAoYXJyYXlfdHlwZSk7Ci0rCVRZUEVfQ09ERSAoc2xp Y2VfdHlwZSkgPSBUWVBFX0NPREUgKGFycmF5X3R5cGUpOworKworKwlzbGljZV90eXBlLT5zZXRf Y29kZSAoYXJyYXlfdHlwZS0+Y29kZSAoKSk7CiAgCiAtICAgIGlmIChWQUxVRV9MVkFMIChhcnJh eSkgPT0gbHZhbF9tZW1vcnkgJiYgdmFsdWVfbGF6eSAoYXJyYXkpKQogLSAgICAgIHNsaWNlID0g YWxsb2NhdGVfdmFsdWVfbGF6eSAoc2xpY2VfdHlwZSk7CkBAIC0xNzMxLDEyICsxNzIyLDEyIEBA IGRpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMgYi9nZGIvdmFsb3BzLmMKICsKICsJc2xpY2VfdHlw ZSA9IGNyZWF0ZV9hcnJheV90eXBlIChOVUxMLCBlbGVtZW50X3R5cGUsIHNsaWNlX3JhbmdlX3R5 cGUpOwogKwotKwkgLyogSWYgd2UgaGF2ZSBhIG9uZSBkaW1lbnNpb25hbCBhcnJheSwgd2UgY29w eSBpdHMgVFlQRV9DT0RFLiAgRm9yIGEKLSsJICAgIG11bHRpIGRpbWVuc2lvbmFsIGFycmF5IHdl IGNvcHkgdGhlIGVtYmVkZGVkIHR5cGUncyBUWVBFX0NPREUuICAqLworKwkgLyogSWYgd2UgaGF2 ZSBhIG9uZSBkaW1lbnNpb25hbCBhcnJheSwgd2UgY29weSBpdHMgdHlwZSBjb2RlLiAgRm9yIGEK KysJICAgIG11bHRpIGRpbWVuc2lvbmFsIGFycmF5IHdlIGNvcHkgdGhlIGVtYmVkZGVkIHR5cGUn cyB0eXBlIGNvZGUuICAqLwogKwlpZiAoY2FsbF9jb3VudCA9PSAxKQotKwkgIFRZUEVfQ09ERSAo c2xpY2VfdHlwZSkgPSBUWVBFX0NPREUgKGFycmF5X3R5cGUpOworKwkgIHNsaWNlX3R5cGUtPnNl dF9jb2RlIChhcnJheV90eXBlLT5jb2RlICgpKTsKICsJZWxzZQotKwkgIFRZUEVfQ09ERSAoc2xp Y2VfdHlwZSkgPSBUWVBFX0NPREUgKFRZUEVfVEFSR0VUX1RZUEUgKGFycmF5X3R5cGUpKTsKKysJ ICBzbGljZV90eXBlLT5zZXRfY29kZSAoKFRZUEVfVEFSR0VUX1RZUEUgKGFycmF5X3R5cGUpLT5j b2RlICgpKSk7CiArCiArCXYgPSBhbGxvY2F0ZV92YWx1ZSAoc2xpY2VfdHlwZSk7CiArCkBAIC0x NzcyLDE2ICsxNzYzLDE2IEBAIGRpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMgYi9nZGIvdmFsb3Bz LmMKICsgIHJldHVybiB2OwogIH0KICAKLSAvKiBDcmVhdGUgYSB2YWx1ZSBmb3IgYSBGT1JUUkFO IGNvbXBsZXggbnVtYmVyLiAgQ3VycmVudGx5IG1vc3Qgb2YgdGhlCisgLyogU2VlIHZhbHVlLmgu ICAqLwogZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5oIGIvZ2RiL3ZhbHVlLmgKIC0tLSBhL2dkYi92 YWx1ZS5oCiArKysgYi9nZGIvdmFsdWUuaAotQEAgLTExNDUsNiArMTE0NSw4IEBAIGV4dGVybiBz dHJ1Y3QgdmFsdWUgKnZhcnlpbmdfdG9fc2xpY2UgKHN0cnVjdCB2YWx1ZSAqKTsKK0BAIC0xMTQ0 LDYgKzExNDQsOCBAQCBleHRlcm4gc3RydWN0IHZhbHVlICp2YXJ5aW5nX3RvX3NsaWNlIChzdHJ1 Y3QgdmFsdWUgKik7CiAgCiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfc2xpY2UgKHN0cnVj dCB2YWx1ZSAqLCBpbnQsIGludCk7CiAgCiArZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfc2xp Y2VfMSAoc3RydWN0IHZhbHVlICosIGludCwgaW50LCBpbnQsIGludCk7CiArCi0gZXh0ZXJuIHN0 cnVjdCB2YWx1ZSAqdmFsdWVfbGl0ZXJhbF9jb21wbGV4IChzdHJ1Y3QgdmFsdWUgKiwgc3RydWN0 IHZhbHVlICosCi0gCQkJCQkgICAgc3RydWN0IHR5cGUgKik7Ci0gCisgLyogQ3JlYXRlIGEgY29t cGxleCBudW1iZXIuICBUaGUgdHlwZSBpcyB0aGUgY29tcGxleCB0eXBlOyB0aGUgdmFsdWVzCisg ICAgYXJlIGNhc3QgdG8gdGhlIHVuZGVybHlpbmcgc2NhbGFyIHR5cGUgYmVmb3JlIHRoZSBjb21w bGV4IG51bWJlciBpcworICAgIGNyZWF0ZWQuICAqLwoKZGlmZiAtLWdpdCBhL2dkYi12bGEtaW50 ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaCBiL2dkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEt c3RyaW5ncy5wYXRjaAppbmRleCBkZWVhNGI1Li4xZTQ4ZWU4IDEwMDY0NAotLS0gYS9nZGItdmxh LWludGVsLWZvcnRyYW4tdmxhLXN0cmluZ3MucGF0Y2gKKysrIGIvZ2RiLXZsYS1pbnRlbC1mb3J0 cmFuLXZsYS1zdHJpbmdzLnBhdGNoCkBAIC0zMyw3ICszMyw3IEBAIGdpdCBkaWZmIC0tc3RhdCAt cCBnZGIvbWFzdGVyLi4uZ2RiL3VzZXJzL2JoZWNrZWwvZm9ydHJhbi12bGEtc3RyaW5ncwogZGlm ZiAtLWdpdCBhL2dkYi9ORVdTIGIvZ2RiL05FV1MKIC0tLSBhL2dkYi9ORVdTCiArKysgYi9nZGIv TkVXUwotQEAgLTgwNSw2ICs4MDUsOCBAQCBTSC01L1NINjQgcnVubmluZyBPcGVuQlNEIAlTSC01 L1NINjQgc3VwcG9ydCBpbiBzaCotKi1vcGVuYnNkKgorQEAgLTk4NSw2ICs5ODUsOCBAQCBTSC01 L1NINjQgcnVubmluZyBPcGVuQlNEIAlTSC01L1NINjQgc3VwcG9ydCBpbiBzaCotKi1vcGVuYnNk KgogIAogICoqKiBDaGFuZ2VzIGluIEdEQiA4LjEKICAKQEAgLTQ1LDExICs0NSwxMSBAQCBkaWZm IC0tZ2l0IGEvZ2RiL05FV1MgYi9nZGIvTkVXUwogZGlmZiAtLWdpdCBhL2dkYi9jLXZhbHByaW50 LmMgYi9nZGIvYy12YWxwcmludC5jCiAtLS0gYS9nZGIvYy12YWxwcmludC5jCiArKysgYi9nZGIv Yy12YWxwcmludC5jCi1AQCAtNjQ5LDYgKzY0OSwyOCBAQCBjX3ZhbHVlX3ByaW50IChzdHJ1Y3Qg dmFsdWUgKnZhbCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKK0BAIC01NzIsNiArNTcyLDI4IEBA IGNfdmFsdWVfcHJpbnQgKHN0cnVjdCB2YWx1ZSAqdmFsLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt LAogICAgICAgIGVsc2UKICAJewogIAkgIC8qIG5vcm1hbCBjYXNlICovCi0rCSAgaWYgKFRZUEVf Q09ERSAodHlwZSkgPT0gVFlQRV9DT0RFX1BUUgorKwkgIGlmICh0eXBlLT5jb2RlICgpID09IFRZ UEVfQ09ERV9QVFIKICsJICAgICAgJiYgMSA9PSBpc19keW5hbWljX3R5cGUgKHR5cGUpKQogKwkg ICAgewogKwkgICAgICBDT1JFX0FERFIgYWRkcjsKQEAgLTY0LDcgKzY0LDcgQEAgZGlmZiAtLWdp dCBhL2dkYi9jLXZhbHByaW50LmMgYi9nZGIvYy12YWxwcmludC5jCiArCQkgICYmICgwID09IHR5 cGVfbm90X2Fzc29jaWF0ZWQgKHR5cGUpKSkKICsJCSAgVFlQRV9UQVJHRVRfVFlQRSAodHlwZSkg PQogKwkJICAgICAgcmVzb2x2ZV9keW5hbWljX3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUp LAotKwkJCQkJICAgIE5VTEwsIGFkZHIpOworKwkJCQkJICAgIHt9LCBhZGRyKTsKICsJICAgIH0K ICsJICBlbHNlCiArCSAgICB7CkBAIC03NCwxMCArNzQsMTAgQEAgZGlmZiAtLWdpdCBhL2dkYi9j LXZhbHByaW50LmMgYi9nZGIvYy12YWxwcmludC5jCiAgCSAgZnByaW50Zl9maWx0ZXJlZCAoc3Ry ZWFtLCAiKCIpOwogIAkgIHR5cGVfcHJpbnQgKHZhbHVlX3R5cGUgKHZhbCksICIiLCBzdHJlYW0s IC0xKTsKICAJICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIpICIpOwotZGlmZiAtLWdpdCBh L2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi0tLS0gYS9nZGIvZHdhcmYycmVh ZC5jCi0rKysgYi9nZGIvZHdhcmYycmVhZC5jCi1AQCAtMTgyNyw3ICsxODI3LDEwIEBAIHN0YXRp YyB2b2lkIHJlYWRfc2lnbmF0dXJlZF90eXBlIChzdHJ1Y3Qgc2lnbmF0dXJlZF90eXBlICopOwor ZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIvcmVhZC5jIGIvZ2RiL2R3YXJmMi9yZWFkLmMKKy0tLSBh L2dkYi9kd2FyZjIvcmVhZC5jCisrKysgYi9nZGIvZHdhcmYyL3JlYWQuYworQEAgLTE1NjIsNyAr MTU2MiwxMCBAQCBzdGF0aWMgdm9pZCByZWFkX3NpZ25hdHVyZWRfdHlwZSAoc2lnbmF0dXJlZF90 eXBlICpzaWdfdHlwZSwKICAKICBzdGF0aWMgaW50IGF0dHJfdG9fZHluYW1pY19wcm9wIChjb25z dCBzdHJ1Y3QgYXR0cmlidXRlICphdHRyLAogIAkJCQkgc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0 cnVjdCBkd2FyZjJfY3UgKmN1LApAQCAtODksMTYgKzg5LDI1IEBAIGRpZmYgLS1naXQgYS9nZGIv ZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwogIAogIC8qIG1lbW9yeSBhbGxvY2F0aW9u IGludGVyZmFjZSAqLwogIAotQEAgLTEzNzk5LDcgKzEzODAyLDcgQEAgcmVhZF9mdW5jX3Njb3Bl IChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTM2MzEs NyArMTM2MzQsNyBAQCByZWFkX2Z1bmNfc2NvcGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1 Y3QgZHdhcmYyX2N1ICpjdSkKICAgICAgICBuZXdvYmotPnN0YXRpY19saW5rCiAgCT0gWE9CTkVX ICgmb2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLCBzdHJ1Y3QgZHluYW1pY19wcm9wKTsKICAgICAg ICBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgbmV3b2JqLT5zdGF0aWNfbGlu aywKLS0JCQkgICAgZHdhcmYyX3Blcl9jdV9hZGRyX3R5cGUgKGN1LT5wZXJfY3UpKTsKLSsJCQkg ICAgZHdhcmYyX3Blcl9jdV9hZGRyX3R5cGUgKGN1LT5wZXJfY3UpLCBOVUxMLCAwKTsKKy0JCQkg ICAgY3UtPmFkZHJfdHlwZSAoKSk7CisrCQkJICAgIGN1LT5hZGRyX3R5cGUgKCksIE5VTEwsIDAp OwogICAgICB9CiAgCiAgICBjdS0+bGlzdF9pbl9zY29wZSA9IGN1LT5nZXRfYnVpbGRlciAoKS0+ Z2V0X2xvY2FsX3N5bWJvbHMgKCk7Ci1AQCAtMTY1NjUsNyArMTY1NjgsNyBAQCByZWFkX2FycmF5 X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0x NjA3Myw3ICsxNjA3Niw3IEBAIHJlYWRfc3RydWN0dXJlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAq ZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAgICAgICBlbHNlCisgCXsKKyAJICBzdHJ1Y3Qg ZHluYW1pY19wcm9wIHByb3A7CistCSAgaWYgKGF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBk aWUsIGN1LCAmcHJvcCwgY3UtPmFkZHJfdHlwZSAoKSkpCisrCSAgaWYgKGF0dHJfdG9fZHluYW1p Y19wcm9wIChhdHRyLCBkaWUsIGN1LCAmcHJvcCwgY3UtPmFkZHJfdHlwZSAoKSwgTlVMTCwgMCkp CisgCSAgICB0eXBlLT5hZGRfZHluX3Byb3AgKERZTl9QUk9QX0JZVEVfU0laRSwgcHJvcCk7Cisg ICAgICAgICAgIFRZUEVfTEVOR1RIICh0eXBlKSA9IDA7CisgCX0KK0BAIC0xNjc2NCw3ICsxNjc2 Nyw3IEBAIHJlYWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2Fy ZjJfY3UgKmN1KQogICAgICAgIGJ5dGVfc3RyaWRlX3Byb3AKICAJPSAoc3RydWN0IGR5bmFtaWNf cHJvcCAqKSBhbGxvY2EgKHNpemVvZiAoc3RydWN0IGR5bmFtaWNfcHJvcCkpOwogICAgICAgIHN0 cmlkZV9vayA9IGF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCBieXRlX3N0cmlk ZV9wcm9wLApAQCAtMTA3LDcgKzExNiw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5j IGIvZ2RiL2R3YXJmMnJlYWQuYwogICAgICAgIGlmICghc3RyaWRlX29rKQogIAl7CiAgCSAgY29t cGxhaW50IChfKCJ1bmFibGUgdG8gcmVhZCBhcnJheSBEV19BVF9ieXRlX3N0cmlkZSAiCi1AQCAt MTczMjUsNyArMTczMjgsNyBAQCByZWFkX3RhZ19zdHJpbmdfdHlwZSAoc3RydWN0IGRpZV9pbmZv ICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3NTIyLDcgKzE3NTI1LDcgQEAgcmVh ZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1 ICpjdSkKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CiAgICBzdHJ1Y3QgZHluYW1pY19wcm9w IHByb3A7CiAgICBib29sIGxlbmd0aF9pc19jb25zdGFudCA9IHRydWU7CkBAIC0xMTYsNyArMTI1 LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCiAg CiAgICAvKiBUaGVyZSBhcmUgYSBjb3VwbGUgb2YgcGxhY2VzIHdoZXJlIGJpdCBzaXplcyBtaWdo dCBiZSBtYWRlIHVzZSBvZgogICAgICAgd2hlbiBwYXJzaW5nIGEgRFdfVEFHX3N0cmluZ190eXBl LCBob3dldmVyLCBubyBwcm9kdWNlciB0aGF0IHdlIGtub3cKLUBAIC0xNzM0Niw2ICsxNzM0OSwx MCBAQCByZWFkX3RhZ19zdHJpbmdfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBk d2FyZjJfY3UgKmN1KQorQEAgLTE3NTQzLDYgKzE3NTQ2LDEwIEBAIHJlYWRfdGFnX3N0cmluZ190 eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgCX0KICAg ICAgfQogIApAQCAtMTI1LDkgKzEzNCw5IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5j IGIvZ2RiL2R3YXJmMnJlYWQuYwogKwogKyAgLyogSWYgRFdfQVRfc3RyaW5nX2xlbmd0aCBpcyBk ZWZpbmVkLCB0aGUgbGVuZ3RoIGlzIHN0b3JlZCBpbiBtZW1vcnkuICAqLwogICAgYXR0ciA9IGR3 YXJmMl9hdHRyIChkaWUsIERXX0FUX3N0cmluZ19sZW5ndGgsIGN1KTsKLSAgIGlmIChhdHRyICE9 IG51bGxwdHIgJiYgIWF0dHJfZm9ybV9pc19jb25zdGFudCAoYXR0cikpCisgICBpZiAoYXR0ciAh PSBudWxscHRyICYmICFhdHRyLT5mb3JtX2lzX2NvbnN0YW50ICgpKQogICAgICB7Ci1AQCAtMTcz NzIsMTMgKzE3Mzc5LDcxIEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8g KmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTc1NjksMTMgKzE3NTc2LDY4IEBAIHJl YWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9j dSAqY3UpCiAgCX0KICAKICAgICAgICAvKiBDb252ZXJ0IHRoZSBhdHRyaWJ1dGUgaW50byBhIGR5 bmFtaWMgcHJvcGVydHkuICAqLwpAQCAtMTM5LDcgKzE0OCw3IEBAIGRpZmYgLS1naXQgYS9nZGIv ZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwogICAgICB9CiAgICBlbHNlIGlmIChhdHRy ICE9IG51bGxwdHIpCiAgICAgIHsKLSsgICAgICBpZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRy KSkKKysgICAgICBpZiAoYXR0ci0+Zm9ybV9pc19ibG9jayAoKSkKICsJewogKwkgIHN0cnVjdCBh dHRyaWJ1dGUgKmJ5dGVfc2l6ZSwgKmJpdF9zaXplOwogKwkgIHN0cnVjdCBkeW5hbWljX3Byb3Ag aGlnaDsKQEAgLTE4OSwxOCArMTk4LDE1IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5j IGIvZ2RiL2R3YXJmMnJlYWQuYwogKwkJY29tcGxhaW50IChfKCJDb3VsZCBub3QgcGFyc2UgRFdf QVRfc3RyaW5nX2xlbmd0aCIpKTsKICsJICAgIH0KICsKLSsJICBUWVBFX1JBTkdFX0RBVEEgKHJh bmdlX3R5cGUpLT5oaWdoID0gaGlnaDsKKysJICByYW5nZV90eXBlLT5ib3VuZHMgKCktPmhpZ2gg PSBoaWdoOwogKwl9CiArICAgICAgZWxzZQotKwl7Ci0rCSAgVFlQRV9ISUdIX0JPVU5EIChyYW5n ZV90eXBlKSA9IERXX1VOU05EKGF0dHIpOwotKwkgIFRZUEVfSElHSF9CT1VORF9LSU5EIChyYW5n ZV90eXBlKSA9IFBST1BfQ09OU1Q7Ci0rCX0KKysJcmFuZ2VfdHlwZS0+Ym91bmRzICgpLT5oaWdo LnNldF9jb25zdF92YWwgKERXX1VOU05EKGF0dHIpKTsKICsKICAgICAgICAvKiBUaGlzIERXX0FU X3N0cmluZ19sZW5ndGgganVzdCBjb250YWlucyB0aGUgbGVuZ3RoIHdpdGggbm8KICAJIGluZGly ZWN0aW9uLiAgVGhlcmUncyBubyBuZWVkIHRvIGNyZWF0ZSBhIGR5bmFtaWMgcHJvcGVydHkgaW4g dGhpcwogIAkgY2FzZS4gIFBhc3MgMCBmb3IgdGhlIGRlZmF1bHQgdmFsdWUgYXMgd2Uga25vdyBp dCB3aWxsIG5vdCBiZQotQEAgLTE3MzkyLDYgKzE3NDU3LDIwIEBAIHJlYWRfdGFnX3N0cmluZ190 eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTc1 ODksNiArMTc2NTEsMTQgQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAq ZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgICAgfQogICAgZWxzZQogICAgICB7CkBAIC0y MDgsMjggKzIxNCwyMiBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2Fy ZjJyZWFkLmMKICsJIGluIHRoaXMgY2FzZS4gICovCiArICAgICAgYXR0ciA9IGR3YXJmMl9hdHRy IChkaWUsIERXX0FUX2J5dGVfc2l6ZSwgY3UpOwogKyAgICAgIGlmIChhdHRyKQotKwl7Ci0rCSAg VFlQRV9ISUdIX0JPVU5EIChyYW5nZV90eXBlKSA9IERXX1VOU05EKGF0dHIpOwotKwkgIFRZUEVf SElHSF9CT1VORF9LSU5EIChyYW5nZV90eXBlKSA9IFBST1BfQ09OU1Q7Ci0rCX0KKysJcmFuZ2Vf dHlwZS0+Ym91bmRzICgpLT5oaWdoLnNldF9jb25zdF92YWwgKERXX1VOU05EKGF0dHIpKTsKICsg ICAgICBlbHNlCi0rCXsKLSsJICBUWVBFX0hJR0hfQk9VTkQgKHJhbmdlX3R5cGUpID0gMTsKLSsJ ICBUWVBFX0hJR0hfQk9VTkRfS0lORCAocmFuZ2VfdHlwZSkgPSBQUk9QX0NPTlNUOwotKwl9Cisr CXJhbmdlX3R5cGUtPmJvdW5kcyAoKS0+aGlnaC5zZXRfY29uc3RfdmFsICgxKTsKICsKICAgICAg ICAvKiBVc2UgMSBhcyBhIGZhbGxiYWNrIGxlbmd0aCBpZiB3ZSBoYXZlIG5vdGhpbmcgZWxzZS4g ICovCiAgICAgICAgbGVuZ3RoID0gMTsKICAgICAgfQotQEAgLTE3NDA3LDYgKzE3NDg2LDcgQEAg cmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYy X2N1ICpjdSkKLSAgICAgICBsb3dfYm91bmQuZGF0YS5jb25zdF92YWwgPSAxOworQEAgLTE3NjAz LDYgKzE3NjczLDcgQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGll LCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAgICAgICBsb3dfYm91bmQuc2V0X2NvbnN0X3ZhbCAo MSk7CiAgICAgICAgcmFuZ2VfdHlwZSA9IGNyZWF0ZV9yYW5nZV90eXBlIChOVUxMLCBpbmRleF90 eXBlLCAmbG93X2JvdW5kLCAmcHJvcCwgMCk7CiAgICAgIH0KICsKICAgIGNoYXJfdHlwZSA9IGxh bmd1YWdlX3N0cmluZ19jaGFyX3R5cGUgKGN1LT5sYW5ndWFnZV9kZWZuLCBnZGJhcmNoKTsKICAg IHR5cGUgPSBjcmVhdGVfc3RyaW5nX3R5cGUgKE5VTEwsIGNoYXJfdHlwZSwgcmFuZ2VfdHlwZSk7 CiAgCi1AQCAtMTc4NTgsNyArMTc5MzgsOCBAQCByZWFkX2Jhc2VfdHlwZSAoc3RydWN0IGRpZV9p bmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE4MDc4LDcgKzE4MTQ5LDggQEAg cmVhZF9iYXNlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpj dSkKICBzdGF0aWMgaW50CiAgYXR0cl90b19keW5hbWljX3Byb3AgKGNvbnN0IHN0cnVjdCBhdHRy aWJ1dGUgKmF0dHIsIHN0cnVjdCBkaWVfaW5mbyAqZGllLAogIAkJICAgICAgc3RydWN0IGR3YXJm Ml9jdSAqY3UsIHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCkBAIC0yMzgsMTggKzIzOCwxNyBA QCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKICsJCSAg ICAgIGNvbnN0IGdkYl9ieXRlICphZGRpdGlvbmFsX2RhdGEsIGludCBhZGRpdGlvbmFsX2RhdGFf c2l6ZSkKICB7CiAgICBzdHJ1Y3QgZHdhcmYyX3Byb3BlcnR5X2JhdG9uICpiYXRvbjsKLSAgIHN0 cnVjdCBvYnN0YWNrICpvYnN0YWNrCi1AQCAtMTc4ODUsOSArMTc5NjYsMzAgQEAgYXR0cl90b19k eW5hbWljX3Byb3AgKGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCBkaWVfaW5m byAqZGllLAotIAkgIGJhdG9uLT5sb2NleHByLmlzX3JlZmVyZW5jZSA9IGZhbHNlOworICAgZHdh cmYyX3Blcl9vYmpmaWxlICpwZXJfb2JqZmlsZSA9IGN1LT5wZXJfb2JqZmlsZTsKK0BAIC0xODEw OCw2ICsxODE4MCwyNiBAQCBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0dHJp YnV0ZSAqYXR0ciwgc3RydWN0IGRpZV9pbmZvICpkaWUsCiAgCSAgYnJlYWs7CiAgCX0KLSsKKyAK ICsgICAgICBpZiAoYWRkaXRpb25hbF9kYXRhICE9IE5VTEwgJiYgYWRkaXRpb25hbF9kYXRhX3Np emUgPiAwKQogKwl7CiArCSAgZ2RiX2J5dGUgKmRhdGE7CiArCiArCSAgZGF0YSA9IChnZGJfYnl0 ZSAqKSBvYnN0YWNrX2FsbG9jKAotKwkgICAgICAmY3UtPnBlcl9jdS0+ZHdhcmYyX3Blcl9vYmpm aWxlLT5vYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssCisrCSAgICAgICZjdS0+cGVyX29iamZpbGUt Pm9iamZpbGUtPm9iamZpbGVfb2JzdGFjaywKICsJICAgICAgRFdfQkxPQ0sgKGF0dHIpLT5zaXpl ICsgYWRkaXRpb25hbF9kYXRhX3NpemUpOwogKwkgIG1lbWNweSAoZGF0YSwgRFdfQkxPQ0sgKGF0 dHIpLT5kYXRhLCBEV19CTE9DSyAoYXR0ciktPnNpemUpOwogKwkgIG1lbWNweSAoZGF0YSArIERX X0JMT0NLIChhdHRyKS0+c2l6ZSwgYWRkaXRpb25hbF9kYXRhLApAQCAtMjY0LDE3ICsyNjMsMTMg QEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCiArCSAg YmF0b24tPmxvY2V4cHIuc2l6ZSA9IERXX0JMT0NLIChhdHRyKS0+c2l6ZTsKICsJfQogKwotICAg ICAgIHByb3AtPmRhdGEuYmF0b24gPSBiYXRvbjsKLSAgICAgICBwcm9wLT5raW5kID0gUFJPUF9M T0NFWFBSOwotLSAgICAgIGdkYl9hc3NlcnQgKHByb3AtPmRhdGEuYmF0b24gIT0gTlVMTCk7Ci0r ICAgICAgZ2RiX2Fzc2VydChwcm9wLT5kYXRhLmJhdG9uICE9IE5VTEwpOworICAgICAgIHByb3At PnNldF9sb2NleHByIChiYXRvbik7CisgICAgICAgZ2RiX2Fzc2VydCAocHJvcC0+YmF0b24gKCkg IT0gTlVMTCk7CiAgICAgIH0KLSAgIGVsc2UgaWYgKGF0dHJfZm9ybV9pc19yZWYgKGF0dHIpKQot ICAgICB7Ci1AQCAtMTc5MjAsOSArMTgwMjIsMjkgQEAgYXR0cl90b19keW5hbWljX3Byb3AgKGNv bnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCBkaWVfaW5mbyAqZGllLAotIAkJYmF0 b24gPSBYT0JORVcgKG9ic3RhY2ssIHN0cnVjdCBkd2FyZjJfcHJvcGVydHlfYmF0b24pOworQEAg LTE4MTQyLDExICsxODIzNCwzMSBAQCBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0 IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRpZV9pbmZvICpkaWUsCiAgCQliYXRvbi0+cHJvcGVy dHlfdHlwZSA9IGRpZV90eXBlICh0YXJnZXRfZGllLCB0YXJnZXRfY3UpOwogIAkJYmF0b24tPmxv Y2V4cHIucGVyX2N1ID0gY3UtPnBlcl9jdTsKKyAJCWJhdG9uLT5sb2NleHByLnBlcl9vYmpmaWxl ID0gcGVyX29iamZpbGU7CiAtCQliYXRvbi0+bG9jZXhwci5zaXplID0gRFdfQkxPQ0sgKHRhcmdl dF9hdHRyKS0+c2l6ZTsKIC0JCWJhdG9uLT5sb2NleHByLmRhdGEgPSBEV19CTE9DSyAodGFyZ2V0 X2F0dHIpLT5kYXRhOwogIAkJYmF0b24tPmxvY2V4cHIuaXNfcmVmZXJlbmNlID0gdHJ1ZTsKQEAg LTI4Myw3ICsyNzgsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2Fy ZjJyZWFkLmMKICsJCSAgewogKwkJICAgIGdkYl9ieXRlICpkYXRhOwogKwotKwkJICAgIGRhdGEg PSAoZ2RiX2J5dGUgKikgb2JzdGFja19hbGxvYyAoJmN1LT5wZXJfY3UtPmR3YXJmMl9wZXJfb2Jq ZmlsZS0+b2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLAorKwkJICAgIGRhdGEgPSAoZ2RiX2J5dGUg Kikgb2JzdGFja19hbGxvYyAoJmN1LT5wZXJfb2JqZmlsZS0+b2JqZmlsZS0+b2JqZmlsZV9vYnN0 YWNrLAogKwkJCSAgICBEV19CTE9DSyAodGFyZ2V0X2F0dHIpLT5zaXplICsgYWRkaXRpb25hbF9k YXRhX3NpemUpOwogKwkJICAgIG1lbWNweSAoZGF0YSwgRFdfQkxPQ0sgKHRhcmdldF9hdHRyKS0+ ZGF0YSwKICsJCQkgICAgRFdfQkxPQ0sgKHRhcmdldF9hdHRyKS0+c2l6ZSk7CkBAIC0zMDAsMTAg KzI5NSwxMyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFk LmMKICsJCSAgICBiYXRvbi0+bG9jZXhwci5zaXplID0gRFdfQkxPQ0sgKHRhcmdldF9hdHRyKS0+ c2l6ZTsKICsJCSAgfQogKwotIAkJcHJvcC0+ZGF0YS5iYXRvbiA9IGJhdG9uOwotIAkJcHJvcC0+ a2luZCA9IFBST1BfTE9DRVhQUjsKLSAJCWdkYl9hc3NlcnQgKHByb3AtPmRhdGEuYmF0b24gIT0g TlVMTCk7Ci1AQCAtMTgwOTksOCArMTgyMjEsOCBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVj dCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAJCXByb3AtPnNldF9sb2Nl eHByIChiYXRvbik7CistCQlnZGJfYXNzZXJ0IChwcm9wLT5iYXRvbiAoKSAhPSBOVUxMKTsKKysJ CWdkYl9hc3NlcnQgKHByb3AtPmJhdG9uKCkgIT0gTlVMTCk7CisgCSAgICAgIH0KKyAJICAgIGVs c2UKKyAJICAgICAgeworQEAgLTE4MzA4LDggKzE4NDIwLDggQEAgcmVhZF9zdWJyYW5nZV90eXBl IChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICAgIH0KICAK ICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9sb3dlcl9ib3VuZCwgY3UpOwpAQCAt MzE0LDcgKzMxMiw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJm MnJlYWQuYwogICAgZWxzZSBpZiAoIWxvd19kZWZhdWx0X2lzX3ZhbGlkKQogICAgICBjb21wbGFp bnQgKF8oIk1pc3NpbmcgRFdfQVRfbG93ZXJfYm91bmQgIgogIAkJCQkgICAgICAiLSBESUUgYXQg JXMgW2luIG1vZHVsZSAlc10iKSwKLUBAIC0xODEwOSwxMCArMTgyMzEsMTAgQEAgcmVhZF9zdWJy YW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitA QCAtMTgzMTgsMTAgKzE4NDMwLDEwIEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9p bmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogIAogICAgc3RydWN0IGF0dHJpYnV0ZSAq YXR0cl91YiwgKmF0dHJfY291bnQ7CiAgICBhdHRyID0gYXR0cl91YiA9IGR3YXJmMl9hdHRyIChk aWUsIERXX0FUX3VwcGVyX2JvdW5kLCBjdSk7CkBAIC0zMjYsODAgKzMyNCw1NCBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKICsgICAgICBpZiAoYXR0 cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZoaWdoLCBiYXNlX3R5cGUsIE5VTEws IDApKQogIAl7CiAgCSAgLyogSWYgYm91bmRzIGFyZSBjb25zdGFudCBkbyB0aGUgZmluYWwgY2Fs Y3VsYXRpb24gaGVyZS4gICovCi0gCSAgaWYgKGxvdy5raW5kID09IFBST1BfQ09OU1QgJiYgaGln aC5raW5kID09IFBST1BfQ09OU1QpCi1AQCAtMTgxNjQsNyArMTgyODYsNyBAQCByZWFkX3N1YnJh bmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKLSAg ICAgICBzdHJ1Y3QgdHlwZSAqcHJvcF90eXBlCi0gCT0gZHdhcmYyX3Blcl9jdV9hZGRyX3NpemVk X2ludF90eXBlIChjdS0+cGVyX2N1LCBmYWxzZSk7CisgCSAgaWYgKGxvdy5raW5kICgpID09IFBS T1BfQ09OU1QgJiYgaGlnaC5raW5kICgpID09IFBST1BfQ09OU1QpCitAQCAtMTgzNzIsNyArMTg0 ODQsNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3Qg ZHdhcmYyX2N1ICpjdSkKKyAgICAgeworICAgICAgIHN0cnVjdCB0eXBlICpwcm9wX3R5cGUgPSBj dS0+YWRkcl9zaXplZF9pbnRfdHlwZSAoZmFsc2UpOwogICAgICAgIGF0dHJfdG9fZHluYW1pY19w cm9wIChhdHRyX2J5dGVfc3RyaWRlLCBkaWUsIGN1LCAmYnl0ZV9zdHJpZGVfcHJvcCwKIC0JCQkg ICAgcHJvcF90eXBlKTsKICsJCQkgICAgcHJvcF90eXBlLCBOVUxMLCAwKTsKICAgICAgfQogIAog ICAgc3RydWN0IGR5bmFtaWNfcHJvcCBiaXRfc3RyaWRlX3Byb3A7Ci1AQCAtMTgxODUsNyArMTgz MDcsNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3Qg ZHdhcmYyX2N1ICpjdSkKLSAJICBzdHJ1Y3QgdHlwZSAqcHJvcF90eXBlCi0gCSAgICA9IGR3YXJm Ml9wZXJfY3VfYWRkcl9zaXplZF9pbnRfdHlwZSAoY3UtPnBlcl9jdSwgZmFsc2UpOworQEAgLTE4 MzkyLDcgKzE4NTA0LDcgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRp ZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCisgCXsKKyAJICBzdHJ1Y3QgdHlwZSAqcHJvcF90eXBl ID0gY3UtPmFkZHJfc2l6ZWRfaW50X3R5cGUgKGZhbHNlKTsKICAJICBhdHRyX3RvX2R5bmFtaWNf cHJvcCAoYXR0cl9iaXRfc3RyaWRlLCBkaWUsIGN1LCAmYml0X3N0cmlkZV9wcm9wLAogLQkJCQlw cm9wX3R5cGUpOwogKwkJCQlwcm9wX3R5cGUsIE5VTEwsIDApOwogIAl9CiAgICAgIH0KICAKLUBA IC0yNTg3OSw3ICsyNjAwMSw3IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUs IHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0yNDQyNCw3ICsy NDUzNiw3IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBl ICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAgIGlmIChhdHRyICE9IE5VTEwpCiAgICAg IHsKLSAgICAgICBzdHJ1Y3QgdHlwZSAqcHJvcF90eXBlCi0gCT0gZHdhcmYyX3Blcl9jdV9hZGRy X3NpemVkX2ludF90eXBlIChjdS0+cGVyX2N1LCBmYWxzZSk7CisgICAgICAgc3RydWN0IHR5cGUg KnByb3BfdHlwZSA9IGN1LT5hZGRyX3NpemVkX2ludF90eXBlIChmYWxzZSk7CiAtICAgICAgaWYg KGF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAmcHJvcCwgcHJvcF90eXBlKSkK ICsgICAgICBpZiAoYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZwcm9wLCBw cm9wX3R5cGUsIE5VTEwsIDApKQotICAgICAgICAgYWRkX2R5bl9wcm9wIChEWU5fUFJPUF9BTExP Q0FURUQsIHByb3AsIHR5cGUpOworICAgICAgICAgdHlwZS0+YWRkX2R5bl9wcm9wIChEWU5fUFJP UF9BTExPQ0FURUQsIHByb3ApOwogICAgICB9Ci0gICBlbHNlIGlmIChhdHRyICE9IE5VTEwpCi1A QCAtMjU4OTUsNyArMjYwMTcsNyBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGll LCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCisgCitAQCAtMjQ0MzMs MTMgKzI0NTQ1LDEzIEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVj dCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAgIGlmIChhdHRyICE9IE5VTEwp CiAgICAgIHsKLSAgICAgICBzdHJ1Y3QgdHlwZSAqcHJvcF90eXBlCi0gCT0gZHdhcmYyX3Blcl9j dV9hZGRyX3NpemVkX2ludF90eXBlIChjdS0+cGVyX2N1LCBmYWxzZSk7CisgICAgICAgc3RydWN0 IHR5cGUgKnByb3BfdHlwZSA9IGN1LT5hZGRyX3NpemVkX2ludF90eXBlIChmYWxzZSk7CiAtICAg ICAgaWYgKGF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAmcHJvcCwgcHJvcF90 eXBlKSkKICsgICAgICBpZiAoYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZw cm9wLCBwcm9wX3R5cGUsIE5VTEwsIDApKQotICAgICAgICAgYWRkX2R5bl9wcm9wIChEWU5fUFJP UF9BU1NPQ0lBVEVELCBwcm9wLCB0eXBlKTsKKyAgICAgICAgIHR5cGUtPmFkZF9keW5fcHJvcCAo RFlOX1BST1BfQVNTT0NJQVRFRCwgcHJvcCk7CiAgICAgIH0KLSAgIGVsc2UgaWYgKGF0dHIgIT0g TlVMTCkKLUBAIC0yNTkwOCw3ICsyNjAzMCw3IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9p bmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAKICAg IC8qIFJlYWQgRFdfQVRfZGF0YV9sb2NhdGlvbiBhbmQgc2V0IGluIHR5cGUuICAqLwogICAgYXR0 ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2RhdGFfbG9jYXRpb24sIGN1KTsKLSAgIGlmIChh dHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnByb3AsCi0tCQkJICAgIGR3YXJm Ml9wZXJfY3VfYWRkcl90eXBlIChjdS0+cGVyX2N1KSkpCi0rCQkJICAgIGR3YXJmMl9wZXJfY3Vf YWRkcl90eXBlIChjdS0+cGVyX2N1KSwgTlVMTCwgMCkpCi0gICAgIGFkZF9keW5fcHJvcCAoRFlO X1BST1BfREFUQV9MT0NBVElPTiwgcHJvcCwgdHlwZSk7CistICBpZiAoYXR0cl90b19keW5hbWlj X3Byb3AgKGF0dHIsIGRpZSwgY3UsICZwcm9wLCBjdS0+YWRkcl90eXBlICgpKSkKKysgIGlmIChh dHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnByb3AsIGN1LT5hZGRyX3R5cGUg KCksIE5VTEwsIDApKQorICAgICB0eXBlLT5hZGRfZHluX3Byb3AgKERZTl9QUk9QX0RBVEFfTE9D QVRJT04sIHByb3ApOwogIAotICAgaWYgKGR3YXJmMl9wZXJfb2JqZmlsZS0+ZGllX3R5cGVfaGFz aCA9PSBOVUxMKQorICAgaWYgKHBlcl9vYmpmaWxlLT5kaWVfdHlwZV9oYXNoID09IE5VTEwpCiBk aWZmIC0tZ2l0IGEvZ2RiL2YtdHlwZXByaW50LmMgYi9nZGIvZi10eXBlcHJpbnQuYwogLS0tIGEv Z2RiL2YtdHlwZXByaW50LmMKICsrKyBiL2dkYi9mLXR5cGVwcmludC5jCi1AQCAtMTk3LDE1ICsx OTcsMTQgQEAgZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChzdHJ1Y3QgdHlwZSAqdHlwZSwg c3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKLSAJcHJpbnRfcmFua19vbmx5ID0gdHJ1ZTsKLSAgICAg ICBlbHNlIGlmICgoVFlQRV9BU1NPQ0lBVEVEX1BST1AgKHR5cGUpCi0gCQkmJiBQUk9QX0NPTlNU ICE9IFRZUEVfRFlOX1BST1BfS0lORCAoVFlQRV9BU1NPQ0lBVEVEX1BST1AgKHR5cGUpKSkKLS0J ICAgICAgIHx8IChUWVBFX0FMTE9DQVRFRF9QUk9QICh0eXBlKQotLQkJICAgJiYgUFJPUF9DT05T VCAhPSBUWVBFX0RZTl9QUk9QX0tJTkQgKFRZUEVfQUxMT0NBVEVEX1BST1AgKHR5cGUpKSkKLS0J ICAgICAgIHx8IChUWVBFX0RBVEFfTE9DQVRJT04gKHR5cGUpCi0tCQkgICAmJiBQUk9QX0NPTlNU ICE9IFRZUEVfRFlOX1BST1BfS0lORCAoVFlQRV9EQVRBX0xPQ0FUSU9OICh0eXBlKSkpKQotLQl7 Ci0tCSAgLyogVGhpcyBjYXNlIGV4aXN0IHdoZW4gd2UgcHR5cGUgYSB0eXBlbmFtZSB3aGljaCBo YXMgdGhlIGR5bmFtaWMKLS0JICAgICBwcm9wZXJ0aWVzIGJ1dCBjYW5ub3QgYmUgcmVzb2x2ZWQg YXMgdGhlcmUgaXMgbm8gb2JqZWN0LiAgKi8KLS0JICBwcmludF9yYW5rX29ubHkgPSB0cnVlOwot LQl9Ci0rCSAgICAgIHx8IChUWVBFX0FMTE9DQVRFRF9QUk9QICh0eXBlKQotKwkJJiYgUFJPUF9D T05TVCAhPSBUWVBFX0RZTl9QUk9QX0tJTkQgKFRZUEVfQUxMT0NBVEVEX1BST1AgKHR5cGUpKSkK LSsJICAgICAgfHwgKFRZUEVfREFUQV9MT0NBVElPTiAodHlwZSkKLSsJCSAgJiYgUFJPUF9DT05T VCAhPSBUWVBFX0RZTl9QUk9QX0tJTkQgKFRZUEVfREFUQV9MT0NBVElPTiAodHlwZSkpKSkKLSsJ LyogVGhpcyBjYXNlIGV4aXN0IHdoZW4gd2UgcHR5cGUgYSB0eXBlbmFtZSB3aGljaCBoYXMgdGhl Ci0rCSAgIGR5bmFtaWMgcHJvcGVydGllcyBidXQgY2Fubm90IGJlIHJlc29sdmVkIGFzIHRoZXJl IGlzCi0rCSAgIG5vIG9iamVjdC4gICovCi0rCXByaW50X3Jhbmtfb25seSA9IHRydWU7Ci0gCi0g ICAgICAgaWYgKFRZUEVfQ09ERSAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSkpID09IFRZUEVfQ09E RV9BUlJBWSkKLSAJZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChUWVBFX1RBUkdFVF9UWVBF ICh0eXBlKSwgc3RyZWFtLCAwLAotQEAgLTIxNyw4ICsyMTYsOSBAQCBmX3R5cGVfcHJpbnRfdmFy c3BlY19zdWZmaXggKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAor QEAgLTIxNyw4ICsyMTcsOSBAQCBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0 eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogICAgICAgIGVsc2UKICAJewogIAkg IExPTkdFU1QgbG93ZXJfYm91bmQgPSBmNzdfZ2V0X2xvd2VyYm91bmQgKHR5cGUpOwpAQCAtNDEw LDcgKzM4Miw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZi10eXBlcHJpbnQuYyBiL2dkYi9mLXR5cGVw cmludC5jCiAgCiAgCSAgLyogTWFrZSBzdXJlIHRoYXQsIGlmIHdlIGhhdmUgYW4gYXNzdW1lZCBz aXplIGFycmF5LCB3ZQogIAkgICAgICAgcHJpbnQgb3V0IGEgd2FybmluZyBhbmQgcHJpbnQgdGhl IHVwcGVyYm91bmQgYXMgJyonLiAgKi8KLUBAIC0yMjksNyArMjI5LDcgQEAgZl90eXBlX3ByaW50 X3ZhcnNwZWNfc3VmZml4IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwKK0BAIC0yMjksNyArMjMwLDcgQEAgZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChzdHJ1 Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKICAJICAgIHsKICAJICAgICAg TE9OR0VTVCB1cHBlcl9ib3VuZCA9IGY3N19nZXRfdXBwZXJib3VuZCAodHlwZSk7CiAgCkBAIC00 MTksNyArMzkxLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9mLXR5cGVwcmludC5jIGIvZ2RiL2YtdHlw ZXByaW50LmMKICAJICAgIH0KICAJfQogIAotQEAgLTI0OSw3ICsyNDksNyBAQCBmX3R5cGVfcHJp bnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3Ry ZWFtLAorQEAgLTI0OSw3ICsyNTAsNyBAQCBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0 cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogICAgICBjYXNlIFRZUEVf Q09ERV9SRUY6CiAgICAgICAgZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChUWVBFX1RBUkdF VF9UWVBFICh0eXBlKSwgc3RyZWFtLCAwLCAxLCAwLAogIAkJCQkgICBhcnJheXByaW50X3JlY3Vy c2VfbGV2ZWwsIGZhbHNlKTsKQEAgLTQzMSwxNyArNDAzLDE3IEBAIGRpZmYgLS1naXQgYS9nZGIv Zi10eXBlcHJpbnQuYyBiL2dkYi9mLXR5cGVwcmludC5jCiBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5 cGVzLmMgYi9nZGIvZ2RidHlwZXMuYwogLS0tIGEvZ2RiL2dkYnR5cGVzLmMKICsrKyBiL2dkYi9n ZGJ0eXBlcy5jCi1AQCAtMTkzOSw3ICsxOTM5LDggQEAgaXNfZHluYW1pY190eXBlX2ludGVybmFs IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IHRvcF9sZXZlbCkKK0BAIC0xOTc3LDcgKzE5NzcsOCBA QCBpc19keW5hbWljX3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgdG9wX2xl dmVsKQogICAgdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHR5cGUpOwogIAogICAgLyogV2Ugb25seSB3 YW50IHRvIHJlY29nbml6ZSByZWZlcmVuY2VzIGF0IHRoZSBvdXRlcm1vc3QgbGV2ZWwuICAqLwot LSAgaWYgKHRvcF9sZXZlbCAmJiBUWVBFX0NPREUgKHR5cGUpID09IFRZUEVfQ09ERV9SRUYpCist ICBpZiAodG9wX2xldmVsICYmIHR5cGUtPmNvZGUgKCkgPT0gVFlQRV9DT0RFX1JFRikKICsgIGlm ICh0b3BfbGV2ZWwgJiYKLSsgICAgICAoVFlQRV9DT0RFICh0eXBlKSA9PSBUWVBFX0NPREVfUkVG IHx8IFRZUEVfQ09ERSAodHlwZSkgPT0gVFlQRV9DT0RFX1BUUikpCisrICAgICAgKHR5cGUtPmNv ZGUgKCkgPT0gVFlQRV9DT0RFX1JFRiB8fCB0eXBlLT4gY29kZSgpID09IFRZUEVfQ09ERV9QVFIp KQogICAgICB0eXBlID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSkpOwog IAogICAgLyogVHlwZXMgdGhhdCBoYXZlIGEgZHluYW1pYyBUWVBFX0RBVEFfTE9DQVRJT04gYXJl IGNvbnNpZGVyZWQKLUBAIC0xOTcyLDEwICsxOTczLDEwIEBAIGlzX2R5bmFtaWNfdHlwZV9pbnRl cm5hbCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCB0b3BfbGV2ZWwpCitAQCAtMjAxNywxMCArMjAx OCwxMCBAQCBpc19keW5hbWljX3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQg dG9wX2xldmVsKQogIAkJfHwgaXNfZHluYW1pY190eXBlX2ludGVybmFsIChUWVBFX1RBUkdFVF9U WVBFICh0eXBlKSwgMCkpOwogICAgICAgIH0KICAKQEAgLTQ1MSwyNiArNDIzLDI2IEBAIGRpZmYg LS1naXQgYS9nZGIvZ2RidHlwZXMuYyBiL2dkYi9nZGJ0eXBlcy5jCiAgICAgIGNhc2UgVFlQRV9D T0RFX0FSUkFZOgogKyAgICBjYXNlIFRZUEVfQ09ERV9TVFJJTkc6CiAgICAgICAgewotIAlnZGJf YXNzZXJ0IChUWVBFX05GSUVMRFMgKHR5cGUpID09IDEpOworIAlnZGJfYXNzZXJ0ICh0eXBlLT5u dW1fZmllbGRzICgpID09IDEpOwogIAotQEAgLTIxMzksMTEgKzIxNDAsMTUgQEAgcmVzb2x2ZV9k eW5hbWljX2FycmF5X29yX3N0cmluZyAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtMjE4MywxMSAr MjE4NCwxNSBAQCByZXNvbHZlX2R5bmFtaWNfYXJyYXlfb3Jfc3RyaW5nIChzdHJ1Y3QgdHlwZSAq dHlwZSwKICAKICAgIGFyeV9kaW0gPSBjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9UWVBFIChl bHRfdHlwZSkpOwogIAotLSAgaWYgKGFyeV9kaW0gIT0gTlVMTCAmJiBUWVBFX0NPREUgKGFyeV9k aW0pID09IFRZUEVfQ09ERV9BUlJBWSkKLSsgIGlmIChhcnlfZGltICE9IE5VTEwgJiYgKFRZUEVf Q09ERSAoYXJ5X2RpbSkgPT0gVFlQRV9DT0RFX0FSUkFZCi0rICAgICAgfHwgVFlQRV9DT0RFIChh cnlfZGltKSA9PSBUWVBFX0NPREVfU1RSSU5HKSkKKy0gIGlmIChhcnlfZGltICE9IE5VTEwgJiYg YXJ5X2RpbS0+Y29kZSAoKSA9PSBUWVBFX0NPREVfQVJSQVkpCisrICBpZiAoYXJ5X2RpbSAhPSBO VUxMICYmIChhcnlfZGltLT5jb2RlICgpID09IFRZUEVfQ09ERV9BUlJBWQorKyAgICAgIHx8IGFy eV9kaW0tPmNvZGUgKCkgPT0gVFlQRV9DT0RFX1NUUklORykpCiAgICAgIGVsdF90eXBlID0gcmVz b2x2ZV9keW5hbWljX2FycmF5X29yX3N0cmluZyAoYXJ5X2RpbSwgYWRkcl9zdGFjayk7CiAgICBl bHNlCiAgICAgIGVsdF90eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAodHlwZSk7CiAgCi0rICBpZiAo VFlQRV9DT0RFICh0eXBlKSA9PSBUWVBFX0NPREVfU1RSSU5HKQorKyAgaWYgKHR5cGUtPmNvZGUg KCkgPT0gVFlQRV9DT0RFX1NUUklORykKICsgICAgcmV0dXJuIGNyZWF0ZV9zdHJpbmdfdHlwZSAo dHlwZSwgZWx0X3R5cGUsIHJhbmdlX3R5cGUpOwogKwotICAgcHJvcCA9IGdldF9keW5fcHJvcCAo RFlOX1BST1BfQllURV9TVFJJREUsIHR5cGUpOworICAgcHJvcCA9IHR5cGUtPmR5bl9wcm9wIChE WU5fUFJPUF9CWVRFX1NUUklERSk7CiAgICBpZiAocHJvcCAhPSBOVUxMKQogICAgICB7Ci1AQCAt MjI5NSw2ICsyMzAwLDI4IEBAIHJlc29sdmVfZHluYW1pY19zdHJ1Y3QgKHN0cnVjdCB0eXBlICp0 eXBlLAorQEAgLTI1MzMsNiArMjUzOCwyNSBAQCByZXNvbHZlX2R5bmFtaWNfc3RydWN0IChzdHJ1 Y3QgdHlwZSAqdHlwZSwKICAgIHJldHVybiByZXNvbHZlZF90eXBlOwogIH0KICAKQEAgLTQ4OCwx MCArNDYwLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5jIGIvZ2RiL2dkYnR5cGVzLmMK ICsgIC8qIFJlc29sdmUgYXNzb2NpYXRlZCBwcm9wZXJ0eS4gICovCiArICBwcm9wID0gVFlQRV9B U1NPQ0lBVEVEX1BST1AgKHR5cGUpOwogKyAgaWYgKHByb3AgIT0gTlVMTCAmJiBkd2FyZjJfZXZh bHVhdGVfcHJvcGVydHkgKHByb3AsIE5VTEwsIGFkZHJfc3RhY2ssICZ2YWx1ZSkpCi0rICAgIHsK LSsgICAgICBUWVBFX0RZTl9QUk9QX0FERFIgKHByb3ApID0gdmFsdWU7Ci0rICAgICAgVFlQRV9E WU5fUFJPUF9LSU5EIChwcm9wKSA9IFBST1BfQ09OU1Q7Ci0rICAgIH0KKysgICAgcHJvcC0+c2V0 X2NvbnN0X3ZhbCAodmFsdWUpOwogKwogKyAgcmV0dXJuIHR5cGU7CiArfQpAQCAtNDk5LDcgKzQ2 OCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuYyBiL2dkYi9nZGJ0eXBlcy5jCiAgLyog V29ya2VyIGZvciByZXNvbHZlZF9keW5hbWljX3R5cGUuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3Qg dHlwZSAqCi1AQCAtMjM0OSw2ICsyMzc2LDkgQEAgcmVzb2x2ZV9keW5hbWljX3R5cGVfaW50ZXJu YWwgKHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTI1OTQsNiArMjYxOCw5IEBAIHJlc29sdmVfZHlu YW1pY190eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJY2FzZSBUWVBFX0NPREVf QVJSQVk6CiAgCSAgcmVzb2x2ZWRfdHlwZSA9IHJlc29sdmVfZHluYW1pY19hcnJheV9vcl9zdHJp bmcgKHR5cGUsIGFkZHJfc3RhY2spOwogIAkgIGJyZWFrOwpAQCAtODA0LDcgKzc3Myw3IEBAIGRp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50X3R5cGUuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhCiAgIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICMgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAj IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yCi1AQCAtNDAsNyArNDEsNyBAQCBzZXQgY29tcGxleCBbZm9ydHJhbl9jb21wbGV4 NF0KK0BAIC00Miw3ICs0Myw3IEBAIHNldCBjb21wbGV4IFtmb3J0cmFuX2NvbXBsZXg0XQogICMg bWF0Y2hlcyB0aGUgc3RyaW5nIFRZUEUuCiAgcHJvYyBjaGVja19wb2ludGVyX3R5cGUgeyB2YXJf bmFtZSB0eXBlIH0gewogICAgICBnZGJfdGVzdCAicHR5cGUgJHt2YXJfbmFtZX0iIFwKQEAgLTgx Myw3ICs3ODIsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmlu dF90eXBlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYQogIH0KICAKICBnZGJfYnJlYWtw b2ludCBbZ2RiX2dldF9saW5lX251bWJlciAiQmVmb3JlIHBvaW50ZXIgYXNzaWdubWVudCJdCi1A QCAtODUsNyArODYsOCBAQCBnZGJfdGVzdCAicHR5cGUgdHdvcCIgXAorQEAgLTg3LDcgKzg4LDgg QEAgZ2RiX3Rlc3QgInB0eXBlIHR3b3AiIFwKICAgICAgW211bHRpX2xpbmUgInR5cGUgPSBQVFIg VE8gLT4gXFwoIFR5cGUgdHdvIiBcCiAgICAgICAgICAgICAgICAgICIgICAgJGludCwgYWxsb2Nh dGFibGUgOjogaXZsYTFcXCg6XFwpIiBcCiAgICAgICAgICAgICAgICAgICIgICAgJGludCwgYWxs b2NhdGFibGUgOjogaXZsYTJcXCg6LDpcXCkiIFwKQEAgLTgyMyw3ICs3OTIsNyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cCBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYQogIAogIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVy ICJBZnRlciB2YWx1ZSBhc3NpZ25tZW50Il0KICBnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAi QWZ0ZXIgdmFsdWUgYXNzaWdubWVudCIKLUBAIC05NywxMSArOTksMTEgQEAgZ2RiX3Rlc3QgInB0 eXBlIGludHYiICJ0eXBlID0gJGludCIKK0BAIC05OSwxMSArMTAxLDExIEBAIGdkYl90ZXN0ICJw dHlwZSBpbnR2IiAidHlwZSA9ICRpbnQiCiAgZ2RiX3Rlc3QgInB0eXBlIGludGEiICJ0eXBlID0g JGludCBcXCgxMCwyXFwpIgogIGdkYl90ZXN0ICJwdHlwZSByZWFsdiIgInR5cGUgPSAkcmVhbCIK ICAKQEAgLTg0MCw3ICs4MDksNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9wcmludF90eXBlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYQogIHNldCB0ZXN0 ICJwdHlwZSBpbnRhcCIKICBnZGJfdGVzdF9tdWx0aXBsZSAkdGVzdCAkdGVzdCB7CiAgICAgIC1y ZSAidHlwZSA9ICRpbnQgXFwoMTAsMlxcKVxyXG4kZ2RiX3Byb21wdCAkIiB7Ci1AQCAtMTExLDQg KzExMyw0IEBAIGdkYl90ZXN0X211bHRpcGxlICR0ZXN0ICR0ZXN0IHsKK0BAIC0xMTMsNCArMTE1 LDQgQEAgZ2RiX3Rlc3RfbXVsdGlwbGUgJHRlc3QgJHRlc3QgewogICAgICAgICAgcGFzcyAkdGVz dAogICAgICB9CiAgfQpAQCAtMTAwMSw3ICs5NzAsNyBAQCBuZXcgZmlsZSBtb2RlIDEwMDY0NAog ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cAogLS0tIGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS12YWx1ZS5leHAKLUBAIC0zNSw3ICszNSw3IEBAIGdkYl9icmVha3BvaW50IFtnZGJf Z2V0X2xpbmVfbnVtYmVyICJ2bGExLWluaXQiXQorQEAgLTM3LDcgKzM3LDcgQEAgZ2RiX2JyZWFr cG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInZsYTEtaW5pdCJdCiAgZ2RiX2NvbnRpbnVlX3Rv X2JyZWFrcG9pbnQgInZsYTEtaW5pdCIKICBnZGJfdGVzdCAicHJpbnQgdmxhMSIgIiA9IDxub3Qg YWxsb2NhdGVkPiIgInByaW50IG5vbi1hbGxvY2F0ZWQgdmxhMSIKICBnZGJfdGVzdCAicHJpbnQg JnZsYTEiIFwKQEAgLTEwMTAsNyArOTc5LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4KICAg ICJwcmludCBub24tYWxsb2NhdGVkICZ2bGExIgogIGdkYl90ZXN0ICJwcmludCB2bGExKDEsMSwx KSIgIm5vIHN1Y2ggdmVjdG9yIGVsZW1lbnQgXFxcKHZlY3RvciBub3QgYWxsb2NhdGVkXFxcKSIg XAogICAgInByaW50IG1lbWJlciBpbiBub24tYWxsb2NhdGVkIHZsYTEgKDEpIgotQEAgLTU2LDcg KzU2LDcgQEAgd2l0aF90aW1lb3V0X2ZhY3RvciAxNSB7CitAQCAtNTgsNyArNTgsNyBAQCB3aXRo X3RpbWVvdXRfZmFjdG9yIDE1IHsKICAJInN0ZXAgb3ZlciB2YWx1ZSBhc3NpZ25tZW50IG9mIHZs YTEiCiAgfQogIGdkYl90ZXN0ICJwcmludCAmdmxhMSIgXApAQCAtMTAxOSw3ICs5ODgsNyBAQCBk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbgogICAgInByaW50IGFsbG9jYXRlZCAmdmxhMSIKICBnZGJf dGVzdCAicHJpbnQgdmxhMSgzLCA2LCA5KSIgIiA9IDEzMTEiICJwcmludCBhbGxvY2F0ZWQgdmxh MSgzLDYsOSkiCiAgZ2RiX3Rlc3QgInByaW50IHZsYTEoMSwgMywgOCkiICIgPSAxMzExIiAicHJp bnQgYWxsb2NhdGVkIHZsYTEoMSwzLDgpIgotQEAgLTc2LDcgKzc2LDcgQEAgZ2RiX3Rlc3QgInBy aW50IHZsYTEoOSwgOSwgOSkiICIgPSA5OTkiIFwKK0BAIC03OCw3ICs3OCw3IEBAIGdkYl90ZXN0 ICJwcmludCB2bGExKDksIDksIDkpIiAiID0gOTk5IiBcCiAgIyBUcnkgdG8gYWNjZXNzIHZhbHVl cyBpbiB1bmRlZmluZWQgcG9pbnRlciB0byBWTEEgKGRhbmdsaW5nKQogIGdkYl90ZXN0ICJwcmlu dCBwdmxhIiAiID0gPG5vdCBhc3NvY2lhdGVkPiIgInByaW50IHVuZGVmaW5lZCBwdmxhIgogIGdk Yl90ZXN0ICJwcmludCAmcHZsYSIgXApAQCAtMTAyOCw3ICs5OTcsNyBAQCBkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbgogICAgInByaW50IG5vbi1hc3NvY2lhdGVkICZwdmxhIgogIGdkYl90ZXN0ICJw cmludCBwdmxhKDEsIDMsIDgpIiAibm8gc3VjaCB2ZWN0b3IgZWxlbWVudCBcXFwodmVjdG9yIG5v dCBhc3NvY2lhdGVkXFxcKSIgXAogICAgInByaW50IHVuZGVmaW5lZCBwdmxhKDEsMyw4KSIKLUBA IC04NSw3ICs4NSw3IEBAIGdkYl90ZXN0ICJwcmludCBwdmxhKDEsIDMsIDgpIiAibm8gc3VjaCB2 ZWN0b3IgZWxlbWVudCBcXFwodmVjdG9yIG5vdCBhc3NvY2lhdGVkCitAQCAtODcsNyArODcsNyBA QCBnZGJfdGVzdCAicHJpbnQgcHZsYSgxLCAzLCA4KSIgIm5vIHN1Y2ggdmVjdG9yIGVsZW1lbnQg XFxcKHZlY3RvciBub3QgYXNzb2NpYXRlZAogIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVf bnVtYmVyICJwdmxhLWFzc29jaWF0ZWQiXQogIGdkYl9jb250aW51ZV90b19icmVha3BvaW50ICJw dmxhLWFzc29jaWF0ZWQiCiAgZ2RiX3Rlc3QgInByaW50ICZwdmxhIiBcCkBAIC0xMDQwLDcgKzEw MDksNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUu ZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbgogZGlmZiAtLWdpdCBhL2dkYi90eXBlcHJp bnQuYyBiL2dkYi90eXBlcHJpbnQuYwogLS0tIGEvZ2RiL3R5cGVwcmludC5jCiArKysgYi9nZGIv dHlwZXByaW50LmMKLUBAIC01NzQsNiArNTc0LDI1IEBAIHdoYXRpc19leHAgKGNvbnN0IGNoYXIg KmV4cCwgaW50IHNob3cpCitAQCAtNTY1LDYgKzU2NSwyNSBAQCB3aGF0aXNfZXhwIChjb25zdCBj aGFyICpleHAsIGludCBzaG93KQogICAgICAgIHByaW50Zl9maWx0ZXJlZCAoIiAqL1xuIik7ICAg IAogICAgICB9CiAgCkBAIC0xMDQ4LDcgKzEwMTcsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3R5cGVw cmludC5jIGIvZ2RiL3R5cGVwcmludC5jCiArICAgICBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFi b3V0IHRoZSB0YXJnZXQuCiArICAgICBGb3IgZXhhbXBsZSwgaW4gRm9ydHJhbiBhbmQgQyB3ZSBh cmUgcHJpbnRpbmcgdGhlIGRpbWVuc2lvbiBvZiB0aGUKICsgICAgIGR5bmFtaWMgYXJyYXkgdGhl IHBvaW50ZXIgaXMgcG9pbnRpbmcgdG8uICAqLwotKyAgaWYgKFRZUEVfQ09ERSAodHlwZSkgPT0g VFlQRV9DT0RFX1BUUgorKyAgaWYgKHR5cGUtPmNvZGUgKCkgPT0gVFlQRV9DT0RFX1BUUgogKyAg ICAgICYmIGlzX2R5bmFtaWNfdHlwZSAodHlwZSkgPT0gMSkKICsgICAgewogKyAgICAgIENPUkVf QUREUiBhZGRyOwpAQCAtMTA2MCw3ICsxMDI5LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi90eXBlcHJp bnQuYyBiL2dkYi90eXBlcHJpbnQuYwogKyAgICAgIGlmIChhZGRyICE9IDAKICsJICAmJiB0eXBl X25vdF9hc3NvY2lhdGVkICh0eXBlKSA9PSAwKQogKwlUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSA9 IHJlc29sdmVfZHluYW1pY190eXBlIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSwKLSsJCQkJCQkJ TlVMTCwgYWRkcik7CisrCQkJCQkJCXt9LCBhZGRyKTsKICsgICAgfQogKwogICAgTEFfUFJJTlRf VFlQRSAodHlwZSwgIiIsIGdkYl9zdGRvdXQsIHNob3csIDAsICZmbGFncyk7CkBAIC0xMDcwLDcg KzEwMzksNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbG9wcy5jIGIvZ2RiL3ZhbG9wcy5jCiAtLS0g YS9nZGIvdmFsb3BzLmMKICsrKyBiL2dkYi92YWxvcHMuYwogQEAgLTE1NTMsNiArMTU1MywxOSBA QCB2YWx1ZV9pbmQgKHN0cnVjdCB2YWx1ZSAqYXJnMSkKLSAgIGlmIChUWVBFX0NPREUgKGJhc2Vf dHlwZSkgPT0gVFlQRV9DT0RFX1BUUikKKyAgIGlmIChiYXNlX3R5cGUtPmNvZGUgKCkgPT0gVFlQ RV9DT0RFX1BUUikKICAgICAgewogICAgICAgIHN0cnVjdCB0eXBlICplbmNfdHlwZTsKICsgICAg ICBDT1JFX0FERFIgYWRkcjsKQEAgLTEwODUsMjQgKzEwNTQsMjQgQEAgZGlmZiAtLWdpdCBhL2dk Yi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYwogKwogKyAgICAgIGlmIChhZGRyICE9IDApCiArCVRZ UEVfVEFSR0VUX1RZUEUgKGJhc2VfdHlwZSkgPQotKwkgICAgcmVzb2x2ZV9keW5hbWljX3R5cGUg KFRZUEVfVEFSR0VUX1RZUEUgKGJhc2VfdHlwZSksIE5VTEwsIGFkZHIpOworKwkgICAgcmVzb2x2 ZV9keW5hbWljX3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUgKGJhc2VfdHlwZSksIHt9LCBhZGRyKTsK ICAKICAgICAgICAvKiBXZSBtYXkgYmUgcG9pbnRpbmcgdG8gc29tZXRoaW5nIGVtYmVkZGVkIGlu IGEgbGFyZ2VyIG9iamVjdC4KICAgICAgICAgICBHZXQgdGhlIHJlYWwgdHlwZSBvZiB0aGUgZW5j bG9zaW5nIG9iamVjdC4gICovCi1AQCAtMTU2OCw4ICsxNTgxLDcgQEAgdmFsdWVfaW5kIChzdHJ1 Y3QgdmFsdWUgKmFyZzEpCitAQCAtMTU3MCw4ICsxNTgzLDcgQEAgdmFsdWVfaW5kIChzdHJ1Y3Qg dmFsdWUgKmFyZzEpCiAgICAgICAgZWxzZQotIAkvKiBSZXRyaWV2ZSB0aGUgZW5jbG9zaW5nIG9i amVjdCBwb2ludGVkIHRvLiAgKi8KLSAJYXJnMiA9IHZhbHVlX2F0X2xhenkgKGVuY190eXBlLCAK LS0JCQkgICAgICAodmFsdWVfYXNfYWRkcmVzcyAoYXJnMSkKLS0JCQkgICAgICAgLSB2YWx1ZV9w b2ludGVkX3RvX29mZnNldCAoYXJnMSkpKTsKLSsJCQkgICAgICAoYWRkciAtIHZhbHVlX3BvaW50 ZWRfdG9fb2Zmc2V0IChhcmcxKSkpOwotIAorIAl7CisgCSAgLyogUmV0cmlldmUgdGhlIGVuY2xv c2luZyBvYmplY3QgcG9pbnRlZCB0by4gICovCistCSAgYmFzZV9hZGRyID0gKHZhbHVlX2FzX2Fk ZHJlc3MgKGFyZzEpCistCQkgICAgICAgLSB2YWx1ZV9wb2ludGVkX3RvX29mZnNldCAoYXJnMSkp OworKwkgIGJhc2VfYWRkciA9IChhZGRyIC0gdmFsdWVfcG9pbnRlZF90b19vZmZzZXQgKGFyZzEp KTsKKyAJfQorICAgICAgIGFyZzIgPSB2YWx1ZV9hdF9sYXp5IChlbmNfdHlwZSwgYmFzZV9hZGRy KTsKICAgICAgICBlbmNfdHlwZSA9IHZhbHVlX3R5cGUgKGFyZzIpOwotICAgICAgIHJldHVybiBy ZWFkanVzdF9pbmRpcmVjdF92YWx1ZV90eXBlIChhcmcyLCBlbmNfdHlwZSwgYmFzZV90eXBlLCBh cmcxKTsKIGRpZmYgLS1naXQgYS9nZGIvdmFscHJpbnQuYyBiL2dkYi92YWxwcmludC5jCiAtLS0g YS9nZGIvdmFscHJpbnQuYwogKysrIGIvZ2RiL3ZhbHByaW50LmMKLUBAIC0xMTQ5LDEyICsxMTQ5 LDYgQEAgdmFsdWVfY2hlY2tfcHJpbnRhYmxlIChzdHJ1Y3QgdmFsdWUgKnZhbCwgc3RydWN0IHVp X2ZpbGUgKnN0cmVhbSwKK0BAIC0xMDQ2LDEyICsxMDQ2LDYgQEAgdmFsdWVfY2hlY2tfcHJpbnRh YmxlIChzdHJ1Y3QgdmFsdWUgKnZhbCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKICAgICAgICBy ZXR1cm4gMDsKICAgICAgfQogIAoKZGlmZiAtLWdpdCBhL2dkYi12bGEtaW50ZWwtc3RyaW5nYnQt Zml4LnBhdGNoIGIvZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1maXgucGF0Y2gKaW5kZXggYWVkYzdi MS4uMWEyYmJiMSAxMDA2NDQKLS0tIGEvZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1maXgucGF0Y2gK KysrIGIvZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1maXgucGF0Y2gKQEAgLTI3LDEwICsyNywxMCBA QCBjYW5ub3QgcmVwcm9kdWNlIGl0LgogVGhhbmtzLAogSmFuCiAKLWRpZmYgLS1naXQgYS9nZGIv ZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9jLmMKLS0tLSBhL2dkYi9kd2FyZjJsb2MuYwotKysr IGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtMjE1NCw2ICsyMTU0LDIwIEBAIGR3YXJmMl9ldmFsdWF0 ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGZyYW1lX2luZm8gKmZy YW1lLAorZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIvbG9jLmMgYi9nZGIvZHdhcmYyL2xvYy5jCist LS0gYS9nZGIvZHdhcmYyL2xvYy5jCisrKysgYi9nZGIvZHdhcmYyL2xvYy5jCitAQCAtMjI0OSw2 ICsyMjQ5LDIwIEBAIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3QgdHlwZSAq dHlwZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAogICAgY3R4LnBlcl9jdSA9IHBlcl9jdTsK ICAgIGN0eC5vYmpfYWRkcmVzcyA9IDA7CiAgCkBAIC01MCw3ICs1MCw3IEBAIGRpZmYgLS1naXQg YS9nZGIvZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9jLmMKICsKICAgIHNjb3BlZF92YWx1ZV9t YXJrIGZyZWVfdmFsdWVzOwogIAotICAgY3R4LmdkYmFyY2ggPSBnZXRfb2JqZmlsZV9hcmNoIChv YmpmaWxlKTsKKyAgIGN0eC5nZGJhcmNoID0gcGVyX29iamZpbGUtPm9iamZpbGUtPmFyY2ggKCk7 CiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZy YW1lLXN0dWIuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZy YW1lLXN0dWIuZjkwCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAogLS0tIC9kZXYvbnVsbAoKZGlmZiAt LWdpdCBhL2dkYi12bGEtaW50ZWwtdGVzdHMucGF0Y2ggYi9nZGItdmxhLWludGVsLXRlc3RzLnBh dGNoCmluZGV4IDQ4MTRiNzEuLmJmZGU3NDIgMTAwNjQ0Ci0tLSBhL2dkYi12bGEtaW50ZWwtdGVz dHMucGF0Y2gKKysrIGIvZ2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaApAQCAtMTgsMTIgKzE4LDE1 IEBAIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3B0ci1pbmRlbnRhdGlv bi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9wdHlwZS1vbi1mdW5jdGlvbnMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9wdHlwZS1vbi1mdW5jdGlvbnMuZXhwCiAtLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3B0eXBlLW9uLWZ1bmN0aW9ucy5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vcHR5cGUtb24tZnVuY3Rpb25zLmV4cAotQEAgLTQyLDQgKzQyLDQgQEAgZ2RiX3Rlc3QgInB0 eXBlIHNheV9udW1iZXJzIiBcCitAQCAtNDIsNyArNDIsNyBAQCBnZGJfdGVzdCAicHR5cGUgc2F5 X251bWJlcnMiIFwKICAgICAgInR5cGUgPSB2b2lkIFxcKGludGVnZXJcXChraW5kPTRcXCksIGlu dGVnZXJcXChraW5kPTRcXCksIGludGVnZXJcXChraW5kPTRcXClcXCkiCiAgCiAgZ2RiX3Rlc3Qg InB0eXBlIGZ1bl9wdHIiIFwKIC0gICAgInR5cGUgPSBQVFIgVE8gLT4gXFwoIGludGVnZXJcXChr aW5kPTRcXCkgXFwoXFwpIFxcKFJFRiBUTyAtPiBcXCggaW50ZWdlclxcKGtpbmQ9NFxcKSBcXClc XCkgXFwpIgogKyAgICAidHlwZSA9IFBUUiBUTyAtPiBcXCggaW50ZWdlclxcKGtpbmQ9NFxcKSBc XChcXCkgXFwoUkVGIFRPIC0+IFxcKCBpbnRlZ2VyXFwoa2luZD00XFwpXFwpXFwpXFwpIgorIAor IGdkYl90ZXN0ICJwdHlwZSBzYXlfc3RyaW5nIiBcCisgICAgICJ0eXBlID0gdm9pZCBcXChjaGFy YWN0ZXJcXCpcXChcXCpcXCksIGludGVnZXJcXChraW5kPVxcZCtcXClcXCkiCiBkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZnVuYy5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmV4cAogbmV3IGZpbGUgbW9kZSAxMDA2NDQKIC0tLSAvZGV2 L251bGwKQEAgLTE2OSwxMiArMTcyLDEyIEBAIG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiBkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHRyLWluZm8uZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHRyLWluZm8uZXhwCiAtLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vdmxhLXB0ci1pbmZvLmV4cAotQEAgLTI4LDUgKzI4LDUgQEAgaWYgIVtydW50b19tYWlu XSB7CitAQCAtMzMsNSArMzMsNSBAQCBzZXQgcmVhbDQgW2ZvcnRyYW5fcmVhbDRdCiAgIyBDaGVj ayB0aGUgc3RhdHVzIG9mIGEgcG9pbnRlciB0byBhIGR5bmFtaWMgYXJyYXkuCiAgZ2RiX2JyZWFr cG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInB2bGEtYXNzb2NpYXRlZCJdCiAgZ2RiX2NvbnRp bnVlX3RvX2JyZWFrcG9pbnQgInB2bGEtYXNzb2NpYXRlZCIKLS1nZGJfdGVzdCAicHJpbnQgJnB2 bGEiICIgPSBcXChQVFIgVE8gLT4gXFwoIHJlYWxcXChraW5kPTRcXCkgXFwoMTAsMTAsMTBcXCkg XFwpXFwpICR7aGV4fSIgXAotK2dkYl90ZXN0ICJwcmludCAmcHZsYSIgIiA9IFxcKFBUUiBUTyAt PiBcXCggcmVhbFxcKGtpbmQ9NFxcKSBcXCgxMCwxMCwxMFxcKVxcKVxcKSAke2hleH0iIFwKKy1n ZGJfdGVzdCAicHJpbnQgJnB2bGEiICIgPSBcXChQVFIgVE8gLT4gXFwoICRyZWFsNCBcXCgxMCwx MCwxMFxcKSBcXClcXCkgJHtoZXh9IiBcCisrZ2RiX3Rlc3QgInByaW50ICZwdmxhIiAiID0gXFwo UFRSIFRPIC0+IFxcKCAkcmVhbDQgXFwoMTAsMTAsMTBcXClcXClcXCkgJHtoZXh9IiBcCiAgICAi cHJpbnQgcHZsYSBwb2ludGVyIGluZm9ybWF0aW9uIgogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3NvbGQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi92bGEtc3RyaW5nc29sZC5leHAKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0CgpkaWZmIC0tZ2l0 IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCBjYTA4NDVhLi5iMjE4ZTYyIDEwMDY0NAotLS0g YS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMzEsMTMgKzMxLDEzIEBAIE5hbWU6ICV7P3Nj bF9wcmVmaXh9Z2RiCiAjIEZyZWV6ZSBpdCB3aGVuIEdEQiBnZXRzIGJyYW5jaGVkCiAlZ2xvYmFs IHNuYXBzcmMgICAgMjAyMDAyMDgKICMgU2VlIHRpbWVzdGFtcCBvZiBzb3VyY2UgZ251bGliIGlu c3RhbGxlZCBpbnRvIGdudWxpYi8gLgotJWdsb2JhbCBzbmFwZ251bGliIDIwMTkxMjE2CislZ2xv YmFsIHNuYXBnbnVsaWIgMjAyMDA2MzAKICVnbG9iYWwgdGFybmFtZSBnZGItJXt2ZXJzaW9ufQot VmVyc2lvbjogOS4yCitWZXJzaW9uOiAxMC4xCiAKICMgVGhlIHJlbGVhc2UgYWx3YXlzIGNvbnRh aW5zIGEgbGVhZGluZyByZXNlcnZlZCBudW1iZXIsIHN0YXJ0IGl0IGF0IDEuCiAjIGB1cHN0cmVh bScgaXMgbm90IGEgcGFydCBvZiBgbmFtZScgdG8gc3RheSBmdWxseSBycG0gZGVwZW5kZW5jaWVz IGNvbXBhdGlibGUgZm9yIHRoZSB0ZXN0aW5nLgotUmVsZWFzZTogOCV7P2Rpc3R9CitSZWxlYXNl OiAxJXs/ZGlzdH0KIAogTGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25z IGFuZCBHUEx2MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2 MisgYW5kIExHUEx2MysgYW5kIEJTRCBhbmQgUHVibGljIERvbWFpbiBhbmQgR0ZETAogIyBEbyBu b3QgcHJvdmlkZSBVUkwgZm9yIHNuYXBzaG90cyBhcyB0aGUgZmlsZSBsYXN0cyB0aGVyZSBvbmx5 IGZvciAyIGRheXMuCkBAIC0yMDUsMTAgKzIwNSw2IEBAIFBhdGNoMTExOTogZ2RiLXRlc3RzdWl0 ZS1yZWFkbGluZTYzLXNpZ2ludC1yZXZlcnQucGF0Y2gKICNwdXNoPVNob3VsZCBiZSBwdXNoZWQg dXBzdHJlYW0uCiBQYXRjaDIwMDA6IGdkYi1jb25maWcucGF0Y2gKIAotIyBGaXggdHlwZSBtaXNt YXRjaCBpc3N1ZSBleHBvc2VkIGJ5IExUTwotI3B1c2g9U2hvdWxkIGJlIHB1c2hlZCB1cHN0cmVh bS4KLVBhdGNoMjAwMTogZ2RiLWx0b2ZpeC5wYXRjaAotCiAjIEluY2x1ZGUgdGhlIGF1dG8tZ2Vu ZXJhdGVkIGZpbGUgY29udGFpbmluZyB0aGUgIlBhdGNoOiIgZGlyZWN0aXZlcy4KICMgU2VlIFJF QURNRS5sb2NhbC1wYXRjaGVzIGZvciBtb3JlIGRldGFpbHMuCiBQYXRjaDk5OTg6IF9nZGIuc3Bl Yy5QYXRjaC5pbmNsdWRlCkBAIC00OTcsNyArNDkzLDYgQEAgZG9uZQogJWVuZGlmCiAKICVwYXRj aDIwMDAgLXAxCi0lcGF0Y2gyMDAxIC1wMQogCiAjIFRoZSBhYm92ZSBwYXRjaGVzIHR3aWRkbGUg YSAubTQgZmlsZSBmb3IgY29uZmlndXJlLCBzbyB1cGRhdGUgdGhlIGFmZmVjdGVkCiAjIGNvbmZp Z3VyZSBmaWxlcwpAQCAtMTE4OSw2ICsxMTg0LDE4IEBAIGZpCiAlZW5kaWYKIAogJWNoYW5nZWxv ZworKiBXZWQgTm92IDA0IDIwMjAgS2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29tPiAt IDEwLjEtMQorLSBSZWJhc2UgdG8gRlNGIEdEQiAxMC4xLgorLSBCdW1wICdzbmFwZ251bGliJyBk YXRlLgorLSBEcm9wIGdkYi1yaGJ6MTgxODAxMS1iZmQtZ2NjMTAtZXJyb3IucGF0Y2guCistIERy b3AgZ2RiLXJoYnoxODIyNzE1LWZpeC1weXRob24tZGVwcmVjYXRpb24ucGF0Y2guCistIERyb3Ag Z2RiLXJoYnoxODI5NzAyLWZpeC1weXRob24zOS5wYXRjaC4KKy0gRHJvcCBnZGItcmhiejE4Mzg3 NzctZGVidWdpbmZvZC5wYXRjaC4KKy0gRHJvcCBnZGItcmhiejE4NDQ0NTgtdXNlLWZwdXRYX3Vu ZmlsdGVyZWQucGF0Y2guCistIERyb3AgZ2RiLXJoYnoxODY5NDg0LWRlbGV0ZWQtd29ya2luZy1k aXJlY3RvcnkuCistIEFkanVzdCBidWlsZC1pZCByZWxhdGVkIHBhdGNoZXMuCistIEFqdXN0IFZM QSBwYXRjaGVzLgorCiAqIE1vbiBOb3YgIDIgMjAyMCBLZXZpbiBCdWV0dG5lciA8a2V2aW5iQHJl ZGhhdC5jb20+IC0gOS4yLTgKIC0gQmFja3BvcnQgcGF0Y2hlcyBmaXhpbmcgYWJvcnQgd2hlbiB3 b3JraW5nIGRpcmVjdG9yeSBpcyBkZWxldGVkLgogICAoUkhCWiAxODY5NDg0LCBTZXJnaW8gRHVy aWdhbiBKdW5pb3IpCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggMmEzNDI1 ZC4uOTY1MDdjYyAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDMgKzEs MyBAQAogU0hBNTEyIChnZGItbGlic3RkYysrLXYzLXB5dGhvbi04LjEuMS0yMDE4MDYyNi50YXIu eHopID0gYThiMWM1NGRkMzQ4Y2ZlYjM3ZGE3M2Y5Njg3NDI4OTZiZTNkZDEzYTQyMTVmOGQ4NTE5 ODcwYzJhYmVhOTE1ZjUxNzZjM2ZhNjk4OWRkZDEwZjIwMDIwYTE2ZjBmYWIyMGNiYWU2OGVlOGQ1 OGE4MjIzNGQ4Nzc4MDIzNTIwZjgKIFNIQTUxMiAodjIuMC4yLnRhci5neikgPSBiYzI1NmE1N2E4 NDgxZTBiZTgyMjA2MjRkYTNjY2YxZmU0YmYwZWE4M2U5ODA4ZmRmMGFhZDZkYjg2NWFlZTQwMmEz NmU3ODI4NWVmYjAzMTZjMDE2ZjU3ZTBkNmZjNTZiNjQ3ZWU4ZTlhMmFkNGIwNWJmYzFhZDY4ZGRk ZTUzNQotU0hBNTEyIChnZGItOS4yLnRhci54eikgPSA3MzYzNWYwMGYzNDMxMTdhYTVlMjQzNmYx ZTE1OTcwOTllMmJmYjMxZWY3YmIxNjJiMjczZmExZWEyODJjM2ZhOWIwZjUyNzYyZTcwYmZjN2Fk MDMzNGFkZGI4ZDE1OWU5YWM3Y2JlNTk5OGNhNGY3NTVlYThjZjkwNzE0ZDI3NAorU0hBNTEyIChn ZGItMTAuMS50YXIueHopID0gMGRjNTQzODA0MzVjNjg1M2RiNjBmMWUzODhiOTQ4MzZkMjk0ZGZh OWFkN2Y1MTgzODVhMjdkYjRlZGQwM2NiOTcwZjg3MTdkNWYxZTljOWEwZDRhMzNkN2ZjZjkxYmMy ZTVkNmM5Y2Y5ZTRiNTYxZGNjNzRlNjViODA2YzE1MzcK