Received: by 2002:a05:7412:98c1:b0:fa:551:50a7 with SMTP id kc1csp1626559rdb; Mon, 8 Jan 2024 05:35:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IGluSptDEigao1rNMe9x/SU0Gp6nv68UYxmtELfWbwZcVnMAIAvz0eh9b3ulZARum3HzTWh X-Received: by 2002:a05:6e02:1ca7:b0:35f:f506:765e with SMTP id x7-20020a056e021ca700b0035ff506765emr5681319ill.16.1704720917782; Mon, 08 Jan 2024 05:35:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1704720917; cv=none; d=google.com; s=arc-20160816; b=yDXBwbLJ407NZi0mZCiG+uUD27o8AUVL2YCVQgGbXiyZrkjfalyi9uC6Ca11tqraAA pSbHX+G5Ro2fCFocDBi2CyVadH7EVouJH4ko3BbgwfK4bkhimSCqZybWiaSCcqn+4g9r o9exqNZnotmMw6hbsrHfug9SBsOyBPcxFYdXzmZicm3ZVDC/vdYhpS6/WVAoRDivmXPt SGEDgxbxy3LhUStWlETmz46iZc/UMz0u0VVFIZoTc8RDUEEm9LezPP6r2Iq/c4dxRuze Ud4npthv45DJ0qdKnWfLJvKIGU6geGc0+0I6Ou7SyO20kJMNWytDZGYcZ2i8e9TqqhcD Y6bg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:accept-language :in-reply-to:references:message-id:date:thread-index:thread-topic :subject:cc:to:from; bh=4GYcBWIpLDzzdcux8u2FQjw6qd4bWgDnM5N6b1mpJ40=; fh=1VkQYUT+TSAWNjQVdS6/+6MAl49LjDVRCq/Ko5F+ROE=; b=YzqRzRgl/UxxDW76lZRPHw5ibnChN5TSmVokcZXb3ZmCZSo5EqmZ5AE5+uoRGFt0Bb ZU4u8XGeuXOzGqF//lq+8KxQSKWnX0G+yh3qFVB8/jtFynH7DfQqDBw6V+ZGxSrZUs42 HF2NT8cUHLOMS0T69iUVapP8Z4j/ztbGumsVh3mstmQD/QnBTabMHuPMFLrxcth3Qqn8 aaIGM26xve17kpbY4MDxZ3cSNZ2d1UfyZke8+uBIa+Z9I2NeZh1U1KSEDB8YrhrPMUCe DGI9Sa+2FUR8ngAUAL0JAUhuV+bjTOnBNI7zaD/gf3v3fneCVqqtk0dKQrCZS2Fqa/j4 uoPg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-19625-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-19625-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id z3-20020a633303000000b005cdc5c70fd5si5935834pgz.531.2024.01.08.05.35.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Jan 2024 05:35:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-19625-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-19625-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-19625-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3E1A4282F49 for ; Mon, 8 Jan 2024 13:35:17 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 2869244C92; Mon, 8 Jan 2024 13:35:12 +0000 (UTC) X-Original-To: linux-kernel@vger.kernel.org Received: from eu-smtp-delivery-151.mimecast.com (eu-smtp-delivery-151.mimecast.com [185.58.86.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8E9D544C80 for ; Mon, 8 Jan 2024 13:35:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ACULAB.COM Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=aculab.com Received: from AcuMS.aculab.com (156.67.243.121 [156.67.243.121]) by relay.mimecast.com with ESMTP with both STARTTLS and AUTH (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id uk-mta-401-rx3PGZ5KN0axv6x_9_gT7g-1; Mon, 08 Jan 2024 13:35:01 +0000 X-MC-Unique: rx3PGZ5KN0axv6x_9_gT7g-1 Received: from AcuMS.Aculab.com (10.202.163.4) by AcuMS.aculab.com (10.202.163.4) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Mon, 8 Jan 2024 13:34:36 +0000 Received: from AcuMS.Aculab.com ([::1]) by AcuMS.aculab.com ([::1]) with mapi id 15.00.1497.048; Mon, 8 Jan 2024 13:34:36 +0000 From: David Laight To: 'Jiri Slaby' , "linux-kernel@vger.kernel.org" CC: Linus Torvalds , 'Andy Shevchenko' , 'Andrew Morton' , "'Matthew Wilcox (Oracle)'" , 'Christoph Hellwig' , "'Jason A. Donenfeld'" Subject: RE: [PATCH next v4 0/5] minmax: Relax type checks in min() and max(). Thread-Topic: [PATCH next v4 0/5] minmax: Relax type checks in min() and max(). Thread-Index: AdnqB/CwAvMQ3gkdSO607JUF4aSKdhYIFqaAAALCfrA= Date: Mon, 8 Jan 2024 13:34:36 +0000 Message-ID: <147531551ec54a558c91bbef47f035c8@AcuMS.aculab.com> References: <18c6df0d-45ed-450c-9eda-95160a2bbb8e@gmail.com> In-Reply-To: <18c6df0d-45ed-450c-9eda-95160a2bbb8e@gmail.com> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 RnJvbTogSmlyaSBTbGFieSA8amlyaXNsYWJ5QGdtYWlsLmNvbT4NCj4gU2VudDogMDggSmFudWFy eSAyMDI0IDExOjQ2DQo+IA0KPiBIaSwNCj4gDQo+IE9uIDE4LiAwOS4gMjMsIDEwOjE0LCBEYXZp ZCBMYWlnaHQgd3JvdGU6DQo+ID4gVGhlIG1pbigpIChldGMpIGZ1bmN0aW9ucyBpbiBtaW5tYXgu aCByZXF1aXJlIHRoYXQgdGhlIGFyZ3VtZW50cyBoYXZlDQo+ID4gZXhhY3RseSB0aGUgc2FtZSB0 eXBlcy4NCj4gPg0KPiA+IEhvd2V2ZXIgd2hlbiB0aGUgdHlwZSBjaGVjayBmYWlscywgcmF0aGVy IHRoYW4gbG9vayBhdCB0aGUgdHlwZXMgYW5kDQo+ID4gZml4IHRoZSB0eXBlIG9mIGEgdmFyaWFi bGUvY29uc3RhbnQsIGV2ZXJ5b25lIHNlZW1zIHRvIGp1bXAgb24gbWluX3QoKS4NCj4gPiBJbiBy ZWFsaXR5IG1pbl90KCkgb3VnaHQgdG8gYmUgcmFyZSAtIHdoZW4gc29tZXRoaW5nIHVudXN1YWwg aXMgYmVpbmcNCj4gPiBkb25lLCBub3Qgbm9ybWFsaXR5Lg0KPiAuLi4NCj4gPiBEYXZpZCBMYWln aHQgKDUpOg0KPiA+ICAgIG1pbm1heDogQWRkIHVtaW4oYSwgYikgYW5kIHVtYXgoYSwgYikNCj4g PiAgICBtaW5tYXg6IEFsbG93IG1pbigpL21heCgpL2NsYW1wKCkgaWYgdGhlIGFyZ3VtZW50cyBo YXZlIHRoZSBzYW1lDQo+ID4gICAgICBzaWduZWRuZXNzLg0KPiA+ICAgIG1pbm1heDogRml4IGlu ZGVudGF0aW9uIG9mIF9fY21wX29uY2UoKSBhbmQgX19jbGFtcF9vbmNlKCkNCj4gPiAgICBtaW5t YXg6IEFsbG93IGNvbXBhcmlzb25zIG9mICdpbnQnIGFnYWluc3QgJ3Vuc2lnbmVkIGNoYXIvc2hv cnQnLg0KPiA+ICAgIG1pbm1heDogUmVsYXggY2hlY2sgdG8gYWxsb3cgY29tcGFyaXNvbiBiZXR3 ZWVuIHVuc2lnbmVkIGFyZ3VtZW50cyBhbmQNCj4gPiAgICAgIHNpZ25lZCBjb25zdGFudHMuDQo+ IA0KPiBUaGlzIHNsb3dzIGRvd24gdGhlIGJ1aWxkIGFuZCBpbmNyZWFzZXMgdGhlIGJ1aWxkIG1l bW9yeSBjb25zdW1wdGlvbiBzbw0KPiB0aGF0IGl0IGNhdXNlcyBPT01zLg0KPiANCj4gSW4gcGFy dGljdWxhciA2Ljc6DQo+ICQgdGltZSBtYWtlIGRyaXZlcnMvbWVkaWEvcGNpL3NvbG82eDEwL3Nv bG82eDEwLXAybS5pDQo+IC4uLg0KPiAgICBDUFAgW01dIGRyaXZlcnMvbWVkaWEvcGNpL3NvbG82 eDEwL3NvbG82eDEwLXAybS5pDQo+IHJlYWwgICAgMG00NSwwMDJzDQo+IHVzZXIgICAgMG00MCw4 NDBzDQo+IHN5cyAgICAgMG01LDkyMnMNCj4gDQo+IA0KPiAkIGdpdCByZXZlcnQgODY3MDQ2Y2M3 MDI3NzAzZjYwYTQ2MzM5ZmZkZTkxYTE5NzBmMjkwMQ0KPiAkIHRpbWUgbWFrZSBkcml2ZXJzL21l ZGlhL3BjaS9zb2xvNngxMC9zb2xvNngxMC1wMm0uaQ0KPiAuLi4NCj4gICAgQ1BQIFtNXSBkcml2 ZXJzL21lZGlhL3BjaS9zb2xvNngxMC9zb2xvNngxMC1wMm0uaQ0KPiByZWFsICAgIDBtMTEsMTMy cw0KPiB1c2VyICAgIDBtOSw3MzdzDQo+IHN5cyAgICAgMG0xLDQxNXMNCj4gDQo+IA0KPiAkIGdp dCByZXZlcnQgNGVhZDUzNGZiYTQyZmM0ZmQ0MTE2MzI5NzUyOGQyYWE3MzFjZDEyMQ0KPiAkIHRp bWUgbWFrZSBkcml2ZXJzL21lZGlhL3BjaS9zb2xvNngxMC9zb2xvNngxMC1wMm0uaQ0KPiAuLi4N Cj4gICAgQ1BQIFtNXSBkcml2ZXJzL21lZGlhL3BjaS9zb2xvNngxMC9zb2xvNngxMC1wMm0uaQ0K PiByZWFsICAgIDBtMyw3MTFzDQo+IHVzZXIgICAgMG0zLDA0MXMNCj4gc3lzICAgICAwbTAsNzEw cw0KPiANCj4gDQo+IA0KPiBOb3RlIGl0J3Mgb25seSBhIHByZXByb2Nlc3NvciBydW4uIElmIHlv dSBydW4gYSBjb21waWxlciBvbiB0b3Agb2YgdGhhdCwNCj4gaXQgZXZlbiBkaWVzLg0KPiANCj4g VGhlcmUgaXMgbm90aGluZyBzcGVjaWFsIGluIHRoYXQgZmlsZSwganVzdDoNCj4gaWYgKFNPTE9f U0RSQU1fRU5EKHNvbG9fZGV2KSA+IHNvbG9fZGV2LT5zZHJhbV9zaXplKSB7DQo+IA0KPiB3aGlj aCBhdCBzb21lIHBvaW50IGV4cGFuZHMgdG8NCj4gICAgICAgICAgbWF4KF9fU09MT19KUEVHX01J Tl9TSVpFKF9fc29sbyksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gICAgICAg ICAgICAgIG1pbigoX19zb2xvLT5zZHJhbV9zaXplIC0gU09MT19KUEVHX0VYVF9BRERSKF9fc29s bykpLA0KPiAweDAwZmYwMDAwKSkNCj4gDQo+IGFuZCB0aGF0IGV4cGFuZHMgdG8gYSBsb3Qgb2Yg c3R1ZmYuDQo+IA0KPiBOb3RlIHRoYXQgX2xpbmVfIGlzIDUxOSBrYnl0ZXMgb24gNi42IGFscmVh ZHkuIEFuZCA2IE1CIG9uIDYuNy4NCg0KRXZlbiB3aXRoIHRyaXZpYWwgbWluKCkgbWF4KCkgaXQg aXMgNy41ayAocGlwZWQgdGhyb3VnaCB4YXJncyAtczcyKToNCihzZWUgaHR0cHM6Ly9nb2Rib2x0 Lm9yZy96L3J6RTM5WW9kVykNCg0KVGhlICdleHBsb3Npb24nIGhhcHBlbnMgYmVjYXVzZSB0aGVy ZSBhcmUgbmVzdGVkIG1heChhLCBtaW4oYiwgYykpLg0KSSB0aGluazogbWF4KGEsIG1pbihtYXgo YiwgbWluKGMsIGQpKSwgZSkpDQoNCkkgYWN0dWFsbHkgY2FuJ3QgaGVscCBmZWVsaW5nIHRoYXQg aXMgdGhlIGRyaXZlciBldmVyIHVzZXMNCmFueSBvZiB0aGVzZSB2YWx1ZXMgdGhleSBvdWdodCB0 byBiZSBzYXZlZCBkdXJpbmcgaW5pdGlhbGlzYXRpb24uDQpUaGF0IHdvdWxkIGxpa2VseSBzYXZl IGEgbG90IG9mIGNvZGUgbGF0ZXIgLSBhcyB3ZWxsIGFzIHNocmlua2luZw0KdGhpcyB0ZXN0IHRv IHNvbWV0aGluZyBzYW5lLg0KDQpyZXR1cm4gKCgoKCgoKCgweDAwMDAwMDAwICsgMHgwMDQ4MDAw MCkgKyAoKHNvbG8tPnR5cGUgPT0gMSA/DQoweDEwMDAwIDogMHgyMDAwMCkgKiAzMikpICsgMHgw MDA4MDAwMCkgKyAweDAwMDEwMDAwKSArDQooKCgoc29sby0+c2RyYW1fc2l6ZSA8PSAoMzIgPDwg MjApKSA/IDQgOiAxNikgKyAxKSAqICgxOCA8PCAxNikpKQ0KKyAoMHgwMDE0MDAwMCAqIHNvbG8t Pm5yX2NoYW5zICogMikpICsgKCgoc29sby0+bnJfY2hhbnMgKg0KMHgwMDA4MDAwMCkpID4gKCgo KChzb2xvLT5zZHJhbV9zaXplIC0gKCgoKCgoMHgwMDAwMDAwMCArDQoweDAwNDgwMDAwKSArICgo c29sby0+dHlwZSA9PSAxID8gMHgxMDAwMCA6IDB4MjAwMDApICogMzIpKSArDQoweDAwMDgwMDAw KSArIDB4MDAwMTAwMDApICsgKCgoKHNvbG8tPnNkcmFtX3NpemUgPD0gKDMyIDw8IDIwKSkgPw0K NCA6IDE2KSArIDEpICogKDE4IDw8IDE2KSkpICsgKDB4MDAxNDAwMDAgKiBzb2xvLT5ucl9jaGFu cyAqIDIpKSkNCi0gKHNvbG8tPm5yX2NoYW5zICogMHgwMDA4MDAwMCkpKSA8ICgweDAwZmYwMDAw KSA/DQooKChzb2xvLT5zZHJhbV9zaXplIC0gKCgoKCgoMHgwMDAwMDAwMCArIDB4MDA0ODAwMDAp ICsNCigoc29sby0+dHlwZSA9PSAxID8gMHgxMDAwMCA6IDB4MjAwMDApICogMzIpKSArIDB4MDAw ODAwMDApICsNCjB4MDAwMTAwMDApICsgKCgoKHNvbG8tPnNkcmFtX3NpemUgPD0gKDMyIDw8IDIw KSkgPyA0IDogMTYpICsgMSkgKg0KKDE4IDw8IDE2KSkpICsgKDB4MDAxNDAwMDAgKiBzb2xvLT5u cl9jaGFucyAqIDIpKSkgLQ0KKHNvbG8tPm5yX2NoYW5zICogMHgwMDA4MDAwMCkpKSA6ICgweDAw ZmYwMDAwKSkpID8NCigoc29sby0+bnJfY2hhbnMgKiAweDAwMDgwMDAwKSkgOiAoKCgoKHNvbG8t PnNkcmFtX3NpemUgLQ0KKCgoKCgoMHgwMDAwMDAwMCArIDB4MDA0ODAwMDApICsgKChzb2xvLT50 eXBlID09IDEgPyAweDEwMDAwIDoNCjB4MjAwMDApICogMzIpKSArIDB4MDAwODAwMDApICsgMHgw MDAxMDAwMCkgKyAoKCgoc29sby0+c2RyYW1fc2l6ZQ0KPD0gKDMyIDw8IDIwKSkgPyA0IDogMTYp ICsgMSkgKiAoMTggPDwgMTYpKSkgKyAoMHgwMDE0MDAwMCAqDQpzb2xvLT5ucl9jaGFucyAqIDIp KSkgLSAoc29sby0+bnJfY2hhbnMgKiAweDAwMDgwMDAwKSkpIDwNCigweDAwZmYwMDAwKSA/ICgo KHNvbG8tPnNkcmFtX3NpemUgLSAoKCgoKCgweDAwMDAwMDAwICsNCjB4MDA0ODAwMDApICsgKChz b2xvLT50eXBlID09IDEgPyAweDEwMDAwIDogMHgyMDAwMCkgKiAzMikpICsNCjB4MDAwODAwMDAp ICsgMHgwMDAxMDAwMCkgKyAoKCgoc29sby0+c2RyYW1fc2l6ZSA8PSAoMzIgPDwgMjApKSA/DQo0 IDogMTYpICsgMSkgKiAoMTggPDwgMTYpKSkgKyAoMHgwMDE0MDAwMCAqIHNvbG8tPm5yX2NoYW5z ICogMikpKQ0KLSAoc29sby0+bnJfY2hhbnMgKiAweDAwMDgwMDAwKSkpIDogKDB4MDBmZjAwMDAp KSkpKSArDQooKChzb2xvLT5ucl9jaGFucyAqIDB4MDAwODAwMDApKSA+ICgoKChzb2xvLT5zZHJh bV9zaXplIC0NCigoKCgoKCgweDAwMDAwMDAwICsgMHgwMDQ4MDAwMCkgKyAoKHNvbG8tPnR5cGUg PT0gMSA/IDB4MTAwMDAgOg0KMHgyMDAwMCkgKiAzMikpICsgMHgwMDA4MDAwMCkgKyAweDAwMDEw MDAwKSArICgoKChzb2xvLT5zZHJhbV9zaXplDQo8PSAoMzIgPDwgMjApKSA/IDQgOiAxNikgKyAx KSAqICgxOCA8PCAxNikpKSArICgweDAwMTQwMDAwICoNCnNvbG8tPm5yX2NoYW5zICogMikpICsg KCgoc29sby0+bnJfY2hhbnMgKiAweDAwMDgwMDAwKSkgPg0KKCgoKChzb2xvLT5zZHJhbV9zaXpl IC0gKCgoKCgoMHgwMDAwMDAwMCArIDB4MDA0ODAwMDApICsNCigoc29sby0+dHlwZSA9PSAxID8g MHgxMDAwMCA6IDB4MjAwMDApICogMzIpKSArIDB4MDAwODAwMDApICsNCjB4MDAwMTAwMDApICsg KCgoKHNvbG8tPnNkcmFtX3NpemUgPD0gKDMyIDw8IDIwKSkgPyA0IDogMTYpICsgMSkgKg0KKDE4 IDw8IDE2KSkpICsgKDB4MDAxNDAwMDAgKiBzb2xvLT5ucl9jaGFucyAqIDIpKSkgLQ0KKHNvbG8t Pm5yX2NoYW5zICogMHgwMDA4MDAwMCkpKSA8ICgweDAwZmYwMDAwKSA/DQooKChzb2xvLT5zZHJh bV9zaXplIC0gKCgoKCgoMHgwMDAwMDAwMCArIDB4MDA0ODAwMDApICsNCigoc29sby0+dHlwZSA9 PSAxID8gMHgxMDAwMCA6IDB4MjAwMDApICogMzIpKSArIDB4MDAwODAwMDApICsNCjB4MDAwMTAw MDApICsgKCgoKHNvbG8tPnNkcmFtX3NpemUgPD0gKDMyIDw8IDIwKSkgPyA0IDogMTYpICsgMSkg Kg0KKDE4IDw8IDE2KSkpICsgKDB4MDAxNDAwMDAgKiBzb2xvLT5ucl9jaGFucyAqIDIpKSkgLQ0K KHNvbG8tPm5yX2NoYW5zICogMHgwMDA4MDAwMCkpKSA6ICgweDAwZmYwMDAwKSkpID8NCigoc29s by0+bnJfY2hhbnMgKiAweDAwMDgwMDAwKSkgOiAoKCgoKHNvbG8tPnNkcmFtX3NpemUgLQ0KKCgo KCgoMHgwMDAwMDAwMCArIDB4MDA0ODAwMDApICsgKChzb2xvLT50eXBlID09IDEgPyAweDEwMDAw IDoNCjB4MjAwMDApICogMzIpKSArIDB4MDAwODAwMDApICsgMHgwMDAxMDAwMCkgKyAoKCgoc29s by0+c2RyYW1fc2l6ZQ0KPD0gKDMyIDw8IDIwKSkgPyA0IDogMTYpICsgMSkgKiAoMTggPDwgMTYp KSkgKyAoMHgwMDE0MDAwMCAqDQpzb2xvLT5ucl9jaGFucyAqIDIpKSkgLSAoc29sby0+bnJfY2hh bnMgKiAweDAwMDgwMDAwKSkpIDwNCigweDAwZmYwMDAwKSA/ICgoKHNvbG8tPnNkcmFtX3NpemUg LSAoKCgoKCgweDAwMDAwMDAwICsNCjB4MDA0ODAwMDApICsgKChzb2xvLT50eXBlID09IDEgPyAw eDEwMDAwIDogMHgyMDAwMCkgKiAzMikpICsNCjB4MDAwODAwMDApICsgMHgwMDAxMDAwMCkgKyAo KCgoc29sby0+c2RyYW1fc2l6ZSA8PSAoMzIgPDwgMjApKSA/DQo0IDogMTYpICsgMSkgKiAoMTgg PDwgMTYpKSkgKyAoMHgwMDE0MDAwMCAqIHNvbG8tPm5yX2NoYW5zICogMikpKQ0KLSAoc29sby0+ bnJfY2hhbnMgKiAweDAwMDgwMDAwKSkpIDogKDB4MDBmZjAwMDApKSkpKSkpIDwNCigweDAwZmYw MDAwKSA/ICgoc29sby0+c2RyYW1fc2l6ZSAtICgoKCgoKCgweDAwMDAwMDAwICsNCjB4MDA0ODAw MDApICsgKChzb2xvLT50eXBlID09IDEgPyAweDEwMDAwIDogMHgyMDAwMCkgKiAzMikpICsNCjB4 MDAwODAwMDApICsgMHgwMDAxMDAwMCkgKyAoKCgoc29sby0+c2RyYW1fc2l6ZSA8PSAoMzIgPDwg MjApKSA/DQo0IDogMTYpICsgMSkgKiAoMTggPDwgMTYpKSkgKyAoMHgwMDE0MDAwMCAqIHNvbG8t Pm5yX2NoYW5zICogMikpICsNCigoKHNvbG8tPm5yX2NoYW5zICogMHgwMDA4MDAwMCkpID4gKCgo KChzb2xvLT5zZHJhbV9zaXplIC0NCigoKCgoKDB4MDAwMDAwMDAgKyAweDAwNDgwMDAwKSArICgo c29sby0+dHlwZSA9PSAxID8gMHgxMDAwMCA6DQoweDIwMDAwKSAqIDMyKSkgKyAweDAwMDgwMDAw KSArIDB4MDAwMTAwMDApICsgKCgoKHNvbG8tPnNkcmFtX3NpemUNCjw9ICgzMiA8PCAyMCkpID8g NCA6IDE2KSArIDEpICogKDE4IDw8IDE2KSkpICsgKDB4MDAxNDAwMDAgKg0Kc29sby0+bnJfY2hh bnMgKiAyKSkpIC0gKHNvbG8tPm5yX2NoYW5zICogMHgwMDA4MDAwMCkpKSA8DQooMHgwMGZmMDAw MCkgPyAoKChzb2xvLT5zZHJhbV9zaXplIC0gKCgoKCgoMHgwMDAwMDAwMCArDQoweDAwNDgwMDAw KSArICgoc29sby0+dHlwZSA9PSAxID8gMHgxMDAwMCA6IDB4MjAwMDApICogMzIpKSArDQoweDAw MDgwMDAwKSArIDB4MDAwMTAwMDApICsgKCgoKHNvbG8tPnNkcmFtX3NpemUgPD0gKDMyIDw8IDIw KSkgPw0KNCA6IDE2KSArIDEpICogKDE4IDw8IDE2KSkpICsgKDB4MDAxNDAwMDAgKiBzb2xvLT5u cl9jaGFucyAqIDIpKSkNCi0gKHNvbG8tPm5yX2NoYW5zICogMHgwMDA4MDAwMCkpKSA6ICgweDAw ZmYwMDAwKSkpID8NCigoc29sby0+bnJfY2hhbnMgKiAweDAwMDgwMDAwKSkgOiAoKCgoKHNvbG8t PnNkcmFtX3NpemUgLQ0KKCgoKCgoMHgwMDAwMDAwMCArIDB4MDA0ODAwMDApICsgKChzb2xvLT50 eXBlID09IDEgPyAweDEwMDAwIDoNCjB4MjAwMDApICogMzIpKSArIDB4MDAwODAwMDApICsgMHgw MDAxMDAwMCkgKyAoKCgoc29sby0+c2RyYW1fc2l6ZQ0KPD0gKDMyIDw8IDIwKSkgPyA0IDogMTYp ICsgMSkgKiAoMTggPDwgMTYpKSkgKyAoMHgwMDE0MDAwMCAqDQpzb2xvLT5ucl9jaGFucyAqIDIp KSkgLSAoc29sby0+bnJfY2hhbnMgKiAweDAwMDgwMDAwKSkpIDwNCigweDAwZmYwMDAwKSA/ICgo KHNvbG8tPnNkcmFtX3NpemUgLSAoKCgoKCgweDAwMDAwMDAwICsNCjB4MDA0ODAwMDApICsgKChz b2xvLT50eXBlID09IDEgPyAweDEwMDAwIDogMHgyMDAwMCkgKiAzMikpICsNCjB4MDAwODAwMDAp ICsgMHgwMDAxMDAwMCkgKyAoKCgoc29sby0+c2RyYW1fc2l6ZSA8PSAoMzIgPDwgMjApKSA/DQo0 IDogMTYpICsgMSkgKiAoMTggPDwgMTYpKSkgKyAoMHgwMDE0MDAwMCAqIHNvbG8tPm5yX2NoYW5z ICogMikpKQ0KLSAoc29sby0+bnJfY2hhbnMgKiAweDAwMDgwMDAwKSkpIDogKDB4MDBmZjAwMDAp KSkpKSkpIDoNCigweDAwZmYwMDAwKSkpID8gKChzb2xvLT5ucl9jaGFucyAqIDB4MDAwODAwMDAp KSA6DQooKCgoc29sby0+c2RyYW1fc2l6ZSAtICgoKCgoKCgweDAwMDAwMDAwICsgMHgwMDQ4MDAw MCkgKw0KKChzb2xvLT50eXBlID09IDEgPyAweDEwMDAwIDogMHgyMDAwMCkgKiAzMikpICsgMHgw MDA4MDAwMCkgKw0KMHgwMDAxMDAwMCkgKyAoKCgoc29sby0+c2RyYW1fc2l6ZSA8PSAoMzIgPDwg MjApKSA/IDQgOiAxNikgKyAxKSAqDQooMTggPDwgMTYpKSkgKyAoMHgwMDE0MDAwMCAqIHNvbG8t Pm5yX2NoYW5zICogMikpICsNCigoKHNvbG8tPm5yX2NoYW5zICogMHgwMDA4MDAwMCkpID4gKCgo KChzb2xvLT5zZHJhbV9zaXplIC0NCigoKCgoKDB4MDAwMDAwMDAgKyAweDAwNDgwMDAwKSArICgo c29sby0+dHlwZSA9PSAxID8gMHgxMDAwMCA6DQoweDIwMDAwKSAqIDMyKSkgKyAweDAwMDgwMDAw KSArIDB4MDAwMTAwMDApICsgKCgoKHNvbG8tPnNkcmFtX3NpemUNCjw9ICgzMiA8PCAyMCkpID8g NCA6IDE2KSArIDEpICogKDE4IDw8IDE2KSkpICsgKDB4MDAxNDAwMDAgKg0Kc29sby0+bnJfY2hh bnMgKiAyKSkpIC0gKHNvbG8tPm5yX2NoYW5zICogMHgwMDA4MDAwMCkpKSA8DQooMHgwMGZmMDAw MCkgPyAoKChzb2xvLT5zZHJhbV9zaXplIC0gKCgoKCgoMHgwMDAwMDAwMCArDQoweDAwNDgwMDAw KSArICgoc29sby0+dHlwZSA9PSAxID8gMHgxMDAwMCA6IDB4MjAwMDApICogMzIpKSArDQoweDAw MDgwMDAwKSArIDB4MDAwMTAwMDApICsgKCgoKHNvbG8tPnNkcmFtX3NpemUgPD0gKDMyIDw8IDIw KSkgPw0KNCA6IDE2KSArIDEpICogKDE4IDw8IDE2KSkpICsgKDB4MDAxNDAwMDAgKiBzb2xvLT5u cl9jaGFucyAqIDIpKSkNCi0gKHNvbG8tPm5yX2NoYW5zICogMHgwMDA4MDAwMCkpKSA6ICgweDAw ZmYwMDAwKSkpID8NCigoc29sby0+bnJfY2hhbnMgKiAweDAwMDgwMDAwKSkgOiAoKCgoKHNvbG8t PnNkcmFtX3NpemUgLQ0KKCgoKCgoMHgwMDAwMDAwMCArIDB4MDA0ODAwMDApICsgKChzb2xvLT50 eXBlID09IDEgPyAweDEwMDAwIDoNCjB4MjAwMDApICogMzIpKSArIDB4MDAwODAwMDApICsgMHgw MDAxMDAwMCkgKyAoKCgoc29sby0+c2RyYW1fc2l6ZQ0KPD0gKDMyIDw8IDIwKSkgPyA0IDogMTYp ICsgMSkgKiAoMTggPDwgMTYpKSkgKyAoMHgwMDE0MDAwMCAqDQpzb2xvLT5ucl9jaGFucyAqIDIp KSkgLSAoc29sby0+bnJfY2hhbnMgKiAweDAwMDgwMDAwKSkpIDwNCigweDAwZmYwMDAwKSA/ICgo KHNvbG8tPnNkcmFtX3NpemUgLSAoKCgoKCgweDAwMDAwMDAwICsNCjB4MDA0ODAwMDApICsgKChz b2xvLT50eXBlID09IDEgPyAweDEwMDAwIDogMHgyMDAwMCkgKiAzMikpICsNCjB4MDAwODAwMDAp ICsgMHgwMDAxMDAwMCkgKyAoKCgoc29sby0+c2RyYW1fc2l6ZSA8PSAoMzIgPDwgMjApKSA/DQo0 IDogMTYpICsgMSkgKiAoMTggPDwgMTYpKSkgKyAoMHgwMDE0MDAwMCAqIHNvbG8tPm5yX2NoYW5z ICogMikpKQ0KLSAoc29sby0+bnJfY2hhbnMgKiAweDAwMDgwMDAwKSkpIDogKDB4MDBmZjAwMDAp KSkpKSkpIDwNCigweDAwZmYwMDAwKSA/ICgoc29sby0+c2RyYW1fc2l6ZSAtICgoKCgoKCgweDAw MDAwMDAwICsNCjB4MDA0ODAwMDApICsgKChzb2xvLT50eXBlID09IDEgPyAweDEwMDAwIDogMHgy MDAwMCkgKiAzMikpICsNCjB4MDAwODAwMDApICsgMHgwMDAxMDAwMCkgKyAoKCgoc29sby0+c2Ry YW1fc2l6ZSA8PSAoMzIgPDwgMjApKSA/DQo0IDogMTYpICsgMSkgKiAoMTggPDwgMTYpKSkgKyAo MHgwMDE0MDAwMCAqIHNvbG8tPm5yX2NoYW5zICogMikpICsNCigoKHNvbG8tPm5yX2NoYW5zICog MHgwMDA4MDAwMCkpID4gKCgoKChzb2xvLT5zZHJhbV9zaXplIC0NCigoKCgoKDB4MDAwMDAwMDAg KyAweDAwNDgwMDAwKSArICgoc29sby0+dHlwZSA9PSAxID8gMHgxMDAwMCA6DQoweDIwMDAwKSAq IDMyKSkgKyAweDAwMDgwMDAwKSArIDB4MDAwMTAwMDApICsgKCgoKHNvbG8tPnNkcmFtX3NpemUN Cjw9ICgzMiA8PCAyMCkpID8gNCA6IDE2KSArIDEpICogKDE4IDw8IDE2KSkpICsgKDB4MDAxNDAw MDAgKg0Kc29sby0+bnJfY2hhbnMgKiAyKSkpIC0gKHNvbG8tPm5yX2NoYW5zICogMHgwMDA4MDAw MCkpKSA8DQooMHgwMGZmMDAwMCkgPyAoKChzb2xvLT5zZHJhbV9zaXplIC0gKCgoKCgoMHgwMDAw MDAwMCArDQoweDAwNDgwMDAwKSArICgoc29sby0+dHlwZSA9PSAxID8gMHgxMDAwMCA6IDB4MjAw MDApICogMzIpKSArDQoweDAwMDgwMDAwKSArIDB4MDAwMTAwMDApICsgKCgoKHNvbG8tPnNkcmFt X3NpemUgPD0gKDMyIDw8IDIwKSkgPw0KNCA6IDE2KSArIDEpICogKDE4IDw8IDE2KSkpICsgKDB4 MDAxNDAwMDAgKiBzb2xvLT5ucl9jaGFucyAqIDIpKSkNCi0gKHNvbG8tPm5yX2NoYW5zICogMHgw MDA4MDAwMCkpKSA6ICgweDAwZmYwMDAwKSkpID8NCigoc29sby0+bnJfY2hhbnMgKiAweDAwMDgw MDAwKSkgOiAoKCgoKHNvbG8tPnNkcmFtX3NpemUgLQ0KKCgoKCgoMHgwMDAwMDAwMCArIDB4MDA0 ODAwMDApICsgKChzb2xvLT50eXBlID09IDEgPyAweDEwMDAwIDoNCjB4MjAwMDApICogMzIpKSAr IDB4MDAwODAwMDApICsgMHgwMDAxMDAwMCkgKyAoKCgoc29sby0+c2RyYW1fc2l6ZQ0KPD0gKDMy IDw8IDIwKSkgPyA0IDogMTYpICsgMSkgKiAoMTggPDwgMTYpKSkgKyAoMHgwMDE0MDAwMCAqDQpz b2xvLT5ucl9jaGFucyAqIDIpKSkgLSAoc29sby0+bnJfY2hhbnMgKiAweDAwMDgwMDAwKSkpIDwN CigweDAwZmYwMDAwKSA/ICgoKHNvbG8tPnNkcmFtX3NpemUgLSAoKCgoKCgweDAwMDAwMDAwICsN CjB4MDA0ODAwMDApICsgKChzb2xvLT50eXBlID09IDEgPyAweDEwMDAwIDogMHgyMDAwMCkgKiAz MikpICsNCjB4MDAwODAwMDApICsgMHgwMDAxMDAwMCkgKyAoKCgoc29sby0+c2RyYW1fc2l6ZSA8 PSAoMzIgPDwgMjApKSA/DQo0IDogMTYpICsgMSkgKiAoMTggPDwgMTYpKSkgKyAoMHgwMDE0MDAw MCAqIHNvbG8tPm5yX2NoYW5zICogMikpKQ0KLSAoc29sby0+bnJfY2hhbnMgKiAweDAwMDgwMDAw KSkpIDogKDB4MDBmZjAwMDApKSkpKSkpIDoNCigweDAwZmYwMDAwKSkpKSk7IH0NCg0KCURhdmlk DQoNCj4gDQo+IFRoZSBmaWxlIGlzIDQuM00gdnMuIDEyMk0uDQo+IA0KPiBDb3VsZCB5b3UgaW52 ZXN0aWdhdGUvZml4L3JldmVydCAoYXQgbGVhc3QpIHRoZSBhYm92ZSB0d28gY29tbWl0cz8NCj4g DQo+IHRoYW5rcywNCj4gLS0NCj4ganMNCg0KLQ0KUmVnaXN0ZXJlZCBBZGRyZXNzIExha2VzaWRl LCBCcmFtbGV5IFJvYWQsIE1vdW50IEZhcm0sIE1pbHRvbiBLZXluZXMsIE1LMSAxUFQsIFVLDQpS ZWdpc3RyYXRpb24gTm86IDEzOTczODYgKFdhbGVzKQ0K