From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 08 Sep 2021 13:30:10 +0200 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1mNvmM-0002k9-3o for lore@lore.pengutronix.de; Wed, 08 Sep 2021 13:30:10 +0200 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1mNvmL-0001Ui-NM; Wed, 08 Sep 2021 13:30:09 +0200 Received: from ptx.hi.pengutronix.de ([2001:67c:670:100:1d::c0]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mNvmE-0001UY-7z for ptxdist@pengutronix.de; Wed, 08 Sep 2021 13:30:02 +0200 Received: from rhi by ptx.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1mNvmD-0001vd-VG for ptxdist@pengutronix.de; Wed, 08 Sep 2021 13:30:01 +0200 Date: Wed, 8 Sep 2021 13:30:01 +0200 From: Roland Hieber To: ptxdist@pengutronix.de Message-ID: <20210908113001.3e6wj5vyjjytpwtp@pengutronix.de> References: <20210809080608.23475-1-rhi@pengutronix.de> <20210809080608.23475-4-rhi@pengutronix.de> <20210903125431.GC4027748@pengutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20210903125431.GC4027748@pengutronix.de> User-Agent: NeoMutt/20180716 Subject: Re: [ptxdist] [PATCH v2 4/5] ptxd_lib_code_signing: provide consumer functions with some environment X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list 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 Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false T24gRnJpLCBTZXAgMDMsIDIwMjEgYXQgMDI6NTQ6MzFQTSArMDIwMCwgTWljaGFlbCBPbGJyaWNo IHdyb3RlOgo+IE9uIE1vbiwgQXVnIDA5LCAyMDIxIGF0IDEwOjA2OjA3QU0gKzAyMDAsIFJvbGFu ZCBIaWViZXIgd3JvdGU6Cj4gPiBUaGUgY29kZSBzaWduaW5nIGNvbnN1bWVyIGZ1bmN0aW9ucyBz aG91bGQgYmUgYWJsZSB0byByZXRyaWV2ZSBzb21lCj4gPiBpbmZvcm1hdGlvbiBhYm91dCB0aGUg cmVjaXBlIGluIHdoaWNoIHRoZXkgd2VyZSBjYWxsZWQgaW4gb3JkZXIgdG8gbWFrZQo+ID4gYWRk aXRpb25hbCBjaGVja3MgaWYgbmVlZGVkLiBSZWZhY3RvciB0aGUgKHNoZWxsIGNzX2dldF8qLCDi gKYpIGNhbGxzIGludG8KPiA+IG1hY3JvIGNhbGxzIG9mIHRoZSBmb3JtICQoY2FsbCBwdHgvY3Mt Z2V0LSosIDxQS0c+LCDigKYpLiBMZXQgdGhlc2UKPiA+IG1hY3JvcyBsb29rIHVwIHRoZSBwYWNr YWdlIG5hbWUgKGZvciBub3cpIGZyb20gUFRYX01BUF9UT19wYWNrYWdlXzxQS0c+Cj4gPiBiZWZv cmUgcGFzc2luZyBpdCB0byB0aGUgc2hlbGwgZnVuY3Rpb25zLiBVc2luZyAkKGNhbGwgd29ybGQv ZW52KSBoZXJlCj4gPiB3b3VsZCBiZSBwcmFjdGljYWwsIGJ1dCB3b3VsZCBhbHNvIGNhdXNlIG1h a2UgdG8gY29tcGxhaW4gYWJvdXQKPiA+IHJlY3Vyc2l2ZSB2YXJpYWJsZSBkZXBlbmRlbmNpZXMu IFRoZXJlZm9yZSB2YXJpYWJsZXMgbXVzdCBiZSBhZGRlZAo+ID4gdG8gcHR4L2NzLWNvbnN1bWVy LWVudiBtYW51YWxseSwgYnV0IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gY2FuIGJlIGFkZGVkCj4g PiBsYXRlciBpZiBuZWVkZWQuCj4gPiAKPiA+IFJlZmFjdG9yIHRoZSBleGlzdGluZyBjb25zdW1l cnMgaW4gdGhlIGNvZGUgYmFzZSB0b28sIGFuZCBhZGQgYW4gZXJyb3IKPiA+IG1lc3NhZ2UgaW4g Y2FzZSBhbnlvbmUgZWxzZSB0aGF0IHN0aWxsIHVzZXMgdGhlIG9sZCBBUEkuCj4gPiAKPiA+IFNp Z25lZC1vZmYtYnk6IFJvbGFuZCBIaWViZXIgPHJoaUBwZW5ndXRyb25peC5kZT4KPiA+IC0tLQo+ ID4gUEFUQ0ggdjI6Cj4gPiAgLSBkZWZpbmUgbXVsdGlsaW5lIG1hY3JvcyB1c2luZyAiZGVmaW5l Igo+ID4gCj4gPiBQQVRDSCB2MTogaHR0cHM6Ly9sb3JlLnB0eGRpc3Qub3JnL3B0eGRpc3QvMjAy MTA4MDQxNDIzMzAuMzI3MzktNC1yaGlAcGVuZ3V0cm9uaXguZGUKPiA+IC0tLQo+ID4gIGRvYy9k ZXZfY29kZV9zaWduaW5nLnJzdCAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCj4gPiAgZG9j L3JlZl9jb2RlX3NpZ25pbmdfaGVscGVycy5yc3QgICAgICAgICAgICAgIHwgMjUgKysrKysrLS0t LS0KPiA+ICBydWxlcy9iYXJlYm94Lm1ha2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MiArLQo+ID4gIHJ1bGVzL2ltYWdlLXJhdWMubWFrZSAgICAgICAgICAgICAgICAgICAgICAgICB8 ICA2ICstLQo+ID4gIHJ1bGVzL2tlcm5lbC5tYWtlICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA2ICstLQo+ID4gIHJ1bGVzL3ByZS8wMzAtY29kZS1zaWduaW5nLWNvbnN1bWVycy5tYWtl ICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKysKPiA+ICBydWxlcy9yYXVjLm1ha2UgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ID4gIC4uLi90ZW1wbGF0ZXMvdGVtcGxh dGUtYmFyZWJveC1pbXgtaGFidjQtbWFrZSB8ICA2ICstLQo+ID4gIHNjcmlwdHMvbGliL3B0eGRf bGliX2NvZGVfc2lnbmluZy5zaCAgICAgICAgICB8IDEzICsrKysrKwo+ID4gIDkgZmlsZXMgY2hh bmdlZCwgODMgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCj4gPiAgY3JlYXRlIG1vZGUg MTAwNjQ0IHJ1bGVzL3ByZS8wMzAtY29kZS1zaWduaW5nLWNvbnN1bWVycy5tYWtlCj4gPiAKPiA+ IGRpZmYgLS1naXQgYS9kb2MvZGV2X2NvZGVfc2lnbmluZy5yc3QgYi9kb2MvZGV2X2NvZGVfc2ln bmluZy5yc3QKPiA+IGluZGV4IGI5YTdjNDJmMmE1NS4uNDEzZjY5NDk4MGViIDEwMDY0NAo+ID4g LS0tIGEvZG9jL2Rldl9jb2RlX3NpZ25pbmcucnN0Cj4gPiArKysgYi9kb2MvZGV2X2NvZGVfc2ln bmluZy5yc3QKPiA+IEBAIC0xNjQsNyArMTY0LDcgQEAgYWxzbyB2aWEgYW4gZW52aXJvbm1lbnQg dmFyaWFibGUuCj4gPiAgLi4gY29kZS1ibG9jazo6IG5vbmUKPiA+ICAKPiA+ICAgICAgJChjYWxs IGluc3RhbGxfY29weSwgcmF1YywgMCwgMCwgMDY0NCwgXAo+ID4gLSAgICAgICQoc2hlbGwgY3Nf Z2V0X2NhIHVwZGF0ZSksIFwKPiA+ICsgICAgICAkKGNhbGwgcHR4L2NzLWdldC1jYSwgUkFVQywg dXBkYXRlKSwgXAo+ID4gICAgICAgIC9ldGMvcmF1Yy9jYS5jZXJ0LnBlbSkKPiA+ICAKPiA+ICAu LiBub3RlOjogV2hlbiBjb2RlIHNpZ25pbmcgaGVscGVyIGZ1bmN0aW9ucyBhcmUgdXNlZCBpbiBt YWtlIHZhcmlhYmxlcyAoZS5nLgo+ID4gZGlmZiAtLWdpdCBhL2RvYy9yZWZfY29kZV9zaWduaW5n X2hlbHBlcnMucnN0IGIvZG9jL3JlZl9jb2RlX3NpZ25pbmdfaGVscGVycy5yc3QKPiA+IGluZGV4 IGZkMTZjYTc2MzU1Ny4uZDM0Mjk3NzhkOTRkIDEwMDY0NAo+ID4gLS0tIGEvZG9jL3JlZl9jb2Rl X3NpZ25pbmdfaGVscGVycy5yc3QKPiA+ICsrKyBiL2RvYy9yZWZfY29kZV9zaWduaW5nX2hlbHBl cnMucnN0Cj4gPiBAQCAtMjk3LDE5ICsyOTcsMjEgQEAgSW4gdGhlIGV4YW1wbGUgZ2l2ZW4gaW4g OnJlZjpgY3NfZ3JvdXBfYWRkX3JvbGVzYCBhYm92ZSwgdGhpcyB3b3VsZCBwcmludDo6Cj4gPiAg Q29uc3VtZXIgRnVuY3Rpb25zCj4gPiAgfn5+fn5+fn5+fn5+fn5+fn5+Cj4gPiAgCj4gPiArVGhl IGNvbnN1bWVyIGZ1bmN0aW9ucyBhcmUgaW1wbGVtZW50ZWQgYXMgbWFrZSBtYWNyb3MuCj4gPiAg UGFja2FnZXMgdGhhdCB3YW50IHRvIHNpZ24gc29tZXRoaW5nIG9yIG5lZWQgYWNjZXNzIHRvIGtl eXMvQ0FzIGNhbiByZXRyaWV2ZQo+ID4gIFBLQ1MjMTEgVVJJcyBhbmQgQ0Ega2V5cmluZ3Mgd2l0 aCB0aGVzZSBoZWxwZXJzLgo+ID4gIAo+ID4gKy4uIF9wdHgvY3MtZ2V0LXVyaToKPiA+ICAuLiBf Y3NfZ2V0X3VyaToKPiA+ICAKPiA+IC1jc19nZXRfdXJpCj4gPiAtXl5eXl5eXl5eXgo+ID4gK3B0 eC9jcy1nZXQtdXJpCj4gPiArXl5eXl5eXl5eXl5eXl4KPiA+ICAKPiA+ICBVc2FnZToKPiA+ICAK PiA+IC0uLiBjb2RlLWJsb2NrOjogYmFzaAo+ID4gKy4uIGNvZGUtYmxvY2s6OiBtYWtlCj4gPiAg Cj4gPiAtICAgIGNzX2dldF91cmkgPHJvbGU+Cj4gPiArICAgICQoY2FsbCBwdHgvY3MtZ2V0LXVy aSwgPFBLRz4sIDxyb2xlPikKPiA+ICAKPiA+ICBHZXQgUEtDUyMxMSBVUkkgZm9yIHJvbGUuCj4g PiAgCj4gPiBAQCAtMzE3LDE2ICszMTksMTcgQEAgUHJlY29uZGl0aW9uczoKPiA+ICAKPiA+ICAt IHRoZSBVUkkgbXVzdCBoYXZlIGJlZW4gc2V0IChzZWUgOnJlZjpgY3Nfc2V0X3VyaWApCj4gPiAg Cj4gPiArLi4gX3B0eC9jcy1nZXQtY2E6Cj4gPiAgLi4gX2NzX2dldF9jYToKPiA+ICAKPiA+IC1j c19nZXRfY2EKPiA+IC1eXl5eXl5eXl4KPiA+ICtwdHgvY3MtZ2V0LWNhCj4gPiArXl5eXl5eXl5e Xl5eXgo+ID4gIAo+ID4gIFVzYWdlOgo+ID4gIAo+ID4gLS4uIGNvZGUtYmxvY2s6OiBiYXNoCj4g PiArLi4gY29kZS1ibG9jazo6IG1ha2UKPiA+ICAKPiA+IC0gICAgY3NfZ2V0X2NhIDxyb2xlPgo+ ID4gKyAgICAkKGNhbGwgcHR4L2NzLWdldC1jYSwgPFBLRz4sIDxyb2xlPikKPiA+ICAKPiA+ICBH ZXQgcGF0aCB0byB0aGUgQ0Ega2V5cmluZyBpbiBQRU0gZm9ybWF0IGZvciByb2xlLgo+ID4gIAo+ ID4gQEAgLTM0Nyw3ICszNTAsNyBAQCBFeGFtcGxlOgo+ID4gIAo+ID4gICAgICMgc2V0IHVwIGtl cm5lbCBtb2R1bGUgc2lnbmluZywgYW5kIGFkZCBhIHRydXN0ZWQgQ0EgaWYgdGhlIHByb3ZpZGVy IHNldCBvbmUKPiA+ICAgICBLRVJORUxfU0lHTl9PUFQgPQo+ID4gLSAgIAlDT05GSUdfTU9EVUxF X1NJR19LRVk9JyIkKHNoZWxsIGNzX2dldF91cmkga2VybmVsLW1vZHVsZXMpIicgXAo+ID4gKyAg IAlDT05GSUdfTU9EVUxFX1NJR19LRVk9JyIkKGNhbGwgcHR4L2NzLWdldC11cmksIEtFUk5FTCwg a2VybmVsLW1vZHVsZXMpIicgXAo+ID4gICAgIAlDT05GSUdfTU9EVUxFX1NJR19BTEw9eSBcCj4g PiAtICAgCSQoaWYgJChzaGVsbCBjc19nZXRfY2Ega2VybmVsLXRydXN0ZWQpLCBcCj4gPiAtICAg CQlDT05GSUdfU1lTVEVNX1RSVVNURURfS0VZUz0kKHNoZWxsIGNzX2dldF9jYSBrZXJuZWwtdHJ1 c3RlZCkpCj4gPiArICAgCSQoaWYgJChjYWxsIHB0eC9jcy1nZXQtY2EsIEtFUk5FTCwga2VybmVs LXRydXN0ZWQpLCBcCj4gPiArICAgCQlDT05GSUdfU1lTVEVNX1RSVVNURURfS0VZUz0kKGNhbGwg cHR4L2NzLWdldC1jYSwgS0VSTkVMLCBrZXJuZWwtdHJ1c3RlZCkpCj4gPiBkaWZmIC0tZ2l0IGEv cnVsZXMvYmFyZWJveC5tYWtlIGIvcnVsZXMvYmFyZWJveC5tYWtlCj4gPiBpbmRleCBiZWE5ZjNh ZGNiZjguLjk4M2QzNDAzMmUwZCAxMDA2NDQKPiA+IC0tLSBhL3J1bGVzL2JhcmVib3gubWFrZQo+ ID4gKysrIGIvcnVsZXMvYmFyZWJveC5tYWtlCj4gPiBAQCAtMTAzLDcgKzEwMyw3IEBAIGVuZGlm Cj4gPiAgaWZkZWYgUFRYQ09ORl9DT0RFX1NJR05JTkcKPiA+ICBCQVJFQk9YX01BS0VfRU5WID0g XAo+ID4gIAkkKENPREVfU0lHTklOR19FTlYpIFwKPiA+IC0JSU1BR0VfS0VSTkVMX0ZJVF9LRVk9 IiQoc2hlbGwgY3NfZ2V0X3VyaSBpbWFnZS1rZXJuZWwtZml0KSIKPiA+ICsJSU1BR0VfS0VSTkVM X0ZJVF9LRVk9IiQoY2FsbCBwdHgvY3MtZ2V0LXVyaSwgQkFSRUJPWCwgaW1hZ2Uta2VybmVsLWZp dCkiCj4gPiAgZW5kaWYKPiA+ICAKPiA+ICAkKFNUQVRFRElSKS9iYXJlYm94LmNvbXBpbGU6Cj4g PiBkaWZmIC0tZ2l0IGEvcnVsZXMvaW1hZ2UtcmF1Yy5tYWtlIGIvcnVsZXMvaW1hZ2UtcmF1Yy5t YWtlCj4gPiBpbmRleCBmZTFiMGU4OWJlN2MuLmM4NzQ3MjMxZjhmMSAxMDA2NDQKPiA+IC0tLSBh L3J1bGVzL2ltYWdlLXJhdWMubWFrZQo+ID4gKysrIGIvcnVsZXMvaW1hZ2UtcmF1Yy5tYWtlCj4g PiBAQCAtMzIsOSArMzIsOSBAQCBJTUFHRV9SQVVDX0VOVgk9IFwKPiA+ICAJUkFVQ19CVU5ETEVf VkVSU0lPTj0iJChjYWxsIHJlbW92ZV9xdW90ZXMsICQoUFRYQ09ORl9SQVVDX0JVTkRMRV9WRVJT SU9OKSkiIFwKPiA+ICAJUkFVQ19CVU5ETEVfQlVJTEQ9JChjYWxsIHB0eC9zaCwgZGF0ZSArJUZU JVQleikgXAo+ID4gIAlSQVVDX0JVTkRMRV9ERVNDUklQVElPTj0kKFBUWENPTkZfSU1BR0VfUkFV Q19ERVNDUklQVElPTikgXAo+ID4gLQlSQVVDX0tFWT0iJChzaGVsbCBjc19nZXRfdXJpIHVwZGF0 ZSkiIFwKPiA+IC0JUkFVQ19DRVJUPSIkKHNoZWxsIGNzX2dldF91cmkgdXBkYXRlKSIgXAo+ID4g LQlSQVVDX0tFWVJJTkc9IiQoc2hlbGwgY3NfZ2V0X2NhIHVwZGF0ZSkiCj4gPiArCVJBVUNfS0VZ PSIkKGNhbGwgcHR4L2NzLWdldC11cmksIElNQUdFX1JBVUMsIHVwZGF0ZSkiIFwKPiA+ICsJUkFV Q19DRVJUPSIkKGNhbGwgcHR4L2NzLWdldC11cmksIElNQUdFX1JBVUMsIHVwZGF0ZSkiIFwKPiA+ ICsJUkFVQ19LRVlSSU5HPSIkKGNhbGwgcHR4L2NzLWdldC1jYSwgSU1BR0VfUkFVQywgdXBkYXRl KSIKPiA+ICAKPiA+ICAkKElNQUdFX1JBVUNfSU1BR0UpOgo+ID4gIAlAJChjYWxsIHRhcmdldGlu Zm8pCj4gPiBkaWZmIC0tZ2l0IGEvcnVsZXMva2VybmVsLm1ha2UgYi9ydWxlcy9rZXJuZWwubWFr ZQo+ID4gaW5kZXggOWNhZmY2Nzc5MThlLi5lNmZhYmE4MmRmMzggMTAwNjQ0Cj4gPiAtLS0gYS9y dWxlcy9rZXJuZWwubWFrZQo+ID4gKysrIGIvcnVsZXMva2VybmVsLm1ha2UKPiA+IEBAIC03Mywx MiArNzMsMTIgQEAgS0VSTkVMX0JBU0VfT1BUCQk9IFwKPiA+ICAKPiA+ICBpZmRlZiBQVFhDT05G X0tFUk5FTF9DT0RFX1NJR05JTkcKPiA+ICBLRVJORUxfQkFTRV9PUFQJCSs9IFwKPiA+IC0JJChp ZiAkKHNoZWxsIGNzX2dldF9jYSBrZXJuZWwtdHJ1c3RlZCksIFwKPiA+IC0JCUNPTkZJR19TWVNU RU1fVFJVU1RFRF9LRVlTPSQoc2hlbGwgY3NfZ2V0X2NhIGtlcm5lbC10cnVzdGVkKSkKPiA+ICsJ JChpZiAkKGNhbGwgcHR4L2NzLWdldC1jYSwgS0VSTkVMLCBrZXJuZWwtdHJ1c3RlZCksIFwKPiA+ ICsJCUNPTkZJR19TWVNURU1fVFJVU1RFRF9LRVlTPSQoY2FsbCBwdHgvY3MtZ2V0LWNhLCBLRVJO RUwsIGtlcm5lbC10cnVzdGVkKSkKPiA+ICBlbmRpZgo+ID4gIGlmZGVmIFBUWENPTkZfS0VSTkVM X01PRFVMRVNfU0lHTgo+ID4gIEtFUk5FTF9CQVNFX09QVAkJKz0gXAo+ID4gLQlDT05GSUdfTU9E VUxFX1NJR19LRVk9JyIkKHNoZWxsIGNzX2dldF91cmkga2VybmVsLW1vZHVsZXMpIicKPiA+ICsJ Q09ORklHX01PRFVMRV9TSUdfS0VZPSciJChjYWxsIHB0eC9jcy1nZXQtdXJpLCBLRVJORUwsIGtl cm5lbC1tb2R1bGVzKSInCj4gPiAgZW5kaWYKPiA+ICAKPiA+ICAjIEludGVybWVkaWF0ZSBvcHRp b24uIFRoaXMgd2lsbCBiZSB1c2VkIGJ5IGtlcm5lbCBtb2R1bGUgcGFja2FnZXMuCj4gPiBkaWZm IC0tZ2l0IGEvcnVsZXMvcHJlLzAzMC1jb2RlLXNpZ25pbmctY29uc3VtZXJzLm1ha2UgYi9ydWxl cy9wcmUvMDMwLWNvZGUtc2lnbmluZy1jb25zdW1lcnMubWFrZQo+ID4gbmV3IGZpbGUgbW9kZSAx MDA2NDQKPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uOTA5ZThlYmQ2OTM2Cj4gPiAtLS0gL2Rldi9u dWxsCj4gPiArKysgYi9ydWxlcy9wcmUvMDMwLWNvZGUtc2lnbmluZy1jb25zdW1lcnMubWFrZQo+ ID4gQEAgLTAsMCArMSw0NCBAQAo+ID4gKyMgLSotbWFrZWZpbGUtKi0KPiA+ICsjCj4gPiArIyBD b3B5cmlnaHQgKEMpIDIwMjEgUm9sYW5kIEhpZWJlciwgUGVuZ3V0cm9uaXggPHJoaUBwZW5ndXRy b25peC5kZT4KPiA+ICsjCj4gPiArIyBGb3IgZnVydGhlciBpbmZvcm1hdGlvbiBhYm91dCB0aGUg UFRYZGlzdCBwcm9qZWN0IGFuZCBsaWNlbnNlIGNvbmRpdGlvbnMKPiA+ICsjIHNlZSB0aGUgUkVB RE1FIGZpbGUuCj4gPiArIwo+ID4gKyMKPiA+ICsKPiA+ICsjCj4gPiArIyBVc2FnZTogJChjYWxs IHB0eC9jcy1jb25zdW1lci1lbnYsIDxQS0c+KQo+ID4gKyMKPiA+ICsjIFdlIHVzdWFsbHkgd2Fu dCB0byB1c2UgY3MtZ2V0LSogbWFjcm9zIGluc2lkZSBhIDxQS0c+X01BS0VfT1BUIGV0Yy4sIHdo aWNoIGlzCj4gPiArIyByZWZlcmVuY2VkIGluIHdvcmxkL2Vudiwgc28gd2UgY2Fubm90IHVzZSB3 b3JsZC9lbnYgdG8gc2V0IHBrZ19uYW1lIHdpdGhvdXQKPiA+ICsjIHJ1bm5pbmcgaW50byBjaXJj dWxhciB2YXJpYWJsZSBkZXBlbmRlbmNpZXMuCj4gPiArIwo+ID4gK2RlZmluZSBwdHgvY3MtY29u c3VtZXItZW52Cj4gCj4gVXNlIHRoZSByZWd1bGFyICdwdHgvY3MtY29uc3VtZXItZW52ID0nIGZv ciB0aGlzIHRvIGtlZXAgaXQgY29uc2lzdGVudCB3aXRoCj4gb3RoZXIgZW52IGxpc3RzLgoKSSBk b24ndCB1bmRlcnN0YW5kLCBpbiB2MSBbMV0geW91IHNhaWQgSSBzaG91bGQgdXNlICdkZWZpbmUn IGluc3RlYWQgb2YKbXVsdGktbGluZSAnPScgbWFjcm9z4oCmPwoKWzFdOiBodHRwczovL2xvcmUu cHR4ZGlzdC5vcmcvcHR4ZGlzdC8yMDIxMDgwNDE1MjMwNy5HUzEzMTA4QHBlbmd1dHJvbml4LmRl LwoKIC0gUm9sYW5kCgo+ID4gKwlwa2dfbmFtZT0nJChQVFhfTUFQX1RPX3BhY2thZ2VfJChzdHJp cCAkKDEpKSknIFwKPiA+ICsJJChDT0RFX1NJR05JTkdfRU5WKQo+ID4gK2VuZGVmCj4gPiArCj4g PiArIwo+ID4gKyMgVXNhZ2U6ICQoY2FsbCBwdHgvY3MtZ2V0LXVyaSwgPFBLRz4sIDxyb2xlPikK PiA+ICsjCj4gPiArZGVmaW5lIHB0eC9jcy1nZXQtdXJpCj4gPiArJChzdHJpcCBcCj4gPiArCSQo c2hlbGwgXAo+ID4gKwkJJChjYWxsIHB0eC9jcy1jb25zdW1lci1lbnYsICQoMSkpXAo+ID4gKwkJ CWNzX2dldF91cmkgJyQoc3RyaXAgJCgyKSknXAo+ID4gKwkpXAo+IAo+IE5vIFwgbmVlZGVkIHdp dGggJ2RlZmluZScuCj4gCj4gPiArKQo+ID4gK2VuZGVmCj4gPiArCj4gPiArIwo+ID4gKyMgVXNh Z2U6ICQoY2FsbCBwdHgvY3MtZ2V0LWNhLCA8UEtHPiwgPHJvbGU+KQo+ID4gKyMKPiA+ICtkZWZp bmUgcHR4L2NzLWdldC1jYQo+ID4gKyQoc3RyaXAgXAo+ID4gKwkkKHNoZWxsIFwKPiA+ICsJCSQo Y2FsbCBwdHgvY3MtY29uc3VtZXItZW52LCAkKDEpKVwKPiA+ICsJCQljc19nZXRfY2EgJyQoc3Ry aXAgJCgyKSknXAo+ID4gKwkpXAo+IAo+IFNhbWUgaGVyZS4KPiAKPiA+ICspCj4gPiArZW5kZWYK PiA+IGRpZmYgLS1naXQgYS9ydWxlcy9yYXVjLm1ha2UgYi9ydWxlcy9yYXVjLm1ha2UKPiA+IGlu ZGV4IDA4ZGY2MzM2YTdjZC4uM2MyOGJlZmNkM2ZmIDEwMDY0NAo+ID4gLS0tIGEvcnVsZXMvcmF1 Yy5tYWtlCj4gPiArKysgYi9ydWxlcy9yYXVjLm1ha2UKPiA+IEBAIC03OCw3ICs3OCw3IEBAIGlm ZGVmIFBUWENPTkZfUkFVQ19DT05GSUdVUkFUSU9OCj4gPiAgCUAkKGNhbGwgaW5zdGFsbF9yZXBs YWNlLCByYXVjLCAvZXRjL3JhdWMvc3lzdGVtLmNvbmYsIFwKPiA+ICAJCUBSQVVDX0JVTkRMRV9D T01QQVRJQkxFQCwgXAo+ID4gIAkJIiQoY2FsbCByZW1vdmVfcXVvdGVzLCQoUFRYQ09ORl9SQVVD X0NPTVBBVElCTEUpKSIpCj4gPiAtCUAkKGNhbGwgaW5zdGFsbF9jb3B5LCByYXVjLCAwLCAwLCAw NjQ0LCAkKHNoZWxsIGNzX2dldF9jYSB1cGRhdGUpLCBcCj4gPiArCUAkKGNhbGwgaW5zdGFsbF9j b3B5LCByYXVjLCAwLCAwLCAwNjQ0LCAkKGNhbGwgcHR4L2NzLWdldC1jYSwgUkFVQywgdXBkYXRl KSwgXAo+ID4gIAkJL2V0Yy9yYXVjL2NhLmNlcnQucGVtKQo+ID4gIGVuZGlmCj4gPiAgCj4gPiBk aWZmIC0tZ2l0IGEvcnVsZXMvdGVtcGxhdGVzL3RlbXBsYXRlLWJhcmVib3gtaW14LWhhYnY0LW1h a2UgYi9ydWxlcy90ZW1wbGF0ZXMvdGVtcGxhdGUtYmFyZWJveC1pbXgtaGFidjQtbWFrZQo+ID4g aW5kZXggY2M4MjVkYzkwMjkyLi5iMmQ1ZDcxMDBmYzkgMTAwNjQ0Cj4gPiAtLS0gYS9ydWxlcy90 ZW1wbGF0ZXMvdGVtcGxhdGUtYmFyZWJveC1pbXgtaGFidjQtbWFrZQo+ID4gKysrIGIvcnVsZXMv dGVtcGxhdGVzL3RlbXBsYXRlLWJhcmVib3gtaW14LWhhYnY0LW1ha2UKPiA+IEBAIC02NCw5ICs2 NCw5IEBAIGVuZGlmCj4gPiAgCj4gPiAgQkFSRUJPWF9AUEFDS0FHRUBfTUFLRV9FTlYJPSBcCj4g PiAgCSQoQ09ERV9TSUdOSU5HX0VOVikgXAo+ID4gLQlDU0Y9IiQoc2hlbGwgY3NfZ2V0X3VyaSBp bXgtaGFidjQtY3NmMSkiIFwKPiA+IC0JSU1HPSIkKHNoZWxsIGNzX2dldF91cmkgaW14LWhhYnY0 LWltZzEpIiBcCj4gPiAtCUZJVF9LRVk9IiQoc2hlbGwgY3NfZ2V0X3VyaSBpbWFnZS1rZXJuZWwt Zml0KSIKPiA+ICsJQ1NGPSIkKGNhbGwgcHR4L2NzLWdldC11cmksIEJBUkVCT1hfQFBBQ0tBR0VA LCBpbXgtaGFidjQtY3NmMSkiIFwKPiA+ICsJSU1HPSIkKGNhbGwgcHR4L2NzLWdldC11cmksIEJB UkVCT1hfQFBBQ0tBR0VALCBpbXgtaGFidjQtaW1nMSkiIFwKPiA+ICsJRklUX0tFWT0iJChjYWxs IHB0eC9jcy1nZXQtdXJpLCBCQVJFQk9YX0BQQUNLQUdFQCwgaW1hZ2Uta2VybmVsLWZpdCkiCj4g PiAgCj4gPiAgQkFSRUJPWF9AUEFDS0FHRUBfTUFLRV9PUFQJOj0gJChCQVJFQk9YX0BQQUNLQUdF QF9DT05GX09QVCkKPiA+ICAKPiA+IGRpZmYgLS1naXQgYS9zY3JpcHRzL2xpYi9wdHhkX2xpYl9j b2RlX3NpZ25pbmcuc2ggYi9zY3JpcHRzL2xpYi9wdHhkX2xpYl9jb2RlX3NpZ25pbmcuc2gKPiA+ IGluZGV4IDY2YTJjYWI4MTM5NS4uMjQ3MzBkM2NmNzQyIDEwMDY0NAo+ID4gLS0tIGEvc2NyaXB0 cy9saWIvcHR4ZF9saWJfY29kZV9zaWduaW5nLnNoCj4gPiArKysgYi9zY3JpcHRzL2xpYi9wdHhk X2xpYl9jb2RlX3NpZ25pbmcuc2gKPiA+IEBAIC0xLDYgKzEsNyBAQAo+ID4gICMhL2Jpbi9iYXNo Cj4gPiAgIwo+ID4gICMgQ29weXJpZ2h0IChDKSAyMDE5IFNhc2NoYSBIYXVlciA8cy5oYXVlckBw ZW5ndXRyb25peC5kZT4KPiA+ICsjIENvcHlyaWdodCAoQykgMjAyMSBSb2xhbmQgSGllYmVyLCBQ ZW5ndXRyb25peCA8cmhpQHBlbmd1dHJvbml4LmRlPgo+ID4gICMKPiA+ICAjIEZvciBmdXJ0aGVy IGluZm9ybWF0aW9uIGFib3V0IHRoZSBQVFhkaXN0IHByb2plY3QgYW5kIGxpY2Vuc2UgY29uZGl0 aW9ucwo+ID4gICMgc2VlIHRoZSBSRUFETUUgZmlsZS4KPiA+IEBAIC0xNzYsNiArMTc3LDEyIEBA IGV4cG9ydCAtZiBjc19zZXRfdXJpCj4gPiAgIyBHZXQgdGhlIHVyaSBmcm9tIGEgcm9sZQo+ID4g ICMKPiA+ICBjc19nZXRfdXJpKCkgewo+ID4gKyAgICBpZiBbIC16ICIke3BrZ19uYW1lfSIgXTsg dGhlbgo+ID4gKwkgICAgZWNobyBFUlJPUl9VTlNVUFBPUlRFRF9DU19BUElfQ0FMTAo+ID4gKwkg ICAgcHR4ZF9iYWlsb3V0ICckKHNoZWxsIGNzX2dldF91cmksIDxyb2xlPikgaXMgbm8gbG9uZ2Vy IHN1cHBvcnRlZCBpbiBtYWtlIGZpbGVzLicgXAo+ID4gKwkJJ1VzZSAkKGNhbGwgcHR4L2NzLWdl dC11cmksIDxQS0c+LCA8cm9sZT4pIGluc3RlYWQuJwo+ID4gKyAgICBmaQo+ID4gKwo+ID4gICAg ICBsb2NhbCByb2xlPSIkezF9Igo+ID4gICAgICBjc19pbml0X3ZhcmlhYmxlcwo+ID4gIAo+ID4g QEAgLTI5Nyw2ICszMDQsMTIgQEAgZXhwb3J0IC1mIGNzX2ltcG9ydF9rZXlfZnJvbV9wZW0KPiA+ ICAjIEdldCB0aGUgcGF0aCB0byB0aGUgQ0EgaW4gcGVtIGZvcm1hdCBmcm9tIGEgcm9sZQo+ID4g ICMKPiA+ICBjc19nZXRfY2EoKSB7Cj4gPiArICAgIGlmIFsgLXogIiR7cGtnX25hbWV9IiBdOyB0 aGVuCj4gPiArCSAgICBlY2hvIEVSUk9SX1VOU1VQUE9SVEVEX0NTX0FQSV9DQUxMCj4gPiArCSAg ICBwdHhkX2JhaWxvdXQgJyQoc2hlbGwgY3NfZ2V0X2NhLCDigKYpIGlzIG5vIGxvbmdlciBzdXBw b3J0ZWQgaW4gbWFrZSBmaWxlcy4nIFwKPiA+ICsJCSdVc2UgJChjYWxsIHB0eC9jcy1nZXQtY2Es IDxQS0c+LCDigKYpIGluc3RlYWQuJwo+ID4gKyAgICBmaQo+ID4gKwo+ID4gICAgICBsb2NhbCBy b2xlPSIkezF9Igo+ID4gICAgICBjc19pbml0X3ZhcmlhYmxlcwo+ID4gIAo+ID4gLS0gCj4gPiAy LjMwLjIKPiA+IAo+ID4gCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+ID4gcHR4ZGlzdCBtYWlsaW5nIGxpc3QKPiA+IHB0eGRpc3RAcGVuZ3V0cm9u aXguZGUKPiA+IFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWFpbCB3aXRoIHN1YmplY3QgInVuc3Vi c2NyaWJlIiB0byBwdHhkaXN0LXJlcXVlc3RAcGVuZ3V0cm9uaXguZGUKPiAKPiAtLSAKPiBQZW5n dXRyb25peCBlLksuICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAo+IFN0ZXVlcndhbGRlciBTdHIuIDIxICAgICAgICAgICAgICAgICAgICAg ICB8IGh0dHA6Ly93d3cucGVuZ3V0cm9uaXguZGUvICB8Cj4gMzExMzcgSGlsZGVzaGVpbSwgR2Vy bWFueSAgICAgICAgICAgICAgICAgIHwgUGhvbmU6ICs0OS01MTIxLTIwNjkxNy0wICAgIHwKPiBB bXRzZ2VyaWNodCBIaWxkZXNoZWltLCBIUkEgMjY4NiAgICAgICAgICAgfCBGYXg6ICAgKzQ5LTUx MjEtMjA2OTE3LTU1NTUgfAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gcHR4ZGlzdCBtYWlsaW5nIGxpc3QKPiBwdHhkaXN0QHBlbmd1dHJvbml4 LmRlCj4gVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtYWlsIHdpdGggc3ViamVjdCAidW5zdWJzY3Jp YmUiIHRvIHB0eGRpc3QtcmVxdWVzdEBwZW5ndXRyb25peC5kZQoKLS0gClJvbGFuZCBIaWViZXIs IFBlbmd1dHJvbml4IGUuSy4gICAgICAgICAgfCByLmhpZWJlckBwZW5ndXRyb25peC5kZSAgICAg fApTdGV1ZXJ3YWxkZXIgU3RyLiAyMSAgICAgICAgICAgICAgICAgICAgIHwgaHR0cHM6Ly93d3cu cGVuZ3V0cm9uaXguZGUvIHwKMzExMzcgSGlsZGVzaGVpbSwgR2VybWFueSAgICAgICAgICAgICAg ICB8IFBob25lOiArNDktNTEyMS0yMDY5MTctMCAgICB8CkFtdHNnZXJpY2h0IEhpbGRlc2hlaW0s IEhSQSAyNjg2ICAgICAgICAgfCBGYXg6ICAgKzQ5LTUxMjEtMjA2OTE3LTU1NTUgfAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHR4ZGlzdCBtYWlsaW5n IGxpc3QKcHR4ZGlzdEBwZW5ndXRyb25peC5kZQpUbyB1bnN1YnNjcmliZSwgc2VuZCBhIG1haWwg d2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIgdG8gcHR4ZGlzdC1yZXF1ZXN0QHBlbmd1dHJvbml4 LmRlCg==