From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg153.qq.com (smtpbg153.qq.com [13.245.218.24]) by sourceware.org (Postfix) with ESMTPS id E2DD8385842C for ; Thu, 2 Mar 2023 10:19:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E2DD8385842C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp77t1677752343the2bz7k Received: from LAPTOP-EPITNQBU ( [58.60.1.19]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 02 Mar 2023 18:19:01 +0800 (CST) X-QQ-SSF: 01400000000000E0M000000A0000000 X-QQ-FEAT: 7GDGdS/nbMQhN45dKrf/CV9B/83DMnId6AcMHKtY5Brma8yhrfKMsMXP7au7q ZOivNRQ/eRCTcd5WfTZ99OMdW2HpYsNw07c2FeDyN97W8x7XcV+y62TvydD43a23KUu8hMN 37XHrDCzX5LeTgrh3AS59ONCcc4zZjipHieyOXAyY4s6xQorzYmywjXVorES+p7ze0qPl1G 9GRV1Sq9kozkr0uaRRtldjceMfA2cQW57DcJE7FUpJcECHVqHTQ5BdgfcBF3gowuQQZaNER OLtfATZ0W/mgSUPDNjSZ8k08ye+V9Eb4TV0RuIgEekRnZ2/vVOso9KA8GsvWXjPomRTmp7N 9UV6holD1S4p+NIipCe5V6xWafmfKM+Dr69PLd/le4YOsW1NI6RAe+Vd9oheOy7w4xmJMEJ lr4CNel+zRtk3HDRh7gFjkWAQLWbgAjw X-QQ-GoodBg: 2 Date: Thu, 2 Mar 2023 18:19:02 +0800 From: "juzhe.zhong@rivai.ai" To: richard.sandiford Cc: rguenther , pan2.li , gcc-patches , incarnation.p.lee , Kito.cheng Subject: Re: Re: [PATCH] RISC-V: Bugfix for rvv bool mode precision adjustment References: , , <9B9312B81334DB23+2023030122191665205362@rivai.ai>, , , <56212E9722A8E5C3+2023030206533064159132@rivai.ai>, , , X-Priority: 3 X-GUID: A2265842-3192-427B-AA61-DA25838EFE65 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <87B8E34F4A3B780A+2023030218190156793375@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart074348354013_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvr:qybglogicsvr7 X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,HTML_MESSAGE,KAM_DMARC_STATUS,MIME_BASE64_TEXT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_KAM_HTML_FONT_INVALID 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: This is a multi-part message in MIME format. ------=_001_NextPart074348354013_=---- Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: base64 Pj4gSSByZWFsaXNlIGl0J3MgYSBjb3JuZXIgY2FzZS4gIEJ1dCBJIGRvbid0 IHRoaW5rIG1ha2luZyBHRVRfTU9ERV9TSVpFDQo+PmJpZ2dlciB0aGFuIHRo ZSByZWFsIHNpemUgaXMgY29uc2VydmF0aXZlbHkgY29ycmVjdC4NCg0KSSBk b24ndCB1bmRlcnN0YW5kIHdoaWNoIGNvcm5lciBjYXNlIHdpbGwgcmlzY2tz IHdyb25nIGNvZGUuDQpXb3VsZCB5b3UgbWluZCBnaXZpbmcgbWUgc29tZSBl eGFtcGxlcz8NCg0KVk54OEJJIEFCSSBzaXplIGlzIHRoZSBzYW1lIGFzIG1h Y2hpbmUgc2l6ZS4NClRoZSBvbmx5IGluY29uc2lzdGVuY3kgaXMgVk54MUJJ IFZOeDJCSSBWTng0QkkuDQoNClRoZXNlIDMgQUJJIHNpemUgaXMgbGFyZ2Vy IHRoYW4gbWFjaGluZSBiZWhhdmlvci4NCkZvciBleGFtcGxlLCBWTngxQkkg R0VUX01PREVfU0laRSBpcyBwb2x5ICgxLDEpIHNhbWUgYXMgVk54OEJJLg0K SSBlbWl0IHZzZXR2bCBlOG1mOCArIHZsbSBmb3IgVk54MUJJIHdoaWNoIG1h a2UgR0NDDQoNCmxvYWQgMS84IG9mIHBvbHkgKDEsMSkgYnl0ZXMgZnJvbSB0 aGUgbWVtb3J5LCBldmVuIHRob3VnaCB0aGUgVk54MUJJIG9jY3VweSB0aGUg d2hvbGUgcG9seSAoMSwxKSBzaXplLg0KDQoNCg0KanV6aGUuemhvbmdAcml2 YWkuYWkNCiANCkZyb206IFJpY2hhcmQgU2FuZGlmb3JkDQpEYXRlOiAyMDIz LTAzLTAyIDE3OjM5DQpUbzoganV6aGUuemhvbmdcQHJpdmFpLmFpDQpDQzog cmd1ZW50aGVyOyBwYW4yLmxpOyBnY2MtcGF0Y2hlczsgaW5jYXJuYXRpb24u cC5sZWU7IEtpdG8uY2hlbmcNClN1YmplY3Q6IFJlOiBbUEFUQ0hdIFJJU0Mt VjogQnVnZml4IGZvciBydnYgYm9vbCBtb2RlIHByZWNpc2lvbiBhZGp1c3Rt ZW50DQpUaGFua3MgZm9yIHRoZSBleHBsYW5hdGlvbiBhYm91dCB0aGUgc2l6 ZXMuDQogDQoianV6aGUuemhvbmdAcml2YWkuYWkiIDxqdXpoZS56aG9uZ0By aXZhaS5haT4gd3JpdGVzOg0KPiBGb3J0dW5hdGVseSwgd2Ugd29uJ3QgaGF2 ZSBhZ2dyZWdhdGVzLCBhcnJheXMgb2YgdmJvb2wqX3QgaW4gdGhlIGZ1dHVy ZS4NCj4gSSB0aGluayBpdCdzIG5vdCBhbiBpc3N1ZS4NCiANCkJ1dCBpc24n dCBpdCBwb3NzaWJsZSB0byBhbGxvY2F0ZSBhIGNoYXIvYnl0ZSBhcnJheSBh bmQgY29uc3RydWN0DQp2Ym9vbCpfdHMgYXQgYWRkcmVzc2VzIGNhbGN1bGF0 ZWQgYnkgaW50cmluc2ljcz8gIEUuZy4gSSBkb24ndCBzZWUNCmFueXRoaW5n IHdyb25nIGluIHByaW5jaXBsZSB3aXRoIGRvaW5nOg0KIA0KI2luY2x1ZGUg PGFybV9zdmUuaD4NCiANCnZvaWQgZihjaGFyICp4LCBzdmJvb2xfdCBwMSwg c3Zib29sX3QgcDIpIHsNCiAgICAqKHN2Ym9vbF90ICopKHggKyBzdmNudGQo KSkgPSBwMjsNCiAgICAqKHN2Ym9vbF90ICopKHgpID0gcDE7DQp9DQogDQpJ ZiB0aGUgbW9kZSBzaXplIGZvciBzdmJvb2xfdCB3YXMgdG9vIGJpZywgSSB0 aGluayBSVEwgRFNFIHdvdWxkIGJlDQp3aXRoaW4gaXRzIHJpZ2h0cyB0byBk ZWxldGUgdGhlIGZpcnN0IHN0b3JlLiAgKFByZWNpc2lvbiBkb2Vzbid0IG1h dHRlciwNCmF0IGxlYXN0IG5vdCBjdXJyZW50bHkuKQ0KIA0KVGhlcmUncyBu byBwcm9ibGVtIGlmIHRoZSBBQkkgaXMgZGVmaW5lZCBzdWNoIHRoYXQgdmJv b2w4X3QgaGFzIHRoZSBzYW1lDQpzaXplIGFzIHRoZSBHRVRfTU9ERV9TSVpF IHJlY29yZGVkIGluIEdDQy4gIChCdXQgb2YgY291cnNlLCBpdCB3b3VsZCBu ZWVkDQp0byBiZSBjb25zaXN0ZW50bHkgc28sIGV2ZW4gd2hlbiB0aGUgdmVj dG9yIGxlbmd0aCBpcyBrbm93biBhdCBjb21waWxlIHRpbWUuKQ0KSW4gdGhh dCBjYXNlLCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBzaXplIHN0b3Jl ZCBieSB0aGUgbWFjaGluZSBhbmQgdGhlDQpzaXplIHVzZWQgYnkgdGhlIEFC SSB3b3VsZCBiZSBwYWRkaW5nLCBhbmQgdGhlcmUgaXMgbm8gcmVxdWlyZW1l bnQgdG8NCnByZXNlcnZlIHBhZGRpbmcuICBCdXQgaWYgdGhlIEFCSSBzaXpl IG9mIHZib29sOF90IG1hdGNoZXMgdGhlIG1hY2hpbmUNCmJlaGF2aW91ciwg SSB0aGluayBtYWtpbmcgR0NDJ3Mgc2l6ZSBiaWdnZXIgcmlza3Mgd3Jvbmcg Y29kZS4NCiANCkkgcmVhbGlzZSBpdCdzIGEgY29ybmVyIGNhc2UuICBCdXQg SSBkb24ndCB0aGluayBtYWtpbmcgR0VUX01PREVfU0laRQ0KYmlnZ2VyIHRo YW4gdGhlIHJlYWwgc2l6ZSBpcyBjb25zZXJ2YXRpdmVseSBjb3JyZWN0Lg0K IA0KVGhhbmtzLA0KUmljaGFyZA0KIA0KPg0KPg0KPiBqdXpoZS56aG9uZ0By aXZhaS5haQ0KPiAgDQo+IEZyb206IFJpY2hhcmQgQmllbmVyDQo+IERhdGU6 IDIwMjMtMDMtMDIgMTY6MjUNCj4gVG86IGp1emhlLnpob25nDQo+IENDOiBy aWNoYXJkLnNhbmRpZm9yZDsgcGFuMi5saTsgZ2NjLXBhdGNoZXM7IFBhbiBM aTsga2l0by5jaGVuZw0KPiBTdWJqZWN0OiBSZTogUmU6IFtQQVRDSF0gUklT Qy1WOiBCdWdmaXggZm9yIHJ2diBib29sIG1vZGUgcHJlY2lzaW9uIGFkanVz dG1lbnQNCj4gT24gVGh1LCAyIE1hciAyMDIzLCBqdXpoZS56aG9uZ0ByaXZh aS5haSB3cm90ZToNCj4gIA0KPj4gPj4gRG9lcyB0aGUgZXZlbnR1YWwgdmFs dWUgc2V0IGJ5IEFESlVTVF9CWVRFU0laRSBlcXVhbCB0aGUgcmVhbCBudW1i ZXIgb2YNCj4+ID4+IGJ5dGVzIGxvYWRlZCBieSB2bG0udiBhbmQgc3RvcmVk IGJ5IHZzdG0udiAoYWZ0ZXIgdGhlIGFwcHJvcHJpYXRlIHZzZXR2bCk/DQo+ PiA+PiBPciBpcyB0aGUgR0NDIHNpemUgbGFyZ2VyIGluIHNvbWUgY2FzZXMg dGhhbiB0aGUgbnVtYmVyIG9mIGJ5dGVzDQo+PiA+PiBsb2FkZWQgYW5kIHN0 b3JlZD8NCj4+IEZvciBWTngxQkksVk54MkJJLFZOeDRCSSxWTng4QkksIHdl IGFsbG9jYXRlIHRoZSBsYXJnZXIgc2l6ZSBvZiBtZW1vcnkgb3Igc3RhY2sg Zm9yIHJlZ2lzdGVyIHNwaWxsbGluZw0KPj4gYWNjb3JkaW5nIHRvIEFESlVT VF9CWVRFU0laRS4gDQo+PiBBZnRlciBhcHByb3ByaWF0ZSB2c2V0dmwsIFZO eDFCSSBpcyBsb2FkZWQvc3RvcmVkIDEvOCBvZiBBREpVU1RfQllURVNJWkUg KHZzZXR2bCBlOG1mOCkuDQo+PiBBZnRlciBhcHByb3ByaWF0ZSB2c2V0dmws IFZOeDJCSSBpcyBsb2FkZWQvc3RvcmVkIDIvOCBvZiBBREpVU1RfQllURVNJ WkUgKHZzZXR2bCBlOG1mMikuDQo+PiBBZnRlciBhcHByb3ByaWF0ZSB2c2V0 dmwsIFZOeDRCSSBpcyBsb2FkZWQvc3RvcmVkIDQvOCBvZiBBREpVU1RfQllU RVNJWkUgKHZzZXR2bCBlOG1mNCkuDQo+PiBBZnRlciBhcHByb3ByaWF0ZSB2 c2V0dmwsIFZOeDhCSSBpcyBsb2FkZWQvc3RvcmVkIDgvOCBvZiBBREpVU1Rf QllURVNJWkUgKHZzZXR2bCBlOG0xKS4NCj4+IA0KPj4gTm90ZTogZXhjZXB0 IHRoZXNlIDQgbWFjaGluZSBtb2RlcywgYWxsIG90aGVyIG1hY2hpbmUgbW9k ZXMgb2YgUlZWLCBBREpVU1RfQllURVNJWkUNCj4+IGFyZSBlcXVhbCB0byB0 aGUgcmVhbCBudW1iZXIgb2YgYnl0ZXMgb2YgbG9hZC9zdG9yZSBpbnN0cnVj dGlvbiB0aGF0IFJWViBJU0EgZGVmaW5lLg0KPj4gDQo+PiBXZWxsLCBhcyBJ IHNhaWQsIGl0J3MgZmluZSB0aGF0IHdlIGFsbG9jYXRlZCBsYXJnZXIgbWVt b3J5IGZvciBWTngxQkksVk54MkJJLFZOeDRCSSwgDQo+PiB3ZSBjYW4gZW1p dCBhcHByb3ByaWF0ZSB2c2V0dmwgdG8gZ3VyYW50ZWUgdGhlIGNvcnJlY3Ru ZXNzIGluIFJJU0MtViBiYWNrd2FyZCBhY2NvcmRpbmcgDQo+PiB0byB0aGUg bWFjaGluZV9tb2RlIGFzIGxvbmcgYXMgbG9uZyBHQ0MgZGlkbid0IGRvIHRo ZSBpbmNvcnJlY3QgZWxpbWluYXRpb24gaW4gbWlkZGxlLWVuZC4NCj4+IA0K Pj4gQmVzaWRlcywgcG9seSAoMSwxKSBpcyAxLzggb2YgbWFjaGluZSB2ZWN0 b3ItbGVuZ3RoIHdoaWNoIGlzIGFscmVhZHkgcmVhbGx5IGEgc21hbGwgbnVt YmVyLA0KPj4gd2hpY2ggaXMgdGhlIHJlYWwgbnVtYmVyIGJ5dGVzIGxvYWRl ZC9zdG9yZWQgZm9yIFZOeDhCSS4NCj4+IFlvdSBjYW4gc2F5IFZOeDFCSSwg Vk54MkJJLCBWTng0QkkgYXJlIGNvbnN1bWluZyBsYXJnZXIgbWVtb3J5IHRo YW4gd2UgYWN0dWFsbHkgbG9hZC9zdG9yZWQgYnkgYXBwcm9wcmlhdGUgdnNl dHZsDQo+PiBzaW5jZSB0aGV5IGFyZSBoYXZpbmcgc2FtZSBBREpVU1RfQllU RVNJWkUgYXMgVk54OEJJLiBIb3dldmVyLCBJIHRoaW5rIGl0J3MgdG90YWxs eSBmaW5lIHNvIGZhciBhcyBsb25nIGFzIHdlIGNhbg0KPj4gZ3VyYW50ZWUg dGhlIGNvcnJlY3RuZXNzIGFuZCBJIHRoaW5rIG9wdGltaXppbmcgc3VjaCBt ZW1vcnkgc3RvcmFnZSBjb25zdW1pbmcgaXMgdHJpdmlhbC4NCj4+IA0KPj4g Pj4gQW5kIGRvZXMgaXQgZXF1YWwgdGhlIHNpemUgb2YgdGhlIGNvcnJlc3Bv bmRpbmcgTExWTSBtYWNoaW5lIHR5cGU/DQo+PiANCj4+IFdlbGwsIGZvciBz b21lIHJlYXNvbiwgaW4gY2FzZSBvZiByZWdpc3RlciBzcGlsbGluZywgTExW TSBjb25zdW1lIG11Y2ggbW9yZSBtZW1vcnkgdGhhbiBHQ0MuDQo+PiBBbmQg dGhleSBhbHdheXMgZG8gd2hvbGUgcmVnaXN0ZXIgbG9hZC9zdG9yZSAoYSBz aW5nbGUgdmVjdG9yIHJlZ2lzdGVyIHZlY3Rvci1sZW5ndGgpIGZvciByZWdp c3RlciBzcGlsbGluZy4NCj4+IFRoYXQncyBhbm90aGVyIHN0b3J5IChJIGFt IG5vdCBnb2luZyB0byB0YWxrIHRvbyBtdWNoIGFib3V0IHRoaXMgc2luY2Ug aXQncyBhIHF1aXRlIHVnbHkgaW1wbGVtZW50YXRpb24pLiANCj4+IFRoZXkg ZG9uJ3QgbW9kZWwgdGhlIHR5cGVzIGFjY3VyYXRlbHkgYWNjb3JkaW5nIFJW ViBJU0EgZm9yIHJlZ2lzdGVyIHNwaWxsaW5nLg0KPj4gDQo+PiBJbiBjYXNl IG9mIG5vcm1hbCBsb2FkL3N0b3JlIGxpa2U6DQo+PiB2Ym9vbDhfdCB2MiA9 ICoodmJvb2w4X3QqKWluOyAgKih2Ym9vbDhfdCopKG91dCArIDEwMCkgPSB2 MjsNCj4+IFRoaXMga2luZCBvZiBsb2FkL3N0b3JlLCB0aGVpciBsb2FkL3N0 b3JlcyBpbnN0cnVjdGlvbnMgb2YgY29kZWdlbiBhcmUgYWNjdXJhdGUuDQo+ PiBFdmVuIHRob3VnaCB0aGVpciBpbnN0cnVjdGlvbnMgYXJlIGFjY3VyYXRl IGZvciBsb2FkL3N0b3JlIGFjY2Vzc2luZyBiZWhhdmlvciwgSSBhbSBub3Qg c3VyZSB3aGV0aGVyIHNpemUgDQo+PiBvZiB0aGVpciBtYWNoaW5lIHR5cGUg aXMgYWNjdXJhdGUuDQo+PiANCj4+IEZvciBleGFtcGxlLCBpbiBJUiBwcmVz ZW50YXRpb246IFZOeDFCSSBvZiBHQ0MgaXMgcmVwcmVzZW50ZWQgYXMgdnNj YWxlIHggMSB4IGkxDQo+PiAgICAgICAgICAgVk54MkJJIG9mIEdDQyBpcyBy ZXByZXNlbnRlZCBhcyB2c2NhbGUgeCAyIHggaTENCj4+IGluIExMVk0gSVIu DQo+PiBJIGFtIG5vdCBzdXJlIHRoZSBieXRlc2l6ZSBvZiAgdnNjYWxlIHgg MSB4IGkxIGFuZCB2c2NhbGUgeCAyIHggaTEuDQo+PiBJIGRpZG4ndCB0YWtl IGEgZGVlcCBhIGxvb2sgYXQgaXQuDQo+PiANCj4+IEkgdGhpbmsgdGhpcyBx dWVzdGlvbiBpcyBub3QgdGhhdCBpbXBvcnRhbnQsIG5vIG1hdHRlciB3aGV0 aGVyIFZOeDFCSSBhbmQgVk54MkJJIGFyZSBtb2RlbGVkIGFjY3VyYXRlbHkg aW4gY2FzZSBvZiBBRFVTVF9CWVRFU0laRQ0KPj4gaW4gR0NDIG9yICB2c2Nh bGUgeCAxIHggaTEgYW5kIHZzY2FsZSB4IDIgeCBpMSBhcmUgbW9kZWxlZCBh Y2N1cmF0ZWx5IGluIGNhc2Ugb2YgIHRoZWlyIGJ5dGVzaXplLA0KPj4gSSB0 aGluayBhcyBsb25nIGFzIHdlIGNhbiBlbWl0IGFwcHJvcHJpYXRlIHZzZXR2 bCArIHZsbS92c20sIGl0J3MgdG90YWxseSBmaW5lIGZvciBSVlYgIGV2ZW4g dGhvdWdoIGluIHNvbWUgY2FzZSwgdGhlaXIgbWVtb3J5IGFsbG9jYXRpb24N Cj4+IGlzIG5vdCBhY2N1cmF0ZSBpbiBjb21waWxlci4NCj4gIA0KPiBJJ20g bm90IHN1cmUgaG93IGl0IHdvcmtzIGZvciB2YXJpYWJsZS1sZW5ndGggdHlw ZXMgYnV0IGlzbid0DQo+IHNpemVvZiAodmJvb2w4X3QpIHBhcnQgb2YgdGhl IEFCSSBhbmQgdGh1cyBpdHMgVFlQRV9TSVpFIC8gR0VUX01PREVfU0laRQ0K PiBhcmUgcmVsZXZhbnQgdGhlcmU/ICBJdCBtaWdodCBvZiBjb3Vyc2UgYmUg dGhhdCB5b3UgY2FuIG5ldmVyIGhhdmUNCj4gdGhlc2UgdHlwZXMgYXMgcGFy dCBvZiBhZ2dyZWdhdGVzLCBhcnJheXMgb3Igb2JqZWN0cyBvZiB0aGVtIGFk ZHJlc3MtdGFrZW4NCj4gaW4gd2hpY2ggY2FzZSB0aGUgaXNzdWUgaXMgbW9v dD8NCj4gIA0KPiBSaWNoYXJkLg0KPiAgDQo+PiANCj4+IGp1emhlLnpob25n QHJpdmFpLmFpDQo+PiAgDQo+PiBGcm9tOiBSaWNoYXJkIFNhbmRpZm9yZA0K Pj4gRGF0ZTogMjAyMy0wMy0wMiAwMDoxNA0KPj4gVG86IExpXCwgUGFuMg0K Pj4gQ0M6IGp1emhlLnpob25nXEByaXZhaS5haTsgcmd1ZW50aGVyOyBnY2Mt cGF0Y2hlczsgUGFuIExpOyBraXRvLmNoZW5nDQo+PiBTdWJqZWN0OiBSZTog W1BBVENIXSBSSVNDLVY6IEJ1Z2ZpeCBmb3IgcnZ2IGJvb2wgbW9kZSBwcmVj aXNpb24gYWRqdXN0bWVudA0KPj4gIkxpLCBQYW4yIiA8cGFuMi5saUBpbnRl bC5jb20+IHdyaXRlczoNCj4+ID4gVGhhbmtzIGFsbCBmb3Igc28gbXVjaCB2 YWx1YWJsZSBhbmQgaGVscGZ1bCBtYXRlcmlhbHMuDQo+PiA+DQo+PiA+IEFz IEkgdW5kZXJzdGFuZCAoUGxlYXNlIGhlbHAgdG8gY29ycmVjdCBtZSBpZiBh bnkgbWlzdGFrZS4pLCBmb3IgdGhlIFZOeCpCSSAoYWthLCAxLCAyLCA0LCA4 LCAxNiwgMzIsIDY0KSwNCj4+ID4gdGhlIHByZWNpc2lvbiBhbmQgbW9kZSBz aXplIG5lZWQgdG8gYmUgYWRqdXN0ZWQgYXMgYmVsb3cuDQo+PiA+DQo+PiA+ IFByZWNpc2lvbiBzaXplIFsxLCAyLCA0LCA4LCAxNiwgMzIsIDY0XQ0KPj4g PiBNb2RlIHNpemUgWzEsIDEsIDEsIDEsIDIsIDQsIDhdDQo+PiA+DQo+PiA+ IEdpdmVuIHRoYXQsIGlmIHdlIGlnbm9yZSB0aGUgc2VsZi10ZXN0IGZhaWx1 cmUsIG9ubHkgdGhlIGFkanVzdF9wcmVjaXNpb24gcGFydCBpcyBhYmxlIHRv IGZpeCB0aGUgYnVnIEkgbWVudGlvbmVkLg0KPj4gPiBUaGUgZ2VubW9kZSB3 aWxsIGZpcnN0IGdldCB0aGUgcHJlY2lzaW9uLCBhbmQgdGhlbiBsZXZlcmFn ZSB0aGUgbW9kZV9zaXplID0gZXhhY3RfZGl2IC8gOCB0byBnZW5lcmF0ZS4N Cj4+ID4gTWVhbndoaWxlLCBpdCBhbHNvIHByb3ZpZGVzIHRoZSBhZGp1c3Rf bW9kZV9zaXplIGFmdGVyIHRoZSBtb2RlX3NpemUgZ2VuZXJhdGlvbi4NCj4+ ID4NCj4+ID4gVGhlIHJpc2N2IHBhcnRzIGhhcyB0aGUgbW9kZV9zaXplX2Fk anVzdCBhbHJlYWR5IGFuZCB0aGUgdmFsdWUgb2YgbW9kZV9zaXplIHdpbGwg YmUgb3ZlcnJpZGRlbiBieSB0aGUgYWRqdXN0bWVudHMuDQo+PiAgDQo+PiBB aCwgT0shICBJbiB0aGF0IGNhc2UsIHdvdWxkIHRoZSBmb2xsb3dpbmcgaGVs cDoNCj4+ICANCj4+IFR1cm46DQo+PiAgDQo+PiAgIG1vZGVfc2l6ZVtFXyVz bW9kZV0gPSBleGFjdF9kaXYgKG1vZGVfcHJlY2lzaW9uW0VfJXNtb2RlXSwg QklUU19QRVJfVU5JVCk7DQo+PiAgDQo+PiBpbnRvOg0KPj4gIA0KPj4gICBp ZiAoIW11bHRpcGxlX3AgKG1vZGVfcHJlY2lzaW9uW0VfJXNtb2RlXSwgQklU U19QRVJfVU5JVCwNCj4+ICAgICZtb2RlX3NpemVbRV8lc21vZGVdKSkNCj4+ ICAgICBtb2RlX3NpemVbRV8lc21vZGVdID0gLTE7DQo+PiAgDQo+PiB3aGVy ZSAtMSBpcyBhbiAib2J2aW91c2x5IHdyb25nIiB2YWx1ZS4NCj4+ICANCj4+ IFBvcnRzIHRoYXQgbWlnaHQgaGl0IHRoZSAtMSBhcmUgdGhlbiByZXNwb25z aWJsZSBmb3Igc2V0dGluZyB0aGUgc2l6ZQ0KPj4gbGF0ZXIsIHZpYSBBREpV U1RfQllURVNJWkUuDQo+PiAgDQo+PiBBZnRlciBhbGwgdGhlIGFkanVzdG1l bnRzIGFyZSBjb21wbGV0ZSwgZ2VubW9kZXMgYXNzZXJ0cyB0aGF0IG5vIHNp emUgaXMNCj4+IGtub3duX2VxIHRvIC0xLg0KPj4gIA0KPj4gVGhhdCB3YXks IHRhcmdldC1pbmRlcGVuZGVudCBjb2RlIGRvZXNuJ3QgbmVlZCB0byBndWVz cyB3aGF0IHRoZQ0KPj4gY29ycmVjdCBiZWhhdmlvdXIgaXMuDQo+PiAgDQo+ PiBEb2VzIHRoZSBldmVudHVhbCB2YWx1ZSBzZXQgYnkgQURKVVNUX0JZVEVT SVpFIGVxdWFsIHRoZSByZWFsIG51bWJlciBvZg0KPj4gYnl0ZXMgbG9hZGVk IGJ5IHZsbS52IGFuZCBzdG9yZWQgYnkgdnN0bS52IChhZnRlciB0aGUgYXBw cm9wcmlhdGUgdnNldHZsKT8NCj4+IEFuZCBkb2VzIGl0IGVxdWFsIHRoZSBz aXplIG9mIHRoZSBjb3JyZXNwb25kaW5nIExMVk0gbWFjaGluZSB0eXBlPw0K Pj4gT3IgaXMgdGhlIEdDQyBzaXplIGxhcmdlciBpbiBzb21lIGNhc2VzIHRo YW4gdGhlIG51bWJlciBvZiBieXRlcw0KPj4gbG9hZGVkIGFuZCBzdG9yZWQ/ DQo+PiAgDQo+PiAoWW91IGFuZCBKdXpoZSBoYXZlIHByb2JhYmx5IGFuc3dl cmVkIHRoYXQgcXVlc3Rpb24gYmVmb3JlLCBzb3JyeSwNCj4+IGJ1dCBJJ20g c3RpbGwgbm90IDEwMCUgc3VyZSBvZiB0aGUgYW5zd2VyLiAgUGVyc29uYWxs eSwgSSB0aGluayBJIHdvdWxkDQo+PiBmaW5kIHRoZSBJU0EgYmVoYXZpb3Vy IGVhc2llciB0byB1bmRlcnN0YW5kIGlmIHRoZSBleHBsYW5hdGlvbiBkb2Vz bid0DQo+PiBpbnZvbHZlIHBvbHlfaW50cy4gIEl0IHdvdWxkIGJlIGdvb2Qg dG8gdW5kZXJzdGFuZCB0aGluZ3MgImFzIHRoZQ0KPj4gYXJjaGl0ZWN0dXJl IHNlZXMgdGhlbiIgcmF0aGVyIHRoYW4gaW4gdGVybXMgb2YgR0NDIGNvbmNl cHRzLikNCj4+ICANCj4+IFRoYW5rcywNCj4+IFJpY2hhcmQNCj4+ICANCj4+ ID4gVW5mb3J0dW5hdGVseSwgdGhlIGVhcmx5IHN0YWdlIG1vZGVfc2l6ZSBn ZW5lcmF0aW9uIGxldmVyYWdlZCBleGFjdF9kaXYsIHdoaWNoIGRvZXNuJ3Qg aG9ub3IgcHJlY2lzaW9uIHNpemUgPCA4DQo+PiA+IHdpdGggdGhlIGFkanVz dG1lbnQgYW5kIGZhaWxzIG9uIGV4YWN0X2RpdiBhc3NlcnRpb25zLg0KPj4g Pg0KPj4gPiBCZXNpZGVzIHRoZSBwcmVjaXNpb24gYWRqdXN0bWVudCwgSSBh bSBub3Qgc3VyZSBpZiB3ZSBjYW4gbmFycm93IGRvd24gdGhlIHByb2JsZW0g dG8uDQo+PiA+DQo+PiA+DQo+PiA+ICAgMS4gIERlZmluZWQgdGhlIHJlYWwg c2l6ZSBvZiBib3RoIHRoZSBwcmVjaXNpb24gYW5kIG1vZGUgc2l6ZSB0byBh bGlnbiB0aGUgcmlzY3YgSVNBLg0KPj4gPiAgIDIuICBCZXNpZGVzLCBtYWtl IHRoZSBnZW5lcmFsIG1vZGVfc2l6ZSA9IHByZWNpc2lvbl9zaXplIC8gOCBp cyBhYmxlIHRvIHRha2UgY2FyZSBvZiBib3RoIHRoZSBleGFjdF9kaXYgYW5k IHRoZSBkaXZpZGVuZCBsZXNzIHRoYW4gdGhlIGRpdmlzb3IgKGxpa2UgMS84 IG9yIDIvOCkgY2FzZXMuDQo+PiA+DQo+PiA+IENvdWxkIHlvdSBwbGVhc2Ug c2hhcmUgeW91ciBwcm9mZXNzaW9uYWwgc3VnZ2VzdGlvbnMgYWJvdXQgdGhp cz8gVGhhbmsgeW91IGFsbCBhZ2FpbiBhbmQgaGF2ZSBhIG5pY2UgZGF5IQ0K Pj4gPg0KPj4gPiBQYW4NCj4+ID4NCj4+ID4gRnJvbToganV6aGUuemhvbmdA cml2YWkuYWkgPGp1emhlLnpob25nQHJpdmFpLmFpPg0KPj4gPiBTZW50OiBX ZWRuZXNkYXksIE1hcmNoIDEsIDIwMjMgMTA6MTkgUE0NCj4+ID4gVG86IHJn dWVudGhlciA8cmd1ZW50aGVyQHN1c2UuZGU+DQo+PiA+IENjOiByaWNoYXJk LnNhbmRpZm9yZCA8cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbT47IGdjYy1w YXRjaGVzIDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz47IFBhbiBMaSA8aW5j YXJuYXRpb24ucC5sZWVAb3V0bG9vay5jb20+OyBMaSwgUGFuMiA8cGFuMi5s aUBpbnRlbC5jb20+OyBraXRvLmNoZW5nIDxraXRvLmNoZW5nQHNpZml2ZS5j b20+DQo+PiA+IFN1YmplY3Q6IFJlOiBSZTogW1BBVENIXSBSSVNDLVY6IEJ1 Z2ZpeCBmb3IgcnZ2IGJvb2wgbW9kZSBwcmVjaXNpb24gYWRqdXN0bWVudA0K Pj4gPg0KPj4gPj4+IFNvIGdpdmVuIHRoZSBhYm92ZSBJIHRoaW5rIHRoYXQg bW9kZWxpbmcgdGhlIHNpemUgYXMgYmVpbmcgdGhlIHNhbWUNCj4+ID4+PiBi dXQgd2l0aCBhY2N1cmF0ZSBwcmVjaXNpb24gd291bGQgd29yay4gIEl0J3Mg dGhlbiBvbmx5IHRoZSBzaXplIG9mIHRoZQ0KPj4gPj4+IHBhZGRpbmcgaW4g Ynl0ZXMgd2UgY2Fubm90IHJlcHJlc2VudCB3aXRoIHBvbHktaW50IHdoaWNo IHNob3VsZCBiZSBmaW5lLg0KPj4gPg0KPj4gPj4+IENvcnJlY3Q/DQo+PiA+ IFllcy4NCj4+ID4NCj4+ID4+PiBCdHcsIGlzIHN0b3JpbmcgYSBWTngxQkkg YW5kIHRoZW4gbG9hZGluZyBhIFZOeDJCSSBmcm9tIHRoZSBzYW1lDQo+PiA+ Pj4gbWVtb3J5IGFkZHJlc3Mgd2VsbC1kZWZpbmVkPyAgVGhhdCBpcywgaG93 IGlzIHRoZSBwYWRkaW5nIGhhbmRsZWQNCj4+ID4+PiBieSB0aGUgbWFjaGlu ZSBsb2FkL3N0b3JlIGluc3RydWN0aW9ucz8NCj4+ID4NCj4+ID4gc3Rvcmlu ZyBWTngxQkkgaXMgc3RvcmluZyB0aGUgZGF0YSBmcm9tIGFkZHIgMCB+IDEv OCBwb2x5ICgxLDEpIGFuZCBrZWVwIGFkZHIgMS84ICBwb2x5ICgxLDEpIH4g Mi84ICBwb2x5ICgxLDEpIG1lbW9yeSBkYXRhIHVuY2hhbmdlLg0KPj4gPiBs b2FkIFZOeDJCSSB3aWxsIGxvYWQgMCB+IDIvOCAgcG9seSAoMSwxKSwgbm90 ZSB0aGF0IDAgfiAxLzggcG9seSAoMSwxKSBpcyB0aGUgZGF0ZSB0aGF0IHdl IHN0b3JlIGFib3ZlLCAxLzggIHBvbHkgKDEsMSkgfiAyLzggIHBvbHkgKDEs MSkgIGlzIHRoZSBvcmlnbmFsIG1lbW9yeSBkYXRhLg0KPj4gPiBZb3UgY2Fu IHNlZSBoZXJlIGZvciB0aGlzIGNhc2UgKExMVk0pOg0KPj4gPiBodHRwczov L2dvZGJvbHQub3JnL3ovUDllMWFkcmQzDQo+PiA+IGZvbzogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjIEBmb28NCj4+ID4gICAgICAg ICB2c2V0dmxpIGEyLCB6ZXJvLCBlOCwgbWY4LCB0YSwgbWENCj4+ID4gICAg ICAgICB2c20udiAgIHYwLCAoYTApDQo+PiA+ICAgICAgICAgdnNldHZsaSBh MiwgemVybywgZTgsIG1mNCwgdGEsIG1hDQo+PiA+ICAgICAgICAgdmxtLnYg ICB2OCwgKGEwKQ0KPj4gPiAgICAgICAgIHZzbS52ICAgdjgsIChhMSkNCj4+ ID4gICAgICAgICByZXQNCj4+ID4NCj4+ID4gV2UgY2FuIGFsc28gZG9pbmcg bGlrZSB0aGlzIGluIEdDQyBhcyBsb25nIGFzIHdlIGNhbiBkaWZmZXJlbnRp YXRlIFZOeDFCSSBhbmQgVk54MkJJLCBhbmQgR0NDIGRvIG5vdCBlbGltaW5h dGUgc3RhdGVtZW50IGFjY29yZGluZyBwcmVjaXNpb24gZXZlbiB0aG91Z2gN Cj4+ID4gdGhleSBoYXZlIHNhbWUgYnl0ZXNpemUuDQo+PiA+DQo+PiA+IEZp cnN0IHdlIGVtaXQgdnNldHZsIGU4bWY4ICt2c20gZm9yIFZOeDFCSQ0KPj4g PiBUaGVuIHdlIGVtaXQgdnNldHZsIGU4bWY4ICsgdmxtIGZvciBWTngyQkkN Cj4+ID4NCj4+ID4gVGhhbmtzLg0KPj4gPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXw0KPj4gPiBqdXpoZS56aG9uZ0ByaXZhaS5haTxtYWls dG86anV6aGUuemhvbmdAcml2YWkuYWk+DQo+PiA+DQo+PiA+IEZyb206IFJp Y2hhcmQgQmllbmVyPG1haWx0bzpyZ3VlbnRoZXJAc3VzZS5kZT4NCj4+ID4g RGF0ZTogMjAyMy0wMy0wMSAyMjowMw0KPj4gPiBUbzoganV6aGUuemhvbmc8 bWFpbHRvOmp1emhlLnpob25nQHJpdmFpLmFpPg0KPj4gPiBDQzogcmljaGFy ZC5zYW5kaWZvcmQ8bWFpbHRvOnJpY2hhcmQuc2FuZGlmb3JkQGFybS5jb20+ OyBnY2MtcGF0Y2hlczxtYWlsdG86Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc+ OyBQYW4gTGk8bWFpbHRvOmluY2FybmF0aW9uLnAubGVlQG91dGxvb2suY29t PjsgcGFuMi5saTxtYWlsdG86cGFuMi5saUBpbnRlbC5jb20+OyBraXRvLmNo ZW5nPG1haWx0bzpraXRvLmNoZW5nQHNpZml2ZS5jb20+DQo+PiA+IFN1Ympl Y3Q6IFJlOiBSZTogW1BBVENIXSBSSVNDLVY6IEJ1Z2ZpeCBmb3IgcnZ2IGJv b2wgbW9kZSBwcmVjaXNpb24gYWRqdXN0bWVudA0KPj4gPiBPbiBXZWQsIDEg TWFyIDIwMjMsIFJpY2hhcmQgQmllbmVyIHdyb3RlOg0KPj4gPg0KPj4gPj4g T24gV2VkLCAxIE1hciAyMDIzLCBqdXpoZS56aG9uZ0ByaXZhaS5haTxtYWls dG86anV6aGUuemhvbmdAcml2YWkuYWk+IHdyb3RlOg0KPj4gPj4NCj4+ID4+ ID4gTGV0J3MgbWUgZmlyc3QgaW50cm9kdWNlIFJWViBsb2FkL3N0b3JlIGJh c2ljcyAgYW5kIHN0YWNrIGFsbG9jYXRpb24uDQo+PiA+PiA+IEZvciBzY2Fs YWJsZSB2ZWN0b3IgbWVtb3J5IGFsbG9jYXRpb24sIHdlIGFsbG9jYXRlIG1l bW9yeSBhY2NvcmRpbmcgdG8gbWFjaGluZSB2ZWN0b3ItbGVuZ3RoLg0KPj4g Pj4gPiBUbyBnZXQgdGhpcyBDUFUgdmVjdG9yLWxlbmd0aCB2YWx1ZSAocnVu dGltZSBpbnZhcmlhbnQgYnV0IGNvbXBpbGUgdGltZSB1bmtub3duKSwgd2Ug aGF2ZSBhbiBpbnN0cnVjdGlvbiBjYWxsIGNzcnIgdmxlbmIuDQo+PiA+PiA+ IEZvciBleGFtcGxlLCBjc3JyIGE1LHZsZW5iIChzdG9yZSBDUFUgYSBzaW5n bGUgcmVnaXN0ZXIgdmVjdG9yLWxlbmd0aCB2YWx1ZSAoZGVzY3JpYmUgYXMg Ynl0ZXNpemUpIGluIGE1IHJlZ2lzdGVyKS4NCj4+ID4+ID4gQSBzaW5nbGUg cmVnaXN0ZXIgc2l6ZSBpbiBieXRlcyAoR0VUX01PREVfU0laRSkgaXMgcG9s eSB2YWx1ZSAoOCw4KSBieXRlcy4gVGhhdCBtZWFucyBjc3JyIGE1LHZsZW5i LCBhNSBoYXMgdGhlIHZhbHVlIG9mIHNpemUgcG9seSAoOCw4KSBieXRlcy4N Cj4+ID4+ID4NCj4+ID4+ID4gTm93LCBvdXIgcHJvYmxlbSBpcyB0aGF0IFZO eDFCSSwgVk54MkJJLCBWTng0QkksIFZOeDhCSSBoYXMgdGhlIHNhbWUgYnl0 ZXNpemUgcG9seSAoMSwxKS4gU28gdGhlaXIgc3RvcmFnZSBjb25zdW1lcyB0 aGUgc2FtZSBzaXplLg0KPj4gPj4gPiBNZWFuaW5nIHdoZW4gd2Ugd2FudCB0 byBhbGxvY2F0ZSBhIG1lbW9yeSBzdG9yZ2Ugb3Igc3RhY2sgZm9yIHJlZ2lz dGVyIHNwaWxsaW5ncywgd2Ugc2hvdWxkIGZpcnN0IGNzcnIgYTUsIHZsZW5i LCB0aGVuIHNsbGkgYTUsYTUsMyAobWVhbnMgYTUgPSBhNS84KQ0KPj4gPj4g PiBUaGVuLCBhNSBoYXMgdGhlIGJ5dGVzaXplIHZhbHVlIG9mIHBvbHkgKDEs MSkuIEFsbCBWTngxQkksIFZOeDJCSSwgVk54NEJJLCBWTng4QkkgYXJlIGRv aW5nIHRoZSBzYW1lIHByb2Nlc3MgYXMgSSBkZXNjcmliZWQgYWJvdmUuIFRo ZXkgYWxsIGNvbnN1bWUNCj4+ID4+ID4gdGhlIHNhbWUgbWVtb3J5IHN0b3Jh Z2Ugc2l6ZSBzaW5jZSB3ZSBjYW4ndCBtb2RlbCB0aGVtIGFjY3VyYXRlbHkg YWNjb3JkaW5nIHRvIHByZWNpc2lvbiBvciB5b3UgYml0c2l6ZS4NCj4+ID4+ ID4NCj4+ID4+ID4gVGhleSBjb25zdW1lIHRoZSBzYW1lIHN0b3JhZ2UgKEkg YW0gYWdyZWUgaXQncyBiZXR0ZXIgdG8gbW9kZWwgdGhlbSBtb3JlIGFjY3Vy YXRlbHkgaW4gY2FzZSBvZiBtZW1vcnkgc3RvcmFnZSBjb21zdW1pbmcpLg0K Pj4gPj4gPg0KPj4gPj4gPiBXZWxsLCBldmVuIHRob3VnaCB0aGV5IGFyZSBj b25zdW1pbmcgc2FtZSBzaXplIG1lbW9yeSBzdG9yYWdlLCBJIGNhbiBtYWtl IHRoZWlyIG1lbW9yeSBhY2Nlc3NpbmcgYmVoYXZpb3IgKGxvYWQvc3RvcmUp IGFjY3VyYXRlbHkgYnkNCj4+ID4+ID4gZW1pdGluZyAgdGhlIGFjY3VyYXRl IFJWViBpbnN0cnVjdGlvbiBmb3IgdGhlbSBhY2NvcmRpbmcgdG8gUlZWIElT QS4NCj4+ID4+ID4NCj4+ID4+ID4gVk54MUJJLFZOeDJCSSwgVk54NEJJLCBW Tng4QkkgYXJlIGNvbnN1bWluZyBzYW1lIG1lbW9yeSBzdG9yYWdlIHdpdGgg c2l6ZSAgcG9seSAoMSwxKQ0KPj4gPj4gPiBUaGUgaW5zdHJ1Y3Rpb24gZm9y IHRoZXNlIG1vZGVzIGFzIGZvbGxvd3M6DQo+PiA+PiA+IFZOeDFCSTogdnNl dmwgZThtZjggKyB2bG0sICBsb2FkaW5nIDEvOCBvZiBwb2x5ICgxLDEpIHN0 b3JhZ2UuDQo+PiA+PiA+IFZOeDJCSTogdnNldmwgZThtZjggKyB2bG0sICBs b2FkaW5nIDEvNCBvZiBwb2x5ICgxLDEpIHN0b3JhZ2UuDQo+PiA+PiA+IFZO eDRCSTogdnNldmwgZThtZjggKyB2bG0sICBsb2FkaW5nIDEvMiBvZiBwb2x5 ICgxLDEpIHN0b3JhZ2UuDQo+PiA+PiA+IFZOeDhCSTogdnNldmwgZThtZjgg KyB2bG0sICBsb2FkaW5nIDEgb2YgcG9seSAoMSwxKSBzdG9yYWdlLg0KPj4g Pj4gPg0KPj4gPj4gPiBTbyBiYXNlIG9uIHRoZXNlLCBJdCdzIGZpbmUgdGhh dCB3ZSBkb24ndCBtb2RlbCBWTngxQkksVk54MkJJLCBWTng0QkksIFZOeDhC SSBhY2N1cmF0ZWx5IGFjY29yZGluZyB0byBwcmVjaXNpb24gb3IgYml0c2l6 ZS4NCj4+ID4+ID4gVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBmaW5lIGV2ZW4g dGhvdWdoIHRoZWlyIG1lbW9yeSBzdG9yYWdlIGlzIG5vdCBhY2N1cmF0ZS4N Cj4+ID4+ID4NCj4+ID4+ID4gSG93ZXZlciwgdGhlIHByb2JsZW0gaXMgdGhh dCBzaW5jZSB0aGV5IGhhdmUgdGhlIHNhbWUgYnl0ZXNpemUsIEdDQyB3aWxs IHRoaW5rIHRoZXkgYXJlIHRoZSBzYW1lIGFuZCBkbyBzb21lIGluY29ycmVj dCBzdGF0ZW1lbnQgZWxpbWluYXRpb246DQo+PiA+PiA+DQo+PiA+PiA+IChO b3RlOiBMb2FkIHNhbWUgbWVtb3J5IGJhc2UpDQo+PiA+PiA+IGxvYWQgdjAg Vk54MUJJIGZyb20gYmFzZTANCj4+ID4+ID4gbG9hZCB2MSBWTngyQkkgZnJv bSBiYXNlMA0KPj4gPj4gPiBsb2FkIHYyIFZOeDRCSSBmcm9tIGJhc2UwDQo+ PiA+PiA+IGxvYWQgdjMgVk54OEJJIGZyb20gYmFzZTANCj4+ID4+ID4NCj4+ ID4+ID4gc3RvcmUgdjAgYmFzZTENCj4+ID4+ID4gc3RvcmUgdjEgYmFzZTIN Cj4+ID4+ID4gc3RvcmUgdjIgYmFzZTMNCj4+ID4+ID4gc3RvcmUgdjMgYmFz ZTQNCj4+ID4+ID4NCj4+ID4+ID4gVGhpcyBwcm9ncmFtIHNlcXVlbmNlLCBp biBHQ0MsIGl0IHdpbGwgZWxpbWluYXRlIHRoZSBsYXN0IDMgbG9hZCBpbnN0 cnVjdGlvbnMuDQo+PiA+PiA+DQo+PiA+PiA+IFRoZW4gaXQgd2lsbCBiZWNv bWU6DQo+PiA+PiA+DQo+PiA+PiA+IGxvYWQgdjAgVk54MUJJIGZyb20gYmFz ZTAgPT09PiB2c2V0dmwgZThtZjggKyB2bG0gKG9ubHkgbG9hZCAxLzggb2Yg cG9seSBzaXplICgxLDEpIG1lbW9yeSBkYXRhKQ0KPj4gPj4gPg0KPj4gPj4g PiBzdG9yZSB2MCBiYXNlMQ0KPj4gPj4gPiBzdG9yZSB2MCBiYXNlMg0KPj4g Pj4gPiBzdG9yZSB2MCBiYXNlMw0KPj4gPj4gPiBzdG9yZSB2MCBiYXNlNA0K Pj4gPj4gPg0KPj4gPj4gPiBUaGlzIGlzIHdoYXQgd2Ugd2FudCB0byBmaXgu IEkgdGhpbmsgYXMgbG9uZyBhcyB3ZSBjYW4gaGF2ZSB0aGUgd2F5IHRvIGRp ZmZlcmVudGlhdGUgVk54MUJJLFZOeDJCSSwgVk54NEJJLCBWTng4QkkNCj4+ ID4+ID4gYW5kIEdDQyB3aWxsIG5vdCBkbyB0aCBpbmNvcnJlY3QgZWxpbWlu YXRpb24gZm9yIFJWVi4NCj4+ID4+ID4NCj4+ID4+ID4gSSB0aGluayBpdCBj YW4gd29yayBmaW5lICBldmVuIHRob3VnaCB0aGVzZSA0IG1vZGVzIGNvbnN1 bWUgaW5hY2N1cmF0ZSBtZW1vcnkgc3RvcmFnZSBzaXplDQo+PiA+PiA+IGJ1 dCBhY2N1cmF0ZSBkYXRhIG1lbW9yeSBhY2Nlc3MgbG9hZCBzdG9yZSBiZWhh dmlvci4NCj4+ID4+DQo+PiA+PiBTbyBnaXZlbiB0aGUgYWJvdmUgSSB0aGlu ayB0aGF0IG1vZGVsaW5nIHRoZSBzaXplIGFzIGJlaW5nIHRoZSBzYW1lDQo+ PiA+PiBidXQgd2l0aCBhY2N1cmF0ZSBwcmVjaXNpb24gd291bGQgd29yay4g IEl0J3MgdGhlbiBvbmx5IHRoZSBzaXplIG9mIHRoZQ0KPj4gPj4gcGFkZGlu ZyBpbiBieXRlcyB3ZSBjYW5ub3QgcmVwcmVzZW50IHdpdGggcG9seS1pbnQg d2hpY2ggc2hvdWxkIGJlIGZpbmUuDQo+PiA+Pg0KPj4gPj4gQ29ycmVjdD8N Cj4+ID4NCj4+ID4gQnR3LCBpcyBzdG9yaW5nIGEgVk54MUJJIGFuZCB0aGVu IGxvYWRpbmcgYSBWTngyQkkgZnJvbSB0aGUgc2FtZQ0KPj4gPiBtZW1vcnkg YWRkcmVzcyB3ZWxsLWRlZmluZWQ/ICBUaGF0IGlzLCBob3cgaXMgdGhlIHBh ZGRpbmcgaGFuZGxlZA0KPj4gPiBieSB0aGUgbWFjaGluZSBsb2FkL3N0b3Jl IGluc3RydWN0aW9ucz8NCj4+ID4NCj4+ID4gUmljaGFyZC4NCj4+ICANCj4+ IA0KIA0K ------=_001_NextPart074348354013_=------