<?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>231441</bug_id>
          
          <creation_ts>2021-10-08 11:33:13 -0700</creation_ts>
          <short_desc>Ensure that animated scrolls will run on the scrolling thread</short_desc>
          <delta_ts>2021-10-08 16:20:11 -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>Scrolling</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cathiechen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>mrobinson</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1802169</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-08 11:33:13 -0700</bug_when>
    <thetext>Ensure that animated scrolls will run on the scrolling thread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802173</commentid>
    <comment_count>1</comment_count>
      <attachid>440650</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-08 11:37:56 -0700</bug_when>
    <thetext>Created attachment 440650
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802203</commentid>
    <comment_count>2</comment_count>
      <attachid>440660</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-08 13:00:18 -0700</bug_when>
    <thetext>Created attachment 440660
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802234</commentid>
    <comment_count>3</comment_count>
      <attachid>440660</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-10-08 14:00:58 -0700</bug_when>
    <thetext>Comment on attachment 440660
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        On macOS, scrolling tree commits run the main thread (holding a lock), so we can&apos;t start

missing an &quot;on&quot; I think

&gt; Source/WebCore/ChangeLog:12
&gt; +        to bounce to the scrolling tree to start animations. We also have intercept requested scroll

&quot;we have intercept&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802299</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-08 16:16:37 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/283849/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802303</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-08 16:20:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/84048278&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440650</attachid>
            <date>2021-10-08 11:37:56 -0700</date>
            <delta_ts>2021-10-08 13:00:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231441-20211008113755.patch</filename>
            <type>text/plain</type>
            <size>23039</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM1ZmY2M2Y0MDk3ZmUw
OTczYjI0NTE0NDIwNWQ1OGZlOTE1NjI1YS4uNTFjMjcxZWQ1YzVhMjk3ZTc3MmIzMGJjYWU5MWU1
ZjRmZDUzMTQ3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTEwLTA4ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSB0aGF0
IGFuaW1hdGVkIHNjcm9sbHMgd2lsbCBydW4gb24gdGhlIHNjcm9sbGluZyB0aHJlYWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTQ0MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIG1hY09TLCBzY3Jv
bGxpbmcgdHJlZSBjb21taXRzIHJ1biB0aGUgbWFpbiB0aHJlYWQgKGhvbGRpbmcgYSBsb2NrKSwg
c28gd2UgY2FuJ3Qgc3RhcnQKKyAgICAgICAgc2Nyb2xsIGFuaW1hdGlvbnMgZGlyZWN0bHkgaW5z
aWRlIHRoZSBjb21taXQgYmVjYXVzZSB0aGVuIHRoZXkgd2lsbCBydW4gb24gdGhlIG1haW4gdGhy
ZWFkLgorCisgICAgICAgIEZpeCBieSBhZGRpbmcgU2Nyb2xsaW5nVHJlZTo6ZGlkQ29tbWl0VHJl
ZSgpLCBhbmQgaGF2aW5nIFRocmVhZGVkU2Nyb2xsaW5nVHJlZSBvdmVycmlkZSBpdAorICAgICAg
ICB0byBib3VuY2UgdG8gdGhlIHNjcm9sbGluZyB0cmVlIHRvIHN0YXJ0IGFuaW1hdGlvbnMuIFdl
IGFsc28gaGF2ZSBpbnRlcmNlcHQgcmVxdWVzdGVkIHNjcm9sbAorICAgICAgICBwb3NpdGlvbiB1
cGRhdGVzIHZpYSBTY3JvbGxpbmdUcmVlOjpzY3JvbGxpbmdUcmVlTm9kZVJlcXVlc3RzU2Nyb2xs
KCk7IFRocmVhZGVkU2Nyb2xsaW5nVHJlZQorICAgICAgICB1c2VzIHRoaXMgdG8gcHV0IHBlbmRp
bmcgYW5pbWF0aW9ucyBpbnRvIG1fbm9kZXNXaXRoUGVuZGluZ1Njcm9sbEFuaW1hdGlvbnMuCisK
KyAgICAgICAgTm93IHRoYXQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmNvbW1pdFN0YXRl
QWZ0ZXJDaGlsZHJlbigpIHJlc3BvbmRzIHRvCisgICAgICAgIFJlcXVlc3RlZFNjcm9sbFBvc2l0
aW9uIGNoYW5nZXMgYnkgY2FsbGluZyBoYW5kbGVTY3JvbGxQb3NpdGlvblJlcXVlc3QoKSwgd2Ug
Y2FuIHJlbW92ZSBjb2RlCisgICAgICAgIGluIGRlcml2ZWQgY2xhc3NlcyB0aGF0IGRpZCB0aGUg
c2FtZSB0aGluZy4KKworICAgICAgICBOb3QgeWV0IHRlc3RlZCBiZWNhdXNlIGFuaW1hdGVkIHNj
cm9sbHMgZG9uJ3QgeWV0IGdldCB0byB0aGUgc2Nyb2xsaW5nIHRyZWUuCisKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ1RyZWU6OmNvbW1pdFRyZWVTdGF0ZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nVHJlZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6c2Nyb2xsaW5n
VHJlZU5vZGVSZXF1ZXN0c1Njcm9sbCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVl
OjpkaWRDb21taXRUcmVlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZTo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpoYW5kbGVTY3JvbGxQb3NpdGlvblJlcXVlc3QpOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6ZGlkQ29tbWl0VHJlZSk6CisgICAg
ICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmRpZENvbW1pdFRyZWVPblNjcm9s
bGluZ1RocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OnNj
cm9sbGluZ1RyZWVOb2RlUmVxdWVzdHNTY3JvbGwpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6Y29tbWl0U3RhdGVBZnRlckNoaWxk
cmVuKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZU1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6Y29tbWl0U3RhdGVBZnRlckNoaWxk
cmVuKTogRGVsZXRlZC4KKwogMjAyMS0xMC0wOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBs
ZS5jb20+CiAKICAgICAgICAgTWFrZSBXVEY6Okl0ZXJhdG9yUmFuZ2UgcmV2ZXJzaWJsZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCBhN2JjMjQxYjRhNzA5MzJjMjFiMzIyZjI0MmFkNGNmYWI2ZDdiNzllLi45NzUwMGVl
NDY5ZDc3ODg5ODhmMjA5NGZlZjgyYWQ5ZGRkN2YyOWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDIxLTEwLTA4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEVuc3VyZSB0aGF0IGFuaW1hdGVkIHNjcm9sbHMgd2lsbCBydW4gb24gdGhlIHNj
cm9sbGluZyB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMTQ0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGlu
YXRvclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3JQcm94eTo6c2Nyb2xsaW5nVHJlZU5vZGVSZXF1ZXN0c1Njcm9sbCk6CisgICAgICAgICogVUlQ
cm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdUcmVl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5nVHJlZTo6c2Nyb2xsaW5nVHJl
ZU5vZGVSZXF1ZXN0c1Njcm9sbCk6CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJl
ZS9SZW1vdGVTY3JvbGxpbmdUcmVlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5tbToKKyAg
ICAgICAgKFdlYktpdDo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUzo6
Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKToKKwogMjAyMS0xMC0wOCAgTWljaGFlbCBDYXRhbnph
cm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyODM4MDIp
OiBicm9rZSBBcHBsZSBwb3J0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlLmNwcAppbmRleCBjMWE3ZTc3Zjg5Y2E1YjE2MGJlYzY5YjZhZGY5MTFhMDM2
ZjVlOWQxLi42MmE1YWNlNjBkYjZjNmU0ZmFhNDY0MDdiMTEzNzkwNGJmOTZjMjkxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcApAQCAtMzIw
LDYgKzMyMCw4IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0YXRlKHN0ZDo6dW5p
cXVlX3B0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+JiYgc2Nyb2xsCiAgICAgICAgIGlmIChhdXRvIG5v
ZGUgPSBtX25vZGVNYXAudGFrZShub2RlSUQpKQogICAgICAgICAgICAgbm9kZS0+d2lsbEJlRGVz
dHJveWVkKCk7CiAgICAgfQorICAgIAorICAgIGRpZENvbW1pdFRyZWUoKTsKIAogICAgIExPR19X
SVRIX1NUUkVBTShTY3JvbGxpbmdUcmVlLCBzdHJlYW0gPDwgImNvbW1pdHRlZCBTY3JvbGxpbmdU
cmVlIiA8PCBzY3JvbGxpbmdUcmVlQXNUZXh0KFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2
aW9yRGVidWcpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWUuaAppbmRleCA0MDIwOTg4ZDQ1ODNjY2NmMDQxNWYzNzkyNWMzMGE4MTE0YWZmMjAwLi43
ZTZmYTJjNDdlNzFiYWI1MGE0M2FkMmRkMGU4NzY1NDk4YzZkMzk2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCkBAIC0xMTQsNyArMTE0LDcgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0Tm9kZVNjcm9sbFNuYXBJblByb2dyZXNzKFNjcm9sbGluZ05v
ZGVJRCwgYm9vbCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZSgpIHsgfQotICAgIFdF
QkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBjb21taXRUcmVlU3RhdGUoc3RkOjp1bmlxdWVfcHRy
PFNjcm9sbGluZ1N0YXRlVHJlZT4mJik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjb21taXRU
cmVlU3RhdGUoc3RkOjp1bmlxdWVfcHRyPFNjcm9sbGluZ1N0YXRlVHJlZT4mJik7CiAgICAgCiAg
ICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIGFwcGx5TGF5ZXJQb3NpdGlvbnMoKTsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGx5TGF5ZXJQb3NpdGlvbnNBZnRlckNvbW1pdCgpOwpA
QCAtMTMxLDggKzEzMSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsaW5nVHJl
ZU5vZGVEaWRTY3JvbGwoU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUmLCBTY3JvbGxpbmdMYXll
clBvc2l0aW9uQWN0aW9uID0gU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbjo6U3luYykgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxpbmdUcmVlTm9kZURpZFN0b3BBbmltYXRlZFNjcm9s
bChTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZSYpIHsgfQogCi0gICAgLy8gQ2FsbGVkIGZvciBy
ZXF1ZXN0ZWQgc2Nyb2xsIHBvc2l0aW9uIHVwZGF0ZXMuCi0gICAgdmlydHVhbCB2b2lkIHNjcm9s
bGluZ1RyZWVOb2RlUmVxdWVzdHNTY3JvbGwoU2Nyb2xsaW5nTm9kZUlELCBjb25zdCBGbG9hdFBv
aW50JiAvKnNjcm9sbFBvc2l0aW9uKi8sIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nKSB7IH0K
KyAgICAvLyBDYWxsZWQgZm9yIHJlcXVlc3RlZCBzY3JvbGwgcG9zaXRpb24gdXBkYXRlcy4gUmV0
dXJucyB0cnVlIGlmIGhhbmRsZWQuCisgICAgdmlydHVhbCBib29sIHNjcm9sbGluZ1RyZWVOb2Rl
UmVxdWVzdHNTY3JvbGwoU2Nyb2xsaW5nTm9kZUlELCBjb25zdCBSZXF1ZXN0ZWRTY3JvbGxEYXRh
JikgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIC8vIERlbGVnYXRlZCBzY3JvbGxpbmcvem9vbWlu
ZyBoYXMgY2F1c2VkIHRoZSB2aWV3cG9ydCB0byBjaGFuZ2UsIHNvIHVwZGF0ZSB2aWV3cG9ydC1j
b25zdHJhaW5lZCBsYXllcnMKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIG1haW5GcmFtZVZpZXdw
b3J0Q2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZyhjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQ
b3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBsYXlvdXRWaWV3cG9ydCwgZG91Ymxl
IHNjYWxlKTsKQEAgLTI1MSw2ICsyNTEsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgYXBwbHlMYXll
clBvc2l0aW9uc1JlY3Vyc2l2ZShTY3JvbGxpbmdUcmVlTm9kZSYpIFdURl9SRVFVSVJFU19MT0NL
KG1fdHJlZUxvY2spOwogICAgIHZvaWQgbm90aWZ5UmVsYXRlZE5vZGVzUmVjdXJzaXZlKFNjcm9s
bGluZ1RyZWVOb2RlJik7CiAgICAgdm9pZCB0cmF2ZXJzZVNjcm9sbGluZ1RyZWVSZWN1cnNpdmUo
U2Nyb2xsaW5nVHJlZU5vZGUmLCBjb25zdCBWaXNpdG9yRnVuY3Rpb24mKSBXVEZfUkVRVUlSRVNf
TE9DSyhtX3RyZWVMb2NrKTsKKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0VHJlZSgp
IHsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBSZWZQdHI8U2Nyb2xsaW5nVHJlZU5v
ZGU+IHNjcm9sbGluZ05vZGVGb3JQb2ludChGbG9hdFBvaW50KTsKICNpZiBFTkFCTEUoV0hFRUxf
RVZFTlRfUkVHSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcAppbmRleCA4YTY5ZWNmYjdjYjQ3
YmFhMDJjZGI1NjNmYjYxYTQ1MzU3ZDg2YmZjLi5jYTg2MDU4MTdkOWUwN2JiOTc4YTFlZjFkZWI4
Mjg3YjJjZGZmYzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCkBAIC0xMDEsMTAgKzEwMSw4
IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmNvbW1pdFN0YXRlQmVmb3JlQ2hp
bGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOCiB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlOjpjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJiBz
dGF0ZU5vZGUpCiB7CiAgICAgY29uc3QgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlJiBzY3Jv
bGxpbmdTdGF0ZU5vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU+KHN0
YXRlTm9kZSk7Ci0gICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHko
U2Nyb2xsaW5nU3RhdGVOb2RlOjpQcm9wZXJ0eTo6UmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24pKSB7
Ci0gICAgICAgIGNvbnN0IGF1dG8mIHJlcXVlc3RlZFNjcm9sbERhdGEgPSBzY3JvbGxpbmdTdGF0
ZU5vZGUucmVxdWVzdGVkU2Nyb2xsRGF0YSgpOwotICAgICAgICBzY3JvbGxpbmdUcmVlKCkuc2Ny
b2xsaW5nVHJlZU5vZGVSZXF1ZXN0c1Njcm9sbChzY3JvbGxpbmdOb2RlSUQoKSwgcmVxdWVzdGVk
U2Nyb2xsRGF0YS5zY3JvbGxQb3NpdGlvbiwgcmVxdWVzdGVkU2Nyb2xsRGF0YS5zY3JvbGxUeXBl
LCByZXF1ZXN0ZWRTY3JvbGxEYXRhLmNsYW1waW5nKTsKLSAgICB9CisgICAgaWYgKHNjcm9sbGlu
Z1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVOb2RlOjpQcm9wZXJ0
eTo6UmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24pKQorICAgICAgICBoYW5kbGVTY3JvbGxQb3NpdGlv
blJlcXVlc3Qoc2Nyb2xsaW5nU3RhdGVOb2RlLnJlcXVlc3RlZFNjcm9sbERhdGEoKSk7CiAKICAg
ICAvLyBUaGlzIHN5bnRoZXRpYyBiaXQgaXMgYWRkZWQgYmFjayBpbiBTY3JvbGxpbmdUcmVlOjpw
cm9wYWdhdGVTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoKS4KICNpZiBFTkFCTEUoU0NST0xM
SU5HX1RIUkVBRCkKQEAgLTIzOCwxMSArMjM2LDkgQEAgdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZTo6aGFuZGxlU2Nyb2xsUG9zaXRpb25SZXF1ZXN0KGNvbnN0IFJlcXVlc3RlZFNjcm8K
ICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlICIgPDwgc2Nyb2xsaW5nTm9kZUlEKCkgPDwgIiBoYW5kbGVTY3JvbGxQb3Np
dGlvblJlcXVlc3QoKSAtIHBvc2l0aW9uICIgPDwgcmVxdWVzdGVkU2Nyb2xsRGF0YS5zY3JvbGxQ
b3NpdGlvbiA8PCAiIGFuaW1hdGVkICIgPDwgKHJlcXVlc3RlZFNjcm9sbERhdGEuYW5pbWF0ZWQg
PT0gU2Nyb2xsSXNBbmltYXRlZDo6WWVzKSk7CiAKICAgICBzdG9wQW5pbWF0ZWRTY3JvbGwoKTsK
LSAgICAKLSAgICBpZiAocmVxdWVzdGVkU2Nyb2xsRGF0YS5hbmltYXRlZCA9PSBTY3JvbGxJc0Fu
aW1hdGVkOjpZZXMpIHsKLSAgICAgICAgaWYgKHN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9u
KHJlcXVlc3RlZFNjcm9sbERhdGEuc2Nyb2xsUG9zaXRpb24pKQotICAgICAgICAgICAgcmV0dXJu
OwotICAgIH0KKworICAgIGlmIChzY3JvbGxpbmdUcmVlKCkuc2Nyb2xsaW5nVHJlZU5vZGVSZXF1
ZXN0c1Njcm9sbChzY3JvbGxpbmdOb2RlSUQoKSwgcmVxdWVzdGVkU2Nyb2xsRGF0YSkpCisgICAg
ICAgIHJldHVybjsKIAogICAgIHNjcm9sbFRvKHJlcXVlc3RlZFNjcm9sbERhdGEuc2Nyb2xsUG9z
aXRpb24sIHJlcXVlc3RlZFNjcm9sbERhdGEuc2Nyb2xsVHlwZSwgcmVxdWVzdGVkU2Nyb2xsRGF0
YS5jbGFtcGluZyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaAppbmRleCA2ODBiMmVjNTczMWU3YzEy
OTIwOGI1NGMwNzY1ZmVjOGZmNmYyMzUzLi5iYzYyMmRkMzhiY2YzZjYyMGY3NTUyMWQ3ZThlMjkw
NGNkMGQ1Mjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKQEAgLTQ4LDYgKzQ4LDcgQEAgY2xhc3Mg
V0VCQ09SRV9FWFBPUlQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUgOiBwdWJsaWMgU2Nyb2xs
aW5nVHJlZU5vZGUgewogICAgIGZyaWVuZCBjbGFzcyBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlTmljb3NpYTsKICNlbmRpZgogICAgIGZyaWVuZCBjbGFzcyBTY3JvbGxpbmdUcmVl
OworICAgIGZyaWVuZCBjbGFzcyBUaHJlYWRlZFNjcm9sbGluZ1RyZWU7CiAKIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5jcHAKaW5k
ZXggYWQ4ZDUyMGM1MDdjMzViMDM0MWFiZDUxZTg4NjhkNTEyYjE4MDE5OS4uODFmYzgwZGIxZjZk
YTIyZmZjZjNkODMwMGY1MjhiOWMxMjM1MjkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwCkBAIC0xNTIsNiAr
MTUyLDM5IEBAIHZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjppbnZhbGlkYXRlKCkKICAgICB9
KTsKIH0KIAordm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmRpZENvbW1pdFRyZWUoKQorewor
ICAgIFNjcm9sbGluZ1RocmVhZDo6ZGlzcGF0Y2goW3Byb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhp
cyB9XSgpIHsKKyAgICAgICAgTG9ja2VyIHRyZWVMb2NrZXIgeyBwcm90ZWN0ZWRUaGlzLT5tX3Ry
ZWVMb2NrIH07CisgICAgICAgIHByb3RlY3RlZFRoaXMtPmRpZENvbW1pdFRyZWVPblNjcm9sbGlu
Z1RocmVhZCgpOworICAgIH0pOworfQorCit2b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6ZGlk
Q29tbWl0VHJlZU9uU2Nyb2xsaW5nVGhyZWFkKCkKK3sKKyAgICBBU1NFUlQoU2Nyb2xsaW5nVGhy
ZWFkOjppc0N1cnJlbnRUaHJlYWQoKSk7CisKKyAgICBhdXRvIG5vZGVzV2l0aFBlbmRpbmdTY3Jv
bGxBbmltYXRpb25zID0gc3RkOjpleGNoYW5nZShtX25vZGVzV2l0aFBlbmRpbmdTY3JvbGxBbmlt
YXRpb25zLCB7IH0pOworICAgIGZvciAoY29uc3QgYXV0byBbbm9kZUlELCByZXF1ZXN0ZWRTY3Jv
bGxEYXRhXSA6IG5vZGVzV2l0aFBlbmRpbmdTY3JvbGxBbmltYXRpb25zKSB7CisgICAgICAgIFJl
ZlB0ciB0YXJnZXROb2RlID0gbm9kZUZvcklEKG5vZGVJRCk7CisgICAgICAgIGlmICghaXM8U2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGU+KHRhcmdldE5vZGUpKQorICAgICAgICAgICAgY29udGlu
dWU7CisKKyAgICAgICAgZG93bmNhc3Q8U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU+KCp0YXJn
ZXROb2RlKS5zdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihyZXF1ZXN0ZWRTY3JvbGxEYXRh
LnNjcm9sbFBvc2l0aW9uKTsKKyAgICB9CisKKyAgICBtX25vZGVzV2l0aFBlbmRpbmdTY3JvbGxB
bmltYXRpb25zLmNsZWFyKCk7Cit9CisKK2Jvb2wgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpzY3Jv
bGxpbmdUcmVlTm9kZVJlcXVlc3RzU2Nyb2xsKFNjcm9sbGluZ05vZGVJRCBub2RlSUQsIGNvbnN0
IFJlcXVlc3RlZFNjcm9sbERhdGEmIHJlcXVlc3QpCit7CisgICAgaWYgKHJlcXVlc3QuYW5pbWF0
ZWQgPT0gU2Nyb2xsSXNBbmltYXRlZDo6WWVzKSB7CisgICAgICAgIG1fbm9kZXNXaXRoUGVuZGlu
Z1Njcm9sbEFuaW1hdGlvbnMuYWRkKG5vZGVJRCwgcmVxdWVzdCk7CisgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgVGhyZWFkZWRTY3JvbGxp
bmdUcmVlOjpwcm9wYWdhdGVTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoY29uc3QgSGFzaFNl
dDxTY3JvbGxpbmdOb2RlSUQ+JiBzeW5jaHJvbm91c1Njcm9sbGluZ05vZGVzKQogewogICAgIGF1
dG8gcHJvcGFnYXRlU3RhdGVUb0FuY2VzdG9ycyA9IFsmXShTY3JvbGxpbmdUcmVlTm9kZSYgbm9k
ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRT
Y3JvbGxpbmdUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNj
cm9sbGluZ1RyZWUuaAppbmRleCA2MzMzYjdlMjRhNDljMGY3ZDczMDEyNjkxNDExZjkyYzEzMzUw
MTI1Li5hMDUzNzkxM2M5MDU4MDg5MzcwZjcyYjJkY2U1ZjIxY2EwMGViY2RiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUu
aApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykgJiYgRU5B
QkxFKFNDUk9MTElOR19USFJFQUQpCiAKKyNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGUuaCIKICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZVRyZWUuaCIKICNpbmNsdWRlICJTY3Jv
bGxpbmdUcmVlLmgiCiAjaW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5oPgpAQCAtNjksNiArNzAsNyBA
QCBwcm90ZWN0ZWQ6CiAKICAgICB2b2lkIHNjcm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKFNjcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlJiwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbiA9IFNj
cm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb246OlN5bmMpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Ny
b2xsaW5nVHJlZU5vZGVEaWRTdG9wQW5pbWF0ZWRTY3JvbGwoU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGUmKSBvdmVycmlkZTsKKyAgICBib29sIHNjcm9sbGluZ1RyZWVOb2RlUmVxdWVzdHNTY3Jv
bGwoU2Nyb2xsaW5nTm9kZUlELCBjb25zdCBSZXF1ZXN0ZWRTY3JvbGxEYXRhJikgb3ZlcnJpZGUg
V1RGX1JFUVVJUkVTX0xPQ0sobV90cmVlTG9jayk7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAg
dm9pZCBoYW5kbGVXaGVlbEV2ZW50UGhhc2UoU2Nyb2xsaW5nTm9kZUlELCBQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZSkgb3ZlcnJpZGU7CkBAIC04OCw2ICs5MCw5IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBpc1RocmVhZGVkU2Nyb2xsaW5nVHJlZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7
IH0KICAgICB2b2lkIHByb3BhZ2F0ZVN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyhjb25zdCBI
YXNoU2V0PFNjcm9sbGluZ05vZGVJRD4mKSBXVEZfUkVRVUlSRVNfTE9DSyhtX3RyZWVMb2NrKSBv
dmVycmlkZTsKIAorICAgIHZvaWQgZGlkQ29tbWl0VHJlZSgpIGZpbmFsOworICAgIHZvaWQgZGlk
Q29tbWl0VHJlZU9uU2Nyb2xsaW5nVGhyZWFkKCkgV1RGX1JFUVVJUkVTX0xPQ0sobV90cmVlTG9j
ayk7CisKICAgICB2b2lkIGRpc3BsYXlEaWRSZWZyZXNoT25TY3JvbGxpbmdUaHJlYWQoKTsKICAg
ICB2b2lkIHdhaXRGb3JSZW5kZXJpbmdVcGRhdGVDb21wbGV0aW9uT3JUaW1lb3V0KCkgV1RGX1JF
UVVJUkVTX0xPQ0sobV90cmVlTG9jayk7CiAKQEAgLTExNCw2ICsxMTksNyBAQCBwcml2YXRlOgog
ICAgIC8vIER5bmFtaWNhbGx5IGFsbG9jYXRlZCBiZWNhdXNlIGl0IGhhcyB0byB1c2UgdGhlIFNj
cm9sbGluZ1RocmVhZCdzIHJ1bmxvb3AuCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJ1bkxvb3A6OlRp
bWVyPFRocmVhZGVkU2Nyb2xsaW5nVHJlZT4+IG1fZGVsYXllZFJlbmRlcmluZ1VwZGF0ZURldGVj
dGlvblRpbWVyIFdURl9HVUFSREVEX0JZX0xPQ0sobV90cmVlTG9jayk7CiAKKyAgICBIYXNoTWFw
PFNjcm9sbGluZ05vZGVJRCwgUmVxdWVzdGVkU2Nyb2xsRGF0YT4gbV9ub2Rlc1dpdGhQZW5kaW5n
U2Nyb2xsQW5pbWF0aW9ucyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fdHJlZUxvY2spOwogICAgIGNv
bnN0IGJvb2wgbV9zY3JvbGxBbmltYXRvckVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9o
YXNOb2Rlc1dpdGhTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMgV1RGX0dVQVJERURfQllfTE9D
SyhtX3RyZWVMb2NrKSB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZU1hYy5tbQppbmRleCA5MjI2NWI3Y2Q1NDliYjFlYjM4MzAzZDZjODU1MzBhZDkx
NjUwNjZlLi4xZjFhNWRmOTljZmNmZWUwNTdkN2ZkNzk1OTkyNDEzODM1MzM3YWQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9t
YWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtMTAzLDExICsxMDMs
NiBAQCB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmNvbW1pdFN0YXRl
QWZ0ZXJDaGlsZHJlbihjb25zdCBTY3JvbGxpbgogICAgIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGU6OmNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbihzdGF0ZU5vZGUpOwogCiAgICAgY29u
c3QgYXV0byYgc2Nyb2xsaW5nU3RhdGVOb2RlID0gZG93bmNhc3Q8U2Nyb2xsaW5nU3RhdGVTY3Jv
bGxpbmdOb2RlPihzdGF0ZU5vZGUpOwotCi0gICAgLy8gVXBkYXRlIHRoZSBzY3JvbGwgcG9zaXRp
b24gYWZ0ZXIgY2hpbGQgbm9kZXMgaGF2ZSBiZWVuIHVwZGF0ZWQsIGJlY2F1c2UgdGhleSBuZWVk
IHRvIGhhdmUgdXBkYXRlZCB0aGVpciBjb25zdHJhaW50cyBiZWZvcmUgYW55IHNjcm9sbGluZyBo
YXBwZW5zLgotICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNj
cm9sbGluZ1N0YXRlTm9kZTo6UHJvcGVydHk6OlJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uKSkKLSAg
ICAgICAgaGFuZGxlU2Nyb2xsUG9zaXRpb25SZXF1ZXN0KHNjcm9sbGluZ1N0YXRlTm9kZS5yZXF1
ZXN0ZWRTY3JvbGxEYXRhKCkpOwotCiAgICAgaWYgKGlzUm9vdE5vZGUoKQogICAgICAgICAmJiAo
c2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZU5vZGU6
OlByb3BlcnR5OjpTY3JvbGxlZENvbnRlbnRzTGF5ZXIpCiAgICAgICAgIHx8IHNjcm9sbGluZ1N0
YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVOb2RlOjpQcm9wZXJ0eTo6
VG90YWxDb250ZW50c1NpemUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGlu
Z05vZGVNYWMuaAppbmRleCBhZDE3MjY2YjU1YmVkOGRmNGE0MzU3YmU0ZmYyNWQ4ODI4MzIwNjBk
Li43NzBjYzQ3YzE4MTFkZWQ3ZDk0NGQ1ODcxMTZmYTRlNjQ4MWNjZWVkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Ny
b2xsaW5nTm9kZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmgKQEAgLTQzLDcgKzQzLDYgQEAg
cHJvdGVjdGVkOgogICAgIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMoU2Ny
b2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CiAKICAgICB2b2lkIGNvbW1pdFN0YXRlQmVm
b3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJikgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCBjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJikgb3Zl
cnJpZGU7CiAgICAgCiAgICAgRmxvYXRQb2ludCBhZGp1c3RlZFNjcm9sbFBvc2l0aW9uKGNvbnN0
IEZsb2F0UG9pbnQmLCBTY3JvbGxDbGFtcGluZykgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZs
b3dTY3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFj
L1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0KaW5kZXggZGMyZWRjYWYw
MGE0NWI3NGFkYmYyZmFkYTE0Zjc2NjExOTBhM2YxOS4uYjEyODI1NDJhMDllYmJjYzgzY2MwYjM5
M2MzM2ZjM2VhODEzYjlmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9s
bGluZ05vZGVNYWMubW0KQEAgLTYxLDE2ICs2MSw2IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZU1hYzo6Y29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3Jv
CiAgICAgbV9kZWxlZ2F0ZS51cGRhdGVGcm9tU3RhdGVOb2RlKGRvd25jYXN0PFNjcm9sbGluZ1N0
YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPihzdGF0ZU5vZGUpKTsKIH0KIAotdm9pZCBTY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4o
Y29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJiBzdGF0ZU5vZGUpCi17Ci0gICAgU2Nyb2xsaW5nVHJl
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKHN0YXRlTm9k
ZSk7Ci0KLSAgICBjb25zdCBhdXRvJiBvdmVyZmxvd1N0YXRlTm9kZSA9IGRvd25jYXN0PFNjcm9s
bGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPihzdGF0ZU5vZGUpOwotCi0gICAgaWYgKG92
ZXJmbG93U3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZU5vZGU6OlBy
b3BlcnR5OjpSZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvbikpCi0gICAgICAgIGhhbmRsZVNjcm9sbFBv
c2l0aW9uUmVxdWVzdChvdmVyZmxvd1N0YXRlTm9kZS5yZXF1ZXN0ZWRTY3JvbGxEYXRhKCkpOwot
fQotCiBXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZU1hYzo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdo
ZWVsRXZlbnQsIEV2ZW50VGFyZ2V0aW5nIGV2ZW50VGFyZ2V0aW5nKQogewogI2lmIEVOQUJMRShT
Q1JPTExJTkdfVEhSRUFEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVt
b3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5h
dG9yUHJveHkuY3BwCmluZGV4IDJjNGEyM2QwMzNjN2RkNWEwNmEwOTVjZTQzNGRjNTFmZTBmMzk3
ZTUuLmU1NjU3OGFhOGIxYzZjZmZlNTg5MjRmZjMyYWU0Y2E5YzZlYjk5ZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdD
b29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVM
YXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5jcHAKQEAgLTI0MSwxMyAr
MjQxLDE3IEBAIHZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6c2Nyb2xsaW5n
VHJlZU5vZGVEaWRTdG9wQW5pbWF0ZWRTY3JvbGwoU2NyCiAgICAgbV93ZWJQYWdlUHJveHkuc2Vu
ZChNZXNzYWdlczo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OkFuaW1hdGVkU2Nyb2xsRGlk
RW5kRm9yTm9kZShzY3JvbGxlZE5vZGVJRCkpOwogfQogCi12b2lkIFJlbW90ZVNjcm9sbGluZ0Nv
b3JkaW5hdG9yUHJveHk6OnNjcm9sbGluZ1RyZWVOb2RlUmVxdWVzdHNTY3JvbGwoU2Nyb2xsaW5n
Tm9kZUlEIHNjcm9sbGVkTm9kZUlELCBjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwg
U2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZykKK2Jvb2wgUmVtb3RlU2Nyb2xs
aW5nQ29vcmRpbmF0b3JQcm94eTo6c2Nyb2xsaW5nVHJlZU5vZGVSZXF1ZXN0c1Njcm9sbChTY3Jv
bGxpbmdOb2RlSUQgc2Nyb2xsZWROb2RlSUQsIGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0
aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nKQogewogICAgIGlmIChz
Y3JvbGxlZE5vZGVJRCA9PSByb290U2Nyb2xsaW5nTm9kZUlEKCkgJiYgbV9yZXF1ZXN0ZWRTY3Jv
bGxJbmZvKSB7CisgICAgICAgIC8vIEZJWE1FOiBIYW5kbGUgYW5pbWF0ZWQgc2Nyb2xscy4KICAg
ICAgICAgbV9yZXF1ZXN0ZWRTY3JvbGxJbmZvLT5yZXF1ZXN0c1Njcm9sbFBvc2l0aW9uVXBkYXRl
ID0gdHJ1ZTsKICAgICAgICAgbV9yZXF1ZXN0ZWRTY3JvbGxJbmZvLT5yZXF1ZXN0SXNQcm9ncmFt
bWF0aWNTY3JvbGwgPSBzY3JvbGxUeXBlID09IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYzsKICAg
ICAgICAgbV9yZXF1ZXN0ZWRTY3JvbGxJbmZvLT5yZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvbiA9IHNj
cm9sbFBvc2l0aW9uOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisgICAgCisgICAgcmV0
dXJuIGZhbHNlOwogfQogCiBTdHJpbmcgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6
c2Nyb2xsaW5nVHJlZUFzVGV4dCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGlu
Z0Nvb3JkaW5hdG9yUHJveHkuaAppbmRleCA1NTMzYTJkOWE1Y2NmYzFiMDk5Mjk5MDU0MmJhNGJi
ZmEwODM1NDMyLi5hYzI2MTIxNDY4OTgzZGQzYThhNzg3ZTBkMGE4OTllMjgwMWQwYWQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Ny
b2xsaW5nQ29vcmRpbmF0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Jl
bW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmgKQEAgLTU5LDcg
KzU5LDcgQEAgcHVibGljOgogCiAgICAgLy8gSW5mb3JtIHRoZSB3ZWIgcHJvY2VzcyB0aGF0IHRo
ZSBzY3JvbGwgcG9zaXRpb24gY2hhbmdlZCAoY2FsbGVkIGZyb20gdGhlIHNjcm9sbGluZyB0cmVl
KQogICAgIHZvaWQgc2Nyb2xsaW5nVHJlZU5vZGVEaWRTY3JvbGwoV2ViQ29yZTo6U2Nyb2xsaW5n
Tm9kZUlELCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBuZXdTY3JvbGxQb3NpdGlvbiwgY29u
c3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpGbG9hdFBvaW50PiYgbGF5b3V0Vmlld3BvcnRPcmln
aW4sIFdlYkNvcmU6OlNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24pOwotICAgIHZvaWQgc2Ny
b2xsaW5nVHJlZU5vZGVSZXF1ZXN0c1Njcm9sbChXZWJDb3JlOjpTY3JvbGxpbmdOb2RlSUQsIGNv
bnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBXZWJDb3JlOjpTY3JvbGxU
eXBlLCBXZWJDb3JlOjpTY3JvbGxDbGFtcGluZyk7CisgICAgYm9vbCBzY3JvbGxpbmdUcmVlTm9k
ZVJlcXVlc3RzU2Nyb2xsKFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRCwgY29uc3QgV2ViQ29yZTo6
RmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIFdlYkNvcmU6OlNjcm9sbFR5cGUsIFdlYkNvcmU6
OlNjcm9sbENsYW1waW5nKTsKICAgICB2b2lkIHNjcm9sbGluZ1RyZWVOb2RlRGlkU3RvcEFuaW1h
dGVkU2Nyb2xsKFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRCk7CiAKICAgICBXZWJDb3JlOjpUcmFj
a2luZ1R5cGUgZXZlbnRUcmFja2luZ1R5cGVGb3JQb2ludChjb25zdCBBdG9tU3RyaW5nJiBldmVu
dE5hbWUsIFdlYkNvcmU6OkludFBvaW50KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdUcmVlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdUcmVl
LmNwcAppbmRleCBkNjZhNDIwYzQ2ZTg4M2ViZTA2MzNmNmM0ZjU5ZDRkMzBhYTZmNzJiLi4yOTg3
MGM3NTk1YzdlYTg2YTZlOGJjOGI4ZjU0MGY0MmM4ODUwMGUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nVHJlZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9s
bGluZ1RyZWUuY3BwCkBAIC05OSw5ICs5OSw5IEBAIHZvaWQgUmVtb3RlU2Nyb2xsaW5nVHJlZTo6
c2Nyb2xsaW5nVHJlZU5vZGVEaWRTdG9wQW5pbWF0ZWRTY3JvbGwoU2Nyb2xsaW5nVHJlZVNjCiAg
ICAgbV9zY3JvbGxpbmdDb29yZGluYXRvclByb3h5LnNjcm9sbGluZ1RyZWVOb2RlRGlkU3RvcEFu
aW1hdGVkU2Nyb2xsKG5vZGUuc2Nyb2xsaW5nTm9kZUlEKCkpOwogfQogCi12b2lkIFJlbW90ZVNj
cm9sbGluZ1RyZWU6OnNjcm9sbGluZ1RyZWVOb2RlUmVxdWVzdHNTY3JvbGwoU2Nyb2xsaW5nTm9k
ZUlEIG5vZGVJRCwgY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbFR5cGUg
c2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpCitib29sIFJlbW90ZVNjcm9sbGlu
Z1RyZWU6OnNjcm9sbGluZ1RyZWVOb2RlUmVxdWVzdHNTY3JvbGwoU2Nyb2xsaW5nTm9kZUlEIG5v
ZGVJRCwgY29uc3QgUmVxdWVzdGVkU2Nyb2xsRGF0YSYgcmVxdWVzdCkKIHsKLSAgICBtX3Njcm9s
bGluZ0Nvb3JkaW5hdG9yUHJveHkuc2Nyb2xsaW5nVHJlZU5vZGVSZXF1ZXN0c1Njcm9sbChub2Rl
SUQsIHNjcm9sbFBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CisgICAgcmV0dXJuIG1f
c2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5zY3JvbGxpbmdUcmVlTm9kZVJlcXVlc3RzU2Nyb2xs
KG5vZGVJRCwgcmVxdWVzdC5zY3JvbGxQb3NpdGlvbiwgcmVxdWVzdC5zY3JvbGxUeXBlLCByZXF1
ZXN0LmNsYW1waW5nKTsKIH0KIAogUmVmPFNjcm9sbGluZ1RyZWVOb2RlPiBSZW1vdGVTY3JvbGxp
bmdUcmVlOjpjcmVhdGVTY3JvbGxpbmdUcmVlTm9kZShTY3JvbGxpbmdOb2RlVHlwZSBub2RlVHlw
ZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdUcmVlLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nVHJlZS5oCmluZGV4
IGY2ZmE4ZjZmMDNjNGUxZDJmNGVhNTAxOWM0Y2I0MDljOWE0NDU4NTUuLmFlMTI5MzkwOTViMTk3
Yzg2ZThiMDg3YmJjZGRjOTQ1NjM2MmYzNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdUcmVlLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ1RyZWUuaApA
QCAtNTIsNyArNTIsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNjcm9sbGluZ1RyZWVOb2RlRGlk
U2Nyb2xsKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlJiwgV2ViQ29yZTo6U2Ny
b2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbiA9IFdlYkNvcmU6OlNjcm9sbGluZ0xheWVyUG9zaXRp
b25BY3Rpb246OlN5bmMpIGZpbmFsOwogICAgIHZvaWQgc2Nyb2xsaW5nVHJlZU5vZGVEaWRTdG9w
QW5pbWF0ZWRTY3JvbGwoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUmKSBmaW5h
bDsKLSAgICB2b2lkIHNjcm9sbGluZ1RyZWVOb2RlUmVxdWVzdHNTY3JvbGwoV2ViQ29yZTo6U2Ny
b2xsaW5nTm9kZUlELCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwg
V2ViQ29yZTo6U2Nyb2xsVHlwZSwgV2ViQ29yZTo6U2Nyb2xsQ2xhbXBpbmcpIGZpbmFsOworICAg
IGJvb2wgc2Nyb2xsaW5nVHJlZU5vZGVSZXF1ZXN0c1Njcm9sbChXZWJDb3JlOjpTY3JvbGxpbmdO
b2RlSUQsIGNvbnN0IFdlYkNvcmU6OlJlcXVlc3RlZFNjcm9sbERhdGEmKSBmaW5hbDsKIAogICAg
IHZvaWQgY3VycmVudFNuYXBQb2ludEluZGljZXNEaWRDaGFuZ2UoV2ViQ29yZTo6U2Nyb2xsaW5n
Tm9kZUlELCBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBob3Jpem9udGFsLCBzdGQ6Om9wdGlvbmFs
PHVuc2lnbmVkPiB2ZXJ0aWNhbCkgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZVJlbW90ZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJl
ZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5tbQppbmRleCBm
NmRhOTY5MWZiNzM2NTQ3MzNhMzRkZjIyMTMxMGUxOTgxNGYwYjkyLi4xOWZhNDlmNTRiYTI2ZGJj
MWYxMThjYjE4YmU4ZDQyNDE1ZjkwZjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVS
ZW1vdGVJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLm1tCkBAIC04Nywx
NSArODcsOCBAQCB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1M6
OmNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbihjb25zdCBTYwogICAgIFNjcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGU6OmNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbihzdGF0ZU5vZGUpOwogCiAg
ICAgY29uc3QgYXV0byYgc2Nyb2xsaW5nU3RhdGVOb2RlID0gZG93bmNhc3Q8U2Nyb2xsaW5nU3Rh
dGVGcmFtZVNjcm9sbGluZ05vZGU+KHN0YXRlTm9kZSk7Ci0KLSAgICBpZiAobV9zY3JvbGxpbmdO
b2RlRGVsZWdhdGUpIHsKKyAgICBpZiAobV9zY3JvbGxpbmdOb2RlRGVsZWdhdGUpCiAgICAgICAg
IG1fc2Nyb2xsaW5nTm9kZURlbGVnYXRlLT5jb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4oc2Nyb2xs
aW5nU3RhdGVOb2RlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIFVwZGF0ZSB0
aGUgc2Nyb2xsIHBvc2l0aW9uIGFmdGVyIGNoaWxkIG5vZGVzIGhhdmUgYmVlbiB1cGRhdGVkLCBi
ZWNhdXNlIHRoZXkgbmVlZCB0byBoYXZlIHVwZGF0ZWQgdGhlaXIgY29uc3RyYWludHMgYmVmb3Jl
IGFueSBzY3JvbGxpbmcgaGFwcGVucy4KLSAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0No
YW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZU5vZGU6OlByb3BlcnR5OjpSZXF1ZXN0ZWRTY3Jv
bGxQb3NpdGlvbikpCi0gICAgICAgIGhhbmRsZVNjcm9sbFBvc2l0aW9uUmVxdWVzdChzY3JvbGxp
bmdTdGF0ZU5vZGUucmVxdWVzdGVkU2Nyb2xsRGF0YSgpKTsKIH0KIAogRmxvYXRQb2ludCBTY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TOjptaW5pbXVtU2Nyb2xsUG9zaXRp
b24oKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440660</attachid>
            <date>2021-10-08 13:00:18 -0700</date>
            <delta_ts>2021-10-08 14:00:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231441-20211008130017.patch</filename>
            <type>text/plain</type>
            <size>23925</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM1ZmY2M2Y0MDk3ZmUw
OTczYjI0NTE0NDIwNWQ1OGZlOTE1NjI1YS4uNTFjMjcxZWQ1YzVhMjk3ZTc3MmIzMGJjYWU5MWU1
ZjRmZDUzMTQ3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTEwLTA4ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSB0aGF0
IGFuaW1hdGVkIHNjcm9sbHMgd2lsbCBydW4gb24gdGhlIHNjcm9sbGluZyB0aHJlYWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTQ0MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIG1hY09TLCBzY3Jv
bGxpbmcgdHJlZSBjb21taXRzIHJ1biB0aGUgbWFpbiB0aHJlYWQgKGhvbGRpbmcgYSBsb2NrKSwg
c28gd2UgY2FuJ3Qgc3RhcnQKKyAgICAgICAgc2Nyb2xsIGFuaW1hdGlvbnMgZGlyZWN0bHkgaW5z
aWRlIHRoZSBjb21taXQgYmVjYXVzZSB0aGVuIHRoZXkgd2lsbCBydW4gb24gdGhlIG1haW4gdGhy
ZWFkLgorCisgICAgICAgIEZpeCBieSBhZGRpbmcgU2Nyb2xsaW5nVHJlZTo6ZGlkQ29tbWl0VHJl
ZSgpLCBhbmQgaGF2aW5nIFRocmVhZGVkU2Nyb2xsaW5nVHJlZSBvdmVycmlkZSBpdAorICAgICAg
ICB0byBib3VuY2UgdG8gdGhlIHNjcm9sbGluZyB0cmVlIHRvIHN0YXJ0IGFuaW1hdGlvbnMuIFdl
IGFsc28gaGF2ZSBpbnRlcmNlcHQgcmVxdWVzdGVkIHNjcm9sbAorICAgICAgICBwb3NpdGlvbiB1
cGRhdGVzIHZpYSBTY3JvbGxpbmdUcmVlOjpzY3JvbGxpbmdUcmVlTm9kZVJlcXVlc3RzU2Nyb2xs
KCk7IFRocmVhZGVkU2Nyb2xsaW5nVHJlZQorICAgICAgICB1c2VzIHRoaXMgdG8gcHV0IHBlbmRp
bmcgYW5pbWF0aW9ucyBpbnRvIG1fbm9kZXNXaXRoUGVuZGluZ1Njcm9sbEFuaW1hdGlvbnMuCisK
KyAgICAgICAgTm93IHRoYXQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmNvbW1pdFN0YXRl
QWZ0ZXJDaGlsZHJlbigpIHJlc3BvbmRzIHRvCisgICAgICAgIFJlcXVlc3RlZFNjcm9sbFBvc2l0
aW9uIGNoYW5nZXMgYnkgY2FsbGluZyBoYW5kbGVTY3JvbGxQb3NpdGlvblJlcXVlc3QoKSwgd2Ug
Y2FuIHJlbW92ZSBjb2RlCisgICAgICAgIGluIGRlcml2ZWQgY2xhc3NlcyB0aGF0IGRpZCB0aGUg
c2FtZSB0aGluZy4KKworICAgICAgICBOb3QgeWV0IHRlc3RlZCBiZWNhdXNlIGFuaW1hdGVkIHNj
cm9sbHMgZG9uJ3QgeWV0IGdldCB0byB0aGUgc2Nyb2xsaW5nIHRyZWUuCisKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ1RyZWU6OmNvbW1pdFRyZWVTdGF0ZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nVHJlZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6c2Nyb2xsaW5n
VHJlZU5vZGVSZXF1ZXN0c1Njcm9sbCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVl
OjpkaWRDb21taXRUcmVlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZTo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpoYW5kbGVTY3JvbGxQb3NpdGlvblJlcXVlc3QpOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6ZGlkQ29tbWl0VHJlZSk6CisgICAg
ICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmRpZENvbW1pdFRyZWVPblNjcm9s
bGluZ1RocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OnNj
cm9sbGluZ1RyZWVOb2RlUmVxdWVzdHNTY3JvbGwpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6Y29tbWl0U3RhdGVBZnRlckNoaWxk
cmVuKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZU1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6Y29tbWl0U3RhdGVBZnRlckNoaWxk
cmVuKTogRGVsZXRlZC4KKwogMjAyMS0xMC0wOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBs
ZS5jb20+CiAKICAgICAgICAgTWFrZSBXVEY6Okl0ZXJhdG9yUmFuZ2UgcmV2ZXJzaWJsZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCBhN2JjMjQxYjRhNzA5MzJjMjFiMzIyZjI0MmFkNGNmYWI2ZDdiNzllLi41Y2E2MmYz
NDdjOTQ3NWUwMTQ1YzU4YzRlNmQ4ZDJjMTRmZmRjOWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMz
IEBACisyMDIxLTEwLTA4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEVuc3VyZSB0aGF0IGFuaW1hdGVkIHNjcm9sbHMgd2lsbCBydW4gb24gdGhlIHNj
cm9sbGluZyB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMTQ0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE9uIG1hY09TLCBzY3JvbGxpbmcgdHJlZSBjb21taXRzIHJ1biB0aGUgbWFpbiB0aHJl
YWQgKGhvbGRpbmcgYSBsb2NrKSwgc28gd2UgY2FuJ3Qgc3RhcnQKKyAgICAgICAgc2Nyb2xsIGFu
aW1hdGlvbnMgZGlyZWN0bHkgaW5zaWRlIHRoZSBjb21taXQgYmVjYXVzZSB0aGVuIHRoZXkgd2ls
bCBydW4gb24gdGhlIG1haW4gdGhyZWFkLgorCisgICAgICAgIEZpeCBieSBhZGRpbmcgU2Nyb2xs
aW5nVHJlZTo6ZGlkQ29tbWl0VHJlZSgpLCBhbmQgaGF2aW5nIFRocmVhZGVkU2Nyb2xsaW5nVHJl
ZSBvdmVycmlkZSBpdAorICAgICAgICB0byBib3VuY2UgdG8gdGhlIHNjcm9sbGluZyB0cmVlIHRv
IHN0YXJ0IGFuaW1hdGlvbnMuIFdlIGFsc28gaGF2ZSBpbnRlcmNlcHQgcmVxdWVzdGVkIHNjcm9s
bAorICAgICAgICBwb3NpdGlvbiB1cGRhdGVzIHZpYSBTY3JvbGxpbmdUcmVlOjpzY3JvbGxpbmdU
cmVlTm9kZVJlcXVlc3RzU2Nyb2xsKCk7IFRocmVhZGVkU2Nyb2xsaW5nVHJlZQorICAgICAgICB1
c2VzIHRoaXMgdG8gcHV0IHBlbmRpbmcgYW5pbWF0aW9ucyBpbnRvIG1fbm9kZXNXaXRoUGVuZGlu
Z1Njcm9sbEFuaW1hdGlvbnMuCisKKyAgICAgICAgTm93IHRoYXQgU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGU6OmNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbigpIHJlc3BvbmRzIHRvCisgICAgICAg
IFJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uIGNoYW5nZXMgYnkgY2FsbGluZyBoYW5kbGVTY3JvbGxQ
b3NpdGlvblJlcXVlc3QoKSwgd2UgY2FuIHJlbW92ZSBjb2RlCisgICAgICAgIGluIGRlcml2ZWQg
Y2xhc3NlcyB0aGF0IGRpZCB0aGUgc2FtZSB0aGluZy4KKworICAgICAgICBOb3QgeWV0IHRlc3Rl
ZCBiZWNhdXNlIGFuaW1hdGVkIHNjcm9sbHMgZG9uJ3QgeWV0IGdldCB0byB0aGUgc2Nyb2xsaW5n
IHRyZWUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9s
bGluZ0Nvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTY3JvbGxp
bmdDb29yZGluYXRvclByb3h5OjpzY3JvbGxpbmdUcmVlTm9kZVJlcXVlc3RzU2Nyb2xsKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5h
dG9yUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNj
cm9sbGluZ1RyZWUuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTY3JvbGxpbmdUcmVlOjpz
Y3JvbGxpbmdUcmVlTm9kZVJlcXVlc3RzU2Nyb2xsKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVt
b3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ1RyZWUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
UmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3Rl
SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
UmVtb3RlSU9TOjpjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4pOgorCiAyMDIxLTEwLTA4ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3JnPgogCiAgICAgICAgIFJFR1JFU1NJ
T04ocjI4MzgwMik6IGJyb2tlIEFwcGxlIHBvcnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCmluZGV4IGMxYTdlNzdmODljYTViMTYwYmVjNjli
NmFkZjkxMWEwMzZmNWU5ZDEuLjYyYTVhY2U2MGRiNmM2ZTRmYWE0NjQwN2IxMTM3OTA0YmY5NmMy
OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUu
Y3BwCkBAIC0zMjAsNiArMzIwLDggQEAgdm9pZCBTY3JvbGxpbmdUcmVlOjpjb21taXRUcmVlU3Rh
dGUoc3RkOjp1bmlxdWVfcHRyPFNjcm9sbGluZ1N0YXRlVHJlZT4mJiBzY3JvbGwKICAgICAgICAg
aWYgKGF1dG8gbm9kZSA9IG1fbm9kZU1hcC50YWtlKG5vZGVJRCkpCiAgICAgICAgICAgICBub2Rl
LT53aWxsQmVEZXN0cm95ZWQoKTsKICAgICB9CisgICAgCisgICAgZGlkQ29tbWl0VHJlZSgpOwog
CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZ1RyZWUsIHN0cmVhbSA8PCAiY29tbWl0dGVk
IFNjcm9sbGluZ1RyZWUiIDw8IHNjcm9sbGluZ1RyZWVBc1RleHQoU2Nyb2xsaW5nU3RhdGVUcmVl
QXNUZXh0QmVoYXZpb3JEZWJ1ZykpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZS5oCmluZGV4IDQwMjA5ODhkNDU4M2NjY2YwNDE1ZjM3OTI1YzMwYTgx
MTRhZmYyMDAuLjdlNmZhMmM0N2U3MWJhYjUwYTQzYWQyZGQwZTg3NjU0OThjNmQzOTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKQEAgLTExNCw3
ICsxMTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXROb2RlU2Nyb2xsU25hcEluUHJvZ3Jlc3Mo
U2Nyb2xsaW5nTm9kZUlELCBib29sKTsKIAogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKCkg
eyB9Ci0gICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIGNvbW1pdFRyZWVTdGF0ZShzdGQ6
OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIGNvbW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiYm
KTsKICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgYXBwbHlMYXllclBvc2l0
aW9ucygpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHlMYXllclBvc2l0aW9uc0FmdGVy
Q29tbWl0KCk7CkBAIC0xMzEsOCArMTMxLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBz
Y3JvbGxpbmdUcmVlTm9kZURpZFNjcm9sbChTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZSYsIFNj
cm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24gPSBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9u
OjpTeW5jKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbGluZ1RyZWVOb2RlRGlkU3RvcEFu
aW1hdGVkU2Nyb2xsKFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlJikgeyB9CiAKLSAgICAvLyBD
YWxsZWQgZm9yIHJlcXVlc3RlZCBzY3JvbGwgcG9zaXRpb24gdXBkYXRlcy4KLSAgICB2aXJ0dWFs
IHZvaWQgc2Nyb2xsaW5nVHJlZU5vZGVSZXF1ZXN0c1Njcm9sbChTY3JvbGxpbmdOb2RlSUQsIGNv
bnN0IEZsb2F0UG9pbnQmIC8qc2Nyb2xsUG9zaXRpb24qLywgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcpIHsgfQorICAgIC8vIENhbGxlZCBmb3IgcmVxdWVzdGVkIHNjcm9sbCBwb3NpdGlvbiB1
cGRhdGVzLiBSZXR1cm5zIHRydWUgaWYgaGFuZGxlZC4KKyAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xs
aW5nVHJlZU5vZGVSZXF1ZXN0c1Njcm9sbChTY3JvbGxpbmdOb2RlSUQsIGNvbnN0IFJlcXVlc3Rl
ZFNjcm9sbERhdGEmKSB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgLy8gRGVsZWdhdGVkIHNjcm9s
bGluZy96b29taW5nIGhhcyBjYXVzZWQgdGhlIHZpZXdwb3J0IHRvIGNoYW5nZSwgc28gdXBkYXRl
IHZpZXdwb3J0LWNvbnN0cmFpbmVkIGxheWVycwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgbWFp
bkZyYW1lVmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKGNvbnN0IEZsb2F0UG9p
bnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGxheW91dFZpZXdw
b3J0LCBkb3VibGUgc2NhbGUpOwpAQCAtMjUxLDYgKzI1MSw4IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBhcHBseUxheWVyUG9zaXRpb25zUmVjdXJzaXZlKFNjcm9sbGluZ1RyZWVOb2RlJikgV1RGX1JF
UVVJUkVTX0xPQ0sobV90cmVlTG9jayk7CiAgICAgdm9pZCBub3RpZnlSZWxhdGVkTm9kZXNSZWN1
cnNpdmUoU2Nyb2xsaW5nVHJlZU5vZGUmKTsKICAgICB2b2lkIHRyYXZlcnNlU2Nyb2xsaW5nVHJl
ZVJlY3Vyc2l2ZShTY3JvbGxpbmdUcmVlTm9kZSYsIGNvbnN0IFZpc2l0b3JGdW5jdGlvbiYpIFdU
Rl9SRVFVSVJFU19MT0NLKG1fdHJlZUxvY2spOworICAgIAorICAgIHZpcnR1YWwgdm9pZCBkaWRD
b21taXRUcmVlKCkgeyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIFJlZlB0cjxTY3Jv
bGxpbmdUcmVlTm9kZT4gc2Nyb2xsaW5nTm9kZUZvclBvaW50KEZsb2F0UG9pbnQpOwogI2lmIEVO
QUJMRShXSEVFTF9FVkVOVF9SRUdJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCmluZGV4IDhh
NjllY2ZiN2NiNDdiYWEwMmNkYjU2M2ZiNjFhNDUzNTdkODZiZmMuLmNhODYwNTgxN2Q5ZTA3YmI5
NzhhMWVmMWRlYjgyODdiMmNkZmZjODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTEw
MSwxMCArMTAxLDggQEAgdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6Y29tbWl0U3Rh
dGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU4KIHZvaWQgU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGU6OmNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdT
dGF0ZU5vZGUmIHN0YXRlTm9kZSkKIHsKICAgICBjb25zdCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGUmIHNjcm9sbGluZ1N0YXRlTm9kZSA9IGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlU2Nyb2xs
aW5nTm9kZT4oc3RhdGVOb2RlKTsKLSAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5n
ZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZU5vZGU6OlByb3BlcnR5OjpSZXF1ZXN0ZWRTY3JvbGxQ
b3NpdGlvbikpIHsKLSAgICAgICAgY29uc3QgYXV0byYgcmVxdWVzdGVkU2Nyb2xsRGF0YSA9IHNj
cm9sbGluZ1N0YXRlTm9kZS5yZXF1ZXN0ZWRTY3JvbGxEYXRhKCk7Ci0gICAgICAgIHNjcm9sbGlu
Z1RyZWUoKS5zY3JvbGxpbmdUcmVlTm9kZVJlcXVlc3RzU2Nyb2xsKHNjcm9sbGluZ05vZGVJRCgp
LCByZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFBvc2l0aW9uLCByZXF1ZXN0ZWRTY3JvbGxEYXRh
LnNjcm9sbFR5cGUsIHJlcXVlc3RlZFNjcm9sbERhdGEuY2xhbXBpbmcpOwotICAgIH0KKyAgICBp
ZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZU5v
ZGU6OlByb3BlcnR5OjpSZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvbikpCisgICAgICAgIGhhbmRsZVNj
cm9sbFBvc2l0aW9uUmVxdWVzdChzY3JvbGxpbmdTdGF0ZU5vZGUucmVxdWVzdGVkU2Nyb2xsRGF0
YSgpKTsKIAogICAgIC8vIFRoaXMgc3ludGhldGljIGJpdCBpcyBhZGRlZCBiYWNrIGluIFNjcm9s
bGluZ1RyZWU6OnByb3BhZ2F0ZVN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucygpLgogI2lmIEVO
QUJMRShTQ1JPTExJTkdfVEhSRUFEKQpAQCAtMjM4LDExICsyMzYsOSBAQCB2b2lkIFNjcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlOjpoYW5kbGVTY3JvbGxQb3NpdGlvblJlcXVlc3QoY29uc3QgUmVx
dWVzdGVkU2NybwogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGUgIiA8PCBzY3JvbGxpbmdOb2RlSUQoKSA8PCAiIGhhbmRs
ZVNjcm9sbFBvc2l0aW9uUmVxdWVzdCgpIC0gcG9zaXRpb24gIiA8PCByZXF1ZXN0ZWRTY3JvbGxE
YXRhLnNjcm9sbFBvc2l0aW9uIDw8ICIgYW5pbWF0ZWQgIiA8PCAocmVxdWVzdGVkU2Nyb2xsRGF0
YS5hbmltYXRlZCA9PSBTY3JvbGxJc0FuaW1hdGVkOjpZZXMpKTsKIAogICAgIHN0b3BBbmltYXRl
ZFNjcm9sbCgpOwotICAgIAotICAgIGlmIChyZXF1ZXN0ZWRTY3JvbGxEYXRhLmFuaW1hdGVkID09
IFNjcm9sbElzQW5pbWF0ZWQ6OlllcykgewotICAgICAgICBpZiAoc3RhcnRBbmltYXRlZFNjcm9s
bFRvUG9zaXRpb24ocmVxdWVzdGVkU2Nyb2xsRGF0YS5zY3JvbGxQb3NpdGlvbikpCi0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgfQorCisgICAgaWYgKHNjcm9sbGluZ1RyZWUoKS5zY3JvbGxpbmdU
cmVlTm9kZVJlcXVlc3RzU2Nyb2xsKHNjcm9sbGluZ05vZGVJRCgpLCByZXF1ZXN0ZWRTY3JvbGxE
YXRhKSkKKyAgICAgICAgcmV0dXJuOwogCiAgICAgc2Nyb2xsVG8ocmVxdWVzdGVkU2Nyb2xsRGF0
YS5zY3JvbGxQb3NpdGlvbiwgcmVxdWVzdGVkU2Nyb2xsRGF0YS5zY3JvbGxUeXBlLCByZXF1ZXN0
ZWRTY3JvbGxEYXRhLmNsYW1waW5nKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCmluZGV4IDY4MGIy
ZWM1NzMxZTdjMTI5MjA4YjU0YzA3NjVmZWM4ZmY2ZjIzNTMuLmJjNjIyZGQzOGJjZjNmNjIwZjc1
NTIxZDdlOGUyOTA0Y2QwZDUyNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaApAQCAtNDgsNiArNDgs
NyBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZSA6IHB1
YmxpYyBTY3JvbGxpbmdUcmVlTm9kZSB7CiAgICAgZnJpZW5kIGNsYXNzIFNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGVOaWNvc2lhOwogI2VuZGlmCiAgICAgZnJpZW5kIGNsYXNzIFNj
cm9sbGluZ1RyZWU7CisgICAgZnJpZW5kIGNsYXNzIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTsKIAog
cHVibGljOgogICAgIHZpcnR1YWwgflNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1Ry
ZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdU
cmVlLmNwcAppbmRleCBhZDhkNTIwYzUwN2MzNWIwMzQxYWJkNTFlODg2OGQ1MTJiMTgwMTk5Li4w
OWFhNzk0YWVkMjlmYThkNmM1MzhkMzU2MWNlZWRjNmU3MWExNzUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5jcHAK
QEAgLTE1Miw2ICsxNTIsMzkgQEAgdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmludmFsaWRh
dGUoKQogICAgIH0pOwogfQogCit2b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6ZGlkQ29tbWl0
VHJlZSgpCit7CisgICAgU2Nyb2xsaW5nVGhyZWFkOjpkaXNwYXRjaChbcHJvdGVjdGVkVGhpcyA9
IFJlZiB7ICp0aGlzIH1dKCkgeworICAgICAgICBMb2NrZXIgdHJlZUxvY2tlciB7IHByb3RlY3Rl
ZFRoaXMtPm1fdHJlZUxvY2sgfTsKKyAgICAgICAgcHJvdGVjdGVkVGhpcy0+ZGlkQ29tbWl0VHJl
ZU9uU2Nyb2xsaW5nVGhyZWFkKCk7CisgICAgfSk7Cit9CisKK3ZvaWQgVGhyZWFkZWRTY3JvbGxp
bmdUcmVlOjpkaWRDb21taXRUcmVlT25TY3JvbGxpbmdUaHJlYWQoKQoreworICAgIEFTU0VSVChT
Y3JvbGxpbmdUaHJlYWQ6OmlzQ3VycmVudFRocmVhZCgpKTsKKworICAgIGF1dG8gbm9kZXNXaXRo
UGVuZGluZ1Njcm9sbEFuaW1hdGlvbnMgPSBzdGQ6OmV4Y2hhbmdlKG1fbm9kZXNXaXRoUGVuZGlu
Z1Njcm9sbEFuaW1hdGlvbnMsIHsgfSk7CisgICAgZm9yIChjb25zdCBhdXRvJiBpdCA6IG5vZGVz
V2l0aFBlbmRpbmdTY3JvbGxBbmltYXRpb25zKSB7CisgICAgICAgIFJlZlB0ciB0YXJnZXROb2Rl
ID0gbm9kZUZvcklEKGl0LmtleSk7CisgICAgICAgIGlmICghaXM8U2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGU+KHRhcmdldE5vZGUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg
ZG93bmNhc3Q8U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU+KCp0YXJnZXROb2RlKS5zdGFydEFu
aW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihpdC52YWx1ZS5zY3JvbGxQb3NpdGlvbik7CisgICAgfQor
CisgICAgbV9ub2Rlc1dpdGhQZW5kaW5nU2Nyb2xsQW5pbWF0aW9ucy5jbGVhcigpOworfQorCiti
b29sIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6c2Nyb2xsaW5nVHJlZU5vZGVSZXF1ZXN0c1Njcm9s
bChTY3JvbGxpbmdOb2RlSUQgbm9kZUlELCBjb25zdCBSZXF1ZXN0ZWRTY3JvbGxEYXRhJiByZXF1
ZXN0KQoreworICAgIGlmIChyZXF1ZXN0LmFuaW1hdGVkID09IFNjcm9sbElzQW5pbWF0ZWQ6Olll
cykgeworICAgICAgICBtX25vZGVzV2l0aFBlbmRpbmdTY3JvbGxBbmltYXRpb25zLmFkZChub2Rl
SUQsIHJlcXVlc3QpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZh
bHNlOworfQorCiB2b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6cHJvcGFnYXRlU3luY2hyb25v
dXNTY3JvbGxpbmdSZWFzb25zKGNvbnN0IEhhc2hTZXQ8U2Nyb2xsaW5nTm9kZUlEPiYgc3luY2hy
b25vdXNTY3JvbGxpbmdOb2RlcykKIHsKICAgICBhdXRvIHByb3BhZ2F0ZVN0YXRlVG9BbmNlc3Rv
cnMgPSBbJl0oU2Nyb2xsaW5nVHJlZU5vZGUmIG5vZGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmgKaW5kZXggNjMzM2I3
ZTI0YTQ5YzBmN2Q3MzAxMjY5MTQxMWY5MmMxMzM1MDEyNS4uYTA1Mzc5MTNjOTA1ODA4OTM3MGY3
MmIyZGNlNWYyMWNhMDBlYmNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lm
IEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpICYmIEVOQUJMRShTQ1JPTExJTkdfVEhSRUFEKQogCisj
aW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgiCiAjaW5jbHVkZSAiU2Nyb2xs
aW5nU3RhdGVUcmVlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZS5oIgogI2luY2x1ZGUgPHd0
Zi9Db25kaXRpb24uaD4KQEAgLTY5LDYgKzcwLDcgQEAgcHJvdGVjdGVkOgogCiAgICAgdm9pZCBz
Y3JvbGxpbmdUcmVlTm9kZURpZFNjcm9sbChTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZSYsIFNj
cm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24gPSBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9u
OjpTeW5jKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcm9sbGluZ1RyZWVOb2RlRGlkU3RvcEFuaW1h
dGVkU2Nyb2xsKFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlJikgb3ZlcnJpZGU7CisgICAgYm9v
bCBzY3JvbGxpbmdUcmVlTm9kZVJlcXVlc3RzU2Nyb2xsKFNjcm9sbGluZ05vZGVJRCwgY29uc3Qg
UmVxdWVzdGVkU2Nyb2xsRGF0YSYpIG92ZXJyaWRlIFdURl9SRVFVSVJFU19MT0NLKG1fdHJlZUxv
Y2spOwogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQgaGFuZGxlV2hlZWxFdmVudFBoYXNl
KFNjcm9sbGluZ05vZGVJRCwgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UpIG92ZXJyaWRlOwpAQCAt
ODgsNiArOTAsOSBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNUaHJlYWRlZFNjcm9sbGluZ1RyZWUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBwcm9wYWdhdGVTeW5j
aHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoY29uc3QgSGFzaFNldDxTY3JvbGxpbmdOb2RlSUQ+Jikg
V1RGX1JFUVVJUkVTX0xPQ0sobV90cmVlTG9jaykgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIGRpZENv
bW1pdFRyZWUoKSBmaW5hbDsKKyAgICB2b2lkIGRpZENvbW1pdFRyZWVPblNjcm9sbGluZ1RocmVh
ZCgpIFdURl9SRVFVSVJFU19MT0NLKG1fdHJlZUxvY2spOworCiAgICAgdm9pZCBkaXNwbGF5RGlk
UmVmcmVzaE9uU2Nyb2xsaW5nVGhyZWFkKCk7CiAgICAgdm9pZCB3YWl0Rm9yUmVuZGVyaW5nVXBk
YXRlQ29tcGxldGlvbk9yVGltZW91dCgpIFdURl9SRVFVSVJFU19MT0NLKG1fdHJlZUxvY2spOwog
CkBAIC0xMTQsNiArMTE5LDcgQEAgcHJpdmF0ZToKICAgICAvLyBEeW5hbWljYWxseSBhbGxvY2F0
ZWQgYmVjYXVzZSBpdCBoYXMgdG8gdXNlIHRoZSBTY3JvbGxpbmdUaHJlYWQncyBydW5sb29wLgog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxSdW5Mb29wOjpUaW1lcjxUaHJlYWRlZFNjcm9sbGluZ1RyZWU+
PiBtX2RlbGF5ZWRSZW5kZXJpbmdVcGRhdGVEZXRlY3Rpb25UaW1lciBXVEZfR1VBUkRFRF9CWV9M
T0NLKG1fdHJlZUxvY2spOwogCisgICAgSGFzaE1hcDxTY3JvbGxpbmdOb2RlSUQsIFJlcXVlc3Rl
ZFNjcm9sbERhdGE+IG1fbm9kZXNXaXRoUGVuZGluZ1Njcm9sbEFuaW1hdGlvbnMgV1RGX0dVQVJE
RURfQllfTE9DSyhtX3RyZWVMb2NrKTsKICAgICBjb25zdCBib29sIG1fc2Nyb2xsQW5pbWF0b3JF
bmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faGFzTm9kZXNXaXRoU3luY2hyb25vdXNTY3Jv
bGxpbmdSZWFzb25zIFdURl9HVUFSREVEX0JZX0xPQ0sobV90cmVlTG9jaykgeyBmYWxzZSB9Owog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0KaW5kZXggOTIy
NjViN2NkNTQ5YmIxZWIzODMwM2Q2Yzg1NTMwYWQ5MTY1MDY2ZS4uMWYxYTVkZjk5Y2ZjZmVlMDU3
ZDdmZDc5NTk5MjQxMzgzNTMzN2FkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVNYWMubW0KQEAgLTEwMywxMSArMTAzLDYgQEAgdm9pZCBTY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlTWFjOjpjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4oY29uc3QgU2Nyb2xs
aW4KICAgICBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpjb21taXRTdGF0ZUFmdGVy
Q2hpbGRyZW4oc3RhdGVOb2RlKTsKIAogICAgIGNvbnN0IGF1dG8mIHNjcm9sbGluZ1N0YXRlTm9k
ZSA9IGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZT4oc3RhdGVOb2RlKTsKLQot
ICAgIC8vIFVwZGF0ZSB0aGUgc2Nyb2xsIHBvc2l0aW9uIGFmdGVyIGNoaWxkIG5vZGVzIGhhdmUg
YmVlbiB1cGRhdGVkLCBiZWNhdXNlIHRoZXkgbmVlZCB0byBoYXZlIHVwZGF0ZWQgdGhlaXIgY29u
c3RyYWludHMgYmVmb3JlIGFueSBzY3JvbGxpbmcgaGFwcGVucy4KLSAgICBpZiAoc2Nyb2xsaW5n
U3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZU5vZGU6OlByb3BlcnR5
OjpSZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvbikpCi0gICAgICAgIGhhbmRsZVNjcm9sbFBvc2l0aW9u
UmVxdWVzdChzY3JvbGxpbmdTdGF0ZU5vZGUucmVxdWVzdGVkU2Nyb2xsRGF0YSgpKTsKLQogICAg
IGlmIChpc1Jvb3ROb2RlKCkKICAgICAgICAgJiYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFu
Z2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVOb2RlOjpQcm9wZXJ0eTo6U2Nyb2xsZWRDb250ZW50
c0xheWVyKQogICAgICAgICB8fCBzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5
KFNjcm9sbGluZ1N0YXRlTm9kZTo6UHJvcGVydHk6OlRvdGFsQ29udGVudHNTaXplKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVy
Zmxvd1Njcm9sbGluZ05vZGVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmgKaW5kZXggYWQxNzI2NmI1
NWJlZDhkZjRhNDM1N2JlNGZmMjVkODgyODMyMDYwZC4uNzcwY2M0N2MxODExZGVkN2Q5NDRkNTg3
MTE2ZmE0ZTY0ODFjY2VlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZU1hYy5oCkBAIC00Myw3ICs0Myw2IEBAIHByb3RlY3RlZDoKICAgICBTY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjKFNjcm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdOb2Rl
SUQpOwogCiAgICAgdm9pZCBjb21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFNjcm9sbGlu
Z1N0YXRlTm9kZSYpIG92ZXJyaWRlOwotICAgIHZvaWQgY29tbWl0U3RhdGVBZnRlckNoaWxkcmVu
KGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSYpIG92ZXJyaWRlOwogICAgIAogICAgIEZsb2F0UG9p
bnQgYWRqdXN0ZWRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiwgU2Nyb2xsQ2xhbXBp
bmcpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlTWFjLm1tCmluZGV4IGRjMmVkY2FmMDBhNDViNzRhZGJmMmZhZGExNGY3NjYxMTkw
YTNmMTkuLmIxMjgyNTQyYTA5ZWJiY2M4M2NjMGIzOTNjMzNmYzNlYTgxM2I5ZmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZs
b3dTY3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tCkBAIC02MSwxNiAr
NjEsNiBAQCB2b2lkIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWM6OmNvbW1p
dFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2NybwogICAgIG1fZGVsZWdhdGUudXBkYXRlRnJv
bVN0YXRlTm9kZShkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4o
c3RhdGVOb2RlKSk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9k
ZU1hYzo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSYg
c3RhdGVOb2RlKQotewotICAgIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNv
bW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbihzdGF0ZU5vZGUpOwotCi0gICAgY29uc3QgYXV0byYgb3Zl
cmZsb3dTdGF0ZU5vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZT4oc3RhdGVOb2RlKTsKLQotICAgIGlmIChvdmVyZmxvd1N0YXRlTm9kZS5oYXNDaGFuZ2Vk
UHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVOb2RlOjpQcm9wZXJ0eTo6UmVxdWVzdGVkU2Nyb2xsUG9z
aXRpb24pKQotICAgICAgICBoYW5kbGVTY3JvbGxQb3NpdGlvblJlcXVlc3Qob3ZlcmZsb3dTdGF0
ZU5vZGUucmVxdWVzdGVkU2Nyb2xsRGF0YSgpKTsKLX0KLQogV2hlZWxFdmVudEhhbmRsaW5nUmVz
dWx0IFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWM6OmhhbmRsZVdoZWVsRXZl
bnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBFdmVudFRhcmdldGluZyBl
dmVudFRhcmdldGluZykKIHsKICNpZiBFTkFCTEUoU0NST0xMSU5HX1RIUkVBRCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxp
bmdDb29yZGluYXRvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxh
eWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmNwcAppbmRleCAyYzRhMjNk
MDMzYzdkZDVhMDZhMDk1Y2U0MzRkYzUxZmUwZjM5N2U1Li5lNTY1NzhhYThiMWM2Y2ZmZTU4OTI0
ZmYzMmFlNGNhOWM2ZWI5OWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9S
ZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nv
b3JkaW5hdG9yUHJveHkuY3BwCkBAIC0yNDEsMTMgKzI0MSwxNyBAQCB2b2lkIFJlbW90ZVNjcm9s
bGluZ0Nvb3JkaW5hdG9yUHJveHk6OnNjcm9sbGluZ1RyZWVOb2RlRGlkU3RvcEFuaW1hdGVkU2Ny
b2xsKFNjcgogICAgIG1fd2ViUGFnZVByb3h5LnNlbmQoTWVzc2FnZXM6OlJlbW90ZVNjcm9sbGlu
Z0Nvb3JkaW5hdG9yOjpBbmltYXRlZFNjcm9sbERpZEVuZEZvck5vZGUoc2Nyb2xsZWROb2RlSUQp
KTsKIH0KIAotdm9pZCBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5OjpzY3JvbGxpbmdU
cmVlTm9kZVJlcXVlc3RzU2Nyb2xsKFNjcm9sbGluZ05vZGVJRCBzY3JvbGxlZE5vZGVJRCwgY29u
c3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Ny
b2xsQ2xhbXBpbmcpCitib29sIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OnNjcm9s
bGluZ1RyZWVOb2RlUmVxdWVzdHNTY3JvbGwoU2Nyb2xsaW5nTm9kZUlEIHNjcm9sbGVkTm9kZUlE
LCBjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBl
LCBTY3JvbGxDbGFtcGluZykKIHsKICAgICBpZiAoc2Nyb2xsZWROb2RlSUQgPT0gcm9vdFNjcm9s
bGluZ05vZGVJRCgpICYmIG1fcmVxdWVzdGVkU2Nyb2xsSW5mbykgeworICAgICAgICAvLyBGSVhN
RTogSGFuZGxlIGFuaW1hdGVkIHNjcm9sbHMuCiAgICAgICAgIG1fcmVxdWVzdGVkU2Nyb2xsSW5m
by0+cmVxdWVzdHNTY3JvbGxQb3NpdGlvblVwZGF0ZSA9IHRydWU7CiAgICAgICAgIG1fcmVxdWVz
dGVkU2Nyb2xsSW5mby0+cmVxdWVzdElzUHJvZ3JhbW1hdGljU2Nyb2xsID0gc2Nyb2xsVHlwZSA9
PSBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWM7CiAgICAgICAgIG1fcmVxdWVzdGVkU2Nyb2xsSW5m
by0+cmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbjsKKyAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQorICAgIAorICAgIHJldHVybiBmYWxzZTsKIH0KIAogU3RyaW5nIFJl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OnNjcm9sbGluZ1RyZWVBc1RleHQoKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1Jl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmgKaW5kZXgg
NTUzM2EyZDlhNWNjZmMxYjA5OTI5OTA1NDJiYTRiYmZhMDgzNTQzMi4uYWMyNjEyMTQ2ODk4M2Rk
M2E4YTc4N2UwZDBhODk5ZTI4MDFkMGFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xs
aW5nQ29vcmRpbmF0b3JQcm94eS5oCkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKIAogICAgIC8v
IEluZm9ybSB0aGUgd2ViIHByb2Nlc3MgdGhhdCB0aGUgc2Nyb2xsIHBvc2l0aW9uIGNoYW5nZWQg
KGNhbGxlZCBmcm9tIHRoZSBzY3JvbGxpbmcgdHJlZSkKICAgICB2b2lkIHNjcm9sbGluZ1RyZWVO
b2RlRGlkU2Nyb2xsKFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRCwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRQb2ludCYgbmV3U2Nyb2xsUG9zaXRpb24sIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
RmxvYXRQb2ludD4mIGxheW91dFZpZXdwb3J0T3JpZ2luLCBXZWJDb3JlOjpTY3JvbGxpbmdMYXll
clBvc2l0aW9uQWN0aW9uKTsKLSAgICB2b2lkIHNjcm9sbGluZ1RyZWVOb2RlUmVxdWVzdHNTY3Jv
bGwoV2ViQ29yZTo6U2Nyb2xsaW5nTm9kZUlELCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBz
Y3JvbGxQb3NpdGlvbiwgV2ViQ29yZTo6U2Nyb2xsVHlwZSwgV2ViQ29yZTo6U2Nyb2xsQ2xhbXBp
bmcpOworICAgIGJvb2wgc2Nyb2xsaW5nVHJlZU5vZGVSZXF1ZXN0c1Njcm9sbChXZWJDb3JlOjpT
Y3JvbGxpbmdOb2RlSUQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9u
LCBXZWJDb3JlOjpTY3JvbGxUeXBlLCBXZWJDb3JlOjpTY3JvbGxDbGFtcGluZyk7CiAgICAgdm9p
ZCBzY3JvbGxpbmdUcmVlTm9kZURpZFN0b3BBbmltYXRlZFNjcm9sbChXZWJDb3JlOjpTY3JvbGxp
bmdOb2RlSUQpOwogCiAgICAgV2ViQ29yZTo6VHJhY2tpbmdUeXBlIGV2ZW50VHJhY2tpbmdUeXBl
Rm9yUG9pbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnROYW1lLCBXZWJDb3JlOjpJbnRQb2ludCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRy
ZWUvUmVtb3RlU2Nyb2xsaW5nVHJlZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1v
dGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nVHJlZS5jcHAKaW5kZXggZDY2YTQyMGM0NmU4ODNl
YmUwNjMzZjZjNGY1OWQ0ZDMwYWE2ZjcyYi4uMjk4NzBjNzU5NWM3ZWE4NmE2ZThiYzhiOGY1NDBm
NDJjODg1MDBlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5
ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdUcmVlLmNwcApAQCAtOTksOSArOTks
OSBAQCB2b2lkIFJlbW90ZVNjcm9sbGluZ1RyZWU6OnNjcm9sbGluZ1RyZWVOb2RlRGlkU3RvcEFu
aW1hdGVkU2Nyb2xsKFNjcm9sbGluZ1RyZWVTYwogICAgIG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3JQ
cm94eS5zY3JvbGxpbmdUcmVlTm9kZURpZFN0b3BBbmltYXRlZFNjcm9sbChub2RlLnNjcm9sbGlu
Z05vZGVJRCgpKTsKIH0KIAotdm9pZCBSZW1vdGVTY3JvbGxpbmdUcmVlOjpzY3JvbGxpbmdUcmVl
Tm9kZVJlcXVlc3RzU2Nyb2xsKFNjcm9sbGluZ05vZGVJRCBub2RlSUQsIGNvbnN0IEZsb2F0UG9p
bnQmIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5n
IGNsYW1waW5nKQorYm9vbCBSZW1vdGVTY3JvbGxpbmdUcmVlOjpzY3JvbGxpbmdUcmVlTm9kZVJl
cXVlc3RzU2Nyb2xsKFNjcm9sbGluZ05vZGVJRCBub2RlSUQsIGNvbnN0IFJlcXVlc3RlZFNjcm9s
bERhdGEmIHJlcXVlc3QpCiB7Ci0gICAgbV9zY3JvbGxpbmdDb29yZGluYXRvclByb3h5LnNjcm9s
bGluZ1RyZWVOb2RlUmVxdWVzdHNTY3JvbGwobm9kZUlELCBzY3JvbGxQb3NpdGlvbiwgc2Nyb2xs
VHlwZSwgY2xhbXBpbmcpOworICAgIHJldHVybiBtX3Njcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHku
c2Nyb2xsaW5nVHJlZU5vZGVSZXF1ZXN0c1Njcm9sbChub2RlSUQsIHJlcXVlc3Quc2Nyb2xsUG9z
aXRpb24sIHJlcXVlc3Quc2Nyb2xsVHlwZSwgcmVxdWVzdC5jbGFtcGluZyk7CiB9CiAKIFJlZjxT
Y3JvbGxpbmdUcmVlTm9kZT4gUmVtb3RlU2Nyb2xsaW5nVHJlZTo6Y3JlYXRlU2Nyb2xsaW5nVHJl
ZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVt
b3RlU2Nyb2xsaW5nVHJlZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJU
cmVlL1JlbW90ZVNjcm9sbGluZ1RyZWUuaAppbmRleCBmNmZhOGY2ZjAzYzRlMWQyZjRlYTUwMTlj
NGNiNDA5YzlhNDQ1ODU1Li5hZTEyOTM5MDk1YjE5N2M4NmU4YjA4N2JiY2RkYzk0NTYzNjJmMzU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVt
b3RlU2Nyb2xsaW5nVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxh
eWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdUcmVlLmgKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgog
CiAgICAgdm9pZCBzY3JvbGxpbmdUcmVlTm9kZURpZFNjcm9sbChXZWJDb3JlOjpTY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZSYsIFdlYkNvcmU6OlNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24g
PSBXZWJDb3JlOjpTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uOjpTeW5jKSBmaW5hbDsKICAg
ICB2b2lkIHNjcm9sbGluZ1RyZWVOb2RlRGlkU3RvcEFuaW1hdGVkU2Nyb2xsKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlJikgZmluYWw7Ci0gICAgdm9pZCBzY3JvbGxpbmdUcmVl
Tm9kZVJlcXVlc3RzU2Nyb2xsKFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRCwgY29uc3QgV2ViQ29y
ZTo6RmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIFdlYkNvcmU6OlNjcm9sbFR5cGUsIFdlYkNv
cmU6OlNjcm9sbENsYW1waW5nKSBmaW5hbDsKKyAgICBib29sIHNjcm9sbGluZ1RyZWVOb2RlUmVx
dWVzdHNTY3JvbGwoV2ViQ29yZTo6U2Nyb2xsaW5nTm9kZUlELCBjb25zdCBXZWJDb3JlOjpSZXF1
ZXN0ZWRTY3JvbGxEYXRhJikgZmluYWw7CiAKICAgICB2b2lkIGN1cnJlbnRTbmFwUG9pbnRJbmRp
Y2VzRGlkQ2hhbmdlKFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRCwgc3RkOjpvcHRpb25hbDx1bnNp
Z25lZD4gaG9yaXpvbnRhbCwgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gdmVydGljYWwpIGZpbmFs
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUv
aW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVSZW1vdGVJT1MubW0KaW5kZXggZjZkYTk2OTFmYjczNjU0NzMzYTM0ZGYyMjEz
MTBlMTk4MTRmMGI5Mi4uMTlmYTQ5ZjU0YmEyNmRiYzFmMTE4Y2IxOGJlOGQ0MjQxNWY5MGYxNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9T
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZVJlbW90ZUlPUy5tbQpAQCAtODcsMTUgKzg3LDggQEAgdm9pZCBTY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TOjpjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4o
Y29uc3QgU2MKICAgICBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpjb21taXRTdGF0
ZUFmdGVyQ2hpbGRyZW4oc3RhdGVOb2RlKTsKIAogICAgIGNvbnN0IGF1dG8mIHNjcm9sbGluZ1N0
YXRlTm9kZSA9IGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPihzdGF0
ZU5vZGUpOwotCi0gICAgaWYgKG1fc2Nyb2xsaW5nTm9kZURlbGVnYXRlKSB7CisgICAgaWYgKG1f
c2Nyb2xsaW5nTm9kZURlbGVnYXRlKQogICAgICAgICBtX3Njcm9sbGluZ05vZGVEZWxlZ2F0ZS0+
Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKHNjcm9sbGluZ1N0YXRlTm9kZSk7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICAvLyBVcGRhdGUgdGhlIHNjcm9sbCBwb3NpdGlvbiBhZnRlciBj
aGlsZCBub2RlcyBoYXZlIGJlZW4gdXBkYXRlZCwgYmVjYXVzZSB0aGV5IG5lZWQgdG8gaGF2ZSB1
cGRhdGVkIHRoZWlyIGNvbnN0cmFpbnRzIGJlZm9yZSBhbnkgc2Nyb2xsaW5nIGhhcHBlbnMuCi0g
ICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3Rh
dGVOb2RlOjpQcm9wZXJ0eTo6UmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24pKQotICAgICAgICBoYW5k
bGVTY3JvbGxQb3NpdGlvblJlcXVlc3Qoc2Nyb2xsaW5nU3RhdGVOb2RlLnJlcXVlc3RlZFNjcm9s
bERhdGEoKSk7CiB9CiAKIEZsb2F0UG9pbnQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZVJlbW90ZUlPUzo6bWluaW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QK
</data>
<flag name="review"
          id="464682"
          type_id="1"
          status="+"
          setter="thorton"
    />
    <flag name="commit-queue"
          id="464685"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>