<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>39649</bug_id>
          
          <creation_ts>2010-05-24 23:35:32 -0700</creation_ts>
          <short_desc>First cut at HTML5 entities</short_desc>
          <delta_ts>2010-05-25 00:38:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>39259</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
    
    <cc>Ms2ger</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>230109</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-24 23:35:32 -0700</bug_when>
    <thetext>First cut at HTML5 entities</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230110</commentid>
    <comment_count>1</comment_count>
      <attachid>56977</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-24 23:38:26 -0700</bug_when>
    <thetext>Created attachment 56977
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230112</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-24 23:39:52 -0700</bug_when>
    <thetext>Attachment 56977 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/html/HTML5Lexer.cpp:88:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230115</commentid>
    <comment_count>3</comment_count>
      <attachid>56977</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-24 23:44:40 -0700</bug_when>
    <thetext>Comment on attachment 56977
Patch

LGTM.  Style?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230118</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-24 23:47:25 -0700</bug_when>
    <thetext>Committed r60130: &lt;http://trac.webkit.org/changeset/60130&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230135</commentid>
    <comment_count>5</comment_count>
    <who name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</who>
    <bug_when>2010-05-25 00:38:54 -0700</bug_when>
    <thetext>s/uncomsumeCharacters/unconsumeCharacters/g?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56977</attachid>
            <date>2010-05-24 23:38:26 -0700</date>
            <delta_ts>2010-05-24 23:44:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39649-20100524233824.patch</filename>
            <type>text/plain</type>
            <size>20934</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjY2YzMzFmYTNlNTIyNjIzZGI4OTAyMWY0M2U0M2Y0MWE1YjZmYjJkLi45M2Y3MTRl
YThiNjQ2MWMwZjZiOTJlZTJkOWMxNDVlM2E0YWFjMjkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTYgQEAK
IDIwMTAtMDUtMjQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAorICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXJzdCBjdXQgYXQgSFRNTDUg
ZW50aXRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM5NjQ5CisKKyAgICAgICAgVXBkYXRlIHRoZSBleHBlY3RlZCByZXN1bHRzIHRvIHNob3cgdGhl
IG5ldyBwYXNzaW5nIHRlc3RzLiAgWWF5IQorCisgICAgICAgICogaHRtbDVsaWIvd2Via2l0LXJ1
bm5lci1leHBlY3RlZC1odG1sNS50eHQ6CisKKzIwMTAtMDUtMjQgIEFkYW0gQmFydGggIDxhYmFy
dGhAd2Via2l0Lm9yZz4KKwogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KIAogICAg
ICAgICBJbXBvcnQgcmVtYWluaW5nIGh0bWw1bGliIHRlc3RzIGludG8gd2Via2l0LXJ1bm5lci5o
dG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odG1sNWxpYi93ZWJraXQtcnVubmVyLWV4cGVj
dGVkLWh0bWw1LnR4dCBiL0xheW91dFRlc3RzL2h0bWw1bGliL3dlYmtpdC1ydW5uZXItZXhwZWN0
ZWQtaHRtbDUudHh0CmluZGV4IGVhZWU3ZTJmOGE3YThlZWNmMzlmNTExZTA2OThiODljNmUwNDQz
MWQuLmI2ZjQ2ZDEzMjg1ZTYwZjg4MmE2ZjhkNjNlOWY3NjlkNGY5ZjhlYTAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0bWw1bGliL3dlYmtpdC1ydW5uZXItZXhwZWN0ZWQtaHRtbDUudHh0Cisr
KyBiL0xheW91dFRlc3RzL2h0bWw1bGliL3dlYmtpdC1ydW5uZXItZXhwZWN0ZWQtaHRtbDUudHh0
CkBAIC0yNSwxNSArMjUsMTUgQEAgQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFN5bnRheEVycm9y
OiBQYXJzZSBlcnJvcgogQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluCiByZXNvdXJjZXMvdGVzdHMx
LmRhdDogMjUsIDI5LCAzMCwgMzIsIDMzLCAzNCwgMzUsIDM3LCAzOCwgMzksIDQwLCA0MSwgNDIs
IDQzLCA0NCwgNDUsIDQ2LCA0NywgNDgsIDUwLCA1MSwgNTIsIDUzLCA1NCwgNTcsIDU5LCA3OCwg
NzksIDgwLCA4MSwgODIsIDg3LCA5MCwgOTEsIDkyLCA5NiwgOTgsIDEwMSwgMTA0LCAxMDYsIDEw
OSwgMTEzCiAKLXJlc291cmNlcy90ZXN0czIuZGF0OiA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAx
NiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI5LCAzMCwgMzIsIDMzLCAzNiwgNDAsIDQy
LCA0NCwgNDUsIDUzLCA1NCwgNTcKK3Jlc291cmNlcy90ZXN0czIuZGF0OiA2LCA3LCA4LCA5LCAx
MCwgMTEsIDEyLCAxNywgMTgsIDE5LCAyMCwgMjEsIDIyLCAyOSwgMzIsIDMzLCAzNiwgNDAsIDQy
LCA0NCwgNDUsIDUzLCA1NCwgNTcKIAogcmVzb3VyY2VzL3Rlc3RzMy5kYXQ6IDUsIDYsIDcsIDgs
IDE2LCAxNywgMTgsIDE5CiAKIHJlc291cmNlcy90ZXN0czQuZGF0OiAzLCA1LCA2LCA3CiAKLXJl
c291cmNlcy90ZXN0czUuZGF0OiAyLCA2LCA3LCA4LCA5LCAxMywgMTQsIDE2CityZXNvdXJjZXMv
dGVzdHM1LmRhdDogMiwgNiwgNywgOCwgOSwgMTYKIAotcmVzb3VyY2VzL3Rlc3RzNi5kYXQ6IDEs
IDMsIDQsIDYsIDgsIDksIDEwLCAxMSwgMTIsIDI3LCAyOSwgMzAsIDMxLCAzNywgNDQsIDQ1LCA0
NiwgNDcsIDQ4LCA0OSwgNTAsIDUxCityZXNvdXJjZXMvdGVzdHM2LmRhdDogMSwgNiwgOCwgOSwg
MTAsIDExLCAxMiwgMjcsIDI5LCAzMCwgMzEsIDM3LCA0NCwgNDUsIDQ2LCA0NywgNDgsIDQ5LCA1
MCwgNTEKIAogcmVzb3VyY2VzL3Rlc3RzNy5kYXQ6IDEsIDIsIDUsIDYsIDksIDEyLCAxNCwgMTUs
IDE2LCAxNywgMTgsIDE5LCAyNCwgMjUsIDI3LCAyOCwgMjksIDMwCiAKQEAgLTUxLDcgKzUxLDcg
QEAgcmVzb3VyY2VzL3Rlc3RzMTQuZGF0OiBQQVNTCiAKIHJlc291cmNlcy90ZXN0czE1LmRhdDog
MywgNCwgNSwgNiwgNywgMTEsIDEyLCAxMwogCi1yZXNvdXJjZXMvdGVzdHMxNi5kYXQ6IDMsIDQs
IDUsIDYsIDcsIDgsIDksIDEwLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE3LCAyNSwgMjcsIDI4LCA0
MiwgNDQsIDQ1LCA1NiwgNTcsIDU4LCA4MiwgODQsIDg1LCA4NiwgODcsIDg4LCA5MCwgOTQsIDk3
LCA5OCwgOTksIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0LCAxMDYsIDEwNywgMTA4LCAxMDksIDEx
MCwgMTExLCAxMTksIDEyMSwgMTIyLCAxMzYsIDEzOCwgMTM5LCAxNDgsIDE0OSwgMTUwLCAxNzQs
IDE3NiwgMTc3LCAxNzgsIDE3OSwgMTgwLCAxODIsIDE4NgorcmVzb3VyY2VzL3Rlc3RzMTYuZGF0
OiAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMjUsIDI3
LCAyOCwgNDIsIDQ0LCA0NSwgNTYsIDU3LCA1OCwgODQsIDg1LCA4NiwgODcsIDg4LCA5NCwgOTcs
IDk4LCA5OSwgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNiwgMTA3LCAxMDgsIDEwOSwgMTEw
LCAxMTEsIDExOSwgMTIxLCAxMjIsIDEzNiwgMTM4LCAxMzksIDE0OCwgMTQ5LCAxNTAsIDE3Niwg
MTc3LCAxNzgsIDE3OSwgMTgwLCAxODYKIAogcmVzb3VyY2VzL3dlYmtpdDAxLmRhdDogUEFTUwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGE2NWEyYzdiMmNlZDBmMTQyYjg2MGYyYzRmZmMyYzZhYzQ1YzczZTUuLmNkMWIxMjcwNTdlM2Q1
YThhOWU4ODE2NTgzMzM1NDk5MTZhYjc2NjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTAtMDUtMjQgIEFk
YW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBGaXJzdCBjdXQgYXQgSFRNTDUgZW50aXRpZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5NjQ5CisKKyAgICAg
ICAgVGhlcmUncyBzdGlsbCBhIGJ1bmNoIG1vcmUgd29yayB0byBkbyB0byBnZXQgb3VyIGVudGl0
eSBwYXJzaW5nIGZ1bGx5CisgICAgICAgIHVwIHRvIHNwZWMuICBUaGlzIHBhdGNoIGNvbnRhaW5z
IHRoZSBidWxrIG9mIHRoZSBpbXBsZW1lbnRhdGlvbgorICAgICAgICBob3dldmVyLgorICAgICAg
ICAKKyAgICAgICAgVGhlIGJhc2ljcyBhcmUgY292ZXJlZCBieSB0aGUgZXhpc3RpbmcgaHRtbDVs
aWIgdGVzdHMuICBJJ2xsIGFkZCBtb3JlCisgICAgICAgIGRldGFpbGVkIHRlc3RzIGluIGEgZm9s
bG93dXAgcGF0Y2guCisKKyAgICAgICAgKiBodG1sL0hUTUw1TGV4ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE5hbWVzOjpsZWdhbEVudGl0eUZvcik6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTmFtZXM6OmlzSGV4RGlnaXQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE5hbWVzOjppc0Fs
cGhhTnVtZXJpYyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTmFtZXM6OnVuY29tc3VtZUNoYXJh
Y3RlcnMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTDVMZXhlcjo6Y29uc3VtZUVudGl0eSk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MNUxleGVyOjpuZXh0VG9rZW4pOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTDVMZXhlcjo6aGF2ZUJ1ZmZlcmVkQ2hhcmFjdGVyVG9rZW4pOgorICAgICAgICAqIGh0
bWwvSFRNTDVMZXhlci5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTDVMZXhlcjo6KToKKyAgICAg
ICAgKiBodG1sL0hUTUw1VG9rZW5pemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUw1VG9r
ZW5pemVyOjp3cml0ZSk6CisKIDIwMTAtMDUtMjQgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvSFRNTDVMZXhlci5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTDVMZXhlci5jcHAKaW5k
ZXggZjJkMDA4MmQ1YTI4YmVjMmU3MWNiYzEyMmM2Y2ZlZDgyN2ZiYjVhNi4uNGZhN2QyNzJhNzI3
OTYzYzQzOTU5ZGRmMmFkNWIzMzc3NmIwZmNlNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUw1TGV4ZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MNUxleGVyLmNwcApAQCAtODIsNiAr
ODIsMzUgQEAgaW5saW5lIGJvb2wgdmVjdG9yRXF1YWxzU3RyaW5nKGNvbnN0IFZlY3RvcjxVQ2hh
ciwgMzI+JiB2ZWN0b3IsIGNvbnN0IFN0cmluZyYgc3QKICAgICByZXR1cm4gIW1lbWNtcChzdHJp
bmdEYXRhLCB2ZWN0b3JEYXRhLCB2ZWN0b3Iuc2l6ZSgpICogc2l6ZW9mKFVDaGFyKSk7CiB9CiAK
K2lubGluZSBVQ2hhciBsZWdhbEVudGl0eUZvcih1bnNpZ25lZCB2YWx1ZSkKK3sKKyAgICAvLyBG
SVhNRTogVGhlcmUgaXMgYSB0YWJsZSB3aXRoIG1vcmUgZXhjZXB0aW9ucyBpbiB0aGUgSFRNTDUg
c3BlY2lmaWNhdGlvbi4KKyAgICBpZiAodmFsdWUgPT0gMCB8fCB2YWx1ZSA+IDB4MTBGRkZGIHx8
ICh2YWx1ZSA+PSAweEQ4MDAgJiYgdmFsdWUgPD0gMHhERkZGKSkKKyAgICAgICAgcmV0dXJuIDB4
RkZGRDsKKyAgICByZXR1cm4gdmFsdWU7Cit9CisKK2lubGluZSBib29sIGlzSGV4RGlnaXQoVUNo
YXIgY2MpCit7CisgICAgcmV0dXJuIChjYyA+PSAnMCcgJiYgY2MgPD0gJzknKSB8fCAoY2MgPj0g
J2EnICYmIGNjIDw9ICdmJykgfHwgKGNjID49ICdBJyAmJiBjYyA8PSAnRicpOworfQorCitpbmxp
bmUgYm9vbCBpc0FscGhhTnVtZXJpYyhVQ2hhciBjYykKK3sKKyAgICByZXR1cm4gKGNjID49ICcw
JyAmJiBjYyA8PSAnOScpIHx8IChjYyA+PSAnYScgJiYgY2MgPD0gJ3onKSB8fCAoY2MgPj0gJ0En
ICYmIGNjIDw9ICdaJyk7Cit9CisKK3ZvaWQgdW5jb21zdW1lQ2hhcmFjdGVycyhTZWdtZW50ZWRT
dHJpbmcmIHNvdXJjZSwgY29uc3QgVmVjdG9yPFVDaGFyLCAxMD4mIGNvbnN1bWVkQ2hhcmFjdGVy
cykKK3sKKyAgICBpZiAoY29uc3VtZWRDaGFyYWN0ZXJzLnNpemUoKSA9PSAxKQorICAgICAgICBz
b3VyY2UucHVzaChjb25zdW1lZENoYXJhY3RlcnNbMF0pOworICAgIGVsc2UgaWYgKGNvbnN1bWVk
Q2hhcmFjdGVycy5zaXplKCkgPT0gMikgeworICAgICAgICBzb3VyY2UucHVzaChjb25zdW1lZENo
YXJhY3RlcnNbMF0pOworICAgICAgICBzb3VyY2UucHVzaChjb25zdW1lZENoYXJhY3RlcnNbMV0p
OworICAgIH0gZWxzZQorICAgICAgICBzb3VyY2UucHJlcGVuZChTZWdtZW50ZWRTdHJpbmcoU3Ry
aW5nKGNvbnN1bWVkQ2hhcmFjdGVycy5kYXRhKCksIGNvbnN1bWVkQ2hhcmFjdGVycy5zaXplKCkp
KSk7Cit9CisKIH0KIAogSFRNTDVMZXhlcjo6SFRNTDVMZXhlcigpCkBAIC0xMDEsNzUgKzEzMCw3
OCBAQCB2b2lkIEhUTUw1TGV4ZXI6OnJlc2V0KCkKICAgICBtX2FkZGl0aW9uYWxBbGxvd2VkQ2hh
cmFjdGVyID0gJ1wwJzsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGlzV2hpdGVzcGFjZShVQ2hh
ciBjKQotewotICAgIHJldHVybiBjID09ICcgJyB8fCBjID09ICdcbicgfHwgYyA9PSAnXHInIHx8
IGMgPT0gJ1x0JzsKLX0KLSAgICAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbGVnYWxFbnRpdHlG
b3IodW5zaWduZWQgdmFsdWUpCi17Ci0gICAgLy8gRklYTUUgVGhlcmUgaXMgYSB0YWJsZSBmb3Ig
bW9yZSBleGNlcHRpb25zIGluIHRoZSBIVE1MNSBzcGVjaWZpY2F0aW9uLgotICAgIGlmICh2YWx1
ZSA9PSAwIHx8IHZhbHVlID4gMHgxMEZGRkYgfHwgKHZhbHVlID49IDB4RDgwMCAmJiB2YWx1ZSA8
PSAweERGRkYpKQotICAgICAgICByZXR1cm4gMHhGRkZEOwotICAgIHJldHVybiB2YWx1ZTsKLX0K
LSAgICAKLXVuc2lnbmVkIEhUTUw1TGV4ZXI6OmNvbnN1bWVFbnRpdHkoU2VnbWVudGVkU3RyaW5n
JiBzb3VyY2UsIGJvb2wmIG5vdEVub3VnaENoYXJhY3RlcnMpCitVQ2hhciBIVE1MNUxleGVyOjpj
b25zdW1lRW50aXR5KFNlZ21lbnRlZFN0cmluZyYgc291cmNlLCBib29sJiBub3RFbm91Z2hDaGFy
YWN0ZXJzKQogeworICAgIEFTU0VSVChtX3N0YXRlICE9IENoYXJhY3RlclJlZmVyZW5jZUluQXR0
cmlidXRlVmFsdWVTdGF0ZSB8fCBtX2FkZGl0aW9uYWxBbGxvd2VkQ2hhcmFjdGVyID09ICciJyB8
fCBtX2FkZGl0aW9uYWxBbGxvd2VkQ2hhcmFjdGVyID09ICdcJycgfHwgbV9hZGRpdGlvbmFsQWxs
b3dlZENoYXJhY3RlciA9PSAnPicpOworICAgIEFTU0VSVCghbm90RW5vdWdoQ2hhcmFjdGVycyk7
CisKICAgICBlbnVtIEVudGl0eVN0YXRlIHsKICAgICAgICAgSW5pdGlhbCwKICAgICAgICAgTnVt
YmVyVHlwZSwKLSAgICAgICAgTWF5YmVIZXgsCisgICAgICAgIE1heWJlSGV4TG93ZXJDYXNlWCwK
KyAgICAgICAgTWF5YmVIZXhVcHBlckNhc2VYLAogICAgICAgICBIZXgsCiAgICAgICAgIERlY2lt
YWwsCiAgICAgICAgIE5hbWVkCiAgICAgfTsKICAgICBFbnRpdHlTdGF0ZSBlbnRpdHlTdGF0ZSA9
IEluaXRpYWw7CiAgICAgdW5zaWduZWQgcmVzdWx0ID0gMDsKLSAgICBWZWN0b3I8VUNoYXIsIDEw
PiBzZWVuQ2hhcnM7CisgICAgVmVjdG9yPFVDaGFyLCAxMD4gY29uc3VtZWRDaGFyYWN0ZXJzOwog
ICAgIFZlY3RvcjxjaGFyLCAxMD4gZW50aXR5TmFtZTsKIAogICAgIHdoaWxlICghc291cmNlLmlz
RW1wdHkoKSkgewogICAgICAgICBVQ2hhciBjYyA9ICpzb3VyY2U7Ci0gICAgICAgIHNlZW5DaGFy
cy5hcHBlbmQoY2MpOwogICAgICAgICBzd2l0Y2ggKGVudGl0eVN0YXRlKSB7Ci0gICAgICAgIGNh
c2UgSW5pdGlhbDoKLSAgICAgICAgICAgIGlmIChpc1doaXRlc3BhY2UoY2MpIHx8IGNjID09ICc8
JyB8fCBjYyA9PSAnJicpCisgICAgICAgIGNhc2UgSW5pdGlhbDogeworICAgICAgICAgICAgaWYg
KGNjID09ICdceDA5JyB8fCBjYyA9PSAnXHgwQScgfHwgY2MgPT0gJ1x4MEMnIHx8IGNjID09ICcg
JyB8fCBjYyA9PSAnPCcgfHwgY2MgPT0gJyYnKQogICAgICAgICAgICAgICAgIHJldHVybiAwOwot
ICAgICAgICAgICAgZWxzZSBpZiAoY2MgPT0gJyMnKSAKKyAgICAgICAgICAgIGlmIChtX3N0YXRl
ID09IENoYXJhY3RlclJlZmVyZW5jZUluQXR0cmlidXRlVmFsdWVTdGF0ZSAmJiBjYyA9PSBtX2Fk
ZGl0aW9uYWxBbGxvd2VkQ2hhcmFjdGVyKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAg
ICAgICAgICAgaWYgKGNjID09ICcjJykgewogICAgICAgICAgICAgICAgIGVudGl0eVN0YXRlID0g
TnVtYmVyVHlwZTsKLSAgICAgICAgICAgIGVsc2UgaWYgKChjYyA+PSAnYScgJiYgY2MgPD0gJ3on
KSB8fCAoY2MgPj0gJ0EnICYmIGNjIDw9ICdaJykpIHsKLSAgICAgICAgICAgICAgICBlbnRpdHlO
YW1lLmFwcGVuZChjYyk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBpZiAoKGNjID49ICdhJyAmJiBjYyA8PSAneicpIHx8IChjYyA+PSAnQScgJiYg
Y2MgPD0gJ1onKSkgewogICAgICAgICAgICAgICAgIGVudGl0eVN0YXRlID0gTmFtZWQ7Ci0gICAg
ICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIE51bWJlclR5cGU6Ci0gICAgICAgICAgICBpZiAoY2MgPT0gJ3gn
IHx8IGNjID09ICdYJykKLSAgICAgICAgICAgICAgICBlbnRpdHlTdGF0ZSA9IE1heWJlSGV4Owot
ICAgICAgICAgICAgZWxzZSBpZiAoY2MgPj0gJzAnICYmIGNjIDw9ICc5JykgeworICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgIH0KKyAgICAgICAgY2FzZSBOdW1iZXJUeXBlOiB7CisgICAgICAgICAgICBpZiAoY2Mg
PT0gJ3gnKSB7CisgICAgICAgICAgICAgICAgZW50aXR5U3RhdGUgPSBNYXliZUhleExvd2VyQ2Fz
ZVg7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBp
ZiAoY2MgPT0gJ1gnKSB7CisgICAgICAgICAgICAgICAgZW50aXR5U3RhdGUgPSBNYXliZUhleFVw
cGVyQ2FzZVg7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBpZiAoY2MgPj0gJzAnICYmIGNjIDw9ICc5JykgewogICAgICAgICAgICAgICAgIGVudGl0
eVN0YXRlID0gRGVjaW1hbDsKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBjYyAtICcwJzsKLSAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgc291cmNlLnB1c2goJyMnKTsKLSAg
ICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIE1heWJlSGV4OgotICAg
ICAgICAgICAgaWYgKGNjID49ICcwJyAmJiBjYyA8PSAnOScpCi0gICAgICAgICAgICAgICAgcmVz
dWx0ID0gY2MgLSAnMCc7Ci0gICAgICAgICAgICBlbHNlIGlmIChjYyA+PSAnYScgJiYgY2MgPD0g
J2YnKQotICAgICAgICAgICAgICAgIHJlc3VsdCA9IDEwICsgY2MgLSAnYSc7Ci0gICAgICAgICAg
ICBlbHNlIGlmIChjYyA+PSAnQScgJiYgY2MgPD0gJ0YnKQotICAgICAgICAgICAgICAgIHJlc3Vs
dCA9IDEwICsgY2MgLSAnQSc7Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBz
b3VyY2UucHVzaCgnIycpOwotICAgICAgICAgICAgICAgIHNvdXJjZS5wdXNoKHNlZW5DaGFyc1sx
XSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICBzb3VyY2UucHVzaCgn
IycpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBNYXli
ZUhleExvd2VyQ2FzZVg6IHsKKyAgICAgICAgICAgIGlmIChpc0hleERpZ2l0KGNjKSkgeworICAg
ICAgICAgICAgICAgIGVudGl0eVN0YXRlID0gSGV4OworICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICAgICAgfQotICAgICAgICAgICAgZW50aXR5U3RhdGUgPSBIZXg7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgY2FzZSBIZXg6CisgICAgICAgICAgICBzb3VyY2UucHVzaCgn
IycpOworICAgICAgICAgICAgc291cmNlLnB1c2goJ3gnKTsKKyAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICB9CisgICAgICAgIGNhc2UgTWF5YmVIZXhVcHBlckNhc2VYOiB7CisgICAgICAg
ICAgICBpZiAoaXNIZXhEaWdpdChjYykpIHsKKyAgICAgICAgICAgICAgICBlbnRpdHlTdGF0ZSA9
IEhleDsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIHNvdXJjZS5wdXNoKCcjJyk7CisgICAgICAgICAgICBzb3VyY2UucHVzaCgnWCcpOworICAg
ICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBIZXg6IHsKICAgICAg
ICAgICAgIGlmIChjYyA+PSAnMCcgJiYgY2MgPD0gJzknKQogICAgICAgICAgICAgICAgIHJlc3Vs
dCA9IHJlc3VsdCAqIDE2ICsgY2MgLSAnMCc7CiAgICAgICAgICAgICBlbHNlIGlmIChjYyA+PSAn
YScgJiYgY2MgPD0gJ2YnKQpAQCAtMTgyLDcgKzIxNCw4IEBAIHVuc2lnbmVkIEhUTUw1TGV4ZXI6
OmNvbnN1bWVFbnRpdHkoU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UsIGJvb2wmIG5vdEVub3VnaENo
YXJhCiAgICAgICAgICAgICB9IGVsc2UgCiAgICAgICAgICAgICAgICAgcmV0dXJuIGxlZ2FsRW50
aXR5Rm9yKHJlc3VsdCk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBEZWNpbWFs
OgorICAgICAgICB9CisgICAgICAgIGNhc2UgRGVjaW1hbDogewogICAgICAgICAgICAgaWYgKGNj
ID49ICcwJyAmJiBjYyA8PSAnOScpCiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICog
MTAgKyBjYyAtICcwJzsKICAgICAgICAgICAgIGVsc2UgaWYgKGNjID09ICc7JykgewpAQCAtMTkw
LDQ1ICsyMjMsNTMgQEAgdW5zaWduZWQgSFRNTDVMZXhlcjo6Y29uc3VtZUVudGl0eShTZWdtZW50
ZWRTdHJpbmcmIHNvdXJjZSwgYm9vbCYgbm90RW5vdWdoQ2hhcmEKICAgICAgICAgICAgICAgICBy
ZXR1cm4gbGVnYWxFbnRpdHlGb3IocmVzdWx0KTsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAg
ICAgICAgICAgIHJldHVybiBsZWdhbEVudGl0eUZvcihyZXN1bHQpOwotICAgICAgICAgICAgYnJl
YWs7ICAgICAgICAgICAgICAgCi0gICAgICAgIGNhc2UgTmFtZWQ6Ci0gICAgICAgICAgICAvLyBU
aGlzIGlzIHRoZSBhdHRyaWJ1dGUgb25seSB2ZXJzaW9uLCBnZW5lcmljIHZlcnNpb24gbWF0Y2hl
cyBzb21ld2hhdCBkaWZmZXJlbnRseQotICAgICAgICAgICAgd2hpbGUgKGVudGl0eU5hbWUuc2l6
ZSgpIDw9IDgpIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2Ug
TmFtZWQ6IHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNvZGUgaXMgd3JvbmcuIFdlIG5l
ZWQgdG8gZmluZCB0aGUgbG9uZ2VzdCBtYXRjaGluZyBlbnRpdHkuCisgICAgICAgICAgICAvLyAg
ICAgICAgVGhlIGV4YW1wbGVzIGZyb20gdGhlIHNwZWMgYXJlOgorICAgICAgICAgICAgLy8gICAg
ICAgICAgICBJJ20gJm5vdGl0OyBJIHRlbGwgeW91CisgICAgICAgICAgICAvLyAgICAgICAgICAg
IEknbSAmbm90aW47IEkgdGVsbCB5b3UKKyAgICAgICAgICAgIC8vICAgICAgICBJbiB0aGUgZmly
c3QgY2FzZSwgIiZub3QiIGlzIHRoZSBlbnRpdHkuICBJbiB0aGUgc2Vjb25kCisgICAgICAgICAg
ICAvLyAgICAgICAgY2FzZSwgIiZub3RpbjsiIGlzIHRoZSBlbnRpdHkuCisgICAgICAgICAgICAv
LyBGSVhNRTogT3VyIGxpc3Qgb2YgSFRNTCBlbnRpdGllcyBpcyBpbmNvbXBsZXRlLgorICAgICAg
ICAgICAgLy8gRklYTUU6IFRoZSBudW1iZXIgOCBiZWxvdyBpcyBib2d1cy4KKyAgICAgICAgICAg
IHdoaWxlICghc291cmNlLmlzRW1wdHkoKSAmJiBlbnRpdHlOYW1lLnNpemUoKSA8PSA4KSB7Cisg
ICAgICAgICAgICAgICAgY2MgPSAqc291cmNlOwogICAgICAgICAgICAgICAgIGlmIChjYyA9PSAn
OycpIHsKICAgICAgICAgICAgICAgICAgICAgY29uc3QgRW50aXR5KiBlbnRpdHkgPSBmaW5kRW50
aXR5KGVudGl0eU5hbWUuZGF0YSgpLCBlbnRpdHlOYW1lLnNpemUoKSk7CiAgICAgICAgICAgICAg
ICAgICAgIGlmIChlbnRpdHkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS5hZHZh
bmNlKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UuYWR2YW5jZUFuZEFTU0VSVCgn
OycpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVudGl0eS0+Y29kZTsKICAgICAg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBlbWl0UGFyc2VFcnJvcigpOwog
ICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgaWYgKCEoY2MgPj0gJ2EnICYmIGNjIDw9ICd6JykgJiYgIShjYyA+PSAnQScgJiYgY2Mg
PD0gJ1onKSAmJiAhKGNjID49ICcwJyAmJiBjYyA8PSAnOScpKSB7CisgICAgICAgICAgICAgICAg
aWYgKG1fc3RhdGUgPT0gQ2hhcmFjdGVyUmVmZXJlbmNlSW5BdHRyaWJ1dGVWYWx1ZVN0YXRlICYm
IChpc0FscGhhTnVtZXJpYyhjYykgfHwgY2MgPT0gJz0nKSkKKyAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICAgICAgaWYgKCFpc0FscGhhTnVtZXJpYyhjYykpIHsKICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgRW50aXR5KiBlbnRpdHkgPSBmaW5kRW50aXR5KGVudGl0eU5h
bWUuZGF0YSgpLCBlbnRpdHlOYW1lLnNpemUoKSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChl
bnRpdHkpCisgICAgICAgICAgICAgICAgICAgIGlmIChlbnRpdHkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGVtaXRQYXJzZUVycm9yKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm4gZW50aXR5LT5jb2RlOworICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBlbnRpdHlOYW1l
LmFwcGVuZChjYyk7Ci0gICAgICAgICAgICAgICAgc291cmNlLmFkdmFuY2UoKTsKLSAgICAgICAg
ICAgICAgICBpZiAoc291cmNlLmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICAgICAgZ290byBv
dXRPZkNoYXJhY3RlcnM7Ci0gICAgICAgICAgICAgICAgY2MgPSAqc291cmNlOwotICAgICAgICAg
ICAgICAgIHNlZW5DaGFycy5hcHBlbmQoY2MpOworICAgICAgICAgICAgICAgIGNvbnN1bWVkQ2hh
cmFjdGVycy5hcHBlbmQoY2MpOworICAgICAgICAgICAgICAgIHNvdXJjZS5hZHZhbmNlQW5kQVNT
RVJUKGNjKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChzZWVuQ2hhcnMuc2l6ZSgp
ID09IDIpCi0gICAgICAgICAgICAgICAgc291cmNlLnB1c2goc2VlbkNoYXJzWzBdKTsKLSAgICAg
ICAgICAgIGVsc2UgaWYgKHNlZW5DaGFycy5zaXplKCkgPT0gMykgewotICAgICAgICAgICAgICAg
IHNvdXJjZS5wdXNoKHNlZW5DaGFyc1swXSk7Ci0gICAgICAgICAgICAgICAgc291cmNlLnB1c2go
c2VlbkNoYXJzWzFdKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHNvdXJj
ZS5wcmVwZW5kKFNlZ21lbnRlZFN0cmluZyhTdHJpbmcoc2VlbkNoYXJzLmRhdGEoKSwgc2VlbkNo
YXJzLnNpemUoKSAtIDEpKSk7CisgICAgICAgICAgICBub3RFbm91Z2hDaGFyYWN0ZXJzID0gc291
cmNlLmlzRW1wdHkoKTsKKyAgICAgICAgICAgIHVuY29tc3VtZUNoYXJhY3RlcnMoc291cmNlLCBj
b25zdW1lZENoYXJhY3RlcnMpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KLSAg
ICAgICAgc291cmNlLmFkdmFuY2UoKTsKKyAgICAgICAgfQorICAgICAgICBjb25zdW1lZENoYXJh
Y3RlcnMuYXBwZW5kKGNjKTsKKyAgICAgICAgc291cmNlLmFkdmFuY2VBbmRBU1NFUlQoY2MpOwog
ICAgIH0KLW91dE9mQ2hhcmFjdGVyczoKKyAgICBBU1NFUlQoc291cmNlLmlzRW1wdHkoKSk7CiAg
ICAgbm90RW5vdWdoQ2hhcmFjdGVycyA9IHRydWU7Ci0gICAgc291cmNlLnByZXBlbmQoU2VnbWVu
dGVkU3RyaW5nKFN0cmluZyhzZWVuQ2hhcnMuZGF0YSgpLCBzZWVuQ2hhcnMuc2l6ZSgpKSkpOwor
ICAgIHVuY29tc3VtZUNoYXJhY3RlcnMoc291cmNlLCBjb25zdW1lZENoYXJhY3RlcnMpOwogICAg
IHJldHVybiAwOwogfQogCkBAIC0yNzAsOCArMzExLDEzIEBAIGJvb2wgSFRNTDVMZXhlcjo6bmV4
dFRva2VuKFNlZ21lbnRlZFN0cmluZyYgc291cmNlLCBIVE1MNVRva2VuJiB0b2tlbikKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQ2hhcmFjdGVyUmVmZXJlbmNl
SW5EYXRhU3RhdGU6IHsKLSAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIGJvb2wgbm90RW5vdWdoQ2hhcmFjdGVycyA9IGZhbHNlOwor
ICAgICAgICAgICAgVUNoYXIgZW50aXR5ID0gY29uc3VtZUVudGl0eShzb3VyY2UsIG5vdEVub3Vn
aENoYXJhY3RlcnMpOworICAgICAgICAgICAgaWYgKG5vdEVub3VnaENoYXJhY3RlcnMpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIGhhdmVCdWZmZXJlZENoYXJhY3RlclRva2VuKCk7CisgICAgICAg
ICAgICBlbWl0Q2hhcmFjdGVyKGVudGl0eSA/IGVudGl0eSA6ICcmJyk7CisgICAgICAgICAgICBt
X3N0YXRlID0gRGF0YVN0YXRlOworICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAg
ICAgICAgY2FzZSBSQ0RBVEFTdGF0ZTogewogICAgICAgICAgICAgaWYgKGNjID09ICcmJykKQEAg
LTI4Myw4ICszMjksMTMgQEAgYm9vbCBIVE1MNUxleGVyOjpuZXh0VG9rZW4oU2VnbWVudGVkU3Ry
aW5nJiBzb3VyY2UsIEhUTUw1VG9rZW4mIHRva2VuKQogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KICAgICAgICAgY2FzZSBDaGFyYWN0ZXJSZWZlcmVuY2VJblJDREFUQVN0YXRlOiB7Ci0g
ICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBib29sIG5vdEVub3VnaENoYXJhY3RlcnMgPSBmYWxzZTsKKyAgICAgICAgICAgIFVDaGFy
IGVudGl0eSA9IGNvbnN1bWVFbnRpdHkoc291cmNlLCBub3RFbm91Z2hDaGFyYWN0ZXJzKTsKKyAg
ICAgICAgICAgIGlmIChub3RFbm91Z2hDaGFyYWN0ZXJzKQorICAgICAgICAgICAgICAgIHJldHVy
biBoYXZlQnVmZmVyZWRDaGFyYWN0ZXJUb2tlbigpOworICAgICAgICAgICAgZW1pdENoYXJhY3Rl
cihlbnRpdHkgPyBlbnRpdHkgOiAnJicpOworICAgICAgICAgICAgbV9zdGF0ZSA9IFJDREFUQVN0
YXRlOworICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBSQVdU
RVhUU3RhdGU6IHsKICAgICAgICAgICAgIGlmIChjYyA9PSAnPCcpCkBAIC05MTMsOCArOTY0LDI0
IEBAIGJvb2wgSFRNTDVMZXhlcjo6bmV4dFRva2VuKFNlZ21lbnRlZFN0cmluZyYgc291cmNlLCBI
VE1MNVRva2VuJiB0b2tlbikKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAg
IGNhc2UgQ2hhcmFjdGVyUmVmZXJlbmNlSW5BdHRyaWJ1dGVWYWx1ZVN0YXRlOiB7Ci0gICAgICAg
ICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBi
b29sIG5vdEVub3VnaENoYXJhY3RlcnMgPSBmYWxzZTsKKyAgICAgICAgICAgIFVDaGFyIGVudGl0
eSA9IGNvbnN1bWVFbnRpdHkoc291cmNlLCBub3RFbm91Z2hDaGFyYWN0ZXJzKTsKKyAgICAgICAg
ICAgIGlmIChub3RFbm91Z2hDaGFyYWN0ZXJzKQorICAgICAgICAgICAgICAgIHJldHVybiBoYXZl
QnVmZmVyZWRDaGFyYWN0ZXJUb2tlbigpOworICAgICAgICAgICAgbV90b2tlbi0+YXBwZW5kVG9B
dHRyaWJ1dGVWYWx1ZShlbnRpdHkgPyBlbnRpdHkgOiAnJicpOworICAgICAgICAgICAgLy8gV2Un
cmUgc3VwcG9zZWQgdG8gc3dpdGNoIGJhY2sgdG8gdGhlIGF0dHJpYnV0ZSB2YWx1ZSBzdGF0ZSB0
aGF0CisgICAgICAgICAgICAvLyB3ZSB3ZXJlIGluIHdoZW4gd2Ugd2VyZSBzd2l0Y2hlZCBpbnRv
IHRoaXMgc3RhdGUuICBSYXRoZXIgdGhhbgorICAgICAgICAgICAgLy8ga2VlcGluZyB0cmFjayBv
ZiB0aGlzIGV4cGxpY3RseSwgd2Ugb2JzZXJ2ZSB0aGF0IHRoZSBwcmV2aW91cworICAgICAgICAg
ICAgLy8gc3RhdGUgY2FuIGJlIGRldGVybWluZWQgYnkgbV9hZGRpdGlvbmFsQWxsb3dlZENoYXJh
Y3Rlci4KKyAgICAgICAgICAgIGlmIChtX2FkZGl0aW9uYWxBbGxvd2VkQ2hhcmFjdGVyID09ICci
JykKKyAgICAgICAgICAgICAgICBtX3N0YXRlID0gQXR0cmlidXRlVmFsdWVEb3VibGVRdW90ZWRT
dGF0ZTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1fYWRkaXRpb25hbEFsbG93ZWRDaGFyYWN0ZXIg
PT0gJ1wnJykKKyAgICAgICAgICAgICAgICBtX3N0YXRlID0gQXR0cmlidXRlVmFsdWVTaW5nbGVR
dW90ZWRTdGF0ZTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1fYWRkaXRpb25hbEFsbG93ZWRDaGFy
YWN0ZXIgPT0gJz4nKQorICAgICAgICAgICAgICAgIG1fc3RhdGUgPSBBdHRyaWJ1dGVWYWx1ZVVu
cXVvdGVkU3RhdGU7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBj
YXNlIEFmdGVyQXR0cmlidXRlVmFsdWVRdW90ZWRTdGF0ZTogewogICAgICAgICAgICAgaWYgKGNj
ID09ICdceDA5JyB8fCBjYyA9PSAnXHgwQScgfHwgY2MgPT0gJ1x4MEMnIHx8IGNjID09ICcgJykK
QEAgLTk2Miw3ICsxMDI5LDcgQEAgYm9vbCBIVE1MNUxleGVyOjpuZXh0VG9rZW4oU2VnbWVudGVk
U3RyaW5nJiBzb3VyY2UsIEhUTUw1VG9rZW4mIHRva2VuKQogICAgICAgICAgICAgICAgICAgICBt
X3N0YXRlID0gQ29tbWVudFN0YXJ0U3RhdGU7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0ID09IFNlZ21lbnRlZFN0cmluZzo6
Tm90RW5vdWdoQ2hhcmFjdGVycykKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAv
LyBXZSBuZWVkIHRvIHdhaXQgZm9yIG1vcmUgY2hhcmFjdGVycyB0byBhcnJpdmUuCisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBoYXZlQnVmZmVyZWRDaGFyYWN0ZXJUb2tlbigpOwogICAgICAg
ICAgICAgfSBlbHNlIGlmIChjYyA9PSAnRCcgfHwgY2MgPT0gJ2QnKSB7CiAgICAgICAgICAgICAg
ICAgU2VnbWVudGVkU3RyaW5nOjpMb29rQWhlYWRSZXN1bHQgcmVzdWx0ID0gc291cmNlLmxvb2tB
aGVhZElnbm9yaW5nQ2FzZShkb2N0eXBlU3RyaW5nKTsKICAgICAgICAgICAgICAgICBpZiAocmVz
dWx0ID09IFNlZ21lbnRlZFN0cmluZzo6RGlkTWF0Y2gpIHsKQEAgLTk3MCw3ICsxMDM3LDcgQEAg
Ym9vbCBIVE1MNUxleGVyOjpuZXh0VG9rZW4oU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UsIEhUTUw1
VG9rZW4mIHRva2VuKQogICAgICAgICAgICAgICAgICAgICBtX3N0YXRlID0gRE9DVFlQRVN0YXRl
OwogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICB9IGVsc2Ug
aWYgKHJlc3VsdCA9PSBTZWdtZW50ZWRTdHJpbmc6Ok5vdEVub3VnaENoYXJhY3RlcnMpCi0gICAg
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gV2UgbmVlZCB0byB3YWl0IGZvciBtb3Jl
IGNoYXJhY3RlcnMgdG8gYXJyaXZlLgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGF2ZUJ1
ZmZlcmVkQ2hhcmFjdGVyVG9rZW4oKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIG5vdElt
cGxlbWVudGVkKCk7CiAgICAgICAgICAgICAvLyBGSVhNRTogV2UncmUgc3RpbGwgbWlzc2luZyB0
aGUgYml0cyBhYm91dCB0aGUgaW5zZXJ0aW9uIG1vZGUgYmVpbmcgaW4gZm9yZWlnbiBjb250ZW50
OgpAQCAtMTE0Nyw3ICsxMjE0LDcgQEAgYm9vbCBIVE1MNUxleGVyOjpuZXh0VG9rZW4oU2VnbWVu
dGVkU3RyaW5nJiBzb3VyY2UsIEhUTUw1VG9rZW4mIHRva2VuKQogICAgICAgICAgICAgICAgICAg
ICAgICAgbV9zdGF0ZSA9IEFmdGVyRE9DVFlQRVB1YmxpY0tleXdvcmRTdGF0ZTsKICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYg
KHJlc3VsdCA9PSBTZWdtZW50ZWRTdHJpbmc6Ok5vdEVub3VnaENoYXJhY3RlcnMpCi0gICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gaGF2ZUJ1ZmZlcmVkQ2hhcmFjdGVyVG9rZW4oKTsKICAgICAgICAgICAgICAgICB9IGVs
c2UgaWYgKGNjID09ICdTJyB8fCBjYyA9PSAncycpIHsKICAgICAgICAgICAgICAgICAgICAgU2Vn
bWVudGVkU3RyaW5nOjpMb29rQWhlYWRSZXN1bHQgcmVzdWx0ID0gc291cmNlLmxvb2tBaGVhZEln
bm9yaW5nQ2FzZShzeXN0ZW1TdHJpbmcpOwogICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0
ID09IFNlZ21lbnRlZFN0cmluZzo6RGlkTWF0Y2gpIHsKQEAgLTExNTUsNyArMTIyMiw3IEBAIGJv
b2wgSFRNTDVMZXhlcjo6bmV4dFRva2VuKFNlZ21lbnRlZFN0cmluZyYgc291cmNlLCBIVE1MNVRv
a2VuJiB0b2tlbikKICAgICAgICAgICAgICAgICAgICAgICAgIG1fc3RhdGUgPSBBZnRlckRPQ1RZ
UEVTeXN0ZW1LZXl3b3JkU3RhdGU7CiAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
ICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQgPT0gU2VnbWVudGVkU3RyaW5n
OjpOb3RFbm91Z2hDaGFyYWN0ZXJzKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhhdmVCdWZmZXJlZENoYXJhY3Rl
clRva2VuKCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGVtaXRQYXJzZUVy
cm9yKCk7CiAgICAgICAgICAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKQEAgLTEzNzUsMTAgKzE0
NDIsNiBAQCBib29sIEhUTUw1TGV4ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTdHJpbmcmIHNvdXJj
ZSwgSFRNTDVUb2tlbiYgdG9rZW4pCiAgICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgY2FzZSBUb2tlbml6aW5nQ2hhcmFj
dGVyUmVmZXJlbmNlc1N0YXRlOiB7Ci0gICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBzb3VyY2UuYWR2
YW5jZSgpOwogICAgICAgICBpZiAobV9lbWl0UGVuZGluZykgewpAQCAtMTM4OCw3ICsxNDUxLDcg
QEAgYm9vbCBIVE1MNUxleGVyOjpuZXh0VG9rZW4oU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UsIEhU
TUw1VG9rZW4mIHRva2VuKQogICAgIH0KICAgICAvLyBXZSd2ZSByZWFjaGVkIHRoZSBlbmQgb2Yg
dGhlIGlucHV0IHN0cmVhbS4gIElmIHdlIGhhdmUgYSBjaGFyYWN0ZXIKICAgICAvLyB0b2tlbiBi
dWZmZXJlZCwgd2Ugc2hvdWxkIGVtaXQgaXQuCi0gICAgcmV0dXJuIG1fdG9rZW4tPnR5cGUoKSA9
PSBIVE1MNVRva2VuOjpDaGFyYWN0ZXI7CisgICAgcmV0dXJuIGhhdmVCdWZmZXJlZENoYXJhY3Rl
clRva2VuKCk7CiB9CiAKIGlubGluZSBib29sIEhUTUw1TGV4ZXI6OnRlbXBvcmFyeUJ1ZmZlcklz
KGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRTdHJpbmcpCkBAIC0xNDQzLDQgKzE1MDYsOSBAQCBpbmxp
bmUgdm9pZCBIVE1MNUxleGVyOjplbWl0Q3VycmVudFRva2VuKCkKICAgICAgICAgbV9hcHByb3By
aWF0ZUVuZFRhZ05hbWUgPSBtX3Rva2VuLT5uYW1lKCk7CiB9CiAKK2lubGluZSBib29sIEhUTUw1
TGV4ZXI6OmhhdmVCdWZmZXJlZENoYXJhY3RlclRva2VuKCkKK3sKKyAgICByZXR1cm4gbV90b2tl
bi0+dHlwZSgpID09IEhUTUw1VG9rZW46OkNoYXJhY3RlcjsKK30KKwogfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL0hUTUw1TGV4ZXIuaCBiL1dlYkNvcmUvaHRtbC9IVE1MNUxleGVyLmgKaW5k
ZXggNTFlODkxMTIxNjA4ZmIxZmVhNjQ4OWQyY2U3ODViYzM4M2ExYTNjYy4uNDAwNWY5MDNjYWFh
YzM4Y2JiYWMxNGYwMDNiM2VkYzcxYjEzNjJmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUw1TGV4ZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTDVMZXhlci5oCkBAIC0xMDgsNyArMTA4
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgQWZ0ZXJET0NUWVBFU3lzdGVt
SWRlbnRpZmllclN0YXRlLAogICAgICAgICAgICAgQm9ndXNET0NUWVBFU3RhdGUsCiAgICAgICAg
ICAgICBDREFUQVNlY3Rpb25TdGF0ZSwKLSAgICAgICAgICAgIFRva2VuaXppbmdDaGFyYWN0ZXJS
ZWZlcmVuY2VzU3RhdGUsCiAgICAgICAgIH07CiAKICAgICAgICAgSFRNTDVMZXhlcigpOwpAQCAt
MTIzLDE5ICsxMjIsMjEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZvaWQgc2V0
U3RhdGUoU3RhdGUgc3RhdGUpIHsgbV9zdGF0ZSA9IHN0YXRlOyB9CiAKLSAgICAgICAgc3RhdGlj
IHVuc2lnbmVkIGNvbnN1bWVFbnRpdHkoU2VnbWVudGVkU3RyaW5nJiwgYm9vbCYgbm90RW5vdWdo
Q2hhcmFjdGVycyk7Ci0KICAgICBwcml2YXRlOgogICAgICAgICBpbmxpbmUgdm9pZCBlbWl0Q2hh
cmFjdGVyKFVDaGFyKTsKICAgICAgICAgaW5saW5lIHZvaWQgZW1pdFBhcnNlRXJyb3IoKTsKICAg
ICAgICAgaW5saW5lIHZvaWQgZW1pdEN1cnJlbnRUb2tlbigpOwogCisgICAgICAgIFVDaGFyIGNv
bnN1bWVFbnRpdHkoU2VnbWVudGVkU3RyaW5nJiwgYm9vbCYgbm90RW5vdWdoQ2hhcmFjdGVycyk7
CisKICAgICAgICAgaW5saW5lIGJvb2wgdGVtcG9yYXJ5QnVmZmVySXMoY29uc3QgU3RyaW5nJik7
CiAgICAgICAgIGlubGluZSBib29sIGlzQXBwcm9wcmlhdGVFbmRUYWcoKTsKIAogICAgICAgICBp
bmxpbmUgdm9pZCBtYXliZUZsdXNoQnVmZmVyZWRFbmRUYWcoKTsKICAgICAgICAgaW5saW5lIHZv
aWQgZmx1c2hCdWZmZXJlZEVuZFRhZygpOwogCisgICAgICAgIGlubGluZSBib29sIGhhdmVCdWZm
ZXJlZENoYXJhY3RlclRva2VuKCk7CisKICAgICAgICAgU3RhdGUgbV9zdGF0ZTsKIAogICAgICAg
ICBBdG9taWNTdHJpbmcgbV9hcHByb3ByaWF0ZUVuZFRhZ05hbWU7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvSFRNTDVUb2tlbml6ZXIuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUw1VG9rZW5pemVy
LmNwcAppbmRleCBjNTMxYzdlZDAzNjM0YTBjYmQyZmVmZWMxOTc3N2E2Mjg3NWI5ODYzLi4wYjNi
YTA0MmVhNzdlZjI2OTk2ZjJiNTIzMjBjMzUwNTk2NzBlOWI0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvSFRNTDVUb2tlbml6ZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MNVRva2VuaXpl
ci5jcHAKQEAgLTU1LDExICs1NSw5IEBAIHZvaWQgSFRNTDVUb2tlbml6ZXI6OndyaXRlKGNvbnN0
IFNlZ21lbnRlZFN0cmluZyYgc291cmNlLCBib29sKQogICAgIG1fc291cmNlLmFwcGVuZChzb3Vy
Y2UpOwogCiAgICAgSFRNTDVUb2tlbiB0b2tlbjsKLSAgICB3aGlsZSAoIW1fc291cmNlLmlzRW1w
dHkoKSkgewotICAgICAgICBpZiAobV9sZXhlci0+bmV4dFRva2VuKG1fc291cmNlLCB0b2tlbikp
IHsKLSAgICAgICAgICAgIG1fdHJlZUJ1aWxkZXItPmNvbnN0cnVjdFRyZWVGcm9tVG9rZW4odG9r
ZW4pOwotICAgICAgICAgICAgdG9rZW4uY2xlYXIoKTsKLSAgICAgICAgfQorICAgIHdoaWxlICht
X2xleGVyLT5uZXh0VG9rZW4obV9zb3VyY2UsIHRva2VuKSkgeworICAgICAgICBtX3RyZWVCdWls
ZGVyLT5jb25zdHJ1Y3RUcmVlRnJvbVRva2VuKHRva2VuKTsKKyAgICAgICAgdG9rZW4uY2xlYXIo
KTsKICAgICB9CiB9CiAK
</data>
<flag name="review"
          id="41474"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>