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 CEB333858D1E for ; Mon, 6 Feb 2023 14:38:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CEB333858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 316DnkXo019286; Mon, 6 Feb 2023 14:38:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=8AfuGLcxEZ6j2iE7H+sEyRTOJzFvEm0wmd1QgjSSdgI=; b=r4lswUyR6uY5g92Ts0DfWknTa6DD5l9DoFS+tIi0q/KgWUQaPxA72V3ZkabX3yqCx2s2 YW34BqpoIOs7XhfKFYif9bjOEEHxeaN2x8xEsikzkY9tr5Vh26d1IKNh926SALQbkCBQ q0ppqn4eSWaSpXJSFkb7Rr7LO3MrPMvj/g7/nhds2jTZYheR24adw0MGvm128wyL0Wvn 9ikaV+tL3UQq1xXuAgmoPTByzstRnu3cxu60hjb7/nlrCHQ0xOcz4bnu+GzxDdIDMnJw 1okdd6bWCkfP1cIM1Q4vnjzJvkKVUTC95VivIfDZ4ix3R/caSZlYFu+22cNumEF5CVFI Gw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3nhf8a2ypw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 06 Feb 2023 14:38:43 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 316DGVj0011546; Mon, 6 Feb 2023 14:38:42 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2172.outbound.protection.outlook.com [104.47.57.172]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3nhdt4m9n9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 06 Feb 2023 14:38:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VVCESf5KBt/4WNJj4+9L+4q/P6uRRIjTXfo3i614Xb5II6l+xHrtDy16rjc9vXpPgS1G+89WaHOW01aIDBf6cTxtwD4Wo6XPwvUhJvpnq29bPOUYHy/AvcioZSDTLfho+1KUtcZFlvhT2KunpQ8dmw0v4QZ/bMq8ILJKGNU62/OglJhRPAWhMz+RmMRJHH324ijBM4/Hkji+1l4TIJYoOzmGrPrwJwV0rlF3MtnoXRlDnYcf7+rnuLuVZmP76fI4Sq/4Gd+J5Kwif37DXFiMawPq8KoQyGKsWMoqzRkxBwGPmC71v/GF0yr3O+2IZepBQseEFeSZ07PDddgUST/NzA== 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=8AfuGLcxEZ6j2iE7H+sEyRTOJzFvEm0wmd1QgjSSdgI=; b=CuDJSBuuy40H933i1ZO9TYXKesbZtKBpV9c2tqOlj8HAmB+JEL51WoGlLq5TAMgMLepI+LBY3xPXhDt8nGXRjw8evZAleGb0Lg5KcFGpotSgBuDMzCYtj0Bn5KFmuyOzGb2fHqIudzAzrhetwFGMHVQS8qqThMMP7Jyg/us7kiQTEUKj9bc03yxobhFrb44YrLa7vuSQGdSxKy5+3iY6JAwqjyEsdtrpYqB9oFcbSGvuurIWQGDlTSyMGWy+gDK8qTHeDDslPTGkzrhgio/QwQNOxP93OCESzBP5lnCwZR0jUKqJu/G4AvCW6mqs/D/+x3xPIH1GzBbyxX1jIAzYng== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8AfuGLcxEZ6j2iE7H+sEyRTOJzFvEm0wmd1QgjSSdgI=; b=zog2mL6SHYmgyPbVtJo+Oqr/lVDkdVDXQQcdsSaLGXK7Ld+J/QtereR0zVbUfsNYxDnRpy+eVD6RVPFL6OUYQgpaJr47OVE+crW5DM/OFUOsqaUJSl5K3rMMFHEtAQPJFVlmMyBPH8NayXVeE368dKO11ocZmMtb2dP6RfD9+oI= Received: from MN2PR10MB4349.namprd10.prod.outlook.com (2603:10b6:208:1d4::9) by PH7PR10MB6579.namprd10.prod.outlook.com (2603:10b6:510:206::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.15; Mon, 6 Feb 2023 14:38:40 +0000 Received: from MN2PR10MB4349.namprd10.prod.outlook.com ([fe80::8dd8:9fdc:c775:dc7f]) by MN2PR10MB4349.namprd10.prod.outlook.com ([fe80::8dd8:9fdc:c775:dc7f%4]) with mapi id 15.20.6086.014; Mon, 6 Feb 2023 14:38:39 +0000 From: Qing Zhao To: Richard Biener , Joseph Myers CC: "gcc-patches@gcc.gnu.org" , "siddhesh@gotplt.org" , "keescook@chromium.org" , "Joseph S. Myers" Subject: Re: [PATCH 1/2] Handle component_ref to a structre/union field including flexible array member [PR101832] Thread-Topic: [PATCH 1/2] Handle component_ref to a structre/union field including flexible array member [PR101832] Thread-Index: AQHZNX31Ed6QQ1+7j0WzPTRpR3Dia665+UIAgAAsBICAASqFgIAAYHEAgAAAkICAAAwiAIABIE0AgABbkICABHfFAIAAVduA Date: Mon, 6 Feb 2023 14:38:39 +0000 Message-ID: <4E515AA5-2069-497E-A301-EC8ED744E780@oracle.com> References: <20230131141140.3610133-1-qing.zhao@oracle.com> <20230131141140.3610133-2-qing.zhao@oracle.com> <812910BC-870E-4432-870D-538024F1A510@oracle.com> <3B30CFBF-5004-41A4-940D-1F23C010403B@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.3696.120.41.1.1) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR10MB4349:EE_|PH7PR10MB6579:EE_ x-ms-office365-filtering-correlation-id: f056a96e-97cd-4781-a6fb-08db084fd69f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 69Q1IRwcIRINAulUnxAiMJaqltjSw6V0Qyu4E/iHLRodzbfwvdQSFywOkFEe9ndj5eowoTnoxqtf52cYX3+YJkjDouYUfR1DtvR9X6g2x/4Gm1P1TbfTEbBr2IbahQlPQ4N0RZ9mRDZpmqKbV1YPO9ODHXYnALOsqjofx9ei/1dhlH10lM2uGiAOHeiEwGJe/XKunbo3ZCoX4WkJrx9n2fCRApHLe3GSVkwtcNM9r6kuIIMPrnqYN71EKdP0YHvArEo+2saEKBc39FHh0SjxJBZNyW6rMoXOBSBVNh0G17jLsJh5O73Mj7UMX0++PjExSnll86mNPWo6DKdqz5v5BqBdmkLvtTTlh7mEGdeEjn+MeYa3cTvfqqC//4H1JCStjSKT4/nUiqubMNoehl9UKzoaGQm62+tGm39iKyv4yt2M+5OKMSWcX50IIqjK/sX6tuUbFlepTrEN3aHiQnpTzEr5JqoL/bMBukMSAGlzFni6S6pTGveITi7dEjVJo5lCEvrDIxvuHZfWvs9OotPkIJnMPs6r51dVC5iFdTraSl4Df1hjDHBovZBfReux0nQIxiy04k4z+9jI+3AP2UwQlb4l+o8pBhbpJeNxsZRAaDy0SgZE5fsI7OE6M2SOnkLZJ3Ot/dlsORx4u4Nw0qVCLwX0a2iKTEr7dMDkl7mP4E0GFszsft9MwsAu7EukC+wMnHLmemyP9YHJiYPxanhvT8KmvLh1+eDpUsL8VhcFAE8= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR10MB4349.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(366004)(346002)(396003)(136003)(39860400002)(451199018)(44832011)(2906002)(36756003)(38070700005)(6486002)(83380400001)(2616005)(122000001)(66946007)(66556008)(6512007)(64756008)(66446008)(66476007)(38100700002)(76116006)(54906003)(91956017)(110136005)(316002)(8936002)(8676002)(5660300002)(33656002)(4326008)(71200400001)(26005)(6506007)(186003)(53546011)(478600001)(86362001)(41300700001)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TVhaa1d2S0FnOVBzQncvc2UwZ1ZxVXNIZkpwbHF4VG41MnA2RytsaU96SmZm?= =?utf-8?B?a1g0VDRabkM3dVRMMTZVanpPTzJUNlZlSU1HTUpNb1M1V3NtcDZxbDBlSXdI?= =?utf-8?B?Q1llcEZxTUNVZ2tVM2crbS9DRGJCNzBzTUEySU9yUEhhTW43NWJHbGFPaURu?= =?utf-8?B?NWVMNURNWmt0clRycE5PU0J0bGZYejdrb29ZVVhTQ0VhbHZ6M3p4d1hBNXMw?= =?utf-8?B?UFNHMGFDa1luQTVUVHpHZlRZdWJiRHhIdDlkZ05jcUc2WTR4OG9Id1RKdStz?= =?utf-8?B?N1o5NVlkamhvY09pMFZBQStYL2g0elJPUzlHTVZ2VmhWczJSNWI1b0JEVkhH?= =?utf-8?B?aXlJVUk1N3FENHBNalluODk0WWJpUmI0eWZweTRNTkdYN3hJaFQ1WFdqblZz?= =?utf-8?B?SjFWMnZEdU5XaUpEdW1zTElsUWIwcW5JMHVnYjZkS2dKZWNzRVUxWTUwWGtq?= =?utf-8?B?ZlVRa2VwN0VuU0hBclYxU2Z1dFFkNVM2VWdaNjJzdkxVVjRmcGZ3elFCb1pW?= =?utf-8?B?Nkw5K3ZObFE3UzB6S3V6ZmhyK3Fzdzh5clR0d3FnY2hhYUZQT2dkK2F0QjRL?= =?utf-8?B?RjI1ZHFqTVhtN1hXMWx6VkE5S3JYSFIwZnN2M1VKRkh6dTR2eXU3NTljQ3RN?= =?utf-8?B?M0g3TTN3Qnd1WTNuT1hYTUg5ZzVCOGdteFZOWFlQU0tCbnFtKzliZncreVNH?= =?utf-8?B?emZBV3dXTVVHQ3l6SnpISGdqcFRwSm9NYWwvbytMSlNjWjlBNkZjck8xNEdB?= =?utf-8?B?UFhkZytvUUgrdlh3MWt4QnFVb3VqMUVwM0pDd2RaZU5Cb2hUU2VkSXVENExU?= =?utf-8?B?NE8yWWtqNFlLSDUvQzA3L0ZHQmJ0eklvazFQSWxxQXE0QmRLRHowd29HME1j?= =?utf-8?B?dTJTeFRBL0xxaUV0WXhQS3BaanNEZmJrYTE4Q2NtVTZYcmJEclAvK0kyaTc0?= =?utf-8?B?U2N5djdDOGlZd3ZOaXQxbDJqVm4wbjR1TFIyckxIRXpjRi92d1dHM1ZqYTVv?= =?utf-8?B?cUoxTkM4eUJ2M0lacXpCWDRPaGlwazR6VlBDS0xFdmdYUlZYQ0E0VW44VldG?= =?utf-8?B?ZXBFQmEwaUxJRDJiaVVOaTN4TkpFaGVzVTBBK1pLRlc2bHRpRHhSek8xVDYw?= =?utf-8?B?Wm5zOEp6aFppdGYveXRTdExKTjdhSTI0TEJWSEh1V2F4ZlpUVnhWSndRMzd5?= =?utf-8?B?L2Y5M2gvaC83cUUxTVdoVkQyRVpSTFVDeFViak9YenRJUGZoN09RN2VTdWZy?= =?utf-8?B?Lzk1TGZaWWYxNjBNR0RnclY4QjZUdGd3MEowSHRDeGV1QmJsa0ROZ2NNdW4y?= =?utf-8?B?TlJYenRXZWpCTk1NZXEyaHhxS0g2N21obHBrZXdObGYxdXFpNmt4NTFoZWYw?= =?utf-8?B?UlVEU2FxYVgrTUZidWlabkhyRFFGYzlNQXlxN0ZCc2JycGVOOWx3SnJRU29y?= =?utf-8?B?eVVlcFRzWStGOVVVSGZncXNkRVQrcS8wQWtiNEx2SFdjV0xuOVRFbC8wR1NU?= =?utf-8?B?QVhtNFN4U004U1hsci94TFhyeDJTWUxZbGJpQjRGa0gwd1dyWGorN05FNkhG?= =?utf-8?B?NUFtbVQwNG04dHloQUlzbkxsK21MbERBd2xRWm1wU2h2Zk8wYWVudTIyemlD?= =?utf-8?B?c3M2N0V1ZmMyWlRCNGhEL3JSMlRPcEwySUxkSHgyUXpPdXl6dEhNNUdKaTZi?= =?utf-8?B?bGZjYnlESlpEWC9LYzlnTlJoV1hyRjBnZjkyR0VmQngwajFUQ2o3V1BxZVBn?= =?utf-8?B?eGh5cjI2YVowN09xdmQ0UjEySEhLdHhuOFQrUGFCQ1NzREJBY0hLcFFmQVhp?= =?utf-8?B?MHlVbEdWUURJWS85cDAwYmNqVU1NK2dQYmsySUdlYUpLV1RMZERWUDZzazJi?= =?utf-8?B?RGpCN0JXT3lXQkNReGJySkxCL0Z1K2tvT1E2VjRxY2NzWjJPakRPaWx0dkVH?= =?utf-8?B?RTBVODRVZTg1RXZmQzdwWm5tVmE0TnRJU1cyc0dWZmZzTWd5cDdwWFVYcGUv?= =?utf-8?B?cGEvZkdCV0ZFdVBNdUQzV3VGc3pIVmQvRXFENkRFd2xENmhZZGkyb1RFMGJJ?= =?utf-8?B?dm9TNzRpbmpybFlyUTZWZml5akFXOEpPL2ZvOW83dDM4aWNGR2RKR09TbUk1?= =?utf-8?Q?3nhbA33xKDM8CqWtMR3Adn1xK?= Content-Type: text/plain; charset="utf-8" Content-ID: <8E7E14A8E8882A46801842FEC339FBB9@namprd10.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 7zinblQf1SWuQUzoIy8g1bZvmcWI7h4XyMK4UCmeN3PKHPluykfBxrj7GljumMKX3GMjWxxdzxo0rRoeExUynpwM95Kj8xJlsZWrjLhF/zXX4ZY8ekgRpVZIQBlyP7j1YoRcStSVAW7nQD5q+3QJPz0Milyys6BfCBlBmDE2AeQVJFLxoYZkRGWdHyyjqYAObv7RCGupcc6orBij5MOfFxVm/TYomUXEXXupb2TIbev+lxgqIAsPFLJHO/94s5XB0wUnRcSSqOF+9iqf2BOfc5XkOAaeFXS8EiQAcawyJ3vr0TkDK6JzAqqA67uxhdoxdy/3XuYE9XjK8dxUSdgWKw0QW0w4F84imLuaMoHC+VQ2Prh0DiFtxzXpuRwIgXBy7iyKG6FeexcyA8nEJpIIzQfjKKktMxJ0ztJei6KG1y0Bz0kZJ+ENGywaao5/GUu+e41JeVTE7fLNHzV0tqNGKosltavRSS25yAyeNDngLNXQDGrkq0tmFtVYukrgXMjyEV0QG8pKXzWvVRsS9gXj4Hz64eqqOex8FMezGpshxkyGwrtJBDaFGC3db0f5iiJ1e4J+yF4W1KtNk4BIZns+6oCnk2aa+F8Hxi/P8eS7zt96viVgO9T7ezecpCDKebC7vUAeOyEc66jMkcaV6uAeRl6Bvkk5AJMURl95c6a6MhyICO+GUkY4TH0/9ITbwbj9FcLgKCgex1THuSakcOLVLgjN/cHxN11+pm6AR75v/+cJMVB0JdJDIwf68N68EgAKiAuXXsG8ugouUmciStOmGfW97TRALJRUInpPkFyA//6owYsV8xr58TFsAy8f4W/sf5ZW36VONUw7Gpf1zQ14mXgMN2RiBuT4ap8HBFijZ7IB6CFb2kVhMi3rFZp/0AtX X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB4349.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f056a96e-97cd-4781-a6fb-08db084fd69f X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Feb 2023 14:38:39.8658 (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: YcYjSLoLc0RshMdNb5Eil49K//HxEXZ5D4gNXVFHvklU2P2V5OYA7Jm4VZSzv5Qk1eolHFWgWR+mK5xppCn38A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6579 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-02-06_07,2023-02-06_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 phishscore=0 mlxscore=0 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2302060126 X-Proofpoint-ORIG-GUID: XuRtMV9aUBz9I55PiHyEgrrvn_2-wC8U X-Proofpoint-GUID: XuRtMV9aUBz9I55PiHyEgrrvn_2-wC8U X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: DQoNCj4gT24gRmViIDYsIDIwMjMsIGF0IDQ6MzEgQU0sIFJpY2hhcmQgQmllbmVyIDxyZ3VlbnRo ZXJAc3VzZS5kZT4gd3JvdGU6DQo+IA0KPiBPbiBGcmksIDMgRmViIDIwMjMsIFFpbmcgWmhhbyB3 cm90ZToNCj4gDQo+PiANCj4+IA0KPj4+IE9uIEZlYiAzLCAyMDIzLCBhdCAyOjQ5IEFNLCBSaWNo YXJkIEJpZW5lciA8cmd1ZW50aGVyQHN1c2UuZGU+IHdyb3RlOg0KPj4+IA0KPj4+IE9uIFRodSwg MiBGZWIgMjAyMywgUWluZyBaaGFvIHdyb3RlOg0KPj4+IA0KPj4+PiANCj4+Pj4gDQo+Pj4+PiBP biBGZWIgMiwgMjAyMywgYXQgODo1NCBBTSwgUmljaGFyZCBCaWVuZXIgPHJndWVudGhlckBzdXNl LmRlPiB3cm90ZToNCj4+Pj4+IA0KPj4+Pj4gT24gVGh1LCAyIEZlYiAyMDIzLCBRaW5nIFpoYW8g d3JvdGU6DQo+Pj4+PiANCj4+Pj4+PiANCj4+Pj4+PiANCj4+PiANCj4+PiBbLi4uXQ0KPj4+IA0K Pj4+Pj4+Pj4+PiArCXJldHVybiBmbGV4aWJsZV9zaXplX3R5cGVfcCAoVFJFRV9UWVBFIChsYXN0 KSk7DQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gRm9yIHR5cGVzIHdpdGggbWFueSBtZW1iZXJzIHRo aXMgY2FuIGJlY29tZSBxdWl0ZSBzbG93IChJSVJDIHdlIGhhZA0KPj4+Pj4+Pj4+IGJ1Z3MgYWJv dXQgc2ltaWxhciB3YWxrcyBvZiBhbGwgZmllbGRzIGluIHR5cGVzKSwgYW5kIHRoaXMgZnVuY3Rp b24NCj4+Pj4+Pj4+PiBsb29rcyBsaWtlIGl0J3MgaW52b2tlZCBtdWx0aXBsZSB0aW1lcyBvbiB0 aGUgc2FtZSB0eXBlIHBlciBUVS4NCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiBJbiBwcmluY2lwbGUg dGhlIHByb3BlcnR5IGlzIGZpeGVkIGF0IHRoZSB0aW1lIHdlIGxheSBvdXQgYSByZWNvcmQNCj4+ Pj4+Pj4+PiB0eXBlLCBzbyB3ZSBtaWdodCB3YW50IHRvIGNvbXB1dGUgaXQgYXQgdGhhdCB0aW1l IGFuZCByZWNvcmQgdGhlDQo+Pj4+Pj4+Pj4gcmVzdWx0Lg0KPj4+Pj4+Pj4gDQo+Pj4+Pj4+PiBZ b3UgbWVhbiBpbiBGRT8gDQo+Pj4+Pj4+IA0KPj4+Pj4+PiBZZXMsIGVpdGhlciBpbiB0aGUgZnJv bnRlbmQgb3IgaW4gdGhlIG1pZGRsZS1lbmRzIGxheW91dF90eXBlLg0KPj4+Pj4+PiANCj4+Pj4+ Pj4+IFllcywgdGhhdD9zIGJldHRlciBhbmQgY2xlYW5lci4NCj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4g SSB3aWxsIGFkZCBvbmUgbW9yZSBmaWVsZCBpbiB0aGUgVFlQRSBzdHJ1Y3R1cmUgdG8gcmVjb3Jk IHRoaXMgaW5mb3JtYXRpb24gYW5kIGNoZWNrIHRoaXMgZmllbGQgZHVyaW5nIG1pZGRsZSBlbmQu DQo+Pj4+Pj4+PiANCj4+Pj4+Pj4+IEkgaGFkIHRoZSBzYW1lIHRob3VnaHQgaW4gdGhlIGJlZ2lu bmluZywgYnV0IG5vdCBzdXJlIHdoZXRoZXIgYWRkaW5nIGEgDQo+Pj4+Pj4+PiBuZXcgZmllbGQg aW4gSVIgaXMgbmVjZXNzYXJ5IG9yIG5vdCwgb3RoZXIgcGxhY2VzIGluIG1pZGRsZSBlbmQgbWln aHQgDQo+Pj4+Pj4+PiBub3QgdXNlIHRoaXMgbmV3IGZpZWxkLg0KPj4+Pj4+PiANCj4+Pj4+Pj4g SXQgbWlnaHQgYmUgaW50ZXJlc3RpbmcgdG8gc2VhcmNoIGZvciBvdGhlciBjb2RlIHdhbGtpbmcg YWxsIGZpZWxkcyBvZg0KPj4+Pj4+PiBhIHR5cGUgdG8gZGV0ZXJtaW5lIHRoaXMgb3Igc2ltaWxh ciBpbmZvLg0KPj4+Pj4+IA0KPj4+Pj4+IFRoZXJlIGlzIG9uZSB3aGljaCBpcyBkZWZpbmVkIGlu IHRyZWUuY2MgYnV0IG9ubHkgaXMgcmVmZXJlbmNlZCBpbiBjL2MtZGVjbC5jYzoNCj4+Pj4+PiAN Cj4+Pj4+PiAvKiBEZXRlcm1pbmUgd2hldGhlciBUWVBFIGlzIGEgc3RydWN0dXJlIHdpdGggYSBm bGV4aWJsZSBhcnJheSBtZW1iZXIsDQo+Pj4+Pj4gb3IgYSB1bmlvbiBjb250YWluaW5nIHN1Y2gg YSBzdHJ1Y3R1cmUgKHBvc3NpYmx5IHJlY3Vyc2l2ZWx5KS4gICovDQo+Pj4+Pj4gZmxleGlibGVf YXJyYXlfdHlwZV9wDQo+Pj4+Pj4gDQo+Pj4+Pj4gSG93ZXZlciwgdGhpcyByb3V0aW5lIGlzIGEg bGl0dGxlIGRpZmZlcmVudCB0aGFuIHRoZSBvbmUgSSB0cmllZCB0byBhZGQ6DQo+Pj4+Pj4gDQo+ Pj4+Pj4gSW4gdGhlIGN1cnJlbnQgcm91dGluZSA/ZmxleGlibGVfYXJyYXlfdHlwZV9wPywgIG9u bHkgb25lIGxldmVsIG5lc3RpbmcgaW4gdGhlIHN0cnVjdHVyZSBpcyBhY2NlcHRlZCwgbXVsdGlw bGUgbmVzdGluZyBpbiBzdHJ1Y3R1cmUgaXMgbm90IHBlcm1pdHRlZC4NCj4+Pj4+PiANCj4+Pj4+ PiBTbywgbXkgcXVlc3Rpb24gaXM6ICBzaGFsbCB3ZSBhY2NlcHQgbXVsdGlwbGUgbmVzdGluZyBp biBzdHJ1Y3R1cmU/IGkuZS4NCj4+Pj4+IA0KPj4+Pj4gSWYgd2UgZG9uJ3QgcmVqZWN0IHRoZSB0 ZXN0Y2FzZSB3aXRoIGFuIGVycm9yLCB0aGVuIHllcy4NCj4+Pj4gDQo+Pj4+IEdjYyBjdXJyZW50 bHkgYWNjZXB0cyB0aGUgbXVsdGlwbGUgbmVzdGluZyBpbiBzdHJ1Y3R1cmUgd2l0aG91dCBlcnJv ci4gIA0KPj4+PiBTbywgd2Ugd2lsbCBjb250aW51ZSB0byBhY2NlcHQgc3VjaCBleHRlbnNpb24g YXMgbG9uZyBhcyB0aGUgZmxleCBhcnJheSANCj4+Pj4gaXMgYXQgdGhlIGVuZCBvZiB0aGUgc3Ry dWN0dXJlLiBBdCB0aGUgc2FtZSB0aW1lLCBmb3IgdGhlIGNhc2UgdGhlIGZsZXggDQo+Pj4+IGFy cmF5IGlzIGluIHRoZSBtaWRkbGUgb2YgdGhlIHN0cnVjdHVyZSwgaXNzdWUgYWRkaXRpb25hbCB3 YXJuaW5ncyBub3cgDQo+Pj4+IHRvIGRpc2NvdXJhZ2Ugc3VjaCB1c2FnZSwgYW5kIGRlcHJlY2F0 ZSB0aGlzIGNhc2UgaW4gYSBmdXR1cmUgcmVsZWFzZS4NCj4+Pj4gDQo+Pj4+IERvZXMgdGhpcyBz b3VuZCByZWFzb25hYmxlPyANCj4+PiANCj4+PiBQbGVhc2UgZG9uJ3QgbWl4IHNldmVyYWwgaXNz dWVzIC0gSSB0aGluayB0aGUgZmxleCBhcnJheSBpbiB0aGUNCj4+PiBtaWRkbGUgb2YgYSBzdHJ1 Y3R1cmUgaXMgc2VwYXJhdGUgYW5kIHdlIHNob3VsZG4ndCByZXBvcnQgdGhhdA0KPj4+IGFzIGZs ZXhpYmxlX2FycmF5X3R5cGVfcCBvciBmbGV4aWJsZV9zaXplX3R5cGVfcCBzaW5jZSB0aGUgc2l6 ZQ0KPj4+IG9mIHRoZSBjb250YWluaW5nIHN0cnVjdHVyZSBpcyBub3QgdmFyaWFibGUuDQo+PiBB Z3JlZWQgb24gdGhpcy4NCj4+IA0KPj4gTXkgbWFqb3IgcXVlc3Rpb24gaGVyZSBpcyAoZm9yIGRv Y3VtZW50YXRpb24gY2hhbmdlLCBzb3JyeSBmb3IgbWl4aW5nIA0KPj4gdGhpcyB0aHJlYWQgd2l0 aCB0aGUgZG9jdW1lbnRhdGlvbiBjaGFuZ2UpOiBkbyB3ZSBuZWVkIHRvIGRvY3VtZW50IHRoaXMg DQo+PiBjYXNlIHRvZ2V0aGVyIHdpdGggdGhlIGNhc2UgaW4gd2hpY2ggc3RydWN0IHdpdGggZmxl eCBhcnJheSBpcyBlbWJlZGRlZCANCj4+IGludG8gYW5vdGhlciBzdHJ1Y3R1cmU/IChBcyBhIEdD QyBleHRlbnNpb24/KQ0KPiANCj4gSSB0aGluayB0aGlzIHNob3VsZCBiZSBKb3NlcGhzIGNhbGwg LSBkb2N1bWVudGluZyB0aGlzIG1pZ2h0DQo+IGVuY291cmFnZSBwZW9wbGUgdG8gdXNlIHN1Y2gg YW4gZXh0ZW5zaW9uLCBldmVuIGlmIGl0J3MgYSBiYWQNCj4gb25lIHdlIHdhbnQgdG8gZ2V0IHJp ZCBvZi4NClRoYXTigJlzIHRydWUuLi4NCj4gDQo+IE1heWJlIHRoZSBlYXNpZXN0IHRoaW5nIGlz IHRvIGNvbWUgdXAgd2l0aCBhIHBhdGNoIGRvY3VtZW50aW5nIGl0DQo+IHdoaWNoIHdlIGNhbiB0 aGVuIHR1cm4gaW50byBhIGRlcHJlY2F0aW9uIG5vdGUgZGVwZW5kaW5nIG9uIHRoaXMNCj4gb3V0 Y29tZS4NCg0KSW4gdGhlIG90aGVyIHRocmVhZCBmb3IgdGhlIGRvY3VtZW50YXRpb24gY2hhbmdl LCBJIGhhdmUgbGlzdGVkIGEgcGxhbiBiYXNlZCBvbiB0aGUgZGlzY3Vzc2lvbi4NCiBDb3VsZCB5 b3UgcGxlYXNlIHRha2UgYSBsb29rIGF0IGl0IGFuZCBwcm92aWRlIG1lIHNvbWUgY29tbWVudHMg aW4gdGhhdCB0aHJlYWQ/IChJIGp1c3QgY29waWVkIG15IA0KcGxhbiBiZWxvdyBmb3IgeW91ciBj b252ZW5pZW5jZSkNCg0KVGhhbmtzLg0KDQpRaW5nDQoNCj09PT09PT09PT09PT09PT09PQ0KDQpJ biBHQ0MxMzoNCg0KMS4gQWRkIGRvY3VtZW50YXRpb24gaW4gZXh0ZW5kLnRleGkgdG8gaW5jbHVk ZSBhbGwgdGhlIGZvbGxvd2luZyAzIGNhc2VzIGFzIEdDQyBleHRlbnNpb246DQoNCkNhc2UgMTog VGhlIHN0cnVjdHVyZSB3aXRoIGEgZmxleGlibGUgYXJyYXkgbWVtYmVyIGlzIHRoZSBsYXN0IGZp ZWxkIG9mIGFub3RoZXINCnN0cnVjdHVyZSwgZm9yIGV4YW1wbGU6DQoNCnN0cnVjdCBmbGV4ICB7 IGludCBsZW5ndGg7IGNoYXIgZGF0YVtdOyB9DQpzdHJ1Y3Qgb3V0X2ZsZXggeyBpbnQgbTsgc3Ry dWN0IGZsZXggZmxleF9kYXRhOyB9DQoNCkluIHRoZSBhYm92ZSwgZmxleF9kYXRhLmRhdGFbXSBp cyBjb25zaWRlcmVkIGFzIGEgZmxleGlibGUgYXJyYXkgdG9vLg0KDQpDYXNlIDI6IFRoZSBzdHJ1 Y3R1cmUgd2l0aCBhIGZsZXhpYmxlIGFycmF5IG1lbWJlciBpcyB0aGUgZmllbGQgb2YgYW5vdGhl ciB1bmlvbiwgZm9yIGV4YW1wbGU6DQoNCnN0cnVjdCBmbGV4MSAgeyBpbnQgbGVuZ3RoMTsgY2hh ciBkYXRhMVtdOyB9DQpzdHJ1Y3QgZmxleDIgIHsgaW50IGxlbmd0aDI7IGNoYXIgZGF0YTJbXTsg fQ0KdW5pb24gb3V0X2ZsZXggeyBzdHJ1Y3QgZmxleDEgZmxleF9kYXRhMTsgc3RydWN0IGZsZXgy IGZsZXhfZGF0YTI7IH0NCg0KSW4gdGhlIGFib3ZlLCBmbGV4X2RhdGExLmRhdGExW10gb3IgZmxl eF9kYXRhMi5kYXRhMltdIGlzIGNvbnNpZGVyZWQgYXMgZmxleGlibGUgYXJyYXlzIHRvby4NCg0K Q2FzZSAzOiBUaGUgc3RydWN0dXJlIHdpdGggYSBmbGV4aWJsZSBhcnJheSBtZW1iZXIgaXMgdGhl IG1pZGRsZSBmaWVsZCBvZiBhbm90aGVyDQpzdHJ1Y3R1cmUsIGZvciBleGFtcGxlOg0KDQpzdHJ1 Y3QgZmxleCAgeyBpbnQgbGVuZ3RoOyBjaGFyIGRhdGFbXTsgfQ0Kc3RydWN0IG91dF9mbGV4IHsg aW50IG07IHN0cnVjdCBmbGV4IGZsZXhfZGF0YTsgaW50IG47IH0NCg0KSW4gdGhlIGFib3ZlLCBm bGV4X2RhdGEuZGF0YVtdIGlzIGFsbG93ZWQgdG8gYmUgZXh0ZW5kZWQgZmxleGlibHkgdG8NCnRo ZSBwYWRkaW5nLiBFLmcsIHVwIHRvIDQgZWxlbWVudHMuDQoNCkhvd2V2ZXIsIHJlbHlpbmcgb24g c3BhY2UgaW4gc3RydWN0IHBhZGRpbmcgaXMgYSBiYWQgcHJvZ3JhbW1pbmcgcHJhY3RpY2UsICBj b21waWxlcnMgZG8gbm90IA0KaGFuZGxlIHN1Y2ggZXh0ZW5zaW9uIGNvbnNpc3RlbnRseSwgYW5k IGFueSBjb2RlIHJlbHlpbmcgb24gdGhpcyBiZWhhdmlvciBzaG91bGQgYmUgbW9kaWZpZWQNCnRv IGVuc3VyZSB0aGF0IGZsZXhpYmxlIGFycmF5IG1lbWJlcnMgb25seSBlbmQgdXAgYXQgdGhlIGVu ZHMgb2Ygc3RydWN0dXJlcy4NCg0KUGxlYXNlIHVzZSB3YXJuaW5nIG9wdGlvbiAtV2dudS12YXJp YWJsZS1zaXplZC10eXBlLW5vdC1hdC1lbmQgKHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBDTEFORykg DQp0byBpZGVudGlmeSBhbGwgc3VjaCBjYXNlcyBpbiB0aGUgc291cmNlIGNvZGUgYW5kIG1vZGlm eSB0aGVtLiBUaGlzIGV4dGVuc2lvbiB3aWxsIGJlIGRlcHJlY2F0ZWQNCmZyb20gZ2NjIGluIHRo ZSBuZXh0IHJlbGVhc2UuDQoNCjIuIEFkZCBhIG5ldyB3YXJuaW5nIG9wdGlvbiAtV2dudS12YXJh aWJsZS1zaXplZC10eXBlLW5vdC1hdC1lbmQgdG8gd2FybiBzdWNoIHVzYWdlLg0KDQpJbiBHQ0Mx NDoNCg0KMS4gSW5jbHVkZSB0aGlzIG5ldyB3YXJuaW5nIC1XZ251LXZhcmFpYmxlLXNpemVkLXR5 cGUtbm90LWF0LWVuZCB0byAtV2FsbA0KMi4gRGVwcmVjYXRlIHRoaXMgZXh0ZW5zaW9uIGZyb20g R0NDLiAoT3IgZGVsYXkgdGhpcyB0byBuZXh0IHJlbGVhc2U/KS4NCg0KDQo+IA0KPiBSaWNoYXJk Lg0KDQo=