<?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>47103</bug_id>
          
          <creation_ts>2010-10-04 12:33:48 -0700</creation_ts>
          <short_desc>Use isHTMLSpace in more places, and optimize it</short_desc>
          <delta_ts>2010-10-04 15:42:09 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>abarth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>289078</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-04 12:33:48 -0700</bug_when>
    <thetext>Use isHTMLSpace in more places, and optimize it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289084</commentid>
    <comment_count>1</comment_count>
      <attachid>69670</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-04 12:41:23 -0700</bug_when>
    <thetext>Created attachment 69670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289227</commentid>
    <comment_count>2</comment_count>
      <attachid>69670</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-04 15:42:02 -0700</bug_when>
    <thetext>Comment on attachment 69670
Patch

Clearing flags on attachment: 69670

Committed r69044: &lt;http://trac.webkit.org/changeset/69044&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289228</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-04 15:42:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69670</attachid>
            <date>2010-10-04 12:41:23 -0700</date>
            <delta_ts>2010-10-04 15:42:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47103-20101004124122.patch</filename>
            <type>text/plain</type>
            <size>10479</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTAyNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTAtMTAtMDQgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBp
c0hUTUxTcGFjZSBpbiBtb3JlIHBsYWNlcywgYW5kIG9wdGltaXplIGl0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzEwMworCisgICAgICAgICogY3Nz
L0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZUNvbG9ySW50KTogVXNlIGlz
SFRNTFNwYWNlIGluc3RlYWQgb2YgYSBzZXBhcmF0ZSBpc0NTU1doaXRlc3BhY2UgZnVuY3Rpb24u
CisgICAgICAgIChXZWJDb3JlOjpwYXJzZUFscGhhVmFsdWUpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhcnNlcjo6dGV4dCk6IERpdHRvLgorCisgICAgICAgICogZG9tL1NwYWNlU3Bs
aXRTdHJpbmcuaDogUmVtb3ZlZCBpc0NsYXNzV2hpdGVzcGFjZS4KKworICAgICAgICAqIGRvbS9T
cGFjZVNwbGl0U3RyaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNwYWNlU3BsaXRTdHJpbmdE
YXRhOjpjcmVhdGVWZWN0b3IpOiBVc2UgaXNIVE1MU3BhY2UgaW5zdGVhZCBvZiBpc0NsYXNzV2hp
dGVzcGFjZS4KKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZWRFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQpOiBEaXR0by4KKyAgICAg
ICAgKiBodG1sL0RPTVRva2VuTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0ZVRv
a2VuKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OnJlbW92ZUludGVy
bmFsKTogRGl0dG8uCisKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmg6
IEFkZGVkIGhpc3RvZ3JhbSBkYXRhIGFuIGNoYW5nZWQgc28gdGhhdCBub24tc3BhY2VzIHRha2UK
KyAgICAgICAgb25seSBhIHNpbmdsZSBicmFuY2ggYW5kIHBsYWluIG9sZCBzcGFjZXMgdGFrZSBv
bmx5IHR3byBicmFuY2hlcy4KKwogMjAxMC0xMC0wNCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KSW5kZXg6IFdlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcAkocmV2aXNpb24gNjkwMjMpCisrKyBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNSwxNSArMjUsMTQgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJDU1NQYXJzZXIuaCIKIAotI2luY2x1ZGUgIkNTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NCb3JkZXJJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ2FudmFzVmFs
dWUuaCIKICNpbmNsdWRlICJDU1NDaGFyc2V0UnVsZS5oIgogI2luY2x1ZGUgIkNTU0N1cnNvcklt
YWdlVmFsdWUuaCIKLSNpbmNsdWRlICJDU1NJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9u
dEZhY2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VTcmNWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU0dyYWRpZW50VmFsdWUuaCIKKyNpbmNsdWRlICJDU1NJbWFnZVZhbHVlLmgiCiAjaW5jbHVk
ZSAiQ1NTSW1wb3J0UnVsZS5oIgogI2luY2x1ZGUgIkNTU0luaGVyaXRlZFZhbHVlLmgiCiAjaW5j
bHVkZSAiQ1NTSW5pdGlhbFZhbHVlLmgiCkBAIC01MCw2ICs0OSw3IEBACiAjaW5jbHVkZSAiQ1NT
U2VsZWN0b3IuaCIKICNpbmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NTdHls
ZVNoZWV0LmgiCisjaW5jbHVkZSAiQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU1VuaWNvZGVSYW5nZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgog
I2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgpAQCAtNjEsNiArNjEsNyBAQAogI2luY2x1ZGUgIkZs
b2F0Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIkZvbnRGYW1pbHlWYWx1ZS5oIgogI2luY2x1ZGUg
IkZvbnRWYWx1ZS5oIgorI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJI
YXNoVG9vbHMuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5
RXhwLmgiCkBAIC0zNzU5LDE5ICszNzYwLDEyIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZvbnRG
YWNlVW5pY29kZVJhbmcKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotLy8gRklYTUU6IFRoaXMgaXMg
dGhlIHNhbWUgYXMgaXNIVE1MU3BhY2UsIHNvIEkgdGhpbmsgd2Ugc2hvdWxkIGVsaW1pbmF0ZSB0
aGlzIGZ1bmN0aW9uCi0vLyBhbmQgdXNlIHRoYXQgaW5zdGVhZC4gUGVkYW50cyB3aG8gc2F5IENT
UyBpcyBub3QgSFRNTCBuZWVkIG5vdCBhcHBseS4KLXN0YXRpYyBpbmxpbmUgYm9vbCBpc0NTU1do
aXRlc3BhY2UoVUNoYXIgYykKLXsKLSAgICByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8
IGMgPT0gJ1xyJyB8fCBjID09ICdcbicgfHwgYyA9PSAnXGYnOwotfQotCiBzdGF0aWMgaW5saW5l
IGJvb2wgcGFyc2VDb2xvckludChjb25zdCBVQ2hhciomIHN0cmluZywgY29uc3QgVUNoYXIqIGVu
ZCwgVUNoYXIgdGVybWluYXRvciwgaW50JiB2YWx1ZSkKIHsKICAgICBjb25zdCBVQ2hhciogY3Vy
cmVudCA9IHN0cmluZzsKICAgICBpbnQgbG9jYWxWYWx1ZSA9IDA7CiAgICAgYm9vbCBuZWdhdGl2
ZSA9IGZhbHNlOwotICAgIHdoaWxlIChjdXJyZW50ICE9IGVuZCAmJiBpc0NTU1doaXRlc3BhY2Uo
KmN1cnJlbnQpKQorICAgIHdoaWxlIChjdXJyZW50ICE9IGVuZCAmJiBpc0hUTUxTcGFjZSgqY3Vy
cmVudCkpCiAgICAgICAgIGN1cnJlbnQrKzsKICAgICBpZiAoY3VycmVudCAhPSBlbmQgJiYgKmN1
cnJlbnQgPT0gJy0nKSB7CiAgICAgICAgIG5lZ2F0aXZlID0gdHJ1ZTsKQEAgLTM3OTAsNyArMzc4
NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBwYXJzZUNvbG9ySW50KGNvbnN0IFUKICAgICAgICAg
fQogICAgICAgICBsb2NhbFZhbHVlID0gbmV3VmFsdWU7CiAgICAgfQotICAgIHdoaWxlIChjdXJy
ZW50ICE9IGVuZCAmJiBpc0NTU1doaXRlc3BhY2UoKmN1cnJlbnQpKQorICAgIHdoaWxlIChjdXJy
ZW50ICE9IGVuZCAmJiBpc0hUTUxTcGFjZSgqY3VycmVudCkpCiAgICAgICAgIGN1cnJlbnQrKzsK
ICAgICBpZiAoY3VycmVudCA9PSBlbmQgfHwgKmN1cnJlbnQrKyAhPSB0ZXJtaW5hdG9yKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CkBAIC0zODE1LDcgKzM4MDksNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgaXNUZW50aEFscGhhKGNvbnN0IFVDCiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBwYXJzZUFscGhh
VmFsdWUoY29uc3QgVUNoYXIqJiBzdHJpbmcsIGNvbnN0IFVDaGFyKiBlbmQsIFVDaGFyIHRlcm1p
bmF0b3IsIGludCYgdmFsdWUpCiB7Ci0gICAgd2hpbGUgKHN0cmluZyAhPSBlbmQgJiYgaXNDU1NX
aGl0ZXNwYWNlKCpzdHJpbmcpKQorICAgIHdoaWxlIChzdHJpbmcgIT0gZW5kICYmIGlzSFRNTFNw
YWNlKCpzdHJpbmcpKQogICAgICAgICBzdHJpbmcrKzsKIAogICAgIHZhbHVlID0gMDsKQEAgLTUx
OTksMTEgKzUxOTMsMTEgQEAgVUNoYXIqIENTU1BhcnNlcjo6dGV4dChpbnQgKmxlbmd0aCkKICAg
ICAgICAgc3RhcnQgKz0gNDsKICAgICAgICAgbCAtPSA1OwogICAgICAgICAvLyBzdHJpcCB7d30K
LSAgICAgICAgd2hpbGUgKGwgJiYgaXNDU1NXaGl0ZXNwYWNlKCpzdGFydCkpIHsKKyAgICAgICAg
d2hpbGUgKGwgJiYgaXNIVE1MU3BhY2UoKnN0YXJ0KSkgewogICAgICAgICAgICAgKytzdGFydDsK
ICAgICAgICAgICAgIC0tbDsKICAgICAgICAgfQotICAgICAgICB3aGlsZSAobCAmJiBpc0NTU1do
aXRlc3BhY2Uoc3RhcnRbbCAtIDFdKSkKKyAgICAgICAgd2hpbGUgKGwgJiYgaXNIVE1MU3BhY2Uo
c3RhcnRbbCAtIDFdKSkKICAgICAgICAgICAgIC0tbDsKICAgICAgICAgaWYgKGwgJiYgKCpzdGFy
dCA9PSAnIicgfHwgKnN0YXJ0ID09ICdcJycpKSB7CiAgICAgICAgICAgICBBU1NFUlQobCA+PSAy
ICYmIHN0YXJ0W2wgLSAxXSA9PSAqc3RhcnQpOwpAQCAtNTIxNywxMSArNTIxMSwxMSBAQCBVQ2hh
ciogQ1NTUGFyc2VyOjp0ZXh0KGludCAqbGVuZ3RoKQogICAgICAgICBzdGFydCArPSAxMjsKICAg
ICAgICAgbCAtPSAxMzsKICAgICAgICAgLy8gc3RyaXAge3d9Ci0gICAgICAgIHdoaWxlIChsICYm
IGlzQ1NTV2hpdGVzcGFjZSgqc3RhcnQpKSB7CisgICAgICAgIHdoaWxlIChsICYmIGlzSFRNTFNw
YWNlKCpzdGFydCkpIHsKICAgICAgICAgICAgICsrc3RhcnQ7CiAgICAgICAgICAgICAtLWw7CiAg
ICAgICAgIH0KLSAgICAgICAgd2hpbGUgKGwgJiYgaXNDU1NXaGl0ZXNwYWNlKHN0YXJ0W2wgLSAx
XSkpCisgICAgICAgIHdoaWxlIChsICYmIGlzSFRNTFNwYWNlKHN0YXJ0W2wgLSAxXSkpCiAgICAg
ICAgICAgICAtLWw7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CkBAIC01MjczLDcgKzUy
NjcsNyBAQCBVQ2hhciogQ1NTUGFyc2VyOjp0ZXh0KGludCAqbGVuZ3RoKQogICAgICAgICAgICAg
ICAgIHVjID0gMHhmZmZkOwogICAgICAgICAgICAgKm91dCsrID0gdWM7CiAgICAgICAgICAgICBl
c2NhcGUgPSAwOwotICAgICAgICAgICAgaWYgKGlzQ1NTV2hpdGVzcGFjZSgqY3VycmVudCkpCisg
ICAgICAgICAgICBpZiAoaXNIVE1MU3BhY2UoKmN1cnJlbnQpKQogICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGlmICghZXNjYXBlICYmICpjdXJyZW50ID09ICdc
XCcpIHsKSW5kZXg6IFdlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuY3BwCShyZXZpc2lvbiA2OTAyMykKKysr
IFdlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw2
ICsyMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmlu
Zy5oIgogCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgPHd0Zi9BU0NJ
SUNUeXBlLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CkBAIC01MywxMiArNTQsMTIgQEAgdm9p
ZCBTcGFjZVNwbGl0U3RyaW5nRGF0YTo6Y3JlYXRlVmVjdG9yKAogICAgIHVuc2lnbmVkIGxlbmd0
aCA9IG1fc3RyaW5nLmxlbmd0aCgpOwogICAgIHVuc2lnbmVkIHN0YXJ0ID0gMDsKICAgICB3aGls
ZSAodHJ1ZSkgewotICAgICAgICB3aGlsZSAoc3RhcnQgPCBsZW5ndGggJiYgaXNDbGFzc1doaXRl
c3BhY2UoY2hhcmFjdGVyc1tzdGFydF0pKQorICAgICAgICB3aGlsZSAoc3RhcnQgPCBsZW5ndGgg
JiYgaXNIVE1MU3BhY2UoY2hhcmFjdGVyc1tzdGFydF0pKQogICAgICAgICAgICAgKytzdGFydDsK
ICAgICAgICAgaWYgKHN0YXJ0ID49IGxlbmd0aCkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB1bnNpZ25lZCBlbmQgPSBzdGFydCArIDE7Ci0gICAgICAgIHdoaWxlIChlbmQgPCBsZW5ndGgg
JiYgIWlzQ2xhc3NXaGl0ZXNwYWNlKGNoYXJhY3RlcnNbZW5kXSkpCisgICAgICAgIHdoaWxlIChl
bmQgPCBsZW5ndGggJiYgaXNOb3RIVE1MU3BhY2UoY2hhcmFjdGVyc1tlbmRdKSkKICAgICAgICAg
ICAgICsrZW5kOwogCiAgICAgICAgIG1fdmVjdG9yLmFwcGVuZChBdG9taWNTdHJpbmcoY2hhcmFj
dGVycyArIHN0YXJ0LCBlbmQgLSBzdGFydCkpOwpJbmRleDogV2ViQ29yZS9kb20vU3BhY2VTcGxp
dFN0cmluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaAko
cmV2aXNpb24gNjkwMjMpCisrKyBXZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgJKHdvcmtp
bmcgY29weSkKQEAgLTgxLDExICs4MSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
T3duUHRyPFNwYWNlU3BsaXRTdHJpbmdEYXRhPiBtX2RhdGE7CiAgICAgfTsKIAotICAgIGlubGlu
ZSBib29sIGlzQ2xhc3NXaGl0ZXNwYWNlKFVDaGFyIGMpCi0gICAgewotICAgICAgICByZXR1cm4g
YyA9PSAnICcgfHwgYyA9PSAnXHInIHx8IGMgPT0gJ1xuJyB8fCBjID09ICdcdCcgfHwgYyA9PSAn
XGYnOwotICAgIH0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gU3BhY2VT
cGxpdFN0cmluZ19oCkluZGV4OiBXZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAkocmV2aXNpb24gNjkwMjMpCisr
KyBXZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiAr
MzEsNyBAQAogI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgog
I2luY2x1ZGUgPHd0Zi9IYXNoRnVuY3Rpb25zLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBA
IC0yMTMsNyArMjE0LDcgQEAgdm9pZCBTdHlsZWRFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5n
ZQogICAgIHVuc2lnbmVkIGxlbmd0aCA9IG5ld0NsYXNzU3RyaW5nLmxlbmd0aCgpOwogICAgIHVu
c2lnbmVkIGk7CiAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7Ci0gICAgICAgIGlm
ICghaXNDbGFzc1doaXRlc3BhY2UoY2hhcmFjdGVyc1tpXSkpCisgICAgICAgIGlmIChpc05vdEhU
TUxTcGFjZShjaGFyYWN0ZXJzW2ldKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBi
b29sIGhhc0NsYXNzID0gaSA8IGxlbmd0aDsKSW5kZXg6IFdlYkNvcmUvaHRtbC9ET01Ub2tlbkxp
c3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuY3BwCShyZXZp
c2lvbiA2OTAyMykKKysrIFdlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCwgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5h
bWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIlNwYWNlU3Bs
aXRTdHJpbmcuaCIKICNpbmNsdWRlICJTdHJpbmdCdWlsZGVyLmgiCiAKQEAgLTQzLDcgKzQ0LDcg
QEAgc3RhdGljIGJvb2wgdmFsaWRhdGVUb2tlbihjb25zdCBBdG9taWNTdAogCiAgICAgdW5zaWdu
ZWQgbGVuZ3RoID0gdG9rZW4ubGVuZ3RoKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IGxlbmd0aDsgKytpKSB7Ci0gICAgICAgIGlmIChpc0NsYXNzV2hpdGVzcGFjZSh0b2tlbltpXSkp
IHsKKyAgICAgICAgaWYgKGlzSFRNTFNwYWNlKHRva2VuW2ldKSkgewogICAgICAgICAgICAgZWMg
PSBJTlZBTElEX0NIQVJBQ1RFUl9FUlI7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIH0KQEAgLTEzOSwyNSArMTQwLDI1IEBAIHZvaWQgRE9NVG9rZW5MaXN0OjpyZW1vdmVJbnRl
cm5hbChjb25zdCAKIAogICAgIC8vIFN0ZXAgNQogICAgIHdoaWxlIChwb3NpdGlvbiA8IGlucHV0
TGVuZ3RoKSB7Ci0gICAgICAgIGlmIChpc0NsYXNzV2hpdGVzcGFjZShpbnB1dFtwb3NpdGlvbl0p
KSB7IC8vIDYKKyAgICAgICAgaWYgKGlzSFRNTFNwYWNlKGlucHV0W3Bvc2l0aW9uXSkpIHsgLy8g
NgogICAgICAgICAgICAgb3V0cHV0LmFwcGVuZChpbnB1dFtwb3NpdGlvbisrXSk7IC8vIDYuMSwg
Ni4yCiAgICAgICAgICAgICBjb250aW51ZTsgLy8gNi4zCiAgICAgICAgIH0KIAogICAgICAgICAv
LyBTdGVwIDcKICAgICAgICAgVmVjdG9yPFVDaGFyPiBzOwotICAgICAgICB3aGlsZSAocG9zaXRp
b24gPCBpbnB1dExlbmd0aCAmJiAhaXNDbGFzc1doaXRlc3BhY2UoaW5wdXRbcG9zaXRpb25dKSkK
KyAgICAgICAgd2hpbGUgKHBvc2l0aW9uIDwgaW5wdXRMZW5ndGggJiYgaXNOb3RIVE1MU3BhY2Uo
aW5wdXRbcG9zaXRpb25dKSkKICAgICAgICAgICAgIHMuYXBwZW5kKGlucHV0W3Bvc2l0aW9uKytd
KTsKIAogICAgICAgICAvLyBTdGVwIDgKICAgICAgICAgaWYgKHMgPT0gdG9rZW4pIHsKICAgICAg
ICAgICAgIC8vIFN0ZXAgOC4xCi0gICAgICAgICAgICB3aGlsZSAocG9zaXRpb24gPCBpbnB1dExl
bmd0aCAmJiBpc0NsYXNzV2hpdGVzcGFjZShpbnB1dFtwb3NpdGlvbl0pKQorICAgICAgICAgICAg
d2hpbGUgKHBvc2l0aW9uIDwgaW5wdXRMZW5ndGggJiYgaXNIVE1MU3BhY2UoaW5wdXRbcG9zaXRp
b25dKSkKICAgICAgICAgICAgICAgICArK3Bvc2l0aW9uOwogCiAgICAgICAgICAgICAvLyBTdGVw
IDguMgogICAgICAgICAgICAgc2l6ZV90IGogPSBvdXRwdXQuc2l6ZSgpOwotICAgICAgICAgICAg
d2hpbGUgKGogPiAwICYmIGlzQ2xhc3NXaGl0ZXNwYWNlKG91dHB1dFtqIC0gMV0pKQorICAgICAg
ICAgICAgd2hpbGUgKGogPiAwICYmIGlzSFRNTFNwYWNlKG91dHB1dFtqIC0gMV0pKQogICAgICAg
ICAgICAgICAgIC0tajsKICAgICAgICAgICAgIG91dHB1dC5yZXNpemUoaik7CiAKSW5kZXg6IFdl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oCShyZXZpc2lvbiA2OTAyMykKKysrIFdl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01
Miw4ICs1MiwxNyBAQCBib29sIHBhcnNlSFRNTEludGVnZXIoY29uc3QgU3RyaW5nJiwgaW50CiAK
IGlubGluZSBib29sIGlzSFRNTFNwYWNlKFVDaGFyIGNoYXJhY3RlcikKIHsKLSAgICAvLyBGSVhN
RTogQ29uc2lkZXIgYnJhbmNoIHBlcm11dGF0aW9ucyBhcyB3ZSBkaWQgaW4gaXNBU0NJSVNwYWNl
LgotICAgIHJldHVybiBjaGFyYWN0ZXIgPT0gJ1x0JyB8fCBjaGFyYWN0ZXIgPT0gJ1x4MEEnIHx8
IGNoYXJhY3RlciA9PSAnXHgwQycgfHwgY2hhcmFjdGVyID09ICdceDBEJyB8fCBjaGFyYWN0ZXIg
PT0gJyAnOworICAgIC8vIEhpc3RvZ3JhbSBmcm9tIEFwcGxlJ3MgcGFnZSBsb2FkIHRlc3QgY29t
YmluZWQgd2l0aCBzb21lIGFkIGhvYyBicm93c2luZyBzb21lIG90aGVyIHRlc3Qgc3VpdGVzLgor
ICAgIC8vCisgICAgLy8gICAgIDgyJTogMjE2MzMwIG5vbi1zcGFjZSBjaGFyYWN0ZXJzLCBhbGwg
PiBVKzAwMjAKKyAgICAvLyAgICAgMTElOiAgMzAwMTcgcGxhaW4gc3BhY2UgY2hhcmFjdGVycywg
VSswMDIwCisgICAgLy8gICAgICA1JTogIDEyMDk5IG5ld2xpbmUgY2hhcmFjdGVycywgVSswMDBB
CisgICAgLy8gICAgICAyJTogICA1MzQ2IHRhYiBjaGFyYWN0ZXJzLCBVKzAwMDkKKyAgICAvLwor
ICAgIC8vIE5vIG90aGVyIGNoYXJhY3RlcnMgc2Vlbi4gTm8gVSswMDBDIG9yIFUrMDAwRCwgYW5k
IG5vIG90aGVyIGNvbnRyb2wgY2hhcmFjdGVycy4KKyAgICAvLyBBY2NvcmRpbmdseSwgd2UgY2hl
Y2sgZm9yIG5vbi1zcGFjZXMgZmlyc3QsIHRoZW4gc3BhY2UsIHRoZW4gbmV3bGluZSwgdGhlbiB0
YWIsIHRoZW4gdGhlIG90aGVyIGNoYXJhY3RlcnMuCisKKyAgICByZXR1cm4gY2hhcmFjdGVyIDw9
ICcgJyAmJiAoY2hhcmFjdGVyID09ICcgJyB8fCBjaGFyYWN0ZXIgPT0gJ1xuJyB8fCBjaGFyYWN0
ZXIgPT0gJ1x0JyB8fCBjaGFyYWN0ZXIgPT0gJ1xyJyB8fCBjaGFyYWN0ZXIgPT0gJ1xmJyk7CiB9
CiAKIGlubGluZSBib29sIGlzTm90SFRNTFNwYWNlKFVDaGFyIGNoYXJhY3RlcikK
</data>

          </attachment>
      

    </bug>

</bugzilla>