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 3CFDC1FF172
	for <inbox@lore.proxmox.com>; Wed, 23 Apr 2025 15:59:19 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 048811C442;
	Wed, 23 Apr 2025 15:59:13 +0200 (CEST)
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Wed, 23 Apr 2025 15:59:03 +0200
Message-Id: <20250423135904.716443-3-f.gruenbichler@proxmox.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250423135904.716443-1-f.gruenbichler@proxmox.com>
References: <20250423135904.716443-1-f.gruenbichler@proxmox.com>
MIME-Version: 1.0
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.046 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
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
Subject: [pve-devel] [PATCH storage 2/3] fix #6338: rbd: use
 image-/snap-spec consistently
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-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

dGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgd2F5IHVwc3RyZWFtIHRvIHBhc3MgdGhpcyBpbmZvcm1h
dGlvbiwgYW5kIGFsbCBjb21tYW5kcwoob3RoZXIgdGhhbiB0aG9zZSBub3Qgb3BlcmF0aW5nIG9u
IGltYWdlcy9zbmFwc2hvdHMpIGNvbnN1bWUgdGhlbSAocmJkKDgpKToKCj4gICAgICAgaW1hZ2Ut
c3BlYyAgICAgIGlzIFtwb29sLW5hbWUvW25hbWVzcGFjZS1uYW1lL11daW1hZ2UtbmFtZQo+ICAg
ICAgIHNuYXAtc3BlYyAgICAgICBpcyBbcG9vbC1uYW1lL1tuYW1lc3BhY2UtbmFtZS9dXWltYWdl
LW5hbWVAc25hcC1uYW1lCj4gWy4uXQo+IFlvdSBtYXkgc3BlY2lmeSBlYWNoIG5hbWUgaW5kaXZp
ZHVhbGx5LCB1c2luZyAtLXBvb2wsIC0tbmFtZXNwYWNlLCAtLWltYWdlLAo+IGFuZCAtLXNuYXAg
b3B0aW9ucywgYnV0IHRoaXMgaXMgZGlzY291cmFnZWQgaW4gZmF2b3Igb2YgdGhlIGFib3ZlIHNw
ZWMKPiBzeW50YXguCgpXZSBhbHJlYWR5IGhhZCBhIGZldyBwbGFjZXMgY2FsbGluZyBgZ2V0X3Ji
ZF9wYXRoYCBwcmV2aW91c2x5ICh3aGljaCBtZWFudApwYXNzaW5nIHRoZSBwb29sIGFuZCBuYW1l
c3BhY2UgaW5mb3JtYXRpb24gdHdpY2UgdG8gQ2VwaCkuCgpJdCBhbHNvIGFsbG93cyB1cyB0byBy
ZXBsYWNlIHRoZSBjdXN0b20gaW1wb3J0IGFuZCB1bm1hcCBoYW5kbGluZyB3aXRoIGp1c3QKY3Vz
dG9tIGBsc2AgaGFuZGxpbmcsIHJlZHVjaW5nIHRoZSB3b3JrYXJvdW5kcyBpbiByYmRfY21kLgoK
Rml4ZXM6ICM2MzM4ICwgYmVjYXVzZSBgcmJkIGltcG9ydGAgZG9lc24ndCBoYW5kbGUgYSBzZXBh
cmF0ZSBgLS1uYW1lc3BhY2UgLi5gCmF0IGFsbC4uCgpTaWduZWQtb2ZmLWJ5OiBGYWJpYW4gR3LD
vG5iaWNobGVyIDxmLmdydWVuYmljaGxlckBwcm94bW94LmNvbT4KLS0tCndlIGNvdWxkIHByb2Jh
Ymx5IHN3aXRjaCBzb21lIG1vcmUgb25seS10ZWNobmljYWxseS1wdWJsaWMgc3VicyBvdmVyIHRv
CnRha2UgYSBzcGVjIGluc3RlYWQgb2YgaW1hZ2UgbmFtZSBvciBpbWFnZSArIHNuYXBzaG90IG5h
bWUsIGlmIGRlc2lyZWQuLgoKYWx0ZXJuYXRpdmVseSwgd2UgY291bGQgYWxzbyBqdXN0IHNwZWNp
YWwgY2FzZSB0aGUgaW1wb3J0IGNhbGwsIGFuZC9vciBjb252aW5jZQp1cHN0cmVhbSB0byBpbXBs
ZW1lbnQgLS1uYW1lc3BhY2UgaGFuZGxpbmcgdGhlcmUgYXMgd2VsbCBvciBzZW5kIGEgcGF0Y2gg
ZG9pbmcKdGhhdCB0aGVpciB3YXkuLgoKIHNyYy9QVkUvU3RvcmFnZS9SQkRQbHVnaW4ucG0gfCAx
MzMgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2
OSBpbnNlcnRpb25zKCspLCA2NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvUFZFL1N0
b3JhZ2UvUkJEUGx1Z2luLnBtIGIvc3JjL1BWRS9TdG9yYWdlL1JCRFBsdWdpbi5wbQppbmRleCA4
YzY3YTM3Li4zYmI1ODA3IDEwMDY0NAotLS0gYS9zcmMvUFZFL1N0b3JhZ2UvUkJEUGx1Z2luLnBt
CisrKyBiL3NyYy9QVkUvU3RvcmFnZS9SQkRQbHVnaW4ucG0KQEAgLTg5LDIyICs4OSwxNyBAQCBt
eSAkcmJkX2NtZCA9IHN1YiB7CiAgICAgbXkgKCRzY2ZnLCAkc3RvcmVpZCwgJG9wLCBAb3B0aW9u
cykgPSBAXzsKIAogICAgIG15ICRjbWRfb3B0aW9uID0gUFZFOjpDZXBoQ29uZmlnOjpjZXBoX2Nv
bm5lY3Rfb3B0aW9uKCRzY2ZnLCAkc3RvcmVpZCk7Ci0gICAgbXkgJHBvb2wgPSAgJHNjZmctPntw
b29sfSA/ICRzY2ZnLT57cG9vbH0gOiAncmJkJzsKIAogICAgIG15ICRjbWQgPSBbJy91c3IvYmlu
L3JiZCddOwotICAgIGlmICgkb3AgZXEgJ2ltcG9ydCcpIHsKLQlwdXNoICRjbWQtPkAqLCAnLS1k
ZXN0LXBvb2wnLCAkcG9vbDsKLSAgICB9IGVsc2UgeworICAgICMgYGxzYCBkb2Vzbid0IHRha2Ug
YW4gaW1hZ2Utc3BlYywgb3RoZXJ3aXNlIHBvb2wgYW5kIG5hbWVzcGFjZSBzaG91bGQgYmUgc3Bl
Y2lmaWVkIHRoZXJlCisgICAgaWYgKCRvcCBlcSAnbHMnKSB7CisJbXkgJHBvb2wgPSAkc2NmZy0+
e3Bvb2x9ID8gJHNjZmctPntwb29sfSA6ICdyYmQnOwogCXB1c2ggJGNtZC0+QCosICctcCcsICRw
b29sOworCWlmIChkZWZpbmVkKCRzY2ZnLT57bmFtZXNwYWNlfSkpIHsKKwkgICAgcHVzaCBAJGNt
ZCwgJy0tbmFtZXNwYWNlJywgJGNmZy0+e25hbWVzcGFjZX07CisJfQogICAgIH0KIAotICAgIGlm
IChkZWZpbmVkKG15ICRuYW1lc3BhY2UgPSAkc2NmZy0+e25hbWVzcGFjZX0pKSB7Ci0JIyBzb21l
IHN1YmNvbW1hbmRzIHdpbGwgZmFpbCBpZiB0aGUgLS1uYW1lc3BhY2UgcGFyYW1ldGVyIGlzIHBy
ZXNlbnQKLQlteSAkbm9fbmFtZXNwYWNlX3BhcmFtZXRlciA9IHsKLQkgICAgdW5tYXAgPT4gMSwK
LQl9OwotCXB1c2ggQCRjbWQsICctLW5hbWVzcGFjZScsICIkbmFtZXNwYWNlIiBpZiAhJG5vX25h
bWVzcGFjZV9wYXJhbWV0ZXItPnskb3B9OwotICAgIH0KICAgICBwdXNoIEAkY21kLCAnLWMnLCAk
Y21kX29wdGlvbi0+e2NlcGhfY29uZn0gaWYgKCRjbWRfb3B0aW9uLT57Y2VwaF9jb25mfSk7CiAg
ICAgcHVzaCBAJGNtZCwgJy1tJywgJGNtZF9vcHRpb24tPnttb25faG9zdH0gaWYgKCRjbWRfb3B0
aW9uLT57bW9uX2hvc3R9KTsKICAgICBwdXNoIEAkY21kLCAnLS1hdXRoX3N1cHBvcnRlZCcsICRj
bWRfb3B0aW9uLT57YXV0aF9zdXBwb3J0ZWR9IGlmICgkY21kX29wdGlvbi0+e2F1dGhfc3VwcG9y
dGVkfSk7CkBAIC0xNDQsOSArMTM5LDExIEBAIG15ICRrcmJkX2ZlYXR1cmVfdXBkYXRlID0gc3Vi
IHsKICAgICBteSAkdG9fZGlzYWJsZSA9IGpvaW4oJywnLCBncmVwIHsgICRhY3RpdmVfZmVhdHVy
ZXMtPnskX30gfSBAZGlzYWJsZSk7CiAgICAgbXkgJHRvX2VuYWJsZSAgPSBqb2luKCcsJywgZ3Jl
cCB7ICEkYWN0aXZlX2ZlYXR1cmVzLT57JF99IH0gQGVuYWJsZSApOwogCisgICAgbXkgJGltYWdl
X3NwZWMgPSBnZXRfcmJkX3BhdGgoJHNjZmcsICRuYW1lKTsKKwogICAgIGlmICgkdG9fZGlzYWJs
ZSkgewogCXByaW50ICJkaXNhYmxlIFJCRCBpbWFnZSBmZWF0dXJlcyB0aGlzIGtlcm5lbCBSQkQg
ZHJpdmVycyBpcyBub3QgY29tcGF0aWJsZSB3aXRoOiAkdG9fZGlzYWJsZVxuIjsKLQlteSAkY21k
ID0gJHJiZF9jbWQtPigkc2NmZywgJHN0b3JlaWQsICdmZWF0dXJlJywgJ2Rpc2FibGUnLCAkbmFt
ZSwgJHRvX2Rpc2FibGUpOworCW15ICRjbWQgPSAkcmJkX2NtZC0+KCRzY2ZnLCAkc3RvcmVpZCwg
J2ZlYXR1cmUnLCAnZGlzYWJsZScsICRpbWFnZV9zcGVjLCAkdG9fZGlzYWJsZSk7CiAJcnVuX3Ji
ZF9jb21tYW5kKAogCSAgICAkY21kLAogCSAgICBlcnJtc2cgPT4gImNvdWxkIG5vdCBkaXNhYmxl
IGtyYmQtaW5jb21wYXRpYmxlIGltYWdlIGZlYXR1cmVzICckdG9fZGlzYWJsZScgZm9yIHJiZCBp
bWFnZTogJG5hbWUiLApAQCAtMTU1LDcgKzE1Miw3IEBAIG15ICRrcmJkX2ZlYXR1cmVfdXBkYXRl
ID0gc3ViIHsKICAgICBpZiAoJHRvX2VuYWJsZSkgewogCXByaW50ICJlbmFibGUgUkJEIGltYWdl
IGZlYXR1cmVzIHRoaXMga2VybmVsIFJCRCBkcml2ZXJzIHN1cHBvcnRzOiAkdG9fZW5hYmxlXG4i
OwogCWV2YWwgewotCSAgICBteSAkY21kID0gJHJiZF9jbWQtPigkc2NmZywgJHN0b3JlaWQsICdm
ZWF0dXJlJywgJ2VuYWJsZScsICRuYW1lLCAkdG9fZW5hYmxlKTsKKwkgICAgbXkgJGNtZCA9ICRy
YmRfY21kLT4oJHNjZmcsICRzdG9yZWlkLCAnZmVhdHVyZScsICdlbmFibGUnLCAkaW1hZ2Vfc3Bl
YywgJHRvX2VuYWJsZSk7CiAJICAgIHJ1bl9yYmRfY29tbWFuZCgKIAkJJGNtZCwKIAkJZXJybXNn
ID0+ICJjb3VsZCBub3QgZW5hYmxlIGtyYmQtY29tcGF0aWJsZSBpbWFnZSBmZWF0dXJlcyAnJHRv
X2VuYWJsZScgZm9yIHJiZCBpbWFnZTogJG5hbWUiLApAQCAtMjM0LDkgKzIzMSw5IEBAIHN1YiBy
YmRfbHMgewogfQogCiBzdWIgcmJkX2xzX3NuYXAgewotICAgIG15ICgkc2NmZywgJHN0b3JlaWQs
ICRuYW1lKSA9IEBfOworICAgIG15ICgkc2NmZywgJHN0b3JlaWQsICRpbWFnZV9zcGVjKSA9IEBf
OwogCi0gICAgbXkgJGNtZCA9ICRyYmRfY21kLT4oJHNjZmcsICRzdG9yZWlkLCAnc25hcCcsICds
cycsICRuYW1lLCAnLS1mb3JtYXQnLCAnanNvbicpOworICAgIG15ICRjbWQgPSAkcmJkX2NtZC0+
KCRzY2ZnLCAkc3RvcmVpZCwgJ3NuYXAnLCAnbHMnLCAkaW1hZ2Vfc3BlYywgJy0tZm9ybWF0Jywg
J2pzb24nKTsKIAogICAgIG15ICRyYXcgPSAnJzsKICAgICBydW5fcmJkX2NvbW1hbmQoJGNtZCwg
ZXJybXNnID0+ICJyYmQgZXJyb3IiLCBlcnJmdW5jID0+IHN1YiB7fSwgb3V0ZnVuYyA9PiBzdWIg
eyAkcmF3IC49IHNoaWZ0OyB9KTsKQEAgLTI0NCw5ICsyNDEsOSBAQCBzdWIgcmJkX2xzX3NuYXAg
ewogICAgIG15ICRsaXN0OwogICAgIGlmICgkcmF3ID1+IG0vXihcWy4qXF0pJC9zKSB7ICMgdW50
YWludAogCSRsaXN0ID0gZXZhbCB7IEpTT046OmRlY29kZV9qc29uKCQxKSB9OwotCWRpZSAiaW52
YWxpZCBKU09OIG91dHB1dCBmcm9tICdyYmQgc25hcCBscyAkbmFtZSc6ICRAXG4iIGlmICRAOwor
CWRpZSAiaW52YWxpZCBKU09OIG91dHB1dCBmcm9tICdyYmQgc25hcCBscyAkaW1hZ2Vfc3BlYyc6
ICRAXG4iIGlmICRAOwogICAgIH0gZWxzZSB7Ci0JZGllICJnb3QgdW5leHBlY3RlZCBkYXRhIGZy
b20gJ3JiZCBzbmFwIGxzICRuYW1lJzogJyRyYXcnXG4iOworCWRpZSAiZ290IHVuZXhwZWN0ZWQg
ZGF0YSBmcm9tICdyYmQgc25hcCBscyAkaW1hZ2Vfc3BlYyc6ICckcmF3J1xuIjsKICAgICB9CiAK
ICAgICAkbGlzdCA9IFtdIGlmICFkZWZpbmVkKCRsaXN0KTsKQEAgLTI2OSwxMSArMjY2LDkgQEAg
c3ViIHJiZF92b2x1bWVfaW5mbyB7CiAgICAgbXkgKCRzY2ZnLCAkc3RvcmVpZCwgJHZvbG5hbWUs
ICRzbmFwKSA9IEBfOwogCiAgICAgbXkgJGNtZCA9IHVuZGVmOworICAgIG15ICRzcGVjID0gZ2V0
X3JiZF9wYXRoKCRzY2ZnLCAkdm9sbmFtZSwgJHNuYXApOwogCi0gICAgbXkgQG9wdGlvbnMgPSAo
J2luZm8nLCAkdm9sbmFtZSwgJy0tZm9ybWF0JywgJ2pzb24nKTsKLSAgICBpZiAoJHNuYXApIHsK
LQlwdXNoIEBvcHRpb25zLCAnLS1zbmFwJywgJHNuYXA7Ci0gICAgfQorICAgIG15IEBvcHRpb25z
ID0gKCdpbmZvJywgJHNwZWMsICctLWZvcm1hdCcsICdqc29uJyk7CiAKICAgICAkY21kID0gJHJi
ZF9jbWQtPigkc2NmZywgJHN0b3JlaWQsIEBvcHRpb25zKTsKIApAQCAtMzAwLDcgKzI5NSw4IEBA
IHN1YiByYmRfdm9sdW1lX2luZm8gewogc3ViIHJiZF92b2x1bWVfZHUgewogICAgIG15ICgkc2Nm
ZywgJHN0b3JlaWQsICR2b2xuYW1lKSA9IEBfOwogCi0gICAgbXkgQG9wdGlvbnMgPSAoJ2R1Jywg
JHZvbG5hbWUsICctLWZvcm1hdCcsICdqc29uJyk7CisgICAgbXkgJHNwZWMgPSBnZXRfcmJkX3Bh
dGgoJHNjZmcsICR2b2xuYW1lKTsKKyAgICBteSBAb3B0aW9ucyA9ICgnZHUnLCAkc3BlYywgJy0t
Zm9ybWF0JywgJ2pzb24nKTsKICAgICBteSAkY21kID0gJHJiZF9jbWQtPigkc2NmZywgJHN0b3Jl
aWQsIEBvcHRpb25zKTsKIAogICAgIG15ICRyYXcgPSAnJzsKQEAgLTQ3MSwxNCArNDY3LDEzIEBA
IHN1YiBwYXRoIHsKIAogICAgIG15ICRjbWRfb3B0aW9uID0gUFZFOjpDZXBoQ29uZmlnOjpjZXBo
X2Nvbm5lY3Rfb3B0aW9uKCRzY2ZnLCAkc3RvcmVpZCk7CiAgICAgbXkgKCR2dHlwZSwgJG5hbWUs
ICR2bWlkKSA9ICRjbGFzcy0+cGFyc2Vfdm9sbmFtZSgkdm9sbmFtZSk7Ci0gICAgJG5hbWUgLj0g
J0AnLiRzbmFwbmFtZSBpZiAkc25hcG5hbWU7CiAKICAgICBpZiAoJHNjZmctPntrcmJkfSkgewot
CW15ICRyYmRfZGV2X3BhdGggPSBnZXRfcmJkX2Rldl9wYXRoKCRzY2ZnLCAkc3RvcmVpZCwgJG5h
bWUpOworCW15ICRyYmRfZGV2X3BhdGggPSBnZXRfcmJkX2Rldl9wYXRoKCRzY2ZnLCAkc3RvcmVp
ZCwgJG5hbWUsICRzbmFwbmFtZSk7CiAJcmV0dXJuICgkcmJkX2Rldl9wYXRoLCAkdm1pZCwgJHZ0
eXBlKTsKICAgICB9CiAKLSAgICBteSAkcmJkX3BhdGggPSBnZXRfcmJkX3BhdGgoJHNjZmcsICRu
YW1lKTsKKyAgICBteSAkcmJkX3BhdGggPSBnZXRfcmJkX3BhdGgoJHNjZmcsICRuYW1lLCAkc25h
cG5hbWUpOwogICAgIG15ICRwYXRoID0gInJiZDoke3JiZF9wYXRofSI7CiAKICAgICAkcGF0aCAu
PSAiOmNvbmY9JGNtZF9vcHRpb24tPntjZXBoX2NvbmZ9IiBpZiAkY21kX29wdGlvbi0+e2NlcGhf
Y29uZn07CkBAIC01NjAsOCArNTU1LDkgQEAgc3ViIGNyZWF0ZV9iYXNlIHsKICAgICBteSAodW5k
ZWYsIHVuZGVmLCB1bmRlZiwgJHByb3RlY3RlZCkgPSByYmRfdm9sdW1lX2luZm8oJHNjZmcsICRz
dG9yZWlkLCAkbmV3bmFtZSwgJHNuYXApOwogCiAgICAgaWYgKCEkcHJvdGVjdGVkKXsKLQlteSAk
Y21kID0gJHJiZF9jbWQtPigkc2NmZywgJHN0b3JlaWQsICdzbmFwJywgJ3Byb3RlY3QnLCAkbmV3
bmFtZSwgJy0tc25hcCcsICRzbmFwKTsKLQlydW5fcmJkX2NvbW1hbmQoJGNtZCwgZXJybXNnID0+
ICJyYmQgcHJvdGVjdCAkbmV3bmFtZSBzbmFwICckc25hcCcgZXJyb3IiKTsKKwlteSAkc25hcF9z
cGVjID0gZ2V0X3JiZF9wYXRoKCRzY2ZnLCAkbmV3bmFtZSwgJHNuYXApOworCW15ICRjbWQgPSAk
cmJkX2NtZC0+KCRzY2ZnLCAkc3RvcmVpZCwgJ3NuYXAnLCAncHJvdGVjdCcsICRzbmFwX3NwZWMp
OworCXJ1bl9yYmRfY29tbWFuZCgkY21kLCBlcnJtc2cgPT4gInJiZCBwcm90ZWN0ICckc25hcF9z
cGVjJyBlcnJvciIpOwogICAgIH0KIAogICAgIHJldHVybiAkbmV3dm9sbmFtZTsKQEAgLTU4OCw4
ICs1ODQsOSBAQCBzdWIgY2xvbmVfaW1hZ2UgewogCW15ICh1bmRlZiwgdW5kZWYsIHVuZGVmLCAk
cHJvdGVjdGVkKSA9IHJiZF92b2x1bWVfaW5mbygkc2NmZywgJHN0b3JlaWQsICR2b2xuYW1lLCAk
c25hcG5hbWUpOwogCiAJaWYgKCEkcHJvdGVjdGVkKSB7Ci0JICAgIG15ICRjbWQgPSAkcmJkX2Nt
ZC0+KCRzY2ZnLCAkc3RvcmVpZCwgJ3NuYXAnLCAncHJvdGVjdCcsICR2b2xuYW1lLCAnLS1zbmFw
JywgJHNuYXBuYW1lKTsKLQkgICAgcnVuX3JiZF9jb21tYW5kKCRjbWQsIGVycm1zZyA9PiAicmJk
IHByb3RlY3QgJHZvbG5hbWUgc25hcCAkc25hcG5hbWUgZXJyb3IiKTsKKwkgICAgbXkgJHNuYXBf
c3BlYyA9IGdldF9yYmRfcGF0aCgkc2NmZywgJHZvbG5hbWUsICRzbmFwbmFtZSk7CisJICAgIG15
ICRjbWQgPSAkcmJkX2NtZC0+KCRzY2ZnLCAkc3RvcmVpZCwgJ3NuYXAnLCAncHJvdGVjdCcsICRz
bmFwX3NwZWMpOworCSAgICBydW5fcmJkX2NvbW1hbmQoJGNtZCwgZXJybXNnID0+ICJyYmQgcHJv
dGVjdCAnJHNuYXBfc3BlYycgZXJyb3IiKTsKIAl9CiAgICAgfQogCkBAIC01OTcsOCArNTk0LDcg
QEAgc3ViIGNsb25lX2ltYWdlIHsKICAgICAkbmV3dm9sID0gJG5hbWUgaWYgbGVuZ3RoKCRzbmFw
bmFtZSk7CiAKICAgICBteSBAb3B0aW9ucyA9ICgKLQlnZXRfcmJkX3BhdGgoJHNjZmcsICRiYXNl
bmFtZSksCi0JJy0tc25hcCcsICRzbmFwLAorCWdldF9yYmRfcGF0aCgkc2NmZywgJGJhc2VuYW1l
LCAkc25hcCksCiAgICAgKTsKICAgICBwdXNoIEBvcHRpb25zLCAoJy0tZGF0YS1wb29sJywgJHNj
ZmctPnsnZGF0YS1wb29sJ30pIGlmICRzY2ZnLT57J2RhdGEtcG9vbCd9OwogCkBAIC02MjMsNyAr
NjE5LDcgQEAgc3ViIGFsbG9jX2ltYWdlIHsKICAgICApOwogICAgIHB1c2ggQG9wdGlvbnMsICgn
LS1kYXRhLXBvb2wnLCAkc2NmZy0+eydkYXRhLXBvb2wnfSkgaWYgJHNjZmctPnsnZGF0YS1wb29s
J307CiAKLSAgICBteSAkY21kID0gJHJiZF9jbWQtPigkc2NmZywgJHN0b3JlaWQsICdjcmVhdGUn
LCBAb3B0aW9ucywgJG5hbWUpOworICAgIG15ICRjbWQgPSAkcmJkX2NtZC0+KCRzY2ZnLCAkc3Rv
cmVpZCwgJ2NyZWF0ZScsIEBvcHRpb25zLCBnZXRfcmJkX3BhdGgoJHNjZmcsICRuYW1lKSk7CiAg
ICAgcnVuX3JiZF9jb21tYW5kKCRjbWQsIGVycm1zZyA9PiAicmJkIGNyZWF0ZSAnJG5hbWUnIGVy
cm9yIik7CiAKICAgICByZXR1cm4gJG5hbWU7CkBAIC02MzUsMjIgKzYzMSwyMyBAQCBzdWIgZnJl
ZV9pbWFnZSB7CiAgICAgbXkgKCR2dHlwZSwgJG5hbWUsICR2bWlkLCB1bmRlZiwgdW5kZWYsIHVu
ZGVmKSA9CiAJJGNsYXNzLT5wYXJzZV92b2xuYW1lKCR2b2xuYW1lKTsKIAotCi0gICAgbXkgJHNu
YXBzID0gcmJkX2xzX3NuYXAoJHNjZmcsICRzdG9yZWlkLCAkbmFtZSk7CisgICAgbXkgJGltYWdl
X3NwZWMgPSBnZXRfcmJkX3BhdGgoJHNjZmcsICRuYW1lKTsKKyAgICBteSAkc25hcHMgPSByYmRf
bHNfc25hcCgkc2NmZywgJHN0b3JlaWQsICRpbWFnZV9zcGVjKTsKICAgICBmb3JlYWNoIG15ICRz
bmFwIChrZXlzICUkc25hcHMpIHsKIAlpZiAoJHNuYXBzLT57JHNuYXB9LT57cHJvdGVjdGVkfSkg
ewotCSAgICBteSAkY21kID0gJHJiZF9jbWQtPigkc2NmZywgJHN0b3JlaWQsICdzbmFwJywgJ3Vu
cHJvdGVjdCcsICRuYW1lLCAnLS1zbmFwJywgJHNuYXApOwotCSAgICBydW5fcmJkX2NvbW1hbmQo
JGNtZCwgZXJybXNnID0+ICJyYmQgdW5wcm90ZWN0ICRuYW1lIHNuYXAgJyRzbmFwJyBlcnJvciIp
OworCSAgICBteSAkc25hcF9zcGVjID0gZ2V0X3JiZF9wYXRoKCRzY2ZnLCAkbmFtZSwgJHNuYXAp
OworCSAgICBteSAkY21kID0gJHJiZF9jbWQtPigkc2NmZywgJHN0b3JlaWQsICdzbmFwJywgJ3Vu
cHJvdGVjdCcsICRzbmFwX3NwZWMpOworCSAgICBydW5fcmJkX2NvbW1hbmQoJGNtZCwgZXJybXNn
ID0+ICJyYmQgdW5wcm90ZWN0ICRzbmFwX3NwZWMgZXJyb3IiKTsKIAl9CiAgICAgfQogCiAgICAg
JGNsYXNzLT5kZWFjdGl2YXRlX3ZvbHVtZSgkc3RvcmVpZCwgJHNjZmcsICR2b2xuYW1lKTsKIAot
ICAgIG15ICRjbWQgPSAkcmJkX2NtZC0+KCRzY2ZnLCAkc3RvcmVpZCwgJ3NuYXAnLCAncHVyZ2Un
LCAgJG5hbWUpOwotICAgIHJ1bl9yYmRfY29tbWFuZCgkY21kLCBlcnJtc2cgPT4gInJiZCBzbmFw
IHB1cmdlICckbmFtZScgZXJyb3IiKTsKKyAgICBteSAkY21kID0gJHJiZF9jbWQtPigkc2NmZywg
JHN0b3JlaWQsICdzbmFwJywgJ3B1cmdlJywgICRpbWFnZV9zcGVjKTsKKyAgICBydW5fcmJkX2Nv
bW1hbmQoJGNtZCwgZXJybXNnID0+ICJyYmQgc25hcCBwdXJnZSAnJGltYWdlX3NwZWMnIGVycm9y
Iik7CiAKLSAgICAkY21kID0gJHJiZF9jbWQtPigkc2NmZywgJHN0b3JlaWQsICdybScsICRuYW1l
KTsKLSAgICBydW5fcmJkX2NvbW1hbmQoJGNtZCwgZXJybXNnID0+ICJyYmQgcm0gJyRuYW1lJyBl
cnJvciIpOworICAgICRjbWQgPSAkcmJkX2NtZC0+KCRzY2ZnLCAkc3RvcmVpZCwgJ3JtJywgJGlt
YWdlX3NwZWMpOworICAgIHJ1bl9yYmRfY29tbWFuZCgkY21kLCBlcnJtc2cgPT4gInJiZCBybSAn
JGltYWdlX3NwZWMnIGVycm9yIik7CiAKICAgICByZXR1cm4gdW5kZWY7CiB9CkBAIC03MjUsMjAg
KzcyMiwxOCBAQCBzdWIgZGVhY3RpdmF0ZV9zdG9yYWdlIHsKIHN1YiBtYXBfdm9sdW1lIHsKICAg
ICBteSAoJGNsYXNzLCAkc3RvcmVpZCwgJHNjZmcsICR2b2xuYW1lLCAkc25hcG5hbWUpID0gQF87
CiAKLSAgICBteSAoJHZ0eXBlLCAkaW1nX25hbWUsICR2bWlkKSA9ICRjbGFzcy0+cGFyc2Vfdm9s
bmFtZSgkdm9sbmFtZSk7CisgICAgbXkgKCR2dHlwZSwgJG5hbWUsICR2bWlkKSA9ICRjbGFzcy0+
cGFyc2Vfdm9sbmFtZSgkdm9sbmFtZSk7CiAKLSAgICBteSAkbmFtZSA9ICRpbWdfbmFtZTsKLSAg
ICAkbmFtZSAuPSAnQCcuJHNuYXBuYW1lIGlmICRzbmFwbmFtZTsKLQotICAgIG15ICRrZXJuZWxk
ZXYgPSBnZXRfcmJkX2Rldl9wYXRoKCRzY2ZnLCAkc3RvcmVpZCwgJG5hbWUpOworICAgIG15ICRr
ZXJuZWxkZXYgPSBnZXRfcmJkX2Rldl9wYXRoKCRzY2ZnLCAkc3RvcmVpZCwgJG5hbWUsICRzbmFw
bmFtZSk7CiAKICAgICByZXR1cm4gJGtlcm5lbGRldiBpZiAtYiAka2VybmVsZGV2OyAjIGFscmVh
ZHkgbWFwcGVkCiAKICAgICAjIGZlYXR1cmVzIGNhbiBvbmx5IGJlIGVuYWJsZWQvZGlzYWJsZWQg
Zm9yIGltYWdlLCBub3QgZm9yIHNuYXBzaG90IQotICAgICRrcmJkX2ZlYXR1cmVfdXBkYXRlLT4o
JHNjZmcsICRzdG9yZWlkLCAkaW1nX25hbWUpOworICAgICRrcmJkX2ZlYXR1cmVfdXBkYXRlLT4o
JHNjZmcsICRzdG9yZWlkLCAkbmFtZSk7CiAKLSAgICBteSAkY21kID0gJHJiZF9jbWQtPigkc2Nm
ZywgJHN0b3JlaWQsICdtYXAnLCAkbmFtZSk7Ci0gICAgcnVuX3JiZF9jb21tYW5kKCRjbWQsIGVy
cm1zZyA9PiAiY2FuJ3QgbWFwIHJiZCB2b2x1bWUgJG5hbWUiKTsKKyAgICBteSAkc3BlYyA9IGdl
dF9yYmRfcGF0aCgkc2NmZywgJG5hbWUsICRzbmFwbmFtZSk7CisgICAgbXkgJGNtZCA9ICRyYmRf
Y21kLT4oJHNjZmcsICRzdG9yZWlkLCAnbWFwJywgJHNwZWMpOworICAgIHJ1bl9yYmRfY29tbWFu
ZCgkY21kLCBlcnJtc2cgPT4gImNhbid0IG1hcCByYmQgdm9sdW1lICckc3BlYyciKTsKIAogICAg
IHJldHVybiAka2VybmVsZGV2OwogfQpAQCAtNzQ3LDkgKzc0Miw4IEBAIHN1YiB1bm1hcF92b2x1
bWUgewogICAgIG15ICgkY2xhc3MsICRzdG9yZWlkLCAkc2NmZywgJHZvbG5hbWUsICRzbmFwbmFt
ZSkgPSBAXzsKIAogICAgIG15ICgkdnR5cGUsICRuYW1lLCAkdm1pZCkgPSAkY2xhc3MtPnBhcnNl
X3ZvbG5hbWUoJHZvbG5hbWUpOwotICAgICRuYW1lIC49ICdAJy4kc25hcG5hbWUgaWYgJHNuYXBu
YW1lOwogCi0gICAgbXkgJGtlcm5lbGRldiA9IGdldF9yYmRfZGV2X3BhdGgoJHNjZmcsICRzdG9y
ZWlkLCAkbmFtZSk7CisgICAgbXkgJGtlcm5lbGRldiA9IGdldF9yYmRfZGV2X3BhdGgoJHNjZmcs
ICRzdG9yZWlkLCAkbmFtZSwgJHNuYXBuYW1lKTsKIAogICAgIGlmICgtYiAka2VybmVsZGV2KSB7
CiAJbXkgJGNtZCA9ICRyYmRfY21kLT4oJHNjZmcsICRzdG9yZWlkLCAndW5tYXAnLCAka2VybmVs
ZGV2KTsKQEAgLTc5MSw4ICs3ODUsMTAgQEAgc3ViIHZvbHVtZV9yZXNpemUgewogCiAgICAgbXkg
KCR2dHlwZSwgJG5hbWUsICR2bWlkKSA9ICRjbGFzcy0+cGFyc2Vfdm9sbmFtZSgkdm9sbmFtZSk7
CiAKLSAgICBteSAkY21kID0gJHJiZF9jbWQtPigkc2NmZywgJHN0b3JlaWQsICdyZXNpemUnLCAn
LS1zaXplJywgaW50KGNlaWwoJHNpemUvMTAyNC8xMDI0KSksICRuYW1lKTsKLSAgICBydW5fcmJk
X2NvbW1hbmQoJGNtZCwgZXJybXNnID0+ICJyYmQgcmVzaXplICckdm9sbmFtZScgZXJyb3IiKTsK
KyAgICBteSAkaW1hZ2Vfc3BlYyA9IGdldF9yYmRfcGF0aCgkc2NmZywgJHZvbG5hbWUpOworICAg
ICRzaXplID0gaW50KGNlaWwoJHNpemUvMTAyNC8xMDI0KSk7CisgICAgbXkgJGNtZCA9ICRyYmRf
Y21kLT4oJHNjZmcsICRzdG9yZWlkLCAncmVzaXplJywgJy0tc2l6ZScsICRzaXplLCAkaW1hZ2Vf
c3BlYyk7CisgICAgcnVuX3JiZF9jb21tYW5kKCRjbWQsIGVycm1zZyA9PiAicmJkIHJlc2l6ZSAn
JGltYWdlX3NwZWMnIGVycm9yIik7CiAgICAgcmV0dXJuIHVuZGVmOwogfQogCkBAIC04MDEsOCAr
Nzk3LDkgQEAgc3ViIHZvbHVtZV9zbmFwc2hvdCB7CiAKICAgICBteSAoJHZ0eXBlLCAkbmFtZSwg
JHZtaWQpID0gJGNsYXNzLT5wYXJzZV92b2xuYW1lKCR2b2xuYW1lKTsKIAotICAgIG15ICRjbWQg
PSAkcmJkX2NtZC0+KCRzY2ZnLCAkc3RvcmVpZCwgJ3NuYXAnLCAnY3JlYXRlJywgJy0tc25hcCcs
ICRzbmFwLCAkbmFtZSk7Ci0gICAgcnVuX3JiZF9jb21tYW5kKCRjbWQsIGVycm1zZyA9PiAicmJk
IHNuYXBzaG90ICckdm9sbmFtZScgZXJyb3IiKTsKKyAgICBteSAkc25hcF9zcGVjID0gZ2V0X3Ji
ZF9wYXRoKCRzY2ZnLCAkbmFtZSwgJHNuYXApOworICAgIG15ICRjbWQgPSAkcmJkX2NtZC0+KCRz
Y2ZnLCAkc3RvcmVpZCwgJ3NuYXAnLCAnY3JlYXRlJywgJHNuYXBfc3BlYyk7CisgICAgcnVuX3Ji
ZF9jb21tYW5kKCRjbWQsIGVycm1zZyA9PiAicmJkIHNuYXBzaG90ICckc25hcF9zcGVjJyBlcnJv
ciIpOwogICAgIHJldHVybiB1bmRlZjsKIH0KIApAQCAtODExLDggKzgwOCw5IEBAIHN1YiB2b2x1
bWVfc25hcHNob3Rfcm9sbGJhY2sgewogCiAgICAgbXkgKCR2dHlwZSwgJG5hbWUsICR2bWlkKSA9
ICRjbGFzcy0+cGFyc2Vfdm9sbmFtZSgkdm9sbmFtZSk7CiAKLSAgICBteSAkY21kID0gJHJiZF9j
bWQtPigkc2NmZywgJHN0b3JlaWQsICdzbmFwJywgJ3JvbGxiYWNrJywgJy0tc25hcCcsICRzbmFw
LCAkbmFtZSk7Ci0gICAgcnVuX3JiZF9jb21tYW5kKCRjbWQsIGVycm1zZyA9PiAicmJkIHNuYXBz
aG90ICR2b2xuYW1lIHRvICckc25hcCcgZXJyb3IiKTsKKyAgICBteSAkc25hcF9zcGVjID0gZ2V0
X3JiZF9wYXRoKCRzY2ZnLCAkbmFtZSwgJHNuYXApOworICAgIG15ICRjbWQgPSAkcmJkX2NtZC0+
KCRzY2ZnLCAkc3RvcmVpZCwgJ3NuYXAnLCAncm9sbGJhY2snLCAkc25hcF9zcGVjKTsKKyAgICBy
dW5fcmJkX2NvbW1hbmQoJGNtZCwgZXJybXNnID0+ICJyYmQgc25hcHNob3Qgcm9sbGJhY2sgdG8g
JyRzbmFwX3NwZWMnIGVycm9yIik7CiB9CiAKIHN1YiB2b2x1bWVfc25hcHNob3RfZGVsZXRlIHsK
QEAgLTgyMywxNCArODIxLDE2IEBAIHN1YiB2b2x1bWVfc25hcHNob3RfZGVsZXRlIHsKICAgICBt
eSAoJHZ0eXBlLCAkbmFtZSwgJHZtaWQpID0gJGNsYXNzLT5wYXJzZV92b2xuYW1lKCR2b2xuYW1l
KTsKIAogICAgIG15ICh1bmRlZiwgdW5kZWYsIHVuZGVmLCAkcHJvdGVjdGVkKSA9IHJiZF92b2x1
bWVfaW5mbygkc2NmZywgJHN0b3JlaWQsICRuYW1lLCAkc25hcCk7CisgICAgbXkgJHNuYXBfc3Bl
YyA9IGdldF9yYmRfcGF0aCgkc2NmZywgJHZvbG5hbWUsICRzbmFwKTsKKwogICAgIGlmICgkcHJv
dGVjdGVkKXsKLQlteSAkY21kID0gJHJiZF9jbWQtPigkc2NmZywgJHN0b3JlaWQsICdzbmFwJywg
J3VucHJvdGVjdCcsICRuYW1lLCAnLS1zbmFwJywgJHNuYXApOwotCXJ1bl9yYmRfY29tbWFuZCgk
Y21kLCBlcnJtc2cgPT4gInJiZCB1bnByb3RlY3QgJG5hbWUgc25hcCAnJHNuYXAnIGVycm9yIik7
CisJbXkgJGNtZCA9ICRyYmRfY21kLT4oJHNjZmcsICRzdG9yZWlkLCAnc25hcCcsICd1bnByb3Rl
Y3QnLCAkc25hcF9zcGVjKTsKKwlydW5fcmJkX2NvbW1hbmQoJGNtZCwgZXJybXNnID0+ICJyYmQg
dW5wcm90ZWN0ICckc25hcF9zcGVjJyBlcnJvciIpOwogICAgIH0KIAotICAgIG15ICRjbWQgPSAk
cmJkX2NtZC0+KCRzY2ZnLCAkc3RvcmVpZCwgJ3NuYXAnLCAncm0nLCAnLS1zbmFwJywgJHNuYXAs
ICRuYW1lKTsKKyAgICBteSAkY21kID0gJHJiZF9jbWQtPigkc2NmZywgJHN0b3JlaWQsICdzbmFw
JywgJ3JtJywgJHNuYXBfc3BlYyk7CiAKLSAgICBydW5fcmJkX2NvbW1hbmQoJGNtZCwgZXJybXNn
ID0+ICJyYmQgc25hcHNob3QgJyR2b2xuYW1lJyBlcnJvciIpOworICAgIHJ1bl9yYmRfY29tbWFu
ZCgkY21kLCBlcnJtc2cgPT4gInJiZCBzbmFwc2hvdCBkZWxldGUgJyRzbmFwX3NwZWMnIGVycm9y
Iik7CiAKICAgICByZXR1cm4gdW5kZWY7CiB9CkBAIC04OTAsNyArODkwLDkgQEAgc3ViIHZvbHVt
ZV9leHBvcnQgewogCiAgICAgbXkgKCRzaXplKSA9ICRjbGFzcy0+dm9sdW1lX3NpemVfaW5mbygk
c2NmZywgJHN0b3JlaWQsICR2b2xuYW1lKTsKICAgICBQVkU6OlN0b3JhZ2U6OlBsdWdpbjo6d3Jp
dGVfY29tbW9uX2hlYWRlcigkZmgsICRzaXplKTsKLSAgICBteSAkY21kID0gJHJiZF9jbWQtPigk
c2NmZywgJHN0b3JlaWQsICdleHBvcnQnLCAnLS1leHBvcnQtZm9ybWF0JywgJzEnLCAkdm9sbmFt
ZSwgJy0nKTsKKworICAgIG15ICRzbmFwX3NwZWMgPSBnZXRfcmJkX3BhdGgoJHNjZmcsICR2b2xu
YW1lLCAkc25hcHNob3QpOworICAgIG15ICRjbWQgPSAkcmJkX2NtZC0+KCRzY2ZnLCAkc3RvcmVp
ZCwgJ2V4cG9ydCcsICctLWV4cG9ydC1mb3JtYXQnLCAnMScsICRzbmFwX3NwZWMsICctJyk7CiAg
ICAgcnVuX3JiZF9jb21tYW5kKAogCSRjbWQsCiAJZXJybXNnID0+ICdjb3VsZCBub3QgZXhwb3J0
IGltYWdlJywKQEAgLTkzOCw4ICs5NDAsOSBAQCBzdWIgdm9sdW1lX2ltcG9ydCB7CiAgICAgbXkg
KCRzaXplKSA9IFBWRTo6U3RvcmFnZTo6UGx1Z2luOjpyZWFkX2NvbW1vbl9oZWFkZXIoJGZoKTsK
ICAgICAkc2l6ZSA9IFBWRTo6U3RvcmFnZTo6Q29tbW9uOjphbGlnbl9zaXplX3VwKCRzaXplLCAx
MDI0KSAvIDEwMjQ7CiAKKyAgICBteSAkaW1hZ2Vfc3BlYyA9IGdldF9yYmRfcGF0aCgkc2NmZywg
JHZvbG5hbWUpOwogICAgIGV2YWwgewotCW15ICRjbWQgPSAkcmJkX2NtZC0+KCRzY2ZnLCAkc3Rv
cmVpZCwgJ2ltcG9ydCcsICctLWV4cG9ydC1mb3JtYXQnLCAnMScsICctJywgJHZvbG5hbWUpOwor
CW15ICRjbWQgPSAkcmJkX2NtZC0+KCRzY2ZnLCAkc3RvcmVpZCwgJ2ltcG9ydCcsICctLWV4cG9y
dC1mb3JtYXQnLCAnMScsICctJywgJGltYWdlX3NwZWMpOwogCXJ1bl9yYmRfY29tbWFuZCgKIAkg
ICAgJGNtZCwKIAkgICAgZXJybXNnID0+ICdjb3VsZCBub3QgaW1wb3J0IGltYWdlJywKQEAgLTk3
NiwxMSArOTc5LDEzIEBAIHN1YiByZW5hbWVfdm9sdW1lIHsKICAgICBkaWUgInRhcmdldCB2b2x1
bWUgJyR7dGFyZ2V0X3ZvbG5hbWV9JyBhbHJlYWR5IGV4aXN0c1xuIgogCWlmIHJiZF92b2x1bWVf
ZXhpc3RzKCRzY2ZnLCAkc3RvcmVpZCwgJHRhcmdldF92b2xuYW1lKTsKIAotICAgIG15ICRjbWQg
PSAkcmJkX2NtZC0+KCRzY2ZnLCAkc3RvcmVpZCwgJ3JlbmFtZScsICRzb3VyY2VfaW1hZ2UsICR0
YXJnZXRfdm9sbmFtZSk7CisgICAgbXkgJHNvdXJjZV9zcGVjID0gZ2V0X3JiZF9wYXRoKCRzY2Zn
LCAkc291cmNlX3ZvbG5hbWUpOworICAgIG15ICR0YXJnZXRfc3BlYyA9IGdldF9yYmRfcGF0aCgk
c2NmZywgJHRhcmdldF92b2xuYW1lKTsKKyAgICBteSAkY21kID0gJHJiZF9jbWQtPigkc2NmZywg
JHN0b3JlaWQsICdyZW5hbWUnLCAkc291cmNlX3NwZWMsICR0YXJnZXRfc3BlYyk7CiAKICAgICBy
dW5fcmJkX2NvbW1hbmQoCiAJJGNtZCwKLQllcnJtc2cgPT4gImNvdWxkIG5vdCByZW5hbWUgaW1h
Z2UgJyR7c291cmNlX2ltYWdlfScgdG8gJyR7dGFyZ2V0X3ZvbG5hbWV9JyIsCisJZXJybXNnID0+
ICJjb3VsZCBub3QgcmVuYW1lIGltYWdlICcke3NvdXJjZV9zcGVjfScgdG8gJyR7dGFyZ2V0X3Nw
ZWN9JyIsCiAgICAgKTsKIAogICAgIGV2YWwgeyAkY2xhc3MtPnVubWFwX3ZvbHVtZSgkc3RvcmVp
ZCwgJHNjZmcsICRzb3VyY2Vfdm9sbmFtZSk7IH07Ci0tIAoyLjM5LjUKCgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHZlLWRldmVsIG1haWxpbmcgbGlz
dApwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9j
Z2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsCg==