From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by sourceware.org (Postfix) with ESMTPS id CE9E039450D0 for ; Mon, 14 Jun 2021 14:53:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CE9E039450D0 IronPort-SDR: SvKVXr46kVIcfSDQLy5f5OPGVtcZC103+KCGqSjGZXHTbNQ0ojZjb41BWwVbujkwTh1Dv0cRZK vhMXZmkKcIHA== X-IronPort-AV: E=McAfee;i="6200,9189,10015"; a="205641343" X-IronPort-AV: E=Sophos;i="5.83,273,1616482800"; d="scan'208";a="205641343" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jun 2021 07:53:16 -0700 IronPort-SDR: LPonF4iwJlWKljDQS+TL9zPEb+y9PdCJ0ATJP2TvewzoLLCDxW9tI9ptmYoFJzfIcVW23bd38B a7k9le5Uwz8w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,273,1616482800"; d="scan'208";a="442238616" Received: from irsmsx601.ger.corp.intel.com ([163.33.146.7]) by orsmga007.jf.intel.com with ESMTP; 14 Jun 2021 07:53:15 -0700 Received: from irsmsx603.ger.corp.intel.com (163.33.146.9) by irsmsx601.ger.corp.intel.com (163.33.146.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Mon, 14 Jun 2021 15:53:14 +0100 Received: from irsmsx603.ger.corp.intel.com ([163.33.146.9]) by irsmsx603.ger.corp.intel.com ([163.33.146.9]) with mapi id 15.01.2242.008; Mon, 14 Jun 2021 15:53:14 +0100 From: "Willgerodt, Felix" To: "Metzger, Markus T" , "gdb-patches@sourceware.org" Subject: RE: [PATCH 10/10] btrace: Extend event decoding for ptwrite. Thread-Topic: [PATCH 10/10] btrace: Extend event decoding for ptwrite. Thread-Index: AQHVFftFvNVHZDvAzUyvxH0A47khDqaLZ8eAgoF3mvA= Date: Mon, 14 Jun 2021 14:53:14 +0000 Message-ID: <656abd6139334841807109400c2b5e01@intel.com> References: <1559119673-30516-1-git-send-email-felix.willgerodt@intel.com> <1559119673-30516-11-git-send-email-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.5.1.3 dlp-reaction: no-action x-originating-ip: [163.33.253.164] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: Mon, 14 Jun 2021 14:53:21 -0000 T24gNi80LzE5IDI6MzUgUE0sIE1ldHpnZXIsIE1hcmt1cyBUIHdyb3RlOg0KPj4gQEAgLTEyNDQs NiArMTI0NCw1MyBAQCBoYW5kbGVfcHRfaW5zbl9ldmVudHMgKHN0cnVjdCANCj4+IGJ0cmFjZV90 aHJlYWRfaW5mbyAqYnRpbmZvLA0KPj4gCQkgICBiZnVuLT5pbnNuX29mZnNldCAtIDEsIG9mZnNl dCk7DQo+PiANCj4+ICAJICBicmVhazsNCj4+ICsNCj4+ICsJY2FzZSBwdGV2X3B0d3JpdGU6DQo+ PiArCSAgew0KPj4gKwkgICAgdWludDY0X3QgKmlwID0gbnVsbHB0cjsNCj4+ICsJICAgIGdkYjo6 dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+IHB0d19zdHJpbmcgPSBudWxscHRyOw0KPj4gKwkgICAg c3RydWN0IGJ0cmFjZV9pbnNuIHB0d19pbnNuOw0KPj4gKw0KPj4gKwkgICAgLyogTG9va3VwIHRo ZSBpcC4gICovDQo+PiArCSAgICBpZiAoZXZlbnQuaXBfc3VwcHJlc3NlZCA9PSAwKQ0KPj4gKwkg ICAgICBpcCA9ICZldmVudC52YXJpYW50LnB0d3JpdGUuaXA7DQo+PiArCSAgICBlbHNlIGlmICgh YnRpbmZvLT5mdW5jdGlvbnMuZW1wdHkgKCkNCj4+ICsJCSAgICAgJiYgIWJ0aW5mby0+ZnVuY3Rp b25zLmJhY2sgKCkuaW5zbi5lbXB0eSAoKSkNCj4+ICsJICAgICAgaXAgPSAmYnRpbmZvLT5mdW5j dGlvbnMuYmFjayAoKS5pbnNuLmJhY2sgKCkucGM7DQoNCk1hcmt1cz4gTGliaXB0IHdpbGwgcHJv dmlkZSB0aGUgUFRXUklURSBpbnN0cnVjdGlvbidzIElQLiAgV2UgbWF5IGdldCBQVFcgZXZlbnRz IHdpdGhvdXQgSVAgYnV0IHRob3NlIHdvdWxkbid0IGJpbmQgdG8gdGhlIHByZXZpb3VzIGluc3Ry dWN0aW9uIC0gb3IgbGliaXB0IHdvdWxkIGhhdmUgZmlsbGVkIGluIHRoZSBldmVudCBJUC4NCk1h cmt1cyA+IElmIEVWRU5ULklQX1NVUFBSRVNTRUQgaXMgc2V0LCB0aGVyZSBpcyBubyBJUC4NCg0K VGhpcyBpcyBhIGZhbGxiYWNrIHRvIGdldCB0aGUgSVAgZnJvbSBzb21ld2hlcmUuIEluIHRoZSBj YXNlIHRoYXQgaXAgaXMgc3VwcHJlc3NlZCAtIGJ1dCByZWNvcmRpbmcgd29ya2VkIGZpbmUgLSB0 aGlzIHNob3VsZCBzdGlsbCBwcm92aWRlIHRoZSB1c2VyIHdpdGggdGhlIHJpZ2h0IElQLiBUaGF0 IHNhaWQsIEkgYW0gZmluZSB3aXRoIHJlbW92aW5nIGl0LCBpdCBpcyBwcm9iYWJseSBub3QgYSBj b21tb24gb2NjdXJyZW5jZS4NCg0KPj4gKwkgICAgZWxzZQ0KPj4gKwkgICAgICAvKiBUaGlzIHNo b3VsZCBuZXZlciBoYXBwZW4uICAqLw0KPj4gKwkgICAgICBlcnJvciAoXygiRmFpbGVkIHRvIG9i dGFpbiB0aGUgUEMgb2YgdGhlIGN1cnJlbnQgDQo+PiAraW5zdHJ1Y3Rpb24uIikpOw0KDQpNYXJr dXM+IFdlIGV4cGxpY2l0bHkgYWxsb3cgYSBudWxscHRyIElQIGluIHRoZSBjYWxsYmFjayBmdW5j dGlvbi4NCg0KUmlnaHQgcmVtb3ZlZC4NCg0KPj4gKw0KPj4gKwkgICAgdHJ5DQo+PiArCSAgICAg IHsNCj4+ICsJCWlmIChidGluZm8tPnB0d19jYWxsYmFja19mdW4gIT0gbnVsbHB0cikNCj4+ICsJ CSAgcHR3X3N0cmluZyA9IGJ0aW5mby0+cHR3X2NhbGxiYWNrX2Z1biAoDQo+PiArCQkJCQkgICZl dmVudC52YXJpYW50LnB0d3JpdGUucGF5bG9hZCwgaXAsDQo+PiArCQkJCQkgIGJ0aW5mby0+cHR3 X2xpc3RlbmVyKTsNCj4+ICsJICAgICAgfQ0KPj4gKwkgICAgY2F0Y2ggKGNvbnN0IGdkYl9leGNl cHRpb25fZXJyb3IgJmVycm9yKQ0KPj4gKwkgICAgICB7DQo+PiArCQl3YXJuaW5nIChfKCJGYWls ZWQgdG8gY2FsbCBwdHdyaXRlIGxpc3RlbmVyLiIpKTsNCg0KTWFya3VzPiBUaGlzIGluZGljYXRl cyBhIGJ1ZyBpbiB0aGUgdXNlcidzIHB0d3JpdGUtbGlzdGVuZXIgb2JqZWN0LiAgU2hvdWxkIHdl IHByaW50IGEgYmFja3RyYWNlIGFuZCBmYWlsIHdpdGggYW4gZXJyb3I/DQoNClB5dGhvbiBjb2Rl IGVycm9ycyBhcmUgYWN0dWFsbHkgYWxyZWFkeSBjYXVnaHQgYW5kIHByaW50ZWQgaW4gcHktcmVj b3JkLWJ0cmFjZS5jIGFscmVhZHkuIEkgdGhpbmsgdGhlIGlkZWEgd2FzIHNvbWUgcHJvdGVjdGlv biBhZ2FpbnN0IHBvc3NpYmxlIGVycm9ycyB3aXRoIHRoZSBjYWxsYmFjayByZWdpc3RyYXRpb24g b3Igb3RoZXIgd2VpcmQgR0RCIHByb2JsZW1zLiBJIHJlbW92ZWQgdGhlIHRyeS9jYXRjaCwgYXMg SSB0aGluayB0aGF0IHNob3VsZG4ndCByZWFsbHkgaGFwcGVuLCBpdCBpcyBhbGwgR0RCIGludGVy bmFsLg0KDQo+PiArCSAgICAgIH0NCj4+ICsNCj4+ICsJICAgIGlmIChwdHdfc3RyaW5nID09IG51 bGxwdHIpDQo+PiArCSAgICAgIGJyZWFrOw0KPj4gKw0KPj4gKwkgICAgYnRpbmZvLT5hdXhfZGF0 YS5lbXBsYWNlX2JhY2sgKHB0d19zdHJpbmcuZ2V0ICgpKTsNCj4+ICsNCj4+ICsJICAgIC8qIFVw ZGF0ZSBpbnNuIGxpc3Qgd2l0aCBwdHcgcGF5bG9hZCBpbnNuLiAgKi8NCj4+ICsJICAgIHB0d19p bnNuLmF1eF9kYXRhX2luZGV4ID0gYnRpbmZvLT5hdXhfZGF0YS5zaXplICgpIC0gMTsNCj4+ICsJ ICAgIHB0d19pbnNuLmZsYWdzID0gMDsNCg0KTWFya3VzPiBDYW4gd2UgcHJlc2VydmUgdGhlIFNQ RUNVTEFUSVZFIGZsYWc/DQoNClllcywgZG9uZSBub3cuDQoNCj4+ICtXaGVuIHJlY29yZGluZyBt dWx0aXRocmVhZGVkIHByb2dyYW1zLCBAdmFsdWV7R0RCTn0gY3JlYXRlcyBhIG5ldyANCj4+ICtj b3B5IG9mDQoNCk1hcmt1cz5BbHNvIHdoZW4gcmVjb3JkaW5nIGEgc2luZ2xlIHRocmVhZGVkIHBy b2dyYW0uICBNYXliZSBqdXN0IHJlbW92ZSB0aGlzIHBhcnQuDQoNCkRvbmUNCg0KPj4gdGhlDQo+ PiArbGlzdGVuZXIgZnVuY3Rpb24gZm9yIGVhY2ggdGhyZWFkIHRvIGFsbG93IGZvciBpbmRlcGVu ZGVudCBpbnRlcm5hbCBzdGF0ZXMuDQo+PiArVGhlcmUgaXMgY3VycmVudGx5IG5vIHN1cHBvcnQg Zm9yIHJlZ2lzdGVyaW5nIGRpZmZlcmVudCBsaXN0ZW5lcnMgZm9yIA0KPj4gK2RpZmZlcmVudCB0 aHJlYWRzLiBUaGUgbGlzdGVuZXIgY2FuIGhvd2V2ZXIgZGlzdGluZ3Vpc2ggYmV0d2VlbiANCj4+ ICttdWx0aXBsZSB0aHJlYWRzDQoNCk1hcmt1cz4gWW91IHdyaXRlICdjdXJyZW50bHknLiAgQXJl IHRoZXJlIHBsYW5zIHRvIHN1cHBvcnQgZGlmZmVyZW50IGxpc3RlbmVycyBmb3IgZGlmZmVyZW50 IHRocmVhZHM/DQoNCkkgcmVtb3ZlZCAnY3VycmVudGx5Jy4NCg0KPj4gK3dpdGggdGhlIGhlbHAg b2YgQGNvZGV7Z2RiLnNlbGVjdGVkX3RocmVhZCgpLmdsb2JhbF9udW19IG9yIHNpbWlsYXIuDQo+ PiArDQo+PiArQGV4ZGVudCBGb3IgZXhhbXBsZToNCj4+ICtAc21hbGxleGFtcGxlDQo+PiArKGdk YikgcHl0aG9uLWludGVyYWN0aXZlDQo+PiArPj4+IGRlZiBteV9saXN0ZW5lcihwYXlsb2FkLCBp cCk6DQo+PiArLi4uICAgICBpZiBnZGIuc2VsZWN0ZWRfdGhyZWFkKCkuZ2xvYmFsX251bSA9PSAx Og0KPj4gKy4uLiAgICAgICAgIHJldHVybiAicGF5bG9hZDogQHswQH0sIGlwOiBAezojeEB9Ii5m b3JtYXQocGF5bG9hZCwgaXApDQo+PiArLi4uICAgICBlbHNlOg0KPj4gKy4uLiAgICAgICAgIHJl dHVybiBOb25lDQo+PiArLi4uDQoNCk1hcmt1cz4gQW4gZXhhbXBsZSB3aGVyZSB0aGUgbGlzdGVu ZXIgYWNjdW11bGF0ZXMgcGF5bG9hZHMgd291bGQgYmUgbmljZS4NCg0KSSByZXdyb3RlIHRoaXMg b25lIHRvIGluY2x1ZGUgYSBjb3VudGVyIHRoYXQgaXMgaW5jcmVtZW50ZWQuIEZvciB0aGUgYWNj dW11bGF0ZWQgcGF5bG9hZHMgeW91IHdvdWxkIHJlYWxseSBuZWVkDQp0byBzaG93IHRoZSBwYXls b2FkIHZhbHVlcyBhbmQgdGhlcmVmb3JlIHRoZSBzb3VyY2UgY29kZSBmb3IgaXQgdG8gbWFrZSBz ZW5zZS4gVGhpcyBtYWRlIHRoZSBleGFtcGxlIHRvbyBsb25nLg0KDQo+PiArKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5idHJhY2UvcHR3cml0ZS5jDQo+PiBAQCAtMCwwICsxLDQwIEBADQo+PiArLyog VGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4NCj4+ICsNCj4+ ICsgQ29weXJpZ2h0IDIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQoNCk1hcmt1 cz4gSXQncyAyMDE5LCBtZWFud2hpbGUuDQoNCkRvbmUNCg0KPiAraW50DQo+ICttYWluICh2b2lk KQ0KPiArew0KPiArDQoNCj5TcHVyaW91cyBlbXB0eSBsaW5lLg0KDQpEb25lDQoNCj4+ICsNCj4+ ICtpZiB7IFtza2lwX2J0cmFjZV9wdHdfdGVzdHNdIH0gew0KPj4gKyAgICB1bnN1cHBvcnRlZCAi SGFyZHdhcmUgZG9lcyBub3Qgc3VwcG9ydCBwdHdyaXRlIGluc3RydWN0aW9ucy4iDQo+PiArICAg IHJldHVybiAtMQ0KPj4gK30NCj4+ICsNCj4+ICtzZXQgY29tcF9mbGFncyAiYWRkaXRpb25hbF9m bGFncz0tSSR7c3JjZGlyfS8uLiINCg0KTWFya3VzPiBJZiB3ZSBuZWVkIHRoaXMgb25seSBpbiB0 aGUgQ09NUElMRSBjYXNlLCBJJ2QgbW92ZSBpdCB0aGVyZTsgb3IganVzdCBpbmxpbmUgaXQuDQoN ClJlbW92ZWQsIHdhcyBhIGxlZnQgb3ZlciBmcm9tIGVhcmxpZXIgcmV2aXNpb25zLg0KDQo+PiAr aWYgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAkdGVzdGZpbGUgJHNy Y2ZpbGUgJG9wdHNdIHsNCj4+ICsgICAgdW5zdXBwb3J0ZWQgIkNvbXBpbGVyIGRvZXMgbm90IHN1 cHBvcnQgcHR3cml0ZS4iDQoNCk1hcmt1cz4gSSBkb24ndCB0aGluayB3ZSBuZWVkIGFuICd1bnN1 cHBvcnRlZCcgaGVyZS4gIFdlIHNob3VsZCBnZXQgJ2ZhaWxlZCB0byBwcmVwYXJlJywgYWxyZWFk eS4NCg0KRml4ZWQNCg0KPiArIyMjIDEuIERlZmF1bHQgdGVzdHJ1bg0KPiArDQo+ICsjIFNldHVw IHJlY29yZGluZw0KDQpNYXJrdXM+IFlvdSBjYW4gdXNlIHdpdGhfdGVzdF9wcmVmaXggdG8gYXZv aWQgcmVwZWF0aW5nIHRoZSBwcmVmaXggaW4gZWFjaCB0ZXN0Lg0KDQpVc2luZyB3aXRoX3Rlc3Rf cHJlZml4IHdvdWxkIGhhdmUgcmVzdWx0ZWQgaW4gc29tZSB1Z2x5IGZvcm1hdHRpbmcgd2l0aCAN CnRoZSBtdWx0aS1saW5lIHRlc3Qgc3RhdGVtZW50cy4gSSBwcmVmZXJyZWQgdG8gcmVtb3ZlIHRo ZSBwcmVmaXggZnJvbSB0aGUgDQp0ZXN0cyB0aGF0IGRvbid0IG5lZWQgaXQgdG8gaGF2ZSBhIHVu aXF1ZSBuYW1lLg0KDQoNCj4+IGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhw IGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCANCj4+IGluZGV4IGM3MDNhN2U2MzM4Li5iYTdj Y2ZkNDZiYSAxMDA2NDQNCj4+IC0tLSBhL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHANCj4+ICsr KyBiL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHANCj4+IEBAIC0yODc0LDYgKzI4NzQsOTggQEAg Z2RiX2NhY2hpbmdfcHJvYyBza2lwX2J0cmFjZV9wdF90ZXN0cyB7DQo+PiAgICAgIHJldHVybiAk c2tpcF9idHJhY2VfdGVzdHMNCj4+ICB9DQo+PiANCj4+ICsjIFJ1biBhIHRlc3Qgb24gdGhlIHRh cmdldCB0byBzZWUgaWYgaXQgc3VwcG9ydHMgcHR3cml0ZSBpbnN0cnVjdGlvbnMuDQo+PiArIyBS ZXR1cm4gMCBpZiBzbywgMSBpZiBpdCBkb2VzIG5vdC4gIEJhc2VkIG9uICdjaGVja192bXhfaHdf YXZhaWxhYmxlJw0KPj4gKyMgZnJvbSB0aGUgR0NDIHRlc3RzdWl0ZS4NCj4+ICsNCj4+ICtnZGJf Y2FjaGluZ19wcm9jIHNraXBfYnRyYWNlX3B0d190ZXN0cyB7DQo+PiArICAgIGdsb2JhbCBzcmNk aXIgc3ViZGlyIGdkYl9wcm9tcHQgaW5mZXJpb3JfZXhpdGVkX3JlDQo+PiArDQo+PiArICAgIHNl dCBtZSAic2tpcF9wdHdfdGVzdHMiDQo+PiArDQo+PiArICAgICMgU2V0IHVwLCBjb21waWxlLCBh bmQgZXhlY3V0ZSBhIHRlc3QgcHJvZ3JhbS4NCj4+ICsgICAgIyBJbmNsdWRlIHRoZSBjdXJyZW50 IHByb2Nlc3MgSUQgaW4gdGhlIGZpbGUgbmFtZXMgdG8gcHJldmVudCBjb25mbGljdHMNCj4+ICsg ICAgIyB3aXRoIGludm9jYXRpb25zIGZvciBtdWx0aXBsZSB0ZXN0c3VpdGVzLg0KPj4gKyAgICBz ZXQgc3JjIFtzdGFuZGFyZF90ZW1wX2ZpbGUgcHR3W3BpZF0uY10NCj4+ICsgICAgc2V0IGV4ZSBb c3RhbmRhcmRfdGVtcF9maWxlIHB0d1twaWRdLnhdDQo+PiArDQo+PiArICAgIGdkYl9wcm9kdWNl X3NvdXJjZSAkc3JjIHsNCj4+ICsJI2luY2x1ZGUgPHN0ZGJvb2wuaD4NCj4+ICsJI2luY2x1ZGUg PHN0ZGludC5oPg0KPj4gKwkjaW5jbHVkZSA8c3RkaW8uaD4NCj4+ICsJI2luY2x1ZGUgIng4Ni1j cHVpZC5oIg0KPj4gKw0KPj4gKwkjZGVmaW5lIGJpdF9QVFcgKDEgPDwgNCkgDQo+PiArDQo+PiAr CWJvb2wNCj4+ICsJaGF2ZV9wdHcgKCkNCj4+ICsJew0KPj4gKwkgIHVuc2lnbmVkIGludCBlYXgs IGVieCwgZWN4LCBlZHg7DQo+PiArDQo+PiArCSAgaWYgKCFfX2dldF9jcHVpZCAoMSwgJmVheCwg JmVieCwgJmVjeCwgJmVkeCkpDQo+PiArCSAgICAgIHJldHVybiBmYWxzZTsNCj4+ICsNCj4+ICsJ ICBpZiAoKGVjeCAmIGJpdF9PU1hTQVZFKSAhPSBiaXRfT1NYU0FWRSkNCj4+ICsJICAgICAgcmV0 dXJuIGZhbHNlOw0KPj4gKw0KPj4gKwkgIGlmIChfX2dldF9jcHVpZF9tYXggKDAsIE5VTEwpIDwg MHgxNCkNCj4+ICsJICAgICAgcmV0dXJuIGZhbHNlOw0KPj4gKw0KPj4gKwkgIF9fY3B1aWRfY291 bnQgKDB4MTQsIDAsIGVheCwgZWJ4LCBlY3gsIGVkeCk7DQo+PiArDQo+PiArCSAgcmV0dXJuIChl YnggJiBiaXRfUFRXKSA9PSBiaXRfUFRXOw0KPj4gKwl9DQo+PiArDQo+PiArCWludA0KPj4gKwlt YWluICgpDQo+PiArCXsNCj4+ICsJICByZXR1cm4gaGF2ZV9wdHcgKCk7DQo+PiArCX0NCj4+ICsN Cj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICB2ZXJib3NlICIkbWU6ICBjb21waWxpbmcgdGVzdGZp bGUgJHNyYyIgMg0KPj4gKw0KPj4gKyAgICBzZXQgdGVzdF9mbGFncyBbbGlzdCBhZGRpdGlvbmFs X2ZsYWdzPS1JJHtzcmNkaXJ9Ly4uL25hdF0NCj4+ICsNCj4+ICsgICAgc2V0IGNvbXBpbGVfZmxh Z3MgW2NvbmNhdCB7ZGVidWcgbm93YXJuaW5ncyBxdWlldH0gJHt0ZXN0X2ZsYWdzfV0NCj4+ICsg ICAgc2V0IGxpbmVzIFtnZGJfY29tcGlsZSAkc3JjICRleGUgZXhlY3V0YWJsZSAkY29tcGlsZV9m bGFnc10NCj4+ICsNCj4+ICsgICAgaWYgIVtzdHJpbmcgbWF0Y2ggIiIgJGxpbmVzXSB0aGVuIHsN Cj4+ICsJdmVyYm9zZSAiJG1lOiAgdGVzdGZpbGUgY29tcGlsYXRpb24gZmFpbGVkLCByZXR1cm5p bmcgMSIgMg0KPj4gKwlmaWxlIGRlbGV0ZSAkc3JjDQo+PiArCXJldHVybiAxDQo+PiArICAgIH0N Cj4+ICsNCj4+ICsgICAgIyBObyBlcnJvciBtZXNzYWdlLCBjb21waWxhdGlvbiBzdWNjZWVkZWQg c28gbm93IHJ1biBpdCB2aWEgZ2RiLg0KPj4gKyAgICBnZGJfZXhpdA0KPj4gKyAgICBnZGJfc3Rh cnQNCj4+ICsgICAgZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rpci8kc3ViZGlyDQo+PiArICAg IGdkYl9sb2FkICRleGUNCj4+ICsgICAgaWYgIVtydW50b19tYWluXSB7DQo+PiArCWZpbGUgZGVs ZXRlICRzcmMNCj4+ICsJcmV0dXJuIDENCj4+ICsgICAgfQ0KPj4gKyAgICBmaWxlIGRlbGV0ZSAk c3JjDQo+PiArDQo+PiArICAgICMgSW4gY2FzZSBvZiBhbiB1bmV4cGVjdGVkIG91dHB1dCwgd2Ug cmV0dXJuIDIgYXMgYSBmYWlsIHZhbHVlLg0KPj4gKyAgICBzZXQgc2tpcF9wdHdfdGVzdHMgMg0K Pj4gKyAgICBnZGJfdGVzdF9tdWx0aXBsZSAicHJpbnQgKGludCkgaGF2ZV9wdHcgKCkiICJjaGVj ayBwdHcgc3VwcG9ydCIgew0KPj4gKwktcmUgIi4uID0gMVxyXG4kZ2RiX3Byb21wdCAkIiB7DQo+ PiArCSAgICBzZXQgc2tpcF9wdHdfdGVzdHMgMA0KPj4gKwl9DQo+PiArCS1yZSAiLi4gPSAwXHJc biRnZGJfcHJvbXB0ICQiIHsNCj4+ICsJICAgIHNldCBza2lwX3B0d190ZXN0cyAxDQo+PiArCX0N Cj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBnZGJfZXhpdA0KPj4gKyAgICByZW1vdGVfZmlsZSBi dWlsZCBkZWxldGUgJGV4ZQ0KPj4gKw0KPj4gKyAgICB2ZXJib3NlICIkbWU6ICByZXR1cm5pbmcg JHNraXBfcHR3X3Rlc3RzIiAyDQo+PiArICAgIHJldHVybiAkc2tpcF9wdHdfdGVzdHMNCg0KTWFy a3VzPiBXZSBzdGlsbCBkb24ndCBrbm93IGlmIHRoZSBPUyBzdXBwb3J0cyBpdCwgZG8gd2U/DQoN ClRydWUsIEkgcmV3cm90ZSB0aGUgd2hvbGUgZnVuY3Rpb24gdG8gZG8gaXQgc2ltaWxhciB0byBv dGhlciBmdW5jdGlvbnMgd2UgYWRkZWQgaW4gdGhlIG1lYW53aGlsZSwNCmFuZCBhZGRlZCBjaGVj a3Mgd2hldGhlciAiL3N5cy9idXMvZXZlbnRfc291cmNlL2RldmljZXMvaW50ZWxfcHQvY2Fwcy9w dHdyaXRlIiBpcyBzZXQuDQoNClRoYW5rcywNCkZlbGl4DQpJbnRlbCBEZXV0c2NobGFuZCBHbWJI ClJlZ2lzdGVyZWQgQWRkcmVzczogQW0gQ2FtcGVvbiAxMCwgODU1NzkgTmV1YmliZXJnLCBHZXJt YW55ClRlbDogKzQ5IDg5IDk5IDg4NTMtMCwgd3d3LmludGVsLmRlIDxodHRwOi8vd3d3LmludGVs LmRlPgpNYW5hZ2luZyBEaXJlY3RvcnM6IENocmlzdGluIEVpc2Vuc2NobWlkLCBTaGFyb24gSGVj aywgVGlmZmFueSBEb29uIFNpbHZhICAKQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVydmlzb3J5IEJv YXJkOiBOaWNvbGUgTGF1ClJlZ2lzdGVyZWQgT2ZmaWNlOiBNdW5pY2gKQ29tbWVyY2lhbCBSZWdp c3RlcjogQW10c2dlcmljaHQgTXVlbmNoZW4gSFJCIDE4NjkyOAo=