com php-langspec: Move pre-inc/dec and shell-exec into primary expression: spec/00-specification-for-php.md spec/10-expressions.md spec/19-grammar.md
[email protected] (Nikita Popov) Tue, 19 Sep 2017 08:05:45 +0000
| Newsgroups | php.standards.cvs |
|---|---|
| Message-ID | <[email protected]> |
--e143fde6251959894fb14c1bf8b0c345bbd85e63 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Commit: 1aed868c28bcbbb0f1d011169163aab1e66413c9=0AAuthor: Nikita Pop= ov <[email protected]> Tue, 19 Sep 2017 10:05:45 +0200=0AParents: def= 41da2f80e8e66c136334ea6b7fc86db89e1f0=0ABranches: master=0A=0ALink: = http://git.php.net/?p=3Dphp-langspec.git;a=3Dcommitdiff;h=3D1aed868c28bcbbb= 0f1d011169163aab1e66413c9=0A=0ALog:=0AMove pre-inc/dec and shell-exec into = primary expression=0A=0AOtherwise the precedence would be wrong...=0A=0ACha= nged paths:=0A M spec/00-specification-for-php.md=0A M spec/10-expressi= ons.md=0A M spec/19-grammar.md=0A=0A --e143fde6251959894fb14c1bf8b0c345bbd85e63 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="diff_1aed868c28bcbbb0f1d011169163aab1e66413c9.txt" ZGlmZiAtLWdpdCBhL3NwZWMvMDAtc3BlY2lmaWNhdGlvbi1mb3ItcGhwLm1kIGIvc3BlYy8wMC1z cGVjaWZpY2F0aW9uLWZvci1waHAubWQKaW5kZXggNTY0NjIxNC4uN2UxNjE5OCAxMDA2NDQKLS0t IGEvc3BlYy8wMC1zcGVjaWZpY2F0aW9uLWZvci1waHAubWQKKysrIGIvc3BlYy8wMC1zcGVjaWZp Y2F0aW9uLWZvci1waHAubWQKQEAgLTEyMSwxNSArMTIxLDE1IEBAIGlzIGRpc3RyaWJ1dGVkIHdp dGhvdXQgYW55IHdhcnJhbnR5LgogICAgIC0gW01lbWJlciBBY2Nlc3MgT3BlcmF0b3JdKDEwLWV4 cHJlc3Npb25zLm1kI21lbWJlci1hY2Nlc3Mtb3BlcmF0b3IpCiAgICAgLSBbTWVtYmVyIENhbGwg T3BlcmF0b3JdKDEwLWV4cHJlc3Npb25zLm1kI21lbWJlci1jYWxsLW9wZXJhdG9yKQogICAgIC0g W1Bvc3RmaXggSW5jcmVtZW50IGFuZCBEZWNyZW1lbnQgT3BlcmF0b3JzXSgxMC1leHByZXNzaW9u cy5tZCNwb3N0Zml4LWluY3JlbWVudC1hbmQtZGVjcmVtZW50LW9wZXJhdG9ycykKKyAgICAtIFtQ cmVmaXggSW5jcmVtZW50IGFuZCBEZWNyZW1lbnQgT3BlcmF0b3JzXSgxMC1leHByZXNzaW9ucy5t ZCNwcmVmaXgtaW5jcmVtZW50LWFuZC1kZWNyZW1lbnQtb3BlcmF0b3JzKQorICAgIC0gW1NoZWxs IENvbW1hbmQgT3BlcmF0b3JdKDEwLWV4cHJlc3Npb25zLm1kI3NoZWxsLWNvbW1hbmQtb3BlcmF0 b3IpCiAgICAgLSBbU2NvcGUtUmVzb2x1dGlvbiBPcGVyYXRvcl0oMTAtZXhwcmVzc2lvbnMubWQj c2NvcGUtcmVzb2x1dGlvbi1vcGVyYXRvcikKICAgLSBbVGhlIGBjbG9uZWAgT3BlcmF0b3JdKDEw LWV4cHJlc3Npb25zLm1kI3RoZS1jbG9uZS1vcGVyYXRvcikKICAgLSBbRXhwb25lbnRpYXRpb24g T3BlcmF0b3JdKDEwLWV4cHJlc3Npb25zLm1kI2V4cG9uZW50aWF0aW9uLW9wZXJhdG9yKQogICAt IFtVbmFyeSBPcGVyYXRvcnNdKDEwLWV4cHJlc3Npb25zLm1kI3VuYXJ5LW9wZXJhdG9ycykKICAg ICAtIFtHZW5lcmFsXSgxMC1leHByZXNzaW9ucy5tZCNnZW5lcmFsLTMpCi0gICAgLSBbUHJlZml4 IEluY3JlbWVudCBhbmQgRGVjcmVtZW50IE9wZXJhdG9yc10oMTAtZXhwcmVzc2lvbnMubWQjcHJl Zml4LWluY3JlbWVudC1hbmQtZGVjcmVtZW50LW9wZXJhdG9ycykKICAgICAtIFtVbmFyeSBBcml0 aG1ldGljIE9wZXJhdG9yc10oMTAtZXhwcmVzc2lvbnMubWQjdW5hcnktYXJpdGhtZXRpYy1vcGVy YXRvcnMpCiAgICAgLSBbRXJyb3IgQ29udHJvbCBPcGVyYXRvcl0oMTAtZXhwcmVzc2lvbnMubWQj ZXJyb3ItY29udHJvbC1vcGVyYXRvcikKLSAgICAtIFtTaGVsbCBDb21tYW5kIE9wZXJhdG9yXSgx MC1leHByZXNzaW9ucy5tZCNzaGVsbC1jb21tYW5kLW9wZXJhdG9yKQogICAgIC0gW0Nhc3QgT3Bl cmF0b3JdKDEwLWV4cHJlc3Npb25zLm1kI2Nhc3Qtb3BlcmF0b3IpCiAgIC0gW2BpbnN0YW5jZW9m YCBPcGVyYXRvcl0oMTAtZXhwcmVzc2lvbnMubWQjaW5zdGFuY2VvZi1vcGVyYXRvcikKICAgLSBb TG9naWNhbCBOT1QgT3BlcmF0b3JdKDEwLWV4cHJlc3Npb25zLm1kI2xvZ2ljYWwtbm90LW9wZXJh dG9yKQpkaWZmIC0tZ2l0IGEvc3BlYy8xMC1leHByZXNzaW9ucy5tZCBiL3NwZWMvMTAtZXhwcmVz c2lvbnMubWQKaW5kZXggNWYyMmRjNy4uZWQ1MGQ3NSAxMDA2NDQKLS0tIGEvc3BlYy8xMC1leHBy ZXNzaW9ucy5tZAorKysgYi9zcGVjLzEwLWV4cHJlc3Npb25zLm1kCkBAIC0xMDEsNiArMTAxLDkg QEAgcHJpbWFyeS1leHByZXNzaW9uOgogICBvYmplY3QtY3JlYXRpb24tZXhwcmVzc2lvbgogICBw b3N0Zml4LWluY3JlbWVudC1leHByZXNzaW9uCiAgIHBvc3RmaXgtZGVjcmVtZW50LWV4cHJlc3Np b24KKyAgcHJlZml4LWluY3JlbWVudC1leHByZXNzaW9uCisgIHByZWZpeC1kZWNyZW1lbnQtZXhw cmVzc2lvbgorICBzaGVsbC1jb21tYW5kLWV4cHJlc3Npb24KICAgJygnIGV4cHJlc3Npb24gJykn CiAtLT4KIApAQCAtMTE2LDYgKzExOSw5IEBAIHByaW1hcnktZXhwcmVzc2lvbjoKICAgIDxpPjxh IGhyZWY9IiNncmFtbWFyLW9iamVjdC1jcmVhdGlvbi1leHByZXNzaW9uIj5vYmplY3QtY3JlYXRp b24tZXhwcmVzc2lvbjwvYT48L2k+CiAgICA8aT48YSBocmVmPSIjZ3JhbW1hci1wb3N0Zml4LWlu Y3JlbWVudC1leHByZXNzaW9uIj5wb3N0Zml4LWluY3JlbWVudC1leHByZXNzaW9uPC9hPjwvaT4K ICAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLXBvc3RmaXgtZGVjcmVtZW50LWV4cHJlc3Npb24iPnBv c3RmaXgtZGVjcmVtZW50LWV4cHJlc3Npb248L2E+PC9pPgorICAgPGk+PGEgaHJlZj0iI2dyYW1t YXItcHJlZml4LWluY3JlbWVudC1leHByZXNzaW9uIj5wcmVmaXgtaW5jcmVtZW50LWV4cHJlc3Np b248L2E+PC9pPgorICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItcHJlZml4LWRlY3JlbWVudC1leHBy ZXNzaW9uIj5wcmVmaXgtZGVjcmVtZW50LWV4cHJlc3Npb248L2E+PC9pPgorICAgPGk+PGEgaHJl Zj0iI2dyYW1tYXItc2hlbGwtY29tbWFuZC1leHByZXNzaW9uIj5zaGVsbC1jb21tYW5kLWV4cHJl c3Npb248L2E+PC9pPgogICAgKCAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLWV4cHJlc3Npb24iPmV4 cHJlc3Npb248L2E+PC9pPiAgICkKIDwvcHJlPgogCkBAIC0xNDk0LDkgKzE1MDAsMTAgQEAgY2xh c3MgUG9pbnQKICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQogICB7CiAgICAgcmV0dXJu ICcoJyAuICR0aGlzLT54IC4gJywnIC4gJHRoaXMtPnkgLiAnKSc7Ci0gIH0gICAgIC8vIGdldCBw cml2YXRlIHByb3BlcnRpZXMgJHggYW5kICR5Ci0gICAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCRu YW1lLCAkdmFsdWUpIHsgLi4uIH0KLSAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJG5hbWUpIHsg Li4uIH0KKyAgfQorICAvLyBnZXQgcHJpdmF0ZSBwcm9wZXJ0aWVzICR4IGFuZCAkeQorICBwdWJs aWMgZnVuY3Rpb24gX19zZXQoJG5hbWUsICR2YWx1ZSkgeyAuLi4gfQorICBwdWJsaWMgZnVuY3Rp b24gX19nZXQoJG5hbWUpIHsgLi4uIH0KIH0KICRwMSA9IG5ldyBQb2ludDsKICRwMS0+bW92ZSgz LCA5KTsgIC8vIGNhbGxzIHB1YmxpYyBpbnN0YW5jZSBtZXRob2QgbW92ZSBieSBuYW1lCkBAIC0x NTg0LDYgKzE1OTEsMTU4IEBAICRpID0gMTA7ICRqID0gJGktLSArIDEwMDsgICAvLyBvbGQgdmFs dWUgb2YgJGkgKDEwKSBpcyBhZGRlZCB0byAxMDAKICRhID0gYXJyYXkoMTAwLCAyMDApOyAkdiA9 ICRhWzFdKys7IC8vIG9sZCB2YWx1ZSBvZiAkaWFbMV0gKDIwMCkgaXMgYXNzaWduZWQKIGBgYAog CisjIyMgUHJlZml4IEluY3JlbWVudCBhbmQgRGVjcmVtZW50IE9wZXJhdG9ycworCisqKlN5bnRh eCoqCisKKzwhLS0gR1JBTU1BUgorcHJlZml4LWluY3JlbWVudC1leHByZXNzaW9uOgorICAnKysn IHZhcmlhYmxlCisKK3ByZWZpeC1kZWNyZW1lbnQtZXhwcmVzc2lvbjoKKyAgJy0tJyB2YXJpYWJs ZQorLS0+CisKKzxwcmU+Cis8aSBpZD0iZ3JhbW1hci1wcmVmaXgtaW5jcmVtZW50LWV4cHJlc3Np b24iPnByZWZpeC1pbmNyZW1lbnQtZXhwcmVzc2lvbjo8L2k+CisgICArKyAgIDxpPjxhIGhyZWY9 IiNncmFtbWFyLXZhcmlhYmxlIj52YXJpYWJsZTwvYT48L2k+CisKKzxpIGlkPSJncmFtbWFyLXBy ZWZpeC1kZWNyZW1lbnQtZXhwcmVzc2lvbiI+cHJlZml4LWRlY3JlbWVudC1leHByZXNzaW9uOjwv aT4KKyAgIC0tICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItdmFyaWFibGUiPnZhcmlhYmxlPC9hPjwv aT4KKzwvcHJlPgorCisqKkNvbnN0cmFpbnRzKioKKworVGhlIG9wZXJhbmQgb2YgdGhlIHByZWZp eCBgKytgIG9yIGAtLWAgb3BlcmF0b3IgbXVzdCBiZSBhIG1vZGlmaWFibGUgbHZhbHVlCit0aGF0 IGhhcyBzY2FsYXItY29tcGF0aWJsZSB0eXBlLgorCisqKlNlbWFudGljcyoqCisKKypBcml0aG1l dGljIE9wZXJhbmRzKgorCitGb3IgYSBwcmVmaXggYCsrYCBvcGVyYXRvciB1c2VkIHdpdGggYW4g YXJpdGhtZXRpYyBvcGVyYW5kLCB0aGUgW3NpZGUKK2VmZmVjdF0oI2dlbmVyYWwpIG9mIHRoZSBv cGVyYXRvciBpcyB0byBpbmNyZW1lbnQgdGhlIHZhbHVlIG9mIHRoZSBvcGVyYW5kIGJ5IDEuCitU aGUgcmVzdWx0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgb3BlcmFuZCBhZnRlciBpdAoraGFzIGJlZW4g aW5jcmVtZW50ZWQuIElmIGFuIGBpbnRgIG9wZXJhbmQncyB2YWx1ZSBpcyB0aGUgbGFyZ2VzdAor cmVwcmVzZW50YWJsZSBmb3IgdGhhdCB0eXBlLCB0aGUgb3BlcmFuZCBpcyBpbmNyZW1lbnRlZCBh cyBpZiBpdCB3ZXJlIGBmbG9hdGAuCisKK0ZvciBhIHByZWZpeCBgLS1gIG9wZXJhdG9yIHVzZWQg d2l0aCBhbiBhcml0aG1ldGljIG9wZXJhbmQsIHRoZSBzaWRlCitlZmZlY3Qgb2YgdGhlIG9wZXJh dG9yIGlzIHRvIGRlY3JlbWVudCB0aGUgdmFsdWUgb2YgdGhlIG9wZXJhbmQgYnkgMS4KK1RoZSBy ZXN1bHQgaXMgdGhlIHZhbHVlIG9mIHRoZSBvcGVyYW5kIGFmdGVyIGl0IGhhcyBiZWVuCitkZWNy ZW1lbnRlZC4gSWYgYW4gYGludGAgb3BlcmFuZCdzIHZhbHVlIGlzIHRoZSBzbWFsbGVzdCByZXBy ZXNlbnRhYmxlIGZvcgordGhhdCB0eXBlLCB0aGUgb3BlcmFuZCBpcyBkZWNyZW1lbnRlZCBhcyBp ZiBpdCB3ZXJlIGBmbG9hdGAuCisKK0ZvciBhIHByZWZpeCBgKytgIG9yIGAtLWAgb3BlcmF0b3Ig dXNlZCB3aXRoIGFuIG9wZXJhbmQgaGF2aW5nIHRoZSB2YWx1ZQorYElORmAsIGAtSU5GYCwgb3Ig YE5BTmAsIHRoZXJlIGlzIG5vIHNpZGUgZWZmZWN0LCBhbmQgdGhlIHJlc3VsdCBpcyB0aGUKK29w ZXJhbmQncyB2YWx1ZS4KKworKkJvb2xlYW4gT3BlcmFuZHMqCisKK0ZvciBhIHByZWZpeCBgKytg IG9yIGAtLWAgb3BlcmF0b3IgdXNlZCB3aXRoIGEgQm9vbGVhbi12YWx1ZWQgb3BlcmFuZCwgdGhl cmUKK2lzIG5vIHNpZGUgZWZmZWN0LCBhbmQgdGhlIHJlc3VsdCBpcyB0aGUgb3BlcmFuZCdzIHZh bHVlLgorCisqTlVMTC12YWx1ZWQgT3BlcmFuZHMqCisKK0ZvciBhIHByZWZpeCAtLSBvcGVyYXRv ciB1c2VkIHdpdGggYSBgTlVMTGAtdmFsdWVkIG9wZXJhbmQsIHRoZXJlIGlzIG5vCitzaWRlIGVm ZmVjdCwgYW5kIHRoZSByZXN1bHQgaXMgdGhlIG9wZXJhbmQncyB2YWx1ZS4gRm9yIGEgcHJlZml4 IGArK2AKK29wZXJhdG9yIHVzZWQgd2l0aCBhIGBOVUxMYC12YWx1ZWQgb3BlcmFuZCwgdGhlIHNp ZGUgZWZmZWN0IGlzIHRoYXQgdGhlCitvcGVyYW5kJ3MgdHlwZSBpcyBjaGFuZ2VkIHRvIGludCwg dGhlIG9wZXJhbmQncyB2YWx1ZSBpcyBzZXQgdG8gemVybywKK2FuZCB0aGF0IHZhbHVlIGlzIGlu Y3JlbWVudGVkIGJ5IDEuIFRoZSByZXN1bHQgaXMgdGhlIHZhbHVlIG9mIHRoZQorb3BlcmFuZCBh ZnRlciBpdCBoYXMgYmVlbiBpbmNyZW1lbnRlZC4KKworKlN0cmluZyBPcGVyYW5kcyoKKworRm9y IGEgcHJlZml4IGAtLWAgb3BlcmF0b3IgdXNlZCB3aXRoIGFuIG9wZXJhbmQgd2hvc2UgdmFsdWUg aXMgYW4gZW1wdHkKK3N0cmluZywgdGhlIHNpZGUgZWZmZWN0IGlzIHRoYXQgdGhlIG9wZXJhbmQn cyB0eXBlIGlzIGNoYW5nZWQgdG8gYGludGAsCit0aGUgb3BlcmFuZCdzIHZhbHVlIGlzIHNldCB0 byB6ZXJvLCBhbmQgdGhhdCB2YWx1ZSBpcyBkZWNyZW1lbnRlZCBieSAxLgorVGhlIHJlc3VsdCBp cyB0aGUgdmFsdWUgb2YgdGhlIG9wZXJhbmQgYWZ0ZXIgaXQgaGFzIGJlZW4gaW5jcmVtZW50ZWQu CisKK0ZvciBhIHByZWZpeCBgKytgIG9wZXJhdG9yIHVzZWQgd2l0aCBhbiBvcGVyYW5kIHdob3Nl IHZhbHVlIGlzIGFuIGVtcHR5CitzdHJpbmcsIHRoZSBzaWRlIGVmZmVjdCBpcyB0aGF0IHRoZSBv cGVyYW5kJ3MgdmFsdWUgaXMgY2hhbmdlZCB0byB0aGUKK3N0cmluZyAiMSIuIFRoZSB0eXBlIG9m IHRoZSBvcGVyYW5kIGlzIHVuY2hhbmdlZC4gVGhlIHJlc3VsdCBpcyB0aGUgbmV3Cit2YWx1ZSBv ZiB0aGUgb3BlcmFuZC4KKworRm9yIGEgcHJlZml4IGAtLWAgb3IgYCsrYCBvcGVyYXRvciB1c2Vk IHdpdGggYSBudW1lcmljIHN0cmluZywgdGhlIG51bWVyaWMKK3N0cmluZyBpcyB0cmVhdGVkIGFz IHRoZSBjb3JyZXNwb25kaW5nIGBpbnRgIG9yIGBmbG9hdGAgdmFsdWUuCisKK0ZvciBhIHByZWZp eCBgLS1gIG9wZXJhdG9yIHVzZWQgd2l0aCBhIG5vbi1udW1lcmljIHN0cmluZy12YWx1ZWQgb3Bl cmFuZCwKK3RoZXJlIGlzIG5vIHNpZGUgZWZmZWN0LCBhbmQgdGhlIHJlc3VsdCBpcyB0aGUgb3Bl cmFuZCdzIHZhbHVlLgorCitGb3IgYSBub24tbnVtZXJpYyBzdHJpbmctdmFsdWVkIG9wZXJhbmQg dGhhdCBjb250YWlucyBvbmx5IGFscGhhbnVtZXJpYworY2hhcmFjdGVycywgZm9yIGEgcHJlZml4 IGArK2Agb3BlcmF0b3IsIHRoZSBvcGVyYW5kIGlzIGNvbnNpZGVyZWQgdG8gYmUgYQorcmVwcmVz ZW50YXRpb24gb2YgYSBiYXNlLTM2IG51bWJlciAoaS5lLiwgd2l0aCBkaWdpdHMgMOKAkzkgZm9s bG93ZWQgYnkgQeKAk1ogb3IgYeKAk3opIGluCit3aGljaCBsZXR0ZXIgY2FzZSBpcyBpZ25vcmVk IGZvciB2YWx1ZSBwdXJwb3Nlcy4gVGhlIHJpZ2h0LW1vc3QgZGlnaXQgaXMKK2luY3JlbWVudGVk IGJ5IDEuIEZvciB0aGUgZGlnaXRzIDDigJM4LCB0aGF0IG1lYW5zIGdvaW5nIHRvIDHigJM5LiBG b3IgdGhlCitsZXR0ZXJzICJBIuKAkyJZIiAob3IgImEi4oCTInkiKSwgdGhhdCBtZWFucyBnb2lu ZyB0byAiQiLigJMiWiIgKG9yICJiIuKAkyJ6IikuCitGb3IgdGhlIGRpZ2l0IDksIHRoZSBkaWdp dCBiZWNvbWVzIDAsIGFuZCB0aGUgY2FycnkgaXMgYWRkZWQgdG8gdGhlIG5leHQKK2xlZnQtbW9z dCBkaWdpdCwgYW5kIHNvIG9uLiBGb3IgdGhlIGRpZ2l0ICJaIiAob3IgInoiKSwgdGhlIHJlc3Vs dGluZworc3RyaW5nIGhhcyBhbiBleHRyYSBkaWdpdCAiQSIgKG9yICJhIikgYXBwZW5kZWQuIEZv ciBleGFtcGxlLCB3aGVuCitpbmNyZW1lbnRpbmcsICJhIiAtPiAiYiIsICJaIiAtPiAiQUEiLCAi QUEiIC0+ICJBQiIsICJGMjkiIC0+ICJGMzAiLCAiRlo5IiAtPiAiR0EwIiwgYW5kICJaWjkiIC0+ ICJBQUEwIi4gQSBkaWdpdCBwb3NpdGlvbiBjb250YWluaW5nIGEgbnVtYmVyIHdyYXBzCittb2R1 bG8tMTAsIHdoaWxlIGEgZGlnaXQgcG9zaXRpb24gY29udGFpbmluZyBhIGxldHRlciB3cmFwcyBt b2R1bG8tMjYuCisKK0ZvciBhIG5vbi1udW1lcmljIHN0cmluZy12YWx1ZWQgb3BlcmFuZCB0aGF0 IGNvbnRhaW5zIGFueQorbm9uLWFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBmb3IgYSBwcmVmaXgg YCsrYCBvcGVyYXRvciwgYWxsIGNoYXJhY3RlcnMgdXAKK3RvIGFuZCBpbmNsdWRpbmcgdGhlIHJp Z2h0LW1vc3Qgbm9uLWFscGhhbnVtZXJpYyBjaGFyYWN0ZXIgaXMgcGFzc2VkCit0aHJvdWdoIHRv IHRoZSByZXN1bHRpbmcgc3RyaW5nLCB1bmNoYW5nZWQuIENoYXJhY3RlcnMgdG8gdGhlIHJpZ2h0 IG9mCit0aGF0IHJpZ2h0LW1vc3Qgbm9uLWFscGhhbnVtZXJpYyBjaGFyYWN0ZXIgYXJlIHRyZWF0 ZWQgbGlrZSBhCitub24tbnVtZXJpYyBzdHJpbmctdmFsdWVkIG9wZXJhbmQgdGhhdCBjb250YWlu cyBvbmx5IGFscGhhbnVtZXJpYworY2hhcmFjdGVycywgZXhjZXB0IHRoYXQgdGhlIHJlc3VsdGlu ZyBzdHJpbmcgd2lsbCBub3QgYmUgZXh0ZW5kZWQuCitJbnN0ZWFkLCBhIGRpZ2l0IHBvc2l0aW9u IGNvbnRhaW5pbmcgYSBudW1iZXIgd3JhcHMgbW9kdWxvLTEwLCB3aGlsZSBhCitkaWdpdCBwb3Np dGlvbiBjb250YWluaW5nIGEgbGV0dGVyIHdyYXBzIG1vZHVsby0yNi4KKworKk9iamVjdCBPcGVy YW5kcyoKKworSWYgdGhlIG9wZXJhbmQgaGFzIGFuIG9iamVjdCB0eXBlIHN1cHBvcnRpbmcgdGhl IG9wZXJhdGlvbiwKK3RoZW4gdGhlIG9iamVjdCBzZW1hbnRpY3MgZGVmaW5lcyB0aGUgcmVzdWx0 LiBPdGhlcndpc2UsIHRoZSBvcGVyYXRpb24gaGFzCitubyBlZmZlY3QgYW5kIHRoZSByZXN1bHQg aXMgdGhlIG9wZXJhbmQuCisKKyoqRXhhbXBsZXMqKgorCitgYGBQSFAKKyRpID0gMTA7ICRqID0g LS0kaSArIDEwMDsgICAvLyBuZXcgdmFsdWUgb2YgJGkgKDkpIGlzIGFkZGVkIHRvIDEwMAorJGEg PSBhcnJheSgxMDAsIDIwMCk7ICR2ID0gKyskYVsxXTsgLy8gbmV3IHZhbHVlIG9mICRhWzFdICgy MDEpIGlzIGFzc2lnbmVkCiskYSA9ICJeXloiOyArKyRhOyAvLyAkYSBpcyBub3cgIl5eQSIKKyRh ID0gIl5eWl5eIjsgKyskYTsgLy8gJGEgaXMgbm93ICJeXlpeXiIKK2BgYAorCisjIyMgU2hlbGwg Q29tbWFuZCBPcGVyYXRvcgorCisqKlN5bnRheCoqCisKKzwhLS0gR1JBTU1BUgorc2hlbGwtY29t bWFuZC1leHByZXNzaW9uOgorICAnYCcgZHEtY2hhci1zZXF1ZW5jZT8gJ2AnCistLT4KKworPHBy ZT4KKzxpIGlkPSJncmFtbWFyLXNoZWxsLWNvbW1hbmQtZXhwcmVzc2lvbiI+c2hlbGwtY29tbWFu ZC1leHByZXNzaW9uOjwvaT4KKyAgIGAgICA8aT48YSBocmVmPSIwOS1sZXhpY2FsLXN0cnVjdHVy ZS5tZCNncmFtbWFyLWRxLWNoYXItc2VxdWVuY2UiPmRxLWNoYXItc2VxdWVuY2U8L2E+PC9pPjxz dWI+b3B0PC9zdWI+ICAgYAorPC9wcmU+CisKK3doZXJlIFxgIGlzIHRoZSBHUkFWRSBBQ0NFTlQg Y2hhcmFjdGVyIFUrMDA2MCwgY29tbW9ubHkgcmVmZXJyZWQgdG8gYXMgYQorKmJhY2t0aWNrKi4K KworKipTZW1hbnRpY3MqKgorCitUaGlzIG9wZXJhdG9yIHBhc3NlcyAqZHEtY2hhci1zZXF1ZW5j ZSogdG8gdGhlIGNvbW1hbmQgc2hlbGwgZm9yCitleGVjdXRpb24sIGFzIHRob3VnaCBpdCB3YXMg YmVpbmcgcGFzc2VkIHRvIHRoZSBsaWJyYXJ5IGZ1bmN0aW9uCitbYHNoZWxsX2V4ZWNgXShodHRw Oi8vd3d3LnBocC5uZXQvc2hlbGxfZXhlYykuIElmIHRoZSBvdXRwdXQgZnJvbSBleGVjdXRpb24g b2YgdGhhdCBjb21tYW5kIGlzCit3cml0dGVuIHRvIFtgU1RET1VUYF0oMDYtY29uc3RhbnRzLm1k I2NvcmUtcHJlZGVmaW5lZC1jb25zdGFudHMpLCB0aGF0IG91dHB1dCBpcyB0aGUgcmVzdWx0IG9m IHRoaXMgb3BlcmF0b3IKK2FzIGEgc3RyaW5nLiBJZiB0aGUgb3V0cHV0IGlzIHJlZGlyZWN0ZWQg YXdheSBmcm9tIGBTVERPVVRgLCBvcgorKmRxLWNoYXItc2VxdWVuY2UqIGlzIGVtcHR5IG9yIGNv bnRhaW5zIG9ubHkgd2hpdGUgc3BhY2UsIHRoZSByZXN1bHQgb2YKK3RoZSBvcGVyYXRvciBpcyBg TlVMTGAuCisKK0lmIFtgc2hlbGxfZXhlY2BdKGh0dHA6Ly9waHAubmV0L21hbnVhbC9mdW5jdGlv bi5zaGVsbC1leGVjLnBocCkgaXMgZGlzYWJsZWQsIHRoaXMgb3BlcmF0b3IgaXMgZGlzYWJsZWQu CisKKyoqRXhhbXBsZXMqKgorCitgYGBQSFAKKyRyZXN1bHQgPSBgbHNgOyAgICAgICAgICAgLy8g cmVzdWx0IGlzIHRoZSBvdXRwdXQgb2YgY29tbWFuZCBscworJHJlc3VsdCA9IGBscyA+ZGlybGlz dC50eHRgOyAgLy8gcmVzdWx0IGlzIE5VTEwKKyRkID0gImRpciI7ICRmID0gIiouKiI7CiskcmVz dWx0ID0gYCRkIHskZn1gOyAgICAgIC8vIHJlc3VsdCBpcyB0aGUgb3V0cHV0IG9mIGNvbW1hbmQg ZGlyICouKgorYGBgCisKICMjIyBTY29wZS1SZXNvbHV0aW9uIE9wZXJhdG9yCiAKICoqU3ludGF4 KioKQEAgLTE4MzIsMjIgKzE5OTEsMTYgQEAgZm9yIGVhY2guCiA8IS0tIEdSQU1NQVIKIHVuYXJ5 LWV4cHJlc3Npb246CiAgIGV4cG9uZW50aWF0aW9uLWV4cHJlc3Npb24KLSAgcHJlZml4LWluY3Jl bWVudC1leHByZXNzaW9uCi0gIHByZWZpeC1kZWNyZW1lbnQtZXhwcmVzc2lvbgogICB1bmFyeS1v cC1leHByZXNzaW9uCiAgIGVycm9yLWNvbnRyb2wtZXhwcmVzc2lvbgotICBzaGVsbC1jb21tYW5k LWV4cHJlc3Npb24KICAgY2FzdC1leHByZXNzaW9uCiAtLT4KIAogPHByZT4KIDxpIGlkPSJncmFt bWFyLXVuYXJ5LWV4cHJlc3Npb24iPnVuYXJ5LWV4cHJlc3Npb246PC9pPgogICAgPGk+PGEgaHJl Zj0iI2dyYW1tYXItZXhwb25lbnRpYXRpb24tZXhwcmVzc2lvbiI+ZXhwb25lbnRpYXRpb24tZXhw cmVzc2lvbjwvYT48L2k+Ci0gICA8aT48YSBocmVmPSIjZ3JhbW1hci1wcmVmaXgtaW5jcmVtZW50 LWV4cHJlc3Npb24iPnByZWZpeC1pbmNyZW1lbnQtZXhwcmVzc2lvbjwvYT48L2k+Ci0gICA8aT48 YSBocmVmPSIjZ3JhbW1hci1wcmVmaXgtZGVjcmVtZW50LWV4cHJlc3Npb24iPnByZWZpeC1kZWNy ZW1lbnQtZXhwcmVzc2lvbjwvYT48L2k+CiAgICA8aT48YSBocmVmPSIjZ3JhbW1hci11bmFyeS1v cC1leHByZXNzaW9uIj51bmFyeS1vcC1leHByZXNzaW9uPC9hPjwvaT4KICAgIDxpPjxhIGhyZWY9 IiNncmFtbWFyLWVycm9yLWNvbnRyb2wtZXhwcmVzc2lvbiI+ZXJyb3ItY29udHJvbC1leHByZXNz aW9uPC9hPjwvaT4KLSAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLXNoZWxsLWNvbW1hbmQtZXhwcmVz c2lvbiI+c2hlbGwtY29tbWFuZC1leHByZXNzaW9uPC9hPjwvaT4KICAgIDxpPjxhIGhyZWY9IiNn cmFtbWFyLWNhc3QtZXhwcmVzc2lvbiI+Y2FzdC1leHByZXNzaW9uPC9hPjwvaT4KIDwvcHJlPgog CkBAIC0xODU1LDExOSArMjAwOCw2IEBAIHVuYXJ5LWV4cHJlc3Npb246CiAKIFRoZXNlIG9wZXJh dG9ycyBhc3NvY2lhdGUgcmlnaHQtdG8tbGVmdC4KIAotIyMjIFByZWZpeCBJbmNyZW1lbnQgYW5k IERlY3JlbWVudCBPcGVyYXRvcnMKLQotKipTeW50YXgqKgotCi08IS0tIEdSQU1NQVIKLXByZWZp eC1pbmNyZW1lbnQtZXhwcmVzc2lvbjoKLSAgJysrJyB2YXJpYWJsZQotCi1wcmVmaXgtZGVjcmVt ZW50LWV4cHJlc3Npb246Ci0gICctLScgdmFyaWFibGUKLS0tPgotCi08cHJlPgotPGkgaWQ9Imdy YW1tYXItcHJlZml4LWluY3JlbWVudC1leHByZXNzaW9uIj5wcmVmaXgtaW5jcmVtZW50LWV4cHJl c3Npb246PC9pPgotICAgKysgICA8aT48YSBocmVmPSIjZ3JhbW1hci12YXJpYWJsZSI+dmFyaWFi bGU8L2E+PC9pPgotCi08aSBpZD0iZ3JhbW1hci1wcmVmaXgtZGVjcmVtZW50LWV4cHJlc3Npb24i PnByZWZpeC1kZWNyZW1lbnQtZXhwcmVzc2lvbjo8L2k+Ci0gICAtLSAgIDxpPjxhIGhyZWY9IiNn cmFtbWFyLXZhcmlhYmxlIj52YXJpYWJsZTwvYT48L2k+Ci08L3ByZT4KLQotKipDb25zdHJhaW50 cyoqCi0KLVRoZSBvcGVyYW5kIG9mIHRoZSBwcmVmaXggYCsrYCBvciBgLS1gIG9wZXJhdG9yIG11 c3QgYmUgYSBtb2RpZmlhYmxlIGx2YWx1ZQotdGhhdCBoYXMgc2NhbGFyLWNvbXBhdGlibGUgdHlw ZS4KLQotKipTZW1hbnRpY3MqKgotCi0qQXJpdGhtZXRpYyBPcGVyYW5kcyoKLQotRm9yIGEgcHJl Zml4IGArK2Agb3BlcmF0b3IgdXNlZCB3aXRoIGFuIGFyaXRobWV0aWMgb3BlcmFuZCwgdGhlIFtz aWRlCi1lZmZlY3RdKCNnZW5lcmFsKSBvZiB0aGUgb3BlcmF0b3IgaXMgdG8gaW5jcmVtZW50IHRo ZSB2YWx1ZSBvZiB0aGUgb3BlcmFuZCBieSAxLgotVGhlIHJlc3VsdCBpcyB0aGUgdmFsdWUgb2Yg dGhlIG9wZXJhbmQgYWZ0ZXIgaXQKLWhhcyBiZWVuIGluY3JlbWVudGVkLiBJZiBhbiBgaW50YCBv cGVyYW5kJ3MgdmFsdWUgaXMgdGhlIGxhcmdlc3QKLXJlcHJlc2VudGFibGUgZm9yIHRoYXQgdHlw ZSwgdGhlIG9wZXJhbmQgaXMgaW5jcmVtZW50ZWQgYXMgaWYgaXQgd2VyZSBgZmxvYXRgLgotCi1G b3IgYSBwcmVmaXggYC0tYCBvcGVyYXRvciB1c2VkIHdpdGggYW4gYXJpdGhtZXRpYyBvcGVyYW5k LCB0aGUgc2lkZQotZWZmZWN0IG9mIHRoZSBvcGVyYXRvciBpcyB0byBkZWNyZW1lbnQgdGhlIHZh bHVlIG9mIHRoZSBvcGVyYW5kIGJ5IDEuCi1UaGUgcmVzdWx0IGlzIHRoZSB2YWx1ZSBvZiB0aGUg b3BlcmFuZCBhZnRlciBpdCBoYXMgYmVlbgotZGVjcmVtZW50ZWQuIElmIGFuIGBpbnRgIG9wZXJh bmQncyB2YWx1ZSBpcyB0aGUgc21hbGxlc3QgcmVwcmVzZW50YWJsZSBmb3IKLXRoYXQgdHlwZSwg dGhlIG9wZXJhbmQgaXMgZGVjcmVtZW50ZWQgYXMgaWYgaXQgd2VyZSBgZmxvYXRgLgotCi1Gb3Ig YSBwcmVmaXggYCsrYCBvciBgLS1gIG9wZXJhdG9yIHVzZWQgd2l0aCBhbiBvcGVyYW5kIGhhdmlu ZyB0aGUgdmFsdWUKLWBJTkZgLCBgLUlORmAsIG9yIGBOQU5gLCB0aGVyZSBpcyBubyBzaWRlIGVm ZmVjdCwgYW5kIHRoZSByZXN1bHQgaXMgdGhlCi1vcGVyYW5kJ3MgdmFsdWUuCi0KLSpCb29sZWFu IE9wZXJhbmRzKgotCi1Gb3IgYSBwcmVmaXggYCsrYCBvciBgLS1gIG9wZXJhdG9yIHVzZWQgd2l0 aCBhIEJvb2xlYW4tdmFsdWVkIG9wZXJhbmQsIHRoZXJlCi1pcyBubyBzaWRlIGVmZmVjdCwgYW5k IHRoZSByZXN1bHQgaXMgdGhlIG9wZXJhbmQncyB2YWx1ZS4KLQotKk5VTEwtdmFsdWVkIE9wZXJh bmRzKgotCi1Gb3IgYSBwcmVmaXggLS0gb3BlcmF0b3IgdXNlZCB3aXRoIGEgYE5VTExgLXZhbHVl ZCBvcGVyYW5kLCB0aGVyZSBpcyBubwotc2lkZSBlZmZlY3QsIGFuZCB0aGUgcmVzdWx0IGlzIHRo ZSBvcGVyYW5kJ3MgdmFsdWUuIEZvciBhIHByZWZpeCBgKytgCi1vcGVyYXRvciB1c2VkIHdpdGgg YSBgTlVMTGAtdmFsdWVkIG9wZXJhbmQsIHRoZSBzaWRlIGVmZmVjdCBpcyB0aGF0IHRoZQotb3Bl cmFuZCdzIHR5cGUgaXMgY2hhbmdlZCB0byBpbnQsIHRoZSBvcGVyYW5kJ3MgdmFsdWUgaXMgc2V0 IHRvIHplcm8sCi1hbmQgdGhhdCB2YWx1ZSBpcyBpbmNyZW1lbnRlZCBieSAxLiBUaGUgcmVzdWx0 IGlzIHRoZSB2YWx1ZSBvZiB0aGUKLW9wZXJhbmQgYWZ0ZXIgaXQgaGFzIGJlZW4gaW5jcmVtZW50 ZWQuCi0KLSpTdHJpbmcgT3BlcmFuZHMqCi0KLUZvciBhIHByZWZpeCBgLS1gIG9wZXJhdG9yIHVz ZWQgd2l0aCBhbiBvcGVyYW5kIHdob3NlIHZhbHVlIGlzIGFuIGVtcHR5Ci1zdHJpbmcsIHRoZSBz aWRlIGVmZmVjdCBpcyB0aGF0IHRoZSBvcGVyYW5kJ3MgdHlwZSBpcyBjaGFuZ2VkIHRvIGBpbnRg LAotdGhlIG9wZXJhbmQncyB2YWx1ZSBpcyBzZXQgdG8gemVybywgYW5kIHRoYXQgdmFsdWUgaXMg ZGVjcmVtZW50ZWQgYnkgMS4KLVRoZSByZXN1bHQgaXMgdGhlIHZhbHVlIG9mIHRoZSBvcGVyYW5k IGFmdGVyIGl0IGhhcyBiZWVuIGluY3JlbWVudGVkLgotCi1Gb3IgYSBwcmVmaXggYCsrYCBvcGVy YXRvciB1c2VkIHdpdGggYW4gb3BlcmFuZCB3aG9zZSB2YWx1ZSBpcyBhbiBlbXB0eQotc3RyaW5n LCB0aGUgc2lkZSBlZmZlY3QgaXMgdGhhdCB0aGUgb3BlcmFuZCdzIHZhbHVlIGlzIGNoYW5nZWQg dG8gdGhlCi1zdHJpbmcgIjEiLiBUaGUgdHlwZSBvZiB0aGUgb3BlcmFuZCBpcyB1bmNoYW5nZWQu IFRoZSByZXN1bHQgaXMgdGhlIG5ldwotdmFsdWUgb2YgdGhlIG9wZXJhbmQuCi0KLUZvciBhIHBy ZWZpeCBgLS1gIG9yIGArK2Agb3BlcmF0b3IgdXNlZCB3aXRoIGEgbnVtZXJpYyBzdHJpbmcsIHRo ZSBudW1lcmljCi1zdHJpbmcgaXMgdHJlYXRlZCBhcyB0aGUgY29ycmVzcG9uZGluZyBgaW50YCBv ciBgZmxvYXRgIHZhbHVlLgotCi1Gb3IgYSBwcmVmaXggYC0tYCBvcGVyYXRvciB1c2VkIHdpdGgg YSBub24tbnVtZXJpYyBzdHJpbmctdmFsdWVkIG9wZXJhbmQsCi10aGVyZSBpcyBubyBzaWRlIGVm ZmVjdCwgYW5kIHRoZSByZXN1bHQgaXMgdGhlIG9wZXJhbmQncyB2YWx1ZS4KLQotRm9yIGEgbm9u LW51bWVyaWMgc3RyaW5nLXZhbHVlZCBvcGVyYW5kIHRoYXQgY29udGFpbnMgb25seSBhbHBoYW51 bWVyaWMKLWNoYXJhY3RlcnMsIGZvciBhIHByZWZpeCBgKytgIG9wZXJhdG9yLCB0aGUgb3BlcmFu ZCBpcyBjb25zaWRlcmVkIHRvIGJlIGEKLXJlcHJlc2VudGF0aW9uIG9mIGEgYmFzZS0zNiBudW1i ZXIgKGkuZS4sIHdpdGggZGlnaXRzIDDigJM5IGZvbGxvd2VkIGJ5IEHigJNaIG9yIGHigJN6KSBp bgotd2hpY2ggbGV0dGVyIGNhc2UgaXMgaWdub3JlZCBmb3IgdmFsdWUgcHVycG9zZXMuIFRoZSBy aWdodC1tb3N0IGRpZ2l0IGlzCi1pbmNyZW1lbnRlZCBieSAxLiBGb3IgdGhlIGRpZ2l0cyAw4oCT OCwgdGhhdCBtZWFucyBnb2luZyB0byAx4oCTOS4gRm9yIHRoZQotbGV0dGVycyAiQSLigJMiWSIg KG9yICJhIuKAkyJ5IiksIHRoYXQgbWVhbnMgZ29pbmcgdG8gIkIi4oCTIloiIChvciAiYiLigJMi eiIpLgotRm9yIHRoZSBkaWdpdCA5LCB0aGUgZGlnaXQgYmVjb21lcyAwLCBhbmQgdGhlIGNhcnJ5 IGlzIGFkZGVkIHRvIHRoZSBuZXh0Ci1sZWZ0LW1vc3QgZGlnaXQsIGFuZCBzbyBvbi4gRm9yIHRo ZSBkaWdpdCAiWiIgKG9yICJ6IiksIHRoZSByZXN1bHRpbmcKLXN0cmluZyBoYXMgYW4gZXh0cmEg ZGlnaXQgIkEiIChvciAiYSIpIGFwcGVuZGVkLiBGb3IgZXhhbXBsZSwgd2hlbgotaW5jcmVtZW50 aW5nLCAiYSIgLT4gImIiLCAiWiIgLT4gIkFBIiwgIkFBIiAtPiAiQUIiLCAiRjI5IiAtPiAiRjMw IiwgIkZaOSIgLT4gIkdBMCIsIGFuZCAiWlo5IiAtPiAiQUFBMCIuIEEgZGlnaXQgcG9zaXRpb24g Y29udGFpbmluZyBhIG51bWJlciB3cmFwcwotbW9kdWxvLTEwLCB3aGlsZSBhIGRpZ2l0IHBvc2l0 aW9uIGNvbnRhaW5pbmcgYSBsZXR0ZXIgd3JhcHMgbW9kdWxvLTI2LgotCi1Gb3IgYSBub24tbnVt ZXJpYyBzdHJpbmctdmFsdWVkIG9wZXJhbmQgdGhhdCBjb250YWlucyBhbnkKLW5vbi1hbHBoYW51 bWVyaWMgY2hhcmFjdGVycywgZm9yIGEgcHJlZml4IGArK2Agb3BlcmF0b3IsIGFsbCBjaGFyYWN0 ZXJzIHVwCi10byBhbmQgaW5jbHVkaW5nIHRoZSByaWdodC1tb3N0IG5vbi1hbHBoYW51bWVyaWMg Y2hhcmFjdGVyIGlzIHBhc3NlZAotdGhyb3VnaCB0byB0aGUgcmVzdWx0aW5nIHN0cmluZywgdW5j aGFuZ2VkLiBDaGFyYWN0ZXJzIHRvIHRoZSByaWdodCBvZgotdGhhdCByaWdodC1tb3N0IG5vbi1h bHBoYW51bWVyaWMgY2hhcmFjdGVyIGFyZSB0cmVhdGVkIGxpa2UgYQotbm9uLW51bWVyaWMgc3Ry aW5nLXZhbHVlZCBvcGVyYW5kIHRoYXQgY29udGFpbnMgb25seSBhbHBoYW51bWVyaWMKLWNoYXJh Y3RlcnMsIGV4Y2VwdCB0aGF0IHRoZSByZXN1bHRpbmcgc3RyaW5nIHdpbGwgbm90IGJlIGV4dGVu ZGVkLgotSW5zdGVhZCwgYSBkaWdpdCBwb3NpdGlvbiBjb250YWluaW5nIGEgbnVtYmVyIHdyYXBz IG1vZHVsby0xMCwgd2hpbGUgYQotZGlnaXQgcG9zaXRpb24gY29udGFpbmluZyBhIGxldHRlciB3 cmFwcyBtb2R1bG8tMjYuCi0KLSpPYmplY3QgT3BlcmFuZHMqCi0KLUlmIHRoZSBvcGVyYW5kIGhh cyBhbiBvYmplY3QgdHlwZSBzdXBwb3J0aW5nIHRoZSBvcGVyYXRpb24sCi10aGVuIHRoZSBvYmpl Y3Qgc2VtYW50aWNzIGRlZmluZXMgdGhlIHJlc3VsdC4gT3RoZXJ3aXNlLCB0aGUgb3BlcmF0aW9u IGhhcwotbm8gZWZmZWN0IGFuZCB0aGUgcmVzdWx0IGlzIHRoZSBvcGVyYW5kLgotCi0qKkV4YW1w bGVzKioKLQotYGBgUEhQCi0kaSA9IDEwOyAkaiA9IC0tJGkgKyAxMDA7ICAgLy8gbmV3IHZhbHVl IG9mICRpICg5KSBpcyBhZGRlZCB0byAxMDAKLSRhID0gYXJyYXkoMTAwLCAyMDApOyAkdiA9ICsr JGFbMV07IC8vIG5ldyB2YWx1ZSBvZiAkYVsxXSAoMjAxKSBpcyBhc3NpZ25lZAotJGEgPSAiXl5a IjsgKyskYTsgLy8gJGEgaXMgbm93ICJeXkEiCi0kYSA9ICJeXlpeXiI7ICsrJGE7IC8vICRhIGlz IG5vdyAiXl5aXl4iCi1gYGAKIAogIyMjIFVuYXJ5IEFyaXRobWV0aWMgT3BlcmF0b3JzCiAKQEAg LTIxMTUsNDQgKzIxNTUsNiBAQCBpZiAoJGN1ckVSID09PSAwKSBlcnJvcl9yZXBvcnRpbmcoJG9y aWdFUik7CiAkeCA9ICR0bXA7CiBgYGAKIAotIyMjIFNoZWxsIENvbW1hbmQgT3BlcmF0b3IKLQot KipTeW50YXgqKgotCi08IS0tIEdSQU1NQVIKLXNoZWxsLWNvbW1hbmQtZXhwcmVzc2lvbjoKLSAg J2AnIGRxLWNoYXItc2VxdWVuY2U/ICdgJwotLS0+Ci0KLTxwcmU+Ci08aSBpZD0iZ3JhbW1hci1z aGVsbC1jb21tYW5kLWV4cHJlc3Npb24iPnNoZWxsLWNvbW1hbmQtZXhwcmVzc2lvbjo8L2k+Ci0g ICBgICAgPGk+PGEgaHJlZj0iMDktbGV4aWNhbC1zdHJ1Y3R1cmUubWQjZ3JhbW1hci1kcS1jaGFy LXNlcXVlbmNlIj5kcS1jaGFyLXNlcXVlbmNlPC9hPjwvaT48c3ViPm9wdDwvc3ViPiAgIGAKLTwv cHJlPgotCi13aGVyZSBcYCBpcyB0aGUgR1JBVkUgQUNDRU5UIGNoYXJhY3RlciBVKzAwNjAsIGNv bW1vbmx5IHJlZmVycmVkIHRvIGFzIGEKLSpiYWNrdGljayouCi0KLSoqU2VtYW50aWNzKioKLQot VGhpcyBvcGVyYXRvciBwYXNzZXMgKmRxLWNoYXItc2VxdWVuY2UqIHRvIHRoZSBjb21tYW5kIHNo ZWxsIGZvcgotZXhlY3V0aW9uLCBhcyB0aG91Z2ggaXQgd2FzIGJlaW5nIHBhc3NlZCB0byB0aGUg bGlicmFyeSBmdW5jdGlvbgotW2BzaGVsbF9leGVjYF0oaHR0cDovL3d3dy5waHAubmV0L3NoZWxs X2V4ZWMpLiBJZiB0aGUgb3V0cHV0IGZyb20gZXhlY3V0aW9uIG9mIHRoYXQgY29tbWFuZCBpcwot d3JpdHRlbiB0byBbYFNURE9VVGBdKDA2LWNvbnN0YW50cy5tZCNjb3JlLXByZWRlZmluZWQtY29u c3RhbnRzKSwgdGhhdCBvdXRwdXQgaXMgdGhlIHJlc3VsdCBvZiB0aGlzIG9wZXJhdG9yCi1hcyBh IHN0cmluZy4gSWYgdGhlIG91dHB1dCBpcyByZWRpcmVjdGVkIGF3YXkgZnJvbSBgU1RET1VUYCwg b3IKLSpkcS1jaGFyLXNlcXVlbmNlKiBpcyBlbXB0eSBvciBjb250YWlucyBvbmx5IHdoaXRlIHNw YWNlLCB0aGUgcmVzdWx0IG9mCi10aGUgb3BlcmF0b3IgaXMgYE5VTExgLgotCi1JZiBbYHNoZWxs X2V4ZWNgXShodHRwOi8vcGhwLm5ldC9tYW51YWwvZnVuY3Rpb24uc2hlbGwtZXhlYy5waHApIGlz IGRpc2FibGVkLCB0aGlzIG9wZXJhdG9yIGlzIGRpc2FibGVkLgotCi0qKkV4YW1wbGVzKioKLQot YGBgUEhQCi0kcmVzdWx0ID0gYGxzYDsgICAgICAgICAgIC8vIHJlc3VsdCBpcyB0aGUgb3V0cHV0 IG9mIGNvbW1hbmQgbHMKLSRyZXN1bHQgPSBgbHMgPmRpcmxpc3QudHh0YDsgIC8vIHJlc3VsdCBp cyBOVUxMCi0kZCA9ICJkaXIiOyAkZiA9ICIqLioiOwotJHJlc3VsdCA9IGAkZCB7JGZ9YDsgICAg ICAvLyByZXN1bHQgaXMgdGhlIG91dHB1dCBvZiBjb21tYW5kIGRpciAqLioKLWBgYAotCiAjIyMg Q2FzdCBPcGVyYXRvcgogCiAqKlN5bnRheCoqCmRpZmYgLS1naXQgYS9zcGVjLzE5LWdyYW1tYXIu bWQgYi9zcGVjLzE5LWdyYW1tYXIubWQKaW5kZXggY2ViOTY3Ny4uMjE2MmZiZiAxMDA2NDQKLS0t IGEvc3BlYy8xOS1ncmFtbWFyLm1kCisrKyBiL3NwZWMvMTktZ3JhbW1hci5tZApAQCAtMzQxLDYg KzM0MSw5IEBAIFRoZSBncmFtbWFyIG5vdGF0aW9uIGlzIGRlc2NyaWJlZCBpbiBbR3JhbW1hcnMg c2VjdGlvbl0oMDktbGV4aWNhbC1zdHJ1Y3R1cmUubWQjCiAgICA8aT48YSBocmVmPSIjZ3JhbW1h ci1vYmplY3QtY3JlYXRpb24tZXhwcmVzc2lvbiI+b2JqZWN0LWNyZWF0aW9uLWV4cHJlc3Npb248 L2E+PC9pPgogICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItcG9zdGZpeC1pbmNyZW1lbnQtZXhwcmVz c2lvbiI+cG9zdGZpeC1pbmNyZW1lbnQtZXhwcmVzc2lvbjwvYT48L2k+CiAgICA8aT48YSBocmVm PSIjZ3JhbW1hci1wb3N0Zml4LWRlY3JlbWVudC1leHByZXNzaW9uIj5wb3N0Zml4LWRlY3JlbWVu dC1leHByZXNzaW9uPC9hPjwvaT4KKyAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLXByZWZpeC1pbmNy ZW1lbnQtZXhwcmVzc2lvbiI+cHJlZml4LWluY3JlbWVudC1leHByZXNzaW9uPC9hPjwvaT4KKyAg IDxpPjxhIGhyZWY9IiNncmFtbWFyLXByZWZpeC1kZWNyZW1lbnQtZXhwcmVzc2lvbiI+cHJlZml4 LWRlY3JlbWVudC1leHByZXNzaW9uPC9hPjwvaT4KKyAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLXNo ZWxsLWNvbW1hbmQtZXhwcmVzc2lvbiI+c2hlbGwtY29tbWFuZC1leHByZXNzaW9uPC9hPjwvaT4K ICAgICggICA8aT48YSBocmVmPSIjZ3JhbW1hci1leHByZXNzaW9uIj5leHByZXNzaW9uPC9hPjwv aT4gICApCiAKIDxpIGlkPSJncmFtbWFyLXNpbXBsZS12YXJpYWJsZSI+c2ltcGxlLXZhcmlhYmxl OjwvaT4KQEAgLTUzNCw2ICs1MzcsMTUgQEAgVGhlIGdyYW1tYXIgbm90YXRpb24gaXMgZGVzY3Jp YmVkIGluIFtHcmFtbWFycyBzZWN0aW9uXSgwOS1sZXhpY2FsLXN0cnVjdHVyZS5tZCMKIDxpIGlk PSJncmFtbWFyLXBvc3RmaXgtZGVjcmVtZW50LWV4cHJlc3Npb24iPnBvc3RmaXgtZGVjcmVtZW50 LWV4cHJlc3Npb246PC9pPgogICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItdmFyaWFibGUiPnZhcmlh YmxlPC9hPjwvaT4gICAtLQogCis8aSBpZD0iZ3JhbW1hci1wcmVmaXgtaW5jcmVtZW50LWV4cHJl c3Npb24iPnByZWZpeC1pbmNyZW1lbnQtZXhwcmVzc2lvbjo8L2k+CisgICArKyAgIDxpPjxhIGhy ZWY9IiNncmFtbWFyLXZhcmlhYmxlIj52YXJpYWJsZTwvYT48L2k+CisKKzxpIGlkPSJncmFtbWFy LXByZWZpeC1kZWNyZW1lbnQtZXhwcmVzc2lvbiI+cHJlZml4LWRlY3JlbWVudC1leHByZXNzaW9u OjwvaT4KKyAgIC0tICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItdmFyaWFibGUiPnZhcmlhYmxlPC9h PjwvaT4KKworPGkgaWQ9ImdyYW1tYXItc2hlbGwtY29tbWFuZC1leHByZXNzaW9uIj5zaGVsbC1j b21tYW5kLWV4cHJlc3Npb246PC9pPgorICAgYCAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLWRxLWNo YXItc2VxdWVuY2UiPmRxLWNoYXItc2VxdWVuY2U8L2E+PC9pPjxzdWI+b3B0PC9zdWI+ICAgYAor CiA8aSBpZD0iZ3JhbW1hci1zY29wZWQtcHJvcGVydHktYWNjZXNzLWV4cHJlc3Npb24iPnNjb3Bl ZC1wcm9wZXJ0eS1hY2Nlc3MtZXhwcmVzc2lvbjo8L2k+CiAgICA8aT48YSBocmVmPSIjZ3JhbW1h ci1zY29wZS1yZXNvbHV0aW9uLXF1YWxpZmllciI+c2NvcGUtcmVzb2x1dGlvbi1xdWFsaWZpZXI8 L2E+PC9pPiAgIDo6ICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItc2ltcGxlLXZhcmlhYmxlIj5zaW1w bGUtdmFyaWFibGU8L2E+PC9pPgogCkBAIC01NjMsMTkgKzU3NSwxMCBAQCBUaGUgZ3JhbW1hciBu b3RhdGlvbiBpcyBkZXNjcmliZWQgaW4gW0dyYW1tYXJzIHNlY3Rpb25dKDA5LWxleGljYWwtc3Ry dWN0dXJlLm1kIwogCiA8aSBpZD0iZ3JhbW1hci11bmFyeS1leHByZXNzaW9uIj51bmFyeS1leHBy ZXNzaW9uOjwvaT4KICAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLWV4cG9uZW50aWF0aW9uLWV4cHJl c3Npb24iPmV4cG9uZW50aWF0aW9uLWV4cHJlc3Npb248L2E+PC9pPgotICAgPGk+PGEgaHJlZj0i I2dyYW1tYXItcHJlZml4LWluY3JlbWVudC1leHByZXNzaW9uIj5wcmVmaXgtaW5jcmVtZW50LWV4 cHJlc3Npb248L2E+PC9pPgotICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItcHJlZml4LWRlY3JlbWVu dC1leHByZXNzaW9uIj5wcmVmaXgtZGVjcmVtZW50LWV4cHJlc3Npb248L2E+PC9pPgogICAgPGk+ PGEgaHJlZj0iI2dyYW1tYXItdW5hcnktb3AtZXhwcmVzc2lvbiI+dW5hcnktb3AtZXhwcmVzc2lv bjwvYT48L2k+CiAgICA8aT48YSBocmVmPSIjZ3JhbW1hci1lcnJvci1jb250cm9sLWV4cHJlc3Np b24iPmVycm9yLWNvbnRyb2wtZXhwcmVzc2lvbjwvYT48L2k+Ci0gICA8aT48YSBocmVmPSIjZ3Jh bW1hci1zaGVsbC1jb21tYW5kLWV4cHJlc3Npb24iPnNoZWxsLWNvbW1hbmQtZXhwcmVzc2lvbjwv YT48L2k+CiAgICA8aT48YSBocmVmPSIjZ3JhbW1hci1jYXN0LWV4cHJlc3Npb24iPmNhc3QtZXhw cmVzc2lvbjwvYT48L2k+CiAKLTxpIGlkPSJncmFtbWFyLXByZWZpeC1pbmNyZW1lbnQtZXhwcmVz c2lvbiI+cHJlZml4LWluY3JlbWVudC1leHByZXNzaW9uOjwvaT4KLSAgICsrICAgPGk+PGEgaHJl Zj0iI2dyYW1tYXItdmFyaWFibGUiPnZhcmlhYmxlPC9hPjwvaT4KLQotPGkgaWQ9ImdyYW1tYXIt cHJlZml4LWRlY3JlbWVudC1leHByZXNzaW9uIj5wcmVmaXgtZGVjcmVtZW50LWV4cHJlc3Npb246 PC9pPgotICAgLS0gICA8aT48YSBocmVmPSIjZ3JhbW1hci12YXJpYWJsZSI+dmFyaWFibGU8L2E+ PC9pPgotCiA8aSBpZD0iZ3JhbW1hci11bmFyeS1vcC1leHByZXNzaW9uIj51bmFyeS1vcC1leHBy ZXNzaW9uOjwvaT4KICAgIDxpPjxhIGhyZWY9IiNncmFtbWFyLXVuYXJ5LW9wZXJhdG9yIj51bmFy eS1vcGVyYXRvcjwvYT48L2k+ICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItdW5hcnktZXhwcmVzc2lv biI+dW5hcnktZXhwcmVzc2lvbjwvYT48L2k+CiAKQEAgLTU4NSw5ICs1ODgsNiBAQCBUaGUgZ3Jh bW1hciBub3RhdGlvbiBpcyBkZXNjcmliZWQgaW4gW0dyYW1tYXJzIHNlY3Rpb25dKDA5LWxleGlj YWwtc3RydWN0dXJlLm1kIwogPGkgaWQ9ImdyYW1tYXItZXJyb3ItY29udHJvbC1leHByZXNzaW9u Ij5lcnJvci1jb250cm9sLWV4cHJlc3Npb246PC9pPgogICAgQCAgIDxpPjxhIGhyZWY9IiNncmFt bWFyLXVuYXJ5LWV4cHJlc3Npb24iPnVuYXJ5LWV4cHJlc3Npb248L2E+PC9pPgogCi08aSBpZD0i Z3JhbW1hci1zaGVsbC1jb21tYW5kLWV4cHJlc3Npb24iPnNoZWxsLWNvbW1hbmQtZXhwcmVzc2lv bjo8L2k+Ci0gICBgICAgPGk+PGEgaHJlZj0iI2dyYW1tYXItZHEtY2hhci1zZXF1ZW5jZSI+ZHEt Y2hhci1zZXF1ZW5jZTwvYT48L2k+PHN1Yj5vcHQ8L3N1Yj4gICBgCi0KIDxpIGlkPSJncmFtbWFy LWNhc3QtZXhwcmVzc2lvbiI+Y2FzdC1leHByZXNzaW9uOjwvaT4KICAgICggICA8aT48YSBocmVm PSIjZ3JhbW1hci1jYXN0LXR5cGUiPmNhc3QtdHlwZTwvYT48L2k+ICAgKSAgIDxpPjxhIGhyZWY9 IiNncmFtbWFyLXVuYXJ5LWV4cHJlc3Npb24iPnVuYXJ5LWV4cHJlc3Npb248L2E+PC9pPg== --e143fde6251959894fb14c1bf8b0c345bbd85e63--