From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 9556A385842B for ; Mon, 26 Jul 2021 15:25:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9556A385842B Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 16QFH6M5019586; Mon, 26 Jul 2021 15:25:53 GMT Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 3a1up6rpa8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 26 Jul 2021 15:25:52 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 16QFEqFb129040; Mon, 26 Jul 2021 15:25:51 GMT Received: from nam02-dm3-obe.outbound.protection.outlook.com (mail-dm3nam07lp2049.outbound.protection.outlook.com [104.47.56.49]) by userp3030.oracle.com with ESMTP id 3a07yvq167-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 26 Jul 2021 15:25:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MSgNfJCB0lnQAFPMrSroC8rkenDGQ53ObtNqCPG+rkw53LWTJaTbClhA+LBBI8CyKkgJJpC9GAGdHZBIHQQG1zK6IbCGv7UjC0R5FcjBJb33pevQZtd/hDkqw9OzIz87xn4GdX+UxK0MvJDat/47HyNnoDYcGxgib6FmKsLkNUwlSt98IcDt/NklInUQXLruh6SqMWp6lC+PVNbnRmcrjNSFnW1ANy6xXSFPpA9rgG5AeUVNSHIGImbJnRNlm7jBvtD9e/G4fduk8z++ZiEUj0mU82Xpnn/P3CMNyiLp/7wSPSfjScrPc0uzWBYrivlSVrTOfOYNpBR8LvXr/Ii/3Q== 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-SenderADCheck; bh=G48X1fmxXH0Ta9Ma/kjbGwOImWVtFD6IsYAtOi54T8Y=; b=moTv1FG8E92OWQ402R6cGchsQUjXy6WbpWYsYa1gciehWGlQsAPwmotNSxF+9Md2MQ9RqMA40wA+LnEvAmy1jtgKo2r68Ns/u7AlXiGPmd07DW3SsDfV1z98an3+lqkC6ncOCnZGC0dVmdTOUWP9IoVhDyhmb5mNRHt7MdF9s5hYEkJfKgO9DBWO4aLjw1pBWsi2a9bhXncKDGjv8usLTW5hWL5lwYYSfB+QgxjBOHYDVO9iLRtaue5V5Wolob1h7HkZFoxdBFyQk8NdHjem+bVEs/QX0dxzSa0XElS7MabspJ2Z0BEv30VRgtx5V9lAu3D4ClHAXR52/bzTmhBHKA== 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 CH0PR10MB4956.namprd10.prod.outlook.com (2603:10b6:610:c9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.25; Mon, 26 Jul 2021 15:25:49 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::40d3:31ef:73a8:802]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::40d3:31ef:73a8:802%3]) with mapi id 15.20.4352.031; Mon, 26 Jul 2021 15:25:49 +0000 From: Qing Zhao To: Martin Jambor CC: Richard Biener , Richard Sandiford , Jakub Jelinek , Nick Alcock via Gcc-patches , kees cook Subject: Re: [patch][version5]add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Topic: [patch][version5]add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Index: AQHXgW4JZJUQoPJxBkq1qs33rAHxYqtVGB2AgABKCwA= Date: Mon, 26 Jul 2021 15:25:49 +0000 Message-ID: <95FCC810-FF00-4894-B643-6C5823E9C590@oracle.com> References: 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: cb7a1be1-6bb2-43f5-4847-08d95049a5b1 x-ms-traffictypediagnostic: CH0PR10MB4956: 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: sfJYv9k2x/UhNw0E6I4LCYC9ziLtRR1PXh6TTtBtUHmFzeKEes6jWTIXfuC8e1zeNWK7yvqfFeauipKou+zeG7IrWx/f+8HgLHPYJe3mEgKRUI6MuJyHYnvsfriDjaieyM9tgORCRN4CR76FmiYxJfrEEaTjx0J5l5d1YMH1Ls3ImbZWXmE9Lr1DFiedtTUAGtlX6Ip7bz5/wpW+7ORVg8zIdKPRS4Qna8op49z9vMuA1Iel06472alQSdALtc1UyEYlTV56H+p4Cwoz+3wvm1aBPbjq0aq/srHrn2AKY5lQd8q0yWqJI4gTEvnKkAF/OQOdS0OEvB4XuJfc4NxkglN0K1ZsLsdL2XqVrde2vnFh3Ko1s/4oH4Orj+qh4Su4m+fotQK4S/GOqlY8eLANvtN+bdMOtzFVHgwOKeKZLk9JaaRX7MKfPV3JA8UP1gG0MoT3qOdVmkO+xvI1sqPC0Q207hHmGImvO1a5Op41Y38iw0Ro/lagLQ1fj1Q8LB0H59+ZMdafouiJQLuLj9nHxdOdsvRN29ED8MGuq9bLkP+mCR0AegOC6JVEn8m9b153elTSCdctRuJhTQ5ntRIevzuCehSjFSkCEefPr01aMnFAbjCOveSKXszFwXx+k/zxNorzOWuImJ6VXFdcAq3sPsi+taCO63XiY4hAl8VxrdP4YB10/SFYk56oYTNJxGoJNEiIPceriaOD+2j6mErBWoxwjTB2Ioa9WxLVTuBvXp5RFsBz7HKdPgpa4rI5p6vaUOUy83hDEgXD9CTTl4kedJzL6XzTjYEQFmwAbdqjoeAuVdp2XsIRJ3odkC5PQRky/YpktFLbeukz7C1DfFSf4PUtwyphu5YHOsbfEu6lPuU= 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:(396003)(39860400002)(346002)(376002)(136003)(366004)(6512007)(966005)(6506007)(8936002)(66946007)(316002)(6486002)(8676002)(86362001)(478600001)(2906002)(44832011)(36756003)(91956017)(4326008)(38100700002)(54906003)(186003)(83380400001)(5660300002)(4743002)(76116006)(122000001)(6916009)(2616005)(66556008)(66476007)(64756008)(33656002)(71200400001)(66446008)(38070700004)(45980500001)(309714004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V3IwYkppOWQyWGx0b0RYaHNUcTlzWElrUE1XMDdmVzNLL1N2ZFExdm0yMUFj?= =?utf-8?B?QzRGSGY4REN4eVRRUVpwNlhyblg5SW5yOHNNZS9Ec1VDUFN2YlNlWWxDSlFX?= =?utf-8?B?Wloxd2JJOHZNS3NVQThoNktuUE9scEpSRFIzYUNndU5JdWJINW1hYmNoRUJo?= =?utf-8?B?TWxoTm9sYnF4QXpiNXBmS2ZyTFh2ZHVsTmRHaDVzTHFCTjl5eTUzd2VrMlpO?= =?utf-8?B?YU9FZGdrbGdlakM4dVVUaXh6em13Y2h0Q0JhSzNpK1pHNm9ST1k3YkhwemtO?= =?utf-8?B?emJJRFhINlF3UDBmLzBIcnNtNW9PZ251ZGJQcmtEY1o2TG5ON2I2d1BhMmZF?= =?utf-8?B?VVBMVkpSNitLU2Flazl4RUxjTzZYc2E5dFBKb3U0Q1dqTC9oOVlScGJOeGtW?= =?utf-8?B?ZzhTdmw4Wm94VUhkZ3dCSk1jTzI1RWZXYTQ2dzk3YmIvbzNJdnhLOVI0akZi?= =?utf-8?B?R3VOWTFCdHl6RFNxT1FBVlF2cFlUU3ZXMzNCZzd4bmIzL3daWEg1R2NaR3N4?= =?utf-8?B?SSs3cm9FWGRVdDVmZXdKenowelh1enNBUmdqbDNXTElTbXZTTlZtUEp0YlhN?= =?utf-8?B?SjRIdDR1eGlHK2ltNE5hdmM3clBJRlYrUFlwemdPeHl3djZRS1hkMU11aGNo?= =?utf-8?B?OUhHREpSTWJsd3FtRWhQOGsvbms3aHQrZXNyOGZxVmdibktVODhVaXNlNzdh?= =?utf-8?B?SXYxMWRadEkzZXppOWhhaHhvSUJxVGRyUzRIZXRYbHpNM1FTb0IwTFJ6RmF1?= =?utf-8?B?RzNMTlNCM2FMZDY0SHlQZFRpc05NbDY4Q3B2ZXBVQU5raFI0TkJsWk9MYkRo?= =?utf-8?B?NDYrejZobk9BandkSEZuQTF0clNuU3BaZGplNk8vSDNNVmhIWUdRVVJzYXg3?= =?utf-8?B?VU9jK2pXMEUwcll1SCt2V2lBSFdhQkU4NjBEcU1hSDRKZC84ZGFoTVIxZUVw?= =?utf-8?B?TlltOXJHNkJ2M1B2QjVBRGRpbndqdW5KcmpiSGdNTGMxNm9udDhVOGQvdThF?= =?utf-8?B?WGFwZDVETmRlM1RWOU9Sdm5rZmJWeUNSYXU3ckhpREdYbHJ0c20xM3pBb3Rl?= =?utf-8?B?S0FabDM0NFZmZXRKUFZma1VsK3hyS1JMREN5eDZWb2Z2aXp3Z0tHYTRodGpX?= =?utf-8?B?SUE0dUs4TnlsOEVyZ2RQME16NlNLYmpBL0FmWXE5a1k3a2YvRXYrUHBSWndB?= =?utf-8?B?eFZtSG9pTTAwOGtNVDQzbXZzVlFFMTYvZ0UrWVQ1QytQZkVZZnFHNVkxOURL?= =?utf-8?B?aTZhSjZzRVpQVzhlclM5Yy9LYmhRR0dyUTA2ZDAydXczZk9uN1ZvTWVMUmRP?= =?utf-8?B?T1hEd05pTnRnc1BTWmJUTzdTVU5qSlYxN0M5RERNcXVBbzVsQWh3T08wODY0?= =?utf-8?B?b2R4OHcxQVJnWFVJQUdyWURGZHpLVmNqYmtJZzYyOWdKVnQxcDNUOVNHY2sx?= =?utf-8?B?ZE1ibEM3SGVOU3V2aU5WenhpUEh5QUFERlROT3Z5R3F0M1ZZblBFY2hadTFY?= =?utf-8?B?RjRHbjdVL0FlelhtOVZBQnVQZGZRZFhVelNvQlNTWm02UVJFMGRmMFFxVm02?= =?utf-8?B?QnZVVjAwZk56QTludHF2UWpicXc1L09yeFV5dk5wNXhvRHpoT0xnQXl5TE96?= =?utf-8?B?VjhBVTZUSUhBZTg5T3dZV1RmUy8yS2wxSWtMSExsOEx2ZndvVkhERHBUbStL?= =?utf-8?B?U1ZhYmVyRExoMDJCblJ2UG5wRTFuZXVydFFLV0tBczJBVFZkVnY3eVFJNTRy?= =?utf-8?B?V3BUa3krTGsxSEtQOEVGWmNFMHFtV3o1aEhab3hBVVYzenNpc0ZzVFl6WFR0?= =?utf-8?B?bUFMTUQ5T2JOa3pBcG5XUHM0aU5WMVpJYXVldm83MG9KZDdVSXdpRDhweW1Q?= =?utf-8?Q?OsoYpbm8Scq/F?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <1760A6C05299B24C9A9A2547775F0C62@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: cb7a1be1-6bb2-43f5-4847-08d95049a5b1 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jul 2021 15:25:49.1094 (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: 1MtGPn670STvuEclxjyI7b8YmUfouF1Tc6xoSanbBdhCCMOX6xEUrHsZcwatVExkH5ZdmW56xTd0LKie13V2jw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB4956 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10057 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 bulkscore=0 phishscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2107260088 X-Proofpoint-GUID: zrTIQpcGwMFNdbleAoudXAscM6q8zyYO X-Proofpoint-ORIG-GUID: zrTIQpcGwMFNdbleAoudXAscM6q8zyYO X-Spam-Status: No, score=-10.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_BL, RCVD_IN_MSPIKE_L3, 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, 26 Jul 2021 15:26:01 -0000 SEksIE1hcnRpbiwNCg0KVGhhbmsgeW91IGZvciB0aGUgY29tbWVudHMgYW5kIHN1Z2dlc3Rpb25z IG9uIHRyZWUtc3JhLmMgY2hhbmdlcy4NCg0KPj4gKioqKioqQ29tcGFyZSB3aXRoIHRoZSA0dGgg dmVyc2lvbiwgdGhlIGZvbGxvd2luZyBhcmUgdGhlIG1ham9yIGNoYW5nZXM6DQo+PiANCj4+IDEu IGRlbGV0ZSB0aGUgY29kZSBmb3IgaGFuZGxpbmcgImdycF90b19iZV9kZWJ1Z19yZXBsYWNlZCIg c2luY2UgdGhleSBhcmUgbm90IG5lZWRlZCBwZXIgTWFydGluIEphbWJvcidzIHN1Z2dlc3Rpb24u DQo+IA0KPiBzb3JyeSBpZiBJIGRpZCBub3QgbWFrZSBteXNlbGYgY2xlYXIgaW4gbXkgbGFzdCBl bWFpbCwgYnV0IHRoZSBkZWZlcnJlZA0KPiBpbml0IGNhbGxzIHNob3VsZCBub3QgcmVzdWx0IGlu dG8gc2V0dGluZyBhbnkgYml0cyBpbg0KPiBjYW5ub3Rfc2NhbGFyaXplX2F3YXlfYml0bWFwIGlu IHRoZSBTUkEgcGFzcywgb3RoZXJ3aXNlIHlvdSdsbCBnZXQNCj4gZGlmZmVyZW50IG9wdGltaXph dGlvbiB3aXRoIGFuZCB3aXRob3V0IC1mdHJpdmlhbC1hdXRvLXZhci1pbml0Lg0KDQpJdOKAmXMg bXkgYmFkIHRoYXQgSSBtaXNzZWQgdGhpcyBwYXJ0IG9mIHlvdXIgY29tbWVudHPigKYNCg0KPiAN Cj4gU28geW91IGVpdGhlciBuZWVkIHRvIGNoYW5nZSBidWlsZF9hY2Nlc3NfZnJvbV9leHByIGxp a2UgSSBkZXNjcmliZWQgaW4NCj4gbXkgZW1haWwNCg0KSXMgdGhlIGZvbGxvd2luZyB0aGUgY2hh bmdlIHlvdSBzdWdnZXN0ZWQgcHJldmlvdXNseToNCg0KW29wY0BxaW56aGFvLW9sOHUzLXg4NiBn Y2NdJCBnaXQgZGlmZiB0cmVlLXNyYS5jDQpkaWZmIC0tZ2l0IGEvZ2NjL3RyZWUtc3JhLmMgYi9n Y2MvdHJlZS1zcmEuYw0KaW5kZXggZDEyODBlNWY4ODQ4Li5jMjU5N2I3MDUxNjkgMTAwNjQ0DQot LS0gYS9nY2MvdHJlZS1zcmEuYw0KKysrIGIvZ2NjL3RyZWUtc3JhLmMNCkBAIC0xMTk1LDggKzEx OTUsMTAgQEAgYnVpbGRfYWNjZXNzX2Zyb21fZXhwciAodHJlZSBleHByLCBnaW1wbGUgKnN0bXQs IGJvb2wgd3JpdGUpDQogICAgIHsNCiAgICAgICAvKiBUaGlzIG1lYW5zIHRoZSBhZ2dyZWdhdGUg aXMgYWNjZXNzZXMgYXMgYSB3aG9sZSBpbiBhIHdheSBvdGhlciB0aGFuIGFuDQogICAgICAgICBh c3NpZ24gc3RhdGVtZW50IGFuZCB0aHVzIGNhbm5vdCBiZSByZW1vdmVkIGV2ZW4gaWYgd2UgaGFk IGEgc2NhbGFyDQotICAgICAgICByZXBsYWNlbWVudCBmb3IgZXZlcnl0aGluZy4gICovDQotICAg ICAgaWYgKGNhbm5vdF9zY2FsYXJpemVfYXdheV9iaXRtYXApDQorICAgICAgICByZXBsYWNlbWVu dCBmb3IgZXZlcnl0aGluZy4gSG93ZXZlciwgd2hlbiB0aGUgU1RNVCBpcyBhIGNhbGwgdG8NCisg ICAgICAgIERFRkVSUkVEX0lOSVQsIHdlIHNob3VsZCBub3Qgc2V0IHRoaXMgYml0LiAgKi8NCisg ICAgICBpZiAoY2Fubm90X3NjYWxhcml6ZV9hd2F5X2JpdG1hcCANCisgICAgICAgICAmJiAhZ2lt cGxlX2NhbGxfaW50ZXJuYWxfcCAoc3RtdCwgSUZOX0RFRkVSUkVEX0lOSVQpKQ0KICAgICAgICBi aXRtYXBfc2V0X2JpdCAoY2Fubm90X3NjYWxhcml6ZV9hd2F5X2JpdG1hcCwgREVDTF9VSUQgKGFj Y2Vzcy0+YmFzZSkpOw0KICAgICAgIHJldHVybiB0cnVlOw0KICAgICB9DQoNCg0KPiBvciBhZGQg dGhlIGZvbGxvd2luZyB0byB5b3VyIHBhdGNoLCB3aGljaCBpcyBwcm9iYWJseSBzbGlnaHRseQ0K PiBtb3IgZWZmaWNpZW50IChidXQgaXQgaGFzIGJlZW4gb25seSB2ZXJ5IG1pbGRseSB0ZXN0ZWQp Lg0KPiANCj4gDQo+IGRpZmYgLS1naXQgYS9nY2MvdHJlZS1zcmEuYyBiL2djYy90cmVlLXNyYS5j DQo+IGluZGV4IGQxMjgwZTVmODg0Li42MDJiMGZiM2EyZCAxMDA2NDQNCj4gLS0tIGEvZ2NjL3Ry ZWUtc3JhLmMNCj4gKysrIGIvZ2NjL3RyZWUtc3JhLmMNCj4gQEAgLTEzOTUsNyArMTM5NSwxMiBA QCBzY2FuX2Z1bmN0aW9uICh2b2lkKQ0KPiANCj4gICAgICAgICAgICAgIHQgPSBnaW1wbGVfY2Fs bF9saHMgKHN0bXQpOw0KPiAgICAgICAgICAgICAgaWYgKHQgJiYgIWRpc3F1YWxpZnlfaWZfYmFk X2JiX3Rlcm1pbmF0aW5nX3N0bXQgKHN0bXQsIHQsIE5VTEwpKQ0KPiAtICAgICAgICAgICAgICAg cmV0IHw9IGJ1aWxkX2FjY2Vzc19mcm9tX2V4cHIgKHQsIHN0bXQsIHRydWUpOw0KPiArICAgICAg ICAgICAgICAgew0KPiArICAgICAgICAgICAgICAgICBpZiAoZ2ltcGxlX2NhbGxfaW50ZXJuYWxf cCAoc3RtdCwgSUZOX0RFRkVSUkVEX0lOSVQpKQ0KPiArICAgICAgICAgICAgICAgICAgIHJldCB8 PSAhIWJ1aWxkX2FjY2Vzc19mcm9tX2V4cHJfMSAodCwgc3RtdCwgdHJ1ZSk7DQo+ICsgICAgICAg ICAgICAgICAgIGVsc2UNCj4gKyAgICAgICAgICAgICAgICAgICByZXQgfD0gYnVpbGRfYWNjZXNz X2Zyb21fZXhwciAodCwgc3RtdCwgdHJ1ZSk7DQo+ICsgICAgICAgICAgICAgICB9DQo+ICAgICAg ICAgICAgICBicmVhazsNCg0KVGhhbmtzIGZvciB0aGUgcGF0Y2gsIGJ1dCBJIGRvbuKAmXQgcXVp dGUgdW5kZXJzdGFuZCB0aGUgYWJvdmUgY2hhbmdlOg0KDQpXaGVuIHRoZSBjYWxsIGlzIElGTl9E RUZFUlJFRF9JTklULCB5b3UgdXNlZCBidWlsZF9hY2Nlc3NfZnJvbV9leHByXzEgaW5zdGVhZCBv ZiBidWlsZF9hY2Nlc3NfZnJvbV9leHByIHRvIGF2b2lkIHNldHRpbmcg4oCcY2Fubm90X3NjYWxh cml6ZV9hd2F5X2JpdG1hcOKAnSBiaXQuDQogICAgQnV0IHdoeSBhZGRpbmcg4oCcIeKAnSBUbyB0 aGlzIGNhbGw/DQoNCg0KPiANCj4gICAgICAgICAgICBjYXNlIEdJTVBMRV9BU006DQo+IA0KPiAN Cj4gDQo+IEFuZCB1bmZvcnR1bmF0ZWx5IEkganVzdCBzcG90dGVkIGFub3RoZXIgcG90ZW50aWFs IHByb2JsZW0gaW46DQo+IA0KPj4gK3N0YXRpYyBlbnVtIGFzc2lnbm1lbnRfbW9kX3Jlc3VsdA0K Pj4gK3NyYV9tb2RpZnlfZGVmZXJyZWRfaW5pdCAoZ2ltcGxlICpzdG10LCBnaW1wbGVfc3RtdF9p dGVyYXRvciAqZ3NpKQ0KPj4gK3sNCj4+ICsgIHRyZWUgbGhzID0gZ2ltcGxlX2NhbGxfbGhzIChz dG10KTsNCj4+ICsgIHRyZWUgaW5pdF90eXBlID0gZ2ltcGxlX2NhbGxfYXJnIChzdG10LCAxKTsN Cj4+ICsgIHRyZWUgaXNfdmxhID0gZ2ltcGxlX2NhbGxfYXJnIChzdG10LCAyKTsNCj4+ICsNCj4+ ICsgIHN0cnVjdCBhY2Nlc3MgKmxoc19hY2Nlc3MgPSBnZXRfYWNjZXNzX2Zvcl9leHByIChsaHMp Ow0KPj4gKyAgaWYgKCFsaHNfYWNjZXNzKQ0KPj4gKyAgICByZXR1cm4gU1JBX0FNX05PTkU7DQo+ PiArDQo+PiArICBsb2NhdGlvbl90IGxvYyA9IGdpbXBsZV9sb2NhdGlvbiAoc3RtdCk7DQo+PiAr DQo+PiArICBpZiAobGhzX2FjY2Vzcy0+Z3JwX3RvX2JlX3JlcGxhY2VkKQ0KPj4gKyAgICB7DQo+ PiArICAgICAgdHJlZSBsaHNfcmVwbCA9IGdldF9hY2Nlc3NfcmVwbGFjZW1lbnQgKGxoc19hY2Nl c3MpOw0KPj4gKyAgICAgIGdpbXBsZV9jYWxsX3NldF9saHMgKHN0bXQsIGxoc19yZXBsKTsNCj4+ ICsgICAgICB0cmVlIGFyZzBfcmVwbCA9IFRZUEVfU0laRV9VTklUIChUUkVFX1RZUEUgKGxoc19y ZXBsKSk7DQo+PiArICAgICAgZ2ltcGxlX2NhbGxfc2V0X2FyZyAoc3RtdCwgMCwgYXJnMF9yZXBs KTsNCj4+ICsgICAgICBzcmFfc3RhdHMuZGVmZXJyZWRfaW5pdCsrOw0KPiANCj4gSSB0aGluayB5 b3Ugd2FudCB0byBhZGQ6DQo+IA0KPiAgZ2NjX2Fzc2VydCAoIWxoc19hY2Nlc3MtPmZpcnN0X2No aWxkKTsNCj4gIHJldHVybiBTUkFfQU1fTU9ESUZJRUQ7DQoNCk9rYXkuIA0KPiANCj4gaGVyZSwg b3RoZXJ3aXNlIHlvdSByaXNrIHRoYXQgKGluIGEgY2FzZSBvZiBhIHNpbmdsZS1maWVsZCBzdHJ1 Y3R1cmUpDQo+IHRoZSBjYWxsIHlvdSBoYXZlIGp1c3QgbW9kaWZpZWQgaGVyZS4uLg0KPiANCj4+ ICsgICAgfQ0KPj4gKw0KPj4gKyAgaWYgKGxoc19hY2Nlc3MtPmZpcnN0X2NoaWxkKQ0KPj4gKyAg ICBnZW5lcmF0ZV9zdWJ0cmVlX2RlZmVycmVkX2luaXQgKGxoc19hY2Nlc3MtPmZpcnN0X2NoaWxk LA0KPj4gKwkJCQkgICAgaW5pdF90eXBlLCBpc192bGEsIGdzaSwgbG9jKTsNCj4+ICsgIGlmIChs aHNfYWNjZXNzLT5ncnBfY292ZXJlZCkNCj4+ICsgICAgew0KPj4gKyAgICAgIHVubGlua19zdG10 X3ZkZWYgKHN0bXQpOw0KPj4gKyAgICAgIGdzaV9yZW1vdmUgKGdzaSwgdHJ1ZSk7DQo+IA0KPiAu Li53aWxsIGJlIGRlbGV0ZWQgaGVyZS4NCg0KSSBzZWUuIFRoYW5rcyBhIGxvdCBmb3Igc3BvdHRp bmcgdGhpcyBpc3N1ZS4NCj4gDQo+PiArICAgICAgcmVsZWFzZV9kZWZzIChzdG10KTsNCj4+ICsg ICAgICByZXR1cm4gU1JBX0FNX1JFTU9WRUQ7DQo+PiArICAgIH0NCj4+ICsNCj4+ICsgIHJldHVy biBTUkFfQU1fTU9ESUZJRUQ7DQo+PiArfQ0KPiANCj4gU29ycnkgYWdhaW4gZm9yIHNwb3R0aW5n IHRoaXMgbGF0ZSBhbmQgcGVyaGFwcyBtaXMtY29tbXVuaWNhdGluZyBhYm91dA0KPiB0aGUgY2Fu bm90X3NjYWxhcml6ZV9hd2F5X2JpdG1hcCBpc3N1ZSBlYXJsaWVyLiAgQXBhcnQgZnJvbSB0aGVz ZSB0d28NCj4gdGhpbmdzLCBJIGJlbGlldmUgdGhlIHRyZWUtc3JhLmMgYml0cyBhcmUgZmluLg0K DQpUaGFuayB5b3UgZm9yIHRoZSBkZXRhaWxlZCByZXZpZXcuDQoNClFpbmcNCj4gDQo+IE1hcnRp bg0KPiANCj4gDQo+IA0KPiANCj4+IDIuIGZvciBQYXR0ZXJuIGluaXQsIGNhbGwgX19idWlsdGlu X2NsZWFyX3BhZGRpbmcgYWZ0ZXIgdGhlIGNhbGwgdG8gLkRFRkVSUkVEX0lOSVQgdG8gaW5pdGlh bGl6ZSB0aGUgcGFkZGluZ3MgdG8gemVyb2VzOw0KPj4gMy4gZm9yIHBhcnRpYWxseSBvciBmdWxs eSBpbml0aWFsaXplZCBhdXRvIHZhcmlhYmxlcywgY2FsbCAgIF9fYnVpbHRpbl9jbGVhcl9wYWRk aW5nIGJlZm9yZSB0aGUgcmVhbCBpbml0aWFsaXphdGlvbiB0byBpbml0aWFsaXplDQo+PiAgICB0 aGUgcGFkZGluZ3MgdG8gemVyb2VzLg0KPj4gNC4gVXBkYXRlIHRoZSBkb2N1bWVudGF0aW9uIHdp dGggcGFkZGluZyBpbml0aWFsaXphdGlvbiB0byB6ZXJvZXMuDQo+PiA1LiBpbiBvcmRlciB0byBy ZXVzZSBfX2J1aWx0aW5fY2xlYXJfcGFkZGluZyBmb3IgYXV0byBpbml0IHB1cnBvc2UsIGFkZCBv bmUgbW9yZSBkdW1teSBhcmd1bWVudCB0byBpbmRpY2lhdGUgd2hldGhlciBpdCdzIGZvciBhdXRv IGluaXQgb3Igbm90LA0KPj4gICBpZiBmb3IgYXV0byBpbml0LCBkbyBub3QgZW1pdCBlcnJvciBt ZXNzYWdlcyB0byBhdm9pZCBjb25mdXNpbmcgdXNlcnMuDQo+PiA2LiBBZGQgbmV3IHRlc3Rpbmcg Y2FzZXMgdG8gdmVyaWZ5IHBhZGRpbmcgaW5pdGlhbGl6YXRpb25zLg0KPj4gNy4gcmVuYW1lIHNv bWUgb2YgdGhlIG9sZCB0ZXN0aW5nIGNhc2VzIHRvIG1ha2UgdGhlIGZpbGUgbmFtZSByZWZsZWN0 aW5nIHRoZSB0ZXN0aW5nIHB1cnBvc2UgcGVyIEtlZXMgQ29vaydzIHN1Z2dlc3Rpb25zLg0KPj4g DQo+PiAqKioqKipQbGVhc2Ugc2VlIHZlcnNpb24gNCBhdDoNCj4+IGh0dHBzOi8vZ2NjLmdudS5v cmcvcGlwZXJtYWlsL2djYy1wYXRjaGVzLzIwMjEtSnVseS81NzQ2NDIuaHRtbA0KPj4gDQo+PiAq KioqKipDaGFuZ2VMb2cgaXM6DQo+PiBnY2MvQ2hhbmdlTG9nOg0KPj4gDQo+PiAyMDIxLTA3LTIz ICBxaW5nIHpoYW8gIDxxaW5nLnpoYW9Ab3JhY2xlLmNvbT4NCj4+IA0KPj4gICAgICAgICogYnVp bHRpbnMuYyAoZXhwYW5kX2J1aWx0aW5fbWVtc2V0KTogTWFrZSBleHRlcm5hbCB2aXNpYmxlLg0K Pj4gICAgICAgICogYnVpbHRpbnMuaCAoZXhwYW5kX2J1aWx0aW5fbWVtc2V0KTogRGVjbGFyZSBl eHRlcm4uDQo+PiAgICAgICAgKiBjb21tb24ub3B0IChmdHJpdmlhbC1hdXRvLXZhci1pbml0PSk6 IE5ldyBvcHRpb24uDQo+PiAgICAgICAgKiBkb2MvZXh0ZW5kLnRleGk6IERvY3VtZW50IHRoZSB1 bmluaXRpYWxpemVkIGF0dHJpYnV0ZS4NCj4+ICAgICAgICAqIGRvYy9pbnZva2UudGV4aTogRG9j dW1lbnQgLWZ0cml2aWFsLWF1dG8tdmFyLWluaXQuDQo+PiAgICAgICAgKiBmbGFnLXR5cGVzLmgg KGVudW0gYXV0b19pbml0X3R5cGUpOiBOZXcgZW51bWVyYXRlZCB0eXBlDQo+PiAgICAgICAgYXV0 b19pbml0X3R5cGUuDQo+PiAgICAgICAgKiBnaW1wbGUtZm9sZC5jIChjbGVhcl9wYWRkaW5nX3R5 cGUpOiBBZGQgb25lIG5ldyBwYXJhbWV0ZXIuDQo+PiAgICAgICAgKGNsZWFyX3BhZGRpbmdfdW5p b24pOiBMaWtld2lzZS4NCj4+ICAgICAgICAoY2xlYXJfcGFkZGluZ19lbWl0X2xvb3ApOiBMaWtl d2lzZS4NCj4+ICAgICAgICAoY2xlYXJfdHlwZV9wYWRkaW5nX2luX21hc2spOiBMaWtld2lzZS4N Cj4+ICAgICAgICAoZ2ltcGxlX2ZvbGRfYnVpbHRpbl9jbGVhcl9wYWRkaW5nKTogSGFuZGxlIHRo aXMgbmV3IHBhcmFtZXRlci4NCj4+ICAgICAgICAqIGdpbXBsaWZ5LmMgKGdpbXBsZV9hZGRfaW5p dF9mb3JfYXV0b192YXIpOiBOZXcgZnVuY3Rpb24uDQo+PiAgICAgICAgKG1heWJlX3dpdGhfc2l6 ZV9leHByKTogRm9yd29yZCBkZWNsYXJhdGlvbi4NCj4+ICAgICAgICAoYnVpbGRfZGVmZXJyZWRf aW5pdCk6IE5ldyBmdW5jdGlvbi4NCj4+ICAgICAgICAoZ2ltcGxlX2FkZF9wYWRkaW5nX2luaXRf Zm9yX2F1dG9fdmFyKTogTmV3IGZ1bmN0aW9uLg0KPj4gICAgICAgIChnaW1wbGlmeV9kZWNsX2V4 cHIpOiBBZGQgaW5pdGlhbGl6YXRpb24gdG8gYXV0b21hdGljIHZhcmlhYmxlcyBwZXINCj4+ICAg ICAgICB1c2VycycgcmVxdWVzdHMuDQo+PiAgICAgICAgKGdpbXBsaWZ5X2NhbGxfZXhwcik6IEFk ZCBvbmUgbmV3IHBhcmFtZXRlciBmb3IgY2FsbCB0bw0KPj4gICAgICAgIF9fYnVpbHRpbl9jbGVh cl9wYWRkaW5nLg0KPj4gICAgICAgIChnaW1wbGlmeV9tb2RpZnlfZXhwcl9yaHMpOiBBZGQgcGFk ZGluZyBpbml0aWFsaXphdGlvbiBiZWZvcmUNCj4+ICAgICAgICBnaW1wbGlmeV9pbml0X2NvbnN0 cnVjdG9yLg0KPj4gICAgICAgICogaW50ZXJuYWwtZm4uYyAoSU5JVF9QQVRURVJOX1ZBTFVFKTog TmV3IG1hY3JvLg0KPj4gICAgICAgIChleHBhbmRfREVGRVJSRURfSU5JVCk6IE5ldyBmdW5jdGlv bi4NCj4+ICAgICAgICAqIGludGVybmFsLWZuLmRlZiAoREVGRVJSRURfSU5JVCk6IE5ldyBpbnRl cm5hbCBmdW5jdGlvbi4NCj4+ICAgICAgICAqIHRyZWUtY2ZnLmMgKHZlcmlmeV9naW1wbGVfY2Fs bCk6IFZlcmlmeSBjYWxscyB0byAuREVGRVJSRURfSU5JVC4NCj4+ICAgICAgICAqIHRyZWUtc3Jh LmMgKGdlbmVyYXRlX3N1YnRyZWVfZGVmZXJyZWRfaW5pdCk6IE5ldyBmdW5jdGlvbi4NCj4+ICAg ICAgICAoc3JhX21vZGlmeV9kZWZlcnJlZF9pbml0KTogTGlrZXdpc2UuDQo+PiAgICAgICAgKHNy YV9tb2RpZnlfZnVuY3Rpb25fYm9keSk6IEhhbmRsZSBjYWxscyB0byBERUZFUlJFRF9JTklUIHNw ZWNpYWxseS4NCj4+ICAgICAgICAqIHRyZWUtc3NhLXN0cnVjdGFsaWFzLmMgKGZpbmRfZnVuY19h bGlhc2VzX2Zvcl9jYWxsKTogTGlrZXdpc2UuDQo+PiAgICAgICAgKiB0cmVlLXNzYS11bmluaXQu YyAod2Fybl91bmluaXQpOiBIYW5kbGUgY2FsbHMgdG8gREVGRVJSRURfSU5JVA0KPj4gICAgICAg IHNwZWNpYWxseS4NCj4+ICAgICAgICAoY2hlY2tfZGVmcyk6IExpa2V3aXNlLg0KPj4gICAgICAg ICh3YXJuX3VuaW5pdGlhbGl6ZWRfdmFycyk6IExpa2V3aXNlLg0KPj4gICAgICAgICogdHJlZS1z c2EuYyAoc3NhX3VuZGVmaW5lZF92YWx1ZV9wKTogTGlrZXdpc2UuDQo+PiANCj4+IGdjYy9jLWZh bWlseS9DaGFuZ2VMb2c6DQo+PiANCj4+IDIwMjEtMDctMjMgIHFpbmcgemhhbyAgPHFpbmcuemhh b0BvcmFjbGUuY29tPg0KPj4gDQo+PiAgICAgICAgKiBjLWF0dHJpYnMuYyAoaGFuZGxlX3VuaW5p dGlhbGl6ZWRfYXR0cmlidXRlKTogTmV3IGZ1bmN0aW9uLg0KPj4gICAgICAgIChjX2NvbW1vbl9h dHRyaWJ1dGVfdGFibGUpOiBBZGQgInVuaW5pdGlhbGl6ZWQiIGF0dHJpYnV0ZS4NCg0K