From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pbs-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	by lore.proxmox.com (Postfix) with ESMTPS id 8CF781FF15E
	for <inbox@lore.proxmox.com>; Tue, 28 Jan 2025 13:25:50 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 14475CB40;
	Tue, 28 Jan 2025 13:25:49 +0100 (CET)
Message-ID: <892e96b6-3f05-41d2-8301-590703af8c4c@proxmox.com>
Date: Tue, 28 Jan 2025 13:25:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird Beta
To: Proxmox Backup Server development discussion <pbs-devel@lists.proxmox.com>,
 =?UTF-8?Q?Lauren=C8=9Biu_Leahu-Vl=C4=83ducu?= <l.leahu-vladucu@proxmox.com>
References: <20250116115109.143589-1-l.leahu-vladucu@proxmox.com>
 <20250116115109.143589-2-l.leahu-vladucu@proxmox.com>
Content-Language: en-US
From: Dominik Csapak <d.csapak@proxmox.com>
In-Reply-To: <20250116115109.143589-2-l.leahu-vladucu@proxmox.com>
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.024 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_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
 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. [proxmox-backup-proxy.rs, mod.rs, proxmox-backup-api.rs,
 proxmox-tape.rs, changer.rs]
Subject: Re: [pbs-devel] [PATCH proxmox-backup 1/1] Automatically select a
 drive (if part of a changer) when loading tapes
X-BeenThere: pbs-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox Backup Server development discussion
 <pbs-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pbs-devel/>
List-Post: <mailto:pbs-devel@lists.proxmox.com>
List-Help: <mailto:pbs-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox Backup Server development discussion
 <pbs-devel@lists.proxmox.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: pbs-devel-bounces@lists.proxmox.com
Sender: "pbs-devel" <pbs-devel-bounces@lists.proxmox.com>

VGhhbmtzIGZvciB0YWNrbGluZyB0aGlzIQoKYSBmZXcgaGlnaCBsZXZlbCBjb21tZW50czoKCiog
cGxlYXNlIHdyaXRlIHRoZSByZWxldmFudCB0ZXh0IGFzIGNvbW1pdCBtZXNzYWdlIChhcyBtZW50
aW9uZWQgb2ZmLWxpc3QpCiAgIGJhc2ljYWxseSB0aGUgdGV4dCBpbiB0aGUgKGhlcmUgbm90IG5l
ZWRlZCkgY292ZXItbGV0dGVyIHdvdWxkIGZpdAogICBhcyB0aGUgY29tbWl0IG1lc3NhZ2UKCiog
cnVzdGZtdDogcGxlYXNlIHVzZSBpdCwgdGhlcmUgYXJlIHNvbWUgbGluZXMgdGhhdCBhcmUgdmVy
eSBsb25nLgogICBjb21tZW50cyBzaG91bGQgcHJvYmFibHkgYWxzbyBub3QgZXhjZWVkIHRoZSBs
aW5lIGxlbmd0aCBsaW1pdAoKKiBpdCB3b3VsZCBiZSBnb29kIHRvIGV4cGxhaW4gdGhlIHJlYXNv
biBmb3IgdGhlIGNvZGUgYSBiaXQgbW9yZSwgZS5nLiB5b3UgaW50cm9kdWNlCiAgIHRoZSBwcm9k
dWN0LWNvbmZpZyBjcmF0ZSBoZXJlIGFuZCBkbyBhbiBpbml0aWFsaXphdGlvbiwKICAgYnV0IG5l
aXRoZXIgYnkgbG9va2luZyBhdCB0aGUgY29kZSwgbm9yIGJ5IHJlYWRpbmcgdGhlIGNvbW1pdAog
ICBtZXNzYWdlIGkga25vdyBleGFjdGx5IHdoeSAoaSBrbm93IGl0IGJlY2F1c2Ugd2UgdGFsa2Vk
IG9mZi1saXN0KQogICBhIHNob3J0IHNlbnRlbmNlIGxpa2U6CgogICBhZGRlZCB0aGUgcHJvZHVj
dC1jb25maWcgY3JhdGUgc28gd2UncmUgYWJsZSB0byByZXVzZSB0aGUKICAgJ3JlcGxhY2VfY29u
ZmlnJyBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQuCgogICBjYW4gYWxyZWFkeSBiZSBlbm91Z2gKCiog
dGhlIHBhdGNoIGRvZXMgbm90IGN1cnJlbnRseSBhcHBseSBjbGVhbmx5IGJlY2F1c2Ugd2UgZGlk
CiAgIHNvbWUgY29kZSBtb3ZlcyAoZS5nLiBwYnMtYXBpLXR5cGVzIGlzIG5vdyBhbiBleHRlcm5h
bCBjcmF0ZSkKCgpTb21lIG90aGVyIGNvbW1lbnRzIGlubGluZToKCk9uIDEvMTYvMjUgMTI6NTEs
IExhdXJlbsibaXUgTGVhaHUtVmzEg2R1Y3Ugd3JvdGU6Cj4gU2lnbmVkLW9mZi1ieTogTGF1cmVu
yJtpdSBMZWFodS1WbMSDZHVjdSA8bC5sZWFodS12bGFkdWN1QHByb3htb3guY29tPgo+IC0tLQo+
ICAgQ2FyZ28udG9tbCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICsKPiAgIHBicy1hcGkt
dHlwZXMvc3JjL3RhcGUvY2hhbmdlci5ycyB8ICAxNCArKystCj4gICBzcmMvYXBpMi90YXBlL2No
YW5nZXIucnMgICAgICAgICAgfCAxMTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4g
ICBzcmMvYmluL3Byb3htb3gtYmFja3VwLWFwaS5ycyAgICAgfCAgIDIgKwo+ICAgc3JjL2Jpbi9w
cm94bW94LWJhY2t1cC1wcm94eS5ycyAgIHwgICAyICsKPiAgIHNyYy9iaW4vcHJveG1veC10YXBl
LnJzICAgICAgICAgICB8ICA1MCArKysrKysrKysrKy0tCj4gICBzcmMvdGFwZS9jaGFuZ2VyL21v
ZC5ycyAgICAgICAgICAgfCAgMTkgKysrKy0KPiAgIHNyYy90YXBlL2RyaXZlL3ZpcnR1YWxfdGFw
ZS5ycyAgICB8ICAgOCArLQo+ICAgc3JjL3RhcGUvZHJpdmVfaW5mby5ycyAgICAgICAgICAgIHwg
IDUxICsrKysrKysrKysrKysKPiAgIHNyYy90YXBlL21vZC5ycyAgICAgICAgICAgICAgICAgICB8
ICAgMSArCj4gICBzcmMvdG9vbHMvbW9kLnJzICAgICAgICAgICAgICAgICAgfCAgIDcgKysKPiAg
IHd3dy90YXBlL0NoYW5nZXJTdGF0dXMuanMgICAgICAgICB8ICAxNiArKystCj4gICAxMiBmaWxl
cyBjaGFuZ2VkLCAyNzQgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCj4gICBjcmVhdGUg
bW9kZSAxMDA2NDQgc3JjL3RhcGUvZHJpdmVfaW5mby5ycwo+IAo+IGRpZmYgLS1naXQgYS9DYXJn
by50b21sIGIvQ2FyZ28udG9tbAo+IGluZGV4IGFkZWViNmVmLi4zNDhkMWNlYSAxMDA2NDQKPiAt
LS0gYS9DYXJnby50b21sCj4gKysrIGIvQ2FyZ28udG9tbAo+IEBAIC03Miw2ICs3Miw3IEBAIHBy
b3htb3gtbGRhcCA9ICIwLjIuMSIKPiAgIHByb3htb3gtbWV0cmljcyA9ICIwLjMuMSIKPiAgIHBy
b3htb3gtbm90aWZ5ID0gIjAuNS4xIgo+ICAgcHJveG1veC1vcGVuaWQgPSAiMC4xMC4wIgo+ICtw
cm94bW94LXByb2R1Y3QtY29uZmlnID0gIjAuMi4yIgo+ICAgcHJveG1veC1yZXN0LXNlcnZlciA9
IHsgdmVyc2lvbiA9ICIwLjguNSIsIGZlYXR1cmVzID0gWyAidGVtcGxhdGVzIiBdIH0KPiAgICMg
c29tZSB1c2UgImNsaSIsIHNvbWUgdXNlICJjbGkiIGFuZCAic2VydmVyIiwgcGJzLWNvbmZpZyB1
c2VzIG5vdGhpbmcKPiAgIHByb3htb3gtcm91dGVyID0geyB2ZXJzaW9uID0gIjMuMC4wIiwgZGVm
YXVsdC1mZWF0dXJlcyA9IGZhbHNlIH0KPiBAQCAtMjIxLDYgKzIyMiw3IEBAIHByb3htb3gtbGRh
cC53b3Jrc3BhY2UgPSB0cnVlCj4gICBwcm94bW94LW1ldHJpY3Mud29ya3NwYWNlID0gdHJ1ZQo+
ICAgcHJveG1veC1ub3RpZnkgPSB7IHdvcmtzcGFjZSA9IHRydWUsIGZlYXR1cmVzID0gWyAicGJz
LWNvbnRleHQiIF0gfQo+ICAgcHJveG1veC1vcGVuaWQud29ya3NwYWNlID0gdHJ1ZQo+ICtwcm94
bW94LXByb2R1Y3QtY29uZmlnLndvcmtzcGFjZSA9IHRydWUKPiAgIHByb3htb3gtcmVzdC1zZXJ2
ZXIgPSB7IHdvcmtzcGFjZSA9IHRydWUsIGZlYXR1cmVzID0gWyAicmF0ZS1saW1pdGVkLXN0cmVh
bSIgXSB9Cj4gICBwcm94bW94LXJvdXRlciA9IHsgd29ya3NwYWNlID0gdHJ1ZSwgZmVhdHVyZXMg
PSBbICJjbGkiLCAic2VydmVyIl0gfQo+ICAgcHJveG1veC1zY2hlbWEgPSB7IHdvcmtzcGFjZSA9
IHRydWUsIGZlYXR1cmVzID0gWyAiYXBpLW1hY3JvIiBdIH0KPiBkaWZmIC0tZ2l0IGEvcGJzLWFw
aS10eXBlcy9zcmMvdGFwZS9jaGFuZ2VyLnJzIGIvcGJzLWFwaS10eXBlcy9zcmMvdGFwZS9jaGFu
Z2VyLnJzCj4gaW5kZXggZGYzODIzY2YuLjUyZWUwOGRiIDEwMDY0NAo+IC0tLSBhL3Bicy1hcGkt
dHlwZXMvc3JjL3RhcGUvY2hhbmdlci5ycwo+ICsrKyBiL3Bicy1hcGktdHlwZXMvc3JjL3RhcGUv
Y2hhbmdlci5ycwo+IEBAIC04LDEwICs4LDIwIEBAIHVzZSBwcm94bW94X3NjaGVtYTo6ewo+ICAg
Cj4gICB1c2UgY3JhdGU6OntPcHRpb25hbERldmljZUlkZW50aWZpY2F0aW9uLCBQUk9YTU9YX1NB
RkVfSURfRk9STUFUfTsKPiAgIAo+ICtjb25zdCBUQVBFX0NIQU5HRVJfTUlOX0xFTkdUSDogdXNp
emUgPSAzOwo+ICtjb25zdCBUQVBFX0NIQU5HRVJfTUFYX0xFTkdUSDogdXNpemUgPSAzMjsKPiAr
Cj4gICBwdWIgY29uc3QgQ0hBTkdFUl9OQU1FX1NDSEVNQTogU2NoZW1hID0gU3RyaW5nU2NoZW1h
OjpuZXcoIlRhcGUgQ2hhbmdlciBJZGVudGlmaWVyLiIpCj4gICAgICAgLmZvcm1hdCgmUFJPWE1P
WF9TQUZFX0lEX0ZPUk1BVCkKPiAtICAgIC5taW5fbGVuZ3RoKDMpCj4gLSAgICAubWF4X2xlbmd0
aCgzMikKPiArICAgIC5taW5fbGVuZ3RoKFRBUEVfQ0hBTkdFUl9NSU5fTEVOR1RIKQo+ICsgICAg
Lm1heF9sZW5ndGgoVEFQRV9DSEFOR0VSX01BWF9MRU5HVEgpCj4gKyAgICAuc2NoZW1hKCk7Cj4g
Kwo+ICtwdWIgY29uc3QgQ0hBTkdFUl9OQU1FX1NDSEVNQV9BVVRPTUFUSUNfRFJJVkVfQVNJR05N
RU5UOiBTY2hlbWEgPQoKdHlwbzogQVNJR05NRU5UIHZzIEFTU0lHTk1FTlQKCj4gKyAgICBTdHJp
bmdTY2hlbWE6Om5ldygiVGFwZSBDaGFuZ2VyIElkZW50aWZpZXIgdG8gYmUgdXNlZCBmb3IgYXV0
b21hdGljIHRhcGUgZHJpdmUgYXNzaWdubWVudC4iKQo+ICsgICAgLmZvcm1hdCgmUFJPWE1PWF9T
QUZFX0lEX0ZPUk1BVCkKPiArICAgIC5taW5fbGVuZ3RoKFRBUEVfQ0hBTkdFUl9NSU5fTEVOR1RI
KQo+ICsgICAgLm1heF9sZW5ndGgoVEFQRV9DSEFOR0VSX01BWF9MRU5HVEgpCj4gICAgICAgLnNj
aGVtYSgpOwo+ICAgCj4gICBwdWIgY29uc3QgU0NTSV9DSEFOR0VSX1BBVEhfU0NIRU1BOiBTY2hl
bWEgPQo+IGRpZmYgLS1naXQgYS9zcmMvYXBpMi90YXBlL2NoYW5nZXIucnMgYi9zcmMvYXBpMi90
YXBlL2NoYW5nZXIucnMKPiBpbmRleCA3ZWNmN2JmZi4uYjczZDY4MzIgMTAwNjQ0Cj4gLS0tIGEv
c3JjL2FwaTIvdGFwZS9jaGFuZ2VyLnJzCj4gKysrIGIvc3JjL2FwaTIvdGFwZS9jaGFuZ2VyLnJz
Cj4gQEAgLTEsNiArMSw2IEBACj4gICB1c2Ugc3RkOjpjb2xsZWN0aW9uczo6SGFzaE1hcDsKPiAg
IAo+IC11c2UgYW55aG93OjpFcnJvcjsKPiArdXNlIGFueWhvdzo6e2JhaWwsIEVycm9yfTsKPiAg
IHVzZSBzZXJkZV9qc29uOjpWYWx1ZTsKPiAgIAo+ICAgdXNlIHByb3htb3hfcm91dGVyOjp7bGlz
dF9zdWJkaXJzX2FwaV9tZXRob2QsIFBlcm1pc3Npb24sIFJvdXRlciwgUnBjRW52aXJvbm1lbnQs
IFN1YmRpck1hcH07Cj4gQEAgLTgsNyArOCw4IEBAIHVzZSBwcm94bW94X3NjaGVtYTo6YXBpOwo+
ICAgCj4gICB1c2UgcGJzX2FwaV90eXBlczo6ewo+ICAgICAgIEF1dGhpZCwgQ2hhbmdlckxpc3RF
bnRyeSwgTHRvVGFwZURyaXZlLCBNdHhFbnRyeUtpbmQsIE10eFN0YXR1c0VudHJ5LCBTY3NpVGFw
ZUNoYW5nZXIsCj4gLSAgICBDSEFOR0VSX05BTUVfU0NIRU1BLCBQUklWX1RBUEVfQVVESVQsIFBS
SVZfVEFQRV9SRUFELAo+ICsgICAgQ0hBTkdFUl9OQU1FX1NDSEVNQSwgUFJJVl9UQVBFX0FVRElU
LCBQUklWX1RBUEVfUkVBRCwgTUVESUFfTEFCRUxfU0NIRU1BLCBVUElEX1NDSEVNQSwKPiArICAg
IERyaXZlTGlzdEVudHJ5LCBEZXZpY2VBY3Rpdml0eQo+ICAgfTsKPiAgIHVzZSBwYnNfY29uZmln
OjpDYWNoZWRVc2VySW5mbzsKPiAgIHVzZSBwYnNfdGFwZTo6ewo+IEBAIC0xOTksNyArMjAwLDEx
OSBAQCBwdWIgZm4gbGlzdF9jaGFuZ2VycygKPiAgICAgICBPayhsaXN0KQo+ICAgfQo+ICAgCj4g
KyNbYXBpKAo+ICsgICAgaW5wdXQ6IHsKPiArICAgICAgICBwcm9wZXJ0aWVzOiB7Cj4gKyAgICAg
ICAgICAgIG5hbWU6IHsKPiArICAgICAgICAgICAgICAgIHNjaGVtYTogQ0hBTkdFUl9OQU1FX1ND
SEVNQSwKPiArICAgICAgICAgICAgfSwKPiArICAgICAgICAgICAgImxhYmVsLXRleHQiOiB7Cj4g
KyAgICAgICAgICAgICAgICBzY2hlbWE6IE1FRElBX0xBQkVMX1NDSEVNQSwKPiArICAgICAgICAg
ICAgfSwKPiArICAgICAgICB9LAo+ICsgICAgfSwKPiArICAgIHJldHVybnM6IHsKPiArICAgICAg
ICBzY2hlbWE6IFVQSURfU0NIRU1BLAo+ICsgICAgfSwKPiArICAgIGFjY2Vzczogewo+ICsgICAg
ICAgIHBlcm1pc3Npb246ICZQZXJtaXNzaW9uOjpQcml2aWxlZ2UoJlsidGFwZSIsICJkZXZpY2Ui
LCAie25hbWV9Il0sIFBSSVZfVEFQRV9SRUFELCBmYWxzZSksCj4gKyAgICB9LAo+ICspXQo+ICsv
Ly8gTG9hZCBtZWRpYSB3aXRoIHNwZWNpZmllZCBsYWJlbAo+ICsvLy8KPiArLy8vIElzc3VlIGEg
bWVkaWEgbG9hZCByZXF1ZXN0IHRvIHRoZSBhc3NvY2lhdGVkIGNoYW5nZXIgZGV2aWNlLgo+ICtw
dWIgZm4gbG9hZF9tZWRpYSgKPiArICAgIG5hbWU6IFN0cmluZywKPiArICAgIGxhYmVsX3RleHQ6
IFN0cmluZywKPiArICAgIHJwY2VudjogJm11dCBkeW4gUnBjRW52aXJvbm1lbnQsCj4gKykgLT4g
UmVzdWx0PFZhbHVlLCBFcnJvcj4gewo+ICsgICAgbGV0IGRyaXZlID0gY2hvb3NlX2RyaXZlKCZu
YW1lLCBycGNlbnYpOwo+ICsgICAgc3VwZXI6OmRyaXZlOjpsb2FkX21lZGlhKGRyaXZlPywgbGFi
ZWxfdGV4dCwgcnBjZW52KQo+ICt9PiArCj4gKyNbYXBpKAo+ICsgICAgaW5wdXQ6IHsKPiArICAg
ICAgICBwcm9wZXJ0aWVzOiB7Cj4gKyAgICAgICAgICAgIG5hbWU6IHsKPiArICAgICAgICAgICAg
ICAgIHNjaGVtYTogQ0hBTkdFUl9OQU1FX1NDSEVNQSwKPiArICAgICAgICAgICAgfSwKPiArICAg
ICAgICAgICAgInNvdXJjZS1zbG90Ijogewo+ICsgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246
ICJTb3VyY2Ugc2xvdCBudW1iZXIuIiwKPiArICAgICAgICAgICAgICAgIG1pbmltdW06IDEsCj4g
KyAgICAgICAgICAgIH0sCj4gKyAgICAgICAgfSwKPiArICAgIH0sCj4gKyAgICBhY2Nlc3M6IHsK
PiArICAgICAgICBwZXJtaXNzaW9uOiAmUGVybWlzc2lvbjo6UHJpdmlsZWdlKCZbInRhcGUiLCAi
ZGV2aWNlIiwgIntuYW1lfSJdLCBQUklWX1RBUEVfUkVBRCwgZmFsc2UpLAo+ICsgICAgfSwKPiAr
KV0KPiArLy8vIExvYWQgbWVkaWEgZnJvbSB0aGUgc3BlY2lmaWVkIHNsb3QKPiArLy8vCj4gKy8v
LyBJc3N1ZSBhIG1lZGlhIGxvYWQgcmVxdWVzdCB0byB0aGUgYXNzb2NpYXRlZCBjaGFuZ2VyIGRl
dmljZS4KPiArcHViIGFzeW5jIGZuIGxvYWRfc2xvdCgKPiArICAgIG5hbWU6IFN0cmluZywKPiAr
ICAgIHNvdXJjZV9zbG90OiB1NjQsCj4gKyAgICBycGNlbnY6ICZtdXQgZHluIFJwY0Vudmlyb25t
ZW50LCkgLT4gUmVzdWx0PCgpLCBFcnJvcj4gewo+ICsgICAgbGV0IGRyaXZlID0gY2hvb3NlX2Ry
aXZlKCZuYW1lLCBycGNlbnYpOwo+ICsgICAgc3VwZXI6OmRyaXZlOjpsb2FkX3Nsb3QoZHJpdmU/
LCBzb3VyY2Vfc2xvdCkuYXdhaXQKPiArfQo+ICsKPiArZm4gY2hvb3NlX2RyaXZlKAo+ICsgICAg
Y2hhbmdlcjogJnN0ciwKPiArICAgIHJwY2VudjogJm11dCBkeW4gUnBjRW52aXJvbm1lbnQpIC0+
IFJlc3VsdDxTdHJpbmcsIEVycm9yPiB7Cj4gKyAgICAvLyBXZSBoYXZlIHRvIGF1dG9tYXRpY2Fs
bHkgc2VsZWN0IGEgZHJpdmUgZnJvbSB0aGUgc3BlY2lmaWVkIGNoYW5nZXIuIEZvciB0aGF0IHB1
cnBvc2UsIHdlIHRha2UgYWxsIGRyaXZlcyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBjaGFuZ2VyCj4g
KyAgICAvLyBhbmQgc2VhcmNoIGZvciB0aGUgb25lIHRoYXQgaGFzIG5vdCBiZWVuIHVzZWQgZm9y
IHRoZSBsb25nZXN0IHRpbWUgKHRvIGVuc3VyZSBzaW1pbGFyIHdlYXIgYmV0d2VlbiB0aGUgZHJp
dmVzKSwgb3IgdXNlIG9uZSB0aGF0IGhhcyBuZXZlciBiZWVuIHVzZWQuCgpQbGVhc2Uga2VlcCB0
aGUgbGluZSBsZW5ndGggbGltaXQgYWxzbyBmb3IgY29tbWVudHMKCj4gKyAgICBsZXQgZHJpdmVz
ID0gc3VwZXI6OmRyaXZlOjpsaXN0X2RyaXZlcyhPcHRpb246OmZyb20oY2hhbmdlci50b19zdHJp
bmcoKSksIHRydWUsIFZhbHVlOjpOdWxsLCBycGNlbnYpOwo+ICsKCkknZCB1c2UgYFNvbWUoeClg
IGluc3RlYWQgb2YgYE9wdGlvbjo6ZnJvbSh4KWAgYmVjYXVzZSBpdCdzIHNob3J0ZXIsIGFuZCBi
ZWNhdXNlIGl0J3MKY2xlYXJlciB3aGF0IGl0IGRvZXMKCj4gKyAgICBtYXRjaCBkcml2ZXMgewo+
ICsgICAgICAgIE9rKGVudHJpZXMpID0+IHsKCnRoaXMgcGF0dGVybiB3aXRoIGEgYmFpbCEgaW4g
dGhlIEVyciBjYXNlIGlzIGltaG8gbXVjaCBuZWF0ZXIgd2hlbiB3cml0dGVuIGxpa2UgdGhpczoK
CmxldCBlbnRyaWVzID0gbGlzdF9kcml2ZXMoLi4pLm1hcF9lcnIofGVycnwgZm9ybWF0X2VyciEo
ImNhbm5vdCBxdWVyeSBkcml2ZXM6IHtlcnJ9IikpPzsKCndpdGggdGhhdCB5b3UgZWxpbWluYXRl
IGEgY29tcGxldGUgbGV2ZWwgb2YgaW5kZW50YXRpb24gZm9yIHRoZSByZW1haW5pbmcgY29kZQoK
PiArICAgICAgICAgICAgbGV0IGlkbGVfZHJpdmVzOiBWZWM8RHJpdmVMaXN0RW50cnk+ID0gZW50
cmllcy5pbnRvX2l0ZXIoKS5maWx0ZXIofGVudHJ5fCBtYXRjaGVzIShlbnRyeS5hY3Rpdml0eSwg
Tm9uZSB8IFNvbWUoRGV2aWNlQWN0aXZpdHk6Ok5vQWN0aXZpdHkpKSkuY29sbGVjdCgpOwo+ICsg
ICAgICAgICAgICBsZXQgZHJpdmVzX2luZm8gPSBjcmF0ZTo6dGFwZTo6ZHJpdmVfaW5mbzo6Z2V0
X2RyaXZlc19pbmZvKCk7Cj4gKwo+ICsgICAgICAgICAgICBtYXRjaCBkcml2ZXNfaW5mbyB7Cj4g
KyAgICAgICAgICAgICAgICBPayhkcml2ZXNfaW5mbykgPT4gewo+ICsgICAgICAgICAgICAgICAg
ICAgIGxldCBtdXQgaW5kZXhfb2xkZXN0IDogT3B0aW9uPHVzaXplPiA9IE9wdGlvbjo6ZGVmYXVs
dCgpOwo+ICsgICAgICAgICAgICAgICAgICAgIGxldCBtdXQgb2xkZXN0X3RpbWU6IE9wdGlvbjxp
NjQ+ID0gT3B0aW9uOjpkZWZhdWx0KCk7Cj4gKwoKSSdkIHdyaXRlCgpsZXQgbXV0IGZvbzogT3B0
aW9uPFQ+ID0gTm9uZTsKCmhlcmUuCgpZZXMsIGl0J3MgY2xlYXIgdGhhdCBOb25lIGlzIHRoZSBk
ZWZhdWx0IGZvciBtb3N0IHJ1c3QgZGV2ZWxvcGVycywgYnV0CnNlZWluZyB0aGUgYE5vbmVgIGV4
cGxpY2l0ZWx5IGhlcmUgbWFrZXMgdGhlIGNvZGUgbXVjaCBtb3JlIHJlYWRhYmxlIElNTwoKCj4g
KyAgICAgICAgICAgICAgICAgICAgZm9yIGluZGV4IGluIDAuLmlkbGVfZHJpdmVzLmxlbigpIHsK
PiArICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGV4aXN0aW5nX2RyaXZlID0gZHJpdmVzX2lu
Zm8uZHJpdmVzLmdldCgmaWRsZV9kcml2ZXNbaW5kZXhdLmNvbmZpZy5uYW1lKTsKPiArCj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgIG1hdGNoIGV4aXN0aW5nX2RyaXZlIHsKPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFNvbWUoZXhpc3RpbmdfZHJpdmUpID0+IHsKPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiBvbGRlc3RfdGltZS5pc19ub25lKCkgfHwgb2xkZXN0
X3RpbWUuaXNfc29tZV9hbmQofG9sZGVzdF90aW1lfCBleGlzdGluZ19kcml2ZS5sYXN0X3VzYWdl
IDwgb2xkZXN0X3RpbWUpIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b2xkZXN0X3RpbWUgPSBPcHRpb246OmZyb20oZXhpc3RpbmdfZHJpdmUubGFzdF91c2FnZSk7Cj4g
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4X29sZGVzdCA9IE9wdGlv
bjo6ZnJvbShpbmRleCk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQo+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKPiArICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5vbmUgPT4gewo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERyaXZl
IGhhcyBuZXZlciBiZWVuIHVzZWQsIHNvIGxldCdzIHVzZSB0aGlzIG9uZSEKPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbmRleF9vbGRlc3QgPSBPcHRpb246OmZyb20oaW5kZXgp
Owo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAg
ICAgICAgICAgICAgICAgfQo+ICsKPiArICAgICAgICAgICAgICAgICAgICBtYXRjaCBpbmRleF9v
bGRlc3Qgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICBTb21lKGluZGV4X29sZGVzdCkgPT4g
T2soaWRsZV9kcml2ZXMuZ2V0KGluZGV4X29sZGVzdCkudW53cmFwKCkuY29uZmlnLm5hbWUuY2xv
bmUoKSksCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIE5vbmUgPT4gYmFpbCEoInRoZXJlIGFy
ZSBubyBpZGxlIGRyaXZlcyB0byBjaG9vc2UgZm9yIGF1dG9tYXRpYyBkcml2ZSBhc3NpZ25tZW50
IikKPiArICAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICB9LAo+ICsgICAg
ICAgICAgICAgICAgRXJyKF9lcnJvcikgPT4gewo+ICsgICAgICAgICAgICAgICAgICAgIC8vIFNp
bXBseSB1c2UgdGhlIGZpcnN0IGRyaXZlLCBpZiBwb3NzaWJsZS4KPiArICAgICAgICAgICAgICAg
ICAgICBtYXRjaCBpZGxlX2RyaXZlcy5maXJzdCgpIHsKPiArICAgICAgICAgICAgICAgICAgICAg
ICAgU29tZShpZGxlX2RyaXZlKSA9PiBPayhpZGxlX2RyaXZlLmNvbmZpZy5uYW1lLmNsb25lKCkp
LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICBOb25lID0+IGJhaWwhKCJ0aGVyZSBhcmUgbm8g
aWRsZSBkcml2ZXMgdG8gY2hvb3NlIGZvciBhdXRvbWF0aWMgZHJpdmUgYXNzaWdubWVudCIpCj4g
KyAgICAgICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICAgfQoKd291bGRuJ3QgdGhl
IGNvZGUgaGVyZSBnZXQgbXVjaCBlYXNpZXIgaWYgdGhlICdkcml2ZXNfaW5mbycgd291bGQgcmV0
dXJuIGEgbGlzdCBzb3J0ZWQgYnkgdGhlIApsYXN0X3VzYWdlPwoKdGhlIGkgdGhpbmsgdGhlIGNv
ZGUgY291bGQgYm9pbCBkb3duIHRvIHNvbWV0aGluZyBsaWtlIHRoaXMgKGp1c3QgcHNldWRvY29k
ZSk6CgpsZXQgaWRsZV9kcml2ZXMgPSBnZXRfaWRsZV9kcml2ZXMoKTsKbGV0IGRyaXZlc19pbl9v
cmRlciA9IGdldF9zb3J0ZWRfZHJpdmVzX2luZm8oKTsgLy8gc2hvdWxkIGluY2x1ZGUgYWxsIGRy
aXZlcywgYWxzbyB0aG9zZSB0aGF0IGhhdmUgCm5vIGxhc3QgdXNhZ2UgcmVjb3JkZWQgKHNvcnRl
ZCBiZWZvcmUgb25lcyB3aXRoIHVzYWdlKQoKbGV0IGNob3NlbiA9IGRyaXZlc19pbl9vcmRlci5m
aWx0ZXIofGRyaXZlfCBpZGxlX2RyaXZlcy5jb250YWlucyhkcml2ZSkpLmZpcnN0KCk7CgptYXRj
aCBjaG9zZW4gewogICAgU29tZSh4eCkgPT4gLy8gZG8gc29tZXRoaW5nIHdpdGggY2hvc2VuIGRy
aXZlIGFuZCB1cGRhdGUgbGlzdAogICAgTm9uZSA9PiAvLyBmYWxsYmFjayBtZWNoYW5pc20gb3Ig
ZXJyb3IKfQoKPiArICAgICAgICAgICAgfQo+ICsgICAgICAgIH0KPiArICAgICAgICBFcnIoZXJy
b3IpID0+IGJhaWwhKCJjYW5ub3QgcXVlcnkgZHJpdmVzOiB7fSIsIGVycm9yKQo+ICsgICAgfQo+
ICt9Cj4gKwo+ICAgY29uc3QgU1VCRElSUzogU3ViZGlyTWFwID0gJlsKPiArICAgICgibG9hZC1t
ZWRpYSIsICZSb3V0ZXI6Om5ldygpLnBvc3QoJkFQSV9NRVRIT0RfTE9BRF9NRURJQSkpLAo+ICsg
ICAgKCJsb2FkLXNsb3QiLCAmUm91dGVyOjpuZXcoKS5wb3N0KCZBUElfTUVUSE9EX0xPQURfU0xP
VCkpLAo+ICAgICAgICgic3RhdHVzIiwgJlJvdXRlcjo6bmV3KCkuZ2V0KCZBUElfTUVUSE9EX0dF
VF9TVEFUVVMpKSwKPiAgICAgICAoInRyYW5zZmVyIiwgJlJvdXRlcjo6bmV3KCkucG9zdCgmQVBJ
X01FVEhPRF9UUkFOU0ZFUikpLAo+ICAgXTsKPiBkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wcm94bW94
LWJhY2t1cC1hcGkucnMgYi9zcmMvYmluL3Byb3htb3gtYmFja3VwLWFwaS5ycwo+IGluZGV4IDdh
NzJkNDlhLi5jNmIyZDUzMiAxMDA2NDQKPiAtLS0gYS9zcmMvYmluL3Byb3htb3gtYmFja3VwLWFw
aS5ycwo+ICsrKyBiL3NyYy9iaW4vcHJveG1veC1iYWNrdXAtYXBpLnJzCj4gQEAgLTQzLDYgKzQz
LDggQEAgZm4gZ2V0X2luZGV4KCkgLT4gUGluPEJveDxkeW4gRnV0dXJlPE91dHB1dCA9IFJlc3Bv
bnNlPEJvZHk+PiArIFNlbmQ+PiB7Cj4gICBhc3luYyBmbiBydW4oKSAtPiBSZXN1bHQ8KCksIEVy
cm9yPiB7Cj4gICAgICAgaW5pdF9sb2dnZXIoIlBCU19MT0ciLCBMZXZlbEZpbHRlcjo6SU5GTyk/
Owo+ICAgCj4gKyAgICBsZXQgXyA9IHByb3htb3hfYmFja3VwOjp0b29sczo6aW5pdF9wcm9kdWN0
X2NvbmZpZygpOwo+ICsKCnlvdSBpbnRyb2R1Y2UgdGhpcyBtZXRob2QgaGVyZSwgYnV0IGFsd2F5
cyBpZ25vcmUgdGhlIGVycm9yLgp3aGF0IGhhcHBlbnMgd2hlbiB0aGUgaW5pdCBmYWlscz8gd2ls
bCB0aGUgJ3JlcGxhY2VfY29uZmlnJyBwYW5pYyBsYXRlcj8KKHRoYXQgd291bGQgYmUgdmVyeSBi
YWQ/KQoKaSB0aGluayBpdCB3b3VsZCBiZSBiZXR0ZXIgdG8gc3BsaXQgdGhpcyBvdXQgaW50byBp
dCdzIG93biBwYXRjaAp3aXRoIGEgZ29vZCByZWFzb25pbmcgd2h5IHRoZSBlcnJvciBpcyBzYWZl
IHRvIGJlIGlnbm9yZWQgKG9yIG5vdCkKCklNSE8gaWYgdGhlIGluaXQgZmFpbHMsIHdlIGNhbm5v
dCBjb250aW51ZSBhbnl3YXksIGUuZy4KaW4gdGhlIG1haW4gZnVuY3Rpb24gb2YgdGhlIGJhY2t1
cC1wcm94eSB3ZSBmYWlsIGlmICBgYmFja3VwX3VzZXIoKWAgZmFpbHMKCj4gICAgICAgY29uZmln
OjpjcmVhdGVfY29uZmlnZGlyKCk/Owo+ICAgCj4gICAgICAgY29uZmlnOjp1cGRhdGVfc2VsZl9z
aWduZWRfY2VydChmYWxzZSk/Owo+IGRpZmYgLS1naXQgYS9zcmMvYmluL3Byb3htb3gtYmFja3Vw
LXByb3h5LnJzIGIvc3JjL2Jpbi9wcm94bW94LWJhY2t1cC1wcm94eS5ycwo+IGluZGV4IGNlMWJl
MWMwLi5lYjdkYTBlNCAxMDA2NDQKPiAtLS0gYS9zcmMvYmluL3Byb3htb3gtYmFja3VwLXByb3h5
LnJzCj4gKysrIGIvc3JjL2Jpbi9wcm94bW94LWJhY2t1cC1wcm94eS5ycwo+IEBAIC0xODEsNiAr
MTgxLDggQEAgYXN5bmMgZm4gZ2V0X2luZGV4X2Z1dHVyZShlbnY6IFJlc3RFbnZpcm9ubWVudCwg
cGFydHM6IFBhcnRzKSAtPiBSZXNwb25zZTxCb2R5Pgo+ICAgYXN5bmMgZm4gcnVuKCkgLT4gUmVz
dWx0PCgpLCBFcnJvcj4gewo+ICAgICAgIGluaXRfbG9nZ2VyKCJQQlNfTE9HIiwgTGV2ZWxGaWx0
ZXI6OklORk8pPzsKPiAgIAo+ICsgICAgbGV0IF8gPSBwcm94bW94X2JhY2t1cDo6dG9vbHM6Omlu
aXRfcHJvZHVjdF9jb25maWcoKTsKPiArCj4gICAgICAgcHJveG1veF9iYWNrdXA6OmF1dGhfaGVs
cGVyczo6c2V0dXBfYXV0aF9jb250ZXh0KGZhbHNlKTsKPiAgICAgICBwcm94bW94X2JhY2t1cDo6
c2VydmVyOjpub3RpZmljYXRpb25zOjppbml0KCk/Owo+ICAgICAgIG1ldHJpY19jb2xsZWN0aW9u
Ojppbml0KCk/Owo+IGRpZmYgLS1naXQgYS9zcmMvYmluL3Byb3htb3gtdGFwZS5ycyBiL3NyYy9i
aW4vcHJveG1veC10YXBlLnJzCj4gaW5kZXggOGU4NTg0YjMuLjhkZTk0YWYwIDEwMDY0NAo+IC0t
LSBhL3NyYy9iaW4vcHJveG1veC10YXBlLnJzCj4gKysrIGIvc3JjL2Jpbi9wcm94bW94LXRhcGUu
cnMKPiBAQCAtMSw2ICsxLDggQEAKPiAgIHVzZSBzdGQ6OmNvbGxlY3Rpb25zOjpIYXNoTWFwOwo+
ICAgCj4gICB1c2UgYW55aG93Ojp7YmFpbCwgZm9ybWF0X2VyciwgRXJyb3J9Owo+ICt1c2UgcGJz
X2FwaV90eXBlczo6Q0hBTkdFUl9OQU1FX1NDSEVNQV9BVVRPTUFUSUNfRFJJVkVfQVNJR05NRU5U
Owo+ICt1c2UgcGJzX2NvbmZpZzo6ZHJpdmU6OmNvbXBsZXRlX2NoYW5nZXJfbmFtZTsKPiAgIHVz
ZSBzZXJkZV9qc29uOjp7anNvbiwgVmFsdWV9Owo+ICAgCj4gICB1c2UgcHJveG1veF9odW1hbl9i
eXRlOjpIdW1hbkJ5dGU7Cj4gQEAgLTIxNCw2ICsyMTYsMTAgQEAgYXN5bmMgZm4gZWplY3RfbWVk
aWEobXV0IHBhcmFtOiBWYWx1ZSkgLT4gUmVzdWx0PCgpLCBFcnJvcj4gewo+ICAgICAgICAgICAg
ICAgICAgIHNjaGVtYTogRFJJVkVfTkFNRV9TQ0hFTUEsCj4gICAgICAgICAgICAgICAgICAgb3B0
aW9uYWw6IHRydWUsCj4gICAgICAgICAgICAgICB9LAo+ICsgICAgICAgICAgICBjaGFuZ2VyOiB7
Cj4gKyAgICAgICAgICAgICAgICBzY2hlbWE6IENIQU5HRVJfTkFNRV9TQ0hFTUFfQVVUT01BVElD
X0RSSVZFX0FTSUdOTUVOVCwKPiArICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLAo+ICsg
ICAgICAgICAgICB9LAo+ICAgICAgICAgICAgICAgImxhYmVsLXRleHQiOiB7Cj4gICAgICAgICAg
ICAgICAgICAgc2NoZW1hOiBNRURJQV9MQUJFTF9TQ0hFTUEsCj4gICAgICAgICAgICAgICB9LAo+
IEBAIC0yMzAsMTEgKzIzNiwyNSBAQCBhc3luYyBmbiBsb2FkX21lZGlhKG11dCBwYXJhbTogVmFs
dWUpIC0+IFJlc3VsdDwoKSwgRXJyb3I+IHsKPiAgIAo+ICAgICAgIGxldCAoY29uZmlnLCBfZGln
ZXN0KSA9IHBic19jb25maWc6OmRyaXZlOjpjb25maWcoKT87Cj4gICAKPiAtICAgIGxldCBkcml2
ZSA9IGV4dHJhY3RfZHJpdmVfbmFtZSgmbXV0IHBhcmFtLCAmY29uZmlnKT87Cj4gKyAgICBsZXQg
ZHJpdmUgPSBleHRyYWN0X2RyaXZlX25hbWUoJm11dCBwYXJhbSwgJmNvbmZpZyk7Cj4gKyAgICBs
ZXQgY2hhbmdlciA9IHBhcmFtWyJjaGFuZ2VyIl0uYXNfc3RyKCk7Cj4gKwo+ICsgICAgbGV0IHBh
dGggPSBtYXRjaCBjaGFuZ2VyIHsKPiArICAgICAgICBTb21lKGNoYW5nZXIpID0+IHsKPiArICAg
ICAgICAgICAgZm9ybWF0ISgiYXBpMi9qc29uL3RhcGUvY2hhbmdlci97fS9sb2FkLW1lZGlhIiwg
Y2hhbmdlcikKPiArICAgICAgICB9Cj4gKyAgICAgICAgTm9uZSA9PiB7Cj4gKyAgICAgICAgICAg
IGxldCBkcml2ZSA9IGRyaXZlPzsKPiArICAgICAgICAgICAgZm9ybWF0ISgiYXBpMi9qc29uL3Rh
cGUvZHJpdmUve30vbG9hZC1tZWRpYSIsIGRyaXZlKQo+ICsgICAgICAgIH0KPiArICAgIH07Cgpo
ZXJlIHlvdSBjb3VsZCBpbnN0ZWFkIGRvIHRoZSBmb2xsb3dpbmc6CgpsZXQgcGF0aCA9IG1hdGNo
IChjaGFuZ2VyLCBkcml2ZSkgewogICAgKFNvbWUoY2hhbmdlciksIE5vbmUpID0+IC8vIGNoYW5n
ZXIgcGF0aAogICAgKE5vbmUsIFNvbWUoZHJpdmUpKSA9PiAvLyBkcml2ZSBwYXRoCiAgICBfID0+
IC8vIGZhaWwgd2l0aCBlcnJvciB0aGF0IGV4YWN0bHkgb25lIG9mIHRoZSBvcHRpb25zIHNob3Vs
ZCBiZSBzZXQKfTsKCmluIHlvdXIgY29kZSwgaSBjYW4gZ2l2ZSBib3RoLCBidXQgaXQgd2lsbCBh
dXRvZGV0ZWN0IHRoZSBkcml2ZSBldmVuIGlmCmdpdmVuIGV4cGxpY2l0bHkgd2hlbiB0aGUgY2hh
bmdlciBpcyBnaXZlbiwgd2hpY2ggbWlnaHQgYmUgY29uZnVzaW5nCmZvciB1c2VycwoKPiArCj4g
KyAgICBpZiBsZXQgU29tZShwYXJhbSkgPSBwYXJhbS5hc19vYmplY3RfbXV0KCkgewo+ICsgICAg
ICAgIHBhcmFtLnJlbW92ZSgiY2hhbmdlciIpOwo+ICsgICAgfQo+ICAgCj4gICAgICAgbGV0IGNs
aWVudCA9IGNvbm5lY3RfdG9fbG9jYWxob3N0KCk/Owo+ICAgCj4gLSAgICBsZXQgcGF0aCA9IGZv
cm1hdCEoImFwaTIvanNvbi90YXBlL2RyaXZlL3t9L2xvYWQtbWVkaWEiLCBkcml2ZSk7Cj4gICAg
ICAgbGV0IHJlc3VsdCA9IGNsaWVudC5wb3N0KCZwYXRoLCBTb21lKHBhcmFtKSkuYXdhaXQ/Owo+
ICAgCj4gICAgICAgdmlld190YXNrX3Jlc3VsdCgmY2xpZW50LCByZXN1bHQsICZvdXRwdXRfZm9y
bWF0KS5hd2FpdD87Cj4gQEAgLTI3Niw2ICsyOTYsMTAgQEAgYXN5bmMgZm4gZXhwb3J0X21lZGlh
KG11dCBwYXJhbTogVmFsdWUpIC0+IFJlc3VsdDwoKSwgRXJyb3I+IHsKPiAgICAgICAgICAgICAg
ICAgICBzY2hlbWE6IERSSVZFX05BTUVfU0NIRU1BLAo+ICAgICAgICAgICAgICAgICAgIG9wdGlv
bmFsOiB0cnVlLAo+ICAgICAgICAgICAgICAgfSwKPiArICAgICAgICAgICAgY2hhbmdlcjogewo+
ICsgICAgICAgICAgICAgICAgc2NoZW1hOiBDSEFOR0VSX05BTUVfU0NIRU1BX0FVVE9NQVRJQ19E
UklWRV9BU0lHTk1FTlQsCj4gKyAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSwKPiArICAg
ICAgICAgICAgfSwKPiAgICAgICAgICAgICAgICJzb3VyY2Utc2xvdCI6IHsKPiAgICAgICAgICAg
ICAgICAgICBkZXNjcmlwdGlvbjogIlNvdXJjZSBzbG90IG51bWJlci4iLAo+ICAgICAgICAgICAg
ICAgICAgIHR5cGU6IHU2NCwKPiBAQCAtMjg4LDExICszMTIsMjUgQEAgYXN5bmMgZm4gZXhwb3J0
X21lZGlhKG11dCBwYXJhbTogVmFsdWUpIC0+IFJlc3VsdDwoKSwgRXJyb3I+IHsKPiAgIGFzeW5j
IGZuIGxvYWRfbWVkaWFfZnJvbV9zbG90KG11dCBwYXJhbTogVmFsdWUpIC0+IFJlc3VsdDwoKSwg
RXJyb3I+IHsKPiAgICAgICBsZXQgKGNvbmZpZywgX2RpZ2VzdCkgPSBwYnNfY29uZmlnOjpkcml2
ZTo6Y29uZmlnKCk/Owo+ICAgCj4gLSAgICBsZXQgZHJpdmUgPSBleHRyYWN0X2RyaXZlX25hbWUo
Jm11dCBwYXJhbSwgJmNvbmZpZyk/Owo+ICsgICAgbGV0IGRyaXZlID0gZXh0cmFjdF9kcml2ZV9u
YW1lKCZtdXQgcGFyYW0sICZjb25maWcpOwo+ICsgICAgbGV0IGNoYW5nZXIgPSBwYXJhbVsiY2hh
bmdlciJdLmFzX3N0cigpOwo+ICsKPiArICAgIGxldCBwYXRoID0gbWF0Y2ggY2hhbmdlciB7Cj4g
KyAgICAgICAgU29tZShjaGFuZ2VyKSA9PiB7Cj4gKyAgICAgICAgICAgIGZvcm1hdCEoImFwaTIv
anNvbi90YXBlL2NoYW5nZXIve30vbG9hZC1zbG90IiwgY2hhbmdlcikKPiArICAgICAgICB9Cj4g
KyAgICAgICAgTm9uZSA9PiB7Cj4gKyAgICAgICAgICAgIGxldCBkcml2ZSA9IGRyaXZlPzsKPiAr
ICAgICAgICAgICAgZm9ybWF0ISgiYXBpMi9qc29uL3RhcGUvZHJpdmUve30vbG9hZC1zbG90Iiwg
ZHJpdmUpCj4gKyAgICAgICAgfQo+ICsgICAgfTsKCnRoZSBzYW1lIGhlcmUKCj4gKwo+ICsgICAg
aWYgbGV0IFNvbWUocGFyYW0pID0gcGFyYW0uYXNfb2JqZWN0X211dCgpIHsKPiArICAgICAgICBw
YXJhbS5yZW1vdmUoImNoYW5nZXIiKTsKPiArICAgIH0KPiAgIAo+ICAgICAgIGxldCBjbGllbnQg
PSBjb25uZWN0X3RvX2xvY2FsaG9zdCgpPzsKPiAgIAo+IC0gICAgbGV0IHBhdGggPSBmb3JtYXQh
KCJhcGkyL2pzb24vdGFwZS9kcml2ZS97fS9sb2FkLXNsb3QiLCBkcml2ZSk7Cj4gICAgICAgY2xp
ZW50LnBvc3QoJnBhdGgsIFNvbWUocGFyYW0pKS5hd2FpdD87Cj4gICAKPiAgICAgICBPaygoKSkK
PiBAQCAtMTA5MSwxMyArMTEyOSwxNSBAQCBmbiBtYWluKCkgewo+ICAgICAgICAgICAgICAgQ2xp
Q29tbWFuZDo6bmV3KCZBUElfTUVUSE9EX0xPQURfTUVESUEpCj4gICAgICAgICAgICAgICAgICAg
LmFyZ19wYXJhbSgmWyJsYWJlbC10ZXh0Il0pCj4gICAgICAgICAgICAgICAgICAgLmNvbXBsZXRp
b25fY2IoImRyaXZlIiwgY29tcGxldGVfZHJpdmVfbmFtZSkKPiArICAgICAgICAgICAgICAgIC5j
b21wbGV0aW9uX2NiKCJjaGFuZ2VyIiwgY29tcGxldGVfY2hhbmdlcl9uYW1lKQo+ICAgICAgICAg
ICAgICAgICAgIC5jb21wbGV0aW9uX2NiKCJsYWJlbC10ZXh0IiwgY29tcGxldGVfbWVkaWFfbGFi
ZWxfdGV4dCksCj4gICAgICAgICAgICkKPiAgICAgICAgICAgLmluc2VydCgKPiAgICAgICAgICAg
ICAgICJsb2FkLW1lZGlhLWZyb20tc2xvdCIsCj4gICAgICAgICAgICAgICBDbGlDb21tYW5kOjpu
ZXcoJkFQSV9NRVRIT0RfTE9BRF9NRURJQV9GUk9NX1NMT1QpCj4gICAgICAgICAgICAgICAgICAg
LmFyZ19wYXJhbSgmWyJzb3VyY2Utc2xvdCJdKQo+IC0gICAgICAgICAgICAgICAgLmNvbXBsZXRp
b25fY2IoImRyaXZlIiwgY29tcGxldGVfZHJpdmVfbmFtZSksCj4gKyAgICAgICAgICAgICAgICAu
Y29tcGxldGlvbl9jYigiZHJpdmUiLCBjb21wbGV0ZV9kcml2ZV9uYW1lKQo+ICsgICAgICAgICAg
ICAgICAgLmNvbXBsZXRpb25fY2IoImNoYW5nZXIiLCBjb21wbGV0ZV9jaGFuZ2VyX25hbWUpLAo+
ICAgICAgICAgICApCj4gICAgICAgICAgIC5pbnNlcnQoCj4gICAgICAgICAgICAgICAidW5sb2Fk
IiwKPiBkaWZmIC0tZ2l0IGEvc3JjL3RhcGUvY2hhbmdlci9tb2QucnMgYi9zcmMvdGFwZS9jaGFu
Z2VyL21vZC5ycwo+IGluZGV4IDE4ZWEwZjQ2Li44ZTNmZjBmNyAxMDA2NDQKPiAtLS0gYS9zcmMv
dGFwZS9jaGFuZ2VyL21vZC5ycwo+ICsrKyBiL3NyYy90YXBlL2NoYW5nZXIvbW9kLnJzCj4gQEAg
LTI3Myw2ICsyNzMsMTcgQEAgcHViIHRyYWl0IE1lZGlhQ2hhbmdlIHsKPiAgICAgICB9Cj4gICB9
Cj4gICAKPiArLy8vIFVwZGF0ZXMgdGhlIGRyaXZlJ3MgbGFzdCB1c2FnZSB0aW1lIHRvIG5vdy4K
PiArcHViKHN1cGVyKSBmbiB1cGRhdGVfZHJpdmVfdXNhZ2UoZHJpdmU6ICZzdHIpIC0+IFJlc3Vs
dDwoKSwgRXJyb3I+IHsKPiArICAgIGxldCBfbG9jayA9IGNyYXRlOjp0YXBlOjpkcml2ZV9pbmZv
Ojpsb2NrKCk/Owo+ICsKPiArICAgIGxldCBtdXQgZHJpdmVzX2luZm8gPSBjcmF0ZTo6dGFwZTo6
ZHJpdmVfaW5mbzo6Z2V0X2RyaXZlc19pbmZvKCk/Owo+ICsKPiArICAgIGxldCBub3cgPSBwcm94
bW94X3RpbWU6OmVwb2NoX2k2NCgpOwo+ICsgICAgZHJpdmVzX2luZm8uZHJpdmVzLmVudHJ5KGRy
aXZlLmludG8oKSkub3JfZGVmYXVsdCgpLmxhc3RfdXNhZ2UgPSBub3c7Cj4gKyAgICBjcmF0ZTo6
dGFwZTo6ZHJpdmVfaW5mbzo6c2F2ZV9jb25maWcoJmRyaXZlc19pbmZvKQo+ICt9Cj4gKwo+ICAg
Y29uc3QgVVNFX01UWDogYm9vbCA9IGZhbHNlOwo+ICAgCj4gICBpbXBsIFNjc2lNZWRpYUNoYW5n
ZSBmb3IgU2NzaVRhcGVDaGFuZ2VyIHsKPiBAQCAtNDIzLDcgKzQzNCwxMyBAQCBpbXBsIE1lZGlh
Q2hhbmdlIGZvciBNdHhNZWRpYUNoYW5nZXIgewo+ICAgICAgIH0KPiAgIAo+ICAgICAgIGZuIGxv
YWRfbWVkaWFfZnJvbV9zbG90KCZtdXQgc2VsZiwgc2xvdDogdTY0KSAtPiBSZXN1bHQ8TXR4U3Rh
dHVzLCBFcnJvcj4gewo+IC0gICAgICAgIHNlbGYuY29uZmlnLmxvYWRfc2xvdChzbG90LCBzZWxm
LmRyaXZlX251bWJlcigpKQo+ICsgICAgICAgIGxldCBzdGF0dXMgPSBzZWxmLmNvbmZpZy5sb2Fk
X3Nsb3Qoc2xvdCwgc2VsZi5kcml2ZV9udW1iZXIoKSk/Owo+ICsKPiArICAgICAgICBpZiBsZXQg
RXJyKGVycikgPSB1cGRhdGVfZHJpdmVfdXNhZ2Uoc2VsZi5kcml2ZV9uYW1lKCkpIHsKPiArICAg
ICAgICAgICAgbG9nOjp3YXJuISgiY291bGQgbm90IHVwZGF0ZSBkcml2ZSB1c2FnZToge2Vycn0i
KTsKPiArICAgICAgICB9Cj4gKwo+ICsgICAgICAgIE9rKHN0YXR1cykKPiAgICAgICB9Cj4gICAK
PiAgICAgICBmbiB1bmxvYWRfbWVkaWEoJm11dCBzZWxmLCB0YXJnZXRfc2xvdDogT3B0aW9uPHU2
ND4pIC0+IFJlc3VsdDxNdHhTdGF0dXMsIEVycm9yPiB7Cj4gZGlmZiAtLWdpdCBhL3NyYy90YXBl
L2RyaXZlL3ZpcnR1YWxfdGFwZS5ycyBiL3NyYy90YXBlL2RyaXZlL3ZpcnR1YWxfdGFwZS5ycwo+
IGluZGV4IDg2NmU0ZDMyLi4yMTNmMTdmZSAxMDA2NDQKPiAtLS0gYS9zcmMvdGFwZS9kcml2ZS92
aXJ0dWFsX3RhcGUucnMKPiArKysgYi9zcmMvdGFwZS9kcml2ZS92aXJ0dWFsX3RhcGUucnMKPiBA
QCAtNTY3LDcgKzU2NywxMyBAQCBpbXBsIE1lZGlhQ2hhbmdlIGZvciBWaXJ0dWFsVGFwZUhhbmRs
ZSB7Cj4gICAgICAgICAgIH07Cj4gICAgICAgICAgIHNlbGYuc3RvcmVfc3RhdHVzKCZzdGF0dXMp
PzsKPiAgIAo+IC0gICAgICAgIHNlbGYuc3RhdHVzKCkKPiArICAgICAgICBsZXQgc3RhdHVzID0g
c2VsZi5zdGF0dXMoKT87Cj4gKwo+ICsgICAgICAgIGlmIGxldCBFcnIoZXJyKSA9IGNyYXRlOjp0
YXBlOjpjaGFuZ2VyOjp1cGRhdGVfZHJpdmVfdXNhZ2Uoc2VsZi5kcml2ZV9uYW1lKCkpIHsKPiAr
ICAgICAgICAgICAgbG9nOjp3YXJuISgiY291bGQgbm90IHVwZGF0ZSBkcml2ZSB1c2FnZToge2Vy
cn0iKTsKPiArICAgICAgICB9Cj4gKwo+ICsgICAgICAgIE9rKHN0YXR1cykKPiAgICAgICB9Cj4g
ICAKPiAgICAgICBmbiB1bmxvYWRfbWVkaWEoJm11dCBzZWxmLCBfdGFyZ2V0X3Nsb3Q6IE9wdGlv
bjx1NjQ+KSAtPiBSZXN1bHQ8TXR4U3RhdHVzLCBFcnJvcj4gewo+IGRpZmYgLS1naXQgYS9zcmMv
dGFwZS9kcml2ZV9pbmZvLnJzIGIvc3JjL3RhcGUvZHJpdmVfaW5mby5ycwo+IG5ldyBmaWxlIG1v
ZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAuLmEwYzJmODM2Cj4gLS0tIC9kZXYvbnVsbAo+ICsr
KyBiL3NyYy90YXBlL2RyaXZlX2luZm8ucnMKPiBAQCAtMCwwICsxLDUxIEBACj4gKy8vISBTZXJp
YWxpemUvZGVzZXJpYWxpemUgdHBhZSBkcml2ZSBpbmZvIChlLmcuIHVzZWZ1bCBmb3Igc3RhdGlz
dGljcykKPiArLy8hCj4gKy8vISBUaGlzIGNhbiBiZSB1c2VkIHRvIHN0b3JlIGEgc3RhdGUgb3Zl
ciBhIGxvbmdlciBwZXJpb2Qgb2YgdGltZSAoZS5nLiBsYXN0IHRhcGUgZHJpdmUgdXNhZ2UpLgo+
ICsKPiArdXNlIHNlcmRlOjp7U2VyaWFsaXplLCBEZXNlcmlhbGl6ZX07Cj4gK3VzZSBzdGQ6OmNv
bGxlY3Rpb25zOjpIYXNoTWFwOwo+ICt1c2UgYW55aG93OjpFcnJvcjsKPiArdXNlIHByb3htb3hf
cHJvZHVjdF9jb25maWc6OkFwaUxvY2tHdWFyZDsKPiArCj4gKy8vLyBEcml2ZSBpbmZvIGZpbGUg
bmFtZQo+ICtwdWIgY29uc3QgRFJJVkVfSU5GT19GSUxFTkFNRTogJnN0ciA9IGNvbmNhdCEocGJz
X2J1aWxkY2ZnOjpQUk9YTU9YX0JBQ0tVUF9TVEFURV9ESVJfTSEoKSwgIi90YXBlX2RyaXZlX2lu
Zm8uanNvbiIpOwo+ICsvLy8gTG9jayBmaWxlIG5hbWUgKHVzZWQgdG8gcHJldmVudCBjb25jdXJy
ZW50IGFjY2VzcykKPiArcHViIGNvbnN0IERSSVZFX0lORk9fTE9DS0ZJTEU6ICZzdHIgPSBjb25j
YXQhKHBic19idWlsZGNmZzo6UFJPWE1PWF9CQUNLVVBfU1RBVEVfRElSX00hKCksICIvLnRhcGVf
ZHJpdmVfaW5mby5qc29uLmxvY2siKTsKPiArCj4gKyNbZGVyaXZlKFNlcmlhbGl6ZSwgRGVzZXJp
YWxpemUsIERlZmF1bHQpXQo+ICtwdWIgc3RydWN0IFNpbmdsZURyaXZlSW5mbyB7Cj4gKyAgICAj
W3NlcmRlKHdpdGggPSAicHJveG1veF9zZXJkZTo6ZXBvY2hfYXNfcmZjMzMzOSIpXQo+ICsgICAg
cHViIGxhc3RfdXNhZ2U6IGk2NCwKPiArfQo+ICsKPiArI1tkZXJpdmUoU2VyaWFsaXplLCBEZXNl
cmlhbGl6ZSwgRGVmYXVsdCldCj4gK3B1YiBzdHJ1Y3QgRHJpdmVzSW5mbyB7Cj4gKyAgICBwdWIg
ZHJpdmVzOiBIYXNoTWFwPFN0cmluZywgU2luZ2xlRHJpdmVJbmZvPiwKPiArfQoKYXMgc2FpZCBh
Ym92ZSwgdGhpcyB3b3VsZCBwcm9iYWJseSBtb3JlIGVjb25vbWljIGlmIGl0IHdlcmUganVzdCBh
IGxpc3QKCm1heWJlIGEgYFZlYzwoU3RyaW5nLCBpNjQpPmAgc29ydGVkIGJ5IHRoZSBpNjQKCmFs
c28gbm90IGEgc3VwZXIgZmFuIG9mIHRoZSBuYW1lIGBEcml2ZXNJbmZvYCBvciBgU2luZ2xlRHJp
dmVJbmZvYCBzaW5jZSBpdCBkb2VzIG5vdCByZWFsbHkKY29udmV5IHdoYXQgaXQgZG9lcy4gKEUu
Zy4gSSdkIGhhdmUgZXhwZWN0ZWQgaXQgdG8gaGF2ZSBtdWNoIG1vcmUgaW5mbyB0aGFuIGp1c3QK
dGhlIGxhc3QgdXNhZ2UpCgpNYXliZSBjYWxsIGl0IHNvbWV0aGluZyBsaWtlICdEcml2ZXNMYXN0
VXNlZCcgZm9yIG5vdywgYW5kIGlmIHdlIHNlZSB3ZSBjYW4KYWRkIG1vcmUgaW5mb3JtYXRpb24s
IHdlIGNhbiBzdGlsbCB1cGRhdGUgdGhlIG5hbWUuCihUaG91Z2ggSSdtIG5vdCB0aGUgYmVzdCBh
dCBuYW1pbmcsIHNvIG1heWJlIHNvbWVvbmUgZWxzZSB3YW50cyB0byBjaGltZSBpbiBvbiB0aGlz
KQoKPiArCj4gKy8vLyBHZXQgZXhjbHVzaXZlIGxvY2sKPiArcHViIGZuIGxvY2soKSAtPiBSZXN1
bHQ8QXBpTG9ja0d1YXJkLCBFcnJvcj4gewo+ICsgICAgcHJveG1veF9wcm9kdWN0X2NvbmZpZzo6
b3Blbl9hcGlfbG9ja2ZpbGUoRFJJVkVfSU5GT19MT0NLRklMRSwgT3B0aW9uOjpOb25lLCB0cnVl
KQo+ICt9Cj4gKwo+ICsvLy8gUmVhZCBhbmQgcGFyc2UgdGhlIGRyaXZlIGluZm8gZmlsZQo+ICtw
dWIgZm4gZ2V0X2RyaXZlc19pbmZvKCkgLT4gUmVzdWx0PERyaXZlc0luZm8sIEVycm9yPiB7Cj4g
KyAgICBsZXQgY29udGVudCA9Cj4gKyAgICAgICAgcHJveG1veF9zeXM6OmZzOjpmaWxlX3JlYWRf
b3B0aW9uYWxfc3RyaW5nKERSSVZFX0lORk9fRklMRU5BTUUpPzsKPiArCj4gKyAgICBtYXRjaCBj
b250ZW50IHsKPiArICAgICAgICBTb21lKGNvbnRlbnQpID0+IHsKPiArICAgICAgICAgICAgbGV0
IHJlc3VsdCA9IHNlcmRlX2pzb246OmZyb21fc3RyOjo8RHJpdmVzSW5mbz4oJmNvbnRlbnQpPzsK
PiArICAgICAgICAgICAgT2socmVzdWx0KQo+ICsgICAgICAgIH0sCj4gKyAgICAgICAgTm9uZSA9
PiB7Cj4gKyAgICAgICAgICAgIE9rKERyaXZlc0luZm86OmRlZmF1bHQoKSkKPiArICAgICAgICB9
Cj4gKyAgICB9Cj4gK30KPiArCj4gKy8vLyBTYXZlIHRoZSBjb25maWd1cmF0aW9uIGZpbGUKPiAr
cHViIGZuIHNhdmVfY29uZmlnKGRhdGE6ICZEcml2ZXNJbmZvKSAtPiBSZXN1bHQ8KCksIEVycm9y
PiB7Cj4gKyAgICBsZXQganNvbiA9IHNlcmRlX2pzb246OnRvX3N0cmluZyhkYXRhKT87Cj4gKyAg
ICBwcm94bW94X3Byb2R1Y3RfY29uZmlnOjpyZXBsYWNlX2NvbmZpZyhEUklWRV9JTkZPX0ZJTEVO
QU1FLCBqc29uLmFzX2J5dGVzKCkpCj4gK30KPiBkaWZmIC0tZ2l0IGEvc3JjL3RhcGUvbW9kLnJz
IGIvc3JjL3RhcGUvbW9kLnJzCj4gaW5kZXggZjI3NmY5NDguLjhiODcxNTJkIDEwMDY0NAo+IC0t
LSBhL3NyYy90YXBlL21vZC5ycwo+ICsrKyBiL3NyYy90YXBlL21vZC5ycwo+IEBAIC0yMCw2ICsy
MCw3IEBAIHB1YiB1c2UgaW52ZW50b3J5OjoqOwo+ICAgCj4gICBwdWIgbW9kIGNoYW5nZXI7Cj4g
ICBwdWIgbW9kIGRyaXZlOwo+ICtwdWIgbW9kIGRyaXZlX2luZm87Cj4gICBwdWIgbW9kIGVuY3J5
cHRpb25fa2V5czsKPiAgIAo+ICAgbW9kIG1lZGlhX3Bvb2w7Cj4gZGlmZiAtLWdpdCBhL3NyYy90
b29scy9tb2QucnMgYi9zcmMvdG9vbHMvbW9kLnJzCj4gaW5kZXggMzIyODk0ZGQuLjExZmIyODIx
IDEwMDY0NAo+IC0tLSBhL3NyYy90b29scy9tb2QucnMKPiArKysgYi9zcmMvdG9vbHMvbW9kLnJz
Cj4gQEAgLTYxLDMgKzYxLDEwIEBAIHB1YiBmbiBzZXR1cF9zYWZlX3BhdGhfZW52KCkgewo+ICAg
ICAgICAgICBzdGQ6OmVudjo6cmVtb3ZlX3ZhcihuYW1lKTsKPiAgICAgICB9Cj4gICB9Cj4gKwo+
ICtwdWIgZm4gaW5pdF9wcm9kdWN0X2NvbmZpZygpIC0+IFJlc3VsdDwoKSwgRXJyb3I+IHsKCmxp
a2UgbW9zdCBvZiB0aGUgZnVuY3Rpb25zIGluIHRoaXMgZmlsZSwgYSBzaG9ydCBjb21tZW50IHdv
dWxkIGJlIG5pY2UsCmV2ZW4gaWYgaXQncyBqdXN0IGEgcmVmZXJlbmNlIHRvIHRoZSBgcHJveG1v
eF9wcm9kdWN0X2NvbmZpZ2AgY3JhdGUKCj4gKyAgICBsZXQgYmFja3VwX3VzZXIgPSBwYnNfY29u
ZmlnOjpiYWNrdXBfdXNlcigpPzsKPiArICAgIGxldCByb290X3VzZXIgPSBuaXg6OnVuaXN0ZDo6
VXNlcjo6ZnJvbV91aWQobml4Ojp1bmlzdGQ6OlJPT1QpPy5leHBlY3QoImNvdWxkIG5vdCBmaW5k
IHJvb3QgdXNlciIpOwoKdGhpcyBzZWVtcyBpbmNvbnNpc3RlbnQuCgpmb3IgdHdvIHRoaW5ncyB3
ZSBidWJibGUgdGhlIGVycm9yIHVwLCBidXQgYSBtaXNzaW5nIHJvb3QgdXNlciBwYW5pY3MKCkkn
ZCBwcm9iYWJseSBtYWtlIHRoYXQgaW50byBhbiBlcnJvciB0aGF0IGJ1YmJsZXMgdXAgdG9vCgo+
ICsgICAgcHJveG1veF9wcm9kdWN0X2NvbmZpZzo6aW5pdChiYWNrdXBfdXNlciwgcm9vdF91c2Vy
KTsKPiArICAgIE9rKCgpKQo+ICt9CgoKPiBkaWZmIC0tZ2l0IGEvd3d3L3RhcGUvQ2hhbmdlclN0
YXR1cy5qcyBiL3d3dy90YXBlL0NoYW5nZXJTdGF0dXMuanMKPiBpbmRleCBlMThhZjkwZS4uMGE4
NzU3NzkgMTAwNjQ0Cj4gLS0tIGEvd3d3L3RhcGUvQ2hhbmdlclN0YXR1cy5qcwo+ICsrKyBiL3d3
dy90YXBlL0NoYW5nZXJTdGF0dXMuanMKPiBAQCAtMjIyLDEyICsyMjIsMTcgQEAgRXh0LmRlZmlu
ZSgnUEJTLlRhcGVNYW5hZ2VtZW50LkNoYW5nZXJTdGF0dXMnLCB7Cj4gICAJCSAgICBhdXRvU2hv
dzogdHJ1ZSwKPiAgIAkJICAgIHN1Ym1pdFRleHQ6IGdldHRleHQoJ09LJyksCj4gICAJCSAgICB0
aXRsZTogZ2V0dGV4dCgnTG9hZCBNZWRpYSBpbnRvIERyaXZlJyksCj4gLQkJICAgIHVybDogYC9h
cGkyL2V4dGpzL3RhcGUvZHJpdmVgLAo+ICsJCSAgICB1cmw6IGAvYXBpMi9leHRqcy90YXBlYCwK
PiAgIAkJICAgIG1ldGhvZDogJ1BPU1QnLAo+ICAgCQkgICAgc3VibWl0VXJsOiBmdW5jdGlvbih1
cmwsIHZhbHVlcykgewo+IC0JCQlsZXQgZHJpdmUgPSB2YWx1ZXMuZHJpdmU7Cj4gLQkJCWRlbGV0
ZSB2YWx1ZXMuZHJpdmU7Cj4gLQkJCXJldHVybiBgJHt1cmx9LyR7ZW5jb2RlVVJJQ29tcG9uZW50
KGRyaXZlKX0vJHthcGlDYWxsfWA7Cj4gKwkJCSAgICBsZXQgZHJpdmUgPSB2YWx1ZXMuZHJpdmU7
Cj4gKwkJCSAgICBkZWxldGUgdmFsdWVzLmRyaXZlOwo+ICsJCQkKPiArCQkJICAgIGlmIChkcml2
ZSkgewo+ICsJCQkJICAgIHJldHVybiBgJHt1cmx9L2RyaXZlLyR7ZW5jb2RlVVJJQ29tcG9uZW50
KGRyaXZlKX0vJHthcGlDYWxsfWA7Cj4gKwkJCSAgICB9IGVsc2Ugewo+ICsJCQkJICAgIHJldHVy
biBgJHt1cmx9L2NoYW5nZXIvJHtlbmNvZGVVUklDb21wb25lbnQoY2hhbmdlcil9LyR7YXBpQ2Fs
bH1gOwo+ICsJCQkgICAgfQoKbml0OiBqdXN0IHNvIHdlIGRvbid0IGhhdmUgdG9vIG1hbnkgcGxh
Y2VzIHdoZXJlIHdlIGNyZWF0ZSBzdWNoIHVybHMsCkknZCB0cnkgdG8gY29tYmluZSB0aGVtIGlu
dG8gb25lOgoKbGV0IHR5cGUgPSBkcml2ZSA/ICJkcml2ZSIgOiAiY2hhbmdlciI7CmxldCBpdGVt
ID0gZHJpdmUgPyBkcml2ZSA6IGNoYW5nZXI7CgpyZXR1cm4gYCR7dXJsfS8ke3R5cGV9LyR7ZW5j
b2RlVVJJQ29tcG9uZW50KGl0ZW0pfS8ke2FwaUNhbGx9YDsKCm9yIHNvbWV0aGluZyBsaWtlIHRo
YXQKCj4gICAJCSAgICB9LAo+ICAgCQkgICAgaXRlbXM6IFsKPiAgIAkJCWxhYmVsICE9PSAiIiA/
IHsKPiBAQCAtMjQ4LDYgKzI1Myw5IEBAIEV4dC5kZWZpbmUoJ1BCUy5UYXBlTWFuYWdlbWVudC5D
aGFuZ2VyU3RhdHVzJywgewo+ICAgCQkJICAgIGZpZWxkTGFiZWw6IGdldHRleHQoJ0RyaXZlJyks
Cj4gICAJCQkgICAgY2hhbmdlcjogY2hhbmdlciwKPiAgIAkJCSAgICBuYW1lOiAnZHJpdmUnLAo+
ICsJCQkgICAgZW1wdHlUZXh0OiBnZXR0ZXh0KCdDaG9vc2UgQXV0b21hdGljYWxseScpLAo+ICsJ
CQkgICAgYWxsb3dCbGFuazogdHJ1ZSwKPiArCQkJICAgIGF1dG9TZWxlY3Q6IGZhbHNlLAo+ICAg
CQkJfSwKPiAgIAkJICAgIF0sCj4gICAJCSAgICBsaXN0ZW5lcnM6IHsKCgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcGJzLWRldmVsIG1haWxpbmcgbGlz
dApwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9j
Z2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJzLWRldmVsCg==