From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2079.outbound.protection.outlook.com [40.107.7.79]) by sourceware.org (Postfix) with ESMTPS id 7F9073858D20 for ; Thu, 9 Mar 2023 19:40:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7F9073858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2h7lh3Qe2G9M/mTRGSi0edBCSNYsqVkbZJv0zpr+/ZI=; b=pHA++ujxq0tQDcIKLOrM7j9RiLjE+3TH8lfa/vUR7Eg97Pa2SkGOG7VXv9+jkKprxO3NQTJshR/O8RrSQ0cMepPavBwsle2B9gfTkNjxFwu042HuKNjjVcUrFh21i9ov7uTyhK5r4X5TUpLObbd7khW23lgNYK7xpXkmFHCiXwc= Received: from DB6P191CA0014.EURP191.PROD.OUTLOOK.COM (2603:10a6:6:28::24) by AM8PR08MB5572.eurprd08.prod.outlook.com (2603:10a6:20b:1db::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Thu, 9 Mar 2023 19:40:00 +0000 Received: from DBAEUR03FT045.eop-EUR03.prod.protection.outlook.com (2603:10a6:6:28:cafe::b3) by DB6P191CA0014.outlook.office365.com (2603:10a6:6:28::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.16 via Frontend Transport; Thu, 9 Mar 2023 19:40:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DBAEUR03FT045.mail.protection.outlook.com (100.127.142.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19 via Frontend Transport; Thu, 9 Mar 2023 19:39:59 +0000 Received: ("Tessian outbound b29c0599cbc9:v135"); Thu, 09 Mar 2023 19:39:59 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: a77a6a47c1389cfc X-CR-MTA-TID: 64aa7808 Received: from 5668f49bb64a.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 46941C9F-DB36-4946-9847-EF82D7CC5948.1; Thu, 09 Mar 2023 19:39:52 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5668f49bb64a.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 09 Mar 2023 19:39:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gLnEN9+k1orcF8UtjD5N0X2DWZ/+HFPWu+O8hwRxd8MbvQDMDXgFw3DQXvJLuP/I3ZXOX3WuQUdzCBt98t2FDpb0Y7OfBS//OhIChQxfsn03eQsMZBWv99ID2iziOIDxJiv4rdaut15ayEIKcRnIFQ1drVZlQ7ibzHSj9ucEGJQDJfoAMf4zj4XauKGILfoA1s5c83CE9EBEgCqKSlz9A+ep/0OkVwzFosJbRu6P0nw37pbqDwtrGu3+Pvf+rdD9Ed++xl17OeOtbrFuBAB+elmnw10YBFVk0PIZcz/NW2K1JMlkdrC8qcu5tzymtOcijF5AlVH1zXekkQTPAkL/EQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2h7lh3Qe2G9M/mTRGSi0edBCSNYsqVkbZJv0zpr+/ZI=; b=lu4tg5rDAkaAQsySlPzisFZPnR0qlc7bbmdYjvEfzzDl136mnpZth3qvNhQ2cOKiiWqzt90z+IvhUwXt26ljFzk5Za6ZrjUM/6kNunWzctbYAZKoIf5KPnvjK6VXLyUlgQPDIeV/pIp0ptFf9uygxbk4zbmUaCdmrzz0N8gjBY5mBscVFtcflG5L1LD7TVBkuP8xxmajxO6pf5fO6FahMtJl5NOf7v+wWuKUhiKx9wr6L3pPb3MjBbLgpw8HaoSK5yKebIabVsVe/w3WiBQyOg1DByFtRUNAx375tv8lv2gv9yDDtTs/0oQwCH/gvm5D94nuMTjZlMEyUK9ux2Ybhw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2h7lh3Qe2G9M/mTRGSi0edBCSNYsqVkbZJv0zpr+/ZI=; b=pHA++ujxq0tQDcIKLOrM7j9RiLjE+3TH8lfa/vUR7Eg97Pa2SkGOG7VXv9+jkKprxO3NQTJshR/O8RrSQ0cMepPavBwsle2B9gfTkNjxFwu042HuKNjjVcUrFh21i9ov7uTyhK5r4X5TUpLObbd7khW23lgNYK7xpXkmFHCiXwc= Received: from AM0PR08MB5316.eurprd08.prod.outlook.com (2603:10a6:208:185::14) by DU0PR08MB8068.eurprd08.prod.outlook.com (2603:10a6:10:3eb::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Thu, 9 Mar 2023 19:39:48 +0000 Received: from AM0PR08MB5316.eurprd08.prod.outlook.com ([fe80::4e42:7a37:a4a4:c7cb]) by AM0PR08MB5316.eurprd08.prod.outlook.com ([fe80::4e42:7a37:a4a4:c7cb%4]) with mapi id 15.20.6178.017; Thu, 9 Mar 2023 19:39:48 +0000 From: Tamar Christina To: Richard Sandiford CC: "gcc-patches@gcc.gnu.org" , nd , "rguenther@suse.de" Subject: RE: [PATCH 3/4]middle-end: Implement preferred_div_as_shifts_over_mult [PR108583] Thread-Topic: [PATCH 3/4]middle-end: Implement preferred_div_as_shifts_over_mult [PR108583] Thread-Index: AQHZSqfDc/rjwUnMRkKs4yRy4zE8EK7tppTQgAL7qy+AAkXEcA== Date: Thu, 9 Mar 2023 19:39:48 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ts-tracking-id: 204305DB965C574EB5CC3DDD95412FAE.0 Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: AM0PR08MB5316:EE_|DU0PR08MB8068:EE_|DBAEUR03FT045:EE_|AM8PR08MB5572:EE_ X-MS-Office365-Filtering-Correlation-Id: a75ecd97-98da-4a3e-23e5-08db20d611fc x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: kkqab6GHFS9D83eUzmN2AD08oDJvtFysHqLAyz/h5qNIM6C+uXnXPqIkyJzC6avLdBtQJlS99xN7aGsC/sa/tAqojg4Cq8M/Nzd1zj4YKvsSlIZlx9RfcYsqGDgmAZubd4WupshcJrE7JmIRpvdZp8eT6TNituriyi3j0ge4YS3ooZWuomYr5P2AE7U6U68m6GCcQKVkpcT8CxCUDD+EtK9IBw+Ut+07YnM1bfyUAd+h/6qQDOTXhs0iRRK8XDnaoLQ0836JnLj+OWfcYjPbVKzICOF++tDPA7FTRQp2UY+XlIusEJDxV/fKvNXKEVe6T3KIxYEKi5RSmdqxyAfqBJVzplTVWWSoCpymI3wNXTqtL6kF1QCuvsKkwiw37vCyRdDgGfLq4z3lilzD1wRm68xo1cpMXqOV+uMoK0myloXwkSKFzZ3cD57gcPH9XpaOZn40zBXpIgnA2aLqG68C9dT3x1pWOYdS2EYbnQv5xXc4vNDQ9ewekcRt6899RKeZJh9MGDAqHoHt7WhTL1KaelBugQJDsWiMxd5Y2AL5mOANn88tHIffnmJk7tNwCDDSH2r5Qgu84kH3BGDI+o2wV5CPls6VIgujpQBpGySQudpg6/7KRHmGEnd2xWseW3Jd9rYfmcmo/NniWpg/4i0mYOlaCjuJNPxZvL8Oj115dXDOUf4BEuchbVE3O4xzelCbfLkVoP96roX/IEZyek6m8x5bGzN0vjyCoWnq/S52O24= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR08MB5316.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(376002)(39860400002)(136003)(366004)(396003)(451199018)(55016003)(54906003)(316002)(83380400001)(6636002)(84970400001)(86362001)(33656002)(6506007)(9686003)(2906002)(186003)(71200400001)(66476007)(8676002)(7696005)(66446008)(76116006)(66946007)(41300700001)(26005)(6862004)(66556008)(478600001)(64756008)(8936002)(4326008)(99936003)(122000001)(5660300002)(38100700002)(52536014)(38070700005);DIR:OUT;SFP:1101; Content-Type: multipart/mixed; boundary="_002_AM0PR08MB53166ADF58FD17513D7B8B95FFB59AM0PR08MB5316eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8068 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT045.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 30df6b7e-3c7b-45d2-6fb6-08db20d60b14 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bPuor7bH7D15p+0P0PUMhMseKfBtlCj+jlEYMJmpVTCdQpa5LRaXl79jWwAuB1+xQO9sgClfZVJwzvNqIodvli/djU5V8V2os5UpyNo/nENqQoADnCpOEpua4za2OnZv7+6sbPqCIqn4zpHCR6LLhGfVz3YOFMYtMdBYK5Zlz0xTkI2a94hpo2um/AHkLYV7zWtd4az1tvAoqIt2jIV7FeIhTkMnGq4FzplkvMiI4kCuYmu9mVbVpaPnF1MoSLGgYGJuYRNKcQ+EngoL5c0TORV9A1w28/SrthsNaTUr+bHAUPhfWRURuD0wvKNe1A0oaCL+KiDXReg25j6VULxwDOSE7RRss+tqds12Ckc9w+EP6adMj6ed9duT/9MoG/EU/86nxqd110srucnAGlHShNj8sK/zCVgvQu6mb98HPsIGiR1P+Nw6ei+4uR6rcbltvWmMF9MnOeCtmVDYMZhek2mhpNhWGMqO/8ojimm3QALatIwcmPIq+QIpVrovLj7cHbFQqqTrS9GDHmHac63hCNrK/uQtk63r0KegjyCNZxii9GC47lxVf/d/nvdhBPTDkVUW6mIY9T0gM1RdsNjX1e+TrNdTCp2zHfZm2nfff7L2mGpGvdHkxt9zH+Prg9B6MJo0hEx+KxN5dCjp742QSQbeG+b9DWjBJ9APi60201o052vKkzlKb85N0B8SH2QXTTMGAdwmKhZi5Lm0FLN9fIlgEfsNpQJcI7sYsgmrt8U= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230025)(4636009)(346002)(136003)(376002)(396003)(39860400002)(451199018)(36840700001)(40470700004)(46966006)(83380400001)(70586007)(70206006)(4326008)(8676002)(36860700001)(316002)(84970400001)(47076005)(82740400003)(99936003)(336012)(41300700001)(81166007)(82310400005)(356005)(26005)(54906003)(6636002)(6506007)(9686003)(186003)(33964004)(52536014)(40460700003)(33656002)(8936002)(478600001)(6862004)(40480700001)(55016003)(5660300002)(235185007)(86362001)(7696005)(2906002)(107886003);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 19:39:59.9728 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a75ecd97-98da-4a3e-23e5-08db20d611fc X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DBAEUR03FT045.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5572 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,KAM_LOTSOFHASH,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_002_AM0PR08MB53166ADF58FD17513D7B8B95FFB59AM0PR08MB5316eurp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksDQoNCkhlcmUncyB0aGUgcmVzcHVuIHBhdGNoLg0KDQpCb290c3RyYXBwZWQgUmVndGVzdGVk IG9uIGFhcmNoNjQtbm9uZS1saW51eC1nbnUgYW5kIG5vIGlzc3Vlcy4NCg0KT2sgZm9yIG1hc3Rl cj8NCg0KVGhhbmtzLA0KVGFtYXINCg0KZ2NjL0NoYW5nZUxvZzoNCg0KCVBSIHRhcmdldC8xMDg1 ODMNCgkqIHRhcmdldC5kZWYgKHByZWZlcnJlZF9kaXZfYXNfc2hpZnRzX292ZXJfbXVsdCk6IE5l dy4NCgkqIGRvYy90bS50ZXhpLmluOiBEb2N1bWVudCBpdC4NCgkqIGRvYy90bS50ZXhpOiBSZWdl bmVyYXRlLg0KCSogdGFyZ2hvb2tzLmNjIChkZWZhdWx0X3ByZWZlcnJlZF9kaXZfYXNfc2hpZnRz X292ZXJfbXVsdCk6IE5ldy4NCgkqIHRhcmdob29rcy5oIChkZWZhdWx0X3ByZWZlcnJlZF9kaXZf YXNfc2hpZnRzX292ZXJfbXVsdCk6IE5ldy4NCgkqIHRyZWUtdmVjdC1wYXR0ZXJucy5jYyAodmVj dF9yZWNvZ19kaXZtb2RfcGF0dGVybik6IFVzZSBpdC4NCg0KZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VM b2c6DQoNCglQUiB0YXJnZXQvMTA4NTgzDQoJKiBnY2MuZGcvdmVjdC92ZWN0LWRpdi1iaXRtYXNr LTQuYzogTmV3IHRlc3QuDQoJKiBnY2MuZGcvdmVjdC92ZWN0LWRpdi1iaXRtYXNrLTUuYzogTmV3 IHRlc3QuDQoNCi0tLSBpbmxpbmUgY29weSBvZiBwYXRjaCAtLS0NCg0KZGlmZiAtLWdpdCBhL2dj Yy9kb2MvdG0udGV4aSBiL2djYy9kb2MvdG0udGV4aQ0KaW5kZXggNTBhODg3MmE2Njk1YjE4Yjli ZWQwZDM5M2JhY2Y3MzM4MzM2MzNkYi4uYmY3MjY5ZTMyM2RlMWEwNjVkNGQwNDM3NmU1YTI3MDNj YmIwZjlmYSAxMDA2NDQNCi0tLSBhL2djYy9kb2MvdG0udGV4aQ0KKysrIGIvZ2NjL2RvYy90bS50 ZXhpDQpAQCAtNjEzNyw2ICs2MTM3LDEyIEBAIGluc3RydWN0aW9uIHBhdHRlcm4uICBUaGVyZSBp cyBubyBuZWVkIGZvciB0aGUgaG9vayB0byBoYW5kbGUgdGhlc2UgdHdvDQogaW1wbGVtZW50YXRp b24gYXBwcm9hY2hlcyBpdHNlbGYuDQogQGVuZCBkZWZ0eXBlZm4NCiANCitAZGVmdHlwZWZuIHtU YXJnZXQgSG9va30gYm9vbCBUQVJHRVRfVkVDVE9SSVpFX1BSRUZFUlJFRF9ESVZfQVNfU0hJRlRT X09WRVJfTVVMVCAoY29uc3RfdHJlZSBAdmFye3R5cGV9KQ0KK1NvbWV0aW1lcyBpdCBpcyBwb3Nz aWJsZSB0byBpbXBsZW1lbnQgYSB2ZWN0b3IgZGl2aXNpb24gdXNpbmcgYSBzZXF1ZW5jZQ0KK29m IHR3byBhZGRpdGlvbi1zaGlmdCBwYWlycywgZ2l2aW5nIGZvdXIgaW5zdHJ1Y3Rpb25zIGluIHRv dGFsLg0KK1JldHVybiB0cnVlIGlmIHRha2luZyB0aGlzIGFwcHJvYWNoIGZvciBAdmFye3ZlY3R5 cGV9IGlzIGxpa2VseQ0KK3RvIGJlIGJldHRlciB0aGFuIHVzaW5nIGEgc2VxdWVuY2UgaW52b2x2 aW5nIGhpZ2hwYXJ0IG11bHRpcGxpY2F0aW9uLg0KK0RlZmF1bHQgaXMgZmFsc2UgaWYgQGNvZGV7 Y2FuX211bHRfaGlnaHBhcnRfcH0sIG90aGVyd2lzZSB0cnVlLg0KIEBlbmQgZGVmdHlwZWZuDQog DQogQGRlZnR5cGVmbiB7VGFyZ2V0IEhvb2t9IHRyZWUgVEFSR0VUX1ZFQ1RPUklaRV9CVUlMVElO X1ZFQ1RPUklaRURfRlVOQ1RJT04gKHVuc2lnbmVkIEB2YXJ7Y29kZX0sIHRyZWUgQHZhcnt2ZWNf dHlwZV9vdXR9LCB0cmVlIEB2YXJ7dmVjX3R5cGVfaW59KQ0KZGlmZiAtLWdpdCBhL2djYy9kb2Mv dG0udGV4aS5pbiBiL2djYy9kb2MvdG0udGV4aS5pbg0KaW5kZXggM2UwNzk3OGEwMmY0ZTYwNzdh ZGFlNmNhZGM5M2VhNDI3MzI5NWYxZi4uMDA1MTAxN2E3ZmQ2NzY5MWEzNDM0NzBmMzZhZDRmYzMy YzhlN2UxNSAxMDA2NDQNCi0tLSBhL2djYy9kb2MvdG0udGV4aS5pbg0KKysrIGIvZ2NjL2RvYy90 bS50ZXhpLmluDQpAQCAtNDE3Myw2ICs0MTczLDcgQEAgYWRkcmVzczsgIGJ1dCBvZnRlbiBhIG1h Y2hpbmUtZGVwZW5kZW50IHN0cmF0ZWd5IGNhbiBnZW5lcmF0ZSBiZXR0ZXIgY29kZS4NCiANCiBA aG9vayBUQVJHRVRfVkVDVE9SSVpFX1ZFQ19QRVJNX0NPTlNUDQogDQorQGhvb2sgVEFSR0VUX1ZF Q1RPUklaRV9QUkVGRVJSRURfRElWX0FTX1NISUZUU19PVkVSX01VTFQNCiANCiBAaG9vayBUQVJH RVRfVkVDVE9SSVpFX0JVSUxUSU5fVkVDVE9SSVpFRF9GVU5DVElPTg0KIA0KZGlmZiAtLWdpdCBh L2djYy90YXJnZXQuZGVmIGIvZ2NjL3RhcmdldC5kZWYNCmluZGV4IGUwYTVjN2FkYmQ5NjJmNWQw OGVkMDhkMWQ4MWFmYTJjMmJhYTY0YTUuLmU0NDc0YTNlZDZiZDJmNWY1YzAxMGJmMGQ0MGMyYTM3 MTM3MDQ5MGMgMTAwNjQ0DQotLS0gYS9nY2MvdGFyZ2V0LmRlZg0KKysrIGIvZ2NjL3RhcmdldC5k ZWYNCkBAIC0xODY4LDYgKzE4NjgsMTggQEAgY29ycmVjdCBmb3IgbW9zdCB0YXJnZXRzLiIsDQog IHBvbHlfdWludDY0LCAoY29uc3RfdHJlZSB0eXBlKSwNCiAgZGVmYXVsdF9wcmVmZXJyZWRfdmVj dG9yX2FsaWdubWVudCkNCiANCisvKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHRhcmdldCBoYXMgYSBw cmVmZXJlbmNlIGZvciBkZWNvbXBvc2luZyBkaXZpc2lvbnMgdXNpbmcNCisgICBzaGlmdHMgcmF0 aGVyIHRoYW4gbXVsdGlwbGllcy4gICovDQorREVGSE9PSw0KKyhwcmVmZXJyZWRfZGl2X2FzX3No aWZ0c19vdmVyX211bHQsDQorICJTb21ldGltZXMgaXQgaXMgcG9zc2libGUgdG8gaW1wbGVtZW50 IGEgdmVjdG9yIGRpdmlzaW9uIHVzaW5nIGEgc2VxdWVuY2VcblwNCitvZiB0d28gYWRkaXRpb24t c2hpZnQgcGFpcnMsIGdpdmluZyBmb3VyIGluc3RydWN0aW9ucyBpbiB0b3RhbC5cblwNCitSZXR1 cm4gdHJ1ZSBpZiB0YWtpbmcgdGhpcyBhcHByb2FjaCBmb3IgQHZhcnt2ZWN0eXBlfSBpcyBsaWtl bHlcblwNCit0byBiZSBiZXR0ZXIgdGhhbiB1c2luZyBhIHNlcXVlbmNlIGludm9sdmluZyBoaWdo cGFydCBtdWx0aXBsaWNhdGlvbi5cblwNCitEZWZhdWx0IGlzIGZhbHNlIGlmIEBjb2Rle2Nhbl9t dWx0X2hpZ2hwYXJ0X3B9LCBvdGhlcndpc2UgdHJ1ZS4iLA0KKyBib29sLCAoY29uc3RfdHJlZSB0 eXBlKSwNCisgZGVmYXVsdF9wcmVmZXJyZWRfZGl2X2FzX3NoaWZ0c19vdmVyX211bHQpDQorDQog LyogUmV0dXJuIHRydWUgaWYgdmVjdG9yIGFsaWdubWVudCBpcyByZWFjaGFibGUgKGJ5IHBlZWxp bmcgTg0KICAgIGl0ZXJhdGlvbnMpIGZvciB0aGUgZ2l2ZW4gc2NhbGFyIHR5cGUuICAqLw0KIERF RkhPT0sNCmRpZmYgLS1naXQgYS9nY2MvdGFyZ2hvb2tzLmggYi9nY2MvdGFyZ2hvb2tzLmgNCmlu ZGV4IGE2YTQ4MDljYTkxYmFhNWQ3ZmFkMjI0NDU0OTMxN2EzMTM5MGYwYzIuLmEyMDc5NjNiOWU2 ZWI5MzAwZGYwMDQzZTFiNzlhYTZjOTQxZDBmN2YgMTAwNjQ0DQotLS0gYS9nY2MvdGFyZ2hvb2tz LmgNCisrKyBiL2djYy90YXJnaG9va3MuaA0KQEAgLTUzLDYgKzUzLDggQEAgZXh0ZXJuIHNjYWxh cl9pbnRfbW9kZSBkZWZhdWx0X3Vud2luZF93b3JkX21vZGUgKHZvaWQpOw0KIGV4dGVybiB1bnNp Z25lZCBIT1NUX1dJREVfSU5UIGRlZmF1bHRfc2hpZnRfdHJ1bmNhdGlvbl9tYXNrDQogICAobWFj aGluZV9tb2RlKTsNCiBleHRlcm4gdW5zaWduZWQgaW50IGRlZmF1bHRfbWluX2RpdmlzaW9uc19m b3JfcmVjaXBfbXVsIChtYWNoaW5lX21vZGUpOw0KK2V4dGVybiBib29sIGRlZmF1bHRfcHJlZmVy cmVkX2Rpdl9hc19zaGlmdHNfb3Zlcl9tdWx0DQorICAoY29uc3RfdHJlZSk7DQogZXh0ZXJuIGlu dCBkZWZhdWx0X21vZGVfcmVwX2V4dGVuZGVkIChzY2FsYXJfaW50X21vZGUsIHNjYWxhcl9pbnRf bW9kZSk7DQogDQogZXh0ZXJuIHRyZWUgZGVmYXVsdF9zdGFja19wcm90ZWN0X2d1YXJkICh2b2lk KTsNCmRpZmYgLS1naXQgYS9nY2MvdGFyZ2hvb2tzLmNjIGIvZ2NjL3Rhcmdob29rcy5jYw0KaW5k ZXggMjExNTI1NzIwYTYyMGQ2ZjUzM2UyZGE5MWUwMzg3NzMzN2E5MzFlNy4uN2YzOWZmOWI3ZWMy YmY2NjYyNWQ0OGE0N2JiNzZlOTZjMDVhMzIzMyAxMDA2NDQNCi0tLSBhL2djYy90YXJnaG9va3Mu Y2MNCisrKyBiL2djYy90YXJnaG9va3MuY2MNCkBAIC0xNDgzLDYgKzE0ODMsMTUgQEAgZGVmYXVs dF9wcmVmZXJyZWRfdmVjdG9yX2FsaWdubWVudCAoY29uc3RfdHJlZSB0eXBlKQ0KICAgcmV0dXJu IFRZUEVfQUxJR04gKHR5cGUpOw0KIH0NCiANCisvKiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlv biBvZg0KKyAgIFRBUkdFVF9WRUNUT1JJWkVfUFJFRkVSUkVEX0RJVl9BU19TSElGVFNfT1ZFUl9N VUxULiAgKi8NCisNCitib29sDQorZGVmYXVsdF9wcmVmZXJyZWRfZGl2X2FzX3NoaWZ0c19vdmVy X211bHQgKGNvbnN0X3RyZWUgdHlwZSkNCit7DQorICByZXR1cm4gY2FuX211bHRfaGlnaHBhcnRf cCAoVFlQRV9NT0RFICh0eXBlKSwgVFlQRV9VTlNJR05FRCAodHlwZSkpOw0KK30NCisNCiAvKiBC eSBkZWZhdWx0IGFzc3VtZSB2ZWN0b3JzIG9mIGVsZW1lbnQgVFlQRSByZXF1aXJlIGEgbXVsdGlw bGUgb2YgdGhlIG5hdHVyYWwNCiAgICBhbGlnbm1lbnQgb2YgVFlQRS4gIFRZUEUgaXMgbmF0dXJh bGx5IGFsaWduZWQgaWYgSVNfUEFDS0VEIGlzIGZhbHNlLiAgKi8NCiBib29sDQpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LWRpdi1iaXRtYXNrLTQuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC1kaXYtYml0bWFzay00LmMNCm5ldyBmaWxlIG1vZGUg MTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j ODFmODk0NjkyMjI1MDIzNGJmNzU5ZTBhMGEwNGVhOGMxZjczZTNjDQotLS0gL2Rldi9udWxsDQor KysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3QtZGl2LWJpdG1hc2stNC5jDQpAQCAt MCwwICsxLDI1IEBADQorLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9pbnQg fSAqLw0KKw0KKyNpbmNsdWRlIDxzdGRpbnQuaD4NCisjaW5jbHVkZSAidHJlZS12ZWN0LmgiDQor DQordHlwZWRlZiB1bnNpZ25lZCBfX2F0dHJpYnV0ZV9fKChfX3ZlY3Rvcl9zaXplX18gKDE2KSkp IFY7DQorDQorc3RhdGljIF9fYXR0cmlidXRlX18oKF9fbm9pbmxpbmVfXykpIF9fYXR0cmlidXRl X18oKF9fbm9jbG9uZV9fKSkgVg0KK2ZvbyAoViB2LCB1bnNpZ25lZCBzaG9ydCBpKQ0KK3sNCisg IHYgLz0gaTsNCisgIHJldHVybiB2Ow0KK30NCisNCitpbnQNCittYWluICh2b2lkKQ0KK3sNCisg IFYgdiA9IGZvbyAoKFYpIHsgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZiwgMHhm ZmZmZmZmZiB9LCAweGZmZmYpOw0KKyAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemVvZiAo dikgLyBzaXplb2YgKHZbMF0pOyBpKyspDQorICAgIGlmICh2W2ldICE9IDB4MDAwMTAwMDEpDQor ICAgICAgX19idWlsdGluX2Fib3J0ICgpOw0KKyAgcmV0dXJuIDA7DQorfQ0KKw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLXRyZWUtZHVtcC1ub3QgInZlY3RfcmVjb2dfZGl2bW9kX3BhdHRlcm46IGRl dGVjdGVkIiAidmVjdCIgeyB0YXJnZXQgYWFyY2g2NCotKi0qIH0gfSB9ICovDQpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LWRpdi1iaXRtYXNrLTUuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC1kaXYtYml0bWFzay01LmMNCm5ldyBmaWxlIG1vZGUg MTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i NGViMWE0ZGFjYmE0ODFlNjMwNmI0OTkxNGQyYTI5YjkzM2RlNjI1DQotLS0gL2Rldi9udWxsDQor KysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3QtZGl2LWJpdG1hc2stNS5jDQpAQCAt MCwwICsxLDU4IEBADQorLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9pbnQg fSAqLw0KKw0KKyNpbmNsdWRlIDxzdGRpbnQuaD4NCisjaW5jbHVkZSA8c3RkaW8uaD4NCisjaW5j bHVkZSAidHJlZS12ZWN0LmgiDQorDQorI2RlZmluZSBOIDUwDQorI2RlZmluZSBUWVBFIHVpbnQ4 X3QgDQorDQorI2lmbmRlZiBERUJVRw0KKyNkZWZpbmUgREVCVUcgMA0KKyNlbmRpZg0KKw0KKyNk ZWZpbmUgQkFTRSAoKFRZUEUpIC0xIDwgMCA/IC0xMjYgOiA0KQ0KKw0KKw0KK19fYXR0cmlidXRl X18oKG5vaXBhLCBub2lubGluZSwgb3B0aW1pemUoIk8xIikpKQ0KK3ZvaWQgZnVuMShUWVBFKiBy ZXN0cmljdCBwaXhlbCwgVFlQRSBsZXZlbCwgaW50IG4pDQorew0KKyAgZm9yIChpbnQgaSA9IDA7 IGkgPCBuOyBpKz0xKQ0KKyAgICBwaXhlbFtpXSA9IChwaXhlbFtpXSArIGxldmVsKSAvIDB4ZmY7 DQorfQ0KKw0KK19fYXR0cmlidXRlX18oKG5vaXBhLCBub2lubGluZSwgb3B0aW1pemUoIk8zIikp KQ0KK3ZvaWQgZnVuMihUWVBFKiByZXN0cmljdCBwaXhlbCwgVFlQRSBsZXZlbCwgaW50IG4pDQor ew0KKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKz0xKQ0KKyAgICBwaXhlbFtpXSA9IChwaXhl bFtpXSArIGxldmVsKSAvIDB4ZmY7DQorfQ0KKw0KK2ludCBtYWluICgpDQorew0KKyAgVFlQRSBh W05dOw0KKyAgVFlQRSBiW05dOw0KKw0KKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBOOyArK2kpDQor ICAgIHsNCisgICAgICBhW2ldID0gQkFTRSArIGkgKiAxMzsNCisgICAgICBiW2ldID0gQkFTRSAr IGkgKiAxMzsNCisgICAgICBpZiAoREVCVUcpDQorICAgICAgICBwcmludGYgKCIlZDogMHgleFxu IiwgaSwgYVtpXSk7DQorICAgIH0NCisNCisgIGZ1bjEgKGEsIE4gLyAyLCBOKTsNCisgIGZ1bjIg KGIsIE4gLyAyLCBOKTsNCisNCisgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgKytpKQ0KKyAgICB7 DQorICAgICAgaWYgKERFQlVHKQ0KKyAgICAgICAgcHJpbnRmICgiJWQgPSAweCV4ID09IDB4JXhc biIsIGksIGFbaV0sIGJbaV0pOw0KKw0KKyAgICAgIGlmIChhW2ldICE9IGJbaV0pDQorICAgICAg ICBfX2J1aWx0aW5fYWJvcnQgKCk7DQorICAgIH0NCisgIHJldHVybiAwOw0KK30NCisNCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAgImRpdm1vZCBwYXR0ZXJuIHJlY29nbml6ZWQiICJ2 ZWN0IiB7IHRhcmdldCBhYXJjaDY0Ki0qLSogfSB9IH0gKi8NCmRpZmYgLS1naXQgYS9nY2MvdHJl ZS12ZWN0LXBhdHRlcm5zLmNjIGIvZ2NjL3RyZWUtdmVjdC1wYXR0ZXJucy5jYw0KaW5kZXggMTc2 NmNlMjc3ZDZiODhkOGFhM2JlNzdlN2M4YWJiNTA0YTEwYTczNS4uMTgzZjFhNjIzZmJkZTM0ZjUw NTI1OWNmOGY0ZmI0ZDM0ZTA2OTYxNCAxMDA2NDQNCi0tLSBhL2djYy90cmVlLXZlY3QtcGF0dGVy bnMuY2MNCisrKyBiL2djYy90cmVlLXZlY3QtcGF0dGVybnMuY2MNCkBAIC0zOTE0LDYgKzM5MTQs ODMgQEAgdmVjdF9yZWNvZ19kaXZtb2RfcGF0dGVybiAodmVjX2luZm8gKnZpbmZvLA0KICAgICAg IHJldHVybiBwYXR0ZXJuX3N0bXQ7DQogICAgIH0NCiANCisgIGlmICgoY3N0ID0gdW5pZm9ybV9p bnRlZ2VyX2NzdF9wIChvcHJuZDEpKQ0KKwkgICAmJiBUWVBFX1VOU0lHTkVEIChpdHlwZSkNCisJ ICAgJiYgcmhzX2NvZGUgPT0gVFJVTkNfRElWX0VYUFINCisJICAgJiYgdmVjdHlwZQ0KKwkgICAm JiB0YXJnZXRtLnZlY3Rvcml6ZS5wcmVmZXJyZWRfZGl2X2FzX3NoaWZ0c19vdmVyX211bHQgKHZl Y3R5cGUpKQ0KKyAgICB7DQorICAgICAgLyogV2UgY2FuIHVzZSB0aGUgcmVsYXRpb25zaGlwOg0K Kw0KKwkgICB4IC8vIE4gPT0gKCh4K04rMikgLy8gKE4rMSkgKyB4KSAvLyAoTisxKSAgZm9yIDAg PD0geCA8IE4oTiszKQ0KKw0KKwkgdG8gb3B0aW1pemUgY2FzZXMgd2hlcmUgTisxIGlzIGEgcG93 ZXIgb2YgMiwgYW5kIHdoZXJlIC8vIChOKzEpDQorCSBpcyB0aGVyZWZvcmUgYSBzaGlmdCByaWdo dC4gIFdoZW4gb3BlcmF0aW5nIGluIG1vZGVzIHRoYXQgYXJlDQorCSBtdWx0aXBsZXMgb2YgYSBi eXRlIGluIHNpemUsIHRoZXJlIGFyZSB0d28gY2FzZXM6DQorDQorCSAoMSkgTihOKzMpIGlzIG5v dCByZXByZXNlbnRhYmxlLCBpbiB3aGljaCBjYXNlIHRoZSBxdWVzdGlvbg0KKwkgICAgIGJlY29t ZXMgd2hldGhlciB0aGUgcmVwbGFjZW1lbnQgZXhwcmVzc2lvbiBvdmVyZmxvd3MuDQorCSAgICAg SXQgaXMgZW5vdWdoIHRvIHRlc3QgdGhhdCB4K04rMiBkb2VzIG5vdCBvdmVyZmxvdywNCisJICAg ICBpLmUuIHRoYXQgeCA8IE1BWC0oTisxKS4NCisNCisJICgyKSBOKE4rMykgaXMgcmVwcmVzZW50 YWJsZSwgaW4gd2hpY2ggY2FzZSBpdCBpcyB0aGUgKG9ubHkpDQorCSAgICAgYm91bmQgdGhhdCB3 ZSBuZWVkIHRvIGNoZWNrLg0KKw0KKwkgPz8/IEZvciBub3cgd2UganVzdCBoYW5kbGUgdGhlIGNh c2Ugd2hlcmUgLy8gKE4rMSkgaXMgYSBzaGlmdA0KKwkgcmlnaHQgYnkgaGFsZiB0aGUgcHJlY2lz aW9uLCBzaW5jZSBzb21lIGFyY2hpdGVjdHVyZXMgY2FuDQorCSBvcHRpbWl6ZSB0aGUgYXNzb2Np YXRlZCBhZGRpdGlvbiBhbmQgc2hpZnQgY29tYmluYXRpb25zDQorCSBpbnRvIHNpbmdsZSBpbnN0 cnVjdGlvbnMuICAqLw0KKw0KKyAgICAgIGF1dG8gd2NzdCA9IHdpOjp0b193aWRlIChjc3QpOw0K KyAgICAgIGludCBwb3cgPSB3aTo6ZXhhY3RfbG9nMiAod2NzdCArIDEpOw0KKyAgICAgIGlmIChw b3cgPT0gcHJlYyAvIDIpDQorCXsNCisJICBnaW1wbGUgKnN0bXQgPSBTU0FfTkFNRV9ERUZfU1RN VCAob3BybmQwKTsNCisNCisJICBnaW1wbGVfcmFuZ2VyIHJhbmdlcjsNCisJICBpbnRfcmFuZ2Vf bWF4IHI7DQorDQorCSAgLyogQ2hlY2sgdGhhdCBubyBvdmVyZmxvdyB3aWxsIG9jY3VyLiAgSWYg d2UgZG9uJ3QgaGF2ZSByYW5nZQ0KKwkgICAgIGluZm9ybWF0aW9uIHdlIGNhbid0IHBlcmZvcm0g dGhlIG9wdGltaXphdGlvbi4gICovDQorDQorCSAgaWYgKHJhbmdlci5yYW5nZV9vZl9leHByIChy LCBvcHJuZDAsIHN0bXQpKQ0KKwkgICAgew0KKwkgICAgICB3aWRlX2ludCBtYXggPSByLnVwcGVy X2JvdW5kICgpOw0KKwkgICAgICB3aWRlX2ludCBvbmUgPSB3aTo6c2h3aSAoMSwgcHJlYyk7DQor CSAgICAgIHdpZGVfaW50IGFkZGVyID0gd2k6OmFkZCAob25lLCB3aTo6bHNoaWZ0IChvbmUsIHBv dykpOw0KKwkgICAgICB3aTo6b3ZlcmZsb3dfdHlwZSBvdmY7DQorCSAgICAgIHdpOjphZGQgKG1h eCwgYWRkZXIsIFVOU0lHTkVELCAmb3ZmKTsNCisJICAgICAgaWYgKG92ZiA9PSB3aTo6T1ZGX05P TkUpDQorCQl7DQorCQkgICp0eXBlX291dCA9IHZlY3R5cGU7DQorCQkgIHRyZWUgdGFkZGVyID0g d2lkZV9pbnRfdG9fdHJlZSAoaXR5cGUsIGFkZGVyKTsNCisJCSAgdHJlZSByc2hpZnQgPSB3aWRl X2ludF90b190cmVlIChpdHlwZSwgcG93KTsNCisNCisJCSAgdHJlZSBuZXdfbGhzMSA9IHZlY3Rf cmVjb2dfdGVtcF9zc2FfdmFyIChpdHlwZSwgTlVMTCk7DQorCQkgIGdhc3NpZ24gKnBhdHQxDQor CQkgICAgPSBnaW1wbGVfYnVpbGRfYXNzaWduIChuZXdfbGhzMSwgUExVU19FWFBSLCBvcHJuZDAs IHRhZGRlcik7DQorCQkgIGFwcGVuZF9wYXR0ZXJuX2RlZl9zZXEgKHZpbmZvLCBzdG10X3ZpbmZv LCBwYXR0MSwgdmVjdHlwZSk7DQorDQorCQkgIHRyZWUgbmV3X2xoczIgPSB2ZWN0X3JlY29nX3Rl bXBfc3NhX3ZhciAoaXR5cGUsIE5VTEwpOw0KKwkJICBwYXR0MSA9IGdpbXBsZV9idWlsZF9hc3Np Z24gKG5ld19saHMyLCBSU0hJRlRfRVhQUiwgbmV3X2xoczEsDQorCQkJCQkgICAgICAgcnNoaWZ0 KTsNCisJCSAgYXBwZW5kX3BhdHRlcm5fZGVmX3NlcSAodmluZm8sIHN0bXRfdmluZm8sIHBhdHQx LCB2ZWN0eXBlKTsNCisNCisJCSAgdHJlZSBuZXdfbGhzMyA9IHZlY3RfcmVjb2dfdGVtcF9zc2Ff dmFyIChpdHlwZSwgTlVMTCk7DQorCQkgIHBhdHQxID0gZ2ltcGxlX2J1aWxkX2Fzc2lnbiAobmV3 X2xoczMsIFBMVVNfRVhQUiwgbmV3X2xoczIsDQorCQkJCQkgICAgICAgb3BybmQwKTsNCisJCSAg YXBwZW5kX3BhdHRlcm5fZGVmX3NlcSAodmluZm8sIHN0bXRfdmluZm8sIHBhdHQxLCB2ZWN0eXBl KTsNCisNCisJCSAgdHJlZSBuZXdfbGhzNCA9IHZlY3RfcmVjb2dfdGVtcF9zc2FfdmFyIChpdHlw ZSwgTlVMTCk7DQorCQkgIHBhdHRlcm5fc3RtdCA9IGdpbXBsZV9idWlsZF9hc3NpZ24gKG5ld19s aHM0LCBSU0hJRlRfRVhQUiwNCisJCQkJCQkgICAgICBuZXdfbGhzMywgcnNoaWZ0KTsNCisNCisJ CSAgcmV0dXJuIHBhdHRlcm5fc3RtdDsNCisJCX0NCisJICAgIH0NCisJfQ0KKyAgICB9DQorDQog ICBpZiAocHJlYyA+IEhPU1RfQklUU19QRVJfV0lERV9JTlQNCiAgICAgICB8fCBpbnRlZ2VyX3pl cm9wIChvcHJuZDEpKQ0KICAgICByZXR1cm4gTlVMTDsNCg== --_002_AM0PR08MB53166ADF58FD17513D7B8B95FFB59AM0PR08MB5316eurp_ Content-Type: application/octet-stream; name="rb16930.patch" Content-Description: rb16930.patch Content-Disposition: attachment; filename="rb16930.patch"; size=9243; creation-date="Thu, 09 Mar 2023 19:39:17 GMT"; modification-date="Thu, 09 Mar 2023 19:39:48 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9kb2MvdG0udGV4aSBiL2djYy9kb2MvdG0udGV4aQppbmRleCA1MGE4 ODcyYTY2OTViMThiOWJlZDBkMzkzYmFjZjczMzgzMzYzM2RiLi5iZjcyNjllMzIzZGUxYTA2NWQ0 ZDA0Mzc2ZTVhMjcwM2NiYjBmOWZhIDEwMDY0NAotLS0gYS9nY2MvZG9jL3RtLnRleGkKKysrIGIv Z2NjL2RvYy90bS50ZXhpCkBAIC02MTM3LDYgKzYxMzcsMTIgQEAgaW5zdHJ1Y3Rpb24gcGF0dGVy bi4gIFRoZXJlIGlzIG5vIG5lZWQgZm9yIHRoZSBob29rIHRvIGhhbmRsZSB0aGVzZSB0d28KIGlt cGxlbWVudGF0aW9uIGFwcHJvYWNoZXMgaXRzZWxmLgogQGVuZCBkZWZ0eXBlZm4KIAorQGRlZnR5 cGVmbiB7VGFyZ2V0IEhvb2t9IGJvb2wgVEFSR0VUX1ZFQ1RPUklaRV9QUkVGRVJSRURfRElWX0FT X1NISUZUU19PVkVSX01VTFQgKGNvbnN0X3RyZWUgQHZhcnt0eXBlfSkKK1NvbWV0aW1lcyBpdCBp cyBwb3NzaWJsZSB0byBpbXBsZW1lbnQgYSB2ZWN0b3IgZGl2aXNpb24gdXNpbmcgYSBzZXF1ZW5j ZQorb2YgdHdvIGFkZGl0aW9uLXNoaWZ0IHBhaXJzLCBnaXZpbmcgZm91ciBpbnN0cnVjdGlvbnMg aW4gdG90YWwuCitSZXR1cm4gdHJ1ZSBpZiB0YWtpbmcgdGhpcyBhcHByb2FjaCBmb3IgQHZhcnt2 ZWN0eXBlfSBpcyBsaWtlbHkKK3RvIGJlIGJldHRlciB0aGFuIHVzaW5nIGEgc2VxdWVuY2UgaW52 b2x2aW5nIGhpZ2hwYXJ0IG11bHRpcGxpY2F0aW9uLgorRGVmYXVsdCBpcyBmYWxzZSBpZiBAY29k ZXtjYW5fbXVsdF9oaWdocGFydF9wfSwgb3RoZXJ3aXNlIHRydWUuCiBAZW5kIGRlZnR5cGVmbgog CiBAZGVmdHlwZWZuIHtUYXJnZXQgSG9va30gdHJlZSBUQVJHRVRfVkVDVE9SSVpFX0JVSUxUSU5f VkVDVE9SSVpFRF9GVU5DVElPTiAodW5zaWduZWQgQHZhcntjb2RlfSwgdHJlZSBAdmFye3ZlY190 eXBlX291dH0sIHRyZWUgQHZhcnt2ZWNfdHlwZV9pbn0pCmRpZmYgLS1naXQgYS9nY2MvZG9jL3Rt LnRleGkuaW4gYi9nY2MvZG9jL3RtLnRleGkuaW4KaW5kZXggM2UwNzk3OGEwMmY0ZTYwNzdhZGFl NmNhZGM5M2VhNDI3MzI5NWYxZi4uMDA1MTAxN2E3ZmQ2NzY5MWEzNDM0NzBmMzZhZDRmYzMyYzhl N2UxNSAxMDA2NDQKLS0tIGEvZ2NjL2RvYy90bS50ZXhpLmluCisrKyBiL2djYy9kb2MvdG0udGV4 aS5pbgpAQCAtNDE3Myw2ICs0MTczLDcgQEAgYWRkcmVzczsgIGJ1dCBvZnRlbiBhIG1hY2hpbmUt ZGVwZW5kZW50IHN0cmF0ZWd5IGNhbiBnZW5lcmF0ZSBiZXR0ZXIgY29kZS4KIAogQGhvb2sgVEFS R0VUX1ZFQ1RPUklaRV9WRUNfUEVSTV9DT05TVAogCitAaG9vayBUQVJHRVRfVkVDVE9SSVpFX1BS RUZFUlJFRF9ESVZfQVNfU0hJRlRTX09WRVJfTVVMVAogCiBAaG9vayBUQVJHRVRfVkVDVE9SSVpF X0JVSUxUSU5fVkVDVE9SSVpFRF9GVU5DVElPTgogCmRpZmYgLS1naXQgYS9nY2MvdGFyZ2V0LmRl ZiBiL2djYy90YXJnZXQuZGVmCmluZGV4IGUwYTVjN2FkYmQ5NjJmNWQwOGVkMDhkMWQ4MWFmYTJj MmJhYTY0YTUuLmU0NDc0YTNlZDZiZDJmNWY1YzAxMGJmMGQ0MGMyYTM3MTM3MDQ5MGMgMTAwNjQ0 Ci0tLSBhL2djYy90YXJnZXQuZGVmCisrKyBiL2djYy90YXJnZXQuZGVmCkBAIC0xODY4LDYgKzE4 NjgsMTggQEAgY29ycmVjdCBmb3IgbW9zdCB0YXJnZXRzLiIsCiAgcG9seV91aW50NjQsIChjb25z dF90cmVlIHR5cGUpLAogIGRlZmF1bHRfcHJlZmVycmVkX3ZlY3Rvcl9hbGlnbm1lbnQpCiAKKy8q IFJldHVybnMgd2hldGhlciB0aGUgdGFyZ2V0IGhhcyBhIHByZWZlcmVuY2UgZm9yIGRlY29tcG9z aW5nIGRpdmlzaW9ucyB1c2luZworICAgc2hpZnRzIHJhdGhlciB0aGFuIG11bHRpcGxpZXMuICAq LworREVGSE9PSworKHByZWZlcnJlZF9kaXZfYXNfc2hpZnRzX292ZXJfbXVsdCwKKyAiU29tZXRp bWVzIGl0IGlzIHBvc3NpYmxlIHRvIGltcGxlbWVudCBhIHZlY3RvciBkaXZpc2lvbiB1c2luZyBh IHNlcXVlbmNlXG5cCitvZiB0d28gYWRkaXRpb24tc2hpZnQgcGFpcnMsIGdpdmluZyBmb3VyIGlu c3RydWN0aW9ucyBpbiB0b3RhbC5cblwKK1JldHVybiB0cnVlIGlmIHRha2luZyB0aGlzIGFwcHJv YWNoIGZvciBAdmFye3ZlY3R5cGV9IGlzIGxpa2VseVxuXAordG8gYmUgYmV0dGVyIHRoYW4gdXNp bmcgYSBzZXF1ZW5jZSBpbnZvbHZpbmcgaGlnaHBhcnQgbXVsdGlwbGljYXRpb24uXG5cCitEZWZh dWx0IGlzIGZhbHNlIGlmIEBjb2Rle2Nhbl9tdWx0X2hpZ2hwYXJ0X3B9LCBvdGhlcndpc2UgdHJ1 ZS4iLAorIGJvb2wsIChjb25zdF90cmVlIHR5cGUpLAorIGRlZmF1bHRfcHJlZmVycmVkX2Rpdl9h c19zaGlmdHNfb3Zlcl9tdWx0KQorCiAvKiBSZXR1cm4gdHJ1ZSBpZiB2ZWN0b3IgYWxpZ25tZW50 IGlzIHJlYWNoYWJsZSAoYnkgcGVlbGluZyBOCiAgICBpdGVyYXRpb25zKSBmb3IgdGhlIGdpdmVu IHNjYWxhciB0eXBlLiAgKi8KIERFRkhPT0sKZGlmZiAtLWdpdCBhL2djYy90YXJnaG9va3MuaCBi L2djYy90YXJnaG9va3MuaAppbmRleCBhNmE0ODA5Y2E5MWJhYTVkN2ZhZDIyNDQ1NDkzMTdhMzEz OTBmMGMyLi5hMjA3OTYzYjllNmViOTMwMGRmMDA0M2UxYjc5YWE2Yzk0MWQwZjdmIDEwMDY0NAot LS0gYS9nY2MvdGFyZ2hvb2tzLmgKKysrIGIvZ2NjL3Rhcmdob29rcy5oCkBAIC01Myw2ICs1Myw4 IEBAIGV4dGVybiBzY2FsYXJfaW50X21vZGUgZGVmYXVsdF91bndpbmRfd29yZF9tb2RlICh2b2lk KTsKIGV4dGVybiB1bnNpZ25lZCBIT1NUX1dJREVfSU5UIGRlZmF1bHRfc2hpZnRfdHJ1bmNhdGlv bl9tYXNrCiAgIChtYWNoaW5lX21vZGUpOwogZXh0ZXJuIHVuc2lnbmVkIGludCBkZWZhdWx0X21p bl9kaXZpc2lvbnNfZm9yX3JlY2lwX211bCAobWFjaGluZV9tb2RlKTsKK2V4dGVybiBib29sIGRl ZmF1bHRfcHJlZmVycmVkX2Rpdl9hc19zaGlmdHNfb3Zlcl9tdWx0CisgIChjb25zdF90cmVlKTsK IGV4dGVybiBpbnQgZGVmYXVsdF9tb2RlX3JlcF9leHRlbmRlZCAoc2NhbGFyX2ludF9tb2RlLCBz Y2FsYXJfaW50X21vZGUpOwogCiBleHRlcm4gdHJlZSBkZWZhdWx0X3N0YWNrX3Byb3RlY3RfZ3Vh cmQgKHZvaWQpOwpkaWZmIC0tZ2l0IGEvZ2NjL3Rhcmdob29rcy5jYyBiL2djYy90YXJnaG9va3Mu Y2MKaW5kZXggMjExNTI1NzIwYTYyMGQ2ZjUzM2UyZGE5MWUwMzg3NzMzN2E5MzFlNy4uN2YzOWZm OWI3ZWMyYmY2NjYyNWQ0OGE0N2JiNzZlOTZjMDVhMzIzMyAxMDA2NDQKLS0tIGEvZ2NjL3Rhcmdo b29rcy5jYworKysgYi9nY2MvdGFyZ2hvb2tzLmNjCkBAIC0xNDgzLDYgKzE0ODMsMTUgQEAgZGVm YXVsdF9wcmVmZXJyZWRfdmVjdG9yX2FsaWdubWVudCAoY29uc3RfdHJlZSB0eXBlKQogICByZXR1 cm4gVFlQRV9BTElHTiAodHlwZSk7CiB9CiAKKy8qIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9u IG9mCisgICBUQVJHRVRfVkVDVE9SSVpFX1BSRUZFUlJFRF9ESVZfQVNfU0hJRlRTX09WRVJfTVVM VC4gICovCisKK2Jvb2wKK2RlZmF1bHRfcHJlZmVycmVkX2Rpdl9hc19zaGlmdHNfb3Zlcl9tdWx0 IChjb25zdF90cmVlIHR5cGUpCit7CisgIHJldHVybiBjYW5fbXVsdF9oaWdocGFydF9wIChUWVBF X01PREUgKHR5cGUpLCBUWVBFX1VOU0lHTkVEICh0eXBlKSk7Cit9CisKIC8qIEJ5IGRlZmF1bHQg YXNzdW1lIHZlY3RvcnMgb2YgZWxlbWVudCBUWVBFIHJlcXVpcmUgYSBtdWx0aXBsZSBvZiB0aGUg bmF0dXJhbAogICAgYWxpZ25tZW50IG9mIFRZUEUuICBUWVBFIGlzIG5hdHVyYWxseSBhbGlnbmVk IGlmIElTX1BBQ0tFRCBpcyBmYWxzZS4gICovCiBib29sCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3ZlY3QtZGl2LWJpdG1hc2stNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC92ZWN0LWRpdi1iaXRtYXNrLTQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODFmODk0NjkyMjI1MDIz NGJmNzU5ZTBhMGEwNGVhOGMxZjczZTNjCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC92ZWN0LWRpdi1iaXRtYXNrLTQuYwpAQCAtMCwwICsxLDI1IEBACisvKiB7 IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2ludCB9ICovCisKKyNpbmNsdWRlIDxz dGRpbnQuaD4KKyNpbmNsdWRlICJ0cmVlLXZlY3QuaCIKKwordHlwZWRlZiB1bnNpZ25lZCBfX2F0 dHJpYnV0ZV9fKChfX3ZlY3Rvcl9zaXplX18gKDE2KSkpIFY7CisKK3N0YXRpYyBfX2F0dHJpYnV0 ZV9fKChfX25vaW5saW5lX18pKSBfX2F0dHJpYnV0ZV9fKChfX25vY2xvbmVfXykpIFYKK2ZvbyAo ViB2LCB1bnNpZ25lZCBzaG9ydCBpKQoreworICB2IC89IGk7CisgIHJldHVybiB2OworfQorCitp bnQKK21haW4gKHZvaWQpCit7CisgIFYgdiA9IGZvbyAoKFYpIHsgMHhmZmZmZmZmZiwgMHhmZmZm ZmZmZiwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZiB9LCAweGZmZmYpOworICBmb3IgKHVuc2lnbmVk IGkgPSAwOyBpIDwgc2l6ZW9mICh2KSAvIHNpemVvZiAodlswXSk7IGkrKykKKyAgICBpZiAodltp XSAhPSAweDAwMDEwMDAxKQorICAgICAgX19idWlsdGluX2Fib3J0ICgpOworICByZXR1cm4gMDsK K30KKworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLW5vdCAidmVjdF9yZWNvZ19kaXZt b2RfcGF0dGVybjogZGV0ZWN0ZWQiICJ2ZWN0IiB7IHRhcmdldCBhYXJjaDY0Ki0qLSogfSB9IH0g Ki8KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC1kaXYtYml0bWFz ay01LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3QtZGl2LWJpdG1hc2stNS5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAuLmI0ZWIxYTRkYWNiYTQ4MWU2MzA2YjQ5OTE0ZDJhMjliOTMzZGU2MjUKLS0tIC9k ZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3QtZGl2LWJpdG1hc2st NS5jCkBAIC0wLDAgKzEsNTggQEAKKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZl Y3RfaW50IH0gKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+Cisj aW5jbHVkZSAidHJlZS12ZWN0LmgiCisKKyNkZWZpbmUgTiA1MAorI2RlZmluZSBUWVBFIHVpbnQ4 X3QgCisKKyNpZm5kZWYgREVCVUcKKyNkZWZpbmUgREVCVUcgMAorI2VuZGlmCisKKyNkZWZpbmUg QkFTRSAoKFRZUEUpIC0xIDwgMCA/IC0xMjYgOiA0KQorCisKK19fYXR0cmlidXRlX18oKG5vaXBh LCBub2lubGluZSwgb3B0aW1pemUoIk8xIikpKQordm9pZCBmdW4xKFRZUEUqIHJlc3RyaWN0IHBp eGVsLCBUWVBFIGxldmVsLCBpbnQgbikKK3sKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKz0x KQorICAgIHBpeGVsW2ldID0gKHBpeGVsW2ldICsgbGV2ZWwpIC8gMHhmZjsKK30KKworX19hdHRy aWJ1dGVfXygobm9pcGEsIG5vaW5saW5lLCBvcHRpbWl6ZSgiTzMiKSkpCit2b2lkIGZ1bjIoVFlQ RSogcmVzdHJpY3QgcGl4ZWwsIFRZUEUgbGV2ZWwsIGludCBuKQoreworICBmb3IgKGludCBpID0g MDsgaSA8IG47IGkrPTEpCisgICAgcGl4ZWxbaV0gPSAocGl4ZWxbaV0gKyBsZXZlbCkgLyAweGZm OworfQorCitpbnQgbWFpbiAoKQoreworICBUWVBFIGFbTl07CisgIFRZUEUgYltOXTsKKworICBm b3IgKGludCBpID0gMDsgaSA8IE47ICsraSkKKyAgICB7CisgICAgICBhW2ldID0gQkFTRSArIGkg KiAxMzsKKyAgICAgIGJbaV0gPSBCQVNFICsgaSAqIDEzOworICAgICAgaWYgKERFQlVHKQorICAg ICAgICBwcmludGYgKCIlZDogMHgleFxuIiwgaSwgYVtpXSk7CisgICAgfQorCisgIGZ1bjEgKGEs IE4gLyAyLCBOKTsKKyAgZnVuMiAoYiwgTiAvIDIsIE4pOworCisgIGZvciAoaW50IGkgPSAwOyBp IDwgTjsgKytpKQorICAgIHsKKyAgICAgIGlmIChERUJVRykKKyAgICAgICAgcHJpbnRmICgiJWQg PSAweCV4ID09IDB4JXhcbiIsIGksIGFbaV0sIGJbaV0pOworCisgICAgICBpZiAoYVtpXSAhPSBi W2ldKQorICAgICAgICBfX2J1aWx0aW5fYWJvcnQgKCk7CisgICAgfQorICByZXR1cm4gMDsKK30K KworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wICJkaXZtb2QgcGF0dGVybiByZWNvZ25p emVkIiAidmVjdCIgeyB0YXJnZXQgYWFyY2g2NCotKi0qIH0gfSB9ICovCmRpZmYgLS1naXQgYS9n Y2MvdHJlZS12ZWN0LXBhdHRlcm5zLmNjIGIvZ2NjL3RyZWUtdmVjdC1wYXR0ZXJucy5jYwppbmRl eCAxNzY2Y2UyNzdkNmI4OGQ4YWEzYmU3N2U3YzhhYmI1MDRhMTBhNzM1Li4xODNmMWE2MjNmYmRl MzRmNTA1MjU5Y2Y4ZjRmYjRkMzRlMDY5NjE0IDEwMDY0NAotLS0gYS9nY2MvdHJlZS12ZWN0LXBh dHRlcm5zLmNjCisrKyBiL2djYy90cmVlLXZlY3QtcGF0dGVybnMuY2MKQEAgLTM5MTQsNiArMzkx NCw4MyBAQCB2ZWN0X3JlY29nX2Rpdm1vZF9wYXR0ZXJuICh2ZWNfaW5mbyAqdmluZm8sCiAgICAg ICByZXR1cm4gcGF0dGVybl9zdG10OwogICAgIH0KIAorICBpZiAoKGNzdCA9IHVuaWZvcm1faW50 ZWdlcl9jc3RfcCAob3BybmQxKSkKKwkgICAmJiBUWVBFX1VOU0lHTkVEIChpdHlwZSkKKwkgICAm JiByaHNfY29kZSA9PSBUUlVOQ19ESVZfRVhQUgorCSAgICYmIHZlY3R5cGUKKwkgICAmJiB0YXJn ZXRtLnZlY3Rvcml6ZS5wcmVmZXJyZWRfZGl2X2FzX3NoaWZ0c19vdmVyX211bHQgKHZlY3R5cGUp KQorICAgIHsKKyAgICAgIC8qIFdlIGNhbiB1c2UgdGhlIHJlbGF0aW9uc2hpcDoKKworCSAgIHgg Ly8gTiA9PSAoKHgrTisyKSAvLyAoTisxKSArIHgpIC8vIChOKzEpICBmb3IgMCA8PSB4IDwgTihO KzMpCisKKwkgdG8gb3B0aW1pemUgY2FzZXMgd2hlcmUgTisxIGlzIGEgcG93ZXIgb2YgMiwgYW5k IHdoZXJlIC8vIChOKzEpCisJIGlzIHRoZXJlZm9yZSBhIHNoaWZ0IHJpZ2h0LiAgV2hlbiBvcGVy YXRpbmcgaW4gbW9kZXMgdGhhdCBhcmUKKwkgbXVsdGlwbGVzIG9mIGEgYnl0ZSBpbiBzaXplLCB0 aGVyZSBhcmUgdHdvIGNhc2VzOgorCisJICgxKSBOKE4rMykgaXMgbm90IHJlcHJlc2VudGFibGUs IGluIHdoaWNoIGNhc2UgdGhlIHF1ZXN0aW9uCisJICAgICBiZWNvbWVzIHdoZXRoZXIgdGhlIHJl cGxhY2VtZW50IGV4cHJlc3Npb24gb3ZlcmZsb3dzLgorCSAgICAgSXQgaXMgZW5vdWdoIHRvIHRl c3QgdGhhdCB4K04rMiBkb2VzIG5vdCBvdmVyZmxvdywKKwkgICAgIGkuZS4gdGhhdCB4IDwgTUFY LShOKzEpLgorCisJICgyKSBOKE4rMykgaXMgcmVwcmVzZW50YWJsZSwgaW4gd2hpY2ggY2FzZSBp dCBpcyB0aGUgKG9ubHkpCisJICAgICBib3VuZCB0aGF0IHdlIG5lZWQgdG8gY2hlY2suCisKKwkg Pz8/IEZvciBub3cgd2UganVzdCBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgLy8gKE4rMSkgaXMgYSBz aGlmdAorCSByaWdodCBieSBoYWxmIHRoZSBwcmVjaXNpb24sIHNpbmNlIHNvbWUgYXJjaGl0ZWN0 dXJlcyBjYW4KKwkgb3B0aW1pemUgdGhlIGFzc29jaWF0ZWQgYWRkaXRpb24gYW5kIHNoaWZ0IGNv bWJpbmF0aW9ucworCSBpbnRvIHNpbmdsZSBpbnN0cnVjdGlvbnMuICAqLworCisgICAgICBhdXRv IHdjc3QgPSB3aTo6dG9fd2lkZSAoY3N0KTsKKyAgICAgIGludCBwb3cgPSB3aTo6ZXhhY3RfbG9n MiAod2NzdCArIDEpOworICAgICAgaWYgKHBvdyA9PSBwcmVjIC8gMikKKwl7CisJICBnaW1wbGUg KnN0bXQgPSBTU0FfTkFNRV9ERUZfU1RNVCAob3BybmQwKTsKKworCSAgZ2ltcGxlX3JhbmdlciBy YW5nZXI7CisJICBpbnRfcmFuZ2VfbWF4IHI7CisKKwkgIC8qIENoZWNrIHRoYXQgbm8gb3ZlcmZs b3cgd2lsbCBvY2N1ci4gIElmIHdlIGRvbid0IGhhdmUgcmFuZ2UKKwkgICAgIGluZm9ybWF0aW9u IHdlIGNhbid0IHBlcmZvcm0gdGhlIG9wdGltaXphdGlvbi4gICovCisKKwkgIGlmIChyYW5nZXIu cmFuZ2Vfb2ZfZXhwciAociwgb3BybmQwLCBzdG10KSkKKwkgICAgeworCSAgICAgIHdpZGVfaW50 IG1heCA9IHIudXBwZXJfYm91bmQgKCk7CisJICAgICAgd2lkZV9pbnQgb25lID0gd2k6OnNod2kg KDEsIHByZWMpOworCSAgICAgIHdpZGVfaW50IGFkZGVyID0gd2k6OmFkZCAob25lLCB3aTo6bHNo aWZ0IChvbmUsIHBvdykpOworCSAgICAgIHdpOjpvdmVyZmxvd190eXBlIG92ZjsKKwkgICAgICB3 aTo6YWRkIChtYXgsIGFkZGVyLCBVTlNJR05FRCwgJm92Zik7CisJICAgICAgaWYgKG92ZiA9PSB3 aTo6T1ZGX05PTkUpCisJCXsKKwkJICAqdHlwZV9vdXQgPSB2ZWN0eXBlOworCQkgIHRyZWUgdGFk ZGVyID0gd2lkZV9pbnRfdG9fdHJlZSAoaXR5cGUsIGFkZGVyKTsKKwkJICB0cmVlIHJzaGlmdCA9 IHdpZGVfaW50X3RvX3RyZWUgKGl0eXBlLCBwb3cpOworCisJCSAgdHJlZSBuZXdfbGhzMSA9IHZl Y3RfcmVjb2dfdGVtcF9zc2FfdmFyIChpdHlwZSwgTlVMTCk7CisJCSAgZ2Fzc2lnbiAqcGF0dDEK KwkJICAgID0gZ2ltcGxlX2J1aWxkX2Fzc2lnbiAobmV3X2xoczEsIFBMVVNfRVhQUiwgb3BybmQw LCB0YWRkZXIpOworCQkgIGFwcGVuZF9wYXR0ZXJuX2RlZl9zZXEgKHZpbmZvLCBzdG10X3ZpbmZv LCBwYXR0MSwgdmVjdHlwZSk7CisKKwkJICB0cmVlIG5ld19saHMyID0gdmVjdF9yZWNvZ190ZW1w X3NzYV92YXIgKGl0eXBlLCBOVUxMKTsKKwkJICBwYXR0MSA9IGdpbXBsZV9idWlsZF9hc3NpZ24g KG5ld19saHMyLCBSU0hJRlRfRVhQUiwgbmV3X2xoczEsCisJCQkJCSAgICAgICByc2hpZnQpOwor CQkgIGFwcGVuZF9wYXR0ZXJuX2RlZl9zZXEgKHZpbmZvLCBzdG10X3ZpbmZvLCBwYXR0MSwgdmVj dHlwZSk7CisKKwkJICB0cmVlIG5ld19saHMzID0gdmVjdF9yZWNvZ190ZW1wX3NzYV92YXIgKGl0 eXBlLCBOVUxMKTsKKwkJICBwYXR0MSA9IGdpbXBsZV9idWlsZF9hc3NpZ24gKG5ld19saHMzLCBQ TFVTX0VYUFIsIG5ld19saHMyLAorCQkJCQkgICAgICAgb3BybmQwKTsKKwkJICBhcHBlbmRfcGF0 dGVybl9kZWZfc2VxICh2aW5mbywgc3RtdF92aW5mbywgcGF0dDEsIHZlY3R5cGUpOworCisJCSAg dHJlZSBuZXdfbGhzNCA9IHZlY3RfcmVjb2dfdGVtcF9zc2FfdmFyIChpdHlwZSwgTlVMTCk7CisJ CSAgcGF0dGVybl9zdG10ID0gZ2ltcGxlX2J1aWxkX2Fzc2lnbiAobmV3X2xoczQsIFJTSElGVF9F WFBSLAorCQkJCQkJICAgICAgbmV3X2xoczMsIHJzaGlmdCk7CisKKwkJICByZXR1cm4gcGF0dGVy bl9zdG10OworCQl9CisJICAgIH0KKwl9CisgICAgfQorCiAgIGlmIChwcmVjID4gSE9TVF9CSVRT X1BFUl9XSURFX0lOVAogICAgICAgfHwgaW50ZWdlcl96ZXJvcCAob3BybmQxKSkKICAgICByZXR1 cm4gTlVMTDsK --_002_AM0PR08MB53166ADF58FD17513D7B8B95FFB59AM0PR08MB5316eurp_--