Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sQnE6-00Beuq-VY for pgsql-hackers@arkaria.postgresql.org; Mon, 08 Jul 2024 12:12:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sQnE5-005OOC-Hc for pgsql-hackers@arkaria.postgresql.org; Mon, 08 Jul 2024 12:12:13 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sQnE4-005OO4-UZ for pgsql-hackers@lists.postgresql.org; Mon, 08 Jul 2024 12:12:13 +0000 Received: from mx04.melco.co.jp ([192.218.140.144]) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sQnE1-0011Ug-4n for pgsql-hackers@postgresql.org; Mon, 08 Jul 2024 12:12:11 +0000 Received: from mr04.melco.co.jp (mr04 [133.141.98.166]) by mx04.melco.co.jp (Postfix) with ESMTP id 4WHjfZ1W6kzMt4pF; Mon, 8 Jul 2024 21:12:06 +0900 (JST) Received: from mr04.melco.co.jp (unknown [127.0.0.1]) by mr04.imss (Postfix) with ESMTP id 4WHjfZ153hzMr2Rk; Mon, 8 Jul 2024 21:12:06 +0900 (JST) Received: from mf04_second.melco.co.jp (unknown [192.168.20.184]) by mr04.melco.co.jp (Postfix) with ESMTP id 4WHjfZ0mh1zMqv61; Mon, 8 Jul 2024 21:12:06 +0900 (JST) Received: from mf04.melco.co.jp (unknown [133.141.98.184]) by mf04_second.melco.co.jp (Postfix) with ESMTP id 4WHjfZ0jndzMs8Ct; Mon, 8 Jul 2024 21:12:06 +0900 (JST) Received: from TYVP286CU001.outbound.protection.outlook.com (unknown [40.93.73.27]) by mf04.melco.co.jp (Postfix) with ESMTP id 4WHjfZ0XHTzMs8Cx; Mon, 8 Jul 2024 21:12:06 +0900 (JST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LnH//tm6VT7heUWeZiXYdCvAeuA6EmSbXG3ycIQqMUFdDUa4lymlCZpFiNpNZRusHoyLIvSG0QdqDAX4KGSKKi7caWhhEym2m8dbBj1deYrc95k0fJBKLGBmyOzmTTqqwpiEEq09fREg1LFg0l0y5WYsTxVGXL7siEUJ9ks1iJ7ABcfnDu3RaAwofUJfF25PgGfMK5Dmy9Emw5dr/LtKyKxvTVz1yNhuOmosRPQT7xsiOhPQPswZvrLwm/xqcwGTCPwLc1lUeep2LKGgO+b55kLNra3EePYUt6itEo2jOleSHgML9/KrIEpX1Os5oUO8oVRWkSwHHKW9udYhEZWQ9g== 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=KeBHX0HAPHqO9IJjCWwFAq+bEMlDnkFkeEDgc7apDCY=; b=dU9NCUew5RAe0is0hNhBNXz0VPDhqcM3RFW0bgOpgRhL0BdfeearntToeHA11Nk8m1xGwF3j6bKYfx5rGi2v/pfXuHgftoO0dPFyGVxpVcbedPAo0q+d5M8CHAcvlUyaI2m/NpF8mJAo4WloybdSMRO/KQVhH0T2YViLTW2BkM3J7Ed8/j3YqxTLpS5bhYAlYq7I6K/6yFdAHgFOWTo9xpIOSQc/Sb4mEbXEfYUNKLNr/9GmizjBH4+RfaPzB2CyLpP2MNjobdeHuqCw5b+VQNrAIRnuGm4ibwYC2hh4i1xf+xwO4YS2GmO3wjVd2PfurFkpasLfNTwBFdklP02PPA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=df.mitsubishielectric.co.jp; dmarc=pass action=none header.from=df.mitsubishielectric.co.jp; dkim=pass header.d=df.mitsubishielectric.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mitsubishielectricgroup.onmicrosoft.com; s=selector2-mitsubishielectricgroup-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KeBHX0HAPHqO9IJjCWwFAq+bEMlDnkFkeEDgc7apDCY=; b=ItYtKBxxKIfYwyQDOrTdD9ubWqUyH2tPoNexAQ8hXbaSPMIvvlwMVJncBEdpSdI0TnqnaEbLVyLWabl1Cfjo1V5jjncnCVogI0VPGGCnyN6mqL6BNOd3PKnutIlj1jlre/JLOuhtbLhmQZjmZRfGT4qRWYqnB/MZeUxSlwYDSFU= Received: from TY2PR01MB3835.jpnprd01.prod.outlook.com (2603:1096:404:dd::10) by OS7PR01MB12033.jpnprd01.prod.outlook.com (2603:1096:604:242::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Mon, 8 Jul 2024 12:12:04 +0000 Received: from TY2PR01MB3835.jpnprd01.prod.outlook.com ([fe80::3415:fa3:49b8:5e7e]) by TY2PR01MB3835.jpnprd01.prod.outlook.com ([fe80::3415:fa3:49b8:5e7e%4]) with mapi id 15.20.7741.033; Mon, 8 Jul 2024 12:12:03 +0000 From: "Fujii.Yuki@df.MitsubishiElectric.co.jp" To: Jelte Fennema-Nio , PostgreSQL-development CC: Bruce Momjian , Robert Haas , Tom Lane , Stephen Frost , Andres Freund , Tomas Vondra , Julien Rouhaud , Daniel Gustafsson , vignesh C , Alexander Pyhalov , "Fujii.Yuki@df.MitsubishiElectric.co.jp" Subject: RE: Partial aggregates pushdown Thread-Topic: Partial aggregates pushdown Thread-Index: AQHaZV+FhOOC+4jqD0O6QaSNENpP/LEfzV+AgBnxJJCADnsVgIAB3niAgATs94CAXSjd0IAMTAEAgADLHwCAAJLNgIAJQrjwgAAp5wCAAQFMEIAALTSAgBFC0CCAAavCAIAAGn1QgACpMoCAAEuzIIAAiFGAgAh0U0CAB8s+gIAC0Z0wgAFVKICAACwCgA== Date: Mon, 8 Jul 2024 12:11:46 +0000 Deferred-Delivery: Mon, 8 Jul 2024 12:11:35 +0000 Message-ID: References: In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: x-melpop: 1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=df.MitsubishiElectric.co.jp; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TY2PR01MB3835:EE_|OS7PR01MB12033:EE_ x-ms-office365-filtering-correlation-id: 32f3925f-78b5-4f45-395a-08dc9f472db6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?ZUxmcHVZSGc0QkdqM2hBNkpJZW51SFRnenpKWFRsRFBhTm10VVlIZHZFVjZa?= =?utf-8?B?eXFiRXNrcFNPTU1UcUFWRnEyc3hoVWIxTlhWTXJINEd1TnA4L0hQYXZjQUFu?= =?utf-8?B?eEVYOTExTXVZeHZFbkwwZnB2VmVHLzQwRk1rby94ZmdWcXlmcnlnOG1OSWIr?= =?utf-8?B?YWpFZStzTW5KR05XTy9rK0VpRDgyMEwydHBCYXpCSkFzcHozelJzZy9aQ09L?= =?utf-8?B?bTV5Y0JGSVdlRW42dHNyNnA1M1g5aWY1ZURzQmkvR2tlR1ExUmM5bzRETFNt?= =?utf-8?B?b3Z5OHEwalZLZk5lWlZPRkxOQmxVNzFRNEo1Qzd0OHN1ZEV0L0VZS005MzNx?= =?utf-8?B?akQ4eG8wbHNlOUlIRVFjak9jaFA0QTNIK0FIekxOb1pTclBxQmRhL0ZwK0c3?= =?utf-8?B?SUxIZDc1MXpENi94bWZoZ2QzaEdET05RdjZIbFN3MVZwWGVSRVRuVGFOc3Bl?= =?utf-8?B?NkY1MVgwODZ2cmN0ZTJjYk1PSTFPVi9GZHdsTEVLNVBiZGl1WTJMMkpoZVRj?= =?utf-8?B?UWpwTUxLYWZyOUVZejhaT3U0Qk5YbEFCWG5yc0kzcVdOWU1jNkNaNWxuaXdY?= =?utf-8?B?S0YwbGNieC9DemQwZFFGNDgxM0ZUS0hsQXA1T09DQjVOTmpQTHA0ZWdCOTFE?= =?utf-8?B?NXBnaDV5YXlXK3Npa3kveGkxdWcvZG51b0JkYjBoQXlkU2NXcnJCRUtxeWZo?= =?utf-8?B?RVh6T3VKelpseGYvRFVRUWlZR29OVmVYQ0lnUlF0SGtGRkxZdGhBbitEYkRQ?= =?utf-8?B?dWZac0doVDcyM203ZURYU2luWU9YaEpaUTI2TlR1dzFnQVg0WUZXbGtFZllV?= =?utf-8?B?Rzk3VkxmaDZDekthMXFJbk13d2dJaGZ5emM5dVZrMDFMUDFkSnVWS2trakhZ?= =?utf-8?B?NE9obnliQVZJZG8yUmd2Ri81Z0NzOHVkU21wdklUMjQzd2FUVUYxREhyeE9Y?= =?utf-8?B?V205QjIzb3FWdlY4dUdWT0lPMnkraWZxQ2tnVktoUWxWNVVaNktMc0Zua2pJ?= =?utf-8?B?NlZ2WFBGNkJWVU9ocnl0M2phL1ROeGM5bm16aUE1VGFWNlRYNjNRMVhjankv?= =?utf-8?B?UC81YXBXcHpGQU9ubW1nUGptc3RadzA4dFVQdmNTR0U5aWVuZ2Vsbm1waFlX?= =?utf-8?B?UGdzN01vU0tJN1U2Y2JoVW00T1dHWGxPYkhPajRHUXJYOHI5V3ptbGVtSDV4?= =?utf-8?B?TzQvU2hhZjhaR0E4MDdEOVVoem1jV2Vub2tVejNSeG8rbkZEQmhjbSt1bkZL?= =?utf-8?B?cS9rUDZqQTZQd3dzanh6d1UzTTNqY0J4K3NOUys5eFA2bUdheWdOczhEZUtI?= =?utf-8?B?MlVDOFRPTDZSMm9xU21aMklnZU1pRmI0akNPcmp5QXdZaS9zK1hnK0wyOS9o?= =?utf-8?B?R250MWE5U1pjRUVUbFEvRlAzcnRUV1R0bGpxTmJMMFlvNThHYktqWVh1QTZz?= =?utf-8?B?SXJhWHJrMmNFaGN1YW1iQkFkNGFPeWdjVGdEbWVVTHRWeXRnUFd3ZHV1a0lZ?= =?utf-8?B?b2FvSzAzU1RxY3hId1cwU0d1bHZqa0I2MkF5SlVpdHBLVFAvSCtSc2h4c0Mv?= =?utf-8?B?OVN2NHB0RHFzRU5VM1hhQUpKZUNBOCs4TWkwYmZkRzBGYkNlU1doQlh3NzVN?= =?utf-8?B?VFlNS0VDQS96bDZwcUpOcXZVTXdidTNoVFQ2MFd0SStOOGVJemZjYktybWxI?= =?utf-8?B?T2htYk9LRDEzNCtLbEpwRTM3SlVjSCtQNGNTQ2d0OWQvZ201WWtldWxWMVNS?= =?utf-8?B?alhJT0ZkaHBuNmY0WVRCZkxGbWJzaStYaVRqaXk1OHpLM1RqTDhyR3JQVmNw?= =?utf-8?B?c01naTlqNEYwRUxDRDRIOFF0dXIybTFQdkZrWmprWWJqRjJ4OFgwYmEvclpz?= =?utf-8?B?bzVmUjVVYTViTEZoeFNCT3pDd1RBbjJVYlVTVTI2NkxSeHc9PQ==?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY2PR01MB3835.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cDNPc0NMZG9xbnJSdXJBT0ZGbjJDUGFNNWtjemZsKzEyRitMSWpITFc0eHQ4?= =?utf-8?B?RjJWbzU2c3BLdmtVMDR3N0puTGlqbWJybTRIVWJmNWxQUGd2a1hUSVBNRzdS?= =?utf-8?B?c1V6QkJpcWVvbjZZelFLbVRrbERhb2Z3OXpEck9NTmNJUmxTSnI0Mm5teHpP?= =?utf-8?B?V0ROQ3FSOEZPVWNSMDBobjZVcXo0RElZWVRUM0ppYzlCb29iUkx1RkF4Y0xR?= =?utf-8?B?S0pyTDFwNnhnaWVlOU9PTERKamhUMlBieGk0RWF5bWRxa2RtRXZ4eEdabVNq?= =?utf-8?B?Y25Sa3NSYXlUZmRXQlZncDBlVWdpYzR1RUR4b1kvem5yZ2ZNeFYrZXlsbE9t?= =?utf-8?B?VmdxK2RnbjZqWVJpMVNkaGsxK2UvY1ZFZXU3dU15TzFtOHZEdUlUOVgvUFZF?= =?utf-8?B?OVFPL3RhWWkzTVBZcnRjMk9qdDc5NGpiU3RFaCtzWGltREUraWdrMm1VK3Q2?= =?utf-8?B?WnJMQ05FajRleEtsc0gvb01kbExTanFtckZuL0x5d0RwZnFhdXdKdTFUMzZw?= =?utf-8?B?ZjZlbzVRZ09zWklGc21MMUZhMUtGTXN6eW9GNVFRODFhdWRpb2VhTUVoS3Jo?= =?utf-8?B?bXA2RlRmUHhaZVhBbGQyWGpiUzUzTVp1OWM5bG00RDIxTklsNjV2Um5tTFRE?= =?utf-8?B?eGFCQi9KOENsVmdYRnlhM251aGJhM3JsRkJCNy9MUHB6NHlyMTlxZi9xMnVu?= =?utf-8?B?bUxERm16WDY1NnRBVXFKN01DRHpNOEVIWDVtazRJQVZqbVFCTDAxa1QrRjFC?= =?utf-8?B?aDRnK041U29mYmYyVFpOS3BQMjE5YXJPa1ZDRUU2WHBmQ0RTdTM4N2tGUk9O?= =?utf-8?B?ZUNWQndFVFd1YU9vQlRjQWE4SUtjN0lJakYrS1l1YWNtVG9FTHBob1dIcjZS?= =?utf-8?B?NnBkNTdRQ2dKU2NHVlgyZGEra2JhL2RUYThLc2pTckZsVXRhMWpLMGhFOXh5?= =?utf-8?B?Vm9CWmJJWHdXTE1DT0x2UU5tRjducENIZUs2cUlnMy9iK0dFUkF0YUJCdVNB?= =?utf-8?B?YXlpV0NobDAzTWgvdGVsTG9XSnFKWnYzRlVQZ2FvdDRtUU5Da0pkQy9FVEd5?= =?utf-8?B?Z1MxSXQ1U2E3YnRra1YxWHFDR3BINUhucWZuempQbjBtampGejJWeFM2WnlP?= =?utf-8?B?MEZQbXNyVkI1WWFpbzIyK3lUQ1hCdmRlVVc1YTl0STFoU1NyTUcvSzJEKzlz?= =?utf-8?B?cGpRbzlmalVnbDlBeWEvUzYwTG5mcUViV3RaS0dGNjZPUEZoQkYrVmlJN2Zr?= =?utf-8?B?UDRranRQK1kwb1ZvR0V2OGQ1MGRCN2xXbEc5czB0d1V4TEpZZzBHWTFMT1Jo?= =?utf-8?B?Q3BiOG1RMEovaG9TTFBUVGE4clhXRkEvamJleFR3ZWsyMmhlU000cmorYU9t?= =?utf-8?B?amIzM0dmTXQvVEpEV1NZdVMwN0VhMWQvVXdDU09wbDVBWGQ0S0pBczkxN1M1?= =?utf-8?B?bUxQeCs4ak9HOWlkWEZDcmphMEpmUVZtTmFIeitXWWhQRnVXbkNtajRHQkNI?= =?utf-8?B?RnJvbFRsNDZ4WDl2TkJVRTA5NG5BWDVrVGR0d250aHJab0JnalFsSmc0NVRC?= =?utf-8?B?ZVpEaksxUTBuaWRpWE1FbVUrL1Bpc0MrZ1d5bmYzbnpLRUdNVXdkclNucHFa?= =?utf-8?B?Q3NCMWNIcWNnZGJoMmcwQlJ3bkM4QVZGcUIyY3Q1V1JZbms0TEFtQ1k5Um5E?= =?utf-8?B?cHFBM2FjWFFJTGMwSlgrK0M4S1pVQW1TVUFGaTdPMlcySlh4dmoxaENRcE9o?= =?utf-8?B?cDlnOXExeG5EdXdxckVvbEJxMUo1QytoeUo2OXZSb0pGcFFKUFlIWGovdkpR?= =?utf-8?B?ZTZZMURIc0NBaW1iSUpDZG1BbzZNdk43SGZydjJLR2VHV0dsRGUwUnVMZkw5?= =?utf-8?B?U3oreGVHRGpSNk1ka2xLTXZyZElpZkRzLzVKYkM1Z0c5S0JpY1VMU0trT25I?= =?utf-8?B?UFBQbjZpK3QrNXNpNEd1ekNoSHZnTFZNOWJ5NGg1TzRxSDFTSnV6TEh5RUpO?= =?utf-8?B?c1JWNEVxaXYxTW84cm56YUJVOU4xRUN6V1E5cEhLYStBa3owOHBEZXlsRVZL?= =?utf-8?B?WGFXV0VrOHF4WHp6c05WU0sxcjh6YjZWWlhZR1NFZ0dVa3FuaGRJSlA3YSs3?= =?utf-8?Q?P1elFCi5k5S79xwDIWVGaHpG1?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: df.MitsubishiElectric.co.jp X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TY2PR01MB3835.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32f3925f-78b5-4f45-395a-08dc9f472db6 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jul 2024 12:12:03.7555 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: c5a75b62-4bff-4c96-a720-6621ce9978e5 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ysqZTOIdRBUMzBl1W33HGbrTmoMXt+/BM24NW8eNjH6FzzbqXA2kI2NKQ1TpLnvl5cgPSH/rZtIJqEeA2VR3EQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS7PR01MB12033 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk SGkgSmVsdGUsDQoNClRoYW5rIHlvdSBmb3IgY29tbWVudHMgYW5kIGFkdmlzZXMuDQoNCj4gRnJv bTogSmVsdGUgRmVubmVtYS1OaW8gPHBvc3RncmVzQGplbHRlZi5ubD4NCj4gU2VudDogTW9uZGF5 LCBKdWx5IDgsIDIwMjQgNTozMSBQTQ0KPiBPbiBTdW4sIDcgSnVsIDIwMjQgYXQgMjM6NDYsIEZ1 amlpLll1a2lAZGYuTWl0c3ViaXNoaUVsZWN0cmljLmNvLmpwDQo+IDxGdWppaS5ZdWtpQGRmLm1p dHN1YmlzaGllbGVjdHJpYy5jby5qcD4gd3JvdGU6DQo+ID4gSW4gbXkgbWluZCwgQXBwcm9hY2gx IGlzIHN1cGVyaW9yLiBUaGVyZWZvcmUsIGlmIHRoZXJlIGFyZSBubyBvYmplY3Rpb25zIHRoaXMg d2VlaywgSSBwbGFuIHRvIHJlc3VtZSBpbXBsZW1lbnRpbmcNCj4gQXBwcm9hY2gxIG5leHQgd2Vl ay4gSSB3b3VsZCBhcHByZWNpYXRlIGl0IGlmIGFueW9uZSBjb3VsZCBkaXNjdXNzIHRoZSB0b3Bp YyB3aXRoIG1lIG9yIGFzayBxdWVzdGlvbnMuDQo+IA0KPiBIb25lc3RseSwgdGhlIG1vcmUgSSB0 aGluayBhYm91dCB0aGlzLCB0aGUgbW9yZSBJIGxpa2UgQXBwcm9hY2gyLiBOb3QgYmVjYXVzZSBJ IGRpc2FncmVlIHdpdGggeW91IGFib3V0IHNvbWUgb2YgdGhlDQo+IGxpbWl0YXRpb25zIG9mIEFw cHJvYWNoMiwgYnV0IGJlY2F1c2UgSSdkIHJhdGhlciBzZWUgdGhvc2UgbGltaXRhdGlvbnMgZml4 ZWQgaW4gQ1JFQVRFIFRZUEUsIGluc3RlYWQgb2Ygd29ya2luZyBhcm91bmQNCj4gdGhlc2UgbGlt aXRhdGlvbnMgaW4gQ1JFQVRFIEFHR1JFR0FURS4gVGhhdCB3YXkgbW9yZSB1c2FnZXMgY2FuIGJl bmVmaXQuIERldGFpbGVkIGV4cGxhbmF0aW9uIGFuZCBhcmd1bWVudHMgYmVsb3cuDQpGaXJzdGx5 LCBJIG1heSBoYXZlIGp1bXBlZCB0byBjb25jbHVzaW9ucyB0b28gcXVpY2tseS4gSSBhcG9sb2dp emUgdGhhdC4NCkkgd291bGQgYXBwcmVjaWF0ZSBpdCBpZiB3ZSBjbGFyaWZ5IEFwcHJvYWNoIDEg YW5kIEFwcHJvYWNoIDIgbW9yZSBwcmVjaXNlbHkgYW5kIHdlIGNhbiBwcm9jZWVkIHdpdGggdGhl IGRpc2N1c3Npb24uDQoNCkJlZm9yZSB3ZSBnZXQgaW50byB0aGUgZGV0YWlscywgbGV0IG1lIGJy ZWFrIGRvd24gdGhlIG1haW4gZGlmZmVyZW5jZXMgYmV0d2VlbiBBcHByb2FjaCAxIGFuZCBBcHBy b2FjaCAyLg0KDQpUaGUgYmVzdCB0aGluZyBhYm91dCBBcHByb2FjaDIgaXMgdGhhdCBpdCBsZXRz IHVzIHNlbmQgc3RhdGUgdmFsdWVzIHVzaW5nIHRoZSBleGlzdGluZyBkYXRhIHR5cGUgc3lzdGVt Lg0KSSdtIHdvcnJpZWQgdGhhdCBpZiB3ZSBjaG9vc2UgQXBwcm9hY2gyLCB3ZSBtaWdodCBmYWNl IHNvbWUgbGltaXRzIGJlY2F1c2Ugd2UgaGF2ZSB0byBjcmVhdGUgbmV3IHR5cGVzLg0KQnV0LCB3 ZSBtaWdodCBiZSBhYmxlIHRvIGZpeCB0aGVzZSBsaW1pdHMgaWYgd2UgbG9vayBpbnRvIGl0IG1v cmUuIA0KDQpBcHByb2FjaDEgZG9lc24ndCBtYWtlIG5ldyB0eXBlcywgc28gd2UgY2FuIGF2b2lk IHRoZXNlIGxpbWl0cy4NCkJ1dCwgaXQgbWVhbnMgd2UgaGF2ZSB0byBtYWtlIGV4cG9ydC9pbXBv cnQgZnVuY3Rpb25zIHRoYXQgYXJlIHNpbWlsYXIgdG8gdGhlIHR5cHNlbmQvdHlwcmVjZWl2ZSBm dW5jdGlvbnMuDQpTbywgd2UgbmVlZCB0byBtYWtlIHN1cmUgaWYgd2UgcmVhbGx5IG5lZWQgdGhp cyBtZXRob2QuDQoNCklzIHRoaXMgdGhlIHJpZ2h0IHVuZGVyc3RhbmRpbmc/DQoNCj4gRnJvbTog SmVsdGUgRmVubmVtYS1OaW8gPHBvc3RncmVzQGplbHRlZi5ubD4NCj4gU2VudDogTW9uZGF5LCBK dWx5IDgsIDIwMjQgNTo1OSBQTQ0KPiBPbiBTdW4sIDMwIEp1biAyMDI0IGF0IDIzOjQyLCBGdWpp aS5ZdWtpQGRmLk1pdHN1YmlzaGlFbGVjdHJpYy5jby5qcA0KPiA8RnVqaWkuWXVraUBkZi5taXRz dWJpc2hpZWxlY3RyaWMuY28uanA+IHdyb3RlOg0KPiA+IEluc3RlYWQsIEkgY2FuIG1ha2UgUEFS VElBTF9BR0dSRUdBVEUgYW4gdW5yZXNlcnZlZCB3b3JkIGJ5IHBsYWNpbmcgaXQgYWZ0ZXIgdGhl IEZJTFRFUiBjbGF1c2UsIGxpa2UgYXZnKGMxKSBGSUxURVINCj4gKFdIRVJFIGMyID4gMCkgUEFS VElBTF9BR0dSRUdBVEUsIGFuZCBieSBtYXJraW5nIGl0IGFzIGFuIEFTTEFCRUwgd29yZCBsaWtl IEZJTFRFUi4NCj4gPiBJIGF0dGFjaGVkIHRoZSBwYXRjaCBvZiB0aGUgbWV0aG9kLg0KPiA+IElm IHRoZXJlIGFyZSBubyBvYmplY3Rpb25zLCBJIHdvdWxkIGxpa2UgdG8gcHJvY2VlZCB3aXRoIHRo ZSBtZXRob2QgZGVzY3JpYmVkIGFib3ZlLg0KPiA+IEknZCBhcHByZWNpYXRlIGl0IGlmIGFueW9u ZSBjb21tZW50IHRoZSBtZXRob2QuDQo+IA0KPiBJIGxpa2UgdGhpcyBhcHByb2FjaCBvZiB1c2lu ZyBQQVJUSUFMX0FHR1JFR0FURSBpbiB0aGUgc2FtZSBwbGFjZSBhcyB0aGUgRklMVEVSIGNsYXVz ZS4NClRoYW5rIHlvdSBmb3IgY29tbWVudC4NCg0KPiBPbiBTdW4sIDcgSnVsIDIwMjQgYXQgMjM6 NTIsIEZ1amlpLll1a2lAZGYuTWl0c3ViaXNoaUVsZWN0cmljLmNvLmpwDQo+IDxGdWppaS5ZdWtp QGRmLm1pdHN1YmlzaGllbGVjdHJpYy5jby5qcD4gd3JvdGU6DQo+ID4gTXkgcGxhbiBmb3IgYWR2 YW5jaW5nIHRoZSBwYXRjaCBpbnZvbHZlcyB0aGUgZm9sbG93aW5nIHN0ZXBzOg0KPiA+ICAgU3Rl cDEuIERlY2lkZSB0aGUgYXBwcm9hY2ggb24gdHJhbnNtaXR0aW5nIHN0YXRlIHZhbHVlLg0KPiA+ ICAgU3RlcDIuIEltcGxlbWVudCBjb2RlIChpbmNsdWRpbmcgY29tbWVudHMpIGFuZCB0ZXN0cyB0 byBzdXBwb3J0IGEgc3Vic2V0IG9mIGFnZ3JlZ2F0ZSBmdW5jdGlvbnMuDQo+ID4gICAgIFNwZWNp ZmljYWxseSwgSSBwbGFuIHRvIHN1cHBvcnQgYXZnLCBzdW0sIGFuZCBvdGhlciBhZ2dyZWdhdGUg ZnVuY3Rpb25zIGxpa2UgbWluIGFuZCBtYXggd2hpY2ggZG9uJ3QgbmVlZA0KPiBleHBvcnQvaW1w b3J0IGZ1bmN0aW9ucy4NCj4gPiAgIFN0ZXAzLiBBZGQgZG9jdW1lbnRhdGlvbnMuDQo+ID4NCj4g PiBUbyBjbGFyaWZ5IG15IGFwcHJvYWNoLCBzaG91bGQgSSBwcm9jZWVkIHdpdGggU3RlcCAzIGJl Zm9yZSBTdGVwMj8NCj4gDQo+IChteSBvcGluaW9uLCBCcnVjZSBtaWdodCBoYXZlIGEgZGlmZmVy ZW50IG9uZSkNCj4gDQo+IEkgdGhpbmsgaXQncyBnb29kIHRoYXQgeW91IHNwbGl0IHRoZSBvcmln aW5hbCBwYXRjaCBpbiB0d286DQo+IDAwMDE6IG5vbi1pbnRlcm5hbCBwYXJ0aWFsIGFnZ3JlZ2F0 ZXMNCj4gMDAwMjogaW50ZXJuYWwgcGFydGlhbCBhZ2dyZWdhdGVzDQo+IA0KPiBJIHRoaW5rIHdl J3JlIGFsaWduZWQgb24gdGhlIGdlbmVyYWwgZGVzaWduIG9mIDAwMDEuIFNvIEkgdGhpbmsgbm93 IGlzIGRlZmluaXRlbHkgdGhlIHRpbWUgdG8gaW5jbHVkZSBkb2N1bWVudGF0aW9uIHRoZXJlLCBz bw0KPiB3ZSBjYW4gZGlzY3VzcyB0aGlzIHBhdGNoIGluIG1vcmUgZGV0YWlsLCBhbmQgbW92ZSBp dCBmb3J3YXJkLg0KPiANCj4gSSB0aGluayBnZW5lcmFsbHkgZm9yIDAwMDIgaXQgd291bGQgYWxz byBiZSB1c2VmdWwgdG8gaGF2ZSBkb2N1bWVudGF0aW9uLCBJIHBlcnNvbmFsbHkgbGlrZSByZWFk aW5nIGl0IHRvIHVuZGVyc3RhbmQgdGhlDQo+IGdlbmVyYWwgZGVzaWduIGFuZCB0aGVuIGNvbXBh cmluZyB0aGF0IHRvIHRoZSBjb2RlLiBCdXQgSSBhbHNvIHVuZGVyc3RhbmQgdGhhdCB0aGUgbGFu Z3VhZ2UgZGlmZmVyZW5jZXMgYmV0d2VlbiBKYXBhbmVzZQ0KPiBhbmQgRW5nbGlzaCwgbWFrZXMg d3JpdGluZyBzdWNoIGRvY3MgYSBzaWduaWZpY2FudCBlZmZvcnQgZm9yIHlvdS4gU28gSSB0aGlu ayBpdCB3b3VsZCBiZSBmaW5lIHRvIHNraXAgZG9jcyBmb3IgMDAwMiBmb3Igbm93DQo+IHVudGls IHdlIGRlY2lkZSBvbiB0aGUgYXBwcm9hY2ggd2Ugd2FudCB0byB0YWtlIGZvciBpbnRlcm5hbCBw YXJ0aWFsIGFnZ3JlZ2F0ZXMuDQpBdCBsZWFzdCBmb3IgMDAwMSwgaXQgc2VlbXMgbGlrZSBpdCB3 b3VsZCBiZSBhIGdvb2QgaWRlYSB0byBhdHRhY2ggYSBkb2N1bWVudCBhdCB0aGlzIHN0YWdlLg0K DQpCZXN0IHJlZ2FyZHMsIFl1a2kgRnVqaWkNCi0tDQpZdWtpIEZ1amlpDQpJbmZvcm1hdGlvbiBU ZWNobm9sb2d5IFImRCBDZW50ZXIsIE1pdHN1YmlzaGkgRWxlY3RyaWMgQ29ycG9yYXRpb24NCg==