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: Alexander Bokovoy To: git-commits@fedoraproject.org Subject: [rpms/freeipa] f43: Update patches for pr8557 and pr8558 Date: Sat, 19 Sep 2026 14:16:06 GMT Message-ID: <178982736642.1.16149908501314383094.rpms-freeipa-8f767c1cc876@fedoraproject.org> List-ID: X-Git-Repo: rpms/freeipa X-Git-Branch: f43 X-Git-Rev: 8f767c1cc876a99946c04e2269b1214890a0562a ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZnJlZWlwYQogICAgICAgICAgICBCcmFuY2ggOiBmNDMKICAgICAgICAgICAg Q29tbWl0IDogOGY3NjdjMWNjODc2YTk5OTQ2YzA0ZTIyNjliMTIxNDg5MGEwNTYyYQogICAgICAg ICAgICBBdXRob3IgOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KICAg ICAgICAgICAgRGF0ZSAgIDogMjAyNi0wOS0xOVQxNzoxMjowMyswMzowMAogICAgICAgICAgICBT dGF0cyAgOiArMTIyNi8tMzMgaW4gMyBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBz Oi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZnJlZWlwYS9jLzhmNzY3YzFjYzg3NmE5OTk0 NmMwNGUyMjY5YjEyMTQ4OTBhMDU2MmE/YnJhbmNoPWY0MwoKICAgICAgICAgICAgTG9nOgogICAg ICAgICAgICBVcGRhdGUgcGF0Y2hlcyBmb3IgcHI4NTU3IGFuZCBwcjg1NTgKClVwZGF0ZSBwcmVs aW1pbmFyeSBwYXRjaGVzIHRvIHRoZSBmaW5hbCB2ZXJzaW9ucyBmb3IKCmh0dHBzOi8vZ2l0aHVi LmNvbS9mcmVlaXBhL2ZyZWVpcGEvcHVsbC84NTU3LnBhdGNoCmh0dHBzOi8vZ2l0aHViLmNvbS9m cmVlaXBhL2ZyZWVpcGEvcHVsbC84NTU4LnBhdGNoCgpTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIg Qm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KCi0tLQpkaWZmIC0tZ2l0IGEvZnJlZWlwYS1w ci04NTU3LnBhdGNoIGIvZnJlZWlwYS1wci04NTU3LnBhdGNoCmluZGV4IGEzMjA4ZDUuLjIxM2Fl MjQgMTAwNjQ0Ci0tLSBhL2ZyZWVpcGEtcHItODU1Ny5wYXRjaAorKysgYi9mcmVlaXBhLXByLTg1 NTcucGF0Y2gKQEAgLTEsMjYgKzEsNDUgQEAKLUZyb20gNDgzZWM2MDNhMDZkMjg0ZmQ1MmVhMjc4 MzBlYTQxMmJiMzc5MTY1ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNThlYTA5ZjQ4 OTQwNmZlYTYyNGQzOTBjZWUzODZkODVhYTY2ZmQ2YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK IEZyb206IEp1bGllbiBSaXNjaGUgPGpyaXNjaGVAcmVkaGF0LmNvbT4KIERhdGU6IE1vbiwgNyBT ZXAgMjAyNiAxMToxNjowOSArMDIwMAotU3ViamVjdDogW1BBVENIIDEvMl0ga2RiOiB1c2UgImlw YU9yaWdpbmFsVWlkIiBhdHRyIGNvbnNpc3RhbnRseSBpbiBQQUMgdHJ1c3QKLSBjaGVjaworU3Vi amVjdDogW1BBVENIXSBrZGI6IHJld29yayBjcm9zcy1yZWFsbSBQQUMgdmFsaWRhdGlvbiBhbmQg SUQgb3ZlcnJpZGUgY2hlY2tzCiAKLWE5ZTNmZTk3MzM2ZmY5NDJlYTIxYWYxM2E4YjhkOWFkZjJh ODlkMzcgYWRkZWQgYSBwcm9jZXNzIHRvIGNyb3NzLWNoZWNrCi1BRCBjbGllbnQgcHJpbmNpcGFs IG5hbWVzIGFnYWluc3QgSUQgb3ZlcnJpZGUgYmFzZWQgb24gU0lELiBCdXQgaXQgdXNlZAotdGhl IFBPU0lYICJ1aWQiIGF0dHJpYnV0ZSBpbnN0ZWFkIG9mIHRoZSAiaXBhT3JpZ2luYWxVaWQiIG9u ZS4KK1RoZSBjcm9zcy1yZWFsbSBQQUMgdmFsaWRhdGlvbiBjb2RlIGhhZCBzZXZlcmFsIGlzc3Vl czoKIAotZjgwZTk2NjdmNmY2ZDQyNmNmY2RiMjg3YzMzOTJlNzFmYmQzZTE0YyBpbnRlbmRlZCB0 byBmaXggdGhpcyBwcm9ibGVtLAotYnV0IG9ubHkgY2hhbmdlZCB0aGUgYXR0cmlidXRlIG5hbWUg dG8gYmUgZXh0cmF0ZWQgZnJvbSB0aGUgZmV0Y2hlZCBJRAotb3ZlcnJpZGUgTERBUCBlbnRyeSwg bm90IHRoZSBzZWFyY2hlZCBhdHRyaWJ1dGUsIHdoaWNoIHJlc3VsdHMgaW4gYQotc3lzdGVtYXRp YyBmYWlsdXJlIGZvciBBRCB1c2Vycy4KK1RoZSBJRCBvdmVycmlkZSBjaGVjayB1c2VkIHRoZSBQ T1NJWCAidWlkIiBhdHRyaWJ1dGUgaW5zdGVhZCBvZgorImlwYU9yaWdpbmFsVWlkIiwgYW5kIGNv bXBhcmVkIGl0IGFnYWluc3QgdGhlIHRpY2tldCBjbmFtZSB3aGljaCBpcwordGhlIHNlcnZpY2Ug cHJpbmNpcGFsIChub3QgdGhlIHVzZXIpIGluIFM0VTJTZWxmIHJlZmVycmFsIFRHVHMuCiAKLVRo ZSBwcmVzZW50IGNvbW1pdCB1c2VzICJpcGFPcmlnaW5hbFVpZCIgZm9yIGJvdGggTERBUCBzZWFy Y2ggYW5kIGVudHJ5Ci1hdHRyaWJ1dGUgcXVlcmllcy4KK1RoZSBQQUMgY3Jvc3MtdmFsaWRhdGlv biBjb21wYXJlZCBjbGllbnRfbmFtZSBkaXJlY3RseSBhZ2FpbnN0CithY2NvdW50X25hbWUgdXNp bmcgY2FzZS1zZW5zaXRpdmUgc3RyY21wLCB3aGljaCBmYWlsZWQgZm9yIFM0VTJTZWxmCityZWZl cnJhbCBUR1RzIHdoZXJlIGNsaWVudF9uYW1lIGlzIHF1YWxpZmllZCAoInVzZXJuYW1lQHVzZXJS ZWFsbSIKK3BlciBNUy1TRlUgMy4yLjUuMS4xKSBhbmQgZm9yIGxlZ2l0aW1hdGUgY2FzZSBkaWZm ZXJlbmNlcy4KKworVGhpcyBjb21taXQgcmV3b3JrcyB0aGUgdmFsaWRhdGlvbiB0byB1c2UgUEFD X0NMSUVOVF9JTkZPIGNsaWVudF9uYW1lCithcyB0aGUgcmVmZXJlbmNlIGZvciBhbGwgbmFtZS1i YXNlZCBjaGVja3MuIE1JVCBrcmI1IHZhbGlkYXRlcworY2xpZW50X25hbWUgYWdhaW5zdCB0aGUg Y29ycmVjdCBub24tUEFDIGlkZW50aXR5IHNvdXJjZSAodGlja2V0IGNuYW1lLAorUEEtRk9SLVVT RVIsIG9yIFBBLVM0VS1YNTA5LVVTRVIpIGJlZm9yZSB0aGUgS0RCIHBsdWdpbiBydW5zLCBtYWtp bmcKK2l0IHRoZSB2YWx1ZSBJUEEgd2lsbCB1c2UgdG8gaWRlbnRpZnkgdGhlIHVzZXIsIGFuZCB0 aGUgdmFsdWUgd2UgbXVzdAorY3Jvc3MtdmFsaWRhdGUgYWdhaW5zdCBjYW5vbmljYWwgUEFDIGF0 dHJpYnV0ZXMgdG8gZGV0ZWN0IGFsaWFzLWJhc2VkCitpZGVudGl0eSBmcmF1ZC4KKworQ29tcGFy aXNvbnMgbm93IGhhbmRsZSB0aGUgcXVhbGlmaWVkICgidXNlckBSRUFMTSIpIGFuZCB1bnF1YWxp ZmllZAorKCJ1c2VyIikgZm9ybXMgb2YgY2xpZW50X25hbWU6IHdoZW4gYm90aCB2YWx1ZXMgYXJl IHF1YWxpZmllZCwgYSBmdWxsCitjb21wYXJpc29uIGluY2x1ZGluZyB0aGUgcmVhbG0gaXMgcGVy Zm9ybWVkOyBvdGhlcndpc2Ugb25seSB0aGUgbmFtZQorcGFydCBpcyBjb21wYXJlZC4KKworVGhl IElEIG92ZXJyaWRlIGNoZWNrIG5vdyBjb21wYXJlcyBpcGFPcmlnaW5hbFVpZCBhZ2FpbnN0IGNs aWVudF9uYW1lCitpbnN0ZWFkIG9mIHRoZSB0aWNrZXQgY25hbWUsIGZpeGluZyBTNFUyU2VsZiBm bG93cy4KKworQWxsIGNvbXBhcmlzb25zIGFyZSBub3cgY2FzZS1pbnNlbnNpdGl2ZSwgYW5kIGFs bCB2YWxpZGF0aW9uIGZhaWx1cmVzCityZXR1cm4gS1JCNUtEQ19FUlJfUE9MSUNZIGFzIG1hbmRh dGVkIGJ5IE1TLVNGVSAzLjIuNS4xLgogCiBTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gUmlzY2hlIDxq cmlzY2hlQHJlZGhhdC5jb20+CitDby1BdXRob3JlZC1CeTogQ2xhdWRlIE9wdXMgNC42ICgxTSBj b250ZXh0KSA8bm9yZXBseUBhbnRocm9waWMuY29tPgogLS0tCi0gZGFlbW9ucy9pcGEta2RiL2lw YV9rZGIuaCAgICAgICAgICAgICB8IDEgKwotIGRhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX21zcGFj X3RydXN0LmMgfCA2ICsrKystLQotIDIgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQorIGRhZW1vbnMvaXBhLWtkYi9pcGFfa2RiLmggICAgICAgICAgICAgICB8 ICAgMSArCisgZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfbXNwYWNfcHJpdmF0ZS5oIHwgICA2ICsK KyBkYWVtb25zL2lwYS1rZGIvaXBhX2tkYl9tc3BhY190cnVzdC5jICAgfCAyODggKysrKysrKysr KysrKystLS0tLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCAxNzYgaW5zZXJ0aW9ucygrKSwgMTE5 IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGIuaCBi L2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiLmgKIGluZGV4IGNiYWM1NGZlY2M5Li4xYzY2NDdiN2Qy NSAxMDA2NDQKQEAgLTM0LDIxICs1Myw0MDkgQEAgaW5kZXggY2JhYzU0ZmVjYzkuLjFjNjY0N2I3 ZDI1IDEwMDY0NAogIAogIC8qIFZpcnR1YWwgbWFuYWdlZCB0aWNrZXQgZmxhZ3MgbGlrZSAiLWFs bG93X3RpeCIsIGFyZSBhbHdheXMgY29udHJvbGxlZCBieSB0aGUKICAgKiAibnNBY2NvdW50TG9j ayIgYXR0cmlidXRlLCBzdWNoIGZsYWdzIHNob3VsZCBuZXZlciBiZSBzZXQgaW4gdGhlIGRhdGFi YXNlLgorZGlmZiAtLWdpdCBhL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX21zcGFjX3ByaXZhdGUu aCBiL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX21zcGFjX3ByaXZhdGUuaAoraW5kZXggYzc2ZmI4 ZTU5Y2IuLmNjZGNkNmM1OWRkIDEwMDY0NAorLS0tIGEvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJf bXNwYWNfcHJpdmF0ZS5oCisrKysgYi9kYWVtb25zL2lwYS1rZGIvaXBhX2tkYl9tc3BhY19wcml2 YXRlLmgKK0BAIC0yMyw2ICsyMywxMiBAQAorIAorICNwcmFnbWEgb25jZQorIAorKy8qIFRoaXMg aXMgdXNlZCBhcyBhIGdsb2JhbCBtYXhpbXVtIGxlbmd0aCBmb3I6CisrICogICB1c2VyUHJpbmNp cGFsTmFtZTogbm8gZXhwbGljaXQgbGltaXQKKysgKiAgIHNhbUFjY291bnROYW1lOiAyMCBmb3Ig YmFja3dhcmQgY29tcGF0aWJpbGl0eSByZWFzb25zCisrICovCisrI2RlZmluZSBNU1BBQ19JRF9O QU1FX01BWF9MRU5HVEggKDIwNDgpCisrCisgc3RydWN0IGlwYWRiX21zcGFjIHsKKyAgICAgY2hh ciAqZmxhdF9kb21haW5fbmFtZTsKKyAgICAgY2hhciAqZmxhdF9zZXJ2ZXJfbmFtZTsKIGRpZmYg LS1naXQgYS9kYWVtb25zL2lwYS1rZGIvaXBhX2tkYl9tc3BhY190cnVzdC5jIGIvZGFlbW9ucy9p cGEta2RiL2lwYV9rZGJfbXNwYWNfdHJ1c3QuYwotaW5kZXggYTA5ZGMyZGZiZGEuLjMyZGNhMGVk YmFmIDEwMDY0NAoraW5kZXggYTA5ZGMyZGZiZGEuLjlkZmRhNjYzMzdlIDEwMDY0NAogLS0tIGEv ZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfbXNwYWNfdHJ1c3QuYwogKysrIGIvZGFlbW9ucy9pcGEt a2RiL2lwYV9rZGJfbXNwYWNfdHJ1c3QuYwotQEAgLTQxNyw3ICs0MTcsOCBAQCBpcGFkYl9jaGVj a190cnVzdF92aWV3X292ZXJyaWRlKGtyYjVfY29udGV4dCBjb250ZXh0LAorQEAgLTE4LDYgKzE4 LDYwIEBACisgICoKKyAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAg SWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyAqCisrICoKKysg KiBUSFJFQVQgTU9ERUwKKysgKgorKyAqIElmIEFjdGl2ZSBEaXJlY3RvcnkgZG9lcyBub3QgZW5m b3JjZSB1bmlxdWVuZXNzIG9mIHByaW5jaXBhbCBhbGlhc2VzCisrICogKFVQTiksIGEgcmVndWxh ciBBRCB1c2VyIGNvdWxkIHNldCB0aGVpciB1c2VyUHJpbmNpcGFsTmFtZSB0bworKyAqIGltcGVy c29uYXRlIGFub3RoZXIgdXNlciAoZS5nLiAiYWRtaW5pc3RyYXRvckBBRC5URVNUIikuIFNpbmNl IElQQQorKyAqIHJlc29sdmVzIEFEIHVzZXIgaWRlbnRpdHkgZnJvbSB0aGUgdGlja2V0IGNsaWVu dCBuYW1lLCBhIGZvcmdlZCBhbGlhcworKyAqIGNvdWxkIGxlYWQgdG8gcHJpdmlsZWdlIGVzY2Fs YXRpb24uCisrICoKKysgKiBIb3dldmVyLCBvdGhlciBQQUMgYXR0cmlidXRlcyAoYWNjb3VudF9u YW1lIGZyb20gUEFDX0xPR09OX0lORk8sIFNBTQorKyAqIG5hbWUgYW5kIFNJRCBmcm9tIFVQTl9E TlNfSU5GTyBleHRlbmRlZCBmb3JtYXQpIGFsd2F5cyByZWZsZWN0IHRoZQorKyAqIGNhbm9uaWNh bCBBRCBpZGVudGl0eSByZWdhcmRsZXNzIG9mIGFsaWFzZXMuIENyb3NzLXZhbGlkYXRpbmcgdGhl c2UKKysgKiBhZ2FpbnN0IGNsaWVudF9uYW1lIGRldGVjdHMgdGhlIGluY29uc2lzdGVuY3kuCisr ICoKKysgKiBQQUNfQ0xJRU5UX0lORk8gY2xpZW50X25hbWUKKysgKgorKyAqIEJlZm9yZSB0aGUg S0RCIHBsdWdpbiBydW5zLCBNSVQga3JiNSB2YWxpZGF0ZXMgUEFDX0NMSUVOVF9JTkZPCisrICog Y2xpZW50X25hbWUgKE1TLVBBQyAyLjcpIGFnYWluc3QgdGhlIGFwcHJvcHJpYXRlIG5vbi1QQUMg aWRlbnRpdHkKKysgKiBzb3VyY2UgKHRnc19wb2xpY3kuYzpjaGVja190Z3NfczR1MnNlbGYsIGNo ZWNrX25vcm1hbF90Z3NfcGFjKToKKysgKiAgIC0gdGlja2V0IGNuYW1lIGZvciByZWd1bGFyIFRH UworKyAqICAgLSBQQS1GT1ItVVNFUiBmb3IgUzRVMlNlbGYKKysgKiAgIC0gUEEtUzRVLVg1MDkt VVNFUiBmb3IgY2VydGlmaWNhdGUtYmFzZWQgUzRVMlNlbGYKKysgKiBUaGlzIG1ha2VzIGNsaWVu dF9uYW1lIHRoZSB2YWx1ZSB0aGF0IElQQSB3aWxsIHVzZSB0byBpZGVudGlmeSB0aGUKKysgKiB1 c2VyLCBhbmQgdGhlIHZhbHVlIHdlIG11c3QgY3Jvc3MtdmFsaWRhdGUgYWdhaW5zdCBjYW5vbmlj YWwgUEFDCisrICogYXR0cmlidXRlcyB0byBkZXRlY3QgYWxpYXMtYmFzZWQgaWRlbnRpdHkgZnJh dWQuCisrICoKKysgKiBjbGllbnRfbmFtZSBpcyBiYXJlICgidXNlcm5hbWUiKSBpbiByZWd1bGFy IHRpY2tldHMsIG9yIHF1YWxpZmllZAorKyAqICgidXNlcm5hbWVAdXNlclJlYWxtIikgaW4gUzRV MlNlbGYgcmVmZXJyYWwgVEdUcyAoTVMtU0ZVIDMuMi41LjEuMSkuCisrICogVGhlIG5hbWUgcGFy dCAoYmVmb3JlICdAJykgaXMgdXNlZCBmb3IgY3Jvc3MtdmFsaWRhdGlvbiBhZ2FpbnN0IGJhcmUK KysgKiBhdHRyaWJ1dGVzLiBXaGVuIGJvdGggY2xpZW50X25hbWUgYW5kIHRoZSB0ZXN0ZWQgYXR0 cmlidXRlIGFyZQorKyAqIHF1YWxpZmllZCwgYSBmdWxsIGNvbXBhcmlzb24gaW5jbHVkaW5nIHRo ZSByZWFsbSBpcyBwZXJmb3JtZWQuCisrICoKKysgKiBDSEVDS1MgUEVSRk9STUVECisrICoKKysg KiAxLiBQQUMgY3Jvc3MtdmFsaWRhdGlvbjogYWxsIFBBQyBuYW1lIGF0dHJpYnV0ZXMgKGFjY291 bnRfbmFtZSwgVVBOLAorKyAqICAgIFNBTSBuYW1lKSBtdXN0IG1hdGNoIGNsaWVudF9uYW1lLiBV UE4gZXh0ZW5kZWQgU0lEIG11c3QgbWF0Y2ggdGhlCisrICogICAgbG9nb24gaW5mbyBTSUQuIFBB Q19SRVFVRVNURVJfU0lEIGlzIG5vdCBjaGVja2VkIGJlY2F1c2UgaXQgbWF5CisrICogICAgbGVn aXRpbWF0ZWx5IGRpZmZlciBpbiBTNFUgZGVsZWdhdGlvbiBzY2VuYXJpb3MgKE1TLVBBQyAyLjEy KS4KKysgKiAgICBBRCBpcyBjYXNlLWluc2Vuc2l0aXZlLCBzbyBhbGwgc3RyaW5nIGNvbXBhcmlz b25zIHVzZQorKyAqICAgIGNhc2UtaW5zZW5zaXRpdmUgZnVuY3Rpb25zLgorKyAqCisrICogMi4g SUQgb3ZlcnJpZGUgdmFsaWRhdGlvbjogaWYgYSBEZWZhdWx0IFRydXN0IFZpZXcgb3ZlcnJpZGUg ZXhpc3RzIGZvcgorKyAqICAgIHRoZSBQQUMgU0lELCBpdHMgaXBhT3JpZ2luYWxVaWQgbXVzdCBt YXRjaCBjbGllbnRfbmFtZS4KKysgKgorKyAqIDMuIFVQTiBxdWFsaWZpY2F0aW9uOiBmb3IgZW50 ZXJwcmlzZSBwcmluY2lwYWxzLCB0aGUgVVBOIG11c3QgYmUKKysgKiAgICBxdWFsaWZpZWQgKGNv bnRhaW4gJ0AnKSB1bmxlc3MgY29uc3RydWN0ZWQgKFUgZmxhZyksIHBlciBNUy1LSUxFCisrICog ICAgMy4zLjUuMi4KKysgKgorKyAqIEVSUk9SIEhBTkRMSU5HCisrICoKKysgKiBBbGwgdmFsaWRh dGlvbiBmYWlsdXJlcyByZXR1cm4gS1JCNUtEQ19FUlJfUE9MSUNZIChLRENfRVJSX1BPTElDWSwK KysgKiBlcnJvciBjb2RlIDEyKSBhcyBtYW5kYXRlZCBieSBNUy1TRlUgMy4yLjUuMS4gVGhlIHN0 YXR1cyBzdHJpbmcgaXMKKysgKiBpbmNsdWRlZCBpbiB0aGUgS1JCLUVSUk9SIGUtdGV4dCBmaWVs ZC4KKyAgKi8KKyAKKyAjaW5jbHVkZSAiaXBhX2tkYi5oIgorQEAgLTQwLDcgKzk0LDcgQEAgc3Ry dWN0IGNyb3NzcmVhbG1fdGd0X2luZm8geworICAgICAvKiBQQUNfTE9HT05fSU5GTyAoVHlwZSAx KSAtIG1hbmRhdG9yeQorICAgICAgKiBQcmVzZW50IHNpbmNlIFdpbmRvd3MgMjAwMCAqLworICAg ICBib29sIGxvZ29uX2luZm9fcHJlc2VudDsKKy0gICAgY29uc3QgY2hhciAqYWNjb3VudF9uYW1l OworKyAgICBjb25zdCBjaGFyICphY2NvdW50X25hbWU7ICAgICAgLyogc2FtQWNjb3VudE5hbWUs IGFsd2F5cyBiYXJlICovCisgICAgIHN0cnVjdCBkb21fc2lkIGxvZ29uX2luZm9fc2lkOworICAg ICBjaGFyICpsb2dvbl9pbmZvX3NpZF9zdHJpbmc7CisgCitAQCAtNDgsMTUgKzEwMiwxNyBAQCBz dHJ1Y3QgY3Jvc3NyZWFsbV90Z3RfaW5mbyB7CisgICAgICAqIFByZXNlbnQgc2luY2UgV2luZG93 cyAyMDAwICovCisgICAgIGJvb2wgY2xpZW50X2luZm9fcHJlc2VudDsKKyAgICAgY29uc3QgY2hh ciAqY2xpZW50X25hbWU7CisrICAgIGJvb2wgY2xpZW50X25hbWVfaXNfcXVhbGlmaWVkOworKyAg ICBzaXplX3QgdW5xdWFsaWZpZWRfY25fbGVuOyAgICAgLyogbGVuZ3RoIG9mIG5hbWUgcGFydCAo YmVmb3JlICdAJykgKi8KKyAKKyAgICAgLyogUEFDX1VQTl9ETlNfSU5GTyAoVHlwZSAxMikgLSBv cHRpb25hbAorICAgICAgKiBQcmVzZW50IHNpbmNlIFdpbmRvd3MgU2VydmVyIDIwMDggKi8KKyAg ICAgYm9vbCB1cG5fZG5zX2luZm9fcHJlc2VudDsKKy0gICAgY29uc3QgY2hhciAqdXBuOworKyAg ICBjb25zdCBjaGFyICp1cG47ICAgICAgICAgICAgICAgLyogYWx3YXlzIHF1YWxpZmllZCAoInVz ZXJAUkVBTE0iKSAqLworICAgICBib29sIHVwbl9pc19xdWFsaWZpZWQ7CistICAgIGJvb2wgdXBu X2lzX2NvbnN0cnVjdGVkOworLSAgICBib29sIHVwbl9oYXNfc2FtX2FuZF9zaWQ7CistICAgIGNv bnN0IGNoYXIgKnVwbl9zYW1fbmFtZTsKKysgICAgYm9vbCB1cG5faXNfY29uc3RydWN0ZWQ7ICAg ICAgIC8qIFUgZmxhZzogVVBOIGJ1aWx0IGZyb20gc2FtQWNjb3VudE5hbWUgKi8KKysgICAgYm9v bCB1cG5faGFzX3NhbV9hbmRfc2lkOyAgICAgIC8qIFMgZmxhZzogZXh0ZW5kZWQgZm9ybWF0IHBy ZXNlbnQgKi8KKysgICAgY29uc3QgY2hhciAqdXBuX3NhbV9uYW1lOyAgICAgIC8qIHNhbUFjY291 bnROYW1lIGZyb20gZXh0ZW5kZWQgVVBOLCBiYXJlICovCisgICAgIHN0cnVjdCBkb21fc2lkIHVw bl9zaWQ7CisgCisgICAgIC8qIFBBQ19SRVFVRVNURVJfU0lEIChUeXBlIDE4KSAtIG9wdGlvbmFs CitAQCAtOTksMjUgKzE1NSwyNSBAQCBpcGFkYl92YWxpZGF0ZV9wYWNfYXR0cmlidXRlcyhrcmI1 X2NvbnRleHQgY29udGV4dCwKKyAgICAgLyogUEFDX0xPR09OX0lORk8gaXMgbWFuZGF0b3J5ICov CisgICAgIGlmICghaW5mby0+bG9nb25faW5mb19wcmVzZW50KSB7CisgICAgICAgICAqc3RhdHVz ID0gIlRSVVNUX1BBQ19NSVNTSU5HX0xPR09OX0lORk8iOworLSAgICAgICAgcmV0dXJuIEVOT0VO VDsKKysgICAgICAgIHJldHVybiBLUkI1S0RDX0VSUl9QT0xJQ1k7CisgICAgIH0KKyAKKyAgICAg LyogVmVyaWZ5IGFjY291bnRfbmFtZSB3YXMgc3VjY2Vzc2Z1bGx5IGV4dHJhY3RlZCBmcm9tIExP R09OX0lORk8gKi8KKyAgICAgaWYgKCFpbmZvLT5hY2NvdW50X25hbWUpIHsKKyAgICAgICAgICpz dGF0dXMgPSAiVFJVU1RfUEFDX01JU1NJTkdfQUNDT1VOVF9OQU1FIjsKKy0gICAgICAgIHJldHVy biBFTk9FTlQ7CisrICAgICAgICByZXR1cm4gS1JCNUtEQ19FUlJfUE9MSUNZOworICAgICB9Cisg CisgICAgIC8qIFBBQ19DTElFTlRfSU5GTyBpcyBtYW5kYXRvcnkgKi8KKyAgICAgaWYgKCFpbmZv LT5jbGllbnRfaW5mb19wcmVzZW50KSB7CisgICAgICAgICAqc3RhdHVzID0gIlRSVVNUX1BBQ19N SVNTSU5HX0NMSUVOVF9JTkZPIjsKKy0gICAgICAgIHJldHVybiBFTk9FTlQ7CisrICAgICAgICBy ZXR1cm4gS1JCNUtEQ19FUlJfUE9MSUNZOworICAgICB9CisgCisgICAgIC8qIFZlcmlmeSBjbGll bnRfbmFtZSB3YXMgc3VjY2Vzc2Z1bGx5IGV4dHJhY3RlZCBmcm9tIENMSUVOVF9JTkZPICovCisg ICAgIGlmICghaW5mby0+Y2xpZW50X25hbWUpIHsKKy0gICAgICAgICpzdGF0dXMgPSAiVFJVU1Rf UEFDX01JU1NJTkdfQ0xJRU5UX05BTUUiOworLSAgICAgICAgcmV0dXJuIEVOT0VOVDsKKysgICAg ICAgICpzdGF0dXMgPSAiVFJVU1RfUEFDX0NMSUVOVF9OQU1FX01JU1NJTkciOworKyAgICAgICAg cmV0dXJuIEtSQjVLRENfRVJSX1BPTElDWTsKKyAgICAgfQorIAorICAgICByZXR1cm4gMDsKK0BA IC0xMzQsNyArMTkwLDcgQEAgaXBhZGJfZXh0cmFjdF9jcnRndF9pbmZvKGtyYjVfY29udGV4dCBj b250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY3Jvc3NyZWFsbV90Z3Rf aW5mbyAqaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqKnN0YXR1 cykKKyB7CistICAgIGtyYjVfZXJyb3JfY29kZSBrZXJyID0gRUlOVkFMOworKyAgICBrcmI1X2Vy cm9yX2NvZGUga2VyciA9IEtSQjVLRENfRVJSX1BPTElDWTsKKyAgICAga3JiNV9kYXRhIGxpbmZv X2Jsb2IgPSB7MH0sIHVwbl9ibG9iID0gezB9LCBjaW5mb19ibG9iID0gezB9OworICAgICBrcmI1 X2RhdGEgcmVxX3NpZF9ibG9iID0gezB9OworICAgICBEQVRBX0JMT0IgbGluZm9fZGF0YSwgdXBu X2RhdGEsIGNpbmZvX2RhdGEsIHJlcV9zaWRfZGF0YTsKK0BAIC0xNzAsMjIgKzIyNiwyMiBAQCBp cGFkYl9leHRyYWN0X2NydGd0X2luZm8oa3JiNV9jb250ZXh0IGNvbnRleHQsCisgCisgICAgICAg ICBpZiAoIU5EUl9FUlJfQ09ERV9JU19TVUNDRVNTKG5kcl9lcnIpKSB7CisgICAgICAgICAgICAg KnN0YXR1cyA9ICJUUlVTVF9QQUNfQ0FOTk9UX1BBUlNFX0xPR09OX0lORk8iOworLSAgICAgICAg ICAgIGtlcnIgPSBFSU5WQUw7CisrICAgICAgICAgICAga2VyciA9IEtSQjVLRENfRVJSX1BPTElD WTsKKyAgICAgICAgICAgICBnb3RvIGVuZDsKKyAgICAgICAgIH0KKyAKKyAgICAgICAgIC8qIENo ZWNrIGlmIGxvZ29uX2luZm8gc3RydWN0dXJlIGlzIHZhbGlkICovCisgICAgICAgICBpZiAoIWxv Z29uX2luZm8uaW5mbykgeworICAgICAgICAgICAgICpzdGF0dXMgPSAiVFJVU1RfUEFDX0xPR09O X0lORk9fVU5ERUZJTkVEIjsKKy0gICAgICAgICAgICBrZXJyID0gRUlOVkFMOworKyAgICAgICAg ICAgIGtlcnIgPSBLUkI1S0RDX0VSUl9QT0xJQ1k7CisgICAgICAgICAgICAgZ290byBlbmQ7Cisg ICAgICAgICB9CisgCisgICAgICAgICAvKiBTdG9yZSBwb2ludGVyIHRvIGFjY291bnQgbmFtZSAq LworICAgICAgICAgaW5mby0+YWNjb3VudF9uYW1lID0gbG9nb25faW5mby5pbmZvLT5pbmZvMy5i YXNlLmFjY291bnRfbmFtZS5zdHJpbmc7CisgICAgICAgICBpZiAoIWluZm8tPmFjY291bnRfbmFt ZSkgeworLSAgICAgICAgICAgICpzdGF0dXMgPSAiVFJVU1RfUEFDX0FDQ09VTlRfTkFNRV9VTkRF RklORUQiOworLSAgICAgICAgICAgIGtlcnIgPSBFSU5WQUw7CisrICAgICAgICAgICAgKnN0YXR1 cyA9ICJUUlVTVF9QQUNfQUNDT1VOVF9OQU1FX01JU1NJTkciOworKyAgICAgICAgICAgIGtlcnIg PSBLUkI1S0RDX0VSUl9QT0xJQ1k7CisgICAgICAgICAgICAgZ290byBlbmQ7CisgICAgICAgICB9 CisgCitAQCAtMjI1LDggKzI4MSwxOCBAQCBpcGFkYl9leHRyYWN0X2NydGd0X2luZm8oa3JiNV9j b250ZXh0IGNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo bmRyX3B1bGxfZmxhZ3NfZm5fdCluZHJfcHVsbF9QQUNfSU5GTyk7CisgICAgICAgICBrcmI1X2Zy ZWVfZGF0YV9jb250ZW50cyhjb250ZXh0LCAmY2luZm9fYmxvYik7CisgCistICAgICAgICBpZiAo TkRSX0VSUl9DT0RFX0lTX1NVQ0NFU1MobmRyX2VycikpCisrICAgICAgICBpZiAoTkRSX0VSUl9D T0RFX0lTX1NVQ0NFU1MobmRyX2VycikpIHsKKysgICAgICAgICAgICBjb25zdCBjaGFyICphdF9z aWduOworKworICAgICAgICAgICAgIGluZm8tPmNsaWVudF9uYW1lID0gY2xpZW50X2luZm8ubG9n b25fbmFtZS5hY2NvdW50X25hbWU7CisrICAgICAgICAgICAgaWYgKGluZm8tPmNsaWVudF9uYW1l KSB7CisrICAgICAgICAgICAgICAgIGF0X3NpZ24gPSBzdHJjaHIoaW5mby0+Y2xpZW50X25hbWUs ICdAJyk7CisrICAgICAgICAgICAgICAgIGluZm8tPmNsaWVudF9uYW1lX2lzX3F1YWxpZmllZCA9 IChhdF9zaWduICE9IE5VTEwpOworKyAgICAgICAgICAgICAgICBpbmZvLT51bnF1YWxpZmllZF9j bl9sZW4gPSBhdF9zaWduID8KKysgICAgICAgICAgICAgICAgICAgIChzaXplX3QpKGF0X3NpZ24g LSBpbmZvLT5jbGllbnRfbmFtZSkgOgorKyAgICAgICAgICAgICAgICAgICAgc3RybGVuKGluZm8t PmNsaWVudF9uYW1lKTsKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisgICAgIH0KKyAKKyAg ICAgLyogRXh0cmFjdCBUeXBlIDEyIC0gUFJJTUFSWSBVUE4gU09VUkNFCitAQCAtMjQ4LDE0ICsz MTQsMTggQEAgaXBhZGJfZXh0cmFjdF9jcnRndF9pbmZvKGtyYjVfY29udGV4dCBjb250ZXh0LAor IAorICAgICAgICAgaWYgKCFORFJfRVJSX0NPREVfSVNfU1VDQ0VTUyhuZHJfZXJyKSkgeworICAg ICAgICAgICAgICpzdGF0dXMgPSAiVFJVU1RfUEFDX0NBTk5PVF9QQVJTRV9VUE5fRE5TX0lORk8i OworLSAgICAgICAgICAgIGtlcnIgPSBFSU5WQUw7CisrICAgICAgICAgICAga2VyciA9IEtSQjVL RENfRVJSX1BPTElDWTsKKyAgICAgICAgICAgICBnb3RvIGVuZDsKKyAgICAgICAgIH0KKyAKKyAg ICAgICAgIC8qIFN0b3JlIHBvaW50ZXIgdG8gVVBOIHN0cmluZyAqLworICAgICAgICAgaW5mby0+ dXBuID0gdXBuX2luZm8udXBuX2Ruc19pbmZvLnVwbl9uYW1lOworLSAgICAgICAgaWYgKGluZm8t PnVwbikKKy0gICAgICAgICAgICBpbmZvLT51cG5faXNfcXVhbGlmaWVkID0gKE5VTEwgIT0gc3Ry Y2hyKGluZm8tPnVwbiwgJ0AnKSk7CisrICAgICAgICBpZiAoIWluZm8tPnVwbikgeworKyAgICAg ICAgICAgICpzdGF0dXMgPSAiVFJVU1RfUEFDX1VQTl9NSVNTSU5HIjsKKysgICAgICAgICAgICBr ZXJyID0gS1JCNUtEQ19FUlJfUE9MSUNZOworKyAgICAgICAgICAgIGdvdG8gZW5kOworKyAgICAg ICAgfQorKyAgICAgICAgaW5mby0+dXBuX2lzX3F1YWxpZmllZCA9IChOVUxMICE9IHN0cmNocihp bmZvLT51cG4sICdAJykpOworIAorICAgICAgICAgLyogRXh0cmFjdCBVIGZsYWcgLSBpbmRpY2F0 ZXMgY29uc3RydWN0ZWQgVVBOICovCisgICAgICAgICBpbmZvLT51cG5faXNfY29uc3RydWN0ZWQg PQorQEAgLTMwOSwxMTkgKzM3OSwxMDAgQEAgaXBhZGJfZXh0cmFjdF9jcnRndF9pbmZvKGtyYjVf Y29udGV4dCBjb250ZXh0LAorICAgICByZXR1cm4ga2VycjsKKyB9CisgCistLyogQ3Jvc3MtdmFs aWRhdGUgUEFDIGF0dHJpYnV0ZXMgZm9yIGNvbnNpc3RlbmN5CistICogQWxsIGF2YWlsYWJsZSBh dHRyaWJ1dGVzIG11c3QgbWF0Y2ggYWNyb3NzIGRpZmZlcmVudCBQQUMgYnVmZmVycy4KKy0gKiBM T0dPTl9JTkZPIGFuZCBDTElFTlRfSU5GTyBtdXN0IGJlIHByZXNlbnQgKGFzc2VydGVkKS4KKy0g Ki8KKysvKiBDb21wYXJlIGEgUEFDIG5hbWUgYXR0cmlidXRlIGFnYWluc3QgY2xpZW50X25hbWUg KGNhc2UtaW5zZW5zaXRpdmUpLgorKyAqIElmIGJvdGggYXJlIHF1YWxpZmllZCwgY29tcGFyZSBm dWxseS4gT3RoZXJ3aXNlIGNvbXBhcmUgbmFtZSBwYXJ0cyBvbmx5LAorKyAqIGV4cGVjdGluZyAn QCcgKHF1YWxpZmllZCkgb3IgJ1wwJyAoYmFyZSkgYWZ0ZXIgdGhlIG1hdGNoZWQgcHJlZml4Lgor KyAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZXMgZGlmZmVyLiAqLworK3N0YXRpYyBib29sCisr Y2xpZW50X25hbWVfZGlmZmVycyhjb25zdCBzdHJ1Y3QgY3Jvc3NyZWFsbV90Z3RfaW5mbyAqaW5m bywKKysgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnRlc3RlZCwgYm9vbCBxdWFsaWZp ZWQpCisreworKyAgICByZXR1cm4gKHF1YWxpZmllZCAmJiBpbmZvLT5jbGllbnRfbmFtZV9pc19x dWFsaWZpZWQpCisrICAgICAgICA/ICgwICE9IHN0cmNhc2VjbXAoaW5mby0+Y2xpZW50X25hbWUs IHRlc3RlZCkpCisrICAgICAgICA6ICgwICE9IHN0cm5jYXNlY21wKGluZm8tPmNsaWVudF9uYW1l LCB0ZXN0ZWQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8tPnVucXVhbGlmaWVk X2NuX2xlbikKKysgICAgICAgICAgIHx8IHRlc3RlZFtpbmZvLT51bnF1YWxpZmllZF9jbl9sZW5d ICE9IChxdWFsaWZpZWQgPyAnQCcgOiAnXDAnKSk7CisrfQorKworKy8qIENyb3NzLXZhbGlkYXRl IFBBQyBuYW1lIGF0dHJpYnV0ZXMgYW5kIFNJRHMgYWdhaW5zdCBjbGllbnRfbmFtZS4KKysgKiBT ZWUgZmlsZSBoZWFkZXIgZm9yIGRlc2lnbiByYXRpb25hbGUuICovCisgc3RhdGljIGtyYjVfZXJy b3JfY29kZQorIGlwYWRiX2Nyb3NzX3ZhbGlkYXRlX3BhY19hdHRyaWJ1dGVzKGtyYjVfY29udGV4 dCBjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0 cnVjdCBjcm9zc3JlYWxtX3RndF9pbmZvICppbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IGNoYXIgKipzdGF0dXMpCisgeworLSAgICBrcmI1X2Vycm9yX2Nv ZGUga2VyciA9IEVJTlZBTDsKKy0gICAgY29uc3QgY2hhciAqYXRfc2lnbiA9IE5VTEw7CistICAg IGNoYXIgKnRpY2tldF9jbmFtZSA9IE5VTEw7CistICAgIHNpemVfdCBuYW1lX2xlbjsKKysgICAg a3JiNV9lcnJvcl9jb2RlIGtlcnIgPSBLUkI1S0RDX0VSUl9QT0xJQ1k7CisgCisgICAgIC8qIE1h bmRhdG9yeSBQQUMgYXR0cmlidXRlcyBtdXN0IGhhdmUgYmVlbiB2YWxpZGF0ZWQgYWxyZWFkeSAq LworICAgICBhc3NlcnQoaW5mby0+bG9nb25faW5mb19wcmVzZW50KTsKKyAgICAgYXNzZXJ0KGlu Zm8tPmNsaWVudF9pbmZvX3ByZXNlbnQpOworIAorLSAgICAvKiBWYWxpZGF0ZSBVUE4gbWF0Y2hl cyB0aWNrZXQgY25hbWUgKGZvciBlbnRlcnByaXNlIHByaW5jaXBhbHMpICovCistICAgIGlmIChp bmZvLT5pc19lbnRlcnByaXNlX3ByaW5jICYmIGluZm8tPnVwbl9kbnNfaW5mb19wcmVzZW50KSB7 CistICAgICAgICAvKiBVbnBhcnNlIGNsaWVudCBwcmluY2lwYWwgbmFtZSAod2l0aG91dCByZWFs bSkgKi8KKy0gICAgICAgIGtlcnIgPSBrcmI1X3VucGFyc2VfbmFtZV9mbGFncyhjb250ZXh0LCBp bmZvLT5jbGllbnRfcHJpbmMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgS1JCNV9QUklOQ0lQQUxfVU5QQVJTRV9OT19SRUFMTSwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmdGlja2V0X2NuYW1lKTsKKy0gICAgICAgIGlmIChrZXJyKSB7 CistICAgICAgICAgICAgKnN0YXR1cyA9ICJUUlVTVF9DQU5OT1RfVU5QQVJTRV9DTkFNRSI7Cist ICAgICAgICAgICAgZ290byBlbmQ7CistICAgICAgICB9CistCistICAgICAgICAvKiBGaW5kIHRo ZSBAIHNpZ24gaW4gVVBOICovCistICAgICAgICBhdF9zaWduID0gc3RyY2hyKGluZm8tPnVwbiwg J0AnKTsKKy0gICAgICAgIGlmIChhdF9zaWduKSB7CistICAgICAgICAgICAgbmFtZV9sZW4gPSBh dF9zaWduIC0gaW5mby0+dXBuOworLQorLSAgICAgICAgICAgIC8qIENvbXBhcmUgVVBOIG5hbWUg cGFydCB3aXRoIHRpY2tldCBjbmFtZSAqLworLSAgICAgICAgICAgIGlmICgwICE9IHN0cm5jbXAo aW5mby0+dXBuLCB0aWNrZXRfY25hbWUsIG5hbWVfbGVuKSB8fAorLSAgICAgICAgICAgICAgICB0 aWNrZXRfY25hbWVbbmFtZV9sZW5dICE9ICdcMCcpIHsKKy0gICAgICAgICAgICAgICAgKnN0YXR1 cyA9ICJUUlVTVF9QQUNfVVBOX0NOQU1FX01JU01BVENIIjsKKy0gICAgICAgICAgICAgICAga2Vy ciA9IEVJTlZBTDsKKy0gICAgICAgICAgICAgICAgZ290byBlbmQ7CistICAgICAgICAgICAgfQor LSAgICAgICAgfQorLQorLSAgICAgICAga3JiNV9mcmVlX3VucGFyc2VkX25hbWUoY29udGV4dCwg dGlja2V0X2NuYW1lKTsKKy0gICAgICAgIHRpY2tldF9jbmFtZSA9IE5VTEw7CisrICAgIC8qIGFj Y291bnRfbmFtZSAoYmFyZSkgdnMgY2xpZW50X25hbWUgKi8KKysgICAgaWYgKGNsaWVudF9uYW1l X2RpZmZlcnMoaW5mbywgaW5mby0+YWNjb3VudF9uYW1lLCBmYWxzZSkpIHsKKysgICAgICAgICpz dGF0dXMgPSAiVFJVU1RfUEFDX0FDQ09VTlRfTkFNRV9NSVNNQVRDSCI7CisrICAgICAgICBrZXJy ID0gS1JCNUtEQ19FUlJfUE9MSUNZOworKyAgICAgICAgZ290byBlbmQ7CisgICAgIH0KKyAKKy0g ICAgLyogQ3Jvc3MtdmFsaWRhdGUgYWNjb3VudCBuYW1lcyBpZiBleHRlbmRlZCBVUE4gZm9ybWF0 IGlzIGF2YWlsYWJsZSAqLworLSAgICBpZiAoaW5mby0+dXBuX2hhc19zYW1fYW5kX3NpZCkgewor LSAgICAgICAgaWYgKCFpbmZvLT5hY2NvdW50X25hbWUgfHwgIWluZm8tPnVwbl9zYW1fbmFtZSB8 fAorLSAgICAgICAgICAgIDAgIT0gc3RyY21wKGluZm8tPmFjY291bnRfbmFtZSwgaW5mby0+dXBu X3NhbV9uYW1lKSkgeworLSAgICAgICAgICAgICpzdGF0dXMgPSAiVFJVU1RfUEFDX0FDQ09VTlRf TkFNRV9NSVNNQVRDSCI7CistICAgICAgICAgICAga2VyciA9IEVJTlZBTDsKKysgICAgLyogVVBO IChxdWFsaWZpZWQpIHZzIGNsaWVudF9uYW1lLCBlbnRlcnByaXNlIHByaW5jaXBhbHMgb25seS4K KysgICAgICogRm9yIGVudGVycHJpc2UgcHJpbmNpcGFscywgdGhlIEFEIEtEQyBsb29rcyB1cCB0 aGUgdXNlciBieSBVUE4KKysgICAgICogKE1TLUtJTEUgMy4zLjUuNi4xKSwgc28gYSBmb3JnZWQg VVBOIGFsaWFzIGNvdWxkIHByb2R1Y2UgYQorKyAgICAgKiBjbGllbnRfbmFtZSB0aGF0IGRpZmZl cnMgZnJvbSBhY2NvdW50X25hbWUuIEZvciByZWd1bGFyIHByaW5jaXBhbHMKKysgICAgICogdGhl IGxvb2t1cCBpcyBieSBzYW1BY2NvdW50TmFtZSwgYW5kIHRoZSBVUE4gbWF5IGxlZ2l0aW1hdGVs eQorKyAgICAgKiBkaWZmZXIsIHNvIHRoaXMgY2hlY2sgd291bGQgY2F1c2UgZmFsc2UgcG9zaXRp dmVzLiAqLworKyAgICBpZiAoaW5mby0+aXNfZW50ZXJwcmlzZV9wcmluYyAmJiBpbmZvLT51cG5f ZG5zX2luZm9fcHJlc2VudCkgeworKyAgICAgICAgaWYgKGNsaWVudF9uYW1lX2RpZmZlcnMoaW5m bywgaW5mby0+dXBuLCB0cnVlKSkgeworKyAgICAgICAgICAgICpzdGF0dXMgPSAiVFJVU1RfUEFD X1VQTl9NSVNNQVRDSCI7CisrICAgICAgICAgICAga2VyciA9IEtSQjVLRENfRVJSX1BPTElDWTsK KyAgICAgICAgICAgICBnb3RvIGVuZDsKKyAgICAgICAgIH0KKyAgICAgfQorIAorLSAgICAvKiBD cm9zcy12YWxpZGF0ZSBjbGllbnQgbmFtZSBtYXRjaGVzIGFjY291bnQgbmFtZSAqLworLSAgICBp ZiAoaW5mby0+Y2xpZW50X2luZm9fcHJlc2VudCkgeworLSAgICAgICAgaWYgKCFpbmZvLT5jbGll bnRfbmFtZSB8fCAhaW5mby0+YWNjb3VudF9uYW1lIHx8CistICAgICAgICAgICAgMCAhPSBzdHJj bXAoaW5mby0+Y2xpZW50X25hbWUsIGluZm8tPmFjY291bnRfbmFtZSkpIHsKKy0gICAgICAgICAg ICAqc3RhdHVzID0gIlRSVVNUX1BBQ19DTElFTlRfTkFNRV9NSVNNQVRDSCI7CistICAgICAgICAg ICAga2VyciA9IEVJTlZBTDsKKysgICAgLyogVVBOIFNBTSBuYW1lIChiYXJlKSB2cyBjbGllbnRf bmFtZSAqLworKyAgICBpZiAoaW5mby0+dXBuX2hhc19zYW1fYW5kX3NpZCkgeworKyAgICAgICAg aWYgKCFpbmZvLT51cG5fc2FtX25hbWUgfHwKKysgICAgICAgICAgICBjbGllbnRfbmFtZV9kaWZm ZXJzKGluZm8sIGluZm8tPnVwbl9zYW1fbmFtZSwgZmFsc2UpKSB7CisrICAgICAgICAgICAgKnN0 YXR1cyA9ICJUUlVTVF9QQUNfVVBOX1NBTV9OQU1FX01JU01BVENIIjsKKysgICAgICAgICAgICBr ZXJyID0gS1JCNUtEQ19FUlJfUE9MSUNZOworICAgICAgICAgICAgIGdvdG8gZW5kOworICAgICAg ICAgfQorICAgICB9CisgCistICAgIC8qIENyb3NzLXZhbGlkYXRlIFNJRHMgaWYgZXh0ZW5kZWQg VVBOIGZvcm1hdCBpcyBhdmFpbGFibGUgKi8KKysgICAgLyogVVBOIFNJRCB2cyBsb2dvbiBpbmZv IFNJRCAqLworICAgICBpZiAoaW5mby0+dXBuX2hhc19zYW1fYW5kX3NpZCkgeworICAgICAgICAg aWYgKCFkb21fc2lkX2NoZWNrKCZpbmZvLT5sb2dvbl9pbmZvX3NpZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmaW5mby0+dXBuX3NpZCwgdHJ1ZSkpIHsKKyAgICAgICAgICAgICAqc3Rh dHVzID0gIlRSVVNUX1BBQ19VUE5fU0lEX01JU01BVENIIjsKKy0gICAgICAgICAgICBrZXJyID0g RUlOVkFMOworKyAgICAgICAgICAgIGtlcnIgPSBLUkI1S0RDX0VSUl9QT0xJQ1k7CisgICAgICAg ICAgICAgZ290byBlbmQ7CisgICAgICAgICB9CisgICAgIH0KKyAKKy0gICAgLyogQ3Jvc3MtdmFs aWRhdGUgU0lEIGZyb20gUkVRVUVTVEVSX1NJRCBidWZmZXIgaWYgcHJlc2VudCAqLworLSAgICBp ZiAoaW5mby0+cmVxdWVzdGVyX3NpZF9wcmVzZW50KSB7CistICAgICAgICBpZiAoIWRvbV9zaWRf Y2hlY2soJmluZm8tPmxvZ29uX2luZm9fc2lkLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICZpbmZvLT5yZXF1ZXN0ZXJfc2lkLCB0cnVlKSkgeworLSAgICAgICAgICAgICpzdGF0dXMgPSAi VFJVU1RfUEFDX1JFUVVFU1RFUl9TSURfTUlTTUFUQ0giOworLSAgICAgICAgICAgIGtlcnIgPSBF SU5WQUw7CistICAgICAgICAgICAgZ290byBlbmQ7CistICAgICAgICB9CistICAgIH0KKysgICAg LyogUEFDX1JFUVVFU1RFUl9TSUQgaXMgbm90IGNoZWNrZWQgYWdhaW5zdCBsb2dvbl9pbmZvX3Np ZCBiZWNhdXNlCisrICAgICAqIGluIFM0VSBkZWxlZ2F0aW9uIHNjZW5hcmlvcywgdGhlIHJlcXVl c3RlciBTSUQgaXMgdGhlIHNlcnZpY2UncworKyAgICAgKiBTSUQsIG5vdCB0aGUgaW1wZXJzb25h dGVkIHVzZXIncyAoTVMtUEFDIDIuMTIpLiAqLworIAorICAgICBrZXJyID0gMDsKKyAKKyBlbmQ6 CistICAgIGlmICh0aWNrZXRfY25hbWUpCistICAgICAgICBrcmI1X2ZyZWVfdW5wYXJzZWRfbmFt ZShjb250ZXh0LCB0aWNrZXRfY25hbWUpOworLQorICAgICByZXR1cm4ga2VycjsKKyB9CisgCist LyogQ2hlY2sgRGVmYXVsdCBUcnVzdCBWaWV3IG92ZXJyaWRlIHVzZXJuYW1lIGNvbnNpc3RlbmN5 CistICogSWYgYSB1c2VyIG92ZXJyaWRlIGV4aXN0cyBmb3IgdGhpcyBTSUQgaW4gdGhlIERlZmF1 bHQgVHJ1c3QgVmlldywKKy0gKiB2ZXJpZnkgdGhhdCB0aGUgb3ZlcnJpZGUgdXNlcm5hbWUgbWF0 Y2hlcyB0aGUgdGlja2V0IGNuYW1lLgorLSAqIExPR09OX0lORk8gYW5kIENMSUVOVF9JTkZPIG11 c3QgYmUgcHJlc2VudCAoYXNzZXJ0ZWQpLgorLSAqLworKy8qIElmIGEgRGVmYXVsdCBUcnVzdCBW aWV3IG92ZXJyaWRlIGV4aXN0cyBmb3IgdGhpcyBTSUQsIHZlcmlmeSB0aGF0CisrICogaXBhT3Jp Z2luYWxVaWQgKGFsd2F5cyBxdWFsaWZpZWQpIG1hdGNoZXMgY2xpZW50X25hbWUuICovCisgc3Rh dGljIGtyYjVfZXJyb3JfY29kZQorIGlwYWRiX2NoZWNrX3RydXN0X3ZpZXdfb3ZlcnJpZGUoa3Ji NV9jb250ZXh0IGNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3Qgc3RydWN0IGNyb3NzcmVhbG1fdGd0X2luZm8gKmluZm8sCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgY2hhciAqKnN0YXR1cykKICB7CiAgICAgIHN0cnVjdCBpcGFk Yl9jb250ZXh0ICppcGFjdHggPSBOVUxMOwotICAgICBrcmI1X2Vycm9yX2NvZGUga2VyciA9IEVJ TlZBTDsKKy0gICAga3JiNV9lcnJvcl9jb2RlIGtlcnIgPSBFSU5WQUw7CiAtICAgIGNoYXIgKmJh c2VkbiA9IE5VTEwsICpmaWx0ZXIgPSBOVUxMLCAqYXR0cnNbXSA9IHsidWlkIiwgTlVMTH07Cisr ICAgIGtyYjVfZXJyb3JfY29kZSBrZXJyID0gS1JCNUtEQ19FUlJfUE9MSUNZOwogKyAgICBjaGFy ICpiYXNlZG4gPSBOVUxMLCAqZmlsdGVyID0gTlVMTDsKICsgICAgY2hhciAqYXR0cnNbXSA9IHtJ UEFfT1JJR0lOQUxfVUlEX0FUVFIsIE5VTEx9OwogICAgICBMREFQTWVzc2FnZSAqcmVzID0gTlVM TCwgKmVudHJ5ID0gTlVMTDsKICAgICAgc3RydWN0IGJlcnZhbCAqKnVpZF92YWx1ZXMgPSBOVUxM OwotICAgICBjaGFyICp0aWNrZXRfY25hbWUgPSBOVUxMOwotQEAgLTQ3OCw3ICs0NzksOCBAQCBp cGFkYl9jaGVja190cnVzdF92aWV3X292ZXJyaWRlKGtyYjVfY29udGV4dCBjb250ZXh0LAorLSAg ICBjaGFyICp0aWNrZXRfY25hbWUgPSBOVUxMOworICAgICBpbnQgY291bnQ7CisrICAgIGJvb2wg bWlzbWF0Y2g7CisgCisgICAgIC8qIE1hbmRhdG9yeSBQQUMgYXR0cmlidXRlcyBtdXN0IGhhdmUg YmVlbiB2YWxpZGF0ZWQgYWxyZWFkeSAqLworICAgICBhc3NlcnQoaW5mby0+bG9nb25faW5mb19w cmVzZW50KTsKK0BAIC00NzAsMzUgKzUyMSw0NSBAQCBpcGFkYl9jaGVja190cnVzdF92aWV3X292 ZXJyaWRlKGtyYjVfY29udGV4dCBjb250ZXh0LAorICAgICAgICAgZ290byBlbmQ7CisgICAgIH0K KyAKKy0gICAgLyogT3ZlcnJpZGUgZXhpc3RzIC0gdmVyaWZ5IHRoZSB1c2VybmFtZSBtYXRjaGVz IHRoZSB0aWNrZXQgY25hbWUgKi8KKysgICAgLyogT3ZlcnJpZGUgZXhpc3RzIC0gdmVyaWZ5IHRo ZSB1c2VybmFtZSBtYXRjaGVzIGNsaWVudF9uYW1lICovCisgICAgIGVudHJ5ID0gbGRhcF9maXJz dF9lbnRyeShpcGFjdHgtPmxjb250ZXh0LCByZXMpOworICAgICBpZiAoIWVudHJ5KSB7CisgICAg ICAgICAqc3RhdHVzID0gIlRSVVNUX0NBTk5PVF9SRUFEX09WRVJSSURFX0VOVFJZIjsKKy0gICAg ICAgIGtlcnIgPSBFSU5WQUw7CisrICAgICAgICBrZXJyID0gS1JCNUtEQ19FUlJfUE9MSUNZOwog ICAgICAgICAgZ290byBlbmQ7CiAgICAgIH0KICAKQEAgLTU3LDQgKzQ2NCw5MyBAQCBpbmRleCBh MDlkYzJkZmJkYS4uMzJkY2EwZWRiYWYgMTAwNjQ0CiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElQQV9PUklHSU5BTF9VSURfQVRUUik7CiAgICAgIGlmICghdWlkX3ZhbHVl cyB8fCAhdWlkX3ZhbHVlc1swXSkgewogICAgICAgICAgKnN0YXR1cyA9ICJUUlVTVF9PVkVSUklE RV9VSURfVU5ERUZJTkVEIjsKLSAgICAgICAgIGtlcnIgPSBFSU5WQUw7CistICAgICAgICBrZXJy ID0gRUlOVkFMOworKyAgICAgICAga2VyciA9IEtSQjVLRENfRVJSX1BPTElDWTsKKyAgICAgICAg IGdvdG8gZW5kOworICAgICB9CisgCistICAgIC8qIFVucGFyc2UgY2xpZW50IHByaW5jaXBhbCBu YW1lICh3aXRob3V0IHJlYWxtKSAqLworLSAgICBrZXJyID0ga3JiNV91bnBhcnNlX25hbWVfZmxh Z3MoY29udGV4dCwgaW5mby0+Y2xpZW50X3ByaW5jLAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgS1JCNV9QUklOQ0lQQUxfVU5QQVJTRV9OT19SRUFMTSwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZ0aWNrZXRfY25hbWUpOworLSAgICBpZiAoa2Vycikg eworLSAgICAgICAgKnN0YXR1cyA9ICJUUlVTVF9DQU5OT1RfVU5QQVJTRV9DTkFNRSI7CistICAg ICAgICBnb3RvIGVuZDsKKysgICAgLyogQ29tcGFyZSBpcGFPcmlnaW5hbFVpZCAoYWx3YXlzIHF1 YWxpZmllZCkgYWdhaW5zdCBjbGllbnRfbmFtZS4KKysgICAgICogV2hlbiBjbGllbnRfbmFtZSBp cyBxdWFsaWZpZWQsIGNvbXBhcmUgZnVsbCB2YWx1ZSBpbmNsdWRpbmcgcmVhbG0uCisrICAgICAq IFdoZW4gYmFyZSwgY29tcGFyZSBuYW1lIHBhcnQgb25seSBhbmQgdmVyaWZ5IGlwYU9yaWdpbmFs VWlkCisrICAgICAqIGNvbnRpbnVlcyB3aXRoICdAJyBhdCB0aGF0IHBvc2l0aW9uLiAqLworKyAg ICBpZiAoaW5mby0+Y2xpZW50X25hbWVfaXNfcXVhbGlmaWVkKSB7CisrICAgICAgICAvKiBGdWxs IGNvbXBhcmlzb246IGNsaWVudF9uYW1lIGxlbmd0aCBtdXN0IG1hdGNoIGJ2X2xlbiAqLworKyAg ICAgICAgbWlzbWF0Y2ggPSAoc3RybGVuKGluZm8tPmNsaWVudF9uYW1lKSAhPSB1aWRfdmFsdWVz WzBdLT5idl9sZW4gfHwKKysgICAgICAgICAgICAgICAgICAgIDAgIT0gc3RybmNhc2VjbXAoaW5m by0+Y2xpZW50X25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp ZF92YWx1ZXNbMF0tPmJ2X3ZhbCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWlkX3ZhbHVlc1swXS0+YnZfbGVuKSk7CisrICAgIH0gZWxzZSB7CisrICAgICAgICAvKiBO YW1lIHBhcnQgb25seTogdW5xdWFsaWZpZWRfY25fbGVuIG11c3QgYmUgbGVzcyB0aGFuIGJ2X2xl biwKKysgICAgICAgICAqIHRoZSBuYW1lIHBhcnQgbXVzdCBtYXRjaCwgYW5kIGJ2X3ZhbCBtdXN0 IGhhdmUgJ0AnIGF0IHRoYXQKKysgICAgICAgICAqIHBvc2l0aW9uICovCisrICAgICAgICBtaXNt YXRjaCA9IChpbmZvLT51bnF1YWxpZmllZF9jbl9sZW4gPj0gdWlkX3ZhbHVlc1swXS0+YnZfbGVu IHx8CisrICAgICAgICAgICAgICAgICAgICAwICE9IHN0cm5jYXNlY21wKGluZm8tPmNsaWVudF9u YW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aWRfdmFsdWVzWzBd LT5idl92YWwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8tPnVu cXVhbGlmaWVkX2NuX2xlbikgfHwKKysgICAgICAgICAgICAgICAgICAgIHVpZF92YWx1ZXNbMF0t PmJ2X3ZhbFtpbmZvLT51bnF1YWxpZmllZF9jbl9sZW5dICE9ICdAJyk7CisgICAgIH0KKyAKKy0g ICAgLyogQ29tcGFyZSBvdmVycmlkZSB1c2VybmFtZSB3aXRoIHRpY2tldCBjbmFtZSAqLworLSAg ICBpZiAoMCAhPSBzdHJuY21wKHVpZF92YWx1ZXNbMF0tPmJ2X3ZhbCwgdGlja2V0X2NuYW1lLAor LSAgICAgICAgICAgICAgICAgICAgIHVpZF92YWx1ZXNbMF0tPmJ2X2xlbikgfHwKKy0gICAgICAg ICdcMCcgIT0gdGlja2V0X2NuYW1lW3VpZF92YWx1ZXNbMF0tPmJ2X2xlbl0pIHsKKy0gICAgICAg ICpzdGF0dXMgPSAiVFJVU1RfT1ZFUlJJREVfVUlEX0NOQU1FX01JU01BVENIIjsKKysgICAgaWYg KG1pc21hdGNoKSB7CisrICAgICAgICAqc3RhdHVzID0gIlRSVVNUX09WRVJSSURFX1VJRF9NSVNN QVRDSCI7CisgICAgICAgICBrZXJyID0gS1JCNUtEQ19FUlJfUE9MSUNZOworICAgICAgICAgZ290 byBlbmQ7CisgICAgIH0KK0BAIC01MDgsOCArNTY5LDYgQEAgaXBhZGJfY2hlY2tfdHJ1c3Rfdmll d19vdmVycmlkZShrcmI1X2NvbnRleHQgY29udGV4dCwKKyBlbmQ6CisgICAgIGlmICh1aWRfdmFs dWVzKQorICAgICAgICAgbGRhcF92YWx1ZV9mcmVlX2xlbih1aWRfdmFsdWVzKTsKKy0gICAgaWYg KHRpY2tldF9jbmFtZSkKKy0gICAgICAgIGtyYjVfZnJlZV91bnBhcnNlZF9uYW1lKGNvbnRleHQs IHRpY2tldF9jbmFtZSk7CisgICAgIGlmIChyZXMpCisgICAgICAgICBsZGFwX21zZ2ZyZWUocmVz KTsKKyAgICAgaWYgKGZpbHRlcikKK0BAIC01MjAsMTAgKzU3OSw4IEBAIGlwYWRiX2NoZWNrX3Ry dXN0X3ZpZXdfb3ZlcnJpZGUoa3JiNV9jb250ZXh0IGNvbnRleHQsCisgICAgIHJldHVybiBrZXJy OworIH0KKyAKKy0vKiBDaGVjayB0aGF0IGVudGVycHJpc2UgcHJpbmNpcGFsIGhhcyBxdWFsaWZp ZWQgVVBOIGluIFBBQworLSAqIFVQTiBNVVNUIGJlIHF1YWxpZmllZCBpZiBpdCBpcyBOT1QgY29u c3RydWN0ZWQgKFUgZmxhZyBub3Qgc2V0KS4KKy0gKiBMT0dPTl9JTkZPIGFuZCBDTElFTlRfSU5G TyBtdXN0IGJlIHByZXNlbnQgKGFzc2VydGVkKS4KKy0gKi8KKysvKiBGb3IgZW50ZXJwcmlzZSBw cmluY2lwYWxzLCBVUE4gbXVzdCBiZSBxdWFsaWZpZWQgdW5sZXNzIGNvbnN0cnVjdGVkCisrICog KFUgZmxhZyBzZXQpLCBwZXIgTVMtS0lMRSAzLjMuNS4yLiAqLworIHN0YXRpYyBrcmI1X2Vycm9y X2NvZGUKKyBpcGFkYl9jaGVja191cG5fcXVhbGlmaWVkKGtyYjVfY29udGV4dCBjb250ZXh0LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGNyb3NzcmVhbG1fdGd0X2lu Zm8gKmluZm8sCitAQCAtNTU4LDE0ICs2MTUsNyBAQCBpcGFkYl9jaGVja191cG5fcXVhbGlmaWVk KGtyYjVfY29udGV4dCBjb250ZXh0LAorICAgICByZXR1cm4gMDsKKyB9CisgCistLyogTWFpbiBm dW5jdGlvbiB0byBjaGVjayB0cnVzdCBQQUMgY29udGVudAorLSAqCistICogUGVyZm9ybXMgc2Vj dXJpdHkgY2hlY2tzIG9uIHRydXN0IFRHUy1SRVE6CistICogMS4gQ3Jvc3MtdmFsaWRhdGlvbiAt IHZlcmlmeSBQQUMgYXR0cmlidXRlcyBjb25zaXN0ZW5jeQorLSAqIDIuIFVzZXIgcmVnaXN0cmF0 aW9uIC0gcmVxdWVzdGVyIFNJRCBtdXN0IGV4aXN0IGluIERlZmF1bHQgVHJ1c3QgVmlldworLSAq IDMuIFVQTiBxdWFsaWZpY2F0aW9uIC0gZW50ZXJwcmlzZSBwcmluY2lwYWxzIG11c3QgaGF2ZSBx dWFsaWZpZWQgVVBOCistICogICAgKGlmIG5vdCBjb25zdHJ1Y3RlZCkKKy0gKi8KKysvKiBFbnRy eSBwb2ludCBmb3IgdHJ1c3QgUEFDIGNvbnRlbnQgY2hlY2tzLiBTZWUgZmlsZSBoZWFkZXIuICov Cisga3JiNV9lcnJvcl9jb2RlCisgaXBhZGJfY2hlY2tfdHJ1c3RfcGFjX2NvbnRlbnQoa3JiNV9j b250ZXh0IGNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qga3Ji NV9rZGNfcmVxICpyZXF1ZXN0LAorQEAgLTU3NCw3ICs2MjQsNyBAQCBpcGFkYl9jaGVja190cnVz dF9wYWNfY29udGVudChrcmI1X2NvbnRleHQgY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBjaGFyICoqc3RhdHVzKQorIHsKKyAgICAgc3RydWN0IGNyb3NzcmVh bG1fdGd0X2luZm8gaW5mbzsKKy0gICAga3JiNV9lcnJvcl9jb2RlIGtlcnIgPSBFSU5WQUw7Cisr ICAgIGtyYjVfZXJyb3JfY29kZSBrZXJyID0gS1JCNUtEQ19FUlJfUE9MSUNZOworIAorICAgICAv KiBJbml0aWFsaXplIFBBQyBjaGVjayBpbmZvIHN0cnVjdHVyZSBhbmQgY3JlYXRlIHRhbGxvYyBj b250ZXh0ICovCisgICAgIGtlcnIgPSBpcGFkYl90cnVzdF9wYWNfaW5mb19pbml0KCZpbmZvKTsK CmRpZmYgLS1naXQgYS9mcmVlaXBhLXByLTg1NTgucGF0Y2ggYi9mcmVlaXBhLXByLTg1NTgucGF0 Y2gKaW5kZXggYTlhYTQ5NC4uMDQzZjA3YiAxMDA2NDQKLS0tIGEvZnJlZWlwYS1wci04NTU4LnBh dGNoCisrKyBiL2ZyZWVpcGEtcHItODU1OC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gM2Mz N2I1YWI5YmRiMGQxNzg4MTgwYjU4NmI1ZjgxNDUzNWQ4OTJjZiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb20gOGYzM2MxMzA0ZGVjMTY3ZTg0NDA3NGU4OWZjYTg1N2ZkM2E0MGRmMCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUBy ZWRoYXQuY29tPgogRGF0ZTogTW9uLCA3IFNlcCAyMDI2IDE2OjEyOjMzICswMzAwCi1TdWJqZWN0 OiBbUEFUQ0hdIEFsbG93IGZpbmUgdHVuZWQgcHJpdmlsZWdlIGNoZWNrCitTdWJqZWN0OiBbUEFU Q0ggMS80XSBBbGxvdyBmaW5lIHR1bmVkIHByaXZpbGVnZSBjaGVjawogCiBMZXQgdXNlcnMgcGFz cyB0aHJvdWdoIHRoZSBwcml2aWxlZ2UgY2hlY2sgaWYgZWl0aGVyCiAtIHdob2xlIGVudHJ5IHJl YWQgZ3JhbnRlZCAoJ3YnIGluIHRoZSBHRVIgcmVzcG9uc2UpCkBAIC0xMCwxOSArMTAsNzQgQEAg TGV0IHVzZXJzIHBhc3MgdGhyb3VnaCB0aGUgcHJpdmlsZWdlIGNoZWNrIGlmIGVpdGhlcgogVGhp cyBpcyBlbm91Z2ggdG8gYWxsb3cgTERBUFJldHJpZXZlIHRvIHBhc3MsIGJlY2F1c2UgdGhlIHJl c3QgaXMKIGNvbnRyb2xsZWQgYnkgdGhlIGV4cGxpY2l0IEFDSXMgaW4gTERBUC4KIAorUmVtb3Zl IHBlcm1pc3Npb24gY2hlY2tzIGZyb20gbWVtYmVyLW1hbmFnZW1lbnQgY29tbWFuZHMgYXMgdGhl eSBhcHBseQordGhvc2UgQUNJIGNoZWNrcyBwZXIgZWFjaCBpbmRpdmlkdWFsIG1lbWJlciAoc29t ZSBtaWdodCBmYWlsLCBzb21lIHdpbGwKK3N1Y2NlZWQpLiBUaGUgcGFydGlhbCBzdWNjZXNzIGlz IHN1cHBvcnRlZCBhbmQgZXhwZWN0ZWQgYnkgdGVzdHMuCisKIFJlbGF0ZWQ6IENWRS0yMDI2LTc5 Njc4CiAKIFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQu Y29tPgogLS0tCi0gaXBhc2VydmVyL3BsdWdpbnMvYmFzZWxkYXAucHkgIHwgMjcgKysrKysrKysr KysrKysrKysrKysrKy0tLS0tCi0gaXBhc2VydmVyL3BsdWdpbnMvcHJpdmlsZWdlLnB5IHwgMjkg KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDQzIGluc2Vy dGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQorIGlwYXNlcnZlci9wbHVnaW5zL2Jhc2VsZGFwLnB5 ICB8IDk4ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KKyBpcGFzZXJ2ZXIvcGx1 Z2lucy9wcml2aWxlZ2UucHkgfCAyOSArKysrKysrLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA5OCBp bnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9w bHVnaW5zL2Jhc2VsZGFwLnB5IGIvaXBhc2VydmVyL3BsdWdpbnMvYmFzZWxkYXAucHkKLWluZGV4 IGQ2OTNjNzExMi4uZTc1MWRjNjczIDEwMDY0NAoraW5kZXggZDY5M2M3MTEyZDUuLjEyMmEyNzlm MmJiIDEwMDY0NAogLS0tIGEvaXBhc2VydmVyL3BsdWdpbnMvYmFzZWxkYXAucHkKICsrKyBiL2lw YXNlcnZlci9wbHVnaW5zL2Jhc2VsZGFwLnB5Ci1AQCAtMTA1NCwxMSArMTA1NCwyMiBAQCBsYXN0 LCBhZnRlciBhbGwgc2V0cyBhbmQgYWRkcy4iIiIpLAorQEAgLTEwMDEsNyArMTAwMSwxMCBAQCBj bGFzcyBCYXNlTERBUENvbW1hbmQoTWV0aG9kKToKKyAgICAgZW5mb3JjZV9tYW5hZ2VkX3Blcm1p c3Npb25fb3BlcmF0aW9ucyA9IFtdCisgCisgICAgIGRlZiBlbmZvcmNlX21hbmFnZWRfcGVybWlz c2lvbnMoc2VsZiwgKmtleXMsICoqb3B0aW9ucyk6CistICAgICAgICBmcm9tIGlwYXNlcnZlci5w bHVnaW5zLnByaXZpbGVnZSBpbXBvcnQgcHJpbmNpcGFsX2hhc19wcml2aWxlZ2UKKysgICAgICAg ICMgYXZvaWQgY2lyY3VsYXIgaW1wb3J0IHRocm91Z2ggZXhwbGljaXQgcGx1Z2luIHJlZmVyZW5j ZQorKyAgICAgICAgcHJpbmNpcGFsX2hhc19wcml2aWxlZ2UgPSAoCisrICAgICAgICAgICAgc2Vs Zi5hcGkucGFja2FnZXNbMF0ucHJpdmlsZWdlLnByaW5jaXBhbF9oYXNfcHJpdmlsZWdlCisrICAg ICAgICApCisgICAgICAgICBtcCA9IGdldGF0dHIoc2VsZi5vYmosICdtYW5hZ2VkX3Blcm1pc3Np b25zJywgTm9uZSkKKyAgICAgICAgIGlmIG5vdCBtcDoKKyAgICAgICAgICAgICByZXR1cm4KK0BA IC0xMDI0LDIzICsxMDI3LDMxIEBAIGRlZiBoYXNfcHJpdmlsZWdlKHByaXYpOgorICAgICAgICAg ICAgICAgICAgICAgc2VsZi5hcGksIG9wX2FjY291bnQsIHByaXYpCisgICAgICAgICAgICAgcmV0 dXJuIHByaXZfY2FjaGVbcHJpdl0KKyAKKy0gICAgICAgICMgRWZmZWN0aXZlIHJpZ2h0cywgaWYg bmVlZGVkIGF0IGFsbCwgYXJlIGZldGNoZWQgb25jZSBpbiBhIHNpbmdsZQorLSAgICAgICAgIyBn ZXQtZWZmZWN0aXZlLXJpZ2h0cyByb3VuZCB0cmlwIHNoYXJlZCBieSBldmVyeSBwZXJtaXNzaW9u IGJlbG93LgorLSAgICAgICAgIyBwcm9iZVsncmVzJ10gaXMgKGVudHJ5X3JpZ2h0cywge2F0dHI6 IHJpZ2h0c30pIG9yIE5vbmUgKG5vIGVudHJ5KS4KKy0gICAgICAgIHByb2JlID0ge30KKysgICAg ICAgICMgTERBUERlbGV0ZSBhbmQgb3RoZXIgTERBUE11bHRpUXVlcnkgY29tbWFuZHMgcGFzcyB0 aGUgdHJhaWxpbmcKKysgICAgICAgICMgcHJpbWFyeSBrZXkgYXMgYSAqbGlzdCogb2YgcGtleXMg YW5kIGFjdCBvbiBlYWNoIHRhcmdldCBlbnRyeSBpbgorKyAgICAgICAgIyB0dXJuIChzZWUgTERB UERlbGV0ZS5leGVjdXRlKS4gZ2V0X2RuIGFuZCB0aGUgZWZmZWN0aXZlLXJpZ2h0cyBwcm9iZXMK KysgICAgICAgICMgYmVsb3cgb3BlcmF0ZSBvbiBhIHNpbmdsZSBlbnRyeSwgc28gZXhwYW5kIHRo ZSBvcGVyYXRpb24gaW50byBpdHMKKysgICAgICAgICMgaW5kaXZpZHVhbCB0YXJnZXRzIGFuZCBy ZXF1aXJlIHRoZSByaWdodCBvbiBldmVyeSBvbmUgb2YgdGhlbS4KKysgICAgICAgIHRhcmdldF9r ZXlzID0gc2VsZi5fZXhwYW5kX3RhcmdldF9rZXlzKGtleXMpCisgCistICAgICAgICBkZWYgcmln aHRzX2FsbG93KHJpZ2h0LCBwZXJtLCB0b3VjaGVkKToKKysgICAgICAgICMgRWZmZWN0aXZlIHJp Z2h0cywgaWYgbmVlZGVkIGF0IGFsbCwgYXJlIGZldGNoZWQgYXQgbW9zdCBvbmNlIHBlcgorKyAg ICAgICAgIyB0YXJnZXQgaW4gYSBzaW5nbGUgZ2V0LWVmZmVjdGl2ZS1yaWdodHMgcm91bmQgdHJp cCBzaGFyZWQgYnkgZXZlcnkKKysgICAgICAgICMgcGVybWlzc2lvbiBjaGVja2VkIGZvciB0aGF0 IHRhcmdldC4gcHJvYmVzW2ldWydyZXMnXSBpcworKyAgICAgICAgIyAoZW50cnlfcmlnaHRzLCB7 YXR0cjogcmlnaHRzfSkgb3IgTm9uZSAobm8gZW50cnkpLgorKyAgICAgICAgcHJvYmVzID0gW3t9 IGZvciBfIGluIHRhcmdldF9rZXlzXQorKworKyAgICAgICAgZGVmIHJpZ2h0X2FsbG93ZWRfZm9y KHJpZ2h0LCBwZXJtLCB0b3VjaGVkLCBwcm9iZSwgdGtleXMpOgorICAgICAgICAgICAgIGlmIHJp Z2h0ID09ICdhZGQnOgorICAgICAgICAgICAgICAgICAjIFRoZSB0YXJnZXQgZG9lcyBub3QgZXhp c3QgeWV0IGFuZCB0YXJnZXQtc2NvcGVkL1NFTEZETiBhZGQKKyAgICAgICAgICAgICAgICAgIyBB Q0lzIGNhbm5vdCBiZSBldmFsdWF0ZWQgdGhyb3VnaCBhIGdldC1lZmZlY3RpdmUtcmlnaHRzCisg ICAgICAgICAgICAgICAgICMgdGVtcGxhdGUgcHJvYmUsIHNvIGRldGVjdCB0aGUgcmlnaHQgd2l0 aCBhIHRyaWFsIGFkZCBvZiB0aGUKKyAgICAgICAgICAgICAgICAgIyByZWFsIHRhcmdldCBlbnRy eSAoc2VlIF9jYW5fYWRkX3RhcmdldCkuCisgICAgICAgICAgICAgICAgIGlmICdhZGQnIG5vdCBp biBwcm9iZToKKy0gICAgICAgICAgICAgICAgICAgIHByb2JlWydhZGQnXSA9IHNlbGYuX2Nhbl9h ZGRfdGFyZ2V0KCprZXlzLCAqKm9wdGlvbnMpCisrICAgICAgICAgICAgICAgICAgICBwcm9iZVsn YWRkJ10gPSBzZWxmLl9jYW5fYWRkX3RhcmdldCgqdGtleXMsICoqb3B0aW9ucykKKyAgICAgICAg ICAgICAgICAgcmV0dXJuIHByb2JlWydhZGQnXQorICAgICAgICAgICAgIGlmICdyZXMnIG5vdCBp biBwcm9iZToKKyAgICAgICAgICAgICAgICAgcHJvYmVbJ3JlcyddID0gc2VsZi5fcHJvYmVfZWZm ZWN0aXZlX3JpZ2h0cygKKy0gICAgICAgICAgICAgICAgICAgIG1wLCBlbmZvcmNlX21wLCAqa2V5 cywgKipvcHRpb25zKQorKyAgICAgICAgICAgICAgICAgICAgbXAsIGVuZm9yY2VfbXAsICp0a2V5 cywgKipvcHRpb25zKQorICAgICAgICAgICAgIHJlcyA9IHByb2JlWydyZXMnXQorICAgICAgICAg ICAgIGlmIHJlcyBpcyBOb25lOgorICAgICAgICAgICAgICAgICAjIEVudHJ5IGRvZXMgbm90IGV4 aXN0OyBsZXQgdGhlIG9wZXJhdGlvbiByZXBvcnQgaXQgcHJvcGVybHkuCitAQCAtMTA1NCwxMSAr MTA2NSwzMSBAQCBkZWYgcmlnaHRzX2FsbG93KHJpZ2h0LCBwZXJtLCB0b3VjaGVkKToKICAgICAg ICAgICAgICAgICAgaWYgbm90IGF0dHJzOgogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRy dWUKICAgICAgICAgICAgICAgICAgcmV0dXJuIGFueSgndycgaW4gYXR0cl9yaWdodHMuZ2V0KGEs ICcnKSBmb3IgYSBpbiBhdHRycykKQEAgLTQ2LDEwICsxMDEsNDAgQEAgaW5kZXggZDY5M2M3MTEy Li5lNzUxZGM2NzMgMTAwNjQ0CiAgICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCiAtICAgICAg ICAgICAgcmV0dXJuIGFueSgncicgaW4gYXR0cl9yaWdodHMuZ2V0KGEsICcnKSBmb3IgYSBpbiBh dHRycykKICsgICAgICAgICAgICByZXR1cm4gYW55KCdyJyBpbiByIGZvciByIGluIGF0dHJfcmln aHRzLnZhbHVlcygpKQorKworKyAgICAgICAgZGVmIHJpZ2h0c19hbGxvdyhyaWdodCwgcGVybSwg dG91Y2hlZCk6CisrICAgICAgICAgICAgIyBQZXJtaXQgb25seSBpZiB0aGUgY2FsbGVyIG1heSBw ZXJmb3JtIHRoZSBvcGVyYXRpb24gb24gKmV2ZXJ5KgorKyAgICAgICAgICAgICMgdGFyZ2V0IGVu dHJ5IHRoZSBjb21tYW5kIG5hbWVzIChhIGJhdGNoIGRlbGV0ZS9yZXRyaWV2ZSBtdXN0IGJlCisr ICAgICAgICAgICAgIyBhdXRob3Jpc2VkIGZvciBhbGwgb2YgaXRzIHBrZXlzKS4KKysgICAgICAg ICAgICByZXR1cm4gYWxsKAorKyAgICAgICAgICAgICAgICByaWdodF9hbGxvd2VkX2ZvcihyaWdo dCwgcGVybSwgdG91Y2hlZCwgcHJvYmUsIHRrZXlzKQorKyAgICAgICAgICAgICAgICBmb3IgcHJv YmUsIHRrZXlzIGluIHppcChwcm9iZXMsIHRhcmdldF9rZXlzKQorKyAgICAgICAgICAgICkKICAK ICAgICAgICAgIG1vZGlmaWVkX2F0dHJzID0gTm9uZSAgIyBjb21wdXRlZCBsYXppbHksIG9ubHkg Zm9yICd3cml0ZScKICAgICAgICAgIGZvciBtIGluIG1wLmtleXMoKToKLUBAIC0xMjE0LDggKzEy MjUsMTQgQEAgbGFzdCwgYWZ0ZXIgYWxsIHNldHMgYW5kIGFkZHMuIiIiKSwKK0BAIC0xMTA2LDYg KzExMzcsMjAgQEAgZGVmIHJpZ2h0c19hbGxvdyhyaWdodCwgcGVybSwgdG91Y2hlZCk6CisgICAg ICAgICAgICAgICAgIHJhaXNlIGVycm9ycy5BQ0lFcnJvcigKKyAgICAgICAgICAgICAgICAgICAg IGluZm89Xygibm90IGFsbG93ZWQgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbiIpKQorIAorKyAg ICBkZWYgX2V4cGFuZF90YXJnZXRfa2V5cyhzZWxmLCBrZXlzKToKKysgICAgICAgICIiIkV4cGFu ZCBhbiBvcGVyYXRpb24ncyBrZXlzIGludG8gb25lIGtleS10dXBsZSBwZXIgdGFyZ2V0IGVudHJ5 LgorKworKyAgICAgICAgTERBUERlbGV0ZSBhbmQgb3RoZXIgTERBUE11bHRpUXVlcnkgY29tbWFu ZHMgcGFzcyB0aGUgdHJhaWxpbmcgcHJpbWFyeQorKyAgICAgICAga2V5IGFzIGEgbGlzdCBvZiBw a2V5cyBhbmQgaXRlcmF0ZSBvdmVyIGl0LCBjYWxsaW5nIGdldF9kbiBvbmNlIHBlcgorKyAgICAg ICAgZW50cnkgKHNlZSBMREFQRGVsZXRlLmV4ZWN1dGUpLiBnZXRfZG4gYW5kIHRoZSBlZmZlY3Rp dmUtcmlnaHRzIHByb2JlcworKyAgICAgICAgZXhwZWN0IGEgc2luZ2xlIHBrZXksIHNvIG1pcnJv ciB0aGF0IGV4cGFuc2lvbiBoZXJlLiBGb3Igb3JkaW5hcnkKKysgICAgICAgIHNpbmdsZS10YXJn ZXQgY29tbWFuZHMgdGhlIGtleXMgYXJlIHJldHVybmVkIHVuY2hhbmdlZCBhcyBvbmUgdHVwbGUu CisrICAgICAgICAiIiIKKysgICAgICAgIGlmIGtleXMgYW5kIHNlbGYub2JqLnByaW1hcnlfa2V5 IGFuZCBpc2luc3RhbmNlKAorKyAgICAgICAgICAgICAgICBrZXlzWy0xXSwgKGxpc3QsIHR1cGxl KSk6CisrICAgICAgICAgICAgcmV0dXJuIFtrZXlzWzotMV0gKyAocGtleSwpIGZvciBwa2V5IGlu IGtleXNbLTFdXQorKyAgICAgICAgcmV0dXJuIFt0dXBsZShrZXlzKV0KKysKKyAgICAgZGVmIF9t b2RpZmllZF9hdHRyaWJ1dGVzKHNlbGYsICoqb3B0aW9ucyk6CisgICAgICAgICAiIiJCZXN0LWVm Zm9ydCBzZXQgb2YgTERBUCBhdHRyaWJ1dGVzIGFuIHVwZGF0ZSBvcGVyYXRpb24gY2hhbmdlcy4K KyAKK0BAIC0xMjE0LDggKzEyNTksMTQgQEAgZGVmIF9wcm9iZV9lZmZlY3RpdmVfcmlnaHRzKHNl bGYsIG1wLCBlbmZvcmNlX21wLCAqa2V5cywgKipvcHRpb25zKToKICAgICAgICAgICAgICAgICAg Y29udGludWUKICAgICAgICAgICAgICBuZWVkZWQudXBkYXRlKGEubG93ZXIoKSBmb3IgYSBpbiBw ZXJtLmdldCgnaXBhcGVybWRlZmF1bHRhdHRyJywgKCkpKQogIApAQCAtNjUsOCArMTUwLDcxIEBA IGluZGV4IGQ2OTNjNzExMi4uZTc1MWRjNjczIDEwMDY0NAogICAgICAgICAgZXhjZXB0IGVycm9y cy5Ob3RGb3VuZDoKICAgICAgICAgICAgICByZXR1cm4gTm9uZQogIAorQEAgLTIwMjAsNyArMjA3 MSw5IEBAIGNsYXNzIExEQVBBZGRNZW1iZXIoTERBUE1vZE1lbWJlcik6CisgICAgIG1lbWJlcl9w YXJhbV9kb2MgPSBfKCclcyB0byBhZGQnKQorICAgICBtZW1iZXJfY291bnRfb3V0ID0gKCclaSBt ZW1iZXIgYWRkZWQuJywgJyVpIG1lbWJlcnMgYWRkZWQuJykKKyAgICAgYWxsb3dfc2FtZSA9IEZh bHNlCistICAgIGVuZm9yY2VfbWFuYWdlZF9wZXJtaXNzaW9uX29wZXJhdGlvbnMgPSBbJ3dyaXRl J10KKysgICAgIyBNZW1iZXIgd3JpdGVzIGFyZSBlbmZvcmNlZCBwZXItbWVtYmVyIGJ5IDM4OS1k cyBhbmQgcmVwb3J0ZWQgZ3JhY2VmdWxseQorKyAgICAjIGluIHRoZSBjb21tYW5kJ3MgYGZhaWxl ZGAgb3V0cHV0LCBzbyBubyBBUEktbGV2ZWwgZ2F0ZSBpcyBhcHBsaWVkIGhlcmUKKysgICAgIyAo YW4gdXAtZnJvbnQgQUNJRXJyb3Igd291bGQgYWJvcnQgdGhlIHdob2xlIGJhdGNoIGluc3RlYWQp LgorIAorICAgICBoYXNfb3V0cHV0ID0gKAorICAgICAgICAgb3V0cHV0LkVudHJ5KCdyZXN1bHQn KSwKK0BAIC0yMDM3LDggKzIwOTAsNiBAQCBjbGFzcyBMREFQQWRkTWVtYmVyKExEQVBNb2RNZW1i ZXIpOgorICAgICBoYXNfb3V0cHV0X3BhcmFtcyA9IGdsb2JhbF9vdXRwdXRfcGFyYW1zCisgCisg ICAgIGRlZiBleGVjdXRlKHNlbGYsICprZXlzLCAqKm9wdGlvbnMpOgorLSAgICAgICAgc2VsZi5l bmZvcmNlX21hbmFnZWRfcGVybWlzc2lvbnMoKmtleXMsICoqb3B0aW9ucykKKy0KKyAgICAgICAg IGxkYXAgPSBzZWxmLm9iai5iYWNrZW5kCisgCisgICAgICAgICAobWVtYmVyX2RucywgZmFpbGVk KSA9IHNlbGYuZ2V0X21lbWJlcl9kbnMoKipvcHRpb25zKQorQEAgLTIxMjEsNyArMjE3Miw5IEBA IGNsYXNzIExEQVBSZW1vdmVNZW1iZXIoTERBUE1vZE1lbWJlcik6CisgICAgICIiIgorICAgICBt ZW1iZXJfcGFyYW1fZG9jID0gXygnJXMgdG8gcmVtb3ZlJykKKyAgICAgbWVtYmVyX2NvdW50X291 dCA9ICgnJWkgbWVtYmVyIHJlbW92ZWQuJywgJyVpIG1lbWJlcnMgcmVtb3ZlZC4nKQorLSAgICBl bmZvcmNlX21hbmFnZWRfcGVybWlzc2lvbl9vcGVyYXRpb25zID0gWyd3cml0ZSddCisrICAgICMg TWVtYmVyIHdyaXRlcyBhcmUgZW5mb3JjZWQgcGVyLW1lbWJlciBieSAzODktZHMgYW5kIHJlcG9y dGVkIGdyYWNlZnVsbHkKKysgICAgIyBpbiB0aGUgY29tbWFuZCdzIGBmYWlsZWRgIG91dHB1dCwg c28gbm8gQVBJLWxldmVsIGdhdGUgaXMgYXBwbGllZCBoZXJlCisrICAgICMgKGFuIHVwLWZyb250 IEFDSUVycm9yIHdvdWxkIGFib3J0IHRoZSB3aG9sZSBiYXRjaCBpbnN0ZWFkKS4KKyAKKyAgICAg aGFzX291dHB1dCA9ICgKKyAgICAgICAgIG91dHB1dC5FbnRyeSgncmVzdWx0JyksCitAQCAtMjEz OCw4ICsyMTkxLDYgQEAgY2xhc3MgTERBUFJlbW92ZU1lbWJlcihMREFQTW9kTWVtYmVyKToKKyAg ICAgaGFzX291dHB1dF9wYXJhbXMgPSBnbG9iYWxfb3V0cHV0X3BhcmFtcworIAorICAgICBkZWYg ZXhlY3V0ZShzZWxmLCAqa2V5cywgKipvcHRpb25zKToKKy0gICAgICAgIHNlbGYuZW5mb3JjZV9t YW5hZ2VkX3Blcm1pc3Npb25zKCprZXlzLCAqKm9wdGlvbnMpCistCisgICAgICAgICBsZGFwID0g c2VsZi5vYmouYmFja2VuZAorIAorICAgICAgICAgKG1lbWJlcl9kbnMsIGZhaWxlZCkgPSBzZWxm LmdldF9tZW1iZXJfZG5zKCoqb3B0aW9ucykKK0BAIC0yNzE1LDggKzI3NjYsNiBAQCBkZWYgX3Vw ZGF0ZV9hdHRycyhzZWxmLCB1cGRhdGUsIGVudHJ5X2F0dHJzKToKKyAgICAgICAgICkKKyAKKyAg ICAgZGVmIGV4ZWN1dGUoc2VsZiwgKmtleXMsICoqb3B0aW9ucyk6CistICAgICAgICBzZWxmLmVu Zm9yY2VfbWFuYWdlZF9wZXJtaXNzaW9ucygqa2V5cywgKipvcHRpb25zKQorLQorICAgICAgICAg bGRhcCA9IHNlbGYub2JqLmJhY2tlbmQKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBpbmRl eCA9IHR1cGxlKHNlbGYuYXJncykuaW5kZXgoc2VsZi5hdHRyaWJ1dGUpCitAQCAtMjcyNSw2ICsy Nzc0LDEzIEBAIGRlZiBleGVjdXRlKHNlbGYsICprZXlzLCAqKm9wdGlvbnMpOgorICAgICAgICAg ZWxzZToKKyAgICAgICAgICAgICBvYmpfa2V5cyA9IGtleXNbOmluZGV4XQorIAorKyAgICAgICAg IyBFbmZvcmNlIG9uIHRoZSB0YXJnZXQgZW50cnkncyBvd24ga2V5cy4gIEZvciB0aGUgYXJnLWJh c2VkIHZhcmlhbnRzCisrICAgICAgICAjIHRoZSBhdHRyaWJ1dGUgdmFsdWUgaXMgYSB0cmFpbGlu ZyBwb3NpdGlvbmFsIGFyZyB0aGF0IGlzIG5vdCBwYXJ0IG9mCisrICAgICAgICAjIHRoZSBlbnRy eSdzIEROIChzZWUgb2JqX2tleXMpLCBzbyBpdCBtdXN0IGJlIGV4Y2x1ZGVkIGhlcmU6IHBhc3Np bmcKKysgICAgICAgICMgdGhlIGZ1bGwga2V5cyB3b3VsZCBtYWtlIHRoZSBlZmZlY3RpdmUtcmln aHRzIHByb2JlJ3MgZ2V0X2RuIHRhcmdldCBhCisrICAgICAgICAjIGJvZ3VzIEROIGFuZCBzaWxl bnRseSBieXBhc3MgdGhlIGNoZWNrLgorKyAgICAgICAgc2VsZi5lbmZvcmNlX21hbmFnZWRfcGVy bWlzc2lvbnMoKm9ial9rZXlzLCAqKm9wdGlvbnMpCisrCisgICAgICAgICBkbiA9IHNlbGYub2Jq LmdldF9kbigqb2JqX2tleXMsICoqb3B0aW9ucykKKyAgICAgICAgIGVudHJ5X2F0dHJzID0gbGRh cC5tYWtlX2VudHJ5KGRuLCBzZWxmLmFyZ3Nfb3B0aW9uc18yX2VudHJ5KAorICAgICAgICAgICAg ICprZXlzLCAqKm9wdGlvbnMpKQogZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9wbHVnaW5zL3ByaXZp bGVnZS5weSBiL2lwYXNlcnZlci9wbHVnaW5zL3ByaXZpbGVnZS5weQotaW5kZXggNDdmMjdmMTJj Li42NTE5OWFkYzAgMTAwNjQ0CitpbmRleCA0N2YyN2YxMmM3ZC4uNjUxOTlhZGMwZDggMTAwNjQ0 CiAtLS0gYS9pcGFzZXJ2ZXIvcGx1Z2lucy9wcml2aWxlZ2UucHkKICsrKyBiL2lwYXNlcnZlci9w bHVnaW5zL3ByaXZpbGVnZS5weQogQEAgLTkyLDExICs5MiwyOCBAQCBkZWYgcHJpbmNpcGFsX2hh c19wcml2aWxlZ2UoYXBpLCBwcmluY2lwYWwsIHByaXZpbGVnZSk6CkBAIC0xMTMsNiArMjYxLDU1 MSBAQCBpbmRleCA0N2YyN2YxMmMuLjY1MTk5YWRjMCAxMDA2NDQKICAgICAgIyBTZWNvbmQgdHJ5 OiBDaGVjayBpZiB0aGVyZSBpcyBhbiBpZG92ZXJyaWRlIGZvciB0aGUgcHJpbmNpcGFsIGFzCiAg ICAgICMgaXBhT3JpZ2luYWxVaWQgdGhhdCBoYXMgdGhlIG5lZWRlZCBwcml2aWxlZ2UuCiAgICAg IGZpbHRlciA9IGxkYXAubWFrZV9maWx0ZXIoCi0tLSAKLTIuNTUuMAogCitGcm9tIGIxYWYxZDhi YmZhZDI1YzU5MDczYjYxOTc4MDhkNTcxOTdjNTA2MmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KK0RhdGU6IFR1 ZSwgOCBTZXAgMjAyNiAwOTo1NDo1NyArMDMwMAorU3ViamVjdDogW1BBVENIIDIvNF0gaXBhdGVz dHM6IGZpeCBYTUxSUEMgdGVzdCBleHBlY2F0aW9ucworCitUd28gY2xhc3NlcyBvZiBiZWhhdmlv ciBjaGFuZ2VzOgorCisgLSBwZXJtaXNzaW9uIGJhc2VsaW5lIGlzIG5vdyAncmVhZCcsIG5vdCAn d3JpdGUnCisgLSBzZWxmLXNlcnZpY2UgTERBUCBBQ0kgaXMgc2xpZ2h0bHkgZGlmZmVyZW50CisK K1JlbGF0ZWQ6IENWRS0yMDI2LTc5Njc4CisKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBCb2tv dm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgorLS0tCisgLi4uL3Rlc3RfeG1scnBjL3Rlc3RfcGVy bWlzc2lvbl9wbHVnaW4ucHkgICAgIHwgNDYgKysrKysrKysrKysrLS0tLS0tLQorIC4uLi90ZXN0 X3htbHJwYy90ZXN0X3NlbGZzZXJ2aWNlX3BsdWdpbi5weSAgICB8ICA4ICsrLS0KKyAyIGZpbGVz IGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0 IGEvaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF9wZXJtaXNzaW9uX3BsdWdpbi5weSBiL2lwYXRl c3RzL3Rlc3RfeG1scnBjL3Rlc3RfcGVybWlzc2lvbl9wbHVnaW4ucHkKK2luZGV4IGRiY2QxMTcz ZDdmLi44NGI4OGUwYzc2NCAxMDA2NDQKKy0tLSBhL2lwYXRlc3RzL3Rlc3RfeG1scnBjL3Rlc3Rf cGVybWlzc2lvbl9wbHVnaW4ucHkKKysrKyBiL2lwYXRlc3RzL3Rlc3RfeG1scnBjL3Rlc3RfcGVy bWlzc2lvbl9wbHVnaW4ucHkKK0BAIC0zMTgyLDYgKzMxODIsMTggQEAgY2xhc3MgdGVzdF9wZXJt aXNzaW9uX2JpbmR0eXBlKERlY2xhcmF0aXZlKToKKyAgICAgICAgICAgICBleHBlY3RlZD1kaWN0 KAorICAgICAgICAgICAgICAgICB2YWx1ZT1wZXJtaXNzaW9uMSwKKyAgICAgICAgICAgICAgICAg c3VtbWFyeT11J0FkZGVkIHBlcm1pc3Npb24gIiVzIicgJSBwZXJtaXNzaW9uMSwKKysgICAgICAg ICAgICAgICAgbWVzc2FnZXM9KAorKyAgICAgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAg ICAgICAgICAgICAgICdtZXNzYWdlJzogKCdUaGUgcGVybWlzc2lvbiBoYXMgcmVhZCByaWdodHMg YnV0IG5vICcKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXR0cmlidXRl cyBhcmUgc2V0LicpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICdjb2RlJzogMTMwMzIsCisr ICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnOiAnd2FybmluZycsCisrICAgICAgICAgICAg ICAgICAgICAgICAgJ25hbWUnOiAnTWlzc2luZ1RhcmdldEF0dHJpYnV0ZXNpblBlcm1pc3Npb24n LAorKyAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJzogeworKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAncmlnaHQnOiAncmVhZCcsCisrICAgICAgICAgICAgICAgICAgICAgICAgfQor KyAgICAgICAgICAgICAgICAgICAgfSwKKysgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAg ICAgICAgcmVzdWx0PWRpY3QoCisgICAgICAgICAgICAgICAgICAgICBkbj1wZXJtaXNzaW9uMV9k biwKKyAgICAgICAgICAgICAgICAgICAgIGNuPVtwZXJtaXNzaW9uMV0sCitAQCAtMzI0NSwxMyAr MzI1NywxMyBAQCBjbGFzcyB0ZXN0X3Blcm1pc3Npb25fYmluZHR5cGUoRGVjbGFyYXRpdmUpOgor ICAgICAgICAgICAgICAgICBzdW1tYXJ5PXUnTW9kaWZpZWQgcGVybWlzc2lvbiAiJXMiJyAlIHBl cm1pc3Npb24xLAorICAgICAgICAgICAgICAgICBtZXNzYWdlcz0oCisgICAgICAgICAgICAgICAg ICAgICB7CistICAgICAgICAgICAgICAgICAgICAgICAgJ21lc3NhZ2UnOiAoJ1RoZSBwZXJtaXNz aW9uIGhhcyB3cml0ZSByaWdodHMgYnV0IG5vICcKKysgICAgICAgICAgICAgICAgICAgICAgICAn bWVzc2FnZSc6ICgnVGhlIHBlcm1pc3Npb24gaGFzIHJlYWQgcmlnaHRzIGJ1dCBubyAnCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2F0dHJpYnV0ZXMgYXJlIHNldC4nKSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAnY29kZSc6IDEzMDMyLAorICAgICAgICAgICAgICAg ICAgICAgICAgICd0eXBlJzogJ3dhcm5pbmcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICdu YW1lJzogJ01pc3NpbmdUYXJnZXRBdHRyaWJ1dGVzaW5QZXJtaXNzaW9uJywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAnZGF0YSc6IHsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jp Z2h0JzogJ3dyaXRlJywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0JzogJ3Jl YWQnLAorICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIH0s CisgICAgICAgICAgICAgICAgICksCitAQCAtMzI2MCw3ICszMjcyLDcgQEAgY2xhc3MgdGVzdF9w ZXJtaXNzaW9uX2JpbmR0eXBlKERlY2xhcmF0aXZlKToKKyAgICAgICAgICAgICAgICAgICAgIGNu PVtwZXJtaXNzaW9uMV0sCisgICAgICAgICAgICAgICAgICAgICBvYmplY3RjbGFzcz1vYmplY3Rj bGFzc2VzLnBlcm1pc3Npb24sCisgICAgICAgICAgICAgICAgICAgICB0eXBlPVt1J3VzZXInXSwK Ky0gICAgICAgICAgICAgICAgICAgIGlwYXBlcm1yaWdodD1bdSd3cml0ZSddLAorKyAgICAgICAg ICAgICAgICAgICAgaXBhcGVybXJpZ2h0PVt1J3JlYWQnXSwKKyAgICAgICAgICAgICAgICAgICAg IGlwYXBlcm1iaW5kcnVsZXR5cGU9W3UnYWxsJ10sCisgICAgICAgICAgICAgICAgICAgICBpcGFw ZXJtaXNzaW9udHlwZT1bdSdTWVNURU0nLCB1J1YyJ10sCisgICAgICAgICAgICAgICAgICAgICBp cGFwZXJtbG9jYXRpb249W3VzZXJzX2RuXSwKK0BAIC0zMjcyLDcgKzMyODQsNyBAQCBjbGFzcyB0 ZXN0X3Blcm1pc3Npb25fYmluZHR5cGUoRGVjbGFyYXRpdmUpOgorICAgICAgICAgICAgIHBlcm1p c3Npb24xLCB1c2Vyc19kbiwKKyAgICAgICAgICAgICAnKHRhcmdldGZpbHRlciA9ICIob2JqZWN0 Y2xhc3M9cG9zaXhhY2NvdW50KSIpJyArCisgICAgICAgICAgICAgJyh2ZXJzaW9uIDMuMDthY2wg InBlcm1pc3Npb246JXMiOycgJSBwZXJtaXNzaW9uMSArCistICAgICAgICAgICAgJ2FsbG93ICh3 cml0ZSkgdXNlcmRuID0gImxkYXA6Ly8vYWxsIjspJywKKysgICAgICAgICAgICAnYWxsb3cgKHJl YWQpIHVzZXJkbiA9ICJsZGFwOi8vL2FsbCI7KScsCisgICAgICAgICApLAorIAorICAgICAgICAg ZGljdCgKK0BAIC0zMzAxLDcgKzMzMTMsNyBAQCBjbGFzcyB0ZXN0X3Blcm1pc3Npb25fYmluZHR5 cGUoRGVjbGFyYXRpdmUpOgorICAgICAgICAgICAgICAgICAgICAgICAgIGRuPXBlcm1pc3Npb24x X2RuLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNuPVtwZXJtaXNzaW9uMV0sCisgICAgICAg ICAgICAgICAgICAgICAgICAgdHlwZT1bdSd1c2VyJ10sCistICAgICAgICAgICAgICAgICAgICAg ICAgaXBhcGVybXJpZ2h0PVt1J3dyaXRlJ10sCisrICAgICAgICAgICAgICAgICAgICAgICAgaXBh cGVybXJpZ2h0PVt1J3JlYWQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpcGFwZXJtYmlu ZHJ1bGV0eXBlPVt1J2FsbCddLAorICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdGNsYXNz PW9iamVjdGNsYXNzZXMucGVybWlzc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpcGFw ZXJtaXNzaW9udHlwZT1bdSdTWVNURU0nLCB1J1YyJ10sCitAQCAtMzM0OCwxMyArMzM2MCwxMyBA QCBjbGFzcyB0ZXN0X3Blcm1pc3Npb25fYmluZHR5cGUoRGVjbGFyYXRpdmUpOgorICAgICAgICAg ICAgICAgICBzdW1tYXJ5PXUnTW9kaWZpZWQgcGVybWlzc2lvbiAiJXMiJyAlIHBlcm1pc3Npb24x LAorICAgICAgICAgICAgICAgICBtZXNzYWdlcz0oCisgICAgICAgICAgICAgICAgICAgICB7Cist ICAgICAgICAgICAgICAgICAgICAgICAgJ21lc3NhZ2UnOiAoJ1RoZSBwZXJtaXNzaW9uIGhhcyB3 cml0ZSByaWdodHMgYnV0IG5vICcKKysgICAgICAgICAgICAgICAgICAgICAgICAnbWVzc2FnZSc6 ICgnVGhlIHBlcm1pc3Npb24gaGFzIHJlYWQgcmlnaHRzIGJ1dCBubyAnCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ2F0dHJpYnV0ZXMgYXJlIHNldC4nKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAnY29kZSc6IDEzMDMyLAorICAgICAgICAgICAgICAgICAgICAgICAg ICd0eXBlJzogJ3dhcm5pbmcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ01p c3NpbmdUYXJnZXRBdHRyaWJ1dGVzaW5QZXJtaXNzaW9uJywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAnZGF0YSc6IHsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0JzogJ3dy aXRlJywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0JzogJ3JlYWQnLAorICAg ICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAg ICAgICAgICAgICksCitAQCAtMzM2Myw3ICszMzc1LDcgQEAgY2xhc3MgdGVzdF9wZXJtaXNzaW9u X2JpbmR0eXBlKERlY2xhcmF0aXZlKToKKyAgICAgICAgICAgICAgICAgICAgIGNuPVtwZXJtaXNz aW9uMV9yZW5hbWVkXSwKKyAgICAgICAgICAgICAgICAgICAgIHR5cGU9W3UndXNlciddLAorICAg ICAgICAgICAgICAgICAgICAgb2JqZWN0Y2xhc3M9b2JqZWN0Y2xhc3Nlcy5wZXJtaXNzaW9uLAor LSAgICAgICAgICAgICAgICAgICAgaXBhcGVybXJpZ2h0PVt1J3dyaXRlJ10sCisrICAgICAgICAg ICAgICAgICAgICBpcGFwZXJtcmlnaHQ9W3UncmVhZCddLAorICAgICAgICAgICAgICAgICAgICAg aXBhcGVybWJpbmRydWxldHlwZT1bdSdhbGwnXSwKKyAgICAgICAgICAgICAgICAgICAgIGlwYXBl cm1pc3Npb250eXBlPVt1J1NZU1RFTScsIHUnVjInXSwKKyAgICAgICAgICAgICAgICAgICAgIGlw YXBlcm1sb2NhdGlvbj1bdXNlcnNfZG5dLAorQEAgLTMzNzUsNyArMzM4Nyw3IEBAIGNsYXNzIHRl c3RfcGVybWlzc2lvbl9iaW5kdHlwZShEZWNsYXJhdGl2ZSk6CisgICAgICAgICAgICAgcGVybWlz c2lvbjFfcmVuYW1lZCwgdXNlcnNfZG4sCisgICAgICAgICAgICAgJyh0YXJnZXRmaWx0ZXIgPSAi KG9iamVjdGNsYXNzPXBvc2l4YWNjb3VudCkiKScgKworICAgICAgICAgICAgICcodmVyc2lvbiAz LjA7YWNsICJwZXJtaXNzaW9uOiVzIjsnICUgcGVybWlzc2lvbjFfcmVuYW1lZCArCistICAgICAg ICAgICAgJ2FsbG93ICh3cml0ZSkgdXNlcmRuID0gImxkYXA6Ly8vYWxsIjspJywKKysgICAgICAg ICAgICAnYWxsb3cgKHJlYWQpIHVzZXJkbiA9ICJsZGFwOi8vL2FsbCI7KScsCisgICAgICAgICAp LAorIAorICAgICAgICAgZGljdCgKK0BAIC0zMzkxLDEzICszNDAzLDEzIEBAIGNsYXNzIHRlc3Rf cGVybWlzc2lvbl9iaW5kdHlwZShEZWNsYXJhdGl2ZSk6CisgICAgICAgICAgICAgICAgIHN1bW1h cnk9dSdNb2RpZmllZCBwZXJtaXNzaW9uICIlcyInICUgcGVybWlzc2lvbjFfcmVuYW1lZCwKKyAg ICAgICAgICAgICAgICAgbWVzc2FnZXM9KAorICAgICAgICAgICAgICAgICAgICAgeworLSAgICAg ICAgICAgICAgICAgICAgICAgICdtZXNzYWdlJzogKCdUaGUgcGVybWlzc2lvbiBoYXMgd3JpdGUg cmlnaHRzIGJ1dCBubyAnCisrICAgICAgICAgICAgICAgICAgICAgICAgJ21lc3NhZ2UnOiAoJ1Ro ZSBwZXJtaXNzaW9uIGhhcyByZWFkIHJpZ2h0cyBidXQgbm8gJworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdhdHRyaWJ1dGVzIGFyZSBzZXQuJyksCisgICAgICAgICAgICAg ICAgICAgICAgICAgJ2NvZGUnOiAxMzAzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAndHlw ZSc6ICd3YXJuaW5nJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZSc6ICdNaXNzaW5n VGFyZ2V0QXR0cmlidXRlc2luUGVybWlzc2lvbicsCisgICAgICAgICAgICAgICAgICAgICAgICAg J2RhdGEnOiB7CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyaWdodCc6ICd3cml0ZScs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyaWdodCc6ICdyZWFkJywKKyAgICAgICAg ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg ICAgICApLAorQEAgLTM0MDYsNyArMzQxOCw3IEBAIGNsYXNzIHRlc3RfcGVybWlzc2lvbl9iaW5k dHlwZShEZWNsYXJhdGl2ZSk6CisgICAgICAgICAgICAgICAgICAgICBjbj1bcGVybWlzc2lvbjFf cmVuYW1lZF0sCisgICAgICAgICAgICAgICAgICAgICBvYmplY3RjbGFzcz1vYmplY3RjbGFzc2Vz LnBlcm1pc3Npb24sCisgICAgICAgICAgICAgICAgICAgICB0eXBlPVt1J3VzZXInXSwKKy0gICAg ICAgICAgICAgICAgICAgIGlwYXBlcm1yaWdodD1bdSd3cml0ZSddLAorKyAgICAgICAgICAgICAg ICAgICAgaXBhcGVybXJpZ2h0PVt1J3JlYWQnXSwKKyAgICAgICAgICAgICAgICAgICAgIGlwYXBl cm1iaW5kcnVsZXR5cGU9W3UncGVybWlzc2lvbiddLAorICAgICAgICAgICAgICAgICAgICAgaXBh cGVybWlzc2lvbnR5cGU9W3UnU1lTVEVNJywgdSdWMiddLAorICAgICAgICAgICAgICAgICAgICAg aXBhcGVybWxvY2F0aW9uPVt1c2Vyc19kbl0sCitAQCAtMzQxOCw3ICszNDMwLDcgQEAgY2xhc3Mg dGVzdF9wZXJtaXNzaW9uX2JpbmR0eXBlKERlY2xhcmF0aXZlKToKKyAgICAgICAgICAgICBwZXJt aXNzaW9uMV9yZW5hbWVkLCB1c2Vyc19kbiwKKyAgICAgICAgICAgICAnKHRhcmdldGZpbHRlciA9 ICIob2JqZWN0Y2xhc3M9cG9zaXhhY2NvdW50KSIpJyArCisgICAgICAgICAgICAgJyh2ZXJzaW9u IDMuMDthY2wgInBlcm1pc3Npb246JXMiOycgJSBwZXJtaXNzaW9uMV9yZW5hbWVkICsKKy0gICAg ICAgICAgICAnYWxsb3cgKHdyaXRlKSBncm91cGRuID0gImxkYXA6Ly8vJXMiOyknICUgcGVybWlz c2lvbjFfcmVuYW1lZF9kbiwKKysgICAgICAgICAgICAnYWxsb3cgKHJlYWQpIGdyb3VwZG4gPSAi bGRhcDovLy8lcyI7KScgJSBwZXJtaXNzaW9uMV9yZW5hbWVkX2RuLAorICAgICAgICAgKSwKKyAK KyAgICAgICAgIGRpY3QoCitAQCAtMzQzMiwxMyArMzQ0NCwxMyBAQCBjbGFzcyB0ZXN0X3Blcm1p c3Npb25fYmluZHR5cGUoRGVjbGFyYXRpdmUpOgorICAgICAgICAgICAgICAgICBzdW1tYXJ5PXUn TW9kaWZpZWQgcGVybWlzc2lvbiAiJXMiJyAlIHBlcm1pc3Npb24xX3JlbmFtZWQsCisgICAgICAg ICAgICAgICAgIG1lc3NhZ2VzPSgKKyAgICAgICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAg ICAgICAgICAgICAgICAnbWVzc2FnZSc6ICgnVGhlIHBlcm1pc3Npb24gaGFzIHdyaXRlIHJpZ2h0 cyBidXQgbm8gJworKyAgICAgICAgICAgICAgICAgICAgICAgICdtZXNzYWdlJzogKCdUaGUgcGVy bWlzc2lvbiBoYXMgcmVhZCByaWdodHMgYnV0IG5vICcKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnYXR0cmlidXRlcyBhcmUgc2V0LicpLAorICAgICAgICAgICAgICAgICAg ICAgICAgICdjb2RlJzogMTMwMzIsCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnOiAn d2FybmluZycsCisgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnOiAnTWlzc2luZ1Rhcmdl dEF0dHJpYnV0ZXNpblBlcm1pc3Npb24nLAorICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRh JzogeworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmlnaHQnOiAnd3JpdGUnLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAncmlnaHQnOiAncmVhZCcsCisgICAgICAgICAgICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAg KSwKK0BAIC0zNDQ3LDcgKzM0NTksNyBAQCBjbGFzcyB0ZXN0X3Blcm1pc3Npb25fYmluZHR5cGUo RGVjbGFyYXRpdmUpOgorICAgICAgICAgICAgICAgICAgICAgY249W3Blcm1pc3Npb24xXSwKKyAg ICAgICAgICAgICAgICAgICAgIHR5cGU9W3UndXNlciddLAorICAgICAgICAgICAgICAgICAgICAg b2JqZWN0Y2xhc3M9b2JqZWN0Y2xhc3Nlcy5wZXJtaXNzaW9uLAorLSAgICAgICAgICAgICAgICAg ICAgaXBhcGVybXJpZ2h0PVt1J3dyaXRlJ10sCisrICAgICAgICAgICAgICAgICAgICBpcGFwZXJt cmlnaHQ9W3UncmVhZCddLAorICAgICAgICAgICAgICAgICAgICAgaXBhcGVybWJpbmRydWxldHlw ZT1bdSdwZXJtaXNzaW9uJ10sCisgICAgICAgICAgICAgICAgICAgICBpcGFwZXJtaXNzaW9udHlw ZT1bdSdTWVNURU0nLCB1J1YyJ10sCisgICAgICAgICAgICAgICAgICAgICBpcGFwZXJtbG9jYXRp b249W3VzZXJzX2RuXSwKK0BAIC0zNDU5LDcgKzM0NzEsNyBAQCBjbGFzcyB0ZXN0X3Blcm1pc3Np b25fYmluZHR5cGUoRGVjbGFyYXRpdmUpOgorICAgICAgICAgICAgIHBlcm1pc3Npb24xLCB1c2Vy c19kbiwKKyAgICAgICAgICAgICAnKHRhcmdldGZpbHRlciA9ICIob2JqZWN0Y2xhc3M9cG9zaXhh Y2NvdW50KSIpJyArCisgICAgICAgICAgICAgJyh2ZXJzaW9uIDMuMDthY2wgInBlcm1pc3Npb246 JXMiOycgJSBwZXJtaXNzaW9uMSArCistICAgICAgICAgICAgJ2FsbG93ICh3cml0ZSkgZ3JvdXBk biA9ICJsZGFwOi8vLyVzIjspJyAlIHBlcm1pc3Npb24xX2RuLAorKyAgICAgICAgICAgICdhbGxv dyAocmVhZCkgZ3JvdXBkbiA9ICJsZGFwOi8vLyVzIjspJyAlIHBlcm1pc3Npb24xX2RuLAorICAg ICAgICAgKSwKKyAKKyAgICAgICAgIGRpY3QoCitkaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF94 bWxycGMvdGVzdF9zZWxmc2VydmljZV9wbHVnaW4ucHkgYi9pcGF0ZXN0cy90ZXN0X3htbHJwYy90 ZXN0X3NlbGZzZXJ2aWNlX3BsdWdpbi5weQoraW5kZXggM2NlMDQzZTQ2YTQuLmJlODZjNWE2NzI3 IDEwMDY0NAorLS0tIGEvaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF9zZWxmc2VydmljZV9wbHVn aW4ucHkKKysrKyBiL2lwYXRlc3RzL3Rlc3RfeG1scnBjL3Rlc3Rfc2VsZnNlcnZpY2VfcGx1Z2lu LnB5CitAQCAtODAzLDcgKzgwMyw3IEBAIGNsYXNzIHRlc3Rfc2VsZnNlcnZpY2VfY2xpX2FkZF9k ZWwoRGVjbGFyYXRpdmUpOgorICAgICAgICAgICAgICAgICAgICAgIHInKHZlcnNpb24gMy4wO2Fj bCAnCisgICAgICAgICAgICAgICAgICAgICAgcidcMjJzZWxmc2VydmljZTpzZWxmc2VydmljZV9h ZGRfMTAwMlwyMjsnCisgICAgICAgICAgICAgICAgICAgICAgcidhbGxvdyAod3JpdGUpICh1c2Vy ZG4gPSBcMjJsZGFwOi8vL3NlbGZcMjIgJworLSAgICAgICAgICAgICAgICAgICAgIHInYW5kIHVz ZXJkbiA9IFwyMmxkYXA6Ly8vYWxsXDIyOyknLAorKyAgICAgICAgICAgICAgICAgICAgIHInYW5k IHVzZXJkbiA9IFwyMmxkYXA6Ly8vYWxsXDIyKTspJywKKyAgICAgICAgICAgICApLAorICAgICAg ICAgKSwKKyAKK0BAIC04ODEsNyArODgxLDcgQEAgY2xhc3MgdGVzdF9zZWxmc2VydmljZV9jbGlf YWRkX2RlbChEZWNsYXJhdGl2ZSk6CisgICAgICAgICAgICAgICAgICAgICAgcicodmVyc2lvbiAz LjA7YWNsICcKKyAgICAgICAgICAgICAgICAgICAgICByJ1wyMnNlbGZzZXJ2aWNlOnNlbGZzZXJ2 aWNlX2FkZF8xMDA1XDIyOycKKyAgICAgICAgICAgICAgICAgICAgICByJ2FsbG93ICh3cml0ZSkg KHVzZXJkbiA9IFwyMmxkYXA6Ly8vc2VsZlwyMiAnCistICAgICAgICAgICAgICAgICAgICAgcidh bmQgdXNlcmRuID0gXDIybGRhcDovLy9hbGxcMjI7KScsCisrICAgICAgICAgICAgICAgICAgICAg cidhbmQgdXNlcmRuID0gXDIybGRhcDovLy9hbGxcMjIpOyknLAorICAgICAgICAgICAgICksCisg ICAgICAgICApLAorIAorQEAgLTE1OTEsNyArMTU5MSw3IEBAIGNsYXNzIHRlc3Rfc2VsZnNlcnZp Y2VfbW9kX2NsaShEZWNsYXJhdGl2ZSk6CisgICAgICAgICAgICAgICAgICAgICByJyh2ZXJzaW9u IDMuMDthY2wgJworICAgICAgICAgICAgICAgICAgICAgcidcMjJzZWxmc2VydmljZTolc1wyMjsn CisgICAgICAgICAgICAgICAgICAgICByJ2FsbG93ICh3cml0ZSkgKHVzZXJkbiA9IFwyMmxkYXA6 Ly8vc2VsZlwyMiAnCistICAgICAgICAgICAgICAgICAgICByJ2FuZCB1c2VyZG4gPSBcMjJsZGFw Oi8vL2FsbFwyMjspJworKyAgICAgICAgICAgICAgICAgICAgcidhbmQgdXNlcmRuID0gXDIybGRh cDovLy9hbGxcMjIpOyknCisgICAgICAgICAgICAgICAgICkgJSBTU19DTElfTU9ELAorICAgICAg ICAgICAgICksCisgICAgICAgICApLAorQEAgLTE2NTgsNyArMTY1OCw3IEBAIGNsYXNzIHRlc3Rf c2VsZnNlcnZpY2VfbW9kX2NsaShEZWNsYXJhdGl2ZSk6CisgICAgICAgICAgICAgICAgICAgICBy Jyh2ZXJzaW9uIDMuMDthY2wgJworICAgICAgICAgICAgICAgICAgICAgcidcMjJzZWxmc2Vydmlj ZTolc1wyMjsnCisgICAgICAgICAgICAgICAgICAgICByJ2FsbG93ICh3cml0ZSkgKHVzZXJkbiA9 IFwyMmxkYXA6Ly8vc2VsZlwyMiAnCistICAgICAgICAgICAgICAgICAgICByJ2FuZCB1c2VyZG4g PSBcMjJsZGFwOi8vL2FsbFwyMjspJworKyAgICAgICAgICAgICAgICAgICAgcidhbmQgdXNlcmRu ID0gXDIybGRhcDovLy9hbGxcMjIpOyknCisgICAgICAgICAgICAgICAgICkgJSBTU19DTElfTU9E LAorICAgICAgICAgICAgICksCisgICAgICAgICApLAorCitGcm9tIDI5ZWM0NzY0ZTA0YzI4NDFk MDAxNDc4ZmQ2M2JhNmVhMDZkM2M3YWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBB bGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KK0RhdGU6IFR1ZSwgOCBTZXAg MjAyNiAxMjo1Nzo0NCArMDMwMAorU3ViamVjdDogW1BBVENIIDMvNF0gcGVybWlzc2lvbiBlbmZv cmNlbWVudDogYWxsb3cgc2VydmljZXMgdG8gZGVmaW5lIGtleXMgdG8KKyBlbmZvcmNlCisKK3Nl cnZpY2VfYWRkX3NtYiBjb25zdHJ1Y3RzIGNpZnMvaG9zdG5hbWUgb3V0IG9mIGhvc3RuYW1lLiBX ZSBuZWVkIHRvCithZGp1c3Qgd2hhdCB0aGUgcGVybWlzc2lvbiBjaGVjayBpcyB1c2luZyBmb3Ig YW4gQUREIHRlc3QgcGVyIGNvbW1hbmQuCisKK1JlbGF0ZWQ6IENWRS0yMDI2LTc5Njc4CisKK1Np Z25lZC1vZmYtYnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgorLS0t CisgaXBhc2VydmVyL3BsdWdpbnMvYmFzZWxkYXAucHkgfCAxNiArKysrKysrKysrKysrKysrCisg aXBhc2VydmVyL3BsdWdpbnMvc2VydmljZS5weSAgfCAgNyArKysrKysrCisgMiBmaWxlcyBjaGFu Z2VkLCAyMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvcGx1Z2lucy9i YXNlbGRhcC5weSBiL2lwYXNlcnZlci9wbHVnaW5zL2Jhc2VsZGFwLnB5CitpbmRleCAxMjJhMjc5 ZjJiYi4uOTI2YWZiMTdlYzcgMTAwNjQ0CistLS0gYS9pcGFzZXJ2ZXIvcGx1Z2lucy9iYXNlbGRh cC5weQorKysrIGIvaXBhc2VydmVyL3BsdWdpbnMvYmFzZWxkYXAucHkKK0BAIC0xMDI3LDYgKzEw MjcsMTEgQEAgZGVmIGhhc19wcml2aWxlZ2UocHJpdik6CisgICAgICAgICAgICAgICAgICAgICBz ZWxmLmFwaSwgb3BfYWNjb3VudCwgcHJpdikKKyAgICAgICAgICAgICByZXR1cm4gcHJpdl9jYWNo ZVtwcml2XQorIAorKyAgICAgICAgIyBTb21lIGNvbW1hbmRzIGNvbnN0cnVjdCB0aGUgcmVhbCB0 YXJnZXQgcHJpbmNpcGFsL0ROIG9ubHkgbGF0ZXIgKGluCisrICAgICAgICAjIHByZV9jYWxsYmFj ayksIHNvIGxldCB0aGVtIHN1cHBseSB0aGUga2V5cyB0aGUgcHJvYmVzIHNob3VsZCB0YXJnZXQK KysgICAgICAgICMgKGUuZy4gc2VydmljZS1hZGQtc21iIGJ1aWxkcyBjaWZzLzxob3N0bmFtZT4g ZnJvbSBhIGJhcmUgaG9zdG5hbWUpLgorKyAgICAgICAga2V5cyA9IHNlbGYuX2VuZm9yY2VtZW50 X2tleXMoKmtleXMsICoqb3B0aW9ucykKKysKKyAgICAgICAgICMgTERBUERlbGV0ZSBhbmQgb3Ro ZXIgTERBUE11bHRpUXVlcnkgY29tbWFuZHMgcGFzcyB0aGUgdHJhaWxpbmcKKyAgICAgICAgICMg cHJpbWFyeSBrZXkgYXMgYSAqbGlzdCogb2YgcGtleXMgYW5kIGFjdCBvbiBlYWNoIHRhcmdldCBl bnRyeSBpbgorICAgICAgICAgIyB0dXJuIChzZWUgTERBUERlbGV0ZS5leGVjdXRlKS4gZ2V0X2Ru IGFuZCB0aGUgZWZmZWN0aXZlLXJpZ2h0cyBwcm9iZXMKK0BAIC0xMTM3LDYgKzExNDIsMTcgQEAg ZGVmIHJpZ2h0c19hbGxvdyhyaWdodCwgcGVybSwgdG91Y2hlZCk6CisgICAgICAgICAgICAgICAg IHJhaXNlIGVycm9ycy5BQ0lFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgIGluZm89Xygibm90 IGFsbG93ZWQgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbiIpKQorIAorKyAgICBkZWYgX2VuZm9y Y2VtZW50X2tleXMoc2VsZiwgKmtleXMsICoqb3B0aW9ucyk6CisrICAgICAgICAiIiJLZXlzIGlk ZW50aWZ5aW5nIHRoZSB0YXJnZXQgZW50cnkgZm9yIHBlcm1pc3Npb24gZW5mb3JjZW1lbnQuCisr CisrICAgICAgICBEZWZhdWx0cyB0byB0aGUgY29tbWFuZCdzIG93biBrZXlzLiBDb21tYW5kcyB3 aG9zZSByZWFsIHRhcmdldCBETiBpcworKyAgICAgICAgZGVyaXZlZCBvbmx5IGxhdGVyIC0tIGUu Zy4gc2VydmljZS1hZGQtc21iLCB3aGljaCB0YWtlcyBhIGJhcmUgaG9zdG5hbWUKKysgICAgICAg IGFuZCBjb25zdHJ1Y3RzIHRoZSBgYGNpZnMvPGhvc3RuYW1lPmBgIHByaW5jaXBhbCBpbiBwcmVf Y2FsbGJhY2sgLS0KKysgICAgICAgIG92ZXJyaWRlIHRoaXMgc28gdGhlIGVmZmVjdGl2ZS1yaWdo dHMvdHJpYWwtYWRkIHByb2JlcyB0YXJnZXQgdGhlCisrICAgICAgICBhY3R1YWwgZW50cnkgcmF0 aGVyIHRoYW4gYSBETiBidWlsdCBmcm9tIHRoZSByYXcga2V5LgorKyAgICAgICAgIiIiCisrICAg ICAgICByZXR1cm4ga2V5cworKworICAgICBkZWYgX2V4cGFuZF90YXJnZXRfa2V5cyhzZWxmLCBr ZXlzKToKKyAgICAgICAgICIiIkV4cGFuZCBhbiBvcGVyYXRpb24ncyBrZXlzIGludG8gb25lIGtl eS10dXBsZSBwZXIgdGFyZ2V0IGVudHJ5LgorIAorZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9wbHVn aW5zL3NlcnZpY2UucHkgYi9pcGFzZXJ2ZXIvcGx1Z2lucy9zZXJ2aWNlLnB5CitpbmRleCBiYmU3 MWRkYzc4ZC4uNTFlYTAxNWY0MDEgMTAwNjQ0CistLS0gYS9pcGFzZXJ2ZXIvcGx1Z2lucy9zZXJ2 aWNlLnB5CisrKysgYi9pcGFzZXJ2ZXIvcGx1Z2lucy9zZXJ2aWNlLnB5CitAQCAtODEwLDYgKzgx MCwxMyBAQCBkZWYgZ2V0X29wdGlvbnMoc2VsZik6CisgICAgICAgICAgICAgaWYgY2hlY2s6Cisg ICAgICAgICAgICAgICAgIHlpZWxkIGFyZworIAorKyAgICBkZWYgX2VuZm9yY2VtZW50X2tleXMo c2VsZiwgKmtleXMsICoqb3B0aW9ucyk6CisrICAgICAgICAjIFRoZSBwcmltYXJ5IGtleSBoZXJl IGlzIGEgYmFyZSBob3N0bmFtZTsgdGhlIHJlYWwgdGFyZ2V0IHByaW5jaXBhbAorKyAgICAgICAg IyAoY2lmcy88aG9zdG5hbWU+KSBpcyBvbmx5IGJ1aWx0IGluIHByZV9jYWxsYmFjay4gRW5mb3Jj ZSB0aGUgYWRkCisrICAgICAgICAjIGFnYWluc3QgdGhhdCBhY3R1YWwgcHJpbmNpcGFsIHNvIHRo ZSAiSG9zdHMgY2FuIGFkZCBvd24gc2VydmljZXMiCisrICAgICAgICAjIEFDSSAodGFyZ2V0IGty YnByaW5jaXBhbG5hbWU9Ki8oJGRuKUAkUkVBTE0pIGlzIG1hdGNoZWQgY29ycmVjdGx5LgorKyAg ICAgICAgcmV0dXJuICgnY2lmcy97fScuZm9ybWF0KGtleXNbMF0pLCkKKysKKyAgICAgZGVmIHBy ZV9jYWxsYmFjayhzZWxmLCBsZGFwLCBkbiwgZW50cnlfYXR0cnMsIGF0dHJzX2xpc3QsCisgICAg ICAgICAgICAgICAgICAgICAgKmtleXMsICoqb3B0aW9ucyk6CisgICAgICAgICBhc3NlcnQgaXNp bnN0YW5jZShkbiwgRE4pCisKK0Zyb20gNmVhYmQzYzY3NWE5ZDA5NjY3ZDYzMTlhYzY1YTYxMDRh NjZiNWY0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBCb2tvdm95 IDxhYm9rb3ZveUByZWRoYXQuY29tPgorRGF0ZTogVHVlLCA4IFNlcCAyMDI2IDE4OjA0OjUyICsw MzAwCitTdWJqZWN0OiBbUEFUQ0ggNC80XSBpcGEtcHdkLWV4dG9wOiBhbGxvdyBwYXNzd29yZCBl eHBpcmF0aW9uIG92ZXJyaWRlIG9uCisgY3JlYXRlCisKK1Blcm1pdCB0byBjcmVhdGUgYWNjb3Vu dHMgd2l0aCBhIGxpbWl0ZWQgcHJpbmNpcGFsIHBhc3N3b3JkIGV4cGlyYXRpb24KK2J1dCBub3Qg YmV5b25kIHdoYXQgS2VyYmVyb3MgcGFzc3dvcmQgcG9saWN5IGRlZmluZXMgZm9yIHRoaXMgYWNj b3VudC4KKworQWRkaXRpb25hbGx5LCBmaXggdGltZXpvbmUtcmVsYXRlZCBidWdzIGluIHNldHRp bmcgcGFzc3dvcmQgZXhwaXJhdGlvbi4KKworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEJva292 b3kgPGFib2tvdm95QHJlZGhhdC5jb20+CistLS0KKyAuLi4vaXBhLXNsYXBpLXBsdWdpbnMvaXBh LXB3ZC1leHRvcC9jb21tb24uYyAgfCAgMiArLQorIC4uLi9pcGEtc2xhcGktcGx1Z2lucy9pcGEt cHdkLWV4dG9wL3ByZXBvc3QuYyB8IDUwICsrKysrKysrKysrCisgaXBhcHl0aG9uL2lwYWxkYXAu cHkgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjEgKysrKy0KKyBpcGF0ZXN0cy90ZXN0X2lu dGVncmF0aW9uL3Rlc3RfY29tbWFuZHMucHkgICAgfCA4NiArKysrKysrKysrKysrKysrKysrCisg NCBmaWxlcyBjaGFuZ2VkLCAxNTQgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2RhZW1vbnMvaXBhLXNsYXBpLXBsdWdpbnMvaXBhLXB3ZC1leHRvcC9jb21tb24u YyBiL2RhZW1vbnMvaXBhLXNsYXBpLXBsdWdpbnMvaXBhLXB3ZC1leHRvcC9jb21tb24uYworaW5k ZXggNzE2NDI1NDBhMjAuLmViYWUwNDY1YjY2IDEwMDY0NAorLS0tIGEvZGFlbW9ucy9pcGEtc2xh cGktcGx1Z2lucy9pcGEtcHdkLWV4dG9wL2NvbW1vbi5jCisrKysgYi9kYWVtb25zL2lwYS1zbGFw aS1wbHVnaW5zL2lwYS1wd2QtZXh0b3AvY29tbW9uLmMKK0BAIC03OTksNyArNzk5LDcgQEAgaW50 IGlwYXB3ZF9zZXRkYXRlKFNsYXBpX0VudHJ5ICpzb3VyY2UsIFNsYXBpX01vZHMgKnNtb2RzLCBj b25zdCBjaGFyICphdHRyLAorICAgICBTbGFwaV9BdHRyICp0OworICAgICBib29sIGV4aXN0czsK KyAKKy0gICAgZXhpc3RzID0gKHNsYXBpX2VudHJ5X2F0dHJfZmluZChzb3VyY2UsIGF0dHIsICZ0 KSA9PSAwKTsKKysgICAgZXhpc3RzID0gKHNvdXJjZSAhPSBOVUxMICYmIHNsYXBpX2VudHJ5X2F0 dHJfZmluZChzb3VyY2UsIGF0dHIsICZ0KSA9PSAwKTsKKyAKKyAgICAgaWYgKHJlbW92ZSkgewor ICAgICAgICAgaWYgKGV4aXN0cykgeworZGlmZiAtLWdpdCBhL2RhZW1vbnMvaXBhLXNsYXBpLXBs dWdpbnMvaXBhLXB3ZC1leHRvcC9wcmVwb3N0LmMgYi9kYWVtb25zL2lwYS1zbGFwaS1wbHVnaW5z L2lwYS1wd2QtZXh0b3AvcHJlcG9zdC5jCitpbmRleCA0YmZkNjBlN2MzZi4uNzFjY2M1ZjA3MTIg MTAwNjQ0CistLS0gYS9kYWVtb25zL2lwYS1zbGFwaS1wbHVnaW5zL2lwYS1wd2QtZXh0b3AvcHJl cG9zdC5jCisrKysgYi9kYWVtb25zL2lwYS1zbGFwaS1wbHVnaW5zL2lwYS1wd2QtZXh0b3AvcHJl cG9zdC5jCitAQCAtNDAwLDYgKzQwMCw0MCBAQCBzdGF0aWMgaW50IGlwYXB3ZF9wcmVfYWRkKFNs YXBpX1BCbG9jayAqcGIpCisgICAgICAgICBnb3RvIGRvbmU7CisgICAgIH0KKyAKKysgICAgLyog SWYgdGhlIGVudHJ5IGJlaW5nIGFkZGVkIGFscmVhZHkgY2FycmllcyBhIGtyYlBhc3N3b3JkRXhw aXJhdGlvbiwgdHJlYXQKKysgICAgICogaXQgYXMgYW4gZXhwbGljaXQgcmVxdWVzdC4gQW4gZXhw bGljaXQgcmVxdWVzdCBvdmVycmlkZXMgdGhlIGRlZmF1bHQKKysgICAgICogZXhwaXJhdGlvbiBk ZXJpdmVkIGJ5IGlwYXB3ZF9DaGVja1BvbGljeSAod2hpY2gsIGZvciBhbiBhZG1pbi1zZXQKKysg ICAgICogcGFzc3dvcmQsIGZvcmNlLWV4cGlyZXMgdGhlIGFjY291bnQpLCBidXQgaXMgc3RpbGwg Y2FwcGVkIGF0IHRoZSBwb2xpY3kKKysgICAgICogbWF4aW11bSBsaWZldGltZSAtLSBhIHBhc3N3 b3JkIG11c3QgbmV2ZXIgb3V0bGl2ZSBwb2xpY3kuIEEKKysgICAgICogbWF4X3B3ZF9saWZlIG9m IDAgbWVhbnMgIm5ldmVyIGV4cGlyZSIuCisrICAgICAqCisrICAgICAqIFRoaXMgaXMgb25seSBt ZWFuaW5nZnVsIG9uIExEQVAgQURELCB3aGVyZSB0aGUgYXR0cmlidXRlIHZhbHVlIGlzIHRoZQor KyAgICAgKiByZXF1ZXN0OyBvbiBhIHBhc3N3b3JkIGNoYW5nZSBpdCBob2xkcyB0aGUgcHJldmlv dXMgZXhwaXJhdGlvbiBhbmQgbXVzdAorKyAgICAgKiBub3QgY29uc3RyYWluIHRoZSBuZXcgb25l LiAqLworKyAgICB7CisrICAgICAgICBjaGFyICpyZXFfZXhwX3N0cjsKKysgICAgICAgIHRpbWVf dCByZXFfZXhwOworKworKyAgICAgICAgcmVxX2V4cF9zdHIgPSBzbGFwaV9lbnRyeV9hdHRyX2dl dF9jaGFycHRyKGUsICJrcmJQYXNzd29yZEV4cGlyYXRpb24iKTsKKysgICAgICAgIHJlcV9leHAg PSBpcGFwd2RfZ2VudGltZV90b190aW1lX3QocmVxX2V4cF9zdHIpOworKyAgICAgICAgc2xhcGlf Y2hfZnJlZV9zdHJpbmcoJnJlcV9leHBfc3RyKTsKKysKKysgICAgICAgIGlmIChyZXFfZXhwICE9 IDApIHsKKysgICAgICAgICAgICB0aW1lX3QgcG9saWN5X21heCA9IDA7CisrCisrICAgICAgICAg ICAgaWYgKHB3ZG9wLT5wd2RhdGEucG9saWN5Lm1heF9wd2RfbGlmZSA+IDApIHsKKysgICAgICAg ICAgICAgICAgcG9saWN5X21heCA9IHB3ZG9wLT5wd2RhdGEudGltZU5vdyArCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwd2RvcC0+cHdkYXRhLnBvbGljeS5tYXhfcHdkX2xpZmU7Cisr ICAgICAgICAgICAgfQorKworKyAgICAgICAgICAgIGlmIChwb2xpY3lfbWF4ICE9IDAgJiYgcmVx X2V4cCA+IHBvbGljeV9tYXgpIHsKKysgICAgICAgICAgICAgICAgcHdkb3AtPnB3ZGF0YS5leHBp cmVUaW1lID0gcG9saWN5X21heDsKKysgICAgICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAg ICAgICBwd2RvcC0+cHdkYXRhLmV4cGlyZVRpbWUgPSByZXFfZXhwOworKyAgICAgICAgICAgIH0K KysgICAgICAgIH0KKysgICAgfQorKworICAgICBpZiAoaXNfa3JiIHx8IGlzX3NtYiB8fCBpc19p cGFudCkgeworIAorICAgICAgICAgU2xhcGlfVmFsdWUgKipzdmFscyA9IE5VTEw7CitAQCAtMTE1 MCw2ICsxMTg0LDIyIEBAIHN0YXRpYyBpbnQgaXBhcHdkX3Bvc3RfbW9kYWRkKFNsYXBpX1BCbG9j ayAqcGIpCisgICAgICAgICB9CisgICAgIH0KKyAKKysgICAgLyogVGhlIGRhdGUtc2V0dGluZyBh bmQgZ3JhY2UtdGltZSBsb2dpYyBiZWxvdyBuZWVkcyB0aGUgY3VycmVudCBlbnRyeSB0bworKyAg ICAgKiBkZXRlY3QgYWxyZWFkeS1wcmVzZW50IHNpbmdsZS12YWx1ZWQgYXR0cmlidXRlcyAoZS5n LiBhIGNsaWVudC1zdXBwbGllZAorKyAgICAgKiBrcmJQYXNzd29yZEV4cGlyYXRpb24gb24gYWRk KSBzbyBpcGFwd2Rfc2V0ZGF0ZSBjYW4gUkVQTEFDRSByYXRoZXIgdGhhbgorKyAgICAgKiBhcHBl bmQgYSBkdXBsaWNhdGUgdmFsdWUuIE9uIGFkZCAtLSBhbmQgb24gcGFzc3dvcmQgY2hhbmdlcyB0 aGF0IHNraXBwZWQKKysgICAgICogaGlzdG9yeSAtLSBwd2RhdGEudGFyZ2V0IGlzIHN0aWxsIE5V TEwsIHNvIGZldGNoIHRoZSBqdXN0LWNvbW1pdHRlZCBlbnRyeQorKyAgICAgKiAoZnJlZWQgd2l0 aCB0aGUgbW9kIHBhdGgncyBlbnRyeSBhdCAnZG9uZScpLiAqLworKyAgICBpZiAocHdkb3AtPnB3 ZGF0YS50YXJnZXQgPT0gTlVMTCkgeworKyAgICAgICAgU2xhcGlfRE4gKnRtcF9kbiA9IHNsYXBp X3Nkbl9uZXdfZG5fYnlyZWYocHdkb3AtPnB3ZGF0YS5kbik7CisrICAgICAgICBpZiAodG1wX2Ru KSB7CisrICAgICAgICAgICAgKHZvaWQpc2xhcGlfc2VhcmNoX2ludGVybmFsX2dldF9lbnRyeSh0 bXBfZG4sIDAsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmcHdkb3AtPnB3ZGF0YS50YXJnZXQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpcGFwd2RfcGx1Z2luX2lkKTsKKysgICAgICAgICAgICBz bGFwaV9zZG5fZnJlZSgmdG1wX2RuKTsKKysgICAgICAgIH0KKysgICAgfQorKworICAgICAvKiB3 ZSBhc3N1bWUgdGhhdCBrcmIgYXR0cmlidXRlcyBhcmUgcHJvcGVybHkgdXBkYXRlZCB0b28gaWYg a2V5cyB3ZXJlCisgICAgICAqIHBhc3NlZCBpbiAqLworICAgICBpZiAoIXB3ZG9wLT5za2lwX2tl eXMpIHsKK2RpZmYgLS1naXQgYS9pcGFweXRob24vaXBhbGRhcC5weSBiL2lwYXB5dGhvbi9pcGFs ZGFwLnB5CitpbmRleCAxZTU2YWFkODdkOC4uYTNmMTMxOWM0MzEgMTAwNjQ0CistLS0gYS9pcGFw eXRob24vaXBhbGRhcC5weQorKysrIGIvaXBhcHl0aG9uL2lwYWxkYXAucHkKK0BAIC0yMyw3ICsy Myw3IEBACisgaW1wb3J0IGVycm5vCisgaW1wb3J0IGxvZ2dpbmcKKyBpbXBvcnQgdGltZQorLWZy b20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCisrZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRp bWUsIHRpbWV6b25lCisgZnJvbSBkZWNpbWFsIGltcG9ydCBEZWNpbWFsCisgZnJvbSBjb3B5IGlt cG9ydCBkZWVwY29weQorIGltcG9ydCBjb250ZXh0bGliCitAQCAtOTcyLDYgKzk3MiwyMCBAQCBk ZWYgZ2V0X2F0dHJpYnV0ZV9zaW5nbGVfdmFsdWUoc2VsZiwgbmFtZV9vcl9vaWQpOgorIAorICAg ICAgICAgcmV0dXJuIE5vbmUKKyAKKysgICAgQHN0YXRpY21ldGhvZAorKyAgICBkZWYgX2VuY29k ZV9kYXRldGltZSh2YWwpOgorKyAgICAgICAgIiIiVHJhbnNsYXRlIGEgZGF0ZXRpbWUgdG8gYW4g TERBUCBHZW5lcmFsaXplZFRpbWUgc3RyaW5nLgorKworKyAgICAgICAgVGhlIEdlbmVyYWxpemVk VGltZSBmb3JtYXQgdXNlZCBoZXJlIChgYC4uLlpgYCkgZGVub3RlcyBVVEMsIHNvIGEKKysgICAg ICAgIHRpbWV6b25lLWF3YXJlIHZhbHVlIG11c3QgYmUgY29udmVydGVkIHRvIFVUQyBmaXJzdDsg b3RoZXJ3aXNlIGl0cworKyAgICAgICAgd2FsbC1jbG9jayBjb21wb25lbnRzIHdvdWxkIGJlIGVt aXR0ZWQgdmVyYmF0aW0gYW5kIG1pc2xhYmVsbGVkIGFzCisrICAgICAgICBVVEMuIEEgbmFpdmUg ZGF0ZXRpbWUgaXMgYXNzdW1lZCB0byBhbHJlYWR5IGJlIGluIFVUQyAodGhlIGNvbnZlbnRpb24K KysgICAgICAgIHVzZWQgdGhyb3VnaG91dCBJUEEpLgorKyAgICAgICAgIiIiCisrICAgICAgICBp ZiB2YWwudHppbmZvIGlzIG5vdCBOb25lOgorKyAgICAgICAgICAgIHZhbCA9IHZhbC5hc3RpbWV6 b25lKHRpbWV6b25lLnV0YykKKysgICAgICAgIHJldHVybiB2YWwuc3RyZnRpbWUoTERBUF9HRU5F UkFMSVpFRF9USU1FX0ZPUk1BVCkKKysKKyAgICAgZGVmIGVuY29kZShzZWxmLCB2YWwpOgorICAg ICAgICAgIiIiCisgICAgICAgICBFbmNvZGUgYXR0cmlidXRlIHZhbHVlIHRvIExEQVAgcmVwcmVz ZW50YXRpb24gKHN0ci9ieXRlcykuCitAQCAtOTk5LDcgKzEwMTMsNyBAQCBkZWYgZW5jb2RlKHNl bGYsIHZhbCk6CisgICAgICAgICAgICAgZGN0ID0gZGljdCgoaywgc2VsZi5lbmNvZGUodikpIGZv ciBrLCB2IGluIHZhbC5pdGVtcygpKQorICAgICAgICAgICAgIHJldHVybiBkY3QKKyAgICAgICAg IGVsaWYgaXNpbnN0YW5jZSh2YWwsIGRhdGV0aW1lKToKKy0gICAgICAgICAgICByZXR1cm4gdmFs LnN0cmZ0aW1lKExEQVBfR0VORVJBTElaRURfVElNRV9GT1JNQVQpLmVuY29kZSgndXRmLTgnKQor KyAgICAgICAgICAgIHJldHVybiBzZWxmLl9lbmNvZGVfZGF0ZXRpbWUodmFsKS5lbmNvZGUoJ3V0 Zi04JykKKyAgICAgICAgIGVsaWYgaXNpbnN0YW5jZSh2YWwsIHg1MDkuSVBBQ2VydGlmaWNhdGUp OgorICAgICAgICAgICAgIHJldHVybiB2YWwucHVibGljX2J5dGVzKHg1MDkuRW5jb2RpbmcuREVS KQorICAgICAgICAgZWxpZiB2YWwgaXMgTm9uZToKK0BAIC0xMzg5LDggKzE0MDMsNyBAQCBkZWYg bWFrZV9maWx0ZXJfZnJvbV9hdHRyKAorICAgICAgICAgICAgICAgICB2YWx1ZSA9IHUnXFwnLmpv aW4oCisgICAgICAgICAgICAgICAgICAgICB2YWx1ZVtpOmkrMl0gZm9yIGkgaW4gc2l4Lm1vdmVz LnJhbmdlKC0yLCBsZW4odmFsdWUpLCAyKSkKKyAgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2Uo dmFsdWUsIGRhdGV0aW1lKToKKy0gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5zdHJmdGlt ZSgKKy0gICAgICAgICAgICAgICAgICAgIExEQVBfR0VORVJBTElaRURfVElNRV9GT1JNQVQpCisr ICAgICAgICAgICAgICAgIHZhbHVlID0gY2xzLl9lbmNvZGVfZGF0ZXRpbWUodmFsdWUpCisgICAg ICAgICAgICAgICAgIHZhbHVlID0gbGRhcC5maWx0ZXIuZXNjYXBlX2ZpbHRlcl9jaGFycyh2YWx1 ZSkKKyAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICB2YWx1ZSA9IHN0cih2YWx1 ZSkKK2RpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29tbWFuZHMu cHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29tbWFuZHMucHkKK2luZGV4IDRk MjIxYWJjMjA4Li5kMzcwYjQ5YTA1YiAxMDA2NDQKKy0tLSBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdy YXRpb24vdGVzdF9jb21tYW5kcy5weQorKysrIGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90 ZXN0X2NvbW1hbmRzLnB5CitAQCAtNDcxLDYgKzQ3MSw5MiBAQCBkZWYgdGVzdF9jaGFuZ2Vfc3lz YWNjb3VudF9wYXNzd29yZF9pc3N1ZTc1NjEoc2VsZik6CisgICAgICAgICB0YXNrcy5sZGFwcGFz c3dkX3N5c2FjY291bnRfY2hhbmdlKHN5c3VzZXIsIG9yaWdpbmFsX3Bhc3N3ZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X3Bhc3N3ZCwgbWFzdGVyKQor IAorKyAgICBkZWYgdGVzdF91c2VyX2FkZF9wYXNzd29yZF9leHBpcmF0aW9uX2JvdW5kZWRfYnlf cG9saWN5KHNlbGYpOgorKyAgICAgICAgIiIidXNlci1hZGQgd2l0aCAtLXBhc3N3b3JkIGFuZCBh biBleHBsaWNpdCAtLXBhc3N3b3JkLWV4cGlyYXRpb24uCisrCisrICAgICAgICBUaGUgaXBhLXB3 ZC1leHRvcCBEUyBwbHVnaW4gbXVzdDoKKysgICAgICAgICAgKiBzdG9yZSBhIHNpbmdsZSB2YWx1 ZSBvZiB0aGUgc2luZ2xlLXZhbHVlZCBrcmJQYXNzd29yZEV4cGlyYXRpb24KKysgICAgICAgICAg ICBhdHRyaWJ1dGUgKGl0IHVzZWQgdG8gYXBwZW5kIGEgc2Vjb25kLCBwb2xpY3ktZGVyaXZlZCB2 YWx1ZSBvbiBhZGQsCisrICAgICAgICAgICAgZmFpbGluZyB0aGUgb3BlcmF0aW9uIHdpdGggYSBz Y2hlbWEgdmlvbGF0aW9uKSwgYW5kCisrICAgICAgICAgICogaG9ub3IgYW4gZXhwbGljaXRseSBy ZXF1ZXN0ZWQgZXhwaXJhdGlvbiBidXQgYm91bmQgaXQgYnkgdGhlCisrICAgICAgICAgICAgZWZm ZWN0aXZlIHBhc3N3b3JkIHBvbGljeSwgc28gYSBwYXNzd29yZCBuZXZlciBvdXRsaXZlcyBwb2xp Y3kuCisrICAgICAgICAiIiIKKysgICAgICAgIG1hc3RlciA9IHNlbGYubWFzdGVyCisrICAgICAg ICB0YXNrcy5raW5pdF9hZG1pbihtYXN0ZXIpCisrICAgICAgICBiYXNlX2RuID0gc3RyKG1hc3Rl ci5kb21haW4uYmFzZWRuKQorKworKyAgICAgICAgIyBFZmZlY3RpdmUgZ2xvYmFsIHBvbGljeSBt YXhpbXVtIHBhc3N3b3JkIGxpZmV0aW1lLCBpbiBzZWNvbmRzCisrICAgICAgICAjIChrcmJNYXhQ d2RMaWZlIGlzIHN0b3JlZCBpbiBzZWNvbmRzOyAwIG1lYW5zICJuZXZlciBleHBpcmUiKS4KKysg ICAgICAgIHJlc3VsdCA9IG1hc3Rlci5ydW5fY29tbWFuZChbJ2lwYScsICdwd3BvbGljeS1zaG93 JywgJy0tcmF3J10pCisrICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaChyJ2tyYm1heHB3ZGxpZmU6 XHMqKFxkKyknLCByZXN1bHQuc3Rkb3V0X3RleHQpCisrICAgICAgICBtYXhfbGlmZV9zZWNzID0g aW50KG1hdGNoLmdyb3VwKDEpKSBpZiBtYXRjaCBlbHNlIDAKKysKKysgICAgICAgIGRlZiBhZGRf dXNlcih1c2VyLCBleHBfZHQpOgorKyAgICAgICAgICAgIG1hc3Rlci5ydW5fY29tbWFuZCgKKysg ICAgICAgICAgICAgICAgWydpcGEnLCAndXNlci1hZGQnLCB1c2VyLCAnLS1maXJzdCcsIHVzZXIs ICctLWxhc3QnLCB1c2VyLAorKyAgICAgICAgICAgICAgICAgJy0tcGFzc3dvcmQnLCAnLS1wYXNz d29yZC1leHBpcmF0aW9uJywKKysgICAgICAgICAgICAgICAgIGV4cF9kdC5zdHJmdGltZSgnJVkl bSVkJUglTSVTWicpXSwKKysgICAgICAgICAgICAgICAgc3RkaW5fdGV4dD0nU2VjcmV0MTIzXG5T ZWNyZXQxMjNcbicpCisrCisrICAgICAgICBkZWYgc3RvcmVkX2V4cGlyYXRpb25zKHVzZXIpOgor KyAgICAgICAgICAgIHJlc3VsdCA9IHRhc2tzLmxkYXBzZWFyY2hfZG0oCisrICAgICAgICAgICAg ICAgIG1hc3RlciwKKysgICAgICAgICAgICAgICAgJ3VpZD17dXNlcn0sY249dXNlcnMsY249YWNj b3VudHMse2Jhc2VfZG59Jy5mb3JtYXQoCisrICAgICAgICAgICAgICAgICAgICB1c2VyPXVzZXIs IGJhc2VfZG49YmFzZV9kbiksCisrICAgICAgICAgICAgICAgIFsna3JicGFzc3dvcmRleHBpcmF0 aW9uJ10sCisrICAgICAgICAgICAgICAgIHNjb3BlPSdiYXNlJykKKysgICAgICAgICAgICB2YWx1 ZXMgPSByZS5maW5kYWxsKHIna3JicGFzc3dvcmRleHBpcmF0aW9uOiAoXFMrKScsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQuc3Rkb3V0X3RleHQubG93ZXIoKSkKKysg ICAgICAgICAgICByZXR1cm4gW2RhdGV0aW1lLnN0cnB0aW1lKHYuc3RyaXAoKS51cHBlcigpLCAn JVklbSVkJUglTSVTWicpCisrICAgICAgICAgICAgICAgICAgICBmb3IgdiBpbiB2YWx1ZXNdCisr CisrICAgICAgICAjIEEgcmVxdWVzdCBjb21mb3J0YWJseSB3aXRoaW4gcG9saWN5IG11c3QgYmUg aG9ub3JlZCB2ZXJiYXRpbS4KKysgICAgICAgIHdpdGhpbl91c2VyID0gJ3B3ZGV4cHdpdGhpbicK KysgICAgICAgIGlmIG1heF9saWZlX3NlY3M6CisrICAgICAgICAgICAgd2l0aGluX2RlbHRhID0g dGltZWRlbHRhKHNlY29uZHM9bWluKG1heF9saWZlX3NlY3MgLy8gMiwgODY0MDApKQorKyAgICAg ICAgZWxzZToKKysgICAgICAgICAgICB3aXRoaW5fZGVsdGEgPSB0aW1lZGVsdGEoZGF5cz0xKQor KyAgICAgICAgcmVxdWVzdGVkID0gZGF0ZXRpbWUudXRjbm93KCkgKyB3aXRoaW5fZGVsdGEKKysg ICAgICAgICMgc2Vjb25kIHByZWNpc2lvbiBvbmx5OiBrcmJQYXNzd29yZEV4cGlyYXRpb24gaGFz IG5vIHN1Yi1zZWNvbmQgcGFydAorKyAgICAgICAgcmVxdWVzdGVkID0gcmVxdWVzdGVkLnJlcGxh Y2UobWljcm9zZWNvbmQ9MCkKKysgICAgICAgIHRyeToKKysgICAgICAgICAgICBhZGRfdXNlcih3 aXRoaW5fdXNlciwgcmVxdWVzdGVkKQorKyAgICAgICAgICAgIHN0b3JlZCA9IHN0b3JlZF9leHBp cmF0aW9ucyh3aXRoaW5fdXNlcikKKysgICAgICAgICAgICBhc3NlcnQgbGVuKHN0b3JlZCkgPT0g MSwgKAorKyAgICAgICAgICAgICAgICAna3JiUGFzc3dvcmRFeHBpcmF0aW9uIG11c3QgYmUgc2lu Z2xlLXZhbHVlZCwgZ290ICVyJyAlIHN0b3JlZCkKKysgICAgICAgICAgICBhc3NlcnQgYWJzKChz dG9yZWRbMF0gLSByZXF1ZXN0ZWQpLnRvdGFsX3NlY29uZHMoKSkgPCAxMjAsICgKKysgICAgICAg ICAgICAgICAgJ3dpdGhpbi1wb2xpY3kgcmVxdWVzdCAlcyBub3QgaG9ub3JlZCwgc3RvcmVkICVz JworKyAgICAgICAgICAgICAgICAlIChyZXF1ZXN0ZWQsIHN0b3JlZFswXSkpCisrICAgICAgICBm aW5hbGx5OgorKyAgICAgICAgICAgIG1hc3Rlci5ydW5fY29tbWFuZChbJ2lwYScsICd1c2VyLWRl bCcsIHdpdGhpbl91c2VyXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Vv bmVycj1GYWxzZSkKKysKKysgICAgICAgICMgQSByZXF1ZXN0IGZhciBiZXlvbmQgcG9saWN5IG11 c3QgYmUgY2FwcGVkIGF0IHRoZSBwb2xpY3kgbWF4aW11bQorKyAgICAgICAgIyAob25seSBtZWFu aW5nZnVsIHdoZW4gdGhlIHBvbGljeSBhY3R1YWxseSBzZXRzIGEgbWF4aW11bSBsaWZldGltZSku CisrICAgICAgICBpZiBtYXhfbGlmZV9zZWNzOgorKyAgICAgICAgICAgIG92ZXJfdXNlciA9ICdw d2RleHBvdmVyJworKyAgICAgICAgICAgIHJlcXVlc3RlZCA9IChkYXRldGltZS51dGNub3coKQor KyAgICAgICAgICAgICAgICAgICAgICAgICArIHRpbWVkZWx0YShzZWNvbmRzPW1heF9saWZlX3Nl Y3MpCisrICAgICAgICAgICAgICAgICAgICAgICAgICsgdGltZWRlbHRhKGRheXM9MzY1MCkpCisr ICAgICAgICAgICAgcmVxdWVzdGVkID0gcmVxdWVzdGVkLnJlcGxhY2UobWljcm9zZWNvbmQ9MCkK KysgICAgICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAgIGFkZF91c2VyKG92ZXJfdXNlciwg cmVxdWVzdGVkKQorKyAgICAgICAgICAgICAgICBzdG9yZWQgPSBzdG9yZWRfZXhwaXJhdGlvbnMo b3Zlcl91c2VyKQorKyAgICAgICAgICAgICAgICBhc3NlcnQgbGVuKHN0b3JlZCkgPT0gMSwgKAor KyAgICAgICAgICAgICAgICAgICAgJ2tyYlBhc3N3b3JkRXhwaXJhdGlvbiBtdXN0IGJlIHNpbmds ZS12YWx1ZWQsIGdvdCAlcicKKysgICAgICAgICAgICAgICAgICAgICUgc3RvcmVkKQorKyAgICAg ICAgICAgICAgICBhc3NlcnQgc3RvcmVkWzBdIDwgcmVxdWVzdGVkIC0gdGltZWRlbHRhKGRheXM9 MSksICgKKysgICAgICAgICAgICAgICAgICAgICdiZXlvbmQtcG9saWN5IHJlcXVlc3Qgd2FzIG5v dCBjYXBwZWQsIHN0b3JlZCAlcycKKysgICAgICAgICAgICAgICAgICAgICUgc3RvcmVkWzBdKQor KyAgICAgICAgICAgICAgICBjYXAgPSAoZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vj b25kcz1tYXhfbGlmZV9zZWNzKQorKyAgICAgICAgICAgICAgICAgICAgICAgKyB0aW1lZGVsdGEo ZGF5cz0xKSkKKysgICAgICAgICAgICAgICAgYXNzZXJ0IHN0b3JlZFswXSA8PSBjYXAsICgKKysg ICAgICAgICAgICAgICAgICAgICdzdG9yZWQgZXhwaXJhdGlvbiAlcyBleGNlZWRzIHBvbGljeSBj YXAgJXMnCisrICAgICAgICAgICAgICAgICAgICAlIChzdG9yZWRbMF0sIGNhcCkpCisrICAgICAg ICAgICAgZmluYWxseToKKysgICAgICAgICAgICAgICAgbWFzdGVyLnJ1bl9jb21tYW5kKFsnaXBh JywgJ3VzZXItZGVsJywgb3Zlcl91c2VyXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJhaXNlb25lcnI9RmFsc2UpCisrCisgICAgIGRlZiBnZXRfa3JiaW5mbyhzZWxmLCB1 c2VyKToKKyAgICAgICAgIGJhc2VfZG4gPSBzdHIoc2VsZi5tYXN0ZXIuZG9tYWluLmJhc2VkbikK KyAgICAgICAgIHJlc3VsdCA9IHRhc2tzLmxkYXBzZWFyY2hfZG0oCgpkaWZmIC0tZ2l0IGEvZnJl ZWlwYS5zcGVjIGIvZnJlZWlwYS5zcGVjCmluZGV4IDQyODhkOWUuLmRmMDg2MzcgMTAwNjQ0Ci0t LSBhL2ZyZWVpcGEuc3BlYworKysgYi9mcmVlaXBhLnNwZWMKQEAgLTIxMSw3ICsyMTEsNyBAQAog CiBOYW1lOiAgICAgICAgICAgJXtwYWNrYWdlX25hbWV9CiBWZXJzaW9uOiAgICAgICAgJXtJUEFf VkVSU0lPTn0KLVJlbGVhc2U6ICAgICAgICAxLjIlez9yY192ZXJzaW9uOi4lcmNfdmVyc2lvbn0l ez9kaXN0fQorUmVsZWFzZTogICAgICAgIDIlez9yY192ZXJzaW9uOi4lcmNfdmVyc2lvbn0lez9k aXN0fQogU3VtbWFyeTogICAgICAgIFRoZSBJZGVudGl0eSwgUG9saWN5IGFuZCBBdWRpdCBzeXN0 ZW0KIAogTGljZW5zZTogICAgICAgIEdQTC0zLjAtb3ItbGF0ZXIKQEAgLTE5NzYsNiArMTk3Niwx MCBAQCBmaQogJWVuZGlmCiAKICVjaGFuZ2Vsb2cKKyogU2F0IFNlcCAxOSAyMDI2IEFsZXhhbmRl ciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPiAtIDQuMTMuNC0yCistIFVwZGF0ZSBwb3N0 LTQuMTMuNC1yZWxlYXNlIHBhdGNoZXMKKy0gUmVidWlsZCBhZ2FpbnN0IFNhbWJhIDQuMjUuMC1S QzIKKwogKiBNb24gU2VwIDA3IDIwMjYgQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhh dC5jb20+IC0gNC4xMy40LTEuMgogLSBGaW5lLXR1bmUgcHJpdmlsZWdlIGNoZWNrcyAodXBzdHJl YW0gUFIgODU1OCkKIAo=