<?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>135102</bug_id>
          
          <creation_ts>2014-07-20 10:39:38 -0700</creation_ts>
          <short_desc>Crashes seen in wheel event handling</short_desc>
          <delta_ts>2014-07-20 13:12:16 -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>UI Events</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>InRadar</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>bdakin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1023539</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-07-20 10:39:38 -0700</bug_when>
    <thetext>Crashes seen in wheel event handling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023540</commentid>
    <comment_count>1</comment_count>
      <attachid>235186</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-07-20 10:41:40 -0700</bug_when>
    <thetext>Created attachment 235186
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023541</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-07-20 10:42:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/17187096&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023542</commentid>
    <comment_count>3</comment_count>
      <attachid>235187</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-07-20 10:44:53 -0700</bug_when>
    <thetext>Created attachment 235187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023556</commentid>
    <comment_count>4</comment_count>
      <attachid>235187</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-07-20 12:56:05 -0700</bug_when>
    <thetext>Comment on attachment 235187
Patch

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

&gt; Source/WebCore/page/EventHandler.cpp:2578
&gt; +    // Instead, the handlers should know convert vertical scrolls appropriately.

Oops, typo here. Should be &quot;how to convert&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023557</commentid>
    <comment_count>5</comment_count>
      <attachid>235187</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-07-20 12:57:00 -0700</bug_when>
    <thetext>Comment on attachment 235187
Patch

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

&gt; Source/WebCore/page/mac/EventHandlerMac.mm:850
&gt; +        // FIXME: I don&apos;t understand the lifetime guarantee for this data member.

I think this is a great question, but it feels little oddly phrased as a comment in the context of other WebKit comments. Maybe it&apos;s fine, but I think you could also just have:

FIXME: What prevents us from deleting this scrollable container while still holding a pointer to it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023558</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-07-20 13:12:16 -0700</bug_when>
    <thetext>Committed r171283: &lt;http://trac.webkit.org/changeset/171283&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235186</attachid>
            <date>2014-07-20 10:41:40 -0700</date>
            <delta_ts>2014-07-20 10:44:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135102-20140720104011.patch</filename>
            <type>text/plain</type>
            <size>9399</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxMjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFmMzFmMTI0OWYxYmRm
ZmRkZDk4MjZkOTcyNzNkYTAwM2ViMjdlNy4uNmI5NGMyOTljMjA5MWFlMGU3MDAzYjY3ZDliY2Zl
YjhmNDg4YTZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE0LTA3LTIwICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaGVzIHNlZW4gaW4gd2hl
ZWwgZXZlbnQgaGFuZGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzNTEwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFNwZWN1bGF0aXZlIGZpeCBiYXNlZCBvbiBndWVzc2VzIGFib3V0IHdoYXQgY291
bGQgYmUgY3Jhc2hpbmcuCisgICAgICAgIFRoZSBjcmFzaCBzZWVtcyB0byBiZSBjYWxsaW5nIHJl
ZiBvbiBhbiBldmVudCB0YXJnZXQsIGFuZCBteSBndWVzcyBpcyB0aGF0IHRoaXMKKyAgICAgICAg
aGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIGxhdGNoaW5nLgorCisgICAgICAgICogcGFnZS9FdmVu
dEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpwbGF0Zm9ybVBy
ZXBhcmVGb3JXaGVlbEV2ZW50cyk6IFVwZGF0ZWQgYXJndW1lbnQgdHlwZXMuCisgICAgICAgIChX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZVdoZWVsRXZlbnQpOiBSZWZhY3RvcmVkIGEgbGl0
dGxlIGFuZCBtYWRlIHNvbWUgbG9jYWwKKyAgICAgICAgdmFyaWFibGVzIHVzZSBSZWZQdHIgaW5z
dGVhZCBvZiByYXcgcG9pbnRlcnMuIEFsc28gYWRkZWQgc29tZSBjb21tZW50cy4KKworICAgICAg
ICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6IENoYW5nZWQgYXJndW1lbnQgdHlwZXMgdG8gUmVmUHRy
LgorCisgICAgICAgICogcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpwbGF0Zm9ybVByZXBhcmVGb3JXaGVlbEV2ZW50cyk6IFVwZGF0
ZWQgYXJndW1lbnQgdHlwZXMuCisgICAgICAgIEFsc28gYWRkZWQgYSBGSVhNRS4KKwogMjAxNC0w
Ny0yMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBb
aU9TXSBpZ25vcmUgcmVxdWVzdHMgdG8gc2V0IHZvbHVtZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuY3BwCmluZGV4IDE1MzZmMWE5YTlmYTIxMzMyNjJjMzYzZTI2YWU4ODc5MmJkZWUwNDIu
LmQ5YTM3NDIyZmFhYWYyMDYwZDZkMmZlZjViNTYyYTUxNGZjMmUzZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI1MDUsMTQgKzI1MDUsMTcgQEAgYm9vbCBFdmVudEhh
bmRsZXI6OmlzSW5zaWRlU2Nyb2xsYmFyKGNvbnN0IEludFBvaW50JiB3aW5kb3dQb2ludCkgY29u
c3QKIH0KIAogI2lmICFQTEFURk9STShHVEspCisKIGJvb2wgRXZlbnRIYW5kbGVyOjpzaG91bGRU
dXJuVmVydGljYWxUaWNrc0ludG9Ib3Jpem9udGFsKGNvbnN0IEhpdFRlc3RSZXN1bHQmLCBjb25z
dCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBjb25zdAogewogICAgIHJldHVybiBmYWxzZTsKIH0KKwog
I2VuZGlmCiAKICNpZiAhUExBVEZPUk0oTUFDKQotdm9pZCBFdmVudEhhbmRsZXI6OnBsYXRmb3Jt
UHJlcGFyZUZvcldoZWVsRXZlbnRzKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIGNvbnN0IEhp
dFRlc3RSZXN1bHQmLCBFbGVtZW50KiYsIENvbnRhaW5lck5vZGUqJiwgU2Nyb2xsYWJsZUFyZWEq
JiwgYm9vbCYpCisKK3ZvaWQgRXZlbnRIYW5kbGVyOjpwbGF0Zm9ybVByZXBhcmVGb3JXaGVlbEV2
ZW50cyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBjb25zdCBIaXRUZXN0UmVzdWx0JiwgUmVm
UHRyPEVsZW1lbnQ+JiwgUmVmUHRyPENvbnRhaW5lck5vZGU+JiwgU2Nyb2xsYWJsZUFyZWEqJiwg
Ym9vbCYpCiB7CiB9CiAKQEAgLTI1MzUsMTUgKzI1MzgsMTUgQEAgYm9vbCBFdmVudEhhbmRsZXI6
OnBsYXRmb3JtQ29tcGxldGVQbGF0Zm9ybVdpZGdldFdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1X
aGVlbEUKIHsKICAgICByZXR1cm4gdHJ1ZTsKIH0KKwogI2VuZGlmCiAKLWJvb2wgRXZlbnRIYW5k
bGVyOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZSkKK2Jvb2wg
RXZlbnRIYW5kbGVyOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYg
b3JpZ2luYWxFdmVudCkKIHsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBtX2ZyYW1lLmRvY3Vt
ZW50KCk7Ci0KICAgICBpZiAoIWRvY3VtZW50LT5yZW5kZXJWaWV3KCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAKKwogICAgIFJlZlB0cjxGcmFtZVZpZXc+IHByb3RlY3RvcihtX2ZyYW1l
LnZpZXcoKSk7CiAKICAgICBGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLnZpZXcoKTsKQEAgLTI1
NTIsMzQgKzI1NTUsMjkgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVdoZWVsRXZlbnQoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBlKQogCiAgICAgbV9pc0hhbmRsaW5nV2hlZWxFdmVudCA9
IHRydWU7CiAgICAgc2V0RnJhbWVXYXNTY3JvbGxlZEJ5VXNlcigpOwotICAgIExheW91dFBvaW50
IHZQb2ludCA9IHZpZXctPndpbmRvd1RvQ29udGVudHMoZS5wb3NpdGlvbigpKTsKIAogICAgIEhp
dFRlc3RSZXF1ZXN0IHJlcXVlc3QoSGl0VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJl
cXVlc3Q6OkRpc2FsbG93U2hhZG93Q29udGVudCk7Ci0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQo
dlBvaW50KTsKKyAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCh2aWV3LT53aW5kb3dUb0NvbnRlbnRz
KG9yaWdpbmFsRXZlbnQucG9zaXRpb24oKSkpOwogICAgIGRvY3VtZW50LT5yZW5kZXJWaWV3KCkt
PmhpdFRlc3QocmVxdWVzdCwgcmVzdWx0KTsKIAotICAgIEVsZW1lbnQqIGVsZW1lbnQgPSByZXN1
bHQuaW5uZXJFbGVtZW50KCk7Ci0KLSAgICBib29sIGlzT3ZlcldpZGdldCA9IHJlc3VsdC5pc092
ZXJXaWRnZXQoKTsKLQotICAgIENvbnRhaW5lck5vZGUqIHNjcm9sbGFibGVDb250YWluZXIgPSBu
dWxscHRyOworICAgIFJlZlB0cjxFbGVtZW50PiBlbGVtZW50ID0gcmVzdWx0LmlubmVyRWxlbWVu
dCgpOworICAgIFJlZlB0cjxDb250YWluZXJOb2RlPiBzY3JvbGxhYmxlQ29udGFpbmVyOwogICAg
IFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSA9IG51bGxwdHI7Ci0gICAgcGxhdGZvcm1Q
cmVwYXJlRm9yV2hlZWxFdmVudHMoZSwgcmVzdWx0LCBlbGVtZW50LCBzY3JvbGxhYmxlQ29udGFp
bmVyLCBzY3JvbGxhYmxlQXJlYSwgaXNPdmVyV2lkZ2V0KTsKKyAgICBib29sIGlzT3ZlcldpZGdl
dCA9IHJlc3VsdC5pc092ZXJXaWRnZXQoKTsKKyAgICBwbGF0Zm9ybVByZXBhcmVGb3JXaGVlbEV2
ZW50cyhvcmlnaW5hbEV2ZW50LCByZXN1bHQsIGVsZW1lbnQsIHNjcm9sbGFibGVDb250YWluZXIs
IHNjcm9sbGFibGVBcmVhLCBpc092ZXJXaWRnZXQpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0g
ICAgaWYgKGUucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmUgJiYgZS5tb21l
bnR1bVBoYXNlKCkgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKSB7Ci0jZWxzZQotICAg
IGlmICghZS51c2VMYXRjaGVkRXZlbnRFbGVtZW50KCkpIHsKKyAgICBpZiAob3JpZ2luYWxFdmVu
dC5waGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTm9uZSAmJiBvcmlnaW5hbEV2ZW50
Lm1vbWVudHVtUGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmUpCiAjZW5kaWYK
KyAgICB7CiAgICAgICAgIG1fbGF0Y2hlZFdoZWVsRXZlbnRFbGVtZW50ID0gbnVsbHB0cjsKICAg
ICAgICAgbV9wcmV2aW91c1doZWVsU2Nyb2xsZWRFbGVtZW50ID0gbnVsbHB0cjsKICAgICB9CiAK
ICAgICAvLyBGSVhNRTogSXQgc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnkgdG8gZG8gdGhpcyBtdXRh
dGlvbiBoZXJlLgotICAgIC8vIEluc3RlYWQsIHRoZSBoYW5kbGVycyBzaG91bGQga25vdyBjb252
ZXJ0IHZlcnRpY2FsIHNjcm9sbHMKLSAgICAvLyBhcHByb3ByaWF0ZWx5LgotICAgIFBsYXRmb3Jt
V2hlZWxFdmVudCBldmVudCA9IGU7Ci0gICAgaWYgKG1fYmFzZUV2ZW50VHlwZSA9PSBQbGF0Zm9y
bUV2ZW50OjpOb1R5cGUgJiYgc2hvdWxkVHVyblZlcnRpY2FsVGlja3NJbnRvSG9yaXpvbnRhbChy
ZXN1bHQsIGUpKQorICAgIC8vIEluc3RlYWQsIHRoZSBoYW5kbGVycyBzaG91bGQga25vdyBjb252
ZXJ0IHZlcnRpY2FsIHNjcm9sbHMgYXBwcm9wcmlhdGVseS4KKyAgICBQbGF0Zm9ybVdoZWVsRXZl
bnQgZXZlbnQgPSBvcmlnaW5hbEV2ZW50OworICAgIGlmIChtX2Jhc2VFdmVudFR5cGUgPT0gUGxh
dGZvcm1FdmVudDo6Tm9UeXBlICYmIHNob3VsZFR1cm5WZXJ0aWNhbFRpY2tzSW50b0hvcml6b250
YWwocmVzdWx0LCBvcmlnaW5hbEV2ZW50KSkKICAgICAgICAgZXZlbnQgPSBldmVudC5jb3B5VHVy
bmluZ1ZlcnRpY2FsVGlja3NJbnRvSG9yaXpvbnRhbFRpY2tzKCk7CiAKICAgICBwbGF0Zm9ybVJl
Y29yZFdoZWVsRXZlbnQoZXZlbnQpOwpAQCAtMjU4NywxNiArMjU4NSwxOCBAQCBib29sIEV2ZW50
SGFuZGxlcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiAg
ICAgaWYgKGVsZW1lbnQpIHsKICAgICAgICAgLy8gRmlndXJlIG91dCB3aGljaCB2aWV3IHRvIHNl
bmQgdGhlIGV2ZW50IHRvLgogICAgICAgICBSZW5kZXJFbGVtZW50KiB0YXJnZXQgPSBlbGVtZW50
LT5yZW5kZXJlcigpOwotICAgICAgICAKKwogICAgICAgICBpZiAoaXNPdmVyV2lkZ2V0ICYmIHRh
cmdldCAmJiB0YXJnZXQtPmlzV2lkZ2V0KCkpIHsKICAgICAgICAgICAgIFdpZGdldCogd2lkZ2V0
ID0gdG9SZW5kZXJXaWRnZXQodGFyZ2V0KS0+d2lkZ2V0KCk7Ci0gICAgICAgICAgICBpZiAod2lk
Z2V0ICYmIHBhc3NXaGVlbEV2ZW50VG9XaWRnZXQoZSwgd2lkZ2V0KSkgeworICAgICAgICAgICAg
Ly8gRklYTUU6IElzIGl0IGNvcnJlY3QgdG8gdXNlIG9yaWdpbmFsRXZlbnQgaGVyZSBpbnN0ZWFk
IG9mIGV2ZW50PworICAgICAgICAgICAgaWYgKHdpZGdldCAmJiBwYXNzV2hlZWxFdmVudFRvV2lk
Z2V0KG9yaWdpbmFsRXZlbnQsIHdpZGdldCkpIHsKICAgICAgICAgICAgICAgICBtX2lzSGFuZGxp
bmdXaGVlbEV2ZW50ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgaWYgKHNjcm9sbGFibGVBcmVh
KQogICAgICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0U2Nyb2xsZWRQcm9ncmFt
bWF0aWNhbGx5KGZhbHNlKTsKLSAgICAgICAgICAgICAgICBpZiAod2lkZ2V0LT5wbGF0Zm9ybVdp
ZGdldCgpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGxhdGZvcm1Db21wbGV0ZVBsYXRm
b3JtV2lkZ2V0V2hlZWxFdmVudChlLCBzY3JvbGxhYmxlQ29udGFpbmVyKTsKLSAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgICAgICBpZiAoIXdpZGdldC0+cGxhdGZvcm1X
aWRnZXQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICAg
ICAgLy8gRklYTUU6IElzIGl0IGNvcnJlY3QgdG8gdXNlIG9yaWdpbmFsRXZlbnQgaGVyZSBpbnN0
ZWFkIG9mIGV2ZW50PworICAgICAgICAgICAgICAgIHJldHVybiBwbGF0Zm9ybUNvbXBsZXRlUGxh
dGZvcm1XaWRnZXRXaGVlbEV2ZW50KG9yaWdpbmFsRXZlbnQsIHNjcm9sbGFibGVDb250YWluZXIu
Z2V0KCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTI2MTYsNyArMjYxNiw4IEBA
IGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYgZSkKICAgICBpZiAoc2Nyb2xsYWJsZUFyZWEpCiAgICAgICAgIHNjcm9sbGFibGVBcmVh
LT5zZXRTY3JvbGxlZFByb2dyYW1tYXRpY2FsbHkoZmFsc2UpOwogCi0gICAgcmV0dXJuIHBsYXRm
b3JtQ29tcGxldGVXaGVlbEV2ZW50KGUsIGVsZW1lbnQsIHNjcm9sbGFibGVDb250YWluZXIsIHNj
cm9sbGFibGVBcmVhKTsKKyAgICAvLyBGSVhNRTogSXMgaXQgY29ycmVjdCB0byB1c2Ugb3JpZ2lu
YWxFdmVudCBoZXJlIGluc3RlYWQgb2YgZXZlbnQ/CisgICAgcmV0dXJuIHBsYXRmb3JtQ29tcGxl
dGVXaGVlbEV2ZW50KG9yaWdpbmFsRXZlbnQsIGVsZW1lbnQuZ2V0KCksIHNjcm9sbGFibGVDb250
YWluZXIuZ2V0KCksIHNjcm9sbGFibGVBcmVhKTsKIH0KIAogdm9pZCBFdmVudEhhbmRsZXI6OmNs
ZWFyTGF0Y2hlZFN0YXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IGNlMmQ4
N2I2MTYyMDg2Y2MwMjFjZWMzNzY3YWQ0ZDE4ZjcyYWQzNDguLmY2NDBhNDQ2YzI2YmZlZmQxZWUz
ZDU5YzRkNjEwZGI1OWQ1YzJkMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAt
MTk3LDkgKzE5Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRlZmF1bHRXaGVlbEV2ZW50SGFuZGxl
cihOb2RlKiwgV2hlZWxFdmVudCopOwogICAgIGJvb2wgaGFuZGxlUGFzdGVHbG9iYWxTZWxlY3Rp
b24oY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jik7CiAKLSAgICB2b2lkIHBsYXRmb3JtUHJlcGFy
ZUZvcldoZWVsRXZlbnRzKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCwgY29u
c3QgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBFbGVtZW50KiYgd2hlZWxFdmVudFRhcmdldCwgQ29u
dGFpbmVyTm9kZSomIHNjcm9sbGFibGVDb250YWluZXIsIFNjcm9sbGFibGVBcmVhKiYgc2Nyb2xs
YWJsZUFyZWEsIGJvb2wmIGlzT3ZlcldpZGdldCk7CisgICAgdm9pZCBwbGF0Zm9ybVByZXBhcmVG
b3JXaGVlbEV2ZW50cyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBjb25zdCBIaXRUZXN0UmVz
dWx0JiwgUmVmUHRyPEVsZW1lbnQ+JiBldmVudFRhcmdldCwgUmVmUHRyPENvbnRhaW5lck5vZGU+
JiBzY3JvbGxhYmxlQ29udGFpbmVyLCBTY3JvbGxhYmxlQXJlYSomLCBib29sJiBpc092ZXJXaWRn
ZXQpOwogICAgIHZvaWQgcGxhdGZvcm1SZWNvcmRXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYpOwotICAgIGJvb2wgcGxhdGZvcm1Db21wbGV0ZVdoZWVsRXZlbnQoY29uc3QgUGxh
dGZvcm1XaGVlbEV2ZW50JiwgRWxlbWVudCogd2hlZWxFdmVudFRhcmdldCwgQ29udGFpbmVyTm9k
ZSogc2Nyb2xsYWJsZUNvbnRhaW5lciwgU2Nyb2xsYWJsZUFyZWEqKTsKKyAgICBib29sIHBsYXRm
b3JtQ29tcGxldGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIEVsZW1lbnQq
IGV2ZW50VGFyZ2V0LCBDb250YWluZXJOb2RlKiBzY3JvbGxhYmxlQ29udGFpbmVyLCBTY3JvbGxh
YmxlQXJlYSopOwogICAgIGJvb2wgcGxhdGZvcm1Db21wbGV0ZVBsYXRmb3JtV2lkZ2V0V2hlZWxF
dmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBDb250YWluZXJOb2RlKiBzY3JvbGxhYmxl
Q29udGFpbmVyKTsKIAogI2lmIEVOQUJMRShJT1NfVE9VQ0hfRVZFTlRTKSB8fCBFTkFCTEUoSU9T
X0dFU1RVUkVfRVZFTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZl
bnRIYW5kbGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFj
Lm1tCmluZGV4IDJlMDVkMThmZTdmY2I5MDVjZmFlY2RkNjU0NjFjZTRhNDk3Y2M2MTAuLmNlOGYz
NTJmNzZhN2QwZjA3YmYyMjg2M2IzYzVkZmI4ZGM1NTc2NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KQEAgLTgxNSw3ICs4MTUsNyBAQCBzdGF0aWMgYm9v
bCBldmVudFRhcmdldElzUGxhdGZvcm1XaWRnZXQoRWxlbWVudCogZXZlbnRUYXJnZXQpCiAgICAg
cmV0dXJuIHdpZGdldC0+cGxhdGZvcm1XaWRnZXQoKTsKIH0KIAotdm9pZCBFdmVudEhhbmRsZXI6
OnBsYXRmb3JtUHJlcGFyZUZvcldoZWVsRXZlbnRzKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYg
d2hlZWxFdmVudCwgY29uc3QgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBFbGVtZW50KiYgd2hlZWxF
dmVudFRhcmdldCwgQ29udGFpbmVyTm9kZSomIHNjcm9sbGFibGVDb250YWluZXIsIFNjcm9sbGFi
bGVBcmVhKiYgc2Nyb2xsYWJsZUFyZWEsIGJvb2wmIGlzT3ZlcldpZGdldCkKK3ZvaWQgRXZlbnRI
YW5kbGVyOjpwbGF0Zm9ybVByZXBhcmVGb3JXaGVlbEV2ZW50cyhjb25zdCBQbGF0Zm9ybVdoZWVs
RXZlbnQmIHdoZWVsRXZlbnQsIGNvbnN0IEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgUmVmUHRyPEVs
ZW1lbnQ+JiB3aGVlbEV2ZW50VGFyZ2V0LCBSZWZQdHI8Q29udGFpbmVyTm9kZT4mIHNjcm9sbGFi
bGVDb250YWluZXIsIFNjcm9sbGFibGVBcmVhKiYgc2Nyb2xsYWJsZUFyZWEsIGJvb2wmIGlzT3Zl
cldpZGdldCkKIHsKICAgICBGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLnZpZXcoKTsKIApAQCAt
ODQ3LDYgKzg0Nyw4IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpwbGF0Zm9ybVByZXBhcmVGb3JXaGVl
bEV2ZW50cyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsCiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIG1fc3RhcnRlZEdlc3R1cmVBdFNjcm9sbExpbWl0ID0gZmFsc2U7CiAgICAgICAg
IG1fbGF0Y2hlZFdoZWVsRXZlbnRFbGVtZW50ID0gd2hlZWxFdmVudFRhcmdldDsKKyAgICAgICAg
Ly8gRklYTUU6IEkgZG9uJ3QgdW5kZXJzdGFuZCB0aGUgbGlmZXRpbWUgZ3VhcmFudGVlIGZvciB0
aGlzIGRhdGEgbWVtYmVyLgorICAgICAgICAvLyBXaGF0IHByZXZlbnRzIHVzIGZyb20gZGVsZXRp
bmcgdGhpcyBzY3JvbGxhYmxlIGNvbnRhaW5lciB3aGlsZSBzdGlsbCBob2xkaW5nIGEgcG9pbnRl
ciB0byBpdD8KICAgICAgICAgbV9sYXRjaGVkU2Nyb2xsYWJsZUNvbnRhaW5lciA9IHNjcm9sbGFi
bGVDb250YWluZXI7CiAgICAgICAgIG1fd2lkZ2V0SXNMYXRjaGVkID0gcmVzdWx0LmlzT3Zlcldp
ZGdldCgpOwogICAgICAgICBpc092ZXJXaWRnZXQgPSBtX3dpZGdldElzTGF0Y2hlZDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235187</attachid>
            <date>2014-07-20 10:44:53 -0700</date>
            <delta_ts>2014-07-20 12:57:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135102-20140720104324.patch</filename>
            <type>text/plain</type>
            <size>10078</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxMjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFmMzFmMTI0OWYxYmRm
ZmRkZDk4MjZkOTcyNzNkYTAwM2ViMjdlNy4uNmI5NGMyOTljMjA5MWFlMGU3MDAzYjY3ZDliY2Zl
YjhmNDg4YTZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE0LTA3LTIwICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaGVzIHNlZW4gaW4gd2hl
ZWwgZXZlbnQgaGFuZGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzNTEwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFNwZWN1bGF0aXZlIGZpeCBiYXNlZCBvbiBndWVzc2VzIGFib3V0IHdoYXQgY291
bGQgYmUgY3Jhc2hpbmcuCisgICAgICAgIFRoZSBjcmFzaCBzZWVtcyB0byBiZSBjYWxsaW5nIHJl
ZiBvbiBhbiBldmVudCB0YXJnZXQsIGFuZCBteSBndWVzcyBpcyB0aGF0IHRoaXMKKyAgICAgICAg
aGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIGxhdGNoaW5nLgorCisgICAgICAgICogcGFnZS9FdmVu
dEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpwbGF0Zm9ybVBy
ZXBhcmVGb3JXaGVlbEV2ZW50cyk6IFVwZGF0ZWQgYXJndW1lbnQgdHlwZXMuCisgICAgICAgIChX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZVdoZWVsRXZlbnQpOiBSZWZhY3RvcmVkIGEgbGl0
dGxlIGFuZCBtYWRlIHNvbWUgbG9jYWwKKyAgICAgICAgdmFyaWFibGVzIHVzZSBSZWZQdHIgaW5z
dGVhZCBvZiByYXcgcG9pbnRlcnMuIEFsc28gYWRkZWQgc29tZSBjb21tZW50cy4KKworICAgICAg
ICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6IENoYW5nZWQgYXJndW1lbnQgdHlwZXMgdG8gUmVmUHRy
LgorCisgICAgICAgICogcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpwbGF0Zm9ybVByZXBhcmVGb3JXaGVlbEV2ZW50cyk6IFVwZGF0
ZWQgYXJndW1lbnQgdHlwZXMuCisgICAgICAgIEFsc28gYWRkZWQgYSBGSVhNRS4KKwogMjAxNC0w
Ny0yMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBb
aU9TXSBpZ25vcmUgcmVxdWVzdHMgdG8gc2V0IHZvbHVtZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuY3BwCmluZGV4IDE1MzZmMWE5YTlmYTIxMzMyNjJjMzYzZTI2YWU4ODc5MmJkZWUwNDIu
LmQ5YTM3NDIyZmFhYWYyMDYwZDZkMmZlZjViNTYyYTUxNGZjMmUzZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI1MDUsMTQgKzI1MDUsMTcgQEAgYm9vbCBFdmVudEhh
bmRsZXI6OmlzSW5zaWRlU2Nyb2xsYmFyKGNvbnN0IEludFBvaW50JiB3aW5kb3dQb2ludCkgY29u
c3QKIH0KIAogI2lmICFQTEFURk9STShHVEspCisKIGJvb2wgRXZlbnRIYW5kbGVyOjpzaG91bGRU
dXJuVmVydGljYWxUaWNrc0ludG9Ib3Jpem9udGFsKGNvbnN0IEhpdFRlc3RSZXN1bHQmLCBjb25z
dCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBjb25zdAogewogICAgIHJldHVybiBmYWxzZTsKIH0KKwog
I2VuZGlmCiAKICNpZiAhUExBVEZPUk0oTUFDKQotdm9pZCBFdmVudEhhbmRsZXI6OnBsYXRmb3Jt
UHJlcGFyZUZvcldoZWVsRXZlbnRzKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIGNvbnN0IEhp
dFRlc3RSZXN1bHQmLCBFbGVtZW50KiYsIENvbnRhaW5lck5vZGUqJiwgU2Nyb2xsYWJsZUFyZWEq
JiwgYm9vbCYpCisKK3ZvaWQgRXZlbnRIYW5kbGVyOjpwbGF0Zm9ybVByZXBhcmVGb3JXaGVlbEV2
ZW50cyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBjb25zdCBIaXRUZXN0UmVzdWx0JiwgUmVm
UHRyPEVsZW1lbnQ+JiwgUmVmUHRyPENvbnRhaW5lck5vZGU+JiwgU2Nyb2xsYWJsZUFyZWEqJiwg
Ym9vbCYpCiB7CiB9CiAKQEAgLTI1MzUsMTUgKzI1MzgsMTUgQEAgYm9vbCBFdmVudEhhbmRsZXI6
OnBsYXRmb3JtQ29tcGxldGVQbGF0Zm9ybVdpZGdldFdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1X
aGVlbEUKIHsKICAgICByZXR1cm4gdHJ1ZTsKIH0KKwogI2VuZGlmCiAKLWJvb2wgRXZlbnRIYW5k
bGVyOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZSkKK2Jvb2wg
RXZlbnRIYW5kbGVyOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYg
b3JpZ2luYWxFdmVudCkKIHsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBtX2ZyYW1lLmRvY3Vt
ZW50KCk7Ci0KICAgICBpZiAoIWRvY3VtZW50LT5yZW5kZXJWaWV3KCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAKKwogICAgIFJlZlB0cjxGcmFtZVZpZXc+IHByb3RlY3RvcihtX2ZyYW1l
LnZpZXcoKSk7CiAKICAgICBGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLnZpZXcoKTsKQEAgLTI1
NTIsMzQgKzI1NTUsMjkgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVdoZWVsRXZlbnQoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBlKQogCiAgICAgbV9pc0hhbmRsaW5nV2hlZWxFdmVudCA9
IHRydWU7CiAgICAgc2V0RnJhbWVXYXNTY3JvbGxlZEJ5VXNlcigpOwotICAgIExheW91dFBvaW50
IHZQb2ludCA9IHZpZXctPndpbmRvd1RvQ29udGVudHMoZS5wb3NpdGlvbigpKTsKIAogICAgIEhp
dFRlc3RSZXF1ZXN0IHJlcXVlc3QoSGl0VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJl
cXVlc3Q6OkRpc2FsbG93U2hhZG93Q29udGVudCk7Ci0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQo
dlBvaW50KTsKKyAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCh2aWV3LT53aW5kb3dUb0NvbnRlbnRz
KG9yaWdpbmFsRXZlbnQucG9zaXRpb24oKSkpOwogICAgIGRvY3VtZW50LT5yZW5kZXJWaWV3KCkt
PmhpdFRlc3QocmVxdWVzdCwgcmVzdWx0KTsKIAotICAgIEVsZW1lbnQqIGVsZW1lbnQgPSByZXN1
bHQuaW5uZXJFbGVtZW50KCk7Ci0KLSAgICBib29sIGlzT3ZlcldpZGdldCA9IHJlc3VsdC5pc092
ZXJXaWRnZXQoKTsKLQotICAgIENvbnRhaW5lck5vZGUqIHNjcm9sbGFibGVDb250YWluZXIgPSBu
dWxscHRyOworICAgIFJlZlB0cjxFbGVtZW50PiBlbGVtZW50ID0gcmVzdWx0LmlubmVyRWxlbWVu
dCgpOworICAgIFJlZlB0cjxDb250YWluZXJOb2RlPiBzY3JvbGxhYmxlQ29udGFpbmVyOwogICAg
IFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSA9IG51bGxwdHI7Ci0gICAgcGxhdGZvcm1Q
cmVwYXJlRm9yV2hlZWxFdmVudHMoZSwgcmVzdWx0LCBlbGVtZW50LCBzY3JvbGxhYmxlQ29udGFp
bmVyLCBzY3JvbGxhYmxlQXJlYSwgaXNPdmVyV2lkZ2V0KTsKKyAgICBib29sIGlzT3ZlcldpZGdl
dCA9IHJlc3VsdC5pc092ZXJXaWRnZXQoKTsKKyAgICBwbGF0Zm9ybVByZXBhcmVGb3JXaGVlbEV2
ZW50cyhvcmlnaW5hbEV2ZW50LCByZXN1bHQsIGVsZW1lbnQsIHNjcm9sbGFibGVDb250YWluZXIs
IHNjcm9sbGFibGVBcmVhLCBpc092ZXJXaWRnZXQpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0g
ICAgaWYgKGUucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmUgJiYgZS5tb21l
bnR1bVBoYXNlKCkgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKSB7Ci0jZWxzZQotICAg
IGlmICghZS51c2VMYXRjaGVkRXZlbnRFbGVtZW50KCkpIHsKKyAgICBpZiAob3JpZ2luYWxFdmVu
dC5waGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTm9uZSAmJiBvcmlnaW5hbEV2ZW50
Lm1vbWVudHVtUGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmUpCiAjZW5kaWYK
KyAgICB7CiAgICAgICAgIG1fbGF0Y2hlZFdoZWVsRXZlbnRFbGVtZW50ID0gbnVsbHB0cjsKICAg
ICAgICAgbV9wcmV2aW91c1doZWVsU2Nyb2xsZWRFbGVtZW50ID0gbnVsbHB0cjsKICAgICB9CiAK
ICAgICAvLyBGSVhNRTogSXQgc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnkgdG8gZG8gdGhpcyBtdXRh
dGlvbiBoZXJlLgotICAgIC8vIEluc3RlYWQsIHRoZSBoYW5kbGVycyBzaG91bGQga25vdyBjb252
ZXJ0IHZlcnRpY2FsIHNjcm9sbHMKLSAgICAvLyBhcHByb3ByaWF0ZWx5LgotICAgIFBsYXRmb3Jt
V2hlZWxFdmVudCBldmVudCA9IGU7Ci0gICAgaWYgKG1fYmFzZUV2ZW50VHlwZSA9PSBQbGF0Zm9y
bUV2ZW50OjpOb1R5cGUgJiYgc2hvdWxkVHVyblZlcnRpY2FsVGlja3NJbnRvSG9yaXpvbnRhbChy
ZXN1bHQsIGUpKQorICAgIC8vIEluc3RlYWQsIHRoZSBoYW5kbGVycyBzaG91bGQga25vdyBjb252
ZXJ0IHZlcnRpY2FsIHNjcm9sbHMgYXBwcm9wcmlhdGVseS4KKyAgICBQbGF0Zm9ybVdoZWVsRXZl
bnQgZXZlbnQgPSBvcmlnaW5hbEV2ZW50OworICAgIGlmIChtX2Jhc2VFdmVudFR5cGUgPT0gUGxh
dGZvcm1FdmVudDo6Tm9UeXBlICYmIHNob3VsZFR1cm5WZXJ0aWNhbFRpY2tzSW50b0hvcml6b250
YWwocmVzdWx0LCBvcmlnaW5hbEV2ZW50KSkKICAgICAgICAgZXZlbnQgPSBldmVudC5jb3B5VHVy
bmluZ1ZlcnRpY2FsVGlja3NJbnRvSG9yaXpvbnRhbFRpY2tzKCk7CiAKICAgICBwbGF0Zm9ybVJl
Y29yZFdoZWVsRXZlbnQoZXZlbnQpOwpAQCAtMjU4NywxNiArMjU4NSwxOCBAQCBib29sIEV2ZW50
SGFuZGxlcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiAg
ICAgaWYgKGVsZW1lbnQpIHsKICAgICAgICAgLy8gRmlndXJlIG91dCB3aGljaCB2aWV3IHRvIHNl
bmQgdGhlIGV2ZW50IHRvLgogICAgICAgICBSZW5kZXJFbGVtZW50KiB0YXJnZXQgPSBlbGVtZW50
LT5yZW5kZXJlcigpOwotICAgICAgICAKKwogICAgICAgICBpZiAoaXNPdmVyV2lkZ2V0ICYmIHRh
cmdldCAmJiB0YXJnZXQtPmlzV2lkZ2V0KCkpIHsKICAgICAgICAgICAgIFdpZGdldCogd2lkZ2V0
ID0gdG9SZW5kZXJXaWRnZXQodGFyZ2V0KS0+d2lkZ2V0KCk7Ci0gICAgICAgICAgICBpZiAod2lk
Z2V0ICYmIHBhc3NXaGVlbEV2ZW50VG9XaWRnZXQoZSwgd2lkZ2V0KSkgeworICAgICAgICAgICAg
Ly8gRklYTUU6IElzIGl0IGNvcnJlY3QgdG8gdXNlIG9yaWdpbmFsRXZlbnQgaGVyZSBpbnN0ZWFk
IG9mIGV2ZW50PworICAgICAgICAgICAgaWYgKHdpZGdldCAmJiBwYXNzV2hlZWxFdmVudFRvV2lk
Z2V0KG9yaWdpbmFsRXZlbnQsIHdpZGdldCkpIHsKICAgICAgICAgICAgICAgICBtX2lzSGFuZGxp
bmdXaGVlbEV2ZW50ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgaWYgKHNjcm9sbGFibGVBcmVh
KQogICAgICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0U2Nyb2xsZWRQcm9ncmFt
bWF0aWNhbGx5KGZhbHNlKTsKLSAgICAgICAgICAgICAgICBpZiAod2lkZ2V0LT5wbGF0Zm9ybVdp
ZGdldCgpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGxhdGZvcm1Db21wbGV0ZVBsYXRm
b3JtV2lkZ2V0V2hlZWxFdmVudChlLCBzY3JvbGxhYmxlQ29udGFpbmVyKTsKLSAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgICAgICBpZiAoIXdpZGdldC0+cGxhdGZvcm1X
aWRnZXQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICAg
ICAgLy8gRklYTUU6IElzIGl0IGNvcnJlY3QgdG8gdXNlIG9yaWdpbmFsRXZlbnQgaGVyZSBpbnN0
ZWFkIG9mIGV2ZW50PworICAgICAgICAgICAgICAgIHJldHVybiBwbGF0Zm9ybUNvbXBsZXRlUGxh
dGZvcm1XaWRnZXRXaGVlbEV2ZW50KG9yaWdpbmFsRXZlbnQsIHNjcm9sbGFibGVDb250YWluZXIu
Z2V0KCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTI2MTYsNyArMjYxNiw4IEBA
IGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYgZSkKICAgICBpZiAoc2Nyb2xsYWJsZUFyZWEpCiAgICAgICAgIHNjcm9sbGFibGVBcmVh
LT5zZXRTY3JvbGxlZFByb2dyYW1tYXRpY2FsbHkoZmFsc2UpOwogCi0gICAgcmV0dXJuIHBsYXRm
b3JtQ29tcGxldGVXaGVlbEV2ZW50KGUsIGVsZW1lbnQsIHNjcm9sbGFibGVDb250YWluZXIsIHNj
cm9sbGFibGVBcmVhKTsKKyAgICAvLyBGSVhNRTogSXMgaXQgY29ycmVjdCB0byB1c2Ugb3JpZ2lu
YWxFdmVudCBoZXJlIGluc3RlYWQgb2YgZXZlbnQ/CisgICAgcmV0dXJuIHBsYXRmb3JtQ29tcGxl
dGVXaGVlbEV2ZW50KG9yaWdpbmFsRXZlbnQsIGVsZW1lbnQuZ2V0KCksIHNjcm9sbGFibGVDb250
YWluZXIuZ2V0KCksIHNjcm9sbGFibGVBcmVhKTsKIH0KIAogdm9pZCBFdmVudEhhbmRsZXI6OmNs
ZWFyTGF0Y2hlZFN0YXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IGNlMmQ4
N2I2MTYyMDg2Y2MwMjFjZWMzNzY3YWQ0ZDE4ZjcyYWQzNDguLmY2NDBhNDQ2YzI2YmZlZmQxZWUz
ZDU5YzRkNjEwZGI1OWQ1YzJkMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAt
MTk3LDkgKzE5Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRlZmF1bHRXaGVlbEV2ZW50SGFuZGxl
cihOb2RlKiwgV2hlZWxFdmVudCopOwogICAgIGJvb2wgaGFuZGxlUGFzdGVHbG9iYWxTZWxlY3Rp
b24oY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jik7CiAKLSAgICB2b2lkIHBsYXRmb3JtUHJlcGFy
ZUZvcldoZWVsRXZlbnRzKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCwgY29u
c3QgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBFbGVtZW50KiYgd2hlZWxFdmVudFRhcmdldCwgQ29u
dGFpbmVyTm9kZSomIHNjcm9sbGFibGVDb250YWluZXIsIFNjcm9sbGFibGVBcmVhKiYgc2Nyb2xs
YWJsZUFyZWEsIGJvb2wmIGlzT3ZlcldpZGdldCk7CisgICAgdm9pZCBwbGF0Zm9ybVByZXBhcmVG
b3JXaGVlbEV2ZW50cyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBjb25zdCBIaXRUZXN0UmVz
dWx0JiwgUmVmUHRyPEVsZW1lbnQ+JiBldmVudFRhcmdldCwgUmVmUHRyPENvbnRhaW5lck5vZGU+
JiBzY3JvbGxhYmxlQ29udGFpbmVyLCBTY3JvbGxhYmxlQXJlYSomLCBib29sJiBpc092ZXJXaWRn
ZXQpOwogICAgIHZvaWQgcGxhdGZvcm1SZWNvcmRXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYpOwotICAgIGJvb2wgcGxhdGZvcm1Db21wbGV0ZVdoZWVsRXZlbnQoY29uc3QgUGxh
dGZvcm1XaGVlbEV2ZW50JiwgRWxlbWVudCogd2hlZWxFdmVudFRhcmdldCwgQ29udGFpbmVyTm9k
ZSogc2Nyb2xsYWJsZUNvbnRhaW5lciwgU2Nyb2xsYWJsZUFyZWEqKTsKKyAgICBib29sIHBsYXRm
b3JtQ29tcGxldGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIEVsZW1lbnQq
IGV2ZW50VGFyZ2V0LCBDb250YWluZXJOb2RlKiBzY3JvbGxhYmxlQ29udGFpbmVyLCBTY3JvbGxh
YmxlQXJlYSopOwogICAgIGJvb2wgcGxhdGZvcm1Db21wbGV0ZVBsYXRmb3JtV2lkZ2V0V2hlZWxF
dmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBDb250YWluZXJOb2RlKiBzY3JvbGxhYmxl
Q29udGFpbmVyKTsKIAogI2lmIEVOQUJMRShJT1NfVE9VQ0hfRVZFTlRTKSB8fCBFTkFCTEUoSU9T
X0dFU1RVUkVfRVZFTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZl
bnRIYW5kbGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFj
Lm1tCmluZGV4IDJlMDVkMThmZTdmY2I5MDVjZmFlY2RkNjU0NjFjZTRhNDk3Y2M2MTAuLjNiNzNj
MTNjZTFlOTkzOTNkZWIwYWI0MDY1OTMyMTNjNjA4OGE0YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KQEAgLTgxNSw3ICs4MTUsNyBAQCBzdGF0aWMgYm9v
bCBldmVudFRhcmdldElzUGxhdGZvcm1XaWRnZXQoRWxlbWVudCogZXZlbnRUYXJnZXQpCiAgICAg
cmV0dXJuIHdpZGdldC0+cGxhdGZvcm1XaWRnZXQoKTsKIH0KIAotdm9pZCBFdmVudEhhbmRsZXI6
OnBsYXRmb3JtUHJlcGFyZUZvcldoZWVsRXZlbnRzKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYg
d2hlZWxFdmVudCwgY29uc3QgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBFbGVtZW50KiYgd2hlZWxF
dmVudFRhcmdldCwgQ29udGFpbmVyTm9kZSomIHNjcm9sbGFibGVDb250YWluZXIsIFNjcm9sbGFi
bGVBcmVhKiYgc2Nyb2xsYWJsZUFyZWEsIGJvb2wmIGlzT3ZlcldpZGdldCkKK3ZvaWQgRXZlbnRI
YW5kbGVyOjpwbGF0Zm9ybVByZXBhcmVGb3JXaGVlbEV2ZW50cyhjb25zdCBQbGF0Zm9ybVdoZWVs
RXZlbnQmIHdoZWVsRXZlbnQsIGNvbnN0IEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgUmVmUHRyPEVs
ZW1lbnQ+JiB3aGVlbEV2ZW50VGFyZ2V0LCBSZWZQdHI8Q29udGFpbmVyTm9kZT4mIHNjcm9sbGFi
bGVDb250YWluZXIsIFNjcm9sbGFibGVBcmVhKiYgc2Nyb2xsYWJsZUFyZWEsIGJvb2wmIGlzT3Zl
cldpZGdldCkKIHsKICAgICBGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLnZpZXcoKTsKIApAQCAt
ODI1LDkgKzgyNSw5IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpwbGF0Zm9ybVByZXBhcmVGb3JXaGVl
bEV2ZW50cyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsCiAgICAgICAgIHNjcm9sbGFi
bGVDb250YWluZXIgPSB3aGVlbEV2ZW50VGFyZ2V0OwogICAgICAgICBzY3JvbGxhYmxlQXJlYSA9
IHZpZXc7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKGV2ZW50VGFyZ2V0SXNQbGF0Zm9ybVdp
ZGdldCh3aGVlbEV2ZW50VGFyZ2V0KSkgeworICAgICAgICBpZiAoZXZlbnRUYXJnZXRJc1BsYXRm
b3JtV2lkZ2V0KHdoZWVsRXZlbnRUYXJnZXQuZ2V0KCkpKSB7CiAgICAgICAgICAgICBzY3JvbGxh
YmxlQ29udGFpbmVyID0gd2hlZWxFdmVudFRhcmdldDsKLSAgICAgICAgICAgIHNjcm9sbGFibGVB
cmVhID0gc2Nyb2xsVmlld0ZvckV2ZW50VGFyZ2V0KHdoZWVsRXZlbnRUYXJnZXQpOworICAgICAg
ICAgICAgc2Nyb2xsYWJsZUFyZWEgPSBzY3JvbGxWaWV3Rm9yRXZlbnRUYXJnZXQod2hlZWxFdmVu
dFRhcmdldC5nZXQoKSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBzY3JvbGxhYmxl
Q29udGFpbmVyID0gZmluZEVuY2xvc2luZ1Njcm9sbGFibGVDb250YWluZXIoKndoZWVsRXZlbnRU
YXJnZXQpOwogICAgICAgICAgICAgaWYgKHNjcm9sbGFibGVDb250YWluZXIpIHsKQEAgLTg0Nyw2
ICs4NDcsOCBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6cGxhdGZvcm1QcmVwYXJlRm9yV2hlZWxFdmVu
dHMoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbAogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICBtX3N0YXJ0ZWRHZXN0dXJlQXRTY3JvbGxMaW1pdCA9IGZhbHNlOwogICAgICAgICBtX2xh
dGNoZWRXaGVlbEV2ZW50RWxlbWVudCA9IHdoZWVsRXZlbnRUYXJnZXQ7CisgICAgICAgIC8vIEZJ
WE1FOiBJIGRvbid0IHVuZGVyc3RhbmQgdGhlIGxpZmV0aW1lIGd1YXJhbnRlZSBmb3IgdGhpcyBk
YXRhIG1lbWJlci4KKyAgICAgICAgLy8gV2hhdCBwcmV2ZW50cyB1cyBmcm9tIGRlbGV0aW5nIHRo
aXMgc2Nyb2xsYWJsZSBjb250YWluZXIgd2hpbGUgc3RpbGwgaG9sZGluZyBhIHBvaW50ZXIgdG8g
aXQ/CiAgICAgICAgIG1fbGF0Y2hlZFNjcm9sbGFibGVDb250YWluZXIgPSBzY3JvbGxhYmxlQ29u
dGFpbmVyOwogICAgICAgICBtX3dpZGdldElzTGF0Y2hlZCA9IHJlc3VsdC5pc092ZXJXaWRnZXQo
KTsKICAgICAgICAgaXNPdmVyV2lkZ2V0ID0gbV93aWRnZXRJc0xhdGNoZWQ7Cg==
</data>
<flag name="review"
          id="259746"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>