From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from xry111.site (xry111.site [89.208.246.23]) by sourceware.org (Postfix) with ESMTPS id AFA8C3940CE8 for ; Mon, 5 Dec 2022 17:07:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AFA8C3940CE8 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=xry111.site Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=xry111.site DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=xry111.site; s=default; t=1670260044; bh=zqNKmHqxcDd8WV7qhFMkl3BuKcMn8cRDhS9JQdOxuSs=; h=Subject:From:To:Date:In-Reply-To:References:From; b=EpOUKsvDmsev6DNdR1aFJvPFwDcfGwYTn+BaASRFGhq8eumayxBoiqI2nQekLgqkY mSj2l1/e3fAttkLgADFYTmnVWiH2EmJwdcxBq87tsv9tBV73AxDlTjG0n/QzqVxkD/ JOORrGEty+X4XvrbVnFzDz1Z0GSysQRi91W7fp5A= Received: from [IPv6:240e:358:110c:2400:dc73:854d:832e:3] (unknown [IPv6:240e:358:110c:2400:dc73:854d:832e:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-384) server-digest SHA384) (Client did not present a certificate) (Authenticated sender: xry111@xry111.site) by xry111.site (Postfix) with ESMTPSA id 50BC165AFD; Mon, 5 Dec 2022 12:07:21 -0500 (EST) Message-ID: <51f962c19445d29a3187eeedc220558926b56a60.camel@xry111.site> Subject: Re: [PATCH v5 00/17] Improve generic string routines From: Xi Ruoyao To: Adhemerval Zanella , libc-alpha@sourceware.org Date: Tue, 06 Dec 2022 01:07:16 +0800 In-Reply-To: <20220919195920.956393-1-adhemerval.zanella@linaro.org> References: <20220919195920.956393-1-adhemerval.zanella@linaro.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.46.0 MIME-Version: 1.0 X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FROM_SUSPICIOUS_NTLD,LIKELY_SPAM_FROM,SPF_HELO_PASS,SPF_PASS,TXREP,T_PDS_OTHER_BAD_TLD autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: SGksCgpBbnkgc3RhdHVzIHVwZGF0ZSBvbiB0aGlzIHNlcmllcz8KCk9uIE1vbiwgMjAyMi0wOS0x OSBhdCAxNjo1OSAtMDMwMCwgQWRoZW1lcnZhbCBaYW5lbGxhIHZpYSBMaWJjLWFscGhhCndyb3Rl Ogo+IEl0IGlzIGRvbmUgYnk6Cj4gCj4gwqAgMS4gcGFyYW1ldHJpemluZyB0aGUgaW50ZXJuYWwg cm91dGluZXMgKGZvciBpbnN0YW5jZSB0aGUgZmluZCB6ZXJvCj4gwqDCoMKgwqAgaW4gYSB3b3Jk KSBzbyBlYWNoIGFyY2hpdGVjdHVyZSBjYW4gcmVpbXBsZW1lbnQgd2l0aG91dCB0aGUgbmVlZAo+ IMKgwqDCoMKgIHRvIHJlaW1wbGVtZW50IHRoZSB3aG9sZSByb3V0aW5lLgo+IAo+IMKgIDIuIHZl Y3Rvcml6aW5nIG1vcmUgc3RyaW5nIGltcGxlbWVudGF0aW9ucyAoZm9yIGluc3RhbmNlIHN0cmNw eQo+IMKgwqDCoMKgIGFuZCBzdHJjbXApLgo+IAo+IMKgIDMuIENoYW5nZSBzb21lIGltcGxlbWVu dGF0aW9ucyB0byB1c2UgYWxyZWFkeSBwb3NzaWJsZSBvcHRpbWl6ZWQKPiDCoMKgwqDCoCBvbmVz IChmb3IgaW5zdGFuY2Ugc3RybmxlbikuwqAgSXQgbWFrZXMgbmV3IHBvcnRzIHRvIGZvY3VzIG9u Cj4gwqDCoMKgwqAgb25seSBwcm92aWRlIG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbiBvZiBhIGhh cmRmdWwgc3ltYm9scwo+IMKgwqDCoMKgIChmb3IgaW5zdGFuY2UgbWVtY2hyKSBhbmQgbWFrZSBp dHMgaW1wcm92ZW1lbnQgdG8gYmUgdXNlZCBpbgo+IMKgwqDCoMKgIGEgbGFyZ2VyIHNldCBvZiBy b3V0aW5lcy4KPiAKPiBGb3IgdGhlIHJlc3Qgb2YgIzU4MDYgSSB0aGluayB3ZSBjYW4gaGFuZGxl IHRoZW0gbGF0ZXIgYW5kIGlmCj4gcGVyZm9ybWFuY2Ugb2YgZ2VuZXJpYyBpbXBsZW1lbnRhdGlv biBpcyBjbG9zZXIgSSB0aGluayBpdCBpcyBiZXR0ZXIKPiB0byBqdXN0IHJlbW92ZSBvbGQgYXNz ZW1ibHkgaW1wbGVtZW50YXRpb25zLgo+IAo+IEkgYWxzbyBjaGVja2VkIG9uIHg4Nl82NC1saW51 eC1nbnUsIGk2ODYtbGludXgtZ251LCBwb3dlcnBjLWxpbnV4LWdudSwKPiBhbmQgcG93ZXJwYzY0 LWxpbnV4LWdudSBieSByZW1vdmluZyB0aGUgYXJjaC1zcGVjaWZpYyBhc3NlbWJseQo+IGltcGxl bWVudGF0aW9uIGFuZCBkaXNhYmxpbmcgbXVsdGlhcmNoIChpdCBjb3ZlcnMgYm90aCBMRSBhbmQg QkUKPiBmb3IgNjQgYW5kIDMyIGJpdHMpLiBJIGFsc28gY2hlY2tlZCB0aGUgc3RyaW5nIHJvdXRp bmVzIG9uIGFscGhhLAo+IGhwcGEsCj4gYW5kIHNoLgo+IAo+IENoYW5nZXMgc2luY2UgdjQ6Cj4g wqAgKiBSZW1vdmVkIF9fY2x6IGFuZCBfX2N0eiBpbiBmYXZvciBvZiBjb3VudF9sZWFkaW5nX3pl cm8gYW5kCj4gwqDCoMKgIGNvdW50X3RyYWlsaW5nX3plcm9zIGZyb20gbG9uZ2xvbmcuaC4KPiDC oCAqIFVzZSByZXBlYXRfYnl0ZXMgbW9yZSBvZnRlbi4KPiDCoCAqIEFkZGVkIGEgY29tbWVudCBv biBzdHJjbXAgZmluYWxfY21wIG9uIHdoeSBpbmRleF9maXJzdF96ZXJvX25lIGNhbgo+IMKgwqDC oCBub3QgYmUgdXNlZC4KPiAKPiBDaGFuZ2VzIHNpbmNlIHYzOgo+IMKgICogUmViYXNlZCBhZ2Fp bnN0IG1hc3Rlci4KPiDCoCAqIERyb3BwZWQgc3RyY3B5IG9wdGltaXphdGlvbi4KPiDCoCAqIFJl ZmFjdG9yIHN0cmNtcCBpbXBsZW1lbnRhdGlvbi4KPiDCoCAqIFNvbWUgbWlub3IgY2hhbmdlcyBp biBjb21tZW50cy4KPiAKPiBDaGFuZ2VzIHNpbmNlIHYyOgo+IMKgICogTW92ZSBzdHJpbmctZnp7 YSxiLGl9IHRvIGl0cyBvd24gcGF0Y2guCj4gwqAgKiBBZGQgYSBpbmxpbmUgaW1wbGVtZW50YXRp b24gZm9yIF9fYnVpbHRpbl9je2wsdH16IHRvIGF2b2lkIHVzaW5nCj4gwqDCoMKgIGNvbXBpbGVy IHByb3ZpZGVkIHN5bWJvbHMuCj4gwqAgKiBBZGQgYSBuZXcgaGVhZGVyLCBzdHJpbmctbWFza29m Zi5oLCB0byBoYW5kbGUgdW5hbGlnbmVkIGFjY2Vzc2VzCj4gwqDCoMKgIG9uIHNvbWUgaW1wbGVt ZW50YXRpb24uCj4gwqAgKiBGaXhlZCBzdHJjbXAgb24gTEUgbWFjaGluZXMuCj4gwqAgKiBBZGRl ZCBhIHVuYWxpZ25lZCBzdHJjcHkgdmFyaWFudCBmb3IgYXJjaGl0ZWN0dXJlIHRoYXQgZGVmaW5l Cj4gwqDCoMKgIF9TVFJJTkdfQVJDSF91bmFsaWduZWQuCj4gwqAgKiBBZGQgU0ggc3RyaW5nLWZ6 Yi5oICh3aGljaCB1c2VzIGNtcC9zdHIgaW5zdHJ1Y3Rpb24gdG8gZmluZAo+IMKgwqDCoCBhIHpl cm8gaW4gd29yZCkuCj4gCj4gQ2hhbmdlcyBzaW5jZSB2MToKPiDCoCAqIE1hcmtlZCBDaGFuZ2VM b2cgZW50cmllcyB3aXRoIFtCWiAjNTgwNl0sIGFzIGFwcHJvcHJpYXRlLgo+IMKgICogUmVvcmdh bml6ZWQgdGhlIGhlYWRlcnMsIHNvIHRoYXQgYXJtdjZ0MiBhbmQgcG93ZXI2IG5lZWQgb3ZlcnJp ZGUKPiDCoMKgwqAgYXMgbGl0dGxlIGFzIHBvc3NpYmxlIHRvIHVzZSB0aGVpciAoaW50ZWdlcikg emVybyBkZXRlY3Rpb24gaW5zbnMuCj4gwqAgKiBIb3BlZnVsbHkgZml4ZWQgYWxsIG9mIHRoZSBj b2Rpbmcgc3R5bGUgaXNzdWVzLgo+IMKgICogQWRqdXN0ZWQgdGhlIG1lbXJjaHIgYWxnb3JpdGht IGFzIGRpc2N1c3NlZC4KPiDCoCAqIFJlcGxhY2VkIHRoZSAjaWZkZWYgU1RSUkNIUiBldGMgdGhh dCBhcmUgdXNlZCBieSB0aGUgbXVsdGlhcmNoCj4gwqAgKiBmaWxlcy4KPiDCoCAqIFRlc3RlZCBv biBpMzg2LCBpNjg2LCB4ODZfNjQgKHZlcmlmaWVkIHRoaXMgaXMgdW51c2VkKSwgcHBjNjQsCj4g wqDCoMKgIHBwYzY0bGUgLS13aXRoLWNwdT1wb3dlcjggKHRvIHVzZSBwb3dlcjYgaW4gbXVsdGlh cmNoKSwgYXJtdjcsCj4gwqDCoMKgIGFhcmNoNjQsIGFscGhhIChxZW11KSBhbmQgaHBwYSAocWVt dSkuCj4gCj4gQWRoZW1lcnZhbCBaYW5lbGxhICgxMCk6Cj4gwqAgQWRkIHN0cmluZy1tYXNrb2Zm LmggZ2VuZXJpYyBoZWFkZXIKPiDCoCBBZGQgc3RyaW5nIHZlY3Rvcml6ZWQgZmluZCBhbmQgZGV0 ZWN0aW9uIGZ1bmN0aW9ucwo+IMKgIHN0cmluZzogSW1wcm92ZSBnZW5lcmljIHN0cmxlbgo+IMKg IHN0cmluZzogSW1wcm92ZSBnZW5lcmljIHN0cm5sZW4KPiDCoCBzdHJpbmc6IEltcHJvdmUgZ2Vu ZXJpYyBzdHJjaHIKPiDCoCBzdHJpbmc6IEltcHJvdmUgZ2VuZXJpYyBzdHJjaHJudWwKPiDCoCBz dHJpbmc6IEltcHJvdmUgZ2VuZXJpYyBzdHJjbXAKPiDCoCBzdHJpbmc6IEltcHJvdmUgZ2VuZXJp YyBtZW1jaHIKPiDCoCBzdHJpbmc6IEltcHJvdmUgZ2VuZXJpYyBtZW1yY2hyCj4gwqAgc2g6IEFk ZCBzdHJpbmctZnpiLmgKPiAKPiBSaWNoYXJkIEhlbmRlcnNvbiAoNyk6Cj4gwqAgUGFyYW1ldGVy aXplIG9wX3QgZnJvbSBtZW1jb3B5LmgKPiDCoCBQYXJhbWV0ZXJpemUgT1BfVF9USFJFUyBmcm9t IG1lbWNvcHkuaAo+IMKgIGhwcGE6IEFkZCBtZW1jb3B5LmgKPiDCoCBocHBhOiBBZGQgc3RyaW5n LWZ6Yi5oIGFuZCBzdHJpbmctZnppLmgKPiDCoCBhbHBoYTogQWRkIHN0cmluZy1memIuaCBhbmQg c3RyaW5nLWZ6aS5oCj4gwqAgYXJtOiBBZGQgc3RyaW5nLWZ6YS5oCj4gwqAgcG93ZXJwYzogQWRk IHN0cmluZy1memEuaAo+IAo+IMKgc3RyaW5nL21lbWNoci5jwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTY4ICsrKystLS0tLS0t LS0tLS0KPiDCoHN0cmluZy9tZW1jbXAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCA0IC0KPiDCoHN0cmluZy9tZW1yY2hy LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgMTg5ICsrKy0tLS0tLS0tLS0tLS0tCj4gLQo+IMKgc3RyaW5nL3N0cmNoci5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg MTcyICsrKy0tLS0tLS0tLS0tLS0KPiDCoHN0cmluZy9zdHJjaHJudWwuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDE1NiArKystLS0tLS0t LS0tLS0KPiDCoHN0cmluZy9zdHJjbXAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDExOSArKysrKysrKystLQo+IMKgc3RyaW5n L3N0cmxlbi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHzCoCA5MCArKy0tLS0tLS0KPiDCoHN0cmluZy9zdHJubGVuLmPCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTM3 ICstLS0tLS0tLS0tLS0KPiDCoHN5c2RlcHMvYWxwaGEvc3RyaW5nLWZ6Yi5owqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDUxICsrKysrCj4gwqBzeXNkZXBzL2FscGhh L3N0cmluZy1memkuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTEz ICsrKysrKysrKysrCj4gwqBzeXNkZXBzL2FybS9hcm12NnQyL3N0cmluZy1memEuaMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA3MCArKysrKysrCj4gwqBzeXNkZXBzL2dlbmVyaWMvbWVt Y29weS5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMTAgKy0K PiDCoHN5c2RlcHMvZ2VuZXJpYy9zdHJpbmctZXh0Ynl0ZS5owqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfMKgIDM3ICsrKysKPiDCoHN5c2RlcHMvZ2VuZXJpYy9zdHJpbmctZnphLmjCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTA2ICsrKysrKysrKysKPiDCoHN5c2RlcHMv Z2VuZXJpYy9zdHJpbmctZnpiLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC oCA0OSArKysrKwo+IMKgc3lzZGVwcy9nZW5lcmljL3N0cmluZy1memkuaMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAxMjAgKysrKysrKysrKysKPiDCoHN5c2RlcHMvZ2VuZXJp Yy9zdHJpbmctbWFza29mZi5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDczICsrKysr KysKPiDCoHN5c2RlcHMvZ2VuZXJpYy9zdHJpbmctb3B0aHIuaMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8wqAgMjUgKysrCj4gwqBzeXNkZXBzL2dlbmVyaWMvc3RyaW5nLW9wdHlwZS5o wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMzEgKysrCj4gwqBzeXNkZXBzL2hwcGEv bWVtY29weS5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 wqAgNDIgKysrKwo+IMKgc3lzZGVwcy9ocHBhL3N0cmluZy1memIuaMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDY5ICsrKysrKysKPiDCoHN5c2RlcHMvaHBwYS9z dHJpbmctZnppLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTM1 ICsrKysrKysrKysrKysKPiDCoHN5c2RlcHMvaTM4Ni9pNjg2L211bHRpYXJjaC9zdHJubGVuLWMu Y8KgwqDCoMKgwqDCoCB8wqAgMTQgKy0KPiDCoHN5c2RlcHMvaTM4Ni9tZW1jb3B5LmjCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDMgLQo+IMKgc3lz ZGVwcy9pMzg2L3N0cmluZy1vcHRoci5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHzCoCAyNSArKysKPiDCoHN5c2RlcHMvbTY4ay9tZW1jb3B5LmjCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDMgLQo+IMKgc3lzZGVwcy9wb3dl cnBjL3Bvd2VycGMzMi9wb3dlcjQvbWVtY29weS5owqDCoMKgIHzCoMKgIDUgLQo+IMKgLi4uL3Bv d2VycGMzMi9wb3dlcjQvbXVsdGlhcmNoL21lbWNoci1wcGMzMi5jIHzCoCAxNCArLQo+IMKgLi4u L3Bvd2VyNC9tdWx0aWFyY2gvc3RyY2hybnVsLXBwYzMyLmPCoMKgwqDCoMKgwqDCoCB8wqDCoCA0 IC0KPiDCoC4uLi9wb3dlcjQvbXVsdGlhcmNoL3N0cm5sZW4tcHBjMzIuY8KgwqDCoMKgwqDCoMKg wqDCoCB8wqAgMTQgKy0KPiDCoC4uLi9wb3dlcnBjNjQvbXVsdGlhcmNoL21lbWNoci1wcGM2NC5j wqDCoMKgwqDCoMKgwqAgfMKgwqAgOSArLQo+IMKgc3lzZGVwcy9wb3dlcnBjL3N0cmluZy1memEu aMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDcwICsrKysrKysKPiDCoHN5 c2RlcHMvczM5MC9zdHJjaHItYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfMKgIDExICstCj4gwqBzeXNkZXBzL3MzOTAvc3RyY2hybnVsLWMuY8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDIgLQo+IMKgc3lzZGVwcy9zMzkw L3N0cmxlbi1jLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 wqAgMTAgKy0KPiDCoHN5c2RlcHMvczM5MC9zdHJubGVuLWMuY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMTQgKy0KPiDCoHN5c2RlcHMvc2gvc3RyaW5nLWZ6 Yi5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDUzICsr KysrCj4gwqAzNyBmaWxlcyBjaGFuZ2VkLCAxMzY2IGluc2VydGlvbnMoKyksIDg1MSBkZWxldGlv bnMoLSkKPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBzeXNkZXBzL2FscGhhL3N0cmluZy1memIuaAo+ IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IHN5c2RlcHMvYWxwaGEvc3RyaW5nLWZ6aS5oCj4gwqBjcmVh dGUgbW9kZSAxMDA2NDQgc3lzZGVwcy9hcm0vYXJtdjZ0Mi9zdHJpbmctZnphLmgKPiDCoGNyZWF0 ZSBtb2RlIDEwMDY0NCBzeXNkZXBzL2dlbmVyaWMvc3RyaW5nLWV4dGJ5dGUuaAo+IMKgY3JlYXRl IG1vZGUgMTAwNjQ0IHN5c2RlcHMvZ2VuZXJpYy9zdHJpbmctZnphLmgKPiDCoGNyZWF0ZSBtb2Rl IDEwMDY0NCBzeXNkZXBzL2dlbmVyaWMvc3RyaW5nLWZ6Yi5oCj4gwqBjcmVhdGUgbW9kZSAxMDA2 NDQgc3lzZGVwcy9nZW5lcmljL3N0cmluZy1memkuaAo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IHN5 c2RlcHMvZ2VuZXJpYy9zdHJpbmctbWFza29mZi5oCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgc3lz ZGVwcy9nZW5lcmljL3N0cmluZy1vcHRoci5oCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgc3lzZGVw cy9nZW5lcmljL3N0cmluZy1vcHR5cGUuaAo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IHN5c2RlcHMv aHBwYS9tZW1jb3B5LmgKPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBzeXNkZXBzL2hwcGEvc3RyaW5n LWZ6Yi5oCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgc3lzZGVwcy9ocHBhL3N0cmluZy1memkuaAo+ IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IHN5c2RlcHMvaTM4Ni9zdHJpbmctb3B0aHIuaAo+IMKgY3Jl YXRlIG1vZGUgMTAwNjQ0IHN5c2RlcHMvcG93ZXJwYy9zdHJpbmctZnphLmgKPiDCoGNyZWF0ZSBt b2RlIDEwMDY0NCBzeXNkZXBzL3NoL3N0cmluZy1memIuaAo+IAoKLS0gClhpIFJ1b3lhbyA8eHJ5 MTExQHhyeTExMS5zaXRlPgpTY2hvb2wgb2YgQWVyb3NwYWNlIFNjaWVuY2UgYW5kIFRlY2hub2xv Z3ksIFhpZGlhbiBVbml2ZXJzaXR5Cg==