<?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>216034</bug_id>
          
          <creation_ts>2020-09-01 06:21:45 -0700</creation_ts>
          <short_desc>Introduce a ThreadableWebSocketChannel identifier</short_desc>
          <delta_ts>2020-09-02 09:11:13 -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>Page Loading</component>
          <version>WebKit Local 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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>beidson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>toyoshim</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1684446</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-01 06:21:45 -0700</bug_when>
    <thetext>Introduce a ThreadableWebSocketChannel identifier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684447</commentid>
    <comment_count>1</comment_count>
      <attachid>407674</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-01 06:24:59 -0700</bug_when>
    <thetext>Created attachment 407674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684450</commentid>
    <comment_count>2</comment_count>
      <attachid>407675</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-01 06:40:07 -0700</bug_when>
    <thetext>Created attachment 407675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684458</commentid>
    <comment_count>3</comment_count>
      <attachid>407678</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-01 07:32:06 -0700</bug_when>
    <thetext>Created attachment 407678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684835</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-02 09:10:24 -0700</bug_when>
    <thetext>Committed r266467: &lt;https://trac.webkit.org/changeset/266467&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 407678.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684836</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-02 09:11:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/68213869&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407674</attachid>
            <date>2020-09-01 06:24:59 -0700</date>
            <delta_ts>2020-09-01 06:40:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216034-20200901152457.patch</filename>
            <type>text/plain</type>
            <size>42978</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MzQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDgzZWU4MmI0NDc0Yzk0
ZDgzNTQxYjUyZGUzYThjN2JiMzhkY2U3ZS4uNTc0NDUzMWQ3MDU3M2Q3ZGJhOGZlNTVkZjBmMWI1
NTQwZTJiZjVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA5LTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgYSBUaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbCBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTYwMzQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGVhbi11cCBjb2RlIHRvIGhhdmUgYSBzaW5nbGUg
aWRlbnRpZmllciBmb3IgYWxsIFdlYlNvY2tldHMuCisgICAgICAgIFdlIHVzZSBhIFdlYlNvY2tl
dElkZW50aWZpZXIgdGhhdCBpcyBub3cgbW92ZWQgZnJvbSBXZWJLaXQgdG8gV2ViQ29yZS4KKyAg
ICAgICAgTm8gY2hhbmdlIG9mIGJlaGF2aW9yLgorCisgICAgICAgICogTW9kdWxlcy93ZWJzb2Nr
ZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCk6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmg6
CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6cmVmKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpkZXJlZik6CisgICAg
ICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6aWRlbnRpZmllciBjb25z
dCk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y29ubmVjdCk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpjbGllbnRIYW5kc2hha2VSZXF1ZXN0IGNvbnN0KToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oOgorICAgICAg
ICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViU29ja2V0SGFuZHNoYWtlOjpjbGllbnRIYW5kc2hha2VSZXF1ZXN0IGNvbnN0
KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmg6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsLmg6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZW5hYmxlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6d2ViU29ja2V0Rm9yUmVxdWVzdElkKToKKyAg
ICAgICAgKiBwYWdlL1NvY2tldFByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tl
dFByb3ZpZGVyOjpjcmVhdGVTb2NrZXRTdHJlYW1IYW5kbGUpOgorICAgICAgICAqIHBhZ2UvU29j
a2V0UHJvdmlkZXIuaDoKKwogMjAyMC0wOS0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgRW5hYmxlIGluc3BlY3Rpb24gb2YgV2ViU29ja2V0IHdoZW4gb3Bl
bmluZyBXZWIgSW5zcGVjdG9yIGluIHRoZSBtaWRkbGUgb2YgdGhlIGNvbm5lY3Rpb24gbGlrZSBk
b25lIGZvciB0aGUgbGVnYWN5IFdlYlNvY2tldCBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBj
ODMwYzA0NmRjNTQ3ZjQ5YjVjOGQ4YjcwYTFkMjA0YWFhNDNlMDdlLi5lMWE1ZTFiNDk3YmY0OWI0
MzBhNWM4NTRkZjNlN2E5ZTkyODE4NzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIw
LTA5LTAxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRy
b2R1Y2UgYSBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCBpZGVudGlmaWVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTYwMzQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFubmVsLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5oOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
L21lc3NhZ2VzLnB5OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViU29ja2V0Q2hhbm5lbDo6V2ViU29ja2V0Q2hhbm5lbCk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuaDoKKyAgICAgICAgKFdl
YktpdDo6V2ViU29ja2V0Q2hhbm5lbDo6aWRlbnRpZmllciBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWxNYW5hZ2VyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldElkZW50aWZpZXIuaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlkZXIuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTb2NrZXRQcm92aWRlcjo6Y3JlYXRlU29ja2V0U3RyZWFtSGFuZGxl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlkZXIuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViU29ja2V0U3RyZWFtOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJT
b2NrZXRTdHJlYW06OldlYlNvY2tldFN0cmVhbSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlNvY2tldFN0cmVhbS5oOgorCiAyMDIwLTA5LTAxICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUgaW5zcGVjdGlvbiBvZiBXZWJTb2NrZXQg
d2hlbiBvcGVuaW5nIFdlYiBJbnNwZWN0b3IgaW4gdGhlIG1pZGRsZSBvZiB0aGUgY29ubmVjdGlv
biBsaWtlIGRvbmUgZm9yIHRoZSBsZWdhY3kgV2ViU29ja2V0IGltcGxlbWVudGF0aW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1RocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCA2MmJmZTE3NjZjNGMyNmMxNDY2NjYwZTZi
YmQ2MjVmNjQwMTQ3MzFmLi5iYzUxY2U0ZTE5ZTBjMGJlNGM5YjhiYjYxZmY2YmJjNWUzNWRkZjI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTc5LDYgKzc5LDExIEBAIFJl
ZjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6
OmNyZWF0ZShTY3JpcHRFeGVjdXRpCiAgICAgcmV0dXJuIGNyZWF0ZShkb3duY2FzdDxEb2N1bWVu
dD4oY29udGV4dCksIGNsaWVudCwgcHJvdmlkZXIpOwogfQogCitUaHJlYWRhYmxlV2ViU29ja2V0
Q2hhbm5lbDo6VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKQorICAgIDogbV9pZGVudGlmaWVy
KFdlYlNvY2tldElkZW50aWZpZXI6OmdlbmVyYXRlVGhyZWFkU2FmZSgpKQoreworfQorCiBPcHRp
b25hbDxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6VmFsaWRhdGVkVVJMPiBUaHJlYWRhYmxl
V2ViU29ja2V0Q2hhbm5lbDo6dmFsaWRhdGVVUkwoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBV
UkwmIHJlcXVlc3RlZFVSTCkKIHsKICAgICBWYWxpZGF0ZWRVUkwgdmFsaWRhdGVkVVJMIHsgcmVx
dWVzdGVkVVJMLCB0cnVlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IGM0MjUz
ZDZiN2UxYjRhZjczMDU3YzYzNWQ5YjFmNzlkMjlkNTg1YTIuLmMzOTdmYWEwNmFkODY3NjZiYjZh
OTRjNDFjOTg0ZGZmMmY2YzIxOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC0z
MCw2ICszMCw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiV2ViU29ja2V0SWRlbnRp
Zmllci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtNTMsMjAgKzU0LDIzIEBAIGNsYXNzIFRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFRocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoRG9jdW1lbnQmLCBXZWJTb2NrZXRDaGFubmVs
Q2xpZW50JiwgU29ja2V0UHJvdmlkZXImKTsKICAgICBzdGF0aWMgUmVmPFRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdlYlNvY2tldENo
YW5uZWxDbGllbnQmLCBTb2NrZXRQcm92aWRlciYpOwotICAgIFRocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsKCkgPSBkZWZhdWx0OworICAgIFdFQkNPUkVfRVhQT1JUIFRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsKCk7CiAKLSAgICBlbnVtIFNlbmRSZXN1bHQgewotICAgICAgICBTZW5kU3VjY2Vz
cywKLSAgICAgICAgU2VuZEZhaWwKLSAgICB9OworICAgIHZvaWQgcmVmKCkgeyByZWZUaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbCgpOyB9CisgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbCgpOyB9CisKKyAgICBXZWJTb2NrZXRJZGVudGlmaWVyIGlkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH07CiAKICAgICBlbnVtIGNsYXNz
IENvbm5lY3RTdGF0dXMgeyBLTywgT0sgfTsKICAgICB2aXJ0dWFsIENvbm5lY3RTdGF0dXMgY29u
bmVjdChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKSA9IDA7CiAgICAgdmlydHVh
bCBTdHJpbmcgc3VicHJvdG9jb2woKSA9IDA7IC8vIFdpbGwgYmUgYXZhaWxhYmxlIGFmdGVyIGRp
ZENvbm5lY3QoKSBjYWxsYmFjayBpcyBpbnZva2VkLgogICAgIHZpcnR1YWwgU3RyaW5nIGV4dGVu
c2lvbnMoKSA9IDA7IC8vIFdpbGwgYmUgYXZhaWxhYmxlIGFmdGVyIGRpZENvbm5lY3QoKSBjYWxs
YmFjayBpcyBpbnZva2VkLgorCisgICAgZW51bSBTZW5kUmVzdWx0IHsgU2VuZFN1Y2Nlc3MsIFNl
bmRGYWlsIH07CiAgICAgdmlydHVhbCBTZW5kUmVzdWx0IHNlbmQoY29uc3QgU3RyaW5nJiBtZXNz
YWdlKSA9IDA7CiAgICAgdmlydHVhbCBTZW5kUmVzdWx0IHNlbmQoY29uc3QgSlNDOjpBcnJheUJ1
ZmZlciYsIHVuc2lnbmVkIGJ5dGVPZmZzZXQsIHVuc2lnbmVkIGJ5dGVMZW5ndGgpID0gMDsKICAg
ICB2aXJ0dWFsIFNlbmRSZXN1bHQgc2VuZChCbG9iJikgPSAwOworCiAgICAgdmlydHVhbCB1bnNp
Z25lZCBidWZmZXJlZEFtb3VudCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2Uo
aW50IGNvZGUsIGNvbnN0IFN0cmluZyYgcmVhc29uKSA9IDA7CiAgICAgLy8gTG9nIHRoZSByZWFz
b24gdGV4dCBhbmQgY2xvc2UgdGhlIGNvbm5lY3Rpb24uIFdpbGwgY2FsbCBkaWRDbG9zZSgpLgpA
QCAtNzYsMTQgKzgwLDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZCgpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lKCkgPSAwOwogCi0gICAgdm9pZCByZWYoKSB7IHJl
ZlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCk7IH0KLSAgICB2b2lkIGRlcmVmKCkgeyBkZXJl
ZlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCk7IH0KLQotICAgIC8vIEZJWE1FOiBNZXJnZSBj
aGFubmVsSWRlbnRpZmllciBhbmQgaWRlbnRpZmllci4KLSAgICB2aXJ0dWFsIHVuc2lnbmVkIGNo
YW5uZWxJZGVudGlmaWVyKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBoYXNDcmVhdGVk
SGFuZHNoYWtlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0Nvbm5lY3RlZCgpIGNv
bnN0ID0gMDsKLSAgICB2aXJ0dWFsIFJlc291cmNlUmVxdWVzdCBjbGllbnRIYW5kc2hha2VSZXF1
ZXN0KEZ1bmN0aW9uPFN0cmluZyhjb25zdCBVUkwmKT4mJikgY29uc3QgPSAwOworICAgIHVzaW5n
IENvb2tpZUdldHRlciA9IEZ1bmN0aW9uPFN0cmluZyhjb25zdCBVUkwmKT47CisgICAgdmlydHVh
bCBSZXNvdXJjZVJlcXVlc3QgY2xpZW50SGFuZHNoYWtlUmVxdWVzdChjb25zdCBDb29raWVHZXR0
ZXImKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBzZXJ2
ZXJIYW5kc2hha2VSZXNwb25zZSgpIGNvbnN0ID0gMDsKIAogcHJvdGVjdGVkOgpAQCAtOTcsNiAr
OTcsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgfTsKICAgICBzdGF0aWMgT3B0aW9uYWw8VmFsaWRhdGVk
VVJMPiB2YWxpZGF0ZVVSTChEb2N1bWVudCYsIGNvbnN0IFVSTCYpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyBPcHRpb25hbDxSZXNvdXJjZVJlcXVlc3Q+IHdlYlNvY2tldENvbm5lY3RSZXF1
ZXN0KERvY3VtZW50JiwgY29uc3QgVVJMJik7CisKKyAgICBXZWJTb2NrZXRJZGVudGlmaWVyIG1f
aWRlbnRpZmllcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRl
eCA3ODA0ZGY0YTJiZTI3ZWZkNTM1NmMzMjljODNlMTAzNmU1MDZhZWRlLi5mMDA0MGEyNDYwM2Q0
NGUyYzI1YjFjZDRhMjIzNjc5NzNhZjVhMjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC0xMTAsNyArMTEw
LDcgQEAgV2ViU29ja2V0Q2hhbm5lbDo6Q29ubmVjdFN0YXR1cyBXZWJTb2NrZXRDaGFubmVsOjpj
b25uZWN0KGNvbnN0IFVSTCYgcmVxdWVzdGVkVVIKIAogICAgIHJlZigpOwogICAgIFN0cmluZyBw
YXJ0aXRpb24gPSBtX2RvY3VtZW50LT5kb21haW5Gb3JDYWNoZVBhcnRpdGlvbigpOwotICAgIG1f
aGFuZGxlID0gbV9zb2NrZXRQcm92aWRlci0+Y3JlYXRlU29ja2V0U3RyZWFtSGFuZGxlKG1faGFu
ZHNoYWtlLT51cmwoKSwgKnRoaXMsIHBhZ2UtPnNlc3Npb25JRCgpLCBwYXJ0aXRpb24sIGZyYW1l
LT5sb2FkZXIoKS5uZXR3b3JraW5nQ29udGV4dCgpKTsKKyAgICBtX2hhbmRsZSA9IG1fc29ja2V0
UHJvdmlkZXItPmNyZWF0ZVNvY2tldFN0cmVhbUhhbmRsZShtX2hhbmRzaGFrZS0+dXJsKCksICp0
aGlzLCBpZGVudGlmaWVyKCksIHBhZ2UtPnNlc3Npb25JRCgpLCBwYXJ0aXRpb24sIGZyYW1lLT5s
b2FkZXIoKS5uZXR3b3JraW5nQ29udGV4dCgpKTsKICAgICByZXR1cm4gQ29ubmVjdFN0YXR1czo6
T0s7CiB9CiAKQEAgLTgzMyw5ICs4MzMsOSBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OnNlbmRG
cmFtZShXZWJTb2NrZXRGcmFtZTo6T3BDb2RlIG9wQ29kZSwgY29uc3QgY2hhciogZGF0YQogICAg
IG1faGFuZGxlLT5zZW5kRGF0YShmcmFtZURhdGEuZGF0YSgpLCBmcmFtZURhdGEuc2l6ZSgpLCBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKLVJlc291cmNlUmVxdWVzdCBXZWJTb2Nr
ZXRDaGFubmVsOjpjbGllbnRIYW5kc2hha2VSZXF1ZXN0KEZ1bmN0aW9uPFN0cmluZyhjb25zdCBV
UkwmKT4mJiBjb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1ZSkgY29uc3QKK1Jlc291cmNlUmVx
dWVzdCBXZWJTb2NrZXRDaGFubmVsOjpjbGllbnRIYW5kc2hha2VSZXF1ZXN0KGNvbnN0IENvb2tp
ZUdldHRlciYgY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIG1faGFuZHNoYWtlLT5jbGllbnRIYW5kc2hha2VSZXF1ZXN0KFdURk1vdmUoY29va2llUmVx
dWVzdEhlYWRlckZpZWxkVmFsdWUpKTsKKyAgICByZXR1cm4gbV9oYW5kc2hha2UtPmNsaWVudEhh
bmRzaGFrZVJlcXVlc3QoY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUpOwogfQogCiBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiBXZWJTb2NrZXRDaGFubmVsOjpzZXJ2ZXJIYW5kc2hha2VSZXNw
b25zZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuaAppbmRleCAxN2Y5NWFlMWE0NTFjY2YzYmE0ZWE1ZDJkMjgzN2Nl
MWM2ZGY0NzU4Li4zN2U3NDVlMjk0NmFjMTEzOTdjMjUwYzhiM2NkYmY4ZTFlMWI3YWQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmgKQEAgLTExNCwxMSArMTE0LDkgQEAgcHVibGljOgogICAgIHZvaWQgZGlkRmluaXNoTG9h
ZGluZygpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkRmFpbChFeGNlcHRpb25Db2RlIGVycm9yQ29k
ZSkgb3ZlcnJpZGU7CiAKLSAgICB1bnNpZ25lZCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4g
bV9pZGVudGlmaWVyOyB9Ci0gICAgdW5zaWduZWQgY2hhbm5lbElkZW50aWZpZXIoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KICAgICBib29sIGhhc0NyZWF0ZWRIYW5kc2hh
a2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiAhIW1faGFuZHNoYWtlOyB9CiAgICAgYm9vbCBpc0Nv
bm5lY3RlZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faGFuZHNoYWtlLT5tb2RlKCkgPT0gV2Vi
U29ja2V0SGFuZHNoYWtlOjpNb2RlOjpDb25uZWN0ZWQ7IH0KLSAgICBSZXNvdXJjZVJlcXVlc3Qg
Y2xpZW50SGFuZHNoYWtlUmVxdWVzdChGdW5jdGlvbjxTdHJpbmcoY29uc3QgVVJMJik+JiYgY29v
a2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUpIGNvbnN0IGZpbmFsOworICAgIFJlc291cmNlUmVx
dWVzdCBjbGllbnRIYW5kc2hha2VSZXF1ZXN0KGNvbnN0IENvb2tpZUdldHRlciYpIGNvbnN0IGZp
bmFsOwogICAgIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHNlcnZlckhhbmRzaGFrZVJlc3BvbnNl
KCkgY29uc3QgZmluYWw7CiAKICAgICB1c2luZyBSZWZDb3VudGVkPFdlYlNvY2tldENoYW5uZWw+
OjpyZWY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0SGFuZHNoYWtlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9X
ZWJTb2NrZXRIYW5kc2hha2UuY3BwCmluZGV4IDNkMmE1MjZmYTBhNjM5NjRmYmFhYTRhOWM5MDg0
OGIxNDUyOTdjYjguLmFlM2UxMTM1ZDFmMjkwMGQwNDRkZDZmZDdiZTU5MzE3M2Y3YWQ5NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5k
c2hha2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2Nr
ZXRIYW5kc2hha2UuY3BwCkBAIC0yMTYsNyArMjE2LDcgQEAgQ1N0cmluZyBXZWJTb2NrZXRIYW5k
c2hha2U6OmNsaWVudEhhbmRzaGFrZU1lc3NhZ2UoKSBjb25zdAogICAgIHJldHVybiBidWlsZGVy
LnRvU3RyaW5nKCkudXRmOCgpOwogfQogCi1SZXNvdXJjZVJlcXVlc3QgV2ViU29ja2V0SGFuZHNo
YWtlOjpjbGllbnRIYW5kc2hha2VSZXF1ZXN0KEZ1bmN0aW9uPFN0cmluZyhjb25zdCBVUkwmKT4m
JiBjb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1ZSkgY29uc3QKK1Jlc291cmNlUmVxdWVzdCBX
ZWJTb2NrZXRIYW5kc2hha2U6OmNsaWVudEhhbmRzaGFrZVJlcXVlc3QoY29uc3QgRnVuY3Rpb248
U3RyaW5nKGNvbnN0IFVSTCYpPiYgY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUpIGNvbnN0
CiB7CiAgICAgLy8gS2VlcCB0aGUgZm9sbG93aW5nIGNvbnNpc3RlbnQgd2l0aCBjbGllbnRIYW5k
c2hha2VNZXNzYWdlKCkuCiAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QobV91cmwpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRz
aGFrZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRz
aGFrZS5oCmluZGV4IDczOWZiYmRkNTMyNGIwOGVhYTk5Zjk4NjY1YjVmYWFiOWUzZGVlMDUuLmVh
ZjhhNWMwNmFkMjA1OGQzZDM4OTUxMzUyMzk5NmY2YmUzZTBkZDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAg
LTY0LDcgKzY0LDcgQEAgcHVibGljOgogICAgIFN0cmluZyBjbGllbnRMb2NhdGlvbigpIGNvbnN0
OwogCiAgICAgQ1N0cmluZyBjbGllbnRIYW5kc2hha2VNZXNzYWdlKCkgY29uc3Q7Ci0gICAgUmVz
b3VyY2VSZXF1ZXN0IGNsaWVudEhhbmRzaGFrZVJlcXVlc3QoRnVuY3Rpb248U3RyaW5nKGNvbnN0
IFVSTCYpPiYmIGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlKSBjb25zdDsKKyAgICBSZXNv
dXJjZVJlcXVlc3QgY2xpZW50SGFuZHNoYWtlUmVxdWVzdChjb25zdCBGdW5jdGlvbjxTdHJpbmco
Y29uc3QgVVJMJik+JiBjb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1ZSkgY29uc3Q7CiAKICAg
ICB2b2lkIHJlc2V0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
c29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgK
aW5kZXggYWYwNjA3N2E0YmY0MGVmN2FlM2VkMTA2YjQ3NzFlODhhZTU0MzQ3Yi4uYzMzNWQ1Yjcx
MWI5NzI1M2Y3YWRkYTZjOWZmMjMwMjEwNTJmM2JlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsLmgKQEAgLTE2MCwxMSArMTYwLDEwIEBAIHByaXZhdGU6CiAKICAgICBj
bGFzcyBXb3JrZXJHbG9iYWxTY29wZURpZEluaXRpYWxpemVUYXNrOwogCi0gICAgLy8gRHVtbXkg
aW1wbGVtZW50YXRpb24gb2YgaW5zcGVjdG9yIHJlbGF0ZWQgQVBJcy4KLSAgICB1bnNpZ25lZCBj
aGFubmVsSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIDE7IH0KKyAgICAvLyBGSVhN
RTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE2ODQ3NT4gV2ViIEluc3BlY3RvcjogQ29ycmVjdGx5
IGRpc3BsYXkgaWZyYW1lJ3MgYW5kIHdvcmtlcidzIFdlYlNvY2tldHMKICAgICBib29sIGhhc0Ny
ZWF0ZWRIYW5kc2hha2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wg
aXNDb25uZWN0ZWQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQotICAgIFJlc291cmNl
UmVxdWVzdCBjbGllbnRIYW5kc2hha2VSZXF1ZXN0KEZ1bmN0aW9uPFN0cmluZyhjb25zdCBVUkwm
KT4mJikgY29uc3QgZmluYWwgeyByZXR1cm4gbV9oYW5kc2hha2VSZXF1ZXN0OyB9CisgICAgUmVz
b3VyY2VSZXF1ZXN0IGNsaWVudEhhbmRzaGFrZVJlcXVlc3QoY29uc3QgQ29va2llR2V0dGVyJikg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9oYW5kc2hha2VSZXF1ZXN0OyB9CiAgICAgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgc2VydmVySGFuZHNoYWtlUmVzcG9uc2UoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX2hhbmRzaGFrZVJlc3BvbnNlOyB9CiAKICAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+
IG1fd29ya2VyR2xvYmFsU2NvcGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmI2NjA5MDMwMzhhM2EzZmFhNWJiMjI1YWM1N2Vk
OTZkM2YyODQwOC4uMjM4M2JlNzlhNjNmYTNjZDFhZDQ1ZDExZjkwYWI1MzBjNmExNzc2YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMTEzNyw2ICsxMTM3LDcgQEAKIAkJNDFENDFDNjcyMjU2ODc0RjAwNjk3OTQyIC8qIFNlcnZp
Y2VXb3JrZXJJbnRlcm5hbHMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MUQ0MUM2NTIyNTY4NTkyMDA2OTc5NDIgLyogU2VydmljZVdvcmtlckludGVy
bmFscy5tbSAqLzsgfTsKIAkJNDFERTdDN0MyMjJEQTE0MzAwNTMyQjY1IC8qIFN0b3JhZ2VRdW90
YU1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxREU3QzdCMjIyREExM0UwMDUzMkI2NSAvKiBTdG9yYWdlUXVvdGFNYW5hZ2VyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFERUZDQjYxRTU2
QzFCRDAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDFERUZDQjQxRTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9NTWFw
TGlrZS5oICovOyB9OworCQk0MUUxMkU5RjI0RkU3NEUyMDA5M0ZGQjQgLyogV2ViU29ja2V0SWRl
bnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDFFMTJFOUQyNEZFNzRFMjAwOTNGRkI0IC8qIFdlYlNvY2tldElkZW50aWZpZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUUxQjFEMTBGRjU5
ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTFCMUNCMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFj
dFdvcmtlci5oICovOyB9OwogCQk0MUU5RENFNzIzMTk3NEJGMDBGMzU5NDkgLyogQmxvYkxvYWRl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFOURD
RTQyMzE5NzNGRTAwRjM1OTQ5IC8qIEJsb2JMb2FkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUU5RENFOTIzMTlDQTc2MDBGMzU5NDkgLyog
TmV0d29ya1NlbmRRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDFFOURDRTgyMzE5Q0E3NTAwRjM1OTQ5IC8qIE5ldHdvcmtTZW5kUXVldWUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzY4OCw2
ICs3Njg5LDcgQEAKIAkJNDFERUZDQjQxRTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTU1hcExpa2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFFMEE3RDkyM0JCNTkwMTAwNTYxMDYwIC8qIFJUQ1J0
cENvZGVjQ2FwYWJpbGl0eS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUlRDUnRwQ29kZWND
YXBhYmlsaXR5LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFFMEE3REMyM0JC
NjNEQjAwNTYxMDYwIC8qIFJUQ1J0cENvZGVjQ2FwYWJpbGl0eS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSVENSdHBDb2RlY0NhcGFiaWxpdHkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDFFMTJFOUQyNEZFNzRFMjAwOTNGRkI0IC8qIFdlYlNvY2tldElkZW50
aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU29ja2V0SWRlbnRp
Zmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUUxQjFDQTBGRjU5ODY5MDA1
NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQWJzdHJhY3RXb3JrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MUUxQjFDQjBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWJzdHJhY3RXb3JrZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDFFMUIxQ0MwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2Vy
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBYnN0cmFjdFdvcmtlci5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzI5Nyw2ICsyMzI5OSw3IEBACiAJCQkJOTdBQUJEMDkx
NEZBMDlENTAwNzQ1N0FFIC8qIFdlYlNvY2tldEV4dGVuc2lvblByb2Nlc3Nvci5oICovLAogCQkJ
CUFBRjVCN0IxMTUyNEI0QkQwMDA0Q0I0OSAvKiBXZWJTb2NrZXRGcmFtZS5jcHAgKi8sCiAJCQkJ
OTdBQUJEMEExNEZBMDlENTAwNzQ1N0FFIC8qIFdlYlNvY2tldEZyYW1lLmggKi8sCisJCQkJNDFF
MTJFOUQyNEZFNzRFMjAwOTNGRkI0IC8qIFdlYlNvY2tldElkZW50aWZpZXIuaCAqLywKIAkJCQk5
N0FBQkQwQjE0RkEwOUQ1MDA3NDU3QUUgLyogV2ViU29ja2V0SGFuZHNoYWtlLmNwcCAqLywKIAkJ
CQk5N0FBQkQwQzE0RkEwOUQ1MDA3NDU3QUUgLyogV2ViU29ja2V0SGFuZHNoYWtlLmggKi8sCiAJ
CQkJOTdBQUJEMTExNEZBMDlENTAwNzQ1N0FFIC8qIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsLmNwcCAqLywKQEAgLTMyOTcwLDYgKzMyOTczLDcgQEAKIAkJCQkxQTU4RTg2NjFEMTlE
NEYwMDBDMEVBNzMgLyogUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBMUY3NkIzNzFGNDRDNjBGMDAxNEMzMTggLyogUGF5bWVudEN1cnJlbmN5QW1vdW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMUY3NkIxRjFGNDRDM0ZFMDAxNEMzMTggLyogUGF5bWVudERl
dGFpbHNCYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUUxMkU5RjI0RkU3NEUyMDA5M0ZGQjQg
LyogV2ViU29ja2V0SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNzZCMjUxRjQ0
QzQ5MTAwMTRDMzE4IC8qIFBheW1lbnREZXRhaWxzSW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTFGNzZCNEYxRjQ0RDI0MjAwMTRDMzE4IC8qIFBheW1lbnREZXRhaWxzTW9kaWZpZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUExRjYwMDQ5MUY0NzU5NEUwMDc3RTgzRiAvKiBQYXltZW50RGV0YWls
c1VwZGF0ZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAKaW5kZXggZTAzM2FjMTc5
OTVmYjVhMjFlMzQ2YzdlNWI3MmRiNWY3YThiODk0ZC4uODY3ZTk1MDNmZWNkMjFjMGY4MTViNTU4
ZGFkNWY2ZTkzMzNiYWFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcApAQCAtODE5LDcgKzgxOSw3IEBA
IHZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50OjplbmFibGUoKQogICAgICAgICAgICAgYXV0byYg
ZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4oKndlYlNvY2tldC0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpKTsKICAgICAgICAgICAgIGF1dG8gY2hhbm5lbCA9IHdlYlNvY2tldC0+Y2hhbm5l
bCgpOwogCi0gICAgICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBjaGFubmVsLT5jaGFubmVsSWRl
bnRpZmllcigpOworICAgICAgICAgICAgYXV0byBpZGVudGlmaWVyID0gY2hhbm5lbC0+aWRlbnRp
ZmllcigpLnRvVUludDY0KCk7CiAgICAgICAgICAgICBkaWRDcmVhdGVXZWJTb2NrZXQoaWRlbnRp
Zmllciwgd2ViU29ja2V0LT51cmwoKSk7CiAKICAgICAgICAgICAgIGF1dG8gY29va2llUmVxdWVz
dEhlYWRlckZpZWxkVmFsdWUgPSBbZG9jdW1lbnQgPSBtYWtlV2Vha1B0cihkb2N1bWVudCldKGNv
bnN0IFVSTCYgdXJsKSAtPiBTdHJpbmcgewpAQCAtOTk3LDcgKzk5Nyw3IEBAIFdlYlNvY2tldCog
SW5zcGVjdG9yTmV0d29ya0FnZW50Ojp3ZWJTb2NrZXRGb3JSZXF1ZXN0SWQoY29uc3QgU3RyaW5n
JiByZXF1ZXN0SWQpCiAgICAgTG9ja0hvbGRlciBsb2NrKFdlYlNvY2tldDo6YWxsQWN0aXZlV2Vi
U29ja2V0c011dGV4KCkpOwogCiAgICAgZm9yIChhdXRvKiB3ZWJTb2NrZXQgOiBhY3RpdmVXZWJT
b2NrZXRzKGxvY2spKSB7Ci0gICAgICAgIGlmIChJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJ
ZCh3ZWJTb2NrZXQtPmNoYW5uZWwoKS0+Y2hhbm5lbElkZW50aWZpZXIoKSkgPT0gcmVxdWVzdElk
KQorICAgICAgICBpZiAoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQod2ViU29ja2V0LT5j
aGFubmVsKCktPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKSA9PSByZXF1ZXN0SWQpCiAgICAgICAg
ICAgICByZXR1cm4gd2ViU29ja2V0OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9Tb2NrZXRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NvY2tldFBy
b3ZpZGVyLmNwcAppbmRleCA4MDNhYzgzMTU1ZmY0ZGYxYmVjZjc1Y2Q0NzEwZjZmYmY3YmJjMzJh
Li4zYmVjMGFlZjE3NDMzNjkzOTgzOGZiMTA2OWZmZmJjYjlmM2Q1NjA0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NvY2tldFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NvY2tldFByb3ZpZGVyLmNwcApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgCi1SZWY8U29ja2V0U3RyZWFtSGFuZGxlPiBTb2NrZXRQcm92aWRlcjo6
Y3JlYXRlU29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IFVSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5k
bGVDbGllbnQmIGNsaWVudCwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBTdHJpbmcm
IGNyZWRlbnRpYWxQYXJ0aXRpb24sIGNvbnN0IFN0b3JhZ2VTZXNzaW9uUHJvdmlkZXIqIHByb3Zp
ZGVyKQorUmVmPFNvY2tldFN0cmVhbUhhbmRsZT4gU29ja2V0UHJvdmlkZXI6OmNyZWF0ZVNvY2tl
dFN0cmVhbUhhbmRsZShjb25zdCBVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50JiBj
bGllbnQsIFdlYlNvY2tldElkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29u
c3QgU3RyaW5nJiBjcmVkZW50aWFsUGFydGl0aW9uLCBjb25zdCBTdG9yYWdlU2Vzc2lvblByb3Zp
ZGVyKiBwcm92aWRlcikKIHsKICAgICByZXR1cm4gU29ja2V0U3RyZWFtSGFuZGxlSW1wbDo6Y3Jl
YXRlKHVybCwgY2xpZW50LCBzZXNzaW9uSUQsIGNyZWRlbnRpYWxQYXJ0aXRpb24sIHsgfSwgcHJv
dmlkZXIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Tb2NrZXRQcm92aWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Tb2NrZXRQcm92aWRlci5oCmluZGV4IGM1Nzc4YjI1
YmU3NzM4ZGI2M2M5N2Q1NzMyZjAzZDVhNTY3OGIyZjguLjJkMmE3NjA3MGExMWUwY2YyZGIwNTM4
N2VkOGQxZWE2YWQzZTQwZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU29ja2V0
UHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NvY2tldFByb3ZpZGVyLmgKQEAg
LTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJXZWJTb2NrZXRJZGVu
dGlmaWVyLmgiCiAjaW5jbHVkZSA8cGFsL1Nlc3Npb25JRC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAt
NDMsNyArNDQsNyBAQCBjbGFzcyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogY2xhc3MgV0VCQ09S
RV9FWFBPUlQgU29ja2V0UHJvdmlkZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8U29j
a2V0UHJvdmlkZXI+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNvY2tldFByb3ZpZGVyPiBj
cmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFNvY2tldFByb3ZpZGVyKTsgfQotICAgIHZp
cnR1YWwgUmVmPFNvY2tldFN0cmVhbUhhbmRsZT4gY3JlYXRlU29ja2V0U3RyZWFtSGFuZGxlKGNv
bnN0IFVSTCYsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCYsIFBBTDo6U2Vzc2lvbklELCBjb25z
dCBTdHJpbmcmIGNyZWRlbnRpYWxQYXJ0aXRpb24sIGNvbnN0IFN0b3JhZ2VTZXNzaW9uUHJvdmlk
ZXIqKTsKKyAgICB2aXJ0dWFsIFJlZjxTb2NrZXRTdHJlYW1IYW5kbGU+IGNyZWF0ZVNvY2tldFN0
cmVhbUhhbmRsZShjb25zdCBVUkwmLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQmLCBXZWJTb2Nr
ZXRJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBjcmVkZW50aWFsUGFy
dGl0aW9uLCBjb25zdCBTdG9yYWdlU2Vzc2lvblByb3ZpZGVyKik7CiAKICAgICB2aXJ0dWFsIFJl
ZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlV2ViU29ja2V0Q2hhbm5lbChE
b2N1bWVudCYsIFdlYlNvY2tldENoYW5uZWxDbGllbnQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNwcAppbmRleCBhY2NlZDZhYmNmOGI2MTYzMjBmODQ2N2I0NTgwMjMzY2QyODk4YmY4Li40
ZDFlYmNkZjczMTM3MTIyZTAyMGRhNzkzYzViOTliODRjN2Y2MmQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmNwcApAQCAtNjAsNyArNjAsNiBAQAogI2luY2x1ZGUgIldlYlNXU2VydmVyQ29u
bmVjdGlvbk1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0
aW9uLmgiCiAjaW5jbHVkZSAiV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uTWVzc2FnZXMu
aCIKLSNpbmNsdWRlICJXZWJTb2NrZXRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiV2Vic2l0ZURh
dGFTdG9yZVBhcmFtZXRlcnMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50U3RvcmFnZUFj
Y2Vzcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRUUENvb2tpZUFjY2VwdFBvbGljeS5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IGJjZDYxNWYwOTg4Y2FlOTYwNWQ3ODZjYTg4YTE4MzYw
MDM4MjI3YzQuLjcwMjM4YzFlZmNjNDNhY2JlMDgxMDRlYTVkNTgxZmEzMzM0ZGZjZTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlICJXZWJQYWdl
UHJveHlJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHku
aCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRPYnNlcnZlci5oIgotI2luY2x1ZGUgIldlYlNv
Y2tldElkZW50aWZpZXIuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlVHlwZXMu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lSWRlbnRpZmllci5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuaD4KQEAgLTQ4LDYgKzQ3LDcgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL1BhZ2VJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9jZXNz
SWRlbnRpZmllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVnaXN0cmFibGVEb21haW4uaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL1dlYlNvY2tldElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgogCiBuYW1lc3BhY2UgUEFMIHsKQEAgLTE1OCw3ICsxNTgsNyBAQCBwdWJsaWM6
CiAKICAgICBWZWN0b3I8UmVmUHRyPFdlYkNvcmU6OkJsb2JEYXRhRmlsZVJlZmVyZW5jZT4+IHJl
c29sdmVCbG9iUmVmZXJlbmNlcyhjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYp
OwogCi0gICAgdm9pZCByZW1vdmVTb2NrZXRDaGFubmVsKFdlYlNvY2tldElkZW50aWZpZXIpOwor
ICAgIHZvaWQgcmVtb3ZlU29ja2V0Q2hhbm5lbChXZWJDb3JlOjpXZWJTb2NrZXRJZGVudGlmaWVy
KTsKIAogICAgIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHdlYlByb2Nlc3NJZGVudGlmaWVy
KCkgY29uc3QgeyByZXR1cm4gbV93ZWJQcm9jZXNzSWRlbnRpZmllcjsgfQogCkBAIC0yMjcsOSAr
MjI3LDkgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0Q2FwdHVyZUV4dHJhTmV0d29ya0xvYWRN
ZXRyaWNzRW5hYmxlZChib29sKTsKIAotICAgIHZvaWQgY3JlYXRlU29ja2V0U3RyZWFtKFVSTCYm
LCBTdHJpbmcgY2FjaGVQYXJ0aXRpb24sIFdlYlNvY2tldElkZW50aWZpZXIpOworICAgIHZvaWQg
Y3JlYXRlU29ja2V0U3RyZWFtKFVSTCYmLCBTdHJpbmcgY2FjaGVQYXJ0aXRpb24sIFdlYkNvcmU6
OldlYlNvY2tldElkZW50aWZpZXIpOwogCi0gICAgdm9pZCBjcmVhdGVTb2NrZXRDaGFubmVsKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wsIFdl
YlNvY2tldElkZW50aWZpZXIpOworICAgIHZvaWQgY3JlYXRlU29ja2V0Q2hhbm5lbChjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sLCBXZWJDb3Jl
OjpXZWJTb2NrZXRJZGVudGlmaWVyKTsKICAgICB2b2lkIHVwZGF0ZVF1b3RhQmFzZWRPblNwYWNl
VXNhZ2VGb3JUZXN0aW5nKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYpOwogCiAjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQpAQCAtMzM5LDggKzMzOSw4IEBAIHByaXZhdGU6CiAgICAgUmVm
PE5ldHdvcmtQcm9jZXNzPiBtX25ldHdvcmtQcm9jZXNzOwogICAgIFBBTDo6U2Vzc2lvbklEIG1f
c2Vzc2lvbklEOwogCi0gICAgSGFzaE1hcDxXZWJTb2NrZXRJZGVudGlmaWVyLCBSZWZQdHI8TmV0
d29ya1NvY2tldFN0cmVhbT4+IG1fbmV0d29ya1NvY2tldFN0cmVhbXM7Ci0gICAgSGFzaE1hcDxX
ZWJTb2NrZXRJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1NvY2tldENoYW5uZWw+
PiBtX25ldHdvcmtTb2NrZXRDaGFubmVsczsKKyAgICBIYXNoTWFwPFdlYkNvcmU6OldlYlNvY2tl
dElkZW50aWZpZXIsIFJlZlB0cjxOZXR3b3JrU29ja2V0U3RyZWFtPj4gbV9uZXR3b3JrU29ja2V0
U3RyZWFtczsKKyAgICBIYXNoTWFwPFdlYkNvcmU6OldlYlNvY2tldElkZW50aWZpZXIsIHN0ZDo6
dW5pcXVlX3B0cjxOZXR3b3JrU29ja2V0Q2hhbm5lbD4+IG1fbmV0d29ya1NvY2tldENoYW5uZWxz
OwogICAgIE5ldHdvcmtSZXNvdXJjZUxvYWRNYXAgbV9uZXR3b3JrUmVzb3VyY2VMb2FkZXJzOwog
ICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8V2ViQ29yZTo6QmxvYkRhdGFGaWxlUmVmZXJlbmNl
Pj4gbV9ibG9iRGF0YUZpbGVSZWZlcmVuY2VzOwogICAgIFZlY3RvcjxSZXNvdXJjZU5ldHdvcmtB
Y3Rpdml0eVRyYWNrZXI+IG1fbmV0d29ya0FjdGl2aXR5VHJhY2tlcnM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCAwNTc1MGJiNTM5ZTRlMTZiOTdjMzZm
ZTM2OTVlZjE3NGJjZTIwOTZkLi41NGU1MDMwMWRlYTYyNTMxZDQ0YjBjNjlhNzYwYjBlYmVhMmNm
YmY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTU4
LDggKzU4LDggQEAgbWVzc2FnZXMgLT4gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgTGVn
YWN5UmVjZWl2ZXIgewogCiAgICAgU2V0Q2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzRW5h
YmxlZChib29sIGVuYWJsZWQpCiAKLSAgICBDcmVhdGVTb2NrZXRTdHJlYW0oVVJMIHVybCwgU3Ry
aW5nIGNhY2hlUGFydGl0aW9uLCBXZWJLaXQ6OldlYlNvY2tldElkZW50aWZpZXIgaWRlbnRpZmll
cikKLSAgICBDcmVhdGVTb2NrZXRDaGFubmVsKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1
ZXN0LCBTdHJpbmcgcHJvdG9jb2wsIFdlYktpdDo6V2ViU29ja2V0SWRlbnRpZmllciBpZGVudGlm
aWVyKQorICAgIENyZWF0ZVNvY2tldFN0cmVhbShVUkwgdXJsLCBTdHJpbmcgY2FjaGVQYXJ0aXRp
b24sIFdlYkNvcmU6OldlYlNvY2tldElkZW50aWZpZXIgaWRlbnRpZmllcikKKyAgICBDcmVhdGVT
b2NrZXRDaGFubmVsKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBTdHJpbmcgcHJv
dG9jb2wsIFdlYkNvcmU6OldlYlNvY2tldElkZW50aWZpZXIgaWRlbnRpZmllcikKIAogI2lmIEVO
QUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAgICAgUmVtb3ZlU3RvcmFnZUFjY2Vzc0Zv
ckZyYW1lKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBXZWJDb3JlOjpQYWdlSWRl
bnRpZmllciBwYWdlSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrU29ja2V0Q2hhbm5lbC5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrU29ja2V0Q2hhbm5lbC5oCmluZGV4IDNiMTUxNTZmZDA3MTYzNzhiMzQyNmNiMmMxNzRl
MzEzNWY1MjdhZmEuLjMxOTY0MTkwZDE0MWQ1NDlkYTBiYWYyZGM4YmYyOTdiNGU1ODFlODkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldENoYW5u
ZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFu
bmVsLmgKQEAgLTI3LDggKzI3LDggQEAKIAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgog
I2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKLSNpbmNsdWRlICJXZWJTb2NrZXRJZGVudGlmaWVy
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9UaW1lci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV2ViU29j
a2V0SWRlbnRpZmllci5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3
dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpAQCAtNTMs
OSArNTMsOSBAQCBjbGFzcyBOZXR3b3JrU2Vzc2lvbjsKIGNsYXNzIE5ldHdvcmtTb2NrZXRDaGFu
bmVsIDogcHVibGljIElQQzo6TWVzc2FnZVNlbmRlciwgcHVibGljIElQQzo6TWVzc2FnZVJlY2Vp
dmVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
c3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtTb2NrZXRDaGFubmVsPiBjcmVhdGUoTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MmLCBQQUw6OlNlc3Npb25JRCwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCwgV2ViU29ja2V0SWRlbnRpZmllcik7
CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrU29ja2V0Q2hhbm5lbD4gY3JlYXRl
KE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiwgUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wsIFdlYkNvcmU6
OldlYlNvY2tldElkZW50aWZpZXIpOwogCi0gICAgTmV0d29ya1NvY2tldENoYW5uZWwoTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmLCBOZXR3b3JrU2Vzc2lvbiosIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wsIFdlYlNvY2tldElkZW50
aWZpZXIpOworICAgIE5ldHdvcmtTb2NrZXRDaGFubmVsKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzJiwgTmV0d29ya1Nlc3Npb24qLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
LCBjb25zdCBTdHJpbmcmIHByb3RvY29sLCBXZWJDb3JlOjpXZWJTb2NrZXRJZGVudGlmaWVyKTsK
ICAgICB+TmV0d29ya1NvY2tldENoYW5uZWwoKTsKIAogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CkBAIC04NCw3ICs4NCw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBmaW5pc2hDbG9zaW5nSWZQb3NzaWJsZSgpOwogCiAgICAgTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1fY29ubmVjdGlvblRvV2ViUHJvY2VzczsKLSAgICBX
ZWJTb2NrZXRJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBXZWJDb3JlOjpXZWJTb2NrZXRJ
ZGVudGlmaWVyIG1faWRlbnRpZmllcjsKICAgICBXZWFrUHRyPE5ldHdvcmtTZXNzaW9uPiBtX3Nl
c3Npb247CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYlNvY2tldFRhc2s+IG1fc29ja2V0OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRTdHJl
YW0uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5o
CmluZGV4IGVjNDYwMWNlMThiMjQ2YTkzN2NkYmU5MTMyODZmYWY1NmE1MDMyNzcuLjUyZWMzOTI2
OTAyMThlZGU2NjhkNTVlNjM4ZDhlMTc1MDJmZDZlZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5oCkBAIC0yNywxMSArMjcsMTEg
QEAKIAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIk1lc3NhZ2VTZW5k
ZXIuaCIKLSNpbmNsdWRlICJXZWJTb2NrZXRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSA8V2ViQ29y
ZS9Tb2NrZXRTdHJlYW1FcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU29ja2V0U3RyZWFtSGFu
ZGxlQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Tb2NrZXRTdHJlYW1IYW5kbGVJbXBsLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9UaW1lci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV2ViU29ja2V0
SWRlbnRpZmllci5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KIAogbmFtZXNwYWNlIElQ
QyB7CkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIE5ldHdvcmtQcm9jZXNzOwogCiBjbGFzcyBOZXR3
b3JrU29ja2V0U3RyZWFtIDogcHVibGljIFJlZkNvdW50ZWQ8TmV0d29ya1NvY2tldFN0cmVhbT4s
IHB1YmxpYyBJUEM6Ok1lc3NhZ2VTZW5kZXIsIHB1YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciwg
cHVibGljIFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFJlZjxOZXR3b3JrU29ja2V0U3RyZWFtPiBjcmVhdGUoTmV0d29ya1Byb2Nlc3MmLCBV
UkwmJiwgUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlvbiwg
V2ViU29ja2V0SWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uJiwgV2ViQ29yZTo6U291cmNlQXBw
bGljYXRpb25BdWRpdFRva2VuJiYpOworICAgIHN0YXRpYyBSZWY8TmV0d29ya1NvY2tldFN0cmVh
bT4gY3JlYXRlKE5ldHdvcmtQcm9jZXNzJiwgVVJMJiYsIFBBTDo6U2Vzc2lvbklELCBjb25zdCBT
dHJpbmcmIGNyZWRlbnRpYWxQYXJ0aXRpb24sIFdlYkNvcmU6OldlYlNvY2tldElkZW50aWZpZXIs
IElQQzo6Q29ubmVjdGlvbiYsIFdlYkNvcmU6OlNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tlbiYm
KTsKICAgICB+TmV0d29ya1NvY2tldFN0cmVhbSgpOwogCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKQEAgLTY4LDkgKzY4LDkgQEAg
cHJpdmF0ZToKICAgICBJUEM6OkNvbm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkg
Y29uc3QgZmluYWw7CiAgICAgdWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBj
b25zdCBmaW5hbDsKIAotICAgIE5ldHdvcmtTb2NrZXRTdHJlYW0oTmV0d29ya1Byb2Nlc3MmLCBV
UkwmJiwgUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlvbiwg
V2ViU29ja2V0SWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uJiwgV2ViQ29yZTo6U291cmNlQXBw
bGljYXRpb25BdWRpdFRva2VuJiYpOworICAgIE5ldHdvcmtTb2NrZXRTdHJlYW0oTmV0d29ya1By
b2Nlc3MmLCBVUkwmJiwgUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbFBh
cnRpdGlvbiwgV2ViQ29yZTo6V2ViU29ja2V0SWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uJiwg
V2ViQ29yZTo6U291cmNlQXBwbGljYXRpb25BdWRpdFRva2VuJiYpOwogCi0gICAgV2ViU29ja2V0
SWRlbnRpZmllciBtX2lkZW50aWZpZXI7CisgICAgV2ViQ29yZTo6V2ViU29ja2V0SWRlbnRpZmll
ciBtX2lkZW50aWZpZXI7CiAgICAgSVBDOjpDb25uZWN0aW9uJiBtX2Nvbm5lY3Rpb247CiAgICAg
UmVmPFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZUltcGw+IG1faW1wbDsKICAgICBXZWJDb3Jl
OjpUaW1lciBtX2RlbGF5RmFpbFRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVz
c2FnZXMucHkKaW5kZXggNmFlNjkxZDdhOTUxMjU0Y2Y2YjM1M2UxNzJmODExMWI1M2FlYzNiMC4u
ZDE4MTBjMjBiMDQ4NWNiZDgyOTlkNzgzMWEzNTZhZDNhMTIwZTdhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0
L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0yMjksNiArMjI5LDcgQEAgZGVmIHR5cGVz
X3RoYXRfY2Fubm90X2JlX2ZvcndhcmRfZGVjbGFyZWQoKToKICAgICAgICAgJ1dlYkNvcmU6OlNo
YXJlZFN0cmluZ0hhc2gnLAogICAgICAgICAnV2ViQ29yZTo6U2xlZXBEaXNhYmxlcklkZW50aWZp
ZXInLAogICAgICAgICAnV2ViQ29yZTo6U1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcicsCisg
ICAgICAgICdXZWJDb3JlOjpXZWJTb2NrZXRJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6
QWN0aXZpdHlTdGF0ZUNoYW5nZUlEJywKICAgICAgICAgJ1dlYktpdDo6QXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6Q29udGVudFdvcmxk
SWRlbnRpZmllcicsCkBAIC0yNjQsNyArMjY1LDYgQEAgZGVmIHR5cGVzX3RoYXRfY2Fubm90X2Jl
X2ZvcndhcmRfZGVjbGFyZWQoKToKICAgICAgICAgJ1dlYktpdDo6VHJhbnNhY3Rpb25JRCcsCiAg
ICAgICAgICdXZWJLaXQ6OlVzZXJDb250ZW50Q29udHJvbGxlcklkZW50aWZpZXInLAogICAgICAg
ICAnV2ViS2l0OjpXZWJQYWdlUHJveHlJZGVudGlmaWVyJywKLSAgICAgICAgJ1dlYktpdDo6V2Vi
U29ja2V0SWRlbnRpZmllcicsCiAgICAgXSkKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAwMzZkYjZhY2Y4MGY0MWQ5YzQ0NzI2NDY2
OTIzMDA3OTU2MTgxYzdjLi4xNzdhMmNkMzI4MTQxZGZjZmExMjExYTMyMDNlZjg4Y2Q2NDEzMzZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTM0NTcsNyArMzQ1Nyw2IEBACiAJCTQxNzkxNUI2MjI1NzA0NkUwMEQ2Rjk3RSAvKiBOZXR3
b3JrU29ja2V0Q2hhbm5lbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3
b3JrU29ja2V0Q2hhbm5lbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTc5MTVC
NzIyNTcwNDZFMDBENkY5N0UgLyogTmV0d29ya1NvY2tldENoYW5uZWwuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29ya1NvY2tldENoYW5uZWwuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTc5MTVCODIyNTcwNDZFMDBENkY5N0UgLyogTmV0
d29ya1NvY2tldENoYW5uZWwubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmV0
d29ya1NvY2tldENoYW5uZWwubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTQxNzk0RDFDMjNFREQ3NTcwMDhDNDUzRiAvKiBXZWJTb2NrZXRJZGVudGlmaWVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYlNvY2tldElkZW50aWZpZXIuaDsgcGF0
aCA9IE5ldHdvcmsvV2ViU29ja2V0SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTg5N0VDQzFGNDE1RDVDMDAxNkZBNDIgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlk
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTg5N0VDRDFGNDE1RDVDMDAxNkZBNDIgLyog
V2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODk3RUNFMUY0
MTVENUMwMDE2RkE0MiAvKiBXZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNzc1MSw3ICs3NzUwLDYgQEAKIAkJCQk0MTc5MTVCNDIyNTZEMUE3MDBE
NkY5N0UgLyogV2ViU29ja2V0Q2hhbm5lbC5tZXNzYWdlcy5pbiAqLywKIAkJCQk0MTc5MTVCMjIy
NTZDMkUyMDBENkY5N0UgLyogV2ViU29ja2V0Q2hhbm5lbE1hbmFnZXIuY3BwICovLAogCQkJCTQx
NzkxNUIwMjI1NkMwRDYwMEQ2Rjk3RSAvKiBXZWJTb2NrZXRDaGFubmVsTWFuYWdlci5oICovLAot
CQkJCTQxNzk0RDFDMjNFREQ3NTcwMDhDNDUzRiAvKiBXZWJTb2NrZXRJZGVudGlmaWVyLmggKi8s
CiAJCQkJNUM3NzA2NzMxRDExMUQ4QjAwMTI3MDBGIC8qIFdlYlNvY2tldFByb3ZpZGVyLmNwcCAq
LywKIAkJCQk1QzdDODhEQzFEMEY0MUEwMDA5RDJGNkQgLyogV2ViU29ja2V0UHJvdmlkZXIuaCAq
LywKIAkJCQk1QzBCMTc3QTFFN0M4ODRGMDBFOTEyM0MgLyogV2ViU29ja2V0U3RyZWFtLmNwcCAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tl
dENoYW5uZWwuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0
Q2hhbm5lbC5jcHAKaW5kZXggYWY5OWU4YjQxNzM5MTVlMTc4MzBkMzExNjMzNGNhMWFjZGYxMzFh
ZS4uNjQwM2YwZmZkMGNmMWE3MjAxNzMzODg3Mjg1ZGZiMDVhZDNlMjMxMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5jcHAK
QEAgLTcxLDcgKzcxLDYgQEAgTmV0d29ya1NlbmRRdWV1ZSBXZWJTb2NrZXRDaGFubmVsOjpjcmVh
dGVNZXNzYWdlUXVldWUoRG9jdW1lbnQmIGRvY3VtZW50LCBXZWJTb2MKIAogV2ViU29ja2V0Q2hh
bm5lbDo6V2ViU29ja2V0Q2hhbm5lbChEb2N1bWVudCYgZG9jdW1lbnQsIFdlYlNvY2tldENoYW5u
ZWxDbGllbnQmIGNsaWVudCkKICAgICA6IG1fZG9jdW1lbnQobWFrZVdlYWtQdHIoZG9jdW1lbnQp
KQotICAgICwgIG1faWRlbnRpZmllcihXZWJTb2NrZXRJZGVudGlmaWVyOjpnZW5lcmF0ZSgpKQog
ICAgICwgbV9jbGllbnQobWFrZVdlYWtQdHIoY2xpZW50KSkKICAgICAsIG1fbWVzc2FnZVF1ZXVl
KGNyZWF0ZU1lc3NhZ2VRdWV1ZShkb2N1bWVudCwgKnRoaXMpKQogICAgICwgbV9pbnNwZWN0b3Io
ZG9jdW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJTb2NrZXRDaGFubmVsLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJT
b2NrZXRDaGFubmVsLmgKaW5kZXggOTMxZjA5MDE2ZmM0NDE5NDBiMGExZGY3ZDU4OWY1ZDY3MjJk
YzYxYS4uZjUzNDc4MzQ3ZTc3NWRmMzdlYTk3NjM0YzIzMzA5MzJiNGExNGQyOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuaApA
QCAtMjcsNyArMjcsNiBAQAogCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVk
ZSAiTWVzc2FnZVNlbmRlci5oIgotI2luY2x1ZGUgIldlYlNvY2tldElkZW50aWZpZXIuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL05ldHdvcmtTZW5kUXVldWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgpA
QCAtNDksOCArNDgsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJTb2NrZXRDaGFubmVs
PiBjcmVhdGUoV2ViQ29yZTo6RG9jdW1lbnQmLCBXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsQ2xp
ZW50Jik7CiAgICAgfldlYlNvY2tldENoYW5uZWwoKTsKIAotICAgIFdlYlNvY2tldElkZW50aWZp
ZXIgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQotCiAgICAgdm9p
ZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKIAog
ICAgIHZvaWQgbmV0d29ya1Byb2Nlc3NDcmFzaGVkKCk7CkBAIC0xMDAsMTQgKzk3LDEyIEBAIHBy
aXZhdGU6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBzZW5kTWVzc2FnZShUJiYsIHNp
emVfdCBieXRlTGVuZ3RoKTsKICAgICB2b2lkIGVucXVldWVUYXNrKEZ1bmN0aW9uPHZvaWQoKT4m
Jik7CiAKLSAgICB1bnNpZ25lZCBjaGFubmVsSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1faWRlbnRpZmllci50b1VJbnQ2NCgpOyB9CiAgICAgYm9vbCBoYXNDcmVhdGVkSGFuZHNo
YWtlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIW1fdXJsLmlzTnVsbCgpOyB9CiAgICAgYm9vbCBp
c0Nvbm5lY3RlZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICFtX2hhbmRzaGFrZVJlc3BvbnNlLmlz
TnVsbCgpOyB9Ci0gICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IGNsaWVudEhhbmRzaGFrZVJl
cXVlc3QoRnVuY3Rpb248U3RyaW5nKGNvbnN0IFVSTCYpPiYmKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX2hhbmRzaGFrZVJlcXVlc3Q7IH0KKyAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgY2xp
ZW50SGFuZHNoYWtlUmVxdWVzdChjb25zdCBDb29raWVHZXR0ZXImKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX2hhbmRzaGFrZVJlcXVlc3Q7IH0KICAgICBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJiBzZXJ2ZXJIYW5kc2hha2VSZXNwb25zZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
aGFuZHNoYWtlUmVzcG9uc2U7IH0KIAogICAgIFdlYWtQdHI8V2ViQ29yZTo6RG9jdW1lbnQ+IG1f
ZG9jdW1lbnQ7Ci0gICAgV2ViU29ja2V0SWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAgICAgV2Vh
a1B0cjxXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsQ2xpZW50PiBtX2NsaWVudDsKICAgICBVUkwg
bV91cmw7CiAgICAgU3RyaW5nIG1fc3VicHJvdG9jb2w7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsTWFuYWdlci5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbE1hbmFnZXIuaAppbmRl
eCA4NmFlYmQ1MTgxNDQxY2I1NmJmM2RhNWQ4ZGUzNmM2NzU1MmUzOWUzLi5mNjVhZjllZDlmZGQ5
NDhlYjU4MTcwZmE5ODY2ODkyZDllNGNhOWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsTWFuYWdlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWxNYW5hZ2VyLmgKQEAgLTUw
LDcgKzUwLDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlQ2hhbm5lbChXZWJTb2NrZXRDaGFu
bmVsJiBjaGFubmVsKSB7IG1fY2hhbm5lbHMucmVtb3ZlKGNoYW5uZWwuaWRlbnRpZmllcigpICk7
IH0KIAogcHJpdmF0ZToKLSAgICBIYXNoTWFwPFdlYlNvY2tldElkZW50aWZpZXIsIFdlYWtQdHI8
V2ViU29ja2V0Q2hhbm5lbD4+IG1fY2hhbm5lbHM7CisgICAgSGFzaE1hcDxXZWJDb3JlOjpXZWJT
b2NrZXRJZGVudGlmaWVyLCBXZWFrUHRyPFdlYlNvY2tldENoYW5uZWw+PiBtX2NoYW5uZWxzOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRJZGVudGlmaWVyLmgKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGY4ZjQyNjFlMWI5ZTk3Y2NkY2NkZDA5ODIyNDEzY2NiYmJiYjJjMDkuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0SWRlbnRpZmllci5oCisrKyAvZGV2L251bGwK
QEAgLTEsMzUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlICwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUg
PHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1lbnVtIFdl
YlNvY2tldElkZW50aWZpZXJUeXBlIHsgfTsKLXVzaW5nIFdlYlNvY2tldElkZW50aWZpZXIgPSBP
YmplY3RJZGVudGlmaWVyPFdlYlNvY2tldElkZW50aWZpZXJUeXBlPjsKLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJTb2NrZXRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJTb2NrZXRQcm92aWRlci5jcHAKaW5kZXggODI4ZDUwMjM5ZjdkMWQ5ZWQ5MTQ1M2FlMDZhN2Fj
MjM1YmM5ODU0Ny4uYzUzZmNkNmQ0NzExYmFmNDZjMzYzOWQ5NWY0ZmNhNjM3MTU4MzFiNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFBy
b3ZpZGVyLmNwcApAQCAtMzgsMTAgKzM4LDEwIEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCi1SZWY8U29ja2V0U3RyZWFtSGFuZGxlPiBXZWJTb2NrZXRQ
cm92aWRlcjo6Y3JlYXRlU29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IFVSTCYgdXJsLCBTb2NrZXRT
dHJlYW1IYW5kbGVDbGllbnQmIGNsaWVudCwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25z
dCBTdHJpbmcmIGNyZWRlbnRpYWxQYXJ0aXRpb24sIGNvbnN0IFN0b3JhZ2VTZXNzaW9uUHJvdmlk
ZXIqKQorUmVmPFNvY2tldFN0cmVhbUhhbmRsZT4gV2ViU29ja2V0UHJvdmlkZXI6OmNyZWF0ZVNv
Y2tldFN0cmVhbUhhbmRsZShjb25zdCBVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50
JiBjbGllbnQsIFdlYlNvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIGNyZWRlbnRpYWxQYXJ0aXRpb24sIGNvbnN0IFN0b3Jh
Z2VTZXNzaW9uUHJvdmlkZXIqKQogewogICAgIEFTU0VSVF9VTlVTRUQoc2Vzc2lvbklELCBzZXNz
aW9uSUQgPT0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2Vzc2lvbklEKCkpOwotICAgIHJldHVy
biBXZWJTb2NrZXRTdHJlYW06OmNyZWF0ZSh1cmwsIGNsaWVudCwgY3JlZGVudGlhbFBhcnRpdGlv
bik7CisgICAgcmV0dXJuIFdlYlNvY2tldFN0cmVhbTo6Y3JlYXRlKHVybCwgY2xpZW50LCBpZGVu
dGlmaWVyLCBjcmVkZW50aWFsUGFydGl0aW9uKTsKIH0KIAogUmVmUHRyPFRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsPiBXZWJTb2NrZXRQcm92aWRlcjo6Y3JlYXRlV2ViU29ja2V0Q2hhbm5lbChE
b2N1bWVudCYgZG9jdW1lbnQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQmIGNsaWVudCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVy
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRQcm92aWRlci5o
CmluZGV4IDczZTRjZTgxZjFkOTg5MTE0MDVlMWZjNDg4Y2MwNzg4OWEyMzI4YzcuLjFiMzU1MmRh
MzY0MGE0MDdiY2Y0ZjlmNzYwYTVjNWQzYjI5ZmNhODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlkZXIuaApAQCAtMzIsNyArMzIs
NyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYlNvY2tldFByb3ZpZGVyIGZpbmFsIDog
cHVibGljIFdlYkNvcmU6OlNvY2tldFByb3ZpZGVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PFdlYlNvY2tldFByb3ZpZGVyPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFdlYlNv
Y2tldFByb3ZpZGVyKTsgfQotICAgIFJlZjxXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU+IGNy
ZWF0ZVNvY2tldFN0cmVhbUhhbmRsZShjb25zdCBVUkwmLCBXZWJDb3JlOjpTb2NrZXRTdHJlYW1I
YW5kbGVDbGllbnQmLCBQQUw6OlNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBjcmVkZW50aWFsUGFy
dGl0aW9uLCBjb25zdCBXZWJDb3JlOjpTdG9yYWdlU2Vzc2lvblByb3ZpZGVyKikgZmluYWw7Cisg
ICAgUmVmPFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZT4gY3JlYXRlU29ja2V0U3RyZWFtSGFu
ZGxlKGNvbnN0IFVSTCYsIFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCYsIFdlYkNv
cmU6OldlYlNvY2tldElkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIGNy
ZWRlbnRpYWxQYXJ0aXRpb24sIGNvbnN0IFdlYkNvcmU6OlN0b3JhZ2VTZXNzaW9uUHJvdmlkZXIq
KSBmaW5hbDsKICAgICBSZWZQdHI8V2ViQ29yZTo6VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+
IGNyZWF0ZVdlYlNvY2tldENoYW5uZWwoV2ViQ29yZTo6RG9jdW1lbnQmLCBXZWJDb3JlOjpXZWJT
b2NrZXRDaGFubmVsQ2xpZW50JikgZmluYWw7CiAgICAgdmlydHVhbCB+V2ViU29ja2V0UHJvdmlk
ZXIoKSB7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJTb2NrZXRTdHJlYW0uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViU29ja2V0U3RyZWFtLmNwcAppbmRleCA2OTFmYjVlOTRhYTlmNmFiMjVmMDk1ODgwZTlhMzI4
YzcwZTIwNjM5Li5hZjI0MmNkMmI1OTVhYzRhNDQ4NDI5N2JlNWQ1Y2ZlMThkNDhmMzI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRTdHJlYW0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0cmVh
bS5jcHAKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJOZXR3b3JrU29ja2V0U3RyZWFtTWVz
c2FnZXMuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJX
ZWJQcm9jZXNzLmgiCi0jaW5jbHVkZSAiV2ViU29ja2V0SWRlbnRpZmllci5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvQ29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJveHkuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1NvY2tldFN0cmVhbUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Tb2NrZXRTdHJlYW1I
YW5kbGVDbGllbnQuaD4KQEAgLTc3LDE0ICs3NiwxNCBAQCB2b2lkIFdlYlNvY2tldFN0cmVhbTo6
bmV0d29ya1Byb2Nlc3NDcmFzaGVkKCkKICAgICBnbG9iYWxXZWJTb2NrZXRTdHJlYW1NYXAoKS5j
bGVhcigpOwogfQogCi1SZWY8V2ViU29ja2V0U3RyZWFtPiBXZWJTb2NrZXRTdHJlYW06OmNyZWF0
ZShjb25zdCBVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50JiBjbGllbnQsIGNvbnN0
IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlvbikKK1JlZjxXZWJTb2NrZXRTdHJlYW0+IFdlYlNv
Y2tldFN0cmVhbTo6Y3JlYXRlKGNvbnN0IFVSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGll
bnQmIGNsaWVudCwgV2ViU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IGNyZWRlbnRpYWxQYXJ0aXRpb24pCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViU29j
a2V0U3RyZWFtKHVybCwgY2xpZW50LCBjcmVkZW50aWFsUGFydGl0aW9uKSk7CisgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgV2ViU29ja2V0U3RyZWFtKHVybCwgY2xpZW50LCBpZGVudGlmaWVyLCBj
cmVkZW50aWFsUGFydGl0aW9uKSk7CiB9CiAKLVdlYlNvY2tldFN0cmVhbTo6V2ViU29ja2V0U3Ry
ZWFtKGNvbnN0IFVSTCYgdXJsLCBXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQmIGNs
aWVudCwgY29uc3QgU3RyaW5nJiBjYWNoZVBhcnRpdGlvbikKK1dlYlNvY2tldFN0cmVhbTo6V2Vi
U29ja2V0U3RyZWFtKGNvbnN0IFVSTCYgdXJsLCBXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVD
bGllbnQmIGNsaWVudCwgV2ViU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIGNhY2hlUGFydGl0aW9uKQogICAgIDogU29ja2V0U3RyZWFtSGFuZGxlKHVybCwgY2xpZW50
KQotICAgICwgIG1faWRlbnRpZmllcihXZWJTb2NrZXRJZGVudGlmaWVyOjpnZW5lcmF0ZSgpKQor
ICAgICwgIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQogICAgICwgbV9jbGllbnQoY2xpZW50KQog
ewogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6Q3JlYXRlU29ja2V0U3RyZWFtKHVybCwgY2FjaGVQYXJ0aXRpb24sIG1faWRlbnRp
ZmllciksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViU29ja2V0U3RyZWFtLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJT
b2NrZXRTdHJlYW0uaAppbmRleCBlMzY3M2JmOTIyNWRiZGVhNzBkZjRmNzk4ZDA5YjhjZjg2Njk3
NTNlLi5kZDA4MjAxMDcxMmI5ZjVkYjlmZWJkODhkYTY2OWI2ZGY2MWQwZjI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRTdHJlYW0uaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRTdHJlYW0uaApAQCAt
MjcsOCArMjcsOCBAQAogCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAi
TWVzc2FnZVNlbmRlci5oIgotI2luY2x1ZGUgIldlYlNvY2tldElkZW50aWZpZXIuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL1NvY2tldFN0cmVhbUhhbmRsZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV2Vi
U29ja2V0SWRlbnRpZmllci5oPgogCiBuYW1lc3BhY2UgSVBDIHsKIGNsYXNzIENvbm5lY3Rpb247
CkBAIC00NCw5ICs0NCw5IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJTb2NrZXRT
dHJlYW0gOiBwdWJsaWMgSVBDOjpNZXNzYWdlU2VuZGVyLCBwdWJsaWMgSVBDOjpNZXNzYWdlUmVj
ZWl2ZXIsIHB1YmxpYyBXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGUgewogcHVibGljOgotICAg
IHN0YXRpYyBSZWY8V2ViU29ja2V0U3RyZWFtPiBjcmVhdGUoY29uc3QgVVJMJiwgV2ViQ29yZTo6
U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50JiwgY29uc3QgU3RyaW5nJiBjcmVkZW50aWFsUGFydGl0
aW9uKTsKKyAgICBzdGF0aWMgUmVmPFdlYlNvY2tldFN0cmVhbT4gY3JlYXRlKGNvbnN0IFVSTCYs
IFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCYsIFdlYkNvcmU6OldlYlNvY2tldElk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlvbik7CiAgICAgc3RhdGlj
IHZvaWQgbmV0d29ya1Byb2Nlc3NDcmFzaGVkKCk7Ci0gICAgc3RhdGljIFdlYlNvY2tldFN0cmVh
bSogc3RyZWFtV2l0aElkZW50aWZpZXIoV2ViU29ja2V0SWRlbnRpZmllcik7CisgICAgc3RhdGlj
IFdlYlNvY2tldFN0cmVhbSogc3RyZWFtV2l0aElkZW50aWZpZXIoV2ViQ29yZTo6V2ViU29ja2V0
SWRlbnRpZmllcik7CiAgICAgCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mLCBJUEM6OkRlY29kZXImKTsKICAgICAKQEAgLTcyLDEwICs3MiwxMCBAQCBwcml2YXRl
OgogICAgIElQQzo6Q29ubmVjdGlvbiogbWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25zdCBm
aW5hbDsKICAgICB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0IGZp
bmFsOwogCi0gICAgV2ViU29ja2V0U3RyZWFtKGNvbnN0IFVSTCYsIFdlYkNvcmU6OlNvY2tldFN0
cmVhbUhhbmRsZUNsaWVudCYsIGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlvbik7Cisg
ICAgV2ViU29ja2V0U3RyZWFtKGNvbnN0IFVSTCYsIFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRs
ZUNsaWVudCYsIFdlYkNvcmU6OldlYlNvY2tldElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgY3Jl
ZGVudGlhbFBhcnRpdGlvbik7CiAgICAgfldlYlNvY2tldFN0cmVhbSgpOwogCi0gICAgV2ViU29j
a2V0SWRlbnRpZmllciBtX2lkZW50aWZpZXI7CisgICAgV2ViQ29yZTo6V2ViU29ja2V0SWRlbnRp
ZmllciBtX2lkZW50aWZpZXI7CiAgICAgc2l6ZV90IG1fYnVmZmVyZWRBbW91bnQgeyAwIH07CiAg
ICAgV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50JiBtX2NsaWVudDsKICAgICBIYXNo
TWFwPHVpbnQ2NF90LCBGdW5jdGlvbjx2b2lkKGJvb2wpPj4gbV9zZW5kRGF0YUNhbGxiYWNrczsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407675</attachid>
            <date>2020-09-01 06:40:07 -0700</date>
            <delta_ts>2020-09-01 07:32:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216034-20200901154006.patch</filename>
            <type>text/plain</type>
            <size>44899</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI1OTMzN2NhNGNhZjNh
OWRhOGRlYTE4Njc4NTI5MjQ1NmY5OGFkZi4uMzg5Mzk5MGZkNjMzYWFjN2RkZmNkNjY3OTNmZTVm
Mzk2YWQ2OGE5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA5LTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgYSBUaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbCBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTYwMzQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGVhbi11cCBjb2RlIHRvIGhhdmUgYSBzaW5nbGUg
aWRlbnRpZmllciBmb3IgYWxsIFdlYlNvY2tldHMuCisgICAgICAgIFdlIHVzZSBhIFdlYlNvY2tl
dElkZW50aWZpZXIgdGhhdCBpcyBub3cgbW92ZWQgZnJvbSBXZWJLaXQgdG8gV2ViQ29yZS4KKyAg
ICAgICAgTm8gY2hhbmdlIG9mIGJlaGF2aW9yLgorCisgICAgICAgICogTW9kdWxlcy93ZWJzb2Nr
ZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCk6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmg6
CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6cmVmKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpkZXJlZik6CisgICAg
ICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6aWRlbnRpZmllciBjb25z
dCk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y29ubmVjdCk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpjbGllbnRIYW5kc2hha2VSZXF1ZXN0IGNvbnN0KToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oOgorICAgICAg
ICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViU29ja2V0SGFuZHNoYWtlOjpjbGllbnRIYW5kc2hha2VSZXF1ZXN0IGNvbnN0
KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmg6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsLmg6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZW5hYmxlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6d2ViU29ja2V0Rm9yUmVxdWVzdElkKToKKyAg
ICAgICAgKiBwYWdlL1NvY2tldFByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tl
dFByb3ZpZGVyOjpjcmVhdGVTb2NrZXRTdHJlYW1IYW5kbGUpOgorICAgICAgICAqIHBhZ2UvU29j
a2V0UHJvdmlkZXIuaDoKKwogMjAyMC0wOS0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgRW5hYmxlIGluc3BlY3Rpb24gb2YgV2ViU29ja2V0IHdoZW4gb3Bl
bmluZyBXZWIgSW5zcGVjdG9yIGluIHRoZSBtaWRkbGUgb2YgdGhlIGNvbm5lY3Rpb24gbGlrZSBk
b25lIGZvciB0aGUgbGVnYWN5IFdlYlNvY2tldCBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1
N2NhMzI3ODExYmU1ZGNiNTc2YWZjYTQ4MzdhM2NjMDk2N2U5ZTdmLi5mYTllOWIyYWE4NWY0OWM5
YzQ5NzAxOTVjNTY1YzE2MWY4OTQwZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIw
LTA5LTAxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRy
b2R1Y2UgYSBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCBpZGVudGlmaWVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTYwMzQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFubmVsLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5oOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
L21lc3NhZ2VzLnB5OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViU29ja2V0Q2hhbm5lbDo6V2ViU29ja2V0Q2hhbm5lbCk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuaDoKKyAgICAgICAgKFdl
YktpdDo6V2ViU29ja2V0Q2hhbm5lbDo6aWRlbnRpZmllciBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWxNYW5hZ2VyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldElkZW50aWZpZXIuaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlkZXIuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTb2NrZXRQcm92aWRlcjo6Y3JlYXRlU29ja2V0U3RyZWFtSGFuZGxl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlkZXIuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViU29ja2V0U3RyZWFtOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJT
b2NrZXRTdHJlYW06OldlYlNvY2tldFN0cmVhbSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlNvY2tldFN0cmVhbS5oOgorCiAyMDIwLTA5LTAxICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUgaW5zcGVjdGlvbiBvZiBXZWJTb2NrZXQg
d2hlbiBvcGVuaW5nIFdlYiBJbnNwZWN0b3IgaW4gdGhlIG1pZGRsZSBvZiB0aGUgY29ubmVjdGlv
biBsaWtlIGRvbmUgZm9yIHRoZSBsZWdhY3kgV2ViU29ja2V0IGltcGxlbWVudGF0aW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1RocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCA2MmJmZTE3NjZjNGMyNmMxNDY2NjYwZTZi
YmQ2MjVmNjQwMTQ3MzFmLi5iYzUxY2U0ZTE5ZTBjMGJlNGM5YjhiYjYxZmY2YmJjNWUzNWRkZjI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTc5LDYgKzc5LDExIEBAIFJl
ZjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6
OmNyZWF0ZShTY3JpcHRFeGVjdXRpCiAgICAgcmV0dXJuIGNyZWF0ZShkb3duY2FzdDxEb2N1bWVu
dD4oY29udGV4dCksIGNsaWVudCwgcHJvdmlkZXIpOwogfQogCitUaHJlYWRhYmxlV2ViU29ja2V0
Q2hhbm5lbDo6VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKQorICAgIDogbV9pZGVudGlmaWVy
KFdlYlNvY2tldElkZW50aWZpZXI6OmdlbmVyYXRlVGhyZWFkU2FmZSgpKQoreworfQorCiBPcHRp
b25hbDxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6VmFsaWRhdGVkVVJMPiBUaHJlYWRhYmxl
V2ViU29ja2V0Q2hhbm5lbDo6dmFsaWRhdGVVUkwoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBV
UkwmIHJlcXVlc3RlZFVSTCkKIHsKICAgICBWYWxpZGF0ZWRVUkwgdmFsaWRhdGVkVVJMIHsgcmVx
dWVzdGVkVVJMLCB0cnVlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IGM0MjUz
ZDZiN2UxYjRhZjczMDU3YzYzNWQ5YjFmNzlkMjlkNTg1YTIuLmMzOTdmYWEwNmFkODY3NjZiYjZh
OTRjNDFjOTg0ZGZmMmY2YzIxOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC0z
MCw2ICszMCw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiV2ViU29ja2V0SWRlbnRp
Zmllci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtNTMsMjAgKzU0LDIzIEBAIGNsYXNzIFRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFRocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoRG9jdW1lbnQmLCBXZWJTb2NrZXRDaGFubmVs
Q2xpZW50JiwgU29ja2V0UHJvdmlkZXImKTsKICAgICBzdGF0aWMgUmVmPFRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdlYlNvY2tldENo
YW5uZWxDbGllbnQmLCBTb2NrZXRQcm92aWRlciYpOwotICAgIFRocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsKCkgPSBkZWZhdWx0OworICAgIFdFQkNPUkVfRVhQT1JUIFRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsKCk7CiAKLSAgICBlbnVtIFNlbmRSZXN1bHQgewotICAgICAgICBTZW5kU3VjY2Vz
cywKLSAgICAgICAgU2VuZEZhaWwKLSAgICB9OworICAgIHZvaWQgcmVmKCkgeyByZWZUaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbCgpOyB9CisgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbCgpOyB9CisKKyAgICBXZWJTb2NrZXRJZGVudGlmaWVyIGlkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH07CiAKICAgICBlbnVtIGNsYXNz
IENvbm5lY3RTdGF0dXMgeyBLTywgT0sgfTsKICAgICB2aXJ0dWFsIENvbm5lY3RTdGF0dXMgY29u
bmVjdChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKSA9IDA7CiAgICAgdmlydHVh
bCBTdHJpbmcgc3VicHJvdG9jb2woKSA9IDA7IC8vIFdpbGwgYmUgYXZhaWxhYmxlIGFmdGVyIGRp
ZENvbm5lY3QoKSBjYWxsYmFjayBpcyBpbnZva2VkLgogICAgIHZpcnR1YWwgU3RyaW5nIGV4dGVu
c2lvbnMoKSA9IDA7IC8vIFdpbGwgYmUgYXZhaWxhYmxlIGFmdGVyIGRpZENvbm5lY3QoKSBjYWxs
YmFjayBpcyBpbnZva2VkLgorCisgICAgZW51bSBTZW5kUmVzdWx0IHsgU2VuZFN1Y2Nlc3MsIFNl
bmRGYWlsIH07CiAgICAgdmlydHVhbCBTZW5kUmVzdWx0IHNlbmQoY29uc3QgU3RyaW5nJiBtZXNz
YWdlKSA9IDA7CiAgICAgdmlydHVhbCBTZW5kUmVzdWx0IHNlbmQoY29uc3QgSlNDOjpBcnJheUJ1
ZmZlciYsIHVuc2lnbmVkIGJ5dGVPZmZzZXQsIHVuc2lnbmVkIGJ5dGVMZW5ndGgpID0gMDsKICAg
ICB2aXJ0dWFsIFNlbmRSZXN1bHQgc2VuZChCbG9iJikgPSAwOworCiAgICAgdmlydHVhbCB1bnNp
Z25lZCBidWZmZXJlZEFtb3VudCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2Uo
aW50IGNvZGUsIGNvbnN0IFN0cmluZyYgcmVhc29uKSA9IDA7CiAgICAgLy8gTG9nIHRoZSByZWFz
b24gdGV4dCBhbmQgY2xvc2UgdGhlIGNvbm5lY3Rpb24uIFdpbGwgY2FsbCBkaWRDbG9zZSgpLgpA
QCAtNzYsMTQgKzgwLDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZCgpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lKCkgPSAwOwogCi0gICAgdm9pZCByZWYoKSB7IHJl
ZlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCk7IH0KLSAgICB2b2lkIGRlcmVmKCkgeyBkZXJl
ZlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCk7IH0KLQotICAgIC8vIEZJWE1FOiBNZXJnZSBj
aGFubmVsSWRlbnRpZmllciBhbmQgaWRlbnRpZmllci4KLSAgICB2aXJ0dWFsIHVuc2lnbmVkIGNo
YW5uZWxJZGVudGlmaWVyKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBoYXNDcmVhdGVk
SGFuZHNoYWtlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0Nvbm5lY3RlZCgpIGNv
bnN0ID0gMDsKLSAgICB2aXJ0dWFsIFJlc291cmNlUmVxdWVzdCBjbGllbnRIYW5kc2hha2VSZXF1
ZXN0KEZ1bmN0aW9uPFN0cmluZyhjb25zdCBVUkwmKT4mJikgY29uc3QgPSAwOworICAgIHVzaW5n
IENvb2tpZUdldHRlciA9IEZ1bmN0aW9uPFN0cmluZyhjb25zdCBVUkwmKT47CisgICAgdmlydHVh
bCBSZXNvdXJjZVJlcXVlc3QgY2xpZW50SGFuZHNoYWtlUmVxdWVzdChjb25zdCBDb29raWVHZXR0
ZXImKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBzZXJ2
ZXJIYW5kc2hha2VSZXNwb25zZSgpIGNvbnN0ID0gMDsKIAogcHJvdGVjdGVkOgpAQCAtOTcsNiAr
OTcsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgfTsKICAgICBzdGF0aWMgT3B0aW9uYWw8VmFsaWRhdGVk
VVJMPiB2YWxpZGF0ZVVSTChEb2N1bWVudCYsIGNvbnN0IFVSTCYpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyBPcHRpb25hbDxSZXNvdXJjZVJlcXVlc3Q+IHdlYlNvY2tldENvbm5lY3RSZXF1
ZXN0KERvY3VtZW50JiwgY29uc3QgVVJMJik7CisKKyAgICBXZWJTb2NrZXRJZGVudGlmaWVyIG1f
aWRlbnRpZmllcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRl
eCA3ODA0ZGY0YTJiZTI3ZWZkNTM1NmMzMjljODNlMTAzNmU1MDZhZWRlLi5mMDA0MGEyNDYwM2Q0
NGUyYzI1YjFjZDRhMjIzNjc5NzNhZjVhMjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC0xMTAsNyArMTEw
LDcgQEAgV2ViU29ja2V0Q2hhbm5lbDo6Q29ubmVjdFN0YXR1cyBXZWJTb2NrZXRDaGFubmVsOjpj
b25uZWN0KGNvbnN0IFVSTCYgcmVxdWVzdGVkVVIKIAogICAgIHJlZigpOwogICAgIFN0cmluZyBw
YXJ0aXRpb24gPSBtX2RvY3VtZW50LT5kb21haW5Gb3JDYWNoZVBhcnRpdGlvbigpOwotICAgIG1f
aGFuZGxlID0gbV9zb2NrZXRQcm92aWRlci0+Y3JlYXRlU29ja2V0U3RyZWFtSGFuZGxlKG1faGFu
ZHNoYWtlLT51cmwoKSwgKnRoaXMsIHBhZ2UtPnNlc3Npb25JRCgpLCBwYXJ0aXRpb24sIGZyYW1l
LT5sb2FkZXIoKS5uZXR3b3JraW5nQ29udGV4dCgpKTsKKyAgICBtX2hhbmRsZSA9IG1fc29ja2V0
UHJvdmlkZXItPmNyZWF0ZVNvY2tldFN0cmVhbUhhbmRsZShtX2hhbmRzaGFrZS0+dXJsKCksICp0
aGlzLCBpZGVudGlmaWVyKCksIHBhZ2UtPnNlc3Npb25JRCgpLCBwYXJ0aXRpb24sIGZyYW1lLT5s
b2FkZXIoKS5uZXR3b3JraW5nQ29udGV4dCgpKTsKICAgICByZXR1cm4gQ29ubmVjdFN0YXR1czo6
T0s7CiB9CiAKQEAgLTgzMyw5ICs4MzMsOSBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OnNlbmRG
cmFtZShXZWJTb2NrZXRGcmFtZTo6T3BDb2RlIG9wQ29kZSwgY29uc3QgY2hhciogZGF0YQogICAg
IG1faGFuZGxlLT5zZW5kRGF0YShmcmFtZURhdGEuZGF0YSgpLCBmcmFtZURhdGEuc2l6ZSgpLCBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKLVJlc291cmNlUmVxdWVzdCBXZWJTb2Nr
ZXRDaGFubmVsOjpjbGllbnRIYW5kc2hha2VSZXF1ZXN0KEZ1bmN0aW9uPFN0cmluZyhjb25zdCBV
UkwmKT4mJiBjb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1ZSkgY29uc3QKK1Jlc291cmNlUmVx
dWVzdCBXZWJTb2NrZXRDaGFubmVsOjpjbGllbnRIYW5kc2hha2VSZXF1ZXN0KGNvbnN0IENvb2tp
ZUdldHRlciYgY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIG1faGFuZHNoYWtlLT5jbGllbnRIYW5kc2hha2VSZXF1ZXN0KFdURk1vdmUoY29va2llUmVx
dWVzdEhlYWRlckZpZWxkVmFsdWUpKTsKKyAgICByZXR1cm4gbV9oYW5kc2hha2UtPmNsaWVudEhh
bmRzaGFrZVJlcXVlc3QoY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUpOwogfQogCiBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiBXZWJTb2NrZXRDaGFubmVsOjpzZXJ2ZXJIYW5kc2hha2VSZXNw
b25zZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuaAppbmRleCAxN2Y5NWFlMWE0NTFjY2YzYmE0ZWE1ZDJkMjgzN2Nl
MWM2ZGY0NzU4Li4zN2U3NDVlMjk0NmFjMTEzOTdjMjUwYzhiM2NkYmY4ZTFlMWI3YWQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmgKQEAgLTExNCwxMSArMTE0LDkgQEAgcHVibGljOgogICAgIHZvaWQgZGlkRmluaXNoTG9h
ZGluZygpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkRmFpbChFeGNlcHRpb25Db2RlIGVycm9yQ29k
ZSkgb3ZlcnJpZGU7CiAKLSAgICB1bnNpZ25lZCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4g
bV9pZGVudGlmaWVyOyB9Ci0gICAgdW5zaWduZWQgY2hhbm5lbElkZW50aWZpZXIoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KICAgICBib29sIGhhc0NyZWF0ZWRIYW5kc2hh
a2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiAhIW1faGFuZHNoYWtlOyB9CiAgICAgYm9vbCBpc0Nv
bm5lY3RlZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faGFuZHNoYWtlLT5tb2RlKCkgPT0gV2Vi
U29ja2V0SGFuZHNoYWtlOjpNb2RlOjpDb25uZWN0ZWQ7IH0KLSAgICBSZXNvdXJjZVJlcXVlc3Qg
Y2xpZW50SGFuZHNoYWtlUmVxdWVzdChGdW5jdGlvbjxTdHJpbmcoY29uc3QgVVJMJik+JiYgY29v
a2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUpIGNvbnN0IGZpbmFsOworICAgIFJlc291cmNlUmVx
dWVzdCBjbGllbnRIYW5kc2hha2VSZXF1ZXN0KGNvbnN0IENvb2tpZUdldHRlciYpIGNvbnN0IGZp
bmFsOwogICAgIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHNlcnZlckhhbmRzaGFrZVJlc3BvbnNl
KCkgY29uc3QgZmluYWw7CiAKICAgICB1c2luZyBSZWZDb3VudGVkPFdlYlNvY2tldENoYW5uZWw+
OjpyZWY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0SGFuZHNoYWtlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9X
ZWJTb2NrZXRIYW5kc2hha2UuY3BwCmluZGV4IDNkMmE1MjZmYTBhNjM5NjRmYmFhYTRhOWM5MDg0
OGIxNDUyOTdjYjguLmFlM2UxMTM1ZDFmMjkwMGQwNDRkZDZmZDdiZTU5MzE3M2Y3YWQ5NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5k
c2hha2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2Nr
ZXRIYW5kc2hha2UuY3BwCkBAIC0yMTYsNyArMjE2LDcgQEAgQ1N0cmluZyBXZWJTb2NrZXRIYW5k
c2hha2U6OmNsaWVudEhhbmRzaGFrZU1lc3NhZ2UoKSBjb25zdAogICAgIHJldHVybiBidWlsZGVy
LnRvU3RyaW5nKCkudXRmOCgpOwogfQogCi1SZXNvdXJjZVJlcXVlc3QgV2ViU29ja2V0SGFuZHNo
YWtlOjpjbGllbnRIYW5kc2hha2VSZXF1ZXN0KEZ1bmN0aW9uPFN0cmluZyhjb25zdCBVUkwmKT4m
JiBjb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1ZSkgY29uc3QKK1Jlc291cmNlUmVxdWVzdCBX
ZWJTb2NrZXRIYW5kc2hha2U6OmNsaWVudEhhbmRzaGFrZVJlcXVlc3QoY29uc3QgRnVuY3Rpb248
U3RyaW5nKGNvbnN0IFVSTCYpPiYgY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUpIGNvbnN0
CiB7CiAgICAgLy8gS2VlcCB0aGUgZm9sbG93aW5nIGNvbnNpc3RlbnQgd2l0aCBjbGllbnRIYW5k
c2hha2VNZXNzYWdlKCkuCiAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QobV91cmwpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRz
aGFrZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRz
aGFrZS5oCmluZGV4IDczOWZiYmRkNTMyNGIwOGVhYTk5Zjk4NjY1YjVmYWFiOWUzZGVlMDUuLmVh
ZjhhNWMwNmFkMjA1OGQzZDM4OTUxMzUyMzk5NmY2YmUzZTBkZDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAg
LTY0LDcgKzY0LDcgQEAgcHVibGljOgogICAgIFN0cmluZyBjbGllbnRMb2NhdGlvbigpIGNvbnN0
OwogCiAgICAgQ1N0cmluZyBjbGllbnRIYW5kc2hha2VNZXNzYWdlKCkgY29uc3Q7Ci0gICAgUmVz
b3VyY2VSZXF1ZXN0IGNsaWVudEhhbmRzaGFrZVJlcXVlc3QoRnVuY3Rpb248U3RyaW5nKGNvbnN0
IFVSTCYpPiYmIGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlKSBjb25zdDsKKyAgICBSZXNv
dXJjZVJlcXVlc3QgY2xpZW50SGFuZHNoYWtlUmVxdWVzdChjb25zdCBGdW5jdGlvbjxTdHJpbmco
Y29uc3QgVVJMJik+JiBjb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1ZSkgY29uc3Q7CiAKICAg
ICB2b2lkIHJlc2V0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
c29ja2V0cy9XZWJTb2NrZXRJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnNvY2tldHMvV2ViU29ja2V0SWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3ODg0YWJkOGUzMDFl
Y2YyYTBkMWVlZjhkZDY2MjRhNjBjNTE1NWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SWRlbnRpZmllci5oCkBAIC0wLDAgKzEs
MzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSAsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvT2JqZWN0
SWRlbnRpZmllci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gV2ViU29ja2V0SWRl
bnRpZmllclR5cGUgeyB9OwordXNpbmcgV2ViU29ja2V0SWRlbnRpZmllciA9IE9iamVjdElkZW50
aWZpZXI8V2ViU29ja2V0SWRlbnRpZmllclR5cGU+OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IGFmMDYwNzdhNGJm
NDBlZjdhZTNlZDEwNmI0NzcxZTg4YWU1NDM0N2IuLmMzMzVkNWI3MTFiOTcyNTNmN2FkZGE2Yzlm
ZjIzMDIxMDUyZjNiZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5o
CkBAIC0xNjAsMTEgKzE2MCwxMCBAQCBwcml2YXRlOgogCiAgICAgY2xhc3MgV29ya2VyR2xvYmFs
U2NvcGVEaWRJbml0aWFsaXplVGFzazsKIAotICAgIC8vIER1bW15IGltcGxlbWVudGF0aW9uIG9m
IGluc3BlY3RvciByZWxhdGVkIEFQSXMuCi0gICAgdW5zaWduZWQgY2hhbm5lbElkZW50aWZpZXIo
KSBjb25zdCBmaW5hbCB7IHJldHVybiAxOyB9CisgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtp
dC5vcmcvYi8xNjg0NzU+IFdlYiBJbnNwZWN0b3I6IENvcnJlY3RseSBkaXNwbGF5IGlmcmFtZSdz
IGFuZCB3b3JrZXIncyBXZWJTb2NrZXRzCiAgICAgYm9vbCBoYXNDcmVhdGVkSGFuZHNoYWtlKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIGlzQ29ubmVjdGVkKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KLSAgICBSZXNvdXJjZVJlcXVlc3QgY2xpZW50SGFu
ZHNoYWtlUmVxdWVzdChGdW5jdGlvbjxTdHJpbmcoY29uc3QgVVJMJik+JiYpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1faGFuZHNoYWtlUmVxdWVzdDsgfQorICAgIFJlc291cmNlUmVxdWVzdCBjbGll
bnRIYW5kc2hha2VSZXF1ZXN0KGNvbnN0IENvb2tpZUdldHRlciYpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1faGFuZHNoYWtlUmVxdWVzdDsgfQogICAgIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHNl
cnZlckhhbmRzaGFrZVJlc3BvbnNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9oYW5kc2hha2VS
ZXNwb25zZTsgfQogCiAgICAgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBtX3dvcmtlckdsb2JhbFNj
b3BlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDFjZDFjN2Q3MDExMTY1MTA5YmYwNTFhYTQ2NTA2MTBlMDA0NjYyZGMuLmQ0ZTQz
ZmI0YWM4NTJmNzQyNmMyMzM4Y2UzMmQ2Y2UyNzdjZWNlOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMzcsNiArMTEzNyw3
IEBACiAJCTQxRDQxQzY3MjI1Njg3NEYwMDY5Nzk0MiAvKiBTZXJ2aWNlV29ya2VySW50ZXJuYWxz
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFENDFD
NjUyMjU2ODU5MjAwNjk3OTQyIC8qIFNlcnZpY2VXb3JrZXJJbnRlcm5hbHMubW0gKi87IH07CiAJ
CTQxREU3QzdDMjIyREExNDMwMDUzMkI2NSAvKiBTdG9yYWdlUXVvdGFNYW5hZ2VyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURFN0M3QjIyMkRBMTNF
MDA1MzJCNjUgLyogU3RvcmFnZVF1b3RhTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxREVGQ0I2MUU1NkMxQkQwMDBEOUU1RiAvKiBK
U0RPTU1hcExpa2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxREVGQ0I0MUU1NkMxQjkwMDBEOUU1RiAvKiBKU0RPTU1hcExpa2UuaCAqLzsgfTsKKwkJ
NDFFMTJFOUYyNEZFNzRFMjAwOTNGRkI0IC8qIFdlYlNvY2tldElkZW50aWZpZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTEyRTlEMjRGRTc0RTIw
MDkzRkZCNCAvKiBXZWJTb2NrZXRJZGVudGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFFMUIxRDEwRkY1OTg2OTAwNTc2QjNCIC8qIEFi
c3RyYWN0V29ya2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MUUxQjFDQjBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuaCAqLzsgfTsK
IAkJNDFFOURDRTcyMzE5NzRCRjAwRjM1OTQ5IC8qIEJsb2JMb2FkZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTlEQ0U0MjMxOTczRkUwMEYzNTk0
OSAvKiBCbG9iTG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDFFOURDRTkyMzE5Q0E3NjAwRjM1OTQ5IC8qIE5ldHdvcmtTZW5kUXVldWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTlEQ0U4
MjMxOUNBNzUwMEYzNTk0OSAvKiBOZXR3b3JrU2VuZFF1ZXVlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTc2OTAsNiArNzY5MSw3IEBACiAJCTQx
REVGQ0I0MUU1NkMxQjkwMDBEOUU1RiAvKiBKU0RPTU1hcExpa2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNET01NYXBMaWtlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxRTBBN0Q5MjNCQjU5MDEwMDU2MTA2MCAvKiBSVENSdHBDb2RlY0NhcGFiaWxpdHku
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJUQ1J0cENvZGVjQ2FwYWJpbGl0eS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRTBBN0RDMjNCQjYzREIwMDU2MTA2MCAvKiBS
VENSdHBDb2RlY0NhcGFiaWxpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UlRDUnRwQ29kZWNDYXBhYmlsaXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
RTEyRTlEMjRGRTc0RTIwMDkzRkZCNCAvKiBXZWJTb2NrZXRJZGVudGlmaWVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlNvY2tldElkZW50aWZpZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFFMUIxQ0EwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0
V29ya2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFic3RyYWN0
V29ya2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFFMUIxQ0IwRkY1OTg2
OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEFic3RyYWN0V29ya2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
RTFCMUNDMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gQWJzdHJhY3RXb3JrZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjMzNTMsNiArMjMzNTUsNyBAQAogCQkJCTk3QUFCRDA5MTRGQTA5RDUwMDc0NTdBRSAv
KiBXZWJTb2NrZXRFeHRlbnNpb25Qcm9jZXNzb3IuaCAqLywKIAkJCQlBQUY1QjdCMTE1MjRCNEJE
MDAwNENCNDkgLyogV2ViU29ja2V0RnJhbWUuY3BwICovLAogCQkJCTk3QUFCRDBBMTRGQTA5RDUw
MDc0NTdBRSAvKiBXZWJTb2NrZXRGcmFtZS5oICovLAorCQkJCTQxRTEyRTlEMjRGRTc0RTIwMDkz
RkZCNCAvKiBXZWJTb2NrZXRJZGVudGlmaWVyLmggKi8sCiAJCQkJOTdBQUJEMEIxNEZBMDlENTAw
NzQ1N0FFIC8qIFdlYlNvY2tldEhhbmRzaGFrZS5jcHAgKi8sCiAJCQkJOTdBQUJEMEMxNEZBMDlE
NTAwNzQ1N0FFIC8qIFdlYlNvY2tldEhhbmRzaGFrZS5oICovLAogCQkJCTk3QUFCRDExMTRGQTA5
RDUwMDc0NTdBRSAvKiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAgKi8sCkBA
IC0zMzAzMSw2ICszMzAzNCw3IEBACiAJCQkJMUE1OEU4NjYxRDE5RDRGMDAwQzBFQTczIC8qIFBh
eW1lbnRDb29yZGluYXRvckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNzZCMzcxRjQ0
QzYwRjAwMTRDMzE4IC8qIFBheW1lbnRDdXJyZW5jeUFtb3VudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTFGNzZCMUYxRjQ0QzNGRTAwMTRDMzE4IC8qIFBheW1lbnREZXRhaWxzQmFzZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNDFFMTJFOUYyNEZFNzRFMjAwOTNGRkI0IC8qIFdlYlNvY2tldElkZW50
aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUExRjc2QjI1MUY0NEM0OTEwMDE0QzMxOCAvKiBQ
YXltZW50RGV0YWlsc0luaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExRjc2QjRGMUY0NEQyNDIw
MDE0QzMxOCAvKiBQYXltZW50RGV0YWlsc01vZGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MUY2MDA0OTFGNDc1OTRFMDA3N0U4M0YgLyogUGF5bWVudERldGFpbHNVcGRhdGUuaCBpbiBIZWFk
ZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JOZXR3b3JrQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JOZXR3b3JrQWdlbnQuY3BwCmluZGV4IGUwMzNhYzE3OTk1ZmI1YTIxZTM0NmM3ZTVi
NzJkYjVmN2E4Yjg5NGQuLjg2N2U5NTAzZmVjZDIxYzBmODE1YjU1OGRhZDVmNmU5MzMzYmFhZmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0
d29ya0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3Rvck5ldHdvcmtBZ2VudC5jcHAKQEAgLTgxOSw3ICs4MTksNyBAQCB2b2lkIEluc3BlY3Rvck5l
dHdvcmtBZ2VudDo6ZW5hYmxlKCkKICAgICAgICAgICAgIGF1dG8mIGRvY3VtZW50ID0gZG93bmNh
c3Q8RG9jdW1lbnQ+KCp3ZWJTb2NrZXQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAg
ICAgICAgICBhdXRvIGNoYW5uZWwgPSB3ZWJTb2NrZXQtPmNoYW5uZWwoKTsKIAotICAgICAgICAg
ICAgYXV0byBpZGVudGlmaWVyID0gY2hhbm5lbC0+Y2hhbm5lbElkZW50aWZpZXIoKTsKKyAgICAg
ICAgICAgIGF1dG8gaWRlbnRpZmllciA9IGNoYW5uZWwtPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgp
OwogICAgICAgICAgICAgZGlkQ3JlYXRlV2ViU29ja2V0KGlkZW50aWZpZXIsIHdlYlNvY2tldC0+
dXJsKCkpOwogCiAgICAgICAgICAgICBhdXRvIGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVl
ID0gW2RvY3VtZW50ID0gbWFrZVdlYWtQdHIoZG9jdW1lbnQpXShjb25zdCBVUkwmIHVybCkgLT4g
U3RyaW5nIHsKQEAgLTk5Nyw3ICs5OTcsNyBAQCBXZWJTb2NrZXQqIEluc3BlY3Rvck5ldHdvcmtB
Z2VudDo6d2ViU29ja2V0Rm9yUmVxdWVzdElkKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkKQogICAg
IExvY2tIb2xkZXIgbG9jayhXZWJTb2NrZXQ6OmFsbEFjdGl2ZVdlYlNvY2tldHNNdXRleCgpKTsK
IAogICAgIGZvciAoYXV0byogd2ViU29ja2V0IDogYWN0aXZlV2ViU29ja2V0cyhsb2NrKSkgewot
ICAgICAgICBpZiAoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQod2ViU29ja2V0LT5jaGFu
bmVsKCktPmNoYW5uZWxJZGVudGlmaWVyKCkpID09IHJlcXVlc3RJZCkKKyAgICAgICAgaWYgKElk
ZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElkKHdlYlNvY2tldC0+Y2hhbm5lbCgpLT5pZGVudGlm
aWVyKCkudG9VSW50NjQoKSkgPT0gcmVxdWVzdElkKQogICAgICAgICAgICAgcmV0dXJuIHdlYlNv
Y2tldDsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU29ja2V0UHJv
dmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Tb2NrZXRQcm92aWRlci5jcHAKaW5kZXgg
ODAzYWM4MzE1NWZmNGRmMWJlY2Y3NWNkNDcxMGY2ZmJmN2JiYzMyYS4uM2JlYzBhZWYxNzQzMzY5
Mzk4MzhmYjEwNjlmZmZiY2I5ZjNkNTYwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Tb2NrZXRQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Tb2NrZXRQcm92
aWRlci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAot
UmVmPFNvY2tldFN0cmVhbUhhbmRsZT4gU29ja2V0UHJvdmlkZXI6OmNyZWF0ZVNvY2tldFN0cmVh
bUhhbmRsZShjb25zdCBVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50JiBjbGllbnQs
IFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBjcmVkZW50aWFsUGFydGl0
aW9uLCBjb25zdCBTdG9yYWdlU2Vzc2lvblByb3ZpZGVyKiBwcm92aWRlcikKK1JlZjxTb2NrZXRT
dHJlYW1IYW5kbGU+IFNvY2tldFByb3ZpZGVyOjpjcmVhdGVTb2NrZXRTdHJlYW1IYW5kbGUoY29u
c3QgVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCYgY2xpZW50LCBXZWJTb2NrZXRJ
ZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgY3JlZGVu
dGlhbFBhcnRpdGlvbiwgY29uc3QgU3RvcmFnZVNlc3Npb25Qcm92aWRlciogcHJvdmlkZXIpCiB7
CiAgICAgcmV0dXJuIFNvY2tldFN0cmVhbUhhbmRsZUltcGw6OmNyZWF0ZSh1cmwsIGNsaWVudCwg
c2Vzc2lvbklELCBjcmVkZW50aWFsUGFydGl0aW9uLCB7IH0sIHByb3ZpZGVyKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU29ja2V0UHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU29ja2V0UHJvdmlkZXIuaAppbmRleCBjNTc3OGIyNWJlNzczOGRiNjNjOTdkNTcz
MmYwM2Q1YTU2NzhiMmY4Li4yZDJhNzYwNzBhMTFlMGNmMmRiMDUzODdlZDhkMWVhNmFkM2U0MGVh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NvY2tldFByb3ZpZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9Tb2NrZXRQcm92aWRlci5oCkBAIC0yNSw2ICsyNSw3IEBACiAK
ICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiV2ViU29ja2V0SWRlbnRpZmllci5oIgogI2luY2x1
ZGUgPHBhbC9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTQzLDcgKzQ0LDcgQEAgY2xh
c3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIGNsYXNzIFdFQkNPUkVfRVhQT1JUIFNvY2tldFBy
b3ZpZGVyIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFNvY2tldFByb3ZpZGVyPiB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFJlZjxTb2NrZXRQcm92aWRlcj4gY3JlYXRlKCkgeyByZXR1cm4g
YWRvcHRSZWYoKm5ldyBTb2NrZXRQcm92aWRlcik7IH0KLSAgICB2aXJ0dWFsIFJlZjxTb2NrZXRT
dHJlYW1IYW5kbGU+IGNyZWF0ZVNvY2tldFN0cmVhbUhhbmRsZShjb25zdCBVUkwmLCBTb2NrZXRT
dHJlYW1IYW5kbGVDbGllbnQmLCBQQUw6OlNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBjcmVkZW50
aWFsUGFydGl0aW9uLCBjb25zdCBTdG9yYWdlU2Vzc2lvblByb3ZpZGVyKik7CisgICAgdmlydHVh
bCBSZWY8U29ja2V0U3RyZWFtSGFuZGxlPiBjcmVhdGVTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3Qg
VVJMJiwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50JiwgV2ViU29ja2V0SWRlbnRpZmllciwgUEFM
OjpTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlvbiwgY29uc3QgU3Rv
cmFnZVNlc3Npb25Qcm92aWRlciopOwogCiAgICAgdmlydHVhbCBSZWZQdHI8VGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWw+IGNyZWF0ZVdlYlNvY2tldENoYW5uZWwoRG9jdW1lbnQmLCBXZWJTb2Nr
ZXRDaGFubmVsQ2xpZW50Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggYWNj
ZWQ2YWJjZjhiNjE2MzIwZjg0NjdiNDU4MDIzM2NkMjg5OGJmOC4uNGQxZWJjZGY3MzEzNzEyMmUw
MjBkYTc5M2M1Yjk5Yjg0YzdmNjJkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAg
LTYwLDcgKzYwLDYgQEAKICNpbmNsdWRlICJXZWJTV1NlcnZlckNvbm5lY3Rpb25NZXNzYWdlcy5o
IgogI2luY2x1ZGUgIldlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUg
IldlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbk1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiV2Vi
U29ja2V0SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJz
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudFN0b3JhZ2VBY2Nlc3MuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0hUVFBDb29raWVBY2NlcHRQb2xpY3kuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
aAppbmRleCBiY2Q2MTVmMDk4OGNhZTk2MDVkNzg2Y2E4OGExODM2MDAzODIyN2M0Li43MDIzOGMx
ZWZjYzQzYWNiZTA4MTA0ZWE1ZDU4MWZhMzMzNGRmY2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5oCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5SWRlbnRpZmllci5o
IgogI2luY2x1ZGUgIldlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgiCiAjaW5jbHVkZSAiV2Vi
UmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaCIKLSNpbmNsdWRlICJXZWJTb2NrZXRJZGVudGlmaWVyLmgi
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9GcmFtZUlkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lc3NhZ2VQb3J0Q2hh
bm5lbFByb3ZpZGVyLmg+CkBAIC00OCw2ICs0Nyw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdl
SWRlbnRpZmllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvY2Vzc0lkZW50aWZpZXIuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1JlZ2lzdHJhYmxlRG9tYWluLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9X
ZWJTb2NrZXRJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFt
ZXNwYWNlIFBBTCB7CkBAIC0xNTgsNyArMTU4LDcgQEAgcHVibGljOgogCiAgICAgVmVjdG9yPFJl
ZlB0cjxXZWJDb3JlOjpCbG9iRGF0YUZpbGVSZWZlcmVuY2U+PiByZXNvbHZlQmxvYlJlZmVyZW5j
ZXMoY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmKTsKIAotICAgIHZvaWQgcmVt
b3ZlU29ja2V0Q2hhbm5lbChXZWJTb2NrZXRJZGVudGlmaWVyKTsKKyAgICB2b2lkIHJlbW92ZVNv
Y2tldENoYW5uZWwoV2ViQ29yZTo6V2ViU29ja2V0SWRlbnRpZmllcik7CiAKICAgICBXZWJDb3Jl
OjpQcm9jZXNzSWRlbnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJu
IG1fd2ViUHJvY2Vzc0lkZW50aWZpZXI7IH0KIApAQCAtMjI3LDkgKzIyNyw5IEBAIHByaXZhdGU6
CiAKICAgICB2b2lkIHNldENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljc0VuYWJsZWQoYm9v
bCk7CiAKLSAgICB2b2lkIGNyZWF0ZVNvY2tldFN0cmVhbShVUkwmJiwgU3RyaW5nIGNhY2hlUGFy
dGl0aW9uLCBXZWJTb2NrZXRJZGVudGlmaWVyKTsKKyAgICB2b2lkIGNyZWF0ZVNvY2tldFN0cmVh
bShVUkwmJiwgU3RyaW5nIGNhY2hlUGFydGl0aW9uLCBXZWJDb3JlOjpXZWJTb2NrZXRJZGVudGlm
aWVyKTsKIAotICAgIHZvaWQgY3JlYXRlU29ja2V0Q2hhbm5lbChjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sLCBXZWJTb2NrZXRJZGVudGlmaWVy
KTsKKyAgICB2b2lkIGNyZWF0ZVNvY2tldENoYW5uZWwoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCwgV2ViQ29yZTo6V2ViU29ja2V0SWRlbnRp
Zmllcik7CiAgICAgdm9pZCB1cGRhdGVRdW90YUJhc2VkT25TcGFjZVVzYWdlRm9yVGVzdGluZyhj
b25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mKTsKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKQEAgLTMzOSw4ICszMzksOCBAQCBwcml2YXRlOgogICAgIFJlZjxOZXR3b3JrUHJvY2Vzcz4g
bV9uZXR3b3JrUHJvY2VzczsKICAgICBQQUw6OlNlc3Npb25JRCBtX3Nlc3Npb25JRDsKIAotICAg
IEhhc2hNYXA8V2ViU29ja2V0SWRlbnRpZmllciwgUmVmUHRyPE5ldHdvcmtTb2NrZXRTdHJlYW0+
PiBtX25ldHdvcmtTb2NrZXRTdHJlYW1zOwotICAgIEhhc2hNYXA8V2ViU29ja2V0SWRlbnRpZmll
ciwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtTb2NrZXRDaGFubmVsPj4gbV9uZXR3b3JrU29ja2V0
Q2hhbm5lbHM7CisgICAgSGFzaE1hcDxXZWJDb3JlOjpXZWJTb2NrZXRJZGVudGlmaWVyLCBSZWZQ
dHI8TmV0d29ya1NvY2tldFN0cmVhbT4+IG1fbmV0d29ya1NvY2tldFN0cmVhbXM7CisgICAgSGFz
aE1hcDxXZWJDb3JlOjpXZWJTb2NrZXRJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29y
a1NvY2tldENoYW5uZWw+PiBtX25ldHdvcmtTb2NrZXRDaGFubmVsczsKICAgICBOZXR3b3JrUmVz
b3VyY2VMb2FkTWFwIG1fbmV0d29ya1Jlc291cmNlTG9hZGVyczsKICAgICBIYXNoTWFwPFN0cmlu
ZywgUmVmUHRyPFdlYkNvcmU6OkJsb2JEYXRhRmlsZVJlZmVyZW5jZT4+IG1fYmxvYkRhdGFGaWxl
UmVmZXJlbmNlczsKICAgICBWZWN0b3I8UmVzb3VyY2VOZXR3b3JrQWN0aXZpdHlUcmFja2VyPiBt
X25ldHdvcmtBY3Rpdml0eVRyYWNrZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW4KaW5kZXggMDU3NTBiYjUzOWU0ZTE2Yjk3YzM2ZmUzNjk1ZWYxNzRiY2UyMDk2
ZC4uNTRlNTAzMDFkZWE2MjUzMWQ0NGIwYzY5YTc2MGIwZWJlYTJjZmJmNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC01OCw4ICs1OCw4IEBAIG1lc3Nh
Z2VzIC0+IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKIAog
ICAgIFNldENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljc0VuYWJsZWQoYm9vbCBlbmFibGVk
KQogCi0gICAgQ3JlYXRlU29ja2V0U3RyZWFtKFVSTCB1cmwsIFN0cmluZyBjYWNoZVBhcnRpdGlv
biwgV2ViS2l0OjpXZWJTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIpCi0gICAgQ3JlYXRlU29j
a2V0Q2hhbm5lbChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgU3RyaW5nIHByb3Rv
Y29sLCBXZWJLaXQ6OldlYlNvY2tldElkZW50aWZpZXIgaWRlbnRpZmllcikKKyAgICBDcmVhdGVT
b2NrZXRTdHJlYW0oVVJMIHVybCwgU3RyaW5nIGNhY2hlUGFydGl0aW9uLCBXZWJDb3JlOjpXZWJT
b2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIpCisgICAgQ3JlYXRlU29ja2V0Q2hhbm5lbChXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgU3RyaW5nIHByb3RvY29sLCBXZWJDb3JlOjpX
ZWJTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIpCiAKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKQogICAgIFJlbW92ZVN0b3JhZ2VBY2Nlc3NGb3JGcmFtZShXZWJDb3JlOjpG
cmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlEKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldENo
YW5uZWwuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldENoYW5u
ZWwuaAppbmRleCAzYjE1MTU2ZmQwNzE2Mzc4YjM0MjZjYjJjMTc0ZTMxMzVmNTI3YWZhLi4zMTk2
NDE5MGQxNDFkNTQ5ZGEwYmFmMmRjOGJmMjk3YjRlNTgxZTg5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFubmVsLmgKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0Q2hhbm5lbC5oCkBAIC0yNyw4ICsy
Nyw4IEBACiAKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJNZXNzYWdl
U2VuZGVyLmgiCi0jaW5jbHVkZSAiV2ViU29ja2V0SWRlbnRpZmllci5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvVGltZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1dlYlNvY2tldElkZW50aWZpZXIuaD4K
ICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5k
bGVyLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KQEAgLTUzLDkgKzUzLDkgQEAgY2xhc3Mg
TmV0d29ya1Nlc3Npb247CiBjbGFzcyBOZXR3b3JrU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBJUEM6
Ok1lc3NhZ2VTZW5kZXIsIHB1YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CiAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxO
ZXR3b3JrU29ja2V0Q2hhbm5lbD4gY3JlYXRlKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
JiwgUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFN0cmluZyYgcHJvdG9jb2wsIFdlYlNvY2tldElkZW50aWZpZXIpOworICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8TmV0d29ya1NvY2tldENoYW5uZWw+IGNyZWF0ZShOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyYsIFBBTDo6U2Vzc2lvbklELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sLCBXZWJDb3JlOjpXZWJTb2NrZXRJZGVudGlm
aWVyKTsKIAotICAgIE5ldHdvcmtTb2NrZXRDaGFubmVsKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzJiwgTmV0d29ya1Nlc3Npb24qLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
LCBjb25zdCBTdHJpbmcmIHByb3RvY29sLCBXZWJTb2NrZXRJZGVudGlmaWVyKTsKKyAgICBOZXR3
b3JrU29ja2V0Q2hhbm5lbChOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIE5ldHdvcmtT
ZXNzaW9uKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBw
cm90b2NvbCwgV2ViQ29yZTo6V2ViU29ja2V0SWRlbnRpZmllcik7CiAgICAgfk5ldHdvcmtTb2Nr
ZXRDaGFubmVsKCk7CiAKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpOwpAQCAtODQsNyArODQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
ZmluaXNoQ2xvc2luZ0lmUG9zc2libGUoKTsKIAogICAgIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzJiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7Ci0gICAgV2ViU29ja2V0SWRlbnRpZmll
ciBtX2lkZW50aWZpZXI7CisgICAgV2ViQ29yZTo6V2ViU29ja2V0SWRlbnRpZmllciBtX2lkZW50
aWZpZXI7CiAgICAgV2Vha1B0cjxOZXR3b3JrU2Vzc2lvbj4gbV9zZXNzaW9uOwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxXZWJTb2NrZXRUYXNrPiBtX3NvY2tldDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0U3RyZWFtLmggYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRTdHJlYW0uaAppbmRleCBlYzQ2MDFjZTE4
YjI0NmE5MzdjZGJlOTEzMjg2ZmFmNTZhNTAzMjc3Li41MmVjMzkyNjkwMjE4ZWRlNjY4ZDU1ZTYz
OGQ4ZTE3NTAyZmQ2ZWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtTb2NrZXRTdHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtTb2NrZXRTdHJlYW0uaApAQCAtMjcsMTEgKzI3LDExIEBACiAKICNpbmNsdWRlICJN
ZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCi0jaW5jbHVkZSAi
V2ViU29ja2V0SWRlbnRpZmllci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvU29ja2V0U3RyZWFtRXJy
b3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvU29ja2V0U3RyZWFtSGFuZGxlSW1wbC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvVGltZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1dlYlNvY2tldElkZW50aWZpZXIuaD4KICNp
bmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAKIG5hbWVzcGFjZSBJUEMgewpAQCAtNDYsNyArNDYs
NyBAQCBjbGFzcyBOZXR3b3JrUHJvY2VzczsKIAogY2xhc3MgTmV0d29ya1NvY2tldFN0cmVhbSA6
IHB1YmxpYyBSZWZDb3VudGVkPE5ldHdvcmtTb2NrZXRTdHJlYW0+LCBwdWJsaWMgSVBDOjpNZXNz
YWdlU2VuZGVyLCBwdWJsaWMgSVBDOjpNZXNzYWdlUmVjZWl2ZXIsIHB1YmxpYyBXZWJDb3JlOjpT
b2NrZXRTdHJlYW1IYW5kbGVDbGllbnQgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8TmV0d29y
a1NvY2tldFN0cmVhbT4gY3JlYXRlKE5ldHdvcmtQcm9jZXNzJiwgVVJMJiYsIFBBTDo6U2Vzc2lv
bklELCBjb25zdCBTdHJpbmcmIGNyZWRlbnRpYWxQYXJ0aXRpb24sIFdlYlNvY2tldElkZW50aWZp
ZXIsIElQQzo6Q29ubmVjdGlvbiYsIFdlYkNvcmU6OlNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tl
biYmKTsKKyAgICBzdGF0aWMgUmVmPE5ldHdvcmtTb2NrZXRTdHJlYW0+IGNyZWF0ZShOZXR3b3Jr
UHJvY2VzcyYsIFVSTCYmLCBQQUw6OlNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBjcmVkZW50aWFs
UGFydGl0aW9uLCBXZWJDb3JlOjpXZWJTb2NrZXRJZGVudGlmaWVyLCBJUEM6OkNvbm5lY3Rpb24m
LCBXZWJDb3JlOjpTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW4mJik7CiAgICAgfk5ldHdvcmtT
b2NrZXRTdHJlYW0oKTsKIAogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpEZWNvZGVyJik7CkBAIC02OCw5ICs2OCw5IEBAIHByaXZhdGU6CiAgICAgSVBD
OjpDb25uZWN0aW9uKiBtZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigpIGNvbnN0IGZpbmFsOwogICAg
IHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgY29uc3QgZmluYWw7CiAKLSAg
ICBOZXR3b3JrU29ja2V0U3RyZWFtKE5ldHdvcmtQcm9jZXNzJiwgVVJMJiYsIFBBTDo6U2Vzc2lv
bklELCBjb25zdCBTdHJpbmcmIGNyZWRlbnRpYWxQYXJ0aXRpb24sIFdlYlNvY2tldElkZW50aWZp
ZXIsIElQQzo6Q29ubmVjdGlvbiYsIFdlYkNvcmU6OlNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tl
biYmKTsKKyAgICBOZXR3b3JrU29ja2V0U3RyZWFtKE5ldHdvcmtQcm9jZXNzJiwgVVJMJiYsIFBB
TDo6U2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIGNyZWRlbnRpYWxQYXJ0aXRpb24sIFdlYkNvcmU6
OldlYlNvY2tldElkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbiYsIFdlYkNvcmU6OlNvdXJjZUFw
cGxpY2F0aW9uQXVkaXRUb2tlbiYmKTsKIAotICAgIFdlYlNvY2tldElkZW50aWZpZXIgbV9pZGVu
dGlmaWVyOworICAgIFdlYkNvcmU6OldlYlNvY2tldElkZW50aWZpZXIgbV9pZGVudGlmaWVyOwog
ICAgIElQQzo6Q29ubmVjdGlvbiYgbV9jb25uZWN0aW9uOwogICAgIFJlZjxXZWJDb3JlOjpTb2Nr
ZXRTdHJlYW1IYW5kbGVJbXBsPiBtX2ltcGw7CiAgICAgV2ViQ29yZTo6VGltZXIgbV9kZWxheUZh
aWxUaW1lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2Fn
ZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDZh
ZTY5MWQ3YTk1MTI1NGNmNmIzNTNlMTcyZjgxMTFiNTNhZWMzYjAuLmQxODEwYzIwYjA0ODVjYmQ4
Mjk5ZDc4MzFhMzU2YWQzYTEyMGU3YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9t
ZXNzYWdlcy5weQpAQCAtMjI5LDYgKzIyOSw3IEBAIGRlZiB0eXBlc190aGF0X2Nhbm5vdF9iZV9m
b3J3YXJkX2RlY2xhcmVkKCk6CiAgICAgICAgICdXZWJDb3JlOjpTaGFyZWRTdHJpbmdIYXNoJywK
ICAgICAgICAgJ1dlYkNvcmU6OlNsZWVwRGlzYWJsZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dl
YkNvcmU6OlNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXInLAorICAgICAgICAnV2ViQ29yZTo6
V2ViU29ja2V0SWRlbnRpZmllcicsCiAgICAgICAgICdXZWJLaXQ6OkFjdGl2aXR5U3RhdGVDaGFu
Z2VJRCcsCiAgICAgICAgICdXZWJLaXQ6OkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVySWRl
bnRpZmllcicsCiAgICAgICAgICdXZWJLaXQ6OkNvbnRlbnRXb3JsZElkZW50aWZpZXInLApAQCAt
MjY0LDcgKzI2NSw2IEBAIGRlZiB0eXBlc190aGF0X2Nhbm5vdF9iZV9mb3J3YXJkX2RlY2xhcmVk
KCk6CiAgICAgICAgICdXZWJLaXQ6OlRyYW5zYWN0aW9uSUQnLAogICAgICAgICAnV2ViS2l0OjpV
c2VyQ29udGVudENvbnRyb2xsZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6V2ViUGFn
ZVByb3h5SWRlbnRpZmllcicsCi0gICAgICAgICdXZWJLaXQ6OldlYlNvY2tldElkZW50aWZpZXIn
LAogICAgIF0pCiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggMDM2ZGI2YWNmODBmNDFkOWM0NDcyNjQ2NjkyMzAwNzk1NjE4MWM3Yy4u
MTc3YTJjZDMyODE0MWRmY2ZhMTIxMWEzMjAzZWY4OGNkNjQxMzM2YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zNDU3LDcgKzM0NTcs
NiBAQAogCQk0MTc5MTVCNjIyNTcwNDZFMDBENkY5N0UgLyogTmV0d29ya1NvY2tldENoYW5uZWwu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya1NvY2tldENoYW5uZWwu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE3OTE1QjcyMjU3MDQ2RTAwRDZGOTdF
IC8qIE5ldHdvcmtTb2NrZXRDaGFubmVsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IE5ldHdvcmtTb2NrZXRDaGFubmVsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDE3OTE1QjgyMjU3MDQ2RTAwRDZGOTdFIC8qIE5ldHdvcmtTb2NrZXRDaGFubmVs
Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5ldHdvcmtTb2NrZXRDaGFubmVs
Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTc5NEQxQzIzRURE
NzU3MDA4QzQ1M0YgLyogV2ViU29ja2V0SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBXZWJTb2NrZXRJZGVudGlmaWVyLmg7IHBhdGggPSBOZXR3b3JrL1dlYlNv
Y2tldElkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4OTdFQ0Mx
RjQxNUQ1QzAwMTZGQTQyIC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDE4OTdFQ0QxRjQxNUQ1QzAwMTZGQTQyIC8qIFdlYkNhY2hlU3RvcmFnZUNv
bm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTg5N0VDRTFGNDE1RDVDMDAxNkZBNDIgLyog
V2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc3
NTEsNyArNzc1MCw2IEBACiAJCQkJNDE3OTE1QjQyMjU2RDFBNzAwRDZGOTdFIC8qIFdlYlNvY2tl
dENoYW5uZWwubWVzc2FnZXMuaW4gKi8sCiAJCQkJNDE3OTE1QjIyMjU2QzJFMjAwRDZGOTdFIC8q
IFdlYlNvY2tldENoYW5uZWxNYW5hZ2VyLmNwcCAqLywKIAkJCQk0MTc5MTVCMDIyNTZDMEQ2MDBE
NkY5N0UgLyogV2ViU29ja2V0Q2hhbm5lbE1hbmFnZXIuaCAqLywKLQkJCQk0MTc5NEQxQzIzRURE
NzU3MDA4QzQ1M0YgLyogV2ViU29ja2V0SWRlbnRpZmllci5oICovLAogCQkJCTVDNzcwNjczMUQx
MTFEOEIwMDEyNzAwRiAvKiBXZWJTb2NrZXRQcm92aWRlci5jcHAgKi8sCiAJCQkJNUM3Qzg4REMx
RDBGNDFBMDAwOUQyRjZEIC8qIFdlYlNvY2tldFByb3ZpZGVyLmggKi8sCiAJCQkJNUMwQjE3N0Ex
RTdDODg0RjAwRTkxMjNDIC8qIFdlYlNvY2tldFN0cmVhbS5jcHAgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4
IGFmOTllOGI0MTczOTE1ZTE3ODMwZDMxMTYzMzRjYTFhY2RmMTMxYWUuLjY0MDNmMGZmZDBjZjFh
NzIwMTczMzg4NzI4NWRmYjA1YWQzZTIzMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC03MSw3ICs3MSw2IEBA
IE5ldHdvcmtTZW5kUXVldWUgV2ViU29ja2V0Q2hhbm5lbDo6Y3JlYXRlTWVzc2FnZVF1ZXVlKERv
Y3VtZW50JiBkb2N1bWVudCwgV2ViU29jCiAKIFdlYlNvY2tldENoYW5uZWw6OldlYlNvY2tldENo
YW5uZWwoRG9jdW1lbnQmIGRvY3VtZW50LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50JiBjbGllbnQp
CiAgICAgOiBtX2RvY3VtZW50KG1ha2VXZWFrUHRyKGRvY3VtZW50KSkKLSAgICAsICBtX2lkZW50
aWZpZXIoV2ViU29ja2V0SWRlbnRpZmllcjo6Z2VuZXJhdGUoKSkKICAgICAsIG1fY2xpZW50KG1h
a2VXZWFrUHRyKGNsaWVudCkpCiAgICAgLCBtX21lc3NhZ2VRdWV1ZShjcmVhdGVNZXNzYWdlUXVl
dWUoZG9jdW1lbnQsICp0aGlzKSkKICAgICAsIG1faW5zcGVjdG9yKGRvY3VtZW50KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5oCmlu
ZGV4IDkzMWYwOTAxNmZjNDQxOTQwYjBhMWRmN2Q1ODlmNWQ2NzIyZGM2MWEuLmY1MzQ3ODM0N2U3
NzVkZjM3ZWE5NzYzNGMyMzMwOTMyYjRhMTRkMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsLmgKQEAgLTI3LDcgKzI3LDYgQEAK
IAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIu
aCIKLSNpbmNsdWRlICJXZWJTb2NrZXRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9O
ZXR3b3JrU2VuZFF1ZXVlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KQEAgLTQ5LDggKzQ4LDYgQEAg
cHVibGljOgogICAgIHN0YXRpYyBSZWY8V2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFdlYkNvcmU6
OkRvY3VtZW50JiwgV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbENsaWVudCYpOwogICAgIH5XZWJT
b2NrZXRDaGFubmVsKCk7CiAKLSAgICBXZWJTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIoKSBj
b25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KLQogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CiAKICAgICB2b2lkIG5ldHdvcmtQ
cm9jZXNzQ3Jhc2hlZCgpOwpAQCAtMTAwLDE0ICs5NywxMiBAQCBwcml2YXRlOgogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHZvaWQgc2VuZE1lc3NhZ2UoVCYmLCBzaXplX3QgYnl0ZUxlbmd0aCk7
CiAgICAgdm9pZCBlbnF1ZXVlVGFzayhGdW5jdGlvbjx2b2lkKCk+JiYpOwogCi0gICAgdW5zaWdu
ZWQgY2hhbm5lbElkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2lkZW50aWZpZXIu
dG9VSW50NjQoKTsgfQogICAgIGJvb2wgaGFzQ3JlYXRlZEhhbmRzaGFrZSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuICFtX3VybC5pc051bGwoKTsgfQogICAgIGJvb2wgaXNDb25uZWN0ZWQoKSBjb25z
dCBmaW5hbCB7IHJldHVybiAhbV9oYW5kc2hha2VSZXNwb25zZS5pc051bGwoKTsgfQotICAgIFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCBjbGllbnRIYW5kc2hha2VSZXF1ZXN0KEZ1bmN0aW9uPFN0
cmluZyhjb25zdCBVUkwmKT4mJikgY29uc3QgZmluYWwgeyByZXR1cm4gbV9oYW5kc2hha2VSZXF1
ZXN0OyB9CisgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IGNsaWVudEhhbmRzaGFrZVJlcXVl
c3QoY29uc3QgQ29va2llR2V0dGVyJikgY29uc3QgZmluYWwgeyByZXR1cm4gbV9oYW5kc2hha2VS
ZXF1ZXN0OyB9CiAgICAgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgc2VydmVySGFu
ZHNoYWtlUmVzcG9uc2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2hhbmRzaGFrZVJlc3BvbnNl
OyB9CiAKICAgICBXZWFrUHRyPFdlYkNvcmU6OkRvY3VtZW50PiBtX2RvY3VtZW50OwotICAgIFdl
YlNvY2tldElkZW50aWZpZXIgbV9pZGVudGlmaWVyOwogICAgIFdlYWtQdHI8V2ViQ29yZTo6V2Vi
U29ja2V0Q2hhbm5lbENsaWVudD4gbV9jbGllbnQ7CiAgICAgVVJMIG1fdXJsOwogICAgIFN0cmlu
ZyBtX3N1YnByb3RvY29sOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViU29ja2V0Q2hhbm5lbE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWxNYW5hZ2VyLmgKaW5kZXggODZhZWJkNTE4MTQ0MWNi
NTZiZjNkYTVkOGRlMzZjNjc1NTJlMzllMy4uZjY1YWY5ZWQ5ZmRkOTQ4ZWI1ODE3MGZhOTg2Njg5
MmQ5ZTRjYTliOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViU29ja2V0Q2hhbm5lbE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJTb2NrZXRDaGFubmVsTWFuYWdlci5oCkBAIC01MCw3ICs1MCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHJlbW92ZUNoYW5uZWwoV2ViU29ja2V0Q2hhbm5lbCYgY2hhbm5lbCkgeyBt
X2NoYW5uZWxzLnJlbW92ZShjaGFubmVsLmlkZW50aWZpZXIoKSApOyB9CiAKIHByaXZhdGU6Ci0g
ICAgSGFzaE1hcDxXZWJTb2NrZXRJZGVudGlmaWVyLCBXZWFrUHRyPFdlYlNvY2tldENoYW5uZWw+
PiBtX2NoYW5uZWxzOworICAgIEhhc2hNYXA8V2ViQ29yZTo6V2ViU29ja2V0SWRlbnRpZmllciwg
V2Vha1B0cjxXZWJTb2NrZXRDaGFubmVsPj4gbV9jaGFubmVsczsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViU29ja2V0SWRlbnRpZmllci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViU29ja2V0SWRlbnRpZmllci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOGY0
MjYxZTFiOWU5N2NjZGNjZGQwOTgyMjQxM2NjYmJiYmIyYzA5Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlNvY2tldElkZW50aWZpZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSAsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlIDx3dGYvT2JqZWN0SWRlbnRp
Zmllci5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotZW51bSBXZWJTb2NrZXRJZGVudGlmaWVy
VHlwZSB7IH07Ci11c2luZyBXZWJTb2NrZXRJZGVudGlmaWVyID0gT2JqZWN0SWRlbnRpZmllcjxX
ZWJTb2NrZXRJZGVudGlmaWVyVHlwZT47Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlkZXIu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlkZXIu
Y3BwCmluZGV4IDgyOGQ1MDIzOWY3ZDFkOWVkOTE0NTNhZTA2YTdhYzIzNWJjOTg1NDcuLmM1M2Zj
ZDZkNDcxMWJhZjQ2YzM2MzlkOTVmNGZjYTYzNzE1ODMxYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRQcm92aWRlci5jcHAKQEAgLTM4
LDEwICszOCwxMCBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAotUmVmPFNvY2tldFN0cmVhbUhhbmRsZT4gV2ViU29ja2V0UHJvdmlkZXI6OmNyZWF0ZVNv
Y2tldFN0cmVhbUhhbmRsZShjb25zdCBVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50
JiBjbGllbnQsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBjcmVkZW50
aWFsUGFydGl0aW9uLCBjb25zdCBTdG9yYWdlU2Vzc2lvblByb3ZpZGVyKikKK1JlZjxTb2NrZXRT
dHJlYW1IYW5kbGU+IFdlYlNvY2tldFByb3ZpZGVyOjpjcmVhdGVTb2NrZXRTdHJlYW1IYW5kbGUo
Y29uc3QgVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCYgY2xpZW50LCBXZWJTb2Nr
ZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3Qg
U3RyaW5nJiBjcmVkZW50aWFsUGFydGl0aW9uLCBjb25zdCBTdG9yYWdlU2Vzc2lvblByb3ZpZGVy
KikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHNlc3Npb25JRCwgc2Vzc2lvbklEID09IFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLnNlc3Npb25JRCgpKTsKLSAgICByZXR1cm4gV2ViU29ja2V0U3RyZWFt
OjpjcmVhdGUodXJsLCBjbGllbnQsIGNyZWRlbnRpYWxQYXJ0aXRpb24pOworICAgIHJldHVybiBX
ZWJTb2NrZXRTdHJlYW06OmNyZWF0ZSh1cmwsIGNsaWVudCwgaWRlbnRpZmllciwgY3JlZGVudGlh
bFBhcnRpdGlvbik7CiB9CiAKIFJlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gV2Vi
U29ja2V0UHJvdmlkZXI6OmNyZWF0ZVdlYlNvY2tldENoYW5uZWwoRG9jdW1lbnQmIGRvY3VtZW50
LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50JiBjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRQcm92aWRlci5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlkZXIuaAppbmRleCA3M2U0Y2U4MWYx
ZDk4OTExNDA1ZTFmYzQ4OGNjMDc4ODlhMjMyOGM3Li4xYjM1NTJkYTM2NDBhNDA3YmNmNGY5Zjc2
MGE1YzVkM2IyOWZjYTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0
d29yay9XZWJTb2NrZXRQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVyLmgKQEAgLTMyLDcgKzMyLDcgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiBjbGFzcyBXZWJTb2NrZXRQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpT
b2NrZXRQcm92aWRlciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJTb2NrZXRQcm92aWRl
cj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJTb2NrZXRQcm92aWRlcik7IH0K
LSAgICBSZWY8V2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlPiBjcmVhdGVTb2NrZXRTdHJlYW1I
YW5kbGUoY29uc3QgVVJMJiwgV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50JiwgUEFM
OjpTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlvbiwgY29uc3QgV2Vi
Q29yZTo6U3RvcmFnZVNlc3Npb25Qcm92aWRlciopIGZpbmFsOworICAgIFJlZjxXZWJDb3JlOjpT
b2NrZXRTdHJlYW1IYW5kbGU+IGNyZWF0ZVNvY2tldFN0cmVhbUhhbmRsZShjb25zdCBVUkwmLCBX
ZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQmLCBXZWJDb3JlOjpXZWJTb2NrZXRJZGVu
dGlmaWVyLCBQQUw6OlNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBjcmVkZW50aWFsUGFydGl0aW9u
LCBjb25zdCBXZWJDb3JlOjpTdG9yYWdlU2Vzc2lvblByb3ZpZGVyKikgZmluYWw7CiAgICAgUmVm
UHRyPFdlYkNvcmU6OlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGVXZWJTb2NrZXRD
aGFubmVsKFdlYkNvcmU6OkRvY3VtZW50JiwgV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbENsaWVu
dCYpIGZpbmFsOwogICAgIHZpcnR1YWwgfldlYlNvY2tldFByb3ZpZGVyKCkgeyB9CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFt
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5j
cHAKaW5kZXggNjkxZmI1ZTk0YWE5ZjZhYjI1ZjA5NTg4MGU5YTMyOGM3MGUyMDYzOS4uYWYyNDJj
ZDJiNTk1YWM0YTQ0ODQyOTdiZTVkNWNmZTE4ZDQ4ZjMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRTdHJlYW0uY3BwCkBAIC0zMiw3ICsz
Miw2IEBACiAjaW5jbHVkZSAiTmV0d29ya1NvY2tldFN0cmVhbU1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgotI2lu
Y2x1ZGUgIldlYlNvY2tldElkZW50aWZpZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZVJl
cXVlc3RIZWFkZXJGaWVsZFByb3h5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Tb2NrZXRTdHJlYW1F
cnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50Lmg+CkBA
IC03NywxNCArNzYsMTQgQEAgdm9pZCBXZWJTb2NrZXRTdHJlYW06Om5ldHdvcmtQcm9jZXNzQ3Jh
c2hlZCgpCiAgICAgZ2xvYmFsV2ViU29ja2V0U3RyZWFtTWFwKCkuY2xlYXIoKTsKIH0KIAotUmVm
PFdlYlNvY2tldFN0cmVhbT4gV2ViU29ja2V0U3RyZWFtOjpjcmVhdGUoY29uc3QgVVJMJiB1cmws
IFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCYgY2xpZW50LCBjb25zdCBTdHJpbmcmIGNyZWRlbnRp
YWxQYXJ0aXRpb24pCitSZWY8V2ViU29ja2V0U3RyZWFtPiBXZWJTb2NrZXRTdHJlYW06OmNyZWF0
ZShjb25zdCBVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50JiBjbGllbnQsIFdlYlNv
Y2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBjcmVkZW50aWFsUGFydGl0
aW9uKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYlNvY2tldFN0cmVhbSh1cmwsIGNs
aWVudCwgY3JlZGVudGlhbFBhcnRpdGlvbikpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdl
YlNvY2tldFN0cmVhbSh1cmwsIGNsaWVudCwgaWRlbnRpZmllciwgY3JlZGVudGlhbFBhcnRpdGlv
bikpOwogfQogCi1XZWJTb2NrZXRTdHJlYW06OldlYlNvY2tldFN0cmVhbShjb25zdCBVUkwmIHVy
bCwgV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50JiBjbGllbnQsIGNvbnN0IFN0cmlu
ZyYgY2FjaGVQYXJ0aXRpb24pCitXZWJTb2NrZXRTdHJlYW06OldlYlNvY2tldFN0cmVhbShjb25z
dCBVUkwmIHVybCwgV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50JiBjbGllbnQsIFdl
YlNvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBjYWNoZVBhcnRpdGlv
bikKICAgICA6IFNvY2tldFN0cmVhbUhhbmRsZSh1cmwsIGNsaWVudCkKLSAgICAsICBtX2lkZW50
aWZpZXIoV2ViU29ja2V0SWRlbnRpZmllcjo6Z2VuZXJhdGUoKSkKKyAgICAsICBtX2lkZW50aWZp
ZXIoaWRlbnRpZmllcikKICAgICAsIG1fY2xpZW50KGNsaWVudCkKIHsKICAgICBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5lbnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9u
KCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0ZVNv
Y2tldFN0cmVhbSh1cmwsIGNhY2hlUGFydGl0aW9uLCBtX2lkZW50aWZpZXIpLCAwKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmgKaW5k
ZXggZTM2NzNiZjkyMjVkYmRlYTcwZGY0Zjc5OGQwOWI4Y2Y4NjY5NzUzZS4uZGQwODIwMTA3MTJi
OWY1ZGI5ZmViZDg4ZGE2NjliNmRmNjFkMGYyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmgKQEAgLTI3LDggKzI3LDggQEAKIAog
I2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIK
LSNpbmNsdWRlICJXZWJTb2NrZXRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Tb2Nr
ZXRTdHJlYW1IYW5kbGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1dlYlNvY2tldElkZW50aWZpZXIu
aD4KIAogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBDb25uZWN0aW9uOwpAQCAtNDQsOSArNDQsOSBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViU29ja2V0U3RyZWFtIDogcHVibGljIElQ
Qzo6TWVzc2FnZVNlbmRlciwgcHVibGljIElQQzo6TWVzc2FnZVJlY2VpdmVyLCBwdWJsaWMgV2Vi
Q29yZTo6U29ja2V0U3RyZWFtSGFuZGxlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYlNv
Y2tldFN0cmVhbT4gY3JlYXRlKGNvbnN0IFVSTCYsIFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRs
ZUNsaWVudCYsIGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlvbik7CisgICAgc3RhdGlj
IFJlZjxXZWJTb2NrZXRTdHJlYW0+IGNyZWF0ZShjb25zdCBVUkwmLCBXZWJDb3JlOjpTb2NrZXRT
dHJlYW1IYW5kbGVDbGllbnQmLCBXZWJDb3JlOjpXZWJTb2NrZXRJZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIGNyZWRlbnRpYWxQYXJ0aXRpb24pOwogICAgIHN0YXRpYyB2b2lkIG5ldHdvcmtQcm9j
ZXNzQ3Jhc2hlZCgpOwotICAgIHN0YXRpYyBXZWJTb2NrZXRTdHJlYW0qIHN0cmVhbVdpdGhJZGVu
dGlmaWVyKFdlYlNvY2tldElkZW50aWZpZXIpOworICAgIHN0YXRpYyBXZWJTb2NrZXRTdHJlYW0q
IHN0cmVhbVdpdGhJZGVudGlmaWVyKFdlYkNvcmU6OldlYlNvY2tldElkZW50aWZpZXIpOwogICAg
IAogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNv
ZGVyJik7CiAgICAgCkBAIC03MiwxMCArNzIsMTAgQEAgcHJpdmF0ZToKICAgICBJUEM6OkNvbm5l
Y3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgY29uc3QgZmluYWw7CiAgICAgdWludDY0
X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBjb25zdCBmaW5hbDsKIAotICAgIFdlYlNv
Y2tldFN0cmVhbShjb25zdCBVUkwmLCBXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQm
LCBjb25zdCBTdHJpbmcmIGNyZWRlbnRpYWxQYXJ0aXRpb24pOworICAgIFdlYlNvY2tldFN0cmVh
bShjb25zdCBVUkwmLCBXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQmLCBXZWJDb3Jl
OjpXZWJTb2NrZXRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGNyZWRlbnRpYWxQYXJ0aXRpb24p
OwogICAgIH5XZWJTb2NrZXRTdHJlYW0oKTsKIAotICAgIFdlYlNvY2tldElkZW50aWZpZXIgbV9p
ZGVudGlmaWVyOworICAgIFdlYkNvcmU6OldlYlNvY2tldElkZW50aWZpZXIgbV9pZGVudGlmaWVy
OwogICAgIHNpemVfdCBtX2J1ZmZlcmVkQW1vdW50IHsgMCB9OwogICAgIFdlYkNvcmU6OlNvY2tl
dFN0cmVhbUhhbmRsZUNsaWVudCYgbV9jbGllbnQ7CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgRnVu
Y3Rpb248dm9pZChib29sKT4+IG1fc2VuZERhdGFDYWxsYmFja3M7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407678</attachid>
            <date>2020-09-01 07:32:06 -0700</date>
            <delta_ts>2020-09-02 09:10:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216034-20200901163204.patch</filename>
            <type>text/plain</type>
            <size>45671</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI1OTMzN2NhNGNhZjNh
OWRhOGRlYTE4Njc4NTI5MjQ1NmY5OGFkZi4uNGVmNTcyNzc1MTE4YzUxNTMzNzVlNGZmMDhkMTRi
YWI4ZTYwOTc2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIwLTA5LTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgYSBUaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbCBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTYwMzQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGVhbi11cCBjb2RlIHRvIGhhdmUgYSBzaW5nbGUg
aWRlbnRpZmllciBmb3IgYWxsIFdlYlNvY2tldHMuCisgICAgICAgIFdlIHVzZSBhIFdlYlNvY2tl
dElkZW50aWZpZXIgdGhhdCBpcyBub3cgbW92ZWQgZnJvbSBXZWJLaXQgdG8gV2ViQ29yZS4KKyAg
ICAgICAgSW50cm9kdWNlIENvb2tpZUdldHRlciBuYW1lIGZvbGxvd2luZyBjb21tZW50cyBmcm9t
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU5MjggcmV2aWV3Lgor
ICAgICAgICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtl
OgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6VGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWwpOgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9U
aHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWw6OnJlZik6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbDo6ZGVyZWYpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWw6OmlkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENo
YW5uZWw6OmNvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xp
ZW50SGFuZHNoYWtlUmVxdWVzdCBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0SGFuZHNoYWtlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldEhhbmRzaGFrZTo6
Y2xpZW50SGFuZHNoYWtlUmVxdWVzdCBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2Nr
ZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9X
ZWJTb2NrZXRJZGVudGlmaWVyLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0
cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3Rvck5ldHdvcmtBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3
b3JrQWdlbnQ6OmVuYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdl
bnQ6OndlYlNvY2tldEZvclJlcXVlc3RJZCk6CisgICAgICAgICogcGFnZS9Tb2NrZXRQcm92aWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRQcm92aWRlcjo6Y3JlYXRlU29ja2V0U3Ry
ZWFtSGFuZGxlKToKKyAgICAgICAgKiBwYWdlL1NvY2tldFByb3ZpZGVyLmg6CisKIDIwMjAtMDkt
MDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSBp
bnNwZWN0aW9uIG9mIFdlYlNvY2tldCB3aGVuIG9wZW5pbmcgV2ViIEluc3BlY3RvciBpbiB0aGUg
bWlkZGxlIG9mIHRoZSBjb25uZWN0aW9uIGxpa2UgZG9uZSBmb3IgdGhlIGxlZ2FjeSBXZWJTb2Nr
ZXQgaW1wbGVtZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTdjYTMyNzgxMWJlNWRjYjU3NmFmY2E0ODM3
YTNjYzA5NjdlOWU3Zi4uZmE5ZTliMmFhODVmNDljOWM0OTcwMTk1YzU2NWMxNjFmODk0MGYzNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAyMC0wOS0wMSAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIGEgVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWwgaWRlbnRpZmllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE2MDM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29j
a2V0Q2hhbm5lbC5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRTdHJl
YW0uaDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weToKKyAgICAgICAgKiBX
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05l
dHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldENo
YW5uZWw6OldlYlNvY2tldENoYW5uZWwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9X
ZWJTb2NrZXRDaGFubmVsLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldENoYW5uZWw6Omlk
ZW50aWZpZXIgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9X
ZWJTb2NrZXRDaGFubmVsTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9X
ZWJTb2NrZXRJZGVudGlmaWVyLmg6IFJlbW92ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlNvY2tldFByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU29ja2V0UHJv
dmlkZXI6OmNyZWF0ZVNvY2tldFN0cmVhbUhhbmRsZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlNvY2tldFN0cmVhbS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldFN0cmVhbTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViU29ja2V0U3RyZWFtOjpXZWJTb2NrZXRTdHJl
YW0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRTdHJlYW0uaDoKKwog
MjAyMC0wOS0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAg
RW5hYmxlIGluc3BlY3Rpb24gb2YgV2ViU29ja2V0IHdoZW4gb3BlbmluZyBXZWIgSW5zcGVjdG9y
IGluIHRoZSBtaWRkbGUgb2YgdGhlIGNvbm5lY3Rpb24gbGlrZSBkb25lIGZvciB0aGUgbGVnYWN5
IFdlYlNvY2tldCBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZWFjMDJmNmQ4
Nzc0YmY3MTU1ZDY5ODBkZTBkZWFkOGM4YmVjOTJhNi4uNjU2NjVmNGIwNTQ5YzNlMTQ0ZTQ1ZGFi
YTcwZjIzMDI3YWZiZjhkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xNjUsNiArMTY1LDcgQEAg
c2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXRFeHRlbnNpb25EaXNwYXRjaGVyLmgKICAgICBNb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0RXh0ZW5zaW9uUHJvY2Vzc29yLmgKICAgICBNb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0RnJhbWUuaAorICAgIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRJZGVudGlm
aWVyLmgKICAgICBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKIAogICAg
IGFjY2Vzc2liaWxpdHkvQVhMb2dnZXIuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAK
aW5kZXggNjJiZmUxNzY2YzRjMjZjMTQ2NjY2MGU2YmJkNjI1ZjY0MDE0NzMxZi4uYmM1MWNlNGUx
OWUwYzBiZTRjOWI4YmI2MWZmNmJiYzVlMzVkZGYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwuY3BwCkBAIC03OSw2ICs3OSwxMSBAQCBSZWY8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWw+IFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpjcmVhdGUoU2NyaXB0RXhlY3V0aQogICAg
IHJldHVybiBjcmVhdGUoZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpLCBjbGllbnQsIHByb3Zp
ZGVyKTsKIH0KIAorVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6OlRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsKCkKKyAgICA6IG1faWRlbnRpZmllcihXZWJTb2NrZXRJZGVudGlmaWVyOjpnZW5l
cmF0ZVRocmVhZFNhZmUoKSkKK3sKK30KKwogT3B0aW9uYWw8VGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWw6OlZhbGlkYXRlZFVSTD4gVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6OnZhbGlkYXRl
VVJMKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgVVJMJiByZXF1ZXN0ZWRVUkwpCiB7CiAgICAg
VmFsaWRhdGVkVVJMIHZhbGlkYXRlZFVSTCB7IHJlcXVlc3RlZFVSTCwgdHJ1ZSB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCBjNDI1M2Q2YjdlMWI0YWY3MzA1N2M2MzVkOWIxZjc5
ZDI5ZDU4NWEyLi5jMzk3ZmFhMDZhZDg2NzY2YmI2YTk0YzQxYzk4NGRmZjJmNmMyMTk3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvVGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtMzAsNiArMzAsNyBAQAogCiAjcHJhZ21hIG9u
Y2UKIAorI2luY2x1ZGUgIldlYlNvY2tldElkZW50aWZpZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VUkwu
aD4KQEAgLTUzLDIwICs1NCwyMyBAQCBjbGFzcyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCB7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gY3Jl
YXRlKERvY3VtZW50JiwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCYsIFNvY2tldFByb3ZpZGVyJik7
CiAgICAgc3RhdGljIFJlZjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50JiwgU29ja2V0UHJvdmlk
ZXImKTsKLSAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpID0gZGVmYXVsdDsKKyAgICBX
RUJDT1JFX0VYUE9SVCBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpOwogCi0gICAgZW51bSBT
ZW5kUmVzdWx0IHsKLSAgICAgICAgU2VuZFN1Y2Nlc3MsCi0gICAgICAgIFNlbmRGYWlsCi0gICAg
fTsKKyAgICB2b2lkIHJlZigpIHsgcmVmVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKTsgfQor
ICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKTsgfQor
CisgICAgV2ViU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9p
ZGVudGlmaWVyOyB9OwogCiAgICAgZW51bSBjbGFzcyBDb25uZWN0U3RhdHVzIHsgS08sIE9LIH07
CiAgICAgdmlydHVhbCBDb25uZWN0U3RhdHVzIGNvbm5lY3QoY29uc3QgVVJMJiwgY29uc3QgU3Ry
aW5nJiBwcm90b2NvbCkgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIHN1YnByb3RvY29sKCkgPSAw
OyAvLyBXaWxsIGJlIGF2YWlsYWJsZSBhZnRlciBkaWRDb25uZWN0KCkgY2FsbGJhY2sgaXMgaW52
b2tlZC4KICAgICB2aXJ0dWFsIFN0cmluZyBleHRlbnNpb25zKCkgPSAwOyAvLyBXaWxsIGJlIGF2
YWlsYWJsZSBhZnRlciBkaWRDb25uZWN0KCkgY2FsbGJhY2sgaXMgaW52b2tlZC4KKworICAgIGVu
dW0gU2VuZFJlc3VsdCB7IFNlbmRTdWNjZXNzLCBTZW5kRmFpbCB9OwogICAgIHZpcnR1YWwgU2Vu
ZFJlc3VsdCBzZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgPSAwOwogICAgIHZpcnR1YWwgU2Vu
ZFJlc3VsdCBzZW5kKGNvbnN0IEpTQzo6QXJyYXlCdWZmZXImLCB1bnNpZ25lZCBieXRlT2Zmc2V0
LCB1bnNpZ25lZCBieXRlTGVuZ3RoKSA9IDA7CiAgICAgdmlydHVhbCBTZW5kUmVzdWx0IHNlbmQo
QmxvYiYpID0gMDsKKwogICAgIHZpcnR1YWwgdW5zaWduZWQgYnVmZmVyZWRBbW91bnQoKSBjb25z
dCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJl
YXNvbikgPSAwOwogICAgIC8vIExvZyB0aGUgcmVhc29uIHRleHQgYW5kIGNsb3NlIHRoZSBjb25u
ZWN0aW9uLiBXaWxsIGNhbGwgZGlkQ2xvc2UoKS4KQEAgLTc2LDE0ICs4MCwxMCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlc3Vt
ZSgpID0gMDsKIAotICAgIHZvaWQgcmVmKCkgeyByZWZUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bCgpOyB9Ci0gICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bCgpOyB9Ci0KLSAgICAvLyBGSVhNRTogTWVyZ2UgY2hhbm5lbElkZW50aWZpZXIgYW5kIGlkZW50
aWZpZXIuCi0gICAgdmlydHVhbCB1bnNpZ25lZCBjaGFubmVsSWRlbnRpZmllcigpIGNvbnN0ID0g
MDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzQ3JlYXRlZEhhbmRzaGFrZSgpIGNvbnN0ID0gMDsKICAg
ICB2aXJ0dWFsIGJvb2wgaXNDb25uZWN0ZWQoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBSZXNv
dXJjZVJlcXVlc3QgY2xpZW50SGFuZHNoYWtlUmVxdWVzdChGdW5jdGlvbjxTdHJpbmcoY29uc3Qg
VVJMJik+JiYpIGNvbnN0ID0gMDsKKyAgICB1c2luZyBDb29raWVHZXR0ZXIgPSBGdW5jdGlvbjxT
dHJpbmcoY29uc3QgVVJMJik+OworICAgIHZpcnR1YWwgUmVzb3VyY2VSZXF1ZXN0IGNsaWVudEhh
bmRzaGFrZVJlcXVlc3QoY29uc3QgQ29va2llR2V0dGVyJikgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgc2VydmVySGFuZHNoYWtlUmVzcG9uc2UoKSBjb25z
dCA9IDA7CiAKIHByb3RlY3RlZDoKQEAgLTk3LDYgKzk3LDggQEAgcHJvdGVjdGVkOgogICAgIH07
CiAgICAgc3RhdGljIE9wdGlvbmFsPFZhbGlkYXRlZFVSTD4gdmFsaWRhdGVVUkwoRG9jdW1lbnQm
LCBjb25zdCBVUkwmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgT3B0aW9uYWw8UmVzb3Vy
Y2VSZXF1ZXN0PiB3ZWJTb2NrZXRDb25uZWN0UmVxdWVzdChEb2N1bWVudCYsIGNvbnN0IFVSTCYp
OworCisgICAgV2ViU29ja2V0SWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNv
Y2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNv
Y2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggNzgwNGRmNGEyYmUyN2VmZDUzNTZjMzI5
YzgzZTEwMzZlNTA2YWVkZS4uZjAwNDBhMjQ2MDNkNDRlMmMyNWIxY2Q0YTIyMzY3OTczYWY1YTIw
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJT
b2NrZXRDaGFubmVsLmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIFdlYlNvY2tldENoYW5uZWw6OkNv
bm5lY3RTdGF0dXMgV2ViU29ja2V0Q2hhbm5lbDo6Y29ubmVjdChjb25zdCBVUkwmIHJlcXVlc3Rl
ZFVSCiAKICAgICByZWYoKTsKICAgICBTdHJpbmcgcGFydGl0aW9uID0gbV9kb2N1bWVudC0+ZG9t
YWluRm9yQ2FjaGVQYXJ0aXRpb24oKTsKLSAgICBtX2hhbmRsZSA9IG1fc29ja2V0UHJvdmlkZXIt
PmNyZWF0ZVNvY2tldFN0cmVhbUhhbmRsZShtX2hhbmRzaGFrZS0+dXJsKCksICp0aGlzLCBwYWdl
LT5zZXNzaW9uSUQoKSwgcGFydGl0aW9uLCBmcmFtZS0+bG9hZGVyKCkubmV0d29ya2luZ0NvbnRl
eHQoKSk7CisgICAgbV9oYW5kbGUgPSBtX3NvY2tldFByb3ZpZGVyLT5jcmVhdGVTb2NrZXRTdHJl
YW1IYW5kbGUobV9oYW5kc2hha2UtPnVybCgpLCAqdGhpcywgaWRlbnRpZmllcigpLCBwYWdlLT5z
ZXNzaW9uSUQoKSwgcGFydGl0aW9uLCBmcmFtZS0+bG9hZGVyKCkubmV0d29ya2luZ0NvbnRleHQo
KSk7CiAgICAgcmV0dXJuIENvbm5lY3RTdGF0dXM6Ok9LOwogfQogCkBAIC04MzMsOSArODMzLDkg
QEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpzZW5kRnJhbWUoV2ViU29ja2V0RnJhbWU6Ok9wQ29k
ZSBvcENvZGUsIGNvbnN0IGNoYXIqIGRhdGEKICAgICBtX2hhbmRsZS0+c2VuZERhdGEoZnJhbWVE
YXRhLmRhdGEoKSwgZnJhbWVEYXRhLnNpemUoKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
OwogfQogCi1SZXNvdXJjZVJlcXVlc3QgV2ViU29ja2V0Q2hhbm5lbDo6Y2xpZW50SGFuZHNoYWtl
UmVxdWVzdChGdW5jdGlvbjxTdHJpbmcoY29uc3QgVVJMJik+JiYgY29va2llUmVxdWVzdEhlYWRl
ckZpZWxkVmFsdWUpIGNvbnN0CitSZXNvdXJjZVJlcXVlc3QgV2ViU29ja2V0Q2hhbm5lbDo6Y2xp
ZW50SGFuZHNoYWtlUmVxdWVzdChjb25zdCBDb29raWVHZXR0ZXImIGNvb2tpZVJlcXVlc3RIZWFk
ZXJGaWVsZFZhbHVlKSBjb25zdAogewotICAgIHJldHVybiBtX2hhbmRzaGFrZS0+Y2xpZW50SGFu
ZHNoYWtlUmVxdWVzdChXVEZNb3ZlKGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlKSk7Cisg
ICAgcmV0dXJuIG1faGFuZHNoYWtlLT5jbGllbnRIYW5kc2hha2VSZXF1ZXN0KGNvb2tpZVJlcXVl
c3RIZWFkZXJGaWVsZFZhbHVlKTsKIH0KIAogY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgV2ViU29j
a2V0Q2hhbm5lbDo6c2VydmVySGFuZHNoYWtlUmVzcG9uc2UoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKaW5kZXgg
MTdmOTVhZTFhNDUxY2NmM2JhNGVhNWQyZDI4MzdjZTFjNmRmNDc1OC4uMzdlNzQ1ZTI5NDZhYzEx
Mzk3YzI1MGM4YjNjZGJmOGUxZTFiN2FkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC0xMTQsMTEgKzExNCw5IEBA
IHB1YmxpYzoKICAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoKSBvdmVycmlkZTsKICAgICB2b2lk
IGRpZEZhaWwoRXhjZXB0aW9uQ29kZSBlcnJvckNvZGUpIG92ZXJyaWRlOwogCi0gICAgdW5zaWdu
ZWQgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQotICAgIHVuc2ln
bmVkIGNoYW5uZWxJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9pZGVudGlmaWVy
OyB9CiAgICAgYm9vbCBoYXNDcmVhdGVkSGFuZHNoYWtlKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
ISFtX2hhbmRzaGFrZTsgfQogICAgIGJvb2wgaXNDb25uZWN0ZWQoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX2hhbmRzaGFrZS0+bW9kZSgpID09IFdlYlNvY2tldEhhbmRzaGFrZTo6TW9kZTo6Q29u
bmVjdGVkOyB9Ci0gICAgUmVzb3VyY2VSZXF1ZXN0IGNsaWVudEhhbmRzaGFrZVJlcXVlc3QoRnVu
Y3Rpb248U3RyaW5nKGNvbnN0IFVSTCYpPiYmIGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVl
KSBjb25zdCBmaW5hbDsKKyAgICBSZXNvdXJjZVJlcXVlc3QgY2xpZW50SGFuZHNoYWtlUmVxdWVz
dChjb25zdCBDb29raWVHZXR0ZXImKSBjb25zdCBmaW5hbDsKICAgICBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiBzZXJ2ZXJIYW5kc2hha2VSZXNwb25zZSgpIGNvbnN0IGZpbmFsOwogCiAgICAgdXNp
bmcgUmVmQ291bnRlZDxXZWJTb2NrZXRDaGFubmVsPjo6cmVmOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmNwcAppbmRl
eCAzZDJhNTI2ZmEwYTYzOTY0ZmJhYWE0YTljOTA4NDhiMTQ1Mjk3Y2I4Li5hZTNlMTEzNWQxZjI5
MDBkMDQ0ZGQ2ZmQ3YmU1OTMxNzNmN2FkOTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmNwcApAQCAtMjE2LDcg
KzIxNiw3IEBAIENTdHJpbmcgV2ViU29ja2V0SGFuZHNoYWtlOjpjbGllbnRIYW5kc2hha2VNZXNz
YWdlKCkgY29uc3QKICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpLnV0ZjgoKTsKIH0KIAot
UmVzb3VyY2VSZXF1ZXN0IFdlYlNvY2tldEhhbmRzaGFrZTo6Y2xpZW50SGFuZHNoYWtlUmVxdWVz
dChGdW5jdGlvbjxTdHJpbmcoY29uc3QgVVJMJik+JiYgY29va2llUmVxdWVzdEhlYWRlckZpZWxk
VmFsdWUpIGNvbnN0CitSZXNvdXJjZVJlcXVlc3QgV2ViU29ja2V0SGFuZHNoYWtlOjpjbGllbnRI
YW5kc2hha2VSZXF1ZXN0KGNvbnN0IEZ1bmN0aW9uPFN0cmluZyhjb25zdCBVUkwmKT4mIGNvb2tp
ZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlKSBjb25zdAogewogICAgIC8vIEtlZXAgdGhlIGZvbGxv
d2luZyBjb25zaXN0ZW50IHdpdGggY2xpZW50SGFuZHNoYWtlTWVzc2FnZSgpLgogICAgIFJlc291
cmNlUmVxdWVzdCByZXF1ZXN0KG1fdXJsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAppbmRleCA3MzlmYmJkZDUzMjRi
MDhlYWE5OWY5ODY2NWI1ZmFhYjllM2RlZTA1Li5lYWY4YTVjMDZhZDIwNThkM2QzODk1MTM1MjM5
OTZmNmJlM2UwZGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKICAg
ICBTdHJpbmcgY2xpZW50TG9jYXRpb24oKSBjb25zdDsKIAogICAgIENTdHJpbmcgY2xpZW50SGFu
ZHNoYWtlTWVzc2FnZSgpIGNvbnN0OwotICAgIFJlc291cmNlUmVxdWVzdCBjbGllbnRIYW5kc2hh
a2VSZXF1ZXN0KEZ1bmN0aW9uPFN0cmluZyhjb25zdCBVUkwmKT4mJiBjb29raWVSZXF1ZXN0SGVh
ZGVyRmllbGRWYWx1ZSkgY29uc3Q7CisgICAgUmVzb3VyY2VSZXF1ZXN0IGNsaWVudEhhbmRzaGFr
ZVJlcXVlc3QoY29uc3QgRnVuY3Rpb248U3RyaW5nKGNvbnN0IFVSTCYpPiYgY29va2llUmVxdWVz
dEhlYWRlckZpZWxkVmFsdWUpIGNvbnN0OwogCiAgICAgdm9pZCByZXNldCgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SWRlbnRpZmll
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldElkZW50aWZp
ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45Nzg4NGFiZDhlMzAxZWNmMmEwZDFlZWY4ZGQ2NjI0YTYwYzUxNTVk
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldElkZW50aWZpZXIuaApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UgLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaW5jbHVkZSA8d3RmL09iamVjdElkZW50aWZpZXIuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitlbnVtIFdlYlNvY2tldElkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIFdl
YlNvY2tldElkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFdlYlNvY2tldElkZW50aWZpZXJU
eXBlPjsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuaAppbmRleCBhZjA2MDc3YTRiZjQwZWY3YWUzZWQxMDZiNDc3MWU4OGFlNTQz
NDdiLi5jMzM1ZDViNzExYjk3MjUzZjdhZGRhNmM5ZmYyMzAyMTA1MmYzYmUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV29y
a2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtMTYwLDExICsxNjAsMTAgQEAgcHJp
dmF0ZToKIAogICAgIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlRGlkSW5pdGlhbGl6ZVRhc2s7CiAK
LSAgICAvLyBEdW1teSBpbXBsZW1lbnRhdGlvbiBvZiBpbnNwZWN0b3IgcmVsYXRlZCBBUElzLgot
ICAgIHVuc2lnbmVkIGNoYW5uZWxJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gMTsg
fQorICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTY4NDc1PiBXZWIgSW5zcGVj
dG9yOiBDb3JyZWN0bHkgZGlzcGxheSBpZnJhbWUncyBhbmQgd29ya2VyJ3MgV2ViU29ja2V0cwog
ICAgIGJvb2wgaGFzQ3JlYXRlZEhhbmRzaGFrZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNl
OyB9CiAgICAgYm9vbCBpc0Nvbm5lY3RlZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9
Ci0gICAgUmVzb3VyY2VSZXF1ZXN0IGNsaWVudEhhbmRzaGFrZVJlcXVlc3QoRnVuY3Rpb248U3Ry
aW5nKGNvbnN0IFVSTCYpPiYmKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2hhbmRzaGFrZVJlcXVl
c3Q7IH0KKyAgICBSZXNvdXJjZVJlcXVlc3QgY2xpZW50SGFuZHNoYWtlUmVxdWVzdChjb25zdCBD
b29raWVHZXR0ZXImKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2hhbmRzaGFrZVJlcXVlc3Q7IH0K
ICAgICBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBzZXJ2ZXJIYW5kc2hha2VSZXNwb25zZSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1faGFuZHNoYWtlUmVzcG9uc2U7IH0KIAogICAgIFJlZjxXb3Jr
ZXJHbG9iYWxTY29wZT4gbV93b3JrZXJHbG9iYWxTY29wZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxY2QxYzdkNzAxMTE2NTEw
OWJmMDUxYWE0NjUwNjEwZTAwNDY2MmRjLi5kNGU0M2ZiNGFjODUyZjc0MjZjMjMzOGNlMzJkNmNl
Mjc3Y2VjZTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xMTM3LDYgKzExMzcsNyBAQAogCQk0MUQ0MUM2NzIyNTY4NzRGMDA2
OTc5NDIgLyogU2VydmljZVdvcmtlckludGVybmFscy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDQxQzY1MjI1Njg1OTIwMDY5Nzk0MiAvKiBTZXJ2
aWNlV29ya2VySW50ZXJuYWxzLm1tICovOyB9OwogCQk0MURFN0M3QzIyMkRBMTQzMDA1MzJCNjUg
LyogU3RvcmFnZVF1b3RhTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDFERTdDN0IyMjJEQTEzRTAwNTMyQjY1IC8qIFN0b3JhZ2VRdW90YU1h
bmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0MURFRkNCNjFFNTZDMUJEMDAwRDlFNUYgLyogSlNET01NYXBMaWtlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURFRkNCNDFFNTZDMUI5MDAwRDlF
NUYgLyogSlNET01NYXBMaWtlLmggKi87IH07CisJCTQxRTEyRTlGMjRGRTc0RTIwMDkzRkZCNCAv
KiBXZWJTb2NrZXRJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MUUxMkU5RDI0RkU3NEUyMDA5M0ZGQjQgLyogV2ViU29ja2V0SWRlbnRp
Zmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTQxRTFCMUQxMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0IwRkY1OTg2OTAwNTc2
QjNCIC8qIEFic3RyYWN0V29ya2VyLmggKi87IH07CiAJCTQxRTlEQ0U3MjMxOTc0QkYwMEYzNTk0
OSAvKiBCbG9iTG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MUU5RENFNDIzMTk3M0ZFMDBGMzU5NDkgLyogQmxvYkxvYWRlci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxRTlEQ0U5MjMxOUNB
NzYwMEYzNTk0OSAvKiBOZXR3b3JrU2VuZFF1ZXVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUU5RENFODIzMTlDQTc1MDBGMzU5NDkgLyogTmV0d29y
a1NlbmRRdWV1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC03NjkwLDYgKzc2OTEsNyBAQAogCQk0MURFRkNCNDFFNTZDMUI5MDAwRDlFNUYgLyog
SlNET01NYXBMaWtlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NTWFw
TGlrZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUUwQTdEOTIzQkI1OTAxMDA1
NjEwNjAgLyogUlRDUnRwQ29kZWNDYXBhYmlsaXR5LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBSVENSdHBDb2RlY0NhcGFiaWxpdHkuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MUUwQTdEQzIzQkI2M0RCMDA1NjEwNjAgLyogUlRDUnRwQ29kZWNDYXBhYmlsaXR5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cENvZGVjQ2FwYWJpbGl0eS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUUxMkU5RDI0RkU3NEUyMDA5M0ZGQjQgLyog
V2ViU29ja2V0SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJTb2NrZXRJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRTFC
MUNBMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBYnN0cmFjdFdvcmtlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxRTFCMUNCMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBYnN0cmFjdFdvcmtlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUUxQjFDQzBGRjU5ODY5MDA1NzZCM0IgLyog
QWJzdHJhY3RXb3JrZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFic3RyYWN0V29ya2Vy
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzMzUzLDYgKzIzMzU1LDcgQEAK
IAkJCQk5N0FBQkQwOTE0RkEwOUQ1MDA3NDU3QUUgLyogV2ViU29ja2V0RXh0ZW5zaW9uUHJvY2Vz
c29yLmggKi8sCiAJCQkJQUFGNUI3QjExNTI0QjRCRDAwMDRDQjQ5IC8qIFdlYlNvY2tldEZyYW1l
LmNwcCAqLywKIAkJCQk5N0FBQkQwQTE0RkEwOUQ1MDA3NDU3QUUgLyogV2ViU29ja2V0RnJhbWUu
aCAqLywKKwkJCQk0MUUxMkU5RDI0RkU3NEUyMDA5M0ZGQjQgLyogV2ViU29ja2V0SWRlbnRpZmll
ci5oICovLAogCQkJCTk3QUFCRDBCMTRGQTA5RDUwMDc0NTdBRSAvKiBXZWJTb2NrZXRIYW5kc2hh
a2UuY3BwICovLAogCQkJCTk3QUFCRDBDMTRGQTA5RDUwMDc0NTdBRSAvKiBXZWJTb2NrZXRIYW5k
c2hha2UuaCAqLywKIAkJCQk5N0FBQkQxMTE0RkEwOUQ1MDA3NDU3QUUgLyogV29ya2VyVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwuY3BwICovLApAQCAtMzMwMzEsNiArMzMwMzQsNyBAQAogCQkJ
CTFBNThFODY2MUQxOUQ0RjAwMEMwRUE3MyAvKiBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCUExRjc2QjM3MUY0NEM2MEYwMDE0QzMxOCAvKiBQYXltZW50Q3Vy
cmVuY3lBbW91bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExRjc2QjFGMUY0NEMzRkUwMDE0QzMx
OCAvKiBQYXltZW50RGV0YWlsc0Jhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRTEyRTlGMjRG
RTc0RTIwMDkzRkZCNCAvKiBXZWJTb2NrZXRJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBMUY3NkIyNTFGNDRDNDkxMDAxNEMzMTggLyogUGF5bWVudERldGFpbHNJbml0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBMUY3NkI0RjFGNDREMjQyMDAxNEMzMTggLyogUGF5bWVudERldGFpbHNN
b2RpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNjAwNDkxRjQ3NTk0RTAwNzdFODNGIC8q
IFBheW1lbnREZXRhaWxzVXBkYXRlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcApp
bmRleCBlMDMzYWMxNzk5NWZiNWEyMWUzNDZjN2U1YjcyZGI1ZjdhOGI4OTRkLi44NjdlOTUwM2Zl
Y2QyMWMwZjgxNWI1NThkYWQ1ZjZlOTMzM2JhYWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuY3BwCkBAIC04
MTksNyArODE5LDcgQEAgdm9pZCBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmVuYWJsZSgpCiAgICAg
ICAgICAgICBhdXRvJiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50Pigqd2ViU29ja2V0LT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogICAgICAgICAgICAgYXV0byBjaGFubmVsID0gd2Vi
U29ja2V0LT5jaGFubmVsKCk7CiAKLSAgICAgICAgICAgIGF1dG8gaWRlbnRpZmllciA9IGNoYW5u
ZWwtPmNoYW5uZWxJZGVudGlmaWVyKCk7CisgICAgICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBj
aGFubmVsLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKTsKICAgICAgICAgICAgIGRpZENyZWF0ZVdl
YlNvY2tldChpZGVudGlmaWVyLCB3ZWJTb2NrZXQtPnVybCgpKTsKIAogICAgICAgICAgICAgYXV0
byBjb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1ZSA9IFtkb2N1bWVudCA9IG1ha2VXZWFrUHRy
KGRvY3VtZW50KV0oY29uc3QgVVJMJiB1cmwpIC0+IFN0cmluZyB7CkBAIC05OTcsNyArOTk3LDcg
QEAgV2ViU29ja2V0KiBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OndlYlNvY2tldEZvclJlcXVlc3RJ
ZChjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCkKICAgICBMb2NrSG9sZGVyIGxvY2soV2ViU29ja2V0
OjphbGxBY3RpdmVXZWJTb2NrZXRzTXV0ZXgoKSk7CiAKICAgICBmb3IgKGF1dG8qIHdlYlNvY2tl
dCA6IGFjdGl2ZVdlYlNvY2tldHMobG9jaykpIHsKLSAgICAgICAgaWYgKElkZW50aWZpZXJzRmFj
dG9yeTo6cmVxdWVzdElkKHdlYlNvY2tldC0+Y2hhbm5lbCgpLT5jaGFubmVsSWRlbnRpZmllcigp
KSA9PSByZXF1ZXN0SWQpCisgICAgICAgIGlmIChJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJ
ZCh3ZWJTb2NrZXQtPmNoYW5uZWwoKS0+aWRlbnRpZmllcigpLnRvVUludDY0KCkpID09IHJlcXVl
c3RJZCkKICAgICAgICAgICAgIHJldHVybiB3ZWJTb2NrZXQ7CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NvY2tldFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU29ja2V0UHJvdmlkZXIuY3BwCmluZGV4IDgwM2FjODMxNTVmZjRkZjFiZWNmNzVjZDQ3
MTBmNmZiZjdiYmMzMmEuLjNiZWMwYWVmMTc0MzM2OTM5ODM4ZmIxMDY5ZmZmYmNiOWYzZDU2MDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU29ja2V0UHJvdmlkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU29ja2V0UHJvdmlkZXIuY3BwCkBAIC0zMSw3ICszMSw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKLVJlZjxTb2NrZXRTdHJlYW1IYW5kbGU+IFNv
Y2tldFByb3ZpZGVyOjpjcmVhdGVTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgVVJMJiB1cmwsIFNv
Y2tldFN0cmVhbUhhbmRsZUNsaWVudCYgY2xpZW50LCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlvbiwgY29uc3QgU3RvcmFnZVNlc3Npb25Q
cm92aWRlciogcHJvdmlkZXIpCitSZWY8U29ja2V0U3RyZWFtSGFuZGxlPiBTb2NrZXRQcm92aWRl
cjo6Y3JlYXRlU29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IFVSTCYgdXJsLCBTb2NrZXRTdHJlYW1I
YW5kbGVDbGllbnQmIGNsaWVudCwgV2ViU29ja2V0SWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIGNyZWRlbnRpYWxQYXJ0aXRpb24sIGNvbnN0IFN0b3Jh
Z2VTZXNzaW9uUHJvdmlkZXIqIHByb3ZpZGVyKQogewogICAgIHJldHVybiBTb2NrZXRTdHJlYW1I
YW5kbGVJbXBsOjpjcmVhdGUodXJsLCBjbGllbnQsIHNlc3Npb25JRCwgY3JlZGVudGlhbFBhcnRp
dGlvbiwgeyB9LCBwcm92aWRlcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NvY2tldFByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NvY2tldFByb3ZpZGVyLmgK
aW5kZXggYzU3NzhiMjViZTc3MzhkYjYzYzk3ZDU3MzJmMDNkNWE1Njc4YjJmOC4uMmQyYTc2MDcw
YTExZTBjZjJkYjA1Mzg3ZWQ4ZDFlYTZhZDNlNDBlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9Tb2NrZXRQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU29ja2V0
UHJvdmlkZXIuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUg
IldlYlNvY2tldElkZW50aWZpZXIuaCIKICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5j
bHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CkBAIC00Myw3ICs0NCw3IEBAIGNsYXNzIFdlYlNvY2tldENoYW5uZWxDbGllbnQ7
CiBjbGFzcyBXRUJDT1JFX0VYUE9SVCBTb2NrZXRQcm92aWRlciA6IHB1YmxpYyBUaHJlYWRTYWZl
UmVmQ291bnRlZDxTb2NrZXRQcm92aWRlcj4gewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U29j
a2V0UHJvdmlkZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU29ja2V0UHJvdmlk
ZXIpOyB9Ci0gICAgdmlydHVhbCBSZWY8U29ja2V0U3RyZWFtSGFuZGxlPiBjcmVhdGVTb2NrZXRT
dHJlYW1IYW5kbGUoY29uc3QgVVJMJiwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50JiwgUEFMOjpT
ZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlvbiwgY29uc3QgU3RvcmFn
ZVNlc3Npb25Qcm92aWRlciopOworICAgIHZpcnR1YWwgUmVmPFNvY2tldFN0cmVhbUhhbmRsZT4g
Y3JlYXRlU29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IFVSTCYsIFNvY2tldFN0cmVhbUhhbmRsZUNs
aWVudCYsIFdlYlNvY2tldElkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklELCBjb25zdCBTdHJpbmcm
IGNyZWRlbnRpYWxQYXJ0aXRpb24sIGNvbnN0IFN0b3JhZ2VTZXNzaW9uUHJvdmlkZXIqKTsKIAog
ICAgIHZpcnR1YWwgUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGVXZWJT
b2NrZXRDaGFubmVsKERvY3VtZW50JiwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCYpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IGFjY2VkNmFiY2Y4YjYxNjMyMGY4NDY3YjQ1ODAy
MzNjZDI4OThiZjguLjRkMWViY2RmNzMxMzcxMjJlMDIwZGE3OTNjNWI5OWI4NGM3ZjYyZDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC02MCw3ICs2MCw2IEBACiAjaW5jbHVkZSAi
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJTV1NlcnZlclRv
Q29udGV4dENvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJXZWJTV1NlcnZlclRvQ29udGV4dENvbm5l
Y3Rpb25NZXNzYWdlcy5oIgotI2luY2x1ZGUgIldlYlNvY2tldElkZW50aWZpZXIuaCIKICNpbmNs
dWRlICJXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRG9j
dW1lbnRTdG9yYWdlQWNjZXNzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IVFRQQ29va2llQWNjZXB0
UG9saWN5Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggYmNkNjE1ZjA5ODhjYWU5NjA1
ZDc4NmNhODhhMTgzNjAwMzgyMjdjNC4uNzAyMzhjMWVmY2M0M2FjYmUwODEwNGVhNWQ1ODFmYTMz
MzRkZmNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMzgsNyArMzgsNiBAQAogI2lu
Y2x1ZGUgIldlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eS5oIgogI2luY2x1ZGUgIldlYlJlc291cmNlTG9hZE9ic2VydmVyLmgiCi0j
aW5jbHVkZSAiV2ViU29ja2V0SWRlbnRpZmllci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0NvbnNvbGVUeXBlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVJZGVudGlmaWVyLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlci5oPgpAQCAtNDgsNiAr
NDcsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUlkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Byb2Nlc3NJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWdpc3RyYWJs
ZURvbWFpbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV2ViU29ja2V0SWRlbnRpZmllci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBQQUwgewpAQCAtMTU4LDcgKzE1
OCw3IEBAIHB1YmxpYzoKIAogICAgIFZlY3RvcjxSZWZQdHI8V2ViQ29yZTo6QmxvYkRhdGFGaWxl
UmVmZXJlbmNlPj4gcmVzb2x2ZUJsb2JSZWZlcmVuY2VzKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxv
YWRQYXJhbWV0ZXJzJik7CiAKLSAgICB2b2lkIHJlbW92ZVNvY2tldENoYW5uZWwoV2ViU29ja2V0
SWRlbnRpZmllcik7CisgICAgdm9pZCByZW1vdmVTb2NrZXRDaGFubmVsKFdlYkNvcmU6OldlYlNv
Y2tldElkZW50aWZpZXIpOwogCiAgICAgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJv
Y2Vzc0lkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3dlYlByb2Nlc3NJZGVudGlmaWVyOyB9
CiAKQEAgLTIyNyw5ICsyMjcsOSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRDYXB0dXJlRXh0
cmFOZXR3b3JrTG9hZE1ldHJpY3NFbmFibGVkKGJvb2wpOwogCi0gICAgdm9pZCBjcmVhdGVTb2Nr
ZXRTdHJlYW0oVVJMJiYsIFN0cmluZyBjYWNoZVBhcnRpdGlvbiwgV2ViU29ja2V0SWRlbnRpZmll
cik7CisgICAgdm9pZCBjcmVhdGVTb2NrZXRTdHJlYW0oVVJMJiYsIFN0cmluZyBjYWNoZVBhcnRp
dGlvbiwgV2ViQ29yZTo6V2ViU29ja2V0SWRlbnRpZmllcik7CiAKLSAgICB2b2lkIGNyZWF0ZVNv
Y2tldENoYW5uZWwoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5n
JiBwcm90b2NvbCwgV2ViU29ja2V0SWRlbnRpZmllcik7CisgICAgdm9pZCBjcmVhdGVTb2NrZXRD
aGFubmVsKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgcHJv
dG9jb2wsIFdlYkNvcmU6OldlYlNvY2tldElkZW50aWZpZXIpOwogICAgIHZvaWQgdXBkYXRlUXVv
dGFCYXNlZE9uU3BhY2VVc2FnZUZvclRlc3RpbmcoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2lu
Jik7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCkBAIC0zMzksOCArMzM5LDggQEAgcHJp
dmF0ZToKICAgICBSZWY8TmV0d29ya1Byb2Nlc3M+IG1fbmV0d29ya1Byb2Nlc3M7CiAgICAgUEFM
OjpTZXNzaW9uSUQgbV9zZXNzaW9uSUQ7CiAKLSAgICBIYXNoTWFwPFdlYlNvY2tldElkZW50aWZp
ZXIsIFJlZlB0cjxOZXR3b3JrU29ja2V0U3RyZWFtPj4gbV9uZXR3b3JrU29ja2V0U3RyZWFtczsK
LSAgICBIYXNoTWFwPFdlYlNvY2tldElkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3Jr
U29ja2V0Q2hhbm5lbD4+IG1fbmV0d29ya1NvY2tldENoYW5uZWxzOworICAgIEhhc2hNYXA8V2Vi
Q29yZTo6V2ViU29ja2V0SWRlbnRpZmllciwgUmVmUHRyPE5ldHdvcmtTb2NrZXRTdHJlYW0+PiBt
X25ldHdvcmtTb2NrZXRTdHJlYW1zOworICAgIEhhc2hNYXA8V2ViQ29yZTo6V2ViU29ja2V0SWRl
bnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtTb2NrZXRDaGFubmVsPj4gbV9uZXR3b3Jr
U29ja2V0Q2hhbm5lbHM7CiAgICAgTmV0d29ya1Jlc291cmNlTG9hZE1hcCBtX25ldHdvcmtSZXNv
dXJjZUxvYWRlcnM7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxXZWJDb3JlOjpCbG9iRGF0
YUZpbGVSZWZlcmVuY2U+PiBtX2Jsb2JEYXRhRmlsZVJlZmVyZW5jZXM7CiAgICAgVmVjdG9yPFJl
c291cmNlTmV0d29ya0FjdGl2aXR5VHJhY2tlcj4gbV9uZXR3b3JrQWN0aXZpdHlUcmFja2VyczsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDA1NzUwYmI1
MzllNGUxNmI5N2MzNmZlMzY5NWVmMTc0YmNlMjA5NmQuLjU0ZTUwMzAxZGVhNjI1MzFkNDRiMGM2
OWE3NjBiMGViZWEyY2ZiZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbgpAQCAtNTgsOCArNTgsOCBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAKICAgICBTZXRDYXB0dXJlRXh0cmFOZXR3b3Jr
TG9hZE1ldHJpY3NFbmFibGVkKGJvb2wgZW5hYmxlZCkKIAotICAgIENyZWF0ZVNvY2tldFN0cmVh
bShVUkwgdXJsLCBTdHJpbmcgY2FjaGVQYXJ0aXRpb24sIFdlYktpdDo6V2ViU29ja2V0SWRlbnRp
ZmllciBpZGVudGlmaWVyKQotICAgIENyZWF0ZVNvY2tldENoYW5uZWwoV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0IHJlcXVlc3QsIFN0cmluZyBwcm90b2NvbCwgV2ViS2l0OjpXZWJTb2NrZXRJZGVu
dGlmaWVyIGlkZW50aWZpZXIpCisgICAgQ3JlYXRlU29ja2V0U3RyZWFtKFVSTCB1cmwsIFN0cmlu
ZyBjYWNoZVBhcnRpdGlvbiwgV2ViQ29yZTo6V2ViU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVy
KQorICAgIENyZWF0ZVNvY2tldENoYW5uZWwoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVl
c3QsIFN0cmluZyBwcm90b2NvbCwgV2ViQ29yZTo6V2ViU29ja2V0SWRlbnRpZmllciBpZGVudGlm
aWVyKQogCiAjaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKICAgICBSZW1vdmVT
dG9yYWdlQWNjZXNzRm9yRnJhbWUoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIFdl
YkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFubmVsLmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFubmVsLmgKaW5kZXggM2IxNTE1NmZkMDcxNjM3
OGIzNDI2Y2IyYzE3NGUzMTM1ZjUyN2FmYS4uMzE5NjQxOTBkMTQxZDU0OWRhMGJhZjJkYzhiZjI5
N2I0ZTU4MWU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrU29ja2V0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1NvY2tldENoYW5uZWwuaApAQCAtMjcsOCArMjcsOCBAQAogCiAjaW5jbHVkZSAiTWVzc2Fn
ZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgotI2luY2x1ZGUgIldlYlNv
Y2tldElkZW50aWZpZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1RpbWVyLmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9XZWJTb2NrZXRJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8cGFsL1Nlc3Npb25JRC5o
PgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9XZWFr
UHRyLmg+CkBAIC01Myw5ICs1Myw5IEBAIGNsYXNzIE5ldHdvcmtTZXNzaW9uOwogY2xhc3MgTmV0
d29ya1NvY2tldENoYW5uZWwgOiBwdWJsaWMgSVBDOjpNZXNzYWdlU2VuZGVyLCBwdWJsaWMgSVBD
OjpNZXNzYWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1NvY2tldENoYW5uZWw+IGNyZWF0
ZShOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFBBTDo6U2Vzc2lvbklELCBjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sLCBXZWJTb2Nr
ZXRJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtTb2NrZXRD
aGFubmVsPiBjcmVhdGUoTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmLCBQQUw6OlNlc3Np
b25JRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBwcm90
b2NvbCwgV2ViQ29yZTo6V2ViU29ja2V0SWRlbnRpZmllcik7CiAKLSAgICBOZXR3b3JrU29ja2V0
Q2hhbm5lbChOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIE5ldHdvcmtTZXNzaW9uKiwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCwg
V2ViU29ja2V0SWRlbnRpZmllcik7CisgICAgTmV0d29ya1NvY2tldENoYW5uZWwoTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MmLCBOZXR3b3JrU2Vzc2lvbiosIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wsIFdlYkNvcmU6OldlYlNvY2tl
dElkZW50aWZpZXIpOwogICAgIH5OZXR3b3JrU29ja2V0Q2hhbm5lbCgpOwogCiAgICAgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKQEAgLTg0
LDcgKzg0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGZpbmlzaENsb3NpbmdJZlBvc3NpYmxlKCk7
CiAKICAgICBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9jb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOwotICAgIFdlYlNvY2tldElkZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAgIFdlYkNv
cmU6OldlYlNvY2tldElkZW50aWZpZXIgbV9pZGVudGlmaWVyOwogICAgIFdlYWtQdHI8TmV0d29y
a1Nlc3Npb24+IG1fc2Vzc2lvbjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViU29ja2V0VGFzaz4g
bV9zb2NrZXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1NvY2tldFN0cmVhbS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
U29ja2V0U3RyZWFtLmgKaW5kZXggZWM0NjAxY2UxOGIyNDZhOTM3Y2RiZTkxMzI4NmZhZjU2YTUw
MzI3Ny4uNTJlYzM5MjY5MDIxOGVkZTY2OGQ1NWU2MzhkOGUxNzUwMmZkNmVlNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0U3RyZWFtLmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0U3RyZWFtLmgKQEAg
LTI3LDExICsyNywxMSBAQAogCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVk
ZSAiTWVzc2FnZVNlbmRlci5oIgotI2luY2x1ZGUgIldlYlNvY2tldElkZW50aWZpZXIuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL1NvY2tldFN0cmVhbUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9T
b2NrZXRTdHJlYW1IYW5kbGVDbGllbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NvY2tldFN0cmVh
bUhhbmRsZUltcGwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RpbWVyLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9XZWJTb2NrZXRJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8cGFsL1Nlc3Npb25JRC5oPgog
CiBuYW1lc3BhY2UgSVBDIHsKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgTmV0d29ya1Byb2Nlc3M7
CiAKIGNsYXNzIE5ldHdvcmtTb2NrZXRTdHJlYW0gOiBwdWJsaWMgUmVmQ291bnRlZDxOZXR3b3Jr
U29ja2V0U3RyZWFtPiwgcHVibGljIElQQzo6TWVzc2FnZVNlbmRlciwgcHVibGljIElQQzo6TWVz
c2FnZVJlY2VpdmVyLCBwdWJsaWMgV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPE5ldHdvcmtTb2NrZXRTdHJlYW0+IGNyZWF0ZShOZXR3
b3JrUHJvY2VzcyYsIFVSTCYmLCBQQUw6OlNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBjcmVkZW50
aWFsUGFydGl0aW9uLCBXZWJTb2NrZXRJZGVudGlmaWVyLCBJUEM6OkNvbm5lY3Rpb24mLCBXZWJD
b3JlOjpTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW4mJik7CisgICAgc3RhdGljIFJlZjxOZXR3
b3JrU29ja2V0U3RyZWFtPiBjcmVhdGUoTmV0d29ya1Byb2Nlc3MmLCBVUkwmJiwgUEFMOjpTZXNz
aW9uSUQsIGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlvbiwgV2ViQ29yZTo6V2ViU29j
a2V0SWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uJiwgV2ViQ29yZTo6U291cmNlQXBwbGljYXRp
b25BdWRpdFRva2VuJiYpOwogICAgIH5OZXR3b3JrU29ja2V0U3RyZWFtKCk7CiAKICAgICB2b2lk
IGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwpAQCAt
NjgsOSArNjgsOSBAQCBwcml2YXRlOgogICAgIElQQzo6Q29ubmVjdGlvbiogbWVzc2FnZVNlbmRl
ckNvbm5lY3Rpb24oKSBjb25zdCBmaW5hbDsKICAgICB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVz
dGluYXRpb25JRCgpIGNvbnN0IGZpbmFsOwogCi0gICAgTmV0d29ya1NvY2tldFN0cmVhbShOZXR3
b3JrUHJvY2VzcyYsIFVSTCYmLCBQQUw6OlNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBjcmVkZW50
aWFsUGFydGl0aW9uLCBXZWJTb2NrZXRJZGVudGlmaWVyLCBJUEM6OkNvbm5lY3Rpb24mLCBXZWJD
b3JlOjpTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW4mJik7CisgICAgTmV0d29ya1NvY2tldFN0
cmVhbShOZXR3b3JrUHJvY2VzcyYsIFVSTCYmLCBQQUw6OlNlc3Npb25JRCwgY29uc3QgU3RyaW5n
JiBjcmVkZW50aWFsUGFydGl0aW9uLCBXZWJDb3JlOjpXZWJTb2NrZXRJZGVudGlmaWVyLCBJUEM6
OkNvbm5lY3Rpb24mLCBXZWJDb3JlOjpTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW4mJik7CiAK
LSAgICBXZWJTb2NrZXRJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBXZWJDb3JlOjpXZWJT
b2NrZXRJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKICAgICBJUEM6OkNvbm5lY3Rpb24mIG1fY29u
bmVjdGlvbjsKICAgICBSZWY8V2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlSW1wbD4gbV9pbXBs
OwogICAgIFdlYkNvcmU6OlRpbWVyIG1fZGVsYXlGYWlsVGltZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCA2YWU2OTFkN2E5NTEyNTRjZjZiMzUzZTE3MmY4
MTExYjUzYWVjM2IwLi5kMTgxMGMyMGIwNDg1Y2JkODI5OWQ3ODMxYTM1NmFkM2ExMjBlN2FhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBi
L1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTIyOSw2ICsyMjks
NyBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNsYXJlZCgpOgogICAgICAg
ICAnV2ViQ29yZTo6U2hhcmVkU3RyaW5nSGFzaCcsCiAgICAgICAgICdXZWJDb3JlOjpTbGVlcERp
c2FibGVySWRlbnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpTV1NlcnZlckNvbm5lY3Rpb25J
ZGVudGlmaWVyJywKKyAgICAgICAgJ1dlYkNvcmU6OldlYlNvY2tldElkZW50aWZpZXInLAogICAg
ICAgICAnV2ViS2l0OjpBY3Rpdml0eVN0YXRlQ2hhbmdlSUQnLAogICAgICAgICAnV2ViS2l0OjpB
dWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0
OjpDb250ZW50V29ybGRJZGVudGlmaWVyJywKQEAgLTI2NCw3ICsyNjUsNiBAQCBkZWYgdHlwZXNf
dGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNsYXJlZCgpOgogICAgICAgICAnV2ViS2l0OjpUcmFu
c2FjdGlvbklEJywKICAgICAgICAgJ1dlYktpdDo6VXNlckNvbnRlbnRDb250cm9sbGVySWRlbnRp
ZmllcicsCiAgICAgICAgICdXZWJLaXQ6OldlYlBhZ2VQcm94eUlkZW50aWZpZXInLAotICAgICAg
ICAnV2ViS2l0OjpXZWJTb2NrZXRJZGVudGlmaWVyJywKICAgICBdKQogCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDAzNmRiNmFjZjgw
ZjQxZDljNDQ3MjY0NjY5MjMwMDc5NTYxODFjN2MuLjE3N2EyY2QzMjgxNDFkZmNmYTEyMTFhMzIw
M2VmODhjZDY0MTMzNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMzQ1Nyw3ICszNDU3LDYgQEAKIAkJNDE3OTE1QjYyMjU3MDQ2RTAw
RDZGOTdFIC8qIE5ldHdvcmtTb2NrZXRDaGFubmVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE5ldHdvcmtTb2NrZXRDaGFubmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxNzkxNUI3MjI1NzA0NkUwMEQ2Rjk3RSAvKiBOZXR3b3JrU29ja2V0Q2hhbm5lbC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrU29ja2V0Q2hh
bm5lbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzkxNUI4MjI1NzA0NkUw
MEQ2Rjk3RSAvKiBOZXR3b3JrU29ja2V0Q2hhbm5lbC5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBOZXR3b3JrU29ja2V0Q2hhbm5lbC5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNDE3OTREMUMyM0VERDc1NzAwOEM0NTNGIC8qIFdlYlNvY2tldElk
ZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViU29ja2V0SWRl
bnRpZmllci5oOyBwYXRoID0gTmV0d29yay9XZWJTb2NrZXRJZGVudGlmaWVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODk3RUNDMUY0MTVENUMwMDE2RkE0MiAvKiBXZWJDYWNo
ZVN0b3JhZ2VQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDYWNoZVN0b3JhZ2VQ
cm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODk3RUNEMUY0MTVE
NUMwMDE2RkE0MiAvKiBXZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDE4OTdFQ0UxRjQxNUQ1QzAwMTZGQTQyIC8qIFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NzUxLDcgKzc3NTAsNiBAQAogCQkJCTQxNzkx
NUI0MjI1NkQxQTcwMEQ2Rjk3RSAvKiBXZWJTb2NrZXRDaGFubmVsLm1lc3NhZ2VzLmluICovLAog
CQkJCTQxNzkxNUIyMjI1NkMyRTIwMEQ2Rjk3RSAvKiBXZWJTb2NrZXRDaGFubmVsTWFuYWdlci5j
cHAgKi8sCiAJCQkJNDE3OTE1QjAyMjU2QzBENjAwRDZGOTdFIC8qIFdlYlNvY2tldENoYW5uZWxN
YW5hZ2VyLmggKi8sCi0JCQkJNDE3OTREMUMyM0VERDc1NzAwOEM0NTNGIC8qIFdlYlNvY2tldElk
ZW50aWZpZXIuaCAqLywKIAkJCQk1Qzc3MDY3MzFEMTExRDhCMDAxMjcwMEYgLyogV2ViU29ja2V0
UHJvdmlkZXIuY3BwICovLAogCQkJCTVDN0M4OERDMUQwRjQxQTAwMDlEMkY2RCAvKiBXZWJTb2Nr
ZXRQcm92aWRlci5oICovLAogCQkJCTVDMEIxNzdBMUU3Qzg4NEYwMEU5MTIzQyAvKiBXZWJTb2Nr
ZXRTdHJlYW0uY3BwICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0
d29yay9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCBhZjk5ZThiNDE3MzkxNWUxNzgzMGQzMTE2
MzM0Y2ExYWNkZjEzMWFlLi42NDAzZjBmZmQwY2YxYTcyMDE3MzM4ODcyODVkZmIwNWFkM2UyMzEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRD
aGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2Nr
ZXRDaGFubmVsLmNwcApAQCAtNzEsNyArNzEsNiBAQCBOZXR3b3JrU2VuZFF1ZXVlIFdlYlNvY2tl
dENoYW5uZWw6OmNyZWF0ZU1lc3NhZ2VRdWV1ZShEb2N1bWVudCYgZG9jdW1lbnQsIFdlYlNvYwog
CiBXZWJTb2NrZXRDaGFubmVsOjpXZWJTb2NrZXRDaGFubmVsKERvY3VtZW50JiBkb2N1bWVudCwg
V2ViU29ja2V0Q2hhbm5lbENsaWVudCYgY2xpZW50KQogICAgIDogbV9kb2N1bWVudChtYWtlV2Vh
a1B0cihkb2N1bWVudCkpCi0gICAgLCAgbV9pZGVudGlmaWVyKFdlYlNvY2tldElkZW50aWZpZXI6
OmdlbmVyYXRlKCkpCiAgICAgLCBtX2NsaWVudChtYWtlV2Vha1B0cihjbGllbnQpKQogICAgICwg
bV9tZXNzYWdlUXVldWUoY3JlYXRlTWVzc2FnZVF1ZXVlKGRvY3VtZW50LCAqdGhpcykpCiAgICAg
LCBtX2luc3BlY3Rvcihkb2N1bWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuaAppbmRleCA5MzFmMDkwMTZmYzQ0MTk0MGIwYTFk
ZjdkNTg5ZjVkNjcyMmRjNjFhLi5mNTM0NzgzNDdlNzc1ZGYzN2VhOTc2MzRjMjMzMDkzMmI0YTE0
ZDI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2Nr
ZXRDaGFubmVsLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29j
a2V0Q2hhbm5lbC5oCkBAIC0yNyw3ICsyNyw2IEBACiAKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2
ZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCi0jaW5jbHVkZSAiV2ViU29ja2V0SWRl
bnRpZmllci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTmV0d29ya1NlbmRRdWV1ZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJj
ZVJlc3BvbnNlLmg+CkBAIC00OSw4ICs0OCw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdl
YlNvY2tldENoYW5uZWw+IGNyZWF0ZShXZWJDb3JlOjpEb2N1bWVudCYsIFdlYkNvcmU6OldlYlNv
Y2tldENoYW5uZWxDbGllbnQmKTsKICAgICB+V2ViU29ja2V0Q2hhbm5lbCgpOwogCi0gICAgV2Vi
U29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVy
OyB9Ci0KICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYpOwogCiAgICAgdm9pZCBuZXR3b3JrUHJvY2Vzc0NyYXNoZWQoKTsKQEAgLTEwMCwx
NCArOTcsMTIgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIHNlbmRN
ZXNzYWdlKFQmJiwgc2l6ZV90IGJ5dGVMZW5ndGgpOwogICAgIHZvaWQgZW5xdWV1ZVRhc2soRnVu
Y3Rpb248dm9pZCgpPiYmKTsKIAotICAgIHVuc2lnbmVkIGNoYW5uZWxJZGVudGlmaWVyKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9pZGVudGlmaWVyLnRvVUludDY0KCk7IH0KICAgICBib29sIGhh
c0NyZWF0ZWRIYW5kc2hha2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiAhbV91cmwuaXNOdWxsKCk7
IH0KICAgICBib29sIGlzQ29ubmVjdGVkKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIW1faGFuZHNo
YWtlUmVzcG9uc2UuaXNOdWxsKCk7IH0KLSAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgY2xp
ZW50SGFuZHNoYWtlUmVxdWVzdChGdW5jdGlvbjxTdHJpbmcoY29uc3QgVVJMJik+JiYpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1faGFuZHNoYWtlUmVxdWVzdDsgfQorICAgIFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCBjbGllbnRIYW5kc2hha2VSZXF1ZXN0KGNvbnN0IENvb2tpZUdldHRlciYpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1faGFuZHNoYWtlUmVxdWVzdDsgfQogICAgIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UmIHNlcnZlckhhbmRzaGFrZVJlc3BvbnNlKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9oYW5kc2hha2VSZXNwb25zZTsgfQogCiAgICAgV2Vha1B0cjxXZWJDb3Jl
OjpEb2N1bWVudD4gbV9kb2N1bWVudDsKLSAgICBXZWJTb2NrZXRJZGVudGlmaWVyIG1faWRlbnRp
ZmllcjsKICAgICBXZWFrUHRyPFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWxDbGllbnQ+IG1fY2xp
ZW50OwogICAgIFVSTCBtX3VybDsKICAgICBTdHJpbmcgbV9zdWJwcm90b2NvbDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWxNYW5h
Z2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVs
TWFuYWdlci5oCmluZGV4IDg2YWViZDUxODE0NDFjYjU2YmYzZGE1ZDhkZTM2YzY3NTUyZTM5ZTMu
LmY2NWFmOWVkOWZkZDk0OGViNTgxNzBmYTk4NjY4OTJkOWU0Y2E5YjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWxNYW5hZ2VyLmgK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbE1h
bmFnZXIuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVDaGFubmVs
KFdlYlNvY2tldENoYW5uZWwmIGNoYW5uZWwpIHsgbV9jaGFubmVscy5yZW1vdmUoY2hhbm5lbC5p
ZGVudGlmaWVyKCkgKTsgfQogCiBwcml2YXRlOgotICAgIEhhc2hNYXA8V2ViU29ja2V0SWRlbnRp
ZmllciwgV2Vha1B0cjxXZWJTb2NrZXRDaGFubmVsPj4gbV9jaGFubmVsczsKKyAgICBIYXNoTWFw
PFdlYkNvcmU6OldlYlNvY2tldElkZW50aWZpZXIsIFdlYWtQdHI8V2ViU29ja2V0Q2hhbm5lbD4+
IG1fY2hhbm5lbHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldElkZW50aWZpZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldElkZW50aWZpZXIuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjhmNDI2MWUxYjllOTdjY2RjY2RkMDk4MjI0MTNj
Y2JiYmJiMmMwOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRJZGVudGlmaWVyLmgK
KysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UgLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25j
ZQotCi0jaW5jbHVkZSA8d3RmL09iamVjdElkZW50aWZpZXIuaD4KLQotbmFtZXNwYWNlIFdlYktp
dCB7Ci0KLWVudW0gV2ViU29ja2V0SWRlbnRpZmllclR5cGUgeyB9OwotdXNpbmcgV2ViU29ja2V0
SWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8V2ViU29ja2V0SWRlbnRpZmllclR5cGU+Owot
Ci19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVyLmNwcAppbmRleCA4MjhkNTAyMzlmN2QxZDll
ZDkxNDUzYWUwNmE3YWMyMzViYzk4NTQ3Li5jNTNmY2Q2ZDQ3MTFiYWY0NmMzNjM5ZDk1ZjRmY2E2
MzcxNTgzMWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJTb2NrZXRQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdv
cmsvV2ViU29ja2V0UHJvdmlkZXIuY3BwCkBAIC0zOCwxMCArMzgsMTAgQEAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLVJlZjxTb2NrZXRTdHJlYW1IYW5k
bGU+IFdlYlNvY2tldFByb3ZpZGVyOjpjcmVhdGVTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgVVJM
JiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCYgY2xpZW50LCBQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlvbiwgY29uc3QgU3RvcmFn
ZVNlc3Npb25Qcm92aWRlciopCitSZWY8U29ja2V0U3RyZWFtSGFuZGxlPiBXZWJTb2NrZXRQcm92
aWRlcjo6Y3JlYXRlU29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IFVSTCYgdXJsLCBTb2NrZXRTdHJl
YW1IYW5kbGVDbGllbnQmIGNsaWVudCwgV2ViU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlv
biwgY29uc3QgU3RvcmFnZVNlc3Npb25Qcm92aWRlciopCiB7CiAgICAgQVNTRVJUX1VOVVNFRChz
ZXNzaW9uSUQsIHNlc3Npb25JRCA9PSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZXNzaW9uSUQo
KSk7Ci0gICAgcmV0dXJuIFdlYlNvY2tldFN0cmVhbTo6Y3JlYXRlKHVybCwgY2xpZW50LCBjcmVk
ZW50aWFsUGFydGl0aW9uKTsKKyAgICByZXR1cm4gV2ViU29ja2V0U3RyZWFtOjpjcmVhdGUodXJs
LCBjbGllbnQsIGlkZW50aWZpZXIsIGNyZWRlbnRpYWxQYXJ0aXRpb24pOwogfQogCiBSZWZQdHI8
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IFdlYlNvY2tldFByb3ZpZGVyOjpjcmVhdGVXZWJT
b2NrZXRDaGFubmVsKERvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCYg
Y2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
U29ja2V0UHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNv
Y2tldFByb3ZpZGVyLmgKaW5kZXggNzNlNGNlODFmMWQ5ODkxMTQwNWUxZmM0ODhjYzA3ODg5YTIz
MjhjNy4uMWIzNTUyZGEzNjQwYTQwN2JjZjRmOWY3NjBhNWM1ZDNiMjlmY2E4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlkZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRQcm92aWRlci5o
CkBAIC0zMiw3ICszMiw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViU29ja2V0UHJv
dmlkZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6U29ja2V0UHJvdmlkZXIgewogcHVibGljOgog
ICAgIHN0YXRpYyBSZWY8V2ViU29ja2V0UHJvdmlkZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgV2ViU29ja2V0UHJvdmlkZXIpOyB9Ci0gICAgUmVmPFdlYkNvcmU6OlNvY2tldFN0
cmVhbUhhbmRsZT4gY3JlYXRlU29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IFVSTCYsIFdlYkNvcmU6
OlNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCYsIFBBTDo6U2Vzc2lvbklELCBjb25zdCBTdHJpbmcm
IGNyZWRlbnRpYWxQYXJ0aXRpb24sIGNvbnN0IFdlYkNvcmU6OlN0b3JhZ2VTZXNzaW9uUHJvdmlk
ZXIqKSBmaW5hbDsKKyAgICBSZWY8V2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlPiBjcmVhdGVT
b2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgVVJMJiwgV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxl
Q2xpZW50JiwgV2ViQ29yZTo6V2ViU29ja2V0SWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQsIGNv
bnN0IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlvbiwgY29uc3QgV2ViQ29yZTo6U3RvcmFnZVNl
c3Npb25Qcm92aWRlciopIGZpbmFsOwogICAgIFJlZlB0cjxXZWJDb3JlOjpUaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbD4gY3JlYXRlV2ViU29ja2V0Q2hhbm5lbChXZWJDb3JlOjpEb2N1bWVudCYs
IFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWxDbGllbnQmKSBmaW5hbDsKICAgICB2aXJ0dWFsIH5X
ZWJTb2NrZXRQcm92aWRlcigpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJTb2NrZXRTdHJlYW0uY3BwCmluZGV4IDY5MWZiNWU5NGFhOWY2YWIy
NWYwOTU4ODBlOWEzMjhjNzBlMjA2MzkuLmFmMjQyY2QyYjU5NWFjNGE0NDg0Mjk3YmU1ZDVjZmUx
OGQ0OGYzMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlNvY2tldFN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViU29ja2V0U3RyZWFtLmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIk5ldHdvcmtT
b2NrZXRTdHJlYW1NZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5o
IgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKLSNpbmNsdWRlICJXZWJTb2NrZXRJZGVudGlmaWVy
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWVSZXF1ZXN0SGVhZGVyRmllbGRQcm94eS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvU29ja2V0U3RyZWFtRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1NvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oPgpAQCAtNzcsMTQgKzc2LDE0IEBAIHZvaWQgV2Vi
U29ja2V0U3RyZWFtOjpuZXR3b3JrUHJvY2Vzc0NyYXNoZWQoKQogICAgIGdsb2JhbFdlYlNvY2tl
dFN0cmVhbU1hcCgpLmNsZWFyKCk7CiB9CiAKLVJlZjxXZWJTb2NrZXRTdHJlYW0+IFdlYlNvY2tl
dFN0cmVhbTo6Y3JlYXRlKGNvbnN0IFVSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQm
IGNsaWVudCwgY29uc3QgU3RyaW5nJiBjcmVkZW50aWFsUGFydGl0aW9uKQorUmVmPFdlYlNvY2tl
dFN0cmVhbT4gV2ViU29ja2V0U3RyZWFtOjpjcmVhdGUoY29uc3QgVVJMJiB1cmwsIFNvY2tldFN0
cmVhbUhhbmRsZUNsaWVudCYgY2xpZW50LCBXZWJTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbFBhcnRpdGlvbikKIHsKLSAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBXZWJTb2NrZXRTdHJlYW0odXJsLCBjbGllbnQsIGNyZWRlbnRpYWxQYXJ0aXRpb24p
KTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJTb2NrZXRTdHJlYW0odXJsLCBjbGllbnQs
IGlkZW50aWZpZXIsIGNyZWRlbnRpYWxQYXJ0aXRpb24pKTsKIH0KIAotV2ViU29ja2V0U3RyZWFt
OjpXZWJTb2NrZXRTdHJlYW0oY29uc3QgVVJMJiB1cmwsIFdlYkNvcmU6OlNvY2tldFN0cmVhbUhh
bmRsZUNsaWVudCYgY2xpZW50LCBjb25zdCBTdHJpbmcmIGNhY2hlUGFydGl0aW9uKQorV2ViU29j
a2V0U3RyZWFtOjpXZWJTb2NrZXRTdHJlYW0oY29uc3QgVVJMJiB1cmwsIFdlYkNvcmU6OlNvY2tl
dFN0cmVhbUhhbmRsZUNsaWVudCYgY2xpZW50LCBXZWJTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZp
ZXIsIGNvbnN0IFN0cmluZyYgY2FjaGVQYXJ0aXRpb24pCiAgICAgOiBTb2NrZXRTdHJlYW1IYW5k
bGUodXJsLCBjbGllbnQpCi0gICAgLCAgbV9pZGVudGlmaWVyKFdlYlNvY2tldElkZW50aWZpZXI6
OmdlbmVyYXRlKCkpCisgICAgLCAgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCiAgICAgLCBtX2Ns
aWVudChjbGllbnQpCiB7CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlTmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVTb2NrZXRTdHJlYW0odXJsLCBjYWNoZVBhcnRp
dGlvbiwgbV9pZGVudGlmaWVyKSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJTb2NrZXRTdHJlYW0uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5oCmluZGV4IGUzNjczYmY5MjI1ZGJkZWE3MGRmNGY3
OThkMDliOGNmODY2OTc1M2UuLmRkMDgyMDEwNzEyYjlmNWRiOWZlYmQ4OGRhNjY5YjZkZjYxZDBm
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tl
dFN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tl
dFN0cmVhbS5oCkBAIC0yNyw4ICsyNyw4IEBACiAKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIu
aCIKICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCi0jaW5jbHVkZSAiV2ViU29ja2V0SWRlbnRp
Zmllci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvU29ja2V0U3RyZWFtSGFuZGxlLmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9XZWJTb2NrZXRJZGVudGlmaWVyLmg+CiAKIG5hbWVzcGFjZSBJUEMgewogY2xh
c3MgQ29ubmVjdGlvbjsKQEAgLTQ0LDkgKzQ0LDkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNs
YXNzIFdlYlNvY2tldFN0cmVhbSA6IHB1YmxpYyBJUEM6Ok1lc3NhZ2VTZW5kZXIsIHB1YmxpYyBJ
UEM6Ok1lc3NhZ2VSZWNlaXZlciwgcHVibGljIFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZSB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxXZWJTb2NrZXRTdHJlYW0+IGNyZWF0ZShjb25zdCBV
UkwmLCBXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQmLCBjb25zdCBTdHJpbmcmIGNy
ZWRlbnRpYWxQYXJ0aXRpb24pOworICAgIHN0YXRpYyBSZWY8V2ViU29ja2V0U3RyZWFtPiBjcmVh
dGUoY29uc3QgVVJMJiwgV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50JiwgV2ViQ29y
ZTo6V2ViU29ja2V0SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBjcmVkZW50aWFsUGFydGl0aW9u
KTsKICAgICBzdGF0aWMgdm9pZCBuZXR3b3JrUHJvY2Vzc0NyYXNoZWQoKTsKLSAgICBzdGF0aWMg
V2ViU29ja2V0U3RyZWFtKiBzdHJlYW1XaXRoSWRlbnRpZmllcihXZWJTb2NrZXRJZGVudGlmaWVy
KTsKKyAgICBzdGF0aWMgV2ViU29ja2V0U3RyZWFtKiBzdHJlYW1XaXRoSWRlbnRpZmllcihXZWJD
b3JlOjpXZWJTb2NrZXRJZGVudGlmaWVyKTsKICAgICAKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwogICAgIApAQCAtNzIsMTAgKzcy
LDEwIEBAIHByaXZhdGU6CiAgICAgSVBDOjpDb25uZWN0aW9uKiBtZXNzYWdlU2VuZGVyQ29ubmVj
dGlvbigpIGNvbnN0IGZpbmFsOwogICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlv
bklEKCkgY29uc3QgZmluYWw7CiAKLSAgICBXZWJTb2NrZXRTdHJlYW0oY29uc3QgVVJMJiwgV2Vi
Q29yZTo6U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50JiwgY29uc3QgU3RyaW5nJiBjcmVkZW50aWFs
UGFydGl0aW9uKTsKKyAgICBXZWJTb2NrZXRTdHJlYW0oY29uc3QgVVJMJiwgV2ViQ29yZTo6U29j
a2V0U3RyZWFtSGFuZGxlQ2xpZW50JiwgV2ViQ29yZTo6V2ViU29ja2V0SWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiBjcmVkZW50aWFsUGFydGl0aW9uKTsKICAgICB+V2ViU29ja2V0U3RyZWFtKCk7
CiAKLSAgICBXZWJTb2NrZXRJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBXZWJDb3JlOjpX
ZWJTb2NrZXRJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKICAgICBzaXplX3QgbV9idWZmZXJlZEFt
b3VudCB7IDAgfTsKICAgICBXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQmIG1fY2xp
ZW50OwogICAgIEhhc2hNYXA8dWludDY0X3QsIEZ1bmN0aW9uPHZvaWQoYm9vbCk+PiBtX3NlbmRE
YXRhQ2FsbGJhY2tzOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>