From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id D48879DB47 for ; Tue, 6 Jun 2023 07:33:29 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id B2FB22FD1D for ; Tue, 6 Jun 2023 07:32:59 +0200 (CEST) Received: from mail02.cetsi.fr (mail02.cetsi.fr [91.151.64.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Tue, 6 Jun 2023 07:32:58 +0200 (CEST) Received: from CYLNEXC01.cyllene.corp (unknown [10.0.250.28]) by mail02.cetsi.fr (Postfix) with ESMTP id EE87B400E0C3 for ; Tue, 6 Jun 2023 07:32:56 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mail02.cetsi.fr EE87B400E0C3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groupe-cyllene.com; s=dkim; t=1686029577; bh=mbhXQXgCVhYEYhtEwm5OIK+BD8zIZvjqdEzCBIU0p8M=; h=From:To:Subject:Date:References:In-Reply-To:From; b=0J3PVNxRSWbNG4sKHAvTKbcgWHylpb4D2Ka0KWidXuhTXlH6UVXZ8z4/CStFGyL+k ZwkwVLbzQmPQSIgMoG96XC1SviLJhfmu1tAVjNzzdFO2ySEu91EllKRLKEvHzyWaYP OPrv2dyMPJJ8bAvfxipWWOfaVX0DgZT8RFZPBYPI= Received: from CYLNEXC01.cyllene.corp (10.0.250.28) by CYLNEXC01.cyllene.corp (10.0.250.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Tue, 6 Jun 2023 07:32:55 +0200 Received: from FRA01-PR2-obe.outbound.protection.outlook.com (10.0.250.254) by CYLNEXC01.cyllene.corp (10.0.250.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23 via Frontend Transport; Tue, 6 Jun 2023 07:32:55 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WdxIXMYu9uoaSwztNH46icp0b39T2xpmfp/efvBHHZeMyA3PfhdTYWTC7k85qHKftoy+c5I+w2L+S7RwUWQZvkMWTpPfke56kehoG42BiQwfx1yXyYRkHnujBY9NB52636k6LDlSpRYdGd/Eo4hhK6idQ6Ozj2ynXkCG0NC3vmX4wu83zHBtB7Z0bhSZDfosmAy8qcsfxDGv7zCzxRwMB4TdsePQJ/gOmRCFVWW12YL8cUuNgLgZipihf58its44RkRfE4I+A12HzW3bqnj0lTYgVaQhrmg0sYSrJQ+GPlMi9LBeQyiUrgKq7JAtTwhqH+USBO12veULk6XoA+AcIQ== 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=mbhXQXgCVhYEYhtEwm5OIK+BD8zIZvjqdEzCBIU0p8M=; b=RJURbRHaw0GsR1h7uvX30aFigOFUhkOeHlDCDb+er1vcEdQdiDiQMxro5CzhTZE3yIpBFZBzbnEAuXLk1Or30ih0L5qbgiLPTASzBztA7nbYrLOei9KUDUjCs5ZEQ1TWJb5NBC3ohFxgP66JHOxI558Qw9zN9jPr4U8WGEWk3dXDlAqLBRbXcfUbv25XIbXz7iUd+Vvz9ZmugEyrMyFdEPYNdwH5ElkgkLTnwGyPcKFCqmtFuG6Avj3Eb4sYWgzK/czOKCRfsTuyPeOUCOQqHcE6sD943U8Bf6/I/XHG142fVuNK2oHoAFx8VS6L4C0gPPZSU3z/xwFK15NadJqNFQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=groupe-cyllene.com; dmarc=pass action=none header.from=groupe-cyllene.com; dkim=pass header.d=groupe-cyllene.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=groupecyllene.onmicrosoft.com; s=selector2-groupecyllene-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mbhXQXgCVhYEYhtEwm5OIK+BD8zIZvjqdEzCBIU0p8M=; b=JZ6B/n4Cc8trhY0QeSDGohGHgE/lOV/ME9qNofNhSdWjJWo4SF1ClO7JFKdrY+c+b58fWMwtCCn7bm4AG8j2+Iyu0LmjlTzwODqXcbrYvMAGW5eenlULwBm0IxuUYHiIujUIQpdm+bwkD8CNyiBjC2pUepIqD2amMkbT/Dr2+IQ= Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:32::17) by MR1P264MB3265.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:29::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.33; Tue, 6 Jun 2023 05:32:55 +0000 Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM ([fe80::cef1:6229:8d42:b0ee]) by MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM ([fe80::cef1:6229:8d42:b0ee%2]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 05:32:55 +0000 From: "DERUMIER, Alexandre" To: "pve-devel@lists.proxmox.com" Thread-Topic: [pve-devel] [PATCH-SERIE pve-access-control/pve-manager/qemu-server] check permissions on local bridge Thread-Index: AQHZlz2O91jSbGerSE+OnT7kvcrZwa97/jqAgAFD+gA= Date: Tue, 6 Jun 2023 05:32:55 +0000 Message-ID: <45c767c555473f0969dd1036627c9f9b76d2c340.camel@groupe-cyllene.com> References: <20230604233709.1340089-1-aderumier@odiso.com> <1685958374.jxhx4d0md8.astroid@yuna.none> In-Reply-To: <1685958374.jxhx4d0md8.astroid@yuna.none> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.48.1-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=groupe-cyllene.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MR1P264MB2481:EE_|MR1P264MB3265:EE_ x-ms-office365-filtering-correlation-id: c774e825-4817-46a6-3006-08db664f7ad0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: utmVeNZ3+HjBgPP4V0jzh+mlUmympqCyL9eSZSt89grmW4zQ4pa9+Tj3A40xud5aUIOw6XRL9XUcLxBa5hlwRXHh1eid5aX0rvTVRNpfi+aoULRBufNm4QiqNi7ZTRk9eUaA6FXxmHw4EOJJhRVAtXqqoq2ltkT6ti56IUP+ekLXLd38kZIW8ViR3y86zh3f1EEN8qxwiUf+LzTjHLcRdt9YU+WdqmJQG+vjou3kIDKSUjv8hq9L4CPD7bbtw601Blow9PBEPCAtIt311WZQeasiym+DNCDCLGmaSFJ/wo+niJ7Bm48vXC4Lr5h3N186fe/nU+IvJBHVRuVf6vobU0R0NUT6R5ONb2gfij05O/8gAHG48mC0RW0b90TWmr4WUysF9CMmIS4K/tvfPkNC/V4fl+QH0VQ92KmqJqv9iYQLxY4CLTSrYNq5QHN8Z0B5Yv57Zug8EzumrY3UV7XPbvxQRy2+F37zno7diCqeTMK7QXKHWv4MVbVe/fjO0cc4ITppzhCoH3U10EW/Q7GBrHp+hvWwMBSukp0hfs9xqleYdSKNX21womBhu0cvzKXgh26J5i23x7HTztkV6mPm90ygGKa+o+9m/j29EEevORU= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230028)(4636009)(346002)(396003)(39850400004)(136003)(366004)(376002)(451199021)(8676002)(8936002)(66556008)(6916009)(66476007)(64756008)(66446008)(76116006)(66946007)(91956017)(5660300002)(316002)(41300700001)(19627235002)(2906002)(478600001)(122000001)(38100700002)(186003)(6506007)(6512007)(86362001)(71200400001)(36756003)(6486002)(966005)(2616005)(66574015)(38070700005)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TzFxeG9rSW5rWGdjQ25Yd1RmbjlQOGxTbmFiU1VsNFpZQ0FVYVUyWlE1aEgx?= =?utf-8?B?MzFiZC95SE9sZklUWjBxNVhrNE9jblQ1YjI4RjB5OFhlWUN0cEFqWXZaUGFV?= =?utf-8?B?ejRaSXR2ODZPS2ZJaUZCVlVJbGlWdVRnTUpWSlA2Nk1NTFVCK1JvNUoxdXNH?= =?utf-8?B?ZExmWXlJY2dwcU0wTU0zcEU2anNuTnpuc0lzL0U5S292V3BNVjAvKy9QSlkw?= =?utf-8?B?Vy82aU9rZVN1d0l0Q3NIS0VWOFprUUtMa2lDN09TYWpZVTlrRU91N1BveFYy?= =?utf-8?B?c2dzRk1SYmI2cmQvSGJzUEtOTGVleUV6L2o1Q0NFWFV3MHFqWkwvdndlYmRL?= =?utf-8?B?YVVrdGUzWjMxTnllUEhCWk1QaTY1NUNFdVRLLzlITG1kNFI1dE82RWhJVEFy?= =?utf-8?B?YUdqSWZLTGRhaVNNV0Y2YklIcUh6bnB4WkpjbkxzU09aWksrYUpSQTFGSDhL?= =?utf-8?B?dzZIQytwNUZROEp6dkpmSGUyVFRtYWs2Z3M5RUhwSFB2UWJ0Tm55bXJxNkhU?= =?utf-8?B?OS9ONGNxK3hDUFFTdlFYODFzcjMrN21ibWpzSGo2QVY5ZUVLRTFGMW1EV2NM?= =?utf-8?B?UjB2WUZlZWJBKzdTQnhHUkNOSlhuc3VtWHpRWGxWbi8vRTJxd2hTSDVtakxZ?= =?utf-8?B?WTN3bnp3cDdWTGtoc3RHa1JkUG5vOXpsbEwwb3JCMFFpNmIzeHRBbTMrMXRU?= =?utf-8?B?ZmVmMFdYaGlwSU5CTUpOb0wxSXNWZlhiVEc5Vm5PWG41blFSL0lQNVRBc3Bz?= =?utf-8?B?N2JjWXV0c24xYUdMR2IrSWYwUHdPQjVqazhhUHRDVFU5UkFydEhPRWwzVnRH?= =?utf-8?B?dWRDUzZpczBmWnJOK3VEU1FKcTBwWGZSUDRaRFNFU1NmU3hqeXVNT3g4QmV0?= =?utf-8?B?ZEhVVU5TNmFGcXhpOGpsUkY2VjRQbnhYYVVWNi8wM2w5OUY5UlI4M2l0YmFQ?= =?utf-8?B?YUtNM0VLbnRhRnllNDdTd0xyMHl1Y1BlMHJ6NkErUzB3VFVtM05LODNNQmxK?= =?utf-8?B?eHdRaWhqV2h1RW9jdkVpTkMwcnFPTmlrbmlRTHJSRnh4eWdWZFFrMzhPeStw?= =?utf-8?B?TWI4VGhOYjFQM2YyNlU0UGdhY0s3cmR5WEpBemNkdSsyYmxZeFhiVngyRmFV?= =?utf-8?B?a2Y0bFBLelVPUFBaQkNleG1uazlZekxCK3JGWEtubW9JZlZJeDd3dlg5eHo0?= =?utf-8?B?b3BQQWFMWlBEdWJWVks0VlRTdFM2eUpLbkFCYnhaQmdNbWU1dUhFR3B6S3pk?= =?utf-8?B?L2NrYlNlUUNJSnNBWVBpTzY0L2N0d09Eb3p6WVRxeElhVFNFbTljdFlxYVdz?= =?utf-8?B?eldudWt6MDdrWG03VzJvWTVaemZvbmowM1NWeVl0UkxaZ1drUGtrV3U5OVV6?= =?utf-8?B?UjdZOEM4U3FZbWtrbWFJaXNVNHRPTkxlcDdtV0FXeklQU2t3UEZlNzdkNXgw?= =?utf-8?B?MTF6NTFzUklIUndPWGZMQ25JSExZdXIxY1lRTXhYbVdZT2dhVkYzSjRnditB?= =?utf-8?B?eTlpYkNVS2gyVllmRTNRWEV4MGdQZkNNQ2IyQ0tSaUJIYmZ0NVE3bEwwQ0Jx?= =?utf-8?B?R2NrR3NTMXZOREg0Vk9malFkZk1Na3dZeTdHYWVpcCtBZWNlNndpWGpscWQw?= =?utf-8?B?eEN0WElYQ3A2T1NOcTM2bVJNQURVOHZGNU0rWnhtd1pjSTN0NDV6SS9NbzhE?= =?utf-8?B?YUtSZUpKbUxDcHNHZ2IxWjhWaVFHTXA2VXhRcTJnbmNaellDczFWUlpoOFdm?= =?utf-8?B?cGpGYitJM1FMZVV0Y08rVVMvbElkQkVwUEEzTnF4U3BneWw5cDRKWG55aXd0?= =?utf-8?B?bjZ4YUljcXY3YVo5bnNHYVZnamVHR2V2WmpjZzBvMy84WW9tZ2pRaXVQWTl0?= =?utf-8?B?cU0vYm5jUjdmUUE0VGdISEg5WVJycS9kcFpoQmJHS0xPQ0k5UTFiVy9JOHdk?= =?utf-8?B?cGdsQXh3OE5pZGg4dFdjcWdIb3BEWCtjSkZjNXg5QTd4WGI0Y1ltU1oyQysx?= =?utf-8?B?c0ZubjFYMEZ6cTlhanJISmFpakp5VUpnK0JyK1JiaW9CTWVTYy84Z01lbVpI?= =?utf-8?B?U29Gc3UzZVAwQUpmOGtqMU1VSENQUXQ2dkhVWVdUai9VY2cvQnZQOWl0Q0JQ?= =?utf-8?B?TTFuVGIzb0Mxa2IwazU4ZUpKVnk3eHRsTVo1MmQ5Tkk2QUlsbzNBWUhydSs2?= =?utf-8?Q?4wTRdnOW+kuUtg/ZvM/s8PgwfkOHxqhFuGY0+3ZGYOLJ?= Content-Type: text/plain; charset="utf-8" Content-ID: <5E87F3341D2757448FDF303840CCABAC@FRAP264.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: c774e825-4817-46a6-3006-08db664f7ad0 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jun 2023 05:32:55.1380 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: ee11ccf7-112c-4284-848b-f229745e715b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: dLoBfqTvvGvgAcC7D3uSBLXtKXL0MwTUeCmF2kDnKkNbL5E4U2Kyx+qS+tKoncxPupYSgzC9DaRAK2AsssZ6JGYReyhnIeYcL4HbaENK3N7TZ/krjy925tBwcb8UwPke X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB3265 X-OriginatorOrg: groupe-cyllene.com X-SPAM-LEVEL: Spam detection results: 0 ARC_SIGNED 0.001 Message has a ARC signature ARC_VALID 0.001 Message has a valid ARC signature AWL -0.585 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_MISSING 0.1 Missing DMARC policy KAM_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible spam tricks POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: Re: [pve-devel] [PATCH-SERIE pve-access-control/pve-manager/qemu-server] check permissions on local bridge X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2023 05:33:29 -0000 TGUgbHVuZGkgMDUganVpbiAyMDIzIMOgIDEyOjEzICswMjAwLCBGYWJpYW4gR3LDvG5iaWNobGVy IGEgw6ljcml0wqA6DQo+IE9uIEp1bmUgNSwgMjAyMyAxOjM3IGFtLCBBbGV4YW5kcmUgRGVydW1p ZXIgd3JvdGU6DQo+ID4gYWRkIHZuZXQvbG9jYWxicmlkZ2UgcGVybWlzc2lvbnMgbWFuYWdlbWVu dA0KPiA+IA0KPiA+IEhpLA0KPiA+IGFzIHdlIGhhcyBkaXNjdXRlZCBzb21lIHdlZWtzIGFnbywN Cj4gPiB0aGlzIHBhdGNoZSBzZXJpZSBpbnRyb2R1Y2UgbWFuYWdlbWVudCBvZiBhY2wgZm9yIHZu ZXRzICYmIGxvY2FsDQo+ID4gYnJpZGdlcw0KPiA+IA0KPiA+IEkgaGF2ZSByZXVzZSBjdXJyZW50 IHNkbiBwZXJtaXNzaW9ucyBwYXRoLCB0byBoYXZlIGNvbW1vbiBwYXRocw0KPiA+IA0KPiA+IC9z ZG4vdm5ldHMvPHpvbmU+Lzx2bmV0Pg0KPiA+IA0KPiA+IHdoZXJlIHRoZSBsb2NhbCB2bWJyIGFy ZSBpbiBhIHZpcnR1YWwgImxvY2FsbmV0d29yayIgem9uZQ0KPiA+IA0KPiA+IC9zZG4vdm5ldHMv bG9jYWwvPHZuZXQ+DQo+ID4gDQo+ID4gVmxhbnMgcGVybWlzc2lvbnPCoCBhcmUgYWxzbyBoYW5k bGVkIHdpdGgNCj4gPiAvc2RuL3ZuZXRzLzx6b25lPi88dm5ldD4vPHRhZz4NCj4gDQo+IHRoZXNl IHBhdGhzIGRvbid0IG1hdGNoIHRoZSBwYXRjaGVzIDspDQo+IA0KPiBpZiB0aGUgcGF0aHMgd2Vy ZSBsaWtlIHRoaXMsIHRoZW4gd2UgY291bGQgZ28gb25lIHN0ZXAgZnVydGhlciBhbmQNCj4gYWRt aW5zIGNvdWxkIHNldCBwcm9wYWdhdGUgb24gdGhlIHpvbmUgdG8gaGFuZCBvdXQgYWNjZXNzIHRv IHRoZSBmdWxsDQo+IHpvbmUsIGluY2x1ZGluZyBhbGwgdm5ldHMgKmFuZCogdmxhbiB0YWdzLCBh bmQgd2UgY291bGQganVzdCBjaGVjaw0KPiB0aGUNCj4gdm5ldCAob3Igdm5ldCt0YWcpLCBhbmQg dGhlIHpvbmUgd291bGQgYmUgaW1wbGljaXRseSBjaGVja2VkIGFzIHdlbGwNCj4gKGJ5DQo+IHZp cnR1ZSBvZiB0cmF2ZXJzaW5nIHRoZSBBQ0wgcGF0aCkuDQo+IA0KPiB3ZSdkIG5lZWQgdG8gY2hl Y2sgZm9yIGNvbnNpc3RlbmN5IG9mIHpvbmUrdm5ldCB3aGVuIGNoZWNraW5nIEFDTHMNCj4gdGhv dWdoLCB3aGljaCBpcyBub3QgcmVxdWlyZWQgcmlnaHQgbm93Lg0Kb2ggeWVzLCBJIHRoaW5rIGl0 IHdhcyBteSBmaXJzdCB0cnkuwqANCg0KY3VycmVudGx5IHRoZSB2bmV0cyBpZCBhcmUgdW5pcXVl IChhbmQgcG9zc2libHkgKGF0IGxlYXN0IGluIHNkbikgdXNlcg0KY291bGQgbW92ZSB0aGUgdm5l dCBiZXR3ZWVuIHpvbmVzLiAobm90IGltcGxlbWVudGVkLCBidXQgdGVjaG5pY2FsbHksDQppdCds bCB3b3JrLCBhbmQgaWZyZWxvYWQgaXMgYWJsZSB0byBvbmxpbmUgcmVwbHVnIHRoZSB2bmV0IHdp dGggdm0NCmd1ZXN0IHJ1bm5pbmcpLg0KDQpJIGRvbid0IHRoaW5rIGl0IHNvbWV0aGluZyB0aGF0 IHVzZXIgd2FudCB0byBkbyByZWd1bGFyeSwgc28gbWF5YmUgaXQncw0Kbm90IGEgcHJvYmxlbSB0 byB1c2UgL3pvbmUvdm5ldC90YWcgYW5kIEl0J3MgbW9yZSBzZWN1cmUgaWYgdXNlcnMgbmVlZA0K dG8gcmVjaGVjayB0aGUgYWNsLg0KDQogDQoNCj4gDQo+ID4gDQo+ID4gaWYgdXNlciBoYXZlIHBl cm1pc3Npb25zIG9uIHRoZSB6b25lLCBoZSBoYXZlIGFjY2VzcyB0byBhbGwNCj4gPiB2bmV0cy92 bGFuDQo+ID4gaWYgdXNlciBoYXZlIHBlcm1pc3Npb25zIG9uIHRoZSB2bmV0L3RhZywgaGUgaGF2 ZSBhY2Nlc3MgdG8gb25seQ0KPiA+IHRoZSBzcGVjaWZpYyB2bGFuLg0KPiA+IGlmIHVzZXIgaGF2 ZSBwZXJtaXNzaW9ucyBvbiB0aGUgdm5ldCwgaGUgaGF2ZSBhY2Nlc3MgdG8gYWxsIHZsYW5zDQo+ ID4gb2YgdGhlIHZuZXQNCj4gDQo+IHRoZXNlIGxhc3QgdHdvIEknZCBkbyBkaWZmZXJlbnRseS4N Cj4gDQo+IHBlcm1pc3Npb24gb24gdm5ldC90YWcgPT4gcGVybWlzc2lvbiB0byB1c2UgdGhhdCB2 bGFuDQo+IHBlcm1pc3Npb24gb24gdm5ldCA9PiBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgdm5ldC9i cmlkZ2UgKHdpdGhvdXQgdGFnKQ0KPiANCg0KeWVzLCBtYWtlIHNlbnNlDQoNCj4gaWYgSSB3YW50 IHRvIGdpdmUgcGVybWlzc2lvbiBmb3IgYWxsIHRhZ3MsIEkgY2FuIHNpbXBseSBnaXZlIG91dCB0 aGUNCj4gcm9sZSBvbiB2bmV0IHdpdGggcHJvcGFnYXRpb24uIHNpbmNlIHRoZSBwZXJtaXNzaW9u cyBhcmUgb25seSBjaGVja2VkDQo+IHdoZW4gKHJlKWNvbmZpZ3VyaW5nIGEgZ3Vlc3QsIGl0IGRv ZXNuJ3QgbWF0dGVyIHRoYXQgdGhhdCBjaGVjayBpcyBhDQo+IGJpdA0KPiBleHBlbnNpdmUvcG90 ZW50aWFsbHkgY2hlY2tpbmcgYSBsb3Qgb2YgcGF0aHMuLg0KPiANCj4gPiANCj4gPiBJIGhhdmUg cmV3b3JrZWQgdGhlIHNkbiB6b25lIHBhbmVsIGZyb20gdGhlIHRyZWUsIHRvIG1hbmFnZQ0KPiA+ IHBlcm1pc3Npb25zDQo+ID4gb24gZGlzcGxheWVkIHZuZXRzLg0KPiA+IA0KPiA+IHNvbWUgc2Ny ZWVuc2hvdHM6DQo+ID4gDQo+IEkgZGlkbid0IGNoZWNrIHRoZSBHVUkgcGF0Y2hlcyBpbiBkZXRh aWwgeWV0LCBidXQgSU1ITyB0aGV5IGFyZSBhbHNvDQo+IGxlc3MgaW1wb3J0YW50IHJpZ2h0IG5v dyAodGhleSBhcmUgb25seSBhIGNvbnZlbmllbmNlIGZlYXR1cmUgZm9yIHRoZQ0KPiBuZXcgZmVh dHVyZSBvZiBjb25maWd1cmluZyBWTEFOIGFjY2VzcykuDQoNCk5vdGUgdGhhdCB0aGUgb25seSB3 YXkgY3VycmVudGx5IHRvIGNyZWF0ZSB0aGVtICBmb3IgbG9jYWwgYnJpZGdlIGlzIGluDQp0aGUg ZGF0YWNlbnRlciBwZXJtaXNzaW9ucyBwYW5lbC4gKHBlcm1pc3Npb25zIG9uIHNkbiB6b25lIGNh biBhbHJlYWR5DQpiZSBkb25lIGdsb2JhbGx5KS4gIFRoZSBndWkgYWRkIHN1cHBvcnQgZm9yIHBl cm1pc3Npb25zIG9uIGJvdGggdm5ldCAmJg0Kdmxhbi4gKGFuZCBuZXcgbG9jYWxuZXR3b3JrIHpv bmUpDQoNCj4gDQo+IHdlJ2QgbGlrZSB0byBnZXQgdGhlIGJhc2ljIHBhdGNoZXMgaW4gcGxhY2Ug dGhpcyB3ZWVrIGlmIHBvc3NpYmxlLCBpZg0KPiB0aGF0IGlzIHRvbyBzb29uIEkgY2FuIGFsc28g Zm9sZCBpbiBzb21lIG9mIG15IHN1Z2dlc3Rpb25zIGFzDQo+IGZvbGxvdy11cHMsIGp1c3QgdGVs bCBtZSB3aGF0IHdvcmtzIGZvciB5b3UhDQo+IA0KPiA+IGZvciBwcm94bW94NzogKGZvciB1c2Vy cyBiZSBhYmxlIHRvIGFkZCBwZXJtaXNzaW9ucyBiZWZvcmUgdXBncmFkZQ0KPiA+IHRvIHB2ZTgp DQo+ID4gcHZlLWFjY2Vzcy1jb250cm9sOiBwYXRjaDEgKHRvIG5ldyAvdm5ldC92bGFuIHBhdGgp DQo+ID4gcHZlLW1hbmFnZXIgOiBwYXRjaDEtMiBmb3IgdGhlIG5ldyBndWkNCj4gDQo+IHRoZSBh Y2Nlc3MgY29udHJvbCBjaGFuZ2VzIHNob3VsZCBiZSBlbm91Z2gsIGl0J3MgYWx3YXlzIHBvc3Np YmxlIHRvDQo+IHNldA0KPiB0aGUgQUNMcyB1c2luZyB0aGUgcmVndWxhciBBQ0wgR1VJIGFuZC9v ciBgcHZldW1gLiBpdCBtaWdodCBtYWtlDQo+IHNlbnNlDQo+IA0Kb2ssIG5vIHByb2JsZW0uIChT b21lIGRvYyBiZWZvcmUgdXBncmFkZSBzaG91bGQgYmUgZW5vdWdoKQ0KDQoNCj4gdG8gaGF2ZSBh dCBsZWFzdCB0aGUgbG9jYWwgYnJpZGdlIEFDTCBwYXRoIChmb3IgdGhlIHpvbmUsIG9yIGZvciB0 aGUNCj4gem9uZSBhbmQgdGhlIGJyaWRnZXM/KSBpbiB0aGUgcmVndWxhciBBQ0wgc2VsZWN0b3Jz IGluIDcueCBhcyB3ZWxsLA0KPiBpZg0KPiB3ZSBwdWxsIGluIHNvbWV0aGluZyBpbiBwdmUtbWFu YWdlciwgdGhhbiBJTUhPIGl0IHNob3VsZCBiZSB0aGF0LCBub3QNCj4gdGhlIGZ1bGwtZmxlZ2Rl ZCBuZXcgcGFuZWxzLg0KSSdsbCBsb29rIHRvIHJld3JvayB0aGUgc2VsZWN0b3IsIHZuZXRzIGFy ZSBub3QgeWV0IGRpc3BsYXllZC4gKG9ubHkNCnNkbiB6b25lcywgYW5kIGxvY2FsbmV0d29yayB6 b25lIGlzIGFsc28gbm90IGRpc3BsYXllZCApDQoNCj4gDQo+IEkgZG8gdGhpbmsgd2UgbmVlZCBh IHNlY29uZCBwdmUtYWNjZXNzLWNvbnRyb2wgcGF0Y2ggdGhvdWdoIChmb3IgYQ0KPiBuZXcNCj4g U0ROLlVzZSBwcml2aWxlZ2UgYW5kIGNvcnJlc3BvbmRpbmcgcm9sZSksIHRoYXQgYWxzbyBuZWVk cyB0byBnbyBpbnRvDQo+IDcueA0Kb2suIChJIHdhcyBub3Qgc3VyZSBpZiBBdWRpdCB3YXMgZW5v dWdoLCBidXQgU0ROLlVzZSBtYWtlIHNlbnNlDQppbmRlZWQpLg0KDQoNCj4gDQo+ID4gY2hhbmdl bG9nIHYyOg0KPiA+IMKgLSB1c2UgL3ZuZXRzL3ZsYW4gaW5zdGVhZCAvdm5ldHMudmxhbg0KPiA+ IMKgLSByZXdvcmsgdGhlIGJyaWRnZSBmaWx0ZXJpbmcgd2hlbiB1c2VyIGhhdmUgYWNjZXNzIG9u bHkgdG8gYQ0KPiA+IHNwZWNpZmljIHZsYW4NCj4gPiDCoC0gYXBpMiBuZXR3b3JrOiBhbHdheXMg Y2hlY2sgYnJpZGdlIGFjY2VzcyBpZiBubyBmaWx0ZXIgaXMgZGVmaW5lZA0KPiA+IA0KPiA+IHRv ZG86DQo+ID4gwqAtIGFkZCBwZXJtaXNzaW9ucyBvbiBjbG9uZS9yZXN0b3JlID8NCj4gPiANCj4g PiANCj4gPiANCj4gPiBwdmUtYWNjZXNzLWNvbnRyb2w6DQo+ID4gDQo+ID4gQWxleGFuZHJlIERl cnVtaWVyICgyKToNCj4gPiDCoCBhY2Nlc3MgY29udHJvbDogYWRkIC9zZG4vdm5ldHMvPHZuZXQ+ Lzx2bGFuPiBwYXRoDQo+ID4gwqAgcnBjZW52aXJvbm5tZW50OiBhZGQgY2hlY2tfc2RuX2JyaWRn ZQ0KPiA+IA0KPiA+IMKgc3JjL1BWRS9BY2Nlc3NDb250cm9sLnBtwqAgfMKgIDEgKw0KPiA+IMKg c3JjL1BWRS9SUENFbnZpcm9ubWVudC5wbSB8IDE3ICsrKysrKysrKysrKysrKysrDQo+ID4gwqAy IGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKykNCj4gPiANCj4gPiANCj4gPiBwdmUtbWFu YWdlcjoNCj4gPiANCj4gPiBBbGV4YW5kcmUgRGVydW1pZXIgKDMpOg0KPiA+IMKgIGFkZCB2bmV0 IHBlcm1pc3Npb25zIHBhbmVsDQo+ID4gwqAgYWRkIHBlcm1pc3Npb25zIG1hbmFnZW1lbnQgZm9y ICJsb2NhbG5ldHdvcmsiIHpvbmUNCj4gPiDCoCBhcGkyOiBuZXR3b3JrOiBjaGVjayBwZXJtaXNz aW9ucyBmb3IgbG9jYWwgYnJpZGdlcw0KPiA+IA0KPiA+IMKgUFZFL0FQSTIvQ2x1c3Rlci5wbcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDEyICsrDQo+ID4gwqBQVkUvQVBJ Mi9OZXR3b3JrLnBtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMjYgKyst DQo+ID4gwqB3d3cvbWFuYWdlcjYvTWFrZWZpbGXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfMKgwqAgMiArDQo+ID4gwqB3d3cvbWFuYWdlcjYvc2RuL0Jyb3dzZXIuanPCoMKgwqDCoMKg wqDCoMKgwqAgfMKgIDE3ICstDQo+ID4gwqB3d3cvbWFuYWdlcjYvc2RuL1ZuZXRBQ0xWaWV3Lmpz wqDCoMKgwqDCoCB8IDI5OQ0KPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+IMKg d3d3L21hbmFnZXI2L3Nkbi9ab25lQ29udGVudFBhbmVsLmpzIHzCoCA0MSArKysrDQo+ID4gwqB3 d3cvbWFuYWdlcjYvc2RuL1pvbmVDb250ZW50Vmlldy5qc8KgIHzCoCA1MiArKysrLQ0KPiA+IMKg NyBmaWxlcyBjaGFuZ2VkLCA0MjAgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pDQo+ID4g wqBjcmVhdGUgbW9kZSAxMDA2NDQgd3d3L21hbmFnZXI2L3Nkbi9WbmV0QUNMVmlldy5qcw0KPiA+ IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IHd3dy9tYW5hZ2VyNi9zZG4vWm9uZUNvbnRlbnRQYW5lbC5q cw0KPiA+IA0KPiA+IHFlbXUtc2VydmVyOg0KPiA+IA0KPiA+IEFsZXhhbmRyZSBEZXJ1bWllciAo MSk6DQo+ID4gwqAgYXBpMjogYWRkIGNoZWNrX2JyaWRnZV9hY2Nlc3MgZm9yIGNyZWF0ZS91cGRh dGUgdm0NCj4gPiANCj4gPiDCoFBWRS9BUEkyL1FlbXUucG0gfCAzOCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLQ0KPiA+IMKgMSBmaWxlIGNoYW5nZWQsIDM3IGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkNCj4gPiANCj4gPiANCj4gPiAtLSANCj4gPiAyLjMwLjINCj4g PiANCj4gPiANCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXw0KPiA+IHB2ZS1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPiBwdmUtZGV2ZWxAbGlzdHMucHJv eG1veC5jb20NCj4gPiBodHRwczovL2FudGlwaGlzaGluZy5jZXRzaS5mci9wcm94eS92Mz9pPWQx bDROWE5OYVdFNFNXWnFVMGRMV2N1VGZkeEVkOThOZldJcDlkbWE1a1kmcj1NWEpVYTBGclVWSnFj MVV3WVd4TlotdG1YZEdRT00wYlFSNmtZRWd2cm1HWnJnQXVta0I1WEVnZDEwa1N6dkl4JmY9YzJ4 TWRWTjRTbWgyUjJ0T1pEZElSS0NrN1dFb2NIcFRQTWVyVDFRLUFxNXF3cjhsMnh2QVd1T0d2RnNW M2ZycDJvU0FneE5VUUNwSkRIcDJpVW1UV2cmdT1odHRwcyUzQS8vbGlzdHMucHJveG1veC5jb20v Y2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZlbCZrPWZqelMNCj4gPiANCj4gPiANCj4g PiANCj4gDQo+IA0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXw0KPiBwdmUtZGV2ZWwgbWFpbGluZyBsaXN0DQo+IHB2ZS1kZXZlbEBsaXN0cy5wcm94bW94 LmNvbQ0KPiBodHRwczovL2FudGlwaGlzaGluZy5jZXRzaS5mci9wcm94eS92Mz9pPWQxbDROWE5O YVdFNFNXWnFVMGRMV2N1VGZkeEVkOThOZldJcDlkbWE1a1kmcj1NWEpVYTBGclVWSnFjMVV3WVd4 TlotdG1YZEdRT00wYlFSNmtZRWd2cm1HWnJnQXVta0I1WEVnZDEwa1N6dkl4JmY9YzJ4TWRWTjRT bWgyUjJ0T1pEZElSS0NrN1dFb2NIcFRQTWVyVDFRLUFxNXF3cjhsMnh2QVd1T0d2RnNWM2ZycDJv U0FneE5VUUNwSkRIcDJpVW1UV2cmdT1odHRwcyUzQS8vbGlzdHMucHJveG1veC5jb20vY2dpLWJp bi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZlbCZrPWZqelMNCj4gDQoNCg==