From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 61118 invoked by alias); 29 Jun 2015 18:50:08 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 61098 invoked by uid 89); 29 Jun 2015 18:50:07 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.3 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,MIME_BASE64_BLANKS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=no version=3.3.2 X-HELO: na01-by2-obe.outbound.protection.outlook.com Received: from mail-by2on0147.outbound.protection.outlook.com (HELO na01-by2-obe.outbound.protection.outlook.com) (207.46.100.147) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA256 encrypted) ESMTPS; Mon, 29 Jun 2015 18:50:05 +0000 Received: from BY2PR02CA0046.namprd02.prod.outlook.com (10.141.216.36) by BLUPR0201MB1490.namprd02.prod.outlook.com (10.163.119.156) with Microsoft SMTP Server (TLS) id 15.1.201.16; Mon, 29 Jun 2015 18:50:02 +0000 Received: from BL2FFO11FD006.protection.gbl (2a01:111:f400:7c09::162) by BY2PR02CA0046.outlook.office365.com (2a01:111:e400:2c40::36) with Microsoft SMTP Server (TLS) id 15.1.201.16 via Frontend Transport; Mon, 29 Jun 2015 18:50:01 +0000 Authentication-Results: spf=none (sender IP is 165.204.84.221) smtp.mailfrom=amd.com; arm.com; dkim=none (message not signed) header.d=none; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from atltwp01.amd.com (165.204.84.221) by BL2FFO11FD006.mail.protection.outlook.com (10.173.161.2) with Microsoft SMTP Server id 15.1.201.10 via Frontend Transport; Mon, 29 Jun 2015 18:50:01 +0000 X-M-MSG: Received: from satlvexedge02.amd.com (satlvexedge02.amd.com [10.177.96.29]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by atltwp01.amd.com (Axway MailGate 5.3.1) with ESMTPS id 29823CAE661; Mon, 29 Jun 2015 14:49:59 -0400 (EDT) Received: from SATLEXDAG03.amd.com (10.181.40.7) by SATLVEXEDGE02.amd.com (10.177.96.29) with Microsoft SMTP Server (TLS) id 14.3.195.1; Mon, 29 Jun 2015 13:50:51 -0500 Received: from SATLEXDAG06.amd.com ([fe80::1557:d877:7f65:c17]) by satlexdag03.amd.com ([fe80::b5e9:cb70:d30c:3fbc%22]) with mapi id 14.03.0195.001; Mon, 29 Jun 2015 14:50:00 -0400 From: "Kumar, Venkataramanan" To: "pinskia@gmail.com" , "Dr. Philipp Tomsich" CC: James Greenhalgh , Benedikt Huber , "gcc-patches@gcc.gnu.org" , Marcus Shawcroft , Ramana Radhakrishnan , Richard Earnshaw Subject: RE: [PATCH] [aarch64] Implemented reciprocal square root (rsqrt) estimation in -ffast-math Date: Mon, 29 Jun 2015 19:07:00 -0000 Message-ID: <7794A52CE4D579448B959EED7DD0A4723DD10BF7@satlexdag06.amd.com> References: <1434629045-24650-1-git-send-email-benedikt.huber@theobroma-systems.com> <8B73CF78-11D4-4963-A60A-E1C2A3B219E2@gmail.com> <7794A52CE4D579448B959EED7DD0A4723DD10430@satlexdag06.amd.com> <1E4680F0-02C8-4999-958C-8B531BC850DA@theobroma-systems.com> <7794A52CE4D579448B959EED7DD0A4723DD104AF@satlexdag06.amd.com> <08D3EBD5-B67B-4D97-9940-3CAE6D020DC6@gmail.com> <7794A52CE4D579448B959EED7DD0A4723DD109D3@satlexdag06.amd.com> <1FEA8C0A-15E0-4309-B10D-B45032A68306@theobroma-systems.com> <7794A52CE4D579448B959EED7DD0A4723DD10A1C@satlexdag06.amd.com> <20150629113635.GA14400@arm.com> <00DB569E-D1C5-4CC5-AA2A-7572DCFEDB11@theobroma-systems.com> <326A6111-183B-4F72-BEF9-4FE1AA708DE4@gmail.com> In-Reply-To: <326A6111-183B-4F72-BEF9-4FE1AA708DE4@gmail.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD006;1:UQS6MIOpO/dQZ++0ujzgmgotmpyZXnuiPSnrXp/tUeKopR9UR1M6YJSzB8fENLQHmO6g98Bu/0oBAP4dOsimfTrcgF9Ywr/cw4PenjxJPSwHLuTDLcgk9ShRDUUBY9Li0hJmBBK59cnnCXyKCZCYAfGyFcFrMvBmKXfx7O4cXnJY+wWJ2CUFYjWIFhXDQsBv8oMhvprEOe2QYJVct/BV+SypImw8OhFO2F/YLLon9r5HpontFW1ZH884kcSwMYFga/fAj47yyrF1gfZcseu3Zl1tIew5fl9/TcJyrh2DrbnbZ7SYKyFSbQbqG6bj8GyX X-Forefront-Antispam-Report: CIP:165.204.84.221;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(428002)(13464003)(377454003)(189002)(51704005)(24454002)(199003)(164054003)(77156002)(86362001)(53416004)(106116001)(93886004)(5001770100001)(19580405001)(87936001)(2656002)(62966003)(19580395003)(92566002)(33656002)(76176999)(54356999)(105586002)(5250100002)(55846006)(50986999)(23676002)(2501003)(106466001)(101416001)(2900100001)(102836002)(2920100001)(2950100001)(5003600100002)(50466002)(15975445007)(47776003)(189998001)(46102003);DIR:OUT;SFP:1102;SCL:1;SRVR:BLUPR0201MB1490;H:atltwp01.amd.com;FPR:;SPF:None;MLV:sfv;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1490;2:rX+Qs8/nrRFkt8eNnKYmGkrCrxp9/RtdcIlToZgpuBK4dwEPapvkw2swkI5zGdXe;3:CdZDDFBCuRgrj93wImWzyHqHV+HQ4WyihwxjkFrGd4wP+yDTUcjcQgRlzLA1A2jcdfEI42FvOyRRhix7cCWdMfCtCqhpgNXzZNoeJsRbOA8GnnKsF9PeNkEk5UzEFuQGzACDhKNPR3PnZT12U6A0l0oFFsp2b0CpvO0BMh2xgJnMFM8fKxQSDs5G06hOjkGminH215EUSyqzoZx+/w5NpBxqvckhJ711KNEbxrB+X6GHLAKT6vJhAwjZBKSVYJL1;25:D6mQPErL1kCrlBWnY2JEBombjJ2E1Ad1O0Y2vzdbrt0TU7nNJ5Boe+60/wsQi0OuJ60QtTwxQKQG4SiAJZRfEOHHOlXU/DrZ7BAU+JCJ8t+zanLDpPFKLchCxNaGCqUlJ1RiU58wE3ja2h9hMgv65Ah0SoXMJMDNeH8NrE1933CHhfqRXMNjqBjxiCON885l8gcNMncv83PPSAYnlx0NyJexJIGEKp7WULchfeUTEqqwK1zUcQ61i/+3bmXXxAWCEDGNdLH9uxDUadtPDPHftg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0201MB1490; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1490;20:JyM93xZAyiVPWVQpxOP6w/aohA+BXUwTNHYkenl9YY7DZQtHXW6HRA15v2sovr/V3Ttuxe6y1I6Dz/GRckzbg9NSYopB2m63EAvyK1HnHSrdN4RRgOZH+kxx5AUzOdqf1w/TZBb3dqLEv3A99OuW1qhmd5EcHJ+9pKDp7wU9zf/LhOMQygp6NOP+5WkqyZkkUdos29KQPvDOkxp2EQ0AeV41t7IjgJq4FPXBD1In5T36W4QWcWO35zppfDVyYJlXLRUNMjWMkdi2Em8u0WN5VL3l0FyjlEo3es1/1/lTQcpc5UupjyKwwI5KGhlPz8QusjOrRLFPq+VA4uBF7k1x2OR9xDpC7NEShndnruL46LP21RuSlANYm83Hedn7WR1m4vV8m1nD2oLZ+rcFCsSQjVuRJ491g91ayl1blenRH2UmWC3/9Vti1qPbqzTsy7FxNaxMM+ojnCLEz29x2ROdOikuPIw2MErpMfnm3KWt3byEUmNgEcGoC1Ebr/Vcc2L9;4:+ySy/BxCYtYFsJplmsT0239Q5nImhcTDk+Q1rzHWXvuV7h5BOaZmTtvJt9pucO13+jT5+gE5SQ2Ow2WOnqO4lnYI2PUzzpsRmQUO3DI4JU3efjMbTmc6gSFZOhuofi/Li3oy958CYnCoK1D76g+GXVKfO6xYe2VsWLcNCOAc/uhEOPqaAeZIzKm8yPUQqyAr9DdrXtUPsDadt+MfzEo+D07pMn5fIrDzTymEcjEb3G/x6EynxqjIwHbUWsDnKlFg8DZ9XhDXoayyVWuxfLVBGhsEcMpmUx0KJRCJ0e8G0xU= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:BLUPR0201MB1490;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0201MB1490; X-Forefront-PRVS: 0622A98CD5 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTFVQUjAyMDFNQjE0OTA7MjM6T3ZEcUVTR2pYcCthUnRCcVovR1FKcXpv?= =?utf-8?B?RCsySXZFYUFrb1VzT2hTUFRLc1dzRThZRWtrNEJCYWtVbGVDT3ZZYzJUYVQ1?= =?utf-8?B?SDhNM28vSFdDSUE3RjFPV3pBZXF5ZGJVMml1VjRZSjByVjFaeGo3cEhuYkZQ?= =?utf-8?B?YjZGR3dqbG92ZVRRMVFOZ3FOZnZjMkJmQWx5QUdrU3AyVVNMMDNLMjVrOEZC?= =?utf-8?B?cnVjL0dNeVE0WDUwaEVzMmwzemsvdFp6eFRveEswTTdXYWtUY0tpd3lPL1d4?= =?utf-8?B?S3hKL3hReDNoNnMxMVhLL0tqdXk3Z3czOXVPYTNHbFg2SXNIYkhRSGRhLzNS?= =?utf-8?B?MGNpZTBJU2EzTm9vYWNRN1U0WUVSL05pdVY1VDJRcFlkSXpHTTVWdWNNMmhK?= =?utf-8?B?cytCUmQyL1N2VmhOcFpEM1R3ZUVLR25ySTBEWjBzVVlLSEI1WFZiRlQ1aEhx?= =?utf-8?B?VEVMRnArWHpTV3BnbURtUFU2UFdjMWNEL044Z3Y1ZkptQTN2S3h4emZuRHBn?= =?utf-8?B?bE0wdWpzTFZROGludnlmTUtHWm1qN3Y4ZjhRTk9QREpXRHVtQ1RtcVFvYm90?= =?utf-8?B?YURXNnp4aVRyVjhzSUQweDRXM1A5MnpjS3BCTVpCQi9yWFZBdWV3eEFhYURy?= =?utf-8?B?MmdqYUQxM0pUeXhKNlMvVEVma2gzak5VNmJnRGlJakVSalptNzlxbStHcEJ4?= =?utf-8?B?d0dneWFNY2YzVHpBbGk0NkhMMXJINGEvUzRGS0VpNThoaWtMeUc5Tm42ejFq?= =?utf-8?B?d3cxamh2Mll4ZlBIV0UxSXNVNU1Gb3g0QnlvRlE5L3RjZW5rVWFqVU5mTXVw?= =?utf-8?B?Rko4dWsrTW9Ga2hFd05jUkJHdGdWdVJ5Vk1WMG9NaTlJMFBPbC9ZMVU5OHdT?= =?utf-8?B?c1NsSFQ5V0hod3Jwb0t5eEdxT3JUWmtPZGRJUXdxaTN4c0lRbnlqNkxtU2VB?= =?utf-8?B?c0RwVk9GYy9sR3huY25iQjFXMEVmTm41bDdzbGVGdFA0bjNpRnJoclF0T1F6?= =?utf-8?B?dzQ4VzdJMjk0bnVHSmFrSk5iVStNemd5WmZMK29HMllzWEhQRWlVMHZSNVNl?= =?utf-8?B?NjlnREs0YUduZUlkalk0SWR1Tmt3NWtUbmZIN1FDdmF4T2hZT1pHajRiSjZq?= =?utf-8?B?QytLYXpidW03UGxWWGRNQmtQVVpTQjNxZDNZbDdYUkNoMVFId1lGVVZDTk1i?= =?utf-8?B?TXViZ1l0ZGlFaGtHbS9oOFpkZnBlZDdVaTZtMkcwWUZXaHhuMGYyN2luSHV3?= =?utf-8?B?Q1BlWWpOWGhCVkFuTjVzd1VlRTFYc2JBbkhBekEvcDczdzZpaU5rVXVjc0Rz?= =?utf-8?B?dXhBak54Z2lmWDcvU0h1OHN6Z0VuUHlwUlhGT2hoVjJwL2tKd25TcUNsUkRm?= =?utf-8?B?NDVJUG9oclhYZ1J6bGFmd3JNQ0IvQlBuYTdpbFFXcWpweThVT0lXNTlpWXR2?= =?utf-8?B?WGJqR20rejRnUVF4c2VyU1RFMURrS002L1NZOGVEVVZlaDVxbTdETmdlQ3hN?= =?utf-8?Q?IIMdHQhAJ44i2qyYQhh176+u654=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1490;5:dUA1CJOtJxL4aibZdKm+y5v+vv75J+Mu+AAIKU8s6A+C1GF4iIVWvhL8xGWcqjAUbancY3o4DeJMIJptVkfWWgohvHaagBSww1e6bzrXxxIi425lAqUZ7tqhU391Jb5inMFWVB+ZRTK4d26VVv4iLw==;24:u+JFaT4hepPbnXqLhF163qiXClvanxSGvfcE7v74Pai73Lkomiju3p8uvjNpW4ml/thz/fojF5EFaOb3vxgF4Wyv8GYky2tTbQHBmkvVex8=;20:7p27XkkhiUpADp16p3w3jq1KSwEIYMKsVgJplcfO5xzlvH7inPEQCVmRQuy9FO1Dai8wkqtqniHzn8hOjJMq7g== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2015 18:50:01.4595 (UTC) X-MS-Exchange-CrossTenant-Id: fde4dada-be84-483f-92cc-e026cbee8e96 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fde4dada-be84-483f-92cc-e026cbee8e96;Ip=[165.204.84.221];Helo=[atltwp01.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0201MB1490 X-IsSubscribed: yes X-SW-Source: 2015-06/txt/msg02110.txt.bz2 SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog cGluc2tpYUBnbWFpbC5jb20gW21haWx0bzpwaW5za2lhQGdtYWlsLmNvbV0N Cj4gU2VudDogTW9uZGF5LCBKdW5lIDI5LCAyMDE1IDEwOjIzIFBNDQo+IFRv OiBEci4gUGhpbGlwcCBUb21zaWNoDQo+IENjOiBKYW1lcyBHcmVlbmhhbGdo OyBLdW1hciwgVmVua2F0YXJhbWFuYW47IEJlbmVkaWt0IEh1YmVyOyBnY2Mt DQo+IHBhdGNoZXNAZ2NjLmdudS5vcmc7IE1hcmN1cyBTaGF3Y3JvZnQ7IFJh bWFuYSBSYWRoYWtyaXNobmFuOyBSaWNoYXJkDQo+IEVhcm5zaGF3DQo+IFN1 YmplY3Q6IFJlOiBbUEFUQ0hdIFthYXJjaDY0XSBJbXBsZW1lbnRlZCByZWNp cHJvY2FsIHNxdWFyZSByb290IChyc3FydCkNCj4gZXN0aW1hdGlvbiBpbiAt ZmZhc3QtbWF0aA0KPiANCj4gDQo+IA0KPiANCj4gDQo+ID4gT24gSnVuIDI5 LCAyMDE1LCBhdCA0OjQ0IEFNLCBEci4gUGhpbGlwcCBUb21zaWNoDQo+IDxw aGlsaXBwLnRvbXNpY2hAdGhlb2Jyb21hLXN5c3RlbXMuY29tPiB3cm90ZToN Cj4gPg0KPiA+IEphbWVzLA0KPiA+DQo+ID4+IE9uIDI5IEp1biAyMDE1LCBh dCAxMzozNiwgSmFtZXMgR3JlZW5oYWxnaA0KPiA8amFtZXMuZ3JlZW5oYWxn aEBhcm0uY29tPiB3cm90ZToNCj4gPj4NCj4gPj4+IE9uIE1vbiwgSnVuIDI5 LCAyMDE1IGF0IDEwOjE4OjIzQU0gKzAxMDAsIEt1bWFyLCBWZW5rYXRhcmFt YW5hbg0KPiB3cm90ZToNCj4gPj4+DQo+ID4+Pj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPj4+PiBGcm9tOiBEci4gUGhpbGlwcCBUb21zaWNo DQo+ID4+Pj4gW21haWx0bzpwaGlsaXBwLnRvbXNpY2hAdGhlb2Jyb21hLXN5 c3RlbXMuY29tXQ0KPiA+Pj4+IFNlbnQ6IE1vbmRheSwgSnVuZSAyOSwgMjAx NSAyOjE3IFBNDQo+ID4+Pj4gVG86IEt1bWFyLCBWZW5rYXRhcmFtYW5hbg0K PiA+Pj4+IENjOiBwaW5za2lhQGdtYWlsLmNvbTsgQmVuZWRpa3QgSHViZXI7 IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnDQo+ID4+Pj4gU3ViamVjdDogUmU6 IFtQQVRDSF0gW2FhcmNoNjRdIEltcGxlbWVudGVkIHJlY2lwcm9jYWwgc3F1 YXJlIHJvb3QNCj4gPj4+PiAocnNxcnQpIGVzdGltYXRpb24gaW4gLWZmYXN0 LW1hdGgNCj4gPj4+Pg0KPiA+Pj4+IEt1bWFyLA0KPiA+Pj4+DQo+ID4+Pj4g VGhpcyBkb2VzIG5vdCBjb21lIHVuZXhwZWN0ZWQsIGFzIHRoZSBpbml0aWFs IGVzdGltYXRpb24gYW5kIGVhY2gNCj4gPj4+PiBpdGVyYXRpb24gd2lsbCBh ZGQgYW4gYXJjaGl0ZWN0dXJhbGx5LWRlZmluZWQgbnVtYmVyIG9mIGJpdHMg b2YNCj4gPj4+PiBwcmVjaXNpb24gKEFSTXY4IGd1YXJhbnR1ZWVzIG9ubHkg YSBtaW5pbXVtIG51bWJlciBvZiBiaXRzDQo+IHByb3ZpZGVkDQo+ID4+Pj4g cGVyIG9wZXJhdGlvbuKApiB0aGUgZXhhY3QgbnVtYmVyIGlzIHNwZWNpZmlj IHRvIGVhY2ggbWljcm8tYXJjaCwNCj4gdGhvdWdoKS4NCj4gPj4+PiBEZXBl bmRpbmcgb24geW91ciBhcmNoaXRlY3R1cmUgYW5kIG9uIHRoZSByZXF1aXJl ZCBudW1iZXIgb2YNCj4gPj4+PiBwcmVjaXNlIGJpdHMgYnkgYW55IGdpdmVu IGJlbmNobWFyaywgb25lIG1heSBzZWUgbWlzY29tcGFyZXMuDQo+ID4+Pg0K PiA+Pj4gVHJ1ZS4NCj4gPj4NCj4gPj4gSSB3b3VsZCBiZSB2ZXJ5IHVuY29t Zm9ydGFibGUgd2l0aCB0aGlzIGFwcHJvYWNoLg0KPiA+DQo+ID4gU2FtZSBo ZXJlLiBUaGUgZGVmYXVsdCBtdXN0IGJlIHNhZmUuIEFsd2F5cy4NCj4gPiBV bmxpa2Ugb3RoZXIgYXJjaGl0ZWN0dXJlcywgd2UgZG9u4oCZdCBoYXZlIGEg cHJvYmxlbSB3aXRoIG1ha2luZyB0aGUNCj4gPiBwcm9wZXIgZGVmYXVsdHMg Zm9yIOKAnHNhZmV0eeKAnSwgYXMgdGhlIEFSTXY4IElTQSBndWFyYW50ZWVz IGEgbWluaW11bQ0KPiA+IG51bWJlciBvZiBwcmVjaXNlIGJpdHMgcGVyIGl0 ZXJhdGlvbi4NCj4gPg0KPiA+PiBGcm9tIFJpY2hhcmQgQmllbmVyJ3MgcG9z dCBpbiB0aGUgdGhyZWFkIE1pY2hhZWwgTWF0eiBsaW5rZWQgZWFybGllcg0K PiA+PiBpbiB0aGUgdGhyZWFkOg0KPiA+Pg0KPiA+PiAgIEl0IHdvdWxkIGZv bGxvdyBleGlzdGluZyBwcmFjdGljZSBvZiB0aGluZ3Mgd2UgYWxsb3cgaW4N Cj4gPj4gICAtZnVuc2FmZS1tYXRoLW9wdGltaXphdGlvbnMuICBFeGlzdGlu ZyBwcmFjdGljZSBpbiB0aGF0IHdlDQo+ID4+ICAgd2FudCB0byBhbGxvdyAt ZmZhc3QtbWF0aCB1c2Ugd2l0aCBjb21tb24gYmVuY2htYXJrcyB3ZSBjYXJl DQo+ID4+ICAgYWJvdXQuDQo+ID4+DQo+ID4+ICAgaHR0cHM6Ly9nY2MuZ251 Lm9yZy9tbC9nY2MtcGF0Y2hlcy8yMDA5LTExL21zZzAwMTAwLmh0bWwNCj4g Pj4NCj4gPj4gV2l0aCB0aGUgc29sdXRpb24geW91IHNlZW0gdG8gYmUgY29u dmVyZ2luZyBvbiAoMi1zdGVwcyBmb3Igc29tZQ0KPiA+PiBtaWNyb2FyY2hp dGVjdHVyZXMsIDMgZm9yIG90aGVycyksIGEgYmluYXJ5IGdlbmVyYXRlZCBm b3Igb25lDQo+ID4+IG1pY3JvLWFyY2ggbWF5IGRyb3AgYmVsb3cgYSBtaW5p bXVtIGd1YXJhbnRlZSBvZiBwcmVjaXNpb24gd2hlbiBydW4NCj4gPj4gb24g YW5vdGhlci4gVGhpcyBzZWVtcyB0byBnbyBhZ2FpbnN0IHRoZSBzcGlyaXQg b2YgdGhlIHByYWN0aWNlDQo+ID4+IGFib3ZlLiBJIHdvdWxkIG9ubHkgc3Vw cG9ydCBhZGRpbmcgdGhpcyBvcHRpbWl6YXRpb24gdG8gLU9mYXN0IGlmIHdl DQo+ID4+IGNvdWxkIGtlZXAgdG8gYXJjaGl0ZWN0dXJhbCBndWFyYW50ZWVz IG9mIHByZWNpc2lvbiBpbiB0aGUgZ2VuZXJhdGVkIGNvZGUNCj4gKGkuZS4g My1zdGVwcyBldmVyeXdoZXJlKS4NCj4gPj4NCj4gPj4gSSBkb24ndCBvYmpl Y3QgdG8gYWRkaW5nIGEgIi1tbG93LXByZWNpc2lvbi1yZWNpcC1zcXJ0IiBz dHlsZSBvcHRpb24sDQo+ID4+IHdoaWNoIHdvdWxkIGJlIG9mZiBieSBkZWZh dWx0LCB3b3VsZCBlbmFibGUgdGhlIDItc3RlcCBtb2RlLCBhbmQNCj4gPj4g d291bGQgbmVlZCB0byBiZSBleHBsaWNpdGx5IGVuYWJsZWQgKGkuZS4gbm90 IGltcGxpZWQgYnkgLW1jcHU9Zm9vKQ0KPiA+PiBidXQgSSBkb24ndCBzZWUg d2hhdCB0aGlzIGJ1eXMgeW91IGJleW9uZCB0aGUgR3JvbWFjcyBib29zdCAo YW5kIGV2ZW4NCj4gPj4gdGhlcmUgeW91IHdvdWxkIGJlIGNyZWF0aW5nIGFu IEludmFsaWQgUnVuIGFzIG9wdGltaXphdGlvbiBmbGFncyBtdXN0DQo+ID4+ IGJlIGFwcGxpZWQgYWNyb3NzIGFsbCB3b3JrbG9hZHMpLg0KPiA+DQo+ID4g QW55IGZsYWcgdGhhdCByZWR1Y2VzIHByZWNpc2lvbiAoYW5kIHRodXMgYnJl YWtzIElFRUUgZmxvYXRpbmctcG9pbnQNCj4gPiBzZW1hbnRpY3MpIG5lZWRz IHRvIGJlIGdhdGVkIHdpdGggYW4g4oCcdW5zYWZl4oCdIGZsYWcgKGkuZS4g b25lIHRoYXQgaXMgbmV2ZXINCj4gb24gYnkgZGVmYXVsdCkuDQo+ID4gQXMg YSBjb25zZXF1ZW5jZSwgdGhlIOKAnHBlYWvigJ0tdHVuaW5nIGZvciBTUEVD IHdpbGwgdHVybiB0aGlzIG9u4oCmIGJ1dA0KPiA+IGJhcmVseSBhbnlvbmUg ZWxzZSB3b3VsZC4NCj4gPg0KPiA+PiBGb3IgdGhlIDMtc3RlcCBvcHRpbWl6 YXRpb24sIGl0IGlzIGNsZWFyIHRvIG1lIHRoYXQgZm9yICJnZW5lcmljIg0K PiA+PiB0dW5pbmcgd2UgZG9uJ3Qgd2FudCB0aGlzIHRvIGJlIGVuYWJsZWQg YnkgZGVmYXVsdCBleHBlcmltZW50YWwNCj4gPj4gcmVzdWx0cyBhbmQgYWR2 aWNlIGluIHRoaXMgdGhyZWFkIGFyZ3VlcyBhZ2FpbnN0IGl0IGZvciB0aHVu ZGVyeCBhbmQgY29ydGV4LQ0KPiBhNTcgdGFyZ2V0cy4NCj4gPj4gSG93ZXZl ciwgZW5hYmxpbmcgaXQgYmFzZWQgb24gdGhlIENQVSB0dW5pbmcgc2VsZWN0 ZWQgc2VlbXMgZmluZSB0byBtZS4NCj4gPg0KPiA+IEkgZG8gbm90IGFncmVl IG9uIHRoaXMgb25lLCBhcyBJIHdvdWxkIGxpa2UgdG8gc2VlIHRoZSBzYWZl IGZvcm0gKGkuZS4NCj4gPiAzIGFuZCA1IGl0ZXJhdGlvbnMgcmVzcGVjdGl2 ZWx5KSB0byBiZWNvbWUgdGhlIGRlZmF1bHQuIE1vc3QNCj4gPiDigJxzZXJ2 ZXItdHlwZeKAnSBjaGlwcyBzaG91bGQgbm90IHNlZSBhIHBlcmZvcm1hbmNl IHJlZ3Jlc3Npb24sIHdoaWxlIGl0DQo+ID4gd2lsbCBiZSBlYXNpZXIgdG8g b3B0aW1pc2UgZm9yIHRoaXMgaW4gaGFyZHdhcmUgdGhhbiBmb3IgYQ0KPiA+ IChwb3RlbnRpYWxseSBtaWNyb2NvZGVkKSBzcXJ0LWluc3RydWN0aW9uIChh bmQgc3Vic2VxdWVudCwgZGVwZW5kZW50DQo+IGRpdmlkZSkuDQo+ID4NCj4g PiBJIGhhdmUgbm90IGhlYXJkIGFueW9uZSBjbGFpbSBhIHBlcmZvcm1hbmNl IHJlZ3Jlc3Npb24gKGVpdGhlciBvbg0KPiA+IHRodW5kZXJ4IG9yIG9uIGNv cnRleC1hNTcpLCBidXQgbWVyZWx5IGhlYXJkIGEg4oCcbm8gc3BlZWQtdXDi gJ0uDQo+IA0KPiBBY3R1YWxseSBpdCBkb2VzIHJlZ3Jlc3MgcGVyZm9ybWFu Y2Ugb24gdGh1bmRlclgsIEkganVzdCBhc3N1bWVkIHRoYXQgd2hlbg0KPiBJ IHNhaWQgbm90IGdvaW5nIHRvIGJlIGEgd2luIGl0IHdhcyB0YWtlbiBhcyBh IHNsb3cgZG93bi4gSXQgcmVncmVzcyBncm9tYWNzIGJ5DQo+IG1vcmUgdGhh biAxMCUgb24gdGh1bmRlclggYnV0IEkgY2FuJ3QgcmVtZW1iZXIgaG93IG11 Y2ggYXMgaSBoYWQNCj4gc29tZW9uZSBlbHNlIHJ1biBpdC4gVGhlIGxhdGVu Y3kgZGlmZmVyZW5jZSBpcyBhbHNvIG92ZXIgNDAlOyBmb3IgZXhhbXBsZQ0K PiBzaW5nbGUgcHJlY2lzaW9uOiAyOSBjeWNsZXMgd2l0aCBkaXYgKDEyKSBz cXJ0KDE3KSBkaXJlY3RseSB2cyA0MiBjeWNsZXMgd2l0aCB0aGUNCj4gcnNx cnRlIGFuZCAyIGl0ZXJhdGlvbnMgb2YgMm11bC9yc3FydHMgKGRvdWJsZSBp cyA1MyB2cyA2MCkuIFRoYXQgaXMgaHVnZQ0KPiBkaWZmZXJlbmNlIHJpZ2h0 IHRoZXJlLiAgVGh1bmRlclggaGFzIGEgZmFzdCBkaXYgYW5kIGEgZmFzdCBz cXJ0IGZvciAzMmJpdCBhbmQgYQ0KPiByZWFzb25hYmxlIG9uZSBmb3IgZG91 YmxlLiAgIFNvIGFnYWluIHRoaXMgaXMgbm90IGp1c3Qgbm90IGEgd2luIGJ1 dCByYXRoZXIgYQ0KPiByZWdyZXNzaW9uIGZvciB0aHVuZGVyWC4gSSBzdXNw ZWN0IGNvcnRleC1hNTcgaXMgYWxzbyB0cnVlLg0KPiANCj4gVGhhbmtzLA0K PiBBbmRyZXcNCj4gDQoNClllcyB0aGVvcmV0aWNhbGx5ICBzaG91bGQgYmUg IHRydWUgZm9yIGNvcnRleC01NyBjYXNlIGFzIHdlbGwuICAgQnV0ICBJIGJl bGlldmUgaGFyZHdhcmUgcGlwZWxpbmluZyB3aXRoIGluc3RydWN0aW9uIHNj aGVkdWxpbmcgaW4gY29tcGlsZXIgaGVscHMgYSBsaXR0bGUgZm9yIGdyb21h Y3MgY2FzZSAgfjMlIHRvIDQlIHdpdGggdGhlIG9yaWdpbmFsIHBhdGNoLg0K DQpJIGhhdmUgbm90IHRlc3RlZCBvdGhlciBGUCBiZW5jaG1hcmtzLiAgIEFz IEphbWVzIHNhaWQgYSBmbGFnIC1tbG93LXByZWNpc2lvbi1yZWNpcC1zcXJ0 IGlmIGFsbG93ZWQgY2FuIGJlIHVzZWQgYXMgYSBwZWFrIGZsYWcuIA0KDQo+ ID4NCj4gPiBTbyBJIGFtIHN0cm9uZ2x5IGluIGZhdm9yIG9mIGRlZmF1bHRp bmcgdG8gdGhlIOKAmHNhZmXigJkgbnVtYmVyIG9mDQo+ID4gaXRlcmF0aW9u cywgZXZlbiB3aGVuIGNvbXBpbGluZyBmb3IgYSBnZW5lcmljIHRhcmdldC4N Cj4gPg0KPiA+IEJlc3QsDQo+ID4gUGhpbGlwcC4NCj4gPg0KDQpSZWdhcmRz LA0KVmVua2F0Lg0K