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: Orphaned Packages Process To: git-commits@fedoraproject.org Subject: [rpms/rusers] rawhide: Orphaned for 6+ weeks Date: Fri, 19 Jun 2026 20:31:49 GMT Message-ID: <178190110940.1.14228894940131588312.rpms-rusers-d178dcd10be9@fedoraproject.org> List-ID: X-Git-Repo: rpms/rusers X-Git-Branch: rawhide X-Git-Rev: d178dcd10be979ba9a27a670a048623c18c3f0ff QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcnVzZXJzCkJyYW5j aCA6IHJhd2hpZGUKQ29tbWl0IDogZDE3OGRjZDEwYmU5NzliYTlhMjdhNjcwYTA0ODYyM2MxOGMz ZjBmZgpBdXRob3IgOiBPcnBoYW5lZCBQYWNrYWdlcyBQcm9jZXNzIDxwYWNrYWdpbmctcmVwb3J0 c0BmZWRvcmFwcm9qZWN0Lm9yZz4KRGF0ZSAgIDogMjAyNi0wNi0xOVQxNTozMTo0NC0wNTowMApT dGF0cyAgOiArMS8tMTg0MiBpbiAyOCBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9y YXByb2plY3Qub3JnL3JwbXMvcnVzZXJzL2MvZDE3OGRjZDEwYmU5NzliYTlhMjdhNjcwYTA0ODYy M2MxOGMzZjBmZj9icmFuY2g9cmF3aGlkZQoKTG9nOgpPcnBoYW5lZCBmb3IgNisgd2Vla3MKCi0t LQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDZkOWVkMWIuLjAwMDAwMDAKLS0tIGEvLmdpdGlnbm9yZQorKysgL2Rldi9u dWxsCkBAIC0xLDIgKzAsMCBAQAotbmV0a2l0LXJ1c2Vycy0wLjE3LnRhci5negotcnN0YXRkLnRh ci5negoKZGlmZiAtLWdpdCBhL2RlYWQucGFja2FnZSBiL2RlYWQucGFja2FnZQpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjA0YTg0Ci0tLSAvZGV2L251bGwKKysrIGIvZGVh ZC5wYWNrYWdlCkBAIC0wLDAgKzEgQEAKK09ycGhhbmVkIGZvciA2KyB3ZWVrcwoKZGlmZiAtLWdp dCBhL25ldGtpdC1ydXNlcnMtMC4xNS1udW11c2Vycy5wYXRjaCBiL25ldGtpdC1ydXNlcnMtMC4x NS1udW11c2Vycy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzM4ZTlkYy4u MDAwMDAwMAotLS0gYS9uZXRraXQtcnVzZXJzLTAuMTUtbnVtdXNlcnMucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwxOCArMCwwIEBACi0tLS0gbmV0a2l0LXJ1c2Vycy0wLjE1L3JwYy5ydXNlcnNk L3J1c2Vyc19wcm9jLmMubnVtdXNlcnMJTW9uIFNlcCAyMCAxMDowMzoxMiAxOTk5Ci0rKysgbmV0 a2l0LXJ1c2Vycy0wLjE1L3JwYy5ydXNlcnNkL3J1c2Vyc19wcm9jLmMJTW9uIFNlcCAyMCAxMDow Mzo1NCAxOTk5Ci1AQCAtMjA0LDEzICsyMDQsMTQgQEAKLSBjaGFyICoKLSBydXNlcnNfbnVtKHZv aWQgKmlnbjEsIHN0cnVjdCBzdmNfcmVxICppZ24yKQotIHsKLS0gICAgICAgIHN0YXRpYyBpbnQg bnVtX3VzZXJzID0gMDsKLSsgICAgICAgIHN0YXRpYyBpbnQgbnVtX3VzZXJzOwotIAlzdHJ1Y3Qg dXRtcCAqdXB0cjsKLSAJKHZvaWQpaWduMTsKLSAJKHZvaWQpaWduMjsKLSAKLSAgICAgICAgIC8q IG9ubHkgdXNlIGVudHJpZXMgd2l0aCBib3RoIG5hbWUgYW5kIGxpbmUgZmllbGRzICovCi0gCi0r CW51bV91c2VycyA9IDA7Ci0gCXNldHV0ZW50KCk7Ci0gICAgICAgICB3aGlsZSAoKHVwdHIgPSBn ZXR1dGVudCgpKSE9TlVMTCkgewotICAgICAgICAgICAgICAgICBpZiAoKnVwdHItPnV0X25hbWUg JiYgKnVwdHItPnV0X2xpbmUgJiYKCmRpZmYgLS1naXQgYS9yc3RhdGQtamJqLnBhdGNoIGIvcnN0 YXRkLWpiai5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTIwOTYyMS4uMDAw MDAwMAotLS0gYS9yc3RhdGQtamJqLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM5ICswLDAg QEAKLS0tLSBuZXRraXQtcnVzZXJzLTAuMTUvcnBjLnJzdGF0ZC9yc3RhdF9wcm9jLmMuamJqCVdl ZCBGZWIgMTAgMTc6MDE6MDEgMTk5OQotKysrIG5ldGtpdC1ydXNlcnMtMC4xNS9ycGMucnN0YXRk L3JzdGF0X3Byb2MuYwlGcmkgQXVnIDI3IDEzOjAwOjA2IDE5OTkKLUBAIC02MiwxMCArNjIsMTAg QEAKLSAjZGVmaW5lCUNQX1VTRVIJCTAKLSAjZGVmaW5lCUNQX05JQ0UJCTEKLSAjZGVmaW5lCUNQ X1NZUwkJMgotLSNkZWZpbmUJQ1BfSU5UUgkJMwotLSNkZWZpbmUJQ1BfSURMRQkJNAotKyNkZWZp bmUJQ1BfSURMRQkJMwotKyNkZWZpbmUJQ1BfSU5UUgkJNAotICNkZWZpbmUJQ1BVU1RBVEVTCTUK LS1zdGF0aWMgaW50IGNwX3hsYXRbNF0gPSB7IENQX1VTRVIsIENQX05JQ0UsIENQX1NZUywgQ1Bf SURMRSB9OwotK3N0YXRpYyBpbnQgY3BfeGxhdFtDUFVTVEFURVNdID0geyBDUF9VU0VSLCBDUF9O SUNFLCBDUF9TWVMsIENQX0lETEUgfTsKLSAKLSAvKgotICAqIFN5c3RlbSB3aWRlIHN0YXRpc3Rp Y3MgY291bnRlcnMuCi1AQCAtMzE3LDEwICszMTcsMTMgQEAKLSBzdGF0X2luaXQodm9pZCkKLSB7 Ci0gCXN0YXRfaXNfaW5pdCA9IDE7Ci0tCXNldHVwKCk7Ci0rCi0rCS8qIFByaW1lIHRoZSBwdW1w ICovCi0gCXVwZGF0ZXN0YXQoMCk7Ci0rCi0gCSh2b2lkKSBzaWduYWwoU0lHQUxSTSwgdXBkYXRl c3RhdCk7Ci0gCWFsYXJtKDEpOwotKwlwYXVzZSgpOwotIH0KLSAKLSBzdGF0c3RpbWUgKgotQEAg LTM2MSw4ICszNjQsOCBAQAotIAkodm9pZCkmYXJnOyAodm9pZCkmcnFzdHA7Ci0gCWlmICghc3Rh dF9pc19pbml0KQotIAkJc3RhdF9pbml0KCk7Ci0tCXNpbmNlbGFzdHJlcSA9IDA7Ci0gCWhhdmUg PSBoYXZlZGlzaygpOwotKwlzaW5jZWxhc3RyZXEgPSAwOwotIAlyZXR1cm4gKCZoYXZlKTsKLSB9 Ci0gCi1AQCAtMzkxLDcgKzM5NCw3IEBACi0gfTsKLSAKLSBzdGF0aWMgdm9pZAotLWdldHN0YXQo dW5zaWduZWQgKmN1c2UsIHVuc2lnbmVkICpjaWNlLCB1bnNpZ25lZCAqY3N5cywgdW5zaWduZWQg bG9uZyAqY2lkZSwKLStnZXRzdGF0KHVuc2lnbmVkIGxvbmcgKmN1c2UsIHVuc2lnbmVkIGxvbmcg KmNpY2UsIHVuc2lnbmVkIGxvbmcgKmNzeXMsIHVuc2lnbmVkIGxvbmcgKmNpZGUsCi0gCSAgICAg dW5zaWduZWQgKnBpbiwgdW5zaWduZWQgKnBvdXQsIHVuc2lnbmVkICpzaW4sIHVuc2lnbmVkICpz b3V0LAotIAkgICAgIHVuc2lnbmVkICppdG90LCB1bnNpZ25lZCAqaTEsIHVuc2lnbmVkICpjdCwg c3RydWN0IF9sZGlzayAqZCkKLSB7Ci1AQCAtNDA3LDcgKzQxMCw3IEBACi0gICAgICppdG90ID0g MDsgCi0gICAgICppMSA9IDE7ICAgLyogZW5zdXJlIGFzc2VydCBiZWxvdyB3aWxsIGZhaWwgaWYg dGhlIHNzY2FuZiBib21icyAqLwotICAgICBiID0gc3Ryc3RyKGJ1ZmYsICJjcHUgIik7Ci0tICAg IHNzY2FuZihiLCAiY3B1ICAldSAldSAldSAlbHUiLCBjdXNlLCBjaWNlLCBjc3lzLCBjaWRlKTsK LSsgICAgc3NjYW5mKGIsICJjcHUgICVsdSAlbHUgJWx1ICVsdSIsIGN1c2UsIGNpY2UsIGNzeXMs IGNpZGUpOwotICAgICBiID0gc3Ryc3RyKGJ1ZmYsICJkaXNrICIpOwotICAgICBzc2NhbmYoYiwg ImRpc2sgJXUgJXUgJXUgJXUiLCBkLT54ZmVyKzAsIGQtPnhmZXIrMSwgZC0+eGZlcisyLCBkLT54 ZmVyKzMpOwotICAgICBiID0gc3Ryc3RyKGJ1ZmYsICJkaXNrX3JpbyAiKTsKLUBAIC01MzcsMTIg KzU0MCwxNyBAQAotIHN0YXRpYyBpbnQgaHo7Ci0gc3RhdGljIHN0cnVjdCB0aW1ldmFsIHRtLCBi dG07Ci0gc3RhdGljIGRvdWJsZSBhdnJ1blszXTsKLS1zdGF0aWMgdW5zaWduZWQgaW50IGNwdV91 c2VbMl0sIGNwdV9uaWNbMl0sIGNwdV9zeXNbMl07Ci0rc3RhdGljIHVuc2lnbmVkIGxvbmcgY3B1 X3VzZVsyXSwgY3B1X25pY1syXSwgY3B1X3N5c1syXTsKLSBzdGF0aWMgdW5zaWduZWQgbG9uZyBj cHVfaWRsWzJdOwotIHN0YXRpYyBzdHJ1Y3QgX2xkaXNrIGRpc2tbMl07Ci0gc3RhdGljIHVuc2ln bmVkIGludCBwZ3BnaW5bMl0sIHBncGdvdXRbMl0sIHBzd3BpblsyXSwgcHN3cG91dFsyXTsKLSBz dGF0aWMgdW5zaWduZWQgaW50IGludGVyWzJdLCB0aWNrc1syXSwgY3R4dFsyXTsKLSsKLSsjaWZk ZWYgTk9UWUVUCS8qIFhYWCBub29wIHRvIG1hdGNoIHNvbGFyaXMgYmVoYXZpb3IgKi8KLSAjZGVm aW5lCV9ERUxUQShfeCwgX2kpCSggKF94KVsoX2kpXSAtIChfeClbIShfaSldICkKLSsjZWxzZQot KyNkZWZpbmUJX0RFTFRBKF94LCBfaSkJKCAoX3gpWyhfaSldICkKLSsjZW5kaWYKLSAKLSBleHRl cm4gaW50IHVwdGltZShkb3VibGUgKiwgZG91YmxlICopOwotIGV4dGVybiB2b2lkIGxvYWRhdmco ZG91YmxlICosIGRvdWJsZSAqLCBkb3VibGUgKik7Ci1AQCAtNTY4LDcgKzU3Niw2IEBACi0gCWdl dHN0YXQoY3B1X3VzZSt0b2csY3B1X25pYyt0b2csY3B1X3N5cyt0b2csY3B1X2lkbCt0b2csCi0g CQlwZ3BnaW4rdG9nLHBncGdvdXQrdG9nLHBzd3Bpbit0b2cscHN3cG91dCt0b2csCi0gCQlpbnRl cit0b2csdGlja3MrdG9nLGN0eHQrdG9nLCBkaXNrK3RvZyk7Ci0tCXRvZyA9ICF0b2c7Ci0gCi0g CWRrX25kcml2ZSA9IDA7Ci0gCWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKLUBAIC01NzgsMTEg KzU4NSwxMSBAQAotIAkJZGtfbmRyaXZlKys7Ci0gCX0KLSAKLS0JY3VyLmNwX3RpbWVbQ1BfVVNF Ul0gPSBfREVMVEEoY3B1X3VzZSwgdG9nKTsKLS0JY3VyLmNwX3RpbWVbQ1BfTklDRV0gPSBfREVM VEEoY3B1X25pYywgdG9nKTsKLS0JY3VyLmNwX3RpbWVbQ1BfU1lTXSAgPSBfREVMVEEoY3B1X3N5 cywgdG9nKTsKLSsJY3VyLmNwX3RpbWVbQ1BfVVNFUl0gPSAoX0RFTFRBKGNwdV91c2UsIHRvZykp ICUgVUlOVF9NQVg7Ci0rCWN1ci5jcF90aW1lW0NQX05JQ0VdID0gKF9ERUxUQShjcHVfbmljLCB0 b2cpKSAlIFVJTlRfTUFYOwotKwljdXIuY3BfdGltZVtDUF9TWVNdICA9IChfREVMVEEoY3B1X3N5 cywgdG9nKSkgJSBVSU5UX01BWDsKLSAJY3VyLmNwX3RpbWVbQ1BfSU5UUl0gPSAwOwotLQljdXIu Y3BfdGltZVtDUF9TWVNdID0gKF9ERUxUQShjcHVfaWRsLCB0b2cpKSAlIFVJTlRfTUFYOwotKwlj dXIuY3BfdGltZVtDUF9JRExFXSA9IChfREVMVEEoY3B1X2lkbCwgdG9nKSkgJSBVSU5UX01BWDsK LSAKLSAJY250LnZfcGdwZ2luID0gcGdwZ2luW3RvZ107Ci0gCWNudC52X3BncGdvdXQgPSBwZ3Bn b3V0W3RvZ107Ci1AQCAtNTkwLDYgKzU5Nyw3IEBACi0gCWNudC52X3Bzd3BvdXQgPSBwc3dwb3V0 W3RvZ107Ci0gCWNudC52X2ludHIgPSBpbnRlclt0b2ddOwotIAljbnQudl9zd3RjaCA9IGN0eHRb dG9nXTsKLSsJdG9nID0gIXRvZzsKLSB9Ci0gCi0gc3RhdGljIHZvaWQKLUBAIC01OTcsMTEgKzYw NSwxMCBAQAotIHsKLSAJaW50IGksIHNhdmVfZXJybm8gPSBlcnJubzsKLSAKLS0JKHZvaWQpJnNp Z25vOwotICNpZmRlZiBERUJVRwotIAlzeXNsb2coTE9HX0RFQlVHLCAiZW50ZXJpbmcgdXBkYXRl c3RhdCIpOwotICNlbmRpZgotLQlpZiAoc2luY2VsYXN0cmVxID49IGNsb3NlZG93bikgewotKwlp ZiAoc2lnbm8gIT0gMCAmJiBzaW5jZWxhc3RyZXEgPj0gY2xvc2Vkb3duKSB7Ci0gI2lmZGVmIERF QlVHCi0gCQlzeXNsb2coTE9HX0RFQlVHLCAiYWJvdXQgdG8gY2xvc2Vkb3duIik7Ci0gI2VuZGlm Ci1AQCAtNjc4LDE1ICs2ODUsNiBAQAotIAlhbGFybSgxKTsKLSAJZXJybm8gPSBzYXZlX2Vycm5v OwotIH0KLS0KLS1zdGF0aWMgdm9pZAotLXNldHVwKHZvaWQpCi0tewotLQkvKiBQcmltZSB0aGUg cHVtcCAqLwotLQljb252ZXJ0X3N0YXRzKCk7Ci0tCXNsZWVwKDEpOwotLX0KLS0KLSAKLSAvKgot ICAqIHJldHVybnMgdHJ1ZSBpZiBoYXZlIGEgZGlzawoKZGlmZiAtLWdpdCBhL3JzdGF0ZC1tYW4u cGF0Y2ggYi9yc3RhdGQtbWFuLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5 NTMxYjZkLi4wMDAwMDAwCi0tLSBhL3JzdGF0ZC1tYW4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSwxOSArMCwwIEBACi1kaWZmIC11cCBuZXRraXQtcnVzZXJzLTAuMTcvcnBjLnJzdGF0ZC9ycGMu cnN0YXRkLjgub2xkIG5ldGtpdC1ydXNlcnMtMC4xNy9ycGMucnN0YXRkL3JwYy5yc3RhdGQuOAot LS0tIG5ldGtpdC1ydXNlcnMtMC4xNy9ycGMucnN0YXRkL3JwYy5yc3RhdGQuOC5vbGQJMjAxNi0x Mi0xNCAwODo0OTo1Mi4wNzM3MzIwMDYgKzAxMDAKLSsrKyBuZXRraXQtcnVzZXJzLTAuMTcvcnBj LnJzdGF0ZC9ycGMucnN0YXRkLjgJMjAxNi0xMi0xNCAwODo1MDo1OS4wMjEyMTE1MTggKzAxMDAK LUBAIC00Nyw5ICs0Nyw3IEBACi0gaXMgYSBzZXJ2ZXIgd2hpY2ggcmV0dXJucyBwZXJmb3JtYW5j ZSBzdGF0aXN0aWNzIG9idGFpbmVkIGZyb20gdGhlIGtlcm5lbC4KLSBUaGVzZSBzdGF0aXN0aWNz IGFyZSB1c3VhbGx5IHJlYWQgdXNpbmcgdGhlIAotIC5YciBydXAgMQotLWNvbW1hbmQuICBUaGV5 IGFyZSBhbHNvIHVzZWQgYnkgdGhlCi0tLlhyIHJwYy5sb2NrZCA4Ci0tc2VydmVyIGR1cmluZyBj cmFzaCByZWNvdmVyeS4KLStjb21tYW5kLgotIFRoZQotIC5ObSBycGMucnN0YXRkCi0gZGFlbW9u IGlzIG5vcm1hbGx5IGludm9rZWQgYnkKLUBAIC02MSw0ICs1OSwzIEBAIHVzZXMgYW4gUlBDIHBy b3RvY29sIGRlZmluZWQgaW4KLSAuU2ggU0VFIEFMU08KLSAuWHIgcnVwIDEgLAotIC5YciBpbmV0 ZCA4ICwKLS0uWHIgcnBjLmxvY2tkIDgKCmRpZmYgLS1naXQgYS9yc3RhdGQuc2VydmljZSBiL3Jz dGF0ZC5zZXJ2aWNlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZWVlNjg1Li4wMDAw MDAwCi0tLSBhL3JzdGF0ZC5zZXJ2aWNlCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAot W1VuaXRdCi1EZXNjcmlwdGlvbj1SZW1vdGUgTWFjaGluZSBQZXJmb3JtYW5jZSBNZXRyaWNzIEdh dGhlcmVyCi1SZXF1aXJlcz1uZXR3b3JrLnRhcmdldCBycGNiaW5kLnNlcnZpY2UKLUFmdGVyPXJw Y2JpbmQuc2VydmljZQotCi1bU2VydmljZV0KLVR5cGU9Zm9ya2luZwotRXhlY1N0YXJ0PS91c3Iv c2Jpbi9ycGMucnN0YXRkCi1TdGFuZGFyZEVycm9yPXN5c2xvZwotCi1bSW5zdGFsbF0KLVdhbnRl ZEJ5PW11bHRpLXVzZXIudGFyZ2V0Ci0KCmRpZmYgLS1naXQgYS9ydXNlcnMtMC4xNy0yLjQucGF0 Y2ggYi9ydXNlcnMtMC4xNy0yLjQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IGEyZDIwMzEuLjAwMDAwMDAKLS0tIGEvcnVzZXJzLTAuMTctMi40LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsOTYgKzAsMCBAQAotLS0tIG5ldGtpdC1ydXNlcnMtMC4xNy9ycGMucnN0YXRkL3Jz dGF0X3Byb2MuYy4yLjQJV2VkIEZlYiAxNCAyMDo1NDozMSAyMDAxCi0rKysgbmV0a2l0LXJ1c2Vy cy0wLjE3L3JwYy5yc3RhdGQvcnN0YXRfcHJvYy5jCVdlZCBGZWIgMTQgMjA6NTU6MDggMjAwMQot QEAgLTM4NSwxMiArMzg1LDE0IEBACi0gCi0gI2lmIGRlZmluZWQoX19saW51eF9fKQotIAotKyNk ZWZpbmUgTUFYX0RJU0tTIDQKLSsKLSBzdHJ1Y3QgX2xkaXNrIHsKLS0JdW5zaWduZWQgaW50IHhm ZXJbNF07Ci0tCXVuc2lnbmVkIGludCByaW9bNF07Ci0tCXVuc2lnbmVkIGludCB3aW9bNF07Ci0t CXVuc2lnbmVkIGludCByYmxrWzRdOwotLQl1bnNpZ25lZCBpbnQgd2Jsa1s0XTsKLSsJdW5zaWdu ZWQgaW50IHhmZXJbTUFYX0RJU0tTXTsKLSsJdW5zaWduZWQgaW50IHJpb1tNQVhfRElTS1NdOwot Kwl1bnNpZ25lZCBpbnQgd2lvW01BWF9ESVNLU107Ci0rCXVuc2lnbmVkIGludCByYmxrW01BWF9E SVNLU107Ci0rCXVuc2lnbmVkIGludCB3YmxrW01BWF9ESVNLU107Ci0gfTsKLSAKLSBzdGF0aWMg dm9pZAotQEAgLTQwMSw3ICs0MDMsOCBAQAotICAgc3RhdGljIGludCBzdGF0OwotICNkZWZpbmUJ QlVGRlNJWkUJMTAyNAotICAgY2hhciBidWZmW0JVRkZTSVpFXTsKLS0KLSsgIGludCBuZGlza3M7 Ci0rICAKLSAgIGlmICgoc3RhdD1vcGVuKCIvcHJvYy9zdGF0IiwgT19SRE9OTFksIDApKSAhPSAt MSkgewotICAgICBjaGFyKiBiOwotICAgICBidWZmW0JVRkZTSVpFLTFdID0gMDsgIC8qIGVuc3Vy ZSBudWxsIHRlcm1pbmF0aW9uIGluIGJ1ZmZlciAqLwotQEAgLTQxMCwyNCArNDEzLDI5IEBACi0g ICAgICppdG90ID0gMDsgCi0gICAgICppMSA9IDE7ICAgLyogZW5zdXJlIGFzc2VydCBiZWxvdyB3 aWxsIGZhaWwgaWYgdGhlIHNzY2FuZiBib21icyAqLwotICAgICBiID0gc3Ryc3RyKGJ1ZmYsICJj cHUgIik7Ci0rICAgIGlmKGIpCi0gICAgIHNzY2FuZihiLCAiY3B1ICAlbHUgJWx1ICVsdSAlbHUi LCBjdXNlLCBjaWNlLCBjc3lzLCBjaWRlKTsKLS0gICAgYiA9IHN0cnN0cihidWZmLCAiZGlzayAi KTsKLS0gICAgc3NjYW5mKGIsICJkaXNrICV1ICV1ICV1ICV1IiwgZC0+eGZlciswLCBkLT54ZmVy KzEsIGQtPnhmZXIrMiwgZC0+eGZlciszKTsKLS0gICAgYiA9IHN0cnN0cihidWZmLCAiZGlza19y aW8gIik7Ci0tICAgIHNzY2FuZihiLCAiZGlza19yaW8gJXUgJXUgJXUgJXUiLCBkLT5yaW8rMCwg ZC0+cmlvKzEsIGQtPnJpbysyLCBkLT5yaW8rMyk7Ci0tICAgIGIgPSBzdHJzdHIoYnVmZiwgImRp c2tfd2lvICIpOwotLSAgICBzc2NhbmYoYiwgImRpc2tfcmlvICV1ICV1ICV1ICV1IiwgZC0+d2lv KzAsIGQtPndpbysxLCBkLT53aW8rMiwgZC0+d2lvKzMpOwotLSAgICBiID0gc3Ryc3RyKGJ1ZmYs ICJkaXNrX3JibGsgIik7Ci0tICAgIHNzY2FuZihiLCAiZGlza19yYmxrICV1ICV1ICV1ICV1Iiwg ZC0+cmJsayswLGQtPnJibGsrMSxkLT5yYmxrKzIsZC0+cmJsayszKTsKLS0gICAgYiA9IHN0cnN0 cihidWZmLCAiZGlza193YmxrICIpOwotLSAgICBzc2NhbmYoYiwgImRpc2tfd2JsayAldSAldSAl dSAldSIsIGQtPndibGsrMCxkLT53YmxrKzEsZC0+d2JsaysyLGQtPndibGsrMyk7Ci0rICAgIGIg PSBzdHJzdHIoYnVmZiwgImRpc2tfaW86Iik7Ci0rICAgIG5kaXNrcyA9IDA7Ci0rICAgIHdoaWxl ICggKGIgPSBzdHJzdHIoYiwgIik6IikpICE9IE5VTEwgJiYgbmRpc2tzIDwgTUFYX0RJU0tTICkg ewotKyAgICAgIHNzY2FuZiAoYiwgIik6KCV1LCV1LCV1LCV1LCV1KSIsICZkLT54ZmVyW25kaXNr c10sIAotKwkgICAgICAmZC0+cmlvW25kaXNrc10sICZkLT5yYmxrW25kaXNrc10sIAotKwkgICAg ICAmZC0+d2lvW25kaXNrc10sICZkLT53YmxrW25kaXNrc10pOwotKyAgICAgIG5kaXNrcysrOwot KyAgICAgIGIgKz0gMjsKLSsgICAgfQotKwotICAgICBiID0gc3Ryc3RyKGJ1ZmYsICJwYWdlICIp OwotKyAgICBpZihiKQotICAgICBzc2NhbmYoYiwgInBhZ2UgJXUgJXUiLCBwaW4sIHBvdXQpOwot ICAgICBiID0gc3Ryc3RyKGJ1ZmYsICJzd2FwICIpOwotKyAgICBpZihiKQotICAgICBzc2NhbmYo YiwgInN3YXAgJXUgJXUiLCBzaW4sIHNvdXQpOwotICAgICBiID0gc3Ryc3RyKGJ1ZmYsICJpbnRy ICIpOwotKyAgICBpZihiKQotICAgICBzc2NhbmYoYiwgImludHIgJXUgJXUiLCBpdG90LCBpMSk7 Ci0gICAgIGIgPSBzdHJzdHIoYnVmZiwgImN0eHQgIik7Ci0rICAgIGlmKGIpCi0gICAgIHNzY2Fu ZihiLCAiY3R4dCAldSIsIGN0KTsKLSAgICAgYXNzZXJ0KCppdG90PippMSk7Ci0gICB9Ci1AQCAt NDc3LDYgKzQ4NSw3IEBACi0gewotICAgICBzd2l0Y2ggKHByb2NuZXRkZXZfdnNuKSB7Ci0gICAg IGNhc2UgMzoKLSsJaWYoYnApCi0gCXNzY2FuZihicCwKLSAJIiVsZCAlbGQgJWxkICVsZCAlbGQg JWxkICVsZCAlbGQgJWxkICVsZCAlbGQgJWxkICVsZCAlbGQgJWxkICVsZCIsCi0gCSAgICAgICAm aWZlLT5zdGF0cy5yeF9ieXRlcywKLUBAIC00OTgsNiArNTA3LDcgQEAKLSAJICAgICAgICZpZmUt PnN0YXRzLnR4X2NvbXByZXNzZWQpOwotIAlicmVhazsKLSAgICAgY2FzZSAyOgotKwlpZihicCkK LSAJc3NjYW5mKGJwLCAiJWxkICVsZCAlbGQgJWxkICVsZCAlbGQgJWxkICVsZCAlbGQgJWxkICVs ZCAlbGQgJWxkIiwKLSAJICAgICAgICZpZmUtPnN0YXRzLnJ4X2J5dGVzLAotIAkgICAgICAgJmlm ZS0+c3RhdHMucnhfcGFja2V0cywKLUBAIC01MTYsNiArNTI2LDcgQEAKLSAJaWZlLT5zdGF0cy5y eF9tdWx0aWNhc3QgPSAwOwotIAlicmVhazsKLSAgICAgY2FzZSAxOgotKwlpZihicCkKLSAJc3Nj YW5mKGJwLCAiJWxkICVsZCAlbGQgJWxkICVsZCAlbGQgJWxkICVsZCAlbGQgJWxkICVsZCIsCi0g CSAgICAgICAmaWZlLT5zdGF0cy5yeF9wYWNrZXRzLAotIAkgICAgICAgJmlmZS0+c3RhdHMucnhf ZXJyb3JzLAoKZGlmZiAtLWdpdCBhL3J1c2Vycy0wLjE3LWJpZ2VuZGlhbi5wYXRjaCBiL3J1c2Vy cy0wLjE3LWJpZ2VuZGlhbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQx YTE0Mi4uMDAwMDAwMAotLS0gYS9ydXNlcnMtMC4xNy1iaWdlbmRpYW4ucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwxMyArMCwwIEBACi0tLS0gbmV0a2l0LXJ1c2Vycy0wLjE3L3JwYy5yc3RhdGQv cnN0YXRfcHJvYy5jLmJpZ2VuZGlhbgkyMDA1LTA5LTA3IDE1OjQyOjExLjAwMDAwMDAwMCArMDIw MAotKysrIG5ldGtpdC1ydXNlcnMtMC4xNy9ycGMucnN0YXRkL3JzdGF0X3Byb2MuYwkyMDA1LTA5 LTA3IDE1OjQzOjI5LjAwMDAwMDAwMCArMDIwMAotQEAgLTgwNSw4ICs4MDUsOCBAQAotIAotIC8q ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwotIAotLQlnZXR0aW1l b2ZkYXkoKHN0cnVjdCB0aW1ldmFsICopJnN0YXRzX2FsbC5zMy5jdXJ0aW1lLAotLQkJKHN0cnVj dCB0aW1lem9uZSAqKSAwKTsKLSsJc3RhdHNfYWxsLnMzLmN1cnRpbWUudHZfc2VjID0gdG0udHZf c2VjOwotKwlzdGF0c19hbGwuczMuY3VydGltZS50dl91c2VjID0gdG0udHZfdXNlYzsKLSAJYWxh cm0oMSk7Ci0gCWVycm5vID0gc2F2ZV9lcnJubzsKLSB9CgpkaWZmIC0tZ2l0IGEvcnVzZXJzLTAu MTctZnJlZXJwYy5wYXRjaCBiL3J1c2Vycy0wLjE3LWZyZWVycGMucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IGUzMTA5NWIuLjAwMDAwMDAKLS0tIGEvcnVzZXJzLTAuMTctZnJl ZXJwYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLWRpZmYgLXVwIG5ldGtp dC1ydXNlcnMtMC4xNy9ycGMucnN0YXRkL3JzdGF0X3Byb2MuYy5mcmVlcnBjIG5ldGtpdC1ydXNl cnMtMC4xNy9ycGMucnN0YXRkL3JzdGF0X3Byb2MuYwotLS0tIG5ldGtpdC1ydXNlcnMtMC4xNy9y cGMucnN0YXRkL3JzdGF0X3Byb2MuYy5mcmVlcnBjCTIwMTMtMDctMjkgMTc6MzI6MjkuNTAxMTc5 MDUzICswMjAwCi0rKysgbmV0a2l0LXJ1c2Vycy0wLjE3L3JwYy5yc3RhdGQvcnN0YXRfcHJvYy5j CTIwMTMtMDctMjkgMTc6MzM6NTYuODgyMTU1MTgwICswMjAwCi1AQCAtMTEzMyw2ICsxMTMzLDgg QEAgcnN0YXRfc2VydmljZShzdHJ1Y3Qgc3ZjX3JlcSAqcnFzdHAsIFNWQwotIAl9Ci0gCW1lbXNl dCgmYXJndW1lbnQsIDAsIHNpemVvZihhcmd1bWVudCkpOwotIAlpZiAoIXN2Y19nZXRhcmdzKHRy YW5zcCwgeGRyX2FyZ3VtZW50LCAoY2FkZHJfdCkmYXJndW1lbnQpKSB7Ci0rCQkvKiB0cnkgdG8g ZnJlZSBhbHJlYWR5IGFsbG9jYXRlZCBtZW1vcnkgZHVyaW5nIGRlY29kaW5nICovCi0rCQlzdmNf ZnJlZWFyZ3ModHJhbnNwLCB4ZHJfYXJndW1lbnQsIChjYWRkcl90KSZhcmd1bWVudCk7Ci0gCQlz dmNlcnJfZGVjb2RlKHRyYW5zcCk7Ci0gCQlyZXR1cm47Ci0gCX0KCmRpZmYgLS1naXQgYS9ydXNl cnMtMC4xNy1pbmNsdWRlcy5wYXRjaCBiL3J1c2Vycy0wLjE3LWluY2x1ZGVzLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYTFlZTMxLi4wMDAwMDAwCi0tLSBhL3J1c2Vycy0w LjE3LWluY2x1ZGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotLS0tIG5l dGtpdC1ydXNlcnMtMC4xNy9ydXAvZXJyLmMuaW5jbHVkZXMJU3VuIEFwciAgNiAwMDoxMzozMSAx OTk3Ci0rKysgbmV0a2l0LXJ1c2Vycy0wLjE3L3J1cC9lcnIuYwlXZWQgSnVsIDI1IDE1OjA4OjI3 IDIwMDEKLUBAIC02LDYgKzYsNyBAQAotICAgIiRJZDogZXJyLmMsdiAxLjEgMTk5Ny8wNC8wNSAy MjoxMzozMSBkaG9sbGFuZCBFeHAgJCI7Ci0gCi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0rI2luY2x1 ZGUgPHN0ZGxpYi5oPgotICNpbmNsdWRlIDxzdGRhcmcuaD4KLSAjaW5jbHVkZSA8ZXJyLmg+Ci0g Ci0tLS0gbmV0a2l0LXJ1c2Vycy0wLjE3L3JwYy5ydXNlcnNkL3J1c2Vyc19wcm9jLmMuaW5jbHVk ZXMJV2VkIEp1bCAyNSAxNTowNzoyNCAyMDAxCi0rKysgbmV0a2l0LXJ1c2Vycy0wLjE3L3JwYy5y dXNlcnNkL3J1c2Vyc19wcm9jLmMJV2VkIEp1bCAyNSAxNToxMDoxNCAyMDAxCi1AQCAtMzEsNyAr MzEsNyBAQAotIAotICNpbmNsdWRlIDxzaWduYWwuaD4KLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+ Ci0tI2luY2x1ZGUgPHN5cy90aW1lLmg+Ci0rI2luY2x1ZGUgPHRpbWUuaD4KLSAjaW5jbHVkZSA8 dXRtcC5oPgotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxzeXNsb2cuaD4KLS0tLSBu ZXRraXQtcnVzZXJzLTAuMTcvcnVzZXJzL3J1c2Vycy5jLmluY2x1ZGVzCVN1biBEZWMgMTIgMjA6 MzI6MDUgMTk5OQotKysrIG5ldGtpdC1ydXNlcnMtMC4xNy9ydXNlcnMvcnVzZXJzLmMJV2VkIEp1 bCAyNSAxNToxMjoyNyAyMDAxCi1AQCAtNDQsNiArNDQsNyBAQAotICNpbmNsdWRlIDx1dG1wLmg+ Ci0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSsjaW5jbHVkZSA8 dGltZS5oPgotIAotICNpbmNsdWRlICIuLi92ZXJzaW9uLmgiCi0gCi0tLS0gbmV0a2l0LXJ1c2Vy cy0wLjE3L3JwYy5yc3RhdGQvcnN0YXRkLmMuaW5jbHVkZXMJV2VkIEZlYiAxMCAyMDoyNzo1MyAx OTk5Ci0rKysgbmV0a2l0LXJ1c2Vycy0wLjE3L3JwYy5yc3RhdGQvcnN0YXRkLmMJV2VkIEp1bCAy NSAxNToxMzowOSAyMDAxCi1AQCAtNDAsNiArNDAsOCBAQAotICNpbmNsdWRlIDxzaWduYWwuaD4K LSAjaW5jbHVkZSA8c3lzbG9nLmg+Ci0gI2luY2x1ZGUgPHJwY3N2Yy9yc3RhdC5oPgotKyNpbmNs dWRlIDxzeXMvc29ja2V0Lmg+Ci0rI2luY2x1ZGUgPHVuaXN0ZC5oPgotIAotIGV4dGVybiB2b2lk IHJzdGF0X3NlcnZpY2UoKTsKLSAKCmRpZmYgLS1naXQgYS9ydXNlcnMtMC4xNy1pbmNvbXBhdGli bGUtcG9pbnRlci10eXBlcy5wYXRjaCBiL3J1c2Vycy0wLjE3LWluY29tcGF0aWJsZS1wb2ludGVy LXR5cGVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzIzZTllLi4wMDAw MDAwCi0tLSBhL3J1c2Vycy0wLjE3LWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotLS0tIG5ldGtpdC1ydXNlcnMtMC4xNy9ycGMu cnN0YXRkL3JzdGF0X3Byb2MuYy5vbGQJMjAyNC0wMi0xMiAxMjozNToyMC42MTgwMDI1MzcgKzAx MDAKLSsrKyBuZXRraXQtcnVzZXJzLTAuMTcvcnBjLnJzdGF0ZC9yc3RhdF9wcm9jLmMJMjAyNC0w Mi0xMiAxMjozNTo0Ni4zMTUxNzQ0NDEgKzAxMDAKLUBAIC0xMDgyLDcgKzEwODIsNyBAQAotIAot IAlzd2l0Y2ggKHJxc3RwLT5ycV9wcm9jKSB7Ci0gCWNhc2UgTlVMTFBST0M6Ci0tCQkodm9pZClz dmNfc2VuZHJlcGx5KHRyYW5zcCwgeGRyX3ZvaWQsIChjaGFyICopTlVMTCk7Ci0rCQkodm9pZClz dmNfc2VuZHJlcGx5KHRyYW5zcCwgKHhkcnByb2NfdCkgeGRyX3ZvaWQsIChjaGFyICopTlVMTCk7 Ci0gCQlyZXR1cm47Ci0gCQlicmVhazsKLSAKLS0tLSBuZXRraXQtcnVzZXJzLTAuMTcvcnBjLnJz dGF0ZC9yc3RhdGQuYy5vbGQJMjAyNC0wMi0xMiAxMjo0NzozNy42MzU5MzI5MjcgKzAxMDAKLSsr KyBuZXRraXQtcnVzZXJzLTAuMTcvcnBjLnJzdGF0ZC9yc3RhdGQuYwkyMDI0LTAyLTEyIDEyOjQ4 OjA0LjA5MTEwOTkwMyArMDEwMAotQEAgLTc3LDcgKzc3LDcgQEAKLSAJICogU2VlIGlmIGluZXRk IHN0YXJ0ZWQgdXMKLSAJICovCi0gCWZyb21sZW4gPSBzaXplb2YoZnJvbSk7Ci0tCWlmIChnZXRz b2NrbmFtZSgwLCAoc3RydWN0IHNvY2thZGRyICopJmZyb20sICZmcm9tbGVuKSA8IDApIHsKLSsJ aWYgKGdldHNvY2tuYW1lKDAsIChzdHJ1Y3Qgc29ja2FkZHIgKikmZnJvbSwgKHNvY2tsZW5fdCAq KSZmcm9tbGVuKSA8IDApIHsKLSAJCWZyb21faW5ldGQgPSAwOwotIAkJc29jayA9IFJQQ19BTllT T0NLOwotIAkJcHJvdG8gPSBJUFBST1RPX1VEUDsKCmRpZmYgLS1naXQgYS9ydXNlcnMtMC4xNy1s aWNlbnNlLnBhdGNoIGIvcnVzZXJzLTAuMTctbGljZW5zZS5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMGVmNWUwZS4uMDAwMDAwMAotLS0gYS9ydXNlcnMtMC4xNy1saWNlbnNl LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotZGlmZiAtaHVyIG5ldGtpdC1y dXNlcnMtMC4xNy5vbGQvQ09QWUlORyBuZXRraXQtcnVzZXJzLTAuMTcvQ09QWUlORwotLS0tIC9k ZXYvbnVsbAkyMDE3LTAyLTIxIDEzOjUwOjE3LjQ5MTI2MTQ2MyArMDEwMAotKysrIG5ldGtpdC1y dXNlcnMtMC4xNy9DT1BZSU5HCTIwMTctMDItMjEgMTM6NDg6MDguNzU4NDYzNzc0ICswMTAwCi1A QCAtMCwwICsxLDI3IEBACi0rQ29weXJpZ2h0IChjKSAxOTkwLCAxOTkzIFRoZSBSZWdlbnRzIG9m IHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCi0rQ29weXJpZ2h0IChjKSAxOTkzLCBKb2hu IEJyZXphawotK0NvcHlyaWdodCAoYykgMjAxMCwgT3JhY2xlIEFtZXJpY2EsIEluYy4KLStBbGwg cmlnaHRzIHJlc2VydmVkLgotKwotK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sCi0rYXJlIHBlcm1p dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgotKwot KyogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj b3B5cmlnaHQgbm90aWNlLCB0aGlzCi0rbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93 aW5nIGRpc2NsYWltZXIuCi0rKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCi0rdGhpcyBsaXN0IG9mIGNvbmRp dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgot K2FuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot KyogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgb3JnYW5pc2F0aW9ucyBub3IgdGhlIG5hbWVzIG9m IGl0cyBjb250cmlidXRvcnMKLSttYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKLSt3aXRob3V0IHNwZWNpZmljIHByaW9y IHdyaXR0ZW4gcGVybWlzc2lvbi4KLSsKLStUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI RSBBVVRIT1JTICcnQVMgSVMnJyBBTkQgQU5ZCi0rRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotK1dBUlJBTlRJ RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RSBBUkUKLStESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05U UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLStESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotKyhJTkNMVURJ TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP UiBTRVJWSUNFUzsKLStMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLStBTlkgVEhFT1JZIE9GIExJQUJJ TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotKyhJ TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg T0YgVEhFIFVTRSBPRiBUSElTCi0rU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgpkaWZmIC0tZ2l0IGEvcnVzZXJzLTAuMTctbWFuaGVs cC5wYXRjaCBiL3J1c2Vycy0wLjE3LW1hbmhlbHAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IGVjZWYwYTQuLjAwMDAwMDAKLS0tIGEvcnVzZXJzLTAuMTctbWFuaGVscC5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLWRpZmYgLXVwIG5ldGtpdC1ydXNlcnMt MC4xNy9ydXAvcnVwLmMubWFuaGVscCBuZXRraXQtcnVzZXJzLTAuMTcvcnVwL3J1cC5jCi0tLS0g bmV0a2l0LXJ1c2Vycy0wLjE3L3J1cC9ydXAuYy5tYW5oZWxwCTIwMTMtMDUtMTkgMTE6NTk6MDQu NDUxNzAxMzkxICswMjAwCi0rKysgbmV0a2l0LXJ1c2Vycy0wLjE3L3J1cC9ydXAuYwkyMDEzLTA1 LTE5IDExOjU5OjQzLjAzMzkwNTc1MSArMDIwMAotQEAgLTMzNSw3ICszMzUsNyBAQCBhbGxob3N0 cyh2b2lkKQotIAotIHN0YXRpYyB2b2lkIHVzYWdlKHZvaWQpCi0gewotLQlmcHJpbnRmKHN0ZGVy ciwgIlVzYWdlOiBydXAgWy1kaGx0XSBbaG9zdHMgLi4uXVxuIik7Ci0rCWZwcmludGYoc3RkZXJy LCAiVXNhZ2U6IHJ1cCBbLWRzaGx0XSBbaG9zdHMgLi4uXVxuIik7Ci0gCWV4aXQoMSk7Ci0gfQot IAoKZGlmZiAtLWdpdCBhL3J1c2Vycy0wLjE3LW5ldy1ycGMtbGljZW5zZS5wYXRjaCBiL3J1c2Vy cy0wLjE3LW5ldy1ycGMtbGljZW5zZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMjQzMjg3NS4uMDAwMDAwMAotLS0gYS9ydXNlcnMtMC4xNy1uZXctcnBjLWxpY2Vuc2UucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCwwIEBACi1kaWZmIC11cCBuZXRraXQtcnVzZXJz LTAuMTcvcnBjLnJzdGF0ZC9yc3RhdF9wcm9jLmMub2xkbGljZW5zZSBuZXRraXQtcnVzZXJzLTAu MTcvcnBjLnJzdGF0ZC9yc3RhdF9wcm9jLmMKLS0tLSBuZXRraXQtcnVzZXJzLTAuMTcvcnBjLnJz dGF0ZC9yc3RhdF9wcm9jLmMub2xkbGljZW5zZQkyMDEwLTA4LTI2IDE1OjU2OjI2Ljk4NDQ1NzAw MyAtMDQwMAotKysrIG5ldGtpdC1ydXNlcnMtMC4xNy9ycGMucnN0YXRkL3JzdGF0X3Byb2MuYwky MDEwLTA4LTI2IDE1OjU2OjMwLjYyMTQ1NzAwMiAtMDQwMAotQEAgLTEsMzMgKzEsMzYgQEAKLSAv KgkkT3BlbkJTRDogcnN0YXRfcHJvYy5jLHYgMS4xMCAxOTk4LzA3LzEwIDA4OjA2OjEwIGRlcmFh ZHQgRXhwICQJKi8KLSAKLS0vKgotLSAqIFN1biBSUEMgaXMgYSBwcm9kdWN0IG9mIFN1biBNaWNy b3N5c3RlbXMsIEluYy4gYW5kIGlzIHByb3ZpZGVkIGZvcgotLSAqIHVucmVzdHJpY3RlZCB1c2Ug cHJvdmlkZWQgdGhhdCB0aGlzIGxlZ2VuZCBpcyBpbmNsdWRlZCBvbiBhbGwgdGFwZQotLSAqIG1l ZGlhIGFuZCBhcyBhIHBhcnQgb2YgdGhlIHNvZnR3YXJlIHByb2dyYW0gaW4gd2hvbGUgb3IgcGFy dC4gIFVzZXJzCi0tICogbWF5IGNvcHkgb3IgbW9kaWZ5IFN1biBSUEMgd2l0aG91dCBjaGFyZ2Us IGJ1dCBhcmUgbm90IGF1dGhvcml6ZWQKLS0gKiB0byBsaWNlbnNlIG9yIGRpc3RyaWJ1dGUgaXQg dG8gYW55b25lIGVsc2UgZXhjZXB0IGFzIHBhcnQgb2YgYSBwcm9kdWN0IG9yCi0tICogcHJvZ3Jh bSBkZXZlbG9wZWQgYnkgdGhlIHVzZXIuCi0tICoKLS0gKiBTVU4gUlBDIElTIFBST1ZJREVEIEFT IElTIFdJVEggTk8gV0FSUkFOVElFUyBPRiBBTlkgS0lORCBJTkNMVURJTkcgVEhFCi0tICogV0FS UkFOVElFUyBPRiBERVNJR04sIE1FUkNIQU5USUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSCi0tICogUFVSUE9TRSwgT1IgQVJJU0lORyBGUk9NIEEgQ09VUlNFIE9GIERFQUxJTkcs IFVTQUdFIE9SIFRSQURFIFBSQUNUSUNFLgotKy8qIAotKyAqIENvcHlyaWdodCAoYykgMjAxMCwg T3JhY2xlIEFtZXJpY2EsIEluYy4KLSAgKgotLSAqIFN1biBSUEMgaXMgcHJvdmlkZWQgd2l0aCBu byBzdXBwb3J0IGFuZCB3aXRob3V0IGFueSBvYmxpZ2F0aW9uIG9uIHRoZQotLSAqIHBhcnQgb2Yg U3VuIE1pY3Jvc3lzdGVtcywgSW5jLiB0byBhc3Npc3QgaW4gaXRzIHVzZSwgY29ycmVjdGlvbiwK LS0gKiBtb2RpZmljYXRpb24gb3IgZW5oYW5jZW1lbnQuCi0rICogQWxsIHJpZ2h0cyByZXNlcnZl ZC4KLSsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z LCB3aXRoIG9yIHdpdGhvdXQgCi0rICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6Ci0gICoKLS0gKiBTVU4g TUlDUk9TWVNURU1TLCBJTkMuIFNIQUxMIEhBVkUgTk8gTElBQklMSVRZIFdJVEggUkVTUEVDVCBU TyBUSEUKLS0gKiBJTkZSSU5HRU1FTlQgT0YgQ09QWVJJR0hUUywgVFJBREUgU0VDUkVUUyBPUiBB TlkgUEFURU5UUyBCWSBTVU4gUlBDCi0tICogT1IgQU5ZIFBBUlQgVEhFUkVPRi4KLSsgKiAtIFJl ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp Z2h0IG5vdGljZSwgCi0rICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp bmcgZGlzY2xhaW1lci4KLSAgKgotLSAqIEluIG5vIGV2ZW50IHdpbGwgU3VuIE1pY3Jvc3lzdGVt cywgSW5jLiBiZSBsaWFibGUgZm9yIGFueSBsb3N0IHJldmVudWUKLS0gKiBvciBwcm9maXRzIG9y IG90aGVyIHNwZWNpYWwsIGluZGlyZWN0IGFuZCBjb25zZXF1ZW50aWFsIGRhbWFnZXMsIGV2ZW4g aWYKLS0gKiBTdW4gaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBk YW1hZ2VzLgotLSAqCi0tICogU3VuIE1pY3Jvc3lzdGVtcywgSW5jLgotLSAqIDI1NTAgR2FyY2lh IEF2ZW51ZQotLSAqIE1vdW50YWluIFZpZXcsIENhbGlmb3JuaWEgIDk0MDQzCi0rICogLSBSZWRp c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly aWdodCBub3RpY2UsIAotKyAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93 aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gCi0rICogYW5kL29yIG90aGVyIG1h dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0rICogCi0rICogTmVpdGhl ciB0aGUgbmFtZSBvZiB0aGUg4oCcT3JhY2xlIEFtZXJpY2EsIEluYy7igJ0gbm9yIHRoZSBuYW1l cyBvZiBpdHMgCi0rICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyAKLSsgKiBzb2Z0d2FyZSB3aXRob3V0IHNw ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSsgKiAKLSsgKiBUSElTIFNPRlRXQVJF IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB UyBJUyIgCi0rICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSAKLSsgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSAKLSsg KiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIg T1IgQ09OVFJJQlVUT1JTIEJFIAotKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgCi0rICogQ09OU0VRVUVOVElBTCBE QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgCi0r ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS T0ZJVFM7IE9SIEJVU0lORVNTIAotKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIAotKyAqIENPTlRSQUNULCBT VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ U0UpIAotKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIAotKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN QUdFLgotICAqLwotKwotICNpZm5kZWYgbGludAotIC8qc3RhdGljIGNoYXIgc2Njc2lkW10gPSAi ZnJvbTogQCgjKXJwYy5yc3RhdGQuYyAxLjEgODYvMDkvMjUgQ29weXIgMTk4NCBTdW4gTWljcm8i OyovCi0gLypzdGF0aWMgY2hhciBzY2NzaWRbXSA9ICJmcm9tOiBAKCMpcnN0YXRfcHJvYy5jCTIu MiA4OC8wOC8wMSA0LjAgUlBDU1JDIjsqLwotQEAgLTM3LDcgKzQwLDYgQEAgc3RhdGljIGNoYXIg cmNzaWRbXSA9ICIkT3BlbkJTRDogcnN0YXRfcAotIC8qCi0gICogcnN0YXQgc2VydmljZTogIGJ1 aWx0IHdpdGggcnN0YXQueCBhbmQgZGVyaXZlZCBmcm9tIHJwYy5yc3RhdGQuYwotICAqCi0tICog Q29weXJpZ2h0IChjKSAxOTg0IGJ5IFN1biBNaWNyb3N5c3RlbXMsIEluYy4KLSAgKi8KLSAKLSAj aW5jbHVkZSA8c3RkaW8uaD4KCmRpZmYgLS1naXQgYS9ydXNlcnMtMC4xNy1wcm9jZGlza3N0YXRz LnBhdGNoIGIvcnVzZXJzLTAuMTctcHJvY2Rpc2tzdGF0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggYWNhNjA0MS4uMDAwMDAwMAotLS0gYS9ydXNlcnMtMC4xNy1wcm9jZGlz a3N0YXRzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM3ICswLDAgQEAKLS0tLSBuZXRraXQt cnVzZXJzLTAuMTcvcnBjLnJzdGF0ZC9yc3RhdF9wcm9jLmMucHJvY2Rpc2tzdGF0cwkyMDA2LTA4 LTA5IDE0OjE1OjI3LjAwMDAwMDAwMCArMDIwMAotKysrIG5ldGtpdC1ydXNlcnMtMC4xNy9ycGMu cnN0YXRkL3JzdGF0X3Byb2MuYwkyMDA2LTA4LTA5IDE0OjI4OjQ1LjAwMDAwMDAwMCArMDIwMAot QEAgLTM5Nyw5ICszOTcsODggQEAKLSB9OwotIAotIHN0YXRpYyB2b2lkCi0rZ2V0ZGlza3N0YXQo c3RydWN0IF9sZGlzayAqZCkKLSt7Ci0rICBGSUxFICpzdGF0ZnA7Ci0rICBpbnQgZHNrID0gMDsK LSsgIHVuc2lnbmVkIGludCBhY3RpdmU7Ci0rICB1bnNpZ25lZCBpbnQgbWEsIG1pLCB4ZmVyOwot KyAgLyogbWVyZ2VzLCB0aWNrcywgaW4gZmxpZ2h0IG1lYWxzLCBhbmQgYXZlcSBhcmUgbm90IHVz ZWQgKi8KLSsgIHVuc2lnbmVkIGludCByZF9pb3MsIHJkX21lcmdlcywgcmRfc2VjdG9ycywgcmRf dGlja3M7Ci0rICB1bnNpZ25lZCBpbnQgd3JfaW9zLCB3cl9tZXJnZXMsIHdyX3NlY3RvcnMsIHdy X3RpY2tzOwotKyAgdW5zaWduZWQgaW50IGlvc19pbl9mbGlnaHQsIGlvX3RpY2tzLCBhdmVxOwot KyAgaW50IGNkX2NoZWNrID0gMDsKLSsgIGNoYXIgZGlza19uYW1lWzI1Nl07Ci0rICBzdGF0aWMg Y2hhciBsaW5lWzI1NjBdOwotKyAgY2hhciAqczsKLSsgIAotKyAgLyogT3BlbiAvcHJvYy9wYXJ0 aXRpb25zIGZpbGUgKi8KLSsgIGlmICgoc3RhdGZwID0gZm9wZW4oIi9wcm9jL2Rpc2tzdGF0cyIs ICJyIikpID09IE5VTEwpIHsKLSsgICAgc3lzbG9nKExPR19FUlIsICJDYW5ub3Qgb3BlbiAlczog JXNcbiIsICIvcHJvYy9kaXNrc3RhdHMiLCBzdHJlcnJvcihlcnJubykpOwotKyAgICBleGl0KDEp OwotKyAgfQotKwotKyAgLyogVGhlIGZpcnN0IHR3byBsaW5lcyBhcmUgdW5pbXBvcnRhbnQuICov Ci0rICBmZ2V0cyhsaW5lLCAyNTYwLCBzdGF0ZnApOwotKyAgZmdldHMobGluZSwgMjU2MCwgc3Rh dGZwKTsKLSsgIHdoaWxlIChmZ2V0cyhsaW5lLCAyNTYwLCBzdGF0ZnApICE9IE5VTEwgJiYgZHNr IDwgTUFYX0RJU0tTKSB7Ci0rICAgIHNzY2FuZiAobGluZSwgIiU0ZCAlNGQgJXMgJWQgJWQgJWQg JWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQiLAotKyAgICAgICAgICAgICZtYSwgJm1pLCBkaXNrX25h bWUsCi0rICAgICAgICAgICAgJnJkX2lvcywgJnJkX21lcmdlcywgJnJkX3NlY3RvcnMsICZyZF90 aWNrcywKLSsgICAgICAgICAgICAmd3JfaW9zLCAmd3JfbWVyZ2VzLCAmd3Jfc2VjdG9ycywgJndy X3RpY2tzLAotKyAgICAgICAgICAgICZpb3NfaW5fZmxpZ2h0LCAmaW9fdGlja3MsICZhdmVxKTsK LSsgICAgLyogQ2hlY2sgZm9yIGNvbXBhcSBkZXZpY2VzICovCi0rICAgIGZvcihzPWRpc2tfbmFt ZTsqcztzKyspIHsKLSsgICAgICBpZigqcyA9PSAnLycpIHsKLSsgICAgICAgIGNkX2NoZWNrPTE7 Ci0rICAgICAgfQotKyAgICB9Ci0rCi0rICAgIC8qCi0rICAgICAqIGlmIHdlIHNldCBjZF9jaGVj ayB3ZSBuZWVkIHRvIGNoZWNrCi0rICAgICAqIHRoZSBuYW1lIG9mIHRoZSBkZXZpY2UgdXNpbmcg dGhlIGNvbXBhcSBjI2QjcCMgCi0rICAgICAqIGZvcm1hdCwgZWxzZSB3ZSBjYW4ganVzdCB1c2Ug dGhlIGgvc2RhIyBmb3JtYXQKLSsgICAgICovCi0rICAgIGlmKGNkX2NoZWNrKSB7Ci0rICAgICAg LyoKLSsgICAgICAgKiBpZiB0aGUgc2Vjb25kIG9yIHRoaXJkIGZyb20gdGhlIGxhc3QgY2hhcmFj dGVyCi0rICAgICAgICogaXMgcCB0aGVuIHRoaXMgaXMgYSBwYXJ0aXRpb24KLSsgICAgICAgKi8K LSsgICAgICBpZigoc1stMl0gPT0gJ3AnKSB8fCAoc1stM10gPT0gJ3AnKSkKLSsgICAgICAgIGNv bnRpbnVlOwotKyAgICAgIGdvdG8gZm91bmRfZHNrOwotKyAgICB9IGVsc2UgewotKyAgICAgIC8q Ci0rICAgICAgICogaWYgdGhlIGxhc3QgdmFsdWUgaXMgYSBkaWdpdCwgaXRzIGEKLSsgICAgICAg KiBwYXJ0aXRpb24sIHNvIGdvIGJhY2sgdG8gdGhlIHRvcCBvZiB0aGUgd2hsaWUgbG9vcAotKyAg ICAgICAqLwotKyAgICAgIGlmIChpc2RpZ2l0KHNbLTFdKSkgewotKyAgICAgICAgY29udGludWU7 Ci0rICAgICAgfQotK2ZvdW5kX2RzazoKLSsgICAgICB4ZmVyID0gcmRfaW9zICsgd3JfaW9zOwot KyAgICAgIC8qIHRoaXMgaXMgaG93IC9wcm9jL3N0YXQgZGV0ZXJtaW5lcyB3aGljaCBkZXZpY2Vz IHRvIGRpc3BsYXkgaW4gL3Byb2Mvc3RhdCAqLwotKyAgICAgIGFjdGl2ZSA9IHhmZXIgKyByZF9z ZWN0b3JzLCB3cl9zZWN0b3JzOwotKyAgICAgIGlmIChhY3RpdmUpIHsKLSsgICAgICAgIGRzaysr OwotKyAgICAgICAgZC0+eGZlcltkc2tdID0geGZlcjsKLSsgICAgICAgIGQtPnJpb1tkc2tdID0g cmRfaW9zOwotKyAgICAgICAgZC0+cmJsa1tkc2tdID0gcmRfc2VjdG9yczsKLSsgICAgICAgIGQt Pndpb1tkc2tdID0gd3JfaW9zOwotKyAgICAgICAgZC0+d2Jsa1tkc2tdID0gd3Jfc2VjdG9yczsK LSsgICAgICB9IGVsc2UgewotKyAgICAgICAgLyogRG8gbm90IGNvdW50IGluYWN0aXZlIGRldmlj ZXMuICovCi0rICAgICAgfQotKyAgICB9Ci0rICB9Ci0rICAvKiBDbG9zZSAvcHJvYy9wYXJ0aXRp b25zIGZpbGUgKi8KLSsgICBmY2xvc2Uoc3RhdGZwKTsKLSt9Ci0rCi0rc3RhdGljIHZvaWQKLSBn ZXRzdGF0KHVuc2lnbmVkIGxvbmcgKmN1c2UsIHVuc2lnbmVkIGxvbmcgKmNpY2UsIHVuc2lnbmVk IGxvbmcgKmNzeXMsIHVuc2lnbmVkIGxvbmcgKmNpZGUsCi0gCSAgICAgdW5zaWduZWQgKnBpbiwg dW5zaWduZWQgKnBvdXQsIHVuc2lnbmVkICpzaW4sIHVuc2lnbmVkICpzb3V0LAotLQkgICAgIHVu c2lnbmVkICppdG90LCB1bnNpZ25lZCAqaTEsIHVuc2lnbmVkICpjdCwgc3RydWN0IF9sZGlzayAq ZCkKLSsJICAgICB1bnNpZ25lZCAqaXRvdCwgdW5zaWduZWQgKmkxLCB1bnNpZ25lZCAqY3QpCi0g ewotICAgc3RhdGljIGludCBzdGF0OwotICNkZWZpbmUJQlVGRlNJWkUJMTAyNAotQEAgLTQyOCwz NCArNTA3LDYgQEAKLSAgICAgYiA9IHN0cnN0cihidWZmLCAiY3B1ICIpOwotICAgICBpZihiKQot ICAgICBzc2NhbmYoYiwgImNwdSAgJWx1ICVsdSAlbHUgJWx1IiwgY3VzZSwgY2ljZSwgY3N5cywg Y2lkZSk7Ci0tICAgIGIgPSBzdHJzdHIoYnVmZiwgImRpc2sgIik7Ci0tICAgIGlmKGIpCi0tICAg ICAgc3NjYW5mKGIsICJkaXNrICV1ICV1ICV1ICV1IiwgJmQtPnhmZXJbMF0sICZkLT54ZmVyWzFd LCAmZC0+eGZlclsyXSwgJmQtPnhmZXJbM10pOwotLSAgICBiID0gc3Ryc3RyKGJ1ZmYsICJkaXNr X3JpbyAiKTsKLS0gICAgaWYoYikKLS0gICAgICBzc2NhbmYoYiwgImRpc2tfcmlvICV1ICV1ICV1 ICV1IiwgJmQtPnJpb1swXSwgJmQtPnJpb1sxXSwgJmQtPnJpb1syXSwgJmQtPnJpb1szXSk7Ci0t ICAgIGIgPSBzdHJzdHIoYnVmZiwgImRpc2tfd2lvICIpOwotLSAgICBpZihiKQotLSAgICAgIHNz Y2FuZihiLCAiZGlza193aW8gJXUgJXUgJXUgJXUiLCAmZC0+d2lvWzBdLCAmZC0+d2lvWzFdLCAm ZC0+d2lvWzJdLCAmZC0+d2lvWzNdKTsKLS0gICAgYiA9IHN0cnN0cihidWZmLCAiZGlza19yYmxr ICIpOwotLSAgICBpZihiKQotLSAgICAgIHNzY2FuZihiLCAiZGlza19yYmxrICV1ICV1ICV1ICV1 IiwgJmQtPnJibGtbMF0sICZkLT5yYmxrWzFdLCAmZC0+cmJsa1syXSwgJmQtPnJibGtbM10pOwot LSAgICBiID0gc3Ryc3RyKGJ1ZmYsICJkaXNrX3dibGsgIik7Ci0tICAgIGlmKGIpCi0tICAgICAg c3NjYW5mKGIsICJkaXNrX3dibGsgJXUgJXUgJXUgJXUiLCAmZC0+d2Jsa1swXSwgJmQtPndibGtb MV0sICZkLT53YmxrWzJdLCAmZC0+d2Jsa1szXSk7Ci0tCi0tICAgIGIgPSBzdHJzdHIoYnVmZiwg ImRpc2tfaW86Iik7Ci0tICAgIGlmKGIpIHsKLS0gICAgICBuZGlza3MgPSAwOwotLSAgICAgIHdo aWxlICggKGIgPSBzdHJzdHIoYiwgIik6IikpICE9IE5VTEwgJiYgbmRpc2tzIDwgTUFYX0RJU0tT ICkgewotLSAgICAgICAgc3NjYW5mIChiLCAiKTooJXUsJXUsJXUsJXUsJXUpIiwgJmQtPnhmZXJb bmRpc2tzXSwgCi0tCSAgICAgICAgJmQtPnJpb1tuZGlza3NdLCAmZC0+cmJsa1tuZGlza3NdLCAK LS0JICAgICAgICAmZC0+d2lvW25kaXNrc10sICZkLT53YmxrW25kaXNrc10pOwotLSAgICAgICAg bmRpc2tzKys7Ci0tICAgICAgICBiICs9IDI7Ci0tICAgICAgfQotLSAgICB9Ci0tCi0gICAgIGIg PSBzdHJzdHIoYnVmZiwgInBhZ2UgIik7Ci0gICAgIGlmKGIpCi0gICAgIHNzY2FuZihiLCAicGFn ZSAldSAldSIsIHBpbiwgcG91dCk7Ci1AQCAtNjY0LDcgKzcxNSw4IEBACi0gCi0gCWdldHN0YXQo Y3B1X3VzZSt0b2csY3B1X25pYyt0b2csY3B1X3N5cyt0b2csY3B1X2lkbCt0b2csCi0gCQlwZ3Bn aW4rdG9nLHBncGdvdXQrdG9nLHBzd3Bpbit0b2cscHN3cG91dCt0b2csCi0tCQlpbnRlcit0b2cs dGlja3MrdG9nLGN0eHQrdG9nLCBkaXNrK3RvZyk7Ci0rCQlpbnRlcit0b2csdGlja3MrdG9nLGN0 eHQrdG9nKTsKLSsJZ2V0ZGlza3N0YXQoZGlzayt0b2cpOwotIAotIAlka19uZHJpdmUgPSAwOwot IAlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CgpkaWZmIC0tZ2l0IGEvcnVzZXJzLTAuMTctcHJv Y3BzLnBhdGNoIGIvcnVzZXJzLTAuMTctcHJvY3BzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBiNWFiYThkLi4wMDAwMDAwCi0tLSBhL3J1c2Vycy0wLjE3LXByb2Nwcy5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDEwMCArMCwwIEBACi0tLS0gbmV0a2l0LXJ1c2Vycy0wLjE3 L3JwYy5yc3RhdGQvR05VbWFrZWZpbGUucHJvY3BzCTIwMDQtMDctMTIgMTc6NDE6NDguMTc5NjA4 OTQ0ICswMjAwCi0rKysgbmV0a2l0LXJ1c2Vycy0wLjE3L3JwYy5yc3RhdGQvR05VbWFrZWZpbGUJ MjAwNC0wNy0xMiAxNzo0MTo0OC4xOTA2MDc1ODUgKzAyMDAKLUBAIC02LDEwICs2LDYgQEAKLSBD RkxBR1MgKz0gLURHTlVfTElCQyAtRF9HTlVfU09VUkNFCi0gZW5kaWYKLSAKLS0jTElCUyArPSAt bHByb2MKLS0jIFhYWCBGSVhNRSEKLS1MSUJTICs9IC9saWIvJChzaGVsbCBjZCAvbGliICYmIGVj aG8gbGlicHJvYy5zby4qKQotLQotIFJQQ0dFTj1ycGNnZW4KLSAKLSAjIFdhcm5pbmcsIGRvIG5v dCBwdXQgdGhpcyBpbiB0aGUgY3VycmVudCBkaXJlY3Rvcnkgd2l0aG91dCB1cGRhdGluZwotLS0t IG5ldGtpdC1ydXNlcnMtMC4xNy9ycGMucnN0YXRkL3JzdGF0X3Byb2MuYy5wcm9jcHMJMjAwNC0w Ny0xMiAxNzo0MTo0OC4xNzQ2MDk1NjEgKzAyMDAKLSsrKyBuZXRraXQtcnVzZXJzLTAuMTcvcnBj LnJzdGF0ZC9yc3RhdF9wcm9jLmMJMjAwNC0wNy0xMiAxNzo1NTozNi42MDUzMzIyOTAgKzAyMDAK LUBAIC00NSw2ICs0NSw3IEBACi0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDxzaWdu YWwuaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLSsjaW5jbHVkZSA8bG9jYWxlLmg+Ci0gCi0gI2lu Y2x1ZGUgPGxpbWl0cy5oPgotICNpbmNsdWRlIDxycGMvcnBjLmg+Ci1AQCAtNTk2LDI3ICs1OTcs NzEgQEAKLSAjZGVmaW5lCV9ERUxUQShfeCwgX2kpCSggKF94KVsoX2kpXSApCi0gI2VuZGlmCi0g Ci0tZXh0ZXJuIGludCB1cHRpbWUoZG91YmxlICosIGRvdWJsZSAqKTsKLS1leHRlcm4gdm9pZCBs b2FkYXZnKGRvdWJsZSAqLCBkb3VibGUgKiwgZG91YmxlICopOwotLQotIHN0YXRpYyB2b2lkCi0g Y29udmVydF9zdGF0cyh2b2lkKQotIHsKLSAJc3RhdGljIGludCB0b2cgPSAwOwotIAlkb3VibGUg dXA7Ci0gCWludCBpOwotKwlpbnQgZmQ7Ci0rCXN0YXRpYyBjaGFyIGJ1ZlsxMDI0XTsKLSsJY2hh ciAqc2F2ZWxvY2FsZTsKLSAKLSAJaHogPSBzeXNjb25mKF9TQ19DTEtfVENLKTsKLSAJZ2V0dGlt ZW9mZGF5KCZ0bSwgKHN0cnVjdCB0aW1lem9uZSAqKSAwKTsKLSAKLS0JaSA9IHVwdGltZSgmdXAs IE5VTEwpOwotKwlmZCA9IG9wZW4oIi9wcm9jL3VwdGltZSIsIE9fUkRPTkxZKTsKLSsJaWYgKGZk ID09IC0xKSB7Ci0rCQlmcHJpbnRmKHN0ZGVyciwgIkVycm9yIG9wZW5pbmcgL3Byb2MvdXB0aW1l LCBwbGVhc2UgbWFrZSBzdXJlIC9wcm9jIGlzIG1vdW50ZWQuXG4iKTsKLSsJCWV4aXQoMSk7Ci0r CX0KLSsKLSsJaSA9IHJlYWQoZmQsIGJ1Ziwgc2l6ZW9mKGJ1ZikgLSAxKTsKLSsJaWYgKGkgPCAw KSB7Ci0rCQlwZXJyb3IoIi9wcm9jL3VwdGltZSIpOwotKwkJY2xvc2UoZmQpOwotKwkJZXhpdCgx KTsKLSsJfQotKwlidWZbaV0gPSAnXDAnOwotKwlzYXZlbG9jYWxlID0gc2V0bG9jYWxlKExDX05V TUVSSUMsIE5VTEwpOwotKwlzZXRsb2NhbGUoTENfTlVNRVJJQywgIkMiKTsKLSsJaWYgKHNzY2Fu ZihidWYsICIlbGYiLCAmdXApIDwgMSkgewotKwkJZnByaW50ZihzdGRlcnIsICJiYWQgZGF0YSBp biAvcHJvYy91cHRpbWVcbiIpOwotKwkJZXhpdCgxKTsKLSsJfQotKwlzZXRsb2NhbGUoTENfTlVN RVJJQywgc2F2ZWxvY2FsZSk7Ci0rCWNsb3NlKGZkKTsKLSsKLSsJaSA9IChpbnQpdXA7Ci0rCi0g CWJ0bS50dl9zZWMgPSB0bS50dl9zZWMgLSBpOwotIAlidG0udHZfdXNlYyA9IDA7Ci0gCXVwIC09 IGk7Ci0gCWlmICh1cCA+IDApCi0gCQlidG0udHZfdXNlYyA9IDEwMDAwMDAgKiB1cDsKLSAKLS0J bG9hZGF2ZygmYXZydW5bMF0sICZhdnJ1blsxXSwgJmF2cnVuWzJdKTsKLSsJZmQgPSBvcGVuKCIv cHJvYy9sb2FkYXZnIiwgT19SRE9OTFkpOwotKwlpZiAoZmQgPT0gLTEpIHsKLSsJCWZwcmludGYo c3RkZXJyLCAiRXJyb3Igb3BlbmluZyAvcHJvYy9sb2FkYXZnLCBwbGVhc2UgbWFrZSBzdXJlIC9w cm9jIGlzIG1vdW50ZWQuXG4iKTsKLSsJCWV4aXQoMSk7Ci0rCX0KLSsKLSsJaSA9IHJlYWQoZmQs IGJ1Ziwgc2l6ZW9mKGJ1ZikgLSAxKTsKLSsJaWYgKGkgPCAwKSB7Ci0rCQlwZXJyb3IoIi9wcm9j L2xvYWRhdmciKTsKLSsJCWNsb3NlKGZkKTsKLSsJCWV4aXQoMSk7Ci0rCX0KLSsJYnVmW2ldID0g J1wwJzsKLSsJc2F2ZWxvY2FsZSA9IHNldGxvY2FsZShMQ19OVU1FUklDLCBOVUxMKTsKLSsJc2V0 bG9jYWxlKExDX05VTUVSSUMsICJDIik7Ci0rCWlmIChzc2NhbmYoYnVmLCAiJWxmICVsZiAlbGYi LCAmYXZydW5bMF0sICZhdnJ1blsxXSwgJmF2cnVuWzJdKSA8IDMpIHsKLSsJCWZwcmludGYoc3Rk ZXJyLCAiYmFkIGRhdGEgaW4gL3Byb2MvbG9hZGF2Z1xuIik7Ci0rCQlleGl0KDEpOwotKwl9Ci0r CXNldGxvY2FsZShMQ19OVU1FUklDLCBzYXZlbG9jYWxlKTsKLSsJY2xvc2UoZmQpOwotKwotIAln ZXRzdGF0KGNwdV91c2UrdG9nLGNwdV9uaWMrdG9nLGNwdV9zeXMrdG9nLGNwdV9pZGwrdG9nLAot IAkJcGdwZ2luK3RvZyxwZ3Bnb3V0K3RvZyxwc3dwaW4rdG9nLHBzd3BvdXQrdG9nLAotIAkJaW50 ZXIrdG9nLHRpY2tzK3RvZyxjdHh0K3RvZywgZGlzayt0b2cpOwoKZGlmZiAtLWdpdCBhL3J1c2Vy cy0wLjE3LXJldHVybi5wYXRjaCBiL3J1c2Vycy0wLjE3LXJldHVybi5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMjkxMzIyNi4uMDAwMDAwMAotLS0gYS9ydXNlcnMtMC4xNy1y ZXR1cm4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0tLS0gbmV0a2l0LXJ1 c2Vycy0wLjE3L3J1cC9ydXAuYy5vcmlnCTIwMDYtMDItMDcgMTQ6MjY6NDcuNDIzMDExNzg0ICsw NTMwCi0rKysgbmV0a2l0LXJ1c2Vycy0wLjE3L3J1cC9ydXAuYwkyMDA2LTAyLTA3IDE0OjQxOjIy LjAzNTAyOTE3NiArMDUzMAotQEAgLTI0Miw3ICsyNDIsNyBAQAotIH0KLSAKLSBzdGF0aWMKLS12 b2lkCi0raW50Ci0gb25laG9zdChjb25zdCBjaGFyICpob3N0KQotIHsKLSAJQ0xJRU5UICpyc3Rh dF9jbG50OwotQEAgLTI1MSw3ICsyNTEsNyBAQAotIAlyc3RhdF9jbG50ID0gY2xudF9jcmVhdGUo aG9zdCwgUlNUQVRQUk9HLCBSU1RBVFZFUlNfVElNRSwgInVkcCIpOwotIAlpZiAocnN0YXRfY2xu dCA9PSBOVUxMKSB7Ci0gCQl3YXJueCgiJXMiLCBjbG50X3NwY3JlYXRlZXJyb3IoaG9zdCkpOwot LQkJcmV0dXJuOwotKwkJcmV0dXJuIDE7Ci0gCX0KLSAKLSAJbWVtc2V0KCZyZW1vdGVfaG9zdF9z dGF0LCAwLCBzaXplb2YocmVtb3RlX2hvc3Rfc3RhdCkpOwotQEAgLTI2Myw3ICsyNjMsNyBAQAot IAkJICAgICAgdGltZW91dCkgIT0gUlBDX1NVQ0NFU1MpIAotIAl7Ci0gCQl3YXJueCgiJXMiLCAg Y2xudF9zcGVycm9yKHJzdGF0X2NsbnQsIGhvc3QpKTsKLS0JCXJldHVybjsKLSsJCXJldHVybiAx OwotIAl9Ci0gCi0gCWlmIChzb3J0X3R5cGUgIT0gU09SVF9OT05FKSB7Ci1AQCAtMjcyLDE5ICsy NzIsMjMgQEAKLSAJCXByaW50X3J1cF9kYXRhKGhvc3QsICZyZW1vdGVfaG9zdF9zdGF0KTsKLSAJ fQotIAljbG50X2Rlc3Ryb3kocnN0YXRfY2xudCk7Ci0rCXJldHVybiAwOwotIH0KLSAKLSBzdGF0 aWMKLSB2b2lkCi0gZW51bWhvc3RzKGludCBhcmdjLCBjaGFyICphcmd2W10sIGludCBvcHRpbmQp Ci0gewotKwlpbnQgcmV0dXJudmFsID0gMDsKLSAJaWYgKHNvcnRfdHlwZSAhPSBTT1JUX05PTkUp IHsKLSAJCXByaW50ZigiY29sbGVjdGluZyByZXNwb25zZXMuLi4iKTsKLSAJCWZmbHVzaChzdGRv dXQpOwotIAl9Ci0gCi0gCWZvciAoOyBvcHRpbmQgPCBhcmdjOyBvcHRpbmQrKykKLS0JCW9uZWhv c3QoYXJndltvcHRpbmRdKTsKLSsJCXJldHVybnZhbCArPSBvbmVob3N0KGFyZ3Zbb3B0aW5kXSk7 Ci0rCi0rCWlmIChyZXR1cm52YWwpIGV4aXQoMSk7Ci0gCi0gCWlmIChzb3J0X3R5cGUgIT0gU09S VF9OT05FKSB7Ci0gCQlpbnQgaTsKCmRpZmYgLS1naXQgYS9ydXNlcnMtMC4xNy1yc3RhdGQtbm8t c3RhdGljLWJ1ZmZlci5wYXRjaCBiL3J1c2Vycy0wLjE3LXJzdGF0ZC1uby1zdGF0aWMtYnVmZmVy LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOWQwZTJkLi4wMDAwMDAwCi0t LSBhL3J1c2Vycy0wLjE3LXJzdGF0ZC1uby1zdGF0aWMtYnVmZmVyLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsNDQgKzAsMCBAQAotLS0tIG5ldGtpdC1ydXNlcnMtMC4xNy9ycGMucnN0YXRkL3Jz dGF0X3Byb2MuYy5idWZmZXIJVGh1IE1heSAzMCAxNjoyNDoxMiAyMDAyCi0rKysgbmV0a2l0LXJ1 c2Vycy0wLjE3L3JwYy5yc3RhdGQvcnN0YXRfcHJvYy5jCVRodSBNYXkgMzAgMTY6NTk6MTMgMjAw MgotQEAgLTQwMiwxNCArNDAyLDI2IEBACi0gewotICAgc3RhdGljIGludCBzdGF0OwotICNkZWZp bmUJQlVGRlNJWkUJMTAyNAotLSAgY2hhciBidWZmW0JVRkZTSVpFXTsKLSsgIGNoYXIgKmJ1ZmYg PSBOVUxMOwotKyAgb2ZmX3QgYnVmZnNpemUgPSAxOwotICAgaW50IG5kaXNrczsKLSAgIAotICAg aWYgKChzdGF0PW9wZW4oIi9wcm9jL3N0YXQiLCBPX1JET05MWSwgMCkpICE9IC0xKSB7Ci0gICAg IGNoYXIqIGI7Ci0tICAgIGJ1ZmZbQlVGRlNJWkUtMV0gPSAwOyAgLyogZW5zdXJlIG51bGwgdGVy bWluYXRpb24gaW4gYnVmZmVyICovCi0tICAgIHJlYWQoc3RhdCxidWZmLEJVRkZTSVpFLTEpOwot KyAgICBiID0gYnVmZjsKLSsKLSsgICAgZG8gewotKyAgICAgIGJ1ZmZzaXplICs9IEJVRkZTSVpF OwotKyAgICAgIGJ1ZmYgPSByZWFsbG9jKGJ1ZmYsIGJ1ZmZzaXplKTsKLSsgICAgICBpZiAoYnVm ZiA9PSBOVUxMKSB7Ci0rCXBlcnJvcigiZ2V0c3RhdCgpOiByZWFsbG9jIik7Ci0rCWFib3J0KCk7 Ci0rICAgICAgfQotKyAgICAgIGIgPSBidWZmICsgYnVmZnNpemUgLSBCVUZGU0laRSAtIDE7Ci0r ICAgIH0gd2hpbGUgKHJlYWQoc3RhdCxiLEJVRkZTSVpFKSA9PSBCVUZGU0laRSk7Ci0gICAgIGNs b3NlKHN0YXQpOwotKyAgICBidWZmW2J1ZmZzaXplIC0gMV0gPSAnXDAnOwotKyAgICAKLSAgICAg Kml0b3QgPSAwOyAKLSAgICAgKmkxID0gMTsgICAvKiBlbnN1cmUgYXNzZXJ0IGJlbG93IHdpbGwg ZmFpbCBpZiB0aGUgc3NjYW5mIGJvbWJzICovCi0gICAgIGIgPSBzdHJzdHIoYnVmZiwgImNwdSAi KTsKLUBAIC00MzcsNyArNDQ5LDEwIEBACi0gICAgIGIgPSBzdHJzdHIoYnVmZiwgImN0eHQgIik7 Ci0gICAgIGlmKGIpCi0gICAgIHNzY2FuZihiLCAiY3R4dCAldSIsIGN0KTsKLS0gICAgYXNzZXJ0 KCppdG90PippMSk7Ci0rICAgIC8qIGF2b2lkIGJyZWFraW5nIHdpdGggY2VydGFpbiBrZXJuZWxz IHdoZXJlIGFsbCB0aGUKLSsgICAgICAgaW50ZXJydXB0IG51bWJlcnMgaGF2ZSAxMDAwMDAwMDAw IGFkZGVkIHRvIHRoZSB2YWx1ZSAqLwotKyAgICAvKiAgICBhc3NlcnQoKml0b3Q+KmkxKTsgKi8K LSsgICAgZnJlZShidWZmKTsKLSAgIH0KLSB9Ci0gCgpkaWZmIC0tZ2l0IGEvcnVzZXJzLTAuMTct cnVwLXN0YWNrLnBhdGNoIGIvcnVzZXJzLTAuMTctcnVwLXN0YWNrLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCBmNTkzZTJiLi4wMDAwMDAwCi0tLSBhL3J1c2Vycy0wLjE3LXJ1 cC1zdGFjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLS0tLSBuZXRraXQt cnVzZXJzLTAuMTcvcnVwL3J1cC5jLm9yaWcJMjAwNS0wNC0xMSAxMDowMDowOS4wMDAwMDAwMDAg LTA0MDAKLSsrKyBuZXRraXQtcnVzZXJzLTAuMTcvcnVwL3J1cC5jCTIwMDUtMDQtMTEgMTA6MDE6 NDYuMDAwMDAwMDAwIC0wNDAwCi1AQCAtNTQsNiArNTQsOCBAQAotIAotICNkZWZpbmUgSE9TVF9X SURUSCAyNAotIAotK3N0YXRpYyBzdGF0c3RpbWUgcmVtb3RlX2hvc3Rfc3RhdDsKLSsKLSBzdGF0 aWMgaW50IHByaW50X3J1cF9kYXRhKGNvbnN0IGNoYXIgKmhvc3QsIHN0YXRzdGltZSAqaG9zdF9z dGF0KTsKLSAKLSBzdGF0aWMgaW50IHByaW50dGltZTsJCQkvKiBwcmludCB0aGUgcmVtb3RlIGhv c3QocykncyB0aW1lICovCi1AQCAtMjQ0LDcgKzI0Niw2IEBACi0gb25laG9zdChjb25zdCBjaGFy ICpob3N0KQotIHsKLSAJQ0xJRU5UICpyc3RhdF9jbG50OwotLQlzdGF0c3RpbWUgaG9zdF9zdGF0 OwotIAlzdHJ1Y3QgdGltZXZhbCB0aW1lb3V0ID0geyAyNSwgMCB9OwotIAkKLSAJcnN0YXRfY2xu dCA9IGNsbnRfY3JlYXRlKGhvc3QsIFJTVEFUUFJPRywgUlNUQVRWRVJTX1RJTUUsICJ1ZHAiKTsK LUBAIC0yNTMsMTEgKzI1NCwxMSBAQAotIAkJcmV0dXJuOwotIAl9Ci0gCi0tCW1lbXNldCgmaG9z dF9zdGF0LCAwLCBzaXplb2YoaG9zdF9zdGF0KSk7Ci0rCW1lbXNldCgmcmVtb3RlX2hvc3Rfc3Rh dCwgMCwgc2l6ZW9mKHJlbW90ZV9ob3N0X3N0YXQpKTsKLSAJaWYgKGNsbnRfY2FsbChyc3RhdF9j bG50LCBSU1RBVFBST0NfU1RBVFMsIAotIAkJICAgICAgKHhkcnByb2NfdCkgeGRyX3ZvaWQsIE5V TEwsIAotIAkJICAgICAgKHhkcnByb2NfdCkgeGRyX3N0YXRzdGltZSwKLS0JCSAgICAgIChjYWRk cl90KSAmaG9zdF9zdGF0LCAKLSsJCSAgICAgIChjYWRkcl90KSAmcmVtb3RlX2hvc3Rfc3RhdCwg Ci0gCi0gCQkgICAgICB0aW1lb3V0KSAhPSBSUENfU1VDQ0VTUykgCi0gCXsKLUBAIC0yNjYsOSAr MjY3LDkgQEAKLSAJfQotIAotIAlpZiAoc29ydF90eXBlICE9IFNPUlRfTk9ORSkgewotLQkJcmVt ZW1iZXJfcnVwX2RhdGEoaG9zdCwgJmhvc3Rfc3RhdCk7Ci0rCQlyZW1lbWJlcl9ydXBfZGF0YSho b3N0LCAmcmVtb3RlX2hvc3Rfc3RhdCk7Ci0gCX0gZWxzZSB7Ci0tCQlwcmludF9ydXBfZGF0YSho b3N0LCAmaG9zdF9zdGF0KTsKLSsJCXByaW50X3J1cF9kYXRhKGhvc3QsICZyZW1vdGVfaG9zdF9z dGF0KTsKLSAJfQotIAljbG50X2Rlc3Ryb3kocnN0YXRfY2xudCk7Ci0gfQotQEAgLTMwMCw3ICsz MDEsNiBAQAotIHZvaWQKLSBhbGxob3N0cyh2b2lkKQotIHsKLS0Jc3RhdHN0aW1lIGhvc3Rfc3Rh dDsKLSAJZW51bSBjbG50X3N0YXQgY2xudF9zdGF0OwotIAlpbnQgaTsKLSAKLUBAIC0zMTIsNyAr MzEyLDcgQEAKLSAJY2xudF9zdGF0ID0gY2xudF9icm9hZGNhc3QoUlNUQVRQUk9HLCBSU1RBVFZF UlNfVElNRSwgUlNUQVRQUk9DX1NUQVRTLAotIAkJCQkgICAoeGRycHJvY190KSB4ZHJfdm9pZCwg TlVMTCwKLSAJCQkJICAgKHhkcnByb2NfdCkgeGRyX3N0YXRzdGltZSwgCi0tCQkJCSAgIChjaGFy ICopICZob3N0X3N0YXQsIAotKwkJCQkgICAoY2hhciAqKSAmcmVtb3RlX2hvc3Rfc3RhdCwgCi0g CQkJCSAgIChyZXN1bHRwcm9jX3QpIHJzdGF0X3JlcGx5KTsKLSAJaWYgKGNsbnRfc3RhdCAhPSBS UENfU1VDQ0VTUyAmJiBjbG50X3N0YXQgIT0gUlBDX1RJTUVET1VUKSB7Ci0gCQl3YXJueCgiJXMi LCBjbG50X3NwZXJybm8oY2xudF9zdGF0KSk7CgpkaWZmIC0tZ2l0IGEvcnVzZXJzLTAuMTctcnVw LXRpbWVvdXQucGF0Y2ggYi9ydXNlcnMtMC4xNy1ydXAtdGltZW91dC5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggODMwYmY4ZC4uMDAwMDAwMAotLS0gYS9ydXNlcnMtMC4xNy1y dXAtdGltZW91dC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLSBuZXRr aXQtcnVzZXJzLTAuMTcvcnVwL3J1cC5jLnRpbWVvdXQJMjAwMy0wNS0yMSAxNTowOToyOS4wMDAw MDAwMDAgLTA0MDAKLSsrKyBuZXRraXQtcnVzZXJzLTAuMTcvcnVwL3J1cC5jCTIwMDMtMDUtMjEg MTU6MDk6NDQuMDAwMDAwMDAwIC0wNDAwCi1AQCAtMjQ1LDcgKzI0NSw3IEBAIG9uZWhvc3QoY29u c3QgY2hhciAqaG9zdCkKLSB7Ci0gCUNMSUVOVCAqcnN0YXRfY2xudDsKLSAJc3RhdHN0aW1lIGhv c3Rfc3RhdDsKLS0Jc3RydWN0IHRpbWV2YWwgZm9vOwotKwlzdHJ1Y3QgdGltZXZhbCB0aW1lb3V0 ID0geyAyNSwgMCB9OwotIAkKLSAJcnN0YXRfY2xudCA9IGNsbnRfY3JlYXRlKGhvc3QsIFJTVEFU UFJPRywgUlNUQVRWRVJTX1RJTUUsICJ1ZHAiKTsKLSAJaWYgKHJzdGF0X2NsbnQgPT0gTlVMTCkg ewotQEAgLTI1OSw3ICsyNTksNyBAQCBvbmVob3N0KGNvbnN0IGNoYXIgKmhvc3QpCi0gCQkgICAg ICAoeGRycHJvY190KSB4ZHJfc3RhdHN0aW1lLAotIAkJICAgICAgKGNhZGRyX3QpICZob3N0X3N0 YXQsIAotIAotLQkJICAgICAgZm9vKSAhPSBSUENfU1VDQ0VTUykgCi0rCQkgICAgICB0aW1lb3V0 KSAhPSBSUENfU1VDQ0VTUykgCi0gCXsKLSAJCXdhcm54KCIlcyIsICBjbG50X3NwZXJyb3IocnN0 YXRfY2xudCwgaG9zdCkpOwotIAkJcmV0dXJuOwoKZGlmZiAtLWdpdCBhL3J1c2Vycy0wLjE3LXJ1 cC5wYXRjaCBiL3J1c2Vycy0wLjE3LXJ1cC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMmY4NGM4ZS4uMDAwMDAwMAotLS0gYS9ydXNlcnMtMC4xNy1ydXAucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi0tLS0gbmV0a2l0LXJ1c2Vycy0wLjE3L3J1cC9ydXAu Yy5ydXAJU2F0IEp1bCAyMiAyMTo1MTo0MCAyMDAwCi0rKysgbmV0a2l0LXJ1c2Vycy0wLjE3L3J1 cC9ydXAuYwlXZWQgSnVsIDE3IDE1OjA4OjE3IDIwMDIKLUBAIC0yNTYsMTkgKzI1Niw0OCBAQAot IAltZW1zZXQoJmhvc3Rfc3RhdCwgMCwgc2l6ZW9mKGhvc3Rfc3RhdCkpOwotIAlpZiAoY2xudF9j YWxsKHJzdGF0X2NsbnQsIFJTVEFUUFJPQ19TVEFUUywgCi0gCQkgICAgICAoeGRycHJvY190KSB4 ZHJfdm9pZCwgTlVMTCwgCi0tCQkgICAgICAoeGRycHJvY190KSB4ZHJfc3RhdHN0aW1lLCAmaG9z dF9zdGF0LCAKLSsJCSAgICAgICh4ZHJwcm9jX3QpIHhkcl9zdGF0c3RpbWUsCi0rCQkgICAgICAo Y2FkZHJfdCkgJmhvc3Rfc3RhdCwgCi0rCi0gCQkgICAgICBmb28pICE9IFJQQ19TVUNDRVNTKSAK LSAJewotIAkJd2FybngoIiVzIiwgIGNsbnRfc3BlcnJvcihyc3RhdF9jbG50LCBob3N0KSk7Ci0g CQlyZXR1cm47Ci0gCX0KLSAKLS0JcHJpbnRfcnVwX2RhdGEoaG9zdCwgJmhvc3Rfc3RhdCk7Ci0r CWlmIChzb3J0X3R5cGUgIT0gU09SVF9OT05FKSB7Ci0rCQlyZW1lbWJlcl9ydXBfZGF0YShob3N0 LCAmaG9zdF9zdGF0KTsKLSsJfSBlbHNlIHsKLSsJCXByaW50X3J1cF9kYXRhKGhvc3QsICZob3N0 X3N0YXQpOwotKwl9Ci0gCWNsbnRfZGVzdHJveShyc3RhdF9jbG50KTsKLSB9Ci0gCi0gc3RhdGlj Ci0gdm9pZAotK2VudW1ob3N0cyhpbnQgYXJnYywgY2hhciAqYXJndltdLCBpbnQgb3B0aW5kKQot K3sKLSsJaWYgKHNvcnRfdHlwZSAhPSBTT1JUX05PTkUpIHsKLSsJCXByaW50ZigiY29sbGVjdGlu ZyByZXNwb25zZXMuLi4iKTsKLSsJCWZmbHVzaChzdGRvdXQpOwotKwl9Ci0rCi0rCWZvciAoOyBv cHRpbmQgPCBhcmdjOyBvcHRpbmQrKykKLSsJCW9uZWhvc3QoYXJndltvcHRpbmRdKTsKLSsKLSsJ aWYgKHNvcnRfdHlwZSAhPSBTT1JUX05PTkUpIHsKLSsJCWludCBpOwotKwkJcHV0Y2hhcignXG4n KTsKLSsJCXFzb3J0KHJ1cF9kYXRhLCBydXBfZGF0YV9pZHgsIHNpemVvZihzdHJ1Y3QgcnVwX2Rh dGEpLCBjb21wYXJlKTsKLSsKLSsJCWZvciAoaSA9IDA7IGkgPCBydXBfZGF0YV9pZHg7IGkrKykg ewotKwkJCXByaW50X3J1cF9kYXRhKHJ1cF9kYXRhW2ldLmhvc3QsICZydXBfZGF0YVtpXS5zdGF0 c3RpbWUpOwotKwkJfQotKwl9Ci0rfQotKwotK3N0YXRpYwotK3ZvaWQKLSBhbGxob3N0cyh2b2lk KQotIHsKLSAJc3RhdHN0aW1lIGhvc3Rfc3RhdDsKLUBAIC0zMzcsMTAgKzM2Niw4IEBACi0gCi0g CWlmIChhcmdjID09IG9wdGluZCkKLSAJCWFsbGhvc3RzKCk7Ci0tCWVsc2UgewotLQkJZm9yICg7 IG9wdGluZCA8IGFyZ2M7IG9wdGluZCsrKQotLQkJCW9uZWhvc3QoYXJndltvcHRpbmRdKTsKLS0J fQotKwllbHNlCi0rCQllbnVtaG9zdHMoYXJnYywgYXJndiwgb3B0aW5kKTsKLSAKLSAJZXhpdCgw KTsKLSB9CgpkaWZmIC0tZ2l0IGEvcnVzZXJzLTAuMTctcnVzZXJzZC1kcm9wcHJpdi5wYXRjaCBi L3J1c2Vycy0wLjE3LXJ1c2Vyc2QtZHJvcHByaXYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDVhYjRiY2QuLjAwMDAwMDAKLS0tIGEvcnVzZXJzLTAuMTctcnVzZXJzZC1kcm9w cHJpdi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLWRpZmYgLXVwIG5ldGtp dC1ydXNlcnMtMC4xNy9ycGMucnVzZXJzZC9ydXNlcnNkLmMub3JpZyBuZXRraXQtcnVzZXJzLTAu MTcvcnBjLnJ1c2Vyc2QvcnVzZXJzZC5jCi0tLS0gbmV0a2l0LXJ1c2Vycy0wLjE3L3JwYy5ydXNl cnNkL3J1c2Vyc2QuYy5vcmlnCTIwMDAtMDctMjMgMDA6MDk6MjguMDAwMDAwMDAwIC0wNDAwCi0r KysgbmV0a2l0LXJ1c2Vycy0wLjE3L3JwYy5ydXNlcnNkL3J1c2Vyc2QuYwkyMDA3LTA5LTE1IDA2 OjMwOjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTc0LDIzICs3NCw2IEBAIG1haW4odm9pZCkKLSAg Ci0gCS8qIE9wZW4gc3lzbG9nICovCi0gCW9wZW5sb2coInJwYy5ydXNlcnNkIiwgTE9HX1BJRCwg TE9HX0RBRU1PTik7Ci0tIAotLQkvKiBEcm9wIHByaXZpbGVnZSAqLwotLQlpZiAoZ2V0dWlkKCkg PT0gMCkgewotLQkJc3RydWN0IHBhc3N3ZAkqcHc7Ci0tIAotLQkJaWYgKChwdyA9IGdldHB3bmFt KCJub2JvZHkiKSkgPT0gTlVMTCkgewotLQkJCXN5c2xvZyhMT0dfV0FSTklORywgIlVuYWJsZSB0 byBmaW5kIHVzZXIgbm9ib2R5OiAlbSIpOwotLQkJCWV4aXQoMSk7Ci0tCQl9Ci0tCQlpZiAoc2V0 Z3JvdXBzKDEsICZwdy0+cHdfZ2lkKSA8IDAKLS0JCSB8fCBzZXRnaWQocHctPnB3X2dpZCkgPCAw Ci0tCQkgfHwgc2V0dWlkKHB3LT5wd191aWQpIDwgMCkgewotLQkJCXN5c2xvZyhMT0dfV0FSTklO RywgIkZhaWxlZCB0byBkcm9wIHByaXZpbGVnZTogJW0iKTsKLS0JCQlleGl0KDEpOwotLQkJfQot LQl9Ci0tIAotIAkKLSAJLyoKLSAJICogU2VlIGlmIGluZXRkIHN0YXJ0ZWQgdXMKLUBAIC0xMjgs NiArMTExLDIzIEBAIG1haW4odm9pZCkKLSAJCXN5c2xvZyhMT0dfRVJSLCAidW5hYmxlIHRvIHJl Z2lzdGVyIChSVVNFUlNQUk9HLCBSVVNFUlNWRVJTX0lETEUsICVzKS4iLCBwcm90bz8idWRwIjoi KGluZXRkKSIpOwotIAkJZXhpdCgxKTsKLSAJfQotKyAKLSsJLyogRHJvcCBwcml2aWxlZ2UgKi8K LSsJaWYgKGdldHVpZCgpID09IDApIHsKLSsJCXN0cnVjdCBwYXNzd2QJKnB3OwotKyAKLSsJCWlm ICgocHcgPSBnZXRwd25hbSgibm9ib2R5IikpID09IE5VTEwpIHsKLSsJCQlzeXNsb2coTE9HX1dB Uk5JTkcsICJVbmFibGUgdG8gZmluZCB1c2VyIG5vYm9keTogJW0iKTsKLSsJCQlleGl0KDEpOwot KwkJfQotKwkJaWYgKHNldGdyb3VwcygxLCAmcHctPnB3X2dpZCkgPCAwCi0rCQkgfHwgc2V0Z2lk KHB3LT5wd19naWQpIDwgMAotKwkJIHx8IHNldHVpZChwdy0+cHdfdWlkKSA8IDApIHsKLSsJCQlz eXNsb2coTE9HX1dBUk5JTkcsICJGYWlsZWQgdG8gZHJvcCBwcml2aWxlZ2U6ICVtIik7Ci0rCQkJ ZXhpdCgxKTsKLSsJCX0KLSsJfQotKyAKLSAKLSAJc3ZjX3J1bigpOwotIAlzeXNsb2coTE9HX0VS UiwgInN2Y19ydW4gcmV0dXJuZWQiKTsKCmRpZmYgLS1naXQgYS9ydXNlcnMtMC4xNy1zdGF0cy5w YXRjaCBiL3J1c2Vycy0wLjE3LXN0YXRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCA5NmQwOGM3Li4wMDAwMDAwCi0tLSBhL3J1c2Vycy0wLjE3LXN0YXRzLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMTI2ICswLDAgQEAKLS0tLSBuZXRraXQtcnVzZXJzLTAuMTcvcnBjLnJz dGF0ZC9yc3RhdF9wcm9jLmMuc3RhdHMJV2VkIEphbiAyMyAxNDo1OToxMyAyMDAyCi0rKysgbmV0 a2l0LXJ1c2Vycy0wLjE3L3JwYy5yc3RhdGQvcnN0YXRfcHJvYy5jCVdlZCBKYW4gMjMgMTU6NDA6 NTAgMjAwMgotQEAgLTI5NSw3ICsyOTUsNyBAQAotIGludCBzaW5jZWxhc3RyZXEgPSAwOwkJLyog bnVtYmVyIG9mIGFsYXJtcyBzaW5jZSBsYXN0IHJlcXVlc3QgKi8KLSBleHRlcm4gaW50IGNsb3Nl ZG93bjsKLSAKLS11bmlvbiB7Ci0rc3RydWN0IHsKLSAJc3RydWN0IHN0YXRzIHMxOwotIAlzdHJ1 Y3Qgc3RhdHNzd3RjaCBzMjsKLSAJc3RydWN0IHN0YXRzdGltZSBzMzsKLUBAIC00MTUsMTQgKzQx NSwzMiBAQAotICAgICBiID0gc3Ryc3RyKGJ1ZmYsICJjcHUgIik7Ci0gICAgIGlmKGIpCi0gICAg IHNzY2FuZihiLCAiY3B1ICAlbHUgJWx1ICVsdSAlbHUiLCBjdXNlLCBjaWNlLCBjc3lzLCBjaWRl KTsKLSsgICAgYiA9IHN0cnN0cihidWZmLCAiZGlzayAiKTsKLSsgICAgaWYoYikKLSsgICAgICBz c2NhbmYoYiwgImRpc2sgJXUgJXUgJXUgJXUiLCAmZC0+eGZlclswXSwgJmQtPnhmZXJbMV0sICZk LT54ZmVyWzJdLCAmZC0+eGZlclszXSk7Ci0rICAgIGIgPSBzdHJzdHIoYnVmZiwgImRpc2tfcmlv ICIpOwotKyAgICBpZihiKQotKyAgICAgIHNzY2FuZihiLCAiZGlza19yaW8gJXUgJXUgJXUgJXUi LCAmZC0+cmlvWzBdLCAmZC0+cmlvWzFdLCAmZC0+cmlvWzJdLCAmZC0+cmlvWzNdKTsKLSsgICAg YiA9IHN0cnN0cihidWZmLCAiZGlza193aW8gIik7Ci0rICAgIGlmKGIpCi0rICAgICAgc3NjYW5m KGIsICJkaXNrX3dpbyAldSAldSAldSAldSIsICZkLT53aW9bMF0sICZkLT53aW9bMV0sICZkLT53 aW9bMl0sICZkLT53aW9bM10pOwotKyAgICBiID0gc3Ryc3RyKGJ1ZmYsICJkaXNrX3JibGsgIik7 Ci0rICAgIGlmKGIpCi0rICAgICAgc3NjYW5mKGIsICJkaXNrX3JibGsgJXUgJXUgJXUgJXUiLCAm ZC0+cmJsa1swXSwgJmQtPnJibGtbMV0sICZkLT5yYmxrWzJdLCAmZC0+cmJsa1szXSk7Ci0rICAg IGIgPSBzdHJzdHIoYnVmZiwgImRpc2tfd2JsayAiKTsKLSsgICAgaWYoYikKLSsgICAgICBzc2Nh bmYoYiwgImRpc2tfd2JsayAldSAldSAldSAldSIsICZkLT53YmxrWzBdLCAmZC0+d2Jsa1sxXSwg JmQtPndibGtbMl0sICZkLT53YmxrWzNdKTsKLSsKLSAgICAgYiA9IHN0cnN0cihidWZmLCAiZGlz a19pbzoiKTsKLS0gICAgbmRpc2tzID0gMDsKLS0gICAgd2hpbGUgKCAoYiA9IHN0cnN0cihiLCAi KToiKSkgIT0gTlVMTCAmJiBuZGlza3MgPCBNQVhfRElTS1MgKSB7Ci0tICAgICAgc3NjYW5mIChi LCAiKTooJXUsJXUsJXUsJXUsJXUpIiwgJmQtPnhmZXJbbmRpc2tzXSwgCi0tCSAgICAgICZkLT5y aW9bbmRpc2tzXSwgJmQtPnJibGtbbmRpc2tzXSwgCi0tCSAgICAgICZkLT53aW9bbmRpc2tzXSwg JmQtPndibGtbbmRpc2tzXSk7Ci0tICAgICAgbmRpc2tzKys7Ci0tICAgICAgYiArPSAyOwotKyAg ICBpZihiKSB7Ci0rICAgICAgbmRpc2tzID0gMDsKLSsgICAgICB3aGlsZSAoIChiID0gc3Ryc3Ry KGIsICIpOiIpKSAhPSBOVUxMICYmIG5kaXNrcyA8IE1BWF9ESVNLUyApIHsKLSsgICAgICAgIHNz Y2FuZiAoYiwgIik6KCV1LCV1LCV1LCV1LCV1KSIsICZkLT54ZmVyW25kaXNrc10sIAotKwkgICAg ICAgICZkLT5yaW9bbmRpc2tzXSwgJmQtPnJibGtbbmRpc2tzXSwgCi0rCSAgICAgICAgJmQtPndp b1tuZGlza3NdLCAmZC0+d2Jsa1tuZGlza3NdKTsKLSsgICAgICAgIG5kaXNrcysrOwotKyAgICAg ICAgYiArPSAyOwotKyAgICAgIH0KLSAgICAgfQotIAotICAgICBiID0gc3Ryc3RyKGJ1ZmYsICJw YWdlICIpOwotQEAgLTYzNywxOCArNjU1LDI5IEBACi0gCi0gCW1lbXNldCgmc3RhdHNfYWxsLCAw LCBzaXplb2Yoc3RhdHNfYWxsKSk7Ci0gCi0tCWZvciAoaSA9IDA7IGkgPCBka19uZHJpdmUgJiYg aSA8IERLX05EUklWRTsgaSsrKQotKwlmb3IgKGkgPSAwOyBpIDwgZGtfbmRyaXZlICYmIGkgPCBE S19ORFJJVkU7IGkrKykgewotIAkJc3RhdHNfYWxsLnMxLmRrX3hmZXJbaV0gPSBjdXIuZGtfeGZl cltpXTsKLSsJCXN0YXRzX2FsbC5zMi5ka194ZmVyW2ldID0gY3VyLmRrX3hmZXJbaV07Ci0rCQlz dGF0c19hbGwuczMuZGtfeGZlcltpXSA9IGN1ci5ka194ZmVyW2ldOwotKyAgICAgICAgfQotIAot LQlmb3IgKGkgPSAwOyBpIDwgQ1BVU1RBVEVTOyBpKyspCi0rCWZvciAoaSA9IDA7IGkgPCBDUFVT VEFURVM7IGkrKykgewotIAkJc3RhdHNfYWxsLnMxLmNwX3RpbWVbaV0gKz0gY3VyLmNwX3RpbWVb Y3BfeGxhdFtpXV07Ci0rCQlzdGF0c19hbGwuczIuY3BfdGltZVtpXSArPSBjdXIuY3BfdGltZVtj cF94bGF0W2ldXTsKLSsJCXN0YXRzX2FsbC5zMy5jcF90aW1lW2ldICs9IGN1ci5jcF90aW1lW2Nw X3hsYXRbaV1dOwotKyAgICAgICAgfQotIAotIAlzdGF0c19hbGwuczIuYXZlbnJ1blswXSA9IGF2 cnVuWzBdICogRlNDQUxFOwotIAlzdGF0c19hbGwuczIuYXZlbnJ1blsxXSA9IGF2cnVuWzFdICog RlNDQUxFOwotIAlzdGF0c19hbGwuczIuYXZlbnJ1blsyXSA9IGF2cnVuWzJdICogRlNDQUxFOwot KwlzdGF0c19hbGwuczMuYXZlbnJ1blswXSA9IGF2cnVuWzBdICogRlNDQUxFOwotKwlzdGF0c19h bGwuczMuYXZlbnJ1blsxXSA9IGF2cnVuWzFdICogRlNDQUxFOwotKwlzdGF0c19hbGwuczMuYXZl bnJ1blsyXSA9IGF2cnVuWzJdICogRlNDQUxFOwotIAotIAlzdGF0c19hbGwuczIuYm9vdHRpbWUu dHZfc2VjID0gYnRtLnR2X3NlYzsKLSAJc3RhdHNfYWxsLnMyLmJvb3R0aW1lLnR2X3VzZWMgPSBi dG0udHZfdXNlYzsKLSsJc3RhdHNfYWxsLnMzLmJvb3R0aW1lLnR2X3NlYyA9IGJ0bS50dl9zZWM7 Ci0rCXN0YXRzX2FsbC5zMy5ib290dGltZS50dl91c2VjID0gYnRtLnR2X3VzZWM7Ci0gCi0gI2lm ZGVmIERFQlVHCi0gCXN5c2xvZyhMT0dfREVCVUcsICIlZCAlZCAlZCAlZCIsIHN0YXRzX2FsbC5z MS5jcF90aW1lWzBdLAotQEAgLTY2MSwxMCArNjkwLDI1IEBACi0gCXN0YXRzX2FsbC5zMS52X3Bz d3BpbiA9IGNudC52X3Bzd3BpbjsKLSAJc3RhdHNfYWxsLnMxLnZfcHN3cG91dCA9IGNudC52X3Bz d3BvdXQ7Ci0gCXN0YXRzX2FsbC5zMS52X2ludHIgPSBjbnQudl9pbnRyOwotKwlzdGF0c19hbGwu czIudl9wZ3BnaW4gPSBjbnQudl9wZ3BnaW47Ci0rCXN0YXRzX2FsbC5zMi52X3BncGdvdXQgPSBj bnQudl9wZ3Bnb3V0OwotKwlzdGF0c19hbGwuczIudl9wc3dwaW4gPSBjbnQudl9wc3dwaW47Ci0r CXN0YXRzX2FsbC5zMi52X3Bzd3BvdXQgPSBjbnQudl9wc3dwb3V0OwotKwlzdGF0c19hbGwuczIu dl9pbnRyID0gY250LnZfaW50cjsKLSsJc3RhdHNfYWxsLnMzLnZfcGdwZ2luID0gY250LnZfcGdw Z2luOwotKwlzdGF0c19hbGwuczMudl9wZ3Bnb3V0ID0gY250LnZfcGdwZ291dDsKLSsJc3RhdHNf YWxsLnMzLnZfcHN3cGluID0gY250LnZfcHN3cGluOwotKwlzdGF0c19hbGwuczMudl9wc3dwb3V0 ID0gY250LnZfcHN3cG91dDsKLSsJc3RhdHNfYWxsLnMzLnZfaW50ciA9IGNudC52X2ludHI7Ci0g CWdldHRpbWVvZmRheSgmdG0sIChzdHJ1Y3QgdGltZXpvbmUgKikgMCk7Ci0gCXN0YXRzX2FsbC5z MS52X2ludHIgLT0gaHoqKHRtLnR2X3NlYyAtIGJ0bS50dl9zZWMpICsKLSAJICAgIGh6Kih0bS50 dl91c2VjIC0gYnRtLnR2X3VzZWMpLzEwMDAwMDA7Ci0rCXN0YXRzX2FsbC5zMi52X2ludHIgLT0g aHoqKHRtLnR2X3NlYyAtIGJ0bS50dl9zZWMpICsKLSsJICAgIGh6Kih0bS50dl91c2VjIC0gYnRt LnR2X3VzZWMpLzEwMDAwMDA7Ci0rCXN0YXRzX2FsbC5zMy52X2ludHIgLT0gaHoqKHRtLnR2X3Nl YyAtIGJ0bS50dl9zZWMpICsKLSsJICAgIGh6Kih0bS50dl91c2VjIC0gYnRtLnR2X3VzZWMpLzEw MDAwMDA7Ci0gCXN0YXRzX2FsbC5zMi52X3N3dGNoID0gY250LnZfc3d0Y2g7Ci0rCXN0YXRzX2Fs bC5zMy52X3N3dGNoID0gY250LnZfc3d0Y2g7Ci0gCi0gICAgIHsJRklMRSAqZmg7Ci0gCWlmICgo ZmggPSBmb3BlbigiL3Byb2MvbmV0L2RldiIsICJyIikpICE9IE5VTEwpIHsKLUBAIC02ODMsNiAr NzI3LDE2IEBACi0gCQlzdGF0c19hbGwuczEuaWZfaWVycm9ycyArPSBpZmUtPnN0YXRzLnJ4X2Vy cm9yczsKLSAJCXN0YXRzX2FsbC5zMS5pZl9vZXJyb3JzICs9IGlmZS0+c3RhdHMudHhfZXJyb3Jz OwotIAkJc3RhdHNfYWxsLnMxLmlmX2NvbGxpc2lvbnMgKz0gaWZlLT5zdGF0cy5jb2xsaXNpb25z OwotKwkJc3RhdHNfYWxsLnMyLmlmX2lwYWNrZXRzICs9IGlmZS0+c3RhdHMucnhfcGFja2V0czsK LSsJCXN0YXRzX2FsbC5zMi5pZl9vcGFja2V0cyArPSBpZmUtPnN0YXRzLnR4X3BhY2tldHM7Ci0r CQlzdGF0c19hbGwuczIuaWZfaWVycm9ycyArPSBpZmUtPnN0YXRzLnJ4X2Vycm9yczsKLSsJCXN0 YXRzX2FsbC5zMi5pZl9vZXJyb3JzICs9IGlmZS0+c3RhdHMudHhfZXJyb3JzOwotKwkJc3RhdHNf YWxsLnMyLmlmX2NvbGxpc2lvbnMgKz0gaWZlLT5zdGF0cy5jb2xsaXNpb25zOwotKwkJc3RhdHNf YWxsLnMzLmlmX2lwYWNrZXRzICs9IGlmZS0+c3RhdHMucnhfcGFja2V0czsKLSsJCXN0YXRzX2Fs bC5zMy5pZl9vcGFja2V0cyArPSBpZmUtPnN0YXRzLnR4X3BhY2tldHM7Ci0rCQlzdGF0c19hbGwu czMuaWZfaWVycm9ycyArPSBpZmUtPnN0YXRzLnJ4X2Vycm9yczsKLSsJCXN0YXRzX2FsbC5zMy5p Zl9vZXJyb3JzICs9IGlmZS0+c3RhdHMudHhfZXJyb3JzOwotKwkJc3RhdHNfYWxsLnMzLmlmX2Nv bGxpc2lvbnMgKz0gaWZlLT5zdGF0cy5jb2xsaXNpb25zOwotIAkgICAgfQotIAotIAkgICAgZmNs b3NlKGZoKTsKCmRpZmYgLS1naXQgYS9ydXNlcnMtMC4xNy1zdHJpcC5wYXRjaCBiL3J1c2Vycy0w LjE3LXN0cmlwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOGVmMTJmLi4w MDAwMDAwCi0tLSBhL3J1c2Vycy0wLjE3LXN0cmlwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs NDQgKzAsMCBAQAotLS0tIG5ldGtpdC1ydXNlcnMtMC4xNy9ydXAvTWFrZWZpbGUuc3RyaXAJU3Vu IERlYyAxMiAxOTowNTowNCAxOTk5Ci0rKysgbmV0a2l0LXJ1c2Vycy0wLjE3L3J1cC9NYWtlZmls ZQlXZWQgSnVuIDE5IDE3OjA4OjQ1IDIwMDIKLUBAIC0yMiw3ICsyMiw3IEBACi0gcnVwLm86IC4u L3ZlcnNpb24uaAotIAotIGluc3RhbGw6IHJ1cAotLQlpbnN0YWxsIC1zIC1tJChCSU5NT0RFKSBy dXAgJChJTlNUQUxMUk9PVCkkKEJJTkRJUikKLSsJaW5zdGFsbCAtbSQoQklOTU9ERSkgcnVwICQo SU5TVEFMTFJPT1QpJChCSU5ESVIpCi0gCWluc3RhbGwgLW0kKE1BTk1PREUpIHJ1cC4xICQoSU5T VEFMTFJPT1QpJChNQU5ESVIpL21hbjEKLSAKLSBjbGVhbjoKLS0tLSBuZXRraXQtcnVzZXJzLTAu MTcvcnBjLnJ1c2Vyc2QvTWFrZWZpbGUuc3RyaXAJU3VuIERlYyAxMiAxOTowNTowMyAxOTk5Ci0r KysgbmV0a2l0LXJ1c2Vycy0wLjE3L3JwYy5ydXNlcnNkL01ha2VmaWxlCVdlZCBKdW4gMTkgMTc6 MDk6MTUgMjAwMgotQEAgLTIyLDcgKzIyLDcgQEAKLSAJJChDQykgJChMREZMQUdTKSAkXiAkKExJ QlMpIC1vICRACi0gCi0gaW5zdGFsbDogcnVzZXJzZAotLQlpbnN0YWxsIC1zIC1tJChEQUVNT05N T0RFKSBydXNlcnNkICQoSU5TVEFMTFJPT1QpJChTQklORElSKS9ycGMucnVzZXJzZAotKwlpbnN0 YWxsIC1tJChEQUVNT05NT0RFKSBydXNlcnNkICQoSU5TVEFMTFJPT1QpJChTQklORElSKS9ycGMu cnVzZXJzZAotIAlpbnN0YWxsIC1tJChNQU5NT0RFKSBycGMucnVzZXJzZC44ICQoSU5TVEFMTFJP T1QpJChNQU5ESVIpL21hbjgKLSAJbG4gLXNmIHJwYy5ydXNlcnNkLjggJChJTlNUQUxMUk9PVCkk KE1BTkRJUikvbWFuOC9ydXNlcnNkLjgKLSAKLS0tLSBuZXRraXQtcnVzZXJzLTAuMTcvcnVzZXJz L01ha2VmaWxlLnN0cmlwCVN1biBEZWMgMTIgMTk6MDU6MDQgMTk5OQotKysrIG5ldGtpdC1ydXNl cnMtMC4xNy9ydXNlcnMvTWFrZWZpbGUJV2VkIEp1biAxOSAxNzowOTozMyAyMDAyCi1AQCAtMjAs NyArMjAsNyBAQAotIAkkKENDKSAkKExERkxBR1MpICReICQoTElCUykgLW8gJEAKLSAKLSBpbnN0 YWxsOiBydXNlcnMKLS0JaW5zdGFsbCAtcyAtbSQoQklOTU9ERSkgcnVzZXJzICQoSU5TVEFMTFJP T1QpJChCSU5ESVIpCi0rCWluc3RhbGwgLW0kKEJJTk1PREUpIHJ1c2VycyAkKElOU1RBTExST09U KSQoQklORElSKQotIAlpbnN0YWxsIC1tJChNQU5NT0RFKSBydXNlcnMuMSAkKElOU1RBTExST09U KSQoTUFORElSKS9tYW4xCi0gCi0gY2xlYW46Ci0tLS0gbmV0a2l0LXJ1c2Vycy0wLjE3L3JwYy5y c3RhdGQvR05VbWFrZWZpbGUuc3RyaXAJU3VuIE1hciAxNCAyMDoyMTo1MiAxOTk5Ci0rKysgbmV0 a2l0LXJ1c2Vycy0wLjE3L3JwYy5yc3RhdGQvR05VbWFrZWZpbGUJV2VkIEp1biAxOSAxNzoxMDow MSAyMDAyCi1AQCAtMjAsNyArMjAsNyBAQAotIAkkKENDKSAkKExERkxBR1MpICReICQoTElCUykg LW8gJEAKLSAKLSBpbnN0YWxsOiByc3RhdGQKLS0JaW5zdGFsbCAtcyAtbSQoREFFTU9OTU9ERSkg cnN0YXRkICQoSU5TVEFMTFJPT1QpJChTQklORElSKS9ycGMucnN0YXRkCi0rCWluc3RhbGwgLW0k KERBRU1PTk1PREUpIHJzdGF0ZCAkKElOU1RBTExST09UKSQoU0JJTkRJUikvcnBjLnJzdGF0ZAot IAlpbnN0YWxsIC1tJChNQU5NT0RFKSBycGMucnN0YXRkLjggJChJTlNUQUxMUk9PVCkkKE1BTkRJ UikvbWFuOAotIAlsbiAtc2YgcnBjLnJzdGF0ZC44ICQoSU5TVEFMTFJPT1QpJChNQU5ESVIpL21h bjgvcnN0YXRkLjgKLSAKCmRpZmYgLS1naXQgYS9ydXNlcnMtMC4xNy10cnVuY2F0ZS5wYXRjaCBi L3J1c2Vycy0wLjE3LXRydW5jYXRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCBjZjdhYTBmLi4wMDAwMDAwCi0tLSBhL3J1c2Vycy0wLjE3LXRydW5jYXRlLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLS0tIG5ldGtpdC1ydXNlcnMtMC4xNy9ycGMucnVz ZXJzZC9ydXNlcnNfcHJvYy5jCTIwMDgtMDktMDQgMTU6MzQ6NDcuMDAwMDAwMDAwICswMjAwCi0r KysgbmV0a2l0LXJ1c2Vycy0wLjE3X25ldy9ycGMucnVzZXJzZC9ydXNlcnNfcHJvYy5jCTIwMDgt MDktMDQgMTU6MTg6MzQuMDAwMDAwMDAwICswMjAwCi1AQCAtMzA5LDcgKzMwOSwxMSBAQCBydXNl cnNwcm9jX2FsbG5hbWVzXzModm9pZCAqdG1wMSwgQ0xJRU5UCi0gCi0gc3RhdGljIHZvaWQgZG9f c3RybmNweShjaGFyICp0Z3QsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IGxlbikgewotICAgICBz dHJuY3B5KHRndCwgc3JjLCBsZW4pOwotKyNpZmRlZiBCUk9LRU5fVVRNUAotKyAgICAvKiB0cmFk aXRpb25hbCB1dG1wIGZpZWxkcyB1c2VkIGJ5IHZlcnNpb24gMiBvZiB0aGUgcnVzZXJzIHByb3Rv Y29sCi0rICAgICAgIGFyZSBub3QgbnVsbC10ZXJtaW5hdGVkIGlmIHRoZXkgYXJlIGZ1bGwgd2lk dGggKi8KLSAgICAgdGd0W2xlbi0xXSA9IDA7Ci0rI2VuZGlmIC8qIEJST0tFTl9VVE1QICovCi0g fQotIAotIHN0YXRpYyAKCmRpZmYgLS1naXQgYS9ydXNlcnMuc3BlYyBiL3J1c2Vycy5zcGVjCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNDIzN2VjLi4wMDAwMDAwCi0tLSBhL3J1c2Vy cy5zcGVjCisrKyAvZGV2L251bGwKQEAgLTEsNjE4ICswLDAgQEAKLSVpZiAlez9XSVRIX1NFTElO VVg6MH0leyE/V0lUSF9TRUxJTlVYOjF9Ci0lZ2xvYmFsIFdJVEhfU0VMSU5VWCAxCi0lZW5kaWYK LQotU3VtbWFyeTogRGlzcGxheXMgdGhlIHVzZXJzIGxvZ2dlZCBpbnRvIG1hY2hpbmVzIG9uIHRo ZSBsb2NhbCBuZXR3b3JrCi1OYW1lOiBydXNlcnMKLVZlcnNpb246IDAuMTcKLVJlbGVhc2U6IDEx MCV7P2Rpc3R9Ci0jIFNldmVyYWwgcnBjLnN0YXRkL3JzdGF0X3Byb2MqIGFyZSBMaWNlbnNlUmVm LXN1bi1ycGMgd2hpY2ggaXMgbm90LWFsbG93ZWQsIGJ1dCBPcmFjbGUgYWxsb3dlZCB1cwotIyB0 byByZWxpY2Vuc2UuIFNlZSBiZWxsb3cuCi1MaWNlbnNlOiBCU0QtMy1DbGF1c2UgQU5EIEJTRC00 LUNsYXVzZS1VQwotVXJsOiBodHRwOi8vcnN0YXRkLnNvdXJjZWZvcmdlLm5ldC8KLVNvdXJjZTog aHR0cDovL2Z0cC5saW51eC5vcmcudWsvcHViL2xpbnV4L05ldHdvcmtpbmcvbmV0a2l0L25ldGtp dC1ydXNlcnMtJXt2ZXJzaW9ufS50YXIuZ3oKLVNvdXJjZTE6IHJ1c2Vyc2Quc2VydmljZQotU291 cmNlMjogcnN0YXRkLnRhci5negotU291cmNlMzogcnN0YXRkLnNlcnZpY2UKLVBhdGNoMDogcnN0 YXRkLWpiai5wYXRjaAotUGF0Y2gxOiBuZXRraXQtcnVzZXJzLTAuMTUtbnVtdXNlcnMucGF0Y2gK LVBhdGNoMjogcnVzZXJzLTAuMTctMi40LnBhdGNoCi1QYXRjaDM6IHJ1c2Vycy0wLjE3LWluY2x1 ZGVzLnBhdGNoCi1QYXRjaDQ6IHJ1c2Vycy0wLjE3LXRydW5jYXRlLnBhdGNoCi1QYXRjaDU6IHJ1 c2Vycy0wLjE3LXN0YXRzLnBhdGNoCi1QYXRjaDY6IHJ1c2Vycy0wLjE3LXJzdGF0ZC1uby1zdGF0 aWMtYnVmZmVyLnBhdGNoCi1QYXRjaDc6IHJ1c2Vycy0wLjE3LXN0cmlwLnBhdGNoCi1QYXRjaDg6 IHJ1c2Vycy0wLjE3LXJ1cC5wYXRjaAotUGF0Y2g5OiBydXNlcnMtMC4xNy1ydXAtdGltZW91dC5w YXRjaAotUGF0Y2gxMDogcnVzZXJzLTAuMTctcHJvY3BzLnBhdGNoCi1QYXRjaDExOiBydXNlcnMt MC4xNy1ydXAtc3RhY2sucGF0Y2gKLVBhdGNoMTI6IHJ1c2Vycy0wLjE3LWJpZ2VuZGlhbi5wYXRj aAotUGF0Y2gxMzogcnVzZXJzLTAuMTctcmV0dXJuLnBhdGNoCi1QYXRjaDE0OiBydXNlcnMtMC4x Ny1wcm9jZGlza3N0YXRzLnBhdGNoCi1QYXRjaDE1OiBydXNlcnMtMC4xNy1ydXNlcnNkLWRyb3Bw cml2LnBhdGNoCi0jIE9yYWNsZSBleHBsaWNpdGx5IGdhdmUgcGVybWlzc2lvbiBmb3IgdGhpcyBy ZWxpY2Vuc2luZyBvbiBBdWd1c3QgMTgsIDIwMTAuCi1QYXRjaDE2OiBydXNlcnMtMC4xNy1uZXct cnBjLWxpY2Vuc2UucGF0Y2gKLVBhdGNoMTc6IHJ1c2Vycy0wLjE3LW1hbmhlbHAucGF0Y2gKLVBh dGNoMTg6IHJ1c2Vycy0wLjE3LWZyZWVycGMucGF0Y2gKLVBhdGNoMTk6IHJzdGF0ZC1tYW4ucGF0 Y2gKLSMgUHJvdmlkZSB0aGUgQlNEIDMtY2xhdXNlIGxpY2Vuc2UgdGV4dCBhcyBDT1BZSU5HIGZp bGUKLVBhdGNoMjA6IHJ1c2Vycy0wLjE3LWxpY2Vuc2UucGF0Y2gKLVBhdGNoMjE6IHJ1c2Vycy0w LjE3LWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzLnBhdGNoCi1CdWlsZFJlcXVpcmVzOiBtYWtl Ci1CdWlsZFJlcXVpcmVzOiBnY2MKLUJ1aWxkUmVxdWlyZXM6IHByb2NwcyBsaWJzZWxpbnV4LWRl dmVsCi1CdWlsZFJlcXVpcmVzOiBycGNzdmMtcHJvdG8tZGV2ZWwKLUJ1aWxkUmVxdWlyZXM6IHJw Y2dlbgotQnVpbGRSZXF1aXJlczogbGlidGlycGMtZGV2ZWwKLQotJWRlc2NyaXB0aW9uCi1UaGUg cnVzZXJzIHByb2dyYW0gYWxsb3dzIHVzZXJzIHRvIGZpbmQgb3V0IHdobyBpcyBsb2dnZWQgaW50 byB2YXJpb3VzCi1tYWNoaW5lcyBvbiB0aGUgbG9jYWwgbmV0d29yay4gIFRoZSBydXNlcnMgY29t bWFuZCBwcm9kdWNlcyBvdXRwdXQKLXNpbWlsYXIgdG8gd2hvLCBidXQgZm9yIHRoZSBzcGVjaWZp ZWQgbGlzdCBvZiBob3N0cyBvciBmb3IgYWxsCi1tYWNoaW5lcyBvbiB0aGUgbG9jYWwgbmV0d29y ay4KLQotSW5zdGFsbCBydXNlcnMgaWYgeW91IG5lZWQgdG8ga2VlcCB0cmFjayBvZiB3aG8gaXMg bG9nZ2VkIGludG8geW91cgotbG9jYWwgbmV0d29yay4KLQotJXBhY2thZ2Ugc2VydmVyCi1TdW1t YXJ5OiBTZXJ2ZXIgZm9yIHRoZSBydXNlcnMgcHJvdG9jb2wKLVJlcXVpcmVzKHBvc3QpOiBzeXN0 ZW1kCi1SZXF1aXJlcyhwcmV1bik6IHN5c3RlbWQKLVJlcXVpcmVzKHBvc3R1bik6IHN5c3RlbWQK LVJlcXVpcmVzKHBvc3QpOiBzeXN0ZW1kLXN5c3YKLVJlcXVpcmVzOiBwb3J0bWFwCi1CdWlsZFJl cXVpcmVzOiBzeXN0ZW1kCi1CdWlsZFJlcXVpcmVzOiBzeXN0ZW1kLWRldmVsCi0KLSVkZXNjcmlw dGlvbiBzZXJ2ZXIKLVRoZSBydXNlcnMgcHJvZ3JhbSBhbGxvd3MgdXNlcnMgdG8gZmluZCBvdXQg d2hvIGlzIGxvZ2dlZCBpbnRvIHZhcmlvdXMKLW1hY2hpbmVzIG9uIHRoZSBsb2NhbCBuZXR3b3Jr LiAgVGhlIHJ1c2VycyBjb21tYW5kIHByb2R1Y2VzIG91dHB1dAotc2ltaWxhciB0byB3aG8sIGJ1 dCBmb3IgdGhlIHNwZWNpZmllZCBsaXN0IG9mIGhvc3RzIG9yIGZvciBhbGwKLW1hY2hpbmVzIG9u IHRoZSBsb2NhbCBuZXR3b3JrLiBUaGUgcnVzZXJzLXNlcnZlciBwYWNrYWdlIGNvbnRhaW5zIHRo ZQotc2VydmVyIGZvciByZXNwb25kaW5nIHRvIHJ1c2VycyByZXF1ZXN0cy4KLQotSW5zdGFsbCBy dXNlcnMtc2VydmVyIGlmIHlvdSB3YW50IHJlbW90ZSB1c2VycyB0byBiZSBhYmxlIHRvIHNlZQot d2hvIGlzIGxvZ2dlZCBpbnRvIHlvdXIgbWFjaGluZS4KLQotJXByZXAKLSVzZXR1cCAtcSAtbiBu ZXRraXQtcnVzZXJzLSV7dmVyc2lvbn0gLWEgMgotJXBhdGNoIDAgLXAxIC1iIC5qYmoKLSVwYXRj aCAxIC1wMSAtYiAubnVtdXNlcnMKLSVwYXRjaCAyIC1wMSAtYiAuMi40Ci0lcGF0Y2ggMyAtcDEg LWIgLmluY2x1ZGVzCi0lcGF0Y2ggNCAtcDEgLWIgLnRydW5jYXRlCi0lcGF0Y2ggNSAtcDEgLWIg LnN0YXRzCi0lcGF0Y2ggNiAtcDEgLWIgLnJzdGF0ZC1uby1zdGF0aWMtYnVmZmVyCi0lcGF0Y2gg NyAtcDEgLWIgLnN0cmlwCi0lcGF0Y2ggOCAtcDEgLWIgLnJ1cAotJXBhdGNoIDkgLXAxIC1iIC5y dXAtdGltZW91dAotJXBhdGNoIDEwIC1wMSAtYiAucHJvY3BzCi0lcGF0Y2ggMTEgLXAxIC1iIC5y dXAtc3RhY2sKLSVwYXRjaCAxMiAtcDEgLWIgLmJpZ2VuZGlhbgotJXBhdGNoIDEzIC1wMSAtYiAu cmV0dXJuCi0lcGF0Y2ggMTQgLXAxIC1iIC5wcm9jZGlza3N0YXRzCi0lcGF0Y2ggMTUgLXAxIC1i IC5kcm9wcHJpdnMKLSVwYXRjaCAxNiAtcDEgLWIgLmxpY2Vuc2VmaXgKLSVwYXRjaCAxNyAtcDEg LWIgLm1hbmhlbHAKLSVwYXRjaCAxOCAtcDEgLWIgLmZyZWVycGMKLSVwYXRjaCAxOSAtcDEgLWIg LnJzdGF0ZC1tYW4KLSVwYXRjaCAyMCAtcDEgLWIgLmxpY2Vuc2UKLSVwYXRjaCAyMSAtcDEgLWIg LmluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzCi0KLSVidWlsZAotY2F0ID4gTUNPTkZJRyA8PEVP RgotIyBHZW5lcmF0ZWQgYnkgY29uZmlndXJlIChjb25mZ2VuIHZlcnNpb24gMikgb24gV2VkIEp1 bCAxNyAwOTozMzoyMiBFRFQgMjAwMgotIwotCi1CSU5ESVI9JXtfYmluZGlyfQotU0JJTkRJUj0l e19zYmluZGlyfQotTUFORElSPSV7X21hbmRpcn0KLUJJTk1PREU9NzU1Ci1EQUVNT05NT0RFPTc1 NQotTUFOTU9ERT02NDQKLVBSRUZJWD0vdXNyCi1FWEVDUFJFRklYPS91c3IKLUlOU1RBTExST09U PQotQ0M9Y2MKLUNGTEFHUz0ke1JQTV9PUFRfRkxBR1N9IC1JL3Vzci9pbmNsdWRlL3RpcnBjIC1m UElDIC1XYWxsIC1XIC1XcG9pbnRlci1hcml0aCAtV2JhZC1mdW5jdGlvbi1jYXN0IC1XY2FzdC1x dWFsIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdtaXNzaW5nLWRl Y2xhcmF0aW9ucyAtV25lc3RlZC1leHRlcm5zIC1XaW5saW5lIC1zdGQ9Z251MTcKLUxERkxBR1M9 LXBpZSAtV2wsLXoscmVscm8sLXosbm93IC1sdGlycGMKLUxJQlM9LWxzeXN0ZW1kCi1VU0VfR0xJ QkM9MQotCi1FT0YKLQotbWFrZQotJWlmICV7V0lUSF9TRUxJTlVYfQotbWFrZSBMSUJTPSItbHNl bGludXggLWxzeXN0ZW1kIiAtQyBycGMucnN0YXRkCi0lZWxzZQotbWFrZSAtQyBycGMucnN0YXRk Ci0lZW5kaWYKLQotCi0laW5zdGFsbAotbWtkaXIgLXAgJHtSUE1fQlVJTERfUk9PVH0le19iaW5k aXJ9Ci1ta2RpciAtcCAke1JQTV9CVUlMRF9ST09UfSV7X3NiaW5kaXJ9Ci1ta2RpciAtcCAke1JQ TV9CVUlMRF9ST09UfSV7X21hbmRpcn0vbWFuezEsOH0KLW1rZGlyIC1wICR7UlBNX0JVSUxEX1JP T1R9JXtfdW5pdGRpcn0KLQotbWFrZSBJTlNUQUxMUk9PVD0ke1JQTV9CVUlMRF9ST09UfSBpbnN0 YWxsCi1tYWtlIElOU1RBTExST09UPSR7UlBNX0JVSUxEX1JPT1R9IGluc3RhbGwgLUMgcnBjLnJz dGF0ZAotCi1pbnN0YWxsIC1tIDA2NDQgJVNPVVJDRTEgJHtSUE1fQlVJTERfUk9PVH0le191bml0 ZGlyfS9ydXNlcnNkLnNlcnZpY2UKLWluc3RhbGwgLW0gMDY0NCAlU09VUkNFMyAke1JQTV9CVUlM RF9ST09UfSV7X3VuaXRkaXJ9L3JzdGF0ZC5zZXJ2aWNlCi0KLSVwb3N0IHNlcnZlcgotJXN5c3Rl bWRfcG9zdCByc3RhdGQuc2VydmljZQotJXN5c3RlbWRfcG9zdCBydXNlcnNkLnNlcnZpY2UKLQot JXByZXVuIHNlcnZlcgotJXN5c3RlbWRfcHJldW4gcnN0YXRkLnNlcnZpY2UKLSVzeXN0ZW1kX3By ZXVuIHJ1c2Vyc2Quc2VydmljZQotCi0lcG9zdHVuIHNlcnZlcgotJXN5c3RlbWRfcG9zdHVuX3dp dGhfcmVzdGFydCByc3RhdGQuc2VydmljZQotJXN5c3RlbWRfcG9zdHVuX3dpdGhfcmVzdGFydCBy dXNlcnNkLnNlcnZpY2UKLQotJWZpbGVzCi0lZG9jIFJFQURNRSBDT1BZSU5HCi0le19iaW5kaXJ9 L3J1cAotJXtfYmluZGlyfS9ydXNlcnMKLSV7X21hbmRpcn0vbWFuMS8qCi0KLSVmaWxlcyBzZXJ2 ZXIKLSVkb2MgQ09QWUlORwotJXtfbWFuZGlyfS9tYW44LyoKLSV7X3NiaW5kaXJ9L3JwYy5yc3Rh dGQKLSV7X3NiaW5kaXJ9L3JwYy5ydXNlcnNkCi0le191bml0ZGlyfS9ydXNlcnNkLnNlcnZpY2UK LSV7X3VuaXRkaXJ9L3JzdGF0ZC5zZXJ2aWNlCi0KLSVjaGFuZ2Vsb2cKLSogU2F0IEphbiAxNyAy MDI2IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+ IC0gMC4xNy0xMTAKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtp L0ZlZG9yYV80NF9NYXNzX1JlYnVpbGQKLQotKiBGcmkgSnVsIDI1IDIwMjUgRmVkb3JhIFJlbGVh c2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjE3LTEwOQotLSBS ZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQzX01hc3Nf UmVidWlsZAotCi0qIFN1biBKYW4gMTkgMjAyNSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8 cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDAuMTctMTA4Ci0tIFJlYnVpbHQgZm9yIGh0dHBz Oi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDJfTWFzc19SZWJ1aWxkCi0KLSogV2Vk IFNlcCAwNCAyMDI0IE1pcm9zbGF2IFN1Y2jDvSA8bXN1Y2h5QHJlZGhhdC5jb20+IC0gMC4xNy0x MDcKLS0gY29udmVydCBsaWNlbnNlIHRvIFNQRFgKLQotKiBGcmkgSnVsIDE5IDIwMjQgRmVkb3Jh IFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjE3LTEw NgotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQx X01hc3NfUmVidWlsZAotCi0qIE1vbiBGZWIgMTIgMjAyNCBQZXRyIEt1YmF0IDxwa3ViYXRAcmVk aGF0LmNvbT4gLSAwLjE3LTEwNQotLSBmaXggaW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXMgKCMy MjYxNjY5KQotLSBtb3ZlIHRvIG5ldyBwYXRjaCBhcHBseSBub3RhdGlvbgotCi0qIEZyaSBKYW4g MjYgMjAyNCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qu b3JnPiAtIDAuMTctMTA0Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcv d2lraS9GZWRvcmFfNDBfTWFzc19SZWJ1aWxkCi0KLSogRnJpIEp1bCAyMSAyMDIzIEZlZG9yYSBS ZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC4xNy0xMDMK LS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8zOV9N YXNzX1JlYnVpbGQKLQotKiBGcmkgSmFuIDIwIDIwMjMgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJp bmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjE3LTEwMgotLSBSZWJ1aWx0IGZvciBo dHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzM4X01hc3NfUmVidWlsZAotCi0q IFNhdCBKdWwgMjMgMjAyMiBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9y YXByb2plY3Qub3JnPiAtIDAuMTctMTAxCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJv amVjdC5vcmcvd2lraS9GZWRvcmFfMzdfTWFzc19SZWJ1aWxkCi0KLSogRnJpIEphbiAyMSAyMDIy IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0g MC4xNy0xMDAKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0Zl ZG9yYV8zNl9NYXNzX1JlYnVpbGQKLQotKiBGcmkgSnVsIDIzIDIwMjEgRmVkb3JhIFJlbGVhc2Ug RW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjE3LTk5Ci0tIFJlYnVp bHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzVfTWFzc19SZWJ1 aWxkCi0KLSogVHVlIE1hciAwMiAyMDIxIFpiaWduaWV3IErEmWRyemVqZXdza2ktU3ptZWsgPHpi eXN6ZWtAaW4ud2F3LnBsPiAtIDAuMTctOTgKLS0gUmVidWlsdCBmb3IgdXBkYXRlZCBzeXN0ZW1k LXJwbS1tYWNyb3MKLSAgU2VlIGh0dHBzOi8vcGFndXJlLmlvL2Zlc2NvL2lzc3VlLzI1ODMuCi0K LSogV2VkIEphbiAyNyAyMDIxIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVk b3JhcHJvamVjdC5vcmc+IC0gMC4xNy05NwotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXBy b2plY3Qub3JnL3dpa2kvRmVkb3JhXzM0X01hc3NfUmVidWlsZAotCi0qIFdlZCBKdWwgMjkgMjAy MCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAt IDAuMTctOTYKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0Zl ZG9yYV8zM19NYXNzX1JlYnVpbGQKLQotKiBUaHUgSmFuIDMwIDIwMjAgRmVkb3JhIFJlbGVhc2Ug RW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjE3LTk1Ci0tIFJlYnVp bHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzJfTWFzc19SZWJ1 aWxkCi0KLSogRnJpIEp1bCAyNiAyMDE5IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxl bmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC4xNy05NAotLSBSZWJ1aWx0IGZvciBodHRwczovL2Zl ZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzMxX01hc3NfUmVidWlsZAotCi0qIFNhdCBGZWIg MDIgMjAxOSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qu b3JnPiAtIDAuMTctOTMKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93 aWtpL0ZlZG9yYV8zMF9NYXNzX1JlYnVpbGQKLQotKiBUdWUgSnVsIDI0IDIwMTggUGV0ciBLdWJh dCA8cGt1YmF0QHJlZGhhdC5jb20+IC0gMC4xNy05MgotLSBBZGQgQnVpbGRSZXF1aXJlcyBmb3Ig Z2NjICgjMTYwNjI4MikKLQotKiBTYXQgSnVsIDE0IDIwMTggRmVkb3JhIFJlbGVhc2UgRW5naW5l ZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjE3LTkxCi0tIFJlYnVpbHQgZm9y IGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMjlfTWFzc19SZWJ1aWxkCi0K LSogVGh1IE1hciAyOSAyMDE4IFBldHIgS3ViYXQgPHBrdWJhdEByZWRoYXQuY29tPiAtIDAuMTct OTAKLS0gUmVtb3ZlIGV4cGxpY2l0IHJlcXVpcmVzCi0KLSogVGh1IE1hciAxNSAyMDE4IFBldHIg S3ViYXQgPHBrdWJhdEByZWRoYXQuY29tPiAtIDAuMTctODkKLS0gQWRkIGRlcGVuZGVuY2llcyBv biBsaWJ0aXJwYywgcnBjc3ZjLXByb3RvLWRldmVsIGFuZCBycGNnZW4gKCMxNTU2NDIzKQotICBS ZWxhdGVkIHRvOiBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvQ2hhbmdlcy9TdW5SUENS ZW1vdmFsCi0KLSogRnJpIEZlYiAwOSAyMDE4IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxy ZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC4xNy04OAotLSBSZWJ1aWx0IGZvciBodHRwczov L2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzI4X01hc3NfUmVidWlsZAotCi0qIFRodSBB dWcgMDMgMjAxNyBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2pl Y3Qub3JnPiAtIDAuMTctODcKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9y Zy93aWtpL0ZlZG9yYV8yN19CaW51dGlsc19NYXNzX1JlYnVpbGQKLQotKiBUaHUgSnVsIDI3IDIw MTcgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4g LSAwLjE3LTg2Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9G ZWRvcmFfMjdfTWFzc19SZWJ1aWxkCi0KLSogVHVlIEZlYiAyMSAyMDE3IFBldHIgS3ViYXQgPHBr dWJhdEByZWRoYXQuY29tPiAtIDAuMTctODUKLS0gUmVtb3ZlIGV4ZWN1dGUgcGVybWlzc2lvbnMg ZnJvbSAqLnNlcnZpY2UgZmlsZXMgKCMxNDIyMDIyKQotLSBBZGQgQlNEIGxpY2Vuc2UgdGV4dCAo IzE0MTg2ODYpCi0KLSogU2F0IEZlYiAxMSAyMDE3IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5n IDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC4xNy04NAotLSBSZWJ1aWx0IGZvciBodHRw czovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzI2X01hc3NfUmVidWlsZAotCi0qIFdl ZCBEZWMgMTQgMjAxNiBQZXRyIEt1YmF0IDxwa3ViYXRAcmVkaGF0LmNvbT4gLSAwLjE3LTgzCi0t IFJlbW92ZSBtZW50aW9uIG9mICdycGMuc3RhdGQnIGZyb20gcnN0YXRkIG1hbiBwYWdlICgjMTM3 NDQzNikKLS0gVXBkYXRlIHVwc3RyZWFtIHNvdXJjZSBVUkwKLQotKiBUaHUgRmViIDA0IDIwMTYg RmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAw LjE3LTgyCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRv cmFfMjRfTWFzc19SZWJ1aWxkCi0KLSogRnJpIEp1biAxOSAyMDE1IEZlZG9yYSBSZWxlYXNlIEVu Z2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qub3JnPiAtIDAuMTctODEKLS0g UmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8yM19NYXNz X1JlYnVpbGQKLQotKiBNb24gQXVnIDE4IDIwMTQgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcg PHJlbC1lbmdAbGlzdHMuZmVkb3JhcHJvamVjdC5vcmc+IC0gMC4xNy04MAotLSBSZWJ1aWx0IGZv ciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzIxXzIyX01hc3NfUmVidWls ZAotCi0qIE1vbiBBdWcgMTEgMjAxNCBKYWt1YiBEb3LFiMOhayA8amRvcm5ha0ByZWRoYXQuY29t PiAtIDAuMTctNzkKLS0gdXNlIGxpYnN5c3RlbWQuc28gaW5zdGVhZCBvZiB0aGUgb2xkIGxpYnN5 c3RlbWQtZGFlbW9uLnNvCi0gIFJlc29sdmVzOiAjMTEyNTA5MAotCi0qIFN1biBKdW4gMDggMjAx NCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsLWVuZ0BsaXN0cy5mZWRvcmFwcm9qZWN0 Lm9yZz4gLSAwLjE3LTc4Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcv d2lraS9GZWRvcmFfMjFfTWFzc19SZWJ1aWxkCi0KLSogRnJpIEp1bCAyNiAyMDEzIEhvbnphIEhv cmFrIDxoaG9yYWtAcmVkaGF0LmNvbT4gLSAwLjE3LTc3Ci0tIEZyZWUgYWxyZWFkeSBhbG9jYXRl ZCBtZW1vcnkgd2hlbiBwYXJzaW5nIG9mIFJQQyByZXF1ZXN0IGZhaWxlZAotLSBSZXF1aXJlIHN5 c3RlbWQgaW5zdGVhZCBvZiBzeXN0ZW1kLXVuaXRzCi0tIFJlbW92ZSBTeXNWIGluaXQgY29udmVy dGluZwotCi0qIEZyaSBNYXkgMjQgMjAxMyBIb256YSBIb3JhayA8aGhvcmFrQHJlZGhhdC5jb20+ IC0gMC4xNy03NgotLSBSZW1vdmUgc3lzbG9nLnRhcmdldCBmcm9tIHVuaXQgcmVxdWlyZXMKLSAg UmVzb2x2ZXM6ICM5NjYwMDkKLQotKiBNb24gTWF5IDIwIDIwMTMgSG9uemEgSG9yYWsgPGhob3Jh a0ByZWRoYXQuY29tPiAtIDAuMTctNzUKLS0gRml4IG1hbiBwYWdlIHZzLiBoZWxwIGRpZmZlcmVu Y2VzCi0KLSogVGh1IEZlYiAxNCAyMDEzIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWwt ZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qub3JnPiAtIDAuMTctNzQKLS0gUmVidWlsdCBmb3IgaHR0 cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8xOV9NYXNzX1JlYnVpbGQKLQotKiBG cmkgTm92IDMwIDIwMTIgSG9uemEgSG9yYWsgPGhob3Jha0ByZWRoYXQuY29tPiAtIDAuMTctNzMK LS0gQnVpbGQgZGFlbW9ucyB3aXRoIGZ1bGwgcmVscm8KLQotKiBGcmkgT2N0IDA1IDIwMTIgSG9u emEgSG9yYWsgPGhob3Jha0ByZWRoYXQuY29tPiAtIDAuMTctNzIKLS0gUmVtb3ZlIHNkbm90aWZ5 IG1lc3NhZ2UsIHdoaWxlIGl0IGRvZXNuJ3Qgd29yayB3aXRoIGZvcmtpbmcgc2VydmljZQotCi0q IFRodSBPY3QgMDQgMjAxMiBIb256YSBIb3JhayA8aGhvcmFrQHJlZGhhdC5jb20+IC0gMC4xNy03 MQotLSBSdW4gJSV0cmlnZ2VydW4gcmVnYXJkbGVzcyBvZiBzeXN0ZW1kX3Bvc3QgdmFyaWFibGUg ZGVmaW5pdGlvbgotCi0qIFR1ZSBTZXAgMTEgMjAxMiBIb256YSBIb3JhayA8aGhvcmFrQHJlZGhh dC5jb20+IC0gMC4xNy03MAotLSBNaW5vciBzcGVjIGZpbGUgY2hhbmdlcwotLSBVc2UgbmV3IHN5 c3RlbWQgbWFjcm9zIChSZXNvbHZlczogIzg1MDMwMikKLS0gVXNlIHN5c3RlbWQgbm90aWZ5IG1l c3NhZ2VzCi0KLSogU2F0IEp1bCAyMSAyMDEyIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxy ZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qub3JnPiAtIDAuMTctNjkKLS0gUmVidWlsdCBmb3Ig aHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8xOF9NYXNzX1JlYnVpbGQKLQot KiBUaHUgTWFyIDIyIDIwMTIgSG9uemEgSG9yYWsgPGhob3Jha0ByZWRoYXQuY29tPiAtIDAuMTct NjgKLS0gcmVtb3ZlZCBQSURGaWxlIGluIGJvdGggc2VydmljZSBmaWxlcwotICBSZXNvbHZlczog IzgwNDg5MQotCi0qIFNhdCBKYW4gMTQgMjAxMiBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8 cmVsLWVuZ0BsaXN0cy5mZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjE3LTY3Ci0tIFJlYnVpbHQgZm9y IGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMTdfTWFzc19SZWJ1aWxkCi0K LSogVHVlIEF1ZyAwMiAyMDExIEhvbnphIEhvcmFrIDxoaG9yYWtAcmVkaGF0LmNvbT4gLSAwLjE3 LTY2Ci0tIGFkZGVkIHJwY2JpbmQgb3JkZXJpbmcgZGVwZW5kZW5jaWVzIGluIHNlcnZpY2UgZmls ZXMKLS0gZml4ZWQgc3lzdGVtZCByZWxhdGVkIG1pc3Rha2VzIGluIHNwZWMgZmlsZQotCi0qIFR1 ZSBBdWcgMDIgMjAxMSBIb256YSBIb3JhayA8aGhvcmFrQHJlZGhhdC5jb20+IC0gMC4xNy02NQot LSBhZGRlZCBycGNiaW5kIHJlcXVpcm1lbnRzIHRvIHNlcnZpY2UgZmlsZXMKLQotKiBUdWUgQXVn IDAyIDIwMTEgSG9uemEgSG9yYWsgPGhob3Jha0ByZWRoYXQuY29tPiAtIDAuMTctNjQKLS0gcHJv dmlkZSBzeXN0ZW1kIG5hdGl2ZSB1bml0IGZpbGVzCi0gIFJlc29sdmVzOiAjNzIyNjMyCi0KLSog VHVlIEF1ZyAwMiAyMDExIEhvbnphIEhvcmFrIDxoaG9yYWtAcmVkaGF0LmNvbT4gLSAwLjE3LTYz Ci0tIGFkZGVkIHJwY2JpbmQgaW50byBMU0IgaGVhZGVyCi0gIFJlc29sdmVzOiAjNjk3ODYyCi0K LSogVGh1IEZlYiAyNCAyMDExIEhvbnphIEhvcmFrIDxoaG9yYWtAcmVkaGF0LmNvbT4gLSAwLjE3 LTYyCi0tIGZpeGVkIHJwbWxpbnQgZXJyb3JzCi0tIFJlc29sdmVzOiAjNjM0OTIyCi0KLSogV2Vk IEZlYiAwOSAyMDExIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZl ZG9yYXByb2plY3Qub3JnPiAtIDAuMTctNjEKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFw cm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8xNV9NYXNzX1JlYnVpbGQKLQotKiBUaHUgQXVnIDI2IDIw MTAgVG9tICJzcG90IiBDYWxsYXdheSA8dGNhbGxhd2FAcmVkaGF0LmNvbT4gLSAwLjE3LTYwCi0t IHJlcGxhY2UgU3VuUlBDIGxpY2Vuc2Ugd2l0aCBCU0QgKHRoYW5rcyB0byBPcmFjbGUpCi0KLSog RnJpIEZlYiAyNiAyMDEwIEppcmkgTW9za292Y2FrIDxqbW9za292Y0ByZWRoYXQuY29tPiAtIDAu MTctNTkKLS0gYWRkZWQgUkVBRE1FCi0KLSogV2VkIEZlYiAyNCAyMDEwIEppcmkgTW9za292Y2Fr IDxqbW9za292Y0ByZWRoYXQuY29tPiAtIDAuMTctNTgKLS0gZml4ZWQgcnVzZXJzZCBpbml0c2Ny aXB0Ci0tIGZpeGVkIHJzdGF0ZCBpbml0c2NyaXB0Ci0tIFJlc29sdmVzOiAjNTIzMzY4LCAjNTIz MzY2Ci0KLSogRnJpIEphbiAgOCAyMDEwIEppcmkgTW9za292Y2FrIDxqbW9za292Y0ByZWRoYXQu Y29tPiAtIDAuMTctNTcKLS0gZml4ZWQgcnBtbGludCB3YXJuaW5ncwotCi0qIFN1biBKdWwgMjYg MjAwOSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsLWVuZ0BsaXN0cy5mZWRvcmFwcm9q ZWN0Lm9yZz4gLSAwLjE3LTU2Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5v cmcvd2lraS9GZWRvcmFfMTJfTWFzc19SZWJ1aWxkCi0KLSogV2VkIEZlYiAyNSAyMDA5IEZlZG9y YSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qub3JnPiAt IDAuMTctNTUKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0Zl ZG9yYV8xMV9NYXNzX1JlYnVpbGQKLQotKiBUaHUgU2VwICA0IDIwMDggSmlyaSBNb3Nrb3ZjYWsg PGptb3Nrb3ZjQHJlZGhhdC5jb20+IC0gMC4xNy01NAotLSBtb2RpZmllZCB0cnVuY2F0ZSBwYXRj aCB0byB3b3JrIHdpdGggZnV6ej0wCi0KLSogVHVlIEZlYiAxOSAyMDA4IEZlZG9yYSBSZWxlYXNl IEVuZ2luZWVyaW5nIDxyZWwtZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDAuMTctNTMKLS0gQXV0 b3JlYnVpbGQgZm9yIEdDQyA0LjMKLQotKiBUdWUgU2VwIDE4IDIwMDcgSmlyaSBNb3Nrb3ZjYWsg PGptb3Nrb3ZjQHJlZGhhdC5jb20+IDAuMTctNTIKLS0gRml4ZWQgaW5pdCBzY3JpcHQgdG8gd29y ayBwcm9wZXJseSB3aXRoIHJwY2JpbmQKLQotKiBTYXQgU2VwIDE1IDIwMDcgU3RldmUgRGlja3Nv biA8c3RldmVkQHJlZGFodC5jb20+IDAuMTctNTEKLS0gUmVtb3ZlZCBwb3J0bWFwIGRlcGVuZGVu Y3kgYW5kIHJlLXdvcmtlZCB3aGVuIHRoZSB1c2VyCi0gIHByaXZpbGVnZSBhcmUgZHJvcDsgYWxs b3dpbmcgcG9ydCByZWdpc3RyYXRpb24gd2l0aAotICBycGNiaW5kLiAoIzI0Nzk4NSkKLQotKiBX ZWQgQXVnIDI5IDIwMDcgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbC1lbmcgYXQgZmVk b3JhcHJvamVjdCBkb3Qgb3JnPiAtIDAuMTctNTAKLS0gUmVidWlsZCBmb3Igc2VsaW51eCBwcGMz MiBpc3N1ZS4KLQotKiBXZWQgSnVsIDI1IDIwMDcgSmVyZW15IEthdHogPGthdHpqQHJlZGhhdC5j b20+IC0gMC4xNy00OQotLSByZWJ1aWxkIGZvciB0b29sY2hhaW4gYnVnCi0KLSogTW9uIEp1bCAy MyAyMDA3IEppcmkgTW9za292Y2FrIDxqbW9za292Y0ByZWRoYXQuY29tPiAwLjE3LTQ4Ci0tIEZp eGVkIGluaXQgc2NyaXB0cyB0byBjb21wbHkgd2l0aCBMU0Igc3RhbmRhcmQKLS0gUmVzb2x2ZXM6 ICMyNDcwNDcKLQotKiBXZWQgQXVnIDA5IDIwMDYgUGhpbCBLbmlyc2NoIDxwa25pcnNjaEByZWRo YXQuY29tPiAwLjE3LTQ3Ci0tIE1vZGlmaWVkIHRoZSBSSEVMMyBwcm9jcGFydGl0aW9ucyBwYXRj aCB0byB3b3JrIG9uIHJlY2VudCAyLjYga2VybmVscyAoIzIwMTgzOSkKLQotKiBXZWQgSnVsIDEy IDIwMDYgSmVzc2UgS2VhdGluZyA8amtlYXRpbmdAcmVkaGF0LmNvbT4gLSAwLjE3LTQ2LjEKLS0g cmVidWlsZAotCi0qIFR1ZSBNYXIgMjEgMjAwNiBQaGlsIEtuaXJzY2ggPHBrbmlyc2NoQHJlZGhh dC5jb20+IC0gMC4xNy00NgotLSBJbmNsdWRlZCBmaXggZm9yIGNvcnJlY3QgcmV0dXJuIHZhbHVl cyBmb3IgcnVwICgjMTc3NDE5KQotCi0qIEZyaSBGZWIgMTAgMjAwNiBKZXNzZSBLZWF0aW5nIDxq a2VhdGluZ0ByZWRoYXQuY29tPiAtIDAuMTctNDUuMi4xCi0tIGJ1bXAgYWdhaW4gZm9yIGRvdWJs ZS1sb25nIGJ1ZyBvbiBwcGMoNjQpCi0KLSogVHVlIEZlYiAwNyAyMDA2IEplc3NlIEtlYXRpbmcg PGprZWF0aW5nQHJlZGhhdC5jb20+IC0gMC4xNy00NS4yCi0tIHJlYnVpbHQgZm9yIG5ldyBnY2M0 LjEgc25hcHNob3QgYW5kIGdsaWJjIGNoYW5nZXMKLQotKiBGcmkgRGVjIDA5IDIwMDUgSmVzc2Ug S2VhdGluZyA8amtlYXRpbmdAcmVkaGF0LmNvbT4KLS0gcmVidWlsdAotCi0qIFdlZCBTZXAgMDcg MjAwNSBQaGlsIEtuaXJzY2ggPHBrbmlyc2NoQHJlZGhhdC5jb20+IDAuMTctNDUKLS0gRml4ZWQg NjRiaXQgYmlnZW5kaWFuIHByb2JsZW0gaW4gcnBjLnJzdGF0ZCAoIzEzMDI4NikKLQotKiBXZWQg TWF5IDA0IDIwMDUgUGhpbCBLbmlyc2NoIDxwa25pcnNjaEByZWRoYXQuY29tPiAwLjE3LTQ0Ci0t IEZpeGVkIHJ1cCBzdGFjayBwcm9ibGVtICgjMTU0Mzk2KQotCi0qIFdlZCBNYXIgMDIgMjAwNSBQ aGlsIEtuaXJzY2ggPHBrbmlyc2NoQHJlZGhhdC5jb20+IDAuMTctNDMKLS0gYnVtcCByZWxlYXNl IGFuZCByZWJ1aWxkIHdpdGggZ2NjIDQKLQotKiBGcmkgRmViIDE4IDIwMDUgUGhpbCBLbmlyc2No IDxwa25pcnNjaEByZWRoYXQuY29tPiAwLjE3LTQyCi0tIHJlYnVpbHQKLQotKiBNb24gSnVsIDEy IDIwMDQgUGhpbCBLbmlyc2NoIDxwa25pcnNjaEByZWRoYXQuY29tPiAwLjE3LTQxCi0tIEJ1bXAg cmVsZWFzZS4KLQotKiBNb24gSnVsIDEyIDIwMDQgUGhpbCBLbmlyc2NoIDxwa25pcnNjaEByZWRo YXQuY29tPiAwLjE3LTQwCi0tIE1hZGUgcGF0Y2ggdG8gbWFrZSBycGMucnN0YXRkIGluZGVwZW5k YW50IG9mIHByb2NwcyAoIzEyNzUxMikKLQotKiBUdWUgSnVuIDI5IDIwMDQgUGhpbCBLbmlyc2No IDxwa25pcnNjaEByZWRoYXQuY29tPiAwLjE3LTM5Ci0tIEFkZGVkIGxpYnNlbGludXgtZGV2ZWwg QnVpbGRQcmVxcmVxICgjMTI0MjgzKS4KLQotKiBUdWUgSnVuIDE1IDIwMDQgRWxsaW90IExlZSA8 c29wd2l0aEByZWRoYXQuY29tPgotLSByZWJ1aWx0Ci0KLSogV2VkIEZlYiAyNSAyMDA0IFBoaWwg S25pcnNjaCA8cGtuaXJzY2hAcmVkaGF0LmNvbT4gMC4xNy0zNwotLSByZWJ1aWx0IGFnYWluc3Qg bGF0ZXN0IHByb2NwcyBsaWIuCi0tIGJ1aWx0IHN0dWZmIHdpdGggUElFIGVuYWJsZWQuCi0KLSog RnJpIEZlYiAxMyAyMDA0IEVsbGlvdCBMZWUgPHNvcHdpdGhAcmVkaGF0LmNvbT4KLS0gcmVidWls dAotCi0qIEZyaSBKYW4gMjMgMjAwNCBCaWxsIE5vdHRpbmdoYW0gPG5vdHRpbmdAcmVkaGF0LmNv bT4gMC4xNy0zNQotLSByZWJ1aWxkIGFnYWluc3QgbmV3IGxpYnByb2MKLS0gc2VsaW51eCBpcyB0 aGUgZGVmYXVsdCwgcmVtb3ZlIHRoZSByZWxlYXNlIHN1ZmZpeAotCi0qIFR1ZSBPY3QgMjEgMjAw MyBEYW4gV2Fsc2ggPGR3YWxzaEByZWRoYXQuY29tPiAwLjE3LTM0LnNlbAotLSByZW1vdmUgLWxh dHRyCi0KLSogVGh1IE9jdCAwOSAyMDAzIERhbiBXYWxzaCA8ZHdhbHNoQHJlZGhhdC5jb20+IDAu MTctMzMuc2VsCi0tIHR1cm4gc2VsaW51eCBvbgotCi0qIEZyaSBPY3QgMDMgMjAwMyBGbG9yaWFu IExhIFJvY2hlIDxGbG9yaWFuLkxhUm9jaGVAcmVkaGF0LmRlPgotLSByZWJ1aWxkCi0KLSogTW9u IFNlcCAwOCAyMDAzIERhbiBXYWxzaCA8ZHdhbHNoQHJlZGhhdC5jb20+IDAuMTctMzEuNAotLSB0 dXJuIHNlbGludXggb2ZmCi0KLSogRnJpIFNlcCAwNSAyMDAzIERhbiBXYWxzaCA8ZHdhbHNoQHJl ZGhhdC5jb20+IDAuMTctMzEuMy5zZWwKLS0gdHVybiBzZWxpbnV4IG9uCi0KLSogTW9uIEp1bCAy OCAyMDAzIERhbiBXYWxzaCA8ZHdhbHNoQHJlZGhhdC5jb20+IDAuMTctMzEuMgotLSBBZGQgU0VM aW51eCBsaWJyYXJ5IHN1cHBvcnQKLQotKiBNb24gSnVsIDE0IDIwMDMgVGltIFBvd2VycyA8dGlt cEByZWRoYXQuY29tPiAwLjE3LTMxLjEKLS0gcmVidWlsdCBmb3IgUkhFTAotCi0qIE1vbiBKdWwg MDcgMjAwMyBFbGxpb3QgTGVlIDxzb3B3aXRoQHJlZGhhdC5jb20+Ci0tIFJlYnVpbGQKLQotKiBX ZWQgSnVuIDA0IDIwMDMgRWxsaW90IExlZSA8c29wd2l0aEByZWRoYXQuY29tPgotLSByZWJ1aWx0 Ci0KLSogRnJpIE1heSAyMyAyMDAzIFRpbSBQb3dlcnMgPHRpbXBAcmVkaGF0LmNvbT4gMC4xNy0y OQotLSByZWJ1aWx0Ci0KLSogV2VkIE1heSAyMSAyMDAzIE1hdHQgV2lsc29uIDxtc3dAcmVkaGF0 LmNvbT4gMC4xNy0yOAotLSByZWJ1aWx0Ci0KLSogV2VkIE1heSAyMSAyMDAzIE1hdHQgV2lsc29u IDxtc3dAcmVkaGF0LmNvbT4gMC4xNy0yNwotLSBhZGRlZCBuZXRraXQtcnVzZXJzLTAuMTctcnVw LXRpbWVvdXQucGF0Y2ggdG8gZml4IGltbWVkaWF0ZSB0aW1lb3V0Ci0gIHByb2JsZW0gaW4gcnVw ICgjOTEzMjIpCi0KLSogV2VkIEphbiAyMiAyMDAzIFRpbSBQb3dlcnMgPHRpbXBAcmVkaGF0LmNv bT4KLS0gcmVidWlsdAotCi0qIFR1ZSBKYW4gMjEgMjAwMyBQaGlsIEtuaXJzY2ggPHBrbmlyc2No QHJlZGhhdC5jb20+IDAuMTctMjQKLS0gQnVtcGVkIHJlbGVhc2UgYW5kIHJlYnVpbHQgZHVlIHRv IG5ldyBwcm9jcHMuCi0KLSogTW9uIERlYyAwMiAyMDAyIEVsbGlvdCBMZWUgPHNvcHdpdGhAcmVk aGF0LmNvbT4gMC4xNy0yMwotLSBGaXggbXVsdGlsaWIKLQotKiBUdWUgTm92ICA1IDIwMDIgTmFs aW4gRGFoeWFiaGFpIDxuYWxpbkByZWRoYXQuY29tPiAwLjE3LTIyCi0tIEJ1bXBlZCByZWxlYXNl IGFuZCByZWJ1aWx0IGR1ZSB0byBwcm9jcHMgdXBkYXRlLgotLSBzL0NvcHlyaWdodC9MaWNlbnNl L2cKLQotKiBUaHUgQXVnIDA4IDIwMDIgUGhpbCBLbmlyc2NoIDxwa25pcnNjaEByZWRoYXQuY29t PiAwLjE3LTIxCi0tIEJ1bXBlZCByZWxlYXNlIGFuZCByZWJ1aWx0IGR1ZSB0byBwcm9jcHMgdXBk YXRlLgotCi0qIFdlZCBKdWwgMTcgMjAwMiBQaGlsIEtuaXJzY2ggPHBrbmlyc2NoQHJlZGhhdC5j b20+IDAuMTctMjAKLS0gRml4ZWQgdGhlIHNvcnQgb3JkZXJpbmcgZm9yIHJ1cCAtbCBob3N0MSBo b3N0MiBob3N0MyAoIzY3NTUxKQotLSBEb24ndCB1c2UgY29uZmlndXJlIGFueW1vcmUsIGRvZXNu J3Qgd29yayBpbiBidWlsZCBlbnZpcm9ubWVudCBjb3JyZWN0bHkuCi0KLSogRnJpIEp1biAyMSAy MDAyIFRpbSBQb3dlcnMgPHRpbXBAcmVkaGF0LmNvbT4gMC4xNy0xOQotLSBhdXRvbWF0ZWQgcmVi dWlsZAotCi0qIFdlZCBKdW4gMTkgMjAwMiBQaGlsIEtuaXJzY2ggPHBrbmlyc2NoQHJlZGhhdC5j b20+IDAuMTctMTgKLS0gQWN0dWFsbHkgYXBwbGllZCBNYXR0J3MgcGF0Y2ggOy0pCi0tIERvbid0 IGZvcmNpYmx5IHN0cmlwIGJpbmFyaWVzCi0KLSogTW9uIEp1biAxMCAyMDAyIE1hdHQgV2lsc29u IDxtc3dAcmVkaGF0LmNvbT4KLS0gZml4ZWQgc3RhdGljIGJ1ZmZlciBzaXplIHdoaWNoIHRydW5j YXRlZCAvcHJvYy9zdGF0IHdoZW4gaXQgd2FzIG1vcmUKLSAgdGhhbiAxMDI0IGJ5dGVzICgjNjQ5 MzUpCi0KLSogVHVlIEp1biAwNCAyMDAyIFBoaWwgS25pcnNjaCA8cGtuaXJzY2hAcmVkaGF0LmNv bT4KLS0gYnVtcGVkIHJlbGVhc2UgbnVtYmVyIGFuZCByZWJ1aWxkCi0KLSogVGh1IE1heSAyMyAy MDAyIFRpbSBQb3dlcnMgPHRpbXBAcmVkaGF0LmNvbT4KLS0gYXV0b21hdGVkIHJlYnVpbGQKLQot KiBXZWQgSmFuIDIzIDIwMDIgUGhpbCBLbmlyc2NoIDxwa25pcnNjaEByZWRoYXQuY29tPgotLSBG aXhlZCB0aGUgd3JvbmcgdXB0aW1lIHByb2JsZW0gaW50cm9kdWNlZCBieSBmaXhpbmcgYnVnICM1 MzI0NC4KLS0gRml4ZWQgc2VnZmF1bHQgcHJvYmxlbSBvbiBhbHBoYSAoYW5kIG90aGVyIGFyY2hz KSAoYnVnICM1MzMwOSkuCi0KLSogVGh1IEphbiAxNyAyMDAyIFBoaWwgS25pcnNjaCA8cGtuaXJz Y2hAcmVkaGF0LmNvbT4KLS0gRml4ZWQgYnVnICMxNzA2NSB3aGVyZSBydXNlcnNkIHdyb25nbHkg dGVybWluYXRlZCBlYWNoIHN0cmluZyB3aXRoIGEgJ1wwJy4KLS0gRml4ZWQgYnVnICM1MzI0NC4g Tm93IHN0YXRzIGZvciB0aGUgZGlmZmVyZW50IHByb3RvY29scyBhcmUgc3RvcmVkIHNlcGFyYXRl bHkuCi0KLSogV2VkIEphbiAwOSAyMDAyIFRpbSBQb3dlcnMgPHRpbXBAcmVkaGF0LmNvbT4KLS0g YXV0b21hdGVkIHJlYnVpbGQKLQotKiBXZWQgSnVsIDI1IDIwMDEgUGhpbCBLbmlyc2NoIDxwa25p cnNjaEByZWRoYXQuZGU+Ci0tIEZpeGVkIG1pc3NpbmcgaW5jbHVkZXMgZm9yIHRpbWUuaCBhbmQg c2V2ZXJhbCBvdGhlcnMgKCM0OTg4NykKLQotKiBXZWQgSnVuIDI3IDIwMDEgUGhpbGlwcCBLbmly c2NoIDxwa25pcnNjaEByZWRoYXQuZGU+Ci0tIEZpeGVkIHJzdGF0ZC5pbml0IHNjcmlwdCB0byB1 c2UgJDAgaW4gdXNhZ2Ugc3RyaW5nICgjMjY1NTMpCi0KLSogV2VkIEFwciAgNCAyMDAxIEpha3Vi IEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+Ci0tIGRvbid0IGxldCBjb25maWd1cmUgdG8gZ3Vl c3MgY29tcGlsZXIsIGl0IGNhbiBwaWNrIHVwIGVnY3MKLQotKiBXZWQgRmViIDE0IDIwMDEgTmFs aW4gRGFoeWFiaGFpIDxuYWxpbkByZWRoYXQuY29tPgotLSBtZXJnZSBpbiBCb2IgTWF0dGhld3Mn IHBhdGNoLCB3aGljaCBzb2x2ZXMgb3RoZXIgcGFydHMgb24gMi40ICgjMjY0NDcpCi0KLSogVHVl IEZlYiAgNiAyMDAxIE5hbGluIERhaHlhYmhhaSA8bmFsaW5AcmVkaGF0LmNvbT4KLS0gZG9uJ3Qg ZGllIGlmIC9wcm9jL3N0YXQgbG9va3MgYSBsaXR0bGUgb2RkICgjMjU1MTkpCi0KLSogTW9uIEZl YiAgNSAyMDAxIEJlcm5oYXJkIFJvc2Vua3JhZW56ZXIgPGJlcm9AcmVkaGF0LmNvbT4KLS0gaTE4 bml6ZSByc3RhdGQgaW5pdCBzY3JpcHQKLQotKiBXZWQgSmFuIDI0IDIwMDEgTmFsaW4gRGFoeWFi aGFpIDxuYWxpbkByZWRoYXQuY29tPgotLSBnZXR0ZXh0aXplIGluaXQgc2NyaXB0Ci0KLSogU2F0 IEF1ZyAwNSAyMDAwIEJpbGwgTm90dGluZ2hhbSA8bm90dGluZ0ByZWRoYXQuY29tPgotLSBjb25k cmVzdGFydCBmaXhlcwotCi0qIFRodSBKdWwgMjAgMjAwMCBCaWxsIE5vdHRpbmdoYW0gPG5vdHRp bmdAcmVkaGF0LmNvbT4KLS0gbW92ZSBpbml0c2NyaXB0IGJhY2sKLQotKiBTdW4gSnVsIDE2IDIw MDAgTWF0dCBXaWxzb24gPG1zd0ByZWRoYXQuY29tPgotLSByZWJ1aWx0IGFnYWluc3QgbmV3IHBy b2NwcwotCi0qIFdlZCBKdWwgMTIgMjAwMCBQcm9zcGVjdG9yIDxidWd6aWxsYUByZWRoYXQuY29t PgotLSBhdXRvbWF0aWMgcmVidWlsZAotCi0qIE1vbiBKdWwgMTAgMjAwMCBQcmVzdG9uIEJyb3du IDxwYnJvd25AcmVkaGF0LmNvbT4KLS0gbW92ZSBpbml0c2NyaXB0cwotCi0qIFN1biBKdW4gMTgg MjAwMCBKZWZmIEpvaG5zb24gPGpiakByZWRoYXQuY29tPgotLSBGSFMgcGFja2FnaW5nLgotLSB1 cGRhdGUgdG8gMC4xNy4KLQotKiBXZWQgRmViICA5IDIwMDAgSmVmZiBKb2huc29uIDxqYmpAcmVk aGF0LmNvbT4KLS0gY29tcHJlc3MgbWFuIHBhZ2VzIChhZ2FpbikuCi0KLSogV2VkIEZlYiAwMiAy MDAwIENyaXN0aWFuIEdhZnRvbiA8Z2FmdG9uQHJlZGhhdC5jb20+Ci0tIGZpeCBkZXNjcmlwdGlv biBhbmQgc3VtbWFyeQotLSBtYW4gcGFnZXMgYXJlIGNvbXByZXNzZWQKLQotKiBUdWUgSmFuICA0 IDIwMDAgQmlsbCBOb3R0aW5naGFtIDxub3R0aW5nQHJlZGhhdC5jb20+Ci0tIHNwbGl0IGNsaWVu dCBhbmQgc2VydmVyCi0KLSogVHVlIERlYyAyMSAxOTk5IEplZmYgSm9obnNvbiA8amJqQHJlZGhh dC5jb20+Ci0tIHVwZGF0ZSB0byAwLjE2LgotCi0qIFdlZCBOb3YgMTAgMTk5OSBCaWxsIE5vdHRp bmdoYW0gPG5vdHRpbmdAcmVkaGF0LmNvbT4KLS0gcmVidWlsZCBhZ2FpbnN0IG5ldyBwcm9jcHMK LQotKiBXZWQgU2VwIDIyIDE5OTkgSmVmZiBKb2huc29uIDxqYmpAcmVkaGF0LmNvbT4KLS0gcnVz ZXJzIGluaXQgc2NyaXB0IHN0YXJ0ZWQgcnN0YXRkLgotCi0qIE1vbiBTZXAgMjAgMTk5OSBKZWZm IEpvaG5zb24gPGpiakByZWRoYXQuY29tPgotLSAocmUtKWluaXRpYWxpemUgbnVtYmVyIG9mIHVz ZXJzICgjNTI0NCkuCi0KLSogRnJpIEF1ZyAyNyAxOTk5IFByZXN0b24gQnJvd24gPHBicm93bkBy ZWRoYXQuY29tPgotLSBpbml0c2NyaXB0cyBjaGVjayBmb3IgcG9ydG1hcHBlciBydW5uaW5nIGJl Zm9yZSBzdGFydGluZyAoIzI2MTUpCi0KLSogRnJpIEF1ZyAyNyAxOTk5IEplZmYgSm9obnNvbiA8 amJqQHJlZGhhdC5jb20+Ci0tIHJldHVybiBtb25pdG9yaW5nIHN0YXRpc3RpY3MgbGlrZSBzb2xh cmlzIGRvZXMgKCM0MjM3KS4KLQotKiBUaHUgQXVnIDI2IDE5OTkgSmVmZiBKb2huc29uIDxqYmpA cmVkaGF0LmNvbT4KLS0gdXBkYXRlIHRvIG5ldGtpdC0wLjE1LgotLSBvbiBzdGFydHVwLCBycGMu cnN0YXRkIG5lZWRzIHRvIHJlYWQgaW5mb3JtYXRpb24gdHdpY2UgKCMzOTk0KS4KLQotKiBNb24g QXVnIDE2IDE5OTkgQmlsbCBOb3R0aW5naGFtIDxub3R0aW5nQHJlZGhhdC5jb20+Ci0tIGluaXRz Y3JpcHQgbXVuZ2luZwotCi0qIFR1ZSBBcHIgIDYgMTk5OSBKZWZmIEpvaG5zb24gPGpiakByZWRo YXQuY29tPgotLSBhZGQgcnBjLnJzdGF0ZCAoIzIwMDApCi0KLSogU3VuIE1hciAyMSAxOTk5IENy aXN0aWFuIEdhZnRvbiA8Z2FmdG9uQHJlZGhhdC5jb20+IAotLSBhdXRvIHJlYnVpbGQgaW4gdGhl IG5ldyBidWlsZCBlbnZpcm9ubWVudCAocmVsZWFzZSAyMikKLQotKiBNb24gTWFyIDE1IDE5OTkg SmVmZiBKb2huc29uIDxqYmpAcmVkaGF0LmNvbT4KLS0gY29tcGlsZSBmb3IgNi4wLgotCi0qIFR1 ZSBNYXkgMDUgMTk5OCBDcmlzdGlhbiBHYWZ0b24gPGdhZnRvbkByZWRoYXQuY29tPgotLSBhZGRl ZCAvZXRjL3JjLmQvaW5pdC5kL2Z1bmN0aW9ucyB0byB0aGUgaW5pdCBzY3JpcHQKLQotKiBUdWUg TWF5IDA1IDE5OTggUHJvc3BlY3RvciBTeXN0ZW0gPGJ1Z3NAcmVkaGF0LmNvbT4KLS0gdHJhbnNs YXRpb25zIG1vZGlmaWVkIGZvciBkZSwgZnIsIHRyCi0KLSogU2F0IE1heSAwMiAxOTk4IENyaXN0 aWFuIEdhZnRvbiA8Z2FmdG9uQHJlZGhhdC5jb20+Ci0tIGVuaGFuY2VkIGluaXRzY3JpcHQKLQot KiBUdWUgT2N0IDIxIDE5OTcgRXJpayBUcm9hbiA8ZXd0QHJlZGhhdC5jb20+Ci0tIGFkZGVkIGlu aXQgc2NyaXB0Ci0tIHVzZXJzIGF0dHIKLS0gc3VwcG9ydHMgY2hrY29uZmlnCi0KLSogVHVlIEp1 bCAxNSAxOTk3IEVyaWsgVHJvYW4gPGV3dEByZWRoYXQuY29tPgotLSBpbml0aWFsIGJ1aWxkCgpk aWZmIC0tZ2l0IGEvcnVzZXJzZC5zZXJ2aWNlIGIvcnVzZXJzZC5zZXJ2aWNlCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA3ZjU1N2ViLi4wMDAwMDAwCi0tLSBhL3J1c2Vyc2Quc2Vydmlj ZQorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLVtVbml0XQotRGVzY3JpcHRpb249UmVt b3RlIE1hY2hpbmUgTG9nZ2VkIEluIFVzZXIgSWRlbnRmaWVyIAotUmVxdWlyZXM9bmV0d29yay50 YXJnZXQgcnBjYmluZC5zZXJ2aWNlCi1BZnRlcj1ycGNiaW5kLnNlcnZpY2UKLQotW1NlcnZpY2Vd Ci1UeXBlPWZvcmtpbmcKLUV4ZWNTdGFydD0vdXNyL3NiaW4vcnBjLnJ1c2Vyc2QKLVN0YW5kYXJk RXJyb3I9c3lzbG9nCi0KLVtJbnN0YWxsXQotV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKLQoK ZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBjYzhlZDRkLi4wMDAwMDAwCi0tLSBhL3NvdXJjZXMKKysrIC9kZXYvbnVsbApAQCAtMSwy ICswLDAgQEAKLWRjOTlhODBiOWZkZTJhYjQyN2M4NzRmODhmMWMxNjAyICBuZXRraXQtcnVzZXJz LTAuMTcudGFyLmd6Ci0xMGM2N2YyMmE5NDgyNmQ2ZWNkZDRiNDFkYjRkOTk0NiAgcnN0YXRkLnRh ci5nego=