From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: In-Reply-To: <20200617143125.23999-6-bst@pengutronix.de> MIME-Version: 1.0 Message-Id: From: Michael Olbrich Date: Sat, 20 Jun 2020 00:04:08 +0200 Subject: Re: [ptxdist] [APPLIED] doc: dev_code_signing: rework and extend code signing section List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: ptxdist@pengutronix.de Cc: Bastian Krause VGhhbmtzLCBhcHBsaWVkIGFzIGUxMjA5YmYxZjA2ZDI1MThiN2UyNGY2MmVjYTVkNjQwNTJmOTRk MjEuCgpNaWNoYWVsCgpbc2VudCBmcm9tIHBvc3QtcmVjZWl2ZSBob29rXQoKT24gU2F0LCAyMCBK dW4gMjAyMCAwMDowNDowOCArMDIwMCwgQmFzdGlhbiBLcmF1c2UgPGJzdEBwZW5ndXRyb25peC5k ZT4gd3JvdGU6Cj4gU2lnbmVkLW9mZi1ieTogQmFzdGlhbiBLcmF1c2UgPGJzdEBwZW5ndXRyb25p eC5kZT4KPiBSZXZpZXdlZC1ieTogUm9sYW5kIEhpZWJlciA8cmhpQHBlbmd1dHJvbml4LmRlPgo+ IFRlc3RlZC1ieTogTGFkaXNsYXYgTWljaGwgPGxhZGlzQGxpbnV4LW1pcHMub3JnPgo+IE1lc3Nh Z2UtSWQ6IDwyMDIwMDYxNzE0MzEyNS4yMzk5OS02LWJzdEBwZW5ndXRyb25peC5kZT4KPiBTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KPiAK PiBkaWZmIC0tZ2l0IGEvZG9jL2Rldl9jb2RlX3NpZ25pbmcucnN0IGIvZG9jL2Rldl9jb2RlX3Np Z25pbmcucnN0Cj4gaW5kZXggZGUwMDg3ZjhiMzZhLi5mYmViYjZiNTI0ZTEgMTAwNjQ0Cj4gLS0t IGEvZG9jL2Rldl9jb2RlX3NpZ25pbmcucnN0Cj4gKysrIGIvZG9jL2Rldl9jb2RlX3NpZ25pbmcu cnN0Cj4gQEAgLTMsMzQgKzMsMTM2IEBACj4gIENvZGUgU2lnbmluZwo+ICAtLS0tLS0tLS0tLS0K PiAgCj4gLVRoaXMgaXMgYW4gb3ZlcnZpZXcgb3ZlciB0aGUgcHR4ZGlzdCBzaWduaW5nIGluZnJh c3RydWN0dXJlLgo+IC1wdHhkaXN0IHVzZXMgUEtDUyMxMSBpbnRlcm5hbGx5IGZvciBwcm92aWRp bmcgYWNjZXNzIHRvIGtleXMgYW5kIGNlcnRpZmljYXRlcy4KPiAtUGFja2FnZXMgdGhhdCB3aXNo IHRvIHNpZ24gc29tZXRoaW5nIHNob3VsZCBpbXBsZW1lbnQgYSBQS0NTIzExIGludGVyZmFjZS4K PiArSW4gb3JkZXIgdG8gbWFrZSBzdXJlIGFuIGFydGlmYWN0IHdhcyBjcmVhdGVkIGJ5IGEga25v d24gYXV0aG9yaXR5IGFuZCB3YXMgbm90Cj4gK2FsdGVyZWQgbGF0ZXIsIGRpZ2l0YWwgc2lnbmF0 dXJlcyBwbGF5IGEga2V5IHJvbGUgd2hlbiBidWlsZGluZyBmaXJtd2FyZQo+ICtpbWFnZXMuCj4g K1RoaXMgaXMgYWxzbyBlc3NlbnRpYWwgd2hlbiBhIHZlcmlmaWVkIGJvb3QgY2hhaW4gaXMgZXN0 YWJsaXNoZWQsIGUuZy4gdmlhCj4gKypIaWdoIEFzc3VyYW5jZSBCb290KiAoSEFCKSwgc2lnbmVk IEZJVCBpbWFnZXMsIGFuZCBhIHZlcmlmaWVkIHJvb3QgZmlsZQo+ICtzeXN0ZW0uCj4gKwo+ICtQ VFhkaXN0IHVzZXMgYFBLQ1MjMTEgPHBrY3MxMS1kb2NfPmBfIGludGVybmFsbHkgdG8gcHJvdmlk ZSBhY2Nlc3MgdG8ga2V5cyBhbmQKPiArY2VydGlmaWNhdGVzLCB0aGVyZWZvcmUgY29kZSBzaWdu aW5nIGNvbnN1bWVycyBzaG91bGQgaW1wbGVtZW50IGEgUEtDUyMxMQo+ICtpbnRlcmZhY2UgdG8g bWFrZSB1c2Ugb2YgUFRYZGlzdCdzIGNvZGUgc2lnbmluZyBpbmZyYXN0cnVjdHVyZS4KPiAgCj4g IEFzIFBLQ1MjMTEgVVJJcyB1c3VhbGx5IGRpZmZlciBiZXR3ZWVuIGRpZmZlcmVudCB1c2VjYXNl cyAocmVsZWFzZSB2cy4KPiAtZGV2ZWxvcG1lbnQpIHRoZSBVUklzIG5vcm1hbGx5IGFyZSBub3Qg aGFyZGNvZGVkIGluIHRoZSBwYWNrYWdlIGNvbmZpZ3VyYXRpb24uCj4gLUluc3RlYWQsIHB0eGRp c3QgaGFzIHRoZSBpZGVhIG9mICJyb2xlcyIgd2hpY2ggYXJlIHN0cmluZyBpZGVudGlmaWVycyB1 c2VkIHRvCj4gK2RldmVsb3BtZW50KSB0aGUgVVJJcyBhcmUgdXN1YWxseSBub3QgaGFyZGNvZGVk IGluIHRoZSBwYWNrYWdlIGNvbmZpZ3VyYXRpb24uCj4gK0luc3RlYWQsIFBUWGRpc3QgaGFzIHRo ZSBpZGVhIG9mICoqcm9sZXMqKiB3aGljaCBhcmUgc3RyaW5nIGlkZW50aWZpZXJzIHVzZWQgdG8K PiAgYWNjZXNzIGEgc2luZ2xlIHByaXZhdGUvcHVibGljIGtleSBwYWlyIGFuZCBhIGNlcnRpZmlj YXRlLgo+ICAKPiAtcHR4ZGlzdCBzdXBwb3J0cyBIYXJkd2FyZSBTZWN1cml0eSBNb2R1bGVzIChI U00pLgo+IC1JbiBjYXNlIGEgSFNNIGlzIG5vdCBwcmVzZW50IG9yIHNoYWxsIG5vdCBiZSB1c2Vk IFNvZnRIU00gaXMgdXNlZCBpbnRlcm5hbGx5IHRvCj4gLXRyYW5zcGFyZW50bHkgcHJvdmlkZSB0 aGUgc2FtZSBBUEkgaW50ZXJuYWxseS4KPiArRmluYWxseSwgb25lIG9yIHNldmVyYWwgKipjb2Rl IHNpZ25pbmcgcHJvdmlkZXJzKiogc3VwcGx5IHRoZSBtYXBwaW5nIGZyb20KPiArcm9sZXMgdG8g dGhlIHJlc3BlY3RpdmUga2V5IG1hdGVyaWFsIG9yIGV2ZW4gcHJvdmlkZSBpdCB0aGVtc2VsdmVz IGZvcgo+ICtkZXZlbG9wbWVudC4KPiArCj4gK1BUWGRpc3Qgc3VwcG9ydHMgKkhhcmR3YXJlIFNl Y3VyaXR5IE1vZHVsZXMqIChIU00pLgo+ICtJbiBjYXNlIGFuIEhTTSBpcyBub3QgcHJlc2VudCBv ciBzaGFsbCBub3QgYmUgdXNlZCwgUFRYZGlzdCBjYW4gZW11bGF0ZSBpdAo+ICt1c2luZyBgU29m dEhTTSA8c29mdGhzbV8+YF8sIHdoaWxlIHN0aWxsIHRyYW5zcGFyZW50bHkgcHJvdmlkaW5nIHRo ZSBzYW1lIEFQSQo+ICt0byBjb2RlIHNpZ25pbmcgY29uc3VtZXJzLgo+ICsKPiArLi4gX3BrY3Mx MS1kb2M6IGh0dHBzOi8vd3d3LmNyeXB0c29mdC5jb20vcGtjczExZG9jLwo+ICsuLiBfc29mdGhz bTogaHR0cHM6Ly93d3cub3BlbmRuc3NlYy5vcmcvc29mdGhzbS8KPiArCj4gKy4uIF9jb2RlX3Np Z25pbmdfcHJvdmlkZXJzOgo+ICAKPiAtRm9yIGVhY2ggcm9sZSBhIFBLQ1MjMTEgVVJJIG11c3Qg YmUga25vd24gYnkgcHR4ZGlzdC4KPiAtSW4gY2FzZSBvZiBhIEhTTSB0aGUga2V5cyBhbmQgY2Vy dGlmaWNhdGVzIGFyZSBzdG9yZWQgaW4gdGhlIEhTTSwgYnV0IHB0eGRpc3QKPiArQ29kZSBTaWdu aW5nIFByb3ZpZGVycwo+ICt+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cj4gKwo+ICtGb3IgZWFjaCBy b2xlIGEgUEtDUyMxMSBVUkkgbXVzdCBiZSBrbm93biBieSBQVFhkaXN0Lgo+ICtJbiBjYXNlIG9m IGFuIEhTTSB0aGUga2V5cyBhbmQgY2VydGlmaWNhdGVzIGFyZSBzdG9yZWQgaW4gdGhlIEhTTSwg YnV0IFBUWGRpc3QKPiAgbmVlZHMgdG8ga25vdyB0aGUgUEtDUyMxMSBVUkkgdG8gYWNjZXNzIHRo ZSBrZXlzLgo+IC1UaGlzIGlzIGRvbmUgaW4gcHR4ZGlzdCBydWxlIGZpbGVzIGNhbGxpbmcgY3Nf c2V0X3VyaSA8cm9sZT4gPHVyaT4uCj4gLUZvciBTb2Z0SFNNIHRoZSBVUkkgaXMgZ2VuZXJhdGVk IGludGVybmFsbHkgYnkgcHR4ZGlzdCwgYnV0IGluc3RlYWQgdGhlCj4gLWtleXMvY2VydGlmaWNh dGVzIGZvciBlYWNoIHJvbGUgaGF2ZSBoYXZlIHRvIGJlIGltcG9ydGVkLgo+IC1UaGlzIGlzIGRv bmUgd2l0aCB0aGUgY3NfaW1wb3J0XyogZnVuY3Rpb25zIGJlbG93Lgo+IC0KPiAtRHVyaW5nIGVh Y2ggaW52b2NhdGlvbiBvZiBwdHhkaXN0IGV4YWN0bHkgb25lIGtleSBwcm92aWRlciBpcyBhY3Rp dmUuCj4gLVRoZSBjb2RlIHNpZ25pbmcgcHJvdmlkZXIgY2FuIGJlIGNob3NlbiB3aXRoIHRoZSBQ VFhDT05GX0NPREVfU0lHTklOR19QUk9WSURFUgo+IC12YXJpYWJsZS4KPiAtQSBjb2RlIHNpZ25p bmcgcHJvdmlkZXIgaXMgYSBwYWNrYWdlIHJlc3Bvc2libGUgZm9yIHByb3ZpZGluZyB0aGUgcm9s ZSA8LT4KPiAtUEtDUyMxMSBVUkkgcmVsYXRpb25zaGlwcyBpbiBjYXNlIGEgSFNNIGlzIHVzZWQg b3IgZm9yIHByb3ZpZGluZyB0aGUga2V5Cj4gK0ZvciBTb2Z0SFNNIHRoZSBVUkkgaXMgZ2VuZXJh dGVkIGludGVybmFsbHkgYnkgUFRYZGlzdCwgYnV0IGluc3RlYWQgdGhlCj4gK2tleXMvY2VydGlm aWNhdGVzIGZvciBlYWNoIHJvbGUgaGF2ZSB0byBiZSBpbXBvcnRlZCBieSB0aGUgY29kZSBzaWdu aW5nCj4gK3Byb3ZpZGVyIGludG8gdGhlIFNvZnRIU00uCj4gKwo+ICtBIGNvZGUgc2lnbmluZyBw cm92aWRlciBpcyBhIHBhY2thZ2UgcmVzcG9uc2libGUgZm9yIHByb3ZpZGluZyB0aGUgcm9sZSDi hpQKPiArUEtDUyMxMSBVUkkgcmVsYXRpb25zaGlwcyBpbiBjYXNlIGFuIEhTTSBpcyB1c2VkLCBv ciBmb3IgcHJvdmlkaW5nIHRoZSBrZXkKPiAgbWF0ZXJpYWwgaW4gY2FzZSBTb2Z0SFNNIGlzIHVz ZWQuCj4gIAo+IC1BIHBhY2thZ2Ugd2hpY2ggd2FudHMgdG8gc2lnbiBzb21ldGhpbmcgb3Igd2hp Y2ggbmVlZHMgYWNjZXNzIHRvIGtleXMgaGFzIHRvCj4gLXNlbGVjdCBDT0RFX1NJR05JTkcuCj4g LVRoaXMgbWFrZXMgc3VyZSB0aGUga2V5cyBhcmUgcmVhZHkgd2hlbiB0aGUgcGFja2FnZSBpcyBi ZWluZyBidWlsdC4KPiArV2hlbiBgYFBUWENPTkZfQ09ERV9TSUdOSU5HYGAgaXMgZW5hYmxlZCBl eGFjdGx5IG9uZSBjb2RlIHNpZ25pbmcgcHJvdmlkZXIgaXMKPiArYWN0aXZlIGR1cmluZyBlYWNo IGludm9jYXRpb24gb2YgUFRYZGlzdC4KPiArCj4gK1BUWGRpc3QgY29tZXMgZXF1aXBwZWQgd2l0 aCBhIGRldmVsb3BtZW50IGNvZGUgc2lnbmluZyBwcm92aWRlciAiZGV2ZWwiCj4gK2ltcGxlbWVu dGVkIHZpYSB0aGUgcGFja2FnZSBgYGhvc3QtcHR4LWNvZGUtc2lnbmluZy1kZXZgYC4KPiArSXQg aW1wb3J0cyBwdWJsaWNseSBhdmFpbGFibGUgZGV2ZWxvcG1lbnQga2V5cyBmb3IgZWFjaCByb2xl IGludG8gdGhlIFNvZnRIU00uCj4gKwo+ICsuLiBpbXBvcnRhbnQ6OiBUaGUgYGBob3N0LXB0eC1j b2RlLXNpZ25pbmctZGV2YGAgY29kZSBzaWduaW5nIHByb3ZpZGVyIGNhbiBiZQo+ICsgIHVzZWQg dG8gc2lnbiBhcnRpZmFjdHMgZm9yIGRldmVsb3BtZW50IHB1cnBvc2VzLCBidXQgKiptdXN0IG5v dCoqIGJlIHVzZWQgZm9yCj4gKyAgcHJvZHVjdGlvbi4KPiArCj4gK0NyZWF0aW5nIEN1c3RvbSBD b2RlIFNpZ25pbmcgUHJvdmlkZXJzCj4gK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e Xl5eXl5eCj4gKwo+ICtXaGVuIGEgc2V0IG9mIHJlbGVhc2Uga2V5cyBvciBwcm9qZWN0LXNwZWNp ZmljIGRldmVsb3BtZW50IGtleXMgc2hvdWxkIGJlCj4gK3VzZWQgKGUuZy4gdG8gYWNoaWV2ZSBi YWNrd2FyZCBjb21wYXRpYmlsaXR5KSwgYSBuZXcgY29kZSBzaWduaW5nIHByb3ZpZGVyCj4gK211 c3QgYmUgaW50cm9kdWNlZC4KPiArCj4gK1VzZSBgYHB0eGRpc3QgbmV3cGFja2FnZSBjb2RlLXNp Z25pbmctcHJvdmlkZXJgYCB0byBnZW5lcmF0ZSBzdWNoIGEgbmV3IGNvZGUKPiArc2lnbmluZyBw cm92aWRlci4KPiArUFRYZGlzdCBkaXN0aW5ndWlzaGVzIGJldHdlZW4gIlNvZnRIU00iLCAiSFNN cyB3aXRoIE9wZW5TQyBzdXBwb3J0IiBhbmQgIm90aGVyCj4gK0hTTXMiLgo+ICtUaGUgZ2VuZXJh dGVkIHNoZWxsIHNjcmlwdCBpbiBgYGxvY2FsX3NyYy88bmFtZT4tY29kZS1zaWduaW5nL2BgIGNv bnRhaW5zCj4gK2FuIGV4YW1wbGVzIGZvciB0aGUgc2VsZWN0ZWQgSFNNIHVzZSBjYXNlLgo+ICtT ZWUgOnJlZjpgY29kZV9zaWduaW5nX2hlbHBlcl9mdW5jdGlvbnNgIGZvciBhbiBleHBsYW5hdGlv biBvZiB0aGUgYXZhaWxhYmxlCj4gK2NvZGUgc2lnbmluZyBoZWxwZXJzLgo+ICtJbiBjYXNlIG9m IFNvZnRIU00gdXNlIGNhc2VzIHRoZSBrZXlzIHNob3VsZCBhbHNvIGJlIHBsYWNlZCBpbnNpZGUK PiArYGBsb2NhbF9zcmMvPG5hbWU+LWNvZGUtc2lnbmluZy9gYAo+ICsKPiArSW4gY2FzZSBhbiBI U00gaXMgdXNlZCBpdCBpcyByZXF1aXJlZCB0byBleHRlbmQgdGhlIGBgQ09ERV9TSUdOSU5HX0VO VmBgIHdpdGgKPiArYWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdmlhIGEgcHJlIHJ1 bGUgaW4KPiArYGAkKFBUWERJU1RfUExBVEZPUk1DT05GSUdESVIpL3J1bGVzL3ByZS9gYC4KPiAr Rm9yIFNvZnRIU00gc3VjaCBhIHByZSBydWxlIGV4aXN0cyBhbHJlYWR5IGluIHVwc3RyZWFtIFBU WGRpc3QgaW4KPiArYGBydWxlcy9wcmUvMDIwLWNvZGUtc2lnbmluZy1zb2Z0aHNtLm1ha2VgYC4K PiArRm9yIEhTTXMgd2l0aCAqT3BlblNDKiBzdXBwb3J0IGEgcHJlIHJ1bGUgaXMgZ2VuZXJhdGVk IGluCj4gK2BgJChQVFhESVNUX1BMQVRGT1JNQ09ORklHRElSKS9ydWxlcy9wcmUvMDIwLTxuYW1l Pi1jb2RlLXNpZ25pbmctaHNtLm1ha2VgYC4KPiArRm9yIG90aGVyIEhTTXMgYSBza2VsZXRvbiBw cmUgbWFrZSBmaWxlIGlzIGdlbmVyYXRlZCBhbmQgbXVzdCBiZSBhZGp1c3RlZC4KPiArCj4gK0Zv ciBleGFtcGxlLCBmb3IgTml0cm9rZXkgSFNNcyB3aGljaCB1c2UgT3BlblNDIHRoZSBnZW5lcmF0 ZWQgcHJlIHJ1bGUgbG9va3MKPiArbGlrZSB0aGlzOgo+ICsKPiArLi4gY29kZS1ibG9jazo6IG1h a2UKPiArCj4gKyAgICBpZmRlZiBQVFhDT05GX0NPREVfU0lHTklOR19QUk9WSURFUl88TkFNRT4K PiArICAgIENPREVfU0lHTklOR19FTlYgKz0gXAo+ICsgICAgCVBLQ1MxMV9NT0RVTEVfUEFUSD0i JHtQVFhESVNUX1NZU1JPT1RfSE9TVH0vbGliL3BrY3MxMS9vcGVuc2MtcGtjczExLnNvIgo+ICsg ICAgZW5kaWYKPiArCj4gK05vdGUgdGhhdCB0aGUgbW9kdWxlIGlzIGJ1aWx0IGluIHRoZSBCU1Ag aW4gdGhpcyBjYXNlLgo+ICtUaGlzIGlzIG5vdCBzdHJpY3RseSByZXF1aXJlZCwgaXQgaXMgYWxz byBwb3NzaWJsZSB0byB1c2UgYW4gb3RoZXJ3aXNlCj4gK2Rpc3RyaWJ1dGVkIG1vZHVsZSwgZS5n LiBieSB0aGUgSFNNIG1hbnVmYWN0dXJlci4KPiArRm9yIEhTTXMgc3VwcG9ydGVkIGJ5IE9wZW5T QyB0aGUgcmVxdWlyZWQgT3BlblNDIHNlbGVjdHMgYXJlIGdlbmVyYXRlZC4KPiArSWYgYW4gSFNN IHdpdGhvdXQgT3BlblNDIHN1cHBvcnQgaXMgdXNlZCB0aGUgYGBzZWxlY3QgRklYTUVgYCBzaG91 bGQgZWl0aGVyIGJlCj4gK3JlcGxhY2VkIHdpdGggYW4gYXBwcm9wcmlhdGUgaG9zdCB0b29sIHRo YXQgcHJvdmlkZXMgdGhlIFBLQ1MjMTEgbW9kdWxlIG9yCj4gK3JlbW92ZWQgYWx0b2dldGhlciBp ZiBhbiBleHRlcm5hbCBQS0NTIzExIG1vZHVsZSBpcyB1c2VkLgo+ICsKPiArU3dpdGNoaW5nIHRo ZSBjb2RlIHNpZ25pbmcgcHJvdmlkZXIgaXMgbm93IGZpbmFsbHkgcG9zc2libGUgd2l0aAo+ICtg YHB0eGRpc3QgcGxhdGZvcm1jb25maWdgYCwgdGhlbiBuYXZpZ2F0ZSB0byAqQ29kZSBzaWduaW5n KiDihpIgKkNvZGUgc2lnbmluZwo+ICtwcm92aWRlciouCj4gKwo+ICsuLiBfY29kZV9zaWduaW5n X2NvbnN1bWVyczoKPiArCj4gK0NvZGUgU2lnbmluZyBDb25zdW1lcnMKPiArfn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgo+ICsKPiArQSBwYWNrYWdlIGhhcyB0byBzZWxlY3QgYGBDT0RFX1NJR05JTkdg YCBpZiBpdCB3YW50cyB0byBzaWduIHNvbWV0aGluZywgb3IgaWYKPiAraXQgbmVlZHMgYWNjZXNz IHRvIGtleXMgYW5kL29yIGNlcnRpZmljYXRlcy4KPiArVGhlIGNvbmZpZyBzeW1ib2wgaXMgYXZh aWxhYmxlIGluIHB0eGNvbmZpZyBhcyB3ZWxsIGFzIGluIHBsYXRmb3JtY29uZmlnLgo+ICtTZWxl Y3RpbmcgdGhpcyBzeW1ib2wgbWFrZXMgc3VyZSB0aGUga2V5cyBhbmQgY2VydGlmaWNhdGVzIGFy ZSByZWFkeSB3aGVuIHRoZQo+ICtwYWNrYWdlIGlzIGJlaW5nIGJ1aWx0Lgo+ICsKPiArQnkgYWRk aW5nIGBgQ09ERV9TSUdOSU5HX0VOVmBgIHRvIHRoZSBwYWNrYWdlJ3MgbWFrZS9jb25mL2ltYWdl IGVudmlyb25tZW50IGEKPiArdG9vbCBpbXBsZW1lbnRpbmcgYSBQS0NTIzExIGludGVyZmFjZSBj YW4gYWNjZXNzIHRoZSBIU00gb3IgU29mdEhTTS4KPiArVGhlIFBLQ1MjMTEgVVJJIGNhbiBiZSBy ZXRyaWV2ZWQgdmlhIDpyZWY6YGNzX2dldF91cmlgIGFuZCBwYXNzZWQgb24sIHVzdWFsbHkKPiAr YWxzbyB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuCj4gKwo+ICs6cmVmOmBjc19nZXRfY2Fg IGNhbiBiZSB1c2VkIHRvIGluc3RhbGwgYSBrZXlyaW5nIHRvIHRoZSByb290IGZpbGUgc3lzdGVt LCBlLmcuOgo+ICsKPiArLi4gY29kZS1ibG9jazo6IG5vbmUKPiArCj4gKyAgICAkKGNhbGwgaW5z dGFsbF9jb3B5LCByYXVjLCAwLCAwLCAwNjQ0LCBcCj4gKyAgICAgICQoc2hlbGwgY3NfZ2V0X2Nh IHVwZGF0ZSksIFwKPiArICAgICAgL2V0Yy9yYXVjL2NhLmNlcnQucGVtKQo+ICsKPiArLi4gbm90 ZTo6IFdoZW4gY29kZSBzaWduaW5nIGhlbHBlciBmdW5jdGlvbnMgYXJlIHVzZWQgaW4gbWFrZSB2 YXJpYWJsZXMgKGUuZy4KPiArICBmb3IgZW52aXJvbm1lbnQgZGVmaW5pdGlvbnMpIHJlY3Vyc2l2 ZWx5IGV4cGFuZGVkIHZhcmlhYmxlcyBtdXN0IGJlIHVzZWQKPiArICAoYGA9YGAsIG5vdCBgYDo9 YGApLgo+ICsgIE90aGVyd2lzZSB0aGUgdmFyaWFibGUgaXMgZXhwYW5kZWQgYmVmb3JlIGEgY29k ZSBzaWduaW5nIHByb3ZpZGVyIGNhbiBwZXJmb3JtCj4gKyAgaXRzIHNldHVwLgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHR4ZGlzdCBtYWlsaW5nIGxp c3QKcHR4ZGlzdEBwZW5ndXRyb25peC5kZQpUbyB1bnN1YnNjcmliZSwgc2VuZCBhIG1haWwgd2l0 aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIgdG8gcHR4ZGlzdC1yZXF1ZXN0QHBlbmd1dHJvbml4LmRl Cg==