<?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>224393</bug_id>
          
          <creation_ts>2021-04-09 15:04:04 -0700</creation_ts>
          <short_desc>Use WeakHashSet&lt;WebProcessProxy&gt; instead of HashSet&lt;WebProcessProxy*&gt;</short_desc>
          <delta_ts>2021-04-10 19:58:19 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1748877</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-09 15:04:04 -0700</bug_when>
    <thetext>Use WeakHashSet&lt;WebProcessProxy&gt; instead of HashSet&lt;WebProcessProxy*&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748883</commentid>
    <comment_count>1</comment_count>
      <attachid>425656</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-09 15:09:40 -0700</bug_when>
    <thetext>Created attachment 425656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749056</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-10 19:57:23 -0700</bug_when>
    <thetext>http://trac.webkit.org/r275806</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749057</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-10 19:58:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/76499728&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425656</attachid>
            <date>2021-04-09 15:09:40 -0700</date>
            <delta_ts>2021-04-09 15:11:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224393-20210409150940.patch</filename>
            <type>text/plain</type>
            <size>18742</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ4ZTNlYzNjNmNjNDg0ZDll
ODY2OWFkOTE2YTllNTdjNTk3OTY2ZWIuLmE2NzQ0NmQyYzY2MzA1OGIwODYyOWE3NTdmMDM2YmYx
N2FjNGZiYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjEtMDQtMDkgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgV2Vha0hh
c2hTZXQ8V2ViUHJvY2Vzc1Byb3h5PiBpbnN0ZWFkIG9mIEhhc2hTZXQ8V2ViUHJvY2Vzc1Byb3h5
Kj4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDM5
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUHJveHk6OnJlcXVlc3RIaWdoUGVyZm9ybWFuY2VHUFUpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUHJveHk6OnJlbGVhc2VIaWdoUGVyZm9ybWFuY2VHUFUpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NQb29sOjp+V2ViUHJvY2Vzc1Bvb2wpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbDo6ZW5hYmxlUHJvY2Vzc1Rlcm1pbmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OnNob3VsZFRlcm1pbmF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjpkaXNjb25uZWN0UHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29s
OjpzdGFydGVkVXNpbmdHYW1lcGFkcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29s
OjpzdG9wcGVkVXNpbmdHYW1lcGFkcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29s
Ojpwcm9jZXNzU3RvcHBlZFVzaW5nR2FtZXBhZHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6Z2FtZXBhZENvbm5lY3RlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjpnYW1lcGFkRGlzY29ubmVjdGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojp+V2ViUHJvY2Vzc1Byb3h5KToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpzaHV0RG93bik6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQcm94eTo6bWF5YmVTaHV0RG93bik6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQcm94eTo6Y2FuVGVybWluYXRlQXV4aWxpYXJ5UHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9j
ZXNzL21hYy9IaWdoUGVyZm9ybWFuY2VHUFVNYW5hZ2VyLm1tOgorICAgICAgICAoV2ViS2l0OjpI
aWdoUGVyZm9ybWFuY2VHUFVNYW5hZ2VyOjphZGRQcm9jZXNzUmVxdWlyaW5nSGlnaFBlcmZvcm1h
bmNlKToKKyAgICAgICAgKFdlYktpdDo6SGlnaFBlcmZvcm1hbmNlR1BVTWFuYWdlcjo6cmVtb3Zl
UHJvY2Vzc1JlcXVpcmluZ0hpZ2hQZXJmb3JtYW5jZSk6CisgICAgICAgIChXZWJLaXQ6OkhpZ2hQ
ZXJmb3JtYW5jZUdQVU1hbmFnZXI6OnVwZGF0ZVN0YXRlKToKKwogMjAyMS0wNC0wOSAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIE5lZWQgdG8gcHJvcGFnYXRlIGFu
ZCB1c2UgJ2NhblNob3dXaGlsZUxvY2tlZCcgaW4gdGhlIEdQVSBQcm9jZXNzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQcm94eUNvY29h
Lm1tCmluZGV4IGU4OTc4NDg2OGQ4ZTA0Yzk3YjA4YjlhYzhjYTBjMzAzYWE0YzFiYTcuLmMxN2Qz
OGZhNGRiY2VmZjYyODU3MTQzYTEyYzRkNWMwM2Y1MTllODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQcm94eUNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQcm94eUNvY29hLm1tCkBA
IC02MCw3ICs2MCw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpncmFudEFjY2Vzc1RvQ3Vy
cmVudERhdGEoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzLCBjb25zCiAKIHZvaWQgV2ViUGFzdGVi
b2FyZFByb3h5OjpncmFudEFjY2VzcyhXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUsIFBhc3RlYm9hcmRBY2Nlc3NUeXBlIHR5cGUpCiB7Ci0gICAg
aWYgKCFtX3dlYlByb2Nlc3NQcm94eUxpc3QuY29udGFpbnMoJnByb2Nlc3MpKQorICAgIGlmICgh
bV93ZWJQcm9jZXNzUHJveHlTZXQuY29udGFpbnMocHJvY2VzcykpCiAgICAgICAgIHJldHVybjsK
IAogICAgIGlmIChwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KaW5kZXggYTU0
Mzc2NDM1MTFhMmFhNDgxMGMxZTg1MjEzODQ1ODMyZTk3NGRlMS4uZDMzNGRkNDRlMDQyN2U2Nzdj
MTBmZTJiNDg5NTFlMDdmNTU0MTFjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KQEAgLTIwMSwxMyArMjAxLDEzIEBA
IFZlY3RvcjxTdHJpbmc+IFdlYlByb2Nlc3NQcm94eTo6bWVkaWFNSU1FVHlwZXMoKSBjb25zdAog
dm9pZCBXZWJQcm9jZXNzUHJveHk6OnJlcXVlc3RIaWdoUGVyZm9ybWFuY2VHUFUoKQogewogICAg
IExPRyhXZWJHTCwgIldlYlByb2Nlc3NQcm94eTo6cmVxdWVzdEhpZ2hQZXJmb3JtYW5jZUdQVSgp
Iik7Ci0gICAgSGlnaFBlcmZvcm1hbmNlR1BVTWFuYWdlcjo6c2luZ2xldG9uKCkuYWRkUHJvY2Vz
c1JlcXVpcmluZ0hpZ2hQZXJmb3JtYW5jZSh0aGlzKTsKKyAgICBIaWdoUGVyZm9ybWFuY2VHUFVN
YW5hZ2VyOjpzaW5nbGV0b24oKS5hZGRQcm9jZXNzUmVxdWlyaW5nSGlnaFBlcmZvcm1hbmNlKCp0
aGlzKTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzUHJveHk6OnJlbGVhc2VIaWdoUGVyZm9ybWFuY2VH
UFUoKQogewogICAgIExPRyhXZWJHTCwgIldlYlByb2Nlc3NQcm94eTo6cmVsZWFzZUhpZ2hQZXJm
b3JtYW5jZUdQVSgpIik7Ci0gICAgSGlnaFBlcmZvcm1hbmNlR1BVTWFuYWdlcjo6c2luZ2xldG9u
KCkucmVtb3ZlUHJvY2Vzc1JlcXVpcmluZ0hpZ2hQZXJmb3JtYW5jZSh0aGlzKTsKKyAgICBIaWdo
UGVyZm9ybWFuY2VHUFVNYW5hZ2VyOjpzaW5nbGV0b24oKS5yZW1vdmVQcm9jZXNzUmVxdWlyaW5n
SGlnaFBlcmZvcm1hbmNlKCp0aGlzKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmNwcAppbmRleCAxNjkzZjgxZDM0MGE2NGM0YjE2
MzM1MmE4NTRjN2U1NjM1ZDA4NjdlLi4xMmUyMGJhN2U2YWNlZmU2N2YzYzFlZThiNmQ2NDMwYmEy
NDJkYTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJk
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94
eS5jcHAKQEAgLTYwLDE5ICs2MCwxOSBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6YWRkV2Vi
UHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vzc1Byb3h5KQogewogICAgIC8v
IEZJWE1FOiBDYW4gd2UgaGFuZGxlIGFsbCBvZiB0aGVzZSBvbiBhIGJhY2tncm91bmQgcXVldWU/
CiAgICAgd2ViUHJvY2Vzc1Byb3h5LmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFz
dGVib2FyZFByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksICp0aGlzKTsKLSAgICBtX3dlYlBy
b2Nlc3NQcm94eUxpc3QuYWRkKCZ3ZWJQcm9jZXNzUHJveHkpOworICAgIG1fd2ViUHJvY2Vzc1By
b3h5U2V0LmFkZCh3ZWJQcm9jZXNzUHJveHkpOwogfQogICAgIAogdm9pZCBXZWJQYXN0ZWJvYXJk
UHJveHk6OnJlbW92ZVdlYlByb2Nlc3NQcm94eShXZWJQcm9jZXNzUHJveHkmIHdlYlByb2Nlc3NQ
cm94eSkKIHsKLSAgICBtX3dlYlByb2Nlc3NQcm94eUxpc3QucmVtb3ZlKCZ3ZWJQcm9jZXNzUHJv
eHkpOworICAgIG1fd2ViUHJvY2Vzc1Byb3h5U2V0LnJlbW92ZSh3ZWJQcm9jZXNzUHJveHkpOwog
fQogCiBXZWJQcm9jZXNzUHJveHkqIFdlYlBhc3RlYm9hcmRQcm94eTo6d2ViUHJvY2Vzc1Byb3h5
Rm9yQ29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIGNvbnN0CiB7Ci0gICAg
Zm9yIChhdXRvKiB3ZWJQcm9jZXNzUHJveHkgOiBtX3dlYlByb2Nlc3NQcm94eUxpc3QpIHsKLSAg
ICAgICAgaWYgKHdlYlByb2Nlc3NQcm94eS0+aGFzQ29ubmVjdGlvbihjb25uZWN0aW9uKSkKLSAg
ICAgICAgICAgIHJldHVybiB3ZWJQcm9jZXNzUHJveHk7CisgICAgZm9yIChhdXRvJiB3ZWJQcm9j
ZXNzUHJveHkgOiBtX3dlYlByb2Nlc3NQcm94eVNldCkgeworICAgICAgICBpZiAod2ViUHJvY2Vz
c1Byb3h5Lmhhc0Nvbm5lY3Rpb24oY29ubmVjdGlvbikpCisgICAgICAgICAgICByZXR1cm4gJndl
YlByb2Nlc3NQcm94eTsKICAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5oCmluZGV4IDMxODZiZDk1MTE4YzBl
NTgwNDkyYWJlM2UzZTg1NjhlZGJlNmFkYjkuLjc4YjFmMWU3Y2MxMTBhMDc1ZjVhZWY4ODVmN2E5
ZjEwNjA0ODJhMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3Rl
Ym9hcmRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQ
cm94eS5oCkBAIC04MCw4ICs4MCw2IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBXZWJQYXN0
ZWJvYXJkUHJveHkoKTsKLSAgICAKLSAgICB1c2luZyBXZWJQcm9jZXNzUHJveHlMaXN0ID0gSGFz
aFNldDxXZWJQcm9jZXNzUHJveHkqPjsKIAogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7CiAgICAgYm9vbCBkaWRSZWNl
aXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgVW5pcXVlUmVm
PElQQzo6RW5jb2Rlcj4mKSBvdmVycmlkZTsKQEAgLTE1NSw3ICsxNTMsNyBAQCBwcml2YXRlOgog
ICAgIE9wdGlvbmFsPFdlYkNvcmU6OkRhdGFPd25lclR5cGU+IGRldGVybWluZURhdGFPd25lcihJ
UEM6OkNvbm5lY3Rpb24mLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBPcHRpb25hbDxX
ZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4sIFBhc3RlYm9hcmRBY2Nlc3NJbnRlbnQpIGNvbnN0Owog
I2VuZGlmCiAKLSAgICBXZWJQcm9jZXNzUHJveHlMaXN0IG1fd2ViUHJvY2Vzc1Byb3h5TGlzdDsK
KyAgICBXZWFrSGFzaFNldDxXZWJQcm9jZXNzUHJveHk+IG1fd2ViUHJvY2Vzc1Byb3h5U2V0Owog
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc3RydWN0IFBhc3RlYm9hcmRBY2Nlc3NJbmZvcm1h
dGlvbiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXgg
NzZlYTA1OTFiYjMyMzdkMDg5ZTBkYTg4ZDJlZjM0MzU0NGY0MjExNC4uMWYzNmUwNTZkMTAzMGI2
MTdmM2Q4MDdmZDRkMjY1Yjg4YjBkNmUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcApAQCAtMzU2LDcgKzM1Niw3IEBAIFdlYlByb2Nlc3NQb29sOjp+V2Vi
UHJvY2Vzc1Bvb2woKQogI2VuZGlmCiAKICNpZiBFTkFCTEUoR0FNRVBBRCkKLSAgICBpZiAoIW1f
cHJvY2Vzc2VzVXNpbmdHYW1lcGFkcy5pc0VtcHR5KCkpCisgICAgaWYgKCFtX3Byb2Nlc3Nlc1Vz
aW5nR2FtZXBhZHMuY29tcHV0ZXNFbXB0eSgpKQogICAgICAgICBVSUdhbWVwYWRQcm92aWRlcjo6
c2luZ2xldG9uKCkucHJvY2Vzc1Bvb2xTdG9wcGVkVXNpbmdHYW1lcGFkcygqdGhpcyk7CiAjZW5k
aWYKIApAQCAtOTAxLDE2ICs5MDEsMTcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cHJld2FybVBy
b2Nlc3MoKQogdm9pZCBXZWJQcm9jZXNzUG9vbDo6ZW5hYmxlUHJvY2Vzc1Rlcm1pbmF0aW9uKCkK
IHsKICAgICBtX3Byb2Nlc3NUZXJtaW5hdGlvbkVuYWJsZWQgPSB0cnVlOworICAgIC8vIEZJWE1F
OiBtX3Byb2Nlc3NlcyBzaG91bGQgYmUgVmVjdG9yPFJlZjxXZWJQcm9jZXNzUHJveHk+PgogICAg
IFZlY3RvcjxSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5Pj4gcHJvY2Vzc2VzID0gbV9wcm9jZXNzZXM7
CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9jZXNzZXMuc2l6ZSgpOyArK2kpIHsKLSAg
ICAgICAgaWYgKHNob3VsZFRlcm1pbmF0ZShwcm9jZXNzZXNbaV0uZ2V0KCkpKQorICAgICAgICBp
ZiAoc2hvdWxkVGVybWluYXRlKCpwcm9jZXNzZXNbaV0pKQogICAgICAgICAgICAgcHJvY2Vzc2Vz
W2ldLT50ZXJtaW5hdGUoKTsKICAgICB9CiB9CiAKLWJvb2wgV2ViUHJvY2Vzc1Bvb2w6OnNob3Vs
ZFRlcm1pbmF0ZShXZWJQcm9jZXNzUHJveHkqIHByb2Nlc3MpCitib29sIFdlYlByb2Nlc3NQb29s
OjpzaG91bGRUZXJtaW5hdGUoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzKQogewotICAgIEFTU0VS
VChtX3Byb2Nlc3Nlcy5jb250YWlucyhwcm9jZXNzKSk7CisgICAgQVNTRVJUKG1fcHJvY2Vzc2Vz
LmNvbnRhaW5zKCZwcm9jZXNzKSk7CiAKICAgICBpZiAoIW1fcHJvY2Vzc1Rlcm1pbmF0aW9uRW5h
YmxlZCB8fCBtX2NvbmZpZ3VyYXRpb24tPmFsd2F5c0tlZXBBbmRSZXVzZVN3YXBwZWRQcm9jZXNz
ZXMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtOTQ3LDM5ICs5NDgsMzkgQEAgdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6cHJvY2Vzc0RpZEZpbmlzaExhdW5jaGluZyhXZWJQcm9jZXNzUHJveHkq
IHByb2Nlc3MpCiAgICAgbV9jb25uZWN0aW9uQ2xpZW50LmRpZENyZWF0ZUNvbm5lY3Rpb24odGhp
cywgcHJvY2Vzcy0+d2ViQ29ubmVjdGlvbigpKTsKIH0KIAotdm9pZCBXZWJQcm9jZXNzUG9vbDo6
ZGlzY29ubmVjdFByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5KiBwcm9jZXNzKQordm9pZCBXZWJQcm9j
ZXNzUG9vbDo6ZGlzY29ubmVjdFByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzKQogewot
ICAgIEFTU0VSVChtX3Byb2Nlc3Nlcy5jb250YWlucyhwcm9jZXNzKSk7CisgICAgQVNTRVJUKG1f
cHJvY2Vzc2VzLmNvbnRhaW5zKCZwcm9jZXNzKSk7CiAKLSAgICBpZiAobV9wcmV3YXJtZWRQcm9j
ZXNzID09IHByb2Nlc3MpIHsKKyAgICBpZiAobV9wcmV3YXJtZWRQcm9jZXNzID09ICZwcm9jZXNz
KSB7CiAgICAgICAgIEFTU0VSVChtX3ByZXdhcm1lZFByb2Nlc3MtPmlzUHJld2FybWVkKCkpOwog
ICAgICAgICBtX3ByZXdhcm1lZFByb2Nlc3MgPSBudWxscHRyOwotICAgIH0gZWxzZSBpZiAocHJv
Y2Vzcy0+aXNEdW1teVByb2Nlc3NQcm94eSgpKSB7Ci0gICAgICAgIGF1dG8gcmVtb3ZlZFByb2Nl
c3MgPSBtX2R1bW15UHJvY2Vzc1Byb3hpZXMudGFrZShwcm9jZXNzLT5zZXNzaW9uSUQoKSk7Ci0g
ICAgICAgIEFTU0VSVF9VTlVTRUQocmVtb3ZlZFByb2Nlc3MsIHJlbW92ZWRQcm9jZXNzID09IHBy
b2Nlc3MpOworICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5pc0R1bW15UHJvY2Vzc1Byb3h5KCkpIHsK
KyAgICAgICAgYXV0byByZW1vdmVkUHJvY2VzcyA9IG1fZHVtbXlQcm9jZXNzUHJveGllcy50YWtl
KHByb2Nlc3Muc2Vzc2lvbklEKCkpOworICAgICAgICBBU1NFUlRfVU5VU0VEKHJlbW92ZWRQcm9j
ZXNzLCByZW1vdmVkUHJvY2VzcyA9PSAmcHJvY2Vzcyk7CiAgICAgfQogCiAgICAgLy8gRklYTUUg
KE11bHRpLVdlYlByb2Nlc3MpOiA8cmRhcjovL3Byb2JsZW0vMTIyMzk3NjU+IFNvbWUgb2YgdGhl
IGludmFsaWRhdGlvbiBjYWxscyBvZiB0aGUgb3RoZXIgc3VwcGxlbWVudHMgYXJlIHN0aWxsIG5l
Y2Vzc2FyeSBpbiBtdWx0aS1wcm9jZXNzIG1vZGUsIGJ1dCB0aGV5IHNob3VsZCBvbmx5IGFmZmVj
dCBkYXRhIHN0cnVjdHVyZXMgcGVydGFpbmluZyB0byB0aGUgcHJvY2VzcyBiZWluZyBkaXNjb25u
ZWN0ZWQuCiAgICAgLy8gQ2xlYXJpbmcgZXZlcnl0aGluZyBjYXVzZXMgYXNzZXJ0aW9uIGZhaWx1
cmVzLCBzbyBpdCdzIGxlc3MgdHJvdWJsZSB0byBza2lwIHRoYXQgZm9yIG5vdy4KLSAgICBSZWZQ
dHI8V2ViUHJvY2Vzc1Byb3h5PiBwcm90ZWN0KHByb2Nlc3MpOworICAgIFJlZjxXZWJQcm9jZXNz
UHJveHk+IHByb3RlY3RlZFByb2Nlc3MocHJvY2Vzcyk7CiAKLSAgICBtX2JhY2tGb3J3YXJkQ2Fj
aGUtPnJlbW92ZUVudHJpZXNGb3JQcm9jZXNzKCpwcm9jZXNzKTsKKyAgICBtX2JhY2tGb3J3YXJk
Q2FjaGUtPnJlbW92ZUVudHJpZXNGb3JQcm9jZXNzKHByb2Nlc3MpOwogCiAjaWYgRU5BQkxFKFNF
UlZJQ0VfV09SS0VSKQotICAgIGlmIChwcm9jZXNzLT5pc1J1bm5pbmdTZXJ2aWNlV29ya2Vycygp
KQotICAgICAgICByZW1vdmVGcm9tU2VydmljZVdvcmtlclByb2Nlc3NlcygqcHJvY2Vzcyk7Cisg
ICAgaWYgKHByb2Nlc3MuaXNSdW5uaW5nU2VydmljZVdvcmtlcnMoKSkKKyAgICAgICAgcmVtb3Zl
RnJvbVNlcnZpY2VXb3JrZXJQcm9jZXNzZXMocHJvY2Vzcyk7CiAjZW5kaWYKIAotICAgIHN0YXRp
Y19jYXN0PFdlYkNvbnRleHRTdXBwbGVtZW50Kj4oc3VwcGxlbWVudDxXZWJHZW9sb2NhdGlvbk1h
bmFnZXJQcm94eT4oKSktPnByb2Nlc3NEaWRDbG9zZShwcm9jZXNzKTsKKyAgICBzdGF0aWNfY2Fz
dDxXZWJDb250ZXh0U3VwcGxlbWVudCo+KHN1cHBsZW1lbnQ8V2ViR2VvbG9jYXRpb25NYW5hZ2Vy
UHJveHk+KCkpLT5wcm9jZXNzRGlkQ2xvc2UoJnByb2Nlc3MpOwogCi0gICAgbV9wcm9jZXNzZXMu
cmVtb3ZlRmlyc3QocHJvY2Vzcyk7CisgICAgbV9wcm9jZXNzZXMucmVtb3ZlRmlyc3QoJnByb2Nl
c3MpOwogCiAjaWYgRU5BQkxFKEdBTUVQQUQpCiAgICAgaWYgKG1fcHJvY2Vzc2VzVXNpbmdHYW1l
cGFkcy5jb250YWlucyhwcm9jZXNzKSkKLSAgICAgICAgcHJvY2Vzc1N0b3BwZWRVc2luZ0dhbWVw
YWRzKCpwcm9jZXNzKTsKKyAgICAgICAgcHJvY2Vzc1N0b3BwZWRVc2luZ0dhbWVwYWRzKHByb2Nl
c3MpOwogI2VuZGlmCiAKLSAgICByZW1vdmVQcm9jZXNzRnJvbU9yaWdpbkNhY2hlU2V0KCpwcm9j
ZXNzKTsKKyAgICByZW1vdmVQcm9jZXNzRnJvbU9yaWdpbkNhY2hlU2V0KHByb2Nlc3MpOwogfQog
CiBSZWY8V2ViUHJvY2Vzc1Byb3h5PiBXZWJQcm9jZXNzUG9vbDo6cHJvY2Vzc0ZvclJlZ2lzdHJh
YmxlRG9tYWluKFdlYnNpdGVEYXRhU3RvcmUmIHdlYnNpdGVEYXRhU3RvcmUsIFdlYlBhZ2VQcm94
eSogcGFnZSwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mIHJlZ2lzdHJhYmxlRG9tYWluKQpAQCAt
MTU5NSw5ICsxNTk2LDkgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c3RhcnRlZFVzaW5nR2FtZXBh
ZHMoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKQogICAgIGlmICghcHJveHkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIGJvb2wgd2VyZUFueVByb2Nlc3Nlc1VzaW5nR2FtZXBhZHMgPSAhbV9w
cm9jZXNzZXNVc2luZ0dhbWVwYWRzLmlzRW1wdHkoKTsKKyAgICBib29sIHdlcmVBbnlQcm9jZXNz
ZXNVc2luZ0dhbWVwYWRzID0gIW1fcHJvY2Vzc2VzVXNpbmdHYW1lcGFkcy5jb21wdXRlc0VtcHR5
KCk7CiAKLSAgICBBU1NFUlQoIW1fcHJvY2Vzc2VzVXNpbmdHYW1lcGFkcy5jb250YWlucyhwcm94
eSkpOworICAgIEFTU0VSVCghbV9wcm9jZXNzZXNVc2luZ0dhbWVwYWRzLmNvbnRhaW5zKCpwcm94
eSkpOwogICAgIG1fcHJvY2Vzc2VzVXNpbmdHYW1lcGFkcy5hZGQocHJveHkpOwogCiAgICAgaWYg
KCF3ZXJlQW55UHJvY2Vzc2VzVXNpbmdHYW1lcGFkcykKQEAgLTE2MTIsMzEgKzE2MTMsMzEgQEAg
dm9pZCBXZWJQcm9jZXNzUG9vbDo6c3RvcHBlZFVzaW5nR2FtZXBhZHMoSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uKQogICAgIGlmICghcHJveHkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEFT
U0VSVChtX3Byb2Nlc3Nlc1VzaW5nR2FtZXBhZHMuY29udGFpbnMocHJveHkpKTsKKyAgICBBU1NF
UlQobV9wcm9jZXNzZXNVc2luZ0dhbWVwYWRzLmNvbnRhaW5zKCpwcm94eSkpOwogICAgIHByb2Nl
c3NTdG9wcGVkVXNpbmdHYW1lcGFkcygqcHJveHkpOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQb29s
Ojpwcm9jZXNzU3RvcHBlZFVzaW5nR2FtZXBhZHMoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzKQog
ewotICAgIGJvb2wgd2VyZUFueVByb2Nlc3Nlc1VzaW5nR2FtZXBhZHMgPSAhbV9wcm9jZXNzZXNV
c2luZ0dhbWVwYWRzLmlzRW1wdHkoKTsKKyAgICBib29sIHdlcmVBbnlQcm9jZXNzZXNVc2luZ0dh
bWVwYWRzID0gIW1fcHJvY2Vzc2VzVXNpbmdHYW1lcGFkcy5jb21wdXRlc0VtcHR5KCk7CiAKLSAg
ICBBU1NFUlQobV9wcm9jZXNzZXNVc2luZ0dhbWVwYWRzLmNvbnRhaW5zKCZwcm9jZXNzKSk7Ci0g
ICAgbV9wcm9jZXNzZXNVc2luZ0dhbWVwYWRzLnJlbW92ZSgmcHJvY2Vzcyk7CisgICAgQVNTRVJU
KG1fcHJvY2Vzc2VzVXNpbmdHYW1lcGFkcy5jb250YWlucyhwcm9jZXNzKSk7CisgICAgbV9wcm9j
ZXNzZXNVc2luZ0dhbWVwYWRzLnJlbW92ZShwcm9jZXNzKTsKIAotICAgIGlmICh3ZXJlQW55UHJv
Y2Vzc2VzVXNpbmdHYW1lcGFkcyAmJiBtX3Byb2Nlc3Nlc1VzaW5nR2FtZXBhZHMuaXNFbXB0eSgp
KQorICAgIGlmICh3ZXJlQW55UHJvY2Vzc2VzVXNpbmdHYW1lcGFkcyAmJiBtX3Byb2Nlc3Nlc1Vz
aW5nR2FtZXBhZHMuY29tcHV0ZXNFbXB0eSgpKQogICAgICAgICBVSUdhbWVwYWRQcm92aWRlcjo6
c2luZ2xldG9uKCkucHJvY2Vzc1Bvb2xTdG9wcGVkVXNpbmdHYW1lcGFkcygqdGhpcyk7CiB9CiAK
IHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmdhbWVwYWRDb25uZWN0ZWQoY29uc3QgVUlHYW1lcGFkJiBn
YW1lcGFkLCBFdmVudE1ha2VzR2FtZXBhZHNWaXNpYmxlIGV2ZW50VmlzaWJpbGl0eSkKIHsKICAg
ICBmb3IgKGF1dG8mIHByb2Nlc3MgOiBtX3Byb2Nlc3Nlc1VzaW5nR2FtZXBhZHMpCi0gICAgICAg
IHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkdhbWVwYWRDb25uZWN0ZWQoZ2Ft
ZXBhZC5nYW1lcGFkRGF0YSgpLCBldmVudFZpc2liaWxpdHkpLCAwKTsKKyAgICAgICAgcHJvY2Vz
cy5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpHYW1lcGFkQ29ubmVjdGVkKGdhbWVwYWQuZ2Ft
ZXBhZERhdGEoKSwgZXZlbnRWaXNpYmlsaXR5KSwgMCk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzc1Bv
b2w6OmdhbWVwYWREaXNjb25uZWN0ZWQoY29uc3QgVUlHYW1lcGFkJiBnYW1lcGFkKQogewogICAg
IGZvciAoYXV0byYgcHJvY2VzcyA6IG1fcHJvY2Vzc2VzVXNpbmdHYW1lcGFkcykKLSAgICAgICAg
cHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6R2FtZXBhZERpc2Nvbm5lY3RlZChn
YW1lcGFkLmluZGV4KCkpLCAwKTsKKyAgICAgICAgcHJvY2Vzcy5zZW5kKE1lc3NhZ2VzOjpXZWJQ
cm9jZXNzOjpHYW1lcGFkRGlzY29ubmVjdGVkKGdhbWVwYWQuaW5kZXgoKSksIDApOwogfQogCiAj
ZW5kaWYgLy8gRU5BQkxFKEdBTUVQQUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaAppbmRleCBkMDYwZjJkMGE0YjU3ZmNmNzg2YzAzYzA5ZWU2MzQ4ZDg1Y2M3MTgzLi40
ZTlmNjY4NGNiYWIxNDk0NjE3YWY1M2MzMmMyZjlhMzM2OGY4MGRlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAgLTIwMCw3ICsyMDAsNyBAQCBwdWJsaWM6CiAg
ICAgV2ViUHJvY2Vzc0NhY2hlJiB3ZWJQcm9jZXNzQ2FjaGUoKSB7IHJldHVybiBtX3dlYlByb2Nl
c3NDYWNoZS5nZXQoKTsgfQogCiAgICAgLy8gRGlzY29ubmVjdCB0aGUgcHJvY2VzcyBmcm9tIHRo
ZSBjb250ZXh0LgotICAgIHZvaWQgZGlzY29ubmVjdFByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5Kik7
CisgICAgdm9pZCBkaXNjb25uZWN0UHJvY2VzcyhXZWJQcm9jZXNzUHJveHkmKTsKIAogICAgIFJl
ZjxXZWJQYWdlUHJveHk+IGNyZWF0ZVdlYlBhZ2UoUGFnZUNsaWVudCYsIFJlZjxBUEk6OlBhZ2VD
b25maWd1cmF0aW9uPiYmKTsKIApAQCAtMzE2LDcgKzMxNiw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgcHJld2FybVByb2Nlc3MoKTsKIAotICAgIGJvb2wgc2hvdWxkVGVybWluYXRlKFdlYlByb2Nl
c3NQcm94eSopOworICAgIGJvb2wgc2hvdWxkVGVybWluYXRlKFdlYlByb2Nlc3NQcm94eSYpOwog
CiAgICAgdm9pZCBkaXNhYmxlUHJvY2Vzc1Rlcm1pbmF0aW9uKCkgeyBtX3Byb2Nlc3NUZXJtaW5h
dGlvbkVuYWJsZWQgPSBmYWxzZTsgfQogICAgIHZvaWQgZW5hYmxlUHJvY2Vzc1Rlcm1pbmF0aW9u
KCk7CkBAIC03MTIsNyArNzEyLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYgRU5BQkxFKEdB
TUVQQUQpCi0gICAgSGFzaFNldDxXZWJQcm9jZXNzUHJveHkqPiBtX3Byb2Nlc3Nlc1VzaW5nR2Ft
ZXBhZHM7CisgICAgV2Vha0hhc2hTZXQ8V2ViUHJvY2Vzc1Byb3h5PiBtX3Byb2Nlc3Nlc1VzaW5n
R2FtZXBhZHM7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggMzZmOGI5OGU2YjZhNTQzZWJiNWI2
ZjRmYjdhNjhjNTQ1NjQzNTk1Zi4uOTcyODIzNzJkYWE1N2ZiMjI3ODhiNGQ3MzE4ZDJjZjU2ZjYw
MjBjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCkBA
IC0yNjAsNyArMjYwLDcgQEAgV2ViUHJvY2Vzc1Byb3h5Ojp+V2ViUHJvY2Vzc1Byb3h5KCkKICAg
ICAgICAgV2ViQ29yZTo6ZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKTsKIAogI2lmIFBMQVRGT1JN
KE1BQykKLSAgICBIaWdoUGVyZm9ybWFuY2VHUFVNYW5hZ2VyOjpzaW5nbGV0b24oKS5yZW1vdmVQ
cm9jZXNzUmVxdWlyaW5nSGlnaFBlcmZvcm1hbmNlKHRoaXMpOworICAgIEhpZ2hQZXJmb3JtYW5j
ZUdQVU1hbmFnZXI6OnNpbmdsZXRvbigpLnJlbW92ZVByb2Nlc3NSZXF1aXJpbmdIaWdoUGVyZm9y
bWFuY2UoKnRoaXMpOwogI2VuZGlmCiAKICAgICBwbGF0Zm9ybURlc3Ryb3koKTsKQEAgLTQ4MCw3
ICs0ODAsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6c2h1dERvd24oKQogICAgIG1fcm91dGlu
Z0FyYml0cmF0b3ItPnByb2Nlc3NEaWRUZXJtaW5hdGUoKTsKICNlbmRpZgogCi0gICAgbV9wcm9j
ZXNzUG9vbC0+ZGlzY29ubmVjdFByb2Nlc3ModGhpcyk7CisgICAgbV9wcm9jZXNzUG9vbC0+ZGlz
Y29ubmVjdFByb2Nlc3MoKnRoaXMpOwogfQogCiBXZWJQYWdlUHJveHkqIFdlYlByb2Nlc3NQcm94
eTo6d2ViUGFnZShXZWJQYWdlUHJveHlJZGVudGlmaWVyIHBhZ2VJRCkKQEAgLTExNDksNyArMTE0
OSw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjptYXliZVNodXREb3duKCkKIHsKICAgICBpZiAo
aXNEdW1teVByb2Nlc3NQcm94eSgpICYmIG1fcGFnZU1hcC5pc0VtcHR5KCkpIHsKICAgICAgICAg
QVNTRVJUKHN0YXRlKCkgPT0gU3RhdGU6OlRlcm1pbmF0ZWQpOwotICAgICAgICBtX3Byb2Nlc3NQ
b29sLT5kaXNjb25uZWN0UHJvY2Vzcyh0aGlzKTsKKyAgICAgICAgbV9wcm9jZXNzUG9vbC0+ZGlz
Y29ubmVjdFByb2Nlc3MoKnRoaXMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xMTcw
LDcgKzExNzAsNyBAQCBib29sIFdlYlByb2Nlc3NQcm94eTo6Y2FuVGVybWluYXRlQXV4aWxpYXJ5
UHJvY2VzcygpCiAgICAgaWYgKGlzUnVubmluZ1NlcnZpY2VXb3JrZXJzKCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIGlmICghbV9wcm9jZXNzUG9vbC0+c2hvdWxkVGVybWluYXRlKHRo
aXMpKQorICAgIGlmICghbV9wcm9jZXNzUG9vbC0+c2hvdWxkVGVybWluYXRlKCp0aGlzKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvSGlnaFBlcmZvcm1hbmNlR1BVTWFuYWdlci5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0hpZ2hQZXJmb3JtYW5jZUdQVU1hbmFnZXIuaAppbmRl
eCBhYzYyMTkzYWNmZDVjMmI2NDJhNTc1YWYzNDdmNWU1MmUwMmZlNjVlLi5jM2IzNjU0MjFhMmNl
MzBkZWI2YWU3OTZkZWZhNTM1ZTk2OTFjYWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvSGlnaFBlcmZvcm1hbmNlR1BVTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9IaWdoUGVyZm9ybWFuY2VHUFVNYW5hZ2VyLmgKQEAgLTQxLDE1ICs0
MSwxNSBAQCBjbGFzcyBIaWdoUGVyZm9ybWFuY2VHUFVNYW5hZ2VyIHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgSGlnaFBlcmZvcm1hbmNlR1BVTWFuYWdlciYgc2luZ2xldG9uKCk7CiAKLSAgICB2b2lk
IGFkZFByb2Nlc3NSZXF1aXJpbmdIaWdoUGVyZm9ybWFuY2UoV2ViUHJvY2Vzc1Byb3h5Kik7Ci0g
ICAgdm9pZCByZW1vdmVQcm9jZXNzUmVxdWlyaW5nSGlnaFBlcmZvcm1hbmNlKFdlYlByb2Nlc3NQ
cm94eSopOworICAgIHZvaWQgYWRkUHJvY2Vzc1JlcXVpcmluZ0hpZ2hQZXJmb3JtYW5jZShXZWJQ
cm9jZXNzUHJveHkmKTsKKyAgICB2b2lkIHJlbW92ZVByb2Nlc3NSZXF1aXJpbmdIaWdoUGVyZm9y
bWFuY2UoV2ViUHJvY2Vzc1Byb3h5Jik7CiAKIHByaXZhdGU6CiAgICAgSGlnaFBlcmZvcm1hbmNl
R1BVTWFuYWdlcigpOwogICAgIH5IaWdoUGVyZm9ybWFuY2VHUFVNYW5hZ2VyKCk7CiAgICAgdm9p
ZCB1cGRhdGVTdGF0ZSgpOwogCi0gICAgSGFzaFNldDxXZWJQcm9jZXNzUHJveHkqPiBtX3Byb2Nl
c3Nlc1JlcXVpcmluZ0hpZ2hQZXJmb3JtYW5jZTsKKyAgICBXZWFrSGFzaFNldDxXZWJQcm9jZXNz
UHJveHk+IG1fcHJvY2Vzc2VzUmVxdWlyaW5nSGlnaFBlcmZvcm1hbmNlOwogICAgIENHTFBpeGVs
Rm9ybWF0T2JqIG1fcGl4ZWxGb3JtYXRPYmogeyBudWxscHRyIH07CiAgICAgV2ViQ29yZTo6VGlt
ZXIgbV91cGRhdGVTdGF0ZVRpbWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL21hYy9IaWdoUGVyZm9ybWFuY2VHUFVNYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvbWFjL0hpZ2hQZXJmb3JtYW5jZUdQVU1hbmFnZXIubW0KaW5kZXggNTlkZmY4YjIz
YzgwYzAyNjViZWU1MTlmODQ2MDczODg0ZjYxNWM5OS4uYmY4ZTZlOGRjZmNhYzBlZjYxMzM2ODhk
ZTNkOWViODhmMzdhNzQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFj
L0hpZ2hQZXJmb3JtYW5jZUdQVU1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL0hpZ2hQZXJmb3JtYW5jZUdQVU1hbmFnZXIubW0KQEAgLTI5LDYgKzI5LDcgQEAKICNp
ZiBQTEFURk9STShNQUMpCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiV2ViUHJv
Y2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NoZWNrc01hYy5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvT3BlbkdMU29mdExpbmtDb2NvYS5oPgogCkBAIC01MSw0MCArNTIsNDAg
QEAgSGlnaFBlcmZvcm1hbmNlR1BVTWFuYWdlcjo6SGlnaFBlcmZvcm1hbmNlR1BVTWFuYWdlcigp
CiAKIEhpZ2hQZXJmb3JtYW5jZUdQVU1hbmFnZXI6On5IaWdoUGVyZm9ybWFuY2VHUFVNYW5hZ2Vy
KCkgPSBkZWZhdWx0OwogCi12b2lkIEhpZ2hQZXJmb3JtYW5jZUdQVU1hbmFnZXI6OmFkZFByb2Nl
c3NSZXF1aXJpbmdIaWdoUGVyZm9ybWFuY2UoV2ViUHJvY2Vzc1Byb3h5KiBwcm9jZXNzKQordm9p
ZCBIaWdoUGVyZm9ybWFuY2VHUFVNYW5hZ2VyOjphZGRQcm9jZXNzUmVxdWlyaW5nSGlnaFBlcmZv
cm1hbmNlKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcykKIHsKICAgICBpZiAoIVdlYkNvcmU6Omhh
c0xvd0FuZEhpZ2hQb3dlckdQVXMoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG1fcHJv
Y2Vzc2VzUmVxdWlyaW5nSGlnaFBlcmZvcm1hbmNlLmFkZChwcm9jZXNzKSkgewotICAgICAgICBM
T0coV2ViR0wsICJIaWdoUGVyZm9ybWFuY2VHUFVNYW5hZ2VyOjphZGRQcm9jZXNzUmVxdWlyaW5n
SGlnaFBlcmZvcm1hbmNlKCkgLSBhZGRpbmcgcHJvY2VzcyAlcCIsIHByb2Nlc3MpOworICAgICAg
ICBMT0coV2ViR0wsICJIaWdoUGVyZm9ybWFuY2VHUFVNYW5hZ2VyOjphZGRQcm9jZXNzUmVxdWly
aW5nSGlnaFBlcmZvcm1hbmNlKCkgLSBhZGRpbmcgcHJvY2VzcyAlcCIsICZwcm9jZXNzKTsKICAg
ICAgICAgdXBkYXRlU3RhdGUoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIExPRyhX
ZWJHTCwgIkhpZ2hQZXJmb3JtYW5jZUdQVU1hbmFnZXI6OmFkZFByb2Nlc3NSZXF1aXJpbmdIaWdo
UGVyZm9ybWFuY2UoKSAtIHByb2Nlc3MgJXAgd2FzIGFscmVhZHkgcmVxdWVzdGluZyBoaWdoIHBl
cmZvcm1hbmNlIiwgcHJvY2Vzcyk7CisgICAgTE9HKFdlYkdMLCAiSGlnaFBlcmZvcm1hbmNlR1BV
TWFuYWdlcjo6YWRkUHJvY2Vzc1JlcXVpcmluZ0hpZ2hQZXJmb3JtYW5jZSgpIC0gcHJvY2VzcyAl
cCB3YXMgYWxyZWFkeSByZXF1ZXN0aW5nIGhpZ2ggcGVyZm9ybWFuY2UiLCAmcHJvY2Vzcyk7CiB9
CiAKLXZvaWQgSGlnaFBlcmZvcm1hbmNlR1BVTWFuYWdlcjo6cmVtb3ZlUHJvY2Vzc1JlcXVpcmlu
Z0hpZ2hQZXJmb3JtYW5jZShXZWJQcm9jZXNzUHJveHkqIHByb2Nlc3MpCit2b2lkIEhpZ2hQZXJm
b3JtYW5jZUdQVU1hbmFnZXI6OnJlbW92ZVByb2Nlc3NSZXF1aXJpbmdIaWdoUGVyZm9ybWFuY2Uo
V2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzKQogewogICAgIGlmICghV2ViQ29yZTo6aGFzTG93QW5k
SGlnaFBvd2VyR1BVcygpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9wcm9jZXNzZXNS
ZXF1aXJpbmdIaWdoUGVyZm9ybWFuY2UucmVtb3ZlKHByb2Nlc3MpKSB7Ci0gICAgICAgIExPRyhX
ZWJHTCwgIkhpZ2hQZXJmb3JtYW5jZUdQVU1hbmFnZXI6OnJlbW92ZVByb2Nlc3NSZXF1aXJpbmdI
aWdoUGVyZm9ybWFuY2UoKSAtIHJlbW92aW5nIHByb2Nlc3MgJXAiLCBwcm9jZXNzKTsKKyAgICAg
ICAgTE9HKFdlYkdMLCAiSGlnaFBlcmZvcm1hbmNlR1BVTWFuYWdlcjo6cmVtb3ZlUHJvY2Vzc1Jl
cXVpcmluZ0hpZ2hQZXJmb3JtYW5jZSgpIC0gcmVtb3ZpbmcgcHJvY2VzcyAlcCIsICZwcm9jZXNz
KTsKICAgICAgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgdGltZVRvS2VlcEhpZ2hQZXJmb3JtYW5j
ZUdQVUFsaXZlIHsgMTBfcyB9OwogICAgICAgICBtX3VwZGF0ZVN0YXRlVGltZXIuc3RhcnRPbmVT
aG90KHRpbWVUb0tlZXBIaWdoUGVyZm9ybWFuY2VHUFVBbGl2ZSk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICBMT0coV2ViR0wsICJIaWdoUGVyZm9ybWFuY2VHUFVNYW5hZ2VyOjpyZW1v
dmVQcm9jZXNzUmVxdWlyaW5nSGlnaFBlcmZvcm1hbmNlKCkgLSBwcm9jZXNzICVwIHdhcyBub3Qg
cmVxdWVzdGluZyBoaWdoIHBlcmZvcm1hbmNlIiwgcHJvY2Vzcyk7CisgICAgTE9HKFdlYkdMLCAi
SGlnaFBlcmZvcm1hbmNlR1BVTWFuYWdlcjo6cmVtb3ZlUHJvY2Vzc1JlcXVpcmluZ0hpZ2hQZXJm
b3JtYW5jZSgpIC0gcHJvY2VzcyAlcCB3YXMgbm90IHJlcXVlc3RpbmcgaGlnaCBwZXJmb3JtYW5j
ZSIsICZwcm9jZXNzKTsKIH0KIAogdm9pZCBIaWdoUGVyZm9ybWFuY2VHUFVNYW5hZ2VyOjp1cGRh
dGVTdGF0ZSgpCiB7CiAgICAgaWYgKG1fdXBkYXRlU3RhdGVUaW1lci5pc0FjdGl2ZSgpKQogICAg
ICAgICBtX3VwZGF0ZVN0YXRlVGltZXIuc3RvcCgpOwotICAgIGlmIChtX3Byb2Nlc3Nlc1JlcXVp
cmluZ0hpZ2hQZXJmb3JtYW5jZS5zaXplKCkpIHsKKyAgICBpZiAobV9wcm9jZXNzZXNSZXF1aXJp
bmdIaWdoUGVyZm9ybWFuY2UuY29tcHV0ZVNpemUoKSkgewogICAgICAgICBpZiAoIW1fcGl4ZWxG
b3JtYXRPYmopIHsKICAgICAgICAgICAgIExPRyhXZWJHTCwgIkhpZ2hQZXJmb3JtYW5jZUdQVU1h
bmFnZXIgLSB0dXJuaW5nIG9uIGhpZ2gtcGVyZm9ybWFuY2UgR1BVLiIpOwogCg==
</data>
<flag name="review"
          id="445667"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>