From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 23992 invoked from network); 26 Dec 2023 22:52:48 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 26 Dec 2023 22:52:48 -0000 Content-Type: multipart/mixed; boundary="===============3849916926999397565==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_glibc=3A_fix_memalign_performance_regression?= To: ml@inbox.vuxu.org From: tornaria Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Tue, 26 Dec 2023 23:52:48 +0100 List-Id: Message-ID: <20231226225248.rpBdIAd-BCzf6czJG73w5zxY9dfUpXnYOcqyTs48rgc@z> GitHub notification mails are now in MIME to allow UTF8. --===============3849916926999397565== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgdG9ybmFyaWEgYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL3Rv cm5hcmlhL3ZvaWQtcGFja2FnZXMgZ2xpYmMKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9wdWxsLzQ3OTE0CgpnbGliYzogZml4IG1lbWFsaWduIHBlcmZvcm1hbmNl IHJlZ3Jlc3Npb24KPCEtLSBVbmNvbW1lbnQgcmVsZXZhbnQgc2VjdGlvbnMgYW5kIGRlbGV0ZSBv cHRpb25zIHdoaWNoIGFyZSBub3QgYXBwbGljYWJsZSAtLT4NCg0KVGhlIHVwZ3JhZGUgdG8gMi4z OCBicm91Z2h0IGEgdmVyeSBzYWQgcGVyZm9ybWFuY2UgcmVncmVzc2lvbiBpbiBzYWdlbWF0aDoN CmBgYA0KJCB0aW1lIHB5dGhvbiAtYyAnZnJvbSBzYWdlLmdyYXBocy5nZW5lcmF0b3JzLmRpc3Rh bmNlX3JlZ3VsYXIgaW1wb3J0IERvdWJsZUdyYXNzbWFubkdyYXBoOyBwcmludChEb3VibGVHcmFz c21hbm5HcmFwaCgyLDIpKScNCjxzdHJpbmc+OjE6IFVzZXJXYXJuaW5nOiBSZXNvbHZpbmcgbGF6 eSBpbXBvcnQgR0YgZHVyaW5nIHN0YXJ0dXANCjxzdHJpbmc+OjE6IFVzZXJXYXJuaW5nOiBSZXNv bHZpbmcgbGF6eSBpbXBvcnQgVmVjdG9yU3BhY2UgZHVyaW5nIHN0YXJ0dXANCkRvdWJsZSBHcmFz c21hbm4gZ3JhcGggKDUsIDIsIDIpDQoNCnJlYWwJMG0zMC4xMDFzDQp1c2VyCTBtMjkuOTU5cw0K c3lzCTBtMC4wNjBzDQpgYGANCndoaWxlIHRoZSBzYW1lIHRoaW5nIGluIDIuMzYgKG9yIGFmdGVy IHRoaXMgUFIpIHRha2VzIH4gMS0yIHNlY29uZHMuDQoNClRoYW5rcyB0byBAb3JlbzYzOSBmb3Ig ZmlndXJpbmcgb3V0IGl0IHdhcyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3df YnVnLmNnaT9pZD0zMDcyMw0KDQpJbmRlZWQsIGFsbCB0aGUgcGVyZm9ybWFuY2UgcmVncmVzc2lv bnMgSSB3YXMgc2VlaW5nIGFyZSBnb25lIG5vdy4NCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2Vz DQotIEkgdGVzdGVkIHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqYnJpZWZseSoqDQoNCjwhLS0N CiMjIyMgTmV3IHBhY2thZ2UNCi0gVGhpcyBuZXcgcGFja2FnZSBjb25mb3JtcyB0byB0aGUgW3Bh Y2thZ2UgcmVxdWlyZW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBh Y2thZ2VzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNwYWNrYWdlLXJlcXVpcmVtZW50cyk6 ICoqWUVTKip8KipOTyoqDQotLT4NCg0KPCEtLSBOb3RlOiBJZiB0aGUgYnVpbGQgaXMgbGlrZWx5 IHRvIHRha2UgbW9yZSB0aGFuIDIgaG91cnMsIHBsZWFzZSBhZGQgY2kgc2tpcCB0YWcgYXMgZGVz Y3JpYmVkIGluDQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Js b2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNjb250aW51b3VzLWludGVncmF0aW9uDQphbmQgdGVz dCBhdCBsZWFzdCBvbmUgbmF0aXZlIGJ1aWxkIGFuZCwgaWYgc3VwcG9ydGVkLCBhdCBsZWFzdCBv bmUgY3Jvc3MgYnVpbGQuDQpJZ25vcmUgdGhpcyBzZWN0aW9uIGlmIHRoaXMgUFIgaXMgbm90IHNr aXBwaW5nIENJLg0KLS0+DQo8IS0tDQojIyMjIExvY2FsIGJ1aWxkIHRlc3RpbmcNCi0gSSBidWls dCB0aGlzIFBSIGxvY2FsbHkgZm9yIG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsIChBUkNILUxJQkMp DQotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciB0aGVzZSBhcmNoaXRlY3R1cmVzIChpZiBz dXBwb3J0ZWQuIG1hcmsgY3Jvc3NidWlsZHMpOg0KICAtIGFhcmNoNjQtbXVzbA0KICAtIGFybXY3 bA0KICAtIGFybXY2bC1tdXNsDQotLT4NCgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRo dWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ3OTE0LnBhdGNoIGlzIGF0dGFj aGVk --===============3849916926999397565== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-glibc-47914.patch" RnJvbSBmOTU3YzIyMTE4YjU5MGNjZjgwOGJmOTVmMDYwOGE2ZTI3MTYzYTAyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8 dG9ybmFyaWFAY21hdC5lZHUudXk+CkRhdGU6IFR1ZSwgMjYgRGVjIDIwMjMgMTk6Mjg6MzkgLTAz MDAKU3ViamVjdDogW1BBVENIIDEvOV0gZ2xpYmM6IGZpeCBwZXJmb3JtYW5jZSByZWdyZXNzaW9u IGluIHBvc2l4X21lbWFsaWduIHdpdGgKIGxvbmcgZnJlZSBsaXN0cwoKVGhhbmtzIEBvcmVvNjM5 Ci0tLQogLi4uMTEwNTg1MjU2OGMzZWJjNzEyMjI1YWU3OGI4YzhiYTMxYTc4LnBhdGNoIHwgMjk2 ICsrKysrKysrKysrKysrKysrKwogLi4uZmMxY2YwOTQ0MDZhMTM4ZTRkMWJjZjk1NTNlNTllZGNm ODlkLnBhdGNoIHwgMjUyICsrKysrKysrKysrKysrKwogc3JjcGtncy9nbGliYy90ZW1wbGF0ZSAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDU0OSBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9nbGli Yy9wYXRjaGVzLzMwNzIzLTEtNTQyYjExMDU4NTI1NjhjM2ViYzcxMjIyNWFlNzhiOGM4YmEzMWE3 OC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8zMDcyMy0y LTBkYzdmYzFjZjA5NDQwNmExMzhlNGQxYmNmOTU1M2U1OWVkY2Y4OWQucGF0Y2gKCmRpZmYgLS1n aXQgYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvMzA3MjMtMS01NDJiMTEwNTg1MjU2OGMzZWJjNzEy MjI1YWU3OGI4YzhiYTMxYTc4LnBhdGNoIGIvc3JjcGtncy9nbGliYy9wYXRjaGVzLzMwNzIzLTEt NTQyYjExMDU4NTI1NjhjM2ViYzcxMjIyNWFlNzhiOGM4YmEzMWE3OC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi41NmQ1ZDQ3YzAzMWEwCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9nbGliYy9wYXRjaGVzLzMwNzIzLTEtNTQyYjExMDU4NTI1NjhjM2Vi YzcxMjIyNWFlNzhiOGM4YmEzMWE3OC5wYXRjaApAQCAtMCwwICsxLDI5NiBAQAorRnJvbSA1NDJi MTEwNTg1MjU2OGMzZWJjNzEyMjI1YWU3OGI4YzhiYTMxYTc4IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogRmxvcmlhbiBXZWltZXIgPGZ3ZWltZXJAcmVkaGF0LmNvbT4KK0RhdGU6IEZy aSwgMTEgQXVnIDIwMjMgMTE6MTg6MTcgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWFsbG9jOiBF bmFibGUgbWVyZ2luZyBvZiByZW1haW5kZXJzIGluIG1lbWFsaWduIChidWcgMzA3MjMpCisKK1By ZXZpb3VzbHksIGNhbGxpbmcgX2ludF9mcmVlIGZyb20gX2ludF9tZW1hbGlnbiBjb3VsZCBwdXQg cmVtYWluZGVycworaW50byB0aGUgdGNhY2hlIG9yIGludG8gZmFzdGJpbnMsIHdoZXJlIHRoZXkg YXJlIGludmlzaWJsZSB0byB0aGUKK2xvdy1sZXZlbCBhbGxvY2F0b3IuICBUaGlzIHJlc3VsdHMg aW4gbWlzc2VkIG1lcmdlIG9wcG9ydHVuaXRpZXMKK2JlY2F1c2Ugb25jZSB0aGVzZSBmcmVlZCBj aHVua3MgYmVjb21lIGF2YWlsYWJsZSB0byB0aGUgbG93LWxldmVsCithbGxvY2F0b3IsIGZ1cnRo ZXIgbWVtYWxpZ24gYWxsb2NhdGlvbnMgKGV2ZW4gb2YgdGhlIHNhbWUgc2l6ZSBhcmUpCitsaWtl bHkgb2JzdHJ1Y3RpbmcgbWVyZ2VzLgorCitGdXJ0aGVybW9yZSwgZHVyaW5nIGZvcndhcmRzIG1l cmdpbmcgaW4gX2ludF9tZW1hbGlnbiwgZG8gbm90Citjb21wbGV0ZWx5IGdpdmUgdXAgd2hlbiB0 aGUgcmVtYWluZGVyIGlzIHRvbyBzbWFsbCB0byBzZXJ2ZSBhcyBhCitjaHVuayBvbiBpdHMgb3du LiAgV2UgY2FuIHN0aWxsIGdpdmUgaXQgYmFjayBpZiBpdCBjYW4gYmUgbWVyZ2VkCit3aXRoIHRo ZSBmb2xsb3dpbmcgdW51c2VkIGNodW5rLiAgVGhpcyBtYWtlcyBpdCBtb3JlIGxpa2VseSB0aGF0 CittZW1hbGlnbiBjYWxscyBpbiBhIGxvb3AgYWNoaWV2ZSBhIGNvbXBhY3QgbWVtb3J5IGxheW91 dCwKK2luZGVwZW5kZW50bHkgb2YgaW5pdGlhbCBoZWFwIGxheW91dC4KKworRHJvcCBzb21lIHVz ZWxlc3MgKHVuc2lnbmVkIGxvbmcpIGNhc3RzIGFsb25nIHRoZSB3YXksIGFuZCB0d2VhawordGhl IHN0eWxlIHRvIG1vcmUgY2xvc2VseSBtYXRjaCBHTlUgb24gY2hhbmdlZCBsaW5lcy4KKworUmV2 aWV3ZWQtYnk6IERKIERlbG9yaWUgPGRqQHJlZGhhdC5jb20+CistLS0KKyBtYWxsb2MvbWFsbG9j LmMgfCAxOTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0t CisgMSBmaWxlIGNoYW5nZWQsIDEyMSBpbnNlcnRpb25zKCspLCA3NiBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL21hbGxvYy9tYWxsb2MuYyBiL21hbGxvYy9tYWxsb2MuYworaW5kZXggZTJm MWE2MTVhNC4uOTQ4Zjk3NTlhZiAxMDA2NDQKKy0tLSBhL21hbGxvYy9tYWxsb2MuYworKysrIGIv bWFsbG9jL21hbGxvYy5jCitAQCAtMTA4Niw2ICsxMDg2LDExIEBAIHR5cGVkZWYgc3RydWN0IG1h bGxvY19jaHVuayogbWNodW5rcHRyOworIAorIHN0YXRpYyB2b2lkKiAgX2ludF9tYWxsb2MobXN0 YXRlLCBzaXplX3QpOworIHN0YXRpYyB2b2lkICAgICBfaW50X2ZyZWUobXN0YXRlLCBtY2h1bmtw dHIsIGludCk7Cisrc3RhdGljIHZvaWQgX2ludF9mcmVlX21lcmdlX2NodW5rIChtc3RhdGUsIG1j aHVua3B0ciwgSU5URVJOQUxfU0laRV9UKTsKKytzdGF0aWMgSU5URVJOQUxfU0laRV9UIF9pbnRf ZnJlZV9jcmVhdGVfY2h1bmsgKG1zdGF0ZSwKKysJCQkJCSAgICAgICBtY2h1bmtwdHIsIElOVEVS TkFMX1NJWkVfVCwKKysJCQkJCSAgICAgICBtY2h1bmtwdHIsIElOVEVSTkFMX1NJWkVfVCk7Cisr c3RhdGljIHZvaWQgX2ludF9mcmVlX21heWJlX2NvbnNvbGlkYXRlIChtc3RhdGUsIElOVEVSTkFM X1NJWkVfVCk7Cisgc3RhdGljIHZvaWQqICBfaW50X3JlYWxsb2MobXN0YXRlLCBtY2h1bmtwdHIs IElOVEVSTkFMX1NJWkVfVCwKKyAJCQkgICBJTlRFUk5BTF9TSVpFX1QpOworIHN0YXRpYyB2b2lk KiAgX2ludF9tZW1hbGlnbihtc3RhdGUsIHNpemVfdCwgc2l6ZV90KTsKK0BAIC00NjM3LDMxICs0 NjQyLDUyIEBAIF9pbnRfZnJlZSAobXN0YXRlIGF2LCBtY2h1bmtwdHIgcCwgaW50IGhhdmVfbG9j aykKKyAgICAgaWYgKCFoYXZlX2xvY2spCisgICAgICAgX19saWJjX2xvY2tfbG9jayAoYXYtPm11 dGV4KTsKKyAKKy0gICAgbmV4dGNodW5rID0gY2h1bmtfYXRfb2Zmc2V0KHAsIHNpemUpOworLQor LSAgICAvKiBMaWdodHdlaWdodCB0ZXN0czogY2hlY2sgd2hldGhlciB0aGUgYmxvY2sgaXMgYWxy ZWFkeSB0aGUKKy0gICAgICAgdG9wIGJsb2NrLiAgKi8KKy0gICAgaWYgKF9fZ2xpYmNfdW5saWtl bHkgKHAgPT0gYXYtPnRvcCkpCistICAgICAgbWFsbG9jX3ByaW50ZXJyICgiZG91YmxlIGZyZWUg b3IgY29ycnVwdGlvbiAodG9wKSIpOworLSAgICAvKiBPciB3aGV0aGVyIHRoZSBuZXh0IGNodW5r IGlzIGJleW9uZCB0aGUgYm91bmRhcmllcyBvZiB0aGUgYXJlbmEuICAqLworLSAgICBpZiAoX19i dWlsdGluX2V4cGVjdCAoY29udGlndW91cyAoYXYpCistCQkJICAmJiAoY2hhciAqKSBuZXh0Y2h1 bmsKKy0JCQkgID49ICgoY2hhciAqKSBhdi0+dG9wICsgY2h1bmtzaXplKGF2LT50b3ApKSwgMCkp CistCW1hbGxvY19wcmludGVyciAoImRvdWJsZSBmcmVlIG9yIGNvcnJ1cHRpb24gKG91dCkiKTsK Ky0gICAgLyogT3Igd2hldGhlciB0aGUgYmxvY2sgaXMgYWN0dWFsbHkgbm90IG1hcmtlZCB1c2Vk LiAgKi8KKy0gICAgaWYgKF9fZ2xpYmNfdW5saWtlbHkgKCFwcmV2X2ludXNlKG5leHRjaHVuaykp KQorLSAgICAgIG1hbGxvY19wcmludGVyciAoImRvdWJsZSBmcmVlIG9yIGNvcnJ1cHRpb24gKCFw cmV2KSIpOworLQorLSAgICBuZXh0c2l6ZSA9IGNodW5rc2l6ZShuZXh0Y2h1bmspOworLSAgICBp ZiAoX19idWlsdGluX2V4cGVjdCAoY2h1bmtzaXplX25vbWFzayAobmV4dGNodW5rKSA8PSBDSFVO S19IRFJfU1osIDApCistCXx8IF9fYnVpbHRpbl9leHBlY3QgKG5leHRzaXplID49IGF2LT5zeXN0 ZW1fbWVtLCAwKSkKKy0gICAgICBtYWxsb2NfcHJpbnRlcnIgKCJmcmVlKCk6IGludmFsaWQgbmV4 dCBzaXplIChub3JtYWwpIik7CisrICAgIF9pbnRfZnJlZV9tZXJnZV9jaHVuayAoYXYsIHAsIHNp emUpOworIAorLSAgICBmcmVlX3BlcnR1cmIgKGNodW5rMm1lbShwKSwgc2l6ZSAtIENIVU5LX0hE Ul9TWik7CisrICAgIGlmICghaGF2ZV9sb2NrKQorKyAgICAgIF9fbGliY19sb2NrX3VubG9jayAo YXYtPm11dGV4KTsKKysgIH0KKysgIC8qCisrICAgIElmIHRoZSBjaHVuayB3YXMgYWxsb2NhdGVk IHZpYSBtbWFwLCByZWxlYXNlIHZpYSBtdW5tYXAoKS4KKysgICovCisrCisrICBlbHNlIHsKKysg ICAgbXVubWFwX2NodW5rIChwKTsKKysgIH0KKyt9CisrCisrLyogVHJ5IHRvIG1lcmdlIGNodW5r IFAgb2YgU0laRSBieXRlcyB3aXRoIGl0cyBuZWlnaGJvcnMuICBQdXQgdGhlCisrICAgcmVzdWx0 aW5nIGNodW5rIG9uIHRoZSBhcHByb3ByaWF0ZSBiaW4gbGlzdC4gIFAgbXVzdCBub3QgYmUgb24g YQorKyAgIGJpbiBsaXN0IHlldCwgYW5kIGl0IGNhbiBiZSBpbiB1c2UuICAqLworK3N0YXRpYyB2 b2lkCisrX2ludF9mcmVlX21lcmdlX2NodW5rIChtc3RhdGUgYXYsIG1jaHVua3B0ciBwLCBJTlRF Uk5BTF9TSVpFX1Qgc2l6ZSkKKyt7CisrICBtY2h1bmtwdHIgbmV4dGNodW5rID0gY2h1bmtfYXRf b2Zmc2V0KHAsIHNpemUpOworKworKyAgLyogTGlnaHR3ZWlnaHQgdGVzdHM6IGNoZWNrIHdoZXRo ZXIgdGhlIGJsb2NrIGlzIGFscmVhZHkgdGhlCisrICAgICB0b3AgYmxvY2suICAqLworKyAgaWYg KF9fZ2xpYmNfdW5saWtlbHkgKHAgPT0gYXYtPnRvcCkpCisrICAgIG1hbGxvY19wcmludGVyciAo ImRvdWJsZSBmcmVlIG9yIGNvcnJ1cHRpb24gKHRvcCkiKTsKKysgIC8qIE9yIHdoZXRoZXIgdGhl IG5leHQgY2h1bmsgaXMgYmV5b25kIHRoZSBib3VuZGFyaWVzIG9mIHRoZSBhcmVuYS4gICovCisr ICBpZiAoX19idWlsdGluX2V4cGVjdCAoY29udGlndW91cyAoYXYpCisrCQkJJiYgKGNoYXIgKikg bmV4dGNodW5rCisrCQkJPj0gKChjaGFyICopIGF2LT50b3AgKyBjaHVua3NpemUoYXYtPnRvcCkp LCAwKSkKKysgICAgbWFsbG9jX3ByaW50ZXJyICgiZG91YmxlIGZyZWUgb3IgY29ycnVwdGlvbiAo b3V0KSIpOworKyAgLyogT3Igd2hldGhlciB0aGUgYmxvY2sgaXMgYWN0dWFsbHkgbm90IG1hcmtl ZCB1c2VkLiAgKi8KKysgIGlmIChfX2dsaWJjX3VubGlrZWx5ICghcHJldl9pbnVzZShuZXh0Y2h1 bmspKSkKKysgICAgbWFsbG9jX3ByaW50ZXJyICgiZG91YmxlIGZyZWUgb3IgY29ycnVwdGlvbiAo IXByZXYpIik7CisrCisrICBJTlRFUk5BTF9TSVpFX1QgbmV4dHNpemUgPSBjaHVua3NpemUobmV4 dGNodW5rKTsKKysgIGlmIChfX2J1aWx0aW5fZXhwZWN0IChjaHVua3NpemVfbm9tYXNrIChuZXh0 Y2h1bmspIDw9IENIVU5LX0hEUl9TWiwgMCkKKysgICAgICB8fCBfX2J1aWx0aW5fZXhwZWN0IChu ZXh0c2l6ZSA+PSBhdi0+c3lzdGVtX21lbSwgMCkpCisrICAgIG1hbGxvY19wcmludGVyciAoImZy ZWUoKTogaW52YWxpZCBuZXh0IHNpemUgKG5vcm1hbCkiKTsKKysKKysgIGZyZWVfcGVydHVyYiAo Y2h1bmsybWVtKHApLCBzaXplIC0gQ0hVTktfSERSX1NaKTsKKyAKKy0gICAgLyogY29uc29saWRh dGUgYmFja3dhcmQgKi8KKy0gICAgaWYgKCFwcmV2X2ludXNlKHApKSB7CistICAgICAgcHJldnNp emUgPSBwcmV2X3NpemUgKHApOworKyAgLyogQ29uc29saWRhdGUgYmFja3dhcmQuICAqLworKyAg aWYgKCFwcmV2X2ludXNlKHApKQorKyAgICB7CisrICAgICAgSU5URVJOQUxfU0laRV9UIHByZXZz aXplID0gcHJldl9zaXplIChwKTsKKyAgICAgICBzaXplICs9IHByZXZzaXplOworICAgICAgIHAg PSBjaHVua19hdF9vZmZzZXQocCwgLSgobG9uZykgcHJldnNpemUpKTsKKyAgICAgICBpZiAoX19n bGliY191bmxpa2VseSAoY2h1bmtzaXplKHApICE9IHByZXZzaXplKSkKK0BAIC00NjY5LDkgKzQ2 OTUsMjUgQEAgX2ludF9mcmVlIChtc3RhdGUgYXYsIG1jaHVua3B0ciBwLCBpbnQgaGF2ZV9sb2Nr KQorICAgICAgIHVubGlua19jaHVuayAoYXYsIHApOworICAgICB9CisgCistICAgIGlmIChuZXh0 Y2h1bmsgIT0gYXYtPnRvcCkgeworKyAgLyogV3JpdGUgdGhlIGNodW5rIGhlYWRlciwgbWF5YmUg YWZ0ZXIgbWVyZ2luZyB3aXRoIHRoZSBmb2xsb3dpbmcgY2h1bmsuICAqLworKyAgc2l6ZSA9IF9p bnRfZnJlZV9jcmVhdGVfY2h1bmsgKGF2LCBwLCBzaXplLCBuZXh0Y2h1bmssIG5leHRzaXplKTsK KysgIF9pbnRfZnJlZV9tYXliZV9jb25zb2xpZGF0ZSAoYXYsIHNpemUpOworK30KKysKKysvKiBD cmVhdGUgYSBjaHVuayBhdCBQIG9mIFNJWkUgYnl0ZXMsIHdpdGggU0laRSBwb3RlbnRpYWxseSBp bmNyZWFzZWQKKysgICB0byBjb3ZlciB0aGUgaW1tZWRpYXRlbHkgZm9sbG93aW5nIGNodW5rIE5F WFRDSFVOSyBvZiBORVhUU0laRQorKyAgIGJ5dGVzIChpZiBORVhUQ0hVTksgaXMgdW51c2VkKS4g IFRoZSBjaHVuayBhdCBQIGlzIG5vdCBhY3R1YWxseQorKyAgIHJlYWQgYW5kIGRvZXMgbm90IGhh dmUgdG8gYmUgaW5pdGlhbGl6ZWQuICBBZnRlciBjcmVhdGlvbiwgaXQgaXMKKysgICBwbGFjZWQg b24gdGhlIGFwcHJvcHJpYXRlIGJpbiBsaXN0LiAgVGhlIGZ1bmN0aW9uIHJldHVybnMgdGhlIHNp emUKKysgICBvZiB0aGUgbmV3IGNodW5rLiAgKi8KKytzdGF0aWMgSU5URVJOQUxfU0laRV9UCisr X2ludF9mcmVlX2NyZWF0ZV9jaHVuayAobXN0YXRlIGF2LCBtY2h1bmtwdHIgcCwgSU5URVJOQUxf U0laRV9UIHNpemUsCisrCQkJbWNodW5rcHRyIG5leHRjaHVuaywgSU5URVJOQUxfU0laRV9UIG5l eHRzaXplKQorK3sKKysgIGlmIChuZXh0Y2h1bmsgIT0gYXYtPnRvcCkKKysgICAgeworICAgICAg IC8qIGdldCBhbmQgY2xlYXIgaW51c2UgYml0ICovCistICAgICAgbmV4dGludXNlID0gaW51c2Vf Yml0X2F0X29mZnNldChuZXh0Y2h1bmssIG5leHRzaXplKTsKKysgICAgICBib29sIG5leHRpbnVz ZSA9IGludXNlX2JpdF9hdF9vZmZzZXQgKG5leHRjaHVuaywgbmV4dHNpemUpOworIAorICAgICAg IC8qIGNvbnNvbGlkYXRlIGZvcndhcmQgKi8KKyAgICAgICBpZiAoIW5leHRpbnVzZSkgeworQEAg LTQ2ODYsOCArNDcyOCw4IEBAIF9pbnRfZnJlZSAobXN0YXRlIGF2LCBtY2h1bmtwdHIgcCwgaW50 IGhhdmVfbG9jaykKKyAJYmVlbiBnaXZlbiBvbmUgY2hhbmNlIHRvIGJlIHVzZWQgaW4gbWFsbG9j LgorICAgICAgICovCisgCistICAgICAgYmNrID0gdW5zb3J0ZWRfY2h1bmtzKGF2KTsKKy0gICAg ICBmd2QgPSBiY2stPmZkOworKyAgICAgIG1jaHVua3B0ciBiY2sgPSB1bnNvcnRlZF9jaHVua3Mg KGF2KTsKKysgICAgICBtY2h1bmtwdHIgZndkID0gYmNrLT5mZDsKKyAgICAgICBpZiAoX19nbGli Y191bmxpa2VseSAoZndkLT5iayAhPSBiY2spKQorIAltYWxsb2NfcHJpbnRlcnIgKCJmcmVlKCk6 IGNvcnJ1cHRlZCB1bnNvcnRlZCBjaHVua3MiKTsKKyAgICAgICBwLT5mZCA9IGZ3ZDsKK0BAIC00 NzA2LDYxICs0NzQ4LDUyIEBAIF9pbnRfZnJlZSAobXN0YXRlIGF2LCBtY2h1bmtwdHIgcCwgaW50 IGhhdmVfbG9jaykKKyAgICAgICBjaGVja19mcmVlX2NodW5rKGF2LCBwKTsKKyAgICAgfQorIAor LSAgICAvKgorLSAgICAgIElmIHRoZSBjaHVuayBib3JkZXJzIHRoZSBjdXJyZW50IGhpZ2ggZW5k IG9mIG1lbW9yeSwKKy0gICAgICBjb25zb2xpZGF0ZSBpbnRvIHRvcAorLSAgICAqLworLQorLSAg ICBlbHNlIHsKKysgIGVsc2UKKysgICAgeworKyAgICAgIC8qIElmIHRoZSBjaHVuayBib3JkZXJz IHRoZSBjdXJyZW50IGhpZ2ggZW5kIG9mIG1lbW9yeSwKKysJIGNvbnNvbGlkYXRlIGludG8gdG9w LiAgKi8KKyAgICAgICBzaXplICs9IG5leHRzaXplOworICAgICAgIHNldF9oZWFkKHAsIHNpemUg fCBQUkVWX0lOVVNFKTsKKyAgICAgICBhdi0+dG9wID0gcDsKKyAgICAgICBjaGVja19jaHVuayhh diwgcCk7CisgICAgIH0KKyAKKy0gICAgLyoKKy0gICAgICBJZiBmcmVlaW5nIGEgbGFyZ2Ugc3Bh Y2UsIGNvbnNvbGlkYXRlIHBvc3NpYmx5LXN1cnJvdW5kaW5nCistICAgICAgY2h1bmtzLiBUaGVu LCBpZiB0aGUgdG90YWwgdW51c2VkIHRvcG1vc3QgbWVtb3J5IGV4Y2VlZHMgdHJpbQorLSAgICAg IHRocmVzaG9sZCwgYXNrIG1hbGxvY190cmltIHRvIHJlZHVjZSB0b3AuCistCistICAgICAgVW5s ZXNzIG1heF9mYXN0IGlzIDAsIHdlIGRvbid0IGtub3cgaWYgdGhlcmUgYXJlIGZhc3RiaW5zCist ICAgICAgYm9yZGVyaW5nIHRvcCwgc28gd2UgY2Fubm90IHRlbGwgZm9yIHN1cmUgd2hldGhlciB0 aHJlc2hvbGQKKy0gICAgICBoYXMgYmVlbiByZWFjaGVkIHVubGVzcyBmYXN0YmlucyBhcmUgY29u c29saWRhdGVkLiAgQnV0IHdlCistICAgICAgZG9uJ3Qgd2FudCB0byBjb25zb2xpZGF0ZSBvbiBl YWNoIGZyZWUuICBBcyBhIGNvbXByb21pc2UsCistICAgICAgY29uc29saWRhdGlvbiBpcyBwZXJm b3JtZWQgaWYgRkFTVEJJTl9DT05TT0xJREFUSU9OX1RIUkVTSE9MRAorLSAgICAgIGlzIHJlYWNo ZWQuCistICAgICovCisrICByZXR1cm4gc2l6ZTsKKyt9CisgCistICAgIGlmICgodW5zaWduZWQg bG9uZykoc2l6ZSkgPj0gRkFTVEJJTl9DT05TT0xJREFUSU9OX1RIUkVTSE9MRCkgeworKy8qIElm IGZyZWVpbmcgYSBsYXJnZSBzcGFjZSwgY29uc29saWRhdGUgcG9zc2libHktc3Vycm91bmRpbmcK KysgICBjaHVua3MuICBUaGVuLCBpZiB0aGUgdG90YWwgdW51c2VkIHRvcG1vc3QgbWVtb3J5IGV4 Y2VlZHMgdHJpbQorKyAgIHRocmVzaG9sZCwgYXNrIG1hbGxvY190cmltIHRvIHJlZHVjZSB0b3Au ICAqLworK3N0YXRpYyB2b2lkCisrX2ludF9mcmVlX21heWJlX2NvbnNvbGlkYXRlIChtc3RhdGUg YXYsIElOVEVSTkFMX1NJWkVfVCBzaXplKQorK3sKKysgIC8qIFVubGVzcyBtYXhfZmFzdCBpcyAw LCB3ZSBkb24ndCBrbm93IGlmIHRoZXJlIGFyZSBmYXN0YmlucworKyAgICAgYm9yZGVyaW5nIHRv cCwgc28gd2UgY2Fubm90IHRlbGwgZm9yIHN1cmUgd2hldGhlciB0aHJlc2hvbGQgaGFzCisrICAg ICBiZWVuIHJlYWNoZWQgdW5sZXNzIGZhc3RiaW5zIGFyZSBjb25zb2xpZGF0ZWQuICBCdXQgd2Ug ZG9uJ3Qgd2FudAorKyAgICAgdG8gY29uc29saWRhdGUgb24gZWFjaCBmcmVlLiAgQXMgYSBjb21w cm9taXNlLCBjb25zb2xpZGF0aW9uIGlzCisrICAgICBwZXJmb3JtZWQgaWYgRkFTVEJJTl9DT05T T0xJREFUSU9OX1RIUkVTSE9MRCBpcyByZWFjaGVkLiAgKi8KKysgIGlmIChzaXplID49IEZBU1RC SU5fQ09OU09MSURBVElPTl9USFJFU0hPTEQpCisrICAgIHsKKyAgICAgICBpZiAoYXRvbWljX2xv YWRfcmVsYXhlZCAoJmF2LT5oYXZlX2Zhc3RjaHVua3MpKQorIAltYWxsb2NfY29uc29saWRhdGUo YXYpOworIAorLSAgICAgIGlmIChhdiA9PSAmbWFpbl9hcmVuYSkgeworKyAgICAgIGlmIChhdiA9 PSAmbWFpbl9hcmVuYSkKKysJeworICNpZm5kZWYgTU9SRUNPUkVfQ0FOTk9UX1RSSU0KKy0JaWYg KCh1bnNpZ25lZCBsb25nKShjaHVua3NpemUoYXYtPnRvcCkpID49CistCSAgICAodW5zaWduZWQg bG9uZykobXBfLnRyaW1fdGhyZXNob2xkKSkKKy0JICBzeXN0cmltKG1wXy50b3BfcGFkLCBhdik7 CisrCSAgaWYgKGNodW5rc2l6ZSAoYXYtPnRvcCkgPj0gbXBfLnRyaW1fdGhyZXNob2xkKQorKwkg ICAgc3lzdHJpbSAobXBfLnRvcF9wYWQsIGF2KTsKKyAjZW5kaWYKKy0gICAgICB9IGVsc2Ugewor LQkvKiBBbHdheXMgdHJ5IGhlYXBfdHJpbSgpLCBldmVuIGlmIHRoZSB0b3AgY2h1bmsgaXMgbm90 CistCSAgIGxhcmdlLCBiZWNhdXNlIHRoZSBjb3JyZXNwb25kaW5nIGhlYXAgbWlnaHQgZ28gYXdh eS4gICovCistCWhlYXBfaW5mbyAqaGVhcCA9IGhlYXBfZm9yX3B0cih0b3AoYXYpKTsKKysJfQor KyAgICAgIGVsc2UKKysJeworKwkgIC8qIEFsd2F5cyB0cnkgaGVhcF90cmltLCBldmVuIGlmIHRo ZSB0b3AgY2h1bmsgaXMgbm90IGxhcmdlLAorKwkgICAgIGJlY2F1c2UgdGhlIGNvcnJlc3BvbmRp bmcgaGVhcCBtaWdodCBnbyBhd2F5LiAgKi8KKysJICBoZWFwX2luZm8gKmhlYXAgPSBoZWFwX2Zv cl9wdHIgKHRvcCAoYXYpKTsKKyAKKy0JYXNzZXJ0KGhlYXAtPmFyX3B0ciA9PSBhdik7CistCWhl YXBfdHJpbShoZWFwLCBtcF8udG9wX3BhZCk7CistICAgICAgfQorKwkgIGFzc2VydCAoaGVhcC0+ YXJfcHRyID09IGF2KTsKKysJICBoZWFwX3RyaW0gKGhlYXAsIG1wXy50b3BfcGFkKTsKKysJfQor ICAgICB9CistCistICAgIGlmICghaGF2ZV9sb2NrKQorLSAgICAgIF9fbGliY19sb2NrX3VubG9j ayAoYXYtPm11dGV4KTsKKy0gIH0KKy0gIC8qCistICAgIElmIHRoZSBjaHVuayB3YXMgYWxsb2Nh dGVkIHZpYSBtbWFwLCByZWxlYXNlIHZpYSBtdW5tYXAoKS4KKy0gICovCistCistICBlbHNlIHsK Ky0gICAgbXVubWFwX2NodW5rIChwKTsKKy0gIH0KKyB9CisgCisgLyoKK0BAIC01MjIxLDcgKzUy NTQsNyBAQCBfaW50X21lbWFsaWduIChtc3RhdGUgYXYsIHNpemVfdCBhbGlnbm1lbnQsIHNpemVf dCBieXRlcykKKyAgICAgICAgICAgICAgICAgKGF2ICE9ICZtYWluX2FyZW5hID8gTk9OX01BSU5f QVJFTkEgOiAwKSk7CisgICAgICAgc2V0X2ludXNlX2JpdF9hdF9vZmZzZXQgKG5ld3AsIG5ld3Np emUpOworICAgICAgIHNldF9oZWFkX3NpemUgKHAsIGxlYWRzaXplIHwgKGF2ICE9ICZtYWluX2Fy ZW5hID8gTk9OX01BSU5fQVJFTkEgOiAwKSk7CistICAgICAgX2ludF9mcmVlIChhdiwgcCwgMSk7 CisrICAgICAgX2ludF9mcmVlX21lcmdlX2NodW5rIChhdiwgcCwgbGVhZHNpemUpOworICAgICAg IHAgPSBuZXdwOworIAorICAgICAgIGFzc2VydCAobmV3c2l6ZSA+PSBuYiAmJgorQEAgLTUyMzIs MTUgKzUyNjUsMjcgQEAgX2ludF9tZW1hbGlnbiAobXN0YXRlIGF2LCBzaXplX3QgYWxpZ25tZW50 LCBzaXplX3QgYnl0ZXMpCisgICBpZiAoIWNodW5rX2lzX21tYXBwZWQgKHApKQorICAgICB7Cisg ICAgICAgc2l6ZSA9IGNodW5rc2l6ZSAocCk7CistICAgICAgaWYgKCh1bnNpZ25lZCBsb25nKSAo c2l6ZSkgPiAodW5zaWduZWQgbG9uZykgKG5iICsgTUlOU0laRSkpCisrICAgICAgbWNodW5rcHRy IG5leHRjaHVuayA9IGNodW5rX2F0X29mZnNldChwLCBzaXplKTsKKysgICAgICBJTlRFUk5BTF9T SVpFX1QgbmV4dHNpemUgPSBjaHVua3NpemUobmV4dGNodW5rKTsKKysgICAgICBpZiAoc2l6ZSA+ IG5iKQorICAgICAgICAgeworICAgICAgICAgICByZW1haW5kZXJfc2l6ZSA9IHNpemUgLSBuYjsK Ky0gICAgICAgICAgcmVtYWluZGVyID0gY2h1bmtfYXRfb2Zmc2V0IChwLCBuYik7CistICAgICAg ICAgIHNldF9oZWFkIChyZW1haW5kZXIsIHJlbWFpbmRlcl9zaXplIHwgUFJFVl9JTlVTRSB8Cist ICAgICAgICAgICAgICAgICAgICAoYXYgIT0gJm1haW5fYXJlbmEgPyBOT05fTUFJTl9BUkVOQSA6 IDApKTsKKy0gICAgICAgICAgc2V0X2hlYWRfc2l6ZSAocCwgbmIpOworLSAgICAgICAgICBfaW50 X2ZyZWUgKGF2LCByZW1haW5kZXIsIDEpOworLSAgICAgICAgfQorKwkgIGlmIChyZW1haW5kZXJf c2l6ZSA+PSBNSU5TSVpFCisrCSAgICAgIHx8IG5leHRjaHVuayA9PSBhdi0+dG9wCisrCSAgICAg IHx8ICFpbnVzZV9iaXRfYXRfb2Zmc2V0IChuZXh0Y2h1bmssIG5leHRzaXplKSkKKysJICAgIHsK KysJICAgICAgLyogV2UgY2FuIG9ubHkgZ2l2ZSBiYWNrIHRoZSB0YWlsIGlmIGl0IGlzIGxhcmdl ciB0aGFuCisrCQkgTUlOU0laRSwgb3IgaWYgdGhlIGZvbGxvd2luZyBjaHVuayBpcyB1bnVzZWQg KHRvcAorKwkJIGNodW5rIG9yIHVudXNlZCBpbi1oZWFwIGNodW5rKS4gIE90aGVyd2lzZSB3ZSB3 b3VsZAorKwkJIGNyZWF0ZSBhIGNodW5rIHRoYXQgaXMgc21hbGxlciB0aGFuIE1JTlNJWkUuICAq LworKwkgICAgICByZW1haW5kZXIgPSBjaHVua19hdF9vZmZzZXQgKHAsIG5iKTsKKysJICAgICAg c2V0X2hlYWRfc2l6ZSAocCwgbmIpOworKwkgICAgICByZW1haW5kZXJfc2l6ZSA9IF9pbnRfZnJl ZV9jcmVhdGVfY2h1bmsgKGF2LCByZW1haW5kZXIsCisrCQkJCQkJICAgICAgIHJlbWFpbmRlcl9z aXplLAorKwkJCQkJCSAgICAgICBuZXh0Y2h1bmssIG5leHRzaXplKTsKKysJICAgICAgX2ludF9m cmVlX21heWJlX2NvbnNvbGlkYXRlIChhdiwgcmVtYWluZGVyX3NpemUpOworKwkgICAgfQorKwl9 CisgICAgIH0KKyAKKyAgIGNoZWNrX2ludXNlX2NodW5rIChhdiwgcCk7CmRpZmYgLS1naXQgYS9z cmNwa2dzL2dsaWJjL3BhdGNoZXMvMzA3MjMtMi0wZGM3ZmMxY2YwOTQ0MDZhMTM4ZTRkMWJjZjk1 NTNlNTllZGNmODlkLnBhdGNoIGIvc3JjcGtncy9nbGliYy9wYXRjaGVzLzMwNzIzLTItMGRjN2Zj MWNmMDk0NDA2YTEzOGU0ZDFiY2Y5NTUzZTU5ZWRjZjg5ZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi40NjE1YzdiMDM1Y2M3Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9nbGliYy9wYXRjaGVzLzMwNzIzLTItMGRjN2ZjMWNmMDk0NDA2YTEzOGU0ZDFi Y2Y5NTUzZTU5ZWRjZjg5ZC5wYXRjaApAQCAtMCwwICsxLDI1MiBAQAorRnJvbSAwZGM3ZmMxY2Yw OTQ0MDZhMTM4ZTRkMWJjZjk1NTNlNTllZGNmODlkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogRmxvcmlhbiBXZWltZXIgPGZ3ZWltZXJAcmVkaGF0LmNvbT4KK0RhdGU6IFRodSwgMTAg QXVnIDIwMjMgMTk6MzY6NTYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWFsbG9jOiBSZW1vdmUg YmluIHNjYW5uaW5nIGZyb20gbWVtYWxpZ24gKGJ1ZyAzMDcyMykKKworT24gdGhlIHRlc3Qgd29y a2xvYWQgKG1wdiAtLWNhY2hlPXllcyB3aXRoIFZQOSB2aWRlbyBkZWNvZGluZyksIHRoZQorYmlu IHNjYW5uaW5nIGhhcyBhIHZlcnkgcG9vciBzdWNjZXNzIHJhdGUgKGxlc3MgdGhhbiAyJSkuICBU aGUgdGNhY2hlCitzY2FubmluZyBoYXMgYWJvdXQgNTAlIHN1Y2Nlc3MgcmF0ZSwgc28ga2VlcCB0 aGF0LgorCitVcGRhdGUgY29tbWVudHMgaW4gbWFsbG9jL3RzdC1tZW1hbGlnbi0yIHRvIGluZGlj YXRlIHRoZSBwdXJwb3NlCitvZiB0aGUgdGVzdHMuICBFdmVuIHdpdGggdGhlIHNjYW5uaW5nIHJl bW92ZWQsIHRoZSBhZGRpdGlvbmFsCittZXJnaW5nIG9wcG9ydHVuaXRpZXMgc2luY2UgY29tbWl0 IDU0MmIxMTA1ODUyNTY4YzNlYmM3MTIyMjVhZTc4YgorKCJtYWxsb2M6IEVuYWJsZSBtZXJnaW5n IG9mIHJlbWFpbmRlcnMgaW4gbWVtYWxpZ24gKGJ1ZyAzMDcyMykiKQorYXJlIHN1ZmZpY2llbnQg dG8gcGFzcyB0aGUgZXhpc3RpbmcgbGFyZ2UgYmlucyB0ZXN0LgorCitSZW1vdmUgbGVmdG92ZXIg dmFyaWFibGVzIGZyb20gX2ludF9mcmVlIGZyb20gcmVmYWN0b3JpbmcgaW4gdGhlCitzYW1lIGNv bW1pdC4KKworUmV2aWV3ZWQtYnk6IERKIERlbG9yaWUgPGRqQHJlZGhhdC5jb20+CistLS0KKyBt YWxsb2MvbWFsbG9jLmMgICAgICAgICB8IDE2OSArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgbWFsbG9jL3RzdC1tZW1hbGlnbi0yLmMgfCAgIDcgKy0KKyAyIGZpbGVz IGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDE2NiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL21hbGxvYy9tYWxsb2MuYyBiL21hbGxvYy9tYWxsb2MuYworaW5kZXggOTQ4Zjk3NTlhZi4u ZDBiYmJmMzcxMCAxMDA2NDQKKy0tLSBhL21hbGxvYy9tYWxsb2MuYworKysrIGIvbWFsbG9jL21h bGxvYy5jCitAQCAtNDQ4OCwxMiArNDQ4OCw2IEBAIF9pbnRfZnJlZSAobXN0YXRlIGF2LCBtY2h1 bmtwdHIgcCwgaW50IGhhdmVfbG9jaykKKyB7CisgICBJTlRFUk5BTF9TSVpFX1Qgc2l6ZTsgICAg ICAgIC8qIGl0cyBzaXplICovCisgICBtZmFzdGJpbnB0ciAqZmI7ICAgICAgICAgICAgIC8qIGFz c29jaWF0ZWQgZmFzdGJpbiAqLworLSAgbWNodW5rcHRyIG5leHRjaHVuazsgICAgICAgICAvKiBu ZXh0IGNvbnRpZ3VvdXMgY2h1bmsgKi8KKy0gIElOVEVSTkFMX1NJWkVfVCBuZXh0c2l6ZTsgICAg LyogaXRzIHNpemUgKi8KKy0gIGludCBuZXh0aW51c2U7ICAgICAgICAgICAgICAgLyogdHJ1ZSBp ZiBuZXh0Y2h1bmsgaXMgdXNlZCAqLworLSAgSU5URVJOQUxfU0laRV9UIHByZXZzaXplOyAgICAv KiBzaXplIG9mIHByZXZpb3VzIGNvbnRpZ3VvdXMgY2h1bmsgKi8KKy0gIG1jaHVua3B0ciBiY2s7 ICAgICAgICAgICAgICAgLyogbWlzYyB0ZW1wIGZvciBsaW5raW5nICovCistICBtY2h1bmtwdHIg ZndkOyAgICAgICAgICAgICAgIC8qIG1pc2MgdGVtcCBmb3IgbGlua2luZyAqLworIAorICAgc2l6 ZSA9IGNodW5rc2l6ZSAocCk7CisgCitAQCAtNTAzMiw0MiArNTAyNiw2IEBAIF9pbnRfcmVhbGxv YyAobXN0YXRlIGF2LCBtY2h1bmtwdHIgb2xkcCwgSU5URVJOQUxfU0laRV9UIG9sZHNpemUsCisg ICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1lbWFsaWduIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorICAqLworIAorLS8qIFJldHVybnMgMCBpZiB0aGUgY2h1bmsgaXMg bm90IGFuZCBkb2VzIG5vdCBjb250YWluIHRoZSByZXF1ZXN0ZWQKKy0gICBhbGlnbmVkIHN1Yi1j aHVuaywgZWxzZSByZXR1cm5zIHRoZSBhbW91bnQgb2YgIndhc3RlIiBmcm9tCistICAgdHJpbW1p bmcuICBOQiBpcyB0aGUgKmNodW5rKiBieXRlIHNpemUsIG5vdCB0aGUgdXNlciBieXRlCistICAg c2l6ZS4gICovCistc3RhdGljIHNpemVfdAorLWNodW5rX29rX2Zvcl9tZW1hbGlnbiAobWNodW5r cHRyIHAsIHNpemVfdCBhbGlnbm1lbnQsIHNpemVfdCBuYikKKy17CistICB2b2lkICptID0gY2h1 bmsybWVtIChwKTsKKy0gIElOVEVSTkFMX1NJWkVfVCBzaXplID0gY2h1bmtzaXplIChwKTsKKy0g IHZvaWQgKmFsaWduZWRfbSA9IG07CistCistICBpZiAoX19nbGliY191bmxpa2VseSAobWlzYWxp Z25lZF9jaHVuayAocCkpKQorLSAgICBtYWxsb2NfcHJpbnRlcnIgKCJfaW50X21lbWFsaWduKCk6 IHVuYWxpZ25lZCBjaHVuayBkZXRlY3RlZCIpOworLQorLSAgYWxpZ25lZF9tID0gUFRSX0FMSUdO X1VQIChtLCBhbGlnbm1lbnQpOworLQorLSAgSU5URVJOQUxfU0laRV9UIGZyb250X2V4dHJhID0g KGludHB0cl90KSBhbGlnbmVkX20gLSAoaW50cHRyX3QpIG07CistCistICAvKiBXZSBjYW4ndCB0 cmltIG9mZiB0aGUgZnJvbnQgYXMgaXQncyB0b28gc21hbGwuICAqLworLSAgaWYgKGZyb250X2V4 dHJhID4gMCAmJiBmcm9udF9leHRyYSA8IE1JTlNJWkUpCistICAgIHJldHVybiAwOworLQorLSAg LyogSWYgaXQncyBhIHBlcmZlY3QgZml0LCBpdCdzIGFuIGV4Y2VwdGlvbiB0byB0aGUgcmV0dXJu IHZhbHVlIHJ1bGUKKy0gICAgICh3ZSB3b3VsZCByZXR1cm4gemVybyB3YXN0ZSwgd2hpY2ggbG9v a3MgbGlrZSAibm90IHVzYWJsZSIpLCBzbworLSAgICAgaGFuZGxlIGl0IGhlcmUgYnkgcmV0dXJu aW5nIGEgc21hbGwgbm9uLXplcm8gdmFsdWUgaW5zdGVhZC4gICovCistICBpZiAoc2l6ZSA9PSBu YiAmJiBmcm9udF9leHRyYSA9PSAwKQorLSAgICByZXR1cm4gMTsKKy0KKy0gIC8qIElmIHRoZSBi bG9jayB3ZSBuZWVkIGZpdHMgaW4gdGhlIGNodW5rLCBjYWxjdWxhdGUgdG90YWwgd2FzdGUuICAq LworLSAgaWYgKHNpemUgPiBuYiArIGZyb250X2V4dHJhKQorLSAgICByZXR1cm4gc2l6ZSAtIG5i OworLQorLSAgLyogQ2FuJ3QgdXNlIHRoaXMgY2h1bmsuICAqLworLSAgcmV0dXJuIDA7CistfQor LQorIC8qIEJZVEVTIGlzIHVzZXIgcmVxdWVzdGVkIGJ5dGVzLCBub3QgcmVxdWVzdGVkIGNodW5r c2l6ZSBieXRlcy4gICovCisgc3RhdGljIHZvaWQgKgorIF9pbnRfbWVtYWxpZ24gKG1zdGF0ZSBh diwgc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IGJ5dGVzKQorQEAgLTUwODIsNyArNTA0MCw2IEBA IF9pbnRfbWVtYWxpZ24gKG1zdGF0ZSBhdiwgc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IGJ5dGVz KQorICAgbWNodW5rcHRyIHJlbWFpbmRlcjsgICAgICAgICAgICAvKiBzcGFyZSByb29tIGF0IGVu ZCB0byBzcGxpdCBvZmYgKi8KKyAgIHVuc2lnbmVkIGxvbmcgcmVtYWluZGVyX3NpemU7ICAgLyog aXRzIHNpemUgKi8KKyAgIElOVEVSTkFMX1NJWkVfVCBzaXplOworLSAgbWNodW5rcHRyIHZpY3Rp bTsKKyAKKyAgIG5iID0gY2hlY2tlZF9yZXF1ZXN0MnNpemUgKGJ5dGVzKTsKKyAgIGlmIChuYiA9 PSAwKQorQEAgLTUxMDEsMTI5ICs1MDU4LDEzIEBAIF9pbnRfbWVtYWxpZ24gKG1zdGF0ZSBhdiwg c2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IGJ5dGVzKQorICAgICAgd2UgZG9uJ3QgZmluZCBhbnl0 aGluZyBpbiB0aG9zZSBiaW5zLCB0aGUgY29tbW9uIG1hbGxvYyBjb2RlIHdpbGwKKyAgICAgIHNj YW4gc3RhcnRpbmcgYXQgMnguICAqLworIAorLSAgLyogVGhpcyB3aWxsIGJlIHNldCBpZiB3ZSBm b3VuZCBhIGNhbmRpZGF0ZSBjaHVuay4gICovCistICB2aWN0aW0gPSBOVUxMOworLQorLSAgLyog RmFzdCBiaW5zIGFyZSBzaW5nbHktbGlua2VkLCBoYXJkIHRvIHJlbW92ZSBhIGNodW5rIGZyb20g dGhlIG1pZGRsZQorLSAgICAgYW5kIHVubGlrZWx5IHRvIG1lZXQgb3VyIGFsaWdubWVudCByZXF1 aXJlbWVudHMuICBXZSBoYXZlIG5vdCBkb25lCistICAgICBhbnkgZXhwZXJpbWVudGF0aW9uIHdp dGggc2VhcmNoaW5nIGZvciBhbGlnbmVkIGZhc3RiaW5zLiAgKi8KKy0KKy0gIGlmIChhdiAhPSBO VUxMKQorLSAgICB7CistICAgICAgaW50IGZpcnN0X2Jpbl9pbmRleDsKKy0gICAgICBpbnQgZmly c3RfbGFyZ2ViaW5faW5kZXg7CistICAgICAgaW50IGxhc3RfYmluX2luZGV4OworLQorLSAgICAg IGlmIChpbl9zbWFsbGJpbl9yYW5nZSAobmIpKQorLQlmaXJzdF9iaW5faW5kZXggPSBzbWFsbGJp bl9pbmRleCAobmIpOworLSAgICAgIGVsc2UKKy0JZmlyc3RfYmluX2luZGV4ID0gbGFyZ2ViaW5f aW5kZXggKG5iKTsKKy0KKy0gICAgICBpZiAoaW5fc21hbGxiaW5fcmFuZ2UgKG5iICogMikpCist CWxhc3RfYmluX2luZGV4ID0gc21hbGxiaW5faW5kZXggKG5iICogMik7CistICAgICAgZWxzZQor LQlsYXN0X2Jpbl9pbmRleCA9IGxhcmdlYmluX2luZGV4IChuYiAqIDIpOworLQorLSAgICAgIGZp cnN0X2xhcmdlYmluX2luZGV4ID0gbGFyZ2ViaW5faW5kZXggKE1JTl9MQVJHRV9TSVpFKTsKKy0K Ky0gICAgICBpbnQgdmljdGltX2luZGV4OyAgICAgICAgICAgICAgICAgLyogaXRzIGJpbiBpbmRl eCAqLworLQorLSAgICAgIGZvciAodmljdGltX2luZGV4ID0gZmlyc3RfYmluX2luZGV4OworLQkg ICB2aWN0aW1faW5kZXggPCBsYXN0X2Jpbl9pbmRleDsKKy0JICAgdmljdGltX2luZGV4ICsrKQor LQl7CistCSAgdmljdGltID0gTlVMTDsKKy0KKy0JICBpZiAodmljdGltX2luZGV4IDwgZmlyc3Rf bGFyZ2ViaW5faW5kZXgpCistCSAgICB7CistCSAgICAgIC8qIENoZWNrIHNtYWxsIGJpbnMuICBT bWFsbCBiaW4gY2h1bmtzIGFyZSBkb3VibHktbGlua2VkIGRlc3BpdGUKKy0JCSBiZWluZyB0aGUg c2FtZSBzaXplLiAgKi8KKy0KKy0JICAgICAgbWNodW5rcHRyIGZ3ZDsgICAgICAgICAgICAgICAg ICAgIC8qIG1pc2MgdGVtcCBmb3IgbGlua2luZyAqLworLQkgICAgICBtY2h1bmtwdHIgYmNrOyAg ICAgICAgICAgICAgICAgICAgLyogbWlzYyB0ZW1wIGZvciBsaW5raW5nICovCistCistCSAgICAg IGJjayA9IGJpbl9hdCAoYXYsIHZpY3RpbV9pbmRleCk7CistCSAgICAgIGZ3ZCA9IGJjay0+ZmQ7 CistCSAgICAgIHdoaWxlIChmd2QgIT0gYmNrKQorLQkJeworLQkJICBpZiAoY2h1bmtfb2tfZm9y X21lbWFsaWduIChmd2QsIGFsaWdubWVudCwgbmIpID4gMCkKKy0JCSAgICB7CistCQkgICAgICB2 aWN0aW0gPSBmd2Q7CistCistCQkgICAgICAvKiBVbmxpbmsgaXQgKi8KKy0JCSAgICAgIHZpY3Rp bS0+ZmQtPmJrID0gdmljdGltLT5iazsKKy0JCSAgICAgIHZpY3RpbS0+YmstPmZkID0gdmljdGlt LT5mZDsKKy0JCSAgICAgIGJyZWFrOworLQkJICAgIH0KKy0KKy0JCSAgZndkID0gZndkLT5mZDsK Ky0JCX0KKy0JICAgIH0KKy0JICBlbHNlCistCSAgICB7CistCSAgICAgIC8qIENoZWNrIGxhcmdl IGJpbnMuICAqLworLQkgICAgICBtY2h1bmtwdHIgZndkOyAgICAgICAgICAgICAgICAgICAgLyog bWlzYyB0ZW1wIGZvciBsaW5raW5nICovCistCSAgICAgIG1jaHVua3B0ciBiY2s7ICAgICAgICAg ICAgICAgICAgICAvKiBtaXNjIHRlbXAgZm9yIGxpbmtpbmcgKi8KKy0JICAgICAgbWNodW5rcHRy IGJlc3QgPSBOVUxMOworLQkgICAgICBzaXplX3QgYmVzdF9zaXplID0gMDsKKy0KKy0JICAgICAg YmNrID0gYmluX2F0IChhdiwgdmljdGltX2luZGV4KTsKKy0JICAgICAgZndkID0gYmNrLT5mZDsK KysgIC8qIENhbGwgbWFsbG9jIHdpdGggd29yc3QgY2FzZSBwYWRkaW5nIHRvIGhpdCBhbGlnbm1l bnQuICovCisrICBtID0gKGNoYXIgKikgKF9pbnRfbWFsbG9jIChhdiwgbmIgKyBhbGlnbm1lbnQg KyBNSU5TSVpFKSk7CisgCistCSAgICAgIHdoaWxlIChmd2QgIT0gYmNrKQorLQkJeworLQkJICBp bnQgZXh0cmE7CistCistCQkgIGlmIChjaHVua3NpemUgKGZ3ZCkgPCBuYikKKy0JCSAgICBicmVh azsKKy0JCSAgZXh0cmEgPSBjaHVua19va19mb3JfbWVtYWxpZ24gKGZ3ZCwgYWxpZ25tZW50LCBu Yik7CistCQkgIGlmIChleHRyYSA+IDAKKy0JCSAgICAgICYmIChleHRyYSA8PSBiZXN0X3NpemUg fHwgYmVzdCA9PSBOVUxMKSkKKy0JCSAgICB7CistCQkgICAgICBiZXN0ID0gZndkOworLQkJICAg ICAgYmVzdF9zaXplID0gZXh0cmE7CistCQkgICAgfQorKyAgaWYgKG0gPT0gMCkKKysgICAgcmV0 dXJuIDA7ICAgICAgICAgICAvKiBwcm9wYWdhdGUgZmFpbHVyZSAqLworIAorLQkJICBmd2QgPSBm d2QtPmZkOworLQkJfQorLQkgICAgICB2aWN0aW0gPSBiZXN0OworLQorLQkgICAgICBpZiAodmlj dGltICE9IE5VTEwpCistCQl7CistCQkgIHVubGlua19jaHVuayAoYXYsIHZpY3RpbSk7CistCQkg IGJyZWFrOworLQkJfQorLQkgICAgfQorLQorLQkgIGlmICh2aWN0aW0gIT0gTlVMTCkKKy0JICAg IGJyZWFrOworLQl9CistICAgIH0KKy0KKy0gIC8qIFN0cmF0ZWd5OiBmaW5kIGEgc3BvdCB3aXRo aW4gdGhhdCBjaHVuayB0aGF0IG1lZXRzIHRoZSBhbGlnbm1lbnQKKy0gICAgIHJlcXVlc3QsIGFu ZCB0aGVuIHBvc3NpYmx5IGZyZWUgdGhlIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlLgorLSAg ICAgVGhpcyBzdHJhdGVneSBpcyBpbmNyZWRpYmx5IGNvc3RseSBhbmQgY2FuIGxlYWQgdG8gZXh0 ZXJuYWwKKy0gICAgIGZyYWdtZW50YXRpb24gaWYgaGVhZGVyIGFuZCBmb290ZXIgY2h1bmtzIGFy ZSB1bnVzZWQuICAqLworLQorLSAgaWYgKHZpY3RpbSAhPSBOVUxMKQorLSAgICB7CistICAgICAg cCA9IHZpY3RpbTsKKy0gICAgICBtID0gY2h1bmsybWVtIChwKTsKKy0gICAgICBzZXRfaW51c2Ug KHApOworLSAgICAgIGlmIChhdiAhPSAmbWFpbl9hcmVuYSkKKy0Jc2V0X25vbl9tYWluX2FyZW5h IChwKTsKKy0gICAgfQorLSAgZWxzZQorLSAgICB7CistICAgICAgLyogQ2FsbCBtYWxsb2Mgd2l0 aCB3b3JzdCBjYXNlIHBhZGRpbmcgdG8gaGl0IGFsaWdubWVudC4gKi8KKy0KKy0gICAgICBtID0g KGNoYXIgKikgKF9pbnRfbWFsbG9jIChhdiwgbmIgKyBhbGlnbm1lbnQgKyBNSU5TSVpFKSk7Cist CistICAgICAgaWYgKG0gPT0gMCkKKy0JcmV0dXJuIDA7ICAgICAgICAgICAvKiBwcm9wYWdhdGUg ZmFpbHVyZSAqLworLQorLSAgICAgIHAgPSBtZW0yY2h1bmsgKG0pOworLSAgICB9CisrICBwID0g bWVtMmNodW5rIChtKTsKKyAKKyAgIGlmICgoKCh1bnNpZ25lZCBsb25nKSAobSkpICUgYWxpZ25t ZW50KSAhPSAwKSAgIC8qIG1pc2FsaWduZWQgKi8KKyAgICAgeworZGlmZiAtLWdpdCBhL21hbGxv Yy90c3QtbWVtYWxpZ24tMi5jIGIvbWFsbG9jL3RzdC1tZW1hbGlnbi0yLmMKK2luZGV4IGYyMjky ODNkYmYuLmVjZDZmYTI0OWUgMTAwNjQ0CistLS0gYS9tYWxsb2MvdHN0LW1lbWFsaWduLTIuYwor KysrIGIvbWFsbG9jL3RzdC1tZW1hbGlnbi0yLmMKK0BAIC04Niw3ICs4Niw4IEBAIGRvX3Rlc3Qg KHZvaWQpCisgICAgICAgVEVTVF9WRVJJRlkgKHRjYWNoZV9hbGxvY3NbaV0ucHRyMSA9PSB0Y2Fj aGVfYWxsb2NzW2ldLnB0cjIpOworICAgICB9CisgCistICAvKiBUZXN0IGZvciBub24taGVhZCB0 Y2FjaGUgaGl0cy4gICovCisrICAvKiBUZXN0IGZvciBub24taGVhZCB0Y2FjaGUgaGl0cy4gIFRo aXMgZXhlcmNpc2VzIHRoZSBtZW1hbGlnbgorKyAgICAgc2Nhbm5pbmcgY29kZSB0byBmaW5kIG1h dGNoaW5nIGFsbG9jYXRpb25zLiAgKi8KKyAgIGZvciAoaSA9IDA7IGkgPCBhcnJheV9sZW5ndGgg KHB0cik7ICsrIGkpCisgICAgIHsKKyAgICAgICBpZiAoaSA9PSA0KQorQEAgLTExMyw3ICsxMTQs OSBAQCBkb190ZXN0ICh2b2lkKQorICAgZnJlZSAocCk7CisgICBURVNUX1ZFUklGWSAoY291bnQg PiAwKTsKKyAKKy0gIC8qIExhcmdlIGJpbnMgdGVzdC4gICovCisrICAvKiBMYXJnZSBiaW5zIHRl c3QuICBUaGlzIHZlcmlmaWVzIHRoYXQgdGhlIG92ZXItYWxsb2NhdGVkIHBhcnRzCisrICAgICB0 aGF0IG1lbWFsaWduIHJlbGVhc2VzIGZvciBmdXR1cmUgYWxsb2NhdGlvbnMgY2FuIGJlIHJldXNl ZCBieQorKyAgICAgbWVtYWxpZ24gaXRzZWxmIGF0IGxlYXN0IGluIHNvbWUgY2FzZXMuICAqLwor IAorICAgZm9yIChpID0gMDsgaSA8IExOOyArKyBpKQorICAgICB7CmRpZmYgLS1naXQgYS9zcmNw a2dzL2dsaWJjL3RlbXBsYXRlIGIvc3JjcGtncy9nbGliYy90ZW1wbGF0ZQppbmRleCAyMDgwNWZi NTJlODE2Li5jZjdjZDA3M2E5NTAwIDEwMDY0NAotLS0gYS9zcmNwa2dzL2dsaWJjL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvZ2xpYmMvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICdnbGliYycKIHBrZ25hbWU9Z2xpYmMKIHZlcnNpb249Mi4zOAotcmV2aXNpb249 MQorcmV2aXNpb249MgogYm9vdHN0cmFwPXllcwogc2hvcnRfZGVzYz0iR05VIEMgbGlicmFyeSIK IG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCgpGcm9tIGZm OTA0YWI3NDRkZDA0YTVjMTcwODNhNzAyNzJlMmZmODZlNDUzZjggTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206ID0/VVRGLTg/cT9Hb256YWxvPTIwVG9ybmFyPUMzPUFEYT89IDx0b3JuYXJp YUBjbWF0LmVkdS51eT4KRGF0ZTogVHVlLCAyNiBEZWMgMjAyMyAxOTo1MjowNyAtMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMi85XSBjcm9zcy1hYXJjaDY0LWxpbnV4LWdudTogcmVidWlsZCB0byBmaXgg cGVyZm9ybWFuY2UKIHJlZ3Jlc3Npb24gaW4gcG9zaXhfbWVtYWxpZ24KCi0tLQogc3JjcGtncy9j cm9zcy1hYXJjaDY0LWxpbnV4LWdudS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3Mt YWFyY2g2NC1saW51eC1nbnUvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLWFhcmNoNjQtbGludXgt Z251L3RlbXBsYXRlCmluZGV4IDY5MGUyN2I4YWRjMTUuLjkxZGFkZjRiMDExNzkgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvY3Jvc3MtYWFyY2g2NC1saW51eC1nbnUvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9jcm9zcy1hYXJjaDY0LWxpbnV4LWdudS90ZW1wbGF0ZQpAQCAtNSw3ICs1LDcgQEAgX2dsaWJj X3ZlcnNpb249Mi4zOAogX2xpbnV4X3ZlcnNpb249NS4xMC40CiBwa2duYW1lPWNyb3NzLWFhcmNo NjQtbGludXgtZ251CiB2ZXJzaW9uPTAuMzUKLXJldmlzaW9uPTYKK3JldmlzaW9uPTcKIGJ1aWxk X3N0eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtYXJjaD1hcm12OC1hIgog aG9zdG1ha2VkZXBlbmRzPSJ0ZXhpbmZvIHRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5 dGhvbjMgcGtnLWNvbmZpZyIKCkZyb20gNTQ4YmEyMWE1MTJhMDhiZTI1NzczMDk1ZmMxODNiZTQz NWY5NjdmZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0dvbnphbG89 MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQuZWR1LnV5PgpEYXRlOiBUdWUsIDI2IERl YyAyMDIzIDE5OjUyOjA3IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAzLzldIGNyb3NzLWk2ODYtcGMt bGludXgtZ251OiByZWJ1aWxkIHRvIGZpeCBwZXJmb3JtYW5jZQogcmVncmVzc2lvbiBpbiBwb3Np eF9tZW1hbGlnbgoKLS0tCiBzcmNwa2dzL2Nyb3NzLWk2ODYtcGMtbGludXgtZ251L3RlbXBsYXRl IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1pNjg2LXBjLWxpbnV4LWdudS90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvY3Jvc3MtaTY4Ni1wYy1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXggYzZiNTMxOWFjNWQ3 OC4uYzY5NWZiMmYzN2EyMCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jcm9zcy1pNjg2LXBjLWxpbnV4 LWdudS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nyb3NzLWk2ODYtcGMtbGludXgtZ251L3RlbXBs YXRlCkBAIC01LDcgKzUsNyBAQCBfZ2xpYmNfdmVyc2lvbj0yLjM4CiBfbGludXhfdmVyc2lvbj01 LjEwLjQKIHBrZ25hbWU9Y3Jvc3MtaTY4Ni1wYy1saW51eC1nbnUKIHZlcnNpb249MC4zNQotcmV2 aXNpb249NgorcmV2aXNpb249NwogYnVpbGRfc3R5bGU9dm9pZC1jcm9zcwogaG9zdG1ha2VkZXBl bmRzPSJ0ZXhpbmZvIHRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMgcGtnLWNv bmZpZyIKIG1ha2VkZXBlbmRzPSJpc2wtZGV2ZWwgbGlibXBjLWRldmVsIGdtcC1kZXZlbCBtcGZy LWRldmVsCgpGcm9tIGY3MmVlMTY1MDY1ZjJhZTdiNzQ0YmY4NTI0NGFkMzcyMjk5MDMwYmEgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9Hb256YWxvPTIwVG9ybmFyPUMz PUFEYT89IDx0b3JuYXJpYUBjbWF0LmVkdS51eT4KRGF0ZTogVHVlLCAyNiBEZWMgMjAyMyAxOTo1 MjowNyAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggNC85XSBjcm9zcy1wb3dlcnBjLWxpbnV4LWdudTog cmVidWlsZCB0byBmaXggcGVyZm9ybWFuY2UKIHJlZ3Jlc3Npb24gaW4gcG9zaXhfbWVtYWxpZ24K Ci0tLQogc3JjcGtncy9jcm9zcy1wb3dlcnBjLWxpbnV4LWdudS90ZW1wbGF0ZSB8IDIgKy0KIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYy1saW51eC1nbnUvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3Nz LXBvd2VycGMtbGludXgtZ251L3RlbXBsYXRlCmluZGV4IDMxNTc4NzYwZjE3ZTUuLjMzN2QxYzY1 MmFiOTEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYy1saW51eC1nbnUvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9jcm9zcy1wb3dlcnBjLWxpbnV4LWdudS90ZW1wbGF0ZQpAQCAtNSw3 ICs1LDcgQEAgX2dsaWJjX3ZlcnNpb249Mi4zOAogX2xpbnV4X3ZlcnNpb249NS4xMC40CiBwa2du YW1lPWNyb3NzLXBvd2VycGMtbGludXgtZ251CiB2ZXJzaW9uPTAuMzUKLXJldmlzaW9uPTYKK3Jl dmlzaW9uPTcKIGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLWVuYWJs ZS1zZWN1cmVwbHQgLS1kaXNhYmxlLXZ0YWJsZS12ZXJpZnkKICAtLWVuYWJsZS1hdXRvbGluay1s aWJhdG9taWMiCgpGcm9tIDU4MWM2OTYwMGVhMmI0ZjIxZmJlNjljNzM1ZDE3ZmNhOWI5YzhkZDQg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9Hb256YWxvPTIwVG9ybmFy PUMzPUFEYT89IDx0b3JuYXJpYUBjbWF0LmVkdS51eT4KRGF0ZTogVHVlLCAyNiBEZWMgMjAyMyAx OTo1MjowNyAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggNS85XSBjcm9zcy1wb3dlcnBjNjQtbGludXgt Z251OiByZWJ1aWxkIHRvIGZpeCBwZXJmb3JtYW5jZQogcmVncmVzc2lvbiBpbiBwb3NpeF9tZW1h bGlnbgoKLS0tCiBzcmNwa2dzL2Nyb3NzLXBvd2VycGM2NC1saW51eC1nbnUvdGVtcGxhdGUgfCAy ICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NC1saW51eC1nbnUvdGVtcGxhdGUgYi9zcmNw a2dzL2Nyb3NzLXBvd2VycGM2NC1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXggY2RiZDFlMjZmNzI1 ZC4uZjRhZjAxNTY2ODY5OSAxMDA2NDQKLS0tIGEvc3JjcGtncy9jcm9zcy1wb3dlcnBjNjQtbGlu dXgtZ251L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYzY0LWxpbnV4LWdudS90 ZW1wbGF0ZQpAQCAtNSw3ICs1LDcgQEAgX2dsaWJjX3ZlcnNpb249Mi4zOAogX2xpbnV4X3ZlcnNp b249NS4xMC40CiBwa2duYW1lPWNyb3NzLXBvd2VycGM2NC1saW51eC1nbnUKIHZlcnNpb249MC4z NQotcmV2aXNpb249NgorcmV2aXNpb249NwogYnVpbGRfc3R5bGU9dm9pZC1jcm9zcwogY29uZmln dXJlX2FyZ3M9Ii0tZW5hYmxlLXNlY3VyZXBsdCAtLWRpc2FibGUtdnRhYmxlLXZlcmlmeSAtLXdp dGgtYWJpPWVsZnYyCiAgLS1lbmFibGUtdGFyZ2V0cz1wb3dlcnBjLWxpbnV4IC0tZW5hYmxlLWF1 dG9saW5rLWxpYmF0b21pYyIKCkZyb20gOTdlZDdjNDI5OTI4M2NhZmFkYTJkNTk2N2IxMmZjZjY2 OWZmM2JhYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0dvbnphbG89 MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQuZWR1LnV5PgpEYXRlOiBUdWUsIDI2IERl YyAyMDIzIDE5OjUyOjA3IC0wMzAwClN1YmplY3Q6IFtQQVRDSCA2LzldIGNyb3NzLXBvd2VycGM2 NGxlLWxpbnV4LWdudTogcmVidWlsZCB0byBmaXggcGVyZm9ybWFuY2UKIHJlZ3Jlc3Npb24gaW4g cG9zaXhfbWVtYWxpZ24KCi0tLQogc3JjcGtncy9jcm9zcy1wb3dlcnBjNjRsZS1saW51eC1nbnUv dGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NGxlLWxpbnV4LWdudS90 ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYzY0bGUtbGludXgtZ251L3RlbXBsYXRlCmlu ZGV4IDgyZGMxOTZhMjQ3ZDUuLjYxODFlMGU0ZDIzNmQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY3Jv c3MtcG93ZXJwYzY0bGUtbGludXgtZ251L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtcG93 ZXJwYzY0bGUtbGludXgtZ251L3RlbXBsYXRlCkBAIC01LDcgKzUsNyBAQCBfZ2xpYmNfdmVyc2lv bj0yLjM4CiBfbGludXhfdmVyc2lvbj01LjEwLjQKIHBrZ25hbWU9Y3Jvc3MtcG93ZXJwYzY0bGUt bGludXgtZ251CiB2ZXJzaW9uPTAuMzUKLXJldmlzaW9uPTYKK3JldmlzaW9uPTcKIGJ1aWxkX3N0 eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS1zZWN1cmVwbHQgLS1kaXNh YmxlLXZ0YWJsZS12ZXJpZnkgLS13aXRoLWFiaT1lbGZ2MgogIC0tZW5hYmxlLXRhcmdldHM9cG93 ZXJwY2xlLWxpbnV4IC0tZW5hYmxlLWF1dG9saW5rLWxpYmF0b21pYyIKCkZyb20gYzA5MTk3NmJm MzZmY2UyZTNhZGEyM2UyYjFhZjVlNWY3ZDU2ZWQ3MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQu ZWR1LnV5PgpEYXRlOiBUdWUsIDI2IERlYyAyMDIzIDE5OjUyOjA4IC0wMzAwClN1YmplY3Q6IFtQ QVRDSCA3LzldIGNyb3NzLXBvd2VycGNsZS1saW51eC1nbnU6IHJlYnVpbGQgdG8gZml4IHBlcmZv cm1hbmNlCiByZWdyZXNzaW9uIGluIHBvc2l4X21lbWFsaWduCgotLS0KIHNyY3BrZ3MvY3Jvc3Mt cG93ZXJwY2xlLWxpbnV4LWdudS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3MtcG93 ZXJwY2xlLWxpbnV4LWdudS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwY2xlLWxpbnV4 LWdudS90ZW1wbGF0ZQppbmRleCA3NTc2Mjc4NzM4ZDk1Li43MjBjZjk3ODczMzE0IDEwMDY0NAot LS0gYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGNsZS1saW51eC1nbnUvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9jcm9zcy1wb3dlcnBjbGUtbGludXgtZ251L3RlbXBsYXRlCkBAIC01LDcgKzUsNyBAQCBf Z2xpYmNfdmVyc2lvbj0yLjM4CiBfbGludXhfdmVyc2lvbj01LjEwLjQKIHBrZ25hbWU9Y3Jvc3Mt cG93ZXJwY2xlLWxpbnV4LWdudQogdmVyc2lvbj0wLjM1Ci1yZXZpc2lvbj02CityZXZpc2lvbj03 CiBidWlsZF9zdHlsZT12b2lkLWNyb3NzCiBjb25maWd1cmVfYXJncz0iLS1lbmFibGUtc2VjdXJl cGx0IC0tZGlzYWJsZS12dGFibGUtdmVyaWZ5CiAgLS1lbmFibGUtYXV0b2xpbmstbGliYXRvbWlj IgoKRnJvbSA5ZDRlODVhNzQ2N2FkMTkxOGI1YmM3YjY1MmM2YzA2OTBjOTNlMDgwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/ PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+CkRhdGU6IFR1ZSwgMjYgRGVjIDIwMjMgMTk6NTI6MDgg LTAzMDAKU3ViamVjdDogW1BBVENIIDgvOV0gY3Jvc3MtcmlzY3Y2NC1saW51eC1nbnU6IHJlYnVp bGQgdG8gZml4IHBlcmZvcm1hbmNlCiByZWdyZXNzaW9uIGluIHBvc2l4X21lbWFsaWduCgotLS0K IHNyY3BrZ3MvY3Jvc3MtcmlzY3Y2NC1saW51eC1nbnUvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL2Nyb3NzLXJpc2N2NjQtbGludXgtZ251L3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1yaXNj djY0LWxpbnV4LWdudS90ZW1wbGF0ZQppbmRleCA1Y2Q2ZGE2OWMzMmU4Li5iZDFhMDEwZDk4MjY5 IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXJpc2N2NjQtbGludXgtZ251L3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvY3Jvc3MtcmlzY3Y2NC1saW51eC1nbnUvdGVtcGxhdGUKQEAgLTUsNyArNSw3 IEBAIF9nbGliY192ZXJzaW9uPTIuMzgKIF9saW51eF92ZXJzaW9uPTUuMTAuNAogcGtnbmFtZT1j cm9zcy1yaXNjdjY0LWxpbnV4LWdudQogdmVyc2lvbj0wLjM1Ci1yZXZpc2lvbj00CityZXZpc2lv bj01CiBidWlsZF9zdHlsZT12b2lkLWNyb3NzCiBjb25maWd1cmVfYXJncz0iLS13aXRoLWFyY2g9 cnY2NGdjIC0td2l0aC1hYmk9bHA2NGQgLS1lbmFibGUtYXV0b2xpbmstbGliYXRvbWljIC0tZGlz YWJsZS1tdWx0aWxpYiIKIGhvc3RtYWtlZGVwZW5kcz0idGV4aW5mbyB0YXIgZ2NjLW9iamMgZ2Nj LWdvIGZsZXggcGVybCBweXRob24zIHBrZy1jb25maWciCgpGcm9tIDQwYmJhMWU5MTg3OGEyN2U5 YWMxNjIzOTE3NTQwMTdmZDVlNDMxOWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/ VVRGLTg/cT9Hb256YWxvPTIwVG9ybmFyPUMzPUFEYT89IDx0b3JuYXJpYUBjbWF0LmVkdS51eT4K RGF0ZTogVHVlLCAyNiBEZWMgMjAyMyAxOTo1MjowOCAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggOS85 XSBjcm9zcy14ODZfNjQtbGludXgtZ251OiByZWJ1aWxkIHRvIGZpeCBwZXJmb3JtYW5jZQogcmVn cmVzc2lvbiBpbiBwb3NpeF9tZW1hbGlnbgoKLS0tCiBzcmNwa2dzL2Nyb3NzLXg4Nl82NC1saW51 eC1nbnUvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nyb3NzLXg4Nl82NC1saW51eC1nbnUv dGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLXg4Nl82NC1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXgg N2VhYmUxNjI1YjIzZS4uYjdjMmJiM2YwNGZkNyAxMDA2NDQKLS0tIGEvc3JjcGtncy9jcm9zcy14 ODZfNjQtbGludXgtZ251L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MteDg2XzY0LWxpbnV4 LWdudS90ZW1wbGF0ZQpAQCAtNSw3ICs1LDcgQEAgX2dsaWJjX3ZlcnNpb249Mi4zOAogX2xpbnV4 X3ZlcnNpb249NS4xMC40CiBwa2duYW1lPWNyb3NzLXg4Nl82NC1saW51eC1nbnUKIHZlcnNpb249 MC4zNQotcmV2aXNpb249NgorcmV2aXNpb249NwogYnVpbGRfc3R5bGU9dm9pZC1jcm9zcwogaG9z dG1ha2VkZXBlbmRzPSJ0ZXhpbmZvIHRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhv bjMgcGtnLWNvbmZpZyIKIG1ha2VkZXBlbmRzPSJpc2wtZGV2ZWwgbGlibXBjLWRldmVsIGdtcC1k ZXZlbCBtcGZyLWRldmVsCg== --===============3849916926999397565==--