From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by sourceware.org (Postfix) with ESMTPS id 7239D3858D32 for ; Thu, 6 Apr 2023 09:44:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7239D3858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1680774280; x=1712310280; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-transfer-encoding; bh=ogzJmv2jwF8zHcgJMA2By6sCAa9AUO2tcijb6til0ic=; b=gkyyvYt7BUt5nE5HN1UKstJTrE0Zad9898AkizXaXcW5ZdBdDz3u4nid 01gtvdnGwTz4ZYCb8GFLY7sfK0p+Rof+/K965TJKmZ5bIj9T7HDdwRJgJ T0RuCOMrMNEQZk5voOdYfjGdZ85PetVIGpj7geKbFXF5OrH9u5n6fajGR 94iXfVNwuF4JZzpxsEOdjv3nPE2TlJclJxnKqUZwX+LBIxhn2hKAJixla y4MGJklhzzR0vHqzh9F8PB7ioyLcmhHRSemz+G4HriUH6MG7zxqxYdtbX KBSDMJqjFKILEOAItYO3XyucqUkyz6gG51mHaYZTJdndKZSYlKNTLRfwk A==; X-IronPort-AV: E=McAfee;i="6600,9927,10671"; a="428978812" X-IronPort-AV: E=Sophos;i="5.98,323,1673942400"; d="scan'208";a="428978812" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Apr 2023 02:44:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10671"; a="830687855" X-IronPort-AV: E=Sophos;i="5.98,323,1673942400"; d="scan'208";a="830687855" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga001.fm.intel.com with ESMTP; 06 Apr 2023 02:44:39 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Thu, 6 Apr 2023 02:44:39 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Thu, 6 Apr 2023 02:44:38 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Thu, 6 Apr 2023 02:44:38 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.43) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Thu, 6 Apr 2023 02:44:36 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lKBEBy0g/o+p9VaVKsU644Z6COuWFO6J2bd9/1o1MGZAcAhB5y8/c00Y84Z0zZUg8TmhlxwHxrsFRI2AZ/u/Jz0T/yrPjUHQyy3PQtMoP5OeLjp/ygVi3RkVpjbdX7Wjb5S0Ao4CRTUDxOOPSFfSJI6e5sHhl28IXimAjsFC/7VQ/vKgkxtz4sP0/w8rIV4/cTzxINw13qnkdAWfMcmvo92xe57/wL7BKwe3q9zC6qxj4de0gPtjj6qwLDzfKtcPEKbGPwA6LejxrwjxZsFf2vCopAAyuIZkMWWdPERbVLi92MUib0MNeBu4tYSA5wJpY44d6sObzno8Ixyhev7mUw== 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=0Yy1Q5Njf0G0nWeuWZ5IK0Z5PBTw5LgDz+tgLzC/VwY=; b=AODzBby/wH77eYdGUNKP0THHu587S83SCk4AUAp6Zah6pyXyQ8NZNxJXJj8gsKruIPY9a76YHU/IgW5C4v6+77o9dPX+V1DFcDgDgPRN/hdvDzLkNNyAFSP0YVPEaGwbW+nAvCfKSmOAmiqlNlKwn6KK1g7y0DGGNnjL6SU9Gs3b77dY7jS19D0gT3/+QMcj2ajKLOiNsDsh6u+W69GgMSADz3tjSX1EHHH8PNR2zd6jyxLLbiVYzuQSF2HMThTsVAbKiS3QwjvWJ4cql9iTz1Jq+vGqNz0UhWbxHL/HOVS9OAzC9Tl0b7NA4uv4OzuBHyUbGjYxXIc8Ubju2h0ukQ== 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 MN2PR11MB4566.namprd11.prod.outlook.com (2603:10b6:208:24e::16) by CO1PR11MB5026.namprd11.prod.outlook.com (2603:10b6:303:9c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.35; Thu, 6 Apr 2023 09:44:34 +0000 Received: from MN2PR11MB4566.namprd11.prod.outlook.com ([fe80::4183:b193:7a77:3af2]) by MN2PR11MB4566.namprd11.prod.outlook.com ([fe80::4183:b193:7a77:3af2%4]) with mapi id 15.20.6254.035; Thu, 6 Apr 2023 09:44:34 +0000 From: "Willgerodt, Felix" To: Simon Marchi , "gdb-patches@sourceware.org" CC: "Metzger, Markus T" Subject: RE: [PATCH v8 09/10] btrace, python: Enable ptwrite filter registration. Thread-Topic: [PATCH v8 09/10] btrace, python: Enable ptwrite filter registration. Thread-Index: AQHZXAx57drYN+SYxkSs1o5oHay8hq8KEQEAgASDlJCAC42hgIABFfcggAAdwYCAAT6kgIAArU6AgADWzOA= Date: Thu, 6 Apr 2023 09:44:33 +0000 Message-ID: References: <20230321154626.448816-1-felix.willgerodt@intel.com> <20230321154626.448816-10-felix.willgerodt@intel.com> <274306f0-79a8-f6bd-51a1-bc53b2245b6b@simark.ca> In-Reply-To: <274306f0-79a8-f6bd-51a1-bc53b2245b6b@simark.ca> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR11MB4566:EE_|CO1PR11MB5026:EE_ x-ms-office365-filtering-correlation-id: 9300db61-b1a2-45e6-5e42-08db36838731 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KMpyypnqt4FW/Is0ESpWaWKyO5P4muxkS/G8f0k4CRueAjssQG4HbttGaQ2zsUTkCQTNlvW6GFtJy3YQTSDgsrFBKKV8LmnZ6dcI9AWOX3kLKDjWuQH2Mqw9iukxQhAWcnKJydf5YQBpZLdz6XX4yssxuLBQ+wnZFV2foVAPf5VAU0wSKQeSKyQGEYqOKkonILC4Z3DqtV/08uQmCsTPqj2avxzEaK9B+zx7nZ2cDnS6hBz+ypPQBh+CiJYJdNnqinGxh7Y+g1pFbypPz50aXSzwaK5d7cNpgeRNO28Zsn+d/WDb7wxgJbehDqF69vfEePpyQSsjgdlxT+pAT8OnMPlwLoQtwLav1cTsosA1pSxxiSKh/mA2LDWITwu85xcRGOBS45GAYt7z+BfxbgHqWOBTxZHo+WaP98ExJOOz7WKkrAeq4Jn6KmHrj/qrMZRvneIzYxltys6b2jv0vcRtkWDxYaf8c+GARlYdjQCyOwV3zm5WLUE6s3SylZGGAmgeKa5yyQwO5wsoZ4R2IQF8564ErXFGcX9kroglxUzyMzMGWIZaTE3G93Orv4XgBbc1JQarVIN9OE5GpZO0Gnx+01+aAlfJT6HWZAFU8Bfl5Ps6vPYs4r/kkMAZp4ReGLdq x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4566.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(396003)(136003)(376002)(346002)(451199021)(66556008)(66476007)(66446008)(66946007)(64756008)(76116006)(4326008)(8676002)(110136005)(186003)(2906002)(316002)(41300700001)(478600001)(8936002)(52536014)(5660300002)(7696005)(71200400001)(107886003)(122000001)(53546011)(6506007)(26005)(9686003)(83380400001)(55016003)(82960400001)(86362001)(33656002)(38100700002)(38070700005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OGI0V3FiT3ZTampVUUI1SGpaakJpeG5JMmxqV082VWhUaFEwSnR2OG9TUkx2?= =?utf-8?B?TkFUU0pBYkNCbmY4VkNFbVI3aWlTS1ZaY0xoTFg5dVRiMmU0VWxwOFdVN1VU?= =?utf-8?B?aXo3bFM2TDBIN2RzUHc3MjY5SGFBMC9zeG5HSHh2T1BoVGNiNExUemRlVFNa?= =?utf-8?B?VHpZcG5TanN1U3ZsWWNLekhVTlFJODBwR1E1dGxuNzZqdk5uVFdUbFg4Q2xC?= =?utf-8?B?VmRUV01lWE8xeW9GdWpZc2wyMElxNS85UG9STWRrdHNIbmFLRUcveGxJV2Ju?= =?utf-8?B?SUc5dHBLb0tpOXRHcjVuMUNCbVBDcGZZWmRVY2hHSytkVTlDZVdNbmlEdTNZ?= =?utf-8?B?SkxTaXRsSFBjOTVCSmJzbVhrSEFHdlVvK3N5ZlZYdm1sSlFJejlHQmRxQmdm?= =?utf-8?B?enlDREIwMTBaL3BIYkREeU02WlJwQ0FwTCtOV2xNSEtXZjBkNHVEenZpNFoy?= =?utf-8?B?bHB5Yll1dDFoVjl0eTBUU25jY2lUOTc4Z3J4VzB0WkljWDVFaTduZDBkaXNy?= =?utf-8?B?YzFtMXgxek1PVXNBZDFacXQzWUlLejF3VmRoU3RBMTc2aUJqL2wwMlVwdTB2?= =?utf-8?B?TXFSVWEzQk9iK090dHcwb2ppVkNUTDFSU3FKNEtMRGxZWi82RGV3TmFibjll?= =?utf-8?B?SHdhak9uVkFoWmFaeUtVV2hkcjdLdDVCSGpLcWVaVjhBdW5vSjlmekhMVmlT?= =?utf-8?B?L1RaZzRSYVE0bXV0dHNZaXZOQVdvMG04T2NpcnAyMElBY2ZjMlQwdDBrbjZ2?= =?utf-8?B?VS9UVjFSb1M1RGlIZ2xuUDdvYzhrcGJxa0lQSzJoSFZINHFGbC9OdWcrN0c4?= =?utf-8?B?aXRXcnE3MzFsV0dHU3p0V0FhaytFUlFLZThaMCtuZTJhTVZUSGNRbG80bHJP?= =?utf-8?B?N0xFYUZFTlF5U2NvRFFINUpoZW9wWTcwVHk1RDgxVUhEZzRhdjc4S21kZXhS?= =?utf-8?B?QjNtVkF2Q0ZkaHNhWnd5MUpJc2JSMnNScGt2MG1MVWtpVDRzZE5RVDcvNGNU?= =?utf-8?B?eDhGQ1U0QXJMS0twVXpYdmZjUzFwUWZLR2F3dUlnd3BESFVJd2pHY1lKcHIz?= =?utf-8?B?dnJUeVo2bk9xdDVJb01kc3M4U3VLWStjb0ZJM2JHYkwxbzRnaWp2Q0IvVm5W?= =?utf-8?B?VWpIbVJQS3RPNEM5L3JqVUpJNTJWL1UyR2VCZk5EM2ZzNXZIcmp3Vzk5a1Zi?= =?utf-8?B?emdCRE9wU2p0VWw3ZnppNkIyNVRsNDFiSE9KNEtMb3d3NFhmbTNmdm55L3dM?= =?utf-8?B?SVNhZmR5ZnQ1dFVtd3NnT2wwT2E0QVM3SlBDT0ljODF4QmQrVlFRR0Zhclhr?= =?utf-8?B?L09vMHRpbzgyOXdtWWdiRUFXSXNBV2JlMGl3WXJxRVBNTThHOHlPS01WY25L?= =?utf-8?B?UnV3R243UTVvTlhIZ3Z3ckk1ZjJOWkQrSUJJcW5tTENsdmlIOFY3UG8yeGdl?= =?utf-8?B?cFBFMGVEWmZwWDBWZWdZU2ova1cweU1qVjZ4YldpcW1NVkZaU2ZuN1NrdTNv?= =?utf-8?B?MWVIcWdCdjk3Y29nOTU1c3BkL2x1VUZDUzltUzZySFNHYmpKYVJ5MU1UNzcy?= =?utf-8?B?TXJoU1ppejZsY0RHdHBua05aY1RXZEJ2Z1JiL2UxMVlYM0VoaXdLNGtISUIx?= =?utf-8?B?TXlDRzR3aUYxMHpzeFNvMjQwVktDQlIxbCtlcUFwdkJiZlQ1M2FNOHZSZEt6?= =?utf-8?B?NmJwWDFlNjJDWlNjMmhaNUkzK3RsdlB3UzV0bEVmOXY2S1YwZnNFQ1JVcWNZ?= =?utf-8?B?Unkyb1VsRm82ODY4NXVqQUhHclFycTBsWDRUcGY2bENFV2ptV3lDbWM1TUZq?= =?utf-8?B?emNWWUFFRDNkZ0p6eG9rdDJFd2wrRzl3bGFhZVhwZ3dWSHFBL2ZmWFJySkQ0?= =?utf-8?B?ZktyWHNnVVRVL2RWR01EOG9vRmw1d2xtbDJzMVJCRWZTNFZ2TTRLTFN6SXhN?= =?utf-8?B?SjNGZjVzUW9QVEFBaTFVUUh4MmR1YUxvTGRqUTN3MkJhMlhhcXBXcDU3S3RW?= =?utf-8?B?b0U3T2JHcVh3Tm9XT0M1SGJDYmMwM0RyaTNFK2ZsSko2R0o0U3liNG5QYm5h?= =?utf-8?B?am1ud2JDdm1FMEZ2QXpWbVVydmpIT1pDbTVSRVJ6RmVBSm9IbkkvdjcxMm1h?= =?utf-8?B?a0VRVmZhU0N3S0NWWjJjdFlscEpERC9IVnZiVGMySTVxK2tBemtpZUlWS3dz?= =?utf-8?B?enc9PQ==?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4566.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9300db61-b1a2-45e6-5e42-08db36838731 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Apr 2023 09:44:33.9573 (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: 3MzhAA6HujmPpJh5UiX2hBXUpdCAzWp+pYsOgtZkTdMEpjzN7IGXwqxz4CiatwTZ7/1CAjRpNsk0wuZsZ6QyUaE9hvJohQsMEHGWxwtyktQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB5026 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-5.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFNpbW9uIE1hcmNoaSA8c2lt YXJrQHNpbWFyay5jYT4NCj4gU2VudDogTWl0dHdvY2gsIDUuIEFwcmlsIDIwMjMgMjI6MjcNCj4g VG86IFdpbGxnZXJvZHQsIEZlbGl4IDxmZWxpeC53aWxsZ2Vyb2R0QGludGVsLmNvbT47IGdkYi0N Cj4gcGF0Y2hlc0Bzb3VyY2V3YXJlLm9yZw0KPiBDYzogTWV0emdlciwgTWFya3VzIFQgPG1hcmt1 cy50Lm1ldHpnZXJAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY4IDA5LzEwXSBi dHJhY2UsIHB5dGhvbjogRW5hYmxlIHB0d3JpdGUgZmlsdGVyDQo+IHJlZ2lzdHJhdGlvbi4NCj4g DQo+IA0KPiANCj4gT24gNC81LzIzIDA2OjIwLCBXaWxsZ2Vyb2R0LCBGZWxpeCB3cm90ZToNCj4g Pg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IFNpbW9u IE1hcmNoaSA8c2ltYXJrQHNpbWFyay5jYT4NCj4gPj4gU2VudDogRGllbnN0YWcsIDQuIEFwcmls IDIwMjMgMTc6MDYNCj4gPj4gVG86IFdpbGxnZXJvZHQsIEZlbGl4IDxmZWxpeC53aWxsZ2Vyb2R0 QGludGVsLmNvbT47IGdkYi0NCj4gPj4gcGF0Y2hlc0Bzb3VyY2V3YXJlLm9yZw0KPiA+PiBTdWJq ZWN0OiBSZTogW1BBVENIIHY4IDA5LzEwXSBidHJhY2UsIHB5dGhvbjogRW5hYmxlIHB0d3JpdGUg ZmlsdGVyDQo+ID4+IHJlZ2lzdHJhdGlvbi4NCj4gPj4NCj4gPj4+IEkgYWdyZWUgb24gdGhlIGRv YyBwYXJ0LiBJdCB3b3VsZCBpbmRlZWQgYmUgbmljZSB0byB3cml0ZSB0aGlzIGRvd24uDQo+ID4+ Pg0KPiA+Pj4gVGhvdWdoLCBJIHRoaW5rIHlvdSBtaXN1bmRlcnN0b29kIHNvbWUgdGhpbmdzIChv ciBtYXliZSBJIGRpZCkuDQo+ID4+PiBHZGIuY3VycmVudF9yZWNvcmRpbmcoKS5jbGVhcigpLCBh cyBhZGRlZCBpbiBwYXRjaCA1LCBkb2VzIGNsZWFyIG9uIGENCj4gPj4+IHBlci10aHJlYWQgYmFz aXMuIE5vdCBvbiBhIHBlciBpbmZlcmlvciBiYXNpcyBhcyB5b3Ugd3JpdGUuDQo+ID4+PiBCdXQg bWF5YmUgeW91IG1lYW50IF9jbGVhcl90cmFjZXMoKSBoZXJlPyBUaGlzIGlzIHN1cHBvc2VkIHRv IGJlDQo+ID4+PiBhbiBpbnRlcm5hbCBmdW5jdGlvbiwgYXMgdGhlIGxlYWRpbmcgdW5kZXJzY29y ZSBzdWdnZXN0cy4gSXQgaW5kZWVkDQo+ID4+PiBkb2VzIGNsZWFyIGFsbCByZWNvcmRpbmdzIGZv ciBhbGwgdGhyZWFkcy4gQXMgdGhhdCBpcyBuZWVkZWQgZm9yIHB0d3JpdGUsDQo+ID4+PiB3aGlj aCBpcyB0aGUgb25seSBpbnRlbmRlZCB1c2UgY2FzZSBvZiB0aGlzIGludGVybmFsIGZ1bmN0aW9u Lg0KPiA+Pj4NCj4gPj4+IFNvIEkgZG9uJ3QgcXVpdGUgc2VlIHdoYXQgd291bGQgYmUgdW5leHBl Y3RlZC4NCj4gPj4gTXkgbWlzdW5kZXJzdGFuZGluZyBjb21lcyBmcm9tIHdoZXJlIHlvdSBzYWlk Og0KPiA+Pg0KPiA+Pg0KPiA+Pj4gTm90IHN1cmUgaWYgaXQgaXMgd29ydGggZXhpdGluZyBlYXJs eSBwZXIgaW5mZXJpb3IuIEkgY291bGRuJ3QgZmluZA0KPiA+Pj4gYSBzY2VuYXJpbyB3aGVyZSB5 b3UgY2FuIHNlbGVjdGl2ZWx5IHJlY29yZCAob3Igbm90IHJlY29yZCkNCj4gPj4+IG9uZSB0aHJl YWQgb2YgYSBtdWx0aS10aHJlYWRlZCBpbmZlcmlvci4NCj4gPj4NCj4gPj4gQnkgImV4aXRpbmcg ZWFybHkiLCBJIHRob3VnaHQgeW91IG1lYW50IHRoYXQgaXQgd291bGQgYmUgZW5vdWdoIHRvIGNs ZWFyDQo+ID4+IHRoZSBkYXRhIGZvciBvbmUgdGhyZWFkIGluIGVhY2ggaW5mZXJpb3IuDQo+ID4+ DQo+ID4+Pj4gSSB1bmRlcnN0YW5kIHRoYXQgeW91IHdhbnQgdG8gaGF2ZSBvbmUgY29weSBvZiB0 aGUgZmlsdGVyIHBlciB0aHJlYWQuDQo+ID4+Pj4NCj4gPj4+PiBCdXQgZG9pbmcgYSBjb3B5IHNl ZW1zIGxpa2UgYSBzdHJhbmdlIGluc3RhbnRpYXRpb24gc3RyYXRlZ3kuICBUaGUNCj4gPj4+PiAi Z2xvYmFsIiBmaWx0ZXIgaXNuJ3QgZXZlciB1c2VkLCByaWdodD8gIEl0IG9ubHkgc2VydmVzIHRv IG1ha2UgY29waWVzPw0KPiA+Pj4+IEkgdGhpbmsgYSBtb3JlIGNvbW1vbiBwYXR0ZXJuIHdvdWxk IGJlIGZvciB0aGUgdXNlciB0byByZWdpc3RlciBhDQo+ID4+Pj4gZmFjdG9yeSBmdW5jdGlvbiAo cmVhbGx5LCBueSBjYWxsYWJsZSB0aGF0IGZpdHMgdGhlIGJpbGwpIHdoaWNoIHdvdWxkIGJlDQo+ ID4+Pj4gY2FsbGVkIHdoZW5ldmVyIHdlIG5lZWQgdG8gY3JlYXRlIGFuIGluc3RhbmNlLg0KPiA+ Pj4NCj4gPj4+IE1obSwgSSB0aGluayB0aGF0IHdvdWxkIG1ha2UgdGhpcyBhIGJpdCB0b28gY29t cGxleCBmb3IgdXNlcnMuDQo+ID4+PiBJIGRvbid0IHRoaW5rIHRoZXkgd2FudCB0byBjYXJlIGFi b3V0IHByb3ZpZGluZyBhIGdlbmVyYXRvciBhcyB3ZWxsDQo+ID4+PiB0aGF0IHJldHVybnMgYSBj YWxsYWJsZS4gSSBkb24ndCBzZWUgYW55IG5ldyBmZWF0dXJlIHRoYXQNCj4gPj4+IGlzIGJlaW5n IHVubG9ja2VkIHdpdGggdGhhdCwganVzdCBtb3JlIHRhc2tzIGZvciB0aGUgdXNlci4NCj4gPj4N Cj4gPj4gSSBkb24ndCB0aGluayBpdCBhZGRzIHNpZ25pZmljYW50IGNvbXBsZXhpdHksIHRoaXMg aXMgcHJldHR5IHR5cGljYWwNCj4gPj4gUHl0aG9uLiAgSXQgaXMgc2ltaWxhciB0byB3aGF0IHdl IGhhdmUgZm9yIHRoZSBwcmV0dHkgcHJpbnRlcnMuICBZb3UNCj4gPj4gcmVnaXN0ZXIgYSBmdW5j dGlvbiB0aGF0IGdldHMgY2FsbGVkIHRvIGluc3RhbnRpYXRlIHRoZSByaWdodCBwcmV0dHkNCj4g Pj4gcHJpbnRlci4NCj4gPj4NCj4gPj4gQXQgdGhlIHNpbXBsZXN0LCBpdCB3b3VsZCBiZToNCj4g Pj4NCj4gPj4gICBjbGFzcyBNeUZpbHRlcjoNCj4gPj4gICAgIC4uLg0KPiA+Pg0KPiA+PiAgIGRl ZiBtYWtlX29uZV9maWx0ZXIoKToNCj4gPj4gICAgIHJldHVybiBNeUZpbHRlcigpDQo+ID4+DQo+ ID4+ICAgcmVnaXN0ZXJfZmlsdGVyKG1ha2Vfb25lX2ZpbHRlcikNCj4gPj4NCj4gPj4gb3IgZXZl bjoNCj4gPj4NCj4gPj4gICBjbGFzcyBNeUZpbHRlcjoNCj4gPj4gICAgIC4uLg0KPiA+Pg0KPiA+ PiAgIHJlZ2lzdGVyX2ZpbHRlcihsYW1iZGE6IE15RmlsdGVyKCkpDQo+ID4+DQo+ID4+IEFuIGFk dmFudGFnZSBpcyB0aGF0IGl0IG1ha2VzIGl0IGVhc3kgdG8gcmV0dXJuIGEgZGlmZmVyZW50IGZp bHRlciBwZXINCj4gPj4gdGhyZWFkLCBpZiBuZWVkZWQuICBTaW5jZSBmaWx0ZXJzIGFyZSBvbiBh IHBlci10aHJlYWQgYmFzaXMsIEkgdGhpbmsgaXQNCj4gPj4gd291bGQgZXZlbiBtYWtlIHNlbnNl IHRvIHBhc3MgdGhlIHRocmVhZCB0byB0aGUgZmFjdG9yeSBmdW5jdGlvbiwgaW4NCj4gPj4gY2Fz ZSB0aGUgdXNlciB3YW50cyB0byBzZWxlY3QgYSBmaWx0ZXIgYmFzZWQgb24gdGhhdC4NCj4gPj4N Cj4gPj4gTm90IHRoYXQgdGhlIGZhY3QgdGhhdCBmaWx0ZXJzIGFyZSBjYWxsYWJsZSB0aGVtc2Vs dmVzIGlzIGp1c3QgYSBkZXNpZ24NCj4gPj4gY2hvaWNlIHlvdSBtYWRlLCB5b3UgY291bGQgdmVy eSB3ZWxsIGRlY2lkZSB0byBjYWxsIHNvbWV0aGluZyBlbHNlIHRoYW4NCj4gPj4gX19jYWxsX18g b24gdGhvc2Ugb2JqZWN0cy4gIElmIHlvdSB3YW50IHRvIG1ha2UgdGhpbmdzIG1vcmUgZXhwbGlj aXQsDQo+ID4+IHlvdSBjYW4gbWFrZSBpdCBzbyBmaWx0ZXJzIGhhdmUgdG8gaW1wbGVtZW50IGEg ImdldF9hdXhfZGF0YSIgbWV0aG9kLA0KPiA+PiBpbnN0ZWFkIG9mIF9fY2FsbF9fLiAgVGhlIGFk dmFudGFnZSBvZiB1c2luZyBfX2NhbGxfXyBpcyBqdXN0IHRoYXQgaXQNCj4gPj4gYWxsb3dzIGZy ZWVseSBwYXNzaW5nIGZ1bmN0aW9ucyBhcyB3ZWxsIGFzIG9iamVjdHMgaW1wbGVtZW50aW5nDQo+ ID4+IF9fY2FsbF9fLCBzbyB0aGF0IGdpdmVzIHRoZSB1c2VyIGEgYml0IG1vcmUgZmxleGliaWxp dHkuDQo+ID4+DQo+ID4+IFNpbW9uDQo+ID4NCj4gPiBTb3JyeSwgSSBzdGlsbCBkb24ndCB1bmRl cnN0YW5kIHRoaXMgb3Igc2VlIHRoZSBhZHZhbnRhZ2Ugb2YgdGhlDQo+ID4gZmFjdG9yeSBwYXR0 ZXJuIGhlcmUuDQo+ID4gQW5kIEkgb25seSB3YW50IHRvIHVzZSBhIHBhdHRlcm4gaWYgdGhlcmUg aXMgYSBjbGVhciBhZHZhbnRhZ2UgdG8gaXQuDQo+ID4NCj4gPiBJIGFzc3VtZSB5b3Ugd2FudCB0 byBtb3ZlIHRoZSAiaG91c2VrZWVwaW5nIiB0byB0aGUgdXNlciBzaWRlLCByaWdodD8NCj4gDQo+ IE5vdCBzdXJlIHdoYXQgeW91IG1lYW4gYnkgImhvdXNla2VlcGluZyIuICBJbiB0aGUgZW5kLCB3 aXRoIHdoYXQgSQ0KPiBwcm9wb3NlLCB3ZSBzdGlsbCBlbmQgdXAgd2l0aCBvbmUgZmlsdGVyIG9i amVjdCBwZXIgdGhyZWFkLCBpdCBqdXN0DQo+IGNoYW5nZXMgaG93IHRoZXkgYXJlIGluc3RhbnRp YXRlZC4gIEluc3RlYWQgb2YgY29weWluZyBhICJ0ZW1wbGF0ZSINCj4gb2JqZWN0LCB3ZSBjYWxs IHRoZSAiZ2V0IG1lIGEgbmV3IGluc3RhbmNlIiBmdW5jdGlvbi4NCj4gDQo+ID4gV2h5IGRvIHdl IG5lZWQgYSBmYWN0b3J5IHBhdHRlcm4gZm9yIHRoYXQ/DQo+ID4gQ2FuJ3QgeW91IGFjaGlldmUg dGhlIHNhbWUgaWYgd2UganVzdCBoYXZlIG9uZSBjYWxsYWJsZSBmaWx0ZXIgb2JqZWN0DQo+ID4g aW5zdGVhZCBvZiBvbmUgcGVyIHRocmVhZD8gQW5kIGhhdmUgdGhlIHVzZXIgZG8gaXQgaW4gdGhh dCBvYmplY3QsIGlmDQo+ID4gaGUgbmVlZHMgdG8/IChQZXIgdGhyZWFkIGZpbHRlcnMgd291bGQg c3RpbGwgYWxsb3cgdGhlIHNhbWUsIHRob3VnaCBub3QNCj4gPiBhcyBjbGVhbiwgYXMgdGhleSB3 b3VsZCBoYXZlIHRvIGNhbGwgdGhlIHNpbmd1bGFyIG9iamVjdC4pDQo+ID4gUGFzc2luZyB0aGUg dGhyZWFkIGNhbiBhbHNvIGJlIGRvbmUgd2l0aCB0aGUgZmlsdGVyIGZ1bmN0aW9uIGRpcmVjdGx5 Lg0KPiA+IEFuZCBpcyBqdXN0IGEgY29udmVuaWVuY2UsIGFzIHRoZSBHREIgQVBJIGlzIGF2YWls YWJsZSB0byB0aGUgdXNlci4NCj4gPiAoSSBhbSBub3Qgc2F5aW5nLCBpdCBpcyBhIGJhZCBjb252 ZW5pZW5jZSBmZWF0dXJlLikNCj4gPg0KPiA+IEFGQUlLLCB5b3UgdXNlIGEgZmFjdG9yeSBwYXR0 ZXJuIHdoZW4geW91IHdhbnQgdG8gYWJzdHJhY3Qgd2hhdA0KPiA+IHR5cGUgb2YgZXhhY3Qgb2Jq ZWN0IGlzIHJldHVybmVkLiBJIGRvbid0IHNlZSB0aGF0IHdlIG5lZWQgdGhhdC4NCj4gPiBBbmQg d2UgYWxyZWFkeSBoYXZlIGEgYml0IG9mIGZyZWVkb20gYW55d2F5LCB3aXRoIGFsbG93aW5nDQo+ ID4gY2FsbGFibGVzLg0KPiA+DQo+ID4gSWYgeW91IGRvbid0IGxpa2UgdGhlIHBlciB0aHJlYWQg Y29weSwgd2UgY291bGQgc3RpbGwganVzdCBub3QgZG8gdGhhdC4NCj4gDQo+IFdpdGggd2hhdCBJ IHByb3Bvc2UsIHRoZXJlIHdvdWxkIHN0aWxsIGJlIG9uZSBjb3B5IChpbnN0YW5jZSkgb2YgdGhl DQo+IGZpbHRlciBwZXIgdGhyZWFkLiAgU28gbWF5YmUgd2UncmUgbm90IG9uIHRoZSBzYW1lIHBh Z2UuDQo+IA0KPiA+IEFuZCBtb3ZlIHRoZSBwZXItdGhyZWFkIG9yIHBlci1pbmZlcmlvciBob3Vz ZWtlZXBpbmcgdG8gdGhlIHVzZXIuDQo+ID4gSSBoYWQgdGhpcyBhdCBzb21lIHBvaW50LiBUaGUg ZG9jdW1lbnRhdGlvbiBJIHdyb3RlIHN0aWxsIGdpdmVzIGEgc2hvcnQNCj4gPiBleGFtcGxlIGZv ciBob3cgdG8gZG8gc29tZXRoaW5nIGZvciBvbmUgdGhyZWFkIGJ1dCBub3QgZm9yIGFub3RoZXIu DQo+ID4NCj4gPiBBcyBmYXIgYXMgSSByZW1lbWJlciwgTWFya3VzIHdhbnRlZCBwZXItdGhyZWFk IHN0YXRlIGluIGFuIGVhc2llciB3YXkNCj4gPiB0aG91Z2guDQo+IA0KPiBTaW1vbg0KDQpBaCBv a2F5LCB3ZSB3ZXJlIGluZGVlZCBub3Qgb24gdGhlIHNhbWUgcGFnZS4gU29ycnkgZm9yIHRoYXQu DQpTbyBpdCBpcyBqdXN0IGFib3V0IGdldHRpbmcgcmlkIG9mIHRoZSBkZWVwY29weSBtZWNoYW5p c20gYW5kDQp0aGUgZXh0cmEgY29weS4NCg0KT2theSwgSSB3aWxsIGxvb2sgaW50byB0aGlzIGEg Yml0IG1vcmUgZm9yIHRoZSBuZXh0IHZlcnNpb24uDQoNClRoYW5rcyBhIGxvdCENCkZlbGl4DQoN CkludGVsIERldXRzY2hsYW5kIEdtYkgKUmVnaXN0ZXJlZCBBZGRyZXNzOiBBbSBDYW1wZW9uIDEw LCA4NTU3OSBOZXViaWJlcmcsIEdlcm1hbnkKVGVsOiArNDkgODkgOTkgODg1My0wLCB3d3cuaW50 ZWwuZGUgPGh0dHA6Ly93d3cuaW50ZWwuZGU+Ck1hbmFnaW5nIERpcmVjdG9yczogQ2hyaXN0aW4g RWlzZW5zY2htaWQsIFNoYXJvbiBIZWNrLCBUaWZmYW55IERvb24gU2lsdmEgIApDaGFpcnBlcnNv biBvZiB0aGUgU3VwZXJ2aXNvcnkgQm9hcmQ6IE5pY29sZSBMYXUKUmVnaXN0ZXJlZCBPZmZpY2U6 IE11bmljaApDb21tZXJjaWFsIFJlZ2lzdGVyOiBBbXRzZ2VyaWNodCBNdWVuY2hlbiBIUkIgMTg2 OTI4Cg==