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 1kkU1K-0007ms-MO for pgsql-sql@arkaria.postgresql.org; Wed, 02 Dec 2020 15:26:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kkU1H-0004yG-41 for pgsql-sql@arkaria.postgresql.org; Wed, 02 Dec 2020 15:26:15 +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 1kkU1G-0004y8-N3 for pgsql-sql@lists.postgresql.org; Wed, 02 Dec 2020 15:26:14 +0000 Received: from esa10.moodyscorp.iphmx.com ([139.138.33.121]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kkU1C-0002CJ-1O for pgsql-sql@lists.postgresql.org; Wed, 02 Dec 2020 15:26:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=moodys.com; i=@moodys.com; q=dns/txt; s=moodys; t=1606922770; x=1638458770; h=from:to:subject:date:message-id:mime-version; bh=B2NrGNdgDlrWhtl4XvDVFWRVXppfwzZJ8FM+FfECynI=; b=LwJQcj3Wu1TTeowDJ31dIK7ZaAy52iUjyHSZFCMHav0wt7cpkxpbahy+ 7WuLEIQ8LDM7ERgz4K8siOlIj0AzEaqLtP0fB1QMs9u5fKTdGDGJ7HiZp 1lNnFTwBDiZd8R7hXSX9ohI2QU2kob+YFaFh6SGCHOARRJFRQ9yQQets9 0=; Authentication-Results: esa10.moodyscorp.iphmx.com; dkim=pass (signature verified) header.i=@moodys.onmicrosoft.com IronPort-SDR: qB/RT2gkq4r2+Oi4VG7Aqw0swLylkWmi+DXXjmtuVPj8b4wODqc7SiRjceUqNbUJPTqiaeec32 QUJaa2CUL0tjLsrCpqdoPTLOTewwHb4dlTLcGwb3klDO4XbiVPTh/KmyEHiZyrTIZVCB6p5qjN wpYDp41wDFsgoEkOSmeZdxoxAI+Llg6UvFei4JP4nPSULb49fThl/z2mqX9nc4fvLqaeKEa+2Y EYR/ww/0+la51CCvcSwEPWqWr7JJA+B+QRBNF4SAlhDN1DcUh4bnlq/tAUJ/x3FnjogXO5O4uD 6Dg= X-IronPort-AV: E=Sophos;i="5.78,387,1599541200"; d="scan'208,217";a="26222959" Received: from mdyftcvmlrly101.moodys.com (HELO ftc-lbemlrly701.mcoz.tld) ([141.160.21.100]) by esa10.moodyscorp.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 02 Dec 2020 09:26:04 -0600 Received: from FTC-WBEX16MB702.ad.moodys.net ([10.14.56.232]) by ftc-lbemlrly701.mcoz.tld (8.14.7/8.14.7) with ESMTP id 0B2FQ3KB016645 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 2 Dec 2020 10:26:04 -0500 Received: from FTC-WBEX16MB702.ad.moodys.net (10.14.56.232) by FTC-WBEX16MB702.ad.moodys.net (10.14.56.232) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2044.4; Wed, 2 Dec 2020 10:26:03 -0500 Received: from mail.moodys.com (10.14.16.43) by FTC-WBEX16MB702.ad.moodys.net (10.14.56.232) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2044.4 via Frontend Transport; Wed, 2 Dec 2020 10:26:03 -0500 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.101) by mail.moodys.com (10.14.16.43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2044.4; Wed, 2 Dec 2020 10:25:53 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WxWhRHmkoEUi+EQTOYtrdHBArRcIzTp2YRAzg6Z/AaA/jRC3wD1+xlEZ1fzun/5WBTmKeFmQMY5w6tL70XGdBO8shOpzbVa2O0i8zUpq5Zs39pfzD+VrzzhAqCs3dEmRYWTlCeQshvtRpAk8viIE8bMKn70JmcEEuFsdSsxCGxGRL6zfTY+tv1Qv7bxyDqYaZ+17IBGjGdNIIZal7n8vrLXP39W0Wp0Q1TQ8tgw9vG5UX2waTgTMdPJV18mJyCHftVhHIsW3d+pL+zUCYWaRy78CEK6yRJYseQiGiNA/vULfZ1OTKI6bHDiCQK3FfsTk1MO81U32MfuT88JdJU7hSA== 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-SenderADCheck; bh=r0i9q/4wGDSx5bkqXE+dR2VxVtCIQVe6zw7WBjOjlvI=; b=aq/RttqDNqYlpx2zXYOhOBM0tIF4xVkwAfhsCKKz4eRd5aWnIW1pwbW5dlufHhOPrW3SPldZEjrWJ5Pcag6mzyUb9xlXjEP7H3nkkP1ElEG67zJYZ83VQecjkWYc1wL49HrIG6qb9qBIK7b2gYJFZAo3jHvr5iE84ZIySx3rqpRFTJV5yP0Z+JjfAnTGFkT4Aru5LT6gMPEkXLLQqDdrM5FZuMArmr2uC6F/YrJlZkVJs6mcq6AJVSmrHpZ1XUhGg9MXo+BKOjrz4Lvl8n4+sekO/GjBMEG87oDXHAccOBVW7XGsisysvzdfZirjwrXNRwLowWui3q3uR3/1EOIcAg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=moodys.com; dmarc=pass action=none header.from=moodys.com; dkim=pass header.d=moodys.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=moodys.onmicrosoft.com; s=selector2-moodys-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=r0i9q/4wGDSx5bkqXE+dR2VxVtCIQVe6zw7WBjOjlvI=; b=UMlC2MSuoFhihNbg2fwcJ8In4xd8CFSIV8ff5IqUJQw1lRBFZhDTai564J4oq8Pszpculo8GpQid+iS7gmONeXXblux83SZoc4E5qkzrkEwgIenQNOZZ6Pj9v40/3N1lLamf+YO8sjE3RpHSn6tHFiFx+qAPBhrIWTHVbAteZ0U= Received: from DM6PR20MB3329.namprd20.prod.outlook.com (2603:10b6:5:2a7::19) by DM6PR20MB3460.namprd20.prod.outlook.com (2603:10b6:5:2a3::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.17; Wed, 2 Dec 2020 15:25:37 +0000 Received: from DM6PR20MB3329.namprd20.prod.outlook.com ([fe80::614d:b2c1:6b12:8eaf]) by DM6PR20MB3329.namprd20.prod.outlook.com ([fe80::614d:b2c1:6b12:8eaf%8]) with mapi id 15.20.3632.017; Wed, 2 Dec 2020 15:25:37 +0000 From: "Voillequin, Jean-Marc" To: "pgsql-sql@lists.postgresql.org" Subject: parallel safe on user defined functions Thread-Topic: parallel safe on user defined functions Thread-Index: AdbIv157vbVuE1VWT9SS/4g7fREwIA== Date: Wed, 2 Dec 2020 15:25:37 +0000 Message-ID: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [78.234.100.59] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 66f8abb0-3888-4cb0-9404-08d896d68529 x-ms-traffictypediagnostic: DM6PR20MB3460: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2276; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EsgrUo3Yz76UA5Nrk4TLdKsu0QE3RH7J3DxCWl0qnfzrDfYjHDGbbl5G5i6ls6X7f3BLm6/2JMkWIjVRcHLv2k8+aZDXxzfuLnzTbG2WWNVU5F9v32L1vZKLx4fb/mlrbHPrwpT5ZDJUr79W4XLAbOz8YFK7WAM78/tLlLnSduYHUpJ1oX5qKyx9bgc/IdwXOwDm0P52+16WXoHbz2SEINJnR/tWt0gARpEh9JKiPaB/Wk7Z3nRrSKlK6o2OC5ak92QAIIpewJdS5Rv9AHf3lwXXfsXEPDFUqZgJ0WrvPDzSSCljpDEApOa44bFe1g/hejB4t165AEPpQQe6RzNgzQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR20MB3329.namprd20.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(396003)(136003)(346002)(39860400002)(376002)(33656002)(186003)(478600001)(2906002)(76116006)(66476007)(64756008)(66446008)(52536014)(66946007)(66556008)(9686003)(26005)(83380400001)(9326002)(71200400001)(5660300002)(8936002)(6916009)(7696005)(8676002)(316002)(55016002)(86362001)(6506007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: UXIDJz2KZjaER2J4HjUMrvAZo+AU6M7YmhgTeY1dvvRZ7UeKKCwFXm4A1riSLOgQQMsnR0t9bHiF8AOq5QtpXPSM7yFG0y0RED0XG6L+TQ7KE6iU2E2/lfdj91k8t0Ru9yA4PfMO0HI7hFsAkYMQ4kvG16gZgeyZ3ZN47vHt6dh0pgh95XlIwwllXa5tmluUTKYuJC9tSULZgOJu71fNy6tr9zx5rGmxbwjD/N1Eb2dtay3kYV9sl26PjopCUkay77zZnNvRh4fEAsxUO99KmIGTU2nCaXJvQP1v43zYtaqJI8dOxvFHsQsQFl5saOdcLAnDxI0OVRKDqZ0hxp627o/VRu2dUHArDCXtIZdw50FWvIJtJaQB1mPObrx99dOed5v6JfoN6l4MEmHF91PLL4yi+Z61JvKtPqF7Un325z5csvBVRGDvQOuQk03zj3c1spmDIAHGdhc/qLJ0QJhs0xdoRmtlULqEkQUD1UDLf2K1GXbxLbCwi+oJYHJDn1Yn6KpRzXfXy2iqQqpf703mRTqPoySSX1zwVYtecdE6VRTeeoCixr4R3oNQppWE8pOl+C4jClEAd/eqKqsZYNoi8iZIu67VMKipV+9N//G3Ym/2TdiZw+eyzMCDDZiZevtRS8R9vIG9OpcnnYmezObZ/T3oOHmG2M3nPM6xNulnYY8QNqGNwlGkMBpwsEEccOKUtehLSdMhf7HC1c9u6BGW19ce6QRSiyyY181PjvD0YyE= x-ms-exchange-transport-forked: True Content-Type: multipart/alternative; boundary="_000_DM6PR20MB3329006C838039F0B3F43E64BEF30DM6PR20MB3329namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR20MB3329.namprd20.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 66f8abb0-3888-4cb0-9404-08d896d68529 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2020 15:25:37.3450 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 1061a8b8-b1ee-4249-bb84-9a2cd2792fae X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: VykITgPJXY1vodq7rLVtIpyQlGgOA19UmMve8w7NHrUVTD8fJhdxzGTt2jURQfiZ0Fcsu+ArSdmmuCUSeFgLyw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR20MB3460 X-OriginatorOrg: moodys.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --_000_DM6PR20MB3329006C838039F0B3F43E64BEF30DM6PR20MB3329namp_ MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGVsbG8sCgpJIHdhbnQgdG8gbWFyayBzb21lIGZ1bmN0aW9ucyBhcyBwYXJhbGxlbCBzYWZlLCBi dXQgSSB0aGluayBpdCdzIGRpZmZpY3VsdCB0byB1bmRlcnN0YW5kIHRoZSBkb2N1bWVudGF0aW9u OgoKIkZ1bmN0aW9ucyBhbmQgYWdncmVnYXRlcyBtdXN0IGJlIG1hcmtlZCBQQVJBTExFTCBVTlNB RkUgaWYgdGhleSB3cml0ZSB0byB0aGUgZGF0YWJhc2UsIGFjY2VzcyBzZXF1ZW5jZXMsIGNoYW5n ZSB0aGUgdHJhbnNhY3Rpb24gc3RhdGUgZXZlbiB0ZW1wb3JhcmlseQooZS5nLiwgYSBQTC9wZ1NR TCBmdW5jdGlvbiB3aGljaCBlc3RhYmxpc2hlcyBhbiBFWENFUFRJT04gYmxvY2sgdG8gY2F0Y2gg ZXJyb3JzKSwgb3IgbWFrZSBwZXJzaXN0ZW50IGNoYW5nZXMgdG8gc2V0dGluZ3MuClNpbWlsYXJs eSwgZnVuY3Rpb25zIG11c3QgYmUgbWFya2VkIFBBUkFMTEVMIFJFU1RSSUNURUQgaWYgdGhleSBh Y2Nlc3MgdGVtcG9yYXJ5IHRhYmxlcywgY2xpZW50IGNvbm5lY3Rpb24gc3RhdGUsIGN1cnNvcnMs IHByZXBhcmVkIHN0YXRlbWVudHMsCm9yIG1pc2NlbGxhbmVvdXMgYmFja2VuZC1sb2NhbCBzdGF0 ZSB3aGljaCB0aGUgc3lzdGVtIGNhbm5vdCBzeW5jaHJvbml6ZSBhY3Jvc3Mgd29ya2Vycy4KRm9y IGV4YW1wbGUsIHNldHNlZWQgYW5kIHJhbmRvbSBhcmUgcGFyYWxsZWwgcmVzdHJpY3RlZCBmb3Ig dGhpcyBsYXN0IHJlYXNvbi4iCgoKRm9yIGluc3RhbmNlLCBpcyB0aGUgZm9sbG93aW5nIHBscHl0 aG9uM3UgZnVuY3Rpb24gcGFyYWxsZWwgc2FmZT8KCmNyZWF0ZSBvciByZXBsYWNlIGZ1bmN0aW9u IGYxKGtleSB0ZXh0LCB2YWxfZGVmYXVsdCBpbiB0ZXh0IGRlZmF1bHQgbnVsbCkgcmV0dXJucyB0 ZXh0IGFzICQkCnJldHVybiBHRC5nZXQoa2V5Lmxvd2VyKCksdmFsX2RlZmF1bHQpCiQkIGxhbmd1 YWdlIHBscHl0aG9uM3U7Cgo9PiBJcyB0aGUgUHl0aG9uIEdEIGRpY3Rpb25hcnkgYSAibWlzY2Vs bGFuZW91cyBiYWNrZW5kLWxvY2FsIHN0YXRlIiA/CgoKClNhbWUgcXVlc3Rpb24gZm9yIGEgZnVu Y3Rpb24gdGhhdCByYWlzZXMgYW4gZXhjZXB0aW9uIHdpdGggdGhlIGtleXdvcmQgInJhaXNlIjoK CmNyZWF0ZSBvciByZXBsYWNlIGZ1bmN0aW9uIC4uLgouLi4KICAgICAgICAgICAgICAgIHJhaXNl IGludmFsaWRfZGF0ZXRpbWVfZm9ybWF0OwouLi4KZW5kOwokJCBsYW5ndWFnZSBwbHBnc3FsOwoK PT4gSXMgaXQgYSB0cmFuc2FjdGlvbiBzdGF0ZSBjaGFuZ2U/CgoKU2FtZSBxdWVzdGlvbiBmb3Ig YSBmdW5jdGlvbiB0aGF0IHBlcmZvcm1zIGFuICJleGVjdXRlIGludG8iOgoKY3JlYXRlIG9yIHJl cGxhY2UgZnVuY3Rpb24gZjIoZCBkYXRlLCBuIG51bWVyaWMpIHJldHVybnMgZGF0ZSBhcyAkJApk ZWNsYXJlCnJldCBkYXRlOwpiZWdpbgogICAgICAgICAgICAgICAgZXhlY3V0ZSBmb3JtYXQoJ3Nl bGVjdCAoJyclcycnOjpkYXRlICsgaW50ZXJ2YWwgJyclcycnKTo6ZGF0ZScsZCxjb25jYXQobiwn IGRheScpKSBpbnRvIHJldDsKICAgICAgICAgICAgICAgIHJldHVybiByZXQ7CmVuZDsKJCQgbGFu Z3VhZ2UgcGxwZ3NxbDsKCj0+IElzIHRoaXMgZXhlY3V0ZSBzdGF0ZW1lbnQgYmUgY29uc2lkZXJl ZCBhcyBhIGN1cnNvcj8KClRoYW5rcyEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KCk1vb2R5J3MgbW9uaXRvcnMgZW1haWwgY29tbXVuaWNhdGlvbnMgdGhyb3VnaCBp dHMgbmV0d29ya3MgZm9yIHJlZ3VsYXRvcnkgY29tcGxpYW5jZSBwdXJwb3NlcyBhbmQgdG8gcHJv dGVjdCBpdHMgY3VzdG9tZXJzLCBlbXBsb3llZXMgYW5kIGJ1c2luZXNzIGFuZCB3aGVyZSBhbGxv d2VkIHRvIGRvIHNvIGJ5IGFwcGxpY2FibGUgbGF3LiBUaGUgaW5mb3JtYXRpb24gY29udGFpbmVk IGluIHRoaXMgZS1tYWlsIG1lc3NhZ2UsIGFuZCBhbnkgYXR0YWNobWVudCB0aGVyZXRvLCBpcyBj b25maWRlbnRpYWwgYW5kIG1heSBub3QgYmUgZGlzY2xvc2VkIHdpdGhvdXQgb3VyIGV4cHJlc3Mg cGVybWlzc2lvbi4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCBvciBhbiBl bXBsb3llZSBvciBhZ2VudCByZXNwb25zaWJsZSBmb3IgZGVsaXZlcmluZyB0aGlzIG1lc3NhZ2Ug dG8gdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91IGFyZSBoZXJlYnkgbm90aWZpZWQgdGhhdCB5 b3UgaGF2ZSByZWNlaXZlZCB0aGlzIG1lc3NhZ2UgaW4gZXJyb3IgYW5kIHRoYXQgYW55IHJldmll dywgZGlzc2VtaW5hdGlvbiwgZGlzdHJpYnV0aW9uIG9yIGNvcHlpbmcgb2YgdGhpcyBtZXNzYWdl LCBvciBhbnkgYXR0YWNobWVudCB0aGVyZXRvLCBpbiB3aG9sZSBvciBpbiBwYXJ0LCBpcyBzdHJp Y3RseSBwcm9oaWJpdGVkLiBJZiB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIG1lc3NhZ2UgaW4gZXJy b3IsIHBsZWFzZSBpbW1lZGlhdGVseSBub3RpZnkgdXMgYnkgdGVsZXBob25lLCBmYXggb3IgZS1t YWlsIGFuZCBkZWxldGUgdGhlIG1lc3NhZ2UgYW5kIGFsbCBvZiBpdHMgYXR0YWNobWVudHMuIEV2 ZXJ5IGVmZm9ydCBpcyBtYWRlIHRvIGtlZXAgb3VyIG5ldHdvcmsgZnJlZSBmcm9tIHZpcnVzZXMu IFlvdSBzaG91bGQsIGhvd2V2ZXIsIHJldmlldyB0aGlzIGUtbWFpbCBtZXNzYWdlLCBhcyB3ZWxs IGFzIGFueSBhdHRhY2htZW50IHRoZXJldG8sIGZvciB2aXJ1c2VzLiBXZSB0YWtlIG5vIHJlc3Bv bnNpYmlsaXR5IGFuZCBoYXZlIG5vIGxpYWJpbGl0eSBmb3IgYW55IGNvbXB1dGVyIHZpcnVzIHdo aWNoIG1heSBiZSB0cmFuc2ZlcnJlZCB2aWEgdGhpcyBlLW1haWwgbWVzc2FnZS4KClRoaXMgZW1h aWwgd2FzIHNlbnQgdG8geW91IGJ5IE1vb2R54oCZcyBJbnZlc3RvcnMgU2VydmljZSBFTUVBIExp bWl0ZWQKUmVnaXN0ZXJlZCBvZmZpY2UgYWRkcmVzczoKT25lIENhbmFkYSBTcXVhcmUKQ2FuYXJ5 IFdoYXJmCkxvbmRvbiwgRTE0IDVGQQpSZWdpc3RlcmVkIGluIEVuZ2xhbmQgYW5kIFdhbGVzIE5v OiA4OTIyNzAxCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo= --_000_DM6PR20MB3329006C838039F0B3F43E64BEF30DM6PR20MB3329namp_ MIME-Version: 1.0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNv bnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPgo8c3R5bGU+ PCEtLQovKiBGb250IERlZmluaXRpb25zICovCkBmb250LWZhY2UKCXtmb250LWZhbWlseTpXaW5n ZGluZ3M7CglwYW5vc2UtMTo1IDAgMCAwIDAgMCAwIDAgMCAwO30KQGZvbnQtZmFjZQoJe2ZvbnQt ZmFtaWx5OiJDYW1icmlhIE1hdGgiOwoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9CkBm b250LWZhY2UKCXtmb250LWZhbWlseTpDYWxpYnJpOwoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQg MyAyIDQ7fQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLwpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFs LCBkaXYuTXNvTm9ybWFsCgl7bWFyZ2luOjBpbjsKCW1hcmdpbi1ib3R0b206LjAwMDFwdDsKCWZv bnQtc2l6ZToxMS4wcHQ7Cglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjt9CmE6bGlu aywgc3Bhbi5Nc29IeXBlcmxpbmsKCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7Cgljb2xvcjojMDU2 M0MxOwoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9CmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBl cmxpbmtGb2xsb3dlZAoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsKCWNvbG9yOiM5NTRGNzI7Cgl0 ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30KY29kZQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsK CWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7fQpwLk1zb0xpc3RQYXJhZ3JhcGgsIGxpLk1zb0xp c3RQYXJhZ3JhcGgsIGRpdi5Nc29MaXN0UGFyYWdyYXBoCgl7bXNvLXN0eWxlLXByaW9yaXR5OjM0 OwoJbWFyZ2luLXRvcDowaW47CgltYXJnaW4tcmlnaHQ6MGluOwoJbWFyZ2luLWJvdHRvbTowaW47 CgltYXJnaW4tbGVmdDouNWluOwoJbWFyZ2luLWJvdHRvbTouMDAwMXB0OwoJZm9udC1zaXplOjEx LjBwdDsKCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30KcC5tc29ub3JtYWwwLCBs aS5tc29ub3JtYWwwLCBkaXYubXNvbm9ybWFsMAoJe21zby1zdHlsZS1uYW1lOm1zb25vcm1hbDsK CW1zby1tYXJnaW4tdG9wLWFsdDphdXRvOwoJbWFyZ2luLXJpZ2h0OjBpbjsKCW1zby1tYXJnaW4t Ym90dG9tLWFsdDphdXRvOwoJbWFyZ2luLWxlZnQ6MGluOwoJZm9udC1zaXplOjExLjBwdDsKCWZv bnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30Kc3Bhbi5FbWFpbFN0eWxlMTkKCXttc28t c3R5bGUtdHlwZTpwZXJzb25hbC1jb21wb3NlOwoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMt c2VyaWY7Cgljb2xvcjp3aW5kb3d0ZXh0O30KLk1zb0NocERlZmF1bHQKCXttc28tc3R5bGUtdHlw ZTpleHBvcnQtb25seTsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiQ2FsaWJyaSIs c2Fucy1zZXJpZjt9CkBwYWdlIFdvcmRTZWN0aW9uMQoJe3NpemU6OC41aW4gMTEuMGluOwoJbWFy Z2luOjcwLjg1cHQgNzAuODVwdCA3MC44NXB0IDcwLjg1cHQ7fQpkaXYuV29yZFNlY3Rpb24xCgl7 cGFnZTpXb3JkU2VjdGlvbjE7fQovKiBMaXN0IERlZmluaXRpb25zICovCkBsaXN0IGwwCgl7bXNv LWxpc3QtaWQ6MTMwNjYxODU0MDsKCW1zby1saXN0LXR5cGU6aHlicmlkOwoJbXNvLWxpc3QtdGVt cGxhdGUtaWRzOi0xODg5MjM3NTc4IDE2MzIyOTg4ODYgNjc2OTg2OTEgNjc2OTg2OTMgNjc2OTg2 ODkgNjc2OTg2OTEgNjc2OTg2OTMgNjc2OTg2ODkgNjc2OTg2OTEgNjc2OTg2OTM7fQpAbGlzdCBs MDpsZXZlbDEKCXttc28tbGV2ZWwtc3RhcnQtYXQ6MDsKCW1zby1sZXZlbC1udW1iZXItZm9ybWF0 OmJ1bGxldDsKCW1zby1sZXZlbC10ZXh0OlxGMEYwOwoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7 Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cgl0ZXh0LWluZGVudDotLjI1aW47Cglm b250LWZhbWlseTpXaW5nZGluZ3M7Cgltc28tZmFyZWFzdC1mb250LWZhbWlseTpDYWxpYnJpOwoJ bXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQpAbGlzdCBsMDpsZXZlbDIK CXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Cgltc28tbGV2ZWwtdGV4dDpvOwoJbXNv LWxldmVsLXRhYi1zdG9wOm5vbmU7Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cgl0 ZXh0LWluZGVudDotLjI1aW47Cglmb250LWZhbWlseToiQ291cmllciBOZXciO30KQGxpc3QgbDA6 bGV2ZWwzCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwoJbXNvLWxldmVsLXRleHQ6 XEYwQTc7Cgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsKCW1zby1sZXZlbC1udW1iZXItcG9zaXRp b246bGVmdDsKCXRleHQtaW5kZW50Oi0uMjVpbjsKCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9CkBs aXN0IGwwOmxldmVsNAoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKCW1zby1sZXZl bC10ZXh0OlxGMEI3OwoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7Cgltc28tbGV2ZWwtbnVtYmVy LXBvc2l0aW9uOmxlZnQ7Cgl0ZXh0LWluZGVudDotLjI1aW47Cglmb250LWZhbWlseTpTeW1ib2w7 fQpAbGlzdCBsMDpsZXZlbDUKCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Cgltc28t bGV2ZWwtdGV4dDpvOwoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7Cgltc28tbGV2ZWwtbnVtYmVy LXBvc2l0aW9uOmxlZnQ7Cgl0ZXh0LWluZGVudDotLjI1aW47Cglmb250LWZhbWlseToiQ291cmll ciBOZXciO30KQGxpc3QgbDA6bGV2ZWw2Cgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0 OwoJbXNvLWxldmVsLXRleHQ6XEYwQTc7Cgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsKCW1zby1s ZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKCXRleHQtaW5kZW50Oi0uMjVpbjsKCWZvbnQtZmFt aWx5OldpbmdkaW5nczt9CkBsaXN0IGwwOmxldmVsNwoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0 OmJ1bGxldDsKCW1zby1sZXZlbC10ZXh0OlxGMEI3OwoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7 Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cgl0ZXh0LWluZGVudDotLjI1aW47Cglm b250LWZhbWlseTpTeW1ib2w7fQpAbGlzdCBsMDpsZXZlbDgKCXttc28tbGV2ZWwtbnVtYmVyLWZv cm1hdDpidWxsZXQ7Cgltc28tbGV2ZWwtdGV4dDpvOwoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7 Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cgl0ZXh0LWluZGVudDotLjI1aW47Cglm b250LWZhbWlseToiQ291cmllciBOZXciO30KQGxpc3QgbDA6bGV2ZWw5Cgl7bXNvLWxldmVsLW51 bWJlci1mb3JtYXQ6YnVsbGV0OwoJbXNvLWxldmVsLXRleHQ6XEYwQTc7Cgltc28tbGV2ZWwtdGFi LXN0b3A6bm9uZTsKCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKCXRleHQtaW5kZW50 Oi0uMjVpbjsKCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cm9sCgl7bWFyZ2luLWJvdHRvbTowaW47 fQp1bAoJe21hcmdpbi1ib3R0b206MGluO30KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+ PHhtbD4KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4KPC94 bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+CjxvOnNoYXBlbGF5b3V0IHY6 ZXh0PSJlZGl0Ij4KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+CjwvbzpzaGFwZWxh eW91dD48L3htbD48IVtlbmRpZl0tLT4KPC9oZWFkPgo8Ym9keSBsYW5nPSJFTi1VUyIgbGluaz0i IzA1NjNDMSIgdmxpbms9IiM5NTRGNzIiPgo8ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEiPgo8cCBj bGFzcz0iTXNvTm9ybWFsIj5IZWxsbyw8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkkgd2FudCB0byBt YXJrIHNvbWUgZnVuY3Rpb25zIGFzIHBhcmFsbGVsIHNhZmUsIGJ1dCBJIHRoaW5rIGl0JiM4MjE3 O3MgZGlmZmljdWx0IHRvIHVuZGVyc3RhbmQgdGhlIGRvY3VtZW50YXRpb246PG86cD48L286cD48 L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPgo8cCBjbGFzcz0i TXNvTm9ybWFsIj4mcXVvdDtGdW5jdGlvbnMgYW5kIGFnZ3JlZ2F0ZXMgbXVzdCBiZSBtYXJrZWQg UEFSQUxMRUwgVU5TQUZFIGlmIHRoZXkgd3JpdGUgdG8gdGhlIGRhdGFiYXNlLCBhY2Nlc3Mgc2Vx dWVuY2VzLCBjaGFuZ2UgdGhlIHRyYW5zYWN0aW9uIHN0YXRlIGV2ZW4gdGVtcG9yYXJpbHkKPG86 cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPihlLmcuLCBhIFBML3BnU1FMIGZ1bmN0 aW9uIHdoaWNoIGVzdGFibGlzaGVzIGFuIEVYQ0VQVElPTiBibG9jayB0byBjYXRjaCBlcnJvcnMp LCBvciBtYWtlIHBlcnNpc3RlbnQgY2hhbmdlcyB0byBzZXR0aW5ncy4KPG86cD48L286cD48L3A+ CjxwIGNsYXNzPSJNc29Ob3JtYWwiPlNpbWlsYXJseSwgZnVuY3Rpb25zIG11c3QgYmUgbWFya2Vk IFBBUkFMTEVMIFJFU1RSSUNURUQgaWYgdGhleSBhY2Nlc3MgdGVtcG9yYXJ5IHRhYmxlcywgY2xp ZW50IGNvbm5lY3Rpb24gc3RhdGUsIGN1cnNvcnMsIHByZXBhcmVkIHN0YXRlbWVudHMsCjxvOnA+ PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5vciBtaXNjZWxsYW5lb3VzIGJhY2tlbmQt bG9jYWwgc3RhdGUgd2hpY2ggdGhlIHN5c3RlbSBjYW5ub3Qgc3luY2hyb25pemUgYWNyb3NzIHdv cmtlcnMuCjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5Gb3IgZXhhbXBsZSwg c2V0c2VlZCBhbmQgcmFuZG9tIGFyZSBwYXJhbGxlbCByZXN0cmljdGVkIGZvciB0aGlzIGxhc3Qg cmVhc29uLiZxdW90OzxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZu YnNwOzwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+ CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkZvciBpbnN0YW5jZSwgaXMgdGhlIGZvbGxvd2luZyBwbHB5 dGhvbjN1IGZ1bmN0aW9uIHBhcmFsbGVsIHNhZmU/PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5jcmVh dGUgb3IgcmVwbGFjZSBmdW5jdGlvbiBmMShrZXkgdGV4dCwgdmFsX2RlZmF1bHQgaW4gdGV4dCBk ZWZhdWx0IG51bGwpIHJldHVybnMgdGV4dCBhcyAkJDxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0i TXNvTm9ybWFsIj5yZXR1cm4gR0QuZ2V0KGtleS5sb3dlcigpLHZhbF9kZWZhdWx0KTxvOnA+PC9v OnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj4kJCBsYW5ndWFnZSBwbHB5dGhvbjN1OzxvOnA+ PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PSZndDsgSXMgdGhlIFB5dGhvbiBHRCBkaWN0aW9uYXJ5IGEgJnF1 b3Q7bWlzY2VsbGFuZW91cyBiYWNrZW5kLWxvY2FsIHN0YXRlJnF1b3Q7ID88bzpwPjwvbzpwPjwv cD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpw PiZuYnNwOzwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+U2FtZSBxdWVzdGlvbiBmb3Ig YSBmdW5jdGlvbiB0aGF0IHJhaXNlcyBhbiBleGNlcHRpb24gd2l0aCB0aGUga2V5d29yZCAmcXVv dDtyYWlzZSZxdW90Ozo8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m bmJzcDs8L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPmNyZWF0ZSBvciByZXBsYWNlIGZ1 bmN0aW9uIC4uLjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj4uLi48bzpwPjwv bzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IHJhaXNlIGludmFsaWRfZGF0ZXRpbWVfZm9ybWF0OzxvOnA+PC9vOnA+PC9wPgo8cCBj bGFzcz0iTXNvTm9ybWFsIj4uLi48bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ ZW5kOzxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj4kJCBsYW5ndWFnZSBwbHBn c3FsOzxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw PjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PSZndDsgSXMgaXQgYSB0cmFuc2FjdGlvbiBzdGF0 ZSBjaGFuZ2U/PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7 PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+U2FtZSBxdWVzdGlvbiBmb3IgYSBmdW5jdGlvbiB0aGF0IHBlcmZv cm1zIGFuICZxdW90O2V4ZWN1dGUgaW50byZxdW90Ozo8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPmNy ZWF0ZSBvciByZXBsYWNlIGZ1bmN0aW9uIGYyKGQgZGF0ZSwgbiBudW1lcmljKSByZXR1cm5zIGRh dGUgYXMgJCQ8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ZGVjbGFyZTxvOnA+ PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5yZXQgZGF0ZTs8bzpwPjwvbzpwPjwvcD4K PHAgY2xhc3M9Ik1zb05vcm1hbCI+YmVnaW48bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05v cm1hbCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGV4ZWN1dGUgZm9ybWF0KCdz ZWxlY3QgKCcnJXMnJzo6ZGF0ZSArIGludGVydmFsICcnJXMnJyk6OmRhdGUnLGQsY29uY2F0KG4s JyBkYXknKSkgaW50byByZXQ7PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gcmV0OzxvOnA+PC9vOnA+PC9w Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5lbmQ7PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPiQkIGxhbmd1YWdlIHBscGdzcWw7PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj49Jmd0OyBJ cyB0aGlzIGV4ZWN1dGUgc3RhdGVtZW50IGJlIGNvbnNpZGVyZWQgYXMgYSBjdXJzb3I/PG86cD48 L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPgo8cCBj bGFzcz0iTXNvTm9ybWFsIj5UaGFua3MhPG86cD48L286cD48L3A+CjwvZGl2Pgo8ZGl2Pi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGRpdj5Nb29keSdzIG1vbml0b3Jz IGVtYWlsIGNvbW11bmljYXRpb25zIHRocm91Z2ggaXRzIG5ldHdvcmtzIGZvciByZWd1bGF0b3J5 IGNvbXBsaWFuY2UgcHVycG9zZXMgYW5kIHRvIHByb3RlY3QgaXRzIGN1c3RvbWVycywgZW1wbG95 ZWVzIGFuZCBidXNpbmVzcyBhbmQgd2hlcmUgYWxsb3dlZCB0byBkbyBzbyBieSBhcHBsaWNhYmxl IGxhdy4gVGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGlzIGUtbWFpbCBtZXNzYWdlLCBh bmQgYW55IGF0dGFjaG1lbnQgdGhlcmV0bywgaXMgY29uZmlkZW50aWFsIGFuZCBtYXkgbm90IGJl IGRpc2Nsb3NlZCB3aXRob3V0IG91ciBleHByZXNzIHBlcm1pc3Npb24uIElmIHlvdSBhcmUgbm90 IHRoZSBpbnRlbmRlZCByZWNpcGllbnQgb3IgYW4gZW1wbG95ZWUgb3IgYWdlbnQgcmVzcG9uc2li bGUgZm9yIGRlbGl2ZXJpbmcgdGhpcyBtZXNzYWdlIHRvIHRoZSBpbnRlbmRlZCByZWNpcGllbnQs IHlvdSBhcmUgaGVyZWJ5IG5vdGlmaWVkIHRoYXQgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBtZXNz YWdlIGluIGVycm9yIGFuZCB0aGF0IGFueSByZXZpZXcsIGRpc3NlbWluYXRpb24sIGRpc3RyaWJ1 dGlvbiBvciBjb3B5aW5nIG9mIHRoaXMgbWVzc2FnZSwgb3IgYW55IGF0dGFjaG1lbnQgdGhlcmV0 bywgaW4gd2hvbGUgb3IgaW4gcGFydCwgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91IGhh dmUgcmVjZWl2ZWQgdGhpcyBtZXNzYWdlIGluIGVycm9yLCBwbGVhc2UgaW1tZWRpYXRlbHkgbm90 aWZ5IHVzIGJ5IHRlbGVwaG9uZSwgZmF4IG9yIGUtbWFpbCBhbmQgZGVsZXRlIHRoZSBtZXNzYWdl IGFuZCBhbGwgb2YgaXRzIGF0dGFjaG1lbnRzLiBFdmVyeSBlZmZvcnQgaXMgbWFkZSB0byBrZWVw IG91ciBuZXR3b3JrIGZyZWUgZnJvbSB2aXJ1c2VzLiBZb3Ugc2hvdWxkLCBob3dldmVyLCByZXZp ZXcgdGhpcyBlLW1haWwgbWVzc2FnZSwgYXMgd2VsbCBhcyBhbnkgYXR0YWNobWVudCB0aGVyZXRv LCBmb3IgdmlydXNlcy4gV2UgdGFrZSBubyByZXNwb25zaWJpbGl0eSBhbmQgaGF2ZSBubyBsaWFi aWxpdHkgZm9yIGFueSBjb21wdXRlciB2aXJ1cyB3aGljaCBtYXkgYmUgdHJhbnNmZXJyZWQgdmlh IHRoaXMgZS1tYWlsIG1lc3NhZ2UuIDxicj48YnI+VGhpcyBlbWFpbCB3YXMgc2VudCB0byB5b3Ug YnkgTW9vZHnigJlzIEludmVzdG9ycyBTZXJ2aWNlIEVNRUEgTGltaXRlZDxicj5SZWdpc3RlcmVk IG9mZmljZSBhZGRyZXNzOjxicj5PbmUgQ2FuYWRhIFNxdWFyZTxicj5DYW5hcnkgV2hhcmY8YnI+ TG9uZG9uLCBFMTQgNUZBPGJyPlJlZ2lzdGVyZWQgaW4gRW5nbGFuZCBhbmQgV2FsZXMgTm86IDg5 MjI3MDE8ZGl2Pi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9kaXY+ PC9kaXY+PC9kaXY+PC9ib2R5Pgo8L2h0bWw+Cg== --_000_DM6PR20MB3329006C838039F0B3F43E64BEF30DM6PR20MB3329namp_--