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 F27BF3858D38 for ; Thu, 18 Jan 2024 14:45:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F27BF3858D38 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org F27BF3858D38 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1705589163; cv=pass; b=dZxSw63uY629sHPuil0diIIVu4SLdpq9ILRDL0iE+iDaob6gMT3LgafAC58w7fzn3HiC8pIm6qD29LMze6D6w+xCNjN2MJuhJzB2eHAAaQ/rPmT5qml7Nia62Sxxmj9sUWO3ktIhgk0oMC4dNV9e5iYo4GQU+mTJgE1WzJADUrs= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1705589163; c=relaxed/simple; bh=ikqFE6KOQSyejBnOQsaFtW/2Lz+Gm3VFNUX3HjYy8qY=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=Wz7dhjgkHrm+aGgwWw/RpXFABf+86dTfMN3UUFpo3OZ6BzsMRLobRQ7UFQ3GKY+dipxZCDWRX/kWjtW9iEPPt2tYPdy/zHnRdkzm8fM3jEN3H5feAC41VVlDdcWYwWAnWuGYdHl8pDsP2nhNGNYOi3JmHhveVLW54QoZJD+ug0k= ARC-Authentication-Results: i=2; server2.sourceware.org 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 40IEijuZ013056; Thu, 18 Jan 2024 14:45:50 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-2023-11-20; bh=ikqFE6KOQSyejBnOQsaFtW/2Lz+Gm3VFNUX3HjYy8qY=; b=BgiVMvZmxtN4Pm3QdSaBRCaj2dKHsFvk4VFBaLdASAw2AdJ3zlWWYVL1oONwcAGllEyL tVVIDjevrX//fqYm/ocktrS0dj4ctIIqJoPIvTatgPMkRMA291Nv8CJONBSC+mRDC5Oh 9fP2luK5D2u7GnWXT+7jOun5FLuxwOqoiIkhNjL0+oXl9IsLWXJgy5/pqQt3QQ5oAzg1 U9B8F2YtRKogSbaaFsiYkOs+pKkOoPkD0RFecbS0KEfMenThHid7Dw+KVMRYWEiAD4Nj B87auDXt0Crsrlvbq1fusZUKZbsD9yE+ENmBv79PdNSZz3Z8xKRQyF9zBM1Pc9/Pc/nB gw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vkq3h2rgw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 Jan 2024 14:45:50 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40IDSCMQ009528; Thu, 18 Jan 2024 14:45:49 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2168.outbound.protection.outlook.com [104.47.58.168]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vkgyctbjm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 Jan 2024 14:45:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EYXAqaXKpYMRHp93v7dJCllYZeaCVwr1waUuwbh/6KkhSexWKuPYLbOdzoCUHxXXH93I8AiewtD2WOr00h/17xko0zhd7lkCFF0NQdYyBxJI9Jh22IBELka91PEbDkte71N5ty+HhNSej/Lexv9ph8BFPB9tWDjHXcScQlpjarqHUEotth433MY1/HbxgA4gaJuBsrpYbKMRI6a6tM2wZeCO27hIaqQxb8hgRNiCSl8XB4rKFQd62YX9piaE+c+L/T+tQxcBH5xISkvYkkspMb8G0SvZOD66uPNmox2TcflaG5eJWSVLoe4/4dWm85tRzFiPEmKE4VU4Uu+3AR1mcQ== 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=ikqFE6KOQSyejBnOQsaFtW/2Lz+Gm3VFNUX3HjYy8qY=; b=P8mSdxYhz3i4T1FoyEkQ3334y5856Gz+V0ngO6QjmMnx3Vdh8Vz2nOHYVDCmMCr6UMHDjUmjdHNc1pEGv1KPCHGaOK81M18fgzaBnqbF7bY/3qnIVy9QmMyofBBR0PPIo0uy7QTxx8Pagg2Wp5vNBGRPGQz46wX5O7zUffmNpXsDUak7sBXI3v1Zt56hz6uHK8F/lWGu8mnL/HT/PlXf8rFLYoiYJQsJOygwqCzau0CpSlj1qW86TJcqaCSBV/We2j9AEQ+E+oj7jZA4ONearwtcbYvndWzXhC4698TNVQIN1LxvIJtjAh2ygLGX0zkQrKFWrz0zV5ySOXArROil2g== 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=ikqFE6KOQSyejBnOQsaFtW/2Lz+Gm3VFNUX3HjYy8qY=; b=iMfV0x96OzU/6EK6EXcGpzbgmOt6jU3nbaa0c2fJyRNktH+mbdnnilvPJY5Yq/tzOupXsd7siBoWc4IS9x4G39dMvlS56Uo8vbYMESE4SKhFQnKV+S36oJEcdtZZwXxMLPIzD1huHoCNLBGdepkw818yULetqZZxQMjjn1hdBLo= Received: from CH3PR10MB7957.namprd10.prod.outlook.com (2603:10b6:610:1bf::19) by PH0PR10MB5793.namprd10.prod.outlook.com (2603:10b6:510:fa::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.24; Thu, 18 Jan 2024 14:45:47 +0000 Received: from CH3PR10MB7957.namprd10.prod.outlook.com ([fe80::437b:d21c:4013:e014]) by CH3PR10MB7957.namprd10.prod.outlook.com ([fe80::437b:d21c:4013:e014%6]) with mapi id 15.20.7202.024; Thu, 18 Jan 2024 14:45:47 +0000 From: Qing Zhao To: Richard Biener CC: "jakub@redhat.com" , gcc Patches Subject: Re: HELP: Questions on unshare_expr Thread-Topic: HELP: Questions on unshare_expr Thread-Index: AQHaRW+uruqoybhuuUCPXa2beNzsb7DWXdUAgAARQACABDFGAIACSSOAgACsa4CAAAA8AIACGPkA Date: Thu, 18 Jan 2024 14:45:46 +0000 Message-ID: <63DEF4CB-18DA-48C5-842B-B743EF365B24@oracle.com> References: <50C8811D-9C2A-4FFB-9FC5-D24C5A76F868@oracle.com> <70C34042-B741-4697-9524-396CB9D40DF8@gmail.com> <4D91B027-0B34-4DB4-9338-1B9DE6E2EB00@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.3731.700.6) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR10MB7957:EE_|PH0PR10MB5793:EE_ x-ms-office365-filtering-correlation-id: 9b25bb0c-7816-4f1c-845a-08dc1834281a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uOrhlIjJ274uKiQQfKWNwYcZJNpK0IEysqK4eN2b2Md2qwhh6F3bLCQ37O2qJ/IWOV5DgVv4pFEh3uWe2j8OjYwH47kP4dLQl7AZ1DNvNBxBCbwBgNoNIdj+lXj3/a3oa5UO3mkut7MoFRpNwsxkEI3t/+h86cVOoNGKLVZbuVY+2Z0j07i79g/ObWIlfVgrolaerDE1jEHLQOUU/5Kcre4BikP9/FHlWpuGrgRQzDy0014YDe4qLjDY9b6CpnKK7xB4TH9RrThlera9cLZ70oxP+VPeurDz76xkdMF/nUVmgdErO8RgHGEhkBH5yWaKwqE5B+rCCNQs38W4/6Yi/RB6kWb4aVkwMsMG+vTfM9pRe9tjgypO7OuUiz1p3SBEVXha4e1bOl8kBzy6xo+/8s6pDEvQGlDMYlqCXkJXWIBPsxWnEdjKt1etXKLHRY5bdxYT4+WhpGymL3ERmxiB5pzVKaivz/phfyqx0ED3vJLyCgvVhmxIFuDQSGIy0dHiVNtRF96w5am+5MoKjogfZTgn/Z0JZmKPgHOfiRTvlhLG0iEoHIuvbf9tiWV6Z3IL9Ae/ddbJq82nXw6JEw5+dslazkmnYEe+z9tzM/1JahkvPg+PRi7LQhOYRgRvhEPuIHcPDOhbk+g1IL9r+pMgaw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR10MB7957.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(376002)(366004)(136003)(396003)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(2616005)(26005)(38070700009)(38100700002)(41300700001)(44832011)(6506007)(6512007)(33656002)(71200400001)(86362001)(83380400001)(53546011)(478600001)(316002)(54906003)(66476007)(76116006)(66946007)(64756008)(66446008)(91956017)(66556008)(36756003)(6916009)(2906002)(5660300002)(8936002)(966005)(6486002)(122000001)(8676002)(4326008)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?T2JaSDN0OFlINGJUOThIOEU1WkFPQU9hdVU3dmduKzJDL1BSdEFleUd5d09X?= =?utf-8?B?ZjZVK0hFUW0rMnB4U2Y5bHRUU0g5NnYrTkV0S0hhNkJaVmlzdEVjZnk4TVlv?= =?utf-8?B?TnY0NnVlcCtOTmt0MTBWUXdNNHVQOVFHK2RyZ1R1a1JaRGFWYXRWQ0VKR3Bn?= =?utf-8?B?bkZHMnRnc3JjM0NtcndCV0U5RTMyS3NwL2NYWEVvK0pLQVBLOWEyTmNSb1lt?= =?utf-8?B?YW10NW9xU2F0QUtlVHlDR2xqTXQ5ZmxNbStMUzVpYVBJNUtVdDlGQXlMTS9E?= =?utf-8?B?c0tEME9RWkUzNldVeTRDSStJSThrZTZ6amYwZkNNTGh5M1RzTFF5ODJVTzZo?= =?utf-8?B?djBPc3MxdUtsbDZDL2NkcmUyTVNmN0ZYTzcySy8wbjYySHVLektITm9kdm11?= =?utf-8?B?aWYxS2NqYzdTZGJ0TUYzckl3MFVOeWRLSlRtdWQvd2lrRlhCYjY5U29XNmw1?= =?utf-8?B?Umw1cjQyWGhONTBMdVdDcEoxUklSYmdZcnB6UkZnMDNtUmVVSGF6c0JQMHk0?= =?utf-8?B?TnA4UTF4SE9hUDZUNFhMK3U4N05nalptTzVrWFNsZ2l4TWFmK1p3Vi9DdDBO?= =?utf-8?B?T0pUTThqZm43S1AvZzROcW9GQ282V2w4UHkraHQ1Yk1QaGlqbWFaMXZPb2NI?= =?utf-8?B?ejBSMnRnaUVkZ1dmdWx3Zlg2NTZrOGgzT2kwbUZoNFM1cjBBZk4zVnhoK1d4?= =?utf-8?B?bUNza00zbGovQmczOVNScUMvdU1GeVZTM3JKR0R1SG56dEJtTm9tak0rdjMy?= =?utf-8?B?a3JRVTlRdEU0QXN2amlCQ004T09kcWloLzQxRUg2VlFqWEM2dmVJaWMvS3ly?= =?utf-8?B?dFk2c0d2dFR6QWRxa3JDaUZGMW9DMi9lZkdRV08yTkdhUC9neFJYRDFXcldX?= =?utf-8?B?dEpDb1BwcGZyallScXRUZlVLRVg4aXFWT29XZXdGUTBxZjlaMDNZeHBjOExO?= =?utf-8?B?MFBrUnhJcnlEMmprQkZxQkhJRlMrUXdPODUrRFVHL29YTmNUOWFWdXR1amZ5?= =?utf-8?B?Ynd0Y0JmSUd4blZLejIveGRRMDltYkFyTm90RGdkMENVZ05ObTBJU2h6aUs1?= =?utf-8?B?T2NHMXZlVEJSZW5zdW9FZXo5TE1maklNTkFRdWwxUmZueDZFZ0hpNmVkUGJ0?= =?utf-8?B?Z01aTjR0SldaMUxkandPNWlQdGt0UmtkMENPM2doVE1SUzVuTDE4OXlZUkFN?= =?utf-8?B?SDZyR3Uwd0U5SkdUY1VpMDYwdkdpVy9Td3U5QnZGZThwb1ZYZ3JUTzBSaDFC?= =?utf-8?B?dUhWR2ZFNmdqY252bG9kSlVYbGNUTU01aUpBYVNYRSs3blpaTTNzMkU2SFU1?= =?utf-8?B?RDdOQ3l3eHlKUmtycWNWMUpFNmRUOWxHQXBpcm5rMUdGdllPb01KRzdIY1cx?= =?utf-8?B?QVhCa1hpcU8rbEEwZTFOdlBEWlJlUWkrVU1lRXJGbXR2Wk9hWjVqMFcyMUZt?= =?utf-8?B?Mk1SeUdBVTdZdVpiVHd2SjFiR3VUMEJ4KzVuakk2OWdSNlNwVlR0ZjJ4Q3pV?= =?utf-8?B?TjRUYmZUbUZMdTMvYzIwZUR3ZGpmWTJDWm9NaFRjNXVKQWl5V25VS2VjZkxM?= =?utf-8?B?Wk1hTDdkZkorVEp3aVFPUzRUQzMwOE5iQjl0dEtrSnVUUnhjMURZUGpRM2hh?= =?utf-8?B?b0dJSzgxM2lMUkNsWjVWTEV6T0diTlJFY3RDVE9rYVIrZWErZkpxZVhvZ0ZL?= =?utf-8?B?bzVseHRZcVJxQUc4bWxFejA1QXJmN2N3MUlKWW1rZjJiNHlVWkNPVmpORkVt?= =?utf-8?B?eXdOMnNoWUx3eldGcUlLSjBxVTFMQUZVVTc4allNRmpETUxJNmJnbGxtOVFP?= =?utf-8?B?cGM0Wm9COTJNaUNnb2pIOUwyUGhKK2VibEd2U0lGZE1KUU1OZ2pQT1plODg1?= =?utf-8?B?dVdFWHRUdFByWlNaSWJMSHd6d0FVNVREN2Z6K2VNOXVXeU15Y3dneVdzbEJY?= =?utf-8?B?ZXl2NFF5MWkrMm5qVkVEZGNUeWJrN0dMWHVPWGJ0MHN3QnZvQ2NqYXNQV2hU?= =?utf-8?B?YTRDbm9HUFBCeFNJSHVFVlZEK2JJMU5UMFFGWXd0alhGQnhET3VlRnh6czRy?= =?utf-8?B?ZDg0R0kvdW44ZnpVZGVMR0xqbDlsNzRES2wwZmYvZTlNK0p6NDlKamNvZ21w?= =?utf-8?Q?Wu4E2v7Ix2SXJWU3wpeFvYOGr?= Content-Type: text/plain; charset="utf-8" Content-ID: <33F7D5BB98061648B545928631401047@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: aGyZJfloCNZ9z/BW83zCSMWUJ9mrEx41lGxTBo5ecAEVhMD7YlSfsMf8+JOx/KYMCjUKAsUAPCBDrqsN9hrcJhOL8Cdq4DT015O+nRIAgEWM/7GKGQAEAyDMNdDbGwCGD/jQo88TYILVm+hyRFZn0q2Ly7mRZ5yJSSVKFKfG5nv3Gh6fvJIxuUmR+WrCOuGvCGH9Nzz4oXxV5OApYeuqqN9IltzLT1DgLPM/ISUYBF6W+prUqLLdMqj00MIvGeAj3PQPkjlDm0v4AdvX1Xw+rUP5J4CGIaJwKixTyw6wonu3/Et57We6R94jPdqc/DK7zjkotnwBThdHQwRUI3ZgNR3HG/aPS7m6d1dB18A0l8yAvKzSxAkTucvsjeoOx4pmrMsadn76e3k1iQuZ5jSPNyZOj16fMM0+PxSZr0c4sb053kL79vtps0yH80xm4VqORk/wQsnr+uNShDtKHoIywtqzvPh5ViRheYviC5TX2vigtBBY+5dKQqAwbQUeY8NSbkzoQaeVI0pxJlV0asgTHqxT8Ty8AD38o2pnXElgRd5H+dkKb6yLt5oE7CDjS2FfugQJ6VHKK5FrvNVErQhSYvsC9ol4D7meHkCUW6UtSiM= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR10MB7957.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b25bb0c-7816-4f1c-845a-08dc1834281a X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jan 2024 14:45:46.9792 (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: h7XYtUmCJJoUiGetk9nuBikPVcHn4akD5IvimfrGi+sq5H/lLrhz9hil/peo8ybsgUaISAyggQLIojizsXrR6g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB5793 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-18_08,2024-01-17_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 malwarescore=0 adultscore=0 mlxscore=0 bulkscore=0 mlxlogscore=999 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401180107 X-Proofpoint-GUID: BRDiV_nfApIq6bP_9iRJW6xo4hEWQxnz X-Proofpoint-ORIG-GUID: BRDiV_nfApIq6bP_9iRJW6xo4hEWQxnz X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,TXREP,T_SCC_BODY_TEXT_LINE,T_SPF_TEMPERROR,WEIRD_PORT 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: DQoNCj4gT24gSmFuIDE3LCAyMDI0LCBhdCAxOjQzIEFNLCBSaWNoYXJkIEJpZW5lciA8cmljaGFy ZC5ndWVudGhlckBnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4gT24gV2VkLCBKYW4gMTcsIDIwMjQg YXQgNzo0MuKAr0FNIFJpY2hhcmQgQmllbmVyDQo+IDxyaWNoYXJkLmd1ZW50aGVyQGdtYWlsLmNv bT4gd3JvdGU6DQo+PiANCj4+IE9uIFR1ZSwgSmFuIDE2LCAyMDI0IGF0IDk6MjbigK9QTSBRaW5n IFpoYW8gPHFpbmcuemhhb0BvcmFjbGUuY29tPiB3cm90ZToNCj4+PiANCj4+PiANCj4+PiANCj4+ Pj4gT24gSmFuIDE1LCAyMDI0LCBhdCA0OjMxIEFNLCBSaWNoYXJkIEJpZW5lciA8cmljaGFyZC5n dWVudGhlckBnbWFpbC5jb20+IHdyb3RlOg0KPj4+PiANCj4+Pj4+IEFsbCBteSBxdWVzdGlvbnMg Zm9yIHVuc2hhcmVfZXhwciByZWxhdGUgdG8gYSAgTFRPIGJ1ZyB0aGF0IEkgY3VycmVudGx5IHN0 dWNrIHdpdGgNCj4+Pj4+IHdoZW4gdXNpbmcgLkFDQ0VTU19XSVRIX1NJWkUgaW4gYm91bmQgc2Fu aXRpemVyIChvbmx5IHdpdGggLWZsdG8sIHdpdGhvdXQgLWZsdG8sIG5vIGlzc3VlKToNCj4+Pj4+ IA0KPj4+Pj4gW29wY0BxaW56aGFvLWFhcmNoNjQtb2w4IGdjY10kIHNoIHQNCj4+Pj4+IGR1cmlu ZyBJUEEgcGFzczogbW9kcmVmDQo+Pj4+PiB0LmM6MjA6MTogaW50ZXJuYWwgY29tcGlsZXIgZXJy b3I6IHRyZWUgY29kZSDigJhzc2FfbmFtZeKAmSBpcyBub3Qgc3VwcG9ydGVkIGluIExUTyBzdHJl YW1zDQo+Pj4+PiAweDE0YzM5OTMgbHRvX3dyaXRlX3RyZWUNCj4+Pj4+ICAgICAgIC4uLy4uL2xh dGVzdC1nY2Mtd3JpdGUvZ2NjL2x0by1zdHJlYW1lci1vdXQuY2M6NTYxDQo+Pj4+PiAweDE0YzNh ZWIgbHRvX291dHB1dF90cmVlXzENCj4+Pj4+IA0KPj4+Pj4gQW5kIHRoZSB2YWx1ZSBvZiB0aGUg dHJlZSBub2RlIHRoYXQgdHJpZ2dlcmVkIHRoZSBJQ0UgaXM6DQo+Pj4+PiAoZ2RiKSBjYWxsIGRl YnVnX3RyZWUoZXhwcikNCj4+Pj4+IDxzc2FfbmFtZSAweGZmZmZmNTc2MWU2MCB0eXBlIDxlcnJv cl9tYXJrIDB4ZmZmZmY1NmMwZTU4Pg0KPj4+Pj4gICBub3Rocm93DQo+Pj4+PiAgIGRlZl9zdG10 DQo+Pj4+PiAgIHZlcnNpb246MTMgaW4tZnJlZS1saXN0Pg0KPj4+Pj4gDQo+Pj4+PiBJcyB0aGVy ZSBhbnkgZ29vZCB3YXkgdG8gZGVidWcgTFRPIGJ1Zz8NCj4+Pj4gDQo+Pj4+IFRoaXMgaGFwcGVu cyB1c3VhbGx5IHdoZW4geW91IGhhdmUgYSBWTEEgdHlwZSBhbmQgaXRzIHR5cGUgZmllbGRzIGFy ZSBub3QNCj4+Pj4gcHJvcGVybHkgZ2ltcGxpZmllZCB3aGljaCB1c3VhbGx5IGhhcHBlbnMgYmVj YXVzZSB0aGUgZnJvbnRlbmQgZmFpbHMgdG8NCj4+Pj4gaW5zZXJ0IGEgZ2ltcGxpZmljYXRpb24g cG9pbnQgZm9yIGl0IChhIERFQ0xfRVhQUikuDQo+Pj4gDQo+Pj4gSSBmb3VuZCBhbiBvbGQgZ2Nj IGJ1Zw0KPj4+IGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTk3 MTcyDQo+Pj4gSUNFOiB0cmVlIGNvZGUg4oCYc3NhX25hbWXigJkgaXMgbm90IHN1cHBvcnRlZCBp biBMVE8gc3RyZWFtcyBzaW5jZSByMTEtMzMwMy1nNjQ1MGYwNzM4OGY5ZmU1Nw0KPj4+IA0KPj4+ IFdoaWNoIGlzIHZlcnkgc2ltaWxhciB0byB0aGUgYnVnIEkgYW0gaGF2aW5nIHJpZ2h0IG5vdy4N Cj4+PiANCj4+PiBBZnRlciBmdXJ0aGVyIHN0dWR5LCBJIHN1c3BlY3QgdGhhdCB0aGUgaXNzdWUg SSBhbSBoYXZpbmcgcmlnaHQgbm93IHdpdGggdGhlIExUTyBzdHJlYW1pbmcgYWxzbw0KPj4+IHJl bGF0ZSB0byDigJx1bnNoYXJlX2V4cHLigJ0sIOKAnHNhdmVfZXhwcuKAnSwgYW5kIHRoZSBjb21i aW5hdGlvbiBvZiB0aGVzZSB0d28sIEkgc3VzcGVjdCB0aGF0DQo+Pj4gdGhlIGN1cnJlbnQgZ2Nj IGNhbm5vdCBoYW5kbGUgdGhlIGNvbWJpbmF0aW9uIG9mIHRoZXNlIHR3byBjb3JyZWN0bHkgZm9y IG15IGNhc2UuDQo+Pj4gDQo+Pj4gTXkgdGVzdGluZyBjYXNlIGlzOg0KPj4+IA0KPj4+ICNpbmNs dWRlIDxzdGRsaWIuaD4NCj4+PiB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9pbmxpbmVfXykpIHNl dHVwX2FuZF90ZXN0X3ZsYSAoaW50IG4xLCBpbnQgbjIsIGludCBtKQ0KPj4+IHsNCj4+PiAgIHN0 cnVjdCBmb28gew0KPj4+ICAgICAgIGludCBuOw0KPj4+ICAgICAgIGludCBwW11bbjJdW24xXSBf X2F0dHJpYnV0ZV9fKChjb3VudGVkX2J5KG4pKSk7DQo+Pj4gICB9ICpmOw0KPj4+IA0KPj4+ICAg ZiA9IChzdHJ1Y3QgZm9vICopIG1hbGxvYyAoc2l6ZW9mKHN0cnVjdCBmb28pICsgbSpzaXplb2Yo aW50W24yXVtuMV0pKTsNCj4+PiAgIGYtPm4gPSBtOw0KPj4+ICAgZi0+cFttXVtuMl1bbjFdPTE7 DQo+Pj4gICByZXR1cm47DQo+Pj4gfQ0KPj4+IA0KPj4+IGludCBtYWluKGludCBhcmdjLCBjaGFy ICphcmd2W10pDQo+Pj4gew0KPj4+ICBzZXR1cF9hbmRfdGVzdF92bGEgKDEwLCAxMSwgMjApOw0K Pj4+ICByZXR1cm4gMDsNCj4+PiB9DQo+Pj4gDQo+Pj4gRmFpbGVkIHdpdGgNCj4+PiBteV9nY2Mg LU9zIC1mc2FuaXRpemU9Ym91bmRzIC1mbHRvDQo+Pj4gDQo+Pj4gSWYgY2hhbmdpbmcgZWl0aGVy IG4xIG9yIG4yIHRvIGEgY29uc3RhbnQsIHRoZSB0ZXN0aW5nIHBhc3NlZC4NCj4+PiBJZiBkZWxl dGluZyAtZmx0bywgdGhlIHRlc3RpbmcgcGFzc2VkIHRvby4NCj4+PiANCj4+PiBJIGRvdWJsZSBj aGVja2VkIG15IGNvZGUgcGVyIHRoZSBzdWdnZXN0aW9ucyBwcm92aWRlZCBieSB5b3UgYW5kIEph a3ViIGluIHRoaXMNCj4+PiBlbWFpbCB0aHJlYWQsIGFuZCBJIHRoaW5rIHRoZSBjb2RlIHNob3Vs ZCBiZSBmaW5lLg0KPj4+IA0KPj4+IFRoZSBjb2RlIGlzIGZvbGxvd2luZzoNCj4+PiANCj4+PiA9 PT09PQ0KPj4+IDUwNCAvKiBJbnN0cnVtZW50IGFycmF5IGJvdW5kcyBmb3IgSU5ESVJFQ1RfUkVG cyB3aG9zZSBwb2ludGVycyBhcmUNCj4+PiA1MDUgICAgUE9JTlRFUl9QTFVTX0VYUFJzIG9mIGNh bGxzIHRvIC5BQ0NFU1NfV0lUSF9TSVpFLiBXZSBjcmVhdGUgc3BlY2lhbA0KPj4+IDUwNiAgICBi dWlsdGlucyB0aGF0IGdldHMgZXhwYW5kZWQgaW4gdGhlIHNhbm9wdCBwYXNzLCBhbmQgbWFrZSBh biBhcnJheQ0KPj4+IDUwNyAgICBkaW1lbnNpb24gb2YgaXQuICBBUlJBWSBpcyB0aGUgcG9pbnRl ciB0byB0aGUgYmFzZSBvZiB0aGUgYXJyYXksDQo+Pj4gNTA4ICAgIHdoaWNoIGlzIGEgY2FsbCB0 byAuQUNDRVNTX1dJVEhfU0laRSwgKk9GRlNFVCBpcyB0aGUgb2Zmc2V0IHRvIHRoZQ0KPj4+IDUw OSAgICBiZWdpbm5pbmcgb2YgYXJyYXkuDQo+Pj4gNTEwICAgIFJldHVybiBOVUxMX1RSRUUgaWYg bm8gaW5zdHJ1bWVudGF0aW9uIGlzIGVtaXR0ZWQuICAqLw0KPj4+IDUxMQ0KPj4+IDUxMiB0cmVl DQo+Pj4gNTEzIHVic2FuX2luc3RydW1lbnRfYm91bmRzX2luZGlyZWN0X3JlZiAobG9jYXRpb25f dCBsb2MsIHRyZWUgYXJyYXksIHRyZWUgKm9mZnNldCkNCj4+PiA1MTQgew0KPj4+IDUxNSAgIGlm ICghaXNfYWNjZXNzX3dpdGhfc2l6ZV9wIChhcnJheSkpDQo+Pj4gNTE2ICAgICByZXR1cm4gTlVM TF9UUkVFOw0KPj4+IDUxNyAgIHRyZWUgYm91bmQgPSBnZXRfYm91bmRfZnJvbV9hY2Nlc3Nfd2l0 aF9zaXplIChhcnJheSk7DQo+Pj4gNTE4ICAgLyogVGhlIHR5cGUgb2YgdGhlIGNhbGwgdG8gLkFD Q0VTU19XSVRIX1NJWkUgaXMgYSBwb2ludGVyIHR5cGUgdG8NCj4+PiA1MTkgICAgICB0aGUgZWxl bWVudCBvZiB0aGUgYXJyYXkuICAqLw0KPj4+IDUyMCAgIHRyZWUgZWxlbWVudF9zaXplID0gVFlQ RV9TSVpFX1VOSVQgKFRSRUVfVFlQRSAoVFJFRV9UWVBFIChhcnJheSkpKTsNCj4+PiA1MjEgICBn Y2NfYXNzZXJ0IChib3VuZCk7DQo+Pj4gNTIyDQo+Pj4gNTIzICAgLyogR2l2ZW4gdGhlIG9mZnNl dCwgYW5kIHRoZSBzaXplIG9mIGVhY2ggZWxlbWVudCwgdGhlIGluZGV4IGNhbiBiZQ0KPj4+IDUy NCAgICAgIGNvbXB1dGVkIGFzOiBvZmZzZXQvZWxlbWVudF9zaXplLiAgKi8NCj4+PiA1MjUgICAq b2Zmc2V0ID0gc2F2ZV9leHByICgqb2Zmc2V0KTsNCj4+PiA1MjYgICB0cmVlIGluZGV4ID0gZm9s ZF9idWlsZDIgKEVYQUNUX0RJVl9FWFBSLA0KPj4+IDUyNyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzaXpldHlwZSwgKm9mZnNldCwNCj4+PiA1MjggICAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaGFyZV9leHByIChlbGVtZW50X3NpemUpKTsNCj4+PiA1MjkgICAvKiBDcmVhdGUgYSAi KFQgKikgMCIgdHJlZSBub2RlIHRvIGRlc2NyaWJlIHRoZSBvcmlnaW5hbCBhcnJheSB0eXBlLg0K Pj4+IDUzMCAgICAgIFdlIGdldCB0aGUgb3JpZ2luYWwgYXJyYXkgdHlwZSBmcm9tIHRoZSBmaXJz dCBhcmd1bWVudCBvZiB0aGUgY2FsbCB0bw0KPj4+IDUzMSAgICAgIC5BQ0NFU1NfV0lUSF9TSVpF IChSRUYsIENPVU5URURfQllfUkVGLCAxLCBudW1fYnl0ZXMsIC0xKS4NCj4+PiA1MzINCj4+PiA1 MzMgICAgICBPcmlnaW5hbGx5LCBSRUYgaXMgYSBDT01QT05FTlRfUkVGIHdpdGggdGhlIG9yaWdp bmFsIGFycmF5IHR5cGUsDQo+Pj4gNTM0ICAgICAgaXQgd2FzIGNvbnZlcnRlZCB0byBhIHBvaW50 ZXIgdG8gYW4gQUREUl9FWFBSLCBhbmQgdGhlIEFERFJfRVhQUidzDQo+Pj4gNTM1ICAgICAgZmly c3Qgb3BlcmFuZCBpcyB0aGUgb3JpZ2luYWwgQ09NUE9ORU5UX1JFRi4gICovDQo+Pj4gNTM2ICAg dHJlZSByZWYgPSBDQUxMX0VYUFJfQVJHIChhcnJheSwgMCk7DQo+Pj4gNTM3ICAgdHJlZSBhcnJh eV90eXBlDQo+Pj4gNTM4ICAgICA9IHVuc2hhcmVfZXhwciAoVFJFRV9UWVBFIChUUkVFX09QRVJB TkQgKFRSRUVfT1BFUkFORChyZWYsIDApLCAwKSkpOw0KPj4+IDUzOSAgIHRyZWUgemVyb193aXRo X3R5cGUgPSBidWlsZF9pbnRfY3N0IChidWlsZF9wb2ludGVyX3R5cGUgKGFycmF5X3R5cGUpLCAw KTsNCj4+PiA1NDAgICByZXR1cm4gYnVpbGRfY2FsbF9leHByX2ludGVybmFsX2xvYyAobG9jLCBJ Rk5fVUJTQU5fQk9VTkRTLA0KPj4+IDU0MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2b2lkX3R5cGVfbm9kZSwgMywgemVyb193aXRoX3R5cGUsDQo+Pj4gNTQyICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4LCBib3VuZCk7DQo+Pj4gNTQz IH0NCj4+PiANCj4+PiA9PT09PQ0KPj4+IA0KPj4+IEluc2lkZSBnZGIsIHRoZSBndWlsdHkgSVIg ZmFpbGVkIGluIExUTyBzdHJlYW1pbmcgaXMgZnJvbSB0aGUgYWJvdmUgbGluZSA1MjA6DQo+Pj4g VFlQRV9TSVpFX1VOSVQgKFRSRUVfVFlQRSAoVFJFRV9UWVBFIChhcnJheSkpKSwNCj4+PiANCj4+ PiBXaGVuIEkgdXNlIHRoaXMgdHJlZSBub2RlIGFzIGFuIG9wZXJhbmQgb2YgdGhlIGV4cHJlc3Np b24gYXQgbGluZSA1MjYsIEkgYWRkZWQNCj4+PiB1bnNoYXJlX2V4cHIuDQo+Pj4gDQo+Pj4gSG93 ZXZlciwgSSBzdGlsbCBzZWUgdGhlIGd1aWx0eSBJUiBhcyBpbiBnZGI6DQo+Pj4gDQo+Pj4gICAg ICAgICAgICB1bml0LXNpemUgPG11bHRfZXhwciAweGZmZmZmNWFhYmY5MCB0eXBlIDxpbnRlZ2Vy X3R5cGUgMHhmZmZmZjU3YzAwMDAgc2l6ZXR5cGU+DQo+Pj4gICAgICAgICAgICAgICAgc2lkZS1l ZmZlY3RzDQo+Pj4gICAgICAgICAgICAgICAgYXJnOjAgPG11bHRfZXhwciAweGZmZmZmNWFhYmY2 OCB0eXBlIDxpbnRlZ2VyX3R5cGUgMHhmZmZmZjU3YzAwMDAgc2l6ZXR5cGU+DQo+Pj4gDQo+Pj4g ICAgICAgICAgICAgICAgICAgIGFyZzowIDxzc2FfbmFtZSAweGZmZmZmNTc2MWUxOCB0eXBlIDxl cnJvcl9tYXJrIDB4ZmZmZmY1NmMwZTU4Pg0KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgbm90 aHJvdw0KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgZGVmX3N0bXQNCj4+PiAgICAgICAgICAg ICAgICAgICAgICAgIHZlcnNpb246MTIgaW4tZnJlZS1saXN0Pg0KPj4+ICAgICAgICAgICAgICAg ICAgICBhcmc6MSA8c3NhX25hbWUgMHhmZmZmZjU3NjFlNjAgdHlwZSA8ZXJyb3JfbWFyayAweGZm ZmZmNTZjMGU1OD4NCj4+PiAgICAgICAgICAgICAgICAgICAgICAgIG5vdGhyb3cNCj4+PiAgICAg ICAgICAgICAgICAgICAgICAgIGRlZl9zdG10DQo+Pj4gICAgICAgICAgICAgICAgICAgICAgICB2 ZXJzaW9uOjEzIGluLWZyZWUtbGlzdD4+DQo+Pj4gICAgICAgICAgICAgICAgYXJnOjEgPGludGVn ZXJfY3N0IDB4ZmZmZmY1NmMxMGM4IGNvbnN0YW50IDQ+Pg0KPj4+IA0KPj4+IA0KPj4+IEkgaGF2 ZSBiZWVuIHN0dWNrIHdpdGggdGhpcyBidWcgZm9yIHF1aXRlIHNvbWUgdGltZS4NCj4+PiBBbnkg aGVscCBpcyBoZWxwZnVsLg0KPj4gDQo+PiBUaGUgYWJvdmUgaGFzbid0IGJlZW4gZ2ltcGxpZmll ZCBjb3JyZWN0bHksIHlvdSdkIGluc3RlYWQgc2VlDQo+PiBhIEQuMTIzNCBpbiB0aGVyZSwgbm90 IGFuIGV4cHJlc3Npb24gd2l0aCBTU0EgbmFtZXMuICBUaGF0IGhhcHBlbnMNCj4+IHdoZW4gdGhl IGZyb250ZW5kIGZhaWxzIHRvIGVtaXQgYSBERUNMX0VYUFIgZm9yIGEgZGVjbCB3aXRoIHRoaXMN Cj4+IHR5cGUuDQo+IA0KPiAuLiB3aGljaCB0aGVuIGFsc28gcmVzdWx0cyBpbiBtaXNzaW5nIHVu c2hhcmluZyBvZiB0aGlzIGV4cHJlc3Npb24NCj4gKHNvIHRoZSBTU0EgbmFtZXMgbGVhayBpbikN Cg0KVGhhbmtzIGEgbG90IGZvciB0aGUgaGludHMuDQoNCk9uZSBjb3JyZWN0aW9uIGZpcnN0LCB0 aGUgTFRPIGJ1ZyBpcyBub3QgcmVsYXRlZCB0byAtZnNhbml0aXplPWJvdW5kcy4gIERlbGV0aW5n IC1mc2FuaXRpemU9Ym91bmRzIHN0aWxsIGNhbg0KcmVwZWF0IHRoZSBmYWlsdXJlLg0KDQpBZnRl ciBmdXJ0aGVyIGRlYnVnZ2luZyBpbnRvIHRoZSBnaW1wbGlmaWNhdGlvbiBwaGFzZSByZWxhdGVk IHdpdGggdGhlIFNBVkVfRVhQUiwgSSBmaW5hbGx5IGxvY2F0ZSB0aGUgcGxhY2UgDQp3aGVyZSB0 aGUgdW5zaGFyZWluZyBvZiB0aGUgZXhwcmVzc2lvbiBpcyBtaXNzaW5nLiAgIFRoaXMgaXMgaW4g dGhlIHJvdXRpbmUg4oCccG9pbnRlcl9pbnRfc3Vt4oCdIG9mIGMtZmFtaWx5L2MtY29tbW9uLmNj Og0KDQozMzMwICAgICB7DQozMzMxICAgICAgIGlmICghY29tcGxhaW4gJiYgIUNPTVBMRVRFX1RZ UEVfUCAoVFJFRV9UWVBFIChyZXN1bHRfdHlwZSkpKQ0KMzMzMiAgICAgICAgIHJldHVybiBlcnJv cl9tYXJrX25vZGU7DQozMzMzICAgICAgIHNpemVfZXhwID0gc2l6ZV9pbl9ieXRlc19sb2MgKGxv YywgVFJFRV9UWVBFIChyZXN1bHRfdHlwZSkpOw0KMzMzNCAgICAgICAvKiBXcmFwIHRoZSBwb2lu dGVyIGV4cHJlc3Npb24gaW4gYSBTQVZFX0VYUFIgdG8gbWFrZSBzdXJlIGl0DQozMzM1ICAgICAg ICAgIGlzIGV2YWx1YXRlZCBmaXJzdCB3aGVuIHRoZSBzaXplIGV4cHJlc3Npb24gbWF5IGRlcGVu ZA0KMzMzNiAgICAgICAgICBvbiBpdCBmb3IgVk0gdHlwZXMuICAqLw0KMzMzNyAgICAgICBpZiAo VFJFRV9TSURFX0VGRkVDVFMgKHNpemVfZXhwKQ0KMzMzOCAgICAgICAgICAgJiYgVFJFRV9TSURF X0VGRkVDVFMgKHB0cm9wKQ0KMzMzOSAgICAgICAgICAgJiYgdmFyaWFibHlfbW9kaWZpZWRfdHlw ZV9wIChUUkVFX1RZUEUgKHB0cm9wKSwgTlVMTCkpDQozMzQwICAgICAgICAgew0KMzM0MSAgICAg ICAgICAgcHRyb3AgPSBzYXZlX2V4cHIgKHB0cm9wKTsNCjMzNDIgICAgICAgICAgIHNpemVfZXhw ID0gYnVpbGQyIChDT01QT1VORF9FWFBSLCBUUkVFX1RZUEUgKGludG9wKSwgcHRyb3AsIHNpemVf ZXhwKTsNCjMzNDMgICAgICAgICB9DQozMzQ0ICAgICB9DQoNCkluIHRoZSBhYm92ZSwgYXQgbGlu ZSAzMzMzLCB0aGUgdHJlZSBub2RlLCBUWVBFX1NJWkVfVU5JVCAoVFJFRV9UWVBFKHJlc3VsdF90 eXBlKSksIGlzIHJldHVybmVkIGRpcmVjdGx5IGFzDQp0aGUgc2l6ZV9leHAsIA0KDQogKGdkYikg Y2FsbCBkZWJ1Z190cmVlKHNpemVfZXhwKQ0KIDxtdWx0X2V4cHIgMHhmZmZmZjVhNmY5MTANCiAg ICB0eXBlIDxpbnRlZ2VyX3R5cGUgMHhmZmZmZjU3YzAwMDAgc2l6ZXR5cGUgcHVibGljIHVuc2ln bmVkIERJDQogICAgICAgIHNpemUgPGludGVnZXJfY3N0IDB4ZmZmZmY1NmMwZTcwIGNvbnN0YW50 IDY0Pg0KICAgICAgICB1bml0LXNpemUgPGludGVnZXJfY3N0IDB4ZmZmZmY1NmMwZTg4IGNvbnN0 YW50IDg+DQogICAgICAgIGFsaWduOjY0IHdhcm5faWZfbm90X2FsaWduOjAgc3ltdGFiOjAgYWxp YXMtc2V0IC0xIGNhbm9uaWNhbC10eXBlIDB4ZmZmZmY1N2MwMDAwIHByZWNpc2lvbjo2NCBtaW4g PGludGVnZXJfY3N0IDB4ZmZmZmY1NmMwZWEwIDA+IG1heCA8aW50ZWdlcl9jc3QgMHhmZmZmZjU2 ZDA1ZTAgMTg0NDY3NDQwNzM3MDk1NTE2MTU+Pg0KICAgIHNpZGUtZWZmZWN0cw0KICAgIGFyZzow IDxtdWx0X2V4cHIgMHhmZmZmZjVhNmY4ZTggdHlwZSA8aW50ZWdlcl90eXBlIDB4ZmZmZmY1N2Mw MDAwIHNpemV0eXBlPg0KICAgICAgICBzaWRlLWVmZmVjdHMNCiAgICAgICAgYXJnOjAgPG5vcF9l eHByIDB4ZmZmZmY1NmRjNTQwIHR5cGUgPGludGVnZXJfdHlwZSAweGZmZmZmNTdjMDAwMCBzaXpl dHlwZT4NCiAgICAgICAgICAgIHNpZGUtZWZmZWN0cw0KICAgICAgICAgICAgYXJnOjAgPHNhdmVf ZXhwciAweGZmZmZmNTZkYzRjMCB0eXBlIDxpbnRlZ2VyX3R5cGUgMHhmZmZmZjU3YzA1ZTggaW50 Pg0KICAgICAgICAgICAgICAgIHNpZGUtZWZmZWN0cyBhcmc6MCA8cGFybV9kZWNsIDB4ZmZmZmY3 NmI2ZjgwIG4xPj4+DQogICAgICAgIGFyZzoxIDxub3BfZXhwciAweGZmZmZmNTZkYzYwMCB0eXBl IDxpbnRlZ2VyX3R5cGUgMHhmZmZmZjU3YzAwMDAgc2l6ZXR5cGU+DQogICAgICAgICAgICBzaWRl LWVmZmVjdHMNCiAgICAgICAgICAgIGFyZzowIDxzYXZlX2V4cHIgMHhmZmZmZjU2ZGM1ODAgdHlw ZSA8aW50ZWdlcl90eXBlIDB4ZmZmZmY1N2MwNWU4IGludD4NCiAgICAgICAgICAgICAgICBzaWRl LWVmZmVjdHMgYXJnOjAgPHBhcm1fZGVjbCAweGZmZmZmNzZiNzAwMCBuMj4+Pj4NCiAgICBhcmc6 MSA8aW50ZWdlcl9jc3QgMHhmZmZmZjU2YzEwYzggdHlwZSA8aW50ZWdlcl90eXBlIDB4ZmZmZmY1 N2MwMDAwIHNpemV0eXBlPiBjb25zdGFudCA0Pj4NCg0KDQpXaXRob3V0IHVuc2hhcmVfZXhwciB0 byB0aGlzIHNpemVfZXhwLCB0aGUgYWJvdmUgVFlQRV9TSVpFX1VOSVQgbm9kZSBjb250YWluaW5n IFNBVkVfRVhQUnMgDQppcyBnaW1wZmxpZmllZCB0byBleHByZXNzaW9ucyB3aXRoIFNTQV9OQU1F IGR1cmluZyBnaW1wbGlmaWNhdGlvbi4gIChUaGlzIGlzIHVuYWNjZXB0ZWQgYnkgTFRPKS4NCg0K QWRkaW5nIGFuIHVuc2hhcmVfZXhwciAoc2l6ZV9leHApIHJlc29sdmVkIHRoaXMgcHJvYmxlbS4g DQoNCkFsdGhvdWdoIEkgc3RpbGwgdGhpbmsgdGhhdCB0aGVyZSBtaWdodCBiZSBwb3RlbnRpYWwg aXNzdWUgd2l0aCB0aGUgZ2ltcGZsaWNhdGlvbiBvZiBTQVZFX0VYUFJzLCBJIGRhcmUgbm90DQp0 byBtb2RpZnkgdGhhdCBwYXJ0IG9mIHRoZSBjb2RlLiANCg0KQXQgdGhpcyBtb21lbnQsIEkgd2ls bCBhZGQgdW5zaGFyZV9leHByIHRvIHRoZSByb3V0aW5lIOKAnHBvaW50ZXJfaW50X3N1beKAnSB0 byB3b3JrYXJvdW5kIHRoaXMgaXNzdWUuDQoNCkxldCBtZSBrbm93IGlmIHlvdSBoYXZlIGFueSBj b21tZW50IGFuZCBzdWdnZXN0aW9uLg0KDQpUaGFua3MgYSBsb3QuDQoNClFpbmcNCg0KPj4gDQo+ Pj4gDQo+Pj4gUWluZw0KPj4+IA0KPj4+PiANCj4+Pj4+IFRoYW5rcyBhIGxvdCBmb3IgdGhlIGhl bHAuDQo+Pj4+PiANCj4+Pj4+IFFpbmcNCg0KDQo=