<?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>216524</bug_id>
          
          <creation_ts>2020-09-14 20:33:07 -0700</creation_ts>
          <short_desc>[WebIDL] Update Fetch IDLs to use WindowOrWorkerGlobalScope partial mixin</short_desc>
          <delta_ts>2020-09-15 10:05:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>andersca</cc>
    
    <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1688566</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-14 20:33:07 -0700</bug_when>
    <thetext>[WebIDL] Update Fetch IDLs to use WindowOrWorkerGlobalScope partial mixin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688567</commentid>
    <comment_count>1</comment_count>
      <attachid>408785</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-14 20:33:48 -0700</bug_when>
    <thetext>Created attachment 408785
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688569</commentid>
    <comment_count>2</comment_count>
      <attachid>408786</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-14 20:48:49 -0700</bug_when>
    <thetext>Created attachment 408786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688701</commentid>
    <comment_count>3</comment_count>
      <attachid>408820</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-15 08:58:18 -0700</bug_when>
    <thetext>Created attachment 408820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688706</commentid>
    <comment_count>4</comment_count>
      <attachid>408823</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-15 09:10:39 -0700</bug_when>
    <thetext>Created attachment 408823
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688734</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-15 10:04:09 -0700</bug_when>
    <thetext>Committed r267089: &lt;https://trac.webkit.org/changeset/267089&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408823.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688736</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-15 10:05:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/68928796&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408785</attachid>
            <date>2020-09-14 20:33:48 -0700</date>
            <delta_ts>2020-09-14 20:50:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216524-20200914203347.patch</filename>
            <type>text/plain</type>
            <size>38463</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTA5LTE0ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViSURMXSBVcGRhdGUgRmV0Y2gg
SURMcyB0byB1c2UgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZSBwYXJ0aWFsIG1peGluCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY1MjQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbV0lQXQorCisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRE9N
V2luZG93RmV0Y2guY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRE9NV2lu
ZG93RmV0Y2guaDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0Zl
dGNoLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5p
ZGw6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3RJbml0LmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
ZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2g6OmZldGNoKToKKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oOiBBZGRl
ZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRj
aC5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVG
ZXRjaC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxT
Y29wZUZldGNoLmg6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9i
YWxTY29wZUZldGNoLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjAtMDktMTQgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBUeXBlcyBvZiBQYW5uZXIu
c2V0UG9zaXRpb24oKSAvIHNldE9yaWVudGF0aW9uKCkgcGFyYW1ldGVycyBzaG91bGQgbm90IGJl
IHVucmVzdHJpY3RlZCBmbG9hdApJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI2
NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0yNjUsNyArMjY1LDYgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1
bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5pZGwKICAgICBNb2R1bGVzL2VudHJp
ZXNhcGkvSFRNTElucHV0RWxlbWVudEVudHJpZXNBUEkuaWRsCiAKLSAgICBNb2R1bGVzL2ZldGNo
L0RPTVdpbmRvd0ZldGNoLmlkbAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmlkbAogICAg
IE1vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZWZlcnJlclBvbGljeS5pZGwKQEAgLTI3Niw3ICsyNzUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUwogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0TW9kZS5pZGwKICAgICBN
b2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdFJlZGlyZWN0LmlkbAogICAgIE1vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5pZGwKLSAgICBNb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0
Y2guaWRsCisgICAgTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2gu
aWRsCiAKICAgICBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmlkbAogICAgIE1vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25Db29yZGluYXRlcy5pZGwKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAkocmV2aXNpb24gMjY3
MDcxKQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAko
d29ya2luZyBjb3B5KQpAQCAtOTQsNyArOTQsNiBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2Vu
dHJpZXNhcGkvRmlsZVN5CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5
c3RlbUVudHJ5Q2FsbGJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2VudHJpZXNhcGkv
RmlsZVN5c3RlbUZpbGVFbnRyeS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZW50cmllc2Fw
aS9IVE1MSW5wdXRFbGVtZW50RW50cmllc0FQSS5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
ZmV0Y2gvRE9NV2luZG93RmV0Y2guaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoQm9keS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlk
bAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9mZXRjaC9GZXRjaFJlZmVycmVyUG9saWN5LmlkbApA
QCAtMTA1LDcgKzEwNCw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1
ZXMKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0TW9kZS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0UmVkaXJlY3QuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsCi0kKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9nYW1lcGFkL0dhbWVwYWRCdXR0b24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2dh
bWVwYWQvR2FtZXBhZEV2ZW50LmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtb3V0cHV0LnhjZmlsZWxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI2NzA3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3JraW5nIGNvcHkpCkBA
IC00OTAsOCArNDkwLDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YgogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5k
b3cuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01X
aW5kb3dDYWNoZXMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RPTVdpbmRvd0NhY2hlcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvd0ZldGNoLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3dGZXRjaC5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvd0luZGV4ZWREYXRhYmFz
ZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9N
V2luZG93SW5kZXhlZERhdGFiYXNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93UXVvdGEuY3BwCkBAIC0yMzEyLDE0ICsyMzEwLDE0IEBA
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWIKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2luZG93RXZlbnRIYW5kbGVycy5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dpbmRvd09yV29y
a2VyR2xvYmFsU2NvcGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0
Y2guY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dp
bmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGUuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlckdsb2JhbFNjb3BlLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xv
YmFsU2NvcGVDYWNoZXMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKLSQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFs
U2NvcGVGZXRjaC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWRE
YXRhYmFzZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dvcmtlckxvY2F0aW9uLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShy
ZXZpc2lvbiAyNjcwNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3
b3JraW5nIGNvcHkpCkBAIC0xOTcsNyArMTk3LDYgQEAgSlNfQklORElOR19JRExTID0gXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRy
eS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbnRyaWVzYXBpL0hUTUxJbnB1dEVsZW1l
bnRFbnRyaWVzQVBJLmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRv
d0ZldGNoLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZWZlcnJlclBvbGljeS5pZGwgXApAQCAtMjA4
LDcgKzIwNyw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXF1ZXN0TW9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3RSZWRpcmVjdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlc3BvbnNlLmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL1dvcmtl
ckdsb2JhbFNjb3BlRmV0Y2guaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmV0Y2gvV2lu
ZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2dhbWVwYWQvR2FtZXBhZC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9nYW1lcGFkL0dh
bWVwYWRCdXR0b24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFk
RXZlbnQuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNjcwNzEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBN
b2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJpZXNDYWxsCiBNb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbUVudHJ5LmNwcAogTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxl
RW50cnkuY3BwCiBNb2R1bGVzL2VudHJpZXNhcGkvSFRNTElucHV0RWxlbWVudEVudHJpZXNBUEku
Y3BwCi1Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcAogTW9kdWxlcy9mZXRjaC9GZXRj
aEJvZHkuY3BwCiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1bWVyLmNwcAogTW9kdWxlcy9m
ZXRjaC9GZXRjaEJvZHlPd25lci5jcHAKQEAgLTU3LDcgKzU2LDcgQEAgTW9kdWxlcy9mZXRjaC9G
ZXRjaEhlYWRlcnMuY3BwCiBNb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAogTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlcXVlc3QuY3BwCiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCi1N
b2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwCitNb2R1bGVzL2ZldGNoL1dp
bmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2Vv
Tm90aWZpZXIuY3BwCiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcAogTW9kdWxl
cy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcAkocmV2aXNpb24gMjY3
MDcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5jcHAJ
KG5vbmV4aXN0ZW50KQpAQCAtMSw3MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2
IENhbm9uIEluYy4KLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQsIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgcmVxdWly
ZWQgdG8gYmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRo
ZXIgdGhlIG5hbWUgb2YgQ2Fub24gSW5jLiBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIENB
Tk9OIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBDQU5PTiBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgot
ICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJET01XaW5kb3dG
ZXRjaC5oIgotCi0jaW5jbHVkZSAiRE9NV2luZG93LmgiCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIK
LSNpbmNsdWRlICJGZXRjaFJlc3BvbnNlLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJy
ZWQuaCIKLSNpbmNsdWRlICJKU0ZldGNoUmVzcG9uc2UuaCIKLSNpbmNsdWRlICJVc2VyR2VzdHVy
ZUluZGljYXRvci5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIEZldGNoUmVzcG9u
c2VQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNl
Pj47Ci0KLXZvaWQgRE9NV2luZG93RmV0Y2g6OmZldGNoKERPTVdpbmRvdyYgd2luZG93LCBGZXRj
aFJlcXVlc3Q6OkluZm8mJiBpbnB1dCwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYgaW5pdCwgUmVmPERl
ZmVycmVkUHJvbWlzZT4mJiBkZWZlcnJlZCkKLXsKLSAgICBGZXRjaFJlc3BvbnNlUHJvbWlzZSBw
cm9taXNlID0gV1RGTW92ZShkZWZlcnJlZCk7Ci0KLSAgICBhdXRvKiBkb2N1bWVudCA9IHdpbmRv
dy5kb2N1bWVudCgpOwotICAgIGlmICghZG9jdW1lbnQpIHsKLSAgICAgICAgcHJvbWlzZS5yZWpl
Y3QoSW52YWxpZFN0YXRlRXJyb3IpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgYXV0
byByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoKmRvY3VtZW50LCBXVEZNb3ZlKGlucHV0
KSwgV1RGTW92ZShpbml0KSk7Ci0gICAgaWYgKHJlcXVlc3QuaGFzRXhjZXB0aW9uKCkpIHsKLSAg
ICAgICAgcHJvbWlzZS5yZWplY3QocmVxdWVzdC5yZWxlYXNlRXhjZXB0aW9uKCkpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgRmV0Y2hSZXNwb25zZTo6ZmV0Y2goKmRvY3VtZW50LCBy
ZXF1ZXN0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSks
IHVzZXJHZXN0dXJlVG9rZW4gPSBVc2VyR2VzdHVyZUluZGljYXRvcjo6Y3VycmVudFVzZXJHZXN0
dXJlKCldKEV4Y2VwdGlvbk9yPEZldGNoUmVzcG9uc2UmPiYmIHJlc3VsdCkgbXV0YWJsZSB7Ci0g
ICAgICAgIGlmICghdXNlckdlc3R1cmVUb2tlbiB8fCB1c2VyR2VzdHVyZVRva2VuLT5oYXNFeHBp
cmVkKFVzZXJHZXN0dXJlVG9rZW46Om1heGltdW1JbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2Fy
ZGluZ0ZvckZldGNoKCkpIHx8ICF1c2VyR2VzdHVyZVRva2VuLT5wcm9jZXNzaW5nVXNlckdlc3R1
cmUoKSkgewotICAgICAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIFVzZXJHZXN0dXJlSW5kaWNh
dG9yIGdlc3R1cmVJbmRpY2F0b3IodXNlckdlc3R1cmVUb2tlbiwgVXNlckdlc3R1cmVUb2tlbjo6
R2VzdHVyZVNjb3BlOjpNZWRpYU9ubHksIFVzZXJHZXN0dXJlVG9rZW46OklzUHJvcGFnYXRlZEZy
b21GZXRjaDo6WWVzKTsKLSAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsK
LSAgICB9KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guaAkocmV2aXNpb24gMjY3MDcxKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5oCShub25leGlz
dGVudCkKQEAgLTEsNDQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBDYW5vbiBJ
bmMuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQsIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgcmVxdWlyZWQgdG8g
YmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhl
IG5hbWUgb2YgQ2Fub24gSW5jLiBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAot
ICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIENBTk9OIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBD
QU5PTiBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0LmgiCi0jaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBEZWZl
cnJlZFByb21pc2U7Ci1jbGFzcyBET01XaW5kb3c7Ci0KLWNsYXNzIERPTVdpbmRvd0ZldGNoIHsK
LXB1YmxpYzoKLSAgICBzdGF0aWMgdm9pZCBmZXRjaChET01XaW5kb3cmLCBGZXRjaFJlcXVlc3Q6
OkluZm8mJiwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwot
fTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9ET01XaW5kb3dGZXRjaC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5pZGwJKHJldmlzaW9uIDI2NzA3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guaWRsCShub25leGlzdGVu
dCkKQEAgLTEsMzYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBDYW5vbiBJbmMu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQsIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgcmVxdWlyZWQgdG8gYmUg
bWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5h
bWUgb2YgQ2Fub24gSW5jLiBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICog
ICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIENBTk9OIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
Ci0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBDQU5P
TiBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLXR5cGVkZWYgKEZldGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwot
Ci1bCi0gICAgRW5hYmxlZEF0UnVudGltZT1GZXRjaEFQSSwKLSAgICBJbXBsZW1lbnRlZEJ5PURP
TVdpbmRvd0ZldGNoCi1dIHBhcnRpYWwgaW50ZXJmYWNlIERPTVdpbmRvdyB7Ci0gICAgUHJvbWlz
ZTxGZXRjaFJlc3BvbnNlPiBmZXRjaChSZXF1ZXN0SW5mbyBpbnB1dCwgb3B0aW9uYWwgRmV0Y2hS
ZXF1ZXN0SW5pdCBpbml0KTsKLX07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlcXVlc3QuaWRsCShyZXZpc2lvbiAyNjcwNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDgg
KzMwLDYgQEAgZW51bSBGZXRjaFJlcXVlc3REZXN0aW5hdGlvbiB7ICIiLCAiYXVkaQogCiB0eXBl
ZGVmIChGZXRjaFJlcXVlc3Qgb3IgVVNWU3RyaW5nKSBSZXF1ZXN0SW5mbzsKIAotdHlwZWRlZiAo
QmxvYiBvciBCdWZmZXJTb3VyY2Ugb3IgRE9NRm9ybURhdGEgb3IgVVJMU2VhcmNoUGFyYW1zIG9y
IFJlYWRhYmxlU3RyZWFtIG9yIFVTVlN0cmluZykgQm9keUluaXQ7Ci0KIFsKICAgICBBY3RpdmVE
T01PYmplY3QsCiAgICAgRW5hYmxlZEF0UnVudGltZT1GZXRjaEFQSSwKQEAgLTU0LDYgKzUyLDEw
IEBAIHR5cGVkZWYgKEJsb2Igb3IgQnVmZmVyU291cmNlIG9yIERPTUZvcm0KICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRmV0Y2hSZXF1ZXN0UmVkaXJlY3QgcmVkaXJlY3Q7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyBpbnRlZ3JpdHk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9RmV0
Y2hBUElLZWVwQWxpdmVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGtlZXBhbGl2ZTsKKyAg
ICAvLyBGSVhNRTogSW1wbGVtZW50ICdpc1JlbG9hZE5hdmlnYXRpb24nLgorICAgIC8vIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzUmVsb2FkTmF2aWdhdGlvbjsKKyAgICAvLyBGSVhNRTog
SW1wbGVtZW50ICdpc0hpc3RvcnlOYXZpZ2F0aW9uJy4KKyAgICAvLyByZWFkb25seSBhdHRyaWJ1
dGUgYm9vbGVhbiBpc0hpc3RvcnlOYXZpZ2F0aW9uOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBB
Ym9ydFNpZ25hbCBzaWduYWw7CiAKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4
dCwgTWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gRmV0Y2hSZXF1ZXN0IGNsb25lKCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdEluaXQuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0SW5p
dC5pZGwJKHJldmlzaW9uIDI2NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXF1ZXN0SW5pdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDcgQEAgZGlj
dGlvbmFyeSBGZXRjaFJlcXVlc3RJbml0IHsKICAgICBGZXRjaFJlcXVlc3RSZWRpcmVjdCByZWRp
cmVjdDsKICAgICBET01TdHJpbmcgaW50ZWdyaXR5OwogICAgIGJvb2xlYW4ga2VlcGFsaXZlOwor
ICAgIC8vIEZJWE1FOiAnc2lnbmFsJyBzaG91bGQgYmUgb2YgdHlwZSBBYm9ydFNpZ25hbD8uCiAg
ICAgYW55IHNpZ25hbDsKICAgICBhbnkgd2luZG93OyAvLyBjYW4gb25seSBiZSBzZXQgdG8gbnVs
bAogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3Bv
bnNlLmlkbAkocmV2aXNpb24gMjY3MDcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlc3BvbnNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTcsOCArNTcsNiBAQCBkaWN0
aW9uYXJ5IEZldGNoUmVzcG9uc2VJbml0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBvazsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQnl0ZVN0cmluZyBzdGF0dXNUZXh0OwogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBGZXRjaEhlYWRlcnMgaGVhZGVyczsgLy8gRklYTUU6IFNob3Vs
ZCBiZSBbU2FtZU9iamVjdF0uCi0gICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciB0cmFpbGVy
cy4KLSAgICAvLyByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTxIZWFkZXJzPiB0cmFpbGVyOwog
CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1heVRocm93RXhjZXB0aW9u
LCBOZXdPYmplY3RdIEZldGNoUmVzcG9uc2UgY2xvbmUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlRmV0Y2guY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIldpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oIgorCisjaW5jbHVkZSAiRE9N
V2luZG93LmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGZXRjaFJlc3BvbnNl
LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJKU0ZldGNo
UmVzcG9uc2UuaCIKKyNpbmNsdWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgorI2luY2x1ZGUg
Ildvcmtlckdsb2JhbFNjb3BlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgRmV0
Y2hSZXNwb25zZVByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPEZldGNo
UmVzcG9uc2U+PjsKKwordm9pZCBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2g6OmZldGNo
KERPTVdpbmRvdyYgd2luZG93LCBGZXRjaFJlcXVlc3Q6OkluZm8mJiBpbnB1dCwgRmV0Y2hSZXF1
ZXN0OjpJbml0JiYgaW5pdCwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBkZWZlcnJlZCkKK3sKKyAg
ICBGZXRjaFJlc3BvbnNlUHJvbWlzZSBwcm9taXNlID0gV1RGTW92ZShkZWZlcnJlZCk7CisKKyAg
ICBhdXRvKiBkb2N1bWVudCA9IHdpbmRvdy5kb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQp
IHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoSW52YWxpZFN0YXRlRXJyb3IpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgYXV0byByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUo
KmRvY3VtZW50LCBXVEZNb3ZlKGlucHV0KSwgV1RGTW92ZShpbml0KSk7CisgICAgaWYgKHJlcXVl
c3QuaGFzRXhjZXB0aW9uKCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QocmVxdWVzdC5yZWxl
YXNlRXhjZXB0aW9uKCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgRmV0Y2hSZXNw
b25zZTo6ZmV0Y2goKmRvY3VtZW50LCByZXF1ZXN0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBbcHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHVzZXJHZXN0dXJlVG9rZW4gPSBVc2VyR2VzdHVyZUlu
ZGljYXRvcjo6Y3VycmVudFVzZXJHZXN0dXJlKCldKEV4Y2VwdGlvbk9yPEZldGNoUmVzcG9uc2Um
PiYmIHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAgIGlmICghdXNlckdlc3R1cmVUb2tlbiB8fCB1
c2VyR2VzdHVyZVRva2VuLT5oYXNFeHBpcmVkKFVzZXJHZXN0dXJlVG9rZW46Om1heGltdW1JbnRl
cnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZ0ZvckZldGNoKCkpIHx8ICF1c2VyR2VzdHVyZVRv
a2VuLT5wcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgeworICAgICAgICAgICAgcHJvbWlzZS5zZXR0
bGUoV1RGTW92ZShyZXN1bHQpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisg
ICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNlckdlc3R1cmVU
b2tlbiwgVXNlckdlc3R1cmVUb2tlbjo6R2VzdHVyZVNjb3BlOjpNZWRpYU9ubHksIFVzZXJHZXN0
dXJlVG9rZW46OklzUHJvcGFnYXRlZEZyb21GZXRjaDo6WWVzKTsKKyAgICAgICAgcHJvbWlzZS5z
ZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsKKyAgICB9KTsKK30KKwordm9pZCBXaW5kb3dPcldvcmtl
ckdsb2JhbFNjb3BlRmV0Y2g6OmZldGNoKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSwgRmV0Y2hS
ZXF1ZXN0OjpJbmZvJiYgaW5wdXQsIEZldGNoUmVxdWVzdDo6SW5pdCYmIGluaXQsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYgZGVmZXJyZWQpCit7CisgICAgRmV0Y2hSZXNwb25zZVByb21pc2UgcHJv
bWlzZSA9IFdURk1vdmUoZGVmZXJyZWQpOworCisgICAgYXV0byByZXF1ZXN0ID0gRmV0Y2hSZXF1
ZXN0OjpjcmVhdGUoc2NvcGUsIFdURk1vdmUoaW5wdXQpLCBXVEZNb3ZlKGluaXQpKTsKKyAgICBp
ZiAocmVxdWVzdC5oYXNFeGNlcHRpb24oKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChyZXF1
ZXN0LnJlbGVhc2VFeGNlcHRpb24oKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBG
ZXRjaFJlc3BvbnNlOjpmZXRjaChzY29wZSwgcmVxdWVzdC5yZWxlYXNlUmV0dXJuVmFsdWUoKS5n
ZXQoKSwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShFeGNlcHRpb25PcjxGZXRjaFJlc3Bv
bnNlJj4mJiByZXN1bHQpIG11dGFibGUgeworICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3Zl
KHJlc3VsdCkpOworICAgIH0pOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNo
LmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dP
cldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBET01XaW5kb3c7CitjbGFzcyBEZWZlcnJl
ZFByb21pc2U7CitjbGFzcyBXb3JrZXJHbG9iYWxTY29wZTsKKworY2xhc3MgV2luZG93T3JXb3Jr
ZXJHbG9iYWxTY29wZUZldGNoIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCBmZXRjaChET01X
aW5kb3cmLCBGZXRjaFJlcXVlc3Q6OkluZm8mJiwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYsIFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYpOworICAgIHN0YXRpYyB2b2lkIGZldGNoKFdvcmtlckdsb2JhbFNj
b3BlJiwgRmV0Y2hSZXF1ZXN0OjpJbmZvJiYsIEZldGNoUmVxdWVzdDo6SW5pdCYmLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNo
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09y
V29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL2ZldGNo
LnNwZWMud2hhdHdnLm9yZy8jZmV0Y2gtbWV0aG9kCitbCisgICAgRW5hYmxlZEF0UnVudGltZT1G
ZXRjaEFQSSwKKyAgICBJbXBsZW1lbnRlZEJ5PVdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRj
aAorXSBwYXJ0aWFsIGludGVyZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlIHsK
KyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPEZldGNoUmVzcG9uc2U+IGZldGNoKFJlcXVlc3RJbmZv
IGlucHV0LCBvcHRpb25hbCBGZXRjaFJlcXVlc3RJbml0IGluaXQpOworfTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZl
dGNoLmNwcAkocmV2aXNpb24gMjY3MDcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDU2ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQ2Fub24gSW5jLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkLCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIHJlcXVpcmVkIHRvIGJlIG1ldDoKLSAqCi0gKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIENhbm9uIEluYy4g
bm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBDQU5PTiBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQ0FOT04gSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCi0gKiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUgotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0g
KiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAi
Y29uZmlnLmgiCi0jaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oIgotCi0jaW5jbHVk
ZSAiRmV0Y2hSZXNwb25zZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCi0j
aW5jbHVkZSAiSlNGZXRjaFJlc3BvbnNlLmgiCi0jaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUu
aCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi11c2luZyBGZXRjaFJlc3BvbnNlUHJvbWlzZSA9
IERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+OwotCi12b2lk
IFdvcmtlckdsb2JhbFNjb3BlRmV0Y2g6OmZldGNoKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSwg
RmV0Y2hSZXF1ZXN0OjpJbmZvJiYgaW5wdXQsIEZldGNoUmVxdWVzdDo6SW5pdCYmIGluaXQsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYgZGVmZXJyZWQpCi17Ci0gICAgRmV0Y2hSZXNwb25zZVByb21p
c2UgcHJvbWlzZSA9IFdURk1vdmUoZGVmZXJyZWQpOwotCi0gICAgYXV0byByZXF1ZXN0ID0gRmV0
Y2hSZXF1ZXN0OjpjcmVhdGUoc2NvcGUsIFdURk1vdmUoaW5wdXQpLCBXVEZNb3ZlKGluaXQpKTsK
LSAgICBpZiAocmVxdWVzdC5oYXNFeGNlcHRpb24oKSkgewotICAgICAgICBwcm9taXNlLnJlamVj
dChyZXF1ZXN0LnJlbGVhc2VFeGNlcHRpb24oKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBGZXRjaFJlc3BvbnNlOjpmZXRjaChzY29wZSwgcmVxdWVzdC5yZWxlYXNlUmV0dXJuVmFs
dWUoKS5nZXQoKSwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShFeGNlcHRpb25PcjxGZXRj
aFJlc3BvbnNlJj4mJiByZXN1bHQpIG11dGFibGUgewotICAgICAgICBwcm9taXNlLnNldHRsZShX
VEZNb3ZlKHJlc3VsdCkpOwotICAgIH0pOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2gu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2Jh
bFNjb3BlRmV0Y2guaAkocmV2aXNpb24gMjY3MDcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MyAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IENhbm9uIEluYy4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCwgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSByZXF1aXJlZCB0byBiZSBtZXQ6Ci0gKgotICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBDYW5vbiBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQ0FOT04gSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIENBTk9OIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgotICogQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdt
YSBvbmNlCi0KLSNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1jbGFzcyBEZWZlcnJlZFByb21pc2U7Ci1jbGFzcyBXb3JrZXJHbG9iYWxTY29wZTsKLQot
Y2xhc3MgV29ya2VyR2xvYmFsU2NvcGVGZXRjaCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIHZvaWQg
ZmV0Y2goV29ya2VyR2xvYmFsU2NvcGUmLCBGZXRjaFJlcXVlc3Q6OkluZm8mJiwgRmV0Y2hSZXF1
ZXN0OjpJbml0JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotfTsKLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9i
YWxTY29wZUZldGNoLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsCShyZXZpc2lvbiAyNjcwNzEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsCShub25l
eGlzdGVudCkKQEAgLTEsMzYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBDYW5v
biBJbmMuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQs
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgcmVxdWlyZWQg
dG8gYmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIg
dGhlIG5hbWUgb2YgQ2Fub24gSW5jLiBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIENBTk9O
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBDQU5PTiBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICog
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLXR5cGVkZWYgKEZldGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJ
bmZvOwotCi1bCi0gICAgRW5hYmxlZEF0UnVudGltZT1GZXRjaEFQSSwKLSAgICBJbXBsZW1lbnRl
ZEJ5PVdvcmtlckdsb2JhbFNjb3BlRmV0Y2gKLV0gcGFydGlhbCBpbnRlcmZhY2UgV29ya2VyR2xv
YmFsU2NvcGUgewotICAgIFByb21pc2U8RmV0Y2hSZXNwb25zZT4gZmV0Y2goUmVxdWVzdEluZm8g
aW5wdXQsIG9wdGlvbmFsIEZldGNoUmVxdWVzdEluaXQgaW5pdCk7Ci19OwpJbmRleDogU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNp
b24gMjY3MDcxKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC03NjIzLDEyICs3NjIzLDYgQEAKIAkJNDE4OTM4QUYy
NDI5RjlBQjAwN0ZEQzQxIC8qIFJldHJpZXZlUmVjb3Jkc09wdGlvbnMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmV0cmlldmVSZWNvcmRzT3B0aW9ucy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MThBMDZDRTEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNw
YXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50RGlzcGF0Y2hl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MThBMDZDRjEzM0MwNEQ1MDBDRDM3
OUMgLyogRXZlbnREaXNwYXRjaGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEV2ZW50RGlzcGF0Y2hlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTQxOEMzOTUyMUM4REFDN0IwMDUxQzhBMyAvKiBET01XaW5kb3dGZXRjaC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dGZXRjaC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxOEMzOTUzMUM4REFDN0IwMDUxQzhBMyAvKiBET01XaW5k
b3dGZXRjaC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01XaW5kb3dGZXRj
aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MThDMzk1NDFDOERBQzdCMDA1MUM4
QTMgLyogRE9NV2luZG93RmV0Y2guaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTVdpbmRv
d0ZldGNoLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE4QzM5NTcxQzhERDY5
NjAwNTFDOEEzIC8qIFdvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxOEMzOTU4MUM4REQ2OTYwMDUxQzhBMyAvKiBXb3JrZXJH
bG9iYWxTY29wZUZldGNoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtl
ckdsb2JhbFNjb3BlRmV0Y2guaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE4QzM5
NTkxQzhERDY5NjAwNTFDOEEzIC8qIFdvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFdvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MThDMzk1QjFDOEYwQTYxMDA1MUM4QTMgLyogUmVhZGFibGVTdHJl
YW1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJl
YW1Tb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4QzM5NUMxQzhGMEE2
MTAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtU291cmNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBSZWFkYWJsZVN0cmVhbVNvdXJjZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxOEMzOTVEMUM4RjBBQUIwMDUxQzhBMyAvKiBKU1JlYWRhYmxlU3RyZWFtU291cmNlQ3Vz
dG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVhZGFibGVT
dHJlYW1Tb3VyY2VDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAx
MzcsNiArMTAxMzEsOSBAQAogCQk3QzJENzIyOTI1MDgzOEIwMDA1Mzk2NjIgLyogR2xvYmFsRXZl
bnRIYW5kbGVyc0NTU1RyYW5zaXRpb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHbG9iYWxFdmVudEhhbmRsZXJzQ1NT
VHJhbnNpdGlvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzJENzIyQzI1
MDgzOTYzMDA1Mzk2NjIgLyogR2xvYmFsRXZlbnRIYW5kbGVyc0NTU0FuaW1hdGlvbnMuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IEdsb2JhbEV2ZW50SGFuZGxlcnNDU1NBbmltYXRpb25zLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJN0MyRDcyMkUyNTA4M0EzNDAwNTM5NjYyIC8qIEdsb2JhbEV2ZW50SGFu
ZGxlcnNQb2ludGVyRXZlbnRzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHbG9iYWxFdmVudEhhbmRsZXJzUG9pbnRlckV2
ZW50cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMkUwQkNGMjUxMDZBQzQw
MDVGM0M4NyAvKiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTdDMkUwQkQwMjUxMDZBQzQwMDVGM0M4NyAvKiBXaW5kb3dPcldvcmtlckdsb2Jh
bFNjb3BlRmV0Y2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2luZG93T3JXb3JrZXJHbG9iYWxT
Y29wZUZldGNoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MyRTBCRDEyNTEw
NkFDNDAwNUYzQzg3IC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0MyRkE2MEYxRUE5NUEzMjAwQTAzMTA4IC8qIFJlc291cmNlQ3J5cHRvZ3JhcGhp
Y0RpZ2VzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJj
ZUNyeXB0b2dyYXBoaWNEaWdlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
QzJGQTYxMDFFQTk1QTMyMDBBMDMxMDggLyogUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlQ3J5cHRvZ3JhcGhpY0Rp
Z2VzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzMwRDk3RTFGODE1QUMwMDAy
NjgzNTYgLyogSlNBYm9ydENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNBYm9ydENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTkxMTgsOSArMTkxMTUsNiBAQAogCQk0MUY1NEY3QzFDNTBDNEY2MDAzMzg0ODgg
LyogZmV0Y2ggKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJ
CTQxOEMzOTUyMUM4REFDN0IwMDUxQzhBMyAvKiBET01XaW5kb3dGZXRjaC5jcHAgKi8sCi0JCQkJ
NDE4QzM5NTMxQzhEQUM3QjAwNTFDOEEzIC8qIERPTVdpbmRvd0ZldGNoLmggKi8sCi0JCQkJNDE4
QzM5NTQxQzhEQUM3QjAwNTFDOEEzIC8qIERPTVdpbmRvd0ZldGNoLmlkbCAqLywKIAkJCQk0MUY1
NEY3RDFDNTBDNEY2MDAzMzg0ODggLyogRmV0Y2hCb2R5LmNwcCAqLywKIAkJCQk0MUY1NEY3RTFD
NTBDNEY2MDAzMzg0ODggLyogRmV0Y2hCb2R5LmggKi8sCiAJCQkJNDFGNTRGN0YxQzUwQzRGNjAw
MzM4NDg4IC8qIEZldGNoQm9keS5pZGwgKi8sCkBAIC0xOTE1NSw5ICsxOTE0OSw5IEBACiAJCQkJ
NDEzMDE1RDUxQzdCNTcwNDAwMDkxQzZFIC8qIEZldGNoUmVzcG9uc2UuY3BwICovLAogCQkJCTQx
MzAxNUQ2MUM3QjU3MDQwMDA5MUM2RSAvKiBGZXRjaFJlc3BvbnNlLmggKi8sCiAJCQkJNDEzMDE1
RDcxQzdCNTcwNDAwMDkxQzZFIC8qIEZldGNoUmVzcG9uc2UuaWRsICovLAotCQkJCTQxOEMzOTU3
MUM4REQ2OTYwMDUxQzhBMyAvKiBXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcCAqLywKLQkJCQk0
MThDMzk1ODFDOERENjk2MDA1MUM4QTMgLyogV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oICovLAot
CQkJCTQxOEMzOTU5MUM4REQ2OTYwMDUxQzhBMyAvKiBXb3JrZXJHbG9iYWxTY29wZUZldGNoLmlk
bCAqLywKKwkJCQk3QzJFMEJEMDI1MTA2QUM0MDA1RjNDODcgLyogV2luZG93T3JXb3JrZXJHbG9i
YWxTY29wZUZldGNoLmNwcCAqLywKKwkJCQk3QzJFMEJDRjI1MTA2QUM0MDA1RjNDODcgLyogV2lu
ZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmggKi8sCisJCQkJN0MyRTBCRDEyNTEwNkFDNDAw
NUYzQzg3IC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwgKi8sCiAJCQkpOwog
CQkJcGF0aCA9IGZldGNoOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
</data>
<flag name="commit-queue"
          id="424290"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408786</attachid>
            <date>2020-09-14 20:48:49 -0700</date>
            <delta_ts>2020-09-15 08:58:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216524-20200914204848.patch</filename>
            <type>text/plain</type>
            <size>39069</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTA5LTE0ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViSURMXSBVcGRhdGUgRmV0Y2gg
SURMcyB0byB1c2UgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZSBwYXJ0aWFsIG1peGluCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY1MjQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbV0lQXQorCisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRE9N
V2luZG93RmV0Y2guY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRE9NV2lu
ZG93RmV0Y2guaDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0Zl
dGNoLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5p
ZGw6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3RJbml0LmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
ZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2g6OmZldGNoKToKKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oOiBBZGRl
ZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRj
aC5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVG
ZXRjaC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxT
Y29wZUZldGNoLmg6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9i
YWxTY29wZUZldGNoLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjAtMDktMTQgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBUeXBlcyBvZiBQYW5uZXIu
c2V0UG9zaXRpb24oKSAvIHNldE9yaWVudGF0aW9uKCkgcGFyYW1ldGVycyBzaG91bGQgbm90IGJl
IHVucmVzdHJpY3RlZCBmbG9hdApJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI2
NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0yNjUsNyArMjY1LDYgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1
bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5pZGwKICAgICBNb2R1bGVzL2VudHJp
ZXNhcGkvSFRNTElucHV0RWxlbWVudEVudHJpZXNBUEkuaWRsCiAKLSAgICBNb2R1bGVzL2ZldGNo
L0RPTVdpbmRvd0ZldGNoLmlkbAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmlkbAogICAg
IE1vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZWZlcnJlclBvbGljeS5pZGwKQEAgLTI3Niw3ICsyNzUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUwogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0TW9kZS5pZGwKICAgICBN
b2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdFJlZGlyZWN0LmlkbAogICAgIE1vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5pZGwKLSAgICBNb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0
Y2guaWRsCisgICAgTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2gu
aWRsCiAKICAgICBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmlkbAogICAgIE1vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25Db29yZGluYXRlcy5pZGwKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAkocmV2aXNpb24gMjY3
MDcxKQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAko
d29ya2luZyBjb3B5KQpAQCAtOTQsNyArOTQsNiBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2Vu
dHJpZXNhcGkvRmlsZVN5CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5
c3RlbUVudHJ5Q2FsbGJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2VudHJpZXNhcGkv
RmlsZVN5c3RlbUZpbGVFbnRyeS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZW50cmllc2Fw
aS9IVE1MSW5wdXRFbGVtZW50RW50cmllc0FQSS5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
ZmV0Y2gvRE9NV2luZG93RmV0Y2guaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoQm9keS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlk
bAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9mZXRjaC9GZXRjaFJlZmVycmVyUG9saWN5LmlkbApA
QCAtMTA1LDcgKzEwNCw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1
ZXMKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0TW9kZS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0UmVkaXJlY3QuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsCi0kKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9nYW1lcGFkL0dhbWVwYWRCdXR0b24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2dh
bWVwYWQvR2FtZXBhZEV2ZW50LmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtb3V0cHV0LnhjZmlsZWxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI2NzA3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3JraW5nIGNvcHkpCkBA
IC00OTAsOCArNDkwLDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YgogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5k
b3cuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01X
aW5kb3dDYWNoZXMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RPTVdpbmRvd0NhY2hlcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvd0ZldGNoLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3dGZXRjaC5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvd0luZGV4ZWREYXRhYmFz
ZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9N
V2luZG93SW5kZXhlZERhdGFiYXNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93UXVvdGEuY3BwCkBAIC0yMzEyLDE0ICsyMzEwLDE0IEBA
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWIKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2luZG93RXZlbnRIYW5kbGVycy5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dpbmRvd09yV29y
a2VyR2xvYmFsU2NvcGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0
Y2guY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dp
bmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGUuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlckdsb2JhbFNjb3BlLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xv
YmFsU2NvcGVDYWNoZXMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKLSQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFs
U2NvcGVGZXRjaC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWRE
YXRhYmFzZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dvcmtlckxvY2F0aW9uLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShy
ZXZpc2lvbiAyNjcwNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3
b3JraW5nIGNvcHkpCkBAIC0xOTcsNyArMTk3LDYgQEAgSlNfQklORElOR19JRExTID0gXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRy
eS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbnRyaWVzYXBpL0hUTUxJbnB1dEVsZW1l
bnRFbnRyaWVzQVBJLmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRv
d0ZldGNoLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZWZlcnJlclBvbGljeS5pZGwgXApAQCAtMjA4
LDcgKzIwNyw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXF1ZXN0TW9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3RSZWRpcmVjdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlc3BvbnNlLmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL1dvcmtl
ckdsb2JhbFNjb3BlRmV0Y2guaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmV0Y2gvV2lu
ZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2dhbWVwYWQvR2FtZXBhZC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9nYW1lcGFkL0dh
bWVwYWRCdXR0b24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFk
RXZlbnQuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNjcwNzEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBN
b2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJpZXNDYWxsCiBNb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbUVudHJ5LmNwcAogTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxl
RW50cnkuY3BwCiBNb2R1bGVzL2VudHJpZXNhcGkvSFRNTElucHV0RWxlbWVudEVudHJpZXNBUEku
Y3BwCi1Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcAogTW9kdWxlcy9mZXRjaC9GZXRj
aEJvZHkuY3BwCiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1bWVyLmNwcAogTW9kdWxlcy9m
ZXRjaC9GZXRjaEJvZHlPd25lci5jcHAKQEAgLTU3LDcgKzU2LDcgQEAgTW9kdWxlcy9mZXRjaC9G
ZXRjaEhlYWRlcnMuY3BwCiBNb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAogTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlcXVlc3QuY3BwCiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCi1N
b2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwCitNb2R1bGVzL2ZldGNoL1dp
bmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2Vv
Tm90aWZpZXIuY3BwCiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcAogTW9kdWxl
cy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0yODE2LDcgKzI4MTUs
NiBAQCBKU0RPTVVSTC5jcHAKIEpTRE9NVVJMTWVkaWFTb3VyY2UuY3BwCiBKU0RPTVdpbmRvdy5j
cHAKIEpTRE9NV2luZG93Q2FjaGVzLmNwcAotSlNET01XaW5kb3dGZXRjaC5jcHAKIEpTRE9NV2lu
ZG93SW5kZXhlZERhdGFiYXNlLmNwcAogSlNET01XaW5kb3dRdW90YS5jcHAKIEpTRE9NV2luZG93
U3BlZWNoU3ludGhlc2lzLmNwcApAQCAtMzY1NywxMCArMzY1NSwxMCBAQCBKU1dlYlhSV2ViR0xM
YXllci5jcHAKIEpTV2hlZWxFdmVudC5jcHAKIEpTV2luZG93RXZlbnRIYW5kbGVycy5jcHAKIEpT
V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5jcHAKK0pTV2luZG93T3JXb3JrZXJHbG9iYWxTY29w
ZUZldGNoLmNwcAogSlNXb3JrZXIuY3BwCiBKU1dvcmtlckdsb2JhbFNjb3BlLmNwcAogSlNXb3Jr
ZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKLUpTV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKIEpT
V29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwCiBKU1dvcmtlckxvY2F0aW9uLmNw
cAogSlNXb3JrZXJOYXZpZ2F0b3IuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0RPTVdpbmRvd0ZldGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcAkocmV2aXNpb24gMjY3MDcxKQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5jcHAJKG5vbmV4aXN0ZW50KQpA
QCAtMSw3MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IENhbm9uIEluYy4KLSAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQsIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgcmVxdWlyZWQgdG8gYmUgbWV0Ogot
ICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2Yg
Q2Fub24gSW5jLiBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIENBTk9OIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBDQU5PTiBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAq
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJET01XaW5kb3dGZXRjaC5oIgotCi0jaW5j
bHVkZSAiRE9NV2luZG93LmgiCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJGZXRj
aFJlc3BvbnNlLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKLSNpbmNsdWRl
ICJKU0ZldGNoUmVzcG9uc2UuaCIKLSNpbmNsdWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIEZldGNoUmVzcG9uc2VQcm9taXNlID0gRE9N
UHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj47Ci0KLXZvaWQgRE9N
V2luZG93RmV0Y2g6OmZldGNoKERPTVdpbmRvdyYgd2luZG93LCBGZXRjaFJlcXVlc3Q6OkluZm8m
JiBpbnB1dCwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYgaW5pdCwgUmVmPERlZmVycmVkUHJvbWlzZT4m
JiBkZWZlcnJlZCkKLXsKLSAgICBGZXRjaFJlc3BvbnNlUHJvbWlzZSBwcm9taXNlID0gV1RGTW92
ZShkZWZlcnJlZCk7Ci0KLSAgICBhdXRvKiBkb2N1bWVudCA9IHdpbmRvdy5kb2N1bWVudCgpOwot
ICAgIGlmICghZG9jdW1lbnQpIHsKLSAgICAgICAgcHJvbWlzZS5yZWplY3QoSW52YWxpZFN0YXRl
RXJyb3IpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgYXV0byByZXF1ZXN0ID0gRmV0
Y2hSZXF1ZXN0OjpjcmVhdGUoKmRvY3VtZW50LCBXVEZNb3ZlKGlucHV0KSwgV1RGTW92ZShpbml0
KSk7Ci0gICAgaWYgKHJlcXVlc3QuaGFzRXhjZXB0aW9uKCkpIHsKLSAgICAgICAgcHJvbWlzZS5y
ZWplY3QocmVxdWVzdC5yZWxlYXNlRXhjZXB0aW9uKCkpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgRmV0Y2hSZXNwb25zZTo6ZmV0Y2goKmRvY3VtZW50LCByZXF1ZXN0LnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHVzZXJHZXN0dXJlVG9r
ZW4gPSBVc2VyR2VzdHVyZUluZGljYXRvcjo6Y3VycmVudFVzZXJHZXN0dXJlKCldKEV4Y2VwdGlv
bk9yPEZldGNoUmVzcG9uc2UmPiYmIHJlc3VsdCkgbXV0YWJsZSB7Ci0gICAgICAgIGlmICghdXNl
ckdlc3R1cmVUb2tlbiB8fCB1c2VyR2VzdHVyZVRva2VuLT5oYXNFeHBpcmVkKFVzZXJHZXN0dXJl
VG9rZW46Om1heGltdW1JbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZ0ZvckZldGNoKCkp
IHx8ICF1c2VyR2VzdHVyZVRva2VuLT5wcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgewotICAgICAg
ICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgfQotCi0gICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRp
Y2F0b3IodXNlckdlc3R1cmVUb2tlbiwgVXNlckdlc3R1cmVUb2tlbjo6R2VzdHVyZVNjb3BlOjpN
ZWRpYU9ubHksIFVzZXJHZXN0dXJlVG9rZW46OklzUHJvcGFnYXRlZEZyb21GZXRjaDo6WWVzKTsK
LSAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsKLSAgICB9KTsKLX0KLQot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9ET01XaW5kb3dGZXRjaC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRE9NV2luZG93RmV0Y2guaAkocmV2aXNpb24gMjY3MDcxKQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5oCShub25leGlzdGVudCkKQEAgLTEsNDQg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBDYW5vbiBJbmMuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQsIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgcmVxdWlyZWQgdG8gYmUgbWV0OgotICoKLSAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQ2Fub24g
SW5jLiBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIENBTk9OIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBDQU5PTiBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFn
bWEgb25jZQotCi0jaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0LmgiCi0jaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBEZWZlcnJlZFByb21pc2U7Ci1j
bGFzcyBET01XaW5kb3c7Ci0KLWNsYXNzIERPTVdpbmRvd0ZldGNoIHsKLXB1YmxpYzoKLSAgICBz
dGF0aWMgdm9pZCBmZXRjaChET01XaW5kb3cmLCBGZXRjaFJlcXVlc3Q6OkluZm8mJiwgRmV0Y2hS
ZXF1ZXN0OjpJbml0JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotfTsKLQotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5k
b3dGZXRjaC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9E
T01XaW5kb3dGZXRjaC5pZGwJKHJldmlzaW9uIDI2NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guaWRsCShub25leGlzdGVudCkKQEAgLTEsMzYgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBDYW5vbiBJbmMuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQsIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgcmVxdWlyZWQgdG8gYmUgbWV0OgotICoKLSAqIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQ2Fub24gSW5j
LiBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIENBTk9OIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBDQU5PTiBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
LSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLXR5cGVkZWYg
KEZldGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwotCi1bCi0gICAgRW5hYmxl
ZEF0UnVudGltZT1GZXRjaEFQSSwKLSAgICBJbXBsZW1lbnRlZEJ5PURPTVdpbmRvd0ZldGNoCi1d
IHBhcnRpYWwgaW50ZXJmYWNlIERPTVdpbmRvdyB7Ci0gICAgUHJvbWlzZTxGZXRjaFJlc3BvbnNl
PiBmZXRjaChSZXF1ZXN0SW5mbyBpbnB1dCwgb3B0aW9uYWwgRmV0Y2hSZXF1ZXN0SW5pdCBpbml0
KTsKLX07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVl
c3QuaWRsCShyZXZpc2lvbiAyNjcwNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDggKzMwLDYgQEAgZW51bSBG
ZXRjaFJlcXVlc3REZXN0aW5hdGlvbiB7ICIiLCAiYXVkaQogCiB0eXBlZGVmIChGZXRjaFJlcXVl
c3Qgb3IgVVNWU3RyaW5nKSBSZXF1ZXN0SW5mbzsKIAotdHlwZWRlZiAoQmxvYiBvciBCdWZmZXJT
b3VyY2Ugb3IgRE9NRm9ybURhdGEgb3IgVVJMU2VhcmNoUGFyYW1zIG9yIFJlYWRhYmxlU3RyZWFt
IG9yIFVTVlN0cmluZykgQm9keUluaXQ7Ci0KIFsKICAgICBBY3RpdmVET01PYmplY3QsCiAgICAg
RW5hYmxlZEF0UnVudGltZT1GZXRjaEFQSSwKQEAgLTU0LDYgKzUyLDEwIEBAIHR5cGVkZWYgKEJs
b2Igb3IgQnVmZmVyU291cmNlIG9yIERPTUZvcm0KICAgICByZWFkb25seSBhdHRyaWJ1dGUgRmV0
Y2hSZXF1ZXN0UmVkaXJlY3QgcmVkaXJlY3Q7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBpbnRlZ3JpdHk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9RmV0Y2hBUElLZWVwQWxpdmVd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGtlZXBhbGl2ZTsKKyAgICAvLyBGSVhNRTogSW1w
bGVtZW50ICdpc1JlbG9hZE5hdmlnYXRpb24nLgorICAgIC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIGlzUmVsb2FkTmF2aWdhdGlvbjsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50ICdpc0hp
c3RvcnlOYXZpZ2F0aW9uJy4KKyAgICAvLyByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0hp
c3RvcnlOYXZpZ2F0aW9uOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBYm9ydFNpZ25hbCBzaWdu
YWw7CiAKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNl
cHRpb24sIE5ld09iamVjdF0gRmV0Y2hSZXF1ZXN0IGNsb25lKCk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdEluaXQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0SW5pdC5pZGwJKHJldmlzaW9u
IDI2NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0SW5p
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDcgQEAgZGljdGlvbmFyeSBGZXRjaFJl
cXVlc3RJbml0IHsKICAgICBGZXRjaFJlcXVlc3RSZWRpcmVjdCByZWRpcmVjdDsKICAgICBET01T
dHJpbmcgaW50ZWdyaXR5OwogICAgIGJvb2xlYW4ga2VlcGFsaXZlOworICAgIC8vIEZJWE1FOiAn
c2lnbmFsJyBzaG91bGQgYmUgb2YgdHlwZSBBYm9ydFNpZ25hbD8uCiAgICAgYW55IHNpZ25hbDsK
ICAgICBhbnkgd2luZG93OyAvLyBjYW4gb25seSBiZSBzZXQgdG8gbnVsbAogfTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbAkocmV2aXNp
b24gMjY3MDcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNl
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTcsOCArNTcsNiBAQCBkaWN0aW9uYXJ5IEZldGNoUmVz
cG9uc2VJbml0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBvazsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgQnl0ZVN0cmluZyBzdGF0dXNUZXh0OwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBGZXRjaEhlYWRlcnMgaGVhZGVyczsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9iamVj
dF0uCi0gICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciB0cmFpbGVycy4KLSAgICAvLyByZWFk
b25seSBhdHRyaWJ1dGUgUHJvbWlzZTxIZWFkZXJzPiB0cmFpbGVyOwogCiAgICAgW0NhbGxXaXRo
PVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIEZl
dGNoUmVzcG9uc2UgY2xvbmUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2gu
Y3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV2luZG93
T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldpbmRvd09y
V29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oIgorCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGZXRjaFJlc3BvbnNlLmgiCisjaW5jbHVkZSAi
SlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJKU0ZldGNoUmVzcG9uc2UuaCIKKyNp
bmNsdWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgorI2luY2x1ZGUgIldvcmtlckdsb2JhbFNj
b3BlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgRmV0Y2hSZXNwb25zZVByb21p
c2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+PjsKKwor
dm9pZCBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2g6OmZldGNoKERPTVdpbmRvdyYgd2lu
ZG93LCBGZXRjaFJlcXVlc3Q6OkluZm8mJiBpbnB1dCwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYgaW5p
dCwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBkZWZlcnJlZCkKK3sKKyAgICBGZXRjaFJlc3BvbnNl
UHJvbWlzZSBwcm9taXNlID0gV1RGTW92ZShkZWZlcnJlZCk7CisKKyAgICBhdXRvKiBkb2N1bWVu
dCA9IHdpbmRvdy5kb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpIHsKKyAgICAgICAgcHJv
bWlzZS5yZWplY3QoSW52YWxpZFN0YXRlRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgYXV0byByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoKmRvY3VtZW50LCBXVEZN
b3ZlKGlucHV0KSwgV1RGTW92ZShpbml0KSk7CisgICAgaWYgKHJlcXVlc3QuaGFzRXhjZXB0aW9u
KCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QocmVxdWVzdC5yZWxlYXNlRXhjZXB0aW9uKCkp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgRmV0Y2hSZXNwb25zZTo6ZmV0Y2goKmRv
Y3VtZW50LCByZXF1ZXN0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBbcHJvbWlzZSA9IFdURk1vdmUo
cHJvbWlzZSksIHVzZXJHZXN0dXJlVG9rZW4gPSBVc2VyR2VzdHVyZUluZGljYXRvcjo6Y3VycmVu
dFVzZXJHZXN0dXJlKCldKEV4Y2VwdGlvbk9yPEZldGNoUmVzcG9uc2UmPiYmIHJlc3VsdCkgbXV0
YWJsZSB7CisgICAgICAgIGlmICghdXNlckdlc3R1cmVUb2tlbiB8fCB1c2VyR2VzdHVyZVRva2Vu
LT5oYXNFeHBpcmVkKFVzZXJHZXN0dXJlVG9rZW46Om1heGltdW1JbnRlcnZhbEZvclVzZXJHZXN0
dXJlRm9yd2FyZGluZ0ZvckZldGNoKCkpIHx8ICF1c2VyR2VzdHVyZVRva2VuLT5wcm9jZXNzaW5n
VXNlckdlc3R1cmUoKSkgeworICAgICAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1
bHQpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIFVzZXJHZXN0
dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNlckdlc3R1cmVUb2tlbiwgVXNlckdlc3R1
cmVUb2tlbjo6R2VzdHVyZVNjb3BlOjpNZWRpYU9ubHksIFVzZXJHZXN0dXJlVG9rZW46OklzUHJv
cGFnYXRlZEZyb21GZXRjaDo6WWVzKTsKKyAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShy
ZXN1bHQpKTsKKyAgICB9KTsKK30KKwordm9pZCBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0
Y2g6OmZldGNoKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSwgRmV0Y2hSZXF1ZXN0OjpJbmZvJiYg
aW5wdXQsIEZldGNoUmVxdWVzdDo6SW5pdCYmIGluaXQsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
ZGVmZXJyZWQpCit7CisgICAgRmV0Y2hSZXNwb25zZVByb21pc2UgcHJvbWlzZSA9IFdURk1vdmUo
ZGVmZXJyZWQpOworCisgICAgYXV0byByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoc2Nv
cGUsIFdURk1vdmUoaW5wdXQpLCBXVEZNb3ZlKGluaXQpKTsKKyAgICBpZiAocmVxdWVzdC5oYXNF
eGNlcHRpb24oKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChyZXF1ZXN0LnJlbGVhc2VFeGNl
cHRpb24oKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBGZXRjaFJlc3BvbnNlOjpm
ZXRjaChzY29wZSwgcmVxdWVzdC5yZWxlYXNlUmV0dXJuVmFsdWUoKS5nZXQoKSwgW3Byb21pc2Ug
PSBXVEZNb3ZlKHByb21pc2UpXShFeGNlcHRpb25PcjxGZXRjaFJlc3BvbnNlJj4mJiByZXN1bHQp
IG11dGFibGUgeworICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOworICAg
IH0pOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09y
V29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmgJKG5vbmV4aXN0ZW50
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNj
b3BlRmV0Y2guaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBET01XaW5kb3c7CitjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFz
cyBXb3JrZXJHbG9iYWxTY29wZTsKKworY2xhc3MgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZl
dGNoIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCBmZXRjaChET01XaW5kb3cmLCBGZXRjaFJl
cXVlc3Q6OkluZm8mJiwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+
JiYpOworICAgIHN0YXRpYyB2b2lkIGZldGNoKFdvcmtlckdsb2JhbFNjb3BlJiwgRmV0Y2hSZXF1
ZXN0OjpJbmZvJiYsIEZldGNoUmVxdWVzdDo6SW5pdCYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
KTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGVGZXRjaC5pZGwJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCit0eXBlZGVmIChGZXRjaFJlcXVlc3Qgb3IgVVNWU3Ry
aW5nKSBSZXF1ZXN0SW5mbworCisvLyBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jZmV0
Y2gtbWV0aG9kCitbCisgICAgRW5hYmxlZEF0UnVudGltZT1GZXRjaEFQSSwKKyAgICBJbXBsZW1l
bnRlZEJ5PVdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaAorXSBwYXJ0aWFsIGludGVyZmFj
ZSBtaXhpbiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlIHsKKyAgICBbTmV3T2JqZWN0XSBQcm9t
aXNlPEZldGNoUmVzcG9uc2U+IGZldGNoKFJlcXVlc3RJbmZvIGlucHV0LCBvcHRpb25hbCBGZXRj
aFJlcXVlc3RJbml0IGluaXQpOworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAkocmV2aXNpb24gMjY3
MDcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZl
dGNoLmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTYgQ2Fub24gSW5jLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkLCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIHJlcXVpcmVkIHRvIGJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
IDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIENhbm9uIEluYy4gbm9yIHRoZSBuYW1lcyBvZgotICog
ICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBDQU5PTiBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQot
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQ0FOT04gSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SCi0gKiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICogU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0gKiBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAi
V29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oIgotCi0jaW5jbHVkZSAiRmV0Y2hSZXNwb25zZS5oIgot
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCi0jaW5jbHVkZSAiSlNGZXRjaFJlc3Bv
bnNlLmgiCi0jaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi11c2luZyBGZXRjaFJlc3BvbnNlUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJ
RExJbnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+OwotCi12b2lkIFdvcmtlckdsb2JhbFNjb3BlRmV0
Y2g6OmZldGNoKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSwgRmV0Y2hSZXF1ZXN0OjpJbmZvJiYg
aW5wdXQsIEZldGNoUmVxdWVzdDo6SW5pdCYmIGluaXQsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
ZGVmZXJyZWQpCi17Ci0gICAgRmV0Y2hSZXNwb25zZVByb21pc2UgcHJvbWlzZSA9IFdURk1vdmUo
ZGVmZXJyZWQpOwotCi0gICAgYXV0byByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoc2Nv
cGUsIFdURk1vdmUoaW5wdXQpLCBXVEZNb3ZlKGluaXQpKTsKLSAgICBpZiAocmVxdWVzdC5oYXNF
eGNlcHRpb24oKSkgewotICAgICAgICBwcm9taXNlLnJlamVjdChyZXF1ZXN0LnJlbGVhc2VFeGNl
cHRpb24oKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBGZXRjaFJlc3BvbnNlOjpm
ZXRjaChzY29wZSwgcmVxdWVzdC5yZWxlYXNlUmV0dXJuVmFsdWUoKS5nZXQoKSwgW3Byb21pc2Ug
PSBXVEZNb3ZlKHByb21pc2UpXShFeGNlcHRpb25PcjxGZXRjaFJlc3BvbnNlJj4mJiByZXN1bHQp
IG11dGFibGUgewotICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOwotICAg
IH0pOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaAkocmV2aXNp
b24gMjY3MDcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxT
Y29wZUZldGNoLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MyArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE2IENhbm9uIEluYy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSByZXF1aXJlZCB0byBiZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBDYW5vbiBJbmMuIG5vciB0aGUgbmFtZXMgb2YK
LSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQ0FOT04gSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIENBTk9OIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUgotICogQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJG
ZXRjaFJlcXVlc3QuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBEZWZlcnJlZFBy
b21pc2U7Ci1jbGFzcyBXb3JrZXJHbG9iYWxTY29wZTsKLQotY2xhc3MgV29ya2VyR2xvYmFsU2Nv
cGVGZXRjaCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIHZvaWQgZmV0Y2goV29ya2VyR2xvYmFsU2Nv
cGUmLCBGZXRjaFJlcXVlc3Q6OkluZm8mJiwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYpOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3Bl
RmV0Y2guaWRsCShyZXZpc2lvbiAyNjcwNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsCShub25leGlzdGVudCkKQEAgLTEsMzYgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBDYW5vbiBJbmMuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQsIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgcmVxdWlyZWQgdG8gYmUgbWV0OgotICoKLSAqIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQ2Fub24gSW5j
LiBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIENBTk9OIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBDQU5PTiBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
LSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLXR5cGVkZWYg
KEZldGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwotCi1bCi0gICAgRW5hYmxl
ZEF0UnVudGltZT1GZXRjaEFQSSwKLSAgICBJbXBsZW1lbnRlZEJ5PVdvcmtlckdsb2JhbFNjb3Bl
RmV0Y2gKLV0gcGFydGlhbCBpbnRlcmZhY2UgV29ya2VyR2xvYmFsU2NvcGUgewotICAgIFByb21p
c2U8RmV0Y2hSZXNwb25zZT4gZmV0Y2goUmVxdWVzdEluZm8gaW5wdXQsIG9wdGlvbmFsIEZldGNo
UmVxdWVzdEluaXQgaW5pdCk7Ci19OwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY3MDcxKQorKysgU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC03NjIzLDEyICs3NjIzLDYgQEAKIAkJNDE4OTM4QUYyNDI5RjlBQjAwN0ZEQzQxIC8qIFJl
dHJpZXZlUmVjb3Jkc09wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmV0cmlldmVSZWNvcmRzT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MThBMDZDRTEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50RGlzcGF0Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MThBMDZDRjEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50RGlzcGF0Y2hl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxOEMzOTUyMUM4REFDN0IwMDUx
QzhBMyAvKiBET01XaW5kb3dGZXRjaC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBET01XaW5kb3dGZXRjaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTQxOEMzOTUzMUM4REFDN0IwMDUxQzhBMyAvKiBET01XaW5kb3dGZXRjaC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBET01XaW5kb3dGZXRjaC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk0MThDMzk1NDFDOERBQzdCMDA1MUM4QTMgLyogRE9NV2luZG93RmV0Y2gu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTVdpbmRvd0ZldGNoLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE4QzM5NTcxQzhERDY5NjAwNTFDOEEzIC8qIFdvcmtlckds
b2JhbFNjb3BlRmV0Y2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTQxOEMzOTU4MUM4REQ2OTYwMDUxQzhBMyAvKiBXb3JrZXJHbG9iYWxTY29wZUZldGNoLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlckdsb2JhbFNjb3BlRmV0Y2guaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE4QzM5NTkxQzhERDY5NjAwNTFDOEEzIC8q
IFdvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdvcmtl
ckdsb2JhbFNjb3BlRmV0Y2guaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MThD
Mzk1QjFDOEYwQTYxMDA1MUM4QTMgLyogUmVhZGFibGVTdHJlYW1Tb3VyY2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1Tb3VyY2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4QzM5NUMxQzhGMEE2MTAwNTFDOEEzIC8qIFJlYWRhYmxl
U3RyZWFtU291cmNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZWFkYWJsZVN0cmVhbVNv
dXJjZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEMzOTVEMUM4RjBBQUIw
MDUxQzhBMyAvKiBKU1JlYWRhYmxlU3RyZWFtU291cmNlQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVhZGFibGVTdHJlYW1Tb3VyY2VDdXN0b20uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAxMzcsNiArMTAxMzEsOSBAQAogCQk3
QzJENzIyOTI1MDgzOEIwMDA1Mzk2NjIgLyogR2xvYmFsRXZlbnRIYW5kbGVyc0NTU1RyYW5zaXRp
b25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBHbG9iYWxFdmVudEhhbmRsZXJzQ1NTVHJhbnNpdGlvbnMuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzJENzIyQzI1MDgzOTYzMDA1Mzk2NjIgLyogR2xv
YmFsRXZlbnRIYW5kbGVyc0NTU0FuaW1hdGlvbnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdsb2JhbEV2ZW50SGFuZGxl
cnNDU1NBbmltYXRpb25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MyRDcy
MkUyNTA4M0EzNDAwNTM5NjYyIC8qIEdsb2JhbEV2ZW50SGFuZGxlcnNQb2ludGVyRXZlbnRzLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBHbG9iYWxFdmVudEhhbmRsZXJzUG9pbnRlckV2ZW50cy5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTdDMkUwQkNGMjUxMDZBQzQwMDVGM0M4NyAvKiBXaW5kb3dPcldv
cmtlckdsb2JhbFNjb3BlRmV0Y2guaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2luZG93T3JXb3JrZXJHbG9i
YWxTY29wZUZldGNoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMkUwQkQwMjUx
MDZBQzQwMDVGM0M4NyAvKiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MyRTBCRDEyNTEwNkFDNDAwNUYzQzg3IC8qIFdpbmRv
d09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2luZG93T3JXb3JrZXJHbG9iYWxT
Y29wZUZldGNoLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MyRkE2MEYxRUE5
NUEzMjAwQTAzMTA4IC8qIFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzJGQTYxMDFFQTk1QTMyMDBBMDMx
MDggLyogUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QzMwRDk3RTFGODE1QUMwMDAyNjgzNTYgLyogSlNBYm9ydENvbnRy
b2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBYm9ydENv
bnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTkxMTgsOSArMTkx
MTUsNiBAQAogCQk0MUY1NEY3QzFDNTBDNEY2MDAzMzg0ODggLyogZmV0Y2ggKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTQxOEMzOTUyMUM4REFDN0IwMDUx
QzhBMyAvKiBET01XaW5kb3dGZXRjaC5jcHAgKi8sCi0JCQkJNDE4QzM5NTMxQzhEQUM3QjAwNTFD
OEEzIC8qIERPTVdpbmRvd0ZldGNoLmggKi8sCi0JCQkJNDE4QzM5NTQxQzhEQUM3QjAwNTFDOEEz
IC8qIERPTVdpbmRvd0ZldGNoLmlkbCAqLywKIAkJCQk0MUY1NEY3RDFDNTBDNEY2MDAzMzg0ODgg
LyogRmV0Y2hCb2R5LmNwcCAqLywKIAkJCQk0MUY1NEY3RTFDNTBDNEY2MDAzMzg0ODggLyogRmV0
Y2hCb2R5LmggKi8sCiAJCQkJNDFGNTRGN0YxQzUwQzRGNjAwMzM4NDg4IC8qIEZldGNoQm9keS5p
ZGwgKi8sCkBAIC0xOTE1NSw5ICsxOTE0OSw5IEBACiAJCQkJNDEzMDE1RDUxQzdCNTcwNDAwMDkx
QzZFIC8qIEZldGNoUmVzcG9uc2UuY3BwICovLAogCQkJCTQxMzAxNUQ2MUM3QjU3MDQwMDA5MUM2
RSAvKiBGZXRjaFJlc3BvbnNlLmggKi8sCiAJCQkJNDEzMDE1RDcxQzdCNTcwNDAwMDkxQzZFIC8q
IEZldGNoUmVzcG9uc2UuaWRsICovLAotCQkJCTQxOEMzOTU3MUM4REQ2OTYwMDUxQzhBMyAvKiBX
b3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcCAqLywKLQkJCQk0MThDMzk1ODFDOERENjk2MDA1MUM4
QTMgLyogV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oICovLAotCQkJCTQxOEMzOTU5MUM4REQ2OTYw
MDUxQzhBMyAvKiBXb3JrZXJHbG9iYWxTY29wZUZldGNoLmlkbCAqLywKKwkJCQk3QzJFMEJEMDI1
MTA2QUM0MDA1RjNDODcgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcCAqLywK
KwkJCQk3QzJFMEJDRjI1MTA2QUM0MDA1RjNDODcgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29w
ZUZldGNoLmggKi8sCisJCQkJN0MyRTBCRDEyNTEwNkFDNDAwNUYzQzg3IC8qIFdpbmRvd09yV29y
a2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwgKi8sCiAJCQkpOwogCQkJcGF0aCA9IGZldGNoOwogCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408820</attachid>
            <date>2020-09-15 08:58:18 -0700</date>
            <delta_ts>2020-09-15 09:10:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216524-20200915085818.patch</filename>
            <type>text/plain</type>
            <size>39070</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTA5LTE0ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViSURMXSBVcGRhdGUgRmV0Y2gg
SURMcyB0byB1c2UgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZSBwYXJ0aWFsIG1peGluCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY1MjQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbV0lQXQorCisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRE9N
V2luZG93RmV0Y2guY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRE9NV2lu
ZG93RmV0Y2guaDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0Zl
dGNoLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5p
ZGw6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3RJbml0LmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
ZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2g6OmZldGNoKToKKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oOiBBZGRl
ZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRj
aC5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVG
ZXRjaC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxT
Y29wZUZldGNoLmg6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9i
YWxTY29wZUZldGNoLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjAtMDktMTQgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBUeXBlcyBvZiBQYW5uZXIu
c2V0UG9zaXRpb24oKSAvIHNldE9yaWVudGF0aW9uKCkgcGFyYW1ldGVycyBzaG91bGQgbm90IGJl
IHVucmVzdHJpY3RlZCBmbG9hdApJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI2
NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0yNjUsNyArMjY1LDYgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1
bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5pZGwKICAgICBNb2R1bGVzL2VudHJp
ZXNhcGkvSFRNTElucHV0RWxlbWVudEVudHJpZXNBUEkuaWRsCiAKLSAgICBNb2R1bGVzL2ZldGNo
L0RPTVdpbmRvd0ZldGNoLmlkbAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmlkbAogICAg
IE1vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZWZlcnJlclBvbGljeS5pZGwKQEAgLTI3Niw3ICsyNzUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUwogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0TW9kZS5pZGwKICAgICBN
b2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdFJlZGlyZWN0LmlkbAogICAgIE1vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5pZGwKLSAgICBNb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0
Y2guaWRsCisgICAgTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2gu
aWRsCiAKICAgICBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmlkbAogICAgIE1vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25Db29yZGluYXRlcy5pZGwKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAkocmV2aXNpb24gMjY3
MDcxKQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAko
d29ya2luZyBjb3B5KQpAQCAtOTQsNyArOTQsNiBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2Vu
dHJpZXNhcGkvRmlsZVN5CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5
c3RlbUVudHJ5Q2FsbGJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2VudHJpZXNhcGkv
RmlsZVN5c3RlbUZpbGVFbnRyeS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZW50cmllc2Fw
aS9IVE1MSW5wdXRFbGVtZW50RW50cmllc0FQSS5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
ZmV0Y2gvRE9NV2luZG93RmV0Y2guaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoQm9keS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlk
bAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9mZXRjaC9GZXRjaFJlZmVycmVyUG9saWN5LmlkbApA
QCAtMTA1LDcgKzEwNCw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1
ZXMKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0TW9kZS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0UmVkaXJlY3QuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsCi0kKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9nYW1lcGFkL0dhbWVwYWRCdXR0b24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2dh
bWVwYWQvR2FtZXBhZEV2ZW50LmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtb3V0cHV0LnhjZmlsZWxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI2NzA3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3JraW5nIGNvcHkpCkBA
IC00OTAsOCArNDkwLDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YgogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5k
b3cuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01X
aW5kb3dDYWNoZXMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RPTVdpbmRvd0NhY2hlcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvd0ZldGNoLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3dGZXRjaC5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvd0luZGV4ZWREYXRhYmFz
ZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9N
V2luZG93SW5kZXhlZERhdGFiYXNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93UXVvdGEuY3BwCkBAIC0yMzEyLDE0ICsyMzEwLDE0IEBA
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWIKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2luZG93RXZlbnRIYW5kbGVycy5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dpbmRvd09yV29y
a2VyR2xvYmFsU2NvcGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0
Y2guY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dp
bmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGUuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlckdsb2JhbFNjb3BlLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xv
YmFsU2NvcGVDYWNoZXMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKLSQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFs
U2NvcGVGZXRjaC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWRE
YXRhYmFzZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dvcmtlckxvY2F0aW9uLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShy
ZXZpc2lvbiAyNjcwNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3
b3JraW5nIGNvcHkpCkBAIC0xOTcsNyArMTk3LDYgQEAgSlNfQklORElOR19JRExTID0gXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRy
eS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbnRyaWVzYXBpL0hUTUxJbnB1dEVsZW1l
bnRFbnRyaWVzQVBJLmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRv
d0ZldGNoLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZWZlcnJlclBvbGljeS5pZGwgXApAQCAtMjA4
LDcgKzIwNyw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXF1ZXN0TW9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3RSZWRpcmVjdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlc3BvbnNlLmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL1dvcmtl
ckdsb2JhbFNjb3BlRmV0Y2guaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmV0Y2gvV2lu
ZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2dhbWVwYWQvR2FtZXBhZC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9nYW1lcGFkL0dh
bWVwYWRCdXR0b24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFk
RXZlbnQuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNjcwNzEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBN
b2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJpZXNDYWxsCiBNb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbUVudHJ5LmNwcAogTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxl
RW50cnkuY3BwCiBNb2R1bGVzL2VudHJpZXNhcGkvSFRNTElucHV0RWxlbWVudEVudHJpZXNBUEku
Y3BwCi1Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcAogTW9kdWxlcy9mZXRjaC9GZXRj
aEJvZHkuY3BwCiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1bWVyLmNwcAogTW9kdWxlcy9m
ZXRjaC9GZXRjaEJvZHlPd25lci5jcHAKQEAgLTU3LDcgKzU2LDcgQEAgTW9kdWxlcy9mZXRjaC9G
ZXRjaEhlYWRlcnMuY3BwCiBNb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAogTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlcXVlc3QuY3BwCiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCi1N
b2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwCitNb2R1bGVzL2ZldGNoL1dp
bmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2Vv
Tm90aWZpZXIuY3BwCiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcAogTW9kdWxl
cy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0yODE2LDcgKzI4MTUs
NiBAQCBKU0RPTVVSTC5jcHAKIEpTRE9NVVJMTWVkaWFTb3VyY2UuY3BwCiBKU0RPTVdpbmRvdy5j
cHAKIEpTRE9NV2luZG93Q2FjaGVzLmNwcAotSlNET01XaW5kb3dGZXRjaC5jcHAKIEpTRE9NV2lu
ZG93SW5kZXhlZERhdGFiYXNlLmNwcAogSlNET01XaW5kb3dRdW90YS5jcHAKIEpTRE9NV2luZG93
U3BlZWNoU3ludGhlc2lzLmNwcApAQCAtMzY1NywxMCArMzY1NSwxMCBAQCBKU1dlYlhSV2ViR0xM
YXllci5jcHAKIEpTV2hlZWxFdmVudC5jcHAKIEpTV2luZG93RXZlbnRIYW5kbGVycy5jcHAKIEpT
V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5jcHAKK0pTV2luZG93T3JXb3JrZXJHbG9iYWxTY29w
ZUZldGNoLmNwcAogSlNXb3JrZXIuY3BwCiBKU1dvcmtlckdsb2JhbFNjb3BlLmNwcAogSlNXb3Jr
ZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKLUpTV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKIEpT
V29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwCiBKU1dvcmtlckxvY2F0aW9uLmNw
cAogSlNXb3JrZXJOYXZpZ2F0b3IuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0RPTVdpbmRvd0ZldGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcAkocmV2aXNpb24gMjY3MDcxKQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5jcHAJKG5vbmV4aXN0ZW50KQpA
QCAtMSw3MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IENhbm9uIEluYy4KLSAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQsIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgcmVxdWlyZWQgdG8gYmUgbWV0Ogot
ICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2Yg
Q2Fub24gSW5jLiBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIENBTk9OIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBDQU5PTiBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAq
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJET01XaW5kb3dGZXRjaC5oIgotCi0jaW5j
bHVkZSAiRE9NV2luZG93LmgiCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJGZXRj
aFJlc3BvbnNlLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKLSNpbmNsdWRl
ICJKU0ZldGNoUmVzcG9uc2UuaCIKLSNpbmNsdWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIEZldGNoUmVzcG9uc2VQcm9taXNlID0gRE9N
UHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj47Ci0KLXZvaWQgRE9N
V2luZG93RmV0Y2g6OmZldGNoKERPTVdpbmRvdyYgd2luZG93LCBGZXRjaFJlcXVlc3Q6OkluZm8m
JiBpbnB1dCwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYgaW5pdCwgUmVmPERlZmVycmVkUHJvbWlzZT4m
JiBkZWZlcnJlZCkKLXsKLSAgICBGZXRjaFJlc3BvbnNlUHJvbWlzZSBwcm9taXNlID0gV1RGTW92
ZShkZWZlcnJlZCk7Ci0KLSAgICBhdXRvKiBkb2N1bWVudCA9IHdpbmRvdy5kb2N1bWVudCgpOwot
ICAgIGlmICghZG9jdW1lbnQpIHsKLSAgICAgICAgcHJvbWlzZS5yZWplY3QoSW52YWxpZFN0YXRl
RXJyb3IpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgYXV0byByZXF1ZXN0ID0gRmV0
Y2hSZXF1ZXN0OjpjcmVhdGUoKmRvY3VtZW50LCBXVEZNb3ZlKGlucHV0KSwgV1RGTW92ZShpbml0
KSk7Ci0gICAgaWYgKHJlcXVlc3QuaGFzRXhjZXB0aW9uKCkpIHsKLSAgICAgICAgcHJvbWlzZS5y
ZWplY3QocmVxdWVzdC5yZWxlYXNlRXhjZXB0aW9uKCkpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgRmV0Y2hSZXNwb25zZTo6ZmV0Y2goKmRvY3VtZW50LCByZXF1ZXN0LnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHVzZXJHZXN0dXJlVG9r
ZW4gPSBVc2VyR2VzdHVyZUluZGljYXRvcjo6Y3VycmVudFVzZXJHZXN0dXJlKCldKEV4Y2VwdGlv
bk9yPEZldGNoUmVzcG9uc2UmPiYmIHJlc3VsdCkgbXV0YWJsZSB7Ci0gICAgICAgIGlmICghdXNl
ckdlc3R1cmVUb2tlbiB8fCB1c2VyR2VzdHVyZVRva2VuLT5oYXNFeHBpcmVkKFVzZXJHZXN0dXJl
VG9rZW46Om1heGltdW1JbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZ0ZvckZldGNoKCkp
IHx8ICF1c2VyR2VzdHVyZVRva2VuLT5wcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgewotICAgICAg
ICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgfQotCi0gICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRp
Y2F0b3IodXNlckdlc3R1cmVUb2tlbiwgVXNlckdlc3R1cmVUb2tlbjo6R2VzdHVyZVNjb3BlOjpN
ZWRpYU9ubHksIFVzZXJHZXN0dXJlVG9rZW46OklzUHJvcGFnYXRlZEZyb21GZXRjaDo6WWVzKTsK
LSAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsKLSAgICB9KTsKLX0KLQot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9ET01XaW5kb3dGZXRjaC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRE9NV2luZG93RmV0Y2guaAkocmV2aXNpb24gMjY3MDcxKQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5oCShub25leGlzdGVudCkKQEAgLTEsNDQg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBDYW5vbiBJbmMuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQsIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgcmVxdWlyZWQgdG8gYmUgbWV0OgotICoKLSAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQ2Fub24g
SW5jLiBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIENBTk9OIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBDQU5PTiBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFn
bWEgb25jZQotCi0jaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0LmgiCi0jaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBEZWZlcnJlZFByb21pc2U7Ci1j
bGFzcyBET01XaW5kb3c7Ci0KLWNsYXNzIERPTVdpbmRvd0ZldGNoIHsKLXB1YmxpYzoKLSAgICBz
dGF0aWMgdm9pZCBmZXRjaChET01XaW5kb3cmLCBGZXRjaFJlcXVlc3Q6OkluZm8mJiwgRmV0Y2hS
ZXF1ZXN0OjpJbml0JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotfTsKLQotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5k
b3dGZXRjaC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9E
T01XaW5kb3dGZXRjaC5pZGwJKHJldmlzaW9uIDI2NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guaWRsCShub25leGlzdGVudCkKQEAgLTEsMzYgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBDYW5vbiBJbmMuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQsIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgcmVxdWlyZWQgdG8gYmUgbWV0OgotICoKLSAqIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQ2Fub24gSW5j
LiBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIENBTk9OIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBDQU5PTiBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
LSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLXR5cGVkZWYg
KEZldGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwotCi1bCi0gICAgRW5hYmxl
ZEF0UnVudGltZT1GZXRjaEFQSSwKLSAgICBJbXBsZW1lbnRlZEJ5PURPTVdpbmRvd0ZldGNoCi1d
IHBhcnRpYWwgaW50ZXJmYWNlIERPTVdpbmRvdyB7Ci0gICAgUHJvbWlzZTxGZXRjaFJlc3BvbnNl
PiBmZXRjaChSZXF1ZXN0SW5mbyBpbnB1dCwgb3B0aW9uYWwgRmV0Y2hSZXF1ZXN0SW5pdCBpbml0
KTsKLX07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVl
c3QuaWRsCShyZXZpc2lvbiAyNjcwNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDggKzMwLDYgQEAgZW51bSBG
ZXRjaFJlcXVlc3REZXN0aW5hdGlvbiB7ICIiLCAiYXVkaQogCiB0eXBlZGVmIChGZXRjaFJlcXVl
c3Qgb3IgVVNWU3RyaW5nKSBSZXF1ZXN0SW5mbzsKIAotdHlwZWRlZiAoQmxvYiBvciBCdWZmZXJT
b3VyY2Ugb3IgRE9NRm9ybURhdGEgb3IgVVJMU2VhcmNoUGFyYW1zIG9yIFJlYWRhYmxlU3RyZWFt
IG9yIFVTVlN0cmluZykgQm9keUluaXQ7Ci0KIFsKICAgICBBY3RpdmVET01PYmplY3QsCiAgICAg
RW5hYmxlZEF0UnVudGltZT1GZXRjaEFQSSwKQEAgLTU0LDYgKzUyLDEwIEBAIHR5cGVkZWYgKEJs
b2Igb3IgQnVmZmVyU291cmNlIG9yIERPTUZvcm0KICAgICByZWFkb25seSBhdHRyaWJ1dGUgRmV0
Y2hSZXF1ZXN0UmVkaXJlY3QgcmVkaXJlY3Q7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBpbnRlZ3JpdHk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9RmV0Y2hBUElLZWVwQWxpdmVd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGtlZXBhbGl2ZTsKKyAgICAvLyBGSVhNRTogSW1w
bGVtZW50ICdpc1JlbG9hZE5hdmlnYXRpb24nLgorICAgIC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIGlzUmVsb2FkTmF2aWdhdGlvbjsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50ICdpc0hp
c3RvcnlOYXZpZ2F0aW9uJy4KKyAgICAvLyByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0hp
c3RvcnlOYXZpZ2F0aW9uOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBYm9ydFNpZ25hbCBzaWdu
YWw7CiAKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNl
cHRpb24sIE5ld09iamVjdF0gRmV0Y2hSZXF1ZXN0IGNsb25lKCk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdEluaXQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0SW5pdC5pZGwJKHJldmlzaW9u
IDI2NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0SW5p
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDcgQEAgZGljdGlvbmFyeSBGZXRjaFJl
cXVlc3RJbml0IHsKICAgICBGZXRjaFJlcXVlc3RSZWRpcmVjdCByZWRpcmVjdDsKICAgICBET01T
dHJpbmcgaW50ZWdyaXR5OwogICAgIGJvb2xlYW4ga2VlcGFsaXZlOworICAgIC8vIEZJWE1FOiAn
c2lnbmFsJyBzaG91bGQgYmUgb2YgdHlwZSBBYm9ydFNpZ25hbD8uCiAgICAgYW55IHNpZ25hbDsK
ICAgICBhbnkgd2luZG93OyAvLyBjYW4gb25seSBiZSBzZXQgdG8gbnVsbAogfTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbAkocmV2aXNp
b24gMjY3MDcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNl
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTcsOCArNTcsNiBAQCBkaWN0aW9uYXJ5IEZldGNoUmVz
cG9uc2VJbml0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBvazsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgQnl0ZVN0cmluZyBzdGF0dXNUZXh0OwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBGZXRjaEhlYWRlcnMgaGVhZGVyczsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9iamVj
dF0uCi0gICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciB0cmFpbGVycy4KLSAgICAvLyByZWFk
b25seSBhdHRyaWJ1dGUgUHJvbWlzZTxIZWFkZXJzPiB0cmFpbGVyOwogCiAgICAgW0NhbGxXaXRo
PVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIEZl
dGNoUmVzcG9uc2UgY2xvbmUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2gu
Y3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV2luZG93
T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldpbmRvd09y
V29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oIgorCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGZXRjaFJlc3BvbnNlLmgiCisjaW5jbHVkZSAi
SlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJKU0ZldGNoUmVzcG9uc2UuaCIKKyNp
bmNsdWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgorI2luY2x1ZGUgIldvcmtlckdsb2JhbFNj
b3BlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgRmV0Y2hSZXNwb25zZVByb21p
c2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+PjsKKwor
dm9pZCBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2g6OmZldGNoKERPTVdpbmRvdyYgd2lu
ZG93LCBGZXRjaFJlcXVlc3Q6OkluZm8mJiBpbnB1dCwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYgaW5p
dCwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBkZWZlcnJlZCkKK3sKKyAgICBGZXRjaFJlc3BvbnNl
UHJvbWlzZSBwcm9taXNlID0gV1RGTW92ZShkZWZlcnJlZCk7CisKKyAgICBhdXRvKiBkb2N1bWVu
dCA9IHdpbmRvdy5kb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpIHsKKyAgICAgICAgcHJv
bWlzZS5yZWplY3QoSW52YWxpZFN0YXRlRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgYXV0byByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoKmRvY3VtZW50LCBXVEZN
b3ZlKGlucHV0KSwgV1RGTW92ZShpbml0KSk7CisgICAgaWYgKHJlcXVlc3QuaGFzRXhjZXB0aW9u
KCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QocmVxdWVzdC5yZWxlYXNlRXhjZXB0aW9uKCkp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgRmV0Y2hSZXNwb25zZTo6ZmV0Y2goKmRv
Y3VtZW50LCByZXF1ZXN0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBbcHJvbWlzZSA9IFdURk1vdmUo
cHJvbWlzZSksIHVzZXJHZXN0dXJlVG9rZW4gPSBVc2VyR2VzdHVyZUluZGljYXRvcjo6Y3VycmVu
dFVzZXJHZXN0dXJlKCldKEV4Y2VwdGlvbk9yPEZldGNoUmVzcG9uc2UmPiYmIHJlc3VsdCkgbXV0
YWJsZSB7CisgICAgICAgIGlmICghdXNlckdlc3R1cmVUb2tlbiB8fCB1c2VyR2VzdHVyZVRva2Vu
LT5oYXNFeHBpcmVkKFVzZXJHZXN0dXJlVG9rZW46Om1heGltdW1JbnRlcnZhbEZvclVzZXJHZXN0
dXJlRm9yd2FyZGluZ0ZvckZldGNoKCkpIHx8ICF1c2VyR2VzdHVyZVRva2VuLT5wcm9jZXNzaW5n
VXNlckdlc3R1cmUoKSkgeworICAgICAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1
bHQpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIFVzZXJHZXN0
dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNlckdlc3R1cmVUb2tlbiwgVXNlckdlc3R1
cmVUb2tlbjo6R2VzdHVyZVNjb3BlOjpNZWRpYU9ubHksIFVzZXJHZXN0dXJlVG9rZW46OklzUHJv
cGFnYXRlZEZyb21GZXRjaDo6WWVzKTsKKyAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShy
ZXN1bHQpKTsKKyAgICB9KTsKK30KKwordm9pZCBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0
Y2g6OmZldGNoKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSwgRmV0Y2hSZXF1ZXN0OjpJbmZvJiYg
aW5wdXQsIEZldGNoUmVxdWVzdDo6SW5pdCYmIGluaXQsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
ZGVmZXJyZWQpCit7CisgICAgRmV0Y2hSZXNwb25zZVByb21pc2UgcHJvbWlzZSA9IFdURk1vdmUo
ZGVmZXJyZWQpOworCisgICAgYXV0byByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoc2Nv
cGUsIFdURk1vdmUoaW5wdXQpLCBXVEZNb3ZlKGluaXQpKTsKKyAgICBpZiAocmVxdWVzdC5oYXNF
eGNlcHRpb24oKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChyZXF1ZXN0LnJlbGVhc2VFeGNl
cHRpb24oKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBGZXRjaFJlc3BvbnNlOjpm
ZXRjaChzY29wZSwgcmVxdWVzdC5yZWxlYXNlUmV0dXJuVmFsdWUoKS5nZXQoKSwgW3Byb21pc2Ug
PSBXVEZNb3ZlKHByb21pc2UpXShFeGNlcHRpb25PcjxGZXRjaFJlc3BvbnNlJj4mJiByZXN1bHQp
IG11dGFibGUgeworICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOworICAg
IH0pOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09y
V29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmgJKG5vbmV4aXN0ZW50
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNj
b3BlRmV0Y2guaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBET01XaW5kb3c7CitjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFz
cyBXb3JrZXJHbG9iYWxTY29wZTsKKworY2xhc3MgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZl
dGNoIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCBmZXRjaChET01XaW5kb3cmLCBGZXRjaFJl
cXVlc3Q6OkluZm8mJiwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+
JiYpOworICAgIHN0YXRpYyB2b2lkIGZldGNoKFdvcmtlckdsb2JhbFNjb3BlJiwgRmV0Y2hSZXF1
ZXN0OjpJbmZvJiYsIEZldGNoUmVxdWVzdDo6SW5pdCYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
KTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGVGZXRjaC5pZGwJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCit0eXBlZGVmIChGZXRjaFJlcXVlc3Qgb3IgVVNWU3Ry
aW5nKSBSZXF1ZXN0SW5mbzsKKworLy8gaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2Zl
dGNoLW1ldGhvZAorWworICAgIEVuYWJsZWRBdFJ1bnRpbWU9RmV0Y2hBUEksCisgICAgSW1wbGVt
ZW50ZWRCeT1XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2gKK10gcGFydGlhbCBpbnRlcmZh
Y2UgbWl4aW4gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZSB7CisgICAgW05ld09iamVjdF0gUHJv
bWlzZTxGZXRjaFJlc3BvbnNlPiBmZXRjaChSZXF1ZXN0SW5mbyBpbnB1dCwgb3B0aW9uYWwgRmV0
Y2hSZXF1ZXN0SW5pdCBpbml0KTsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAJKHJldmlzaW9uIDI2
NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVG
ZXRjaC5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw1NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE2IENhbm9uIEluYy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSByZXF1aXJlZCB0byBiZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBDYW5vbiBJbmMuIG5vciB0aGUgbmFtZXMgb2YKLSAq
ICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQ0FOT04gSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIENBTk9OIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUgotICogQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
Ildvcmtlckdsb2JhbFNjb3BlRmV0Y2guaCIKLQotI2luY2x1ZGUgIkZldGNoUmVzcG9uc2UuaCIK
LSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgotI2luY2x1ZGUgIkpTRmV0Y2hSZXNw
b25zZS5oIgotI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotdXNpbmcgRmV0Y2hSZXNwb25zZVByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8
SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+PjsKLQotdm9pZCBXb3JrZXJHbG9iYWxTY29wZUZl
dGNoOjpmZXRjaChXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUsIEZldGNoUmVxdWVzdDo6SW5mbyYm
IGlucHV0LCBGZXRjaFJlcXVlc3Q6OkluaXQmJiBpbml0LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
IGRlZmVycmVkKQotewotICAgIEZldGNoUmVzcG9uc2VQcm9taXNlIHByb21pc2UgPSBXVEZNb3Zl
KGRlZmVycmVkKTsKLQotICAgIGF1dG8gcmVxdWVzdCA9IEZldGNoUmVxdWVzdDo6Y3JlYXRlKHNj
b3BlLCBXVEZNb3ZlKGlucHV0KSwgV1RGTW92ZShpbml0KSk7Ci0gICAgaWYgKHJlcXVlc3QuaGFz
RXhjZXB0aW9uKCkpIHsKLSAgICAgICAgcHJvbWlzZS5yZWplY3QocmVxdWVzdC5yZWxlYXNlRXhj
ZXB0aW9uKCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgRmV0Y2hSZXNwb25zZTo6
ZmV0Y2goc2NvcGUsIHJlcXVlc3QucmVsZWFzZVJldHVyblZhbHVlKCkuZ2V0KCksIFtwcm9taXNl
ID0gV1RGTW92ZShwcm9taXNlKV0oRXhjZXB0aW9uT3I8RmV0Y2hSZXNwb25zZSY+JiYgcmVzdWx0
KSBtdXRhYmxlIHsKLSAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsKLSAg
ICB9KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmgJKHJldmlz
aW9uIDI2NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFs
U2NvcGVGZXRjaC5oCShub25leGlzdGVudCkKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNiBDYW5vbiBJbmMuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQsIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgcmVxdWlyZWQgdG8gYmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQ2Fub24gSW5jLiBub3IgdGhlIG5hbWVzIG9m
Ci0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIENBTk9OIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBDQU5PTiBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IKLSAqIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAi
RmV0Y2hSZXF1ZXN0LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgRGVmZXJyZWRQ
cm9taXNlOwotY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7Ci0KLWNsYXNzIFdvcmtlckdsb2JhbFNj
b3BlRmV0Y2ggewotcHVibGljOgotICAgIHN0YXRpYyB2b2lkIGZldGNoKFdvcmtlckdsb2JhbFNj
b3BlJiwgRmV0Y2hSZXF1ZXN0OjpJbmZvJiYsIEZldGNoUmVxdWVzdDo6SW5pdCYmLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmKTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29w
ZUZldGNoLmlkbAkocmV2aXNpb24gMjY3MDcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmlkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM2ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQ2Fub24gSW5jLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkLCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIHJlcXVpcmVkIHRvIGJlIG1ldDoKLSAqCi0gKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIENhbm9uIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBDQU5PTiBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQ0FOT04gSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCi0gKiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUgotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
Ci0gKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi10eXBlZGVm
IChGZXRjaFJlcXVlc3Qgb3IgVVNWU3RyaW5nKSBSZXF1ZXN0SW5mbzsKLQotWwotICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9RmV0Y2hBUEksCi0gICAgSW1wbGVtZW50ZWRCeT1Xb3JrZXJHbG9iYWxTY29w
ZUZldGNoCi1dIHBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlckdsb2JhbFNjb3BlIHsKLSAgICBQcm9t
aXNlPEZldGNoUmVzcG9uc2U+IGZldGNoKFJlcXVlc3RJbmZvIGlucHV0LCBvcHRpb25hbCBGZXRj
aFJlcXVlc3RJbml0IGluaXQpOwotfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI2NzA3MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5
KQpAQCAtNzYyMywxMiArNzYyMyw2IEBACiAJCTQxODkzOEFGMjQyOUY5QUIwMDdGREM0MSAvKiBS
ZXRyaWV2ZVJlY29yZHNPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJldHJpZXZlUmVjb3Jkc09wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDE4QTA2Q0UxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBFdmVudERpc3BhdGNoZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDE4QTA2Q0YxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFdmVudERpc3BhdGNo
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MThDMzk1MjFDOERBQzdCMDA1
MUM4QTMgLyogRE9NV2luZG93RmV0Y2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRE9NV2luZG93RmV0Y2guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk0MThDMzk1MzFDOERBQzdCMDA1MUM4QTMgLyogRE9NV2luZG93RmV0Y2guaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2luZG93RmV0Y2guaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJNDE4QzM5NTQxQzhEQUM3QjAwNTFDOEEzIC8qIERPTVdpbmRvd0ZldGNo
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01XaW5kb3dGZXRjaC5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxOEMzOTU3MUM4REQ2OTYwMDUxQzhBMyAvKiBXb3JrZXJH
bG9iYWxTY29wZUZldGNoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk0MThDMzk1ODFDOERENjk2MDA1MUM4QTMgLyogV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJHbG9iYWxTY29wZUZldGNoLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxOEMzOTU5MUM4REQ2OTYwMDUxQzhBMyAv
KiBXb3JrZXJHbG9iYWxTY29wZUZldGNoLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXb3Jr
ZXJHbG9iYWxTY29wZUZldGNoLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4
QzM5NUIxQzhGMEE2MTAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtU291cmNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtU291cmNlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEMzOTVDMUM4RjBBNjEwMDUxQzhBMyAvKiBSZWFkYWJs
ZVN0cmVhbVNvdXJjZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVhZGFibGVTdHJlYW1T
b3VyY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MThDMzk1RDFDOEYwQUFC
MDA1MUM4QTMgLyogSlNSZWFkYWJsZVN0cmVhbVNvdXJjZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1JlYWRhYmxlU3RyZWFtU291cmNlQ3VzdG9tLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMTM3LDYgKzEwMTMxLDkgQEAKIAkJ
N0MyRDcyMjkyNTA4MzhCMDAwNTM5NjYyIC8qIEdsb2JhbEV2ZW50SGFuZGxlcnNDU1NUcmFuc2l0
aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gR2xvYmFsRXZlbnRIYW5kbGVyc0NTU1RyYW5zaXRpb25zLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MyRDcyMkMyNTA4Mzk2MzAwNTM5NjYyIC8qIEds
b2JhbEV2ZW50SGFuZGxlcnNDU1NBbmltYXRpb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHbG9iYWxFdmVudEhhbmRs
ZXJzQ1NTQW5pbWF0aW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMkQ3
MjJFMjUwODNBMzQwMDUzOTY2MiAvKiBHbG9iYWxFdmVudEhhbmRsZXJzUG9pbnRlckV2ZW50cy5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gR2xvYmFsRXZlbnRIYW5kbGVyc1BvaW50ZXJFdmVudHMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3QzJFMEJDRjI1MTA2QUM0MDA1RjNDODcgLyogV2luZG93T3JX
b3JrZXJHbG9iYWxTY29wZUZldGNoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdpbmRvd09yV29ya2VyR2xv
YmFsU2NvcGVGZXRjaC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzJFMEJEMDI1
MTA2QUM0MDA1RjNDODcgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMkUwQkQxMjUxMDZBQzQwMDVGM0M4NyAvKiBXaW5k
b3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdpbmRvd09yV29ya2VyR2xvYmFs
U2NvcGVGZXRjaC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMkZBNjBGMUVB
OTVBMzIwMEEwMzEwOCAvKiBSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MyRkE2MTAxRUE5NUEzMjAwQTAz
MTA4IC8qIFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0MzMEQ5N0UxRjgxNUFDMDAwMjY4MzU2IC8qIEpTQWJvcnRDb250
cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQWJvcnRD
b250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE5MTE4LDkgKzE5
MTE1LDYgQEAKIAkJNDFGNTRGN0MxQzUwQzRGNjAwMzM4NDg4IC8qIGZldGNoICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk0MThDMzk1MjFDOERBQzdCMDA1
MUM4QTMgLyogRE9NV2luZG93RmV0Y2guY3BwICovLAotCQkJCTQxOEMzOTUzMUM4REFDN0IwMDUx
QzhBMyAvKiBET01XaW5kb3dGZXRjaC5oICovLAotCQkJCTQxOEMzOTU0MUM4REFDN0IwMDUxQzhB
MyAvKiBET01XaW5kb3dGZXRjaC5pZGwgKi8sCiAJCQkJNDFGNTRGN0QxQzUwQzRGNjAwMzM4NDg4
IC8qIEZldGNoQm9keS5jcHAgKi8sCiAJCQkJNDFGNTRGN0UxQzUwQzRGNjAwMzM4NDg4IC8qIEZl
dGNoQm9keS5oICovLAogCQkJCTQxRjU0RjdGMUM1MEM0RjYwMDMzODQ4OCAvKiBGZXRjaEJvZHku
aWRsICovLApAQCAtMTkxNTUsOSArMTkxNDksOSBAQAogCQkJCTQxMzAxNUQ1MUM3QjU3MDQwMDA5
MUM2RSAvKiBGZXRjaFJlc3BvbnNlLmNwcCAqLywKIAkJCQk0MTMwMTVENjFDN0I1NzA0MDAwOTFD
NkUgLyogRmV0Y2hSZXNwb25zZS5oICovLAogCQkJCTQxMzAxNUQ3MUM3QjU3MDQwMDA5MUM2RSAv
KiBGZXRjaFJlc3BvbnNlLmlkbCAqLywKLQkJCQk0MThDMzk1NzFDOERENjk2MDA1MUM4QTMgLyog
V29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAgKi8sCi0JCQkJNDE4QzM5NTgxQzhERDY5NjAwNTFD
OEEzIC8qIFdvcmtlckdsb2JhbFNjb3BlRmV0Y2guaCAqLywKLQkJCQk0MThDMzk1OTFDOERENjk2
MDA1MUM4QTMgLyogV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwgKi8sCisJCQkJN0MyRTBCRDAy
NTEwNkFDNDAwNUYzQzg3IC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAgKi8s
CisJCQkJN0MyRTBCQ0YyNTEwNkFDNDAwNUYzQzg3IC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGVGZXRjaC5oICovLAorCQkJCTdDMkUwQkQxMjUxMDZBQzQwMDVGM0M4NyAvKiBXaW5kb3dPcldv
cmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsICovLAogCQkJKTsKIAkJCXBhdGggPSBmZXRjaDsKIAkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408823</attachid>
            <date>2020-09-15 09:10:39 -0700</date>
            <delta_ts>2020-09-15 10:04:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216524-20200915091038.patch</filename>
            <type>text/plain</type>
            <size>39306</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDIwLTA5LTE1ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViSURMXSBVcGRhdGUgRmV0Y2gg
SURMcyB0byB1c2UgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZSBwYXJ0aWFsIG1peGluCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY1MjQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIGdsb2JhbCBm
ZXRjaCgpIGZ1bmN0aW9uIGRlZmluaXRpb24gZnJvbSBET01XaW5kb3dGZXRjaC5pZGwgJiBXb3Jr
ZXJHbG9iYWxTY29wZUZldGNoLmlkbAorICAgICAgICB0byBzaW5nbGUgV2luZG93T3JXb3JrZXJH
bG9iYWxTY29wZUZldGNoLmlkbCwgbWF0Y2hpbmcgdGhlIHNwZWMuCisgICAgICAgIAorICAgICAg
ICBBbHNvIGNsZWFudXAgc29tZSBjb21tZW50cyBpbiBvdGhlciBGZXRjaCByZWxhdGVkIElETHMu
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9m
ZXRjaC9ET01XaW5kb3dGZXRjaC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9mZXRj
aC9ET01XaW5kb3dGZXRjaC5oOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRE9N
V2luZG93RmV0Y2guaWRsOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXF1ZXN0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdEluaXQuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGw6CisgICAgICAgICog
TW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OldpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaDo6ZmV0Y2gp
OgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNo
Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxT
Y29wZUZldGNoLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9i
YWxTY29wZUZldGNoLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL1dvcmtl
ckdsb2JhbFNjb3BlRmV0Y2guaDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL1dv
cmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsOiBSZW1vdmVkLgorICAgICAgICAqIFNvdXJjZXMudHh0
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMC0w
OS0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFR5cGVzIG9m
IFBhbm5lci5zZXRQb3NpdGlvbigpIC8gc2V0T3JpZW50YXRpb24oKSBwYXJhbWV0ZXJzIHNob3Vs
ZCBub3QgYmUgdW5yZXN0cmljdGVkIGZsb2F0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2
aXNpb24gMjY3MDcxKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTI2NSw3ICsyNjUsNiBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwog
ICAgIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmlkbAogICAgIE1vZHVs
ZXMvZW50cmllc2FwaS9IVE1MSW5wdXRFbGVtZW50RW50cmllc0FQSS5pZGwKIAotICAgIE1vZHVs
ZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guaWRsCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHku
aWRsCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaWRsCiAgICAgTW9kdWxlcy9mZXRj
aC9GZXRjaFJlZmVycmVyUG9saWN5LmlkbApAQCAtMjc2LDcgKzI3NSw3IEBAIHNldChXZWJDb3Jl
X05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3RNb2RlLmlk
bAogICAgIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0UmVkaXJlY3QuaWRsCiAgICAgTW9kdWxl
cy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbAotICAgIE1vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFs
U2NvcGVGZXRjaC5pZGwKKyAgICBNb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGVGZXRjaC5pZGwKIAogICAgIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uaWRsCiAg
ICAgTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvb3JkaW5hdGVzLmlkbApJbmRleDog
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CShyZXZp
c2lvbiAyNjcwNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0CSh3b3JraW5nIGNvcHkpCkBAIC05NCw3ICs5NCw2IEBAICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvZW50cmllc2FwaS9GaWxlU3kKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZW50cmllc2Fw
aS9GaWxlU3lzdGVtRW50cnlDYWxsYmFjay5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZW50
cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9l
bnRyaWVzYXBpL0hUTUxJbnB1dEVsZW1lbnRFbnRyaWVzQVBJLmlkbAotJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hCb2R5LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9mZXRjaC9GZXRjaEhl
YWRlcnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVmZXJyZXJQb2xp
Y3kuaWRsCkBAIC0xMDUsNyArMTA0LDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlcXVlcwogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3RNb2Rl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3RSZWRpcmVjdC5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwKLSQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmlk
bAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL2dhbWVwYWQvR2FtZXBhZEJ1dHRvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvZ2FtZXBhZC9HYW1lcGFkRXZlbnQuaWRsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAkocmV2aXNpb24gMjY3MDcxKQorKysg
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QJKHdvcmtpbmcg
Y29weSkKQEAgLTQ5MCw4ICs0OTAsNiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0RPTVdpbmRvdy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0RPTVdpbmRvd0NhY2hlcy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93Q2FjaGVzLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93RmV0Y2guY3BwCi0kKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvd0ZldGNoLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93SW5kZXhl
ZERhdGFiYXNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3dRdW90YS5jcHAKQEAgLTIzMTIsMTQgKzIz
MTAsMTQgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYgogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dFdmVudEhhbmRs
ZXJzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2lu
ZG93T3JXb3JrZXJHbG9iYWxTY29wZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dpbmRvd09yV29ya2VyR2xvYmFs
U2NvcGVGZXRjaC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyLmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXIuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZS5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFs
U2NvcGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
b3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaAotJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZUZldGNo
LmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3Jr
ZXJHbG9iYWxTY29wZUZldGNoLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlckdsb2JhbFNjb3Bl
SW5kZXhlZERhdGFiYXNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTV29ya2VyTG9jYXRpb24uY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UJKHJldmlzaW9uIDI2NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTE5Nyw3ICsxOTcsNiBAQCBKU19CSU5ESU5HX0lETFMg
PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5Q2Fs
bGJhY2suaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVt
RmlsZUVudHJ5LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VudHJpZXNhcGkvSFRNTElu
cHV0RWxlbWVudEVudHJpZXNBUEkuaWRsIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmV0Y2gv
RE9NV2luZG93RmV0Y2guaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmV0Y2gvRmV0Y2hC
b2R5LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRjaC9GZXRjaFJlZmVycmVyUG9saWN5LmlkbCBc
CkBAIC0yMDgsNyArMjA3LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3RNb2RlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVxdWVzdFJlZGlyZWN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmV0
Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9m
ZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dh
bWVwYWQvR2FtZXBhZEJ1dHRvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9nYW1lcGFk
L0dhbWVwYWRFdmVudC5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI2NzA3MSkK
KysrIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0
OCw2IEBAIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGwKIE1vZHVsZXMv
ZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuY3BwCiBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5
c3RlbUZpbGVFbnRyeS5jcHAKIE1vZHVsZXMvZW50cmllc2FwaS9IVE1MSW5wdXRFbGVtZW50RW50
cmllc0FQSS5jcHAKLU1vZHVsZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guY3BwCiBNb2R1bGVzL2Zl
dGNoL0ZldGNoQm9keS5jcHAKIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Q29uc3VtZXIuY3BwCiBN
b2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmNwcApAQCAtNTcsNyArNTYsNyBAQCBNb2R1bGVz
L2ZldGNoL0ZldGNoSGVhZGVycy5jcHAKIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCiBN
b2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25z
ZS5jcHAKLU1vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKK01vZHVsZXMv
ZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAogTW9kdWxlcy9nZW9sb2Nh
dGlvbi9HZW9Ob3RpZmllci5jcHAKIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3Bw
CiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAKQEAgLTI4MTYs
NyArMjgxNSw2IEBAIEpTRE9NVVJMLmNwcAogSlNET01VUkxNZWRpYVNvdXJjZS5jcHAKIEpTRE9N
V2luZG93LmNwcAogSlNET01XaW5kb3dDYWNoZXMuY3BwCi1KU0RPTVdpbmRvd0ZldGNoLmNwcAog
SlNET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuY3BwCiBKU0RPTVdpbmRvd1F1b3RhLmNwcAogSlNE
T01XaW5kb3dTcGVlY2hTeW50aGVzaXMuY3BwCkBAIC0zNjU3LDEwICszNjU1LDEwIEBAIEpTV2Vi
WFJXZWJHTExheWVyLmNwcAogSlNXaGVlbEV2ZW50LmNwcAogSlNXaW5kb3dFdmVudEhhbmRsZXJz
LmNwcAogSlNXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmNwcAorSlNXaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlRmV0Y2guY3BwCiBKU1dvcmtlci5jcHAKIEpTV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CiBKU1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAotSlNXb3JrZXJHbG9iYWxTY29wZUZldGNo
LmNwcAogSlNXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAKIEpTV29ya2VyTG9j
YXRpb24uY3BwCiBKU1dvcmtlck5hdmlnYXRvci5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guY3BwCShyZXZpc2lvbiAyNjcwNzEpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcAkobm9uZXhp
c3RlbnQpCkBAIC0xLDcxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQ2Fub24g
SW5jLgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCwgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSByZXF1aXJlZCB0byBi
ZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUg
bmFtZSBvZiBDYW5vbiBJbmMuIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0g
KiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQ0FOT04gSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIENB
Tk9OIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgotICogQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkRPTVdpbmRvd0ZldGNoLmgi
Ci0KLSNpbmNsdWRlICJET01XaW5kb3cuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1
ZGUgIkZldGNoUmVzcG9uc2UuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgot
I2luY2x1ZGUgIkpTRmV0Y2hSZXNwb25zZS5oIgotI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNh
dG9yLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgRmV0Y2hSZXNwb25zZVByb21p
c2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+PjsKLQot
dm9pZCBET01XaW5kb3dGZXRjaDo6ZmV0Y2goRE9NV2luZG93JiB3aW5kb3csIEZldGNoUmVxdWVz
dDo6SW5mbyYmIGlucHV0LCBGZXRjaFJlcXVlc3Q6OkluaXQmJiBpbml0LCBSZWY8RGVmZXJyZWRQ
cm9taXNlPiYmIGRlZmVycmVkKQotewotICAgIEZldGNoUmVzcG9uc2VQcm9taXNlIHByb21pc2Ug
PSBXVEZNb3ZlKGRlZmVycmVkKTsKLQotICAgIGF1dG8qIGRvY3VtZW50ID0gd2luZG93LmRvY3Vt
ZW50KCk7Ci0gICAgaWYgKCFkb2N1bWVudCkgewotICAgICAgICBwcm9taXNlLnJlamVjdChJbnZh
bGlkU3RhdGVFcnJvcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBhdXRvIHJlcXVl
c3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqZG9jdW1lbnQsIFdURk1vdmUoaW5wdXQpLCBXVEZN
b3ZlKGluaXQpKTsKLSAgICBpZiAocmVxdWVzdC5oYXNFeGNlcHRpb24oKSkgewotICAgICAgICBw
cm9taXNlLnJlamVjdChyZXF1ZXN0LnJlbGVhc2VFeGNlcHRpb24oKSk7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBGZXRjaFJlc3BvbnNlOjpmZXRjaCgqZG9jdW1lbnQsIHJlcXVlc3Qu
cmVsZWFzZVJldHVyblZhbHVlKCksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgdXNlckdl
c3R1cmVUb2tlbiA9IFVzZXJHZXN0dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKV0o
RXhjZXB0aW9uT3I8RmV0Y2hSZXNwb25zZSY+JiYgcmVzdWx0KSBtdXRhYmxlIHsKLSAgICAgICAg
aWYgKCF1c2VyR2VzdHVyZVRva2VuIHx8IHVzZXJHZXN0dXJlVG9rZW4tPmhhc0V4cGlyZWQoVXNl
ckdlc3R1cmVUb2tlbjo6bWF4aW11bUludGVydmFsRm9yVXNlckdlc3R1cmVGb3J3YXJkaW5nRm9y
RmV0Y2goKSkgfHwgIXVzZXJHZXN0dXJlVG9rZW4tPnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSB7
Ci0gICAgICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOwotICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2Vz
dHVyZUluZGljYXRvcih1c2VyR2VzdHVyZVRva2VuLCBVc2VyR2VzdHVyZVRva2VuOjpHZXN0dXJl
U2NvcGU6Ok1lZGlhT25seSwgVXNlckdlc3R1cmVUb2tlbjo6SXNQcm9wYWdhdGVkRnJvbUZldGNo
OjpZZXMpOwotICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOwotICAgIH0p
OwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5oCShyZXZpc2lvbiAyNjcwNzEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmgJKG5vbmV4aXN0ZW50KQpA
QCAtMSw0NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IENhbm9uIEluYy4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCwgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSByZXF1aXJlZCB0byBiZSBtZXQ6
Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBv
ZiBDYW5vbiBJbmMuIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQ0FOT04gSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIENBTk9OIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgotICogQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAot
ICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKLSNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERlZmVycmVkUHJv
bWlzZTsKLWNsYXNzIERPTVdpbmRvdzsKLQotY2xhc3MgRE9NV2luZG93RmV0Y2ggewotcHVibGlj
OgotICAgIHN0YXRpYyB2b2lkIGZldGNoKERPTVdpbmRvdyYsIEZldGNoUmVxdWVzdDo6SW5mbyYm
LCBGZXRjaFJlcXVlc3Q6OkluaXQmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Ci19OwotCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0RPTVdpbmRvd0ZldGNoLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0RPTVdpbmRvd0ZldGNoLmlkbAkocmV2aXNpb24gMjY3MDcxKQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5pZGwJKG5vbmV4aXN0ZW50KQpAQCAt
MSwzNiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IENhbm9uIEluYy4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCwgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSByZXF1aXJlZCB0byBiZSBtZXQ6Ci0g
KgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBD
YW5vbiBJbmMuIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQ0FOT04gSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIENBTk9OIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgotICogQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICog
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
dHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIFVTVlN0cmluZykgUmVxdWVzdEluZm87Ci0KLVsKLSAg
ICBFbmFibGVkQXRSdW50aW1lPUZldGNoQVBJLAotICAgIEltcGxlbWVudGVkQnk9RE9NV2luZG93
RmV0Y2gKLV0gcGFydGlhbCBpbnRlcmZhY2UgRE9NV2luZG93IHsKLSAgICBQcm9taXNlPEZldGNo
UmVzcG9uc2U+IGZldGNoKFJlcXVlc3RJbmZvIGlucHV0LCBvcHRpb25hbCBGZXRjaFJlcXVlc3RJ
bml0IGluaXQpOwotfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXF1ZXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVxdWVzdC5pZGwJKHJldmlzaW9uIDI2NzA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsOCArMzAsNiBA
QCBlbnVtIEZldGNoUmVxdWVzdERlc3RpbmF0aW9uIHsgIiIsICJhdWRpCiAKIHR5cGVkZWYgKEZl
dGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwogCi10eXBlZGVmIChCbG9iIG9y
IEJ1ZmZlclNvdXJjZSBvciBET01Gb3JtRGF0YSBvciBVUkxTZWFyY2hQYXJhbXMgb3IgUmVhZGFi
bGVTdHJlYW0gb3IgVVNWU3RyaW5nKSBCb2R5SW5pdDsKLQogWwogICAgIEFjdGl2ZURPTU9iamVj
dCwKICAgICBFbmFibGVkQXRSdW50aW1lPUZldGNoQVBJLApAQCAtNTQsNiArNTIsMTAgQEAgdHlw
ZWRlZiAoQmxvYiBvciBCdWZmZXJTb3VyY2Ugb3IgRE9NRm9ybQogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBGZXRjaFJlcXVlc3RSZWRpcmVjdCByZWRpcmVjdDsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGludGVncml0eTsKICAgICBbRW5hYmxlZEF0UnVudGltZT1GZXRjaEFQSUtl
ZXBBbGl2ZV0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4ga2VlcGFsaXZlOworICAgIC8vIEZJ
WE1FOiBJbXBsZW1lbnQgJ2lzUmVsb2FkTmF2aWdhdGlvbicuCisgICAgLy8gcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gaXNSZWxvYWROYXZpZ2F0aW9uOworICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQgJ2lzSGlzdG9yeU5hdmlnYXRpb24nLgorICAgIC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29s
ZWFuIGlzSGlzdG9yeU5hdmlnYXRpb247CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEFib3J0U2ln
bmFsIHNpZ25hbDsKIAogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBNYXlU
aHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBGZXRjaFJlcXVlc3QgY2xvbmUoKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0SW5pdC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3RJbml0LmlkbAko
cmV2aXNpb24gMjY3MDcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJl
cXVlc3RJbml0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBkaWN0aW9uYXJ5
IEZldGNoUmVxdWVzdEluaXQgewogICAgIEZldGNoUmVxdWVzdFJlZGlyZWN0IHJlZGlyZWN0Owog
ICAgIERPTVN0cmluZyBpbnRlZ3JpdHk7CiAgICAgYm9vbGVhbiBrZWVwYWxpdmU7CisgICAgLy8g
RklYTUU6ICdzaWduYWwnIHNob3VsZCBiZSBvZiB0eXBlIEFib3J0U2lnbmFsPy4KICAgICBhbnkg
c2lnbmFsOwogICAgIGFueSB3aW5kb3c7IC8vIGNhbiBvbmx5IGJlIHNldCB0byBudWxsCiB9OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRs
CShyZXZpc2lvbiAyNjcwNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
UmVzcG9uc2UuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw4ICs1Nyw2IEBAIGRpY3Rpb25hcnkg
RmV0Y2hSZXNwb25zZUluaXQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG9rOwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBCeXRlU3RyaW5nIHN0YXR1c1RleHQ7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEZldGNoSGVhZGVycyBoZWFkZXJzOyAvLyBGSVhNRTogU2hvdWxkIGJlIFtT
YW1lT2JqZWN0XS4KLSAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIHRyYWlsZXJzLgotICAg
IC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPEhlYWRlcnM+IHRyYWlsZXI7CiAKICAgICBb
Q2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb24sIE5ld09i
amVjdF0gRmV0Y2hSZXNwb25zZSBjbG9uZSgpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGVGZXRjaC5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsODMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmgiCisKKyNpbmNsdWRlICJET01XaW5kb3cu
aCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZldGNoUmVzcG9uc2UuaCIKKyNp
bmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIkpTRmV0Y2hSZXNwb25z
ZS5oIgorI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCisjaW5jbHVkZSAiV29ya2Vy
R2xvYmFsU2NvcGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBGZXRjaFJlc3Bv
bnNlUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25z
ZT4+OworCit2b2lkIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaDo6ZmV0Y2goRE9NV2lu
ZG93JiB3aW5kb3csIEZldGNoUmVxdWVzdDo6SW5mbyYmIGlucHV0LCBGZXRjaFJlcXVlc3Q6Oklu
aXQmJiBpbml0LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIGRlZmVycmVkKQoreworICAgIEZldGNo
UmVzcG9uc2VQcm9taXNlIHByb21pc2UgPSBXVEZNb3ZlKGRlZmVycmVkKTsKKworICAgIGF1dG8q
IGRvY3VtZW50ID0gd2luZG93LmRvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudCkgeworICAg
ICAgICBwcm9taXNlLnJlamVjdChJbnZhbGlkU3RhdGVFcnJvcik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBhdXRvIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqZG9jdW1l
bnQsIFdURk1vdmUoaW5wdXQpLCBXVEZNb3ZlKGluaXQpKTsKKyAgICBpZiAocmVxdWVzdC5oYXNF
eGNlcHRpb24oKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChyZXF1ZXN0LnJlbGVhc2VFeGNl
cHRpb24oKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBGZXRjaFJlc3BvbnNlOjpm
ZXRjaCgqZG9jdW1lbnQsIHJlcXVlc3QucmVsZWFzZVJldHVyblZhbHVlKCksIFtwcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKSwgdXNlckdlc3R1cmVUb2tlbiA9IFVzZXJHZXN0dXJlSW5kaWNhdG9y
OjpjdXJyZW50VXNlckdlc3R1cmUoKV0oRXhjZXB0aW9uT3I8RmV0Y2hSZXNwb25zZSY+JiYgcmVz
dWx0KSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKCF1c2VyR2VzdHVyZVRva2VuIHx8IHVzZXJHZXN0
dXJlVG9rZW4tPmhhc0V4cGlyZWQoVXNlckdlc3R1cmVUb2tlbjo6bWF4aW11bUludGVydmFsRm9y
VXNlckdlc3R1cmVGb3J3YXJkaW5nRm9yRmV0Y2goKSkgfHwgIXVzZXJHZXN0dXJlVG9rZW4tPnBy
b2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSB7CisgICAgICAgICAgICBwcm9taXNlLnNldHRsZShXVEZN
b3ZlKHJlc3VsdCkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAg
VXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih1c2VyR2VzdHVyZVRva2VuLCBV
c2VyR2VzdHVyZVRva2VuOjpHZXN0dXJlU2NvcGU6Ok1lZGlhT25seSwgVXNlckdlc3R1cmVUb2tl
bjo6SXNQcm9wYWdhdGVkRnJvbUZldGNoOjpZZXMpOworICAgICAgICBwcm9taXNlLnNldHRsZShX
VEZNb3ZlKHJlc3VsdCkpOworICAgIH0pOworfQorCit2b2lkIFdpbmRvd09yV29ya2VyR2xvYmFs
U2NvcGVGZXRjaDo6ZmV0Y2goV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlLCBGZXRjaFJlcXVlc3Q6
OkluZm8mJiBpbnB1dCwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYgaW5pdCwgUmVmPERlZmVycmVkUHJv
bWlzZT4mJiBkZWZlcnJlZCkKK3sKKyAgICBGZXRjaFJlc3BvbnNlUHJvbWlzZSBwcm9taXNlID0g
V1RGTW92ZShkZWZlcnJlZCk7CisKKyAgICBhdXRvIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNy
ZWF0ZShzY29wZSwgV1RGTW92ZShpbnB1dCksIFdURk1vdmUoaW5pdCkpOworICAgIGlmIChyZXF1
ZXN0Lmhhc0V4Y2VwdGlvbigpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KHJlcXVlc3QucmVs
ZWFzZUV4Y2VwdGlvbigpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEZldGNoUmVz
cG9uc2U6OmZldGNoKHNjb3BlLCByZXF1ZXN0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpLmdldCgpLCBb
cHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKEV4Y2VwdGlvbk9yPEZldGNoUmVzcG9uc2UmPiYm
IHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAgIHByb21pc2Uuc2V0dGxlKFdURk1vdmUocmVzdWx0
KSk7CisgICAgfSk7Cit9CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaAkobm9u
ZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2Vy
R2xvYmFsU2NvcGVGZXRjaC5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERPTVdpbmRvdzsKK2NsYXNzIERlZmVycmVkUHJvbWlz
ZTsKK2NsYXNzIFdvcmtlckdsb2JhbFNjb3BlOworCitjbGFzcyBXaW5kb3dPcldvcmtlckdsb2Jh
bFNjb3BlRmV0Y2ggeworcHVibGljOgorICAgIHN0YXRpYyB2b2lkIGZldGNoKERPTVdpbmRvdyYs
IEZldGNoUmVxdWVzdDo6SW5mbyYmLCBGZXRjaFJlcXVlc3Q6OkluaXQmJiwgUmVmPERlZmVycmVk
UHJvbWlzZT4mJik7CisgICAgc3RhdGljIHZvaWQgZmV0Y2goV29ya2VyR2xvYmFsU2NvcGUmLCBG
ZXRjaFJlcXVlc3Q6OkluZm8mJiwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYsIFJlZjxEZWZlcnJlZFBy
b21pc2U+JiYpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJH
bG9iYWxTY29wZUZldGNoLmlkbAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK3R5cGVkZWYgKEZldGNoUmVxdWVzdCBv
ciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOworCisvLyBodHRwczovL2ZldGNoLnNwZWMud2hhdHdn
Lm9yZy8jZmV0Y2gtbWV0aG9kCitbCisgICAgRW5hYmxlZEF0UnVudGltZT1GZXRjaEFQSSwKKyAg
ICBJbXBsZW1lbnRlZEJ5PVdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaAorXSBwYXJ0aWFs
IGludGVyZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlIHsKKyAgICBbTmV3T2Jq
ZWN0XSBQcm9taXNlPEZldGNoUmVzcG9uc2U+IGZldGNoKFJlcXVlc3RJbmZvIGlucHV0LCBvcHRp
b25hbCBGZXRjaFJlcXVlc3RJbml0IGluaXQpOworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAkocmV2
aXNpb24gMjY3MDcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9i
YWxTY29wZUZldGNoLmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDU2ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTYgQ2Fub24gSW5jLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkLCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIHJlcXVpcmVkIHRvIGJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIENhbm9uIEluYy4gbm9yIHRoZSBuYW1l
cyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBDQU5PTiBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQ0FOT04gSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SCi0gKiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICog
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0gKiBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0j
aW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oIgotCi0jaW5jbHVkZSAiRmV0Y2hSZXNw
b25zZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCi0jaW5jbHVkZSAiSlNG
ZXRjaFJlc3BvbnNlLmgiCi0jaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi11c2luZyBGZXRjaFJlc3BvbnNlUHJvbWlzZSA9IERPTVByb21pc2VE
ZWZlcnJlZDxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+OwotCi12b2lkIFdvcmtlckdsb2Jh
bFNjb3BlRmV0Y2g6OmZldGNoKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSwgRmV0Y2hSZXF1ZXN0
OjpJbmZvJiYgaW5wdXQsIEZldGNoUmVxdWVzdDo6SW5pdCYmIGluaXQsIFJlZjxEZWZlcnJlZFBy
b21pc2U+JiYgZGVmZXJyZWQpCi17Ci0gICAgRmV0Y2hSZXNwb25zZVByb21pc2UgcHJvbWlzZSA9
IFdURk1vdmUoZGVmZXJyZWQpOwotCi0gICAgYXV0byByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0Ojpj
cmVhdGUoc2NvcGUsIFdURk1vdmUoaW5wdXQpLCBXVEZNb3ZlKGluaXQpKTsKLSAgICBpZiAocmVx
dWVzdC5oYXNFeGNlcHRpb24oKSkgewotICAgICAgICBwcm9taXNlLnJlamVjdChyZXF1ZXN0LnJl
bGVhc2VFeGNlcHRpb24oKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBGZXRjaFJl
c3BvbnNlOjpmZXRjaChzY29wZSwgcmVxdWVzdC5yZWxlYXNlUmV0dXJuVmFsdWUoKS5nZXQoKSwg
W3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShFeGNlcHRpb25PcjxGZXRjaFJlc3BvbnNlJj4m
JiByZXN1bHQpIG11dGFibGUgewotICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3ZlKHJlc3Vs
dCkpOwotICAgIH0pOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2gu
aAkocmV2aXNpb24gMjY3MDcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3Jr
ZXJHbG9iYWxTY29wZUZldGNoLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MyArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDE2IENhbm9uIEluYy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSByZXF1aXJlZCB0byBiZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBDYW5vbiBJbmMuIG5vciB0aGUg
bmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQ0FOT04gSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIENBTk9OIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUgotICogQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IK
LSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNp
bmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBE
ZWZlcnJlZFByb21pc2U7Ci1jbGFzcyBXb3JrZXJHbG9iYWxTY29wZTsKLQotY2xhc3MgV29ya2Vy
R2xvYmFsU2NvcGVGZXRjaCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIHZvaWQgZmV0Y2goV29ya2Vy
R2xvYmFsU2NvcGUmLCBGZXRjaFJlcXVlc3Q6OkluZm8mJiwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYs
IFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNo
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckds
b2JhbFNjb3BlRmV0Y2guaWRsCShyZXZpc2lvbiAyNjcwNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsCShub25leGlzdGVudCkKQEAg
LTEsMzYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBDYW5vbiBJbmMuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQsIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgcmVxdWlyZWQgdG8gYmUgbWV0Ogot
ICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2Yg
Q2Fub24gSW5jLiBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIENBTk9OIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBDQU5PTiBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAq
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LXR5cGVkZWYgKEZldGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwotCi1bCi0g
ICAgRW5hYmxlZEF0UnVudGltZT1GZXRjaEFQSSwKLSAgICBJbXBsZW1lbnRlZEJ5PVdvcmtlckds
b2JhbFNjb3BlRmV0Y2gKLV0gcGFydGlhbCBpbnRlcmZhY2UgV29ya2VyR2xvYmFsU2NvcGUgewot
ICAgIFByb21pc2U8RmV0Y2hSZXNwb25zZT4gZmV0Y2goUmVxdWVzdEluZm8gaW5wdXQsIG9wdGlv
bmFsIEZldGNoUmVxdWVzdEluaXQgaW5pdCk7Ci19OwpJbmRleDogU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY3MDcxKQor
KysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC03NjIzLDEyICs3NjIzLDYgQEAKIAkJNDE4OTM4QUYyNDI5RjlBQjAwN0ZE
QzQxIC8qIFJldHJpZXZlUmVjb3Jkc09wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmV0cmlldmVSZWNvcmRzT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MThBMDZDRTEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50RGlzcGF0Y2hlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MThBMDZDRjEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnRE
aXNwYXRjaGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50
RGlzcGF0Y2hlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxOEMzOTUyMUM4
REFDN0IwMDUxQzhBMyAvKiBET01XaW5kb3dGZXRjaC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dGZXRjaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTQxOEMzOTUzMUM4REFDN0IwMDUxQzhBMyAvKiBET01XaW5kb3dGZXRjaC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01XaW5kb3dGZXRjaC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk0MThDMzk1NDFDOERBQzdCMDA1MUM4QTMgLyogRE9NV2lu
ZG93RmV0Y2guaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTVdpbmRvd0ZldGNoLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE4QzM5NTcxQzhERDY5NjAwNTFDOEEzIC8q
IFdvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTQxOEMzOTU4MUM4REQ2OTYwMDUxQzhBMyAvKiBXb3JrZXJHbG9iYWxTY29wZUZl
dGNoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlckdsb2JhbFNjb3Bl
RmV0Y2guaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE4QzM5NTkxQzhERDY5NjAw
NTFDOEEzIC8qIFdvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IFdvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MThDMzk1QjFDOEYwQTYxMDA1MUM4QTMgLyogUmVhZGFibGVTdHJlYW1Tb3VyY2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1Tb3VyY2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4QzM5NUMxQzhGMEE2MTAwNTFDOEEzIC8q
IFJlYWRhYmxlU3RyZWFtU291cmNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZWFkYWJs
ZVN0cmVhbVNvdXJjZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEMzOTVE
MUM4RjBBQUIwMDUxQzhBMyAvKiBKU1JlYWRhYmxlU3RyZWFtU291cmNlQ3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVhZGFibGVTdHJlYW1Tb3VyY2VD
dXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAxMzcsNiArMTAxMzEs
OSBAQAogCQk3QzJENzIyOTI1MDgzOEIwMDA1Mzk2NjIgLyogR2xvYmFsRXZlbnRIYW5kbGVyc0NT
U1RyYW5zaXRpb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHbG9iYWxFdmVudEhhbmRsZXJzQ1NTVHJhbnNpdGlvbnMu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzJENzIyQzI1MDgzOTYzMDA1Mzk2
NjIgLyogR2xvYmFsRXZlbnRIYW5kbGVyc0NTU0FuaW1hdGlvbnMuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdsb2JhbEV2
ZW50SGFuZGxlcnNDU1NBbmltYXRpb25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJN0MyRDcyMkUyNTA4M0EzNDAwNTM5NjYyIC8qIEdsb2JhbEV2ZW50SGFuZGxlcnNQb2ludGVy
RXZlbnRzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBHbG9iYWxFdmVudEhhbmRsZXJzUG9pbnRlckV2ZW50cy5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMkUwQkNGMjUxMDZBQzQwMDVGM0M4NyAvKiBX
aW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2luZG93T3JX
b3JrZXJHbG9iYWxTY29wZUZldGNoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdD
MkUwQkQwMjUxMDZBQzQwMDVGM0M4NyAvKiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2gu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MyRTBCRDEyNTEwNkFDNDAwNUYzQzg3
IC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2luZG93T3JXb3Jr
ZXJHbG9iYWxTY29wZUZldGNoLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0My
RkE2MEYxRUE5NUEzMjAwQTAzMTA4IC8qIFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUNyeXB0b2dyYXBo
aWNEaWdlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzJGQTYxMDFFQTk1
QTMyMDBBMDMxMDggLyogUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzMwRDk3RTFGODE1QUMwMDAyNjgzNTYgLyogSlNB
Ym9ydENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNBYm9ydENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTkx
MTgsOSArMTkxMTUsNiBAQAogCQk0MUY1NEY3QzFDNTBDNEY2MDAzMzg0ODggLyogZmV0Y2ggKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTQxOEMzOTUyMUM4
REFDN0IwMDUxQzhBMyAvKiBET01XaW5kb3dGZXRjaC5jcHAgKi8sCi0JCQkJNDE4QzM5NTMxQzhE
QUM3QjAwNTFDOEEzIC8qIERPTVdpbmRvd0ZldGNoLmggKi8sCi0JCQkJNDE4QzM5NTQxQzhEQUM3
QjAwNTFDOEEzIC8qIERPTVdpbmRvd0ZldGNoLmlkbCAqLywKIAkJCQk0MUY1NEY3RDFDNTBDNEY2
MDAzMzg0ODggLyogRmV0Y2hCb2R5LmNwcCAqLywKIAkJCQk0MUY1NEY3RTFDNTBDNEY2MDAzMzg0
ODggLyogRmV0Y2hCb2R5LmggKi8sCiAJCQkJNDFGNTRGN0YxQzUwQzRGNjAwMzM4NDg4IC8qIEZl
dGNoQm9keS5pZGwgKi8sCkBAIC0xOTE1NSw5ICsxOTE0OSw5IEBACiAJCQkJNDEzMDE1RDUxQzdC
NTcwNDAwMDkxQzZFIC8qIEZldGNoUmVzcG9uc2UuY3BwICovLAogCQkJCTQxMzAxNUQ2MUM3QjU3
MDQwMDA5MUM2RSAvKiBGZXRjaFJlc3BvbnNlLmggKi8sCiAJCQkJNDEzMDE1RDcxQzdCNTcwNDAw
MDkxQzZFIC8qIEZldGNoUmVzcG9uc2UuaWRsICovLAotCQkJCTQxOEMzOTU3MUM4REQ2OTYwMDUx
QzhBMyAvKiBXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcCAqLywKLQkJCQk0MThDMzk1ODFDOERE
Njk2MDA1MUM4QTMgLyogV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oICovLAotCQkJCTQxOEMzOTU5
MUM4REQ2OTYwMDUxQzhBMyAvKiBXb3JrZXJHbG9iYWxTY29wZUZldGNoLmlkbCAqLywKKwkJCQk3
QzJFMEJEMDI1MTA2QUM0MDA1RjNDODcgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNo
LmNwcCAqLywKKwkJCQk3QzJFMEJDRjI1MTA2QUM0MDA1RjNDODcgLyogV2luZG93T3JXb3JrZXJH
bG9iYWxTY29wZUZldGNoLmggKi8sCisJCQkJN0MyRTBCRDEyNTEwNkFDNDAwNUYzQzg3IC8qIFdp
bmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwgKi8sCiAJCQkpOwogCQkJcGF0aCA9IGZl
dGNoOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>