com php-langspec: Move echo and unset from intrinsics to statements: spec/00-specification-for-php.md spec/10-expressions.md spec/11-statements.md spec/19-grammar.md

[email protected] (Nikita Popov) Tue, 19 Sep 2017 09:35:44 +0000
Newsgroups php.standards.cvs
Message-ID <[email protected]>
--d059faa7bcd29f3b6ab2bbb1b4e3fa2ac836f03a
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Commit:    cbb78dacad82dfc11e12399ab076d023f8efea69=0AAuthor:    Nikita Pop=
ov <[email protected]>         Tue, 19 Sep 2017 11:35:44 +0200=0AParents:   57e=
9922e041babddc29de6fde7a45f6f7bf20573=0ABranches:  master=0A=0ALink:       =
http://git.php.net/?p=3Dphp-langspec.git;a=3Dcommitdiff;h=3Dcbb78dacad82dfc=
11e12399ab076d023f8efea69=0A=0ALog:=0AMove echo and unset from intrinsics t=
o statements=0A=0AChanged paths:=0A  M  spec/00-specification-for-php.md=0A=
  M  spec/10-expressions.md=0A  M  spec/11-statements.md=0A  M  spec/19-gra=
mmar.md=0A=0A
--d059faa7bcd29f3b6ab2bbb1b4e3fa2ac836f03a
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="diff_cbb78dacad82dfc11e12399ab076d023f8efea69.txt"

ZGlmZiAtLWdpdCBhL3NwZWMvMDAtc3BlY2lmaWNhdGlvbi1mb3ItcGhwLm1kIGIvc3BlYy8wMC1z
cGVjaWZpY2F0aW9uLWZvci1waHAubWQKaW5kZXggODkxY2M5ZS4uOTJiMjYxMiAxMDA2NDQKLS0t
IGEvc3BlYy8wMC1zcGVjaWZpY2F0aW9uLWZvci1waHAubWQKKysrIGIvc3BlYy8wMC1zcGVjaWZp
Y2F0aW9uLWZvci1waHAubWQKQEAgLTEwNSwxMyArMTA1LDExIEBAIGlzIGRpc3RyaWJ1dGVkIHdp
dGhvdXQgYW55IHdhcnJhbnR5LgogICAgIC0gW0xpdGVyYWxzXSgxMC1leHByZXNzaW9ucy5tZCNs
aXRlcmFscykKICAgICAtIFtJbnRyaW5zaWNzXSgxMC1leHByZXNzaW9ucy5tZCNpbnRyaW5zaWNz
KQogICAgICAgLSBbR2VuZXJhbF0oMTAtZXhwcmVzc2lvbnMubWQjZ2VuZXJhbC0yKQotICAgICAg
LSBbZWNob10oMTAtZXhwcmVzc2lvbnMubWQjZWNobykKICAgICAgIC0gW2VtcHR5XSgxMC1leHBy
ZXNzaW9ucy5tZCNlbXB0eSkKICAgICAgIC0gW2V2YWxdKDEwLWV4cHJlc3Npb25zLm1kI2V2YWwp
CiAgICAgICAtIFtleGl0L2RpZV0oMTAtZXhwcmVzc2lvbnMubWQjZXhpdGRpZSkKICAgICAgIC0g
W2lzc2V0XSgxMC1leHByZXNzaW9ucy5tZCNpc3NldCkKICAgICAgIC0gW3ByaW50XSgxMC1leHBy
ZXNzaW9ucy5tZCNwcmludCkKLSAgICAgIC0gW3Vuc2V0XSgxMC1leHByZXNzaW9ucy5tZCN1bnNl
dCkKICAgICAtIFtBbm9ueW1vdXMgRnVuY3Rpb24gQ3JlYXRpb25dKDEwLWV4cHJlc3Npb25zLm1k
I2Fub255bW91cy1mdW5jdGlvbi1jcmVhdGlvbikKICAgICAtIFtUaGUgYG5ld2AgT3BlcmF0b3Jd
KDEwLWV4cHJlc3Npb25zLm1kI3RoZS1uZXctb3BlcmF0b3IpCiAgICAgLSBbQXJyYXkgQ3JlYXRp
b24gT3BlcmF0b3JdKDEwLWV4cHJlc3Npb25zLm1kI2FycmF5LWNyZWF0aW9uLW9wZXJhdG9yKQpA
QCAtMTg1LDYgKzE4Myw4IEBAIGlzIGRpc3RyaWJ1dGVkIHdpdGhvdXQgYW55IHdhcnJhbnR5Lgog
ICAgIC0gW1RoZSBgdGhyb3dgIFN0YXRlbWVudF0oMTEtc3RhdGVtZW50cy5tZCN0aGUtdGhyb3ct
c3RhdGVtZW50KQogICAtIFtUaGUgYHRyeWAgU3RhdGVtZW50XSgxMS1zdGF0ZW1lbnRzLm1kI3Ro
ZS10cnktc3RhdGVtZW50KQogICAtIFtUaGUgYGRlY2xhcmVgIFN0YXRlbWVudF0oMTEtc3RhdGVt
ZW50cy5tZCN0aGUtZGVjbGFyZS1zdGF0ZW1lbnQpCisgIC0gW1RoZSBgZWNob2Agc3RhdGVtZW50
XSgxMS1zdGF0ZW1lbnRzLm1kI3RoZS1lY2hvLXN0YXRlbWVudCkKKyAgLSBbVGhlIGB1bnNldGAg
c3RhdGVtZW50XSgxMS1zdGF0ZW1lbnRzLm1kI3RoZS11bnNldC1zdGF0ZW1lbnQpCiAtIFtBcnJh
eXNdKDEyLWFycmF5cy5tZCNhcnJheXMpCiAgIC0gW0dlbmVyYWxdKDEyLWFycmF5cy5tZCNnZW5l
cmFsKQogICAtIFtBcnJheSBDcmVhdGlvbiBhbmQgSW5pdGlhbGl6YXRpb25dKDEyLWFycmF5cy5t
ZCNhcnJheS1jcmVhdGlvbi1hbmQtaW5pdGlhbGl6YXRpb24pCmRpZmYgLS1naXQgYS9zcGVjLzEw
LWV4cHJlc3Npb25zLm1kIGIvc3BlYy8xMC1leHByZXNzaW9ucy5tZAppbmRleCA4ZjExMTc3Li44
Y2YxYWU4IDEwMDY0NAotLS0gYS9zcGVjLzEwLWV4cHJlc3Npb25zLm1kCisrKyBiL3NwZWMvMTAt
ZXhwcmVzc2lvbnMubWQKQEAgLTMxNiwxNCArMzE2LDYgQEAgQSBsaXRlcmFsIGV2YWx1YXRlcyB0
byBpdHMgdmFsdWUsIGFzIHNwZWNpZmllZCBpbiB0aGUgbGV4aWNhbCBzcGVjaWZpY2F0aW9uIGZv
cgogKipTeW50YXgqKgogPCEtLSBHUkFNTUFSCiBpbnRyaW5zaWM6Ci0gIGludHJpbnNpYy1jb25z
dHJ1Y3QKLSAgaW50cmluc2ljLW9wZXJhdG9yCi0KLWludHJpbnNpYy1jb25zdHJ1Y3Q6Ci0gIGVj
aG8taW50cmluc2ljCi0gIHVuc2V0LWludHJpbnNpYwotCi1pbnRyaW5zaWMtb3BlcmF0b3I6CiAg
IGVtcHR5LWludHJpbnNpYwogICBldmFsLWludHJpbnNpYwogICBleGl0LWludHJpbnNpYwpAQCAt
MzMzLDE0ICszMjUsNiBAQCBpbnRyaW5zaWMtb3BlcmF0b3I6CiAKIDxwcmU+CiA8aSBpZD0iZ3Jh
bW1hci1pbnRyaW5zaWMiPmludHJpbnNpYzo8L2k+Ci0gICA8aT48YSBocmVmPSIjZ3JhbW1hci1p
bnRyaW5zaWMtY29uc3RydWN0Ij5pbnRyaW5zaWMtY29uc3RydWN0PC9hPjwvaT4KLSAgIDxpPjxh
IGhyZWY9IiNncmFtbWFyLWludHJpbnNpYy1vcGVyYXRvciI+aW50cmluc2ljLW9wZXJhdG9yPC9h
PjwvaT4KLQotPGkgaWQ9ImdyYW1tYXItaW50cmluc2ljLWNvbnN0cnVjdCI+aW50cmluc2ljLWNv
bnN0cnVjdDo8L2k+Ci0gICA8aT48YSBocmVmPSIjZ3JhbW1hci1lY2hvLWludHJpbnNpYyI+ZWNo
by1pbnRyaW5zaWM8L2E+PC9pPgotICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItdW5zZXQtaW50cmlu
c2ljIj51bnNldC1pbnRyaW5zaWM8L2E+PC9pPgotCi08aSBpZD0iZ3JhbW1hci1pbnRyaW5zaWMt
b3BlcmF0b3IiPmludHJpbnNpYy1vcGVyYXRvcjo8L2k+CiAgICA8aT48YSBocmVmPSIjZ3JhbW1h
ci1lbXB0eS1pbnRyaW5zaWMiPmVtcHR5LWludHJpbnNpYzwvYT48L2k+CiAgICA8aT48YSBocmVm
PSIjZ3JhbW1hci1ldmFsLWludHJpbnNpYyI+ZXZhbC1pbnRyaW5zaWM8L2E+PC9pPgogICAgPGk+
PGEgaHJlZj0iI2dyYW1tYXItZXhpdC1pbnRyaW5zaWMiPmV4aXQtaW50cmluc2ljPC9hPjwvaT4K
QEAgLTM1NCw2MSArMzM4LDYgQEAgVGhlIG5hbWVzIGluIHRoaXMgc2VyaWVzIG9mIHNlY3Rpb25z
IGhhdmUgc3BlY2lhbCBtZWFuaW5nIGFuZCBhcmUKIGNhbGxlZCAqaW50cmluc2ljcyosIGJ1dCB0
aGV5IGFyZSBub3Qga2V5d29yZHM7IG5vciBhcmUgdGhleSBmdW5jdGlvbnMsIHRoZXkKIGFyZSBs
YW5ndWFnZSBjb25zdHJ1Y3RzIHRoYXQgYXJlIGludGVycHJldGVkIGJ5IHRoZSBFbmdpbmUuCiAK
LSppbnRyaW5zaWMtb3BlcmF0b3IqIGNhbiBiZSB1c2VkIGFzIHBhcnQgb2YgYW4gZXhwcmVzc2lv
biwgaW4gYW55IHBsYWNlCi1vdGhlciB2YWx1ZXMgb3IgZXhwcmVzc2lvbnMgY291bGQgYmUgdXNl
ZC4KLQotKmludHJpbnNpYy1jb25zdHJ1Y3QqIGNhbiBiZSB1c2VkIG9ubHkgYXMgc3RhbmQtYWxv
bmUgW3N0YXRlbWVudF0oMTEtc3RhdGVtZW50cy5tZCNzdGF0ZW1lbnRzKS4KLQotIyMjIyBlY2hv
Ci0KLSoqU3ludGF4KioKLQotPCEtLSBHUkFNTUFSCi1lY2hvLWludHJpbnNpYzoKLSAgJ2VjaG8n
IGV4cHJlc3Npb24tbGlzdAotCi1leHByZXNzaW9uLWxpc3Q6Ci0gIGV4cHJlc3Npb24KLSAgZXhw
cmVzc2lvbi1saXN0ICcsJyBleHByZXNzaW9uCi0tLT4KLQotPHByZT4KLTxpIGlkPSJncmFtbWFy
LWVjaG8taW50cmluc2ljIj5lY2hvLWludHJpbnNpYzo8L2k+Ci0gICBlY2hvICAgPGk+PGEgaHJl
Zj0iI2dyYW1tYXItZXhwcmVzc2lvbi1saXN0Ij5leHByZXNzaW9uLWxpc3Q8L2E+PC9pPgotCi08
aSBpZD0iZ3JhbW1hci1leHByZXNzaW9uLWxpc3QiPmV4cHJlc3Npb24tbGlzdDo8L2k+Ci0gICA8
aT48YSBocmVmPSIjZ3JhbW1hci1leHByZXNzaW9uIj5leHByZXNzaW9uPC9hPjwvaT4KLSAgIDxp
PjxhIGhyZWY9IiNncmFtbWFyLWV4cHJlc3Npb24tbGlzdCI+ZXhwcmVzc2lvbi1saXN0PC9hPjwv
aT4gICAsICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItZXhwcmVzc2lvbiI+ZXhwcmVzc2lvbjwvYT48
L2k+Ci08L3ByZT4KLQotKipDb25zdHJhaW50cyoqCi0KLSpleHByZXNzaW9uKiB2YWx1ZSBtdXN0
IGJlIFtjb252ZXJ0YWJsZSB0byBhIHN0cmluZ10oMDgtY29udmVyc2lvbnMubWQjY29udmVydGlu
Zy10by1zdHJpbmctdHlwZSkuCi1JbiBwYXJ0aWN1bGFyLCBpdCBzaG91bGQgbm90IGJlIGFuIGFy
cmF5IGFuZCBpZiBpdCBpcyBhbiBvYmplY3QsIGl0IG11c3QgaW1wbGVtZW50Ci1hIFtgX190b1N0
cmluZ2AgbWV0aG9kXSgxNC1jbGFzc2VzLm1kI21ldGhvZC1fX3Rvc3RyaW5nKS4KLQotKipTZW1h
bnRpY3MqKgotCi1BZnRlciBjb252ZXJ0aW5nIGVhY2ggb2YgaXRzICpleHByZXNzaW9uKnMnIHZh
bHVlcyB0byBzdHJpbmdzLCBpZgotbmVjZXNzYXJ5LCBgZWNob2AgY29uY2F0ZW5hdGVzIHRoZW0g
aW4gb3JkZXIgZ2l2ZW4sIGFuZCB3cml0ZXMgdGhlCi1yZXN1bHRpbmcgc3RyaW5nIHRvIFtgU1RE
T1VUYF0oMDYtY29uc3RhbnRzLm1kI2NvcmUtcHJlZGVmaW5lZC1jb25zdGFudHMpLiBVbmxpa2Ug
W2BwcmludGBdKCNwcmludCksIGl0IGRvZXMKLW5vdCBwcm9kdWNlIGEgcmVzdWx0LgotCi1TZWUg
YWxzbzogW2RvdWJsZSBxdW90ZWQgc3RyaW5nc10oMDktbGV4aWNhbC1zdHJ1Y3R1cmUubWQjZG91
YmxlLXF1b3RlZC1zdHJpbmctbGl0ZXJhbHMpIGFuZAotW2hlcmVkb2MgZG9jdW1lbnRzXSgwOS1s
ZXhpY2FsLXN0cnVjdHVyZS5tZCNoZXJlZG9jLXN0cmluZy1saXRlcmFscyksIFtjb252ZXJzaW9u
IHRvIHN0cmluZ10oMDgtY29udmVyc2lvbnMubWQjY29udmVydGluZy10by1zdHJpbmctdHlwZSku
Ci0KLSoqRXhhbXBsZXMqKgotCi1gYGBQSFAKLSR2MSA9IFRSVUU7Ci0kdjIgPSAxMjM7Ci1lY2hv
ICAnPj4nIC4gJHYxIC4gJ3wnIC4gJHYyIC4gIjw8XG4iOyAgICAvLyBvdXRwdXRzICI+PjF8MTIz
PDwiCi1lY2hvICAnPj4nICwgJHYxICwgJ3wnICwgJHYyICwgIjw8XG4iOyAgICAvLyBvdXRwdXRz
ICI+PjF8MTIzPDwiCi1lY2hvICgnPj4nIC4gJHYxIC4gJ3wnIC4gJHYyIC4gIjw8XG4iKTsgICAv
LyBvdXRwdXRzICI+PjF8MTIzPDwiCi0kdjMgPSAicXFxeyR2Mn16enoiOwotZWNobyAiJHYzXG4i
OwotYGBgCi0KICMjIyMgZW1wdHkKIAogKipTeW50YXgqKgpAQCAtNjMyLDU4ICs1NjEsNiBAQCBw
cmludCAiJHYzXG4iOyAgICAgICAgICAgIC8vIG91dHB1dHMgInFxcTEyM3p6eiIKICRhID4gJGIg
PyBwcmludCAiLi4uIiA6IHByaW50ICIuLi4iOwogYGBgCiAKLSMjIyMgdW5zZXQKLQotKipTeW50
YXgqKgotCi08IS0tIEdSQU1NQVIKLXVuc2V0LWludHJpbnNpYzoKLSAgJ3Vuc2V0JyAnKCcgdmFy
aWFibGUtbGlzdCAnKScKLS0tPgotCi08cHJlPgotPGkgaWQ9ImdyYW1tYXItdW5zZXQtaW50cmlu
c2ljIj51bnNldC1pbnRyaW5zaWM6PC9pPgotICAgdW5zZXQgICAoICAgPGk+PGEgaHJlZj0iI2dy
YW1tYXItdmFyaWFibGUtbGlzdCI+dmFyaWFibGUtbGlzdDwvYT48L2k+ICAgKQotPC9wcmU+Ci0K
LSoqU2VtYW50aWNzKioKLQotVGhpcyBpbnRyaW5zaWMgW3Vuc2V0c10oMDctdmFyaWFibGVzLm1k
I2dlbmVyYWwpIHRoZSB2YXJpYWJsZXMgZGVzaWduYXRlZCBieSBlYWNoCi0qdmFyaWFibGUqIGlu
ICp2YXJpYWJsZS1saXN0Ki4gTm8gdmFsdWUgaXMgcmV0dXJuZWQuIEFuCi1hdHRlbXB0IHRvIHVu
c2V0IGEgbm9uLWV4aXN0ZW50IHZhcmlhYmxlIChzdWNoIGFzIGEgbm9uLWV4aXN0ZW50IGVsZW1l
bnQKLWluIGFuIGFycmF5KSBpcyBpZ25vcmVkLgotCi1XaGVuIGNhbGxlZCBmcm9tIGluc2lkZSBh
IGZ1bmN0aW9uLCB0aGlzIGludHJpbnNpYyBiZWhhdmVzLCBhcyBmb2xsb3dzOgotCi0tICAgRm9y
IGEgdmFyaWFibGUgZGVjbGFyZWQgYGdsb2JhbGAgaW4gdGhhdCBmdW5jdGlvbiwgYHVuc2V0YCBy
ZW1vdmVzIHRoZQotICAgIGFsaWFzIHRvIHRoYXQgdmFyaWFibGUgZnJvbSB0aGUgc2NvcGUgb2Yg
dGhlIGN1cnJlbnQgY2FsbCB0byB0aGF0Ci0gICAgZnVuY3Rpb24uIFRoZSBnbG9iYWwgdmFyaWFi
bGUgcmVtYWlucyBzZXQuCi0gICAgKFRvIHVuc2V0IHRoZSBnbG9iYWwgdmFyaWFibGUsIHVzZSB1
bnNldCBvbiB0aGUgY29ycmVzcG9uZGluZwotICAgIFtgJEdMT0JBTFNgXSgwNy12YXJpYWJsZXMu
bWQjcHJlZGVmaW5lZC12YXJpYWJsZXMpIGFycmF5IGVudHJ5LgotLSAgIEZvciBhIHZhcmlhYmxl
IHBhc3NlZCBieVJlZiB0byB0aGF0IGZ1bmN0aW9uLCBgdW5zZXRgIHJlbW92ZXMgdGhlCi0gICAg
YWxpYXMgdG8gdGhhdCB2YXJpYWJsZSBmcm9tIHRoZSBzY29wZSBvZiB0aGUgY3VycmVudCBjYWxs
IHRvIHRoYXQKLSAgICBmdW5jdGlvbi4gT25jZSB0aGUgZnVuY3Rpb24gcmV0dXJucywgdGhlIHBh
c3NlZC1pbiBhcmd1bWVudCB2YXJpYWJsZQotICAgIGlzIHN0aWxsIHNldC4KLS0gICBGb3IgYSB2
YXJpYWJsZSBkZWNsYXJlZCBzdGF0aWMgaW4gdGhhdCBmdW5jdGlvbiwgYHVuc2V0YCByZW1vdmVz
IHRoZQotICAgIGFsaWFzIHRvIHRoYXQgdmFyaWFibGUgZnJvbSB0aGUgc2NvcGUgb2YgdGhlIGN1
cnJlbnQgY2FsbCB0byB0aGF0Ci0gICAgZnVuY3Rpb24uIEluIHN1YnNlcXVlbnQgY2FsbHMgdG8g
dGhhdCBmdW5jdGlvbiwgdGhlIHN0YXRpYyB2YXJpYWJsZQotICAgIGlzIHN0aWxsIHNldCBhbmQg
cmV0YWlucyBpdHMgdmFsdWUgZnJvbSBjYWxsIHRvIGNhbGwuCi0KLUFueSB2aXNpYmxlIGluc3Rh
bmNlIHByb3BlcnR5IG1heSBiZSB1bnNldCwgaW4gd2hpY2ggY2FzZSwgdGhlIHByb3BlcnR5Ci1p
cyByZW1vdmVkIGZyb20gdGhhdCBpbnN0YW5jZS4KLQotSWYgdGhpcyBpbnRyaW5zaWMgaXMgdXNl
ZCB3aXRoIGFuIGV4cHJlc3Npb24gdGhhdCBkZXNpZ25hdGVzIGEgW2R5bmFtaWMKLXByb3BlcnR5
XSgxNC1jbGFzc2VzLm1kI2R5bmFtaWMtbWVtYmVycyksIHRoZW4gaWYgdGhlIGNsYXNzIG9mIHRo
YXQgcHJvcGVydHkgaGFzIGFuIFtgX191bnNldGAKLW1ldGhvZF0oMTQtY2xhc3Nlcy5tZCNtZXRo
b2QtX191bnNldCksIHRoYXQgbWV0aG9kIGlzIGNhbGxlZC4KLQotKipFeGFtcGxlcyoqCi0KLWBg
YFBIUAotdW5zZXQoJHYpOwotdW5zZXQoJHYxLCAkdjIsICR2Myk7Ci11bnNldCgkeC0+bSk7IC8v
IGlmIG0gaXMgYSBkeW5hbWljIHByb3BlcnR5LCAkeC0+X191bnNldCgibSIpIGlzIGNhbGxlZAot
YGBgCi0KICMjIyBBbm9ueW1vdXMgRnVuY3Rpb24gQ3JlYXRpb24KIAogKipTeW50YXgqKgpkaWZm
IC0tZ2l0IGEvc3BlYy8xMS1zdGF0ZW1lbnRzLm1kIGIvc3BlYy8xMS1zdGF0ZW1lbnRzLm1kCmlu
ZGV4IDQyN2M3NGIuLjJlY2VjNTEgMTAwNjQ0Ci0tLSBhL3NwZWMvMTEtc3RhdGVtZW50cy5tZAor
KysgYi9zcGVjLzExLXN0YXRlbWVudHMubWQKQEAgLTE0LDYgKzE0LDggQEAgc3RhdGVtZW50Ogog
ICBqdW1wLXN0YXRlbWVudAogICB0cnktc3RhdGVtZW50CiAgIGRlY2xhcmUtc3RhdGVtZW50Cisg
IGVjaG8tc3RhdGVtZW50CisgIHVuc2V0LXN0YXRlbWVudAogICBjb25zdC1kZWNsYXJhdGlvbgog
ICBmdW5jdGlvbi1kZWZpbml0aW9uCiAgIGNsYXNzLWRlY2xhcmF0aW9uCkBAIC0zNSw2ICszNyw4
IEBAIHN0YXRlbWVudDoKICAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLWp1bXAtc3RhdGVtZW50Ij5q
dW1wLXN0YXRlbWVudDwvYT48L2k+CiAgICA8aT48YSBocmVmPSIjZ3JhbW1hci10cnktc3RhdGVt
ZW50Ij50cnktc3RhdGVtZW50PC9hPjwvaT4KICAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLWRlY2xh
cmUtc3RhdGVtZW50Ij5kZWNsYXJlLXN0YXRlbWVudDwvYT48L2k+CisgICA8aT48YSBocmVmPSIj
Z3JhbW1hci1lY2hvLXN0YXRlbWVudCI+ZWNoby1zdGF0ZW1lbnQ8L2E+PC9pPgorICAgPGk+PGEg
aHJlZj0iI2dyYW1tYXItdW5zZXQtc3RhdGVtZW50Ij51bnNldC1zdGF0ZW1lbnQ8L2E+PC9pPgog
ICAgPGk+PGEgaHJlZj0iMTQtY2xhc3Nlcy5tZCNncmFtbWFyLWNvbnN0LWRlY2xhcmF0aW9uIj5j
b25zdC1kZWNsYXJhdGlvbjwvYT48L2k+CiAgICA8aT48YSBocmVmPSIxMy1mdW5jdGlvbnMubWQj
Z3JhbW1hci1mdW5jdGlvbi1kZWZpbml0aW9uIj5mdW5jdGlvbi1kZWZpbml0aW9uPC9hPjwvaT4K
ICAgIDxpPjxhIGhyZWY9IjE0LWNsYXNzZXMubWQjZ3JhbW1hci1jbGFzcy1kZWNsYXJhdGlvbiI+
Y2xhc3MtZGVjbGFyYXRpb248L2E+PC9pPgpAQCAtMTI4NiwzICsxMjkwLDEwNiBAQCBkZWNsYXJl
KHRpY2tzID0gMSkgeyAuLi4gfQogZGVjbGFyZShlbmNvZGluZyA9ICdJU08tODg1OS0xJyk7IC8v
IExhdGluLTEgV2VzdGVybiBFdXJvcGVhbgogZGVjbGFyZShlbmNvZGluZyA9ICdJU08tODg1OS01
Jyk7IC8vIExhdGluL0N5cmlsbGljCiBgYGAKKworIyMgVGhlIGBlY2hvYCBzdGF0ZW1lbnQKKwor
KipTeW50YXgqKgorCis8IS0tIEdSQU1NQVIKK2VjaG8tc3RhdGVtZW50OgorICAnZWNobycgZXhw
cmVzc2lvbi1saXN0ICc7JworCitleHByZXNzaW9uLWxpc3Q6CisgIGV4cHJlc3Npb24KKyAgZXhw
cmVzc2lvbi1saXN0ICcsJyBleHByZXNzaW9uCistLT4KKworPHByZT4KKzxpIGlkPSJncmFtbWFy
LWVjaG8tc3RhdGVtZW50Ij5lY2hvLXN0YXRlbWVudDo8L2k+CisgICBlY2hvICAgPGk+PGEgaHJl
Zj0iI2dyYW1tYXItZXhwcmVzc2lvbi1saXN0Ij5leHByZXNzaW9uLWxpc3Q8L2E+PC9pPiAgIDsK
KworPGkgaWQ9ImdyYW1tYXItZXhwcmVzc2lvbi1saXN0Ij5leHByZXNzaW9uLWxpc3Q6PC9pPgor
ICAgPGk+PGEgaHJlZj0iMTAtZXhwcmVzc2lvbnMubWQjZ3JhbW1hci1leHByZXNzaW9uIj5leHBy
ZXNzaW9uPC9hPjwvaT4KKyAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLWV4cHJlc3Npb24tbGlzdCI+
ZXhwcmVzc2lvbi1saXN0PC9hPjwvaT4gICAsICAgPGk+PGEgaHJlZj0iMTAtZXhwcmVzc2lvbnMu
bWQjZ3JhbW1hci1leHByZXNzaW9uIj5leHByZXNzaW9uPC9hPjwvaT4KKzwvcHJlPgorCisqKkNv
bnN0cmFpbnRzKioKKworVGhlICpleHByZXNzaW9uKiB2YWx1ZSBtdXN0IGJlCitbY29udmVydGFi
bGUgdG8gYSBzdHJpbmddKDA4LWNvbnZlcnNpb25zLm1kI2NvbnZlcnRpbmctdG8tc3RyaW5nLXR5
cGUpLgorSW4gcGFydGljdWxhciwgaXQgc2hvdWxkIG5vdCBiZSBhbiBhcnJheSBhbmQgaWYgaXQg
aXMgYW4gb2JqZWN0LCBpdCBtdXN0IGltcGxlbWVudAorYSBbYF9fdG9TdHJpbmdgIG1ldGhvZF0o
MTQtY2xhc3Nlcy5tZCNtZXRob2QtX190b3N0cmluZykuCisKKyoqU2VtYW50aWNzKioKKworQWZ0
ZXIgY29udmVydGluZyBlYWNoIG9mIGl0cyAqZXhwcmVzc2lvbipzJyB2YWx1ZXMgdG8gc3RyaW5n
cywgaWYKK25lY2Vzc2FyeSwgYGVjaG9gIGNvbmNhdGVuYXRlcyB0aGVtIGluIG9yZGVyIGdpdmVu
LCBhbmQgd3JpdGVzIHRoZQorcmVzdWx0aW5nIHN0cmluZyB0byBbYFNURE9VVGBdKDA2LWNvbnN0
YW50cy5tZCNjb3JlLXByZWRlZmluZWQtY29uc3RhbnRzKS4gVW5saWtlIFtgcHJpbnRgXSgxMC1l
eHByZXNzaW9ucy5tZCNwcmludCksIGl0IGRvZXMKK25vdCBwcm9kdWNlIGEgcmVzdWx0LgorCitT
ZWUgYWxzbzogW2RvdWJsZSBxdW90ZWQgc3RyaW5nc10oMDktbGV4aWNhbC1zdHJ1Y3R1cmUubWQj
ZG91YmxlLXF1b3RlZC1zdHJpbmctbGl0ZXJhbHMpIGFuZAorW2hlcmVkb2MgZG9jdW1lbnRzXSgw
OS1sZXhpY2FsLXN0cnVjdHVyZS5tZCNoZXJlZG9jLXN0cmluZy1saXRlcmFscyksIFtjb252ZXJz
aW9uIHRvIHN0cmluZ10oMDgtY29udmVyc2lvbnMubWQjY29udmVydGluZy10by1zdHJpbmctdHlw
ZSkuCisKKyoqRXhhbXBsZXMqKgorCitgYGBQSFAKKyR2MSA9IFRSVUU7CiskdjIgPSAxMjM7Citl
Y2hvICAnPj4nIC4gJHYxIC4gJ3wnIC4gJHYyIC4gIjw8XG4iOyAgICAvLyBvdXRwdXRzICI+PjF8
MTIzPDwiCitlY2hvICAnPj4nICwgJHYxICwgJ3wnICwgJHYyICwgIjw8XG4iOyAgICAvLyBvdXRw
dXRzICI+PjF8MTIzPDwiCitlY2hvICgnPj4nIC4gJHYxIC4gJ3wnIC4gJHYyIC4gIjw8XG4iKTsg
ICAvLyBvdXRwdXRzICI+PjF8MTIzPDwiCiskdjMgPSAicXFxeyR2Mn16enoiOworZWNobyAiJHYz
XG4iOworYGBgCisKKyMjIFRoZSBgdW5zZXRgIHN0YXRlbWVudAorCisqKlN5bnRheCoqCisKKzwh
LS0gR1JBTU1BUgordW5zZXQtc3RhdGVtZW50OgorICAndW5zZXQnICcoJyB2YXJpYWJsZS1saXN0
ICcpJyAnOycKKy0tPgorCis8cHJlPgorPGkgaWQ9ImdyYW1tYXItdW5zZXQtc3RhdGVtZW50Ij51
bnNldC1zdGF0ZW1lbnQ6PC9pPgorICAgdW5zZXQgICAoICAgPGk+PGEgaHJlZj0iMTAtZXhwcmVz
c2lvbnMubWQjZ3JhbW1hci12YXJpYWJsZS1saXN0Ij52YXJpYWJsZS1saXN0PC9hPjwvaT4gICAp
ICAgOworPC9wcmU+CisKKyoqU2VtYW50aWNzKioKKworVGhpcyBzdGF0ZW1lbnQgW3Vuc2V0c10o
MDctdmFyaWFibGVzLm1kI2dlbmVyYWwpIHRoZSB2YXJpYWJsZXMgZGVzaWduYXRlZCBieSBlYWNo
CisqdmFyaWFibGUqIGluICp2YXJpYWJsZS1saXN0Ki4gTm8gdmFsdWUgaXMgcmV0dXJuZWQuIEFu
CithdHRlbXB0IHRvIHVuc2V0IGEgbm9uLWV4aXN0ZW50IHZhcmlhYmxlIChzdWNoIGFzIGEgbm9u
LWV4aXN0ZW50IGVsZW1lbnQKK2luIGFuIGFycmF5KSBpcyBpZ25vcmVkLgorCitXaGVuIGNhbGxl
ZCBmcm9tIGluc2lkZSBhIGZ1bmN0aW9uLCB0aGlzIHN0YXRlbWVudCBiZWhhdmVzLCBhcyBmb2xs
b3dzOgorCistICAgRm9yIGEgdmFyaWFibGUgZGVjbGFyZWQgYGdsb2JhbGAgaW4gdGhhdCBmdW5j
dGlvbiwgYHVuc2V0YCByZW1vdmVzIHRoZQorICAgIGFsaWFzIHRvIHRoYXQgdmFyaWFibGUgZnJv
bSB0aGUgc2NvcGUgb2YgdGhlIGN1cnJlbnQgY2FsbCB0byB0aGF0CisgICAgZnVuY3Rpb24uIFRo
ZSBnbG9iYWwgdmFyaWFibGUgcmVtYWlucyBzZXQuCisgICAgKFRvIHVuc2V0IHRoZSBnbG9iYWwg
dmFyaWFibGUsIHVzZSB1bnNldCBvbiB0aGUgY29ycmVzcG9uZGluZworICAgIFtgJEdMT0JBTFNg
XSgwNy12YXJpYWJsZXMubWQjcHJlZGVmaW5lZC12YXJpYWJsZXMpIGFycmF5IGVudHJ5LgorLSAg
IEZvciBhIHZhcmlhYmxlIHBhc3NlZCBieVJlZiB0byB0aGF0IGZ1bmN0aW9uLCBgdW5zZXRgIHJl
bW92ZXMgdGhlCisgICAgYWxpYXMgdG8gdGhhdCB2YXJpYWJsZSBmcm9tIHRoZSBzY29wZSBvZiB0
aGUgY3VycmVudCBjYWxsIHRvIHRoYXQKKyAgICBmdW5jdGlvbi4gT25jZSB0aGUgZnVuY3Rpb24g
cmV0dXJucywgdGhlIHBhc3NlZC1pbiBhcmd1bWVudCB2YXJpYWJsZQorICAgIGlzIHN0aWxsIHNl
dC4KKy0gICBGb3IgYSB2YXJpYWJsZSBkZWNsYXJlZCBzdGF0aWMgaW4gdGhhdCBmdW5jdGlvbiwg
YHVuc2V0YCByZW1vdmVzIHRoZQorICAgIGFsaWFzIHRvIHRoYXQgdmFyaWFibGUgZnJvbSB0aGUg
c2NvcGUgb2YgdGhlIGN1cnJlbnQgY2FsbCB0byB0aGF0CisgICAgZnVuY3Rpb24uIEluIHN1YnNl
cXVlbnQgY2FsbHMgdG8gdGhhdCBmdW5jdGlvbiwgdGhlIHN0YXRpYyB2YXJpYWJsZQorICAgIGlz
IHN0aWxsIHNldCBhbmQgcmV0YWlucyBpdHMgdmFsdWUgZnJvbSBjYWxsIHRvIGNhbGwuCisKK0Fu
eSB2aXNpYmxlIGluc3RhbmNlIHByb3BlcnR5IG1heSBiZSB1bnNldCwgaW4gd2hpY2ggY2FzZSwg
dGhlIHByb3BlcnR5CitpcyByZW1vdmVkIGZyb20gdGhhdCBpbnN0YW5jZS4KKworSWYgdGhpcyBz
dGF0ZW1lbnQgaXMgdXNlZCB3aXRoIGFuIGV4cHJlc3Npb24gdGhhdCBkZXNpZ25hdGVzIGEgW2R5
bmFtaWMKK3Byb3BlcnR5XSgxNC1jbGFzc2VzLm1kI2R5bmFtaWMtbWVtYmVycyksIHRoZW4gaWYg
dGhlIGNsYXNzIG9mIHRoYXQgcHJvcGVydHkgaGFzIGFuIFtgX191bnNldGAKK21ldGhvZF0oMTQt
Y2xhc3Nlcy5tZCNtZXRob2QtX191bnNldCksIHRoYXQgbWV0aG9kIGlzIGNhbGxlZC4KKworKipF
eGFtcGxlcyoqCisKK2BgYFBIUAordW5zZXQoJHYpOwordW5zZXQoJHYxLCAkdjIsICR2Myk7Cit1
bnNldCgkeC0+bSk7IC8vIGlmIG0gaXMgYSBkeW5hbWljIHByb3BlcnR5LCAkeC0+X191bnNldCgi
bSIpIGlzIGNhbGxlZAorYGBgCmRpZmYgLS1naXQgYS9zcGVjLzE5LWdyYW1tYXIubWQgYi9zcGVj
LzE5LWdyYW1tYXIubWQKaW5kZXggMWQ3NDA3Ni4uODIxNDg3YiAxMDA2NDQKLS0tIGEvc3BlYy8x
OS1ncmFtbWFyLm1kCisrKyBiL3NwZWMvMTktZ3JhbW1hci5tZApAQCAtMzg0LDI3ICszODQsMTIg
QEAgVGhlIGdyYW1tYXIgbm90YXRpb24gaXMgZGVzY3JpYmVkIGluIFtHcmFtbWFycyBzZWN0aW9u
XSgwOS1sZXhpY2FsLXN0cnVjdHVyZS5tZCMKICAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLXN0cmlu
Zy1saXRlcmFsIj5zdHJpbmctbGl0ZXJhbDwvYT48L2k+CiAKIDxpIGlkPSJncmFtbWFyLWludHJp
bnNpYyI+aW50cmluc2ljOjwvaT4KLSAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLWludHJpbnNpYy1j
b25zdHJ1Y3QiPmludHJpbnNpYy1jb25zdHJ1Y3Q8L2E+PC9pPgotICAgPGk+PGEgaHJlZj0iI2dy
YW1tYXItaW50cmluc2ljLW9wZXJhdG9yIj5pbnRyaW5zaWMtb3BlcmF0b3I8L2E+PC9pPgotCi08
aSBpZD0iZ3JhbW1hci1pbnRyaW5zaWMtY29uc3RydWN0Ij5pbnRyaW5zaWMtY29uc3RydWN0Ojwv
aT4KLSAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLWVjaG8taW50cmluc2ljIj5lY2hvLWludHJpbnNp
YzwvYT48L2k+Ci0gICA8aT48YSBocmVmPSIjZ3JhbW1hci11bnNldC1pbnRyaW5zaWMiPnVuc2V0
LWludHJpbnNpYzwvYT48L2k+Ci0KLTxpIGlkPSJncmFtbWFyLWludHJpbnNpYy1vcGVyYXRvciI+
aW50cmluc2ljLW9wZXJhdG9yOjwvaT4KICAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLWVtcHR5LWlu
dHJpbnNpYyI+ZW1wdHktaW50cmluc2ljPC9hPjwvaT4KICAgIDxpPjxhIGhyZWY9IiNncmFtbWFy
LWV2YWwtaW50cmluc2ljIj5ldmFsLWludHJpbnNpYzwvYT48L2k+CiAgICA8aT48YSBocmVmPSIj
Z3JhbW1hci1leGl0LWludHJpbnNpYyI+ZXhpdC1pbnRyaW5zaWM8L2E+PC9pPgogICAgPGk+PGEg
aHJlZj0iI2dyYW1tYXItaXNzZXQtaW50cmluc2ljIj5pc3NldC1pbnRyaW5zaWM8L2E+PC9pPgog
ICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItcHJpbnQtaW50cmluc2ljIj5wcmludC1pbnRyaW5zaWM8
L2E+PC9pPgogCi08aSBpZD0iZ3JhbW1hci1lY2hvLWludHJpbnNpYyI+ZWNoby1pbnRyaW5zaWM6
PC9pPgotICAgZWNobyAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLWV4cHJlc3Npb24tbGlzdCI+ZXhw
cmVzc2lvbi1saXN0PC9hPjwvaT4KLQotPGkgaWQ9ImdyYW1tYXItZXhwcmVzc2lvbi1saXN0Ij5l
eHByZXNzaW9uLWxpc3Q6PC9pPgotICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItZXhwcmVzc2lvbiI+
ZXhwcmVzc2lvbjwvYT48L2k+Ci0gICA8aT48YSBocmVmPSIjZ3JhbW1hci1leHByZXNzaW9uLWxp
c3QiPmV4cHJlc3Npb24tbGlzdDwvYT48L2k+ICAgLCAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLWV4
cHJlc3Npb24iPmV4cHJlc3Npb248L2E+PC9pPgotCiA8aSBpZD0iZ3JhbW1hci1lbXB0eS1pbnRy
aW5zaWMiPmVtcHR5LWludHJpbnNpYzo8L2k+CiAgICBlbXB0eSAgICggICA8aT48YSBocmVmPSIj
Z3JhbW1hci1leHByZXNzaW9uIj5leHByZXNzaW9uPC9hPjwvaT4gICApCiAKQEAgLTQyNyw5ICs0
MTIsNiBAQCBUaGUgZ3JhbW1hciBub3RhdGlvbiBpcyBkZXNjcmliZWQgaW4gW0dyYW1tYXJzIHNl
Y3Rpb25dKDA5LWxleGljYWwtc3RydWN0dXJlLm1kIwogPGkgaWQ9ImdyYW1tYXItcHJpbnQtaW50
cmluc2ljIj5wcmludC1pbnRyaW5zaWM6PC9pPgogICAgcHJpbnQgICA8aT48YSBocmVmPSIjZ3Jh
bW1hci1leHByZXNzaW9uIj5leHByZXNzaW9uPC9hPjwvaT4KIAotPGkgaWQ9ImdyYW1tYXItdW5z
ZXQtaW50cmluc2ljIj51bnNldC1pbnRyaW5zaWM6PC9pPgotICAgdW5zZXQgICAoICAgPGk+PGEg
aHJlZj0iI2dyYW1tYXItdmFyaWFibGUtbGlzdCI+dmFyaWFibGUtbGlzdDwvYT48L2k+ICAgKQot
CiA8aSBpZD0iZ3JhbW1hci1hbm9ueW1vdXMtZnVuY3Rpb24tY3JlYXRpb24tZXhwcmVzc2lvbiI+
YW5vbnltb3VzLWZ1bmN0aW9uLWNyZWF0aW9uLWV4cHJlc3Npb246PC9pPgogICAgc3RhdGljPHN1
Yj5vcHQ8L3N1Yj4gICBmdW5jdGlvbiAgICZhbXA7PHN1Yj5vcHQ8L3N1Yj4gICAoICAgPGk+PGEg
aHJlZj0iI2dyYW1tYXItcGFyYW1ldGVyLWRlY2xhcmF0aW9uLWxpc3QiPnBhcmFtZXRlci1kZWNs
YXJhdGlvbi1saXN0PC9hPjwvaT48c3ViPm9wdDwvc3ViPiAgICkgICA8aT48YSBocmVmPSIjZ3Jh
bW1hci1hbm9ueW1vdXMtZnVuY3Rpb24tdXNlLWNsYXVzZSI+YW5vbnltb3VzLWZ1bmN0aW9uLXVz
ZS1jbGF1c2U8L2E+PC9pPjxzdWI+b3B0PC9zdWI+ICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItcmV0
dXJuLXR5cGUiPnJldHVybi10eXBlPC9hPjwvaT48c3ViPm9wdDwvc3ViPiAgIDxpPjxhIGhyZWY9
IiNncmFtbWFyLWNvbXBvdW5kLXN0YXRlbWVudCI+Y29tcG91bmQtc3RhdGVtZW50PC9hPjwvaT4K
IApAQCAtNzM3LDYgKzcxOSw4IEBAIFRoZSBncmFtbWFyIG5vdGF0aW9uIGlzIGRlc2NyaWJlZCBp
biBbR3JhbW1hcnMgc2VjdGlvbl0oMDktbGV4aWNhbC1zdHJ1Y3R1cmUubWQjCiAgICA8aT48YSBo
cmVmPSIjZ3JhbW1hci1qdW1wLXN0YXRlbWVudCI+anVtcC1zdGF0ZW1lbnQ8L2E+PC9pPgogICAg
PGk+PGEgaHJlZj0iI2dyYW1tYXItdHJ5LXN0YXRlbWVudCI+dHJ5LXN0YXRlbWVudDwvYT48L2k+
CiAgICA8aT48YSBocmVmPSIjZ3JhbW1hci1kZWNsYXJlLXN0YXRlbWVudCI+ZGVjbGFyZS1zdGF0
ZW1lbnQ8L2E+PC9pPgorICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItZWNoby1zdGF0ZW1lbnQiPmVj
aG8tc3RhdGVtZW50PC9hPjwvaT4KKyAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLXVuc2V0LXN0YXRl
bWVudCI+dW5zZXQtc3RhdGVtZW50PC9hPjwvaT4KICAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLWNv
bnN0LWRlY2xhcmF0aW9uIj5jb25zdC1kZWNsYXJhdGlvbjwvYT48L2k+CiAgICA8aT48YSBocmVm
PSIjZ3JhbW1hci1mdW5jdGlvbi1kZWZpbml0aW9uIj5mdW5jdGlvbi1kZWZpbml0aW9uPC9hPjwv
aT4KICAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLWNsYXNzLWRlY2xhcmF0aW9uIj5jbGFzcy1kZWNs
YXJhdGlvbjwvYT48L2k+CkBAIC04OTksNiArODgzLDE2IEBAIFRoZSBncmFtbWFyIG5vdGF0aW9u
IGlzIGRlc2NyaWJlZCBpbiBbR3JhbW1hcnMgc2VjdGlvbl0oMDktbGV4aWNhbC1zdHJ1Y3R1cmUu
bWQjCiAgICB0aWNrcyAgID0gICA8aT48YSBocmVmPSIjZ3JhbW1hci1saXRlcmFsIj5saXRlcmFs
PC9hPjwvaT4KICAgIGVuY29kaW5nICAgPSAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLWxpdGVyYWwi
PmxpdGVyYWw8L2E+PC9pPgogICAgc3RyaWN0X3R5cGVzICAgPSAgIDxpPjxhIGhyZWY9IiNncmFt
bWFyLWxpdGVyYWwiPmxpdGVyYWw8L2E+PC9pPgorCis8aSBpZD0iZ3JhbW1hci1lY2hvLXN0YXRl
bWVudCI+ZWNoby1zdGF0ZW1lbnQ6PC9pPgorICAgZWNobyAgIDxpPjxhIGhyZWY9IiNncmFtbWFy
LWV4cHJlc3Npb24tbGlzdCI+ZXhwcmVzc2lvbi1saXN0PC9hPjwvaT4gICA7CisKKzxpIGlkPSJn
cmFtbWFyLWV4cHJlc3Npb24tbGlzdCI+ZXhwcmVzc2lvbi1saXN0OjwvaT4KKyAgIDxpPjxhIGhy
ZWY9IiNncmFtbWFyLWV4cHJlc3Npb24iPmV4cHJlc3Npb248L2E+PC9pPgorICAgPGk+PGEgaHJl
Zj0iI2dyYW1tYXItZXhwcmVzc2lvbi1saXN0Ij5leHByZXNzaW9uLWxpc3Q8L2E+PC9pPiAgICwg
ICA8aT48YSBocmVmPSIjZ3JhbW1hci1leHByZXNzaW9uIj5leHByZXNzaW9uPC9hPjwvaT4KKwor
PGkgaWQ9ImdyYW1tYXItdW5zZXQtc3RhdGVtZW50Ij51bnNldC1zdGF0ZW1lbnQ6PC9pPgorICAg
dW5zZXQgICAoICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItdmFyaWFibGUtbGlzdCI+dmFyaWFibGUt
bGlzdDwvYT48L2k+ICAgKSAgIDsKIDwvcHJlPgogCiAjIyMgRnVuY3Rpb25z

--d059faa7bcd29f3b6ab2bbb1b4e3fa2ac836f03a--