com php-langspec: Specify handling of undefined variables, constants, etc.: spec/07-variables.md

[email protected] (Nikita Popov) Wed, 13 Jul 2016 11:46:09 +0000
Newsgroups php.standards.cvs
Message-ID <[email protected]>
--041ce29325c1081600778350fe19601ce0b080af
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Commit:    48bf751fd190b83cb44d9033b4f56eb8ecf4474b=0AAuthor:    Robert Sto=
ll <[email protected]>         Wed, 13 Jul 2016 13:46:09 +0200=0ACommitter:=
 Nikita Popov <[email protected]>      Wed, 13 Jul 2016 13:46:09 +0200=0AParent=
s:   4a0bcfb3c75f08320a05596d3658f6976890c5b9=0ABranches:  master=0A=0ALink=
:       http://git.php.net/?p=3Dphp-langspec.git;a=3Dcommitdiff;h=3D48bf751=
fd190b83cb44d9033b4f56eb8ecf4474b=0A=0ALog:=0ASpecify handling of undefined=
 variables, constants, etc.=0A=0AChanged paths:=0A  M  spec/07-variables.md=
=0A=0A
--041ce29325c1081600778350fe19601ce0b080af
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="diff_48bf751fd190b83cb44d9033b4f56eb8ecf4474b.txt"

ZGlmZiAtLWdpdCBhL3NwZWMvMDctdmFyaWFibGVzLm1kIGIvc3BlYy8wNy12YXJpYWJsZXMubWQK
aW5kZXggMDY0YzgyMS4uMGVkNTNkMCAxMDA2NDQKLS0tIGEvc3BlYy8wNy12YXJpYWJsZXMubWQK
KysrIGIvc3BlYy8wNy12YXJpYWJsZXMubWQKQEAgLTMsNyArMyw4IEBACiAjI0dlbmVyYWwKIAog
QSAqdmFyaWFibGUqIGlzIGEgbmFtZWQgYXJlYSBvZiBkYXRhIHN0b3JhZ2UgdGhhdCBjb250YWlu
cyBhIFBIUCB2YWx1ZS4gQSB2YXJpYWJsZSBpcyByZXByZXNlbnRlZCBieSBhIFtWU2xvdF0oMDQt
YmFzaWMtY29uY2VwdHMubWQjZ2VuZXJhbCkuIEEgdmFyaWFibGUgaXMgY3JlYXRlZCBieSBbYXNz
aWduaW5nIGEgdmFsdWVdKDA0LWJhc2ljLWNvbmNlcHRzLm1kI2Fzc2lnbm1lbnQpIHRvIGl0Lgot
QSB2YXJpYWJsZSBpcyBkZXN0cm95ZWQgYnkgKnVuc2V0dGluZyogaXQsIGVpdGhlciBieSBhbiBl
eHBsaWNpdCBjYWxsIHRvIHRoZSBpbnRyaW5zaWMgW2B1bnNldGBdKDEwLWV4cHJlc3Npb25zLm1k
I3Vuc2V0KSwgb3IgYnkgdGhlIEVuZ2luZS4gVGhlIGludHJpbnNpYyBbYGlzc2V0YF0oMTAtZXhw
cmVzc2lvbnMubWQjaXNzZXQpIHRlc3RzIGlmIGEgZ2l2ZW4gdmFyaWFibGUgZXhpc3RzIGFuZCBp
cyBub3Qgc2V0IHRvIGBOVUxMYC4gQSB2YXJpYWJsZSB0aGF0IHNvbWVob3cgYmVjb21lcyBkZWZp
bmVkLCBidXQgaXMgbm90IGluaXRpYWxpemVkIHN0YXJ0cyBvdXQgd2l0aCB0aGUgdmFsdWUgYE5V
TExgLgorQSB2YXJpYWJsZSBpcyBkZXN0cm95ZWQgYnkgKnVuc2V0dGluZyogaXQsIGVpdGhlciBi
eSBhbiBleHBsaWNpdCBjYWxsIHRvIHRoZSBpbnRyaW5zaWMgW2B1bnNldGBdKDEwLWV4cHJlc3Np
b25zLm1kI3Vuc2V0KSwgb3IgYnkgdGhlIEVuZ2luZS4gVGhlIGludHJpbnNpYyBbYGlzc2V0YF0o
MTAtZXhwcmVzc2lvbnMubWQjaXNzZXQpIHRlc3RzIGlmIGEgZ2l2ZW4gdmFyaWFibGUgZXhpc3Rz
IGFuZCBpcyBub3Qgc2V0IHRvIGBOVUxMYC4KK0lmIGEgdmFyaWFibGUsIHdoaWNoIGlzIG5vdCBk
ZWZpbmVkIHNvIGZhciwgaXMgdXNlZCBpbiBhbiBleHByZXNzaW9uLCB0aGVuIGRpZmZlcmVudCBz
dHJhdGVnaWVzIGFyZSBhcHBsaWVkIHdoaWNoIGRldGVybWluZSB3aGV0aGVyIHRoZSB2YXJpYWJs
ZSBpcyBkZWZpbmVkIGltcGxpY2l0bHkgb3IgYSBzdWJzdGl0dXRpb24gdmFsdWUgaXMgdXNlZCBp
bnN0ZWFkIGFuZCB3aGV0aGVyIGEgbm90aWNlIGlzIGVtaXR0ZWQgb3Igbm90LiBUaGUgc3RyYXRl
Z2llcyBkZXBlbmQgb24gdGhlIGtpbmQgb2YgdGhlIHZhcmlhYmxlIGFzIHdlbGwgYXMgb24gdGhl
IGNvbnRleHQgd2hlcmUgdGhlIHVuZGVmaW5lZCB2YXJpYWJsZSBpcyBiZWluZyB1c2VkLiBUaGUg
c3RyYXRlZ2llcyBhcmUgZWxhYm9yYXRlZCBpbiB0aGUgc3ViLXNlY3Rpb25zIG9mIHRoZSBkaWZm
ZXJlbnQgW2tpbmRzIG9mIHZhcmlhYmxlc10oI2tpbmRzLW9mLXZhcmlhYmxlcykgYmVsb3cuCiAK
IFZhcmlhYmxlcyBoYXZlIFtuYW1lc10oMDktbGV4aWNhbC1zdHJ1Y3R1cmUubWQjbmFtZXMpLiBE
aXN0aW5jdCB2YXJpYWJsZXMgbWF5IGhhdmUKIHRoZSBzYW1lIG5hbWUgcHJvdmlkZWQgdGhleSBh
cmUgaW4gZGlmZmVyZW50IFtzY29wZXNdKDA0LWJhc2ljLWNvbmNlcHRzLm1kI3Njb3BlKS4KQEAg
LTQ3LDYgKzQ4LDE0IEBAIFNlZSBbY29uc3RhbnRzXSgwNi1jb25zdGFudHMubWQjZ2VuZXJhbCkg
YW5kIFtjbGFzcyBjb25zdGFudHNdKDE0LWNsYXNzZXMubWQjY29uCiBBIGNvbnN0YW50IGRlZmlu
ZWQgb3V0c2lkZSBvZiBhIGNsYXNzIG9yIGludGVyZmFjZSBpcyBhIFtzdXBlcmdsb2JhbF0oI2dl
bmVyYWwpLiBBIGNvbnN0YW50IGhhcyBzdGF0aWMgW3N0b3JhZ2UgZHVyYXRpb25dKDA0LWJhc2lj
LWNvbmNlcHRzLm1kI3N0b3JhZ2UtZHVyYXRpb24pCiBhbmQgaXMgYSBub24tbW9kaWZpYWJsZSBs
dmFsdWUuCiAKKyoqVW5kZWZpbmVkIENvbnN0YW50cyoqCisKK1VuZGVmaW5lZCBjb25zdGFudHMg
YXJlIG5vdCBkZWZpbmVkIGltcGxpY2l0bHkgLS0gZm9yd2FyZCB1c2FnZXMgb2YgY29uc3RhbnRz
IGFyZSBhbHNvIGNsYXNzaWZpZWQgYXMgdW5kZWZpbmVkIGNvbnN0YW50cyBoZXJlLiBBIGRpc3Rp
bmN0aW9uIGJldHdlZW4gY2xhc3MvaW50ZXJmYWNlIGNvbnN0YW50cyBhbmQgdG9wIGxldmVsIGNv
bnN0YW50cyBpcyBtYWRlLgorCitGb3IgdG9wIGxldmVsIGNvbnN0YW50czogdGhlIG5hbWUgb2Yg
dGhlIHVuZGVmaW5lZCBjb25zdGFudCAoYXMgc3RyaW5nKSBpcyB1c2VkIGFzIHN1YnN0aXR1dGlv
biB2YWx1ZS4gTW9yZW92ZXIsIGEgbm90aWNlIGlzIGVtaXR0ZWQgc3RhdGluZyB0aGF0IHRoZSBj
b3JyZXNwb25kaW5nIGNvbnN0YW50IHdhcyB1bmRlZmluZWQuCisKK0ZvciBjbGFzcy9pbnRlcmZh
Y2UgY29uc3RhbnRzOiBhIGZhdGFsIGVycm9yIGlzIHByb2R1Y2VkIHN0YXRpbmcgdGhhdCB0aGUg
Y29ycmVzcG9uZGluZyBjb25zdGFudCB3YXMgdW5kZWZpbmVkLgorCiAqKkV4YW1wbGVzKioKIAog
YGBgUEhQCkBAIC01NCw2ICs2MywyNyBAQCBjb25zdCBNQVhfSEVJR0hUID0gMTAuNTsgICAgICAg
IC8vIGRlZmluZSB0d28gYy1jb25zdGFudHMKIGNvbnN0IFVQUEVSX0xJTUlUID0gTUFYX0hFSUdI
VDsKIGRlZmluZSgnQ09FRkZJQ0lFTlRfMScsIDIuMzQ1KTsgLy8gZGVmaW5lIHR3byBkLWNvbnN0
YW50cwogZGVmaW5lKCdGQUlMVVJFJywgVFJVRSk7CisKKy8vZXhhbXBsZXMgb2YgdW5kZWZpbmVk
IGNvbnN0YW50cworZWNobyBOT05fRVhJU1RJTkdfQ09OU1RBTlQ7ICAgICAvLyB1c2VzICdOT05f
RVhJU1RJTkdfQ09OU1RBTlQnIGFzIHN1YnN0aXR1dGlvbgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyB2YWx1ZSBhbmQgZW1pdHMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IHRoZQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zdGFudCB3YXMgdW5kZWZpbmVk
LgorCitlY2hvIE5PTl9FWElTVElOR19DT05TVEFOVDsgICAgIC8vIHNhbWUgaGVyZSwgdGhlIGNv
bnN0YW50IGlzIHN0aWxsIHVuZGVmaW5lZCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gYW5kICdOT05fRVhJU1RJTkdfQ09OU1RBTlQnIGlzIHVzZWQgYXMgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIHN1YnN0aXR1dGlvbiB2YWx1ZSBhbmQgYSBub3RpY2Ug
aXMgZW1pdHRlZCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWdhaW4uCisK
K2VjaG8gTUFYX0xFTkdUSDsgICAgICAgICAgICAgICAgLy8gc2FtZSBoZXJlIGR1ZSB0byBhIGZv
cndhcmQgdXNhZ2UgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIChNQVhfTEVO
R1RIIGlzIGRlZmluZWQgZnVydGhlciBiZWxvdykuCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vICdNQVhfTEVOR1RIJyBpcyB1c2VkIGFzIHN1YnN0aXR1dGlvbiAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFsdWUgYW5kIGFuIG5vdGljZSBpcyBlbWl0dGVk
LgorCitjb25zdCBNQVhfTEVOR1RIID0gNy41OworCitlY2hvIEV4Y2VwdGlvbjo6TUVTU0FHRTsg
ICAgICAgIC8vIHVuZGVmaW5lZCBjbGFzcyBjb25zdGFudC4gRW1pdHMgYSBmYXRhbCAKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXJyb3IgYW5kIHN0b3BzIGV4ZWN1dGlvbi4K
KwogYGBgCiAKICMjI0xvY2FsIFZhcmlhYmxlcwpAQCAtNzEsNiArMTAxLDEwIEBAIHZhcmlhYmxl
IGNhbiBiZSBhc3NpZ25lZCB0byBhcyBhIHBhcmFtZXRlciBpbiB0aGUgcGFyYW1ldGVyIGxpc3Qg
b2YgYQogaGFzIGZ1bmN0aW9uIFtzY29wZV0oMDQtYmFzaWMtY29uY2VwdHMubWQjc2NvcGUpIGFu
ZCBhdXRvbWF0aWMgW3N0b3JhZ2UgZHVyYXRpb25dKDA0LWJhc2ljLWNvbmNlcHRzLm1kI3N0b3Jh
Z2UtZHVyYXRpb24pLiBBIGxvY2FsCiB2YXJpYWJsZSBpcyBhIG1vZGlmaWFibGUgbHZhbHVlLgog
CisqKlVuZGVmaW5lZCBMb2NhbCBWYXJpYWJsZXMqKgorCitUaGUgc2FtZSBydWxlcyBhcyBmb3Ig
W3VuZGVmaW5lZCBnbG9iYWwgdmFyaWFibGVzXSgjdW5kZWZpbmVkLWdsb2JhbC12YXJpYWJsZXMp
IGFwcGx5LgorCiAqKkV4YW1wbGVzKioKIAogYGBgUEhQCkBAIC0xMTgsMTEgKzE1MiwzOCBAQCBy
ZW1vdmVkIGJ5IGNhbGxpbmcgdGhlIFtgdW5zZXRgIGludHJpbnNpY10oMTAtZXhwcmVzc2lvbnMu
bWQjdW5zZXQpLgogVGhlIFtzY29wZV0oMDQtYmFzaWMtY29uY2VwdHMubWQjc2NvcGUpIG9mIGFu
IGFycmF5IGVsZW1lbnQgaXMgdGhlIHNhbWUgYXMgdGhlIHNjb3BlIG9mIHRoYXQKIGFycmF5J3Mg
bmFtZS4gQW4gYXJyYXkgZWxlbWVudCBoYXMgYWxsb2NhdGVkIFtzdG9yYWdlIGR1cmF0aW9uXSgw
NC1iYXNpYy1jb25jZXB0cy5tZCNzdG9yYWdlLWR1cmF0aW9uKS4KIAorKipVbmRlZmluZWQgQXJy
YXkgRWxlbWVudHMqKgorCitTaW1pbGFyIHRvIFt1bmRlZmluZWQgZ2xvYmFsIHZhcmlhYmxlc10o
I3VuZGVmaW5lZC1nbG9iYWwtdmFyaWFibGVzKSwgYSBkaXN0aW5jdGlvbiBpcyBtYWRlIGJhc2Vk
IG9uIHRoZSBjb250ZXh0IHdoZXJlIGFuIHVuZGVmaW5lZCBhcnJheSBlbGVtZW50IGlzIHVzZWQu
IAorCisqYnlWYWx1ZSBDb250ZXh0KgorCitJZiBvbmUgdHJpZXMgdG8gYWNjZXNzIGFuIHVuZGVm
aW5lZCBhcnJheSBlbGVtZW50LCB0aGVuIGBOVUxMYCBpcyB1c2VkIGFzIHN1YnN0aXR1dGlvbiB2
YWx1ZSBhbmQgYSBub3RpY2UgaXMgZW1pdHRlZCwgc3RhdGluZyB0aGF0IGFuIHVuZGVmaW5lZCBv
ZmZzZXQgd2FzIHVzZWQuIFRoZSB1bmRlZmluZWQgb2Zmc2V0IGlzIG5vdCBjcmVhdGVkIGltcGxp
Y2l0bHkgYW5kIGEgc3Vic2VxdWVudCBhY2Nlc3MgcmVzdWx0cyBpbiBhbm90aGVyIG5vdGljZS4K
KworKmJ5UmVmIENvbnRleHQqCisKK1BIUCBkZWZpbmVzIGltcGxpY2l0bHkgYW4gdW5kZWZpbmVk
IGFycmF5IGVsZW1lbnQgd2hlbiBpdCBpcyBhY2Nlc3NlZCBieVJlZiwgYSBWU2xvdCBmb3IgdGhl
IGNvcnJlc3BvbmRpbmcgdW5kZWZpbmVkIG9mZnNldCBpcyBjcmVhdGVkIGFuZCBgTlVMTGAgaXMg
YXNzaWduZWQgdG8gaXQuIEEgbm90aWNlIGlzICpub3QqIGVtaXR0ZWQgaW4gdGhpcyBjYXNlLgor
CiAqKkV4YW1wbGVzKioKIAogYGBgUEhQCiAkY29sb3JzID0gWyJyZWQiLCAid2hpdGUiLCAiYmx1
ZSJdOyAvLyBjcmVhdGUgYXJyYXkgd2l0aCAzIGVsZW1lbnRzCiAkY29sb3JzW10gPSAiZ3JlZW4i
OyAgICAgICAgICAgICAgICAvLyBpbnNlcnQgYSBuZXcgZWxlbWVudAorCitlY2hvICRjb2xvcnNb
MTAwXTsgICAgICAvLyBlbGVtZW50IHdpdGggb2Zmc2V0IDEwMCBpcyB1bmRlZmluZWQgYW5kIE5V
TEwgaXMgCisgICAgICAgICAgICAgICAgICAgICAgICAvLyB1c2VkIGFzIHN1YnN0aXR1dGlvbiB2
YWx1ZS4gTW9yZW92ZXIsIGEgbm90aWNlIGlzIAorICAgICAgICAgICAgICAgICAgICAgICAgLy8g
ZW1pdHRlZCBzdGF0aW5nIHRoYXQgYW4gdW5kZWZpbmVkIG9mZnNldCB3YXMgdXNlZC4KKworZWNo
byAkY29sb3JzWzEwMF07ICAgICAgLy8gZWxlbWVudCB3aXRoIG9mZnNldCAxMDAgaXMgc3RpbGwg
dW5kZWZpbmVkIGFuZCBOVUxMIAorICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXMgdXNlZCBh
cyBzdWJzdGl0dXRpb24gdmFsdWUgaW5zdGVhZC4gQW5vdGhlciAKKyAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIG5vdGljZSBpcyBlbWl0dGVkLgorCiskYiA9ICZjb2xvcnNbMTAwXTsgICAgICAv
LyBhIFZTbG90IGZvciAkYiBpcyBjcmVhdGVkIHdoaWNoIHBvaW50cyB0byB0aGUgYXJyYXkgCisg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBlbGVtZW50IHdpdGggdGhlIG9mZnNldCAxMDAuIEFu
IGFycmF5IGVsZW1lbnQgd2l0aCAKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9mZnNldCAx
MDAgd2FzIHVuZGVmaW5lZCBidXQgaW1wbGljaXRseSBkZWZpbmVkIAorICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gYmVjYXVzZSB0aGUgYXNzaWdubWVudCBpcyBieVJlZi4gVGh1cyBhIFZTbG90
IGZvciAKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBhcnJheSBlbGVtZW50IHdpdGgg
b2Zmc2V0IDEwMCBpcyBjcmVhdGVkIGFuZCAKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5V
TEwgaXMgYXNzaWduZWQgdG8gaXQuIEEgbm90aWNlIGlzICpub3QqIGVtaXR0ZWQuCiBgYGAKIAog
IyMjRnVuY3Rpb24gU3RhdGljcwpAQCAtMTY2LDYgKzIyNywxMCBAQCBkZWNsYXJhdGlvbiBpcyBj
YWxsZWQsIHRoYXQgZXhlY3V0aW9uIGlzIGRlYWxpbmcgd2l0aCBhbiBbYWxpYXNdKDA0LWJhc2lj
LWNvbmNlcAogdG8gdGhhdCBzdGF0aWMgdmFyaWFibGUuIElmIHRoYXQgYWxpYXMgaXMgcGFzc2Vk
IHRvIHRoZSBbYHVuc2V0YCBpbnRyaW5zaWNdKDEwLWV4cHJlc3Npb25zLm1kI3Vuc2V0KSwKIG9u
bHkgdGhhdCBhbGlhcyBpcyBkZXN0cm95ZWQuIFRoZSBuZXh0IHRpbWUgdGhhdCBmdW5jdGlvbiBp
cyBjYWxsZWQsIGEgbmV3IGFsaWFzIGlzIGNyZWF0ZWQuCiAKKyoqVW5kZWZpbmVkIEZ1bmN0aW9u
IFN0YXRpY3MqKgorCitGdW5jdGlvbiBzdGF0aWNzIGFyZSBleHBsaWNpdGx5IGRlZmluZWQgYW5k
IHRodXMgY2Fubm90IGJlIHVuZGVmaW5lZC4KKwogKipFeGFtcGxlcyoqCiAKIGBgYFBIUApAQCAt
MjYxLDYgKzMyNiw4MyBAQCBnbG9iYWwgdmFyaWFibGUuIElmIHRoYXQgYWxpYXMgaXMgcGFzc2Vk
IHRvIHRoZSBbYHVuc2V0YCBpbnRyaW5zaWNdKDEwLWV4cHJlc3Npbwogb25seSB0aGF0IGFsaWFz
IGlzIGRlc3Ryb3llZC4gVGhlIG5leHQgdGltZSB0aGF0IGZ1bmN0aW9uCiBpcyBjYWxsZWQsIGEg
bmV3IGFsaWFzIGlzIGNyZWF0ZWQgd2l0aCB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZ2xvYmFs
IHZhcmlhYmxlLgogCis8YSBuYW1lPSJ1bmRlZmluZWQtZ2xvYmFsLXZhcmlhYmxlcyI+PC9hPgor
KipVbmRlZmluZWQgR2xvYmFsIFZhcmlhYmxlcyoqCitBIGRpc3RpbmN0aW9uIGlzIG1hZGUgYmFz
ZWQgb24gdGhlIGNvbnRleHQgd2hlcmUgYW4gdW5kZWZpbmVkIGdsb2JhbCB2YXJpYWJsZSBpcyB1
c2VkLiAKKworKmJ5VmFsIENvbnRleHQqCisKK1BIUCBkb2VzIG5vdCBpbXBsaWNpdGx5IGRlZmlu
ZSBhbiB1bmRlZmluZWQgZ2xvYmFsIHZhcmlhYmxlIGFuZCB1c2VzIGBOVUxMYCBhcyBzdWJzdGl0
dXRpb24gdmFsdWUgaW5zdGVhZC4gRnVydGhlcm1vcmUsIGEgbm90aWNlIGlzIGVtaXR0ZWQsIHN0
YXRpbmcgdGhhdCB0aGUgY29ycmVzcG9uZGluZyB2YXJpYWJsZSB3YXMgdW5kZWZpbmVkLCB1bmxl
c3MgdGhlIHZhcmlhYmxlIGlzIHVzZWQKKworMS4gYXMgdGhlIHNpbmdsZSBleHByZXNzaW9uIGlu
IGEgc3RhdGVtZW50LgorMi4gYXMgYXJndW1lbnQgb2YgW2lzc2V0XSgxMC1leHByZXNzaW9ucy5t
ZCNpc3NldCkuCiszLiBhcyBhcmd1bWVudCBvZiBbZW1wdHldKDEwLWV4cHJlc3Npb25zLm1kI2Vt
cHR5KS4KKzQuIGFzIHRoZSBsZWZ0IGhhbmQgc2lkZSBvZiB0aGUgW2NvYWxlc2NlIG9wZXJhdG9y
IGA/P2BdKDEwLWV4cHJlc3Npb25zLm1kI2NvYWxlc2NlLW9wZXJhdG9yKS4KKworU2luY2UgdW5k
ZWZpbmVkIGdsb2JhbCB2YXJpYWJsZXMgYXJlIG5vdCBkZWZpbmVkIGltcGxpY2l0bHksIHRoZXkg
c3RheSB1bmRlZmluZWQuIEluIGdlbmVyYWwsIGEgVlNsb3QgaXMgbm90IGNyZWF0ZWQgZm9yIHVu
ZGVmaW5lZCB2YXJpYWJsZXMgdXNlZCBpbiBhIGJ5VmFsdWUgY29udGV4dC4KKworKmJ5UmVmIENv
bnRleHQqCisKK0lmIHRoZSB1bmRlZmluZWQgdmFyaWFibGUgaXMgdXNlZCBpbiBhIFtieVJlZiBj
b250ZXh0XSgwNC1iYXNpYy1jb25jZXB0cyNieVJlZikgdGhlbiBQSFAgZGVmaW5lcyB0aGUgdmFy
aWFibGUgaW1wbGljaXRseS4gSGVuY2UsIGEgVlNsb3QgaXMgY3JlYXRlZCBmb3IgaXQgYW5kIGBO
VUxMYCBpcyBzdG9yZWQgaW4gaXQuIEEgbm90aWNlIGlzICpub3QqIGVtaXR0ZWQgaW4gc3VjaCBh
IGNhc2UuCisKKypFeGFtcGxlcyBvZiBVbmRlZmluZWQgVmFyaWFibGVzKgorCitGb2xsb3dpbmcg
c29tZSBleGFtcGxlcyB3aGljaCBvdXRsaW5lcyB0aGUgYmVoYXZpb3VyIHdpdGggdW5kZWZpbmVk
IGdsb2JhbCB2YXJpYWJsZXMuCisKK2BgYFBIUAorLy8gVGhlIGZvbGxvd2luZyA0IGNhc2VzIG91
dGxpbmUgdGhlIGV4Y2VwdGlvbnMgb2YgdW5kZWZpbmVkIHZhcmlhYmxlcworLy8gdXNlZCBpbiBi
eVZhbHVlIGNvbnRleHQgd2hlcmUgbm8gbm90aWNlIGlzIGVtaXR0ZWQuCiskYTsgICAgICAgIAor
aXNzZXQoJGEpOworZW1wdHkoJGEpOworJGEgPz8gJ2RlZmF1bHQgVmFsdWUnOworCiskYSA9IDE7
ICAgIC8vIGEgVlNsb3QgZm9yICRhIHdhcyBjcmVhdGVkIGFuZCAxIHdhcyBhc3NpZ25lZC4KKwor
JGIgPSAkYzsgICAvLyBhIFZTbG90IGZvciAkYiB3YXMgY3JlYXRlZCBhbmQgdGhlIHZhbHVlIG9m
ICRjIHdhcyBhc3NpZ25lZCB0bworICAgICAgICAgICAvLyBpdC4gQnV0IGJlY2F1c2UgJGMgaW4g
dHVybiB3YXMgdW5kZWZpbmVkLCBOVUxMIHdhcyB1c2VkIGFzIAorICAgICAgICAgICAvLyBzdWJz
dGl0dXRpb24gdmFsdWUgaW5zdGVhZC4gSW4gYWRkaXRpb24sIGEgbm90aWNlIHdhcyAKKyAgICAg
ICAgICAgLy8gZW1pdHRlZCBzdGF0aW5nIHRoYXQgJGMgd2FzIHVuZGVmaW5lZC4gCisKKyRkID0g
JGM7ICAgLy8gYSBWU2xvdCBmb3IgJGQgd2FzIGNyZWF0ZWQgYW5kIHRoZSB2YWx1ZSBvZiAkYyB3
YXMgYXNzaWduZWQgdG8gCisgICAgICAgICAgIC8vIGl0LiBCdXQgc2luY2UgJGMgaXMgc3RpbGwg
dW5kZWZpbmVkLCBOVUxMIHdhcyB1c2VkIGFzIAorICAgICAgICAgICAvLyBzdWJzdGl0dXRpb24g
dmFsdWUgaW5zdGVhZCBhbmQgYW5vdGhlciBub3RpY2Ugd2FzIGVtaXR0ZWQgCisgICAgICAgICAg
IC8vIHN0YXRpbmcgJGMgd2FzIHVuZGVmaW5lZC4gCisKKyRkICsgJGU7ICAgLy8gJGUgd2FzIHVu
ZGVmaW5lZCBhbmQgYE5VTExgIHdhcyB1c2VkIGFzIHN1YnN0aXR1dGlvbiB2YWx1ZSAKKyAgICAg
ICAgICAgLy8gaW5zdGVhZC4gSW4gYWRkaXRpb24sIGEgbm90aWNlIHdhcyBlbWl0dGVkIHN0YXRp
bmcgdGhhdCAKKyAgICAgICAgICAgLy8gJGUgd2FzIHVuZGVmaW5lZC4KKworJGYgPSAmJGc7ICAv
LyBhIFZTbG90IGZvciAkZiB3YXMgY3JlYXRlZCB3aGljaCBwb2ludHMgdG8gdGhlIFZTbG90IG9m
ICRnLgorICAgICAgICAgICAvLyAkZyBpbiB0dXJuIHdhcyB1bmRlZmluZWQgYnV0IHdhcyBkZWZp
bmVkIGltcGxpY2l0bHkgYmVjYXVzZSB0aGUgCisgICAgICAgICAgIC8vIGFzc2lnbm1lbnQgd2Fz
IGJ5UmVmLiBUaHVzIGEgVlNsb3QgZm9yICRnIHdhcyBjcmVhdGVkIGFuZCBgTlVMTGAKKyAgICAg
ICAgICAgLy8gd2FzIGFzc2lnbmVkIHRvIGl0LiBBIG5vdGljZSB3YXMgKm5vdCogZW1pdHRlZC4K
KworJGggPSAkZzsgICAvLyBhIFZTbG90IGZvciAkaCB3YXMgY3JlYXRlZCBhbmQgdGhlIHZhbHVl
IG9mICRnICh3aGljaCBpcyBOVUxMKSAKKyAgICAgICAgICAgLy8gd2FzIGFzc2lnbmVkIHRvIGl0
LgorCitmdW5jdGlvbiBmb28oJHgpe30KKworZm9vKCRpKTsgICAvLyAkaSB3YXMgdW5kZWZpbmVk
IGFuZCBOVUxMIHdhcyB1c2VkIGFzIHN1YnN0aXR1dGlvbiB2YWx1ZSAKKyAgICAgICAgICAgLy8g
aW5zdGVhZC4gSW4gYWRkaXRpb24sIGEgbm90aWNlIHdhcyBlbWl0dGVkIHN0YXRpbmcgdGhhdCAk
aSAKKyAgICAgICAgICAgLy8gd2FzIHVuZGVmaW5lZC4KKworJGogPSAkaTsgICAvLyBhIFZTbG90
IGZvciAkaiB3YXMgY3JlYXRlZCBhbmQgdGhlIHZhbHVlIG9mICRpIHdhcyBhc3NpZ25lZCB0byAK
KyAgICAgICAgICAgLy8gaXQuIEJ1dCBiZWNhdXNlICRpIGluIHR1cm4gd2FzIHN0aWxsIHVuZGVm
aW5lZCwgTlVMTCB3YXMgdXNlZCAKKyAgICAgICAgICAgLy8gYXMgc3Vic3RpdHV0aW9uIHZhbHVl
IGluc3RlYWQuIEFub3RoZXIgbm90aWNlIHdhcyBlbWl0dGVkIAorICAgICAgICAgICAvLyBzdGF0
aW5nIHRoYXQgJGkgd2FzIHVuZGVmaW5lZC4KKworZnVuY3Rpb24gYmFyKCYkeCl7fQorCitiYXIo
JGspOyAgIC8vICRrIHdhcyB1bmRlZmluZWQgYnV0IGltcGxpY2l0bHkgZGVmaW5lZCBiZWNhdXNl
IGl0IHdhcyBwYXNzZWQgdG8gCisgICAgICAgICAgIC8vIHRoZSBmdW5jdGlvbiBiYXIgYnlSZWYu
IFRodXMgYSBWU2xvdCBmb3IgJGsgd2FzIGNyZWF0ZWQgYW5kIAorICAgICAgICAgICAvLyBOVUxM
IHdhcyBhc3NpZ25lZCB0byBpdC4gQSBub3RpY2Ugd2FzICpub3QqIGVtaXR0ZWQuCisKKyRsID0g
JGs7ICAgLy8gYSBWU2xvdCBmb3IgJGwgd2FzIGNyZWF0ZWQgYW5kIHRoZSB2YWx1ZSBvZiAkayAo
d2hpY2ggaXMgTlVMTCkgCisgICAgICAgICAgIC8vIHdhcyBhc3NpZ25lZCB0byBpdC4KKworYGBg
CisKICoqRXhhbXBsZXMqKgogCiBgYGBQSFA=

--041ce29325c1081600778350fe19601ce0b080af--