From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 75097 invoked by alias); 22 Apr 2017 06:51:28 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 74460 invoked by uid 89); 22 Apr 2017 06:51:27 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-15.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,KAM_MANYTO,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=Hauthentication-results:gmail.com, HTo:U*msebor X-HELO: EUR01-DB5-obe.outbound.protection.outlook.com Received: from mail-oln040092064096.outbound.protection.outlook.com (HELO EUR01-DB5-obe.outbound.protection.outlook.com) (40.92.64.96) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 22 Apr 2017 06:51:22 +0000 Received: from VE1EUR01FT019.eop-EUR01.prod.protection.outlook.com (10.152.2.51) by VE1EUR01HT019.eop-EUR01.prod.protection.outlook.com (10.152.3.105) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1019.14; Sat, 22 Apr 2017 06:51:20 +0000 Received: from HE1PR0701MB2169.eurprd07.prod.outlook.com (10.152.2.55) by VE1EUR01FT019.mail.protection.outlook.com (10.152.2.231) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.14 via Frontend Transport; Sat, 22 Apr 2017 06:51:19 +0000 Received: from HE1PR0701MB2169.eurprd07.prod.outlook.com ([10.168.36.18]) by HE1PR0701MB2169.eurprd07.prod.outlook.com ([10.168.36.18]) with mapi id 15.01.1061.008; Sat, 22 Apr 2017 06:51:19 +0000 From: Bernd Edlinger To: Martin Sebor , "gcc-patches@gcc.gnu.org" , Joseph Myers , "Jason Merrill" , Jeff Law , Richard Biener , Jakub Jelinek Subject: Re: [PATCH] Implement a warning for bogus sizeof(pointer) / sizeof(pointer[0]) Date: Sat, 22 Apr 2017 17:50:00 -0000 Message-ID: References: <776bb206-7b8e-1878-5411-3f1cdaabac05@gmail.com> In-Reply-To: <776bb206-7b8e-1878-5411-3f1cdaabac05@gmail.com> authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=hotmail.de; x-incomingtopheadermarker: OriginalChecksum:F74DF492257F12A8EFCA40E3450B18AED6669C1CC23C37E4159EDC3FDDE93388;UpperCasedChecksum:F5DF246FF198E8C9DFC7D1D3CD1E31A79553E12A26E14B5B8F84589503C49745;SizeAsReceived:8285;Count:39 x-ms-exchange-messagesentrepresentingtype: 1 x-microsoft-exchange-diagnostics: 1;VE1EUR01HT019;5:8Wm9NwAdX4bDGb1nmZRJ44ryDF0imkVTkjqF9eMGLXOsodqk5MurMHxDso4jTXYLIsyrYrkJsoYIgZ7MgdqI9ibO5gVJUkdeJseR/piRSgNZ6GeswX5Nvznfc9SgUEhJcthGb+t06cMA75Zzh1wT2A==;24:DFUEXxb2+NeKWZoIMaF/IrcvAsHbX7tLoSzTFdp7zvhF75Yh+5j67GVrrI3Sngnma2eTU6TKsywy4GYye4Ji+Craj9DGvMltWt2j0wNbMR8=;7:pVukGiPT7tgC/n4WA3VbKJF+dyUXKATikhuEWJUASn2Cv1xye7oe5cfvfdiLgJDxnxoSQmnBoLs35HSsy0yzb4dpcAaQSKsg0RgE2R5eoXWFV4iKMW3GotrONf9+kFTdJR87wwoWj7WUKI7Ks/trks2HrZKhfwf4VPp2ayTRzbf6NBJmubQCHlJPt5o4IkFpyOD7As9ZxO9B8BSt8b0PQav4mN8KTOrowkk9sfIB1doDO+agC6M7NNFezd08f82H/u96ZVBJCx6EMgYtztXHAXA1QaVjvUM9xt0m1NqZJzG7AyrjAXPvP6whX0OIvuIz x-incomingheadercount: 39 x-eopattributedmessage: 0 x-forefront-antispam-report: EFV:NLI;SFV:NSPM;SFS:(7070007)(98901004);DIR:OUT;SFP:1901;SCL:1;SRVR:VE1EUR01HT019;H:HE1PR0701MB2169.eurprd07.prod.outlook.com;FPR:;SPF:None;LANG:en; x-ms-office365-filtering-correlation-id: 0133a337-e568-46a5-e68f-08d4894bf868 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201702061074)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322274)(1603101448)(1601125374)(1701031045);SRVR:VE1EUR01HT019; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(444000031);SRVR:VE1EUR01HT019;BCL:0;PCL:0;RULEID:;SRVR:VE1EUR01HT019; x-forefront-prvs: 0285201563 spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/mixed; boundary="_003_HE1PR0701MB2169D85858BE3B158B4CD3DBE41D0HE1PR0701MB2169_" MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Apr 2017 06:51:19.8179 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1EUR01HT019 X-SW-Source: 2017-04/txt/msg00973.txt.bz2 --_003_HE1PR0701MB2169D85858BE3B158B4CD3DBE41D0HE1PR0701MB2169_ Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 Content-length: 3957 T24gMDQvMjIvMTcgMDE6NTAsIE1hcnRpbiBTZWJvciB3cm90ZToNCj4gT24g MDQvMjAvMjAxNyAwMjozNSBQTSwgQmVybmQgRWRsaW5nZXIgd3JvdGU6DQo+ PiBIaSENCj4+DQo+Pg0KPj4gVGhpcyBpbXBsZW1lbnRzIGEgbmV3IC1XYWxs IGVuYWJsZWQgd2FybmluZyBmb3IgYSByYXRoZXIgY29tbW9uLCBidXQNCj4+ IGNvbXBsZXRlbHkgd3Jvbmcgd2F5IHRvIGNvbXB1dGUgYW4gYXJyYXkgc2l6 ZSBieSBkaXZpZGluZyB0aGUNCj4+IHNpemVvZihwb2ludGVyKSAvIHNpemVv Zihwb2ludGVyWzBdKSBvciBzaXplb2YoKnBvaW50ZXIpLg0KPj4NCj4+IEl0 IGlzIG9mdGVuIGhhcmQgdG8gZmluZCB0aGlzIGtpbmQgb2YgZXJyb3IgYnkg c2ltcGxlIGNvZGUgaW5zcGVjdGlvbg0KPj4gaW4gcmVhbCBjb2RlLCBiZWNh dXNlIHVzaW5nIHNpemVvZiBpbiB0aGlzIHdheSBpcyBhIHF1aXRlIGNvbW1v biBpZGlvbQ0KPj4gdG8gZ2V0IHRoZSBhcnJheSBzaXplIG9mIGFuIGFycmF5 IHZhcmlhYmxlLiAgQW5kIGZ1cnRoZXJtb3JlIHRoaXMNCj4+IGV4cHJlc3Np b24gbWF5IGJlIHVzZWQgaW4gbWFjcm9zLCB3aGljaCBtYWtlcyBpdCBldmVu IG1vcmUgaW1wb3J0YW50IHRvDQo+PiBoYXZlIHRoaXMgd2FybmluZy4NCj4+ DQo+PiBUaGVyZSBpcyBhIHNpbWlsYXIgd2FybmluZyAtV3NpemVvZi1wb2lu dGVyLW1lbWFjY2VzcyB3aGljaCBoZWxwZWQgaW4NCj4+IGltcGxlbWVudGlu ZyB0aGUgaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoZSBuZXcgd2FybmluZyBpbiB0 aGUgQyBGRS4NCj4+DQo+PiBIb3dldmVyIEkgbm90aWNlZCB0aGF0IHRoZSAt V3NpemVvZi1wb2ludGVyLW1lbWFjY2VzcyB3YXJuaW5nIHdhcw0KPj4gbWlz c2luZyBpbiBDLCB3aGVuIHRoZSBzaXplb2YgaXMgdXNlZCBpbnNpZGUgcGFy ZW50aGVzZXMsIHdoaWNoIGlzDQo+PiBkaWZmZXJlbnQgZnJvbSBDKyssIHNv IEkgZml4ZWQgdGhhdCB0b28uDQo+Pg0KPj4gT2YgY291cnNlLCBJIGFkZGVk IHNvbWUgdGVzdCBjYXNlcyBmb3IgdGhhdCBhcyB3ZWxsLg0KPj4NCj4+IFRv IGlsbHVzdHJhdGUgdGhlIHVzZWZ1bG5lc3Mgb2YgdGhpcyB3YXJuaW5nLCBp dCByZXZlYWxlZCBxdWl0ZSBhIGZldw0KPj4gcGxhY2VzIHdoZXJlIGJvZ3Vz IHNpemVvZiBkaXZpc2lvbnMgd2VyZSB1c2VkIGluIG91ciB0ZXN0c3VpdGUu DQo+Pg0KPj4NCj4+IEJvb3RzdHJhcHBlZCBhbmQgcmVnLXRlc3RlZCBvbiB4 ODZfNjQtcGMtbGludXgtZ251Lg0KPj4gSXMgaXQgT0sgZm9yIHRydW5rPw0K Pg0KPiBUaGF0IHNlZW1zIGxpa2UgYSB1c2VmdWwgd2FybmluZy4gIEp1c3Qg YSBmZXcgY29tbWVudHMuDQo+DQo+IEZpcnN0LCAtV3NpemVvZi1hcnJheS1h cmd1bWVudCBhbHJlYWR5IGRpYWdub3NlcyBhIHN1YnNldCBvZg0KPiB0aGUg c2FtZSBwcm9ibGVtcy4gIEZvciBleGFtcGxlLCB3aXRoIHRoZSBwYXRjaCBh cHBsaWVkLCBHQ0MNCj4gaXNzdWVzIHRoZSB0d28gd2FybmluZ3MgYmVsb3cg Zm9yIGZvbGxvd2luZyB0ZXN0IGNhc2UuICBPbmUNCj4gc2hvdWxkIGJlIHN1 ZmZpY2llbnQuDQo+DQo+ICAgJCBjYXQgeS5jICYmIGdjYyAtUyAtV2FsbCB5 LmMNCj4gICBpbnQgZiAoaW50IGFbXSkNCj4gICB7DQo+ICAgICByZXR1cm4g c2l6ZW9mIGEgLyBzaXplb2YgKmE7DQo+ICAgfQ0KPiAgIHkuYzogSW4gZnVu Y3Rpb24g4oCYZuKAmToNCj4gICB5LmM6MzoxNzogd2FybmluZzog4oCYc2l6 ZW9m4oCZIG9uIGFycmF5IGZ1bmN0aW9uIHBhcmFtZXRlciDigJhh4oCZIHdp bGwNCj4gcmV0dXJuIHNpemUgb2Yg4oCYaW50ICrigJkgWy1Xc2l6ZW9mLWFy cmF5LWFyZ3VtZW50XQ0KPiAgICAgIHJldHVybiBzaXplb2YgYSAvIHNpemVv ZiAqYTsNCj4gICAgICAgICAgICAgICAgICAgIF4NCj4gICB5LmM6MToxMjog bm90ZTogZGVjbGFyZWQgaGVyZQ0KPiAgICBpbnQgZiAoaW50IGFbXSkNCj4g ICAgICAgICAgICAgICBeDQo+ICAgeS5jOjM6MTk6IHdhcm5pbmc6IGRpdmlk aW5nIHRoZSBwb2ludGVyIHNpemUgYnkgdGhlIGVsZW1lbnQgc2l6ZQ0KPiBb LVdzaXplb2YtcG9pbnRlci1kaXZdDQo+ICAgICAgcmV0dXJuIHNpemVvZiBh IC8gc2l6ZW9mICphOw0KPiAgICAgICAgICAgICAgICAgICAgICBeDQo+DQo+ IFNlY29uZCwgSSB3b3VsZCBzdWdnZXN0IG1lbnRpb25pbmcgdGhlIGFjdHVh bCB0eXBlcyBvZiB0aGUgb3BlcmFuZHMNCj4gcmF0aGVyIHRoYW4gcmVmZXJy aW5nIHRvICJwb2ludGVyIHNpemUiIGFuZCAiZWxlbWVudCBzaXplLiIgIE1h eWJlDQo+IHNvbWV0aGluZyBsaWtlOg0KPg0KPiAgIGRpdmlzaW9uICdzaXpl b2YgKGludCopIC8gc2l6ZW9mIChpbnQpJyBkb2VzIG5vdCBjb21wdXRlIHRo ZSBudW1iZXIgb2YNCj4gYXJyYXkgZWxlbWVudHMNCj4NCj4gSSBzdWdnZXN0 IGF2b2lkaW5nICJlbGVtZW50IHNpemUiIGJlY2F1c2UgdGhlIHBvaW50ZWQt dG8gYXJndW1lbnQNCj4gbmVlZCBub3QgYmUgYW4gYXJyYXkuICBNZW50aW9u aW5nIHRoZSB0eXBlcyBzaG91bGQgaGVscCB1c2VycyBiZXR0ZXINCj4gdW5k ZXJzdGFuZCB0aGUgcHJvYmxlbSAoZXNwZWNpYWxseSBpbiBDKysgd2hlcmUg dHlwZXMgYXJlIG9mdGVuDQo+IG9ic2N1cmVkIGJ5IGxheWVycyBvZiB0ZW1w bGF0ZXMpLiAgSXQgbWlnaHQgYWxzbyBiZSBhIG5pY2UgdG91Y2gNCj4gdG8g YWRkIGEgbm90ZSBwb2ludGluZyB0byB0aGUgZGVjbGFyYXRpb24gb2YgdGhl IGZpcnN0IHNpemVvZg0KPiBvcGVyYW5kIChpZiBpdCdzIGFuIG9iamVjdCku DQo+DQoNClllcywgbWFueSB0aGFua3MgZm9yIHlvdXIgc3VnZ2VzdGlvbnMu DQoNCkRvIHRoZSBuZXcgd2FybmluZyBhbmQgaW5mbyBtZXNzYWdlcyBsb29r IHJpZ2h0Pw0KDQoNCklzIGl0IE9LIGZvciB0cnVuayBhZnRlciBib290c3Ry YXAgLyByZWctdGVzdGluZz8NCg0KDQpUaGFua3MNCkJlcm5kLg0K --_003_HE1PR0701MB2169D85858BE3B158B4CD3DBE41D0HE1PR0701MB2169_ Content-Type: text/plain; name="changelog-warn-sizeof-pointer.txt" Content-Description: changelog-warn-sizeof-pointer.txt Content-Disposition: attachment; filename="changelog-warn-sizeof-pointer.txt"; size=1978; creation-date="Sat, 22 Apr 2017 06:51:15 GMT"; modification-date="Sat, 22 Apr 2017 06:51:15 GMT" Content-ID: <09A02A04CDEE2944B75EC2CB93A04535@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 2684 Z2NjOgoyMDE3LTA0LTIwICBCZXJuZCBFZGxpbmdlciAgPGJlcm5kLmVkbGlu Z2VyQGhvdG1haWwuZGU+CgoJKiBkb2MvaW52b2tlLnRleGk6IERvY3VtZW50 IHRoZSAtV3NpemVvZi1wb2ludGVyLWRpdiB3YXJuaW5nLgoKZ2NjL2MtZmFt aWx5OgoyMDE3LTA0LTIwICBCZXJuZCBFZGxpbmdlciAgPGJlcm5kLmVkbGlu Z2VyQGhvdG1haWwuZGU+CgoJKiBjLm9wdCAoV3NpemVvZi1wb2ludGVyLWRp dik6IE5ldyB3YXJuaW5nIG9wdGlvbi4KCmdjYy9jOgoyMDE3LTA0LTIwICBC ZXJuZCBFZGxpbmdlciAgPGJlcm5kLmVkbGluZ2VyQGhvdG1haWwuZGU+CgoJ KiBjLXBhcnNlci5jIChjX3BhcnNlcl9iaW5hcnlfZXhwcmVzc2lvbik6IElt cGxlbWVudCB0aGUKCS1Xc2l6ZW9mX3BvaW50ZXJfZGl2IHdhcm5pbmcuCgko Y19wYXJzZXJfcG9zdGZpeF9leHByZXNzaW9uKTogQWxsb3cgU0laRU9GX0VY UFIgYXMgZXhwci5vcmlnaW5hbF9jb2RlCglmcm9tIGEgcGFyZW50aGVzaXpl ZCBleHByZXNzaW9uLgoJKGNfcGFyc2VyX2V4cHJfbGlzdCk6IFVzZSBjX2xh c3Rfc2l6ZW9mX2xvYy4KCSogYy10cmVlLmggKGNfbGFzdF9zaXplb2ZfbG9j KTogTmV3IGV4dGVybmFsLgoJKiBjLXR5cGVjay5jIChjX2xhc3Rfc2l6ZW9m X2xvYyk6IE5ldyB2YXJpYWJsZS4KCShjX2V4cHJfc2l6ZW9mX2V4cHIsIGNf ZXhwcl9zaXplb2ZfdHlwZSk6IEFzc2lnbiBjX2xhc3Rfc2l6ZW9mX2xvYy4K CgpnY2MvY3A6CjIwMTctMDQtMjAgIEJlcm5kIEVkbGluZ2VyICA8YmVybmQu ZWRsaW5nZXJAaG90bWFpbC5kZT4KCgkqIGNwLWdpbXBsaWZ5LmMgKGNwX2Zv bGQpOiBJbXBsZW1lbnQgdGhlIC1Xc2l6ZW9mX3BvaW50ZXJfZGl2IHdhcm5p bmcuCgpnY2MvdGVzdHN1aXRlOgoyMDE3LTA0LTIwICBCZXJuZCBFZGxpbmdl ciAgPGJlcm5kLmVkbGluZ2VyQGhvdG1haWwuZGU+CgoJKiBjLWMrKy1jb21t b24vV3NpemVvZi1wb2ludGVyLWRpdi5jOiBOZXcgdGVzdC4KCSogZ2NjLmRn L1dzaXplb2YtcG9pbnRlci1tZW1hY2Nlc3MxLmM6IEFkZCB0ZXN0IGNhc2Vz IHdpdGggcGFyZW5zLgoJKiBnY2MuZGcvdG9ydHVyZS9Xc2l6ZW9mLXBvaW50 ZXItbWVtYWNjZXNzMS5jOiBMaWtld2lzZS4KCSogZ2NjLnRhcmdldC9pMzg2 L3NzZS1pbml0LXY0aGktMS5jOiBGaXggdGVzdCBjYXNlLgoJKiBnY2MudGFy Z2V0L2kzODYvc3NlLWluaXQtdjRzZi0xLmM6IExpa2V3aXNlLgoJKiBnY2Mu dGFyZ2V0L2kzODYvc3NlLXNldC1wcy0xLmM6IExpa2V3aXNlLgoJKiBnY2Mu dGFyZ2V0L2kzODYvc3NlMi1pbml0LXYxNnFpLTEuYzogTGlrZXdpc2UuCgkq IGdjYy50YXJnZXQvaTM4Ni9zc2UyLWluaXQtdjJkaS0xLmM6IExpa2V3aXNl LgoJKiBnY2MudGFyZ2V0L2kzODYvc3NlMi1pbml0LXY0c2ktMS5jOiBMaWtl d2lzZS4KCSogZ2NjLnRhcmdldC9pMzg2L3NzZTItaW5pdC12OGhpLTEuYzog TGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9zc2UyLXNldC1lcGkzMi0x LmM6IExpa2V3aXNlLgoJKiBnY2MudGFyZ2V0L2kzODYvc3NlMi1zZXQtZXBp NjR4LTEuYzogTGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9zc2U0XzEt aW5pdC12MTZxaS0xLmM6IExpa2V3aXNlLgoJKiBnY2MudGFyZ2V0L2kzODYv c3NlNF8xLWluaXQtdjJkaS0xLmM6IExpa2V3aXNlLgoJKiBnY2MudGFyZ2V0 L2kzODYvc3NlNF8xLWluaXQtdjRzZi0xLmM6IExpa2V3aXNlLgoJKiBnY2Mu dGFyZ2V0L2kzODYvc3NlNF8xLWluaXQtdjRzaS0xLmM6IExpa2V3aXNlLgoJ KiBnY2MudGFyZ2V0L2kzODYvc3NlNF8xLXNldC1lcGkzMi0xLmM6IExpa2V3 aXNlLgoJKiBnY2MudGFyZ2V0L2kzODYvc3NlNF8xLXNldC1lcGk2NHgtMS5j OiBMaWtld2lzZS4KCSogZ2NjLnRhcmdldC9pMzg2L3NzZTRfMS1zZXQtcHMt MS5jOiBMaWtld2lzZS4KCSogbGliZ29tcC5jL3ByMzk1OTEtMi5jOiBMaWtl d2lzZS4KCSogbGliZ29tcC5jL3ByMzk1OTEtMy5jOiBMaWtld2lzZS4KCg== --_003_HE1PR0701MB2169D85858BE3B158B4CD3DBE41D0HE1PR0701MB2169_ Content-Type: text/x-patch; name="patch-warn-sizeof-pointer.diff" Content-Description: patch-warn-sizeof-pointer.diff Content-Disposition: attachment; filename="patch-warn-sizeof-pointer.diff"; size=25852; creation-date="Sat, 22 Apr 2017 06:51:15 GMT"; modification-date="Sat, 22 Apr 2017 06:51:15 GMT" Content-ID: Content-Transfer-Encoding: base64 Content-length: 35047 SW5kZXg6IGdjYy9jL2MtcGFyc2VyLmMNCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NCi0tLSBnY2MvYy9jLXBhcnNlci5jCShyZXZpc2lvbiAyNDY0ODIpDQor KysgZ2NjL2MvYy1wYXJzZXIuYwkod29ya2luZyBjb3B5KQ0KQEAgLTY2NTIs NiArNjY1Miw4IEBAIGNfcGFyc2VyX2JpbmFyeV9leHByZXNzaW9uIChjX3Bh cnNlciAqcGFyc2VyLCBzdHJ1DQogICAgIGVudW0gdHJlZV9jb2RlIG9wOw0K ICAgICAvKiBUaGUgc291cmNlIGxvY2F0aW9uIG9mIHRoaXMgb3BlcmF0aW9u LiAgKi8NCiAgICAgbG9jYXRpb25fdCBsb2M7DQorICAgIC8qIFRoZSBzaXpl b2YgYXJndW1lbnQgaWYgZXhwci5vcmlnaW5hbF9jb2RlID09IFNJWkVPRl9F WFBSLiAgKi8NCisgICAgdHJlZSBzaXplb2ZfYXJnOw0KICAgfSBzdGFja1tO VU1fUFJFQ1NdOw0KICAgaW50IHNwOw0KICAgLyogTG9jYXRpb24gb2YgdGhl IGJpbmFyeSBvcGVyYXRvci4gICovDQpAQCAtNjY2OCw2ICs2NjcwLDMxIEBA IGNfcGFyc2VyX2JpbmFyeV9leHByZXNzaW9uIChjX3BhcnNlciAqcGFyc2Vy LCBzdHJ1DQogCWNfaW5oaWJpdF9ldmFsdWF0aW9uX3dhcm5pbmdzIC09IChz dGFja1tzcCAtIDFdLmV4cHIudmFsdWUJICAgICAgXA0KIAkJCQkJICA9PSB0 cnV0aHZhbHVlX3RydWVfbm9kZSk7CSAgICAgIFwNCiAJYnJlYWs7CQkJCQkJ CQkgICAgICBcDQorICAgICAgY2FzZSBUUlVOQ19ESVZfRVhQUjogCQkJCQkJ ICAgICAgXA0KKwlpZiAoc3RhY2tbc3AgLSAxXS5leHByLm9yaWdpbmFsX2Nv ZGUgPT0gU0laRU9GX0VYUFIJCSAgICAgIFwNCisJICAgICYmIHN0YWNrW3Nw XS5leHByLm9yaWdpbmFsX2NvZGUgPT0gU0laRU9GX0VYUFIpCQkgICAgICBc DQorCSAgewkJCQkJCQkJICAgICAgXA0KKwkgICAgdHJlZSB0eXBlMCA9IHN0 YWNrW3NwIC0gMV0uc2l6ZW9mX2FyZzsJCQkgICAgICBcDQorCSAgICB0cmVl IHR5cGUxID0gc3RhY2tbc3BdLnNpemVvZl9hcmc7CQkJCSAgICAgIFwNCisJ ICAgIHRyZWUgZmlyc3RfYXJnID0gdHlwZTA7CQkJCQkgICAgICBcDQorCSAg ICBpZiAoIVRZUEVfUCAodHlwZTApKQkJCQkJICAgICAgXA0KKwkgICAgICB0 eXBlMCA9IFRSRUVfVFlQRSAodHlwZTApOwkJCQkgICAgICBcDQorCSAgICBp ZiAoIVRZUEVfUCAodHlwZTEpKQkJCQkJICAgICAgXA0KKwkgICAgICB0eXBl MSA9IFRSRUVfVFlQRSAodHlwZTEpOwkJCQkgICAgICBcDQorCSAgICBpZiAo UE9JTlRFUl9UWVBFX1AgKHR5cGUwKQkJCQkJICAgICAgXA0KKwkJJiYgY29t cHR5cGVzIChUUkVFX1RZUEUgKHR5cGUwKSwgdHlwZTEpCQkJICAgICAgXA0K KwkJJiYgIShUUkVFX0NPREUgKGZpcnN0X2FyZykgPT0gUEFSTV9ERUNMCQkJ ICAgICAgXA0KKwkJICAgICAmJiBDX0FSUkFZX1BBUkFNRVRFUiAoZmlyc3Rf YXJnKQkJCSAgICAgIFwNCisJCSAgICAgJiYgd2Fybl9zaXplb2ZfYXJyYXlf YXJndW1lbnQpKQkJCSAgICAgIFwNCisJICAgICAgaWYgKHdhcm5pbmdfYXQg KHN0YWNrW3NwXS5sb2MsIE9QVF9Xc2l6ZW9mX3BvaW50ZXJfZGl2LAkgICAg ICBcDQorCQkJICAgICAgImRpdmlzaW9uICdzaXplb2YgKCVxVCkgLyBzaXpl b2YgKCVxVCknIGRvZXMgIiAgXA0KKwkJCSAgICAgICJub3QgY29tcHV0ZSB0 aGUgbnVtYmVyIG9mIGFycmF5IGVsZW1lbnRzIiwgICAgIFwNCisJCQkgICAg ICB0eXBlMCwgdHlwZTEpKQkJCQkgICAgICBcDQorCQlpZiAoREVDTF9QIChm aXJzdF9hcmcpKQkJCQkJICAgICAgXA0KKwkJICBpbmZvcm0gKERFQ0xfU09V UkNFX0xPQ0FUSU9OIChmaXJzdF9hcmcpLAkJICAgICAgXA0KKwkJCSAgImZp cnN0IHNpemVvZiBvcGVyYW5kIHdhcyBkZWNsYXJlZCBoZXJlIik7CSAgICAg IFwNCisJICB9CQkJCQkJCQkgICAgICBcDQorCWJyZWFrOwkJCQkJCQkJICAg ICAgXA0KICAgICAgIGRlZmF1bHQ6CQkJCQkJCQkgICAgICBcDQogCWJyZWFr OwkJCQkJCQkJICAgICAgXA0KICAgICAgIH0JCQkJCQkJCQkgICAgICBcDQpA QCAtNjcwMSw2ICs2NzI4LDcgQEAgY19wYXJzZXJfYmluYXJ5X2V4cHJlc3Np b24gKGNfcGFyc2VyICpwYXJzZXIsIHN0cnUNCiAgIHN0YWNrWzBdLmxvYyA9 IGNfcGFyc2VyX3BlZWtfdG9rZW4gKHBhcnNlciktPmxvY2F0aW9uOw0KICAg c3RhY2tbMF0uZXhwciA9IGNfcGFyc2VyX2Nhc3RfZXhwcmVzc2lvbiAocGFy c2VyLCBhZnRlcik7DQogICBzdGFja1swXS5wcmVjID0gUFJFQ19OT05FOw0K KyAgc3RhY2tbMF0uc2l6ZW9mX2FyZyA9IGNfbGFzdF9zaXplb2ZfYXJnOw0K ICAgc3AgPSAwOw0KICAgd2hpbGUgKHRydWUpDQogICAgIHsNCkBAIC02ODI0 LDYgKzY4NTIsNyBAQCBjX3BhcnNlcl9iaW5hcnlfZXhwcmVzc2lvbiAoY19w YXJzZXIgKnBhcnNlciwgc3RydQ0KICAgICAgIHN0YWNrW3NwXS5leHByID0g Y19wYXJzZXJfY2FzdF9leHByZXNzaW9uIChwYXJzZXIsIE5VTEwpOw0KICAg ICAgIHN0YWNrW3NwXS5wcmVjID0gb3ByZWM7DQogICAgICAgc3RhY2tbc3Bd Lm9wID0gb2NvZGU7DQorICAgICAgc3RhY2tbc3BdLnNpemVvZl9hcmcgPSBj X2xhc3Rfc2l6ZW9mX2FyZzsNCiAgICAgfQ0KICBvdXQ6DQogICB3aGlsZSAo c3AgPiAwKQ0KQEAgLTc3MTUsNyArNzc0NCw4IEBAIGNfcGFyc2VyX3Bvc3Rm aXhfZXhwcmVzc2lvbiAoY19wYXJzZXIgKnBhcnNlcikNCiAJICBleHByID0g Y19wYXJzZXJfZXhwcmVzc2lvbiAocGFyc2VyKTsNCiAJICBpZiAoVFJFRV9D T0RFIChleHByLnZhbHVlKSA9PSBNT0RJRllfRVhQUikNCiAJICAgIFRSRUVf Tk9fV0FSTklORyAoZXhwci52YWx1ZSkgPSAxOw0KLQkgIGlmIChleHByLm9y aWdpbmFsX2NvZGUgIT0gQ19NQVlCRV9DT05TVF9FWFBSKQ0KKwkgIGlmIChl eHByLm9yaWdpbmFsX2NvZGUgIT0gQ19NQVlCRV9DT05TVF9FWFBSDQorCSAg ICAgICYmIGV4cHIub3JpZ2luYWxfY29kZSAhPSBTSVpFT0ZfRVhQUikNCiAJ ICAgIGV4cHIub3JpZ2luYWxfY29kZSA9IEVSUk9SX01BUks7DQogCSAgLyog RG9uJ3QgY2hhbmdlIEVYUFIuT1JJR0lOQUxfVFlQRS4gICovDQogCSAgbG9j YXRpb25fdCBsb2NfY2xvc2VfcGFyZW4gPSBjX3BhcnNlcl9wZWVrX3Rva2Vu IChwYXJzZXIpLT5sb2NhdGlvbjsNCkBAIC04Njc0LDcgKzg3MDQsNiBAQCBj X3BhcnNlcl9leHByX2xpc3QgKGNfcGFyc2VyICpwYXJzZXIsIGJvb2wgY29u dmVydA0KICAgdmVjPHRyZWUsIHZhX2djPiAqb3JpZ190eXBlczsNCiAgIHN0 cnVjdCBjX2V4cHIgZXhwcjsNCiAgIGxvY2F0aW9uX3QgbG9jID0gY19wYXJz ZXJfcGVla190b2tlbiAocGFyc2VyKS0+bG9jYXRpb247DQotICBsb2NhdGlv bl90IGN1cl9zaXplb2ZfYXJnX2xvYyA9IFVOS05PV05fTE9DQVRJT047DQog ICB1bnNpZ25lZCBpbnQgaWR4ID0gMDsNCiANCiAgIHJldCA9IG1ha2VfdHJl ZV92ZWN0b3IgKCk7DQpAQCAtODY4Myw5ICs4NzEyLDYgQEAgY19wYXJzZXJf ZXhwcl9saXN0IChjX3BhcnNlciAqcGFyc2VyLCBib29sIGNvbnZlcnQNCiAg IGVsc2UNCiAgICAgb3JpZ190eXBlcyA9IG1ha2VfdHJlZV92ZWN0b3IgKCk7 DQogDQotICBpZiAoc2l6ZW9mX2FyZyAhPSBOVUxMDQotICAgICAgJiYgY19w YXJzZXJfbmV4dF90b2tlbl9pc19rZXl3b3JkIChwYXJzZXIsIFJJRF9TSVpF T0YpKQ0KLSAgICBjdXJfc2l6ZW9mX2FyZ19sb2MgPSBjX3BhcnNlcl9wZWVr XzJuZF90b2tlbiAocGFyc2VyKS0+bG9jYXRpb247DQogICBpZiAobGl0ZXJh bF96ZXJvX21hc2spDQogICAgIGNfcGFyc2VyX2NoZWNrX2xpdGVyYWxfemVy byAocGFyc2VyLCBsaXRlcmFsX3plcm9fbWFzaywgMCk7DQogICBleHByID0g Y19wYXJzZXJfZXhwcl9ub19jb21tYXMgKHBhcnNlciwgTlVMTCk7DQpAQCAt ODY5OSwyMSArODcyNSwxNSBAQCBjX3BhcnNlcl9leHByX2xpc3QgKGNfcGFy c2VyICpwYXJzZXIsIGJvb2wgY29udmVydA0KICAgaWYgKGxvY2F0aW9ucykN CiAgICAgbG9jYXRpb25zLT5zYWZlX3B1c2ggKGxvYyk7DQogICBpZiAoc2l6 ZW9mX2FyZyAhPSBOVUxMDQotICAgICAgJiYgY3VyX3NpemVvZl9hcmdfbG9j ICE9IFVOS05PV05fTE9DQVRJT04NCiAgICAgICAmJiBleHByLm9yaWdpbmFs X2NvZGUgPT0gU0laRU9GX0VYUFIpDQogICAgIHsNCiAgICAgICBzaXplb2Zf YXJnWzBdID0gY19sYXN0X3NpemVvZl9hcmc7DQotICAgICAgc2l6ZW9mX2Fy Z19sb2NbMF0gPSBjdXJfc2l6ZW9mX2FyZ19sb2M7DQorICAgICAgc2l6ZW9m X2FyZ19sb2NbMF0gPSBjX2xhc3Rfc2l6ZW9mX2xvYzsNCiAgICAgfQ0KICAg d2hpbGUgKGNfcGFyc2VyX25leHRfdG9rZW5faXMgKHBhcnNlciwgQ1BQX0NP TU1BKSkNCiAgICAgew0KICAgICAgIGNfcGFyc2VyX2NvbnN1bWVfdG9rZW4g KHBhcnNlcik7DQogICAgICAgbG9jID0gY19wYXJzZXJfcGVla190b2tlbiAo cGFyc2VyKS0+bG9jYXRpb247DQotICAgICAgaWYgKHNpemVvZl9hcmcgIT0g TlVMTA0KLQkgICYmIGNfcGFyc2VyX25leHRfdG9rZW5faXNfa2V5d29yZCAo cGFyc2VyLCBSSURfU0laRU9GKSkNCi0JY3VyX3NpemVvZl9hcmdfbG9jID0g Y19wYXJzZXJfcGVla18ybmRfdG9rZW4gKHBhcnNlciktPmxvY2F0aW9uOw0K LSAgICAgIGVsc2UNCi0JY3VyX3NpemVvZl9hcmdfbG9jID0gVU5LTk9XTl9M T0NBVElPTjsNCiAgICAgICBpZiAobGl0ZXJhbF96ZXJvX21hc2spDQogCWNf cGFyc2VyX2NoZWNrX2xpdGVyYWxfemVybyAocGFyc2VyLCBsaXRlcmFsX3pl cm9fbWFzaywgaWR4ICsgMSk7DQogICAgICAgZXhwciA9IGNfcGFyc2VyX2V4 cHJfbm9fY29tbWFzIChwYXJzZXIsIE5VTEwpOw0KQEAgLTg3MjgsMTEgKzg3 NDgsMTAgQEAgY19wYXJzZXJfZXhwcl9saXN0IChjX3BhcnNlciAqcGFyc2Vy LCBib29sIGNvbnZlcnQNCiAJbG9jYXRpb25zLT5zYWZlX3B1c2ggKGxvYyk7 DQogICAgICAgaWYgKCsraWR4IDwgMw0KIAkgICYmIHNpemVvZl9hcmcgIT0g TlVMTA0KLQkgICYmIGN1cl9zaXplb2ZfYXJnX2xvYyAhPSBVTktOT1dOX0xP Q0FUSU9ODQogCSAgJiYgZXhwci5vcmlnaW5hbF9jb2RlID09IFNJWkVPRl9F WFBSKQ0KIAl7DQogCSAgc2l6ZW9mX2FyZ1tpZHhdID0gY19sYXN0X3NpemVv Zl9hcmc7DQotCSAgc2l6ZW9mX2FyZ19sb2NbaWR4XSA9IGN1cl9zaXplb2Zf YXJnX2xvYzsNCisJICBzaXplb2ZfYXJnX2xvY1tpZHhdID0gY19sYXN0X3Np emVvZl9sb2M7DQogCX0NCiAgICAgfQ0KICAgaWYgKG9yaWdfdHlwZXMpDQpJ bmRleDogZ2NjL2MvYy10cmVlLmgNCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N Ci0tLSBnY2MvYy9jLXRyZWUuaAkocmV2aXNpb24gMjQ2NDgyKQ0KKysrIGdj Yy9jL2MtdHJlZS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtNjA2LDYgKzYwNiw3 IEBAIGV4dGVybiBpbnQgaW5fc2l6ZW9mOw0KIGV4dGVybiBpbnQgaW5fdHlw ZW9mOw0KIA0KIGV4dGVybiB0cmVlIGNfbGFzdF9zaXplb2ZfYXJnOw0KK2V4 dGVybiBsb2NhdGlvbl90IGNfbGFzdF9zaXplb2ZfbG9jOw0KIA0KIGV4dGVy biBzdHJ1Y3QgY19zd2l0Y2ggKmNfc3dpdGNoX3N0YWNrOw0KIA0KSW5kZXg6 IGdjYy9jL2MtdHlwZWNrLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t LSBnY2MvYy9jLXR5cGVjay5jCShyZXZpc2lvbiAyNDY0ODIpDQorKysgZ2Nj L2MvYy10eXBlY2suYwkod29ya2luZyBjb3B5KQ0KQEAgLTcyLDYgKzcyLDcg QEAgaW50IGluX3R5cGVvZjsNCiAvKiBUaGUgYXJndW1lbnQgb2YgbGFzdCBw YXJzZWQgc2l6ZW9mIGV4cHJlc3Npb24sIG9ubHkgdG8gYmUgdGVzdGVkDQog ICAgaWYgZXhwci5vcmlnaW5hbF9jb2RlID09IFNJWkVPRl9FWFBSLiAgKi8N CiB0cmVlIGNfbGFzdF9zaXplb2ZfYXJnOw0KK2xvY2F0aW9uX3QgY19sYXN0 X3NpemVvZl9sb2M7DQogDQogLyogTm9uemVybyBpZiB3ZSBtaWdodCBuZWVk IHRvIHByaW50IGEgIm1pc3NpbmcgYnJhY2VzIGFyb3VuZA0KICAgIGluaXRp YWxpemVyIiBtZXNzYWdlIHdpdGhpbiB0aGlzIGluaXRpYWxpemVyLiAgKi8N CkBAIC0yOTA5LDYgKzI5MTAsNyBAQCBjX2V4cHJfc2l6ZW9mX2V4cHIgKGxv Y2F0aW9uX3QgbG9jLCBzdHJ1Y3QgY19leHByDQogCQkJCSAgICAgICAmZXhw cl9jb25zdF9vcGVyYW5kcyk7DQogICAgICAgcmV0LnZhbHVlID0gY19zaXpl b2YgKGxvYywgVFJFRV9UWVBFIChmb2xkZWRfZXhwcikpOw0KICAgICAgIGNf bGFzdF9zaXplb2ZfYXJnID0gZXhwci52YWx1ZTsNCisgICAgICBjX2xhc3Rf c2l6ZW9mX2xvYyA9IGxvYzsNCiAgICAgICByZXQub3JpZ2luYWxfY29kZSA9 IFNJWkVPRl9FWFBSOw0KICAgICAgIHJldC5vcmlnaW5hbF90eXBlID0gTlVM TDsNCiAgICAgICBpZiAoY192bGFfdHlwZV9wIChUUkVFX1RZUEUgKGZvbGRl ZF9leHByKSkpDQpAQCAtMjkzOCw2ICsyOTQwLDcgQEAgY19leHByX3NpemVv Zl90eXBlIChsb2NhdGlvbl90IGxvYywgc3RydWN0IGNfdHlwZV8NCiAgIHR5 cGUgPSBncm9rdHlwZW5hbWUgKHQsICZ0eXBlX2V4cHIsICZ0eXBlX2V4cHJf Y29uc3QpOw0KICAgcmV0LnZhbHVlID0gY19zaXplb2YgKGxvYywgdHlwZSk7 DQogICBjX2xhc3Rfc2l6ZW9mX2FyZyA9IHR5cGU7DQorICBjX2xhc3Rfc2l6 ZW9mX2xvYyA9IGxvYzsNCiAgIHJldC5vcmlnaW5hbF9jb2RlID0gU0laRU9G X0VYUFI7DQogICByZXQub3JpZ2luYWxfdHlwZSA9IE5VTEw7DQogICBpZiAo KHR5cGVfZXhwciB8fCBUUkVFX0NPREUgKHJldC52YWx1ZSkgPT0gSU5URUdF Ul9DU1QpDQpJbmRleDogZ2NjL2MtZmFtaWx5L2Mub3B0DQo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09DQotLS0gZ2NjL2MtZmFtaWx5L2Mub3B0CShyZXZpc2lv biAyNDY0ODIpDQorKysgZ2NjL2MtZmFtaWx5L2Mub3B0CSh3b3JraW5nIGNv cHkpDQpAQCAtNjk4LDYgKzY5OCwxMCBAQCBXc2l6ZWQtZGVhbGxvY2F0aW9u DQogQysrIE9iakMrKyBWYXIod2Fybl9zaXplZF9kZWFsbG9jYXRpb24pIFdh cm5pbmcgRW5hYmxlZEJ5KFdleHRyYSkNCiBXYXJuIGFib3V0IG1pc3Npbmcg c2l6ZWQgZGVhbGxvY2F0aW9uIGZ1bmN0aW9ucy4NCiANCitXc2l6ZW9mLXBv aW50ZXItZGl2DQorQyBPYmpDIEMrKyBPYmpDKysgVmFyKHdhcm5fc2l6ZW9m X3BvaW50ZXJfZGl2KSBXYXJuaW5nIExhbmdFbmFibGVkQnkoQyBPYmpDIEMr KyBPYmpDKyssV2FsbCkNCitXYXJuIGFib3V0IHN1c3BpY2lvdXMgZGl2aXNp b25zIG9mIHR3byBzaXplb2YgZXhwcmVzc2lvbnMgdGhhdCBkb24ndCB3b3Jr IGNvcnJlY3RseSB3aXRoIHBvaW50ZXJzLg0KKw0KIFdzaXplb2YtcG9pbnRl ci1tZW1hY2Nlc3MNCiBDIE9iakMgQysrIE9iakMrKyBWYXIod2Fybl9zaXpl b2ZfcG9pbnRlcl9tZW1hY2Nlc3MpIFdhcm5pbmcgTGFuZ0VuYWJsZWRCeShD IE9iakMgQysrIE9iakMrKyxXYWxsKQ0KIFdhcm4gYWJvdXQgc3VzcGljaW91 cyBsZW5ndGggcGFyYW1ldGVycyB0byBjZXJ0YWluIHN0cmluZyBmdW5jdGlv bnMgaWYgdGhlIGFyZ3VtZW50IHVzZXMgc2l6ZW9mLg0KSW5kZXg6IGdjYy9j cC9jcC1naW1wbGlmeS5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0g Z2NjL2NwL2NwLWdpbXBsaWZ5LmMJKHJldmlzaW9uIDI0NjQ4MikNCisrKyBn Y2MvY3AvY3AtZ2ltcGxpZnkuYwkod29ya2luZyBjb3B5KQ0KQEAgLTIyMjMs NiArMjIyMywyMiBAQCBjcF9mb2xkICh0cmVlIHgpDQogICAgICAgZWxzZQ0K IAl4ID0gZm9sZCAoeCk7DQogDQorICAgICAgaWYgKFRSRUVfQ09ERSAoeCkg PT0gSU5URUdFUl9DU1QgJiYNCisJICBUUkVFX0NPREUgKG9yZ194KSA9PSBU UlVOQ19ESVZfRVhQUg0KKwkgICYmIFRSRUVfQ09ERSAoVFJFRV9PUEVSQU5E IChvcmdfeCwgMCkpID09IFNJWkVPRl9FWFBSDQorCSAgJiYgVFJFRV9DT0RF IChUUkVFX09QRVJBTkQgKG9yZ194LCAxKSkgPT0gU0laRU9GX0VYUFIpDQor CXsNCisJICB0cmVlIHR5cGUwID0gVFJFRV9PUEVSQU5EIChUUkVFX09QRVJB TkQgKG9yZ194LCAwKSwgMCk7DQorCSAgdHJlZSB0eXBlMSA9IFRSRUVfT1BF UkFORCAoVFJFRV9PUEVSQU5EIChvcmdfeCwgMSksIDApOw0KKwkgIHRyZWUg Zmlyc3RfYXJnID0gdHlwZTA7DQorCSAgaWYgKCFUWVBFX1AgKHR5cGUwKSkN CisJICAgIHR5cGUwID0gVFJFRV9UWVBFICh0eXBlMCk7DQorCSAgaWYgKCFU WVBFX1AgKHR5cGUxKSkNCisJICAgIHR5cGUxID0gVFJFRV9UWVBFICh0eXBl MSk7DQorCSAgaWYgKFBPSU5URVJfVFlQRV9QICh0eXBlMCkgJiYgc2FtZV90 eXBlX3AgKFRSRUVfVFlQRSAodHlwZTApLCB0eXBlMSkNCisJICAgICAgJiYg IShUUkVFX0NPREUgKGZpcnN0X2FyZykgPT0gUEFSTV9ERUNMDQorCQkgICAm JiBERUNMX0FSUkFZX1BBUkFNRVRFUl9QIChmaXJzdF9hcmcpDQorCQkgICAm JiB3YXJuX3NpemVvZl9hcnJheV9hcmd1bWVudCkpDQorCSAgICBpZiAod2Fy bmluZ19hdCAobG9jLCBPUFRfV3NpemVvZl9wb2ludGVyX2RpdiwNCisJCQkg ICAgImRpdmlzaW9uICdzaXplb2YgKCVxVCkgLyBzaXplb2YgKCVxVCknIGRv ZXMgIg0KKwkJCSAgICAibm90IGNvbXB1dGUgdGhlIG51bWJlciBvZiBhcnJh eSBlbGVtZW50cyIsDQorCQkJICAgIHR5cGUwLCB0eXBlMSkpDQorCSAgICAg IGlmIChERUNMX1AgKGZpcnN0X2FyZykpDQorCQlpbmZvcm0gKERFQ0xfU09V UkNFX0xPQ0FUSU9OIChmaXJzdF9hcmcpLA0KKwkJCSJmaXJzdCBzaXplb2Yg b3BlcmFuZCB3YXMgZGVjbGFyZWQgaGVyZSIpOw0KKwl9DQorDQogICAgICAg aWYgKFRSRUVfTk9fV0FSTklORyAob3JnX3gpDQogCSAgJiYgd2Fybl9ub25u dWxsX2NvbXBhcmUNCiAJICAmJiBDT01QQVJJU09OX0NMQVNTX1AgKG9yZ194 KSkNCkluZGV4OiBnY2MvZG9jL2ludm9rZS50ZXhpDQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQotLS0gZ2NjL2RvYy9pbnZva2UudGV4aQkocmV2aXNpb24g MjQ2NDgyKQ0KKysrIGdjYy9kb2MvaW52b2tlLnRleGkJKHdvcmtpbmcgY29w eSkNCkBAIC0zMDQsNyArMzA0LDcgQEAgT2JqZWN0aXZlLUMgYW5kIE9iamVj dGl2ZS1DKysgRGlhbGVjdHN9Lg0KIC1Xc2hpZnQtb3ZlcmZsb3cgIC1Xc2hp ZnQtb3ZlcmZsb3c9QHZhcntufSBAZ29sDQogLVdzaGlmdC1jb3VudC1uZWdh dGl2ZSAgLVdzaGlmdC1jb3VudC1vdmVyZmxvdyAgLVdzaGlmdC1uZWdhdGl2 ZS12YWx1ZSBAZ29sDQogLVdzaWduLWNvbXBhcmUgIC1Xc2lnbi1jb252ZXJz aW9uICAtV2Zsb2F0LWNvbnZlcnNpb24gQGdvbA0KLS1Xbm8tc2NhbGFyLXN0 b3JhZ2Utb3JkZXIgQGdvbA0KKy1Xbm8tc2NhbGFyLXN0b3JhZ2Utb3JkZXIg IC1Xc2l6ZW9mLXBvaW50ZXItZGl2IEBnb2wNCiAtV3NpemVvZi1wb2ludGVy LW1lbWFjY2VzcyAgLVdzaXplb2YtYXJyYXktYXJndW1lbnQgQGdvbA0KIC1X c3RhY2stcHJvdGVjdG9yICAtV3N0YWNrLXVzYWdlPUB2YXJ7bGVufSAgLVdz dHJpY3QtYWxpYXNpbmcgQGdvbA0KIC1Xc3RyaWN0LWFsaWFzaW5nPW4gIC1X c3RyaWN0LW92ZXJmbG93ICAtV3N0cmljdC1vdmVyZmxvdz1AdmFye259IEBn b2wNCkBAIC0zNzc3LDYgKzM3NzcsNyBAQCBPcHRpb25zfSBhbmQgQHJlZntP YmplY3RpdmUtQyBhbmQgT2JqZWN0aXZlLUMrKyBEaQ0KIC1XcmV0dXJuLXR5 cGUgIEBnb2wNCiAtV3NlcXVlbmNlLXBvaW50ICBAZ29sDQogLVdzaWduLWNv bXBhcmUgQHJ7KG9ubHkgaW4gQysrKX0gIEBnb2wNCistV3NpemVvZi1wb2lu dGVyLWRpdiBAZ29sDQogLVdzaXplb2YtcG9pbnRlci1tZW1hY2Nlc3MgQGdv bA0KIC1Xc3RyaWN0LWFsaWFzaW5nICBAZ29sDQogLVdzdHJpY3Qtb3ZlcmZs b3c9MSAgQGdvbA0KQEAgLTYwMjIsNiArNjAyMywxNSBAQCB2b2lkIG9wZXJh dG9yIGRlbGV0ZVtdICh2b2lkICosIHN0ZDo6c2l6ZV90KSBub2V4Yw0KIG9y IHZpY2UgdmVyc2EuICBFbmFibGVkIGJ5IEBvcHRpb257LVdleHRyYX0gYWxv bmcgd2l0aA0KIEBvcHRpb257LWZzaXplZC1kZWFsbG9jYXRpb259Lg0KIA0K K0BpdGVtIC1Xc2l6ZW9mLXBvaW50ZXItZGl2DQorQG9waW5kZXggV3NpemVv Zi1wb2ludGVyLWRpdg0KK0BvcGluZGV4IFduby1zaXplb2YtcG9pbnRlci1k aXYNCitXYXJuIGZvciBzdXNwaWNpb3VzIGRpdmlzaW9ucyBvZiB0d28gc2l6 ZW9mIGV4cHJlc3Npb25zIHRoYXQgZGl2aWRlDQordGhlIHBvaW50ZXIgc2l6 ZSBieSB0aGUgZWxlbWVudCBzaXplLCB3aGljaCBpcyB0aGUgdXN1YWwgd2F5 IHRvIGNvbXB1dGUNCit0aGUgYXJyYXkgc2l6ZSBidXQgd29uJ3Qgd29yayBv dXQgY29ycmVjdGx5IHdpdGggcG9pbnRlcnMuICBUaGlzIHdhcm5pbmcNCit3 YXJucyBlLmcuQDogYWJvdXQgQGNvZGV7c2l6ZW9mIChwdHIpIC8gc2l6ZW9m IChwdHJbMF0pfSBpZiBAY29kZXtwdHJ9IGlzDQorbm90IGFuIGFycmF5LCBi dXQgYSBwb2ludGVyLiAgVGhpcyB3YXJuaW5nIGlzIGVuYWJsZWQgYnkgQG9w dGlvbnstV2FsbH0uDQorDQogQGl0ZW0gLVdzaXplb2YtcG9pbnRlci1tZW1h Y2Nlc3MNCiBAb3BpbmRleCBXc2l6ZW9mLXBvaW50ZXItbWVtYWNjZXNzDQog QG9waW5kZXggV25vLXNpemVvZi1wb2ludGVyLW1lbWFjY2Vzcw0KSW5kZXg6 IGdjYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL1dzaXplb2YtcG9pbnRlci1k aXYuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGdjYy90ZXN0c3Vp dGUvYy1jKystY29tbW9uL1dzaXplb2YtcG9pbnRlci1kaXYuYwkocmV2aXNp b24gMCkNCisrKyBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9Xc2l6ZW9m LXBvaW50ZXItZGl2LmMJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsNDEg QEANCisvKiBUZXN0IC1Xc2l6ZW9mLXBvaW50ZXItZGl2IHdhcm5pbmdzLiAg Ki8NCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9u cyAiLVdhbGwiIH0gKi8NCisNCitpbnQNCitmMSAoaW50ICphcnJheSkNCit7 DQorICBpbnQgaTsNCisgIGkgPSBzaXplb2YgYXJyYXkgLyBzaXplb2YgKmFy cmF5OwkJLyogeyBkZy13YXJuaW5nICJkb2VzIG5vdCBjb21wdXRlIHRoZSBu dW1iZXIgb2YgYXJyYXkgZWxlbWVudHMiIH0gKi8NCisgIGkgKz0gc2l6ZW9m IGFycmF5IC8gc2l6ZW9mIGFycmF5WzBdOwkJLyogeyBkZy13YXJuaW5nICJk b2VzIG5vdCBjb21wdXRlIHRoZSBudW1iZXIgb2YgYXJyYXkgZWxlbWVudHMi IH0gKi8NCisgIGkgKz0gc2l6ZW9mKGFycmF5KSAvIHNpemVvZigqYXJyYXkp OwkJLyogeyBkZy13YXJuaW5nICJkb2VzIG5vdCBjb21wdXRlIHRoZSBudW1i ZXIgb2YgYXJyYXkgZWxlbWVudHMiIH0gKi8NCisgIGkgKz0gc2l6ZW9mKGFy cmF5KSAvIHNpemVvZihhcnJheVswXSk7CS8qIHsgZGctd2FybmluZyAiZG9l cyBub3QgY29tcHV0ZSB0aGUgbnVtYmVyIG9mIGFycmF5IGVsZW1lbnRzIiB9 ICovDQorICBpICs9IChzaXplb2YoYXJyYXkpKSAvIChzaXplb2YoYXJyYXlb MF0pKTsJLyogeyBkZy13YXJuaW5nICJkb2VzIG5vdCBjb21wdXRlIHRoZSBu dW1iZXIgb2YgYXJyYXkgZWxlbWVudHMiIH0gKi8NCisgIGkgKz0gc2l6ZW9m KGFycmF5KSAvIHNpemVvZihpbnQpOwkJLyogeyBkZy13YXJuaW5nICJkb2Vz IG5vdCBjb21wdXRlIHRoZSBudW1iZXIgb2YgYXJyYXkgZWxlbWVudHMiIH0g Ki8NCisgIGkgKz0gc2l6ZW9mKGFycmF5KSAvIHNpemVvZihjaGFyKTsNCisg IGkgKz0gc2l6ZW9mKCphcnJheSkgLyBzaXplb2YoY2hhcik7DQorICBpICs9 IHNpemVvZihhcnJheVswXSkgLyBzaXplb2YoY2hhcik7DQorICByZXR1cm4g aTsNCit9DQorDQoraW50DQorZjIgKHZvaWQpDQorew0KKyAgaW50IGFycmF5 WzEwXTsNCisgIGludCBpOw0KKyAgaSA9IHNpemVvZiBhcnJheSAvIHNpemVv ZiAqYXJyYXk7DQorICBpICs9IHNpemVvZiBhcnJheSAvIHNpemVvZiBhcnJh eVswXTsNCisgIGkgKz0gc2l6ZW9mKGFycmF5KSAvIHNpemVvZigqYXJyYXkp Ow0KKyAgaSArPSBzaXplb2YoYXJyYXkpIC8gc2l6ZW9mKGFycmF5WzBdKTsN CisgIGkgKz0gKHNpemVvZihhcnJheSkpIC8gKHNpemVvZihhcnJheVswXSkp Ow0KKyAgaSArPSBzaXplb2YoYXJyYXkpIC8gc2l6ZW9mKGludCk7DQorICBp ICs9IHNpemVvZihhcnJheSkgLyBzaXplb2YoY2hhcik7DQorICBpICs9IHNp emVvZigqYXJyYXkpIC8gc2l6ZW9mKGNoYXIpOw0KKyAgaSArPSBzaXplb2Yo YXJyYXlbMF0pIC8gc2l6ZW9mKGNoYXIpOw0KKyAgcmV0dXJuIGk7DQorfQ0K Kw0KK2ludCBmMyAoaW50IGFbXSkNCit7DQorICByZXR1cm4gc2l6ZW9mIGEg LyBzaXplb2YgKmE7CQkJLyogeyBkZy13YXJuaW5nICJXc2l6ZW9mLWFycmF5 LWFyZ3VtZW50IiB9ICovDQorfQ0KSW5kZXg6IGdjYy90ZXN0c3VpdGUvZ2Nj LmRnL1dzaXplb2YtcG9pbnRlci1tZW1hY2Nlc3MxLmMNCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NCi0tLSBnY2MvdGVzdHN1aXRlL2djYy5kZy9Xc2l6ZW9m LXBvaW50ZXItbWVtYWNjZXNzMS5jCShyZXZpc2lvbiAyNDY0ODIpDQorKysg Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvV3NpemVvZi1wb2ludGVyLW1lbWFjY2Vz czEuYwkod29ya2luZyBjb3B5KQ0KQEAgLTczLDYgKzczLDE1IEBAIGYxICh2 b2lkICp4LCBpbnQgeikNCiAgIHogKz0gYmNtcCAoeCwgcGEyLCBzaXplb2Yg KFBUQSkpOwkgICAgLyogeyBkZy13YXJuaW5nICJjYWxsIGlzIHRoZSBzYW1l IHBvaW50ZXIgdHlwZSBcW15cblxyXF0qIGFzIHRoZSBzZWNvbmQgc291cmNl OyBleHBlY3RlZCBcW15cblxyXF0qIG9yIGFuIGV4cGxpY2l0IGxlbmd0aCIg fSAqLw0KICAgeiArPSBiY21wICh4LCBwYTMsIHNpemVvZiAoUEEpKTsJICAg IC8qIHsgZGctd2FybmluZyAiY2FsbCBpcyB0aGUgc2FtZSBwb2ludGVyIHR5 cGUgXFteXG5cclxdKiBhcyB0aGUgc2Vjb25kIHNvdXJjZTsgZXhwZWN0ZWQg XFteXG5cclxdKiBvciBhbiBleHBsaWNpdCBsZW5ndGgiIH0gKi8NCiANCisg IHogKz0gYmNtcCAoeCwgKCZhKSwgKHNpemVvZiAoJmEpKSk7CSAgICAvKiB7 IGRnLXdhcm5pbmcgImNhbGwgaXMgdGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0 aGUgc2Vjb25kIHNvdXJjZTsgZGlkIHlvdSBtZWFuIHRvIHJlbW92ZSB0aGUg YWRkcmVzc29mIiB9ICovDQorICB6ICs9IGJjbXAgKHgsIChwYTEpLCAoc2l6 ZW9mIChwYTEpKSk7CSAgICAvKiB7IGRnLXdhcm5pbmcgImNhbGwgaXMgdGhl IHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgc2Vjb25kIHNvdXJjZTsgZGlkIHlv dSBtZWFuIHRvIGRlcmVmZXJlbmNlIGl0IiB9ICovDQorICB6ICs9IGJjbXAg KHgsIChwYTIpLCAoc2l6ZW9mIHBhMikpOwkgICAgLyogeyBkZy13YXJuaW5n ICJjYWxsIGlzIHRoZSBzYW1lIGV4cHJlc3Npb24gYXMgdGhlIHNlY29uZCBz b3VyY2U7IGRpZCB5b3UgbWVhbiB0byBkZXJlZmVyZW5jZSBpdCIgfSAqLw0K KyAgeiArPSBiY21wICh4LCAocGEzKSwgKHNpemVvZiAocGEzKSkpOwkgICAg LyogeyBkZy13YXJuaW5nICJjYWxsIGlzIHRoZSBzYW1lIGV4cHJlc3Npb24g YXMgdGhlIHNlY29uZCBzb3VyY2U7IGRpZCB5b3UgbWVhbiB0byBkZXJlZmVy ZW5jZSBpdCIgfSAqLw0KKyAgeiArPSBiY21wICh4LCAocGE0KSwgKHNpemVv ZiBwYTQpKTsJICAgIC8qIHsgZGctd2FybmluZyAiY2FsbCBpcyB0aGUgc2Ft ZSBleHByZXNzaW9uIGFzIHRoZSBzZWNvbmQgc291cmNlOyBkaWQgeW91IG1l YW4gdG8gZGVyZWZlcmVuY2UgaXQiIH0gKi8NCisgIHogKz0gYmNtcCAoeCwg KHBhMSksIChzaXplb2YgKHN0cnVjdCBBICopKSk7LyogeyBkZy13YXJuaW5n ICJjYWxsIGlzIHRoZSBzYW1lIHBvaW50ZXIgdHlwZSBcW15cblxyXF0qIGFz IHRoZSBzZWNvbmQgc291cmNlOyBleHBlY3RlZCBcW15cblxyXF0qIG9yIGFu IGV4cGxpY2l0IGxlbmd0aCIgfSAqLw0KKyAgeiArPSBiY21wICh4LCAocGEy KSwgKHNpemVvZiAoUFRBKSkpOwkgICAgLyogeyBkZy13YXJuaW5nICJjYWxs IGlzIHRoZSBzYW1lIHBvaW50ZXIgdHlwZSBcW15cblxyXF0qIGFzIHRoZSBz ZWNvbmQgc291cmNlOyBleHBlY3RlZCBcW15cblxyXF0qIG9yIGFuIGV4cGxp Y2l0IGxlbmd0aCIgfSAqLw0KKyAgeiArPSBiY21wICh4LCAocGEzKSwgKHNp emVvZiAoUEEpKSk7CSAgICAvKiB7IGRnLXdhcm5pbmcgImNhbGwgaXMgdGhl IHNhbWUgcG9pbnRlciB0eXBlIFxbXlxuXHJcXSogYXMgdGhlIHNlY29uZCBz b3VyY2U7IGV4cGVjdGVkIFxbXlxuXHJcXSogb3IgYW4gZXhwbGljaXQgbGVu Z3RoIiB9ICovDQorDQogICAvKiBUaGVzZSBhcmUgY29ycmVjdCwgbm8gd2Fy bmluZy4gICovDQogICBiemVybyAoJmEsIHNpemVvZiBhKTsNCiAgIGJ6ZXJv ICgmYSwgc2l6ZW9mIChhKSk7DQpJbmRleDogZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdG9ydHVyZS9Xc2l6ZW9mLXBvaW50ZXItbWVtYWNjZXNzMS5jDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQotLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dG9ydHVyZS9Xc2l6ZW9mLXBvaW50ZXItbWVtYWNjZXNzMS5jCShyZXZpc2lv biAyNDY0ODIpDQorKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdG9ydHVyZS9X c2l6ZW9mLXBvaW50ZXItbWVtYWNjZXNzMS5jCSh3b3JraW5nIGNvcHkpDQpA QCAtMTUwLDYgKzE1MCwxNSBAQCBmMSAodm9pZCAqeCwgaW50IHopDQogICB6 ICs9IG1lbWNtcCAoeCwgcGEyLCBzaXplb2YgKFBUQSkpOyAgICAgICAvKiB7 IGRnLXdhcm5pbmcgImNhbGwgaXMgdGhlIHNhbWUgcG9pbnRlciB0eXBlIFxb XlxuXHJcXSogYXMgdGhlIHNlY29uZCBzb3VyY2U7IGV4cGVjdGVkIFxbXlxu XHJcXSogb3IgYW4gZXhwbGljaXQgbGVuZ3RoIiB9ICovDQogICB6ICs9IG1l bWNtcCAoeCwgcGEzLCBzaXplb2YgKFBBKSk7CSAgICAvKiB7IGRnLXdhcm5p bmcgImNhbGwgaXMgdGhlIHNhbWUgcG9pbnRlciB0eXBlIFxbXlxuXHJcXSog YXMgdGhlIHNlY29uZCBzb3VyY2U7IGV4cGVjdGVkIFxbXlxuXHJcXSogb3Ig YW4gZXhwbGljaXQgbGVuZ3RoIiB9ICovDQogDQorICB6ICs9IG1lbWNtcCAo eCwgKCZhKSwgKHNpemVvZiAoJmEpKSk7CSAgICAvKiB7IGRnLXdhcm5pbmcg ImNhbGwgaXMgdGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgc2Vjb25kIHNv dXJjZTsgZGlkIHlvdSBtZWFuIHRvIHJlbW92ZSB0aGUgYWRkcmVzc29mIiB9 ICovDQorICB6ICs9IG1lbWNtcCAoeCwgKHBhMSksIChzaXplb2YgKHBhMSkp KTsgICAvKiB7IGRnLXdhcm5pbmcgImNhbGwgaXMgdGhlIHNhbWUgZXhwcmVz c2lvbiBhcyB0aGUgc2Vjb25kIHNvdXJjZTsgZGlkIHlvdSBtZWFuIHRvIGRl cmVmZXJlbmNlIGl0IiB9ICovDQorICB6ICs9IG1lbWNtcCAoeCwgKHBhMiks IChzaXplb2YgcGEyKSk7CSAgICAvKiB7IGRnLXdhcm5pbmcgImNhbGwgaXMg dGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgc2Vjb25kIHNvdXJjZTsgZGlk IHlvdSBtZWFuIHRvIGRlcmVmZXJlbmNlIGl0IiB9ICovDQorICB6ICs9IG1l bWNtcCAoeCwgKHBhMyksIChzaXplb2YgKHBhMykpKTsgICAvKiB7IGRnLXdh cm5pbmcgImNhbGwgaXMgdGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgc2Vj b25kIHNvdXJjZTsgZGlkIHlvdSBtZWFuIHRvIGRlcmVmZXJlbmNlIGl0IiB9 ICovDQorICB6ICs9IG1lbWNtcCAoeCwgKHBhNCksIChzaXplb2YgcGE0KSk7 CSAgICAvKiB7IGRnLXdhcm5pbmcgImNhbGwgaXMgdGhlIHNhbWUgZXhwcmVz c2lvbiBhcyB0aGUgc2Vjb25kIHNvdXJjZTsgZGlkIHlvdSBtZWFuIHRvIGRl cmVmZXJlbmNlIGl0IiB9ICovDQorICB6ICs9IG1lbWNtcCAoeCwgKHBhMSks IChzaXplb2YgKHN0cnVjdCBBICopKSk7LyogeyBkZy13YXJuaW5nICJjYWxs IGlzIHRoZSBzYW1lIHBvaW50ZXIgdHlwZSBcW15cblxyXF0qIGFzIHRoZSBz ZWNvbmQgc291cmNlOyBleHBlY3RlZCBcW15cblxyXF0qIG9yIGFuIGV4cGxp Y2l0IGxlbmd0aCIgfSAqLw0KKyAgeiArPSBtZW1jbXAgKHgsIChwYTIpLCAo c2l6ZW9mIChQVEEpKSk7ICAgLyogeyBkZy13YXJuaW5nICJjYWxsIGlzIHRo ZSBzYW1lIHBvaW50ZXIgdHlwZSBcW15cblxyXF0qIGFzIHRoZSBzZWNvbmQg c291cmNlOyBleHBlY3RlZCBcW15cblxyXF0qIG9yIGFuIGV4cGxpY2l0IGxl bmd0aCIgfSAqLw0KKyAgeiArPSBtZW1jbXAgKHgsIChwYTMpLCAoc2l6ZW9m IChQQSkpKTsgICAgLyogeyBkZy13YXJuaW5nICJjYWxsIGlzIHRoZSBzYW1l IHBvaW50ZXIgdHlwZSBcW15cblxyXF0qIGFzIHRoZSBzZWNvbmQgc291cmNl OyBleHBlY3RlZCBcW15cblxyXF0qIG9yIGFuIGV4cGxpY2l0IGxlbmd0aCIg fSAqLw0KKw0KICAgLyogVGhlc2UgYXJlIGNvcnJlY3QsIG5vIHdhcm5pbmcu ICAqLw0KICAgbWVtc2V0ICgmYSwgMCwgc2l6ZW9mIGEpOw0KICAgbWVtc2V0 ICgmYSwgMCwgc2l6ZW9mIChhKSk7DQpJbmRleDogZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2kzODYvc3NlLWluaXQtdjRoaS0xLmMNCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NCi0tLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4 Ni9zc2UtaW5pdC12NGhpLTEuYwkocmV2aXNpb24gMjQ2NDgyKQ0KKysrIGdj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3NzZS1pbml0LXY0aGktMS5j CSh3b3JraW5nIGNvcHkpDQpAQCAtMTcsMTMgKzE3LDEzIEBAIGNoZWNrIChf X202NCB4LCB1bnNpZ25lZCBzaG9ydCAqdiwgaW50IGopDQogICB1bmlvbg0K ICAgICB7DQogICAgICAgX19tNjQgeDsNCi0gICAgICB1bnNpZ25lZCBzaG9y dCBpWzhdOw0KKyAgICAgIHVuc2lnbmVkIHNob3J0IGlbNF07DQogICAgIH0g dTsNCiAgIHVuc2lnbmVkIGludCBpOw0KIA0KICAgdS54ID0geDsNCiAgIA0K LSAgZm9yIChpID0gMDsgaSA8IHNpemVvZiAodikgLyBzaXplb2YgKHZbMF0p OyBpKyspDQorICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mICh1KSAvIHNpemVv ZiAodlswXSk7IGkrKykNCiAgICAgaWYgKGkgPT0gaikNCiAgICAgICB7DQog CWlmICh2W2ldICE9IHUuaVtpXSkNCkluZGV4OiBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvaTM4Ni9zc2UtaW5pdC12NHNmLTEuYw0KPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQ0KLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2 L3NzZS1pbml0LXY0c2YtMS5jCShyZXZpc2lvbiAyNDY0ODIpDQorKysgZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlLWluaXQtdjRzZi0xLmMJ KHdvcmtpbmcgY29weSkNCkBAIC0yMyw3ICsyMyw3IEBAIGNoZWNrIChfX20x MjggeCwgZmxvYXQgKnYsIGludCBqKQ0KIA0KICAgdS54ID0geDsNCiAgIA0K LSAgZm9yIChpID0gMDsgaSA8IHNpemVvZiAodikgLyBzaXplb2YgKHZbMF0p OyBpKyspDQorICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mICh1KSAvIHNpemVv ZiAodlswXSk7IGkrKykNCiAgICAgaWYgKGkgPT0gaikNCiAgICAgICB7DQog CWlmICh2W2ldICE9IHUuZltpXSkNCkluZGV4OiBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvaTM4Ni9zc2Utc2V0LXBzLTEuYw0KPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3Nz ZS1zZXQtcHMtMS5jCShyZXZpc2lvbiAyNDY0ODIpDQorKysgZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlLXNldC1wcy0xLmMJKHdvcmtpbmcg Y29weSkNCkBAIC0yMyw3ICsyMyw3IEBAIHRlc3QgKGZsb2F0ICp2KQ0KICAg DQogICB1LnggPSBfbW1fc2V0X3BzICh2WzNdLCB2WzJdLCB2WzFdLCB2WzBd KTsNCiANCi0gIGZvciAoaSA9IDA7IGkgPCBzaXplb2YgKHYpIC8gc2l6ZW9m ICh2WzBdKTsgaSsrKQ0KKyAgZm9yIChpID0gMDsgaSA8IHNpemVvZiAodSkg LyBzaXplb2YgKHZbMF0pOyBpKyspDQogICAgIGlmICh2W2ldICE9IHUuZltp XSkNCiAgICAgICB7DQogI2lmZGVmIERFQlVHDQpJbmRleDogZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlMi1pbml0LXYxNnFpLTEuYw0KPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L3NzZTItaW5pdC12MTZxaS0xLmMJKHJldmlzaW9uIDI0NjQ4 MikNCisrKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2UyLWlu aXQtdjE2cWktMS5jCSh3b3JraW5nIGNvcHkpDQpAQCAtMjMsNyArMjMsNyBA QCBjaGVjayAoX19tMTI4aSB4LCB1bnNpZ25lZCBjaGFyICp2LCBpbnQgaikN CiANCiAgIHUueCA9IHg7DQogICANCi0gIGZvciAoaSA9IDA7IGkgPCBzaXpl b2YgKHYpIC8gc2l6ZW9mICh2WzBdKTsgaSsrKQ0KKyAgZm9yIChpID0gMDsg aSA8IHNpemVvZiAodSkgLyBzaXplb2YgKHZbMF0pOyBpKyspDQogICAgIGlm IChpID09IGopDQogICAgICAgew0KIAlpZiAodltpXSAhPSB1LmlbaV0pDQpJ bmRleDogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlMi1pbml0 LXYyZGktMS5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlMi1pbml0LXYyZGktMS5jCShy ZXZpc2lvbiAyNDY0ODIpDQorKysgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvc3NlMi1pbml0LXYyZGktMS5jCSh3b3JraW5nIGNvcHkpDQpAQCAt MjMsNyArMjMsNyBAQCBjaGVjayAoX19tMTI4aSB4LCB1bnNpZ25lZCBsb25n IGxvbmcgKnYsIGludCBqKQ0KIA0KICAgdS54ID0geDsNCiAgIA0KLSAgZm9y IChpID0gMDsgaSA8IHNpemVvZiAodikgLyBzaXplb2YgKHZbMF0pOyBpKysp DQorICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mICh1KSAvIHNpemVvZiAodlsw XSk7IGkrKykNCiAgICAgaWYgKGkgPT0gaikNCiAgICAgICB7DQogCWlmICh2 W2ldICE9IHUuaVtpXSkNCkluZGV4OiBnY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvaTM4Ni9zc2UyLWluaXQtdjRzaS0xLmMNCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NCi0tLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2Uy LWluaXQtdjRzaS0xLmMJKHJldmlzaW9uIDI0NjQ4MikNCisrKyBnY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2UyLWluaXQtdjRzaS0xLmMJKHdv cmtpbmcgY29weSkNCkBAIC0yMyw3ICsyMyw3IEBAIGNoZWNrIChfX20xMjhp IHgsIHVuc2lnbmVkIGludCAqdiwgaW50IGopDQogDQogICB1LnggPSB4Ow0K ICAgDQotICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mICh2KSAvIHNpemVvZiAo dlswXSk7IGkrKykNCisgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YgKHUpIC8g c2l6ZW9mICh2WzBdKTsgaSsrKQ0KICAgICBpZiAoaSA9PSBqKQ0KICAgICAg IHsNCiAJaWYgKHZbaV0gIT0gdS5pW2ldKQ0KSW5kZXg6IGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9pMzg2L3NzZTItaW5pdC12OGhpLTEuYw0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9pMzg2L3NzZTItaW5pdC12OGhpLTEuYwkocmV2aXNpb24gMjQ2NDgyKQ0K KysrIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3NzZTItaW5pdC12 OGhpLTEuYwkod29ya2luZyBjb3B5KQ0KQEAgLTIzLDcgKzIzLDcgQEAgY2hl Y2sgKF9fbTEyOGkgeCwgdW5zaWduZWQgc2hvcnQgKnYsIGludCBqKQ0KIA0K ICAgdS54ID0geDsNCiAgIA0KLSAgZm9yIChpID0gMDsgaSA8IHNpemVvZiAo dikgLyBzaXplb2YgKHZbMF0pOyBpKyspDQorICBmb3IgKGkgPSAwOyBpIDwg c2l6ZW9mICh1KSAvIHNpemVvZiAodlswXSk7IGkrKykNCiAgICAgaWYgKGkg PT0gaikNCiAgICAgICB7DQogCWlmICh2W2ldICE9IHUuaVtpXSkNCkluZGV4 OiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2UyLXNldC1lcGkz Mi0xLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBnY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvaTM4Ni9zc2UyLXNldC1lcGkzMi0xLmMJKHJldmlz aW9uIDI0NjQ4MikNCisrKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4 Ni9zc2UyLXNldC1lcGkzMi0xLmMJKHdvcmtpbmcgY29weSkNCkBAIC0yMyw3 ICsyMyw3IEBAIHRlc3QgKHVuc2lnbmVkIGludCAqdikNCiAgIA0KICAgdS54 ID0gX21tX3NldF9lcGkzMiAodlszXSwgdlsyXSwgdlsxXSwgdlswXSk7DQog DQotICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mICh2KSAvIHNpemVvZiAodlsw XSk7IGkrKykNCisgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YgKHUpIC8gc2l6 ZW9mICh2WzBdKTsgaSsrKQ0KICAgICBpZiAodltpXSAhPSB1LmlbaV0pDQog ICAgICAgew0KICNpZmRlZiBERUJVRw0KSW5kZXg6IGdjYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9pMzg2L3NzZTItc2V0LWVwaTY0eC0xLmMNCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NCi0tLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv aTM4Ni9zc2UyLXNldC1lcGk2NHgtMS5jCShyZXZpc2lvbiAyNDY0ODIpDQor KysgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlMi1zZXQtZXBp NjR4LTEuYwkod29ya2luZyBjb3B5KQ0KQEAgLTIzLDcgKzIzLDcgQEAgdGVz dCAodW5zaWduZWQgbG9uZyBsb25nICp2KQ0KICAgDQogICB1LnggPSBfbW1f c2V0X2VwaTY0eCAodlsxXSwgdlswXSk7DQogDQotICBmb3IgKGkgPSAwOyBp IDwgc2l6ZW9mICh2KSAvIHNpemVvZiAodlswXSk7IGkrKykNCisgIGZvciAo aSA9IDA7IGkgPCBzaXplb2YgKHUpIC8gc2l6ZW9mICh2WzBdKTsgaSsrKQ0K ICAgICBpZiAodltpXSAhPSB1LmlbaV0pDQogICAgICAgew0KICNpZmRlZiBE RUJVRw0KSW5kZXg6IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3Nz ZTRfMS1pbml0LXYxNnFpLTEuYw0KPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K LS0tIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3NzZTRfMS1pbml0 LXYxNnFpLTEuYwkocmV2aXNpb24gMjQ2NDgyKQ0KKysrIGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9pMzg2L3NzZTRfMS1pbml0LXYxNnFpLTEuYwkod29y a2luZyBjb3B5KQ0KQEAgLTIzLDcgKzIzLDcgQEAgY2hlY2sgKF9fbTEyOGkg eCwgdW5zaWduZWQgY2hhciAqdiwgaW50IGopDQogDQogICB1LnggPSB4Ow0K ICAgDQotICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mICh2KSAvIHNpemVvZiAo dlswXSk7IGkrKykNCisgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YgKHUpIC8g c2l6ZW9mICh2WzBdKTsgaSsrKQ0KICAgICBpZiAoaSA9PSBqKQ0KICAgICAg IHsNCiAJaWYgKHZbaV0gIT0gdS5pW2ldKQ0KSW5kZXg6IGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9pMzg2L3NzZTRfMS1pbml0LXYyZGktMS5jDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQotLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvc3NlNF8xLWluaXQtdjJkaS0xLmMJKHJldmlzaW9uIDI0NjQ4 MikNCisrKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2U0XzEt aW5pdC12MmRpLTEuYwkod29ya2luZyBjb3B5KQ0KQEAgLTIzLDcgKzIzLDcg QEAgY2hlY2sgKF9fbTEyOGkgeCwgdW5zaWduZWQgbG9uZyBsb25nICp2LCBp bnQgaikNCiANCiAgIHUueCA9IHg7DQogICANCi0gIGZvciAoaSA9IDA7IGkg PCBzaXplb2YgKHYpIC8gc2l6ZW9mICh2WzBdKTsgaSsrKQ0KKyAgZm9yIChp ID0gMDsgaSA8IHNpemVvZiAodSkgLyBzaXplb2YgKHZbMF0pOyBpKyspDQog ICAgIGlmIChpID09IGopDQogICAgICAgew0KIAlpZiAodltpXSAhPSB1Lmlb aV0pDQpJbmRleDogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3Nl NF8xLWluaXQtdjRzZi0xLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t LSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2U0XzEtaW5pdC12 NHNmLTEuYwkocmV2aXNpb24gMjQ2NDgyKQ0KKysrIGdjYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9pMzg2L3NzZTRfMS1pbml0LXY0c2YtMS5jCSh3b3JraW5n IGNvcHkpDQpAQCAtMjMsNyArMjMsNyBAQCBjaGVjayAoX19tMTI4IHgsIGZs b2F0ICp2LCBpbnQgaikNCiANCiAgIHUueCA9IHg7DQogICANCi0gIGZvciAo aSA9IDA7IGkgPCBzaXplb2YgKHYpIC8gc2l6ZW9mICh2WzBdKTsgaSsrKQ0K KyAgZm9yIChpID0gMDsgaSA8IHNpemVvZiAodSkgLyBzaXplb2YgKHZbMF0p OyBpKyspDQogICAgIGlmIChpID09IGopDQogICAgICAgew0KIAlpZiAodltp XSAhPSB1LmZbaV0pDQpJbmRleDogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvc3NlNF8xLWluaXQtdjRzaS0xLmMNCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NCi0tLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2U0 XzEtaW5pdC12NHNpLTEuYwkocmV2aXNpb24gMjQ2NDgyKQ0KKysrIGdjYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3NzZTRfMS1pbml0LXY0c2ktMS5j CSh3b3JraW5nIGNvcHkpDQpAQCAtMjMsNyArMjMsNyBAQCBjaGVjayAoX19t MTI4aSB4LCB1bnNpZ25lZCBpbnQgKnYsIGludCBqKQ0KIA0KICAgdS54ID0g eDsNCiAgIA0KLSAgZm9yIChpID0gMDsgaSA8IHNpemVvZiAodikgLyBzaXpl b2YgKHZbMF0pOyBpKyspDQorICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mICh1 KSAvIHNpemVvZiAodlswXSk7IGkrKykNCiAgICAgaWYgKGkgPT0gaikNCiAg ICAgICB7DQogCWlmICh2W2ldICE9IHUuaVtpXSkNCkluZGV4OiBnY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2U0XzEtc2V0LWVwaTMyLTEuYw0K PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGdjYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9pMzg2L3NzZTRfMS1zZXQtZXBpMzItMS5jCShyZXZpc2lvbiAy NDY0ODIpDQorKysgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3Nl NF8xLXNldC1lcGkzMi0xLmMJKHdvcmtpbmcgY29weSkNCkBAIC0yMyw3ICsy Myw3IEBAIHRlc3QgKHVuc2lnbmVkIGludCAqdikNCiAgIA0KICAgdS54ID0g X21tX3NldF9lcGkzMiAodlszXSwgdlsyXSwgdlsxXSwgdlswXSk7DQogDQot ICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mICh2KSAvIHNpemVvZiAodlswXSk7 IGkrKykNCisgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YgKHUpIC8gc2l6ZW9m ICh2WzBdKTsgaSsrKQ0KICAgICBpZiAodltpXSAhPSB1LmlbaV0pDQogICAg ICAgew0KICNpZmRlZiBERUJVRw0KSW5kZXg6IGdjYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9pMzg2L3NzZTRfMS1zZXQtZXBpNjR4LTEuYw0KPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L3NzZTRfMS1zZXQtZXBpNjR4LTEuYwkocmV2aXNpb24gMjQ2NDgyKQ0K KysrIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3NzZTRfMS1zZXQt ZXBpNjR4LTEuYwkod29ya2luZyBjb3B5KQ0KQEAgLTIzLDcgKzIzLDcgQEAg dGVzdCAodW5zaWduZWQgbG9uZyBsb25nICp2KQ0KICAgDQogICB1LnggPSBf bW1fc2V0X2VwaTY0eCAodlsxXSwgdlswXSk7DQogDQotICBmb3IgKGkgPSAw OyBpIDwgc2l6ZW9mICh2KSAvIHNpemVvZiAodlswXSk7IGkrKykNCisgIGZv ciAoaSA9IDA7IGkgPCBzaXplb2YgKHUpIC8gc2l6ZW9mICh2WzBdKTsgaSsr KQ0KICAgICBpZiAodltpXSAhPSB1LmlbaV0pDQogICAgICAgew0KICNpZmRl ZiBERUJVRw0KSW5kZXg6IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2 L3NzZTRfMS1zZXQtcHMtMS5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot LS0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlNF8xLXNldC1w cy0xLmMJKHJldmlzaW9uIDI0NjQ4MikNCisrKyBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvaTM4Ni9zc2U0XzEtc2V0LXBzLTEuYwkod29ya2luZyBjb3B5 KQ0KQEAgLTIzLDcgKzIzLDcgQEAgdGVzdCAoZmxvYXQgKnYpDQogICANCiAg IHUueCA9IF9tbV9zZXRfcHMgKHZbM10sIHZbMl0sIHZbMV0sIHZbMF0pOw0K IA0KLSAgZm9yIChpID0gMDsgaSA8IHNpemVvZiAodikgLyBzaXplb2YgKHZb MF0pOyBpKyspDQorICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mICh1KSAvIHNp emVvZiAodlswXSk7IGkrKykNCiAgICAgaWYgKHZbaV0gIT0gdS5mW2ldKQ0K ICAgICAgIHsNCiAjaWZkZWYgREVCVUcNCkluZGV4OiBsaWJnb21wL3Rlc3Rz dWl0ZS9saWJnb21wLmMvcHIzOTU5MS0yLmMNCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NCi0tLSBsaWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmMvcHIzOTU5 MS0yLmMJKHJldmlzaW9uIDI0NjQ4MikNCisrKyBsaWJnb21wL3Rlc3RzdWl0 ZS9saWJnb21wLmMvcHIzOTU5MS0yLmMJKHdvcmtpbmcgY29weSkNCkBAIC0x MSw3ICsxMSw3IEBAIGZvbyAoaW50ICphcnJheSkNCiAjcHJhZ21hIG9tcCB0 YXNrDQogICB7DQogICAgIGludCBqOw0KLSAgICBmb3IgKGogPSAwOyBqIDwg c2l6ZW9mIGFycmF5IC8gc2l6ZW9mIGFycmF5WzBdOyBqKyspDQorICAgIGZv ciAoaiA9IDA7IGogPCA0MDsgaisrKQ0KICAgICAgIGlmIChhcnJheVtqXSAh PSAweDU1NTU1NTU1KQ0KICNwcmFnbWEgb21wIGF0b21pYw0KIAllcnIrKzsN CkluZGV4OiBsaWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmMvcHIzOTU5MS0z LmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBsaWJnb21wL3Rlc3Rz dWl0ZS9saWJnb21wLmMvcHIzOTU5MS0zLmMJKHJldmlzaW9uIDI0NjQ4MikN CisrKyBsaWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmMvcHIzOTU5MS0zLmMJ KHdvcmtpbmcgY29weSkNCkBAIC0xMSw3ICsxMSw3IEBAIGZvbyAoaW50ICph cnJheSkNCiAjcHJhZ21hIG9tcCB0YXNrDQogICB7DQogICAgIGludCBqOw0K LSAgICBmb3IgKGogPSAwOyBqIDwgc2l6ZW9mIGFycmF5IC8gc2l6ZW9mIGFy cmF5WzBdOyBqKyspDQorICAgIGZvciAoaiA9IDA7IGogPCA0MDsgaisrKQ0K ICAgICAgIGlmIChhcnJheVtqXSAhPSAweDU1NTU1NTU1KQ0KICNwcmFnbWEg b21wIGF0b21pYw0KIAllcnIrKzsNCg== --_003_HE1PR0701MB2169D85858BE3B158B4CD3DBE41D0HE1PR0701MB2169_--