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] gdb-17.2-rebase-f44: Rebase to FSF GDB 10.1. Date: Sun, 28 Jun 2026 00:00:05 GMT Message-ID: <178260480544.1.8368842123247641320.rpms-gdb-ed8730b4d972@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: ed8730b4d9720b8c71cb7de29ce2165f730955cc ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogZWQ4NzMwYjRkOTcyMGI4YzcxY2I3ZGUyOWNlMjE2NWY3MzA5 NTVjYwogICAgICAgICAgICBBdXRob3IgOiBLZXZpbiBCdWV0dG5lciA8a2V2aW5iQHJlZGhhdC5j b20+CiAgICAgICAgICAgIERhdGUgICA6IDIwMjAtMTEtMDVUMTQ6MTc6MjQtMDc6MDAKICAgICAg ICAgICAgU3RhdHMgIDogKzYwNS8tMjYyNSBpbiA0NSBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAg ICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2RiL2MvZWQ4NzMwYjRkOTcy MGI4YzcxY2I3ZGUyOWNlMjE2NWY3MzA5NTVjYz9icmFuY2g9Z2RiLTE3LjItcmViYXNlLWY0NAoK ICAgICAgICAgICAgTG9nOgogICAgICAgICAgICBSZWJhc2UgdG8gRlNGIEdEQiAxMC4xLgpCdW1w ICdzbmFwZ251bGliJyBkYXRlLgpEcm9wIGdkYi1yaGJ6MTgxODAxMS1iZmQtZ2NjMTAtZXJyb3Iu cGF0Y2guCkRyb3AgZ2RiLXJoYnoxODIyNzE1LWZpeC1weXRob24tZGVwcmVjYXRpb24ucGF0Y2gu CkRyb3AgZ2RiLXJoYnoxODI5NzAyLWZpeC1weXRob24zOS5wYXRjaC4KRHJvcCBnZGItcmhiejE4 Mzg3NzctZGVidWdpbmZvZC5wYXRjaC4KRHJvcCBnZGItcmhiejE4NDQ0NTgtdXNlLWZwdXRYX3Vu ZmlsdGVyZWQucGF0Y2guCkRyb3AgZ2RiLXJoYnoxODY5NDg0LWRlbGV0ZWQtd29ya2luZy1kaXJl Y3RvcnkuCkFkanVzdCBidWlsZC1pZCByZWxhdGVkIHBhdGNoZXMuCkFqdXN0IFZMQSBwYXRjaGVz LgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCBiODNjZmRm Li5iZjlkMjRhIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTEs NCArMSw0IEBACiAvYmludXRpbHMtZ2RiCiAvZ2RiLWxpYnN0ZGMrKy12My1weXRob24tOC4xLjEt MjAxODA2MjYudGFyLnh6Ci0vZ2RiLTkuMi50YXIueHoKIC92Mi4wLjIudGFyLmd6CisvZ2RiLTEw LjEudGFyLnh6CgpkaWZmIC0tZ2l0IGEvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUgYi9fZ2RiLnNw ZWMuUGF0Y2guaW5jbHVkZQppbmRleCAyNDI4OWQzLi43MDYwYmNkIDEwMDY0NAotLS0gYS9fZ2Ri LnNwZWMuUGF0Y2guaW5jbHVkZQorKysgYi9fZ2RiLnNwZWMuUGF0Y2guaW5jbHVkZQpAQCAtMzcs MTAgKzM3LDYgQEAgUGF0Y2gwMDk6IGdkYi02LjMtdGVzdC1tb3ZlZGlyLTIwMDUwMTI1LnBhdGNo CiAjPWZlZG9yYXRlc3QKIFBhdGNoMDEwOiBnZGItNi4zLXRocmVhZGVkLXdhdGNocG9pbnRzMi0y MDA1MDIyNS5wYXRjaAogCi0jIE5vdGlmeSBvYnNlcnZlcnMgdGhhdCB0aGUgaW5mZXJpb3IgaGFz IGJlZW4gY3JlYXRlZAotIz1mZWRvcmF0ZXN0Ci1QYXRjaDAxMTogZ2RiLTYuMy1pbmZlcmlvci1u b3RpZmljYXRpb24tMjAwNTA3MjEucGF0Y2gKLQogIyBWZXJpZnkgcHJpbnRpbmcgb2YgaW5oZXJp dGVkIG1lbWJlcnMgdGVzdAogIz1mZWRvcmF0ZXN0CiBQYXRjaDAxMjogZ2RiLTYuMy1pbmhlcml0 YW5jZXRlc3QtMjAwNTA3MjYucGF0Y2gKQEAgLTEwMiwxMCArOTgsNiBAQCBQYXRjaDAyNTogZ2Ri LTYuNi10ZXN0c3VpdGUtdGltZW91dHMucGF0Y2gKICM9ZmVkb3JhdGVzdAogUGF0Y2gwMjY6IGdk Yi02LjYtYnoyMzc1NzItcHBjLWF0b21pYy1zZXF1ZW5jZS10ZXN0LnBhdGNoCiAKLSMgVGVzdCBr ZXJuZWwgVkRTTyBkZWNvZGluZyB3aGlsZSBhdHRhY2hpbmcgdG8gYW4gaTM4NiBwcm9jZXNzLgot Iz1mZWRvcmF0ZXN0Ci1QYXRjaDAyNzogZ2RiLTYuMy1hdHRhY2gtc2VlLXZkc28tdGVzdC5wYXRj aAotCiAjIFRlc3QgbGVmdG92ZXIgem9tYmllIHByb2Nlc3MgKEJaIDI0Mzg0NSkuCiAjPWZlZG9y YXRlc3QKIFBhdGNoMDI4OiBnZGItNi41LWJ6MjQzODQ1LXN0YWxlLXRlc3Rpbmctem9tYmllLXRl c3QucGF0Y2gKQEAgLTE0MywxMCArMTM1LDYgQEAgUGF0Y2gwMzU6IGdkYi02LjUtaWE2NC1saWJ1 bndpbmQtbGVhay10ZXN0LnBhdGNoCiAjPWZlZG9yYXRlc3QKIFBhdGNoMDM2OiBnZGItNi41LW1p c3NlZC10cmFwLW9uLXN0ZXAtdGVzdC5wYXRjaAogCi0jIFRlc3QgZ2NvcmUgbWVtb3J5IGFuZCB0 aW1lIHJlcXVpcmVtZW50cyBmb3IgbGFyZ2UgaW5mZXJpb3JzLgotIz1mZWRvcmF0ZXN0Ci1QYXRj aDAzNzogZ2RiLTYuNS1nY29yZS1idWZmZXItbGltaXQtdGVzdC5wYXRjaAotCiAjIFRlc3QgR0NP UkUgZm9yIHNobWlkIDAgc2hhcmVkIG1lbW9yeSBtYXBwaW5ncy4KICM9ZmVkb3JhdGVzdDogQnV0 IGl0IGlzIGJyb2tlbiBhbnl3YXksIHNvbWV0aW1lcyB0aGUgY2FzZSBiZWluZyB0ZXN0ZWQgaXMg bm90IHJlcHJvZHVjaWJsZS4KIFBhdGNoMDM4OiBnZGItNi4zLW1hcHBpbmctemVyby1pbm9kZS10 ZXN0LnBhdGNoCkBAIC0zOTQsMjQgKzM4MiwzIEBAIFBhdGNoMDk2OiBnZGItdmxhLWludGVsLWZp eC1wcmludC1jaGFyLWFycmF5LnBhdGNoCiAjID1mZWRvcmF0ZXN0CiBQYXRjaDA5NzogZ2RiLXJo YnoxNTUzMTA0LXMzOTB4LWFyY2gxMi10ZXN0LnBhdGNoCiAKLSMgRml4IGludCBjb252ZXJzaW9u IGVycm9yIGZyb20gYmZkL2VsZi5jIHdoZW4gY29tcGlsaW5nIHdpdGggZ2NjIDEwCi1QYXRjaDA5 ODogZ2RiLXJoYnoxODE4MDExLWJmZC1nY2MxMC1lcnJvci5wYXRjaAotCi0jIEJhY2twb3J0IGZp eCBmb3IgZGVwcmVjYXRpb24gb2YgUHlFdmFsX0luaXRUaHJlYWRzIGluIFB5dGhvbiAzLjkuCi1Q YXRjaDA5OTogZ2RiLXJoYnoxODIyNzE1LWZpeC1weXRob24tZGVwcmVjYXRpb24ucGF0Y2gKLQot IyBCYWNrcG9ydCAiRml4IFB5dGhvbiAzLjkgcmVsYXRlZCBydW50aW1lIHByb2JsZW1zIgotIyBL ZXZpbiBCdWV0dG5lciA8a2V2aW5iQHJlZGhhdC5jb20+IGFuZCBLZWl0aCBTZWl0eiA8a2VpdGhz QHJlZGhhdC5jb20+Ci1QYXRjaDEwMDogZ2RiLXJoYnoxODI5NzAyLWZpeC1weXRob24zOS5wYXRj aAotCi0jIEZpeCBmcHV0P191bmZpbHRlcmVkIGZ1bmN0aW9ucwotIyBSSCBCWiAxODQ0NDU4IChT ZXJnaW8gRHVyaWdhbiBKdW5pb3IgYW5kIFRvbSBUcm9tZXkpCi1QYXRjaDEwMTogZ2RiLXJoYnox ODQ0NDU4LXVzZS1mcHV0WF91bmZpbHRlcmVkLnBhdGNoCi0KLSMgQmFja3BvcnQgZGVidWdpbm9m ZCBzdXBwb3J0LgotIyAoQWFyb24gTWVyZXksIFJIIEJaIDE4Mzg3NykKLVBhdGNoMTAyOiBnZGIt cmhiejE4Mzg3NzctZGVidWdpbmZvZC5wYXRjaAotCi0jIEJhY2twb3J0IHBhdGNoZXMgZml4aW5n IGFib3J0IHdoZW4gd29ya2luZyBkaXJlY3RvcnkgaXMgZGVsZXRlZC4KLVBhdGNoMTAzOiBnZGIt cmhiejE4Njk0ODQtZGVsZXRlZC13b3JraW5nLWRpcmVjdG9yeQotCgpkaWZmIC0tZ2l0IGEvX2dk Yi5zcGVjLnBhdGNoLmluY2x1ZGUgYi9fZ2RiLnNwZWMucGF0Y2guaW5jbHVkZQppbmRleCAwNTU3 ZGE2Li43ODgwZTE5IDEwMDY0NAotLS0gYS9fZ2RiLnNwZWMucGF0Y2guaW5jbHVkZQorKysgYi9f Z2RiLnNwZWMucGF0Y2guaW5jbHVkZQpAQCAtOCw3ICs4LDYgQEAKICVwYXRjaDAwOCAtcDEKICVw YXRjaDAwOSAtcDEKICVwYXRjaDAxMCAtcDEKLSVwYXRjaDAxMSAtcDEKICVwYXRjaDAxMiAtcDEK ICVwYXRjaDAxMyAtcDEKICVwYXRjaDAxNCAtcDEKQEAgLTI0LDcgKzIzLDYgQEAKICVwYXRjaDAy NCAtcDEKICVwYXRjaDAyNSAtcDEKICVwYXRjaDAyNiAtcDEKLSVwYXRjaDAyNyAtcDEKICVwYXRj aDAyOCAtcDEKICVwYXRjaDAyOSAtcDEKICVwYXRjaDAzMCAtcDEKQEAgLTM0LDcgKzMyLDYgQEAK ICVwYXRjaDAzNCAtcDEKICVwYXRjaDAzNSAtcDEKICVwYXRjaDAzNiAtcDEKLSVwYXRjaDAzNyAt cDEKICVwYXRjaDAzOCAtcDEKICVwYXRjaDAzOSAtcDEKICVwYXRjaDA0MCAtcDEKQEAgLTk1LDkg KzkyLDMgQEAKICVwYXRjaDA5NSAtcDEKICVwYXRjaDA5NiAtcDEKICVwYXRjaDA5NyAtcDEKLSVw YXRjaDA5OCAtcDEKLSVwYXRjaDA5OSAtcDEKLSVwYXRjaDEwMCAtcDEKLSVwYXRjaDEwMSAtcDEK LSVwYXRjaDEwMiAtcDEKLSVwYXRjaDEwMyAtcDEKCmRpZmYgLS1naXQgYS9fZ2l0X3Vwc3RyZWFt X2NvbW1pdCBiL19naXRfdXBzdHJlYW1fY29tbWl0CmluZGV4IDc1MWIyNDEuLjhmMmI3OTcgMTAw NjQ0Ci0tLSBhL19naXRfdXBzdHJlYW1fY29tbWl0CisrKyBiL19naXRfdXBzdHJlYW1fY29tbWl0 CkBAIC0xICsxIEBACi1lN2ZlMDgwM2I2NDI3ZDM5MDZlOTkxYmJiM2I3ZmQyZjBmZDA1ZTAwCis2 MDZlM2ZkMTQ3ZWQ5YTAwZGYxNjVlNDZmMzBmZTVjNDZkY2RhMzQ1CgpkaWZmIC0tZ2l0IGEvX3Bh dGNoX29yZGVyIGIvX3BhdGNoX29yZGVyCmluZGV4IDVlYTk1MjcuLmE0NTU2NmUgMTAwNjQ0Ci0t LSBhL19wYXRjaF9vcmRlcgorKysgYi9fcGF0Y2hfb3JkZXIKQEAgLTk1LDkgKzk1LDMgQEAgZ2Ri LXJoYnoxMzk4Mzg3LXRhYi1jcmFzaC10ZXN0LnBhdGNoCiBnZGItYXJjaGVyLnBhdGNoCiBnZGIt dmxhLWludGVsLWZpeC1wcmludC1jaGFyLWFycmF5LnBhdGNoCiBnZGItcmhiejE1NTMxMDQtczM5 MHgtYXJjaDEyLXRlc3QucGF0Y2gKLWdkYi1yaGJ6MTgxODAxMS1iZmQtZ2NjMTAtZXJyb3IucGF0 Y2gKLWdkYi1yaGJ6MTgyMjcxNS1maXgtcHl0aG9uLWRlcHJlY2F0aW9uLnBhdGNoCi1nZGItcmhi ejE4Mjk3MDItZml4LXB5dGhvbjM5LnBhdGNoCi1nZGItcmhiejE4NDQ0NTgtdXNlLWZwdXRYX3Vu ZmlsdGVyZWQucGF0Y2gKLWdkYi1yaGJ6MTgzODc3Ny1kZWJ1Z2luZm9kLnBhdGNoCi1nZGItcmhi ejE4Njk0ODQtZGVsZXRlZC13b3JraW5nLWRpcmVjdG9yeQoKZGlmZiAtLWdpdCBhL2dkYi02LjMt Z3N0YWNrLTIwMDUwNDExLnBhdGNoIGIvZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gKaW5k ZXggOTgyODYzYS4uNDQxMzYxMSAxMDA2NDQKLS0tIGEvZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEu cGF0Y2gKKysrIGIvZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gKQEAgLTE2LDcgKzE2LDcg QEAgU3ViamVjdDogZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gKIGRpZmYgLS1naXQgYS9n ZGIvTWFrZWZpbGUuaW4gYi9nZGIvTWFrZWZpbGUuaW4KIC0tLSBhL2dkYi9NYWtlZmlsZS5pbgog KysrIGIvZ2RiL01ha2VmaWxlLmluCi1AQCAtMTc2OCw3ICsxNzY4LDcgQEAgaW5mbyBpbnN0YWxs LWluZm8gY2xlYW4taW5mbyBkdmkgcGRmIGluc3RhbGwtcGRmIGh0bWwgaW5zdGFsbC1odG1sOiBm b3JjZQorQEAgLTE3MjYsNyArMTcyNiw3IEBAIGluZm8gaW5zdGFsbC1pbmZvIGNsZWFuLWluZm8g ZHZpIHBkZiBpbnN0YWxsLXBkZiBodG1sIGluc3RhbGwtaHRtbDogZm9yY2UKICBpbnN0YWxsOiBh bGwKICAJQCQoTUFLRSkgJChGTEFHU19UT19QQVNTKSBpbnN0YWxsLW9ubHkKICAKQEAgLTI1LDcg KzI1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtlZmlsZS5pbgog IAl0cmFuc2Zvcm1lZF9uYW1lPWB0PSckKHByb2dyYW1fdHJhbnNmb3JtX25hbWUpJzsgXAogIAkJ CSAgZWNobyBnZGIgfCBzZWQgLWUgIiQkdCJgIDsgXAogIAkJaWYgdGVzdCAieCQkdHJhbnNmb3Jt ZWRfbmFtZSIgPSB4OyB0aGVuIFwKLUBAIC0xODE3LDcgKzE4MTcsMjUgQEAgaW5zdGFsbC1ndWls ZToKK0BAIC0xNzc1LDcgKzE3NzUsMjUgQEAgaW5zdGFsbC1ndWlsZToKICBpbnN0YWxsLXB5dGhv bjoKICAJJChTSEVMTCkgJChzcmNkaXIpLy4uL21raW5zdGFsbGRpcnMgJChERVNURElSKSQoR0RC X0RBVEFESVIpL3B5dGhvbi9nZGIKICAKQEAgLTUyLDcgKzUyLDcgQEAgZGlmZiAtLWdpdCBhL2dk Yi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtlZmlsZS5pbgogIAl0cmFuc2Zvcm1lZF9uYW1lPWB0PSck KHByb2dyYW1fdHJhbnNmb3JtX25hbWUpJzsgXAogIAkJCSAgZWNobyBnZGIgfCBzZWQgLWUgJCR0 YCA7IFwKICAJCWlmIHRlc3QgIngkJHRyYW5zZm9ybWVkX25hbWUiID0geDsgdGhlbiBcCi1AQCAt MTg0MCw2ICsxODU4LDE4IEBAIHVuaW5zdGFsbDogZm9yY2UgJChDT05GSUdfVU5JTlNUQUxMKQor QEAgLTE3OTgsNiArMTgxNiwxOCBAQCB1bmluc3RhbGw6IGZvcmNlICQoQ09ORklHX1VOSU5TVEFM TCkKICAJZmkKICAJQCQoTUFLRSkgRE89dW5pbnN0YWxsICJET0RJUlM9JChTVUJESVJTKSIgJChG TEFHU19UT19QQVNTKSBzdWJkaXJfZG8KICAKCmRpZmYgLS1naXQgYS9nZGItNi4zLXJoLXRlc3R2 ZXJzaW9uLTIwMDQxMjAyLnBhdGNoIGIvZ2RiLTYuMy1yaC10ZXN0dmVyc2lvbi0yMDA0MTIwMi5w YXRjaAppbmRleCA0OGNhNGI1Li5jMWU3Mzk1IDEwMDY0NAotLS0gYS9nZGItNi4zLXJoLXRlc3R2 ZXJzaW9uLTIwMDQxMjAyLnBhdGNoCisrKyBiL2dkYi02LjMtcmgtdGVzdHZlcnNpb24tMjAwNDEy MDIucGF0Y2gKQEAgLTI3LDcgKzI3LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmdkYi9zZWxmdGVzdC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QKIGRpZmYg LS1naXQgYS9nZGIvdG9wLmMgYi9nZGIvdG9wLmMKIC0tLSBhL2dkYi90b3AuYwogKysrIGIvZ2Ri L3RvcC5jCi1AQCAtMjA5Niw3ICsyMDk2LDcgQEAgaW5pdF9nZGJfdmVyc2lvbl92YXJzICh2b2lk KQorQEAgLTIxNjMsNyArMjE2Myw3IEBAIGluaXRfZ2RiX3ZlcnNpb25fdmFycyAodm9pZCkKICAg IHN0cnVjdCBpbnRlcm5hbHZhciAqbWFqb3JfdmVyc2lvbl92YXIgPSBjcmVhdGVfaW50ZXJuYWx2 YXIgKCJfZ2RiX21ham9yIik7CiAgICBzdHJ1Y3QgaW50ZXJuYWx2YXIgKm1pbm9yX3ZlcnNpb25f dmFyID0gY3JlYXRlX2ludGVybmFsdmFyICgiX2dkYl9taW5vciIpOwogICAgaW50IHZtYWpvciA9 IDAsIHZtaW5vciA9IDAsIHZyZXZpc2lvbiA9IDA7CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy10ZXN0 LXNlbGYtMjAwNTAxMTAucGF0Y2ggYi9nZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaApp bmRleCA1NjYyYTBlLi4yNzA5MDkzIDEwMDY0NAotLS0gYS9nZGItNi4zLXRlc3Qtc2VsZi0yMDA1 MDExMC5wYXRjaAorKysgYi9nZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaApAQCAtMTcs NyArMTcsNyBAQCBTdWJqZWN0OiBnZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaAogZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvbGliL3NlbGZ0ZXN0LXN1cHBvcnQuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9saWIvc2VsZnRlc3Qtc3VwcG9ydC5leHAKIC0tLSBhL2dkYi90ZXN0c3VpdGUvbGli L3NlbGZ0ZXN0LXN1cHBvcnQuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2xpYi9zZWxmdGVzdC1z dXBwb3J0LmV4cAotQEAgLTE1MSwxOCArMTUxLDE4IEBAIHByb2MgZG9fc2VsZl90ZXN0cyB7ZnVu Y3Rpb24gYm9keX0geworQEAgLTE1MiwxOCArMTUyLDE4IEBAIHByb2MgZG9fc2VsZl90ZXN0cyB7 ZnVuY3Rpb24gYm9keX0gewogICAgICB9CiAgCiAgICAgICMgUmVtb3ZlIGFueSBvbGQgY29weSBs eWluZyBhcm91bmQuCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNS1iejE4NTMzNy1yZXNvbHZlLXRscy13 aXRob3V0LWRlYnVnaW5mby12Mi5wYXRjaCBiL2dkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMt d2l0aG91dC1kZWJ1Z2luZm8tdjIucGF0Y2gKaW5kZXggYTg5ZGUwYS4uNWNkZjY1ZiAxMDA2NDQK LS0tIGEvZ2RiLTYuNS1iejE4NTMzNy1yZXNvbHZlLXRscy13aXRob3V0LWRlYnVnaW5mby12Mi5w YXRjaAorKysgYi9nZGItNi41LWJ6MTg1MzM3LXJlc29sdmUtdGxzLXdpdGhvdXQtZGVidWdpbmZv LXYyLnBhdGNoCkBAIC00NCw3ICs0NCw3IEBAIGdsaWJjLWRlYnVnaW5mby0yLjctMi54ODZfNjQ6 IC91c3IvbGliL2RlYnVnL2xpYjY0L2xpYmMuc28uNi5kZWJ1ZzoKIGRpZmYgLS1naXQgYS9nZGIv cHJpbnRjbWQuYyBiL2dkYi9wcmludGNtZC5jCiAtLS0gYS9nZGIvcHJpbnRjbWQuYwogKysrIGIv Z2RiL3ByaW50Y21kLmMKLUBAIC0xMjE0LDYgKzEyMTQsMTAgQEAgcHJpbnRfY29tbWFuZF8xIChj b25zdCBjaGFyICphcmdzLCBpbnQgdm9pZHByaW50KQorQEAgLTEyMTAsNiArMTIxMCwxMCBAQCBw cmludF9jb21tYW5kXzEgKGNvbnN0IGNoYXIgKmFyZ3MsIGludCB2b2lkcHJpbnQpCiAgCiAgICBp ZiAoZXhwICE9IG51bGxwdHIgJiYgKmV4cCkKICAgICAgewoKZGlmZiAtLWdpdCBhL2dkYi02LjUt YnoyMTgzNzktc29saWItdHJhbXBvbGluZS1sb29rdXAtbG9jay1maXgucGF0Y2ggYi9nZGItNi41 LWJ6MjE4Mzc5LXNvbGliLXRyYW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBhdGNoCmluZGV4IDBh NjZiM2QuLjU0YzFhMWUgMTAwNjQ0Ci0tLSBhL2dkYi02LjUtYnoyMTgzNzktc29saWItdHJhbXBv bGluZS1sb29rdXAtbG9jay1maXgucGF0Y2gKKysrIGIvZ2RiLTYuNS1iejIxODM3OS1zb2xpYi10 cmFtcG9saW5lLWxvb2t1cC1sb2NrLWZpeC5wYXRjaApAQCAtMTEsNyArMTEsNyBAQCBodHRwczov L2J1Z3ppbGxhLnJlZGhhdC5jb20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTIxODM3OQogZGlm ZiAtLWdpdCBhL2dkYi9zeW10YWIuYyBiL2dkYi9zeW10YWIuYwogLS0tIGEvZ2RiL3N5bXRhYi5j CiArKysgYi9nZGIvc3ltdGFiLmMKLUBAIC0zMTY2LDYgKzMxNjYsMTMgQEAgZmluZF9wY19zZWN0 X2xpbmUgKENPUkVfQUREUiBwYywgc3RydWN0IG9ial9zZWN0aW9uICpzZWN0aW9uLCBpbnQgbm90 Y3VycmVudCkKK0BAIC0zMTY5LDYgKzMxNjksMTMgQEAgZmluZF9wY19zZWN0X2xpbmUgKENPUkVf QUREUiBwYywgc3RydWN0IG9ial9zZWN0aW9uICpzZWN0aW9uLCBpbnQgbm90Y3VycmVudCkKICAJ ICAgICBtc3ltYm9sLT5saW5rYWdlX25hbWUgKCkpOyAqLwogIAkgIDsKICAJLyogZmFsbCB0aHJv dWdoICovCkBAIC0yMyw1ICsyMyw1IEBAIGRpZmYgLS1naXQgYS9nZGIvc3ltdGFiLmMgYi9nZGIv c3ltdGFiLmMKICsJICB3YXJuaW5nICgiSW4gc3R1YiBmb3IgJXMgKDB4JXMpOyBpbnRlcmxvY2tl ZCwgcGxlYXNlIHN1Ym1pdCB0aGUgYmluYXJ5IHRvIGh0dHA6Ly9idWd6aWxsYS5yZWRoYXQuY29t IiwgbXN5bWJvbC5taW5zeW0tPmxpbmthZ2VfbmFtZSAoKSwgcGFkZHJlc3MgKHRhcmdldF9nZGJh cmNoICgpLCBwYykpOwogKwkvKiBmYWxsIHRocm91Z2ggKi8KICAJZWxzZQotIAkgIHJldHVybiBm aW5kX3BjX2xpbmUgKEJNU1lNQk9MX1ZBTFVFX0FERFJFU1MgKG1mdW5zeW0pLCAwKTsKLSAgICAg ICB9CisgCSAgeworIAkgICAgLyogRGV0ZWN0IGFuIG9idmlvdXMgY2FzZSBvZiBpbmZpbml0ZSBy ZWN1cnNpb24uICBJZiB0aGlzCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1j b3JlLWFzLWFyZy5wYXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0 Y2gKaW5kZXggZDE4MmFlMS4uNDViOTE1ZCAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxv Y2F0ZS1jb3JlLWFzLWFyZy5wYXRjaAorKysgYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUt YXMtYXJnLnBhdGNoCkBAIC03Myw3ICs3Myw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZXhlYy5jIGIv Z2RiL2V4ZWMuYwogICNpbmNsdWRlICJmcmFtZS5oIgogICNpbmNsdWRlICJpbmZlcmlvci5oIgog ICNpbmNsdWRlICJ0YXJnZXQuaCIKLUBAIC0zNDUsMTIgKzM0NywyNyBAQCBleGVjX2ZpbGVfYXR0 YWNoIChjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGZyb21fdHR5KQorQEAgLTQ5NSwxMiArNDk3 LDI3IEBAIGV4ZWNfZmlsZV9hdHRhY2ggKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgZnJvbV90 dHkpCiAgCiAgICAgICAgaWYgKCFiZmRfY2hlY2tfZm9ybWF0X21hdGNoZXMgKGV4ZWNfYmZkLCBi ZmRfb2JqZWN0LCAmbWF0Y2hpbmcpKQogIAl7CkBAIC04OCw4ICs4OCw4IEBAIGRpZmYgLS1naXQg YS9nZGIvZXhlYy5jIGIvZ2RiL2V4ZWMuYwogIAkgIC8qIE1ha2Ugc3VyZSB0byBjbG9zZSBleGVj X2JmZCwgb3IgZWxzZSAicnVuIiBtaWdodCB0cnkgdG8gdXNlCiAgCSAgICAgaXQuICAqLwogIAkg IGV4ZWNfY2xvc2UgKCk7Ci0tCSAgZXJyb3IgKF8oIlwiJXNcIjogbm90IGluIGV4ZWN1dGFibGUg Zm9ybWF0OiAlcyIpLAotLQkJIHNjcmF0Y2hfcGF0aG5hbWUsCistCSAgZXJyb3IgKF8oIlwiJXBz XCI6IG5vdCBpbiBleGVjdXRhYmxlIGZvcm1hdDogJXMiKSwKKy0JCSBzdHlsZWRfc3RyaW5nIChm aWxlX25hbWVfc3R5bGUuc3R5bGUgKCksIHNjcmF0Y2hfcGF0aG5hbWUpLAogLQkJIGdkYl9iZmRf ZXJybXNnIChiZmRfZ2V0X2Vycm9yICgpLCBtYXRjaGluZykuY19zdHIgKCkpOwogKwogKwkgIGlm IChpc19jb3JlICE9IDApCkBAIC05OCwyOSArOTgsMTYgQEAgZGlmZiAtLWdpdCBhL2dkYi9leGVj LmMgYi9nZGIvZXhlYy5jCiArCQkJICAgIlBsZWFzZSBzcGVjaWZ5IGFuIGV4ZWN1dGFibGUgdG8g ZGVidWcuIiksCiArCQkJIHNjcmF0Y2hfcGF0aG5hbWUpOwogKwkgIGVsc2UKLSsJICAgIGVycm9y IChfKCJcIiVzc1wiOiBub3QgaW4gZXhlY3V0YWJsZSBmb3JtYXQ6ICVzIiksCi0rCQkgICBzY3Jh dGNoX3BhdGhuYW1lLAorKwkgICAgZXJyb3IgKF8oIlwiJXBzXCI6IG5vdCBpbiBleGVjdXRhYmxl IGZvcm1hdDogJXMiKSwKKysJCSAgIHN0eWxlZF9zdHJpbmcgKGZpbGVfbmFtZV9zdHlsZS5zdHls ZSAoKSwgc2NyYXRjaF9wYXRobmFtZSksCiArCQkgICBnZGJfYmZkX2Vycm1zZyAoYmZkX2dldF9l cnJvciAoKSwgbWF0Y2hpbmcpLmNfc3RyICgpKTsKICAJfQogIAogICAgICAgIGlmIChidWlsZF9z ZWN0aW9uX3RhYmxlIChleGVjX2JmZCwgJnNlY3Rpb25zLCAmc2VjdGlvbnNfZW5kKSkKLWRpZmYg LS1naXQgYS9nZGIvZ2Ric3VwcG9ydC9jb21tb24tZXhjZXB0aW9ucy5oIGIvZ2RiL2dkYnN1cHBv cnQvY29tbW9uLWV4Y2VwdGlvbnMuaAotLS0tIGEvZ2RiL2dkYnN1cHBvcnQvY29tbW9uLWV4Y2Vw dGlvbnMuaAotKysrIGIvZ2RiL2dkYnN1cHBvcnQvY29tbW9uLWV4Y2VwdGlvbnMuaAotQEAgLTEw Niw2ICsxMDYsOSBAQCBlbnVtIGVycm9ycyB7Ci0gICAgICAiX0VSUk9SIiBpcyBhcHBlbmRlZCB0 byB0aGUgbmFtZS4gICovCi0gICBNQVhfQ09NUExFVElPTlNfUkVBQ0hFRF9FUlJPUiwKLSAKLSsg IC8qIEF0dGVtcHQgdG8gbG9hZCBhIGNvcmUgZmlsZSBhcyBleGVjdXRhYmxlLiAgKi8KLSsgIElT X0NPUkVfRVJST1IsCi0rCi0gICAvKiBBZGQgbW9yZSBlcnJvcnMgaGVyZS4gICovCi0gICBOUl9F UlJPUlMKLSB9OwogZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5jCiAtLS0gYS9n ZGIvbWFpbi5jCiArKysgYi9nZGIvbWFpbi5jCi1AQCAtNDY3LDYgKzQ2NywzNCBAQCBzdHJ1Y3Qg Y21kYXJnCitAQCAtNTI0LDYgKzUyNCwzNCBAQCBzdHJ1Y3QgY21kYXJnCiAgICBjaGFyICpzdHJp bmc7CiAgfTsKICAKQEAgLTE1NSw3ICsxNDIsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL21haW4uYyBi L2dkYi9tYWluLmMKICBzdGF0aWMgdm9pZAogIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1 cmVkX21haW5fYXJncyAqY29udGV4dCkKICB7Ci1AQCAtOTA3LDYgKzkzNSw4IEBAIGNhcHR1cmVk X21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKK0BAIC05NTksNiAr OTg3LDggQEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250 ZXh0KQogIAl7CiAgCSAgc3ltYXJnID0gYXJndltvcHRpbmRdOwogIAkgIGV4ZWNhcmcgPSBhcmd2 W29wdGluZF07CkBAIC0xNjQsNyArMTUxLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9n ZGIvbWFpbi5jCiAgCSAgb3B0aW5kKys7CiAgCX0KICAKLUBAIC0xMDYzLDEyICsxMDkzLDI1IEBA IGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKK0BA IC0xMTE0LDEyICsxMTQ0LDI1IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21h aW5fYXJncyAqY29udGV4dCkKICAgICAgICAmJiBzeW1hcmcgIT0gTlVMTAogICAgICAgICYmIHN0 cmNtcCAoZXhlY2FyZywgc3ltYXJnKSA9PSAwKQogICAgICB7CkBAIC0xOTQsMyArMTgxLDE2IEBA IGRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwogIAlyZXQgPSBjYXRjaF9jb21t YW5kX2Vycm9ycyAoc3ltYm9sX2ZpbGVfYWRkX21haW5fYWRhcHRlciwKICAJCQkJICAgIHN5bWFy ZywgIWJhdGNoX2ZsYWcpOwogICAgICB9CitkaWZmIC0tZ2l0IGEvZ2Ric3VwcG9ydC9jb21tb24t ZXhjZXB0aW9ucy5oIGIvZ2Ric3VwcG9ydC9jb21tb24tZXhjZXB0aW9ucy5oCistLS0gYS9nZGJz dXBwb3J0L2NvbW1vbi1leGNlcHRpb25zLmgKKysrKyBiL2dkYnN1cHBvcnQvY29tbW9uLWV4Y2Vw dGlvbnMuaAorQEAgLTEwNiw2ICsxMDYsOSBAQCBlbnVtIGVycm9ycyB7CisgICAgICAiX0VSUk9S IiBpcyBhcHBlbmRlZCB0byB0aGUgbmFtZS4gICovCisgICBNQVhfQ09NUExFVElPTlNfUkVBQ0hF RF9FUlJPUiwKKyAKKysgIC8qIEF0dGVtcHQgdG8gbG9hZCBhIGNvcmUgZmlsZSBhcyBleGVjdXRh YmxlLiAgKi8KKysgIElTX0NPUkVfRVJST1IsCisrCisgICAvKiBBZGQgbW9yZSBlcnJvcnMgaGVy ZS4gICovCisgICBOUl9FUlJPUlMKKyB9OwoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1s b2NhdGUtcnBtLWxpYnJwbS13b3JrYXJvdW5kLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0 ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKaW5kZXggYWJlYTZlNi4uYzg2ZWM2YiAxMDA2 NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0 Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0 Y2gKQEAgLTksNyArOSw3IEBAIFN1YmplY3Q6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLWxp YnJwbS13b3JrYXJvdW5kLnBhdGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIv YnVpbGQtaWQuYwogLS0tIGEvZ2RiL2J1aWxkLWlkLmMKICsrKyBiL2dkYi9idWlsZC1pZC5jCi1A QCAtNzA5LDYgKzcwOSwxOSBAQCBidWlsZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGJm ZF9idWlsZF9pZCAqYnVpbGRfaWQsIGNoYXIgKipsaW5rX3JldHVybikKK0BAIC03MDgsNiArNzA4 LDE5IEBAIGJ1aWxkX2lkX3RvX2ZpbGVuYW1lIChjb25zdCBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpi dWlsZF9pZCwgY2hhciAqKmxpbmtfcmV0dXJuKQogICNpbmNsdWRlIDxkbGZjbi5oPgogICNlbmRp ZgogIAoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLXNjbC5wYXRjaCBi L2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLXNjbC5wYXRjaAppbmRleCBjYTY4M2VkLi4wOWY5 MzBmIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKKysr IGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tc2NsLnBhdGNoCkBAIC0xMiw3ICsxMiw3IEBA IGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9OTUzNTg1CiBkaWZm IC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogLS0tIGEvZ2RiL2J1aWxk LWlkLmMKICsrKyBiL2dkYi9idWlsZC1pZC5jCi1AQCAtNzQzLDcgKzc0MywxMSBAQCBzdGF0aWMg aW50IG1pc3NpbmdfcnBtX2xpc3RfZW50cmllczsKK0BAIC03NDIsNyArNzQyLDExIEBAIHN0YXRp YyBpbnQgbWlzc2luZ19ycG1fbGlzdF9lbnRyaWVzOwogIC8qIFJldHVybnMgdGhlIGNvdW50IG9m IG5ld2x5IGFkZGVkIHJwbXMuICAqLwogIAogIHN0YXRpYyBpbnQKQEAgLTI0LDcgKzI0LDcgQEAg ZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKICB7CiAgICBzdGF0 aWMgaW50IHJwbV9pbml0X2RvbmUgPSAwOwogICAgcnBtdHMgdHM7Ci1AQCAtODUwLDcgKzg1NCwx MSBAQCBtaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQorQEAgLTg0OSw3 ICs4NTMsMTEgQEAgbWlzc2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpmaWxlbmFtZSkKICAg IG1pID0gcnBtdHNJbml0SXRlcmF0b3JfcCAodHMsIFJQTVRBR19CQVNFTkFNRVMsIGZpbGVuYW1l LCAwKTsKICAgIGlmIChtaSAhPSBOVUxMKQogICAgICB7CkBAIC0zNiw3ICszNiw3IEBAIGRpZmYg LS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAgCXsKICAJICBIZWFkZXIg aDsKICAJICBjaGFyICpkZWJ1Z2luZm8sICoqc2xvdCwgKnMsICpzMjsKLUBAIC05NjgsNiArOTc2 LDM3IEBAIG1pc3NpbmdfcnBtX2VubGlzdCAoY29uc3QgY2hhciAqZmlsZW5hbWUpCitAQCAtOTY3 LDYgKzk3NSwzNyBAQCBtaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQog IAkgICAgeGZyZWUgKGRlYnVnaW5mbyk7CiAgCSAgY291bnQrKzsKICAJfQpAQCAtNzQsNyArNzQs NyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogIAogICAg ICAgIHJwbWRiRnJlZUl0ZXJhdG9yX3AgKG1pKTsKICAgICAgfQotQEAgLTk3Nyw2ICsxMDE2LDIw IEBAIG1pc3NpbmdfcnBtX2VubGlzdCAoY29uc3QgY2hhciAqZmlsZW5hbWUpCitAQCAtOTc2LDYg KzEwMTUsMjAgQEAgbWlzc2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpmaWxlbmFtZSkKICAg IHJldHVybiBjb3VudDsKICB9CiAgCkBAIC05NSwxMCArOTUsMTAgQEAgZGlmZiAtLWdpdCBhL2dk Yi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKICBzdGF0aWMgYm9vbAogIG1pc3NpbmdfcnBt X2xpc3RfY29tcGFyIChjb25zdCBjaGFyICphcCwgY29uc3QgY2hhciAqYnApCiAgewotZGlmZiAt LWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi0tLS0gYS9nZGIvZHdh cmYycmVhZC5jCi0rKysgYi9nZGIvZHdhcmYycmVhZC5jCi1AQCAtMzQ5Nyw2ICszNDk3LDE2IEBA IHJlYWRfZ2RiX2luZGV4X2Zyb21fYnVmZmVyIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK2Rp ZmYgLS1naXQgYS9nZGIvZHdhcmYyL3JlYWQuYyBiL2dkYi9kd2FyZjIvcmVhZC5jCistLS0gYS9n ZGIvZHdhcmYyL3JlYWQuYworKysrIGIvZ2RiL2R3YXJmMi9yZWFkLmMKK0BAIC0zMDI1LDYgKzMw MjUsMTYgQEAgcmVhZF9nZGJfaW5kZXhfZnJvbV9idWZmZXIgKGNvbnN0IGNoYXIgKmZpbGVuYW1l LAogICAgICAgInNldCB1c2UtZGVwcmVjYXRlZC1pbmRleC1zZWN0aW9ucyBvbiIuICAqLwogICAg aWYgKHZlcnNpb24gPCA2ICYmICFkZXByZWNhdGVkX29rKQogICAgICB7CkBAIC0xMTUsNyArMTE1 LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCiAg ICAgICAgc3RhdGljIGludCB3YXJuaW5nX3ByaW50ZWQgPSAwOwogICAgICAgIGlmICghd2Fybmlu Z19wcmludGVkKQogIAl7Ci1AQCAtMzUwOCw2ICszNTE4LDEwIEBAIHRvIHVzZSB0aGUgc2VjdGlv biBhbnl3YXkuIiksCitAQCAtMzAzNiw2ICszMDQ2LDEwIEBAIHRvIHVzZSB0aGUgc2VjdGlvbiBh bnl3YXkuIiksCiAgCSAgd2FybmluZ19wcmludGVkID0gMTsKICAJfQogICAgICAgIHJldHVybiAw OwoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoIGIvZ2RiLTYu Ni1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKaW5kZXggNmUxY2VmOC4uODNiODNiMCAxMDA2NDQK LS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWls ZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKQEAgLTI0MCwxMCArMjQwLDEwIEBAIGRpZmYgLS1naXQgYS9n ZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAgI2luY2x1ZGUgImdkYmNtZC5oIgogICNp bmNsdWRlICJnZGJjb3JlLmgiCiArI2luY2x1ZGUgImluZmVyaW9yLmgiCi0gI2luY2x1ZGUgImxp YmJmZC5oIgogICNpbmNsdWRlICJvYmpmaWxlcy5oIgogICNpbmNsdWRlICJvYnNlcnZhYmxlLmgi Ci1AQCAtNjk4LDggKzY5OSwzNzQgQEAgYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGNvbnN0IHN0cnVj dCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkLCBjaGFyICoqbGlua19yZXR1cm4pCisgI2luY2x1ZGUg InN5bWZpbGUuaCIKK0BAIC02OTcsOCArNjk4LDM3NCBAQCBidWlsZF9pZF90b19maWxlbmFtZSAo Y29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQsIGNoYXIgKipsaW5rX3JldHVybikK ICAgIHJldHVybiByZXN1bHQ7CiAgfQogIApAQCAtNjE5LDcgKzYxOSw3IEBAIGRpZmYgLS1naXQg YS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAgICAgYXZvaWRhbmNlLiAgKi8KICAK ICBzdHJ1Y3QgbWlzc2luZ19maWxlcGFpcgotQEAgLTc1MywxMSArMTEyMCwxNyBAQCBtaXNzaW5n X2ZpbGVwYWlyX2NoYW5nZSAodm9pZCkKK0BAIC03NTIsMTEgKzExMTksMTcgQEAgbWlzc2luZ19m aWxlcGFpcl9jaGFuZ2UgKHZvaWQpCiAgICAgICAgLyogQWxsIHRoZWlyIG1lbW9yeSBjYW1lIGp1 c3QgZnJvbSBtaXNzaW5nX2ZpbGVwYWlyX09CU1RBQ0suICAqLwogICAgICAgIG1pc3NpbmdfZmls ZXBhaXJfaGFzaCA9IE5VTEw7CiAgICAgIH0KQEAgLTYzNyw3ICs2MzcsNyBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogICAgbWlzc2luZ19maWxlcGFpcl9j aGFuZ2UgKCk7CiAgfQogIAotQEAgLTgyNCwxNCArMTE5NywzOCBAQCBkZWJ1Z19wcmludF9taXNz aW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKQorQEAgLTgyMywxNCAr MTE5NiwzOCBAQCBkZWJ1Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0 IGNoYXIgKmRlYnVnKQogIAogICAgKnNsb3QgPSBtaXNzaW5nX2ZpbGVwYWlyOwogIApAQCAtNjg2 LDkgKzY4Niw5IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5j CiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZy5pbiBiL2dkYi9jb25maWcuaW4KIC0tLSBhL2dkYi9j b25maWcuaW4KICsrKyBiL2dkYi9jb25maWcuaW4KLUBAIC0zNiw2ICszNiw5IEBACi0gLyogRGVm aW5lIHRvIEJGRCdzIGRlZmF1bHQgdGFyZ2V0IHZlY3Rvci4gKi8KLSAjdW5kZWYgREVGQVVMVF9C RkRfVkVDCitAQCAtMzksNiArMzksOSBAQAorIC8qIEhhbmRsZSAuY3RmIHR5cGUtaW5mbyBzZWN0 aW9ucyAqLworICN1bmRlZiBFTkFCTEVfTElCQ1RGCiAgCiArLyogbGlicnBtIHZlcnNpb24gc3Bl Y2lmaWMgbGlicmFyeSBuYW1lIHRvIGRsb3Blbi4gKi8KICsjdW5kZWYgRExPUEVOX0xJQlJQTQpA QCAtNjk2LDcgKzY5Niw3IEBAIGRpZmYgLS1naXQgYS9nZGIvY29uZmlnLmluIGIvZ2RiL2NvbmZp Zy5pbgogIC8qIERlZmluZSB0byAxIGlmIHRyYW5zbGF0aW9uIG9mIHByb2dyYW0gbWVzc2FnZXMg dG8gdGhlIHVzZXIncyBuYXRpdmUKICAgICBsYW5ndWFnZSBpcyByZXF1ZXN0ZWQuICovCiAgI3Vu ZGVmIEVOQUJMRV9OTFMKLUBAIC0yNDUsNiArMjQ4LDkgQEAKK0BAIC0yNDcsNiArMjUwLDkgQEAK ICAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIG1wZnIgbGlicmFyeS4gKi8KICAjdW5kZWYgSEFW RV9MSUJNUEZSCiAgCkBAIC03MDksNyArNzA5LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWcu aW4gYi9nZGIvY29uZmlnLmluCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25m aWd1cmUKIC0tLSBhL2dkYi9jb25maWd1cmUKICsrKyBiL2dkYi9jb25maWd1cmUKLUBAIC03NjEs NiArNzYxLDExIEBAIENPREVTSUdOX0NFUlQKK0BAIC03NjksNiArNzY5LDExIEBAIFBLR19DT05G SUcKICBIQVZFX05BVElWRV9HQ09SRV9UQVJHRVQKICBUQVJHRVRfT0JTCiAgc3ViZGlycwpAQCAt NzIxLDcgKzcyMSw3IEBAIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3Vy ZQogIEdEQl9EQVRBRElSCiAgREVCVUdESVIKICBNQUtFSU5GT19FWFRSQV9GTEFHUwotQEAgLTg2 NCw2ICs4NjksNyBAQCB3aXRoX2dkYl9kYXRhZGlyCitAQCAtODczLDYgKzg3OCw3IEBAIHdpdGhf Z2RiX2RhdGFkaXIKICB3aXRoX3JlbG9jYXRlZF9zb3VyY2VzCiAgd2l0aF9hdXRvX2xvYWRfZGly CiAgd2l0aF9hdXRvX2xvYWRfc2FmZV9wYXRoCkBAIC03MjksNDIgKzcyOSwzNCBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKICBlbmFibGVfdGFyZ2V0cwogIGVu YWJsZV82NF9iaXRfYmZkCiAgZW5hYmxlX2dkYm1pCi1AQCAtOTI2LDYgKzkzMiwxMSBAQCBDQ0MK LSBDUFAKLSBNQUtFSU5GTwotIE1BS0VJTkZPRkxBR1MKLStQS0dfQ09ORklHCi0rUEtHX0NPTkZJ R19QQVRICi0rUEtHX0NPTkZJR19MSUJESVIKK0BAIC05NDksNiArOTU1LDggQEAgUEtHX0NPTkZJ R19QQVRICisgUEtHX0NPTkZJR19MSUJESVIKKyBERUJVR0lORk9EX0NGTEFHUworIERFQlVHSU5G T0RfTElCUwogK1JQTV9DRkxBR1MKICtSUE1fTElCUwogIFlBQ0MKICBZRkxBR1MKICBYTUtNRicK LUBAIC0xNTk4LDYgKzE2MDksOCBAQCBPcHRpb25hbCBQYWNrYWdlczoKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgIFstLXdpdGgtYXV0by1sb2FkLWRpcl0KLSAgIC0td2l0aG91dC1hdXRvLWxv YWQtc2FmZS1wYXRoCitAQCAtMTYyMSw2ICsxNjI5LDggQEAgT3B0aW9uYWwgUGFja2FnZXM6CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgYXV0by1sb2FkZWQgZmls ZXMgbG9jYXRpb25zCisgICAtLXdpdGgtZGVidWdpbmZvZCAgICAgICBFbmFibGUgZGVidWdpbmZv IGxvb2t1cHMgd2l0aCBkZWJ1Z2luZm9kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXV0 by95ZXMvbm8pCiArICAtLXdpdGgtcnBtICAgICAgICAgICAgICBxdWVyeSBycG0gZGF0YWJhc2Ug Zm9yIG1pc3NpbmcgZGVidWdpbmZvcyAoeWVzL25vLAogKyAgICAgICAgICAgICAgICAgICAgICAg ICAgZGVmLiBhdXRvPWxpYnJwbS5zbykKICAgIC0td2l0aC1saWJ1bndpbmQtaWE2NCAgIHVzZSBs aWJ1bndpbmQgZnJhbWUgdW53aW5kaW5nIGZvciBpYTY0IHRhcmdldHMKICAgIC0td2l0aC1jdXJz ZXMgICAgICAgICAgIHVzZSB0aGUgY3Vyc2VzIGxpYnJhcnkgaW5zdGVhZCBvZiB0aGUgdGVybWNh cAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeQotQEAgLTE2NjEsNiArMTY3NCwx MyBAQCBTb21lIGluZmx1ZW50aWFsIGVudmlyb25tZW50IHZhcmlhYmxlczoKLSAgIE1BS0VJTkZP ICAgIFBhcmVudCBjb25maWd1cmUgZGV0ZWN0cyBpZiBpdCBpcyBvZiBzdWZmaWNpZW50IHZlcnNp b24uCi0gICBNQUtFSU5GT0ZMQUdTCi0gICAgICAgICAgICAgICBQYXJhbWV0ZXJzIGZvciBNQUtF SU5GTy4KLSsgIFBLR19DT05GSUcgIHBhdGggdG8gcGtnLWNvbmZpZyB1dGlsaXR5Ci0rICBQS0df Q09ORklHX1BBVEgKLSsgICAgICAgICAgICAgIGRpcmVjdG9yaWVzIHRvIGFkZCB0byBwa2ctY29u ZmlnJ3Mgc2VhcmNoIHBhdGgKLSsgIFBLR19DT05GSUdfTElCRElSCi0rICAgICAgICAgICAgICBw YXRoIG92ZXJyaWRpbmcgcGtnLWNvbmZpZydzIGJ1aWx0LWluIHNlYXJjaCBwYXRoCitAQCAtMTcw Miw2ICsxNzEyLDggQEAgU29tZSBpbmZsdWVudGlhbCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6Cisg ICAgICAgICAgICAgICBDIGNvbXBpbGVyIGZsYWdzIGZvciBERUJVR0lORk9ELCBvdmVycmlkaW5n IHBrZy1jb25maWcKKyAgIERFQlVHSU5GT0RfTElCUworICAgICAgICAgICAgICAgbGlua2VyIGZs YWdzIGZvciBERUJVR0lORk9ELCBvdmVycmlkaW5nIHBrZy1jb25maWcKICsgIFJQTV9DRkxBR1Mg IEMgY29tcGlsZXIgZmxhZ3MgZm9yIFJQTSwgb3ZlcnJpZGluZyBwa2ctY29uZmlnCiArICBSUE1f TElCUyAgICBsaW5rZXIgZmxhZ3MgZm9yIFJQTSwgb3ZlcnJpZGluZyBwa2ctY29uZmlnCiAgICBZ QUNDICAgICAgICBUaGUgYFlldCBBbm90aGVyIENvbXBpbGVyIENvbXBpbGVyJyBpbXBsZW1lbnRh dGlvbiB0byB1c2UuCiAgICAgICAgICAgICAgICBEZWZhdWx0cyB0byB0aGUgZmlyc3QgcHJvZ3Jh bSBmb3VuZCBvdXQgb2Y6IGBiaXNvbiAteScsIGBieWFjYycsCiAgICAgICAgICAgICAgICBgeWFj YycuCi1AQCAtNjU4Nyw2ICs2NjA3LDQ5NCBAQCBfQUNFT0YKK0BAIC02NjY2LDYgKzY2NzgsNDk0 IEBAIF9BQ0VPRgogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVz dWx0OiAkd2l0aF9hdXRvX2xvYWRfc2FmZV9wYXRoIiA+JjUKICAkYXNfZWNobyAiJHdpdGhfYXV0 b19sb2FkX3NhZmVfcGF0aCIgPiY2OyB9CiAgCkBAIC0xMjYyLDcgKzEyNTQsNyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKIGRpZmYgLS1naXQgYS9nZGIvY29u ZmlndXJlLmFjIGIvZ2RiL2NvbmZpZ3VyZS5hYwogLS0tIGEvZ2RiL2NvbmZpZ3VyZS5hYwogKysr IGIvZ2RiL2NvbmZpZ3VyZS5hYwotQEAgLTE0NCw2ICsxNDQsMTk5IEBAIEFDX0RFRklORV9ESVIo QVVUT19MT0FEX1NBRkVfUEFUSCwgZXNjYXBlX2RpciwKK0BAIC0xNDMsNiArMTQzLDE5OSBAQCBB Q19ERUZJTkVfRElSKEFVVE9fTE9BRF9TQUZFX1BBVEgsIGVzY2FwZV9kaXIsCiAgCSAgICAgIFtE aXJlY3RvcmllcyBzYWZlIHRvIGhvbGQgYXV0by1sb2FkZWQgZmlsZXMuXSkKICBBQ19NU0dfUkVT VUxUKFskd2l0aF9hdXRvX2xvYWRfc2FmZV9wYXRoXSkKICAKQEAgLTE0NjUsMTUgKzE0NTcsMTUg QEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUuYWMgYi9nZGIvY29uZmlndXJlLmFjCiBkaWZm IC0tZ2l0IGEvZ2RiL2V2ZW50LXRvcC5jIGIvZ2RiL2V2ZW50LXRvcC5jCiAtLS0gYS9nZGIvZXZl bnQtdG9wLmMKICsrKyBiL2dkYi9ldmVudC10b3AuYwotQEAgLTQxLDYgKzQxLDcgQEAKLSAjaW5j bHVkZSAic2VyLWV2ZW50LmgiCi0gI2luY2x1ZGUgImdkYl9zZWxlY3QuaCIKK0BAIC00Miw2ICs0 Miw3IEBACisgI2luY2x1ZGUgImdkYnN1cHBvcnQvZ2RiX3NlbGVjdC5oIgogICNpbmNsdWRlICJn ZGJzdXBwb3J0L2dkYi1zaWdtYXNrLmgiCisgI2luY2x1ZGUgImFzeW5jLWV2ZW50LmgiCiArI2lu Y2x1ZGUgInN5bWZpbGUuaCIKICAKICAvKiByZWFkbGluZSBpbmNsdWRlIGZpbGVzLiAgKi8KICAj aW5jbHVkZSAicmVhZGxpbmUvcmVhZGxpbmUuaCIKLUBAIC0zNjMsNiArMzY0LDggQEAgZGlzcGxh eV9nZGJfcHJvbXB0IChjb25zdCBjaGFyICpuZXdfcHJvbXB0KQorQEAgLTM2NCw2ICszNjUsOCBA QCBkaXNwbGF5X2dkYl9wcm9tcHQgKGNvbnN0IGNoYXIgKm5ld19wcm9tcHQpCiAgICAvKiBSZXNl dCB0aGUgbmVzdGluZyBkZXB0aCB1c2VkIHdoZW4gdHJhY2UtY29tbWFuZHMgaXMgc2V0LiAgKi8K ICAgIHJlc2V0X2NvbW1hbmRfbmVzdF9kZXB0aCAoKTsKICAKQEAgLTE0ODIsNyArMTQ3NCw3IEBA IGRpZmYgLS1naXQgYS9nZGIvZXZlbnQtdG9wLmMgYi9nZGIvZXZlbnQtdG9wLmMKICAgIC8qIERv IG5vdCBjYWxsIHRoZSBweXRob24gaG9vayBvbiBhbiBleHBsaWNpdCBwcm9tcHQgY2hhbmdlIGFz CiAgICAgICBwYXNzZWQgdG8gdGhpcyBmdW5jdGlvbiwgYXMgdGhpcyBmb3JtcyBhIHNlY29uZGFy eS9sb2NhbCBwcm9tcHQsCiAgICAgICBJRSwgZGlzcGxheWVkIGJ1dCBub3Qgc2V0LiAgKi8KLUBA IC03NzIsNyArNzc1LDEwIEBAIGNvbW1hbmRfbGluZV9oYW5kbGVyIChnZGI6OnVuaXF1ZV94bWFs bG9jX3B0cjxjaGFyPiAmJnJsKQorQEAgLTc3Myw3ICs3NzYsMTAgQEAgY29tbWFuZF9saW5lX2hh bmRsZXIgKGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+ICYmcmwpCiAgICAgICAgY29tbWFu ZF9oYW5kbGVyIChjbWQpOwogIAogICAgICAgIGlmICh1aS0+cHJvbXB0X3N0YXRlICE9IFBST01Q VEVEKQpAQCAtMTQ5NywxMiArMTQ4OSwxMSBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V2ZW50LXRvcC5j IGIvZ2RiL2V2ZW50LXRvcC5jCiBkaWZmIC0tZ2l0IGEvZ2RiL3N5bWZpbGUuaCBiL2dkYi9zeW1m aWxlLmgKIC0tLSBhL2dkYi9zeW1maWxlLmgKICsrKyBiL2dkYi9zeW1maWxlLmgKLUBAIC01NDIs NiArNTQyLDggQEAgZXh0ZXJuIHZvaWQgZ2VuZXJpY19sb2FkIChjb25zdCBjaGFyICphcmdzLCBp bnQgZnJvbV90dHkpOworQEAgLTU2MCw2ICs1NjAsNyBAQCBleHRlcm4gdm9pZCBnZW5lcmljX2xv YWQgKGNvbnN0IGNoYXIgKmFyZ3MsIGludCBmcm9tX3R0eSk7CiAgLyogYnVpbGQtaWQgc3VwcG9y dC4gICovCiAgZXh0ZXJuIHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkX2FkZHJfZ2V0IChD T1JFX0FERFIgYWRkcik7CiAgZXh0ZXJuIHZvaWQgZGVidWdfcHJpbnRfbWlzc2luZyAoY29uc3Qg Y2hhciAqYmluYXJ5LCBjb25zdCBjaGFyICpkZWJ1Zyk7CiArZXh0ZXJuIHZvaWQgZGVidWdfZmx1 c2hfbWlzc2luZyAodm9pZCk7Ci0rI2RlZmluZSBCVUlMRF9JRF9NQUlOX0VYRUNVVEFCTEVfRklM RU5BTUUgXygidGhlIG1haW4gZXhlY3V0YWJsZSBmaWxlIikKKyAjZGVmaW5lIEJVSUxEX0lEX01B SU5fRVhFQ1VUQUJMRV9GSUxFTkFNRSBfKCJ0aGUgbWFpbiBleGVjdXRhYmxlIGZpbGUiKQogIAog IC8qIEZyb20gZHdhcmYycmVhZC5jICovCi0gCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1idWlsZGlk LWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUt c29saWItbWlzc2luZy1pZHMucGF0Y2gKaW5kZXggNzNiNzYzYS4uZjFmNWU4MyAxMDA2NDQKLS0t IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaAorKysgYi9n ZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3NpbmctaWRzLnBhdGNoCkBAIC0xNCw3ICsx NCw3IEBAIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTMzOTg2 MgogZGlmZiAtLWdpdCBhL2dkYi9zb2xpYi1zdnI0LmMgYi9nZGIvc29saWItc3ZyNC5jCiAtLS0g YS9nZGIvc29saWItc3ZyNC5jCiArKysgYi9nZGIvc29saWItc3ZyNC5jCi1AQCAtMTM0NiwxNCAr MTM0NiwyNyBAQCBzdnI0X3JlYWRfc29fbGlzdCAoc3ZyNF9pbmZvICppbmZvLCBDT1JFX0FERFIg bG0sIENPUkVfQUREUiBwcmV2X2xtLAorQEAgLTEzNDAsMTQgKzEzNDAsMjcgQEAgc3ZyNF9yZWFk X3NvX2xpc3QgKHN2cjRfaW5mbyAqaW5mbywgQ09SRV9BRERSIGxtLCBDT1JFX0FERFIgcHJldl9s bSwKICAJfQogIAogICAgICAgIHsKQEAgLTQ0LDcgKzQ0LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9z b2xpYi1zdnI0LmMgYi9nZGIvc29saWItc3ZyNC5jCiAgCWlmIChidWlsZF9pZCAhPSBOVUxMKQog IAkgIHsKICAJICAgIGNoYXIgKm5hbWUsICpidWlsZF9pZF9maWxlbmFtZTsKLUBAIC0xMzY4LDIz ICsxMzgxLDcgQEAgc3ZyNF9yZWFkX3NvX2xpc3QgKHN2cjRfaW5mbyAqaW5mbywgQ09SRV9BRERS IGxtLCBDT1JFX0FERFIgcHJldl9sbSwKK0BAIC0xMzYyLDIzICsxMzc1LDcgQEAgc3ZyNF9yZWFk X3NvX2xpc3QgKHN2cjRfaW5mbyAqaW5mbywgQ09SRV9BRERSIGxtLCBDT1JFX0FERFIgcHJldl9s bSwKICAJCXhmcmVlIChuYW1lKTsKICAJICAgICAgfQogIAkgICAgZWxzZQoKZGlmZiAtLWdpdCBh L2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2ggYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBh dGNoCmluZGV4IDUwNGM2YTkuLjZjOWZiODEgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtYnVpbGRpZC1s b2NhdGUucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaApAQCAtOSw3ICs5 LDcgQEAgU3ViamVjdDogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAogZGlmZiAtLWdpdCBh L2JmZC9saWJiZmQtaW4uaCBiL2JmZC9saWJiZmQtaW4uaAogLS0tIGEvYmZkL2xpYmJmZC1pbi5o CiArKysgYi9iZmQvbGliYmZkLWluLmgKLUBAIC0xMjcsNyArMTI3LDcgQEAgc3RhdGljIGlubGlu ZSBjaGFyICoKK0BAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIGlubGluZSBjaGFyICoKICBiZmRf c3RyZHVwIChjb25zdCBjaGFyICpzdHIpCiAgewogICAgc2l6ZV90IGxlbiA9IHN0cmxlbiAoc3Ry KSArIDE7CkBAIC0yMSw3ICsyMSw3IEBAIGRpZmYgLS1naXQgYS9iZmQvbGliYmZkLWluLmggYi9i ZmQvbGliYmZkLWluLmgKIGRpZmYgLS1naXQgYS9iZmQvbGliYmZkLmggYi9iZmQvbGliYmZkLmgK IC0tLSBhL2JmZC9saWJiZmQuaAogKysrIGIvYmZkL2xpYmJmZC5oCi1AQCAtMTMyLDcgKzEzMiw3 IEBAIHN0YXRpYyBpbmxpbmUgY2hhciAqCitAQCAtMTI2LDcgKzEyNiw3IEBAIHN0YXRpYyBpbmxp bmUgY2hhciAqCiAgYmZkX3N0cmR1cCAoY29uc3QgY2hhciAqc3RyKQogIHsKICAgIHNpemVfdCBs ZW4gPSBzdHJsZW4gKHN0cikgKyAxOwpAQCAtMzMsNyArMzMsNyBAQCBkaWZmIC0tZ2l0IGEvYmZk L2xpYmJmZC5oIGIvYmZkL2xpYmJmZC5oCiBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9n ZGIvYnVpbGQtaWQuYwogLS0tIGEvZ2RiL2J1aWxkLWlkLmMKICsrKyBiL2dkYi9idWlsZC1pZC5j Ci1AQCAtMjQsMTMgKzI0LDcxIEBACitAQCAtMjQsMTMgKzI0LDcwIEBACiAgI2luY2x1ZGUgImdk YnN1cHBvcnQvZ2RiX3ZlY3MuaCIKICAjaW5jbHVkZSAic3ltZmlsZS5oIgogICNpbmNsdWRlICJv YmpmaWxlcy5oIgpAQCAtNDYsNyArNDYsNiBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMg Yi9nZGIvYnVpbGQtaWQuYwogKyNpbmNsdWRlICJnZGJfYmZkLmgiCiArI2luY2x1ZGUgImdkYmNt ZC5oIgogICNpbmNsdWRlICJnZGJjb3JlLmgiCi0rI2luY2x1ZGUgImxpYmJmZC5oIgogKyNpbmNs dWRlICJvYmpmaWxlcy5oIgogKyNpbmNsdWRlICJvYnNlcnZhYmxlLmgiCiArI2luY2x1ZGUgInN5 bWZpbGUuaCIKQEAgLTEwNiw3ICsxMDUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMg Yi9nZGIvYnVpbGQtaWQuYwogIHsKICAgIGlmICghYmZkX2NoZWNrX2Zvcm1hdCAoYWJmZCwgYmZk X29iamVjdCkKICAgICAgICAmJiAhYmZkX2NoZWNrX2Zvcm1hdCAoYWJmZCwgYmZkX2NvcmUpKQot QEAgLTQzLDYgKzEwMSwzNDggQEAgYnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZkKQorQEAgLTQz LDYgKzEwMCwzNDggQEAgYnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZkKQogICAgcmV0dXJuIE5V TEw7CiAgfQogIApAQCAtNDU1LDcgKzQ1NCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQu YyBiL2dkYi9idWlsZC1pZC5jCiAgLyogU2VlIGJ1aWxkLWlkLmguICAqLwogIAogIGludAotQEAg LTUxLDcgKzQ1MSw3IEBAIGJ1aWxkX2lkX3ZlcmlmeSAoYmZkICphYmZkLCBzaXplX3QgY2hlY2tf bGVuLCBjb25zdCBiZmRfYnl0ZSAqY2hlY2spCitAQCAtNTEsNyArNDUwLDcgQEAgYnVpbGRfaWRf dmVyaWZ5IChiZmQgKmFiZmQsIHNpemVfdCBjaGVja19sZW4sIGNvbnN0IGJmZF9ieXRlICpjaGVj aykKICAgIGNvbnN0IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmZvdW5kOwogICAgaW50IHJldHZhbCA9 IDA7CiAgCkBAIC00NjQsNyArNDYzLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5jIGIv Z2RiL2J1aWxkLWlkLmMKICAKICAgIGlmIChmb3VuZCA9PSBOVUxMKQogICAgICB3YXJuaW5nIChf KCJGaWxlIFwiJXNcIiBoYXMgbm8gYnVpbGQtaWQsIGZpbGUgc2tpcHBlZCIpLAotQEAgLTY2LDU2 ICs0NjYsMTU5IEBAIGJ1aWxkX2lkX3ZlcmlmeSAoYmZkICphYmZkLCBzaXplX3QgY2hlY2tfbGVu LCBjb25zdCBiZmRfYnl0ZSAqY2hlY2spCitAQCAtNjYsNTYgKzQ2NSwxNTkgQEAgYnVpbGRfaWRf dmVyaWZ5IChiZmQgKmFiZmQsIHNpemVfdCBjaGVja19sZW4sIGNvbnN0IGJmZF9ieXRlICpjaGVj aykKICAgIHJldHVybiByZXR2YWw7CiAgfQogIApAQCAtNTQzLDcgKzU0Miw3IEBAIGRpZmYgLS1n aXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiArCSAgICAgZmlsZXMgbWF5IG5v dCBiZSBpbnN0YWxsZWQuICAqLwogIAogLSAgLyogV2UgZXhwZWN0IHRvIGJlIHNpbGVudCBvbiB0 aGUgbm9uLWV4aXN0aW5nIGZpbGVzLiAgKi8KLS0gIGdkYl9iZmRfcmVmX3B0ciBkZWJ1Z19iZmQg PSBnZGJfYmZkX29wZW4gKGZpbGVuYW1lLmdldCAoKSwgZ251dGFyZ2V0LCAtMSk7CistICBnZGJf YmZkX3JlZl9wdHIgZGVidWdfYmZkID0gZ2RiX2JmZF9vcGVuIChmaWxlbmFtZS5nZXQgKCksIGdu dXRhcmdldCk7CiArCSAgc3RyaW5nX2FwcGVuZGYgKGxpbmssICIuJXUiLCBzZXFubyk7CiArCX0K ICAKQEAgLTY1MSw3ICs2NTAsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIv YnVpbGQtaWQuYwogIH0KICAKICAvKiBDb21tb24gY29kZSBmb3IgZmluZGluZyBCRkRzIG9mIGEg Z2l2ZW4gYnVpbGQtaWQuICBUaGlzIGZ1bmN0aW9uCi1AQCAtMTI0LDcgKzYyNyw3IEBAIGJ1aWxk X2lkX3RvX2RlYnVnX2JmZF8xIChjb25zdCBzdGQ6OnN0cmluZyAmbGluaywgc2l6ZV90IGJ1aWxk X2lkX2xlbiwKK0BAIC0xMjQsNyArNjI2LDcgQEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkXzEgKGNv bnN0IHN0ZDo6c3RyaW5nICZsaW5rLCBzaXplX3QgYnVpbGRfaWRfbGVuLAogIAogIHN0YXRpYyBn ZGJfYmZkX3JlZl9wdHIKICBidWlsZF9pZF90b19iZmRfc3VmZml4IChzaXplX3QgYnVpbGRfaWRf bGVuLCBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQsCkBAIC02NjAsNyArNjU5LDcgQEAgZGlmZiAt LWdpdCBhL2dkYi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKICB7CiAgICAvKiBLZWVwIGJh Y2t3YXJkIGNvbXBhdGliaWxpdHkgc28gdGhhdCBERUJVR19GSUxFX0RJUkVDVE9SWSBiZWluZyAi IiB3aWxsCiAgICAgICBjYXVzZSAiLy5idWlsZC1pZC8uLi4iIGxvb2t1cHMuICAqLwotQEAgLTE0 NywxNiArNjUwLDE3IEBAIGJ1aWxkX2lkX3RvX2JmZF9zdWZmaXggKHNpemVfdCBidWlsZF9pZF9s ZW4sIGNvbnN0IGJmZF9ieXRlICpidWlsZF9pZCwKK0BAIC0xNDcsMTYgKzY0OSwxNyBAQCBidWls ZF9pZF90b19iZmRfc3VmZml4IChzaXplX3QgYnVpbGRfaWRfbGVuLCBjb25zdCBiZmRfYnl0ZSAq YnVpbGRfaWQsCiAgICAgICAgaWYgKHNpemUgPiAwKQogIAl7CiAgCSAgc2l6ZS0tOwpAQCAtNjgx LDcgKzY4MCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5j CiAgICAgICAgaWYgKGRlYnVnX2JmZCAhPSBOVUxMKQogIAlyZXR1cm4gZGVidWdfYmZkOwogIAot QEAgLTE3MCw3ICs2NzQsOCBAQCBidWlsZF9pZF90b19iZmRfc3VmZml4IChzaXplX3QgYnVpbGRf aWRfbGVuLCBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQsCitAQCAtMTcwLDcgKzY3Myw4IEBAIGJ1 aWxkX2lkX3RvX2JmZF9zdWZmaXggKHNpemVfdCBidWlsZF9pZF9sZW4sIGNvbnN0IGJmZF9ieXRl ICpidWlsZF9pZCwKICAgICAgICBpZiAoc3RyY21wIChnZGJfc3lzcm9vdCwgVEFSR0VUX1NZU1JP T1RfUFJFRklYKSAhPSAwKQogIAl7CiAgCSAgbGluayA9IGdkYl9zeXNyb290ICsgbGluazsKQEAg LTY5MSw3ICs2OTAsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQt aWQuYwogIAkgIGlmIChkZWJ1Z19iZmQgIT0gTlVMTCkKICAJICAgIHJldHVybiBkZWJ1Z19iZmQ7 CiAgCX0KLUBAIC0xNzksMzggKzY4NCwyMDggQEAgYnVpbGRfaWRfdG9fYmZkX3N1ZmZpeCAoc2l6 ZV90IGJ1aWxkX2lkX2xlbiwgY29uc3QgYmZkX2J5dGUgKmJ1aWxkX2lkLAorQEAgLTE3OSwzOCAr NjgzLDIwOCBAQCBidWlsZF9pZF90b19iZmRfc3VmZml4IChzaXplX3QgYnVpbGRfaWRfbGVuLCBj b25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQsCiAgICByZXR1cm4ge307CiAgfQogIApAQCAtOTA3LDcg KzkwNiw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAg ICAgICAgLyogUHJldmVudCBsb29waW5nIG9uIGEgc3RyaXBwZWQgLmRlYnVnIGZpbGUuICAqLwog ICAgICAgIGlmIChhYmZkICE9IE5VTEwKICAJICAmJiBmaWxlbmFtZV9jbXAgKGJmZF9nZXRfZmls ZW5hbWUgKGFiZmQuZ2V0ICgpKSwKLUBAIC0yMjMsMyArODk4LDIxIEBAIGZpbmRfc2VwYXJhdGVf ZGVidWdfZmlsZV9ieV9idWlsZGlkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKK0BAIC0yMjMs MyArODk3LDIxIEBAIGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSkKICAKICAgIHJldHVybiBzdGQ6OnN0cmluZyAoKTsKICB9CkBAIC0x MDAzLDggKzEwMDIsOCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBiL2dkYi9jb3JlbG93 LmMKICAjaW5jbHVkZSAiaW5mZXJpb3IuaCIKICAjaW5jbHVkZSAiaW5mcnVuLmgiCiAgI2luY2x1 ZGUgInN5bXRhYi5oIgotQEAgLTMyMiw2ICszMjYsOCBAQCBhZGRfdG9fdGhyZWFkX2xpc3QgKGJm ZCAqYWJmZCwgYXNlY3Rpb24gKmFzZWN0LCB2b2lkICpyZWdfc2VjdF9hcmcpCi0gICAgIGluZmVy aW9yX3B0aWQgPSBwdGlkOwkJCS8qIFllcywgbWFrZSBpdCBjdXJyZW50LiAgKi8KK0BAIC0zNjIs NiArMzY2LDggQEAgYWRkX3RvX3RocmVhZF9saXN0IChiZmQgKmFiZmQsIGFzZWN0aW9uICphc2Vj dCwgdm9pZCAqcmVnX3NlY3RfYXJnKQorICAgICBzd2l0Y2hfdG9fdGhyZWFkICh0aHIpOwkJCS8q IFllcywgbWFrZSBpdCBjdXJyZW50LiAgKi8KICB9CiAgCiArc3RhdGljIGJvb2wgYnVpbGRfaWRf Y29yZV9sb2FkcyA9IHRydWU7CkBAIC0xMDEyLDcgKzEwMTEsNyBAQCBkaWZmIC0tZ2l0IGEvZ2Ri L2NvcmVsb3cuYyBiL2dkYi9jb3JlbG93LmMKICAvKiBJc3N1ZSBhIG1lc3NhZ2Ugc2F5aW5nIHdl IGhhdmUgbm8gY29yZSB0byBkZWJ1ZywgaWYgRlJPTV9UVFkuICAqLwogIAogIHN0YXRpYyB2b2lk Ci1AQCAtMzU4LDE5ICszNjQsMjUgQEAgY29yZV9maWxlX2NvbW1hbmQgKGNvbnN0IGNoYXIgKmZp bGVuYW1lLCBpbnQgZnJvbV90dHkpCitAQCAtMzk4LDE5ICs0MDQsMjUgQEAgY29yZV9maWxlX2Nv bW1hbmQgKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgZnJvbV90dHkpCiAgc3RhdGljIHZvaWQK ICBsb2NhdGVfZXhlY19mcm9tX2NvcmVmaWxlX2J1aWxkX2lkIChiZmQgKmFiZmQsIGludCBmcm9t X3R0eSkKICB7CkBAIC0xMDQwLDEwICsxMDM5LDEwIEBAIGRpZmYgLS1naXQgYS9nZGIvY29yZWxv dy5jIGIvZ2RiL2NvcmVsb3cuYwogIH0KICAKICAvKiBTZWUgZ2RiY29yZS5oLiAgKi8KLUBAIC05 OTgsNCArMTAxMCwxMSBAQCB2b2lkCi0gX2luaXRpYWxpemVfY29yZWxvdyAodm9pZCkKLSB7Ci0g ICBhZGRfdGFyZ2V0IChjb3JlX3RhcmdldF9pbmZvLCBjb3JlX3RhcmdldF9vcGVuLCBmaWxlbmFt ZV9jb21wbGV0ZXIpOworQEAgLTExODksNCArMTIwMSwxMSBAQCBfaW5pdGlhbGl6ZV9jb3JlbG93 ICgpCisgICAgICAgICAgICBtYWludGVuYW5jZV9wcmludF9jb3JlX2ZpbGVfYmFja2VkX21hcHBp bmdzLAorIAkgICBfKCJQcmludCBjb3JlIGZpbGUncyBmaWxlLWJhY2tlZCBtYXBwaW5ncy4iKSwK KyAJICAgJm1haW50ZW5hbmNlcHJpbnRsaXN0KTsKICsKICsgIGFkZF9zZXRzaG93X2Jvb2xlYW5f Y21kICgiYnVpbGQtaWQtY29yZS1sb2FkcyIsIGNsYXNzX2ZpbGVzLAogKwkJCSAgICZidWlsZF9p ZF9jb3JlX2xvYWRzLCBfKCJcCkBAIC0xMDU1LDcgKzEwNTQsNyBAQCBkaWZmIC0tZ2l0IGEvZ2Ri L2NvcmVsb3cuYyBiL2dkYi9jb3JlbG93LmMKIGRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYi50ZXhp bmZvIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwogLS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbwogKysr IGIvZ2RiL2RvYy9nZGIudGV4aW5mbwotQEAgLTIwODYyLDYgKzIwODYyLDI3IEBAIGluZm9ybWF0 aW9uIGZpbGVzLgorQEAgLTIxMDc0LDYgKzIxMDc0LDI3IEBAIGluZm9ybWF0aW9uIGZpbGVzLgog IAogIEBlbmQgdGFibGUKICAKQEAgLTEwODMsMTAgKzEwODIsMTAgQEAgZGlmZiAtLWdpdCBhL2dk Yi9kb2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCiAgQGNpbmRleCBAY29kZXsu Z251X2RlYnVnbGlua30gc2VjdGlvbnMKICBAY2luZGV4IGRlYnVnIGxpbmsgc2VjdGlvbnMKICBB IGRlYnVnIGxpbmsgaXMgYSBzcGVjaWFsIHNlY3Rpb24gb2YgdGhlIGV4ZWN1dGFibGUgZmlsZSBu YW1lZAotZGlmZiAtLWdpdCBhL2dkYi9kd2FyZi1pbmRleC1jYWNoZS5jIGIvZ2RiL2R3YXJmLWlu ZGV4LWNhY2hlLmMKLS0tLSBhL2dkYi9kd2FyZi1pbmRleC1jYWNoZS5jCi0rKysgYi9nZGIvZHdh cmYtaW5kZXgtY2FjaGUuYwotQEAgLTk0LDcgKzk0LDcgQEAgaW5kZXhfY2FjaGU6OnN0b3JlIChz dHJ1Y3QgZHdhcmYyX3Blcl9vYmpmaWxlICpkd2FyZjJfcGVyX29iamZpbGUpCitkaWZmIC0tZ2l0 IGEvZ2RiL2R3YXJmMi9pbmRleC1jYWNoZS5jIGIvZ2RiL2R3YXJmMi9pbmRleC1jYWNoZS5jCist LS0gYS9nZGIvZHdhcmYyL2luZGV4LWNhY2hlLmMKKysrKyBiL2dkYi9kd2FyZjIvaW5kZXgtY2Fj aGUuYworQEAgLTk1LDcgKzk1LDcgQEAgaW5kZXhfY2FjaGU6OnN0b3JlIChkd2FyZjJfcGVyX29i amZpbGUgKnBlcl9vYmpmaWxlKQogICAgICByZXR1cm47CiAgCiAgICAvKiBHZXQgYnVpbGQgaWQg b2Ygb2JqZmlsZS4gICovCkBAIC0xMDk1LDcgKzEwOTQsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3 YXJmLWluZGV4LWNhY2hlLmMgYi9nZGIvZHdhcmYtaW5kZXgtY2FjaGUuYwogICAgaWYgKGJ1aWxk X2lkID09IG51bGxwdHIpCiAgICAgIHsKICAgICAgICBpZiAoZGVidWdfaW5kZXhfY2FjaGUpCi1A QCAtMTEyLDcgKzExMiw4IEBAIGluZGV4X2NhY2hlOjpzdG9yZSAoc3RydWN0IGR3YXJmMl9wZXJf b2JqZmlsZSAqZHdhcmYyX3Blcl9vYmpmaWxlKQorQEAgLTExMyw3ICsxMTMsOCBAQCBpbmRleF9j YWNoZTo6c3RvcmUgKGR3YXJmMl9wZXJfb2JqZmlsZSAqcGVyX29iamZpbGUpCiAgCiAgICBpZiAo ZHd6ICE9IG51bGxwdHIpCiAgICAgIHsKQEAgLTExMDUsMjggKzExMDQsMjggQEAgZGlmZiAtLWdp dCBhL2dkYi9kd2FyZi1pbmRleC1jYWNoZS5jIGIvZ2RiL2R3YXJmLWluZGV4LWNhY2hlLmMKICAK ICAgICAgICBpZiAoZHd6X2J1aWxkX2lkID09IG51bGxwdHIpCiAgCXsKLWRpZmYgLS1naXQgYS9n ZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwotLS0tIGEvZ2RiL2R3YXJmMnJlYWQu YwotKysrIGIvZ2RiL2R3YXJmMnJlYWQuYwotQEAgLTI3MTgsNyArMjcxOCw3IEBAIGR3YXJmMl9n ZXRfZHd6X2ZpbGUgKHN0cnVjdCBkd2FyZjJfcGVyX29iamZpbGUgKmR3YXJmMl9wZXJfb2JqZmls ZSkKK2RpZmYgLS1naXQgYS9nZGIvZHdhcmYyL3JlYWQuYyBiL2dkYi9kd2FyZjIvcmVhZC5jCist LS0gYS9nZGIvZHdhcmYyL3JlYWQuYworKysrIGIvZ2RiL2R3YXJmMi9yZWFkLmMKK0BAIC0yMjE4 LDcgKzIyMTgsNyBAQCBkd2FyZjJfZ2V0X2R3el9maWxlIChkd2FyZjJfcGVyX2JmZCAqcGVyX2Jm ZCkKICAgICAgfQogIAogICAgaWYgKGR3el9iZmQgPT0gTlVMTCkKIC0gICAgZHd6X2JmZCA9IGJ1 aWxkX2lkX3RvX2RlYnVnX2JmZCAoYnVpbGRpZF9sZW4sIGJ1aWxkaWQpOwogKyAgICBkd3pfYmZk ID0gYnVpbGRfaWRfdG9fZGVidWdfYmZkIChidWlsZGlkX2xlbiwgYnVpbGRpZCwgTlVMTCk7CiAg Ci0gICBpZiAoZHd6X2JmZCA9PSBOVUxMKQotICAgICBlcnJvciAoXygiY291bGQgbm90IGZpbmQg Jy5nbnVfZGVidWdhbHRsaW5rJyBmaWxlIGZvciAlcyIpLAotQEAgLTYyNzYsNyArNjI3Niw3IEBA IGdldF9nZGJfaW5kZXhfY29udGVudHNfZnJvbV9zZWN0aW9uIChvYmpmaWxlICpvYmosIFQgKnNl Y3Rpb25fb3duZXIpCisgICBpZiAoZHd6X2JmZCA9PSBudWxscHRyKQorICAgICB7CitAQCAtNTk4 MCw3ICs1OTgwLDcgQEAgZ2V0X2dkYl9pbmRleF9jb250ZW50c19mcm9tX3NlY3Rpb24gKG9iamZp bGUgKm9iaiwgVCAqc2VjdGlvbl9vd25lcikKICBzdGF0aWMgZ2RiOjphcnJheV92aWV3PGNvbnN0 IGdkYl9ieXRlPgotIGdldF9nZGJfaW5kZXhfY29udGVudHNfZnJvbV9jYWNoZSAob2JqZmlsZSAq b2JqLCBkd2FyZjJfcGVyX29iamZpbGUgKmR3YXJmMl9vYmopCisgZ2V0X2dkYl9pbmRleF9jb250 ZW50c19mcm9tX2NhY2hlIChvYmpmaWxlICpvYmosIGR3YXJmMl9wZXJfYmZkICpkd2FyZjJfcGVy X2JmZCkKICB7CiAtICBjb25zdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkID0gYnVpbGRfaWRfYmZk X2dldCAob2JqLT5vYmZkKTsKICsgIGNvbnN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQgPSBidWls ZF9pZF9iZmRfc2hkcl9nZXQgKG9iai0+b2JmZCk7CiAgICBpZiAoYnVpbGRfaWQgPT0gbnVsbHB0 cikKICAgICAgcmV0dXJuIHt9OwogIAotQEAgLTYyODksNyArNjI4OSw3IEBAIGdldF9nZGJfaW5k ZXhfY29udGVudHNfZnJvbV9jYWNoZSAob2JqZmlsZSAqb2JqLCBkd2FyZjJfcGVyX29iamZpbGUg KmR3YXJmMl9vYmopCitAQCAtNTk5Myw3ICs1OTkzLDcgQEAgZ2V0X2dkYl9pbmRleF9jb250ZW50 c19mcm9tX2NhY2hlIChvYmpmaWxlICpvYmosIGR3YXJmMl9wZXJfYmZkICpkd2FyZjJfcGVyX2Jm ZCkKICBzdGF0aWMgZ2RiOjphcnJheV92aWV3PGNvbnN0IGdkYl9ieXRlPgogIGdldF9nZGJfaW5k ZXhfY29udGVudHNfZnJvbV9jYWNoZV9kd3ogKG9iamZpbGUgKm9iaiwgZHd6X2ZpbGUgKmR3eikK ICB7CkBAIC0xMTM4LDcgKzExMzcsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBi L2dkYi9kd2FyZjJyZWFkLmMKIGRpZmYgLS1naXQgYS9nZGIvZWxmcmVhZC5jIGIvZ2RiL2VsZnJl YWQuYwogLS0tIGEvZ2RiL2VsZnJlYWQuYwogKysrIGIvZ2RiL2VsZnJlYWQuYwotQEAgLTEyOTks NyArMTI5OSw5IEBAIGVsZl9zeW1maWxlX3JlYWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBz eW1maWxlX2FkZF9mbGFncyBzeW1maWxlX2ZsYWdzKQorQEAgLTEyOTgsNyArMTI5OCw5IEBAIGVs Zl9zeW1maWxlX3JlYWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBzeW1maWxlX2FkZF9mbGFn cyBzeW1maWxlX2ZsYWdzKQogIAkgICAmJiBvYmpmaWxlLT5zZXBhcmF0ZV9kZWJ1Z19vYmpmaWxl ID09IE5VTEwKICAJICAgJiYgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGlu ayA9PSBOVUxMKQogICAgICB7CkBAIC0xMTQ5LDM1ICsxMTQ4LDYxIEBAIGRpZmYgLS1naXQgYS9n ZGIvZWxmcmVhZC5jIGIvZ2RiL2VsZnJlYWQuYwogIAogICAgICAgIGlmIChkZWJ1Z2ZpbGUuZW1w dHkgKCkpCiAgCWRlYnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9kZWJ1Z2xp bmsgKG9iamZpbGUpOwotQEAgLTEzMTEsOCArMTMxMywxMiBAQCBlbGZfc3ltZmlsZV9yZWFkIChz dHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgc3ltZmlsZV9hZGRfZmxhZ3Mgc3ltZmlsZV9mbGFncykK LSAJICBzeW1ib2xfZmlsZV9hZGRfc2VwYXJhdGUgKGRlYnVnX2JmZC5nZXQgKCksIGRlYnVnZmls ZS5jX3N0ciAoKSwKLSAJCQkJICAgIHN5bWZpbGVfZmxhZ3MsIG9iamZpbGUpOworQEAgLTEzMTMs NyArMTMxNSw3IEBAIGVsZl9zeW1maWxlX3JlYWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBz eW1maWxlX2FkZF9mbGFncyBzeW1maWxlX2ZsYWdzKQorICAgICAgIGVsc2UKKyAJeworIAkgIGhh c19kd2FyZjIgPSBmYWxzZTsKKy0JICBjb25zdCBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9p ZCA9IGJ1aWxkX2lkX2JmZF9nZXQgKG9iamZpbGUtPm9iZmQpOworKwkgIGNvbnN0IHN0cnVjdCBi ZmRfYnVpbGRfaWQgKmJ1aWxkX2lkID0gYnVpbGRfaWRfYmZkX3NoZHJfZ2V0IChvYmpmaWxlLT5v YmZkKTsKKyAKKyAJICBpZiAoYnVpbGRfaWQgIT0gbnVsbHB0cikKKyAJICAgIHsKK0BAIC0xMzM4 LDYgKzEzNDAsMTAgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUs IHN5bWZpbGVfYWRkX2ZsYWdzIHN5bWZpbGVfZmxhZ3MpCisgCQkgICAgICBoYXNfZHdhcmYyID0g dHJ1ZTsKKyAJCSAgICB9CisgCQl9CisrCQkvKiBDaGVjayBpZiBhbnkgc2VwYXJhdGUgZGVidWcg aW5mbyBoYXMgYmVlbiBleHRyYWN0ZWQgb3V0LiAgKi8KKysJCWVsc2UgaWYgKGJmZF9nZXRfc2Vj dGlvbl9ieV9uYW1lIChvYmpmaWxlLT5vYmZkLCAiLmdudV9kZWJ1Z2xpbmsiKQorKwkJCSAhPSBO VUxMKQorKwkJICBkZWJ1Z19wcmludF9taXNzaW5nIChvYmpmaWxlX25hbWUgKG9iamZpbGUpLCBi dWlsZF9pZF9maWxlbmFtZS5nZXQgKCkpOworIAkgICAgfQogIAl9Ci0tCWVsc2UKLS0JICBoYXNf ZHdhcmYyID0gZmFsc2U7Ci0rICAgICAgLyogQ2hlY2sgaWYgYW55IHNlcGFyYXRlIGRlYnVnIGlu Zm8gaGFzIGJlZW4gZXh0cmFjdGVkIG91dC4gICovCi0rICAgICAgZWxzZSBpZiAoYmZkX2dldF9z ZWN0aW9uX2J5X25hbWUgKG9iamZpbGUtPm9iZmQsICIuZ251X2RlYnVnbGluayIpCi0rCSAgICAg ICAhPSBOVUxMKQotKwlkZWJ1Z19wcmludF9taXNzaW5nIChvYmpmaWxlX25hbWUgKG9iamZpbGUp LCBidWlsZF9pZF9maWxlbmFtZS5nZXQgKCkpOwotKyAgICAgIGVsc2UKLSsJaGFzX2R3YXJmMiA9 IGZhbHNlOwogICAgICB9CitkaWZmIC0tZ2l0IGEvZ2RiL2V4ZWMuYyBiL2dkYi9leGVjLmMKKy0t LSBhL2dkYi9leGVjLmMKKysrKyBiL2dkYi9leGVjLmMKK0BAIC0yNjQsNyArMjY0LDcgQEAgdmFs aWRhdGVfZXhlY19maWxlIChpbnQgZnJvbV90dHkpCisgICByZW9wZW5fZXhlY19maWxlICgpOwor ICAgY3VycmVudF9leGVjX2ZpbGUgPSBnZXRfZXhlY19maWxlICgwKTsKKyAKKy0gIGNvbnN0IGJm ZF9idWlsZF9pZCAqZXhlY19maWxlX2J1aWxkX2lkID0gYnVpbGRfaWRfYmZkX2dldCAoZXhlY19i ZmQpOworKyAgY29uc3QgYmZkX2J1aWxkX2lkICpleGVjX2ZpbGVfYnVpbGRfaWQgPSBidWlsZF9p ZF9iZmRfc2hkcl9nZXQgKGV4ZWNfYmZkKTsKKyAgIGlmIChleGVjX2ZpbGVfYnVpbGRfaWQgIT0g bnVsbHB0cikKKyAgICAgeworICAgICAgIC8qIFByZXBlbmQgdGhlIHRhcmdldCBwcmVmaXgsIHRv IGZvcmNlIGdkYl9iZmRfb3BlbiB0byBvcGVuIHRoZQorQEAgLTI3Nyw3ICsyNzcsNyBAQCB2YWxp ZGF0ZV9leGVjX2ZpbGUgKGludCBmcm9tX3R0eSkKKyAgICAgICBpZiAoYWJmZCAhPSBudWxscHRy KQorIAl7CisgCSAgY29uc3QgYmZkX2J1aWxkX2lkICp0YXJnZXRfZXhlY19maWxlX2J1aWxkX2lk CistCSAgICA9IGJ1aWxkX2lkX2JmZF9nZXQgKGFiZmQuZ2V0ICgpKTsKKysJICAgID0gYnVpbGRf aWRfYmZkX3NoZHJfZ2V0IChhYmZkLmdldCAoKSk7CiAgCi0gICAvKiBSZWFkIHRoZSBDVEYgc2Vj dGlvbiBvbmx5IGlmIHRoZXJlIGlzIG5vIERXQVJGIGluZm8uICAqLworIAkgIGlmICh0YXJnZXRf ZXhlY19maWxlX2J1aWxkX2lkICE9IG51bGxwdHIpCisgCSAgICB7CiBkaWZmIC0tZ2l0IGEvZ2Ri L29iamZpbGVzLmggYi9nZGIvb2JqZmlsZXMuaAogLS0tIGEvZ2RiL29iamZpbGVzLmgKICsrKyBi L2dkYi9vYmpmaWxlcy5oCi1AQCAtNjI3LDYgKzYyNywxMCBAQCBzdHJ1Y3Qgb2JqZmlsZQotICAg aHRhYl91cCBzdGF0aWNfbGlua3M7CitAQCAtNzE0LDYgKzcxNCwxMCBAQCBzdHJ1Y3Qgb2JqZmls ZQorICAgYm9vbCBza2lwX2ppdF9zeW1ib2xfbG9va3VwID0gZmFsc2U7CiAgfTsKICAKICsvKiBU aGlzIGZpbGUgd2FzIGxvYWRlZCBhY2NvcmRpbmcgdG8gdGhlIEJVSUxEX0lEX0NPUkVfTE9BRFMg cnVsZXMuICAqLwogKwogKyNkZWZpbmUgT0JKRl9CVUlMRF9JRF9DT1JFX0xPQURFRCBzdGF0aWNf Y2FzdDxlbnVtIG9iamZpbGVfZmxhZz4oMSA8PCAxMikKICsKLSAvKiBEZWNsYXJhdGlvbnMgZm9y IGZ1bmN0aW9ucyBkZWZpbmVkIGluIG9iamZpbGVzLmMgKi8KKyAvKiBBIGRlbGV0ZXIgZm9yIG9i amZpbGUuICAqLwogIAotIGV4dGVybiBzdHJ1Y3QgZ2RiYXJjaCAqZ2V0X29iamZpbGVfYXJjaCAo Y29uc3Qgc3RydWN0IG9iamZpbGUgKik7Cisgc3RydWN0IG9iamZpbGVfZGVsZXRlcgogZGlmZiAt LWdpdCBhL2dkYi9weXRob24vcHktb2JqZmlsZS5jIGIvZ2RiL3B5dGhvbi9weS1vYmpmaWxlLmMK IC0tLSBhL2dkYi9weXRob24vcHktb2JqZmlsZS5jCiArKysgYi9nZGIvcHl0aG9uL3B5LW9iamZp bGUuYwpAQCAtMTIxMCw3ICsxMjM1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9zb2xpYi1zdnI0LmMg Yi9nZGIvc29saWItc3ZyNC5jCiAgCiAgc3RhdGljIHN0cnVjdCBsaW5rX21hcF9vZmZzZXRzICpz dnI0X2ZldGNoX2xpbmtfbWFwX29mZnNldHMgKHZvaWQpOwogIHN0YXRpYyBpbnQgc3ZyNF9oYXZl X2xpbmtfbWFwX29mZnNldHMgKHZvaWQpOwotQEAgLTEzNDQsOSArMTM0NSw1MSBAQCBzdnI0X3Jl YWRfc29fbGlzdCAoc3ZyNF9pbmZvICppbmZvLCBDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2 X2xtLAorQEAgLTEzMzgsOSArMTMzOSw1MSBAQCBzdnI0X3JlYWRfc29fbGlzdCAoc3ZyNF9pbmZv ICppbmZvLCBDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAogIAkgIGNvbnRpbnVlOwog IAl9CiAgCkBAIC0xMjY1LDEwICsxMjkwLDIyIEBAIGRpZmYgLS1naXQgYS9nZGIvc29saWItc3Zy NC5jIGIvZ2RiL3NvbGliLXN2cjQuYwogIAogICAgICAgIC8qIElmIHRoaXMgZW50cnkgaGFzIG5v IG5hbWUsIG9yIGl0cyBuYW1lIG1hdGNoZXMgdGhlIG5hbWUKICAJIGZvciB0aGUgbWFpbiBleGVj dXRhYmxlLCBkb24ndCBpbmNsdWRlIGl0IGluIHRoZSBsaXN0LiAgKi8KK2RpZmYgLS1naXQgYS9n ZGIvc291cmNlLmMgYi9nZGIvc291cmNlLmMKKy0tLSBhL2dkYi9zb3VyY2UuYworKysrIGIvZ2Ri L3NvdXJjZS5jCitAQCAtMTE2NSw3ICsxMTY1LDcgQEAgb3Blbl9zb3VyY2VfZmlsZSAoc3RydWN0 IHN5bXRhYiAqcykKKyAJICAgICAgc3JjcGF0aCArPSBzLT5maWxlbmFtZTsKKyAJICAgIH0KKyAK Ky0JICBjb25zdCBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCA9IGJ1aWxkX2lkX2JmZF9n ZXQgKG9mcC0+b2JmZCk7CisrCSAgY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQg PSBidWlsZF9pZF9iZmRfc2hkcl9nZXQgKG9mcC0+b2JmZCk7CisgCisgCSAgLyogUXVlcnkgZGVi dWdpbmZvZCBmb3IgdGhlIHNvdXJjZSBmaWxlLiAgKi8KKyAJICBpZiAoYnVpbGRfaWQgIT0gbnVs bHB0ciAmJiAhc3JjcGF0aC5lbXB0eSAoKSkKIGRpZmYgLS1naXQgYS9nZGIvc3ltZmlsZS5oIGIv Z2RiL3N5bWZpbGUuaAogLS0tIGEvZ2RiL3N5bWZpbGUuaAogKysrIGIvZ2RiL3N5bWZpbGUuaAot QEAgLTUzMiwxMiArNTMyLDE3IEBAIHZvaWQgZXhwYW5kX3N5bXRhYnNfbWF0Y2hpbmcKK0BAIC01 NTAsMTIgKzU1MCwxOCBAQCB2b2lkIGV4cGFuZF9zeW10YWJzX21hdGNoaW5nCiAgdm9pZCBtYXBf c3ltYm9sX2ZpbGVuYW1lcyAoc3ltYm9sX2ZpbGVuYW1lX2Z0eXBlICpmdW4sIHZvaWQgKmRhdGEs CiAgCQkJICAgaW50IG5lZWRfZnVsbG5hbWUpOwogIApAQCAtMTI4Miw2ICsxMzE5LDcgQEAgZGlm ZiAtLWdpdCBhL2dkYi9zeW1maWxlLmggYi9nZGIvc3ltZmlsZS5oCiArLyogYnVpbGQtaWQgc3Vw cG9ydC4gICovCiArZXh0ZXJuIHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkX2FkZHJfZ2V0 IChDT1JFX0FERFIgYWRkcik7CiArZXh0ZXJuIHZvaWQgZGVidWdfcHJpbnRfbWlzc2luZyAoY29u c3QgY2hhciAqYmluYXJ5LCBjb25zdCBjaGFyICpkZWJ1Zyk7CisrI2RlZmluZSBCVUlMRF9JRF9N QUlOX0VYRUNVVEFCTEVfRklMRU5BTUUgXygidGhlIG1haW4gZXhlY3V0YWJsZSBmaWxlIikKICsK ICAvKiBGcm9tIGR3YXJmMnJlYWQuYyAqLwogIApAQCAtMTI4OSw3ICsxMzI3LDcgQEAgZGlmZiAt LWdpdCBhL2dkYi9zeW1maWxlLmggYi9nZGIvc3ltZmlsZS5oCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmlsZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Nv cmVmaWxlLmV4cAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmlsZS5leHAKICsr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhwCi1AQCAtMzExLDMgKzMxMSwz MyBAQCBnZGJfdGVzdF9tdWx0aXBsZSAiY29yZS1maWxlICRjb3JlZmlsZSIgJHRlc3QgeworQEAg LTM0MywzICszNDMsMzMgQEAgZ2RiX3Rlc3RfbXVsdGlwbGUgImNvcmUtZmlsZSAkY29yZWZpbGUi ICR0ZXN0IHsKICAJcGFzcyAkdGVzdAogICAgICB9CiAgfQpAQCAtMTMzNyw3ICsxMzc1LDcgQEAg ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbmV3LXVpLXBlbmRpbmctaW5wdXQu ZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9n ZGIuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9s aWIvZ2RiLmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAotQEAgLTE4OTEsNiAr MTg5MSwxNyBAQCBwcm9jIGRlZmF1bHRfZ2RiX3N0YXJ0IHsgfSB7CitAQCAtMjAxMSw2ICsyMDEx LDE3IEBAIHByb2MgZGVmYXVsdF9nZGJfc3RhcnQgeyB9IHsKICAJfQogICAgICB9CiAgCkBAIC0x MzU4LDcgKzEzOTYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCBi L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xp Yi9taS1zdXBwb3J0LmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCiAtLS0g YS9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9s aWIvbWktc3VwcG9ydC5leHAKLUBAIC0zMDksNiArMzA5LDE2IEBAIHByb2MgZGVmYXVsdF9taV9n ZGJfc3RhcnQgeyBhcmdzIH0geworQEAgLTMwOCw2ICszMDgsMTYgQEAgcHJvYyBkZWZhdWx0X21p X2dkYl9zdGFydCB7IGFyZ3MgfSB7CiAgCSAgICB3YXJuaW5nICJDb3VsZG4ndCBzZXQgdGhlIHdp ZHRoIHRvIDAuIgogIAl9CiAgICAgIH0KCmRpZmYgLS1naXQgYS9nZGItNi43LXRlc3RzdWl0ZS1z dGFibGUtcmVzdWx0cy5wYXRjaCBiL2dkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1bHRzLnBh dGNoCmluZGV4IGVjOGY5YzIuLjBlY2ExYTcgMTAwNjQ0Ci0tLSBhL2dkYi02LjctdGVzdHN1aXRl LXN0YWJsZS1yZXN1bHRzLnBhdGNoCisrKyBiL2dkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1 bHRzLnBhdGNoCkBAIC0yOCw3ICsyOCw3IEBAIGZyYW1lcy1pbnZhbGlkIGNhbiBoYXBwZW4gYXN5 bmNocm9ub3VzbHkuCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9maWxlaW8u YyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZmlsZWlvLmMKIC0tLSBhL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvZmlsZWlvLmMKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZmlsZWlvLmMK LUBAIC01NjAsNiArNTYwLDI4IEBAIHN0cmVycm5vIChpbnQgZXJyKQorQEAgLTU1OSw2ICs1NTks MjggQEAgc3RyZXJybm8gKGludCBlcnIpCiAgaW50CiAgbWFpbiAoKQogIHsKCmRpZmYgLS1naXQg YS9nZGItNi44LXF1aXQtbmV2ZXItYWJvcnRzLnBhdGNoIGIvZ2RiLTYuOC1xdWl0LW5ldmVyLWFi b3J0cy5wYXRjaAppbmRleCA0ZGQwMWM1Li5hNjgyNDY5IDEwMDY0NAotLS0gYS9nZGItNi44LXF1 aXQtbmV2ZXItYWJvcnRzLnBhdGNoCisrKyBiL2dkYi02LjgtcXVpdC1uZXZlci1hYm9ydHMucGF0 Y2gKQEAgLTE2LDcgKzE2LDcgQEAgb24gdGhlIGRlYnVnZ2VyIHRlcm1pbmF0aW9uKS4KIGRpZmYg LS1naXQgYS9nZGIvZGVmcy5oIGIvZ2RiL2RlZnMuaAogLS0tIGEvZ2RiL2RlZnMuaAogKysrIGIv Z2RiL2RlZnMuaAotQEAgLTE2OCw2ICsxNjgsMTAgQEAgZXh0ZXJuIHZvaWQgZGVmYXVsdF9xdWl0 X2hhbmRsZXIgKHZvaWQpOworQEAgLTE3Nyw2ICsxNzcsMTAgQEAgZXh0ZXJuIHZvaWQgZGVmYXVs dF9xdWl0X2hhbmRsZXIgKHZvaWQpOwogIC8qIEZsYWcgdGhhdCBmdW5jdGlvbiBxdWl0IHNob3Vs ZCBjYWxsIHF1aXRfZm9yY2UuICAqLwogIGV4dGVybiB2b2xhdGlsZSBpbnQgc3luY19xdWl0X2Zv cmNlX3J1bjsKICAKQEAgLTMwLDI0ICszMCwyNCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2RlZnMuaCBi L2dkYi9kZWZzLmgKIGRpZmYgLS1naXQgYS9nZGIvZXh0ZW5zaW9uLmMgYi9nZGIvZXh0ZW5zaW9u LmMKIC0tLSBhL2dkYi9leHRlbnNpb24uYwogKysrIGIvZ2RiL2V4dGVuc2lvbi5jCi1AQCAtODIz LDYgKzgyMywxMSBAQCBjaGVja19xdWl0X2ZsYWcgKHZvaWQpCi0gICBpbnQgaSwgcmVzdWx0ID0g MDsKLSAgIGNvbnN0IHN0cnVjdCBleHRlbnNpb25fbGFuZ3VhZ2VfZGVmbiAqZXh0bGFuZzsKK0BA IC03NjksNiArNzY5LDExIEBAIGNoZWNrX3F1aXRfZmxhZyAodm9pZCkKKyB7CisgICBpbnQgcmVz dWx0ID0gMDsKICAKICsjaWZkZWYgTkVFRF9ERVRBQ0hfU0lHU1RPUAogKyAgaWYgKHF1aXRfZmxh Z19jbGVhbnVwKQogKyAgICByZXR1cm4gMDsKICsjZW5kaWYKICsKLSAgIEFMTF9FTkFCTEVEX0VY VEVOU0lPTl9MQU5HVUFHRVMgKGksIGV4dGxhbmcpCisgICBmb3IgKGNvbnN0IHN0cnVjdCBleHRl bnNpb25fbGFuZ3VhZ2VfZGVmbiAqZXh0bGFuZyA6IGV4dGVuc2lvbl9sYW5ndWFnZXMpCiAgICAg IHsKLSAgICAgICBpZiAoZXh0bGFuZy0+b3BzLT5jaGVja19xdWl0X2ZsYWcgIT0gTlVMTCkKKyAg ICAgICBpZiAoZXh0bGFuZy0+b3BzICE9IG51bGxwdHIKIGRpZmYgLS1naXQgYS9nZGIvdG9wLmMg Yi9nZGIvdG9wLmMKIC0tLSBhL2dkYi90b3AuYwogKysrIGIvZ2RiL3RvcC5jCi1AQCAtMTcwMyw3 ICsxNzAzLDEzIEBAIHF1aXRfZm9yY2UgKGludCAqZXhpdF9hcmcsIGludCBmcm9tX3R0eSkKLSAK LSAgIHF0LmZyb21fdHR5ID0gZnJvbV90dHk7CitAQCAtMTc3MCw3ICsxNzcwLDEzIEBAIHF1aXRf Zm9yY2UgKGludCAqZXhpdF9hcmcsIGludCBmcm9tX3R0eSkKKyAgIGVsc2UgaWYgKHJldHVybl9j aGlsZF9yZXN1bHQpCisgICAgIGV4aXRfY29kZSA9IHJldHVybl9jaGlsZF9yZXN1bHRfdmFsdWU7 CiAgCiArI2lmbmRlZiBORUVEX0RFVEFDSF9TSUdTVE9QCiAgICAvKiBXZSB3YW50IHRvIGhhbmRs ZSBhbnkgcXVpdCBlcnJvcnMgYW5kIGV4aXQgcmVnYXJkbGVzcy4gICovCkBAIC02Miw3ICs2Miw3 IEBAIGRpZmYgLS1naXQgYS9nZGIvdG9wLmMgYi9nZGIvdG9wLmMKIGRpZmYgLS1naXQgYS9nZGIv dXRpbHMuYyBiL2dkYi91dGlscy5jCiAtLS0gYS9nZGIvdXRpbHMuYwogKysrIGIvZ2RiL3V0aWxz LmMKLUBAIC0xMDIsNiArMTAyLDEzIEBAIHN0YXRpYyBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr OjpkdXJhdGlvbiBwcm9tcHRfZm9yX2NvbnRpbnVlX3dhaXRfdGltZTsKK0BAIC0xMDMsNiArMTAz LDEzIEBAIHN0YXRpYyBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpkdXJhdGlvbiBwcm9tcHRf Zm9yX2NvbnRpbnVlX3dhaXRfdGltZTsKICAKICBzdGF0aWMgYm9vbCBkZWJ1Z190aW1lc3RhbXAg PSBmYWxzZTsKICAKCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXBpZS1hZGRvbnMta2VlcC1kaXNh YmxlZC5wYXRjaCBiL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCmlu ZGV4IDQwYWIxNmIuLmVkMDJmMmMgMTAwNjQ0Ci0tLSBhL2dkYi1hcmNoZXItcGllLWFkZG9ucy1r ZWVwLWRpc2FibGVkLnBhdGNoCisrKyBiL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2Fi bGVkLnBhdGNoCkBAIC04LDEyICs4LDEyIEBAIFN1YmplY3Q6IGdkYi1hcmNoZXItcGllLWFkZG9u cy1rZWVwLWRpc2FibGVkLnBhdGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dk Yi9icmVha3BvaW50LmMKIC0tLSBhL2dkYi9icmVha3BvaW50LmMKICsrKyBiL2dkYi9icmVha3Bv aW50LmMKLUBAIC0xNTM5Niw2ICsxNTM5Niw1MSBAQCBzdGF0aWMgc3RydWN0IGNtZF9saXN0X2Vs ZW1lbnQgKmVuYWJsZWJyZWFrbGlzdCA9IE5VTEw7CitAQCAtMTU0MzEsNiArMTU0MzEsNTAgQEAg c3RhdGljIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICplbmFibGVicmVha2xpc3QgPSBOVUxMOwog IAogIGNtZF9saXN0X2VsZW1lbnQgKmNvbW1hbmRzX2NtZF9lbGVtZW50ID0gbnVsbHB0cjsKICAK ICt2b2lkCi0rYnJlYWtwb2ludHNfcmVsb2NhdGUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBz dHJ1Y3Qgc2VjdGlvbl9vZmZzZXRzICpkZWx0YSkKKyticmVha3BvaW50c19yZWxvY2F0ZSAoc3Ry dWN0IG9iamZpbGUgKm9iamZpbGUsIHNlY3Rpb25fb2Zmc2V0cyAmZGVsdGEpCiArewogKyAgc3Ry dWN0IGJwX2xvY2F0aW9uICpibCwgKipibHBfdG1wOwogKyAgaW50IGNoYW5nZWQgPSAwOwpAQCAt MzIsNyArMzIsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dkYi9icmVha3Bv aW50LmMKICsJICBDT1JFX0FERFIgcmVsb2NhdGVkX2FkZHJlc3M7CiArCSAgQ09SRV9BRERSIGRl bHRhX29mZnNldDsKICsKLSsJICBkZWx0YV9vZmZzZXQgPSBBTk9GRlNFVCAoZGVsdGEsIG9zZWN0 LT50aGVfYmZkX3NlY3Rpb24tPmluZGV4KTsKKysJICBkZWx0YV9vZmZzZXQgPSBkZWx0YVtvc2Vj dC0+dGhlX2JmZF9zZWN0aW9uLT5pbmRleF07CiArCSAgaWYgKGRlbHRhX29mZnNldCA9PSAwKQog KwkgICAgY29udGludWU7CiArCSAgcmVsb2NhdGVkX2FkZHJlc3MgPSBibC0+YWRkcmVzcyArIGRl bHRhX29mZnNldDsKQEAgLTU2LDE5ICs1NiwxOCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9p bnQuYyBiL2dkYi9icmVha3BvaW50LmMKICsJICAgICAgIGJwX2xvY2F0aW9uX2lzX2xlc3NfdGhh bik7CiArfQogKwotK3ZvaWQgX2luaXRpYWxpemVfYnJlYWtwb2ludCAodm9pZCk7Cisgdm9pZCBf aW5pdGlhbGl6ZV9icmVha3BvaW50ICgpOwogIHZvaWQKLSBfaW5pdGlhbGl6ZV9icmVha3BvaW50 ICh2b2lkKQotIHsKKyBfaW5pdGlhbGl6ZV9icmVha3BvaW50ICgpCiBkaWZmIC0tZ2l0IGEvZ2Ri L2JyZWFrcG9pbnQuaCBiL2dkYi9icmVha3BvaW50LmgKIC0tLSBhL2dkYi9icmVha3BvaW50LmgK ICsrKyBiL2dkYi9icmVha3BvaW50LmgKLUBAIC0xNjk2LDYgKzE2OTYsOSBAQCBleHRlcm4gY29u c3QgY2hhciAqZXBfcGFyc2Vfb3B0aW9uYWxfaWZfY2xhdXNlIChjb25zdCBjaGFyICoqYXJnKTsK K0BAIC0xNjkxLDYgKzE2OTEsOSBAQCBleHRlcm4gY29uc3QgY2hhciAqZXBfcGFyc2Vfb3B0aW9u YWxfaWZfY2xhdXNlIChjb25zdCBjaGFyICoqYXJnKTsKICAgICBVSU9VVCBpZmYgZGVidWdnaW5n IG11bHRpcGxlIHRocmVhZHMuICAqLwogIGV4dGVybiB2b2lkIG1heWJlX3ByaW50X3RocmVhZF9o aXRfYnJlYWtwb2ludCAoc3RydWN0IHVpX291dCAqdWlvdXQpOwogIAogK2V4dGVybiB2b2lkIGJy ZWFrcG9pbnRzX3JlbG9jYXRlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKLSsJCQkJICBzdHJ1 Y3Qgc2VjdGlvbl9vZmZzZXRzICpkZWx0YSk7CisrCQkJCSAgc2VjdGlvbl9vZmZzZXRzICZkZWx0 YSk7CiArCiAgLyogUHJpbnQgdGhlIHNwZWNpZmllZCBicmVha3BvaW50LiAgKi8KICBleHRlcm4g dm9pZCBwcmludF9icmVha3BvaW50IChicmVha3BvaW50ICpicCk7CkBAIC03Niw3ICs3NSw3IEBA IGRpZmYgLS1naXQgYS9nZGIvYnJlYWtwb2ludC5oIGIvZ2RiL2JyZWFrcG9pbnQuaAogZGlmZiAt LWdpdCBhL2dkYi9vYmpmaWxlcy5jIGIvZ2RiL29iamZpbGVzLmMKIC0tLSBhL2dkYi9vYmpmaWxl cy5jCiArKysgYi9nZGIvb2JqZmlsZXMuYwotQEAgLTgxNiw2ICs4MTYsMTEgQEAgb2JqZmlsZV9y ZWxvY2F0ZTEgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAorQEAgLTc0Miw2ICs3NDIsMTEgQEAg b2JqZmlsZV9yZWxvY2F0ZTEgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogIAkJCQlvYmpfc2Vj dGlvbl9hZGRyIChzKSk7CiAgICAgIH0KICAKQEAgLTg4LDE1ICs4NywzIEBAIGRpZmYgLS1naXQg YS9nZGIvb2JqZmlsZXMuYyBiL2dkYi9vYmpmaWxlcy5jCiAgICAvKiBEYXRhIGNoYW5nZWQuICAq LwogICAgcmV0dXJuIDE7CiAgfQotZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5jIGIvZ2RiL3ZhbHVl LmMKLS0tLSBhL2dkYi92YWx1ZS5jCi0rKysgYi9nZGIvdmFsdWUuYwotQEAgLTI4NDAsNyArMjg0 MCw3IEBAIHZhbHVlX3N0YXRpY19maWVsZCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBmaWVsZG5v KQotICAgICBjYXNlIEZJRUxEX0xPQ19LSU5EX1BIWVNBRERSOgotICAgICAgIHJldHZhbCA9IHZh bHVlX2F0X2xhenkgKFRZUEVfRklFTERfVFlQRSAodHlwZSwgZmllbGRubyksCi0gCQkJICAgICAg VFlQRV9GSUVMRF9TVEFUSUNfUEhZU0FERFIgKHR5cGUsIGZpZWxkbm8pCi0tCQkJICAgICAgKyAo VFlQRV9PQkpGSUxFICh0eXBlKSA9PSBOVUxMID8gMCA6IFRZUEVfT0JKRklMRSAodHlwZSktPnNl Y3Rpb25fb2Zmc2V0c1tTRUNUX09GRl9URVhUIChUWVBFX09CSkZJTEUgKHR5cGUpKV0pKTsKLSsJ CQkgICAgICArIChUWVBFX09CSkZJTEUgKHR5cGUpID09IE5VTEwgPyAwIDogQU5PRkZTRVQgKFRZ UEVfT0JKRklMRSAodHlwZSktPnNlY3Rpb25fb2Zmc2V0cywgU0VDVF9PRkZfVEVYVCAoVFlQRV9P QkpGSUxFICh0eXBlKSkpKSk7Ci0gICAgICAgYnJlYWs7Ci0gICAgIGNhc2UgRklFTERfTE9DX0tJ TkRfUEhZU05BTUU6Ci0gICAgIHsKCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXBpZS1hZGRvbnMu cGF0Y2ggYi9nZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2gKaW5kZXggZTNhZjNhOS4uZjBjNjhk YiAxMDA2NDQKLS0tIGEvZ2RiLWFyY2hlci1waWUtYWRkb25zLnBhdGNoCisrKyBiL2dkYi1hcmNo ZXItcGllLWFkZG9ucy5wYXRjaApAQCAtOCw3ICs4LDcgQEAgU3ViamVjdDogZ2RiLWFyY2hlci1w aWUtYWRkb25zLnBhdGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmggYi9nZGIvZ2RidHlw ZXMuaAogLS0tIGEvZ2RiL2dkYnR5cGVzLmgKICsrKyBiL2dkYi9nZGJ0eXBlcy5oCi1AQCAtNTE2 LDYgKzUxNiw3IEBAIGVudW0gZmllbGRfbG9jX2tpbmQKK0BAIC02NDksNiArNjQ5LDcgQEAgZW51 bSBmaWVsZF9sb2Nfa2luZAogICAgewogICAgICBGSUVMRF9MT0NfS0lORF9CSVRQT1MsCS8qKjwg Yml0cG9zICovCiAgICAgIEZJRUxEX0xPQ19LSU5EX0VOVU1WQUwsCS8qKjwgZW51bXZhbCAqLwpA QCAtMTYsNyArMTYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmggYi9nZGIvZ2RidHlw ZXMuaAogICAgICBGSUVMRF9MT0NfS0lORF9QSFlTQUREUiwJLyoqPCBwaHlzYWRkciAqLwogICAg ICBGSUVMRF9MT0NfS0lORF9QSFlTTkFNRSwJLyoqPCBwaHlzbmFtZSAqLwogICAgICBGSUVMRF9M T0NfS0lORF9EV0FSRl9CTE9DSwkvKio8IGR3YXJmX2Jsb2NrICovCi1AQCAtNTY2LDYgKzU2Nyw3 IEBAIHVuaW9uIGZpZWxkX2xvY2F0aW9uCitAQCAtNjk5LDYgKzcwMCw3IEBAIHVuaW9uIGZpZWxk X2xvY2F0aW9uCiAgICAgICBmaWVsZC4gIE90aGVyd2lzZSwgcGh5c25hbWUgaXMgdGhlIG1hbmds ZWQgbGFiZWwgb2YgdGhlCiAgICAgICBzdGF0aWMgZmllbGQuICAqLwogIApAQCAtMjQsMzcgKzI0 LDEzIEBAIGRpZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuaCBiL2dkYi9nZGJ0eXBlcy5oCiAgICBD T1JFX0FERFIgcGh5c2FkZHI7CiAgICBjb25zdCBjaGFyICpwaHlzbmFtZTsKICAKLUBAIC0xNDc0 LDYgKzE0NzYsNyBAQCBleHRlcm4gdm9pZCBzZXRfdHlwZV92cHRyX2Jhc2V0eXBlIChzdHJ1Y3Qg dHlwZSAqLCBzdHJ1Y3QgdHlwZSAqKTsKLSAjZGVmaW5lIEZJRUxEX0VOVU1WQUxfTFZBTCh0aGlz ZmxkKSAoKHRoaXNmbGQpLmxvYy5lbnVtdmFsKQotICNkZWZpbmUgRklFTERfRU5VTVZBTCh0aGlz ZmxkKSAoRklFTERfRU5VTVZBTF9MVkFMICh0aGlzZmxkKSArIDApCi0gI2RlZmluZSBGSUVMRF9T VEFUSUNfUEhZU05BTUUodGhpc2ZsZCkgKCh0aGlzZmxkKS5sb2MucGh5c25hbWUpCi0rLyogVGhp cyBhZGRyZXNzIGlzIHVucmVsb2NhdGVkIGJ5IHRoZSBvYmpmaWxlJ3MgQU5PRkZTRVQuICAqLwot ICNkZWZpbmUgRklFTERfU1RBVElDX1BIWVNBRERSKHRoaXNmbGQpICgodGhpc2ZsZCkubG9jLnBo eXNhZGRyKQotICNkZWZpbmUgRklFTERfRFdBUkZfQkxPQ0sodGhpc2ZsZCkgKCh0aGlzZmxkKS5s b2MuZHdhcmZfYmxvY2spCi0gI2RlZmluZSBTRVRfRklFTERfQklUUE9TKHRoaXNmbGQsIGJpdHBv cykJCQlcCi1AQCAtMTQ4NSw2ICsxNDg4LDcgQEAgZXh0ZXJuIHZvaWQgc2V0X3R5cGVfdnB0cl9i YXNldHlwZSAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHR5cGUgKik7Ci0gI2RlZmluZSBTRVRfRklF TERfUEhZU05BTUUodGhpc2ZsZCwgbmFtZSkJCQlcCi0gICAoRklFTERfTE9DX0tJTkQgKHRoaXNm bGQpID0gRklFTERfTE9DX0tJTkRfUEhZU05BTUUsCQlcCi0gICAgRklFTERfU1RBVElDX1BIWVNO QU1FICh0aGlzZmxkKSA9IChuYW1lKSkKLSsvKiBUaGlzIGFkZHJlc3MgaXMgdW5yZWxvY2F0ZWQg YnkgdGhlIG9iamZpbGUncyBBTk9GRlNFVC4gICovCi0gI2RlZmluZSBTRVRfRklFTERfUEhZU0FE RFIodGhpc2ZsZCwgYWRkcikJCQlcCi0gICAoRklFTERfTE9DX0tJTkQgKHRoaXNmbGQpID0gRklF TERfTE9DX0tJTkRfUEhZU0FERFIsCQlcCi0gICAgRklFTERfU1RBVElDX1BIWVNBRERSICh0aGlz ZmxkKSA9IChhZGRyKSkKLUBAIC0xNTAxLDYgKzE1MDUsNyBAQCBleHRlcm4gdm9pZCBzZXRfdHlw ZV92cHRyX2Jhc2V0eXBlIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdHlwZSAqKTsKLSAjZGVmaW5l IFRZUEVfRklFTERfQklUUE9TKHRoaXN0eXBlLCBuKSBGSUVMRF9CSVRQT1MgKFRZUEVfRklFTEQg KHRoaXN0eXBlLCBuKSkKLSAjZGVmaW5lIFRZUEVfRklFTERfRU5VTVZBTCh0aGlzdHlwZSwgbikg RklFTERfRU5VTVZBTCAoVFlQRV9GSUVMRCAodGhpc3R5cGUsIG4pKQotICNkZWZpbmUgVFlQRV9G SUVMRF9TVEFUSUNfUEhZU05BTUUodGhpc3R5cGUsIG4pIEZJRUxEX1NUQVRJQ19QSFlTTkFNRSAo VFlQRV9GSUVMRCAodGhpc3R5cGUsIG4pKQotKy8qIFRoaXMgYWRkcmVzcyBpcyB1bnJlbG9jYXRl ZCBieSB0aGUgb2JqZmlsZSdzIEFOT0ZGU0VULiAgKi8KLSAjZGVmaW5lIFRZUEVfRklFTERfU1RB VElDX1BIWVNBRERSKHRoaXN0eXBlLCBuKSBGSUVMRF9TVEFUSUNfUEhZU0FERFIgKFRZUEVfRklF TEQgKHRoaXN0eXBlLCBuKSkKLSAjZGVmaW5lIFRZUEVfRklFTERfRFdBUkZfQkxPQ0sodGhpc3R5 cGUsIG4pIEZJRUxEX0RXQVJGX0JMT0NLIChUWVBFX0ZJRUxEICh0aGlzdHlwZSwgbikpCi0gI2Rl ZmluZSBUWVBFX0ZJRUxEX0FSVElGSUNJQUwodGhpc3R5cGUsIG4pIEZJRUxEX0FSVElGSUNJQUwo VFlQRV9GSUVMRCh0aGlzdHlwZSxuKSkKIGRpZmYgLS1naXQgYS9nZGIvdmFsdWUuYyBiL2dkYi92 YWx1ZS5jCiAtLS0gYS9nZGIvdmFsdWUuYwogKysrIGIvZ2RiL3ZhbHVlLmMKLUBAIC0yODM5LDcg KzI4MzksOCBAQCB2YWx1ZV9zdGF0aWNfZmllbGQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgZmll bGRubykKK0BAIC0yODUwLDcgKzI4NTAsOCBAQCB2YWx1ZV9zdGF0aWNfZmllbGQgKHN0cnVjdCB0 eXBlICp0eXBlLCBpbnQgZmllbGRubykKICAgICAgewogICAgICBjYXNlIEZJRUxEX0xPQ19LSU5E X1BIWVNBRERSOgotICAgICAgIHJldHZhbCA9IHZhbHVlX2F0X2xhenkgKFRZUEVfRklFTERfVFlQ RSAodHlwZSwgZmllbGRubyksCisgICAgICAgcmV0dmFsID0gdmFsdWVfYXRfbGF6eSAodHlwZS0+ ZmllbGQgKGZpZWxkbm8pLnR5cGUgKCksCiAtCQkJICAgICAgVFlQRV9GSUVMRF9TVEFUSUNfUEhZ U0FERFIgKHR5cGUsIGZpZWxkbm8pKTsKICsJCQkgICAgICBUWVBFX0ZJRUxEX1NUQVRJQ19QSFlT QUREUiAodHlwZSwgZmllbGRubykKICsJCQkgICAgICArIChUWVBFX09CSkZJTEUgKHR5cGUpID09 IE5VTEwgPyAwIDogVFlQRV9PQkpGSUxFICh0eXBlKS0+c2VjdGlvbl9vZmZzZXRzW1NFQ1RfT0ZG X1RFWFQgKFRZUEVfT0JKRklMRSAodHlwZSkpXSkpOwoKZGlmZiAtLWdpdCBhL2dkYi1hcmNoZXIt dmxhLXRlc3RzLnBhdGNoIGIvZ2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2gKaW5kZXggOTkyMTk0 MC4uNDdjOThkMyAxMDA2NDQKLS0tIGEvZ2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2gKKysrIGIv Z2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2gKQEAgLTM2ODksNyArMzY4OSw3IEBAIG5ldyBmaWxl IG1vZGUgMTAwNjQ0CiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCBiL2dk Yi90ZXN0c3VpdGUvbGliL2dkYi5leHAKIC0tLSBhL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAK ICsrKyBiL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKLUBAIC0xNzAsNiArMTcwLDExIEBAIHBy b2MgZ2RiX3VubG9hZCB7fSB7CitAQCAtMjI0LDYgKzIyNCwxMSBAQCBwcm9jIGdkYl91bmxvYWQg e30gewogIAkgICAgc2VuZF9nZGIgInlcbiIgYW5zd2VyCiAgCSAgICBleHBfY29udGludWUKICAJ fQpAQCAtMzcwNSwxMiArMzcwNSwxMiBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIv cGFzY2FsLmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAKIC0tLSBhL2dkYi90ZXN0 c3VpdGUvbGliL3Bhc2NhbC5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAK IEBAIC0zNyw2ICszNyw5IEBAIHByb2MgcGFzY2FsX2luaXQge30gewotICAgICBnbG9iYWwgcGFz Y2FsX2NvbXBpbGVyX2lzX2ZwYwotICAgICBnbG9iYWwgZ3BjX2NvbXBpbGVyCi0gICAgIGdsb2Jh bCBmcGNfY29tcGlsZXIKLSsgICAgZ2xvYmFsIGZwY3ZlcnNpb25fbWFqb3IKLSsgICAgZ2xvYmFs IGZwY3ZlcnNpb25fbWlub3IKLSsgICAgZ2xvYmFsIGZwY3ZlcnNpb25fcmVsZWFzZQorICAgICBn ZGJfcGVyc2lzdGVudF9nbG9iYWwgcGFzY2FsX2NvbXBpbGVyX2lzX2ZwYworICAgICBnZGJfcGVy c2lzdGVudF9nbG9iYWwgZ3BjX2NvbXBpbGVyCisgICAgIGdkYl9wZXJzaXN0ZW50X2dsb2JhbCBm cGNfY29tcGlsZXIKKysgICAgZ2RiX3BlcnNpc3RlbnRfZ2xvYmFsIGZwY3ZlcnNpb25fbWFqb3IK KysgICAgZ2RiX3BlcnNpc3RlbnRfZ2xvYmFsIGZwY3ZlcnNpb25fbWlub3IKKysgICAgZ2RiX3Bl cnNpc3RlbnRfZ2xvYmFsIGZwY3ZlcnNpb25fcmVsZWFzZQogICAgICBnbG9iYWwgZW52CiAgIAog ICAgICBpZiB7ICRwYXNjYWxfaW5pdF9kb25lID09IDEgfSB7CgpkaWZmIC0tZ2l0IGEvZ2RiLWF0 dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRjaCBiL2dkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVv ZjUucGF0Y2gKaW5kZXggNWIzYjZkMy4uODgzMGJlMyAxMDA2NDQKLS0tIGEvZ2RiLWF0dGFjaC1m YWlsLXJlYXNvbnMtNW9mNS5wYXRjaAorKysgYi9nZGItYXR0YWNoLWZhaWwtcmVhc29ucy01b2Y1 LnBhdGNoCkBAIC00NSw3ICs0NSw3IEBAIGdkYi9nZGJzZXJ2ZXIvCiBkaWZmIC0tZ2l0IGEvZ2Ri L2NvbmZpZy5pbiBiL2dkYi9jb25maWcuaW4KIC0tLSBhL2dkYi9jb25maWcuaW4KICsrKyBiL2dk Yi9jb25maWcuaW4KLUBAIC0yNTEsNiArMjUxLDkgQEAKK0BAIC0yNTMsNiArMjUzLDkgQEAKICAv KiBEZWZpbmUgaWYgbGlicnBtIGxpYnJhcnkgaXMgYmVpbmcgdXNlZC4gKi8KICAjdW5kZWYgSEFW RV9MSUJSUE0KICAKQEAgLTU1LDcgKzU1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWcuaW4g Yi9nZGIvY29uZmlnLmluCiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsaWJ1bndp bmQtaWE2NC5oPiBoZWFkZXIgZmlsZS4gKi8KICAjdW5kZWYgSEFWRV9MSUJVTldJTkRfSUE2NF9I CiAgCi1AQCAtMzg2LDYgKzM4OSw5IEBACitAQCAtMzg4LDYgKzM5MSw5IEBACiAgLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzY21fbmV3X3Ntb2InIGZ1bmN0aW9uLiAqLwogICN1bmRl ZiBIQVZFX1NDTV9ORVdfU01PQgogIApAQCAtNjgsNyArNjgsNyBAQCBkaWZmIC0tZ2l0IGEvZ2Ri L2NvbmZpZy5pbiBiL2dkYi9jb25maWcuaW4KIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIv Z2RiL2NvbmZpZ3VyZQogLS0tIGEvZ2RiL2NvbmZpZ3VyZQogKysrIGIvZ2RiL2NvbmZpZ3VyZQot QEAgLTE2NDM0LDYgKzE2NDM0LDY0IEBAIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKK0BAIC0x Njg2MSw2ICsxNjg2MSw2NCBAQCBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCiAgX0FDRU9GCiAg CiAgCkBAIC0xMzYsNyArMTM2LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUgYi9nZGIv Y29uZmlndXJlCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUu YWMKIC0tLSBhL2dkYi9jb25maWd1cmUuYWMKICsrKyBiL2dkYi9jb25maWd1cmUuYWMKLUBAIC0x OTY0LDYgKzE5NjQsMTAgQEAgY2FzZSAkaG9zdF9vcyBpbgorQEAgLTE5MDAsNiArMTkwMCwxMCBA QCBjYXNlICRob3N0X29zIGluCiAgZXNhYwogIEFDX0RFRklORV9VTlFVT1RFRChHREJJTklULCIk Z2RiaW5pdCIsW1RoZSAuZ2RiaW5pdCBmaWxlbmFtZS5dKQogIApAQCAtMTQ3LDEyICsxNDcsOTMg QEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUuYWMgYi9nZGIvY29uZmlndXJlLmFjCiAgZG5s IEhhbmRsZSBvcHRpb25hbCBmZWF0dXJlcyB0aGF0IGNhbiBiZSBlbmFibGVkLgogIAogICMgU3Vw cG9ydCBmb3IgLS13aXRoLXN5c3Jvb3QgaXMgYSBjb3B5IG9mIEdEQl9BQ19XSVRIX0RJUiwKLWRp ZmYgLS1naXQgYS9nZGIvZ2Ric2VydmVyL2NvbmZpZy5pbiBiL2dkYi9nZGJzZXJ2ZXIvY29uZmln LmluCi0tLS0gYS9nZGIvZ2Ric2VydmVyL2NvbmZpZy5pbgotKysrIGIvZ2RiL2dkYnNlcnZlci9j b25maWcuaW4KLUBAIC0xMjUsNiArMTI1LDkgQEAKLSAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2 ZSB0aGUgYGRsJyBsaWJyYXJ5ICgtbGRsKS4gKi8KLSAjdW5kZWYgSEFWRV9MSUJETAorZGlmZiAt LWdpdCBhL2dkYi9saW51eC1uYXQuYyBiL2dkYi9saW51eC1uYXQuYworLS0tIGEvZ2RiL2xpbnV4 LW5hdC5jCisrKysgYi9nZGIvbGludXgtbmF0LmMKK0BAIC0xMTAzLDcgKzExMDMsMTYgQEAgbGlu dXhfbmF0X3RhcmdldDo6Y3JlYXRlX2luZmVyaW9yIChjb25zdCBjaGFyICpleGVjX2ZpbGUsCisg ICAvKiBNYWtlIHN1cmUgd2UgcmVwb3J0IGFsbCBzaWduYWxzIGR1cmluZyBzdGFydHVwLiAgKi8K KyAgIHBhc3Nfc2lnbmFscyAoe30pOworIAorLSAgaW5mX3B0cmFjZV90YXJnZXQ6OmNyZWF0ZV9p bmZlcmlvciAoZXhlY19maWxlLCBhbGxhcmdzLCBlbnYsIGZyb21fdHR5KTsKKysgIHRyeQorKyAg ICB7CisrICAgICAgaW5mX3B0cmFjZV90YXJnZXQ6OmNyZWF0ZV9pbmZlcmlvciAoZXhlY19maWxl LCBhbGxhcmdzLCBlbnYsIGZyb21fdHR5KTsKKysgICAgfQorKyAgY2F0Y2ggKGNvbnN0IGdkYl9l eGNlcHRpb25fZXJyb3IgJmV4KQorKyAgICB7CisrICAgICAgc3RkOjpzdHJpbmcgcmVzdWx0ID0g IGxpbnV4X3B0cmFjZV9jcmVhdGVfd2FybmluZ3MgKCk7CisrCisrICAgICAgdGhyb3dfZXJyb3Ig KGV4LmVycm9yLCAiJXMlcyIsIHJlc3VsdC5jX3N0ciAoKSwgZXgubWVzc2FnZS0+Y19zdHIgKCkp OworKyAgICB9CisgfQorIAorIC8qIENhbGxiYWNrIGZvciBsaW51eF9wcm9jX2F0dGFjaF90Z2lk X3RocmVhZHMuICBBdHRhY2ggdG8gUFRJRCBpZiBub3QKK2RpZmYgLS1naXQgYS9nZGIvbmF0L2xp bnV4LXB0cmFjZS5jIGIvZ2RiL25hdC9saW51eC1wdHJhY2UuYworLS0tIGEvZ2RiL25hdC9saW51 eC1wdHJhY2UuYworKysrIGIvZ2RiL25hdC9saW51eC1wdHJhY2UuYworQEAgLTI1LDYgKzI1LDEw IEBACisgI2luY2x1ZGUgPHN5cy9wcm9jZnMuaD4KKyAjZW5kaWYKKyAKKysjaWZkZWYgSEFWRV9T RUxJTlVYX1NFTElOVVhfSAorKyMgaW5jbHVkZSA8c2VsaW51eC9zZWxpbnV4Lmg+CisrI2VuZGlm IC8qIEhBVkVfU0VMSU5VWF9TRUxJTlVYX0ggKi8KKysKKyAvKiBTdG9yZXMgdGhlIHB0cmFjZSBv cHRpb25zIHN1cHBvcnRlZCBieSB0aGUgcnVubmluZyBrZXJuZWwuCisgICAgQSB2YWx1ZSBvZiAt MSBtZWFucyB3ZSBkaWQgbm90IGNoZWNrIGZvciBmZWF0dXJlcyB5ZXQuICBBIHZhbHVlCisgICAg b2YgMCBtZWFucyB0aGVyZSBhcmUgbm8gc3VwcG9ydGVkIGZlYXR1cmVzLiAgKi8KK0BAIC01MCw2 ICs1NCw4IEBAIGxpbnV4X3B0cmFjZV9hdHRhY2hfZmFpbF9yZWFzb24gKHBpZF90IHBpZCkKKyAJ CSAgICAgICJ0ZXJtaW5hdGVkIiksCisgCQkgICAgKGludCkgcGlkKTsKKyAKKysgIHJlc3VsdCAr PSBsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzICgpOworKworICAgcmV0dXJuIHJlc3VsdDsK KyB9CisgCitAQCAtNTg2LDYgKzU5MiwyNSBAQCBsaW51eF9wdHJhY2VfaW5pdF93YXJuaW5ncyAo dm9pZCkKKyAgIGxpbnV4X3B0cmFjZV90ZXN0X3JldF90b19ueCAoKTsKKyB9CisgCisrLyogUHJp bnQgYWxsIHBvc3NpYmxlIHJlYXNvbnMgd2UgY291bGQgZmFpbCB0byBjcmVhdGUgYSB0cmFjZWQg cHJvY2Vzcy4gICovCisrCisrc3RkOjpzdHJpbmcKKytsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5p bmdzICgpCisreworKyAgc3RkOjpzdHJpbmcgcmVzdWx0OworKworKyNpZmRlZiBIQVZFX0xJQlNF TElOVVgKKysgIC8qIC0xIGlzIHJldHVybmVkIGZvciBlcnJvcnMsIDAgaWYgaXQgaGFzIG5vIGVm ZmVjdCwgMSBpZiBQVFJBQ0VfQVRUQUNIIGlzCisrICAgICBmb3JiaWRkZW4uICAqLworKyAgaWYg KHNlY3VyaXR5X2dldF9ib29sZWFuX2FjdGl2ZSAoImRlbnlfcHRyYWNlIikgPT0gMSkKKysgICAg c3RyaW5nX2FwcGVuZGYgKHJlc3VsdCwKKysJCSAgICBfKCJ0aGUgU0VMaW51eCBib29sZWFuICdk ZW55X3B0cmFjZScgaXMgZW5hYmxlZCwgIgorKwkJICAgICAgInlvdSBjYW4gZGlzYWJsZSB0aGlz IHByb2Nlc3MgYXR0YWNoIHByb3RlY3Rpb24gYnk6ICIKKysJCSAgICAgICIoZ2RiKSBzaGVsbCBz dWRvIHNldHNlYm9vbCBkZW55X3B0cmFjZT0wXG4iKSk7CisrI2VuZGlmIC8qIEhBVkVfTElCU0VM SU5VWCAqLworKyAgcmV0dXJuIHJlc3VsdDsKKyt9CisrCisgLyogRXh0cmFjdCBleHRlbmRlZCBw dHJhY2UgZXZlbnQgZnJvbSB3YWl0IHN0YXR1cy4gICovCisgCisgaW50CitkaWZmIC0tZ2l0IGEv Z2RiL25hdC9saW51eC1wdHJhY2UuaCBiL2dkYi9uYXQvbGludXgtcHRyYWNlLmgKKy0tLSBhL2dk Yi9uYXQvbGludXgtcHRyYWNlLmgKKysrKyBiL2dkYi9uYXQvbGludXgtcHRyYWNlLmgKK0BAIC0x ODQsNiArMTg0LDcgQEAgZXh0ZXJuIHN0ZDo6c3RyaW5nIGxpbnV4X3B0cmFjZV9hdHRhY2hfZmFp bF9yZWFzb24gKHBpZF90IHBpZCk7CisgZXh0ZXJuIHN0ZDo6c3RyaW5nIGxpbnV4X3B0cmFjZV9h dHRhY2hfZmFpbF9yZWFzb25fc3RyaW5nIChwdGlkX3QgcHRpZCwgaW50IGVycik7CisgCisgZXh0 ZXJuIHZvaWQgbGludXhfcHRyYWNlX2luaXRfd2FybmluZ3MgKHZvaWQpOworK2V4dGVybiBzdGQ6 OnN0cmluZyBsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzICgpOworIGV4dGVybiB2b2lkIGxp bnV4X2NoZWNrX3B0cmFjZV9mZWF0dXJlcyAodm9pZCk7CisgZXh0ZXJuIHZvaWQgbGludXhfZW5h YmxlX2V2ZW50X3JlcG9ydGluZyAocGlkX3QgcGlkLCBpbnQgYXR0YWNoZWQpOworIGV4dGVybiB2 b2lkIGxpbnV4X2Rpc2FibGVfZXZlbnRfcmVwb3J0aW5nIChwaWRfdCBwaWQpOworZGlmZiAtLWdp dCBhL2dkYnNlcnZlci9jb25maWcuaW4gYi9nZGJzZXJ2ZXIvY29uZmlnLmluCistLS0gYS9nZGJz ZXJ2ZXIvY29uZmlnLmluCisrKysgYi9nZGJzZXJ2ZXIvY29uZmlnLmluCitAQCAtMTQzLDYgKzE0 Myw5IEBACisgLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBpcHQgbGlicmFyeS4gKi8KKyAjdW5k ZWYgSEFWRV9MSUJJUFQKICAKICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNlbGlu dXgnIGxpYnJhcnkgKC1sc2VsaW51eCkuICovCiArI3VuZGVmIEhBVkVfTElCU0VMSU5VWApAQCAt MTYwLDkgKzI0MSw5IEBAIGRpZmYgLS1naXQgYS9nZGIvZ2Ric2VydmVyL2NvbmZpZy5pbiBiL2dk Yi9nZGJzZXJ2ZXIvY29uZmlnLmluCiAgLyogRGVmaW5lIGlmIHRoZSB0YXJnZXQgc3VwcG9ydHMg YnJhbmNoIHRyYWNpbmcuICovCiAgI3VuZGVmIEhBVkVfTElOVVhfQlRSQUNFCiAgCi1AQCAtMjEw LDYgKzIxMyw5IEBACi0gLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwd3JpdGUnIGZ1 bmN0aW9uLiAqLwotICN1bmRlZiBIQVZFX1BXUklURQorQEAgLTI0OSw2ICsyNTIsOSBAQAorIC8q IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2JyaycgZnVuY3Rpb24uICovCisgI3VuZGVm IEhBVkVfU0JSSwogIAogKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c2VsaW51eC9z ZWxpbnV4Lmg+IGhlYWRlciBmaWxlLiAqLwogKyN1bmRlZiBIQVZFX1NFTElOVVhfU0VMSU5VWF9I CkBAIC0xNzAsMTAgKzI1MSwxMCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnNlcnZlci9jb25maWcu aW4gYi9nZGIvZ2Ric2VydmVyL2NvbmZpZy5pbgogIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IHRoZSBgc2V0bnMnIGZ1bmN0aW9uLiAqLwogICN1bmRlZiBIQVZFX1NFVE5TCiAgCi1kaWZmIC0t Z2l0IGEvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUgYi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQot LS0tIGEvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUKLSsrKyBiL2dkYi9nZGJzZXJ2ZXIvY29uZmln dXJlCi1AQCAtOTM5OCw2ICs5Mzk4LDY0IEBAIGlmICR3YW50X2lwYSA7IHRoZW4KK2RpZmYgLS1n aXQgYS9nZGJzZXJ2ZXIvY29uZmlndXJlIGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQorLS0tIGEvZ2Ri c2VydmVyL2NvbmZpZ3VyZQorKysrIGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQorQEAgLTEwNjgzLDYg KzEwNjgzLDY0IEBAIGlmICR3YW50X2lwYSA7IHRoZW4KICAgICBmaQogIGZpCiAgCkBAIC0yMzgs MTAgKzMxOSwxMCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUgYi9nZGIv Z2Ric2VydmVyL2NvbmZpZ3VyZQogIAogIAogIAotZGlmZiAtLWdpdCBhL2dkYi9nZGJzZXJ2ZXIv Y29uZmlndXJlLmFjIGIvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUuYWMKLS0tLSBhL2dkYi9nZGJz ZXJ2ZXIvY29uZmlndXJlLmFjCi0rKysgYi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYwotQEAg LTQ2NSw2ICs0NjUsMTAgQEAgaWYgJHdhbnRfaXBhIDsgdGhlbgorZGlmZiAtLWdpdCBhL2dkYnNl cnZlci9jb25maWd1cmUuYWMgYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCistLS0gYS9nZGJzZXJ2 ZXIvY29uZmlndXJlLmFjCisrKysgYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCitAQCAtNDAxLDYg KzQwMSwxMCBAQCBpZiAkd2FudF9pcGEgOyB0aGVuCiAgICAgZmkKICBmaQogIApAQCAtMjUyLDEw ICszMzMsMTAgQEAgZGlmZiAtLWdpdCBhL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjIGIvZ2Ri L2dkYnNlcnZlci9jb25maWd1cmUuYWMKICBBQ19TVUJTVChHREJTRVJWRVJfREVQRklMRVMpCiAg QUNfU1VCU1QoR0RCU0VSVkVSX0xJQlMpCiAgQUNfU1VCU1Qoc3J2X3htbGJ1aWx0aW4pCi1kaWZm IC0tZ2l0IGEvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYyBiL2dkYi9nZGJzZXJ2ZXIvbGludXgt bG93LmMKLS0tLSBhL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMKLSsrKyBiL2dkYi9nZGJzZXJ2 ZXIvbGludXgtbG93LmMKLUBAIC05NjgsNyArOTY4LDE2IEBAIGxpbnV4X3B0cmFjZV9mdW4gKCkK K2RpZmYgLS1naXQgYS9nZGJzZXJ2ZXIvbGludXgtbG93LmNjIGIvZ2Ric2VydmVyL2xpbnV4LWxv dy5jYworLS0tIGEvZ2Ric2VydmVyL2xpbnV4LWxvdy5jYworKysrIGIvZ2Ric2VydmVyL2xpbnV4 LWxvdy5jYworQEAgLTkzMiw3ICs5MzIsMTYgQEAgbGludXhfcHRyYWNlX2Z1biAoKQogIHsKICAg IGlmIChwdHJhY2UgKFBUUkFDRV9UUkFDRU1FLCAwLCAoUFRSQUNFX1RZUEVfQVJHMykgMCwKICAJ ICAgICAgKFBUUkFDRV9UWVBFX0FSRzQpIDApIDwgMCkKQEAgLTI3Myw4NCArMzU0LDMgQEAgZGlm ZiAtLWdpdCBhL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMgYi9nZGIvZ2Ric2VydmVyL2xpbnV4 LWxvdy5jCiAgCiAgICBpZiAoc2V0cGdpZCAoMCwgMCkgPCAwKQogICAgICB0cmFjZV9zdGFydF9l cnJvcl93aXRoX25hbWUgKCJzZXRwZ2lkIik7Ci1kaWZmIC0tZ2l0IGEvZ2RiL2xpbnV4LW5hdC5j IGIvZ2RiL2xpbnV4LW5hdC5jCi0tLS0gYS9nZGIvbGludXgtbmF0LmMKLSsrKyBiL2dkYi9saW51 eC1uYXQuYwotQEAgLTEwOTIsNyArMTA5MiwxNiBAQCBsaW51eF9uYXRfdGFyZ2V0OjpjcmVhdGVf aW5mZXJpb3IgKGNvbnN0IGNoYXIgKmV4ZWNfZmlsZSwKLSAgIC8qIE1ha2Ugc3VyZSB3ZSByZXBv cnQgYWxsIHNpZ25hbHMgZHVyaW5nIHN0YXJ0dXAuICAqLwotICAgcGFzc19zaWduYWxzICh7fSk7 Ci0gCi0tICBpbmZfcHRyYWNlX3RhcmdldDo6Y3JlYXRlX2luZmVyaW9yIChleGVjX2ZpbGUsIGFs bGFyZ3MsIGVudiwgZnJvbV90dHkpOwotKyAgdHJ5Ci0rICAgIHsKLSsgICAgICBpbmZfcHRyYWNl X3RhcmdldDo6Y3JlYXRlX2luZmVyaW9yIChleGVjX2ZpbGUsIGFsbGFyZ3MsIGVudiwgZnJvbV90 dHkpOwotKyAgICB9Ci0rICBjYXRjaCAoY29uc3QgZ2RiX2V4Y2VwdGlvbl9lcnJvciAmZXgpCi0r ICAgIHsKLSsgICAgICBzdGQ6OnN0cmluZyByZXN1bHQgPSAgbGludXhfcHRyYWNlX2NyZWF0ZV93 YXJuaW5ncyAoKTsKLSsKLSsgICAgICB0aHJvd19lcnJvciAoZXguZXJyb3IsICIlcyVzIiwgcmVz dWx0LmNfc3RyICgpLCBleC5tZXNzYWdlLT5jX3N0ciAoKSk7Ci0rICAgIH0KLSB9Ci0gCi0gLyog Q2FsbGJhY2sgZm9yIGxpbnV4X3Byb2NfYXR0YWNoX3RnaWRfdGhyZWFkcy4gIEF0dGFjaCB0byBQ VElEIGlmIG5vdAotZGlmZiAtLWdpdCBhL2dkYi9uYXQvbGludXgtcHRyYWNlLmMgYi9nZGIvbmF0 L2xpbnV4LXB0cmFjZS5jCi0tLS0gYS9nZGIvbmF0L2xpbnV4LXB0cmFjZS5jCi0rKysgYi9nZGIv bmF0L2xpbnV4LXB0cmFjZS5jCi1AQCAtMjUsNiArMjUsMTAgQEAKLSAjaW5jbHVkZSA8c3lzL3By b2Nmcy5oPgotICNlbmRpZgotIAotKyNpZmRlZiBIQVZFX1NFTElOVVhfU0VMSU5VWF9ICi0rIyBp bmNsdWRlIDxzZWxpbnV4L3NlbGludXguaD4KLSsjZW5kaWYgLyogSEFWRV9TRUxJTlVYX1NFTElO VVhfSCAqLwotKwotIC8qIFN0b3JlcyB0aGUgcHRyYWNlIG9wdGlvbnMgc3VwcG9ydGVkIGJ5IHRo ZSBydW5uaW5nIGtlcm5lbC4KLSAgICBBIHZhbHVlIG9mIC0xIG1lYW5zIHdlIGRpZCBub3QgY2hl Y2sgZm9yIGZlYXR1cmVzIHlldC4gIEEgdmFsdWUKLSAgICBvZiAwIG1lYW5zIHRoZXJlIGFyZSBu byBzdXBwb3J0ZWQgZmVhdHVyZXMuICAqLwotQEAgLTUwLDYgKzU0LDggQEAgbGludXhfcHRyYWNl X2F0dGFjaF9mYWlsX3JlYXNvbiAocGlkX3QgcGlkKQotIAkJICAgICAgInRlcm1pbmF0ZWQiKSwK LSAJCSAgICAoaW50KSBwaWQpOwotIAotKyAgcmVzdWx0ICs9IGxpbnV4X3B0cmFjZV9jcmVhdGVf d2FybmluZ3MgKCk7Ci0rCi0gICByZXR1cm4gcmVzdWx0OwotIH0KLSAKLUBAIC01ODYsNiArNTky LDI1IEBAIGxpbnV4X3B0cmFjZV9pbml0X3dhcm5pbmdzICh2b2lkKQotICAgbGludXhfcHRyYWNl X3Rlc3RfcmV0X3RvX254ICgpOwotIH0KLSAKLSsvKiBQcmludCBhbGwgcG9zc2libGUgcmVhc29u cyB3ZSBjb3VsZCBmYWlsIHRvIGNyZWF0ZSBhIHRyYWNlZCBwcm9jZXNzLiAgKi8KLSsKLStzdGQ6 OnN0cmluZwotK2xpbnV4X3B0cmFjZV9jcmVhdGVfd2FybmluZ3MgKCkKLSt7Ci0rICBzdGQ6OnN0 cmluZyByZXN1bHQ7Ci0rCi0rI2lmZGVmIEhBVkVfTElCU0VMSU5VWAotKyAgLyogLTEgaXMgcmV0 dXJuZWQgZm9yIGVycm9ycywgMCBpZiBpdCBoYXMgbm8gZWZmZWN0LCAxIGlmIFBUUkFDRV9BVFRB Q0ggaXMKLSsgICAgIGZvcmJpZGRlbi4gICovCi0rICBpZiAoc2VjdXJpdHlfZ2V0X2Jvb2xlYW5f YWN0aXZlICgiZGVueV9wdHJhY2UiKSA9PSAxKQotKyAgICBzdHJpbmdfYXBwZW5kZiAocmVzdWx0 LAotKwkJICAgIF8oInRoZSBTRUxpbnV4IGJvb2xlYW4gJ2RlbnlfcHRyYWNlJyBpcyBlbmFibGVk LCAiCi0rCQkgICAgICAieW91IGNhbiBkaXNhYmxlIHRoaXMgcHJvY2VzcyBhdHRhY2ggcHJvdGVj dGlvbiBieTogIgotKwkJICAgICAgIihnZGIpIHNoZWxsIHN1ZG8gc2V0c2Vib29sIGRlbnlfcHRy YWNlPTBcbiIpKTsKLSsjZW5kaWYgLyogSEFWRV9MSUJTRUxJTlVYICovCi0rICByZXR1cm4gcmVz dWx0OwotK30KLSsKLSAvKiBFeHRyYWN0IGV4dGVuZGVkIHB0cmFjZSBldmVudCBmcm9tIHdhaXQg c3RhdHVzLiAgKi8KLSAKLSBpbnQKLWRpZmYgLS1naXQgYS9nZGIvbmF0L2xpbnV4LXB0cmFjZS5o IGIvZ2RiL25hdC9saW51eC1wdHJhY2UuaAotLS0tIGEvZ2RiL25hdC9saW51eC1wdHJhY2UuaAot KysrIGIvZ2RiL25hdC9saW51eC1wdHJhY2UuaAotQEAgLTE4NCw2ICsxODQsNyBAQCBleHRlcm4g c3RkOjpzdHJpbmcgbGludXhfcHRyYWNlX2F0dGFjaF9mYWlsX3JlYXNvbiAocGlkX3QgcGlkKTsK LSBleHRlcm4gc3RkOjpzdHJpbmcgbGludXhfcHRyYWNlX2F0dGFjaF9mYWlsX3JlYXNvbl9zdHJp bmcgKHB0aWRfdCBwdGlkLCBpbnQgZXJyKTsKLSAKLSBleHRlcm4gdm9pZCBsaW51eF9wdHJhY2Vf aW5pdF93YXJuaW5ncyAodm9pZCk7Ci0rZXh0ZXJuIHN0ZDo6c3RyaW5nIGxpbnV4X3B0cmFjZV9j cmVhdGVfd2FybmluZ3MgKCk7Ci0gZXh0ZXJuIHZvaWQgbGludXhfY2hlY2tfcHRyYWNlX2ZlYXR1 cmVzICh2b2lkKTsKLSBleHRlcm4gdm9pZCBsaW51eF9lbmFibGVfZXZlbnRfcmVwb3J0aW5nIChw aWRfdCBwaWQsIGludCBhdHRhY2hlZCk7Ci0gZXh0ZXJuIHZvaWQgbGludXhfZGlzYWJsZV9ldmVu dF9yZXBvcnRpbmcgKHBpZF90IHBpZCk7CgpkaWZmIC0tZ2l0IGEvZ2RiLWJ6MTIxOTc0Ny1hdHRh Y2gta2lsbHMucGF0Y2ggYi9nZGItYnoxMjE5NzQ3LWF0dGFjaC1raWxscy5wYXRjaAppbmRleCA2 OWM4NjU4Li5mYjNhMzQ5IDEwMDY0NAotLS0gYS9nZGItYnoxMjE5NzQ3LWF0dGFjaC1raWxscy5w YXRjaAorKysgYi9nZGItYnoxMjE5NzQ3LWF0dGFjaC1raWxscy5wYXRjaApAQCAtODAsNyArODAs NyBAQCBnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwogZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9n ZGIvbWFpbi5jCiAtLS0gYS9nZGIvbWFpbi5jCiArKysgYi9nZGIvbWFpbi5jCi1AQCAtMTE0OCw3 ICsxMTQ4LDEwIEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAq Y29udGV4dCkKK0BAIC0xMTk5LDcgKzExOTksMTAgQEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3Qg Y2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQogIAl7CiAgCSAgcmV0ID0gY2F0Y2hfY29tbWFu ZF9lcnJvcnMgKGF0dGFjaF9jb21tYW5kLCBwaWRfb3JfY29yZV9hcmcsCiAgCQkJCSAgICAgICFi YXRjaF9mbGFnKTsKCmRpZmYgLS1naXQgYS9nZGItYno1MzMxNzYtZm9ydHJhbi1vbXAtc3RlcC5w YXRjaCBiL2dkYi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCmluZGV4IGVlNDI2Y2Uu LjUyNjQxMTUgMTAwNjQ0Ci0tLSBhL2dkYi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNo CisrKyBiL2dkYi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCkBAIC0zMCw3ICszMCw3 IEBAIGRlYnVnZ2luZyBwcm9ibGVtIG9mIEdPTVAgb3V0c2lkZSBvZiB0aGUgc2NvcGUgb2YgdGhp cyBCdWcuCiBkaWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCiAtLS0gYS9n ZGIvaW5mcnVuLmMKICsrKyBiL2dkYi9pbmZydW4uYwotQEAgLTY0NTMsNiArNjQ1MywxNiBAQCBw cm9jZXNzX2V2ZW50X3N0b3BfdGVzdCAoc3RydWN0IGV4ZWN1dGlvbl9jb250cm9sX3N0YXRlICpl Y3MpCitAQCAtNjc4OCw2ICs2Nzg4LDE2IEBAIHByb2Nlc3NfZXZlbnRfc3RvcF90ZXN0IChzdHJ1 Y3QgZXhlY3V0aW9uX2NvbnRyb2xfc3RhdGUgKmVjcykKICAKICAgICAgICBpZiAoZWNzLT5ldmVu dF90aHJlYWQtPmNvbnRyb2wuc3RlcF9vdmVyX2NhbGxzID09IFNURVBfT1ZFUl9BTEwpCiAgCXsK QEAgLTQ3LDcgKzQ3LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dkYi9pbmZydW4u YwogIAkgIC8qIFdlJ3JlIGRvaW5nIGEgIm5leHQiLgogIAogIAkgICAgIE5vcm1hbCAoZm9yd2Fy ZCkgZXhlY3V0aW9uOiBzZXQgYSBicmVha3BvaW50IGF0IHRoZQotQEAgLTY0ODYsNiArNjQ5Niw3 IEBAIHByb2Nlc3NfZXZlbnRfc3RvcF90ZXN0IChzdHJ1Y3QgZXhlY3V0aW9uX2NvbnRyb2xfc3Rh dGUgKmVjcykKK0BAIC02ODIxLDYgKzY4MzEsNyBAQCBwcm9jZXNzX2V2ZW50X3N0b3BfdGVzdCAo c3RydWN0IGV4ZWN1dGlvbl9jb250cm9sX3N0YXRlICplY3MpCiAgCiAgCSAga2VlcF9nb2luZyAo ZWNzKTsKICAJICByZXR1cm47CgpkaWZmIC0tZ2l0IGEvZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0 Y2ggYi9nZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaAppbmRleCBiMDk1ZDRiLi4wNGE3ZjNjIDEw MDY0NAotLS0gYS9nZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaAorKysgYi9nZGItY29udGFpbmVy LXJoLXBrZy5wYXRjaApAQCAtOSw3ICs5LDcgQEAgU3ViamVjdDogZ2RiLWNvbnRhaW5lci1yaC1w a2cucGF0Y2gKIGRpZmYgLS1naXQgYS9nZGIvcmVtb3RlLmMgYi9nZGIvcmVtb3RlLmMKIC0tLSBh L2dkYi9yZW1vdGUuYwogKysrIGIvZ2RiL3JlbW90ZS5jCi1AQCAtMTM5MTYsNyArMTM5MTYsMTcg QEAgcmVtb3RlX3RhcmdldDo6cGlkX3RvX2V4ZWNfZmlsZSAoaW50IHBpZCkKK0BAIC0xNDAzMSw3 ICsxNDAzMSwxNyBAQCByZW1vdGVfdGFyZ2V0OjpwaWRfdG9fZXhlY19maWxlIChpbnQgcGlkKQog ICAgY2hhciAqYW5uZXggPSBOVUxMOwogIAogICAgaWYgKHBhY2tldF9zdXBwb3J0IChQQUNLRVRf cVhmZXJfZXhlY19maWxlKSAhPSBQQUNLRVRfRU5BQkxFKQpAQCAtMjYsNSArMjYsNSBAQCBkaWZm IC0tZ2l0IGEvZ2RiL3JlbW90ZS5jIGIvZ2RiL3JlbW90ZS5jCiArICAgICAgcmV0dXJuIE5VTEw7 CiArICAgIH0KICAKLSAgIGluZiA9IGZpbmRfaW5mZXJpb3JfcGlkIChwaWQpOworICAgaW5mZXJp b3IgKmluZiA9IGZpbmRfaW5mZXJpb3JfcGlkICh0aGlzLCBwaWQpOwogICAgaWYgKGluZiA9PSBO VUxMKQoKZGlmZiAtLWdpdCBhL2dkYi1mZWRvcmEtbGlibmN1cnNlc3cucGF0Y2ggYi9nZGItZmVk b3JhLWxpYm5jdXJzZXN3LnBhdGNoCmluZGV4IDk2MDE5M2YuLjdjNjIwZmIgMTAwNjQ0Ci0tLSBh L2dkYi1mZWRvcmEtbGlibmN1cnNlc3cucGF0Y2gKKysrIGIvZ2RiLWZlZG9yYS1saWJuY3Vyc2Vz dy5wYXRjaApAQCAtMTIsNyArMTIsNyBAQCBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hv d19idWcuY2dpP2lkPTEyNzA1MzQKIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2Nv bmZpZ3VyZQogLS0tIGEvZ2RiL2NvbmZpZ3VyZQogKysrIGIvZ2RiL2NvbmZpZ3VyZQotQEAgLTkz NzUsNiArOTM3NSw3IEBAIGlmIHRlc3QgeCIkcHJlZmVyX2N1cnNlcyIgPSB4eWVzOyB0aGVuCitA QCAtOTY0OSw2ICs5NjQ5LDcgQEAgaWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRo ZW4KICAgICMgc2VhcmNoIC91c3IvbG9jYWwvaW5jbHVkZSwgaWYgbmN1cnNlcyBpcyBpbnN0YWxs ZWQgaW4gL3Vzci9sb2NhbC4gIEEKICAgICMgZGVmYXVsdCBpbnN0YWxsYXRpb24gb2YgbmN1cnNl cyBvbiBhbHBoYSotZGVjLW9zZiogd2lsbCBsZWFkIHRvIHN1Y2gKICAgICMgYSBzaXR1YXRpb24u CkBAIC0yMCw3ICsyMCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZp Z3VyZQogICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu ZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHdhZGRzdHIiID4mNQogICRhc19lY2hvX24gImNoZWNr aW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgd2FkZHN0ci4uLiAiID4mNjsgfQogIGlmICR7YWNf Y3Zfc2VhcmNoX3dhZGRzdHIrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTkzOTksNyArOTQwMCw3IEBA IHJldHVybiB3YWRkc3RyICgpOworQEAgLTk2NzMsNyArOTY3NCw3IEBAIHJldHVybiB3YWRkc3Ry ICgpOwogICAgcmV0dXJuIDA7CiAgfQogIF9BQ0VPRgpAQCAtMjksNyArMjksNyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKICAgIGlmIHRlc3QgLXogIiRhY19s aWIiOyB0aGVuCiAgICAgIGFjX3Jlcz0ibm9uZSByZXF1aXJlZCIKICAgIGVsc2UKLUBAIC05NDcz LDYgKzk0NzQsNyBAQCBjYXNlICRob3N0X29zIGluCitAQCAtOTc0Nyw2ICs5NzQ4LDcgQEAgY2Fz ZSAkaG9zdF9vcyBpbgogIGVzYWMKICAKICAjIFRoZXNlIGFyZSB0aGUgbGlicmFyaWVzIGNoZWNr ZWQgYnkgUmVhZGxpbmUuCkBAIC0zNyw3ICszNyw3IEBAIGRpZmYgLS1naXQgYS9nZGIvY29uZmln dXJlIGIvZ2RiL2NvbmZpZ3VyZQogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO RU5PfTogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyB0Z2V0ZW50IiA+JjUKICAkYXNf ZWNob19uICJjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHRnZXRlbnQuLi4gIiA+JjY7 IH0KICBpZiAke2FjX2N2X3NlYXJjaF90Z2V0ZW50Kzp9IGZhbHNlOyB0aGVuIDoKLUBAIC05NDk3 LDcgKzk0OTksNyBAQCByZXR1cm4gdGdldGVudCAoKTsKK0BAIC05NzcxLDcgKzk3NzMsNyBAQCBy ZXR1cm4gdGdldGVudCAoKTsKICAgIHJldHVybiAwOwogIH0KICBfQUNFT0YKQEAgLTQ5LDcgKzQ5 LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUgYi9nZGIvY29uZmlndXJlCiBkaWZmIC0t Z2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKIC0tLSBhL2dkYi9jb25m aWd1cmUuYWMKICsrKyBiL2dkYi9jb25maWd1cmUuYWMKLUBAIC03MTcsNyArNzE3LDggQEAgaWYg dGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KK0BAIC03MTIsNyArNzEyLDggQEAg aWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KICAgICMgc2VhcmNoIC91c3Iv bG9jYWwvaW5jbHVkZSwgaWYgbmN1cnNlcyBpcyBpbnN0YWxsZWQgaW4gL3Vzci9sb2NhbC4gIEEK ICAgICMgZGVmYXVsdCBpbnN0YWxsYXRpb24gb2YgbmN1cnNlcyBvbiBhbHBoYSotZGVjLW9zZiog d2lsbCBsZWFkIHRvIHN1Y2gKICAgICMgYSBzaXR1YXRpb24uCkBAIC01OSw3ICs1OSw3IEBAIGRp ZmYgLS1naXQgYS9nZGIvY29uZmlndXJlLmFjIGIvZ2RiL2NvbmZpZ3VyZS5hYwogIAogICAgaWYg dGVzdCAiJGFjX2N2X3NlYXJjaF93YWRkc3RyIiAhPSBubzsgdGhlbgogICAgICBjdXJzZXNfZm91 bmQ9eWVzCi1AQCAtNzU5LDcgKzc2MCw4IEBAIGNhc2UgJGhvc3Rfb3MgaW4KK0BAIC03NTQsNyAr NzU1LDggQEAgY2FzZSAkaG9zdF9vcyBpbgogIGVzYWMKICAKICAjIFRoZXNlIGFyZSB0aGUgbGli cmFyaWVzIGNoZWNrZWQgYnkgUmVhZGxpbmUuCgpkaWZmIC0tZ2l0IGEvZ2RiLWduYXQtZHdhcmYt Y3Jhc2gtM29mMy5wYXRjaCBiL2dkYi1nbmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0Y2gKaW5kZXgg NTI4OTJlNC4uNDE5NzY2MSAxMDA2NDQKLS0tIGEvZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29mMy5w YXRjaAorKysgYi9nZGItZ25hdC1kd2FyZi1jcmFzaC0zb2YzLnBhdGNoCkBAIC0zOSwxMCArMzks MTAgQEAgZ2RiLwogCiAJKiBkd2FyZjJyZWFkLmMgKHByb2Nlc3NfZGllKTogQ2hhbmdlIGdkYl9h c3NlcnQgdG8gY29tcGxhaW50LgogCi1kaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dk Yi9kd2FyZjJyZWFkLmMKLS0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKLSsrKyBiL2dkYi9kd2FyZjJy ZWFkLmMKLUBAIC0xMDY1Nyw2ICsxMDY1NywxMyBAQCBwcml2YXRlOgorZGlmZiAtLWdpdCBhL2dk Yi9kd2FyZjIvcmVhZC5jIGIvZ2RiL2R3YXJmMi9yZWFkLmMKKy0tLSBhL2dkYi9kd2FyZjIvcmVh ZC5jCisrKysgYi9nZGIvZHdhcmYyL3JlYWQuYworQEAgLTEwMTYyLDYgKzEwMTYyLDEzIEBAIGNs YXNzIHByb2Nlc3NfZGllX3Njb3BlCiAgc3RhdGljIHZvaWQKICBwcm9jZXNzX2RpZSAoc3RydWN0 IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogIHsKQEAgLTU2LDI3ICs1Niwx MCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKICAg IHByb2Nlc3NfZGllX3Njb3BlIHNjb3BlIChkaWUsIGN1KTsKICAKICAgIHN3aXRjaCAoZGllLT50 YWcpCi1kaWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCi0tLS0gYS9nZGIv aW5mcnVuLmMKLSsrKyBiL2dkYi9pbmZydW4uYwotQEAgLTYwMSw2ICs2MDEsMTMgQEAgaG9sZGlu ZyB0aGUgY2hpbGQgc3RvcHBlZC4gIFRyeSBcInNldCBkZXRhY2gtb24tZm9ya1wiIG9yIFwKLSAJ CQkJdGFyZ2V0X3BpZF90b19zdHIgKHByb2Nlc3NfcHRpZCkuY19zdHIgKCkpOwotIAkgICAgfQot IAotKyNpZmRlZiBORUVEX0RFVEFDSF9TSUdTVE9QCi0rCSAgLyogV2Ugc2hvdWxkIGNoZWNrIFBJ RF9XQVNfU1RPUFBFRCBhbmQgZGV0YWNoIGl0IHN0b3BwZWQgYWNjb3JkaW5nbHkuCi0rCSAgICAg SW4gdGhpcyBwb2ludCBvZiBjb2RlIGl0IGNhbm5vdCBiZSAxIGFzIHdlIHdvdWxkIG5vdCBnZXQg Rk9SSwotKwkgICAgIGV4ZWN1dGVkIHdpdGhvdXQgQ09OVElOVUUgZmlyc3Qgd2hpY2ggcmVzZXRz IFBJRF9XQVNfU1RPUFBFRC4KLSsJICAgICBXZSB3b3VsZCBoYXZlIHRvIGZpcnN0IFRBUkdFVF9T VE9QIGFuZCBXQUlUUElEIGl0IGFzIHdpdGggcnVubmluZwotKwkgICAgIGluZmVyaW9yIFBUUkFD RV9ERVRBQ0gsIFNJR1NUT1Agd2lsbCBpZ25vcmUgdGhlIHNpZ25hbC4gICovCi0rI2VuZGlmCi0g CSAgdGFyZ2V0X2RldGFjaCAocGFyZW50X2luZiwgMCk7Ci0gCX0KLSAKIGRpZmYgLS1naXQgYS9n ZGIvbGludXgtbmF0LmMgYi9nZGIvbGludXgtbmF0LmMKIC0tLSBhL2dkYi9saW51eC1uYXQuYwog KysrIGIvZ2RiL2xpbnV4LW5hdC5jCi1AQCAtMTg5LDYgKzE4OSwxMiBAQCBzdHJ1Y3QgbGludXhf bmF0X3RhcmdldCAqbGludXhfdGFyZ2V0OworQEAgLTE5MCw2ICsxOTAsMTIgQEAgc3RydWN0IGxp bnV4X25hdF90YXJnZXQgKmxpbnV4X3RhcmdldDsKICAvKiBEb2VzIHRoZSBjdXJyZW50IGhvc3Qg c3VwcG9ydCBQVFJBQ0VfR0VUUkVHU0VUPyAgKi8KICBlbnVtIHRyaWJvb2wgaGF2ZV9wdHJhY2Vf Z2V0cmVnc2V0ID0gVFJJQk9PTF9VTktOT1dOOwogIApAQCAtODksMTcgKzcyLDE3IEBAIGRpZmYg LS1naXQgYS9nZGIvbGludXgtbmF0LmMgYi9nZGIvbGludXgtbmF0LmMKICBzdGF0aWMgdW5zaWdu ZWQgaW50IGRlYnVnX2xpbnV4X25hdDsKICBzdGF0aWMgdm9pZAogIHNob3dfZGVidWdfbGludXhf bmF0IChzdHJ1Y3QgdWlfZmlsZSAqZmlsZSwgaW50IGZyb21fdHR5LAotQEAgLTEwMzAsNiArMTAz Niw5IEBAIGxpbnV4X25hdF9wb3N0X2F0dGFjaF93YWl0IChwdGlkX3QgcHRpZCwgaW50ICpzaWdu YWxsZWQpCi0gICAgICAgaWYgKGRlYnVnX2xpbnV4X25hdCkKLSAJZnByaW50Zl91bmZpbHRlcmVk IChnZGJfc3RkbG9nLAotIAkJCSAgICAiTE5QQVc6IEF0dGFjaGluZyB0byBhIHN0b3BwZWQgcHJv Y2Vzc1xuIik7CitAQCAtMTA0NCw2ICsxMDUwLDkgQEAgbGludXhfbmF0X3Bvc3RfYXR0YWNoX3dh aXQgKHB0aWRfdCBwdGlkLCBpbnQgKnNpZ25hbGxlZCkKKyAgIGlmIChsaW51eF9wcm9jX3BpZF9p c19zdG9wcGVkIChwaWQpKQorICAgICB7CisgICAgICAgbGludXhfbmF0X2RlYnVnX3ByaW50ZiAo IkF0dGFjaGluZyB0byBhIHN0b3BwZWQgcHJvY2VzcyIpOwogKyNpZmRlZiBORUVEX0RFVEFDSF9T SUdTVE9QCiArICAgICAgcGlkX3dhc19zdG9wcGVkID0gcHRpZC5waWQgKCk7CiArI2VuZGlmCiAg CiAgICAgICAgLyogVGhlIHByb2Nlc3MgaXMgZGVmaW5pdGVseSBzdG9wcGVkLiAgSXQgaXMgaW4g YSBqb2IgY29udHJvbAogIAkgc3RvcCwgdW5sZXNzIHRoZSBrZXJuZWwgcHJlZGF0ZXMgdGhlIFRB U0tfU1RPUFBFRCAvCi1AQCAtMTM2MSw2ICsxMzcwLDI1IEBAIGdldF9kZXRhY2hfc2lnbmFsIChz dHJ1Y3QgbHdwX2luZm8gKmxwKQorQEAgLTEzNTksNiArMTM2OCwyNSBAQCBnZXRfZGV0YWNoX3Np Z25hbCAoc3RydWN0IGx3cF9pbmZvICpscCkKICAgICAgICByZXR1cm4gZ2RiX3NpZ25hbF90b19o b3N0IChzaWdubyk7CiAgICAgIH0KICAKQEAgLTEyNSw3ICsxMDgsNyBAQCBkaWZmIC0tZ2l0IGEv Z2RiL2xpbnV4LW5hdC5jIGIvZ2RiL2xpbnV4LW5hdC5jCiAgICByZXR1cm4gMDsKICB9CiAgCi1A QCAtMTUwOSw2ICsxNTM3LDEwIEBAIGxpbnV4X25hdF90YXJnZXQ6OmRldGFjaCAoaW5mZXJpb3Ig KmluZiwgaW50IGZyb21fdHR5KQorQEAgLTE1MDIsNiArMTUzMCwxMCBAQCBsaW51eF9uYXRfdGFy Z2V0OjpkZXRhY2ggKGluZmVyaW9yICppbmYsIGludCBmcm9tX3R0eSkKICAgICAgICBkZXRhY2hf b25lX2x3cCAobWFpbl9sd3AsICZzaWdubyk7CiAgCiAgICAgICAgZGV0YWNoX3N1Y2Nlc3MgKGlu Zik7CkBAIC0xMzYsNyArMTE5LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9saW51eC1uYXQuYyBiL2dk Yi9saW51eC1uYXQuYwogICAgICB9CiAgfQogIAotQEAgLTE3NjYsNiArMTc5OCwxNiBAQCBsaW51 eF9uYXRfdGFyZ2V0OjpyZXN1bWUgKHB0aWRfdCBwdGlkLCBpbnQgc3RlcCwgZW51bSBnZGJfc2ln bmFsIHNpZ25vKQorQEAgLTE3NDQsNiArMTc3NiwxNiBAQCBsaW51eF9uYXRfdGFyZ2V0OjpyZXN1 bWUgKHB0aWRfdCBwdGlkLCBpbnQgc3RlcCwgZW51bSBnZGJfc2lnbmFsIHNpZ25vKQogICAgICAg IHJldHVybjsKICAgICAgfQogIApAQCAtMTUzLDcgKzEzNiw3IEBAIGRpZmYgLS1naXQgYS9nZGIv bGludXgtbmF0LmMgYi9nZGIvbGludXgtbmF0LmMKICAgIGlmIChyZXN1bWVfbWFueSkKICAgICAg aXRlcmF0ZV9vdmVyX2x3cHMgKHB0aWQsIFs9XSAoc3RydWN0IGx3cF9pbmZvICppbmZvKQogIAkJ CSAgICAgewotQEAgLTM3NzAsNiArMzgxMiwxMCBAQCBsaW51eF9uYXRfdGFyZ2V0Ojptb3Vybl9p bmZlcmlvciAoKQorQEAgLTM2MTcsNiArMzY1OSwxMCBAQCBsaW51eF9uYXRfdGFyZ2V0Ojptb3Vy bl9pbmZlcmlvciAoKQogIAogICAgLyogTGV0IHRoZSBhcmNoLXNwZWNpZmljIG5hdGl2ZSBjb2Rl IGtub3cgdGhpcyBwcm9jZXNzIGlzIGdvbmUuICAqLwogICAgbGludXhfdGFyZ2V0LT5sb3dfZm9y Z2V0X3Byb2Nlc3MgKHBpZCk7CgpkaWZmIC0tZ2l0IGEvZ2RiLWppdC1yZWFkZXItbXVsdGlsaWIu cGF0Y2ggYi9nZGItaml0LXJlYWRlci1tdWx0aWxpYi5wYXRjaAppbmRleCBlYzQxZjEzLi40YmNl NWZjIDEwMDY0NAotLS0gYS9nZGItaml0LXJlYWRlci1tdWx0aWxpYi5wYXRjaAorKysgYi9nZGIt aml0LXJlYWRlci1tdWx0aWxpYi5wYXRjaApAQCAtOSw3ICs5LDcgQEAgU3ViamVjdDogZ2RiLWpp dC1yZWFkZXItbXVsdGlsaWIucGF0Y2gKIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2Ri L2NvbmZpZ3VyZQogLS0tIGEvZ2RiL2NvbmZpZ3VyZQogKysrIGIvZ2RiL2NvbmZpZ3VyZQotQEAg LTk2OTQsMTAgKzk2OTQsMTIgQEAgX0FDRU9GCitAQCAtOTk2OCwxMCArOTk2OCwxMiBAQCBfQUNF T0YKICAKICAKICAKQEAgLTI4LDcgKzI4LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUg Yi9nZGIvY29uZmlndXJlCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25m aWd1cmUuYWMKIC0tLSBhL2dkYi9jb25maWd1cmUuYWMKICsrKyBiL2dkYi9jb25maWd1cmUuYWMK LUBAIC04MDgsMTAgKzgwOCwxMiBAQCBBQ19DSEVDS19TSVpFT0YodW5zaWduZWQgbG9uZyBsb25n KQorQEAgLTgwMywxMCArODAzLDEyIEBAIEFDX0NIRUNLX1NJWkVPRih1bnNpZ25lZCBsb25nIGxv bmcpCiAgQUNfQ0hFQ0tfU0laRU9GKHVuc2lnbmVkIGxvbmcpCiAgQUNfQ0hFQ0tfU0laRU9GKHVu c2lnbmVkIF9faW50MTI4KQogIAoKZGlmZiAtLWdpdCBhL2dkYi1saW51eF9wZXJmLWJ1bmRsZS5w YXRjaCBiL2dkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaAppbmRleCBkYjllN2M4Li43MjhmNDYz IDEwMDY0NAotLS0gYS9nZGItbGludXhfcGVyZi1idW5kbGUucGF0Y2gKKysrIGIvZ2RiLWxpbnV4 X3BlcmYtYnVuZGxlLnBhdGNoCkBAIC02LDMwICs2LDYgQEAgU3ViamVjdDogZ2RiLWxpbnV4X3Bl cmYtYnVuZGxlLnBhdGNoCiA7OyBbZHRzK2VsN10gW3g4NipdIEJ1bmRsZSBsaW51eF9wZXJmLmgg Zm9yIGxpYmlwdCAoUkggQlogMTI1NjUxMykuCiA7Oz1mZWRvcmEKIAotZGlmZiAtLWdpdCBhL2dk Yi9jb25maWd1cmUgYi9nZGIvY29uZmlndXJlCi0tLS0gYS9nZGIvY29uZmlndXJlCi0rKysgYi9n ZGIvY29uZmlndXJlCi1AQCAtMTE5MDUsNyArMTE5MDUsNyBAQCBlbHNlCi0gCi0gI2luY2x1ZGUg PGxpbnV4L3BlcmZfZXZlbnQuaD4KLSAjaWZuZGVmIFBFUkZfQVRUUl9TSVpFX1ZFUjUKLS0jIGVy cm9yCi0rLy8gZXJyb3IgLy8gUEVSRl9BVFRSX1NJWkVfVkVSNV9CVU5ETEUgaXMgbm90IGF2YWls YWJsZSBoZXJlIC0gRmVkb3JhK1JIRUwKLSAjZW5kaWYKLSAKLSBfQUNFT0YKLWRpZmYgLS1naXQg YS9nZGIvY29uZmlndXJlLmFjIGIvZ2RiL2NvbmZpZ3VyZS5hYwotLS0tIGEvZ2RiL2NvbmZpZ3Vy ZS5hYwotKysrIGIvZ2RiL2NvbmZpZ3VyZS5hYwotQEAgLTE0MTQsNyArMTQxNCw3IEBAIGVsc2UK LSAgIEFDX1BSRVBST0NfSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWwotICNpbmNsdWRlIDxsaW51 eC9wZXJmX2V2ZW50Lmg+Ci0gI2lmbmRlZiBQRVJGX0FUVFJfU0laRV9WRVI1Ci0tIyBlcnJvcgot Ky8vIGVycm9yIC8vIFBFUkZfQVRUUl9TSVpFX1ZFUjVfQlVORExFIGlzIG5vdCBhdmFpbGFibGUg aGVyZSAtIEZlZG9yYStSSEVMCi0gI2VuZGlmCi0gICBdXSldLCBbcGVyZl9ldmVudD15ZXNdLCBb cGVyZl9ldmVudD1ub10pCi0gICBpZiB0ZXN0ICIkcGVyZl9ldmVudCIgIT0geWVzOyB0aGVuCiBk aWZmIC0tZ2l0IGEvZ2RiL2dkYi5jIGIvZ2RiL2dkYi5jCiAtLS0gYS9nZGIvZ2RiLmMKICsrKyBi L2dkYi9nZGIuYwpAQCAtMjM0LDMgKzIxMCwxNSBAQCBkaWZmIC0tZ2l0IGEvZ2RiL25hdC9saW51 eC1idHJhY2UuaCBiL2dkYi9uYXQvbGludXgtYnRyYWNlLmgKICBzdHJ1Y3QgdGFyZ2V0X29wczsK ICAKICAjaWYgSEFWRV9MSU5VWF9QRVJGX0VWRU5UX0gKK2RpZmYgLS1naXQgYS9nZGJzdXBwb3J0 L2NvbW1vbi5tNCBiL2dkYnN1cHBvcnQvY29tbW9uLm00CistLS0gYS9nZGJzdXBwb3J0L2NvbW1v bi5tNAorKysrIGIvZ2Ric3VwcG9ydC9jb21tb24ubTQKK0BAIC0xNDUsNyArMTQ1LDcgQEAgQUNf REVGVU4oW0dEQl9BQ19DT01NT05dLCBbCisgICAgIEFDX1BSRVBST0NfSUZFTFNFKFtBQ19MQU5H X1NPVVJDRShbWworICAgI2luY2x1ZGUgPGxpbnV4L3BlcmZfZXZlbnQuaD4KKyAgICNpZm5kZWYg UEVSRl9BVFRSX1NJWkVfVkVSNQorLSAgIyBlcnJvcgorKyAgLy8gZXJyb3IgLy8gUEVSRl9BVFRS X1NJWkVfVkVSNV9CVU5ETEUgaXMgbm90IGF2YWlsYWJsZSBoZXJlIC0gRmVkb3JhK1JIRUwKKyAg ICNlbmRpZgorICAgICBdXSldLCBbcGVyZl9ldmVudD15ZXNdLCBbcGVyZl9ldmVudD1ub10pCisg ICAgIGlmIHRlc3QgIiRwZXJmX2V2ZW50IiAhPSB5ZXM7IHRoZW4KCmRpZmYgLS1naXQgYS9nZGIt bHRvZml4LnBhdGNoIGIvZ2RiLWx0b2ZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggZTMwZjZmOC4uMDAwMDAwMAotLS0gYS9nZGItbHRvZml4LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMTIgKzAsMCBAQAotZGlmZiAtTnJ1cCBhL2dkYi9nZGJzZXJ2ZXIvYXguYyBiL2dk Yi9nZGJzZXJ2ZXIvYXguYwotLS0tIGEvZ2RiL2dkYnNlcnZlci9heC5jCTIwMTktMTEtMTggMTg6 NDk6MTkuMDAwMDAwMDAwIC0wNzAwCi0rKysgYi9nZGIvZ2Ric2VydmVyL2F4LmMJMjAxOS0xMi0x OSAyMTozMDoxOS41MTI1MDU0MTEgLTA3MDAKLUBAIC0yNSw3ICsyNSw3IEBACi0gc3RhdGljIHZv aWQgYXhfdmRlYnVnIChjb25zdCBjaGFyICosIC4uLikgQVRUUklCVVRFX1BSSU5URiAoMSwgMik7 Ci0gCi0gI2lmZGVmIElOX1BST0NFU1NfQUdFTlQKLS1pbnQgZGVidWdfYWdlbnQgPSAwOwotK2Jv b2wgZGVidWdfYWdlbnQgPSAwOwotICNlbmRpZgotIAotIHN0YXRpYyB2b2lkCgpkaWZmIC0tZ2l0 IGEvZ2RiLW1vcmlidW5kLXV0cmFjZS13b3JrYXJvdW5kLnBhdGNoIGIvZ2RiLW1vcmlidW5kLXV0 cmFjZS13b3JrYXJvdW5kLnBhdGNoCmluZGV4IGYyZGE4NzIuLjg2OWZjNzUgMTAwNjQ0Ci0tLSBh L2dkYi1tb3JpYnVuZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRjaAorKysgYi9nZGItbW9yaWJ1bmQt dXRyYWNlLXdvcmthcm91bmQucGF0Y2gKQEAgLTE0LDEwICsxNCwxMCBAQCBCdWcgaW4gRlNGIEdE QiBleHBsb2l0ZWQgYnkgdGhlIHB0cmFjZS1vbi11dHJhY2UgaW50ZXJhY3Rpb24uCiBkaWZmIC0t Z2l0IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dkYi9icmVha3BvaW50LmMKIC0tLSBhL2dkYi9icmVh a3BvaW50LmMKICsrKyBiL2dkYi9icmVha3BvaW50LmMKLUBAIC0xMTkwNCw2ICsxMTkwNCw4IEBA IHVwZGF0ZV9nbG9iYWxfbG9jYXRpb25fbGlzdCAoZW51bSB1Z2xsX2luc2VydF9tb2RlIGluc2Vy dF9tb2RlKQotIAkJIHRyYXBzIHdlIGNhbiBubyBsb25nZXIgZXhwbGFpbi4gICovCi0gCi0gCSAg ICAgIG9sZF9sb2MtPmV2ZW50c190aWxsX3JldGlyZW1lbnQgPSAzICogKHRocmVhZF9jb3VudCAo KSArIDEpOworQEAgLTExOTQ4LDYgKzExOTQ4LDggQEAgdXBkYXRlX2dsb2JhbF9sb2NhdGlvbl9s aXN0IChlbnVtIHVnbGxfaW5zZXJ0X21vZGUgaW5zZXJ0X21vZGUpCisgCQkgID0gMyAqICh0aHJl YWRfY291bnQgKHByb2NfdGFyZ2V0KSArIDEpOworIAkgICAgICBlbHNlCisgCQlvbGRfbG9jLT5l dmVudHNfdGlsbF9yZXRpcmVtZW50ID0gMTsKICsJICAgICAgLyogUmVkIEhhdCBCdWcgNTkwNjIz LiAgKi8KICsJICAgICAgb2xkX2xvYy0+ZXZlbnRzX3RpbGxfcmV0aXJlbWVudCAqPSAxMDsKICAJ ICAgICAgb2xkX2xvYy0+b3duZXIgPSBOVUxMOwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTgxODAx MS1iZmQtZ2NjMTAtZXJyb3IucGF0Y2ggYi9nZGItcmhiejE4MTgwMTEtYmZkLWdjYzEwLWVycm9y LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NzQwMzI2Li4wMDAwMDAwCi0t LSBhL2dkYi1yaGJ6MTgxODAxMS1iZmQtZ2NjMTAtZXJyb3IucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSw0OSArMCwwIEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQotRnJvbTogS2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29tPgotRGF0ZTogV2Vk LCA4IEFwciAyMDIwIDE2OjE1OjUyIC0wNDAwCi1TdWJqZWN0OiBnZGItcmhiejE4MTgwMTEtYmZk LWdjYzEwLWVycm9yLnBhdGNoCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0 L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0K LTs7IEZpeCBpbnQgY29udmVyc2lvbiBlcnJvciBmcm9tIGJmZC9lbGYuYyB3aGVuIGNvbXBpbGlu ZyB3aXRoIGdjYyAxMAotCi1PcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIEguSi4gTHUgPGhq bC50b29sc0BnbWFpbC5jb20+IGlzIGJlbG93OgotCi1iZmQ6IENoYW5nZSBudW1fZ3JvdXAgdG8g dW5zaWduZWQgaW50Ci0KLWVsZi5jIGZhaWxlZCB3aXRoIHRvIHdpdGggR0NDIDEwIGFzIG9mCi0K LWNvbW1pdCA5MDZiM2ViOWRmNmM1NzdkM2Y2ZTljM2VhNWM5ZDdlNGQxZTkwNTM2Ci1BdXRob3I6 IE1hcnRpbiBMaXNrYSA8bWxpc2thQHN1c2UuY3o+Ci1EYXRlOiAgIFR1ZSBNYXIgMjQgMTE6NDA6 MTAgMjAyMCArMDEwMAotCi0gICAgSW1wcm92ZSBlbmRpYW5lc3MgZGV0ZWN0aW9uLgotCi0gICAg ICAgICAgICBQUiBsdG8vOTQyNDkKLSAgICAgICAgICAgICogcGx1Z2luLWFwaS5oOiBBZGQgbW9y ZSByb2J1c3QgZW5kaWFuZXNzIGRldGVjdGlvbi4KLQotYmludXRpbHMtZ2RiL2JmZC9lbGYuYzog SW4gZnVuY3Rpb24g4oCYc2V0dXBfZ3JvdXDigJk6Ci1iaW51dGlscy1nZGIvYmZkL2VsZi5jOjc0 MDozNTogZXJyb3I6IG92ZXJmbG93IGluIGNvbnZlcnNpb24gZnJvbSDigJh1bnNpZ25lZCBpbnTi gJkgdG8g4oCYaW504oCZIGNoYW5nZXMgdmFsdWUgZnJvbSDigJhudW1fZ3JvdXAgPSA0Mjk0OTY3 Mjk14oCZIHRvIOKAmC0x4oCZIFstV2Vycm9yPW92ZXJmbG93XQotICA3NDAgfCAgICAgZWxmX3Rk YXRhIChhYmZkKS0+bnVtX2dyb3VwID0gbnVtX2dyb3VwID0gLTE7Ci0gICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KLWNjMTogYWxsIHdhcm5pbmdzIGJl aW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi1tYWtlWzJdOiAqKiogW01ha2VmaWxlOjE2MDg6IGVsZi5s b10gRXJyb3IgMQotCi1DaGFuZ2UgbnVtX2dyb3VwIGluIGVsZl9vYmpfdGRhdGEgdG8gdW5zaWdu ZWQgaW50IHRvIGNvbXBpbGUgd2l0aCBHQ0MgMTAuCi0KLQlQUiBiaW51dGlscy8yNTcxNwotCSog ZWxmLWJmZC5oIChlbGZfb2JqX3RkYXRhKTogQ2hhbmdlIG51bV9ncm91cCB0byB1bnNpZ25lZCBp bnQuCi0KLWRpZmYgLS1naXQgYS9iZmQvZWxmLWJmZC5oIGIvYmZkL2VsZi1iZmQuaAotLS0tIGEv YmZkL2VsZi1iZmQuaAotKysrIGIvYmZkL2VsZi1iZmQuaAotQEAgLTE5MzcsNyArMTkzNyw3IEBA IHN0cnVjdCBlbGZfb2JqX3RkYXRhCi0gICBzdHJ1Y3Qgc2R0X25vdGUgKnNkdF9ub3RlX2hlYWQ7 Ci0gCi0gICBFbGZfSW50ZXJuYWxfU2hkciAqKmdyb3VwX3NlY3RfcHRyOwotLSAgaW50IG51bV9n cm91cDsKLSsgIHVuc2lnbmVkIGludCBudW1fZ3JvdXA7Ci0gCi0gICAvKiBJbmRleCBpbnRvIGdy b3VwX3NlY3RfcHRyLCB1cGRhdGVkIGJ5IHNldHVwX2dyb3VwIHdoZW4gZmluZGluZyBhCi0gICAg ICBzZWN0aW9uJ3MgZ3JvdXAuICBVc2VkIHRvIG9wdGltaXplIHN1YnNlcXVlbnQgZ3JvdXAgc2Vh cmNoZXMuICAqLwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTgyMjcxNS1maXgtcHl0aG9uLWRlcHJl Y2F0aW9uLnBhdGNoIGIvZ2RiLXJoYnoxODIyNzE1LWZpeC1weXRob24tZGVwcmVjYXRpb24ucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkN2MxMGIuLjAwMDAwMDAKLS0tIGEv Z2RiLXJoYnoxODIyNzE1LWZpeC1weXRob24tZGVwcmVjYXRpb24ucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSw3MCArMCwwIEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogS2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29tPgotRGF0ZTog VGh1LCAxNiBBcHIgMjAyMCAwNToyNzoyNiAtMDcwMAotU3ViamVjdDogZ2RiLXJoYnoxODIyNzE1 LWZpeC1weXRob24tZGVwcmVjYXRpb24ucGF0Y2gKLQotOzsgQmFja3BvcnQgZml4IGZvciBkZXBy ZWNhdGlvbiBvZiBQeUV2YWxfSW5pdFRocmVhZHMgaW4gUHl0aG9uIDMuOS4KLQotRml4IGNvbXBp bGF0aW9uIG9mIHB5dGhvbi9weXRob24uYyBmb3IgUHl0aG9uIDMuOQotCi1UaGlzIGNvbW1pdCBm aXhlcyBhIGNvbXBpbGF0aW9uIHdhcm5pbmcvZXJyb3Igd2hlbiBidWlsZGluZyBHREIKLXdpdGgg UHl0aG9uIDMuOToKLQotZysrIC14IGMrKyAgLU8yIC1nIC1waXBlIC1XYWxsIC1XZXJyb3I9Zm9y bWF0LXNlY3VyaXR5IC1XcCwtRF9GT1JUSUZZX1NPVVJDRT0yIC1XcCwtRF9HTElCQ1hYX0FTU0VS VElPTlMgLWZleGNlcHRpb25zIC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyAtZ3JlY29yZC1nY2Mt c3dpdGNoZXMgLXNwZWNzPS91c3IvbGliL3JwbS9yZWRoYXQvcmVkaGF0LWhhcmRlbmVkLWNjMSAt c3BlY3M9L3Vzci9saWIvcnBtL3JlZGhhdC9yZWRoYXQtYW5ub2Jpbi1jYzEgLW02NCAtbXR1bmU9 Z2VuZXJpYyAtZmFzeW5jaHJvbm91cy11bndpbmQtdGFibGVzIC1mc3RhY2stY2xhc2gtcHJvdGVj dGlvbiAtZmNmLXByb3RlY3Rpb24gIC1ERE5GX0RFQlVHSU5GT19JTlNUQUxMICAgLUkuIC1JLi4v Li4vZ2RiIC1JLi4vLi4vZ2RiL2NvbmZpZyAtRExPQ0FMRURJUj0iXCIvdXNyL3NoYXJlL2xvY2Fs ZVwiIiAtREhBVkVfQ09ORklHX0ggLUkuLi8uLi9nZGIvLi4vaW5jbHVkZS9vcGNvZGUgICAtSS4u L2JmZCAtSS4uLy4uL2dkYi8uLi9iZmQgLUkuLi8uLi9nZGIvLi4vaW5jbHVkZSAtSS4uL2xpYmRl Y251bWJlciAtSS4uLy4uL2dkYi8uLi9saWJkZWNudW1iZXIgIC1JLi4vLi4vZ2RiLy4uL2dudWxp Yi9pbXBvcnQgLUkuLi9nbnVsaWIvaW1wb3J0ICAtRFRVST0xICAgIC1JL3Vzci9pbmNsdWRlL2d1 aWxlLzIuMCAtcHRocmVhZCAgLUkvdXNyL2luY2x1ZGUvcHl0aG9uMy45IC1JL3Vzci9pbmNsdWRl L3B5dGhvbjMuOSAgLUkuLi8uLi9nZGIvLi4gLXB0aHJlYWQgLVdhbGwgLVdwb2ludGVyLWFyaXRo IC1Xbm8tdW51c2VkIC1XdW51c2VkLXZhbHVlIC1XdW51c2VkLXZhcmlhYmxlIC1XdW51c2VkLWZ1 bmN0aW9uIC1Xbm8tc3dpdGNoIC1Xbm8tY2hhci1zdWJzY3JpcHRzIC1XZW1wdHktYm9keSAtV3Vu dXNlZC1idXQtc2V0LXBhcmFtZXRlciAtV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlIC1Xbm8tc2ln bi1jb21wYXJlIC1Xbm8tZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZCAtV25vLW1pc21hdGNoZWQt dGFncyAtV3N1Z2dlc3Qtb3ZlcnJpZGUgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD0zIC1XZHVwbGlj YXRlZC1jb25kIC1Xc2hhZG93PWxvY2FsIC1XZGVwcmVjYXRlZC1jb3B5IC1XZGVwcmVjYXRlZC1j b3B5LWR0b3IgLVdyZWR1bmRhbnQtbW92ZSAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1X bm8tdW51c2VkIC1XZXJyb3IgLWMgLW8gc2VyLXRjcC5vIC1NVCBzZXItdGNwLm8gLU1NRCAtTVAg LU1GIC4vLmRlcHMvc2VyLXRjcC5UcG8gLi4vLi4vZ2RiL3Nlci10Y3AuYwotLi4vLi4vZ2RiL3B5 dGhvbi9weXRob24uYzogSW4gZnVuY3Rpb24gJ2Jvb2wgZG9fc3RhcnRfaW5pdGlhbGl6YXRpb24o KSc6Ci0uLi8uLi9nZGIvcHl0aG9uL3B5dGhvbi5jOjE2MjE6MjM6IGVycm9yOiAndm9pZCBQeUV2 YWxfSW5pdFRocmVhZHMoKScgaXMgZGVwcmVjYXRlZCBbLVdlcnJvcj1kZXByZWNhdGVkLWRlY2xh cmF0aW9uc10KLSAxNjIxIHwgICBQeUV2YWxfSW5pdFRocmVhZHMgKCk7Ci0gICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICBeCi1JbiBmaWxlIGluY2x1ZGVkIGZyb20gL3Vzci9pbmNsdWRlL3B5 dGhvbjMuOS9QeXRob24uaDoxNDEsCi0gICAgICAgICAgICAgICAgIGZyb20gLi4vLi4vZ2RiL3B5 dGhvbi9weXRob24taW50ZXJuYWwuaDo4NiwKLSAgICAgICAgICAgICAgICAgZnJvbSAuLi8uLi9n ZGIvcHl0aG9uL3B5dGhvbi5jOjkyOgotL3Vzci9pbmNsdWRlL3B5dGhvbjMuOS9jZXZhbC5oOjEz MjozNzogbm90ZTogZGVjbGFyZWQgaGVyZQotICAxMzIgfCBQeV9ERVBSRUNBVEVEKDMuOSkgUHlB UElfRlVOQyh2b2lkKSBQeUV2YWxfSW5pdFRocmVhZHModm9pZCk7Ci0gICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgotCi1JbmZvcm1h dGlvbiBhYm91dCB0aGUgZGVwcmVjYXRlZCBmdW5jdGlvbiBjYW4gYmUgZm91bmQgaGVyZToKLQot aHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy45L3doYXRzbmV3LzMuOS5odG1sI2RlcHJlY2F0ZWQK LQotU3BlY2lmaWNhbGx5LCB3aXRoIHJlZ2FyZCB0byBQeUV2YWxfSW5pdFRocmVhZHMoKSwgaXQg c2F5czoKLQotICAgIFRoZSBQeUV2YWxfSW5pdFRocmVhZHMoKSBhbmQgUHlFdmFsX1RocmVhZHNJ bml0aWFsaXplZCgpIGZ1bmN0aW9ucwotICAgIGFyZSBub3cgZGVwcmVjYXRlZCBhbmQgd2lsbCBi ZSByZW1vdmVkIGluIFB5dGhvbiAzLjExLiAgQ2FsbGluZwotICAgIFB5RXZhbF9Jbml0VGhyZWFk cygpIG5vdyBkb2VzIG5vdGhpbmcuICBUaGUgR0lMIGlzIGluaXRpYWxpemVkIGJ5Ci0gICAgUHlf SW5pdGlhbGl6ZSgpIHNpbmNlIFB5dGhvbiAzLjcuICAoQ29udHJpYnV0ZWQgYnkgVmljdG9yIFN0 aW5uZXIKLSAgICBpbiBicG8tMzk4NzcuKQotCi1JIGNob3NlIHRvIGRpc2FibGUgdGhlIGNhbGwg d2l0aCBhICNpZiB0ZXN0IHVzaW5nIFBZX1ZFUlNJT05fSEVYLgotVGhlcmUgaXMgcHJlY2VkZW50 IGZvciB1c2Ugb2YgUFlfVkVSU0lPTl9IRVg7IGl0J3MgdXNlZCBpbiB0d28gcGxhY2VzCi1pbiBw eXRob24taW50ZXJuYWwuaC4gIEkgbm90aWNlZCB0aGF0IHVuZGVyIGNlcnRhaW4gY2lyY3Vtc3Rh bmNlcwotcHl0aG9uLWludGVybmFsLmggZGVmaW5lcyBQeUV2YWxfSW5pdFRocmVhZHMgdG8gYmUg bm90aGluZywgd2hpY2gKLWFjY29tcGxpc2hlcyB0aGUgc2FtZSB0aGluZy4gIEkgY29uc2lkZXJl ZCBkb2luZyBzb21ldGhpbmcgc2ltaWxhciBmb3IKLXRoaXMgY2FzZSwgYnV0IGRlY2lkZWQgYWdh aW5zdCBpdCBiZWNhdXNlLCBhdCBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUsCi10aGUgcHJlc2Vu Y2Ugb2YgUHlFdmFsX0luaXRUaHJlYWRzKCkgd2l0aG91dCBzb21lIGV4cGxhbmF0aW9uIHdpbGwg YmUKLWNvbmZ1c2luZyB0byBhIHJlYWRlciB3aG8gd29uJ3QgYmUgYWJsZSB0byBmaW5kIFB5RXZh bF9Jbml0VGhyZWFkcyBpbgotdGhlIGN1cnJlbnQgKGZ1dHVyZSBmb3IgdXMpIFB5dGhvbiBBUEku ICBJTU8sIHVzZSBvZiB0aGUgI2lmIGFsb25nCi13aXRoIGFuIGFjY29tcGFueWluZyBjb21tZW50 IHNlZW1lZCBtb3JlIHN0cmFpZ2h0Zm9yd2FyZC4KLQotZ2RiL0NoYW5nZUxvZzoKLQotCSogcHl0 aG9uL3B5dGhvbi5jIChkb19zdGFydF9pbml0aWFsaXphdGlvbik6IERvbid0IGNhbGwKLQlQeUV2 YWxfSW5pdFRocmVhZHMgZm9yIFB5dGhvbiAzLjkgYW5kIGJleW9uZC4KLQotQ2hhbmdlLUlkOiBJ MDY3OWZjMTBiNmI3Njc2MWE5OTUzODU2OGYxMzE4OGM2ZDgwMTRlMAotCi1kaWZmIC0tZ2l0IGEv Z2RiL3B5dGhvbi9weXRob24uYyBiL2dkYi9weXRob24vcHl0aG9uLmMKLS0tLSBhL2dkYi9weXRo b24vcHl0aG9uLmMKLSsrKyBiL2dkYi9weXRob24vcHl0aG9uLmMKLUBAIC0xNjE4LDcgKzE2MTgs MTIgQEAgZG9fc3RhcnRfaW5pdGlhbGl6YXRpb24gKCkKLSAjZW5kaWYKLSAKLSAgIFB5X0luaXRp YWxpemUgKCk7Ci0rI2lmIFBZX1ZFUlNJT05fSEVYIDwgMHgwMzA5MDAwMAotKyAgLyogUHlFdmFs X0luaXRUaHJlYWRzIGJlY2FtZSBkZXByZWNhdGVkIGluIFB5dGhvbiAzLjkgYW5kIHdpbGwKLSsg ICAgIGJlIHJlbW92ZWQgaW4gUHl0aG9uIDMuMTEuICBQcmlvciB0byBQeXRob24gMy43LCB0aGlz IGNhbGwgd2FzCi0rICAgICByZXF1aXJlZCB0byBpbml0aWFsaXplIHRoZSBHSUwuICAqLwotICAg UHlFdmFsX0luaXRUaHJlYWRzICgpOwotKyNlbmRpZgotIAotICNpZmRlZiBJU19QWTNLCi0gICBn ZGJfbW9kdWxlID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlICgiX2dkYiIpOwoKZGlmZiAtLWdpdCBh L2dkYi1yaGJ6MTgyOTcwMi1maXgtcHl0aG9uMzkucGF0Y2ggYi9nZGItcmhiejE4Mjk3MDItZml4 LXB5dGhvbjM5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNGVlZjU2Li4w MDAwMDAwCi0tLSBhL2dkYi1yaGJ6MTgyOTcwMi1maXgtcHl0aG9uMzkucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwyMjQgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IEtlaXRoIFNlaXR6IDxrZWl0aHNAcmVkaGF0LmNvbT4KLURhdGU6 IFRodSwgNCBKdW4gMjAyMCAxNzoxNjo0OCAtMDcwMAotU3ViamVjdDogZ2RiLXJoYnoxODI5NzAy LWZpeC1weXRob24zOS5wYXRjaAotCi07OyBCYWNrcG9ydCAiRml4IFB5dGhvbiAzLjkgcmVsYXRl ZCBydW50aW1lIHByb2JsZW1zIgotOzsgS2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29t PiBhbmQgS2VpdGggU2VpdHogPGtlaXRoc0ByZWRoYXQuY29tPgotCi1jb21taXQgYzQ3YmFlODU5 YTVhZjBkOTUyMjRkOTAwMDBkZjBlNTI5ZjdjNWFhMAotQXV0aG9yOiBLZXZpbiBCdWV0dG5lciA8 a2V2aW5iQHJlZGhhdC5jb20+Ci1EYXRlOiAgIFdlZCBNYXkgMjcgMjA6MDU6NDAgMjAyMCAtMDcw MAotCi0gICAgRml4IFB5dGhvbjMuOSByZWxhdGVkIHJ1bnRpbWUgcHJvYmxlbXMKLQotICAgIFB5 dGhvbjMuOWIxIGlzIG5vdyBhdmFpbGFibGUgb24gUmF3aGlkZS4gIEdEQiB3LyBQeXRob24gMy45 IHN1cHBvcnQKLSAgICBjYW4gYmUgYnVpbHQgdXNpbmcgdGhlIGNvbmZpZ3VyZSBzd2l0Y2ggLXdp dGgtcHl0aG9uPS91c3IvYmluL3B5dGhvbjMuOS4KLQotICAgIEF0dGVtcHRpbmcgdG8gcnVuIGdk Yi9QeXRob24zLjkgc2VnZmF1bHRzIG9uIHN0YXJ0dXA6Ci0KLSAgICAgICAgIzAgIDB4MDAwMDdm ZmZmN2IwNTgyYyBpbiBQeUV2YWxfUmVsZWFzZUxvY2sgKCkgZnJvbSAvbGliNjQvbGlicHl0aG9u My45Ci0uc28uMS4wCi0gICAgICAgICMxICAweDAwMDAwMDAwMDA2OWNjYmYgaW4gZG9fc3RhcnRf aW5pdGlhbGl6YXRpb24gKCkKLSAgICAgICAgICAgIGF0IHdvcmt0cmVlLXRlc3QxL2dkYi9weXRo b24vcHl0aG9uLmM6MTc4OQotICAgICAgICAjMiAgX2luaXRpYWxpemVfcHl0aG9uICgpCi0gICAg ICAgICAgICBhdCB3b3JrdHJlZS10ZXN0MS9nZGIvcHl0aG9uL3B5dGhvbi5jOjE4NzcKLSAgICAg ICAgIzMgIDB4MDAwMDAwMDAwMDdhZmIwYSBpbiBpbml0aWFsaXplX2FsbF9maWxlcyAoKSBhdCBp bml0LmM6MjM3Ci0gICAgICAgIC4uLgotCi0gICAgQ29uc3VsdGluZyB0aGUgdGhlIGRvY3VtZW50 YXRpb24uLi4KLQotICAgIGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvYy1hcGkvaW5pdC5odG1s Ci0KLSAgICAuLi53ZSBmaW5kIHRoYXQgUHlFdmFsX1JlbGVhc2VMb2NrKCkgaGFzIGJlZW4gZGVw cmVjYXRlZCBzaW5jZSB2ZXJzaW9uCi0gICAgMy4yLiAgSXQgcmVjb21tZW5kcyB1c2luZyBQeUV2 YWxfU2F2ZVRocmVhZCBvciBQeUV2YWxfUmVsZWFzZVRocmVhZCgpCi0gICAgaW5zdGVhZC4gIElu IGRvX3N0YXJ0X2luaXRpYWxpemF0aW9uLCBpbiBnZGIvcHl0aG9uL3B5dGhvbi5jLCB3ZQotICAg IGNhbiByZXBsYWNlIHRoZSBjYWxscyB0byBQeVRocmVhZFN0YXRlX1N3YXAoKSBhbmQgUHlFdmFs X1JlbGVhc2VMb2NrKCkKLSAgICB3aXRoIGEgc2luZ2xlIGNhbGwgdG8gUHlFdmFsX1NhdmVUaHJl YWQuICAgKFRoYW5rcyB0byBLZWl0aCBTZWl0egotICAgIGZvciB3b3JraW5nIHRoaXMgb3V0LikK LQotICAgIFdpdGggdGhhdCBpbiBwbGFjZSwgR0RCIGdldHMgYSBsaXR0bGUgYml0IGZ1cnRoZXIu ICBJdCBzdGlsbCBkaWVzCi0gICAgb24gc3RhcnR1cCwgYnV0IHRoZSBiYWNrdHJhY2UgaXMgZGlm ZmVyZW50OgotCi0gICAgICAgICMwICAweDAwMDA3ZmZmZjdiMDQzMDYgaW4gUHlPU19JbnRlcnJ1 cHRPY2N1cnJlZCAoKQotICAgICAgICAgICBmcm9tIC9saWI2NC9saWJweXRob24zLjkuc28uMS4w Ci0gICAgICAgICMxICAweDAwMDAwMDAwMDA1NzZlODYgaW4gY2hlY2tfcXVpdF9mbGFnICgpCi0g ICAgICAgICAgICBhdCB3b3JrdHJlZS10ZXN0MS9nZGIvZXh0ZW5zaW9uLmM6Nzc2Ci0gICAgICAg ICMyICAweDAwMDAwMDAwMDA1NzZmOGEgaW4gc2V0X2FjdGl2ZV9leHRfbGFuZyAobm93X2FjdGl2 ZT1ub3dfYWN0aXZlQGVudHJ5PTB4OTgzYzAwIDxleHRlbnNpb25fbGFuZ3VhZ2VfcHl0aG9uPikK LSAgICAgICAgICAgIGF0IHdvcmt0cmVlLXRlc3QxL2dkYi9leHRlbnNpb24uYzo3MDUKLSAgICAg ICAgIzMgIDB4MDAwMDAwMDAwMDY5ZDM5OSBpbiBnZGJweV9lbnRlcjo6Z2RicHlfZW50ZXIgKHRo aXM9MHg3ZmZmZmZmZmQyZDAsCi0gICAgICAgICAgICBnZGJhcmNoPTB4MCwgbGFuZ3VhZ2U9MHgw KQotICAgICAgICAgICAgYXQgd29ya3RyZWUtdGVzdDEvZ2RiL3B5dGhvbi9weXRob24uYzoyMTEK LSAgICAgICAgIzQgIDB4MDAwMDAwMDAwMDY4NmUwMCBpbiBweXRob25fbmV3X2luZmVyaW9yIChp bmY9MHhkZGViMTApCi0gICAgICAgICAgICBhdCB3b3JrdHJlZS10ZXN0MS9nZGIvcHl0aG9uL3B5 LWluZmVyaW9yLmM6MjUxCi0gICAgICAgICM1ICAweDAwMDAwMDAwMDA1ZDlmYjkgaW4gc3RkOjpm dW5jdGlvbjx2b2lkIChpbmZlcmlvciopPjo6b3BlcmF0b3IoKShpbmZlcmlvciopIGNvbnN0IChf X2FyZ3MjMD08b3B0aW1pemVkIG91dD4sIHRoaXM9MHhjY2FkMjApCi0gICAgICAgICAgICBhdCAv dXNyL2luY2x1ZGUvYysrLzEwL2JpdHMvc3RkX2Z1bmN0aW9uLmg6NjE3Ci0gICAgICAgICM2ICBn ZGI6Om9ic2VydmVyczo6b2JzZXJ2YWJsZTxpbmZlcmlvcio+Ojpub3RpZnkgKGFyZ3MjMD0weGRk ZWIxMCwKLSAgICAgICAgICAgIHRoaXM9PG9wdGltaXplZCBvdXQ+KQotICAgICAgICAgICAgYXQg d29ya3RyZWUtdGVzdDEvZ2RiLy4uL2dkYnN1cHBvcnQvb2JzZXJ2YWJsZS5oOjEwNgotICAgICAg ICAjNyAgYWRkX2luZmVyaW9yX3NpbGVudCAocGlkPTApCi0gICAgICAgICAgICBhdCB3b3JrdHJl ZS10ZXN0MS9nZGIvaW5mZXJpb3IuYzoxMTMKLSAgICAgICAgIzggIDB4MDAwMDAwMDAwMDVkYmNi OCBpbiBpbml0aWFsaXplX2luZmVyaW9ycyAoKQotICAgICAgICAgICAgYXQgd29ya3RyZWUtdGVz dDEvZ2RiL2luZmVyaW9yLmM6OTQ3Ci0gICAgICAgIC4uLgotCi0gICAgV2UgY2hlY2tlZCB3aXRo IHNvbWUgUHl0aG9uIERldmVsb3BlcnMgYW5kIHdlcmUgdG9sZCB0aGF0IHdlIHNob3VsZAotICAg IGFjcXVpcmUgdGhlIEdJTCBwcmlvciB0byBjYWxsaW5nIGFueSBQeXRob24gQyBBUEkgZnVuY3Rp b24uICBXZQotICAgIGRlZmluaXRlbHkgZG9uJ3QgaGF2ZSB0aGUgR0lMIGZvciBjYWxscyBvZiBQ eU9TX0ludGVycnVwdE9jY3VycmVkKCkuCi0KLSAgICBJIG1vdmVkIGNsYXNzX2dkYnB5X2dpbCBl YXJsaWVyIGluIHRoZSBmaWxlIGFuZCB1c2UgaXQgaW4KLSAgICBnZGJweV9jaGVja19xdWl0X2Zs YWcoKSB0byBhY3F1aXJlIChhbmQgYXV0b21hdGljYWxseSByZWxlYXNlKSB0aGUKLSAgICBHSUwu Ci0KLSAgICBXaXRoIHRob3NlIGNoYW5nZXMgaW4gcGxhY2UsIEkgd2FzIGFibGUgdG8gcnVuIHRv IGEgR0RCIHByb21wdC4gIEJ1dCwKLSAgICB3aGVuIHRyeWluZyB0byBxdWl0LCBpdCBzZWdmYXVs dGVkIGFnYWluIGR1ZSB0byBkdWUgdG8gc29tZSBvdGhlcgotICAgIHByb2JsZW1zIHdpdGggZ2Ri cHlfY2hlY2tfcXVpdF9mbGFnKCk6Ci0KLSAgICAgICAgVGhyZWFkIDEgImdkYiIgcmVjZWl2ZWQg c2lnbmFsIFNJR1NFR1YsIFNlZ21lbnRhdGlvbiBmYXVsdC4KLSAgICAgICAgMHgwMDAwN2ZmZmY3 YmJhYjBjIGluIG5ld190aHJlYWRzdGF0ZSAoKSBmcm9tIC9saWI2NC9saWJweXRob24zLjkuc28u MS4wCi0gICAgICAgICh0b3AtZ2RiKSBidCA4Ci0gICAgICAgICMwICAweDAwMDA3ZmZmZjdiYmFi MGMgaW4gbmV3X3RocmVhZHN0YXRlICgpIGZyb20gL2xpYjY0L2xpYnB5dGhvbjMuOS5zby4xLjAK LSAgICAgICAgIzEgIDB4MDAwMDdmZmZmN2FmYTVlYSBpbiBQeUdJTFN0YXRlX0Vuc3VyZS5jb2xk ICgpCi0gICAgICAgICAgIGZyb20gL2xpYjY0L2xpYnB5dGhvbjMuOS5zby4xLjAKLSAgICAgICAg IzIgIDB4MDAwMDAwMDAwMDY5YjU4YyBpbiBnZGJweV9naWw6OmdkYnB5X2dpbCAodGhpcz08c3lu dGhldGljIHBvaW50ZXI+KQotICAgICAgICAgICAgYXQgd29ya3RyZWUtdGVzdDEvZ2RiL3B5dGhv bi9weXRob24uYzoyNzgKLSAgICAgICAgIzMgIGdkYnB5X2NoZWNrX3F1aXRfZmxhZyAoZXh0bGFu Zz08b3B0aW1pemVkIG91dD4pCi0gICAgICAgICAgICBhdCB3b3JrdHJlZS10ZXN0MS9nZGIvcHl0 aG9uL3B5dGhvbi5jOjI3OAotICAgICAgICAjNCAgMHgwMDAwMDAwMDAwNTc2ZTk2IGluIGNoZWNr X3F1aXRfZmxhZyAoKQotICAgICAgICAgICAgYXQgd29ya3RyZWUtdGVzdDEvZ2RiL2V4dGVuc2lv bi5jOjc3NgotICAgICAgICAjNSAgMHgwMDAwMDAwMDAwNTc3MDBjIGluIHJlc3RvcmVfYWN0aXZl X2V4dF9sYW5nIChwcmV2aW91cz0weGU5YzA1MCkKLSAgICAgICAgICAgIGF0IHdvcmt0cmVlLXRl c3QxL2dkYi9leHRlbnNpb24uYzo3MjkKLSAgICAgICAgIzYgIDB4MDAwMDAwMDAwMDg4OTEzYSBp biBkb19teV9jbGVhbnVwcyAoCi0gICAgICAgICAgICBwbXlfY2hhaW49MHhjMzE4NzAgPGZpbmFs X2NsZWFudXBfY2hhaW4+LAotICAgICAgICAgICAgb2xkX2NoYWluPTB4YWU1NzIwIDxzZW50aW5l bF9jbGVhbnVwPikKLSAgICAgICAgICAgIGF0IHdvcmt0cmVlLXRlc3QxL2dkYnN1cHBvcnQvY2xl YW51cHMuY2M6MTMxCi0gICAgICAgICM3ICBkb19maW5hbF9jbGVhbnVwcyAoKQotICAgICAgICAg ICAgYXQgd29ya3RyZWUtdGVzdDEvZ2Ric3VwcG9ydC9jbGVhbnVwcy5jYzoxNDMKLQotICAgIElu IHRoaXMgY2FzZSwgd2UncmUgdHJ5aW5nIHRvIGNhbGwgYSBQeXRob24gQyBBUEkgZnVuY3Rpb24g YWZ0ZXIKLSAgICBQeV9GaW5hbGl6ZSgpIGhhcyBiZWVuIGNhbGxlZCBmcm9tIGZpbmFsaXplX3B5 dGhvbigpLiAgSSBtYWRlCi0gICAgZmluYWxpemVfcHl0aG9uIHNldCBnZGJfcHl0aG9uX2luaXRp YWxpemVkIHRvIGZhbHNlIGFuZCB0aGVuIGNhdXNlCi0gICAgY2hlY2tfcXVpdF9mbGFnKCkgdG8g cmV0dXJuIGVhcmx5IHdoZW4gaXQncyBmYWxzZS4KLQotICAgIFdpdGggdGhlc2UgY2hhbmdlcyBp biBwbGFjZSwgR0RCIHNlZW1zIHRvIGJlIHdvcmtpbmcgYWdhaW4gd2l0aAotICAgIFB5dGhvbjMu OWIxLiAgSSB0aGluayBpdCBsaWtlbHkgdGhhdCB0aGVyZSBhcmUgb3RoZXIgcHJvYmxlbXMgbHVy a2luZy4KLSAgICBJIHdvdWxkbid0IGJlIHN1cnByaXNlZCB0byBmaW5kIHRoYXQgdGhlcmUgYXJl IG90aGVyIGNhbGxzIGludG8gUHl0aG9uCi0gICAgd2hlcmUgd2UgZG9uJ3QgZmlyc3QgbWFrZSBz dXJlIHRoYXQgd2UgaGF2ZSB0aGUgR0lMLiAgRnVydGhlciBjaGFuZ2VzCi0gICAgbWF5IHdlbGwg YmUgbmVlZGVkLgotCi0gICAgSSBzZWUgbm8gcmVncmVzc2lvbnMgdGVzdGluZyBvbiBSYXdoaWRl IHVzaW5nIGEgR0RCIGJ1aWx0IHdpdGggdGhlCi0gICAgZGVmYXVsdCBQeXRob24gdmVyc2lvbiAo My44LjMpIHZlcnN1cyBvbmUgYnVpbHQgdXNpbmcgUHl0aG9uIDMuOWIxLgotCi0gICAgSSd2ZSBh bHNvIHRlc3RlZCBvbiBGZWRvcmEgMjgsIDI5LCAzMCwgMzEsIGFuZCAzMiAoYWxsIHg4Nl82NCkg dXNpbmcKLSAgICB0aGUgZGVmYXVsdCAodGhvdWdoIHVwZGF0ZWQpIHN5c3RlbSBpbnN0YWxsZWQg dmVyc2lvbnMgb2YgUHl0aG9uIG9uCi0gICAgdGhvc2UgT1Nlcy4gIFRoaXMgbWVhbnMgdGhhdCBJ J3ZlIHRlc3RlZCBhZ2FpbnN0IFB5dGhvbiB2ZXJzaW9ucwotICAgIDIuNy4xNSwgMi43LjE3LCAy LjcuMTgsIDMuNy43LCAzLjguMiwgYW5kIDMuOC4zLiAgSW4gZWFjaCBjYXNlIEdEQgotICAgIHN0 aWxsIGJ1aWxkcyB3aXRob3V0IHByb2JsZW0gYW5kIHNob3dzIG5vIHJlZ3Jlc3Npb25zIGFmdGVy IGFwcGx5aW5nCi0gICAgdGhpcyBwYXRjaC4KLQotICAgIGdkYi9DaGFuZ2VMb2c6Ci0KLSAgICAy MDIwLU1NLUREICBLZXZpbiBCdWV0dG5lciAgPGtldmluYkByZWRoYXQuY29tPgotICAgICAgICAg ICAgICAgIEtlaXRoIFNlaXR6ICA8a2VpdGhzQHJlZGhhdC5jb20+Ci0KLSAgICAgICAgICAgICog cHl0aG9uL3B5dGhvbi5jIChkb19zdGFydF9pbml0aWFsaXphdGlvbik6IEZvciBQeXRob24gMy45 IGFuZAotICAgICAgICAgICAgbGF0ZXIsIGNhbGwgUHlFdmFsX1NhdmVUaHJlYWQgaW5zdGVhZCBv ZiBQeUV2YWxfUmVsZWFzZUxvY2suCi0gICAgICAgICAgICAoY2xhc3MgZ2RicHlfZ2lsKTogTW92 ZSB0byBlYXJsaWVyIGluIGZpbGUuCi0gICAgICAgICAgICAoZmluYWxpemVfcHl0aG9uKTogU2V0 IGdkYl9weXRob25faW5pdGlhbGl6ZWQuCi0gICAgICAgICAgICAoZ2RicHlfY2hlY2tfcXVpdF9m bGFnKTogQWNxdWlyZSBHSUwgdmlhIGdkYnB5X2dpbC4gIFJldHVybiBlYXJseQotICAgICAgICAg ICAgd2hlbiBub3QgaW5pdGlhbGl6ZWQuCi0KLWRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5dGhv bi5jIGIvZ2RiL3B5dGhvbi9weXRob24uYwotLS0tIGEvZ2RiL3B5dGhvbi9weXRob24uYwotKysr IGIvZ2RiL3B5dGhvbi9weXRob24uYwotQEAgLTIzNCw2ICsyMzQsMzAgQEAgZ2RicHlfZW50ZXI6 On5nZGJweV9lbnRlciAoKQotICAgUHlHSUxTdGF0ZV9SZWxlYXNlIChtX3N0YXRlKTsKLSB9Ci0g Ci0rLyogQSBoZWxwZXIgY2xhc3MgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUgR0lMLCBidXQgd2l0 aG91dCB0b3VjaGluZwotKyAgIHRoZSBvdGhlciBnbG9iYWxzIHRoYXQgYXJlIGhhbmRsZWQgYnkg Z2RicHlfZW50ZXIuICAqLwotKwotK2NsYXNzIGdkYnB5X2dpbAotK3sKLStwdWJsaWM6Ci0rCi0r ICBnZGJweV9naWwgKCkKLSsgICAgOiBtX3N0YXRlIChQeUdJTFN0YXRlX0Vuc3VyZSAoKSkKLSsg IHsKLSsgIH0KLSsKLSsgIH5nZGJweV9naWwgKCkKLSsgIHsKLSsgICAgUHlHSUxTdGF0ZV9SZWxl YXNlIChtX3N0YXRlKTsKLSsgIH0KLSsKLSsgIERJU0FCTEVfQ09QWV9BTkRfQVNTSUdOIChnZGJw eV9naWwpOwotKwotK3ByaXZhdGU6Ci0rCi0rICBQeUdJTFN0YXRlX1NUQVRFIG1fc3RhdGU7Ci0r fTsKLSsKLSAvKiBTZXQgdGhlIHF1aXQgZmxhZy4gICovCi0gCi0gc3RhdGljIHZvaWQKLUBAIC0y NDcsNiArMjcxLDEwIEBAIGdkYnB5X3NldF9xdWl0X2ZsYWcgKGNvbnN0IHN0cnVjdCBleHRlbnNp b25fbGFuZ3VhZ2VfZGVmbiAqZXh0bGFuZykKLSBzdGF0aWMgaW50Ci0gZ2RicHlfY2hlY2tfcXVp dF9mbGFnIChjb25zdCBzdHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX2RlZm4gKmV4dGxhbmcpCi0g ewotKyAgaWYgKCFnZGJfcHl0aG9uX2luaXRpYWxpemVkKQotKyAgICByZXR1cm4gMDsKLSsKLSsg IGdkYnB5X2dpbCBnaWw7Ci0gICByZXR1cm4gUHlPU19JbnRlcnJ1cHRPY2N1cnJlZCAoKTsKLSB9 Ci0gCi1AQCAtOTI0LDMwICs5NTIsNiBAQCBnZGJweV9zb3VyY2Vfc2NyaXB0IChjb25zdCBzdHJ1 Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX2RlZm4gKmV4dGxhbmcsCi0gCi0gLyogUG9zdGluZyBhbmQg aGFuZGxpbmcgZXZlbnRzLiAgKi8KLSAKLS0vKiBBIGhlbHBlciBjbGFzcyB0byBzYXZlIGFuZCBy ZXN0b3JlIHRoZSBHSUwsIGJ1dCB3aXRob3V0IHRvdWNoaW5nCi0tICAgdGhlIG90aGVyIGdsb2Jh bHMgdGhhdCBhcmUgaGFuZGxlZCBieSBnZGJweV9lbnRlci4gICovCi0tCi0tY2xhc3MgZ2RicHlf Z2lsCi0tewotLXB1YmxpYzoKLS0KLS0gIGdkYnB5X2dpbCAoKQotLSAgICA6IG1fc3RhdGUgKFB5 R0lMU3RhdGVfRW5zdXJlICgpKQotLSAgewotLSAgfQotLQotLSAgfmdkYnB5X2dpbCAoKQotLSAg ewotLSAgICBQeUdJTFN0YXRlX1JlbGVhc2UgKG1fc3RhdGUpOwotLSAgfQotLQotLSAgRElTQUJM RV9DT1BZX0FORF9BU1NJR04gKGdkYnB5X2dpbCk7Ci0tCi0tcHJpdmF0ZToKLS0KLS0gIFB5R0lM U3RhdGVfU1RBVEUgbV9zdGF0ZTsKLS19OwotLQotIC8qIEEgc2luZ2xlIGV2ZW50LiAgKi8KLSBz dHJ1Y3QgZ2RicHlfZXZlbnQKLSB7Ci1AQCAtMTU0OCw2ICsxNTUyLDcgQEAgZmluYWxpemVfcHl0 aG9uICh2b2lkICppZ25vcmUpCi0gCi0gICBQeV9GaW5hbGl6ZSAoKTsKLSAKLSsgIGdkYl9weXRo b25faW5pdGlhbGl6ZWQgPSBmYWxzZTsKLSAgIHJlc3RvcmVfYWN0aXZlX2V4dF9sYW5nIChwcmV2 aW91c19hY3RpdmUpOwotIH0KLSAKLUBAIC0xNzIwLDggKzE3MjUsNyBAQCBkb19zdGFydF9pbml0 aWFsaXphdGlvbiAoKQotICAgICByZXR1cm4gZmFsc2U7Ci0gCi0gICAvKiBSZWxlYXNlIHRoZSBH SUwgd2hpbGUgZ2RiIHJ1bnMuICAqLwotLSAgUHlUaHJlYWRTdGF0ZV9Td2FwIChOVUxMKTsKLS0g IFB5RXZhbF9SZWxlYXNlTG9jayAoKTsKLSsgIFB5RXZhbF9TYXZlVGhyZWFkICgpOwotIAotICAg bWFrZV9maW5hbF9jbGVhbnVwIChmaW5hbGl6ZV9weXRob24sIE5VTEwpOwotIAoKZGlmZiAtLWdp dCBhL2dkYi1yaGJ6MTgzODc3Ny1kZWJ1Z2luZm9kLnBhdGNoIGIvZ2RiLXJoYnoxODM4Nzc3LWRl YnVnaW5mb2QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjOTE4NTEuLjAw MDAwMDAKLS0tIGEvZ2RiLXJoYnoxODM4Nzc3LWRlYnVnaW5mb2QucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwxMTg4ICswLDAgQEAKLUZyb20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBLZWl0aCBTZWl0eiA8a2VpdGhzQHJlZGhhdC5jb20+Ci1EYXRlOiBU dWUsIDkgSnVuIDIwMjAgMDg6Mjk6NDEgLTA3MDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTgzODc3Ny1k ZWJ1Z2luZm9kLnBhdGNoCi0KLTs7IEJhY2twb3J0IGRlYnVnaW5vZmQgc3VwcG9ydC4KLTs7IChB YXJvbiBNZXJleSwgUkggQlogMTgzODc3KQotCi1jb21taXQgMGQ3OWNkYzQ5NGQ1ZWI5ZGIyNmE2 MDJkNjJjOTJkNDlmODNmNDA3ZQotQXV0aG9yOiBBYXJvbiBNZXJleSA8YW1lcmV5QHJlZGhhdC5j b20+Ci1EYXRlOiAgIFdlZCBGZWIgMjYgMTc6NDA6NDkgMjAyMCAtMDUwMAotCi0gICAgQWRkIGRl YnVnaW5mb2Qgc3VwcG9ydCB0byBHREIKLQotICAgIGRlYnVnaW5mb2QgaXMgYSBsaWdodHdlaWdo dCB3ZWIgc2VydmljZSB0aGF0IGluZGV4ZXMgRUxGL0RXQVJGIGRlYnVnZ2luZwotICAgIHJlc291 cmNlcyBieSBidWlsZC1pZCBhbmQgc2VydmVzIHRoZW0gb3ZlciBIVFRQLgotCi0gICAgVGhpcyBw YXRjaCBlbmFibGVzIEdEQiB0byBxdWVyeSBkZWJ1Z2luZm9kIHNlcnZlcnMgZm9yIHNlcGFyYXRl IGRlYnVnCi0gICAgZmlsZXMgYW5kIHNvdXJjZSBjb2RlIHdoZW4gaXQgaXMgb3RoZXJ3aXNlIG5v dCBhYmxlIHRvIGZpbmQgdGhlbS4KLQotICAgIEdEQiBjYW4gYmUgYnVpbHQgd2l0aCBkZWJ1Z2lu Zm9kIHVzaW5nIHRoZSAtLXdpdGgtZGVidWdpbmZvZCBjb25maWd1cmUKLSAgICBvcHRpb24uCi0K LSAgICBUaGlzIHJlcXVpcmVzIHRoYXQgbGliZGVidWdpbmZvZCBiZSBpbnN0YWxsZWQgYW5kIGZv dW5kIGF0IGNvbmZpZ3VyZSB0aW1lLgotCi0gICAgZGVidWdpbmZvZCBpcyBwYWNrYWdlZCB3aXRo IGVsZnV0aWxzLCBzdGFydGluZyB3aXRoIHZlcnNpb24gMC4xNzguCi0KLSAgICBGb3IgbW9yZSBp bmZvcm1hdGlvbiBzZWUgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9lbGZ1dGlscy8uCi0KLSAgICBU ZXN0ZWQgb24geDg2XzY0IEZlZG9yYSAzMS4KLQotICAgIGdkYi9DaGFuZ2VMb2c6Ci0gICAgMjAy MC0wMi0yNiAgQWFyb24gTWVyZXkgIDxhbWVyZXlAcmVkaGF0LmNvbT4KLQotICAgICAgICAgICAg KiBNYWtlZmlsZS5pbjogSGFuZGxlIG9wdGlvbmFsIGRlYnVnaW5mb2Qgc3VwcG9ydC4KLSAgICAg ICAgICAgICogTkVXUzogVXBkYXRlLgotICAgICAgICAgICAgKiBSRUFETUU6IEFkZCAtLXdpdGgt ZGVidWdpbmZvZCBzdW1tYXJ5LgotICAgICAgICAgICAgKiBjb25maWcuaW46IFJlZ2VuZXJhdGUu Ci0gICAgICAgICAgICAqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KLSAgICAgICAgICAgICogY29u ZmlndXJlLmFjOiBIYW5kbGUgb3B0aW9uYWwgZGVidWdpbmZvZCBzdXBwb3J0LgotICAgICAgICAg ICAgKiBkZWJ1Z2luZm9kLXN1cHBvcnQuYzogZGVidWdpbmZvZCBoZWxwZXIgZnVuY3Rpb25zLgot ICAgICAgICAgICAgKiBkZWJ1Z2luZm9kLXN1cHBvcnQuaDogRGl0dG8uCi0gICAgICAgICAgICAq IGRvYy9nZGIudGV4aW5mbzogQWRkIC0td2l0aC1kZWJ1Z2luZm9kIHRvIGNvbmZpZ3VyZSBvcHRp b25zCi0gICAgICAgICAgICBzdW1tYXJ5LgotICAgICAgICAgICAgKiBkd2FyZjIvcmVhZC5jIChk d2FyZjJfZ2V0X2R3el9maWxlKTogUXVlcnkgZGVidWdpbmZvZCBzZXJ2ZXJzCi0gICAgICAgICAg ICB3aGVuIGEgZHd6IGZpbGUgY2Fubm90IGJlIGZvdW5kLgotICAgICAgICAgICAgKiBlbGZyZWFk LmMgKGVsZl9zeW1maWxlX3JlYWQpOiBRdWVyeSBkZWJ1Z2luZm9kIHNlcnZlcnMgd2hlbiBhCi0g ICAgICAgICAgICBkZWJ1Z2luZm8gZmlsZSBjYW5ub3QgYmUgZm91bmQuCi0gICAgICAgICAgICAq IHNvdXJjZS5jIChvcGVuX3NvdXJjZV9maWxlKTogUXVlcnkgZGVidWdpbmZvZCBzZXJ2ZXJzIHdo ZW4gYQotICAgICAgICAgICAgc291cmNlIGZpbGUgY2Fubm90IGJlIGZvdW5kLgotICAgICAgICAg ICAgKiB0b3AuYyAocHJpbnRfZ2RiX2NvbmZpZ3VyYXRpb24pOiBJbmNsdWRlCi0gICAgICAgICAg ICAtLXt3aXRoLHdpdGhvdXR9LWRlYnVnaW5mb2QgaW4gdGhlIG91dHB1dC4KLQotICAgIGdkYi90 ZXN0c3VpdGUvQ2hhbmdlTG9nOgotICAgIDIwMjAtMDItMjYgIEFhcm9uIE1lcmV5ICA8YW1lcmV5 QHJlZGhhdC5jb20+Ci0KLSAgICAgICAgICAgICogZ2RiLmRlYnVnaW5mb2Q6IE5ldyBkaXJlY3Rv cnkgZm9yIGRlYnVnaW5mb2QgdGVzdHMuCi0gICAgICAgICAgICAqIGdkYi5kZWJ1Z2luZm9kL21h aW4uYzogTmV3IHRlc3QgZmlsZS4KLSAgICAgICAgICAgICogZ2RiLmRlYnVnaW5mb2QvZmV0Y2hf c3JjX2FuZF9zeW1ib2xzLmV4cDogTmV3IHRlc3RzLgotCi1kaWZmIC0tZ2l0IGEvY29uZmlnL2Rl YnVnaW5mb2QubTQgYi9jb25maWcvZGVidWdpbmZvZC5tNAotbmV3IGZpbGUgbW9kZSAxMDA2NDQK LS0tLSAvZGV2L251bGwKLSsrKyBiL2NvbmZpZy9kZWJ1Z2luZm9kLm00Ci1AQCAtMCwwICsxLDM4 IEBACi0rZG5sIENvcHlyaWdodCAoQykgMTk5Ny0yMDE5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgotK2RubCBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZSwgZGlzdHJpYnV0ZWQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUKLStkbmwgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIEFz IGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsCi0rZG5sIFB1YmxpYyBMaWNl bnNlLCB0aGlzIGZpbGUgbWF5IGJlIGRpc3RyaWJ1dGVkIGFzIHBhcnQgb2YgYSBwcm9ncmFtCi0r ZG5sIHRoYXQgY29udGFpbnMgYSBjb25maWd1cmF0aW9uIHNjcmlwdCBnZW5lcmF0ZWQgYnkgQXV0 b2NvbmYsIHVuZGVyCi0rZG5sIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyBhcyB0aGUgcmVz dCBvZiB0aGF0IHByb2dyYW0uCi0rCi0rQUNfREVGVU4oW0FDX0RFQlVHSU5GT0RdLAotK1sKLSsj IEVuYWJsZSBkZWJ1Z2luZm9kCi0rQUNfQVJHX1dJVEgoW2RlYnVnaW5mb2RdLAotKyAgICAgICAg QUNfSEVMUF9TVFJJTkcoWy0td2l0aC1kZWJ1Z2luZm9kXSwKLSsgICAgICAgICAgICAgICAgICAg ICAgIFtFbmFibGUgZGVidWdpbmZvIGxvb2t1cHMgd2l0aCBkZWJ1Z2luZm9kIChhdXRvL3llcy9u byldKSwKLSsgICAgICAgIFtdLCBbd2l0aF9kZWJ1Z2luZm9kPWF1dG9dKQotK0FDX01TR19DSEVD S0lORyhbd2hldGhlciB0byB1c2UgZGVidWdpbmZvZF0pCi0rQUNfTVNHX1JFU1VMVChbJHdpdGhf ZGVidWdpbmZvZF0pCi0rCi0raWYgdGVzdCAiJHt3aXRoX2RlYnVnaW5mb2R9IiA9IG5vOyB0aGVu Ci0rICBBQ19NU0dfV0FSTihbZGVidWdpbmZvZCBzdXBwb3J0IGRpc2FibGVkOyBzb21lIGZlYXR1 cmVzIG1heSBiZSB1bmF2YWlsYWJsZS5dKQotK2Vsc2UKLSsgIEFDX0NIRUNLX0xJQihbZGVidWdp bmZvZF0sIFtkZWJ1Z2luZm9kX2JlZ2luXSwgW2hhdmVfZGVidWdpbmZvZF9saWI9eWVzXSkKLSsg IEFDX0NIRUNLX0RFQ0woW2RlYnVnaW5mb2RfYmVnaW5dLCBbaGF2ZV9kZWJ1Z2luZm9kX2g9eWVz XSwgW10sCi0rICAgICAgICAgICAgICAgIFsjaW5jbHVkZSA8ZWxmdXRpbHMvZGVidWdpbmZvZC5o Pl0pCi0rICBpZiB0ZXN0ICJ4JGhhdmVfZGVidWdpbmZvZF9saWIiID0gInh5ZXMiIC1hIFwKLSsg ICAgICAgICAgIngkaGF2ZV9kZWJ1Z2luZm9kX2giID0gInh5ZXMiOyB0aGVuCi0rICAgIEFDX0RF RklORShbSEFWRV9MSUJERUJVR0lORk9EXSwgWzFdLAotKyAgICAgICAgICAgICAgW0RlZmluZSB0 byAxIGlmIGRlYnVnaW5mb2QgaXMgZW5hYmxlZC5dKQotKyAgICBBQ19TVUJTVChbTElCREVCVUdJ TkZPRF0sIFsiLWxkZWJ1Z2luZm9kIl0pCi0rICBlbHNlCi0rICAgIEFDX1NVQlNUKFtMSUJERUJV R0lORk9EXSwgW10pCi0rICAgIGlmIHRlc3QgIiR3aXRoX2RlYnVnaW5mb2QiID0geWVzOyB0aGVu Ci0rICAgICAgQUNfTVNHX0VSUk9SKFtkZWJ1Z2luZm9kIGlzIG1pc3Npbmcgb3IgdW51c2FibGVd KQotKyAgICBlbHNlCi0rICAgICAgQUNfTVNHX1dBUk4oW2RlYnVnaW5mb2QgaXMgbWlzc2luZyBv ciB1bnVzYWJsZTsgc29tZSBmZWF0dXJlcyBtYXkgYmUgdW5hdmFpbGFibGUuXSkKLSsgICAgZmkK LSsgIGZpCi0rZmkKLStdKQotZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtl ZmlsZS5pbgotLS0tIGEvZ2RiL01ha2VmaWxlLmluCi0rKysgYi9nZGIvTWFrZWZpbGUuaW4KLUBA IC02MTIsNyArNjEyLDggQEAgQ0xJQlMgPSAkKFNJTSkgJChSRUFETElORSkgJChPUENPREVTKSAk KEJGRCkgJChMSUJDVEYpICQoWkxJQikgXAotIAlATElCU0AgQEdVSUxFX0xJQlNAIEBQWVRIT05f TElCU0AgXAotIAkkKExJQkVYUEFUKSAkKExJQkxaTUEpICQoTElCQkFCRUxUUkFDRSkgJChMSUJJ UFQpIFwKLSAJJChMSUJJQkVSVFkpICQoV0lOMzJMSUJTKSAkKExJQkdOVSkgJChMSUJJQ09OVikg JChMSUJNUEZSKSBcCi0tCSQoU1JDSElHSF9MSUJTKSAkKExJQlhYSEFTSCkgJChQVEhSRUFEX0xJ QlMpCi0rCSQoU1JDSElHSF9MSUJTKSAkKExJQlhYSEFTSCkgJChQVEhSRUFEX0xJQlMpIFwKLSsJ QExJQkRFQlVHSU5GT0RACi0gQ0RFUFMgPSAkKE5BVF9DREVQUykgJChTSU0pICQoQkZEKSAkKFJF QURMSU5FX0RFUFMpICQoTElCQ1RGKSBcCi0gCSQoT1BDT0RFUykgJChJTlRMX0RFUFMpICQoTElC SUJFUlRZKSAkKENPTkZJR19ERVBTKSAkKExJQkdOVSkKLSAKLUBAIC0xMDE2LDYgKzEwMTcsNyBA QCBDT01NT05fU0ZJTEVTID0gXAotIAlkYnhyZWFkLmMgXAotIAlkY2FjaGUuYyBcCi0gCWRlYnVn LmMgXAotKwlkZWJ1Z2luZm9kLXN1cHBvcnQuYyBcCi0gCWRpY3Rpb25hcnkuYyBcCi0gCWRpc2Fz bS5jIFwKLSAJZGlzYXNtLXNlbGZ0ZXN0cy5jIFwKLWRpZmYgLS1naXQgYS9nZGIvTkVXUyBiL2dk Yi9ORVdTCi0tLS0gYS9nZGIvTkVXUwotKysrIGIvZ2RiL05FV1MKLUBAIC05MzIsNiArOTMyLDIw IEBAIFNILTUvU0g2NCBydW5uaW5nIE9wZW5CU0QgCVNILTUvU0g2NCBzdXBwb3J0IGluIHNoKi0q LW9wZW5ic2QqCi0gICAgICBtYW51YWwgZm9yIGEgZnVydGhlciBkZXNjcmlwdGlvbiBvZiB0aGlz IGZlYXR1cmUuCi0gCi0gCi0rKiBHREIgbm93IHN1cHBvcnRzIGRlYnVnaW5mb2QsIGFuIEhUVFAg c2VydmVyIGZvciBkaXN0cmlidXRpbmcgRUxGL0RXQVJGCi0rICBkZWJ1Z2dpbmcgaW5mb3JtYXRp b24gYXMgd2VsbCBhcyBzb3VyY2UgY29kZS4KLSsKLSsgIFdoZW4gYnVpbHQgd2l0aCBkZWJ1Z2lu Zm9kLCBHREIgY2FuIGF1dG9tYXRpY2FsbHkgcXVlcnkgZGVidWdpbmZvZAotKyAgc2VydmVycyBm b3IgdGhlIHNlcGFyYXRlIGRlYnVnIGZpbGVzIGFuZCBzb3VyY2UgY29kZSBvZiB0aGUgZXhlY3V0 YWJsZQotKyAgYmVpbmcgZGVidWdnZWQuCi0rCi0rICBUbyBidWlsZCBHREIgd2l0aCBkZWJ1Z2lu Zm9kLCBwYXNzIC0td2l0aC1kZWJ1Z2luZm9kIHRvIGNvbmZpZ3VyZSAodGhpcwotKyAgcmVxdWly ZXMgbGliZGVidWdpbmZvZCwgdGhlIGRlYnVnaW5mb2QgY2xpZW50IGxpYnJhcnkpLgotKwotKyAg ZGVidWdpbmZvZCBpcyBkaXN0cmlidXRlZCB3aXRoIGVsZnV0aWxzLCBzdGFydGluZyB3aXRoIHZl cnNpb24gMC4xNzguCi0rCi0rICBZb3UgY2FuIGdldCB0aGUgbGF0ZXN0IHZlcnNpb24gZnJvbSBo dHRwczovL3NvdXJjZXdhcmUub3JnL2VsZnV0aWxzLgotKwotICogTmV3IGZlYXR1cmVzIGluIHRo ZSBHREIgcmVtb3RlIHN0dWIsIEdEQnNlcnZlcgotIAotICAgKiogR0RCc2VydmVyIGlzIG5vdyBh YmxlIHRvIHN0YXJ0IGluZmVyaW9yIHByb2Nlc3NlcyB3aXRoIGEKLWRpZmYgLS1naXQgYS9nZGIv UkVBRE1FIGIvZ2RiL1JFQURNRQotLS0tIGEvZ2RiL1JFQURNRQotKysrIGIvZ2RiL1JFQURNRQot QEAgLTQzMiw2ICs0MzIsMTUgQEAgbW9yZSBvYnNjdXJlIEdEQiBgY29uZmlndXJlJyBvcHRpb25z IGFyZSBub3QgbGlzdGVkIGhlcmUuCi0gICAgICBVc2UgdGhlIGN1cnNlcyBsaWJyYXJ5IGluc3Rl YWQgb2YgdGhlIHRlcm1jYXAgbGlicmFyeSwgZm9yCi0gICAgICB0ZXh0LW1vZGUgdGVybWluYWwg b3BlcmF0aW9ucy4KLSAKLStgLS13aXRoLWRlYnVnaW5mb2QnCi0rICAgICBCdWlsZCBHREIgd2l0 aCBsaWJkZWJ1Z2luZm9kLCB0aGUgZGVidWdpbmZvZCBjbGllbnQgbGlicmFyeS4gIFVzZWQKLSsg ICAgIHRvIGF1dG9tYXRpY2FsbHkgZmV0Y2ggc291cmNlIGZpbGVzIGFuZCBzZXBhcmF0ZSBkZWJ1 ZyBmaWxlcyBmcm9tCi0rICAgICBkZWJ1Z2luZm9kIHNlcnZlcnMgdXNpbmcgdGhlIGFzc29jaWF0 ZWQgZXhlY3V0YWJsZSdzIGJ1aWxkIElELgotKyAgICAgRW5hYmxlZCBieSBkZWZhdWx0IGlmIGxp YmRlYnVnaW5mb2QgaXMgaW5zdGFsbGVkIGFuZCBmb3VuZCBhdAotKyAgICAgY29uZmlndXJlIHRp bWUuICBkZWJ1Z2luZm9kIGlzIHBhY2thZ2VkIHdpdGggZWxmdXRpbHMsIHN0YXJ0aW5nCi0rICAg ICB3aXRoIHZlcnNpb24gMC4xNzguICBZb3UgY2FuIGdldCB0aGUgbGF0ZXN0IHZlcnNpb24gZnJv bQotKyAgICAgJ2h0dHBzOi8vc291cmNld2FyZS5vcmcvZWxmdXRpbHMvJy4KLSsKLSBgLS13aXRo LWxpYnVud2luZC1pYTY0JwotICAgICAgVXNlIHRoZSBsaWJ1bndpbmQgbGlicmFyeSBmb3IgdW53 aW5kaW5nIGZ1bmN0aW9uIGNhbGwgc3RhY2sgb24gaWE2NAotICAgICAgdGFyZ2V0IHBsYXRmb3Jt cy4KLWRpZmYgLS1naXQgYS9nZGIvY29uZmlnLmluIGIvZ2RiL2NvbmZpZy5pbgotLS0tIGEvZ2Ri L2NvbmZpZy5pbgotKysrIGIvZ2RiL2NvbmZpZy5pbgotQEAgLTIzMCw2ICsyMzAsOSBAQAotIC8q IERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgYmFiZWx0cmFjZSBsaWJyYXJ5LiAqLwotICN1bmRlZiBI QVZFX0xJQkJBQkVMVFJBQ0UKLSAKLSsvKiBEZWZpbmUgdG8gMSBpZiBkZWJ1Z2luZm9kIGlzIGVu YWJsZWQuICovCi0rI3VuZGVmIEhBVkVfTElCREVCVUdJTkZPRAotKwotIC8qIERlZmluZSBpZiB5 b3UgaGF2ZSB0aGUgZXhwYXQgbGlicmFyeS4gKi8KLSAjdW5kZWYgSEFWRV9MSUJFWFBBVAotIAot ZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUgYi9nZGIvY29uZmlndXJlCi0tLS0gYS9nZGIvY29u ZmlndXJlCi0rKysgYi9nZGIvY29uZmlndXJlCi1AQCAtNzU4LDYgKzc1OCw3IEBAIFJFUE9SVF9C VUdTX1RFWEkKLSBSRVBPUlRfQlVHU19UTwotIFBLR1ZFUlNJT04KLSBDT0RFU0lHTl9DRVJUCi0r TElCREVCVUdJTkZPRAotIEhBVkVfTkFUSVZFX0dDT1JFX1RBUkdFVAotIFRBUkdFVF9PQlMKLSBz dWJkaXJzCi1AQCAtODc1LDYgKzg3Niw3IEBAIGVuYWJsZV82NF9iaXRfYmZkCi0gZW5hYmxlX2dk Ym1pCi0gZW5hYmxlX3R1aQotIGVuYWJsZV9nZGJ0awotK3dpdGhfZGVidWdpbmZvZAotIHdpdGhf bGlidW53aW5kX2lhNjQKLSB3aXRoX2N1cnNlcwotIGVuYWJsZV9wcm9maWxpbmcKLUBAIC0xNjEx LDYgKzE2MTMsOCBAQCBPcHRpb25hbCBQYWNrYWdlczoKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRvIG5vdCByZXN0cmljdCBhdXRvLWxvYWRlZCBmaWxlcyBsb2NhdGlvbnMKLSAgIC0td2l0 aC1ycG0gICAgICAgICAgICAgIHF1ZXJ5IHJwbSBkYXRhYmFzZSBmb3IgbWlzc2luZyBkZWJ1Z2lu Zm9zICh5ZXMvbm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBkZWYuIGF1dG89bGlicnBt LnNvKQotKyAgLS13aXRoLWRlYnVnaW5mb2QgICAgICAgRW5hYmxlIGRlYnVnaW5mbyBsb29rdXBz IHdpdGggZGVidWdpbmZvZAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGF1dG8veWVzL25v KQotICAgLS13aXRoLWxpYnVud2luZC1pYTY0ICAgdXNlIGxpYnVud2luZCBmcmFtZSB1bndpbmRp bmcgZm9yIGlhNjQgdGFyZ2V0cwotICAgLS13aXRoLWN1cnNlcyAgICAgICAgICAgdXNlIHRoZSBj dXJzZXMgbGlicmFyeSBpbnN0ZWFkIG9mIHRoZSB0ZXJtY2FwCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICBsaWJyYXJ5Ci1AQCAtMjI3MSw2ICsyMjc1LDUyIEBAIHJtIC1mIGNvbmZ0ZXN0LnZh bAotIAotIH0gIyBhY19mbl9jX2NvbXB1dGVfaW50Ci0gCi0rIyBhY19mbl9jX2NoZWNrX2RlY2wg TElORU5PIFNZTUJPTCBWQVIgSU5DTFVERVMKLSsjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQotKyMgVGVzdHMgd2hldGhlciBTWU1CT0wgaXMgZGVjbGFyZWQg aW4gSU5DTFVERVMsIHNldHRpbmcgY2FjaGUgdmFyaWFibGUgVkFSCi0rIyBhY2NvcmRpbmdseS4K LSthY19mbl9jX2NoZWNrX2RlY2wgKCkKLSt7Ci0rICBhc19saW5lbm89JHthc19saW5lbm8tIiQx In0gYXNfbGluZW5vX3N0YWNrPWFzX2xpbmVub19zdGFjaz0kYXNfbGluZW5vX3N0YWNrCi0rICBh c19kZWNsX25hbWU9YGVjaG8gJDJ8c2VkICdzLyAqKC4qLy8nYAotKyAgYXNfZGVjbF91c2U9YGVj aG8gJDJ8c2VkIC1lICdzLygvKCgvJyAtZSAncy8pLykgMCYvJyAtZSAncy8sLykgMCYgKC9nJ2AK LSsgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hl dGhlciAkYXNfZGVjbF9uYW1lIGlzIGRlY2xhcmVkIiA+JjUKLSskYXNfZWNob19uICJjaGVja2lu ZyB3aGV0aGVyICRhc19kZWNsX25hbWUgaXMgZGVjbGFyZWQuLi4gIiA+JjY7IH0KLStpZiBldmFs IFwkeyQzKzp9IGZhbHNlOyB0aGVuIDoKLSsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci0r ZWxzZQotKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotKy8q IGVuZCBjb25mZGVmcy5oLiAgKi8KLSskNAotK2ludAotK21haW4gKCkKLSt7Ci0rI2lmbmRlZiAk YXNfZGVjbF9uYW1lCi0rI2lmZGVmIF9fY3BsdXNwbHVzCi0rICAodm9pZCkgJGFzX2RlY2xfdXNl OwotKyNlbHNlCi0rICAodm9pZCkgJGFzX2RlY2xfbmFtZTsKLSsjZW5kaWYKLSsjZW5kaWYKLSsK LSsgIDsKLSsgIHJldHVybiAwOwotK30KLStfQUNFT0YKLStpZiBhY19mbl9jX3RyeV9jb21waWxl ICIkTElORU5PIjsgdGhlbiA6Ci0rICBldmFsICIkMz15ZXMiCi0rZWxzZQotKyAgZXZhbCAiJDM9 bm8iCi0rZmkKLStybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNv bmZ0ZXN0LiRhY19leHQKLStmaQotK2V2YWwgYWNfcmVzPVwkJDMKLSsJICAgICAgIHsgJGFzX2Vj aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfcmVzIiA+JjUKLSsk YXNfZWNobyAiJGFjX3JlcyIgPiY2OyB9Ci0rICBldmFsICRhc19saW5lbm9fc3RhY2s7ICR7YXNf bGluZW5vX3N0YWNrOis6fSB1bnNldCBhc19saW5lbm8KLSsKLSt9ICMgYWNfZm5fY19jaGVja19k ZWNsCi0rCi0gIyBhY19mbl9jX2NoZWNrX2Z1bmMgTElORU5PIEZVTkMgVkFSCi0gIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gIyBUZXN0cyB3aGV0aGVyIEZVTkMgZXhpc3Rz LCBzZXR0aW5nIHRoZSBjYWNoZSB2YXJpYWJsZSBWQVIgYWNjb3JkaW5nbHkKLUBAIC0yNDQ5LDUy ICsyNDk5LDYgQEAgJGFzX2VjaG8gIiRhY19yZXMiID4mNjsgfQotIAotIH0gIyBhY19mbl9jX2No ZWNrX3R5cGUKLSAKLS0jIGFjX2ZuX2NfY2hlY2tfZGVjbCBMSU5FTk8gU1lNQk9MIFZBUiBJTkNM VURFUwotLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0t IyBUZXN0cyB3aGV0aGVyIFNZTUJPTCBpcyBkZWNsYXJlZCBpbiBJTkNMVURFUywgc2V0dGluZyBj YWNoZSB2YXJpYWJsZSBWQVIKLS0jIGFjY29yZGluZ2x5LgotLWFjX2ZuX2NfY2hlY2tfZGVjbCAo KQotLXsKLS0gIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNf bGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKLS0gIGFzX2RlY2xfbmFtZT1gZWNobyAkMnxz ZWQgJ3MvICooLiovLydgCi0tICBhc19kZWNsX3VzZT1gZWNobyAkMnxzZWQgLWUgJ3MvKC8oKC8n IC1lICdzLykvKSAwJi8nIC1lICdzLywvKSAwJiAoL2cnYAotLSAgeyAkYXNfZWNobyAiJGFzX21l OiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICRhc19kZWNsX25hbWUgaXMg ZGVjbGFyZWQiID4mNQotLSRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgJGFzX2RlY2xfbmFt ZSBpcyBkZWNsYXJlZC4uLiAiID4mNjsgfQotLWlmIGV2YWwgXCR7JDMrOn0gZmFsc2U7IHRoZW4g OgotLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLS1lbHNlCi0tICBjYXQgY29uZmRlZnMu aCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0tLyogZW5kIGNvbmZkZWZzLmguICAqLwot LSQ0Ci0taW50Ci0tbWFpbiAoKQotLXsKLS0jaWZuZGVmICRhc19kZWNsX25hbWUKLS0jaWZkZWYg X19jcGx1c3BsdXMKLS0gICh2b2lkKSAkYXNfZGVjbF91c2U7Ci0tI2Vsc2UKLS0gICh2b2lkKSAk YXNfZGVjbF9uYW1lOwotLSNlbmRpZgotLSNlbmRpZgotLQotLSAgOwotLSAgcmV0dXJuIDA7Ci0t fQotLV9BQ0VPRgotLWlmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKLS0g IGV2YWwgIiQzPXllcyIKLS1lbHNlCi0tICBldmFsICIkMz1ubyIKLS1maQotLXJtIC1mIGNvcmUg Y29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAotLWZpCi0t ZXZhbCBhY19yZXM9XCQkMwotLQkgICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v LSRMSU5FTk99OiByZXN1bHQ6ICRhY19yZXMiID4mNQotLSRhc19lY2hvICIkYWNfcmVzIiA+JjY7 IH0KLS0gIGV2YWwgJGFzX2xpbmVub19zdGFjazsgJHthc19saW5lbm9fc3RhY2s6Kzp9IHVuc2V0 IGFzX2xpbmVubwotLQotLX0gIyBhY19mbl9jX2NoZWNrX2RlY2wKLS0KLSAjIGFjX2ZuX2N4eF90 cnlfbGluayBMSU5FTk8KLSAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAjIFRyeSB0byBs aW5rIGNvbmZ0ZXN0LiRhY19leHQsIGFuZCByZXR1cm4gd2hldGhlciB0aGlzIHN1Y2NlZWRlZC4K LUBAIC02NjU4LDggKzY2NjIsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyBzcGVjaWZpYyBsaWJy cG0gdmVyc2lvbi4uLiAiID4mNjsgfQotICAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5 ZXM7IHRoZW4gOgotICAgeyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306 IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiY1Ci0gJGFzX2VjaG8gIiRhc19tZTogZXJyb3I6IGlu IFxgJGFjX3B3ZCc6IiA+JjI7fQotLWFzX2ZuX2Vycm9yICJjYW5ub3QgcnVuIHRlc3QgcHJvZ3Jh bSB3aGlsZSBjcm9zcyBjb21waWxpbmcKLS1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRh aWxzLiIgIiRMSU5FTk8iIDU7IH0KLSthc19mbl9lcnJvciAkPyAiY2Fubm90IHJ1biB0ZXN0IHBy b2dyYW0gd2hpbGUgY3Jvc3MgY29tcGlsaW5nCi0rU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUg ZGV0YWlscyIgIiRMSU5FTk8iIDU7IH0KLSBlbHNlCi0gICBjYXQgY29uZmRlZnMuaCAtIDw8X0FD RU9GID5jb25mdGVzdC4kYWNfZXh0Ci0gLyogZW5kIGNvbmZkZWZzLmguICAqLwotQEAgLTY4MzAs NyArNjgzNCw3IEBAICRhc19lY2hvICIjZGVmaW5lIEhBVkVfTElCUlBNIDEiID4+Y29uZmRlZnMu aAotICRhc19lY2hvICJubyIgPiY2OyB9Ci0gICAgIExJQlM9IiRzYXZlX0xJQlMiCi0gICAgIGlm ICRETE9QRU5fUkVRVUlSRTsgdGhlbgotLSAgICAgIGFzX2ZuX2Vycm9yICJTcGVjaWZpYyBuYW1l ICRMSUJSUE0gd2FzIHJlcXVlc3RlZCBidXQgaXQgY291bGQgbm90IGJlIG9wZW5lZC4iICIkTElO RU5PIiA1Ci0rICAgICAgYXNfZm5fZXJyb3IgJD8gIlNwZWNpZmljIG5hbWUgJExJQlJQTSB3YXMg cmVxdWVzdGVkIGJ1dCBpdCBjb3VsZCBub3QgYmUgb3BlbmVkLiIgIiRMSU5FTk8iIDUKLSAgICAg ZmkKLSAKLSAKLUBAIC02ODQ1LDcgKzY4NDksNyBAQCBpZiB0ZXN0ICJ4JGFjX2N2X2Vudl9QS0df Q09ORklHX3NldCIgIT0gInhzZXQiOyB0aGVuCi0gc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9 cGtnLWNvbmZpZzsgYWNfd29yZD0kMgotIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k TElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKLSAkYXNfZWNob19uICJjaGVja2lu ZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLS1pZiB0ZXN0ICIke2FjX2N2X3BhdGhfUEtHX0NP TkZJRytzZXR9IiA9IHNldDsgdGhlbiA6Ci0raWYgJHthY19jdl9wYXRoX1BLR19DT05GSUcrOn0g ZmFsc2U7IHRoZW4gOgotICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLSBlbHNlCi0gICBj YXNlICRQS0dfQ09ORklHIGluCi1AQCAtNjg1OSw3ICs2ODYzLDcgQEAgZG8KLSAgIElGUz0kYXNf c2F2ZV9JRlMKLSAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgIGZvciBhY19l eGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotLSAgaWYgeyB0ZXN0 IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGly LyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotKyAgaWYgYXNfZm5fZXhlY3V0YWJsZV9w ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgotICAgICBhY19jdl9wYXRoX1BL R19DT05GSUc9IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCi0gICAgICRhc19lY2hvICIk YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhl Y19leHQiID4mNQotICAgICBicmVhayAyCi1AQCAtNjg4OCw3ICs2ODkyLDcgQEAgaWYgdGVzdCAt eiAiJGFjX2N2X3BhdGhfUEtHX0NPTkZJRyI7IHRoZW4KLSBzZXQgZHVtbXkgcGtnLWNvbmZpZzsg YWNfd29yZD0kMgotIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hl Y2tpbmcgZm9yICRhY193b3JkIiA+JjUKLSAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dv cmQuLi4gIiA+JjY7IH0KLS1pZiB0ZXN0ICIke2FjX2N2X3BhdGhfYWNfcHRfUEtHX0NPTkZJRytz ZXR9IiA9IHNldDsgdGhlbiA6Ci0raWYgJHthY19jdl9wYXRoX2FjX3B0X1BLR19DT05GSUcrOn0g ZmFsc2U7IHRoZW4gOgotICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLSBlbHNlCi0gICBj YXNlICRhY19wdF9QS0dfQ09ORklHIGluCi1AQCAtNjkwMiw3ICs2OTA2LDcgQEAgZG8KLSAgIElG Uz0kYXNfc2F2ZV9JRlMKLSAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgIGZv ciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotLSAgaWYg eyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIk YXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotKyAgaWYgYXNfZm5fZXhlY3V0 YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgotICAgICBhY19jdl9w YXRoX2FjX3B0X1BLR19DT05GSUc9IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCi0gICAg ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFj X3dvcmQkYWNfZXhlY19leHQiID4mNQotICAgICBicmVhayAyCi1AQCAtNzA4Niw3ICs3MDkwLDcg QEAgJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9MSUJSUE0gMSIgPj5jb25mZGVmcy5oCi0gICAgICAg TElCUz0iJExJQlMgJFJQTV9MSUJTIgotICAgICBlbHNlCi0gICAgICAgaWYgJFJQTV9SRVFVSVJF OyB0aGVuCi0tCWFzX2ZuX2Vycm9yICIkUlBNX1BLR19FUlJPUlMiICIkTElORU5PIiA1Ci0rCWFz X2ZuX2Vycm9yICQ/ICIkUlBNX1BLR19FUlJPUlMiICIkTElORU5PIiA1Ci0gICAgICAgZWxzZQot IAl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6ICRSUE1f UEtHX0VSUk9SUyIgPiY1Ci0gJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogJFJQTV9QS0dfRVJS T1JTIiA+JjI7fQotQEAgLTczMzIsOCArNzMzNiw5MiBAQCAkYXNfZWNobyAiJGFzX21lOiBXQVJO SU5HOiBnZGJ0ayBpc24ndCBzdXBwb3J0ZWQgb24gJGhvc3Q7IGRpc2FibGluZyIgPiYyO30KLSAg ICAgZW5hYmxlX2dkYnRrPW5vIDs7Ci0gZXNhYwotIAotLSMgTGlidW53aW5kIHN1cHBvcnQgZm9y IGlhNjQuCi0rIyBIYW5kbGUgb3B0aW9uYWwgZGVidWdpbmZvZCBzdXBwb3J0Ci0rCi0rIyBFbmFi bGUgZGVidWdpbmZvZAotKwotKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtZGVidWdpbmZvZCB3YXMg Z2l2ZW4uCi0raWYgdGVzdCAiJHt3aXRoX2RlYnVnaW5mb2Qrc2V0fSIgPSBzZXQ7IHRoZW4gOgot KyAgd2l0aHZhbD0kd2l0aF9kZWJ1Z2luZm9kOwotK2Vsc2UKLSsgIHdpdGhfZGVidWdpbmZvZD1h dXRvCi0rZmkKLSsKLSt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNo ZWNraW5nIHdoZXRoZXIgdG8gdXNlIGRlYnVnaW5mb2QiID4mNQotKyRhc19lY2hvX24gImNoZWNr aW5nIHdoZXRoZXIgdG8gdXNlIGRlYnVnaW5mb2QuLi4gIiA+JjY7IH0KLSt7ICRhc19lY2hvICIk YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHdpdGhfZGVidWdpbmZvZCIgPiY1 Ci0rJGFzX2VjaG8gIiR3aXRoX2RlYnVnaW5mb2QiID4mNjsgfQotKwotK2lmIHRlc3QgIiR7d2l0 aF9kZWJ1Z2luZm9kfSIgPSBubzsgdGhlbgotKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu ZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBkZWJ1Z2luZm9kIHN1cHBvcnQgZGlzYWJsZWQ7IHNvbWUg ZmVhdHVyZXMgbWF5IGJlIHVuYXZhaWxhYmxlLiIgPiY1Ci0rJGFzX2VjaG8gIiRhc19tZTogV0FS TklORzogZGVidWdpbmZvZCBzdXBwb3J0IGRpc2FibGVkOyBzb21lIGZlYXR1cmVzIG1heSBiZSB1 bmF2YWlsYWJsZS4iID4mMjt9Ci0rZWxzZQotKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu ZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgZGVidWdpbmZvZF9iZWdpbiBpbiAtbGRlYnVnaW5m b2QiID4mNQotKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBkZWJ1Z2luZm9kX2JlZ2luIGluIC1s ZGVidWdpbmZvZC4uLiAiID4mNjsgfQotK2lmICR7YWNfY3ZfbGliX2RlYnVnaW5mb2RfZGVidWdp bmZvZF9iZWdpbis6fSBmYWxzZTsgdGhlbiA6Ci0rICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4m NgotK2Vsc2UKLSsgIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKLStMSUJTPSItbGRlYnVn aW5mb2QgICRMSUJTIgotK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19l eHQKLSsvKiBlbmQgY29uZmRlZnMuaC4gICovCi0rCi0rLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCi0rICAgVXNlIGNoYXIgYmVjYXVzZSBp bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCi0rICAgYnVpbHRpbiBhbmQg dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KLSsjaWZk ZWYgX19jcGx1c3BsdXMKLStleHRlcm4gIkMiCi0rI2VuZGlmCi0rY2hhciBkZWJ1Z2luZm9kX2Jl Z2luICgpOwotK2ludAotK21haW4gKCkKLSt7Ci0rcmV0dXJuIGRlYnVnaW5mb2RfYmVnaW4gKCk7 Ci0rICA7Ci0rICByZXR1cm4gMDsKLSt9Ci0rX0FDRU9GCi0raWYgYWNfZm5fY190cnlfbGluayAi JExJTkVOTyI7IHRoZW4gOgotKyAgYWNfY3ZfbGliX2RlYnVnaW5mb2RfZGVidWdpbmZvZF9iZWdp bj15ZXMKLStlbHNlCi0rICBhY19jdl9saWJfZGVidWdpbmZvZF9kZWJ1Z2luZm9kX2JlZ2luPW5v Ci0rZmkKLStybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKLSsg ICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKLStMSUJTPSRhY19jaGVja19s aWJfc2F2ZV9MSUJTCi0rZmkKLSt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO T306IHJlc3VsdDogJGFjX2N2X2xpYl9kZWJ1Z2luZm9kX2RlYnVnaW5mb2RfYmVnaW4iID4mNQot KyRhc19lY2hvICIkYWNfY3ZfbGliX2RlYnVnaW5mb2RfZGVidWdpbmZvZF9iZWdpbiIgPiY2OyB9 Ci0raWYgdGVzdCAieCRhY19jdl9saWJfZGVidWdpbmZvZF9kZWJ1Z2luZm9kX2JlZ2luIiA9IHh5 ZXM7IHRoZW4gOgotKyAgaGF2ZV9kZWJ1Z2luZm9kX2xpYj15ZXMKLStmaQotKwotKyAgYWNfZm5f Y19jaGVja19kZWNsICIkTElORU5PIiAiZGVidWdpbmZvZF9iZWdpbiIgImFjX2N2X2hhdmVfZGVj bF9kZWJ1Z2luZm9kX2JlZ2luIiAiI2luY2x1ZGUgPGVsZnV0aWxzL2RlYnVnaW5mb2QuaD4KLSsi Ci0raWYgdGVzdCAieCRhY19jdl9oYXZlX2RlY2xfZGVidWdpbmZvZF9iZWdpbiIgPSB4eWVzOyB0 aGVuIDoKLSsgIGhhdmVfZGVidWdpbmZvZF9oPXllcwotK2ZpCi0rCi0rICBpZiB0ZXN0ICJ4JGhh dmVfZGVidWdpbmZvZF9saWIiID0gInh5ZXMiIC1hIFwKLSsgICAgICAgICAgIngkaGF2ZV9kZWJ1 Z2luZm9kX2giID0gInh5ZXMiOyB0aGVuCi0rCi0rJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9MSUJE RUJVR0lORk9EIDEiID4+Y29uZmRlZnMuaAotKwotKyAgICBMSUJERUJVR0lORk9EPSItbGRlYnVn aW5mb2QiCi0gCi0rICBlbHNlCi0rCi0rICAgIGlmIHRlc3QgIiR3aXRoX2RlYnVnaW5mb2QiID0g eWVzOyB0aGVuCi0rICAgICAgYXNfZm5fZXJyb3IgJD8gImRlYnVnaW5mb2QgaXMgbWlzc2luZyBv ciB1bnVzYWJsZSIgIiRMSU5FTk8iIDUKLSsgICAgZWxzZQotKyAgICAgIHsgJGFzX2VjaG8gIiRh c19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogZGVidWdpbmZvZCBpcyBtaXNzaW5n IG9yIHVudXNhYmxlOyBzb21lIGZlYXR1cmVzIG1heSBiZSB1bmF2YWlsYWJsZS4iID4mNQotKyRh c19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IGRlYnVnaW5mb2QgaXMgbWlzc2luZyBvciB1bnVzYWJs ZTsgc29tZSBmZWF0dXJlcyBtYXkgYmUgdW5hdmFpbGFibGUuIiA+JjI7fQotKyAgICBmaQotKyAg ZmkKLStmaQotKwotKwotKyMgTGlidW53aW5kIHN1cHBvcnQgZm9yIGlhNjQuCi0gCi0gIyBDaGVj ayB3aGV0aGVyIC0td2l0aC1saWJ1bndpbmQtaWE2NCB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHt3 aXRoX2xpYnVud2luZF9pYTY0K3NldH0iID0gc2V0OyB0aGVuIDoKLUBAIC0xNjQ0MSw3ICsxNjUy OSw3IEBAIF9BQ0VPRgotIGZvciBhY19oZWFkZXIgaW4gc2VsaW51eC9zZWxpbnV4LmgKLSBkbyA6 Ci0gICBhY19mbl9jX2NoZWNrX2hlYWRlcl9tb25ncmVsICIkTElORU5PIiAic2VsaW51eC9zZWxp bnV4LmgiICJhY19jdl9oZWFkZXJfc2VsaW51eF9zZWxpbnV4X2giICIkYWNfaW5jbHVkZXNfZGVm YXVsdCIKLS1pZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9zZWxpbnV4X3NlbGludXhfaCIgPSB4IiJ5 ZXM7IHRoZW4gOgotK2lmIHRlc3QgIngkYWNfY3ZfaGVhZGVyX3NlbGludXhfc2VsaW51eF9oIiA9 IHh5ZXM7IHRoZW4gOgotICAgY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgotICNkZWZpbmUgSEFW RV9TRUxJTlVYX1NFTElOVVhfSCAxCi0gX0FDRU9GCi1AQCAtMTY0NTIsNyArMTY1NDAsNyBAQCBk b25lCi0gCi0geyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu ZyBmb3Igc2VjdXJpdHlfZ2V0X2Jvb2xlYW5fYWN0aXZlIGluIC1sc2VsaW51eCIgPiY1Ci0gJGFz X2VjaG9fbiAiY2hlY2tpbmcgZm9yIHNlY3VyaXR5X2dldF9ib29sZWFuX2FjdGl2ZSBpbiAtbHNl bGludXguLi4gIiA+JjY7IH0KLS1pZiB0ZXN0ICIke2FjX2N2X2xpYl9zZWxpbnV4X3NlY3VyaXR5 X2dldF9ib29sZWFuX2FjdGl2ZStzZXR9IiA9IHNldDsgdGhlbiA6Ci0raWYgJHthY19jdl9saWJf c2VsaW51eF9zZWN1cml0eV9nZXRfYm9vbGVhbl9hY3RpdmUrOn0gZmFsc2U7IHRoZW4gOgotICAg JGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLSBlbHNlCi0gICBhY19jaGVja19saWJfc2F2ZV9M SUJTPSRMSUJTCi1AQCAtMTY0ODYsNyArMTY1NzQsNyBAQCBMSUJTPSRhY19jaGVja19saWJfc2F2 ZV9MSUJTCi0gZmkKLSB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl c3VsdDogJGFjX2N2X2xpYl9zZWxpbnV4X3NlY3VyaXR5X2dldF9ib29sZWFuX2FjdGl2ZSIgPiY1 Ci0gJGFzX2VjaG8gIiRhY19jdl9saWJfc2VsaW51eF9zZWN1cml0eV9nZXRfYm9vbGVhbl9hY3Rp dmUiID4mNjsgfQotLWlmIHRlc3QgIngkYWNfY3ZfbGliX3NlbGludXhfc2VjdXJpdHlfZ2V0X2Jv b2xlYW5fYWN0aXZlIiA9IHgiInllczsgdGhlbiA6Ci0raWYgdGVzdCAieCRhY19jdl9saWJfc2Vs aW51eF9zZWN1cml0eV9nZXRfYm9vbGVhbl9hY3RpdmUiID0geHllczsgdGhlbiA6Ci0gICBjYXQg Pj5jb25mZGVmcy5oIDw8X0FDRU9GCi0gI2RlZmluZSBIQVZFX0xJQlNFTElOVVggMQotIF9BQ0VP RgotZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUuYWMgYi9nZGIvY29uZmlndXJlLmFjCi0tLS0g YS9nZGIvY29uZmlndXJlLmFjCi0rKysgYi9nZGIvY29uZmlndXJlLmFjCi1AQCAtMTgsNiArMTgs OCBAQCBkbmwgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gCi0gZG5sIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0 b2NvbmYgdG8gcHJvZHVjZSBhIGNvbmZpZ3VyZSBzY3JpcHQuCi0gCi0rbTRfaW5jbHVkZSguLi9j b25maWcvZGVidWdpbmZvZC5tNCkKLSsKLSBBQ19JTklUKG1haW4uYykKLSBBQ19DT05GSUdfSEVB REVSUyhjb25maWcuaDpjb25maWcuaW4sIFtlY2hvID4gc3RhbXAtaF0pCi0gQU1fTUFJTlRBSU5F Ul9NT0RFCi1AQCAtNTE2LDggKzUxOCwxMCBAQCBjYXNlICRob3N0X29zIGluCi0gICAgIGVuYWJs ZV9nZGJ0az1ubyA7OwotIGVzYWMKLSAKLS0jIExpYnVud2luZCBzdXBwb3J0IGZvciBpYTY0Lgot KyMgSGFuZGxlIG9wdGlvbmFsIGRlYnVnaW5mb2Qgc3VwcG9ydAotK0FDX0RFQlVHSU5GT0QKLSAK LSsjIExpYnVud2luZCBzdXBwb3J0IGZvciBpYTY0LgotIEFDX0FSR19XSVRIKGxpYnVud2luZC1p YTY0LAotIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtbGlidW53aW5kLWlhNjRdLAotIAkgICAgICAg W3VzZSBsaWJ1bndpbmQgZnJhbWUgdW53aW5kaW5nIGZvciBpYTY0IHRhcmdldHNdKSwsCi1kaWZm IC0tZ2l0IGEvZ2RiL2RlYnVnaW5mb2Qtc3VwcG9ydC5jIGIvZ2RiL2RlYnVnaW5mb2Qtc3VwcG9y dC5jCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL2RlYnVn aW5mb2Qtc3VwcG9ydC5jCi1AQCAtMCwwICsxLDE1NSBAQAotKy8qIGRlYnVnaW5mb2QgdXRpbGl0 aWVzIGZvciBHREIuCi0rICAgQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgotKwotKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdEQi4KLSsKLSsgICBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0r ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rI2luY2x1ZGUgImRlZnMuaCIK LSsjaW5jbHVkZSA8ZXJybm8uaD4KLSsjaW5jbHVkZSAiY2xpL2NsaS1zdHlsZS5oIgotKyNpbmNs dWRlICJnZGJzdXBwb3J0L3Njb3BlZF9mZC5oIgotKyNpbmNsdWRlICJkZWJ1Z2luZm9kLXN1cHBv cnQuaCIKLSsKLSsjaWZuZGVmIEhBVkVfTElCREVCVUdJTkZPRAotK3Njb3BlZF9mZAotK2RlYnVn aW5mb2Rfc291cmNlX3F1ZXJ5IChjb25zdCB1bnNpZ25lZCBjaGFyICpidWlsZF9pZCwKLSsJCQkg aW50IGJ1aWxkX2lkX2xlbiwKLSsJCQkgY29uc3QgY2hhciAqc3JjcGF0aCwKLSsJCQkgZ2RiOjp1 bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gKmRlc3RuYW1lKQotK3sKLSsgIHJldHVybiBzY29wZWRf ZmQgKC1FTk9TWVMpOwotK30KLSsKLStzY29wZWRfZmQKLStkZWJ1Z2luZm9kX2RlYnVnaW5mb19x dWVyeSAoY29uc3QgdW5zaWduZWQgY2hhciAqYnVpbGRfaWQsCi0rCQkJICAgIGludCBidWlsZF9p ZF9sZW4sCi0rCQkJICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAotKwkJCSAgICBnZGI6OnVuaXF1 ZV94bWFsbG9jX3B0cjxjaGFyPiAqZGVzdG5hbWUpCi0rewotKyAgcmV0dXJuIHNjb3BlZF9mZCAo LUVOT1NZUyk7Ci0rfQotKyNlbHNlCi0rI2luY2x1ZGUgPGVsZnV0aWxzL2RlYnVnaW5mb2QuaD4K LSsKLSsvKiBUT0RPOiBVc2UgZGVidWdpbmZvZCBBUEkgZXh0ZW5zaW9ucyBpbnN0ZWFkIG9mIHRo ZXNlIGdsb2JhbHMuICAqLwotK3N0YXRpYyBzdGQ6OnN0cmluZyBkZXNjOwotK3N0YXRpYyBzdGQ6 OnN0cmluZyBmbmFtZTsKLStzdGF0aWMgYm9vbCBoYXNfcHJpbnRlZDsKLSsKLStzdGF0aWMgaW50 Ci0rcHJvZ3Jlc3NmbiAoZGVidWdpbmZvZF9jbGllbnQgKmMsIGxvbmcgY3VyLCBsb25nIHRvdGFs KQotK3sKLSsgIGlmIChjaGVja19xdWl0X2ZsYWcgKCkpCi0rICAgIHsKLSsgICAgICBwcmludGZf ZmlsdGVyZWQgKCJDYW5jZWxsaW5nIGRvd25sb2FkIG9mICVzICVwcy4uLlxuIiwKLSsJCSAgICAg ICBkZXNjLmNfc3RyICgpLAotKwkJICAgICAgIHN0eWxlZF9zdHJpbmcgKGZpbGVfbmFtZV9zdHls ZS5zdHlsZSAoKSwgZm5hbWUuY19zdHIgKCkpKTsKLSsgICAgICByZXR1cm4gMTsKLSsgICAgfQot KwotKyAgaWYgKCFoYXNfcHJpbnRlZCAmJiB0b3RhbCAhPSAwKQotKyAgICB7Ci0rICAgICAgLyog UHJpbnQgdGhpcyBtZXNzYWdlIG9ubHkgb25jZS4gICovCi0rICAgICAgaGFzX3ByaW50ZWQgPSB0 cnVlOwotKyAgICAgIHByaW50Zl9maWx0ZXJlZCAoIkRvd25sb2FkaW5nICVzICVwcy4uLlxuIiwK LSsJCSAgICAgICBkZXNjLmNfc3RyICgpLAotKwkJICAgICAgIHN0eWxlZF9zdHJpbmcgKGZpbGVf bmFtZV9zdHlsZS5zdHlsZSAoKSwgZm5hbWUuY19zdHIgKCkpKTsKLSsgICAgfQotKwotKyAgcmV0 dXJuIDA7Ci0rfQotKwotK3N0YXRpYyBkZWJ1Z2luZm9kX2NsaWVudCAqCi0rZGVidWdpbmZvZF9p bml0ICgpCi0rewotKyAgZGVidWdpbmZvZF9jbGllbnQgKmMgPSBkZWJ1Z2luZm9kX2JlZ2luICgp OwotKwotKyAgaWYgKGMgIT0gbnVsbHB0cikKLSsgICAgZGVidWdpbmZvZF9zZXRfcHJvZ3Jlc3Nm biAoYywgcHJvZ3Jlc3Nmbik7Ci0rCi0rICByZXR1cm4gYzsKLSt9Ci0rCi0rLyogU2VlIGRlYnVn aW5mb2Qtc3VwcG9ydC5oICAqLwotKwotK3Njb3BlZF9mZAotK2RlYnVnaW5mb2Rfc291cmNlX3F1 ZXJ5IChjb25zdCB1bnNpZ25lZCBjaGFyICpidWlsZF9pZCwKLSsJCQkgaW50IGJ1aWxkX2lkX2xl biwKLSsJCQkgY29uc3QgY2hhciAqc3JjcGF0aCwKLSsJCQkgZ2RiOjp1bmlxdWVfeG1hbGxvY19w dHI8Y2hhcj4gKmRlc3RuYW1lKQotK3sKLSsgIGlmIChnZXRlbnYgKERFQlVHSU5GT0RfVVJMU19F TlZfVkFSKSA9PSBOVUxMKQotKyAgICByZXR1cm4gc2NvcGVkX2ZkICgtRU5PU1lTKTsKLSsKLSsg IGRlYnVnaW5mb2RfY2xpZW50ICpjID0gZGVidWdpbmZvZF9pbml0ICgpOwotKwotKyAgaWYgKGMg PT0gbnVsbHB0cikKLSsgICAgcmV0dXJuIHNjb3BlZF9mZCAoLUVOT01FTSk7Ci0rCi0rICBkZXNj ID0gc3RkOjpzdHJpbmcgKCJzb3VyY2UgZmlsZSIpOwotKyAgZm5hbWUgPSBzdGQ6OnN0cmluZyAo c3JjcGF0aCk7Ci0rICBoYXNfcHJpbnRlZCA9IGZhbHNlOwotKwotKyAgc2NvcGVkX2ZkIGZkIChk ZWJ1Z2luZm9kX2ZpbmRfc291cmNlIChjLAotKwkJCQkJYnVpbGRfaWQsCi0rCQkJCQlidWlsZF9p ZF9sZW4sCi0rCQkJCQlzcmNwYXRoLAotKwkJCQkJbnVsbHB0cikpOwotKwotKyAgLyogVE9ETzog QWRkICdzZXQgZGVidWcgZGVidWdpbmZvZCcgY29tbWFuZCB0byBjb250cm9sIHdoZW4gZXJyb3Ig bWVzc2FnZXMgYXJlIHNob3duLiAgKi8KLSsgIGlmIChmZC5nZXQgKCkgPCAwICYmIGZkLmdldCAo KSAhPSAtRU5PRU5UKQotKyAgICBwcmludGZfZmlsdGVyZWQgKF8oIkRvd25sb2FkIGZhaWxlZDog JXMuICBDb250aW51aW5nIHdpdGhvdXQgc291cmNlIGZpbGUgJXBzLlxuIiksCi0rCQkgICAgIHNh ZmVfc3RyZXJyb3IgKC1mZC5nZXQgKCkpLAotKwkJICAgICBzdHlsZWRfc3RyaW5nIChmaWxlX25h bWVfc3R5bGUuc3R5bGUgKCksICBzcmNwYXRoKSk7Ci0rICBlbHNlCi0rICAgIGRlc3RuYW1lLT5y ZXNldCAoeHN0cmR1cCAoc3JjcGF0aCkpOwotKwotKyAgZGVidWdpbmZvZF9lbmQgKGMpOwotKyAg cmV0dXJuIGZkOwotK30KLSsKLSsvKiBTZWUgZGVidWdpbmZvZC1zdXBwb3J0LmggICovCi0rCi0r c2NvcGVkX2ZkCi0rZGVidWdpbmZvZF9kZWJ1Z2luZm9fcXVlcnkgKGNvbnN0IHVuc2lnbmVkIGNo YXIgKmJ1aWxkX2lkLAotKwkJCSAgICBpbnQgYnVpbGRfaWRfbGVuLAotKwkJCSAgICBjb25zdCBj aGFyICpmaWxlbmFtZSwKLSsJCQkgICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gKmRl c3RuYW1lKQotK3sKLSsgIGlmIChnZXRlbnYgKERFQlVHSU5GT0RfVVJMU19FTlZfVkFSKSA9PSBO VUxMKQotKyAgICByZXR1cm4gc2NvcGVkX2ZkICgtRU5PU1lTKTsKLSsKLSsgIGRlYnVnaW5mb2Rf Y2xpZW50ICpjID0gZGVidWdpbmZvZF9pbml0ICgpOwotKwotKyAgaWYgKGMgPT0gbnVsbHB0cikK LSsgICAgcmV0dXJuIHNjb3BlZF9mZCAoLUVOT01FTSk7Ci0rCi0rICBkZXNjID0gc3RkOjpzdHJp bmcgKCJzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGZvciIpOwotKyAgZm5hbWUgPSBzdGQ6OnN0cmluZyAo ZmlsZW5hbWUpOwotKyAgaGFzX3ByaW50ZWQgPSBmYWxzZTsKLSsgIGNoYXIgKmRuYW1lID0gbnVs bHB0cjsKLSsKLSsgIHNjb3BlZF9mZCBmZCAoZGVidWdpbmZvZF9maW5kX2RlYnVnaW5mbyAoYywg YnVpbGRfaWQsIGJ1aWxkX2lkX2xlbiwgJmRuYW1lKSk7Ci0rCi0rICBpZiAoZmQuZ2V0ICgpIDwg MCAmJiBmZC5nZXQgKCkgIT0gLUVOT0VOVCkKLSsgICAgcHJpbnRmX2ZpbHRlcmVkIChfKCJEb3du bG9hZCBmYWlsZWQ6ICVzLiAgQ29udGludWluZyB3aXRob3V0IGRlYnVnIGluZm8gZm9yICVwcy5c biIpLAotKwkJICAgICBzYWZlX3N0cmVycm9yICgtZmQuZ2V0ICgpKSwKLSsJCSAgICAgc3R5bGVk X3N0cmluZyAoZmlsZV9uYW1lX3N0eWxlLnN0eWxlICgpLCAgZmlsZW5hbWUpKTsKLSsKLSsgIGRl c3RuYW1lLT5yZXNldCAoZG5hbWUpOwotKyAgZGVidWdpbmZvZF9lbmQgKGMpOwotKyAgcmV0dXJu IGZkOwotK30KLSsjZW5kaWYKLWRpZmYgLS1naXQgYS9nZGIvZGVidWdpbmZvZC1zdXBwb3J0Lmgg Yi9nZGIvZGVidWdpbmZvZC1zdXBwb3J0LmgKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0tLS0gL2Rl di9udWxsCi0rKysgYi9nZGIvZGVidWdpbmZvZC1zdXBwb3J0LmgKLUBAIC0wLDAgKzEsNjIgQEAK LSsvKiBkZWJ1Z2luZm9kIHV0aWxpdGllcyBmb3IgR0RCLgotKyAgIENvcHlyaWdodCAoQykgMjAy MCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlzIGZpbGUgaXMgcGFy dCBvZiBHREIuCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us IG9yCi0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKLSsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgotKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgotKwotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rICAgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwot KwotKyNpZm5kZWYgREVCVUdJTkZPRF9TVVBQT1JUX0gKLSsjZGVmaW5lIERFQlVHSU5GT0RfU1VQ UE9SVF9ICi0rCi0rLyogUXVlcnkgZGVidWdpbmZvZCBzZXJ2ZXJzIGZvciBhIHNvdXJjZSBmaWxl IGFzc29jaWF0ZWQgd2l0aCBhbgotKyAgIGV4ZWN1dGFibGUgd2l0aCBCVUlMRF9JRC4gIEJVSUxE X0lEIGNhbiBiZSBnaXZlbiBhcyBhIGJpbmFyeSBibG9iIG9yCi0rICAgYSBudWxsLXRlcm1pbmF0 ZWQgc3RyaW5nLiAgSWYgZ2l2ZW4gYXMgYSBiaW5hcnkgYmxvYiwgQlVJTERfSURfTEVOCi0rICAg c2hvdWxkIGJlIHRoZSBudW1iZXIgb2YgYnl0ZXMuICBJZiBnaXZlbiBhcyBhIG51bGwtdGVybWlu YXRlZCBzdHJpbmcsCi0rICAgQlVJTERfSURfTEVOIHNob3VsZCBiZSAwLgotKwotKyAgIFNSQ19Q QVRIIHNob3VsZCBiZSB0aGUgc291cmNlIGZpbGUncyBhYnNvbHV0ZSBwYXRoIHRoYXQgaW5jbHVk ZXMgdGhlCi0rICAgY29tcGlsYXRpb24gZGlyZWN0b3J5IG9mIHRoZSBDVSBhc3NvY2lhdGVkIHdp dGggdGhlIHNvdXJjZSBmaWxlLgotKyAgIEZvciBleGFtcGxlIGlmIGEgQ1UncyBjb21waWxhdGlv biBkaXJlY3RvcnkgaXMgYC9teS9idWlsZGAgYW5kIHRoZQotKyAgIHNvdXJjZSBmaWxlIHBhdGgg aXMgYC9teS9zb3VyY2UvZm9vLmNgLCB0aGVuIFNSQ19QQVRIIHNob3VsZCBiZQotKyAgIGAvbXkv YnVpbGQvLi4vc291cmNlL2Zvby5jYC4KLSsKLSsgICBJZiB0aGUgZmlsZSBpcyBzdWNjZXNzZnVs bHkgcmV0cmlldmVkLCBpdHMgcGF0aCBvbiB0aGUgbG9jYWwgbWFjaGluZQotKyAgIGlzIHN0b3Jl ZCBpbiBERVNUTkFNRS4gIElmIEdEQiBpcyBub3QgYnVpbHQgd2l0aCBkZWJ1Z2luZm9kLCB0aGlz Ci0rICAgZnVuY3Rpb24gcmV0dXJucyAtRU5PU1lTLiAgKi8KLSsKLStleHRlcm4gc2NvcGVkX2Zk Ci0rZGVidWdpbmZvZF9zb3VyY2VfcXVlcnkgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1aWxkX2lk LAotKwkJCSBpbnQgYnVpbGRfaWRfbGVuLAotKwkJCSBjb25zdCBjaGFyICpzcmNfcGF0aCwKLSsJ CQkgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gKmRlc3RuYW1lKTsKLSsKLSsvKiBRdWVy eSBkZWJ1Z2luZm9kIHNlcnZlcnMgZm9yIGEgZGVidWcgaW5mbyBmaWxlIHdpdGggQlVJTERfSUQu Ci0rICAgQlVJTERfSUQgY2FuIGJlIGdpdmVuIGFzIGEgYmluYXJ5IGJsb2Igb3IgYSBudWxsLXRl cm1pbmF0ZWQgc3RyaW5nLgotKyAgIElmIGdpdmVuIGFzIGEgYmluYXJ5IGJsb2IsIEJVSUxEX0lE X0xFTiBzaG91bGQgYmUgdGhlIG51bWJlciBvZiBieXRlcy4KLSsgICBJZiBnaXZlbiBhcyBhIG51 bGwtdGVybWluYXRlZCBzdHJpbmcsIEJVSUxEX0lEX0xFTiBzaG91bGQgYmUgMC4KLSsKLSsgICBG SUxFTkFNRSBzaG91bGQgYmUgdGhlIG5hbWUgb3IgcGF0aCBvZiB0aGUgbWFpbiBiaW5hcnkgYXNz b2NpYXRlZCB3aXRoCi0rICAgdGhlIHNlcGFyYXRlIGRlYnVnIGluZm8uICBJdCBpcyB1c2VkIGZv ciBwcmludGluZyBtZXNzYWdlcyB0byB0aGUgdXNlci4KLSsKLSsgICBJZiB0aGUgZmlsZSBpcyBz dWNjZXNzZnVsbHkgcmV0cmlldmVkLCBpdHMgcGF0aCBvbiB0aGUgbG9jYWwgbWFjaGluZQotKyAg IGlzIHN0b3JlZCBpbiBERVNUTkFNRS4gIElmIEdEQiBpcyBub3QgYnVpbHQgd2l0aCBkZWJ1Z2lu Zm9kLCB0aGlzCi0rICAgZnVuY3Rpb24gcmV0dXJucyAtRU5PU1lTLiAgKi8KLSsKLStleHRlcm4g c2NvcGVkX2ZkCi0rZGVidWdpbmZvZF9kZWJ1Z2luZm9fcXVlcnkgKGNvbnN0IHVuc2lnbmVkIGNo YXIgKmJ1aWxkX2lkLAotKwkJCSAgICBpbnQgYnVpbGRfaWRfbGVuLAotKwkJCSAgICBjb25zdCBj aGFyICpmaWxlbmFtZSwKLSsJCQkgICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gKmRl c3RuYW1lKTsKLSsKLSsjZW5kaWYgLyogREVCVUdJTkZPRF9TVVBQT1JUX0ggKi8KLWRpZmYgLS1n aXQgYS9nZGIvZG9jL2dkYi50ZXhpbmZvIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwotLS0tIGEvZ2Ri L2RvYy9nZGIudGV4aW5mbwotKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwotQEAgLTM3NzI2LDYg KzM3NzI2LDE0IEBAIHN1cHBvcnRlZCkuCi0gVXNlIHRoZSBjdXJzZXMgbGlicmFyeSBpbnN0ZWFk IG9mIHRoZSB0ZXJtY2FwIGxpYnJhcnksIGZvciB0ZXh0LW1vZGUKLSB0ZXJtaW5hbCBvcGVyYXRp b25zLgotIAotK0BpdGVtIC0td2l0aC1kZWJ1Z2luZm9kCi0rQnVpbGQgQHZhbHVle0dEQk59IHdp dGggbGliZGVidWdpbmZvZCwgdGhlIGRlYnVnaW5mb2QgY2xpZW50IGxpYnJhcnkuCi0rVXNlZCB0 byBhdXRvbWF0aWNhbGx5IGZldGNoIHNvdXJjZSBmaWxlcyBhbmQgc2VwYXJhdGUgZGVidWcgZmls ZXMgZnJvbQotK2RlYnVnaW5mb2Qgc2VydmVycyB1c2luZyB0aGUgYXNzb2NpYXRlZCBleGVjdXRh YmxlJ3MgYnVpbGQgSUQuIEVuYWJsZWQKLStieSBkZWZhdWx0IGlmIGxpYmRlYnVnaW5mb2QgaXMg aW5zdGFsbGVkIGFuZCBmb3VuZCBhdCBjb25maWd1cmUgdGltZS4KLStkZWJ1Z2luZm9kIGlzIHBh Y2thZ2VkIHdpdGggZWxmdXRpbHMsIHN0YXJ0aW5nIHdpdGggdmVyc2lvbiAwLjE3OC4gWW91Ci0r Y2FuIGdldCB0aGUgbGF0ZXN0IHZlcnNpb24gZnJvbSBgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9l bGZ1dGlscy8nLgotKwotIEBpdGVtIC0td2l0aC1saWJ1bndpbmQtaWE2NAotIFVzZSB0aGUgbGli dW53aW5kIGxpYnJhcnkgZm9yIHVud2luZGluZyBmdW5jdGlvbiBjYWxsIHN0YWNrIG9uIGlhNjQK LSB0YXJnZXQgcGxhdGZvcm1zLiAgU2VlIGh0dHA6Ly93d3cubm9uZ251Lm9yZy9saWJ1bndpbmQv aW5kZXguaHRtbCBmb3IKLWRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJm MnJlYWQuYwotLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYwotKysrIGIvZ2RiL2R3YXJmMnJlYWQuYwot QEAgLTc3LDYgKzc3LDcgQEAKLSAjaW5jbHVkZSAiZ2Ric3VwcG9ydC9zZWxmdGVzdC5oIgotICNp bmNsdWRlICJydXN0LWxhbmcuaCIKLSAjaW5jbHVkZSAiZ2Ric3VwcG9ydC9wYXRoc3R1ZmYuaCIK LSsjaW5jbHVkZSAiZGVidWdpbmZvZC1zdXBwb3J0LmgiCi0gCi0gLyogV2hlbiA9PSAxLCBwcmlu dCBiYXNpYyBoaWdoIGxldmVsIHRyYWNpbmcgbWVzc2FnZXMuCi0gICAgV2hlbiA+IDEsIGJlIG1v cmUgdmVyYm9zZS4KLUBAIC0yNzE3LDYgKzI3MTgsMjkgQEAgZHdhcmYyX2dldF9kd3pfZmlsZSAo c3RydWN0IGR3YXJmMl9wZXJfb2JqZmlsZSAqZHdhcmYyX3Blcl9vYmpmaWxlKQotIAlkd3pfYmZk LnJlc2V0IChudWxscHRyKTsKLSAgICAgfQotIAotKyAgaWYgKGR3el9iZmQgPT0gbnVsbHB0cikK LSsgICAgewotKyAgICAgIGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+IGFsdF9maWxlbmFt ZTsKLSsgICAgICBjb25zdCBjaGFyICpvcmlnbmFtZSA9IGR3YXJmMl9wZXJfb2JqZmlsZS0+b2Jq ZmlsZS0+b3JpZ2luYWxfbmFtZTsKLSsKLSsgICAgICBzY29wZWRfZmQgZmQgKGRlYnVnaW5mb2Rf ZGVidWdpbmZvX3F1ZXJ5IChidWlsZGlkLAotKwkJCQkJCWJ1aWxkaWRfbGVuLAotKwkJCQkJCW9y aWduYW1lLAotKwkJCQkJCSZhbHRfZmlsZW5hbWUpKTsKLSsKLSsgICAgICBpZiAoZmQuZ2V0ICgp ID49IDApCi0rCXsKLSsJICAvKiBGaWxlIHN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgZnJvbSBzZXJ2 ZXIuICAqLwotKwkgIGR3el9iZmQgPSBnZGJfYmZkX29wZW4gKGFsdF9maWxlbmFtZS5nZXQgKCks IGdudXRhcmdldCwgLTEpOwotKwotKwkgIGlmIChkd3pfYmZkID09IG51bGxwdHIpCi0rCSAgICB3 YXJuaW5nIChfKCJGaWxlIFwiJXNcIiBmcm9tIGRlYnVnaW5mb2QgY2Fubm90IGJlIG9wZW5lZCBh cyBiZmQiKSwKLSsJCSAgICAgYWx0X2ZpbGVuYW1lLmdldCAoKSk7Ci0rCSAgZWxzZSBpZiAoIWJ1 aWxkX2lkX3ZlcmlmeSAoZHd6X2JmZC5nZXQgKCksIGJ1aWxkaWRfbGVuLCBidWlsZGlkKSkKLSsJ ICAgIGR3el9iZmQucmVzZXQgKG51bGxwdHIpOwotKwl9Ci0rICAgIH0KLSsKLSAgIGlmIChkd3pf YmZkID09IE5VTEwpCi0gICAgIGR3el9iZmQgPSBidWlsZF9pZF90b19kZWJ1Z19iZmQgKGJ1aWxk aWRfbGVuLCBidWlsZGlkLCBOVUxMKTsKLSAKLWRpZmYgLS1naXQgYS9nZGIvZWxmcmVhZC5jIGIv Z2RiL2VsZnJlYWQuYwotLS0tIGEvZ2RiL2VsZnJlYWQuYwotKysrIGIvZ2RiL2VsZnJlYWQuYwot QEAgLTQ5LDYgKzQ5LDggQEAKLSAjaW5jbHVkZSAibWRlYnVncmVhZC5oIgotICNpbmNsdWRlICJj dGZyZWFkLmgiCi0gI2luY2x1ZGUgImdkYnN1cHBvcnQvZ2RiX3N0cmluZ192aWV3LmgiCi0rI2lu Y2x1ZGUgImdkYnN1cHBvcnQvc2NvcGVkX2ZkLmgiCi0rI2luY2x1ZGUgImRlYnVnaW5mb2Qtc3Vw cG9ydC5oIgotIAotIC8qIEZvcndhcmQgZGVjbGFyYXRpb25zLiAgKi8KLSBleHRlcm4gY29uc3Qg c3RydWN0IHN5bV9mbnMgZWxmX3N5bV9mbnNfZ2RiX2luZGV4OwotQEAgLTEzMTMsMTIgKzEzMTUs NDIgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIHN5bWZpbGVf YWRkX2ZsYWdzIHN5bWZpbGVfZmxhZ3MpCi0gCSAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRlIChk ZWJ1Z19iZmQuZ2V0ICgpLCBkZWJ1Z2ZpbGUuY19zdHIgKCksCi0gCQkJCSAgICBzeW1maWxlX2Zs YWdzLCBvYmpmaWxlKTsKLSAJfQotLSAgICAgIC8qIENoZWNrIGlmIGFueSBzZXBhcmF0ZSBkZWJ1 ZyBpbmZvIGhhcyBiZWVuIGV4dHJhY3RlZCBvdXQuICAqLwotLSAgICAgIGVsc2UgaWYgKGJmZF9n ZXRfc2VjdGlvbl9ieV9uYW1lIChvYmpmaWxlLT5vYmZkLCAiLmdudV9kZWJ1Z2xpbmsiKQotLQkg ICAgICAgIT0gTlVMTCkKLS0JZGVidWdfcHJpbnRfbWlzc2luZyAob2JqZmlsZV9uYW1lIChvYmpm aWxlKSwgYnVpbGRfaWRfZmlsZW5hbWUuZ2V0ICgpKTsKLSAgICAgICBlbHNlCi0tCWhhc19kd2Fy ZjIgPSBmYWxzZTsKLSsJewotKwkgIGhhc19kd2FyZjIgPSBmYWxzZTsKLSsJICBjb25zdCBzdHJ1 Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCA9IGJ1aWxkX2lkX2JmZF9zaGRyX2dldCAob2JqZmls ZS0+b2JmZCk7Ci0rCi0rCSAgaWYgKGJ1aWxkX2lkICE9IG51bGxwdHIpCi0rCSAgICB7Ci0rCSAg ICAgIGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+IHN5bWZpbGVfcGF0aDsKLSsJICAgICAg c2NvcGVkX2ZkIGZkIChkZWJ1Z2luZm9kX2RlYnVnaW5mb19xdWVyeSAoYnVpbGRfaWQtPmRhdGEs Ci0rCQkJCQkJCWJ1aWxkX2lkLT5zaXplLAotKwkJCQkJCQlvYmpmaWxlLT5vcmlnaW5hbF9uYW1l LAotKwkJCQkJCQkmc3ltZmlsZV9wYXRoKSk7Ci0rCi0rCSAgICAgIGlmIChmZC5nZXQgKCkgPj0g MCkKLSsJCXsKLSsJCSAgLyogRmlsZSBzdWNjZXNzZnVsbHkgcmV0cmlldmVkIGZyb20gc2VydmVy LiAgKi8KLSsJCSAgZ2RiX2JmZF9yZWZfcHRyIGRlYnVnX2JmZCAoc3ltZmlsZV9iZmRfb3BlbiAo c3ltZmlsZV9wYXRoLmdldCAoKSkpOwotKwotKwkJICBpZiAoZGVidWdfYmZkID09IG51bGxwdHIp Ci0rCQkgICAgd2FybmluZyAoXygiRmlsZSBcIiVzXCIgZnJvbSBkZWJ1Z2luZm9kIGNhbm5vdCBi ZSBvcGVuZWQgYXMgYmZkIiksCi0rCQkJICAgICBvYmpmaWxlLT5vcmlnaW5hbF9uYW1lKTsKLSsJ CSAgZWxzZSBpZiAoYnVpbGRfaWRfdmVyaWZ5IChkZWJ1Z19iZmQuZ2V0ICgpLCBidWlsZF9pZC0+ c2l6ZSwgYnVpbGRfaWQtPmRhdGEpKQotKwkJICAgIHsKLSsJCSAgICAgIHN5bWJvbF9maWxlX2Fk ZF9zZXBhcmF0ZSAoZGVidWdfYmZkLmdldCAoKSwgc3ltZmlsZV9wYXRoLmdldCAoKSwKLSsJCQkJ CQlzeW1maWxlX2ZsYWdzLCBvYmpmaWxlKTsKLSsJCSAgICAgIGhhc19kd2FyZjIgPSB0cnVlOwot KwkJICAgIH0KLSsJCX0KLSsJICAgICAgLyogQ2hlY2sgaWYgYW55IHNlcGFyYXRlIGRlYnVnIGlu Zm8gaGFzIGJlZW4gZXh0cmFjdGVkIG91dC4gICovCi0rCSAgICAgIGVsc2UgaWYgKGJmZF9nZXRf c2VjdGlvbl9ieV9uYW1lIChvYmpmaWxlLT5vYmZkLCAiLmdudV9kZWJ1Z2xpbmsiKQotKwkJICAg ICAgICE9IE5VTEwpCi0rCQlkZWJ1Z19wcmludF9taXNzaW5nIChvYmpmaWxlX25hbWUgKG9iamZp bGUpLCBidWlsZF9pZF9maWxlbmFtZS5nZXQgKCkpOwotKwkgICAgICBlbHNlCi0rCQloYXNfZHdh cmYyID0gZmFsc2U7Ci0rCSAgICB9Ci0rCX0KLSAgICAgfQotIAotICAgLyogUmVhZCB0aGUgQ1RG IHNlY3Rpb24gb25seSBpZiB0aGVyZSBpcyBubyBEV0FSRiBpbmZvLiAgKi8KLWRpZmYgLS1naXQg YS9nZGIvc291cmNlLmMgYi9nZGIvc291cmNlLmMKLS0tLSBhL2dkYi9zb3VyY2UuYwotKysrIGIv Z2RiL3NvdXJjZS5jCi1AQCAtNDcsNiArNDcsOCBAQAotICNpbmNsdWRlICJnZGJzdXBwb3J0L3Bh dGhzdHVmZi5oIgotICNpbmNsdWRlICJzb3VyY2UtY2FjaGUuaCIKLSAjaW5jbHVkZSAiY2xpL2Ns aS1zdHlsZS5oIgotKyNpbmNsdWRlICJidWlsZC1pZC5oIgotKyNpbmNsdWRlICJkZWJ1Z2luZm9k LXN1cHBvcnQuaCIKLSAKLSAjZGVmaW5lIE9QRU5fTU9ERSAoT19SRE9OTFkgfCBPX0JJTkFSWSkK LSAjZGVmaW5lIEZET1BFTl9NT0RFIEZPUEVOX1JCCi1AQCAtMTEyMiw2ICsxMTI0LDM0IEBAIG9w ZW5fc291cmNlX2ZpbGUgKHN0cnVjdCBzeW10YWIgKnMpCi0gICBzLT5mdWxsbmFtZSA9IE5VTEw7 Ci0gICBzY29wZWRfZmQgZmQgPSBmaW5kX2FuZF9vcGVuX3NvdXJjZSAocy0+ZmlsZW5hbWUsIFNZ TVRBQl9ESVJOQU1FIChzKSwKLSAJCQkJICAgICAgICZmdWxsbmFtZSk7Ci0rCi0rICBpZiAoZmQu Z2V0ICgpIDwgMCkKLSsgICAgewotKyAgICAgIGlmIChTWU1UQUJfQ09NUFVOSVQgKHMpICE9IG51 bGxwdHIpCi0rCXsKLSsJICBjb25zdCBvYmpmaWxlICpvZnAgPSBDT01QVU5JVF9PQkpGSUxFIChT WU1UQUJfQ09NUFVOSVQgKHMpKTsKLSsKLSsJICBzdGQ6OnN0cmluZyBzcmNwYXRoOwotKwkgIGlm IChJU19BQlNPTFVURV9QQVRIIChzLT5maWxlbmFtZSkpCi0rCSAgICBzcmNwYXRoID0gcy0+Zmls ZW5hbWU7Ci0rCSAgZWxzZSBpZiAoU1lNVEFCX0RJUk5BTUUgKHMpICE9IG51bGxwdHIpCi0rCSAg ICB7Ci0rCSAgICAgIHNyY3BhdGggPSBTWU1UQUJfRElSTkFNRSAocyk7Ci0rCSAgICAgIHNyY3Bh dGggKz0gU0xBU0hfU1RSSU5HOwotKwkgICAgICBzcmNwYXRoICs9IHMtPmZpbGVuYW1lOwotKwkg ICAgfQotKwotKwkgIGNvbnN0IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkID0gYnVpbGRf aWRfYmZkX3NoZHJfZ2V0IChvZnAtPm9iZmQpOwotKwotKwkgIC8qIFF1ZXJ5IGRlYnVnaW5mb2Qg Zm9yIHRoZSBzb3VyY2UgZmlsZS4gICovCi0rCSAgaWYgKGJ1aWxkX2lkICE9IG51bGxwdHIpCi0r CSAgICBmZCA9IGRlYnVnaW5mb2Rfc291cmNlX3F1ZXJ5IChidWlsZF9pZC0+ZGF0YSwKLSsJCQkJ CSAgYnVpbGRfaWQtPnNpemUsCi0rCQkJCQkgIHNyY3BhdGguY19zdHIgKCksCi0rCQkJCQkgICZm dWxsbmFtZSk7Ci0rCX0KLSsgICAgfQotKwotICAgcy0+ZnVsbG5hbWUgPSBmdWxsbmFtZS5yZWxl YXNlICgpOwotICAgcmV0dXJuIGZkOwotIH0KLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5kZWJ1Z2luZm9kL2ZldGNoX3NyY19hbmRfc3ltYm9scy5leHAgYi9nZGIvdGVzdHN1aXRlL2dk Yi5kZWJ1Z2luZm9kL2ZldGNoX3NyY19hbmRfc3ltYm9scy5leHAKLW5ldyBmaWxlIG1vZGUgMTAw NjQ0Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kZWJ1Z2luZm9kL2Zl dGNoX3NyY19hbmRfc3ltYm9scy5leHAKLUBAIC0wLDAgKzEsMjE1IEBACi0rIyBDb3B5cmlnaHQg MjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsjIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0r IyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQotKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCi0rIwotKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMg YWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3Jn L2xpY2Vuc2VzLz4uCi0rCi0rIyBUZXN0IGRlYnVnaW5mb2QgZnVuY3Rpb25hbGl0eQotKwotK3N0 YW5kYXJkX3Rlc3RmaWxlIG1haW4uYwotKwotK2xvYWRfbGliIGR3YXJmLmV4cAotKwotK2lmIHsg W3doaWNoIGRlYnVnaW5mb2RdID09IDAgfSB7Ci0rICAgIHVudGVzdGVkICJjYW5ub3QgZmluZCBk ZWJ1Z2luZm9kIgotKyAgICByZXR1cm4gLTEKLSt9Ci0rCi0raWYgeyBbd2hpY2ggY3VybF0gPT0g MCB9IHsKLSsgICAgdW50ZXN0ZWQgImNhbm5vdCBmaW5kIGN1cmwiCi0rICAgIHJldHVybiAtMQot K30KLSsKLSsjIFNraXAgdGVzdGluZyBpZiBnZGIgd2FzIG5vdCBjb25maWd1cmVkIHdpdGggZGVi dWdpbmZvZAotK2lmIHsgW3N0cmluZyBmaXJzdCAid2l0aC1kZWJ1Z2luZm9kIiBcCi0rCSAgW2V2 YWwgZXhlYyAkR0RCICRJTlRFUk5BTF9HREJGTEFHUyAtLWNvbmZpZ3VyYXRpb25dXSA9PSAtMSB9 IHsKLSsgICAgdW50ZXN0ZWQgImdkYiBub3QgY29uZmlndXJlZCB3aXRoIGRlYnVnaW5mb2QiCi0r ICAgIHJldHVybiAtMQotK30KLSsKLStzZXQgY2FjaGUgW3N0YW5kYXJkX291dHB1dF9maWxlICIu Y2xpZW50X2NhY2hlIl0KLStzZXQgZGIgW3N0YW5kYXJkX291dHB1dF9maWxlICIuZGVidWdpbmZv ZC5kYiJdCi0rCi0rIyBEZWxldGUgYW55IHByZWV4aXN0aW5nIHRlc3QgZmlsZXMKLStmaWxlIGRl bGV0ZSAtZm9yY2UgJGNhY2hlCi0rZmlsZSBkZWxldGUgLWZvcmNlICRkYgotKwotK3NldCBzb3Vy Y2V0bXAgW3N0YW5kYXJkX291dHB1dF9maWxlIHRtcC0ke3NyY2ZpbGV9XQotK3NldCBvdXRwdXRk aXIgW3N0YW5kYXJkX291dHB1dF9maWxlIHt9XQotKwotKyMgTWFrZSBhIGNvcHkgc291cmNlIGZp bGUgdGhhdCB3ZSBjYW4gbW92ZSBhcm91bmQKLStpZiB7IFtjYXRjaCB7ZmlsZSBjb3B5IC1mb3Jj ZSAke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7c3JjZmlsZX0gXAotKwkgICAgIFtzdGFuZGFyZF9vdXRw dXRfZmlsZSAke3NvdXJjZXRtcH1dfV0gIT0gMCB9IHsKLSsgICAgZXJyb3IgImNyZWF0ZSB0ZW1w b3JhcnkgZmlsZSIKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotK2lmIHsgW2dkYl9jb21waWxlICIk c291cmNldG1wIiAiJGJpbmZpbGUiIGV4ZWN1dGFibGUge2RlYnVnfV0gIT0gIiIgfSB7Ci0rICAg IGZhaWwgImNvbXBpbGUiCi0rICAgIHJldHVybiAtMQotK30KLSsKLStzZXRlbnYgREVCVUdJTkZP RF9VUkxTICIiCi0rc2V0ZW52IERFQlVHSU5GT0RfVElNRU9VVCAzMAotK3NldGVudiBERUJVR0lO Rk9EX0NBQ0hFX1BBVEggJGNhY2hlCi0rCi0rIyBUZXN0IHRoYXQgZ2RiIGNhbm5vdCBmaW5kIHNv dXJjZSB3aXRob3V0IGRlYnVnaW5mb2QKLStjbGVhbl9yZXN0YXJ0ICRiaW5maWxlCi0rZ2RiX3Rl c3Rfbm9fb3V0cHV0ICJzZXQgc3Vic3RpdHV0ZS1wYXRoICRvdXRwdXRkaXIgL2Rldi9udWxsIgot K2dkYl90ZXN0ICJsaXN0IiAiLipObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5LioiCi0rCi0rIyBT dHJpcCBzeW1ib2xzIGludG8gc2VwYXJhdGUgZmlsZSBhbmQgbW92ZSBpdCBzbyBnZGIgY2Fubm90 IGZpbmQgaXQgd2l0aG91dCBkZWJ1Z2luZm9kCi0raWYgeyBbZ2RiX2dudV9zdHJpcF9kZWJ1ZyAk YmluZmlsZSAiIl0gIT0gMCB9IHsKLSsgICAgZmFpbCAic3RyaXAgZGVidWdpbmZvIgotKyAgICBy ZXR1cm4gLTEKLSt9Ci0rCi0rc2V0IGRlYnVnZGlyIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAiZGVi dWciXQotK3NldCBkZWJ1Z2luZm8gW3N0YW5kYXJkX291dHB1dF9maWxlICJmZXRjaF9zcmNfYW5k X3N5bWJvbHMuZGVidWciXQotKwotK2ZpbGUgbWtkaXIgJGRlYnVnZGlyCi0rZmlsZSByZW5hbWUg LWZvcmNlICRkZWJ1Z2luZm8gJGRlYnVnZGlyCi0rCi0rIyBUZXN0IHRoYXQgZ2RiIGNhbm5vdCBm aW5kIHN5bWJvbHMgd2l0aG91dCBkZWJ1Z2luZm9kCi0rY2xlYW5fcmVzdGFydCAkYmluZmlsZQot K2dkYl90ZXN0ICJmaWxlIiAiLipObyBzeW1ib2wgZmlsZS4qIgotKwotKyMgV3JpdGUgc29tZSBh c3NlbWJseSB0aGF0IGp1c3QgaGFzIGEgLmdudV9kZWJ1Z2FsdGxpbmsgc2VjdGlvbi4KLSsjIENv cGllZCBmcm9tIHRlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3emJ1aWxkaWQuZXhwLgotK3Byb2Mgd3Jp dGVfanVzdF9kZWJ1Z2FsdGxpbmsge2ZpbGVuYW1lIGR3em5hbWUgYnVpbGRpZH0gewotKyAgICBz ZXQgYXNtX2ZpbGUgW3N0YW5kYXJkX291dHB1dF9maWxlICRmaWxlbmFtZV0KLSsKLSsgICAgRHdh cmY6OmFzc2VtYmxlICRhc21fZmlsZSB7Ci0rCXVwdmFyIGR3em5hbWUgZHd6bmFtZQotKwl1cHZh ciBidWlsZGlkIGJ1aWxkaWQKLSsKLSsJZ251X2RlYnVnYWx0bGluayAkZHd6bmFtZSAkYnVpbGRp ZAotKwotKwkjIE9ubHkgdGhlIERXQVJGIHJlYWRlciBjaGVja3MgLmdudV9kZWJ1Z2FsdGxpbmss IHNvIG1ha2Ugc3VyZQotKwkjIHRoZXJlIGlzIGEgYml0IG9mIERXQVJGIGluIGhlcmUuCi0rCWN1 IHt9IHsKLSsJICAgIGNvbXBpbGVfdW5pdCB7e2xhbmd1YWdlIEBEV19MQU5HX0N9fSB7Ci0rCSAg ICB9Ci0rCX0KLSsgICAgfQotK30KLSsKLSsjIFdyaXRlIHNvbWUgRFdBUkYgdGhhdCBhbHNvIHNl dHMgdGhlIGJ1aWxkaWQuCi0rIyBDb3BpZWQgZnJvbSB0ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kd3pi dWlsZGlkLmV4cC4KLStwcm9jIHdyaXRlX2R3YXJmX2ZpbGUge2ZpbGVuYW1lIGJ1aWxkaWQge3Zh bHVlIDk5fX0gewotKyAgICBzZXQgYXNtX2ZpbGUgW3N0YW5kYXJkX291dHB1dF9maWxlICRmaWxl bmFtZV0KLSsKLSsgICAgRHdhcmY6OmFzc2VtYmxlICRhc21fZmlsZSB7Ci0rCWRlY2xhcmVfbGFi ZWxzIGludF9sYWJlbCBpbnRfbGFiZWwyCi0rCi0rCXVwdmFyIGJ1aWxkaWQgYnVpbGRpZAotKwl1 cHZhciB2YWx1ZSB2YWx1ZQotKwotKwlidWlsZF9pZCAkYnVpbGRpZAotKwotKwljdSB7fSB7Ci0r CSAgICBjb21waWxlX3VuaXQge3tsYW5ndWFnZSBARFdfTEFOR19DfX0gewotKwkgICAgICAgIGlu dF9sYWJlbDI6IGJhc2VfdHlwZSB7Ci0rCQkgICAge25hbWUgaW50fQotKwkJICAgIHtieXRlX3Np emUgNCBzZGF0YX0KLSsJCSAgICB7ZW5jb2RpbmcgQERXX0FURV9zaWduZWR9Ci0rCQl9Ci0rCi0r CQljb25zdGFudCB7Ci0rCQkgICAge25hbWUgdGhlX2ludH0KLSsJCSAgICB7dHlwZSA6JGludF9s YWJlbDJ9Ci0rCQkgICAge2NvbnN0X3ZhbHVlICR2YWx1ZSBkYXRhMX0KLSsJCX0KLSsJICAgIH0K LSsJfQotKyAgICB9Ci0rfQotKwotK3NldCBidWlsZGlkICIwMTIzNDU2Nzg5MGFiY2RlZjAxMjM0 NTYiCi0rCi0rd3JpdGVfanVzdF9kZWJ1Z2FsdGxpbmsgJHtiaW5maWxlfV9oYXNfYWx0bGluay5T ICR7YmluZmlsZX1fZHd6Lm8gJGJ1aWxkaWQKLSt3cml0ZV9kd2FyZl9maWxlICR7YmluZmlsZX1f ZHd6LlMgJGJ1aWxkaWQKLSsKLStpZiB7W2dkYl9jb21waWxlICR7YmluZmlsZX1faGFzX2FsdGxp bmsuUyAke2JpbmZpbGV9X2FsdC5vIG9iamVjdCBub2RlYnVnXSAhPSAiIn0gewotKyAgICBmYWls ICJjb21waWxlIG1haW4gd2l0aCBhbHRsaW5rIgotKyAgICByZXR1cm4gLTEKLSt9Ci0rCi0raWYg e1tnZGJfY29tcGlsZSAke2JpbmZpbGV9X2R3ei5TICR7YmluZmlsZX1fZHd6Lm8gb2JqZWN0IG5v ZGVidWddICE9ICIifSB7Ci0rICAgIGZhaWwgImNvbXBpbGUgYWx0bGluayIKLSsgICAgcmV0dXJu IC0xCi0rfQotKwotK2ZpbGUgcmVuYW1lIC1mb3JjZSAke2JpbmZpbGV9X2R3ei5vICRkZWJ1Z2Rp cgotKwotKyMgVGVzdCB0aGF0IGdkYiBjYW5ub3QgZmluZCBkd3ogd2l0aG91dCBkZWJ1Z2luZm9k LgotK2NsZWFuX3Jlc3RhcnQKLStnZGJfdGVzdCAiZmlsZSAke2JpbmZpbGV9X2FsdC5vIiAiLipj b3VsZCBub3QgZmluZCAnLmdudV9kZWJ1Z2FsdGxpbmsnLioiCi0rCi0rIyBGaW5kIGFuIHVudXNl ZCBwb3J0Ci0rc2V0IHBvcnQgNzk5OQotK3NldCBmb3VuZCAwCi0rd2hpbGUgeyAhICRmb3VuZCB9 IHsKLSsgIGluY3IgcG9ydAotKyAgaWYgeyAkcG9ydCA9PSA2NTUzNiB9IHsKLSsgICAgZmFpbCAi bm8gYXZhaWxhYmxlIHBvcnRzIgotKyAgICByZXR1cm4gLTEKLSsgIH0KLSsKLSsgIHNwYXduIGRl YnVnaW5mb2QgLXZ2dnYgLWQgJGRiIC1wICRwb3J0IC1GICRkZWJ1Z2RpcgotKyAgZXhwZWN0IHsK LSsgICAgInN0YXJ0ZWQgaHR0cCBzZXJ2ZXIgb24gSVB2NCBJUHY2IHBvcnQ9JHBvcnQiIHsgc2V0 IGZvdW5kIDEgfQotKyAgICAiZmFpbGVkIHRvIGJpbmQgdG8gcG9ydCIgeyBraWxsX3dhaXRfc3Bh d25lZF9wcm9jZXNzICRzcGF3bl9pZCB9Ci0rICAgIHRpbWVvdXQgewotKyAgICAgIGZhaWwgImZp bmQgcG9ydCB0aW1lb3V0IgotKyAgICAgIHJldHVybiAtMQotKyAgICB9Ci0rICB9Ci0rfQotKwot K3NldCBtZXRyaWNzIFtsaXN0ICJyZWFkeSAxIiBcCi0rCSAgICAgInRocmVhZF93b3JrX3RvdGFs e3JvbGU9XCJ0cmF2ZXJzZVwifSAxIiBcCi0rCSAgICAgInRocmVhZF93b3JrX3BlbmRpbmd7cm9s ZT1cInNjYW5cIn0gMCIgXAotKwkgICAgICJ0aHJlYWRfYnVzeXtyb2xlPVwic2NhblwifSAwIl0K LSsKLSsjIENoZWNrIHNlcnZlciBtZXRyaWNzIHRvIGNvbmZpcm0gaW5pdCBoYXMgY29tcGxldGVk LgotK2ZvcmVhY2ggbSAkbWV0cmljcyB7Ci0rICBzZXQgdGltZWxpbSAyMAotKyAgd2hpbGUgeyAk dGltZWxpbSAhPSAwIH0gewotKyAgICBzbGVlcCAwLjUKLSsgICAgY2F0Y2gge2V4ZWMgY3VybCAt cyBodHRwOi8vMTI3LjAuMC4xOiRwb3J0L21ldHJpY3N9IGdvdAotKwotKyAgICBpZiB7IFtyZWdl eHAgJG0gJGdvdF0gfSB7Ci0rICAgICAgYnJlYWsKLSsgICAgfQotKwotKyAgICBpbmNyIHRpbWVs aW0gLTEKLSsgIH0KLSsKLSsgIGlmIHsgJHRpbWVsaW0gPT0gMCB9IHsKLSsgICAgZmFpbCAic2Vy dmVyIGluaXQgdGltZW91dCIKLSsgICAgcmV0dXJuIC0xCi0rICB9Ci0rfQotKwotKyMgUG9pbnQg dGhlIGNsaWVudCB0byB0aGUgc2VydmVyCi0rc2V0ZW52IERFQlVHSU5GT0RfVVJMUyBodHRwOi8v MTI3LjAuMC4xOiRwb3J0Ci0rCi0rIyBnZGIgc2hvdWxkIG5vdyBmaW5kIHRoZSBzeW1ib2wgYW5k IHNvdXJjZSBmaWxlcwotK2NsZWFuX3Jlc3RhcnQgJGJpbmZpbGUKLStnZGJfdGVzdF9ub19vdXRw dXQgInNldCBzdWJzdGl0dXRlLXBhdGggJG91dHB1dGRpciAvZGV2L251bGwiCi0rZ2RiX3Rlc3Qg ImJyIG1haW4iICJCcmVha3BvaW50IDEgYXQuKmZpbGUuKiIKLStnZGJfdGVzdCAibCIgIi4qVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlLioiCi0rCi0rIyBnZGIgc2hvdWxk IG5vdyBmaW5kIHRoZSBkZWJ1Z2FsdGxpbmsgZmlsZQotK2NsZWFuX3Jlc3RhcnQKLStnZGJfdGVz dCAiZmlsZSAke2JpbmZpbGV9X2FsdC5vIiAiLipSZWFkaW5nIHN5bWJvbHMgZnJvbSAke2JpbmZp bGV9X2FsdC5vXC5cLlwuKiIKLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5kZWJ1Z2lu Zm9kL21haW4uYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmRlYnVnaW5mb2QvbWFpbi5jCi1uZXcgZmls ZSBtb2RlIDEwMDY0NAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZGVi dWdpbmZvZC9tYWluLmMKLUBAIC0wLDAgKzEsMjUgQEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlzIHBh cnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdodCAyMDIwIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAz IG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LiAgKi8KLSsKLSsvKiBEdW1teSBtYWluIGZ1bmN0aW9uLiAgKi8KLSsKLStpbnQK LSttYWluKCkKLSt7Ci0rICBhc20gKCJtYWluX2xhYmVsOiAuZ2xvYmwgbWFpbl9sYWJlbCIpOwot KyAgcmV0dXJuIDA7Ci0rfQotZGlmZiAtLWdpdCBhL2dkYi90b3AuYyBiL2dkYi90b3AuYwotLS0t IGEvZ2RiL3RvcC5jCi0rKysgYi9nZGIvdG9wLmMKLUBAIC0xNTEzLDYgKzE1MTMsMTcgQEAgVGhp cyBHREIgd2FzIGNvbmZpZ3VyZWQgYXMgZm9sbG93czpcblwKLSAgICAgICAgICAgICAgLS13aXRo b3V0LXB5dGhvblxuXAotICIpKTsKLSAjZW5kaWYKLSsKLSsjaWYgSEFWRV9MSUJERUJVR0lORk9E Ci0rICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sIF8oIlwKLSsgICAgICAgICAgICAgLS13aXRo LWRlYnVnaW5mb2RcblwKLSsiKSk7Ci0rI2Vsc2UKLSsgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJl YW0sIF8oIlwKLSsgICAgICAgICAgICAgLS13aXRob3V0LWRlYnVnaW5mb2RcblwKLSsiKSk7Ci0r I2VuZGlmCi0rCi0gI2lmIEhBVkVfR1VJTEUKLSAgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwg XygiXAotICAgICAgICAgICAgICAtLXdpdGgtZ3VpbGVcblwKCmRpZmYgLS1naXQgYS9nZGItcmhi ejE4NDQ0NTgtdXNlLWZwdXRYX3VuZmlsdGVyZWQucGF0Y2ggYi9nZGItcmhiejE4NDQ0NTgtdXNl LWZwdXRYX3VuZmlsdGVyZWQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFh Y2Y3YTUuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxODQ0NDU4LXVzZS1mcHV0WF91bmZpbHRlcmVk LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIwICswLDAgQEAKLUZyb20gRkVET1JBX1BBVENI RVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTZXJnaW8gRHVyaWdhbiBKdW5pb3Ig PHNlcmdpb2RqQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDE5IEZlYiAyMDIwIDE2OjQwOjQ4IC0w NTAwCi1TdWJqZWN0OiBnZGItcmhiejE4NDQ0NTgtdXNlLWZwdXRYX3VuZmlsdGVyZWQucGF0Y2gK LQotOzsgRml4IGZwdXQ/X3VuZmlsdGVyZWQgZnVuY3Rpb25zCi07OyBSSCBCWiAxODQ0NDU4IChT ZXJnaW8gRHVyaWdhbiBKdW5pb3IgYW5kIFRvbSBUcm9tZXkpCi0KLU1ha2UgJ3twdXRjaGFyLGZw dXRjfV91bmZpbHRlcmVkJyB1c2UgJ2ZwdXRzX3VuZmlsdGVyZWQnCi0KLVRoZXJlIGlzIGN1cnJl bnRseSBhIHJlZ3Jlc3Npb24gd2hlbiB1c2luZwotJ3twdXRjaGFyLGZwdXRjfV91bmZpbHRlcmVk JyB3aXRoICdwdXRzX3VuZmlsdGVyZWQnIHdoaWNoIHdhcwotaW50cm9kdWNlZCBieSBvbmUgb2Yg dGhlIGNvbW1pdHMgdGhhdCByZXdvcmtlZCB0aGUgdW5maWx0ZXJlZCBwcmludAotY29kZS4KLQot VGhlIHJlZ3Jlc3Npb24gbWFrZXMgaXQgaW1wb3NzaWJsZSB0byB1c2UgJ3twdXRjaGFyLGZwdXRj fV91bmZpbHRlcmVkJwotd2l0aCAncHV0c191bmZpbHRlcmVkJywgYmVjYXVzZSB0aGUgZm9ybWVy IHdyaXRlcyBkaXJlY3RseSB0byB0aGUKLXVpX2ZpbGUgc3RyZWFtIHVzaW5nICdzdHJlYW0tPndy aXRlJywgd2hpbGUgdGhlIGxhdHRlciB1c2VzIGEgYnVmZmVyZWQKLW1lY2hhbmlzbSAoc2VlICd3 cmFwX2J1ZmZlcicpIGFuZCBkZWxheXMgdGhlIHByaW50aW5nLgotCi1JZiB5b3UgZG8gYSBxdWlj ayAmIGRpcnR5IGhhY2sgb24gZS5nLiB0b3AuYzpzaG93X2dkYl9kYXRhZGlyOgotCi0gIEBAIC0y MDg4LDYgKzIwODgsMTMgQEAgc3RhdGljIHZvaWQKLSAgIHNob3dfZ2RiX2RhdGFkaXIgKHN0cnVj dCB1aV9maWxlICpmaWxlLCBpbnQgZnJvbV90dHksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVj dCBjbWRfbGlzdF9lbGVtZW50ICpjLCBjb25zdCBjaGFyICp2YWx1ZSkKLSAgIHsKLSAgKyAgcHV0 Y2hhcl91bmZpbHRlcmVkICgnXG4nKTsKLSAgKyAgcHV0c191bmZpbHRlcmVkICgiVEVTVCIpOwot ICArICBwdXRjaGFyX3VuZmlsdGVyZWQgKCc+Jyk7Ci0gICsgIHB1dHNfdW5maWx0ZXJlZCAoIlBV VFMiKTsKLSAgKyAgcHV0c191bmZpbHRlcmVkICgiUFVUUyIpOwotICArICBwdXRjaGFyX3VuZmls dGVyZWQgKCdcbicpOwotCi1yZWJ1aWxkIEdEQiBhbmQgaW52b2tlIHRoZSAic2hvdyBkYXRhLWRp cmVjdG9yeSIgY29tbWFuZCwgeW91IHdpbGwKLXNlZToKLQotICAoZ2RiKSBzaG93IGRhdGEtZGly ZWN0b3J5Ci0KLSAgPgotICBURVNUUFVUU0dEQidzIGRhdGEgZGlyZWN0b3J5IGlzICIvdXNyL2xv Y2FsL3NoYXJlL2dkYiIuCi0KLU5vdGUgaG93IHRoZSAnPicgd2FzIHByaW50ZWQgYmVmb3JlIHRo ZSBvdXRwdXQsIGFuZCAiVEVTVCIgYW5kICJQVVRTIgotd2VyZSBwcmludGVkIHRvZ2V0aGVyLgot Ci1NeSBmaXJzdCBhdHRlbXB0IHRvIGZpeCB0aGlzIHdhcyB0byBhbHdheXMgY2FsbCAnZmx1c2hf d3JhcF9idWZmZXInIGF0Ci10aGUgZW5kIG9mICdmcHV0c19tYXliZV9maWx0ZXJlZCcsIHNpbmNl IGl0IHNlZW1lZCB0byBtZSB0aGF0IHRoZQotZnVuY3Rpb24gc2hvdWxkIGFsd2F5cyBwcmludCB3 aGF0IHdhcyByZXF1ZXN0ZWQuICBCdXQgSSB3YXNuJ3Qgc3VyZQotdGhpcyB3YXMgdGhlIHJpZ2h0 IHRoaW5nIHRvIGRvLCBzbyBJIHRhbGtlZCB0byBUb20gb24gSVJDIGFuZCBoZSBnYXZlCi1tZSBh bm90aGVyLCBzaW1wbGVyIGlkZWE6IG1ha2UgJ3twdXRjaGFyLGZwdXRjfV91bmZpbHRlcmVkJyBj YWxsIGludG8KLXRoZSBhbHJlYWR5IGV4aXN0aW5nICdmcHV0c191bmZpbHRlcmVkJyBmdW5jdGlv bi4KLQotVGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoZSBpZGVhLiAgSSByZWd0ZXN0ZWQgaXQgb24g dGhlIEJ1aWxkYm90LCBhbmQKLW5vIHJlZ3Jlc3Npb25zIHdlcmUgZGV0ZWN0ZWQuCi0KLWdkYi9D aGFuZ2VMb2c6Ci0yMDIwLTAyLTIwICBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgIDxzZXJnaW9kakBy ZWRoYXQuY29tPgotICAgICAgICAgICAgVG9tIFRyb21leSAgPHRvbUB0cm9tZXkuY29tPgotCi0g ICAgICAgICogdXRpbHMuYyAoZnB1dHNfbWF5YmVfZmlsdGVyZWQpOiBDYWxsICdzdHJlYW0tPnB1 dHMnIGluc3RlYWQKLSAgICAgICAgb2YgJ2ZwdXRjX3VuZmlsdGVyZWQnLgotICAgICAgICAocHV0 Y2hhcl91bmZpbHRlcmVkKTogQ2FsbCAnZnB1dGNfdW5maWx0ZXJlZCcuCi0gICAgICAgIChmcHV0 Y191bmZpbHRlcmVkKTogQ2FsbCAnZnB1dHNfdW5maWx0ZXJlZCcuCi0KLWRpZmYgLS1naXQgYS9n ZGIvdXRpbHMuYyBiL2dkYi91dGlscy5jCi0tLS0gYS9nZGIvdXRpbHMuYwotKysrIGIvZ2RiL3V0 aWxzLmMKLUBAIC0xNzgzLDcgKzE3ODMsMTIgQEAgZnB1dHNfbWF5YmVfZmlsdGVyZWQgKGNvbnN0 IGNoYXIgKmxpbmVidWZmZXIsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCi0gCQkgICAgIG5ld2xp bmUgLS0gaWYgY2hhcnNfcGVyX2xpbmUgaXMgcmlnaHQsIHdlCi0gCQkgICAgIHByb2JhYmx5IGp1 c3Qgb3ZlcmZsb3dlZCBhbnl3YXk7IGlmIGl0J3Mgd3JvbmcsCi0gCQkgICAgIGxldCB1cyBrZWVw IGdvaW5nLiAgKi8KLS0JCSAgZnB1dGNfdW5maWx0ZXJlZCAoJ1xuJywgc3RyZWFtKTsKLSsJCSAg LyogWFhYOiBUaGUgaWRlYWwgdGhpbmcgd291bGQgYmUgdG8gY2FsbAotKwkJICAgICAnc3RyZWFt LT5wdXRjJyBoZXJlLCBidXQgd2UgY2FuJ3QgYmVjYXVzZSBpdAotKwkJICAgICBjdXJyZW50bHkg Y2FsbHMgJ2ZwdXRjX3VuZmlsdGVyZWQnLCB3aGljaCBlbmRzIHVwCi0rCQkgICAgIGNhbGxpbmcg dXMsIHdoaWNoIGdlbmVyYXRlcyBhbiBpbmZpbml0ZQotKwkJICAgICByZWN1cnNpb24uICAqLwot KwkJICBzdHJlYW0tPnB1dHMgKCJcbiIpOwotIAkJfQotIAkgICAgICBlbHNlCi0gCQl7Ci1AQCAt MTgyOCw3ICsxODMzLDEyIEBAIGZwdXRzX21heWJlX2ZpbHRlcmVkIChjb25zdCBjaGFyICpsaW5l YnVmZmVyLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAotIAkgIHdyYXBfaGVyZSAoKGNoYXIgKikg MCk7CS8qIFNwaXQgb3V0IGNoYXJzLCBjYW5jZWwKLSAJCQkJCSAgIGZ1cnRoZXIgd3JhcHMuICAq LwotIAkgIGxpbmVzX3ByaW50ZWQrKzsKLS0JICBmcHV0Y191bmZpbHRlcmVkICgnXG4nLCBzdHJl YW0pOwotKwkgIC8qIFhYWDogVGhlIGlkZWFsIHRoaW5nIHdvdWxkIGJlIHRvIGNhbGwKLSsJICAg ICAnc3RyZWFtLT5wdXRjJyBoZXJlLCBidXQgd2UgY2FuJ3QgYmVjYXVzZSBpdAotKwkgICAgIGN1 cnJlbnRseSBjYWxscyAnZnB1dGNfdW5maWx0ZXJlZCcsIHdoaWNoIGVuZHMgdXAKLSsJICAgICBj YWxsaW5nIHVzLCB3aGljaCBnZW5lcmF0ZXMgYW4gaW5maW5pdGUKLSsJICAgICByZWN1cnNpb24u ICAqLwotKwkgIHN0cmVhbS0+cHV0cyAoIlxuIik7Ci0gCSAgbGluZXB0cisrOwotIAl9Ci0gICAg IH0KLUBAIC0xOTIzLDEwICsxOTMzLDcgQEAgZnB1dHNfaGlnaGxpZ2h0ZWQgKGNvbnN0IGNoYXIg KnN0ciwgY29uc3QgY29tcGlsZWRfcmVnZXggJmhpZ2hsaWdodCwKLSBpbnQKLSBwdXRjaGFyX3Vu ZmlsdGVyZWQgKGludCBjKQotIHsKLS0gIGNoYXIgYnVmID0gYzsKLS0KLS0gIHVpX2ZpbGVfd3Jp dGUgKGdkYl9zdGRvdXQsICZidWYsIDEpOwotLSAgcmV0dXJuIGM7Ci0rICByZXR1cm4gZnB1dGNf dW5maWx0ZXJlZCAoYywgZ2RiX3N0ZG91dCk7Ci0gfQotIAotIC8qIFdyaXRlIGNoYXJhY3RlciBD IHRvIGdkYl9zdGRvdXQgdXNpbmcgR0RCJ3MgcGFnaW5nIG1lY2hhbmlzbSBhbmQgcmV0dXJuIEMu Ci1AQCAtMTk0MSw5ICsxOTQ4LDExIEBAIHB1dGNoYXJfZmlsdGVyZWQgKGludCBjKQotIGludAot IGZwdXRjX3VuZmlsdGVyZWQgKGludCBjLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQotIHsKLS0g IGNoYXIgYnVmID0gYzsKLSsgIGNoYXIgYnVmWzJdOwotIAotLSAgdWlfZmlsZV93cml0ZSAoc3Ry ZWFtLCAmYnVmLCAxKTsKLSsgIGJ1ZlswXSA9IGM7Ci0rICBidWZbMV0gPSAwOwotKyAgZnB1dHNf dW5maWx0ZXJlZCAoYnVmLCBzdHJlYW0pOwotICAgcmV0dXJuIGM7Ci0gfQotIAoKZGlmZiAtLWdp dCBhL2dkYi1yaGJ6MTg2OTQ4NC1kZWxldGVkLXdvcmtpbmctZGlyZWN0b3J5IGIvZ2RiLXJoYnox ODY5NDg0LWRlbGV0ZWQtd29ya2luZy1kaXJlY3RvcnkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IGY5NTg0ZWEuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxODY5NDg0LWRlbGV0ZWQtd29y a2luZy1kaXJlY3RvcnkKKysrIC9kZXYvbnVsbApAQCAtMSwyNDAgKzAsMCBAQAotRnJvbSBGRURP UkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtldmluIEJ1ZXR0bmVy IDxrZXZpbmJAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMjAgQXVnIDIwMjAgMjA6NTI6MTIgLTA3 MDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTg2OTQ4NC1kZWxldGVkLXdvcmtpbmctZGlyZWN0b3J5Ci0K LTs7IEJhY2twb3J0IHBhdGNoZXMgZml4aW5nIGFib3J0IHdoZW4gd29ya2luZyBkaXJlY3Rvcnkg aXMgZGVsZXRlZC4KLQotR3VhcmQgYWdhaW5zdCAnY3VycmVudF9kaXJlY3RvcnkgPT0gTlVMTCcg b24gZ2RiX2Fic3BhdGggKFBSIGdkYi8yMzYxMykKLQotUmVmLjogaHR0cHM6Ly9idWd6aWxsYS5y ZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xNzI4MTQ3Ci1SZWYuOiBodHRwczovL3NvdXJjZXdh cmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMzYxMwotCi1IaSwKLQotVGhpcyBidWcg aGFzIGJlZW4gcmVwb3J0ZWQgYWdhaW5zdCBGZWRvcmEgR0RCLCBidXQgdGhlcmUncyBhbHNvIGFu Ci11cHN0cmVhbSBidWcuICBUaGUgcHJvYmxlbSByZXBvcnRlZCBpcyB0aGF0IEdEQiBzZWdmYXVs dHMgd2hlbiB0aGUKLXdvcmtpbmcgZGlyZWN0b3J5IGlzIGRlbGV0ZWQuICBJdCdzIHByZXR0eSB1 c2UgdG8gcmVwcm9kdWNlIGl0OgotCi0gIG1rZGlyIGJsYQotICBjZCBibGEKLSAgcm1kaXIgLi4v YmxhCi0gIGdkYiBlY2hvCi0KLURlYnVnZ2luZyB0aGUgcHJvYmxlbSBpcyBhIGJpdCB0cmlja3ks IGJlY2F1c2UsIHNpbmNlIHRoZSBjdXJyZW50Ci1kaXJlY3RvcnkgZG9lc24ndCBleGlzdCBhbnlt b3JlLCBhIGNvcmVmaWxlIGNhbm5vdCBiZSBzYXZlZCB0aGVyZS4KLUFmdGVyIGEgZmV3IGF0dGVt cHRzLCBJIGNhbWUgdXAgd2l0aCB0aGUgZm9sbG93aW5nOgotCi0gIGdkYiAtZXggJ3NoZWxsIG1r ZGlyIGJsYScgLWV4ICdjZCBibGEnIC1leCAnc2hlbGwgcm1kaXIgLi4vYmxhJyAtZXggJ3IgZWNo bycgLi9nZGIvZ2RiCi0KLVRoaXMgYXNzdW1lcyB0aGF0IHlvdSdyZSBpbnNpZGUgYSBidWlsZCBk aXJlY3Rvcnkgd2hpY2ggY29udGFpbnMKLS4vZ2RiL2dkYiwgb2YgY291cnNlLgotCi1BZnRlciBp bnZlc3RpZ2F0aW5nIGl0LCBJIGZvdW5kIHRoYXQgdGhlIHByb2JsZW0gaGFwcGVucyBhdAotZ2Ri X2Fic3BhdGgsIHdoZXJlIHdlJ3JlIGRlcmVmZXJlbmNpbmcgJ2N1cnJlbnRfZGlyZWN0b3J5JyB3 aXRob3V0Ci1jaGVja2luZyBpZiBpdCdzIE5VTEw6Ci0KLSAgICAuLi4KLSAgICAoY29uY2F0IChj dXJyZW50X2RpcmVjdG9yeSwKLQkgICAgIElTX0RJUl9TRVBBUkFUT1IgKGN1cnJlbnRfZGlyZWN0 b3J5W3N0cmxlbiAoY3VycmVudF9kaXJlY3RvcnkpIC0gMV0pCi0JICAgICA/ICIiIDogU0xBU0hf U1RSSU5HLAotICAgIC4uLgotCi1TbyBJIGZpeGVkIHRoZSBwcm9ibGVtIHdpdGggdGhlIHBhdGNo IGJlbG93LiAgVGhlIGlkZWEgaXMgdGhhdCwgaWYKLSdjdXJyZW50X2RpcmVjdG9yeScgaXMgTlVM TCwgdGhlbiB0aGUgZmluYWwgc3RyaW5nIHJldHVybmVkIHNob3VsZCBiZQotanVzdCB0aGUgInBh dGgiLgotCi1BZnRlciBmaXhpbmcgdGhlIGJ1ZywgSSBmb3VuZCBhIHNpbWlsYXIgb25lIHJlcG9y dGVkIGFnYWluc3Qgb3VyCi1idWd6aWxsYTogUFIgZ2RiLzIzNjEzLiAgVGhlIHByb2JsZW0gaXMg dGhlIHNhbWUsIGJ1dCB0aGUgcmVwcm9kdWNlcgotaXMgYSBiaXQgZGlmZmVyZW50LgotCi1JIHJl YWxseSB0cmllZCB3cml0aW5nIGEgdGVzdGNhc2UgZm9yIHRoaXMsIGJ1dCB1bmZvcnR1bmF0ZWx5 IGl0J3MKLWFwcGFyZW50bHkgbm90IHBvc3NpYmxlIHRvIHN0YXJ0IEdEQiBpbnNpZGUgYSBub24t ZXhpc3RlbnQgZGlyZWN0b3J5Ci13aXRoIERlamFHTlUuCi0KLUkgcmVncmVzc2lvbiB0ZXN0ZWQg dGhpcyBwYXRjaCBvbiB0aGUgQnVpbGRCb3QsIGFuZCBubyByZWdyZXNzaW9ucwotd2VyZSBmb3Vu ZC4KLQotZ2RiL0NoYW5nZUxvZzoKLTIwMTktMTItMTQgIFNlcmdpbyBEdXJpZ2FuIEp1bmlvciAg PHNlcmdpb2RqQHJlZGhhdC5jb20+Ci0KLQlodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hv d19idWcuY2dpP2lkPTE3MjgxNDcKLQlQUiBnZGIvMjM2MTMKLQkqIGJzZC1rdm0uYyAoYnNkX2t2 bV90YXJnZXRfb3Blbik6IFVzZSAnZ2RiX2Fic3BhdGgnLgotCSogY29yZWxvdy5jOiBJbmNsdWRl ICdnZGJzdXBwb3J0L3BhdGhzdHVmZi5oJy4KLQkoY29yZV90YXJnZXRfb3Blbik6IFVzZSAnZ2Ri X2Fic3BhdGgnLgotCSogZ2Ric3VwcG9ydC9wYXRoc3R1ZmYuYyAoZ2RiX2Fic3BhdGgpOiBHdWFy ZCBhZ2FpbnN0Ci0JJ2N1cnJlbnRfZGlyZWN0b3J5ID09IE5VTEwnIGNhc2UuCi0JKiBnZGJzdXBw b3J0L3BhdGhzdHVmZi5oIChnZGJfYWJzcGF0aCk6IEV4cGFuZCBjb21tZW50IGFuZAotCWV4cGxh aW4gd2hhdCBoYXBwZW5zIHdoZW4gJ2N1cnJlbnRfZGlyZWN0b3J5JyBpcyBOVUxMLgotCSogZ28z Mi1uYXQuYyAoZ28zMl9uYXRfdGFyZ2V0Ojp3YWl0KTogQ2hlY2sgaWYKLQknY3VycmVudF9kaXJl Y3RvcnknIGlzIE5VTEwgYmVmb3JlIGNhbGwgdG8gJ2NoZGlyJy4KLQkqIHNvdXJjZS5jIChhZGRf cGF0aCk6IFVzZSAnZ2RiX2Fic3BhdGgnLgotCSogdG9wLmM6IEluY2x1ZGUgJ2dkYnN1cHBvcnQv cGF0aHN0dWZmLmgnLgotCShpbml0X2hpc3RvcnkpOiBVc2UgJ2dkYl9hYnNwYXRoJy4KLQkoc2V0 X2hpc3RvcnlfZmlsZW5hbWUpOiBMaWtld2lzZS4KLQkqIHRyYWNlZmlsZS10ZmlsZS5jOiBJbmNs dWRlICdnZGJzdXBwb3J0L3BhdGhzdHVmZi5oJy4KLQkodGZpbGVfdGFyZ2V0X29wZW4pOiBVc2Ug J2dkYl9hYnNwYXRoJy4KLQotQ2hhbmdlLUlkOiBJYmIwOTMyZmEyNWJjNWMyZDNhZTRhN2Y2NGJk N2YzMjg4NWNhNDAzYgotCi1kaWZmIC0tZ2l0IGEvZ2RiL2JzZC1rdm0uYyBiL2dkYi9ic2Qta3Zt LmMKLS0tLSBhL2dkYi9ic2Qta3ZtLmMKLSsrKyBiL2dkYi9ic2Qta3ZtLmMKLUBAIC0xMTQsMTQg KzExNCwxMyBAQCBic2Rfa3ZtX3RhcmdldF9vcGVuIChjb25zdCBjaGFyICphcmcsIGludCBmcm9t X3R0eSkKLSAKLSAgIGlmIChhcmcpCi0gICAgIHsKLS0gICAgICBjaGFyICp0ZW1wOwotLQotICAg ICAgIGZpbGVuYW1lID0gdGlsZGVfZXhwYW5kIChhcmcpOwotICAgICAgIGlmIChmaWxlbmFtZVsw XSAhPSAnLycpCi0gCXsKLS0JICB0ZW1wID0gY29uY2F0IChjdXJyZW50X2RpcmVjdG9yeSwgIi8i LCBmaWxlbmFtZSwgKGNoYXIgKilOVUxMKTsKLSsJICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxj aGFyPiB0ZW1wIChnZGJfYWJzcGF0aCAoZmlsZW5hbWUpKTsKLSsKLSAJICB4ZnJlZSAoZmlsZW5h bWUpOwotLQkgIGZpbGVuYW1lID0gdGVtcDsKLSsJICBmaWxlbmFtZSA9IHRlbXAucmVsZWFzZSAo KTsKLSAJfQotICAgICB9Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBiL2dkYi9jb3Jl bG93LmMKLS0tLSBhL2dkYi9jb3JlbG93LmMKLSsrKyBiL2dkYi9jb3JlbG93LmMKLUBAIC00OCw2 ICs0OCw3IEBACi0gI2luY2x1ZGUgImNvbXBsZXRlci5oIgotICNpbmNsdWRlICJnZGJzdXBwb3J0 L2ZpbGVzdHVmZi5oIgotICNpbmNsdWRlICJidWlsZC1pZC5oIgotKyNpbmNsdWRlICJnZGJzdXBw b3J0L3BhdGhzdHVmZi5oIgotIAotICNpZm5kZWYgT19MQVJHRUZJTEUKLSAjZGVmaW5lIE9fTEFS R0VGSUxFIDAKLUBAIC00MDcsOCArNDA4LDcgQEAgY29yZV90YXJnZXRfb3BlbiAoY29uc3QgY2hh ciAqYXJnLCBpbnQgZnJvbV90dHkpCi0gCi0gICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFy PiBmaWxlbmFtZSAodGlsZGVfZXhwYW5kIChhcmcpKTsKLSAgIGlmICghSVNfQUJTT0xVVEVfUEFU SCAoZmlsZW5hbWUuZ2V0ICgpKSkKLS0gICAgZmlsZW5hbWUucmVzZXQgKGNvbmNhdCAoY3VycmVu dF9kaXJlY3RvcnksICIvIiwKLS0JCQkgICAgZmlsZW5hbWUuZ2V0ICgpLCAoY2hhciAqKSBOVUxM KSk7Ci0rICAgIGZpbGVuYW1lID0gZ2RiX2Fic3BhdGggKGZpbGVuYW1lLmdldCAoKSk7Ci0gCi0g ICBmbGFncyA9IE9fQklOQVJZIHwgT19MQVJHRUZJTEU7Ci0gICBpZiAod3JpdGVfZmlsZXMpCi1k aWZmIC0tZ2l0IGEvZ2RiL2dkYnN1cHBvcnQvcGF0aHN0dWZmLmMgYi9nZGIvZ2Ric3VwcG9ydC9w YXRoc3R1ZmYuYwotLS0tIGEvZ2RiL2dkYnN1cHBvcnQvcGF0aHN0dWZmLmMKLSsrKyBiL2dkYi9n ZGJzdXBwb3J0L3BhdGhzdHVmZi5jCi1AQCAtMTM0LDcgKzEzNCw3IEBAIGdkYl9hYnNwYXRoIChj b25zdCBjaGFyICpwYXRoKQotICAgaWYgKHBhdGhbMF0gPT0gJ34nKQotICAgICByZXR1cm4gZ2Ri X3RpbGRlX2V4cGFuZF91cCAocGF0aCk7Ci0gCi0tICBpZiAoSVNfQUJTT0xVVEVfUEFUSCAocGF0 aCkpCi0rICBpZiAoSVNfQUJTT0xVVEVfUEFUSCAocGF0aCkgfHwgY3VycmVudF9kaXJlY3Rvcnkg PT0gTlVMTCkKLSAgICAgcmV0dXJuIG1ha2VfdW5pcXVlX3hzdHJkdXAgKHBhdGgpOwotIAotICAg LyogQmV3YXJlIHRoZSAvLyBteSBzb24sIHRoZSBFbWFjcyBiYXJmcywgdGhlIGJvdGNoIHRoYXQg Y2F0Y2guLi4gICovCi1kaWZmIC0tZ2l0IGEvZ2RiL2dkYnN1cHBvcnQvcGF0aHN0dWZmLmggYi9n ZGIvZ2Ric3VwcG9ydC9wYXRoc3R1ZmYuaAotLS0tIGEvZ2RiL2dkYnN1cHBvcnQvcGF0aHN0dWZm LmgKLSsrKyBiL2dkYi9nZGJzdXBwb3J0L3BhdGhzdHVmZi5oCi1AQCAtNDQsNyArNDQsMTAgQEAg ZXh0ZXJuIGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+Ci0gCi0gICAgQ29udHJhcnkgdG8g ImdkYl9yZWFscGF0aCIsIHRoaXMgZnVuY3Rpb24gdXNlcyBDVVJSRU5UX0RJUkVDVE9SWQotICAg IGZvciB0aGUgcGF0aCBleHBhbnNpb24uICBUaGlzIG1heSBsZWFkIHRvIHNjZW5hcmlvcyB0aGUg Y3VycmVudAotLSAgIHdvcmtpbmcgZGlyZWN0b3J5IChDV0QpIGlzIGRpZmZlcmVudCB0aGFuIENV UlJFTlRfRElSRUNUT1JZLiAgKi8KLSsgICB3b3JraW5nIGRpcmVjdG9yeSAoQ1dEKSBpcyBkaWZm ZXJlbnQgdGhhbiBDVVJSRU5UX0RJUkVDVE9SWS4KLSsKLSsgICBJZiBDVVJSRU5UX0RJUkVDVE9S WSBpcyBOVUxMLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgYSBjb3B5IG9mCi0rICAgUEFUSC4gICov Ci0gCi0gZXh0ZXJuIGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+IGdkYl9hYnNwYXRoIChj b25zdCBjaGFyICpwYXRoKTsKLSAKLWRpZmYgLS1naXQgYS9nZGIvZ28zMi1uYXQuYyBiL2dkYi9n bzMyLW5hdC5jCi0tLS0gYS9nZGIvZ28zMi1uYXQuYwotKysrIGIvZ2RiL2dvMzItbmF0LmMKLUBA IC01MDcsNyArNTA3LDggQEAgZ28zMl9uYXRfdGFyZ2V0Ojp3YWl0IChwdGlkX3QgcHRpZCwgc3Ry dWN0IHRhcmdldF93YWl0c3RhdHVzICpzdGF0dXMsCi0gICAgIH0KLSAKLSAgIGdldGN3ZCAoY2hp bGRfY3dkLCBzaXplb2YgKGNoaWxkX2N3ZCkpOyAvKiBpbiBjYXNlIGl0IGhhcyBjaGFuZ2VkICov Ci0tICBjaGRpciAoY3VycmVudF9kaXJlY3RvcnkpOwotKyAgaWYgKGN1cnJlbnRfZGlyZWN0b3J5 ICE9IE5VTEwpCi0rICAgIGNoZGlyIChjdXJyZW50X2RpcmVjdG9yeSk7Ci0gCi0gICBpZiAoYV90 c3MudHNzX2lycW4gPT0gMHgyMSkKLSAgICAgewotZGlmZiAtLWdpdCBhL2dkYi9zb3VyY2UuYyBi L2dkYi9zb3VyY2UuYwotLS0tIGEvZ2RiL3NvdXJjZS5jCi0rKysgYi9nZGIvc291cmNlLmMKLUBA IC01NDIsOCArNTQyLDcgQEAgYWRkX3BhdGggKGNvbnN0IGNoYXIgKmRpcm5hbWUsIGNoYXIgKip3 aGljaF9wYXRoLCBpbnQgcGFyc2Vfc2VwYXJhdG9ycykKLSAJbmV3X25hbWVfaG9sZGVyLnJlc2V0 IChjb25jYXQgKG5hbWUsICIuIiwgKGNoYXIgKikgTlVMTCkpOwotICNlbmRpZgotICAgICAgIGVs c2UgaWYgKCFJU19BQlNPTFVURV9QQVRIIChuYW1lKSAmJiBuYW1lWzBdICE9ICckJykKLS0JbmV3 X25hbWVfaG9sZGVyLnJlc2V0IChjb25jYXQgKGN1cnJlbnRfZGlyZWN0b3J5LCBTTEFTSF9TVFJJ TkcsIG5hbWUsCi0tCQkJCSAgICAgICAoY2hhciAqKSBOVUxMKSk7Ci0rCW5ld19uYW1lX2hvbGRl ciA9IGdkYl9hYnNwYXRoIChuYW1lKTsKLSAgICAgICBlbHNlCi0gCW5ld19uYW1lX2hvbGRlci5y ZXNldCAoc2F2ZXN0cmluZyAobmFtZSwgcCAtIG5hbWUpKTsKLSAgICAgICBuYW1lID0gbmV3X25h bWVfaG9sZGVyLmdldCAoKTsKLWRpZmYgLS1naXQgYS9nZGIvdG9wLmMgYi9nZGIvdG9wLmMKLS0t LSBhL2dkYi90b3AuYwotKysrIGIvZ2RiL3RvcC5jCi1AQCAtNTQsNiArNTQsNyBAQAotICNpbmNs dWRlICJnZGJfc2VsZWN0LmgiCi0gI2luY2x1ZGUgImdkYnN1cHBvcnQvc2NvcGUtZXhpdC5oIgot ICNpbmNsdWRlICJnZGJhcmNoLmgiCi0rI2luY2x1ZGUgImdkYnN1cHBvcnQvcGF0aHN0dWZmLmgi Ci0gCi0gLyogcmVhZGxpbmUgaW5jbHVkZSBmaWxlcy4gICovCi0gI2luY2x1ZGUgInJlYWRsaW5l L3JlYWRsaW5lLmgiCi1AQCAtMjAyMCwxMiArMjAyMSwxMyBAQCBpbml0X2hpc3RvcnkgKHZvaWQp Ci0gICAgICAgICAgdGhhdCB3YXMgcmVhZC4gICovCi0gI2lmZGVmIF9fTVNET1NfXwotICAgICAg IC8qIE5vIGxlYWRpbmcgZG90cyBpbiBmaWxlIG5hbWVzIGFyZSBhbGxvd2VkIG9uIE1TRE9TLiAg Ki8KLS0gICAgICBoaXN0b3J5X2ZpbGVuYW1lID0gY29uY2F0IChjdXJyZW50X2RpcmVjdG9yeSwg Ii9fZ2RiX2hpc3RvcnkiLAotLQkJCQkgKGNoYXIgKilOVUxMKTsKLSsgICAgICBjb25zdCBjaGFy ICpmbmFtZSA9ICJfZ2RiX2hpc3RvcnkiOwotICNlbHNlCi0tICAgICAgaGlzdG9yeV9maWxlbmFt ZSA9IGNvbmNhdCAoY3VycmVudF9kaXJlY3RvcnksICIvLmdkYl9oaXN0b3J5IiwKLS0JCQkJIChj aGFyICopTlVMTCk7Ci0rICAgICAgY29uc3QgY2hhciAqZm5hbWUgPSAiLmdkYl9oaXN0b3J5IjsK LSAjZW5kaWYKLSsKLSsgICAgICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiB0ZW1wIChn ZGJfYWJzcGF0aCAoZm5hbWUpKTsKLSsgICAgICBoaXN0b3J5X2ZpbGVuYW1lID0gdGVtcC5yZWxl YXNlICgpOwotICAgICB9Ci0gICByZWFkX2hpc3RvcnkgKGhpc3RvcnlfZmlsZW5hbWUpOwotIH0K LUBAIC0yMTAzLDggKzIxMDUsMTIgQEAgc2V0X2hpc3RvcnlfZmlsZW5hbWUgKGNvbnN0IGNoYXIg KmFyZ3MsCi0gICAgICBkaXJlY3RvcmllcyB0aGUgZmlsZSB3cml0dGVuIHdpbGwgYmUgdGhlIHNh bWUgYXMgdGhlIG9uZQotICAgICAgdGhhdCB3YXMgcmVhZC4gICovCi0gICBpZiAoIUlTX0FCU09M VVRFX1BBVEggKGhpc3RvcnlfZmlsZW5hbWUpKQotLSAgICBoaXN0b3J5X2ZpbGVuYW1lID0gcmVj b25jYXQgKGhpc3RvcnlfZmlsZW5hbWUsIGN1cnJlbnRfZGlyZWN0b3J5LCAiLyIsIAotLQkJCQkg aGlzdG9yeV9maWxlbmFtZSwgKGNoYXIgKikgTlVMTCk7Ci0rICAgIHsKLSsgICAgICBnZGI6OnVu aXF1ZV94bWFsbG9jX3B0cjxjaGFyPiB0ZW1wIChnZGJfYWJzcGF0aCAoaGlzdG9yeV9maWxlbmFt ZSkpOwotKwotKyAgICAgIHhmcmVlIChoaXN0b3J5X2ZpbGVuYW1lKTsKLSsgICAgICBoaXN0b3J5 X2ZpbGVuYW1lID0gdGVtcC5yZWxlYXNlICgpOwotKyAgICB9Ci0gfQotIAotIHN0YXRpYyB2b2lk Ci1kaWZmIC0tZ2l0IGEvZ2RiL3RyYWNlZmlsZS10ZmlsZS5jIGIvZ2RiL3RyYWNlZmlsZS10Zmls ZS5jCi0tLS0gYS9nZGIvdHJhY2VmaWxlLXRmaWxlLmMKLSsrKyBiL2dkYi90cmFjZWZpbGUtdGZp bGUuYwotQEAgLTMyLDYgKzMyLDcgQEAKLSAjaW5jbHVkZSAieG1sLXRkZXNjLmgiCi0gI2luY2x1 ZGUgInRhcmdldC1kZXNjcmlwdGlvbnMuaCIKLSAjaW5jbHVkZSAiZ2Ric3VwcG9ydC9idWZmZXIu aCIKLSsjaW5jbHVkZSAiZ2Ric3VwcG9ydC9wYXRoc3R1ZmYuaCIKLSAjaW5jbHVkZSA8YWxnb3Jp dGhtPgotIAotICNpZm5kZWYgT19MQVJHRUZJTEUKLUBAIC00NzAsOCArNDcxLDcgQEAgdGZpbGVf dGFyZ2V0X29wZW4gKGNvbnN0IGNoYXIgKmFyZywgaW50IGZyb21fdHR5KQotIAotICAgZ2RiOjp1 bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gZmlsZW5hbWUgKHRpbGRlX2V4cGFuZCAoYXJnKSk7Ci0g ICBpZiAoIUlTX0FCU09MVVRFX1BBVEggKGZpbGVuYW1lLmdldCAoKSkpCi0tICAgIGZpbGVuYW1l LnJlc2V0IChjb25jYXQgKGN1cnJlbnRfZGlyZWN0b3J5LCAiLyIsIGZpbGVuYW1lLmdldCAoKSwK LS0JCQkgICAgKGNoYXIgKikgTlVMTCkpOwotKyAgICBmaWxlbmFtZSA9IGdkYl9hYnNwYXRoIChm aWxlbmFtZS5nZXQgKCkpOwotIAotICAgZmxhZ3MgPSBPX0JJTkFSWSB8IE9fTEFSR0VGSUxFOwot ICAgZmxhZ3MgfD0gT19SRE9OTFk7CgpkaWZmIC0tZ2l0IGEvZ2RiLXJ1bnRlc3QtcGllLW92ZXJy aWRlLnBhdGNoIGIvZ2RiLXJ1bnRlc3QtcGllLW92ZXJyaWRlLnBhdGNoCmluZGV4IGNkMGNhMGMu LjI1YzJiYjggMTAwNjQ0Ci0tLSBhL2dkYi1ydW50ZXN0LXBpZS1vdmVycmlkZS5wYXRjaAorKysg Yi9nZGItcnVudGVzdC1waWUtb3ZlcnJpZGUucGF0Y2gKQEAgLTI1LDcgKzI1LDcgQEAgYSBwcm9i bGVtIHdpdGggbWFrZSAtaiBwYXJhbGxlbGl6YXRpb24gb2YgdGhlIHRlc3RzdWl0ZS4KIGRpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9mdXR1cmUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIv ZnV0dXJlLmV4cAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZnV0dXJlLmV4cAogKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9saWIvZnV0dXJlLmV4cAotQEAgLTE5NSw2ICsxOTUsMTAgQEAgcHJvYyBnZGJf ZGVmYXVsdF90YXJnZXRfY29tcGlsZSB7c291cmNlIGRlc3RmaWxlIHR5cGUgb3B0aW9uc30gewor QEAgLTE5Nyw2ICsxOTcsMTAgQEAgcHJvYyBnZGJfZGVmYXVsdF90YXJnZXRfY29tcGlsZV8xIHtz b3VyY2UgZGVzdGZpbGUgdHlwZSBvcHRpb25zfSB7CiAgICAgIHNldCBsZGZsYWdzICIiCiAgICAg IHNldCBkZXN0IFt0YXJnZXRfaW5mbyBuYW1lXQogIApAQCAtMzYsNyArMzYsNyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZnV0dXJlLmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL2Z1 dHVyZS5leHAKICAgICAgaWYge1tpbmZvIGV4aXN0cyBDRkxBR1NfRk9SX1RBUkdFVF19IHsKICAJ YXBwZW5kIGFkZF9mbGFncyAiICRDRkxBR1NfRk9SX1RBUkdFVCIKICAgICAgfQotQEAgLTUyOSwx MCArNTMzLDYgQEAgcHJvYyBnZGJfZGVmYXVsdF90YXJnZXRfY29tcGlsZSB7c291cmNlIGRlc3Rm aWxlIHR5cGUgb3B0aW9uc30geworQEAgLTUzMSwxMCArNTM1LDYgQEAgcHJvYyBnZGJfZGVmYXVs dF90YXJnZXRfY29tcGlsZV8xIHtzb3VyY2UgZGVzdGZpbGUgdHlwZSBvcHRpb25zfSB7CiAgCX0K ICAgICAgfQogIAoKZGlmZiAtLWdpdCBhL2dkYi12bGEtaW50ZWwtZml4LXByaW50LWNoYXItYXJy YXkucGF0Y2ggYi9nZGItdmxhLWludGVsLWZpeC1wcmludC1jaGFyLWFycmF5LnBhdGNoCmluZGV4 IGNlMjAzNWMuLjIwNTA4ZGEgMTAwNjQ0Ci0tLSBhL2dkYi12bGEtaW50ZWwtZml4LXByaW50LWNo YXItYXJyYXkucGF0Y2gKKysrIGIvZ2RiLXZsYS1pbnRlbC1maXgtcHJpbnQtY2hhci1hcnJheS5w YXRjaApAQCAtMjIsMTUgKzIyLDEzIEBAIEFuZCBhZGp1c3QgaXRzIHRlc3RjYXNlLgogZGlmZiAt LWdpdCBhL2dkYi9mLXZhbHByaW50LmMgYi9nZGIvZi12YWxwcmludC5jCiAtLS0gYS9nZGIvZi12 YWxwcmludC5jCiArKysgYi9nZGIvZi12YWxwcmludC5jCi1AQCAtMzE5LDggKzMxOSwyMiBAQCBm X3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBlbWJlZGRlZF9vZmZzZXQsCi0gCQkJ CSAgICAgIG9yaWdpbmFsX3ZhbHVlLCAmb3B0cywgMCwgc3RyZWFtKTsKK0BAIC0zMTAsNyArMzEw LDIxIEBAIGZfdmFsdWVfcHJpbnRfaW5uZXIgKHN0cnVjdCB2YWx1ZSAqdmFsLCBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKKyAJICB2YWx1ZV9wcmludF9zY2FsYXJfZm9ybWF0 dGVkICh2YWwsICZvcHRzLCAwLCBzdHJlYW0pOwogIAl9CiAgICAgICAgZWxzZQotLQl2YWxfcHJp bnRfc2NhbGFyX2Zvcm1hdHRlZCAodHlwZSwgZW1iZWRkZWRfb2Zmc2V0LAotLQkJCQkgICAgb3Jp Z2luYWxfdmFsdWUsIG9wdGlvbnMsIDAsIHN0cmVhbSk7CistCXZhbHVlX3ByaW50X3NjYWxhcl9m b3JtYXR0ZWQgKHZhbCwgb3B0aW9ucywgMCwgc3RyZWFtKTsKICsJewotKwkgIHZhbF9wcmludF9z Y2FsYXJfZm9ybWF0dGVkICh0eXBlLCBlbWJlZGRlZF9vZmZzZXQsCi0rCQkJCSAgICAgIG9yaWdp bmFsX3ZhbHVlLCBvcHRpb25zLCAwLCBzdHJlYW0pOworKwkgIHZhbHVlX3ByaW50X3NjYWxhcl9m b3JtYXR0ZWQgKHZhbCwgb3B0aW9ucywgMCwgc3RyZWFtKTsKICsJICAvKiBDIGFuZCBDKysgaGFz IG5vIHNpbmdsZSBieXRlIGludCB0eXBlLCBjaGFyIGlzIHVzZWQgaW5zdGVhZC4KICsJICAgICBT aW5jZSB3ZSBkb24ndCBrbm93IHdoZXRoZXIgdGhlIHZhbHVlIGlzIHJlYWxseSBpbnRlbmRlZCB0 bwogKwkgICAgIGJlIHVzZWQgYXMgYW4gaW50ZWdlciBvciBhIGNoYXJhY3RlciwgcHJpbnQgdGhl IGNoYXJhY3RlcgpAQCAtNDAsNyArMzgsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2YtdmFscHJpbnQu YyBiL2dkYi9mLXZhbHByaW50LmMKICsJICAgICAgTE9OR0VTVCBjOwogKwogKwkgICAgICBmcHV0 c19maWx0ZXJlZCAoIiAiLCBzdHJlYW0pOwotKwkgICAgICBjID0gdW5wYWNrX2xvbmcgKHR5cGUs IHZhbGFkZHIgKyBlbWJlZGRlZF9vZmZzZXQpOworKwkgICAgICBjID0gdW5wYWNrX2xvbmcgKHR5 cGUsIHZhbGFkZHIpOwogKwkgICAgICBMQV9QUklOVF9DSEFSICgodW5zaWduZWQgY2hhcikgYywg dHlwZSwgc3RyZWFtKTsKICsJICAgIH0KICsJfQpAQCAtNTAsNyArNDgsNyBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL2YtdmFscHJpbnQuYyBiL2dkYi9mLXZhbHByaW50LmMKIGRpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50aW5nLXR5cGVzLmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vcHJpbnRpbmctdHlwZXMuZXhwCiAtLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3ByaW50aW5nLXR5cGVzLmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9wcmludGluZy10eXBlcy5leHAKLUBAIC0yOSw3ICsyOSw3IEBAIGlmIHshW3J1bnRvIE1BSU5f X119IHRoZW4geworQEAgLTMwLDcgKzMwLDcgQEAgaWYgeyFbZm9ydHJhbl9ydW50b19tYWluXX0g dGhlbiB7CiAgZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgIndyaXRlIl0KICBn ZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAid3JpdGUiCiAgCgpkaWZmIC0tZ2l0IGEvZ2RiLXZs YS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMucGF0Y2ggYi9nZGItdmxhLWludGVsLWZvcnRyYW4tc3Ry aWRlcy5wYXRjaAppbmRleCA0ZjQ2OGViLi4zMmY4YmRiIDEwMDY0NAotLS0gYS9nZGItdmxhLWlu dGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaAorKysgYi9nZGItdmxhLWludGVsLWZvcnRyYW4tc3Ry aWRlcy5wYXRjaApAQCAtMzcsNyArMzcsNyBAQCBkYmZkNzE0MGJmNGMwNTAwZDFmNWQxOTJiZTc4 MWY4M2Y3OGY3OTIyCiBkaWZmIC0tZ2l0IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFsLmMKIC0tLSBh L2dkYi9ldmFsLmMKICsrKyBiL2dkYi9ldmFsLmMKLUBAIC0zNzIsMjkgKzM3MiwzMjQgQEAgaW5p dF9hcnJheV9lbGVtZW50IChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBzdHJ1Y3QgdmFsdWUgKmVsZW1l bnQsCitAQCAtMzcxLDI5ICszNzEsMzIzIEBAIGluaXRfYXJyYXlfZWxlbWVudCAoc3RydWN0IHZh bHVlICphcnJheSwgc3RydWN0IHZhbHVlICplbGVtZW50LAogICAgcmV0dXJuIGluZGV4OwogIH0K ICAKQEAgLTU2LDE2ICs1NiwxNiBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFs LmMKICB7CiAtICBpbnQgcGMgPSAoKnBvcykgKyAxOwogLSAgTE9OR0VTVCBsb3dfYm91bmQsIGhp Z2hfYm91bmQ7Ci0tICBzdHJ1Y3QgdHlwZSAqcmFuZ2UgPSBjaGVja190eXBlZGVmIChUWVBFX0lO REVYX1RZUEUgKHZhbHVlX3R5cGUgKGFycmF5KSkpOworLSAgc3RydWN0IHR5cGUgKnJhbmdlID0g Y2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJyYXkpLT5pbmRleF90eXBlICgpKTsKIC0gIGVu dW0gcmFuZ2VfdHlwZSByYW5nZV90eXBlCiAtICAgID0gKGVudW0gcmFuZ2VfdHlwZSkgbG9uZ2Vz dF90b19pbnQgKGV4cC0+ZWx0c1twY10ubG9uZ2NvbnN0KTsKIC0gCiAtICAqcG9zICs9IDM7CiAt CiAtICBpZiAocmFuZ2VfdHlwZSA9PSBMT1dfQk9VTkRfREVGQVVMVCB8fCByYW5nZV90eXBlID09 IEJPVEhfQk9VTkRfREVGQVVMVCkKLS0gICAgbG93X2JvdW5kID0gVFlQRV9MT1dfQk9VTkQgKHJh bmdlKTsKKy0gICAgbG93X2JvdW5kID0gcmFuZ2UtPmJvdW5kcyAoKS0+bG93LmNvbnN0X3ZhbCAo KTsKIC0gIGVsc2UKLS0gICAgbG93X2JvdW5kID0gdmFsdWVfYXNfbG9uZyAoZXZhbHVhdGVfc3Vi ZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9zLCBub3NpZGUpKTsKKy0gICAgbG93X2JvdW5kID0gdmFs dWVfYXNfbG9uZyAoZXZhbHVhdGVfc3ViZXhwIChudWxscHRyLCBleHAsIHBvcywgbm9zaWRlKSk7 CiArICBpbnQgaSwgZGltX2NvdW50ID0gMDsKICsgIHN0cnVjdCB2YWx1ZSAqbmV3X2FycmF5ID0g YXJyYXk7CiArICBzdHJ1Y3QgdHlwZSAqYXJyYXlfdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVl X3R5cGUgKG5ld19hcnJheSkpOwpAQCAtMTM5LDE2ICsxMzksMTYgQEAgZGlmZiAtLWdpdCBhL2dk Yi9ldmFsLmMgYi9nZGIvZXZhbC5jCiArCSAgICAgdXBwZXIgYm91bmQuICAqLwogKwkgIGlmICgo cmFuZ2UtPmY5MF9yYW5nZV90eXBlICYgU1VCQVJSQVlfTE9XX0JPVU5EKQogKwkgICAgICA9PSBT VUJBUlJBWV9MT1dfQk9VTkQpCi0rCSAgICByYW5nZS0+bG93ID0gdmFsdWVfYXNfbG9uZyAoZXZh bHVhdGVfc3ViZXhwIChOVUxMX1RZUEUsIGV4cCwKKysJICAgIHJhbmdlLT5sb3cgPSB2YWx1ZV9h c19sb25nIChldmFsdWF0ZV9zdWJleHAgKG51bGxwdHIsIGV4cCwKICsJCQkJCQkJIHBvcywgbm9z aWRlKSk7CiArCSAgaWYgKChyYW5nZS0+ZjkwX3JhbmdlX3R5cGUgJiBTVUJBUlJBWV9ISUdIX0JP VU5EKQogKwkgICAgICA9PSBTVUJBUlJBWV9ISUdIX0JPVU5EKQotKwkgICAgcmFuZ2UtPmhpZ2gg PSB2YWx1ZV9hc19sb25nIChldmFsdWF0ZV9zdWJleHAgKE5VTExfVFlQRSwgZXhwLAorKwkgICAg cmFuZ2UtPmhpZ2ggPSB2YWx1ZV9hc19sb25nIChldmFsdWF0ZV9zdWJleHAgKG51bGxwdHIsIGV4 cCwKICsJCQkJCQkJICBwb3MsIG5vc2lkZSkpOwogKwogKwkgIC8qIEFzc2lnbiB0aGUgdXNlcidz IHN0cmlkZSB2YWx1ZSBpZiBwcm92aWRlZC4gICovCiArCSAgaWYgKChyYW5nZS0+ZjkwX3Jhbmdl X3R5cGUgJiBTVUJBUlJBWV9TVFJJREUpID09IFNVQkFSUkFZX1NUUklERSkKLSsJICAgIHJhbmdl LT5zdHJpZGUgPSB2YWx1ZV9hc19sb25nIChldmFsdWF0ZV9zdWJleHAgKE5VTExfVFlQRSwgZXhw LAorKwkgICAgcmFuZ2UtPnN0cmlkZSA9IHZhbHVlX2FzX2xvbmcgKGV2YWx1YXRlX3N1YmV4cCAo bnVsbHB0ciwgZXhwLAogKwkJCQkJCQkgICAgIHBvcywgbm9zaWRlKSk7CiArCiArCSAgLyogQXNz aWduIHRoZSBkZWZhdWx0IHN0cmlkZSB2YWx1ZSAnMScuICAqLwpAQCAtMTU2LDkgKzE1Niw5IEBA IGRpZmYgLS1naXQgYS9nZGIvZXZhbC5jIGIvZ2RiL2V2YWwuYwogKwkgICAgcmFuZ2UtPnN0cmlk ZSA9IDE7CiAgCiAtICBpZiAocmFuZ2VfdHlwZSA9PSBISUdIX0JPVU5EX0RFRkFVTFQgfHwgcmFu Z2VfdHlwZSA9PSBCT1RIX0JPVU5EX0RFRkFVTFQpCi0tICAgIGhpZ2hfYm91bmQgPSBUWVBFX0hJ R0hfQk9VTkQgKHJhbmdlKTsKKy0gICAgaGlnaF9ib3VuZCA9IHJhbmdlLT5ib3VuZHMgKCktPmhp Z2guY29uc3RfdmFsICgpOwogLSAgZWxzZQotLSAgICBoaWdoX2JvdW5kID0gdmFsdWVfYXNfbG9u ZyAoZXZhbHVhdGVfc3ViZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9zLCBub3NpZGUpKTsKKy0gICAg aGlnaF9ib3VuZCA9IHZhbHVlX2FzX2xvbmcgKGV2YWx1YXRlX3N1YmV4cCAobnVsbHB0ciwgZXhw LCBwb3MsIG5vc2lkZSkpOwogKwkgIC8qIENoZWNrIHRoZSBwcm92aWRlZCBzdHJpZGUgdmFsdWUg aXMgaWxsZWdhbCwgYWthICcwJy4gICovCiArCSAgaWYgKHJhbmdlLT5zdHJpZGUgPT0gMCkKICsJ ICAgIGVycm9yIChfKCJTdHJpZGUgbXVzdCBub3QgYmUgMCIpKTsKQEAgLTE4Myw3ICsxODMsNyBA QCBkaWZmIC0tZ2l0IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFsLmMKICsgIGZvciAoaSA9IG5hcmdz IC0gMTsgaSA+PSAwOyBpLS0pCiArICAgIHsKICsgICAgICBzdHJ1Y3Qgc3Vic2NyaXB0X3N0b3Jl ICppbmRleCA9ICZzdWJzY3JpcHRfYXJyYXlbaV07Ci0rICAgICAgc3RydWN0IHR5cGUgKmluZGV4 X3R5cGUgPSBUWVBFX0lOREVYX1RZUEUgKGFycmF5X3R5cGUpOworKyAgICAgIHN0cnVjdCB0eXBl ICppbmRleF90eXBlID0gYXJyYXlfdHlwZS0+aW5kZXhfdHlwZSAoKTsKICsKICsgICAgICBzd2l0 Y2ggKGluZGV4LT5raW5kKQogKwl7CkBAIC0xOTksMTcgKzE5OSwxNyBAQCBkaWZmIC0tZ2l0IGEv Z2RiL2V2YWwuYyBiL2dkYi9ldmFsLmMKICsJICAgIC8qIElmIG5vIGxvd2VyIGJvdW5kIHdhcyBw cm92aWRlZCBieSB0aGUgdXNlciwgd2UgdGFrZSB0aGUKICsJICAgICAgIGRlZmF1bHQgYm91bmRh cnkuICBTYW1lIGZvciB0aGUgaGlnaCBib3VuZC4gICovCiArCSAgICBpZiAoKHJhbmdlLT5mOTBf cmFuZ2VfdHlwZSAmIFNVQkFSUkFZX0xPV19CT1VORCkgPT0gMCkKLSsJICAgICAgcmFuZ2UtPmxv dyA9IFRZUEVfTE9XX0JPVU5EIChpbmRleF90eXBlKTsKKysJICAgICAgcmFuZ2UtPmxvdyA9IGlu ZGV4X3R5cGUtPmJvdW5kcyAoKS0+bG93LmNvbnN0X3ZhbCAoKTsKICsKICsJICAgIGlmICgocmFu Z2UtPmY5MF9yYW5nZV90eXBlICYgU1VCQVJSQVlfSElHSF9CT1VORCkgPT0gMCkKLSsJICAgICAg cmFuZ2UtPmhpZ2ggPSBUWVBFX0hJR0hfQk9VTkQgKGluZGV4X3R5cGUpOworKwkgICAgICByYW5n ZS0+aGlnaCA9IGluZGV4X3R5cGUtPmJvdW5kcyAoKS0+aGlnaC5jb25zdF92YWwgKCk7CiArCiAr CSAgICAvKiBCb3RoIHVzZXIgcHJvdmlkZWQgbG93IGFuZCBoaWdoIGJvdW5kIGhhdmUgdG8gYmUg aW5zaWRlIHRoZQogKwkgICAgICAgYXJyYXkgYm91bmRzLiAgVGhyb3cgYW4gZXJyb3IgaWYgbm90 LiAgKi8KLSsJICAgIGlmIChyYW5nZS0+bG93IDwgVFlQRV9MT1dfQk9VTkQgKGluZGV4X3R5cGUp Ci0rCQl8fCByYW5nZS0+bG93ID4gVFlQRV9ISUdIX0JPVU5EIChpbmRleF90eXBlKQotKwkJfHwg cmFuZ2UtPmhpZ2ggPCBUWVBFX0xPV19CT1VORCAoaW5kZXhfdHlwZSkKLSsJCXx8IHJhbmdlLT5o aWdoID4gVFlQRV9ISUdIX0JPVU5EIChpbmRleF90eXBlKSkKKysJICAgIGlmIChyYW5nZS0+bG93 IDwgaW5kZXhfdHlwZS0+Ym91bmRzICgpLT5sb3cuY29uc3RfdmFsICgpCisrCQl8fCByYW5nZS0+ bG93ID4gaW5kZXhfdHlwZS0+Ym91bmRzICgpLT5oaWdoLmNvbnN0X3ZhbCAoKQorKwkJfHwgcmFu Z2UtPmhpZ2ggPCBpbmRleF90eXBlLT5ib3VuZHMgKCktPmxvdy5jb25zdF92YWwgKCkKKysJCXx8 IHJhbmdlLT5oaWdoID4gaW5kZXhfdHlwZS0+Ym91bmRzICgpLT5oaWdoLmNvbnN0X3ZhbCAoKSkK ICsJICAgICAgZXJyb3IgKF8oInByb3ZpZGVkIGJvdW5kKHMpIG91dHNpZGUgYXJyYXkgYm91bmQo cykiKSk7CiArCiArCSAgICAvKiBGb3IgYSBuZWdhdGl2ZSBzdHJpZGUgdGhlIGxvd2VyIGJvdW5k YXJ5IG11c3QgYmUgbGFyZ2VyIHRoYW4gdGhlCkBAIC0yNDEsNyArMjQxLDcgQEAgZGlmZiAtLWdp dCBhL2dkYi9ldmFsLmMgYi9nZGIvZXZhbC5jCiArICBmb3IgKGkgPSBuYXJncyAtIDE7IGkgPj0g MDsgaS0tKQogKyAgICB7CiArICAgICAgc3RydWN0IHN1YnNjcmlwdF9zdG9yZSAqaW5kZXggPSAm c3Vic2NyaXB0X2FycmF5W2ldOwotKyAgICAgIHN0cnVjdCB0eXBlICppbmRleF90eXBlID0gVFlQ RV9JTkRFWF9UWVBFIChhcnJheV90eXBlKTsKKysgICAgICBzdHJ1Y3QgdHlwZSAqaW5kZXhfdHlw ZSA9IGFycmF5X3R5cGUtPmluZGV4X3R5cGUgKCk7CiArCiArICAgICAgc3dpdGNoIChpbmRleC0+ a2luZCkKICsJewpAQCAtMjg5LDEyICsyODksMTIgQEAgZGlmZiAtLWdpdCBhL2dkYi9ldmFsLmMg Yi9nZGIvZXZhbC5jCiArCQkgICBjYW5ub3QgZG8gdGhlIHJhbmdlIGNoZWNrcyBmb3IgdXMuIFNv IHdlIGhhdmUgdG8gbWFrZSBzdXJlCiArCQkgICBvdXJzZWx2ZXMgdGhhdCB0aGUgdXNlciBwcm92 aWRlZCBpbmRleCBpcyBpbnNpZGUgdGhlCiArCQkgICBhcnJheSBib3VuZHMuICBUaHJvdyBhbiBl cnJvciBpZiBub3QuICAqLwotKwkJaWYgKGluZGV4LT5VLm51bWJlciA8IFRZUEVfTE9XX0JPVU5E IChpbmRleF90eXBlKQotKwkJICAgICYmIGluZGV4LT5VLm51bWJlciA+IFRZUEVfSElHSF9CT1VO RCAoaW5kZXhfdHlwZSkpCisrCQlpZiAoaW5kZXgtPlUubnVtYmVyIDwgaW5kZXhfdHlwZS0+Ym91 bmRzICgpLT5sb3cuY29uc3RfdmFsICgpCisrCQkgICAgJiYgaW5kZXgtPlUubnVtYmVyID4gaW5k ZXhfdHlwZS0+Ym91bmRzICgpLT5oaWdoLmNvbnN0X3ZhbCAoKSkKICsJCSAgZXJyb3IgKF8oInBy b3ZpZGVkIGJvdW5kKHMpIG91dHNpZGUgYXJyYXkgYm91bmQocykiKSk7CiArCi0rCQlpZiAoaW5k ZXgtPlUubnVtYmVyID4gVFlQRV9MT1dfQk9VTkQgKGluZGV4X3R5cGUpCi0rCQkgICAgJiYgaW5k ZXgtPlUubnVtYmVyID4gVFlQRV9ISUdIX0JPVU5EIChpbmRleF90eXBlKSkKKysJCWlmIChpbmRl eC0+VS5udW1iZXIgPiBpbmRleF90eXBlLT5ib3VuZHMgKCktPmxvdy5jb25zdF92YWwgKCkKKysJ CSAgICAmJiBpbmRleC0+VS5udW1iZXIgPiBpbmRleF90eXBlLT5ib3VuZHMgKCktPmhpZ2guY29u c3RfdmFsICgpKQogKwkJICBlcnJvciAoXygicHJvdmlkZWQgYm91bmQocykgb3V0c2lkZSBhcnJh eSBib3VuZChzKSIpKTsKICsKICsJCW5ld19hcnJheSA9IHZhbHVlX3NsaWNlXzEgKG5ld19hcnJh eSwKQEAgLTM2NCw4ICszNjQsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFs LmMKICsJCQkJCQkgICAgICBlbHRfdHlwZSwKICsJCQkJCQkgICAgICByYW5nZV90eXBlKTsKICsK LSsJICAgICAgVFlQRV9DT0RFIChpbnRlcmltX2FycmF5X3R5cGUpCi0rCQk9IFRZUEVfQ09ERSAo dmFsdWVfdHlwZSAobmV3X2FycmF5KSk7CisrCSAgICAgIGludGVyaW1fYXJyYXlfdHlwZS0+c2V0 X2NvZGUgKCB2YWx1ZV90eXBlIChuZXdfYXJyYXkpLT5jb2RlICgpKTsKICsKICsJICAgICAgdiA9 IGFsbG9jYXRlX3ZhbHVlIChpbnRlcmltX2FycmF5X3R5cGUpOwogKwpAQCAtMzgxLDcgKzM4MCw3 IEBAIGRpZmYgLS1naXQgYS9nZGIvZXZhbC5jIGIvZ2RiL2V2YWwuYwogIH0KICAKICAKLUBAIC0x MjM1LDE5ICsxNTMwLDYgQEAgZXZhbHVhdGVfZnVuY2FsbCAodHlwZSAqZXhwZWN0X3R5cGUsIGV4 cHJlc3Npb24gKmV4cCwgaW50ICpwb3MsCitAQCAtMTIzMywxOSArMTUyNyw2IEBAIGV2YWx1YXRl X2Z1bmNhbGwgKHR5cGUgKmV4cGVjdF90eXBlLCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLAog ICAgcmV0dXJuIGV2YWxfY2FsbCAoZXhwLCBub3NpZGUsIG5hcmdzLCBhcmd2ZWMsIHZhcl9mdW5j X25hbWUsIGV4cGVjdF90eXBlKTsKICB9CiAgCkBAIC0zOTUsMTMgKzM5NCwxMyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFsLmMKIC0JCQkgICBlbnVtIG5vc2lkZSBub3NpZGUp CiAtewogLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBuYXJnczsgKytpKQotLSAgICBldmFsdWF0ZV9z dWJleHAgKE5VTExfVFlQRSwgZXhwLCBwb3MsIG5vc2lkZSk7CistICAgIGV2YWx1YXRlX3N1YmV4 cCAobnVsbHB0ciwgZXhwLCBwb3MsIG5vc2lkZSk7CiAtfQogLQotIHN0cnVjdCB2YWx1ZSAqCi0g ZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCi0gCQkJ ICBzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgKnBvcywKLUBAIC0xOTQyLDMzICsyMjI0LDgg QEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCisg LyogUmV0dXJuIHRydWUgaWYgdHlwZSBpcyBpbnRlZ3JhbCBvciByZWZlcmVuY2UgdG8gaW50ZWdy YWwgKi8KKyAKKyBzdGF0aWMgYm9vbAorQEAgLTE5NTMsMzMgKzIyMzQsOCBAQCBldmFsdWF0ZV9z dWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKICAgICAgICBzd2l0Y2gg KGNvZGUpCiAgCXsKICAJY2FzZSBUWVBFX0NPREVfQVJSQVk6CkBAIC00MzYsNyArNDM1LDcgQEAg ZGlmZiAtLWdpdCBhL2dkYi9ldmFsLmMgYi9nZGIvZXZhbC5jCiAgCiAgCWNhc2UgVFlQRV9DT0RF X1BUUjoKICAJY2FzZSBUWVBFX0NPREVfRlVOQzoKLUBAIC0yMzg4LDQ5ICsyNjQ1LDYgQEAgZXZh bHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCitAQCAtMjQw MCw0OSArMjY1Niw2IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4 cGVjdF90eXBlLAogIAl9CiAgICAgICAgcmV0dXJuIChhcmcxKTsKICAKQEAgLTQ4NCwyMiArNDgz LDIyIEBAIGRpZmYgLS1naXQgYS9nZGIvZXZhbC5jIGIvZ2RiL2V2YWwuYwogLSAgICAgIH0KIC0K ICAgICAgY2FzZSBCSU5PUF9MT0dJQ0FMX0FORDoKLSAgICAgICBhcmcxID0gZXZhbHVhdGVfc3Vi ZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9zLCBub3NpZGUpOworICAgICAgIGFyZzEgPSBldmFsdWF0 ZV9zdWJleHAgKG51bGxwdHIsIGV4cCwgcG9zLCBub3NpZGUpOwogICAgICAgIGlmIChub3NpZGUg PT0gRVZBTF9TS0lQKQotQEAgLTMzNTAsNiArMzU2NCw5IEBAIGNhbGNfZjc3X2FycmF5X2RpbXMg KHN0cnVjdCB0eXBlICphcnJheV90eXBlKQorQEAgLTMzNjAsNiArMzU3Myw5IEBAIGNhbGNfZjc3 X2FycmF5X2RpbXMgKHN0cnVjdCB0eXBlICphcnJheV90eXBlKQogICAgaW50IG5kaW1lbiA9IDE7 CiAgICBzdHJ1Y3QgdHlwZSAqdG1wX3R5cGU7CiAgCi0rICBpZiAoVFlQRV9DT0RFIChhcnJheV90 eXBlKSA9PSBUWVBFX0NPREVfU1RSSU5HKQorKyAgaWYgKGFycmF5X3R5cGUtPmNvZGUgKCkgPT0g VFlQRV9DT0RFX1NUUklORykKICsgICAgcmV0dXJuIDE7CiArCi0gICBpZiAoKFRZUEVfQ09ERSAo YXJyYXlfdHlwZSkgIT0gVFlQRV9DT0RFX0FSUkFZKSkKKyAgIGlmICgoYXJyYXlfdHlwZS0+Y29k ZSAoKSAhPSBUWVBFX0NPREVfQVJSQVkpKQogICAgICBlcnJvciAoXygiQ2FuJ3QgZ2V0IGRpbWVu c2lvbnMgZm9yIGEgbm9uLWFycmF5IHR5cGUiKSk7CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2V4cHBy aW50LmMgYi9nZGIvZXhwcHJpbnQuYwogLS0tIGEvZ2RiL2V4cHByaW50LmMKICsrKyBiL2dkYi9l eHBwcmludC5jCi1AQCAtNTgwLDE3ICs1ODAsMTQgQEAgcHJpbnRfc3ViZXhwX3N0YW5kYXJkIChz dHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgKnBvcywKK0BAIC01NzYsMTcgKzU3NiwxNCBAQCBw cmludF9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLAog IAkgIGxvbmdlc3RfdG9faW50IChleHAtPmVsdHNbcGMgKyAxXS5sb25nY29uc3QpOwogIAkqcG9z ICs9IDI7CiAgCkBAIC01MjEsNyArNTIwLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9leHBwcmludC5j IGIvZ2RiL2V4cHByaW50LmMKICAJICBwcmludF9zdWJleHAgKGV4cCwgcG9zLCBzdHJlYW0sIFBS RUNfQUJPVkVfQ09NTUEpOwogIAlmcHV0c19maWx0ZXJlZCAoIikiLCBzdHJlYW0pOwogIAlyZXR1 cm47Ci1AQCAtMTEwNywyMiArMTEwNCwyNCBAQCBkdW1wX3N1YmV4cF9ib2R5X3N0YW5kYXJkIChz dHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAorQEAgLTExMDMsMjIgKzExMDAsMjQgQEAgZHVtcF9zdWJl eHBfYm9keV9zdGFuZGFyZCAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwKICAKICAJc3dpdGNoIChy YW5nZV90eXBlKQogIAkgIHsKQEAgLTU1NCw3ICs1NTMsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V4 cHByaW50LmMgYi9nZGIvZXhwcHJpbnQuYwogIAkgICAgZnB1dHNfZmlsdGVyZWQgKCJFeGNsdXNp dmVSYW5nZSAnRVhQLi5FWFAnIiwgc3RyZWFtKTsKICAJICAgIGJyZWFrOwogIAkgIGRlZmF1bHQ6 Ci1AQCAtMTEzMCwxMSArMTEyOSw5IEBAIGR1bXBfc3ViZXhwX2JvZHlfc3RhbmRhcmQgKHN0cnVj dCBleHByZXNzaW9uICpleHAsCitAQCAtMTEyNiwxMSArMTEyNSw5IEBAIGR1bXBfc3ViZXhwX2Jv ZHlfc3RhbmRhcmQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsCiAgCSAgICBicmVhazsKICAJICB9 CiAgCkBAIC03MTAsMTggKzcwOSw5IEBAIGRpZmYgLS1naXQgYS9nZGIvZi12YWxwcmludC5jIGIv Z2RiL2YtdmFscHJpbnQuYwogZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5jIGIvZ2RiL2dkYnR5 cGVzLmMKIC0tLSBhL2dkYi9nZGJ0eXBlcy5jCiArKysgYi9nZGIvZ2RidHlwZXMuYwotQEAgLTkz Niw3ICs5MzYsNyBAQCBjcmVhdGVfcmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90eXBl LCBzdHJ1Y3QgdHlwZSAqaW5kZXhfdHlwZSwKLSAgIFRZUEVfUkFOR0VfREFUQSAocmVzdWx0X3R5 cGUpLT5oaWdoID0gKmhpZ2hfYm91bmQ7Ci0gICBUWVBFX1JBTkdFX0RBVEEgKHJlc3VsdF90eXBl KS0+YmlhcyA9IGJpYXM7Ci0gCi0tICAvKiBJbml0aWFsaXplIHRoZSBzdHJpZGUgdG8gYmUgYSBj b25zdGFudCwgdGhlIHZhbHVlIHdpbGwgYWxyZWFkeSBiZSB6ZXJvCi0rICAvKiBiaWFzIHRoZSBz dHJpZGUgdG8gYmUgYSBjb25zdGFudCwgdGhlIHZhbHVlIHdpbGwgYWxyZWFkeSBiZSB6ZXJvCi0g ICAgICB0aGFua3MgdG8gdGhlIHVzZSBvZiBUWVBFX1pBTExPQyBhYm92ZS4gICovCi0gICBUWVBF X1JBTkdFX0RBVEEgKHJlc3VsdF90eXBlKS0+c3RyaWRlLmtpbmQgPSBQUk9QX0NPTlNUOwotIAot QEAgLTEwMDEsNyArMTAwMSw4IEBAIGNyZWF0ZV9zdGF0aWNfcmFuZ2VfdHlwZSAoc3RydWN0IHR5 cGUgKnJlc3VsdF90eXBlLCBzdHJ1Y3QgdHlwZSAqaW5kZXhfdHlwZSwKLSAgIGhpZ2gua2luZCA9 IFBST1BfQ09OU1Q7Ci0gICBoaWdoLmRhdGEuY29uc3RfdmFsID0gaGlnaF9ib3VuZDsKK0BAIC0x MDA2LDcgKzEwMDYsOCBAQCBjcmVhdGVfc3RhdGljX3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBlICpy ZXN1bHRfdHlwZSwgc3RydWN0IHR5cGUgKmluZGV4X3R5cGUsCisgICBsb3cuc2V0X2NvbnN0X3Zh bCAobG93X2JvdW5kKTsKKyAgIGhpZ2guc2V0X2NvbnN0X3ZhbCAoaGlnaF9ib3VuZCk7CiAgCiAt ICByZXN1bHRfdHlwZSA9IGNyZWF0ZV9yYW5nZV90eXBlIChyZXN1bHRfdHlwZSwgaW5kZXhfdHlw ZSwgJmxvdywgJmhpZ2gsIDApOwogKyAgcmVzdWx0X3R5cGUgPSBjcmVhdGVfcmFuZ2VfdHlwZSAo cmVzdWx0X3R5cGUsIGluZGV4X3R5cGUsCkBAIC03MjksMjkgKzcxOSwxMyBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL2dkYnR5cGVzLmMgYi9nZGIvZ2RidHlwZXMuYwogIAogICAgcmV0dXJuIHJlc3VsdF90 eXBlOwogIH0KLUBAIC0xMjM2LDYgKzEyMzcsNyBAQCBjcmVhdGVfYXJyYXlfdHlwZV93aXRoX3N0 cmlkZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90eXBlLAotICAgICAgIGlmIChnZXRfZGlzY3JldGVf Ym91bmRzIChyYW5nZV90eXBlLCAmbG93X2JvdW5kLCAmaGlnaF9ib3VuZCkgPCAwKQotIAlsb3df Ym91bmQgPSBoaWdoX2JvdW5kID0gMDsKLSAgICAgICBlbGVtZW50X3R5cGUgPSBjaGVja190eXBl ZGVmIChlbGVtZW50X3R5cGUpOwotKwotICAgICAgIC8qIEJlIGNhcmVmdWwgd2hlbiBzZXR0aW5n IHRoZSBhcnJheSBsZW5ndGguICBBZGEgYXJyYXlzIGNhbiBiZQotIAkgZW1wdHkgYXJyYXlzIHdp dGggdGhlIGhpZ2hfYm91bmQgYmVpbmcgc21hbGxlciB0aGFuIHRoZSBsb3dfYm91bmQuCi0gCSBJ biBzdWNoIGNhc2VzLCB0aGUgYXJyYXkgbGVuZ3RoIHNob3VsZCBiZSB6ZXJvLiAgKi8KIGRpZmYg LS1naXQgYS9nZGIvZ2RidHlwZXMuaCBiL2dkYi9nZGJ0eXBlcy5oCiAtLS0gYS9nZGIvZ2RidHlw ZXMuaAogKysrIGIvZ2RiL2dkYnR5cGVzLmgKLUBAIC04MDMsNyArODAzLDYgQEAgc3RydWN0IG1h aW5fdHlwZQotICAgICAvKiAqIFVuaW9uIG1lbWJlciB1c2VkIGZvciByYW5nZSB0eXBlcy4gICov CitAQCAtMTYxNSw2ICsxNjE1LDE1IEBAIGV4dGVybiB1bnNpZ25lZCB0eXBlX2FsaWduIChzdHJ1 Y3QgdHlwZSAqKTsKKyAgICBzcGFjZSBpbiBzdHJ1Y3QgdHlwZS4gICovCisgZXh0ZXJuIGJvb2wg c2V0X3R5cGVfYWxpZ24gKHN0cnVjdCB0eXBlICosIFVMT05HRVNUKTsKICAKLSAgICAgc3RydWN0 IHJhbmdlX2JvdW5kcyAqYm91bmRzOwotLQotICAgfSBmbGRzX2JuZHM7Ci0gCi0gICAvKiAqIFNs b3QgdG8gcG9pbnQgdG8gYWRkaXRpb25hbCBsYW5ndWFnZS1zcGVjaWZpYyBmaWVsZHMgb2YgdGhp cwotQEAgLTEzNjUsNiArMTM2NCwxNSBAQCBleHRlcm4gYm9vbCBzZXRfdHlwZV9hbGlnbiAoc3Ry dWN0IHR5cGUgKiwgVUxPTkdFU1QpOwotICNkZWZpbmUgVFlQRV9CSVRfU1RSSURFKHJhbmdlX3R5 cGUpIFwKLSAgIChUWVBFX1JBTkdFX0RBVEEocmFuZ2VfdHlwZSktPnN0cmlkZS5kYXRhLmNvbnN0 X3ZhbCBcCi0gICAgKiAoVFlQRV9SQU5HRV9EQVRBKHJhbmdlX3R5cGUpLT5mbGFnX2lzX2J5dGVf c3RyaWRlID8gOCA6IDEpKQogKyNkZWZpbmUgVFlQRV9CWVRFX1NUUklERShyYW5nZV90eXBlKSBc CiArICBUWVBFX1JBTkdFX0RBVEEocmFuZ2VfdHlwZSktPnN0cmlkZS5kYXRhLmNvbnN0X3ZhbAog KyNkZWZpbmUgVFlQRV9CWVRFX1NUUklERV9CTE9DSyhyYW5nZV90eXBlKSBcCkBAIC03NjEsMTkg KzczNSwzNiBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmggYi9nZGIvZ2RidHlwZXMuaAog KyNkZWZpbmUgVFlQRV9CWVRFX1NUUklERV9LSU5EKHJhbmdlX3R5cGUpIFwKICsgIFRZUEVfUkFO R0VfREFUQShyYW5nZV90eXBlKS0+c3RyaWRlLmtpbmQKICsKLSAKICAvKiBQcm9wZXJ0eSBhY2Nl c3NvcnMgZm9yIHRoZSB0eXBlIGRhdGEgbG9jYXRpb24uICAqLwogICNkZWZpbmUgVFlQRV9EQVRB X0xPQ0FUSU9OKHRoaXN0eXBlKSBcCi1AQCAtMTQwMCw2ICsxNDA4LDkgQEAgZXh0ZXJuIGJvb2wg c2V0X3R5cGVfYWxpZ24gKHN0cnVjdCB0eXBlICosIFVMT05HRVNUKTsKLSAgICBUWVBFX0hJR0hf Qk9VTkRfVU5ERUZJTkVEKFRZUEVfSU5ERVhfVFlQRShhcnJheXR5cGUpKQotICNkZWZpbmUgVFlQ RV9BUlJBWV9MT1dFUl9CT1VORF9JU19VTkRFRklORUQoYXJyYXl0eXBlKSBcCi0gICAgVFlQRV9M T1dfQk9VTkRfVU5ERUZJTkVEKFRZUEVfSU5ERVhfVFlQRShhcnJheXR5cGUpKQorICAgKCh0aGlz dHlwZSktPmR5bl9wcm9wIChEWU5fUFJPUF9EQVRBX0xPQ0FUSU9OKSkKK0BAIC0xNjMzLDYgKzE2 NDIsMjYgQEAgZXh0ZXJuIGJvb2wgc2V0X3R5cGVfYWxpZ24gKHN0cnVjdCB0eXBlICosIFVMT05H RVNUKTsKKyAjZGVmaW5lIFRZUEVfQVNTT0NJQVRFRF9QUk9QKHRoaXN0eXBlKSBcCisgICAoKHRo aXN0eXBlKS0+ZHluX3Byb3AgKERZTl9QUk9QX0FTU09DSUFURUQpKQorIAorKy8qIEFjY2Vzc29y cyBmb3Igc3RydWN0IHJhbmdlX2JvdW5kcyBkYXRhIGF0dGFjaGVkIHRvIGFuIGFycmF5IHR5cGUn cworKyAgIGluZGV4IHR5cGUuICAqLworKworKyNkZWZpbmUgVFlQRV9BUlJBWV9VUFBFUl9CT1VO RF9JU19VTkRFRklORUQoYXJyYXl0eXBlKSBcCisrICAgKChhcnJheXR5cGUpLT5pbmRleF90eXBl ICgpLT5ib3VuZHMgKCktPmhpZ2gua2luZCAoKSA9PSBQUk9QX1VOREVGSU5FRCkKKysjZGVmaW5l IFRZUEVfQVJSQVlfTE9XRVJfQk9VTkRfSVNfVU5ERUZJTkVEKGFycmF5dHlwZSkgXAorKyAgIChh cnJheXR5cGUtPmluZGV4X3R5cGUgKCktPmJvdW5kcyAoKS5sb3cua2luZCAoKSA9PSBQUk9QX1VO REVGSU5FRCkKICsjZGVmaW5lIFRZUEVfQVJSQVlfU1RSSURFX0lTX1VOREVGSU5FRChhcnJheXR5 cGUpIFwKLSsgICAoVFlQRV9CWVRFX1NUUklERShUWVBFX0lOREVYX1RZUEUoYXJyYXl0eXBlKSkg PT0gMCkKKysgICAoVFlQRV9CWVRFX1NUUklERShhcnJheXR5cGUtPmluZGV4X3R5cGUgKCkpID09 IDApCisrCisrCisrI2RlZmluZSBUWVBFX0FSUkFZX1VQUEVSX0JPVU5EX1ZBTFVFKGFycmF5dHlw ZSkgXAorKyAgIChUWVBFX0hJR0hfQk9VTkQoKGFycmF5dHlwZSktPmluZGV4X3R5cGUgKCkpKQog KworKyNkZWZpbmUgVFlQRV9BUlJBWV9MT1dFUl9CT1VORF9WQUxVRShhcnJheXR5cGUpIFwKKysg ICAoVFlQRV9MT1dfQk9VTkQoKGFycmF5dHlwZSktPmluZGV4X3R5cGUgKCkpKQorKworKyNkZWZp bmUgVFlQRV9BUlJBWV9CSVRfU1RSSURFKGFycmF5dHlwZSkgXAorKyAgKFRZUEVfQklUX1NUUklE RSgoYXJyYXl0eXBlKS0+aW5kZXhfdHlwZSAoKSkpCisrCisgLyogQysrICovCiAgCi0gI2RlZmlu ZSBUWVBFX0FSUkFZX1VQUEVSX0JPVU5EX1ZBTFVFKGFycmF5dHlwZSkgXAotICAgIChUWVBFX0hJ R0hfQk9VTkQoVFlQRV9JTkRFWF9UWVBFKChhcnJheXR5cGUpKSkpCisgI2RlZmluZSBUWVBFX1NF TEZfVFlQRSh0aGlzdHlwZSkgaW50ZXJuYWxfdHlwZV9zZWxmX3R5cGUgKHRoaXN0eXBlKQogZGlm ZiAtLWdpdCBhL2dkYi9wYXJzZS5jIGIvZ2RiL3BhcnNlLmMKIC0tLSBhL2dkYi9wYXJzZS5jCiAr KysgYi9nZGIvcGFyc2UuYwpAQCAtODU2LDMzICs4NDcsMzMgQEAgZGlmZiAtLWdpdCBhL2dkYi9y dXN0LWV4cC55IGIvZ2RiL3J1c3QtZXhwLnkKIGRpZmYgLS1naXQgYS9nZGIvcnVzdC1sYW5nLmMg Yi9nZGIvcnVzdC1sYW5nLmMKIC0tLSBhL2dkYi9ydXN0LWxhbmcuYwogKysrIGIvZ2RiL3J1c3Qt bGFuZy5jCi1AQCAtMTIyNCwxMyArMTIyNCwxMSBAQCBydXN0X3JhbmdlIChzdHJ1Y3QgZXhwcmVz c2lvbiAqZXhwLCBpbnQgKnBvcywgZW51bSBub3NpZGUgbm9zaWRlKQorQEAgLTEwODIsMTMgKzEw ODIsMTEgQEAgcnVzdF9yYW5nZSAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50ICpwb3MsIGVu dW0gbm9zaWRlIG5vc2lkZSkKICAgIGtpbmQgPSAoZW51bSByYW5nZV90eXBlKSBsb25nZXN0X3Rv X2ludCAoZXhwLT5lbHRzWypwb3MgKyAxXS5sb25nY29uc3QpOwogICAgKnBvcyArPSAzOwogIAog LSAgaWYgKGtpbmQgPT0gSElHSF9CT1VORF9ERUZBVUxUIHx8IGtpbmQgPT0gTk9ORV9CT1VORF9E RUZBVUxUCiAtICAgICAgfHwga2luZCA9PSBOT05FX0JPVU5EX0RFRkFVTFRfRVhDTFVTSVZFKQog KyAgaWYgKChraW5kICYgU1VCQVJSQVlfTE9XX0JPVU5EKSA9PSBTVUJBUlJBWV9MT1dfQk9VTkQp Ci0gICAgIGxvdyA9IGV2YWx1YXRlX3N1YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBvcywgbm9zaWRl KTsKKyAgICAgbG93ID0gZXZhbHVhdGVfc3ViZXhwIChudWxscHRyLCBleHAsIHBvcywgbm9zaWRl KTsKIC0gIGlmIChraW5kID09IExPV19CT1VORF9ERUZBVUxUIHx8IGtpbmQgPT0gTE9XX0JPVU5E X0RFRkFVTFRfRVhDTFVTSVZFCiAtICAgICAgfHwga2luZCA9PSBOT05FX0JPVU5EX0RFRkFVTFQg fHwga2luZCA9PSBOT05FX0JPVU5EX0RFRkFVTFRfRVhDTFVTSVZFKQogKyAgaWYgKChraW5kICYg U1VCQVJSQVlfSElHSF9CT1VORCkgPT0gU1VCQVJSQVlfSElHSF9CT1VORCkKLSAgICAgaGlnaCA9 IGV2YWx1YXRlX3N1YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBvcywgbm9zaWRlKTsKKyAgICAgaGln aCA9IGV2YWx1YXRlX3N1YmV4cCAobnVsbHB0ciwgZXhwLCBwb3MsIG5vc2lkZSk7CiAtICBib29s IGluY2x1c2l2ZSA9IChraW5kID09IE5PTkVfQk9VTkRfREVGQVVMVCB8fCBraW5kID09IExPV19C T1VORF9ERUZBVUxUKTsKICsgIGJvb2wgaW5jbHVzaXZlID0gKCEoKGtpbmQgJiBTVUJBUlJBWV9I SUdIX0JPVU5EX0VYQ0xVU0lWRSkgPT0gU1VCQVJSQVlfSElHSF9CT1VORF9FWENMVVNJVkUpKTsK ICAKICAgIGlmIChub3NpZGUgPT0gRVZBTF9TS0lQKQogICAgICByZXR1cm4gdmFsdWVfZnJvbV9s b25nZXN0IChidWlsdGluX3R5cGUgKGV4cC0+Z2RiYXJjaCktPmJ1aWx0aW5faW50LCAxKTsKLUBA IC0xMzE5LDcgKzEzMTcsNyBAQCBydXN0X2NvbXB1dGVfcmFuZ2UgKHN0cnVjdCB0eXBlICp0eXBl LCBzdHJ1Y3QgdmFsdWUgKnJhbmdlLAorQEAgLTExNzcsNyArMTE3NSw3IEBAIHJ1c3RfY29tcHV0 ZV9yYW5nZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB2YWx1ZSAqcmFuZ2UsCiAgCiAgICAq bG93ID0gMDsKICAgICpoaWdoID0gMDsKIC0gICpraW5kID0gQk9USF9CT1VORF9ERUZBVUxUOwog KyAgKmtpbmQgPSBTVUJBUlJBWV9OT05FX0JPVU5EOwogIAotICAgaWYgKFRZUEVfTkZJRUxEUyAo dHlwZSkgPT0gMCkKKyAgIGlmICh0eXBlLT5udW1fZmllbGRzICgpID09IDApCiAgICAgIHJldHVy bjsKLUBAIC0xMzI3LDE1ICsxMzI1LDE0IEBAIHJ1c3RfY29tcHV0ZV9yYW5nZSAoc3RydWN0IHR5 cGUgKnR5cGUsIHN0cnVjdCB2YWx1ZSAqcmFuZ2UsCitAQCAtMTE4NSwxNSArMTE4MywxNCBAQCBy dXN0X2NvbXB1dGVfcmFuZ2UgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdmFsdWUgKnJhbmdl LAogICAgaSA9IDA7CiAgICBpZiAoc3RyY21wIChUWVBFX0ZJRUxEX05BTUUgKHR5cGUsIDApLCAi c3RhcnQiKSA9PSAwKQogICAgICB7CkBAIC04OTEsNyArODgyLDcgQEAgZGlmZiAtLWdpdCBhL2dk Yi9ydXN0LWxhbmcuYyBiL2dkYi9ydXN0LWxhbmcuYwogICAgICAgICpsb3cgPSB2YWx1ZV9hc19s b25nICh2YWx1ZV9maWVsZCAocmFuZ2UsIDApKTsKICAgICAgICArK2k7CiAgICAgIH0KLSAgIGlm IChUWVBFX05GSUVMRFMgKHR5cGUpID4gaQorICAgaWYgKHR5cGUtPm51bV9maWVsZHMgKCkgPiBp CiAgICAgICAgJiYgc3RyY21wIChUWVBFX0ZJRUxEX05BTUUgKHR5cGUsIGkpLCAiZW5kIikgPT0g MCkKICAgICAgewogLSAgICAgICpraW5kID0gKCpraW5kID09IEJPVEhfQk9VTkRfREVGQVVMVApA QCAtOTAwLDcgKzg5MSw3IEBAIGRpZmYgLS1naXQgYS9nZGIvcnVzdC1sYW5nLmMgYi9nZGIvcnVz dC1sYW5nLmMKICAgICAgICAqaGlnaCA9IHZhbHVlX2FzX2xvbmcgKHZhbHVlX2ZpZWxkIChyYW5n ZSwgaSkpOwogIAogICAgICAgIGlmIChydXN0X2luY2x1c2l2ZV9yYW5nZV90eXBlX3AgKHR5cGUp KQotQEAgLTEzNTMsNyArMTM1MCw3IEBAIHJ1c3Rfc3Vic2NyaXB0IChzdHJ1Y3QgZXhwcmVzc2lv biAqZXhwLCBpbnQgKnBvcywgZW51bSBub3NpZGUgbm9zaWRlLAorQEAgLTEyMTEsNyArMTIwOCw3 IEBAIHJ1c3Rfc3Vic2NyaXB0IChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgKnBvcywgZW51 bSBub3NpZGUgbm9zaWRlLAogICAgc3RydWN0IHR5cGUgKnJoc3R5cGU7CiAgICBMT05HRVNUIGxv dywgaGlnaF9ib3VuZDsKICAgIC8qIEluaXRpYWxpemVkIHRvIGFwcGVhc2UgdGhlIGNvbXBpbGVy LiAgKi8KQEAgLTkwOSw3ICs5MDAsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3J1c3QtbGFuZy5jIGIv Z2RiL3J1c3QtbGFuZy5jCiAgICBMT05HRVNUIGhpZ2ggPSAwOwogICAgaW50IHdhbnRfc2xpY2Ug PSAwOwogIAotQEAgLTE0NTEsNyArMTQ0OCw3IEBAIHJ1c3Rfc3Vic2NyaXB0IChzdHJ1Y3QgZXhw cmVzc2lvbiAqZXhwLCBpbnQgKnBvcywgZW51bSBub3NpZGUgbm9zaWRlLAorQEAgLTEzMDksNyAr MTMwNiw3IEBAIHJ1c3Rfc3Vic2NyaXB0IChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgKnBv cywgZW51bSBub3NpZGUgbm9zaWRlLAogIAllcnJvciAoXygiQ2Fubm90IHN1YnNjcmlwdCBub24t YXJyYXkgdHlwZSIpKTsKICAKICAgICAgICBpZiAod2FudF9zbGljZQpAQCAtOTE4LDcgKzkwOSw3 IEBAIGRpZmYgLS1naXQgYS9nZGIvcnVzdC1sYW5nLmMgYi9nZGIvcnVzdC1sYW5nLmMKICAJbG93 ID0gbG93X2JvdW5kOwogICAgICAgIGlmIChsb3cgPCAwKQogIAllcnJvciAoXygiSW5kZXggbGVz cyB0aGFuIHplcm8iKSk7Ci1AQCAtMTQ2OSw3ICsxNDY2LDcgQEAgcnVzdF9zdWJzY3JpcHQgKHN0 cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLCBlbnVtIG5vc2lkZSBub3NpZGUsCitAQCAt MTMyNyw3ICsxMzI0LDcgQEAgcnVzdF9zdWJzY3JpcHQgKHN0cnVjdCBleHByZXNzaW9uICpleHAs IGludCAqcG9zLCBlbnVtIG5vc2lkZSBub3NpZGUsCiAgCSAgQ09SRV9BRERSIGFkZHI7CiAgCSAg c3RydWN0IHZhbHVlICphZGRydmFsLCAqdGVtOwogIApAQCAtMTQxNiw3ICsxNDA3LDcgQEAgbmV3 IGZpbGUgbW9kZSAxMDA2NDQKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3ZsYS1zaXplb2YuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4 cAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cAogKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cAotQEAgLTMyLDcgKzMyLDgg QEAgZ2RiX3Rlc3QgInByaW50IHNpemVvZih2bGExKSIgIiA9IDAiICJwcmludCBzaXplb2Ygbm9u LWFsbG9jYXRlZCB2bGExIgorQEAgLTM1LDcgKzM1LDggQEAgZ2RiX3Rlc3QgInByaW50IHNpemVv Zih2bGExKSIgIiA9IDAiICJwcmludCBzaXplb2Ygbm9uLWFsbG9jYXRlZCB2bGExIgogIGdkYl90 ZXN0ICJwcmludCBzaXplb2YodmxhMSgzLDIsMSkpIiBcCiAgICAgICJubyBzdWNoIHZlY3RvciBl bGVtZW50IFxcKHZlY3RvciBub3QgYWxsb2NhdGVkXFwpIiBcCiAgICAgICJwcmludCBzaXplb2Yg bm9uLWFsbG9jYXRlZCBpbmRleGVkIHZsYTEiCkBAIC0xNDI2LDcgKzE0MTcsNyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cCBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYQogICAgICAicHJpbnQgc2l6ZW9mIG5vbi1hbGxvY2F0ZWQgc2xpY2Vk IHZsYTEiCiAgCiAgIyBUcnkgdG8gYWNjZXNzIHZhbHVlIGluIGFsbG9jYXRlZCBWTEEKLUBAIC00 MSw3ICs0Miw3IEBAIGdkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2bGExLWFsbG9jYXRlZCIK K0BAIC00NCw3ICs0NSw3IEBAIGdkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2bGExLWFsbG9j YXRlZCIKICBnZGJfdGVzdCAicHJpbnQgc2l6ZW9mKHZsYTEpIiAiID0gNDAwMCIgInByaW50IHNp emVvZiBhbGxvY2F0ZWQgdmxhMSIKICBnZGJfdGVzdCAicHJpbnQgc2l6ZW9mKHZsYTEoMywyLDEp KSIgIjQiIFwKICAgICAgInByaW50IHNpemVvZiBlbGVtZW50IGZyb20gYWxsb2NhdGVkIHZsYTEi CkBAIC0xNDM1LDcgKzE0MjYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi92bGEtc2l6ZW9mLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYQogICAgICAicHJp bnQgc2l6ZW9mIHNsaWNlZCB2bGExIgogIAogICMgVHJ5IHRvIGFjY2VzcyB2YWx1ZXMgaW4gdW5k ZWZpbmVkIHBvaW50ZXIgdG8gVkxBIChkYW5nbGluZykKLUBAIC00OSw3ICs1MCw4IEBAIGdkYl90 ZXN0ICJwcmludCBzaXplb2YocHZsYSkiICIgPSAwIiAicHJpbnQgc2l6ZW9mIG5vbi1hc3NvY2lh dGVkIHB2bGEiCitAQCAtNTIsNyArNTMsOCBAQCBnZGJfdGVzdCAicHJpbnQgc2l6ZW9mKHB2bGEp IiAiID0gMCIgInByaW50IHNpemVvZiBub24tYXNzb2NpYXRlZCBwdmxhIgogIGdkYl90ZXN0ICJw cmludCBzaXplb2YocHZsYSgzLDIsMSkpIiBcCiAgICAgICJubyBzdWNoIHZlY3RvciBlbGVtZW50 IFxcKHZlY3RvciBub3QgYXNzb2NpYXRlZFxcKSIgXAogICAgICAicHJpbnQgc2l6ZW9mIG5vbi1h c3NvY2lhdGVkIGluZGV4ZWQgcHZsYSIKQEAgLTE0NDUsNyArMTQzNiw3IEBAIGRpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXplb2YuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhCiAgICAgICJwcmludCBzaXplb2Ygbm9uLWFzc29jaWF0ZWQgc2xpY2VkIHB2 bGEiCiAgCiAgIyBUcnkgdG8gYWNjZXNzIHZhbHVlcyBpbiBwb2ludGVyIHRvIFZMQSBhbmQgY29t cGFyZSB0aGVtCi1AQCAtNTgsNyArNjAsOCBAQCBnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAi cHZsYS1hc3NvY2lhdGVkIgorQEAgLTYxLDcgKzYzLDggQEAgZ2RiX2NvbnRpbnVlX3RvX2JyZWFr cG9pbnQgInB2bGEtYXNzb2NpYXRlZCIKICBnZGJfdGVzdCAicHJpbnQgc2l6ZW9mKHB2bGEpIiAi ID0gNDAwMCIgInByaW50IHNpemVvZiBhc3NvY2lhdGVkIHB2bGEiCiAgZ2RiX3Rlc3QgInByaW50 IHNpemVvZihwdmxhKDMsMiwxKSkiICI0IiBcCiAgICAgICJwcmludCBzaXplb2YgZWxlbWVudCBm cm9tIGFzc29jaWF0ZWQgcHZsYSIKQEAgLTE1NDQsNyArMTUzNSw3IEBAIG5ldyBmaWxlIG1vZGUg MTAwNjQ0CiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbG9wcy5jIGIvZ2RiL3ZhbG9wcy5jCiAtLS0gYS9n ZGIvdmFsb3BzLmMKICsrKyBiL2dkYi92YWxvcHMuYwotQEAgLTM3OTcsMTMgKzM3OTcsNDIgQEAg dmFsdWVfb2ZfdGhpc19zaWxlbnQgKGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpsYW5nKQor QEAgLTM3NTYsMTMgKzM3NTYsNDIgQEAgdmFsdWVfb2ZfdGhpc19zaWxlbnQgKGNvbnN0IHN0cnVj dCBsYW5ndWFnZV9kZWZuICpsYW5nKQogIAogIHN0cnVjdCB2YWx1ZSAqCiAgdmFsdWVfc2xpY2Ug KHN0cnVjdCB2YWx1ZSAqYXJyYXksIGludCBsb3dib3VuZCwgaW50IGxlbmd0aCkKQEAgLTE1ODgs MjUgKzE1NzksMjUgQEAgZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYwog LSAgYXJyYXlfdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFycmF5KSk7CiArICAv KiBDaGVjayBmb3IgbGVnYWN5IGNvZGUgaWYgd2UgYXJlIGFjdHVhbGx5IGRlYWxpbmcgd2l0aCBh biBhcnJheSBvcgogKyAgICAgc3RyaW5nLiAgKi8KLSAgIGlmIChUWVBFX0NPREUgKGFycmF5X3R5 cGUpICE9IFRZUEVfQ09ERV9BUlJBWQotICAgICAgICYmIFRZUEVfQ09ERSAoYXJyYXlfdHlwZSkg IT0gVFlQRV9DT0RFX1NUUklORykKKyAgIGlmIChhcnJheV90eXBlLT5jb2RlICgpICE9IFRZUEVf Q09ERV9BUlJBWQorICAgICAgICYmIGFycmF5X3R5cGUtPmNvZGUgKCkgIT0gVFlQRV9DT0RFX1NU UklORykKICAgICAgZXJyb3IgKF8oImNhbm5vdCB0YWtlIHNsaWNlIG9mIG5vbi1hcnJheSIpKTsK LUBAIC0zODEzLDQ1ICszODQyLDE1NSBAQCB2YWx1ZV9zbGljZSAoc3RydWN0IHZhbHVlICphcnJh eSwgaW50IGxvd2JvdW5kLCBpbnQgbGVuZ3RoKQorQEAgLTM3NzIsNDUgKzM4MDEsMTU1IEBAIHZh bHVlX3NsaWNlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBpbnQgbG93Ym91bmQsIGludCBsZW5ndGgp CiAgICBpZiAodHlwZV9ub3RfYXNzb2NpYXRlZCAoYXJyYXlfdHlwZSkpCiAgICAgIGVycm9yIChf KCJhcnJheSBub3QgYXNzb2NpYXRlZCIpKTsKICAKLS0gIHJhbmdlX3R5cGUgPSBUWVBFX0lOREVY X1RZUEUgKGFycmF5X3R5cGUpOworLSAgcmFuZ2VfdHlwZSA9IGFycmF5X3R5cGUtPmluZGV4X3R5 cGUgKCk7CiAtICBpZiAoZ2V0X2Rpc2NyZXRlX2JvdW5kcyAocmFuZ2VfdHlwZSwgJmxvd2VyYm91 bmQsICZ1cHBlcmJvdW5kKSA8IDApCiAtICAgIGVycm9yIChfKCJzbGljZSBmcm9tIGJhZCBhcnJh eSBvciBiaXRzdHJpbmciKSk7Ci0rICBhcnlfbG93X2JvdW5kID0gVFlQRV9MT1dfQk9VTkQgKFRZ UEVfSU5ERVhfVFlQRSAoYXJyYXlfdHlwZSkpOwotKyAgYXJ5X2hpZ2hfYm91bmQgPSBUWVBFX0hJ R0hfQk9VTkQgKFRZUEVfSU5ERVhfVFlQRSAoYXJyYXlfdHlwZSkpOworKyAgYXJ5X2xvd19ib3Vu ZCA9IGFycmF5X3R5cGUtPmluZGV4X3R5cGUgKCktPmJvdW5kcyAoKS0+bG93LmNvbnN0X3ZhbCAo KTsKKysgIGFyeV9oaWdoX2JvdW5kID0gYXJyYXlfdHlwZS0+aW5kZXhfdHlwZSAoKS0+Ym91bmRz ICgpLT5oaWdoLmNvbnN0X3ZhbCAoKTsKICsKICsgIC8qIFdoZW4gd2UgYXJlIHdvcmtpbmcgb24g YSBtdWx0aS1kaW1lbnNpb25hbCBhcnJheSwgd2UgbmVlZCB0byBnZXQgdGhlCiArICAgICBhdHRy aWJ1dGVzIG9mIHRoZSB1bmRlcmx5aW5nIHR5cGUuICAqLwogKyAgaWYgKGNhbGxfY291bnQgPiAx KQogKyAgICB7Ci0rICAgICAgYXJ5X2xvd19ib3VuZCA9IFRZUEVfTE9XX0JPVU5EIChUWVBFX0lO REVYX1RZUEUgKGVsdF90eXBlKSk7Ci0rICAgICAgYXJ5X2hpZ2hfYm91bmQgPSBUWVBFX0hJR0hf Qk9VTkQgKFRZUEVfSU5ERVhfVFlQRSAoZWx0X3R5cGUpKTsKKysgICAgICBhcnlfbG93X2JvdW5k ID0gZWx0X3R5cGUtPmluZGV4X3R5cGUgKCktPmJvdW5kcyAoKS0+bG93LmNvbnN0X3ZhbCAoKTsK KysgICAgICBhcnlfaGlnaF9ib3VuZCA9IGVsdF90eXBlLT5pbmRleF90eXBlICgpLT5ib3VuZHMg KCktPmhpZ2guY29uc3RfdmFsICgpOwogKyAgICAgIGVsdF90eXBlID0gY2hlY2tfdHlwZWRlZiAo VFlQRV9UQVJHRVRfVFlQRSAoZWx0X3R5cGUpKTsKICsgICAgICByb3dfY291bnQgPSBUWVBFX0xF TkdUSCAoYXJyYXlfdHlwZSkKICsJCSAgICAvIFRZUEVfTEVOR1RIIChUWVBFX1RBUkdFVF9UWVBF IChhcnJheV90eXBlKSk7CkBAIC0xNjIzLDEyICsxNjE0LDEyIEBAIGRpZmYgLS1naXQgYS9nZGIv dmFsb3BzLmMgYi9nZGIvdmFsb3BzLmMKICsKICsgIGVsdF9zaXplID0gVFlQRV9MRU5HVEggKGVs dF90eXBlKTsKICsgIGVsdF9vZmZzID0gbG93Ym91bmQgLSBhcnlfbG93X2JvdW5kOworKworKyAg ZWx0X29mZnMgKj0gZWx0X3NpemU7CiAgCiAtICBpZiAobG93Ym91bmQgPCBsb3dlcmJvdW5kIHx8 IGxlbmd0aCA8IDAKIC0gICAgICB8fCBsb3dib3VuZCArIGxlbmd0aCAtIDEgPiB1cHBlcmJvdW5k KQogLSAgICBlcnJvciAoXygic2xpY2Ugb3V0IG9mIHJhbmdlIikpOwotKyAgZWx0X29mZnMgKj0g ZWx0X3NpemU7Ci0rCiArICAvKiBDaGVjayBmb3IgdmFsaWQgdXNlciBpbnB1dC4gIEluIGNhc2Ug b2YgRm9ydHJhbiB0aGlzIHdhcyBhbHJlYWR5IGRvbmUKICsgICAgIGluIHRoZSBjYWxsaW5nIGZ1 bmN0aW9uLiAgKi8KICsgIGlmIChjYWxsX2NvdW50ID09IDEKQEAgLTE2NDIsNyArMTYzMyw3IEBA IGRpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMgYi9nZGIvdmFsb3BzLmMKICsgICAgIGFycmF5IGJ5 IHNldHRpbmcgc2xpY2VfcmFuZ2Vfc2l6ZS4gICovCiArICBpZiAoY2FsbF9jb3VudCA9PSAxKQog KyAgICB7Ci0rICAgICAgcmFuZ2VfdHlwZSA9IFRZUEVfSU5ERVhfVFlQRSAoYXJyYXlfdHlwZSk7 CisrICAgICAgcmFuZ2VfdHlwZSA9IGFycmF5X3R5cGUtPmluZGV4X3R5cGUgKCk7CiArICAgICAg c2xpY2VfcmFuZ2Vfc2l6ZSA9IGFyeV9sb3dfYm91bmQgKyBlbGVtX2NvdW50IC0gMTsKICsKICsg ICAgICAvKiBDaGVjayBpZiB0aGUgYXJyYXkgYm91bmRzIGFyZSB2YWxpZC4gICovCkBAIC0xNjU0 LDkgKzE2NDUsOSBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbG9wcy5jIGIvZ2RiL3ZhbG9wcy5jCiAr ICAgICBhY2NvcmRpbmdseS4gICovCiArICBlbHNlCiArICAgIHsKLSsgICAgICByYW5nZV90eXBl ID0gVFlQRV9JTkRFWF9UWVBFIChUWVBFX1RBUkdFVF9UWVBFIChhcnJheV90eXBlKSk7CisrICAg ICAgcmFuZ2VfdHlwZSA9IFRZUEVfVEFSR0VUX1RZUEUgKGFycmF5X3R5cGUpLT5pbmRleF90eXBl ICgpOwogKyAgICAgIHNsaWNlX3JhbmdlX3NpemUgPSBhcnlfbG93X2JvdW5kICsgKHJvd19jb3Vu dCAqIGVsZW1fY291bnQpIC0gMTsKLSsgICAgICBhcnlfbG93X2JvdW5kID0gVFlQRV9MT1dfQk9V TkQgKHJhbmdlX3R5cGUpOworKyAgICAgIGFyeV9sb3dfYm91bmQgPSByYW5nZV90eXBlLT5ib3Vu ZHMgKCktPmxvdy5jb25zdF92YWwgKCk7CiArICAgIH0KICAKICAgIC8qIEZJWE1FLXR5cGUtYWxs b2NhdGlvbjogbmVlZCBhIHdheSB0byBmcmVlIHRoaXMgdHlwZSB3aGVuIHdlIGFyZQpAQCAtMTY3 NCw3ICsxNjY1LDExIEBAIGRpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMgYi9nZGIvdmFsb3BzLmMK IC0gICAgTE9OR0VTVCBvZmZzZXQKIC0gICAgICA9IChsb3dib3VuZCAtIGxvd2VyYm91bmQpICog VFlQRV9MRU5HVEggKGNoZWNrX3R5cGVkZWYgKGVsZW1lbnRfdHlwZSkpOwogKyAgICBzdHJ1Y3Qg dHlwZSAqZWxlbWVudF90eXBlOwotKworIAorLSAgICBzbGljZV90eXBlID0gY3JlYXRlX2FycmF5 X3R5cGUgKE5VTEwsCistCQkJCSAgICBlbGVtZW50X3R5cGUsCistCQkJCSAgICBzbGljZV9yYW5n ZV90eXBlKTsKKy0gICAgc2xpY2VfdHlwZS0+c2V0X2NvZGUgKGFycmF5X3R5cGUtPmNvZGUgKCkp OwogKyAgICAvKiBXaGVuIGJvdGggQ0FMTF9DT1VOVCBhbmQgU1RSSURFX0xFTkdUSCBlcXVhbCAx LCB3ZSBjYW4gdXNlIHRoZSBsZWdhY3kKICsgICAgICAgY29kZSBmb3Igc3ViYXJyYXlzLiAgKi8K ICsgICAgaWYgKGNhbGxfY291bnQgPT0gMSAmJiBzdHJpZGVfbGVuZ3RoID09IDEpCkBAIC0xNjgy LDEyICsxNjc3LDggQEAgZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYwog KwllbGVtZW50X3R5cGUgPSBUWVBFX1RBUkdFVF9UWVBFIChhcnJheV90eXBlKTsKICsKICsJc2xp Y2VfdHlwZSA9IGNyZWF0ZV9hcnJheV90eXBlIChOVUxMLCBlbGVtZW50X3R5cGUsIHNsaWNlX3Jh bmdlX3R5cGUpOwotIAotLSAgICBzbGljZV90eXBlID0gY3JlYXRlX2FycmF5X3R5cGUgKE5VTEws Ci0tCQkJCSAgICBlbGVtZW50X3R5cGUsCi0tCQkJCSAgICBzbGljZV9yYW5nZV90eXBlKTsKLS0g ICAgVFlQRV9DT0RFIChzbGljZV90eXBlKSA9IFRZUEVfQ09ERSAoYXJyYXlfdHlwZSk7Ci0rCVRZ UEVfQ09ERSAoc2xpY2VfdHlwZSkgPSBUWVBFX0NPREUgKGFycmF5X3R5cGUpOworKworKwlzbGlj ZV90eXBlLT5zZXRfY29kZSAoYXJyYXlfdHlwZS0+Y29kZSAoKSk7CiAgCiAtICAgIGlmIChWQUxV RV9MVkFMIChhcnJheSkgPT0gbHZhbF9tZW1vcnkgJiYgdmFsdWVfbGF6eSAoYXJyYXkpKQogLSAg ICAgIHNsaWNlID0gYWxsb2NhdGVfdmFsdWVfbGF6eSAoc2xpY2VfdHlwZSk7CkBAIC0xNzMxLDEy ICsxNzIyLDEyIEBAIGRpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMgYi9nZGIvdmFsb3BzLmMKICsK ICsJc2xpY2VfdHlwZSA9IGNyZWF0ZV9hcnJheV90eXBlIChOVUxMLCBlbGVtZW50X3R5cGUsIHNs aWNlX3JhbmdlX3R5cGUpOwogKwotKwkgLyogSWYgd2UgaGF2ZSBhIG9uZSBkaW1lbnNpb25hbCBh cnJheSwgd2UgY29weSBpdHMgVFlQRV9DT0RFLiAgRm9yIGEKLSsJICAgIG11bHRpIGRpbWVuc2lv bmFsIGFycmF5IHdlIGNvcHkgdGhlIGVtYmVkZGVkIHR5cGUncyBUWVBFX0NPREUuICAqLworKwkg LyogSWYgd2UgaGF2ZSBhIG9uZSBkaW1lbnNpb25hbCBhcnJheSwgd2UgY29weSBpdHMgdHlwZSBj b2RlLiAgRm9yIGEKKysJICAgIG11bHRpIGRpbWVuc2lvbmFsIGFycmF5IHdlIGNvcHkgdGhlIGVt YmVkZGVkIHR5cGUncyB0eXBlIGNvZGUuICAqLwogKwlpZiAoY2FsbF9jb3VudCA9PSAxKQotKwkg IFRZUEVfQ09ERSAoc2xpY2VfdHlwZSkgPSBUWVBFX0NPREUgKGFycmF5X3R5cGUpOworKwkgIHNs aWNlX3R5cGUtPnNldF9jb2RlIChhcnJheV90eXBlLT5jb2RlICgpKTsKICsJZWxzZQotKwkgIFRZ UEVfQ09ERSAoc2xpY2VfdHlwZSkgPSBUWVBFX0NPREUgKFRZUEVfVEFSR0VUX1RZUEUgKGFycmF5 X3R5cGUpKTsKKysJICBzbGljZV90eXBlLT5zZXRfY29kZSAoKFRZUEVfVEFSR0VUX1RZUEUgKGFy cmF5X3R5cGUpLT5jb2RlICgpKSk7CiArCiArCXYgPSBhbGxvY2F0ZV92YWx1ZSAoc2xpY2VfdHlw ZSk7CiArCkBAIC0xNzcyLDE2ICsxNzYzLDE2IEBAIGRpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMg Yi9nZGIvdmFsb3BzLmMKICsgIHJldHVybiB2OwogIH0KICAKLSAvKiBDcmVhdGUgYSB2YWx1ZSBm b3IgYSBGT1JUUkFOIGNvbXBsZXggbnVtYmVyLiAgQ3VycmVudGx5IG1vc3Qgb2YgdGhlCisgLyog U2VlIHZhbHVlLmguICAqLwogZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5oIGIvZ2RiL3ZhbHVlLmgK IC0tLSBhL2dkYi92YWx1ZS5oCiArKysgYi9nZGIvdmFsdWUuaAotQEAgLTExNDUsNiArMTE0NSw4 IEBAIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhcnlpbmdfdG9fc2xpY2UgKHN0cnVjdCB2YWx1ZSAq KTsKK0BAIC0xMTQ0LDYgKzExNDQsOCBAQCBleHRlcm4gc3RydWN0IHZhbHVlICp2YXJ5aW5nX3Rv X3NsaWNlIChzdHJ1Y3QgdmFsdWUgKik7CiAgCiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVf c2xpY2UgKHN0cnVjdCB2YWx1ZSAqLCBpbnQsIGludCk7CiAgCiArZXh0ZXJuIHN0cnVjdCB2YWx1 ZSAqdmFsdWVfc2xpY2VfMSAoc3RydWN0IHZhbHVlICosIGludCwgaW50LCBpbnQsIGludCk7CiAr Ci0gZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfbGl0ZXJhbF9jb21wbGV4IChzdHJ1Y3QgdmFs dWUgKiwgc3RydWN0IHZhbHVlICosCi0gCQkJCQkgICAgc3RydWN0IHR5cGUgKik7Ci0gCisgLyog Q3JlYXRlIGEgY29tcGxleCBudW1iZXIuICBUaGUgdHlwZSBpcyB0aGUgY29tcGxleCB0eXBlOyB0 aGUgdmFsdWVzCisgICAgYXJlIGNhc3QgdG8gdGhlIHVuZGVybHlpbmcgc2NhbGFyIHR5cGUgYmVm b3JlIHRoZSBjb21wbGV4IG51bWJlciBpcworICAgIGNyZWF0ZWQuICAqLwoKZGlmZiAtLWdpdCBh L2dkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaCBiL2dkYi12bGEtaW50ZWwt Zm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaAppbmRleCBkZWVhNGI1Li4xZTQ4ZWU4IDEwMDY0NAot LS0gYS9nZGItdmxhLWludGVsLWZvcnRyYW4tdmxhLXN0cmluZ3MucGF0Y2gKKysrIGIvZ2RiLXZs YS1pbnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNoCkBAIC0zMyw3ICszMyw3IEBAIGdpdCBk aWZmIC0tc3RhdCAtcCBnZGIvbWFzdGVyLi4uZ2RiL3VzZXJzL2JoZWNrZWwvZm9ydHJhbi12bGEt c3RyaW5ncwogZGlmZiAtLWdpdCBhL2dkYi9ORVdTIGIvZ2RiL05FV1MKIC0tLSBhL2dkYi9ORVdT CiArKysgYi9nZGIvTkVXUwotQEAgLTgwNSw2ICs4MDUsOCBAQCBTSC01L1NINjQgcnVubmluZyBP cGVuQlNEIAlTSC01L1NINjQgc3VwcG9ydCBpbiBzaCotKi1vcGVuYnNkKgorQEAgLTk4NSw2ICs5 ODUsOCBAQCBTSC01L1NINjQgcnVubmluZyBPcGVuQlNEIAlTSC01L1NINjQgc3VwcG9ydCBpbiBz aCotKi1vcGVuYnNkKgogIAogICoqKiBDaGFuZ2VzIGluIEdEQiA4LjEKICAKQEAgLTQ1LDExICs0 NSwxMSBAQCBkaWZmIC0tZ2l0IGEvZ2RiL05FV1MgYi9nZGIvTkVXUwogZGlmZiAtLWdpdCBhL2dk Yi9jLXZhbHByaW50LmMgYi9nZGIvYy12YWxwcmludC5jCiAtLS0gYS9nZGIvYy12YWxwcmludC5j CiArKysgYi9nZGIvYy12YWxwcmludC5jCi1AQCAtNjQ5LDYgKzY0OSwyOCBAQCBjX3ZhbHVlX3By aW50IChzdHJ1Y3QgdmFsdWUgKnZhbCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKK0BAIC01NzIs NiArNTcyLDI4IEBAIGNfdmFsdWVfcHJpbnQgKHN0cnVjdCB2YWx1ZSAqdmFsLCBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLAogICAgICAgIGVsc2UKICAJewogIAkgIC8qIG5vcm1hbCBjYXNlICovCi0r CSAgaWYgKFRZUEVfQ09ERSAodHlwZSkgPT0gVFlQRV9DT0RFX1BUUgorKwkgIGlmICh0eXBlLT5j b2RlICgpID09IFRZUEVfQ09ERV9QVFIKICsJICAgICAgJiYgMSA9PSBpc19keW5hbWljX3R5cGUg KHR5cGUpKQogKwkgICAgewogKwkgICAgICBDT1JFX0FERFIgYWRkcjsKQEAgLTY0LDcgKzY0LDcg QEAgZGlmZiAtLWdpdCBhL2dkYi9jLXZhbHByaW50LmMgYi9nZGIvYy12YWxwcmludC5jCiArCQkg ICYmICgwID09IHR5cGVfbm90X2Fzc29jaWF0ZWQgKHR5cGUpKSkKICsJCSAgVFlQRV9UQVJHRVRf VFlQRSAodHlwZSkgPQogKwkJICAgICAgcmVzb2x2ZV9keW5hbWljX3R5cGUgKFRZUEVfVEFSR0VU X1RZUEUgKHR5cGUpLAotKwkJCQkJICAgIE5VTEwsIGFkZHIpOworKwkJCQkJICAgIHt9LCBhZGRy KTsKICsJICAgIH0KICsJICBlbHNlCiArCSAgICB7CkBAIC03NCwxMCArNzQsMTAgQEAgZGlmZiAt LWdpdCBhL2dkYi9jLXZhbHByaW50LmMgYi9nZGIvYy12YWxwcmludC5jCiAgCSAgZnByaW50Zl9m aWx0ZXJlZCAoc3RyZWFtLCAiKCIpOwogIAkgIHR5cGVfcHJpbnQgKHZhbHVlX3R5cGUgKHZhbCks ICIiLCBzdHJlYW0sIC0xKTsKICAJICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIpICIpOwot ZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi0tLS0gYS9n ZGIvZHdhcmYycmVhZC5jCi0rKysgYi9nZGIvZHdhcmYycmVhZC5jCi1AQCAtMTgyNyw3ICsxODI3 LDEwIEBAIHN0YXRpYyB2b2lkIHJlYWRfc2lnbmF0dXJlZF90eXBlIChzdHJ1Y3Qgc2lnbmF0dXJl ZF90eXBlICopOworZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIvcmVhZC5jIGIvZ2RiL2R3YXJmMi9y ZWFkLmMKKy0tLSBhL2dkYi9kd2FyZjIvcmVhZC5jCisrKysgYi9nZGIvZHdhcmYyL3JlYWQuYwor QEAgLTE1NjIsNyArMTU2MiwxMCBAQCBzdGF0aWMgdm9pZCByZWFkX3NpZ25hdHVyZWRfdHlwZSAo c2lnbmF0dXJlZF90eXBlICpzaWdfdHlwZSwKICAKICBzdGF0aWMgaW50IGF0dHJfdG9fZHluYW1p Y19wcm9wIChjb25zdCBzdHJ1Y3QgYXR0cmlidXRlICphdHRyLAogIAkJCQkgc3RydWN0IGRpZV9p bmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1LApAQCAtODksMTYgKzg5LDI1IEBAIGRpZmYg LS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwogIAogIC8qIG1lbW9y eSBhbGxvY2F0aW9uIGludGVyZmFjZSAqLwogIAotQEAgLTEzNzk5LDcgKzEzODAyLDcgQEAgcmVh ZF9mdW5jX3Njb3BlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3Up CitAQCAtMTM2MzEsNyArMTM2MzQsNyBAQCByZWFkX2Z1bmNfc2NvcGUgKHN0cnVjdCBkaWVfaW5m byAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgICAgICBuZXdvYmotPnN0YXRpY19saW5r CiAgCT0gWE9CTkVXICgmb2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLCBzdHJ1Y3QgZHluYW1pY19w cm9wKTsKICAgICAgICBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgbmV3b2Jq LT5zdGF0aWNfbGluaywKLS0JCQkgICAgZHdhcmYyX3Blcl9jdV9hZGRyX3R5cGUgKGN1LT5wZXJf Y3UpKTsKLSsJCQkgICAgZHdhcmYyX3Blcl9jdV9hZGRyX3R5cGUgKGN1LT5wZXJfY3UpLCBOVUxM LCAwKTsKKy0JCQkgICAgY3UtPmFkZHJfdHlwZSAoKSk7CisrCQkJICAgIGN1LT5hZGRyX3R5cGUg KCksIE5VTEwsIDApOwogICAgICB9CiAgCiAgICBjdS0+bGlzdF9pbl9zY29wZSA9IGN1LT5nZXRf YnVpbGRlciAoKS0+Z2V0X2xvY2FsX3N5bWJvbHMgKCk7Ci1AQCAtMTY1NjUsNyArMTY1NjgsNyBA QCByZWFkX2FycmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1 ICpjdSkKK0BAIC0xNjA3Myw3ICsxNjA3Niw3IEBAIHJlYWRfc3RydWN0dXJlX3R5cGUgKHN0cnVj dCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAgICAgICBlbHNlCisgCXsK KyAJICBzdHJ1Y3QgZHluYW1pY19wcm9wIHByb3A7CistCSAgaWYgKGF0dHJfdG9fZHluYW1pY19w cm9wIChhdHRyLCBkaWUsIGN1LCAmcHJvcCwgY3UtPmFkZHJfdHlwZSAoKSkpCisrCSAgaWYgKGF0 dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAmcHJvcCwgY3UtPmFkZHJfdHlwZSAo KSwgTlVMTCwgMCkpCisgCSAgICB0eXBlLT5hZGRfZHluX3Byb3AgKERZTl9QUk9QX0JZVEVfU0la RSwgcHJvcCk7CisgICAgICAgICAgIFRZUEVfTEVOR1RIICh0eXBlKSA9IDA7CisgCX0KK0BAIC0x Njc2NCw3ICsxNjc2Nyw3IEBAIHJlYWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUs IHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgICAgIGJ5dGVfc3RyaWRlX3Byb3AKICAJPSAoc3Ry dWN0IGR5bmFtaWNfcHJvcCAqKSBhbGxvY2EgKHNpemVvZiAoc3RydWN0IGR5bmFtaWNfcHJvcCkp OwogICAgICAgIHN0cmlkZV9vayA9IGF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1 LCBieXRlX3N0cmlkZV9wcm9wLApAQCAtMTA3LDcgKzExNiw3IEBAIGRpZmYgLS1naXQgYS9nZGIv ZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwogICAgICAgIGlmICghc3RyaWRlX29rKQog IAl7CiAgCSAgY29tcGxhaW50IChfKCJ1bmFibGUgdG8gcmVhZCBhcnJheSBEV19BVF9ieXRlX3N0 cmlkZSAiCi1AQCAtMTczMjUsNyArMTczMjgsNyBAQCByZWFkX3RhZ19zdHJpbmdfdHlwZSAoc3Ry dWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3NTIyLDcgKzE3 NTI1LDcgQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1 Y3QgZHdhcmYyX2N1ICpjdSkKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CiAgICBzdHJ1Y3Qg ZHluYW1pY19wcm9wIHByb3A7CiAgICBib29sIGxlbmd0aF9pc19jb25zdGFudCA9IHRydWU7CkBA IC0xMTYsNyArMTI1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdh cmYycmVhZC5jCiAgCiAgICAvKiBUaGVyZSBhcmUgYSBjb3VwbGUgb2YgcGxhY2VzIHdoZXJlIGJp dCBzaXplcyBtaWdodCBiZSBtYWRlIHVzZSBvZgogICAgICAgd2hlbiBwYXJzaW5nIGEgRFdfVEFH X3N0cmluZ190eXBlLCBob3dldmVyLCBubyBwcm9kdWNlciB0aGF0IHdlIGtub3cKLUBAIC0xNzM0 Niw2ICsxNzM0OSwxMCBAQCByZWFkX3RhZ19zdHJpbmdfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpk aWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3NTQzLDYgKzE3NTQ2LDEwIEBAIHJlYWRf dGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAq Y3UpCiAgCX0KICAgICAgfQogIApAQCAtMTI1LDkgKzEzNCw5IEBAIGRpZmYgLS1naXQgYS9nZGIv ZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwogKwogKyAgLyogSWYgRFdfQVRfc3RyaW5n X2xlbmd0aCBpcyBkZWZpbmVkLCB0aGUgbGVuZ3RoIGlzIHN0b3JlZCBpbiBtZW1vcnkuICAqLwog ICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX3N0cmluZ19sZW5ndGgsIGN1KTsKLSAg IGlmIChhdHRyICE9IG51bGxwdHIgJiYgIWF0dHJfZm9ybV9pc19jb25zdGFudCAoYXR0cikpCisg ICBpZiAoYXR0ciAhPSBudWxscHRyICYmICFhdHRyLT5mb3JtX2lzX2NvbnN0YW50ICgpKQogICAg ICB7Ci1AQCAtMTczNzIsMTMgKzE3Mzc5LDcxIEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1 Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTc1NjksMTMgKzE3 NTc2LDY4IEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3Ry dWN0IGR3YXJmMl9jdSAqY3UpCiAgCX0KICAKICAgICAgICAvKiBDb252ZXJ0IHRoZSBhdHRyaWJ1 dGUgaW50byBhIGR5bmFtaWMgcHJvcGVydHkuICAqLwpAQCAtMTM5LDcgKzE0OCw3IEBAIGRpZmYg LS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwogICAgICB9CiAgICBl bHNlIGlmIChhdHRyICE9IG51bGxwdHIpCiAgICAgIHsKLSsgICAgICBpZiAoYXR0cl9mb3JtX2lz X2Jsb2NrIChhdHRyKSkKKysgICAgICBpZiAoYXR0ci0+Zm9ybV9pc19ibG9jayAoKSkKICsJewog KwkgIHN0cnVjdCBhdHRyaWJ1dGUgKmJ5dGVfc2l6ZSwgKmJpdF9zaXplOwogKwkgIHN0cnVjdCBk eW5hbWljX3Byb3AgaGlnaDsKQEAgLTE4OSwxOCArMTk4LDE1IEBAIGRpZmYgLS1naXQgYS9nZGIv ZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwogKwkJY29tcGxhaW50IChfKCJDb3VsZCBu b3QgcGFyc2UgRFdfQVRfc3RyaW5nX2xlbmd0aCIpKTsKICsJICAgIH0KICsKLSsJICBUWVBFX1JB TkdFX0RBVEEgKHJhbmdlX3R5cGUpLT5oaWdoID0gaGlnaDsKKysJICByYW5nZV90eXBlLT5ib3Vu ZHMgKCktPmhpZ2ggPSBoaWdoOwogKwl9CiArICAgICAgZWxzZQotKwl7Ci0rCSAgVFlQRV9ISUdI X0JPVU5EIChyYW5nZV90eXBlKSA9IERXX1VOU05EKGF0dHIpOwotKwkgIFRZUEVfSElHSF9CT1VO RF9LSU5EIChyYW5nZV90eXBlKSA9IFBST1BfQ09OU1Q7Ci0rCX0KKysJcmFuZ2VfdHlwZS0+Ym91 bmRzICgpLT5oaWdoLnNldF9jb25zdF92YWwgKERXX1VOU05EKGF0dHIpKTsKICsKICAgICAgICAv KiBUaGlzIERXX0FUX3N0cmluZ19sZW5ndGgganVzdCBjb250YWlucyB0aGUgbGVuZ3RoIHdpdGgg bm8KICAJIGluZGlyZWN0aW9uLiAgVGhlcmUncyBubyBuZWVkIHRvIGNyZWF0ZSBhIGR5bmFtaWMg cHJvcGVydHkgaW4gdGhpcwogIAkgY2FzZS4gIFBhc3MgMCBmb3IgdGhlIGRlZmF1bHQgdmFsdWUg YXMgd2Uga25vdyBpdCB3aWxsIG5vdCBiZQotQEAgLTE3MzkyLDYgKzE3NDU3LDIwIEBAIHJlYWRf dGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAq Y3UpCitAQCAtMTc1ODksNiArMTc2NTEsMTQgQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVj dCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgICAgfQogICAgZWxzZQog ICAgICB7CkBAIC0yMDgsMjggKzIxNCwyMiBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQu YyBiL2dkYi9kd2FyZjJyZWFkLmMKICsJIGluIHRoaXMgY2FzZS4gICovCiArICAgICAgYXR0ciA9 IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2J5dGVfc2l6ZSwgY3UpOwogKyAgICAgIGlmIChhdHRy KQotKwl7Ci0rCSAgVFlQRV9ISUdIX0JPVU5EIChyYW5nZV90eXBlKSA9IERXX1VOU05EKGF0dHIp OwotKwkgIFRZUEVfSElHSF9CT1VORF9LSU5EIChyYW5nZV90eXBlKSA9IFBST1BfQ09OU1Q7Ci0r CX0KKysJcmFuZ2VfdHlwZS0+Ym91bmRzICgpLT5oaWdoLnNldF9jb25zdF92YWwgKERXX1VOU05E KGF0dHIpKTsKICsgICAgICBlbHNlCi0rCXsKLSsJICBUWVBFX0hJR0hfQk9VTkQgKHJhbmdlX3R5 cGUpID0gMTsKLSsJICBUWVBFX0hJR0hfQk9VTkRfS0lORCAocmFuZ2VfdHlwZSkgPSBQUk9QX0NP TlNUOwotKwl9CisrCXJhbmdlX3R5cGUtPmJvdW5kcyAoKS0+aGlnaC5zZXRfY29uc3RfdmFsICgx KTsKICsKICAgICAgICAvKiBVc2UgMSBhcyBhIGZhbGxiYWNrIGxlbmd0aCBpZiB3ZSBoYXZlIG5v dGhpbmcgZWxzZS4gICovCiAgICAgICAgbGVuZ3RoID0gMTsKICAgICAgfQotQEAgLTE3NDA3LDYg KzE3NDg2LDcgQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz dHJ1Y3QgZHdhcmYyX2N1ICpjdSkKLSAgICAgICBsb3dfYm91bmQuZGF0YS5jb25zdF92YWwgPSAx OworQEAgLTE3NjAzLDYgKzE3NjczLDcgQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBk aWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAgICAgICBsb3dfYm91bmQuc2V0 X2NvbnN0X3ZhbCAoMSk7CiAgICAgICAgcmFuZ2VfdHlwZSA9IGNyZWF0ZV9yYW5nZV90eXBlIChO VUxMLCBpbmRleF90eXBlLCAmbG93X2JvdW5kLCAmcHJvcCwgMCk7CiAgICAgIH0KICsKICAgIGNo YXJfdHlwZSA9IGxhbmd1YWdlX3N0cmluZ19jaGFyX3R5cGUgKGN1LT5sYW5ndWFnZV9kZWZuLCBn ZGJhcmNoKTsKICAgIHR5cGUgPSBjcmVhdGVfc3RyaW5nX3R5cGUgKE5VTEwsIGNoYXJfdHlwZSwg cmFuZ2VfdHlwZSk7CiAgCi1AQCAtMTc4NTgsNyArMTc5MzgsOCBAQCByZWFkX2Jhc2VfdHlwZSAo c3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE4MDc4LDcg KzE4MTQ5LDggQEAgcmVhZF9iYXNlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3Qg ZHdhcmYyX2N1ICpjdSkKICBzdGF0aWMgaW50CiAgYXR0cl90b19keW5hbWljX3Byb3AgKGNvbnN0 IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCBkaWVfaW5mbyAqZGllLAogIAkJICAgICAg c3RydWN0IGR3YXJmMl9jdSAqY3UsIHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCkBAIC0yMzgs MTggKzIzOCwxNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJy ZWFkLmMKICsJCSAgICAgIGNvbnN0IGdkYl9ieXRlICphZGRpdGlvbmFsX2RhdGEsIGludCBhZGRp dGlvbmFsX2RhdGFfc2l6ZSkKICB7CiAgICBzdHJ1Y3QgZHdhcmYyX3Byb3BlcnR5X2JhdG9uICpi YXRvbjsKLSAgIHN0cnVjdCBvYnN0YWNrICpvYnN0YWNrCi1AQCAtMTc4ODUsOSArMTc5NjYsMzAg QEAgYXR0cl90b19keW5hbWljX3Byb3AgKGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0 cnVjdCBkaWVfaW5mbyAqZGllLAotIAkgIGJhdG9uLT5sb2NleHByLmlzX3JlZmVyZW5jZSA9IGZh bHNlOworICAgZHdhcmYyX3Blcl9vYmpmaWxlICpwZXJfb2JqZmlsZSA9IGN1LT5wZXJfb2JqZmls ZTsKK0BAIC0xODEwOCw2ICsxODE4MCwyNiBAQCBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qg c3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRpZV9pbmZvICpkaWUsCiAgCSAgYnJlYWs7 CiAgCX0KLSsKKyAKICsgICAgICBpZiAoYWRkaXRpb25hbF9kYXRhICE9IE5VTEwgJiYgYWRkaXRp b25hbF9kYXRhX3NpemUgPiAwKQogKwl7CiArCSAgZ2RiX2J5dGUgKmRhdGE7CiArCiArCSAgZGF0 YSA9IChnZGJfYnl0ZSAqKSBvYnN0YWNrX2FsbG9jKAotKwkgICAgICAmY3UtPnBlcl9jdS0+ZHdh cmYyX3Blcl9vYmpmaWxlLT5vYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssCisrCSAgICAgICZjdS0+ cGVyX29iamZpbGUtPm9iamZpbGUtPm9iamZpbGVfb2JzdGFjaywKICsJICAgICAgRFdfQkxPQ0sg KGF0dHIpLT5zaXplICsgYWRkaXRpb25hbF9kYXRhX3NpemUpOwogKwkgIG1lbWNweSAoZGF0YSwg RFdfQkxPQ0sgKGF0dHIpLT5kYXRhLCBEV19CTE9DSyAoYXR0ciktPnNpemUpOwogKwkgIG1lbWNw eSAoZGF0YSArIERXX0JMT0NLIChhdHRyKS0+c2l6ZSwgYWRkaXRpb25hbF9kYXRhLApAQCAtMjY0 LDE3ICsyNjMsMTMgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYy cmVhZC5jCiArCSAgYmF0b24tPmxvY2V4cHIuc2l6ZSA9IERXX0JMT0NLIChhdHRyKS0+c2l6ZTsK ICsJfQogKwotICAgICAgIHByb3AtPmRhdGEuYmF0b24gPSBiYXRvbjsKLSAgICAgICBwcm9wLT5r aW5kID0gUFJPUF9MT0NFWFBSOwotLSAgICAgIGdkYl9hc3NlcnQgKHByb3AtPmRhdGEuYmF0b24g IT0gTlVMTCk7Ci0rICAgICAgZ2RiX2Fzc2VydChwcm9wLT5kYXRhLmJhdG9uICE9IE5VTEwpOwor ICAgICAgIHByb3AtPnNldF9sb2NleHByIChiYXRvbik7CisgICAgICAgZ2RiX2Fzc2VydCAocHJv cC0+YmF0b24gKCkgIT0gTlVMTCk7CiAgICAgIH0KLSAgIGVsc2UgaWYgKGF0dHJfZm9ybV9pc19y ZWYgKGF0dHIpKQotICAgICB7Ci1AQCAtMTc5MjAsOSArMTgwMjIsMjkgQEAgYXR0cl90b19keW5h bWljX3Byb3AgKGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCBkaWVfaW5mbyAq ZGllLAotIAkJYmF0b24gPSBYT0JORVcgKG9ic3RhY2ssIHN0cnVjdCBkd2FyZjJfcHJvcGVydHlf YmF0b24pOworQEAgLTE4MTQyLDExICsxODIzNCwzMSBAQCBhdHRyX3RvX2R5bmFtaWNfcHJvcCAo Y29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRpZV9pbmZvICpkaWUsCiAgCQli YXRvbi0+cHJvcGVydHlfdHlwZSA9IGRpZV90eXBlICh0YXJnZXRfZGllLCB0YXJnZXRfY3UpOwog IAkJYmF0b24tPmxvY2V4cHIucGVyX2N1ID0gY3UtPnBlcl9jdTsKKyAJCWJhdG9uLT5sb2NleHBy LnBlcl9vYmpmaWxlID0gcGVyX29iamZpbGU7CiAtCQliYXRvbi0+bG9jZXhwci5zaXplID0gRFdf QkxPQ0sgKHRhcmdldF9hdHRyKS0+c2l6ZTsKIC0JCWJhdG9uLT5sb2NleHByLmRhdGEgPSBEV19C TE9DSyAodGFyZ2V0X2F0dHIpLT5kYXRhOwogIAkJYmF0b24tPmxvY2V4cHIuaXNfcmVmZXJlbmNl ID0gdHJ1ZTsKQEAgLTI4Myw3ICsyNzgsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQu YyBiL2dkYi9kd2FyZjJyZWFkLmMKICsJCSAgewogKwkJICAgIGdkYl9ieXRlICpkYXRhOwogKwot KwkJICAgIGRhdGEgPSAoZ2RiX2J5dGUgKikgb2JzdGFja19hbGxvYyAoJmN1LT5wZXJfY3UtPmR3 YXJmMl9wZXJfb2JqZmlsZS0+b2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLAorKwkJICAgIGRhdGEg PSAoZ2RiX2J5dGUgKikgb2JzdGFja19hbGxvYyAoJmN1LT5wZXJfb2JqZmlsZS0+b2JqZmlsZS0+ b2JqZmlsZV9vYnN0YWNrLAogKwkJCSAgICBEV19CTE9DSyAodGFyZ2V0X2F0dHIpLT5zaXplICsg YWRkaXRpb25hbF9kYXRhX3NpemUpOwogKwkJICAgIG1lbWNweSAoZGF0YSwgRFdfQkxPQ0sgKHRh cmdldF9hdHRyKS0+ZGF0YSwKICsJCQkgICAgRFdfQkxPQ0sgKHRhcmdldF9hdHRyKS0+c2l6ZSk7 CkBAIC0zMDAsMTAgKzI5NSwxMyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dk Yi9kd2FyZjJyZWFkLmMKICsJCSAgICBiYXRvbi0+bG9jZXhwci5zaXplID0gRFdfQkxPQ0sgKHRh cmdldF9hdHRyKS0+c2l6ZTsKICsJCSAgfQogKwotIAkJcHJvcC0+ZGF0YS5iYXRvbiA9IGJhdG9u OwotIAkJcHJvcC0+a2luZCA9IFBST1BfTE9DRVhQUjsKLSAJCWdkYl9hc3NlcnQgKHByb3AtPmRh dGEuYmF0b24gIT0gTlVMTCk7Ci1AQCAtMTgwOTksOCArMTgyMjEsOCBAQCByZWFkX3N1YnJhbmdl X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAJCXBy b3AtPnNldF9sb2NleHByIChiYXRvbik7CistCQlnZGJfYXNzZXJ0IChwcm9wLT5iYXRvbiAoKSAh PSBOVUxMKTsKKysJCWdkYl9hc3NlcnQgKHByb3AtPmJhdG9uKCkgIT0gTlVMTCk7CisgCSAgICAg IH0KKyAJICAgIGVsc2UKKyAJICAgICAgeworQEAgLTE4MzA4LDggKzE4NDIwLDggQEAgcmVhZF9z dWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3Up CiAgICAgIH0KICAKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9sb3dlcl9ib3Vu ZCwgY3UpOwpAQCAtMzE0LDcgKzMxMiw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5j IGIvZ2RiL2R3YXJmMnJlYWQuYwogICAgZWxzZSBpZiAoIWxvd19kZWZhdWx0X2lzX3ZhbGlkKQog ICAgICBjb21wbGFpbnQgKF8oIk1pc3NpbmcgRFdfQVRfbG93ZXJfYm91bmQgIgogIAkJCQkgICAg ICAiLSBESUUgYXQgJXMgW2luIG1vZHVsZSAlc10iKSwKLUBAIC0xODEwOSwxMCArMTgyMzEsMTAg QEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJm Ml9jdSAqY3UpCitAQCAtMTgzMTgsMTAgKzE4NDMwLDEwIEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAo c3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogIAogICAgc3RydWN0 IGF0dHJpYnV0ZSAqYXR0cl91YiwgKmF0dHJfY291bnQ7CiAgICBhdHRyID0gYXR0cl91YiA9IGR3 YXJmMl9hdHRyIChkaWUsIERXX0FUX3VwcGVyX2JvdW5kLCBjdSk7CkBAIC0zMjYsODAgKzMyNCw1 NCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKICsg ICAgICBpZiAoYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZoaWdoLCBiYXNl X3R5cGUsIE5VTEwsIDApKQogIAl7CiAgCSAgLyogSWYgYm91bmRzIGFyZSBjb25zdGFudCBkbyB0 aGUgZmluYWwgY2FsY3VsYXRpb24gaGVyZS4gICovCi0gCSAgaWYgKGxvdy5raW5kID09IFBST1Bf Q09OU1QgJiYgaGlnaC5raW5kID09IFBST1BfQ09OU1QpCi1AQCAtMTgxNjQsNyArMTgyODYsNyBA QCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYy X2N1ICpjdSkKLSAgICAgICBzdHJ1Y3QgdHlwZSAqcHJvcF90eXBlCi0gCT0gZHdhcmYyX3Blcl9j dV9hZGRyX3NpemVkX2ludF90eXBlIChjdS0+cGVyX2N1LCBmYWxzZSk7CisgCSAgaWYgKGxvdy5r aW5kICgpID09IFBST1BfQ09OU1QgJiYgaGlnaC5raW5kICgpID09IFBST1BfQ09OU1QpCitAQCAt MTgzNzIsNyArMTg0ODQsNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAq ZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAgICAgeworICAgICAgIHN0cnVjdCB0eXBlICpw cm9wX3R5cGUgPSBjdS0+YWRkcl9zaXplZF9pbnRfdHlwZSAoZmFsc2UpOwogICAgICAgIGF0dHJf dG9fZHluYW1pY19wcm9wIChhdHRyX2J5dGVfc3RyaWRlLCBkaWUsIGN1LCAmYnl0ZV9zdHJpZGVf cHJvcCwKIC0JCQkgICAgcHJvcF90eXBlKTsKICsJCQkgICAgcHJvcF90eXBlLCBOVUxMLCAwKTsK ICAgICAgfQogIAogICAgc3RydWN0IGR5bmFtaWNfcHJvcCBiaXRfc3RyaWRlX3Byb3A7Ci1AQCAt MTgxODUsNyArMTgzMDcsNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAq ZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKLSAJICBzdHJ1Y3QgdHlwZSAqcHJvcF90eXBlCi0g CSAgICA9IGR3YXJmMl9wZXJfY3VfYWRkcl9zaXplZF9pbnRfdHlwZSAoY3UtPnBlcl9jdSwgZmFs c2UpOworQEAgLTE4MzkyLDcgKzE4NTA0LDcgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3Qg ZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCisgCXsKKyAJICBzdHJ1Y3QgdHlw ZSAqcHJvcF90eXBlID0gY3UtPmFkZHJfc2l6ZWRfaW50X3R5cGUgKGZhbHNlKTsKICAJICBhdHRy X3RvX2R5bmFtaWNfcHJvcCAoYXR0cl9iaXRfc3RyaWRlLCBkaWUsIGN1LCAmYml0X3N0cmlkZV9w cm9wLAogLQkJCQlwcm9wX3R5cGUpOwogKwkJCQlwcm9wX3R5cGUsIE5VTEwsIDApOwogIAl9CiAg ICAgIH0KICAKLUBAIC0yNTg3OSw3ICsyNjAwMSw3IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRp ZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BA IC0yNDQyNCw3ICsyNDUzNiw3IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUs IHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAgIGlmIChhdHRyICE9 IE5VTEwpCiAgICAgIHsKLSAgICAgICBzdHJ1Y3QgdHlwZSAqcHJvcF90eXBlCi0gCT0gZHdhcmYy X3Blcl9jdV9hZGRyX3NpemVkX2ludF90eXBlIChjdS0+cGVyX2N1LCBmYWxzZSk7CisgICAgICAg c3RydWN0IHR5cGUgKnByb3BfdHlwZSA9IGN1LT5hZGRyX3NpemVkX2ludF90eXBlIChmYWxzZSk7 CiAtICAgICAgaWYgKGF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAmcHJvcCwg cHJvcF90eXBlKSkKICsgICAgICBpZiAoYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwg Y3UsICZwcm9wLCBwcm9wX3R5cGUsIE5VTEwsIDApKQotICAgICAgICAgYWRkX2R5bl9wcm9wIChE WU5fUFJPUF9BTExPQ0FURUQsIHByb3AsIHR5cGUpOworICAgICAgICAgdHlwZS0+YWRkX2R5bl9w cm9wIChEWU5fUFJPUF9BTExPQ0FURUQsIHByb3ApOwogICAgICB9Ci0gICBlbHNlIGlmIChhdHRy ICE9IE5VTEwpCi1AQCAtMjU4OTUsNyArMjYwMTcsNyBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBk aWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCisg CitAQCAtMjQ0MzMsMTMgKzI0NTQ1LDEzIEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZv ICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAgIGlmIChh dHRyICE9IE5VTEwpCiAgICAgIHsKLSAgICAgICBzdHJ1Y3QgdHlwZSAqcHJvcF90eXBlCi0gCT0g ZHdhcmYyX3Blcl9jdV9hZGRyX3NpemVkX2ludF90eXBlIChjdS0+cGVyX2N1LCBmYWxzZSk7Cisg ICAgICAgc3RydWN0IHR5cGUgKnByb3BfdHlwZSA9IGN1LT5hZGRyX3NpemVkX2ludF90eXBlIChm YWxzZSk7CiAtICAgICAgaWYgKGF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAm cHJvcCwgcHJvcF90eXBlKSkKICsgICAgICBpZiAoYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIs IGRpZSwgY3UsICZwcm9wLCBwcm9wX3R5cGUsIE5VTEwsIDApKQotICAgICAgICAgYWRkX2R5bl9w cm9wIChEWU5fUFJPUF9BU1NPQ0lBVEVELCBwcm9wLCB0eXBlKTsKKyAgICAgICAgIHR5cGUtPmFk ZF9keW5fcHJvcCAoRFlOX1BST1BfQVNTT0NJQVRFRCwgcHJvcCk7CiAgICAgIH0KLSAgIGVsc2Ug aWYgKGF0dHIgIT0gTlVMTCkKLUBAIC0yNTkwOCw3ICsyNjAzMCw3IEBAIHNldF9kaWVfdHlwZSAo c3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1 ICpjdSkKKyAKICAgIC8qIFJlYWQgRFdfQVRfZGF0YV9sb2NhdGlvbiBhbmQgc2V0IGluIHR5cGUu ICAqLwogICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2RhdGFfbG9jYXRpb24sIGN1 KTsKLSAgIGlmIChhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnByb3AsCi0t CQkJICAgIGR3YXJmMl9wZXJfY3VfYWRkcl90eXBlIChjdS0+cGVyX2N1KSkpCi0rCQkJICAgIGR3 YXJmMl9wZXJfY3VfYWRkcl90eXBlIChjdS0+cGVyX2N1KSwgTlVMTCwgMCkpCi0gICAgIGFkZF9k eW5fcHJvcCAoRFlOX1BST1BfREFUQV9MT0NBVElPTiwgcHJvcCwgdHlwZSk7CistICBpZiAoYXR0 cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZwcm9wLCBjdS0+YWRkcl90eXBlICgp KSkKKysgIGlmIChhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnByb3AsIGN1 LT5hZGRyX3R5cGUgKCksIE5VTEwsIDApKQorICAgICB0eXBlLT5hZGRfZHluX3Byb3AgKERZTl9Q Uk9QX0RBVEFfTE9DQVRJT04sIHByb3ApOwogIAotICAgaWYgKGR3YXJmMl9wZXJfb2JqZmlsZS0+ ZGllX3R5cGVfaGFzaCA9PSBOVUxMKQorICAgaWYgKHBlcl9vYmpmaWxlLT5kaWVfdHlwZV9oYXNo ID09IE5VTEwpCiBkaWZmIC0tZ2l0IGEvZ2RiL2YtdHlwZXByaW50LmMgYi9nZGIvZi10eXBlcHJp bnQuYwogLS0tIGEvZ2RiL2YtdHlwZXByaW50LmMKICsrKyBiL2dkYi9mLXR5cGVwcmludC5jCi1A QCAtMTk3LDE1ICsxOTcsMTQgQEAgZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChzdHJ1Y3Qg dHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKLSAJcHJpbnRfcmFua19vbmx5ID0g dHJ1ZTsKLSAgICAgICBlbHNlIGlmICgoVFlQRV9BU1NPQ0lBVEVEX1BST1AgKHR5cGUpCi0gCQkm JiBQUk9QX0NPTlNUICE9IFRZUEVfRFlOX1BST1BfS0lORCAoVFlQRV9BU1NPQ0lBVEVEX1BST1Ag KHR5cGUpKSkKLS0JICAgICAgIHx8IChUWVBFX0FMTE9DQVRFRF9QUk9QICh0eXBlKQotLQkJICAg JiYgUFJPUF9DT05TVCAhPSBUWVBFX0RZTl9QUk9QX0tJTkQgKFRZUEVfQUxMT0NBVEVEX1BST1Ag KHR5cGUpKSkKLS0JICAgICAgIHx8IChUWVBFX0RBVEFfTE9DQVRJT04gKHR5cGUpCi0tCQkgICAm JiBQUk9QX0NPTlNUICE9IFRZUEVfRFlOX1BST1BfS0lORCAoVFlQRV9EQVRBX0xPQ0FUSU9OICh0 eXBlKSkpKQotLQl7Ci0tCSAgLyogVGhpcyBjYXNlIGV4aXN0IHdoZW4gd2UgcHR5cGUgYSB0eXBl bmFtZSB3aGljaCBoYXMgdGhlIGR5bmFtaWMKLS0JICAgICBwcm9wZXJ0aWVzIGJ1dCBjYW5ub3Qg YmUgcmVzb2x2ZWQgYXMgdGhlcmUgaXMgbm8gb2JqZWN0LiAgKi8KLS0JICBwcmludF9yYW5rX29u bHkgPSB0cnVlOwotLQl9Ci0rCSAgICAgIHx8IChUWVBFX0FMTE9DQVRFRF9QUk9QICh0eXBlKQot KwkJJiYgUFJPUF9DT05TVCAhPSBUWVBFX0RZTl9QUk9QX0tJTkQgKFRZUEVfQUxMT0NBVEVEX1BS T1AgKHR5cGUpKSkKLSsJICAgICAgfHwgKFRZUEVfREFUQV9MT0NBVElPTiAodHlwZSkKLSsJCSAg JiYgUFJPUF9DT05TVCAhPSBUWVBFX0RZTl9QUk9QX0tJTkQgKFRZUEVfREFUQV9MT0NBVElPTiAo dHlwZSkpKSkKLSsJLyogVGhpcyBjYXNlIGV4aXN0IHdoZW4gd2UgcHR5cGUgYSB0eXBlbmFtZSB3 aGljaCBoYXMgdGhlCi0rCSAgIGR5bmFtaWMgcHJvcGVydGllcyBidXQgY2Fubm90IGJlIHJlc29s dmVkIGFzIHRoZXJlIGlzCi0rCSAgIG5vIG9iamVjdC4gICovCi0rCXByaW50X3Jhbmtfb25seSA9 IHRydWU7Ci0gCi0gICAgICAgaWYgKFRZUEVfQ09ERSAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSkp ID09IFRZUEVfQ09ERV9BUlJBWSkKLSAJZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChUWVBF X1RBUkdFVF9UWVBFICh0eXBlKSwgc3RyZWFtLCAwLAotQEAgLTIxNyw4ICsyMTYsOSBAQCBmX3R5 cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtLAorQEAgLTIxNyw4ICsyMTcsOSBAQCBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZm aXggKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogICAgICAgIGVs c2UKICAJewogIAkgIExPTkdFU1QgbG93ZXJfYm91bmQgPSBmNzdfZ2V0X2xvd2VyYm91bmQgKHR5 cGUpOwpAQCAtNDEwLDcgKzM4Miw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZi10eXBlcHJpbnQuYyBi L2dkYi9mLXR5cGVwcmludC5jCiAgCiAgCSAgLyogTWFrZSBzdXJlIHRoYXQsIGlmIHdlIGhhdmUg YW4gYXNzdW1lZCBzaXplIGFycmF5LCB3ZQogIAkgICAgICAgcHJpbnQgb3V0IGEgd2FybmluZyBh bmQgcHJpbnQgdGhlIHVwcGVyYm91bmQgYXMgJyonLiAgKi8KLUBAIC0yMjksNyArMjI5LDcgQEAg Zl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVp X2ZpbGUgKnN0cmVhbSwKK0BAIC0yMjksNyArMjMwLDcgQEAgZl90eXBlX3ByaW50X3ZhcnNwZWNf c3VmZml4IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKICAJICAg IHsKICAJICAgICAgTE9OR0VTVCB1cHBlcl9ib3VuZCA9IGY3N19nZXRfdXBwZXJib3VuZCAodHlw ZSk7CiAgCkBAIC00MTksNyArMzkxLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9mLXR5cGVwcmludC5j IGIvZ2RiL2YtdHlwZXByaW50LmMKICAJICAgIH0KICAJfQogIAotQEAgLTI0OSw3ICsyNDksNyBA QCBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3Qg dWlfZmlsZSAqc3RyZWFtLAorQEAgLTI0OSw3ICsyNTAsNyBAQCBmX3R5cGVfcHJpbnRfdmFyc3Bl Y19zdWZmaXggKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogICAg ICBjYXNlIFRZUEVfQ09ERV9SRUY6CiAgICAgICAgZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4 IChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSwgc3RyZWFtLCAwLCAxLCAwLAogIAkJCQkgICBhcnJh eXByaW50X3JlY3Vyc2VfbGV2ZWwsIGZhbHNlKTsKQEAgLTQzMSwxNyArNDAzLDE3IEBAIGRpZmYg LS1naXQgYS9nZGIvZi10eXBlcHJpbnQuYyBiL2dkYi9mLXR5cGVwcmludC5jCiBkaWZmIC0tZ2l0 IGEvZ2RiL2dkYnR5cGVzLmMgYi9nZGIvZ2RidHlwZXMuYwogLS0tIGEvZ2RiL2dkYnR5cGVzLmMK ICsrKyBiL2dkYi9nZGJ0eXBlcy5jCi1AQCAtMTkzOSw3ICsxOTM5LDggQEAgaXNfZHluYW1pY190 eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IHRvcF9sZXZlbCkKK0BAIC0xOTc3 LDcgKzE5NzcsOCBAQCBpc19keW5hbWljX3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0eXBlICp0eXBl LCBpbnQgdG9wX2xldmVsKQogICAgdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHR5cGUpOwogIAogICAg LyogV2Ugb25seSB3YW50IHRvIHJlY29nbml6ZSByZWZlcmVuY2VzIGF0IHRoZSBvdXRlcm1vc3Qg bGV2ZWwuICAqLwotLSAgaWYgKHRvcF9sZXZlbCAmJiBUWVBFX0NPREUgKHR5cGUpID09IFRZUEVf Q09ERV9SRUYpCistICBpZiAodG9wX2xldmVsICYmIHR5cGUtPmNvZGUgKCkgPT0gVFlQRV9DT0RF X1JFRikKICsgIGlmICh0b3BfbGV2ZWwgJiYKLSsgICAgICAoVFlQRV9DT0RFICh0eXBlKSA9PSBU WVBFX0NPREVfUkVGIHx8IFRZUEVfQ09ERSAodHlwZSkgPT0gVFlQRV9DT0RFX1BUUikpCisrICAg ICAgKHR5cGUtPmNvZGUgKCkgPT0gVFlQRV9DT0RFX1JFRiB8fCB0eXBlLT4gY29kZSgpID09IFRZ UEVfQ09ERV9QVFIpKQogICAgICB0eXBlID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9UQVJHRVRfVFlQ RSAodHlwZSkpOwogIAogICAgLyogVHlwZXMgdGhhdCBoYXZlIGEgZHluYW1pYyBUWVBFX0RBVEFf TE9DQVRJT04gYXJlIGNvbnNpZGVyZWQKLUBAIC0xOTcyLDEwICsxOTczLDEwIEBAIGlzX2R5bmFt aWNfdHlwZV9pbnRlcm5hbCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCB0b3BfbGV2ZWwpCitAQCAt MjAxNywxMCArMjAxOCwxMCBAQCBpc19keW5hbWljX3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0eXBl ICp0eXBlLCBpbnQgdG9wX2xldmVsKQogIAkJfHwgaXNfZHluYW1pY190eXBlX2ludGVybmFsIChU WVBFX1RBUkdFVF9UWVBFICh0eXBlKSwgMCkpOwogICAgICAgIH0KICAKQEAgLTQ1MSwyNiArNDIz LDI2IEBAIGRpZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuYyBiL2dkYi9nZGJ0eXBlcy5jCiAgICAg IGNhc2UgVFlQRV9DT0RFX0FSUkFZOgogKyAgICBjYXNlIFRZUEVfQ09ERV9TVFJJTkc6CiAgICAg ICAgewotIAlnZGJfYXNzZXJ0IChUWVBFX05GSUVMRFMgKHR5cGUpID09IDEpOworIAlnZGJfYXNz ZXJ0ICh0eXBlLT5udW1fZmllbGRzICgpID09IDEpOwogIAotQEAgLTIxMzksMTEgKzIxNDAsMTUg QEAgcmVzb2x2ZV9keW5hbWljX2FycmF5X29yX3N0cmluZyAoc3RydWN0IHR5cGUgKnR5cGUsCitA QCAtMjE4MywxMSArMjE4NCwxNSBAQCByZXNvbHZlX2R5bmFtaWNfYXJyYXlfb3Jfc3RyaW5nIChz dHJ1Y3QgdHlwZSAqdHlwZSwKICAKICAgIGFyeV9kaW0gPSBjaGVja190eXBlZGVmIChUWVBFX1RB UkdFVF9UWVBFIChlbHRfdHlwZSkpOwogIAotLSAgaWYgKGFyeV9kaW0gIT0gTlVMTCAmJiBUWVBF X0NPREUgKGFyeV9kaW0pID09IFRZUEVfQ09ERV9BUlJBWSkKLSsgIGlmIChhcnlfZGltICE9IE5V TEwgJiYgKFRZUEVfQ09ERSAoYXJ5X2RpbSkgPT0gVFlQRV9DT0RFX0FSUkFZCi0rICAgICAgfHwg VFlQRV9DT0RFIChhcnlfZGltKSA9PSBUWVBFX0NPREVfU1RSSU5HKSkKKy0gIGlmIChhcnlfZGlt ICE9IE5VTEwgJiYgYXJ5X2RpbS0+Y29kZSAoKSA9PSBUWVBFX0NPREVfQVJSQVkpCisrICBpZiAo YXJ5X2RpbSAhPSBOVUxMICYmIChhcnlfZGltLT5jb2RlICgpID09IFRZUEVfQ09ERV9BUlJBWQor KyAgICAgIHx8IGFyeV9kaW0tPmNvZGUgKCkgPT0gVFlQRV9DT0RFX1NUUklORykpCiAgICAgIGVs dF90eXBlID0gcmVzb2x2ZV9keW5hbWljX2FycmF5X29yX3N0cmluZyAoYXJ5X2RpbSwgYWRkcl9z dGFjayk7CiAgICBlbHNlCiAgICAgIGVsdF90eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAodHlwZSk7 CiAgCi0rICBpZiAoVFlQRV9DT0RFICh0eXBlKSA9PSBUWVBFX0NPREVfU1RSSU5HKQorKyAgaWYg KHR5cGUtPmNvZGUgKCkgPT0gVFlQRV9DT0RFX1NUUklORykKICsgICAgcmV0dXJuIGNyZWF0ZV9z dHJpbmdfdHlwZSAodHlwZSwgZWx0X3R5cGUsIHJhbmdlX3R5cGUpOwogKwotICAgcHJvcCA9IGdl dF9keW5fcHJvcCAoRFlOX1BST1BfQllURV9TVFJJREUsIHR5cGUpOworICAgcHJvcCA9IHR5cGUt PmR5bl9wcm9wIChEWU5fUFJPUF9CWVRFX1NUUklERSk7CiAgICBpZiAocHJvcCAhPSBOVUxMKQog ICAgICB7Ci1AQCAtMjI5NSw2ICsyMzAwLDI4IEBAIHJlc29sdmVfZHluYW1pY19zdHJ1Y3QgKHN0 cnVjdCB0eXBlICp0eXBlLAorQEAgLTI1MzMsNiArMjUzOCwyNSBAQCByZXNvbHZlX2R5bmFtaWNf c3RydWN0IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAgIHJldHVybiByZXNvbHZlZF90eXBlOwogIH0K ICAKQEAgLTQ4OCwxMCArNDYwLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5jIGIvZ2Ri L2dkYnR5cGVzLmMKICsgIC8qIFJlc29sdmUgYXNzb2NpYXRlZCBwcm9wZXJ0eS4gICovCiArICBw cm9wID0gVFlQRV9BU1NPQ0lBVEVEX1BST1AgKHR5cGUpOwogKyAgaWYgKHByb3AgIT0gTlVMTCAm JiBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKHByb3AsIE5VTEwsIGFkZHJfc3RhY2ssICZ2YWx1 ZSkpCi0rICAgIHsKLSsgICAgICBUWVBFX0RZTl9QUk9QX0FERFIgKHByb3ApID0gdmFsdWU7Ci0r ICAgICAgVFlQRV9EWU5fUFJPUF9LSU5EIChwcm9wKSA9IFBST1BfQ09OU1Q7Ci0rICAgIH0KKysg ICAgcHJvcC0+c2V0X2NvbnN0X3ZhbCAodmFsdWUpOwogKwogKyAgcmV0dXJuIHR5cGU7CiArfQpA QCAtNDk5LDcgKzQ2OCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuYyBiL2dkYi9nZGJ0 eXBlcy5jCiAgLyogV29ya2VyIGZvciByZXNvbHZlZF9keW5hbWljX3R5cGUuICAqLwogIAogIHN0 YXRpYyBzdHJ1Y3QgdHlwZSAqCi1AQCAtMjM0OSw2ICsyMzc2LDkgQEAgcmVzb2x2ZV9keW5hbWlj X3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTI1OTQsNiArMjYxOCw5IEBA IHJlc29sdmVfZHluYW1pY190eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJY2Fz ZSBUWVBFX0NPREVfQVJSQVk6CiAgCSAgcmVzb2x2ZWRfdHlwZSA9IHJlc29sdmVfZHluYW1pY19h cnJheV9vcl9zdHJpbmcgKHR5cGUsIGFkZHJfc3RhY2spOwogIAkgIGJyZWFrOwpAQCAtODA0LDcg Kzc3Myw3IEBAIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50X3R5 cGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhCiAgIyBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICMgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKICAjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDMgb2YgdGhlIExpY2Vuc2UsIG9yCi1AQCAtNDAsNyArNDEsNyBAQCBzZXQgY29tcGxleCBbZm9y dHJhbl9jb21wbGV4NF0KK0BAIC00Miw3ICs0Myw3IEBAIHNldCBjb21wbGV4IFtmb3J0cmFuX2Nv bXBsZXg0XQogICMgbWF0Y2hlcyB0aGUgc3RyaW5nIFRZUEUuCiAgcHJvYyBjaGVja19wb2ludGVy X3R5cGUgeyB2YXJfbmFtZSB0eXBlIH0gewogICAgICBnZGJfdGVzdCAicHR5cGUgJHt2YXJfbmFt ZX0iIFwKQEAgLTgxMyw3ICs3ODIsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9wcmludF90eXBlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYQogIH0KICAK ICBnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5lX251bWJlciAiQmVmb3JlIHBvaW50ZXIgYXNz aWdubWVudCJdCi1AQCAtODUsNyArODYsOCBAQCBnZGJfdGVzdCAicHR5cGUgdHdvcCIgXAorQEAg LTg3LDcgKzg4LDggQEAgZ2RiX3Rlc3QgInB0eXBlIHR3b3AiIFwKICAgICAgW211bHRpX2xpbmUg InR5cGUgPSBQVFIgVE8gLT4gXFwoIFR5cGUgdHdvIiBcCiAgICAgICAgICAgICAgICAgICIgICAg JGludCwgYWxsb2NhdGFibGUgOjogaXZsYTFcXCg6XFwpIiBcCiAgICAgICAgICAgICAgICAgICIg ICAgJGludCwgYWxsb2NhdGFibGUgOjogaXZsYTJcXCg6LDpcXCkiIFwKQEAgLTgyMyw3ICs3OTIs NyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4 cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYQogIAogIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0 X2xpbmVfbnVtYmVyICJBZnRlciB2YWx1ZSBhc3NpZ25tZW50Il0KICBnZGJfY29udGludWVfdG9f YnJlYWtwb2ludCAiQWZ0ZXIgdmFsdWUgYXNzaWdubWVudCIKLUBAIC05NywxMSArOTksMTEgQEAg Z2RiX3Rlc3QgInB0eXBlIGludHYiICJ0eXBlID0gJGludCIKK0BAIC05OSwxMSArMTAxLDExIEBA IGdkYl90ZXN0ICJwdHlwZSBpbnR2IiAidHlwZSA9ICRpbnQiCiAgZ2RiX3Rlc3QgInB0eXBlIGlu dGEiICJ0eXBlID0gJGludCBcXCgxMCwyXFwpIgogIGdkYl90ZXN0ICJwdHlwZSByZWFsdiIgInR5 cGUgPSAkcmVhbCIKICAKQEAgLTg0MCw3ICs4MDksNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YQogIHNldCB0ZXN0ICJwdHlwZSBpbnRhcCIKICBnZGJfdGVzdF9tdWx0aXBsZSAkdGVzdCAkdGVz dCB7CiAgICAgIC1yZSAidHlwZSA9ICRpbnQgXFwoMTAsMlxcKVxyXG4kZ2RiX3Byb21wdCAkIiB7 Ci1AQCAtMTExLDQgKzExMyw0IEBAIGdkYl90ZXN0X211bHRpcGxlICR0ZXN0ICR0ZXN0IHsKK0BA IC0xMTMsNCArMTE1LDQgQEAgZ2RiX3Rlc3RfbXVsdGlwbGUgJHRlc3QgJHRlc3QgewogICAgICAg ICAgcGFzcyAkdGVzdAogICAgICB9CiAgfQpAQCAtMTAwMSw3ICs5NzAsNyBAQCBuZXcgZmlsZSBt b2RlIDEwMDY0NAogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZh bHVlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cAogLS0tIGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCiArKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS5leHAKLUBAIC0zNSw3ICszNSw3IEBAIGdkYl9icmVh a3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2bGExLWluaXQiXQorQEAgLTM3LDcgKzM3LDcg QEAgZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInZsYTEtaW5pdCJdCiAgZ2Ri X2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgInZsYTEtaW5pdCIKICBnZGJfdGVzdCAicHJpbnQgdmxh MSIgIiA9IDxub3QgYWxsb2NhdGVkPiIgInByaW50IG5vbi1hbGxvY2F0ZWQgdmxhMSIKICBnZGJf dGVzdCAicHJpbnQgJnZsYTEiIFwKQEAgLTEwMTAsNyArOTc5LDcgQEAgZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4KICAgICJwcmludCBub24tYWxsb2NhdGVkICZ2bGExIgogIGdkYl90ZXN0ICJwcmlu dCB2bGExKDEsMSwxKSIgIm5vIHN1Y2ggdmVjdG9yIGVsZW1lbnQgXFxcKHZlY3RvciBub3QgYWxs b2NhdGVkXFxcKSIgXAogICAgInByaW50IG1lbWJlciBpbiBub24tYWxsb2NhdGVkIHZsYTEgKDEp IgotQEAgLTU2LDcgKzU2LDcgQEAgd2l0aF90aW1lb3V0X2ZhY3RvciAxNSB7CitAQCAtNTgsNyAr NTgsNyBAQCB3aXRoX3RpbWVvdXRfZmFjdG9yIDE1IHsKICAJInN0ZXAgb3ZlciB2YWx1ZSBhc3Np Z25tZW50IG9mIHZsYTEiCiAgfQogIGdkYl90ZXN0ICJwcmludCAmdmxhMSIgXApAQCAtMTAxOSw3 ICs5ODgsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFs dWUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbgogICAgInByaW50IGFsbG9jYXRlZCAm dmxhMSIKICBnZGJfdGVzdCAicHJpbnQgdmxhMSgzLCA2LCA5KSIgIiA9IDEzMTEiICJwcmludCBh bGxvY2F0ZWQgdmxhMSgzLDYsOSkiCiAgZ2RiX3Rlc3QgInByaW50IHZsYTEoMSwgMywgOCkiICIg PSAxMzExIiAicHJpbnQgYWxsb2NhdGVkIHZsYTEoMSwzLDgpIgotQEAgLTc2LDcgKzc2LDcgQEAg Z2RiX3Rlc3QgInByaW50IHZsYTEoOSwgOSwgOSkiICIgPSA5OTkiIFwKK0BAIC03OCw3ICs3OCw3 IEBAIGdkYl90ZXN0ICJwcmludCB2bGExKDksIDksIDkpIiAiID0gOTk5IiBcCiAgIyBUcnkgdG8g YWNjZXNzIHZhbHVlcyBpbiB1bmRlZmluZWQgcG9pbnRlciB0byBWTEEgKGRhbmdsaW5nKQogIGdk Yl90ZXN0ICJwcmludCBwdmxhIiAiID0gPG5vdCBhc3NvY2lhdGVkPiIgInByaW50IHVuZGVmaW5l ZCBwdmxhIgogIGdkYl90ZXN0ICJwcmludCAmcHZsYSIgXApAQCAtMTAyOCw3ICs5OTcsNyBAQCBk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbgogICAgInByaW50IG5vbi1hc3NvY2lhdGVkICZwdmxhIgog IGdkYl90ZXN0ICJwcmludCBwdmxhKDEsIDMsIDgpIiAibm8gc3VjaCB2ZWN0b3IgZWxlbWVudCBc XFwodmVjdG9yIG5vdCBhc3NvY2lhdGVkXFxcKSIgXAogICAgInByaW50IHVuZGVmaW5lZCBwdmxh KDEsMyw4KSIKLUBAIC04NSw3ICs4NSw3IEBAIGdkYl90ZXN0ICJwcmludCBwdmxhKDEsIDMsIDgp IiAibm8gc3VjaCB2ZWN0b3IgZWxlbWVudCBcXFwodmVjdG9yIG5vdCBhc3NvY2lhdGVkCitAQCAt ODcsNyArODcsNyBAQCBnZGJfdGVzdCAicHJpbnQgcHZsYSgxLCAzLCA4KSIgIm5vIHN1Y2ggdmVj dG9yIGVsZW1lbnQgXFxcKHZlY3RvciBub3QgYXNzb2NpYXRlZAogIGdkYl9icmVha3BvaW50IFtn ZGJfZ2V0X2xpbmVfbnVtYmVyICJwdmxhLWFzc29jaWF0ZWQiXQogIGdkYl9jb250aW51ZV90b19i cmVha3BvaW50ICJwdmxhLWFzc29jaWF0ZWQiCiAgZ2RiX3Rlc3QgInByaW50ICZwdmxhIiBcCkBA IC0xMDQwLDcgKzEwMDksNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtdmFsdWUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbgogZGlmZiAtLWdpdCBh L2dkYi90eXBlcHJpbnQuYyBiL2dkYi90eXBlcHJpbnQuYwogLS0tIGEvZ2RiL3R5cGVwcmludC5j CiArKysgYi9nZGIvdHlwZXByaW50LmMKLUBAIC01NzQsNiArNTc0LDI1IEBAIHdoYXRpc19leHAg KGNvbnN0IGNoYXIgKmV4cCwgaW50IHNob3cpCitAQCAtNTY1LDYgKzU2NSwyNSBAQCB3aGF0aXNf ZXhwIChjb25zdCBjaGFyICpleHAsIGludCBzaG93KQogICAgICAgIHByaW50Zl9maWx0ZXJlZCAo IiAqL1xuIik7ICAgIAogICAgICB9CiAgCkBAIC0xMDQ4LDcgKzEwMTcsNyBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL3R5cGVwcmludC5jIGIvZ2RiL3R5cGVwcmludC5jCiArICAgICBhZGRpdGlvbmFsIGlu Zm9ybWF0aW9uIGFib3V0IHRoZSB0YXJnZXQuCiArICAgICBGb3IgZXhhbXBsZSwgaW4gRm9ydHJh biBhbmQgQyB3ZSBhcmUgcHJpbnRpbmcgdGhlIGRpbWVuc2lvbiBvZiB0aGUKICsgICAgIGR5bmFt aWMgYXJyYXkgdGhlIHBvaW50ZXIgaXMgcG9pbnRpbmcgdG8uICAqLwotKyAgaWYgKFRZUEVfQ09E RSAodHlwZSkgPT0gVFlQRV9DT0RFX1BUUgorKyAgaWYgKHR5cGUtPmNvZGUgKCkgPT0gVFlQRV9D T0RFX1BUUgogKyAgICAgICYmIGlzX2R5bmFtaWNfdHlwZSAodHlwZSkgPT0gMSkKICsgICAgewog KyAgICAgIENPUkVfQUREUiBhZGRyOwpAQCAtMTA2MCw3ICsxMDI5LDcgQEAgZGlmZiAtLWdpdCBh L2dkYi90eXBlcHJpbnQuYyBiL2dkYi90eXBlcHJpbnQuYwogKyAgICAgIGlmIChhZGRyICE9IDAK ICsJICAmJiB0eXBlX25vdF9hc3NvY2lhdGVkICh0eXBlKSA9PSAwKQogKwlUWVBFX1RBUkdFVF9U WVBFICh0eXBlKSA9IHJlc29sdmVfZHluYW1pY190eXBlIChUWVBFX1RBUkdFVF9UWVBFICh0eXBl KSwKLSsJCQkJCQkJTlVMTCwgYWRkcik7CisrCQkJCQkJCXt9LCBhZGRyKTsKICsgICAgfQogKwog ICAgTEFfUFJJTlRfVFlQRSAodHlwZSwgIiIsIGdkYl9zdGRvdXQsIHNob3csIDAsICZmbGFncyk7 CkBAIC0xMDcwLDcgKzEwMzksNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbG9wcy5jIGIvZ2RiL3Zh bG9wcy5jCiAtLS0gYS9nZGIvdmFsb3BzLmMKICsrKyBiL2dkYi92YWxvcHMuYwogQEAgLTE1NTMs NiArMTU1MywxOSBAQCB2YWx1ZV9pbmQgKHN0cnVjdCB2YWx1ZSAqYXJnMSkKLSAgIGlmIChUWVBF X0NPREUgKGJhc2VfdHlwZSkgPT0gVFlQRV9DT0RFX1BUUikKKyAgIGlmIChiYXNlX3R5cGUtPmNv ZGUgKCkgPT0gVFlQRV9DT0RFX1BUUikKICAgICAgewogICAgICAgIHN0cnVjdCB0eXBlICplbmNf dHlwZTsKICsgICAgICBDT1JFX0FERFIgYWRkcjsKQEAgLTEwODUsMjQgKzEwNTQsMjQgQEAgZGlm ZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYwogKwogKyAgICAgIGlmIChhZGRy ICE9IDApCiArCVRZUEVfVEFSR0VUX1RZUEUgKGJhc2VfdHlwZSkgPQotKwkgICAgcmVzb2x2ZV9k eW5hbWljX3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUgKGJhc2VfdHlwZSksIE5VTEwsIGFkZHIpOwor KwkgICAgcmVzb2x2ZV9keW5hbWljX3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUgKGJhc2VfdHlwZSks IHt9LCBhZGRyKTsKICAKICAgICAgICAvKiBXZSBtYXkgYmUgcG9pbnRpbmcgdG8gc29tZXRoaW5n IGVtYmVkZGVkIGluIGEgbGFyZ2VyIG9iamVjdC4KICAgICAgICAgICBHZXQgdGhlIHJlYWwgdHlw ZSBvZiB0aGUgZW5jbG9zaW5nIG9iamVjdC4gICovCi1AQCAtMTU2OCw4ICsxNTgxLDcgQEAgdmFs dWVfaW5kIChzdHJ1Y3QgdmFsdWUgKmFyZzEpCitAQCAtMTU3MCw4ICsxNTgzLDcgQEAgdmFsdWVf aW5kIChzdHJ1Y3QgdmFsdWUgKmFyZzEpCiAgICAgICAgZWxzZQotIAkvKiBSZXRyaWV2ZSB0aGUg ZW5jbG9zaW5nIG9iamVjdCBwb2ludGVkIHRvLiAgKi8KLSAJYXJnMiA9IHZhbHVlX2F0X2xhenkg KGVuY190eXBlLCAKLS0JCQkgICAgICAodmFsdWVfYXNfYWRkcmVzcyAoYXJnMSkKLS0JCQkgICAg ICAgLSB2YWx1ZV9wb2ludGVkX3RvX29mZnNldCAoYXJnMSkpKTsKLSsJCQkgICAgICAoYWRkciAt IHZhbHVlX3BvaW50ZWRfdG9fb2Zmc2V0IChhcmcxKSkpOwotIAorIAl7CisgCSAgLyogUmV0cmll dmUgdGhlIGVuY2xvc2luZyBvYmplY3QgcG9pbnRlZCB0by4gICovCistCSAgYmFzZV9hZGRyID0g KHZhbHVlX2FzX2FkZHJlc3MgKGFyZzEpCistCQkgICAgICAgLSB2YWx1ZV9wb2ludGVkX3RvX29m ZnNldCAoYXJnMSkpOworKwkgIGJhc2VfYWRkciA9IChhZGRyIC0gdmFsdWVfcG9pbnRlZF90b19v ZmZzZXQgKGFyZzEpKTsKKyAJfQorICAgICAgIGFyZzIgPSB2YWx1ZV9hdF9sYXp5IChlbmNfdHlw ZSwgYmFzZV9hZGRyKTsKICAgICAgICBlbmNfdHlwZSA9IHZhbHVlX3R5cGUgKGFyZzIpOwotICAg ICAgIHJldHVybiByZWFkanVzdF9pbmRpcmVjdF92YWx1ZV90eXBlIChhcmcyLCBlbmNfdHlwZSwg YmFzZV90eXBlLCBhcmcxKTsKIGRpZmYgLS1naXQgYS9nZGIvdmFscHJpbnQuYyBiL2dkYi92YWxw cmludC5jCiAtLS0gYS9nZGIvdmFscHJpbnQuYwogKysrIGIvZ2RiL3ZhbHByaW50LmMKLUBAIC0x MTQ5LDEyICsxMTQ5LDYgQEAgdmFsdWVfY2hlY2tfcHJpbnRhYmxlIChzdHJ1Y3QgdmFsdWUgKnZh bCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKK0BAIC0xMDQ2LDEyICsxMDQ2LDYgQEAgdmFsdWVf Y2hlY2tfcHJpbnRhYmxlIChzdHJ1Y3QgdmFsdWUgKnZhbCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwKICAgICAgICByZXR1cm4gMDsKICAgICAgfQogIAoKZGlmZiAtLWdpdCBhL2dkYi12bGEtaW50 ZWwtc3RyaW5nYnQtZml4LnBhdGNoIGIvZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1maXgucGF0Y2gK aW5kZXggYWVkYzdiMS4uMWEyYmJiMSAxMDA2NDQKLS0tIGEvZ2RiLXZsYS1pbnRlbC1zdHJpbmdi dC1maXgucGF0Y2gKKysrIGIvZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1maXgucGF0Y2gKQEAgLTI3 LDEwICsyNywxMCBAQCBjYW5ub3QgcmVwcm9kdWNlIGl0LgogVGhhbmtzLAogSmFuCiAKLWRpZmYg LS1naXQgYS9nZGIvZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9jLmMKLS0tLSBhL2dkYi9kd2Fy ZjJsb2MuYwotKysrIGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtMjE1NCw2ICsyMTU0LDIwIEBAIGR3 YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGZy YW1lX2luZm8gKmZyYW1lLAorZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIvbG9jLmMgYi9nZGIvZHdh cmYyL2xvYy5jCistLS0gYS9nZGIvZHdhcmYyL2xvYy5jCisrKysgYi9nZGIvZHdhcmYyL2xvYy5j CitAQCAtMjI0OSw2ICsyMjQ5LDIwIEBAIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChz dHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAogICAgY3R4LnBlcl9j dSA9IHBlcl9jdTsKICAgIGN0eC5vYmpfYWRkcmVzcyA9IDA7CiAgCkBAIC01MCw3ICs1MCw3IEBA IGRpZmYgLS1naXQgYS9nZGIvZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9jLmMKICsKICAgIHNj b3BlZF92YWx1ZV9tYXJrIGZyZWVfdmFsdWVzOwogIAotICAgY3R4LmdkYmFyY2ggPSBnZXRfb2Jq ZmlsZV9hcmNoIChvYmpmaWxlKTsKKyAgIGN0eC5nZGJhcmNoID0gcGVyX29iamZpbGUtPm9iamZp bGUtPmFyY2ggKCk7CiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5h bWljLW90aGVyLWZyYW1lLXN0dWIuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5h bWljLW90aGVyLWZyYW1lLXN0dWIuZjkwCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAogLS0tIC9kZXYv bnVsbAoKZGlmZiAtLWdpdCBhL2dkYi12bGEtaW50ZWwtdGVzdHMucGF0Y2ggYi9nZGItdmxhLWlu dGVsLXRlc3RzLnBhdGNoCmluZGV4IDQ4MTRiNzEuLmJmZGU3NDIgMTAwNjQ0Ci0tLSBhL2dkYi12 bGEtaW50ZWwtdGVzdHMucGF0Y2gKKysrIGIvZ2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaApAQCAt MTgsMTIgKzE4LDE1IEBAIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3B0 ci1pbmRlbnRhdGlvbi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mCiBkaWZmIC0tZ2l0IGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wdHlwZS1vbi1mdW5jdGlvbnMuZXhwIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9wdHlwZS1vbi1mdW5jdGlvbnMuZXhwCiAtLS0gYS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3B0eXBlLW9uLWZ1bmN0aW9ucy5leHAKICsrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vcHR5cGUtb24tZnVuY3Rpb25zLmV4cAotQEAgLTQyLDQgKzQyLDQgQEAg Z2RiX3Rlc3QgInB0eXBlIHNheV9udW1iZXJzIiBcCitAQCAtNDIsNyArNDIsNyBAQCBnZGJfdGVz dCAicHR5cGUgc2F5X251bWJlcnMiIFwKICAgICAgInR5cGUgPSB2b2lkIFxcKGludGVnZXJcXChr aW5kPTRcXCksIGludGVnZXJcXChraW5kPTRcXCksIGludGVnZXJcXChraW5kPTRcXClcXCkiCiAg CiAgZ2RiX3Rlc3QgInB0eXBlIGZ1bl9wdHIiIFwKIC0gICAgInR5cGUgPSBQVFIgVE8gLT4gXFwo IGludGVnZXJcXChraW5kPTRcXCkgXFwoXFwpIFxcKFJFRiBUTyAtPiBcXCggaW50ZWdlclxcKGtp bmQ9NFxcKSBcXClcXCkgXFwpIgogKyAgICAidHlwZSA9IFBUUiBUTyAtPiBcXCggaW50ZWdlclxc KGtpbmQ9NFxcKSBcXChcXCkgXFwoUkVGIFRPIC0+IFxcKCBpbnRlZ2VyXFwoa2luZD00XFwpXFwp XFwpXFwpIgorIAorIGdkYl90ZXN0ICJwdHlwZSBzYXlfc3RyaW5nIiBcCisgICAgICJ0eXBlID0g dm9pZCBcXChjaGFyYWN0ZXJcXCpcXChcXCpcXCksIGludGVnZXJcXChraW5kPVxcZCtcXClcXCki CiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZnVuYy5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmV4cAogbmV3IGZpbGUgbW9kZSAxMDA2 NDQKIC0tLSAvZGV2L251bGwKQEAgLTE2OSwxMiArMTcyLDEyIEBAIG5ldyBmaWxlIG1vZGUgMTAw NjQ0CiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHRyLWluZm8u ZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHRyLWluZm8uZXhwCiAtLS0gYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5leHAKICsrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0ci1pbmZvLmV4cAotQEAgLTI4LDUgKzI4LDUgQEAgaWYg IVtydW50b19tYWluXSB7CitAQCAtMzMsNSArMzMsNSBAQCBzZXQgcmVhbDQgW2ZvcnRyYW5fcmVh bDRdCiAgIyBDaGVjayB0aGUgc3RhdHVzIG9mIGEgcG9pbnRlciB0byBhIGR5bmFtaWMgYXJyYXku CiAgZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInB2bGEtYXNzb2NpYXRlZCJd CiAgZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgInB2bGEtYXNzb2NpYXRlZCIKLS1nZGJfdGVz dCAicHJpbnQgJnB2bGEiICIgPSBcXChQVFIgVE8gLT4gXFwoIHJlYWxcXChraW5kPTRcXCkgXFwo MTAsMTAsMTBcXCkgXFwpXFwpICR7aGV4fSIgXAotK2dkYl90ZXN0ICJwcmludCAmcHZsYSIgIiA9 IFxcKFBUUiBUTyAtPiBcXCggcmVhbFxcKGtpbmQ9NFxcKSBcXCgxMCwxMCwxMFxcKVxcKVxcKSAk e2hleH0iIFwKKy1nZGJfdGVzdCAicHJpbnQgJnB2bGEiICIgPSBcXChQVFIgVE8gLT4gXFwoICRy ZWFsNCBcXCgxMCwxMCwxMFxcKSBcXClcXCkgJHtoZXh9IiBcCisrZ2RiX3Rlc3QgInByaW50ICZw dmxhIiAiID0gXFwoUFRSIFRPIC0+IFxcKCAkcmVhbDQgXFwoMTAsMTAsMTBcXClcXClcXCkgJHto ZXh9IiBcCiAgICAicHJpbnQgcHZsYSBwb2ludGVyIGluZm9ybWF0aW9uIgogZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3NvbGQuZXhwIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5nc29sZC5leHAKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0 CgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCBjYTA4NDVhLi5iMjE4ZTYy IDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMzEsMTMgKzMxLDEzIEBA IE5hbWU6ICV7P3NjbF9wcmVmaXh9Z2RiCiAjIEZyZWV6ZSBpdCB3aGVuIEdEQiBnZXRzIGJyYW5j aGVkCiAlZ2xvYmFsIHNuYXBzcmMgICAgMjAyMDAyMDgKICMgU2VlIHRpbWVzdGFtcCBvZiBzb3Vy Y2UgZ251bGliIGluc3RhbGxlZCBpbnRvIGdudWxpYi8gLgotJWdsb2JhbCBzbmFwZ251bGliIDIw MTkxMjE2CislZ2xvYmFsIHNuYXBnbnVsaWIgMjAyMDA2MzAKICVnbG9iYWwgdGFybmFtZSBnZGIt JXt2ZXJzaW9ufQotVmVyc2lvbjogOS4yCitWZXJzaW9uOiAxMC4xCiAKICMgVGhlIHJlbGVhc2Ug YWx3YXlzIGNvbnRhaW5zIGEgbGVhZGluZyByZXNlcnZlZCBudW1iZXIsIHN0YXJ0IGl0IGF0IDEu CiAjIGB1cHN0cmVhbScgaXMgbm90IGEgcGFydCBvZiBgbmFtZScgdG8gc3RheSBmdWxseSBycG0g ZGVwZW5kZW5jaWVzIGNvbXBhdGlibGUgZm9yIHRoZSB0ZXN0aW5nLgotUmVsZWFzZTogOCV7P2Rp c3R9CitSZWxlYXNlOiAxJXs/ZGlzdH0KIAogTGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0 aCBleGNlcHRpb25zIGFuZCBHUEx2MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQ TCsgYW5kIExHUEx2MisgYW5kIExHUEx2MysgYW5kIEJTRCBhbmQgUHVibGljIERvbWFpbiBhbmQg R0ZETAogIyBEbyBub3QgcHJvdmlkZSBVUkwgZm9yIHNuYXBzaG90cyBhcyB0aGUgZmlsZSBsYXN0 cyB0aGVyZSBvbmx5IGZvciAyIGRheXMuCkBAIC0yMDUsMTAgKzIwNSw2IEBAIFBhdGNoMTExOTog Z2RiLXRlc3RzdWl0ZS1yZWFkbGluZTYzLXNpZ2ludC1yZXZlcnQucGF0Y2gKICNwdXNoPVNob3Vs ZCBiZSBwdXNoZWQgdXBzdHJlYW0uCiBQYXRjaDIwMDA6IGdkYi1jb25maWcucGF0Y2gKIAotIyBG aXggdHlwZSBtaXNtYXRjaCBpc3N1ZSBleHBvc2VkIGJ5IExUTwotI3B1c2g9U2hvdWxkIGJlIHB1 c2hlZCB1cHN0cmVhbS4KLVBhdGNoMjAwMTogZ2RiLWx0b2ZpeC5wYXRjaAotCiAjIEluY2x1ZGUg dGhlIGF1dG8tZ2VuZXJhdGVkIGZpbGUgY29udGFpbmluZyB0aGUgIlBhdGNoOiIgZGlyZWN0aXZl cy4KICMgU2VlIFJFQURNRS5sb2NhbC1wYXRjaGVzIGZvciBtb3JlIGRldGFpbHMuCiBQYXRjaDk5 OTg6IF9nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCkBAIC00OTcsNyArNDkzLDYgQEAgZG9uZQogJWVu ZGlmCiAKICVwYXRjaDIwMDAgLXAxCi0lcGF0Y2gyMDAxIC1wMQogCiAjIFRoZSBhYm92ZSBwYXRj aGVzIHR3aWRkbGUgYSAubTQgZmlsZSBmb3IgY29uZmlndXJlLCBzbyB1cGRhdGUgdGhlIGFmZmVj dGVkCiAjIGNvbmZpZ3VyZSBmaWxlcwpAQCAtMTE4OSw2ICsxMTg0LDE4IEBAIGZpCiAlZW5kaWYK IAogJWNoYW5nZWxvZworKiBXZWQgTm92IDA0IDIwMjAgS2V2aW4gQnVldHRuZXIgPGtldmluYkBy ZWRoYXQuY29tPiAtIDEwLjEtMQorLSBSZWJhc2UgdG8gRlNGIEdEQiAxMC4xLgorLSBCdW1wICdz bmFwZ251bGliJyBkYXRlLgorLSBEcm9wIGdkYi1yaGJ6MTgxODAxMS1iZmQtZ2NjMTAtZXJyb3Iu cGF0Y2guCistIERyb3AgZ2RiLXJoYnoxODIyNzE1LWZpeC1weXRob24tZGVwcmVjYXRpb24ucGF0 Y2guCistIERyb3AgZ2RiLXJoYnoxODI5NzAyLWZpeC1weXRob24zOS5wYXRjaC4KKy0gRHJvcCBn ZGItcmhiejE4Mzg3NzctZGVidWdpbmZvZC5wYXRjaC4KKy0gRHJvcCBnZGItcmhiejE4NDQ0NTgt dXNlLWZwdXRYX3VuZmlsdGVyZWQucGF0Y2guCistIERyb3AgZ2RiLXJoYnoxODY5NDg0LWRlbGV0 ZWQtd29ya2luZy1kaXJlY3RvcnkuCistIEFkanVzdCBidWlsZC1pZCByZWxhdGVkIHBhdGNoZXMu CistIEFqdXN0IFZMQSBwYXRjaGVzLgorCiAqIE1vbiBOb3YgIDIgMjAyMCBLZXZpbiBCdWV0dG5l ciA8a2V2aW5iQHJlZGhhdC5jb20+IC0gOS4yLTgKIC0gQmFja3BvcnQgcGF0Y2hlcyBmaXhpbmcg YWJvcnQgd2hlbiB3b3JraW5nIGRpcmVjdG9yeSBpcyBkZWxldGVkLgogICAoUkhCWiAxODY5NDg0 LCBTZXJnaW8gRHVyaWdhbiBKdW5pb3IpCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMK aW5kZXggMmEzNDI1ZC4uOTY1MDdjYyAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2Vz CkBAIC0xLDMgKzEsMyBAQAogU0hBNTEyIChnZGItbGlic3RkYysrLXYzLXB5dGhvbi04LjEuMS0y MDE4MDYyNi50YXIueHopID0gYThiMWM1NGRkMzQ4Y2ZlYjM3ZGE3M2Y5Njg3NDI4OTZiZTNkZDEz YTQyMTVmOGQ4NTE5ODcwYzJhYmVhOTE1ZjUxNzZjM2ZhNjk4OWRkZDEwZjIwMDIwYTE2ZjBmYWIy MGNiYWU2OGVlOGQ1OGE4MjIzNGQ4Nzc4MDIzNTIwZjgKIFNIQTUxMiAodjIuMC4yLnRhci5neikg PSBiYzI1NmE1N2E4NDgxZTBiZTgyMjA2MjRkYTNjY2YxZmU0YmYwZWE4M2U5ODA4ZmRmMGFhZDZk Yjg2NWFlZTQwMmEzNmU3ODI4NWVmYjAzMTZjMDE2ZjU3ZTBkNmZjNTZiNjQ3ZWU4ZTlhMmFkNGIw NWJmYzFhZDY4ZGRkZTUzNQotU0hBNTEyIChnZGItOS4yLnRhci54eikgPSA3MzYzNWYwMGYzNDMx MTdhYTVlMjQzNmYxZTE1OTcwOTllMmJmYjMxZWY3YmIxNjJiMjczZmExZWEyODJjM2ZhOWIwZjUy NzYyZTcwYmZjN2FkMDMzNGFkZGI4ZDE1OWU5YWM3Y2JlNTk5OGNhNGY3NTVlYThjZjkwNzE0ZDI3 NAorU0hBNTEyIChnZGItMTAuMS50YXIueHopID0gMGRjNTQzODA0MzVjNjg1M2RiNjBmMWUzODhi OTQ4MzZkMjk0ZGZhOWFkN2Y1MTgzODVhMjdkYjRlZGQwM2NiOTcwZjg3MTdkNWYxZTljOWEwZDRh MzNkN2ZjZjkxYmMyZTVkNmM5Y2Y5ZTRiNTYxZGNjNzRlNjViODA2YzE1MzcK