From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9])
	by lore.proxmox.com (Postfix) with ESMTPS id CF75D1FF165
	for <inbox@lore.proxmox.com>; Thu,  8 May 2025 17:17:44 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 4E1E01D1AC;
	Thu,  8 May 2025 17:18:01 +0200 (CEST)
Message-ID: <999465b4-a40f-4c0f-98b8-6a272e2ee609@proxmox.com>
Date: Thu, 8 May 2025 17:17:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: pve-devel@lists.proxmox.com
References: <20250506090926.71508-1-l.leahu-vladucu@proxmox.com>
 <1746694526.an3gyo9wbw.astroid@yuna.none>
Content-Language: en-US
From: =?UTF-8?Q?Lauren=C8=9Biu_Leahu-Vl=C4=83ducu?=
 <l.leahu-vladucu@proxmox.com>
In-Reply-To: <1746694526.an3gyo9wbw.astroid@yuna.none>
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.297 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible
 spam tricks
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
Subject: Re: [pve-devel] [PATCH proxmox-offline-mirror] Add possibility to
 create named snapshots
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>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

VGhhbmtzIGZvciB5b3VyIGZlZWRiYWNrISBTb21lIGFuc3dlcnMgaW5saW5lLgoKT24gMDguMDUu
MjUgMTE6MTQsIEZhYmlhbiBHcsO8bmJpY2hsZXIgd3JvdGU6Cj4gT24gTWF5IDYsIDIwMjUgMTE6
MDkgYW0sIExhdXJlbsibaXUgTGVhaHUtVmzEg2R1Y3Ugd3JvdGU6Cj4+IEluIGFkZGl0aW9uIHRv
IHRoZSBleGlzdGluZyB0aW1lZCBzbmFwc2hvdHMsIGl0IGlzIG5vdyBwb3NzaWJsZSB0bwo+PiBj
cmVhdGUgbmFtZWQgc25hcHNob3RzLiBGb3Igc29tZSB1c2UgY2FzZXMsIGl0IG1ha2VzIHNlbnNl
IHRvIGdpdmUKPj4gc25hcHNob3RzIGEgc3BlY2lmaWMgbmFtZSwgZS5nLiB0byBzcGVjaWZ5IHRo
ZSBwdXJwb3NlIG9mIHRoZSBzbmFwc2hvdAo+PiAoaW5zdGVhZCBvZiBhIHRpbWVzdGFtcCkuIFRo
aXMgY2FuIGJlIHVzZWZ1bCB3aGVuIGRlcGxveWluZyBzbmFwc2hvdHMKPj4gY3JlYXRlZCBmb3Ig
YSBjZXJ0YWluIHB1cnBvc2UgKGZvciBleGFtcGxlLCBmdXJ0aGVyIHRlc3RpbmcpLgo+Pgo+PiBQ
YXJ0aWFsbHkgZml4ZXMgIzYyNTIKPj4KPj4gU2lnbmVkLW9mZi1ieTogTGF1cmVuyJtpdSBMZWFo
dS1WbMSDZHVjdSA8bC5sZWFodS12bGFkdWN1QHByb3htb3guY29tPgo+PiAtLS0KPj4gICBzcmMv
YmluL3Byb3htb3gtb2ZmbGluZS1taXJyb3ItaGVscGVyLnJzICAgICAgfCAgNiArLQo+PiAgIHNy
Yy9iaW4vcHJveG1veF9vZmZsaW5lX21pcnJvcl9jbWRzL21pcnJvci5ycyB8IDMyICsrKysrKysr
LS0tCj4+ICAgc3JjL21lZGl1bS5ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
IDQgKy0KPj4gICBzcmMvbWlycm9yLnJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCA1NiArKysrKysrKysrKysrKystLS0tCj4+ICAgc3JjL3R5cGVzLnJzICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgNTIgKysrKysrKysrKysrKy0tLS0KPj4gICA1IGZpbGVzIGNo
YW5nZWQsIDExNyBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdp
dCBhL3NyYy9iaW4vcHJveG1veC1vZmZsaW5lLW1pcnJvci1oZWxwZXIucnMgYi9zcmMvYmluL3By
b3htb3gtb2ZmbGluZS1taXJyb3ItaGVscGVyLnJzCj4+IGluZGV4IDc5MTFkNTIuLmEwMGQyNmQg
MTAwNjQ0Cj4+IC0tLSBhL3NyYy9iaW4vcHJveG1veC1vZmZsaW5lLW1pcnJvci1oZWxwZXIucnMK
Pj4gKysrIGIvc3JjL2Jpbi9wcm94bW94LW9mZmxpbmUtbWlycm9yLWhlbHBlci5ycwo+PiBAQCAt
MTUxLDggKzE1MSw4IEBAIGFzeW5jIGZuIHNldHVwKF9wYXJhbTogVmFsdWUpIC0+IFJlc3VsdDwo
KSwgRXJyb3I+IHsKPj4gICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkX21pcnJvciA9IHJl
YWRfc2VsZWN0aW9uX2Zyb21fdHR5KCJTZWxlY3QgbWlycm9yIiwgJm1pcnJvcnMsIE5vbmUpPzsK
Pj4gICAgICAgICAgICAgICAgICAgbGV0IHNuYXBzaG90czogVmVjPChTbmFwc2hvdCwgU3RyaW5n
KT4gPQo+PiAgICAgICAgICAgICAgICAgICAgICAgbWVkaXVtOjpsaXN0X3NuYXBzaG90cyhtb3Vu
dHBvaW50LCBzZWxlY3RlZF9taXJyb3IpPwo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgLmlu
dG9faXRlcigpCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAubWFwKHxzfCAocywgcy50b19z
dHJpbmcoKSkpCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAuaXRlcigpCj4+ICsgICAgICAg
ICAgICAgICAgICAgICAgICAubWFwKHxzfCAocy5jbG9uZSgpLCBzLnRvX3N0cmluZygpKSkKPiAK
PiBkb2Vzbid0IGh1cnQgdG9vIG11Y2gsIGJ1dCBjb3VsZCBzdGlsbCBiZSBhdm9pZGVkIGJ5IGRv
aW5nIHRvX3N0cmluZygpCj4gZmlyc3QuLgo+IAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAg
IC5jb2xsZWN0KCk7Cj4+ICAgICAgICAgICAgICAgICAgIGlmIHNuYXBzaG90cy5pc19lbXB0eSgp
IHsKPj4gICAgICAgICAgICAgICAgICAgICAgIHByaW50bG4hKCJNaXJyb3IgZG9lc24ndCBoYXZl
IGFueSBzeW5jZWQgc25hcHNob3RzLiIpOwo+PiBAQCAtMTczLDcgKzE3Myw3IEBAIGFzeW5jIGZu
IHNldHVwKF9wYXJhbTogVmFsdWUpIC0+IFJlc3VsdDwoKSwgRXJyb3I+IHsKPj4gICAgICAgICAg
ICAgICAgICAgICAgIHNlbGVjdGVkX21pcnJvci50b19zdHJpbmcoKSwKPj4gICAgICAgICAgICAg
ICAgICAgICAgICgKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5taXJyb3JzLmdl
dCgqc2VsZWN0ZWRfbWlycm9yKS51bndyYXAoKSwKPj4gLSAgICAgICAgICAgICAgICAgICAgICAg
ICoqc2VsZWN0ZWRfc25hcHNob3QsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAoKipzZWxl
Y3RlZF9zbmFwc2hvdCkuY2xvbmUoKSwKPj4gICAgICAgICAgICAgICAgICAgICAgICksCj4+ICAg
ICAgICAgICAgICAgICAgICk7Cj4+ICAgICAgICAgICAgICAgfQo+PiBkaWZmIC0tZ2l0IGEvc3Jj
L2Jpbi9wcm94bW94X29mZmxpbmVfbWlycm9yX2NtZHMvbWlycm9yLnJzIGIvc3JjL2Jpbi9wcm94
bW94X29mZmxpbmVfbWlycm9yX2NtZHMvbWlycm9yLnJzCj4+IGluZGV4IDMxYTU2NWUuLjdlYmEw
NGQgMTAwNjQ0Cj4+IC0tLSBhL3NyYy9iaW4vcHJveG1veF9vZmZsaW5lX21pcnJvcl9jbWRzL21p
cnJvci5ycwo+PiArKysgYi9zcmMvYmluL3Byb3htb3hfb2ZmbGluZV9taXJyb3JfY21kcy9taXJy
b3IucnMKPj4gQEAgLTE3LDcgKzE3LDcgQEAgdXNlIHByb3htb3hfc2NoZW1hOjphcGk7Cj4+ICAg
dXNlIHByb3htb3hfb2ZmbGluZV9taXJyb3I6OnsKPj4gICAgICAgY29uZmlnOjp7TWlycm9yQ29u
ZmlnLCBTdWJzY3JpcHRpb25LZXl9LAo+PiAgICAgICBtaXJyb3IsCj4+IC0gICAgdHlwZXM6OntN
SVJST1JfSURfU0NIRU1BLCBTbmFwc2hvdH0sCj4+ICsgICAgdHlwZXM6OntNSVJST1JfSURfU0NI
RU1BLCBOQU1FRF9TTkFQU0hPVF9TQ0hFTUEsIFNuYXBzaG90fSwKPj4gICB9Owo+PiAgIAo+PiAg
IHVzZSBzdXBlcjo6Z2V0X2NvbmZpZ19wYXRoOwo+PiBAQCAtNjAsNiArNjAsMTAgQEAgZm4gZ2V0
X3N1YnNjcmlwdGlvbl9rZXkoCj4+ICAgICAgICAgICAgICAgaWQ6IHsKPj4gICAgICAgICAgICAg
ICAgICAgc2NoZW1hOiBNSVJST1JfSURfU0NIRU1BLAo+PiAgICAgICAgICAgICAgIH0sCj4+ICsg
ICAgICAgICAgICBuYW1lOiB7Cj4+ICsgICAgICAgICAgICAgICAgc2NoZW1hOiBOQU1FRF9TTkFQ
U0hPVF9TQ0hFTUEsCj4+ICsgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsCj4+ICsgICAg
ICAgICAgICB9LAo+PiAgICAgICAgICAgICAgICJkcnktcnVuIjogewo+PiAgICAgICAgICAgICAg
ICAgICB0eXBlOiBib29sLAo+PiAgICAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSwKPj4g
QEAgLTczLDYgKzc3LDcgQEAgZm4gZ2V0X3N1YnNjcmlwdGlvbl9rZXkoCj4+ICAgYXN5bmMgZm4g
Y3JlYXRlX3NuYXBzaG90KAo+PiAgICAgICBjb25maWc6IE9wdGlvbjxTdHJpbmc+LAo+PiAgICAg
ICBpZDogU3RyaW5nLAo+PiArICAgIG5hbWU6IE9wdGlvbjxTdHJpbmc+LAo+PiAgICAgICBkcnlf
cnVuOiBib29sLAo+PiAgICAgICBfcGFyYW06IFZhbHVlLAo+PiAgICkgLT4gUmVzdWx0PCgpLCBF
cnJvcj4gewo+PiBAQCAtODMsMTIgKzg4LDEyIEBAIGFzeW5jIGZuIGNyZWF0ZV9zbmFwc2hvdCgK
Pj4gICAKPj4gICAgICAgbGV0IHN1YnNjcmlwdGlvbiA9IGdldF9zdWJzY3JpcHRpb25fa2V5KCZz
ZWN0aW9uX2NvbmZpZywgJmNvbmZpZyk/Owo+PiAgIAo+PiAtICAgIHByb3htb3hfb2ZmbGluZV9t
aXJyb3I6Om1pcnJvcjo6Y3JlYXRlX3NuYXBzaG90KAo+PiAtICAgICAgICBjb25maWcsCj4+IC0g
ICAgICAgICZTbmFwc2hvdDo6bm93KCksCj4+IC0gICAgICAgIHN1YnNjcmlwdGlvbiwKPj4gLSAg
ICAgICAgZHJ5X3J1biwKPj4gLSAgICApPzsKPj4gKyAgICBsZXQgc25hcHNob3QgPSBtYXRjaCAm
bmFtZSB7Cj4+ICsgICAgICAgIFNvbWUobmFtZSkgPT4gU25hcHNob3Q6OndpdGhfbmFtZSgmbmFt
ZSksCj4+ICsgICAgICAgIE5vbmUgPT4gU25hcHNob3Q6Om5vdygpLAo+PiArICAgIH07Cj4+ICsK
Pj4gKyAgICBwcm94bW94X29mZmxpbmVfbWlycm9yOjptaXJyb3I6OmNyZWF0ZV9zbmFwc2hvdChj
b25maWcsICZzbmFwc2hvdCwgc3Vic2NyaXB0aW9uLCBkcnlfcnVuKT87Cj4gCj4gSSB0aGluayBp
dCB3b3VsZCBtYWtlIG1vcmUgc2Vuc2UgdG8gdHJlYXQgdGhlIG5hbWUgYXMgYW4gZXh0cmEgImxh
YmVsIiwKPiByYXRoZXIgdGhhbiBhcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgdGltZXN0YW1wLi4K
PiAKPiBiZWNhdXNlIHdpdGggdGhlIGN1cnJlbnQgYXBwcm9hY2g6Cj4gLSB3ZSBsb3NlIHRoZSBp
bmZvcm1hdGlvbiB3aGVuIGEgc25hcHNob3Qgd2FzIGNyZWF0ZWQsIHdoaWNoIGlzCj4gICAgaW1w
b3J0YW50IGZvciBvcmRlcmluZwo+IC0gKmFueXRoaW5nKiB0aGF0IG1hdGNoZXMgdGhlIHJlbGF4
ZWQgc2NoZW1hIGlzIG5vdyB0cmVhdGVkIGFzIHNuYXBzaG90LAo+ICAgIGluY2x1ZGluZyB0ZW1w
b3JhcnkgZGlycyBmb3IgbmFtZWQgc25hcHNob3RzCj4gCj4gaWYgd2UgYXR0YWNoIHRoZSBsYWJl
bCAqYWZ0ZXIqIGNyZWF0aW5nIHRoZSBzbmFwc2hvdCAoZS5nLiwgYXMgYSBzeW1saW5rCj4gcG9p
bnRpbmcgYXQgYSBzbmFwc2hvdCBkaXI/KSwgd2UgYXZvaWQgdGhvc2UgaXNzdWVzIChhbmQgZXZl
biBnZXQKPiBhZGRpdGlvbmFsIGJlbmVmaXRzLCBsaWtlIG1vdmluZyBhIGxhYmVsIGZvcndhcmQs
IGhhdmluZyBtdWx0aXBsZSBsYWJlbHMKPiBmb3IgYSBzaW5nbGUgc25hcHNob3QsIC4uKS4KPiAK
PiBvZiBjb3Vyc2UsIHRoYXQgbWVhbnMgaGFuZGxpbmcgZGFuZ2xpbmcgc3ltbGlua3MsIGFuZCBo
YW5kbGluZyBvZiB0aG9zZQo+IHN5bWxpbmtzIGluIGdlbmVyYWwgaW4gc29tZSBwYXJ0cy4uCgpT
dXJlLCB0aGlzIGlzIHByb2JhYmx5IHRoZSBzYWZlciBhcHByb2FjaCBpbiB0aGUgbG9uZyBydW4g
KGFsc28gYmVjYXVzZSAKb2Ygd2hhdCB5b3UgbWVudGlvbmVkIGJlbG93KS4gSSdsbCBzZW5kIGEg
djIgY29udGFpbmluZyB5b3VyIHN1Z2dlc3Rpb25zIApzb29uLgoKPiAKPj4gICAKPj4gICAgICAg
T2soKCkpCj4+ICAgfQo+PiBAQCAtMTAxLDYgKzEwNiwxMCBAQCBhc3luYyBmbiBjcmVhdGVfc25h
cHNob3QoCj4+ICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLAo+PiAgICAgICAgICAg
ICAgICAgICBkZXNjcmlwdGlvbjogIlBhdGggdG8gbWlycm9yaW5nIGNvbmZpZyBmaWxlLiIsCj4+
ICAgICAgICAgICAgICAgfSwKPj4gKyAgICAgICAgICAgIG5hbWU6IHsKPj4gKyAgICAgICAgICAg
ICAgICBzY2hlbWE6IE5BTUVEX1NOQVBTSE9UX1NDSEVNQSwKPj4gKyAgICAgICAgICAgICAgICBv
cHRpb25hbDogdHJ1ZSwKPj4gKyAgICAgICAgICAgIH0sCj4+ICAgICAgICAgICAgICAgImRyeS1y
dW4iOiB7Cj4+ICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2wsCj4+ICAgICAgICAgICAgICAg
ICAgIG9wdGlvbmFsOiB0cnVlLAo+PiBAQCAtMTE0LDYgKzEyMyw3IEBAIGFzeW5jIGZuIGNyZWF0
ZV9zbmFwc2hvdCgKPj4gICAvLy8gZnJvbSBvcmlnaW5hbCByZXBvc2l0b3J5Lgo+PiAgIGFzeW5j
IGZuIGNyZWF0ZV9zbmFwc2hvdHMoCj4+ICAgICAgIGNvbmZpZzogT3B0aW9uPFN0cmluZz4sCj4+
ICsgICAgbmFtZTogT3B0aW9uPFN0cmluZz4sCj4+ICAgICAgIGRyeV9ydW46IGJvb2wsCj4+ICAg
ICAgIF9wYXJhbTogVmFsdWUsCj4+ICAgKSAtPiBSZXN1bHQ8KCksIEVycm9yPiB7Cj4+IEBAIC0x
MzUsOSArMTQ1LDE1IEBAIGFzeW5jIGZuIGNyZWF0ZV9zbmFwc2hvdHMoCj4+ICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwo+PiAgICAgICAgICAgICAgIH0KPj4gICAgICAgICAgIH07Cj4+ICsK
Pj4gKyAgICAgICAgbGV0IHNuYXBzaG90ID0gbWF0Y2ggJm5hbWUgewo+PiArICAgICAgICAgICAg
U29tZShuYW1lKSA9PiBTbmFwc2hvdDo6d2l0aF9uYW1lKCZuYW1lKSwKPj4gKyAgICAgICAgICAg
IE5vbmUgPT4gU25hcHNob3Q6Om5vdygpLAo+PiArICAgICAgICB9Owo+PiArCj4+ICAgICAgICAg
ICBsZXQgcmVzID0gcHJveG1veF9vZmZsaW5lX21pcnJvcjo6bWlycm9yOjpjcmVhdGVfc25hcHNo
b3QoCj4+ICAgICAgICAgICAgICAgbWlycm9yLAo+PiAtICAgICAgICAgICAgJlNuYXBzaG90Ojpu
b3coKSwKPj4gKyAgICAgICAgICAgICZzbmFwc2hvdCwKPj4gICAgICAgICAgICAgICBzdWJzY3Jp
cHRpb24sCj4+ICAgICAgICAgICAgICAgZHJ5X3J1biwKPiAKPiB0aGlzIG1lYW5zIHRoYXQgb25l
IG9mIHRoZSBtYWluIHB1cnBvc2VzIG9mIHRoaXMgIm5hbWluZyIgZ2V0cyBxdWl0ZQo+IGJyaXR0
bGUgLSBpZiBhIHNpbmdsZSBtaXJyb3IgZmFpbHMgdG8gYmUgbWlycm9yZWQsIHRoZSBvdGhlcnMg
d2lsbCBoYXZlCj4gdGhhdCBuYW1lIGF0dGFjaGVkIGFuZCBpdCdzIHRodXMgInVzZWQiPwo+IAo+
IGlmIHdlIHVzZSB0aGUgc3ltbGluayBhcHByb2FjaCwgd2UgYWxzbyBhdm9pZCB0aGlzIHByb2Js
ZW0gLT4gc2ltcGx5Cj4gc25hcHNob3QgYWxsIG1pcnJvcnMsIGFuZCBhdHRhY2ggdGhlIGxhYmVs
IGF0IHRoZSBlbmQgaWYgc3VjY2Vzc2Z1bCAob3IKPiBtYWtlIHRoZSBiZWhhdmlvdXIgY29uZmln
dXJhYmxlLCBkZXBlbmRpbmcgb24gdXNlIGNhc2UpCj4gCj4+ICAgICAgICAgICApOwo+PiBkaWZm
IC0tZ2l0IGEvc3JjL21lZGl1bS5ycyBiL3NyYy9tZWRpdW0ucnMKPj4gaW5kZXggYmVmNmNjNy4u
YTJlMmVlNCAxMDA2NDQKPj4gLS0tIGEvc3JjL21lZGl1bS5ycwo+PiArKysgYi9zcmMvbWVkaXVt
LnJzCj4+IEBAIC0xOCw3ICsxOCw3IEBAIHVzZSBjcmF0ZTo6ewo+PiAgICAgICBnZW5lcmF0ZV9y
ZXBvX2ZpbGVfbGluZSwKPj4gICAgICAgbWlycm9yOjpwb29sLAo+PiAgICAgICBwb29sOjpQb29s
LAo+PiAtICAgIHR5cGVzOjp7RGlmZiwgU05BUFNIT1RfUkVHRVgsIFNuYXBzaG90fSwKPj4gKyAg
ICB0eXBlczo6e0NPTUJJTkVEX1NOQVBTSE9UX1JFR0VYLCBEaWZmLCBTbmFwc2hvdH0sCj4+ICAg
fTsKPj4gICAjW2Rlcml2ZShDbG9uZSwgRGVidWcsIFNlcmlhbGl6ZSwgRGVzZXJpYWxpemUpXQo+
PiAgICNbc2VyZGUocmVuYW1lX2FsbCA9ICJrZWJhYi1jYXNlIildCj4+IEBAIC0xNjIsNyArMTYy
LDcgQEAgcHViIGZuIGxpc3Rfc25hcHNob3RzKG1lZGl1bV9iYXNlOiAmUGF0aCwgbWlycm9yOiAm
c3RyKSAtPiBSZXN1bHQ8VmVjPFNuYXBzaG90PiwKPj4gICAgICAgcHJveG1veF9zeXM6OmZzOjpz
Y2FuZGlyKAo+PiAgICAgICAgICAgbGliYzo6QVRfRkRDV0QsCj4+ICAgICAgICAgICAmbWlycm9y
X2Jhc2UsCj4+IC0gICAgICAgICZTTkFQU0hPVF9SRUdFWCwKPj4gKyAgICAgICAgJkNPTUJJTkVE
X1NOQVBTSE9UX1JFR0VYLAo+PiAgICAgICAgICAgfF9sMl9mZCwgc25hcHNob3QsIGZpbGVfdHlw
ZXwgewo+PiAgICAgICAgICAgICAgIGlmIGZpbGVfdHlwZSAhPSBuaXg6OmRpcjo6VHlwZTo6RGly
ZWN0b3J5IHsKPj4gICAgICAgICAgICAgICAgICAgcmV0dXJuIE9rKCgpKTsKPj4gZGlmZiAtLWdp
dCBhL3NyYy9taXJyb3IucnMgYi9zcmMvbWlycm9yLnJzCj4+IGluZGV4IGM4OGY4MWQuLjJhZWY2
OTEgMTAwNjQ0Cj4+IC0tLSBhL3NyYy9taXJyb3IucnMKPj4gKysrIGIvc3JjL21pcnJvci5ycwo+
PiBAQCAtMTEsMTQgKzExLDE0IEBAIHVzZSBnbG9ic2V0Ojp7R2xvYiwgR2xvYlNldCwgR2xvYlNl
dEJ1aWxkZXJ9Owo+PiAgIHVzZSBuaXg6OmxpYmM7Cj4+ICAgdXNlIHByb3htb3hfaHR0cDo6e0h0
dHBDbGllbnQsIEh0dHBPcHRpb25zLCBQcm94eUNvbmZpZywgY2xpZW50OjpzeW5jOjpDbGllbnR9
Owo+PiAgIHVzZSBwcm94bW94X3NjaGVtYTo6e0FwaVR5cGUsIFNjaGVtYX07Cj4+IC11c2UgcHJv
eG1veF9zeXM6OmZzOjpmaWxlX2dldF9jb250ZW50czsKPj4gK3VzZSBwcm94bW94X3N5czo6ZnM6
OntDcmVhdGVPcHRpb25zLCBmaWxlX2dldF9jb250ZW50c307Cj4+ICAgCj4+ICAgdXNlIGNyYXRl
Ojp7Cj4+ICAgICAgIEZldGNoUmVzdWx0LCBQcm9ncmVzcywKPj4gICAgICAgY29uZmlnOjp7TWly
cm9yQ29uZmlnLCBTa2lwQ29uZmlnLCBTdWJzY3JpcHRpb25LZXksIFdlYWtDcnlwdG9Db25maWd9
LAo+PiAgICAgICBjb252ZXJ0X3JlcG9fbGluZSwKPj4gICAgICAgcG9vbDo6UG9vbCwKPj4gLSAg
ICB0eXBlczo6e0RpZmYsIFNOQVBTSE9UX1JFR0VYLCBTbmFwc2hvdH0sCj4+ICsgICAgdHlwZXM6
OntDT01CSU5FRF9TTkFQU0hPVF9SRUdFWCwgRGlmZiwgU25hcHNob3R9LAo+PiAgIH07Cj4+ICAg
Cj4+ICAgdXNlIHByb3htb3hfYXB0OjpkZWI4MjI6OnsKPj4gQEAgLTQ3Niw3ICs0NzYsNyBAQCBw
dWIgZm4gbGlzdF9zbmFwc2hvdHMoY29uZmlnOiAmTWlycm9yQ29uZmlnKSAtPiBSZXN1bHQ8VmVj
PFNuYXBzaG90PiwgRXJyb3I+IHsKPj4gICAgICAgcHJveG1veF9zeXM6OmZzOjpzY2FuZGlyKAo+
PiAgICAgICAgICAgbGliYzo6QVRfRkRDV0QsCj4+ICAgICAgICAgICAmcGF0aCwKPj4gLSAgICAg
ICAgJlNOQVBTSE9UX1JFR0VYLAo+PiArICAgICAgICAmQ09NQklORURfU05BUFNIT1RfUkVHRVgs
Cj4+ICAgICAgICAgICB8X2wyX2ZkLCBzbmFwc2hvdCwgZmlsZV90eXBlfCB7Cj4+ICAgICAgICAg
ICAgICAgaWYgZmlsZV90eXBlICE9IG5peDo6ZGlyOjpUeXBlOjpEaXJlY3Rvcnkgewo+PiAgICAg
ICAgICAgICAgICAgICByZXR1cm4gT2soKCkpOwo+PiBAQCAtNzkzLDEyICs3OTMsNiBAQCBwdWIg
Zm4gY3JlYXRlX3NuYXBzaG90KAo+PiAgICAgICAgICAgTm9uZQo+PiAgICAgICB9Owo+PiAgIAo+
PiAtICAgIGxldCBtdXQgY29uZmlnOiBQYXJzZWRNaXJyb3JDb25maWcgPSBjb25maWcudHJ5X2lu
dG8oKT87Cj4+IC0gICAgY29uZmlnLmF1dGggPSBhdXRoOwo+IAo+IHRoaXMgaXMgdW5yZWxhdGVk
PwoKSSBtb3ZlZCB0aGUgInByb2dyZXNzIiB2YXJpYWJsZSBhcm91bmQgKHNlZSBiZWxvdykgdG8g
cmVwb3J0IGEgd2FybmluZyAKKGluc3RlYWQgb2YgYW4gZXJyb3IpIGluIGNhc2UgYSBzbmFwc2hv
dCBhbHJlYWR5IGV4aXN0cywgd2hpbGUgZG9pbmcgYSAKZHJ5IHJ1bi4gSSB0aGVuIG1vdmVkICJj
b25maWciIGFyb3VuZCBhcyB3ZWxsIGFuZCBhcHBhcmVudGx5IEkgYWRkZWQgCnRoZW0gaW4gdGhl
IHJldmVyc2VkIG9yZGVyIHRoZW4gYmVmb3JlLiBTb3JyeSBmb3IgdGhlIG5vaXNlLgoKPiAKPj4g
LQo+PiAtICAgIGxldCBwcmVmaXggPSBmb3JtYXQhKCJ7c25hcHNob3R9LnRtcCIpOwo+PiAtICAg
IGxldCBwcmVmaXggPSBQYXRoOjpuZXcoJnByZWZpeCk7Cj4+IC0KPj4gICAgICAgbGV0IG11dCBw
cm9ncmVzcyA9IE1pcnJvclByb2dyZXNzIHsKPj4gICAgICAgICAgIHdhcm5pbmdzOiBWZWM6Om5l
dygpLAo+PiAgICAgICAgICAgc2tpcF9jb3VudDogMCwKPj4gQEAgLTgwNyw2ICs4MDEsNDIgQEAg
cHViIGZuIGNyZWF0ZV9zbmFwc2hvdCgKPj4gICAgICAgICAgIHRvdGFsOiBQcm9ncmVzczo6bmV3
KCksCj4+ICAgICAgIH07Cj4+ICAgCj4+ICsgICAgbGV0IG11dCBjb25maWc6IFBhcnNlZE1pcnJv
ckNvbmZpZyA9IGNvbmZpZy50cnlfaW50bygpPzsKPj4gKyAgICBjb25maWcuYXV0aCA9IGF1dGg7
Cj4+ICsKPj4gKyAgICBsZXQgc25hcHNob3RfcmVsYXRpdmVfcGF0aCA9IHNuYXBzaG90LnRvX3N0
cmluZygpOwo+PiArICAgIGxldCBzbmFwc2hvdF9yZWxhdGl2ZV9wYXRoID0gUGF0aDo6bmV3KCZz
bmFwc2hvdF9yZWxhdGl2ZV9wYXRoKTsKPj4gKyAgICBsZXQgc25hcHNob3RfYWJzb2x1dGVfcGF0
aCA9IGNvbmZpZy5wb29sLmdldF9wYXRoKHNuYXBzaG90X3JlbGF0aXZlX3BhdGgpOwo+PiArCj4+
ICsgICAgaWYgc25hcHNob3RfYWJzb2x1dGVfcGF0aC5pc19va19hbmQofHBhdGh8IHBhdGguZXhp
c3RzKCkpIHsKPj4gKyAgICAgICAgaWYgZHJ5X3J1biB7Cj4+ICsgICAgICAgICAgICBsZXQgbXNn
ID0gIldBUk5JTkc6IHNuYXBzaG90IHtzbmFwc2hvdH0gYWxyZWFkeSBleGlzdHMhIENvbnRpbnVp
bmcgZHVlIHRvIGRyeSBydW4uLi4iOwo+PiArICAgICAgICAgICAgZXByaW50bG4hKCJ7bXNnfSIp
Owo+PiArICAgICAgICAgICAgcHJvZ3Jlc3Mud2FybmluZ3MucHVzaChtc2cuaW50bygpKTsKPj4g
KyAgICAgICAgfSBlbHNlIHsKPj4gKyAgICAgICAgICAgIGJhaWwhKCJTbmFwc2hvdCB7c25hcHNo
b3R9IGFscmVhZHkgZXhpc3RzISIpOwo+PiArICAgICAgICB9Cj4+ICsgICAgfQo+PiArCj4+ICsg
ICAgbGV0IGxvY2tmaWxlX3BhdGggPSBjb25maWcKPj4gKyAgICAgICAgLnBvb2wKPj4gKyAgICAg
ICAgLmdldF9wYXRoKFBhdGg6Om5ldygmZm9ybWF0ISgiLntzbmFwc2hvdH0ubG9jayIpKSk7Cj4g
Cj4gd2hhdCBkb2VzIHRoaXMgbmV3IGxvY2sgcHJvdGVjdCBhZ2FpbnN0PyB3aGF0IGlzIGl0cyBz
Y29wZT8gbm90ZSB0aGF0IGEKPiBwb29sIGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBtaXJyb3JzLi4K
ClVudGlsIG5vdywgaXQgd2FzIG9ubHkgcG9zc2libGUgdG8gY3JlYXRlIHNuYXBzaG90cyBjb250
YWluaW5nIGEgCnRpbWVzdGFtcCwgbWVhbmluZyB0aGF0IHVubGVzcyB5b3Ugd2VyZSBzbyBmYXN0
IHRvIGNyZWF0ZSBtdWx0aXBsZSAKc25hcHNob3RzIHBlciBzZWNvbmQsIGl0IHdhcyBpbXBvc3Np
YmxlIHRvIGJlZ2luIGNyZWF0aW5nIHR3byBzbmFwc2hvdHMgCmF0IG9uY2UuIEhvd2V2ZXIsIHlv
dSBjYW4gbm93IHRoZW9yZXRpY2FsbHkgdHJ5IHRvIGNyZWF0ZSB0d28gc25hcHNob3RzIAp3aXRo
IHRoZSBzYW1lIG5hbWUgYXQgdGhlIHNhbWUgdGltZSAoZS5nLiBvdmVyIHR3byBTU0ggY29ubmVj
dGlvbnMpIC0gCnRoYXQgaXMsIGNyZWF0aW5nIGEgc2Vjb25kIHNuYXBzaG90IGJlZm9yZSB0aGUg
Zmlyc3Qgb25lIGZpbmlzaGVkIApjcmVhdGluZy4gVGhlIGxvY2tmaWxlIHByb3RlY3RzIGFnYWlu
c3Qgc3VjaCBhbiBpc3N1ZS4KCj4gCj4+ICsKPj4gKyAgICBpZiBsZXQgRXJyKGxvY2tmaWxlX2Vy
cikgPSBsb2NrZmlsZV9wYXRoIHsKPj4gKyAgICAgICAgYmFpbCEoImNhbm5vdCBjcmVhdGUgbG9j
a2ZpbGUgZm9yIHNuYXBzaG90IHtzbmFwc2hvdH06IHtsb2NrZmlsZV9lcnJ9Iik7Cj4+ICsgICAg
fQo+PiArICAgIGxldCBsb2NrZmlsZV9wYXRoID0gbG9ja2ZpbGVfcGF0aC51bndyYXAoKTsKPj4g
Kwo+PiArICAgIGxldCBfc25hcHNob3RfbG9jayA9IHByb3htb3hfc3lzOjpmczo6b3Blbl9maWxl
X2xvY2tlZCgKPj4gKyAgICAgICAgJmxvY2tmaWxlX3BhdGgsCj4+ICsgICAgICAgIHN0ZDo6dGlt
ZTo6RHVyYXRpb246Om5ldygxMCwgMCksCj4+ICsgICAgICAgIHRydWUsCj4+ICsgICAgICAgIENy
ZWF0ZU9wdGlvbnM6OmRlZmF1bHQoKSwKPj4gKyAgICApPzsKPj4gKwo+PiArICAgIGxldCBwcmVm
aXggPSBmb3JtYXQhKCJ7c25hcHNob3R9LnRtcCIpOwo+PiArICAgIGxldCBwcmVmaXggPSBQYXRo
OjpuZXcoJnByZWZpeCk7Cj4gCj4gdGhpcyBtaWdodCBhbHNvIGFscmVhZHkgZXhpc3QgYW5kIHNo
b3VsZCBiZSBjaGVja2VkLi4KCkdvb2QgcG9pbnQsIHRoYW5rcyEKCj4gCj4+ICsKPj4gICAgICAg
bGV0IHBhcnNlX3JlbGVhc2UgPSB8cmVzOiBGZXRjaFJlc3VsdCwgbmFtZTogJnN0cnwgLT4gUmVz
dWx0PFJlbGVhc2VGaWxlLCBFcnJvcj4gewo+PiAgICAgICAgICAgcHJpbnRsbiEoIlBhcnNpbmcg
e25hbWV9Li4iKTsKPj4gICAgICAgICAgIGxldCBwYXJzZWQ6IFJlbGVhc2VGaWxlID0gcmVzLmRh
dGFbLi5dLnRyeV9pbnRvKCk/Owo+PiBAQCAtMTA3OCw5ICsxMTA4LDE1IEBAIHB1YiBmbiBjcmVh
dGVfc25hcHNob3QoCj4+ICAgICAgIGlmICFkcnlfcnVuIHsKPj4gICAgICAgICAgIHByaW50bG4h
KCJcblJvdGF0aW5nIHRlbXAuIHNuYXBzaG90IGluLXBsYWNlOiB7cHJlZml4Oj99IC0+IFwie3Nu
YXBzaG90fVwiIik7Cj4+ICAgICAgICAgICBsZXQgbG9ja2VkID0gY29uZmlnLnBvb2wubG9jaygp
PzsKPj4gLSAgICAgICAgbG9ja2VkLnJlbmFtZShwcmVmaXgsIFBhdGg6Om5ldygmZm9ybWF0ISgi
e3NuYXBzaG90fSIpKSk/Owo+PiArCj4+ICsgICAgICAgIGlmIHNuYXBzaG90X3JlbGF0aXZlX3Bh
dGguZXhpc3RzKCkgewo+PiArICAgICAgICAgICAgYmFpbCEoIlNuYXBzaG90IHtzbmFwc2hvdH0g
YWxyZWFkeSBleGlzdHMhIik7Cj4+ICsgICAgICAgIH0KPiAKPiB0aGlzIGNoZWNrIGlzIHdyb25n
LCBiZWNhdXNlIGl0IGRvZXNuJ3QgYWNjb3VudCBmb3IgdGhlIGN1cnJlbnQgd29ya2luZwo+IGRp
cmVjdG9yeSBhbmQgdGhlIHBhdGggYmVpbmcgcmVsYXRpdmUuLgoKR29vZCBjYXRjaCwgSSBtaXNz
ZWQgdGhhdCBvbmUsIHRoYW5rcyEKCj4gCj4+ICsgICAgICAgIGxvY2tlZC5yZW5hbWUocHJlZml4
LCBzbmFwc2hvdF9yZWxhdGl2ZV9wYXRoKT87Cj4+ICAgICAgIH0KPj4gICAKPj4gKyAgICBzdGQ6
OmZzOjpyZW1vdmVfZmlsZShsb2NrZmlsZV9wYXRoKT87Cj4+ICsKPj4gICAgICAgT2soKCkpCj4+
ICAgfQo+PiAgIAo+PiBkaWZmIC0tZ2l0IGEvc3JjL3R5cGVzLnJzIGIvc3JjL3R5cGVzLnJzCj4+
IGluZGV4IDEwZGRlNjUuLjQ5ZGMzNzQgMTAwNjQ0Cj4+IC0tLSBhL3NyYy90eXBlcy5ycwo+PiAr
KysgYi9zcmMvdHlwZXMucnMKPj4gQEAgLTEsNiArMSw2IEBACj4+ICAgdXNlIHN0ZDo6e2ZtdDo6
RGlzcGxheSwgcGF0aDo6UGF0aEJ1Ziwgc3RyOjpGcm9tU3RyfTsKPj4gICAKPj4gLXVzZSBhbnlo
b3c6OkVycm9yOwo+PiArdXNlIGFueWhvdzo6e0Vycm9yLCBiYWlsfTsKPj4gICB1c2UgcHJveG1v
eF9zY2hlbWE6OntBcGlTdHJpbmdGb3JtYXQsIFNjaGVtYSwgU3RyaW5nU2NoZW1hLCBhcGksIGNv
bnN0X3JlZ2V4fTsKPj4gICB1c2UgcHJveG1veF9zZXJkZTo6e2ZvcndhcmRfZGVzZXJpYWxpemVf
dG9fZnJvbV9zdHIsIGZvcndhcmRfc2VyaWFsaXplX3RvX2Rpc3BsYXl9Owo+PiAgIHVzZSBwcm94
bW94X3RpbWU6OntlcG9jaF9pNjQsIGVwb2NoX3RvX3JmYzMzMzlfdXRjLCBwYXJzZV9yZmMzMzM5
fTsKPj4gQEAgLTMyLDYgKzMyLDEzIEBAIHB1YiBjb25zdCBNRURJQV9JRF9TQ0hFTUE6IFNjaGVt
YSA9IFN0cmluZ1NjaGVtYTo6bmV3KCJNZWRpdW0gbmFtZS4iKQo+PiAgICAgICAubWF4X2xlbmd0
aCgzMikKPj4gICAgICAgLnNjaGVtYSgpOwo+PiAgIAo+PiArLy8vIFNjaGVtYSBmb3IgbmFtZWQg
c25hcHNob3RzCj4+ICtwdWIgY29uc3QgTkFNRURfU05BUFNIT1RfU0NIRU1BOiBTY2hlbWEgPSBT
dHJpbmdTY2hlbWE6Om5ldygiQ3VzdG9tIG5hbWUgZm9yIHNuYXBzaG90LiIpCj4+ICsgICAgLmZv
cm1hdCgmUFJPWE1PWF9TQUZFX0lEX0ZPUk1BVCkKPj4gKyAgICAubWluX2xlbmd0aCgzKQo+PiAr
ICAgIC5tYXhfbGVuZ3RoKDMyKQo+PiArICAgIC5zY2hlbWEoKTsKPj4gKwo+PiAgICNbcnVzdGZt
dDo6c2tpcF0KPj4gICAjW21hY3JvX2V4cG9ydF0KPj4gICBtYWNyb19ydWxlcyEgUFJPWE1PWF9T
VUJTQ1JJUFRJT05fS0VZX1JFR0VYX1NUUiB7ICgpID0+IHsgciIoPzpwb20tfHB2ZVxkK1thLXpd
LXxwYnNbYS16XS18cG1nW2Etel0tKS4qIiB9OyB9Cj4+IEBAIC02MiwzMiArNjksNTEgQEAgcHVi
IGNvbnN0IFBST1hNT1hfU0VSVkVSX0lEX1NDSEVNQTogU2NoZW1hID0gU3RyaW5nU2NoZW1hOjpu
ZXcoIlNlcnZlciBJRC4iKQo+PiAgIAo+PiAgICNbcnVzdGZtdDo6c2tpcF0KPj4gICAjW21hY3Jv
X2V4cG9ydF0KPj4gLW1hY3JvX3J1bGVzISBTTkFQU0hPVF9SRSB7ICgpID0+IChyIlswLTldezR9
LVswLTldezJ9LVswLTldezJ9VFswLTldezJ9OlswLTldezJ9OlswLTldezJ9WiIpIH0KPj4gK21h
Y3JvX3J1bGVzISBUSU1FRF9TTkFQU0hPVF9SRSB7ICgpID0+IChyIlswLTldezR9LVswLTldezJ9
LVswLTldezJ9VFswLTldezJ9OlswLTldezJ9OlswLTldezJ9WiIpIH0KPj4gICBjb25zdF9yZWdl
eCEgewo+PiAtICAgIHB1YihjcmF0ZSkgU05BUFNIT1RfUkVHRVggPSBjb25jYXQhKHIiXiIsIFNO
QVBTSE9UX1JFISgpICxyIiQiKTsKPj4gKyAgICBwdWIoY3JhdGUpIFRJTUVEX1NOQVBTSE9UX1JF
R0VYID0gY29uY2F0IShyIl4iLCBUSU1FRF9TTkFQU0hPVF9SRSEoKSAsciIkIik7Cj4+ICt9Cj4+
ICsKPj4gKyNbcnVzdGZtdDo6c2tpcF0KPj4gK2NvbnN0X3JlZ2V4ISB7Cj4+ICsgICAgcHViKGNy
YXRlKSBDT01CSU5FRF9TTkFQU0hPVF9SRUdFWCA9IGNvbmNhdCEociJeKCgiLCBUSU1FRF9TTkFQ
U0hPVF9SRSEoKSAsciIpfCIsIFBST1hNT1hfU0FGRV9JRF9SRUdFWF9TVFIhKCksICIpJCIpOwo+
PiArfQo+PiArCj4+ICsjW2Rlcml2ZShEZWJ1ZywgQ2xvbmUsIFBhcnRpYWxFcSwgUGFydGlhbE9y
ZCwgRXEsIE9yZCldCj4+ICtlbnVtIFNuYXBzaG90VHlwZSB7Cj4+ICsgICAgVGltZWRTbmFwc2hv
dChpNjQpLAo+PiArICAgIE5hbWVkU25hcHNob3QoU3RyaW5nKSwKPj4gICB9Cj4+ICAgCj4+ICAg
I1thcGkoCj4+ICAgICAgIHR5cGU6IFN0cmluZywKPj4gLSAgICBmb3JtYXQ6ICZBcGlTdHJpbmdG
b3JtYXQ6OlBhdHRlcm4oJlNOQVBTSE9UX1JFR0VYKSwKPj4gICApXQo+PiAtI1tkZXJpdmUoRGVi
dWcsIENsb25lLCBDb3B5LCBQYXJ0aWFsRXEsIFBhcnRpYWxPcmQsIEVxLCBPcmQpXQo+PiArI1tk
ZXJpdmUoRGVidWcsIENsb25lLCBQYXJ0aWFsRXEsIFBhcnRpYWxPcmQsIEVxLCBPcmQpXQo+PiAg
IC8vLyBNaXJyb3Igc25hcHNob3QKPj4gLXB1YiBzdHJ1Y3QgU25hcHNob3QoaTY0KTsKPj4gK3B1
YiBzdHJ1Y3QgU25hcHNob3QoU25hcHNob3RUeXBlKTsKPj4gICAKPj4gICBmb3J3YXJkX3Nlcmlh
bGl6ZV90b19kaXNwbGF5IShTbmFwc2hvdCk7Cj4+ICAgZm9yd2FyZF9kZXNlcmlhbGl6ZV90b19m
cm9tX3N0ciEoU25hcHNob3QpOwo+PiAgIAo+PiAgIGltcGwgU25hcHNob3Qgewo+PiAgICAgICBw
dWIgZm4gbm93KCkgLT4gU2VsZiB7Cj4+IC0gICAgICAgIFNlbGYoZXBvY2hfaTY0KCkpCj4+ICsg
ICAgICAgIFNlbGYoU25hcHNob3RUeXBlOjpUaW1lZFNuYXBzaG90KGVwb2NoX2k2NCgpKSkKPj4g
KyAgICB9Cj4+ICsKPj4gKyAgICBwdWIgZm4gd2l0aF9uYW1lKG5hbWU6ICZzdHIpIC0+IFNlbGYg
ewo+PiArICAgICAgICBTZWxmKFNuYXBzaG90VHlwZTo6TmFtZWRTbmFwc2hvdChuYW1lLmludG8o
KSkpCj4+ICAgICAgIH0KPj4gICB9Cj4+ICAgCj4+ICAgaW1wbCBEaXNwbGF5IGZvciBTbmFwc2hv
dCB7Cj4+ICAgICAgIGZuIGZtdCgmc2VsZiwgZjogJm11dCBzdGQ6OmZtdDo6Rm9ybWF0dGVyPCdf
PikgLT4gc3RkOjpmbXQ6OlJlc3VsdCB7Cj4+IC0gICAgICAgIGxldCBmb3JtYXR0ZWQgPSBlcG9j
aF90b19yZmMzMzM5X3V0YyhzZWxmLjApLm1hcF9lcnIofF98IHN0ZDo6Zm10OjpFcnJvcik/Owo+
PiAtICAgICAgICBmLndyaXRlX3N0cigmZm9ybWF0dGVkKQo+PiArICAgICAgICBtYXRjaCAmc2Vs
Zi4wIHsKPj4gKyAgICAgICAgICAgIFNuYXBzaG90VHlwZTo6VGltZWRTbmFwc2hvdCh0aW1lKSA9
PiB7Cj4+ICsgICAgICAgICAgICAgICAgbGV0IGZvcm1hdHRlZCA9IGVwb2NoX3RvX3JmYzMzMzlf
dXRjKCp0aW1lKS5tYXBfZXJyKHxffCBzdGQ6OmZtdDo6RXJyb3IpPzsKPj4gKyAgICAgICAgICAg
ICAgICBmLndyaXRlX3N0cigmZm9ybWF0dGVkKQo+PiArICAgICAgICAgICAgfQo+PiArICAgICAg
ICAgICAgU25hcHNob3RUeXBlOjpOYW1lZFNuYXBzaG90KG5hbWUpID0+IGYud3JpdGVfc3RyKCZu
YW1lKSwKPj4gKyAgICAgICAgfQo+PiAgICAgICB9Cj4+ICAgfQo+PiAgIAo+PiBAQCAtOTUsNyAr
MTIxLDEzIEBAIGltcGwgRnJvbVN0ciBmb3IgU25hcHNob3Qgewo+PiAgICAgICB0eXBlIEVyciA9
IEVycm9yOwo+PiAgIAo+PiAgICAgICBmbiBmcm9tX3N0cihzOiAmc3RyKSAtPiBSZXN1bHQ8U2Vs
ZiwgU2VsZjo6RXJyPiB7Cj4+IC0gICAgICAgIE9rKFNlbGYocGFyc2VfcmZjMzMzOShzKT8pKQo+
PiArICAgICAgICBpZiBUSU1FRF9TTkFQU0hPVF9SRUdFWC5pc19tYXRjaChzKSB7Cj4+ICsgICAg
ICAgICAgICBPayhTZWxmKFNuYXBzaG90VHlwZTo6VGltZWRTbmFwc2hvdChwYXJzZV9yZmMzMzM5
KHMpPykpKQo+PiArICAgICAgICB9IGVsc2UgaWYgUFJPWE1PWF9TQUZFX0lEX1JFR0VYLmlzX21h
dGNoKHMpIHsKPj4gKyAgICAgICAgICAgIE9rKFNlbGYoU25hcHNob3RUeXBlOjpOYW1lZFNuYXBz
aG90KHMuaW50bygpKSkpCj4+ICsgICAgICAgIH0gZWxzZSB7Cj4+ICsgICAgICAgICAgICBiYWls
ISgiaW52YWxpZCBzbmFwc2hvdCBuYW1lIikKPj4gKyAgICAgICAgfQo+PiAgICAgICB9Cj4+ICAg
fQo+PiAgIAo+PiAtLSAKPj4gMi4zOS41Cj4+Cj4+Cj4+Cj4+IF9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IHB2ZS1kZXZlbCBtYWlsaW5nIGxpc3QKPj4g
cHZlLWRldmVsQGxpc3RzLnByb3htb3guY29tCj4+IGh0dHBzOi8vbGlzdHMucHJveG1veC5jb20v
Y2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZlbAo+Pgo+IAo+IAo+IF9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gcHZlLWRldmVsIG1haWxpbmcg
bGlzdAo+IHB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQo+IGh0dHBzOi8vbGlzdHMucHJveG1v
eC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZlbAoKCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFpbGluZyBsaXN0
CnB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2Nn
aS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwK