From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2D89F45CA6; Fri, 8 Nov 2024 12:44:49 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F22D042EC5; Fri, 8 Nov 2024 12:44:48 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id B85BF4025E for ; Fri, 8 Nov 2024 12:44:46 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4A84Cmta026047; Fri, 8 Nov 2024 03:44:43 -0800 Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2049.outbound.protection.outlook.com [104.47.66.49]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 42sbdq0tum-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 08 Nov 2024 03:44:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BMs0HhAucrNcaLLH7fT1XDJnB6PYQ0YNPB2ihGXoZ/V6bsXCtD9ts8caCU/h8XiFB5iCh2cdYvoemjJKczPlD7HKRLItL5pWfI/H65Dbnwa39NyKo5J1hCmx4f6f5CoWxR1tLlGgrAO8MYBmq192zY96tuRvhHg87O9PIyarVVhCu5UOVvk3K1n9I9I0FAMRe5xFaoh/AYNxjMRphZJ2V7y1Pf8l4hO+MOSdwzcF5Qg/kL2FRDQPb58vhCnDmhpfzLvjFgpDXGRy8flAtc3/jJ6UchnmheYhn8MIva/jG5bUb2zEDwfxLeO8+gw19MrV678g0T7PSzKp4GM9+HrMUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=yOT35KufvEeZ49qEWKWUd1U4iSUuWM1IAKzeHZginm8=; b=xSRIYqYpcmWq5wCY+BBUDBFR+ooZIDToqkuvFT/wpFEaZpDXrhHW1xQsgGWF4xxF87Lcjvd+naTmy1yFDiMUBKX9dcvNiogZtXeoshY62u/xQ58FS5tOJkf6ljf4YHFWEL/PibBORuPlw3v0dFX0JYvEGZ6WGxp0vsNkSMqxjq4C5a4lkcjYbFe3mR90FF8Lawlv44t3L/x0yUZQ5ReK9MosgF0CaclAmPOMgkyutwmkevQeVtD0ilHsqrUyKvKOiW8w7tV8NADzc9PMaM6dZU4ZSVI7T7PfrMEunH2ZDxKGqz2eYrzcsE+OaFykCVm6UoZFItk+jOfaduRBLZKp6g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yOT35KufvEeZ49qEWKWUd1U4iSUuWM1IAKzeHZginm8=; b=rNOkgWMYqJIQ8PIT/qeX+o1jtgpJl6TF6cYDsu823bme7xh1v7X2GgY/6trV5E6xMh6uu+vlcSROThCTvV6uytuT8GgzAwgINHZGnK5YSFyGbAgBQ1wE0/Pe1Y8CrEyssel2mzO23+Y52uCtLbw0gnrRzjxRt4xug2pMnth8Eds= Received: from CH0PR18MB4353.namprd18.prod.outlook.com (2603:10b6:610:d1::8) by PH0PR18MB4606.namprd18.prod.outlook.com (2603:10b6:510:c1::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8137.21; Fri, 8 Nov 2024 11:44:37 +0000 Received: from CH0PR18MB4353.namprd18.prod.outlook.com ([fe80::b028:9de8:791b:3a3a]) by CH0PR18MB4353.namprd18.prod.outlook.com ([fe80::b028:9de8:791b:3a3a%3]) with mapi id 15.20.8137.019; Fri, 8 Nov 2024 11:44:35 +0000 From: Tomasz Duszynski To: Konstantin Ananyev , Jerin Jacob , Sunil Kumar Kori , Tyler Retzlaff CC: "Ruifeng.Wang@arm.com" , "bruce.richardson@intel.com" , "david.marchand@redhat.com" , "dev@dpdk.org" , "konstantin.v.ananyev@yandex.ru" , "mattias.ronnblom@ericsson.com" , "mb@smartsharesystems.com" , "stephen@networkplumber.org" , "thomas@monjalon.net" , "zhoumin@loongson.cn" Subject: RE: [PATCH v15 4/4] eal: add PMU support to tracing library Thread-Topic: [PATCH v15 4/4] eal: add PMU support to tracing library Thread-Index: AQHbJruQaChsxihq4EWG1a/KGEQeerKol3KAgAS1lnA= Date: Fri, 8 Nov 2024 11:44:35 +0000 Message-ID: References: <20241011094944.3586051-1-tduszynski@marvell.com> <20241025085414.3412068-1-tduszynski@marvell.com> <20241025085414.3412068-5-tduszynski@marvell.com> <09bdc335511040c1915fd26cea86c3c8@huawei.com> In-Reply-To: <09bdc335511040c1915fd26cea86c3c8@huawei.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH0PR18MB4353:EE_|PH0PR18MB4606:EE_ x-ms-office365-filtering-correlation-id: db69470f-2f41-406a-28d2-08dcffeab801 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|7416014|1800799024|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?SHRvdk1ZN2NxSWRQekxWeUU0UVQ4NDBLeENEUlI0Z3JzL3NnZjJscXBqcXhs?= =?utf-8?B?TDRsVlhCYU10VFptYUhlS2ozb3IrVlQ5ZUQ1THRoejRrQnEva2dnT1hzN0Ni?= =?utf-8?B?am9YaEhId0lic0RpUXlBb0d1cXZxdDc4RElHaTJVSDhRdVovSU9QcXlKcGl3?= =?utf-8?B?dUZ1Qms5aFN1ViszV3Q3cXpLZzlCTHV4ZFJRYWh0OXVyeWdXVnNleU10QXNi?= =?utf-8?B?TFdyQVVTMW5QbUVlRzNGZ21GRVZFaVF1OXpKMUdnWmJOVE5JZHZQVkcreGgv?= =?utf-8?B?aUU1cTNnUlNacDZEY0NRanB1MGVFQVpjd2hoSExwTUpnUm56VmFSWUE4YTFP?= =?utf-8?B?SjljNXZDNC9DQWJLdFl3UXlYUGdER3BGN3VDNkFTN055QmVpZnBEaEw3dVRZ?= =?utf-8?B?RGdDYWIvVlZBY0cyckExRW9Oelo4NlJrQmVxcGVLWWR4Z2QxKytMUDd4dVBC?= =?utf-8?B?QWN4RmFnc0MrTEF0UVBoSVl5WlNNM29SMzVtRmpyci9IalViNGE2YkRGbW43?= =?utf-8?B?YlRpNmZSY0gzaGRzNEJZS0RuemhXcXpqWmJkdjlnbEZxNXNXUzFRTnZxUVNH?= =?utf-8?B?VVRpeHhSR2M5ZmExZmVuRE5XYmsxUUJodVBEN25WSEVMcUNSRzF0Q1FsQTVh?= =?utf-8?B?ajdyU0NNV0lmVjdZWm5pZGxJaUx6Zk5kK1BqQTR0VnVnS1NkV1ZaKy9Ob3gw?= =?utf-8?B?eHBmdkRtb01UYTFqQ09wTTVhdUo1TnZMQkVTbHp3MkxGTzhpSEpMNEJyZU02?= =?utf-8?B?NDZnd0E5cTRsckVIWVF3UlNNV2ZnR1BpcHZ1aTZQREFXV1F3V0R6Z0hCc2tZ?= =?utf-8?B?R0xKZ3E5akQxMkpCVGJHMlhLU2pPSW9jcWhsWEd4QXNKdWxqTlVaQjB0NzYy?= =?utf-8?B?YVBHYWM3aE1lQjcwUnJWRkUyK2FKR2dsRjhnNlB1OGM4cmJVUkR4M2RKK0NS?= =?utf-8?B?Y0hCanBDU0RyMUV0MnE5L2tuL1MvYXlHc3hYa2FSOFBNL0VqSlY4MEw2WVpv?= =?utf-8?B?NmRCSHdvWXJ3SlJReTlQOU9rN3IyWDMzMHo5V1hnVElVcWpJKzRoWmphWHhK?= =?utf-8?B?aXNMOTlZdFJINkhQVHRFbWhZYlpocFlFNXg2ZUFrZGpUZXlROTZyRDdPMHdm?= =?utf-8?B?d0JBOVlTVGR3Z0NsS1NzVnUxUDYrWDlaTm1kYjZyUFh3bEFSWWI0aVhSMmhP?= =?utf-8?B?NmJ0SHlLR0h2U1ZpZUx0S21VK3NtSEhmejM2RlloZk13dUtrOVk5T1A2Y2JJ?= =?utf-8?B?YzZEZ3I3bXo5VFQxOE1kYnF5ZVQ5TjFWc3dWQjU3WTBxd1NJUWdpLzVXQXhv?= =?utf-8?B?NzYxYWRGTUhMSlRmWkh3YVIzZmNrZ2s2TW8rRnJtTlo2bHNsRXRwRXU0QjVy?= =?utf-8?B?eTVHMHA2UHJkTUYwWDhjaWl0QW10WkZmVm8zK0NEVURXMlFROWtBNnc1RjNu?= =?utf-8?B?Z0JDN2M0N3BDUWZHVkJiemVzYVJJeHYxUjZlZ0hLUURDSzFEWFdDampSL3VN?= =?utf-8?B?cjJqTUQ2M2VvUHFsZ20yTDVJNURMZUZFTnRXUXlRZitHZ3U0YzUvYUVvc0NC?= =?utf-8?B?bkpNemFCOGJQcHdWcWluTDl1dTZYZTZwcjlMNzlWWmEvWHZTbnZyMnIzd3c2?= =?utf-8?B?NGVXTEpSK2tHQVdPMUxJd2hXOGV0emxmVE51T2tmVUNqOW1JRFB3SUZWa0RU?= =?utf-8?B?cDgzNkNvNVBIMHc2c1NLa1FNRHZsZWV0RmhCVi9nVFNCZmNaVTB3ZzAzMzJw?= =?utf-8?Q?BuIQgmngINFsGOw6YuS/YDDUytk9HRlTkjotX2C?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH0PR18MB4353.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(7416014)(1800799024)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WHRNWmVZdWRwSHFMbXdKZkh5SHV4NnB2dy8xMEZQNGEwek0xZGNsc3I2amEz?= =?utf-8?B?OWFPMkxEcWRaY0xSbmQrZ3krMit6anJSc3ZwdHhnK3V5cG5Oc0hNU0w5ekww?= =?utf-8?B?QlFhOXEyK3B3UXNZamorSlN3SVg5endMdTJZVnByMUZlOWx4ODhFVzFWRGlp?= =?utf-8?B?V1g3NVREaFV5UU5NOFpsbzdEWTh1VmZKNnE5SGhPaloyZU82S0JBdnVWM0Y1?= =?utf-8?B?UE9tVDNvbE1xNDRWTUU2V3duT1NxVWduWWd4R0FETXovVGdWMmRTTmxaNW5z?= =?utf-8?B?S1Q5NUxjODR0ejZPQW9seHY1K3MwbElJN2FqU2JCMkpUSjVmOXVTVEJzN0ZD?= =?utf-8?B?c1hCZzRmUndrcHN2YTRHSVNaLy9RajMzWHEycXgxZDFwTElQaHdPSXdDakNR?= =?utf-8?B?NUt1KzFaUitpVHVXa2pZZEJBZWphV0UwV0twVk5kS0Z3ekMxVDJOdVlraWZj?= =?utf-8?B?LzBpQXQ4UG5MVENSZEhaYWJCam1rT3dsWTFwd0llNHJObzRjZG1BODJRaWk5?= =?utf-8?B?a3NvczNOYzFCejFmcVBJVmNnNFlGcU9vdmhRNFJBSHJHaCsvaHprd0tpRVd4?= =?utf-8?B?dnhnUDFxcFFueDJPTnFLZiszaDJuWmpFTHhtY0Z2TU5BK0NIYjlrOGNyTDhz?= =?utf-8?B?c003NC9MbWYrN2ZQWTZZcW1FUk0vRUg1VS83bW5nQjgzU3J1RmYxQk5qczNx?= =?utf-8?B?TTNiZUI5SGdRejlTc25UZGNUSFRGa1dnRzhadGxBZXNQUFc2OUlaaEFjRzZ3?= =?utf-8?B?MTZPa292bG5IN1dXdWF4dzBtMndLdDZOZ01pSUtOYlJDcE9wMzNONnQ4c3JL?= =?utf-8?B?dkdvUEFUS1RzYWVPMDFUU0h6S0VyZ21SbXhQdmFwUXhjSEFIMXlTYkcyWlBV?= =?utf-8?B?QWxnTmtMVlRJWnBkR2NaanhrYTNSY2JBZ21GM1JISmxVWjkyUlBjVnUvSkY0?= =?utf-8?B?TFNJQTNibFNNUlQwcVRNWkVXaUliRmRUaUZJNHBzQlV6am0wdUZTc29hdDNo?= =?utf-8?B?OVhqalcvcjYrVjl4Zk9GVGhVZHpldkR3YTgydDV5QTZRd3dmVEZ1ZjJHWDZa?= =?utf-8?B?b1MvQ0JzUEdXeGZqcXZiQW5QemU3MlJVaGc1aVE1K1dzWkpmL3VVWkd3cFZ6?= =?utf-8?B?QmJPZjBWOEQxdjdSbktEa2dRT3poK1QxdUxTckt5NWxEbzNwcGZ3YkdPUUhH?= =?utf-8?B?UU5zQlJYK2dySVlOc3loOWNITm5pNkc1ODNpd2xpZ2tXQzk2SnRpZHd2elA5?= =?utf-8?B?QndiS203RVhvNkNpMXVYZGNDQ00xNnJOVVl1a1ZpZEtQOXlzckl5eEp3eEpi?= =?utf-8?B?YUdnNkNsczJEYVM0V0ZFQUZNMnFCSEtHM1pjcWRVaXhTZUp2UE1nM2hMWG1N?= =?utf-8?B?MWpONDFqd1VmbnlyUUpnTUgxOEJPTWdwMlBla0ZFUitGTWNKblU3YVVOS1BK?= =?utf-8?B?RjNSUEZkNUhRRTBrTVA5RU12d0RQWVBlbmdqNFQ0NDBsK1NwcHFYTHdQZmVs?= =?utf-8?B?OXJRS2phakZ5N0V5NUdaZFppUnhFK2RjRVJlamIra2FtZUtxa3hyQ0tIVWgy?= =?utf-8?B?di9uWUFnUzVJNGY1aU5XMnRNZlhhcXcxemJ5Y2o2R01Uemk0L3FIbTZzVm5h?= =?utf-8?B?cS82RG5hOEI4eVFicGYwU0g4MUZKaFJUVEEvOVgvMEVJVUUvUUJtNTZ6OWlW?= =?utf-8?B?UGlQUUdGL2p6WmtYUU1pYTM2bXJnUHNXblBSaDhyVzN0WXk5L3dBUHBhells?= =?utf-8?B?RE1xaFNhMFY5QlBUUERLWVBtUWhmbVR6Z0trVFlFUml2Q21adzhZOExoR3FC?= =?utf-8?B?MnlldnRVL3N0eDVPakFGSTMzWXZubUkzTG5jQW0rL3lFNEVZTHBxMlQxRzhR?= =?utf-8?B?VVRDUE1hTWkwVGk4NUMyVFFEZWxoVERESUpWSGpBMDYzK3BqZnFuZU9VdmY0?= =?utf-8?B?M1FaNFljeHJvSHZDSEJzRTFXemU0dTBHU21ZUHNSa0E2YzZGYjMyWWk3TGJU?= =?utf-8?B?ZkJpYjRyZDNocEtrZjd0ZGVsU3JkWFR2NWNCVEFSbmZuMkhtdlJTV3ExSGZ6?= =?utf-8?B?Ri9NaCsxOUZrNWhSWnB5VFpDa0ZtdGM2Q2w5TVhOT011ZmVyeGFZSGdIdXZF?= =?utf-8?Q?vj1NSAD/Zo3bjnGQWXW3FrDkx?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH0PR18MB4353.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: db69470f-2f41-406a-28d2-08dcffeab801 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Nov 2024 11:44:35.3740 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ZJd4RLYfy54TSk4MhaGngB8bsytC5K3E0usGpq+diJrRSPOYVJT6dcp6G9b35Kqr0BKKHi15mrEieHmreom63A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR18MB4606 X-Proofpoint-ORIG-GUID: GaQtC94_aZ3R6tEefahrs89UMLZPN4nu X-Proofpoint-GUID: GaQtC94_aZ3R6tEefahrs89UMLZPN4nu X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29 definitions=2024-09-06_09,2024-09-06_01,2024-09-02_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Pj4gSW4gb3JkZXIgdG8gcHJvZmlsZSBhcHAgb25lIG5lZWRzIHRvIHN0b3JlIHNpZ25pZmljYW50 IGFtb3VudCBvZg0KPj4gc2FtcGxlcyBzb21ld2hlcmUgZm9yIGFuIGFuYWx5c2lzIGxhdGVyIG9u LiBTaW5jZSB0cmFjZSBsaWJyYXJ5DQo+PiBzdXBwb3J0cyBzdG9yaW5nIGRhdGEgaW4gYSBDVEYg Zm9ybWF0IGxldHMgdGFrZSBhZHZhbnRhZ2Ugb2YgdGhhdCBhbmQNCj4+IGFkZCBhIGRlZGljYXRl ZCBQTVUgdHJhY2Vwb2ludC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBUb21hc3ogRHVzenluc2tp IDx0ZHVzenluc2tpQG1hcnZlbGwuY29tPg0KPj4gLS0tDQo+PiAgYXBwL3Rlc3QvdGVzdF90cmFj ZV9wZXJmLmMgICAgICAgICAgICAgICB8IDEwICsrKysNCj4+ICBkb2MvZ3VpZGVzL3Byb2dfZ3Vp ZGUvcHJvZmlsZV9hcHAucnN0ICAgIHwgIDUgKysNCj4+ICBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUv dHJhY2VfbGliLnJzdCAgICAgIHwgMzIgKysrKysrKysrKysNCj4+ICBsaWIvZWFsL2NvbW1vbi9l YWxfY29tbW9uX3RyYWNlLmMgICAgICAgIHwgIDUgKy0NCj4+ICBsaWIvZWFsL2NvbW1vbi9lYWxf Y29tbW9uX3RyYWNlX3BtdS5jICAgIHwgMzggKysrKysrKysrKysrKysNCj4+ICBsaWIvZWFsL2Nv bW1vbi9lYWxfY29tbW9uX3RyYWNlX3BvaW50cy5jIHwgIDUgKysNCj4+ICBsaWIvZWFsL2NvbW1v bi9lYWxfdHJhY2UuaCAgICAgICAgICAgICAgIHwgIDQgKysNCj4+ICBsaWIvZWFsL2NvbW1vbi9t ZXNvbi5idWlsZCAgICAgICAgICAgICAgIHwgIDEgKw0KPj4gIGxpYi9lYWwvaW5jbHVkZS9ydGVf ZWFsX3RyYWNlLmggICAgICAgICAgfCAxMSArKysrDQo+PiAgbGliL2VhbC92ZXJzaW9uLm1hcCAg ICAgICAgICAgICAgICAgICAgICB8ICAxICsNCj4+ICBsaWIvcG11L3J0ZV9wbXUuYyAgICAgICAg ICAgICAgICAgICAgICAgIHwgNjcgKysrKysrKysrKysrKysrKysrKysrKystDQo+PiAgbGliL3Bt dS9ydGVfcG11LmggICAgICAgICAgICAgICAgICAgICAgICB8IDI0ICsrKysrKystLQ0KPj4gIGxp Yi9wbXUvdmVyc2lvbi5tYXAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArDQo+PiAgMTMgZmls ZXMgY2hhbmdlZCwgMTk4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pICBjcmVhdGUgbW9k ZQ0KPj4gMTAwNjQ0IGxpYi9lYWwvY29tbW9uL2VhbF9jb21tb25fdHJhY2VfcG11LmMNCj4+DQo+ PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QvdGVzdF90cmFjZV9wZXJmLmMgYi9hcHAvdGVzdC90ZXN0 X3RyYWNlX3BlcmYuYw0KPj4gaW5kZXggODI1N2NjMDJiZS4uOGEwNzMwOTQzZSAxMDA2NDQNCj4+ IC0tLSBhL2FwcC90ZXN0L3Rlc3RfdHJhY2VfcGVyZi5jDQo+PiArKysgYi9hcHAvdGVzdC90ZXN0 X3RyYWNlX3BlcmYuYw0KPj4gQEAgLTExNCw2ICsxMTQsMTAgQEAgd29ya2VyX2ZuXyMjZnVuYyh2 b2lkICphcmcpIFwgICNkZWZpbmUNCj4+IEdFTkVSSUNfRE9VQkxFIHJ0ZV9lYWxfdHJhY2VfZ2Vu ZXJpY19kb3VibGUoMy42NjY2NikNCj4+ICAjZGVmaW5lIEdFTkVSSUNfU1RSIHJ0ZV9lYWxfdHJh Y2VfZ2VuZXJpY19zdHIoImhlbGxvIHdvcmxkIikgICNkZWZpbmUNCj4+IFZPSURfRlAgYXBwX2Rw ZGtfdGVzdF9mcCgpDQo+PiArI2lmZGVmIFJURV9MSUJfUE1VDQo+PiArLyogMCBjb3JyZXNwb25k cyBmaXJzdCBldmVudCBwYXNzZWQgdmlhIC0tdHJhY2U9ICovICNkZWZpbmUgUkVBRF9QTVUNCj4+ ICtydGVfZWFsX3RyYWNlX3BtdV9yZWFkKDApICNlbmRpZg0KPj4NCj4+ICBXT1JLRVJfREVGSU5F KEdFTkVSSUNfVk9JRCkNCj4+ICBXT1JLRVJfREVGSU5FKEdFTkVSSUNfVTY0KQ0KPj4gQEAgLTEy Miw2ICsxMjYsOSBAQCBXT1JLRVJfREVGSU5FKEdFTkVSSUNfRkxPQVQpDQo+PiAgV09SS0VSX0RF RklORShHRU5FUklDX0RPVUJMRSkNCj4+ICBXT1JLRVJfREVGSU5FKEdFTkVSSUNfU1RSKQ0KPj4g IFdPUktFUl9ERUZJTkUoVk9JRF9GUCkNCj4+ICsjaWZkZWYgUlRFX0xJQl9QTVUNCj4+ICtXT1JL RVJfREVGSU5FKFJFQURfUE1VKQ0KPj4gKyNlbmRpZg0KPj4NCj4+ICBzdGF0aWMgdm9pZA0KPj4g IHJ1bl90ZXN0KGNvbnN0IGNoYXIgKnN0ciwgbGNvcmVfZnVuY3Rpb25fdCBmLCBzdHJ1Y3QgdGVz dF9kYXRhICpkYXRhLA0KPj4gc2l6ZV90IHN6KSBAQCAtMTc0LDYgKzE4MSw5IEBAIHRlc3RfdHJh Y2VfcGVyZih2b2lkKQ0KPj4gIAlydW5fdGVzdCgiZG91YmxlIiwgd29ya2VyX2ZuX0dFTkVSSUNf RE9VQkxFLCBkYXRhLCBzeik7DQo+PiAgCXJ1bl90ZXN0KCJzdHJpbmciLCB3b3JrZXJfZm5fR0VO RVJJQ19TVFIsIGRhdGEsIHN6KTsNCj4+ICAJcnVuX3Rlc3QoInZvaWRfZnAiLCB3b3JrZXJfZm5f Vk9JRF9GUCwgZGF0YSwgc3opOw0KPj4gKyNpZmRlZiBSVEVfTElCX1BNVQ0KPj4gKwlydW5fdGVz dCgicmVhZF9wbXUiLCB3b3JrZXJfZm5fUkVBRF9QTVUsIGRhdGEsIHN6KTsgI2VuZGlmDQo+Pg0K Pj4gIAlydGVfZnJlZShkYXRhKTsNCj4+ICAJcmV0dXJuIFRFU1RfU1VDQ0VTUzsNCj4+IGRpZmYg LS1naXQgYS9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcHJvZmlsZV9hcHAucnN0DQo+PiBiL2RvYy9n dWlkZXMvcHJvZ19ndWlkZS9wcm9maWxlX2FwcC5yc3QNCj4+IGluZGV4IDg1NGM1MTVhNjEuLjFh YjZmYjllYWEgMTAwNjQ0DQo+PiAtLS0gYS9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcHJvZmlsZV9h cHAucnN0DQo+PiArKysgYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcHJvZmlsZV9hcHAucnN0DQo+ PiBAQCAtMzYsNiArMzYsMTEgQEAgQXMgb2Ygbm93IGltcGxlbWVudGF0aW9uIGltcG9zZXMgY2Vy dGFpbiBsaW1pdGF0aW9uczoNCj4+DQo+PiAgKiBFYWNoIEVBTCBsY29yZSBtZWFzdXJlcyBzYW1l IGdyb3VwIG9mIGV2ZW50cw0KPj4NCj4+ICtBbHRlcm5hdGl2ZWx5IHRyYWNpbmcgbGlicmFyeSBj YW4gYmUgdXNlZCB3aGljaCBvZmZlcnMgZGVkaWNhdGVkDQo+PiArdHJhY2Vwb2ludCBgYHJ0ZV9l YWxfdHJhY2VfcG11X2V2ZW50KClgYC4NCj4+ICsNCj4+ICtSZWZlciB0byA6ZG9jOmAuLi9wcm9n X2d1aWRlL3RyYWNlX2xpYmAgZm9yIG1vcmUgZGV0YWlscy4NCj4+ICsNCj4+DQo+PiAgUHJvZmls aW5nIG9uIHg4Ng0KPj4gIC0tLS0tLS0tLS0tLS0tLS0NCj4+IGRpZmYgLS1naXQgYS9kb2MvZ3Vp ZGVzL3Byb2dfZ3VpZGUvdHJhY2VfbGliLnJzdA0KPj4gYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUv dHJhY2VfbGliLnJzdA0KPj4gaW5kZXggZDliMTdhYmU5MC4uMzc4YWJjY2Q3MiAxMDA2NDQNCj4+ IC0tLSBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS90cmFjZV9saWIucnN0DQo+PiArKysgYi9kb2Mv Z3VpZGVzL3Byb2dfZ3VpZGUvdHJhY2VfbGliLnJzdA0KPj4gQEAgLTQ2LDYgKzQ2LDcgQEAgRFBE SyB0cmFjaW5nIGxpYnJhcnkgZmVhdHVyZXMNCj4+ICAgIHRyYWNlIGZvcm1hdCBhbmQgaXMgY29t cGF0aWJsZSB3aXRoIGBgTFRUbmdgYC4NCj4+ICAgIEZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbiwg cmVmZXIgdG8NCj4+ICAgIGBDb21tb24gVHJhY2UgRm9ybWF0IDxodHRwczovL3VybGRlZmVuc2Uu cHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9aHR0cHMtDQo+M0FfX2RpYW1vbi5vcmdfY3RmXyZkPUR3 SUZBZyZjPW5LaldlYzJiNlIwbU95UGF6N3h0ZlEmcj1QWk5YZ3JiamRsWHhWRUVHWWt4SXhSbmR5 RVV3V1VfYWQ1Y2UyMllJNklzDQo+Jm09c1VhbGYtVHN5RWktDQo+aGRiRm00ZUFDREhtblE5QnJx bVNfMURmMTFrUEx1REszX3h4UVpvVmp4cDJaRk5zSFBuYiZzPUpudEl1QVV2NklyUkJsUzkyYm84 aVBzUTY2SVZISFBvdUo0UzgyR0NOeUkmDQo+ZT0+YF8uDQo+PiArLSBTdXBwb3J0IHJlYWRpbmcg UE1VIGV2ZW50cyBvbiBBUk02NCBhbmQgeDg2LTY0IChJbnRlbCkNCj4+DQo+PiAgSG93IHRvIGFk ZCBhIHRyYWNlcG9pbnQ/DQo+PiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+PiBAQCAtMTM5 LDYgKzE0MCwzNyBAQCB0aGUgdXNlciBtdXN0IHVzZSBgYFJURV9UUkFDRV9QT0lOVF9GUGBgIGlu c3RlYWQgb2YgYGBSVEVfVFJBQ0VfUE9JTlRgYC4NCj4+ICBgYFJURV9UUkFDRV9QT0lOVF9GUGBg IGlzIGNvbXBpbGVkIG91dCBieSBkZWZhdWx0IGFuZCBpdCBjYW4gYmUNCj4+IGVuYWJsZWQgdXNp bmcgIHRoZSBgYGVuYWJsZV90cmFjZV9mcGBgIG9wdGlvbiBmb3IgbWVzb24gYnVpbGQuDQo+Pg0K Pj4gK1BNVSB0cmFjZXBvaW50DQo+PiArLS0tLS0tLS0tLS0tLS0NCj4+ICsNCj4+ICtQZXJmb3Jt YW5jZSBtb25pdG9yaW5nIHVuaXQgKFBNVSkgZXZlbnQgdmFsdWVzIGNhbiBiZSByZWFkIGZyb20N Cj4+ICtoYXJkd2FyZSByZWdpc3RlcnMgdXNpbmcgcHJlZGVmaW5lZCBgYHJ0ZV9wbXVfcmVhZGBg IHRyYWNlcG9pbnQuDQo+PiArDQo+PiArVHJhY2luZyBpcyBlbmFibGVkIHZpYSBgYC0tdHJhY2Vg YCBFQUwgb3B0aW9uIGJ5IHBhc3NpbmcgYm90aA0KPj4gK2V4cHJlc3Npb24gbWF0Y2hpbmcgUE1V IHRyYWNlcG9pbnQgbmFtZSBpLmUgYGBsaWIuZWFsLnBtdS5yZWFkYGAgYW5kDQo+PiArZXhwcmVz c2lvbiBgYGU9ZXYxWyxldjIsLi4uXWBgIG1hdGNoaW5nIHBhcnRpY3VsYXIgZXZlbnRzOjoNCj4+ ICsNCj4+ICsgICAgLS10cmFjZT0nLipwbXUucmVhZFx8ZT1jcHVfY3ljbGVzLGwxZF9jYWNoZScN Cj4+ICsNCj4+ICtFdmVudCBuYW1lcyBhcmUgYXZhaWxhYmxlIHVuZGVyDQo+PiArYGAvc3lzL2J1 cy9ldmVudF9zb3VyY2UvZGV2aWNlcy9QTVUvZXZlbnRzYGANCj4+ICtkaXJlY3RvcnksIHdoZXJl IGBgUE1VYGAgaXMgYSBwbGFjZWhvbGRlciBmb3IgZWl0aGVyIGEgYGBjcHVgYCBvciBhDQo+PiAr ZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGBjcHVzYGAuDQo+PiArDQo+PiArSW4gY29udHJhcnkgdG8g b3RoZXIgdHJhY2Vwb2ludHMgdGhpcyBkb2VzIG5vdCBuZWVkIGFueSBleHRyYQ0KPj4gK3Zhcmlh YmxlcyBhZGRlZCB0byBzb3VyY2UgZmlsZXMuIEluc3RlYWQsIGNhbGxlciBwYXNzZXMgaW5kZXgg d2hpY2gNCj4+ICtmb2xsb3dzIHRoZSBvcmRlciBvZiBldmVudHMgc3BlY2lmaWVkIHZpYSBgYC0t dHJhY2VgYCBwYXJhbWV0ZXIuIEluDQo+PiArdGhlIGZvbGxvd2luZyBleGFtcGxlIGluZGV4IGBg MGBgIGNvcnJlc3BvbmRzIHRvIGBgY3B1X2N5Y2xjZXNgYCB3aGlsZSBpbmRleCBgYDFgYCBjb3Jy ZXNwb25kcw0KPnRvIGBgbDFkX2NhY2hlYGAuDQo+PiArDQo+PiArLi4gY29kZS1ibG9jazo6IGMN Cj4+ICsNCj4+ICsgLi4uDQo+PiArIHJ0ZV9lYWxfdHJhY2VfcG11X3JlYWQoMCk7DQo+PiArIHJ0 ZV9lYWxfdHJhY2VfcG11X3JlYWQoMSk7DQo+PiArIC4uLg0KPj4gKw0KPj4gK1BNVSB0cmFjaW5n IHN1cHBvcnQgbXVzdCBiZSBleHBsaWNpdGx5IGVuYWJsZWQgdXNpbmcgdGhlDQo+PiArYGBlbmFi bGVfdHJhY2VfZnBgYCBvcHRpb24gZm9yIG1lc29uIGJ1aWxkLg0KPj4gKw0KPj4gIEV2ZW50IHJl Y29yZCBtb2RlDQo+PiAgLS0tLS0tLS0tLS0tLS0tLS0NCj4+DQo+PiBkaWZmIC0tZ2l0IGEvbGli L2VhbC9jb21tb24vZWFsX2NvbW1vbl90cmFjZS5jDQo+PiBiL2xpYi9lYWwvY29tbW9uL2VhbF9j b21tb25fdHJhY2UuYw0KPj4gaW5kZXggOTE4ZjQ5YmY0Zi4uOWJlODcyNGVjNCAxMDA2NDQNCj4+ IC0tLSBhL2xpYi9lYWwvY29tbW9uL2VhbF9jb21tb25fdHJhY2UuYw0KPj4gKysrIGIvbGliL2Vh bC9jb21tb24vZWFsX2NvbW1vbl90cmFjZS5jDQo+PiBAQCAtNzIsOCArNzIsMTAgQEAgZWFsX3Ry YWNlX2luaXQodm9pZCkNCj4+ICAJCWdvdG8gZnJlZV9tZXRhOw0KPj4NCj4+ICAJLyogQXBwbHkg Z2xvYmFsIGNvbmZpZ3VyYXRpb25zICovDQo+PiAtCVNUQUlMUV9GT1JFQUNIKGFyZywgJnRyYWNl LmFyZ3MsIG5leHQpDQo+PiArCVNUQUlMUV9GT1JFQUNIKGFyZywgJnRyYWNlLmFyZ3MsIG5leHQp IHsNCj4+ICAJCXRyYWNlX2FyZ3NfYXBwbHkoYXJnLT52YWwpOw0KPj4gKwkJdHJhY2VfcG11X2Fy Z3NfYXBwbHkoYXJnLT52YWwpOw0KPj4gKwl9DQo+Pg0KPj4gIAlydGVfdHJhY2VfbW9kZV9zZXQo dHJhY2UubW9kZSk7DQo+Pg0KPj4gQEAgLTg5LDYgKzkxLDcgQEAgZWFsX3RyYWNlX2luaXQodm9p ZCkgIHZvaWQNCj4+ICBlYWxfdHJhY2VfZmluaSh2b2lkKQ0KPj4gIHsNCj4+ICsJdHJhY2VfcG11 X2FyZ3NfZnJlZSgpOw0KPj4gIAl0cmFjZV9tZW1fZnJlZSgpOw0KPj4gIAl0cmFjZV9tZXRhZGF0 YV9kZXN0cm95KCk7DQo+PiAgCWVhbF90cmFjZV9hcmdzX2ZyZWUoKTsNCj4+IGRpZmYgLS1naXQg YS9saWIvZWFsL2NvbW1vbi9lYWxfY29tbW9uX3RyYWNlX3BtdS5jDQo+PiBiL2xpYi9lYWwvY29t bW9uL2VhbF9jb21tb25fdHJhY2VfcG11LmMNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBp bmRleCAwMDAwMDAwMDAwLi5iM2FiNDFlOGEyDQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9s aWIvZWFsL2NvbW1vbi9lYWxfY29tbW9uX3RyYWNlX3BtdS5jDQo+PiBAQCAtMCwwICsxLDM4IEBA DQo+PiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQ0KPj4gKyAqIENv cHlyaWdodChDKSAyMDI0IE1hcnZlbGwgSW50ZXJuYXRpb25hbCBMdGQuDQo+PiArICovDQo+PiAr DQo+PiArI2luY2x1ZGUgPHJ0ZV9jb21tb24uaD4NCj4+ICsNCj4+ICsjaW5jbHVkZSAiZWFsX3Ry YWNlLmgiDQo+PiArDQo+PiArI2lmZGVmIFJURV9MSUJfUE1VDQo+PiArDQo+PiArI2luY2x1ZGUg PHJ0ZV9wbXUuaD4NCj4+ICsNCj4+ICt2b2lkDQo+PiArdHJhY2VfcG11X2FyZ3NfYXBwbHkoY29u c3QgY2hhciAqYXJnKSB7DQo+PiArCXN0YXRpYyBib29sIG9uY2U7DQo+PiArDQo+PiArCWlmICgh b25jZSkgew0KPj4gKwkJaWYgKHJ0ZV9wbXVfaW5pdCgpKQ0KPj4gKwkJCXJldHVybjsNCj4+ICsJ CW9uY2UgPSB0cnVlOw0KPj4gKwl9DQo+PiArDQo+PiArCXJ0ZV9wbXVfYWRkX2V2ZW50c19ieV9w YXR0ZXJuKGFyZyk7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0cmFjZV9wbXVfYXJnc19m cmVlKHZvaWQpDQo+PiArew0KPj4gKwlydGVfcG11X2ZpbmkoKTsNCj4+ICt9DQo+PiArDQo+PiAr I2Vsc2UgLyogIVJURV9MSUJfUE1VICovDQo+PiArDQo+PiArdm9pZCB0cmFjZV9wbXVfYXJnc19h cHBseShjb25zdCBjaGFyICphcmcgX19ydGVfdW51c2VkKSB7IHJldHVybjsgfQ0KPj4gK3ZvaWQg dHJhY2VfcG11X2FyZ3NfZnJlZSh2b2lkKSB7IHJldHVybjsgfQ0KPj4gKw0KPj4gKyNlbmRpZiAv KiBSVEVfTElCX1BNVSAqLw0KPj4gZGlmZiAtLWdpdCBhL2xpYi9lYWwvY29tbW9uL2VhbF9jb21t b25fdHJhY2VfcG9pbnRzLmMNCj4+IGIvbGliL2VhbC9jb21tb24vZWFsX2NvbW1vbl90cmFjZV9w b2ludHMuYw0KPj4gaW5kZXggMGYxMjQwZWEzYS4uYzk5ZWFiOTJmNCAxMDA2NDQNCj4+IC0tLSBh L2xpYi9lYWwvY29tbW9uL2VhbF9jb21tb25fdHJhY2VfcG9pbnRzLmMNCj4+ICsrKyBiL2xpYi9l YWwvY29tbW9uL2VhbF9jb21tb25fdHJhY2VfcG9pbnRzLmMNCj4+IEBAIC0xMDAsMyArMTAwLDgg QEAgUlRFX1RSQUNFX1BPSU5UX1JFR0lTVEVSKHJ0ZV9lYWxfdHJhY2VfaW50cl9lbmFibGUsDQo+ PiAgCWxpYi5lYWwuaW50ci5lbmFibGUpDQo+PiAgUlRFX1RSQUNFX1BPSU5UX1JFR0lTVEVSKHJ0 ZV9lYWxfdHJhY2VfaW50cl9kaXNhYmxlLA0KPj4gIAlsaWIuZWFsLmludHIuZGlzYWJsZSkNCj4+ ICsNCj4+ICsjaWZkZWYgUlRFX0xJQl9QTVUNCj4+ICtSVEVfVFJBQ0VfUE9JTlRfUkVHSVNURVIo cnRlX2VhbF90cmFjZV9wbXVfcmVhZCwNCj4+ICsJbGliLmVhbC5wbXUucmVhZCkNCj4+ICsjZW5k aWYNCj4+IGRpZmYgLS1naXQgYS9saWIvZWFsL2NvbW1vbi9lYWxfdHJhY2UuaCBiL2xpYi9lYWwv Y29tbW9uL2VhbF90cmFjZS5oDQo+PiBpbmRleCA1NTI2MjY3N2UwLi41OGZhNDM0NzJhIDEwMDY0 NA0KPj4gLS0tIGEvbGliL2VhbC9jb21tb24vZWFsX3RyYWNlLmgNCj4+ICsrKyBiL2xpYi9lYWwv Y29tbW9uL2VhbF90cmFjZS5oDQo+PiBAQCAtMTA0LDYgKzEwNCwxMCBAQCBpbnQgdHJhY2VfZXBv Y2hfdGltZV9zYXZlKHZvaWQpOyAgdm9pZA0KPj4gdHJhY2VfbWVtX2ZyZWUodm9pZCk7ICB2b2lk IHRyYWNlX21lbV9wZXJfdGhyZWFkX2ZyZWUodm9pZCk7DQo+Pg0KPj4gKy8qIFBNVSB3cmFwcGVy cyAqLw0KPj4gK3ZvaWQgdHJhY2VfcG11X2FyZ3NfYXBwbHkoY29uc3QgY2hhciAqYXJnKTsgdm9p ZA0KPj4gK3RyYWNlX3BtdV9hcmdzX2ZyZWUodm9pZCk7DQo+PiArDQo+PiAgLyogRUFMIGludGVy ZmFjZSAqLw0KPj4gIGludCBlYWxfdHJhY2VfaW5pdCh2b2lkKTsNCj4+ICB2b2lkIGVhbF90cmFj ZV9maW5pKHZvaWQpOw0KPj4gZGlmZiAtLWdpdCBhL2xpYi9lYWwvY29tbW9uL21lc29uLmJ1aWxk IGIvbGliL2VhbC9jb21tb24vbWVzb24uYnVpbGQNCj4+IGluZGV4IGMxYmJmMjY2NTQuLjU5ZDVi MTU3MDggMTAwNjQ0DQo+PiAtLS0gYS9saWIvZWFsL2NvbW1vbi9tZXNvbi5idWlsZA0KPj4gKysr IGIvbGliL2VhbC9jb21tb24vbWVzb24uYnVpbGQNCj4+IEBAIC0yNyw2ICsyNyw3IEBAIHNvdXJj ZXMgKz0gZmlsZXMoDQo+PiAgICAgICAgICAnZWFsX2NvbW1vbl90YWlscXMuYycsDQo+PiAgICAg ICAgICAnZWFsX2NvbW1vbl90aHJlYWQuYycsDQo+PiAgICAgICAgICAnZWFsX2NvbW1vbl90aW1l ci5jJywNCj4+ICsgICAgICAgICdlYWxfY29tbW9uX3RyYWNlX3BtdS5jJywNCj4+ICAgICAgICAg ICdlYWxfY29tbW9uX3RyYWNlX3BvaW50cy5jJywNCj4+ICAgICAgICAgICdlYWxfY29tbW9uX3V1 aWQuYycsDQo+PiAgICAgICAgICAnbWFsbG9jX2VsZW0uYycsDQo+PiBkaWZmIC0tZ2l0IGEvbGli L2VhbC9pbmNsdWRlL3J0ZV9lYWxfdHJhY2UuaA0KPj4gYi9saWIvZWFsL2luY2x1ZGUvcnRlX2Vh bF90cmFjZS5oIGluZGV4IDlhZDIxMTI4MDEuLjljNzhmNjNmZjUgMTAwNjQ0DQo+PiAtLS0gYS9s aWIvZWFsL2luY2x1ZGUvcnRlX2VhbF90cmFjZS5oDQo+PiArKysgYi9saWIvZWFsL2luY2x1ZGUv cnRlX2VhbF90cmFjZS5oDQo+PiBAQCAtMTI3LDYgKzEyNywxNyBAQCBSVEVfVFJBQ0VfUE9JTlQo DQo+Pg0KPj4gICNkZWZpbmUgUlRFX0VBTF9UUkFDRV9HRU5FUklDX0ZVTkMNCj4+IHJ0ZV9lYWxf dHJhY2VfZ2VuZXJpY19mdW5jKF9fZnVuY19fKQ0KPj4NCj4+ICsjaWZkZWYgUlRFX0xJQl9QTVUN Cj4+ICsjaW5jbHVkZSA8cnRlX3BtdS5oPg0KPj4gKw0KPj4gK1JURV9UUkFDRV9QT0lOVF9GUCgN Cj4+ICsJcnRlX2VhbF90cmFjZV9wbXVfcmVhZCwNCj4+ICsJUlRFX1RSQUNFX1BPSU5UX0FSR1Mo dW5zaWduZWQgaW50IGluZGV4KSwNCj4+ICsJdWludDY0X3QgdmFsID0gcnRlX3BtdV9yZWFkKGlu ZGV4KTsNCj4+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfdTY0KHZhbCk7DQo+PiArKQ0KPj4gKyNl bmRpZg0KPj4gKw0KPj4gICNpZmRlZiBfX2NwbHVzcGx1cw0KPj4gIH0NCj4+ICAjZW5kaWYNCj4+ IGRpZmYgLS1naXQgYS9saWIvZWFsL3ZlcnNpb24ubWFwIGIvbGliL2VhbC92ZXJzaW9uLm1hcCBp bmRleA0KPj4gZjQ5M2NkMWNhNy4uM2RjMTQ3Zjg0OCAxMDA2NDQNCj4+IC0tLSBhL2xpYi9lYWwv dmVyc2lvbi5tYXANCj4+ICsrKyBiL2xpYi9lYWwvdmVyc2lvbi5tYXANCj4+IEBAIC0zOTksNiAr Mzk5LDcgQEAgRVhQRVJJTUVOVEFMIHsNCj4+DQo+PiAgCSMgYWRkZWQgaW4gMjQuMTENCj4+ICAJ cnRlX2JpdHNldF90b19zdHI7DQo+PiArCV9fcnRlX2VhbF90cmFjZV9wbXVfcmVhZDsgIyBXSU5E T1dTX05PX0VYUE9SVA0KPj4gIH07DQo+Pg0KPj4gIElOVEVSTkFMIHsNCj4+IGRpZmYgLS1naXQg YS9saWIvcG11L3J0ZV9wbXUuYyBiL2xpYi9wbXUvcnRlX3BtdS5jIGluZGV4DQo+PiBkZDU3OTYx NjI3Li5iNjVmMDhjNzViIDEwMDY0NA0KPj4gLS0tIGEvbGliL3BtdS9ydGVfcG11LmMNCj4+ICsr KyBiL2xpYi9wbXUvcnRlX3BtdS5jDQo+PiBAQCAtNDEyLDEyICs0MTIsNzUgQEAgcnRlX3BtdV9h ZGRfZXZlbnQoY29uc3QgY2hhciAqbmFtZSkNCj4+ICAJcmV0dXJuIGV2ZW50LT5pbmRleDsNCj4+ ICB9DQo+Pg0KPj4gK3N0YXRpYyBpbnQNCj4+ICthZGRfZXZlbnRzKGNvbnN0IGNoYXIgKnBhdHRl cm4pDQo+PiArew0KPj4gKwljaGFyICp0b2tlbiwgKmNvcHk7DQo+PiArCWludCByZXQgPSAwOw0K Pj4gKw0KPj4gKwljb3B5ID0gc3RyZHVwKHBhdHRlcm4pOw0KPj4gKwlpZiAoY29weSA9PSBOVUxM KQ0KPj4gKwkJcmV0dXJuIC1FTk9NRU07DQo+PiArDQo+PiArCXRva2VuID0gc3RydG9rKGNvcHks ICIsIik7DQo+PiArCXdoaWxlICh0b2tlbikgew0KPj4gKwkJcmV0ID0gcnRlX3BtdV9hZGRfZXZl bnQodG9rZW4pOw0KPj4gKwkJaWYgKHJldCA8IDApDQo+PiArCQkJYnJlYWs7DQo+PiArDQo+PiAr CQl0b2tlbiA9IHN0cnRvayhOVUxMLCAiLCIpOw0KPj4gKwl9DQo+PiArDQo+PiArCWZyZWUoY29w eSk7DQo+PiArDQo+PiArCXJldHVybiByZXQgPj0gMCA/IDAgOiByZXQ7DQo+PiArfQ0KPj4gKw0K Pj4gK2ludA0KPj4gK3J0ZV9wbXVfYWRkX2V2ZW50c19ieV9wYXR0ZXJuKGNvbnN0IGNoYXIgKnBh dHRlcm4pIHsNCj4+ICsJcmVnbWF0Y2hfdCBybWF0Y2g7DQo+PiArCWNoYXIgYnVmW0JVRlNJWl07 DQo+PiArCXVuc2lnbmVkIGludCBudW07DQo+PiArCXJlZ2V4X3QgcmVnOw0KPj4gKwlpbnQgcmV0 Ow0KPj4gKw0KPj4gKwkvKiBldmVudHMgYXJlIG1hdGNoZWQgYWdhaW5zdCBvY2N1cnJlbmNlcyBv ZiBlPWV2MVssZXYyLC4uXSBwYXR0ZXJuICovDQo+PiArCXJldCA9IHJlZ2NvbXAoJnJlZywgImU9 KFtfWzphbG51bTpdLV0sPykrIiwgUkVHX0VYVEVOREVEKTsNCj4+ICsJaWYgKHJldCkgew0KPj4g KwkJUE1VX0xPRyhFUlIsICJGYWlsZWQgdG8gY29tcGlsZSBldmVudCBtYXRjaGluZyByZWdleHAi KTsNCj4+ICsJCXJldHVybiAtRUlOVkFMOw0KPj4gKwl9DQo+PiArDQo+PiArCWZvciAoOzspIHsN Cj4+ICsJCWlmIChyZWdleGVjKCZyZWcsIHBhdHRlcm4sIDEsICZybWF0Y2gsIDApKQ0KPj4gKwkJ CWJyZWFrOw0KPj4gKw0KPj4gKwkJbnVtID0gcm1hdGNoLnJtX2VvIC0gcm1hdGNoLnJtX3NvOw0K Pj4gKwkJaWYgKG51bSA+IHNpemVvZihidWYpKQ0KPj4gKwkJCW51bSA9IHNpemVvZihidWYpOw0K Pj4gKw0KPj4gKwkJLyogc2tpcCBlPSBwYXR0ZXJuIHByZWZpeCAqLw0KPj4gKwkJbWVtY3B5KGJ1 ZiwgcGF0dGVybiArIHJtYXRjaC5ybV9zbyArIDIsIG51bSAtIDIpOw0KPj4gKwkJYnVmW251bSAt IDJdID0gJ1wwJzsNCj4+ICsJCXJldCA9IGFkZF9ldmVudHMoYnVmKTsNCj4+ICsJCWlmIChyZXQp DQo+PiArCQkJYnJlYWs7DQo+PiArDQo+PiArCQlwYXR0ZXJuICs9IHJtYXRjaC5ybV9lbzsNCj4+ ICsJfQ0KPj4gKw0KPj4gKwlyZWdmcmVlKCZyZWcpOw0KPj4gKw0KPj4gKwlyZXR1cm4gcmV0Ow0K Pj4gK30NCj4+ICsNCj4+ICBpbnQNCj4+ICBydGVfcG11X2luaXQodm9pZCkNCj4+ICB7DQo+PiAg CWludCByZXQ7DQo+Pg0KPj4gLQlpZiAocnRlX3BtdS5pbml0aWFsaXplZCkNCj4+ICsJaWYgKHJ0 ZV9wbXUuaW5pdGlhbGl6ZWQgJiYgKytydGVfcG11LmluaXRpYWxpemVkKQ0KPg0KPlN0dXBpZCBx LCB3aHkgbm90Og0KPmlmIChydGVfcG11LmluaXRpYWxpemVkKysgPiAwKSByZXR1cm4gMD8NCj4N Cg0KSWYgeW91IGNhbGwgcnRlX3BtdV9pbml0KCkgYW5kIGl0IGZhaWxzLCB0aGVuIHJ0ZV9wbXUu aW5pdGlhbGl6ZWQgc3RheXMgYXQgMS4gSXQgbWVhbnMgdGhhdCBsaWJwbXUgaXMgaW5pdGlhbGl6 ZWQNCmJ1dCBvYnZpb3VzbHkgdGhhdCdzIG5vdCB0aGUgY2FzZS4gT24gdGhlIG90aGVyIGhhbmQg MSBtZWFucyB0aGF0IHRoZXJlJ3Mgb25lIHVzZXIsIHNpbmNlIHRoaXMgdmFyaWFibGUgc2VydmVz IA0KYm90aCBhcyBhIGZsYWcgYW5kIHJlZmVyZW5jZSBjb3VudGVyLCB3aGljaCBpcyB0cnVlIGlu IGZhY3QuIFNvIG9ubHkgaGFsZiBvZiB0aGUgc3RvcnkgaXMgdHJ1ZSBidXQgd2Ugd2FudCB0aGUg DQp3aG9sZSBzdG9yeSB0byBiZSB0cnVlLiANCg0KQmVzaWRlcywgaWYgZmlyc3QgY2FsbCBmYWls cyB0aGVuIHNlY29uZCBvbmUgd2lsbCByZXR1cm4gZWFybHkgaGVuY2UgY2FsbGVyIHdvbuKAmXQg YmUgYWJsZSB0byBpbml0aWFsaXplIGxpYnBtdSBidXQgdGhpcyB0aW1lIGR1ZSB0byBhIGRpZmZl cmVudCByZWFzb24uIA0KDQpBbmQgbGFzdCB0aGluZywgdGhhdCBleHByZXNzaW9uIHJlc2VtYmxl cyBvbmUgdXNlZCBpbiBydGVfcG11X2ZpbmkoKS4gDQoNCj5BbHNvIGluY3JlbWVudC9kZWNyZW1l bnQgY291bnRlciBpbXBsaWVzIHRoYXQgaW5pdCgpL2ZpbmkoKSBjYW4gYmUgY2FsbGVkIG11bHRp cGxlIHRpbWVzLCBjb3JyZWN0Pw0KPklmIHNvLCB0aGVyZSBpcyBzdGlsbCBhbiBpbXBsaWNpdCBh c3N1bXB0aW9uIHRoYXQgaXQgYWx3YXlzIHdpbGwgaGFwcGVuIGluIGEgc2VxdWVudGlhbCBtYW5u ZXI/DQo+DQoNClllcywgdGhhdCBzaG91bGQgaGFwcGVuIGluIHNlcXVlbnRpYWwgbWFubmVyLiBG cmFua2x5LCB0aGF0IGNvdW50ZXIgc2hvdWxkIHN0YXkgYXQgMSBmb3IgdGhlIG1vc3Qgb2YgdGhl IHRpbWUuDQpUaGUgb25seSBleGNlcHRpb24gaXMgd2hlbiB5b3UgY29uZmlndXJlIERQREsgd2l0 aCAtRGVuYWJsZV90cmFjZV9mcD10cnVlIGFuZCBydW4gZnVuY3Rpb25hbCB0ZXN0IChwbXVfYXV0 b3Rlc3QpLiANClRoZW4gdGhhdCBjb3VudGVyIGp1bXBzIHRvIDIgZHVyaW5nIHRlc3QgYW5kIGdl dHMgcHVsbGVkIGRvd24gdG8gMSBhdCB0aGUgZW5kLiANCg0KPj4gIAkJcmV0dXJuIDA7DQo+Pg0K Pj4gIAlyZXQgPSBzY2FuX3BtdXMoKTsNCj4+IEBAIC00NTAsNyArNTEzLDcgQEAgcnRlX3BtdV9m aW5pKHZvaWQpDQo+PiAgCXN0cnVjdCBydGVfcG11X2V2ZW50X2dyb3VwICpncm91cDsNCj4+ICAJ dW5zaWduZWQgaW50IGk7DQo+Pg0KPj4gLQlpZiAoIXJ0ZV9wbXUuaW5pdGlhbGl6ZWQpDQo+PiAr CWlmICghcnRlX3BtdS5pbml0aWFsaXplZCB8fCAtLXJ0ZV9wbXUuaW5pdGlhbGl6ZWQpDQo+PiAg CQlyZXR1cm47DQo+Pg0KPj4gIAlSVEVfVEFJTFFfRk9SRUFDSF9TQUZFKGV2ZW50LCAmcnRlX3Bt dS5ldmVudF9saXN0LCBuZXh0LCB0bXBfZXZlbnQpDQo+PiB7IGRpZmYgLS1naXQgYS9saWIvcG11 L3J0ZV9wbXUuaCBiL2xpYi9wbXUvcnRlX3BtdS5oIGluZGV4DQo+PiA4NWY5MTI3OTExLi5kZjU3 MWYwYTJmIDEwMDY0NA0KPj4gLS0tIGEvbGliL3BtdS9ydGVfcG11LmgNCj4+ICsrKyBiL2xpYi9w bXUvcnRlX3BtdS5oDQo+PiBAQCAtMTM1LDcgKzEzNSw3IEBAIF9fcnRlX3BtdV9lbmFibGVfZ3Jv dXAoc3RydWN0IHJ0ZV9wbXVfZXZlbnRfZ3JvdXAgKmdyb3VwKTsNCj4+ICAgKiBAd2FybmluZw0K Pj4gICAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9y IG5vdGljZQ0KPj4gICAqDQo+PiAtICogSW5pdGlhbGl6ZSBQTVUgbGlicmFyeS4NCj4+ICsgKiBJ bml0aWFsaXplIFBNVSBsaWJyYXJ5LiBJdCdzIHNhZmUgdG8gY2FsbCBpdCBtdWx0aXBsZSB0aW1l cy4NCj4+ICAgKg0KPj4gICAqIEByZXR1cm4NCj4+ICAgKiAgIDAgaW4gY2FzZSBvZiBzdWNjZXNz LCBuZWdhdGl2ZSB2YWx1ZSBvdGhlcndpc2UuDQo+PiBAQCAtMTQ4LDcgKzE0OCw5IEBAIHJ0ZV9w bXVfaW5pdCh2b2lkKTsNCj4+ICAgKiBAd2FybmluZw0KPj4gICAqIEBiIEVYUEVSSU1FTlRBTDog dGhpcyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGljZQ0KPj4gICAqDQo+PiAtICog RmluYWxpemUgUE1VIGxpYnJhcnkuDQo+PiArICogRmluYWxpemUgUE1VIGxpYnJhcnkuIE51bWJl ciBvZiBjYWxscyBtdXN0IG1hdGNoIG51bWJlcg0KPj4gKyAqIG9mIHRpbWVzIHJ0ZV9wbXVfaW5p dCgpIHdhcyBjYWxsZWQuIE90aGVyd2lzZSBtZW1vcnkNCj4+ICsgKiB3b24ndCBiZSBmcmVlZCBw cm9wZXJseS4NCj4+ICAgKi8NCj4+ICBfX3J0ZV9leHBlcmltZW50YWwNCj4+ICB2b2lkDQo+PiBA QCAtMTczLDcgKzE3NSwyMyBAQCBydGVfcG11X2FkZF9ldmVudChjb25zdCBjaGFyICpuYW1lKTsN Cj4+ICAgKiBAd2FybmluZw0KPj4gICAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNo YW5nZSB3aXRob3V0IHByaW9yIG5vdGljZQ0KPj4gICAqDQo+PiAtICogUmVhZCBoYXJkd2FyZSBj b3VudGVyIGNvbmZpZ3VyZWQgdG8gY291bnQgb2NjdXJyZW5jZXMgb2YgYW4gZXZlbnQuDQo+PiAr ICogQWRkIGV2ZW50cyBtYXRjaGluZyBwYXR0ZXJuIHRvIHRoZSBncm91cCBvZiBlbmFibGVkIGV2 ZW50cy4NCj4+ICsgKg0KPj4gKyAqIEBwYXJhbSBwYXR0ZXJuDQo+PiArICogICBQYXR0ZXJuIGU9 ZXYxWyxldjIsLi4uXSBtYXRjaGluZyBldmVudHMsIHdoZXJlIGV2WCBpcyBhIHBsYWNlaG9sZGVy IGZvciBhbiBldmVudCBsaXN0ZWQNCj51bmRlcg0KPj4gKyAqICAgL3N5cy9idXMvZXZlbnRfc291 cmNlL2RldmljZXMvPHBtdT4vZXZlbnRzLg0KPj4gKyAqLw0KPj4gK19fcnRlX2V4cGVyaW1lbnRh bA0KPj4gK2ludA0KPj4gK3J0ZV9wbXVfYWRkX2V2ZW50c19ieV9wYXR0ZXJuKGNvbnN0IGNoYXIg KnBhdHRlcm4pOw0KPj4gKw0KPj4gKy8qKg0KPj4gKyAqIEB3YXJuaW5nDQo+PiArICogQGIgRVhQ RVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlDQo+PiAr ICoNCj4+ICsgKiBSZWFkIGhhcmR3YXJlIGNvdW50ZXIgY29uZmlndXJlZCB0byBjb3VudCBvY2N1 cnJlbmNlcyBvZiBhbiBldmVudC4NCj4+ICtUaGlzIGlzIGNhbGxlZCBieSBhbiBsY29yZQ0KPj4g KyAqIGJpbmRlZCBleGNsdXNpdmVseSB0byBwYXJ0aWN1bGFyIGNwdSBhbmQgbWF5IG5vdCB3b3Jr IGFzIGV4cGVjdGVkIGlmIGdldHMgbWlncmF0ZWQgZWxzZXdoZXJlLg0KPj4gKyAqIFJlYXNvbiBi ZWluZyBldmVudCBncm91cCBpcyBwaW5uZWQgaGVuY2Ugbm90IHN1cHBvc2VkIHRvIGJlIG11bHRp cGxleGVkIHdpdGggYW55IG90aGVyDQo+ZXZlbnRzLg0KPj4gICAqDQo+PiAgICogQHBhcmFtIGlu ZGV4DQo+PiAgICogICBJbmRleCBvZiBhbiBldmVudCB0byBiZSByZWFkLg0KPj4gZGlmZiAtLWdp dCBhL2xpYi9wbXUvdmVyc2lvbi5tYXAgYi9saWIvcG11L3ZlcnNpb24ubWFwIGluZGV4DQo+PiBk MGY5MDdkMTNkLi5mMTRkNDk4YjU0IDEwMDY0NA0KPj4gLS0tIGEvbGliL3BtdS92ZXJzaW9uLm1h cA0KPj4gKysrIGIvbGliL3BtdS92ZXJzaW9uLm1hcA0KPj4gQEAgLTUsNiArNSw3IEBAIEVYUEVS SU1FTlRBTCB7DQo+PiAgCV9fcnRlX3BtdV9lbmFibGVfZ3JvdXA7DQo+PiAgCXJ0ZV9wbXU7DQo+ PiAgCXJ0ZV9wbXVfYWRkX2V2ZW50Ow0KPj4gKwlydGVfcG11X2FkZF9ldmVudHNfYnlfcGF0dGVy bjsNCj4+ICAJcnRlX3BtdV9maW5pOw0KPj4gIAlydGVfcG11X2luaXQ7DQo+PiAgCXJ0ZV9wbXVf cmVhZDsNCj4+IC0tDQo+PiAyLjM0LjENCg0K