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 351CB3858436 for ; Tue, 7 Sep 2021 16:57:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 351CB3858436 Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 187GUPBC015565; Tue, 7 Sep 2021 16:57:38 GMT Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3awq18bgs4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 07 Sep 2021 16:57:38 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 187Gu19q181926; Tue, 7 Sep 2021 16:57:37 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2172.outbound.protection.outlook.com [104.47.56.172]) by aserp3020.oracle.com with ESMTP id 3av0m4w9vp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 07 Sep 2021 16:57:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LBQWBNkWbg1YZuI4eH9QwWEfbGGjqOJYr4fLekAm1Eo/Mp3Dd6JsIyFksO3bvrCq89UGSBQiSZH3UNTZqnvgvmieRz294R1YkFlkOiQBXrcNTsX7j46vlie8hP1oVYS15sMpZUC1N3Teau6Gk8bG19iW5jtr8GMew95L3So/Xz3HxHQmmh+3DIheG57oyZEfT/kVQxkg1dEWDszQ8eQgb7pV1UibH6TRtMuTBKlOUfO6lmyeHAy/YTiJWnu+rHXwCh2P0h7Cc47GvfgUjBjrhXm5YCtqqPbEjxqAm4Hil1P3CrxXHXggDA0398qz2TMDf9jAoiJjO/THBTQrymbf/g== 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; bh=BgHZxRptWJi9BRRj4K57RsElKgvxzO86ur3UmIG5cAo=; b=ARTcD/jWY+YdhrxoQw15265oFbdbPkyWtyDDj93Oxkn76/quIAon7VEhQW/lMYjrjE385zYj7M1SO4g4rS1ZJ4iCUNkiKXCJmG61RH4pOXG/FoWxex0BzMagxwkd8NHPESc9LdKj/KkQqFZWO/+lqil2yKY6eZ5A4ompgDCreHmfxANspnLflHOg2sshazhjmFAjdF8wtm7FbBfEe/9kHfF1gkNgRsMy9/Giqg6GR+3fzI7VNsHNWNUYe99BmtqPhTHxIdJyOdUbR6n1IJ8q6u6DUVx2fp9RYeJzbGV/1IMPzLQe0iGVFFIX+LI2Pag+EQku8X2HyzqGXh+iGSDznw== 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 CH0PR10MB5035.namprd10.prod.outlook.com (2603:10b6:610:c2::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.21; Tue, 7 Sep 2021 16:57:34 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::25f8:eaf:a3b9:fe86]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::25f8:eaf:a3b9:fe86%4]) with mapi id 15.20.4500.014; Tue, 7 Sep 2021 16:57:34 +0000 From: Qing Zhao To: Richard Biener CC: kees Cook , Nick Alcock via Gcc-patches , Richard Sandiford , Martin Jambor Subject: Re: [patch][version 8]add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Topic: [patch][version 8]add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Index: AQHXlsgrrjav3TK6kE+1EliMGszNb6uW4uyAgAICaQA= Date: Tue, 7 Sep 2021 16:57:34 +0000 Message-ID: <5359AB79-9C10-4C94-8493-420A47468A5D@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: 8b35faa4-443f-4ff6-ff26-08d9722096b5 x-ms-traffictypediagnostic: CH0PR10MB5035: 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: 8TW9Lg23ku96UqxSMpbXTZxc/AjPpez07/Tg7LDUlnGoU3dPTL+gRZYlC6O1Jnr4OF+xYi9PBI7T3k/9u2T7n/Hpk4c4hta1B5b6WxyjcffPJk35XOhjZDIfTtDrITSO1UHEFR58IH2SB1Nzgym6k1UowPgSz9L85Bf5SET5jkuAkJnqEvPAiaieOjKlP2VGMqwQ0oR818W0u+1OXgHXmwVfQGvOwPuvoz0SpvDZp/g78fMk6iOO2f9wkWqGY14CX5bH+OzxTbSxqx08FBOuQSjByOIUQmPAGJIoiufRw/rCK7y1cYhxwx9Tyl6yXvz5ZrPd2so9F3gGoSECSTA3t9jcpSIM9TQ/V4Jz5R3X0pEVktm0x8ez9R1OwjyITE3zzM/URH7aPoBeWAofm3M2VaRG82kkNCmyXlQYMtdXzWdCTikziezyJqsvTnHqB+9v9WxKDMsQfogrgIFKsFBqZdCSm3xABVCPPTbjgCSCl3Q1WUZVS8LZNAgKrp9vxIHiKGS4ZmyfkhufwNqMSiF69MKsoTgreAJfLGt95a+Vvh+qumTHICtqeET5hVu3OW7+eeJHU4VYSB5M34wpBASq4nmzJQvcSbCsKFqWXO0nhEAqZxcmCFYUPErxeXzDEEqcPoael+kLBB4347tgPlWLzwRktGp3/GZvar8K29IlNI/WhTMrYjTpl070jhbjizGbenJW68Pk+mBgxwXK+RUFYAngFGd9nXsAzvWH0+NX1PprAVn758nRyCmPTzquziIZf634Dr2/Df7zRo5fQAyoLLWa1JyntHpZdz3I5AlDhWt4B0FyeqRlRu/HGyW4HXMsIhmqVeSIc/SLm+2rbvCYZH5PTz4anMTEQ3oEuXOKEKI= 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)(36756003)(316002)(86362001)(122000001)(38100700002)(54906003)(966005)(30864003)(66446008)(64756008)(66556008)(66476007)(508600001)(5660300002)(6486002)(71200400001)(66946007)(6512007)(76116006)(4743002)(2906002)(91956017)(4326008)(66574015)(53546011)(6506007)(33656002)(44832011)(38070700005)(186003)(8936002)(8676002)(6916009)(83380400001)(2616005)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TlpaYmtDbmZEcitkdW9kaVkvR2M4Vjk4MEUrSUxpSThNRnlFNnVBSVhWOGh6?= =?utf-8?B?TDdiVElBVXNDQTBFRGpHUjVleFFOVmhVUnppWHFIakFBeUptRzBsMXJMZENn?= =?utf-8?B?dHR0RXZOZjA2amFXS1JmN2V2RG1CeWVUZGFtZFZFbkFmRTFxTm5BeGlHYXRa?= =?utf-8?B?bkZ6a2krT0pOZ2d2YnJkMU5KaWhBbTJDcDJGeGQ0bnRiclNMYmU2cGRSRjds?= =?utf-8?B?aWhSeG9PSEpuYUVJWkRWTFhyUWZsUWZqRXh1VEZEeUdGVUZlbUFydThRdThq?= =?utf-8?B?Z3d4MCs2TWRTTGlDNFdHS1NUaXkvTjRlM3NuSmtEMkp4MnFzS1paZXd3Z09U?= =?utf-8?B?ZkJNWDNpNzZTaS9PR29nWE85QUFVaW5aajVuczloS2JPRTg2bFJRNXRmL1dJ?= =?utf-8?B?WU5XNzFJM3JBTUZjZHRkNmMvcC9wemh2ODdnVDYvcVZXUHFJV1pidXNuMlpT?= =?utf-8?B?N1lkSEtHSTExQVAvcnBZdkN3WExCa2psZkR4d2hQbVJBZFhZMWN6bGY4NFFh?= =?utf-8?B?czFkb1g2K01kR3ZFbldDTDBQWU8zeFdhWStRQW5xSnd0L3pCOVpXY3BEK0lo?= =?utf-8?B?cGN6ZmlxTnN0S3BpTy9SWVdJR05ST1BNb2MycGt5ZUh5ejVYb2IzYWN3VHAr?= =?utf-8?B?bkhiNXgrc1o3WW84K3YvaXhDOGFEUDQwUVZ0L3Jvbis3U0gxWmFTa2VGeU1w?= =?utf-8?B?eTVoM0NiTFNKL1d6RFVPSXpQL0JmakxlVVFIRjFOY3pFc1JSeDNQNjVPa2Za?= =?utf-8?B?Wjd5L0Z0MlhycUNMTVgvTDJFSURpM1NxcHNLM1llL3E2UVdvN2NTaTlvTXRW?= =?utf-8?B?QkdKZTJTZGFMTElPd1UvdTdHbVZqNTdNcDBySVpIQjhIYnZKWloyUWh1R0No?= =?utf-8?B?bm5KY2Z6bGxKU1h3RUhRZmpPeXhsN1BoMlNsRFpvSzBvUXMvQ1pJWlBlMTI3?= =?utf-8?B?Z2FySWtHalN5RzBIUXZicC8wQ3EwbHh0UXU4NDhhdjYvaVpBb3Y2SGltTkdm?= =?utf-8?B?MWExbnFzakQ3M3BFeHBBNHd0VDRyMVhtNjZNcGVWSVNyYWUrUGhnREptV3Fv?= =?utf-8?B?UEhXWWNmTFkzTExJZTk1NGhQTktXclovSE9vTWVBU3QvWXJ6c2xoMmNpbjk5?= =?utf-8?B?c0I3UFVoOU5NaXZacGJDOGE3NVJvRXVSUHMxK2hjeDBlbWVqRGhPMjVSZW5V?= =?utf-8?B?anJ3QnlvckRZTWZuR3Vydk5XOGkwYWh3R3lXeWlObDVEdnhNMk8rOUZRR2lG?= =?utf-8?B?eHFCR2M5Wkwxb1ZLRVFDZWw5YUdRbDZ5R2JRYzhBN2RTSFlFVXZnMTU2NTdX?= =?utf-8?B?LzBiUUxrSUg5YzBjSWc5Nm44SmMxWktpc0NiakxsVy9NU0ZTTGJCZ2JKY251?= =?utf-8?B?THA5eHBzR1drb1ZvVnUxcERCeDB5K2xmU3ptTXRUTUN5WWJYb09EWDN5Tmlz?= =?utf-8?B?TXlvZjlvaEZIb0M2eGRFelYrUnFySitLSnFhamRuaUFUaXAxSmZXd3BMQWN5?= =?utf-8?B?NU5pR2F3U0Z5NU53Rnd5WnBOUGpYYzFPMk0velZTVTBDdmR5VXFDRUxUUmQ5?= =?utf-8?B?MHM4TmJCWUJtcEVZZDNCZ1Bld0dLSUEzZGNzWlhmcm9MMll4U1NyT016cVhl?= =?utf-8?B?QW1INkpIbmcvNUIrckhCUlU5ZFNIS05uNWIrUTdjSHhhUFZSOE94Yy9CaEZl?= =?utf-8?B?aWEyc1Izc2pSRXlTMVlTQjR5bDdvbGpLU09FZjdVRVoyOGZsUk9VL2NhR281?= =?utf-8?B?ZVZIOVhPYnZ1TjdPTk5FVkJVTjIzVjZLbFJ3KzdMdjJTQkFtREpUZW1INWRp?= =?utf-8?Q?1TkW2JF7qLTEbz5e2tAmcPalYn7FLEwTzTZUA=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <986298BA0BFA4A4E9A917C617496F2D6@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: 8b35faa4-443f-4ff6-ff26-08d9722096b5 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Sep 2021 16:57:34.1152 (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: VlWXPP4DVY13o6m2yKhHjCTTPyQMCFckjWyy1O1DZmJL3C2yv4SbQlqOdKOHAE8r0LDA/MJYMGG3zB9qTP3lcQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5035 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10099 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 phishscore=0 bulkscore=0 suspectscore=0 spamscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2108310000 definitions=main-2109070111 X-Proofpoint-GUID: fA0kwIrQjcD9dX-NfS_MUqWZQqInTOX7 X-Proofpoint-ORIG-GUID: fA0kwIrQjcD9dX-NfS_MUqWZQqInTOX7 X-Spam-Status: No, score=-10.8 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_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: Tue, 07 Sep 2021 16:57:45 -0000 SGksIFJpY2hhcmQsDQoNClRoYW5rcyBhIGxvdCBmb3IgeW91ciByZXZpZXcuDQoNCj4gT24gU2Vw IDYsIDIwMjEsIGF0IDU6MTYgQU0sIFJpY2hhcmQgQmllbmVyIDxyZ3VlbnRoZXJAc3VzZS5kZT4g d3JvdGU6DQo+IA0KPiBPbiBTYXQsIDIxIEF1ZyAyMDIxLCBRaW5nIFpoYW8gd3JvdGU6DQo+IA0K Pj4gSGksDQo+PiANCj4+IFRoaXMgaXMgdGhlIDh0aCB2ZXJzaW9uIG9mIHRoZSBwYXRjaCBmb3Ig dGhlIG5ldyBzZWN1cml0eSBmZWF0dXJlIGZvciBHQ0MuDQo+PiBJIGhhdmUgdGVzdGVkIGl0IHdp dGggYm9vdHN0cmFwIG9uIGJvdGggeDg2IGFuZCBhYXJjaDY0LCByZWdyZXNzaW9uIHRlc3Rpbmcg b24gYm90aCB4ODYgYW5kIGFhcmNoNjQuDQo+PiBBbHNvIHRlc3RlZCBpdCB3aXRoIHRoZSBrZXJu ZWwgdGVzdGluZyBjYXNlIHByb3ZpZGVkIGJ5IEtlZXMuDQo+PiBBbHNvIGNvbXBpbGUgQ1BVMjAx NyAocnVubmluZyBpcyBvbmdvaW5nKSwgd2l0aG91dCBhbnkgaXNzdWUuDQo+PiANCj4+IFBsZWFz ZSB0YWtlIGEgbG9vayBhdCB0aGlzIHBhdGNoIGFuZCBsZXQgbWUga25vdyBhbnkgaXNzdWVzLg0K PiANCj4gKyAgLyogSWYgdGhpcyBERUNMIGlzIGEgVkxBLCBhIHRlbXBvcmFyeSBhZGRyZXNzIHZh cmlhYmxlIGZvciBpdCBoYXMgYmVlbg0KPiArICAgICBjcmVhdGVkLCB0aGUgcmVwbGFjZW1lbnQg Zm9yIERFQ0wgaXMgcmVjb3JkZWQgaW4gREVDTF9WQUxVRV9FWFBSIA0KPiAoZGVjbCksDQo+ICsg ICAgIHdlIHNob3VsZCB1c2UgaXQgYXMgdGhlIExIUyBvZiB0aGUgY2FsbC4gICovDQo+ICsNCj4g KyAgdHJlZSBsaHNfY2FsbA0KPiArICAgID0gaXNfdmxhID8gREVDTF9WQUxVRV9FWFBSIChkZWNs KSA6IGRlY2w7DQo+ICsgIGdpbXBsaWZ5X2Fzc2lnbiAobGhzX2NhbGwsIGNhbGwsIHNlcV9wKTsN Cj4gDQo+IHlvdSBzaG91bGRuJ3QgbmVlZCB0byByZXBsYWNlIHRoZSBsaHMgd2l0aCBERUNMX1ZB TFVFX0VYUFIgb2YgaXQNCj4gaGVyZSwgZ2ltcGxpZnlfYXNzaWduIHNob3VsZCB0YWtlIGNhcmUg b2YgdGhhdC4NCg0KT2theSwgSSBzZWUuDQoNCkkgd2lsbCBjaGFuZ2UgdGhlIGFib3ZlIHNlcXVl bmNlIHNpbXBseSB0byB0aGUgZm9sbG93aW5nOg0KDQotICAvKiBJZiB0aGlzIERFQ0wgaXMgYSBW TEEsIGEgdGVtcG9yYXJ5IGFkZHJlc3MgdmFyaWFibGUgZm9yIGl0IGhhcyBiZWVuDQotICAgICBj cmVhdGVkLCB0aGUgcmVwbGFjZW1lbnQgZm9yIERFQ0wgaXMgcmVjb3JkZWQgaW4gREVDTF9WQUxV RV9FWFBSIChkZWNsKSwNCi0gICAgIHdlIHNob3VsZCB1c2UgaXQgYXMgdGhlIExIUyBvZiB0aGUg Y2FsbC4gICovDQotDQotICB0cmVlIGxoc19jYWxsDQotICAgID0gaXNfdmxhID8gREVDTF9WQUxV RV9FWFBSIChkZWNsKSA6IGRlY2w7DQogICBnaW1wbGlmeV9hc3NpZ24gKGxoc19jYWxsLCBjYWxs LCBzZXFfcCk7DQogfQ0KDQoNCkxldCBtZSBrbm93IGlmIHRoaXMgY2hhbmdlIGlzIG5vdCByaWdo dC4gDQoNCj4gKy8qIFJldHVybiB0cnVlIGlmIHRoZSBERUNMIG5lZWQgdG8gYmUgYXV0b21hdGlj bHkgaW5pdGlhbGl6ZWQgYnkgdGhlDQo+ICsgICBjb21waWxlci4gICovDQo+ICtzdGF0aWMgYm9v bA0KPiAraXNfdmFyX25lZWRfYXV0b19pbml0ICh0cmVlIGRlY2wpDQo+ICt7DQo+ICsgIGlmIChh dXRvX3Zhcl9wIChkZWNsKQ0KPiArICAgICAgJiYgKG9wdF9mb3JfZm4gKGN1cnJlbnRfZnVuY3Rp b25fZGVjbCwgZmxhZ19hdXRvX3Zhcl9pbml0KQ0KPiANCj4gbWF5YmUgSSBzYWlkIG90aGVyd2lz ZSBhdCBzb21lIHBvaW50IGJ1dCB5b3UgY2FuIHRlc3QgJ2ZsYWdfYXV0b192YXJfaW5pdCcNCj4g ZGlyZWN0bHkgd2hlbiBub3QgaW4gYW4gSVBBIHBhc3MsIG5vIG5lZWQgdG8gdXNlICdvcHRfZm9y X2ZuJw0KDQpPa2F5LCBJIGNoYW5nZWQgYWxsIHRoZSB1c2FnZSBvZiDigJxvcHRfZm9yX2Zu4oCd IGJhY2sgdG8g4oCcZmxhZ19hdXRvX3Zhcl9pbml04oCdIHNpbmNlIHRoZSBuZXcgdHJhbnNmb3Jt YXRpb24gaXMgbm90IGluIGFuIElQQSBwYXNzOg0KDQogaXNfdmFyX25lZWRfYXV0b19pbml0ICh0 cmVlIGRlY2wpDQogew0KICAgaWYgKGF1dG9fdmFyX3AgKGRlY2wpDQotICAgICAgJiYgKG9wdF9m b3JfZm4gKGN1cnJlbnRfZnVuY3Rpb25fZGVjbCwgZmxhZ19hdXRvX3Zhcl9pbml0KQ0KLSAgICAg ICAgICAgPiBBVVRPX0lOSVRfVU5JTklUSUFMSVpFRCkNCisgICAgICAmJiAoZmxhZ19hdXRvX3Zh cl9pbml0ID4gQVVUT19JTklUX1VOSU5JVElBTElaRUQpDQogICAgICAgJiYgKCFsb29rdXBfYXR0 cmlidXRlICgidW5pbml0aWFsaXplZCIsIERFQ0xfQVRUUklCVVRFUyAoZGVjbCkpKSkNCiAgICAg cmV0dXJuIHRydWU7DQogICByZXR1cm4gZmFsc2U7DQpAQCAtMTk0MSw4ICsxOTM0LDcgQEAgZ2lt cGxpZnlfZGVjbF9leHByICh0cmVlICpzdG10X3AsIGdpbXBsZV9zZXEgKnNlcV9wKQ0KICAgICAg IGVsc2UgaWYgKGlzX3Zhcl9uZWVkX2F1dG9faW5pdCAoZGVjbCkpDQogICAgICAgIHsNCiAgICAg ICAgICBnaW1wbGVfYWRkX2luaXRfZm9yX2F1dG9fdmFyIChkZWNsLA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG9wdF9mb3JfZm4gKGN1cnJlbnRfZnVuY3Rpb25fZGVj bCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm bGFnX2F1dG9fdmFyX2luaXQpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZsYWdfYXV0b192YXJfaW5pdCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpc192bGEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VxX3ApOw0KICAgICAgICAgIC8qIFRoZSBleHBhbmRpbmcgb2YgYSBjYWxsIHRvIHRoZSBhYm92 ZSAuREVGRVJSRURfSU5JVCB3aWxsIGFwcGx5DQpAQCAtMTk1Myw4ICsxOTQ1LDcgQEAgZ2ltcGxp ZnlfZGVjbF9leHByICh0cmVlICpzdG10X3AsIGdpbXBsZV9zZXEgKnNlcV9wKQ0KICAgICAgICAg ICAgIEluIG9yZGVyIHRvIG1ha2UgdGhlIHBhZGRpbmdzIGFzIHplcm9lcyBmb3IgcGF0dGVybiBp bml0LCBXZQ0KICAgICAgICAgICAgIHNob3VsZCBhZGQgYSBjYWxsIHRvIF9fYnVpbHRpbl9jbGVh cl9wYWRkaW5nIHRvIGNsZWFyIHRoZQ0KICAgICAgICAgICAgIHBhZGRpbmdzIHRvIHplcm8gaW4g Y29tcGF0aXBsZSB3aXRoIENMQU5HLiAgKi8NCi0gICAgICAgICBpZiAob3B0X2Zvcl9mbiAoY3Vy cmVudF9mdW5jdGlvbl9kZWNsLCBmbGFnX2F1dG9fdmFyX2luaXQpDQotICAgICAgICAgICAgID09 IEFVVE9fSU5JVF9QQVRURVJOKQ0KKyAgICAgICAgIGlmIChmbGFnX2F1dG9fdmFyX2luaXQgPT0g QVVUT19JTklUX1BBVFRFUk4pDQogICAgICAgICAgICBnaW1wbGVfYWRkX3BhZGRpbmdfaW5pdF9m b3JfYXV0b192YXIgKGRlY2wsIGlzX3ZsYSwgc2VxX3ApOw0KICAgICAgICB9DQogICAgIH0NCihF TkQpDQoNCg0KDQo+IA0KPiArICAgICAgICAgICA+IEFVVE9fSU5JVF9VTklOSVRJQUxJWkVEKQ0K PiArICAgICAgJiYgKCFsb29rdXBfYXR0cmlidXRlICgidW5pbml0aWFsaXplZCIsIERFQ0xfQVRU UklCVVRFUyAoZGVjbCkpKSkNCj4gKyAgICByZXR1cm4gdHJ1ZTsNCj4gKyAgcmV0dXJuIGZhbHNl Ow0KPiANCj4gDQo+IGRpZmYgLS1naXQgYS9nY2MvdHJlZS5jIGIvZ2NjL3RyZWUuYw0KPiBpbmRl eCBlOTIzZTY3YjY5NDIuLjIzZDdiMTc3NzRjZSAxMDA2NDQNCj4gLS0tIGEvZ2NjL3RyZWUuYw0K PiArKysgYi9nY2MvdHJlZS5jDQo+IEBAIC05NTA4LDYgKzk1MDgsMjIgQEAgYnVpbGRfY29tbW9u X2J1aWx0aW5fbm9kZXMgKHZvaWQpDQo+ICAgdHJlZSB0bXAsIGZ0eXBlOw0KPiAgIGludCBlY2Zf ZmxhZ3M7DQo+IA0KPiArICAvKiBJZiB1c2VyIHJlcXVlc3RzIGF1dG9tYXRpYyB2YXJpYWJsZXMg aW5pdGlhbGl6YXRpb24sIHRoZSBidWlsdGluDQo+ICsgICAgIEJVSUxUX0lOX0NMRUFSX1BBRERJ TkcgaXMgbmVlZGVkLiAgKi8NCj4gKyAgaWYgKGZsYWdfYXV0b192YXJfaW5pdCA+IEFVVE9fSU5J VF9VTklOSVRJQUxJWkVEDQo+ICsgICAgICAmJiAhYnVpbHRpbl9kZWNsX2V4cGxpY2l0X3AgKEJV SUxUX0lOX0NMRUFSX1BBRERJTkcpKQ0KPiANCj4gSSB0aGluayB0aGlzIGlzIHByb25lIHRvIGZh aWwgd2l0aCBMVE8gYW5kIGF1dG8tdmFyLWluaXQgc2V0dGluZw0KPiBkaWZmZXJlbnQgaW4gZGlm ZmVyZW50IFRVcy4gIEp1c3QgYnVpbGQgdGhlIGJ1aWx0aW4gdW5jb25kaXRpb25hbGx5DQo+IHdo ZW4gaXQncyBub3QgYXZhaWxhYmxlLg0KDQpTbywgY2hhbmdlIHRoZSBhYm92ZSB0bzoNCg0KW29w Y0BxaW56aGFvLW9sOHUzLXg4NiBnY2NdJCBnaXQgZGlmZiB0cmVlLmMNCg0KZGlmZiAtLWdpdCBh L2djYy90cmVlLmMgYi9nY2MvdHJlZS5jDQppbmRleCBkMDE0ZmRhMTZjZDEuLjQzNjI0MDU5MjIz YiAxMDA2NDQNCi0tLSBhL2djYy90cmVlLmMNCisrKyBiL2djYy90cmVlLmMNCkBAIC05NTEwLDEw ICs5NTEwLDcgQEAgYnVpbGRfY29tbW9uX2J1aWx0aW5fbm9kZXMgKHZvaWQpDQogICB0cmVlIHRt cCwgZnR5cGU7DQogICBpbnQgZWNmX2ZsYWdzOw0KIA0KLSAgLyogSWYgdXNlciByZXF1ZXN0cyBh dXRvbWF0aWMgdmFyaWFibGVzIGluaXRpYWxpemF0aW9uLCB0aGUgYnVpbHRpbg0KLSAgICAgQlVJ TFRfSU5fQ0xFQVJfUEFERElORyBpcyBuZWVkZWQuICAqLw0KLSAgaWYgKGZsYWdfYXV0b192YXJf aW5pdCA+IEFVVE9fSU5JVF9VTklOSVRJQUxJWkVEDQotICAgICAgJiYgIWJ1aWx0aW5fZGVjbF9l eHBsaWNpdF9wIChCVUlMVF9JTl9DTEVBUl9QQURESU5HKSkNCisgIGlmICghYnVpbHRpbl9kZWNs X2V4cGxpY2l0X3AgKEJVSUxUX0lOX0NMRUFSX1BBRERJTkcpKQ0KICAgICB7DQogICAgICAgZnR5 cGUgPSBidWlsZF9mdW5jdGlvbl90eXBlX2xpc3QgKHZvaWRfdHlwZV9ub2RlLA0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cl90eXBlX25vZGUsDQoNCg0KPiANCj4g KyAgICB7DQo+ICsgICAgICBmdHlwZSA9IGJ1aWxkX2Z1bmN0aW9uX3R5cGVfbGlzdCAodm9pZF90 eXBlX25vZGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJf dHlwZV9ub2RlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy X3R5cGVfbm9kZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dGVnZXJfdHlwZV9ub2RlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTlVMTF9UUkVFKTsNCj4gKyAgICAgIGxvY2FsX2RlZmluZV9idWlsdGluICgiX19idWlsdGlu X2NsZWFyX3BhZGRpbmciLCBmdHlwZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJV SUxUX0lOX0NMRUFSX1BBRERJTkcsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAiX19i dWlsdGluX2NsZWFyX3BhZGRpbmciLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF Q0ZfTEVBRiB8IEVDRl9OT1RIUk9XKTsNCj4gKyAgICB9DQo+IA0KPiANCj4gV2l0aCB0aGVzZSBj aGFuZ2VzIHRoZSBwYXRjaCBsb29rcyBPSyB0byBtZSwgc28gcGxlYXNlIGdvIGFoZWFkDQo+IGFm dGVyIGZpeGluZyB0aGUgYWJvdmUuDQoNClRoYW5rcyBhZ2FpbiBmb3IgeW91ciBwYXRpZW5jZSBh bmQgdGltZSB0byByZXZpZXcgdGhpcyBwYXRjaC4NCkkgd2lsbCBjaGVjayBpbiB0aGUgcGF0Y2gg YWZ0ZXIgSSBmaW5pc2hlZCB0ZXN0aW5nLg0KDQpUaGFua3MuDQoNClFpbmcNCj4gDQo+IFRoYW5r cywNCj4gUmljYWhyZC4NCj4gDQo+PiB0aGFua3MuDQo+PiANCj4+IFFpbmcNCj4+IA0KPj4gSW4g dGhpcyB2ZXJzaW9uOg0KPj4gDQo+PiAqKioqKkZpeCBhbGwgaXNzdWVzIHJhaXNlZCBieSBSaWNo YXJkIEIgb24gOC85OiAoY29tcGFyZWQgd2l0aCB2ZXJzaW9uIDcpDQo+PiANCj4+ICAxLiBpbiAi aGFuZGxlX3VuaW5pdGlhbGl6ZWRfYXR0cmlidXRlIiwgZXhjbHVkZSBnbG9iYWxzIHdpdGggYWRk aXRpb25hbCBjaGVja2luZyBhbmQgd2FybmluZyBtZXNzYWdlLiBVcGRhdGUgY29ycmVzcG9uZGlu ZyB0ZXN0aW5nIGNhc2VzIGZvciB0aGlzIGNoYW5nZSBjLWMrKy1jb21tb24vYXV0by1pbml0LTkv MTAuYw0KPj4gIDIuIGFkZCBtb3JlIGNsYXJpZmljYXRpb24gb24gdGhlIG5ldyBhcmd1bWVudCAi Zm9yX2F1dG9faW5pdCIgZm9yICJCVUlMVF9JTl9DTEVBUl9QQURESU5HIiBpbiB0aGUgY29tbWVu dHMgcGFydC4NCj4+ICAzLiB1c2UgYXV0b192YXJfcCB0byByZXBsYWNlICJWQVJfUCAmJiAhREVD TF9FWFRFUk5BTCAmJiAhVFJFRV9TVEFUSUMiOw0KPj4gICAgIGFkZCBhIG5ldyBoZWxwZXIgcm91 dGluZSAiaXNfdmFyX25lZWRfYXV0b19pbml0IiB0byBjaGVjayB3aGV0aGVyIGEgdmFyaWFibGUg bmVlZCB0byBiZSBpbml0aWFsaXplZC4NCj4+ICA0LiBtb3ZlIHRoZSAiZ2ltcGxlX2FkZF9wYWRk aW5nX2luaXRfZm9yX2F1dG9fdmFyIiBpbnNpZGUgdGhlIHJvdXRpbmUgImdpbXBsaWZ5X2luaXRf Y29uc3RydWN0b3IiOw0KPj4gIDUuIHJlc3RyaWN0IGdpbXBsZV9hZGRfcGFkZGluZ19pbml0X2Zv cl9hdXRvX3ZhciBvbmx5IGZvciBJTklUX0VYUFI7DQo+PiAgNi4gaW4gImdpbXBsaWZ5LmMiIHBo YXNlLCBnZW5lcmF0ZSBhIEdFTkVSSUMgY2FsbCB0byBERUZFUlJFRF9JTklUICsgZ2ltcGxmaXlf YXNzaWduICBpbnN0ZWFkIG9mIGEgZ2ltcGxlIGNhbGwgdG8gZnVsbHkgZ2ltcGxpZnkgdGhlIGNh bGwgdG8gdGhlIC5ERUZFUlJFRF9JTklUIHRvIGF2b2lkIHNvbWUgcG90ZW50aWFsIGlzc3Vlcy4N Cj4+ICA3LiBpbiAiaW50ZXJuYWwtZm4uYyIgcGhhc2UsIHVzZSBoZWxwZXIgcm91dGluZXMgImxh bmdfaG9va3MudHlwZXMsIHR5cGVfZm9yX21vZGUiLCAiY2FuX25hdGl2ZV9pbnRlcnByZXRfdHlw ZV9wIiwgIm5hdGl2ZV9pbnRlcnByZXRfZXhwciIgdG8gc2ltcGxpZnkgdGhlIGltcGxlbWVudGF0 aW9uIGZvciBwYXR0ZXJuIGdlbmVyYXRpb24uDQo+PiAgOC4gbW92ZSAiZ2VuZXJhdGluZyB0cmVl IG5vZGUgZm9yIF9fQlVJTFRJTl9DTEVBUl9QQURESU5HIiBpbiB0cmVlLmM7DQo+PiAgOS4gY2xl YW51cCB0cmVlLWNmZy5jLg0KPj4gIDEwLiB0ZXN0aW5nIGNhc2VzIHVwZGF0ZXMuDQo+PiAgICAg IGZvciBhZGRyZXNzIHRha2VuIHZhcmlhYmxlIC1XdW5pbml0aWFsaXplZCB3YXJuaW5ncywgYWRk ICJ4ZmFpbCIgZm9yIEMgdGVzdGluZyBjYXNlczsgZGVsZXRpbmcgQysrIHRlc3RpbmcgY2FzZXMg c2luY2UgInhmYWlsIiBkb2VzIG5vdCB3b3JrLiAoRklYTUUsIGFkZCB0aGVtIGJhY2sgaWYgc29t ZXRoaW5nIGxpa2UgInhmYWlsIiB3b3JrcyBmb3IgQysrLikNCj4+IA0KPj4gKioqKioqS25vd24g aXNzdWU6DQo+PiANCj4+ICAxLiAtV3VuaW5pdGlhbGl6ZWQgd2FybmluZ3MgbWlnaCBub3QgYmUg aXNzdWVkIGZvciBhZGRyZXNzIHRha2VuIGF1dG8gdmFyaWFibGVzLg0KPj4gcGxlYXNlIHNlZSBo dHRwczovL2djYy5nbnUub3JnL3BpcGVybWFpbC9nY2MtcGF0Y2hlcy8yMDIxLUF1Z3VzdC81Nzc0 MzEuaHRtbA0KPj4gZm9yIGRldGFpbHMuDQo+PiANCj4+ICAgICBQbGFuOiBhZGQgYSBzZXBhcmF0 ZSBwYXRjaCB0byBpbXByb3ZlIC1XdW5pbml0aWFsaXplZCBvbiBhZGRyZXNzIHRha2VuIGF1dG8g dmFyaWFibGVzLg0KPj4gDQo+PiAqKioqKipOT1RFOg0KPj4gDQo+PiAgMS4gQ2hhbmdlcyBpbiB0 cmVlLXNyYS5jICBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIGFwcHJvdmVkIGJ5IE1hcnRpbiBKYW1i b3IuDQo+PiAgMi4gdGhlIGNvZGUgY2hhbmdlcyBzaG91bGQgYmUgdmVyeSBjbGVhbiBub3c7DQo+ PiAgMy4gVGhlIHRlc3RpbmcgY2FzZXMgbWlnaHQgbmVlZCBtb3JlIHJldmlldywgSSBuZWVkIGNv bW1lbnRzIGFuZCBzdWdnZXN0aW9ucyBvbiB0ZXN0aW5nIGNhc2VzIHBhcnQuIChOb3QgZmVlbCB2 ZXJ5IGNvbWZvcnRhYmxlIGVzcGVjaWFsbHkgb24gdGhlIHRlc3RpbmcgY2FzZXMgZm9yIGNoZWNr aW5nIHBhdHRlcm4gaW5pdGlhbGl6YXRpb25zKS4NCj4+IA0KPj4gKioqKioqUGxlYXNlIHNlZSB2 ZXJzaW9uIDcgYXQ6DQo+PiBodHRwczovL2djYy5nbnUub3JnL3BpcGVybWFpbC9nY2MtcGF0Y2hl cy8yMDIxLUp1bHkvNTc2MzQxLmh0bWwNCj4+IA0KPj4gKioqKioqQ2hhbmdlTG9nIGlzOg0KPj4g Z2NjL0NoYW5nZUxvZzoNCj4+IA0KPj4gMjAyMS0wOC0yMSAgcWluZyB6aGFvICA8cWluZy56aGFv QG9yYWNsZS5jb20+DQo+PiANCj4+ICAgICAgICAqIGJ1aWx0aW5zLmMgKGV4cGFuZF9idWlsdGlu X21lbXNldCk6IE1ha2UgZXh0ZXJuYWwgdmlzaWJsZS4NCj4+ICAgICAgICAqIGJ1aWx0aW5zLmgg KGV4cGFuZF9idWlsdGluX21lbXNldCk6IERlY2xhcmUgZXh0ZXJuLg0KPj4gICAgICAgICogY29t bW9uLm9wdCAoZnRyaXZpYWwtYXV0by12YXItaW5pdD0pOiBOZXcgb3B0aW9uLg0KPj4gICAgICAg ICogZG9jL2V4dGVuZC50ZXhpOiBEb2N1bWVudCB0aGUgdW5pbml0aWFsaXplZCBhdHRyaWJ1dGUu DQo+PiAgICAgICAgKiBkb2MvaW52b2tlLnRleGk6IERvY3VtZW50IC1mdHJpdmlhbC1hdXRvLXZh ci1pbml0Lg0KPj4gICAgICAgICogZmxhZy10eXBlcy5oIChlbnVtIGF1dG9faW5pdF90eXBlKTog TmV3IGVudW1lcmF0ZWQgdHlwZQ0KPj4gICAgICAgIGF1dG9faW5pdF90eXBlLg0KPj4gICAgICAg ICogZ2ltcGxlLWZvbGQuYyAoY2xlYXJfcGFkZGluZ190eXBlKTogQWRkIG9uZSBuZXcgcGFyYW1l dGVyLg0KPj4gICAgICAgIChjbGVhcl9wYWRkaW5nX3VuaW9uKTogTGlrZXdpc2UuDQo+PiAgICAg ICAgKGNsZWFyX3BhZGRpbmdfZW1pdF9sb29wKTogTGlrZXdpc2UuDQo+PiAgICAgICAgKGNsZWFy X3R5cGVfcGFkZGluZ19pbl9tYXNrKTogTGlrZXdpc2UuDQo+PiAgICAgICAgKGdpbXBsZV9mb2xk X2J1aWx0aW5fY2xlYXJfcGFkZGluZyk6IEhhbmRsZSB0aGlzIG5ldyBwYXJhbWV0ZXIuDQo+PiAg ICAgICAgKiBnaW1wbGlmeS5jIChnaW1wbGVfYWRkX2luaXRfZm9yX2F1dG9fdmFyKTogTmV3IGZ1 bmN0aW9uLg0KPj4gICAgICAgIChnaW1wbGVfYWRkX3BhZGRpbmdfaW5pdF9mb3JfYXV0b192YXIp OiBOZXcgZnVuY3Rpb24uDQo+PiAgICAgICAgKGlzX3Zhcl9uZWVkX2F1dG9faW5pdCk6IE5ldyBm dW5jdGlvbi4NCj4+ICAgICAgICAoZ2ltcGxpZnlfZGVjbF9leHByKTogQWRkIGluaXRpYWxpemF0 aW9uIHRvIGF1dG9tYXRpYyB2YXJpYWJsZXMgcGVyDQo+PiAgICAgICAgdXNlcnMnIHJlcXVlc3Rz Lg0KPj4gICAgICAgIChnaW1wbGlmeV9jYWxsX2V4cHIpOiBBZGQgb25lIG5ldyBwYXJhbWV0ZXIg Zm9yIGNhbGwgdG8NCj4+ICAgICAgICBfX2J1aWx0aW5fY2xlYXJfcGFkZGluZy4NCj4+ICAgICAg ICAoZ2ltcGxpZnlfaW5pdF9jb25zdHJ1Y3Rvcik6IEFkZCBwYWRkaW5nIGluaXRpYWxpemF0aW9u IGluIHRoZSBlbmQuDQo+PiAgICAgICAgKiBpbnRlcm5hbC1mbi5jIChJTklUX1BBVFRFUk5fVkFM VUUpOiBOZXcgbWFjcm8uDQo+PiAgICAgICAgKGV4cGFuZF9ERUZFUlJFRF9JTklUKTogTmV3IGZ1 bmN0aW9uLg0KPj4gICAgICAgICogaW50ZXJuYWwtZm4uZGVmIChERUZFUlJFRF9JTklUKTogTmV3 IGludGVybmFsIGZ1bmN0aW9uLg0KPj4gICAgICAgICogdHJlZS1jZmcuYyAodmVyaWZ5X2dpbXBs ZV9jYWxsKTogVmVyaWZ5IGNhbGxzIHRvIC5ERUZFUlJFRF9JTklULg0KPj4gICAgICAgICogdHJl ZS1zcmEuYyAoZ2VuZXJhdGVfc3VidHJlZV9kZWZlcnJlZF9pbml0KTogTmV3IGZ1bmN0aW9uLg0K Pj4gICAgICAgIChzY2FuX2Z1bmN0aW9uKTogQXZvaWQgc2V0dGluZyBjYW5ub3Rfc2NhbGFyaXpl X2F3YXlfYml0bWFwIGZvcg0KPj4gICAgICAgIGNhbGxzIHRvIC5ERUZFUlJFRF9JTklULg0KPj4g ICAgICAgIChzcmFfbW9kaWZ5X2RlZmVycmVkX2luaXQpOiBOZXcgZnVuY3Rpb24uDQo+PiAgICAg ICAgKHNyYV9tb2RpZnlfZnVuY3Rpb25fYm9keSk6IEhhbmRsZSBjYWxscyB0byBERUZFUlJFRF9J TklUIHNwZWNpYWxseS4NCj4+ICAgICAgICAqIHRyZWUtc3NhLXN0cnVjdGFsaWFzLmMgKGZpbmRf ZnVuY19hbGlhc2VzX2Zvcl9jYWxsKTogTGlrZXdpc2UuDQo+PiAgICAgICAgKiB0cmVlLXNzYS11 bmluaXQuYyAod2Fybl91bmluaXQpOiBIYW5kbGUgY2FsbHMgdG8gREVGRVJSRURfSU5JVA0KPj4g ICAgICAgIHNwZWNpYWxseS4NCj4+ICAgICAgICAoY2hlY2tfZGVmcyk6IExpa2V3aXNlLg0KPj4g ICAgICAgICh3YXJuX3VuaW5pdGlhbGl6ZWRfdmFycyk6IExpa2V3aXNlLg0KPj4gICAgICAgICog dHJlZS1zc2EuYyAoc3NhX3VuZGVmaW5lZF92YWx1ZV9wKTogTGlrZXdpc2UuDQo+PiAgICAgICAg KiB0cmVlLmMgKGJ1aWxkX2NvbW1vbl9idWlsdGluX25vZGVzKTogQnVpbGQgdHJlZSBub2RlIGZv cg0KPj4gICAgICAgIEJVSUxUX0lOX0NMRUFSX1BBRERJTkcgd2hlbiBuZWVkZWQuDQo+PiANCj4+ IGdjYy9jLWZhbWlseS9DaGFuZ2VMb2c6DQo+PiANCj4+IDIwMjEtMDgtMjEgIHFpbmcgemhhbyAg PHFpbmcuemhhb0BvcmFjbGUuY29tPg0KPj4gDQo+PiAgICAgICAgKiBjLWF0dHJpYnMuYyAoaGFu ZGxlX3VuaW5pdGlhbGl6ZWRfYXR0cmlidXRlKTogTmV3IGZ1bmN0aW9uLg0KPj4gICAgICAgIChj X2NvbW1vbl9hdHRyaWJ1dGVfdGFibGUpOiBBZGQgInVuaW5pdGlhbGl6ZWQiIGF0dHJpYnV0ZS4N Cj4+IA0KPj4gZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6DQo+PiANCj4+IA0KPj4gMjAyMS0wOC0y MCAgcWluZyB6aGFvICA8cWluZy56aGFvQG9yYWNsZS5jb20+DQo+PiANCj4+ICAgICAgICAqIGMt YysrLWNvbW1vbi9hdXRvLWluaXQtMS5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGMtYysrLWNv bW1vbi9hdXRvLWluaXQtMTAuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBjLWMrKy1jb21tb24v YXV0by1pbml0LTExLmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogYy1jKystY29tbW9uL2F1dG8t aW5pdC0xMi5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGMtYysrLWNvbW1vbi9hdXRvLWluaXQt MTMuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBjLWMrKy1jb21tb24vYXV0by1pbml0LTE0LmM6 IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogYy1jKystY29tbW9uL2F1dG8taW5pdC0xNS5jOiBOZXcg dGVzdC4NCj4+ICAgICAgICAqIGMtYysrLWNvbW1vbi9hdXRvLWluaXQtMTYuYzogTmV3IHRlc3Qu DQo+PiAgICAgICAgKiBjLWMrKy1jb21tb24vYXV0by1pbml0LTIuYzogTmV3IHRlc3QuDQo+PiAg ICAgICAgKiBjLWMrKy1jb21tb24vYXV0by1pbml0LTMuYzogTmV3IHRlc3QuDQo+PiAgICAgICAg KiBjLWMrKy1jb21tb24vYXV0by1pbml0LTQuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBjLWMr Ky1jb21tb24vYXV0by1pbml0LTUuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBjLWMrKy1jb21t b24vYXV0by1pbml0LTYuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBjLWMrKy1jb21tb24vYXV0 by1pbml0LTcuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBjLWMrKy1jb21tb24vYXV0by1pbml0 LTguYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBjLWMrKy1jb21tb24vYXV0by1pbml0LTkuYzog TmV3IHRlc3QuDQo+PiAgICAgICAgKiBjLWMrKy1jb21tb24vYXV0by1pbml0LWVzcmEuYzogTmV3 IHRlc3QuDQo+PiAgICAgICAgKiBjLWMrKy1jb21tb24vYXV0by1pbml0LXBhZGRpbmctMS5jOiBO ZXcgdGVzdC4NCj4+ICAgICAgICAqIGMtYysrLWNvbW1vbi9hdXRvLWluaXQtcGFkZGluZy0yLmM6 IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogYy1jKystY29tbW9uL2F1dG8taW5pdC1wYWRkaW5nLTMu YzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnKysuZGcvYXV0by1pbml0LXVuaW5pdC1wcmVkLTFf YS5DOiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGcrKy5kZy9hdXRvLWluaXQtdW5pbml0LXByZWQt Ml9hLkM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogZysrLmRnL2F1dG8taW5pdC11bmluaXQtcHJl ZC0zX2EuQzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnKysuZGcvYXV0by1pbml0LXVuaW5pdC1w cmVkLTQuQzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MuZGcvYXV0by1pbml0LXNyYS0xLmM6 IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogZ2NjLmRnL2F1dG8taW5pdC1zcmEtMi5jOiBOZXcgdGVz dC4NCj4+ICAgICAgICAqIGdjYy5kZy9hdXRvLWluaXQtdW5pbml0LTEuYzogTmV3IHRlc3QuDQo+ PiAgICAgICAgKiBnY2MuZGcvYXV0by1pbml0LXVuaW5pdC0xMi5jOiBOZXcgdGVzdC4NCj4+ICAg ICAgICAqIGdjYy5kZy9hdXRvLWluaXQtdW5pbml0LTEzLmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAg ICogZ2NjLmRnL2F1dG8taW5pdC11bmluaXQtMTQuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBn Y2MuZGcvYXV0by1pbml0LXVuaW5pdC0xNS5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGdjYy5k Zy9hdXRvLWluaXQtdW5pbml0LTE2LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogZ2NjLmRnL2F1 dG8taW5pdC11bmluaXQtMTcuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MuZGcvYXV0by1p bml0LXVuaW5pdC0xOC5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGdjYy5kZy9hdXRvLWluaXQt dW5pbml0LTE5LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogZ2NjLmRnL2F1dG8taW5pdC11bmlu aXQtMi5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGdjYy5kZy9hdXRvLWluaXQtdW5pbml0LTIw LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogZ2NjLmRnL2F1dG8taW5pdC11bmluaXQtMjEuYzog TmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MuZGcvYXV0by1pbml0LXVuaW5pdC0yMi5jOiBOZXcg dGVzdC4NCj4+ICAgICAgICAqIGdjYy5kZy9hdXRvLWluaXQtdW5pbml0LTIzLmM6IE5ldyB0ZXN0 Lg0KPj4gICAgICAgICogZ2NjLmRnL2F1dG8taW5pdC11bmluaXQtMjQuYzogTmV3IHRlc3QuDQo+ PiAgICAgICAgKiBnY2MuZGcvYXV0by1pbml0LXVuaW5pdC0yNS5jOiBOZXcgdGVzdC4NCj4+ICAg ICAgICAqIGdjYy5kZy9hdXRvLWluaXQtdW5pbml0LTI2LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAg ICogZ2NjLmRnL2F1dG8taW5pdC11bmluaXQtMy5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGdj Yy5kZy9hdXRvLWluaXQtdW5pbml0LTM0LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogZ2NjLmRn L2F1dG8taW5pdC11bmluaXQtMzYuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MuZGcvYXV0 by1pbml0LXVuaW5pdC0zNy5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGdjYy5kZy9hdXRvLWlu aXQtdW5pbml0LTQuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MuZGcvYXV0by1pbml0LXVu aW5pdC01LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogZ2NjLmRnL2F1dG8taW5pdC11bmluaXQt Ni5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGdjYy5kZy9hdXRvLWluaXQtdW5pbml0LTguYzog TmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MuZGcvYXV0by1pbml0LXVuaW5pdC05LmM6IE5ldyB0 ZXN0Lg0KPj4gICAgICAgICogZ2NjLmRnL2F1dG8taW5pdC11bmluaXQtQS5jOiBOZXcgdGVzdC4N Cj4+ICAgICAgICAqIGdjYy5kZy9hdXRvLWluaXQtdW5pbml0LUIuYzogTmV3IHRlc3QuDQo+PiAg ICAgICAgKiBnY2MuZGcvYXV0by1pbml0LXVuaW5pdC1DLmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAg ICogZ2NjLmRnL2F1dG8taW5pdC11bmluaXQtSC5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGdj Yy5kZy9hdXRvLWluaXQtdW5pbml0LUkuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFy Z2V0L2FhcmNoNjQvYXV0by1pbml0LTEuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFy Z2V0L2FhcmNoNjQvYXV0by1pbml0LTIuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFy Z2V0L2FhcmNoNjQvYXV0by1pbml0LTMuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFy Z2V0L2FhcmNoNjQvYXV0by1pbml0LTQuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFy Z2V0L2FhcmNoNjQvYXV0by1pbml0LTUuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFy Z2V0L2FhcmNoNjQvYXV0by1pbml0LTYuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFy Z2V0L2FhcmNoNjQvYXV0by1pbml0LTcuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFy Z2V0L2FhcmNoNjQvYXV0by1pbml0LTguYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFy Z2V0L2FhcmNoNjQvYXV0by1pbml0LXBhZGRpbmctMS5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAq IGdjYy50YXJnZXQvYWFyY2g2NC9hdXRvLWluaXQtcGFkZGluZy0xMC5jOiBOZXcgdGVzdC4NCj4+ ICAgICAgICAqIGdjYy50YXJnZXQvYWFyY2g2NC9hdXRvLWluaXQtcGFkZGluZy0xMS5jOiBOZXcg dGVzdC4NCj4+ICAgICAgICAqIGdjYy50YXJnZXQvYWFyY2g2NC9hdXRvLWluaXQtcGFkZGluZy0x Mi5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGdjYy50YXJnZXQvYWFyY2g2NC9hdXRvLWluaXQt cGFkZGluZy0yLmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogZ2NjLnRhcmdldC9hYXJjaDY0L2F1 dG8taW5pdC1wYWRkaW5nLTMuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFyZ2V0L2Fh cmNoNjQvYXV0by1pbml0LXBhZGRpbmctNC5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGdjYy50 YXJnZXQvYWFyY2g2NC9hdXRvLWluaXQtcGFkZGluZy01LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAg ICogZ2NjLnRhcmdldC9hYXJjaDY0L2F1dG8taW5pdC1wYWRkaW5nLTYuYzogTmV3IHRlc3QuDQo+ PiAgICAgICAgKiBnY2MudGFyZ2V0L2FhcmNoNjQvYXV0by1pbml0LXBhZGRpbmctNy5jOiBOZXcg dGVzdC4NCj4+ICAgICAgICAqIGdjYy50YXJnZXQvYWFyY2g2NC9hdXRvLWluaXQtcGFkZGluZy04 LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogZ2NjLnRhcmdldC9hYXJjaDY0L2F1dG8taW5pdC1w YWRkaW5nLTkuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFyZ2V0L2kzODYvYXV0by1p bml0LTEuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFyZ2V0L2kzODYvYXV0by1pbml0 LTIuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFyZ2V0L2kzODYvYXV0by1pbml0LTIx LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogZ2NjLnRhcmdldC9pMzg2L2F1dG8taW5pdC0yMi5j OiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGdjYy50YXJnZXQvaTM4Ni9hdXRvLWluaXQtMjMuYzog TmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFyZ2V0L2kzODYvYXV0by1pbml0LTI0LmM6IE5l dyB0ZXN0Lg0KPj4gICAgICAgICogZ2NjLnRhcmdldC9pMzg2L2F1dG8taW5pdC0zLmM6IE5ldyB0 ZXN0Lg0KPj4gICAgICAgICogZ2NjLnRhcmdldC9pMzg2L2F1dG8taW5pdC00LmM6IE5ldyB0ZXN0 Lg0KPj4gICAgICAgICogZ2NjLnRhcmdldC9pMzg2L2F1dG8taW5pdC01LmM6IE5ldyB0ZXN0Lg0K Pj4gICAgICAgICogZ2NjLnRhcmdldC9pMzg2L2F1dG8taW5pdC02LmM6IE5ldyB0ZXN0Lg0KPj4g ICAgICAgICogZ2NjLnRhcmdldC9pMzg2L2F1dG8taW5pdC03LmM6IE5ldyB0ZXN0Lg0KPj4gICAg ICAgICogZ2NjLnRhcmdldC9pMzg2L2F1dG8taW5pdC04LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAg ICogZ2NjLnRhcmdldC9pMzg2L2F1dG8taW5pdC1wYWRkaW5nLTEuYzogTmV3IHRlc3QuDQo+PiAg ICAgICAgKiBnY2MudGFyZ2V0L2kzODYvYXV0by1pbml0LXBhZGRpbmctMTAuYzogTmV3IHRlc3Qu DQo+PiAgICAgICAgKiBnY2MudGFyZ2V0L2kzODYvYXV0by1pbml0LXBhZGRpbmctMTEuYzogTmV3 IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFyZ2V0L2kzODYvYXV0by1pbml0LXBhZGRpbmctMTIu YzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFyZ2V0L2kzODYvYXV0by1pbml0LXBhZGRp bmctMi5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGdjYy50YXJnZXQvaTM4Ni9hdXRvLWluaXQt cGFkZGluZy0zLmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogZ2NjLnRhcmdldC9pMzg2L2F1dG8t aW5pdC1wYWRkaW5nLTQuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFyZ2V0L2kzODYv YXV0by1pbml0LXBhZGRpbmctNS5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAqIGdjYy50YXJnZXQv aTM4Ni9hdXRvLWluaXQtcGFkZGluZy02LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogZ2NjLnRh cmdldC9pMzg2L2F1dG8taW5pdC1wYWRkaW5nLTcuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBn Y2MudGFyZ2V0L2kzODYvYXV0by1pbml0LXBhZGRpbmctOC5jOiBOZXcgdGVzdC4NCj4+ICAgICAg ICAqIGdjYy50YXJnZXQvaTM4Ni9hdXRvLWluaXQtcGFkZGluZy05LmM6IE5ldyB0ZXN0Lg0KPj4g DQo+PiAqKioqKiogVGhlIHBhdGNoIGFnYWluc3QgdGhlIDd0aCBwYXRjaDoNCj4+IA0KPj4gDQo+ PiAqKioqKipUaGUgY29tcGxldGUgOHRoIHBhdGNoOg0KPj4gDQo+PiANCj4gDQo+IC0tIA0KPiBS aWNoYXJkIEJpZW5lciA8cmd1ZW50aGVyQHN1c2UuZGU+DQo+IFNVU0UgU29mdHdhcmUgU29sdXRp b25zIEdlcm1hbnkgR21iSCwgTWF4ZmVsZHN0cmFzc2UgNSwgOTA0MDkgTnVlcm5iZXJnLA0KPiBH ZXJtYW55OyBHRjogRmVsaXggSW1lbmTDtnJmZmVyOyBIUkIgMzY4MDkgKEFHIE51ZXJuYmVyZykN Cg0K