From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 044CB394FC3F for ; Fri, 6 May 2022 11:26:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 044CB394FC3F X-IronPort-AV: E=McAfee;i="6400,9594,10338"; a="248974858" X-IronPort-AV: E=Sophos;i="5.91,203,1647327600"; d="scan'208";a="248974858" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 May 2022 04:26:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,203,1647327600"; d="scan'208";a="654667986" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by FMSMGA003.fm.intel.com with ESMTP; 06 May 2022 04:26:41 -0700 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 6 May 2022 04:26:40 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Fri, 6 May 2022 04:26:40 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.40) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Fri, 6 May 2022 04:26:40 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U8se4yL/fAe9zi02k/ImmzYv7zr3dEWzH3kbUbfyP4Jql2V4kem1drqepYpDj2lEJR/k8Ldh9yOlWOb0YXesk0PqsCa0ZnIXuHFTriYVyXc002pNrzhSKbbA3LSQneBgGmET32BszPqr8LbzpO8CwiK/QRtpvD86j2MdgmZGSY6BBw8ebMWIQXs/6nAHIsN4L41eMT/9MKPkOt0DZgodI7UKhmYZyWrakQ7OQnVCmkiu63ZBPc1Q8c0mgi8rUAiL54+5XLPApqsL9c9GyydnUfdDxDIMTdyPOKsgImjSvRDOQByg28K2umHVmnh2UAYIxXGALOwW+kI6EDAtNMGfag== 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=5B3x+WmZkczpYKVWa2nIxV3/DKKYwAut022uph/IP0s=; b=ahGdEu4lXg5GiOJXaH5Jx/eKMolqqPTOzBUPnVw/Qe7k9JvsPHrwXVmKCiV+FcP9PVWz5NAObAIfvBqHk/OWsZ3K2Tvc/Ycd2QbuQ3k96h5+Un2FzeSKxofeS2MOFAu4rvsj/2cT5442hQTvhPN1y0Ia2iSszD7T/g+bOcjHsmxCwkynqP7PQPpD7vG+/ciYyJ47NMAzsAcTY6ngqokCB+vib36NTe3l4GTrJmjJm+N82+FCGAErnNifU/9SWRSI9Jxe/hbfiOs0xwKEOxRQKD+LWRM8VNdEml5Ske/Yph7t8RlYd0e3l8iOhAqRAXsErEBObVZdnP6kh/gEwhBDtA== 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 BY5PR11MB4242.namprd11.prod.outlook.com (2603:10b6:a03:1c1::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.13; Fri, 6 May 2022 11:26:38 +0000 Received: from MN2PR11MB4566.namprd11.prod.outlook.com ([fe80::e53d:4523:d1a4:bdcc]) by MN2PR11MB4566.namprd11.prod.outlook.com ([fe80::e53d:4523:d1a4:bdcc%7]) with mapi id 15.20.5206.027; Fri, 6 May 2022 11:26:38 +0000 From: "Willgerodt, Felix" To: "Metzger, Markus T" CC: "gdb-patches@sourceware.org" Subject: RE: [PATCH v3 12/12] btrace: Extend ptwrite event decoding. Thread-Topic: [PATCH v3 12/12] btrace: Extend ptwrite event decoding. Thread-Index: AQHXYoPDOBFyEd5JKkOBtWKpG7/JdKtxy28AgV6K00A= Date: Fri, 6 May 2022 11:26:38 +0000 Message-ID: References: <20210616074205.1129553-1-felix.willgerodt@intel.com> <20210616074205.1129553-13-felix.willgerodt@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.401.20 dlp-reaction: no-action x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3ab9c43c-b180-42d7-1b96-08da2f53495e x-ms-traffictypediagnostic: BY5PR11MB4242: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: a/8bZfDzulAAPytHLdP+GO5ot5ypakU6GO+jd9bso/eJkzH+ZHc7cP4aVMH+zsSj4QyxfTS6JTIf5gAmy474pJTYq7vUhf4Zzef8RWDzeUHKFdGuIIfEeruYXSiWh7lvxM7aBTfbTQxDlLujkWwPv6CwK8VlIx1g2OrREc4HDU8ZWOQ10Puztw2o9Znp+drJ5wxRo013x1/37VCbgzDKTlEE2C7hLplflKKHpdus5NI3JyN9oHyGggMeqm1WezXb6fXYs3Kf+kKLfdjtQK6mZMpWkT23bDC3AiCWCATKzuC0v9XhC7U19kF0DWdyp9OoDFNM4oDiKKi9neEOD5c4THZMedrsHk52eMXsn+P4JnokqRUDKO/V3oEeh+GcZb1ytQ2Jpofn4KAjb65g/0AQR9S1gtlTdacaV0GR7kD4yWG9gYL8CSliI6KnnnBkbyazS+UUP3nIYvn+6N9VAV6mNHNVc7tyurG+MKHhGtVo7uB4nK0qeM/tmoI8lc8KRM/Nd8UzGh6wni5pJBJF5kOdn7g7//bfpld1dSlkoJEZGVO0F1ghr5E312Q3YSMqLxwQLWg8IY5vhYf2brojj9gIDpM+WuF32yzI88dJrqt1KObz0JeamHsidh/9RnR1CXl11+l7LdrVcO3+IFTptM1/MMeCNwZQb60cOpPYsz1w4KPVWaG4ktkHOXrkCdsR+odC8dtApyJIt8HKiE7QdVRt6Q== 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:(13230001)(366004)(6862004)(8676002)(76116006)(66946007)(66446008)(66556008)(66476007)(64756008)(4326008)(5660300002)(186003)(8936002)(2906002)(52536014)(83380400001)(9686003)(33656002)(508600001)(6636002)(26005)(122000001)(38070700005)(7696005)(86362001)(38100700002)(55016003)(71200400001)(82960400001)(316002)(6506007)(53546011); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R05mWlhkWmpSVGNJVEtiUTBVOFZWVTFuNXdwQmRwUEMrQU5lcHNtdWs0WmFT?= =?utf-8?B?T3BOSXpLZHBZU05xOTdGOHJ2bk5Sdkc4cEozRU5KdDFZLzJUSEpHRUpxMm5k?= =?utf-8?B?OHBjekdPTncvQ3YzNlpaSW1EekdlZG90VWxYN0IzNytZTTlFOEhwcUlwSVBC?= =?utf-8?B?Ly9hRjVJelVoYU4rOEFITHl6UmdGaG5zaW1VOFVIYW5GWjZrS0MrZkNmcDdB?= =?utf-8?B?dVlOMkwxRmNwRGxJR1l4WGVwWUVxMDJiSDI5Y3VaTVF2MHZPMlV2Qk9tSnhN?= =?utf-8?B?czhNL1EwN3BWMUUyZWt5N1dGQ0pZMnlzUGsrSis0SmJ0NFZ3S081SHdSZTA3?= =?utf-8?B?N3pKbXJ2YjFlbXNkNjlDdkVEcXpxdXhla2xxZ3FaTGpHU016dWQ2NWJXcWk3?= =?utf-8?B?QjkxdWx5Vmhsc2FKV3VkSmdRb0tuTWU0OXFkYlNOSHdYNHdZaXRXUG5MNVZo?= =?utf-8?B?SHZpeFl0UWlHVVBsZnVxRGZqdm83U0UyTDdyMm1mbnh6U09ucUFNOUJrTzdS?= =?utf-8?B?WXBITkZIaWlhdXc5bzczQ3NVWDRzcDY3MGEyV2FwRWM1Q2NWeDNhbGJNVGxw?= =?utf-8?B?cE1XR1BuKzVNQzZ6SGdjcHRFQVFXVnk5Q3FlSDEwT3FPVGdWMVM4dDRodThP?= =?utf-8?B?VFVWWVpLbnIwblZ3TWplanBVcFpLTXhybVJRZDE4NEFHbnFYclBaVFJHQ21v?= =?utf-8?B?NEJEMHpHMVJVdUNETFVzWXluemYxUDRiOFphWDdGbE9tcWlqN1ptYm5DUGR4?= =?utf-8?B?RmtDclhnb3VkcjU5M2Jocld2THBhbWhpVEV6Q2FQVWRSQ1dFMUlBTmhpNXNm?= =?utf-8?B?ajlMVFZ6VUlkaGYxNHVRcks4S2RhZkVPeVJIcW50YmdTYU9JUHdMb1dNaTFT?= =?utf-8?B?M1puV2cySHJqZmZWVkEwUlYxQnR2NUpxWSs1OTBKTWJYSElQSWErbUkwVDcx?= =?utf-8?B?b2d5RHlIMVBZZWw1bURIRkd3V3RSOTFQVnplQUNaZkFJUEdIQm5JdExYTDBt?= =?utf-8?B?bzhzeUI4TlNLbkkrOWpQWDQ0TVQ2Q1RBU3FXRWhnYXBQWGFiMEhZeERuREto?= =?utf-8?B?enB5V0ErQlFaZk85b0NsVTZlSGIyOThtRUZpb3RUWXdGa3IvUlNyUHpnOUh5?= =?utf-8?B?MXJWNDBLd1B0TjZyR1VvUVVlOVk0ZVFDVmJVMWxRTUxka2hjUG92aU9uWG9a?= =?utf-8?B?MTlQdXkwQ090cjZ1VEN0VzBsNUIwbEROUlJ5RlRBdktmcnozZVRiZW14Tzcx?= =?utf-8?B?bGY1SDZIRDcyTklaT3JHS29sOXFsRkNSQ2JzQ0Q2QU1FMGhqTm9GNHlmOWVp?= =?utf-8?B?TXBKTVAvQlNNQU1rcTZPWXRIOE9pWkwyRE16dDdBTnE1VTJSZ3BwZnRwVnlk?= =?utf-8?B?L3ZKcmZ6ME9lY284R1A5ZVRtb1o0ZXNxRS9nZDBKOG9YTkJtNDJCN21OYXhP?= =?utf-8?B?K2dQOHM3cGxLWERrdWNSYzJyL2dNdnlxcUNZQmF5Tzd1bmhZL0N2ZWxKNkxr?= =?utf-8?B?YU8rUDYwR1lycUQyc0djZ05nOVlyRVNXTUdENlAzS1R3VE1lZTNncjFPaTJT?= =?utf-8?B?dlFlNDJ6Wlh3WFNzbXk0OFhCS0xMWGwrSUdEU3dWUkpsbE5wVHZ1UlE4ZFpP?= =?utf-8?B?RmZPZGdnb3hjUVg2R3FXajVlVTJ2VTFvYmtzTUJhSlRmWFhyRHFUL0dVSm93?= =?utf-8?B?czI1cTNtSWFMcFBUYkpRd1l5ZDExSmVqbnRHdGpFY0lkSnVUSXdIMnloWkVN?= =?utf-8?B?azNtelROYVRzd09EVmhnVndOMUREYUJjSHpVNGNGS3R3N3haLzltOGlQRFFq?= =?utf-8?B?VGJRRC9pMXdaRWhhMkVFMmg1NHRpaHVscWlOVXNUWVE3L0hXKzZSbjZ0K2dO?= =?utf-8?B?U0JtOGd0ZDRpWW9hbys3Wm1YUy83TDNSb1RTVG40aGZaZmx3blF3TEt1OVJV?= =?utf-8?B?Zy9wZmQyY3ZYMSs0ejZmaGRMN1dwWngvMVVaNVIrTnQ1K0ttWmpkVElyejNI?= =?utf-8?B?K3RnMXJBMW1MRVdiK1lIVVZvN1dXOWdtSkovRU9VUjkxNEFrazFZR2JCSXlW?= =?utf-8?B?OXZJNUtsMjNoNTk3Z0ZqMWtQNVNRcVBvUTlWSythZUpUUmRkd2V2OUdjK3Bq?= =?utf-8?B?WWU2QW9jT05wcXlvM083Z0U1eTlaSnJUcUxkRTRxUEJNeGJUWDdnUXZ4VHFq?= =?utf-8?B?OWcvMXh4RFhSbHNjTUhkMTg5YlowVE9Lb1VRRDhUOFBXMFZuOXZCOS82dzhN?= =?utf-8?B?QmZ6YlUrOEs0T0VYOER6YWhzVmxYVjJoSUdydkZSMHBwQUcweGNqSmhqWkww?= =?utf-8?B?eGdxSS9nc2dPQnI3QUVPNEorTnNNQWtCMmI2ck5KdkY1WmFJWnZrZVJRbmYr?= =?utf-8?Q?n8v2MyZ/PwexriUE=3D?= 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: 3ab9c43c-b180-42d7-1b96-08da2f53495e X-MS-Exchange-CrossTenant-originalarrivaltime: 06 May 2022 11:26:38.5416 (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: O2z2JK9bUW7xNr7jtV1GRkYBmsKeOJKItfHZEMQ1G5exiORiuqO0EkqbTEjT7aWQJs1uP20T2+ep61Z4RiR0wwwvfe5BJxG92uoY7FjMIb0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB4242 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-3.9 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, 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: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 May 2022 11:26:44 -0000 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNZXR6Z2VyLCBNYXJrdXMgVCA8 bWFya3VzLnQubWV0emdlckBpbnRlbC5jb20+DQo+IFNlbnQ6IEZyZWl0YWcsIDEzLiBBdWd1c3Qg MjAyMSAxNTozNw0KPiBUbzogV2lsbGdlcm9kdCwgRmVsaXggPGZlbGl4LndpbGxnZXJvZHRAaW50 ZWwuY29tPg0KPiBDYzogZ2RiLXBhdGNoZXNAc291cmNld2FyZS5vcmcNCj4gU3ViamVjdDogUkU6 IFtQQVRDSCB2MyAxMi8xMl0gYnRyYWNlOiBFeHRlbmQgcHR3cml0ZSBldmVudCBkZWNvZGluZy4N Cj4gDQo+IFRoYW5rcywgRmVsaXgsDQo+IA0KPiA+KwljYXNlIHB0ZXZfcHR3cml0ZToNCj4gPisJ ICB7DQo+ID4rCSAgICB1aW50NjRfdCAqaXAgPSBudWxscHRyOw0KPiA+KwkgICAgZ2RiOjp1bmlx dWVfeG1hbGxvY19wdHI8Y2hhcj4gcHR3X3N0cmluZyA9IG51bGxwdHI7DQo+ID4rCSAgICBzdHJ1 Y3QgYnRyYWNlX2luc24gcHR3X2luc247DQo+ID4rCSAgICBidHJhY2VfaW5zbl9mbGFncyBmbGFn czsNCj4gDQo+IFdlJ3JlIG1lYW53aGlsZSBkZWNsYXJpbmcgdmFyaWFibGVzIHdoZXJlIHRoZXkg YXJlIGluaXRpYWxpemVkIGFuZCB1c2VkLg0KPiBUaGUgcmVzdCBvZiB0aGUgY29kZSBoYXMgbm90 IGJlZW4gdXBkYXRlZCBidXQgbmV3IGNvZGUgc2hvdWxkIGZvbGxvdyB0aGlzLg0KPiANCg0KRG9u ZS4NCg0KPiA+Kw0KPiA+KwkgICAgLyogTG9va3VwIHRoZSBpcCBpZiBhdmFpbGFibGUuICAqLw0K PiA+KwkgICAgaWYgKGV2ZW50LmlwX3N1cHByZXNzZWQgPT0gMCkNCj4gPisJICAgICAgaXAgPSAm ZXZlbnQudmFyaWFudC5wdHdyaXRlLmlwOw0KPiA+KwkgICAgZWxzZSBpZiAoIWJ0aW5mby0+ZnVu Y3Rpb25zLmVtcHR5ICgpDQo+ID4rCQkgICAgICYmICFidGluZm8tPmZ1bmN0aW9ucy5iYWNrICgp Lmluc24uZW1wdHkgKCkpDQo+ID4rCSAgICAgIGlwID0gJmJ0aW5mby0+ZnVuY3Rpb25zLmJhY2sg KCkuaW5zbi5iYWNrICgpLnBjOw0KPiANCj4gVGhpcyBpc24ndCBuZWNlc3Nhcnk7IGxpYmlwdCB3 aWxsIGZpbGwgaW4gdGhlIElQLiAgSXQgc3VmZmljZXMgdG8gY2hlY2sgZm9yDQo+IEVWRU5ULklQ X1NVUFBSRVNTRUQuDQo+DQoNClJlbW92ZWQgdGhlICJlbHNlIGlmIi4NCg0KPiA+Kw0KPiA+Kwkg ICAgaWYgKGJ0aW5mby0+cHR3X2NhbGxiYWNrX2Z1biAhPSBudWxscHRyKQ0KPiANCj4gVGhpcyBp cyBwcm9iYWJseSB0aGUgZmlyc3QgY2hlY2sgd2Ugc2hvdWxkIGRvLCBpLmUuIGlmIGl0IGlzIG51 bGxwdHIsIGJyZWFrIHJpZ2h0IGF0DQo+IHRoZSBiZWdpbm5pbmcuDQo+IA0KPiA+KwkgICAgICBw dHdfc3RyaW5nID0gYnRpbmZvLT5wdHdfY2FsbGJhY2tfZnVuICgNCj4gPisJCQkJCSAgJmV2ZW50 LnZhcmlhbnQucHR3cml0ZS5wYXlsb2FkLCBpcCwNCj4gPisJCQkJCSAgYnRpbmZvLT5wdHdfbGlz dGVuZXIpOw0KPiANCj4gVGhlIGluZGVudGF0aW9uIGxvb2tzIGEgYml0IG9kZC4gIFlvdSBtYXkg YnJlYWsgYmVmb3JlICc9IGJ0aW5mby0+Li4uJyAgaWYgdGhlDQo+IGxpbmUgaXMgZ2V0dGluZyB0 b28gbG9uZywgb3RoZXJ3aXNlLg0KDQpEb25lLg0KDQo+ID4rDQo+ID4rCSAgICBpZiAocHR3X3N0 cmluZyA9PSBudWxscHRyKQ0KPiA+KwkgICAgICBicmVhazsNCj4gPisNCj4gPisJICAgIGJ0aW5m by0+YXV4X2RhdGEuZW1wbGFjZV9iYWNrIChwdHdfc3RyaW5nLmdldCAoKSk7DQo+ID4rDQo+ID4r CSAgICBpZiAoIWJ0aW5mby0+ZnVuY3Rpb25zLmVtcHR5ICgpDQo+ID4rCQkmJiAhYnRpbmZvLT5m dW5jdGlvbnMuYmFjayAoKS5pbnNuLmVtcHR5ICgpKQ0KPiA+KwkgICAgICBmbGFncyA9IGJ0aW5m by0+ZnVuY3Rpb25zLmJhY2sgKCkuaW5zbi5iYWNrICgpLmZsYWdzOw0KPiA+KwkgICAgZWxzZQ0K PiA+KwkgICAgICBmbGFncyA9IDA7DQo+ID4rDQo+ID4rCSAgICAvKiBVcGRhdGUgaW5zbiBsaXN0 IHdpdGggcHR3IHBheWxvYWQgaW5zbi4gICovDQo+IA0KPiBXZSBzaG91bGQgcHJvYmFibHkgc3Rh cnQgYnkgbWVtc2V0KClpbmcgcHR3X2luc24gdG8gYWxsLXplcm8uDQoNCkRvbmUuDQoNCj4gPitJ ZiBhbiBpbmZlcmlvciB1c2VzIHRoZSBpbnN0cnVjdGlvbiwgQHZhbHVle0dEQk59IGluc2VydHMg dGhlIHJhdyBwYXlsb2FkDQo+IHZhbHVlDQo+IA0KPiBNYXliZSBhZGQgJ2J5IGRlZmF1bHQnIHRv IHN0cmVzcyB0aGF0IHRoaXMgYmVoYXZpb3IgY2FuIGJlIG92ZXJ3cml0dGVuLCB3aGljaA0KPiBp cyBkb2N1bWVudGVkIGJlbG93Lg0KDQpEb25lLg0KDQo+ID4rbG9hZF9saWIgZ2RiLXB5dGhvbi5l eHANCj4gPisNCj4gPitpZiB7IFtza2lwX2J0cmFjZV9wdF90ZXN0c10gfSB7DQo+ID4rICAgIHVu c3VwcG9ydGVkICJUYXJnZXQgZG9lcyBub3Qgc3VwcG9ydCByZWNvcmQgYnRyYWNlIHB0LiINCj4g PisgICAgcmV0dXJuIC0xDQo+ID4rfQ0KPiA+Kw0KPiA+K2lmIHsgW3NraXBfYnRyYWNlX3B0d190 ZXN0c10gfSB7DQo+ID4rICAgIHVuc3VwcG9ydGVkICJIYXJkd2FyZSBkb2VzIG5vdCBzdXBwb3J0 IHB0d3JpdGUgaW5zdHJ1Y3Rpb25zLiINCj4gPisgICAgcmV0dXJuIC0xDQo+ID4rfQ0KPiA+Kw0K PiA+KyMgVGVzdCBsaWJpcHQgdmVyc2lvbiAobXVzdCBiZSA+PSAyLjAuMCkuDQo+ID4raWYge1ty ZXF1aXJlX2xpYmlwdF92ZXJzaW9uIDIgMCAwXX0gew0KPiA+KyAgICB1bnN1cHBvcnRlZCAiTGli aXB0IGRvZXNuJ3Qgc3VwcG9ydCBwdHdyaXRlIGRlY29kaW5nLiINCj4gPisgICAgcmV0dXJuIC0x DQo+ID4rfQ0KPiANCj4gV2Ugc2hvdWxkbid0IG5lZWQgdG8gY2hlY2sgdGhlIHBhdGNoIHZlcnNp b24uICBTZWUgY29tbWVudHMgb24gYSBwcmV2aW91cw0KPiBwYXRjaCByZWdhcmRpbmcgZmVhdHVy ZSBjaGVja2luZy4gIFdlIGNhbiBwcm9iYWJseSBjb21iaW5lIGl0IHdpdGgNCj4gc2tpcF9idHJh Y2VfcHR3X3Rlc3RzLg0KDQpTZWUgb3RoZXIgZW1haWwuDQoNCj4gPisjIyMgMS4gRGVmYXVsdCB0 ZXN0cnVuDQo+ID4rDQo+ID4rIyBTZXR1cCByZWNvcmRpbmcNCj4gPitnZGJfdGVzdF9ub19vdXRw dXQgInNldCByZWNvcmQgaW5zdHJ1Y3Rpb24taGlzdG9yeS1zaXplIHVubGltaXRlZCINCj4gIkRl ZmF1bHQ6IHNldA0KPiA+dW5saW1pdGVkIg0KPiA+K2dkYl90ZXN0X25vX291dHB1dCAicmVjb3Jk IGJ0cmFjZSBwdCIgIkRlZmF1bHQ6IHJlY29yZCBidHJhY2UgcHQiDQo+ID4rZ2RiX3Rlc3QgIm5l eHQiICIuKiIgIkRlZmF1bHQ6IGZpcnN0IG5leHQiDQo+ID4rZ2RiX3Rlc3QgIm5leHQiICIuKiIg IkRlZmF1bHQ6IHNlY29uZCBuZXh0Ig0KPiANCj4gWW91IG1heSB1c2Ugd2l0aF90ZXN0X3ByZWZp eCB0byBhZGQgdGhlICJEZWZhdWx0OiAiIHByZWZpeCB0byB0aGUgdGVzdA0KPiBvdXRwdXQuICBU aGlzIGdyb3VwcyB0ZXN0cyBhbmQgbWFrZXMgaXQgYSBiaXQgbW9yZSByZWFkYWJsZSBJTUhPLiAg Rm9yIHRoZQ0KPiBhYm92ZSBncm91cCwgdGhlIGZpcnN0IHR3byB3b3VsZG4ndCBuZWVkIGFueSBh ZGRpdGlvbmFsIHRlc3QgbmFtZSBzdHJpbmcuDQo+IEFuZCBpZiB5b3UgY29tYmluZWQgdGhlIGxh dHRlciB0d28gaW50byAibmV4dCAyIiwgaXQgd291bGRuJ3QgZWl0aGVyLg0KDQpEb25lDQoNCj4g PisjIFRlc3QgcGF5bG9hZCBwcmludGluZyBkdXJpbmcgc3RlcHBpbmcNCj4gPitnZGJfdGVzdCAi cmVjb3JkIGdvdG8gMTAiICJObyBzdWNoIGluc3RydWN0aW9uXC4iDQo+ID4rZ2RiX3Rlc3QgInJl Y29yZCBnb3RvIDkiICIuKnB0d3JpdGU2NC4qIGF0IC4qcHR3cml0ZS5jOjIzLioiDQo+ID4rZ2Ri X3Rlc3QgInN0ZXBpIiAiLipcXFxbNDJcXFxdLioiDQo+ID4rZ2RiX3Rlc3QgInJldmVyc2Utc3Rl cGkiICIuKlxcXFs0MlxcXF0uKiINCj4gPitnZGJfdGVzdCAiY29udGludWUiICIuKlxcXFs0Mlxc XF0uKlxcXFs0M1xcXF0uKiINCj4gPitnZGJfdGVzdCAicmV2ZXJzZS1jb250aW51ZSIgIi4qXFxc WzQzXFxcXS4qXFxcWzQyXFxcXS4qIg0KPiANCj4gQmV0d2VlbiBbNDJdIGFuZCBbNDNdIHdlIHdv dWxkbid0IGdldCBhbnkgb3RoZXIgb3V0cHV0IHdlIG5lZWQgdG8gaWdub3JlLA0KPiB3b3VsZCB3 ZT8gIFRoZXJlJ3MgbXVsdGlfbGluZSB0byBjYXB0dXJlIG11bHRpcGxlIGxpbmVzIG9mIG91dHB1 dC4NCg0KRG9uZS4NCg0KPiA+KyMgVGVzdCBhdXhpbGlhcnkgdHlwZSBpbiBweXRob24NCj4gPitn ZGJfdGVzdF9tdWx0aWxpbmUgImF1eGlsaWFyeSB0eXBlIGluIHB5dGhvbiIgXA0KPiA+KyAgInB5 dGhvbiIgIiIgXA0KPiA+KyAgImggPSBnZGIuY3VycmVudF9yZWNvcmRpbmcoKS5pbnN0cnVjdGlv bl9oaXN0b3J5IiAiIiBcDQo+ID4rICAiZm9yIGluc24gaW4gaDogcHJpbnQoaW5zbikiICIiIFwN Cj4gPisgICJlbmQiIFttdWx0aV9saW5lIFwNCj4gPisgICIuKlJlY29yZEF1eGlsaWFyeS4qIiBc DQo+ID4rICAiLipSZWNvcmRBdXhpbGlhcnkuKiIgXA0KPiA+KyAgXQ0KPiANCj4gQ291bGQgd2Ug aW5zcGVjdCB0aGUgYXV4aWxpYXJ5IHJlY29yZHMgdG8gc2VlIGlmIHdlIGdldCB0aGUgY29ycmVj dCBzdHJpbmdzPw0KPiBBbHNvLCBpdCB3b3VsZCBiZSBuaWNlIHRvIHByaW50IHRoZSBzdXJyb3Vu ZGluZyBpbnN0cnVjdGlvbnMgaW5zdGVhZCBvZiBpZ25vcmluZw0KPiBhbGwgdGhlIG91dHB1dC4N Cj4gDQo+IElmIHdlIGp1c3QgcHJpbnRlZCB0aGUgaW5zdHJ1Y3Rpb25faGlzdG9yeSwgd291bGRu J3Qgd2UgZ2V0IG91dHB1dCB2ZXJ5IHNpbWlsYXINCj4gdG8gdGhlIENMST8NCg0KSWYgd2UganVz dCBwcmludCB0aGUgaGlzdG9yeSB3ZSBvbmx5IGdldCBSZWNvcmRJbnN0cnVjdGlvbiBhbmQgUmVj b3JkQXV4aWxpYXJ5DQpPYmplY3RzLiBCdXQgd2UgY2FuIHVzZSBkZWNvZGVkIGFuZCBkYXRhIG1l bWJlcnMgb2YgdGhlbSB0byBwcmludCBzb21ldGhpbmcNCnNpbWlsYXIuIEkgaGF2ZSBkb25lIHRo YXQgYW5kIGFkZGVkIGEgY291cGxlIG1vcmUgaW5zdHJ1Y3Rpb25zIHRvIHRoZSByZWdleC4NCg0K PiA+KyMjIyAyLiBUZXN0IGxpc3RlbmVyIHJlZ2lzdHJhdGlvbg0KPiA+KyMjIyAyLjEgQ3VzdG9t IGxpc3RlbmVyDQo+ID4rDQo+ID4rZ2RiX3Rlc3RfbXVsdGlsaW5lICJDdXN0b206IHJlZ2lzdGVy IGxpc3RlbmVyIGluIHB5dGhvbiIgXA0KPiA+KyAgInB5dGhvbiIgIiIgXA0KPiA+KyAgImRlZiBt eV9saXN0ZW5lcihwYXlsb2FkLCBpcCk6IiAiIiBcDQo+ID4rICAiICAgIGlmICBwYXlsb2FkID09 IDY2OiIgIiIgXA0KPiA+KyAgIiAgICAgICAgcmV0dXJuIFwicGF5bG9hZDogezB9LCBpcDogezE6 I3h9XCIuZm9ybWF0KHBheWxvYWQsIGlwKSIgIiIgXA0KPiA+KyAgIiAgICBlbHNlOiIgIiIgXA0K PiA+KyAgIiAgICAgICAgcmV0dXJuIE5vbmUiICIiIFwNCj4gPisgICJpbXBvcnQgZ2RiLnB0d3Jp dGUiICIiIFwNCj4gPisgICJnZGIucHR3cml0ZS5yZWdpc3Rlcl9saXN0ZW5lcihteV9saXN0ZW5l cikiICIiIFwNCj4gPisgICJlbmQiICIiDQo+ID4rDQo+ID4rZ2RiX3Rlc3QgInJlY29yZCBpbnN0 cnVjdGlvbi1oaXN0b3J5IDEiIFttdWx0aV9saW5lIFwNCj4gPisgICIuKlxbMC05XF0rXHQgICAk aGV4IDxwdHdyaXRlNjRcXCtcWzAtOVxdKz46XHRwdHdyaXRlICVcW2EtelxdKyIgXA0KPiA+KyAg IlxbMC05XF0rXHQgICBcXFxbcGF5bG9hZDogNjYsIGlwOiAkaGV4XFxcXSIgXA0KPiA+KyAgIi4q XFswLTlcXStcdCAgICRoZXggPHB0d3JpdGUzMlxcK1xbMC05XF0rPjpcdHB0d3JpdGUgJVxbYS16 XF0rIiBcDQo+ID4rICAiXFswLTlcXStcdCAgICRoZXggPHB0d3JpdGUzMlxcK1xbMC05XF0rPjou KiIgXA0KPiANCj4gV2hhdCBvdXRwdXQgZG8gd2UgbmVlZCB0byBpZ25vcmUgaGVyZSBhdCB0aGUg YmVnaW5uaW5nIG9mIGV2ZXJ5IG90aGVyIGxpbmU/DQoNCldlIGlnbm9yZSB0aGUgcmVzdCBvZiB0 aGUgaW5zdHJ1Y3Rpb25zLCBiZWZvcmUsIGluYmV0d2VlbiBhbmQgYWZ0ZXIgdGhlIHR3bw0KUFRX UklURXMuDQoNCj4gDQo+ID4rIyBSdW4gYSB0ZXN0IG9uIHRoZSB0YXJnZXQgdG8gc2VlIGlmIGl0 IHN1cHBvcnRzIHB0d3JpdGUgaW5zdHJ1Y3Rpb25zLg0KPiA+KyMgUmV0dXJuIDAgaWYgc28sIDEg aWYgaXQgZG9lcyBub3QuICBCYXNlZCBvbiAnY2hlY2tfdm14X2h3X2F2YWlsYWJsZScNCj4gPisj IGZyb20gdGhlIEdDQyB0ZXN0c3VpdGUuDQo+IA0KPiBTZWUgYWJvdmUgY29tbWVudHMuICBJIHRo aW5rIHdlIHNob3VsZCBzaW1wbHkgcmVjb3JkIGEgc2luZ2xlIHB0d3JpdGUgaW5zaWRlDQo+IG1h aW4oKSBhbmQgY2hlY2sgdGhhdCBHREIgY2FuIGRlY29kZSB0aGUgdHJhY2Ugd2l0aG91dCBlcnJv cnMgLSBhbmQgY2hlY2sNCj4gJ2luZm8gcmVjb3JkJyB0aGF0IHdlIGFjdHVhbGx5IGRlY29kZWQg c29tZXRoaW5nLg0KDQpTZWUgb3RoZXIgZW1haWwuDQoNCj4gUmVnYXJkcywNCj4gTWFya3VzLg0K SW50ZWwgRGV1dHNjaGxhbmQgR21iSApSZWdpc3RlcmVkIEFkZHJlc3M6IEFtIENhbXBlb24gMTAs IDg1NTc5IE5ldWJpYmVyZywgR2VybWFueQpUZWw6ICs0OSA4OSA5OSA4ODUzLTAsIHd3dy5pbnRl bC5kZSA8aHR0cDovL3d3dy5pbnRlbC5kZT4KTWFuYWdpbmcgRGlyZWN0b3JzOiBDaHJpc3RpbiBF aXNlbnNjaG1pZCwgU2hhcm9uIEhlY2ssIFRpZmZhbnkgRG9vbiBTaWx2YSAgCkNoYWlycGVyc29u IG9mIHRoZSBTdXBlcnZpc29yeSBCb2FyZDogTmljb2xlIExhdQpSZWdpc3RlcmVkIE9mZmljZTog TXVuaWNoCkNvbW1lcmNpYWwgUmVnaXN0ZXI6IEFtdHNnZXJpY2h0IE11ZW5jaGVuIEhSQiAxODY5 MjgK