From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 08C413858D28 for ; Mon, 4 Oct 2021 14:07:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 08C413858D28 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 194DRuu9026631; Mon, 4 Oct 2021 14:07:18 GMT Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3bfaj24fra-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 04 Oct 2021 14:07:17 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 194E0FIV037014; Mon, 4 Oct 2021 14:07:16 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam08lp2169.outbound.protection.outlook.com [104.47.73.169]) by aserp3020.oracle.com with ESMTP id 3bev8v6n2p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 04 Oct 2021 14:07:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BPyqePf/uFMRXX5MhZYejtuxoGaq12JLHdGkGtACFoGGvsYM7Fsrly8z8Pp9cRSRnPXJrhRlLR4zWrtldVEBKyo4ZnNOOWDFqiZJCy2eC/oEzU8QcugP+UqEoabgM+uVDsYbwfIngFIbsMYR3WOObohjaLFrUy8LTr2WYp5ZW/NB5oX2wXXZ112s1/BiZU0bO8anXDCcuF6k+eCagOIN1X/A2tXe2FvlG4B3qUnTQejQTm8bC6alwqJ1LO55thLAu6y1WMEqnkJ1VC7Ubkr9jygjwuBUk/lPlOv4KhYIA1rRVdNveQZXH6gN6CgvHQzRuEaJWxJdSn2khJAxLjFb5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=a3n6XW37Fih1eWunuX++CE6LO9xigjjrmloFKml90YE=; b=Ir1sLbE0TzRhorflhZltWZJFYdXeqToXGdDqB5OG67Gu5bhSGa/FxG0pHheLsymzEW/ZEdGccfbZsI2MAzDzOlyhTtbvzv7PqwbSE72GK2unCbUpHqHjBe8qbfwBMZLf6JpJk2hs1wJ3xuu8w0njh5RdIWy+0iWoeHK869rVxO+AEXJBLmCVQ/ay5fxVd9Fv7cB86EhC/jyqlK9uFKn1WpoBrlElCu5MDMIz5WA/nXekTYg+MDhLssNU3dRheRieBAuirOOAyad+sPJC5N5qpgNRmyfhcfUkg0tbU8IIwYN+sC0a8X4RHGMIp50kF7qYRqgLLjbDzV6UMRsHn8P/KA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by CH0PR10MB4873.namprd10.prod.outlook.com (2603:10b6:610:c7::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14; Mon, 4 Oct 2021 14:07:14 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::25f8:eaf:a3b9:fe86]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::25f8:eaf:a3b9:fe86%3]) with mapi id 15.20.4566.022; Mon, 4 Oct 2021 14:07:14 +0000 From: Qing Zhao To: Richard Biener CC: Jason Merrill , gcc-patches Nick Alcock via Subject: Re: [RFC][Patch][middle-end/PR102359]Not add initialization for READONLY variables with -ftrivial-auto-var-init Thread-Topic: [RFC][Patch][middle-end/PR102359]Not add initialization for READONLY variables with -ftrivial-auto-var-init Thread-Index: AQHXtXkoJJ7ZlWIGy0Oc1zNfAOeCiau7+/UAgAApG4CAAJNtgIAAP/mAgAFFMgCAAArDgIAABDIAgAQfFYCAAHubgA== Date: Mon, 4 Oct 2021 14:07:14 +0000 Message-ID: <7F500574-EAD7-4D1E-90D2-2256691D86F1@oracle.com> References: <788c04d7-6e87-4eff-decb-a13abf0b4058@redhat.com> <5q583245-3qq5-76p7-o1p4-312496os4140@fhfr.qr> <710E24B6-B845-49F0-B426-741905C48EA2@oracle.com> <1E504B0E-F99F-44B9-991D-0AE7769681ED@oracle.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3608.120.23.2.7) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7c649262-41a6-44a6-779e-08d987404431 x-ms-traffictypediagnostic: CH0PR10MB4873: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HbdhCndUJ8RjQ2somdjj8w+QgLCVgMxpJ+H1AQ/q4wUC3ujJVMj1/uunyr6tPiI6ZdNkMiNm7ueI+GuXYKsr0li35ZYc4lYXWneKTkUJQ0YzbOnOYtVdsKOSd3flQl9/fvNybXytwR6ot8J/eBVZEhb0oGD61gz7IStnofUKgkbzZqlnaOAi9xVaa+lL3HbvrXtA8QB/vpgvbMPsmO2IJaXB+kmswULMGZaRX/QAxTlDrMZjSL0a7q9GFXOHPtH7Ymj+0TaR4HHWS5SWdRNYIbs0Xx9KRsmOaZuT6LJupvCKQ8x8G1267zfHvo7vBpDd+wbF3yvb55IWAWlhDBmMEz3T4lAm5Y4jTKUnPc422onJOPfbjhmTdzmC2JiGGM0g/0xngiyNv5bdC9e28KVqqou6U20TQEvIUdAftgEUUwAb1xPoyNs8TmsrpskFCjPX2CL6lzkZO4fiDNT29nI1ucyzJP7eill3CyVH2JJETXYnIVFJuZg6+5Awb1xv4JeXCa3zX+9OZfT8ZQtGIUKCMc0EGE//8f2lbOlF1IkldJU1wcuDnJ34+FmXZQC6+xdgCVgXc7TYXsWhOw6U5tcs6Ja/yTexPUi6Nle4jDJ0eCGTlUPQ7/ahDOTf9ktCnhfmfhwS8ysnNnqq2KTp41pJADEXfYjqytIzFgZQjmcSLSr+v9OUjplCvJRt7HcMtTZTTvVrELA8b0VvGoVaYwhDmaUTiJ7Y83a1n6jiFl38YMtRorZAhe5gNySkIxamD0e5PI1p4z8oo5bh0ccBghHluKO+VC9Y9zQLlQ27LrkiVMeMZnnLB0+7oy8Tfud07oYq1/SvHzaLIXt3FIzwfyXaWhEKQ8P94KmNr0aJaX/UTc4= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR10MB4344.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(508600001)(2906002)(66946007)(66476007)(66556008)(64756008)(66446008)(91956017)(76116006)(966005)(8676002)(4326008)(316002)(38070700005)(5660300002)(122000001)(2616005)(186003)(38100700002)(36756003)(33656002)(54906003)(44832011)(6512007)(6506007)(6486002)(53546011)(86362001)(83380400001)(6916009)(8936002)(71200400001)(60764002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UW5pZEpqQ21iYzUzb1BIYWFTU25NeXk4MXYwQmx3aWdFMXljNHhCQzAyR0xG?= =?utf-8?B?WVRqMk1hMWkyVzdkcVpOMDYvZTltT1U0NXR5RTdxbWpzOTJjU0tLUm5pNjBu?= =?utf-8?B?U0xNUmlFRWtHSXlSYnlOMnNwS1U4Z0NENGFTNHZOZTBaUEFsdUgzYThDeFhr?= =?utf-8?B?Wlc0NUFscVczUmJOY2FSYTliaVA2T3A2V1liT0hwZ0NFdlVZZU1VYThyNVRy?= =?utf-8?B?Z2dNY0pWWW8wZ00rSHE0RnZhTFpwMk9HMm1xc1B1aHlVc3YxK2JTSzAzcHhO?= =?utf-8?B?WUpadzRHY2RqMjUvcHNBUDFoM1VTWFdySGJmMFVEczc3S0ZLY1ZtY3cyRjYx?= =?utf-8?B?dXRpa0c4bTRLYlc2aUJsWDgyNWtDTjd3OU4xb25keFlYSUlLaHluOXVHSmF4?= =?utf-8?B?RDZTSkhXYlJPNXVVNkRhZW4xNzhyU2hRTXFQODVrOEJxWEdIbW1PcEhGRlNs?= =?utf-8?B?VFdUS3VQL3ZYblFwcnpTME5weDhsb0RlKzN4ejZVeTQzRWdBdzF2Mi90Y1g5?= =?utf-8?B?N2tuZFpvZFRiaTh6TUpFVTVzT0pBNUUvSWt1S3JYck9kdnpJWHN4U2RpeGJO?= =?utf-8?B?a2x0ZjRwaC95K3ZVeWt4eGZmeTIzR1lFNUlySEdseFRIZ3VlMWRXbGExcWIw?= =?utf-8?B?UzZKV1p3aDdvMlpkaXdReVhnTVNFQkY1NzNNZjgzNE1GRG1vWVB1bU9hYnNR?= =?utf-8?B?eGVrVy92TzFXMS9NUGo0ZkxBY08wcGVRWUJGdXBQd1NmdnpNeVZSL1NudGpM?= =?utf-8?B?RC9kbGlNcE95SmthS2gyRGN4aEMrbWlUcXNQVkF5ZGpzbnBUMlV5My9zd3NQ?= =?utf-8?B?QmVab2w4V094REpkKzBzVE9XTHFwUWd1bEY5RDdtZCtHeEx5K1V4WERaMlpY?= =?utf-8?B?c3g4RHloVWpmVVRKRnZlVDBnU1dwUGx3TXBoNEdGMVZJenZNQWlMRFY5OXFJ?= =?utf-8?B?TklqQmZYbzJnN2w0RTdOcjZNMjVDY0FNOWFuc2JIaGIranJqRi9GVGcrRWtC?= =?utf-8?B?NFdhVUM3M0k1a0EzcDk1bDZyb3UwTWtTcGMvSHBueHA3UjRsVUlwazZJZldi?= =?utf-8?B?emtqVWl5TXZEeWRZTE9FWFFtVCtqSHVSVkpibWpFTHJoZ0JEWlo2cXNkK1hm?= =?utf-8?B?SHpUdFhGdk9ZQXlyaVY4UUJSY3RSdFVDLzdGRnhmSVV4VkpWejgzR2tOL1Jl?= =?utf-8?B?VjR4V1dBbUJGTlZPWE95Tkh4QUx2NVF1K1dHQ0hjOGthdXRjMHcwclJla1dp?= =?utf-8?B?VURpd3pLSEk2QXBFamJ5R0xzaXB0eEFMUTAzUVBXTldSNFJzRmpTNnpESVky?= =?utf-8?B?MDRNd1RwMnR6V1MyRG1WenhXYWZ5U1h6VVBqOXRUdzhCU2FrUFR0bk9jRE9h?= =?utf-8?B?ZlFoT0NyVDc5NlRNWS9oeFRKckwxdFNSc3BQM2VPM3dMZTZkbzlzbVp5ZWcx?= =?utf-8?B?UWZxTzB1UkMrbEl6VGhBYStCU2xYQkFFR21DUlprTU9IRFMvTEVBVTBkRjlM?= =?utf-8?B?enBHMGRmL3pORUQ4dzhNTExiRitwZWtaNkNWNTJkc2EyNUtSWjI2NkRCejVn?= =?utf-8?B?bTBhZHFDazZiUDVQOGhnMGc5WENLQ0RidXowdm1XRE45ckN5UGkvQkVlNHJ5?= =?utf-8?B?SHdrcHNVai9pcWxNSEs1dTYxUVFuaWd5S0E0MEljWWdRbmNaK1RQMzBWRlBm?= =?utf-8?B?SjNYTFdCVzQybElJbURFd1haTW5STVQ5ZXVMZkE2cVNjSUJFQ0hiK2dtajFm?= =?utf-8?B?bnBIellsakduVDJ0cVZKK3FiYzBRTDZwbjFuZDJGaEFaVjM3SVo1ZEFkNlpX?= =?utf-8?Q?8Gfb3BJ6SPSHWoapGlJUmRKS8kslC0x07rb18=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <38938F0BD785E94CBD0771212F5FA8DF@namprd10.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c649262-41a6-44a6-779e-08d987404431 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Oct 2021 14:07:14.0797 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6D4WHgcEKfqKDm6tcpZd7I600YdiPlCfIXMAg04MQ4qrWtDd2I1xaNNTW+QQl5R5veE4koFzxsNQ+On9eoxiYA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB4873 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10126 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 adultscore=0 phishscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2109230001 definitions=main-2110040097 X-Proofpoint-GUID: NeApf_dl8xg7HqnN1r7kXgWrSHi3TVOW X-Proofpoint-ORIG-GUID: NeApf_dl8xg7HqnN1r7kXgWrSHi3TVOW X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Oct 2021 14:07:21 -0000 DQoNCj4gT24gT2N0IDQsIDIwMjEsIGF0IDE6NDQgQU0sIFJpY2hhcmQgQmllbmVyIDxyZ3VlbnRo ZXJAc3VzZS5kZT4gd3JvdGU6DQo+IA0KPiBPbiBGcmksIDEgT2N0IDIwMjEsIFFpbmcgWmhhbyB3 cm90ZToNCj4gDQo+PiANCj4+IA0KPj4+IE9uIE9jdCAxLCAyMDIxLCBhdCAxMDozMyBBTSwgSmFz b24gTWVycmlsbCA8amFzb25AcmVkaGF0LmNvbT4gd3JvdGU6DQo+Pj4gDQo+Pj4gT24gMTAvMS8y MSAxMDo1NCwgUWluZyBaaGFvIHdyb3RlOg0KPj4+Pj4gT24gU2VwIDMwLCAyMDIxLCBhdCAyOjMx IFBNLCBKYXNvbiBNZXJyaWxsIDxqYXNvbkByZWRoYXQuY29tPiB3cm90ZToNCj4+Pj4+IA0KPj4+ Pj4gT24gOS8zMC8yMSAxMTo0MiwgUWluZyBaaGFvIHdyb3RlOg0KPj4+Pj4+PiBPbiBTZXAgMzAs IDIwMjEsIGF0IDE6NTQgQU0sIFJpY2hhcmQgQmllbmVyIDxyZ3VlbnRoZXJAc3VzZS5kZT4gd3Jv dGU6DQo+Pj4+Pj4+IA0KPj4+Pj4+PiBPbiBUaHUsIDMwIFNlcCAyMDIxLCBKYXNvbiBNZXJyaWxs IHdyb3RlOg0KPj4+Pj4+PiANCj4+Pj4+Pj4+IE9uIDkvMjkvMjEgMTc6MzAsIFFpbmcgWmhhbyB3 cm90ZToNCj4+Pj4+Pj4+PiBIaSwNCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiBQUjEwMjM1OSAoSUNF IGdpbXBsaWZpY2F0aW9uIGZhaWxlZCBzaW5jZSAgcjEyLTM0MzMtZ2EyNWUwYjVlNmFjOGE3N2Ep DQo+Pj4+Pj4+Pj4gaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9 MTAyMzU5DQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gSXMgZHVlIHRvIC1mdHJpdmlhbC1hdXRvLXZh ci1pbml0IGFkZGluZyBpbml0aWFsaXphdGlvbiBmb3IgUkVBRE9OTFkNCj4+Pj4+Pj4+PiB2YXJp YWJsZSDigJx0aGlz4oCdIGluIHRoZSBmb2xsb3dpbmcgcm91dGluZTogKHQuY3BwLjAwNXQub3Jp Z2luYWwpDQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gPT09PT09PQ0KPj4+Pj4+Pj4+IA0KPj4+Pj4+ Pj4+IDs7IEZ1bmN0aW9uIEE6OmZvbygpOjo8bGFtYmRhKCk+IChudWxsKQ0KPj4+Pj4+Pj4+IDs7 IGVuYWJsZWQgYnkgLXRyZWUtb3JpZ2luYWwNCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiB7DQo+Pj4+ Pj4+Pj4gY29uc3Qgc3RydWN0IEEgKiBjb25zdCB0aGlzIFt2YWx1ZS1leHByOiAmX19jbG9zdXJl LT5fX3RoaXNdOw0KPj4+Pj4+Pj4+ICAgY29uc3Qgc3RydWN0IEEgKiBjb25zdCB0aGlzIFt2YWx1 ZS1leHByOiAmX19jbG9zdXJlLT5fX3RoaXNdOw0KPj4+Pj4+Pj4+IHJldHVybiA8cmV0dmFsPiA9 IChkb3VibGUpICgoY29uc3Qgc3RydWN0IEEgKikgdGhpcyktPmE7DQo+Pj4+Pj4+Pj4gfQ0KPj4+ Pj4+Pj4+ID09PT09PT0NCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiBIb3dldmVyLCBpbiB0aGUgYWJv dmUgcm91dGluZSwg4oCcdGhpc+KAnSBpcyBOT1QgbWFya2VkIGFzIFJFQURPTkxZLCBidXQgaXRz DQo+Pj4+Pj4+Pj4gdmFsdWUtZXhwciAiJl9fY2xvc3VyZS0+X190aGlz4oCdIGlzIG1hcmtlZCBh cyBSRUFET05MWS4NCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiBUaGVyZSBhcmUgdHdvIG1ham9yIGlz c3VlczoNCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiAxLiBJbiB0aGUgcm91dGluZSDigJxpc192YXJf bmVlZF9hdXRvX2luaXTigJ0sIHdlIHNob3VsZCBleGNsdWRlIOKAnGRlY2zigJ0gdGhhdCBpcw0K Pj4+Pj4+Pj4+IG1hcmtlZCBhcyBSRUFET05MWTsNCj4+Pj4+Pj4+PiAyLiBJbiB0aGUgQysrIEZF LCDigJx0aGlz4oCdIHNob3VsZCBiZSBtYXJrZWQgYXMgUkVBRE9OTFkuDQo+Pj4+Pj4+Pj4gDQo+ Pj4+Pj4+Pj4gVGhlIGlkZWEgc29sdXRpb24gd2lsbCBiZToNCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+ PiAxLiBGaXgg4oCcaXNfdmFyX25lZWRfYXV0b19pbml04oCdIHRvIGV4Y2x1ZGUgVFJFRV9SRUFE T05MWSAoZGVjbCk7DQo+Pj4+Pj4+Pj4gMi4gRml4IEMrKyBGRSB0byBtYXJrIOKAnHRoaXPigJ0g YXMgVFJFRV9SRUFET05MWSAoZGVjbCk9PXRydWU7DQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gTm90 IHN1cmUgd2hldGhlciBpdOKAmXMgaGFyZCBmb3IgQysrIEZFIHRvIGZpeCB0aGUgMm5kIGlzc3Vl IG9yIG5vdD8NCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiBJbiB0aGUgY2FzZSBpdOKAmXMgbm90IGEg cXVpY2sgZml4IGluIEMrK0ZFLCBJIHByb3Bvc2VkIHRoZSBmb2xsb3dpbmcgZml4IGluDQo+Pj4+ Pj4+Pj4gbWlkZGxlIGVuZDoNCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiBMZXQgbWUga25vdyB5b3Vy IGNvbW1lbnRzIG9yIHN1Z2dlc3Rpb25zIG9uIHRoaXMuDQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4g VGhhbmtzIGEgbG90IGZvciB0aGUgaGVscC4NCj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4gSSdkIHRoaW5r IGlzX3Zhcl9uZWVkX2F1dG9faW5pdCBzaG91bGQgYmUgZmFsc2UgZm9yIGFueSB2YXJpYWJsZSB3 aXRoDQo+Pj4+Pj4+PiBERUNMX0hBU19WQUxVRV9FWFBSX1AsIGFzIHRoZXkgYXJlbid0IHJlYWxs eSB2YXJpYWJsZXMsIGp1c3Qgd2F5cyBvZiBuYW1pbmcNCj4+Pj4+Pj4+IG9iamVjdHMgdGhhdCBh cmUgaW5pdGlhbGl6ZWQgZWxzZXdoZXJlLg0KPj4+Pj4+PiANCj4+Pj4+Pj4gSUlSQyBoYW5kaW5n IHZhcmlhYmxlcyB3aXRoIERFQ0xfSEFTX1ZBTFVFX0VYUFJfUCBpcyBuZWNlc3NhcnkgdG8NCj4+ Pj4+Pj4gYXV0by1pbml0IFZMQXMsIG90aGVyd2lzZSBJIHRlbmQgdG8gYWdyZWUgLSB3b3VsZCB3 ZSBoYW5kbGUgdGhvc2UNCj4+Pj4+Pj4gd2hlbiB3ZSBzZWUgYSBERUNMX0VYUFIgdGhlbj8NCj4+ Pj4+PiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBpczoNCj4+Pj4+PiBnaW1wbGlmeV9kZWNs X2V4cHI6DQo+Pj4+Pj4gRm9yIGVhY2ggREVDTF9FWFBSIOKAnGRlY2zigJ0NCj4+Pj4+PiAgIElm IChWQVJfUCAoZGVjbCkgJiYgIURFQ0xfRVhURVJOQUwgKGRlY2wpKQ0KPj4+Pj4+ICAgICB7DQo+ Pj4+Pj4gCWlmIChpc192bGEgKGRlY2wpKQ0KPj4+Pj4+ICAgICAgICAgIGdpbXBsaWZ5X3ZsYV9k ZWNsIChkZWNsLCDigKYpOyAgICAgIC8qIGV4aXN0aW5nIGhhbmRsaW5nOiBjcmVhdGUgYSBWQUxV RV9FWFBSIGZvciB0aGlzIHZsYSBkZWNsKi8NCj4+Pj4+PiAJ4oCmDQo+Pj4+Pj4gCWlmIChoYXNf ZXhwbGljaXRfaW5pdCAoZGVjbCkpDQo+Pj4+Pj4gCSAgew0KPj4+Pj4+IAkgICDigKY7ICAgICAv KiBleGlzdGluZyBoYW5kbGluZy4gICovDQo+Pj4+Pj4gCSAgfQ0KPj4+Pj4+IAllbHNlIGlmIChp c192YXJfbmVlZF9hdXRvX2luaXQgKGRlY2wpKSAgICAgIC8qLiBOZXcgY29kZS4gKi8NCj4+Pj4+ PiAJICB7DQo+Pj4+Pj4gCSAgICBnaW1wbGVfYWRkX2luaXRfZm9yX2F1dG9fdmFyICjigKYuKTsg ICAvKiAgbmV3IGNvZGUuICAqLw0KPj4+Pj4+IAkgICAgLi4uDQo+Pj4+Pj4gCSAgfQ0KPj4+Pj4+ ICAgICB9DQo+Pj4+Pj4gU2luY2UgdGhlIOKAnERFQ0xfVkFMVUVfRVhQUiAoZGVjbCnigJ0gaXMg Tk9UIGEgREVDTF9FWFBSLCBpdCB3aWxsIG5vdCBiZSBzY2FubmVkIGFuZCBhZGRlZCBpbml0aWFs aXphdGlvbi4NCj4+Pj4+PiBpZiB3ZSBkbyBub3QgYWRkIGluaXRpYWxpemF0aW9uIGZvciBhIGRl Y2wgdGhhdCBoYXMgREVDTF9WQUxVRV9FWFBSLCB0aGVuIHRoZSDigJxERUNMX1ZBTFVFX0VYUFIg KGRlY2wp4oCdIHdpbGwgbm90IGJlIGFkZGVkIGFuIGluaXRpYWxpemF0aW9uIGVpdGhlci4gIFdl IHdpbGwgbWlzcyBhZGRpbmcgaW5pdGlhbGl6YXRpb25zIGZvciB0aGVzZSBkZWNscy4NCj4+Pj4+ PiBTbywgSSB0aGluayB0aGF0IHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIGlzIGNvcnJlY3Qu DQo+Pj4+Pj4gQW5kIGlmIEMrKyBGRSB3aWxsIG5vdCBtYXJrIOKAnHRoaXPigJ0gYXMgUkVBRE9O TFksIG9ubHkgbWFyayBERUNMX1ZBTFVFX0VYUFIodGhpcykgYXMgUkVBRE9OTFksIHRoZSBwcm9w b3NlZCBmaXggaXMgY29ycmVjdCB0b28uDQo+Pj4+Pj4gTGV0IG1lIGtub3cgeW91ciBvcGluaW9u IG9uIHRoaXMuDQo+Pj4+PiANCj4+Pj4+IFRoZSBwcm9ibGVtIHdpdGggdGhpcyB0ZXN0IGlzIG5v dCB3aGV0aGVyIHRoZSAndGhpcycgcHJveHkgaXMgbWFya2VkIFJFQURPTkxZLCB0aGUgcHJvYmxl bSBpcyB0aGF0IHlvdSdyZSB0cnlpbmcgdG8gaW5pdGlhbGl6ZSBsYW1iZGEgY2FwdHVyZSBwcm94 aWVzIGF0IGFsbDsgdGhlIGxhbWJkYSBjYXB0dXJlIG9iamVjdHMgd2VyZSBhbHJlYWR5IGluaXRp YWxpemVkIHdoZW4gZm9ybWluZyB0aGUgY2xvc3VyZSBvYmplY3QuICBTbyB0aGlzIHRlc3QgY3Vy cmVudGx5IGFib3J0cyB3aXRoIC1mdHJpdmlhbC1hdXRvLXZhci1pbml0PXplcm8gYmVjYXVzZSB5 b3UgImluaXRpYWxpemUiIHRoZSBpIGNhcHR1cmUgZmllbGQgdG8gMCBhZnRlciBpdCB3YXMgcHJl dmlvdXNseSBpbml0aWFsaXplZCB0byA0MjoNCj4+Pj4+IA0KPj4+Pj4gaW50IG1haW4oKQ0KPj4+ Pj4gew0KPj4+Pj4gaW50IGkgPSA0MjsNCj4+Pj4+IGF1dG8gbCA9IFs9XSgpIG11dGFibGUgeyBy ZXR1cm4gaTsgfTsNCj4+Pj4+IGlmIChsKCkgIT0gaSkNCj4+Pj4+ICAgX19idWlsdGluX2Fib3J0 ICgpOw0KPj4+Pj4gfQ0KPj4+Pj4gDQo+Pj4+PiBJIGJlbGlldmUgdGhlIHNhbWUgaXNzdWUgYXBw bGllcyB0byB0aGUgcHJveHkgdmFyaWFibGVzIGluIGNvcm91dGluZXMgdGhhdCB3b3JrIG11Y2gg bGlrZSBsYW1iZGFzLg0KPj4+IA0KPj4+PiBTbywgaG93IHNob3VsZCB0aGUgbWlkZGxlIGVuZCBk ZXRlcm1pbmUgdGhhdCBhIHZhcmlhYmxlIGlzIOKAnHByb3h5IHZhcmlhYmxl4oCdPw0KPj4+IA0K Pj4+IEluIHRoZSBmcm9udCBlbmQsIGlzX2NhcHR1cmVfcHJveHkgd2lsbCBpZGVudGlmeSBhIGxh bWJkYSBjYXB0dXJlIHByb3h5IHZhcmlhYmxlLiAgQnV0IHRoYXQgd29uJ3QgYmUgdHJ1ZSBmb3Ig dGhlIHNpbWlsYXIgcHJveGllcyB1c2VkIGJ5IGNvcm91dGluZXMuDQo+PiANCj4+IERvZXMgdGhp cyBtZWFuIHRoYXQgaW4gbWlkZGxlIGVuZCwgZXNwZWNpYWxseSBpbiBnaW1wbGlmaWNhdGlvbiBw aGFzZSwgdGhlcmUgaXMgTm90IGEgc2ltcGxlIHdheSB0byBkZXRlcm1pbmUgd2hldGhlciBhIHZh cmlhYmxlIGlzIGEgcHJveHkgdmFyaWFibGU/DQo+Pj4gDQo+Pj4+IEhhdmUgYWxsIOKAnHByb3h5 IHZhcmlhYmxlc+KAnSBiZWVuIGluaXRpYWxpemVkIGJ5IEMrKyBGRSBhbHJlYWR5Pw0KPj4+IA0K Pj4+IFllcy4NCj4+PiANCj4+Pj4+IFlvdSBjYW4ndCBqdXN0IGFzc3VtZSB0aGF0IGEgVkFSX0RF Q0wgd2l0aCBERUNMX1ZBTFVFX0VYUFIgaXMgdW5pbml0aWFsaXplZC4NCj4+Pj4gU28sIGFsbCB0 aGUgVkFSX0RFQ0xzIHdpdGggREVDTF9WQUxVRV9FWFBSIChleGNlcHQgdGhlIG9uZXMgY3JlYXRl ZCBieSDigJxnaW1wbGlmeV9kZWNsX2V4cHLigJ0pIGFyZSBpbml0aWFsaXplZCBieSBGRSBhbHJl YWR5Pw0KPj4+IA0KPj4+IEluIGdlbmVyYWwgSSdkIGV4cGVjdCB0aGVtIHRvIHJlZmVyIHRvIHBy ZXZpb3VzbHkgY3JlYXRlZCBvYmplY3RzIHdoaWNoIG1heSBvciBtYXkgbm90IGhhdmUgYmVlbiBp bml0aWFsaXplZCwgYnV0IGlmIHRoZXkgaGF2ZW4ndCBiZWVuLCB0aGUgcGxhY2UgdG8gZGVhbCB3 aXRoIHRoYXQgaXMgYXQgdGhlaXIgcHJldmlvdXMgY3JlYXRpb24uDQo+PiANCj4+IFN0aWxsIGEg bGl0dGxlIGNvbmZ1c2UuLi4sIGRvIHlvdSBtZWFuLCBldmVuIGZvciBWQUxfREVDTFMgd2l0aCBE RUNMX1ZBTFVFX0VYUFIgdGhhdCB3ZXJlIGNyZWF0ZWQgYnkgRkUsIHdlIGNhbm5vdCBndWFyYW50 ZWUgdGhleSBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQ/IA0KPj4gDQo+PiBXaGF0IGRpZCB5b3UgbWVh biBieSDigJx0aGUgcGxhY2UgdG8gZGVhbCB3aXRoIHRoYXQgaXMgYXQgdGhlcmUgcHJldmlvdXMg Y3JlYXRpb27igJ0/DQo+PiANCj4+IA0KPj4+IA0KPj4+Pj4gU2luY2UgdGhlcmUncyBhbHJlYWR5 IFZMQSBoYW5kbGluZyBpbiBnaW1wbGlmeV9kZWNsX2V4cHIsIHlvdSBjb3VsZCByZW1lbWJlciB3 aGV0aGVyIHlvdSBhZGRlZCBERUNMX1ZBTFVFX0VYUFIgaW4gdGhhdCBmdW5jdGlvbiwgYW5kIG9u bHkgdGhlbiBkbyB0aGUgaW5pdGlhbGl6YXRpb24uDQo+Pj4+IFllcywgaWYgd2UgY2FuIGd1YXJh bnRlZSB0aGF0IGFsbCB0aGUgVkFSX0RFQ0xzIHdpdGggREVDTF9WQUxVRV9FWFBSIGNyZWF0ZWQg ZnJvbSBGRXMgaGF2ZSBiZWVuIGluaXRpYWxpemVkIGFscmVhZHkgYnkgRkUsIHdlIGNhbiBmaXgg dGhpcyBpc3N1ZSBhcyB0aGlzIHdheS4NCj4+PiANCj4+PiBPciBtb3JlIGdlbmVyYWxseSwgY2hl Y2sgd2hldGhlciB0aGUgYXJndW1lbnQgdG8gZ2ltcGxpZnlfZGVjbF9leHByIGhhcyBERUNMX1ZB TFVFX0VYUFIgd2hlbiB3ZSBlbnRlciB0aGUgZnVuY3Rpb24sIGFuZCBkb24ndCBkbyB0aGUgaW5p dGlhbGl6YXRpb24gaW4gdGhhdCBjYXNlLg0KPj4gDQo+PiBZZXMsIHdlIGNhbiBkbyB0aGF0Lg0K Pj4gDQo+PiBIb3dldmVyLCB0aGUgbWFqb3IgdGhpbmcgSSBuZWVkIHRvIG1ha2Ugc3VyZSBpczog DQo+PiANCj4+IGNhbiB3ZSBndWFyYW50ZWUgdGhhdCBmb3IgQWxsIHRoZSBWQUxfREVDTFMgd2l0 aCBERUNMX1ZBTFVFX0VYUFIgY3JlYXRlZCANCj4+IGJ5IEZFIGFyZSBpbml0aWFsaXplZCBhbHJl YWR5Pw0KPiANCj4gSSB0aGluayBzby4NCg0KT2theS4gDQoNCldpbGwgZml4IHRoaXMgYnVnIGJh c2VkIG9uIHRoaXMuDQoNClRoYW5rcy4NCg0KUWluZw0KDQo+IA0KPiBSaWNoYXJkLg0KDQo=