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 86A493858C3B for ; Tue, 13 Jul 2021 23:17:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 86A493858C3B Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 16DN7Tjg029354; Tue, 13 Jul 2021 23:17:02 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 39rnxdkpy1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 13 Jul 2021 23:17:02 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 16DNEs93044600; Tue, 13 Jul 2021 23:17:01 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2170.outbound.protection.outlook.com [104.47.57.170]) by aserp3030.oracle.com with ESMTP id 39qycxfq0b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 13 Jul 2021 23:17:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TRsRmR3EaIl52SGAkHlkIl0ZBZssmD/hHLWhRvCRUG+qj2ehHwteJ4o7Vx85JZIAB98UUuWDMipRG6CG2Q/OBxrhLroG6S/y+8u8F8nFNWwEVF51yh2ij8WxP1L3GlFEv7cKwd1H+XA0PsbcrnvJSVt1Ft34uZ761IwAUE5d5y4iMtiIiPWp5v+vnkOO+PGiHfijw9Nq1cOKgbJkoy2UI7TP+uJaf4LQsLYDL8ryTiMD6KP6zuOUg3YCOV3JRXu47RcEO8PO0y2xCAmF6kHukw/TusXHCz0WnYfGT4vmDcRxSWwKQG625mtI3dgmYZQrtKjRIL7/guy29T09hhlJFA== 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=46Om6E3W6k6k2LgYHXeBSSXKDHsgOwIiq/VEas4TlrA=; b=Kfll60r4OcQKggnTiinvLTJAY7R5TTjdIyhaLIi3UhdiySVxjpvjmRfGz6hgw8b0HmVoxZNxPkd5DUnqqq2e8aS2FwvFmNz20vpGSFyz2ThW5xq2qQAq/3NFq6roFdRgyfiI9Laup1kgUZM7wCdYbhfhzdCo8kIILTnajNgP10/9yppMODpIHq3WJhDX6XMxl7QaVTqfocLOjgM/zwhQxtAKd6skO3Bti7gSP2AYMthpgLo8XWdqkoGIgzzWoyE0zghlacaa3RsJEXrE956L6yD/uf7FHY19f+OV4QpfL8/LRGqELqDvec+2VY5w+SPG3gQZOpfBCYR9CX+gSJHa+g== 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 CH0PR10MB4891.namprd10.prod.outlook.com (2603:10b6:610:c1::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.20; Tue, 13 Jul 2021 23:17:00 +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.4308.027; Tue, 13 Jul 2021 23:16:59 +0000 From: Qing Zhao To: Kees Cook , Richard Biener CC: Richard Sandiford , gcc-patches Qing Zhao via Subject: Re: [patch][version 4]add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Topic: [patch][version 4]add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Index: AQHXc1bW8CMg6dRG/0GDGBORAHTjkKs/p8uAgAAqmACAAaNHgIAAHgSA Date: Tue, 13 Jul 2021 23:16:59 +0000 Message-ID: <6550FBBC-E954-478D-8BAC-F7B0392ED2F5@oracle.com> References: <202107121030.295D4E590@keescook> <80CAE4C0-237B-4F1A-9569-7EC789563CB8@oracle.com> <202107131227.C6DF131@keescook> In-Reply-To: <202107131227.C6DF131@keescook> 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: f0806c4b-23b7-408f-bce3-08d9465450ec x-ms-traffictypediagnostic: CH0PR10MB4891: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8aDsMmlogQEEOymMjvANaGyhXg+ebnNI08Dg8QK8ftvNrSPFBAkxDBvxIwe0tROgL3vMiCKicjEyGpPMJ7F9o2ZIPsZTMaiggZnKYL5R3mHQ4YG1DQ0zALcBlXkdnWxfaUD+KutObhb/c3OFXu6FiSmDNN/UKB9sps9niNNYjCaKy6LZ10+/OpfuvF57fMJmjZ2psYKCKxYHcYgbGLQ7RJ33AQHIvjYH6pUh/KYqUYL+gaJOME0XHcTIrJvfoE0axy35zAOBiWYBL9SD/TvOqibWMjO+qsE2jlsKrPhaEaCs1E7ylT1LUpkqMdNB2GOzttfqHvAdFBcMdWiLCU37xAWoEk0k1q/RMP9EHKxhfqYSVBjJlIRz7q3iaCdsZUnhjrq74cCtAjf7zl7iYxTYOYnPWPphOGqnuVGv8oKwemidPLtqSh8zxiR8wfYpTFiIJ7qFVPgCVci2Q9KpKD1c0Mq6pg/UFYcnGVtEzfD6b50EB64qV06Dh2TY9p+e6JGDNy8n8g7RYP1r6O1ReKtCgle+itTk3owIUH63VVAlNuxCCbbIccyY9v4hulnFW7DaSTyoP87fkXdvYHKRSsJ7PCi0rGA64jYALf6NAzPTNkExKE4F/y+HdcFBFSByBOTdotymnYQ/UiIWQ56G7LVJzKxOPBrJYtABsmeemRJp4fEjkMW8J1ABENpcgK+vrryGafvr6xcDE38O3cccopuNcScykTfR1vmf34GkrcFTHWPGjHhY50w9q4HuDxowYNVw 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)(346002)(39860400002)(366004)(136003)(376002)(64756008)(66946007)(66556008)(4326008)(6486002)(33656002)(5660300002)(478600001)(83380400001)(186003)(66476007)(86362001)(66446008)(122000001)(38100700002)(91956017)(36756003)(2906002)(44832011)(6512007)(71200400001)(110136005)(8676002)(316002)(54906003)(8936002)(2616005)(76116006)(6506007)(53546011)(38070700004)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dVFPd21aUUFsSnZnQWNzTjgxc3lOWmlVcXZpZHdHZ0RXbXZ0NTE5Wm1NbWJo?= =?utf-8?B?WXQ0S1M3NFBHZHhpQWN4QWl6bmIvODZmdDRSNGErQzR3akVKaHQ4SFMySTln?= =?utf-8?B?VVFrRDlsRitQMTM3TlBxUS81UnljeHc0THUzbEhpeUdaM0JIUENMUkx5bVBv?= =?utf-8?B?cm1ySkxRMHU2RkVYR0dXV3dVV0R3cGRtQm4reURtc21vZGZROVpyc2Y1SCtG?= =?utf-8?B?eUJUN0FqZGt3NmF5NzJYWngyV0pNRkxVMEVTbzJPaUdmVHhWQU9LaHM0Skhi?= =?utf-8?B?THNOWVJzNE5oWFpJNGg1M1NHWStRaTNmWERlOFR5M29SYXFoV1FTQTJ6emFt?= =?utf-8?B?VXJTL2QxLzl6UmRINFVlQUhtSno4bTJtQWxJQmdVNTMydHU4VjN2SnRqWEJQ?= =?utf-8?B?eEhINU94VFMvNUFDM25HbEdKTjZCczRzUDNBOWgyQk4wWE1wcEZsQksrUC8y?= =?utf-8?B?anZGRG9RM1RSSkdrc1ZmSnR1WE5hczR2dVE3SGtNeTlOeDVTZzRYdmI1a213?= =?utf-8?B?c0dpUHJuL3pBVW9aa1I3cGxFQWxJN2Q4VnZyUjAvSHd1MHFEcGRtUWdwVDA1?= =?utf-8?B?VXZ1Rk9XWEs2Y29CV3Nsdkw3UTNYUFJMNDZJcm05a0VXcEtCWkxiWGdzTm1Z?= =?utf-8?B?Mi80ZlYzclRTYWZQT0tGRmZDNTRpOWg3MUtHaXMzQUkrejJXamM1bUdYOHlJ?= =?utf-8?B?WGcya3MwWUJwempjR0xEVTE5Z1JqenBRTFFLS3IxN3QxVXRkZnViMGxJZjdH?= =?utf-8?B?a0JSaWtuU1E0Uno4L2FpQnlQVmR6eWx4SXgyLzhNMUJqQS9tVXZ2OFI4VlJo?= =?utf-8?B?K3FDa3VBeHNrVHJ5emlpTk5tYUVVS2xpWDd3UmFhWEd6ajRVdXJEZHUwTFVn?= =?utf-8?B?MkYwWlgwYjlQSVE5TjgrVFB6OWJSblZYUUtsYTNIbkZ3aFZPVG1Sdk9QaGR5?= =?utf-8?B?dG1qRko1Ny9ZekoyWlVLT3JwWWJPSnFtZmlQT3M1Ynk2QVBveUxQdkt2VTg1?= =?utf-8?B?UGR0dHRXVndjV0hKQUhlck0xcWQrVVllZjdBeTEzM0Z6aUlMV3VNM3FaWHJF?= =?utf-8?B?eDI0M0xVRzk0a3Q3OVcybTh3OEtzcVJISkxPckJTeEoxOTFOdzJINW9XZStN?= =?utf-8?B?RGxBWWNIV09rTisvc1VRNzZHY2tpYlcxdWVtNXl6WjkxY2xUMFJkU00yOXFQ?= =?utf-8?B?aHpYUFNCbTF3MU4rRjJwTitKZjV1WmgrZ2ExSGRVeXBlcEx4SENXYzl2L0xI?= =?utf-8?B?YXhWT2Z4WmhVL2ZNcSt0TXMxV0Z0OHJaZFJweXB4ZzErdGdVQXhVdWFkMkVj?= =?utf-8?B?WFFtZ210N2JJNWttN1JQY3pxYURlV21qOGZsUHFJTVR2VHBUbWNHVHR1SVRR?= =?utf-8?B?cVJMOWF1VlMwdjZLZWcxUnZ5VysvTHZEdFVoSVFWRHBwUGZZak1DcVVoWWsr?= =?utf-8?B?MUlrYUl1TjlqYUxWT0hVd1c1OHQza0hENGM4R2Nob3A3UzdzVVIzTllvbU8v?= =?utf-8?B?NVRONGt1QVJkUXd6bmJGOWlFWHdyVmdDOHIzNnlKenEyOHRyL3hCMW1kVGxo?= =?utf-8?B?bkxPV2dXaUFNeUc2WnZZaC9nMUZVSUhQV1BtU3hsS0ZMRFhFVjB2cjl5M1J1?= =?utf-8?B?RTF1aEtUNFpqWG5mOUswQnZhR1dTWm5qenNZUml3WDZTdkxJZjBNT0FVT0ll?= =?utf-8?B?TjFGd3drRUswbjRmRkdnNlRsS2E1enhuMHBmVU1oV1J3MlpSRWdVdi9EbDNp?= =?utf-8?B?QzRacVBJYTM0TjFsSzduUjhzakJVVE1CMWxac2pYNVQ2aGxPcTZsWHdrY20y?= =?utf-8?B?dDU3TlhxZVZLZ29Lb0VKbkR6Qk9yZTR5aW1mNFlmckpUUjFSREJlSWJTWGcy?= =?utf-8?Q?SgjNgPHcSY0k2?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <2DB58AD9EC47664B8E6FEB5924B05E2A@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: f0806c4b-23b7-408f-bce3-08d9465450ec X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jul 2021 23:16:59.7668 (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: 4k3YVxaeur4PQ567v/LaVUAsVwd25hJrRcFT0Jvy7wgUd32PP+pGJ9/5GrLYAUC4u2skh4CBOM+6BlCdxo2plA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB4891 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10044 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 bulkscore=0 mlxscore=0 suspectscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2107130142 X-Proofpoint-GUID: eNWVS2BfeyCk8CpwUUgW3_6HnK9hWCyP X-Proofpoint-ORIG-GUID: eNWVS2BfeyCk8CpwUUgW3_6HnK9hWCyP X-Spam-Status: No, score=-4.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, 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, 13 Jul 2021 23:17:08 -0000 SGksIEtlZXMsDQoNCkkgdG9vayBhIGxvb2sgYXQgdGhlIGtlcm5lbCB0ZXN0aW5nIGNhc2UgeW91 IGF0dGFjaGVkIGluIHRoZSBwcmV2aW91cyBlbWFpbCwgYW5kIGZvdW5kIHRoZSB0ZXN0aW5nIGZh aWxlZCB3aXRoIHRoZSBmb2xsb3dpbmcgY2FzZToNCg0KI2RlZmluZSBJTklUX1NUUlVDVF9zdGF0 aWNfYWxsICAgICAgICAgID0geyAub25lID0gYXJnLT5vbmUsICAgICAgICAgICAgXA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudHdvID0gYXJnLT50d28sICAg ICAgICAgICAgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAu dGhyZWUgPSBhcmctPnRocmVlLCAgICAgICAgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAuZm91ciA9IGFyZy0+Zm91ciwgICAgICAgICAgXA0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KaS5lLCB3aGVuIHRoZSBzdHJ1Y3R1 cmUgdHlwZSBhdXRvIHZhcmlhYmxlIGhhcyBiZWVuIGV4cGxpY2l0bHkgaW5pdGlhbGl6ZWQgaW4g dGhlIHNvdXJjZSBjb2RlLiAgLWZ0cml2aWFsLWF1dG8tdmFyLWluaXQgaW4gdGhlIDR0aCB2ZXJz aW9uDQpkb2VzIG5vdCBpbml0aWFsaXplIHRoZSBwYWRkaW5ncyBmb3Igc3VjaCB2YXJpYWJsZXMu ICANCg0KQnV0IGluIHRoZSBwcmV2aW91cyB2ZXJzaW9uIG9mIHRoZSBwYXRjaGVzICggMiBvciAz KSwgLWZ0cml2aWFsLWF1dG8tdmFyLWluaXQgaW5pdGlhbGl6ZXMgdGhlIHBhZGRpbmdzIGZvciBz dWNoIHZhcmlhYmxlcy4NCg0KSSBpbnRlbmRlZCB0byByZW1vdmUgdGhpcyBwYXJ0IG9mIHRoZSBj b2RlIGZyb20gdGhlIDR0aCB2ZXJzaW9uIG9mIHRoZSBwYXRjaCBzaW5jZSB0aGUgaW1wbGVtZW50 YXRpb24gZm9yIGluaXRpYWxpemluZyBzdWNoIHBhZGRpbmdzIGlzIGNvbXBsZXRlbHkgZGlmZmVy ZW50IGZyb20gDQp0aGUgaW5pdGlhbGl6aW5nIG9mIHRoZSB3aG9sZSBzdHJ1Y3R1cmUgYXMgYSB3 aG9sZSB3aXRoIG1lbXNldCBpbiB0aGlzIHZlcnNpb24gb2YgdGhlIGltcGxlbWVudGF0aW9uLiAN Cg0KSWYgd2UgcmVhbGx5IG5lZWQgdGhpcyBmdW5jdGlvbmFsaXR5LCBJIHdpbGwgYWRkIGFub3Ro ZXIgc2VwYXJhdGUgcGF0Y2ggZm9yIHRoaXMgYWRkaXRpb25hbCBmdW5jdGlvbmFsaXR5LCBidXQg bm90IHdpdGggdGhpcyBwYXRjaC4NCg0KUmljaGFyZCwgd2hhdOKAmXMgeW91ciBjb21tZW50IGFu ZCBzdWdnZXN0aW9ucyBvbiB0aGlzPw0KDQpUaGFua3MuDQoNClFpbmcNCg0KPiBPbiBKdWwgMTMs IDIwMjEsIGF0IDQ6MjkgUE0sIEtlZXMgQ29vayA8a2Vlc2Nvb2tAY2hyb21pdW0ub3JnPiB3cm90 ZToNCj4gDQo+IE9uIE1vbiwgSnVsIDEyLCAyMDIxIGF0IDA4OjI4OjU1UE0gKzAwMDAsIFFpbmcg WmhhbyB3cm90ZToNCj4+PiBPbiBKdWwgMTIsIDIwMjEsIGF0IDEyOjU2IFBNLCBLZWVzIENvb2sg PGtlZXNjb29rQGNocm9taXVtLm9yZz4gd3JvdGU6DQo+Pj4gT24gV2VkLCBKdWwgMDcsIDIwMjEg YXQgMDU6Mzg6MDJQTSArMDAwMCwgUWluZyBaaGFvIHdyb3RlOg0KPj4+PiBUaGlzIGlzIHRoZSA0 dGggdmVyc2lvbiBvZiB0aGUgcGF0Y2ggZm9yIHRoZSBuZXcgc2VjdXJpdHkgZmVhdHVyZSBmb3Ig R0NDLg0KPj4+IA0KPj4+IEl0IGxvb2tzIGxpa2UgcGFkZGluZyBpbml0aWFsaXphdGlvbiBoYXMg cmVncmVzc2VkIHRvIHdoZXJlIHRoaW5ncyB3aGVyZQ0KPj4+IGluIHZlcnNpb24gMVsxXSAoaXQg d2FzLCBob3dldmVyLCB3b3JraW5nIGluIHZlcnNpb24gMlsyXSkuIEknbSBzZWVpbmcNCj4+PiB0 aGVzZSBmYWlsdXJlcyBhZ2FpbiBpbiB0aGUga2VybmVsIHNlbGYtdGVzdDoNCj4+PiANCj4+PiB0 ZXN0X3N0YWNraW5pdDogc21hbGxfaG9sZV9zdGF0aWNfYWxsIEZBSUwgKHVuaW5pdCBieXRlczog MykNCj4+PiB0ZXN0X3N0YWNraW5pdDogYmlnX2hvbGVfc3RhdGljX2FsbCBGQUlMICh1bmluaXQg Ynl0ZXM6IDYxKQ0KPj4+IHRlc3Rfc3RhY2tpbml0OiB0cmFpbGluZ19ob2xlX3N0YXRpY19hbGwg RkFJTCAodW5pbml0IGJ5dGVzOiA3KQ0KPj4+IHRlc3Rfc3RhY2tpbml0OiBzbWFsbF9ob2xlX2R5 bmFtaWNfYWxsIEZBSUwgKHVuaW5pdCBieXRlczogMykNCj4+PiB0ZXN0X3N0YWNraW5pdDogYmln X2hvbGVfZHluYW1pY19hbGwgRkFJTCAodW5pbml0IGJ5dGVzOiA2MSkNCj4+PiB0ZXN0X3N0YWNr aW5pdDogdHJhaWxpbmdfaG9sZV9keW5hbWljX2FsbCBGQUlMICh1bmluaXQgYnl0ZXM6IDcpDQo+ PiANCj4+IEFyZSB0aGUgYWJvdmUgZmFpbHVyZXMgZm9yIC1mdHJpdmlhbC1hdXRvLXZhci1pbml0 PXplcm8gb3IgLWZ0cml2aWFsLWF1dG8tdmFyLWluaXQ9cGF0dGVybj8gIE9yIGJvdGg/DQo+IA0K PiBZZXMsIEkgd2FzIG9ubHkgdGVzdGluZyA9emVybyAodGhlIGtlcm5lbCB0ZXN0IGhhbmRsZXMg PXBhdHRlcm4gYXMgd2VsbDoNCj4gaXQgZG9lc24ndCBleHBsaWNpdGx5IHRlc3QgZm9yIDB4MDAp LiBJJ3ZlIHZlcmlmaWVkIHdpdGggPXBhdHRlcm4gbm93LA0KPiB0b28uDQo+IA0KPj4gRm9yIHRo ZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLCBJIGJlbGlldmUgdGhhdCBhbGwgcGFkZGluZ3Mgc2hv dWxkIGJlIGluaXRpYWxpemVkIHdpdGggdGhpcyBvcHRpb24sIA0KPj4gZm9yIC1mdHJpdmlhbC1h dXRvLXZhci1pbml0PXplcm8sIHRoZSBwYWRkaW5nIHdpbGwgYmUgaW5pdGlhbGl6ZWQgdG8gemVy byBhcyBiZWZvcmUsIGhvd2V2ZXIsIGZvcg0KPj4gLWZ0cml2aWFsLWF1dG8tdmFyLWluaXQ9cGF0 dGVybiwgdGhlIHBhZGRpbmcgd2lsbCBiZSBpbml0aWFsaXplZCB0byAweEZFIGJ5dGUtcmVwZWF0 YWJsZSBwYXR0ZXJucy4NCj4gDQo+IEkndmUgZG91YmxlLWNoZWNrZWQgdGhhdCBJJ20gdXNpbmcg dGhlIHJpZ2h0IGdjYywgd2l0aCB0aGUgZmxhZy4NCj4gDQo+Pj4gDQo+Pj4gSW4gbG9va2luZyBh dCB0aGUgZ2NjIHRlc3QgY2FzZXMsIEkgdGhpbmsgdGhlIHdyb25nIHRoaW5nIGlzDQo+Pj4gYmVp bmcgY2hlY2tlZDogd2Ugd2FudCB0byB2ZXJpZnkgdGhlIHBhZGRpbmcgaXRzZWxmLiBGb3IgZXhh bXBsZSwNCj4+PiBpbiBhdXRvLWluaXQtMTcuYywgdGhlIGFjdHVhbCBieXRlcyBhZnRlciAiZm91 ciIgbmVlZCB0byBiZSBjaGVja2VkLA0KPj4+IHJhdGhlciB0aGFuICJmb3VyIiBpdHNlbGYuDQo+ PiANCj4+ICoqKioqKkZvciB0aGUgY3VycmVudCBhdXRvLWluaXQtMTcuYw0KPj4gDQo+PiAgMSAv KiBWZXJpZnkgemVybyBpbml0aWFsaXphdGlvbiBmb3IgYXJyYXkgdHlwZSB3aXRoIHN0cnVjdHVy ZSBlbGVtZW50IHdpdGgNCj4+ICAyICAgIHBhZGRpbmcuICAqLw0KPj4gIDMgLyogeyBkZy1kbyBj b21waWxlIH0gKi8NCj4+ICA0IC8qIHsgZGctb3B0aW9ucyAiLWZ0cml2aWFsLWF1dG8tdmFyLWlu aXQ9emVybyIgfSAqLw0KPj4gIDUgDQo+PiAgNiBzdHJ1Y3QgdGVzdF90cmFpbGluZ19ob2xlIHsN Cj4+ICA3ICAgICAgICAgaW50IG9uZTsNCj4+ICA4ICAgICAgICAgaW50IHR3bzsNCj4+ICA5ICAg ICAgICAgaW50IHRocmVlOw0KPj4gMTAgICAgICAgICBjaGFyIGZvdXI7DQo+PiAxMSAgICAgICAg IC8qICJzaXplb2YodW5zaWduZWQgbG9uZykgLSAxIiBieXRlIHBhZGRpbmcgaG9sZSBoZXJlLiAq Lw0KPj4gMTIgfTsNCj4+IDEzIA0KPj4gMTQgDQo+PiAxNSBpbnQgZm9vICgpDQo+PiAxNiB7DQo+ PiAxNyAgIHN0cnVjdCB0ZXN0X3RyYWlsaW5nX2hvbGUgdmFyWzEwXTsNCj4+IDE4ICAgcmV0dXJu IHZhclsyXS5mb3VyOw0KPj4gMTkgfQ0KPj4gMjAgDQo+PiAyMSAvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXIgIm1vdmxcdFxcXCQwLCIgfSB9ICovDQo+PiAyMiAvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXIgIm1vdmxcdFxcXCQyMCwiIH0gfSAqLw0KPj4gMjMgLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyICJyZXAgc3Rvc3EiIH0gfSAqLw0KPj4gfiAgDQo+PiAqKioqKipX ZSBoYXZlIHRoZSBhc3NlbWJseSBhczogKC1mdHJpdmlhbC1hdXRvLXZhci1pbml0PXplcm8pDQo+ PiANCj4+ICAgICAgICAuZmlsZSAgICJhdXRvLWluaXQtMTcuYyINCj4+ICAgICAgICAudGV4dA0K Pj4gICAgICAgIC5nbG9ibCAgZm9vDQo+PiAgICAgICAgLnR5cGUgICBmb28sIEBmdW5jdGlvbg0K Pj4gZm9vOg0KPj4gLkxGQjA6DQo+PiAgICAgICAgLmNmaV9zdGFydHByb2MNCj4+ICAgICAgICBw dXNocSAgICVyYnANCj4+ICAgICAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2DQo+PiAgICAgICAg LmNmaV9vZmZzZXQgNiwgLTE2DQo+PiAgICAgICAgbW92cSAgICAlcnNwLCAlcmJwDQo+PiAgICAg ICAgLmNmaV9kZWZfY2ZhX3JlZ2lzdGVyIDYNCj4+ICAgICAgICBzdWJxICAgICQ0MCwgJXJzcA0K Pj4gICAgICAgIGxlYXEgICAgLTE2MCglcmJwKSwgJXJheA0KPj4gICAgICAgIG1vdnEgICAgJXJh eCwgJXJzaQ0KPj4gICAgICAgIG1vdmwgICAgJDAsICVlYXgNCj4+ICAgICAgICBtb3ZsICAgICQy MCwgJWVkeA0KPj4gICAgICAgIG1vdnEgICAgJXJzaSwgJXJkaQ0KPj4gICAgICAgIG1vdnEgICAg JXJkeCwgJXJjeA0KPj4gICAgICAgIHJlcCBzdG9zcQ0KPj4gICAgICAgIG1vdnpibCAgLTExNigl cmJwKSwgJWVheA0KPj4gICAgICAgIG1vdnNibCAgJWFsLCAlZWF4DQo+PiAgICAgICAgbGVhdmUN Cj4+ICAgICAgICAuY2ZpX2RlZl9jZmEgNywgOA0KPj4gICAgICAgIHJldA0KPj4gICAgICAgIC5j ZmlfZW5kcHJvYw0KPj4gLkxGRTA6DQo+PiAgICAgICAgLnNpemUgICBmb28sIC4tZm9vDQo+PiAg ICAgICAgLnNlY3Rpb24gICAgICAgIC5ub3RlLkdOVS1zdGFjaywiIixAcHJvZ2JpdHMNCj4+IA0K Pj4gRnJvbSB0aGUgYWJvdmUsIHdlIGNhbiBzZWUsICDigJx6ZXJv4oCdIHdpbGwgYmUgdXNlZCB0 byBpbml0aWFsaXplIDggKiAyMCA9IDE2ICogMTAgYnl0ZXMgb2YgbWVtb3J5IHN0YXJ0aW5nIGZy b20gdGhlIGJlZ2lubmluZyBvZiDigJx2YXLigJ0sIHRoYXQgaW5jbHVkZSBhbGwgdGhlIHBhZGRp bmcgaG9sZXMgaW5zaWRlDQo+PiBUaGlzIGFycmF5IG9mIHN0cnVjdHVyZS4gDQo+PiANCj4+IEkg ZGlkbuKAmXQgc2VlIGlzc3VlIHdpdGggcGFkZGluZyBpbml0aWFsaXphdGlvbiBoZXJlLg0KPiAN Cj4gSG0sIGFncmVlZCAtLSB0aGlzIHRlc3QgZG9lcyBkbyB0aGUgcmlnaHQgdGhpbmcuDQo+IA0K Pj4+IEJ1dCB0aGlzIGlzbid0IGFjdHVhbGx5IHN1ZmZpY2llbnQgYmVjYXVzZSB0aGV5IG1heSBf YWNjaWRlbnRhbGx5Xw0KPj4+IGJlIHplcm8gYWxyZWFkeS4gVGhlIGtlcm5lbCB0ZXN0cyBzcGVj aWZpY2FsbHkgbWFrZSBzdXJlIHRvIGZpbGwgdGhlDQo+Pj4gYWJvdXQtdG8tYmUtdXNlZCBzdGFj ayB3aXRoIDB4ZmYgYmVmb3JlIGNhbGxpbmcgYSBmdW5jdGlvbiBsaWtlIGZvbygpDQo+Pj4gYWJv dmUuDQo+IA0KPiBJJ3ZlIGV4dHJhY3RlZCB0aGUga2VybmVsIHRlc3QgdG8gYnVpbGQgZm9yIHVz ZXJzcGFjZSwgYW5kIGl0IGJlaGF2ZXMNCj4gdGhlIHNhbWUgd2F5LiBTZWUgYXR0YWNoZWQgInN0 YWNraW5pdC5jIi4NCj4gDQo+ICQgZ2NjLWJ1aWxkL2F1dG8tdmFyLWluaXQuNC9pbnN0YWxsZWQv YmluL2djYyAtTzIgLVdhbGwgLW8gc3RhY2tpbml0IHN0YWNraW5pdC5jDQo+ICQgLi9zdGFja2lu aXQgMj4mMSB8IGdyZXAgZmFpbHVyZXM6DQo+IHN0YWNraW5pdDogZmFpbHVyZXM6IDIzDQo+ICQg Z2NjLWJ1aWxkL2F1dG8tdmFyLWluaXQuNC9pbnN0YWxsZWQvYmluL2djYyAtTzIgLVdhbGwgLWZ0 cml2aWFsLWF1dG8tdmFyLWluaXQ9emVybyAtbyBzdGFja2luaXQgc3RhY2tpbml0LmMNCj4gc3Rh Y2tpbml0LmM6IEluIGZ1bmN0aW9uIOKAmF9fbGVhZl9zd2l0Y2hfbm9uZeKAmToNCj4gc3RhY2tp bml0LmM6MzI2OjI2OiB3YXJuaW5nOiBzdGF0ZW1lbnQgd2lsbCBuZXZlciBiZSBleGVjdXRlZA0K PiBbLVdzd2l0Y2gtdW5yZWFjaGFibGVdDQo+ICAzMjYgfCAgICAgICAgICAgICAgICAgdWludDY0 X3QgdmFyOw0KPiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fg0KPiAkIC4vc3Rh Y2tpbml0IDI+JjEgfCBncmVwIGZhaWx1cmVzOg0KPiBzdGFja2luaXQ6IGZhaWx1cmVzOiA2DQo+ IA0KPiBTYW1lIGZhaWx1cmVzIGFzIHNlZW4gaW4gdGhlIGtlcm5lbCB0ZXN0IChhbmQgYW4gZXhw ZWN0ZWQgd2FybmluZw0KPiBhYm91dCB0aGUgaW5pdGlhbGl6YXRpb24gdGhhdCB3aWxsIG5ldmVy IGhhcHBlbiBmb3IgYSBwcmUtY2FzZSBzd2l0Y2gNCj4gc3RhdGVtZW50KS4NCj4gDQo+Pj4gDQo+ Pj4gKEFuZCBhcyBhbiBhc2lkZSwgaXQgc2VlbXMgbGlrZSBuYW1pbmcgdGhlIHRlc3QgY2FzZXMg d2l0aCBzb21lIGRldGFpbHMNCj4+PiBhYm91dCB3aGF0IGlzIGJlaW5nIHRlc3RlZCBpbiB0aGUg ZmlsZW5hbWUgd291bGQgYmUgbmljZSAtLSBpdCB3YXMNCj4+PiBhIGxpdHRsZSB3ZWlyZCBoYXZp bmcgdG8gZGlnIHRocm91Z2ggdGhlaXIgbnVtZXJpYyBuYW1lcyB0byBmaW5kIHRoZQ0KPj4+IHBh ZGRpbmcgdGVzdHMuKQ0KPj4gDQo+PiBZZXMsIEkgd2lsbCBmaXggdGhlIHRlc3RpbmcgbmFtZXMg dG8gbW9yZSByZWZsZWN0IHRoZSB0ZXN0aW5nIGRldGFpbHMuIA0KPiANCj4gR3JlYXQhDQo+IA0K PiAtLSANCj4gS2VlcyBDb29rDQo+IDxzdGFja2luaXQuYz4NCg0K