From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Alexandre.DERUMIER@groupe-cyllene.com>
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))
 (No client certificate requested)
 by lists.proxmox.com (Postfix) with ESMTPS id 0FB3D9D1E6
 for <pve-devel@lists.proxmox.com>; Fri,  2 Jun 2023 14:21:49 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id E15802A375
 for <pve-devel@lists.proxmox.com>; Fri,  2 Jun 2023 14:21:18 +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 <pve-devel@lists.proxmox.com>; Fri,  2 Jun 2023 14:21:17 +0200 (CEST)
Received: from CYLNEXC01.cyllene.corp (unknown [10.0.250.28])
 by mail02.cetsi.fr (Postfix) with ESMTP id 227C14050294
 for <pve-devel@lists.proxmox.com>; Fri,  2 Jun 2023 14:21:16 +0200 (CEST)
DKIM-Filter: OpenDKIM Filter v2.11.0 mail02.cetsi.fr 227C14050294
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groupe-cyllene.com;
 s=dkim; t=1685708476;
 bh=mecxXrgNOfurRT6v+12Nx6fgF8emwxu4+IKR2pnhQ2Y=;
 h=From:To:Subject:Date:References:In-Reply-To:From;
 b=03CZ+E8Fq1jEDZxAI1lL0eIYKLG1uho0hTJaJjAZqwq3xuaYwqcbCHwnYJKWCkP/Y
 1m3dtLlbQehSCooHR49sYF77wyVBnNtQ8IzbNEKULIXctR4uLVRhSuv7cAY9BXtdfx
 RVTwvzVhebvZdkr3fQge3YHMgIozhre+f/qOzZHk=
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; Fri, 2 Jun
 2023 14:21:16 +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; Fri, 2 Jun 2023 14:21:16 +0200
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QdrS6gGZTt27HbFX1JigTDqo5APCGOt5gHkeT5cV8L0+5TjXphIQBvE81Y71B49qSwpAPWNinus98D+V2MWTF89Rdj6vOEfPMZlmplS/2mLAm1MHYMRcM+Jp8Z6sYkr764U9juz2m4AqqKNkPiY5P3qtAwbSeIoq/LeA/eCH9pznPvzmjvEu1WuPZ0VACHtjdyR3OSoKmURDAQ1gltoJ7o/ASxL5E1NHUp6BLoxbu4V1H+tNms5meNb4ZUy4LnsTKcgocFWXN+Jv/qbF8/Fwf+bb0cvwJFDUcVQJCTc3UnkRHJXEHc8whOrUlblVkW6hmZ/NzWUeO2oKegAl8s1Z1w==
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=mecxXrgNOfurRT6v+12Nx6fgF8emwxu4+IKR2pnhQ2Y=;
 b=VVGDTYOqwQyFjIJjh/+iCFn0S+Ut+62fXH9BxKCAS5t+tq8me6a0lVfSpPRdNtBThwH8+/tTUnMfcH+qka+msgcUy1AGlivskfUkyKiwIyp0qqeR9/RX1dw7kxA+yGAKdw4Cmbx3XiwZWuZaor8wRKXEX/kekxaNDepWrXKsllaJeSBsnovqQ9J+syKcCgBBzBlvGYqfyKeOOS/w4wdlzESZvXuw+4HaOnnEdj/hG9iwnckTl5fLFGU0N+DDRK40+gcwgz6WgKRAkFtPww68UscZi1O3UtbzX8xpPHTddPtKieZIC/7+gIF4hBGupvXUKJzj0lvoS8fF7rIMMKDBrg==
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=mecxXrgNOfurRT6v+12Nx6fgF8emwxu4+IKR2pnhQ2Y=;
 b=jDY4upPhuvPmaSyncmoT6xrR+xSEvOXpfrFh7tfGh2nbH8alpaqvaWEYR93zRJ2u6TFOdgDlPwLWGjRF1fGXXG3kGeB56XhrakOUKtj/FvQmkQ/SjHhOa/Q/OpHBERLp348gG+whpRMDKQZ5mXw9MpZBnwVvd0vtcEr1AuNIYs8=
Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:32::17)
 by PR0P264MB2025.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:16c::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.23; Fri, 2 Jun
 2023 12:21:15 +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.024; Fri, 2 Jun 2023
 12:21:15 +0000
From: "DERUMIER, Alexandre" <alexandre.derumier@groupe-cyllene.com>
To: "pve-devel@lists.proxmox.com" <pve-devel@lists.proxmox.com>
Thread-Topic: [pve-devel] [PATCH pve-manager 2/4] add permissions management
 for "local" network zone
Thread-Index: AQHZj6ORNrA9O7dy+E2zvsXMw+zeZ693bosAgAALoAA=
Date: Fri, 2 Jun 2023 12:21:15 +0000
Message-ID: <4e03c5b89c3c7a3b6810bb9f5e4e87e751d3bc4f.camel@groupe-cyllene.com>
References: <20230526072724.1605613-1-aderumier@odiso.com>
 <20230526072724.1605613-3-aderumier@odiso.com>
 <1685703147.w34rasy2o5.astroid@yuna.none>
In-Reply-To: <1685703147.w34rasy2o5.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_|PR0P264MB2025:EE_
x-ms-office365-filtering-correlation-id: 34cb7efe-bccc-41c7-4f1a-08db6363dc8a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 2Kw2FsRuX7idYj/lhjMsV/xjZtdA6ksAQzy9tH8BNHTDtrvIXa9jn49CGtw8iZnhWjhhm+DH8XWBLmo0/EpUmjEe04E3rmdUaAmHlwj/GEX5ZeE8ZSJ/xOOyqhiclfZ/gLOxJhyQj+jXil0/ex0nrMd0S7VuQye4cEZtcCsPPMn7rBSm2Sn2SAWZX6VJUhi+t/sNJhRbNeg/cNmbs+Ah7IrAqqP4FRzjlljXC580FeyGinWuAwYO/TK+W9YWxViGw6Obx+JZ9lRHGRVln9NwCBOefEL+pnYs5fe9YMp19umob0t4wgsmes9MHUVwHpVdPvE2TNjXGjNS45zgT8PZ3oMYhIh1hZdsMsrOkI5g4KwVqic0mpAHHOypI7P7VnjgaGuyLQuzGDnw0V47OWa+VKurQT6ttAjtKinzD50FC+XxktAOWZ3G3s5GetzmExfP2lfHyFV0eQ54TSt2j0XuxU2l6IHg/g3B1FTFm2t55RTGJkn2SFwcvbYanwwVGCXGY0vmshaZN2Ot+ciw2aFDSuTs3+a9lh3QcFkrbCb1SHD4lNHkPTgny7H2zKo5nbtL1rbe3hVPlTaznyWLq8RG5TVo7J11WwEfPEGw1NRVjkE=
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)(136003)(346002)(376002)(396003)(39850400004)(366004)(451199021)(66574015)(83380400001)(122000001)(36756003)(41300700001)(38070700005)(38100700002)(316002)(6486002)(53546011)(71200400001)(6506007)(966005)(6512007)(6916009)(64756008)(66446008)(66476007)(66946007)(66556008)(76116006)(91956017)(2906002)(8676002)(8936002)(5660300002)(2616005)(19627235002)(478600001)(86362001)(186003);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?REthSXlUNGRBM3lZSllxTSs0L1REMzBiZUpVMGZXN1ZZYnhpZkhtUDE0ZGJN?=
 =?utf-8?B?ZWhVTm52VVZvME1BZDNtOEV4YS9nVzBXLzZRQkVkdFZPVEx6U1RMZVIxdk5P?=
 =?utf-8?B?U1d6T2MrOVhWSzNWd2dLa3ZpQnR2THUxVmJDSGk1RjYrdlRiVjdvNzh3dHFk?=
 =?utf-8?B?aFJzRDVhZTJoVlhkQUUxQmd4N0NmMXAwTEVhblk4TXhBSWZ0WmcwSUU2Y2lZ?=
 =?utf-8?B?cVY0eWdUeXpxcmh3SVM2Nkl1V1J1VjlYWGgwMG5LcFIwQnhOSzlBQ3dGcG5j?=
 =?utf-8?B?THZtbkM0TmR2a0h4QURGTXNTT3VnRHRGTUdGUHhxeFpxS1Q3VHBtbmhPVXd1?=
 =?utf-8?B?YVJhMmx6NE5JR2VTWjhMWENRQk45UkFXaXNOSG1FLzkyb3dIL0NCUGtlMGpk?=
 =?utf-8?B?dnlSRzdSa3EwVXBZSExuUTZ4OC9jSFpqZWJFMkxVRGZnRU1OVWJXRitIYStn?=
 =?utf-8?B?a0xKeHBVa1V6V3k0NitDNWlCSUR1cy83bGZYMnJVckRGYzVDc2tDMEJzM3NP?=
 =?utf-8?B?WC9SNXNRQWdMVlprV2p3R3hBT0QrRkhVT3E0K1YrWTdIdTBjeVo5aFpBcXli?=
 =?utf-8?B?RFRycEREcDFYelF1TXhtalJHTDBnYU1MRDd2THBBaXRsbG5hVWRPenpVK0lY?=
 =?utf-8?B?SUI5dVYwbkdkcnJXQit6Wjd0SU05QjRkTmtreFprZEtoSnB4Q1Y1cVl4b2Qz?=
 =?utf-8?B?VFJEZ2s0OUhYUWV5Q1FacGJrTnF3dU1YWGZzM0dyZTM5K2JuS2dSSnk4Z3Z5?=
 =?utf-8?B?MUZ1djJiaDliRHpwbXYyOGVuVFlsTGd4TEptRWN3ZCtTdFFobThWbGUyV2VN?=
 =?utf-8?B?V2JORWkvR1pkblkyanFLdlppdGZMQWNkNzc5OEVLSS8zdjNqU0NJVGk2TU0y?=
 =?utf-8?B?OHJUeVdXakp4R0xsZ0NFMWk4Y2V4RlVOcGg2WFlIOWtJa2VES2E2dDNvblVr?=
 =?utf-8?B?dTNLL2ZXdGVOVXlkWDZDa0FUcCtVWUxQanNuYmVLTW9URUhPNERXVmJZMkla?=
 =?utf-8?B?Wkw4bHJsOUhUaUZ3SkV5VjNKNmtXS3F4SUk0SlMxa3drbVgvQStOK0hkanRF?=
 =?utf-8?B?M1I5NFdOL0dDc1RpOUNkMWFhaGd4ei9OR3ZZcVhUZllYM1k2dVVraEtncHg3?=
 =?utf-8?B?S3NYWEo1dFJ5c2dyZ2RKSGd1OGdoVWE3MjIrR2JjbDFCNFBQTkFrRjBJakFi?=
 =?utf-8?B?a2NQK1UyZk9JVjZnSTRQVkR5WUNQeUw1OHB2b0Q5OVQ2YktENDlGL2Q0V0M5?=
 =?utf-8?B?aVYvRFZQY2lVZDdjRDRUbmR2WjR4aHhRMG04TTcrMEk4STIwTHl4VTN1Nm9p?=
 =?utf-8?B?Qk5pdmt4SzJYZFdzYWdIdS9nR2tNZFk4SXdvM3hCM2N1cXpkSXExeWczb29R?=
 =?utf-8?B?UHd1WEVKZmc3c1FoN0VWOVZXc2Q5amJDanhvUE1idGRSankveHFLUVlDN2Jl?=
 =?utf-8?B?dFpBNnJxbDZ3QVVVMXpIckpDTnJZQUcxRWgwQTJIRHFqTnJKcVdHVE5zWnZz?=
 =?utf-8?B?UTJYcDZleER2TTZUckUwTy81MHIxUGxORjlaUlZSTHhYcXhEb1pkNVlIVmRX?=
 =?utf-8?B?dllvVnhxbWM3OUlGbnNGZCtjeWYvSlAvVEovUXkrUTVYTzdVbG9Yd2VrQ0hG?=
 =?utf-8?B?U1hWUm92YWxXZ2V1bGxtUkYvVlJlQi9UeVppSFFocVNWalBWcnFzTkFmZnYr?=
 =?utf-8?B?L3d6ajZpT3NRUzNXODR5Qk0rM0JHQStUWnhJVEFqdTRnTllJVnorRlY2eXJ6?=
 =?utf-8?B?cWUyVU4yb2pScU90cmVMTWM2N2JKTmVWY3Qwa24zc0R1eXZyN2kwbjdrRE1v?=
 =?utf-8?B?dGtLcjVCUXdySGpDYURxZEQvRkR6Rnc0Qk15U201aC9jampXamQ3UDI1bE1k?=
 =?utf-8?B?elZkMkJ3TmVHeVl5U1FhNkhMV0tuYlNiMFZQcFFaSW9TcHJWQlp5TEZnc2xH?=
 =?utf-8?B?RzF3TGw0Z0oyVGJMdWhleWV3c3p0K2t6T010LzBSZkcrU0ozVU1hQU1CTDBo?=
 =?utf-8?B?YldGVk1KRVJQODYwVWF3NFpnelhoV0xUQ094NGV6amdyVndVaXJkdS92QmYz?=
 =?utf-8?B?WXJEYjNCa28rb2pzSVRSOTZxcHptdWw2U2U3NU8yU3ZyZmhacHNmcjlTdWYr?=
 =?utf-8?B?NW5KbjRUZDczWk5lVWttZjlmeWh3OTRZRVhJL2R4UU9oUEYvSVNYMkJ2dENo?=
 =?utf-8?Q?jhCV4MXZdP/WtHfsCQbtmKUi9PPG7/wrJbX3/8sPx1gT?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <BE9CDC7568CB48408FC8C6985C51E6DB@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: 34cb7efe-bccc-41c7-4f1a-08db6363dc8a
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jun 2023 12:21:15.5721 (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: 3wvRBZSfycb2GgI9ocrdDCFgGcno/+LAWBiFS4fp0xAwL50Jj4xwUsXUUuNK+3P6CRPv4w5PsaAc24y5sSLKI3h68juop0gcNYEBtK/1w/Nj0Hrfa4i0NKpdndriYZsd
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB2025
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.451 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
 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 -
 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
 information. [cetsi.fr, cluster.pm, network.pm, groupe-cyllene.com,
 groupecyllene.onmicrosoft.com, me.zone, proxmox.com]
Subject: Re: [pve-devel] [PATCH pve-manager 2/4] add permissions management
 for "local" network zone
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Fri, 02 Jun 2023 12:21:49 -0000

TGUgdmVuZHJlZGkgMDIganVpbiAyMDIzIMOgIDEzOjM5ICswMjAwLCBGYWJpYW4gR3LDvG5iaWNo
bGVyIGEgw6ljcml0wqA6Cj4gT24gTWF5IDI2LCAyMDIzIDk6MjcgYW0sIEFsZXhhbmRyZSBEZXJ1
bWllciB3cm90ZToKPiA+IGFkZCBhIGRlZmF1bHQgdmlydHVhbCB6b25lIGNhbGxlZCAnbG9jYWwn
IGluIHRoZSByZXNzb3VyY2UgdHJlZSwKPiA+IGFuZCBoYW5kbGUgcGVybWlzc2lvbnMgbGlrZSBh
IHRydWUgc2RuIHpvbmUKPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogQWxleGFuZHJlIERlcnVtaWVy
IDxhZGVydW1pZXJAb2Rpc28uY29tPgo+ID4gLS0tCj4gPiDCoFBWRS9BUEkyL0NsdXN0ZXIucG3C
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDEyICsrKysrKysrKysrKwo+ID4gwqBQ
VkUvQVBJMi9OZXR3b3JrLnBtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDUg
KysrLS0KPiA+IMKgd3d3L21hbmFnZXI2L3Nkbi9ab25lQ29udGVudFZpZXcuanMgfCAyNwo+ID4g
KysrKysrKysrKysrKysrKysrKysrKysrKystCj4gPiDCoDMgZmlsZXMgY2hhbmdlZCwgNDEgaW5z
ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL1BWRS9BUEky
L0NsdXN0ZXIucG0gYi9QVkUvQVBJMi9DbHVzdGVyLnBtCj4gPiBpbmRleCAyZTk0MjM2OC4uZThm
NWUwNmUgMTAwNjQ0Cj4gPiAtLS0gYS9QVkUvQVBJMi9DbHVzdGVyLnBtCj4gPiArKysgYi9QVkUv
QVBJMi9DbHVzdGVyLnBtCj4gPiBAQCAtNDc0LDYgKzQ3NCwxOCBAQCBfX1BBQ0tBR0VfXy0+cmVn
aXN0ZXJfbWV0aG9kKHsKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+ID4gwqDCoMKgwqDC
oMKgwqDCoH0KPiA+IMKgCj4gPiArwqDCoMKgwqDCoMKgwqAjYWRkIGRlZmF1bHQgImxvY2FsIiBu
ZXR3b3JrIHpvbmUKPiA+ICvCoMKgwqDCoMKgwqDCoGZvcmVhY2ggbXkgJG5vZGUgKEAkbm9kZWxp
c3QpIHsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCBteSAkbG9jYWxfc2RuID0gewo+ID4gK8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlkID0+ICJzZG4vJG5vZGUvbG9jYWwiLAo+ID4g
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHNkbiA9PiAnbG9jYWwnLAo+ID4gK8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoG5vZGUgPT4gJG5vZGUsCj4gPiArwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgdHlwZSA9PiAnc2RuJywKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqBzdGF0dXMgPT4gJ29rJywKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+
ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgIHB1c2ggQCRyZXMsICRsb2NhbF9zZG47Cj4gPiArwqDC
oMKgwqDCoMKgwqB9Cj4gPiArCj4gCj4gc2hvdWxkIHRoaXMgYWxzIG9iZSBndWFyZGVkIGJ5IHRo
ZSB0eXBlIGNoZWNrIGxpa2UgYmVsb3c/IGlzIHRoZXJlCj4gYW55dGhpbmcgdGhhdCBlbnN1cmVz
IHRoYXQgYSAnbG9jYWwnIHpvbmUgZG9lc24ndCBhbHJlYWR5IGV4aXN0IGFzCj4gcmVndWxhciBT
RE4tbWFuYWdlZCB6b25lPwoKSSB3YXMgbW9yZSB0aGlua2luZyB0byBmb3JiaWQgImxvY2FsIiBu
YW1lIGluIHNkbiBjb2RlIGluIGFub3RoZXIKcGF0Y2gsCmFzIHNkbiBpdCdzIHN0aWxsIGluIGJl
dGEgYW55d2F5LCB1c2VyIGNvdWxkIHN0aWxsIHJlbmFtZSB6b25lIG1hbnVhbGx5CmluIGNmZy4K
CmlmIG5vdCwgdXNlciB3aWxsIG5vdCBiZSBhYmxlIHRvIG1hbmFnZSBsb2NhbCBicmlkZ2VzIHBl
cm1pc3Npb25zLgoKCj4gCj4gPiDCoMKgwqDCoMKgwqDCoMKgaWYgKCRoYXZlX3Nkbikgewo+ID4g
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoISRwYXJhbS0+e3R5cGV9IHx8ICRwYXJhbS0+e3R5
cGV9IGVxICdzZG4nKSB7Cj4gPiDCoAo+ID4gZGlmZiAtLWdpdCBhL1BWRS9BUEkyL05ldHdvcmsu
cG0gYi9QVkUvQVBJMi9OZXR3b3JrLnBtCj4gPiBpbmRleCBhNDM1NzlmYS4uYjNmYWJhMWEgMTAw
NjQ0Cj4gPiAtLS0gYS9QVkUvQVBJMi9OZXR3b3JrLnBtCj4gPiArKysgYi9QVkUvQVBJMi9OZXR3
b3JrLnBtCj4gPiBAQCAtMjA5LDcgKzIwOSw3IEBAIF9fUEFDS0FHRV9fLT5yZWdpc3Rlcl9tZXRo
b2Qoewo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0eXBlID0+IHsKPiA+IMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgZGVzY3JpcHRpb24gPT4gIk9ubHkgbGlzdCBzcGVjaWZpYyBp
bnRlcmZhY2UKPiA+IHR5cGVzLiIsCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oHR5cGUgPT4gJ3N0cmluZycsCj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZW51
bSA9PiBbIEAkbmV0d29ya190eXBlX2VudW0sICdhbnlfYnJpZGdlJyBdLAo+ID4gK8KgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGVudW0gPT4gWyBAJG5ldHdvcmtfdHlwZV9lbnVtLCAnYW55
X2JyaWRnZScsCj4gPiAnYW55X2xvY2FsX2JyaWRnZScgXSwKPiA+IMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgb3B0aW9uYWwgPT4gMSwKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
fSwKPiA+IMKgwqDCoMKgwqDCoMKgwqB9LAo+ID4gQEAgLTI1NCw3ICsyNTQsOCBAQCBfX1BBQ0tB
R0VfXy0+cmVnaXN0ZXJfbWV0aG9kKHsKPiA+IMKgCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IGZvciBteSAkayAoc29ydCBrZXlzICRpZmFjZXMtPiUqKSB7Cj4gPiDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoG15ICR0eXBlID0gJGlmYWNlcy0+eyRrfS0+e3R5cGV9Owo+ID4gLcKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoG15ICRtYXRjaCA9ICR0ZmlsdGVyIGVxICR0eXBl
IHx8ICgkdGZpbHRlciBlcQo+ID4gJ2FueV9icmlkZ2UnICYmICgkdHlwZSBlcSAnYnJpZGdlJyB8
fCAkdHlwZSBlcSAnT1ZTQnJpZGdlJykpOwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoG15ICRtYXRjaCA9ICR0ZmlsdGVyIGVxICR0eXBlIHx8ICgkdGZpbHRlciA9fgo+ID4gL15h
bnkoX2xvY2FsKT9fYnJpZGdlJC8gJiYgKCR0eXBlIGVxICdicmlkZ2UnIHx8ICR0eXBlIGVxCj4g
PiAnT1ZTQnJpZGdlJykpOwo+IAo+IHRoaXMgbGluZSBpcyBnZXR0aW5nIGEgYml0IGxvbmcsIG1h
eWJlIGl0IGNvdWxkIGJlIHJlZm9ybWF0ZWQgb3IKPiByZWZhY3RvcmVkPwoKeWVzIHN1cmUuCgo+
IAo+ID4gKwo+IAo+IG5pdDogdGhpcyBibGFuayBuZXdsaW5lIGlzIGludHJvZHVjZWQgaGVyZSBh
bmQgcmVtb3ZlZCBpbiB0aGUgbmV4dAo+IHBhdGNoIDspCj4gCj4gPiDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoGRlbGV0ZSAkaWZhY2VzLT57JGt9IGlmICEoJG1hdGNoICYmCj4gPiAk
Y2FuX2FjY2Vzc192bmV0LT4oJGspKTsKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+ID4g
wqAKPiA+IGRpZmYgLS1naXQgYS93d3cvbWFuYWdlcjYvc2RuL1pvbmVDb250ZW50Vmlldy5qcwo+
ID4gYi93d3cvbWFuYWdlcjYvc2RuL1pvbmVDb250ZW50Vmlldy5qcwo+ID4gaW5kZXggMDhmYTlk
ODEuLjFhOTk0ZmM5IDEwMDY0NAo+ID4gLS0tIGEvd3d3L21hbmFnZXI2L3Nkbi9ab25lQ29udGVu
dFZpZXcuanMKPiA+ICsrKyBiL3d3dy9tYW5hZ2VyNi9zZG4vWm9uZUNvbnRlbnRWaWV3LmpzCj4g
PiBAQCAtMjYsNiArMjYsOSBAQCBFeHQuZGVmaW5lKCdQVkUuc2RuLlpvbmVDb250ZW50Vmlldycs
IHsKPiA+IMKgwqDCoMKgwqDCoMKgwqB9Cj4gPiDCoAo+ID4gwqDCoMKgwqDCoMKgwqDCoHZhciBi
YXNldXJsID0gIi9ub2Rlcy8iICsgbWUubm9kZW5hbWUgKyAiL3Nkbi96b25lcy8iICsKPiA+IG1l
LnpvbmUgKyAiL2NvbnRlbnQiOwo+ID4gK8KgwqDCoMKgwqDCoMKgaWYgKG1lLnpvbmUgPT09ICds
b2NhbCcpIHsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCBiYXNldXJsID0gIi9ub2Rlcy8iICsg
bWUubm9kZW5hbWUgKwo+ID4gIi9uZXR3b3JrP3R5cGU9YW55X2xvY2FsX2JyaWRnZSI7Cj4gPiAr
wqDCoMKgwqDCoMKgwqB9Cj4gPiDCoMKgwqDCoMKgwqDCoMKgdmFyIHN0b3JlID0gRXh0LmNyZWF0
ZSgnRXh0LmRhdGEuU3RvcmUnLCB7Cj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG1vZGVsOiAn
cHZlLXNkbnpvbmUtY29udGVudCcsCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdyb3VwRmll
bGQ6ICdjb250ZW50JywKPiA+IEBAIC05NSw3ICs5OCwyOSBAQCBFeHQuZGVmaW5lKCdQVkUuc2Ru
LlpvbmVDb250ZW50VmlldycsIHsKPiA+IMKgwqDCoMKgIEV4dC5kZWZpbmUoJ3B2ZS1zZG56b25l
LWNvbnRlbnQnLCB7Cj4gPiDCoMKgwqDCoMKgwqDCoMKgZXh0ZW5kOiAnRXh0LmRhdGEuTW9kZWwn
LAo+ID4gwqDCoMKgwqDCoMKgwqDCoGZpZWxkczogWwo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKg
ICd2bmV0JywgJ3N0YXR1cycsICdzdGF0dXNtc2cnLAo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg
IHsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBuYW1lOiAnaWZhY2UnLAo+ID4g
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNvbnZlcnQ6IGZ1bmN0aW9uKHZhbHVlLCBy
ZWNvcmQpIHsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLy9tYXAg
bG9jYWwgdm1iciB0byB2bmV0Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIGlmIChyZWNvcmQuZGF0YS5pZmFjZSkgewo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZWNvcmQuZGF0YS52bmV0ID0gcmVjb3JkLmRhdGEuaWZh
Y2U7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0KPiA+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHZhbHVlOwo+ID4gK8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0sCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqAgfSwK
PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCB7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgbmFtZTogJ2NvbW1lbnRzJywKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqBjb252ZXJ0OiBmdW5jdGlvbih2YWx1ZSwgcmVjb3JkKSB7Cj4gPiArwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8vbWFwIGxvY2FsIHZtYnIgY29tbWVudHMgdG8gdm5ldCBh
bGlhcwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAocmVjb3Jk
LmRhdGEuY29tbWVudHMpIHsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgcmVjb3JkLmRhdGEuYWxpYXMgPSByZWNvcmQuZGF0YS5jb21tZW50czsKPiA+
ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+ID4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gdmFsdWU7Cj4gPiArwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgfSwKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCB9LAo+ID4gK8Kg
wqDCoMKgwqDCoMKgwqDCoMKgICd2bmV0JywKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCAnc3Rh
dHVzJywKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCAnc3RhdHVzbXNnJywKPiA+IMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgewo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBuYW1l
OiAndGV4dCcsCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNvbnZlcnQ6IGZ1
bmN0aW9uKHZhbHVlLCByZWNvcmQpIHsKPiA+IC0tIAo+ID4gMi4zMC4yCj4gPiAKPiA+IAo+ID4g
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+IHB2ZS1k
ZXZlbCBtYWlsaW5nIGxpc3QKPiA+IHB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQo+ID4gaHR0
cHM6Ly9hbnRpcGhpc2hpbmcuY2V0c2kuZnIvcHJveHkvdjM/aT1aazkyVkVGS2FHUTRVbXM0Y25a
RVVXTVRwZkhhWEZRR1J3MV9Dbk9vT0gwJnI9YkhBMWRHVjNOV0pRVlVsb2FXTkZVWlB1MGZLMkJm
V05uRUhhRExEd0cwcnREZWRwbHVaQklmZlNMMU01Y2ozRiZmPVNsaERiRTl1UzJsYVMySmFaRnBO
V3Ztc3hhaTF6bEpQOWxsZ25sNUhJdi00akFqaThEaDJCUWF3enhJRDVienI2VXYtM0VRZC1lbHVR
YnNQZmNVT1RnJnU9aHR0cHMlM0EvL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9s
aXN0aW5mby9wdmUtZGV2ZWwmaz1YUktVCj4gPiAKPiA+IAo+ID4gCj4gCj4gCj4gX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBwdmUtZGV2ZWwgbWFpbGlu
ZyBsaXN0Cj4gcHZlLWRldmVsQGxpc3RzLnByb3htb3guY29tCj4gaHR0cHM6Ly9hbnRpcGhpc2hp
bmcuY2V0c2kuZnIvcHJveHkvdjM/aT1aazkyVkVGS2FHUTRVbXM0Y25aRVVXTVRwZkhhWEZRR1J3
MV9Dbk9vT0gwJnI9YkhBMWRHVjNOV0pRVlVsb2FXTkZVWlB1MGZLMkJmV05uRUhhRExEd0cwcnRE
ZWRwbHVaQklmZlNMMU01Y2ozRiZmPVNsaERiRTl1UzJsYVMySmFaRnBOV3Ztc3hhaTF6bEpQOWxs
Z25sNUhJdi00akFqaThEaDJCUWF3enhJRDVienI2VXYtM0VRZC1lbHVRYnNQZmNVT1RnJnU9aHR0
cHMlM0EvL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2
ZWwmaz1YUktVCj4gCgo=