<?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>107460</bug_id>
          
          <creation_ts>2013-01-21 10:19:03 -0800</creation_ts>
          <short_desc>Move HTML Attribute case-sensitivity logic out of SelectorChecker to HTMLDocument.</short_desc>
          <delta_ts>2013-01-21 21:08:49 -0800</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>Unspecified</rep_platform>
          <op_sys>Unspecified</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>89879</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>812243</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-01-21 10:19:03 -0800</bug_when>
    <thetext>Move HTML Attribute case-sensitivity logic out of SelectorChecker to HTMLDocument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812245</commentid>
    <comment_count>1</comment_count>
      <attachid>183803</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-01-21 10:21:08 -0800</bug_when>
    <thetext>Created attachment 183803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812273</commentid>
    <comment_count>2</comment_count>
      <attachid>183803</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-21 11:03:38 -0800</bug_when>
    <thetext>Comment on attachment 183803
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=183803&amp;action=review

This is no longer inline, but I doubt it matters. The more I look at style resolve perf the more I realize its the tree walk which is so expensive (that, and a few super hot functions, like cansharestylewith)

&gt; Source/WebCore/html/HTMLDocument.cpp:344
&gt; +    HashSet&lt;AtomicStringImpl*&gt;* attrSet = new HashSet&lt;AtomicStringImpl*&gt;;

I don&apos;t think this needs to be atomicstringimpl anymore. That was an old limitation of our collection classes, but now we have traits for atomicstring.  I also don&apos;t think it hurts to use impl either. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812482</commentid>
    <comment_count>3</comment_count>
      <attachid>183803</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-21 17:11:46 -0800</bug_when>
    <thetext>Comment on attachment 183803
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=183803&amp;action=review

&gt;&gt; Source/WebCore/html/HTMLDocument.cpp:344
&gt;&gt; +    HashSet&lt;AtomicStringImpl*&gt;* attrSet = new HashSet&lt;AtomicStringImpl*&gt;;
&gt; 
&gt; I don&apos;t think this needs to be atomicstringimpl anymore. That was an old limitation of our collection classes, but now we have traits for atomicstring.  I also don&apos;t think it hurts to use impl either. :-)

Well, AtomicString would mean we’d ref and deref each item as it goes into the set, and even ref and deref keys as we check if they are in the map. So I still think this going one level lower to avoid all the ref and deref is worthwhile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812571</commentid>
    <comment_count>4</comment_count>
      <attachid>183880</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-01-21 20:53:35 -0800</bug_when>
    <thetext>Created attachment 183880
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812575</commentid>
    <comment_count>5</comment_count>
      <attachid>183880</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-21 21:08:45 -0800</bug_when>
    <thetext>Comment on attachment 183880
Patch for landing

Clearing flags on attachment: 183880

Committed r140382: &lt;http://trac.webkit.org/changeset/140382&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812576</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-21 21:08:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183803</attachid>
            <date>2013-01-21 10:21:08 -0800</date>
            <delta_ts>2013-01-21 20:53:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107460-20130121101804.patch</filename>
            <type>text/plain</type>
            <size>10659</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBlYjZmMzIzNzc5MzIw
ZjdlYmQ0ZTU0MmZjMGY0Y2VlMTVjNTU4Yi4uMTNmYTM2NWU3ZDE0YzJhMWNiMWM1MTI5NWFmMGUz
N2FlMDBiNTA2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTAxLTIxICBEaW1p
dHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBIVE1M
IEF0dHJpYnV0ZSBjYXNlLXNlbnNpdGl2aXR5IGxvZ2ljIG91dCBvZiBTZWxlY3RvckNoZWNrZXIg
dG8gSFRNTERvY3VtZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTA3NDYwCisKKyAgICAgICAgVGhlIGNhc2Utc2Vuc2l0aXZpdHkgb2YgSFRNTCBh
dHRyaWJ1dGVzIGlzIGRlZmluZWQgaW4gSFRNTCBzcGVjIGFuZCBpcyBvbmx5IGFwcGxpY2FibGUg
aW4gSFRNTCBkb2N1bWVudHMsCisgICAgICAgIHNvIGhhdmluZyB0aGlzIGxvZ2ljIGluIEhUTUxE
b2N1bWVudCBzZWVtcyBsaWtlIGEgZ29vZCB0aGluZy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvcmluZywgY292ZXJlZCBieSBleGlzdGlu
ZyB0ZXN0cy4KKworICAgICAgICAqIGNzcy9TZWxlY3RvckNoZWNrZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZSk6IE1vdmVkIGNvZGUgb3V0IG9mIGhlcmUuCisgICAgICAgIChXZWJDb3JlOjppc0Zh
c3RDaGVja2FibGVNYXRjaCk6IENoYW5nZWQgdGhlIGNhbGxzaXRlIHRvIHVzZSBuZXcgbG9jYXRp
b24uCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKTogRGl0dG8u
CisgICAgICAgICogaHRtbC9IVE1MRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRk
TG9jYWxOYW1lVG9TZXQpOiBNb3ZlZCB0aGUgY29kZSBpbnRvIGhlcmUuCisgICAgICAgIChXZWJD
b3JlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVIdG1sQ2FzZUluc2Vuc2l0aXZl
QXR0cmlidXRlc1NldCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50Ojpp
c0Nhc2VTZW5zaXRpdmVBdHRyaWJ1dGUpOiBEaXR0by4KKyAgICAgICAgKiBodG1sL0hUTUxEb2N1
bWVudC5oOgorICAgICAgICAoSFRNTERvY3VtZW50KTogQWRkZWQgZGVjbCBmb3IgdGhlIG5ld2x5
IG1vdmVkIGZ1bmN0aW9uLgorCiAyMDEzLTAxLTE4ICBEaW1hIEdvcmJpayAgPGRnb3JiaWtAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBhIFRleHRUcmFjay5oIGluY2x1ZGUgZnJvbSB0aGUg
RWxlbWVudC5oIGFuZCBtb3ZlIFdlYlZUVCByZWxhdGVkIHN0dWZmIG91dHNpZGUgdGhlIEVsZW1l
bnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKaW5kZXggZmMzNjNiZjUxMDk3
NWYwYTRmZTU2OGJlYzljNTA5OTUwNjFkYTU1ZC4uODgxZWQ5MjYwZmI2ZTM5NGNkZThmY2EwMDk4
MjVjYzA4MzYzZmQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hl
Y2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKQEAg
LTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJGb2N1c0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCisjaW5jbHVkZSAiSFRNTERvY3Vt
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1lRWxlbWVudEJhc2UuaCIKICNpbmNsdWRlICJIVE1M
SW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCkBAIC02MSw4ICs2Miw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotc3Rh
dGljIGJvb2wgaHRtbEF0dHJpYnV0ZUhhc0Nhc2VJbnNlbnNpdGl2ZVZhbHVlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIGF0dHIpOwotCiBTZWxlY3RvckNoZWNrZXI6OlNlbGVjdG9yQ2hlY2tlcihEb2N1
bWVudCogZG9jdW1lbnQpCiAgICAgOiBtX3N0cmljdFBhcnNpbmcoIWRvY3VtZW50LT5pblF1aXJr
c01vZGUoKSkKICAgICAsIG1fZG9jdW1lbnRJc0hUTUwoZG9jdW1lbnQtPmlzSFRNTERvY3VtZW50
KCkpCkBAIC0yMjAsNyArMjE5LDcgQEAgc3RhdGljIGlubGluZSBib29sIGlzRmFzdENoZWNrYWJs
ZU1hdGNoKGNvbnN0IENTU1NlbGVjdG9yKiBzZWxlY3RvcikKICAgICAgICAgcmV0dXJuIHNlbGVj
dG9yLT5hdHRyaWJ1dGUoKSAhPSBzdHlsZUF0dHI7CiAgICAgfQogICAgIGlmIChzZWxlY3Rvci0+
bV9tYXRjaCA9PSBDU1NTZWxlY3Rvcjo6RXhhY3QpCi0gICAgICAgIHJldHVybiBzZWxlY3Rvci0+
YXR0cmlidXRlKCkgIT0gc3R5bGVBdHRyICYmICFodG1sQXR0cmlidXRlSGFzQ2FzZUluc2Vuc2l0
aXZlVmFsdWUoc2VsZWN0b3ItPmF0dHJpYnV0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNlbGVjdG9y
LT5hdHRyaWJ1dGUoKSAhPSBzdHlsZUF0dHIgJiYgSFRNTERvY3VtZW50Ojppc0Nhc2VTZW5zaXRp
dmVBdHRyaWJ1dGUoc2VsZWN0b3ItPmF0dHJpYnV0ZSgpKTsKICAgICByZXR1cm4gc2VsZWN0b3It
Pm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6Ok5vbmUgfHwgc2VsZWN0b3ItPm1fbWF0Y2ggPT0gQ1NT
U2VsZWN0b3I6OklkIHx8IHNlbGVjdG9yLT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpDbGFzczsK
IH0KIApAQCAtMzk0LDczICszOTMsNiBAQCBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoIFNlbGVjdG9y
Q2hlY2tlcjo6bWF0Y2goY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbgogICAgIHJl
dHVybiBTZWxlY3RvckZhaWxzQ29tcGxldGVseTsKIH0KIAotc3RhdGljIHZvaWQgYWRkTG9jYWxO
YW1lVG9TZXQoSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4qIHNldCwgY29uc3QgUXVhbGlmaWVk
TmFtZSYgcU5hbWUpCi17Ci0gICAgc2V0LT5hZGQocU5hbWUubG9jYWxOYW1lKCkuaW1wbCgpKTsK
LX0KLQotc3RhdGljIEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+KiBjcmVhdGVIdG1sQ2FzZUlu
c2Vuc2l0aXZlQXR0cmlidXRlc1NldCgpCi17Ci0gICAgLy8gVGhpcyBpcyB0aGUgbGlzdCBvZiBh
dHRyaWJ1dGVzIGluIEhUTUwgNC4wMSB3aXRoIHZhbHVlcyBtYXJrZWQgYXMgIltDSV0iIG9yIGNh
c2UtaW5zZW5zaXRpdmUKLSAgICAvLyBNb3ppbGxhIHRyZWF0cyBhbGwgb3RoZXIgdmFsdWVzIGFz
IGNhc2Utc2Vuc2l0aXZlLCB0aHVzIHNvIGRvIHdlLgotICAgIEhhc2hTZXQ8QXRvbWljU3RyaW5n
SW1wbCo+KiBhdHRyU2V0ID0gbmV3IEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+OwotCi0gICAg
YWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgYWNjZXB0X2NoYXJzZXRBdHRyKTsKLSAgICBhZGRM
b2NhbE5hbWVUb1NldChhdHRyU2V0LCBhY2NlcHRBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVUb1Nl
dChhdHRyU2V0LCBhbGlnbkF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGFs
aW5rQXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgYXhpc0F0dHIpOwotICAg
IGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGJnY29sb3JBdHRyKTsKLSAgICBhZGRMb2NhbE5h
bWVUb1NldChhdHRyU2V0LCBjaGFyc2V0QXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0
clNldCwgY2hlY2tlZEF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGNsZWFy
QXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgY29kZXR5cGVBdHRyKTsKLSAg
ICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBjb2xvckF0dHIpOwotICAgIGFkZExvY2FsTmFt
ZVRvU2V0KGF0dHJTZXQsIGNvbXBhY3RBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRy
U2V0LCBkZWNsYXJlQXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgZGVmZXJB
dHRyKTsKLSAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBkaXJBdHRyKTsKLSAgICBhZGRM
b2NhbE5hbWVUb1NldChhdHRyU2V0LCBkaXNhYmxlZEF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRv
U2V0KGF0dHJTZXQsIGVuY3R5cGVBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0
LCBmYWNlQXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgZnJhbWVBdHRyKTsK
LSAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBocmVmbGFuZ0F0dHIpOwotICAgIGFkZExv
Y2FsTmFtZVRvU2V0KGF0dHJTZXQsIGh0dHBfZXF1aXZBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVU
b1NldChhdHRyU2V0LCBsYW5nQXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwg
bGFuZ3VhZ2VBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBsaW5rQXR0cik7
Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgbWVkaWFBdHRyKTsKLSAgICBhZGRMb2Nh
bE5hbWVUb1NldChhdHRyU2V0LCBtZXRob2RBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVUb1NldChh
dHRyU2V0LCBtdWx0aXBsZUF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIG5v
aHJlZkF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIG5vcmVzaXplQXR0cik7
Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgbm9zaGFkZUF0dHIpOwotICAgIGFkZExv
Y2FsTmFtZVRvU2V0KGF0dHJTZXQsIG5vd3JhcEF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0
KGF0dHJTZXQsIHJlYWRvbmx5QXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwg
cmVsQXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgcmV2QXR0cik7Ci0gICAg
YWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgcnVsZXNBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVU
b1NldChhdHRyU2V0LCBzY29wZUF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQs
IHNjcm9sbGluZ0F0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIHNlbGVjdGVk
QXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgc2hhcGVBdHRyKTsKLSAgICBh
ZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCB0YXJnZXRBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVU
b1NldChhdHRyU2V0LCB0ZXh0QXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwg
dHlwZUF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIHZhbGlnbkF0dHIpOwot
ICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIHZhbHVldHlwZUF0dHIpOwotICAgIGFkZExv
Y2FsTmFtZVRvU2V0KGF0dHJTZXQsIHZsaW5rQXR0cik7Ci0KLSAgICByZXR1cm4gYXR0clNldDsK
LX0KLQotYm9vbCBodG1sQXR0cmlidXRlSGFzQ2FzZUluc2Vuc2l0aXZlVmFsdWUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0cikKLXsKLSAgICBzdGF0aWMgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBs
Kj4qIGh0bWxDYXNlSW5zZW5zaXRpdmVBdHRyaWJ1dGVzU2V0ID0gY3JlYXRlSHRtbENhc2VJbnNl
bnNpdGl2ZUF0dHJpYnV0ZXNTZXQoKTsKLSAgICBib29sIGlzUG9zc2libGVIVE1MQXR0ciA9ICFh
dHRyLmhhc1ByZWZpeCgpICYmIChhdHRyLm5hbWVzcGFjZVVSSSgpID09IG51bGxBdG9tKTsKLSAg
ICByZXR1cm4gaXNQb3NzaWJsZUhUTUxBdHRyICYmIGh0bWxDYXNlSW5zZW5zaXRpdmVBdHRyaWJ1
dGVzU2V0LT5jb250YWlucyhhdHRyLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci19Ci0KIHN0YXRpYyBi
b29sIGF0dHJpYnV0ZVZhbHVlTWF0Y2hlcyhjb25zdCBBdHRyaWJ1dGUqIGF0dHJpYnV0ZUl0ZW0s
IENTU1NlbGVjdG9yOjpNYXRjaCBtYXRjaCwgY29uc3QgQXRvbWljU3RyaW5nJiBzZWxlY3RvclZh
bHVlLCBib29sIGNhc2VTZW5zaXRpdmUpCiB7CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1
ZSA9IGF0dHJpYnV0ZUl0ZW0tPnZhbHVlKCk7CkBAIC01NjMsNyArNDk1LDcgQEAgYm9vbCBTZWxl
Y3RvckNoZWNrZXI6OmNoZWNrT25lKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0JiBjb250
ZXh0LCBjb25zdCBTaWIKICAgICAgICAgaWYgKCFlbGVtZW50LT5oYXNBdHRyaWJ1dGVzKCkpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgYm9vbCBjYXNlU2Vuc2l0aXZlID0g
IW1fZG9jdW1lbnRJc0hUTUwgfHwgIWh0bWxBdHRyaWJ1dGVIYXNDYXNlSW5zZW5zaXRpdmVWYWx1
ZShhdHRyKTsKKyAgICAgICAgYm9vbCBjYXNlU2Vuc2l0aXZlID0gIW1fZG9jdW1lbnRJc0hUTUwg
fHwgSFRNTERvY3VtZW50Ojppc0Nhc2VTZW5zaXRpdmVBdHRyaWJ1dGUoYXR0cik7CiAKICAgICAg
ICAgaWYgKCFhbnlBdHRyaWJ1dGVNYXRjaGVzKGVsZW1lbnQsIHN0YXRpY19jYXN0PENTU1NlbGVj
dG9yOjpNYXRjaD4oc2VsZWN0b3ItPm1fbWF0Y2gpLCBhdHRyLCBzZWxlY3Rvci0+dmFsdWUoKSwg
Y2FzZVNlbnNpdGl2ZSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxEb2N1bWVudC5jcHAKaW5kZXggNGE3NTI3ODIwOTk5MGU3ZDlkNTIxZWJhNWJlNDliYTdj
ZDVmOWUwNi4uZDEwYjY1YzQxNjUzNGVhODdjMzU2ODA5ODUzZWEzOTc5Y2U3NDU2YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcApAQCAtMzMyLDYgKzMzMiw3MyBAQCB2b2lkIEhU
TUxEb2N1bWVudDo6cmVtb3ZlRXh0cmFOYW1lZEl0ZW0oY29uc3QgQXRvbWljU3RyaW5nJiBuYW1l
KQogICAgIHJlbW92ZUl0ZW1Gcm9tTWFwKG1fZXh0cmFOYW1lZEl0ZW1Db3VudHMsIG5hbWUpOwog
fQogCitzdGF0aWMgdm9pZCBhZGRMb2NhbE5hbWVUb1NldChIYXNoU2V0PEF0b21pY1N0cmluZ0lt
cGwqPiogc2V0LCBjb25zdCBRdWFsaWZpZWROYW1lJiBxTmFtZSkKK3sKKyAgICBzZXQtPmFkZChx
TmFtZS5sb2NhbE5hbWUoKS5pbXBsKCkpOworfQorCitzdGF0aWMgSGFzaFNldDxBdG9taWNTdHJp
bmdJbXBsKj4qIGNyZWF0ZUh0bWxDYXNlSW5zZW5zaXRpdmVBdHRyaWJ1dGVzU2V0KCkKK3sKKyAg
ICAvLyBUaGlzIGlzIHRoZSBsaXN0IG9mIGF0dHJpYnV0ZXMgaW4gSFRNTCA0LjAxIHdpdGggdmFs
dWVzIG1hcmtlZCBhcyAiW0NJXSIgb3IgY2FzZS1pbnNlbnNpdGl2ZQorICAgIC8vIE1vemlsbGEg
dHJlYXRzIGFsbCBvdGhlciB2YWx1ZXMgYXMgY2FzZS1zZW5zaXRpdmUsIHRodXMgc28gZG8gd2Uu
CisgICAgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4qIGF0dHJTZXQgPSBuZXcgSGFzaFNldDxB
dG9taWNTdHJpbmdJbXBsKj47CisKKyAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBhY2Nl
cHRfY2hhcnNldEF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGFjY2VwdEF0
dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGFsaWduQXR0cik7CisgICAgYWRk
TG9jYWxOYW1lVG9TZXQoYXR0clNldCwgYWxpbmtBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1Nl
dChhdHRyU2V0LCBheGlzQXR0cik7CisgICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgYmdj
b2xvckF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGNoYXJzZXRBdHRyKTsK
KyAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBjaGVja2VkQXR0cik7CisgICAgYWRkTG9j
YWxOYW1lVG9TZXQoYXR0clNldCwgY2xlYXJBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChh
dHRyU2V0LCBjb2RldHlwZUF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGNv
bG9yQXR0cik7CisgICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgY29tcGFjdEF0dHIpOwor
ICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGRlY2xhcmVBdHRyKTsKKyAgICBhZGRMb2Nh
bE5hbWVUb1NldChhdHRyU2V0LCBkZWZlckF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0
dHJTZXQsIGRpckF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGRpc2FibGVk
QXR0cik7CisgICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgZW5jdHlwZUF0dHIpOworICAg
IGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGZhY2VBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVU
b1NldChhdHRyU2V0LCBmcmFtZUF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQs
IGhyZWZsYW5nQXR0cik7CisgICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgaHR0cF9lcXVp
dkF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGxhbmdBdHRyKTsKKyAgICBh
ZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBsYW5ndWFnZUF0dHIpOworICAgIGFkZExvY2FsTmFt
ZVRvU2V0KGF0dHJTZXQsIGxpbmtBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0
LCBtZWRpYUF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIG1ldGhvZEF0dHIp
OworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIG11bHRpcGxlQXR0cik7CisgICAgYWRk
TG9jYWxOYW1lVG9TZXQoYXR0clNldCwgbm9ocmVmQXR0cik7CisgICAgYWRkTG9jYWxOYW1lVG9T
ZXQoYXR0clNldCwgbm9yZXNpemVBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0
LCBub3NoYWRlQXR0cik7CisgICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgbm93cmFwQXR0
cik7CisgICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgcmVhZG9ubHlBdHRyKTsKKyAgICBh
ZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCByZWxBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1Nl
dChhdHRyU2V0LCByZXZBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBydWxl
c0F0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIHNjb3BlQXR0cik7CisgICAg
YWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgc2Nyb2xsaW5nQXR0cik7CisgICAgYWRkTG9jYWxO
YW1lVG9TZXQoYXR0clNldCwgc2VsZWN0ZWRBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChh
dHRyU2V0LCBzaGFwZUF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIHRhcmdl
dEF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIHRleHRBdHRyKTsKKyAgICBh
ZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCB0eXBlQXR0cik7CisgICAgYWRkTG9jYWxOYW1lVG9T
ZXQoYXR0clNldCwgdmFsaWduQXR0cik7CisgICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwg
dmFsdWV0eXBlQXR0cik7CisgICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgdmxpbmtBdHRy
KTsKKworICAgIHJldHVybiBhdHRyU2V0OworfQorCitib29sIEhUTUxEb2N1bWVudDo6aXNDYXNl
U2Vuc2l0aXZlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpCit7
CisgICAgc3RhdGljIEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+KiBodG1sQ2FzZUluc2Vuc2l0
aXZlQXR0cmlidXRlc1NldCA9IGNyZWF0ZUh0bWxDYXNlSW5zZW5zaXRpdmVBdHRyaWJ1dGVzU2V0
KCk7CisgICAgYm9vbCBpc1Bvc3NpYmxlSFRNTEF0dHIgPSAhYXR0cmlidXRlTmFtZS5oYXNQcmVm
aXgoKSAmJiAoYXR0cmlidXRlTmFtZS5uYW1lc3BhY2VVUkkoKSA9PSBudWxsQXRvbSk7CisgICAg
cmV0dXJuICFpc1Bvc3NpYmxlSFRNTEF0dHIgfHwgIWh0bWxDYXNlSW5zZW5zaXRpdmVBdHRyaWJ1
dGVzU2V0LT5jb250YWlucyhhdHRyaWJ1dGVOYW1lLmxvY2FsTmFtZSgpLmltcGwoKSk7Cit9CisK
IHZvaWQgSFRNTERvY3VtZW50OjpjbGVhcigpCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgZG9lcyBu
b3RoaW5nLCBhbmQgdGhhdCBzZWVtcyB1bmxpa2VseSB0byBiZSBjb3JyZWN0LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTERvY3VtZW50LmgKaW5kZXggZmY3Y2ZiM2UxN2UwNDQyNjhjMGZhOTlkMGMyOTllMzRh
MmVkNjAyYy4uMmFhYTc5OGFlYWZmNzgxMDJlZDQ0MTE5ZTg5Njg4ZWU3NDI4MjcxMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxEb2N1bWVudC5oCkBAIC03Nyw2ICs3Nyw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIHJlbW92ZUV4dHJhTmFtZWRJdGVtKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSk7CiAgICAg
Ym9vbCBoYXNFeHRyYU5hbWVkSXRlbShBdG9taWNTdHJpbmdJbXBsKiBuYW1lKTsKIAorICAgIHN0
YXRpYyBib29sIGlzQ2FzZVNlbnNpdGl2ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJik7
CisKIHByb3RlY3RlZDoKICAgICBIVE1MRG9jdW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183880</attachid>
            <date>2013-01-21 20:53:35 -0800</date>
            <delta_ts>2013-01-21 21:08:45 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-107460-20130121205030.patch</filename>
            <type>text/plain</type>
            <size>10621</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzgwNzQ5ZmFmODg5MmZh
N2Q1ZWIzMGY0NWRmNzQ3ZTMxYmM4Y2VmOS4uYTdjNTRkM2U1YWNhOWY0NWYzMWVjMmZiNjdmM2Uy
ZmIyOTJmMDFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTAxLTIxICBEaW1p
dHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBIVE1M
IEF0dHJpYnV0ZSBjYXNlLXNlbnNpdGl2aXR5IGxvZ2ljIG91dCBvZiBTZWxlY3RvckNoZWNrZXIg
dG8gSFRNTERvY3VtZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTA3NDYwCisKKyAgICAgICAgVGhlIGNhc2Utc2Vuc2l0aXZpdHkgb2YgSFRNTCBh
dHRyaWJ1dGVzIGlzIGRlZmluZWQgaW4gSFRNTCBzcGVjIGFuZCBpcyBvbmx5IGFwcGxpY2FibGUg
aW4gSFRNTCBkb2N1bWVudHMsCisgICAgICAgIHNvIGhhdmluZyB0aGlzIGxvZ2ljIGluIEhUTUxE
b2N1bWVudCBzZWVtcyBsaWtlIGEgZ29vZCB0aGluZy4KKworICAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbC4KKworICAgICAgICBSZWZhY3RvcmluZywgY292ZXJlZCBieSBleGlzdGluZyB0
ZXN0cy4KKworICAgICAgICAqIGNzcy9TZWxlY3RvckNoZWNrZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZSk6IE1vdmVkIGNvZGUgb3V0IG9mIGhlcmUuCisgICAgICAgIChXZWJDb3JlOjppc0Zhc3RD
aGVja2FibGVNYXRjaCk6IENoYW5nZWQgdGhlIGNhbGxzaXRlIHRvIHVzZSBuZXcgbG9jYXRpb24u
CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKTogRGl0dG8uCisg
ICAgICAgICogaHRtbC9IVE1MRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRkTG9j
YWxOYW1lVG9TZXQpOiBNb3ZlZCB0aGUgY29kZSBpbnRvIGhlcmUuCisgICAgICAgIChXZWJDb3Jl
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVIdG1sQ2FzZUluc2Vuc2l0aXZlQXR0
cmlidXRlc1NldCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50Ojppc0Nh
c2VTZW5zaXRpdmVBdHRyaWJ1dGUpOiBEaXR0by4KKyAgICAgICAgKiBodG1sL0hUTUxEb2N1bWVu
dC5oOgorICAgICAgICAoSFRNTERvY3VtZW50KTogQWRkZWQgZGVjbCBmb3IgdGhlIG5ld2x5IG1v
dmVkIGZ1bmN0aW9uLgorCiAyMDEzLTAxLTIxICBEaXJrIFNjaHVsemUgIDxkc2NodWx6ZUBhZG9i
ZS5jb20+CiAKICAgICAgICAgQWRkIGJ1aWxkIGZsYWcgZm9yIENhbnZhcydzIFBhdGggb2JqZWN0
IChkaXNhYmxlZCBieSBkZWZhdWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1Nl
bGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNw
cAppbmRleCA0YzdhMmNiNWQwMmQwMDE2NzUyNmRlMTNlMjZmZTk1NzIyMWMxZDVhLi43ZjljMDk3
YjFiOGRlNDM1Nzg1NWU2ZWQ4NjhmMTVkM2Y0ZjNjODNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2Vs
ZWN0b3JDaGVja2VyLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkZvY3VzQ29udHJv
bGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIK
KyNpbmNsdWRlICJIVE1MRG9jdW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVFbGVtZW50QmFz
ZS5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKQEAgLTYxLDggKzYyLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3Bh
Y2UgSFRNTE5hbWVzOwogCi1zdGF0aWMgYm9vbCBodG1sQXR0cmlidXRlSGFzQ2FzZUluc2Vuc2l0
aXZlVmFsdWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cik7Ci0KIFNlbGVjdG9yQ2hlY2tlcjo6
U2VsZWN0b3JDaGVja2VyKERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IG1fc3RyaWN0UGFyc2lu
ZyghZG9jdW1lbnQtPmluUXVpcmtzTW9kZSgpKQogICAgICwgbV9kb2N1bWVudElzSFRNTChkb2N1
bWVudC0+aXNIVE1MRG9jdW1lbnQoKSkKQEAgLTIxNiw3ICsyMTUsNyBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgaXNGYXN0Q2hlY2thYmxlTWF0Y2goY29uc3QgQ1NTU2VsZWN0b3IqIHNlbGVjdG9yKQog
ICAgICAgICByZXR1cm4gc2VsZWN0b3ItPmF0dHJpYnV0ZSgpICE9IHN0eWxlQXR0cjsKICAgICB9
CiAgICAgaWYgKHNlbGVjdG9yLT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpFeGFjdCkKLSAgICAg
ICAgcmV0dXJuIHNlbGVjdG9yLT5hdHRyaWJ1dGUoKSAhPSBzdHlsZUF0dHIgJiYgIWh0bWxBdHRy
aWJ1dGVIYXNDYXNlSW5zZW5zaXRpdmVWYWx1ZShzZWxlY3Rvci0+YXR0cmlidXRlKCkpOworICAg
ICAgICByZXR1cm4gc2VsZWN0b3ItPmF0dHJpYnV0ZSgpICE9IHN0eWxlQXR0ciAmJiBIVE1MRG9j
dW1lbnQ6OmlzQ2FzZVNlbnNpdGl2ZUF0dHJpYnV0ZShzZWxlY3Rvci0+YXR0cmlidXRlKCkpOwog
ICAgIHJldHVybiBzZWxlY3Rvci0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rvcjo6VGFnIHx8IHNlbGVj
dG9yLT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpJZCB8fCBzZWxlY3Rvci0+bV9tYXRjaCA9PSBD
U1NTZWxlY3Rvcjo6Q2xhc3M7CiB9CiAKQEAgLTM5MSw3MyArMzkwLDYgQEAgU2VsZWN0b3JDaGVj
a2VyOjpNYXRjaCBTZWxlY3RvckNoZWNrZXI6Om1hdGNoKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdD
b250ZXh0JiBjb24KICAgICByZXR1cm4gU2VsZWN0b3JGYWlsc0NvbXBsZXRlbHk7CiB9CiAKLXN0
YXRpYyB2b2lkIGFkZExvY2FsTmFtZVRvU2V0KEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+KiBz
ZXQsIGNvbnN0IFF1YWxpZmllZE5hbWUmIHFOYW1lKQotewotICAgIHNldC0+YWRkKHFOYW1lLmxv
Y2FsTmFtZSgpLmltcGwoKSk7Ci19Ci0KLXN0YXRpYyBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwq
PiogY3JlYXRlSHRtbENhc2VJbnNlbnNpdGl2ZUF0dHJpYnV0ZXNTZXQoKQotewotICAgIC8vIFRo
aXMgaXMgdGhlIGxpc3Qgb2YgYXR0cmlidXRlcyBpbiBIVE1MIDQuMDEgd2l0aCB2YWx1ZXMgbWFy
a2VkIGFzICJbQ0ldIiBvciBjYXNlLWluc2Vuc2l0aXZlCi0gICAgLy8gTW96aWxsYSB0cmVhdHMg
YWxsIG90aGVyIHZhbHVlcyBhcyBjYXNlLXNlbnNpdGl2ZSwgdGh1cyBzbyBkbyB3ZS4KLSAgICBI
YXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiogYXR0clNldCA9IG5ldyBIYXNoU2V0PEF0b21pY1N0
cmluZ0ltcGwqPjsKLQotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGFjY2VwdF9jaGFy
c2V0QXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgYWNjZXB0QXR0cik7Ci0g
ICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgYWxpZ25BdHRyKTsKLSAgICBhZGRMb2NhbE5h
bWVUb1NldChhdHRyU2V0LCBhbGlua0F0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJT
ZXQsIGF4aXNBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBiZ2NvbG9yQXR0
cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgY2hhcnNldEF0dHIpOwotICAgIGFk
ZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGNoZWNrZWRBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVU
b1NldChhdHRyU2V0LCBjbGVhckF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQs
IGNvZGV0eXBlQXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgY29sb3JBdHRy
KTsKLSAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBjb21wYWN0QXR0cik7Ci0gICAgYWRk
TG9jYWxOYW1lVG9TZXQoYXR0clNldCwgZGVjbGFyZUF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRv
U2V0KGF0dHJTZXQsIGRlZmVyQXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwg
ZGlyQXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgZGlzYWJsZWRBdHRyKTsK
LSAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBlbmN0eXBlQXR0cik7Ci0gICAgYWRkTG9j
YWxOYW1lVG9TZXQoYXR0clNldCwgZmFjZUF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0
dHJTZXQsIGZyYW1lQXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgaHJlZmxh
bmdBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBodHRwX2VxdWl2QXR0cik7
Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgbGFuZ0F0dHIpOwotICAgIGFkZExvY2Fs
TmFtZVRvU2V0KGF0dHJTZXQsIGxhbmd1YWdlQXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQo
YXR0clNldCwgbGlua0F0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIG1lZGlh
QXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgbWV0aG9kQXR0cik7Ci0gICAg
YWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgbXVsdGlwbGVBdHRyKTsKLSAgICBhZGRMb2NhbE5h
bWVUb1NldChhdHRyU2V0LCBub2hyZWZBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRy
U2V0LCBub3Jlc2l6ZUF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIG5vc2hh
ZGVBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBub3dyYXBBdHRyKTsKLSAg
ICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCByZWFkb25seUF0dHIpOwotICAgIGFkZExvY2Fs
TmFtZVRvU2V0KGF0dHJTZXQsIHJlbEF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJT
ZXQsIHJldkF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIHJ1bGVzQXR0cik7
Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgc2NvcGVBdHRyKTsKLSAgICBhZGRMb2Nh
bE5hbWVUb1NldChhdHRyU2V0LCBzY3JvbGxpbmdBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVUb1Nl
dChhdHRyU2V0LCBzZWxlY3RlZEF0dHIpOwotICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQs
IHNoYXBlQXR0cik7Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgdGFyZ2V0QXR0cik7
Ci0gICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgdGV4dEF0dHIpOwotICAgIGFkZExvY2Fs
TmFtZVRvU2V0KGF0dHJTZXQsIHR5cGVBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRy
U2V0LCB2YWxpZ25BdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCB2YWx1ZXR5
cGVBdHRyKTsKLSAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCB2bGlua0F0dHIpOwotCi0g
ICAgcmV0dXJuIGF0dHJTZXQ7Ci19Ci0KLWJvb2wgaHRtbEF0dHJpYnV0ZUhhc0Nhc2VJbnNlbnNp
dGl2ZVZhbHVlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHIpCi17Ci0gICAgc3RhdGljIEhhc2hT
ZXQ8QXRvbWljU3RyaW5nSW1wbCo+KiBodG1sQ2FzZUluc2Vuc2l0aXZlQXR0cmlidXRlc1NldCA9
IGNyZWF0ZUh0bWxDYXNlSW5zZW5zaXRpdmVBdHRyaWJ1dGVzU2V0KCk7Ci0gICAgYm9vbCBpc1Bv
c3NpYmxlSFRNTEF0dHIgPSAhYXR0ci5oYXNQcmVmaXgoKSAmJiAoYXR0ci5uYW1lc3BhY2VVUkko
KSA9PSBudWxsQXRvbSk7Ci0gICAgcmV0dXJuIGlzUG9zc2libGVIVE1MQXR0ciAmJiBodG1sQ2Fz
ZUluc2Vuc2l0aXZlQXR0cmlidXRlc1NldC0+Y29udGFpbnMoYXR0ci5sb2NhbE5hbWUoKS5pbXBs
KCkpOwotfQotCiBzdGF0aWMgYm9vbCBhdHRyaWJ1dGVWYWx1ZU1hdGNoZXMoY29uc3QgQXR0cmli
dXRlKiBhdHRyaWJ1dGVJdGVtLCBDU1NTZWxlY3Rvcjo6TWF0Y2ggbWF0Y2gsIGNvbnN0IEF0b21p
Y1N0cmluZyYgc2VsZWN0b3JWYWx1ZSwgYm9vbCBjYXNlU2Vuc2l0aXZlKQogewogICAgIGNvbnN0
IEF0b21pY1N0cmluZyYgdmFsdWUgPSBhdHRyaWJ1dGVJdGVtLT52YWx1ZSgpOwpAQCAtNTYwLDcg
KzQ5Miw3IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShjb25zdCBTZWxlY3RvckNo
ZWNraW5nQ29udGV4dCYgY29udGV4dCwgY29uc3QgU2liCiAgICAgICAgIGlmICghZWxlbWVudC0+
aGFzQXR0cmlidXRlcygpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIGJv
b2wgY2FzZVNlbnNpdGl2ZSA9ICFtX2RvY3VtZW50SXNIVE1MIHx8ICFodG1sQXR0cmlidXRlSGFz
Q2FzZUluc2Vuc2l0aXZlVmFsdWUoYXR0cik7CisgICAgICAgIGJvb2wgY2FzZVNlbnNpdGl2ZSA9
ICFtX2RvY3VtZW50SXNIVE1MIHx8IEhUTUxEb2N1bWVudDo6aXNDYXNlU2Vuc2l0aXZlQXR0cmli
dXRlKGF0dHIpOwogCiAgICAgICAgIGlmICghYW55QXR0cmlidXRlTWF0Y2hlcyhlbGVtZW50LCBz
dGF0aWNfY2FzdDxDU1NTZWxlY3Rvcjo6TWF0Y2g+KHNlbGVjdG9yLT5tX21hdGNoKSwgYXR0ciwg
c2VsZWN0b3ItPnZhbHVlKCksIGNhc2VTZW5zaXRpdmUpKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCmluZGV4IDRhNzUyNzgyMDk5OTBl
N2Q5ZDUyMWViYTViZTQ5YmE3Y2Q1ZjllMDYuLmQxMGI2NWM0MTY1MzRlYTg3YzM1NjgwOTg1M2Vh
Mzk3OWNlNzQ1NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAKQEAgLTMzMiw2
ICszMzIsNzMgQEAgdm9pZCBIVE1MRG9jdW1lbnQ6OnJlbW92ZUV4dHJhTmFtZWRJdGVtKGNvbnN0
IEF0b21pY1N0cmluZyYgbmFtZSkKICAgICByZW1vdmVJdGVtRnJvbU1hcChtX2V4dHJhTmFtZWRJ
dGVtQ291bnRzLCBuYW1lKTsKIH0KIAorc3RhdGljIHZvaWQgYWRkTG9jYWxOYW1lVG9TZXQoSGFz
aFNldDxBdG9taWNTdHJpbmdJbXBsKj4qIHNldCwgY29uc3QgUXVhbGlmaWVkTmFtZSYgcU5hbWUp
Cit7CisgICAgc2V0LT5hZGQocU5hbWUubG9jYWxOYW1lKCkuaW1wbCgpKTsKK30KKworc3RhdGlj
IEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+KiBjcmVhdGVIdG1sQ2FzZUluc2Vuc2l0aXZlQXR0
cmlidXRlc1NldCgpCit7CisgICAgLy8gVGhpcyBpcyB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIGlu
IEhUTUwgNC4wMSB3aXRoIHZhbHVlcyBtYXJrZWQgYXMgIltDSV0iIG9yIGNhc2UtaW5zZW5zaXRp
dmUKKyAgICAvLyBNb3ppbGxhIHRyZWF0cyBhbGwgb3RoZXIgdmFsdWVzIGFzIGNhc2Utc2Vuc2l0
aXZlLCB0aHVzIHNvIGRvIHdlLgorICAgIEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+KiBhdHRy
U2V0ID0gbmV3IEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+OworCisgICAgYWRkTG9jYWxOYW1l
VG9TZXQoYXR0clNldCwgYWNjZXB0X2NoYXJzZXRBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1Nl
dChhdHRyU2V0LCBhY2NlcHRBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBh
bGlnbkF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGFsaW5rQXR0cik7Cisg
ICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgYXhpc0F0dHIpOworICAgIGFkZExvY2FsTmFt
ZVRvU2V0KGF0dHJTZXQsIGJnY29sb3JBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRy
U2V0LCBjaGFyc2V0QXR0cik7CisgICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgY2hlY2tl
ZEF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIGNsZWFyQXR0cik7CisgICAg
YWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgY29kZXR5cGVBdHRyKTsKKyAgICBhZGRMb2NhbE5h
bWVUb1NldChhdHRyU2V0LCBjb2xvckF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJT
ZXQsIGNvbXBhY3RBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBkZWNsYXJl
QXR0cik7CisgICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgZGVmZXJBdHRyKTsKKyAgICBh
ZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBkaXJBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1Nl
dChhdHRyU2V0LCBkaXNhYmxlZEF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQs
IGVuY3R5cGVBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBmYWNlQXR0cik7
CisgICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgZnJhbWVBdHRyKTsKKyAgICBhZGRMb2Nh
bE5hbWVUb1NldChhdHRyU2V0LCBocmVmbGFuZ0F0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0
KGF0dHJTZXQsIGh0dHBfZXF1aXZBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0
LCBsYW5nQXR0cik7CisgICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgbGFuZ3VhZ2VBdHRy
KTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBsaW5rQXR0cik7CisgICAgYWRkTG9j
YWxOYW1lVG9TZXQoYXR0clNldCwgbWVkaWFBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChh
dHRyU2V0LCBtZXRob2RBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0LCBtdWx0
aXBsZUF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIG5vaHJlZkF0dHIpOwor
ICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIG5vcmVzaXplQXR0cik7CisgICAgYWRkTG9j
YWxOYW1lVG9TZXQoYXR0clNldCwgbm9zaGFkZUF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0
KGF0dHJTZXQsIG5vd3JhcEF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIHJl
YWRvbmx5QXR0cik7CisgICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgcmVsQXR0cik7Cisg
ICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgcmV2QXR0cik7CisgICAgYWRkTG9jYWxOYW1l
VG9TZXQoYXR0clNldCwgcnVsZXNBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0
LCBzY29wZUF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIHNjcm9sbGluZ0F0
dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIHNlbGVjdGVkQXR0cik7CisgICAg
YWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgc2hhcGVBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVU
b1NldChhdHRyU2V0LCB0YXJnZXRBdHRyKTsKKyAgICBhZGRMb2NhbE5hbWVUb1NldChhdHRyU2V0
LCB0ZXh0QXR0cik7CisgICAgYWRkTG9jYWxOYW1lVG9TZXQoYXR0clNldCwgdHlwZUF0dHIpOwor
ICAgIGFkZExvY2FsTmFtZVRvU2V0KGF0dHJTZXQsIHZhbGlnbkF0dHIpOworICAgIGFkZExvY2Fs
TmFtZVRvU2V0KGF0dHJTZXQsIHZhbHVldHlwZUF0dHIpOworICAgIGFkZExvY2FsTmFtZVRvU2V0
KGF0dHJTZXQsIHZsaW5rQXR0cik7CisKKyAgICByZXR1cm4gYXR0clNldDsKK30KKworYm9vbCBI
VE1MRG9jdW1lbnQ6OmlzQ2FzZVNlbnNpdGl2ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiBhdHRyaWJ1dGVOYW1lKQoreworICAgIHN0YXRpYyBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwq
PiogaHRtbENhc2VJbnNlbnNpdGl2ZUF0dHJpYnV0ZXNTZXQgPSBjcmVhdGVIdG1sQ2FzZUluc2Vu
c2l0aXZlQXR0cmlidXRlc1NldCgpOworICAgIGJvb2wgaXNQb3NzaWJsZUhUTUxBdHRyID0gIWF0
dHJpYnV0ZU5hbWUuaGFzUHJlZml4KCkgJiYgKGF0dHJpYnV0ZU5hbWUubmFtZXNwYWNlVVJJKCkg
PT0gbnVsbEF0b20pOworICAgIHJldHVybiAhaXNQb3NzaWJsZUhUTUxBdHRyIHx8ICFodG1sQ2Fz
ZUluc2Vuc2l0aXZlQXR0cmlidXRlc1NldC0+Y29udGFpbnMoYXR0cmlidXRlTmFtZS5sb2NhbE5h
bWUoKS5pbXBsKCkpOworfQorCiB2b2lkIEhUTUxEb2N1bWVudDo6Y2xlYXIoKQogewogICAgIC8v
IEZJWE1FOiBUaGlzIGRvZXMgbm90aGluZywgYW5kIHRoYXQgc2VlbXMgdW5saWtlbHkgdG8gYmUg
Y29ycmVjdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5oCmluZGV4IGZmN2NmYjNlMTdlMDQ0
MjY4YzBmYTk5ZDBjMjk5ZTM0YTJlZDYwMmMuLjJhYWE3OThhZWFmZjc4MTAyZWQ0NDExOWU4OTY4
OGVlNzQyODI3MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuaApAQCAtNzcsNiArNzcs
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVFeHRyYU5hbWVkSXRlbShjb25zdCBBdG9taWNT
dHJpbmcmIG5hbWUpOwogICAgIGJvb2wgaGFzRXh0cmFOYW1lZEl0ZW0oQXRvbWljU3RyaW5nSW1w
bCogbmFtZSk7CiAKKyAgICBzdGF0aWMgYm9vbCBpc0Nhc2VTZW5zaXRpdmVBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYpOworCiBwcm90ZWN0ZWQ6CiAgICAgSFRNTERvY3VtZW50KEZyYW1l
KiwgY29uc3QgS1VSTCYpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>