<?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>133061</bug_id>
          
          <creation_ts>2014-05-18 22:09:28 -0700</creation_ts>
          <short_desc>Use RenderStyle&amp; in more places in RenderLayerBacking</short_desc>
          <delta_ts>2014-05-19 08:54:34 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1010142</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-05-18 22:09:28 -0700</bug_when>
    <thetext>Use RenderStyle&amp; in more places in RenderLayerBacking</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010143</commentid>
    <comment_count>1</comment_count>
      <attachid>231673</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-05-18 22:10:51 -0700</bug_when>
    <thetext>Created attachment 231673
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010157</commentid>
    <comment_count>2</comment_count>
      <attachid>231673</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-05-18 23:20:15 -0700</bug_when>
    <thetext>Comment on attachment 231673
Patch

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

r=me

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:1519
&gt; +    const FillLayer* fillLayer = style.backgroundLayers();

Maybe we could make RenderStyle::backgroundLayers() return a FillLayer&amp;, too.
Then we&apos;d get rid of even more -&gt;&apos;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010193</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-05-19 08:49:38 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 231673 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=231673&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderLayerBacking.cpp:1519
&gt; &gt; +    const FillLayer* fillLayer = style.backgroundLayers();
&gt; 
&gt; Maybe we could make RenderStyle::backgroundLayers() return a FillLayer&amp;, too.
&gt; Then we&apos;d get rid of even more -&gt;&apos;s.

I don&apos;t think we can. It may not have any.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010195</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-05-19 08:54:34 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/169046</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231673</attachid>
            <date>2014-05-18 22:10:51 -0700</date>
            <delta_ts>2014-05-18 23:20:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133061-20140518221027.patch</filename>
            <type>text/plain</type>
            <size>16398</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4OTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTdkOGVmMDliYjcyYzM5
NzNkZDMxZTU1YTU0NGNhMDY2OTdiMjJiYS4uNTMwN2JjYWMyY2VjZmY5NGNhYjk1Y2JmZDE4M2Q0
MjQ1OTY3ZTA3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE0LTA1LTE4ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBSZW5kZXJT
dHlsZSYgaW4gbW9yZSBwbGFjZXMgaW4gUmVuZGVyTGF5ZXJCYWNraW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzMwNjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb252ZXJ0IHNldmVyYWwgbWVtYmVy
IGZ1bmN0aW9ucyB0byB1c2UgcmVmZXJlbmNlcyB0byBSZW5kZXJTdHlsZSByYXRoZXIKKyAgICAg
ICAgdGhhbiBwb2ludGVycy4gTW92ZSBjYW5DcmVhdGVUaWxlZEltYWdlKCkgaGlnaGVyIGluIHRo
ZSBmaWxlIChubyBjb2RlCisgICAgICAgIGNoYW5nZXMpLiBPdGhlciBtaW5vciBjbGVhbnVwLgor
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmNyZWF0ZVByaW1hcnlHcmFwaGljc0xheWVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlT3BhY2l0eSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZVRyYW5zZm9ybSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUZpbHRlcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVCbGVuZE1vZGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHZW9tZXRyeSk6CisgICAg
ICAgIChXZWJDb3JlOjpoYXNCb3hEZWNvcmF0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpjYW5D
cmVhdGVUaWxlZEltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6Omhhc0JveERlY29yYXRpb25zT3JC
YWNrZ3JvdW5kSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6aGFzUGVyc3BlY3RpdmVPclByZXNl
cnZlczNEKToKKyAgICAgICAgKFdlYkNvcmU6OnN1cHBvcnRzRGlyZWN0Qm94RGVjb3JhdGlvbnND
b21wb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmlzU2lt
cGxlQ29udGFpbmVyQ29tcG9zaXRpbmdMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllckJhY2tpbmc6OmNvbnRlbnRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyQmFja2luZzo6c3RhcnRUcmFuc2l0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmg6CisKIDIwMTQtMDUtMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIHNvbWUgUmVuZGVyTGF5ZXJCYWNraW5nIG1l
bWJlciBmdW5jdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHAKaW5kZXggMTZkYzk3MzhkMDQ0N2ZkMzU3MWY4Yzk5M2Y1ZjE1NDM1ZTc4YTAy
OS4uMjFjZTI3OGJiMGFjMDFlYTZlZmM1NGVmYTZkNWNlOTUwYWU3MDVhZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTczLDkgKzcz
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwog
Ci1zdGF0aWMgYm9vbCBoYXNCb3hEZWNvcmF0aW9uc09yQmFja2dyb3VuZEltYWdlKGNvbnN0IFJl
bmRlclN0eWxlKik7Ci1zdGF0aWMgTGF5b3V0UmVjdCBjbGlwQm94KFJlbmRlckJveCYgcmVuZGVy
ZXIpOwotCiBDYW52YXNDb21wb3NpdGluZ1N0cmF0ZWd5IGNhbnZhc0NvbXBvc2l0aW5nU3RyYXRl
Z3koY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlcikKIHsKICAgICBBU1NFUlQocmVuZGVyZXIu
aXNDYW52YXMoKSk7CkBAIC0zMTYsMTMgKzMxMywxMyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2lu
Zzo6Y3JlYXRlUHJpbWFyeUdyYXBoaWNzTGF5ZXIoKQogICAgIH0KICNlbmRpZiAgICAKICAgICAK
LSAgICB1cGRhdGVPcGFjaXR5KCZyZW5kZXJlcigpLnN0eWxlKCkpOwotICAgIHVwZGF0ZVRyYW5z
Zm9ybSgmcmVuZGVyZXIoKS5zdHlsZSgpKTsKKyAgICB1cGRhdGVPcGFjaXR5KHJlbmRlcmVyKCku
c3R5bGUoKSk7CisgICAgdXBkYXRlVHJhbnNmb3JtKHJlbmRlcmVyKCkuc3R5bGUoKSk7CiAjaWYg
RU5BQkxFKENTU19GSUxURVJTKQotICAgIHVwZGF0ZUZpbHRlcnMoJnJlbmRlcmVyKCkuc3R5bGUo
KSk7CisgICAgdXBkYXRlRmlsdGVycyhyZW5kZXJlcigpLnN0eWxlKCkpOwogI2VuZGlmCiAjaWYg
RU5BQkxFKENTU19DT01QT1NJVElORykKLSAgICB1cGRhdGVCbGVuZE1vZGUoJnJlbmRlcmVyKCku
c3R5bGUoKSk7CisgICAgdXBkYXRlQmxlbmRNb2RlKHJlbmRlcmVyKCkuc3R5bGUoKSk7CiAjZW5k
aWYKIH0KIApAQCAtMzU3LDE5ICszNTQsMTkgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmRl
c3Ryb3lHcmFwaGljc0xheWVycygpCiAgICAgbV9zY3JvbGxpbmdDb250ZW50c0xheWVyID0gbnVs
bHB0cjsKIH0KIAotdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZU9wYWNpdHkoY29uc3Qg
UmVuZGVyU3R5bGUqIHN0eWxlKQordm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZU9wYWNp
dHkoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKQogewotICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0
T3BhY2l0eShjb21wb3NpdGluZ09wYWNpdHkoc3R5bGUtPm9wYWNpdHkoKSkpOworICAgIG1fZ3Jh
cGhpY3NMYXllci0+c2V0T3BhY2l0eShjb21wb3NpdGluZ09wYWNpdHkoc3R5bGUub3BhY2l0eSgp
KSk7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVUcmFuc2Zvcm0oY29uc3Qg
UmVuZGVyU3R5bGUqIHN0eWxlKQordm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZVRyYW5z
Zm9ybShjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgY291
bGQgdXNlIG1fb3duaW5nTGF5ZXIudHJhbnNmb3JtKCksIGJ1dCB0aGF0IGN1cnJlbnRseSBoYXMg
dHJhbnNmb3JtLW9yaWdpbgogICAgIC8vIGJha2VkIGludG8gaXQsIGFuZCB3ZSBkb24ndCB3YW50
IHRoYXQuCiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdDsKICAgICBpZiAobV9vd25pbmdMYXll
ci5oYXNUcmFuc2Zvcm0oKSkgewogICAgICAgICBSZW5kZXJCb3gmIHJlbmRlckJveCA9IHRvUmVu
ZGVyQm94KHJlbmRlcmVyKCkpOwotICAgICAgICBzdHlsZS0+YXBwbHlUcmFuc2Zvcm0odCwgcGl4
ZWxTbmFwcGVkRm9yUGFpbnRpbmcocmVuZGVyQm94LmJvcmRlckJveFJlY3QoKSwgcmVuZGVyQm94
LmRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKSksIFJlbmRlclN0eWxlOjpFeGNsdWRlVHJh
bnNmb3JtT3JpZ2luKTsKKyAgICAgICAgc3R5bGUuYXBwbHlUcmFuc2Zvcm0odCwgcGl4ZWxTbmFw
cGVkRm9yUGFpbnRpbmcocmVuZGVyQm94LmJvcmRlckJveFJlY3QoKSwgcmVuZGVyQm94LmRvY3Vt
ZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKSksIFJlbmRlclN0eWxlOjpFeGNsdWRlVHJhbnNmb3Jt
T3JpZ2luKTsKICAgICAgICAgbWFrZU1hdHJpeFJlbmRlcmFibGUodCwgY29tcG9zaXRvcigpLmNh
blJlbmRlcjNEVHJhbnNmb3JtcygpKTsKICAgICB9CiAgICAgCkBAIC0zODEsMjAgKzM3OCwyMSBA
QCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlVHJhbnNmb3JtKGNvbnN0IFJlbmRlclN0
eWxlKiBzdHlsZSkKIH0KIAogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKLXZvaWQgUmVuZGVyTGF5
ZXJCYWNraW5nOjp1cGRhdGVGaWx0ZXJzKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSkKK3ZvaWQg
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVGaWx0ZXJzKGNvbnN0IFJlbmRlclN0eWxlJiBzdHls
ZSkKIHsKLSAgICBtX2NhbkNvbXBvc2l0ZUZpbHRlcnMgPSBtX2dyYXBoaWNzTGF5ZXItPnNldEZp
bHRlcnMoc3R5bGUtPmZpbHRlcigpKTsKKyAgICBtX2NhbkNvbXBvc2l0ZUZpbHRlcnMgPSBtX2dy
YXBoaWNzTGF5ZXItPnNldEZpbHRlcnMoc3R5bGUuZmlsdGVyKCkpOwogfQogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQotdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0
ZUJsZW5kTW9kZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUpCit2b2lkIFJlbmRlckxheWVyQmFj
a2luZzo6dXBkYXRlQmxlbmRNb2RlKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKIHsKKyAgICAv
LyBGSVhNRTogd2hlcmUgaXMgdGhlIGJsZW5kIG1vZGUgdXBkYXRlZCB3aGVuIG1fYW5jZXN0b3JD
bGlwcGluZ0xheWVycyBjb21lIGFuZCBnbz8KICAgICBpZiAobV9hbmNlc3RvckNsaXBwaW5nTGF5
ZXIpIHsKLSAgICAgICAgbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXItPnNldEJsZW5kTW9kZShzdHls
ZS0+YmxlbmRNb2RlKCkpOworICAgICAgICBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllci0+c2V0Qmxl
bmRNb2RlKHN0eWxlLmJsZW5kTW9kZSgpKTsKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRC
bGVuZE1vZGUoQmxlbmRNb2RlTm9ybWFsKTsKICAgICB9IGVsc2UKLSAgICAgICAgbV9ncmFwaGlj
c0xheWVyLT5zZXRCbGVuZE1vZGUoc3R5bGUtPmJsZW5kTW9kZSgpKTsKKyAgICAgICAgbV9ncmFw
aGljc0xheWVyLT5zZXRCbGVuZE1vZGUoc3R5bGUuYmxlbmRNb2RlKCkpOwogfQogI2VuZGlmCiAK
QEAgLTY1MywyMSArNjUxLDIzIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHZW9t
ZXRyeSgpCiAgICAgaWYgKG1fb3duaW5nTGF5ZXIuaXNTdGFja2luZ0NvbnRhaW5lcigpICYmIG1f
b3duaW5nTGF5ZXIubV96T3JkZXJMaXN0c0RpcnR5KQogICAgICAgICByZXR1cm47CiAKKyAgICBj
b25zdCBSZW5kZXJTdHlsZSYgc3R5bGUgPSByZW5kZXJlcigpLnN0eWxlKCk7CisKICAgICAvLyBT
ZXQgdHJhbnNmb3JtIHByb3BlcnR5LCBpZiBpdCBpcyBub3QgYW5pbWF0aW5nLiBXZSBoYXZlIHRv
IGRvIHRoaXMgaGVyZSBiZWNhdXNlIHRoZSB0cmFuc2Zvcm0KICAgICAvLyBpcyBhZmZlY3RlZCBi
eSB0aGUgbGF5ZXIgZGltZW5zaW9ucy4KICAgICBpZiAoIXJlbmRlcmVyKCkuYW5pbWF0aW9uKCku
aXNSdW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRpb25PblJlbmRlcmVyKCZyZW5kZXJlcigpLCBDU1NQ
cm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSwgQW5pbWF0aW9uQmFzZTo6UnVubmluZyB8IEFuaW1hdGlv
bkJhc2U6OlBhdXNlZCB8IEFuaW1hdGlvbkJhc2U6OkZpbGxpbmdGb3dhcmRzKSkKLSAgICAgICAg
dXBkYXRlVHJhbnNmb3JtKCZyZW5kZXJlcigpLnN0eWxlKCkpOworICAgICAgICB1cGRhdGVUcmFu
c2Zvcm0oc3R5bGUpOwogCiAgICAgLy8gU2V0IG9wYWNpdHksIGlmIGl0IGlzIG5vdCBhbmltYXRp
bmcuCiAgICAgaWYgKCFyZW5kZXJlcigpLmFuaW1hdGlvbigpLmlzUnVubmluZ0FjY2VsZXJhdGVk
QW5pbWF0aW9uT25SZW5kZXJlcigmcmVuZGVyZXIoKSwgQ1NTUHJvcGVydHlPcGFjaXR5LCBBbmlt
YXRpb25CYXNlOjpSdW5uaW5nIHwgQW5pbWF0aW9uQmFzZTo6UGF1c2VkIHwgQW5pbWF0aW9uQmFz
ZTo6RmlsbGluZ0Zvd2FyZHMpKQotICAgICAgICB1cGRhdGVPcGFjaXR5KCZyZW5kZXJlcigpLnN0
eWxlKCkpOworICAgICAgICB1cGRhdGVPcGFjaXR5KHN0eWxlKTsKICAgICAgICAgCiAjaWYgRU5B
QkxFKENTU19GSUxURVJTKQotICAgIHVwZGF0ZUZpbHRlcnMoJnJlbmRlcmVyKCkuc3R5bGUoKSk7
CisgICAgdXBkYXRlRmlsdGVycyhzdHlsZSk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDU1NfQ09N
UE9TSVRJTkcpCi0gICAgdXBkYXRlQmxlbmRNb2RlKCZyZW5kZXJlcigpLnN0eWxlKCkpOworICAg
IHVwZGF0ZUJsZW5kTW9kZShzdHlsZSk7CiAjZW5kaWYKIAogICAgIGJvb2wgaXNTaW1wbGVDb250
YWluZXIgPSBpc1NpbXBsZUNvbnRhaW5lckNvbXBvc2l0aW5nTGF5ZXIoKTsKQEAgLTY3OSw3ICs2
NzksNiBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkoKQogICAgIC8v
IG5vbi1jb21wb3NpdGluZyB2aXNpYmxlIGxheWVycy4KICAgICBtX2dyYXBoaWNzTGF5ZXItPnNl
dENvbnRlbnRzVmlzaWJsZShtX293bmluZ0xheWVyLmhhc1Zpc2libGVDb250ZW50KCkgfHwgaGFz
VmlzaWJsZU5vbkNvbXBvc2l0aW5nRGVzY2VuZGFudExheWVycygpKTsKIAotICAgIGNvbnN0IFJl
bmRlclN0eWxlJiBzdHlsZSA9IHJlbmRlcmVyKCkuc3R5bGUoKTsKICAgICAvLyBGSVhNRTogcmVm
bGVjdGlvbnMgc2hvdWxkIGZvcmNlIHRyYW5zZm9ybS1zdHlsZSB0byBiZSBmbGF0IGluIHRoZSBz
dHlsZTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjk1OQogICAg
IGJvb2wgcHJlc2VydmVzM0QgPSBzdHlsZS50cmFuc2Zvcm1TdHlsZTNEKCkgPT0gVHJhbnNmb3Jt
U3R5bGUzRFByZXNlcnZlM0QgJiYgIXJlbmRlcmVyKCkuaGFzUmVmbGVjdGlvbigpOwogICAgIG1f
Z3JhcGhpY3NMYXllci0+c2V0UHJlc2VydmVzM0QocHJlc2VydmVzM0QpOwpAQCAtODQ0LDcgKzg0
Myw2IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHZW9tZXRyeSgpCiAgICAgICAg
IGVsc2UKICAgICAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0QW5jaG9yUG9pbnQoYW5jaG9y
KTsKIAotICAgICAgICBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUgPSByZW5kZXJlcigpLnN0eWxl
KCk7CiAgICAgICAgIEdyYXBoaWNzTGF5ZXIqIGNsaXBMYXllciA9IGNsaXBwaW5nTGF5ZXIoKTsK
ICAgICAgICAgaWYgKHN0eWxlLmhhc1BlcnNwZWN0aXZlKCkpIHsKICAgICAgICAgICAgIFRyYW5z
Zm9ybWF0aW9uTWF0cml4IHQgPSBvd25pbmdMYXllcigpLnBlcnNwZWN0aXZlVHJhbnNmb3JtKCk7
CkBAIC0xNTExLDI3ICsxNTA5LDU3IEBAIGZsb2F0IFJlbmRlckxheWVyQmFja2luZzo6Y29tcG9z
aXRpbmdPcGFjaXR5KGZsb2F0IHJlbmRlcmVyT3BhY2l0eSkgY29uc3QKICAgICByZXR1cm4gZmlu
YWxPcGFjaXR5OwogfQogCi1zdGF0aWMgYm9vbCBoYXNCb3hEZWNvcmF0aW9ucyhjb25zdCBSZW5k
ZXJTdHlsZSogc3R5bGUpCitzdGF0aWMgaW5saW5lIGJvb2wgaGFzQm94RGVjb3JhdGlvbnMoY29u
c3QgUmVuZGVyU3R5bGUmIHN0eWxlKQogewotICAgIHJldHVybiBzdHlsZS0+aGFzQm9yZGVyKCkg
fHwgc3R5bGUtPmhhc0JvcmRlclJhZGl1cygpIHx8IHN0eWxlLT5oYXNPdXRsaW5lKCkgfHwgc3R5
bGUtPmhhc0FwcGVhcmFuY2UoKSB8fCBzdHlsZS0+Ym94U2hhZG93KCkgfHwgc3R5bGUtPmhhc0Zp
bHRlcigpOworICAgIHJldHVybiBzdHlsZS5oYXNCb3JkZXIoKSB8fCBzdHlsZS5oYXNCb3JkZXJS
YWRpdXMoKSB8fCBzdHlsZS5oYXNPdXRsaW5lKCkgfHwgc3R5bGUuaGFzQXBwZWFyYW5jZSgpIHx8
IHN0eWxlLmJveFNoYWRvdygpIHx8IHN0eWxlLmhhc0ZpbHRlcigpOwogfQogCi1zdGF0aWMgYm9v
bCBjYW5DcmVhdGVUaWxlZEltYWdlKGNvbnN0IFJlbmRlclN0eWxlKik7CitzdGF0aWMgYm9vbCBj
YW5DcmVhdGVUaWxlZEltYWdlKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKK3sKKyAgICBjb25z
dCBGaWxsTGF5ZXIqIGZpbGxMYXllciA9IHN0eWxlLmJhY2tncm91bmRMYXllcnMoKTsKKyAgICBp
ZiAoZmlsbExheWVyLT5uZXh0KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICgh
ZmlsbExheWVyLT5pbWFnZXNBcmVMb2FkZWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgaWYgKGZpbGxMYXllci0+YXR0YWNobWVudCgpICE9IFNjcm9sbEJhY2tncm91bmRBdHRhY2ht
ZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBDb2xvciBjb2xvciA9IHN0eWxlLnZp
c2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcik7CisKKyAgICAv
LyBGSVhNRTogQWxsb3cgY29sb3IraW1hZ2UgY29tcG9zaXRpbmcgd2hlbiBpdCBtYWtlcyBzZW5z
ZS4KKyAgICAvLyBGb3Igbm93IGJhaWxpbmcgb3V0LgorICAgIGlmIChjb2xvci5pc1ZhbGlkKCkg
JiYgY29sb3IuYWxwaGEoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgU3R5bGVJbWFn
ZSogc3R5bGVJbWFnZSA9IGZpbGxMYXllci0+aW1hZ2UoKTsKKworICAgIC8vIEZJWE1FOiBzdXBw
b3J0IGdyYWRpZW50cyB3aXRoIGlzR2VuZXJhdGVkSW1hZ2UuCisgICAgaWYgKCFzdHlsZUltYWdl
LT5pc0NhY2hlZEltYWdlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEltYWdlKiBp
bWFnZSA9IHN0eWxlSW1hZ2UtPmNhY2hlZEltYWdlKCktPmltYWdlKCk7CisgICAgaWYgKCFpbWFn
ZS0+aXNCaXRtYXBJbWFnZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4g
dHJ1ZTsKK30KIAotc3RhdGljIGJvb2wgaGFzQm94RGVjb3JhdGlvbnNPckJhY2tncm91bmRJbWFn
ZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUpCitzdGF0aWMgYm9vbCBoYXNCb3hEZWNvcmF0aW9u
c09yQmFja2dyb3VuZEltYWdlKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKIHsKICAgICBpZiAo
aGFzQm94RGVjb3JhdGlvbnMoc3R5bGUpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlm
ICghc3R5bGUtPmhhc0JhY2tncm91bmRJbWFnZSgpKQorICAgIGlmICghc3R5bGUuaGFzQmFja2dy
b3VuZEltYWdlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiAhR3JhcGhp
Y3NMYXllcjo6c3VwcG9ydHNDb250ZW50c1RpbGluZygpIHx8ICFjYW5DcmVhdGVUaWxlZEltYWdl
KHN0eWxlKTsKIH0KIAotc3RhdGljIGJvb2wgaGFzUGVyc3BlY3RpdmVPclByZXNlcnZlczNEKGNv
bnN0IFJlbmRlclN0eWxlKiBzdHlsZSkKK3N0YXRpYyBpbmxpbmUgYm9vbCBoYXNQZXJzcGVjdGl2
ZU9yUHJlc2VydmVzM0QoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKQogewotICAgIHJldHVybiBz
dHlsZS0+aGFzUGVyc3BlY3RpdmUoKSB8fCBzdHlsZS0+cHJlc2VydmVzM0QoKTsKKyAgICByZXR1
cm4gc3R5bGUuaGFzUGVyc3BlY3RpdmUoKSB8fCBzdHlsZS5wcmVzZXJ2ZXMzRCgpOwogfQogCiBD
b2xvciBSZW5kZXJMYXllckJhY2tpbmc6OnJlbmRlcmVyQmFja2dyb3VuZENvbG9yKCkgY29uc3QK
QEAgLTE1NTcsMzggKzE1ODUsNiBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRGly
ZWN0bHlDb21wb3NpdGVkQmFja2dyb3VuZENvbG9yKGJvb2wgaXNTaW1wbGVDbwogICAgIGRpZFVw
ZGF0ZUNvbnRlbnRzUmVjdCA9IHRydWU7CiB9CiAKLWJvb2wgY2FuQ3JlYXRlVGlsZWRJbWFnZShj
b25zdCBSZW5kZXJTdHlsZSogc3R5bGUpCi17Ci0gICAgY29uc3QgRmlsbExheWVyKiBmaWxsTGF5
ZXIgPSBzdHlsZS0+YmFja2dyb3VuZExheWVycygpOwotICAgIGlmIChmaWxsTGF5ZXItPm5leHQo
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFmaWxsTGF5ZXItPmltYWdlc0Fy
ZUxvYWRlZCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoZmlsbExheWVyLT5h
dHRhY2htZW50KCkgIT0gU2Nyb2xsQmFja2dyb3VuZEF0dGFjaG1lbnQpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgIENvbG9yIGNvbG9yID0gc3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xv
cihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcik7Ci0KLSAgICAvLyBGSVhNRTogQWxsb3cgY29s
b3IraW1hZ2UgY29tcG9zaXRpbmcgd2hlbiBpdCBtYWtlcyBzZW5zZS4KLSAgICAvLyBGb3Igbm93
IGJhaWxpbmcgb3V0LgotICAgIGlmIChjb2xvci5pc1ZhbGlkKCkgJiYgY29sb3IuYWxwaGEoKSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgU3R5bGVJbWFnZSogc3R5bGVJbWFnZSA9IGZp
bGxMYXllci0+aW1hZ2UoKTsKLQotICAgIC8vIEZJWE1FOiBzdXBwb3J0IGdyYWRpZW50cyB3aXRo
IGlzR2VuZXJhdGVkSW1hZ2UuCi0gICAgaWYgKCFzdHlsZUltYWdlLT5pc0NhY2hlZEltYWdlKCkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEltYWdlKiBpbWFnZSA9IHN0eWxlSW1hZ2Ut
PmNhY2hlZEltYWdlKCktPmltYWdlKCk7Ci0gICAgaWYgKCFpbWFnZS0+aXNCaXRtYXBJbWFnZSgp
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBS
ZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZURpcmVjdGx5Q29tcG9zaXRlZEJhY2tncm91bmRJbWFn
ZShib29sIGlzU2ltcGxlQ29udGFpbmVyLCBib29sJiBkaWRVcGRhdGVDb250ZW50c1JlY3QpCiB7
CiAgICAgaWYgKCFHcmFwaGljc0xheWVyOjpzdXBwb3J0c0NvbnRlbnRzVGlsaW5nKCkpCkBAIC0x
NjQzLDEwICsxNjM5LDExIEBAIHN0YXRpYyBib29sIHN1cHBvcnRzRGlyZWN0Qm94RGVjb3JhdGlv
bnNDb21wb3NpdGlvbihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0CiAgICAgaWYgKCFHcmFw
aGljc0xheWVyOjpzdXBwb3J0c0JhY2tncm91bmRDb2xvckNvbnRlbnQoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCisgICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlID0gcmVuZGVyZXIuc3R5
bGUoKTsKICAgICBpZiAocmVuZGVyZXIuaGFzQ2xpcCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKLSAgICBpZiAoaGFzQm94RGVjb3JhdGlvbnNPckJhY2tncm91bmRJbWFnZSgmcmVuZGVyZXIu
c3R5bGUoKSkpCisgICAgaWYgKGhhc0JveERlY29yYXRpb25zT3JCYWNrZ3JvdW5kSW1hZ2Uoc3R5
bGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAvLyBGSVhNRTogV2UgY2FuJ3QgY3Jl
YXRlIGEgZGlyZWN0bHkgY29tcG9zaXRlZCBiYWNrZ3JvdW5kIGlmIHRoaXMKQEAgLTE2NTQsMTQg
KzE2NTEsMTQgQEAgc3RhdGljIGJvb2wgc3VwcG9ydHNEaXJlY3RCb3hEZWNvcmF0aW9uc0NvbXBv
c2l0aW9uKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QKICAgICAvLyBBIGJldHRlciBzb2x1
dGlvbiBtaWdodCBiZSB0byBpbnRyb2R1Y2UgYSBmbGF0dGVuaW5nIGxheWVyIGlmCiAgICAgLy8g
d2UgZG8gZGlyZWN0IGJveCBkZWNvcmF0aW9uIGNvbXBvc2l0aW9uLgogICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTk0NjEKLSAgICBpZiAoaGFzUGVyc3Bl
Y3RpdmVPclByZXNlcnZlczNEKCZyZW5kZXJlci5zdHlsZSgpKSkKKyAgICBpZiAoaGFzUGVyc3Bl
Y3RpdmVPclByZXNlcnZlczNEKHN0eWxlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
Ly8gRklYTUU6IHdlIHNob3VsZCBiZSBhYmxlIHRvIGFsbG93IGJhY2tncm91bmRDb21wb3NpdGU7
IEhvd2V2ZXIgc2luY2UgdGhpcyBpcyBub3QgYSBjb21tb24gdXNlIGNhc2UgaXQgaGFzIGJlZW4g
ZGVmZXJyZWQgZm9yIG5vdy4KLSAgICBpZiAocmVuZGVyZXIuc3R5bGUoKS5iYWNrZ3JvdW5kQ29t
cG9zaXRlKCkgIT0gQ29tcG9zaXRlU291cmNlT3ZlcikKKyAgICBpZiAoc3R5bGUuYmFja2dyb3Vu
ZENvbXBvc2l0ZSgpICE9IENvbXBvc2l0ZVNvdXJjZU92ZXIpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIGlmIChyZW5kZXJlci5zdHlsZSgpLmJhY2tncm91bmRDbGlwKCkgPT0gVGV4dEZp
bGxCb3gpCisgICAgaWYgKHN0eWxlLmJhY2tncm91bmRDbGlwKCkgPT0gVGV4dEZpbGxCb3gpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiB0cnVlOwpAQCAtMTcyOSwxMSArMTcy
Niw5IEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjppc1NpbXBsZUNvbnRhaW5lckNvbXBvc2l0
aW5nTGF5ZXIoKSBjb25zdAogICAgICAgICBpZiAoIXJvb3RPYmplY3QpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgICAgIAotICAgICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSAmcm9v
dE9iamVjdC0+c3R5bGUoKTsKLSAgICAgICAgCiAgICAgICAgIC8vIFJlamVjdCBhbnl0aGluZyB0
aGF0IGhhcyBhIGJvcmRlciwgYSBib3JkZXItcmFkaXVzIG9yIG91dGxpbmUsCiAgICAgICAgIC8v
IG9yIGlzIG5vdCBhIHNpbXBsZSBiYWNrZ3JvdW5kIChubyBiYWNrZ3JvdW5kLCBvciBzb2xpZCBj
b2xvcikuCi0gICAgICAgIGlmIChoYXNCb3hEZWNvcmF0aW9uc09yQmFja2dyb3VuZEltYWdlKHN0
eWxlKSkKKyAgICAgICAgaWYgKGhhc0JveERlY29yYXRpb25zT3JCYWNrZ3JvdW5kSW1hZ2Uocm9v
dE9iamVjdC0+c3R5bGUoKSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIAog
ICAgICAgICAvLyBOb3cgbG9vayBhdCB0aGUgYm9keSdzIHJlbmRlcmVyLgpAQCAtMTc0Miw5ICsx
NzM3LDcgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OmlzU2ltcGxlQ29udGFpbmVyQ29tcG9z
aXRpbmdMYXllcigpIGNvbnN0CiAgICAgICAgIGlmICghYm9keU9iamVjdCkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgCi0gICAgICAgIHN0eWxlID0gJmJvZHlPYmplY3QtPnN0
eWxlKCk7Ci0gICAgICAgIAotICAgICAgICBpZiAoaGFzQm94RGVjb3JhdGlvbnNPckJhY2tncm91
bmRJbWFnZShzdHlsZSkpCisgICAgICAgIGlmIChoYXNCb3hEZWNvcmF0aW9uc09yQmFja2dyb3Vu
ZEltYWdlKGJvZHlPYmplY3QtPnN0eWxlKCkpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIH0KIApAQCAtMTg2MCw3ICsxODUzLDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmNv
bnRlbnRDaGFuZ2VkKENvbnRlbnRDaGFuZ2VUeXBlIGNoYW5nZVR5cGUpCiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBpZiAoKGNoYW5nZVR5cGUgPT0gQmFja2dyb3VuZEltYWdlQ2hhbmdl
ZCkgJiYgY2FuQ3JlYXRlVGlsZWRJbWFnZSgmcmVuZGVyZXIoKS5zdHlsZSgpKSkKKyAgICBpZiAo
KGNoYW5nZVR5cGUgPT0gQmFja2dyb3VuZEltYWdlQ2hhbmdlZCkgJiYgY2FuQ3JlYXRlVGlsZWRJ
bWFnZShyZW5kZXJlcigpLnN0eWxlKCkpKQogICAgICAgICB1cGRhdGVHZW9tZXRyeSgpOwogCiAg
ICAgaWYgKChjaGFuZ2VUeXBlID09IE1hc2tJbWFnZUNoYW5nZWQpICYmIG1fbWFza0xheWVyKSB7
CkBAIC0yNDE2LDcgKzI0MDksNyBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6c3RhcnRUcmFu
c2l0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0LCBDU1NQcm9wZXJ0eUlEIHByb3BlcgogICAgICAgICAg
ICAgLy8gVGhlIGJveFNpemUgcGFyYW0gaXMgb25seSB1c2VkIGZvciB0cmFuc2Zvcm0gYW5pbWF0
aW9ucyAod2hpY2ggY2FuIG9ubHkgcnVuIG9uIFJlbmRlckJveGVzKSwgc28gd2UgcGFzcyBhbiBl
bXB0eSBzaXplIGhlcmUuCiAgICAgICAgICAgICBpZiAobV9ncmFwaGljc0xheWVyLT5hZGRBbmlt
YXRpb24ob3BhY2l0eVZlY3RvciwgRmxvYXRTaXplKCksIG9wYWNpdHlBbmltLCBHcmFwaGljc0xh
eWVyOjphbmltYXRpb25OYW1lRm9yVHJhbnNpdGlvbihBbmltYXRlZFByb3BlcnR5T3BhY2l0eSks
IHRpbWVPZmZzZXQpKSB7CiAgICAgICAgICAgICAgICAgLy8gVG8gZW5zdXJlIHRoYXQgdGhlIGNv
cnJlY3Qgb3BhY2l0eSBpcyB2aXNpYmxlIHdoZW4gdGhlIGFuaW1hdGlvbiBlbmRzLCBhbHNvIHNl
dCB0aGUgZmluYWwgb3BhY2l0eS4KLSAgICAgICAgICAgICAgICB1cGRhdGVPcGFjaXR5KHRvU3R5
bGUpOworICAgICAgICAgICAgICAgIHVwZGF0ZU9wYWNpdHkoKnRvU3R5bGUpOwogICAgICAgICAg
ICAgICAgIGRpZEFuaW1hdGUgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0y
NDMwLDcgKzI0MjMsNyBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6c3RhcnRUcmFuc2l0aW9u
KGRvdWJsZSB0aW1lT2Zmc2V0LCBDU1NQcm9wZXJ0eUlEIHByb3BlcgogICAgICAgICAgICAgdHJh
bnNmb3JtVmVjdG9yLmluc2VydChUcmFuc2Zvcm1BbmltYXRpb25WYWx1ZTo6Y3JlYXRlKDEsIHRv
U3R5bGUtPnRyYW5zZm9ybSgpKSk7CiAgICAgICAgICAgICBpZiAobV9ncmFwaGljc0xheWVyLT5h
ZGRBbmltYXRpb24odHJhbnNmb3JtVmVjdG9yLCB0b1JlbmRlckJveChyZW5kZXJlcigpKS5waXhl
bFNuYXBwZWRCb3JkZXJCb3hSZWN0KCkuc2l6ZSgpLCB0cmFuc2Zvcm1BbmltLCBHcmFwaGljc0xh
eWVyOjphbmltYXRpb25OYW1lRm9yVHJhbnNpdGlvbihBbmltYXRlZFByb3BlcnR5V2Via2l0VHJh
bnNmb3JtKSwgdGltZU9mZnNldCkpIHsKICAgICAgICAgICAgICAgICAvLyBUbyBlbnN1cmUgdGhh
dCB0aGUgY29ycmVjdCB0cmFuc2Zvcm0gaXMgdmlzaWJsZSB3aGVuIHRoZSBhbmltYXRpb24gZW5k
cywgYWxzbyBzZXQgdGhlIGZpbmFsIHRyYW5zZm9ybS4KLSAgICAgICAgICAgICAgICB1cGRhdGVU
cmFuc2Zvcm0odG9TdHlsZSk7CisgICAgICAgICAgICAgICAgdXBkYXRlVHJhbnNmb3JtKCp0b1N0
eWxlKTsKICAgICAgICAgICAgICAgICBkaWRBbmltYXRlID0gdHJ1ZTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQpAQCAtMjQ0NSw3ICsyNDM4LDcgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6
OnN0YXJ0VHJhbnNpdGlvbihkb3VibGUgdGltZU9mZnNldCwgQ1NTUHJvcGVydHlJRCBwcm9wZXIK
ICAgICAgICAgICAgIGZpbHRlclZlY3Rvci5pbnNlcnQoRmlsdGVyQW5pbWF0aW9uVmFsdWU6OmNy
ZWF0ZSgxLCB0b1N0eWxlLT5maWx0ZXIoKSkpOwogICAgICAgICAgICAgaWYgKG1fZ3JhcGhpY3NM
YXllci0+YWRkQW5pbWF0aW9uKGZpbHRlclZlY3RvciwgRmxvYXRTaXplKCksIGZpbHRlckFuaW0s
IEdyYXBoaWNzTGF5ZXI6OmFuaW1hdGlvbk5hbWVGb3JUcmFuc2l0aW9uKEFuaW1hdGVkUHJvcGVy
dHlXZWJraXRGaWx0ZXIpLCB0aW1lT2Zmc2V0KSkgewogICAgICAgICAgICAgICAgIC8vIFRvIGVu
c3VyZSB0aGF0IHRoZSBjb3JyZWN0IGZpbHRlciBpcyB2aXNpYmxlIHdoZW4gdGhlIGFuaW1hdGlv
biBlbmRzLCBhbHNvIHNldCB0aGUgZmluYWwgZmlsdGVyLgotICAgICAgICAgICAgICAgIHVwZGF0
ZUZpbHRlcnModG9TdHlsZSk7CisgICAgICAgICAgICAgICAgdXBkYXRlRmlsdGVycygqdG9TdHls
ZSk7CiAgICAgICAgICAgICAgICAgZGlkQW5pbWF0ZSA9IHRydWU7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
aAppbmRleCAzNTIwYWExN2I2YzUwZmM1ZWFiZmFjZDYzOGQxNjdiZGZiZWI1YjQzLi5hOGE2ZWI0
Y2ZmYzk5MjBkOGJlM2ZmNTg3ZGYwNDQ1OTkxZTFjN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCkBAIC0yNTEsMTMgKzI1MSwxMyBAQCBwcml2
YXRlOgogICAgIC8vIFJlc3VsdCBpcyB0cmFuc2Zvcm0gb3JpZ2luIGluIGRldmljZSBwaXhlbHMu
CiAgICAgRmxvYXRQb2ludDNEIGNvbXB1dGVUcmFuc2Zvcm1PcmlnaW5Gb3JQYWludGluZyhjb25z
dCBMYXlvdXRSZWN0JiBib3JkZXJCb3gpIGNvbnN0OwogCi0gICAgdm9pZCB1cGRhdGVPcGFjaXR5
KGNvbnN0IFJlbmRlclN0eWxlKik7Ci0gICAgdm9pZCB1cGRhdGVUcmFuc2Zvcm0oY29uc3QgUmVu
ZGVyU3R5bGUqKTsKKyAgICB2b2lkIHVwZGF0ZU9wYWNpdHkoY29uc3QgUmVuZGVyU3R5bGUmKTsK
KyAgICB2b2lkIHVwZGF0ZVRyYW5zZm9ybShjb25zdCBSZW5kZXJTdHlsZSYpOwogI2lmIEVOQUJM
RShDU1NfRklMVEVSUykKLSAgICB2b2lkIHVwZGF0ZUZpbHRlcnMoY29uc3QgUmVuZGVyU3R5bGUq
KTsKKyAgICB2b2lkIHVwZGF0ZUZpbHRlcnMoY29uc3QgUmVuZGVyU3R5bGUmKTsKICNlbmRpZgog
I2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCi0gICAgdm9pZCB1cGRhdGVCbGVuZE1vZGUoY29u
c3QgUmVuZGVyU3R5bGUqKTsKKyAgICB2b2lkIHVwZGF0ZUJsZW5kTW9kZShjb25zdCBSZW5kZXJT
dHlsZSYpOwogI2VuZGlmCiAgICAgLy8gUmV0dXJuIHRoZSBvcGFjaXR5IHZhbHVlIHRoYXQgdGhp
cyBsYXllciBzaG91bGQgdXNlIGZvciBjb21wb3NpdGluZy4KICAgICBmbG9hdCBjb21wb3NpdGlu
Z09wYWNpdHkoZmxvYXQgcmVuZGVyZXJPcGFjaXR5KSBjb25zdDsK
</data>
<flag name="review"
          id="256115"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>