Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o0gzu-0005Ml-7W for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Jun 2022 10:08:38 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1o0gzr-00028E-73 for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Jun 2022 10:08:35 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o0gzq-000285-GX for pgsql-hackers@lists.postgresql.org; Mon, 13 Jun 2022 10:08:34 +0000 Received: from esa13.fujitsucc.c3s2.iphmx.com ([68.232.156.96]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o0gzh-0000yn-DK for pgsql-hackers@lists.postgresql.org; Mon, 13 Jun 2022 10:08:33 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1655114906; x=1686650906; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=OS8/3B+3hq+n8Y8dOewZNUtuxV6J0yTiXpJFkpy+/iY=; b=oGHzH9KAP7DUM3k3v4yU+k+f6W0pnjmghipOqb/IV70hkGGe0hvZ19Oa MQiyBMjaZ5B53Lu459sfxmP03hWmV3hipi7gctAzgWBB0JvKFvdgxZEZz MGAZSA2y/NUcZRg2erXreS0mLdfoXQt185RadJ9q/J3PIdacXD/N5OiUH B/ZiVgvpiwRUbspQMBC3GFiVVKHcpWEKNFsBJBvRd4bVuB/MZpin8Bal1 QLLPFMGcZgIdvpYYqyGSjY0xmJ+3p4hLTCsT3bBDZzwSzSenZOE6crETm 0DR0JgwLi5pue9uvc+GVNokOpKy8a2gHp8A8yllaqrvsq25qiXCvx1cqr A==; X-IronPort-AV: E=McAfee;i="6400,9594,10376"; a="57748840" X-IronPort-AV: E=Sophos;i="5.91,297,1647270000"; d="scan'208";a="57748840" Received: from mail-os0jpn01lp2108.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.108]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jun 2022 19:08:21 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lPHiBc0F+xsUvQ2oWeqr07NwfTh76S7W4DpflyUnIIDpzCaprXEdYnrvogxqMCdx9uB/e+c5tGQGoVyZsr6rAsoLTgqiP1AlxFBwElNU7EBfV157UvbcSPah+lLY3Q9afodvVWiGAxgv/7KWCZyiWg6uzJWvy3gMZFitm/VpcVzoz2QWR0zipAmMS14w3RC4AZr795K7IsaMG+r6uXjh1uOZzdanLOHoYLKBY13AfRznISmq0gsfB/wupdkhYvPTmxqukD5AEsC4wfuhRF4dL1jWJQcoUDS3/rWzY/w+WMBuUdo4yiMS1Z3BikSNocQOKqvrhyaGhKwcfTUFGji4GA== 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=OS8/3B+3hq+n8Y8dOewZNUtuxV6J0yTiXpJFkpy+/iY=; b=dM1qgybS+OYlQZpAqXteypMJjR+FGYdsXW92Uxio/QC8xLvv2J2I4szeb8Z+aye1+A06Ce6n1+cClZh+fjJsxG5PBmUJNgi68S59nyiDpGWTJnaXQzXaov/+EbV8EQi4FuLM/K8Ke+Z7q8r34fn8TrIlVfWuewMq66ttjzqzjkhELuodAIkvY3aqxyTQobui95ZcuF9GIhWVXH2X/YXB62rY1azz/H8EuQuXxgsft2rLPueLalb0LmdHreSuC2YN4B4xqAz3KbAvhUoOKFLSX67vOjK/Zk9e5nGZsai7BI7tKeEpk/sKRnwOy4bnEpGAuzpjfYcGl8ANG8MrVMr7xw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.onmicrosoft.com; s=selector2-fujitsu-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OS8/3B+3hq+n8Y8dOewZNUtuxV6J0yTiXpJFkpy+/iY=; b=BS8+YtCRU3Xnbbc85DYML/w2QGkxTTE26USh3gxQrGCkoXL5FN4jP5VnJqyqyPl9/gj95eRvjh+l9pTSXERlF+X/H1VvjojXr1sl7w48KAlc7rwDiNJMlMEXh8hEdro9V4wRRje4qP6/dWVCcFHoxiDG+FdNWlKo+q5WUZiqocM= Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com (2603:1096:604:bb::12) by TYCPR01MB8174.jpnprd01.prod.outlook.com (2603:1096:400:103::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.13; Mon, 13 Jun 2022 10:08:17 +0000 Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::e5d7:143b:6e55:80f9]) by OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::e5d7:143b:6e55:80f9%6]) with mapi id 15.20.5332.020; Mon, 13 Jun 2022 10:08:17 +0000 From: "houzj.fnst@fujitsu.com" To: Zheng Li CC: Masahiko Sawada , Amit Kapila , Japin Li , Alvaro Herrera , Dilip Kumar , rajesh singarapu , PostgreSQL Hackers Subject: RE: Support logical replication of DDLs Thread-Topic: Support logical replication of DDLs Thread-Index: AQHYJz33Pggarn88u0G0lS13R7uLfKy9TlgAgAVZmgCAAA2xAIABMlkAgACE3QCAAKgDAIAAduOAgABm6oCABIs+AIACG98AgBfo2QCABsLLgIAyhVqAgBOd9QCAAOYWgIAAPoOAgAUH2oCABQvawIAPYMWAgAHJ99A= Date: Mon, 13 Jun 2022 10:08:16 +0000 Message-ID: References: <202203162206.7spggyktx63e@alvherre.pgsql> In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a3ba2ab3-57d0-4a43-424e-08da4d24a2b1 x-ms-traffictypediagnostic: TYCPR01MB8174:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wePduTa3XmNGlIDwbvD+Ljj9LpEOaPCoHtTDamNfmKdnNXFFwmVgwT/lsK9lXjEhePIAHTogxCiqiY2h8zIjKIqZfYbpUXYfAsFrZBuWFPYYiGtKMcL/tQKDEQ43cY9qPILOplnTZ0NGpkqe4SE7S3jn8EImYnWHEYeNHKOwVPir+QIbVAXfg6l0csQwI1ziiaPWS/hh3+xL8C53fyPjiPFmWTzph+rT0sI1eGWKdeitHC9SDz2sWjV0wEMdNWG8nydALEm3O5hMhoOqe9nxSF2pohgEmY2EepEaUBkpyqIJwhKpxQ+4qo+t67UkG3vQW1uznXzHFgq3iTOk6ont4REQYZJu7EdwtaF+asoNZlh3EmMERWSh++UfA4ipOhzU7xY16EoSKvrCHoufUshyfdsZzqh6NoBYJTgkwCWXCNPSU84nFT8xOoxGysHyXsrZy3mwHblnr+sP7U8FPoEhAZUW/WBm08scl7wFrfwMDXbz0/rjd1FWPTWb3QFbj97HkjXLznKrhVbBm3zV6iOJ0SXRpdWyDhpbAY6YdxKamek8kHdA2m7XUkZgqVVrz3Z7892S8QZcoq0gq1GsCM6flMbOvLf/nQQ0PzhNIMroAiqow+k/MIVqZRvZ1w1nEsFflRlzlMKjfWLaliagGf419IKaY7MV5qgT+11tYWRutwRGWoCDx5wY7cfx7Ub3CIdnZeI+X+aa8HpwliXR/1VveioSLzgt7zXcFtZsyA+SEQDak4jj6EM5+xEN7q0cU/Pz/9SwxGOFnrNCLFt2jdYUC43y4nbOdpZRgN2ZPPTO+sB87OhnY3x0r1j4n+sv5MPApzIEB0kgZUXB7jNHZ7I85w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS0PR01MB5716.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(186003)(86362001)(66574015)(82960400001)(83380400001)(71200400001)(66446008)(4326008)(8676002)(6916009)(66476007)(64756008)(54906003)(66946007)(55016003)(85182001)(316002)(76116006)(53546011)(7696005)(6506007)(33656002)(66556008)(5660300002)(52536014)(8936002)(38070700005)(38100700002)(9686003)(26005)(45080400002)(2906002)(966005)(122000001)(30864003)(508600001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UEROdkxyNmx3SFBhNWlOVnk1cHZXQWRRdERNMVhCUVR1S2JDRkhPWnhlUmJt?= =?utf-8?B?cVF2aHdyTGFlVjBya3JCdVg3RUUxZisrL2RudTZjRmsvZm1oMlljbnhjRU1n?= =?utf-8?B?eU1vQXJWU1lFQlF0MGEzaG9TYm11ck9UR0M1aFpQNDh5bS9tRFhKUkhHSUsv?= =?utf-8?B?YjJXMVQ4VSsxY2lLS01BUHJVdE9VTWhLdVBjRkxKcStPMXJQeE9PMVhyNGlk?= =?utf-8?B?Ym95dnBXVFI2SXdRMEI4QzA2dHN2WHhob3JLVEpyc0JDTzB4TUFFSlhzbldl?= =?utf-8?B?L2pVRGhSK041WTdSMHFFMEhuRmZsZzFZeFBNQndBSnhTVWZVZGxQOWI0WE5S?= =?utf-8?B?amlTTUxEelU3emJlU1hwWTk0QTdVZzVoRU5TVzY0RlZEYWUxdEtOUnNLVkV4?= =?utf-8?B?VU14QkNpK2Exbzk0OXVIRU5UWU1PenJRbFJvMjNIbVZZZkcwcWphT3ZURjdp?= =?utf-8?B?VDNVSzQvbi9QOURVUGhYZDdVT1c4elY1UUdlTEs0MG1nQmk4NlpGVEtqendI?= =?utf-8?B?a2R3VVdYVlZXdEpOc3BWMU9zNnZOZ2FlVEpUbkFkWDAwSjZlUzF3TmZwT2Z1?= =?utf-8?B?YmRuRjZ0QWgrL08wU1BoUDBGRkhqR0hrcXpYNmt4Tk1XOWJqUWhzRlZFWFN4?= =?utf-8?B?QmJIZXFiWmNwalN1NDN1U0k5UHhtRjBwVTRQR0tjcjh6bHhWWk5SQXpHQTNQ?= =?utf-8?B?ejFRTkI2NjFoVDhnQmNRRlhySTUvRUIrZlZyY3A5bERMY1NzczlVL2ZtRGlU?= =?utf-8?B?MUhqNk5WNzViRE9PdlZGSnhQU2llb1NXMlFLWE5FQ0pzS01GOEZ6dkpGUkND?= =?utf-8?B?Y0F5MktxSXZXbmpmbFFKaStPRnV5MG0yR2wxb3I4WUF1MUUxYmM0QXAvWm1o?= =?utf-8?B?RWp5L1RTeEpSUldHaWdVZHdMSDg3dEgrUk5td01hRG1UZTNPRkpGRC9xdnZl?= =?utf-8?B?bTdjbi9MQjVFblQ2TzQyMFltOG1XbVF0Ni9EQ3RwK1dzS0hzWVl2elZXa1ZU?= =?utf-8?B?Z2IzQU94MTdnNkU4T3JnMjlkZmtxRzQ4c1QyWTNURjdYVmNranBjaUovTEov?= =?utf-8?B?OTYyY0dVSG9CMjhObUFtNXF5TlErZ3o1WnJtQm9Xa2F2MmNRNTRtTjlFY0dl?= =?utf-8?B?R2lpRmg1OUFqaExFVFF2eFVycmlFalgrMGNzZVFCUGs1QmZyTWE5bE55cEFN?= =?utf-8?B?RGNLeXU1cHpHUWFneS9QT1RxcE1xVklaK1dmNkx2OWZxU1B5cGdIN1l1dVhG?= =?utf-8?B?UEVLS0J3NGcwbHhUTE9jNUNjemd5YU00WWhTYkFERGh3U29LR1NDQnZpNTVz?= =?utf-8?B?dHVJL3FFNDZ4bll0ZjBXdTQ1WmZvdmF5VzhKM2JVeXB5QUYydEoyang3dm1y?= =?utf-8?B?c09YWk93c2swQzloQUZXU2ZvekdQSGp5NDdqbE53cXpmczZ1NzR6cWpIL3Ar?= =?utf-8?B?aGVVVjdxYjNqeXZtSmZUODVjRERoZGtPS0FaRUI5bVZRcWtBdmxid3FFdzVs?= =?utf-8?B?NUYzZFJ2a2lQUHBVOWtIaGJGdE8yOE04eGUxRFVTWmFOOFZ3YmtURDJWRng4?= =?utf-8?B?QUt6NnFITGlGZ2E4RWJqdm5LampzYkd0U1I5ZEFHb0RoMFZ0clF6N3BLaVdv?= =?utf-8?B?WVNzTzF0TnEyakFscEFlQ3IvYlNiVlliMmZoc2hkUG12V0JRY0tnV2piL3d1?= =?utf-8?B?dHRYMWo3OXRLMmZzTXhIVUljQzIvSmkvUk12NjV6dXBIcUIxRGtYMGE4ZjVp?= =?utf-8?B?OEJmMkRYaDQzeXJrVzFKVnFKQnNDTmxXc01LejEvMHVsM09EM0ZBcEtzYnh2?= =?utf-8?B?NU5FeXkxTVJVMkxiTVZ4RzVHbmE4RW1JeDRPa0EyaUFwdmxBVndOQlRoV04x?= =?utf-8?B?czdteC94bC9MdU9oSGl4VmI4WjJpZmVlQzNyZDZkbHBad09aZWQ4WEZwU2E2?= =?utf-8?B?cEZFTFIyV0FUV0RjdVZsQzBGdkxtajJucUdRUnBQWTdEcm5MOCtCKzlCMk5u?= =?utf-8?B?SUJ0bEFhalgzc3Rza3NjOS9reU50VU9Hblp1VFBRbFd3aS9aSUN1SythajdB?= =?utf-8?B?RnZjMUt5ejVSYzkzcUhKK2pxcjl3R3BqdVVUWnBoL0JmamRoektkT1VRdW42?= =?utf-8?B?R0RJYmMyQnp0K0xzM3lmM0l5UmlhYzBUTmMwRUIvV28ydTZkTnc2Q0NTQncr?= =?utf-8?B?MkZPZmdNL0Z5RWZTeTFaN0I1T0tXVExna0IxbmFwS1EzdG9GUlNVcWlWYW1v?= =?utf-8?B?V0RIaDVFWDMxdWxMT0FNdlJ4aUtIZWZNVVdTeUxhT21PZTRHVTFDZUlWcGdZ?= =?utf-8?B?Nm1FNFpRWmtLejhTRjR1ekpjUjVMN1ZmMEVOd2VlWWNCem8zS1l4Zz09?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS0PR01MB5716.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a3ba2ab3-57d0-4a43-424e-08da4d24a2b1 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jun 2022 10:08:16.9721 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4jMbXLezMSd9XV+AwKauSX7Cdwli2bEh9CqfmOiF9gdnPtTBOo3Ye4bEIKJXq5Tu35a5ZOYK7QO/43+9WSkGFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB8174 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gU3VuZGF5LCBKdW5lIDEyLCAyMDIyIDI6NDYgUE0gWmhlbmcgTGkgPHpoZW5nbGkxMEBnbWFp bC5jb20+IHdyb3RlOg0KPiANCj4gPiA+ID4gPiA+IEkndmUgbm90IGxvb2tlZCBhdCB0aGVzZSBw YXRjaGVzIGluLWRlcHRoIHlldCBidXQgd2l0aCB0aGlzDQo+ID4gPiA+ID4gPiBhcHByb2FjaCwg d2hhdCBkbyB5b3UgdGhpbmsgd2UgY2FuIGhhbmRsZSB0aGUgRERMIHN5bnRheA0KPiA+ID4gPiA+ ID4gZGlmZmVyZW5jZXMgYmV0d2VlbiBtYWpvciB2ZXJzaW9ucz8gRERMIHN5bnRheCBvciBiZWhh dmlvcg0KPiA+ID4gPiA+ID4gY291bGQgYmUgY2hhbmdlZCBieSBmdXR1cmUgY2hhbmdlcyBhbmQg SSB0aGluayB3ZSBuZWVkIHRvDQo+ID4gPiA+ID4gPiBzb21laG93IGRlYWwgd2l0aCB0aGUgZGlm ZmVyZW5jZXMuIEZvcg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBleGFtcGxlLCBpZiB0aGUgdXNl ciB1c2VzIGxvZ2ljYWwgcmVwbGljYXRpb24gZm9yIG1ham9yDQo+ID4gPiA+ID4gPiB2ZXJzaW9u IHVwZ3JhZGUsIHRoZSBwdWJsaXNoZXIgaXMgb2xkZXIgdGhhbiB0aGUgc3Vic2NyaWJlci4NCj4g PiA+ID4gPiA+IFdlIG1pZ2h0IGhhdmUgdG8gcmV3cml0ZSB0aGUgRERMIGJlZm9yZSBhcHBseWlu ZyB0byB0aGUNCj4gPiA+ID4gPiA+IHN1YnNjcmliZXIgYmVjYXVzZSB0aGUgRERMIGV4ZWN1dGVk IG9uIHRoZSBwdWJsaXNoZXIgbm8gbG9uZ2VyDQo+ID4gPiA+ID4gPiB3b3JrIG9uIGEgbmV3IFBv c3RncmVTUUwgdmVyc2lvbg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSSBkb24ndCB0aGluayB3ZSB3 aWxsIGFsbG93IHRoaXMga2luZCBvZiBzaXR1YXRpb24gdG8gaGFwcGVuIGluDQo+ID4gPiA+ID4g dGhlIGZpcnN0IHBsYWNlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LiBJZiBhIERETCBubyBs b25nZXINCj4gPiA+ID4gPiB3b3JrcyBvbiBhIG5ldyB2ZXJzaW9uIG9mIFBvc3RncmVTUUwsIHRo ZSB1c2VyIHdpbGwgaGF2ZSB0bw0KPiA+ID4gPiA+IGNoYW5nZSB0aGUgYXBwbGljYXRpb24gY29k ZSBhcyB3ZWxsLg0KPiA+ID4gPiA+IFNvIGV2ZW4gaWYgaXQgaGFwcGVucyBmb3INCj4gPiA+ID4g PiB3aGF0ZXZlciByZWFzb24sIHdlIGNvdWxkIGVpdGhlciAxLiBmYWlsIHRoZSBhcHBseSB3b3Jr ZXIgYW5kDQo+ID4gPiA+ID4gbGV0IHRoZSB1c2VyIGZpeCBzdWNoIERETCBiZWNhdXNlIHRoZXkn bGwgaGF2ZSB0byBmaXggdGhlDQo+ID4gPiA+ID4gYXBwbGljYXRpb24gY29kZSBhbnl3YXkgd2hl biB0aGlzIGhhcHBlbnMuDQo+ID4gPiA+ID4gMi4gYWRkIGd1YXJkIHJhaWwgbG9naWMgaW4gdGhl IGFwcGx5IHdvcmtlciB0byBhdXRvbWF0aWNhbGx5IGZpeA0KPiA+ID4gPiA+IHN1Y2ggRERMIGlm IHBvc3NpYmxlLCBrbm93aW5nIHRoZSB2ZXJzaW9uIG9mIHRoZSBzb3VyY2UgYW5kDQo+ID4gPiA+ ID4gdGFyZ2V0LiBTaW1pbGFyIGxvZ2ljIG11c3QgaGF2ZSBiZWVuIGltcGxlbWVudGVkIGZvcg0K PiBwZ19kdW1wL3Jlc3RvcmUvdXBncmFkZS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gb3Igd2Ug bWlnaHQgaGF2ZSB0byBhZGQgc29tZSBvcHRpb25zIHRvIHRoZSBEREwgYmVmb3JlIHRoZQ0KPiA+ ID4gPiA+ID4gYXBwbGljYXRpb24gaW4gb3JkZXIgdG8ga2VlcCB0aGUgc2FtZSBiZWhhdmlvci4g VGhpcyBzZWVtcyB0bw0KPiA+ID4gPiA+ID4gcmVxdWlyZSBhIGRpZmZlcmVudCBzb2x1dGlvbiBm cm9tIHdoYXQgdGhlIHBhdGNoIGRvZXMgZm9yIHRoZQ0KPiA+ID4gPiA+ID4gcHJvYmxlbSB5b3Ug bWVudGlvbmVkIHN1Y2gNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gYXMgIkRETCBpbnZvbHZpbmcg bXVsdGlwbGUgdGFibGVzIHdoZXJlIG9ubHkgc29tZSB0YWJsZXMgYXJlDQo+ID4gPiA+ID4gPiBy ZXBsaWNhdGVk4oCdLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gRmlyc3Qgb2YgYWxsLCB0aGlzIGNh c2UgY2FuIG9ubHkgaGFwcGVuIHdoZW4gdGhlIGN1c3RvbWVyDQo+ID4gPiA+ID4gY2hvb3NlcyB0 byBvbmx5IHJlcGxpY2F0ZSBhIHN1YnNldCBvZiB0aGUgdGFibGVzIGluIGEgZGF0YWJhc2UNCj4g PiA+ID4gPiBpbiB3aGljaCBjYXNlIHRhYmxlIGxldmVsIERETCByZXBsaWNhdGlvbiBpcyBjaG9z ZW4gaW5zdGVhZCBvZg0KPiA+ID4gPiA+IGRhdGFiYXNlIGxldmVsIERETCByZXBsaWNhdGlvbiAo d2hlcmUgYWxsIHRhYmxlcyBhbmQgRERMcyBhcmUNCj4gPiA+ID4gPiByZXBsaWNhdGVkKS4gSSB0 aGluayB0aGUgc29sdXRpb24gd291bGQgYmU6DQo+ID4gPiA+ID4gMS4gbWFrZSBiZXN0IGVmZm9y dCB0byBkZXRlY3Qgc3VjaCBERExzIG9uIHRoZSBwdWJsaXNoZXIgYW5kDQo+ID4gPiA+ID4gYXZv aWQgbG9nZ2luZyBvZiBzdWNoIERETHMgaW4gdGFibGUgbGV2ZWwgRERMIHJlcGxpY2F0aW9uLg0K PiA+ID4gPiA+IDIuIGFwcGx5IHdvcmtlciB3aWxsIGZhaWwgdG8gcmVwbGF5IHN1Y2ggY29tbWFu ZCBkdWUgdG8gbWlzc2luZw0KPiA+ID4gPiA+IG9iamVjdHMgaWYgc3VjaCBERExzIGRpZG4ndCBn ZXQgZmlsdGVyZWQgb24gdGhlIHB1Ymxpc2hlciBmb3INCj4gPiA+ID4gPiBzb21lIHJlYXNvbi4g VGhpcyBzaG91bGQgYmUgcmFyZSBhbmQgSSB0aGluayBpdCdzIE9LIGV2ZW4gaWYgaXQNCj4gPiA+ ID4gPiBoYXBwZW5zLCB3ZSdsbCBmaW5kIG91dCB3aHkgYW5kIGZpeCBpdC4NCj4gPiA+ID4gPg0K PiA+ID4gPg0KPiA+ID4gPiBGV0lXLCBib3RoIHRoZXNlIGNhc2VzIGNvdWxkIGJlIGhhbmRsZWQg d2l0aCB0aGUgZGVwYXJzaW5nDQo+ID4gPiA+IGFwcHJvYWNoLCBhbmQgdGhlIGhhbmRsaW5nIHJl bGF0ZWQgdG8gdGhlIGRyb3Agb2YgbXVsdGlwbGUgdGFibGVzDQo+ID4gPiA+IHdoZXJlIG9ubHkg YSBmZXcgYXJlIHB1Ymxpc2hlZCBpcyBhbHJlYWR5IGRvbmUgaW4gdGhlIGxhc3QgUE9DDQo+ID4g PiA+IHBhdGNoIHNoYXJlZCBieSBBamluIFsxXS4NCj4gPiA+ID4NCj4gPiA+DQo+ID4gPiBSaWdo dC4gU28gSSdtIGluY2xpbmVkIHRvIHRoaW5rIHRoYXQgZGVwYXJzaW5nIGFwcHJvYWNoIGlzIGJl dHRlcg0KPiA+ID4gZnJvbSB0aGlzIHBvaW50IGFzIHdlbGwgYXMgdGhlIHBvaW50IG1lbnRpb25l ZCBieSDDgWx2YXJvIGJlZm9yZVsxXS4NCj4gPg0KPiA+IEkgYWdyZWUuIE9uZSBtb3JlIHBvaW50 IGFib3V0IGRlcGFyc2luZyBhcHByb2FjaCBpcyB0aGF0IGl0IGNhbiBhbHNvDQo+ID4gaGVscCB0 byByZXBsaWNhdGUgQ1JFQVRFIFRBQkxFIEFTL1NFTEVDVCBJTlRPIGluIGEgYmV0dGVyIHdheS4N Cj4gPg0KPiA+IFRoZSBtYWluIGlkZWEgb2YgcmVwbGljYXRpbmcgdGhlIENSRUFURSBUQUJMRSBB UyBpcyB0aGF0IHdlIGRlcHJhc2UNCj4gPiB0aGUgQ1JFQVRFIFRBQkxFIEFTIGludG8gYSBzaW1w bGUgQ1JFQVRFIFRBQkxFKHdpdGhvdXQgc3VicXVlcnkpDQo+ID4gY29tbWFuZCBhbmQgV0FMIGxv ZyBpdCBhZnRlciBjcmVhdGluZyB0aGUgdGFibGUgYW5kIGJlZm9yZSB3cml0aW5nDQo+ID4gZGF0 YSBpbnRvIHRoZSB0YWJsZSBhbmQgcmVwbGljYXRlIHRoZSBpbmNvbWluZyB3cml0ZXMgbGF0ZXIg YXMgbm9ybWFsDQo+ID4gSU5TRVJUcy4gSW4gdGhpcyBhcHBvcmFjaCwgd2UgZG9uJ3QgZXhlY3V0 ZSB0aGUgc3VicXVlcnkgb24gc3Vic2NyaWJlcg0KPiA+IHNvIHRoYXQgZG9uJ3QgbmVlZCB0byBt YWtlIHN1cmUgYWxsIHRoZSBvYmplY3RzIHJlZmVyZW5jZWQgaW4gdGhlDQo+ID4gc3VicXVlcnkg YWxzbyBleGlzdHMgaW4gc3Vic2NyaWJlci4gQW5kIFRoaXMgYXBwcm9hY2ggd29ya3MgZm9yIGFs bA0KPiA+IGtpbmQgb2YgY29tbWFuZHMoZS5nLiBDUkFFVEUgVEFCTEUgQVMgW1NFTEVDVF1bRVhF Q1VURV1bVkFMVUVTXSkNCj4gPg0KPiA+IE9uZSBwcm9ibGVtIG9mIHRoaXMgYXBwcm9hY2ggaXMg dGhhdCB3ZSBjYW5ub3QgdXNlIHRoZSBjdXJyZW50IHRyaWdnZXINCj4gPiB0byBkZXBhcnNlIG9y IFdBTCBsb2cgdGhlIENSRUFURSBUQUJMRS4gQmVjYXVzZSBub25lIG9mIHRoZSBldmVuDQo+ID4g dHJpZ2dlciBpcyBmaXJlZCBhZnRlciBjcmVhdGluZyB0aGUgdGFibGUgYW5kIGJlZm9yZSBpbnNl cnRpbmcgdGhlDQo+ID4gZGF0YS4gVG8gc29sdmUgdGhpcywgb25lIGlkZWEgaXMgdGhhdCB3ZSBj b3VsZCBkaXJlY3RseSBhZGQgc29tZSBjb2RlDQo+ID4gYXQgdGhlIGVuZCBvZiBjcmVhdGVfY3Rh c19pbnRlcm5hbCgpIHRvIGRlcGFyc2UgYW5kIFdBTCBsb2cgaXQuDQo+ID4gTW9yZW92ZXIsIHdl IGNvdWxkIGV2ZW4gaW50cm9kdWNlIGEgbmV3IHR5cGUgb2YgZXZlbnQNCj4gPiB0cmlnZ2VyKHRh YmxlX2NyZWF0ZSkgd2hpY2ggd291bGQgYmUgZmlyZWQgYXQgdGhlIGV4cGVjdGVkIHRpbWluZyBz bw0KPiA+IHRoYXQgd2UgY2FuIHVzZSB0aGUgdHJpZ2dlciBmdW5jdGlvbiB0byBkZXBhcnNlIGFu ZCBXQUwgbG9nLiBJIGFtIG5vdA0KPiA+IHN1cmUgd2hpY2ggd2F5IGlzIGJldHRlci4gSSB0ZW1w b3JhcmlseSB1c2UgdGhlIHNlY29uZCBpZGVhIHdoaWNoDQo+ID4gaW50cm9kdWNlIGEgbmV3IHR5 cGUgZXZlbnQgdHJpZ2dlciBpbiB0aGUgMDAwMyBQT0MgcGF0Y2guDQo+IA0KPiBIaSwgSSBhZ3Jl ZSB0aGF0IGFuIGludGVybWVkaWF0ZSBzdHJ1Y3R1cmVkIGZvcm1hdCAod2l0aCBhbGwgb2JqZWN0 cyBzY2hlbWENCj4gcXVhbGlmaWVkKSBtYWtlcyBpdCBlYXNpZXIgdG8gaGFuZGxlIHN5bnRheCBk aWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBwdWJsaXNoZXINCj4gYW5kIHRoZSBzdWJzY3JpYmVyLiBT dWNoIHN0cnVjdHVyZWQgZm9ybWF0IGlzIGFsc28gbGlrZWx5IGVhc2llciB0byB1c2UgYnkgb3Ro ZXINCj4gbG9naWNhbCByZXBsaWNhdGlvbiBjb25zdW1lcnMuDQo+IEhvd2V2ZXIsIHRvIG1ha2Ug dGhpbmdzIG1vcmUgbWFpbnRhaW5hYmxlLCB3b3VsZCBpdCBiZSBiZXR0ZXIgdG8gdXNlIHRoZQ0K PiBleGlzdGluZyBzZXJpYWxpemF0aW9uL2Rlc2VyaWFsaXphdGlvbiBmdW5jdGlvbnMgaW4gb3V0 L3JlYWRmdW5jcy5jIHRvIGdlbmVyYXRlDQo+IHRoZSBwYXJzZXRyZWUgcmVwcmVzZW50YXRpb24g b2YgdGhlIERETCBjb21tYW5kPw0KPiANCj4gSXQgdHVybnMgb3V0IHN1cHBvcnQgZm9yIERETCBj b21tYW5kcyBhcmUgbW9zdGx5IG1pc3NpbmcgaW4gb3V0L3JlYWRmdW5jcyBhdA0KPiB0aGUgbW9t ZW50LiBzZWUgdGhlIGZvbGxvd2luZyBjb21tZW50IGZyb20NCj4gb3V0ZnVuY3MuYzoNCj4gDQo+ ICogT3V0cHV0IHN1cHBvcnQgZm9yIHJhdyBwYXJzZXRyZWVzDQo+ICogaXMgc29tZXdoYXQgaW5j b21wbGV0ZSwgdG9vOyBpbiBwYXJ0aWN1bGFyLCB1dGlsaXR5IHN0YXRlbWVudHMgYXJlDQo+ICog YWxtb3N0IGVudGlyZWx5IHVuc3VwcG9ydGVkLiBXZSB0cnkgdG8gc3VwcG9ydCBldmVyeXRoaW5n IHRoYXQgY2FuDQo+ICogYXBwZWFyIGluIGEgcmF3IFNFTEVDVCwgdGhvdWdoLg0KPiANCj4gU28g d2hhdCBhYm91dCBhZGRpbmcgc3VwcG9ydCBmb3IgdXRpbGl0eSBzdGF0ZW1lbnRzIGluIG91dC9y ZWFkZnVuY3MuYyBzbyB0aGF0DQo+IG5vZGVUb1N0cmluZygpL3N0cmluZ1RvTm9kZSgpIHdvcmtz IG9uIHJhdyBwYXJzZXRyZWVzIG9mIHV0aWxpdHkgc3RhdGVtZW50cz8gSQ0KPiB0aGluayB0aGVy ZSdsbCBiZSBzb21lIGJlbmVmaXRzOg0KPiAxLiBJdCdzIGxlc3MgY29kZSBjb21wYXJlZCB0byBp bnRyb2R1Y2luZyBicmFuZCBuZXcNCj4gc2VyaWFsaXphdGlvbi9kZXNlcmlhbGl6YXRpb24gY29k ZSBmb3IgRERMIGNvbW1hbmRzLg0KPiAyLiBJdCdzIG1vcmUgbWFpbnRhaW5hYmxlIHNpbmNlIGhh Y2tlcnMgYXJlIGFscmVhZHkgZmFtaWxpYXIgd2l0aA0KPiBvdXQvcmVhZGZ1bmNzLmMuDQo+IDMu IFN1cHBvcnQgZm9yIHV0aWxpdHkgc3RhdGVtZW50cyBpbiBvdXQvcmVhZGZ1bmNzLmMgbWF5IHR1 cm4gb3V0IHRvIGJlIHVzZWZ1bA0KPiBmb3IgZnV0dXJlIGZlYXR1cmVzIHRoYXQgbmVlZCBzZXJp YWxpemF0aW9uL2Rlc2VyaWFsaXphdGlvbiBvZiBEREwgcmF3DQo+IHBhcnNldHJlZXMuDQo+IA0K PiBJbiBwYXRjaCAwMDEyIEkgZXhwbG9yZWQgdGhlIGFib3ZlIGlkZWEgYnkgY2hhbmdpbmcgdGhl IGxvZ2dpbmcgZm9ybWF0IG9mDQo+IGxvZ2ljYWwgZGRsbWVzc2FnZSB0byB0aGF0IG9mIHRoZSBz ZXJpYWxpemF0aW9uIG9mIHRoZSByYXcgcGFyc2V0cmVlIG9mIHRoZSBEREwNCj4gY29tbWFuZCB1 c2luZyBub2RlVG9TdHJpbmcoKSwgdGhlIGFwcGx5IHdvcmtlciBkZXNlcmlhbGl6ZXMgdGhlIG1l c3NhZ2UNCj4gYmFjayB0byB0aGUgcmF3IHBhcnNldHJlZSBieSBjYWxsaW5nIHN0cmluZ1RvTm9k ZSgpLg0KPiBIZXJlIGFyZSB0aGUgZGV0YWlsZWQgY2hhbmdlczoNCj4gICAgIC0gQWRkaW5nIHNl cmlhbGl6YXRpb24vZGVzZXJpYWxpemF0aW9uIGZ1bmN0aW9ucyBpbiBvdXRmdW5jcy5jL3JlYWRm dW5jcy5jDQo+ICAgICAgIGZvciBDcmVhdGVUYWJsZVN0bXQsIEFsdGVyVGFibGVTdG10LCBEcm9w U3RtdCwgQ3JlYXRlRnVuY3Rpb25TdG10IGFuZA0KPiAgICAgICBBbHRlckZ1bmN0aW9uU3RtdC4N Cj4gICAgIC0gTW9kaWZpZWQgdGhlIHNlcmlhbGl6YXRpb24gcHJvY2VzcyB0byBhbHdheXMgc2No ZW1hIHF1YWxpZnkgb2JqZWN0IG5hbWVzLA0KPiAgICAgICB0aGlzIGlzIGRvbmUgYnkgb3V0UXVh bGlmaWVkTmFtZSgpIGFuZCBhIGNoYW5nZSBpbiBfb3V0UmFuZ2VWYXIoKS4NCj4gICAgIC0gQ2hh bmdlIHRoZSBpbnB1dCBvZiBMb2dMb2dpY2FsRERMTWVzc2FnZSgpIHRvIHVzZQ0KPiBub2RlVG9T dHJpbmcocGFyc2V0cmVlKS4NCj4gICAgIC0gQ2hhbmdlIHRoZSBhcHBseSB3b3JrZXIgdG8gY2Fs bCBzdHJpbmdUb05vZGUoZGRsbWVzc2FnZSkgdG8gZ2V0IHRoZQ0KPiByYXcgcGFyc2V0cmVlIGJh Y2sgYW5kIHRoZW4gZGlyZWN0bHkgZXhlY3V0ZSB0aGUgcGFyc2V0cmVlLg0KPiANCj4gVGhpcyBw YXRjaCBkb2Vzbid0IGludHJvZHVjZSBhbnkgZGVwYXJzaW5nIGZ1bmN0aW9uYWxpdHkgeWV0LCBi dXQgaXQgYWxzbw0KPiBwcm92aWRlcyB0aGUgZmxleGliaWxpdHkgdG8gZWRpdCB0aGUgY29tbWFu ZCBiZWluZyByZXBsYXllZCBieSBkaXJlY3RseQ0KPiBtb2RpZnlpbmcgdGhlIHJhdyBwYXJzZXRy ZWUgb24gdGhlIGFwcGx5IHdvcmtlciAoZS5nLiBzZXR0aW5nIHRoZSBtaXNzaW5nX29rDQo+IGZs YWcgZm9yIERyb3BTdG10IGlzIGVxdWl2YWxlbnQgdG8gYWRkaW5nICJJRiBFWElTVCIgdG8gdGhl IHN0YXRlbWVudCkuDQo+IA0KPiBUaG91Z2h0cz8NCg0KSGksDQoNClRoYW5rcyBmb3IgcHJvdmlk aW5nIHRoaXMgaWRlYS4NCg0KSSBsb29rZWQgYXQgdGhlIHN0cmluZyB0aGF0IGlzIHVzZWQgZm9y IHJlcGxpY2F0aW9uOg0KDQoiIiINCntBTFRFUlRBQkxFU1RNVCA6cmVsYXRpb24ge1JBTkdFVkFS IDpzY2hlbWFuYW1lIHB1YmxpYyA6cmVsbmFtZSBmb28NCjppbmggdHJ1ZSA6cmVscGVyc2lzdGVu Y2UgcCA6YWxpYXMgPD4gOmxvY2F0aW9uIDEyfSA6Y21kcyAoe0FMVEVSVEFCTEVDTUQNCjpzdWJ0 eXBlIDAgOm5hbWUgPD4gOm51bSAwIDpuZXdvd25lciA8PiA6ZGVmIHtDT0xVTU5ERUYgOmNvbG5h bWUgYg0KOnR5cGVOYW1lIHtUWVBFTkFNRSA6bmFtZXMgKCJwdWJsaWMiICJ0aW1lc3RhbXB0eiIp IDp0eXBlT2lkIDAgOnNldG9mDQpmYWxzZSA6cGN0X3R5cGUgZmFsc2UgOnR5cG1vZHMgPD4gOnR5 cGVtb2QgLTEgOmFycmF5Qm91bmRzIDw+IDpsb2NhdGlvbg0KMjl9IDpjb21wcmVzc2lvbiA8PiA6 aW5oY291bnQgMCA6aXNfbG9jYWwgdHJ1ZSA6aXNfbm90X251bGwgZmFsc2UNCjppc19mcm9tX3R5 cGUgZmFsc2UgOnN0b3JhZ2UgPD4gOnJhd19kZWZhdWx0IDw+IDpjb29rZWRfZGVmYXVsdCA8Pg0K OmlkZW50aXR5IDw+IDppZGVudGl0eVNlcXVlbmNlIDw+IDpnZW5lcmF0ZWQgPD4gOmNvbGxDbGF1 c2UgPD4gOmNvbGxPaWQgMA0KOmNvbnN0cmFpbnRzIDw+IDpmZHdvcHRpb25zIDw+IDpsb2NhdGlv biAyN30gOmJlaGF2aW9yIDAgOm1pc3Npbmdfb2sNCmZhbHNlfSkgOm9ianR5cGUgNDEgOm1pc3Np bmdfb2sgZmFsc2V9DQoiIiINCg0KSSB0aGluayB0aGUgY29udmVydGVkIHBhcnNldHJlZSBzdHJp bmcgaW5jbHVkZXMgbG90cyBvZiBpbnRlcm5hbA0Kb2JqZWN0cyhlLmcgdHlwZU9pZC9wY3RfdHlw ZS9vYmp0eXBlL2NvbGxPaWQvbG9jYXRpb24vLi4uKS4gVGhlc2UgYXJlDQp1bm5lY2Vzc2FyeSBz dHVmZiBmb3IgcmVwbGljYXRpb24gYW5kIHdlIGNhbm5vdCBtYWtlIHN1cmUgYWxsIHRoZSBpbnRl cm5hbA0Kc3R1ZmYgYXJlIGNvbnNpc3RlbnQgYW1vbmcgcHViL3N1Yi4gU28gSSBhbSBub3Qgc3Vy ZSB3aGV0aGVyIHJlcGxpY2F0aW5nDQp0aGlzIHN0cmluZyBpcyBiZXR0ZXIuDQoNCkJlc2lkZXMs IHJlcGxpY2F0aW5nIHRoZSBzdHJpbmcgZnJvbSBub2RldG9zdHJpbmcoKSBtZWFucyB3ZSB3b3Vs ZCBuZWVkIHRvDQpkZWFsIHdpdGggdGhlIHN0cnVjdHVyZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhl IHB1Ymxpc2hlciBhbmQgdGhlDQpzdWJzY3JpYmVyIGlmIGFueSByZWxhdGVkIHN0cnVjdHVyZSBo YXMgYmVlbiBjaGFuZ2VkIHdoaWNoIHNlZW1zIG5vdCBnb29kLg0KDQoNCklNTywgVGhlIGFkdmFu dGFnZXMgb2YgdGhlIGRlcGFyc2luZyBhcHByb2FjaChhcyBpbXBsZW1lbnRlZCBpbiB0aGUgUE9D DQpwYXRjaCBzZXRbMV0pIGFyZToNCg0KMSkgV2UgY2FuIGdlbmVyYXRlIGEgY29tbWFuZCByZXBy ZXNlbnRhdGlvbiB0aGF0IGNhbiBiZQ0KcGFyc2VkL3Byb2Nlc3NlZC90cmFuc2Zvcm1lZCBhcmJp dHJhcmlseSBieSB0aGUgc3Vic2NyaWJlciB1c2luZyBnZW5lcmljDQpydWxlcyBpdChmb3IgZXhh bXBsZTogdXNlciBjYW4gZWFzaWx5IHJlcGxhY2UgdGhlIHNjaGVtYSBuYW1lIGluIGl0KSB3aGls ZQ0KdGhlIHJlc3VsdHMgb2Ygbm9kZXRvc3RyaW5nKCkgc2VlbXMgbm90IGEgc3RhbmRhcmQganNv biBzdHJpbmcsIHNvIEkgYW0NCm5vdCBzdXJlIGNhbiB1c2VyIHJldXNlIGl0IHdpdGhvdXQgdHJh dmVyc2luZyB0aGUgcGFyc2V0cmVlIGFnYWluLg0KDQoyKSBXaXRoIGV2ZW50X3RyaWdnZXIgKyBk ZXBhcnNlciwgd2UgY2FuIGZpbHRlciB0aGUgdW5wdWJsaXNoZWQgb2JqZWN0cw0KZWFzaWVyLiBG b3IgZXhhbXBsZTogIkRST1AgVEFCTEUgdGFibGVfcHViLCB0YWJsZV91bnB1YjsiLiBXZSBjYW4g ZGVwYXJzZQ0KaXQgaW50byB0d28gY29tbWFuZHMgIkRST1AgVEFCTEUgdGFibGVfcHViIiBhbmQg IkRST1AgVEFCTEUgdGFibGVfcHViIiBhbmQNCm9ubHkgcHVibGlzaCB0aGUgZmlyc3Qgb25lLg0K DQozKSBXaXRoIGRlcGFyc2VyLCB3ZSBhcmUgYWJsZSB0byBxdWVyeSB0aGUgY2F0YWxvZyBpbiB0 aGUgZGVwYXJzZXIgdG8NCmJ1aWxkIGEgY29tcGxldGUgY29tbWFuZChmaWxsZWQgd2l0aCBzY2hl bWFuYW1lLi4uKSB3aGljaCB1c2VyIGRvbid0IG5lZWQNCnRvIGRvIGFueSBvdGhlciB3b3JrIGZv ciBpdC4gV2UgZG9uJ3QgbmVlZCB0byBmb3JjZSB0aGUgc3Vic2NyaWJlciB0byBzZXQNCnRoZSBz YW1lIHNlYXJjaF9wYXRoIGFzIHRoZSBwdWJsaXNoZXIgd2hpY2ggZ2l2ZSB1c2VyIG1vcmUgZmxl eGliaWxpdHkuDQoNCjQpIEZvciBDUkVBVEUgVEFCTEUgQVMsIHdlIGNhbiBzZXBhcmF0ZSBvdXQg dGhlIENSRUFURSBUQUJMRSBwYXJ0IHdpdGggdGhlDQpoZWxwIG9mIGRlcGFyc2VyIGFuZCBldmVu dCB0cmlnZ2VyLiBUaGlzIGNhbiBhdm9pZCBleGVjdXRpbmcgdGhlIHN1YnF1ZXJ5DQpvbiBzdWJj cmliZXIuDQoNCjUpIEZvciBBTFRFUiBUQUJMRSBjb21tYW5kLiBXZSBtaWdodCB3YW50IHRvIGZp bHRlciBvdXQgdGhlIERETCB3aGljaCB1c2UNCnZvbGF0aWxlIGZ1bmN0aW9uIGFzIGRpc2N1c3Nl ZCBpbiBbMl0uIFdlIGNhbiBhY2hpZXZlIHRoaXMgZWFzaWVyIGJ5DQpleHRlbmRpbmcgdGhlIGRl cGFyc2VyIHRvIGNoZWNrIHRoZSBmdW5jdGlvbnMgdXNlZC4gV2UgY2FuIGV2ZW4gcmVidWlsZCBh DQpjb21tYW5kIHdpdGhvdXQgdW5zdXBwb3J0ZWQgZnVuY3Rpb25zIHRvIHJlcGxpY2F0ZSBieSB1 c2luZyBkZXBhcnNlci4NCg0KVGhlcmUgbWF5IGJlIG1vcmUgY2FzZXMgSSBhbSBtaXNzaW5nIGFz IHdlIGFyZSBzdGlsbCBhbmFseXppbmcgb3RoZXIgRERMcy4NCg0KQW5kIG1vc3Qgb2YgdGhlc2Ug aWRlYXMgaGFzIGJlZW4gaW1wbGVtZW50ZWQgaW4gdGhlIFBPQyBwYXRjaFsxXS4NCg0KVGhlIG92 ZXJoZWFkIHRvIG1haW50YWluIHRoZSBkZXBhcnNlciBpcyBub3QgYSBwcm9ibGVtIGFzIGxvbmcg YXMgd2UgaGF2ZQ0KYSBnb29kIHRlc3QgbWVjaGFuaXNtIHRvIHZlcmlmeSB0aGF0IGFsbCBERExz IGFyZSBzdXBwb3J0ZWQuDQoNCk92ZXJhbGwsIHRoZSBldmVudF90cmlnZ2VyICsgZGVwYXJzaW5n IGFwcHJvYWNoIGxvb2tzIGJldHRlciB0byBtZS4NCg0KWzFdIGh0dHBzOi8vd3d3LnBvc3RncmVz cWwub3JnL21lc3NhZ2UtaWQvT1MwUFIwMU1CNTcxNjczM0Q2Qzc5RDIxOThFNTc3M0NDOTRBNzkl NDBPUzBQUjAxTUI1NzE2LmpwbnByZDAxLnByb2Qub3V0bG9vay5jb20NClsyXSBodHRwczovL3d3 dy5wb3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL0NBQTRlSzFKVnluRnNqJTJCbWNSV2o5c2V3UjJ5 TlVzNkx1TnhKMGVOLWdOSjgzb0tjVU9RJTQwbWFpbC5nbWFpbC5jb20NCg0KQmVzdCByZWdhcmRz LA0KSG91IHpqDQo=