From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2067.outbound.protection.outlook.com [40.107.93.67]) by sourceware.org (Postfix) with ESMTPS id 08B78385842B for ; Sun, 8 May 2022 16:28:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 08B78385842B ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mQAxoqNBsWvvurYHT7B7L5dh3/eYy7fYgaHpRqWAJ+YLT1/n05MUKORgLOe0SH+PY40u3Pr9EvjWXAP8A4YZS5vg/mEYcbWPLSdOOfzeKPq62ZzxX/rhUu0gbSvr89cvEo+5t2LZAptNxKRkZ6Iug5Kbe97Q9rDwJzWmS3YIPZbYUg6peoGa5Noky7nhbQEKfFAvI+p4mzvK1enZoFe6Is0FzU3QOExY+XJgXdwBQoEO9uZ5tX6F+LXvHMQZrxEQtmmIlDtYjqmjOUsb3sFxBcTa0hF2FLZJTCf8AYgLMDeKC9oGZZ+bki9hIArsjV/Hfv3Xyw4Afhwm77mT76MP+w== 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=CFXITUT7wLcoC0diwEivZPacYYCRAut4gDd6m4jDERk=; b=PSJwTPgM6hO4WlUnpwpZ8CFnpJIKlfJe8eUvyt4JxsvIW0yMOp4+/yx5eGnD7C03FEsRPm8PmWq/XBv5BDRWqCf/Xx/FvLByjWpTt48t/1mjio9jz/9KPZ4Hv5QbTsXQCIFqBqIWrMv7v/oeehur38qhDnDxP97VPYOHC9Sj4CkbEhbbMiQ4sID3fU33BNHh4qT9rQAjqUMyCCaY2F9FLu+BwkV6Ejmh045ZueHEKlI/x4AeOB5nNyQZlkpE5A2M047IDgjUHq2dNnwK5KMvN8l8RJr8LuqTH5J9lK6PPVEp4rLJ5a9+Y6le5GPbyo14dHEUxJC/UHkoWy05eWg6lw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none Received: from DM6PR12MB4219.namprd12.prod.outlook.com (2603:10b6:5:217::14) by DM5PR12MB1834.namprd12.prod.outlook.com (2603:10b6:3:10a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.23; Sun, 8 May 2022 16:28:28 +0000 Received: from DM6PR12MB4219.namprd12.prod.outlook.com ([fe80::1811:c817:6ced:7312]) by DM6PR12MB4219.namprd12.prod.outlook.com ([fe80::1811:c817:6ced:7312%4]) with mapi id 15.20.5227.023; Sun, 8 May 2022 16:28:28 +0000 From: "Potharla, Rupesh" To: Jan Beulich CC: "George, Jini Susan" , "Parasuraman, Hariharan" , "Natarajan, Kavitha" , "binutils@sourceware.org" Subject: RE: [PATCH] bfd: Add Support for DW_FORM_strx* and DW_FORM_addrx*. Thread-Topic: [PATCH] bfd: Add Support for DW_FORM_strx* and DW_FORM_addrx*. Thread-Index: AdhWE0HWwljCOfTBQvOgCO8p6XZIngCkKYAAApS4mBA= Date: Sun, 8 May 2022 16:28:28 +0000 Message-ID: References: <868fc919-c81c-3724-cec0-9d85983439f8@suse.com> In-Reply-To: <868fc919-c81c-3724-cec0-9d85983439f8@suse.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Enabled=true; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_SetDate=2022-05-08T16:22:21Z; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Method=Privileged; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Name=Public-AIP 2.0; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_ActionId=bcf91b39-473d-40c3-8fe1-7d65329b5d7a; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_ContentBits=1 msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_enabled: true msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_setdate: 2022-05-08T16:28:22Z msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_method: Privileged msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_name: Public-AIP 2.0 msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_actionid: 7429f6b2-e538-4d43-b479-017135be8b5b msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_contentbits: 0 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bb8eb11c-8aff-4235-1af9-08da310fc876 x-ms-traffictypediagnostic: DM5PR12MB1834:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4v24CdJxochCOvOVHHj0Wo1Sagr2maNqhq+nyeS3QEP5uW2AkEScmvV0nMSuydefIgpuUR5o/Bp4bHmtWjfsLP08Gb3cDZtylUYfmN2jDxI+3COqcwMzYARs+1ZG0uBhzqIOX2h295YaxYfFxMd7cQA18v5Nl7tI5ehZDvfgidi0AMVg9Wn6OYm2m/121n6rp7goX1xy7u6pj4fjmE7gLmWj/P0FYRUFviNu4PLCwFS+O7dlUVMmoIBzE+Ym+nmsYhTbWhN5a1X8sKJw9/qNnfdriaV7H8GCmBHBE9Ag0fFXvP4ozy8ixYrwKsCyvd9iexyKtNqF7KGigfxKMGOgkYxyMfa8TT5oFXizpGkEgIyuj0SftsN5Qi4GO2LSzWAJzom40RvC2vT7HeBRZ7IExlKdaljnNj0W0EpZiypRZVqBfvZWNvbXTTbUeKESDsnFFbQAJDy7lMkAdPr/jY3DVDuH1yBJwPSCvMH+pXLQIJKsXXteM9+A/YMH9D5Zwn2tGPhd4IyQ1dET/GijqcuKhtYQJiZs5r2LeDn3ZzJAnZrawwFaD3SQ+hfaWh3d3jVhaH9pmL7pOHF6mEYms2/D+OGsqlmWuJSE/kCV7yE5iyD0VzwZ8BGLiAPzbV7lAwzWWqocBB9ToOw1k7dJwdhdU5/RJhi9imEV9Xq0mK9yqj2Lzbn0+k/lXgMPcGr8GZK13DjrOfuwsNHHsUTttcZfcA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4219.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(83380400001)(186003)(7696005)(33656002)(26005)(2906002)(30864003)(9686003)(55016003)(5660300002)(122000001)(508600001)(8936002)(38070700005)(86362001)(38100700002)(71200400001)(66556008)(66446008)(76116006)(66476007)(64756008)(54906003)(6916009)(66946007)(8676002)(52536014)(99936003)(4326008)(6506007)(53546011)(316002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QjFydVNBVWVaY1E0TFRFZ0c5VzhIbVYxTjVVVkxySk00ZDFFSzE0UGFNc1Fz?= =?utf-8?B?NlNiWnkwemVhY1dzaE5MbE5SUVRkNzR4WjhZVVhIbVcvNnBrUXcxRmFiakpX?= =?utf-8?B?d3BOaFNwaWVWQ3hNd0tkd2FuZXRPV3Z2TDg2N1FDb04rZE92c2NOcnVkZmtU?= =?utf-8?B?cmQ5eGlBSFhYMDZQMlVEK3NQNkd4ekVXOXJ3amNNWUJOWXJpK1VpLzJFaVBV?= =?utf-8?B?S0FCNkllRThPTzZBWTBZYStUM0RMeXZlMndOaU9Ga2hQclVHUUM5UTJBbmF5?= =?utf-8?B?NksveFpQaWxxL0dzekliUklKbEQ2bkNjQjlwL2VkVVBGVExMUlpZTjMwTFFQ?= =?utf-8?B?NVNBMlp4QWdRSlhFWjZxMHRGZWZNNUpFTjRleG5Nb051VTdwT0xlSnJ3VDBV?= =?utf-8?B?Qys2VzVvK3lTNFoyUkNhcUJ4UGVNOHduRkpZY2lBaTVaeEVJanNkSXNUTVIz?= =?utf-8?B?UmtSelNoTmxiYVlPdW55cFFFaTBDQkR0dkoxM3pYYUZDNmI2QURqMVVWTjRv?= =?utf-8?B?V3owTU9TV2gyU2YxZUtqay9XS1A4eTNYclFuYlBSRmlVRTk4ajRHUGwwUXpy?= =?utf-8?B?SVhmMXRMS2k5eEVPM2tvb3NYa0NJYStCNVRTSzJLMG04azVTQjYzWGxvQlVx?= =?utf-8?B?Z3I2S2oremVyR2pJdmN4Sk9sZXE3SXhVS2FLVUtobHU1RTdnY2dFdG1TR1Qw?= =?utf-8?B?bnVKbm9ZUXk4TGg3N1hGaU5ZM3k4Tk5XV2phNDcxN0dMNFBrRG5oRFd0OExP?= =?utf-8?B?bDZrTEZFVWJhQmRGZ3dNTm1obitoYW5GY0lJbXhSMHAzV2ZhT0kzTzhET3lZ?= =?utf-8?B?eWV4c2MzVmFtdHN3cDV1d2JJV2llTDF2akN2dS84Q1BYNGxkbXFvZFAzYjZp?= =?utf-8?B?djJvR2JpOFcwNGdFYXE0dVNDZGRMeFI2Y2tVYlBya0lMeXBtQlg5a2FHakR2?= =?utf-8?B?dmlVbnlpM01EYkZPdlhqdnFDNVB2SEQwSVFHcDhZVVh3Q2lpK1dHWUhqSGhM?= =?utf-8?B?ZHJuNmpSWUxTMzBDZDlDWDlzMnBuTjBqanU3UVliRDJDeHhlei96VmFSZm1C?= =?utf-8?B?RzJxTmZGWmZKSy9lOCtDYXJ2N2VhanVTNkZSVWJlY3c3VXB6OGVvaVhrem9L?= =?utf-8?B?YmJ5U3FvY2lFRnh4dmZPYjh2VTVPNWFnL3pHMFYzMk9KYWpwSXA1eFJQcUV4?= =?utf-8?B?TWVhQWtQRnpQY21IMjdET2ExYnVwK01VNkJ4amNhRkRsK2tBNlVoZS9WUFFn?= =?utf-8?B?S2VhUnRQdVhlSDlXbGNndGt4TUI3alN2K2psY0w1SllyNENOdnQ0N1pHSHEv?= =?utf-8?B?akRFVGk1NFhnQVF4SUU1OTNFc2xYU2JWOFVMMGlPdTRpWjdTTU9EeUZlclVS?= =?utf-8?B?TFpzSFpqTGpXRlNXY01Qd1NYeUY5V1RDMGxWdWNFZENsOVZxY1pjdnEzaGNm?= =?utf-8?B?UnZrRlVmcFRJcnFmcExMc0YyTVdaTlNkekJZYm5DZmR1MDBndlB0T1BMOGww?= =?utf-8?B?MkU1bXJqZzFCL0daSGxjUmg2VEk3QnQ5NDRIR05MdWJydTVCMmU0bkZiVlZM?= =?utf-8?B?YzlFOXNHTmZMNmc4ZjFVYkYzd1hiL1FiUTFoWmRKdmtFSXl6NmxEbjZnUUYx?= =?utf-8?B?Rld6SDN0K2JlR0EveXJueUNDa1dLMUdSaUxHSjl5OEVydWh0NktFZExsRmg1?= =?utf-8?B?bkl4QmwvU2VzclZZZUxBaG9xTjBFbG5aUm9JR3QwOHoxblluTzhxaFZJeHJR?= =?utf-8?B?elNFWld6ZWxHSzJqbzcvdW04UDh4SUhNQkxTbVlTdDNjNTllYjNON09kZDEv?= =?utf-8?B?WGtKWlkxSSs4V2VxalNCVDlhNy94Z0l3T1VXalZOVFQxY3ppd0pVM0tLQTh3?= =?utf-8?B?ZDU2TTdyUGJhWDRKN2tMTU9kZ2VuZDIwYm41OERBTCtHR1VoMDB1bjU3YXRV?= =?utf-8?B?YWx4blZZZXJ4dDFtYjFJanpQam1mblFIUERuTlJBOWpVNUx1R3NBNjROcFVD?= =?utf-8?B?alRJaDRTMno3Z3BHQTNvcXpzMjMreUljbEpTc1BBUUk5NTVSUXYrWC85YS9z?= =?utf-8?B?dVNZS3ViMnVmbHhaS2hQUU00ck9oT3gwOC9WdHppMVB6a28xcS95bUhWM3JW?= =?utf-8?B?eElZdE9saVZQeHRuN3ZIdnlNWXRCczFxazRZTlZRa0ZNTExMNU5BN0E5Nm9t?= =?utf-8?B?K0JjK2hSajJ0SnUzdFpGTm5nampjNE1LalpQRk9mMTEyRzU4MFFzUDJydHhT?= =?utf-8?B?cU9xNXFjb3ZrOG8yRFg0S0VVWklnTEQ2TUNmMEIxL096QXJObHRUQnVtLy8r?= =?utf-8?B?b0dmRW9FWU5OU0Z1UzlnSXF6b3N0NVQvMkxSRHpjb3QwSDE2emw2UT09?= Content-Type: multipart/mixed; boundary="_002_DM6PR12MB4219463F904C5AEADC5C7EA2E7C79DM6PR12MB4219namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4219.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb8eb11c-8aff-4235-1af9-08da310fc876 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 May 2022 16:28:28.3644 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GlLBYwZU8EO5wphcXttZM1a5eFUK4nE23udP9RhlsZJ3XOSjD3lURZExQWvBnSEUv8yq56Waw6JtfK66d84pNw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1834 X-Spam-Status: No, score=-10.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 May 2022 16:28:38 -0000 --_002_DM6PR12MB4219463F904C5AEADC5C7EA2E7C79DM6PR12MB4219namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 W1B1YmxpY10NCg0KIEphbiwgDQoNCkFwb2xvZ2llcyBmb3IgdGhlIGRlbGF5ZWQgcmVwbHkgZGlk IG5vdCBnZXQgYSBjaGFuY2UgdG8gd29yayBvbiB0aGlzIGR1ZSB0byBwZXJzb25hbCByZWFzb25z LiBNYWRlIHRoZSBjb2RlIGNoYW5nZXMgc3VnZ2VzdGVkIGFuZCByZW1vdmVkIGNvZGUgY2hhbmdl cyByZWxhdGVkIHRvIGZpbGUgaW5kZXggd2lsbCBzZW5kIHRoZSBwYXRjaCBzZXBhcmF0ZWx5IGZv ciByZXZpZXcuICBDYW4geW91IHJldmlldyBteSBjb2RlIGNoYW5nZXMgYW5kIHNlbmQgaW4geW91 ciBjb21tZW50cy9zdWdnZXN0aW9ucz8NCg0KUmVnYXJkcywNClJ1cGVzaCBQDQoNCkZyb20gODEy Y2UyNzlkNzNjZmJhNWRlYTQ2NGQ5MTUzNmVkYzUxMmQxOTNiMyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDENCkZyb206IHJ1cG90aGFyIDxydXBlc2gucG90aGFybGFAYW1kLmNvbT4NCkRhdGU6IFdl ZCwgMzAgTWFyIDIwMjIgMTU6Mzg6MTkgKzA1MzANClN1YmplY3Q6IFtQQVRDSF0gYmZkL2R3YXJm MjogQWRkIFN1cHBvcnQgZm9yIERXX0ZPUk1fc3RyeCogYW5kIERXX0ZPUk1fYWRkcngqLg0KDQog TWFkZSBjb2RlIGNoYW5nZXMgaW1wbGVtZW50aW5nIHN0cngqIGFuZCBhZGRyeCogZm9ybXMgdG8g dGhlIEJGRCBsaWJyYXJ5Lg0KLS0tDQogYmZkL2R3YXJmMi5jIHwgMjc1ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQ0KIDEgZmlsZSBjaGFuZ2VkLCAy NjQgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9iZmQvZHdh cmYyLmMgYi9iZmQvZHdhcmYyLmMNCmluZGV4IDQwNGYzNWRmNjJiLi5mZTZjMGI5MDdjNCAxMDA2 NDQNCi0tLSBhL2JmZC9kd2FyZjIuYw0KKysrIGIvYmZkL2R3YXJmMi5jDQpAQCAtMTE4LDYgKzEx OCwxOCBAQCBzdHJ1Y3QgZHdhcmYyX2RlYnVnX2ZpbGUNCiAgIC8qIExlbmd0aCBvZiB0aGUgbG9h ZGVkIC5kZWJ1Z19zdHIgc2VjdGlvbi4gICovDQogICBiZmRfc2l6ZV90eXBlIGR3YXJmX3N0cl9z aXplOw0KIA0KKyAgLyogUG9pbnRlciB0byB0aGUgLmRlYnVnX3N0cl9vZmZzZXRzIHNlY3Rpb24g bG9hZGVkIGludG8gbWVtb3J5LiAgKi8NCisgIGJmZF9ieXRlICpkd2FyZl9zdHJfb2Zmc2V0c19i dWZmZXI7DQorDQorICAvKiBMZW5ndGggb2YgdGhlIGxvYWRlZCAuZGVidWdfc3RyX29mZnNldHMg c2VjdGlvbi4gICovDQorICBiZmRfc2l6ZV90eXBlIGR3YXJmX3N0cl9vZmZzZXRzX3NpemU7DQor DQorICAvKiBQb2ludGVyIHRvIHRoZSAuZGVidWdfYWRkciBzZWN0aW9uIGxvYWRlZCBpbnRvIG1l bW9yeS4gICovDQorICBiZmRfYnl0ZSAqZHdhcmZfYWRkcl9idWZmZXI7DQorDQorICAvKiBMZW5n dGggb2YgdGhlIGxvYWRlZCAuZGVidWdfYWRkciBzZWN0aW9uLiAgKi8NCisgIGJmZF9zaXplX3R5 cGUgZHdhcmZfYWRkcl9zaXplOw0KKw0KICAgLyogUG9pbnRlciB0byB0aGUgLmRlYnVnX2xpbmVf c3RyIHNlY3Rpb24gbG9hZGVkIGludG8gbWVtb3J5LiAgKi8NCiAgIGJmZF9ieXRlICpkd2FyZl9s aW5lX3N0cl9idWZmZXI7DQogDQpAQCAtMjk2LDYgKzMwOCwxMiBAQCBzdHJ1Y3QgY29tcF91bml0 DQogDQogICAvKiBUUlVFIGlmIHN5bWJvbHMgYXJlIGNhY2hlZCBpbiBoYXNoIHRhYmxlIGZvciBm YXN0ZXIgbG9va3VwIGJ5IG5hbWUuICAqLw0KICAgYm9vbCBjYWNoZWQ7DQorDQorIC8qIEJhc2Ug YWRkcmVzcyBvZiBkZWJ1Z19hZGRyIHNlY3Rpb24uICAqLw0KKyAgdW5zaWduZWQgbG9uZyBkd2Fy Zl9hZGRyX29mZnNldDsNCisNCisgIC8qIEJhc2UgYWRkcmVzcyBvZiBzdHJpbmcgb2Zmc2V0IHRh YmxlLiAgKi8NCisgIHVuc2lnbmVkIGxvbmcgZHdhcmZfc3RyX29mZnNldDsNCiB9Ow0KIA0KIC8q IFRoaXMgZGF0YSBzdHJ1Y3R1cmUgaG9sZHMgdGhlIGluZm9ybWF0aW9uIG9mIGFuIGFiYnJldi4g ICovDQpAQCAtMzM4LDYgKzM1Niw4IEBAIGNvbnN0IHN0cnVjdCBkd2FyZl9kZWJ1Z19zZWN0aW9u IGR3YXJmX2RlYnVnX3NlY3Rpb25zW10gPQ0KICAgeyAiLmRlYnVnX3N0YXRpY192YXJzIiwJIi56 ZGVidWdfc3RhdGljX3ZhcnMiIH0sDQogICB7ICIuZGVidWdfc3RyIiwJCSIuemRlYnVnX3N0ciIs IH0sDQogICB7ICIuZGVidWdfc3RyIiwJCSIuemRlYnVnX3N0ciIsIH0sDQorICB7ICIuZGVidWdf c3RyX29mZnNldHMiLCAgICAgICAiLnpkZWJ1Z19zdHJfb2Zmc2V0cyIsIH0sDQorICB7ICIuZGVi dWdfYWRkciIsICAgICAgICAgICAgICAiLnpkZWJ1Z19hZGRyIiwgfSwNCiAgIHsgIi5kZWJ1Z19s aW5lX3N0ciIsCQkiLnpkZWJ1Z19saW5lX3N0ciIsIH0sDQogICB7ICIuZGVidWdfdHlwZXMiLAkJ Ii56ZGVidWdfdHlwZXMiIH0sDQogICAvKiBHTlUgRFdBUkYgMSBleHRlbnNpb25zICovDQpAQCAt MzcyLDYgKzM5Miw4IEBAIGVudW0gZHdhcmZfZGVidWdfc2VjdGlvbl9lbnVtDQogICBkZWJ1Z19z dGF0aWNfdmFycywNCiAgIGRlYnVnX3N0ciwNCiAgIGRlYnVnX3N0cl9hbHQsDQorICBkZWJ1Z19z dHJfb2Zmc2V0cywNCisgIGRlYnVnX2FkZHIsDQogICBkZWJ1Z19saW5lX3N0ciwNCiAgIGRlYnVn X3R5cGVzLA0KICAgZGVidWdfc2ZuYW1lcywNCkBAIC0xMjIxLDEyICsxMjQzLDkzIEBAIGlzX2lu dF9mb3JtIChjb25zdCBzdHJ1Y3QgYXR0cmlidXRlICphdHRyKQ0KICAgICB9DQogfQ0KIA0KKy8q IFJldHVybnMgdHJ1ZSBpZiB0aGUgZm9ybSBpcyBzdHJ4WzEtNF0uICAqLw0KKw0KK3N0YXRpYyBp bmxpbmUgYm9vbA0KK2lzX3N0cnhfZm9ybShlbnVtIGR3YXJmX2Zvcm0gZm9ybSkNCit7DQorICBy ZXR1cm4gKGZvcm0gPT0gRFdfRk9STV9zdHJ4DQorCSAgfHwgZm9ybSA9PSBEV19GT1JNX3N0cngx DQorCSAgfHwgZm9ybSA9PSBEV19GT1JNX3N0cngyDQorCSAgfHwgZm9ybSA9PSBEV19GT1JNX3N0 cngzDQorCSAgfHwgZm9ybSA9PSBEV19GT1JNX3N0cng0KTsNCit9DQorDQorLyogUmV0dXJuIHRy dWUgaWYgdGhlIGZvcm0gaXMgYWRkcnhbMS00XS4gICovDQorDQorc3RhdGljIGlubGluZSBib29s DQoraXNfYWRkcnhfZm9ybShlbnVtIGR3YXJmX2Zvcm0gZm9ybSkNCit7DQorICByZXR1cm4gKGZv cm0gPT0gRFdfRk9STV9hZGRyeA0KKwkgIHx8IGZvcm0gPT0gRFdfRk9STV9hZGRyeDENCisJICB8 fCBmb3JtID09IERXX0ZPUk1fYWRkcngyDQorCSAgfHwgZm9ybSA9PSBEV19GT1JNX2FkZHJ4Mw0K KwkgIHx8IGZvcm0gPT0gRFdfRk9STV9hZGRyeDQpOw0KK30NCisNCisvKiBSZXR1cm5zIHRoZSBh ZGRyZXNzIGluIC5kZWJ1Z19hZGRyIHNlY3Rpb24gdXNpbmcgRFdfQVRfYWRkcl9iYXNlLg0KKyAg IFVzZWQgdG8gaW1wbGVtZW50IERXX0ZPUk1fYWRkcngqLiAgKi8NCitzdGF0aWMgYmZkX3ZtYQ0K K3JlYWRfaW5kZXhlZF9hZGRyZXNzIChiZmRfdWludDY0X3QgaWR4LA0KKwkJICAgICAgc3RydWN0 IGNvbXBfdW5pdCAqdW5pdCkNCit7DQorICBzdHJ1Y3QgZHdhcmYyX2RlYnVnICpzdGFzaCA9IHVu aXQtPnN0YXNoOw0KKyAgc3RydWN0IGR3YXJmMl9kZWJ1Z19maWxlICpmaWxlID0gdW5pdC0+Zmls ZTsNCisgIHVuc2lnbmVkIGxvbmcgYWRkcl9iYXNlID0gdW5pdC0+ZHdhcmZfYWRkcl9vZmZzZXQ7 DQorICBiZmRfYnl0ZSAqaW5mb19wdHI7DQorDQorICBpZiAoc3Rhc2ggPT0gTlVMTCkNCisgICAg cmV0dXJuIDA7DQorDQorICBpZiAoIXJlYWRfc2VjdGlvbiAodW5pdC0+YWJmZCwgJnN0YXNoLT5k ZWJ1Z19zZWN0aW9uc1tkZWJ1Z19hZGRyXSwNCisJCSAgICAgZmlsZS0+c3ltcywgMCwNCisJCSAg ICAgJmZpbGUtPmR3YXJmX2FkZHJfYnVmZmVyLCAmZmlsZS0+ZHdhcmZfYWRkcl9zaXplKSkNCisg ICAgcmV0dXJuIDA7DQorDQorICBpbmZvX3B0ciA9IChiZmRfYnl0ZSAqKShmaWxlLT5kd2FyZl9h ZGRyX2J1ZmZlciArIGFkZHJfYmFzZQ0KKwkgICAgICArIGlkeCAqIHVuaXQtPm9mZnNldF9zaXpl KTsNCisNCisgIGlmICh1bml0LT5vZmZzZXRfc2l6ZSA9PSA0KQ0KKyAgICAgcmV0dXJuIGJmZF9n ZXRfMzIgKHVuaXQtPmFiZmQsIGluZm9fcHRyKTsNCisgIGVsc2UNCisgICAgIHJldHVybiBiZmRf Z2V0XzY0ICh1bml0LT5hYmZkLCBpbmZvX3B0cik7DQorfQ0KKw0KKy8qIFJldHVybnMgdGhlIHN0 cmluZyB1c2luZyBEV19BVF9zdHJfb2Zmc2V0c19iYXNlLg0KKyAgIFVzZWQgdG8gaW1wbGVtZW50 IERXX0ZPUk1fc3RyeCouICAqLw0KIHN0YXRpYyBjb25zdCBjaGFyICoNCi1yZWFkX2luZGV4ZWRf c3RyaW5nIChiZmRfdWludDY0X3QgaWR4IEFUVFJJQlVURV9VTlVTRUQsDQotCQkgICAgIHN0cnVj dCBjb21wX3VuaXQgKiB1bml0IEFUVFJJQlVURV9VTlVTRUQpDQorcmVhZF9pbmRleGVkX3N0cmlu ZyAoYmZkX3VpbnQ2NF90IGlkeCwNCisJCSAgICAgc3RydWN0IGNvbXBfdW5pdCAqIHVuaXQpDQog ew0KLSAgLyogRklYTUU6IEFkZCBzdXBwb3J0IGZvciBpbmRleGVkIHN0cmluZ3MuICAqLw0KLSAg cmV0dXJuICI8aW5kZXhlZCBzdHJpbmdzIG5vdCB5ZXQgc3VwcG9ydGVkPiI7DQorICBzdHJ1Y3Qg ZHdhcmYyX2RlYnVnICpzdGFzaCA9IHVuaXQtPnN0YXNoOw0KKyAgc3RydWN0IGR3YXJmMl9kZWJ1 Z19maWxlICpmaWxlID0gdW5pdC0+ZmlsZTsNCisgIGJmZF9ieXRlICppbmZvX3B0cjsNCisgIHVu c2lnbmVkIGxvbmcgc3RyX29mZnNldDsNCisNCisgIGlmIChzdGFzaCA9PSBOVUxMKQ0KKyAgICBy ZXR1cm4gTlVMTDsNCisNCisgIGlmICghcmVhZF9zZWN0aW9uICh1bml0LT5hYmZkLCAmc3Rhc2gt PmRlYnVnX3NlY3Rpb25zW2RlYnVnX3N0cl0sDQorCQkgICAgIGZpbGUtPnN5bXMsIDAsDQorCQkg ICAgICZmaWxlLT5kd2FyZl9zdHJfYnVmZmVyLCAmZmlsZS0+ZHdhcmZfc3RyX3NpemUpKQ0KKyAg ICByZXR1cm4gTlVMTDsNCisNCisgIGlmICghcmVhZF9zZWN0aW9uICh1bml0LT5hYmZkLCAmc3Rh c2gtPmRlYnVnX3NlY3Rpb25zW2RlYnVnX3N0cl9vZmZzZXRzXSwNCisJCSAgICAgZmlsZS0+c3lt cywgMCwNCisJCSAgICAgJmZpbGUtPmR3YXJmX3N0cl9vZmZzZXRzX2J1ZmZlciwNCisJCSAgICAg JmZpbGUtPmR3YXJmX3N0cl9vZmZzZXRzX3NpemUpKQ0KKyAgcmV0dXJuIE5VTEw7DQorDQorICBp bmZvX3B0ciA9IChiZmRfYnl0ZSAqKShmaWxlLT5kd2FyZl9zdHJfb2Zmc2V0c19idWZmZXINCisJ ICAgICAgKyAgdW5pdC0+ZHdhcmZfc3RyX29mZnNldA0KKwkgICAgICArIGlkeCAqIHVuaXQtPm9m ZnNldF9zaXplKTsNCisNCisgIGlmICh1bml0LT5vZmZzZXRfc2l6ZSA9PSA0KQ0KKyAgICAgc3Ry X29mZnNldCA9IGJmZF9nZXRfMzIgKHVuaXQtPmFiZmQsIGluZm9fcHRyKTsNCisgIGVsc2UNCisg ICAgIHN0cl9vZmZzZXQgPSBiZmRfZ2V0XzY0ICh1bml0LT5hYmZkLCBpbmZvX3B0cik7DQorDQor ICByZXR1cm4gKGNvbnN0IGNoYXIqKSAoZmlsZS0+ZHdhcmZfc3RyX2J1ZmZlciArIHN0cl9vZmZz ZXQpOw0KIH0NCiANCiAvKiBSZWFkIGFuZCBmaWxsIGluIHRoZSB2YWx1ZSBvZiBhdHRyaWJ1dGUg QVRUUiBhcyBkZXNjcmliZWQgYnkgRk9STS4NCkBAIC0xMjk1LDIxICsxMzk4LDM3IEBAIHJlYWRf YXR0cmlidXRlX3ZhbHVlIChzdHJ1Y3QgYXR0cmlidXRlICogIGF0dHIsDQogICAgIGNhc2UgRFdf Rk9STV9yZWYxOg0KICAgICBjYXNlIERXX0ZPUk1fZmxhZzoNCiAgICAgY2FzZSBEV19GT1JNX2Rh dGExOg0KKyAgICAgIGF0dHItPnUudmFsID0gcmVhZF8xX2J5dGUgKGFiZmQsICZpbmZvX3B0ciwg aW5mb19wdHJfZW5kKTsNCisgICAgICBicmVhazsNCiAgICAgY2FzZSBEV19GT1JNX2FkZHJ4MToN CiAgICAgICBhdHRyLT51LnZhbCA9IHJlYWRfMV9ieXRlIChhYmZkLCAmaW5mb19wdHIsIGluZm9f cHRyX2VuZCk7DQorICAgICAgLyogZHdhcmZfYWRkcl9vZmZzZXQgdmFsdWUgMCBpbmRpY2F0ZXMg dGhlIGF0dHJpYnV0ZSBEV19BVF9hZGRyX2Jhc2UNCisJIGlzIG5vdCB5ZXQgcmVhZC4gICovDQor ICAgICAgaWYgKHVuaXQtPmR3YXJmX2FkZHJfb2Zmc2V0ICE9IDApDQorCWF0dHItPnUudmFsID0g cmVhZF9pbmRleGVkX2FkZHJlc3MoYXR0ci0+dS52YWwsIHVuaXQpOw0KICAgICAgIGJyZWFrOw0K ICAgICBjYXNlIERXX0ZPUk1fZGF0YTI6DQotICAgIGNhc2UgRFdfRk9STV9hZGRyeDI6DQogICAg IGNhc2UgRFdfRk9STV9yZWYyOg0KICAgICAgIGF0dHItPnUudmFsID0gcmVhZF8yX2J5dGVzIChh YmZkLCAmaW5mb19wdHIsIGluZm9fcHRyX2VuZCk7DQogICAgICAgYnJlYWs7DQorICAgIGNhc2Ug RFdfRk9STV9hZGRyeDI6DQorICAgICAgYXR0ci0+dS52YWwgPSByZWFkXzJfYnl0ZXMgKGFiZmQs ICZpbmZvX3B0ciwgaW5mb19wdHJfZW5kKTsNCisgICAgICBpZiAodW5pdC0+ZHdhcmZfYWRkcl9v ZmZzZXQgIT0gMCkNCisJYXR0ci0+dS52YWwgPSByZWFkX2luZGV4ZWRfYWRkcmVzcyhhdHRyLT51 LnZhbCwgdW5pdCk7DQorICAgICAgYnJlYWs7DQogICAgIGNhc2UgRFdfRk9STV9hZGRyeDM6DQog ICAgICAgYXR0ci0+dS52YWwgPSByZWFkXzNfYnl0ZXMgKGFiZmQsICZpbmZvX3B0ciwgaW5mb19w dHJfZW5kKTsNCisgICAgICBpZiAodW5pdC0+ZHdhcmZfYWRkcl9vZmZzZXQgIT0gMCkNCisJYXR0 ci0+dS52YWwgPSByZWFkX2luZGV4ZWRfYWRkcmVzcyhhdHRyLT51LnZhbCwgdW5pdCk7DQogICAg ICAgYnJlYWs7DQogICAgIGNhc2UgRFdfRk9STV9yZWY0Og0KICAgICBjYXNlIERXX0ZPUk1fZGF0 YTQ6DQorICAgICAgYXR0ci0+dS52YWwgPSByZWFkXzRfYnl0ZXMgKGFiZmQsICZpbmZvX3B0ciwg aW5mb19wdHJfZW5kKTsNCisgICAgICBicmVhazsNCiAgICAgY2FzZSBEV19GT1JNX2FkZHJ4NDoN CiAgICAgICBhdHRyLT51LnZhbCA9IHJlYWRfNF9ieXRlcyAoYWJmZCwgJmluZm9fcHRyLCBpbmZv X3B0cl9lbmQpOw0KKyAgICAgIGlmICh1bml0LT5kd2FyZl9hZGRyX29mZnNldCAhPSAwKQ0KKwlh dHRyLT51LnZhbCA9IHJlYWRfaW5kZXhlZF9hZGRyZXNzKGF0dHItPnUudmFsLCB1bml0KTsNCiAg ICAgICBicmVhazsNCiAgICAgY2FzZSBEV19GT1JNX2RhdGE4Og0KICAgICBjYXNlIERXX0ZPUk1f cmVmODoNCkBAIC0xMzMwLDI0ICsxNDQ5LDMxIEBAIHJlYWRfYXR0cmlidXRlX3ZhbHVlIChzdHJ1 Y3QgYXR0cmlidXRlICogIGF0dHIsDQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgRFdfRk9STV9z dHJ4MToNCiAgICAgICBhdHRyLT51LnZhbCA9IHJlYWRfMV9ieXRlIChhYmZkLCAmaW5mb19wdHIs IGluZm9fcHRyX2VuZCk7DQotICAgICAgYXR0ci0+dS5zdHIgPSAoY2hhciAqKSByZWFkX2luZGV4 ZWRfc3RyaW5nIChhdHRyLT51LnZhbCwgdW5pdCk7DQorICAgICAgLyogZHdhcmZfc3RyX29mZnNl dCB2YWx1ZSAwIGluZGljYXRlcyB0aGUgYXR0cmlidXRlIERXX0FUX3N0cl9vZmZzZXRzX2Jhc2UN CisJIGlzIG5vdCB5ZXQgcmVhZC4gICovDQorICAgICAgaWYgKHVuaXQtPmR3YXJmX3N0cl9vZmZz ZXQgIT0gMCkNCisJYXR0ci0+dS5zdHIgPSAoY2hhciAqKSByZWFkX2luZGV4ZWRfc3RyaW5nIChh dHRyLT51LnZhbCwgdW5pdCk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgRFdfRk9STV9zdHJ4 MjoNCiAgICAgICBhdHRyLT51LnZhbCA9IHJlYWRfMl9ieXRlcyAoYWJmZCwgJmluZm9fcHRyLCBp bmZvX3B0cl9lbmQpOw0KLSAgICAgIGF0dHItPnUuc3RyID0gKGNoYXIgKikgcmVhZF9pbmRleGVk X3N0cmluZyAoYXR0ci0+dS52YWwsIHVuaXQpOw0KKyAgICAgIGlmICh1bml0LT5kd2FyZl9zdHJf b2Zmc2V0ICE9IDApDQorCWF0dHItPnUuc3RyID0gKGNoYXIgKikgcmVhZF9pbmRleGVkX3N0cmlu ZyAoYXR0ci0+dS52YWwsIHVuaXQpOw0KICAgICAgIGJyZWFrOw0KICAgICBjYXNlIERXX0ZPUk1f c3RyeDM6DQogICAgICAgYXR0ci0+dS52YWwgPSByZWFkXzNfYnl0ZXMgKGFiZmQsICZpbmZvX3B0 ciwgaW5mb19wdHJfZW5kKTsNCi0gICAgICBhdHRyLT51LnN0ciA9IChjaGFyICopIHJlYWRfaW5k ZXhlZF9zdHJpbmcgKGF0dHItPnUudmFsLCB1bml0KTsNCisgICAgICBpZiAodW5pdC0+ZHdhcmZf c3RyX29mZnNldCAhPSAwKQ0KKwlhdHRyLT51LnN0ciA9IChjaGFyICopIHJlYWRfaW5kZXhlZF9z dHJpbmcgKGF0dHItPnUudmFsLCB1bml0KTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBEV19G T1JNX3N0cng0Og0KICAgICAgIGF0dHItPnUudmFsID0gcmVhZF80X2J5dGVzIChhYmZkLCAmaW5m b19wdHIsIGluZm9fcHRyX2VuZCk7DQotICAgICAgYXR0ci0+dS5zdHIgPSAoY2hhciAqKSByZWFk X2luZGV4ZWRfc3RyaW5nIChhdHRyLT51LnZhbCwgdW5pdCk7DQorICAgICAgaWYgKHVuaXQtPmR3 YXJmX3N0cl9vZmZzZXQgIT0gMCkNCisJYXR0ci0+dS5zdHIgPSAoY2hhciAqKSByZWFkX2luZGV4 ZWRfc3RyaW5nIChhdHRyLT51LnZhbCwgdW5pdCk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2Ug RFdfRk9STV9zdHJ4Og0KICAgICAgIGF0dHItPnUudmFsID0gX2JmZF9zYWZlX3JlYWRfbGViMTI4 IChhYmZkLCAmaW5mb19wdHIsDQogCQkJCQkgICBmYWxzZSwgaW5mb19wdHJfZW5kKTsNCi0gICAg ICBhdHRyLT51LnN0ciA9IChjaGFyICopIHJlYWRfaW5kZXhlZF9zdHJpbmcgKGF0dHItPnUudmFs LCB1bml0KTsNCisgICAgICBpZiAodW5pdC0+ZHdhcmZfc3RyX29mZnNldCAhPSAwKQ0KKwlhdHRy LT51LnN0ciA9IChjaGFyICopIHJlYWRfaW5kZXhlZF9zdHJpbmcgKGF0dHItPnUudmFsLCB1bml0 KTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBEV19GT1JNX2V4cHJsb2M6DQogICAgIGNhc2Ug RFdfRk9STV9ibG9jazoNCkBAIC0xMzY5LDkgKzE0OTUsMTQgQEAgcmVhZF9hdHRyaWJ1dGVfdmFs dWUgKHN0cnVjdCBhdHRyaWJ1dGUgKiAgYXR0ciwNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBE V19GT1JNX3JlZl91ZGF0YToNCiAgICAgY2FzZSBEV19GT1JNX3VkYXRhOg0KKyAgICAgIGF0dHIt PnUudmFsID0gX2JmZF9zYWZlX3JlYWRfbGViMTI4IChhYmZkLCAmaW5mb19wdHIsDQorCQkJCQkg ICBmYWxzZSwgaW5mb19wdHJfZW5kKTsNCisgICAgICBicmVhazsNCiAgICAgY2FzZSBEV19GT1JN X2FkZHJ4Og0KICAgICAgIGF0dHItPnUudmFsID0gX2JmZF9zYWZlX3JlYWRfbGViMTI4IChhYmZk LCAmaW5mb19wdHIsDQogCQkJCQkgICBmYWxzZSwgaW5mb19wdHJfZW5kKTsNCisgICAgICBpZiAo dW5pdC0+ZHdhcmZfYWRkcl9vZmZzZXQgIT0gMCkNCisJYXR0ci0+dS52YWwgPSByZWFkX2luZGV4 ZWRfYWRkcmVzcyhhdHRyLT51LnZhbCwgdW5pdCk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2Ug RFdfRk9STV9pbmRpcmVjdDoNCiAgICAgICBmb3JtID0gX2JmZF9zYWZlX3JlYWRfbGViMTI4IChh YmZkLCAmaW5mb19wdHIsDQpAQCAtMjExNyw2ICsyMjQ4LDExIEBAIHJlYWRfZm9ybWF0dGVkX2Vu dHJpZXMgKHN0cnVjdCBjb21wX3VuaXQgKnVuaXQsIGJmZF9ieXRlICoqYnVmcCwNCiAJICAgIHsN CiAJICAgIGNhc2UgRFdfRk9STV9zdHJpbmc6DQogCSAgICBjYXNlIERXX0ZPUk1fbGluZV9zdHJw Og0KKwkgICAgY2FzZSBEV19GT1JNX3N0cng6DQorCSAgICBjYXNlIERXX0ZPUk1fc3RyeDE6DQor CSAgICBjYXNlIERXX0ZPUk1fc3RyeDI6DQorCSAgICBjYXNlIERXX0ZPUk1fc3RyeDM6DQorCSAg ICBjYXNlIERXX0ZPUk1fc3RyeDQ6DQogCSAgICAgICpzdHJpbmdwID0gYXR0ci51LnN0cjsNCiAJ ICAgICAgYnJlYWs7DQogDQpAQCAtMzc0OSw2ICszODg1LDc3IEBAIHNjYW5fdW5pdF9mb3Jfc3lt Ym9scyAoc3RydWN0IGNvbXBfdW5pdCAqdW5pdCkNCiAgIHJldHVybiBmYWxzZTsNCiB9DQogDQor LyogcmVhZCB0aGUgYXR0cmlidXRlcyBvZiB0aGUgZm9ybSBzdHJ4IGFuZCBhZGRyeC4gICovDQor c3RhdGljIHZvaWQgcmVyZWFkX2F0dHJpYnV0ZSAoc3RydWN0IGNvbXBfdW5pdCAqICAgIHVuaXQs DQorCQkJICAgICAgc3RydWN0IGF0dHJpYnV0ZSBhdHRyLA0KKwkJCSAgICAgIGJmZF92bWEgKmxv d19wYywNCisJCQkgICAgICBiZmRfdm1hICpoaWdoX3BjLA0KKwkJCSAgICAgIGJvb2wgKmhpZ2hf cGNfcmVsYXRpdmUsDQorCQkJICAgICAgYm9vbCBjb21wdW5pdCkNCit7DQorDQorICBpZiAoaXNf c3RyeF9mb3JtKGF0dHIuZm9ybSkpDQorICAgIGF0dHIudS5zdHIgPSAoY2hhciopIHJlYWRfaW5k ZXhlZF9zdHJpbmcgKGF0dHIudS52YWwsIHVuaXQpOw0KKyAgaWYgKGlzX2FkZHJ4X2Zvcm0oYXR0 ci5mb3JtKSkNCisgICAgYXR0ci51LnZhbCA9IHJlYWRfaW5kZXhlZF9hZGRyZXNzIChhdHRyLnUu dmFsLCB1bml0KTsNCisNCisgIHN3aXRjaCAoYXR0ci5uYW1lKQ0KKyAgew0KKyAgICBjYXNlIERX X0FUX3N0bXRfbGlzdDoNCisgICAgICB1bml0LT5zdG10bGlzdCA9IDE7DQorICAgICAgdW5pdC0+ bGluZV9vZmZzZXQgPSBhdHRyLnUudmFsOw0KKyAgICAgIGJyZWFrOw0KKw0KKyAgICBjYXNlIERX X0FUX25hbWU6DQorICAgICAgaWYgKGlzX3N0cl9mb3JtICgmYXR0cikpDQorICAgICAgICB1bml0 LT5uYW1lID0gYXR0ci51LnN0cjsNCisgICAgICBicmVhazsNCisNCisgICAgY2FzZSBEV19BVF9s b3dfcGM6DQorICAgICAgKmxvd19wYyA9IGF0dHIudS52YWw7DQorICAgICAgaWYgKGNvbXB1bml0 KQ0KKyAgICAgICAgdW5pdC0+YmFzZV9hZGRyZXNzID0gKmxvd19wYzsNCisgICAgICBicmVhazsN CisNCisgICAgY2FzZSBEV19BVF9oaWdoX3BjOg0KKyAgICAgICpoaWdoX3BjID0gYXR0ci51LnZh bDsNCisgICAgICAqaGlnaF9wY19yZWxhdGl2ZSA9IGF0dHIuZm9ybSAhPSBEV19GT1JNX2FkZHI7 DQorICAgICAgYnJlYWs7DQorDQorICAgIGNhc2UgRFdfQVRfcmFuZ2VzOg0KKyAgICAgIGlmICgh cmVhZF9yYW5nZWxpc3QgKHVuaXQsICZ1bml0LT5hcmFuZ2UsIGF0dHIudS52YWwpKQ0KKyAgICAg ICAgcmV0dXJuOw0KKyAgICAgIGJyZWFrOw0KKw0KKyAgICBjYXNlIERXX0FUX2NvbXBfZGlyOg0K KyAgICB7DQorICAgICAgY2hhciAqY29tcF9kaXIgPSBhdHRyLnUuc3RyOw0KKw0KKyAgICAgIGlm ICghIGlzX3N0cl9mb3JtICgmYXR0cikpDQorICAgICAgew0KKyAgICAgICAgIF9iZmRfZXJyb3Jf aGFuZGxlcg0KKyAgICAgICAgICAoXygiRFdBUkYgZXJyb3I6IERXX0FUX2NvbXBfZGlyIGF0dHJp YnV0ZSBlbmNvdW50ZXJlZCB3aXRoIGEgbm9uLXN0cmluZyBmb3JtIikpOw0KKyAgICAgICAgIGNv bXBfZGlyID0gTlVMTDsNCisgICAgICB9DQorDQorICAgICAgaWYgKGNvbXBfZGlyKQ0KKyAgICAg IHsNCisgICAgICAgIGNoYXIgKmNwID0gc3RyY2hyIChjb21wX2RpciwgJzonKTsNCisNCisgICAg ICAgIGlmIChjcCAmJiBjcCAhPSBjb21wX2RpciAmJiBjcFstMV0gPT0gJy4nICYmIGNwWzFdID09 ICcvJykNCisgICAgICAgICAgY29tcF9kaXIgPSBjcCArIDE7DQorICAgICAgfQ0KKyAgICAgICAg dW5pdC0+Y29tcF9kaXIgPSBjb21wX2RpcjsNCisgICAgICAgIGJyZWFrOw0KKyAgICB9DQorDQor ICAgICAgY2FzZSBEV19BVF9sYW5ndWFnZToNCisgICAgICAgIHVuaXQtPmxhbmcgPSBhdHRyLnUu dmFsOw0KKyAgICAgIGRlZmF1bHQ6DQorICAgICAgICBicmVhazsNCisgICB9DQorfQ0KKw0KIC8q IFBhcnNlIGEgRFdBUkYyIGNvbXBpbGF0aW9uIHVuaXQgc3RhcnRpbmcgYXQgSU5GT19QVFIuICBV TklUX0xFTkdUSA0KICAgIGluY2x1ZGVzIHRoZSBjb21waWxhdGlvbiB1bml0IGhlYWRlciB0aGF0 IHByb2NlZWRzIHRoZSBESUUncywgYnV0DQogICAgZG9lcyBub3QgaW5jbHVkZSB0aGUgbGVuZ3Ro IGZpZWxkIHRoYXQgcHJlY2VkZXMgZWFjaCBjb21waWxhdGlvbg0KQEAgLTM3ODIsNiArMzk4OSw5 IEBAIHBhcnNlX2NvbXBfdW5pdCAoc3RydWN0IGR3YXJmMl9kZWJ1ZyAqc3Rhc2gsDQogICBiZmQg KmFiZmQgPSBmaWxlLT5iZmRfcHRyOw0KICAgYm9vbCBoaWdoX3BjX3JlbGF0aXZlID0gZmFsc2U7 DQogICBlbnVtIGR3YXJmX3VuaXRfdHlwZSB1bml0X3R5cGU7DQorICBzdHJ1Y3QgYXR0cmlidXRl ICpzdHJfYWRkcnAgPSBOVUxMOw0KKyAgdW5zaWduZWQgaW50IGNvdW50ID0gMDsNCisgIGJvb2wg Y29tcHVuaXRfZmxhZyA9IGZhbHNlOw0KIA0KICAgdmVyc2lvbiA9IHJlYWRfMl9ieXRlcyAoYWJm ZCwgJmluZm9fcHRyLCBlbmRfcHRyKTsNCiAgIGlmICh2ZXJzaW9uIDwgMiB8fCB2ZXJzaW9uID4g NSkNCkBAIC0zODg2LDEyICs0MDk2LDM0IEBAIHBhcnNlX2NvbXBfdW5pdCAoc3RydWN0IGR3YXJm Ml9kZWJ1ZyAqc3Rhc2gsDQogICB1bml0LT5maWxlID0gZmlsZTsNCiAgIHVuaXQtPmluZm9fcHRy X3VuaXQgPSBpbmZvX3B0cl91bml0Ow0KIA0KKyAgaWYgKGFiYnJldi0+dGFnID09IERXX1RBR19j b21waWxlX3VuaXQpDQorICAgIGNvbXB1bml0X2ZsYWcgPSB0cnVlOw0KKw0KICAgZm9yIChpID0g MDsgaSA8IGFiYnJldi0+bnVtX2F0dHJzOyArK2kpDQogICAgIHsNCiAgICAgICBpbmZvX3B0ciA9 IHJlYWRfYXR0cmlidXRlICgmYXR0ciwgJmFiYnJldi0+YXR0cnNbaV0sIHVuaXQsIGluZm9fcHRy LCBlbmRfcHRyKTsNCiAgICAgICBpZiAoaW5mb19wdHIgPT0gTlVMTCkNCiAJcmV0dXJuIE5VTEw7 DQogDQorICAgICAgLyogSWRlbnRpZnkgYXR0cmlidXRlcyBvZiB0aGUgZm9ybSBzdHJ4KiBhbmQg YWRkcngqIHdoaWNoIGNvbWUgYmVmb3JlDQorCSBEV19BVF9zdHJfb2Zmc2V0c19iYXNlIGFuZCBE V19BVF9hZGRyX2Jhc2UgcmVzcGVjdGl2ZWx5IGluIHRoZSBDVS4NCisJIFN0b3JlIHRoZSBhdHRy aWJ1dGVzIGluIGFuIGFycmF5IGFuZCBwcm9jZXNzIHRoZW0gbGF0ZXIuICAqLw0KKyAgICAgIGlm ICgoaXNfc3RyeF9mb3JtKGF0dHIuZm9ybSkgJiYNCisJICB1bml0LT5kd2FyZl9zdHJfb2Zmc2V0 ID09IDApIHx8DQorICAgICAgICAgIChpc19hZGRyeF9mb3JtKGF0dHIuZm9ybSkgICYmDQorCSAg dW5pdC0+ZHdhcmZfYWRkcl9vZmZzZXQgPT0gMCkpDQorICAgICAgew0KKwlzdHJfYWRkcnAgPSAo c3RydWN0IGF0dHJpYnV0ZSAqKQ0KKwkgIGJmZF9yZWFsbG9jKHN0cl9hZGRycCwgKGNvdW50ICsg MSkgKiBzaXplb2Yoc3RydWN0IGF0dHJpYnV0ZSkpOw0KKwlpZiAoc3RyX2FkZHJwID09IE5VTEwp DQorCSAgcmV0dXJuIE5VTEw7DQorCXN0cl9hZGRycFtjb3VudF0ubmFtZSA9IGF0dHIubmFtZTsN CisJc3RyX2FkZHJwW2NvdW50XS5mb3JtID0gKGVudW0gZHdhcmZfZm9ybSkgYXR0ci5mb3JtOw0K KwlzdHJfYWRkcnBbY291bnRdLnUudmFsID0gYXR0ci51LnZhbDsNCisJY291bnQrKzsNCisJY29u dGludWU7DQorICAgICAgfQ0KKw0KICAgICAgIC8qIFN0b3JlIHRoZSBkYXRhIGlmIGl0IGlzIG9m IGFuIGF0dHJpYnV0ZSB3ZSB3YW50IHRvIGtlZXAgaW4gYQ0KIAkgcGFydGlhbCBzeW1ib2wgdGFi bGUuICAqLw0KICAgICAgIHN3aXRjaCAoYXR0ci5uYW1lKQ0KQEAgLTM5MTYsNyArNDE0OCw3IEBA IHBhcnNlX2NvbXBfdW5pdCAoc3RydWN0IGR3YXJmMl9kZWJ1ZyAqc3Rhc2gsDQogCSAgICAgIC8q IElmIHRoZSBjb21waWxhdGlvbiB1bml0IERJRSBoYXMgYSBEV19BVF9sb3dfcGMgYXR0cmlidXRl LA0KIAkJIHRoaXMgaXMgdGhlIGJhc2UgYWRkcmVzcyB0byB1c2Ugd2hlbiByZWFkaW5nIGxvY2F0 aW9uDQogCQkgbGlzdHMgb3IgcmFuZ2UgbGlzdHMuICAqLw0KLQkgICAgICBpZiAoYWJicmV2LT50 YWcgPT0gRFdfVEFHX2NvbXBpbGVfdW5pdCkNCisJICAgICAgaWYgKGNvbXB1bml0X2ZsYWcpDQog CQl1bml0LT5iYXNlX2FkZHJlc3MgPSBsb3dfcGM7DQogCSAgICB9DQogCSAgYnJlYWs7DQpAQCAt Mzk2NSwxMCArNDE5NywyNyBAQCBwYXJzZV9jb21wX3VuaXQgKHN0cnVjdCBkd2FyZjJfZGVidWcg KnN0YXNoLA0KIAkgICAgdW5pdC0+bGFuZyA9IGF0dHIudS52YWw7DQogCSAgYnJlYWs7DQogDQor CWNhc2UgRFdfQVRfYWRkcl9iYXNlOg0KKwkgIHVuaXQtPmR3YXJmX2FkZHJfb2Zmc2V0ID0gYXR0 ci51LnZhbDsNCisJICBicmVhazsNCisNCisJY2FzZSBEV19BVF9zdHJfb2Zmc2V0c19iYXNlOg0K KwkgIHVuaXQtPmR3YXJmX3N0cl9vZmZzZXQgPSBhdHRyLnUudmFsOw0KKwkgIGJyZWFrOw0KKw0K IAlkZWZhdWx0Og0KIAkgIGJyZWFrOw0KIAl9DQogICAgIH0NCisNCisgIGZvciAoaSA9IDA7IGkg PCBjb3VudDsgKytpKQ0KKyAgICB7DQorCXN0cnVjdCBhdHRyaWJ1dGUgYXR0cjEgPSBzdHJfYWRk cnBbaV07DQorCXJlcmVhZF9hdHRyaWJ1dGUodW5pdCwgYXR0cjEsICZsb3dfcGMsICZoaWdoX3Bj LA0KKwkJCSAmaGlnaF9wY19yZWxhdGl2ZSwgY29tcHVuaXRfZmxhZyk7DQorDQorICAgIH0NCisN CiAgIGlmIChoaWdoX3BjX3JlbGF0aXZlKQ0KICAgICBoaWdoX3BjICs9IGxvd19wYzsNCiAgIGlm IChoaWdoX3BjICE9IDApDQpAQCAtMzk3OCw2ICs0MjI3LDEwIEBAIHBhcnNlX2NvbXBfdW5pdCAo c3RydWN0IGR3YXJmMl9kZWJ1ZyAqc3Rhc2gsDQogICAgIH0NCiANCiAgIHVuaXQtPmZpcnN0X2No aWxkX2RpZV9wdHIgPSBpbmZvX3B0cjsNCisNCisgIGlmIChzdHJfYWRkcnAgIT0gTlVMTCkNCisg ICAgZnJlZShzdHJfYWRkcnApOw0KKw0KICAgcmV0dXJuIHVuaXQ7DQogfQ0KIA0KLS0gDQoyLjE3 LjENCg0KDQo+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj5Gcm9tOiBKYW4gQmV1bGljaCA8 amJldWxpY2hAc3VzZS5jb20+DQo+U2VudDogTW9uZGF5LCBBcHJpbCAyNSwgMjAyMiA2OjI3IFBN DQo+VG86IFBvdGhhcmxhLCBSdXBlc2ggPFJ1cGVzaC5Qb3RoYXJsYUBhbWQuY29tPg0KPkNjOiBH ZW9yZ2UsIEppbmkgU3VzYW4gPEppbmlTdXNhbi5HZW9yZ2VAYW1kLmNvbT47IFBhcmFzdXJhbWFu LA0KPkhhcmloYXJhbiA8SGFyaWhhcmFuLlBhcmFzdXJhbWFuQGFtZC5jb20+OyBOYXRhcmFqYW4s IEthdml0aGENCj48S2F2aXRoYS5OYXRhcmFqYW5AYW1kLmNvbT47IGJpbnV0aWxzQHNvdXJjZXdh cmUub3JnDQo+U3ViamVjdDogUmU6IFtQQVRDSF0gYmZkOiBBZGQgU3VwcG9ydCBmb3IgRFdfRk9S TV9zdHJ4KiBhbmQNCj5EV19GT1JNX2FkZHJ4Ki4NCj4NCj5bQ0FVVElPTjogRXh0ZXJuYWwgRW1h aWxdDQo+DQo+T24gMjIuMDQuMjAyMiAwODozNiwgUG90aGFybGEsIFJ1cGVzaCB2aWEgQmludXRp bHMgd3JvdGU6DQo+PiBSZXF1ZXN0aW5nIHRvIHJldmlldyB0aGUgYXR0YWNoZWQgcGF0Y2guIFRo ZSBwYXRjaCBwcm92aWRlcyBzdXBwb3J0IGZvcg0KPnN0cngqIGFuZCBhZGRyeCogZm9ybXMgdG8g dGhlIGJmZCBsaWJyYXJ5Lg0KPg0KPlRoZXJlJ3MgYSBjaGFuZ2UgdG8gZGVjb2RlX2xpbmVfaW5m bygpIHdoaWNoIGxvb2tzIHVucmVsYXRlZC4gSWYgaXQncyByZWxhdGVkLA0KPnlvdSB3aWxsIHdh bnQgdG8gZXhwbGFpbiB0aGlzIGluIHRoZSBkZXNjcmlwdGlvbi4gSWYgaXQncyBub3QgcmVsYXRl ZCwgeW91IHdpbGwgd2FudA0KPnRvIHNwbGl0IHRoaXMgaW50byBhIHNlcGFyYXRlIHBhdGNoIHdp dGggaXRzIG93biBqdXN0aWZpY2F0aW9uLiBUaGUgc2FtZSBsb29rcyB0bw0KPnJlcGVhdCBpbg0K PmZpbmRfYWJzdHJhY3RfaW5zdGFuY2UoKSBhbmQgeWV0IG1vcmUgcGxhY2VzLg0KPg0KPlRoZXJl J3MgYSB1c2Ugb2YgYmZkX3JlYWxsb2MoKSB3aGVyZSB5b3UgZm9yZ290IHRvIGNoZWNrIGZvciBm YWlsdXJlLg0KPg0KPkkgY29uc2lkZXIgaXQgYXQgbGVhc3Qgcmlza3kgdG8gb3Blbi1jb2RlIHRo ZSBjb252ZXJzaW9uIGZyb20gaW5kZXggdG8gYWN0dWFsDQo+dmFsdWUgaW50byB2YXJpb3VzIGNh bGxlcnMgb2YgcmVhZF9hdHRyaWJ1dGUoKSwgaW5zdGVhZCBvZiBrZWVwaW5nIGl0IGluDQo+cmVh ZF9hdHRyaWJ1dGVfdmFsdWUoKSwgYXMgd2FzIGNsZWFybHkgb3JpZ2luYWxseSBpbnRlbmRlZC4N Cj4NCj5JbiByZWFkX2luZGV4ZWRfc3RyaW5nKCksIGJlc2lkZXMgc3dhcHBpbmcgdGhlIHBhcmFt ZXRlciBvcmRlciBmb3Igbm8NCj5hcHBhcmVudCByZWFzb24sIHlvdSBnbyBmcm9tIGEgNjQtYml0 IHR5cGUgdG8gInVuc2lnbmVkIGxvbmciLiBBcmUgeW91IHN1cmUNCj50aGlzIGlzIGdvaW5nIHRv IGJlIHN1ZmZpY2llbnQgb24gMzItYml0IGFyY2hpdGVjdHVyZXM/IEknZCByYXRoZXIgc2VlDQo+ cmVhZF9pbmRleGVkX2FkZHJlc3MoKSB1c2UgYmZkX3VpbnQ2NF90IGFzIHdlbGwgLi4uDQo+DQo+ RnVydGhlcm1vcmUgcmVhZF9pbmRleGVkX2FkZHJlc3MoKSBoYXMgYSByZXR1cm4gdHlwZSBvZiAi aW50IiwgYnV0IHlvdSBtZWFuDQo+dG8gcmV0dXJuIGFkZHJlc3NlcyB0aGVyZS4gUXVpdGUgbGlr ZWx5IHRoaXMgd2FudHMgdG8gYXQgbGVhc3QgYmUgYmZkX3ZtYSwgaWYgbm90DQo+YmZkX3VpbnQ2 NF90Lg0KPg0KPlRoZXJlIGFyZSBhbHNvIHF1aXRlIGEgZmV3IGluZGVudGF0aW9uIGFuZCBwYWRk aW5nIGlzc3Vlcywgd2hpY2ggeW91IHdpbGwNCj53YW50IHRvIHRha2UgY2FyZSBvZi4NCj4NCj5U byBhaWQgcmV2aWV3ZXJzLCBwbGVhc2UgdHJ5IHRvIHN1cHBseSBwYXRjaGVzIGlubGluZSByYXRo ZXIgdGhhbiBhcw0KPmF0dGFjaG1lbnQuDQo+DQo+SmFuDQo= --_002_DM6PR12MB4219463F904C5AEADC5C7EA2E7C79DM6PR12MB4219namp_ Content-Type: application/octet-stream; name="0001-bfd-dwarf2-Add-Support-for-DW_FORM_strx-and-DW_FORM_.patch" Content-Description: 0001-bfd-dwarf2-Add-Support-for-DW_FORM_strx-and-DW_FORM_.patch Content-Disposition: attachment; filename="0001-bfd-dwarf2-Add-Support-for-DW_FORM_strx-and-DW_FORM_.patch"; size=13711; creation-date="Sun, 08 May 2022 16:27:37 GMT"; modification-date="Sun, 08 May 2022 16:28:27 GMT" Content-Transfer-Encoding: base64 RnJvbSA4MTJjZTI3OWQ3M2NmYmE1ZGVhNDY0ZDkxNTM2ZWRjNTEyZDE5M2IzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBydXBvdGhhciA8cnVwZXNoLnBvdGhhcmxhQGFtZC5jb20+CkRh dGU6IFdlZCwgMzAgTWFyIDIwMjIgMTU6Mzg6MTkgKzA1MzAKU3ViamVjdDogW1BBVENIXSBiZmQv ZHdhcmYyOiBBZGQgU3VwcG9ydCBmb3IgRFdfRk9STV9zdHJ4KiBhbmQgRFdfRk9STV9hZGRyeCou CgogTWFkZSBjb2RlIGNoYW5nZXMgaW1wbGVtZW50aW5nIHN0cngqIGFuZCBhZGRyeCogZm9ybXMg dG8gdGhlIEJGRCBsaWJyYXJ5LgotLS0KIGJmZC9kd2FyZjIuYyB8IDI3NSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAy NjQgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYmZkL2R3YXJm Mi5jIGIvYmZkL2R3YXJmMi5jCmluZGV4IDQwNGYzNWRmNjJiLi5mZTZjMGI5MDdjNCAxMDA2NDQK LS0tIGEvYmZkL2R3YXJmMi5jCisrKyBiL2JmZC9kd2FyZjIuYwpAQCAtMTE4LDYgKzExOCwxOCBA QCBzdHJ1Y3QgZHdhcmYyX2RlYnVnX2ZpbGUKICAgLyogTGVuZ3RoIG9mIHRoZSBsb2FkZWQgLmRl YnVnX3N0ciBzZWN0aW9uLiAgKi8KICAgYmZkX3NpemVfdHlwZSBkd2FyZl9zdHJfc2l6ZTsKIAor ICAvKiBQb2ludGVyIHRvIHRoZSAuZGVidWdfc3RyX29mZnNldHMgc2VjdGlvbiBsb2FkZWQgaW50 byBtZW1vcnkuICAqLworICBiZmRfYnl0ZSAqZHdhcmZfc3RyX29mZnNldHNfYnVmZmVyOworCisg IC8qIExlbmd0aCBvZiB0aGUgbG9hZGVkIC5kZWJ1Z19zdHJfb2Zmc2V0cyBzZWN0aW9uLiAgKi8K KyAgYmZkX3NpemVfdHlwZSBkd2FyZl9zdHJfb2Zmc2V0c19zaXplOworCisgIC8qIFBvaW50ZXIg dG8gdGhlIC5kZWJ1Z19hZGRyIHNlY3Rpb24gbG9hZGVkIGludG8gbWVtb3J5LiAgKi8KKyAgYmZk X2J5dGUgKmR3YXJmX2FkZHJfYnVmZmVyOworCisgIC8qIExlbmd0aCBvZiB0aGUgbG9hZGVkIC5k ZWJ1Z19hZGRyIHNlY3Rpb24uICAqLworICBiZmRfc2l6ZV90eXBlIGR3YXJmX2FkZHJfc2l6ZTsK KwogICAvKiBQb2ludGVyIHRvIHRoZSAuZGVidWdfbGluZV9zdHIgc2VjdGlvbiBsb2FkZWQgaW50 byBtZW1vcnkuICAqLwogICBiZmRfYnl0ZSAqZHdhcmZfbGluZV9zdHJfYnVmZmVyOwogCkBAIC0y OTYsNiArMzA4LDEyIEBAIHN0cnVjdCBjb21wX3VuaXQKIAogICAvKiBUUlVFIGlmIHN5bWJvbHMg YXJlIGNhY2hlZCBpbiBoYXNoIHRhYmxlIGZvciBmYXN0ZXIgbG9va3VwIGJ5IG5hbWUuICAqLwog ICBib29sIGNhY2hlZDsKKworIC8qIEJhc2UgYWRkcmVzcyBvZiBkZWJ1Z19hZGRyIHNlY3Rpb24u ICAqLworICB1bnNpZ25lZCBsb25nIGR3YXJmX2FkZHJfb2Zmc2V0OworCisgIC8qIEJhc2UgYWRk cmVzcyBvZiBzdHJpbmcgb2Zmc2V0IHRhYmxlLiAgKi8KKyAgdW5zaWduZWQgbG9uZyBkd2FyZl9z dHJfb2Zmc2V0OwogfTsKIAogLyogVGhpcyBkYXRhIHN0cnVjdHVyZSBob2xkcyB0aGUgaW5mb3Jt YXRpb24gb2YgYW4gYWJicmV2LiAgKi8KQEAgLTMzOCw2ICszNTYsOCBAQCBjb25zdCBzdHJ1Y3Qg ZHdhcmZfZGVidWdfc2VjdGlvbiBkd2FyZl9kZWJ1Z19zZWN0aW9uc1tdID0KICAgeyAiLmRlYnVn X3N0YXRpY192YXJzIiwJIi56ZGVidWdfc3RhdGljX3ZhcnMiIH0sCiAgIHsgIi5kZWJ1Z19zdHIi LAkJIi56ZGVidWdfc3RyIiwgfSwKICAgeyAiLmRlYnVnX3N0ciIsCQkiLnpkZWJ1Z19zdHIiLCB9 LAorICB7ICIuZGVidWdfc3RyX29mZnNldHMiLCAgICAgICAiLnpkZWJ1Z19zdHJfb2Zmc2V0cyIs IH0sCisgIHsgIi5kZWJ1Z19hZGRyIiwgICAgICAgICAgICAgICIuemRlYnVnX2FkZHIiLCB9LAog ICB7ICIuZGVidWdfbGluZV9zdHIiLAkJIi56ZGVidWdfbGluZV9zdHIiLCB9LAogICB7ICIuZGVi dWdfdHlwZXMiLAkJIi56ZGVidWdfdHlwZXMiIH0sCiAgIC8qIEdOVSBEV0FSRiAxIGV4dGVuc2lv bnMgKi8KQEAgLTM3Miw2ICszOTIsOCBAQCBlbnVtIGR3YXJmX2RlYnVnX3NlY3Rpb25fZW51bQog ICBkZWJ1Z19zdGF0aWNfdmFycywKICAgZGVidWdfc3RyLAogICBkZWJ1Z19zdHJfYWx0LAorICBk ZWJ1Z19zdHJfb2Zmc2V0cywKKyAgZGVidWdfYWRkciwKICAgZGVidWdfbGluZV9zdHIsCiAgIGRl YnVnX3R5cGVzLAogICBkZWJ1Z19zZm5hbWVzLApAQCAtMTIyMSwxMiArMTI0Myw5MyBAQCBpc19p bnRfZm9ybSAoY29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cikKICAgICB9CiB9CiAKKy8qIFJl dHVybnMgdHJ1ZSBpZiB0aGUgZm9ybSBpcyBzdHJ4WzEtNF0uICAqLworCitzdGF0aWMgaW5saW5l IGJvb2wKK2lzX3N0cnhfZm9ybShlbnVtIGR3YXJmX2Zvcm0gZm9ybSkKK3sKKyAgcmV0dXJuIChm b3JtID09IERXX0ZPUk1fc3RyeAorCSAgfHwgZm9ybSA9PSBEV19GT1JNX3N0cngxCisJICB8fCBm b3JtID09IERXX0ZPUk1fc3RyeDIKKwkgIHx8IGZvcm0gPT0gRFdfRk9STV9zdHJ4MworCSAgfHwg Zm9ybSA9PSBEV19GT1JNX3N0cng0KTsKK30KKworLyogUmV0dXJuIHRydWUgaWYgdGhlIGZvcm0g aXMgYWRkcnhbMS00XS4gICovCisKK3N0YXRpYyBpbmxpbmUgYm9vbAoraXNfYWRkcnhfZm9ybShl bnVtIGR3YXJmX2Zvcm0gZm9ybSkKK3sKKyAgcmV0dXJuIChmb3JtID09IERXX0ZPUk1fYWRkcngK KwkgIHx8IGZvcm0gPT0gRFdfRk9STV9hZGRyeDEKKwkgIHx8IGZvcm0gPT0gRFdfRk9STV9hZGRy eDIKKwkgIHx8IGZvcm0gPT0gRFdfRk9STV9hZGRyeDMKKwkgIHx8IGZvcm0gPT0gRFdfRk9STV9h ZGRyeDQpOworfQorCisvKiBSZXR1cm5zIHRoZSBhZGRyZXNzIGluIC5kZWJ1Z19hZGRyIHNlY3Rp b24gdXNpbmcgRFdfQVRfYWRkcl9iYXNlLgorICAgVXNlZCB0byBpbXBsZW1lbnQgRFdfRk9STV9h ZGRyeCouICAqLworc3RhdGljIGJmZF92bWEKK3JlYWRfaW5kZXhlZF9hZGRyZXNzIChiZmRfdWlu dDY0X3QgaWR4LAorCQkgICAgICBzdHJ1Y3QgY29tcF91bml0ICp1bml0KQoreworICBzdHJ1Y3Qg ZHdhcmYyX2RlYnVnICpzdGFzaCA9IHVuaXQtPnN0YXNoOworICBzdHJ1Y3QgZHdhcmYyX2RlYnVn X2ZpbGUgKmZpbGUgPSB1bml0LT5maWxlOworICB1bnNpZ25lZCBsb25nIGFkZHJfYmFzZSA9IHVu aXQtPmR3YXJmX2FkZHJfb2Zmc2V0OworICBiZmRfYnl0ZSAqaW5mb19wdHI7CisKKyAgaWYgKHN0 YXNoID09IE5VTEwpCisgICAgcmV0dXJuIDA7CisKKyAgaWYgKCFyZWFkX3NlY3Rpb24gKHVuaXQt PmFiZmQsICZzdGFzaC0+ZGVidWdfc2VjdGlvbnNbZGVidWdfYWRkcl0sCisJCSAgICAgZmlsZS0+ c3ltcywgMCwKKwkJICAgICAmZmlsZS0+ZHdhcmZfYWRkcl9idWZmZXIsICZmaWxlLT5kd2FyZl9h ZGRyX3NpemUpKQorICAgIHJldHVybiAwOworCisgIGluZm9fcHRyID0gKGJmZF9ieXRlICopKGZp bGUtPmR3YXJmX2FkZHJfYnVmZmVyICsgYWRkcl9iYXNlCisJICAgICAgKyBpZHggKiB1bml0LT5v ZmZzZXRfc2l6ZSk7CisKKyAgaWYgKHVuaXQtPm9mZnNldF9zaXplID09IDQpCisgICAgIHJldHVy biBiZmRfZ2V0XzMyICh1bml0LT5hYmZkLCBpbmZvX3B0cik7CisgIGVsc2UKKyAgICAgcmV0dXJu IGJmZF9nZXRfNjQgKHVuaXQtPmFiZmQsIGluZm9fcHRyKTsKK30KKworLyogUmV0dXJucyB0aGUg c3RyaW5nIHVzaW5nIERXX0FUX3N0cl9vZmZzZXRzX2Jhc2UuCisgICBVc2VkIHRvIGltcGxlbWVu dCBEV19GT1JNX3N0cngqLiAgKi8KIHN0YXRpYyBjb25zdCBjaGFyICoKLXJlYWRfaW5kZXhlZF9z dHJpbmcgKGJmZF91aW50NjRfdCBpZHggQVRUUklCVVRFX1VOVVNFRCwKLQkJICAgICBzdHJ1Y3Qg Y29tcF91bml0ICogdW5pdCBBVFRSSUJVVEVfVU5VU0VEKQorcmVhZF9pbmRleGVkX3N0cmluZyAo YmZkX3VpbnQ2NF90IGlkeCwKKwkJICAgICBzdHJ1Y3QgY29tcF91bml0ICogdW5pdCkKIHsKLSAg LyogRklYTUU6IEFkZCBzdXBwb3J0IGZvciBpbmRleGVkIHN0cmluZ3MuICAqLwotICByZXR1cm4g IjxpbmRleGVkIHN0cmluZ3Mgbm90IHlldCBzdXBwb3J0ZWQ+IjsKKyAgc3RydWN0IGR3YXJmMl9k ZWJ1ZyAqc3Rhc2ggPSB1bml0LT5zdGFzaDsKKyAgc3RydWN0IGR3YXJmMl9kZWJ1Z19maWxlICpm aWxlID0gdW5pdC0+ZmlsZTsKKyAgYmZkX2J5dGUgKmluZm9fcHRyOworICB1bnNpZ25lZCBsb25n IHN0cl9vZmZzZXQ7CisKKyAgaWYgKHN0YXNoID09IE5VTEwpCisgICAgcmV0dXJuIE5VTEw7CisK KyAgaWYgKCFyZWFkX3NlY3Rpb24gKHVuaXQtPmFiZmQsICZzdGFzaC0+ZGVidWdfc2VjdGlvbnNb ZGVidWdfc3RyXSwKKwkJICAgICBmaWxlLT5zeW1zLCAwLAorCQkgICAgICZmaWxlLT5kd2FyZl9z dHJfYnVmZmVyLCAmZmlsZS0+ZHdhcmZfc3RyX3NpemUpKQorICAgIHJldHVybiBOVUxMOworCisg IGlmICghcmVhZF9zZWN0aW9uICh1bml0LT5hYmZkLCAmc3Rhc2gtPmRlYnVnX3NlY3Rpb25zW2Rl YnVnX3N0cl9vZmZzZXRzXSwKKwkJICAgICBmaWxlLT5zeW1zLCAwLAorCQkgICAgICZmaWxlLT5k d2FyZl9zdHJfb2Zmc2V0c19idWZmZXIsCisJCSAgICAgJmZpbGUtPmR3YXJmX3N0cl9vZmZzZXRz X3NpemUpKQorICByZXR1cm4gTlVMTDsKKworICBpbmZvX3B0ciA9IChiZmRfYnl0ZSAqKShmaWxl LT5kd2FyZl9zdHJfb2Zmc2V0c19idWZmZXIKKwkgICAgICArICB1bml0LT5kd2FyZl9zdHJfb2Zm c2V0CisJICAgICAgKyBpZHggKiB1bml0LT5vZmZzZXRfc2l6ZSk7CisKKyAgaWYgKHVuaXQtPm9m ZnNldF9zaXplID09IDQpCisgICAgIHN0cl9vZmZzZXQgPSBiZmRfZ2V0XzMyICh1bml0LT5hYmZk LCBpbmZvX3B0cik7CisgIGVsc2UKKyAgICAgc3RyX29mZnNldCA9IGJmZF9nZXRfNjQgKHVuaXQt PmFiZmQsIGluZm9fcHRyKTsKKworICByZXR1cm4gKGNvbnN0IGNoYXIqKSAoZmlsZS0+ZHdhcmZf c3RyX2J1ZmZlciArIHN0cl9vZmZzZXQpOwogfQogCiAvKiBSZWFkIGFuZCBmaWxsIGluIHRoZSB2 YWx1ZSBvZiBhdHRyaWJ1dGUgQVRUUiBhcyBkZXNjcmliZWQgYnkgRk9STS4KQEAgLTEyOTUsMjEg KzEzOTgsMzcgQEAgcmVhZF9hdHRyaWJ1dGVfdmFsdWUgKHN0cnVjdCBhdHRyaWJ1dGUgKiAgYXR0 ciwKICAgICBjYXNlIERXX0ZPUk1fcmVmMToKICAgICBjYXNlIERXX0ZPUk1fZmxhZzoKICAgICBj YXNlIERXX0ZPUk1fZGF0YTE6CisgICAgICBhdHRyLT51LnZhbCA9IHJlYWRfMV9ieXRlIChhYmZk LCAmaW5mb19wdHIsIGluZm9fcHRyX2VuZCk7CisgICAgICBicmVhazsKICAgICBjYXNlIERXX0ZP Uk1fYWRkcngxOgogICAgICAgYXR0ci0+dS52YWwgPSByZWFkXzFfYnl0ZSAoYWJmZCwgJmluZm9f cHRyLCBpbmZvX3B0cl9lbmQpOworICAgICAgLyogZHdhcmZfYWRkcl9vZmZzZXQgdmFsdWUgMCBp bmRpY2F0ZXMgdGhlIGF0dHJpYnV0ZSBEV19BVF9hZGRyX2Jhc2UKKwkgaXMgbm90IHlldCByZWFk LiAgKi8KKyAgICAgIGlmICh1bml0LT5kd2FyZl9hZGRyX29mZnNldCAhPSAwKQorCWF0dHItPnUu dmFsID0gcmVhZF9pbmRleGVkX2FkZHJlc3MoYXR0ci0+dS52YWwsIHVuaXQpOwogICAgICAgYnJl YWs7CiAgICAgY2FzZSBEV19GT1JNX2RhdGEyOgotICAgIGNhc2UgRFdfRk9STV9hZGRyeDI6CiAg ICAgY2FzZSBEV19GT1JNX3JlZjI6CiAgICAgICBhdHRyLT51LnZhbCA9IHJlYWRfMl9ieXRlcyAo YWJmZCwgJmluZm9fcHRyLCBpbmZvX3B0cl9lbmQpOwogICAgICAgYnJlYWs7CisgICAgY2FzZSBE V19GT1JNX2FkZHJ4MjoKKyAgICAgIGF0dHItPnUudmFsID0gcmVhZF8yX2J5dGVzIChhYmZkLCAm aW5mb19wdHIsIGluZm9fcHRyX2VuZCk7CisgICAgICBpZiAodW5pdC0+ZHdhcmZfYWRkcl9vZmZz ZXQgIT0gMCkKKwlhdHRyLT51LnZhbCA9IHJlYWRfaW5kZXhlZF9hZGRyZXNzKGF0dHItPnUudmFs LCB1bml0KTsKKyAgICAgIGJyZWFrOwogICAgIGNhc2UgRFdfRk9STV9hZGRyeDM6CiAgICAgICBh dHRyLT51LnZhbCA9IHJlYWRfM19ieXRlcyAoYWJmZCwgJmluZm9fcHRyLCBpbmZvX3B0cl9lbmQp OworICAgICAgaWYgKHVuaXQtPmR3YXJmX2FkZHJfb2Zmc2V0ICE9IDApCisJYXR0ci0+dS52YWwg PSByZWFkX2luZGV4ZWRfYWRkcmVzcyhhdHRyLT51LnZhbCwgdW5pdCk7CiAgICAgICBicmVhazsK ICAgICBjYXNlIERXX0ZPUk1fcmVmNDoKICAgICBjYXNlIERXX0ZPUk1fZGF0YTQ6CisgICAgICBh dHRyLT51LnZhbCA9IHJlYWRfNF9ieXRlcyAoYWJmZCwgJmluZm9fcHRyLCBpbmZvX3B0cl9lbmQp OworICAgICAgYnJlYWs7CiAgICAgY2FzZSBEV19GT1JNX2FkZHJ4NDoKICAgICAgIGF0dHItPnUu dmFsID0gcmVhZF80X2J5dGVzIChhYmZkLCAmaW5mb19wdHIsIGluZm9fcHRyX2VuZCk7CisgICAg ICBpZiAodW5pdC0+ZHdhcmZfYWRkcl9vZmZzZXQgIT0gMCkKKwlhdHRyLT51LnZhbCA9IHJlYWRf aW5kZXhlZF9hZGRyZXNzKGF0dHItPnUudmFsLCB1bml0KTsKICAgICAgIGJyZWFrOwogICAgIGNh c2UgRFdfRk9STV9kYXRhODoKICAgICBjYXNlIERXX0ZPUk1fcmVmODoKQEAgLTEzMzAsMjQgKzE0 NDksMzEgQEAgcmVhZF9hdHRyaWJ1dGVfdmFsdWUgKHN0cnVjdCBhdHRyaWJ1dGUgKiAgYXR0ciwK ICAgICAgIGJyZWFrOwogICAgIGNhc2UgRFdfRk9STV9zdHJ4MToKICAgICAgIGF0dHItPnUudmFs ID0gcmVhZF8xX2J5dGUgKGFiZmQsICZpbmZvX3B0ciwgaW5mb19wdHJfZW5kKTsKLSAgICAgIGF0 dHItPnUuc3RyID0gKGNoYXIgKikgcmVhZF9pbmRleGVkX3N0cmluZyAoYXR0ci0+dS52YWwsIHVu aXQpOworICAgICAgLyogZHdhcmZfc3RyX29mZnNldCB2YWx1ZSAwIGluZGljYXRlcyB0aGUgYXR0 cmlidXRlIERXX0FUX3N0cl9vZmZzZXRzX2Jhc2UKKwkgaXMgbm90IHlldCByZWFkLiAgKi8KKyAg ICAgIGlmICh1bml0LT5kd2FyZl9zdHJfb2Zmc2V0ICE9IDApCisJYXR0ci0+dS5zdHIgPSAoY2hh ciAqKSByZWFkX2luZGV4ZWRfc3RyaW5nIChhdHRyLT51LnZhbCwgdW5pdCk7CiAgICAgICBicmVh azsKICAgICBjYXNlIERXX0ZPUk1fc3RyeDI6CiAgICAgICBhdHRyLT51LnZhbCA9IHJlYWRfMl9i eXRlcyAoYWJmZCwgJmluZm9fcHRyLCBpbmZvX3B0cl9lbmQpOwotICAgICAgYXR0ci0+dS5zdHIg PSAoY2hhciAqKSByZWFkX2luZGV4ZWRfc3RyaW5nIChhdHRyLT51LnZhbCwgdW5pdCk7CisgICAg ICBpZiAodW5pdC0+ZHdhcmZfc3RyX29mZnNldCAhPSAwKQorCWF0dHItPnUuc3RyID0gKGNoYXIg KikgcmVhZF9pbmRleGVkX3N0cmluZyAoYXR0ci0+dS52YWwsIHVuaXQpOwogICAgICAgYnJlYWs7 CiAgICAgY2FzZSBEV19GT1JNX3N0cngzOgogICAgICAgYXR0ci0+dS52YWwgPSByZWFkXzNfYnl0 ZXMgKGFiZmQsICZpbmZvX3B0ciwgaW5mb19wdHJfZW5kKTsKLSAgICAgIGF0dHItPnUuc3RyID0g KGNoYXIgKikgcmVhZF9pbmRleGVkX3N0cmluZyAoYXR0ci0+dS52YWwsIHVuaXQpOworICAgICAg aWYgKHVuaXQtPmR3YXJmX3N0cl9vZmZzZXQgIT0gMCkKKwlhdHRyLT51LnN0ciA9IChjaGFyICop IHJlYWRfaW5kZXhlZF9zdHJpbmcgKGF0dHItPnUudmFsLCB1bml0KTsKICAgICAgIGJyZWFrOwog ICAgIGNhc2UgRFdfRk9STV9zdHJ4NDoKICAgICAgIGF0dHItPnUudmFsID0gcmVhZF80X2J5dGVz IChhYmZkLCAmaW5mb19wdHIsIGluZm9fcHRyX2VuZCk7Ci0gICAgICBhdHRyLT51LnN0ciA9IChj aGFyICopIHJlYWRfaW5kZXhlZF9zdHJpbmcgKGF0dHItPnUudmFsLCB1bml0KTsKKyAgICAgIGlm ICh1bml0LT5kd2FyZl9zdHJfb2Zmc2V0ICE9IDApCisJYXR0ci0+dS5zdHIgPSAoY2hhciAqKSBy ZWFkX2luZGV4ZWRfc3RyaW5nIChhdHRyLT51LnZhbCwgdW5pdCk7CiAgICAgICBicmVhazsKICAg ICBjYXNlIERXX0ZPUk1fc3RyeDoKICAgICAgIGF0dHItPnUudmFsID0gX2JmZF9zYWZlX3JlYWRf bGViMTI4IChhYmZkLCAmaW5mb19wdHIsCiAJCQkJCSAgIGZhbHNlLCBpbmZvX3B0cl9lbmQpOwot ICAgICAgYXR0ci0+dS5zdHIgPSAoY2hhciAqKSByZWFkX2luZGV4ZWRfc3RyaW5nIChhdHRyLT51 LnZhbCwgdW5pdCk7CisgICAgICBpZiAodW5pdC0+ZHdhcmZfc3RyX29mZnNldCAhPSAwKQorCWF0 dHItPnUuc3RyID0gKGNoYXIgKikgcmVhZF9pbmRleGVkX3N0cmluZyAoYXR0ci0+dS52YWwsIHVu aXQpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBEV19GT1JNX2V4cHJsb2M6CiAgICAgY2FzZSBE V19GT1JNX2Jsb2NrOgpAQCAtMTM2OSw5ICsxNDk1LDE0IEBAIHJlYWRfYXR0cmlidXRlX3ZhbHVl IChzdHJ1Y3QgYXR0cmlidXRlICogIGF0dHIsCiAgICAgICBicmVhazsKICAgICBjYXNlIERXX0ZP Uk1fcmVmX3VkYXRhOgogICAgIGNhc2UgRFdfRk9STV91ZGF0YToKKyAgICAgIGF0dHItPnUudmFs ID0gX2JmZF9zYWZlX3JlYWRfbGViMTI4IChhYmZkLCAmaW5mb19wdHIsCisJCQkJCSAgIGZhbHNl LCBpbmZvX3B0cl9lbmQpOworICAgICAgYnJlYWs7CiAgICAgY2FzZSBEV19GT1JNX2FkZHJ4Ogog ICAgICAgYXR0ci0+dS52YWwgPSBfYmZkX3NhZmVfcmVhZF9sZWIxMjggKGFiZmQsICZpbmZvX3B0 ciwKIAkJCQkJICAgZmFsc2UsIGluZm9fcHRyX2VuZCk7CisgICAgICBpZiAodW5pdC0+ZHdhcmZf YWRkcl9vZmZzZXQgIT0gMCkKKwlhdHRyLT51LnZhbCA9IHJlYWRfaW5kZXhlZF9hZGRyZXNzKGF0 dHItPnUudmFsLCB1bml0KTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgRFdfRk9STV9pbmRpcmVj dDoKICAgICAgIGZvcm0gPSBfYmZkX3NhZmVfcmVhZF9sZWIxMjggKGFiZmQsICZpbmZvX3B0ciwK QEAgLTIxMTcsNiArMjI0OCwxMSBAQCByZWFkX2Zvcm1hdHRlZF9lbnRyaWVzIChzdHJ1Y3QgY29t cF91bml0ICp1bml0LCBiZmRfYnl0ZSAqKmJ1ZnAsCiAJICAgIHsKIAkgICAgY2FzZSBEV19GT1JN X3N0cmluZzoKIAkgICAgY2FzZSBEV19GT1JNX2xpbmVfc3RycDoKKwkgICAgY2FzZSBEV19GT1JN X3N0cng6CisJICAgIGNhc2UgRFdfRk9STV9zdHJ4MToKKwkgICAgY2FzZSBEV19GT1JNX3N0cngy OgorCSAgICBjYXNlIERXX0ZPUk1fc3RyeDM6CisJICAgIGNhc2UgRFdfRk9STV9zdHJ4NDoKIAkg ICAgICAqc3RyaW5ncCA9IGF0dHIudS5zdHI7CiAJICAgICAgYnJlYWs7CiAKQEAgLTM3NDksNiAr Mzg4NSw3NyBAQCBzY2FuX3VuaXRfZm9yX3N5bWJvbHMgKHN0cnVjdCBjb21wX3VuaXQgKnVuaXQp CiAgIHJldHVybiBmYWxzZTsKIH0KIAorLyogcmVhZCB0aGUgYXR0cmlidXRlcyBvZiB0aGUgZm9y bSBzdHJ4IGFuZCBhZGRyeC4gICovCitzdGF0aWMgdm9pZCByZXJlYWRfYXR0cmlidXRlIChzdHJ1 Y3QgY29tcF91bml0ICogICAgdW5pdCwKKwkJCSAgICAgIHN0cnVjdCBhdHRyaWJ1dGUgYXR0ciwK KwkJCSAgICAgIGJmZF92bWEgKmxvd19wYywKKwkJCSAgICAgIGJmZF92bWEgKmhpZ2hfcGMsCisJ CQkgICAgICBib29sICpoaWdoX3BjX3JlbGF0aXZlLAorCQkJICAgICAgYm9vbCBjb21wdW5pdCkK K3sKKworICBpZiAoaXNfc3RyeF9mb3JtKGF0dHIuZm9ybSkpCisgICAgYXR0ci51LnN0ciA9IChj aGFyKikgcmVhZF9pbmRleGVkX3N0cmluZyAoYXR0ci51LnZhbCwgdW5pdCk7CisgIGlmIChpc19h ZGRyeF9mb3JtKGF0dHIuZm9ybSkpCisgICAgYXR0ci51LnZhbCA9IHJlYWRfaW5kZXhlZF9hZGRy ZXNzIChhdHRyLnUudmFsLCB1bml0KTsKKworICBzd2l0Y2ggKGF0dHIubmFtZSkKKyAgeworICAg IGNhc2UgRFdfQVRfc3RtdF9saXN0OgorICAgICAgdW5pdC0+c3RtdGxpc3QgPSAxOworICAgICAg dW5pdC0+bGluZV9vZmZzZXQgPSBhdHRyLnUudmFsOworICAgICAgYnJlYWs7CisKKyAgICBjYXNl IERXX0FUX25hbWU6CisgICAgICBpZiAoaXNfc3RyX2Zvcm0gKCZhdHRyKSkKKyAgICAgICAgdW5p dC0+bmFtZSA9IGF0dHIudS5zdHI7CisgICAgICBicmVhazsKKworICAgIGNhc2UgRFdfQVRfbG93 X3BjOgorICAgICAgKmxvd19wYyA9IGF0dHIudS52YWw7CisgICAgICBpZiAoY29tcHVuaXQpCisg ICAgICAgIHVuaXQtPmJhc2VfYWRkcmVzcyA9ICpsb3dfcGM7CisgICAgICBicmVhazsKKworICAg IGNhc2UgRFdfQVRfaGlnaF9wYzoKKyAgICAgICpoaWdoX3BjID0gYXR0ci51LnZhbDsKKyAgICAg ICpoaWdoX3BjX3JlbGF0aXZlID0gYXR0ci5mb3JtICE9IERXX0ZPUk1fYWRkcjsKKyAgICAgIGJy ZWFrOworCisgICAgY2FzZSBEV19BVF9yYW5nZXM6CisgICAgICBpZiAoIXJlYWRfcmFuZ2VsaXN0 ICh1bml0LCAmdW5pdC0+YXJhbmdlLCBhdHRyLnUudmFsKSkKKyAgICAgICAgcmV0dXJuOworICAg ICAgYnJlYWs7CisKKyAgICBjYXNlIERXX0FUX2NvbXBfZGlyOgorICAgIHsKKyAgICAgIGNoYXIg KmNvbXBfZGlyID0gYXR0ci51LnN0cjsKKworICAgICAgaWYgKCEgaXNfc3RyX2Zvcm0gKCZhdHRy KSkKKyAgICAgIHsKKyAgICAgICAgIF9iZmRfZXJyb3JfaGFuZGxlcgorICAgICAgICAgIChfKCJE V0FSRiBlcnJvcjogRFdfQVRfY29tcF9kaXIgYXR0cmlidXRlIGVuY291bnRlcmVkIHdpdGggYSBu b24tc3RyaW5nIGZvcm0iKSk7CisgICAgICAgICBjb21wX2RpciA9IE5VTEw7CisgICAgICB9CisK KyAgICAgIGlmIChjb21wX2RpcikKKyAgICAgIHsKKyAgICAgICAgY2hhciAqY3AgPSBzdHJjaHIg KGNvbXBfZGlyLCAnOicpOworCisgICAgICAgIGlmIChjcCAmJiBjcCAhPSBjb21wX2RpciAmJiBj cFstMV0gPT0gJy4nICYmIGNwWzFdID09ICcvJykKKyAgICAgICAgICBjb21wX2RpciA9IGNwICsg MTsKKyAgICAgIH0KKyAgICAgICAgdW5pdC0+Y29tcF9kaXIgPSBjb21wX2RpcjsKKyAgICAgICAg YnJlYWs7CisgICAgfQorCisgICAgICBjYXNlIERXX0FUX2xhbmd1YWdlOgorICAgICAgICB1bml0 LT5sYW5nID0gYXR0ci51LnZhbDsKKyAgICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAg fQorfQorCiAvKiBQYXJzZSBhIERXQVJGMiBjb21waWxhdGlvbiB1bml0IHN0YXJ0aW5nIGF0IElO Rk9fUFRSLiAgVU5JVF9MRU5HVEgKICAgIGluY2x1ZGVzIHRoZSBjb21waWxhdGlvbiB1bml0IGhl YWRlciB0aGF0IHByb2NlZWRzIHRoZSBESUUncywgYnV0CiAgICBkb2VzIG5vdCBpbmNsdWRlIHRo ZSBsZW5ndGggZmllbGQgdGhhdCBwcmVjZWRlcyBlYWNoIGNvbXBpbGF0aW9uCkBAIC0zNzgyLDYg KzM5ODksOSBAQCBwYXJzZV9jb21wX3VuaXQgKHN0cnVjdCBkd2FyZjJfZGVidWcgKnN0YXNoLAog ICBiZmQgKmFiZmQgPSBmaWxlLT5iZmRfcHRyOwogICBib29sIGhpZ2hfcGNfcmVsYXRpdmUgPSBm YWxzZTsKICAgZW51bSBkd2FyZl91bml0X3R5cGUgdW5pdF90eXBlOworICBzdHJ1Y3QgYXR0cmli dXRlICpzdHJfYWRkcnAgPSBOVUxMOworICB1bnNpZ25lZCBpbnQgY291bnQgPSAwOworICBib29s IGNvbXB1bml0X2ZsYWcgPSBmYWxzZTsKIAogICB2ZXJzaW9uID0gcmVhZF8yX2J5dGVzIChhYmZk LCAmaW5mb19wdHIsIGVuZF9wdHIpOwogICBpZiAodmVyc2lvbiA8IDIgfHwgdmVyc2lvbiA+IDUp CkBAIC0zODg2LDEyICs0MDk2LDM0IEBAIHBhcnNlX2NvbXBfdW5pdCAoc3RydWN0IGR3YXJmMl9k ZWJ1ZyAqc3Rhc2gsCiAgIHVuaXQtPmZpbGUgPSBmaWxlOwogICB1bml0LT5pbmZvX3B0cl91bml0 ID0gaW5mb19wdHJfdW5pdDsKIAorICBpZiAoYWJicmV2LT50YWcgPT0gRFdfVEFHX2NvbXBpbGVf dW5pdCkKKyAgICBjb21wdW5pdF9mbGFnID0gdHJ1ZTsKKwogICBmb3IgKGkgPSAwOyBpIDwgYWJi cmV2LT5udW1fYXR0cnM7ICsraSkKICAgICB7CiAgICAgICBpbmZvX3B0ciA9IHJlYWRfYXR0cmli dXRlICgmYXR0ciwgJmFiYnJldi0+YXR0cnNbaV0sIHVuaXQsIGluZm9fcHRyLCBlbmRfcHRyKTsK ICAgICAgIGlmIChpbmZvX3B0ciA9PSBOVUxMKQogCXJldHVybiBOVUxMOwogCisgICAgICAvKiBJ ZGVudGlmeSBhdHRyaWJ1dGVzIG9mIHRoZSBmb3JtIHN0cngqIGFuZCBhZGRyeCogd2hpY2ggY29t ZSBiZWZvcmUKKwkgRFdfQVRfc3RyX29mZnNldHNfYmFzZSBhbmQgRFdfQVRfYWRkcl9iYXNlIHJl c3BlY3RpdmVseSBpbiB0aGUgQ1UuCisJIFN0b3JlIHRoZSBhdHRyaWJ1dGVzIGluIGFuIGFycmF5 IGFuZCBwcm9jZXNzIHRoZW0gbGF0ZXIuICAqLworICAgICAgaWYgKChpc19zdHJ4X2Zvcm0oYXR0 ci5mb3JtKSAmJgorCSAgdW5pdC0+ZHdhcmZfc3RyX29mZnNldCA9PSAwKSB8fAorICAgICAgICAg IChpc19hZGRyeF9mb3JtKGF0dHIuZm9ybSkgICYmCisJICB1bml0LT5kd2FyZl9hZGRyX29mZnNl dCA9PSAwKSkKKyAgICAgIHsKKwlzdHJfYWRkcnAgPSAoc3RydWN0IGF0dHJpYnV0ZSAqKQorCSAg YmZkX3JlYWxsb2Moc3RyX2FkZHJwLCAoY291bnQgKyAxKSAqIHNpemVvZihzdHJ1Y3QgYXR0cmli dXRlKSk7CisJaWYgKHN0cl9hZGRycCA9PSBOVUxMKQorCSAgcmV0dXJuIE5VTEw7CisJc3RyX2Fk ZHJwW2NvdW50XS5uYW1lID0gYXR0ci5uYW1lOworCXN0cl9hZGRycFtjb3VudF0uZm9ybSA9IChl bnVtIGR3YXJmX2Zvcm0pIGF0dHIuZm9ybTsKKwlzdHJfYWRkcnBbY291bnRdLnUudmFsID0gYXR0 ci51LnZhbDsKKwljb3VudCsrOworCWNvbnRpbnVlOworICAgICAgfQorCiAgICAgICAvKiBTdG9y ZSB0aGUgZGF0YSBpZiBpdCBpcyBvZiBhbiBhdHRyaWJ1dGUgd2Ugd2FudCB0byBrZWVwIGluIGEK IAkgcGFydGlhbCBzeW1ib2wgdGFibGUuICAqLwogICAgICAgc3dpdGNoIChhdHRyLm5hbWUpCkBA IC0zOTE2LDcgKzQxNDgsNyBAQCBwYXJzZV9jb21wX3VuaXQgKHN0cnVjdCBkd2FyZjJfZGVidWcg KnN0YXNoLAogCSAgICAgIC8qIElmIHRoZSBjb21waWxhdGlvbiB1bml0IERJRSBoYXMgYSBEV19B VF9sb3dfcGMgYXR0cmlidXRlLAogCQkgdGhpcyBpcyB0aGUgYmFzZSBhZGRyZXNzIHRvIHVzZSB3 aGVuIHJlYWRpbmcgbG9jYXRpb24KIAkJIGxpc3RzIG9yIHJhbmdlIGxpc3RzLiAgKi8KLQkgICAg ICBpZiAoYWJicmV2LT50YWcgPT0gRFdfVEFHX2NvbXBpbGVfdW5pdCkKKwkgICAgICBpZiAoY29t cHVuaXRfZmxhZykKIAkJdW5pdC0+YmFzZV9hZGRyZXNzID0gbG93X3BjOwogCSAgICB9CiAJICBi cmVhazsKQEAgLTM5NjUsMTAgKzQxOTcsMjcgQEAgcGFyc2VfY29tcF91bml0IChzdHJ1Y3QgZHdh cmYyX2RlYnVnICpzdGFzaCwKIAkgICAgdW5pdC0+bGFuZyA9IGF0dHIudS52YWw7CiAJICBicmVh azsKIAorCWNhc2UgRFdfQVRfYWRkcl9iYXNlOgorCSAgdW5pdC0+ZHdhcmZfYWRkcl9vZmZzZXQg PSBhdHRyLnUudmFsOworCSAgYnJlYWs7CisKKwljYXNlIERXX0FUX3N0cl9vZmZzZXRzX2Jhc2U6 CisJICB1bml0LT5kd2FyZl9zdHJfb2Zmc2V0ID0gYXR0ci51LnZhbDsKKwkgIGJyZWFrOworCiAJ ZGVmYXVsdDoKIAkgIGJyZWFrOwogCX0KICAgICB9CisKKyAgZm9yIChpID0gMDsgaSA8IGNvdW50 OyArK2kpCisgICAgeworCXN0cnVjdCBhdHRyaWJ1dGUgYXR0cjEgPSBzdHJfYWRkcnBbaV07CisJ cmVyZWFkX2F0dHJpYnV0ZSh1bml0LCBhdHRyMSwgJmxvd19wYywgJmhpZ2hfcGMsCisJCQkgJmhp Z2hfcGNfcmVsYXRpdmUsIGNvbXB1bml0X2ZsYWcpOworCisgICAgfQorCiAgIGlmIChoaWdoX3Bj X3JlbGF0aXZlKQogICAgIGhpZ2hfcGMgKz0gbG93X3BjOwogICBpZiAoaGlnaF9wYyAhPSAwKQpA QCAtMzk3OCw2ICs0MjI3LDEwIEBAIHBhcnNlX2NvbXBfdW5pdCAoc3RydWN0IGR3YXJmMl9kZWJ1 ZyAqc3Rhc2gsCiAgICAgfQogCiAgIHVuaXQtPmZpcnN0X2NoaWxkX2RpZV9wdHIgPSBpbmZvX3B0 cjsKKworICBpZiAoc3RyX2FkZHJwICE9IE5VTEwpCisgICAgZnJlZShzdHJfYWRkcnApOworCiAg IHJldHVybiB1bml0OwogfQogCi0tIAoyLjE3LjEKCg== --_002_DM6PR12MB4219463F904C5AEADC5C7EA2E7C79DM6PR12MB4219namp_--