From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2063.outbound.protection.outlook.com [40.107.247.63]) by sourceware.org (Postfix) with ESMTPS id BD0523858D1E for ; Wed, 2 Aug 2023 09:44:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BD0523858D1E 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=cEDzbn1A6EE0mqeoH5iqoGo2IvQ86AG7zc33VTyExbI=; b=PLNUMyWR0FMt7hzFzkkwvFKMIsng4zLy1RWS0E9ES1/etHDAVSiDFbZhQX3UpoJE6cuQYRLqZXSxHqj+mamqoKGKpmR01KHsiu3/rt1dlz9ta+WAR6gyv+ae7PMXIOA/Ns88eIZWSO3fxjesi0u7iP1FgtO6Si1LX3mGmmRpXzo= Received: from AS9P194CA0017.EURP194.PROD.OUTLOOK.COM (2603:10a6:20b:46d::33) by AS2PR08MB9716.eurprd08.prod.outlook.com (2603:10a6:20b:604::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug 2023 09:44:49 +0000 Received: from AM7EUR03FT022.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:46d:cafe::2e) by AS9P194CA0017.outlook.office365.com (2603:10a6:20b:46d::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.19 via Frontend Transport; Wed, 2 Aug 2023 09:44:49 +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 AM7EUR03FT022.mail.protection.outlook.com (100.127.140.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45 via Frontend Transport; Wed, 2 Aug 2023 09:44:49 +0000 Received: ("Tessian outbound 997ae1cc9f47:v145"); Wed, 02 Aug 2023 09:44:49 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 174c4536c05ba96b X-CR-MTA-TID: 64aa7808 Received: from 83cd5006f002.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 2E80D258-56CF-47EC-BD56-C983E5A06F6C.1; Wed, 02 Aug 2023 09:44:43 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 83cd5006f002.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 02 Aug 2023 09:44:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=abzCZ015Y2gJS1V8/QK2k23darP7x0P17bl10Zx0zEDrW9fNmy+HddAz7QMq/yA+0KeIGnXow13ZSsekZSZstN7KNR7wCvQXVeVqmPhpae0KJsPSOYthUKGGI4sWgmu5dDZGkJc8Ga+euftlz6HT4Yw/VOIYYdvyTQiLCA3CtKqjksGi7jFfg4lg0WBt1U4nMUUUJZTBv+2wp0ZnKyVmj6lIZN3Ji1Z/v0kzayHSpOVmV3MIyp/wpc+MvLHrtdJwvqS8sebOWD7qdUdl8n4ferEc12GIMdZsf/SmQUJRe6aUr/Z3t8ZI5A3ecXS/A/JmX/TfUH9G2hddD2oPROH5VA== 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=cEDzbn1A6EE0mqeoH5iqoGo2IvQ86AG7zc33VTyExbI=; b=D91HJyBEuPVVH3zqrhLwkDUB65JVYv4IOXEjFyIEe/9hzRAod+KQFBc+/qOOGqeBGb6yJWP5vN9oGkC9qMX+qWamArDsUguwPZzlBEx5/axZrgRvbxhdzAbe2qbmU2n/Bcj38HugRdu1TFUfFMLphEiqFjw7+Bq4FnMwZc2VqIj0oAqnideQmSQ2qF+BlYi8qfX4ebn/Gbgf17/QXpXaSIbFAKBTC00TcFqdXLAqgF+JEQAcF0mjkoBi5KrIJc9F14MlMq7iUUyfhDzhy11bKNLQDOmaIWlSE2gG33JcBRTbVMGEr8Z7v17gQGFj4QbJWhq0QSzJhQ4rjHs5EdekDw== 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=cEDzbn1A6EE0mqeoH5iqoGo2IvQ86AG7zc33VTyExbI=; b=PLNUMyWR0FMt7hzFzkkwvFKMIsng4zLy1RWS0E9ES1/etHDAVSiDFbZhQX3UpoJE6cuQYRLqZXSxHqj+mamqoKGKpmR01KHsiu3/rt1dlz9ta+WAR6gyv+ae7PMXIOA/Ns88eIZWSO3fxjesi0u7iP1FgtO6Si1LX3mGmmRpXzo= Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by DB9PR08MB9923.eurprd08.prod.outlook.com (2603:10a6:10:3d1::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Wed, 2 Aug 2023 09:44:39 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::a85:6d3:5dd7:7d3]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::a85:6d3:5dd7:7d3%7]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023 09:44:38 +0000 From: Tamar Christina To: "gcc-patches@gcc.gnu.org" CC: nd , "joseph@codesourcery.com" Subject: RE: [PATCH 2/2][frontend]: Add novector C pragma Thread-Topic: [PATCH 2/2][frontend]: Add novector C pragma Thread-Index: AQHZulQF7rMmdnnzi0uV2oXZ8xNEga/Me+NQgApbUWA= Date: Wed, 2 Aug 2023 09:44:37 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: VI1PR08MB5325:EE_|DB9PR08MB9923:EE_|AM7EUR03FT022:EE_|AS2PR08MB9716:EE_ X-MS-Office365-Filtering-Correlation-Id: 77531c8d-cbf2-4fcf-7cfc-08db933d1d1e 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: 9ISSNXhS/bpJ6DeJmo9ae3Q9CMa1VDCH+HBUVBU9wrkfUgarXf/SxiYzeqRFHjJ7xkExz6AoLAVDie63T7VNjoltROwNh55bpRnxWhwZqQaKIJFQbLzwPG85Lcw7JL1PnnRW2dcgLyYorYZOfQtZ+s2pPXB48vPSDIsOlCvQXkhbCDqniVevlWOLMDlE8afuIoFeClwduoLwDD8KGkCexG+nKGA9YhytU3PudwhzpD/iN2aiPLOb+0Fkj7JAE6ND8gEMS6GKm9d16blu8eEEW8+f3lw0ceJ2y8F9qWAoCoxIlphcu4mfIVu/CdfM7cUQcps0xg8Ltp0d7f6dkGoPbMTt/d07EqsLxa+dY+rJ9sXwViuUOM7WjRIGqlgcYyuCHFldzfMxufX/s6p1inyFfmutRa8Zz6FSbx12wsJZBjNFw8v5ZFOiDhHaUU8NEV1SzSKPGvIpUUlHOKIwsW5Nm31SwjG+TGMl0dheU9L267YqiS2mMVImmbOdqGLEo4hw0tzDRnULE6zN4aMOJFSna2wbpa0arVYyp529x9SDvK2eA4nlrgiNg0XEOgWnZjCPwv6aVeGxgErR+3TGiVMp/lN7SDwGwLK1WO60W8BXS3w= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB5325.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(396003)(376002)(366004)(136003)(451199021)(478600001)(38100700002)(122000001)(55016003)(86362001)(33656002)(38070700005)(9686003)(84970400001)(7696005)(71200400001)(8936002)(53546011)(186003)(4743002)(8676002)(6506007)(26005)(5660300002)(76116006)(2906002)(52536014)(4326008)(6916009)(66446008)(66556008)(64756008)(66946007)(66476007)(54906003)(41300700001)(316002)(30864003)(83380400001);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9923 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: AM7EUR03FT022.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 1f2b22b9-8ae1-484a-0afc-08db933d15e1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Fc4qkCxUGqkXC/YrT/Khe2Xevt2jQN2gcdcczHxYRVIRpdeqTl6q5jJB9qe+p1XTI3dkgauwxPDtI4d19B5iCUfuIHTMwbU1libhLZrU24LhvynmKQ5+dfhLFEacQK6gwWfmMpfl3cn15twFSFrGcKm/mAUofhV+WQrkPBhaxEVhHS1F7hlHO+D5mchqNAfp387DzOClyjEpQm8EmoPFBLKQPzsRU9qTy/R2RAXuXgO1QcGsVEcvX9+WwEsPYcUDayoQBLF2ga2Hye8amYRmw27GczqTIX/k3maQBvMWoMh9y6MmePw7lAc9Fe9HFlsbYB5FzqvJoXwdyD5g3F4cX9O1bTPqQ1I87Y8s0ClTg9p97yoMZKOTIx8+s22t8yZyExgegcNQzqMYP8S2uIFbWSFURLC7GEygto/U6DF8Pvg6vcO9PkWCkeVrGEN95VY2fZKuPDrFZwxO232E+1oskPSCWP3F4oEJajpm3jV4RUZYDEAXTu8LXDYY4heAwtUdFfJLkLxplRIf9ChzjSeL3YpNO6TZ9LNmVQbp8WwmQd+vKHQ3C21DCVzbiBOmV3bQmPa4ismKt8waneDIyzpx7i2DIqCYv8GdimqeW4EfLBcJjqBlTnvo0aaxvHlzWUTTH2OYgnlgqLKU+h4aYgjSlSrRBFF8XKR/6QQ3zRs4uNdHDN+EVeInA+RbzY0sw0yTSuSZRMqQtAWwT8D4hOsayy3BDsgBqXAnzDbC2dAGV+c= 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:(13230028)(4636009)(39860400002)(376002)(136003)(396003)(346002)(82310400008)(451199021)(46966006)(40470700004)(36840700001)(40480700001)(55016003)(336012)(4743002)(40460700003)(9686003)(186003)(316002)(86362001)(478600001)(81166007)(54906003)(33656002)(70206006)(7696005)(70586007)(4326008)(6916009)(356005)(82740400003)(6506007)(53546011)(41300700001)(26005)(107886003)(5660300002)(52536014)(8676002)(8936002)(84970400001)(47076005)(30864003)(2906002)(36860700001)(83380400001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 09:44:49.3101 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 77531c8d-cbf2-4fcf-7cfc-08db933d1d1e 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: AM7EUR03FT022.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9716 X-Spam-Status: No, score=-12.0 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,T_SCC_BODY_TEXT_LINE,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: UGluZy4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBUYW1hciBDaHJp c3RpbmEgPFRhbWFyLkNocmlzdGluYUBhcm0uY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIEp1bHkg MjYsIDIwMjMgODozNSBQTQ0KPiBUbzogVGFtYXIgQ2hyaXN0aW5hIDxUYW1hci5DaHJpc3RpbmFA YXJtLmNvbT47IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnDQo+IENjOiBuZCA8bmRAYXJtLmNvbT47 IGpvc2VwaEBjb2Rlc291cmNlcnkuY29tDQo+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggMi8yXVtmcm9u dGVuZF06IEFkZCBub3ZlY3RvciBDIHByYWdtYQ0KPiANCj4gSGksIFRoaXMgaXMgYSByZXNwaW4g b2YgdGhlIHBhdGNoIHRha2luZyBpbiB0aGUgZmVlZGJhY2sgcmVjZWl2ZWQgZnJvbSB0aGUgQysr DQo+IHBhcnQuDQo+IA0KPiBTaW11bHRhbmVvdXNseSBpdCdzIGFsc28gYSBwaW5nIPCfmIoNCj4g DQo+IC0tLS0NCj4gDQo+IEhpIEFsbCwNCj4gDQo+IEZPUlRSQU4gY3VycmVudGx5IGhhcyBhIHBy YWdtYSBOT1ZFQ1RPUiBmb3IgaW5kaWNhdGluZyB0aGF0IHZlY3Rvcml6YXRpb24NCj4gc2hvdWxk IG5vdCBiZSBhcHBsaWVkIHRvIGEgcGFydGljdWxhciBsb29wLg0KPiANCj4gSUNDL0lDWCBhbHNv IGhhcyBzdWNoIGEgcHJhZ21hIGZvciBDIGFuZCBDKysgY2FsbGVkICNwcmFnbWEgbm92ZWN0b3Iu DQo+IA0KPiBBcyBwYXJ0IG9mIHRoaXMgcGF0Y2ggc2VyaWVzIEkgbmVlZCBhIHdheSB0byBlYXNp bHkgdHVybiBvZmYgdmVjdG9yaXphdGlvbiBvZg0KPiBwYXJ0aWN1bGFyIGxvb3BzLCBwYXJ0aWN1 bGFybHkgZm9yIHRlc3RzdWl0ZSByZWFzb25zLg0KPiANCj4gVGhpcyBwYXRjaCBwcm9wb3NlcyBh ICNwcmFnbWEgR0NDIG5vdmVjdG9yIHRoYXQgZG9lcyB0aGUgc2FtZSBmb3IgQyBhcw0KPiBnZm9y dGFuIGRvZXMgZm9yIEZPUlRSQU4gYW5kIHdoYXQgSUNYL0lDWCBkb2VzIGZvciBDLg0KPiANCj4g SSBhZGRlZCBvbmx5IHNvbWUgYmFzaWMgdGVzdHMgaGVyZSwgYnV0IHRoZSBuZXh0IHBhdGNoIGlu IHRoZSBzZXJpZXMgdXNlcyB0aGlzIGluDQo+IHRoZSB0ZXN0c3VpdGUgaW4gYWJvdXQgfjgwMCB0 ZXN0cy4NCj4gDQo+IEJvb3RzdHJhcHBlZCBSZWd0ZXN0ZWQgb24gYWFyY2g2NC1ub25lLWxpbnV4 LWdudSBhbmQgbm8gaXNzdWVzLg0KPiANCj4gT2sgZm9yIG1hc3Rlcj8NCj4gDQo+IFRoYW5rcywN Cj4gVGFtYXINCj4gDQo+IGdjYy9jLWZhbWlseS9DaGFuZ2VMb2c6DQo+IA0KPiAJKiBjLXByYWdt YS5oIChlbnVtIHByYWdtYV9raW5kKTogQWRkIFBSQUdNQV9OT1ZFQ1RPUi4NCj4gCSogYy1wcmFn bWEuY2MgKGluaXRfcHJhZ21hKTogVXNlIGl0Lg0KPiANCj4gZ2NjL2MvQ2hhbmdlTG9nOg0KPiAN Cj4gCSogYy1wYXJzZXIuY2MgKGNfcGFyc2VyX3doaWxlX3N0YXRlbWVudCwgY19wYXJzZXJfZG9f c3RhdGVtZW50LA0KPiAJY19wYXJzZXJfZm9yX3N0YXRlbWVudCwgY19wYXJzZXJfc3RhdGVtZW50 X2FmdGVyX2xhYmVscywNCj4gCWNfcGFyc2VfcHJhZ21hX25vdmVjdG9yLCBjX3BhcnNlcl9wcmFn bWEpOiBXaXJlIHRocm91Z2ggbm92ZWN0b3INCj4gYW5kDQo+IAlkZWZhdWx0IHRvIGZhbHNlLg0K PiANCj4gZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6DQo+IA0KPiAJKiBnY2MuZGcvdmVjdC92ZWN0 LW5vdmVjdG9yLXByYWdtYS5jOiBOZXcgdGVzdC4NCj4gDQo+IC0tLSBpbmxpbmUgY29weSBvZiBw YXRjaCAtLS0NCj4gDQo+IGRpZmYgLS1naXQgYS9nY2MvYy1mYW1pbHkvYy1wcmFnbWEuaCBiL2dj Yy9jLWZhbWlseS9jLXByYWdtYS5oIGluZGV4DQo+IDljYzk1YWIzZWUzNzY2MjhkYmVmMjQ4NWI4 NGU2MDA4MjEwZmE4ZmMuLjk5Y2YyZThiZDFjMDU1MzdjMTk4NA0KPiA3MGYxYWFhMGE1YTlkYTRl NTc2IDEwMDY0NA0KPiAtLS0gYS9nY2MvYy1mYW1pbHkvYy1wcmFnbWEuaA0KPiArKysgYi9nY2Mv Yy1mYW1pbHkvYy1wcmFnbWEuaA0KPiBAQCAtODcsNiArODcsNyBAQCBlbnVtIHByYWdtYV9raW5k IHsNCj4gICAgUFJBR01BX0dDQ19QQ0hfUFJFUFJPQ0VTUywNCj4gICAgUFJBR01BX0lWREVQLA0K PiAgICBQUkFHTUFfVU5ST0xMLA0KPiArICBQUkFHTUFfTk9WRUNUT1IsDQo+IA0KPiAgICBQUkFH TUFfRklSU1RfRVhURVJOQUwNCj4gIH07DQo+IGRpZmYgLS1naXQgYS9nY2MvYy1mYW1pbHkvYy1w cmFnbWEuY2MgYi9nY2MvYy1mYW1pbHkvYy1wcmFnbWEuY2MgaW5kZXgNCj4gMGQyYjMzM2NlYmJl ZDMyNDIzZDVkYzZmZDJhM2FjMGNlMGJmOGI5NC4uODQ4YTg1MGI4ZTEyM2ZmMWM2YWUxZQ0KPiBj NGI3ZjhjY2JkNTk5YjFhODggMTAwNjQ0DQo+IC0tLSBhL2djYy9jLWZhbWlseS9jLXByYWdtYS5j Yw0KPiArKysgYi9nY2MvYy1mYW1pbHkvYy1wcmFnbWEuY2MNCj4gQEAgLTE4NjIsNiArMTg2Miwx MCBAQCBpbml0X3ByYWdtYSAodm9pZCkNCj4gICAgICBjcHBfcmVnaXN0ZXJfZGVmZXJyZWRfcHJh Z21hIChwYXJzZV9pbiwgIkdDQyIsICJ1bnJvbGwiLA0KPiBQUkFHTUFfVU5ST0xMLA0KPiAgCQkJ CSAgZmFsc2UsIGZhbHNlKTsNCj4gDQo+ICsgIGlmICghZmxhZ19wcmVwcm9jZXNzX29ubHkpDQo+ ICsgICAgY3BwX3JlZ2lzdGVyX2RlZmVycmVkX3ByYWdtYSAocGFyc2VfaW4sICJHQ0MiLCAibm92 ZWN0b3IiLA0KPiBQUkFHTUFfTk9WRUNUT1IsDQo+ICsJCQkJICBmYWxzZSwgZmFsc2UpOw0KPiAr DQo+ICAjaWZkZWYgSEFORExFX1BSQUdNQV9QQUNLX1dJVEhfRVhQQU5TSU9ODQo+ICAgIGNfcmVn aXN0ZXJfcHJhZ21hX3dpdGhfZXhwYW5zaW9uICgwLCAicGFjayIsIGhhbmRsZV9wcmFnbWFfcGFj ayk7ICAjZWxzZQ0KPiBkaWZmIC0tZ2l0IGEvZ2NjL2MvYy1wYXJzZXIuY2MgYi9nY2MvYy9jLXBh cnNlci5jYyBpbmRleA0KPiAyNGE2ZWI2ZTQ1OTZmMzJjNDc3ZTNmMWMzZjk4Yjk3OTJmN2JjOTJj Li43NGYzY2JiMGQ2MWI1ZjRjMGViMzAwDQo+IDY3MmY0OTVkZGUzZjE1MTdmNyAxMDA2NDQNCj4g LS0tIGEvZ2NjL2MvYy1wYXJzZXIuY2MNCj4gKysrIGIvZ2NjL2MvYy1wYXJzZXIuY2MNCj4gQEAg LTE1NzIsOSArMTU3MiwxMSBAQCBzdGF0aWMgdHJlZSBjX3BhcnNlcl9jOTlfYmxvY2tfc3RhdGVt ZW50DQo+IChjX3BhcnNlciAqLCBib29sICosDQo+ICAJCQkJCSAgbG9jYXRpb25fdCAqID0gTlVM TCk7DQo+ICBzdGF0aWMgdm9pZCBjX3BhcnNlcl9pZl9zdGF0ZW1lbnQgKGNfcGFyc2VyICosIGJv b2wgKiwgdmVjPHRyZWU+ICopOyAgc3RhdGljIHZvaWQNCj4gY19wYXJzZXJfc3dpdGNoX3N0YXRl bWVudCAoY19wYXJzZXIgKiwgYm9vbCAqKTsgLXN0YXRpYyB2b2lkDQo+IGNfcGFyc2VyX3doaWxl X3N0YXRlbWVudCAoY19wYXJzZXIgKiwgYm9vbCwgdW5zaWduZWQgc2hvcnQsIGJvb2wgKik7IC1z dGF0aWMNCj4gdm9pZCBjX3BhcnNlcl9kb19zdGF0ZW1lbnQgKGNfcGFyc2VyICosIGJvb2wsIHVu c2lnbmVkIHNob3J0KTsgLXN0YXRpYyB2b2lkDQo+IGNfcGFyc2VyX2Zvcl9zdGF0ZW1lbnQgKGNf cGFyc2VyICosIGJvb2wsIHVuc2lnbmVkIHNob3J0LCBib29sICopOw0KPiArc3RhdGljIHZvaWQg Y19wYXJzZXJfd2hpbGVfc3RhdGVtZW50IChjX3BhcnNlciAqLCBib29sLCB1bnNpZ25lZCBzaG9y dCwgYm9vbCwNCj4gKwkJCQkgICAgICBib29sICopOw0KPiArc3RhdGljIHZvaWQgY19wYXJzZXJf ZG9fc3RhdGVtZW50IChjX3BhcnNlciAqLCBib29sLCB1bnNpZ25lZCBzaG9ydCwNCj4gK2Jvb2wp OyBzdGF0aWMgdm9pZCBjX3BhcnNlcl9mb3Jfc3RhdGVtZW50IChjX3BhcnNlciAqLCBib29sLCB1 bnNpZ25lZCBzaG9ydCwNCj4gYm9vbCwNCj4gKwkJCQkgICAgYm9vbCAqKTsNCj4gIHN0YXRpYyB0 cmVlIGNfcGFyc2VyX2FzbV9zdGF0ZW1lbnQgKGNfcGFyc2VyICopOyAgc3RhdGljIHRyZWUNCj4g Y19wYXJzZXJfYXNtX29wZXJhbmRzIChjX3BhcnNlciAqKTsgIHN0YXRpYyB0cmVlDQo+IGNfcGFy c2VyX2FzbV9nb3RvX29wZXJhbmRzIChjX3BhcnNlciAqKTsgQEAgLTY2NDQsMTMgKzY2NDYsMTMg QEANCj4gY19wYXJzZXJfc3RhdGVtZW50X2FmdGVyX2xhYmVscyAoY19wYXJzZXIgKnBhcnNlciwg Ym9vbCAqaWZfcCwNCj4gIAkgIGNfcGFyc2VyX3N3aXRjaF9zdGF0ZW1lbnQgKHBhcnNlciwgaWZf cCk7DQo+ICAJICBicmVhazsNCj4gIAljYXNlIFJJRF9XSElMRToNCj4gLQkgIGNfcGFyc2VyX3do aWxlX3N0YXRlbWVudCAocGFyc2VyLCBmYWxzZSwgMCwgaWZfcCk7DQo+ICsJICBjX3BhcnNlcl93 aGlsZV9zdGF0ZW1lbnQgKHBhcnNlciwgZmFsc2UsIDAsIGZhbHNlLCBpZl9wKTsNCj4gIAkgIGJy ZWFrOw0KPiAgCWNhc2UgUklEX0RPOg0KPiAtCSAgY19wYXJzZXJfZG9fc3RhdGVtZW50IChwYXJz ZXIsIGZhbHNlLCAwKTsNCj4gKwkgIGNfcGFyc2VyX2RvX3N0YXRlbWVudCAocGFyc2VyLCBmYWxz ZSwgMCwgZmFsc2UpOw0KPiAgCSAgYnJlYWs7DQo+ICAJY2FzZSBSSURfRk9SOg0KPiAtCSAgY19w YXJzZXJfZm9yX3N0YXRlbWVudCAocGFyc2VyLCBmYWxzZSwgMCwgaWZfcCk7DQo+ICsJICBjX3Bh cnNlcl9mb3Jfc3RhdGVtZW50IChwYXJzZXIsIGZhbHNlLCAwLCBmYWxzZSwgaWZfcCk7DQo+ICAJ ICBicmVhazsNCj4gIAljYXNlIFJJRF9HT1RPOg0KPiAgCSAgY19wYXJzZXJfY29uc3VtZV90b2tl biAocGFyc2VyKTsNCj4gQEAgLTcxNDYsNyArNzE0OCw3IEBAIGNfcGFyc2VyX3N3aXRjaF9zdGF0 ZW1lbnQgKGNfcGFyc2VyICpwYXJzZXIsIGJvb2wNCj4gKmlmX3ApDQo+IA0KPiAgc3RhdGljIHZv aWQNCj4gIGNfcGFyc2VyX3doaWxlX3N0YXRlbWVudCAoY19wYXJzZXIgKnBhcnNlciwgYm9vbCBp dmRlcCwgdW5zaWduZWQgc2hvcnQNCj4gdW5yb2xsLA0KPiAtCQkJICBib29sICppZl9wKQ0KPiAr CQkJICBib29sIG5vdmVjdG9yLCBib29sICppZl9wKQ0KPiAgew0KPiAgICB0cmVlIGJsb2NrLCBj b25kLCBib2R5Ow0KPiAgICB1bnNpZ25lZCBjaGFyIHNhdmVfaW5fc3RhdGVtZW50Ow0KPiBAQCAt NzE2OCw2ICs3MTcwLDExIEBAIGNfcGFyc2VyX3doaWxlX3N0YXRlbWVudCAoY19wYXJzZXIgKnBh cnNlciwNCj4gYm9vbCBpdmRlcCwgdW5zaWduZWQgc2hvcnQgdW5yb2xsLA0KPiAgCQkgICBidWls ZF9pbnRfY3N0IChpbnRlZ2VyX3R5cGVfbm9kZSwNCj4gIAkJCQkgIGFubm90X2V4cHJfdW5yb2xs X2tpbmQpLA0KPiAgCQkgICBidWlsZF9pbnRfY3N0IChpbnRlZ2VyX3R5cGVfbm9kZSwgdW5yb2xs KSk7DQo+ICsgIGlmIChub3ZlY3RvciAmJiBjb25kICE9IGVycm9yX21hcmtfbm9kZSkNCj4gKyAg ICBjb25kID0gYnVpbGQzIChBTk5PVEFURV9FWFBSLCBUUkVFX1RZUEUgKGNvbmQpLCBjb25kLA0K PiArCQkgICBidWlsZF9pbnRfY3N0IChpbnRlZ2VyX3R5cGVfbm9kZSwNCj4gKwkJCQkgIGFubm90 X2V4cHJfbm9fdmVjdG9yX2tpbmQpLA0KPiArCQkgICBpbnRlZ2VyX3plcm9fbm9kZSk7DQo+ICAg IHNhdmVfaW5fc3RhdGVtZW50ID0gaW5fc3RhdGVtZW50Ow0KPiAgICBpbl9zdGF0ZW1lbnQgPSBJ Tl9JVEVSQVRJT05fU1RNVDsNCj4gDQo+IEBAIC03MTk5LDcgKzcyMDYsOCBAQCBjX3BhcnNlcl93 aGlsZV9zdGF0ZW1lbnQgKGNfcGFyc2VyICpwYXJzZXIsIGJvb2wNCj4gaXZkZXAsIHVuc2lnbmVk IHNob3J0IHVucm9sbCwgICovDQo+IA0KPiAgc3RhdGljIHZvaWQNCj4gLWNfcGFyc2VyX2RvX3N0 YXRlbWVudCAoY19wYXJzZXIgKnBhcnNlciwgYm9vbCBpdmRlcCwgdW5zaWduZWQgc2hvcnQgdW5y b2xsKQ0KPiArY19wYXJzZXJfZG9fc3RhdGVtZW50IChjX3BhcnNlciAqcGFyc2VyLCBib29sIGl2 ZGVwLCB1bnNpZ25lZCBzaG9ydCB1bnJvbGwsDQo+ICsJCSAgICAgICBib29sIG5vdmVjdG9yKQ0K PiAgew0KPiAgICB0cmVlIGJsb2NrLCBjb25kLCBib2R5Ow0KPiAgICB1bnNpZ25lZCBjaGFyIHNh dmVfaW5fc3RhdGVtZW50Ow0KPiBAQCAtNzIyOCw2ICs3MjM2LDExIEBAIGNfcGFyc2VyX2RvX3N0 YXRlbWVudCAoY19wYXJzZXIgKnBhcnNlciwgYm9vbA0KPiBpdmRlcCwgdW5zaWduZWQgc2hvcnQg dW5yb2xsKQ0KPiAgCQkgICBidWlsZF9pbnRfY3N0IChpbnRlZ2VyX3R5cGVfbm9kZSwNCj4gIAkJ CQkgIGFubm90X2V4cHJfdW5yb2xsX2tpbmQpLA0KPiAgIAkJICAgYnVpbGRfaW50X2NzdCAoaW50 ZWdlcl90eXBlX25vZGUsIHVucm9sbCkpOw0KPiArICBpZiAobm92ZWN0b3IgJiYgY29uZCAhPSBl cnJvcl9tYXJrX25vZGUpDQo+ICsgICAgY29uZCA9IGJ1aWxkMyAoQU5OT1RBVEVfRVhQUiwgVFJF RV9UWVBFIChjb25kKSwgY29uZCwNCj4gKwkJICAgYnVpbGRfaW50X2NzdCAoaW50ZWdlcl90eXBl X25vZGUsDQo+ICsJCQkJICBhbm5vdF9leHByX25vX3ZlY3Rvcl9raW5kKSwNCj4gKwkJICAgaW50 ZWdlcl96ZXJvX25vZGUpOw0KPiAgICBpZiAoIWNfcGFyc2VyX3JlcXVpcmUgKHBhcnNlciwgQ1BQ X1NFTUlDT0xPTiwgImV4cGVjdGVkICU8OyU+IikpDQo+ICAgICAgY19wYXJzZXJfc2tpcF90b19l bmRfb2ZfYmxvY2tfb3Jfc3RhdGVtZW50IChwYXJzZXIpOw0KPiANCj4gQEAgLTcyOTYsNyArNzMw OSw3IEBAIGNfcGFyc2VyX2RvX3N0YXRlbWVudCAoY19wYXJzZXIgKnBhcnNlciwgYm9vbA0KPiBp dmRlcCwgdW5zaWduZWQgc2hvcnQgdW5yb2xsKQ0KPiANCj4gIHN0YXRpYyB2b2lkDQo+ICBjX3Bh cnNlcl9mb3Jfc3RhdGVtZW50IChjX3BhcnNlciAqcGFyc2VyLCBib29sIGl2ZGVwLCB1bnNpZ25l ZCBzaG9ydCB1bnJvbGwsDQo+IC0JCQlib29sICppZl9wKQ0KPiArCQkJYm9vbCBub3ZlY3Rvciwg Ym9vbCAqaWZfcCkNCj4gIHsNCj4gICAgdHJlZSBibG9jaywgY29uZCwgaW5jciwgYm9keTsNCj4g ICAgdW5zaWduZWQgY2hhciBzYXZlX2luX3N0YXRlbWVudDsNCj4gQEAgLTc0NTIsNiArNzQ2NSwx MSBAQCBjX3BhcnNlcl9mb3Jfc3RhdGVtZW50IChjX3BhcnNlciAqcGFyc2VyLCBib29sDQo+IGl2 ZGVwLCB1bnNpZ25lZCBzaG9ydCB1bnJvbGwsDQo+ICAgCQkJICAgYnVpbGRfaW50X2NzdCAoaW50 ZWdlcl90eXBlX25vZGUsDQo+ICAJCQkJCSAgYW5ub3RfZXhwcl91bnJvbGxfa2luZCksDQo+ICAJ CQkgICBidWlsZF9pbnRfY3N0IChpbnRlZ2VyX3R5cGVfbm9kZSwgdW5yb2xsKSk7DQo+ICsJICBp ZiAobm92ZWN0b3IgJiYgY29uZCAhPSBlcnJvcl9tYXJrX25vZGUpDQo+ICsJICAgIGNvbmQgPSBi dWlsZDMgKEFOTk9UQVRFX0VYUFIsIFRSRUVfVFlQRSAoY29uZCksIGNvbmQsDQo+ICsJCQkgICBi dWlsZF9pbnRfY3N0IChpbnRlZ2VyX3R5cGVfbm9kZSwNCj4gKwkJCQkJICBhbm5vdF9leHByX25v X3ZlY3Rvcl9raW5kKSwNCj4gKwkJCSAgIGludGVnZXJfemVyb19ub2RlKTsNCj4gIAl9DQo+ICAg ICAgICAvKiBQYXJzZSB0aGUgaW5jcmVtZW50IGV4cHJlc3Npb24gKHRoZSB0aGlyZCBleHByZXNz aW9uIGluIGENCj4gIAkgZm9yLXN0YXRlbWVudCkuICBJbiB0aGUgY2FzZSBvZiBhIGZvcmVhY2gt c3RhdGVtZW50LCB0aGlzIGlzIEBAIC0NCj4gMTMwMzcsNiArMTMwNTUsMTYgQEAgY19wYXJzZV9w cmFnbWFfaXZkZXAgKGNfcGFyc2VyICpwYXJzZXIpDQo+ICAgIHJldHVybiB0cnVlOw0KPiAgfQ0K PiANCj4gKy8qIFBhcnNlIGEgcHJhZ21hIEdDQyBub3ZlY3Rvci4gICovDQo+ICsNCj4gK3N0YXRp YyBib29sDQo+ICtjX3BhcnNlX3ByYWdtYV9ub3ZlY3RvciAoY19wYXJzZXIgKnBhcnNlcikgew0K PiArICBjX3BhcnNlcl9jb25zdW1lX3ByYWdtYSAocGFyc2VyKTsNCj4gKyAgY19wYXJzZXJfc2tp cF90b19wcmFnbWFfZW9sIChwYXJzZXIpOw0KPiArICByZXR1cm4gdHJ1ZTsNCj4gK30NCj4gKw0K PiAgLyogUGFyc2UgYSBwcmFnbWEgR0NDIHVucm9sbC4gICovDQo+IA0KPiAgc3RhdGljIHVuc2ln bmVkIHNob3J0DQo+IEBAIC0xMzI2MSwzOCArMTMyODksNTEgQEAgY19wYXJzZXJfcHJhZ21hIChj X3BhcnNlciAqcGFyc2VyLCBlbnVtDQo+IHByYWdtYV9jb250ZXh0IGNvbnRleHQsIGJvb2wgKmlm X3ApDQo+ICAgICAgY2FzZSBQUkFHTUFfT01QX09SREVSRUQ6DQo+ICAgICAgICByZXR1cm4gY19w YXJzZXJfb21wX29yZGVyZWQgKHBhcnNlciwgY29udGV4dCwgaWZfcCk7DQo+IA0KPiArICAgIGNh c2UgUFJBR01BX05PVkVDVE9SOg0KPiArICAgIGNhc2UgUFJBR01BX1VOUk9MTDoNCj4gICAgICBj YXNlIFBSQUdNQV9JVkRFUDoNCj4gICAgICAgIHsNCj4gLQljb25zdCBib29sIGl2ZGVwID0gY19w YXJzZV9wcmFnbWFfaXZkZXAgKHBhcnNlcik7DQo+IC0JdW5zaWduZWQgc2hvcnQgdW5yb2xsOw0K PiAtCWlmIChjX3BhcnNlcl9wZWVrX3Rva2VuIChwYXJzZXIpLT5wcmFnbWFfa2luZCA9PQ0KPiBQ UkFHTUFfVU5ST0xMKQ0KPiAtCSAgdW5yb2xsID0gY19wYXJzZXJfcHJhZ21hX3Vucm9sbCAocGFy c2VyKTsNCj4gLQllbHNlDQo+IC0JICB1bnJvbGwgPSAwOw0KPiAtCWlmICghY19wYXJzZXJfbmV4 dF90b2tlbl9pc19rZXl3b3JkIChwYXJzZXIsIFJJRF9GT1IpDQo+IC0JICAgICYmICFjX3BhcnNl cl9uZXh0X3Rva2VuX2lzX2tleXdvcmQgKHBhcnNlciwgUklEX1dISUxFKQ0KPiAtCSAgICAmJiAh Y19wYXJzZXJfbmV4dF90b2tlbl9pc19rZXl3b3JkIChwYXJzZXIsIFJJRF9ETykpDQo+ICsJYm9v bCBub3ZlY3RvciA9IGZhbHNlOw0KPiArCXVuc2lnbmVkIHNob3J0IHVucm9sbCA9IDA7DQo+ICsJ Ym9vbCBpdmRlcCA9IGZhbHNlOw0KPiArDQo+ICsJc3dpdGNoIChpZCkNCj4gIAkgIHsNCj4gLQkg ICAgY19wYXJzZXJfZXJyb3IgKHBhcnNlciwgImZvciwgd2hpbGUgb3IgZG8gc3RhdGVtZW50IGV4 cGVjdGVkIik7DQo+IC0JICAgIHJldHVybiBmYWxzZTsNCj4gKwkgIGNhc2UgUFJBR01BX05PVkVD VE9SOg0KPiArCSAgICBub3ZlY3RvciA9IGNfcGFyc2VfcHJhZ21hX25vdmVjdG9yIChwYXJzZXIp Ow0KPiArCSAgICBicmVhazsNCj4gKwkgIGNhc2UgUFJBR01BX1VOUk9MTDoNCj4gKwkgICAgdW5y b2xsID0gY19wYXJzZXJfcHJhZ21hX3Vucm9sbCAocGFyc2VyKTsNCj4gKwkgICAgYnJlYWs7DQo+ ICsJICBjYXNlIFBSQUdNQV9JVkRFUDoNCj4gKwkgICAgaXZkZXAgPSBjX3BhcnNlX3ByYWdtYV9p dmRlcCAocGFyc2VyKTsNCj4gKwkgICAgYnJlYWs7DQo+ICsJICBkZWZhdWx0Og0KPiArCSAgICBn Y2NfdW5yZWFjaGFibGUgKCk7DQo+ICAJICB9DQo+IC0JaWYgKGNfcGFyc2VyX25leHRfdG9rZW5f aXNfa2V5d29yZCAocGFyc2VyLCBSSURfRk9SKSkNCj4gLQkgIGNfcGFyc2VyX2Zvcl9zdGF0ZW1l bnQgKHBhcnNlciwgaXZkZXAsIHVucm9sbCwgaWZfcCk7DQo+IC0JZWxzZSBpZiAoY19wYXJzZXJf bmV4dF90b2tlbl9pc19rZXl3b3JkIChwYXJzZXIsIFJJRF9XSElMRSkpDQo+IC0JICBjX3BhcnNl cl93aGlsZV9zdGF0ZW1lbnQgKHBhcnNlciwgaXZkZXAsIHVucm9sbCwgaWZfcCk7DQo+IC0JZWxz ZQ0KPiAtCSAgY19wYXJzZXJfZG9fc3RhdGVtZW50IChwYXJzZXIsIGl2ZGVwLCB1bnJvbGwpOw0K PiAtICAgICAgfQ0KPiAtICAgICAgcmV0dXJuIHRydWU7DQo+IA0KPiAtICAgIGNhc2UgUFJBR01B X1VOUk9MTDoNCj4gLSAgICAgIHsNCj4gLQl1bnNpZ25lZCBzaG9ydCB1bnJvbGwgPSBjX3BhcnNl cl9wcmFnbWFfdW5yb2xsIChwYXJzZXIpOw0KPiAtCWJvb2wgaXZkZXA7DQo+IC0JaWYgKGNfcGFy c2VyX3BlZWtfdG9rZW4gKHBhcnNlciktPnByYWdtYV9raW5kID09IFBSQUdNQV9JVkRFUCkNCj4g LQkgIGl2ZGVwID0gY19wYXJzZV9wcmFnbWFfaXZkZXAgKHBhcnNlcik7DQo+IC0JZWxzZQ0KPiAt CSAgaXZkZXAgPSBmYWxzZTsNCj4gKwljX3Rva2VuICp0b2sgPSBjX3BhcnNlcl9wZWVrX3Rva2Vu IChwYXJzZXIpOw0KPiArCWJvb2wgaGFzX21vcmUgPSB0b2stPnR5cGUgPT0gQ1BQX1BSQUdNQTsN Cj4gKwl3aGlsZSAoaGFzX21vcmUpDQo+ICsJICB7DQo+ICsJICAgIHN3aXRjaCAodG9rLT5wcmFn bWFfa2luZCkNCj4gKwkgICAgICB7DQo+ICsJICAgICAgY2FzZSBQUkFHTUFfSVZERVA6DQo+ICsJ CWl2ZGVwID0gY19wYXJzZV9wcmFnbWFfaXZkZXAgKHBhcnNlcik7DQo+ICsJCWJyZWFrOw0KPiAr CSAgICAgIGNhc2UgUFJBR01BX1VOUk9MTDoNCj4gKwkJdW5yb2xsID0gY19wYXJzZXJfcHJhZ21h X3Vucm9sbCAocGFyc2VyKTsNCj4gKwkJYnJlYWs7DQo+ICsJICAgICAgY2FzZSBQUkFHTUFfTk9W RUNUT1I6DQo+ICsJCW5vdmVjdG9yID0gY19wYXJzZV9wcmFnbWFfbm92ZWN0b3IgKHBhcnNlcik7 DQo+ICsJCWJyZWFrOw0KPiArCSAgICAgIGRlZmF1bHQ6DQo+ICsJCWhhc19tb3JlID0gZmFsc2U7 DQo+ICsJCWJyZWFrOw0KPiArCSAgICAgIH0NCj4gKwkgICAgdG9rID0gY19wYXJzZXJfcGVla190 b2tlbiAocGFyc2VyKTsNCj4gKwkgICAgaGFzX21vcmUgPSBoYXNfbW9yZSAmJiB0b2stPnR5cGUg PT0gQ1BQX1BSQUdNQTsNCj4gKwkgIH0NCj4gIAlpZiAoIWNfcGFyc2VyX25leHRfdG9rZW5faXNf a2V5d29yZCAocGFyc2VyLCBSSURfRk9SKQ0KPiAgCSAgICAmJiAhY19wYXJzZXJfbmV4dF90b2tl bl9pc19rZXl3b3JkIChwYXJzZXIsIFJJRF9XSElMRSkNCj4gIAkgICAgJiYgIWNfcGFyc2VyX25l eHRfdG9rZW5faXNfa2V5d29yZCAocGFyc2VyLCBSSURfRE8pKSBAQCAtDQo+IDEzMzAxLDExICsx MzM0MiwxMSBAQCBjX3BhcnNlcl9wcmFnbWEgKGNfcGFyc2VyICpwYXJzZXIsIGVudW0NCj4gcHJh Z21hX2NvbnRleHQgY29udGV4dCwgYm9vbCAqaWZfcCkNCj4gIAkgICAgcmV0dXJuIGZhbHNlOw0K PiAgCSAgfQ0KPiAgCWlmIChjX3BhcnNlcl9uZXh0X3Rva2VuX2lzX2tleXdvcmQgKHBhcnNlciwg UklEX0ZPUikpDQo+IC0JICBjX3BhcnNlcl9mb3Jfc3RhdGVtZW50IChwYXJzZXIsIGl2ZGVwLCB1 bnJvbGwsIGlmX3ApOw0KPiArCSAgY19wYXJzZXJfZm9yX3N0YXRlbWVudCAocGFyc2VyLCBpdmRl cCwgdW5yb2xsLCBub3ZlY3RvciwgaWZfcCk7DQo+ICAJZWxzZSBpZiAoY19wYXJzZXJfbmV4dF90 b2tlbl9pc19rZXl3b3JkIChwYXJzZXIsIFJJRF9XSElMRSkpDQo+IC0JICBjX3BhcnNlcl93aGls ZV9zdGF0ZW1lbnQgKHBhcnNlciwgaXZkZXAsIHVucm9sbCwgaWZfcCk7DQo+ICsJICBjX3BhcnNl cl93aGlsZV9zdGF0ZW1lbnQgKHBhcnNlciwgaXZkZXAsIHVucm9sbCwgbm92ZWN0b3IsIGlmX3Ap Ow0KPiAgCWVsc2UNCj4gLQkgIGNfcGFyc2VyX2RvX3N0YXRlbWVudCAocGFyc2VyLCBpdmRlcCwg dW5yb2xsKTsNCj4gKwkgIGNfcGFyc2VyX2RvX3N0YXRlbWVudCAocGFyc2VyLCBpdmRlcCwgdW5y b2xsLCBub3ZlY3Rvcik7DQo+ICAgICAgICB9DQo+ICAgICAgICByZXR1cm4gdHJ1ZTsNCj4gDQo+ IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3Qtbm92ZWN0b3ItcHJh Z21hLmMNCj4gYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3Qtbm92ZWN0b3ItcHJhZ21h LmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXgNCj4gMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2MwYjhmNWQyYWNiZDI3NjI4DQo+IDA3ODVlOGQwY2Jl MWY3Y2Q2NTAyNjYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3ZlY3Qtbm92ZWN0b3ItcHJhZ21hLmMNCj4gQEAgLTAsMCArMSw2MSBAQA0KPiArLyog eyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0 IHZlY3RfaW50IH0gKi8NCj4gKw0KPiArdm9pZCBmMSAoaW50ICogcmVzdHJpY3QgYSwgaW50ICog cmVzdHJpY3QgYiwgaW50IG4pIHsgI3ByYWdtYSBHQ0MNCj4gK25vdmVjdG9yDQo+ICsgICAgZm9y IChpbnQgaSA9IDA7IGkgPCAobiAmIC04KTsgaSsrKQ0KPiArICAgICAgYVtpXSArPSBiW2ldOw0K PiArfQ0KPiArDQo+ICt2b2lkIGYyIChpbnQgKiByZXN0cmljdCBhLCBpbnQgKiByZXN0cmljdCBi LCBpbnQgbikgeyAjcHJhZ21hIEdDQw0KPiArbm92ZWN0b3IgI3ByYWdtYSBHQ0MgaXZkZXAgI3By YWdtYSBHQ0MgdW5yb2xsIDINCj4gKyAgICBmb3IgKGludCBpID0gMDsgaSA8IChuICYgLTgpOyBp KyspDQo+ICsgICAgICBhW2ldICs9IGJbaV07DQo+ICt9DQo+ICsNCj4gK3ZvaWQgZjMgKGludCAq IHJlc3RyaWN0IGEsIGludCAqIHJlc3RyaWN0IGIsIGludCBuKSB7ICNwcmFnbWEgR0NDIGl2ZGVw DQo+ICsjcHJhZ21hIEdDQyBub3ZlY3RvciAjcHJhZ21hIEdDQyB1bnJvbGwgMg0KPiArICAgIGZv ciAoaW50IGkgPSAwOyBpIDwgKG4gJiAtOCk7IGkrKykNCj4gKyAgICAgIGFbaV0gKz0gYltpXTsN Cj4gK30NCj4gKw0KPiArdm9pZCBmNCAoaW50ICogcmVzdHJpY3QgYSwgaW50ICogcmVzdHJpY3Qg YiwgaW50IG4pIHsgI3ByYWdtYSBHQ0MgaXZkZXANCj4gKyNwcmFnbWEgR0NDIHVucm9sbCAyICNw cmFnbWEgR0NDIG5vdmVjdG9yDQo+ICsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAobiAmIC04KTsg aSsrKQ0KPiArICAgICAgYVtpXSArPSBiW2ldOw0KPiArfQ0KPiArDQo+ICt2b2lkIGY1IChpbnQg KiByZXN0cmljdCBhLCBpbnQgKiByZXN0cmljdCBiLCBpbnQgbikgew0KPiArICAgIGludCBpID0g MDsNCj4gKyNwcmFnbWEgR0NDIG5vdmVjdG9yDQo+ICsgICAgZG8NCj4gKyAgICAgIHsNCj4gKyAg ICAgICAgYVtpXSArPSBiW2ldOw0KPiArICAgICAgICBpKys7DQo+ICsgICAgICB9DQo+ICsgICAg d2hpbGUgKGkgPCAobiAmIC04KSk7DQo+ICt9DQo+ICsNCj4gK3ZvaWQgZjYgKGludCAqIHJlc3Ry aWN0IGEsIGludCAqIHJlc3RyaWN0IGIsIGludCBuKSB7DQo+ICsgICAgaW50IGkgPSAwOw0KPiAr I3ByYWdtYSBHQ0Mgbm92ZWN0b3INCj4gKyAgICB3aGlsZSAoaSA8IChuICYgLTgpKQ0KPiArICAg ICAgew0KPiArICAgICAgICBhW2ldICs9IGJbaV07DQo+ICsgICAgICAgIGkrKzsNCj4gKyAgICAg IH0NCj4gK30NCj4gKw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLW5vdCAiTE9P UCBWRUNUT1JJWkVEIiAidmVjdCIgfSB9ICovDQo=