<?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>137786</bug_id>
          
          <creation_ts>2014-10-16 13:20:46 -0700</creation_ts>
          <short_desc>Leverage the new RenderElement::m_isCSSAnimating flag in more places</short_desc>
          <delta_ts>2014-10-16 18:53:12 -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>Animations</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>
          <dependson>137583</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1042163</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-16 13:20:46 -0700</bug_when>
    <thetext>Leverage the new RenderElement::m_isCSSAnimating flag in more places for performance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042171</commentid>
    <comment_count>1</comment_count>
      <attachid>239961</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-16 13:37:54 -0700</bug_when>
    <thetext>Created attachment 239961
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042262</commentid>
    <comment_count>2</comment_count>
      <attachid>239961</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-16 18:53:06 -0700</bug_when>
    <thetext>Comment on attachment 239961
Patch

Clearing flags on attachment: 239961

Committed r174804: &lt;http://trac.webkit.org/changeset/174804&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042263</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-16 18:53:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239961</attachid>
            <date>2014-10-16 13:37:54 -0700</date>
            <delta_ts>2014-10-16 18:53:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137786-20141016133759.patch</filename>
            <type>text/plain</type>
            <size>23854</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0Nzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDlkZDFlOGNkYmQxYjBi
YzJhYzNjOTdlZDYyMzg5YmExZjMyM2NhOC4uMWU0NDkxNmM1ZjgwMTczNmZkZDkwYjI3YzdmOGQ2
NjE1YmQyOGI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE0LTEwLTE2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTGV2ZXJhZ2UgdGhlIG5ldyBS
ZW5kZXJFbGVtZW50OjptX2lzQ1NTQW5pbWF0aW5nIGZsYWcgaW4gbW9yZSBwbGFjZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzc4NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExldmVyYWdlIHRoZSBu
ZXcgUmVuZGVyRWxlbWVudDo6bV9pc0NTU0FuaW1hdGluZyBmbGFnIHRoYXQgd2FzIGludHJvZHVj
ZWQKKyAgICAgICAgaW4gcjE3NDcwMyBpbiBtb3JlIHBsYWNlcywgZm9yIHBlcmZvcm1hbmNlLiBU
aGlzIGF2b2lkcyBkb2luZyBleHRyYSB3b3JrCisgICAgICAgIGZvciByZW5kZXJlcnMgb24gd2hp
Y2ggd2UgYXJlIG5vdCBydW5uaW5nIGFuaW1hdGlvbnMgb24uIFRoaXMgcGF0Y2ggYWxzbworICAg
ICAgICB1cGRhdGVzIHRoZSBBUEkgYSBiaXQgdG8gdXNlIG1vcmUgcmVmZXJlbmNlcyBpbnN0ZWFk
IG9mIHBvaW50ZXJzLCBtYWtpbmcKKyAgICAgICAgaXQgY2xlYXIgdGhlIFJlbmRlckVsZW1lbnQg
Y2Fubm90IGJlIG51bGwgYW5kIHRodXMgYXZvaWRpbmcgdW5uZWNlc3NhcnkKKyAgICAgICAgbnVs
bCBjaGVja3MuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisK
KyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmNvbXB1dGVSZW5kZXJTdHlsZUZvclByb3BlcnR5KToKKyAgICAgICAgKiBwYWdl
L2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjplbnN1cmVDb21wb3NpdGVBbmltYXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmNsZWFyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25U
aW1lckZvclJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlOjppc1J1bm5pbmdBbmltYXRpb25PblJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjppc1J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlv
bk9uUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZh
dGU6OnBhdXNlQW5pbWF0aW9uQXRUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlOjpwYXVzZVRyYW5zaXRpb25BdFRpbWUpOgorICAgICAgICAoV2ViQ29y
ZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmdldEFuaW1hdGVkU3R5bGVGb3JSZW5kZXJl
cik6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyOjpjYW5jZWxBbmltYXRp
b25zKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXI6OnVwZGF0ZUFuaW1h
dGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlcjo6Z2V0QW5pbWF0
ZWRTdHlsZUZvclJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xs
ZXI6Om5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9u
Q29udHJvbGxlcjo6aXNSdW5uaW5nQW5pbWF0aW9uT25SZW5kZXJlcik6CisgICAgICAgIChXZWJD
b3JlOjpBbmltYXRpb25Db250cm9sbGVyOjppc1J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbk9u
UmVuZGVyZXIpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckVsZW1lbnQ6OndpbGxCZURlc3Ryb3llZCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjdXJyZW50
VHJhbnNmb3JtKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpub3RpZnlBbmltYXRpb25TdGFy
dGVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGlu
Z0ZvckFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6
OmlzUnVubmluZ0FjY2VsZXJhdGVkVHJhbnNmb3JtQW5pbWF0aW9uKToKKwogMjAxNC0xMC0xNSAg
QW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNvbT4KIAogICAgICAgICBBU1NFUlRJT04gIEZB
SUxFRCBpbiBXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjpnZXRSZWdpb25SYW5nZUZvckJveApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAppbmRleCBiMWI4ODhjY2RhNzJjYzU2OTJmYTA2YWIwYTUzNjllZWQxZWNhYzBlLi4xZTVjY2M0
YjQxNDAwMmJhMTI5Mzk5OTU2ZGVmNzdiMzQ3OTcxM2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTY2NCw3ICsxNjY0
LDcgQEAgc3RhdGljIGlubGluZSBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBjb21wdXRlUmVuZGVy
U3R5bGVGb3JQcm9wZXJ0eShOb2RlKiBzdHlsZWQKIAogICAgIGlmIChyZW5kZXJlciAmJiByZW5k
ZXJlci0+aXNDb21wb3NpdGVkKCkgJiYgQW5pbWF0aW9uQ29udHJvbGxlcjo6c3VwcG9ydHNBY2Nl
bGVyYXRlZEFuaW1hdGlvbk9mUHJvcGVydHkocHJvcGVydHlJRCkpIHsKICAgICAgICAgQW5pbWF0
aW9uVXBkYXRlQmxvY2sgYW5pbWF0aW9uVXBkYXRlQmxvY2soJnJlbmRlcmVyLT5hbmltYXRpb24o
KSk7Ci0gICAgICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGUgPSByZW5kZXJlci0+YW5pbWF0
aW9uKCkuZ2V0QW5pbWF0ZWRTdHlsZUZvclJlbmRlcmVyKGRvd25jYXN0PFJlbmRlckVsZW1lbnQ+
KHJlbmRlcmVyKSk7CisgICAgICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGUgPSByZW5kZXJl
ci0+YW5pbWF0aW9uKCkuZ2V0QW5pbWF0ZWRTdHlsZUZvclJlbmRlcmVyKGRvd25jYXN0PFJlbmRl
ckVsZW1lbnQ+KCpyZW5kZXJlcikpOwogICAgICAgICBpZiAocHNldWRvRWxlbWVudFNwZWNpZmll
ciAmJiAhc3R5bGVkTm9kZS0+aXNQc2V1ZG9FbGVtZW50KCkpIHsKICAgICAgICAgICAgIC8vIEZJ
WE1FOiBUaGlzIGNhY2hlZCBwc2V1ZG8gc3R5bGUgd2lsbCBvbmx5IGV4aXN0IGlmIHRoZSBhbmlt
YXRpb24gaGFzIGJlZW4gcnVuIGF0IGxlYXN0IG9uY2UuCiAgICAgICAgICAgICByZXR1cm4gc3R5
bGUtPmdldENhY2hlZFBzZXVkb1N0eWxlKHBzZXVkb0VsZW1lbnRTcGVjaWZpZXIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNw
cAppbmRleCBhOThmNDMyZWRlMTVkYTE5YTg4OGZkMzMzOGY5MzdkNWQyYzFkYmMwLi43MzJjOTgx
MWIzZjk0NTBjZWY4ZjM5ZmFhMGUyMTJlMzJjYmUwNTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtNjcsMjQg
KzY3LDI1IEBAIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp+QW5pbWF0aW9uQ29udHJvbGxl
clByaXZhdGUoKQogewogfQogCi1Db21wb3NpdGVBbmltYXRpb24mIEFuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlOjplbnN1cmVDb21wb3NpdGVBbmltYXRpb24oUmVuZGVyRWxlbWVudCogcmVuZGVy
ZXIpCitDb21wb3NpdGVBbmltYXRpb24mIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjplbnN1
cmVDb21wb3NpdGVBbmltYXRpb24oUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiB7Ci0gICAgYXV0
byByZXN1bHQgPSBtX2NvbXBvc2l0ZUFuaW1hdGlvbnMuYWRkKHJlbmRlcmVyLCBudWxscHRyKTsK
KyAgICBhdXRvIHJlc3VsdCA9IG1fY29tcG9zaXRlQW5pbWF0aW9ucy5hZGQoJnJlbmRlcmVyLCBu
dWxscHRyKTsKICAgICBpZiAocmVzdWx0LmlzTmV3RW50cnkpIHsKICAgICAgICAgcmVzdWx0Lml0
ZXJhdG9yLT52YWx1ZSA9IENvbXBvc2l0ZUFuaW1hdGlvbjo6Y3JlYXRlKHRoaXMpOwotICAgICAg
ICByZW5kZXJlci0+c2V0SXNDU1NBbmltYXRpbmcodHJ1ZSk7CisgICAgICAgIHJlbmRlcmVyLnNl
dElzQ1NTQW5pbWF0aW5nKHRydWUpOwogICAgIH0KICAgICByZXR1cm4gKnJlc3VsdC5pdGVyYXRv
ci0+dmFsdWU7CiB9CiAKLWJvb2wgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmNsZWFyKFJl
bmRlckVsZW1lbnQqIHJlbmRlcmVyKQorYm9vbCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6
Y2xlYXIoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiB7CisgICAgQVNTRVJUKHJlbmRlcmVyLmlz
Q1NTQW5pbWF0aW5nKCkpOworICAgIEFTU0VSVChtX2NvbXBvc2l0ZUFuaW1hdGlvbnMuY29udGFp
bnMoJnJlbmRlcmVyKSk7CiAgICAgLy8gUmV0dXJuIGZhbHNlIGlmIHdlIGRpZG4ndCBkbyBhbnl0
aGluZyBPUiB3ZSBhcmUgc3VzcGVuZGVkIChzbyB3ZSBkb24ndCB0cnkgdG8KICAgICAvLyBkbyBh
IHNldE5lZWRzU3R5bGVSZWNhbGMoKSB3aGVuIHN1c3BlbmRlZCkuCi0gICAgUmVmUHRyPENvbXBv
c2l0ZUFuaW1hdGlvbj4gYW5pbWF0aW9uID0gbV9jb21wb3NpdGVBbmltYXRpb25zLnRha2UocmVu
ZGVyZXIpOwotICAgIGlmICghYW5pbWF0aW9uKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
cmVuZGVyZXItPnNldElzQ1NTQW5pbWF0aW5nKGZhbHNlKTsKKyAgICBSZWZQdHI8Q29tcG9zaXRl
QW5pbWF0aW9uPiBhbmltYXRpb24gPSBtX2NvbXBvc2l0ZUFuaW1hdGlvbnMudGFrZSgmcmVuZGVy
ZXIpOworICAgIEFTU0VSVChhbmltYXRpb24pOworICAgIHJlbmRlcmVyLnNldElzQ1NTQW5pbWF0
aW5nKGZhbHNlKTsKICAgICBhbmltYXRpb24tPmNsZWFyUmVuZGVyZXIoKTsKICAgICByZXR1cm4g
YW5pbWF0aW9uLT5pc1N1c3BlbmRlZCgpOwogfQpAQCAtMTE5LDExICsxMjAsMTEgQEAgZG91Ymxl
IEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25zKFNldENoYW5nZWQg
Y2FsbFNldENoYW5nZWQvKgogICAgIHJldHVybiB0aW1lVG9OZXh0U2VydmljZTsKIH0KIAotdm9p
ZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXJGb3JSZW5k
ZXJlcihSZW5kZXJFbGVtZW50KiByZW5kZXJlcikKK3ZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVuZGVyRWxlbWVudCYgcmVu
ZGVyZXIpCiB7CiAgICAgZG91YmxlIHRpbWVUb05leHRTZXJ2aWNlID0gMDsKIAotICAgIGNvbnN0
IENvbXBvc2l0ZUFuaW1hdGlvbiogY29tcG9zaXRlQW5pbWF0aW9uID0gbV9jb21wb3NpdGVBbmlt
YXRpb25zLmdldChyZW5kZXJlcik7CisgICAgY29uc3QgQ29tcG9zaXRlQW5pbWF0aW9uKiBjb21w
b3NpdGVBbmltYXRpb24gPSBtX2NvbXBvc2l0ZUFuaW1hdGlvbnMuZ2V0KCZyZW5kZXJlcik7CiAg
ICAgaWYgKCFjb21wb3NpdGVBbmltYXRpb24tPmlzU3VzcGVuZGVkKCkgJiYgY29tcG9zaXRlQW5p
bWF0aW9uLT5oYXNBbmltYXRpb25zKCkpCiAgICAgICAgIHRpbWVUb05leHRTZXJ2aWNlID0gY29t
cG9zaXRlQW5pbWF0aW9uLT50aW1lVG9OZXh0U2VydmljZSgpOwogCkBAIC0yMzksMTkgKzI0MCwx
OSBAQCB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmltYXRpb25UaW1lckZpcmVk
KFRpbWVyPEFuaW1hdGlvbkNvbnRyb2xsZXJQcgogICAgIGZpcmVFdmVudHNBbmRVcGRhdGVTdHls
ZSgpOwogfQogCi1ib29sIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjppc1J1bm5pbmdBbmlt
YXRpb25PblJlbmRlcmVyKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLCBDU1NQcm9wZXJ0eUlEIHBy
b3BlcnR5LCBBbmltYXRpb25CYXNlOjpSdW5uaW5nU3RhdGUgcnVubmluZ1N0YXRlKSBjb25zdAor
Ym9vbCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6aXNSdW5uaW5nQW5pbWF0aW9uT25SZW5k
ZXJlcihSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eSwgQW5p
bWF0aW9uQmFzZTo6UnVubmluZ1N0YXRlIHJ1bm5pbmdTdGF0ZSkgY29uc3QKIHsKLSAgICBBU1NF
UlQocmVuZGVyZXItPmlzQ1NTQW5pbWF0aW5nKCkpOwotICAgIEFTU0VSVChtX2NvbXBvc2l0ZUFu
aW1hdGlvbnMuY29udGFpbnMocmVuZGVyZXIpKTsKLSAgICBjb25zdCBDb21wb3NpdGVBbmltYXRp
b24mIGFuaW1hdGlvbiA9ICptX2NvbXBvc2l0ZUFuaW1hdGlvbnMuZ2V0KHJlbmRlcmVyKTsKKyAg
ICBBU1NFUlQocmVuZGVyZXIuaXNDU1NBbmltYXRpbmcoKSk7CisgICAgQVNTRVJUKG1fY29tcG9z
aXRlQW5pbWF0aW9ucy5jb250YWlucygmcmVuZGVyZXIpKTsKKyAgICBjb25zdCBDb21wb3NpdGVB
bmltYXRpb24mIGFuaW1hdGlvbiA9ICptX2NvbXBvc2l0ZUFuaW1hdGlvbnMuZ2V0KCZyZW5kZXJl
cik7CiAgICAgcmV0dXJuIGFuaW1hdGlvbi5pc0FuaW1hdGluZ1Byb3BlcnR5KHByb3BlcnR5LCBm
YWxzZSwgcnVubmluZ1N0YXRlKTsKIH0KIAotYm9vbCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZTo6aXNSdW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRpb25PblJlbmRlcmVyKFJlbmRlckVsZW1lbnQq
IHJlbmRlcmVyLCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBBbmltYXRpb25CYXNlOjpSdW5uaW5n
U3RhdGUgcnVubmluZ1N0YXRlKSBjb25zdAorYm9vbCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZTo6aXNSdW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRpb25PblJlbmRlcmVyKFJlbmRlckVsZW1lbnQm
IHJlbmRlcmVyLCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBBbmltYXRpb25CYXNlOjpSdW5uaW5n
U3RhdGUgcnVubmluZ1N0YXRlKSBjb25zdAogewotICAgIEFTU0VSVChyZW5kZXJlci0+aXNDU1NB
bmltYXRpbmcoKSk7Ci0gICAgQVNTRVJUKG1fY29tcG9zaXRlQW5pbWF0aW9ucy5jb250YWlucyhy
ZW5kZXJlcikpOwotICAgIGNvbnN0IENvbXBvc2l0ZUFuaW1hdGlvbiYgYW5pbWF0aW9uID0gKm1f
Y29tcG9zaXRlQW5pbWF0aW9ucy5nZXQocmVuZGVyZXIpOworICAgIEFTU0VSVChyZW5kZXJlci5p
c0NTU0FuaW1hdGluZygpKTsKKyAgICBBU1NFUlQobV9jb21wb3NpdGVBbmltYXRpb25zLmNvbnRh
aW5zKCZyZW5kZXJlcikpOworICAgIGNvbnN0IENvbXBvc2l0ZUFuaW1hdGlvbiYgYW5pbWF0aW9u
ID0gKm1fY29tcG9zaXRlQW5pbWF0aW9ucy5nZXQoJnJlbmRlcmVyKTsKICAgICByZXR1cm4gYW5p
bWF0aW9uLmlzQW5pbWF0aW5nUHJvcGVydHkocHJvcGVydHksIHRydWUsIHJ1bm5pbmdTdGF0ZSk7
CiB9CiAKQEAgLTMyMyw3ICszMjQsNyBAQCBib29sIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRl
OjpwYXVzZUFuaW1hdGlvbkF0VGltZShSZW5kZXJFbGVtZW50KiByZW5kZXJlciwgYwogICAgIGlm
ICghcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIENvbXBvc2l0ZUFuaW1h
dGlvbiYgY29tcG9zaXRlQW5pbWF0aW9uID0gZW5zdXJlQ29tcG9zaXRlQW5pbWF0aW9uKHJlbmRl
cmVyKTsKKyAgICBDb21wb3NpdGVBbmltYXRpb24mIGNvbXBvc2l0ZUFuaW1hdGlvbiA9IGVuc3Vy
ZUNvbXBvc2l0ZUFuaW1hdGlvbigqcmVuZGVyZXIpOwogICAgIGlmIChjb21wb3NpdGVBbmltYXRp
b24ucGF1c2VBbmltYXRpb25BdFRpbWUobmFtZSwgdCkpIHsKICAgICAgICAgcmVuZGVyZXItPmVs
ZW1lbnQoKS0+c2V0TmVlZHNTdHlsZVJlY2FsYyhTeW50aGV0aWNTdHlsZUNoYW5nZSk7CiAgICAg
ICAgIHN0YXJ0VXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIoKTsKQEAgLTMzOCw3ICszMzks
NyBAQCBib29sIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpwYXVzZVRyYW5zaXRpb25BdFRp
bWUoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsCiAgICAgaWYgKCFyZW5kZXJlcikKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgQ29tcG9zaXRlQW5pbWF0aW9uJiBjb21wb3NpdGVBbmltYXRp
b24gPSBlbnN1cmVDb21wb3NpdGVBbmltYXRpb24ocmVuZGVyZXIpOworICAgIENvbXBvc2l0ZUFu
aW1hdGlvbiYgY29tcG9zaXRlQW5pbWF0aW9uID0gZW5zdXJlQ29tcG9zaXRlQW5pbWF0aW9uKCpy
ZW5kZXJlcik7CiAgICAgaWYgKGNvbXBvc2l0ZUFuaW1hdGlvbi5wYXVzZVRyYW5zaXRpb25BdFRp
bWUoY3NzUHJvcGVydHlJRChwcm9wZXJ0eSksIHQpKSB7CiAgICAgICAgIHJlbmRlcmVyLT5lbGVt
ZW50KCktPnNldE5lZWRzU3R5bGVSZWNhbGMoU3ludGhldGljU3R5bGVDaGFuZ2UpOwogICAgICAg
ICBzdGFydFVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCk7CkBAIC0zNjgsMTggKzM2OSwx
NCBAQCB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpyZWNlaXZlZFN0YXJ0VGltZVJl
c3BvbnNlKGRvdWJsZSB0aW1lKQogICAgIHN0YXJ0VGltZVJlc3BvbnNlKHRpbWUpOwogfQogCi1Q
YXNzUmVmUHRyPFJlbmRlclN0eWxlPiBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6Z2V0QW5p
bWF0ZWRTdHlsZUZvclJlbmRlcmVyKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyKQorUGFzc1JlZlB0
cjxSZW5kZXJTdHlsZT4gQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmdldEFuaW1hdGVkU3R5
bGVGb3JSZW5kZXJlcihSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKIHsKLSAgICBpZiAoIXJlbmRl
cmVyKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIGNvbnN0IENvbXBvc2l0ZUFuaW1hdGlvbiog
cmVuZGVyZXJBbmltYXRpb25zID0gbV9jb21wb3NpdGVBbmltYXRpb25zLmdldChyZW5kZXJlcik7
Ci0gICAgaWYgKCFyZW5kZXJlckFuaW1hdGlvbnMpCi0gICAgICAgIHJldHVybiAmcmVuZGVyZXIt
PnN0eWxlKCk7Ci0gICAgCi0gICAgUmVmUHRyPFJlbmRlclN0eWxlPiBhbmltYXRpbmdTdHlsZSA9
IHJlbmRlcmVyQW5pbWF0aW9ucy0+Z2V0QW5pbWF0ZWRTdHlsZSgpOworICAgIEFTU0VSVChyZW5k
ZXJlci5pc0NTU0FuaW1hdGluZygpKTsKKyAgICBBU1NFUlQobV9jb21wb3NpdGVBbmltYXRpb25z
LmNvbnRhaW5zKCZyZW5kZXJlcikpOworICAgIGNvbnN0IENvbXBvc2l0ZUFuaW1hdGlvbiYgcmVu
ZGVyZXJBbmltYXRpb25zID0gKm1fY29tcG9zaXRlQW5pbWF0aW9ucy5nZXQoJnJlbmRlcmVyKTsK
KyAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IGFuaW1hdGluZ1N0eWxlID0gcmVuZGVyZXJBbmltYXRp
b25zLmdldEFuaW1hdGVkU3R5bGUoKTsKICAgICBpZiAoIWFuaW1hdGluZ1N0eWxlKQotICAgICAg
ICBhbmltYXRpbmdTdHlsZSA9ICZyZW5kZXJlci0+c3R5bGUoKTsKKyAgICAgICAgYW5pbWF0aW5n
U3R5bGUgPSAmcmVuZGVyZXIuc3R5bGUoKTsKICAgICAKICAgICByZXR1cm4gYW5pbWF0aW5nU3R5
bGUucmVsZWFzZSgpOwogfQpAQCAtNDc5LDE3ICs0NzYsMTggQEAgQW5pbWF0aW9uQ29udHJvbGxl
cjo6fkFuaW1hdGlvbkNvbnRyb2xsZXIoKQogewogfQogCi12b2lkIEFuaW1hdGlvbkNvbnRyb2xs
ZXI6OmNhbmNlbEFuaW1hdGlvbnMoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIpCit2b2lkIEFuaW1h
dGlvbkNvbnRyb2xsZXI6OmNhbmNlbEFuaW1hdGlvbnMoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIp
CiB7Ci0gICAgaWYgKCFtX2RhdGEtPmhhc0FuaW1hdGlvbnMoKSkKKyAgICBpZiAoIXJlbmRlcmVy
LmlzQ1NTQW5pbWF0aW5nKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChtX2RhdGEtPmNs
ZWFyKHJlbmRlcmVyKSkgewotICAgICAgICBFbGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXItPmVs
ZW1lbnQoKTsKLSAgICAgICAgQVNTRVJUKCFlbGVtZW50IHx8ICFlbGVtZW50LT5kb2N1bWVudCgp
LmluUGFnZUNhY2hlKCkpOwotICAgICAgICBpZiAoZWxlbWVudCkKLSAgICAgICAgICAgIGVsZW1l
bnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoU3ludGhldGljU3R5bGVDaGFuZ2UpOwotICAgIH0KKyAg
ICBpZiAoIW1fZGF0YS0+Y2xlYXIocmVuZGVyZXIpKQorICAgICAgICByZXR1cm47CisKKyAgICBF
bGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIuZWxlbWVudCgpOworICAgIEFTU0VSVCghZWxlbWVu
dCB8fCAhZWxlbWVudC0+ZG9jdW1lbnQoKS5pblBhZ2VDYWNoZSgpKTsKKyAgICBpZiAoZWxlbWVu
dCkKKyAgICAgICAgZWxlbWVudC0+c2V0TmVlZHNTdHlsZVJlY2FsYyhTeW50aGV0aWNTdHlsZUNo
YW5nZSk7CiB9CiAKIFBhc3NSZWY8UmVuZGVyU3R5bGU+IEFuaW1hdGlvbkNvbnRyb2xsZXI6OnVw
ZGF0ZUFuaW1hdGlvbnMoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIFBhc3NSZWY8UmVuZGVyU3R5
bGU+IG5ld1N0eWxlKQpAQCAtNTE3LDExICs1MTUsMTEgQEAgUGFzc1JlZjxSZW5kZXJTdHlsZT4g
QW5pbWF0aW9uQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9ucyhSZW5kZXJFbGVtZW50JiByZW5k
ZXIKIAogICAgIFJlZjxSZW5kZXJTdHlsZT4gbmV3U3R5bGVCZWZvcmVBbmltYXRpb24oV1RGOjpt
b3ZlKG5ld1N0eWxlKSk7CiAKLSAgICBDb21wb3NpdGVBbmltYXRpb24mIHJlbmRlcmVyQW5pbWF0
aW9ucyA9IG1fZGF0YS0+ZW5zdXJlQ29tcG9zaXRlQW5pbWF0aW9uKCZyZW5kZXJlcik7CisgICAg
Q29tcG9zaXRlQW5pbWF0aW9uJiByZW5kZXJlckFuaW1hdGlvbnMgPSBtX2RhdGEtPmVuc3VyZUNv
bXBvc2l0ZUFuaW1hdGlvbihyZW5kZXJlcik7CiAgICAgYXV0byBibGVuZGVkU3R5bGUgPSByZW5k
ZXJlckFuaW1hdGlvbnMuYW5pbWF0ZShyZW5kZXJlciwgb2xkU3R5bGUsIG5ld1N0eWxlQmVmb3Jl
QW5pbWF0aW9uLmdldCgpKTsKIAogICAgIGlmIChyZW5kZXJlci5wYXJlbnQoKSB8fCBuZXdTdHls
ZUJlZm9yZUFuaW1hdGlvbi0+YW5pbWF0aW9ucygpIHx8IChvbGRTdHlsZSAmJiBvbGRTdHlsZS0+
YW5pbWF0aW9ucygpKSkgewotICAgICAgICBtX2RhdGEtPnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9y
UmVuZGVyZXIoJnJlbmRlcmVyKTsKKyAgICAgICAgbV9kYXRhLT51cGRhdGVBbmltYXRpb25UaW1l
ckZvclJlbmRlcmVyKHJlbmRlcmVyKTsKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJB
TUUpCiAgICAgICAgIHJlbmRlcmVyLnZpZXcoKS5mcmFtZVZpZXcoKS5zY2hlZHVsZUFuaW1hdGlv
bigpOwogI2VuZGlmCkBAIC01MzcsMTIgKzUzNSwxNCBAQCBQYXNzUmVmPFJlbmRlclN0eWxlPiBB
bmltYXRpb25Db250cm9sbGVyOjp1cGRhdGVBbmltYXRpb25zKFJlbmRlckVsZW1lbnQmIHJlbmRl
cgogICAgIHJldHVybiBibGVuZGVkU3R5bGU7CiB9CiAKLVBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+
IEFuaW1hdGlvbkNvbnRyb2xsZXI6OmdldEFuaW1hdGVkU3R5bGVGb3JSZW5kZXJlcihSZW5kZXJF
bGVtZW50KiByZW5kZXJlcikKK1Bhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IEFuaW1hdGlvbkNvbnRy
b2xsZXI6OmdldEFuaW1hdGVkU3R5bGVGb3JSZW5kZXJlcihSZW5kZXJFbGVtZW50JiByZW5kZXJl
cikKIHsKKyAgICBpZiAoIXJlbmRlcmVyLmlzQ1NTQW5pbWF0aW5nKCkpCisgICAgICAgIHJldHVy
biAmcmVuZGVyZXIuc3R5bGUoKTsKICAgICByZXR1cm4gbV9kYXRhLT5nZXRBbmltYXRlZFN0eWxl
Rm9yUmVuZGVyZXIocmVuZGVyZXIpOwogfQogCi12b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXI6Om5v
dGlmeUFuaW1hdGlvblN0YXJ0ZWQoUmVuZGVyRWxlbWVudCosIGRvdWJsZSBzdGFydFRpbWUpCit2
b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXI6Om5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQoUmVuZGVyRWxl
bWVudCYsIGRvdWJsZSBzdGFydFRpbWUpCiB7CiAgICAgbV9kYXRhLT5yZWNlaXZlZFN0YXJ0VGlt
ZVJlc3BvbnNlKHN0YXJ0VGltZSk7CiB9CkBAIC01NjIsMTQgKzU2MiwxNCBAQCBib29sIEFuaW1h
dGlvbkNvbnRyb2xsZXI6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJFbGVtZW50KiByZW5k
ZXJlciwgY29uc3QgUwogICAgIHJldHVybiBtX2RhdGEtPnBhdXNlVHJhbnNpdGlvbkF0VGltZShy
ZW5kZXJlciwgcHJvcGVydHksIHQpOwogfQogCi1ib29sIEFuaW1hdGlvbkNvbnRyb2xsZXI6Omlz
UnVubmluZ0FuaW1hdGlvbk9uUmVuZGVyZXIoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIENTU1By
b3BlcnR5SUQgcHJvcGVydHksIEFuaW1hdGlvbkJhc2U6OlJ1bm5pbmdTdGF0ZSBydW5uaW5nU3Rh
dGUpIGNvbnN0Citib29sIEFuaW1hdGlvbkNvbnRyb2xsZXI6OmlzUnVubmluZ0FuaW1hdGlvbk9u
UmVuZGVyZXIoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIENTU1Byb3BlcnR5SUQgcHJvcGVydHks
IEFuaW1hdGlvbkJhc2U6OlJ1bm5pbmdTdGF0ZSBydW5uaW5nU3RhdGUpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIHJlbmRlcmVyLT5pc0NTU0FuaW1hdGluZygpICYmIG1fZGF0YS0+aXNSdW5uaW5nQW5p
bWF0aW9uT25SZW5kZXJlcihyZW5kZXJlciwgcHJvcGVydHksIHJ1bm5pbmdTdGF0ZSk7CisgICAg
cmV0dXJuIHJlbmRlcmVyLmlzQ1NTQW5pbWF0aW5nKCkgJiYgbV9kYXRhLT5pc1J1bm5pbmdBbmlt
YXRpb25PblJlbmRlcmVyKHJlbmRlcmVyLCBwcm9wZXJ0eSwgcnVubmluZ1N0YXRlKTsKIH0KIAot
Ym9vbCBBbmltYXRpb25Db250cm9sbGVyOjppc1J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbk9u
UmVuZGVyZXIoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIENTU1Byb3BlcnR5SUQgcHJvcGVydHks
IEFuaW1hdGlvbkJhc2U6OlJ1bm5pbmdTdGF0ZSBydW5uaW5nU3RhdGUpIGNvbnN0Citib29sIEFu
aW1hdGlvbkNvbnRyb2xsZXI6OmlzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9uT25SZW5kZXJl
cihSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eSwgQW5pbWF0
aW9uQmFzZTo6UnVubmluZ1N0YXRlIHJ1bm5pbmdTdGF0ZSkgY29uc3QKIHsKLSAgICByZXR1cm4g
cmVuZGVyZXItPmlzQ1NTQW5pbWF0aW5nKCkgJiYgbV9kYXRhLT5pc1J1bm5pbmdBY2NlbGVyYXRl
ZEFuaW1hdGlvbk9uUmVuZGVyZXIocmVuZGVyZXIsIHByb3BlcnR5LCBydW5uaW5nU3RhdGUpOwor
ICAgIHJldHVybiByZW5kZXJlci5pc0NTU0FuaW1hdGluZygpICYmIG1fZGF0YS0+aXNSdW5uaW5n
QWNjZWxlcmF0ZWRBbmltYXRpb25PblJlbmRlcmVyKHJlbmRlcmVyLCBwcm9wZXJ0eSwgcnVubmlu
Z1N0YXRlKTsKIH0KIAogYm9vbCBBbmltYXRpb25Db250cm9sbGVyOjppc1N1c3BlbmRlZCgpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25D
b250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250
cm9sbGVyLmgKaW5kZXggNmFlMTU3ZGYzN2QzNTM3NWE1NTU0ZmMzNjkxMGU5ZDk4MDk3MWNiMi4u
NDVhYmQyNThlYzUxOTlkYjYzMmFjYmI0ZmIyZTUzYzY4NzdlYjU0YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuaApAQCAtNDcs
MTkgKzQ3LDE5IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBBbmltYXRpb25Db250cm9sbGVyKEZy
YW1lJik7CiAgICAgfkFuaW1hdGlvbkNvbnRyb2xsZXIoKTsKIAotICAgIHZvaWQgY2FuY2VsQW5p
bWF0aW9ucyhSZW5kZXJFbGVtZW50Kik7CisgICAgdm9pZCBjYW5jZWxBbmltYXRpb25zKFJlbmRl
ckVsZW1lbnQmKTsKICAgICBQYXNzUmVmPFJlbmRlclN0eWxlPiB1cGRhdGVBbmltYXRpb25zKFJl
bmRlckVsZW1lbnQmLCBQYXNzUmVmPFJlbmRlclN0eWxlPiBuZXdTdHlsZSk7Ci0gICAgUGFzc1Jl
ZlB0cjxSZW5kZXJTdHlsZT4gZ2V0QW5pbWF0ZWRTdHlsZUZvclJlbmRlcmVyKFJlbmRlckVsZW1l
bnQqKTsKKyAgICBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBnZXRBbmltYXRlZFN0eWxlRm9yUmVu
ZGVyZXIoUmVuZGVyRWxlbWVudCYpOwogCiAgICAgLy8gVGhpcyBpcyBjYWxsZWQgd2hlbiBhbiBh
Y2NlbGVyYXRlZCBhbmltYXRpb24gb3IgdHJhbnNpdGlvbiBoYXMgYWN0dWFsbHkgc3RhcnRlZCB0
byBhbmltYXRlLgotICAgIHZvaWQgbm90aWZ5QW5pbWF0aW9uU3RhcnRlZChSZW5kZXJFbGVtZW50
KiwgZG91YmxlIHN0YXJ0VGltZSk7CisgICAgdm9pZCBub3RpZnlBbmltYXRpb25TdGFydGVkKFJl
bmRlckVsZW1lbnQmLCBkb3VibGUgc3RhcnRUaW1lKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIGJv
b2wgcGF1c2VBbmltYXRpb25BdFRpbWUoUmVuZGVyRWxlbWVudCosIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmFtZSwgZG91YmxlIHQpOyAvLyBUbyBiZSB1c2VkIG9ubHkgZm9yIHRlc3RpbmcKICAgICBX
RUJDT1JFX0VYUE9SVCBib29sIHBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJFbGVtZW50Kiwg
Y29uc3QgU3RyaW5nJiBwcm9wZXJ0eSwgZG91YmxlIHQpOyAvLyBUbyBiZSB1c2VkIG9ubHkgZm9y
IHRlc3RpbmcKICAgICBXRUJDT1JFX0VYUE9SVCB1bnNpZ25lZCBudW1iZXJPZkFjdGl2ZUFuaW1h
dGlvbnMoRG9jdW1lbnQqKSBjb25zdDsgLy8gVG8gYmUgdXNlZCBvbmx5IGZvciB0ZXN0aW5nCiAg
ICAgCi0gICAgYm9vbCBpc1J1bm5pbmdBbmltYXRpb25PblJlbmRlcmVyKFJlbmRlckVsZW1lbnQq
LCBDU1NQcm9wZXJ0eUlELCBBbmltYXRpb25CYXNlOjpSdW5uaW5nU3RhdGUpIGNvbnN0OwotICAg
IGJvb2wgaXNSdW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRpb25PblJlbmRlcmVyKFJlbmRlckVsZW1l
bnQqLCBDU1NQcm9wZXJ0eUlELCBBbmltYXRpb25CYXNlOjpSdW5uaW5nU3RhdGUpIGNvbnN0Owor
ICAgIGJvb2wgaXNSdW5uaW5nQW5pbWF0aW9uT25SZW5kZXJlcihSZW5kZXJFbGVtZW50JiwgQ1NT
UHJvcGVydHlJRCwgQW5pbWF0aW9uQmFzZTo6UnVubmluZ1N0YXRlKSBjb25zdDsKKyAgICBib29s
IGlzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9uT25SZW5kZXJlcihSZW5kZXJFbGVtZW50Jiwg
Q1NTUHJvcGVydHlJRCwgQW5pbWF0aW9uQmFzZTo6UnVubmluZ1N0YXRlKSBjb25zdDsKIAogICAg
IFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNTdXNwZW5kZWQoKSBjb25zdDsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHN1c3BlbmRBbmltYXRpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAppbmRleCBi
ODU4Y2U4NWRiNmNlZDAzMDQ2NjMwMDhlZGNlOGMyMjg5ZDJkOTUxLi5mNjBmNjlhOGVjYjI2MDFk
MmJmOTU3ZmJiYjY4ZjBiMDQyYWM3YjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTY1LDgg
KzY1LDggQEAgcHVibGljOgogICAgIGRvdWJsZSB1cGRhdGVBbmltYXRpb25zKFNldENoYW5nZWQg
Y2FsbFNldENoYW5nZWQgPSBEb05vdENhbGxTZXRDaGFuZ2VkKTsKICAgICB2b2lkIHVwZGF0ZUFu
aW1hdGlvblRpbWVyKFNldENoYW5nZWQgY2FsbFNldENoYW5nZWQgPSBEb05vdENhbGxTZXRDaGFu
Z2VkKTsKIAotICAgIENvbXBvc2l0ZUFuaW1hdGlvbiYgZW5zdXJlQ29tcG9zaXRlQW5pbWF0aW9u
KFJlbmRlckVsZW1lbnQqKTsKLSAgICBib29sIGNsZWFyKFJlbmRlckVsZW1lbnQqKTsKKyAgICBD
b21wb3NpdGVBbmltYXRpb24mIGVuc3VyZUNvbXBvc2l0ZUFuaW1hdGlvbihSZW5kZXJFbGVtZW50
Jik7CisgICAgYm9vbCBjbGVhcihSZW5kZXJFbGVtZW50Jik7CiAKICAgICB2b2lkIHVwZGF0ZVN0
eWxlSWZOZWVkZWREaXNwYXRjaGVyRmlyZWQoVGltZXI8QW5pbWF0aW9uQ29udHJvbGxlclByaXZh
dGU+Jik7CiAgICAgdm9pZCBzdGFydFVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCk7CkBA
IC04NiwxNCArODYsMTQgQEAgcHVibGljOgogICAgIHZvaWQgcmVzdW1lQW5pbWF0aW9uc0ZvckRv
Y3VtZW50KERvY3VtZW50Kik7CiAgICAgdm9pZCBzdGFydEFuaW1hdGlvbnNJZk5vdFN1c3BlbmRl
ZChEb2N1bWVudCopOwogCi0gICAgYm9vbCBpc1J1bm5pbmdBbmltYXRpb25PblJlbmRlcmVyKFJl
bmRlckVsZW1lbnQqLCBDU1NQcm9wZXJ0eUlELCBBbmltYXRpb25CYXNlOjpSdW5uaW5nU3RhdGUp
IGNvbnN0OwotICAgIGJvb2wgaXNSdW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRpb25PblJlbmRlcmVy
KFJlbmRlckVsZW1lbnQqLCBDU1NQcm9wZXJ0eUlELCBBbmltYXRpb25CYXNlOjpSdW5uaW5nU3Rh
dGUpIGNvbnN0OworICAgIGJvb2wgaXNSdW5uaW5nQW5pbWF0aW9uT25SZW5kZXJlcihSZW5kZXJF
bGVtZW50JiwgQ1NTUHJvcGVydHlJRCwgQW5pbWF0aW9uQmFzZTo6UnVubmluZ1N0YXRlKSBjb25z
dDsKKyAgICBib29sIGlzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9uT25SZW5kZXJlcihSZW5k
ZXJFbGVtZW50JiwgQ1NTUHJvcGVydHlJRCwgQW5pbWF0aW9uQmFzZTo6UnVubmluZ1N0YXRlKSBj
b25zdDsKIAogICAgIGJvb2wgcGF1c2VBbmltYXRpb25BdFRpbWUoUmVuZGVyRWxlbWVudCosIGNv
bnN0IEF0b21pY1N0cmluZyYgbmFtZSwgZG91YmxlIHQpOwogICAgIGJvb2wgcGF1c2VUcmFuc2l0
aW9uQXRUaW1lKFJlbmRlckVsZW1lbnQqLCBjb25zdCBTdHJpbmcmIHByb3BlcnR5LCBkb3VibGUg
dCk7CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZBY3RpdmVBbmltYXRpb25zKERvY3VtZW50KikgY29u
c3Q7CiAKLSAgICBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBnZXRBbmltYXRlZFN0eWxlRm9yUmVu
ZGVyZXIoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIpOworICAgIFBhc3NSZWZQdHI8UmVuZGVyU3R5
bGU+IGdldEFuaW1hdGVkU3R5bGVGb3JSZW5kZXJlcihSZW5kZXJFbGVtZW50Jik7CiAKICAgICBk
b3VibGUgYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCk7CiAgICAgdm9pZCBzZXRCZWdpbkFuaW1h
dGlvblVwZGF0ZVRpbWUoZG91YmxlIHQpIHsgbV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPSB0
OyB9CkBAIC0xMDgsNyArMTA4LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBhbmltYXRpb25XaWxs
QmVSZW1vdmVkKEFuaW1hdGlvbkJhc2UqKTsKIAotICAgIHZvaWQgdXBkYXRlQW5pbWF0aW9uVGlt
ZXJGb3JSZW5kZXJlcihSZW5kZXJFbGVtZW50Kik7CisgICAgdm9pZCB1cGRhdGVBbmltYXRpb25U
aW1lckZvclJlbmRlcmVyKFJlbmRlckVsZW1lbnQmKTsKIAogICAgIGJvb2wgYWxsb3dzTmV3QW5p
bWF0aW9uc1doaWxlU3VzcGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd3NOZXdBbmltYXRp
b25zV2hpbGVTdXNwZW5kZWQ7IH0KICAgICB2b2lkIHNldEFsbG93c05ld0FuaW1hdGlvbnNXaGls
ZVN1c3BlbmRlZChib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmNwcAppbmRleCBlNmFhM2NhZjAwYjU3N2NjZjE5YmUzMTBiMTQ2ZjBjMWNiYWNjNzgzLi42MWI5
ZDUwMTg2NWJkYWQwZjNhZjU1MzFjMmM4Njg0YzI3Y2UzYTU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC0xMDA2LDcgKzEwMDYsNyBAQCB2b2lkIFJl
bmRlckVsZW1lbnQ6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpCiAKIHZvaWQgUmVuZGVyRWxlbWVu
dDo6d2lsbEJlRGVzdHJveWVkKCkKIHsKLSAgICBhbmltYXRpb24oKS5jYW5jZWxBbmltYXRpb25z
KHRoaXMpOworICAgIGFuaW1hdGlvbigpLmNhbmNlbEFuaW1hdGlvbnMoKnRoaXMpOwogCiAgICAg
ZGVzdHJveUxlZnRvdmVyQ2hpbGRyZW4oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKaW5kZXggNjFhMzFhNjJlNWY0NGU1ODA2MjBiMGMwMDgyMjNlY2E1MzExOGU5
OC4uNjNiOWUyMmJjNDY2YjM0MjU1NzI1YjFlZmRiZDgzOGZmNTViMDExZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC04NjgsNyArODY4LDcgQEAgVHJhbnNm
b3JtYXRpb25NYXRyaXggUmVuZGVyTGF5ZXI6OmN1cnJlbnRUcmFuc2Zvcm0oUmVuZGVyU3R5bGU6
OkFwcGx5VHJhbnNmb3JtT3IKICAgICBGbG9hdFJlY3QgcGl4ZWxTbmFwcGVkQm9yZGVyUmVjdCA9
IHNuYXBSZWN0VG9EZXZpY2VQaXhlbHMoYm94LT5ib3JkZXJCb3hSZWN0KCksIGJveC0+ZG9jdW1l
bnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpKTsKICAgICBpZiAocmVuZGVyZXIoKS5zdHlsZSgpLmlz
UnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9uKCkpIHsKICAgICAgICAgVHJhbnNmb3JtYXRpb25N
YXRyaXggY3VyclRyYW5zZm9ybTsKLSAgICAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBzdHlsZSA9
IHJlbmRlcmVyKCkuYW5pbWF0aW9uKCkuZ2V0QW5pbWF0ZWRTdHlsZUZvclJlbmRlcmVyKCZyZW5k
ZXJlcigpKTsKKyAgICAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBzdHlsZSA9IHJlbmRlcmVyKCku
YW5pbWF0aW9uKCkuZ2V0QW5pbWF0ZWRTdHlsZUZvclJlbmRlcmVyKHJlbmRlcmVyKCkpOwogICAg
ICAgICBzdHlsZS0+YXBwbHlUcmFuc2Zvcm0oY3VyclRyYW5zZm9ybSwgcGl4ZWxTbmFwcGVkQm9y
ZGVyUmVjdCwgYXBwbHlPcmlnaW4pOwogICAgICAgICBtYWtlTWF0cml4UmVuZGVyYWJsZShjdXJy
VHJhbnNmb3JtLCBjYW5SZW5kZXIzRFRyYW5zZm9ybXMoKSk7CiAgICAgICAgIHJldHVybiBjdXJy
VHJhbnNmb3JtOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcAppbmRleCA2NWEwN2RiYjRjZDllYWNkMmFkNjNjZTNiM2I3MmI3Yjc4MTA2ZDljLi45
YTk1NTNkMWUxNTNhNTZiNzhhZGJlYTU2ZTg0Y2JkMDgxOGU5ZmVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtNjQyLDExICs2NDIs
MTEgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdlb21ldHJ5KCkKIAogICAgIC8v
IFNldCB0cmFuc2Zvcm0gcHJvcGVydHksIGlmIGl0IGlzIG5vdCBhbmltYXRpbmcuIFdlIGhhdmUg
dG8gZG8gdGhpcyBoZXJlIGJlY2F1c2UgdGhlIHRyYW5zZm9ybQogICAgIC8vIGlzIGFmZmVjdGVk
IGJ5IHRoZSBsYXllciBkaW1lbnNpb25zLgotICAgIGlmICghcmVuZGVyZXIoKS5hbmltYXRpb24o
KS5pc1J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbk9uUmVuZGVyZXIoJnJlbmRlcmVyKCksIENT
U1Byb3BlcnR5V2Via2l0VHJhbnNmb3JtLCBBbmltYXRpb25CYXNlOjpSdW5uaW5nIHwgQW5pbWF0
aW9uQmFzZTo6UGF1c2VkIHwgQW5pbWF0aW9uQmFzZTo6RmlsbGluZ0Zvd2FyZHMpKQorICAgIGlm
ICghcmVuZGVyZXIoKS5hbmltYXRpb24oKS5pc1J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbk9u
UmVuZGVyZXIocmVuZGVyZXIoKSwgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0sIEFuaW1hdGlv
bkJhc2U6OlJ1bm5pbmcgfCBBbmltYXRpb25CYXNlOjpQYXVzZWQgfCBBbmltYXRpb25CYXNlOjpG
aWxsaW5nRm93YXJkcykpCiAgICAgICAgIHVwZGF0ZVRyYW5zZm9ybShzdHlsZSk7CiAKICAgICAv
LyBTZXQgb3BhY2l0eSwgaWYgaXQgaXMgbm90IGFuaW1hdGluZy4KLSAgICBpZiAoIXJlbmRlcmVy
KCkuYW5pbWF0aW9uKCkuaXNSdW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRpb25PblJlbmRlcmVyKCZy
ZW5kZXJlcigpLCBDU1NQcm9wZXJ0eU9wYWNpdHksIEFuaW1hdGlvbkJhc2U6OlJ1bm5pbmcgfCBB
bmltYXRpb25CYXNlOjpQYXVzZWQgfCBBbmltYXRpb25CYXNlOjpGaWxsaW5nRm93YXJkcykpCisg
ICAgaWYgKCFyZW5kZXJlcigpLmFuaW1hdGlvbigpLmlzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0
aW9uT25SZW5kZXJlcihyZW5kZXJlcigpLCBDU1NQcm9wZXJ0eU9wYWNpdHksIEFuaW1hdGlvbkJh
c2U6OlJ1bm5pbmcgfCBBbmltYXRpb25CYXNlOjpQYXVzZWQgfCBBbmltYXRpb25CYXNlOjpGaWxs
aW5nRm93YXJkcykpCiAgICAgICAgIHVwZGF0ZU9wYWNpdHkoc3R5bGUpOwogCiAgICAgdXBkYXRl
RmlsdGVycyhzdHlsZSk7CkBAIC0yNDQ3LDcgKzI0NDcsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFj
a2luZzo6dHJhbnNpdGlvbkZpbmlzaGVkKENTU1Byb3BlcnR5SUQgcHJvcGVydHkpCiAKIHZvaWQg
UmVuZGVyTGF5ZXJCYWNraW5nOjpub3RpZnlBbmltYXRpb25TdGFydGVkKGNvbnN0IEdyYXBoaWNz
TGF5ZXIqLCBjb25zdCBTdHJpbmcmLCBkb3VibGUgdGltZSkKIHsKLSAgICByZW5kZXJlcigpLmFu
aW1hdGlvbigpLm5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQoJnJlbmRlcmVyKCksIHRpbWUpOworICAg
IHJlbmRlcmVyKCkuYW5pbWF0aW9uKCkubm90aWZ5QW5pbWF0aW9uU3RhcnRlZChyZW5kZXJlcigp
LCB0aW1lKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6Om5vdGlmeUZsdXNoUmVxdWly
ZWQoY29uc3QgR3JhcGhpY3NMYXllciogbGF5ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDk0OGE5MDE4NTg5ZjI1OTFi
MzAzNWRhMzU4ZjFkM2NiY2JlMjVlOTYuLmYxNzc1ODBjZWEyNjE5N2E5NTJiYjhkZDdiNGFhMTZk
ZmRiYjdhYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckNvbXBvc2l0b3IuY3BwCkBAIC0yNTMxLDEwICsyNTMxLDEwIEBAIGJvb2wgUmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yQW5pbWF0aW9uKFJlbmRlckxheWVyTW9k
ZWxPYmplCiAKICAgICBjb25zdCBBbmltYXRpb25CYXNlOjpSdW5uaW5nU3RhdGUgYWN0aXZlQW5p
bWF0aW9uU3RhdGUgPSBBbmltYXRpb25CYXNlOjpSdW5uaW5nIHwgQW5pbWF0aW9uQmFzZTo6UGF1
c2VkIHwgQW5pbWF0aW9uQmFzZTo6RmlsbGluZ0Zvd2FyZHM7CiAgICAgQW5pbWF0aW9uQ29udHJv
bGxlciYgYW5pbUNvbnRyb2xsZXIgPSByZW5kZXJlci5hbmltYXRpb24oKTsKLSAgICByZXR1cm4g
KGFuaW1Db250cm9sbGVyLmlzUnVubmluZ0FuaW1hdGlvbk9uUmVuZGVyZXIoJnJlbmRlcmVyLCBD
U1NQcm9wZXJ0eU9wYWNpdHksIGFjdGl2ZUFuaW1hdGlvblN0YXRlKQorICAgIHJldHVybiAoYW5p
bUNvbnRyb2xsZXIuaXNSdW5uaW5nQW5pbWF0aW9uT25SZW5kZXJlcihyZW5kZXJlciwgQ1NTUHJv
cGVydHlPcGFjaXR5LCBhY3RpdmVBbmltYXRpb25TdGF0ZSkKICAgICAgICAgICAgICYmIChpbkNv
bXBvc2l0aW5nTW9kZSgpIHx8IChtX2NvbXBvc2l0aW5nVHJpZ2dlcnMgJiBDaHJvbWVDbGllbnQ6
OkFuaW1hdGVkT3BhY2l0eVRyaWdnZXIpKSkKLSAgICAgICAgICAgIHx8IGFuaW1Db250cm9sbGVy
LmlzUnVubmluZ0FuaW1hdGlvbk9uUmVuZGVyZXIoJnJlbmRlcmVyLCBDU1NQcm9wZXJ0eVdlYmtp
dEZpbHRlciwgYWN0aXZlQW5pbWF0aW9uU3RhdGUpCi0gICAgICAgICAgICB8fCBhbmltQ29udHJv
bGxlci5pc1J1bm5pbmdBbmltYXRpb25PblJlbmRlcmVyKCZyZW5kZXJlciwgQ1NTUHJvcGVydHlX
ZWJraXRUcmFuc2Zvcm0sIGFjdGl2ZUFuaW1hdGlvblN0YXRlKTsKKyAgICAgICAgICAgIHx8IGFu
aW1Db250cm9sbGVyLmlzUnVubmluZ0FuaW1hdGlvbk9uUmVuZGVyZXIocmVuZGVyZXIsIENTU1By
b3BlcnR5V2Via2l0RmlsdGVyLCBhY3RpdmVBbmltYXRpb25TdGF0ZSkKKyAgICAgICAgICAgIHx8
IGFuaW1Db250cm9sbGVyLmlzUnVubmluZ0FuaW1hdGlvbk9uUmVuZGVyZXIocmVuZGVyZXIsIENT
U1Byb3BlcnR5V2Via2l0VHJhbnNmb3JtLCBhY3RpdmVBbmltYXRpb25TdGF0ZSk7CiB9CiAKIGJv
b2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9ySW5kaXJlY3RS
ZWFzb24oUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCYgcmVuZGVyZXIsIGJvb2wgaGFzQ29tcG9zaXRl
ZERlc2NlbmRhbnRzLCBib29sIGhhczNEVHJhbnNmb3JtZWREZXNjZW5kYW50cywgUmVuZGVyTGF5
ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24mIHJlYXNvbikgY29uc3QKQEAgLTI3MjcsNyAr
MjcyNyw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjppc1J1bm5pbmdBY2NlbGVyYXRl
ZFRyYW5zZm9ybUFuaW1hdGlvbihSZW5kZXJMYXllck1vCiAgICAgaWYgKCEobV9jb21wb3NpdGlu
Z1RyaWdnZXJzICYgQ2hyb21lQ2xpZW50OjpBbmltYXRpb25UcmlnZ2VyKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIHJlbmRlcmVyLmFuaW1hdGlvbigpLmlzUnVubmluZ0Fj
Y2VsZXJhdGVkQW5pbWF0aW9uT25SZW5kZXJlcigmcmVuZGVyZXIsIENTU1Byb3BlcnR5V2Via2l0
VHJhbnNmb3JtLCBBbmltYXRpb25CYXNlOjpSdW5uaW5nIHwgQW5pbWF0aW9uQmFzZTo6UGF1c2Vk
KTsKKyAgICByZXR1cm4gcmVuZGVyZXIuYW5pbWF0aW9uKCkuaXNSdW5uaW5nQWNjZWxlcmF0ZWRB
bmltYXRpb25PblJlbmRlcmVyKHJlbmRlcmVyLCBDU1NQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSwg
QW5pbWF0aW9uQmFzZTo6UnVubmluZyB8IEFuaW1hdGlvbkJhc2U6OlBhdXNlZCk7CiB9CiAKIC8v
IElmIGFuIGVsZW1lbnQgaGFzIG5lZ2F0aXZlIHotaW5kZXggY2hpbGRyZW4sIHRob3NlIGNoaWxk
cmVuIHJlbmRlciBpbiBmcm9udCBvZiB0aGUgCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>