<?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>193450</bug_id>
          
          <creation_ts>2019-01-15 08:38:53 -0800</creation_ts>
          <short_desc>Animations should only trigger layer recomposite when necessary</short_desc>
          <delta_ts>2019-01-15 17:58:57 -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>Animations</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=193343</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1494642</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-01-15 08:38:53 -0800</bug_when>
    <thetext>Animations should only trigger layer recomposite when necessary</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494645</commentid>
    <comment_count>1</comment_count>
      <attachid>359162</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-01-15 08:43:50 -0800</bug_when>
    <thetext>Created attachment 359162
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494840</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-01-15 15:07:25 -0800</bug_when>
    <thetext>https://trac.webkit.org/r240012</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494843</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-15 15:09:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/47298364&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359162</attachid>
            <date>2019-01-15 08:43:50 -0800</date>
            <delta_ts>2019-01-15 11:33:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193450-20190115084349.patch</filename>
            <type>text/plain</type>
            <size>18770</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5OTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzE3MTQ2OTUwNDE5ZGVm
ZDlkMjM4OTUwNTIxMTNiYTJiZTFmMDMyNy4uYmVjODg2ZGJmNzJjYTYzZDUxZTdhNWU4MWZlNjg4
NGVkMzVmYmY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE5LTAxLTE1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFuaW1hdGlvbnMg
c2hvdWxkIG9ubHkgdHJpZ2dlciBsYXllciByZWNvbXBvc2l0ZSB3aGVuIG5lY2Vzc2FyeQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzNDUwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQW5pbWF0aW9ucyBv
bmx5IG5lZWQgdG8gdHJpZ2dlciBjb21wb3NpdGluZyB1cGRhdGVzIHdoZW4gdGhlaXIgc3RhdGVz
IGNoYW5nZSBpbiBhIHdheQorICAgICAgICB0aGF0IGFmZmVjdHMgY29tcG9zaXRpbmcuIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvckFuaW1hdGlvbigpIGNoZWNr
cyBmb3IKKyAgICAgICAgcnVubmluZyBhbmltYXRpb25zIG9mIHByb3BlcnRpZXMgdGhhdCBjYW4g
YmUgYWNjZWxlcmF0ZWQsIHNvIHRoaXMgcGF0Y2ggZml4ZXMgdGhlIGxlZ2FjeQorICAgICAgICBh
bmltYXRpb24gbG9naWMgdG8gb25seSBzZXQgJ3Nob3VsZFJlY29tcG9zaXRlTGF5ZXInIGluIFRy
ZWVSZXNvbHZlcjo6Y3JlYXRlQW5pbWF0ZWRFbGVtZW50VXBkYXRlKCkKKyAgICAgICAgd2hlbiB0
aGUgcnVubmluZyBzdGF0ZSBvZiBzdWNoIGFuIGFuaW1hdGlvbiBjaGFuZ2VzLgorCisgICAgICAg
IEltcGxpY2l0QW5pbWF0aW9uOjphbmltYXRlKCkgYW5kIEtleWZyYW1lQW5pbWF0aW9uOjphbmlt
YXRlKCkgbm93IHJldHVybiBPcHRpb25TZXQ8QW5pbWF0ZUNoYW5nZT4uCisgICAgICAgIFRoaXMg
Y29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgd2hldGhlciB0aGUgcnVubmluZyBzdGF0ZSBjaGFu
Z2VkLCBzbyBDb21wb3NpdGVBbmltYXRpb246OmFuaW1hdGUoKQorICAgICAgICBhc2tzIGFib3V0
IHdoZXRoZXIgdGhlIHJ1bm5pbmcgc3RhdGUgb2YgYW4gYWNjZWxlcmF0ZWQgcHJvcGVydHkgY2hh
bmdlZCwgYW5kIHJldHVybnMgdGhpcyBpbgorICAgICAgICB0aGUgQW5pbWF0aW9uVXBkYXRlIHJl
c3VsdC4KKworICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkFuaW1hdGlvbkJhc2U6OmlzUGF1c2VkU3RhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6QW5pbWF0aW9uQmFzZTo6aXNSdW5uaW5nU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
QW5pbWF0aW9uQmFzZTo6aW5QYXVzZWRTdGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpB
bmltYXRpb25CYXNlOjppblJ1bm5pbmdTdGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpB
bmltYXRpb25CYXNlOjppc0FuaW1hdGluZ1Byb3BlcnR5IGNvbnN0KToKKyAgICAgICAgKiBwYWdl
L2FuaW1hdGlvbi9DU1NBbmltYXRpb25Db250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9hbmlt
YXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0
ZUFuaW1hdGlvbjo6YW5pbWF0ZSk6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vSW1wbGljaXRB
bmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1wbGljaXRBbmltYXRpb246OmFuaW1h
dGUpOgorICAgICAgICAoV2ViQ29yZTo6SW1wbGljaXRBbmltYXRpb246OmFmZmVjdHNBY2NlbGVy
YXRlZFByb3BlcnR5IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFu
aW1hdGlvbi5oOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lQW5pbWF0aW9uOjpLZXlmcmFtZUFuaW1hdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUFuaW1hdGlvbjo6YW5pbWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpLZXlmcmFtZUFuaW1hdGlvbjo6Y29tcHV0ZVN0YWNraW5nQ29udGV4dElt
cGFjdCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRp
b24uaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZTo6VHJlZVJlc29sdmVyOjpjcmVhdGVBbmltYXRlZEVsZW1lbnRVcGRhdGUp
OgorCiAyMDE5LTAxLTE1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFNpbXBsaWZ5IGlzUnVubmluZ0FuaW1hdGlvbk9uUmVuZGVyZXIoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5oCmluZGV4IDZmZjdiZmY5
NTE4Y2Q5NjhjYzRiMjdmYWYyZTdiMjhjMDI4OWRmZGMuLmRmNWVlYjE0ZWE0YTVhOTYxZDQ2ODhj
ZDA0YjA5NjUzNGYxZmVjNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0
aW9uL0FuaW1hdGlvbkJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmgKQEAgLTQ0LDYgKzQ0LDEyIEBAIGNsYXNzIFJlbmRlckVsZW1lbnQ7CiBj
bGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNzIFRpbWluZ0Z1bmN0aW9uOwogCitlbnVtIGNsYXNzIEFu
aW1hdGVDaGFuZ2UgeworICAgIFN0eWxlQmxlbmRlZCAgICAgICAgICAgID0gMSA8PCAwLCAvLyBT
dHlsZSB3YXMgY2hhbmdlZC4KKyAgICBTdGF0ZUNoYW5nZSAgICAgICAgICAgICA9IDEgPDwgMSwg
Ly8gQW5pbWF0aW9uIHN0YXRlKCkgY2hhbmdlZC4KKyAgICBSdW5uaW5nU3RhdGVDaGFuZ2UgICAg
ICA9IDEgPDwgMiwgLy8gQW5pbWF0aW9uICJydW5uaW5nIG9yIHBhdXNlZCIgY2hhbmdlZC4KK307
CisKIGNsYXNzIEFuaW1hdGlvbkJhc2UgOiBwdWJsaWMgUmVmQ291bnRlZDxBbmltYXRpb25CYXNl
PgogICAgICwgcHVibGljIENTU1Byb3BlcnR5QmxlbmRpbmdDbGllbnQgewogICAgIGZyaWVuZCBj
bGFzcyBDb21wb3NpdGVBbmltYXRpb247CkBAIC0xMjIsNyArMTI4LDEzIEBAIHB1YmxpYzoKICAg
ICBib29sIGFjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuICFwb3N0QWN0aXZlKCkgJiYgIXByZUFjdGl2
ZSgpOyB9CiAgICAgYm9vbCBydW5uaW5nKCkgY29uc3QgeyByZXR1cm4gIWlzTmV3KCkgJiYgIXBv
c3RBY3RpdmUoKTsgfQogICAgIGJvb2wgcGF1c2VkKCkgY29uc3QgeyByZXR1cm4gbV9wYXVzZVRp
bWUgfHwgbV9hbmltYXRpb25TdGF0ZSA9PSBBbmltYXRpb25TdGF0ZTo6UGF1c2VkTmV3OyB9Ci0g
ICAgYm9vbCBpblBhdXNlZFN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9hbmltYXRpb25TdGF0ZSA+
PSBBbmltYXRpb25TdGF0ZTo6UGF1c2VkTmV3ICYmIG1fYW5pbWF0aW9uU3RhdGUgPD0gQW5pbWF0
aW9uU3RhdGU6OlBhdXNlZFJ1bjsgfQorCisgICAgc3RhdGljIGJvb2wgaXNQYXVzZWRTdGF0ZShB
bmltYXRpb25TdGF0ZSBzdGF0ZSkgeyByZXR1cm4gc3RhdGUgPj0gQW5pbWF0aW9uU3RhdGU6OlBh
dXNlZE5ldyAmJiBzdGF0ZSA8PSBBbmltYXRpb25TdGF0ZTo6UGF1c2VkUnVuOyB9CisgICAgc3Rh
dGljIGJvb2wgaXNSdW5uaW5nU3RhdGUoQW5pbWF0aW9uU3RhdGUgc3RhdGUpIHsgcmV0dXJuIHN0
YXRlID49IEFuaW1hdGlvblN0YXRlOjpTdGFydFdhaXRTdHlsZUF2YWlsYWJsZSAmJiBzdGF0ZSA8
IEFuaW1hdGlvblN0YXRlOjpEb25lOyB9CisKKyAgICBib29sIGluUGF1c2VkU3RhdGUoKSBjb25z
dCB7IHJldHVybiBpc1BhdXNlZFN0YXRlKG1fYW5pbWF0aW9uU3RhdGUpOyB9CisgICAgYm9vbCBp
blJ1bm5pbmdTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGlzUnVubmluZ1N0YXRlKG1fYW5pbWF0aW9u
U3RhdGUpOyB9CisKICAgICBib29sIGlzTmV3KCkgY29uc3QgeyByZXR1cm4gbV9hbmltYXRpb25T
dGF0ZSA9PSBBbmltYXRpb25TdGF0ZTo6TmV3IHx8IG1fYW5pbWF0aW9uU3RhdGUgPT0gQW5pbWF0
aW9uU3RhdGU6OlBhdXNlZE5ldzsgfQogICAgIGJvb2wgd2FpdGluZ0ZvclN0YXJ0VGltZSgpIGNv
bnN0IHsgcmV0dXJuIG1fYW5pbWF0aW9uU3RhdGUgPT0gQW5pbWF0aW9uU3RhdGU6OlN0YXJ0V2Fp
dFJlc3BvbnNlOyB9CiAgICAgYm9vbCB3YWl0aW5nRm9yU3R5bGVBdmFpbGFibGUoKSBjb25zdCB7
IHJldHVybiBtX2FuaW1hdGlvblN0YXRlID09IEFuaW1hdGlvblN0YXRlOjpTdGFydFdhaXRTdHls
ZUF2YWlsYWJsZTsgfQpAQCAtMTYzLDEzICsxNzUsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmICgh
YWZmZWN0c1Byb3BlcnR5KHByb3BlcnR5KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgICAgICBpZiAoaW5QYXVzZWRTdGF0ZSgpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0K
LSAgICAgICAgaWYgKG1fYW5pbWF0aW9uU3RhdGUgPj0gQW5pbWF0aW9uU3RhdGU6OlN0YXJ0V2Fp
dFN0eWxlQXZhaWxhYmxlICYmIG1fYW5pbWF0aW9uU3RhdGUgPCBBbmltYXRpb25TdGF0ZTo6RG9u
ZSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgcmV0dXJuIGluUnVubmluZ1N0YXRlKCkgfHwgaW5QYXVzZWRTdGF0ZSgpOwogICAgIH0K
IAogICAgIGJvb2wgdHJhbnNmb3JtRnVuY3Rpb25MaXN0c01hdGNoKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gbV90cmFuc2Zvcm1GdW5jdGlvbkxpc3RzTWF0Y2g7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaAppbmRl
eCAwNmI1NjZlMjEwZWY1YjNkZjQ2NzYyNWVkZmIxNTkwYmU1ZjkyZWVlLi5jYmU4ODUwMGFmYWU2
NWNlMmVhMmE3MGQ5ZDcxZWY1OTk1ZTI3YzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2FuaW1hdGlvbi9DU1NBbmltYXRpb25Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5oCkBAIC00NCw3ICs0NCw3
IEBAIGNsYXNzIFJlbmRlckVsZW1lbnQ7CiAKIHN0cnVjdCBBbmltYXRpb25VcGRhdGUgewogICAg
IHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gc3R5bGU7Ci0gICAgYm9vbCBzdGF0ZUNoYW5n
ZWQgeyBmYWxzZSB9OworICAgIGJvb2wgYW5pbWF0aW9uQ2hhbmdlUmVxdWlyZXNSZWNvbXBvc2l0
ZSB7IGZhbHNlIH07CiB9OwogCiBjbGFzcyBDU1NBbmltYXRpb25Db250cm9sbGVyIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uY3Bw
CmluZGV4IGIyZDE1NjdkYjcwOGE2MjJjNGI5OGVhZDk4MDUwYTc5YjkyMzRlNWYuLjZmOTdhYTU0
ODgyMDFjNjljYmJhZTYzMTA4M2NmMjU5Mjc3ZGJiYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmNwcApAQCAtMjg2LDcgKzI4
Niw3IEBAIEFuaW1hdGlvblVwZGF0ZSBDb21wb3NpdGVBbmltYXRpb246OmFuaW1hdGUoRWxlbWVu
dCYgZWxlbWVudCwgY29uc3QgUmVuZGVyU3R5bGUqCiAgICAgdXBkYXRlS2V5ZnJhbWVBbmltYXRp
b25zKGVsZW1lbnQsIGN1cnJlbnRTdHlsZSwgdGFyZ2V0U3R5bGUpOwogICAgIG1fa2V5ZnJhbWVB
bmltYXRpb25zLmNoZWNrQ29uc2lzdGVuY3koKTsKIAotICAgIGJvb2wgYW5pbWF0aW9uU3RhdGVD
aGFuZ2VkID0gZmFsc2U7CisgICAgYm9vbCBhbmltYXRpb25DaGFuZ2VSZXF1aXJlc1JlY29tcG9z
aXRlID0gZmFsc2U7CiAgICAgYm9vbCBmb3JjZVN0YWNraW5nQ29udGV4dCA9IGZhbHNlOwogCiAg
ICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBhbmltYXRlZFN0eWxlOwpAQCAtMjk2LDEy
ICsyOTYsMTEgQEAgQW5pbWF0aW9uVXBkYXRlIENvbXBvc2l0ZUFuaW1hdGlvbjo6YW5pbWF0ZShF
bGVtZW50JiBlbGVtZW50LCBjb25zdCBSZW5kZXJTdHlsZSoKICAgICAgICAgLy8gdG8gZmlsbCBp
biBhIFJlbmRlclN0eWxlKiYgb25seSBpZiBuZWVkZWQuCiAgICAgICAgIGJvb2wgY2hlY2tGb3JT
dGFja2luZ0NvbnRleHQgPSBmYWxzZTsKICAgICAgICAgZm9yIChhdXRvJiB0cmFuc2l0aW9uIDog
bV90cmFuc2l0aW9ucy52YWx1ZXMoKSkgewotICAgICAgICAgICAgYm9vbCBkaWRCbGVuZFN0eWxl
ID0gZmFsc2U7Ci0gICAgICAgICAgICBpZiAodHJhbnNpdGlvbi0+YW5pbWF0ZSgqdGhpcywgdGFy
Z2V0U3R5bGUsIGFuaW1hdGVkU3R5bGUsIGRpZEJsZW5kU3R5bGUpKQotICAgICAgICAgICAgICAg
IGFuaW1hdGlvblN0YXRlQ2hhbmdlZCA9IHRydWU7Ci0KLSAgICAgICAgICAgIGlmIChkaWRCbGVu
ZFN0eWxlKQorICAgICAgICAgICAgYXV0byBjaGFuZ2VzID0gdHJhbnNpdGlvbi0+YW5pbWF0ZSgq
dGhpcywgdGFyZ2V0U3R5bGUsIGFuaW1hdGVkU3R5bGUpOworICAgICAgICAgICAgaWYgKGNoYW5n
ZXMuY29udGFpbnMoQW5pbWF0ZUNoYW5nZTo6U3R5bGVCbGVuZGVkKSkKICAgICAgICAgICAgICAg
ICBjaGVja0ZvclN0YWNraW5nQ29udGV4dCB8PSBXaWxsQ2hhbmdlRGF0YTo6cHJvcGVydHlDcmVh
dGVzU3RhY2tpbmdDb250ZXh0KHRyYW5zaXRpb24tPmFuaW1hdGluZ1Byb3BlcnR5KCkpOworCisg
ICAgICAgICAgICBhbmltYXRpb25DaGFuZ2VSZXF1aXJlc1JlY29tcG9zaXRlID0gY2hhbmdlcy5j
b250YWlucyhBbmltYXRlQ2hhbmdlOjpSdW5uaW5nU3RhdGVDaGFuZ2UpICYmIHRyYW5zaXRpb24t
PmFmZmVjdHNBY2NlbGVyYXRlZFByb3BlcnR5KCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAo
YW5pbWF0ZWRTdHlsZSAmJiBjaGVja0ZvclN0YWNraW5nQ29udGV4dCkgewpAQCAtMzI2LDExICsz
MjUsOSBAQCBBbmltYXRpb25VcGRhdGUgQ29tcG9zaXRlQW5pbWF0aW9uOjphbmltYXRlKEVsZW1l
bnQmIGVsZW1lbnQsIGNvbnN0IFJlbmRlclN0eWxlKgogICAgIGZvciAoYXV0byYgbmFtZSA6IG1f
a2V5ZnJhbWVBbmltYXRpb25PcmRlck1hcCkgewogICAgICAgICBSZWZQdHI8S2V5ZnJhbWVBbmlt
YXRpb24+IGtleWZyYW1lQW5pbSA9IG1fa2V5ZnJhbWVBbmltYXRpb25zLmdldChuYW1lKTsKICAg
ICAgICAgaWYgKGtleWZyYW1lQW5pbSkgewotICAgICAgICAgICAgYm9vbCBkaWRCbGVuZFN0eWxl
ID0gZmFsc2U7Ci0gICAgICAgICAgICBpZiAoa2V5ZnJhbWVBbmltLT5hbmltYXRlKCp0aGlzLCB0
YXJnZXRTdHlsZSwgYW5pbWF0ZWRTdHlsZSwgZGlkQmxlbmRTdHlsZSkpCi0gICAgICAgICAgICAg
ICAgYW5pbWF0aW9uU3RhdGVDaGFuZ2VkID0gdHJ1ZTsKLQotICAgICAgICAgICAgZm9yY2VTdGFj
a2luZ0NvbnRleHQgfD0gZGlkQmxlbmRTdHlsZSAmJiBrZXlmcmFtZUFuaW0tPnRyaWdnZXJzU3Rh
Y2tpbmdDb250ZXh0KCk7CisgICAgICAgICAgICBhdXRvIGNoYW5nZXMgPSBrZXlmcmFtZUFuaW0t
PmFuaW1hdGUoKnRoaXMsIHRhcmdldFN0eWxlLCBhbmltYXRlZFN0eWxlKTsKKyAgICAgICAgICAg
IGFuaW1hdGlvbkNoYW5nZVJlcXVpcmVzUmVjb21wb3NpdGUgPSBjaGFuZ2VzLmNvbnRhaW5zKEFu
aW1hdGVDaGFuZ2U6OlJ1bm5pbmdTdGF0ZUNoYW5nZSkgJiYga2V5ZnJhbWVBbmltLT5hZmZlY3Rz
QWNjZWxlcmF0ZWRQcm9wZXJ0eSgpOworICAgICAgICAgICAgZm9yY2VTdGFja2luZ0NvbnRleHQg
fD0gY2hhbmdlcy5jb250YWlucyhBbmltYXRlQ2hhbmdlOjpTdHlsZUJsZW5kZWQpICYmIGtleWZy
YW1lQW5pbS0+dHJpZ2dlcnNTdGFja2luZ0NvbnRleHQoKTsKICAgICAgICAgICAgIG1faGFzQW5p
bWF0aW9uVGhhdERlcGVuZHNPbkxheW91dCB8PSBrZXlmcmFtZUFuaW0tPmRlcGVuZHNPbkxheW91
dCgpOwogICAgICAgICB9CiAgICAgfQpAQCAtMzQ0LDcgKzM0MSw3IEBAIEFuaW1hdGlvblVwZGF0
ZSBDb21wb3NpdGVBbmltYXRpb246OmFuaW1hdGUoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgUmVu
ZGVyU3R5bGUqCiAgICAgICAgICAgICBhbmltYXRlZFN0eWxlLT5zZXRaSW5kZXgoMCk7CiAgICAg
fQogCi0gICAgcmV0dXJuIHsgV1RGTW92ZShhbmltYXRlZFN0eWxlKSwgYW5pbWF0aW9uU3RhdGVD
aGFuZ2VkIH07CisgICAgcmV0dXJuIHsgV1RGTW92ZShhbmltYXRlZFN0eWxlKSwgYW5pbWF0aW9u
Q2hhbmdlUmVxdWlyZXNSZWNvbXBvc2l0ZSB9OwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVy
U3R5bGU+IENvbXBvc2l0ZUFuaW1hdGlvbjo6Z2V0QW5pbWF0ZWRTdHlsZSgpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5jcHAK
aW5kZXggYTQ5OTJmOGJhZDA1NDllOWY1NDAzNTZjZjExYmViOWVjYzM3YmFkZi4uMWQ1MTU3Y2Jj
M2Y3MTQyYWRiNDQ0NzRiNWYyOWFjOTM2NzBhMGIwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcApAQCAtNjEsMTIgKzYxLDEy
IEBAIGJvb2wgSW1wbGljaXRBbmltYXRpb246OnNob3VsZFNlbmRFdmVudEZvckxpc3RlbmVyKERv
Y3VtZW50OjpMaXN0ZW5lclR5cGUgaW5MaXN0CiAgICAgcmV0dXJuIGVsZW1lbnQoKS0+ZG9jdW1l
bnQoKS5oYXNMaXN0ZW5lclR5cGUoaW5MaXN0ZW5lclR5cGUpOwogfQogCi1ib29sIEltcGxpY2l0
QW5pbWF0aW9uOjphbmltYXRlKENvbXBvc2l0ZUFuaW1hdGlvbiYgY29tcG9zaXRlQW5pbWF0aW9u
LCBjb25zdCBSZW5kZXJTdHlsZSYgdGFyZ2V0U3R5bGUsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJT
dHlsZT4mIGFuaW1hdGVkU3R5bGUsIGJvb2wmIGRpZEJsZW5kU3R5bGUpCitPcHRpb25TZXQ8QW5p
bWF0ZUNoYW5nZT4gSW1wbGljaXRBbmltYXRpb246OmFuaW1hdGUoQ29tcG9zaXRlQW5pbWF0aW9u
JiBjb21wb3NpdGVBbmltYXRpb24sIGNvbnN0IFJlbmRlclN0eWxlJiB0YXJnZXRTdHlsZSwgc3Rk
Ojp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiYgYW5pbWF0ZWRTdHlsZSkKIHsKICAgICAvLyBJZiB3
ZSBnZXQgdGhpcyBmYXIgYW5kIHRoZSBhbmltYXRpb24gaXMgZG9uZSwgaXQgbWVhbnMgd2UgYXJl
IGNsZWFuaW5nIHVwIGEganVzdCBmaW5pc2hlZCBhbmltYXRpb24uCiAgICAgLy8gU28ganVzdCBy
ZXR1cm4uIEV2ZXJ5dGhpbmcgaXMgYWxyZWFkeSBhbGwgY2xlYW5lZCB1cC4KICAgICBpZiAocG9z
dEFjdGl2ZSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiB7IH07CiAK
ICAgICBBbmltYXRpb25TdGF0ZSBvbGRTdGF0ZSA9IHN0YXRlKCk7CiAKQEAgLTg1LDkgKzg1LDE1
IEBAIGJvb2wgSW1wbGljaXRBbmltYXRpb246OmFuaW1hdGUoQ29tcG9zaXRlQW5pbWF0aW9uJiBj
b21wb3NpdGVBbmltYXRpb24sIGNvbnN0IFJlCiAKICAgICAvLyBGaXJlIHRoZSBzdGFydCB0aW1l
b3V0IGlmIG5lZWRlZAogICAgIGZpcmVBbmltYXRpb25FdmVudHNJZk5lZWRlZCgpOwotICAgIAot
ICAgIGRpZEJsZW5kU3R5bGUgPSB0cnVlOwotICAgIHJldHVybiBzdGF0ZSgpICE9IG9sZFN0YXRl
OworCisgICAgT3B0aW9uU2V0PEFuaW1hdGVDaGFuZ2U+IGNoYW5nZShBbmltYXRlQ2hhbmdlOjpT
dHlsZUJsZW5kZWQpOworICAgIGlmIChzdGF0ZSgpICE9IG9sZFN0YXRlKQorICAgICAgICBjaGFu
Z2UuYWRkKEFuaW1hdGVDaGFuZ2U6OlN0YXRlQ2hhbmdlKTsKKworICAgIGlmICgoaXNQYXVzZWRT
dGF0ZShvbGRTdGF0ZSkgfHwgaXNSdW5uaW5nU3RhdGUob2xkU3RhdGUpKSAhPSAoaXNQYXVzZWRT
dGF0ZShzdGF0ZSgpKSB8fCBpc1J1bm5pbmdTdGF0ZShzdGF0ZSgpKSkpCisgICAgICAgIGNoYW5n
ZS5hZGQoQW5pbWF0ZUNoYW5nZTo6UnVubmluZ1N0YXRlQ2hhbmdlKTsKKworICAgIHJldHVybiBj
aGFuZ2U7CiB9CiAKIHZvaWQgSW1wbGljaXRBbmltYXRpb246OmdldEFuaW1hdGVkU3R5bGUoc3Rk
Ojp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiYgYW5pbWF0ZWRTdHlsZSkKQEAgLTEzMSw2ICsxMzcs
MTEgQEAgYm9vbCBJbXBsaWNpdEFuaW1hdGlvbjo6Y29tcHV0ZUV4dGVudE9mVHJhbnNmb3JtQW5p
bWF0aW9uKExheW91dFJlY3QmIGJvdW5kcykgY28KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9v
bCBJbXBsaWNpdEFuaW1hdGlvbjo6YWZmZWN0c0FjY2VsZXJhdGVkUHJvcGVydHkoKSBjb25zdAor
eworICAgIHJldHVybiBDU1NQcm9wZXJ0eUFuaW1hdGlvbjo6YW5pbWF0aW9uT2ZQcm9wZXJ0eUlz
QWNjZWxlcmF0ZWQobV9hbmltYXRpbmdQcm9wZXJ0eSk7Cit9CisKIGJvb2wgSW1wbGljaXRBbmlt
YXRpb246OnN0YXJ0QW5pbWF0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0KQogewogICAgIGlmIChhdXRv
KiByZW5kZXJlciA9IGNvbXBvc2l0ZWRSZW5kZXJlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmgKaW5kZXggNmNiNmM0NTIxNmE1ZGNh
OTNkYWFmYTQzMTc1ZTQyNjIyY2I3NTE3Ni4uMmYyNzlhNTk4MGIzMzJjM2Q3NjExZjFkNDQ3NjI1
MTM4ZGQzMTQxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1w
bGljaXRBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBs
aWNpdEFuaW1hdGlvbi5oCkBAIC01MywxMiArNTMsMTQgQEAgcHVibGljOgogICAgIHZvaWQgcGF1
c2VBbmltYXRpb24oZG91YmxlIHRpbWVPZmZzZXQpIG92ZXJyaWRlOwogICAgIHZvaWQgZW5kQW5p
bWF0aW9uKGJvb2wgZmlsbGluZ0ZvcndhcmRzID0gZmFsc2UpIG92ZXJyaWRlOwogCi0gICAgYm9v
bCBhbmltYXRlKENvbXBvc2l0ZUFuaW1hdGlvbiYsIGNvbnN0IFJlbmRlclN0eWxlJiB0YXJnZXRT
dHlsZSwgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiYgYW5pbWF0ZWRTdHlsZSwgYm9vbCYg
ZGlkQmxlbmRTdHlsZSk7CisgICAgT3B0aW9uU2V0PEFuaW1hdGVDaGFuZ2U+IGFuaW1hdGUoQ29t
cG9zaXRlQW5pbWF0aW9uJiwgY29uc3QgUmVuZGVyU3R5bGUmIHRhcmdldFN0eWxlLCBzdGQ6OnVu
aXF1ZV9wdHI8UmVuZGVyU3R5bGU+JiBhbmltYXRlZFN0eWxlKTsKICAgICB2b2lkIGdldEFuaW1h
dGVkU3R5bGUoc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiYgYW5pbWF0ZWRTdHlsZSkgb3Zl
cnJpZGU7CiAgICAgdm9pZCByZXNldChjb25zdCBSZW5kZXJTdHlsZSYgdG8sIENvbXBvc2l0ZUFu
aW1hdGlvbiYpOwogCiAgICAgYm9vbCBjb21wdXRlRXh0ZW50T2ZUcmFuc2Zvcm1BbmltYXRpb24o
TGF5b3V0UmVjdCYpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgYm9vbCBhZmZlY3RzQWNjZWxlcmF0
ZWRQcm9wZXJ0eSgpIGNvbnN0OworCiAgICAgdm9pZCBzZXRPdmVycmlkZGVuKGJvb2wpOwogICAg
IGJvb2wgb3ZlcnJpZGRlbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fb3ZlcnJpZGRlbjsg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFu
aW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1h
dGlvbi5jcHAKaW5kZXggMGNlODA0MjZkYjkzZmQ2MWQ0NjI3MmJlYTg2OTUxYjhhZmU3MGRkYi4u
ZGVmYTNmZGMyMjhkOTQzZTM4ZjYzZjA1NmRkYjY0OWVmMDFhYzJjMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcApAQCAtNjAs
NyArNjAsMTcgQEAgS2V5ZnJhbWVBbmltYXRpb246OktleWZyYW1lQW5pbWF0aW9uKGNvbnN0IEFu
aW1hdGlvbiYgYW5pbWF0aW9uLCBFbGVtZW50JiBlbGVtZW4KICNlbmRpZgogICAgIGNoZWNrRm9y
TWF0Y2hpbmdDb2xvckZpbHRlckZ1bmN0aW9uTGlzdHMoKTsKIAotICAgIGNvbXB1dGVTdGFja2lu
Z0NvbnRleHRJbXBhY3QoKTsKKyAgICBmb3IgKGF1dG8gcHJvcGVydHlJRCA6IG1fa2V5ZnJhbWVz
LnByb3BlcnRpZXMoKSkgeworICAgICAgICBpZiAoV2lsbENoYW5nZURhdGE6OnByb3BlcnR5Q3Jl
YXRlc1N0YWNraW5nQ29udGV4dChwcm9wZXJ0eUlEKSkKKyAgICAgICAgICAgIG1fdHJpZ2dlcnNT
dGFja2luZ0NvbnRleHQgPSB0cnVlOworICAgICAgICAKKyAgICAgICAgaWYgKENTU1Byb3BlcnR5
QW5pbWF0aW9uOjphbmltYXRpb25PZlByb3BlcnR5SXNBY2NlbGVyYXRlZChwcm9wZXJ0eUlEKSkK
KyAgICAgICAgICAgIG1faGFzQWNjZWxlcmF0ZWRQcm9wZXJ0eSA9IHRydWU7CisgICAgICAgIAor
ICAgICAgICBpZiAobV90cmlnZ2Vyc1N0YWNraW5nQ29udGV4dCAmJiBtX2hhc0FjY2VsZXJhdGVk
UHJvcGVydHkpCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKICAgICBjb21wdXRlTGF5b3V0
RGVwZW5kZW5jeSgpOwogfQogCkBAIC03MSwxNiArODEsNiBAQCBLZXlmcmFtZUFuaW1hdGlvbjo6
fktleWZyYW1lQW5pbWF0aW9uKCkKICAgICAgICAgZW5kQW5pbWF0aW9uKCk7CiB9CiAKLXZvaWQg
S2V5ZnJhbWVBbmltYXRpb246OmNvbXB1dGVTdGFja2luZ0NvbnRleHRJbXBhY3QoKQotewotICAg
IGZvciAoYXV0byBwcm9wZXJ0eUlEIDogbV9rZXlmcmFtZXMucHJvcGVydGllcygpKSB7Ci0gICAg
ICAgIGlmIChXaWxsQ2hhbmdlRGF0YTo6cHJvcGVydHlDcmVhdGVzU3RhY2tpbmdDb250ZXh0KHBy
b3BlcnR5SUQpKSB7Ci0gICAgICAgICAgICBtX3RyaWdnZXJzU3RhY2tpbmdDb250ZXh0ID0gdHJ1
ZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotfQotCiB2b2lkIEtleWZy
YW1lQW5pbWF0aW9uOjpjb21wdXRlTGF5b3V0RGVwZW5kZW5jeSgpCiB7CiAgICAgaWYgKCFtX2tl
eWZyYW1lcy5jb250YWluc1Byb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNmb3JtKSkKQEAgLTE1Niw3
ICsxNTYsNyBAQCB2b2lkIEtleWZyYW1lQW5pbWF0aW9uOjpmZXRjaEludGVydmFsRW5kcG9pbnRz
Rm9yUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eQogICAgIHByb2cgPSBwcm9ncmVzcyhz
Y2FsZSwgb2Zmc2V0LCBwcmV2S2V5ZnJhbWUudGltaW5nRnVuY3Rpb24oKSk7CiB9CiAKLWJvb2wg
S2V5ZnJhbWVBbmltYXRpb246OmFuaW1hdGUoQ29tcG9zaXRlQW5pbWF0aW9uJiBjb21wb3NpdGVB
bmltYXRpb24sIGNvbnN0IFJlbmRlclN0eWxlJiB0YXJnZXRTdHlsZSwgc3RkOjp1bmlxdWVfcHRy
PFJlbmRlclN0eWxlPiYgYW5pbWF0ZWRTdHlsZSwgYm9vbCYgZGlkQmxlbmRTdHlsZSkKK09wdGlv
blNldDxBbmltYXRlQ2hhbmdlPiBLZXlmcmFtZUFuaW1hdGlvbjo6YW5pbWF0ZShDb21wb3NpdGVB
bmltYXRpb24mIGNvbXBvc2l0ZUFuaW1hdGlvbiwgY29uc3QgUmVuZGVyU3R5bGUmIHRhcmdldFN0
eWxlLCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+JiBhbmltYXRlZFN0eWxlKQogewogICAg
IEFuaW1hdGlvblN0YXRlIG9sZFN0YXRlID0gc3RhdGUoKTsKIApAQCAtMTcxLDEyICsxNzEsMTIg
QEAgYm9vbCBLZXlmcmFtZUFuaW1hdGlvbjo6YW5pbWF0ZShDb21wb3NpdGVBbmltYXRpb24mIGNv
bXBvc2l0ZUFuaW1hdGlvbiwgY29uc3QgUmUKICAgICAgICAgICAgIHVwZGF0ZVN0YXRlTWFjaGlu
ZShBbmltYXRpb25TdGF0ZUlucHV0OjpQbGF5U3RhdGVQYXVzZWQsIC0xKTsKICAgICB9CiAKLSAg
ICAvLyBJZiB3ZSBnZXQgdGhpcyBmYXIgYW5kIHRoZSBhbmltYXRpb24gaXMgZG9uZSwgaXQgbWVh
bnMgd2UgYXJlIGNsZWFuaW5nIHVwIGEganVzdCBmaW5pc2hlZCBhbmltYXRpb24uCisgICAgLy8g
SWYgd2UgZ2V0IHRoaXMgZmFyIGFuZCB0aGUgYW5pbWF0aW9uIGlzIGRvbmUsIGl0IG1lYW5zIHdl
IGFyZSBjbGVhbmluZyB1cCBhIGp1c3QtZmluaXNoZWQgYW5pbWF0aW9uLgogICAgIC8vIElmIHNv
LCB3ZSBuZWVkIHRvIHNlbmQgYmFjayB0aGUgdGFyZ2V0U3R5bGUuCiAgICAgaWYgKHBvc3RBY3Rp
dmUoKSkgewogICAgICAgICBpZiAoIWFuaW1hdGVkU3R5bGUpCiAgICAgICAgICAgICBhbmltYXRl
ZFN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKHRhcmdldFN0eWxlKTsKLSAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICByZXR1cm4geyB9OwogICAgIH0KIAogICAgIC8vIElmIHdlIGFy
ZSB3YWl0aW5nIGZvciB0aGUgc3RhcnQgdGltZXIsIHdlIGRvbid0IHdhbnQgdG8gY2hhbmdlIHRo
ZSBzdHlsZSB5ZXQuCkBAIC0xODUsMTIgKzE4NSwxMiBAQCBib29sIEtleWZyYW1lQW5pbWF0aW9u
OjphbmltYXRlKENvbXBvc2l0ZUFuaW1hdGlvbiYgY29tcG9zaXRlQW5pbWF0aW9uLCBjb25zdCBS
ZQogICAgIC8vIFNwZWNpYWwgY2FzZSAyIC0gaWYgdGhlcmUgaXMgYSBiYWNrd2FyZHMgZmlsbCBt
b2RlLCB0aGVuIHdlIHdhbnQgdG8gY29udGludWUKICAgICAvLyB0aHJvdWdoIHRvIHRoZSBzdHls
ZSBibGVuZCBzbyB0aGF0IHdlIGdldCB0aGUgZnJvbVN0eWxlLgogICAgIGlmICh3YWl0aW5nVG9T
dGFydCgpICYmIG1fYW5pbWF0aW9uLT5kZWxheSgpID4gMCAmJiAhbV9hbmltYXRpb24tPmZpbGxz
QmFja3dhcmRzKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHsgfTsK
ICAgICAKICAgICAvLyBJZiB3ZSBoYXZlIG5vIGtleWZyYW1lcywgZG9uJ3QgYW5pbWF0ZS4KICAg
ICBpZiAoIW1fa2V5ZnJhbWVzLnNpemUoKSkgewogICAgICAgICB1cGRhdGVTdGF0ZU1hY2hpbmUo
QW5pbWF0aW9uU3RhdGVJbnB1dDo6RW5kQW5pbWF0aW9uLCAtMSk7Ci0gICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9CiAKICAgICAvLyBSdW4gYSBjeWNsZSBv
ZiBhbmltYXRpb24uCkBAIC0yMDksOSArMjA5LDE1IEBAIGJvb2wgS2V5ZnJhbWVBbmltYXRpb246
OmFuaW1hdGUoQ29tcG9zaXRlQW5pbWF0aW9uJiBjb21wb3NpdGVBbmltYXRpb24sIGNvbnN0IFJl
CiAKICAgICAgICAgQ1NTUHJvcGVydHlBbmltYXRpb246OmJsZW5kUHJvcGVydGllcyh0aGlzLCBw
cm9wZXJ0eUlELCBhbmltYXRlZFN0eWxlLmdldCgpLCBmcm9tU3R5bGUsIHRvU3R5bGUsIHByb2dy
ZXNzKTsKICAgICB9Ci0gICAgCi0gICAgZGlkQmxlbmRTdHlsZSA9IHRydWU7Ci0gICAgcmV0dXJu
IHN0YXRlKCkgIT0gb2xkU3RhdGU7CisKKyAgICBPcHRpb25TZXQ8QW5pbWF0ZUNoYW5nZT4gY2hh
bmdlKEFuaW1hdGVDaGFuZ2U6OlN0eWxlQmxlbmRlZCk7CisgICAgaWYgKHN0YXRlKCkgIT0gb2xk
U3RhdGUpCisgICAgICAgIGNoYW5nZS5hZGQoQW5pbWF0ZUNoYW5nZTo6U3RhdGVDaGFuZ2UpOwor
CisgICAgaWYgKChpc1BhdXNlZFN0YXRlKG9sZFN0YXRlKSB8fCBpc1J1bm5pbmdTdGF0ZShvbGRT
dGF0ZSkpICE9IChpc1BhdXNlZFN0YXRlKHN0YXRlKCkpIHx8IGlzUnVubmluZ1N0YXRlKHN0YXRl
KCkpKSkKKyAgICAgICAgY2hhbmdlLmFkZChBbmltYXRlQ2hhbmdlOjpSdW5uaW5nU3RhdGVDaGFu
Z2UpOworCisgICAgcmV0dXJuIGNoYW5nZTsKIH0KIAogdm9pZCBLZXlmcmFtZUFuaW1hdGlvbjo6
Z2V0QW5pbWF0ZWRTdHlsZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+JiBhbmltYXRlZFN0
eWxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVB
bmltYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0
aW9uLmgKaW5kZXggMmM4MDczMTg2MjVlZjE3MjYzMTY2OTk5ZTk2ODlkM2E5YTI2OTE3ZS4uMzg4
OWZlZTI1ZmM5YTkzMzQ1OTJhN2M2MGVhZmRhYTc1YmIyZTJjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5oCkBAIC00NCw4ICs0NCw4
IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEtleWZyYW1l
QW5pbWF0aW9uKGFuaW1hdGlvbiwgZWxlbWVudCwgY29tcG9zaXRlQW5pbWF0aW9uLCB1bmFuaW1h
dGVkU3R5bGUpKTsKICAgICB9Ci0KLSAgICBib29sIGFuaW1hdGUoQ29tcG9zaXRlQW5pbWF0aW9u
JiwgY29uc3QgUmVuZGVyU3R5bGUmIHRhcmdldFN0eWxlLCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVy
U3R5bGU+JiBhbmltYXRlZFN0eWxlLCBib29sJiBkaWRCbGVuZFN0eWxlKTsKKyAgICAKKyAgICBP
cHRpb25TZXQ8QW5pbWF0ZUNoYW5nZT4gYW5pbWF0ZShDb21wb3NpdGVBbmltYXRpb24mLCBjb25z
dCBSZW5kZXJTdHlsZSYgdGFyZ2V0U3R5bGUsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4m
IGFuaW1hdGVkU3R5bGUpOwogICAgIHZvaWQgZ2V0QW5pbWF0ZWRTdHlsZShzdGQ6OnVuaXF1ZV9w
dHI8UmVuZGVyU3R5bGU+Jikgb3ZlcnJpZGU7CiAKICAgICBib29sIGNvbXB1dGVFeHRlbnRPZlRy
YW5zZm9ybUFuaW1hdGlvbihMYXlvdXRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7CkBAIC01OCw2ICs1
OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgdHJpZ2dlcnNTdGFja2luZ0NvbnRleHQoKSBjb25z
dCB7IHJldHVybiBtX3RyaWdnZXJzU3RhY2tpbmdDb250ZXh0OyB9CiAgICAgYm9vbCBkZXBlbmRz
T25MYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX2RlcGVuZHNPbkxheW91dDsgfQorICAgIGJvb2wg
YWZmZWN0c0FjY2VsZXJhdGVkUHJvcGVydHkoKSBjb25zdCB7IHJldHVybiBtX2hhc0FjY2VsZXJh
dGVkUHJvcGVydHk7IH0KIAogICAgIHZvaWQgc2V0VW5hbmltYXRlZFN0eWxlKHN0ZDo6dW5pcXVl
X3B0cjxSZW5kZXJTdHlsZT4gc3R5bGUpIHsgbV91bmFuaW1hdGVkU3R5bGUgPSBXVEZNb3ZlKHN0
eWxlKTsgfQogICAgIGNvbnN0IFJlbmRlclN0eWxlJiB1bmFuaW1hdGVkU3R5bGUoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiAqbV91bmFuaW1hdGVkU3R5bGU7IH0KQEAgLTg0LDcgKzg1LDYgQEAg
cHJvdGVjdGVkOgogCiAgICAgYm9vbCBjb21wdXRlRXh0ZW50T2ZBbmltYXRpb25Gb3JNYXRjaGlu
Z1RyYW5zZm9ybUxpc3RzKGNvbnN0IEZsb2F0UmVjdCYgcmVuZGVyZXJCb3gsIExheW91dFJlY3Qm
KSBjb25zdDsKIAotICAgIHZvaWQgY29tcHV0ZVN0YWNraW5nQ29udGV4dEltcGFjdCgpOwogICAg
IHZvaWQgY29tcHV0ZUxheW91dERlcGVuZGVuY3koKTsKICAgICB2b2lkIHJlc29sdmVLZXlmcmFt
ZVN0eWxlcygpOwogICAgIHZvaWQgdmFsaWRhdGVUcmFuc2Zvcm1GdW5jdGlvbkxpc3QoKTsKQEAg
LTEwNyw2ICsxMDcsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX3N0YXJ0RXZlbnREaXNwYXRj
aGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fdHJpZ2dlcnNTdGFja2luZ0NvbnRleHQgeyBmYWxz
ZSB9OworICAgIGJvb2wgbV9oYXNBY2NlbGVyYXRlZFByb3BlcnR5IHsgZmFsc2UgfTsKICAgICBi
b29sIG1fZGVwZW5kc09uTGF5b3V0IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAppbmRleCA3YTk3NTkzNjlmYjY2MDFiODc4MzgyOWUz
N2YyNGFhNjhkYWViZDM5Li4zNGY4ZjNjM2M4NmUzZmRmOTVmMTg2MDZiNmFjYTYxMzJlNWQ4ZWUz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCkBAIC0zMDYs
NyArMzA2LDcgQEAgRWxlbWVudFVwZGF0ZSBUcmVlUmVzb2x2ZXI6OmNyZWF0ZUFuaW1hdGVkRWxl
bWVudFVwZGF0ZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3QKICAgICAgICAgYXV0byYgYW5pbWF0
aW9uQ29udHJvbGxlciA9IG1fZG9jdW1lbnQuZnJhbWUoKS0+YW5pbWF0aW9uKCk7CiAKICAgICAg
ICAgYXV0byBhbmltYXRpb25VcGRhdGUgPSBhbmltYXRpb25Db250cm9sbGVyLnVwZGF0ZUFuaW1h
dGlvbnMoZWxlbWVudCwgKm5ld1N0eWxlLCBvbGRTdHlsZSk7Ci0gICAgICAgIHNob3VsZFJlY29t
cG9zaXRlTGF5ZXIgPSBhbmltYXRpb25VcGRhdGUuc3RhdGVDaGFuZ2VkOyAvLyBGSVhNRTogY29u
c3RyYWluIHRoaXMgdG8ganVzdCBwcm9wZXJ0eSBhbmltYXRpb25zIHRyaWdnZXJpbmcgYWNjZWxl
cmF0aW9uLgorICAgICAgICBzaG91bGRSZWNvbXBvc2l0ZUxheWVyID0gYW5pbWF0aW9uVXBkYXRl
LmFuaW1hdGlvbkNoYW5nZVJlcXVpcmVzUmVjb21wb3NpdGU7CiAKICAgICAgICAgaWYgKGFuaW1h
dGlvblVwZGF0ZS5zdHlsZSkKICAgICAgICAgICAgIG5ld1N0eWxlID0gV1RGTW92ZShhbmltYXRp
b25VcGRhdGUuc3R5bGUpOwo=
</data>
<flag name="review"
          id="375963"
          type_id="1"
          status="+"
          setter="graouts"
    />
          </attachment>
      

    </bug>

</bugzilla>