From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id +UDuMrivw2okzTwAWB0awg (envelope-from ) for ; Mon, 05 Oct 2026 10:10:00 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=KFwtxPMf; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id C8ABE1E051; Mon, 05 Oct 2026 10:10:00 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 2500D1E04E for ; Mon, 05 Oct 2026 10:09:59 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 507E34BA23D0 for ; Mon, 5 Oct 2026 14:09:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 507E34BA23D0 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=KFwtxPMf Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) by sourceware.org (Postfix) with ESMTPS id 3E6D04BA2E1B for ; Mon, 5 Oct 2026 14:09:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3E6D04BA2E1B Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 3E6D04BA2E1B Authentication-Results: sourceware.org; arc=fail smtp.remote-ip=192.198.163.16 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1791209361; cv=fail; b=F+sRV+UFhx13S67hM+bv6+2GWC4b7+QncfpnrK9cGkwm6JcU5TMOlZHOSgWPQA276s1bykoJgiqmCaP217gj4Hotei1mp88jl3509GwcTcvhAYj6rf42gw01HY99nXzMO/eAjXxwaewIZtoOPmaOzFbORR84YfTrCAVzPHaTiAQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1791209361; c=relaxed/simple; bh=ssEUWRWD84yUTSvWBRryPMydFKpAwFlDIa1vlZGUH34=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=k28Kdj5AlVwwSp9tFu1+Y0/qQGDyAMI/lixkOhDY1sj3QtNFpOpn1CS2uF6u5asMKcNpFt2ur4EnuR1h1nU68SIyN9zTdDmfynUB2G8TR6g0TlT1Xt0+jwFdDI+/VKkNA0jF+0mBEdIXclhm4CkfC7KJ3DzpBmytuK3gEzAj+yo= ARC-Authentication-Results: i=2; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=KFwtxPMf DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3E6D04BA2E1B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1791209361; x=1822745361; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-transfer-encoding; bh=ssEUWRWD84yUTSvWBRryPMydFKpAwFlDIa1vlZGUH34=; b=KFwtxPMffT8LGI/j9v1PkKlXa96ya5djaWYCO1AkXjnNTBm0Ll3p/Wvb qvrlG2m92dA1CacFxy9JraZxJ0/jy3ID9P5dA8VMBOn42MIRFnUu9u9e7 yYrD2yJnP20Jc/Kt6fVQ9+PTAsBV+JFprS4kBECYpJ36fhy+VP8TqqDi1 l3kmTpv+ODA/+jRU3Ior4g0NvtWXcIYFDzcszrEbYaRQh9cSQijtY/kag du9iH5/cIn7eE+tpLfsSlHUVZ8S76s0EFq/SEXwwlTmU5uWNLpafJfagG 9O2z5SRbpper5q42ZjQLYO8jFxyeSAdz5p57EdPo20qHIuuBEcbLDhQMU A==; X-CSE-ConnectionGUID: QORJ7vTJRAWl+EKiVLuzIA== X-CSE-MsgGUID: qXfNWtQvT9uVt77GRgC+DA== X-IronPort-AV: E=McAfee;i="6800,10657,11926"; a="79438031" X-IronPort-AV: E=Sophos;i="6.27,142,1787036400"; d="scan'208";a="79438031" Received: from fmviesa012.fm.intel.com ([10.60.135.152]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Oct 2026 07:09:20 -0700 X-CSE-ConnectionGUID: LqA9Y8PtQV+G7afFZfDWow== X-CSE-MsgGUID: Do+aWum1Sl2E9E8c+8AozA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.27,142,1787036400"; d="scan'208";a="885498" Received: from fmsmsx901.amr.corp.intel.com ([10.18.126.90]) by fmviesa012.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Oct 2026 07:09:20 -0700 Received: from FMSMSX902.amr.corp.intel.com (10.18.126.91) by fmsmsx901.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Mon, 5 Oct 2026 07:09:19 -0700 Received: from fmsedg903.ED.cps.intel.com (10.1.192.145) by FMSMSX902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49 via Frontend Transport; Mon, 5 Oct 2026 07:09:19 -0700 Received: from CH4PR04CU002.outbound.protection.outlook.com (40.107.201.27) by edgegateway.intel.com (192.55.55.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Mon, 5 Oct 2026 07:09:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HwkeNKAZ66NnGXgMpIsje79CNOXUydA41d8W5WJ5ya21o7mLNEV2jcVQ9nUEsKPWpa5e442/dGZQt0e42SfHu/3AVAA5FurGZWLOPi96OwegrrIjMnISxELnjM2XuLtE7YoHQdIgWHLJPip/sw+bVIHYUbNlbsYyoiNMr87KEYhovS96pjcqWmsAzCbMKjvI41ROd4z+cb5HRys0rGfVp71i+kFb53qFs1+3/OMApb0/uf976Po/MuvRDeskIleGGiWw2KzUiJueCqKGdL+mIcu8DDBZP/wJ2yuRg8D04516KQmylgArAJCv+2ii+/G4pK5B6fb1C+9jPTBZ2Y/Hfg== 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=qLtAGgEi5H0kctEO4y9P7cwhlS+fb0qz2Mt2Jq3b/BE=; b=h52I+hIHXjRZ+dsoUvT0InaVgd2m1ZSz85wsmz/FfyK8EZPH1Ivihwb5mAYag3GT/kJZS4OvlusHtCTIrUJWxQFBuaTubVzXxl8HvDTorNbBhSHUrW7eBEivvDp6S66RT2BQ1dyDBGYm7QbJ4p+dy8YwqNWBZJbYns0TUcbfbUns+CNKlLH4B3SwGxKPs5TM6Mpe3E79QI67IjvCGHID3pApZuHbH+kcEo9WDdeLSSwThmk5D1XWL9MoJ6oBiDQrNFdalXfW0oi27kSoD6neCCotb92G72Z+xicZTPROI4LWaQdfeWbvxJMjZgnKFGNBwEfk9tyEYkI14EDtWD3wgg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DS7PR11MB6247.namprd11.prod.outlook.com (2603:10b6:8:98::22) by DS4PPF409BB8CE8.namprd11.prod.outlook.com (2603:10b6:f:fc02::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.472.20; Mon, 5 Oct 2026 14:09:16 +0000 Received: from DS7PR11MB6247.namprd11.prod.outlook.com ([fe80::af57:631:e7eb:3aea]) by DS7PR11MB6247.namprd11.prod.outlook.com ([fe80::af57:631:e7eb:3aea%4]) with mapi id 15.21.0451.022; Mon, 5 Oct 2026 14:09:16 +0000 From: "Rohr, Stephan" To: Hannes Domani , "gdb-patches@sourceware.org" CC: "Joos, Christina" Subject: RE: [PATCH v4 7/9] Windows gdb: Implement AVX register support Thread-Topic: [PATCH v4 7/9] Windows gdb: Implement AVX register support Thread-Index: AQHdUO6eHuUySVqc2kevvuMvKCAa4bbu7AoA Date: Mon, 5 Oct 2026 14:09:16 +0000 Message-ID: References: <20260930151403.774660-1-ssbssa@yahoo.de> <20260930151403.774660-7-ssbssa@yahoo.de> In-Reply-To: <20260930151403.774660-7-ssbssa@yahoo.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR11MB6247:EE_|DS4PPF409BB8CE8:EE_ x-ms-office365-filtering-correlation-id: 07a9487c-39a6-40d0-0988-08df22ea3d9f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|10070799003|376014|23010399003|38070700021|11063799006|56012099006|4143699003|10067099003|22082099003|18002099003|6133799003|3023799007; x-microsoft-antispam-message-info: hDLdK9N2L6cGErfBfAolHGqOTzWAkxo/O1bb68dp1Wj6qSVTYfvUWoYpKpX/dUc1KbhaN81AWIF8Rv1MIjoep38QJpOknxdPvSXG3ifEjSYRGeDVGwqB8chGf/qCmHGmNlNJQjxjn9Zd7Tsib+mWICV010Ca6zxxCSpWbwjj4eXevuq6fbbrxdM8Rmy4u67+tBEhkcbJrVQzmgS7w8/qPDNmE6Z5mpoPeCU1VaucZ/UtEQ5MJfrMXdTROIUrd94Uej6XvtLX3ZV0wvRilR0Pje1tXOrhjq5fgLRC5oz/jkHAV861b5dEB5E5El9r9zLc2HWSdzQDWeJF6vTJ7u8X+IQIQ8gHaHAW0EEhyq6OPhninUpYVBquZ0zI7OCcXS10W2w06H04hSK+xq7WxBMM5vuPy9GeGn8qyUN1h9L4uLzcR4kGW0++J5kgOSA7ILM2B2Z0To9Q8GAJw2HhbiamN8dJFgc2IjsDZPcEVGRCjwZ9atUC2gDQ6sgJFBmKvydmYnG0wThh4YvluLXOXgKuDGPnO10xI/iw1nuei885dLaZRcWAVJOlCDefx2ZZXT6xZ8PsLPaN8jXkZttFXsaIjkZfLm3XcQlpn69YWpwahpEuuPSPeow6jbiItKjcRI+MiL5tpje3sCDcFZjQyn2WR2njH0ww9rNZUCQ4Czm+RLs= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR11MB6247.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(10070799003)(376014)(23010399003)(38070700021)(11063799006)(56012099006)(4143699003)(10067099003)(22082099003)(18002099003)(6133799003)(3023799007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UVdPVzBNR25hWkd0MzQvMzVCb0lRaVBSaVRxUktYbTQreUo4L3E3OG1hWTdK?= =?utf-8?B?dmlRNEl5YkIwWjRCcG1jamtnSDQrSUpOMDQwcEpqQ0lPaTZ5UkpUOVNCK1h3?= =?utf-8?B?Wmo5RjJKQmc2S0FkOUdOeVVnL2dsbUp5VzR3MUZrSVg5bjNnNTZMQlBuUk1w?= =?utf-8?B?QTZrbFpOYXVUQmwzMXF2OVQ4UHQzSHRUSWUweGdMS3VpSTNiVC9ISlJWVXhL?= =?utf-8?B?bWxQUVBVVmtuVWZaQ1ozTnZyZTVJTkNkK1pzRm5qOXFoZEk0aHlpQkgwTjFI?= =?utf-8?B?MGRnQk9XUGoyT1NzYTBzdUhuV0NEM245OW0wN1BSeTMwTUR6U3EzQnVsSWZ3?= =?utf-8?B?bzhDazlITUd6dmlXL2VFdVM0WXFMQ1ZBSmYvakNVSUI5WDltOEdIaVNodUNE?= =?utf-8?B?ckRVc295N3p2V3NlblBhVUU0NmR0QW9XWW1CSWpCazNMREFBQ0h4VlFlRVZM?= =?utf-8?B?TGhtM0dBY2lsUUo5bnR2MG9PMHRCN2phalA2WDkxa1VLajNnRlY0RWZVcHVK?= =?utf-8?B?ekZCZVdwSCtIVXExVGhKbWFPM0REeHhIQXdDeUV1UmtPakxHSS9iZng4QldO?= =?utf-8?B?dUVkQ0dPL1U3ZFd2SkJWby9lcEZKeDVCMjl0SVpzcEd1Y3U3MDdNeXJkZjFO?= =?utf-8?B?dkVEekhhaXVSNG5kRGtYeTd2Zk9oRDVSVWFCb3o4T21qa3BUdU40V1RZOFFx?= =?utf-8?B?TStWeFFNY2tmSk5aVzdUUzdKbE5LTjZadzhRZFhKVWNyYlpVS053c2FkM1RT?= =?utf-8?B?RXNyVjJMcGpSaTdRMW9aTVRDaE9BaHB1cmRuclBtNzBrL3RsRkxLc3ArY0cr?= =?utf-8?B?aXVFT3BGbGJXQ21rc2xBMlFiWUFTUlhJQ3UxUmMweGpVSFIwUFBGQk1TaWM1?= =?utf-8?B?cXUrUzZUSDgzQi9rOUtCNlBHdVVxTDgrWENjUG91WmlaVW40UmpxSVUrRVky?= =?utf-8?B?eVdmYng1Y04zbUZqZ21RdHhjQm12QUM2dzAzcE1LaFFOekdYRUN5Mlphc2hK?= =?utf-8?B?NEtPbk56RkxEakpRTlpyR3Z5akR2ZENsZTdpMElWSEg2bS9WYjBZdDlmRGJD?= =?utf-8?B?SCtVdkpIVTM2dkNQNDlpMXFocXMyLzhyQ29aUjArY2dRczJZWWhqNXdSaG81?= =?utf-8?B?Ym4wd2d6dS9nMDZqaHk2YmZwNjdEMEFEeE9WbEM2eTZrcEdwejE3a09vdmh3?= =?utf-8?B?Umg1NXVtdUt6YUhzbFdTeURqQTRPdzJrZTVXN3JPclJKd0ZGV2FvN212MFFk?= =?utf-8?B?OEQwSWx3RnE0aEg0UFRldFU3NDFuL2tuamJXaENsci9JREhOdGl3Y2FNdHhR?= =?utf-8?B?SFI4dlRUL2QvcVp1dXJraTZpUjc5VlNteVYzbE4rZXR6cHNDTTdITXB6WndP?= =?utf-8?B?QUlCTlovRFRTaTBQT3NFV3VwRFBmSHBWcE0yTjZIYUtyR0NnQ0Fxc1JBZlk4?= =?utf-8?B?VHJVb0tWMnVBNEMwajk1MDdnVWpNaFpSdHNsd2gwcjcxOEd1TzFyMlppcWo0?= =?utf-8?B?N09KSm5KTitsQmNqZmtmTlFMYjRmKzkySmovQkVuR3h1ZFFUYlE3OUt0Rk53?= =?utf-8?B?OHNBUkh0NE1QWE9VaUxUNk92NFZ4QXJRdUhxeUErTjFBNGhUczgrejZtUy9Z?= =?utf-8?B?ZjlpcTRXdTlTcWNiUHVSYXAvejQ1SWVOMWJidG05Y0JBTUZPUTY5eDVNSHU5?= =?utf-8?B?RDR1bmtyV0NrTkY2VC9FNjFOdmc2ZUVCVXBWdjcrRDQyNnpVSk5nTk02b25Z?= =?utf-8?B?WCs0R2w3Zk9BdGM3N21yNFFrRkJrMExVb0ZiWGF0TnY2aXp6OW1pZTQzd3Uz?= =?utf-8?B?QXB1a0d2MTBpb1R1dXM4WUJRdDAvRUduVTZFU0w2QTN0bklhSmowS3hTRGVm?= =?utf-8?B?R3ovTUMrNWZqZm0xZHRjOHRsK2l6ZEZNWHdnZ3dDZDRqZDFORmNYbU00Slh5?= =?utf-8?B?dEZPQXpIQWsrZFpSbzMybTAraWRITXBEOGZsOTFHMTRES2dCTUFGNXdOdVpG?= =?utf-8?B?bEhYbzYwOFhqOWI3Uzk0WjZxdENQYk9CSjFGRkJCa2hGSHB6WUZQNTFrWkNS?= =?utf-8?B?czNWK1RGQjB3QWlOMkNPZHc5N2Z4M0c4aWFqUjlHSHhOaTFHTmMxNWgyMGFa?= =?utf-8?B?UHU5QjQ2TnpNU1NDUzNPVnk1OUJ3bWFXTkhvamxueUxoWm1qWDNPSWVFUFl6?= =?utf-8?B?REMwR2hwZXk1bnROTlBWWTk4aFRPRUxEVHBkNUt6TTZVTWdkQXFwV1BoSThD?= =?utf-8?B?T05sRWNhY0RBTXRxMDNieTE5NUZDT0JZT3dDVXI4MmtnV0t3dWpaUncrbG1Q?= =?utf-8?B?NkVWb0Y0WE5PS3YvY24za3dFemRQODdrNnBMc1ZrejI3RXgrZ3h4dFBpZTY0?= =?utf-8?Q?h4Jf9S0/a0DKD3/qnwsLvNZyUH3k+Iy51TxKn?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: lewJLXSdEs3lPkPaiFk5aUK8DSE8hr6otBNRWBpdGa9u7RK9VoPjWNRD3hMmzKZrUttupoMxuqSBiqORzoaAcRmH6QT+lCQVBh6zRbYfWfo8S1x9GY5Kiirfc9qa/bEc13FeT2zUQbf+mcvEsB/uIsX09T41dO2ihZ46EKH7bGIZzGH+9136qzyyRC6JXci85nDqAqoyw0LVd0rVEIIZyD+4eQHLNRmmKrMxVFsHZIMSiXg+Ozf6yj3mXoj/gbUqD1yrdH8I7jptAfVwJtEaS3U5BWdRT0Xrh1uHrT3Unjx0/8FqNLfYDVkxhnHrQedem8fH21AB1fF3cAe86t6Z8Q== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR11MB6247.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07a9487c-39a6-40d0-0988-08df22ea3d9f X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Oct 2026 14:09:16.1221 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: NFTeGm460zaaQI5jEnnBw2cS5HopmUiMJnRTCZ8jawh6Rn/yEAiMLvB5z4IvEwKEtTtQLaAx+EPHWyZZTCgAyg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS4PPF409BB8CE8 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org SGkgSGFubmVzLA0KDQpzb21lIG1pbm9yIGZpbmRpbmdzIGJlbG93Lg0KDQpXaXRoIHRob3NlIGZp eGVkLg0KDQpSZXZpZXdlZC1CeTogUm9ociwgU3RlcGhhbiA8c3RlcGhhbi5yb2hyQGludGVsLmNv bT4NCg0KVGhhbmtzDQpTdGVwaGFuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g RnJvbTogSGFubmVzIERvbWFuaSA8c3Nic3NhQHlhaG9vLmRlPg0KPiBTZW50OiBXZWRuZXNkYXks IDMwIFNlcHRlbWJlciAyMDI2IDE3OjEyDQo+IFRvOiBnZGItcGF0Y2hlc0Bzb3VyY2V3YXJlLm9y Zw0KPiBTdWJqZWN0OiBbUEFUQ0ggdjQgNy85XSBXaW5kb3dzIGdkYjogSW1wbGVtZW50IEFWWCBy ZWdpc3RlciBzdXBwb3J0DQo+IA0KPiBUaGlzIGFkZHMgc3VwcG9ydCBmb3IgdGhlIEludGVsIEFW WCByZWdpc3RlcnMgb24gV2luZG93cy4NCj4gSXQgZW5hYmxlcyBhY2Nlc3NpbmcgcmVnaXN0ZXJz ICR5bW0wIC0gJHltbTE1IHdoZXJlIHRoZXkgYXJlIGF2YWlsYWJsZS4NCj4gDQo+IEFmdGVyIHRo aXMgcGF0Y2ggZ2RiLmFyY2gvaTM4Ni1hdnguZXhwIHBhc3NlcyBvbiB3aW5kb3dzLg0KPiAtLS0N Cj4gdjM6DQo+ICAgLSBtZXJnZWQgZ2RiK2dkYnNlcnZlciBwYXJ0cywgYW5kIHNwbGl0IGFnYWlu IEFWWC9BVlgtNTEyIHBhcnRzDQo+IHY0Og0KPiAgIC0gZml4ZWQgJHltbTE1IGluIE5FV1MNCj4g ICAtIEFkZCBjb21tb24gZnVuY3Rpb24gd2luZG93c190aHJlYWRfaW5mbzo6emVyb194c3RhdGVf ZmVhdHVyZXMsDQo+ICAgICBhbmQgZml4IG1heGltdW0gc3VwcG9ydGVkIGZlYXR1cmUgaW4gZm9y LWxvb3ANCj4gICAtIEFkZCBjaGVjayBmb3IgZW5hYmxlZCB4c3RhdGVfZmVhdHVyZXMgaW4gZ2V0 X2NvbnRleHRfcmVnX3B0ciBvZg0KPiAgICAgeDg2LXdpbmRvd3MtbmF0LmMNCj4gICAtIE1vdmUg YW1kNjQgdmFyaWFibGUgaW4gZ2V0X2NvbnRleHRfcmVnX3B0ciBvZiB3aW4zMi1pMzg2LWxvdy5j Yw0KPiAgIC0gQ2hhbmdlZCBhbGwgTlVMTCB0byBudWxscHRyDQo+ICAgLSBEb24ndCByZW1vdmUg J3IgPT0gMCcgZnJvbSBjaGlsZF9zdG9yZV9pbmZlcmlvcl9yZWdpc3RlcnMNCj4gLS0tDQo+ICBn ZGIvTkVXUyAgICAgICAgICAgICAgICAgICAgfCAgMyArKysNCj4gIGdkYi9uYXQvd2luZG93cy1u YXQuYyAgICAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysrKystDQo+ICBnZGIvbmF0L3dp bmRvd3MtbmF0LmggICAgICAgfCAgNiArKysrKw0KPiAgZ2RiL3g4Ni13aW5kb3dzLW5hdC5jICAg ICAgIHwgNTENCj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQ0KPiAgZ2Ri c2VydmVyL3dpbjMyLWkzODYtbG93LmNjIHwgNDcgKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLQ0KPiAgZ2Ric2VydmVyL3dpbjMyLWxvdy5jYyAgICAgIHwgMTUgKysrKysrKy0tLS0N Cj4gIDYgZmlsZXMgY2hhbmdlZCwgMTQzIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQ0K PiANCj4gZGlmZiAtLWdpdCBhL2dkYi9ORVdTIGIvZ2RiL05FV1MNCj4gaW5kZXggNWQwYzQ3NDU2 NTMuLmRhNGJjODExYzNhIDEwMDY0NA0KPiAtLS0gYS9nZGIvTkVXUw0KPiArKysgYi9nZGIvTkVX Uw0KPiBAQCAtMTk0LDYgKzE5NCw5IEBAIGluZm8gbG9jYWxzDQo+ICAgIGludGVudCB0byByZW1v dmUgaXQgaW4gYSBmdXR1cmUgcmVsZWFzZS4NCj4gICAgVGhlIHMzOTAgNjQtYml0IHRhcmdldCAo czM5MHgtKikgcmVtYWlucyBzdXBwb3J0ZWQuDQo+IA0KPiArKiBTdXBwb3J0IGZvciBJbnRlbCBB VlggcmVnaXN0ZXJzIG9uIFdpbmRvd3MuDQo+ICsgIFN1cHBvcnQgZGlzcGxheWluZyBhbmQgbW9k aWZ5aW5nIEludGVsIEFWWCByZWdpc3RlcnMgJHltbTAgLSAkeW1tMTUuDQo+ICsNCj4gICogQ29u ZmlndXJlIGNoYW5nZXMNCj4gDQo+ICAqKiAtLXdpdGgtYmFiZWx0cmFjZSBoYXMgYmVlbiByZW1v dmVkLiAgVGhlIGJhYmVsdHJhY2UgbGlicmFyeSB3YXMNCj4gZGlmZiAtLWdpdCBhL2dkYi9uYXQv d2luZG93cy1uYXQuYyBiL2dkYi9uYXQvd2luZG93cy1uYXQuYw0KPiBpbmRleCA1OGJlNTM2OGE3 OS4uY2QzYzgyN2E1ZDUgMTAwNjQ0DQo+IC0tLSBhL2dkYi9uYXQvd2luZG93cy1uYXQuYw0KPiAr KysgYi9nZGIvbmF0L3dpbmRvd3MtbmF0LmMNCj4gQEAgLTI3MSw2ICsyNzEsNDAgQEAgd2luZG93 c190aHJlYWRfaW5mbzo6eGZlcl9zaWdpbmZvIChnZGJfYnl0ZQ0KPiAqcmVhZGJ1ZiwNCj4gICAg cmV0dXJuIHRydWU7DQo+ICB9DQo+IA0KPiArI2lmIGRlZmluZWQgX19pMzg2X18gfHwgZGVmaW5l ZCBfX3g4Nl82NF9fDQo+ICsvKiBTZWUgbmF0L3dpbmRvd3MtbmF0LmguICAqLw0KPiArDQo+ICt2 b2lkDQo+ICt3aW5kb3dzX3RocmVhZF9pbmZvOjp6ZXJvX3hzdGF0ZV9mZWF0dXJlcyAoKQ0KPiAr ew0KPiArICBpZiAoeHN0YXRlX2ZlYXR1cmVzID09IDApDQo+ICsgICAgcmV0dXJuOw0KPiArDQo+ ICsgIHByb2MtPndpdGhfY29udGV4dCAodGhpcywgW10gKGF1dG8gKmNvbnRleHQpDQo+ICsgICAg ew0KPiArICAgICAgRFdPUkQ2NCBmZWF0dXJlcyA9IDA7DQo+ICsgICAgICBpZiAoIWdldF94c3Rh dGVfZmVhdHVyZXNfbWFzayAoY29udGV4dCwgJmZlYXR1cmVzKSkNCj4gKwlyZXR1cm47DQo+ICsN Cj4gKyAgICAgIERXT1JENjQgemVyb2VkX2ZlYXR1cmVzID0geHN0YXRlX2ZlYXR1cmVzICYgfmZl YXR1cmVzOw0KPiArICAgICAgaWYgKHplcm9lZF9mZWF0dXJlcyA9PSAwKQ0KPiArCXJldHVybjsN Cj4gKw0KPiArICAgICAgZm9yIChpbnQgZiA9IFg4Nl9YU1RBVEVfQVZYX0lEOyBmIDw9IFg4Nl9Y U1RBVEVfQVZYX0lEOyBmKyspDQoNClN0YXJ0ID09IEVuZC4NCg0KPiArCXsNCj4gKwkgIERXT1JE NjQgZmxhZyA9IDFVTEwgPDwgZjsNCj4gKwkgIGlmICgoemVyb2VkX2ZlYXR1cmVzICYgZmxhZykg IT0gMCkNCj4gKwkgICAgew0KPiArCSAgICAgIERXT1JEIHNpemUgPSAwOw0KPiArCSAgICAgIHZv aWQgKmxvYyA9IGxvY2F0ZV94c3RhdGVfZmVhdHVyZSAoY29udGV4dCwgZiwgJnNpemUpOw0KPiAr CSAgICAgIGlmIChsb2MgIT0gbnVsbHB0ciAmJiBzaXplID4gMCkNCj4gKwkJbWVtc2V0IChsb2Ms IDAsIHNpemUpOw0KPiArCSAgICB9DQo+ICsJfQ0KPiArICAgIH0pOw0KPiArfQ0KPiArI2VuZGlm DQo+ICsNCj4gIC8qIFRyeSB0byBkZXRlcm1pbmUgdGhlIGV4ZWN1dGFibGUgZmlsZW5hbWUuDQo+ IA0KPiAgICAgRVhFX05BTUVfUkVUIGlzIGEgcG9pbnRlciB0byBhIGJ1ZmZlciB3aG9zZSBzaXpl IGlzIEVYRV9OQU1FX01BWF9MRU4uDQo+IEBAIC0xMzM5LDcgKzEzNzMsNyBAQCBpbml0aWFsaXpl X2xvYWRhYmxlICgpDQo+ICAgICAgew0KPiAgICAgICAgLyogQXZhaWxhYmxlIFhTdGF0ZSBmZWF0 dXJlcyBtYXNrZWQgd2l0aCBpbXBsZW1lbnRlZCBmZWF0dXJlcy4gICovDQo+ICAgICAgICB4c3Rh dGVfZmVhdHVyZXMgPSAoR2V0RW5hYmxlZFhTdGF0ZUZlYXR1cmVzICgpDQo+IC0JCQkgJiBYODZf WFNUQVRFX1NTRV9NQVNLKTsNCj4gKwkJCSAmIFg4Nl9YU1RBVEVfQVZYX01BU0spOw0KPiAgICAg ICAgLyogVGhlIGV4dGVuZGVkIFhTdGF0ZSBmdW5jdGlvbnMgYXJlIG9ubHkgbmVlZGVkIGlmIHRo ZSBhdmFpbGFibGUNCj4gIAkgZmVhdHVyZXMgZXhjZWVkIFNTRS4gICovDQo+ICAgICAgICBpZiAo KHhzdGF0ZV9mZWF0dXJlcyAmIH5YODZfWFNUQVRFX1NTRV9NQVNLKSA9PSAwKQ0KPiBkaWZmIC0t Z2l0IGEvZ2RiL25hdC93aW5kb3dzLW5hdC5oIGIvZ2RiL25hdC93aW5kb3dzLW5hdC5oDQo+IGlu ZGV4IGE3ZDRhZjg0ZTEzLi40Y2Q3NWNiNmEwZSAxMDA2NDQNCj4gLS0tIGEvZ2RiL25hdC93aW5k b3dzLW5hdC5oDQo+ICsrKyBiL2dkYi9uYXQvd2luZG93cy1uYXQuaA0KPiBAQCAtOTAsNiArOTAs MTIgQEAgc3RydWN0IHdpbmRvd3NfdGhyZWFkX2luZm8NCj4gIAkJICAgICBVTE9OR0VTVCBvZmZz ZXQsIFVMT05HRVNUIGxlbiwNCj4gIAkJICAgICBVTE9OR0VTVCAqeGZlcmVkX2xlbik7DQo+IA0K PiArI2lmIGRlZmluZWQgX19pMzg2X18gfHwgZGVmaW5lZCBfX3g4Nl82NF9fDQo+ICsgIC8qIFpl cm8gYWxsIFhTdGF0ZSBmZWF0dXJlIGFyZWFzIHRoYXQgd2VyZSBub3QgcHJvdmlkZWQgYnkNCj4g KyAgICAgR2V0VGhyZWFkQ29udGV4dC4gICovDQo+ICsgIHZvaWQgemVyb194c3RhdGVfZmVhdHVy ZXMgKCk7DQo+ICsjZW5kaWYNCj4gKw0KPiAgICAvKiBUaGUgcHJvY2VzcyB0aGlzIHRocmVhZCBi ZWxvbmdzIHRvLiAgKi8NCj4gICAgd2luZG93c19wcm9jZXNzX2luZm8gKmNvbnN0IHByb2M7DQo+ IA0KPiBkaWZmIC0tZ2l0IGEvZ2RiL3g4Ni13aW5kb3dzLW5hdC5jIGIvZ2RiL3g4Ni13aW5kb3dz LW5hdC5jDQo+IGluZGV4IDNhZjVlZjRkYWUwLi4xZTQ0YTQ1MTcxYyAxMDA2NDQNCj4gLS0tIGEv Z2RiL3g4Ni13aW5kb3dzLW5hdC5jDQo+ICsrKyBiL2dkYi94ODYtd2luZG93cy1uYXQuYw0KPiBA QCAtMjcsNiArMjcsOSBAQA0KPiANCj4gICNpbmNsdWRlICJpMzg2LXRkZXAuaCINCj4gICNpbmNs dWRlICJpMzg3LXRkZXAuaCINCj4gKyNpZmRlZiBfX3g4Nl82NF9fDQo+ICsjaW5jbHVkZSAiYW1k NjQtdGRlcC5oIg0KPiArI2VuZGlmDQo+IA0KPiAgdXNpbmcgbmFtZXNwYWNlIHdpbmRvd3NfbmF0 Ow0KPiANCj4gQEAgLTcwLDYgKzczLDggQEAgc3RydWN0IHg4Nl93aW5kb3dzX25hdF90YXJnZXQg ZmluYWwgOiBwdWJsaWMNCj4geDg2X25hdF90YXJnZXQ8d2luZG93c19uYXRfdGFyZ2V0Pg0KPiAg CQkJICAgd2luZG93c190aHJlYWRfaW5mbyAqdGgsIGludCByKSBvdmVycmlkZTsNCj4gDQo+ICAg IGJvb2wgaXNfc3dfYnJlYWtwb2ludCAoY29uc3QgRVhDRVBUSU9OX1JFQ09SRCAqZXIpIGNvbnN0 IG92ZXJyaWRlOw0KPiArDQo+ICsgIGNvbnN0IHN0cnVjdCB0YXJnZXRfZGVzYyAqcmVhZF9kZXNj cmlwdGlvbiAoKSBvdmVycmlkZTsNCj4gIH07DQo+IA0KPiAgLyogVGhlIGN1cnJlbnQgcHJvY2Vz cy4gICovDQo+IEBAIC0xMDksNyArMTE0LDE0IEBAIHg4Nl93aW5kb3dzX3Blcl9pbmZlcmlvcjo6 ZmlsbF90aHJlYWRfY29udGV4dA0KPiAod2luZG93c190aHJlYWRfaW5mbyAqdGgpDQo+ICAgICAg ICBpZiAoY29udGV4dC0+Q29udGV4dEZsYWdzID09IDApDQo+ICAJew0KPiAgCSAgY29udGV4dC0+ Q29udGV4dEZsYWdzID0gV2luZG93c0NvbnRleHQ8ZGVjbHR5cGUoY29udGV4dCk+OjphbGw7DQo+ ICsJICBpZiAoeHN0YXRlX2ZlYXR1cmVzICE9IDApDQo+ICsJICAgIHsNCj4gKwkgICAgICBjb250 ZXh0LT5Db250ZXh0RmxhZ3MgfD0gQ09OVEVYVF9YU1RBVEVfRkxBRzsNCj4gKwkgICAgICBzZXRf eHN0YXRlX2ZlYXR1cmVzX21hc2sgKGNvbnRleHQsIHhzdGF0ZV9mZWF0dXJlcyk7DQo+ICsJICAg IH0NCj4gIAkgIENIRUNLIChnZXRfdGhyZWFkX2NvbnRleHQgKHRoLT5oLCBjb250ZXh0KSk7DQo+ ICsNCj4gKwkgIHRoLT56ZXJvX3hzdGF0ZV9mZWF0dXJlcyAoKTsNCj4gIAl9DQo+ICAgICAgfSk7 DQo+ICB9DQo+IEBAIC0xOTgsNiArMjEwLDE0IEBADQo+IHg4Nl93aW5kb3dzX25hdF90YXJnZXQ6 OnRocmVhZF9jb250ZXh0X2NvbnRpbnVlICh3aW5kb3dzX3RocmVhZF9pbmZvDQo+ICp0aCwNCj4g IAkgIGlmIChHZXRFeGl0Q29kZVRocmVhZCAodGgtPmgsICZlYykNCj4gIAkgICAgICAmJiBlYyA9 PSBTVElMTF9BQ1RJVkUpDQo+ICAJICAgIHsNCj4gKwkgICAgICBEV09SRCBkZWJ1Z19yZWdpc3Rl cnMgPQ0KPiBXaW5kb3dzQ29udGV4dDxkZWNsdHlwZShjb250ZXh0KT46OmRlYnVnOw0KPiArCSAg ICAgIGlmICh4c3RhdGVfZmVhdHVyZXMgIT0gMA0KPiArCQkgICYmIChjb250ZXh0LT5Db250ZXh0 RmxhZ3MgJiB+ZGVidWdfcmVnaXN0ZXJzKSAhPSAwKQ0KPiArCQl7DQo+ICsJCSAgY29udGV4dC0+ Q29udGV4dEZsYWdzIHw9IENPTlRFWFRfWFNUQVRFX0ZMQUc7DQo+ICsJCSAgc2V0X3hzdGF0ZV9m ZWF0dXJlc19tYXNrIChjb250ZXh0LCB4c3RhdGVfZmVhdHVyZXMpOw0KPiArCQl9DQo+ICsNCj4g IAkgICAgICBCT09MIHN0YXR1cyA9IHNldF90aHJlYWRfY29udGV4dCAodGgtPmgsIGNvbnRleHQp Ow0KPiANCj4gIAkgICAgICBpZiAoIWtpbGxlZCkNCj4gQEAgLTIyNyw3ICsyNDcsNyBAQCB4ODZf d2luZG93c19uYXRfdGFyZ2V0Ojp0aHJlYWRfY29udGV4dF9zdGVwDQo+ICh3aW5kb3dzX3RocmVh ZF9pbmZvICp0aCwNCj4gDQo+ICB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250ZXh0Pg0KPiAgc3RhdGlj IGNoYXIgKg0KPiAtZ2V0X2NvbnRleHRfcmVnX3B0ciAoQ29udGV4dCAqY29udGV4dCwgaW50IHIp DQo+ICtnZXRfY29udGV4dF9yZWdfcHRyIChDb250ZXh0ICpjb250ZXh0LCBpbnQgciwgaTM4Nl9n ZGJhcmNoX3RkZXAgKnRkZXApDQo+ICB7DQo+ICAgIGNvbnN0IGludCAqbWFwcGluZ3M7DQo+ICAg IGludCBtYXBwaW5nc19jb3VudDsNCj4gQEAgLTI0Nyw2ICsyNjcsMTQgQEAgZ2V0X2NvbnRleHRf cmVnX3B0ciAoQ29udGV4dCAqY29udGV4dCwgaW50IHIpDQo+ICAgIGNoYXIgKmNvbnRleHRfb2Zm c2V0Ow0KPiAgICBpZiAociA8IG1hcHBpbmdzX2NvdW50KQ0KPiAgICAgIGNvbnRleHRfb2Zmc2V0 ID0gKGNoYXIgKikgY29udGV4dCArIG1hcHBpbmdzW3JdOw0KPiArICBlbHNlIGlmICgoeHN0YXRl X2ZlYXR1cmVzICYgWDg2X1hTVEFURV9BVlgpICE9IDANCj4gKwkgICAmJiBJMzg3X1lNTTBIX1JF R05VTSAodGRlcCkgPiAwICYmIHIgPj0NCj4gSTM4N19ZTU0wSF9SRUdOVU0gKHRkZXApDQo+ICsJ ICAgJiYgciA8IEkzODdfWU1NRU5ESF9SRUdOVU0gKHRkZXApKQ0KPiArICAgIHsNCj4gKyAgICAg IGNvbnRleHRfb2Zmc2V0ID0gKGNoYXIgKikgbG9jYXRlX3hzdGF0ZV9mZWF0dXJlDQo+ICsJKGNv bnRleHQsIFg4Nl9YU1RBVEVfQVZYX0lELCBudWxscHRyKTsNCj4gKyAgICAgIGNvbnRleHRfb2Zm c2V0ICs9IDE2ICogKHIgLSBJMzg3X1lNTTBIX1JFR05VTSAodGRlcCkpOw0KPiArICAgIH0NCj4g ICAgZWxzZQ0KPiAgICAgIGdkYl9hc3NlcnRfbm90X3JlYWNoZWQgKCJpbnZhbGlkIHJlZ2lzdGVy IG51bWJlciAlZCIsIHIpOw0KPiANCj4gQEAgLTI2Nyw3ICsyOTUsNyBAQCB4ODZfd2luZG93c19u YXRfdGFyZ2V0OjpmZXRjaF9vbmVfcmVnaXN0ZXIgKHN0cnVjdA0KPiByZWdjYWNoZSAqcmVnY2Fj aGUsDQo+ICAgIGNoYXIgKmNvbnRleHRfb2Zmc2V0DQo+ICAgICAgPSB4ODZfd2luZG93c19wcm9j ZXNzLndpdGhfY29udGV4dCAodGgsIFsmXSAoYXV0byAqY29udGV4dCkNCj4gICAgICB7DQo+IC0g ICAgICByZXR1cm4gZ2V0X2NvbnRleHRfcmVnX3B0ciAoY29udGV4dCwgcik7DQo+ICsgICAgICBy ZXR1cm4gZ2V0X2NvbnRleHRfcmVnX3B0ciAoY29udGV4dCwgciwgdGRlcCk7DQo+ICAgICAgfSk7 DQo+IA0KPiAgICBnZGJfYXNzZXJ0ICghZ2RiYXJjaF9yZWFkX3BjX3AgKGdkYmFyY2gpKTsNCj4g QEAgLTMzMyw3ICszNjEsNyBAQCB4ODZfd2luZG93c19uYXRfdGFyZ2V0OjpzdG9yZV9vbmVfcmVn aXN0ZXIgKGNvbnN0DQo+IHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsDQo+ICAgICAgPSB4ODZf d2luZG93c19wcm9jZXNzLndpdGhfY29udGV4dCAodGgsIFsmXSAoYXV0byAqY29udGV4dCkNCj4g ICAgICB7DQo+ICAgICAgICBnZGJfYXNzZXJ0IChjb250ZXh0LT5Db250ZXh0RmxhZ3MgIT0gMCk7 DQo+IC0gICAgICByZXR1cm4gZ2V0X2NvbnRleHRfcmVnX3B0ciAoY29udGV4dCwgcik7DQo+ICsg ICAgICByZXR1cm4gZ2V0X2NvbnRleHRfcmVnX3B0ciAoY29udGV4dCwgciwgdGRlcCk7DQo+ICAg ICAgfSk7DQo+IA0KPiAgICAvKiBHREIgdHJlYXRzIHNvbWUgcmVnaXN0ZXJzIGFzIDMyLWJpdCwg d2hlcmUgdGhleSBhcmUgaW4gZmFjdCBvbmx5DQo+IEBAIC0zNjgsNiArMzk2LDIzIEBAIHg4Nl93 aW5kb3dzX25hdF90YXJnZXQ6OmlzX3N3X2JyZWFrcG9pbnQgKGNvbnN0DQo+IEVYQ0VQVElPTl9S RUNPUkQgKmVyKSBjb25zdA0KPiAgCSAgfHwgZXItPkV4Y2VwdGlvbkNvZGUgPT0gU1RBVFVTX1dY ODZfQlJFQUtQT0lOVCk7DQo+ICB9DQo+IA0KDQpBZGQNCg0KLyogU2VlIHRhcmdldC5oLiAgKi8N Cg0KPiArY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICoNCj4gK3g4Nl93aW5kb3dzX25hdF90YXJn ZXQ6OnJlYWRfZGVzY3JpcHRpb24gKCkNCj4gK3sNCj4gKyAgaWYgKGluZmVyaW9yX3B0aWQgPT0g bnVsbF9wdGlkKQ0KPiArICAgIHJldHVybiB0aGlzLT5iZW5lYXRoICgpLT5yZWFkX2Rlc2NyaXB0 aW9uICgpOw0KPiArDQo+ICsgIGlmICh4c3RhdGVfZmVhdHVyZXMgPT0gMCkNCj4gKyAgICByZXR1 cm4gbnVsbHB0cjsNCj4gKw0KPiArI2lmZGVmIF9feDg2XzY0X18NCj4gKyAgaWYgKCF4ODZfd2lu ZG93c19wcm9jZXNzLndvdzY0X3Byb2Nlc3MpDQo+ICsgICAgcmV0dXJuIGFtZDY0X3RhcmdldF9k ZXNjcmlwdGlvbiAoeHN0YXRlX2ZlYXR1cmVzLCBmYWxzZSk7DQo+ICsgIGVsc2UNCj4gKyNlbmRp Zg0KPiArICAgIHJldHVybiBpMzg2X3RhcmdldF9kZXNjcmlwdGlvbiAoeHN0YXRlX2ZlYXR1cmVz LCBmYWxzZSk7DQo+ICt9DQo+ICsNCj4gIC8qIEhhcmR3YXJlIHdhdGNocG9pbnQgc3VwcG9ydCwg YWRhcHRlZCBmcm9tIGdvMzItbmF0LmMgY29kZS4gICovDQo+IA0KPiAgLyogUGFzcyB0aGUgYWRk cmVzcyBBRERSIHRvIHRoZSBpbmZlcmlvciBpbiB0aGUgSSd0aCBkZWJ1ZyByZWdpc3Rlci4NCj4g ZGlmZiAtLWdpdCBhL2dkYnNlcnZlci93aW4zMi1pMzg2LWxvdy5jYyBiL2dkYnNlcnZlci93aW4z Mi1pMzg2LWxvdy5jYw0KPiBpbmRleCBiNzdmNmFkYzZlZC4uMWE0NWIxNWUwY2YgMTAwNjQ0DQo+ IC0tLSBhL2dkYnNlcnZlci93aW4zMi1pMzg2LWxvdy5jYw0KPiArKysgYi9nZGJzZXJ2ZXIvd2lu MzItaTM4Ni1sb3cuY2MNCj4gQEAgLTI1Myw2ICsyNTMsMTEgQEAgaTM4Nl9nZXRfdGhyZWFkX2Nv bnRleHQgKHdpbmRvd3NfdGhyZWFkX2luZm8NCj4gKnRoKQ0KPiAgCQkJICAgICAgIHwgV2luZG93 c0NvbnRleHQ8ZGVjbHR5cGUoY29udGV4dCk+OjpmbG9hdGluZw0KPiAgCQkJICAgICAgIHwgV2lu ZG93c0NvbnRleHQ8ZGVjbHR5cGUoY29udGV4dCk+OjpkZWJ1Zw0KPiAgCQkJICAgICAgIHwgZXh0 ZW5kZWRfcmVnaXN0ZXJzKTsNCj4gKyAgICAgIGlmICh4c3RhdGVfZmVhdHVyZXMgIT0gMCkNCj4g Kwl7DQo+ICsJICBjb250ZXh0LT5Db250ZXh0RmxhZ3MgfD0gQ09OVEVYVF9YU1RBVEVfRkxBRzsN Cj4gKwkgIHNldF94c3RhdGVfZmVhdHVyZXNfbWFzayAoY29udGV4dCwgeHN0YXRlX2ZlYXR1cmVz KTsNCj4gKwl9DQo+IA0KPiAgICAgICAgQk9PTCByZXQgPSBnZXRfdGhyZWFkX2NvbnRleHQgKHRo LT5oLCBjb250ZXh0KTsNCj4gICAgICAgIGlmICghcmV0KQ0KPiBAQCAtMjY3LDYgKzI3Miw4IEBA IGkzODZfZ2V0X3RocmVhZF9jb250ZXh0ICh3aW5kb3dzX3RocmVhZF9pbmZvICp0aCkNCj4gDQo+ ICAJICBlcnJvciAoXygiR2V0VGhyZWFkQ29udGV4dCBmYWlsdXJlICVsZFxuIiksIChsb25nKSBl KTsNCj4gIAl9DQo+ICsNCj4gKyAgICAgIHRoLT56ZXJvX3hzdGF0ZV9mZWF0dXJlcyAoKTsNCj4g ICAgICB9KTsNCj4gIH0NCj4gDQo+IEBAIC0yOTIsNiArMjk5LDE3IEBAIGkzODZfcHJlcGFyZV90 b19yZXN1bWUgKHdpbmRvd3NfdGhyZWFkX2luZm8NCj4gKnRoKQ0KPiANCj4gICAgICAgIHRoLT5k ZWJ1Z19yZWdpc3RlcnNfY2hhbmdlZCA9IGZhbHNlOw0KPiAgICAgIH0NCj4gKw0KPiArICB3aW5k b3dzX3Byb2Nlc3Mud2l0aF9jb250ZXh0ICh0aCwgWyZdIChhdXRvICpjb250ZXh0KQ0KPiArICAg IHsNCj4gKyAgICAgIERXT1JEIGRlYnVnX3JlZ2lzdGVycyA9IFdpbmRvd3NDb250ZXh0PGRlY2x0 eXBlKGNvbnRleHQpPjo6ZGVidWc7DQo+ICsgICAgICBpZiAoeHN0YXRlX2ZlYXR1cmVzICE9IDAN Cj4gKwkgICYmIChjb250ZXh0LT5Db250ZXh0RmxhZ3MgJiB+ZGVidWdfcmVnaXN0ZXJzKSAhPSAw KQ0KPiArCXsNCj4gKwkgIGNvbnRleHQtPkNvbnRleHRGbGFncyB8PSBDT05URVhUX1hTVEFURV9G TEFHOw0KPiArCSAgc2V0X3hzdGF0ZV9mZWF0dXJlc19tYXNrIChjb250ZXh0LCB4c3RhdGVfZmVh dHVyZXMpOw0KPiArCX0NCj4gKyAgICB9KTsNCj4gIH0NCj4gDQo+ICBzdGF0aWMgdm9pZA0KPiBA QCAtNDc3LDI2ICs0OTUsNDAgQEAgaXNfc2VnbWVudF9yZWdpc3RlciAoaW50IHIpDQo+IA0KPiAg dGVtcGxhdGU8dHlwZW5hbWUgQ29udGV4dD4NCj4gIHN0YXRpYyBjaGFyICoNCj4gLWdldF9jb250 ZXh0X3JlZ19wdHIgKENvbnRleHQgKmNvbnRleHQsIGludCByKQ0KPiArZ2V0X2NvbnRleHRfcmVn X3B0ciAoQ29udGV4dCAqY29udGV4dCwgaW50IHIsIGNvbnN0IHRhcmdldF9kZXNjICp0ZGVzYykN Cj4gIHsNCj4gICAgY29uc3QgaW50ICptYXBwaW5nczsNCj4gICAgaW50IG1hcHBpbmdzX2NvdW50 Ow0KPiArICBib29sIGFtZDY0Ow0KPiAgI2lmZGVmIF9feDg2XzY0X18NCj4gICAgaWYgKCF3aW5k b3dzX3Byb2Nlc3Mud293NjRfcHJvY2VzcykNCj4gICAgICB7DQo+ICAgICAgICBtYXBwaW5ncyA9 IGFtZDY0X21hcHBpbmdzOw0KPiAgICAgICAgbWFwcGluZ3NfY291bnQgPSBzaXplb2YgKGFtZDY0 X21hcHBpbmdzKSAvIHNpemVvZg0KPiAoYW1kNjRfbWFwcGluZ3NbMF0pOw0KPiArICAgICAgYW1k NjQgPSB0cnVlOw0KPiAgICAgIH0NCj4gICAgZWxzZQ0KPiAgI2VuZGlmDQo+ICAgICAgew0KPiAg ICAgICAgbWFwcGluZ3MgPSBpMzg2X21hcHBpbmdzOw0KPiAgICAgICAgbWFwcGluZ3NfY291bnQg PSBzaXplb2YgKGkzODZfbWFwcGluZ3MpIC8gc2l6ZW9mIChpMzg2X21hcHBpbmdzWzBdKTsNCj4g KyAgICAgIGFtZDY0ID0gZmFsc2U7DQo+ICAgICAgfQ0KPiANCj4gKyAgaW50IHltbTBoX3JlZ251 bTsNCj4gKyAgY29uc3QgaW50IG51bV94bW1fcmVnaXN0ZXJzID0gYW1kNjQgPyAxNiA6IDg7DQo+ ICsNCj4gICAgY2hhciAqY29udGV4dF9vZmZzZXQ7DQo+ICAgIGlmIChyIDwgbWFwcGluZ3NfY291 bnQpDQo+ICAgICAgY29udGV4dF9vZmZzZXQgPSAoY2hhciAqKSBjb250ZXh0ICsgbWFwcGluZ3Nb cl07DQo+ICsgIGVsc2UgaWYgKCh4c3RhdGVfZmVhdHVyZXMgJiBYODZfWFNUQVRFX0FWWCkgIT0g MA0KPiArCSAgICYmIHIgPj0gKHltbTBoX3JlZ251bSA9IGZpbmRfcmVnbm8gKHRkZXNjLCAieW1t MGgiKSkNCj4gKwkgICAmJiByIDwgeW1tMGhfcmVnbnVtICsgbnVtX3htbV9yZWdpc3RlcnMpDQo+ ICsgICAgew0KPiArICAgICAgY29udGV4dF9vZmZzZXQgPSAoY2hhciAqKSBsb2NhdGVfeHN0YXRl X2ZlYXR1cmUNCj4gKwkoY29udGV4dCwgWDg2X1hTVEFURV9BVlhfSUQsIG51bGxwdHIpOw0KDQpX ZSBkb24ndCBjaGVjayAiY29udGV4dF9vZmZzZXQiIGZvciBudWxsdHByIGJlZm9yZSBhZGRpbmcg dGhlIG9mZnNldHMuIFdlJ3JlDQpjaGVja2luZyBmb3IgbnVsbHB0ciBhbmQgc2l6ZSBleHBsaWNp dGx5IGluICJ6ZXJvX3hzdGF0ZV9mZWF0dXJlcyIuICBTbywgSSB3YXMNCndvbmRlcmluZyBpZiB3 ZSBzaG91bGQgYWRkIGNoZWNrcyBoZXJlLCB0b28uICBJSVVDLCBpdCBzaG91bGQgbm90IGJlIHBv c3NpYmxlDQp0byBoYXZlICJsb2NhdGVfeHN0YXRlX2ZlYXR1cmUgKCkgPT0gbnVsbHB0ciIgYXQg dGhpcyBwb2ludC4gIE1heWJlIGFkZCBhbg0KYXNzZXJ0IGZvciBjb25zaXN0ZW5jeT8NCg0KPiAr ICAgICAgY29udGV4dF9vZmZzZXQgKz0gMTYgKiAociAtIHltbTBoX3JlZ251bSk7DQo+ICsgICAg fQ0KPiAgICBlbHNlDQo+ICAgICAgZ2RiX2Fzc2VydF9ub3RfcmVhY2hlZCAoImludmFsaWQgcmVn aXN0ZXIgbnVtYmVyICVkIiwgcik7DQo+IA0KPiBAQCAtNTEwLDcgKzU0Miw3IEBAIGkzODZfZmV0 Y2hfaW5mZXJpb3JfcmVnaXN0ZXIgKHN0cnVjdCByZWdjYWNoZQ0KPiAqcmVnY2FjaGUsDQo+ICB7 DQo+ICAgIGNoYXIgKmNvbnRleHRfb2Zmc2V0ID0gd2luZG93c19wcm9jZXNzLndpdGhfY29udGV4 dCAodGgsIFsmXSAoYXV0bw0KPiAqY29udGV4dCkNCj4gICAgICB7DQo+IC0gICAgICByZXR1cm4g Z2V0X2NvbnRleHRfcmVnX3B0ciAoY29udGV4dCwgcik7DQo+ICsgICAgICByZXR1cm4gZ2V0X2Nv bnRleHRfcmVnX3B0ciAoY29udGV4dCwgciwgcmVnY2FjaGUtPnRkZXNjKTsNCj4gICAgICB9KTsN Cj4gDQo+ICAgIC8qIEdEQiB0cmVhdHMgc29tZSByZWdpc3RlcnMgYXMgMzItYml0LCB3aGVyZSB0 aGV5IGFyZSBpbiBmYWN0IG9ubHkNCj4gQEAgLTUzOCw3ICs1NzAsNyBAQCBpMzg2X3N0b3JlX2lu ZmVyaW9yX3JlZ2lzdGVyIChzdHJ1Y3QgcmVnY2FjaGUNCj4gKnJlZ2NhY2hlLA0KPiAgew0KPiAg ICBjaGFyICpjb250ZXh0X29mZnNldCA9IHdpbmRvd3NfcHJvY2Vzcy53aXRoX2NvbnRleHQgKHRo LCBbJl0gKGF1dG8NCj4gKmNvbnRleHQpDQo+ICAgICAgew0KPiAtICAgICAgcmV0dXJuIGdldF9j b250ZXh0X3JlZ19wdHIgKGNvbnRleHQsIHIpOw0KPiArICAgICAgcmV0dXJuIGdldF9jb250ZXh0 X3JlZ19wdHIgKGNvbnRleHQsIHIsIHJlZ2NhY2hlLT50ZGVzYyk7DQo+ICAgICAgfSk7DQo+IA0K PiAgICAvKiBHREIgdHJlYXRzIHNvbWUgcmVnaXN0ZXJzIGFzIDMyLWJpdCwgd2hlcmUgdGhleSBh cmUgaW4gZmFjdCBvbmx5DQo+IEBAIC01NzEsMTQgKzYwMywxNyBAQCBpMzg2X2FyY2hfc2V0dXAg KHZvaWQpDQo+ICB7DQo+ICAgdGFyZ2V0X2Rlc2NfdXAgdGRlc2M7DQo+IA0KPiArICBEV09SRDY0 IHhjcjAgPSB4c3RhdGVfZmVhdHVyZXM7DQo+ICsgIGlmICh4Y3IwID09IDApDQo+ICsgICAgeGNy MCA9IFg4Nl9YU1RBVEVfU1NFX01BU0s7DQo+ICsNCj4gICNpZmRlZiBfX3g4Nl82NF9fDQo+IC0g IHRkZXNjID0gYW1kNjRfY3JlYXRlX3RhcmdldF9kZXNjcmlwdGlvbiAoWDg2X1hTVEFURV9TU0Vf TUFTSywgZmFsc2UsDQo+IC0JCQkJCSAgIGZhbHNlLCBmYWxzZSk7DQo+ICsgIHRkZXNjID0gYW1k NjRfY3JlYXRlX3RhcmdldF9kZXNjcmlwdGlvbiAoeGNyMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7 DQo+ICAgIGluaXRfdGFyZ2V0X2Rlc2MgKHRkZXNjLmdldCAoKSwgYW1kNjRfZXhwZWRpdGVfcmVn cywgV0lORE9XU19PU0FCSSk7DQo+ICAgIHdpbjMyX3RkZXNjID0gc3RkOjptb3ZlICh0ZGVzYyk7 DQo+ICAjZW5kaWYNCj4gDQo+IC0gIHRkZXNjID0gaTM4Nl9jcmVhdGVfdGFyZ2V0X2Rlc2NyaXB0 aW9uIChYODZfWFNUQVRFX1NTRV9NQVNLLCBmYWxzZSwNCj4gZmFsc2UpOw0KPiArICB0ZGVzYyA9 IGkzODZfY3JlYXRlX3RhcmdldF9kZXNjcmlwdGlvbiAoeGNyMCwgZmFsc2UsIGZhbHNlKTsNCj4g ICAgaW5pdF90YXJnZXRfZGVzYyAodGRlc2MuZ2V0ICgpLCBpMzg2X2V4cGVkaXRlX3JlZ3MsIFdJ TkRPV1NfT1NBQkkpOw0KPiAgI2lmZGVmIF9feDg2XzY0X18NCj4gICAgd293NjRfd2luMzJfdGRl c2MgPSBzdGQ6Om1vdmUgKHRkZXNjKTsNCj4gZGlmZiAtLWdpdCBhL2dkYnNlcnZlci93aW4zMi1s b3cuY2MgYi9nZGJzZXJ2ZXIvd2luMzItbG93LmNjDQo+IGluZGV4IDExMDNhODAyZGI3Li4zZTgw NDA1ZjY1MSAxMDA2NDQNCj4gLS0tIGEvZ2Ric2VydmVyL3dpbjMyLWxvdy5jYw0KPiArKysgYi9n ZGJzZXJ2ZXIvd2luMzItbG93LmNjDQo+IEBAIC0zMyw2ICszMyw3IEBADQo+ICAjaW5jbHVkZSA8 cHJvY2Vzcy5oPg0KPiAgI2luY2x1ZGUgImdkYnN1cHBvcnQvZ2RiX3RpbGRlX2V4cGFuZC5oIg0K PiAgI2luY2x1ZGUgImdkYnN1cHBvcnQvY29tbW9uLWluZmVyaW9yLmgiDQo+ICsjaW5jbHVkZSAi dGRlc2MuaCINCj4gDQo+ICB1c2luZyBuYW1lc3BhY2Ugd2luZG93c19uYXQ7DQo+IA0KPiBAQCAt NDI3LDggKzQyOCw5IEBAIGNoaWxkX2ZldGNoX2luZmVyaW9yX3JlZ2lzdGVycyAoc3RydWN0IHJl Z2NhY2hlDQo+ICpyZWdjYWNoZSwgaW50IHIpDQo+ICAgIGludCByZWdubzsNCj4gICAgd2luZG93 c190aHJlYWRfaW5mbyAqdGggPSB3aW5kb3dzX3Byb2Nlc3MuZmluZF90aHJlYWQgKGN1cnJlbnRf dGhyZWFkLQ0KPiA+aWQpOw0KPiAgICB3aW4zMl9yZXF1aXJlX2NvbnRleHQgKHRoKTsNCj4gLSAg aWYgKHIgPT0gLTEgfHwgciA+IE5VTV9SRUdTKQ0KPiAtICAgIGNoaWxkX2ZldGNoX2luZmVyaW9y X3JlZ2lzdGVycyAocmVnY2FjaGUsIE5VTV9SRUdTKTsNCg0KV2l0aCByICE9IC0xIGFuZCByID4g cmVnY2FjaGUtPnRkZXNjLT5yZWdfZGVmcy5zaXplICgpLCB0aGlzIG1heSBmYWxsIHRocm91Z2gg aW50bw0KImdldF9jb250ZXh0X3JlZ19wdHIiIGFuZCBldmVudHVhbGx5IGludG8gdGhlIGdkYl9h c3NlcnRfbm90X3JlYWNoZWRfcGFydC4NCg0KTWF5YmUgYWRkIGFub3RoZXIgY2hlY2ssIGUuZy4s DQoNCiAgICBpbnQgbnVtX3JlZ3MgPSByZWdjYWNoZS0+dGRlc2MtPnJlZ19kZWZzLnNpemUgKCk7 DQogICAgaWYgKHIgPT0gLTEgfHwgciA+IG51bV9yZWdzKQ0KICAgICAgciA9IG51bV9yZWdzOw0K DQpTYW1lIGZvciBjaGlsZF9zdG9yZV9pbmZlcmlvcl9yZWdpc3RlcnMuDQoNCj4gKyAgaWYgKHIg PT0gLTEpDQo+ICsgICAgY2hpbGRfZmV0Y2hfaW5mZXJpb3JfcmVnaXN0ZXJzIChyZWdjYWNoZSwN Cj4gKwkJCQkgICAgcmVnY2FjaGUtPnRkZXNjLT5yZWdfZGVmcy5zaXplICgpKTsNCj4gICAgZWxz ZQ0KPiAgICAgIGZvciAocmVnbm8gPSAwOyByZWdubyA8IHI7IHJlZ25vKyspDQo+ICAgICAgICAo KnRoZV9sb3dfdGFyZ2V0LmZldGNoX2luZmVyaW9yX3JlZ2lzdGVyKSAocmVnY2FjaGUsIHRoLCBy ZWdubyk7DQo+IEBAIC00NDIsOCArNDQ0LDkgQEAgY2hpbGRfc3RvcmVfaW5mZXJpb3JfcmVnaXN0 ZXJzIChzdHJ1Y3QgcmVnY2FjaGUNCj4gKnJlZ2NhY2hlLCBpbnQgcikNCj4gICAgaW50IHJlZ25v Ow0KPiAgICB3aW5kb3dzX3RocmVhZF9pbmZvICp0aCA9IHdpbmRvd3NfcHJvY2Vzcy5maW5kX3Ro cmVhZCAoY3VycmVudF90aHJlYWQtDQo+ID5pZCk7DQo+ICAgIHdpbjMyX3JlcXVpcmVfY29udGV4 dCAodGgpOw0KPiAtICBpZiAociA9PSAtMSB8fCByID09IDAgfHwgciA+IE5VTV9SRUdTKQ0KPiAt ICAgIGNoaWxkX3N0b3JlX2luZmVyaW9yX3JlZ2lzdGVycyAocmVnY2FjaGUsIE5VTV9SRUdTKTsN Cj4gKyAgaWYgKHIgPT0gLTEgfHwgciA9PSAwKQ0KPiArICAgIGNoaWxkX3N0b3JlX2luZmVyaW9y X3JlZ2lzdGVycyAocmVnY2FjaGUsDQo+ICsJCQkJICAgIHJlZ2NhY2hlLT50ZGVzYy0+cmVnX2Rl ZnMuc2l6ZSAoKSk7DQo+ICAgIGVsc2UNCj4gICAgICBmb3IgKHJlZ25vID0gMDsgcmVnbm8gPCBy OyByZWdubysrKQ0KPiAgICAgICAgKCp0aGVfbG93X3RhcmdldC5zdG9yZV9pbmZlcmlvcl9yZWdp c3RlcikgKHJlZ2NhY2hlLCB0aCwgcmVnbm8pOw0KPiBAQCAtMTM0Nyw3ICsxMzUwLDkgQEAgdm9p ZA0KPiAgaW5pdGlhbGl6ZV9sb3cgKHZvaWQpDQo+ICB7DQo+ICAgIHNldF90YXJnZXRfb3BzICgm dGhlX3dpbjMyX3RhcmdldCk7DQo+IC0gIHRoZV9sb3dfdGFyZ2V0LmFyY2hfc2V0dXAgKCk7DQo+ IA0KPiAgICBpbml0aWFsaXplX2xvYWRhYmxlICgpOw0KPiArICAvKiBIYXMgdG8gYmUgZG9uZSBh ZnRlciBpbml0aWFsaXplX2xvYWRhYmxlLCBiZWNhdXNlIGl0IHVzZXMgdGhlIHhzdGF0ZQ0KPiAr ICAgICBmdW5jdGlvbnMgaWYgYXZhaWxhYmxlLiAgKi8NCj4gKyAgdGhlX2xvd190YXJnZXQuYXJj aF9zZXR1cCAoKTsNCj4gIH0NCj4gLS0NCj4gMi41NS4wDQoNCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18NCkludGVsIERldXRzY2hsYW5kIEdtYkggDQoNClJlZ2lzdGVy ZWQgQWRkcmVzczogRG9ybmFjaGVyIFN0cmFzc2UgMSwgODU2MjIgRmVsZGtpcmNoZW4sIEdlcm1h bnkgDQoNClRlbDogKzQ5ICg4OSkgOTkxNDMtMCANCg0Kd3d3LmludGVsLmRlIA0KDQpNYW5hZ2lu ZyBEaXJlY3RvcnM6IENhbmRpY2UgTW9vcmUsIEplZmZyZXkgU2NobmVpZGVybWFuLCBSYW1hY2hh bmRyYW4gU2l0YXJhbWFuDQoNCkNoYWlycGVyc29uIG9mIHRoZSBTdXBlcnZpc29yeSBCb2FyZDog U29uamEgUGllcmVyDQoNClJlZ2lzdGVyZWQgU2VhdDogTXVuaWNoIENvbW1lcmNpYWwgUmVnaXN0 ZXIgQjogQW10c2dlcmljaHQgTXVuaWNoIEhSQiAxODY5MjgNCg0KVGhpcyBlLW1haWwgYW5kIGFu eSBhdHRhY2htZW50cyBtYXkgY29udGFpbiBjb25maWRlbnRpYWwgbWF0ZXJpYWwgZm9yDQp0aGUg c29sZSB1c2Ugb2YgdGhlIGludGVuZGVkIHJlY2lwaWVudChzKS4gQW55IHJldmlldyBvciBkaXN0 cmlidXRpb24NCmJ5IG90aGVycyBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLiBJZiB5b3UgYXJlIG5v dCB0aGUgaW50ZW5kZWQNCnJlY2lwaWVudCwgcGxlYXNlIGNvbnRhY3QgdGhlIHNlbmRlciBhbmQg ZGVsZXRlIGFsbCBjb3BpZXMuCg==