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 1986D3856092 for ; Tue, 7 Nov 2023 00:12:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1986D3856092 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 1986D3856092 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699315934; cv=pass; b=T2fVqrQa5Px9OQ2bjzr1XFo5T2G4ubvd0/8Bp2BjPOb6O/KgHPklTHflnEGH8XCKONWJAqf3WTGvWFlwi46GEXAvQaH3chDFfygPEpFKke1z/85uoomg2FQ/cGDDruBw1Rl+fjkNXxlNn+TQfT463SOpTHh21cgdzYxDDH3VFu4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699315934; c=relaxed/simple; bh=jZkGW4Q/jLjloxeUPKbuf6FOU/iGNtMlXdx8LCmeRFg=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=wyXS3IKgLSvl0PbBYf5QJrOSBoVdJxJrbP2m1KoggGiXphYcqCRk49Q9b/mBHKkBdFuEUMPWbX4vS0D8k9Labewya96DgFVOSzjjKzBMS8D6nYtxF996EJEDHOJoQhnsQKDmRisVzu0WDociwF71cIGpbQ2SVANc5aWj2BQBc0s= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3A6N1Xbg008581; Tue, 7 Nov 2023 00:12:09 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=jZkGW4Q/jLjloxeUPKbuf6FOU/iGNtMlXdx8LCmeRFg=; b=d8smzp8wKrRHhBHzW0LRx4Cq9i4ThPyTcMrwzn0/OsTxTZydRWO9aOf3phjYbtA44BtH v6YlzvVJjywpM4VaoiXUjAi32Kv2hrd5ryItqape17r3yV90+oYRjSfdxKqerKHzvpMY e9h+ZcO/2UmUkzNMXSO/zg5hcJPbBfgSn8riKgRllUeb+/vnxly5eYRa7dd2C33SEANw JFWlEZLVq5m4hkz20q+5dZqV5eEhe3/cOk7TT8v5CBxQkudL8e98G2c5//0Faac1L9hp /YMhKeRcUA1RBzLCpu9VaHvIZRDd6tfwZ/3SIO6BUmAENLxsg870vsCJ7NBF5KZo1As5 9Q== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3u5ccdvqvh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 07 Nov 2023 00:12:09 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 3A6MK2F9020725; Tue, 7 Nov 2023 00:12:08 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2101.outbound.protection.outlook.com [104.47.58.101]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3u5cdch6kt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 07 Nov 2023 00:12:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cbqQ3oiQCiqe521HmYZ4IEq/uTty3vVgMY5LMAl+ZJfGnO8sbvrpoj9mzyg+2DydfbEVZQ/rfcJ8gavqW9pirvWDgamc+BMGpB1uRRDHpzGBQjei7Ur5taUNGEA4rwau+DXxAIz1lSG7XGELlV4P+3AxXbfQLosYVZ4HW827f6uOBSLejje5SjM1CktkiCMaKM6Rfy5kc+G9hCyR+OkRYCvsngfQLnk1bOQJCuQkvOZDugrqB2o68fyjMopA0AKizigsI4nq/pscWiwuJnwRrHWDO0A4lcew6vRgNjbbccMlO9vqEwOCN6FEZ+A+sIOU7uXfR5HnxpwTpVkmvXOYxg== 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=jZkGW4Q/jLjloxeUPKbuf6FOU/iGNtMlXdx8LCmeRFg=; b=Sn241avjRY5B0NaSSuyGnh84KTQqJ/Z5KgeQzQ1eAO2S6bsJnsWMVOhJrMeNORw32LByaSi/pkC6J0yQWKQImdNJLWcbLvrTSw2J+vBgCK+MTK6mlfXyYLCieaF2lSM01KGo254QA7vJQOPtk3M5OT50/Z/D5p5+Lw4Wxio5Qth2vdcu/m/67QkBMzJo+5ZF3DH/rE4LUa/QE8FkjrUrRVafdBKFQW7B1qXTCuK8X0nGPyepWojRr33NRGHQMfoWmwqYo7Xcn6HSlXl5GBAFbgW4RdkE+n7WHXmj8/CNm3s7KJMwEGgpEAWZJJLTIuxunFb6EmvH60N7XtoMj2PR4w== 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=jZkGW4Q/jLjloxeUPKbuf6FOU/iGNtMlXdx8LCmeRFg=; b=FE6ccXgu+jwI2nVuiEvx/elpm7sr5kbiENIE6oiKY0EbU2uaMsZjVNmzKDlI1H57zENkaNxV5hJ3YSS9yGbXRQ8Q0+fdGqDiWOAUZWgI1zg2PBNshGxK6ANLfoFSanFKcW7jqr+QUgeu/u+KlZCXRgMgGlEkzYcczEuwk5yIP14= Received: from CH3PR10MB7957.namprd10.prod.outlook.com (2603:10b6:610:1bf::19) by MW4PR10MB5810.namprd10.prod.outlook.com (2603:10b6:303:186::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Tue, 7 Nov 2023 00:12:05 +0000 Received: from CH3PR10MB7957.namprd10.prod.outlook.com ([fe80::3475:7181:5bc8:9017]) by CH3PR10MB7957.namprd10.prod.outlook.com ([fe80::3475:7181:5bc8:9017%6]) with mapi id 15.20.6954.028; Tue, 7 Nov 2023 00:12:05 +0000 From: Qing Zhao To: richard Biener , Joseph Myers , Siddhesh Poyarekar , Martin Uecker , Jakub Jelinek CC: Kees Cook , "isanbard@gmail.com" , GCC Patches Subject: RFC (V2) the proposal to resolve the missing dependency issue for counted_by attribute Thread-Topic: RFC (V2) the proposal to resolve the missing dependency issue for counted_by attribute Thread-Index: AQHaEQ8JgHSINifVIUmFGHTw0w5Vrg== Date: Tue, 7 Nov 2023 00:12:04 +0000 Message-ID: <5B561B7B-ACD9-4378-A771-F1479A87382D@oracle.com> 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.4) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR10MB7957:EE_|MW4PR10MB5810:EE_ x-ms-office365-filtering-correlation-id: 22909dfe-f72c-47e2-fcbb-08dbdf262c56 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: w5S5e43Rd5GpRhjoHM++NGuscMsSqMntBQKQiNVZqwmFhAmbVh1XtDmSVIIM7WR5GPhlUL9BXMwnr+Q0NQo6Wo8qlyYtSpKI1VzUzuz9iq/5onOR/n15ZUjOfWcwp7IIvEIecASZRP3nIL7Huz3uEWbmoDJyh398iLqaHdrwKjfXeztz+ap9qmTAuQuNG+uvgyT4ZnKoC3dUOgbw1MkOpZfvHXO3FMLV+lGaoRiA/fpzoTlgxuaHvhbadvf4v8Y5ROByI6Y1kA4SfZnRlm7hW60mTr4VTkQdbVFQ4A17SoXbiEiITUSMXOX1AQ1iBq0NFYkZ9S1PtrCIj2nhzK59pNeUgnJE3q9IVF5bm0BgYXx3iuWkbHpyCEs8fR+tMASbE6M3poFme8cfVcWi4sx1L/NgTOM8Fret/3yhMrPMsplZLR+i62/9d6Hz3fL0COAfyaXpyQR+QgNwbL0lbPYsncUDjnlIpg+avTfZ5B+0EjjVb2cmyCY74qzMrEx2JzfXISfsl7+42PiAfv+jUqVQOWnlmXBJLM8fGr3IjfG2oCttyr5/jodSbLsnsMEYmMIaf6v0pFWmVr2fW+tVFbOn+A4qdJgVhSh6zty9t4W5NbgZbs4T2KV+FqdE5b6xyJuoq5j7eXDp01Wa/XKzux7J2Cw+oXJ+D4zIgbpygNndzRNLQFLAcxuO3oG2/y2yn3ebvZKzj7fBE6c8Erwi195JzngyDYvw9YIcbWZRsKAl9BxGuu9IUvyXURpHHVBU5a5Q 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)(376002)(366004)(396003)(136003)(39860400002)(346002)(230922051799003)(230273577357003)(230173577357003)(451199024)(186009)(1800799009)(64100799003)(4743002)(83380400001)(6512007)(71200400001)(26005)(2616005)(6506007)(66946007)(66476007)(54906003)(66556008)(478600001)(316002)(66446008)(64756008)(4326008)(110136005)(91956017)(76116006)(8936002)(8676002)(36756003)(38100700002)(30864003)(2906002)(41300700001)(33656002)(5660300002)(44832011)(86362001)(122000001)(6486002)(966005)(3613699003)(38070700009)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OGN4cXF4MHVSWjZmNkNSNDRMeGFjcGpqbmFiSGpOL2tWc0pSYVBVZkh4ZTAr?= =?utf-8?B?UEpVb3Z4MDBsTXUvK0JIeHh5N3liTC9pcGdGTng0aVdyQmc4NVlmNUQ1VGlw?= =?utf-8?B?TzJUYk1XM25aN3gwQXNmbjEyZXVkTTVyWTdIVldlZG16b0o5M2IxZXJtNlVD?= =?utf-8?B?b0RxTGsza3U0WGZ0dm8wSnMxVmhibjdlTmNiMmFLYjl2ZDFKZGV5ZVNpYmt2?= =?utf-8?B?T3lycDFkMFRqMy9vS0RpcTdQSkJ0Zk9QdnRGODlWU1pNNlliNjVqZWIxOTVy?= =?utf-8?B?UGt2MlpPQkx3dWh4bGgvdHNkZGd0ZzJWVEFJeUhaN3EvMUJmN0c2cmpzRThu?= =?utf-8?B?T2N1UXI3QisrdjJJMllzN2VvSlh0QjBSUXlhclZIdVN3TDJsb1JSd2JYR3ZS?= =?utf-8?B?TXk0emNpZWRqTzFvU1FvUEVRYXBtblNZWms4TzU4MDFBNE9BRTFyUVNCOTdI?= =?utf-8?B?bHo0d3pCdkhUeDQ1cFZ0Vk85QUM2TWN1WEp2UzNVbnFpK0JNNlJYcGlucTZJ?= =?utf-8?B?d1p1YjhheS9uRDJTMnNwLzFrd2RpcDNaRldWZng0dWwxQ1JrYTZsWEFUaThy?= =?utf-8?B?aWNRcTZpaWY0d0FzMzNLZmJZMDRNdy8ySnRCWE1PcG1zYVE5cGQxeUpZOVhy?= =?utf-8?B?QWROZDI0SEVST0JYQmV6Yy9ZekpEZ0N3NURkNXVWVE0zeWVDUVM2OVgxYXRF?= =?utf-8?B?cTZ1aVZkVTFwcTl1c0ljUVF2UDh6elpHVDhrZ21tZ3ArU1VKejNSVlhqTExJ?= =?utf-8?B?MGR6aVJIcGVSZUQ5aUhHTzJGUloraHpsMTJDK055M0dqR2JlRHRCcmlZS0VX?= =?utf-8?B?M0h4ZHRFTmZ2RlpLVVU2andqazVHeUFqc01hN3MwSzhkU0NSbzBkOUNWVG9I?= =?utf-8?B?aWtaWUhEOTIzRnFjYld6NHJKV1JBcURYcEo1ZGthZWR2Nm5SekVHc1BHVEdn?= =?utf-8?B?OFdNVTBvOWk1UlRZMDhUaVZjeVE5NlpXMUZxdE1Sc2xHM0ZVcmljQWdNYktL?= =?utf-8?B?U3JEKy9ZM2ZaWE40ci9hamEvT2VVbFZLYWVPNG1xT0l1bzB3cUNJdWNtc09x?= =?utf-8?B?MThiWFI0SHNFWVJCNnVPT3A2VHFKTUtPV1NlclFsZUluS3dYNU9EMUh1a0ZB?= =?utf-8?B?elNxdkxuUVdLYVQxUlRYZmtOUWVsMk53eFFvcUtyWDdpbTUxUFpVeU5tcWxR?= =?utf-8?B?Y1huMHVyZzJlU0xGc0xEQ3VJOWtEVzZMRDlKTnZnT3ZhL2thN1JXUXZGNW1U?= =?utf-8?B?Y2xaeG1wVUJZS3gyZTc5bVpjdjdXNDdPY3VYN3ovb1JsMlIwQUhRNGxNOGtn?= =?utf-8?B?bUMyQUM3WFRZRTJTb3hva0RWZmZoVVJEVk1FQzhwdlpCdCs1NUxxK1d1R0E0?= =?utf-8?B?YVhmekViOWhXeXVmejNlUnNtclBCZ1o1QVVuQVVIdm42ZWhiSi9sSEU2Qngv?= =?utf-8?B?OTlkMTZFZCtZU1AwY3dMRE5iaHVqaVYxaHlCdEtHNzdyRTZXT3JSVHJ6WHdL?= =?utf-8?B?aUQwMXc5aUZtWGdtbitVbjQ4WXdLQWhZU2ZJdmpQek9yNkdlbWR5VENzVGJM?= =?utf-8?B?ajV0NjBPblNhVGE5VDZCeFZHMDkvaUZJTmpiK3NndWlTVE9iRXdDTklxYTdD?= =?utf-8?B?VjdhcEJDQWEybDFKVDVacU81QnE0enREb1Q3NFQ0UEVjcDF4NTBtbVk0QXd5?= =?utf-8?B?dUtYNGNjcC9nbmEzOGpweVNsQjZobWdJTjFYaDhBdHdqMERJVkpNbU1VMi9H?= =?utf-8?B?Q21yR1hiK3lBWHVhUVJPbHQwRmQ1UjFTNVpCYzhZajdVUlVGaFVCcHR3RTFV?= =?utf-8?B?amdqWVhGUExZZjR1NzltZ0JjQnh4bGZSNnZYQjc1dm02cWZXZVl2aDRGN3lq?= =?utf-8?B?KzdDL1p2M2NRZWFjaC9jTnZrSjQvZi9LRTRteDdqQWRQdkh5MjJYV2NTbDZi?= =?utf-8?B?TVRNckRSMDBsMzJSb2JrRHgyZUtHcFlmdS9rd0kxMlozZzNQTU5IS2JKbStG?= =?utf-8?B?bngxcnlEdkpyYTVFbEhoOW5lcUR0U2h6RTJoN2lIZkVKSlVDTHdBcWN3VUU1?= =?utf-8?B?SzQ5VHQvQjlYZ0pLbmdEeEpOK0c1VUtPNWx3RVlmSTh3c3NObDFmSS9Oei9p?= =?utf-8?Q?HxacNT25dTkTfVnRpQ3mosrTZ?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?utf-8?B?WVhicm5Ic0hHVmJzVnkwRXYxSDFwRm1lVVI2RVl4MEF3cUFobkZJZE9JeDNW?= =?utf-8?B?d2I1WVNRRlM4MmQyZlhFcW1wemRQWFB1d0xMUUNBc3V3ZEhZU1R3TW9xUHA4?= =?utf-8?B?Nm9mTjhVTWgyYTA0UkZXcERvdnAwQ3VZVld5d1lvOSs4VjVFSDdnZEhsU25Q?= =?utf-8?B?MVdrSFBpLzExeUxTN1BYMnlFMFEyNVhuUS95Zll4aXBtVHd0Zlpvbk8vTFAx?= =?utf-8?B?MmhkeTNFWmM2RVJNcEhVRkhzNXRpSVQ1TnhOS1JZbkJUVDFROFdobE5wOG0x?= =?utf-8?B?bEV2Vnl3Q3lMYy81TFZYOVpQeXJISFEwQitJVDNITXVCbDVRZEtoeUlXSUlQ?= =?utf-8?B?VXA4OWVxenlDU0pMa0NqT0I5czUyazdkbWNkV3ZrLzVUMzQ4MjFNbVU1aGNr?= =?utf-8?B?VDFDVjdZU2ZTY0ZlVW5Nc2VjWlR3N2FhV25aZXd2UFFMQTZ2RzBwa2pFVzdI?= =?utf-8?B?QTg3cnlGOVpEbW9zbGRSNHhTTGpUQy8wN3psWlhWUEZpdFptamR0MEl5aVRo?= =?utf-8?B?V05RRmJyRzBVQjY5RnpRbXFqNVFrVk00OEMxVWlOQkxJUDlSbHJTN0p4UDZr?= =?utf-8?B?Umh4K2Fzdy83NE1KRWR1SStvNkNnZ3ZSRW9KSlE5bk1JNGk1Tms0QTR6THZ1?= =?utf-8?B?czhzQjBremIrSjFHZjhJS1dIOFhycFF4RFcydi8xVFgzZjJJWEExR2RicTR0?= =?utf-8?B?QVhWMVpCNHlNL3pVZENjTXlMSWdFMTBpdGRjUGI3OU1CNGV1TjBhVlZJVzVZ?= =?utf-8?B?bVBmYVB2N0dWeFkySkdCcWsvbk0wdFVPdkhQM0t4dHZIWVBGdWhsOE9uRzVB?= =?utf-8?B?OGRaaFNBT0lJcEZkeTgyZENSd1ZGU3VpT3R4RnZmUllXZGowNEF5dlF5SkQ1?= =?utf-8?B?T3NxZndTbHJGVEY2aG1vWFNZQ3c0a3dxNVl3MUU1VDlNVTN0RUd1YnRaZ0JU?= =?utf-8?B?YUdGaFZJODlrZkpSS1BZTjlPNUdERmNQT2ZMN3VMT0UraGh1SEIyYnlzejZT?= =?utf-8?B?ZGRSQW5CcG53b2RKSWZGME4va01RTEZab1o4dTkzcDh5NXFCckU2amJWQXJ4?= =?utf-8?B?YVgzTXJkalFwN005N3RFMHFVSmV1Y00rWmdCVkdYd3ZTYjE2dmhNdkJzV1JO?= =?utf-8?B?dXFCcVJNU3pkb3lEMWhicTRZWFpSYmZqUFZCVHdJM3FiNE5BOGd5bmtYNUZ2?= =?utf-8?B?T3R5OWV6c0ZmUDF6R280aEU2MG5XMWdiYW8zeUd6bEFPcWd1RFhBUitjZTh4?= =?utf-8?Q?qjSM/aJ/sRVhuVL?= 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: 22909dfe-f72c-47e2-fcbb-08dbdf262c56 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Nov 2023 00:12:04.8592 (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: Oe/cTEIywADYcEF7lpXmy6mHAJrcryxf6Un+JnUD/THXA3PJjII416WoxuLArSEwwdyoq6VZoJ8yaLyxDduMPQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB5810 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-06_15,2023-11-02_03,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 mlxlogscore=999 phishscore=0 mlxscore=0 bulkscore=0 spamscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310240000 definitions=main-2311070000 X-Proofpoint-ORIG-GUID: n-rerrtdBX4M8cSt8IJwV_-fentsSJ-o X-Proofpoint-GUID: n-rerrtdBX4M8cSt8IJwV_-fentsSJ-o X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_ASCII_DIVIDERS,KAM_SHORT,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: SGksDQoNCkF0dGFjaGVkIGlzIHRoZSAybmQgdmVyc2lvbiBvZiB0aGUgcHJvcG9zYWwgYmFzZWQg b24gYWxsIHRoZSBkaXNjdXNzaW9uIHNvIGZhci4NCg0KTGV0IG1lIGtub3cgaWYgeW91IGhhdmUg bW9yZSBjb21tZW50IGFuZCBzdWdnZXN0aW9uLg0KDQpUaGFua3MgYSBsb3QgZm9yIGFsbCB0aGUg aGVscC4NCg0KUWluZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KUmVwcmVzZW50IHRoZSBtaXNzaW5nIGRlcGVuZGVuY2UgZm9yIHRoZSAiY291bnRlZF9ieSIg YXR0cmlidXRlIGFuZCBpdHMgY29uc3VtZXJzIA0KDQpRaW5nIFpoYW8NCg0KMTEvMDYvMjAyMw0K PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQpUaGUgd2hv bGUgZGlzY3Vzc2lvbiBpcyBhdDoNCmh0dHBzOi8vZ2NjLmdudS5vcmcvcGlwZXJtYWlsL2djYy1w YXRjaGVzLzIwMjMtT2N0b2Jlci82MzM3ODMuaHRtbA0KaHR0cHM6Ly9nY2MuZ251Lm9yZy9waXBl cm1haWwvZ2NjLXBhdGNoZXMvMjAyMy1PY3RvYmVyLzYzNDg0NC5odG1sDQoNCjEuIFRoZSBwcm9i bGVtDQoNClRoZXJlIGlzIGEgZGF0YSBkZXBlbmRlbmN5IGJldHdlZW4gdGhlIHNpemUgYXNzaWdu bWVudCBhbmQgdGhlIGltcGxpY2l0IHVzZSBvZiB0aGUgc2l6ZSBpbmZvcm1hdGlvbiBpbiB0aGUg X19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemUgdGhhdCBpcyBtaXNzaW5nIGluIHRoZSBJTCAo bGluZSAxMSBhbmQgbGluZSAxMyBpbiB0aGUgYmVsb3cgZXhhbXBsZSkuIFN1Y2ggaW5mb3JtYXRp b24gbWlzc2luZyB3aWxsIHJlc3VsdCBpbmNvcnJlY3QgY29kZSByZW9yZGVyaW5nIGFuZCBvdGhl ciBjb2RlIHRyYW5zZm9ybWF0aW9ucy4gDQoNCiAgMSBzdHJ1Y3QgQQ0KICAyIHsNCiAgMyAgc2l6 ZV90IHNpemU7DQogIDQgIGNoYXIgYnVmW10gX19hdHRyaWJ1dGVfXygoY291bnRlZF9ieShzaXpl KSkpOw0KICA1IH07DQogIDYgDQogIDcgc2l6ZV90IA0KICA4IGZvbyAoc2l6ZV90IHN6KQ0KICA5 IHsNCiAxMCAgc3RydWN0IEEgKm9iaiA9IF9fYnVpbHRpbl9tYWxsb2MgKHNpemVvZihzdHJ1Y3Qg QSkgKyBzeiAqIHNpemVvZihjaGFyKSk7DQogMTEgIG9iai0+c2l6ZSA9IHN6Ow0KIDEyICBvYmot PmJ1ZlswXSA9IDI7DQogMTMgIHJldHVybiBfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZSAo b2JqLT5idWYsIDEpOw0KIDE0IH0NCiAgDQpQbGVhc2Ugc2VlIGEgbW9yZSBjb21wbGljYXRlIGV4 YW1wbGUgaW4gdGhlIEFwcGVuZGV4IDEuDQoNCldlIG5lZWQgdG8gcmVwcmVzZW50IHN1Y2ggZGF0 YSBkZXBlbmRlbmN5IGNvcnJlY3RseSBpbiB0aGUgSUwuIA0KDQoyLiBUaGUgc29sdXRpb246DQoN CjIuMSBTdW1tYXJ5DQoNCiogQWRkIGEgbmV3IGludGVybmFsIGZ1bmN0aW9uICIuQUNDRVNTX1dJ VEhfU0laRSIgdG8gY2FycnkgdGhlIHNpemUgaW5mb3JtYXRpb24gZm9yIGV2ZXJ5IHJlZmVyZW5j ZSB0byBhIEZBTSBmaWVsZDsNCiogSW4gQyBGRSwgUmVwbGFjZSBldmVyeSByZWZlcmVuY2UgdG8g YSBGQU0gZmllbGQgd2hvc2UgVFlQRSBoYXMgdGhlICJjb3VudGVkX2J5IiBhdHRyaWJ1dGUgd2l0 aCB0aGUgbmV3IGludGVybmFsIGZ1bmN0aW9uICIuQUNDRVNTX1dJVEhfU0laRSI7DQoqIEluIGV2 ZXJ5IGNvbnN1bWVyIG9mIHRoZSBzaXplIGluZm9ybWF0aW9uLCBmb3IgZXhhbXBsZSwgQkRPUyBv ciBhcnJheSBib3VuZCBzYW5pdGl6ZXIsIHF1ZXJ5IHRoZSBzaXplIGluZm9ybWF0aW9uIG9yIEFD Q0VTU19NT0RFIGluZm9ybWF0aW9uIGZyb20gdGhlIG5ldyBpbnRlcm5hbCBmdW5jdGlvbjsNCiog V2hlbiB0aGUgc2l6ZSBpbmZvcm1hdGlvbiBhbmQgdGhlICJBQ0NFU1NfTU9ERSIgaW5mb3JtYXRp b24gYXJlIG5vdCB1c2VkIGFueW1vcmUsIHBvc3NpYmx5IGF0IHRoZSAybmQgb2JqZWN0IHNpemUg cGhhc2UsIHJlcGxhY2UgdGhlIGludGVybmFsIGZ1bmN0aW9uIHdpdGggdGhlIGFjdHVhbCByZWZl cmVuY2UgdG8gdGhlIEZBTSBmaWVsZDsgDQoqIFNvbWUgYWRqdXN0bWVudCB0byBpbmxpbmluZyBo ZXVyaXN0aWMsIGlwYSBhbGlhcyBhbmFseXNpcywgYW5kIG90aGVyIFNTQSBwYXNzZXMgdG8gbWl0 aWdhdGUgdGhlIGltcGFjdCB0byB0aGUgb3B0aW1pemVyIGFuZCBjb2RlIGdlbmVyYXRpb24uIA0K DQoyLjIgVGhlIG5ldyBpbnRlcm5hbCBmdW5jdGlvbiANCg0KICAuQUNDRVNTX1dJVEhfU0laRSAo UkVGX1RPX09CSiwgUkVGX1RPX1NJWkUsIENMQVNTX09GX1NJWkUsIFNJWkVfT0ZfU0laRSwgQUND RVNTX01PREUpDQoNCklOVEVSTkFMX0ZOIChBQ0NFU1NfV0lUSF9TSVpFLCBFQ0ZfTEVBRiB8IEVD Rl9OT1RIUk9XLCBOVUxMKQ0KDQp3aGljaCByZXR1cm5zIHRoZSAiUkVGX1RPX09CSiIgc2FtZSBh cyB0aGUgMXN0IGFyZ3VtZW50Ow0KDQoxc3QgYXJndW1lbnQgIlJFRl9UT19PQkoiOiBUaGUgcmVm ZXJlbmNlIHRvIHRoZSBvYmplY3Q7DQoybmQgYXJndW1lbnQgIlJFRl9UT19TSVpFIjogVGhlIHJl ZmVyZW5jZSB0byB0aGUgc2l6ZSBvZiB0aGUgb2JqZWN0LCANCjNyZCBhcmd1bWVudCAiQ0xBU1Nf T0ZfU0laRSI6IFRoZSBzaXplIHJlZmVyZW5jZWQgYnkgdGhlIFJFRl9UT19TSVpFIHJlcHJlc2Vu dHMgDQogICAwOiB1bmtub3duOw0KICAgMTogdGhlIG51bWJlciBvZiB0aGUgZWxlbWVudHMgb2Yg dGhlIG9iamVjdCB0eXBlOw0KICAgMjogdGhlIG51bWJlciBvZiBieXRlczsgDQo0dGggYXJndW1l bnQgIlNJWkVfT0ZfU0laRSI6IGhvdyBtYW55IGJ5dGVzIGlzIHRoZSBvYmplY3QgdGhhdCBSRUZf VE9fU0laRSBwb2ludHM7DQo1dGggYXJndW1lbnQgIkFDQ0VTU19NT0RFIjogDQogIC0xOiBVbmtu b3duIGFjY2VzcyBzZW1hbnRpY3MNCiAgIDA6IG5vbmUNCiAgIDE6IHJlYWRfb25seQ0KICAgMjog d3JpdGVfb25seQ0KICAgMzogcmVhZF93cml0ZQ0KDQpOT1RFcywgDQogIEEuIFRoaXMgbmV3IGlu dGVybmFsIGZ1bmN0aW9uIGlzIGludGVuZGVkIGZvciBhIG1vcmUgZ2VuZXJhbCB1c2UgZnJvbSBh bGwgdGhlIDMgYXR0cmlidXRlcywgImFjY2VzcyIsICJhbGxvY19zaXplIiwgYW5kIHRoZSBuZXcg ImNvdW50ZWRfYnkiLCB0byBlbmNvZGUgdGhlICJzaXplIiBhbmQgImFjY2Vzc19tb2RlIiBpbmZv cm1hdGlvbiB0byB0aGUgY29ycmVzcG9uZGluZyBwb2ludGVyLiAoaW4gb3JkZXIgdG8gcmVzb2x2 ZSBQUjk2NTAzLCBldGMuIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dp P2lkPTk2NTAzKTsNCiAgQi4gRm9yICJjb3VudGVkX2J5IiB0aGUgM3JkIGFyZ3VtZW50IHdpbGwg YmUgMTsNCiAgQy4gRm9yICJjb3VudGVkX2J5IiBhbmQgImFsbG9jX3NpemUiIGF0dHJpYnV0ZXMs IHRoZSA1dGggYXJndW1lbnQgd2lsbCBiZSAtMTsgICANCiAgRC4gSW4gdGhpcyB3cmlldXAsIHdl IGZvY3VzIG9uIHRoZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIGZvciB0aGUgImNvdW50ZWRfYnki IGF0dHJpYnV0ZS4gSG93ZXZlciwgdGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgcmVhZHkgdG8gYmUg dXNlZCBieSAiYWNjZXNzIiBhbmQgImFsbG9jX3NpemUiIHdpdGhvdXQgaXNzdWUuIA0KDQoyLjMg QSBuZXcgc2VtYW50aWMgcmVxdWlyZW1lbnQgaW4gdGhlIHVzZXIgZG9jdW1lbnRhdGlvbiBvZiAi Y291bnRlZF9ieSINCg0KRm9yIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlIGluY2x1ZGluZyBhIEZB TSB3aXRoIGEgY291bnRlZF9ieSBhdHRyaWJ1dGU6DQoNCiAgc3RydWN0IEENCiAgew0KICAgc2l6 ZV90IHNpemU7DQogICBjaGFyIGJ1ZltdIF9fYXR0cmlidXRlX18oKGNvdW50ZWRfYnkoc2l6ZSkp KTsNCiAgfTsNCg0KZm9yIGFueSBvYmplY3Qgd2l0aCBzdWNoIHR5cGU6DQoNCiAgc3RydWN0IEEg Km9iaiA9IF9fYnVpbHRpbl9tYWxsb2MgKHNpemVvZihzdHJ1Y3QgQSkgKyBzeiAqIHNpemVvZihj aGFyKSk7DQoNClRoZSBpbml0aWFsaXphdGlvbiB0byB0aGUgc2l6ZSBmaWVsZCBzaG91bGQgYmUg ZG9uZSBiZWZvcmUgdGhlIGZpcnN0IHJlZmVyZW5jZSB0byB0aGUgRkFNIGZpZWxkLA0KT3RoZXJ3 aXNlLCB0aGUgYmVoYXZpb3IgaXMgdW5kZWZpbmVkLg0KU3VjaCBhZGRpdGlvbmFsIHJlcXVpcmVt ZW50IHRvIHRoZSB1c2VyIHdpbGwgZ3VhcmFudGVlIHRoYXQgdGhlIGZpcnN0IHJlZmVyZW5jZSB0 byB0aGUgRkFNIGtub3dzIHRoZSBzaXplIG9mIHRoZSBGQU0uICANCg0KQW5vdGhlciB0aGluZyB0 aGF0IG5lZWQgdG8gYmUgY2xhcmlmaWVkIGlzOg0KQSBsYXRlciByZWZlcmVuY2UgdG8gdGhlIEZB TSBmaWVsZCB3aWxsIHVzZSB0aGUgbGF0ZXN0IHZhbHVlIGFzc2lnbmVkIHRvIHRoZSBzaXplIGZp ZWxkIGJlZm9yZSB0aGF0IHJlZmVyZW5jZS4gRm9yIGV4YW1wbGUsIA0KIG9iai0+c2l6ZSA9IHZh bDE7DQogcmVmMSAob2JqLT5idWYpOw0KIG9iai0+c2l6ZSA9IHZhbDI7DQogcmVmMiAob2JqLT5i dWYpOw0KaW4gdGhlIGFib3ZlLCAicmVmMSIgd2lsbCB1c2UgdmFsMSBhbmQgInJlZjIiIHdpbGwg dXNlIHZhbDIuIA0KVGhpcyBjbGFyaWZpY2F0aW9uIHdpbGwgaW5mb3JtIHVzZXIgdGhhdCB0aGUg ZHluYW1pYyBhcnJheSBmZWF0dXJlIGlzIGZ1bGx5IHN1cHBvcnRlZC4NCg0KV2UgbmVlZCB0byBh ZGQgdGhlIGFib3ZlIGFkZGl0aW9uYWwgcmVxdWlyZW1lbnQgYW5kIGNsYXJpZmljYXRpb24gdG8g dGhlIHVzZXIgZG9jdW1lbnRhdGlvbi4NClRoZSBjb21wbGV0ZSB1c2VyIGRvY3VtZW50YXRpb24g aXMgaW4gQXBwZW5kaXggMi4gDQoNCjIuNCBSZXBsYWNlIHRoZSByZWZlcmVuY2UgdG8gYSBGQU0g ZmllbGQgd2l0aCB0aGUgbmV3IGZ1bmN0aW9uIC5BQ0NFU1NfV0lUSF9TSVpFDQoNCkluIEMgRkU6 DQoNCmZvciBldmVyeSByZWZlcmVuY2UgdG8gYSBGQU0sIGZvciBleGFtcGxlLCAib2JqLT5idWYi IGluIHRoZSBzbWFsbCBleGFtcGxlLA0KICBjaGVjayB3aGV0aGVyIHRoZSBjb3JyZXNwb25kaW5n IEZJRUxEX0RFQ0wgaGFzIGEgImNvdW50ZWRfYnkiIGF0dHJpYnV0ZT8NCiAgaWYgWUVTLCByZXBs YWNlIHRoZSByZWZlcmVuY2UgdG8gIm9iai0+YnVmIiB3aXRoIGEgY2FsbCB0bw0KICAgICAgLkFD Q0VTU19XSVRIX1NJWkUgKG9iai0+YnVmLCAmb2JqLT5zaXplLCAxLCBzaXplb2Yob2JqLT5zaXpl KSwgLTEpOyANCg0KVGhpcyBpbmNsdWRlcyB0aGUgY2FzZSB3aGVuIHRoZSBvYmplY3QgaXMgc3Rh dGljYWxseSBhbGxvY2F0ZWQgYW5kIGluaXRpYWxpemVkIGFzIGZvbGxvd2luZyBleGFtcGxlOg0K DQpzdGF0aWMgc3RydWN0IEEgeCA9IHsgc2l6ZW9mICJoZWxsbyIsICJoZWxsbyIgfTsNCnN0YXRp YyBjaGFyICp5ID0gJnguYnVmOw0KDQpUaGUgcmVmZXJlbmNlIHRvIHguYnVmIHNob3VsZCBiZSBy ZXBsYWNlZCBieSB0aGUgLkFDQ0VTU19XSVRIX1NJWkUgKCZ4LmJ1ZiwgJnguc2l6ZSwgMSwgc2l6 ZW9mKHguc2l6ZSksIC0xKS4NCg0KDQoyLjUgUXVlcnkgdGhlIHNpemUgaW5mbyANCg0KVGhlcmUg YXJlIG11bHRpcGxlIGNvbnN1bWVycyBvZiB0aGUgc2l6ZSBpbmZvIChhbmQgQUNDRVNTX01PREUg aW5mbyk6DQoNCiAgKiBfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZTsNCiAgKiBhcnJheSBi b3VuZCBzYW5pdGl6ZXI7DQoNCmluIHRoZXNlIGNvbnN1bWVycywgZ2V0IHRoZSBzaXplIGluZm8g ZnJvbSB0aGUgMm5kLCAzcmQsIGFuZCA0dGggYXJndW1lbnRzIG9mIHRoZSBjYWxsIHRvDQpBQ0NF U1NfV0lUSF9TSVpFIChSRUZfVE9fT0JKLCBSRUZfVE9fU0laRSwgMSwgc2l6ZW9mKFNJWkUpLCAt MSkNCg0KMi42IEVsaW1pbmF0ZSB0aGUgaW50ZXJuYWwgZnVuY3Rpb24gd2hlbiBub3QgdXNlZnVs IGFueW1vcmUNCg0KQWZ0ZXIgdGhlIGxhc3QgY29uc3VtZXIgb2YgdGhlIHNpemUgaW5mb3JtYXRp b24gaW4gdGhlIEFDQ0VTU19XSVRIX1NJWkUsIFdlIHNob3VsZCByZXBsYWNlIHRoZSBpbnRlcm5h bCBjYWxsIHdpdGggaXRzIGZpcnN0IGFyZ3VtZW50Lg0KDQpEbyBpdCBpbiB0aGUgMm5kIG9iamVj dCBzaXplIHBoYXNlLiANCg0KMi43IEFkanVzdG1lbnQgdG8gaW5saW5pbmcgaGV1cmlzdGljLCBJ UEEgYWxpYXMgYW5hbHlzaXMgYW5kIG90aGVyIElQQSBhbmFseXNpcw0KDQp0aGUgRkUgY2hhbmdl czoNCg0Kb2JqLT5idWYNCg0KdG8NCg0KXzEgPSBvYmotPmJ1ZjsNCl8yID0gJihvYmotPnNpemUp Ow0KLkFDQ0VTU19XSVRIX1NJWkUgKF8xLCBfMiwgMSwgc2l6ZW9mIChvYmotPnNpemUpLCAtMSkN Cg0KdGhlcmUgYXJlIG1ham9yIHR3byBjaGFuZ2VzOg0KDQogIEEuIHRoZSAjIG9mIEluc25zIG9m IHRoZSByb3V0aW5lIHdpbGwgYmUgaW5jcmVhc2VkLA0KICBCLiBhZGRpdGlvbmFsIGNhbGxzIHRv IGFuIG5vbi1wdXJlIGludGVybmFsIHJvdXRpbmVzLg0KDQpJbiBvcmRlciB0byBtaW5pbWl6ZSB0 aGUgaW1wYWN0IG9uIGNvZGUgZ2VuZXJhdGlvbiBhbmQgb3B0aW1pemFpdG9ucywgV2UgbWlnaHQg bmVlZCB0bw0KDQogICogQWRqdXN0IElubGluaW5nIGRlY2lzaW9uIHRvIGlnbm9yZSB0aGUgYWRk aXRpb25hbCBpbnNucyBhbmQgY2FsbHM7DQogICogQWRqdXN0IHRoZSByb3V0aW5lICJjYWxsX21h eV9jbG9iYmVyX3JlZl9wXzEiIGluIHRyZWUtc3NhLWFsaWFzLmNjIHRvIGV4Y2x1ZGUgdGhlIG5l dyBpbnRlcm5hbCAuQUNDRVNTX1dJVEhfU0laRSBmcm9tIGNsb2JiZXJpbmcgYW55dGhpbmcuIA0K DQoNCjMuIFRoZSBwYXRjaCBzZXRzOg0KDQpXZSB3aWxsIHByb3ZpZGUgdGhlIGZvbGxvd2luZyBw YXRjaGVzOg0KDQogIDMuMSBQcm92aWRlIGNvdW50ZWRfYnkgYXR0cmlidXRlIHRvIGZsZXhpYmxl IGFycmF5IG1lbWJlciBmaWVsZDsNCiAgICAgIHdoaWNoIGluY2x1ZGVzOg0KICAgICAgKiAiY291 bnRlZF9ieSIgYXR0cmlidXRlIGRvY3VtZW50YXRpb247ICANCiAgICAgICogQyBGRSBoYW5kbGlu ZyBvZiB0aGUgbmV3IGF0dHJpYnV0ZTsgDQogICAgICAgIHN5bnRheCBjaGVja2luZywgZXJyb3Ig cmVwb3J0aW5nOw0KICAgICAgKiB0ZXN0aW5nIGNhc2VzOyAoYWRpdGlvbmFsIHRlc3RpbmcgY2Fz ZXMgZm9yIHN0YXRpY2x5IGluaXRpYWxpemVkIG9iamVjdCkNCg0KICAzLjIgQ29udmVydCAiY291 bnRlZF9ieSIgYXR0cmlidXRlIHRvL2Zyb20gLkFDQ0VTU19XSVRIX1NJWkUuICANCiAgICAgIHdo aWNoIGluY2x1ZGVzOg0KICAgICAgKiBUaGUgZGVmaW5pdGlvbiBvZiB0aGUgbmV3IGludGVybmFs IGZ1bmN0aW9uIC5BQ0NFU1NfV0lUSF9TSVpFIGluIGludGVybmFsLWZuLmRlZi4gDQogICAgICAq IEMgRkUgY29udmVydHMgZXZlcnkgcmVmZXJlbmNlIHRvIGEgRkFNIHdpdGggImNvdW50ZWRfYnki IGF0dHJpYnV0ZSB0byBhIGNhbGwgdG8gdGhlIGludGVybmFsIGZ1bmN0aW9uIC5BQ0NFU1NfV0lU SF9TSVpFLg0KICAgICAgICAoYnVpbGRfY29tcG9uZW50X3JlZiBpbiBjX3R5cGVjay5jYykNCiAg ICAgICogQ29udmVydCBldmVyeSBjYWxsIHRvIC5BQ0NFU1NfV0lUSF9TSVpFIHRvIGl0cyBmaXJz dCBhcmd1bWVudC4NCiAgICAgICAgKEFmdGVyIHRoZSBzaXplIGFuZCBhY2Nlc3NfbW9kZSBpbmZv cm1hdGlvbiBhcmUgdXNlZCBpbiB0aGUgMm5kIG9iamVjdCBzaXplIHBoYXNlLCB3ZSBuZWVkIHRv IGNvbnZlcnQgLkFDQ0VTU19XSVRIX1NJWkUgYmFjayB0byBpdHMgZmlyc3QgYXJndW1lbnQgYXMg c29vbiBhcyBwb3NzaWJsZSBpbiBvcmRlciB0byBtaW5pbWl6ZSB0aGUgaW1wYWN0IHRvIG90aGVy IHBoYXNlcyBhZnRlciBvYmplY3Qgc2l6ZSBwaGFzZS4gU28sIGRvIHRoaXMgaW4gdGhlIGVuZCBv ZiB0aGUgMm5kIG9iamVjdCBzaXplIHBoYXNlKQ0KICAgICAgKiBhZGp1c3QgaW5saW5pbmcgaGV1 cmlzdGljIGZvciB0aGUgYWRkaXRpb25hbCBjYWxsLiANCiAgICAgICogYWRqdXN0IGFsaWFzIGFu YWx5c2lzIHRvIGV4Y2x1ZGUgdGhlIG5ldyBpbnRlcm5hbCBmcm9tIGNsb2JiZXJpbmcgYW55dGhp bmcuDQogICAgICAgIChjYWxsX21heV9jbG9iYmVyX3JlZl9wXzEgaW4gdHJlZS1zc2EtYWxpYXMu Y2MpDQogICAgICAqIHZlcmlmeSBhIGNhbGwgdG8gLkFDQ0VTU19XSVRIX1NJWkUgaW4gdHJlZS1j ZmcuY2MuDQogICAgICAqIHByb3ZpZGUgdXRpbGl0eSByb3V0aW5lcyB0byBnZXQgdGhlIHNpemUg b3IgQUNDRVNTX01PREUgZnJvbSB0aGUgY2FsbCB0byAuQUNDRVNTX1dJVEhfU0laRS4gDQoNCiAg My4zIFVzZSB0aGUgLkFDQ0VTU19XSVRIX1NJWkUgaW4gYnVpbHRpbiBvYmplY3Qgc2l6ZSAoc3Vi LW9iamVjdCBvbmx5KQ0KICAgICAgd2hpY2ggaW5jbHVkZXM6IA0KICAgICAgKiB1c2UgdGhlIHNp emUgaW5mbyBvZiB0aGUgLkFDQ0VTU19XSVRIX1NJWkUgZm9yIHN1Yi1vYmplY3QuDQogICAgICAq IHRlc3RpbmcgY2FzZXMuIChhZGRpdGlvbmFsIHRlc3RpbmcgY2FzZXMgZm9yIGR5bmFtaWMgYXJy YXkgc3VwcG9ydCkNCg0KICAzLjQgVXNlIHRoZSAuQUNDRVNTX1dJVEhfU0laRSBpbiBib3VuZCBz YW5pdGl6ZXINCiAgICAgIHdoaWNoIGluY2x1ZGVzOg0KICAgICAgKiB1c2UgdGhlIHNpemUgaW5m byBvZiB0aGUgLkFDQ0VTU19XSVRIX1NJWkUgZm9yIGJvdW5kIHNhbml0aXplci4NCiAgICAgICog dGVzdGluZyBjYXNlcy4gKGFkZGl0aW9uYWwgdGVzdGluZyBjYXNlcyBmb3IgZHluYW1pYyBhcnJh eSBzdXBwb3J0KQ0KDQogIDMuNSBJbXByb3ZlIF9fYmRvcyB0byB1c2UgdGhlIGNvdW50ZWRfYnkg aW5mbyBpbiB3aG9sZS1vYmplY3Qgc2l6ZSBmb3IgdGhlIHN0cnVjdHVyZSB3aXRoIEZBTS4gDQog IDMuNiBFbWl0IHdhcm5pbmdzIHdoZW4gdGhlIHVzZXIgYnJlYWtzIHRoZSByZXF1aXJtZW50cyBm b3IgdGhlIG5ldyBjb3VudGVkX2J5IGF0dHJpYnV0ZQ0KICAgICAgY29tcGlsYXRpb24gdGltZTog LVdjb3VudGVkLWJ5DQogICAgICBydW4gdGltZTogLWZzYW5pdGl6ZXI9Y291bnRlZC1ieQ0KICAg ICAgDQogICAgICAqIFRoZSBpbml0aWFsaXphdGlvbiB0byB0aGUgc2l6ZSBmaWVsZCBzaG91bGQg YmUgZG9uZSBiZWZvcmUgdGhlIGZpcnN0IHJlZmVyZW5jZSB0byB0aGUgRkFNIGZpZWxkLiANCiAg ICAgICogdGhlIGFycmF5IGhhcyBhdCBsZWFzdCAjIG9mIGVsZW1lbnRzIHNwZWNpZmllZCBieSB0 aGUgc2l6ZSBmaWVsZCBhbGwgdGhlIHRpbWUgZHVyaW5nIHRoZSBwcm9ncmFtLiAgDQogDQoNCjQu IEZ1dHVyZSB3b3JrDQogIA0KICA0LjEgVXNlIHRoZSBuZXcgLkFDQ0VTU19XSVRIX1NJWkUgZm9y IG90aGVyIHJlbGF0aXZlIGF0dHJpYnV0ZXMsIGZvciBleGFtcGxlLCAiYWNjZXNzIiBhbmQgImFs bG9jX3NpemUiLCB0byByZXNvbHZlIHRoZSBrbm93biBpc3N1ZXMgZm9yIHRoZW06DQoNCmh0dHBz Oi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTk2NTAzDQoNCiAgNC4yIEFk ZCAiY291bnRlZF9ieSIgYXR0cmlidXRlIHRvIGdlbmVyYWwgcG9pbnRlcnMgYXMgcHJvcG9zZWQg YnkgdGhlIC1mYm91bmRzLXNhZmV0eSBwcm9wb3NhbCB0byBMTFZNIGZyb20gQXBwbGUgKGh0dHBz Oi8vZGlzY291cnNlLmxsdm0ub3JnL3QvcmZjLWVuZm9yY2luZy1ib3VuZHMtc2FmZXR5LWluLWMt ZmJvdW5kcy1zYWZldHkvNzA4NTQpLiAgDQoNCnRoZSAuQUNDRVNTX1dJVEhfU0laRSBhcHByb2Fj aCBzaG91bGQgYmUgYWRvcHRlZCBuYXR1cmFsbHkuIA0KDQoNCkFwcGVuZGV4IDEuIEEgbW9yZSBj b21wbGljYXRlZCBleGFtcGxlOiANCg0KICAxICNpbmNsdWRlIDxtYWxsb2MuaD4NCiAgMiBzdHJ1 Y3QgQQ0KICAzIHsNCiAgNCAgc2l6ZV90IHNpemU7DQogIDUgIGNoYXIgYnVmW10gX19hdHRyaWJ1 dGVfXygoY291bnRlZF9ieShzaXplKSkpOw0KICA2IH07DQogIDcgDQogIDggc3RhdGljIHNpemVf dA0KICA5IGdldF9zaXplX2Zyb20gKHZvaWQgKnB0cikNCiAxMCB7DQogMTEgIHJldHVybiBfX2J1 aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZSAocHRyLCAxKTsNCiAxMiB9DQogMTMgDQogMTQgdm9p ZA0KIDE1IGZvbyAoc2l6ZV90IHN6KQ0KIDE2IHsNCiAxNyAgc3RydWN0IEEgKm9iaiA9IF9fYnVp bHRpbl9tYWxsb2MgKHNpemVvZihzdHJ1Y3QgQSkgKyBzeiAqIHNpemVvZihjaGFyKSk7DQogMTgg IG9iai0+c2l6ZSA9IHN6Ow0KIDE5ICBvYmotPmJ1ZlswXSA9IDI7DQogMjAgIF9fYnVpbHRpbl9w cmludGYgKOKAnCVkXG4iLCBnZXRfc2l6ZV9mcm9tIChvYmotPmJ1ZikpOw0KIDIxICByZXR1cm47 DQogMjIgfQ0KIDIzIA0KIDI0IGludCBtYWluICgpDQogMjUgew0KIDI2ICBmb28gKDIwKTsNCiAy NyAgcmV0dXJuIDA7DQogMjggfQ0KDQpJbiB0aGlzIGV4YW1wbGUsIHRoZSBpbnN0YW50aWF0aW9u IG9mIHRoZSBvYmplY3QgYXQgbGluZSAxNyBpcyBub3QgaW4gdGhlIHNhbWUgcm91dGluZSBhcyB0 aGUgX0JET1MgY2FsbCBhdCBsaW5lIDExLiANCg0KQXBwZW5kZXggMi4gVGhlIHVzZXIgZG9jdW1l bnRhdGlvbjoNCg0KJ2NvdW50ZWRfYnkgKENPVU5UKScNCiAgICAgVGhlICdjb3VudGVkX2J5JyBh dHRyaWJ1dGUgbWF5IGJlIGF0dGFjaGVkIHRvIHRoZSBmbGV4aWJsZSBhcnJheQ0KICAgICBtZW1i ZXIgb2YgYSBzdHJ1Y3R1cmUuICBJdCBpbmRpY2F0ZXMgdGhhdCB0aGUgbnVtYmVyIG9mIHRoZQ0K ICAgICBlbGVtZW50cyBvZiB0aGUgYXJyYXkgaXMgZ2l2ZW4gYnkgdGhlIGZpZWxkIG5hbWVkICJD T1VOVCIgaW4gdGhlDQogICAgIHNhbWUgc3RydWN0dXJlIGFzIHRoZSBmbGV4aWJsZSBhcnJheSBt ZW1iZXIuICBHQ0MgdXNlcyB0aGlzDQogICAgIGluZm9ybWF0aW9uIHRvIGltcHJvdmUgdGhlIHJl c3VsdHMgb2YgdGhlIGFycmF5IGJvdW5kIHNhbml0aXplciBhbmQNCiAgICAgdGhlICdfX2J1aWx0 aW5fZHluYW1pY19vYmplY3Rfc2l6ZScuDQoNCiAgICAgRm9yIGluc3RhbmNlLCB0aGUgZm9sbG93 aW5nIGNvZGU6DQoNCiAgICAgICAgICBzdHJ1Y3QgUCB7DQogICAgICAgICAgICBzaXplX3QgY291 bnQ7DQogICAgICAgICAgICBjaGFyIG90aGVyOw0KICAgICAgICAgICAgY2hhciBhcnJheVtdIF9f YXR0cmlidXRlX18gKChjb3VudGVkX2J5IChjb3VudCkpKTsNCiAgICAgICAgICB9ICpwOw0KDQog ICAgIHNwZWNpZmllcyB0aGF0IHRoZSAnYXJyYXknIGlzIGEgZmxleGlibGUgYXJyYXkgbWVtYmVy IHdob3NlIG51bWJlcg0KICAgICBvZiBlbGVtZW50cyBpcyBnaXZlbiBieSB0aGUgZmllbGQgJ2Nv dW50JyBpbiB0aGUgc2FtZSBzdHJ1Y3R1cmUuDQoNCiAgICAgVGhlIGZpZWxkIHRoYXQgcmVwcmVz ZW50cyB0aGUgbnVtYmVyIG9mIHRoZSBlbGVtZW50cyBzaG91bGQgaGF2ZSBhbg0KICAgICBpbnRl Z2VyIHR5cGUuIE90aGVyd2lzZSwgdGhlIGNvbXBpbGVyIHdpbGwgcmVwb3J0IGEgd2FybmluZyBh bmQgaWdub3JlIA0KICAgICB0aGUgYXR0cmlidXRlLg0KDQogICAgIEFuIGV4cGxpY2l0ICdjb3Vu dGVkX2J5JyBhbm5vdGF0aW9uIGRlZmluZXMgYSByZWxhdGlvbnNoaXAgYmV0d2Vlbg0KICAgICB0 d28gb2JqZWN0cywgJ3AtPmFycmF5JyBhbmQgJ3AtPmNvdW50JywgYW5kIHRoZXJlIGFyZSB0aGUg Zm9sbG93aW5nDQogICAgIHJlcXVpcmVtZW50dGhhdCBvbiB0aGUgcmVsYXRpb25zaGlwIGJldHdl ZW4gdGhpcyBwYWlyOg0KDQogICAgIEEuICdwLT5jb3VudCcgc2hvdWxkIGJlIGluaXRpYWxpemVk IGJlZm9yZSB0aGUgZmlyc3QgcmVmZXJlbmNlIHRvIA0KICAgICAgICAncC0+YXJyYXknLg0KICAg ICBCLiAicC0+YXJyYXknIGhhcyBfYXQgbGVhc3RfICdwLT5jb3VudCcgbnVtYmVyIG9mIGVsZW1l bnRzIGF2YWlsYWJsZQ0KICAgICAgICBhbGwgdGhlIHRpbWUuDQogICAgICAgIFRoaXMgcmVxdWly ZW1lbnQgbXVzdCBob2xkIGV2ZW4gYWZ0ZXIgYW55IG9mIHRoZXNlIHJlbGF0ZWQgb2JqZWN0cw0K ICAgICAgICBhcmUgdXBkYXRlZCBkdXJpbmcgdGhlIHByb2dyYW0uDQoNCiAgICAgSXQncyB0aGUg dXNlcidzIHJlc3BvbnNpYmlsaXR5IHRvIG1ha2Ugc3VyZSB0aGUgYWJvdmUgcmVxdWlybWVudHMg dG8gDQogICAgIGJlIGtlcHQgYWxsIHRoZSB0aW1lLiAgT3RoZXJ3aXNlIHRoZSBjb21waWxlciB3 aWxsIHJlcG9ydCB3YXJuaW5ncywgDQogICAgIGF0IHRoZSBzYW1lIHRpbWUsIHRoZSByZXN1bHRz IG9mIHRoZSBhcnJheSBib3VuZCBzYW5pdGl6ZXIgYW5kIHRoZQ0KICAgICAnX19idWlsdGluX2R5 bmFtaWNfb2JqZWN0X3NpemUnIGlzIHVuZGVmaW5lZC4gDQoNCiAgICAgT25lIGltcG9ydGFudCBm ZWF0dXJlIG9mIHRoZSBhdHRyaWJ1dGUgaXMsIEEgcmVmZXJlbmNlIHRvIHRoZSBmbGV4aWJsZQ0K ICAgICBhcnJheSBtZW1iZXIgZmllbGQgd2lsbCB1c2UgdGhlIGxhdGVzdCB2YWx1ZSBhc3NpZ25l ZCB0byB0aGUgZmllbGQgdGhhdA0KICAgICByZXByZXNlbnQgdGhlIG51bWJlciBvZiB0aGUgZWxl bWVudHMgYmVmb3JlIHRoYXQgcmVmZXJlbmNlLiBGb3IgZXhhbXBsZSwNCiAgICAgICBwLT5jb3Vu dCA9IHZhbDE7DQogICAgICAgcmVmMSAocC0+YXJyYXkpOw0KICAgICAgIHAtPmNvdW50ID0gdmFs MjsNCiAgICAgICByZWYyIChwLT5hcnJheSk7DQogICAgIGluIHRoZSBhYm92ZSwgJ3JlZjEnIHdp bGwgdXNlICd2YWwxJyBhcyB0aGUgbnVtYmVyIG9mIHRoZSBlbGVtZW50cyBpbg0KICAgICAncC0+ YXJyYXknLCBhbmQgInJlZjIiIHdpbGwgdXNlICd2YWwyJyBhcyB0aGUgbnVtYmVyIG9mIGVsZW1l bnRzIGluDQogICAgICdwLT5hcnJheScuDQoNCg0KQXBwZW5kZXggMy4gT3RoZXIgYXBwcm9hY2hl cyB0aGF0IGhhdmUgYmVlbiBkaXNjdXNzZWQ6DQoNCkEuICBBZGQgYW4gYWRkaXRpb25hbCBhcmd1 bWVudCwgdGhlIHNpemUgcGFyYW1ldGVyLCB0byB0aGUgY2FsbCB0byBfX2Jkb3MsIA0KICAgICAg QS4xLCBkdXJpbmcgRkU7DQogICAgICBBLjIsIGR1cmluZyBnaW1wbGlmaWNhdGlvbiBwaGFzZTsN CkIuICBFbmNvZGUgdGhlIGltcGxpY2l0IFVTRSBpbiB0aGUgdHlwZSBvZiBzaXplLCB0byBtYWtl IHRoZSBzaXplIGFzIOKAnHZvbGF0aWxl4oCdOw0KQy4gIEVuY29kZSB0aGUgaW1wbGljaXQgVVNF IGluIHRoZSB0eXBlIG9mIGJ1ZiwgdGhlbiB1cGRhdGUgdGhlIG9wdGltaXphdGlvbiBwYXNzZXMg dG8gdXNlIHRoaXMgaW1wbGljaXQgVVNFIGVuY29kZWQgaW4gdGhlIHR5cGUgb2YgYnVmLg0KDQoq KiBBcHByb2FjaCBBIChib3RoIEEuMSBhbmQgQS4yKSB3aWxsIG5vdCB3b3JrIGlmIHRoZSBvYmpl Y3QgaW5zdGFudGlhdGlvbiBpcyBub3QgaW4gdGhlIHNhbWUgcm91dGluZSBhcyB0aGUgX19iZG9z IGNhbGwgYXMgc2hvd24gaW4gdGhlIGFib3ZlIGV4YW1wbGU7DQoqKiBBcHByb2FjaCBCIHdpbGwg aGF2ZSBhIGJpZ2dlciBwZXJmb3JtYW5jZSBpbXBhY3QgZHVlIHRvIHRoZSAidm9sYXRpbGUiIHdp bGwgaW5oaWJpdCBhIGxvdCBvZiBvcHRpbWl6YXRpb25zOyANCioqIEFwcHJvYWNoIEMgd2lsbCBp bnZvbHZlIGEgbG90IG9mIGNoYW5nZXMgaW4gR0NDLCBhbmQgYWxzbyBub3QgdmVyeSBuZWNlc3Nh cnkgc2luY2UgdGhlIE9OTFkgaW1wbGljaXQgdXNlIG9mIHRoZSBzaXplIHBhcmFtZXRlciBpcyBp biB0aGUgX19iZG9zIGNhbGwgd2hlbiBfX2Jkb3MgY2FuIHNlZSB0aGUgcmVhbCBvYmplY3Qu