<?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>152073</bug_id>
          
          <creation_ts>2015-12-09 10:08:47 -0800</creation_ts>
          <short_desc>[TexMap] Clean up BitmapTexturePool</short_desc>
          <delta_ts>2015-12-10 02:23:38 -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>WebKit 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>mrobinson</cc>
    
    <cc>noam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1147821</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-12-09 10:08:47 -0800</bug_when>
    <thetext>[TexMap] Clean up BitmapTexturePool</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147828</commentid>
    <comment_count>1</comment_count>
      <attachid>267019</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-12-09 10:18:39 -0800</bug_when>
    <thetext>Created attachment 267019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147831</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-09 10:20:37 -0800</bug_when>
    <thetext>Attachment 267019 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp:50:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp:77:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 2 in 4 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>1147907</commentid>
    <comment_count>3</comment_count>
      <attachid>267019</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-12-09 12:37:13 -0800</bug_when>
    <thetext>Comment on attachment 267019
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/BitmapTexturePool.h:63
&gt; +        void markUsed() { m_timeLastUsed = monotonicallyIncreasingTime(); }

This is OK as-is. Maybe using the present tense in naming this method would be better: markIsInUse()?

&gt; Source/WebCore/platform/graphics/texmap/BitmapTexturePool.h:66
&gt; +        double m_timeLastUsed;

This is minor. We tend to prefer names where the adjective/verb comes before the noun. Maybe a better name for this instance variable would be m_lastUsedTime?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1148093</commentid>
    <comment_count>4</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-12-10 00:44:59 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 267019 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=267019&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/BitmapTexturePool.h:63
&gt; &gt; +        void markUsed() { m_timeLastUsed = monotonicallyIncreasingTime(); }
&gt; 
&gt; This is OK as-is. Maybe using the present tense in naming this method would
&gt; be better: markIsInUse()?
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/BitmapTexturePool.h:66
&gt; &gt; +        double m_timeLastUsed;
&gt; 
&gt; This is minor. We tend to prefer names where the adjective/verb comes before
&gt; the noun. Maybe a better name for this instance variable would be
&gt; m_lastUsedTime?

Thanks for the comment, adjusted the names so they make a tad more sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1148096</commentid>
    <comment_count>5</comment_count>
      <attachid>267077</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-12-10 00:47:35 -0800</bug_when>
    <thetext>Created attachment 267077
Patch for landing

Patch for landing, including an attempt to fix the Windows EWS bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1148097</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-10 00:49:29 -0800</bug_when>
    <thetext>Attachment 267077 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp:50:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp:77:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 2 in 4 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>1148111</commentid>
    <comment_count>7</comment_count>
      <attachid>267077</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-12-10 02:23:28 -0800</bug_when>
    <thetext>Comment on attachment 267077
Patch for landing

Clearing flags on attachment: 267077

Committed r193897: &lt;http://trac.webkit.org/changeset/193897&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1148112</commentid>
    <comment_count>8</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-12-10 02:23:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267019</attachid>
            <date>2015-12-09 10:18:39 -0800</date>
            <delta_ts>2015-12-10 00:47:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152073-20151209101807.patch</filename>
            <type>text/plain</type>
            <size>9428</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkzODI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQ3ZjI4ZTBhMGQ3M2Jm
Zjg5M2Q3NjBjMjMyMjIwOTg3N2M0NWY0Ny4uZTUxMWJhNzBjOWM5ZDQxYTljNTg1MjkxNjMzZjQy
NTM5Y2E0ZTE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ2IEBACiAyMDE1LTEyLTA5ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbVGV4TWFwXSBDbGVh
biB1cCBCaXRtYXBUZXh0dXJlUG9vbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTUyMDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTW92ZSBCaXRtYXBUZXh0dXJlUG9vbEVudHJ5IGNsYXNzIHVuZGVyIHRo
ZSBCaXRtYXBUZXh0dXJlUG9vbCBjbGFzcywgcmVuYW1pbmcKKyAgICAgICAgaXQgdG8gc2ltcGx5
IEVudHJ5IGFuZCBrZWVwaW5nIGl0IHByaXZhdGUuIEhhdmUgdGhlIGNvbnN0cnVjdG9yIHRha2Ug
aW4gYW4KKyAgICAgICAgcnZhbHVlIHJlZmVyZW5jZSB0byB0aGUgUmVmUHRyPEJpdG1hcFRleHR1
cmU+IG9iamVjdC4gUmVtb3ZlIHRoZSBzdGF0aWMKKyAgICAgICAgY29tcGFyZVRpbWVMYXN0VXNl
ZCgpIGZ1bmN0aW9uIGFuZCB1c2UgYSBsYW1iZGEgZGlyZWN0bHkgaW4gaXRzIHBsYWNlLgorCisg
ICAgICAgIFJlbW92ZSB0aGUgZGVmYXVsdCBCaXRtYXBUZXh0dXJlUG9vbCBjb25zdHJ1Y3Rvciwg
d2hpY2ggaXNuJ3QgdXNlZCBhbnl3aGVyZS4KKyAgICAgICAgSGF2ZSB0aGUgY29uc3RydWN0b3Ig
YW5kIHNvbWUgbWV0aG9kcyBhY2NlcHQgb3IgcmV0dXJuIFJlZlB0ciBvYmplY3RzLCBwb3NzaWJs
eQorICAgICAgICB2aWEgcnZhbHVlIHJlZmVyZW5jZXMuIENsZWFuIHVwIHRoZSBoZWFkZXIgZmls
ZSBieSByZW1vdmluZyBhIGZldyB1bm5lY2Vzc2FyeQorICAgICAgICBoZWFkZXIgaW5jbHVkZXMg
YW5kIHVzaW5nIGZvcndhcmQgZGVjbGFyYXRpb25zIHdoZXJlIHBvc3NpYmxlLgorCisgICAgICAg
IEluIHRoZSBCaXRtYXBUZXh0dXJlUG9vbCBpbXBsZW1lbnRhdGlvbiBmaWxlLCBtYXJrIHRoZSB0
d28gY29uc3QgdmFyaWFibGVzIGFzCisgICAgICAgIHN0YXRpYy4gVGhlIDo6YWNxdWlyZVRleHR1
cmUoKSBtZXRob2Qgbm93IHVzZXMgdGhlIHN0ZDo6ZmluZF9pZigpIGFsZ29yaXRobQorICAgICAg
ICB0byBmaW5kIGEgZml0dGluZyBFbnRyeSBvYmplY3QgaW4gdGhlIFZlY3Rvci4gVGhlIHNhbWUg
bWV0aG9kIGlzIGFsc28gbW92ZWQKKyAgICAgICAgdXB3YXJkcyBzbyB3ZSBmb2xsb3cgdGhlIG9y
ZGVyIG9mIGRlY2xhcmF0aW9uIGluIHRoZSBoZWFkZXIuIDo6Y3JlYXRlVGV4dHVyZSgpCisgICAg
ICAgIGlubGluZXMgdGhlIHJldHVybiBvZiB0aGUgbmV3IGV4cHJlc3Npb24gaW50byB0aGUgYWRv
cHRSZWYoKSBjYWxsIGluIHRoZSByZXR1cm4KKyAgICAgICAgc3RhdGVtZW50LgorCisgICAgICAg
IFRleHR1cmVNYXBwZXJHTCBjb25zdHJ1Y3RvciBpcyB1cGRhdGVkIHRvIHBhc3MgYSBjb3BpZWQg
UmVmUHRyIG9iamVjdCBpbnRvIHRoZQorICAgICAgICBCaXRtYXBUZXh0dXJlUG9vbCBjb25zdHJ1
Y3Rvci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJl
UG9vbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBUZXh0dXJlUG9vbDo6Qml0bWFwVGV4
dHVyZVBvb2wpOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwVGV4dHVyZVBvb2w6OmFjcXVpcmVU
ZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVQb29sOjpyZWxlYXNlVW51
c2VkVGV4dHVyZXNUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVQ
b29sOjpjcmVhdGVUZXh0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Qml0bWFwVGV4dHVyZVBvb2wuaDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVQb29s
OjpFbnRyeTo6RW50cnkpOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwVGV4dHVyZVBvb2w6OkVu
dHJ5OjptYXJrVXNlZCk6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBUZXh0dXJlUG9vbEVudHJ5
OjpCaXRtYXBUZXh0dXJlUG9vbEVudHJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkJp
dG1hcFRleHR1cmVQb29sRW50cnk6Om1hcmtVc2VkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkJpdG1hcFRleHR1cmVQb29sRW50cnk6OmNvbXBhcmVUaW1lTGFzdFVzZWQpOiBEZWxldGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckdMOjpUZXh0dXJlTWFwcGVyR0wpOgor
CisyMDE1LTEyLTA5ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKwogICAg
ICAgICBbVGV4TWFwXSBUZXh0dXJlTWFwcGVyVGlsZWRCYWNraW5nU3RvcmUgc2hvdWxkIG5vdGlm
eSB0aGUgSW1hZ2VPYnNlcnZlciBvZiB0aGUgZGF0YSBhY2Nlc3MKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjA1MwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQ
b29sLmNwcAppbmRleCAwOWJlZmU0MTFhOWZhMzMyOTE1Y2FkYzM4MDQ3YjFlOWJmMGU3MjhkLi40
MDViOTNkZWVkYTQ1OTBjODE0Y2ZmMmVkNWM2OWNkNjhhYjJiNWIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0
dXJlUG9vbC5jcHAKQEAgLTI5LDI3ICsyOSwzNiBAQAogCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVS
X0dMKQogI2luY2x1ZGUgIkJpdG1hcFRleHR1cmVHTC5oIgotI2luY2x1ZGUgIkdMQ29udGV4dC5o
IgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIHNfcmVsZWFz
ZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAzOwotY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNl
ZFRleHR1cmVzVGltZXJJbnRlcnZhbCA9IDAuNTsKLQotQml0bWFwVGV4dHVyZVBvb2w6OkJpdG1h
cFRleHR1cmVQb29sKCkKLSAgICA6IG1fcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXIoKnRoaXMs
ICZCaXRtYXBUZXh0dXJlUG9vbDo6cmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJGaXJlZCkKLXsK
LX0KK3N0YXRpYyBjb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZSA9
IDM7CitzdGF0aWMgY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJJbnRl
cnZhbCA9IDAuNTsKIAogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKLUJpdG1hcFRleHR1cmVQ
b29sOjpCaXRtYXBUZXh0dXJlUG9vbChQYXNzUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBjb250
ZXh0KQotICAgIDogbV9jb250ZXh0M0QoY29udGV4dCkKK0JpdG1hcFRleHR1cmVQb29sOjpCaXRt
YXBUZXh0dXJlUG9vbChSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+JiYgY29udGV4dDNEKQorICAg
IDogbV9jb250ZXh0M0QoV1RGOjptb3ZlKGNvbnRleHQzRCkpCiAgICAgLCBtX3JlbGVhc2VVbnVz
ZWRUZXh0dXJlc1RpbWVyKCp0aGlzLCAmQml0bWFwVGV4dHVyZVBvb2w6OnJlbGVhc2VVbnVzZWRU
ZXh0dXJlc1RpbWVyRmlyZWQpCiB7CiB9CiAjZW5kaWYKIAorUmVmUHRyPEJpdG1hcFRleHR1cmU+
IEJpdG1hcFRleHR1cmVQb29sOjphY3F1aXJlVGV4dHVyZShjb25zdCBJbnRTaXplJiBzaXplKQor
eworICAgIEVudHJ5KiBzZWxlY3RlZEVudHJ5ID0gc3RkOjpmaW5kX2lmKG1fdGV4dHVyZXMuYmVn
aW4oKSwgbV90ZXh0dXJlcy5lbmQoKSwKKyAgICAgICAgWyZzaXplXShFbnRyeSYgZW50cnkpIHsg
cmV0dXJuIGVudHJ5Lm1fdGV4dHVyZS0+cmVmQ291bnQoKSA9PSAxICYmIGVudHJ5Lm1fdGV4dHVy
ZS0+c2l6ZSgpID09IHNpemU7IH0pOworCisgICAgaWYgKHNlbGVjdGVkRW50cnkgPT0gbV90ZXh0
dXJlcy5lbmQoKSkgeworICAgICAgICBtX3RleHR1cmVzLmFwcGVuZChFbnRyeShjcmVhdGVUZXh0
dXJlKCkpKTsKKyAgICAgICAgc2VsZWN0ZWRFbnRyeSA9ICZtX3RleHR1cmVzLmxhc3QoKTsKKyAg
ICB9CisKKyAgICBzY2hlZHVsZVJlbGVhc2VVbnVzZWRUZXh0dXJlcygpOworICAgIHNlbGVjdGVk
RW50cnktPm1hcmtVc2VkKCk7CisgICAgcmV0dXJuIHNlbGVjdGVkRW50cnktPm1fdGV4dHVyZS5j
b3B5UmVmKCk7Cit9CisKIHZvaWQgQml0bWFwVGV4dHVyZVBvb2w6OnNjaGVkdWxlUmVsZWFzZVVu
dXNlZFRleHR1cmVzKCkKIHsKICAgICBpZiAobV9yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lci5p
c0FjdGl2ZSgpKQpAQCAtNjQsNyArNzMsOCBAQCB2b2lkIEJpdG1hcFRleHR1cmVQb29sOjpyZWxl
YXNlVW51c2VkVGV4dHVyZXNUaW1lckZpcmVkKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8g
RGVsZXRlIGVudHJpZXMsIHdoaWNoIGhhdmUgYmVlbiB1bnVzZWQgaW4gc19yZWxlYXNlVW51c2Vk
U2Vjb25kc1RvbGVyYW5jZS4KLSAgICBzdGQ6OnNvcnQobV90ZXh0dXJlcy5iZWdpbigpLCBtX3Rl
eHR1cmVzLmVuZCgpLCBCaXRtYXBUZXh0dXJlUG9vbEVudHJ5Ojpjb21wYXJlVGltZUxhc3RVc2Vk
KTsKKyAgICBzdGQ6OnNvcnQobV90ZXh0dXJlcy5iZWdpbigpLCBtX3RleHR1cmVzLmVuZCgpLAor
ICAgICAgICBbXShjb25zdCBFbnRyeSYgYSwgY29uc3QgRW50cnkmIGIpIHsgcmV0dXJuIGEubV90
aW1lTGFzdFVzZWQgPiBiLm1fdGltZUxhc3RVc2VkOyB9KTsKIAogICAgIGRvdWJsZSBtaW5Vc2Vk
VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gc19yZWxlYXNlVW51c2VkU2Vj
b25kc1RvbGVyYW5jZTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fdGV4dHVyZXMuc2l6
ZSgpOyArK2kpIHsKQEAgLTc1LDM1ICs4NSwxMCBAQCB2b2lkIEJpdG1hcFRleHR1cmVQb29sOjpy
ZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckZpcmVkKCkKICAgICB9CiB9CiAKLVBhc3NSZWZQdHI8
Qml0bWFwVGV4dHVyZT4gQml0bWFwVGV4dHVyZVBvb2w6OmFjcXVpcmVUZXh0dXJlKGNvbnN0IElu
dFNpemUmIHNpemUpCi17Ci0gICAgQml0bWFwVGV4dHVyZVBvb2xFbnRyeSogc2VsZWN0ZWRFbnRy
eSA9IDA7Ci0gICAgZm9yIChhdXRvJiBlbnRyeSA6IG1fdGV4dHVyZXMpIHsKLSAgICAgICAgLy8g
SWYgdGhlIHN1cmZhY2UgaGFzIG9ubHkgb25lIHJlZmVyZW5jZSAodGhlIG9uZSBpbiBtX3RleHR1
cmVzKSwgd2UgY2FuIHNhZmVseSByZXVzZSBpdC4KLSAgICAgICAgaWYgKGVudHJ5Lm1fdGV4dHVy
ZS0+cmVmQ291bnQoKSA+IDEpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBpZiAo
ZW50cnkubV90ZXh0dXJlLT5zaXplKCkgPT0gc2l6ZSkgewotICAgICAgICAgICAgc2VsZWN0ZWRF
bnRyeSA9ICZlbnRyeTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotCi0g
ICAgaWYgKCFzZWxlY3RlZEVudHJ5KSB7Ci0gICAgICAgIG1fdGV4dHVyZXMuYXBwZW5kKEJpdG1h
cFRleHR1cmVQb29sRW50cnkoY3JlYXRlVGV4dHVyZSgpKSk7Ci0gICAgICAgIHNlbGVjdGVkRW50
cnkgPSAmbV90ZXh0dXJlcy5sYXN0KCk7Ci0gICAgfQotCi0gICAgc2NoZWR1bGVSZWxlYXNlVW51
c2VkVGV4dHVyZXMoKTsKLSAgICBzZWxlY3RlZEVudHJ5LT5tYXJrVXNlZCgpOwotICAgIHJldHVy
biBzZWxlY3RlZEVudHJ5LT5tX3RleHR1cmU7Ci19Ci0KLVBhc3NSZWZQdHI8Qml0bWFwVGV4dHVy
ZT4gQml0bWFwVGV4dHVyZVBvb2w6OmNyZWF0ZVRleHR1cmUoKQorUmVmUHRyPEJpdG1hcFRleHR1
cmU+IEJpdG1hcFRleHR1cmVQb29sOjpjcmVhdGVUZXh0dXJlKCkKIHsKICNpZiBVU0UoVEVYVFVS
RV9NQVBQRVJfR0wpCi0gICAgQml0bWFwVGV4dHVyZUdMKiB0ZXh0dXJlID0gbmV3IEJpdG1hcFRl
eHR1cmVHTChtX2NvbnRleHQzRCk7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKHRleHR1cmUpOworICAg
IHJldHVybiBhZG9wdFJlZihuZXcgQml0bWFwVGV4dHVyZUdMKG1fY29udGV4dDNEKSk7CiAjZWxz
ZQogICAgIHJldHVybiBudWxscHRyOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5oCmluZGV4
IGRjMGNmNjYyZDJhMGIwYTQ0MmJjMzQ4NWNjYTQ1YTFhYzY5OGEyNDQuLjBkMmFhYzQwOWEwNjRi
ZGQ1ZWUzNTk4ZTg3OGVkNDg5MWE1YmRkZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5oCkBAIC0z
MSw5ICszMSw2IEBACiAjZGVmaW5lIFRFWE1BUF9PUEVOR0xfRVNfMgogI2VuZGlmCiAKLSNpbmNs
dWRlICJCaXRtYXBUZXh0dXJlLmgiCi0jaW5jbHVkZSAiSW50UmVjdC5oIgotI2luY2x1ZGUgIklu
dFNpemUuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5o
PgogCkBAIC00Myw0NiArNDAsNDQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBU
ZXh0dXJlTWFwcGVyOwotCi1zdHJ1Y3QgQml0bWFwVGV4dHVyZVBvb2xFbnRyeSB7Ci0gICAgZXhw
bGljaXQgQml0bWFwVGV4dHVyZVBvb2xFbnRyeShQYXNzUmVmUHRyPEJpdG1hcFRleHR1cmU+IHRl
eHR1cmUpCi0gICAgICAgIDogbV90ZXh0dXJlKHRleHR1cmUpCi0gICAgeyB9Ci0gICAgaW5saW5l
IHZvaWQgbWFya1VzZWQoKSB7IG1fdGltZUxhc3RVc2VkID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7IH0KLSAgICBzdGF0aWMgYm9vbCBjb21wYXJlVGltZUxhc3RVc2VkKGNvbnN0IEJp
dG1hcFRleHR1cmVQb29sRW50cnkmIGEsIGNvbnN0IEJpdG1hcFRleHR1cmVQb29sRW50cnkmIGIp
Ci0gICAgewotICAgICAgICByZXR1cm4gYS5tX3RpbWVMYXN0VXNlZCAtIGIubV90aW1lTGFzdFVz
ZWQgPiAwOwotICAgIH0KLQotICAgIFJlZlB0cjxCaXRtYXBUZXh0dXJlPiBtX3RleHR1cmU7Ci0g
ICAgZG91YmxlIG1fdGltZUxhc3RVc2VkOwotfTsKK2NsYXNzIEJpdG1hcFRleHR1cmU7CitjbGFz
cyBHcmFwaGljc0NvbnRleHQzRDsKK2NsYXNzIEludFNpemU7CiAKIGNsYXNzIEJpdG1hcFRleHR1
cmVQb29sIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCaXRtYXBUZXh0dXJlUG9vbCk7CiAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgQml0bWFwVGV4dHVyZVBv
b2woKTsKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCi0gICAgZXhwbGljaXQgQml0bWFwVGV4
dHVyZVBvb2woUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4pOworICAgIGV4cGxpY2l0IEJp
dG1hcFRleHR1cmVQb29sKFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4mJik7CiAjZW5kaWYKIAot
ICAgIFBhc3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4gYWNxdWlyZVRleHR1cmUoY29uc3QgSW50U2l6
ZSYpOworICAgIFJlZlB0cjxCaXRtYXBUZXh0dXJlPiBhY3F1aXJlVGV4dHVyZShjb25zdCBJbnRT
aXplJik7CiAKIHByaXZhdGU6CisgICAgc3RydWN0IEVudHJ5IHsKKyAgICAgICAgZXhwbGljaXQg
RW50cnkoUmVmUHRyPEJpdG1hcFRleHR1cmU+JiYgdGV4dHVyZSkKKyAgICAgICAgICAgIDogbV90
ZXh0dXJlKFdURjo6bW92ZSh0ZXh0dXJlKSkKKyAgICAgICAgeyB9CisKKyAgICAgICAgdm9pZCBt
YXJrVXNlZCgpIHsgbV90aW1lTGFzdFVzZWQgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsgfQorCisgICAgICAgIFJlZlB0cjxCaXRtYXBUZXh0dXJlPiBtX3RleHR1cmU7CisgICAgICAg
IGRvdWJsZSBtX3RpbWVMYXN0VXNlZDsKKyAgICB9OworCiAgICAgdm9pZCBzY2hlZHVsZVJlbGVh
c2VVbnVzZWRUZXh0dXJlcygpOwogICAgIHZvaWQgcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJG
aXJlZCgpOwotICAgIFBhc3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4gY3JlYXRlVGV4dHVyZSgpOwor
ICAgIFJlZlB0cjxCaXRtYXBUZXh0dXJlPiBjcmVhdGVUZXh0dXJlKCk7CiAKICNpZiBVU0UoVEVY
VFVSRV9NQVBQRVJfR0wpCiAgICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBtX2NvbnRleHQz
RDsKICNlbmRpZgogCi0gICAgVmVjdG9yPEJpdG1hcFRleHR1cmVQb29sRW50cnk+IG1fdGV4dHVy
ZXM7CisgICAgVmVjdG9yPEVudHJ5PiBtX3RleHR1cmVzOwogICAgIFRpbWVyIG1fcmVsZWFzZVVu
dXNlZFRleHR1cmVzVGltZXI7CiB9OwogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZiAvLyBCaXRtYXBUZXh0dXJlUG9vbF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCmluZGV4IDFm
OWE0MWE3MGNmOWFhNTUwNTRmMDJjMjVhZWYyOGRjMDZlYzA4MmMuLjE4M2ZlMjc1NzQ4MjFjZTJk
ZDI0N2I0NDNkNjA0YjI2YTNmY2IwNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCkBAIC0yNDYs
NyArMjQ2LDcgQEAgVGV4dHVyZU1hcHBlckdMOjpUZXh0dXJlTWFwcGVyR0woKQogICAgIG1fY29u
dGV4dDNEID0gR3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0ZUZvckN1cnJlbnRHTENvbnRleHQoKTsK
ICAgICBtX2RhdGEgPSBuZXcgVGV4dHVyZU1hcHBlckdMRGF0YShtX2NvbnRleHQzRC5nZXQoKSk7
CiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQotICAgIG1fdGV4dHVyZVBvb2wgPSBzdGQ6Om1h
a2VfdW5pcXVlPEJpdG1hcFRleHR1cmVQb29sPihtX2NvbnRleHQzRCk7CisgICAgbV90ZXh0dXJl
UG9vbCA9IHN0ZDo6bWFrZV91bmlxdWU8Qml0bWFwVGV4dHVyZVBvb2w+KG1fY29udGV4dDNELmNv
cHlSZWYoKSk7CiAjZW5kaWYKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267077</attachid>
            <date>2015-12-10 00:47:35 -0800</date>
            <delta_ts>2015-12-10 00:47:35 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-152073-20151210004703.patch</filename>
            <type>text/plain</type>
            <size>9489</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkzODkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY5NGE4MDczODYzODRi
NTEzZmNmNGU4MTdiOWYwZTAxZGNlMjU2OC4uZDBmNmQ4OTdhOGJlNTEzMWI0NTRjNDY3MzZkNDA0
ZGRiZjBlMGQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ2IEBACiAyMDE1LTEyLTEwICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbVGV4TWFwXSBDbGVh
biB1cCBCaXRtYXBUZXh0dXJlUG9vbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTUyMDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFuaWVsIEJhdGVz
LgorCisgICAgICAgIE1vdmUgQml0bWFwVGV4dHVyZVBvb2xFbnRyeSBjbGFzcyB1bmRlciB0aGUg
Qml0bWFwVGV4dHVyZVBvb2wgY2xhc3MsIHJlbmFtaW5nCisgICAgICAgIGl0IHRvIHNpbXBseSBF
bnRyeSBhbmQga2VlcGluZyBpdCBwcml2YXRlLiBIYXZlIHRoZSBjb25zdHJ1Y3RvciB0YWtlIGlu
IGFuCisgICAgICAgIHJ2YWx1ZSByZWZlcmVuY2UgdG8gdGhlIFJlZlB0cjxCaXRtYXBUZXh0dXJl
PiBvYmplY3QuIFJlbW92ZSB0aGUgc3RhdGljCisgICAgICAgIGNvbXBhcmVUaW1lTGFzdFVzZWQo
KSBmdW5jdGlvbiBhbmQgdXNlIGEgbGFtYmRhIGRpcmVjdGx5IGluIGl0cyBwbGFjZS4KKworICAg
ICAgICBSZW1vdmUgdGhlIGRlZmF1bHQgQml0bWFwVGV4dHVyZVBvb2wgY29uc3RydWN0b3IsIHdo
aWNoIGlzbid0IHVzZWQgYW55d2hlcmUuCisgICAgICAgIEhhdmUgdGhlIGNvbnN0cnVjdG9yIGFu
ZCBzb21lIG1ldGhvZHMgYWNjZXB0IG9yIHJldHVybiBSZWZQdHIgb2JqZWN0cywgcG9zc2libHkK
KyAgICAgICAgdmlhIHJ2YWx1ZSByZWZlcmVuY2VzLiBDbGVhbiB1cCB0aGUgaGVhZGVyIGZpbGUg
YnkgcmVtb3ZpbmcgYSBmZXcgdW5uZWNlc3NhcnkKKyAgICAgICAgaGVhZGVyIGluY2x1ZGVzIGFu
ZCB1c2luZyBmb3J3YXJkIGRlY2xhcmF0aW9ucyB3aGVyZSBwb3NzaWJsZS4KKworICAgICAgICBJ
biB0aGUgQml0bWFwVGV4dHVyZVBvb2wgaW1wbGVtZW50YXRpb24gZmlsZSwgbWFyayB0aGUgdHdv
IGNvbnN0IHZhcmlhYmxlcyBhcworICAgICAgICBzdGF0aWMuIFRoZSA6OmFjcXVpcmVUZXh0dXJl
KCkgbWV0aG9kIG5vdyB1c2VzIHRoZSBzdGQ6OmZpbmRfaWYoKSBhbGdvcml0aG0KKyAgICAgICAg
dG8gZmluZCBhIGZpdHRpbmcgRW50cnkgb2JqZWN0IGluIHRoZSBWZWN0b3IuIFRoZSBzYW1lIG1l
dGhvZCBpcyBhbHNvIG1vdmVkCisgICAgICAgIHVwd2FyZHMgc28gd2UgZm9sbG93IHRoZSBvcmRl
ciBvZiBkZWNsYXJhdGlvbiBpbiB0aGUgaGVhZGVyLiA6OmNyZWF0ZVRleHR1cmUoKQorICAgICAg
ICBpbmxpbmVzIHRoZSByZXR1cm4gb2YgdGhlIG5ldyBleHByZXNzaW9uIGludG8gdGhlIGFkb3B0
UmVmKCkgY2FsbCBpbiB0aGUgcmV0dXJuCisgICAgICAgIHN0YXRlbWVudC4KKworICAgICAgICBU
ZXh0dXJlTWFwcGVyR0wgY29uc3RydWN0b3IgaXMgdXBkYXRlZCB0byBwYXNzIGEgY29waWVkIFJl
ZlB0ciBvYmplY3QgaW50byB0aGUKKyAgICAgICAgQml0bWFwVGV4dHVyZVBvb2wgY29uc3RydWN0
b3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBv
b2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwVGV4dHVyZVBvb2w6OkJpdG1hcFRleHR1
cmVQb29sKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVQb29sOjphY3F1aXJlVGV4
dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBUZXh0dXJlUG9vbDo6cmVsZWFzZVVudXNl
ZFRleHR1cmVzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBUZXh0dXJlUG9v
bDo6Y3JlYXRlVGV4dHVyZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0Jp
dG1hcFRleHR1cmVQb29sLmg6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBUZXh0dXJlUG9vbDo6
RW50cnk6OkVudHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVQb29sOjpFbnRy
eTo6bWFya1VzZWQpOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwVGV4dHVyZVBvb2xFbnRyeTo6
Qml0bWFwVGV4dHVyZVBvb2xFbnRyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpCaXRt
YXBUZXh0dXJlUG9vbEVudHJ5OjptYXJrVXNlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpCaXRtYXBUZXh0dXJlUG9vbEVudHJ5Ojpjb21wYXJlVGltZUxhc3RVc2VkKTogRGVsZXRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJHTDo6VGV4dHVyZU1hcHBlckdMKToKKwor
MjAxNS0xMi0xMCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKICAgICAg
ICAgW1RleE1hcF0gUmVtb3ZlIHRoZSBURVhNQVBfT1BFTkdMX0VTXzIgZGVmaW5lCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTIwNjkKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1
cmVQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRt
YXBUZXh0dXJlUG9vbC5jcHAKaW5kZXggMDliZWZlNDExYTlmYTMzMjkxNWNhZGMzODA0N2IxZTli
ZjBlNzI4ZC4uZTczMTJmNzcyNmY3NjhmMjFhM2I4NzUyYjA0YWFjMDUyNTliNDA5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1
cmVQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Qml0bWFwVGV4dHVyZVBvb2wuY3BwCkBAIC0yOSwyNyArMjksMzYgQEAKIAogI2lmIFVTRShURVhU
VVJFX01BUFBFUl9HTCkKICNpbmNsdWRlICJCaXRtYXBUZXh0dXJlR0wuaCIKLSNpbmNsdWRlICJH
TENvbnRleHQuaCIKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJs
ZSBzX3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlID0gMzsKLWNvbnN0IGRvdWJsZSBzX3Jl
bGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjU7Ci0KLUJpdG1hcFRleHR1cmVQ
b29sOjpCaXRtYXBUZXh0dXJlUG9vbCgpCi0gICAgOiBtX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1Rp
bWVyKCp0aGlzLCAmQml0bWFwVGV4dHVyZVBvb2w6OnJlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVy
RmlyZWQpCi17Ci19CitzdGF0aWMgY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFNlY29uZHNU
b2xlcmFuY2UgPSAzOworc3RhdGljIGNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRUZXh0dXJl
c1RpbWVySW50ZXJ2YWwgPSAwLjU7CiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCi1CaXRt
YXBUZXh0dXJlUG9vbDo6Qml0bWFwVGV4dHVyZVBvb2woUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRl
eHQzRD4gY29udGV4dCkKLSAgICA6IG1fY29udGV4dDNEKGNvbnRleHQpCitCaXRtYXBUZXh0dXJl
UG9vbDo6Qml0bWFwVGV4dHVyZVBvb2woUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiYmIGNvbnRl
eHQzRCkKKyAgICA6IG1fY29udGV4dDNEKFdURjo6bW92ZShjb250ZXh0M0QpKQogICAgICwgbV9y
ZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lcigqdGhpcywgJkJpdG1hcFRleHR1cmVQb29sOjpyZWxl
YXNlVW51c2VkVGV4dHVyZXNUaW1lckZpcmVkKQogewogfQogI2VuZGlmCiAKK1JlZlB0cjxCaXRt
YXBUZXh0dXJlPiBCaXRtYXBUZXh0dXJlUG9vbDo6YWNxdWlyZVRleHR1cmUoY29uc3QgSW50U2l6
ZSYgc2l6ZSkKK3sKKyAgICBFbnRyeSogc2VsZWN0ZWRFbnRyeSA9IHN0ZDo6ZmluZF9pZihtX3Rl
eHR1cmVzLmJlZ2luKCksIG1fdGV4dHVyZXMuZW5kKCksCisgICAgICAgIFsmc2l6ZV0oRW50cnkm
IGVudHJ5KSB7IHJldHVybiBlbnRyeS5tX3RleHR1cmUtPnJlZkNvdW50KCkgPT0gMSAmJiBlbnRy
eS5tX3RleHR1cmUtPnNpemUoKSA9PSBzaXplOyB9KTsKKworICAgIGlmIChzZWxlY3RlZEVudHJ5
ID09IG1fdGV4dHVyZXMuZW5kKCkpIHsKKyAgICAgICAgbV90ZXh0dXJlcy5hcHBlbmQoRW50cnko
Y3JlYXRlVGV4dHVyZSgpKSk7CisgICAgICAgIHNlbGVjdGVkRW50cnkgPSAmbV90ZXh0dXJlcy5s
YXN0KCk7CisgICAgfQorCisgICAgc2NoZWR1bGVSZWxlYXNlVW51c2VkVGV4dHVyZXMoKTsKKyAg
ICBzZWxlY3RlZEVudHJ5LT5tYXJrSXNJblVzZSgpOworICAgIHJldHVybiBzZWxlY3RlZEVudHJ5
LT5tX3RleHR1cmUuY29weVJlZigpOworfQorCiB2b2lkIEJpdG1hcFRleHR1cmVQb29sOjpzY2hl
ZHVsZVJlbGVhc2VVbnVzZWRUZXh0dXJlcygpCiB7CiAgICAgaWYgKG1fcmVsZWFzZVVudXNlZFRl
eHR1cmVzVGltZXIuaXNBY3RpdmUoKSkKQEAgLTY0LDQ2ICs3MywyMiBAQCB2b2lkIEJpdG1hcFRl
eHR1cmVQb29sOjpyZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckZpcmVkKCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgLy8gRGVsZXRlIGVudHJpZXMsIHdoaWNoIGhhdmUgYmVlbiB1bnVzZWQgaW4g
c19yZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZS4KLSAgICBzdGQ6OnNvcnQobV90ZXh0dXJl
cy5iZWdpbigpLCBtX3RleHR1cmVzLmVuZCgpLCBCaXRtYXBUZXh0dXJlUG9vbEVudHJ5Ojpjb21w
YXJlVGltZUxhc3RVc2VkKTsKKyAgICBzdGQ6OnNvcnQobV90ZXh0dXJlcy5iZWdpbigpLCBtX3Rl
eHR1cmVzLmVuZCgpLAorICAgICAgICBbXShjb25zdCBFbnRyeSYgYSwgY29uc3QgRW50cnkmIGIp
IHsgcmV0dXJuIGEubV9sYXN0VXNlZFRpbWUgPiBiLm1fbGFzdFVzZWRUaW1lOyB9KTsKIAogICAg
IGRvdWJsZSBtaW5Vc2VkVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gc19y
ZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IG1fdGV4dHVyZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKG1fdGV4dHVyZXNbaV0ubV90
aW1lTGFzdFVzZWQgPCBtaW5Vc2VkVGltZSkgeworICAgICAgICBpZiAobV90ZXh0dXJlc1tpXS5t
X2xhc3RVc2VkVGltZSA8IG1pblVzZWRUaW1lKSB7CiAgICAgICAgICAgICBtX3RleHR1cmVzLnJl
bW92ZShpLCBtX3RleHR1cmVzLnNpemUoKSAtIGkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KICAgICB9CiB9CiAKLVBhc3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4gQml0bWFwVGV4dHVy
ZVBvb2w6OmFjcXVpcmVUZXh0dXJlKGNvbnN0IEludFNpemUmIHNpemUpCi17Ci0gICAgQml0bWFw
VGV4dHVyZVBvb2xFbnRyeSogc2VsZWN0ZWRFbnRyeSA9IDA7Ci0gICAgZm9yIChhdXRvJiBlbnRy
eSA6IG1fdGV4dHVyZXMpIHsKLSAgICAgICAgLy8gSWYgdGhlIHN1cmZhY2UgaGFzIG9ubHkgb25l
IHJlZmVyZW5jZSAodGhlIG9uZSBpbiBtX3RleHR1cmVzKSwgd2UgY2FuIHNhZmVseSByZXVzZSBp
dC4KLSAgICAgICAgaWYgKGVudHJ5Lm1fdGV4dHVyZS0+cmVmQ291bnQoKSA+IDEpCi0gICAgICAg
ICAgICBjb250aW51ZTsKLQotICAgICAgICBpZiAoZW50cnkubV90ZXh0dXJlLT5zaXplKCkgPT0g
c2l6ZSkgewotICAgICAgICAgICAgc2VsZWN0ZWRFbnRyeSA9ICZlbnRyeTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKCFzZWxlY3RlZEVudHJ5KSB7Ci0g
ICAgICAgIG1fdGV4dHVyZXMuYXBwZW5kKEJpdG1hcFRleHR1cmVQb29sRW50cnkoY3JlYXRlVGV4
dHVyZSgpKSk7Ci0gICAgICAgIHNlbGVjdGVkRW50cnkgPSAmbV90ZXh0dXJlcy5sYXN0KCk7Ci0g
ICAgfQotCi0gICAgc2NoZWR1bGVSZWxlYXNlVW51c2VkVGV4dHVyZXMoKTsKLSAgICBzZWxlY3Rl
ZEVudHJ5LT5tYXJrVXNlZCgpOwotICAgIHJldHVybiBzZWxlY3RlZEVudHJ5LT5tX3RleHR1cmU7
Ci19Ci0KLVBhc3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4gQml0bWFwVGV4dHVyZVBvb2w6OmNyZWF0
ZVRleHR1cmUoKQorUmVmUHRyPEJpdG1hcFRleHR1cmU+IEJpdG1hcFRleHR1cmVQb29sOjpjcmVh
dGVUZXh0dXJlKCkKIHsKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCi0gICAgQml0bWFwVGV4
dHVyZUdMKiB0ZXh0dXJlID0gbmV3IEJpdG1hcFRleHR1cmVHTChtX2NvbnRleHQzRCk7Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKHRleHR1cmUpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgQml0bWFw
VGV4dHVyZUdMKG1fY29udGV4dDNEKSk7CiAjZWxzZQogICAgIHJldHVybiBudWxscHRyOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Qml0bWFwVGV4dHVyZVBvb2wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5oCmluZGV4IGUyYTcwN2I1MWYyN2JjNjU0YjZjNzk5ZGUx
NDdjZTc4OTJhY2VjZjYuLjE4ZWZmZTgyZWQ4ZGIzNzBmMDJjOWJlOTdkZTkzNTk5MDg5ZDg2MTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRt
YXBUZXh0dXJlUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5oCkBAIC0yOCw4ICsyOCw2IEBACiAjZGVmaW5lIEJpdG1h
cFRleHR1cmVQb29sX2gKIAogI2luY2x1ZGUgIkJpdG1hcFRleHR1cmUuaCIKLSNpbmNsdWRlICJJ
bnRSZWN0LmgiCi0jaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKQEAgLTM5LDQ2ICszNyw0MyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRleHR1cmVNYXBwZXI7Ci0KLXN0cnVjdCBCaXRtYXBUZXh0
dXJlUG9vbEVudHJ5IHsKLSAgICBleHBsaWNpdCBCaXRtYXBUZXh0dXJlUG9vbEVudHJ5KFBhc3NS
ZWZQdHI8Qml0bWFwVGV4dHVyZT4gdGV4dHVyZSkKLSAgICAgICAgOiBtX3RleHR1cmUodGV4dHVy
ZSkKLSAgICB7IH0KLSAgICBpbmxpbmUgdm9pZCBtYXJrVXNlZCgpIHsgbV90aW1lTGFzdFVzZWQg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsgfQotICAgIHN0YXRpYyBib29sIGNvbXBh
cmVUaW1lTGFzdFVzZWQoY29uc3QgQml0bWFwVGV4dHVyZVBvb2xFbnRyeSYgYSwgY29uc3QgQml0
bWFwVGV4dHVyZVBvb2xFbnRyeSYgYikKLSAgICB7Ci0gICAgICAgIHJldHVybiBhLm1fdGltZUxh
c3RVc2VkIC0gYi5tX3RpbWVMYXN0VXNlZCA+IDA7Ci0gICAgfQotCi0gICAgUmVmUHRyPEJpdG1h
cFRleHR1cmU+IG1fdGV4dHVyZTsKLSAgICBkb3VibGUgbV90aW1lTGFzdFVzZWQ7Ci19OworY2xh
c3MgR3JhcGhpY3NDb250ZXh0M0Q7CitjbGFzcyBJbnRTaXplOwogCiBjbGFzcyBCaXRtYXBUZXh0
dXJlUG9vbCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQml0bWFwVGV4dHVyZVBvb2wpOwog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIEJpdG1hcFRleHR1cmVQ
b29sKCk7CiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQotICAgIGV4cGxpY2l0IEJpdG1hcFRl
eHR1cmVQb29sKFBhc3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+KTsKKyAgICBleHBsaWNpdCBC
aXRtYXBUZXh0dXJlUG9vbChSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+JiYpOwogI2VuZGlmCiAK
LSAgICBQYXNzUmVmUHRyPEJpdG1hcFRleHR1cmU+IGFjcXVpcmVUZXh0dXJlKGNvbnN0IEludFNp
emUmKTsKKyAgICBSZWZQdHI8Qml0bWFwVGV4dHVyZT4gYWNxdWlyZVRleHR1cmUoY29uc3QgSW50
U2l6ZSYpOwogCiBwcml2YXRlOgorICAgIHN0cnVjdCBFbnRyeSB7CisgICAgICAgIGV4cGxpY2l0
IEVudHJ5KFJlZlB0cjxCaXRtYXBUZXh0dXJlPiYmIHRleHR1cmUpCisgICAgICAgICAgICA6IG1f
dGV4dHVyZShXVEY6Om1vdmUodGV4dHVyZSkpCisgICAgICAgIHsgfQorCisgICAgICAgIHZvaWQg
bWFya0lzSW5Vc2UoKSB7IG1fbGFzdFVzZWRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCk7IH0KKworICAgICAgICBSZWZQdHI8Qml0bWFwVGV4dHVyZT4gbV90ZXh0dXJlOworICAg
ICAgICBkb3VibGUgbV9sYXN0VXNlZFRpbWU7CisgICAgfTsKKwogICAgIHZvaWQgc2NoZWR1bGVS
ZWxlYXNlVW51c2VkVGV4dHVyZXMoKTsKICAgICB2b2lkIHJlbGVhc2VVbnVzZWRUZXh0dXJlc1Rp
bWVyRmlyZWQoKTsKLSAgICBQYXNzUmVmUHRyPEJpdG1hcFRleHR1cmU+IGNyZWF0ZVRleHR1cmUo
KTsKKyAgICBSZWZQdHI8Qml0bWFwVGV4dHVyZT4gY3JlYXRlVGV4dHVyZSgpOwogCiAjaWYgVVNF
KFRFWFRVUkVfTUFQUEVSX0dMKQogICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gbV9jb250
ZXh0M0Q7CiAjZW5kaWYKIAotICAgIFZlY3RvcjxCaXRtYXBUZXh0dXJlUG9vbEVudHJ5PiBtX3Rl
eHR1cmVzOworICAgIFZlY3RvcjxFbnRyeT4gbV90ZXh0dXJlczsKICAgICBUaW1lciBtX3JlbGVh
c2VVbnVzZWRUZXh0dXJlc1RpbWVyOwogfTsKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gQml0bWFwVGV4dHVyZVBvb2xfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAppbmRl
eCA5OGQ3MWZmNGQyZWU1MTdlZThkNjBiMmQ0ZDA4YmYyMzRjY2JiY2JmLi42NTc2OTI2OGU5MWE3
N2ZmYmE3MGIwMGYxZmRiM2FiZDBhODU4MzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcApAQCAt
MjM4LDcgKzIzOCw3IEBAIFRleHR1cmVNYXBwZXJHTDo6VGV4dHVyZU1hcHBlckdMKCkKICAgICBt
X2NvbnRleHQzRCA9IEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGVGb3JDdXJyZW50R0xDb250ZXh0
KCk7CiAgICAgbV9kYXRhID0gbmV3IFRleHR1cmVNYXBwZXJHTERhdGEobV9jb250ZXh0M0QuZ2V0
KCkpOwogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKLSAgICBtX3RleHR1cmVQb29sID0gc3Rk
OjptYWtlX3VuaXF1ZTxCaXRtYXBUZXh0dXJlUG9vbD4obV9jb250ZXh0M0QpOworICAgIG1fdGV4
dHVyZVBvb2wgPSBzdGQ6Om1ha2VfdW5pcXVlPEJpdG1hcFRleHR1cmVQb29sPihtX2NvbnRleHQz
RC5jb3B5UmVmKCkpOwogI2VuZGlmCiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>