<?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>220706</bug_id>
          
          <creation_ts>2021-01-18 01:55:06 -0800</creation_ts>
          <short_desc>Introduce a MediaSessionGroupIdentifier</short_desc>
          <delta_ts>2021-01-20 02:45:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>annulen</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>philipj</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>1720298</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-18 01:55:06 -0800</bug_when>
    <thetext>Introduce a MediaSessionGroupIdentifier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720300</commentid>
    <comment_count>1</comment_count>
      <attachid>417819</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-18 01:59:31 -0800</bug_when>
    <thetext>Created attachment 417819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720303</commentid>
    <comment_count>2</comment_count>
      <attachid>417820</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-18 02:14:14 -0800</bug_when>
    <thetext>Created attachment 417820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720311</commentid>
    <comment_count>3</comment_count>
      <attachid>417822</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-18 02:47:07 -0800</bug_when>
    <thetext>Created attachment 417822
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720336</commentid>
    <comment_count>4</comment_count>
      <attachid>417830</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-18 07:06:36 -0800</bug_when>
    <thetext>Created attachment 417830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720361</commentid>
    <comment_count>5</comment_count>
      <attachid>417830</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-18 09:24:17 -0800</bug_when>
    <thetext>Comment on attachment 417830
Patch

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

&gt; Source/WebCore/dom/Document.cpp:-760
&gt; -#endif

I removed that code that seems not needed given audio producers (media element, audio context) are stopped as active dom objects.
Am I missing some cases?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720618</commentid>
    <comment_count>6</comment_count>
      <attachid>417830</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-01-19 11:51:41 -0800</bug_when>
    <thetext>Comment on attachment 417830
Patch

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

&gt; Source/WebCore/page/Page.cpp:2121
&gt; +    return identifier ? makeObjectIdentifier&lt;MediaSessionGroupIdentifierType&gt;(identifier-&gt;toUInt64()) : MediaSessionGroupIdentifier { };

This will be called frequently, would it be worth caching the identifier in a member variable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720826</commentid>
    <comment_count>7</comment_count>
      <attachid>417948</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-20 00:49:52 -0800</bug_when>
    <thetext>Created attachment 417948
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720830</commentid>
    <comment_count>8</comment_count>
      <attachid>417949</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-20 01:05:27 -0800</bug_when>
    <thetext>Created attachment 417949
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720834</commentid>
    <comment_count>9</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-20 01:08:33 -0800</bug_when>
    <thetext>(In reply to Eric Carlson from comment #6)
&gt; Comment on attachment 417830 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=417830&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Page.cpp:2121
&gt; &gt; +    return identifier ? makeObjectIdentifier&lt;MediaSessionGroupIdentifierType&gt;(identifier-&gt;toUInt64()) : MediaSessionGroupIdentifier { };
&gt; 
&gt; This will be called frequently, would it be worth caching the identifier in
&gt; a member variable?

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720850</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-20 02:44:05 -0800</bug_when>
    <thetext>Committed r271643: &lt;https://trac.webkit.org/changeset/271643&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417949.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720851</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-20 02:45:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/73397046&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417819</attachid>
            <date>2021-01-18 01:59:31 -0800</date>
            <delta_ts>2021-01-18 02:14:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220706-20210118105928.patch</filename>
            <type>text/plain</type>
            <size>26342</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmRlZTRkOTNmYTU0ZjJk
ZTZkOGI1ZTcyMmFkMzYzY2QyMjkyYTQzNS4uNDUwMTA5YzM0MDYwY2U2MzUwNDliM2U5NmNhN2Q1
YjQ3YzhmYzMzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTAxLTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgYSBNZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDcwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgZ29pbmcgZnJvbSBwYWdlIHRvIGRvY3VtZW50IHRv
IG1lZGlhIHNlc3Npb24sIGludHJvZHVjZSBhIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciB3
aGljaCBncm91cHMgc2Vzc2lvbnMgYnkgcGFnZS4KKyAgICAgICAgV2UgY2FuIHRoZW4gZGlyZWN0
bHkgZ28gZnJvbSBwYWdlIHRvIG1lZGlhIHNlc3Npb24gdG8gc3VzcGVuZC9yZXN1bWUgcGxheSBi
YWNrLgorICAgICAgICBVcGRhdGUgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQgdG8gaW1wbGVt
ZW50IG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBpbnN0ZWFkIG9mIGhvc3RpbmdEb2N1bWVu
dElkZW50aWZpZXIuCisKKyAgICAgICAgV2UgcmVtb3ZlIHBhdXNpbmcgcGxheWJhY2sgZnJvbSBE
b2N1bWVudDo6fkRvY3VtZW50LCBhcyByZWxhdGVkIGF1ZGlvIHByb2R1Y2VycyAoQXVkaW9Db250
ZXh0LCBIVE1MTWVkaWFFbGVtZW50KQorICAgICAgICBzaG91bGQgYmUgcGF1c2VkIGluIHRoZWly
IEFjdGl2ZURPTU9iamVjdCBzdG9wIG1ldGhvZC4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0
aW5nIHRlc3RzLCB0aGlzIGlzIGEgcmVmYWN0b3JpbmcuCisKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbnRleHQ6
Om1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpB
dWRpb0NvbnRleHQ6Omhvc3RpbmdEb2N1bWVudElkZW50aWZpZXIgY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6fkRvY3VtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjptZWRpYVBsYXliYWNrRXhpc3RzKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjptZWRpYVBsYXliYWNrSXNQYXVzZWQpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBhdXNlQWxsTWVkaWFQbGF5YmFjayk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c3VzcGVuZEFsbE1lZGlhUGxheWJhY2spOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlc3VtZUFsbE1lZGlhUGxheWJh
Y2spOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1c3BlbmRBbGxNZWRp
YUJ1ZmZlcmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVzdW1l
QWxsTWVkaWFCdWZmZXJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgor
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgY29uc3QpOgorICAg
ICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjptZWRpYVBsYXliYWNrRXhpc3RzKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6Om1lZGlhUGxheWJhY2tJc1BhdXNlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpwYXVzZUFsbE1lZGlhUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6
c3VzcGVuZEFsbE1lZGlhUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6bWVkaWFT
ZXNzaW9uR3JvdXBJZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnJl
c3VtZUFsbE1lZGlhUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3VzcGVuZEFs
bE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnJlc3VtZUFsbE1lZGlh
QnVmZmVyaW5nKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9h
dWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1Bs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnBhdXNlQWxsTWVkaWFQbGF5YmFja0Zvckdyb3VwKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6bWVkaWFQbGF5YmFj
a0lzUGF1c2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
cjo6c3VzcGVuZEFsbE1lZGlhUGxheWJhY2tGb3JHcm91cCk6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91
cCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1c3Bl
bmRBbGxNZWRpYUJ1ZmZlcmluZ0Zvckdyb3VwKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlcjo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmdGb3JHcm91cCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OmZvckVhY2hTZXNz
aW9uSW5Hcm91cCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OnBhdXNlQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3VzcGVuZEFsbE1lZGlhUGxh
eWJhY2tGb3JEb2N1bWVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1
c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3VtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6cmVzdW1lQWxsTWVkaWFCdWZmZXJp
bmdGb3JEb2N1bWVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXI6OmZvckVhY2hEb2N1bWVudFNlc3Npb24pOiBEZWxldGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oOgorCiAyMDIx
LTAxLTE4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHRl
bmQgZ2V0VXNlck1lZGlhIHF1aXJrIHRvIHdhcmJ5cGFya2VyLmNvbQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmluZGV4IDJkMWI4OTBmYTBj
NWJiYjk5OGYzZTA2MTI4YjQzZTBlOWIwMTNmMTUuLmJmM2RlMjI3YzQwODdhNjExMTRlMzIyYzIx
MzljODRmOTEyZGZiMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQ29udGV4dC5jcHAKQEAgLTQ1NSwxMCArNDU1LDExIEBAIHZvaWQgQXVkaW9Db250ZXh0
OjpzdXNwZW5kUGxheWJhY2soKQogICAgIH0pOwogfQogCi1Eb2N1bWVudElkZW50aWZpZXIgQXVk
aW9Db250ZXh0Ojpob3N0aW5nRG9jdW1lbnRJZGVudGlmaWVyKCkgY29uc3QKK01lZGlhU2Vzc2lv
bkdyb3VwSWRlbnRpZmllciBBdWRpb0NvbnRleHQ6Om1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmll
cigpIGNvbnN0CiB7CiAgICAgYXV0byogZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4obV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KTsKLSAgICByZXR1cm4gZG9jdW1lbnQgPyBkb2N1bWVudC0+
aWRlbnRpZmllcigpIDogRG9jdW1lbnRJZGVudGlmaWVyIHsgfTsKKyAgICBPcHRpb25hbDxQYWdl
SWRlbnRpZmllcj4gcGFnZUlEID0gZG9jdW1lbnQgPyBkb2N1bWVudC0+cGFnZUlEKCkgOiBXVEY6
Om51bGxvcHQ7CisgICAgcmV0dXJuIHBhZ2VJRCA/IG1ha2VPYmplY3RJZGVudGlmaWVyPE1lZGlh
U2Vzc2lvbkdyb3VwSWRlbnRpZmllclR5cGU+KHBhZ2VJRC0+dG9VSW50NjQoKSkgOiBNZWRpYVNl
c3Npb25Hcm91cElkZW50aWZpZXIgeyB9OwogfQogCiBib29sIEF1ZGlvQ29udGV4dDo6aXNTdXNw
ZW5kZWQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmgKaW5kZXggMWU3OWFmYjdmYTJjODQzNGEyNmJlMjk3NGUxZGIxN2EwZjQwNjRhZS4u
YTIzMjIwNjAzODg4YWI0YjlkZGEyOTY3ZDJmY2QxODIxYmFmYzk0NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC0xMjAsNyArMTIwLDcg
QEAgcHJpdmF0ZToKICAgICBib29sIHNob3VsZE92ZXJyaWRlQmFja2dyb3VuZFBsYXliYWNrUmVz
dHJpY3Rpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBjYW5Qcm9kdWNlQXVkaW8oKSBjb25z
dCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgpIGNvbnN0IGZp
bmFsOwotICAgIERvY3VtZW50SWRlbnRpZmllciBob3N0aW5nRG9jdW1lbnRJZGVudGlmaWVyKCkg
Y29uc3QgZmluYWw7CisgICAgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lv
bkdyb3VwSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOwogCiAgICAgLy8gTWVkaWFDYW5TdGFydExp
c3RlbmVyLgogICAgIHZvaWQgbWVkaWFDYW5TdGFydChEb2N1bWVudCYpIG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDQxOWEwOTExODQzMWIzYmZiZWY1ZjAwNjZjMDEzMDQyMmYwNDdlY2YuLjFlZGMwZWQ3NmVhOTQz
OTdmMjI1NTgyMzBhMWZhYTNjOTQwMDYyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwODYsNiArMTA4Niw3IEBACiAJCTQx
NkU2RkU4MUJCRDEyREYwMDBBNjA1MyAvKiBXcml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5z
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgw
NjFCQjMxMTBEMDBCNzY0RTkgLyogV3JpdGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU5
MUJCRDEyRTUwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzY0
RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU5MUJCRDEyRTUwMDBBNjA1MyAvKiBXcml0
YWJsZVN0cmVhbUJ1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RTggLyogV3JpdGFibGVTdHJlYW1CdWls
dGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTQxNkVDQUU1MjVCNThDQzQwMEIzNERBNSAvKiBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkVDQUUz
MjVCNThDQzQwMEIzNERBNSAvKiBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTZGRDI1RjI0MEZB
NEU1MDA2NjYxRDggLyogTm93UGxheWluZ0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkZEMjVEMjQwRUUxQUUwMDY2NjFEOCAvKiBOb3dQbGF5
aW5nSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTQxNzI1M0FCMTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250
YWluZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sVGV4dFRyYWNrQ29u
dGFpbmVyRWxlbWVudC5oICovOyB9OwogCQk0MTc2MTJBRjFFM0E5OTQwMDBDM0Q4MUQgLyogTGli
V2ViUlRDTWVkaWFFbmRwb2ludC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTc2MTJBQjFFM0E5OTNCMDBDM0Q4MUQgLyogTGliV2ViUlRDTWVkaWFF
bmRwb2ludC5jcHAgKi87IH07CkBAIC03NzQ0LDYgKzc3NDUsNyBAQAogCQk0MTZENzU5RjIwQzY0
NDEzMDBEMDJEMkMgLyogTmV0d29ya0xvYWRJbmZvcm1hdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBOZXR3b3JrTG9hZEluZm9ybWF0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxNkUwQjM3MjA5QkMzQzIwMDRBOTVEOSAvKiBGZXRjaElkZW50aWZp
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmV0Y2hJZGVudGlmaWVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNkUyOUE1MTAyRkE5NjIwMDdGQzE0RSAv
KiBXb3JrZXJSZXBvcnRpbmdQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXb3JrZXJSZXBvcnRpbmdQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
MTZFQ0FFMzI1QjU4Q0M0MDBCMzREQTUgLyogTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRp
Zmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTZGODA3OTI0NTA5RjMyMDBC
NjhGMDIgLyogV2luZG93RGlzcGxheUNhcHR1cmVyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdpbmRvd0Rpc3BsYXlDYXB0dXJlck1hYy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTZGODA3QTI0NTA5RjMyMDBCNjhGMDIgLyogU2NyZWVuRGlzcGxheUNh
cHR1cmVyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Ny
ZWVuRGlzcGxheUNhcHR1cmVyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTZGODA3QjI0NTA5RjMzMDBCNjhGMDIgLyogV2luZG93RGlzcGxheUNhcHR1cmVyTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2luZG93RGlzcGxheUNhcHR1
cmVyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjc1NzIsNiArMjc1NzQs
NyBAQAogCQkJCUNERjJCMDAzMTgxRjA1OUMwMEYyQjQyNCAvKiBNZWRpYURlc2NyaXB0aW9uLmgg
Ki8sCiAJCQkJQ0Q2NDFFQzcxODFFRDYwMTAwRUU0QzQxIC8qIE1lZGlhU2FtcGxlLmggKi8sCiAJ
CQkJQTE3RDI3NUQxRUFDNTc5ODAwQkYwMUU3IC8qIE1lZGlhU2VsZWN0aW9uT3B0aW9uLmggKi8s
CisJCQkJNDE2RUNBRTMyNUI1OENDNDAwQjM0REE1IC8qIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRp
Zmllci5oICovLAogCQkJCTQxNDQ2MEEwMjQxMjk5NDEwMDgxNEJFNyAvKiBNZWRpYVNlc3Npb25J
ZGVudGlmaWVyLmggKi8sCiAJCQkJQTMxQUM3MEEyNDM0MDk4NDAwN0YwMEEyIC8qIE1lZGlhU3Ry
YXRlZ3kuY3BwICovLAogCQkJCTlCMTIyOUM2MjNGRTRENUYwMDhDQTc1MSAvKiBNZWRpYVN0cmF0
ZWd5LmggKi8sCkBAIC0zMTQzMiw2ICszMTQzNSw3IEBACiAJCQkJNDZFQkVBMDIxQjdENEQ2NTAw
QkU0OTQxIC8qIENvbGxlY3Rpb25UcmF2ZXJzYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzQzQ0
MjAwMEY4MTNBRTEwMEMxQTYzNCAvKiBDb2xsZWN0aW9uVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjI3NTM1NjcwQjA1MzgxNDAwMkNFNjRGIC8qIENvbG9yLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0MTZFQ0FFNTI1QjU4Q0M0MDBCMzREQTUgLyogTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDMzMwQTIyMzEzRUMxOTZCMDAwMEI0NUIgLyogQ29sb3JD
aG9vc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMzdDREVCRDE0OUVGMjAzMDA0MjA5MEQgLyog
Q29sb3JDaG9vc2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGNDhEMkFBNTIxNTk3NDBE
MDBDNjc1MkIgLyogQ29sb3JDb2NvYS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCBkMWU3YzExNzMxZmVhOGY0YzUwMmQ2MTM2Y2UxZWU5ZTAxNzBhNzkzLi5kNGE5
ZmU4ZDI1OTNiNGJkYTZmZGNiNzZkMjkyNThhYzNmOGVhN2E2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKQEAgLTc1NSwxMCArNzU1LDYgQEAgRG9jdW1lbnQ6On5Eb2N1bWVudCgpCiAgICAgaWYg
KG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRvY3VtZW50KCkgPT0gdGhpcykKICAgICAgICAgbV9j
YWNoZWRSZXNvdXJjZUxvYWRlci0+c2V0RG9jdW1lbnQobnVsbHB0cik7CiAKLSNpZiBFTkFCTEUo
VklERU8pCi0gICAgcGF1c2VBbGxNZWRpYVBsYXliYWNrKCk7Ci0jZW5kaWYKLQogICAgIC8vIFdl
IG11c3QgY2FsbCBjbGVhclJhcmVEYXRhKCkgaGVyZSBzaW5jZSBhIERvY3VtZW50IGNsYXNzIGlu
aGVyaXRzIFRyZWVTY29wZQogICAgIC8vIGFzIHdlbGwgYXMgTm9kZS4gU2VlIGEgY29tbWVudCBv
biBUcmVlU2NvcGUuaCBmb3IgdGhlIHJlYXNvbi4KICAgICBpZiAoaGFzUmFyZURhdGEoKSkKQEAg
LTE4NTMsNTAgKzE4NDksNiBAQCB2b2lkIERvY3VtZW50Ojpmb3JFYWNoTWVkaWFFbGVtZW50KGNv
bnN0IEZ1bmN0aW9uPHZvaWQoSFRNTE1lZGlhRWxlbWVudCYpPiYgZnVuYwogICAgICAgICBmdW5j
dGlvbihlbGVtZW50KTsKIH0KIAotYm9vbCBEb2N1bWVudDo6bWVkaWFQbGF5YmFja0V4aXN0cygp
Ci17Ci0gICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCi0gICAgICAgIHJl
dHVybiAhcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5oYXNOb1Nlc3Npb24oKTsKLSAgICBy
ZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgRG9jdW1lbnQ6Om1lZGlhUGxheWJhY2tJc1BhdXNlZCgp
Ci17Ci0gICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCi0gICAgICAgIHJl
dHVybiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPm1lZGlhUGxheWJhY2tJc1BhdXNlZChp
ZGVudGlmaWVyKCkpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotdm9pZCBEb2N1bWVudDo6cGF1
c2VBbGxNZWRpYVBsYXliYWNrKCkKLXsKLSAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZF
eGlzdHMoKSkKLSAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5wYXVzZUFsbE1l
ZGlhUGxheWJhY2tGb3JEb2N1bWVudChpZGVudGlmaWVyKCkpOwotfQotCi12b2lkIERvY3VtZW50
OjpzdXNwZW5kQWxsTWVkaWFQbGF5YmFjaygpCi17Ci0gICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFu
YWdlcklmRXhpc3RzKCkpCi0gICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+c3Vz
cGVuZEFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudChpZGVudGlmaWVyKCkpOwotfQotCi12b2lk
IERvY3VtZW50OjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrKCkKLXsKLSAgICBpZiAoYXV0byogcGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpz
aGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKLSAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLT5yZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoaWRlbnRpZmllcigpKTsKLX0K
LQotdm9pZCBEb2N1bWVudDo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCkKLXsKLSAgICBpZiAo
YXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKLSAgICAgICAgcGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLT5zdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChpZGVudGlm
aWVyKCkpOwotfQotCi12b2lkIERvY3VtZW50OjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpCi17
Ci0gICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCi0gICAgICAgIHBsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVu
dChpZGVudGlmaWVyKCkpOwotfQotCiAjZW5kaWYKIAogU3RyaW5nIERvY3VtZW50Ojpub2RlTmFt
ZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDA4YzQwNTg0MzU4ZjRmNzdjNzIxNWU5
MGRiNzEwMzI0YTg0NTkxNmYuLmEyN2JjYTE3YTViMDdjNTcxY2E4N2Y3MTc1ODY4OGM5ZGVhOTdl
MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTE5LDE2ICsxMTE5LDYgQEAgcHVibGljOgog
ICAgIHZvaWQgcmVnaXN0ZXJGb3JWaXNpYmlsaXR5U3RhdGVDaGFuZ2VkQ2FsbGJhY2tzKFZpc2li
aWxpdHlDaGFuZ2VDbGllbnQmKTsKICAgICB2b2lkIHVucmVnaXN0ZXJGb3JWaXNpYmlsaXR5U3Rh
dGVDaGFuZ2VkQ2FsbGJhY2tzKFZpc2liaWxpdHlDaGFuZ2VDbGllbnQmKTsKIAotI2lmIEVOQUJM
RShWSURFTykKLSAgICBib29sIG1lZGlhUGxheWJhY2tFeGlzdHMoKTsKLSAgICBib29sIG1lZGlh
UGxheWJhY2tJc1BhdXNlZCgpOwotICAgIHZvaWQgcGF1c2VBbGxNZWRpYVBsYXliYWNrKCk7Ci0g
ICAgdm9pZCBzdXNwZW5kQWxsTWVkaWFQbGF5YmFjaygpOwotICAgIHZvaWQgcmVzdW1lQWxsTWVk
aWFQbGF5YmFjaygpOwotICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCk7Ci0gICAg
dm9pZCByZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpOwotI2VuZGlmCi0KICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldFNob3VsZENyZWF0ZVJlbmRlcmVycyhib29sKTsKICAgICBib29sIHNob3Vs
ZENyZWF0ZVJlbmRlcmVycygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAppbmRleCA0NDExMmU2MmZmNjVhYWNmNjViZGNhMDhiZTdkNWI4OTRhN2QxZWE0Li4yZWNi
NWI0MjE5ZjJmNDdhZmQwYWY3M2ZkZmY3NzAyODRkODRkN2UyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTMwNTcsNiArMzA1NywxMiBAQCBNZWRpYVBsYXll
cjo6TW92aWVMb2FkVHlwZSBIVE1MTWVkaWFFbGVtZW50Ojptb3ZpZUxvYWRUeXBlKCkgY29uc3QK
ICAgICByZXR1cm4gbV9wbGF5ZXIgPyBtX3BsYXllci0+bW92aWVMb2FkVHlwZSgpIDogTWVkaWFQ
bGF5ZXI6Ok1vdmllTG9hZFR5cGU6OlVua25vd247CiB9CiAKK01lZGlhU2Vzc2lvbkdyb3VwSWRl
bnRpZmllciBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSBj
b25zdAoreworICAgIGF1dG8gcGFnZUlEID0gZG9jdW1lbnQoKS5wYWdlSUQoKTsKKyAgICByZXR1
cm4gcGFnZUlEID8gbWFrZU9iamVjdElkZW50aWZpZXI8TWVkaWFTZXNzaW9uR3JvdXBJZGVudGlm
aWVyVHlwZT4ocGFnZUlELT50b1VJbnQ2NCgpKSA6IE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmll
ciB7IH07Cit9CisKIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6aGFzQXVkaW8oKSBjb25zdAogewog
ICAgIHJldHVybiBtX3BsYXllciA/IG1fcGxheWVyLT5oYXNBdWRpbygpIDogZmFsc2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGRlOWQ1ZjgwN2UxOTk1YWNjZWI0
NjQ0MTc5MjQzMjU4YTVlYTRjZTEuLmM3YmU3MDZkZGZkNzI4ZjVmNTI3ZWVkYzQ1YTQ1ZmE0ZDg3
MzBjZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC0xOTcsNyAr
MTk3LDcgQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgaW5BY3RpdmVEb2N1bWVudCgpIGNvbnN0
IHsgcmV0dXJuIG1faW5BY3RpdmVEb2N1bWVudDsgfQogCi0gICAgRG9jdW1lbnRJZGVudGlmaWVy
IGhvc3RpbmdEb2N1bWVudElkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBkb2N1bWVu
dCgpLmlkZW50aWZpZXIoKTsgfQorICAgIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSBjb25zdCBmaW5hbDsKIAogLy8gRE9NIEFQSQogLy8g
ZXJyb3Igc3RhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGNlOTE2ZjhmMjA5MWY5MWNmYWZlMmUz
OTg5NTY3MmViZWViZDE4NTUuLjVkY2FmNDRiZWM4Y2RjYTJjMTU1MmZhMTllZjI0OWZmNzU4OTk0
ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMjA3NywzNyArMjA3NywyNiBAQCB2b2lkIFBhZ2U6
OnN0b3BNZWRpYUNhcHR1cmUoKQogYm9vbCBQYWdlOjptZWRpYVBsYXliYWNrRXhpc3RzKCkKIHsK
ICNpZiBFTkFCTEUoVklERU8pCi0gICAgYm9vbCBtZWRpYVBsYXliYWNrRXhpc3RzID0gZmFsc2U7
Ci0gICAgZm9yRWFjaERvY3VtZW50KFsmbWVkaWFQbGF5YmFja0V4aXN0c10gKERvY3VtZW50JiBk
b2N1bWVudCkgewotICAgICAgICBpZiAoZG9jdW1lbnQubWVkaWFQbGF5YmFja0V4aXN0cygpKQot
ICAgICAgICAgICAgbWVkaWFQbGF5YmFja0V4aXN0cyA9IHRydWU7Ci0gICAgfSk7Ci0gICAgcmV0
dXJuIG1lZGlhUGxheWJhY2tFeGlzdHM7Ci0jZWxzZQotICAgIHJldHVybiBmYWxzZTsKKyAgICBp
ZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKKyAgICAgICAgcmV0dXJuICFwbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPmhhc05vU2Vzc2lvbigpOwogI2VuZGlmCisgICAgcmV0
dXJuIGZhbHNlOwogfQogCiBib29sIFBhZ2U6Om1lZGlhUGxheWJhY2tJc1BhdXNlZCgpCiB7CiAj
aWYgRU5BQkxFKFZJREVPKQotICAgIGJvb2wgbWVkaWFQbGF5YmFja0lzUGF1c2VkID0gZmFsc2U7
Ci0gICAgZm9yRWFjaERvY3VtZW50KFsmbWVkaWFQbGF5YmFja0lzUGF1c2VkXSAoRG9jdW1lbnQm
IGRvY3VtZW50KSB7Ci0gICAgICAgIGlmIChkb2N1bWVudC5tZWRpYVBsYXliYWNrSXNQYXVzZWQo
KSkKLSAgICAgICAgICAgIG1lZGlhUGxheWJhY2tJc1BhdXNlZCA9IHRydWU7Ci0gICAgfSk7Ci0g
ICAgcmV0dXJuIG1lZGlhUGxheWJhY2tJc1BhdXNlZDsKLSNlbHNlCi0gICAgcmV0dXJuIGZhbHNl
OworICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICByZXR1
cm4gcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5tZWRpYVBsYXliYWNrSXNQYXVzZWQobWVk
aWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkpOwogI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOwog
fQogCiB2b2lkIFBhZ2U6OnBhdXNlQWxsTWVkaWFQbGF5YmFjaygpCiB7CiAjaWYgRU5BQkxFKFZJ
REVPKQotICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7Ci0gICAg
ICAgIGRvY3VtZW50LnBhdXNlQWxsTWVkaWFQbGF5YmFjaygpOwotICAgIH0pOworICAgIGlmIChh
dXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXItPnBhdXNlQWxsTWVkaWFQbGF5YmFja0Zvckdyb3VwKG1lZGlhU2Vzc2lvbkdy
b3VwSWRlbnRpZmllcigpKTsKICNlbmRpZgogfQogCkBAIC0yMTE4LDE0ICsyMTA3LDIyIEBAIHZv
aWQgUGFnZTo6c3VzcGVuZEFsbE1lZGlhUGxheWJhY2soKQogICAgIGlmIChtX21lZGlhUGxheWJh
Y2tJc1N1c3BlbmRlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9yRWFjaERvY3VtZW50KFtd
IChEb2N1bWVudCYgZG9jdW1lbnQpIHsKLSAgICAgICAgZG9jdW1lbnQuc3VzcGVuZEFsbE1lZGlh
UGxheWJhY2soKTsKLSAgICB9KTsKKyAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlz
dHMoKSkKKyAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5zdXNwZW5kQWxsTWVk
aWFQbGF5YmFja0Zvckdyb3VwKG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcigpKTsKIAorICAg
IC8vIEZJWE1FOiBXZSBjYW5ub3Qgc2V0IG1fbWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkIGJlZm9y
ZSwgc2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI4MjkjYzcu
CiAgICAgbV9tZWRpYVBsYXliYWNrSXNTdXNwZW5kZWQgPSB0cnVlOwogI2VuZGlmCiB9CiAKKyNp
ZiBFTkFCTEUoVklERU8pCitNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgUGFnZTo6bWVkaWFT
ZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkgY29uc3QKK3sKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBt
X21haW5GcmFtZS0+bG9hZGVyKCkucGFnZUlEKCk7CisgICAgcmV0dXJuIGlkZW50aWZpZXIgPyBt
YWtlT2JqZWN0SWRlbnRpZmllcjxNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXJUeXBlPihpZGVu
dGlmaWVyLT50b1VJbnQ2NCgpKSA6IE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciB7IH07Cit9
CisjZW5kaWYKKwogdm9pZCBQYWdlOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrKCkKIHsKICNpZiBF
TkFCTEUoVklERU8pCkBAIC0yMTM0LDkgKzIxMzEsOCBAQCB2b2lkIFBhZ2U6OnJlc3VtZUFsbE1l
ZGlhUGxheWJhY2soKQogICAgICAgICByZXR1cm47CiAgICAgbV9tZWRpYVBsYXliYWNrSXNTdXNw
ZW5kZWQgPSBmYWxzZTsKIAotICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3Vt
ZW50KSB7Ci0gICAgICAgIGRvY3VtZW50LnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKTsKLSAgICB9
KTsKKyAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKKyAgICAgICAgcGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5yZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXAo
bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkpOwogI2VuZGlmCiB9CiAKQEAgLTIxNDgsOSAr
MjE0NCw4IEBAIHZvaWQgUGFnZTo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCkKICAgICAgICAg
cmV0dXJuOwogICAgIG1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCA9IHRydWU7CiAKLSAgICBm
b3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgewotICAgICAgICBkb2N1bWVu
dC5zdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKLSAgICB9KTsKKyAgICBpZiAoYXV0byogcGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpz
aGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKKyAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLT5zdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JHcm91cChtZWRpYVNlc3Npb25Hcm91cElk
ZW50aWZpZXIoKSk7CiAjZW5kaWYKIH0KIApAQCAtMjE2MSw5ICsyMTU2LDggQEAgdm9pZCBQYWdl
OjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpCiAgICAgICAgIHJldHVybjsKICAgICBtX21lZGlh
QnVmZmVyaW5nSXNTdXNwZW5kZWQgPSBmYWxzZTsKIAotICAgIGZvckVhY2hEb2N1bWVudChbXSAo
RG9jdW1lbnQmIGRvY3VtZW50KSB7Ci0gICAgICAgIGRvY3VtZW50LnJlc3VtZUFsbE1lZGlhQnVm
ZmVyaW5nKCk7Ci0gICAgfSk7CisgICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3Rz
KCkpCisgICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+cmVzdW1lQWxsTWVkaWFC
dWZmZXJpbmdGb3JHcm91cChtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSk7CiAjZW5kaWYK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaAppbmRleCAxYmI0MzE2NTZkZTI0NmY2YTQ2NmE5NTBkODhkNTJhZjg5
YWMwOWFjLi40NjhkNDgwYWM5ZjhmYTZiNGU4OTM3OTE0MDUyNjA5ODgzMGY2OTMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkxheW91dFJlY3QuaCIKICNpbmNs
dWRlICJMZW5ndGhCb3guaCIKICNpbmNsdWRlICJNZWRpYVByb2R1Y2VyLmgiCisjaW5jbHVkZSAi
TWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUGFnaW5hdGlvbi5oIgog
I2luY2x1ZGUgIlBsYXliYWNrVGFyZ2V0Q2xpZW50Q29udGV4dElkZW50aWZpZXIuaCIKICNpbmNs
dWRlICJSVENDb250cm9sbGVyLmgiCkBAIC04NTMsNiArODU0LDcgQEAgcHJpdmF0ZToKIAogI2lm
IEVOQUJMRShWSURFTykKICAgICB2b2lkIHBsYXliYWNrQ29udHJvbHNNYW5hZ2VyVXBkYXRlVGlt
ZXJGaXJlZCgpOworICAgIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25H
cm91cElkZW50aWZpZXIoKSBjb25zdDsKICNlbmRpZgogCiAgICAgVmVjdG9yPFJlZjxQbHVnaW5W
aWV3QmFzZT4+IHBsdWdpblZpZXdzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAppbmRleCA3OTVlOGRkZDM5MzE2MjRhZDJh
NWNjMzMwYzkyNWJlN2RlZmMzODk1Li5jOTgxMjEzZDVlOTA3NmU0MmViOTBkYjRmM2ExMTU2YjUy
ZjRiNjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9y
bU1lZGlhU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRm
b3JtTWVkaWFTZXNzaW9uLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
bmNsdWRlICJEb2N1bWVudElkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJNZWRpYVNlc3Npb25Hcm91
cElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJNZWRpYVNlc3Npb25JZGVudGlmaWVyLmgiCiAjaW5j
bHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CkBAIC0yNTIsNyAr
MjUyLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzUGxheWluZ09uU2Vjb25kU2Ny
ZWVuKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgRG9jdW1lbnRJZGVu
dGlmaWVyIGhvc3RpbmdEb2N1bWVudElkZW50aWZpZXIoKSBjb25zdCA9IDA7CisgICAgdmlydHVh
bCBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVy
KCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCBib29sIGhhc01lZGlhU3RyZWFtU291cmNlKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKaW5kZXgg
MDA4MDE5MDRjMGMyMjYxODNjNGM0YTA5ZjdhY2I1OTQ3Zjg2MGMzZi4uNDA1NDgzYmNhOGQwNmI3
MTk2YTgzYWMwOTMyMWI5MzdjNDI4M2IyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBA
IC00NjcsMTggKzQ2NywxOCBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6cHJv
Y2Vzc1N5c3RlbURpZFdha2UoKQogICAgIH0pOwogfQogCi12b2lkIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6cGF1c2VBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVu
dGlmaWVyIGRvY3VtZW50SWRlbnRpZmllcikKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyOjpwYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cChNZWRpYVNlc3Npb25Hcm91cElkZW50
aWZpZXIgbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKQogewotICAgIGZvckVhY2hEb2N1bWVu
dFNlc3Npb24oZG9jdW1lbnRJZGVudGlmaWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7CisgICAgZm9y
RWFjaFNlc3Npb25Jbkdyb3VwKG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciwgW10oYXV0byYg
c2Vzc2lvbikgewogICAgICAgICBzZXNzaW9uLnBhdXNlU2Vzc2lvbigpOwogICAgIH0pOwogfQog
CiAKLWJvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjptZWRpYVBsYXliYWNrSXNQYXVz
ZWQoRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmllcikKK2Jvb2wgUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjptZWRpYVBsYXliYWNrSXNQYXVzZWQoTWVkaWFTZXNzaW9uR3Jv
dXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcikKIHsKICAgICBib29sIG1l
ZGlhUGxheWJhY2tJc1BhdXNlZCA9IGZhbHNlOwotICAgIGZvckVhY2hEb2N1bWVudFNlc3Npb24o
ZG9jdW1lbnRJZGVudGlmaWVyLCBbJm1lZGlhUGxheWJhY2tJc1BhdXNlZF0oYXV0byYgc2Vzc2lv
bikgeworICAgIGZvckVhY2hTZXNzaW9uSW5Hcm91cChtZWRpYVNlc3Npb25Hcm91cElkZW50aWZp
ZXIsIFsmbWVkaWFQbGF5YmFja0lzUGF1c2VkXShhdXRvJiBzZXNzaW9uKSB7CiAgICAgICAgIGlm
IChzZXNzaW9uLnN0YXRlKCkgPT0gUGxhdGZvcm1NZWRpYVNlc3Npb246OlBhdXNlZCkKICAgICAg
ICAgICAgIG1lZGlhUGxheWJhY2tJc1BhdXNlZCA9IHRydWU7CiAgICAgfSk7CkBAIC00OTIsMzAg
KzQ5MiwzMCBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3RvcEFsbE1lZGlh
UGxheWJhY2tGb3JQcm9jZXNzKCkKICAgICB9KTsKIH0KIAotdm9pZCBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXI6OnN1c3BlbmRBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoRG9jdW1lbnRJ
ZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmllcikKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjpzdXNwZW5kQWxsTWVkaWFQbGF5YmFja0Zvckdyb3VwKE1lZGlhU2Vzc2lvbkdyb3Vw
SWRlbnRpZmllciBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIpCiB7Ci0gICAgZm9yRWFjaERv
Y3VtZW50U2Vzc2lvbihkb2N1bWVudElkZW50aWZpZXIsIFtdKGF1dG8mIHNlc3Npb24pIHsKKyAg
ICBmb3JFYWNoU2Vzc2lvbkluR3JvdXAobWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLCBbXShh
dXRvJiBzZXNzaW9uKSB7CiAgICAgICAgIHNlc3Npb24uYmVnaW5JbnRlcnJ1cHRpb24oUGxhdGZv
cm1NZWRpYVNlc3Npb246OlBsYXliYWNrU3VzcGVuZGVkKTsKICAgICB9KTsKIH0KIAotdm9pZCBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1
bWVudChEb2N1bWVudElkZW50aWZpZXIgZG9jdW1lbnRJZGVudGlmaWVyKQordm9pZCBQbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cChNZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXIgbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKQogewot
ICAgIGZvckVhY2hEb2N1bWVudFNlc3Npb24oZG9jdW1lbnRJZGVudGlmaWVyLCBbXShhdXRvJiBz
ZXNzaW9uKSB7CisgICAgZm9yRWFjaFNlc3Npb25Jbkdyb3VwKG1lZGlhU2Vzc2lvbkdyb3VwSWRl
bnRpZmllciwgW10oYXV0byYgc2Vzc2lvbikgewogICAgICAgICBzZXNzaW9uLmVuZEludGVycnVw
dGlvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWF5UmVzdW1lUGxheWluZyk7CiAgICAgfSk7CiB9
CiAKLXZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdXNwZW5kQWxsTWVkaWFCdWZm
ZXJpbmdGb3JEb2N1bWVudChEb2N1bWVudElkZW50aWZpZXIgZG9jdW1lbnRJZGVudGlmaWVyKQor
dm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmlu
Z0Zvckdyb3VwKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25Hcm91cElk
ZW50aWZpZXIpCiB7Ci0gICAgZm9yRWFjaERvY3VtZW50U2Vzc2lvbihkb2N1bWVudElkZW50aWZp
ZXIsIFtdKGF1dG8mIHNlc3Npb24pIHsKKyAgICBmb3JFYWNoU2Vzc2lvbkluR3JvdXAobWVkaWFT
ZXNzaW9uR3JvdXBJZGVudGlmaWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7CiAgICAgICAgIHNlc3Np
b24uc3VzcGVuZEJ1ZmZlcmluZygpOwogICAgIH0pOwogfQogCi12b2lkIFBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChEb2N1bWVu
dElkZW50aWZpZXIgZG9jdW1lbnRJZGVudGlmaWVyKQordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yR3JvdXAoTWVkaWFTZXNzaW9uR3Jv
dXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcikKIHsKLSAgICBmb3JFYWNo
RG9jdW1lbnRTZXNzaW9uKGRvY3VtZW50SWRlbnRpZmllciwgW10oYXV0byYgc2Vzc2lvbikgewor
ICAgIGZvckVhY2hTZXNzaW9uSW5Hcm91cChtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIsIFtd
KGF1dG8mIHNlc3Npb24pIHsKICAgICAgICAgc2Vzc2lvbi5yZXN1bWVCdWZmZXJpbmcoKTsKICAg
ICB9KTsKIH0KQEAgLTUzOSwxMCArNTM5LDEzIEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjpmb3JFYWNoTWF0Y2hpbmdTZXNzaW9uKGNvbnN0IEZ1bmN0aW9uPGJvb2woY29uCiAg
ICAgfQogfQogCi12b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6Zm9yRWFjaERvY3Vt
ZW50U2Vzc2lvbihEb2N1bWVudElkZW50aWZpZXIgZG9jdW1lbnRJZGVudGlmaWVyLCBjb25zdCBG
dW5jdGlvbjx2b2lkKFBsYXRmb3JtTWVkaWFTZXNzaW9uJik+JiBjYWxsYmFjaykKK3ZvaWQgUGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpmb3JFYWNoU2Vzc2lvbkluR3JvdXAoTWVkaWFTZXNz
aW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciwgY29uc3QgRnVu
Y3Rpb248dm9pZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpPiYgY2FsbGJhY2spCiB7Ci0gICAgZm9y
RWFjaE1hdGNoaW5nU2Vzc2lvbihbZG9jdW1lbnRJZGVudGlmaWVyXShhdXRvJiBzZXNzaW9uKSB7
Ci0gICAgICAgIHJldHVybiBzZXNzaW9uLmNsaWVudCgpLmhvc3RpbmdEb2N1bWVudElkZW50aWZp
ZXIoKSA9PSBkb2N1bWVudElkZW50aWZpZXI7CisgICAgaWYgKCFtZWRpYVNlc3Npb25Hcm91cElk
ZW50aWZpZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGZvckVhY2hNYXRjaGluZ1Nlc3Npb24o
W21lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcl0oYXV0byYgc2Vzc2lvbikgeworICAgICAgICBy
ZXR1cm4gc2Vzc2lvbi5jbGllbnQoKS5tZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSA9PSBt
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXI7CiAgICAgfSwgWyZjYWxsYmFja10oYXV0byYgc2Vz
c2lvbikgewogICAgICAgICBjYWxsYmFjayhzZXNzaW9uKTsKICAgICB9KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyLmgKaW5kZXggMGZiYzZiZDU1ZDQ0ZWQzYzYyOWIzM2Y5MDM3ZTYxNDdiZTdhYzE3OS4u
Yjc5MWI3MTE5ZmI1YWUwM2ZhZDk1ZDA4M2NjMWIwZGJlYTYyODkzNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyX2gKICNkZWZpbmUgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyX2gKIAotI2luY2x1
ZGUgIkRvY3VtZW50SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIkdlbmVyaWNUYXNrUXVldWUuaCIK
ICNpbmNsdWRlICJNZWRpYVNlc3Npb25JZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1N
ZWRpYVNlc3Npb24uaCIKQEAgLTk0LDE0ICs5MywxNCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBwcm9jZXNzV2lsbFN1c3BlbmQoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHByb2Nlc3NEaWRSZXN1bWUoKTsKIAotICAgIGJvb2wgbWVkaWFQbGF5YmFja0lzUGF1c2VkKERv
Y3VtZW50SWRlbnRpZmllcik7Ci0gICAgdm9pZCBwYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1
bWVudChEb2N1bWVudElkZW50aWZpZXIpOworICAgIGJvb2wgbWVkaWFQbGF5YmFja0lzUGF1c2Vk
KE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcik7CisgICAgdm9pZCBwYXVzZUFsbE1lZGlhUGxh
eWJhY2tGb3JHcm91cChNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIpOwogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc3RvcEFsbE1lZGlhUGxheWJhY2tGb3JQcm9jZXNzKCk7CiAKLSAgICB2b2lk
IHN1c3BlbmRBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyKTsK
LSAgICB2b2lkIHJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudChEb2N1bWVudElkZW50
aWZpZXIpOwotICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQoRG9j
dW1lbnRJZGVudGlmaWVyKTsKLSAgICB2b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yRG9j
dW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyKTsKKyAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYVBsYXli
YWNrRm9yR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKTsKKyAgICB2b2lkIHJlc3Vt
ZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cChNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIpOwor
ICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nRm9yR3JvdXAoTWVkaWFTZXNzaW9uR3Jv
dXBJZGVudGlmaWVyKTsKKyAgICB2b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yR3JvdXAo
TWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKTsKIAogICAgIGVudW0gU2Vzc2lvblJlc3RyaWN0
aW9uRmxhZ3MgewogICAgICAgICBOb1Jlc3RyaWN0aW9ucyA9IDAsCkBAIC0xNjAsNyArMTU5LDcg
QEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVTZXNzaW9uKFBsYXRmb3JtTWVk
aWFTZXNzaW9uJik7CiAKICAgICB2b2lkIGZvckVhY2hTZXNzaW9uKGNvbnN0IEZ1bmN0aW9uPHZv
aWQoUGxhdGZvcm1NZWRpYVNlc3Npb24mKT4mKTsKLSAgICB2b2lkIGZvckVhY2hEb2N1bWVudFNl
c3Npb24oRG9jdW1lbnRJZGVudGlmaWVyLCBjb25zdCBGdW5jdGlvbjx2b2lkKFBsYXRmb3JtTWVk
aWFTZXNzaW9uJik+Jik7CisgICAgdm9pZCBmb3JFYWNoU2Vzc2lvbkluR3JvdXAoTWVkaWFTZXNz
aW9uR3JvdXBJZGVudGlmaWVyLCBjb25zdCBGdW5jdGlvbjx2b2lkKFBsYXRmb3JtTWVkaWFTZXNz
aW9uJik+Jik7CiAgICAgYm9vbCBhbnlPZlNlc3Npb25zKGNvbnN0IEZ1bmN0aW9uPGJvb2woY29u
c3QgUGxhdGZvcm1NZWRpYVNlc3Npb24mKT4mKSBjb25zdDsKIAogICAgIGJvb2wgaXNBcHBsaWNh
dGlvbkluQmFja2dyb3VuZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNBcHBsaWNhdGlvbkluQmFja2dy
b3VuZDsgfQo=
</data>
<flag name="commit-queue"
          id="435606"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417820</attachid>
            <date>2021-01-18 02:14:14 -0800</date>
            <delta_ts>2021-01-18 02:55:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220706-20210118111412.patch</filename>
            <type>text/plain</type>
            <size>28370</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmRlZTRkOTNmYTU0ZjJk
ZTZkOGI1ZTcyMmFkMzYzY2QyMjkyYTQzNS4uYjMxMzA0MTgyNDEwZjYzZmM0OGY1ODQ3MzRjNTAw
NzM5ODA3ZjZhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDIxLTAxLTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgYSBNZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDcwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgZ29pbmcgZnJvbSBwYWdlIHRvIGRvY3VtZW50IHRv
IG1lZGlhIHNlc3Npb24sIGludHJvZHVjZSBhIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciB3
aGljaCBncm91cHMgc2Vzc2lvbnMgYnkgcGFnZS4KKyAgICAgICAgV2UgY2FuIHRoZW4gZGlyZWN0
bHkgZ28gZnJvbSBwYWdlIHRvIG1lZGlhIHNlc3Npb24gdG8gc3VzcGVuZC9yZXN1bWUgcGxheSBi
YWNrLgorICAgICAgICBVcGRhdGUgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQgdG8gaW1wbGVt
ZW50IG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBpbnN0ZWFkIG9mIGhvc3RpbmdEb2N1bWVu
dElkZW50aWZpZXIuCisKKyAgICAgICAgV2UgcmVtb3ZlIHBhdXNpbmcgcGxheWJhY2sgZnJvbSBE
b2N1bWVudDo6fkRvY3VtZW50LCBhcyByZWxhdGVkIGF1ZGlvIHByb2R1Y2VycyAoQXVkaW9Db250
ZXh0LCBIVE1MTWVkaWFFbGVtZW50KQorICAgICAgICBzaG91bGQgYmUgcGF1c2VkIGluIHRoZWly
IEFjdGl2ZURPTU9iamVjdCBzdG9wIG1ldGhvZC4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0
aW5nIHRlc3RzLCB0aGlzIGlzIGEgcmVmYWN0b3JpbmcuCisKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbnRleHQ6
Om1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpB
dWRpb0NvbnRleHQ6Omhvc3RpbmdEb2N1bWVudElkZW50aWZpZXIgY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6fkRvY3VtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjptZWRpYVBsYXliYWNrRXhpc3RzKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjptZWRpYVBsYXliYWNrSXNQYXVzZWQpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBhdXNlQWxsTWVkaWFQbGF5YmFjayk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c3VzcGVuZEFsbE1lZGlhUGxheWJhY2spOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlc3VtZUFsbE1lZGlhUGxheWJh
Y2spOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1c3BlbmRBbGxNZWRp
YUJ1ZmZlcmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVzdW1l
QWxsTWVkaWFCdWZmZXJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgor
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgY29uc3QpOgorICAg
ICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjptZWRpYVBsYXliYWNrRXhpc3RzKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6Om1lZGlhUGxheWJhY2tJc1BhdXNlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpwYXVzZUFsbE1lZGlhUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6
c3VzcGVuZEFsbE1lZGlhUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6bWVkaWFT
ZXNzaW9uR3JvdXBJZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnJl
c3VtZUFsbE1lZGlhUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3VzcGVuZEFs
bE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnJlc3VtZUFsbE1lZGlh
QnVmZmVyaW5nKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9N
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpwYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6Om1lZGlhUGxheWJh
Y2tJc1BhdXNlZCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OnN1c3BlbmRBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yR3Jv
dXApOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdXNw
ZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JHcm91cCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yR3JvdXApOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpmb3JFYWNoU2Vz
c2lvbkluR3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyOjpwYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1c3BlbmRBbGxNZWRpYVBs
YXliYWNrRm9yRG9jdW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpz
dXNwZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhQnVmZmVy
aW5nRm9yRG9jdW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyOjpmb3JFYWNoRG9jdW1lbnRTZXNzaW9uKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaDoKKwogMjAy
MS0wMS0xOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRXh0
ZW5kIGdldFVzZXJNZWRpYSBxdWlyayB0byB3YXJieXBhcmtlci5jb20KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAppbmRleCAyZDFiODkwZmEw
YzViYmI5OThmM2UwNjEyOGI0M2UwZTliMDEzZjE1Li5iZjNkZTIyN2M0MDg3YTYxMTE0ZTMyMmMy
MTM5Yzg0ZjkxMmRmYjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuY3BwCkBAIC00NTUsMTAgKzQ1NSwxMSBAQCB2b2lkIEF1ZGlvQ29udGV4
dDo6c3VzcGVuZFBsYXliYWNrKCkKICAgICB9KTsKIH0KIAotRG9jdW1lbnRJZGVudGlmaWVyIEF1
ZGlvQ29udGV4dDo6aG9zdGluZ0RvY3VtZW50SWRlbnRpZmllcigpIGNvbnN0CitNZWRpYVNlc3Np
b25Hcm91cElkZW50aWZpZXIgQXVkaW9Db250ZXh0OjptZWRpYVNlc3Npb25Hcm91cElkZW50aWZp
ZXIoKSBjb25zdAogewogICAgIGF1dG8qIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7Ci0gICAgcmV0dXJuIGRvY3VtZW50ID8gZG9jdW1lbnQt
PmlkZW50aWZpZXIoKSA6IERvY3VtZW50SWRlbnRpZmllciB7IH07CisgICAgT3B0aW9uYWw8UGFn
ZUlkZW50aWZpZXI+IHBhZ2VJRCA9IGRvY3VtZW50ID8gZG9jdW1lbnQtPnBhZ2VJRCgpIDogV1RG
OjpudWxsb3B0OworICAgIHJldHVybiBwYWdlSUQgPyBtYWtlT2JqZWN0SWRlbnRpZmllcjxNZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXJUeXBlPihwYWdlSUQtPnRvVUludDY0KCkpIDogTWVkaWFT
ZXNzaW9uR3JvdXBJZGVudGlmaWVyIHsgfTsKIH0KIAogYm9vbCBBdWRpb0NvbnRleHQ6OmlzU3Vz
cGVuZGVkKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
Q29udGV4dC5oCmluZGV4IDFlNzlhZmI3ZmEyYzg0MzRhMjZiZTI5NzRlMWRiMTdhMGY0MDY0YWUu
LmEyMzIyMDYwMzg4OGFiNGI5ZGRhMjk2N2QyZmNkMTgyMWJhZmM5NDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaApAQCAtMTIwLDcgKzEyMCw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzaG91bGRPdmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jl
c3RyaWN0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpJbnRlcnJ1cHRpb25UeXBlKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wgY2FuUHJvZHVjZUF1ZGlvKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgaXNTdXNwZW5kZWQoKSBjb25zdCBm
aW5hbDsKLSAgICBEb2N1bWVudElkZW50aWZpZXIgaG9zdGluZ0RvY3VtZW50SWRlbnRpZmllcigp
IGNvbnN0IGZpbmFsOworICAgIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Np
b25Hcm91cElkZW50aWZpZXIoKSBjb25zdCBmaW5hbDsKIAogICAgIC8vIE1lZGlhQ2FuU3RhcnRM
aXN0ZW5lci4KICAgICB2b2lkIG1lZGlhQ2FuU3RhcnQoRG9jdW1lbnQmKSBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA0MTlhMDkxMTg0MzFiM2JmYmVmNWYwMDY2YzAxMzA0MjJmMDQ3ZWNmLi5jOTU2ZDRhZDFmNDNl
NTQ5ZmQyOGNjNzQ4MzU1MjJhYTZjMjBiOWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDg2LDYgKzEwODYsNyBAQAogCQk0
MTZFNkZFODFCQkQxMkRGMDAwQTYwNTMgLyogV3JpdGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4
MDYxQkIzMTEwRDAwQjc2NEU5IC8qIFdyaXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTZFNkZF
OTFCQkQxMkU1MDAwQTYwNDMgLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2
NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTZFNkZFOTFCQkQxMkU1MDAwQTYwNTMgLyogV3Jp
dGFibGVTdHJlYW1CdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEU4IC8qIFdyaXRhYmxlU3RyZWFtQnVp
bHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQk0MTZFQ0FFNTI1QjU4Q0M0MDBCMzREQTUgLyogTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZFQ0FF
MzI1QjU4Q0M0MDBCMzREQTUgLyogTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2RkQyNUYyNDBG
QTRFNTAwNjY2MUQ4IC8qIE5vd1BsYXlpbmdJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZGRDI1RDI0MEVFMUFFMDA2NjYxRDggLyogTm93UGxh
eWluZ0luZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk0MTcyNTNBQjEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sVGV4dFRyYWNrQ29u
dGFpbmVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDE3MjUzQTkxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbFRleHRUcmFja0Nv
bnRhaW5lckVsZW1lbnQuaCAqLzsgfTsKIAkJNDE3NjEyQUYxRTNBOTk0MDAwQzNEODFEIC8qIExp
YldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDE3NjEyQUIxRTNBOTkzQjAwQzNEODFEIC8qIExpYldlYlJUQ01lZGlh
RW5kcG9pbnQuY3BwICovOyB9OwpAQCAtNzc0NCw2ICs3NzQ1LDcgQEAKIAkJNDE2RDc1OUYyMEM2
NDQxMzAwRDAyRDJDIC8qIE5ldHdvcmtMb2FkSW5mb3JtYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya0xvYWRJbmZvcm1hdGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTZFMEIzNzIwOUJDM0MyMDA0QTk1RDkgLyogRmV0Y2hJZGVudGlm
aWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZldGNoSWRlbnRpZmllci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUg
LyogV29ya2VyUmVwb3J0aW5nUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV29ya2VyUmVwb3J0aW5nUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDE2RUNBRTMyNUI1OENDNDAwQjM0REE1IC8qIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNlc3Npb25Hcm91cElkZW50
aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE2RjgwNzkyNDUwOUYzMjAw
QjY4RjAyIC8qIFdpbmRvd0Rpc3BsYXlDYXB0dXJlck1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXaW5kb3dEaXNwbGF5Q2FwdHVyZXJNYWMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDE2RjgwN0EyNDUwOUYzMjAwQjY4RjAyIC8qIFNjcmVlbkRpc3BsYXlD
YXB0dXJlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNj
cmVlbkRpc3BsYXlDYXB0dXJlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDE2RjgwN0IyNDUwOUYzMzAwQjY4RjAyIC8qIFdpbmRvd0Rpc3BsYXlDYXB0dXJlck1hYy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdpbmRvd0Rpc3BsYXlDYXB0
dXJlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3NTcyLDYgKzI3NTc0
LDcgQEAKIAkJCQlDREYyQjAwMzE4MUYwNTlDMDBGMkI0MjQgLyogTWVkaWFEZXNjcmlwdGlvbi5o
ICovLAogCQkJCUNENjQxRUM3MTgxRUQ2MDEwMEVFNEM0MSAvKiBNZWRpYVNhbXBsZS5oICovLAog
CQkJCUExN0QyNzVEMUVBQzU3OTgwMEJGMDFFNyAvKiBNZWRpYVNlbGVjdGlvbk9wdGlvbi5oICov
LAorCQkJCTQxNkVDQUUzMjVCNThDQzQwMEIzNERBNSAvKiBNZWRpYVNlc3Npb25Hcm91cElkZW50
aWZpZXIuaCAqLywKIAkJCQk0MTQ0NjBBMDI0MTI5OTQxMDA4MTRCRTcgLyogTWVkaWFTZXNzaW9u
SWRlbnRpZmllci5oICovLAogCQkJCUEzMUFDNzBBMjQzNDA5ODQwMDdGMDBBMiAvKiBNZWRpYVN0
cmF0ZWd5LmNwcCAqLywKIAkJCQk5QjEyMjlDNjIzRkU0RDVGMDA4Q0E3NTEgLyogTWVkaWFTdHJh
dGVneS5oICovLApAQCAtMzM3MDksNiArMzM3MTIsNyBAQAogCQkJCTFCMTI0RDhEMUQzODBCNzAw
MEVDREZCMCAvKiBNZWRpYVNhbXBsZUFWRk9iakMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQkVB
RUFEMTlEOTJCNkMwMEJFQkE4OCAvKiBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTE3RDI3NUUxRUFDNTc5ODAwQkYwMUU3IC8qIE1lZGlhU2VsZWN0aW9u
T3B0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTZFQ0FFNTI1QjU4Q0M0MDBCMzREQTUgLyog
TWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREE5NTkz
RjI0MTJCQUUwMDA5MTBFRUYgLyogTWVkaWFTZXNzaW9uSGVscGVySU9TLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0MTQ0NjBBMjI0MTI5OTQ1MDA4MTRCRTcgLyogTWVkaWFTZXNzaW9uSWRlbnRpZmll
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE3RjdBRUYyMTM5QkY2RjAwRkJBN0VDIC8qIE1lZGlh
U2Vzc2lvbk1hbmFnZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAppbmRleCBkMWU3YzExNzMxZmVhOGY0YzUwMmQ2MTM2Y2UxZWU5ZTAxNzBhNzkzLi5kNGE5ZmU4
ZDI1OTNiNGJkYTZmZGNiNzZkMjkyNThhYzNmOGVhN2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKQEAgLTc1NSwxMCArNzU1LDYgQEAgRG9jdW1lbnQ6On5Eb2N1bWVudCgpCiAgICAgaWYgKG1f
Y2FjaGVkUmVzb3VyY2VMb2FkZXItPmRvY3VtZW50KCkgPT0gdGhpcykKICAgICAgICAgbV9jYWNo
ZWRSZXNvdXJjZUxvYWRlci0+c2V0RG9jdW1lbnQobnVsbHB0cik7CiAKLSNpZiBFTkFCTEUoVklE
RU8pCi0gICAgcGF1c2VBbGxNZWRpYVBsYXliYWNrKCk7Ci0jZW5kaWYKLQogICAgIC8vIFdlIG11
c3QgY2FsbCBjbGVhclJhcmVEYXRhKCkgaGVyZSBzaW5jZSBhIERvY3VtZW50IGNsYXNzIGluaGVy
aXRzIFRyZWVTY29wZQogICAgIC8vIGFzIHdlbGwgYXMgTm9kZS4gU2VlIGEgY29tbWVudCBvbiBU
cmVlU2NvcGUuaCBmb3IgdGhlIHJlYXNvbi4KICAgICBpZiAoaGFzUmFyZURhdGEoKSkKQEAgLTE4
NTMsNTAgKzE4NDksNiBAQCB2b2lkIERvY3VtZW50Ojpmb3JFYWNoTWVkaWFFbGVtZW50KGNvbnN0
IEZ1bmN0aW9uPHZvaWQoSFRNTE1lZGlhRWxlbWVudCYpPiYgZnVuYwogICAgICAgICBmdW5jdGlv
bihlbGVtZW50KTsKIH0KIAotYm9vbCBEb2N1bWVudDo6bWVkaWFQbGF5YmFja0V4aXN0cygpCi17
Ci0gICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCi0gICAgICAgIHJldHVy
biAhcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5oYXNOb1Nlc3Npb24oKTsKLSAgICByZXR1
cm4gZmFsc2U7Ci19Ci0KLWJvb2wgRG9jdW1lbnQ6Om1lZGlhUGxheWJhY2tJc1BhdXNlZCgpCi17
Ci0gICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCi0gICAgICAgIHJldHVy
biBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPm1lZGlhUGxheWJhY2tJc1BhdXNlZChpZGVu
dGlmaWVyKCkpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotdm9pZCBEb2N1bWVudDo6cGF1c2VB
bGxNZWRpYVBsYXliYWNrKCkKLXsKLSAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlz
dHMoKSkKLSAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5wYXVzZUFsbE1lZGlh
UGxheWJhY2tGb3JEb2N1bWVudChpZGVudGlmaWVyKCkpOwotfQotCi12b2lkIERvY3VtZW50Ojpz
dXNwZW5kQWxsTWVkaWFQbGF5YmFjaygpCi17Ci0gICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdl
cklmRXhpc3RzKCkpCi0gICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+c3VzcGVu
ZEFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudChpZGVudGlmaWVyKCkpOwotfQotCi12b2lkIERv
Y3VtZW50OjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrKCkKLXsKLSAgICBpZiAoYXV0byogcGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFy
ZWRNYW5hZ2VySWZFeGlzdHMoKSkKLSAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
LT5yZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoaWRlbnRpZmllcigpKTsKLX0KLQot
dm9pZCBEb2N1bWVudDo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCkKLXsKLSAgICBpZiAoYXV0
byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKLSAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyLT5zdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChpZGVudGlmaWVy
KCkpOwotfQotCi12b2lkIERvY3VtZW50OjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpCi17Ci0g
ICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCi0gICAgICAgIHBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlci0+cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChp
ZGVudGlmaWVyKCkpOwotfQotCiAjZW5kaWYKIAogU3RyaW5nIERvY3VtZW50Ojpub2RlTmFtZSgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDA4YzQwNTg0MzU4ZjRmNzdjNzIxNWU5MGRi
NzEwMzI0YTg0NTkxNmYuLmEyN2JjYTE3YTViMDdjNTcxY2E4N2Y3MTc1ODY4OGM5ZGVhOTdlMDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTE5LDE2ICsxMTE5LDYgQEAgcHVibGljOgogICAg
IHZvaWQgcmVnaXN0ZXJGb3JWaXNpYmlsaXR5U3RhdGVDaGFuZ2VkQ2FsbGJhY2tzKFZpc2liaWxp
dHlDaGFuZ2VDbGllbnQmKTsKICAgICB2b2lkIHVucmVnaXN0ZXJGb3JWaXNpYmlsaXR5U3RhdGVD
aGFuZ2VkQ2FsbGJhY2tzKFZpc2liaWxpdHlDaGFuZ2VDbGllbnQmKTsKIAotI2lmIEVOQUJMRShW
SURFTykKLSAgICBib29sIG1lZGlhUGxheWJhY2tFeGlzdHMoKTsKLSAgICBib29sIG1lZGlhUGxh
eWJhY2tJc1BhdXNlZCgpOwotICAgIHZvaWQgcGF1c2VBbGxNZWRpYVBsYXliYWNrKCk7Ci0gICAg
dm9pZCBzdXNwZW5kQWxsTWVkaWFQbGF5YmFjaygpOwotICAgIHZvaWQgcmVzdW1lQWxsTWVkaWFQ
bGF5YmFjaygpOwotICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCk7Ci0gICAgdm9p
ZCByZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpOwotI2VuZGlmCi0KICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNldFNob3VsZENyZWF0ZVJlbmRlcmVycyhib29sKTsKICAgICBib29sIHNob3VsZENy
ZWF0ZVJlbmRlcmVycygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cAppbmRleCA0NDExMmU2MmZmNjVhYWNmNjViZGNhMDhiZTdkNWI4OTRhN2QxZWE0Li4yZWNiNWI0
MjE5ZjJmNDdhZmQwYWY3M2ZkZmY3NzAyODRkODRkN2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTMwNTcsNiArMzA1NywxMiBAQCBNZWRpYVBsYXllcjo6
TW92aWVMb2FkVHlwZSBIVE1MTWVkaWFFbGVtZW50Ojptb3ZpZUxvYWRUeXBlKCkgY29uc3QKICAg
ICByZXR1cm4gbV9wbGF5ZXIgPyBtX3BsYXllci0+bW92aWVMb2FkVHlwZSgpIDogTWVkaWFQbGF5
ZXI6Ok1vdmllTG9hZFR5cGU6OlVua25vd247CiB9CiAKK01lZGlhU2Vzc2lvbkdyb3VwSWRlbnRp
ZmllciBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSBjb25z
dAoreworICAgIGF1dG8gcGFnZUlEID0gZG9jdW1lbnQoKS5wYWdlSUQoKTsKKyAgICByZXR1cm4g
cGFnZUlEID8gbWFrZU9iamVjdElkZW50aWZpZXI8TWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVy
VHlwZT4ocGFnZUlELT50b1VJbnQ2NCgpKSA6IE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciB7
IH07Cit9CisKIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6aGFzQXVkaW8oKSBjb25zdAogewogICAg
IHJldHVybiBtX3BsYXllciA/IG1fcGxheWVyLT5oYXNBdWRpbygpIDogZmFsc2U7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGRlOWQ1ZjgwN2UxOTk1YWNjZWI0NjQ0
MTc5MjQzMjU4YTVlYTRjZTEuLmM3YmU3MDZkZGZkNzI4ZjVmNTI3ZWVkYzQ1YTQ1ZmE0ZDg3MzBj
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC0xOTcsNyArMTk3
LDcgQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgaW5BY3RpdmVEb2N1bWVudCgpIGNvbnN0IHsg
cmV0dXJuIG1faW5BY3RpdmVEb2N1bWVudDsgfQogCi0gICAgRG9jdW1lbnRJZGVudGlmaWVyIGhv
c3RpbmdEb2N1bWVudElkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBkb2N1bWVudCgp
LmlkZW50aWZpZXIoKTsgfQorICAgIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNl
c3Npb25Hcm91cElkZW50aWZpZXIoKSBjb25zdCBmaW5hbDsKIAogLy8gRE9NIEFQSQogLy8gZXJy
b3Igc3RhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGNlOTE2ZjhmMjA5MWY5MWNmYWZlMmUzOTg5
NTY3MmViZWViZDE4NTUuLjVkY2FmNDRiZWM4Y2RjYTJjMTU1MmZhMTllZjI0OWZmNzU4OTk0ZDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMjA3NywzNyArMjA3NywyNiBAQCB2b2lkIFBhZ2U6OnN0
b3BNZWRpYUNhcHR1cmUoKQogYm9vbCBQYWdlOjptZWRpYVBsYXliYWNrRXhpc3RzKCkKIHsKICNp
ZiBFTkFCTEUoVklERU8pCi0gICAgYm9vbCBtZWRpYVBsYXliYWNrRXhpc3RzID0gZmFsc2U7Ci0g
ICAgZm9yRWFjaERvY3VtZW50KFsmbWVkaWFQbGF5YmFja0V4aXN0c10gKERvY3VtZW50JiBkb2N1
bWVudCkgewotICAgICAgICBpZiAoZG9jdW1lbnQubWVkaWFQbGF5YmFja0V4aXN0cygpKQotICAg
ICAgICAgICAgbWVkaWFQbGF5YmFja0V4aXN0cyA9IHRydWU7Ci0gICAgfSk7Ci0gICAgcmV0dXJu
IG1lZGlhUGxheWJhY2tFeGlzdHM7Ci0jZWxzZQotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAo
YXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKKyAgICAgICAgcmV0dXJuICFwbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXItPmhhc05vU2Vzc2lvbigpOwogI2VuZGlmCisgICAgcmV0dXJu
IGZhbHNlOwogfQogCiBib29sIFBhZ2U6Om1lZGlhUGxheWJhY2tJc1BhdXNlZCgpCiB7CiAjaWYg
RU5BQkxFKFZJREVPKQotICAgIGJvb2wgbWVkaWFQbGF5YmFja0lzUGF1c2VkID0gZmFsc2U7Ci0g
ICAgZm9yRWFjaERvY3VtZW50KFsmbWVkaWFQbGF5YmFja0lzUGF1c2VkXSAoRG9jdW1lbnQmIGRv
Y3VtZW50KSB7Ci0gICAgICAgIGlmIChkb2N1bWVudC5tZWRpYVBsYXliYWNrSXNQYXVzZWQoKSkK
LSAgICAgICAgICAgIG1lZGlhUGxheWJhY2tJc1BhdXNlZCA9IHRydWU7Ci0gICAgfSk7Ci0gICAg
cmV0dXJuIG1lZGlhUGxheWJhY2tJc1BhdXNlZDsKLSNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOwor
ICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICByZXR1cm4g
cGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5tZWRpYVBsYXliYWNrSXNQYXVzZWQobWVkaWFT
ZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkpOwogI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOwogfQog
CiB2b2lkIFBhZ2U6OnBhdXNlQWxsTWVkaWFQbGF5YmFjaygpCiB7CiAjaWYgRU5BQkxFKFZJREVP
KQotICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7Ci0gICAgICAg
IGRvY3VtZW50LnBhdXNlQWxsTWVkaWFQbGF5YmFjaygpOwotICAgIH0pOworICAgIGlmIChhdXRv
KiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXItPnBhdXNlQWxsTWVkaWFQbGF5YmFja0Zvckdyb3VwKG1lZGlhU2Vzc2lvbkdyb3Vw
SWRlbnRpZmllcigpKTsKICNlbmRpZgogfQogCkBAIC0yMTE4LDE0ICsyMTA3LDIyIEBAIHZvaWQg
UGFnZTo6c3VzcGVuZEFsbE1lZGlhUGxheWJhY2soKQogICAgIGlmIChtX21lZGlhUGxheWJhY2tJ
c1N1c3BlbmRlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9yRWFjaERvY3VtZW50KFtdIChE
b2N1bWVudCYgZG9jdW1lbnQpIHsKLSAgICAgICAgZG9jdW1lbnQuc3VzcGVuZEFsbE1lZGlhUGxh
eWJhY2soKTsKLSAgICB9KTsKKyAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMo
KSkKKyAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5zdXNwZW5kQWxsTWVkaWFQ
bGF5YmFja0Zvckdyb3VwKG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcigpKTsKIAorICAgIC8v
IEZJWE1FOiBXZSBjYW5ub3Qgc2V0IG1fbWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkIGJlZm9yZSwg
c2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI4MjkjYzcuCiAg
ICAgbV9tZWRpYVBsYXliYWNrSXNTdXNwZW5kZWQgPSB0cnVlOwogI2VuZGlmCiB9CiAKKyNpZiBF
TkFCTEUoVklERU8pCitNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgUGFnZTo6bWVkaWFTZXNz
aW9uR3JvdXBJZGVudGlmaWVyKCkgY29uc3QKK3sKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBtX21h
aW5GcmFtZS0+bG9hZGVyKCkucGFnZUlEKCk7CisgICAgcmV0dXJuIGlkZW50aWZpZXIgPyBtYWtl
T2JqZWN0SWRlbnRpZmllcjxNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXJUeXBlPihpZGVudGlm
aWVyLT50b1VJbnQ2NCgpKSA6IE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciB7IH07Cit9Cisj
ZW5kaWYKKwogdm9pZCBQYWdlOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrKCkKIHsKICNpZiBFTkFC
TEUoVklERU8pCkBAIC0yMTM0LDkgKzIxMzEsOCBAQCB2b2lkIFBhZ2U6OnJlc3VtZUFsbE1lZGlh
UGxheWJhY2soKQogICAgICAgICByZXR1cm47CiAgICAgbV9tZWRpYVBsYXliYWNrSXNTdXNwZW5k
ZWQgPSBmYWxzZTsKIAotICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50
KSB7Ci0gICAgICAgIGRvY3VtZW50LnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKTsKLSAgICB9KTsK
KyAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKKyAgICAgICAgcGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5yZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXAobWVk
aWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkpOwogI2VuZGlmCiB9CiAKQEAgLTIxNDgsOSArMjE0
NCw4IEBAIHZvaWQgUGFnZTo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCkKICAgICAgICAgcmV0
dXJuOwogICAgIG1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCA9IHRydWU7CiAKLSAgICBmb3JF
YWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgewotICAgICAgICBkb2N1bWVudC5z
dXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKLSAgICB9KTsKKyAgICBpZiAoYXV0byogcGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFy
ZWRNYW5hZ2VySWZFeGlzdHMoKSkKKyAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
LT5zdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JHcm91cChtZWRpYVNlc3Npb25Hcm91cElkZW50
aWZpZXIoKSk7CiAjZW5kaWYKIH0KIApAQCAtMjE2MSw5ICsyMTU2LDggQEAgdm9pZCBQYWdlOjpy
ZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpCiAgICAgICAgIHJldHVybjsKICAgICBtX21lZGlhQnVm
ZmVyaW5nSXNTdXNwZW5kZWQgPSBmYWxzZTsKIAotICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9j
dW1lbnQmIGRvY3VtZW50KSB7Ci0gICAgICAgIGRvY3VtZW50LnJlc3VtZUFsbE1lZGlhQnVmZmVy
aW5nKCk7Ci0gICAgfSk7CisgICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkp
CisgICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+cmVzdW1lQWxsTWVkaWFCdWZm
ZXJpbmdGb3JHcm91cChtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSk7CiAjZW5kaWYKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaAppbmRleCAxYmI0MzE2NTZkZTI0NmY2YTQ2NmE5NTBkODhkNTJhZjg5YWMw
OWFjLi40NjhkNDgwYWM5ZjhmYTZiNGU4OTM3OTE0MDUyNjA5ODgzMGY2OTMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkxheW91dFJlY3QuaCIKICNpbmNsdWRl
ICJMZW5ndGhCb3guaCIKICNpbmNsdWRlICJNZWRpYVByb2R1Y2VyLmgiCisjaW5jbHVkZSAiTWVk
aWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUGFnaW5hdGlvbi5oIgogI2lu
Y2x1ZGUgIlBsYXliYWNrVGFyZ2V0Q2xpZW50Q29udGV4dElkZW50aWZpZXIuaCIKICNpbmNsdWRl
ICJSVENDb250cm9sbGVyLmgiCkBAIC04NTMsNiArODU0LDcgQEAgcHJpdmF0ZToKIAogI2lmIEVO
QUJMRShWSURFTykKICAgICB2b2lkIHBsYXliYWNrQ29udHJvbHNNYW5hZ2VyVXBkYXRlVGltZXJG
aXJlZCgpOworICAgIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25Hcm91
cElkZW50aWZpZXIoKSBjb25zdDsKICNlbmRpZgogCiAgICAgVmVjdG9yPFJlZjxQbHVnaW5WaWV3
QmFzZT4+IHBsdWdpblZpZXdzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9NZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L01lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljM2M2ODdjNmFkM2Vh
MWExYmI4NmNhNTU0ZTcwNWVjZTZkYTBlMzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaApAQCAtMCwwICsxLDM1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvT2JqZWN0SWRl
bnRpZmllci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gTWVkaWFTZXNzaW9uR3Jv
dXBJZGVudGlmaWVyVHlwZSB7IH07Cit1c2luZyBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIg
PSBPYmplY3RJZGVudGlmaWVyPE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllclR5cGU+OworCit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb24uaAppbmRleCA3OTVlOGRkZDM5MzE2MjRhZDJhNWNjMzMwYzkyNWJlN2RlZmMzODk1Li5j
OTgxMjEzZDVlOTA3NmU0MmViOTBkYjRmM2ExMTU2YjUyZjRiNjI2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKQEAgLTI1
LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJEb2N1bWVudElkZW50aWZp
ZXIuaCIKKyNpbmNsdWRlICJNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaCIKICNpbmNsdWRl
ICJNZWRpYVNlc3Npb25JZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRl
IDx3dGYvTG9nZ2VySGVscGVyLmg+CkBAIC0yNTIsNyArMjUyLDcgQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCBib29sIGlzUGxheWluZ09uU2Vjb25kU2NyZWVuKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KIAotICAgIHZpcnR1YWwgRG9jdW1lbnRJZGVudGlmaWVyIGhvc3RpbmdEb2N1bWVudElk
ZW50aWZpZXIoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBNZWRpYVNlc3Npb25Hcm91cElkZW50
aWZpZXIgbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkgY29uc3QgPSAwOwogCiAgICAgdmly
dHVhbCBib29sIGhhc01lZGlhU3RyZWFtU291cmNlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKaW5kZXggMDA4MDE5MDRjMGMyMjYxODNjNGM0YTA5
ZjdhY2I1OTQ3Zjg2MGMzZi4uNDA1NDgzYmNhOGQwNmI3MTk2YTgzYWMwOTMyMWI5MzdjNDI4M2Iy
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC00NjcsMTggKzQ2NywxOCBAQCB2b2lk
IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6cHJvY2Vzc1N5c3RlbURpZFdha2UoKQogICAg
IH0pOwogfQogCi12b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6cGF1c2VBbGxNZWRp
YVBsYXliYWNrRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmll
cikKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpwYXVzZUFsbE1lZGlhUGxheWJh
Y2tGb3JHcm91cChNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbWVkaWFTZXNzaW9uR3JvdXBJ
ZGVudGlmaWVyKQogewotICAgIGZvckVhY2hEb2N1bWVudFNlc3Npb24oZG9jdW1lbnRJZGVudGlm
aWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7CisgICAgZm9yRWFjaFNlc3Npb25Jbkdyb3VwKG1lZGlh
U2Vzc2lvbkdyb3VwSWRlbnRpZmllciwgW10oYXV0byYgc2Vzc2lvbikgewogICAgICAgICBzZXNz
aW9uLnBhdXNlU2Vzc2lvbigpOwogICAgIH0pOwogfQogCiAKLWJvb2wgUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyOjptZWRpYVBsYXliYWNrSXNQYXVzZWQoRG9jdW1lbnRJZGVudGlmaWVyIGRv
Y3VtZW50SWRlbnRpZmllcikKK2Jvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjptZWRp
YVBsYXliYWNrSXNQYXVzZWQoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lv
bkdyb3VwSWRlbnRpZmllcikKIHsKICAgICBib29sIG1lZGlhUGxheWJhY2tJc1BhdXNlZCA9IGZh
bHNlOwotICAgIGZvckVhY2hEb2N1bWVudFNlc3Npb24oZG9jdW1lbnRJZGVudGlmaWVyLCBbJm1l
ZGlhUGxheWJhY2tJc1BhdXNlZF0oYXV0byYgc2Vzc2lvbikgeworICAgIGZvckVhY2hTZXNzaW9u
SW5Hcm91cChtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIsIFsmbWVkaWFQbGF5YmFja0lzUGF1
c2VkXShhdXRvJiBzZXNzaW9uKSB7CiAgICAgICAgIGlmIChzZXNzaW9uLnN0YXRlKCkgPT0gUGxh
dGZvcm1NZWRpYVNlc3Npb246OlBhdXNlZCkKICAgICAgICAgICAgIG1lZGlhUGxheWJhY2tJc1Bh
dXNlZCA9IHRydWU7CiAgICAgfSk7CkBAIC00OTIsMzAgKzQ5MiwzMCBAQCB2b2lkIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlcjo6c3RvcEFsbE1lZGlhUGxheWJhY2tGb3JQcm9jZXNzKCkKICAg
ICB9KTsKIH0KIAotdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1c3BlbmRBbGxN
ZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRp
ZmllcikKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdXNwZW5kQWxsTWVkaWFQ
bGF5YmFja0Zvckdyb3VwKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25H
cm91cElkZW50aWZpZXIpCiB7Ci0gICAgZm9yRWFjaERvY3VtZW50U2Vzc2lvbihkb2N1bWVudElk
ZW50aWZpZXIsIFtdKGF1dG8mIHNlc3Npb24pIHsKKyAgICBmb3JFYWNoU2Vzc2lvbkluR3JvdXAo
bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7CiAgICAgICAg
IHNlc3Npb24uYmVnaW5JbnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246OlBsYXliYWNr
U3VzcGVuZGVkKTsKICAgICB9KTsKIH0KIAotdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OnJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudChEb2N1bWVudElkZW50aWZpZXIg
ZG9jdW1lbnRJZGVudGlmaWVyKQordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJl
c3VtZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cChNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIg
bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKQogewotICAgIGZvckVhY2hEb2N1bWVudFNlc3Np
b24oZG9jdW1lbnRJZGVudGlmaWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7CisgICAgZm9yRWFjaFNl
c3Npb25Jbkdyb3VwKG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciwgW10oYXV0byYgc2Vzc2lv
bikgewogICAgICAgICBzZXNzaW9uLmVuZEludGVycnVwdGlvbihQbGF0Zm9ybU1lZGlhU2Vzc2lv
bjo6TWF5UmVzdW1lUGxheWluZyk7CiAgICAgfSk7CiB9CiAKLXZvaWQgUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyOjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChEb2N1bWVu
dElkZW50aWZpZXIgZG9jdW1lbnRJZGVudGlmaWVyKQordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXI6OnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZ0Zvckdyb3VwKE1lZGlhU2Vzc2lvbkdy
b3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIpCiB7Ci0gICAgZm9yRWFj
aERvY3VtZW50U2Vzc2lvbihkb2N1bWVudElkZW50aWZpZXIsIFtdKGF1dG8mIHNlc3Npb24pIHsK
KyAgICBmb3JFYWNoU2Vzc2lvbkluR3JvdXAobWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLCBb
XShhdXRvJiBzZXNzaW9uKSB7CiAgICAgICAgIHNlc3Npb24uc3VzcGVuZEJ1ZmZlcmluZygpOwog
ICAgIH0pOwogfQogCi12b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6cmVzdW1lQWxs
TWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChEb2N1bWVudElkZW50aWZpZXIgZG9jdW1lbnRJZGVu
dGlmaWVyKQordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlh
QnVmZmVyaW5nRm9yR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lv
bkdyb3VwSWRlbnRpZmllcikKIHsKLSAgICBmb3JFYWNoRG9jdW1lbnRTZXNzaW9uKGRvY3VtZW50
SWRlbnRpZmllciwgW10oYXV0byYgc2Vzc2lvbikgeworICAgIGZvckVhY2hTZXNzaW9uSW5Hcm91
cChtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIsIFtdKGF1dG8mIHNlc3Npb24pIHsKICAgICAg
ICAgc2Vzc2lvbi5yZXN1bWVCdWZmZXJpbmcoKTsKICAgICB9KTsKIH0KQEAgLTUzOSwxMCArNTM5
LDEzIEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpmb3JFYWNoTWF0Y2hpbmdT
ZXNzaW9uKGNvbnN0IEZ1bmN0aW9uPGJvb2woY29uCiAgICAgfQogfQogCi12b2lkIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlcjo6Zm9yRWFjaERvY3VtZW50U2Vzc2lvbihEb2N1bWVudElkZW50
aWZpZXIgZG9jdW1lbnRJZGVudGlmaWVyLCBjb25zdCBGdW5jdGlvbjx2b2lkKFBsYXRmb3JtTWVk
aWFTZXNzaW9uJik+JiBjYWxsYmFjaykKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
Ojpmb3JFYWNoU2Vzc2lvbkluR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlh
U2Vzc2lvbkdyb3VwSWRlbnRpZmllciwgY29uc3QgRnVuY3Rpb248dm9pZChQbGF0Zm9ybU1lZGlh
U2Vzc2lvbiYpPiYgY2FsbGJhY2spCiB7Ci0gICAgZm9yRWFjaE1hdGNoaW5nU2Vzc2lvbihbZG9j
dW1lbnRJZGVudGlmaWVyXShhdXRvJiBzZXNzaW9uKSB7Ci0gICAgICAgIHJldHVybiBzZXNzaW9u
LmNsaWVudCgpLmhvc3RpbmdEb2N1bWVudElkZW50aWZpZXIoKSA9PSBkb2N1bWVudElkZW50aWZp
ZXI7CisgICAgaWYgKCFtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGZvckVhY2hNYXRjaGluZ1Nlc3Npb24oW21lZGlhU2Vzc2lvbkdyb3VwSWRlbnRp
Zmllcl0oYXV0byYgc2Vzc2lvbikgeworICAgICAgICByZXR1cm4gc2Vzc2lvbi5jbGllbnQoKS5t
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSA9PSBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZp
ZXI7CiAgICAgfSwgWyZjYWxsYmFja10oYXV0byYgc2Vzc2lvbikgewogICAgICAgICBjYWxsYmFj
ayhzZXNzaW9uKTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggMGZiYzZiZDU1
ZDQ0ZWQzYzYyOWIzM2Y5MDM3ZTYxNDdiZTdhYzE3OS4uYjc5MWI3MTE5ZmI1YWUwM2ZhZDk1ZDA4
M2NjMWIwZGJlYTYyODkzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKQEAgLTI2LDcgKzI2LDYg
QEAKICNpZm5kZWYgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyX2gKICNkZWZpbmUgUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyX2gKIAotI2luY2x1ZGUgIkRvY3VtZW50SWRlbnRpZmllci5o
IgogI2luY2x1ZGUgIkdlbmVyaWNUYXNrUXVldWUuaCIKICNpbmNsdWRlICJNZWRpYVNlc3Npb25J
ZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb24uaCIKQEAgLTk0LDE0
ICs5MywxNCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwcm9jZXNzV2lsbFN1
c3BlbmQoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHByb2Nlc3NEaWRSZXN1bWUoKTsKIAot
ICAgIGJvb2wgbWVkaWFQbGF5YmFja0lzUGF1c2VkKERvY3VtZW50SWRlbnRpZmllcik7Ci0gICAg
dm9pZCBwYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudChEb2N1bWVudElkZW50aWZpZXIp
OworICAgIGJvb2wgbWVkaWFQbGF5YmFja0lzUGF1c2VkKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRp
Zmllcik7CisgICAgdm9pZCBwYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cChNZWRpYVNlc3Np
b25Hcm91cElkZW50aWZpZXIpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RvcEFsbE1lZGlh
UGxheWJhY2tGb3JQcm9jZXNzKCk7CiAKLSAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYVBsYXliYWNr
Rm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyKTsKLSAgICB2b2lkIHJlc3VtZUFsbE1lZGlh
UGxheWJhY2tGb3JEb2N1bWVudChEb2N1bWVudElkZW50aWZpZXIpOwotICAgIHZvaWQgc3VzcGVu
ZEFsbE1lZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyKTsKLSAgICB2
b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVy
KTsKKyAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXAoTWVkaWFTZXNzaW9u
R3JvdXBJZGVudGlmaWVyKTsKKyAgICB2b2lkIHJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91
cChNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIpOworICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlh
QnVmZmVyaW5nRm9yR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKTsKKyAgICB2b2lk
IHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlm
aWVyKTsKIAogICAgIGVudW0gU2Vzc2lvblJlc3RyaWN0aW9uRmxhZ3MgewogICAgICAgICBOb1Jl
c3RyaWN0aW9ucyA9IDAsCkBAIC0xNjAsNyArMTU5LDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1
YWwgdm9pZCByZW1vdmVTZXNzaW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uJik7CiAKICAgICB2b2lk
IGZvckVhY2hTZXNzaW9uKGNvbnN0IEZ1bmN0aW9uPHZvaWQoUGxhdGZvcm1NZWRpYVNlc3Npb24m
KT4mKTsKLSAgICB2b2lkIGZvckVhY2hEb2N1bWVudFNlc3Npb24oRG9jdW1lbnRJZGVudGlmaWVy
LCBjb25zdCBGdW5jdGlvbjx2b2lkKFBsYXRmb3JtTWVkaWFTZXNzaW9uJik+Jik7CisgICAgdm9p
ZCBmb3JFYWNoU2Vzc2lvbkluR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLCBjb25z
dCBGdW5jdGlvbjx2b2lkKFBsYXRmb3JtTWVkaWFTZXNzaW9uJik+Jik7CiAgICAgYm9vbCBhbnlP
ZlNlc3Npb25zKGNvbnN0IEZ1bmN0aW9uPGJvb2woY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb24m
KT4mKSBjb25zdDsKIAogICAgIGJvb2wgaXNBcHBsaWNhdGlvbkluQmFja2dyb3VuZCgpIGNvbnN0
IHsgcmV0dXJuIG1faXNBcHBsaWNhdGlvbkluQmFja2dyb3VuZDsgfQo=
</data>
<flag name="commit-queue"
          id="435609"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417822</attachid>
            <date>2021-01-18 02:47:07 -0800</date>
            <delta_ts>2021-01-18 07:06:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220706-20210118114705.patch</filename>
            <type>text/plain</type>
            <size>28979</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2RiMTY3NmRlZWM1Zjkz
YTBjNzNkZDljNjUwN2RmZDMwNjlmNmU0Ni4uYWViYzZlZjM1NzU5ODYyODgxZjQwMWIzOTM4ZDdh
MWNmZWUyYTcwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDIxLTAxLTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgYSBNZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDcwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgZ29pbmcgZnJvbSBwYWdlIHRvIGRvY3VtZW50IHRv
IG1lZGlhIHNlc3Npb24sIGludHJvZHVjZSBhIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciB3
aGljaCBncm91cHMgc2Vzc2lvbnMgYnkgcGFnZS4KKyAgICAgICAgV2UgY2FuIHRoZW4gZGlyZWN0
bHkgZ28gZnJvbSBwYWdlIHRvIG1lZGlhIHNlc3Npb24gdG8gc3VzcGVuZC9yZXN1bWUgcGxheSBi
YWNrLgorICAgICAgICBVcGRhdGUgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQgdG8gaW1wbGVt
ZW50IG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBpbnN0ZWFkIG9mIGhvc3RpbmdEb2N1bWVu
dElkZW50aWZpZXIuCisKKyAgICAgICAgV2UgcmVtb3ZlIHBhdXNpbmcgcGxheWJhY2sgZnJvbSBE
b2N1bWVudDo6fkRvY3VtZW50LCBhcyByZWxhdGVkIGF1ZGlvIHByb2R1Y2VycyAoQXVkaW9Db250
ZXh0LCBIVE1MTWVkaWFFbGVtZW50KQorICAgICAgICBzaG91bGQgYmUgcGF1c2VkIGluIHRoZWly
IEFjdGl2ZURPTU9iamVjdCBzdG9wIG1ldGhvZC4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0
aW5nIHRlc3RzLCB0aGlzIGlzIGEgcmVmYWN0b3JpbmcuCisKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbnRleHQ6
Om1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpB
dWRpb0NvbnRleHQ6Omhvc3RpbmdEb2N1bWVudElkZW50aWZpZXIgY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6fkRvY3VtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjptZWRpYVBsYXliYWNrRXhpc3RzKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjptZWRpYVBsYXliYWNrSXNQYXVzZWQpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBhdXNlQWxsTWVkaWFQbGF5YmFjayk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c3VzcGVuZEFsbE1lZGlhUGxheWJhY2spOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlc3VtZUFsbE1lZGlhUGxheWJh
Y2spOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1c3BlbmRBbGxNZWRp
YUJ1ZmZlcmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVzdW1l
QWxsTWVkaWFCdWZmZXJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgor
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgY29uc3QpOgorICAg
ICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjptZWRpYVBsYXliYWNrRXhpc3RzKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6Om1lZGlhUGxheWJhY2tJc1BhdXNlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpwYXVzZUFsbE1lZGlhUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6
c3VzcGVuZEFsbE1lZGlhUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6bWVkaWFT
ZXNzaW9uR3JvdXBJZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnJl
c3VtZUFsbE1lZGlhUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3VzcGVuZEFs
bE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnJlc3VtZUFsbE1lZGlh
QnVmZmVyaW5nKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9N
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpwYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6Om1lZGlhUGxheWJh
Y2tJc1BhdXNlZCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OnN1c3BlbmRBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yR3Jv
dXApOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdXNw
ZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JHcm91cCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yR3JvdXApOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpmb3JFYWNoU2Vz
c2lvbkluR3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyOjpwYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1c3BlbmRBbGxNZWRpYVBs
YXliYWNrRm9yRG9jdW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpz
dXNwZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhQnVmZmVy
aW5nRm9yRG9jdW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyOjpmb3JFYWNoRG9jdW1lbnRTZXNzaW9uKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaDoKKwogMjAy
MS0wMS0xOCAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AaWdhbGlhLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgcmVjZW50bHkgYWRkZWQgZ2x1ZSBjb2RlOiBSZW5kZXJMYXllcjo6KHNj
cm9sbFRvT2Zmc2V0IC8gc2Nyb2xsVG9YT2Zmc2V0IC8gc2Nyb2xsVG9ZT2Zmc2V0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRl
cnMuY21ha2UKaW5kZXggYWRlNWM2OTAyNDI5NzYyNWM3MGRhYjc5MGE1YzJjNWE4Nzc3ZWM2MS4u
MTkzNWY3YTlhZDQ2ODU4NzZlNmFmYjE0YmM5NGMyOWEwOGIyYjg1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlCkBAIC0xMDIyLDYgKzEwMjIsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19I
RUFERVJTCiAgICAgcGxhdGZvcm0vTWVkaWFEZXNjcmlwdGlvbi5oCiAgICAgcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaAogICAgIHBsYXRmb3JtL01lZGlhU2VsZWN0aW9uT3B0aW9uLmgKKyAgICBwbGF0
Zm9ybS9NZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaAogICAgIHBsYXRmb3JtL01lZGlhU2Vz
c2lvbklkZW50aWZpZXIuaAogICAgIHBsYXRmb3JtL01lZGlhU3RyYXRlZ3kuaAogICAgIHBsYXRm
b3JtL05vd1BsYXlpbmdNYW5hZ2VyLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmNwcAppbmRleCAyZDFiODkwZmEwYzViYmI5OThmM2UwNjEyOGI0
M2UwZTliMDEzZjE1Li5iZjNkZTIyN2M0MDg3YTYxMTE0ZTMyMmMyMTM5Yzg0ZjkxMmRmYjAzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3Bw
CkBAIC00NTUsMTAgKzQ1NSwxMSBAQCB2b2lkIEF1ZGlvQ29udGV4dDo6c3VzcGVuZFBsYXliYWNr
KCkKICAgICB9KTsKIH0KIAotRG9jdW1lbnRJZGVudGlmaWVyIEF1ZGlvQ29udGV4dDo6aG9zdGlu
Z0RvY3VtZW50SWRlbnRpZmllcigpIGNvbnN0CitNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIg
QXVkaW9Db250ZXh0OjptZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSBjb25zdAogewogICAg
IGF1dG8qIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KG1fc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCk7Ci0gICAgcmV0dXJuIGRvY3VtZW50ID8gZG9jdW1lbnQtPmlkZW50aWZpZXIoKSA6IERv
Y3VtZW50SWRlbnRpZmllciB7IH07CisgICAgT3B0aW9uYWw8UGFnZUlkZW50aWZpZXI+IHBhZ2VJ
RCA9IGRvY3VtZW50ID8gZG9jdW1lbnQtPnBhZ2VJRCgpIDogV1RGOjpudWxsb3B0OworICAgIHJl
dHVybiBwYWdlSUQgPyBtYWtlT2JqZWN0SWRlbnRpZmllcjxNZWRpYVNlc3Npb25Hcm91cElkZW50
aWZpZXJUeXBlPihwYWdlSUQtPnRvVUludDY0KCkpIDogTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlm
aWVyIHsgfTsKIH0KIAogYm9vbCBBdWRpb0NvbnRleHQ6OmlzU3VzcGVuZGVkKCkgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCmluZGV4IDFl
NzlhZmI3ZmEyYzg0MzRhMjZiZTI5NzRlMWRiMTdhMGY0MDY0YWUuLmEyMzIyMDYwMzg4OGFiNGI5
ZGRhMjk2N2QyZmNkMTgyMWJhZmM5NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb0NvbnRleHQuaApAQCAtMTIwLDcgKzEyMCw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBzaG91bGRPdmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpJbnRlcnJ1cHRpb25UeXBlKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBm
YWxzZTsgfQogICAgIGJvb2wgY2FuUHJvZHVjZUF1ZGlvKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
dHJ1ZTsgfQogICAgIGJvb2wgaXNTdXNwZW5kZWQoKSBjb25zdCBmaW5hbDsKLSAgICBEb2N1bWVu
dElkZW50aWZpZXIgaG9zdGluZ0RvY3VtZW50SWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOworICAg
IE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIo
KSBjb25zdCBmaW5hbDsKIAogICAgIC8vIE1lZGlhQ2FuU3RhcnRMaXN0ZW5lci4KICAgICB2b2lk
IG1lZGlhQ2FuU3RhcnQoRG9jdW1lbnQmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxOTM1MDRkYzQzYjZlNDdk
MzU5NjQzZjBhMWNmMGIyYzBjNTVmZDgyLi4wNzhiMjZiMDY3OGI1MWI1OTQ1NDkyZDk5Y2Y5MTNk
ZDZiMDJiYTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xMDg2LDYgKzEwODYsNyBAQAogCQk0MTZFNkZFODFCQkQxMkRGMDAw
QTYwNTMgLyogV3JpdGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEU5
IC8qIFdyaXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTZFNkZFOTFCQkQxMkU1MDAwQTYwNDMg
LyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ4IC8qIFJlYWRhYmxlU3Ry
ZWFtQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk0MTZFNkZFOTFCQkQxMkU1MDAwQTYwNTMgLyogV3JpdGFibGVTdHJlYW1CdWlsdGlu
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4
MDYxQkIzMTEwRDAwQjc2NEU4IC8qIFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MTZFQ0FFNTI1QjU4Q0M0
MDBCMzREQTUgLyogTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZFQ0FFMzI1QjU4Q0M0MDBCMzREQTUg
LyogTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2RkQyNUYyNDBGQTRFNTAwNjY2MUQ4IC8qIE5v
d1BsYXlpbmdJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTZGRDI1RDI0MEVFMUFFMDA2NjYxRDggLyogTm93UGxheWluZ0luZm8uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTcyNTNBQjEzNTRC
QkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3MjUzQTkxMzU0
QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQuaCAq
LzsgfTsKIAkJNDE3NjEyQUYxRTNBOTk0MDAwQzNEODFEIC8qIExpYldlYlJUQ01lZGlhRW5kcG9p
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3
NjEyQUIxRTNBOTkzQjAwQzNEODFEIC8qIExpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwICovOyB9
OwpAQCAtNzc0NSw2ICs3NzQ2LDcgQEAKIAkJNDE2RDc1OUYyMEM2NDQxMzAwRDAyRDJDIC8qIE5l
dHdvcmtMb2FkSW5mb3JtYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TmV0d29ya0xvYWRJbmZvcm1hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTZFMEIzNzIwOUJDM0MyMDA0QTk1RDkgLyogRmV0Y2hJZGVudGlmaWVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZldGNoSWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0aW5n
UHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV29ya2VyUmVwb3J0aW5n
UHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE2RUNBRTMyNUI1OENDNDAw
QjM0REE1IC8qIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE2RjgwNzkyNDUwOUYzMjAwQjY4RjAyIC8qIFdpbmRvd0Rp
c3BsYXlDYXB0dXJlck1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXaW5k
b3dEaXNwbGF5Q2FwdHVyZXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE2
RjgwN0EyNDUwOUYzMjAwQjY4RjAyIC8qIFNjcmVlbkRpc3BsYXlDYXB0dXJlck1hYy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNjcmVlbkRpc3BsYXlDYXB0dXJl
ck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE2RjgwN0IyNDUwOUYzMzAw
QjY4RjAyIC8qIFdpbmRvd0Rpc3BsYXlDYXB0dXJlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdpbmRvd0Rpc3BsYXlDYXB0dXJlck1hYy5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3NTczLDYgKzI3NTc1LDcgQEAKIAkJCQlDREYyQjAw
MzE4MUYwNTlDMDBGMkI0MjQgLyogTWVkaWFEZXNjcmlwdGlvbi5oICovLAogCQkJCUNENjQxRUM3
MTgxRUQ2MDEwMEVFNEM0MSAvKiBNZWRpYVNhbXBsZS5oICovLAogCQkJCUExN0QyNzVEMUVBQzU3
OTgwMEJGMDFFNyAvKiBNZWRpYVNlbGVjdGlvbk9wdGlvbi5oICovLAorCQkJCTQxNkVDQUUzMjVC
NThDQzQwMEIzNERBNSAvKiBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaCAqLywKIAkJCQk0
MTQ0NjBBMDI0MTI5OTQxMDA4MTRCRTcgLyogTWVkaWFTZXNzaW9uSWRlbnRpZmllci5oICovLAog
CQkJCUEzMUFDNzBBMjQzNDA5ODQwMDdGMDBBMiAvKiBNZWRpYVN0cmF0ZWd5LmNwcCAqLywKIAkJ
CQk5QjEyMjlDNjIzRkU0RDVGMDA4Q0E3NTEgLyogTWVkaWFTdHJhdGVneS5oICovLApAQCAtMzM3
MTAsNiArMzM3MTMsNyBAQAogCQkJCTFCMTI0RDhEMUQzODBCNzAwMEVDREZCMCAvKiBNZWRpYVNh
bXBsZUFWRk9iakMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQkVBRUFEMTlEOTJCNkMwMEJFQkE4
OCAvKiBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE3
RDI3NUUxRUFDNTc5ODAwQkYwMUU3IC8qIE1lZGlhU2VsZWN0aW9uT3B0aW9uLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk0MTZFQ0FFNTI1QjU4Q0M0MDBCMzREQTUgLyogTWVkaWFTZXNzaW9uR3JvdXBJ
ZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREE5NTkzRjI0MTJCQUUwMDA5MTBFRUYg
LyogTWVkaWFTZXNzaW9uSGVscGVySU9TLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTQ0NjBBMjI0
MTI5OTQ1MDA4MTRCRTcgLyogTWVkaWFTZXNzaW9uSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDE3RjdBRUYyMTM5QkY2RjAwRkJBN0VDIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2Nv
YS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAwZTQ2MTZhOWRj
OWNmZDFkOGZlZTNiMmQyMTY4NjNiZGZhZmY5NzJjLi5jZWViNjQ2NjRjMTkyNDQyZDE3NmMxZTdi
OTUxMGQyZDg1MTI0MGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTc1NSwxMCArNzU1
LDYgQEAgRG9jdW1lbnQ6On5Eb2N1bWVudCgpCiAgICAgaWYgKG1fY2FjaGVkUmVzb3VyY2VMb2Fk
ZXItPmRvY3VtZW50KCkgPT0gdGhpcykKICAgICAgICAgbV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+
c2V0RG9jdW1lbnQobnVsbHB0cik7CiAKLSNpZiBFTkFCTEUoVklERU8pCi0gICAgcGF1c2VBbGxN
ZWRpYVBsYXliYWNrKCk7Ci0jZW5kaWYKLQogICAgIC8vIFdlIG11c3QgY2FsbCBjbGVhclJhcmVE
YXRhKCkgaGVyZSBzaW5jZSBhIERvY3VtZW50IGNsYXNzIGluaGVyaXRzIFRyZWVTY29wZQogICAg
IC8vIGFzIHdlbGwgYXMgTm9kZS4gU2VlIGEgY29tbWVudCBvbiBUcmVlU2NvcGUuaCBmb3IgdGhl
IHJlYXNvbi4KICAgICBpZiAoaGFzUmFyZURhdGEoKSkKQEAgLTE4NTksNTAgKzE4NTUsNiBAQCB2
b2lkIERvY3VtZW50Ojpmb3JFYWNoTWVkaWFFbGVtZW50KGNvbnN0IEZ1bmN0aW9uPHZvaWQoSFRN
TE1lZGlhRWxlbWVudCYpPiYgZnVuYwogICAgICAgICBmdW5jdGlvbihlbGVtZW50KTsKIH0KIAot
Ym9vbCBEb2N1bWVudDo6bWVkaWFQbGF5YmFja0V4aXN0cygpCi17Ci0gICAgaWYgKGF1dG8qIHBs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6
c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCi0gICAgICAgIHJldHVybiAhcGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLT5oYXNOb1Nlc3Npb24oKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJv
b2wgRG9jdW1lbnQ6Om1lZGlhUGxheWJhY2tJc1BhdXNlZCgpCi17Ci0gICAgaWYgKGF1dG8qIHBs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6
c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCi0gICAgICAgIHJldHVybiBwbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXItPm1lZGlhUGxheWJhY2tJc1BhdXNlZChpZGVudGlmaWVyKCkpOwotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQotdm9pZCBEb2N1bWVudDo6cGF1c2VBbGxNZWRpYVBsYXliYWNrKCkK
LXsKLSAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKLSAgICAgICAgcGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5wYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVu
dChpZGVudGlmaWVyKCkpOwotfQotCi12b2lkIERvY3VtZW50OjpzdXNwZW5kQWxsTWVkaWFQbGF5
YmFjaygpCi17Ci0gICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCi0gICAg
ICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+c3VzcGVuZEFsbE1lZGlhUGxheWJhY2tG
b3JEb2N1bWVudChpZGVudGlmaWVyKCkpOwotfQotCi12b2lkIERvY3VtZW50OjpyZXN1bWVBbGxN
ZWRpYVBsYXliYWNrKCkKLXsKLSAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMo
KSkKLSAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5yZXN1bWVBbGxNZWRpYVBs
YXliYWNrRm9yRG9jdW1lbnQoaWRlbnRpZmllcigpKTsKLX0KLQotdm9pZCBEb2N1bWVudDo6c3Vz
cGVuZEFsbE1lZGlhQnVmZmVyaW5nKCkKLXsKLSAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2Vy
SWZFeGlzdHMoKSkKLSAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5zdXNwZW5k
QWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChpZGVudGlmaWVyKCkpOwotfQotCi12b2lkIERv
Y3VtZW50OjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpCi17Ci0gICAgaWYgKGF1dG8qIHBsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hh
cmVkTWFuYWdlcklmRXhpc3RzKCkpCi0gICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci0+cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChpZGVudGlmaWVyKCkpOwotfQot
CiAjZW5kaWYKIAogU3RyaW5nIERvY3VtZW50Ojpub2RlTmFtZSgpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCmluZGV4IGQ5NTdiZjk3NDI2ZTgyODJiNzhkNmJlNmVkNzZlNzQxMjM3MjY4NzUuLjcx
YjZlNTczMGU2N2I0MTUwNTE3MjQxOTcwN2MzMmVmZGM2MGQ0NWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCkBAIC0xMTE5LDE2ICsxMTE5LDYgQEAgcHVibGljOgogICAgIHZvaWQgcmVnaXN0ZXJGb3JW
aXNpYmlsaXR5U3RhdGVDaGFuZ2VkQ2FsbGJhY2tzKFZpc2liaWxpdHlDaGFuZ2VDbGllbnQmKTsK
ICAgICB2b2lkIHVucmVnaXN0ZXJGb3JWaXNpYmlsaXR5U3RhdGVDaGFuZ2VkQ2FsbGJhY2tzKFZp
c2liaWxpdHlDaGFuZ2VDbGllbnQmKTsKIAotI2lmIEVOQUJMRShWSURFTykKLSAgICBib29sIG1l
ZGlhUGxheWJhY2tFeGlzdHMoKTsKLSAgICBib29sIG1lZGlhUGxheWJhY2tJc1BhdXNlZCgpOwot
ICAgIHZvaWQgcGF1c2VBbGxNZWRpYVBsYXliYWNrKCk7Ci0gICAgdm9pZCBzdXNwZW5kQWxsTWVk
aWFQbGF5YmFjaygpOwotICAgIHZvaWQgcmVzdW1lQWxsTWVkaWFQbGF5YmFjaygpOwotICAgIHZv
aWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCk7Ci0gICAgdm9pZCByZXN1bWVBbGxNZWRpYUJ1
ZmZlcmluZygpOwotI2VuZGlmCi0KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNob3VsZENy
ZWF0ZVJlbmRlcmVycyhib29sKTsKICAgICBib29sIHNob3VsZENyZWF0ZVJlbmRlcmVycygpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBiNGUzOGQxZjQy
ODhlOWI3NjYwNDg1ZGFjMzZjYmVkNWE0Y2I1NzQ4Li5mMTk0OWY3NmMzNjNmMTczMWQ0MWJhMjg4
MWJmZDBhODMxZjU2ZjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKQEAgLTMwNjMsNiArMzA2MywxMiBAQCBNZWRpYVBsYXllcjo6TW92aWVMb2FkVHlwZSBIVE1M
TWVkaWFFbGVtZW50Ojptb3ZpZUxvYWRUeXBlKCkgY29uc3QKICAgICByZXR1cm4gbV9wbGF5ZXIg
PyBtX3BsYXllci0+bW92aWVMb2FkVHlwZSgpIDogTWVkaWFQbGF5ZXI6Ok1vdmllTG9hZFR5cGU6
OlVua25vd247CiB9CiAKK01lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBIVE1MTWVkaWFFbGVt
ZW50OjptZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSBjb25zdAoreworICAgIGF1dG8gcGFn
ZUlEID0gZG9jdW1lbnQoKS5wYWdlSUQoKTsKKyAgICByZXR1cm4gcGFnZUlEID8gbWFrZU9iamVj
dElkZW50aWZpZXI8TWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyVHlwZT4ocGFnZUlELT50b1VJ
bnQ2NCgpKSA6IE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciB7IH07Cit9CisKIGJvb2wgSFRN
TE1lZGlhRWxlbWVudDo6aGFzQXVkaW8oKSBjb25zdAogewogICAgIHJldHVybiBtX3BsYXllciA/
IG1fcGxheWVyLT5oYXNBdWRpbygpIDogZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oCmluZGV4IGRlOWQ1ZjgwN2UxOTk1YWNjZWI0NjQ0MTc5MjQzMjU4YTVlYTRjZTEu
LmM3YmU3MDZkZGZkNzI4ZjVmNTI3ZWVkYzQ1YTQ1ZmE0ZDg3MzBjZWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC0xOTcsNyArMTk3LDcgQEAgcHVibGljOgogICAg
IAogICAgIGJvb2wgaW5BY3RpdmVEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5BY3RpdmVE
b2N1bWVudDsgfQogCi0gICAgRG9jdW1lbnRJZGVudGlmaWVyIGhvc3RpbmdEb2N1bWVudElkZW50
aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBkb2N1bWVudCgpLmlkZW50aWZpZXIoKTsgfQor
ICAgIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZp
ZXIoKSBjb25zdCBmaW5hbDsKIAogLy8gRE9NIEFQSQogLy8gZXJyb3Igc3RhdGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuY3BwCmluZGV4IGNlOTE2ZjhmMjA5MWY5MWNmYWZlMmUzOTg5NTY3MmViZWViZDE4NTUuLjVk
Y2FmNDRiZWM4Y2RjYTJjMTU1MmZhMTllZjI0OWZmNzU4OTk0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cApAQCAtMjA3NywzNyArMjA3NywyNiBAQCB2b2lkIFBhZ2U6OnN0b3BNZWRpYUNhcHR1cmUoKQog
Ym9vbCBQYWdlOjptZWRpYVBsYXliYWNrRXhpc3RzKCkKIHsKICNpZiBFTkFCTEUoVklERU8pCi0g
ICAgYm9vbCBtZWRpYVBsYXliYWNrRXhpc3RzID0gZmFsc2U7Ci0gICAgZm9yRWFjaERvY3VtZW50
KFsmbWVkaWFQbGF5YmFja0V4aXN0c10gKERvY3VtZW50JiBkb2N1bWVudCkgewotICAgICAgICBp
ZiAoZG9jdW1lbnQubWVkaWFQbGF5YmFja0V4aXN0cygpKQotICAgICAgICAgICAgbWVkaWFQbGF5
YmFja0V4aXN0cyA9IHRydWU7Ci0gICAgfSk7Ci0gICAgcmV0dXJuIG1lZGlhUGxheWJhY2tFeGlz
dHM7Ci0jZWxzZQotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5h
Z2VySWZFeGlzdHMoKSkKKyAgICAgICAgcmV0dXJuICFwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXItPmhhc05vU2Vzc2lvbigpOwogI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOwogfQogCiBib29s
IFBhZ2U6Om1lZGlhUGxheWJhY2tJc1BhdXNlZCgpCiB7CiAjaWYgRU5BQkxFKFZJREVPKQotICAg
IGJvb2wgbWVkaWFQbGF5YmFja0lzUGF1c2VkID0gZmFsc2U7Ci0gICAgZm9yRWFjaERvY3VtZW50
KFsmbWVkaWFQbGF5YmFja0lzUGF1c2VkXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7Ci0gICAgICAg
IGlmIChkb2N1bWVudC5tZWRpYVBsYXliYWNrSXNQYXVzZWQoKSkKLSAgICAgICAgICAgIG1lZGlh
UGxheWJhY2tJc1BhdXNlZCA9IHRydWU7Ci0gICAgfSk7Ci0gICAgcmV0dXJuIG1lZGlhUGxheWJh
Y2tJc1BhdXNlZDsKLSNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChhdXRvKiBwbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNo
YXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICByZXR1cm4gcGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyLT5tZWRpYVBsYXliYWNrSXNQYXVzZWQobWVkaWFTZXNzaW9uR3JvdXBJZGVudGlm
aWVyKCkpOwogI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOwogfQogCiB2b2lkIFBhZ2U6OnBhdXNl
QWxsTWVkaWFQbGF5YmFjaygpCiB7CiAjaWYgRU5BQkxFKFZJREVPKQotICAgIGZvckVhY2hEb2N1
bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7Ci0gICAgICAgIGRvY3VtZW50LnBhdXNlQWxs
TWVkaWFQbGF5YmFjaygpOwotICAgIH0pOworICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJ
ZkV4aXN0cygpKQorICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPnBhdXNlQWxs
TWVkaWFQbGF5YmFja0Zvckdyb3VwKG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcigpKTsKICNl
bmRpZgogfQogCkBAIC0yMTE4LDE0ICsyMTA3LDIyIEBAIHZvaWQgUGFnZTo6c3VzcGVuZEFsbE1l
ZGlhUGxheWJhY2soKQogICAgIGlmIChtX21lZGlhUGxheWJhY2tJc1N1c3BlbmRlZCkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQp
IHsKLSAgICAgICAgZG9jdW1lbnQuc3VzcGVuZEFsbE1lZGlhUGxheWJhY2soKTsKLSAgICB9KTsK
KyAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKKyAgICAgICAgcGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5zdXNwZW5kQWxsTWVkaWFQbGF5YmFja0Zvckdyb3VwKG1l
ZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcigpKTsKIAorICAgIC8vIEZJWE1FOiBXZSBjYW5ub3Qg
c2V0IG1fbWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkIGJlZm9yZSwgc2VlIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI4MjkjYzcuCiAgICAgbV9tZWRpYVBsYXliYWNr
SXNTdXNwZW5kZWQgPSB0cnVlOwogI2VuZGlmCiB9CiAKKyNpZiBFTkFCTEUoVklERU8pCitNZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXIgUGFnZTo6bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVy
KCkgY29uc3QKK3sKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBtX21haW5GcmFtZS0+bG9hZGVyKCku
cGFnZUlEKCk7CisgICAgcmV0dXJuIGlkZW50aWZpZXIgPyBtYWtlT2JqZWN0SWRlbnRpZmllcjxN
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXJUeXBlPihpZGVudGlmaWVyLT50b1VJbnQ2NCgpKSA6
IE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciB7IH07Cit9CisjZW5kaWYKKwogdm9pZCBQYWdl
OjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrKCkKIHsKICNpZiBFTkFCTEUoVklERU8pCkBAIC0yMTM0
LDkgKzIxMzEsOCBAQCB2b2lkIFBhZ2U6OnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKQogICAgICAg
ICByZXR1cm47CiAgICAgbV9tZWRpYVBsYXliYWNrSXNTdXNwZW5kZWQgPSBmYWxzZTsKIAotICAg
IGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7Ci0gICAgICAgIGRvY3Vt
ZW50LnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKTsKLSAgICB9KTsKKyAgICBpZiAoYXV0byogcGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpz
aGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKKyAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLT5yZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXAobWVkaWFTZXNzaW9uR3JvdXBJZGVu
dGlmaWVyKCkpOwogI2VuZGlmCiB9CiAKQEAgLTIxNDgsOSArMjE0NCw4IEBAIHZvaWQgUGFnZTo6
c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCkKICAgICAgICAgcmV0dXJuOwogICAgIG1fbWVkaWFC
dWZmZXJpbmdJc1N1c3BlbmRlZCA9IHRydWU7CiAKLSAgICBmb3JFYWNoRG9jdW1lbnQoW10gKERv
Y3VtZW50JiBkb2N1bWVudCkgewotICAgICAgICBkb2N1bWVudC5zdXNwZW5kQWxsTWVkaWFCdWZm
ZXJpbmcoKTsKLSAgICB9KTsKKyAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMo
KSkKKyAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5zdXNwZW5kQWxsTWVkaWFC
dWZmZXJpbmdGb3JHcm91cChtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSk7CiAjZW5kaWYK
IH0KIApAQCAtMjE2MSw5ICsyMTU2LDggQEAgdm9pZCBQYWdlOjpyZXN1bWVBbGxNZWRpYUJ1ZmZl
cmluZygpCiAgICAgICAgIHJldHVybjsKICAgICBtX21lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQg
PSBmYWxzZTsKIAotICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7
Ci0gICAgICAgIGRvY3VtZW50LnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCk7Ci0gICAgfSk7Cisg
ICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCisgICAgICAgIHBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlci0+cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmdGb3JHcm91cChtZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRl
eCAxYmI0MzE2NTZkZTI0NmY2YTQ2NmE5NTBkODhkNTJhZjg5YWMwOWFjLi40NjhkNDgwYWM5Zjhm
YTZiNGU4OTM3OTE0MDUyNjA5ODgzMGY2OTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMzAsNiArMzAs
NyBAQAogI2luY2x1ZGUgIkxheW91dFJlY3QuaCIKICNpbmNsdWRlICJMZW5ndGhCb3guaCIKICNp
bmNsdWRlICJNZWRpYVByb2R1Y2VyLmgiCisjaW5jbHVkZSAiTWVkaWFTZXNzaW9uR3JvdXBJZGVu
dGlmaWVyLmgiCiAjaW5jbHVkZSAiUGFnaW5hdGlvbi5oIgogI2luY2x1ZGUgIlBsYXliYWNrVGFy
Z2V0Q2xpZW50Q29udGV4dElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJSVENDb250cm9sbGVyLmgi
CkBAIC04NTMsNiArODU0LDcgQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShWSURFTykKICAgICB2
b2lkIHBsYXliYWNrQ29udHJvbHNNYW5hZ2VyVXBkYXRlVGltZXJGaXJlZCgpOworICAgIE1lZGlh
U2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSBjb25z
dDsKICNlbmRpZgogCiAgICAgVmVjdG9yPFJlZjxQbHVnaW5WaWV3QmFzZT4+IHBsdWdpblZpZXdz
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNlc3Npb25Hcm91
cElkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2Vzc2lvbkdyb3Vw
SWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljM2M2ODdjNmFkM2VhMWExYmI4NmNhNTU0ZTcwNWVj
ZTZkYTBlMzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXIuaApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvT2JqZWN0SWRlbnRpZmllci5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2VudW0gTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyVHlwZSB7
IH07Cit1c2luZyBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVy
PE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllclR5cGU+OworCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAppbmRleCA3OTVl
OGRkZDM5MzE2MjRhZDJhNWNjMzMwYzkyNWJlN2RlZmMzODk1Li5jOTgxMjEzZDVlOTA3NmU0MmVi
OTBkYjRmM2ExMTU2YjUyZjRiNjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3By
YWdtYSBvbmNlCiAKLSNpbmNsdWRlICJEb2N1bWVudElkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJN
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJNZWRpYVNlc3Npb25JZGVu
dGlmaWVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVy
Lmg+CkBAIC0yNTIsNyArMjUyLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzUGxh
eWluZ09uU2Vjb25kU2NyZWVuKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1
YWwgRG9jdW1lbnRJZGVudGlmaWVyIGhvc3RpbmdEb2N1bWVudElkZW50aWZpZXIoKSBjb25zdCA9
IDA7CisgICAgdmlydHVhbCBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbWVkaWFTZXNzaW9u
R3JvdXBJZGVudGlmaWVyKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCBib29sIGhhc01lZGlh
U3RyZWFtU291cmNlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlci5jcHAKaW5kZXggMDA4MDE5MDRjMGMyMjYxODNjNGM0YTA5ZjdhY2I1OTQ3Zjg2MGMzZi4u
NDA1NDgzYmNhOGQwNmI3MTk2YTgzYWMwOTMyMWI5MzdjNDI4M2IyMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXIuY3BwCkBAIC00NjcsMTggKzQ2NywxOCBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6cHJvY2Vzc1N5c3RlbURpZFdha2UoKQogICAgIH0pOwogfQogCi12b2lkIFBs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6cGF1c2VBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1l
bnQoRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmllcikKK3ZvaWQgUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpwYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cChNZWRpYVNl
c3Npb25Hcm91cElkZW50aWZpZXIgbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKQogewotICAg
IGZvckVhY2hEb2N1bWVudFNlc3Npb24oZG9jdW1lbnRJZGVudGlmaWVyLCBbXShhdXRvJiBzZXNz
aW9uKSB7CisgICAgZm9yRWFjaFNlc3Npb25Jbkdyb3VwKG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRp
ZmllciwgW10oYXV0byYgc2Vzc2lvbikgewogICAgICAgICBzZXNzaW9uLnBhdXNlU2Vzc2lvbigp
OwogICAgIH0pOwogfQogCiAKLWJvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjptZWRp
YVBsYXliYWNrSXNQYXVzZWQoRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmllcikK
K2Jvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjptZWRpYVBsYXliYWNrSXNQYXVzZWQo
TWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcikK
IHsKICAgICBib29sIG1lZGlhUGxheWJhY2tJc1BhdXNlZCA9IGZhbHNlOwotICAgIGZvckVhY2hE
b2N1bWVudFNlc3Npb24oZG9jdW1lbnRJZGVudGlmaWVyLCBbJm1lZGlhUGxheWJhY2tJc1BhdXNl
ZF0oYXV0byYgc2Vzc2lvbikgeworICAgIGZvckVhY2hTZXNzaW9uSW5Hcm91cChtZWRpYVNlc3Np
b25Hcm91cElkZW50aWZpZXIsIFsmbWVkaWFQbGF5YmFja0lzUGF1c2VkXShhdXRvJiBzZXNzaW9u
KSB7CiAgICAgICAgIGlmIChzZXNzaW9uLnN0YXRlKCkgPT0gUGxhdGZvcm1NZWRpYVNlc3Npb246
OlBhdXNlZCkKICAgICAgICAgICAgIG1lZGlhUGxheWJhY2tJc1BhdXNlZCA9IHRydWU7CiAgICAg
fSk7CkBAIC00OTIsMzAgKzQ5MiwzMCBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
cjo6c3RvcEFsbE1lZGlhUGxheWJhY2tGb3JQcm9jZXNzKCkKICAgICB9KTsKIH0KIAotdm9pZCBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1c3BlbmRBbGxNZWRpYVBsYXliYWNrRm9yRG9j
dW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmllcikKK3ZvaWQgUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdXNwZW5kQWxsTWVkaWFQbGF5YmFja0Zvckdyb3VwKE1l
ZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIpCiB7
Ci0gICAgZm9yRWFjaERvY3VtZW50U2Vzc2lvbihkb2N1bWVudElkZW50aWZpZXIsIFtdKGF1dG8m
IHNlc3Npb24pIHsKKyAgICBmb3JFYWNoU2Vzc2lvbkluR3JvdXAobWVkaWFTZXNzaW9uR3JvdXBJ
ZGVudGlmaWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7CiAgICAgICAgIHNlc3Npb24uYmVnaW5JbnRl
cnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246OlBsYXliYWNrU3VzcGVuZGVkKTsKICAgICB9
KTsKIH0KIAotdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlh
UGxheWJhY2tGb3JEb2N1bWVudChEb2N1bWVudElkZW50aWZpZXIgZG9jdW1lbnRJZGVudGlmaWVy
KQordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhUGxheWJh
Y2tGb3JHcm91cChNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbWVkaWFTZXNzaW9uR3JvdXBJ
ZGVudGlmaWVyKQogewotICAgIGZvckVhY2hEb2N1bWVudFNlc3Npb24oZG9jdW1lbnRJZGVudGlm
aWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7CisgICAgZm9yRWFjaFNlc3Npb25Jbkdyb3VwKG1lZGlh
U2Vzc2lvbkdyb3VwSWRlbnRpZmllciwgW10oYXV0byYgc2Vzc2lvbikgewogICAgICAgICBzZXNz
aW9uLmVuZEludGVycnVwdGlvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWF5UmVzdW1lUGxheWlu
Zyk7CiAgICAgfSk7CiB9CiAKLXZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdXNw
ZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChEb2N1bWVudElkZW50aWZpZXIgZG9jdW1l
bnRJZGVudGlmaWVyKQordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1c3BlbmRB
bGxNZWRpYUJ1ZmZlcmluZ0Zvckdyb3VwKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXIpCiB7Ci0gICAgZm9yRWFjaERvY3VtZW50U2Vzc2lvbihk
b2N1bWVudElkZW50aWZpZXIsIFtdKGF1dG8mIHNlc3Npb24pIHsKKyAgICBmb3JFYWNoU2Vzc2lv
bkluR3JvdXAobWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7
CiAgICAgICAgIHNlc3Npb24uc3VzcGVuZEJ1ZmZlcmluZygpOwogICAgIH0pOwogfQogCi12b2lk
IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmdGb3JE
b2N1bWVudChEb2N1bWVudElkZW50aWZpZXIgZG9jdW1lbnRJZGVudGlmaWVyKQordm9pZCBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yR3JvdXAo
TWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcikK
IHsKLSAgICBmb3JFYWNoRG9jdW1lbnRTZXNzaW9uKGRvY3VtZW50SWRlbnRpZmllciwgW10oYXV0
byYgc2Vzc2lvbikgeworICAgIGZvckVhY2hTZXNzaW9uSW5Hcm91cChtZWRpYVNlc3Npb25Hcm91
cElkZW50aWZpZXIsIFtdKGF1dG8mIHNlc3Npb24pIHsKICAgICAgICAgc2Vzc2lvbi5yZXN1bWVC
dWZmZXJpbmcoKTsKICAgICB9KTsKIH0KQEAgLTUzOSwxMCArNTM5LDEzIEBAIHZvaWQgUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpmb3JFYWNoTWF0Y2hpbmdTZXNzaW9uKGNvbnN0IEZ1bmN0
aW9uPGJvb2woY29uCiAgICAgfQogfQogCi12b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
cjo6Zm9yRWFjaERvY3VtZW50U2Vzc2lvbihEb2N1bWVudElkZW50aWZpZXIgZG9jdW1lbnRJZGVu
dGlmaWVyLCBjb25zdCBGdW5jdGlvbjx2b2lkKFBsYXRmb3JtTWVkaWFTZXNzaW9uJik+JiBjYWxs
YmFjaykKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpmb3JFYWNoU2Vzc2lvbklu
R3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRp
ZmllciwgY29uc3QgRnVuY3Rpb248dm9pZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpPiYgY2FsbGJh
Y2spCiB7Ci0gICAgZm9yRWFjaE1hdGNoaW5nU2Vzc2lvbihbZG9jdW1lbnRJZGVudGlmaWVyXShh
dXRvJiBzZXNzaW9uKSB7Ci0gICAgICAgIHJldHVybiBzZXNzaW9uLmNsaWVudCgpLmhvc3RpbmdE
b2N1bWVudElkZW50aWZpZXIoKSA9PSBkb2N1bWVudElkZW50aWZpZXI7CisgICAgaWYgKCFtZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGZvckVhY2hN
YXRjaGluZ1Nlc3Npb24oW21lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcl0oYXV0byYgc2Vzc2lv
bikgeworICAgICAgICByZXR1cm4gc2Vzc2lvbi5jbGllbnQoKS5tZWRpYVNlc3Npb25Hcm91cElk
ZW50aWZpZXIoKSA9PSBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXI7CiAgICAgfSwgWyZjYWxs
YmFja10oYXV0byYgc2Vzc2lvbikgewogICAgICAgICBjYWxsYmFjayhzZXNzaW9uKTsKICAgICB9
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggMTRlZTExOWQ0YjU0NmU2MjQyY2I2ZTJmNmVk
NDE2MmE0NTUyNGM5Mi4uMWZjYjMzNDI0ZjBiNTVmZDIyMDliNjM0Y2VkZGVlODM5YzRkN2VkNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyX2gKICNkZWZpbmUgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyX2gKIAotI2luY2x1ZGUgIkRvY3VtZW50SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIkdlbmVy
aWNUYXNrUXVldWUuaCIKICNpbmNsdWRlICJNZWRpYVNlc3Npb25JZGVudGlmaWVyLmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb24uaCIKQEAgLTk0LDE0ICs5MywxNCBAQCBwdWJsaWM6
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwcm9jZXNzV2lsbFN1c3BlbmQoKTsKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHByb2Nlc3NEaWRSZXN1bWUoKTsKIAotICAgIGJvb2wgbWVkaWFQbGF5
YmFja0lzUGF1c2VkKERvY3VtZW50SWRlbnRpZmllcik7Ci0gICAgdm9pZCBwYXVzZUFsbE1lZGlh
UGxheWJhY2tGb3JEb2N1bWVudChEb2N1bWVudElkZW50aWZpZXIpOworICAgIGJvb2wgbWVkaWFQ
bGF5YmFja0lzUGF1c2VkKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcik7CisgICAgdm9pZCBw
YXVzZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cChNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RvcEFsbE1lZGlhUGxheWJhY2tGb3JQcm9jZXNz
KCk7CiAKLSAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoRG9jdW1l
bnRJZGVudGlmaWVyKTsKLSAgICB2b2lkIHJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVu
dChEb2N1bWVudElkZW50aWZpZXIpOwotICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5n
Rm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyKTsKLSAgICB2b2lkIHJlc3VtZUFsbE1lZGlh
QnVmZmVyaW5nRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyKTsKKyAgICB2b2lkIHN1c3Bl
bmRBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKTsK
KyAgICB2b2lkIHJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cChNZWRpYVNlc3Npb25Hcm91
cElkZW50aWZpZXIpOworICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nRm9yR3JvdXAo
TWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKTsKKyAgICB2b2lkIHJlc3VtZUFsbE1lZGlhQnVm
ZmVyaW5nRm9yR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKTsKIAogICAgIGVudW0g
U2Vzc2lvblJlc3RyaWN0aW9uRmxhZ3MgewogICAgICAgICBOb1Jlc3RyaWN0aW9ucyA9IDAsCkBA
IC0xNjEsNyArMTYwLDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVTZXNz
aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uJik7CiAKICAgICB2b2lkIGZvckVhY2hTZXNzaW9uKGNv
bnN0IEZ1bmN0aW9uPHZvaWQoUGxhdGZvcm1NZWRpYVNlc3Npb24mKT4mKTsKLSAgICB2b2lkIGZv
ckVhY2hEb2N1bWVudFNlc3Npb24oRG9jdW1lbnRJZGVudGlmaWVyLCBjb25zdCBGdW5jdGlvbjx2
b2lkKFBsYXRmb3JtTWVkaWFTZXNzaW9uJik+Jik7CisgICAgdm9pZCBmb3JFYWNoU2Vzc2lvbklu
R3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLCBjb25zdCBGdW5jdGlvbjx2b2lkKFBs
YXRmb3JtTWVkaWFTZXNzaW9uJik+Jik7CiAgICAgYm9vbCBhbnlPZlNlc3Npb25zKGNvbnN0IEZ1
bmN0aW9uPGJvb2woY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb24mKT4mKSBjb25zdDsKIAogICAg
IGJvb2wgaXNBcHBsaWNhdGlvbkluQmFja2dyb3VuZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNBcHBs
aWNhdGlvbkluQmFja2dyb3VuZDsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417830</attachid>
            <date>2021-01-18 07:06:36 -0800</date>
            <delta_ts>2021-01-20 00:49:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220706-20210118160634.patch</filename>
            <type>text/plain</type>
            <size>28938</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2RiMTY3NmRlZWM1Zjkz
YTBjNzNkZDljNjUwN2RmZDMwNjlmNmU0Ni4uYWViYzZlZjM1NzU5ODYyODgxZjQwMWIzOTM4ZDdh
MWNmZWUyYTcwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDIxLTAxLTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgYSBNZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDcwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgZ29pbmcgZnJvbSBwYWdlIHRvIGRvY3VtZW50IHRv
IG1lZGlhIHNlc3Npb24sIGludHJvZHVjZSBhIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciB3
aGljaCBncm91cHMgc2Vzc2lvbnMgYnkgcGFnZS4KKyAgICAgICAgV2UgY2FuIHRoZW4gZGlyZWN0
bHkgZ28gZnJvbSBwYWdlIHRvIG1lZGlhIHNlc3Npb24gdG8gc3VzcGVuZC9yZXN1bWUgcGxheSBi
YWNrLgorICAgICAgICBVcGRhdGUgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQgdG8gaW1wbGVt
ZW50IG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBpbnN0ZWFkIG9mIGhvc3RpbmdEb2N1bWVu
dElkZW50aWZpZXIuCisKKyAgICAgICAgV2UgcmVtb3ZlIHBhdXNpbmcgcGxheWJhY2sgZnJvbSBE
b2N1bWVudDo6fkRvY3VtZW50LCBhcyByZWxhdGVkIGF1ZGlvIHByb2R1Y2VycyAoQXVkaW9Db250
ZXh0LCBIVE1MTWVkaWFFbGVtZW50KQorICAgICAgICBzaG91bGQgYmUgcGF1c2VkIGluIHRoZWly
IEFjdGl2ZURPTU9iamVjdCBzdG9wIG1ldGhvZC4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0
aW5nIHRlc3RzLCB0aGlzIGlzIGEgcmVmYWN0b3JpbmcuCisKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbnRleHQ6
Om1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpB
dWRpb0NvbnRleHQ6Omhvc3RpbmdEb2N1bWVudElkZW50aWZpZXIgY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6fkRvY3VtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjptZWRpYVBsYXliYWNrRXhpc3RzKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjptZWRpYVBsYXliYWNrSXNQYXVzZWQpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBhdXNlQWxsTWVkaWFQbGF5YmFjayk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c3VzcGVuZEFsbE1lZGlhUGxheWJhY2spOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlc3VtZUFsbE1lZGlhUGxheWJh
Y2spOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1c3BlbmRBbGxNZWRp
YUJ1ZmZlcmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVzdW1l
QWxsTWVkaWFCdWZmZXJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgor
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgY29uc3QpOgorICAg
ICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjptZWRpYVBsYXliYWNrRXhpc3RzKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6Om1lZGlhUGxheWJhY2tJc1BhdXNlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpwYXVzZUFsbE1lZGlhUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6
c3VzcGVuZEFsbE1lZGlhUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6bWVkaWFT
ZXNzaW9uR3JvdXBJZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnJl
c3VtZUFsbE1lZGlhUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3VzcGVuZEFs
bE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnJlc3VtZUFsbE1lZGlh
QnVmZmVyaW5nKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9N
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpwYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6Om1lZGlhUGxheWJh
Y2tJc1BhdXNlZCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OnN1c3BlbmRBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yR3Jv
dXApOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdXNw
ZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JHcm91cCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yR3JvdXApOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpmb3JFYWNoU2Vz
c2lvbkluR3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyOjpwYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1c3BlbmRBbGxNZWRpYVBs
YXliYWNrRm9yRG9jdW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpz
dXNwZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhQnVmZmVy
aW5nRm9yRG9jdW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyOjpmb3JFYWNoRG9jdW1lbnRTZXNzaW9uKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaDoKKwogMjAy
MS0wMS0xOCAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AaWdhbGlhLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgcmVjZW50bHkgYWRkZWQgZ2x1ZSBjb2RlOiBSZW5kZXJMYXllcjo6KHNj
cm9sbFRvT2Zmc2V0IC8gc2Nyb2xsVG9YT2Zmc2V0IC8gc2Nyb2xsVG9ZT2Zmc2V0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRl
cnMuY21ha2UKaW5kZXggYWRlNWM2OTAyNDI5NzYyNWM3MGRhYjc5MGE1YzJjNWE4Nzc3ZWM2MS4u
MTkzNWY3YTlhZDQ2ODU4NzZlNmFmYjE0YmM5NGMyOWEwOGIyYjg1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlCkBAIC0xMDIyLDYgKzEwMjIsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19I
RUFERVJTCiAgICAgcGxhdGZvcm0vTWVkaWFEZXNjcmlwdGlvbi5oCiAgICAgcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaAogICAgIHBsYXRmb3JtL01lZGlhU2VsZWN0aW9uT3B0aW9uLmgKKyAgICBwbGF0
Zm9ybS9NZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaAogICAgIHBsYXRmb3JtL01lZGlhU2Vz
c2lvbklkZW50aWZpZXIuaAogICAgIHBsYXRmb3JtL01lZGlhU3RyYXRlZ3kuaAogICAgIHBsYXRm
b3JtL05vd1BsYXlpbmdNYW5hZ2VyLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmNwcAppbmRleCAyZDFiODkwZmEwYzViYmI5OThmM2UwNjEyOGI0
M2UwZTliMDEzZjE1Li40M2NiY2M5ODg4Njk4MWVjYTYzOGQyYmEzNmU1Njk2OTczNWNlZjkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3Bw
CkBAIC00NTUsMTAgKzQ1NSwxMCBAQCB2b2lkIEF1ZGlvQ29udGV4dDo6c3VzcGVuZFBsYXliYWNr
KCkKICAgICB9KTsKIH0KIAotRG9jdW1lbnRJZGVudGlmaWVyIEF1ZGlvQ29udGV4dDo6aG9zdGlu
Z0RvY3VtZW50SWRlbnRpZmllcigpIGNvbnN0CitNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIg
QXVkaW9Db250ZXh0OjptZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSBjb25zdAogewogICAg
IGF1dG8qIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KG1fc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCk7Ci0gICAgcmV0dXJuIGRvY3VtZW50ID8gZG9jdW1lbnQtPmlkZW50aWZpZXIoKSA6IERv
Y3VtZW50SWRlbnRpZmllciB7IH07CisgICAgcmV0dXJuIGRvY3VtZW50ICYmIGRvY3VtZW50LT5w
YWdlKCkgPyBkb2N1bWVudC0+cGFnZSgpLT5tZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSA6
IE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciB7IH07CiB9CiAKIGJvb2wgQXVkaW9Db250ZXh0
Ojppc1N1c3BlbmRlZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuaAppbmRleCAxZTc5YWZiN2ZhMmM4NDM0YTI2YmUyOTc0ZTFkYjE3YTBm
NDA2NGFlLi5hMjMyMjA2MDM4ODhhYjRiOWRkYTI5NjdkMmZjZDE4MjFiYWZjOTQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKQEAgLTEyMCw3
ICsxMjAsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVCYWNrZ3JvdW5kUGxh
eWJhY2tSZXN0cmljdGlvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6SW50ZXJydXB0aW9uVHlwZSkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIGNhblByb2R1Y2VBdWRp
bygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIGlzU3VzcGVuZGVkKCkg
Y29uc3QgZmluYWw7Ci0gICAgRG9jdW1lbnRJZGVudGlmaWVyIGhvc3RpbmdEb2N1bWVudElkZW50
aWZpZXIoKSBjb25zdCBmaW5hbDsKKyAgICBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbWVk
aWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkgY29uc3QgZmluYWw7CiAKICAgICAvLyBNZWRpYUNh
blN0YXJ0TGlzdGVuZXIuCiAgICAgdm9pZCBtZWRpYUNhblN0YXJ0KERvY3VtZW50Jikgb3ZlcnJp
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggMTkzNTA0ZGM0M2I2ZTQ3ZDM1OTY0M2YwYTFjZjBiMmMwYzU1ZmQ4Mi4uMDc4YjI2
YjA2NzhiNTFiNTk0NTQ5MmQ5OWNmOTEzZGQ2YjAyYmE1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA4Niw2ICsxMDg2LDcg
QEAKIAkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDUzIC8qIFdyaXRhYmxlU3RyZWFtSW50ZXJuYWxz
QnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDlCMDNEODA2MUJCMzExMEQwMEI3NjRFOSAvKiBXcml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0
aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDE2RTZGRTkxQkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzEx
MEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2MDUz
IC8qIFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjRFOCAvKiBXcml0YWJsZVN0
cmVhbUJ1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNDE2RUNBRTUyNUI1OENDNDAwQjM0REE1IC8qIE1lZGlhU2Vzc2lvbkdyb3VwSWRl
bnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDE2RUNBRTMyNUI1OENDNDAwQjM0REE1IC8qIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkZE
MjVGMjQwRkE0RTUwMDY2NjFEOCAvKiBOb3dQbGF5aW5nSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RkQyNUQyNDBFRTFBRTAwNjY2MUQ4IC8q
IE5vd1BsYXlpbmdJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbFRleHRU
cmFja0NvbnRhaW5lckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxNzI1M0E5MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xUZXh0
VHJhY2tDb250YWluZXJFbGVtZW50LmggKi87IH07CiAJCTQxNzYxMkFGMUUzQTk5NDAwMEMzRDgx
RCAvKiBMaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNzYxMkFCMUUzQTk5M0IwMEMzRDgxRCAvKiBMaWJXZWJS
VENNZWRpYUVuZHBvaW50LmNwcCAqLzsgfTsKQEAgLTc3NDUsNiArNzc0Niw3IEBACiAJCTQxNkQ3
NTlGMjBDNjQ0MTMwMEQwMkQyQyAvKiBOZXR3b3JrTG9hZEluZm9ybWF0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtMb2FkSW5mb3JtYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE2RTBCMzcyMDlCQzNDMjAwNEE5NUQ5IC8qIEZldGNo
SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGZXRjaElkZW50
aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE2RTI5QTUxMDJGQTk2MjAw
N0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdvcmtlclJlcG9ydGluZ1Byb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxNkVDQUUzMjVCNThDQzQwMEIzNERBNSAvKiBNZWRpYVNlc3Npb25Hcm91cElkZW50
aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTZXNzaW9uR3Jv
dXBJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNkY4MDc5MjQ1
MDlGMzIwMEI2OEYwMiAvKiBXaW5kb3dEaXNwbGF5Q2FwdHVyZXJNYWMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2luZG93RGlzcGxheUNhcHR1cmVyTWFjLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNkY4MDdBMjQ1MDlGMzIwMEI2OEYwMiAvKiBTY3JlZW5E
aXNwbGF5Q2FwdHVyZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBTY3JlZW5EaXNwbGF5Q2FwdHVyZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxNkY4MDdCMjQ1MDlGMzMwMEI2OEYwMiAvKiBXaW5kb3dEaXNwbGF5Q2FwdHVyZXJN
YWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXaW5kb3dEaXNw
bGF5Q2FwdHVyZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzU3Myw2
ICsyNzU3NSw3IEBACiAJCQkJQ0RGMkIwMDMxODFGMDU5QzAwRjJCNDI0IC8qIE1lZGlhRGVzY3Jp
cHRpb24uaCAqLywKIAkJCQlDRDY0MUVDNzE4MUVENjAxMDBFRTRDNDEgLyogTWVkaWFTYW1wbGUu
aCAqLywKIAkJCQlBMTdEMjc1RDFFQUM1Nzk4MDBCRjAxRTcgLyogTWVkaWFTZWxlY3Rpb25PcHRp
b24uaCAqLywKKwkJCQk0MTZFQ0FFMzI1QjU4Q0M0MDBCMzREQTUgLyogTWVkaWFTZXNzaW9uR3Jv
dXBJZGVudGlmaWVyLmggKi8sCiAJCQkJNDE0NDYwQTAyNDEyOTk0MTAwODE0QkU3IC8qIE1lZGlh
U2Vzc2lvbklkZW50aWZpZXIuaCAqLywKIAkJCQlBMzFBQzcwQTI0MzQwOTg0MDA3RjAwQTIgLyog
TWVkaWFTdHJhdGVneS5jcHAgKi8sCiAJCQkJOUIxMjI5QzYyM0ZFNEQ1RjAwOENBNzUxIC8qIE1l
ZGlhU3RyYXRlZ3kuaCAqLywKQEAgLTMzNzEwLDYgKzMzNzEzLDcgQEAKIAkJCQkxQjEyNEQ4RDFE
MzgwQjcwMDBFQ0RGQjAgLyogTWVkaWFTYW1wbGVBVkZPYmpDLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDREJFQUVBRDE5RDkyQjZDMDBCRUJBODggLyogTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUExN0QyNzVFMUVBQzU3OTgwMEJGMDFFNyAvKiBNZWRpYVNl
bGVjdGlvbk9wdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE2RUNBRTUyNUI1OENDNDAwQjM0
REE1IC8qIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0RBOTU5M0YyNDEyQkFFMDAwOTEwRUVGIC8qIE1lZGlhU2Vzc2lvbkhlbHBlcklPUy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDE0NDYwQTIyNDEyOTk0NTAwODE0QkU3IC8qIE1lZGlhU2Vzc2lvbklk
ZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxN0Y3QUVGMjEzOUJGNkYwMEZCQTdFQyAv
KiBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggMGU0NjE2YTlkYzljZmQxZDhmZWUzYjJkMjE2ODYzYmRmYWZmOTcyYy4u
Y2VlYjY0NjY0YzE5MjQ0MmQxNzZjMWU3Yjk1MTBkMmQ4NTEyNDBkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC03NTUsMTAgKzc1NSw2IEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQogICAg
IGlmIChtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5kb2N1bWVudCgpID09IHRoaXMpCiAgICAgICAg
IG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPnNldERvY3VtZW50KG51bGxwdHIpOwogCi0jaWYgRU5B
QkxFKFZJREVPKQotICAgIHBhdXNlQWxsTWVkaWFQbGF5YmFjaygpOwotI2VuZGlmCi0KICAgICAv
LyBXZSBtdXN0IGNhbGwgY2xlYXJSYXJlRGF0YSgpIGhlcmUgc2luY2UgYSBEb2N1bWVudCBjbGFz
cyBpbmhlcml0cyBUcmVlU2NvcGUKICAgICAvLyBhcyB3ZWxsIGFzIE5vZGUuIFNlZSBhIGNvbW1l
bnQgb24gVHJlZVNjb3BlLmggZm9yIHRoZSByZWFzb24uCiAgICAgaWYgKGhhc1JhcmVEYXRhKCkp
CkBAIC0xODU5LDUwICsxODU1LDYgQEAgdm9pZCBEb2N1bWVudDo6Zm9yRWFjaE1lZGlhRWxlbWVu
dChjb25zdCBGdW5jdGlvbjx2b2lkKEhUTUxNZWRpYUVsZW1lbnQmKT4mIGZ1bmMKICAgICAgICAg
ZnVuY3Rpb24oZWxlbWVudCk7CiB9CiAKLWJvb2wgRG9jdW1lbnQ6Om1lZGlhUGxheWJhY2tFeGlz
dHMoKQotewotICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQotICAgICAg
ICByZXR1cm4gIXBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+aGFzTm9TZXNzaW9uKCk7Ci0g
ICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29sIERvY3VtZW50OjptZWRpYVBsYXliYWNrSXNQYXVz
ZWQoKQotewotICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQotICAgICAg
ICByZXR1cm4gcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5tZWRpYVBsYXliYWNrSXNQYXVz
ZWQoaWRlbnRpZmllcigpKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXZvaWQgRG9jdW1lbnQ6
OnBhdXNlQWxsTWVkaWFQbGF5YmFjaygpCi17Ci0gICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdl
cklmRXhpc3RzKCkpCi0gICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+cGF1c2VB
bGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoaWRlbnRpZmllcigpKTsKLX0KLQotdm9pZCBEb2N1
bWVudDo6c3VzcGVuZEFsbE1lZGlhUGxheWJhY2soKQotewotICAgIGlmIChhdXRvKiBwbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJl
ZE1hbmFnZXJJZkV4aXN0cygpKQotICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIt
PnN1c3BlbmRBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoaWRlbnRpZmllcigpKTsKLX0KLQot
dm9pZCBEb2N1bWVudDo6cmVzdW1lQWxsTWVkaWFQbGF5YmFjaygpCi17Ci0gICAgaWYgKGF1dG8q
IHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
cjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCi0gICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlci0+cmVzdW1lQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KGlkZW50aWZpZXIoKSk7
Ci19Ci0KLXZvaWQgRG9jdW1lbnQ6OnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpCi17Ci0gICAg
aWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCi0gICAgICAgIHBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci0+c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQoaWRl
bnRpZmllcigpKTsKLX0KLQotdm9pZCBEb2N1bWVudDo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmco
KQotewotICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQotICAgICAgICBw
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yRG9j
dW1lbnQoaWRlbnRpZmllcigpKTsKLX0KLQogI2VuZGlmCiAKIFN0cmluZyBEb2N1bWVudDo6bm9k
ZU5hbWUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBkOTU3YmY5NzQyNmU4MjgyYjc4
ZDZiZTZlZDc2ZTc0MTIzNzI2ODc1Li43MWI2ZTU3MzBlNjdiNDE1MDUxNzI0MTk3MDdjMzJlZmRj
NjBkNDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTExOSwxNiArMTExOSw2IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHJlZ2lzdGVyRm9yVmlzaWJpbGl0eVN0YXRlQ2hhbmdlZENhbGxiYWNrcyhW
aXNpYmlsaXR5Q2hhbmdlQ2xpZW50Jik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyRm9yVmlzaWJpbGl0
eVN0YXRlQ2hhbmdlZENhbGxiYWNrcyhWaXNpYmlsaXR5Q2hhbmdlQ2xpZW50Jik7CiAKLSNpZiBF
TkFCTEUoVklERU8pCi0gICAgYm9vbCBtZWRpYVBsYXliYWNrRXhpc3RzKCk7Ci0gICAgYm9vbCBt
ZWRpYVBsYXliYWNrSXNQYXVzZWQoKTsKLSAgICB2b2lkIHBhdXNlQWxsTWVkaWFQbGF5YmFjaygp
OwotICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhUGxheWJhY2soKTsKLSAgICB2b2lkIHJlc3VtZUFs
bE1lZGlhUGxheWJhY2soKTsKLSAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpOwot
ICAgIHZvaWQgcmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKTsKLSNlbmRpZgotCiAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRTaG91bGRDcmVhdGVSZW5kZXJlcnMoYm9vbCk7CiAgICAgYm9vbCBz
aG91bGRDcmVhdGVSZW5kZXJlcnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggYjRlMzhkMWY0Mjg4ZTliNzY2MDQ4NWRhYzM2Y2JlZDVhNGNiNTc0OC4u
OTRmZTRmMmJhMzRjOThhNmEwNWJlYWYzNWRhNzViYzE5YTFhMmZlNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0zMDYzLDYgKzMwNjMsMTEgQEAgTWVkaWFQ
bGF5ZXI6Ok1vdmllTG9hZFR5cGUgSFRNTE1lZGlhRWxlbWVudDo6bW92aWVMb2FkVHlwZSgpIGNv
bnN0CiAgICAgcmV0dXJuIG1fcGxheWVyID8gbV9wbGF5ZXItPm1vdmllTG9hZFR5cGUoKSA6IE1l
ZGlhUGxheWVyOjpNb3ZpZUxvYWRUeXBlOjpVbmtub3duOwogfQogCitNZWRpYVNlc3Npb25Hcm91
cElkZW50aWZpZXIgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVy
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBh
Z2UoKS0+bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkgOiBNZWRpYVNlc3Npb25Hcm91cElk
ZW50aWZpZXIgeyB9OworfQorCiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Omhhc0F1ZGlvKCkgY29u
c3QKIHsKICAgICByZXR1cm4gbV9wbGF5ZXIgPyBtX3BsYXllci0+aGFzQXVkaW8oKSA6IGZhbHNl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBkZTlkNWY4MDdlMTk5
NWFjY2ViNDY0NDE3OTI0MzI1OGE1ZWE0Y2UxLi5jN2JlNzA2ZGRmZDcyOGY1ZjUyN2VlZGM0NWE0
NWZhNGQ4NzMwY2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAt
MTk3LDcgKzE5Nyw3IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIGluQWN0aXZlRG9jdW1lbnQo
KSBjb25zdCB7IHJldHVybiBtX2luQWN0aXZlRG9jdW1lbnQ7IH0KIAotICAgIERvY3VtZW50SWRl
bnRpZmllciBob3N0aW5nRG9jdW1lbnRJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
ZG9jdW1lbnQoKS5pZGVudGlmaWVyKCk7IH0KKyAgICBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZp
ZXIgbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkgY29uc3QgZmluYWw7CiAKIC8vIERPTSBB
UEkKIC8vIGVycm9yIHN0YXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBjZTkxNmY4ZjIwOTFmOTFj
ZmFmZTJlMzk4OTU2NzJlYmVlYmQxODU1Li4zZTFiY2I3MGE3ZDAzODM3OTQ5YjA5OWYyNmJjOWM3
MzYyOGRhY2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTIwNzcsMzcgKzIwNzcsMjYgQEAgdm9p
ZCBQYWdlOjpzdG9wTWVkaWFDYXB0dXJlKCkKIGJvb2wgUGFnZTo6bWVkaWFQbGF5YmFja0V4aXN0
cygpCiB7CiAjaWYgRU5BQkxFKFZJREVPKQotICAgIGJvb2wgbWVkaWFQbGF5YmFja0V4aXN0cyA9
IGZhbHNlOwotICAgIGZvckVhY2hEb2N1bWVudChbJm1lZGlhUGxheWJhY2tFeGlzdHNdIChEb2N1
bWVudCYgZG9jdW1lbnQpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50Lm1lZGlhUGxheWJhY2tFeGlz
dHMoKSkKLSAgICAgICAgICAgIG1lZGlhUGxheWJhY2tFeGlzdHMgPSB0cnVlOwotICAgIH0pOwot
ICAgIHJldHVybiBtZWRpYVBsYXliYWNrRXhpc3RzOwotI2Vsc2UKLSAgICByZXR1cm4gZmFsc2U7
CisgICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCisgICAgICAgIHJldHVy
biAhcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5oYXNOb1Nlc3Npb24oKTsKICNlbmRpZgor
ICAgIHJldHVybiBmYWxzZTsKIH0KIAogYm9vbCBQYWdlOjptZWRpYVBsYXliYWNrSXNQYXVzZWQo
KQogewogI2lmIEVOQUJMRShWSURFTykKLSAgICBib29sIG1lZGlhUGxheWJhY2tJc1BhdXNlZCA9
IGZhbHNlOwotICAgIGZvckVhY2hEb2N1bWVudChbJm1lZGlhUGxheWJhY2tJc1BhdXNlZF0gKERv
Y3VtZW50JiBkb2N1bWVudCkgewotICAgICAgICBpZiAoZG9jdW1lbnQubWVkaWFQbGF5YmFja0lz
UGF1c2VkKCkpCi0gICAgICAgICAgICBtZWRpYVBsYXliYWNrSXNQYXVzZWQgPSB0cnVlOwotICAg
IH0pOwotICAgIHJldHVybiBtZWRpYVBsYXliYWNrSXNQYXVzZWQ7Ci0jZWxzZQotICAgIHJldHVy
biBmYWxzZTsKKyAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKKyAgICAg
ICAgcmV0dXJuIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+bWVkaWFQbGF5YmFja0lzUGF1
c2VkKG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcigpKTsKICNlbmRpZgorICAgIHJldHVybiBm
YWxzZTsKIH0KIAogdm9pZCBQYWdlOjpwYXVzZUFsbE1lZGlhUGxheWJhY2soKQogewogI2lmIEVO
QUJMRShWSURFTykKLSAgICBmb3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkg
ewotICAgICAgICBkb2N1bWVudC5wYXVzZUFsbE1lZGlhUGxheWJhY2soKTsKLSAgICB9KTsKKyAg
ICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKKyAgICAgICAgcGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyLT5wYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cChtZWRpYVNl
c3Npb25Hcm91cElkZW50aWZpZXIoKSk7CiAjZW5kaWYKIH0KIApAQCAtMjExOCwxNCArMjEwNywy
MCBAQCB2b2lkIFBhZ2U6OnN1c3BlbmRBbGxNZWRpYVBsYXliYWNrKCkKICAgICBpZiAobV9tZWRp
YVBsYXliYWNrSXNTdXNwZW5kZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZvckVhY2hEb2N1
bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7Ci0gICAgICAgIGRvY3VtZW50LnN1c3BlbmRB
bGxNZWRpYVBsYXliYWNrKCk7Ci0gICAgfSk7CisgICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdl
cklmRXhpc3RzKCkpCisgICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+c3VzcGVu
ZEFsbE1lZGlhUGxheWJhY2tGb3JHcm91cChtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSk7
CiAKKyAgICAvLyBGSVhNRTogV2UgY2Fubm90IHNldCBtX21lZGlhUGxheWJhY2tJc1N1c3BlbmRl
ZCBiZWZvcmUsIHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTky
ODI5I2M3LgogICAgIG1fbWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkID0gdHJ1ZTsKICNlbmRpZgog
fQogCitNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgUGFnZTo6bWVkaWFTZXNzaW9uR3JvdXBJ
ZGVudGlmaWVyKCkgY29uc3QKK3sKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBtX21haW5GcmFtZS0+
bG9hZGVyKCkucGFnZUlEKCk7CisgICAgcmV0dXJuIGlkZW50aWZpZXIgPyBtYWtlT2JqZWN0SWRl
bnRpZmllcjxNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXJUeXBlPihpZGVudGlmaWVyLT50b1VJ
bnQ2NCgpKSA6IE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciB7IH07Cit9CisKIHZvaWQgUGFn
ZTo6cmVzdW1lQWxsTWVkaWFQbGF5YmFjaygpCiB7CiAjaWYgRU5BQkxFKFZJREVPKQpAQCAtMjEz
NCw5ICsyMTI5LDggQEAgdm9pZCBQYWdlOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrKCkKICAgICAg
ICAgcmV0dXJuOwogICAgIG1fbWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkID0gZmFsc2U7CiAKLSAg
ICBmb3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgewotICAgICAgICBkb2N1
bWVudC5yZXN1bWVBbGxNZWRpYVBsYXliYWNrKCk7Ci0gICAgfSk7CisgICAgaWYgKGF1dG8qIHBs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6
c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCisgICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlci0+cmVzdW1lQWxsTWVkaWFQbGF5YmFja0Zvckdyb3VwKG1lZGlhU2Vzc2lvbkdyb3VwSWRl
bnRpZmllcigpKTsKICNlbmRpZgogfQogCkBAIC0yMTQ4LDkgKzIxNDIsOCBAQCB2b2lkIFBhZ2U6
OnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpCiAgICAgICAgIHJldHVybjsKICAgICBtX21lZGlh
QnVmZmVyaW5nSXNTdXNwZW5kZWQgPSB0cnVlOwogCi0gICAgZm9yRWFjaERvY3VtZW50KFtdIChE
b2N1bWVudCYgZG9jdW1lbnQpIHsKLSAgICAgICAgZG9jdW1lbnQuc3VzcGVuZEFsbE1lZGlhQnVm
ZmVyaW5nKCk7Ci0gICAgfSk7CisgICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3Rz
KCkpCisgICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+c3VzcGVuZEFsbE1lZGlh
QnVmZmVyaW5nRm9yR3JvdXAobWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkpOwogI2VuZGlm
CiB9CiAKQEAgLTIxNjEsOSArMjE1NCw4IEBAIHZvaWQgUGFnZTo6cmVzdW1lQWxsTWVkaWFCdWZm
ZXJpbmcoKQogICAgICAgICByZXR1cm47CiAgICAgbV9tZWRpYUJ1ZmZlcmluZ0lzU3VzcGVuZGVk
ID0gZmFsc2U7CiAKLSAgICBmb3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkg
ewotICAgICAgICBkb2N1bWVudC5yZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpOwotICAgIH0pOwor
ICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICBwbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXItPnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yR3JvdXAobWVk
aWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5k
ZXggMWJiNDMxNjU2ZGUyNDZmNmE0NjZhOTUwZDg4ZDUyYWY4OWFjMDlhYy4uNjJkZWE1NTM4ZDRh
MDE5Zjg5NDQ2YTNjZjljNDY0ODI1YWUyMjczNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTMwLDYgKzMw
LDcgQEAKICNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCiAjaW5jbHVkZSAiTGVuZ3RoQm94LmgiCiAj
aW5jbHVkZSAiTWVkaWFQcm9kdWNlci5oIgorI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbkdyb3VwSWRl
bnRpZmllci5oIgogI2luY2x1ZGUgIlBhZ2luYXRpb24uaCIKICNpbmNsdWRlICJQbGF5YmFja1Rh
cmdldENsaWVudENvbnRleHRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUlRDQ29udHJvbGxlci5o
IgpAQCAtNjk0LDYgKzY5NSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNl
dE11dGVkKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyk7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzdG9wTWVkaWFDYXB0dXJlKCk7CiAKKyAgICBNZWRpYVNlc3Npb25Hcm91cElkZW50
aWZpZXIgbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9F
WFBPUlQgYm9vbCBtZWRpYVBsYXliYWNrRXhpc3RzKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9v
bCBtZWRpYVBsYXliYWNrSXNQYXVzZWQoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBhdXNl
QWxsTWVkaWFQbGF5YmFjaygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9N
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YzNjNjg3YzZhZDNlYTFh
MWJiODZjYTU1NGU3MDVlY2U2ZGEwZTMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLmgKQEAgLTAsMCArMSwzNSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL09iamVjdElkZW50
aWZpZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIE1lZGlhU2Vzc2lvbkdyb3Vw
SWRlbnRpZmllclR5cGUgeyB9OwordXNpbmcgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyID0g
T2JqZWN0SWRlbnRpZmllcjxNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXJUeXBlPjsKKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNz
aW9uLmgKaW5kZXggNzk1ZThkZGQzOTMxNjI0YWQyYTVjYzMzMGM5MjViZTdkZWZjMzg5NS4uYzk4
MTIxM2Q1ZTkwNzZlNDJlYjkwZGI0ZjNhMTE1NmI1MmY0YjYyNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCkBAIC0yNSw3
ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiRG9jdW1lbnRJZGVudGlmaWVy
LmgiCisjaW5jbHVkZSAiTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAi
TWVkaWFTZXNzaW9uSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8
d3RmL0xvZ2dlckhlbHBlci5oPgpAQCAtMjUyLDcgKzI1Miw3IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgYm9vbCBpc1BsYXlpbmdPblNlY29uZFNjcmVlbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CiAKLSAgICB2aXJ0dWFsIERvY3VtZW50SWRlbnRpZmllciBob3N0aW5nRG9jdW1lbnRJZGVu
dGlmaWVyKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlm
aWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcigpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1
YWwgYm9vbCBoYXNNZWRpYVN0cmVhbVNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDAwODAxOTA0YzBjMjI2MTgzYzRjNGEwOWY3
YWNiNTk0N2Y4NjBjM2YuLjQwNTQ4M2JjYThkMDZiNzE5NmE4M2FjMDkzMjFiOTM3YzQyODNiMjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcApAQCAtNDY3LDE4ICs0NjcsMTggQEAgdm9pZCBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnByb2Nlc3NTeXN0ZW1EaWRXYWtlKCkKICAgICB9
KTsKIH0KIAotdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnBhdXNlQWxsTWVkaWFQ
bGF5YmFja0ZvckRvY3VtZW50KERvY3VtZW50SWRlbnRpZmllciBkb2N1bWVudElkZW50aWZpZXIp
Cit2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6cGF1c2VBbGxNZWRpYVBsYXliYWNr
Rm9yR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRl
bnRpZmllcikKIHsKLSAgICBmb3JFYWNoRG9jdW1lbnRTZXNzaW9uKGRvY3VtZW50SWRlbnRpZmll
ciwgW10oYXV0byYgc2Vzc2lvbikgeworICAgIGZvckVhY2hTZXNzaW9uSW5Hcm91cChtZWRpYVNl
c3Npb25Hcm91cElkZW50aWZpZXIsIFtdKGF1dG8mIHNlc3Npb24pIHsKICAgICAgICAgc2Vzc2lv
bi5wYXVzZVNlc3Npb24oKTsKICAgICB9KTsKIH0KIAogCi1ib29sIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6bWVkaWFQbGF5YmFja0lzUGF1c2VkKERvY3VtZW50SWRlbnRpZmllciBkb2N1
bWVudElkZW50aWZpZXIpCitib29sIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6bWVkaWFQ
bGF5YmFja0lzUGF1c2VkKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25H
cm91cElkZW50aWZpZXIpCiB7CiAgICAgYm9vbCBtZWRpYVBsYXliYWNrSXNQYXVzZWQgPSBmYWxz
ZTsKLSAgICBmb3JFYWNoRG9jdW1lbnRTZXNzaW9uKGRvY3VtZW50SWRlbnRpZmllciwgWyZtZWRp
YVBsYXliYWNrSXNQYXVzZWRdKGF1dG8mIHNlc3Npb24pIHsKKyAgICBmb3JFYWNoU2Vzc2lvbklu
R3JvdXAobWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLCBbJm1lZGlhUGxheWJhY2tJc1BhdXNl
ZF0oYXV0byYgc2Vzc2lvbikgewogICAgICAgICBpZiAoc2Vzc2lvbi5zdGF0ZSgpID09IFBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpQYXVzZWQpCiAgICAgICAgICAgICBtZWRpYVBsYXliYWNrSXNQYXVz
ZWQgPSB0cnVlOwogICAgIH0pOwpAQCAtNDkyLDMwICs0OTIsMzAgQEAgdm9pZCBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OnN0b3BBbGxNZWRpYVBsYXliYWNrRm9yUHJvY2VzcygpCiAgICAg
fSk7CiB9CiAKLXZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdXNwZW5kQWxsTWVk
aWFQbGF5YmFja0ZvckRvY3VtZW50KERvY3VtZW50SWRlbnRpZmllciBkb2N1bWVudElkZW50aWZp
ZXIpCit2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3VzcGVuZEFsbE1lZGlhUGxh
eWJhY2tGb3JHcm91cChNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbWVkaWFTZXNzaW9uR3Jv
dXBJZGVudGlmaWVyKQogewotICAgIGZvckVhY2hEb2N1bWVudFNlc3Npb24oZG9jdW1lbnRJZGVu
dGlmaWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7CisgICAgZm9yRWFjaFNlc3Npb25Jbkdyb3VwKG1l
ZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciwgW10oYXV0byYgc2Vzc2lvbikgewogICAgICAgICBz
ZXNzaW9uLmJlZ2luSW50ZXJydXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQbGF5YmFja1N1
c3BlbmRlZCk7CiAgICAgfSk7CiB9CiAKLXZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
OjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyIGRv
Y3VtZW50SWRlbnRpZmllcikKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1
bWVBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1l
ZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcikKIHsKLSAgICBmb3JFYWNoRG9jdW1lbnRTZXNzaW9u
KGRvY3VtZW50SWRlbnRpZmllciwgW10oYXV0byYgc2Vzc2lvbikgeworICAgIGZvckVhY2hTZXNz
aW9uSW5Hcm91cChtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIsIFtdKGF1dG8mIHNlc3Npb24p
IHsKICAgICAgICAgc2Vzc2lvbi5lbmRJbnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246
Ok1heVJlc3VtZVBsYXlpbmcpOwogICAgIH0pOwogfQogCi12b2lkIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQoRG9jdW1lbnRJ
ZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmllcikKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JHcm91cChNZWRpYVNlc3Npb25Hcm91
cElkZW50aWZpZXIgbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKQogewotICAgIGZvckVhY2hE
b2N1bWVudFNlc3Npb24oZG9jdW1lbnRJZGVudGlmaWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7Cisg
ICAgZm9yRWFjaFNlc3Npb25Jbkdyb3VwKG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciwgW10o
YXV0byYgc2Vzc2lvbikgewogICAgICAgICBzZXNzaW9uLnN1c3BlbmRCdWZmZXJpbmcoKTsKICAg
ICB9KTsKIH0KIAotdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1l
ZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRp
ZmllcikKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYUJ1
ZmZlcmluZ0Zvckdyb3VwKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25H
cm91cElkZW50aWZpZXIpCiB7Ci0gICAgZm9yRWFjaERvY3VtZW50U2Vzc2lvbihkb2N1bWVudElk
ZW50aWZpZXIsIFtdKGF1dG8mIHNlc3Npb24pIHsKKyAgICBmb3JFYWNoU2Vzc2lvbkluR3JvdXAo
bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7CiAgICAgICAg
IHNlc3Npb24ucmVzdW1lQnVmZmVyaW5nKCk7CiAgICAgfSk7CiB9CkBAIC01MzksMTAgKzUzOSwx
MyBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6Zm9yRWFjaE1hdGNoaW5nU2Vz
c2lvbihjb25zdCBGdW5jdGlvbjxib29sKGNvbgogICAgIH0KIH0KIAotdm9pZCBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OmZvckVhY2hEb2N1bWVudFNlc3Npb24oRG9jdW1lbnRJZGVudGlm
aWVyIGRvY3VtZW50SWRlbnRpZmllciwgY29uc3QgRnVuY3Rpb248dm9pZChQbGF0Zm9ybU1lZGlh
U2Vzc2lvbiYpPiYgY2FsbGJhY2spCit2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6
Zm9yRWFjaFNlc3Npb25Jbkdyb3VwKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNl
c3Npb25Hcm91cElkZW50aWZpZXIsIGNvbnN0IEZ1bmN0aW9uPHZvaWQoUGxhdGZvcm1NZWRpYVNl
c3Npb24mKT4mIGNhbGxiYWNrKQogewotICAgIGZvckVhY2hNYXRjaGluZ1Nlc3Npb24oW2RvY3Vt
ZW50SWRlbnRpZmllcl0oYXV0byYgc2Vzc2lvbikgewotICAgICAgICByZXR1cm4gc2Vzc2lvbi5j
bGllbnQoKS5ob3N0aW5nRG9jdW1lbnRJZGVudGlmaWVyKCkgPT0gZG9jdW1lbnRJZGVudGlmaWVy
OworICAgIGlmICghbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBmb3JFYWNoTWF0Y2hpbmdTZXNzaW9uKFttZWRpYVNlc3Npb25Hcm91cElkZW50aWZp
ZXJdKGF1dG8mIHNlc3Npb24pIHsKKyAgICAgICAgcmV0dXJuIHNlc3Npb24uY2xpZW50KCkubWVk
aWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkgPT0gbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVy
OwogICAgIH0sIFsmY2FsbGJhY2tdKGF1dG8mIHNlc3Npb24pIHsKICAgICAgICAgY2FsbGJhY2so
c2Vzc2lvbik7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCmluZGV4IDE0ZWUxMTlkNGI1
NDZlNjI0MmNiNmUyZjZlZDQxNjJhNDU1MjRjOTIuLjFmY2IzMzQyNGYwYjU1ZmQyMjA5YjYzNGNl
ZGRlZTgzOWM0ZDdlZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0yNiw3ICsyNiw2IEBA
CiAjaWZuZGVmIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcl9oCiAjZGVmaW5lIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlcl9oCiAKLSNpbmNsdWRlICJEb2N1bWVudElkZW50aWZpZXIuaCIK
ICNpbmNsdWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCiAjaW5jbHVkZSAiTWVkaWFTZXNzaW9uSWRl
bnRpZmllci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uLmgiCkBAIC05NCwxNCAr
OTMsMTQgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcHJvY2Vzc1dpbGxTdXNw
ZW5kKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwcm9jZXNzRGlkUmVzdW1lKCk7CiAKLSAg
ICBib29sIG1lZGlhUGxheWJhY2tJc1BhdXNlZChEb2N1bWVudElkZW50aWZpZXIpOwotICAgIHZv
aWQgcGF1c2VBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyKTsK
KyAgICBib29sIG1lZGlhUGxheWJhY2tJc1BhdXNlZChNZWRpYVNlc3Npb25Hcm91cElkZW50aWZp
ZXIpOworICAgIHZvaWQgcGF1c2VBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXAoTWVkaWFTZXNzaW9u
R3JvdXBJZGVudGlmaWVyKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3BBbGxNZWRpYVBs
YXliYWNrRm9yUHJvY2VzcygpOwogCi0gICAgdm9pZCBzdXNwZW5kQWxsTWVkaWFQbGF5YmFja0Zv
ckRvY3VtZW50KERvY3VtZW50SWRlbnRpZmllcik7Ci0gICAgdm9pZCByZXN1bWVBbGxNZWRpYVBs
YXliYWNrRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyKTsKLSAgICB2b2lkIHN1c3BlbmRB
bGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3VtZW50KERvY3VtZW50SWRlbnRpZmllcik7Ci0gICAgdm9p
ZCByZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3VtZW50KERvY3VtZW50SWRlbnRpZmllcik7
CisgICAgdm9pZCBzdXNwZW5kQWxsTWVkaWFQbGF5YmFja0Zvckdyb3VwKE1lZGlhU2Vzc2lvbkdy
b3VwSWRlbnRpZmllcik7CisgICAgdm9pZCByZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXAo
TWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKTsKKyAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYUJ1
ZmZlcmluZ0Zvckdyb3VwKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcik7CisgICAgdm9pZCBy
ZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZ0Zvckdyb3VwKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmll
cik7CiAKICAgICBlbnVtIFNlc3Npb25SZXN0cmljdGlvbkZsYWdzIHsKICAgICAgICAgTm9SZXN0
cmljdGlvbnMgPSAwLApAQCAtMTYxLDcgKzE2MCw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFs
IHZvaWQgcmVtb3ZlU2Vzc2lvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpOwogCiAgICAgdm9pZCBm
b3JFYWNoU2Vzc2lvbihjb25zdCBGdW5jdGlvbjx2b2lkKFBsYXRmb3JtTWVkaWFTZXNzaW9uJik+
Jik7Ci0gICAgdm9pZCBmb3JFYWNoRG9jdW1lbnRTZXNzaW9uKERvY3VtZW50SWRlbnRpZmllciwg
Y29uc3QgRnVuY3Rpb248dm9pZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpPiYpOworICAgIHZvaWQg
Zm9yRWFjaFNlc3Npb25Jbkdyb3VwKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciwgY29uc3Qg
RnVuY3Rpb248dm9pZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpPiYpOwogICAgIGJvb2wgYW55T2ZT
ZXNzaW9ucyhjb25zdCBGdW5jdGlvbjxib29sKGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uJik+
JikgY29uc3Q7CiAKICAgICBib29sIGlzQXBwbGljYXRpb25JbkJhY2tncm91bmQoKSBjb25zdCB7
IHJldHVybiBtX2lzQXBwbGljYXRpb25JbkJhY2tncm91bmQ7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417948</attachid>
            <date>2021-01-20 00:49:52 -0800</date>
            <delta_ts>2021-01-20 01:06:03 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-220706-20210120094949.patch</filename>
            <type>text/plain</type>
            <size>29259</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2RiMTY3NmRlZWM1Zjkz
YTBjNzNkZDljNjUwN2RmZDMwNjlmNmU0Ni4uYmNmZmNkZmZhNTNjOTllOWNlNTFjOGFmZWQ1YzI5
MmVjOTE3Zjg2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDIxLTAxLTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgYSBNZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDcwNgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNv
bi4KKworICAgICAgICBJbnN0ZWFkIG9mIGdvaW5nIGZyb20gcGFnZSB0byBkb2N1bWVudCB0byBt
ZWRpYSBzZXNzaW9uLCBpbnRyb2R1Y2UgYSBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgd2hp
Y2ggZ3JvdXBzIHNlc3Npb25zIGJ5IHBhZ2UuCisgICAgICAgIFdlIGNhbiB0aGVuIGRpcmVjdGx5
IGdvIGZyb20gcGFnZSB0byBtZWRpYSBzZXNzaW9uIHRvIHN1c3BlbmQvcmVzdW1lIHBsYXkgYmFj
ay4KKyAgICAgICAgVXBkYXRlIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50IHRvIGltcGxlbWVu
dCBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgaW5zdGVhZCBvZiBob3N0aW5nRG9jdW1lbnRJ
ZGVudGlmaWVyLgorCisgICAgICAgIFdlIHJlbW92ZSBwYXVzaW5nIHBsYXliYWNrIGZyb20gRG9j
dW1lbnQ6On5Eb2N1bWVudCwgYXMgcmVsYXRlZCBhdWRpbyBwcm9kdWNlcnMgKEF1ZGlvQ29udGV4
dCwgSFRNTE1lZGlhRWxlbWVudCkKKyAgICAgICAgc2hvdWxkIGJlIHBhdXNlZCBpbiB0aGVpciBB
Y3RpdmVET01PYmplY3Qgc3RvcCBtZXRob2QuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGlu
ZyB0ZXN0cywgdGhpcyBpcyBhIHJlZmFjdG9yaW5nLgorCisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Db250ZXh0Ojpt
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9Db250ZXh0Ojpob3N0aW5nRG9jdW1lbnRJZGVudGlmaWVyIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6bWVkaWFQbGF5YmFja0V4aXN0cyk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6bWVkaWFQbGF5YmFja0lzUGF1c2VkKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwYXVzZUFsbE1lZGlhUGxheWJhY2spOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1c3BlbmRBbGxNZWRpYVBsYXliYWNrKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXN1bWVBbGxNZWRpYVBsYXliYWNr
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzdXNwZW5kQWxsTWVkaWFC
dWZmZXJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlc3VtZUFs
bE1lZGlhQnVmZmVyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAg
ICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIGNvbnN0KToKKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGFnZTo6bWVkaWFQbGF5YmFja0V4aXN0cyk6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjptZWRpYVBsYXliYWNrSXNQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6cGF1c2VBbGxNZWRpYVBsYXliYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnN1
c3BlbmRBbGxNZWRpYVBsYXliYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6Om1lZGlhU2Vz
c2lvbkdyb3VwSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpyZXN1
bWVBbGxNZWRpYVBsYXliYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnN1c3BlbmRBbGxN
ZWRpYUJ1ZmZlcmluZyk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpyZXN1bWVBbGxNZWRpYUJ1
ZmZlcmluZyk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGxhdGZvcm0vTWVk
aWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlcjo6cGF1c2VBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXApOgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjptZWRpYVBsYXliYWNr
SXNQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
OjpzdXNwZW5kQWxsTWVkaWFQbGF5YmFja0Zvckdyb3VwKToKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6cmVzdW1lQWxsTWVkaWFQbGF5YmFja0Zvckdyb3Vw
KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3VzcGVu
ZEFsbE1lZGlhQnVmZmVyaW5nRm9yR3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZ0Zvckdyb3VwKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6Zm9yRWFjaFNlc3Np
b25Jbkdyb3VwKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
cjo6cGF1c2VBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdXNwZW5kQWxsTWVkaWFQbGF5
YmFja0ZvckRvY3VtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcjo6cmVzdW1lQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3Vz
cGVuZEFsbE1lZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmlu
Z0ZvckRvY3VtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6Zm9yRWFjaERvY3VtZW50U2Vzc2lvbik6IERlbGV0ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg6CisKIDIwMjEt
MDEtMTggIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgUmVtb3ZlIHJlY2VudGx5IGFkZGVkIGdsdWUgY29kZTogUmVuZGVyTGF5ZXI6OihzY3Jv
bGxUb09mZnNldCAvIHNjcm9sbFRvWE9mZnNldCAvIHNjcm9sbFRvWU9mZnNldCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJz
LmNtYWtlCmluZGV4IGFkZTVjNjkwMjQyOTc2MjVjNzBkYWI3OTBhNWMyYzVhODc3N2VjNjEuLjE5
MzVmN2E5YWQ0Njg1ODc2ZTZhZmIxNGJjOTRjMjlhMDhiMmI4NTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFr
ZQpAQCAtMTAyMiw2ICsxMDIyLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVB
REVSUwogICAgIHBsYXRmb3JtL01lZGlhRGVzY3JpcHRpb24uaAogICAgIHBsYXRmb3JtL01lZGlh
U2FtcGxlLmgKICAgICBwbGF0Zm9ybS9NZWRpYVNlbGVjdGlvbk9wdGlvbi5oCisgICAgcGxhdGZv
cm0vTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLmgKICAgICBwbGF0Zm9ybS9NZWRpYVNlc3Np
b25JZGVudGlmaWVyLmgKICAgICBwbGF0Zm9ybS9NZWRpYVN0cmF0ZWd5LmgKICAgICBwbGF0Zm9y
bS9Ob3dQbGF5aW5nTWFuYWdlci5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5jcHAKaW5kZXggMmQxYjg5MGZhMGM1YmJiOTk4ZjNlMDYxMjhiNDNl
MGU5YjAxM2YxNS4uNDNjYmNjOTg4ODY5ODFlY2E2MzhkMmJhMzZlNTY5Njk3MzVjZWY5MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcApA
QCAtNDU1LDEwICs0NTUsMTAgQEAgdm9pZCBBdWRpb0NvbnRleHQ6OnN1c3BlbmRQbGF5YmFjaygp
CiAgICAgfSk7CiB9CiAKLURvY3VtZW50SWRlbnRpZmllciBBdWRpb0NvbnRleHQ6Omhvc3RpbmdE
b2N1bWVudElkZW50aWZpZXIoKSBjb25zdAorTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIEF1
ZGlvQ29udGV4dDo6bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkgY29uc3QKIHsKICAgICBh
dXRvKiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50PihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQpOwotICAgIHJldHVybiBkb2N1bWVudCA/IGRvY3VtZW50LT5pZGVudGlmaWVyKCkgOiBEb2N1
bWVudElkZW50aWZpZXIgeyB9OworICAgIHJldHVybiBkb2N1bWVudCAmJiBkb2N1bWVudC0+cGFn
ZSgpID8gZG9jdW1lbnQtPnBhZ2UoKS0+bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkgOiBN
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgeyB9OwogfQogCiBib29sIEF1ZGlvQ29udGV4dDo6
aXNTdXNwZW5kZWQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Db250ZXh0LmgKaW5kZXggMWU3OWFmYjdmYTJjODQzNGEyNmJlMjk3NGUxZGIxN2EwZjQw
NjRhZS4uYTIzMjIwNjAzODg4YWI0YjlkZGEyOTY3ZDJmY2QxODIxYmFmYzk0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC0xMjAsNyAr
MTIwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIHNob3VsZE92ZXJyaWRlQmFja2dyb3VuZFBsYXli
YWNrUmVzdHJpY3Rpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBjYW5Qcm9kdWNlQXVkaW8o
KSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgpIGNv
bnN0IGZpbmFsOwotICAgIERvY3VtZW50SWRlbnRpZmllciBob3N0aW5nRG9jdW1lbnRJZGVudGlm
aWVyKCkgY29uc3QgZmluYWw7CisgICAgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlh
U2Vzc2lvbkdyb3VwSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOwogCiAgICAgLy8gTWVkaWFDYW5T
dGFydExpc3RlbmVyLgogICAgIHZvaWQgbWVkaWFDYW5TdGFydChEb2N1bWVudCYpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDE5MzUwNGRjNDNiNmU0N2QzNTk2NDNmMGExY2YwYjJjMGM1NWZkODIuLjA3OGIyNmIw
Njc4YjUxYjU5NDU0OTJkOTljZjkxM2RkNmIwMmJhNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwODYsNiArMTA4Niw3IEBA
CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjA1MyAvKiBXcml0YWJsZVN0cmVhbUludGVybmFsc0J1
aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0RTkgLyogV3JpdGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQx
NkU2RkU5MUJCRDEyRTUwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBE
MDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU5MUJCRDEyRTUwMDBBNjA1MyAv
KiBXcml0YWJsZVN0cmVhbUJ1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RTggLyogV3JpdGFibGVTdHJl
YW1CdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTQxNkVDQUU1MjVCNThDQzQwMEIzNERBNSAvKiBNZWRpYVNlc3Npb25Hcm91cElkZW50
aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
NkVDQUUzMjVCNThDQzQwMEIzNERBNSAvKiBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTZGRDI1
RjI0MEZBNEU1MDA2NjYxRDggLyogTm93UGxheWluZ0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkZEMjVEMjQwRUUxQUUwMDY2NjFEOCAvKiBO
b3dQbGF5aW5nSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTQxNzI1M0FCMTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xUZXh0VHJh
Y2tDb250YWluZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sVGV4dFRy
YWNrQ29udGFpbmVyRWxlbWVudC5oICovOyB9OwogCQk0MTc2MTJBRjFFM0E5OTQwMDBDM0Q4MUQg
LyogTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTc2MTJBQjFFM0E5OTNCMDBDM0Q4MUQgLyogTGliV2ViUlRD
TWVkaWFFbmRwb2ludC5jcHAgKi87IH07CkBAIC03NzQ1LDYgKzc3NDYsNyBAQAogCQk0MTZENzU5
RjIwQzY0NDEzMDBEMDJEMkMgLyogTmV0d29ya0xvYWRJbmZvcm1hdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JrTG9hZEluZm9ybWF0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNkUwQjM3MjA5QkMzQzIwMDRBOTVEOSAvKiBGZXRjaElk
ZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmV0Y2hJZGVudGlm
aWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNkUyOUE1MTAyRkE5NjIwMDdG
QzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXb3JrZXJSZXBvcnRpbmdQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0MTZFQ0FFMzI1QjU4Q0M0MDBCMzREQTUgLyogTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlm
aWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU2Vzc2lvbkdyb3Vw
SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTZGODA3OTI0NTA5
RjMyMDBCNjhGMDIgLyogV2luZG93RGlzcGxheUNhcHR1cmVyTWFjLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdpbmRvd0Rpc3BsYXlDYXB0dXJlck1hYy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MTZGODA3QTI0NTA5RjMyMDBCNjhGMDIgLyogU2NyZWVuRGlz
cGxheUNhcHR1cmVyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gU2NyZWVuRGlzcGxheUNhcHR1cmVyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MTZGODA3QjI0NTA5RjMzMDBCNjhGMDIgLyogV2luZG93RGlzcGxheUNhcHR1cmVyTWFj
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2luZG93RGlzcGxh
eUNhcHR1cmVyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjc1NzMsNiAr
Mjc1NzUsNyBAQAogCQkJCUNERjJCMDAzMTgxRjA1OUMwMEYyQjQyNCAvKiBNZWRpYURlc2NyaXB0
aW9uLmggKi8sCiAJCQkJQ0Q2NDFFQzcxODFFRDYwMTAwRUU0QzQxIC8qIE1lZGlhU2FtcGxlLmgg
Ki8sCiAJCQkJQTE3RDI3NUQxRUFDNTc5ODAwQkYwMUU3IC8qIE1lZGlhU2VsZWN0aW9uT3B0aW9u
LmggKi8sCisJCQkJNDE2RUNBRTMyNUI1OENDNDAwQjM0REE1IC8qIE1lZGlhU2Vzc2lvbkdyb3Vw
SWRlbnRpZmllci5oICovLAogCQkJCTQxNDQ2MEEwMjQxMjk5NDEwMDgxNEJFNyAvKiBNZWRpYVNl
c3Npb25JZGVudGlmaWVyLmggKi8sCiAJCQkJQTMxQUM3MEEyNDM0MDk4NDAwN0YwMEEyIC8qIE1l
ZGlhU3RyYXRlZ3kuY3BwICovLAogCQkJCTlCMTIyOUM2MjNGRTRENUYwMDhDQTc1MSAvKiBNZWRp
YVN0cmF0ZWd5LmggKi8sCkBAIC0zMzcxMCw2ICszMzcxMyw3IEBACiAJCQkJMUIxMjREOEQxRDM4
MEI3MDAwRUNERkIwIC8qIE1lZGlhU2FtcGxlQVZGT2JqQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0RCRUFFQUQxOUQ5MkI2QzAwQkVCQTg4IC8qIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMTdEMjc1RTFFQUM1Nzk4MDBCRjAxRTcgLyogTWVkaWFTZWxl
Y3Rpb25PcHRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNkVDQUU1MjVCNThDQzQwMEIzNERB
NSAvKiBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNE
QTk1OTNGMjQxMkJBRTAwMDkxMEVFRiAvKiBNZWRpYVNlc3Npb25IZWxwZXJJT1MuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQxNDQ2MEEyMjQxMjk5NDUwMDgxNEJFNyAvKiBNZWRpYVNlc3Npb25JZGVu
dGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTdGN0FFRjIxMzlCRjZGMDBGQkE3RUMgLyog
TWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCmluZGV4IDBlNDYxNmE5ZGM5Y2ZkMWQ4ZmVlM2IyZDIxNjg2M2JkZmFmZjk3MmMuLmNl
ZWI2NDY2NGMxOTI0NDJkMTc2YzFlN2I5NTEwZDJkODUxMjQwZDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcApAQCAtNzU1LDEwICs3NTUsNiBAQCBEb2N1bWVudDo6fkRvY3VtZW50KCkKICAgICBp
ZiAobV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+ZG9jdW1lbnQoKSA9PSB0aGlzKQogICAgICAgICBt
X2NhY2hlZFJlc291cmNlTG9hZGVyLT5zZXREb2N1bWVudChudWxscHRyKTsKIAotI2lmIEVOQUJM
RShWSURFTykKLSAgICBwYXVzZUFsbE1lZGlhUGxheWJhY2soKTsKLSNlbmRpZgotCiAgICAgLy8g
V2UgbXVzdCBjYWxsIGNsZWFyUmFyZURhdGEoKSBoZXJlIHNpbmNlIGEgRG9jdW1lbnQgY2xhc3Mg
aW5oZXJpdHMgVHJlZVNjb3BlCiAgICAgLy8gYXMgd2VsbCBhcyBOb2RlLiBTZWUgYSBjb21tZW50
IG9uIFRyZWVTY29wZS5oIGZvciB0aGUgcmVhc29uLgogICAgIGlmIChoYXNSYXJlRGF0YSgpKQpA
QCAtMTg1OSw1MCArMTg1NSw2IEBAIHZvaWQgRG9jdW1lbnQ6OmZvckVhY2hNZWRpYUVsZW1lbnQo
Y29uc3QgRnVuY3Rpb248dm9pZChIVE1MTWVkaWFFbGVtZW50Jik+JiBmdW5jCiAgICAgICAgIGZ1
bmN0aW9uKGVsZW1lbnQpOwogfQogCi1ib29sIERvY3VtZW50OjptZWRpYVBsYXliYWNrRXhpc3Rz
KCkKLXsKLSAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKLSAgICAgICAg
cmV0dXJuICFwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPmhhc05vU2Vzc2lvbigpOwotICAg
IHJldHVybiBmYWxzZTsKLX0KLQotYm9vbCBEb2N1bWVudDo6bWVkaWFQbGF5YmFja0lzUGF1c2Vk
KCkKLXsKLSAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKLSAgICAgICAg
cmV0dXJuIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+bWVkaWFQbGF5YmFja0lzUGF1c2Vk
KGlkZW50aWZpZXIoKSk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi12b2lkIERvY3VtZW50Ojpw
YXVzZUFsbE1lZGlhUGxheWJhY2soKQotewotICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJ
ZkV4aXN0cygpKQotICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPnBhdXNlQWxs
TWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KGlkZW50aWZpZXIoKSk7Ci19Ci0KLXZvaWQgRG9jdW1l
bnQ6OnN1c3BlbmRBbGxNZWRpYVBsYXliYWNrKCkKLXsKLSAgICBpZiAoYXV0byogcGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRN
YW5hZ2VySWZFeGlzdHMoKSkKLSAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5z
dXNwZW5kQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KGlkZW50aWZpZXIoKSk7Ci19Ci0KLXZv
aWQgRG9jdW1lbnQ6OnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKQotewotICAgIGlmIChhdXRvKiBw
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6
OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQotICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXItPnJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudChpZGVudGlmaWVyKCkpOwot
fQotCi12b2lkIERvY3VtZW50OjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKQotewotICAgIGlm
IChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQotICAgICAgICBwbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXItPnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3VtZW50KGlkZW50
aWZpZXIoKSk7Ci19Ci0KLXZvaWQgRG9jdW1lbnQ6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCkK
LXsKLSAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKLSAgICAgICAgcGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5yZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3Vt
ZW50KGlkZW50aWZpZXIoKSk7Ci19Ci0KICNlbmRpZgogCiBTdHJpbmcgRG9jdW1lbnQ6Om5vZGVO
YW1lKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZDk1N2JmOTc0MjZlODI4MmI3OGQ2
YmU2ZWQ3NmU3NDEyMzcyNjg3NS4uNzFiNmU1NzMwZTY3YjQxNTA1MTcyNDE5NzA3YzMyZWZkYzYw
ZDQ1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTExMTksMTYgKzExMTksNiBAQCBwdWJsaWM6
CiAgICAgdm9pZCByZWdpc3RlckZvclZpc2liaWxpdHlTdGF0ZUNoYW5nZWRDYWxsYmFja3MoVmlz
aWJpbGl0eUNoYW5nZUNsaWVudCYpOwogICAgIHZvaWQgdW5yZWdpc3RlckZvclZpc2liaWxpdHlT
dGF0ZUNoYW5nZWRDYWxsYmFja3MoVmlzaWJpbGl0eUNoYW5nZUNsaWVudCYpOwogCi0jaWYgRU5B
QkxFKFZJREVPKQotICAgIGJvb2wgbWVkaWFQbGF5YmFja0V4aXN0cygpOwotICAgIGJvb2wgbWVk
aWFQbGF5YmFja0lzUGF1c2VkKCk7Ci0gICAgdm9pZCBwYXVzZUFsbE1lZGlhUGxheWJhY2soKTsK
LSAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYVBsYXliYWNrKCk7Ci0gICAgdm9pZCByZXN1bWVBbGxN
ZWRpYVBsYXliYWNrKCk7Ci0gICAgdm9pZCBzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKLSAg
ICB2b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCk7Ci0jZW5kaWYKLQogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0U2hvdWxkQ3JlYXRlUmVuZGVyZXJzKGJvb2wpOwogICAgIGJvb2wgc2hv
dWxkQ3JlYXRlUmVuZGVyZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCmluZGV4IGI0ZTM4ZDFmNDI4OGU5Yjc2NjA0ODVkYWMzNmNiZWQ1YTRjYjU3NDguLjk0
ZmU0ZjJiYTM0Yzk4YTZhMDViZWFmMzVkYTc1YmMxOWExYTJmZTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMzA2Myw2ICszMDYzLDExIEBAIE1lZGlhUGxh
eWVyOjpNb3ZpZUxvYWRUeXBlIEhUTUxNZWRpYUVsZW1lbnQ6Om1vdmllTG9hZFR5cGUoKSBjb25z
dAogICAgIHJldHVybiBtX3BsYXllciA/IG1fcGxheWVyLT5tb3ZpZUxvYWRUeXBlKCkgOiBNZWRp
YVBsYXllcjo6TW92aWVMb2FkVHlwZTo6VW5rbm93bjsKIH0KIAorTWVkaWFTZXNzaW9uR3JvdXBJ
ZGVudGlmaWVyIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcigp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdl
KCktPm1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcigpIDogTWVkaWFTZXNzaW9uR3JvdXBJZGVu
dGlmaWVyIHsgfTsKK30KKwogYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNBdWRpbygpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIG1fcGxheWVyID8gbV9wbGF5ZXItPmhhc0F1ZGlvKCkgOiBmYWxzZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggZGU5ZDVmODA3ZTE5OTVh
Y2NlYjQ2NDQxNzkyNDMyNThhNWVhNGNlMS4uYzdiZTcwNmRkZmQ3MjhmNWY1MjdlZWRjNDVhNDVm
YTRkODczMGNlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTE5
Nyw3ICsxOTcsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBpbkFjdGl2ZURvY3VtZW50KCkg
Y29uc3QgeyByZXR1cm4gbV9pbkFjdGl2ZURvY3VtZW50OyB9CiAKLSAgICBEb2N1bWVudElkZW50
aWZpZXIgaG9zdGluZ0RvY3VtZW50SWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGRv
Y3VtZW50KCkuaWRlbnRpZmllcigpOyB9CisgICAgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVy
IG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOwogCiAvLyBET00gQVBJ
CiAvLyBlcnJvciBzdGF0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggY2U5MTZmOGYyMDkxZjkxY2Zh
ZmUyZTM5ODk1NjcyZWJlZWJkMTg1NS4uNmZjNGViZjA4ZTk1MDkxMzJiMzA2YzgyZDE1YmU4NzA3
ZjVlYmVkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yMDc3LDM3ICsyMDc3LDI2IEBAIHZvaWQg
UGFnZTo6c3RvcE1lZGlhQ2FwdHVyZSgpCiBib29sIFBhZ2U6Om1lZGlhUGxheWJhY2tFeGlzdHMo
KQogewogI2lmIEVOQUJMRShWSURFTykKLSAgICBib29sIG1lZGlhUGxheWJhY2tFeGlzdHMgPSBm
YWxzZTsKLSAgICBmb3JFYWNoRG9jdW1lbnQoWyZtZWRpYVBsYXliYWNrRXhpc3RzXSAoRG9jdW1l
bnQmIGRvY3VtZW50KSB7Ci0gICAgICAgIGlmIChkb2N1bWVudC5tZWRpYVBsYXliYWNrRXhpc3Rz
KCkpCi0gICAgICAgICAgICBtZWRpYVBsYXliYWNrRXhpc3RzID0gdHJ1ZTsKLSAgICB9KTsKLSAg
ICByZXR1cm4gbWVkaWFQbGF5YmFja0V4aXN0czsKLSNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOwor
ICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICByZXR1cm4g
IXBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+aGFzTm9TZXNzaW9uKCk7CiAjZW5kaWYKKyAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKIGJvb2wgUGFnZTo6bWVkaWFQbGF5YmFja0lzUGF1c2VkKCkK
IHsKICNpZiBFTkFCTEUoVklERU8pCi0gICAgYm9vbCBtZWRpYVBsYXliYWNrSXNQYXVzZWQgPSBm
YWxzZTsKLSAgICBmb3JFYWNoRG9jdW1lbnQoWyZtZWRpYVBsYXliYWNrSXNQYXVzZWRdIChEb2N1
bWVudCYgZG9jdW1lbnQpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50Lm1lZGlhUGxheWJhY2tJc1Bh
dXNlZCgpKQotICAgICAgICAgICAgbWVkaWFQbGF5YmFja0lzUGF1c2VkID0gdHJ1ZTsKLSAgICB9
KTsKLSAgICByZXR1cm4gbWVkaWFQbGF5YmFja0lzUGF1c2VkOwotI2Vsc2UKLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCisgICAgICAg
IHJldHVybiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPm1lZGlhUGxheWJhY2tJc1BhdXNl
ZChtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSk7CiAjZW5kaWYKKyAgICByZXR1cm4gZmFs
c2U7CiB9CiAKIHZvaWQgUGFnZTo6cGF1c2VBbGxNZWRpYVBsYXliYWNrKCkKIHsKICNpZiBFTkFC
TEUoVklERU8pCi0gICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsK
LSAgICAgICAgZG9jdW1lbnQucGF1c2VBbGxNZWRpYVBsYXliYWNrKCk7Ci0gICAgfSk7CisgICAg
aWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCisgICAgICAgIHBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci0+cGF1c2VBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXAobWVkaWFTZXNz
aW9uR3JvdXBJZGVudGlmaWVyKCkpOwogI2VuZGlmCiB9CiAKQEAgLTIxMTgsMTQgKzIxMDcsMjMg
QEAgdm9pZCBQYWdlOjpzdXNwZW5kQWxsTWVkaWFQbGF5YmFjaygpCiAgICAgaWYgKG1fbWVkaWFQ
bGF5YmFja0lzU3VzcGVuZGVkKQogICAgICAgICByZXR1cm47CiAKLSAgICBmb3JFYWNoRG9jdW1l
bnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgewotICAgICAgICBkb2N1bWVudC5zdXNwZW5kQWxs
TWVkaWFQbGF5YmFjaygpOwotICAgIH0pOworICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJ
ZkV4aXN0cygpKQorICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPnN1c3BlbmRB
bGxNZWRpYVBsYXliYWNrRm9yR3JvdXAobWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkpOwog
CisgICAgLy8gRklYTUU6IFdlIGNhbm5vdCBzZXQgbV9tZWRpYVBsYXliYWNrSXNTdXNwZW5kZWQg
YmVmb3JlLCBzZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mjgy
OSNjNy4KICAgICBtX21lZGlhUGxheWJhY2tJc1N1c3BlbmRlZCA9IHRydWU7CiAjZW5kaWYKIH0K
IAorTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIFBhZ2U6Om1lZGlhU2Vzc2lvbkdyb3VwSWRl
bnRpZmllcigpIGNvbnN0Cit7CisgICAgaWYgKCFtX21lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmll
cikgeworICAgICAgICBpZiAoYXV0byBpZGVudGlmaWVyID0gbV9tYWluRnJhbWUtPmxvYWRlcigp
LnBhZ2VJRCgpKQorICAgICAgICAgICAgbV9tZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgPSBt
YWtlT2JqZWN0SWRlbnRpZmllcjxNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXJUeXBlPihpZGVu
dGlmaWVyLT50b1VJbnQ2NCgpKTsKKyAgICB9CisgICAgcmV0dXJuIG1fbWVkaWFTZXNzaW9uR3Jv
dXBJZGVudGlmaWVyOworfQorCiB2b2lkIFBhZ2U6OnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKQog
ewogI2lmIEVOQUJMRShWSURFTykKQEAgLTIxMzQsOSArMjEzMiw4IEBAIHZvaWQgUGFnZTo6cmVz
dW1lQWxsTWVkaWFQbGF5YmFjaygpCiAgICAgICAgIHJldHVybjsKICAgICBtX21lZGlhUGxheWJh
Y2tJc1N1c3BlbmRlZCA9IGZhbHNlOwogCi0gICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVu
dCYgZG9jdW1lbnQpIHsKLSAgICAgICAgZG9jdW1lbnQucmVzdW1lQWxsTWVkaWFQbGF5YmFjaygp
OwotICAgIH0pOworICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAg
ICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPnJlc3VtZUFsbE1lZGlhUGxheWJhY2tG
b3JHcm91cChtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSk7CiAjZW5kaWYKIH0KIApAQCAt
MjE0OCw5ICsyMTQ1LDggQEAgdm9pZCBQYWdlOjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKQog
ICAgICAgICByZXR1cm47CiAgICAgbV9tZWRpYUJ1ZmZlcmluZ0lzU3VzcGVuZGVkID0gdHJ1ZTsK
IAotICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7Ci0gICAgICAg
IGRvY3VtZW50LnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpOwotICAgIH0pOworICAgIGlmIChh
dXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXItPnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZ0Zvckdyb3VwKG1lZGlhU2Vzc2lv
bkdyb3VwSWRlbnRpZmllcigpKTsKICNlbmRpZgogfQogCkBAIC0yMTYxLDkgKzIxNTcsOCBAQCB2
b2lkIFBhZ2U6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCkKICAgICAgICAgcmV0dXJuOwogICAg
IG1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCA9IGZhbHNlOwogCi0gICAgZm9yRWFjaERvY3Vt
ZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKLSAgICAgICAgZG9jdW1lbnQucmVzdW1lQWxs
TWVkaWFCdWZmZXJpbmcoKTsKLSAgICB9KTsKKyAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2Vy
SWZFeGlzdHMoKSkKKyAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5yZXN1bWVB
bGxNZWRpYUJ1ZmZlcmluZ0Zvckdyb3VwKG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcigpKTsK
ICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDFiYjQzMTY1NmRlMjQ2ZjZhNDY2YTk1MGQ4
OGQ1MmFmODlhYzA5YWMuLjgxMTg1Mzg4MWU4OTdiOTcxYjU0ZjYwZmRmYmZjYTRmYjhmYzVjNDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5o
IgogI2luY2x1ZGUgIkxlbmd0aEJveC5oIgogI2luY2x1ZGUgIk1lZGlhUHJvZHVjZXIuaCIKKyNp
bmNsdWRlICJNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJQYWdpbmF0
aW9uLmgiCiAjaW5jbHVkZSAiUGxheWJhY2tUYXJnZXRDbGllbnRDb250ZXh0SWRlbnRpZmllci5o
IgogI2luY2x1ZGUgIlJUQ0NvbnRyb2xsZXIuaCIKQEAgLTY5NCw2ICs2OTUsNyBAQCBwdWJsaWM6
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRNdXRlZChNZWRpYVByb2R1Y2VyOjpNdXRlZFN0
YXRlRmxhZ3MpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RvcE1lZGlhQ2FwdHVyZSgpOwog
CisgICAgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRp
ZmllcigpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgbWVkaWFQbGF5YmFja0V4aXN0
cygpOwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgbWVkaWFQbGF5YmFja0lzUGF1c2VkKCk7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwYXVzZUFsbE1lZGlhUGxheWJhY2soKTsKQEAgLTExMzcs
NiArMTEzOSw3IEBAIHByaXZhdGU6CiAgICAgTW9ub3RvbmljVGltZSBtX2xhc3RSZW5kZXJpbmdV
cGRhdGVUaW1lc3RhbXA7CiAgICAgCiAgICAgYm9vbCBtX3RleHRJbnRlcmFjdGlvbkVuYWJsZWQg
eyB0cnVlIH07CisgICAgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1fbWVkaWFTZXNzaW9u
R3JvdXBJZGVudGlmaWVyOwogfTsKIAogaW5saW5lIFBhZ2VHcm91cCYgUGFnZTo6Z3JvdXAoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTZXNzaW9uR3JvdXBJZGVu
dGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNlc3Npb25Hcm91cElkZW50
aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45YzNjNjg3YzZhZDNlYTFhMWJiODZjYTU1NGU3MDVlY2U2ZGEw
ZTMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTZXNz
aW9uR3JvdXBJZGVudGlmaWVyLmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaW5jbHVkZSA8d3RmL09iamVjdElkZW50aWZpZXIuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitlbnVtIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllclR5cGUgeyB9Owor
dXNpbmcgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyID0gT2JqZWN0SWRlbnRpZmllcjxNZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXJUeXBlPjsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKaW5kZXggNzk1ZThkZGQz
OTMxNjI0YWQyYTVjYzMzMGM5MjViZTdkZWZjMzg5NS4uYzk4MTIxM2Q1ZTkwNzZlNDJlYjkwZGI0
ZjNhMTE1NmI1MmY0YjYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEg
b25jZQogCi0jaW5jbHVkZSAiRG9jdW1lbnRJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiTWVkaWFT
ZXNzaW9uR3JvdXBJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiTWVkaWFTZXNzaW9uSWRlbnRpZmll
ci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgpA
QCAtMjUyLDcgKzI1Miw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBpc1BsYXlpbmdP
blNlY29uZFNjcmVlbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICB2aXJ0dWFsIERv
Y3VtZW50SWRlbnRpZmllciBob3N0aW5nRG9jdW1lbnRJZGVudGlmaWVyKCkgY29uc3QgPSAwOwor
ICAgIHZpcnR1YWwgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3Vw
SWRlbnRpZmllcigpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBoYXNNZWRpYVN0cmVh
bVNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIu
Y3BwCmluZGV4IDAwODAxOTA0YzBjMjI2MTgzYzRjNGEwOWY3YWNiNTk0N2Y4NjBjM2YuLjQwNTQ4
M2JjYThkMDZiNzE5NmE4M2FjMDkzMjFiOTM3YzQyODNiMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLmNwcApAQCAtNDY3LDE4ICs0NjcsMTggQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXI6OnByb2Nlc3NTeXN0ZW1EaWRXYWtlKCkKICAgICB9KTsKIH0KIAotdm9pZCBQbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnBhdXNlQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KERv
Y3VtZW50SWRlbnRpZmllciBkb2N1bWVudElkZW50aWZpZXIpCit2b2lkIFBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6cGF1c2VBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXAoTWVkaWFTZXNzaW9u
R3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcikKIHsKLSAgICBmb3JF
YWNoRG9jdW1lbnRTZXNzaW9uKGRvY3VtZW50SWRlbnRpZmllciwgW10oYXV0byYgc2Vzc2lvbikg
eworICAgIGZvckVhY2hTZXNzaW9uSW5Hcm91cChtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIs
IFtdKGF1dG8mIHNlc3Npb24pIHsKICAgICAgICAgc2Vzc2lvbi5wYXVzZVNlc3Npb24oKTsKICAg
ICB9KTsKIH0KIAogCi1ib29sIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6bWVkaWFQbGF5
YmFja0lzUGF1c2VkKERvY3VtZW50SWRlbnRpZmllciBkb2N1bWVudElkZW50aWZpZXIpCitib29s
IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6bWVkaWFQbGF5YmFja0lzUGF1c2VkKE1lZGlh
U2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIpCiB7CiAg
ICAgYm9vbCBtZWRpYVBsYXliYWNrSXNQYXVzZWQgPSBmYWxzZTsKLSAgICBmb3JFYWNoRG9jdW1l
bnRTZXNzaW9uKGRvY3VtZW50SWRlbnRpZmllciwgWyZtZWRpYVBsYXliYWNrSXNQYXVzZWRdKGF1
dG8mIHNlc3Npb24pIHsKKyAgICBmb3JFYWNoU2Vzc2lvbkluR3JvdXAobWVkaWFTZXNzaW9uR3Jv
dXBJZGVudGlmaWVyLCBbJm1lZGlhUGxheWJhY2tJc1BhdXNlZF0oYXV0byYgc2Vzc2lvbikgewog
ICAgICAgICBpZiAoc2Vzc2lvbi5zdGF0ZSgpID09IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQYXVz
ZWQpCiAgICAgICAgICAgICBtZWRpYVBsYXliYWNrSXNQYXVzZWQgPSB0cnVlOwogICAgIH0pOwpA
QCAtNDkyLDMwICs0OTIsMzAgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN0
b3BBbGxNZWRpYVBsYXliYWNrRm9yUHJvY2VzcygpCiAgICAgfSk7CiB9CiAKLXZvaWQgUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdXNwZW5kQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50
KERvY3VtZW50SWRlbnRpZmllciBkb2N1bWVudElkZW50aWZpZXIpCit2b2lkIFBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcjo6c3VzcGVuZEFsbE1lZGlhUGxheWJhY2tGb3JHcm91cChNZWRpYVNl
c3Npb25Hcm91cElkZW50aWZpZXIgbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKQogewotICAg
IGZvckVhY2hEb2N1bWVudFNlc3Npb24oZG9jdW1lbnRJZGVudGlmaWVyLCBbXShhdXRvJiBzZXNz
aW9uKSB7CisgICAgZm9yRWFjaFNlc3Npb25Jbkdyb3VwKG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRp
ZmllciwgW10oYXV0byYgc2Vzc2lvbikgewogICAgICAgICBzZXNzaW9uLmJlZ2luSW50ZXJydXB0
aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQbGF5YmFja1N1c3BlbmRlZCk7CiAgICAgfSk7CiB9
CiAKLXZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYVBsYXli
YWNrRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmllcikKK3Zv
aWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9y
R3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRp
ZmllcikKIHsKLSAgICBmb3JFYWNoRG9jdW1lbnRTZXNzaW9uKGRvY3VtZW50SWRlbnRpZmllciwg
W10oYXV0byYgc2Vzc2lvbikgeworICAgIGZvckVhY2hTZXNzaW9uSW5Hcm91cChtZWRpYVNlc3Np
b25Hcm91cElkZW50aWZpZXIsIFtdKGF1dG8mIHNlc3Npb24pIHsKICAgICAgICAgc2Vzc2lvbi5l
bmRJbnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246Ok1heVJlc3VtZVBsYXlpbmcpOwog
ICAgIH0pOwogfQogCi12b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3VzcGVuZEFs
bE1lZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRl
bnRpZmllcikKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdXNwZW5kQWxsTWVk
aWFCdWZmZXJpbmdGb3JHcm91cChNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbWVkaWFTZXNz
aW9uR3JvdXBJZGVudGlmaWVyKQogewotICAgIGZvckVhY2hEb2N1bWVudFNlc3Npb24oZG9jdW1l
bnRJZGVudGlmaWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7CisgICAgZm9yRWFjaFNlc3Npb25Jbkdy
b3VwKG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciwgW10oYXV0byYgc2Vzc2lvbikgewogICAg
ICAgICBzZXNzaW9uLnN1c3BlbmRCdWZmZXJpbmcoKTsKICAgICB9KTsKIH0KIAotdm9pZCBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yRG9jdW1l
bnQoRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmllcikKK3ZvaWQgUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZ0Zvckdyb3VwKE1lZGlh
U2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIpCiB7Ci0g
ICAgZm9yRWFjaERvY3VtZW50U2Vzc2lvbihkb2N1bWVudElkZW50aWZpZXIsIFtdKGF1dG8mIHNl
c3Npb24pIHsKKyAgICBmb3JFYWNoU2Vzc2lvbkluR3JvdXAobWVkaWFTZXNzaW9uR3JvdXBJZGVu
dGlmaWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7CiAgICAgICAgIHNlc3Npb24ucmVzdW1lQnVmZmVy
aW5nKCk7CiAgICAgfSk7CiB9CkBAIC01MzksMTAgKzUzOSwxMyBAQCB2b2lkIFBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcjo6Zm9yRWFjaE1hdGNoaW5nU2Vzc2lvbihjb25zdCBGdW5jdGlvbjxi
b29sKGNvbgogICAgIH0KIH0KIAotdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OmZv
ckVhY2hEb2N1bWVudFNlc3Npb24oRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmll
ciwgY29uc3QgRnVuY3Rpb248dm9pZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpPiYgY2FsbGJhY2sp
Cit2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6Zm9yRWFjaFNlc3Npb25Jbkdyb3Vw
KE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIs
IGNvbnN0IEZ1bmN0aW9uPHZvaWQoUGxhdGZvcm1NZWRpYVNlc3Npb24mKT4mIGNhbGxiYWNrKQog
ewotICAgIGZvckVhY2hNYXRjaGluZ1Nlc3Npb24oW2RvY3VtZW50SWRlbnRpZmllcl0oYXV0byYg
c2Vzc2lvbikgewotICAgICAgICByZXR1cm4gc2Vzc2lvbi5jbGllbnQoKS5ob3N0aW5nRG9jdW1l
bnRJZGVudGlmaWVyKCkgPT0gZG9jdW1lbnRJZGVudGlmaWVyOworICAgIGlmICghbWVkaWFTZXNz
aW9uR3JvdXBJZGVudGlmaWVyKQorICAgICAgICByZXR1cm47CisKKyAgICBmb3JFYWNoTWF0Y2hp
bmdTZXNzaW9uKFttZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXJdKGF1dG8mIHNlc3Npb24pIHsK
KyAgICAgICAgcmV0dXJuIHNlc3Npb24uY2xpZW50KCkubWVkaWFTZXNzaW9uR3JvdXBJZGVudGlm
aWVyKCkgPT0gbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyOwogICAgIH0sIFsmY2FsbGJhY2td
KGF1dG8mIHNlc3Npb24pIHsKICAgICAgICAgY2FsbGJhY2soc2Vzc2lvbik7CiAgICAgfSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oCmluZGV4IDE0ZWUxMTlkNGI1NDZlNjI0MmNiNmUyZjZlZDQxNjJh
NDU1MjRjOTIuLjFmY2IzMzQyNGYwYjU1ZmQyMjA5YjYzNGNlZGRlZTgzOWM0ZDdlZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcl9oCiAjZGVmaW5lIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcl9o
CiAKLSNpbmNsdWRlICJEb2N1bWVudElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJHZW5lcmljVGFz
a1F1ZXVlLmgiCiAjaW5jbHVkZSAiTWVkaWFTZXNzaW9uSWRlbnRpZmllci5oIgogI2luY2x1ZGUg
IlBsYXRmb3JtTWVkaWFTZXNzaW9uLmgiCkBAIC05NCwxNCArOTMsMTQgQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgcHJvY2Vzc1dpbGxTdXNwZW5kKCk7CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBwcm9jZXNzRGlkUmVzdW1lKCk7CiAKLSAgICBib29sIG1lZGlhUGxheWJhY2tJ
c1BhdXNlZChEb2N1bWVudElkZW50aWZpZXIpOwotICAgIHZvaWQgcGF1c2VBbGxNZWRpYVBsYXli
YWNrRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyKTsKKyAgICBib29sIG1lZGlhUGxheWJh
Y2tJc1BhdXNlZChNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIpOworICAgIHZvaWQgcGF1c2VB
bGxNZWRpYVBsYXliYWNrRm9yR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKTsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3BBbGxNZWRpYVBsYXliYWNrRm9yUHJvY2VzcygpOwog
Ci0gICAgdm9pZCBzdXNwZW5kQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KERvY3VtZW50SWRl
bnRpZmllcik7Ci0gICAgdm9pZCByZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoRG9j
dW1lbnRJZGVudGlmaWVyKTsKLSAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRv
Y3VtZW50KERvY3VtZW50SWRlbnRpZmllcik7Ci0gICAgdm9pZCByZXN1bWVBbGxNZWRpYUJ1ZmZl
cmluZ0ZvckRvY3VtZW50KERvY3VtZW50SWRlbnRpZmllcik7CisgICAgdm9pZCBzdXNwZW5kQWxs
TWVkaWFQbGF5YmFja0Zvckdyb3VwKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcik7CisgICAg
dm9pZCByZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVu
dGlmaWVyKTsKKyAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZ0Zvckdyb3VwKE1lZGlh
U2Vzc2lvbkdyb3VwSWRlbnRpZmllcik7CisgICAgdm9pZCByZXN1bWVBbGxNZWRpYUJ1ZmZlcmlu
Z0Zvckdyb3VwKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcik7CiAKICAgICBlbnVtIFNlc3Np
b25SZXN0cmljdGlvbkZsYWdzIHsKICAgICAgICAgTm9SZXN0cmljdGlvbnMgPSAwLApAQCAtMTYx
LDcgKzE2MCw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlU2Vzc2lvbihQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbiYpOwogCiAgICAgdm9pZCBmb3JFYWNoU2Vzc2lvbihjb25zdCBG
dW5jdGlvbjx2b2lkKFBsYXRmb3JtTWVkaWFTZXNzaW9uJik+Jik7Ci0gICAgdm9pZCBmb3JFYWNo
RG9jdW1lbnRTZXNzaW9uKERvY3VtZW50SWRlbnRpZmllciwgY29uc3QgRnVuY3Rpb248dm9pZChQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbiYpPiYpOworICAgIHZvaWQgZm9yRWFjaFNlc3Npb25Jbkdyb3Vw
KE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciwgY29uc3QgRnVuY3Rpb248dm9pZChQbGF0Zm9y
bU1lZGlhU2Vzc2lvbiYpPiYpOwogICAgIGJvb2wgYW55T2ZTZXNzaW9ucyhjb25zdCBGdW5jdGlv
bjxib29sKGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uJik+JikgY29uc3Q7CiAKICAgICBib29s
IGlzQXBwbGljYXRpb25JbkJhY2tncm91bmQoKSBjb25zdCB7IHJldHVybiBtX2lzQXBwbGljYXRp
b25JbkJhY2tncm91bmQ7IH0K
</data>
<flag name="commit-queue"
          id="435771"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417949</attachid>
            <date>2021-01-20 01:05:27 -0800</date>
            <delta_ts>2021-01-20 02:44:07 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-220706-20210120100525.patch</filename>
            <type>text/plain</type>
            <size>29267</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2RiMTY3NmRlZWM1Zjkz
YTBjNzNkZDljNjUwN2RmZDMwNjlmNmU0Ni4uYmNmZmNkZmZhNTNjOTllOWNlNTFjOGFmZWQ1YzI5
MmVjOTE3Zjg2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDIxLTAxLTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgYSBNZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDcwNgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNv
bi4KKworICAgICAgICBJbnN0ZWFkIG9mIGdvaW5nIGZyb20gcGFnZSB0byBkb2N1bWVudCB0byBt
ZWRpYSBzZXNzaW9uLCBpbnRyb2R1Y2UgYSBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgd2hp
Y2ggZ3JvdXBzIHNlc3Npb25zIGJ5IHBhZ2UuCisgICAgICAgIFdlIGNhbiB0aGVuIGRpcmVjdGx5
IGdvIGZyb20gcGFnZSB0byBtZWRpYSBzZXNzaW9uIHRvIHN1c3BlbmQvcmVzdW1lIHBsYXkgYmFj
ay4KKyAgICAgICAgVXBkYXRlIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50IHRvIGltcGxlbWVu
dCBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgaW5zdGVhZCBvZiBob3N0aW5nRG9jdW1lbnRJ
ZGVudGlmaWVyLgorCisgICAgICAgIFdlIHJlbW92ZSBwYXVzaW5nIHBsYXliYWNrIGZyb20gRG9j
dW1lbnQ6On5Eb2N1bWVudCwgYXMgcmVsYXRlZCBhdWRpbyBwcm9kdWNlcnMgKEF1ZGlvQ29udGV4
dCwgSFRNTE1lZGlhRWxlbWVudCkKKyAgICAgICAgc2hvdWxkIGJlIHBhdXNlZCBpbiB0aGVpciBB
Y3RpdmVET01PYmplY3Qgc3RvcCBtZXRob2QuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGlu
ZyB0ZXN0cywgdGhpcyBpcyBhIHJlZmFjdG9yaW5nLgorCisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Db250ZXh0Ojpt
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9Db250ZXh0Ojpob3N0aW5nRG9jdW1lbnRJZGVudGlmaWVyIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6bWVkaWFQbGF5YmFja0V4aXN0cyk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6bWVkaWFQbGF5YmFja0lzUGF1c2VkKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwYXVzZUFsbE1lZGlhUGxheWJhY2spOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1c3BlbmRBbGxNZWRpYVBsYXliYWNrKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXN1bWVBbGxNZWRpYVBsYXliYWNr
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzdXNwZW5kQWxsTWVkaWFC
dWZmZXJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlc3VtZUFs
bE1lZGlhQnVmZmVyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAg
ICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIGNvbnN0KToKKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGFnZTo6bWVkaWFQbGF5YmFja0V4aXN0cyk6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjptZWRpYVBsYXliYWNrSXNQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6cGF1c2VBbGxNZWRpYVBsYXliYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnN1
c3BlbmRBbGxNZWRpYVBsYXliYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6Om1lZGlhU2Vz
c2lvbkdyb3VwSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpyZXN1
bWVBbGxNZWRpYVBsYXliYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnN1c3BlbmRBbGxN
ZWRpYUJ1ZmZlcmluZyk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpyZXN1bWVBbGxNZWRpYUJ1
ZmZlcmluZyk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGxhdGZvcm0vTWVk
aWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlcjo6cGF1c2VBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXApOgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjptZWRpYVBsYXliYWNr
SXNQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
OjpzdXNwZW5kQWxsTWVkaWFQbGF5YmFja0Zvckdyb3VwKToKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6cmVzdW1lQWxsTWVkaWFQbGF5YmFja0Zvckdyb3Vw
KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3VzcGVu
ZEFsbE1lZGlhQnVmZmVyaW5nRm9yR3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZ0Zvckdyb3VwKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6Zm9yRWFjaFNlc3Np
b25Jbkdyb3VwKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
cjo6cGF1c2VBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdXNwZW5kQWxsTWVkaWFQbGF5
YmFja0ZvckRvY3VtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcjo6cmVzdW1lQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3Vz
cGVuZEFsbE1lZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmlu
Z0ZvckRvY3VtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6Zm9yRWFjaERvY3VtZW50U2Vzc2lvbik6IERlbGV0ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg6CisKIDIwMjEt
MDEtMTggIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgUmVtb3ZlIHJlY2VudGx5IGFkZGVkIGdsdWUgY29kZTogUmVuZGVyTGF5ZXI6OihzY3Jv
bGxUb09mZnNldCAvIHNjcm9sbFRvWE9mZnNldCAvIHNjcm9sbFRvWU9mZnNldCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJz
LmNtYWtlCmluZGV4IGFkZTVjNjkwMjQyOTc2MjVjNzBkYWI3OTBhNWMyYzVhODc3N2VjNjEuLjE5
MzVmN2E5YWQ0Njg1ODc2ZTZhZmIxNGJjOTRjMjlhMDhiMmI4NTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFr
ZQpAQCAtMTAyMiw2ICsxMDIyLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVB
REVSUwogICAgIHBsYXRmb3JtL01lZGlhRGVzY3JpcHRpb24uaAogICAgIHBsYXRmb3JtL01lZGlh
U2FtcGxlLmgKICAgICBwbGF0Zm9ybS9NZWRpYVNlbGVjdGlvbk9wdGlvbi5oCisgICAgcGxhdGZv
cm0vTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLmgKICAgICBwbGF0Zm9ybS9NZWRpYVNlc3Np
b25JZGVudGlmaWVyLmgKICAgICBwbGF0Zm9ybS9NZWRpYVN0cmF0ZWd5LmgKICAgICBwbGF0Zm9y
bS9Ob3dQbGF5aW5nTWFuYWdlci5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5jcHAKaW5kZXggMmQxYjg5MGZhMGM1YmJiOTk4ZjNlMDYxMjhiNDNl
MGU5YjAxM2YxNS4uNDNjYmNjOTg4ODY5ODFlY2E2MzhkMmJhMzZlNTY5Njk3MzVjZWY5MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcApA
QCAtNDU1LDEwICs0NTUsMTAgQEAgdm9pZCBBdWRpb0NvbnRleHQ6OnN1c3BlbmRQbGF5YmFjaygp
CiAgICAgfSk7CiB9CiAKLURvY3VtZW50SWRlbnRpZmllciBBdWRpb0NvbnRleHQ6Omhvc3RpbmdE
b2N1bWVudElkZW50aWZpZXIoKSBjb25zdAorTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIEF1
ZGlvQ29udGV4dDo6bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkgY29uc3QKIHsKICAgICBh
dXRvKiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50PihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQpOwotICAgIHJldHVybiBkb2N1bWVudCA/IGRvY3VtZW50LT5pZGVudGlmaWVyKCkgOiBEb2N1
bWVudElkZW50aWZpZXIgeyB9OworICAgIHJldHVybiBkb2N1bWVudCAmJiBkb2N1bWVudC0+cGFn
ZSgpID8gZG9jdW1lbnQtPnBhZ2UoKS0+bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkgOiBN
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgeyB9OwogfQogCiBib29sIEF1ZGlvQ29udGV4dDo6
aXNTdXNwZW5kZWQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Db250ZXh0LmgKaW5kZXggMWU3OWFmYjdmYTJjODQzNGEyNmJlMjk3NGUxZGIxN2EwZjQw
NjRhZS4uYTIzMjIwNjAzODg4YWI0YjlkZGEyOTY3ZDJmY2QxODIxYmFmYzk0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC0xMjAsNyAr
MTIwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIHNob3VsZE92ZXJyaWRlQmFja2dyb3VuZFBsYXli
YWNrUmVzdHJpY3Rpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBjYW5Qcm9kdWNlQXVkaW8o
KSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgpIGNv
bnN0IGZpbmFsOwotICAgIERvY3VtZW50SWRlbnRpZmllciBob3N0aW5nRG9jdW1lbnRJZGVudGlm
aWVyKCkgY29uc3QgZmluYWw7CisgICAgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlh
U2Vzc2lvbkdyb3VwSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOwogCiAgICAgLy8gTWVkaWFDYW5T
dGFydExpc3RlbmVyLgogICAgIHZvaWQgbWVkaWFDYW5TdGFydChEb2N1bWVudCYpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDE5MzUwNGRjNDNiNmU0N2QzNTk2NDNmMGExY2YwYjJjMGM1NWZkODIuLjA3OGIyNmIw
Njc4YjUxYjU5NDU0OTJkOTljZjkxM2RkNmIwMmJhNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwODYsNiArMTA4Niw3IEBA
CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjA1MyAvKiBXcml0YWJsZVN0cmVhbUludGVybmFsc0J1
aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0RTkgLyogV3JpdGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQx
NkU2RkU5MUJCRDEyRTUwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBE
MDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU5MUJCRDEyRTUwMDBBNjA1MyAv
KiBXcml0YWJsZVN0cmVhbUJ1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RTggLyogV3JpdGFibGVTdHJl
YW1CdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTQxNkVDQUU1MjVCNThDQzQwMEIzNERBNSAvKiBNZWRpYVNlc3Npb25Hcm91cElkZW50
aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
NkVDQUUzMjVCNThDQzQwMEIzNERBNSAvKiBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTZGRDI1
RjI0MEZBNEU1MDA2NjYxRDggLyogTm93UGxheWluZ0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkZEMjVEMjQwRUUxQUUwMDY2NjFEOCAvKiBO
b3dQbGF5aW5nSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTQxNzI1M0FCMTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xUZXh0VHJh
Y2tDb250YWluZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sVGV4dFRy
YWNrQ29udGFpbmVyRWxlbWVudC5oICovOyB9OwogCQk0MTc2MTJBRjFFM0E5OTQwMDBDM0Q4MUQg
LyogTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTc2MTJBQjFFM0E5OTNCMDBDM0Q4MUQgLyogTGliV2ViUlRD
TWVkaWFFbmRwb2ludC5jcHAgKi87IH07CkBAIC03NzQ1LDYgKzc3NDYsNyBAQAogCQk0MTZENzU5
RjIwQzY0NDEzMDBEMDJEMkMgLyogTmV0d29ya0xvYWRJbmZvcm1hdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JrTG9hZEluZm9ybWF0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNkUwQjM3MjA5QkMzQzIwMDRBOTVEOSAvKiBGZXRjaElk
ZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmV0Y2hJZGVudGlm
aWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNkUyOUE1MTAyRkE5NjIwMDdG
QzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXb3JrZXJSZXBvcnRpbmdQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0MTZFQ0FFMzI1QjU4Q0M0MDBCMzREQTUgLyogTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlm
aWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU2Vzc2lvbkdyb3Vw
SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTZGODA3OTI0NTA5
RjMyMDBCNjhGMDIgLyogV2luZG93RGlzcGxheUNhcHR1cmVyTWFjLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdpbmRvd0Rpc3BsYXlDYXB0dXJlck1hYy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MTZGODA3QTI0NTA5RjMyMDBCNjhGMDIgLyogU2NyZWVuRGlz
cGxheUNhcHR1cmVyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gU2NyZWVuRGlzcGxheUNhcHR1cmVyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MTZGODA3QjI0NTA5RjMzMDBCNjhGMDIgLyogV2luZG93RGlzcGxheUNhcHR1cmVyTWFj
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2luZG93RGlzcGxh
eUNhcHR1cmVyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjc1NzMsNiAr
Mjc1NzUsNyBAQAogCQkJCUNERjJCMDAzMTgxRjA1OUMwMEYyQjQyNCAvKiBNZWRpYURlc2NyaXB0
aW9uLmggKi8sCiAJCQkJQ0Q2NDFFQzcxODFFRDYwMTAwRUU0QzQxIC8qIE1lZGlhU2FtcGxlLmgg
Ki8sCiAJCQkJQTE3RDI3NUQxRUFDNTc5ODAwQkYwMUU3IC8qIE1lZGlhU2VsZWN0aW9uT3B0aW9u
LmggKi8sCisJCQkJNDE2RUNBRTMyNUI1OENDNDAwQjM0REE1IC8qIE1lZGlhU2Vzc2lvbkdyb3Vw
SWRlbnRpZmllci5oICovLAogCQkJCTQxNDQ2MEEwMjQxMjk5NDEwMDgxNEJFNyAvKiBNZWRpYVNl
c3Npb25JZGVudGlmaWVyLmggKi8sCiAJCQkJQTMxQUM3MEEyNDM0MDk4NDAwN0YwMEEyIC8qIE1l
ZGlhU3RyYXRlZ3kuY3BwICovLAogCQkJCTlCMTIyOUM2MjNGRTRENUYwMDhDQTc1MSAvKiBNZWRp
YVN0cmF0ZWd5LmggKi8sCkBAIC0zMzcxMCw2ICszMzcxMyw3IEBACiAJCQkJMUIxMjREOEQxRDM4
MEI3MDAwRUNERkIwIC8qIE1lZGlhU2FtcGxlQVZGT2JqQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0RCRUFFQUQxOUQ5MkI2QzAwQkVCQTg4IC8qIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMTdEMjc1RTFFQUM1Nzk4MDBCRjAxRTcgLyogTWVkaWFTZWxl
Y3Rpb25PcHRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNkVDQUU1MjVCNThDQzQwMEIzNERB
NSAvKiBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNE
QTk1OTNGMjQxMkJBRTAwMDkxMEVFRiAvKiBNZWRpYVNlc3Npb25IZWxwZXJJT1MuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQxNDQ2MEEyMjQxMjk5NDUwMDgxNEJFNyAvKiBNZWRpYVNlc3Npb25JZGVu
dGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTdGN0FFRjIxMzlCRjZGMDBGQkE3RUMgLyog
TWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCmluZGV4IDBlNDYxNmE5ZGM5Y2ZkMWQ4ZmVlM2IyZDIxNjg2M2JkZmFmZjk3MmMuLmNl
ZWI2NDY2NGMxOTI0NDJkMTc2YzFlN2I5NTEwZDJkODUxMjQwZDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcApAQCAtNzU1LDEwICs3NTUsNiBAQCBEb2N1bWVudDo6fkRvY3VtZW50KCkKICAgICBp
ZiAobV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+ZG9jdW1lbnQoKSA9PSB0aGlzKQogICAgICAgICBt
X2NhY2hlZFJlc291cmNlTG9hZGVyLT5zZXREb2N1bWVudChudWxscHRyKTsKIAotI2lmIEVOQUJM
RShWSURFTykKLSAgICBwYXVzZUFsbE1lZGlhUGxheWJhY2soKTsKLSNlbmRpZgotCiAgICAgLy8g
V2UgbXVzdCBjYWxsIGNsZWFyUmFyZURhdGEoKSBoZXJlIHNpbmNlIGEgRG9jdW1lbnQgY2xhc3Mg
aW5oZXJpdHMgVHJlZVNjb3BlCiAgICAgLy8gYXMgd2VsbCBhcyBOb2RlLiBTZWUgYSBjb21tZW50
IG9uIFRyZWVTY29wZS5oIGZvciB0aGUgcmVhc29uLgogICAgIGlmIChoYXNSYXJlRGF0YSgpKQpA
QCAtMTg1OSw1MCArMTg1NSw2IEBAIHZvaWQgRG9jdW1lbnQ6OmZvckVhY2hNZWRpYUVsZW1lbnQo
Y29uc3QgRnVuY3Rpb248dm9pZChIVE1MTWVkaWFFbGVtZW50Jik+JiBmdW5jCiAgICAgICAgIGZ1
bmN0aW9uKGVsZW1lbnQpOwogfQogCi1ib29sIERvY3VtZW50OjptZWRpYVBsYXliYWNrRXhpc3Rz
KCkKLXsKLSAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKLSAgICAgICAg
cmV0dXJuICFwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPmhhc05vU2Vzc2lvbigpOwotICAg
IHJldHVybiBmYWxzZTsKLX0KLQotYm9vbCBEb2N1bWVudDo6bWVkaWFQbGF5YmFja0lzUGF1c2Vk
KCkKLXsKLSAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKLSAgICAgICAg
cmV0dXJuIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+bWVkaWFQbGF5YmFja0lzUGF1c2Vk
KGlkZW50aWZpZXIoKSk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi12b2lkIERvY3VtZW50Ojpw
YXVzZUFsbE1lZGlhUGxheWJhY2soKQotewotICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJ
ZkV4aXN0cygpKQotICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPnBhdXNlQWxs
TWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KGlkZW50aWZpZXIoKSk7Ci19Ci0KLXZvaWQgRG9jdW1l
bnQ6OnN1c3BlbmRBbGxNZWRpYVBsYXliYWNrKCkKLXsKLSAgICBpZiAoYXV0byogcGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRN
YW5hZ2VySWZFeGlzdHMoKSkKLSAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5z
dXNwZW5kQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KGlkZW50aWZpZXIoKSk7Ci19Ci0KLXZv
aWQgRG9jdW1lbnQ6OnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKQotewotICAgIGlmIChhdXRvKiBw
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6
OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQotICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXItPnJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudChpZGVudGlmaWVyKCkpOwot
fQotCi12b2lkIERvY3VtZW50OjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKQotewotICAgIGlm
IChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQotICAgICAgICBwbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXItPnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3VtZW50KGlkZW50
aWZpZXIoKSk7Ci19Ci0KLXZvaWQgRG9jdW1lbnQ6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCkK
LXsKLSAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKLSAgICAgICAgcGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5yZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3Vt
ZW50KGlkZW50aWZpZXIoKSk7Ci19Ci0KICNlbmRpZgogCiBTdHJpbmcgRG9jdW1lbnQ6Om5vZGVO
YW1lKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZDk1N2JmOTc0MjZlODI4MmI3OGQ2
YmU2ZWQ3NmU3NDEyMzcyNjg3NS4uNzFiNmU1NzMwZTY3YjQxNTA1MTcyNDE5NzA3YzMyZWZkYzYw
ZDQ1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTExMTksMTYgKzExMTksNiBAQCBwdWJsaWM6
CiAgICAgdm9pZCByZWdpc3RlckZvclZpc2liaWxpdHlTdGF0ZUNoYW5nZWRDYWxsYmFja3MoVmlz
aWJpbGl0eUNoYW5nZUNsaWVudCYpOwogICAgIHZvaWQgdW5yZWdpc3RlckZvclZpc2liaWxpdHlT
dGF0ZUNoYW5nZWRDYWxsYmFja3MoVmlzaWJpbGl0eUNoYW5nZUNsaWVudCYpOwogCi0jaWYgRU5B
QkxFKFZJREVPKQotICAgIGJvb2wgbWVkaWFQbGF5YmFja0V4aXN0cygpOwotICAgIGJvb2wgbWVk
aWFQbGF5YmFja0lzUGF1c2VkKCk7Ci0gICAgdm9pZCBwYXVzZUFsbE1lZGlhUGxheWJhY2soKTsK
LSAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYVBsYXliYWNrKCk7Ci0gICAgdm9pZCByZXN1bWVBbGxN
ZWRpYVBsYXliYWNrKCk7Ci0gICAgdm9pZCBzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKLSAg
ICB2b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCk7Ci0jZW5kaWYKLQogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0U2hvdWxkQ3JlYXRlUmVuZGVyZXJzKGJvb2wpOwogICAgIGJvb2wgc2hv
dWxkQ3JlYXRlUmVuZGVyZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCmluZGV4IGI0ZTM4ZDFmNDI4OGU5Yjc2NjA0ODVkYWMzNmNiZWQ1YTRjYjU3NDguLjk0
ZmU0ZjJiYTM0Yzk4YTZhMDViZWFmMzVkYTc1YmMxOWExYTJmZTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMzA2Myw2ICszMDYzLDExIEBAIE1lZGlhUGxh
eWVyOjpNb3ZpZUxvYWRUeXBlIEhUTUxNZWRpYUVsZW1lbnQ6Om1vdmllTG9hZFR5cGUoKSBjb25z
dAogICAgIHJldHVybiBtX3BsYXllciA/IG1fcGxheWVyLT5tb3ZpZUxvYWRUeXBlKCkgOiBNZWRp
YVBsYXllcjo6TW92aWVMb2FkVHlwZTo6VW5rbm93bjsKIH0KIAorTWVkaWFTZXNzaW9uR3JvdXBJ
ZGVudGlmaWVyIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcigp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdl
KCktPm1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcigpIDogTWVkaWFTZXNzaW9uR3JvdXBJZGVu
dGlmaWVyIHsgfTsKK30KKwogYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNBdWRpbygpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIG1fcGxheWVyID8gbV9wbGF5ZXItPmhhc0F1ZGlvKCkgOiBmYWxzZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggZGU5ZDVmODA3ZTE5OTVh
Y2NlYjQ2NDQxNzkyNDMyNThhNWVhNGNlMS4uYzdiZTcwNmRkZmQ3MjhmNWY1MjdlZWRjNDVhNDVm
YTRkODczMGNlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTE5
Nyw3ICsxOTcsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBpbkFjdGl2ZURvY3VtZW50KCkg
Y29uc3QgeyByZXR1cm4gbV9pbkFjdGl2ZURvY3VtZW50OyB9CiAKLSAgICBEb2N1bWVudElkZW50
aWZpZXIgaG9zdGluZ0RvY3VtZW50SWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGRv
Y3VtZW50KCkuaWRlbnRpZmllcigpOyB9CisgICAgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVy
IG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOwogCiAvLyBET00gQVBJ
CiAvLyBlcnJvciBzdGF0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggY2U5MTZmOGYyMDkxZjkxY2Zh
ZmUyZTM5ODk1NjcyZWJlZWJkMTg1NS4uNmZjNGViZjA4ZTk1MDkxMzJiMzA2YzgyZDE1YmU4NzA3
ZjVlYmVkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yMDc3LDM3ICsyMDc3LDI2IEBAIHZvaWQg
UGFnZTo6c3RvcE1lZGlhQ2FwdHVyZSgpCiBib29sIFBhZ2U6Om1lZGlhUGxheWJhY2tFeGlzdHMo
KQogewogI2lmIEVOQUJMRShWSURFTykKLSAgICBib29sIG1lZGlhUGxheWJhY2tFeGlzdHMgPSBm
YWxzZTsKLSAgICBmb3JFYWNoRG9jdW1lbnQoWyZtZWRpYVBsYXliYWNrRXhpc3RzXSAoRG9jdW1l
bnQmIGRvY3VtZW50KSB7Ci0gICAgICAgIGlmIChkb2N1bWVudC5tZWRpYVBsYXliYWNrRXhpc3Rz
KCkpCi0gICAgICAgICAgICBtZWRpYVBsYXliYWNrRXhpc3RzID0gdHJ1ZTsKLSAgICB9KTsKLSAg
ICByZXR1cm4gbWVkaWFQbGF5YmFja0V4aXN0czsKLSNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOwor
ICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICByZXR1cm4g
IXBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+aGFzTm9TZXNzaW9uKCk7CiAjZW5kaWYKKyAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKIGJvb2wgUGFnZTo6bWVkaWFQbGF5YmFja0lzUGF1c2VkKCkK
IHsKICNpZiBFTkFCTEUoVklERU8pCi0gICAgYm9vbCBtZWRpYVBsYXliYWNrSXNQYXVzZWQgPSBm
YWxzZTsKLSAgICBmb3JFYWNoRG9jdW1lbnQoWyZtZWRpYVBsYXliYWNrSXNQYXVzZWRdIChEb2N1
bWVudCYgZG9jdW1lbnQpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50Lm1lZGlhUGxheWJhY2tJc1Bh
dXNlZCgpKQotICAgICAgICAgICAgbWVkaWFQbGF5YmFja0lzUGF1c2VkID0gdHJ1ZTsKLSAgICB9
KTsKLSAgICByZXR1cm4gbWVkaWFQbGF5YmFja0lzUGF1c2VkOwotI2Vsc2UKLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCisgICAgICAg
IHJldHVybiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPm1lZGlhUGxheWJhY2tJc1BhdXNl
ZChtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSk7CiAjZW5kaWYKKyAgICByZXR1cm4gZmFs
c2U7CiB9CiAKIHZvaWQgUGFnZTo6cGF1c2VBbGxNZWRpYVBsYXliYWNrKCkKIHsKICNpZiBFTkFC
TEUoVklERU8pCi0gICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsK
LSAgICAgICAgZG9jdW1lbnQucGF1c2VBbGxNZWRpYVBsYXliYWNrKCk7Ci0gICAgfSk7CisgICAg
aWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkpCisgICAgICAgIHBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci0+cGF1c2VBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXAobWVkaWFTZXNz
aW9uR3JvdXBJZGVudGlmaWVyKCkpOwogI2VuZGlmCiB9CiAKQEAgLTIxMTgsMTQgKzIxMDcsMjMg
QEAgdm9pZCBQYWdlOjpzdXNwZW5kQWxsTWVkaWFQbGF5YmFjaygpCiAgICAgaWYgKG1fbWVkaWFQ
bGF5YmFja0lzU3VzcGVuZGVkKQogICAgICAgICByZXR1cm47CiAKLSAgICBmb3JFYWNoRG9jdW1l
bnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgewotICAgICAgICBkb2N1bWVudC5zdXNwZW5kQWxs
TWVkaWFQbGF5YmFjaygpOwotICAgIH0pOworICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJ
ZkV4aXN0cygpKQorICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPnN1c3BlbmRB
bGxNZWRpYVBsYXliYWNrRm9yR3JvdXAobWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkpOwog
CisgICAgLy8gRklYTUU6IFdlIGNhbm5vdCBzZXQgbV9tZWRpYVBsYXliYWNrSXNTdXNwZW5kZWQg
YmVmb3JlLCBzZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mjgy
OSNjNy4KICAgICBtX21lZGlhUGxheWJhY2tJc1N1c3BlbmRlZCA9IHRydWU7CiAjZW5kaWYKIH0K
IAorTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIFBhZ2U6Om1lZGlhU2Vzc2lvbkdyb3VwSWRl
bnRpZmllcigpIGNvbnN0Cit7CisgICAgaWYgKCFtX21lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmll
cikgeworICAgICAgICBpZiAoYXV0byBpZGVudGlmaWVyID0gbV9tYWluRnJhbWUtPmxvYWRlcigp
LnBhZ2VJRCgpKQorICAgICAgICAgICAgbV9tZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgPSBt
YWtlT2JqZWN0SWRlbnRpZmllcjxNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXJUeXBlPihpZGVu
dGlmaWVyLT50b1VJbnQ2NCgpKTsKKyAgICB9CisgICAgcmV0dXJuIG1fbWVkaWFTZXNzaW9uR3Jv
dXBJZGVudGlmaWVyOworfQorCiB2b2lkIFBhZ2U6OnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKQog
ewogI2lmIEVOQUJMRShWSURFTykKQEAgLTIxMzQsOSArMjEzMiw4IEBAIHZvaWQgUGFnZTo6cmVz
dW1lQWxsTWVkaWFQbGF5YmFjaygpCiAgICAgICAgIHJldHVybjsKICAgICBtX21lZGlhUGxheWJh
Y2tJc1N1c3BlbmRlZCA9IGZhbHNlOwogCi0gICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVu
dCYgZG9jdW1lbnQpIHsKLSAgICAgICAgZG9jdW1lbnQucmVzdW1lQWxsTWVkaWFQbGF5YmFjaygp
OwotICAgIH0pOworICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAg
ICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPnJlc3VtZUFsbE1lZGlhUGxheWJhY2tG
b3JHcm91cChtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKSk7CiAjZW5kaWYKIH0KIApAQCAt
MjE0OCw5ICsyMTQ1LDggQEAgdm9pZCBQYWdlOjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKQog
ICAgICAgICByZXR1cm47CiAgICAgbV9tZWRpYUJ1ZmZlcmluZ0lzU3VzcGVuZGVkID0gdHJ1ZTsK
IAotICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7Ci0gICAgICAg
IGRvY3VtZW50LnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpOwotICAgIH0pOworICAgIGlmIChh
dXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXItPnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZ0Zvckdyb3VwKG1lZGlhU2Vzc2lv
bkdyb3VwSWRlbnRpZmllcigpKTsKICNlbmRpZgogfQogCkBAIC0yMTYxLDkgKzIxNTcsOCBAQCB2
b2lkIFBhZ2U6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCkKICAgICAgICAgcmV0dXJuOwogICAg
IG1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCA9IGZhbHNlOwogCi0gICAgZm9yRWFjaERvY3Vt
ZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKLSAgICAgICAgZG9jdW1lbnQucmVzdW1lQWxs
TWVkaWFCdWZmZXJpbmcoKTsKLSAgICB9KTsKKyAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2Vy
SWZFeGlzdHMoKSkKKyAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5yZXN1bWVB
bGxNZWRpYUJ1ZmZlcmluZ0Zvckdyb3VwKG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcigpKTsK
ICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDFiYjQzMTY1NmRlMjQ2ZjZhNDY2YTk1MGQ4
OGQ1MmFmODlhYzA5YWMuLjZlYTVhOTU3NjRmN2RjZmMxNWYzY2IyZTNjMjg4Mjk3OTk5MGY0MjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5o
IgogI2luY2x1ZGUgIkxlbmd0aEJveC5oIgogI2luY2x1ZGUgIk1lZGlhUHJvZHVjZXIuaCIKKyNp
bmNsdWRlICJNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJQYWdpbmF0
aW9uLmgiCiAjaW5jbHVkZSAiUGxheWJhY2tUYXJnZXRDbGllbnRDb250ZXh0SWRlbnRpZmllci5o
IgogI2luY2x1ZGUgIlJUQ0NvbnRyb2xsZXIuaCIKQEAgLTY5NCw2ICs2OTUsNyBAQCBwdWJsaWM6
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRNdXRlZChNZWRpYVByb2R1Y2VyOjpNdXRlZFN0
YXRlRmxhZ3MpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RvcE1lZGlhQ2FwdHVyZSgpOwog
CisgICAgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRp
ZmllcigpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgbWVkaWFQbGF5YmFja0V4aXN0
cygpOwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgbWVkaWFQbGF5YmFja0lzUGF1c2VkKCk7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwYXVzZUFsbE1lZGlhUGxheWJhY2soKTsKQEAgLTExMzcs
NiArMTEzOSw3IEBAIHByaXZhdGU6CiAgICAgTW9ub3RvbmljVGltZSBtX2xhc3RSZW5kZXJpbmdV
cGRhdGVUaW1lc3RhbXA7CiAgICAgCiAgICAgYm9vbCBtX3RleHRJbnRlcmFjdGlvbkVuYWJsZWQg
eyB0cnVlIH07CisgICAgbXV0YWJsZSBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbV9tZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXI7CiB9OwogCiBpbmxpbmUgUGFnZUdyb3VwJiBQYWdlOjpn
cm91cCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNlc3Npb25H
cm91cElkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2Vzc2lvbkdy
b3VwSWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljM2M2ODdjNmFkM2VhMWExYmI4NmNhNTU0ZTcw
NWVjZTZkYTBlMzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9N
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvT2JqZWN0SWRlbnRpZmllci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyVHlw
ZSB7IH07Cit1c2luZyBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgPSBPYmplY3RJZGVudGlm
aWVyPE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllclR5cGU+OworCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAppbmRleCA3
OTVlOGRkZDM5MzE2MjRhZDJhNWNjMzMwYzkyNWJlN2RlZmMzODk1Li5jOTgxMjEzZDVlOTA3NmU0
MmViOTBkYjRmM2ExMTU2YjUyZjRiNjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAog
I3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJEb2N1bWVudElkZW50aWZpZXIuaCIKKyNpbmNsdWRl
ICJNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJNZWRpYVNlc3Npb25J
ZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvTG9nZ2VySGVs
cGVyLmg+CkBAIC0yNTIsNyArMjUyLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlz
UGxheWluZ09uU2Vjb25kU2NyZWVuKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZp
cnR1YWwgRG9jdW1lbnRJZGVudGlmaWVyIGhvc3RpbmdEb2N1bWVudElkZW50aWZpZXIoKSBjb25z
dCA9IDA7CisgICAgdmlydHVhbCBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbWVkaWFTZXNz
aW9uR3JvdXBJZGVudGlmaWVyKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCBib29sIGhhc01l
ZGlhU3RyZWFtU291cmNlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlci5jcHAKaW5kZXggMDA4MDE5MDRjMGMyMjYxODNjNGM0YTA5ZjdhY2I1OTQ3Zjg2MGMz
Zi4uNDA1NDgzYmNhOGQwNmI3MTk2YTgzYWMwOTMyMWI5MzdjNDI4M2IyMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIuY3BwCkBAIC00NjcsMTggKzQ2NywxOCBAQCB2b2lkIFBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6cHJvY2Vzc1N5c3RlbURpZFdha2UoKQogICAgIH0pOwogfQogCi12b2lk
IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6cGF1c2VBbGxNZWRpYVBsYXliYWNrRm9yRG9j
dW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmllcikKK3ZvaWQgUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpwYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cChNZWRp
YVNlc3Npb25Hcm91cElkZW50aWZpZXIgbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKQogewot
ICAgIGZvckVhY2hEb2N1bWVudFNlc3Npb24oZG9jdW1lbnRJZGVudGlmaWVyLCBbXShhdXRvJiBz
ZXNzaW9uKSB7CisgICAgZm9yRWFjaFNlc3Npb25Jbkdyb3VwKG1lZGlhU2Vzc2lvbkdyb3VwSWRl
bnRpZmllciwgW10oYXV0byYgc2Vzc2lvbikgewogICAgICAgICBzZXNzaW9uLnBhdXNlU2Vzc2lv
bigpOwogICAgIH0pOwogfQogCiAKLWJvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpt
ZWRpYVBsYXliYWNrSXNQYXVzZWQoRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmll
cikKK2Jvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjptZWRpYVBsYXliYWNrSXNQYXVz
ZWQoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmll
cikKIHsKICAgICBib29sIG1lZGlhUGxheWJhY2tJc1BhdXNlZCA9IGZhbHNlOwotICAgIGZvckVh
Y2hEb2N1bWVudFNlc3Npb24oZG9jdW1lbnRJZGVudGlmaWVyLCBbJm1lZGlhUGxheWJhY2tJc1Bh
dXNlZF0oYXV0byYgc2Vzc2lvbikgeworICAgIGZvckVhY2hTZXNzaW9uSW5Hcm91cChtZWRpYVNl
c3Npb25Hcm91cElkZW50aWZpZXIsIFsmbWVkaWFQbGF5YmFja0lzUGF1c2VkXShhdXRvJiBzZXNz
aW9uKSB7CiAgICAgICAgIGlmIChzZXNzaW9uLnN0YXRlKCkgPT0gUGxhdGZvcm1NZWRpYVNlc3Np
b246OlBhdXNlZCkKICAgICAgICAgICAgIG1lZGlhUGxheWJhY2tJc1BhdXNlZCA9IHRydWU7CiAg
ICAgfSk7CkBAIC00OTIsMzAgKzQ5MiwzMCBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlcjo6c3RvcEFsbE1lZGlhUGxheWJhY2tGb3JQcm9jZXNzKCkKICAgICB9KTsKIH0KIAotdm9p
ZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1c3BlbmRBbGxNZWRpYVBsYXliYWNrRm9y
RG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmllcikKK3ZvaWQgUGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdXNwZW5kQWxsTWVkaWFQbGF5YmFja0Zvckdyb3Vw
KE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIp
CiB7Ci0gICAgZm9yRWFjaERvY3VtZW50U2Vzc2lvbihkb2N1bWVudElkZW50aWZpZXIsIFtdKGF1
dG8mIHNlc3Npb24pIHsKKyAgICBmb3JFYWNoU2Vzc2lvbkluR3JvdXAobWVkaWFTZXNzaW9uR3Jv
dXBJZGVudGlmaWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7CiAgICAgICAgIHNlc3Npb24uYmVnaW5J
bnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246OlBsYXliYWNrU3VzcGVuZGVkKTsKICAg
ICB9KTsKIH0KIAotdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1l
ZGlhUGxheWJhY2tGb3JEb2N1bWVudChEb2N1bWVudElkZW50aWZpZXIgZG9jdW1lbnRJZGVudGlm
aWVyKQordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhUGxh
eWJhY2tGb3JHcm91cChNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbWVkaWFTZXNzaW9uR3Jv
dXBJZGVudGlmaWVyKQogewotICAgIGZvckVhY2hEb2N1bWVudFNlc3Npb24oZG9jdW1lbnRJZGVu
dGlmaWVyLCBbXShhdXRvJiBzZXNzaW9uKSB7CisgICAgZm9yRWFjaFNlc3Npb25Jbkdyb3VwKG1l
ZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciwgW10oYXV0byYgc2Vzc2lvbikgewogICAgICAgICBz
ZXNzaW9uLmVuZEludGVycnVwdGlvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWF5UmVzdW1lUGxh
eWluZyk7CiAgICAgfSk7CiB9CiAKLXZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpz
dXNwZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChEb2N1bWVudElkZW50aWZpZXIgZG9j
dW1lbnRJZGVudGlmaWVyKQordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1c3Bl
bmRBbGxNZWRpYUJ1ZmZlcmluZ0Zvckdyb3VwKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBt
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIpCiB7Ci0gICAgZm9yRWFjaERvY3VtZW50U2Vzc2lv
bihkb2N1bWVudElkZW50aWZpZXIsIFtdKGF1dG8mIHNlc3Npb24pIHsKKyAgICBmb3JFYWNoU2Vz
c2lvbkluR3JvdXAobWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLCBbXShhdXRvJiBzZXNzaW9u
KSB7CiAgICAgICAgIHNlc3Npb24uc3VzcGVuZEJ1ZmZlcmluZygpOwogICAgIH0pOwogfQogCi12
b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmdG
b3JEb2N1bWVudChEb2N1bWVudElkZW50aWZpZXIgZG9jdW1lbnRJZGVudGlmaWVyKQordm9pZCBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yR3Jv
dXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmll
cikKIHsKLSAgICBmb3JFYWNoRG9jdW1lbnRTZXNzaW9uKGRvY3VtZW50SWRlbnRpZmllciwgW10o
YXV0byYgc2Vzc2lvbikgeworICAgIGZvckVhY2hTZXNzaW9uSW5Hcm91cChtZWRpYVNlc3Npb25H
cm91cElkZW50aWZpZXIsIFtdKGF1dG8mIHNlc3Npb24pIHsKICAgICAgICAgc2Vzc2lvbi5yZXN1
bWVCdWZmZXJpbmcoKTsKICAgICB9KTsKIH0KQEAgLTUzOSwxMCArNTM5LDEzIEBAIHZvaWQgUGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpmb3JFYWNoTWF0Y2hpbmdTZXNzaW9uKGNvbnN0IEZ1
bmN0aW9uPGJvb2woY29uCiAgICAgfQogfQogCi12b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlcjo6Zm9yRWFjaERvY3VtZW50U2Vzc2lvbihEb2N1bWVudElkZW50aWZpZXIgZG9jdW1lbnRJ
ZGVudGlmaWVyLCBjb25zdCBGdW5jdGlvbjx2b2lkKFBsYXRmb3JtTWVkaWFTZXNzaW9uJik+JiBj
YWxsYmFjaykKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpmb3JFYWNoU2Vzc2lv
bkluR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1lZGlhU2Vzc2lvbkdyb3VwSWRl
bnRpZmllciwgY29uc3QgRnVuY3Rpb248dm9pZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpPiYgY2Fs
bGJhY2spCiB7Ci0gICAgZm9yRWFjaE1hdGNoaW5nU2Vzc2lvbihbZG9jdW1lbnRJZGVudGlmaWVy
XShhdXRvJiBzZXNzaW9uKSB7Ci0gICAgICAgIHJldHVybiBzZXNzaW9uLmNsaWVudCgpLmhvc3Rp
bmdEb2N1bWVudElkZW50aWZpZXIoKSA9PSBkb2N1bWVudElkZW50aWZpZXI7CisgICAgaWYgKCFt
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGZvckVh
Y2hNYXRjaGluZ1Nlc3Npb24oW21lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcl0oYXV0byYgc2Vz
c2lvbikgeworICAgICAgICByZXR1cm4gc2Vzc2lvbi5jbGllbnQoKS5tZWRpYVNlc3Npb25Hcm91
cElkZW50aWZpZXIoKSA9PSBtZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXI7CiAgICAgfSwgWyZj
YWxsYmFja10oYXV0byYgc2Vzc2lvbikgewogICAgICAgICBjYWxsYmFjayhzZXNzaW9uKTsKICAg
ICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggMTRlZTExOWQ0YjU0NmU2MjQyY2I2ZTJm
NmVkNDE2MmE0NTUyNGM5Mi4uMWZjYjMzNDI0ZjBiNTVmZDIyMDliNjM0Y2VkZGVlODM5YzRkN2Vk
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgUGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyX2gKICNkZWZpbmUgUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyX2gKIAotI2luY2x1ZGUgIkRvY3VtZW50SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIkdl
bmVyaWNUYXNrUXVldWUuaCIKICNpbmNsdWRlICJNZWRpYVNlc3Npb25JZGVudGlmaWVyLmgiCiAj
aW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb24uaCIKQEAgLTk0LDE0ICs5MywxNCBAQCBwdWJs
aWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwcm9jZXNzV2lsbFN1c3BlbmQoKTsKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHByb2Nlc3NEaWRSZXN1bWUoKTsKIAotICAgIGJvb2wgbWVkaWFQ
bGF5YmFja0lzUGF1c2VkKERvY3VtZW50SWRlbnRpZmllcik7Ci0gICAgdm9pZCBwYXVzZUFsbE1l
ZGlhUGxheWJhY2tGb3JEb2N1bWVudChEb2N1bWVudElkZW50aWZpZXIpOworICAgIGJvb2wgbWVk
aWFQbGF5YmFja0lzUGF1c2VkKE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcik7CisgICAgdm9p
ZCBwYXVzZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cChNZWRpYVNlc3Npb25Hcm91cElkZW50aWZp
ZXIpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RvcEFsbE1lZGlhUGxheWJhY2tGb3JQcm9j
ZXNzKCk7CiAKLSAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoRG9j
dW1lbnRJZGVudGlmaWVyKTsKLSAgICB2b2lkIHJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1
bWVudChEb2N1bWVudElkZW50aWZpZXIpOwotICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVy
aW5nRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyKTsKLSAgICB2b2lkIHJlc3VtZUFsbE1l
ZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQoRG9jdW1lbnRJZGVudGlmaWVyKTsKKyAgICB2b2lkIHN1
c3BlbmRBbGxNZWRpYVBsYXliYWNrRm9yR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVy
KTsKKyAgICB2b2lkIHJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JHcm91cChNZWRpYVNlc3Npb25H
cm91cElkZW50aWZpZXIpOworICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nRm9yR3Jv
dXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKTsKKyAgICB2b2lkIHJlc3VtZUFsbE1lZGlh
QnVmZmVyaW5nRm9yR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKTsKIAogICAgIGVu
dW0gU2Vzc2lvblJlc3RyaWN0aW9uRmxhZ3MgewogICAgICAgICBOb1Jlc3RyaWN0aW9ucyA9IDAs
CkBAIC0xNjEsNyArMTYwLDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVT
ZXNzaW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uJik7CiAKICAgICB2b2lkIGZvckVhY2hTZXNzaW9u
KGNvbnN0IEZ1bmN0aW9uPHZvaWQoUGxhdGZvcm1NZWRpYVNlc3Npb24mKT4mKTsKLSAgICB2b2lk
IGZvckVhY2hEb2N1bWVudFNlc3Npb24oRG9jdW1lbnRJZGVudGlmaWVyLCBjb25zdCBGdW5jdGlv
bjx2b2lkKFBsYXRmb3JtTWVkaWFTZXNzaW9uJik+Jik7CisgICAgdm9pZCBmb3JFYWNoU2Vzc2lv
bkluR3JvdXAoTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyLCBjb25zdCBGdW5jdGlvbjx2b2lk
KFBsYXRmb3JtTWVkaWFTZXNzaW9uJik+Jik7CiAgICAgYm9vbCBhbnlPZlNlc3Npb25zKGNvbnN0
IEZ1bmN0aW9uPGJvb2woY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb24mKT4mKSBjb25zdDsKIAog
ICAgIGJvb2wgaXNBcHBsaWNhdGlvbkluQmFja2dyb3VuZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNB
cHBsaWNhdGlvbkluQmFja2dyb3VuZDsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>