<?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>234784</bug_id>
          
          <creation_ts>2022-01-01 10:10:18 -0800</creation_ts>
          <short_desc>MediaRecorder should support the bitsPerSecond option</short_desc>
          <delta_ts>2022-01-05 03:29:21 -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>WebRTC</component>
          <version>Safari 15</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>
          
          <blocked>85851</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="maxcodefaster">max</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1827428</commentid>
    <comment_count>0</comment_count>
    <who name="maxcodefaster">max</who>
    <bug_when>2022-01-01 10:10:18 -0800</bug_when>
    <thetext>Referencing https://bugs.webkit.org/show_bug.cgi?id=85851#c92

audioBitesPerSecond, videoBitsPerSecond, bitsPerSecond are not respected by WebKit. This results in huge blobs produced by MediaRecorder, which can not be uploaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827903</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-04 04:56:33 -0800</bug_when>
    <thetext>(In reply to maxcodefaster from comment #0)
&gt; Referencing https://bugs.webkit.org/show_bug.cgi?id=85851#c92
&gt; 
&gt; audioBitesPerSecond, videoBitsPerSecond, bitsPerSecond are not respected by
&gt; WebKit. This results in huge blobs produced by MediaRecorder, which can not
&gt; be uploaded.

audioBitsPerSecond and videoBitsPerSecond should be respected by WebKit.
bitsPerSecond is not supported yet though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827905</commentid>
    <comment_count>2</comment_count>
      <attachid>448284</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-04 05:06:46 -0800</bug_when>
    <thetext>Created attachment 448284
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827940</commentid>
    <comment_count>3</comment_count>
      <attachid>448295</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-04 07:40:26 -0800</bug_when>
    <thetext>Created attachment 448295
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828181</commentid>
    <comment_count>4</comment_count>
      <attachid>448295</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-04 21:20:35 -0800</bug_when>
    <thetext>Comment on attachment 448295
Patch

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

&gt; Source/WebCore/Modules/mediarecorder/MediaRecorder.cpp:408
&gt; +    auto rates = MediaRecorderPrivate::computeBitRates(m_options, updateWithStream == UpdateWithStream::Yes ? &amp;m_stream-&gt;privateStream() : nullptr);
&gt; +    m_audioBitsPerSecond = rates.first;
&gt; +    m_videoBitsPerSecond = rates.second;

Could do it like this:

    std::tie(m_audioBitsPerSecond, m_videoBitsPerSecond) = MediaRecorderPrivate::computeBitRates(m_options, privateStream);

&gt; Source/WebCore/Modules/mediarecorder/MediaRecorder.h:122
&gt; +    enum class UpdateWithStream { No, Yes };
&gt; +    void updateBitRates(UpdateWithStream);

In a case like this, consider two separate named functions. They can call a internal function that takes a stream pointer. Could even have one take a stream pointer that defaults to null if you want since this is all private.

This gives us the flexibility to come up with two clean names rather than having to name both a function and an enumeration.

&gt; Source/WebCore/platform/mediarecorder/MediaRecorderPrivate.cpp:109
&gt; +        bool hasAudio = stream ? stream-&gt;hasAudio() : true;
&gt; +        bool hasVideo = stream ? stream-&gt;hasVideo() : true;

I think I personally might find the Boolean logic easier to read than the ? :

    bool hasAudio = !stream || stream-&gt;hasAudio();

Not sure which you think is clearer.

&gt; Source/WebCore/platform/mediarecorder/MediaRecorderPrivate.cpp:113
&gt; +            auto audioBitsPerSecond =  std::min(LargeAudioBitRate, std::max(SmallAudioBitRate, totalBitsPerSecond / 10));

Extra space here before the &quot;std::min&quot;.

The &quot;/ 10&quot; here seems like a magic number. I don’t understand why it’s there!

&gt; Source/WebCore/platform/mediarecorder/MediaRecorderPrivate.cpp:125
&gt; +    return std::make_pair(options.audioBitsPerSecond.value_or(LargeAudioBitRate), options.videoBitsPerSecond.value_or(LargeVideoBitRate));

Consider the { } syntax instead of std::make_pair.

&gt; Source/WebCore/platform/mediarecorder/MediaRecorderPrivate.h:76
&gt; +    static std::pair&lt;unsigned, unsigned&gt; computeBitRates(const MediaRecorderPrivateOptions&amp;, const MediaStreamPrivate* = nullptr);

Do you think it’s obvious what the two halves of the pair are?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828219</commentid>
    <comment_count>5</comment_count>
      <attachid>448369</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-05 01:40:10 -0800</bug_when>
    <thetext>Created attachment 448369
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828241</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-05 03:28:00 -0800</bug_when>
    <thetext>Committed r287613 (245740@main): &lt;https://commits.webkit.org/245740@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448369.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828243</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-05 03:29:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/87138299&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448284</attachid>
            <date>2022-01-04 05:06:46 -0800</date>
            <delta_ts>2022-01-04 07:40:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234784-20220104140644.patch</filename>
            <type>text/plain</type>
            <size>13775</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTQ1MmRlMTExZjFkZWE3
OWFkNzg3YzIwODg0MjJlNGFlNmEwZDliMy4uMWUxMjlkMDM3Y2Q5ODJiNjY0NmY0ODYzZDgzOGEw
NmNiM2U3ZWMxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIyLTAxLTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJlY29yZGVyIHNo
b3VsZCBzdXBwb3J0IHRoZSBiaXRzUGVyU2Vjb25kIG9wdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0Nzg0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gY2FzZSBiaXRzUGVyU2Vjb25kIGlzIHNl
dCwgd2Ugbm93IGNvbXB1dGUgYXVkaW9CaXRzUGVyU2Vjb25kIGFuZCB2aWRlb0JpdHNQZXJTZWNv
bmQgdmFsdWUgYWNjb3JkaW5nIHRvIGl0LgorICAgICAgICBJbiBjYXNlIG9mIHJlY29yZGluZyBh
dWRpbyBvbmx5LCB3ZSBvbmx5IHNldCBhdWRpb0JpdHNQZXJTZWNvbmQgYW5kIHVzZSBhIG1pbmlt
dW0gdmFsdWUgb2YgODAwMC4KKyAgICAgICAgSW4gY2FzZSBvZiByZWNvcmRpbmcgdmlkZW8gb25s
eSwgd2Ugb25seSBzZXQgYXVkaW9CaXRzUGVyU2Vjb25kIGFuZCB1c2UgYSBtaW5pbXVtIHZhbHVl
IG9mIDEwMDAwMC4KKyAgICAgICAgSW4gY2FzZSBvZiByZWNvcmRpbmcgYm90aCBhdWRpbyBhbmQg
dmlkZW8sIHdlIHNldCBhdWRpb0JpdHNQZXJTZWNvbmQgdG8gYSB0ZW50aCBvZiBiaXRzUGVyU2Vj
b25kICh1c2luZyBhIG1pbiB2YWx1ZSBvZiA4MDAwIGFuZCBhIG1heCB2YWx1ZSBvZiAxOTIwMDAp
LgorICAgICAgICBXZSB0aGVuIHNldCB2aWRlb0JpdHNQZXJTZWNvbmQgdG8gdGhlIHJlbWFpbmlu
ZyBhdmFpbGFibGUgYmFuZHdpZHRoICh1c2luZyBhIG1pbmltdW0gdmFsdWUgb2YgMTAwMDAwKS4K
KworICAgICAgICBUZXN0OiBodHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItYml0
cmF0ZS5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
ci5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaDoK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmg6CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZTo6dXBkYXRlT3B0aW9ucyk6CisgICAgICAg
ICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oOgorCiAyMDIy
LTAxLTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBGZXRj
aCB1c2luZyBGb3JtRGF0YSB3aXRoIGZpbGUgZG9lc24ndCBnbyB0aHJvdWdoIFNlcnZpY2UgV29y
a2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlci5jcHAKaW5kZXggYzlkNmRhNmJkZDlmOTM5NTAxZjRmNDIzMmI0Yzc4MzdkODQw
ZGFjMC4uMjMxNGEwYWVjOTMyNmExZWZiN2RmZjBmN2M0NTcyNTQ2YjllZTY0NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
LmNwcApAQCAtMTAzLDcgKzEwMyw3IEBAIE1lZGlhUmVjb3JkZXI6Ok1lZGlhUmVjb3JkZXIoRG9j
dW1lbnQmIGRvY3VtZW50LCBSZWY8TWVkaWFTdHJlYW0+JiYgc3RyZWFtLCBPcHRpCiAgICAgLCBt
X3N0cmVhbShXVEZNb3ZlKHN0cmVhbSkpCiAgICAgLCBtX3RpbWVTbGljZVRpbWVyKFt0aGlzXSB7
IHJlcXVlc3REYXRhKCk7IH0pCiB7Ci0gICAgTWVkaWFSZWNvcmRlclByaXZhdGU6OnVwZGF0ZU9w
dGlvbnMobV9vcHRpb25zKTsKKyAgICBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6dXBkYXRlT3B0aW9u
cyhtX29wdGlvbnMsIG1fc3RyZWFtLT5oYXNBdWRpbygpLCBtX3N0cmVhbS0+aGFzVmlkZW8oKSk7
CiAKICAgICBtX3RyYWNrcyA9IFdURjo6bWFwKG1fc3RyZWFtLT5nZXRUcmFja3MoKSwgW10gKGF1
dG8mJiB0cmFjaykgLT4gUmVmPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiB7CiAgICAgICAgIHJl
dHVybiB0cmFjay0+cHJpdmF0ZVRyYWNrKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaAppbmRleCAxZTliNzRhYjE3ZTMxMDhk
YjQyMDliOWI0ZjAyMTRkYTExYWM2ZTA2Li40NDNkMDY1YmVhNmVhOWUzNmMyYWU1ZmJmN2MwMGRh
NDQxMDBlNzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3Jk
ZXIvTWVkaWFSZWNvcmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyLmgKQEAgLTk5LDcgKzk5LDcgQEAgcHJpdmF0ZToKICAgICBjb25z
dCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCB2aXJ0
dWFsSGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgZmluYWw7CiAgICAgCi0gICAgICAgIHZvaWQg
c3RvcFJlY29yZGluZ0ludGVybmFsKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiA9IFtdIHsg
fSk7CisgICAgdm9pZCBzdG9wUmVjb3JkaW5nSW50ZXJuYWwoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmID0gW10geyB9KTsKICAgICB2b2lkIGRpc3BhdGNoRXJyb3IoRXhjZXB0aW9uJiYpOwog
CiAgICAgZW51bSBjbGFzcyBUYWtlUHJpdmF0ZVJlY29yZGVyIHsgTm8sIFllcyB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oCmluZGV4IDM0
MThjZjYzYzk3NjUwNjFlN2RmMWQwZmE1YmJjYjZhZTViZmMyOWMuLjY2MjdmY2FkZjIwYjVmMDU2
NGUwYWEwYTI4ZmM3ODYyOTNjZTg5ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgKQEAgLTczLDYgKzczLDkgQEAgcHVibGljOgogICAg
IE1lZGlhU3RyZWFtVHJhY2tWZWN0b3IgZ2V0VmlkZW9UcmFja3MoKSBjb25zdDsKICAgICBNZWRp
YVN0cmVhbVRyYWNrVmVjdG9yIGdldFRyYWNrcygpIGNvbnN0OwogCisgICAgYm9vbCBoYXNBdWRp
bygpIGNvbnN0IHsgcmV0dXJuIG1fcHJpdmF0ZS0+aGFzQXVkaW8oKTsgfQorICAgIGJvb2wgaGFz
VmlkZW8oKSBjb25zdCB7IHJldHVybiBtX3ByaXZhdGUtPmhhc1ZpZGVvKCk7IH0KKwogICAgIFJl
ZlB0cjxNZWRpYVN0cmVhbT4gY2xvbmUoKTsKIAogICAgIGJvb2wgYWN0aXZlKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc0FjdGl2ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcAppbmRleCA2ODdi
MzA5NzMxZDNmN2ZiODk1NWY4ZWYwZDAxYTM2YjcyOWQwODgzLi43ZDljYmQ2MjYyYTc1MTI1MDYy
ZTRmNWE3ZDM2YTY1ZjdjNTU5MDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcApAQCAt
MzIsNyArMzIsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NvbnN0ZXhwciB1bnNpZ25l
ZCBTbWFsbEF1ZGlvQml0UmF0ZSA9IDgwMDA7CiBjb25zdGV4cHIgdW5zaWduZWQgTGFyZ2VBdWRp
b0JpdFJhdGUgPSAxOTIwMDA7Citjb25zdGV4cHIgdW5zaWduZWQgU21hbGxWaWRlb0JpdFJhdGUg
PSAxMDAwMDA7CiBjb25zdGV4cHIgdW5zaWduZWQgTGFyZ2VWaWRlb0JpdFJhdGUgPSAxMDAwMDAw
MDsKIAogTWVkaWFSZWNvcmRlclByaXZhdGU6OkF1ZGlvVmlkZW9TZWxlY3RlZFRyYWNrcyBNZWRp
YVJlY29yZGVyUHJpdmF0ZTo6c2VsZWN0VHJhY2tzKE1lZGlhU3RyZWFtUHJpdmF0ZSYgc3RyZWFt
KQpAQCAtMTAwLDEzICsxMDIsMzYgQEAgdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6cmVzdW1l
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKICAgICByZXN1
bWVSZWNvcmRpbmcoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIE1lZGlh
UmVjb3JkZXJQcml2YXRlOjp1cGRhdGVPcHRpb25zKE1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9u
cyYgb3B0aW9ucykKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGU6OnVwZGF0ZU9wdGlvbnMoTWVk
aWFSZWNvcmRlclByaXZhdGVPcHRpb25zJiBvcHRpb25zLCBib29sIGhhc0F1ZGlvLCBib29sIGhh
c1ZpZGVvKQogewotICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3Igb3B0aW9ucy5iaXRzUGVy
U2Vjb25kLgorICAgIGlmIChvcHRpb25zLmJpdHNQZXJTZWNvbmQpIHsKKyAgICAgICAgYXV0byB0
b3RhbEJpdHNQZXJTZWNvbmQgPSAqb3B0aW9ucy5iaXRzUGVyU2Vjb25kOworICAgICAgICBpZiAo
aGFzQXVkaW8gJiYgaGFzVmlkZW8pIHsKKyAgICAgICAgICAgIGF1dG8gYXVkaW9CaXRzUGVyU2Vj
b25kID0gIHN0ZDo6bWluKExhcmdlQXVkaW9CaXRSYXRlLCBzdGQ6Om1heChTbWFsbEF1ZGlvQml0
UmF0ZSwgdG90YWxCaXRzUGVyU2Vjb25kIC8gMTApKTsKKyAgICAgICAgICAgIGF1dG8gcmVtYWlu
aW5nQml0c1BlclNlY29uZCA9IHRvdGFsQml0c1BlclNlY29uZCA+IGF1ZGlvQml0c1BlclNlY29u
ZCA/ICh0b3RhbEJpdHNQZXJTZWNvbmQgLSBhdWRpb0JpdHNQZXJTZWNvbmQpIDogMDsKKworICAg
ICAgICAgICAgb3B0aW9ucy5hdWRpb0JpdHNQZXJTZWNvbmQgPSBhdWRpb0JpdHNQZXJTZWNvbmQ7
CisgICAgICAgICAgICBvcHRpb25zLnZpZGVvQml0c1BlclNlY29uZCA9IHN0ZDo6bWF4KHJlbWFp
bmluZ0JpdHNQZXJTZWNvbmQsIFNtYWxsVmlkZW9CaXRSYXRlKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChoYXNBdWRpbykgeworICAgICAgICAgICAgb3B0
aW9ucy5hdWRpb0JpdHNQZXJTZWNvbmQgPSBzdGQ6Om1heChTbWFsbEF1ZGlvQml0UmF0ZSwgdG90
YWxCaXRzUGVyU2Vjb25kKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAg
ICAgIG9wdGlvbnMudmlkZW9CaXRzUGVyU2Vjb25kID0gc3RkOjptYXgoU21hbGxWaWRlb0JpdFJh
dGUsIHRvdGFsQml0c1BlclNlY29uZCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgaWYg
KCFvcHRpb25zLmF1ZGlvQml0c1BlclNlY29uZCkKICAgICAgICAgb3B0aW9ucy5hdWRpb0JpdHNQ
ZXJTZWNvbmQgPSBMYXJnZUF1ZGlvQml0UmF0ZTsKKyAgICBlbHNlIGlmIChvcHRpb25zLmF1ZGlv
Qml0c1BlclNlY29uZCA8IFNtYWxsQXVkaW9CaXRSYXRlKQorICAgICAgICBvcHRpb25zLmF1ZGlv
Qml0c1BlclNlY29uZCA9IFNtYWxsQXVkaW9CaXRSYXRlOworCiAgICAgaWYgKCFvcHRpb25zLnZp
ZGVvQml0c1BlclNlY29uZCkKICAgICAgICAgb3B0aW9ucy52aWRlb0JpdHNQZXJTZWNvbmQgPSBM
YXJnZVZpZGVvQml0UmF0ZTsKKyAgICBlbHNlIGlmIChvcHRpb25zLnZpZGVvQml0c1BlclNlY29u
ZCA8IFNtYWxsVmlkZW9CaXRSYXRlKQorICAgICAgICBvcHRpb25zLnZpZGVvQml0c1BlclNlY29u
ZCA9IFNtYWxsVmlkZW9CaXRSYXRlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlh
UmVjb3JkZXJQcml2YXRlLmgKaW5kZXggNzk2NTU0ZjRjOTc2NDUxNDAxZTFhMTIzNzQ2ODcwNDBi
MjRiMWNjMS4uYWE0NzU2YTVjNDBjMjQ1YmU2ZWVjNTc0NmQ2NDQ4NjJlNjA1ZDhkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlclByaXZhdGUuaApAQCAtNzMsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB0
cmFja011dGVkQ2hhbmdlZChNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYgdHJhY2spIHsgY2hlY2tU
cmFja1N0YXRlKHRyYWNrKTsgfQogICAgIHZvaWQgdHJhY2tFbmFibGVkQ2hhbmdlZChNZWRpYVN0
cmVhbVRyYWNrUHJpdmF0ZSYgdHJhY2spIHsgY2hlY2tUcmFja1N0YXRlKHRyYWNrKTsgfQogCi0g
ICAgc3RhdGljIHZvaWQgdXBkYXRlT3B0aW9ucyhNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMm
KTsKKyAgICBzdGF0aWMgdm9pZCB1cGRhdGVPcHRpb25zKE1lZGlhUmVjb3JkZXJQcml2YXRlT3B0
aW9ucyYsIGJvb2wgaGFzQXVkaW8sIGJvb2wgaGFzVmlkZW8pOwogCiBwcm90ZWN0ZWQ6CiAgICAg
dm9pZCBzZXRBdWRpb1NvdXJjZShSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4mJik7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNTc2N2U1ZDE1MDZiYTgzOWYxMDRhMDhlOTZmZTQwYmM2MGQ5NzdlMy4uYTdhYzlmODY4ZmI2
OTBjNDZlZjg0MjVlZjc3ZTRhNzQwZjUxNjY0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIy
LTAxLTA0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRp
YVJlY29yZGVyIHNob3VsZCBzdXBwb3J0IHRoZSBiaXRzUGVyU2Vjb25kIG9wdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0Nzg0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3dwdC9tZWRp
YXJlY29yZGVyL01lZGlhUmVjb3JkZXItYXVkaW8tYml0cmF0ZS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLWF1ZGlvLWJpdHJhdGUu
aHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItYml0
cmF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L21lZGlhcmVjb3Jk
ZXIvTWVkaWFSZWNvcmRlci1iaXRyYXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0
L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci12aWRlby1iaXRyYXRlLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBodHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItdmlkZW8tYml0
cmF0ZS5odG1sOgorCiAyMDIyLTAxLTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBGZXRjaCB1c2luZyBGb3JtRGF0YSB3aXRoIGZpbGUgZG9lc24ndCBnbyB0
aHJvdWdoIFNlcnZpY2UgV29ya2VyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9t
ZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItYXVkaW8tYml0cmF0ZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItYXVkaW8tYml0
cmF0ZS1leHBlY3RlZC50eHQKaW5kZXggNzdiMzBkM2ZkMTk1ZTkxYzcxZTkxZTAwNTBhYWYwMGIx
NWExMWRjZi4uYWIyOGYwNDExNjY5ODIxZDBiYzI1ZDdhNGZlY2JjYjY1NjhhMTc3OSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLWF1
ZGlvLWJpdHJhdGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlci1hdWRpby1iaXRyYXRlLWV4cGVjdGVkLnR4dApAQCAtMSwz
ICsxLDQgQEAKIAogUEFTUyBWYXJpb3VzIGF1ZGlvIGJpdHJhdGVzCitQQVNTIE1pbmltdW0gYXVk
aW8gYml0cmF0ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXItYXVkaW8tYml0cmF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLWF1ZGlvLWJpdHJhdGUuaHRtbAppbmRleCA4
NzUyN2U0MzI3OWYyYTRiYmQwNjQyNzE5MDk3NWIzNzRlY2Q4NzFjLi41MWQ5MGQ0ZDhiYjdkNmMy
MWZhMWZiNjZmM2QwMjNiMTM4MGNlOWIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItYXVkaW8tYml0cmF0ZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1hdWRpby1iaXRy
YXRlLmh0bWwKQEAgLTM5LDYgKzM5LDEyIEBACiAgICAgICAgIH0pOwogICAgICAgICBhc3NlcnRf
Z3JlYXRlcl90aGFuKGJsb2JzWzJdLnNpemUsIGJsb2JzWzBdLnNpemUpOwogICAgIH0sICJWYXJp
b3VzIGF1ZGlvIGJpdHJhdGVzIik7CisKKyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsK
KyAgICAgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRV
c2VyTWVkaWEoeyBhdWRpbyA6IHRydWUgfSk7CisgICAgICAgIGxldCByZWNvcmRlciA9IG5ldyBN
ZWRpYVJlY29yZGVyKHN0cmVhbSwgeyBhdWRpb0JpdHNQZXJTZWNvbmQgOiAxMDAwIH0pOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLmF1ZGlvQml0c1BlclNlY29uZCwgODAwMCwgIm1p
biIpOworICAgIH0sICJNaW5pbXVtIGF1ZGlvIGJpdHJhdGUiKTsKIDwvc2NyaXB0PgogPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRl
ci9NZWRpYVJlY29yZGVyLWJpdHJhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLWJpdHJhdGUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmJiZDE5NzcwZTUwOTM2ZGM5NTU4NWJmNjg0NzE0OTE5ZWEyMWUyYWYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXItYml0cmF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1MgYXVkaW8gYml0
cmF0ZQorUEFTUyB2aWRlbyBiaXRyYXRlCitQQVNTIGF1ZGlvIHZpZGVvIGJpdHJhdGUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
LWJpdHJhdGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFS
ZWNvcmRlci1iaXRyYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjU4OTI1YjQwMjg1MWViZjFkMGM5NGM3
YzU1YWQ2MDk5ODIyMTY1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1iaXRyYXRlLmh0bWwKQEAgLTAsMCArMSw1NyBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5NZWRpYVJlY29y
ZGVyIGJpdHJhdGU8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citwcm9taXNl
X3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3Iu
bWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7IGF1ZGlvIDogdHJ1ZSB9KTsKKworICAgIGxldCBy
ZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSwgeyBiaXRzUGVyU2Vjb25kIDogMTAw
MDAwMCB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLmF1ZGlvQml0c1BlclNlY29uZCwg
MTAwMDAwMCk7CisKKyAgICByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSwgeyBi
aXRzUGVyU2Vjb25kIDogMTAwMDAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5hdWRp
b0JpdHNQZXJTZWNvbmQsIDEwMDAwKTsKKworICAgIHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3Jk
ZXIoc3RyZWFtLCB7IGJpdHNQZXJTZWNvbmQgOiAxMDAwIH0pOworICAgIGFzc2VydF9lcXVhbHMo
cmVjb3JkZXIuYXVkaW9CaXRzUGVyU2Vjb25kLCA4MDAwLCAibWluIik7Cit9LCAiYXVkaW8gYml0
cmF0ZSIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICBjb25zdCBzdHJlYW0g
PSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7IHZpZGVvIDogdHJ1
ZSB9KTsKKworICAgIGxldCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSwgeyBi
aXRzUGVyU2Vjb25kIDogMTAwMDAwMCB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLnZp
ZGVvQml0c1BlclNlY29uZCwgMTAwMDAwMCk7CisKKyAgICByZWNvcmRlciA9IG5ldyBNZWRpYVJl
Y29yZGVyKHN0cmVhbSwgeyBiaXRzUGVyU2Vjb25kIDogMTAwMDAwIH0pOworICAgIGFzc2VydF9l
cXVhbHMocmVjb3JkZXIudmlkZW9CaXRzUGVyU2Vjb25kLCAxMDAwMDApOworCisgICAgcmVjb3Jk
ZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0sIHsgYml0c1BlclNlY29uZCA6IDEwMDAwIH0p
OworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIudmlkZW9CaXRzUGVyU2Vjb25kLCAxMDAwMDAs
ICJtaW4iKTsKK30sICJ2aWRlbyBiaXRyYXRlIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodCkg
PT4geworICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0
VXNlck1lZGlhKHsgYXVkaW8gOiB0cnVlLCB2aWRlbyA6IHRydWUgfSk7CisKKyAgICBsZXQgcmVj
b3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0sIHsgYml0c1BlclNlY29uZCA6IDEwMDAw
MDAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5hdWRpb0JpdHNQZXJTZWNvbmQsIDEw
MDAwMCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci52aWRlb0JpdHNQZXJTZWNvbmQsIDkw
MDAwMCk7CisKKyAgICByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSwgeyBiaXRz
UGVyU2Vjb25kIDogMjAwMDAwIH0pOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIuYXVkaW9C
aXRzUGVyU2Vjb25kLCAyMDAwMCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci52aWRlb0Jp
dHNQZXJTZWNvbmQsIDE4MDAwMCk7CisKKyAgICByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVy
KHN0cmVhbSwgeyBiaXRzUGVyU2Vjb25kIDogMTAwMDAwIH0pOworICAgIGFzc2VydF9lcXVhbHMo
cmVjb3JkZXIuYXVkaW9CaXRzUGVyU2Vjb25kLCAxMDAwMCk7CisgICAgYXNzZXJ0X2VxdWFscyhy
ZWNvcmRlci52aWRlb0JpdHNQZXJTZWNvbmQsIDEwMDAwMCk7CisKKyAgICByZWNvcmRlciA9IG5l
dyBNZWRpYVJlY29yZGVyKHN0cmVhbSwgeyBiaXRzUGVyU2Vjb25kIDogNTAwMDAgfSk7CisgICAg
YXNzZXJ0X2VxdWFscyhyZWNvcmRlci5hdWRpb0JpdHNQZXJTZWNvbmQsIDgwMDApOworICAgIGFz
c2VydF9lcXVhbHMocmVjb3JkZXIudmlkZW9CaXRzUGVyU2Vjb25kLCAxMDAwMDApOworfSwgImF1
ZGlvIHZpZGVvIGJpdHJhdGUiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLXZp
ZGVvLWJpdHJhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyLXZpZGVvLWJpdHJhdGUtZXhwZWN0ZWQudHh0CmluZGV4IDhhOWIx
YjQ3OGUzN2I3ODIxMDcyODRjMmVlMjIzMTc5ZGIzNTMyODIuLjY2OTc5YjQzNDc4YTUwNGYxNjBi
OGYyYTg4MTlmY2E2NTNhYTBjYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci12aWRlby1iaXRyYXRlLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItdmlkZW8t
Yml0cmF0ZS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1MgVmFyaW91cyB2aWRl
byBiaXRyYXRlcworUEFTUyBNaW5pbXVtIHZpZGVvIGJpdHJhdGUKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLXZpZGVvLWJpdHJh
dGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
ci12aWRlby1iaXRyYXRlLmh0bWwKaW5kZXggNDUyMTgzYjA3OWNjMWIyMDJmNGU5NzJhOTNkZjEz
ZDg2YjM1NzhjZS4uNDg0Y2IxYjAyZmZiNTg3OWYyNGE4NTUzMTk1YTQ0Y2Y3MGE4OTZhNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
LXZpZGVvLWJpdHJhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXItdmlkZW8tYml0cmF0ZS5odG1sCkBAIC0zMSw2ICszMSwxMiBAQAog
ICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGJsb2JzWzBdLnNpemUsIDAsICJibG9iMCIpOwog
ICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGJsb2JzWzFdLnNpemUsIGJsb2JzWzBdLnNpemUs
ICJibG9iMiIpOwogICAgIH0sICJWYXJpb3VzIHZpZGVvIGJpdHJhdGVzIik7CisKKyAgICBwcm9t
aXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICAgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2
aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyB2aWRlbyA6IHRydWUgfSk7CisgICAg
ICAgIGxldCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSwgeyB2aWRlb0JpdHNQ
ZXJTZWNvbmQgOiAxMDAwMCB9KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci52aWRl
b0JpdHNQZXJTZWNvbmQsIDEwMDAwMCwgIm1pbiIpOworICAgIH0sICJNaW5pbXVtIHZpZGVvIGJp
dHJhdGUiKTsKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448295</attachid>
            <date>2022-01-04 07:40:26 -0800</date>
            <delta_ts>2022-01-05 01:40:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234784-20220104164024.patch</filename>
            <type>text/plain</type>
            <size>16592</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTQ1MmRlMTExZjFkZWE3
OWFkNzg3YzIwODg0MjJlNGFlNmEwZDliMy4uYTEzNjc4MzkyOTg3NGM4NjY4MTZmOTE0NzMzYjBm
ODM3YmY1MTEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAxLTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJlY29yZGVyIHNo
b3VsZCBzdXBwb3J0IHRoZSBiaXRzUGVyU2Vjb25kIG9wdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0Nzg0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gY2FzZSBiaXRzUGVyU2Vjb25kIGlzIHNl
dCwgd2Ugbm93IGNvbXB1dGUgYXVkaW9CaXRzUGVyU2Vjb25kIGFuZCB2aWRlb0JpdHNQZXJTZWNv
bmQgdmFsdWUgYWNjb3JkaW5nIHRvIGl0LgorICAgICAgICBXZSBzZXQgYXVkaW9CaXRzUGVyU2Vj
b25kIHRvIGEgdGVudGggb2YgYml0c1BlclNlY29uZCBhbmQgc2V0IHZpZGVvQml0c1BlclNlY29u
ZCB0byB0aGUgcmVtYWluaW5nIGF2YWlsYWJsZSBiYW5kd2lkdGguCisgICAgICAgIFdlIHRoZW4g
dXNlIG1pbmltdW0gdmFsdWVzIG9mIDhrYnBzIGZvciBhdWRpbyBhbmQgODBrYnBzIGZvciB2aWRl
by4KKyAgICAgICAgQXMgcGVyIHNwZWMsIHdlIGNvbXB1dGUgdGhlc2UgdmFsdWVzIGF0IGNyZWF0
aW9uLCBzdGFydCBhbmQgc3RvcCB0aW1lcy4KKyAgICAgICAgV2UgaW50cm9kdWNlIGRlZGljYXRl
ZCBjbGFzcyBtZW1iZXJzIGZvciBhdWRpbyBhbmQgdmlkZW8gYml0cmF0ZXMsIHNpbWlsYXJseSB0
byB0aGUgc3BlYyBkZWZpbmluZyBjb3JyZXNwb25kaW5nIHNsb3RzLgorCisgICAgICAgIFRlc3Q6
IGh0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1iaXRyYXRlLmh0bWwKKworICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcDoKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5oOgorICAgICAgICAqIHBsYXRm
b3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHA6CisK
IDIwMjItMDEtMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IEZldGNoIHVzaW5nIEZvcm1EYXRhIHdpdGggZmlsZSBkb2Vzbid0IGdvIHRocm91Z2ggU2Vydmlj
ZSBXb3JrZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRl
ci9NZWRpYVJlY29yZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRl
ci9NZWRpYVJlY29yZGVyLmNwcAppbmRleCBjOWQ2ZGE2YmRkOWY5Mzk1MDFmNGY0MjMyYjRjNzgz
N2Q4NDBkYWMwLi40YzYwZmQzODEzOGVhNjc3NjNhYmUwMWUzMWI3OGZmYzBmNDEzMzEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVj
b3JkZXIuY3BwCkBAIC0xMDMsNyArMTAzLDcgQEAgTWVkaWFSZWNvcmRlcjo6TWVkaWFSZWNvcmRl
cihEb2N1bWVudCYgZG9jdW1lbnQsIFJlZjxNZWRpYVN0cmVhbT4mJiBzdHJlYW0sIE9wdGkKICAg
ICAsIG1fc3RyZWFtKFdURk1vdmUoc3RyZWFtKSkKICAgICAsIG1fdGltZVNsaWNlVGltZXIoW3Ro
aXNdIHsgcmVxdWVzdERhdGEoKTsgfSkKIHsKLSAgICBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6dXBk
YXRlT3B0aW9ucyhtX29wdGlvbnMpOworICAgIHVwZGF0ZUJpdFJhdGVzKFVwZGF0ZVdpdGhTdHJl
YW06Ok5vKTsKIAogICAgIG1fdHJhY2tzID0gV1RGOjptYXAobV9zdHJlYW0tPmdldFRyYWNrcygp
LCBbXSAoYXV0byYmIHRyYWNrKSAtPiBSZWY8TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU+IHsKICAg
ICAgICAgcmV0dXJuIHRyYWNrLT5wcml2YXRlVHJhY2soKTsKQEAgLTE1NCw4ICsxNTQsMTQgQEAg
RXhjZXB0aW9uT3I8dm9pZD4gTWVkaWFSZWNvcmRlcjo6c3RhcnRSZWNvcmRpbmcoc3RkOjpvcHRp
b25hbDx1bnNpZ25lZD4gdGltZVNsaWMKICAgICBpZiAoc3RhdGUoKSAhPSBSZWNvcmRpbmdTdGF0
ZTo6SW5hY3RpdmUpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJv
ciwgIlRoZSBNZWRpYVJlY29yZGVyJ3Mgc3RhdGUgbXVzdCBiZSBpbmFjdGl2ZSBpbiBvcmRlciB0
byBzdGFydCByZWNvcmRpbmciX3MgfTsKIAorICAgIHVwZGF0ZUJpdFJhdGVzKFVwZGF0ZVdpdGhT
dHJlYW06Olllcyk7CisKKyAgICBPcHRpb25zIG9wdGlvbnM7CisgICAgb3B0aW9ucy5hdWRpb0Jp
dHNQZXJTZWNvbmQgPSBtX2F1ZGlvQml0c1BlclNlY29uZDsKKyAgICBvcHRpb25zLnZpZGVvQml0
c1BlclNlY29uZCA9IG1fdmlkZW9CaXRzUGVyU2Vjb25kOworCiAgICAgQVNTRVJUKCFtX3ByaXZh
dGUpOwotICAgIGF1dG8gcmVzdWx0ID0gY3JlYXRlTWVkaWFSZWNvcmRlclByaXZhdGUoKmRvY3Vt
ZW50KCksIG1fc3RyZWFtLT5wcml2YXRlU3RyZWFtKCksIG1fb3B0aW9ucyk7CisgICAgYXV0byBy
ZXN1bHQgPSBjcmVhdGVNZWRpYVJlY29yZGVyUHJpdmF0ZSgqZG9jdW1lbnQoKSwgbV9zdHJlYW0t
PnByaXZhdGVTdHJlYW0oKSwgb3B0aW9ucyk7CiAKICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlv
bigpKQogICAgICAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKQEAgLTIwNyw2
ICsyMTMsOCBAQCB2b2lkIE1lZGlhUmVjb3JkZXI6OnN0b3BSZWNvcmRpbmcoKQogICAgIGlmIChz
dGF0ZSgpID09IFJlY29yZGluZ1N0YXRlOjpJbmFjdGl2ZSkKICAgICAgICAgcmV0dXJuOwogCisg
ICAgdXBkYXRlQml0UmF0ZXMoVXBkYXRlV2l0aFN0cmVhbTo6Tm8pOworCiAgICAgc3RvcFJlY29y
ZGluZ0ludGVybmFsKCk7CiAgICAgZmV0Y2hEYXRhKFt0aGlzXShhdXRvJiYgYnVmZmVyLCBhdXRv
JiBtaW1lVHlwZSwgYXV0byB0aW1lQ29kZSkgewogICAgICAgICBpZiAoIW1faXNBY3RpdmUpCkBA
IC0zOTMsNiArNDAxLDEzIEBAIGJvb2wgTWVkaWFSZWNvcmRlcjo6dmlydHVhbEhhc1BlbmRpbmdB
Y3Rpdml0eSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fc3RhdGUgIT0gUmVjb3JkaW5nU3RhdGU6Oklu
YWN0aXZlOwogfQogCit2b2lkIE1lZGlhUmVjb3JkZXI6OnVwZGF0ZUJpdFJhdGVzKFVwZGF0ZVdp
dGhTdHJlYW0gdXBkYXRlV2l0aFN0cmVhbSkKK3sKKyAgICBhdXRvIHJhdGVzID0gTWVkaWFSZWNv
cmRlclByaXZhdGU6OmNvbXB1dGVCaXRSYXRlcyhtX29wdGlvbnMsIHVwZGF0ZVdpdGhTdHJlYW0g
PT0gVXBkYXRlV2l0aFN0cmVhbTo6WWVzID8gJm1fc3RyZWFtLT5wcml2YXRlU3RyZWFtKCkgOiBu
dWxscHRyKTsKKyAgICBtX2F1ZGlvQml0c1BlclNlY29uZCA9IHJhdGVzLmZpcnN0OworICAgIG1f
dmlkZW9CaXRzUGVyU2Vjb25kID0gcmF0ZXMuc2Vjb25kOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmgKaW5kZXggMWU5
Yjc0YWIxN2UzMTA4ZGI0MjA5YjliNGYwMjE0ZGExMWFjNmUwNi4uOGM5NDRlOWU3MDA0MjczNjE3
NjRlYzA1ZmZjYzg4OTJhMDFlMjFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5oCkBAIC03NSw4ICs3NSw4IEBAIHB1Ymxp
YzoKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBwYXVzZVJlY29yZGluZygpOwogICAgIEV4Y2VwdGlv
bk9yPHZvaWQ+IHJlc3VtZVJlY29yZGluZygpOwogCi0gICAgdW5zaWduZWQgdmlkZW9CaXRzUGVy
U2Vjb25kKCkgY29uc3QgeyByZXR1cm4gbV9vcHRpb25zLnZpZGVvQml0c1BlclNlY29uZC52YWx1
ZV9vcigwKTsgfQotICAgIHVuc2lnbmVkIGF1ZGlvQml0c1BlclNlY29uZCgpIGNvbnN0IHsgcmV0
dXJuIG1fb3B0aW9ucy5hdWRpb0JpdHNQZXJTZWNvbmQudmFsdWVfb3IoMCk7IH0KKyAgICB1bnNp
Z25lZCB2aWRlb0JpdHNQZXJTZWNvbmQoKSBjb25zdCB7IHJldHVybiBtX3ZpZGVvQml0c1BlclNl
Y29uZDsgfQorICAgIHVuc2lnbmVkIGF1ZGlvQml0c1BlclNlY29uZCgpIGNvbnN0IHsgcmV0dXJu
IG1fYXVkaW9CaXRzUGVyU2Vjb25kOyB9CiAKICAgICBNZWRpYVN0cmVhbSYgc3RyZWFtKCkgeyBy
ZXR1cm4gbV9zdHJlYW0uZ2V0KCk7IH0KIApAQCAtOTksNyArOTksNyBAQCBwcml2YXRlOgogICAg
IGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKICAgICBib29s
IHZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKICAgICAKLSAgICAgICAg
dm9pZCBzdG9wUmVjb3JkaW5nSW50ZXJuYWwoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmID0g
W10geyB9KTsKKyAgICB2b2lkIHN0b3BSZWNvcmRpbmdJbnRlcm5hbChDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYgPSBbXSB7IH0pOwogICAgIHZvaWQgZGlzcGF0Y2hFcnJvcihFeGNlcHRpb24m
Jik7CiAKICAgICBlbnVtIGNsYXNzIFRha2VQcml2YXRlUmVjb3JkZXIgeyBObywgWWVzIH07CkBA
IC0xMTgsNiArMTE4LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHRyYWNrRW5hYmxlZENoYW5nZWQo
TWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmKSBmaW5hbDsKICAgICB2b2lkIHRyYWNrU2V0dGluZ3ND
aGFuZ2VkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJikgZmluYWwgeyB9OwogCisgICAgZW51bSBj
bGFzcyBVcGRhdGVXaXRoU3RyZWFtIHsgTm8sIFllcyB9OworICAgIHZvaWQgdXBkYXRlQml0UmF0
ZXMoVXBkYXRlV2l0aFN0cmVhbSk7CisKICAgICBzdGF0aWMgQ3JlYXRvckZ1bmN0aW9uIG1fY3Vz
dG9tQ3JlYXRvcjsKIAogICAgIE9wdGlvbnMgbV9vcHRpb25zOwpAQCAtMTMxLDYgKzEzNCw5IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2lzQWN0aXZlIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pc0Zl
dGNoaW5nRGF0YSB7IGZhbHNlIH07CiAgICAgRGVxdWU8RmV0Y2hEYXRhQ2FsbGJhY2s+IG1fcGVu
ZGluZ0ZldGNoRGF0YVRhc2tzOworCisgICAgdW5zaWduZWQgbV9hdWRpb0JpdHNQZXJTZWNvbmQg
eyAwIH07CisgICAgdW5zaWduZWQgbV92aWRlb0JpdHNQZXJTZWNvbmQgeyAwIH07CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCmluZGV4IDY4
N2IzMDk3MzFkM2Y3ZmI4OTU1ZjhlZjBkMDFhMzZiNzI5ZDA4ODMuLmI1ODVhYWZkMTkzOTk1YWZk
ZDgzYjNjMTVjOTVkMTE5OTcwYWJmZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCkBA
IC0zMiw2ICszMiw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY29uc3RleHByIHVuc2ln
bmVkIFNtYWxsQXVkaW9CaXRSYXRlID0gODAwMDsKK2NvbnN0ZXhwciB1bnNpZ25lZCBTbWFsbFZp
ZGVvQml0UmF0ZSA9IDgwMDAwOwogY29uc3RleHByIHVuc2lnbmVkIExhcmdlQXVkaW9CaXRSYXRl
ID0gMTkyMDAwOwogY29uc3RleHByIHVuc2lnbmVkIExhcmdlVmlkZW9CaXRSYXRlID0gMTAwMDAw
MDA7CiAKQEAgLTEwMCwxMyArMTAyLDI3IEBAIHZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGU6OnJl
c3VtZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAg
cmVzdW1lUmVjb3JkaW5nKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAotdm9pZCBN
ZWRpYVJlY29yZGVyUHJpdmF0ZTo6dXBkYXRlT3B0aW9ucyhNZWRpYVJlY29yZGVyUHJpdmF0ZU9w
dGlvbnMmIG9wdGlvbnMpCitzdGQ6OnBhaXI8dW5zaWduZWQsIHVuc2lnbmVkPiBNZWRpYVJlY29y
ZGVyUHJpdmF0ZTo6Y29tcHV0ZUJpdFJhdGVzKGNvbnN0IE1lZGlhUmVjb3JkZXJQcml2YXRlT3B0
aW9ucyYgb3B0aW9ucywgY29uc3QgTWVkaWFTdHJlYW1Qcml2YXRlKiBzdHJlYW0pCiB7Ci0gICAg
Ly8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBvcHRpb25zLmJpdHNQZXJTZWNvbmQuCi0gICAgaWYg
KCFvcHRpb25zLmF1ZGlvQml0c1BlclNlY29uZCkKLSAgICAgICAgb3B0aW9ucy5hdWRpb0JpdHNQ
ZXJTZWNvbmQgPSBMYXJnZUF1ZGlvQml0UmF0ZTsKLSAgICBpZiAoIW9wdGlvbnMudmlkZW9CaXRz
UGVyU2Vjb25kKQotICAgICAgICBvcHRpb25zLnZpZGVvQml0c1BlclNlY29uZCA9IExhcmdlVmlk
ZW9CaXRSYXRlOworICAgIGlmIChvcHRpb25zLmJpdHNQZXJTZWNvbmQpIHsKKyAgICAgICAgYm9v
bCBoYXNBdWRpbyA9IHN0cmVhbSA/IHN0cmVhbS0+aGFzQXVkaW8oKSA6IHRydWU7CisgICAgICAg
IGJvb2wgaGFzVmlkZW8gPSBzdHJlYW0gPyBzdHJlYW0tPmhhc1ZpZGVvKCkgOiB0cnVlOworICAg
ICAgICBhdXRvIHRvdGFsQml0c1BlclNlY29uZCA9ICpvcHRpb25zLmJpdHNQZXJTZWNvbmQ7CisK
KyAgICAgICAgaWYgKGhhc0F1ZGlvICYmIGhhc1ZpZGVvKSB7CisgICAgICAgICAgICBhdXRvIGF1
ZGlvQml0c1BlclNlY29uZCA9ICBzdGQ6Om1pbihMYXJnZUF1ZGlvQml0UmF0ZSwgc3RkOjptYXgo
U21hbGxBdWRpb0JpdFJhdGUsIHRvdGFsQml0c1BlclNlY29uZCAvIDEwKSk7CisgICAgICAgICAg
ICBhdXRvIHJlbWFpbmluZ0JpdHNQZXJTZWNvbmQgPSB0b3RhbEJpdHNQZXJTZWNvbmQgPiBhdWRp
b0JpdHNQZXJTZWNvbmQgPyAodG90YWxCaXRzUGVyU2Vjb25kIC0gYXVkaW9CaXRzUGVyU2Vjb25k
KSA6IDA7CisKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihhdWRpb0JpdHNQZXJT
ZWNvbmQsIHN0ZDo6bWF4KHJlbWFpbmluZ0JpdHNQZXJTZWNvbmQsIFNtYWxsVmlkZW9CaXRSYXRl
KSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoaGFzQXVkaW8pCisgICAgICAgICAgICByZXR1
cm4gc3RkOjptYWtlX3BhaXIoc3RkOjptYXgoU21hbGxBdWRpb0JpdFJhdGUsIHRvdGFsQml0c1Bl
clNlY29uZCksIDApOworCisgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcigwLCBzdGQ6Om1h
eChTbWFsbFZpZGVvQml0UmF0ZSwgdG90YWxCaXRzUGVyU2Vjb25kKSk7CisgICAgfQorCisgICAg
cmV0dXJuIHN0ZDo6bWFrZV9wYWlyKG9wdGlvbnMuYXVkaW9CaXRzUGVyU2Vjb25kLnZhbHVlX29y
KExhcmdlQXVkaW9CaXRSYXRlKSwgb3B0aW9ucy52aWRlb0JpdHNQZXJTZWNvbmQudmFsdWVfb3Io
TGFyZ2VWaWRlb0JpdFJhdGUpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
UHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJl
Y29yZGVyUHJpdmF0ZS5oCmluZGV4IDc5NjU1NGY0Yzk3NjQ1MTQwMWUxYTEyMzc0Njg3MDQwYjI0
YjFjYzEuLmYxZTUyNGZiNjQzZDM3OTUwZGYwOTkzYmE1OTc2YjkxOTdiNDIyMDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclBy
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlh
UmVjb3JkZXJQcml2YXRlLmgKQEAgLTczLDcgKzczLDcgQEAgcHVibGljOgogICAgIHZvaWQgdHJh
Y2tNdXRlZENoYW5nZWQoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHRyYWNrKSB7IGNoZWNrVHJh
Y2tTdGF0ZSh0cmFjayk7IH0KICAgICB2b2lkIHRyYWNrRW5hYmxlZENoYW5nZWQoTWVkaWFTdHJl
YW1UcmFja1ByaXZhdGUmIHRyYWNrKSB7IGNoZWNrVHJhY2tTdGF0ZSh0cmFjayk7IH0KIAotICAg
IHN0YXRpYyB2b2lkIHVwZGF0ZU9wdGlvbnMoTWVkaWFSZWNvcmRlclByaXZhdGVPcHRpb25zJik7
CisgICAgc3RhdGljIHN0ZDo6cGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+IGNvbXB1dGVCaXRSYXRl
cyhjb25zdCBNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMmLCBjb25zdCBNZWRpYVN0cmVhbVBy
aXZhdGUqID0gbnVsbHB0cik7CiAKIHByb3RlY3RlZDoKICAgICB2b2lkIHNldEF1ZGlvU291cmNl
KFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclBy
aXZhdGVBVkZJbXBsLmNwcAppbmRleCAzMDAzMDk3NDY4ODc2ZmU0MjdjYjdjZjYwYjVmNDM3ZGZi
ZTFlYzFkLi5lMmVkNGQwNzE0NTkzYTU3MTFlNWFhZTFiMzQ3NjMxNDExM2ViNmNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQ
cml2YXRlQVZGSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwCkBAIC03OSw3ICs3OSw2IEBAIE1l
ZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6fk1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbCgp
CiB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6c3RhcnRSZWNvcmRpbmcoU3RhcnRS
ZWNvcmRpbmdDYWxsYmFjayYmIGNhbGxiYWNrKQogewogICAgIC8vIEZJTVhFOiBJbiBjYXNlIG9m
IG9mIGF1ZGlvIHJlY29yZGluZywgd2Ugc2hvdWxkIHdhaXQgZm9yIHRoZSBhdWRpbyBjb21wcmVz
c2lvbiB0byBzdGFydCB0byBnaXZlIGJhY2sgdGhlIGV4YWN0IGJpdCByYXRlLgotICAgIC8vIEZJ
WE1FOiBBZGQgc3VwcG9ydCB0byBvcHRpb25zLmJpdHNQZXJTZWNvbmQgYXMgd2VsbC4KICAgICBj
YWxsYmFjayhTdHJpbmcobV93cml0ZXItPm1pbWVUeXBlKCkpLCBtX3dyaXRlci0+YXVkaW9CaXRS
YXRlKCksIG1fd3JpdGVyLT52aWRlb0JpdFJhdGUoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1NzY3ZTVkMTUw
NmJhODM5ZjEwNGEwOGU5NmZlNDBiYzYwZDk3N2UzLi5hNmY0Y2E5YWZkMmU4ZWZiNjgxODI2NDAz
M2Y0NjU5ODZhOTliYTBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDEtMDQgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhUmVjb3JkZXIgc2hv
dWxkIHN1cHBvcnQgdGhlIGJpdHNQZXJTZWNvbmQgb3B0aW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ3ODQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlci1iaXRyYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93
cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLWJpdHJhdGUuaHRtbDogQWRkZWQuCisKIDIw
MjItMDEtMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEZl
dGNoIHVzaW5nIEZvcm1EYXRhIHdpdGggZmlsZSBkb2Vzbid0IGdvIHRocm91Z2ggU2VydmljZSBX
b3JrZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGE2NDg4ZDQ1NWZiNDI5ODYz
NWU5MzlhMzk5OWQ3MzczNDQ2ZjVhZGMuLjIyMzIyYmM0MzFkYTFiZTA1NWUyZDgwYmQzZmViNTJk
MDE0N2UzNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBA
CisyMDIyLTAxLTA0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBNZWRpYVJlY29yZGVyIHNob3VsZCBzdXBwb3J0IHRoZSBiaXRzUGVyU2Vjb25kIG9wdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0Nzg0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWJpdHJhdGUuaHR0
cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIyLTAxLTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBGZXRjaCB1c2luZyBGb3JtRGF0YSB3aXRoIGZpbGUgZG9lc24n
dCBnbyB0aHJvdWdoIFNlcnZpY2UgV29ya2VyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItYml0cmF0ZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItYml0cmF0ZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmJkMTk3NzBlNTA5MzZkYzk1NTg1YmY2ODQ3MTQ5MTll
YTIxZTJhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVj
b3JkZXIvTWVkaWFSZWNvcmRlci1iaXRyYXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
KworUEFTUyBhdWRpbyBiaXRyYXRlCitQQVNTIHZpZGVvIGJpdHJhdGUKK1BBU1MgYXVkaW8gdmlk
ZW8gYml0cmF0ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXItYml0cmF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVk
aWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLWJpdHJhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDA5MjM1
ODc0MDlkMDBjMTI0ZmFlNDUxODYwYjlmNjQxY2I3NTgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLWJpdHJhdGUuaHRt
bApAQCAtMCwwICsxLDU3IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAg
PHRpdGxlPk1lZGlhUmVjb3JkZXIgYml0cmF0ZTwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAgIGNvbnN0IHN0cmVhbSA9
IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHsgYXVkaW8gOiB0cnVl
IH0pOworCisgICAgbGV0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoc3RyZWFtLCB7IGJp
dHNQZXJTZWNvbmQgOiAxMDAwMDAwIH0pOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIuYXVk
aW9CaXRzUGVyU2Vjb25kLCAxMDAwMDAsICJ0ZXN0IDEiKTsKKworICAgIHJlY29yZGVyID0gbmV3
IE1lZGlhUmVjb3JkZXIoc3RyZWFtLCB7IGJpdHNQZXJTZWNvbmQgOiAxMDAwMCB9KTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJlY29yZGVyLmF1ZGlvQml0c1BlclNlY29uZCwgODAwMCwgInRlc3QgMiIp
OworCisgICAgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0sIHsgYml0c1BlclNl
Y29uZCA6IDEwMDAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5hdWRpb0JpdHNQZXJT
ZWNvbmQsIDgwMDAsICJ0ZXN0IDMiKTsKK30sICJhdWRpbyBiaXRyYXRlIik7CisKK3Byb21pc2Vf
dGVzdChhc3luYyAodCkgPT4geworICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5t
ZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHsgdmlkZW8gOiB0cnVlIH0pOworCisgICAgbGV0IHJl
Y29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoc3RyZWFtLCB7IGJpdHNQZXJTZWNvbmQgOiAxMDAw
MDAwIH0pOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIudmlkZW9CaXRzUGVyU2Vjb25kLCA5
MDAwMDAsICJ0ZXN0IDEiKTsKKworICAgIHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoc3Ry
ZWFtLCB7IGJpdHNQZXJTZWNvbmQgOiAxMDAwMDAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNv
cmRlci52aWRlb0JpdHNQZXJTZWNvbmQsIDkwMDAwLCAidGVzdCAyIik7CisKKyAgICByZWNvcmRl
ciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSwgeyBiaXRzUGVyU2Vjb25kIDogMTAwMDAgfSk7
CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci52aWRlb0JpdHNQZXJTZWNvbmQsIDgwMDAwLCAi
dGVzdCAzIik7Cit9LCAidmlkZW8gYml0cmF0ZSIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHQp
ID0+IHsKKyAgICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdl
dFVzZXJNZWRpYSh7IGF1ZGlvIDogdHJ1ZSwgdmlkZW8gOiB0cnVlIH0pOworCisgICAgbGV0IHJl
Y29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoc3RyZWFtLCB7IGJpdHNQZXJTZWNvbmQgOiAxMDAw
MDAwIH0pOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIuYXVkaW9CaXRzUGVyU2Vjb25kLCAx
MDAwMDAsICJ0ZXN0IDEiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLnZpZGVvQml0c1Bl
clNlY29uZCwgOTAwMDAwLCAidGVzdCAyIik7CisKKyAgICByZWNvcmRlciA9IG5ldyBNZWRpYVJl
Y29yZGVyKHN0cmVhbSwgeyBiaXRzUGVyU2Vjb25kIDogMjAwMDAwIH0pOworICAgIGFzc2VydF9l
cXVhbHMocmVjb3JkZXIuYXVkaW9CaXRzUGVyU2Vjb25kLCAyMDAwMCwgInRlc3QgMyIpOworICAg
IGFzc2VydF9lcXVhbHMocmVjb3JkZXIudmlkZW9CaXRzUGVyU2Vjb25kLCAxODAwMDAsICJ0ZXN0
IDQiKTsKKworICAgIHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoc3RyZWFtLCB7IGJpdHNQ
ZXJTZWNvbmQgOiA4ODAwMCB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLmF1ZGlvQml0
c1BlclNlY29uZCwgODgwMCwgInRlc3QgNSIpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIu
dmlkZW9CaXRzUGVyU2Vjb25kLCA4MDAwMCwgInRlc3QgNiIpOworCisgICAgcmVjb3JkZXIgPSBu
ZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0sIHsgYml0c1BlclNlY29uZCA6IDUwMDAwIH0pOworICAg
IGFzc2VydF9lcXVhbHMocmVjb3JkZXIuYXVkaW9CaXRzUGVyU2Vjb25kLCA4MDAwLCAidGVzdCA3
Iik7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci52aWRlb0JpdHNQZXJTZWNvbmQsIDgwMDAw
LCAidGVzdCA4Iik7Cit9LCAiYXVkaW8gdmlkZW8gYml0cmF0ZSIpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1iaXRyYXRlLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWJpdHJhdGUuaHR0cHMtZXhw
ZWN0ZWQudHh0CmluZGV4IDk3NWYyNTljMGUxOWI3YmY3NDQyOTc5OWQwNTFkNjJjMmQyMjFjYmEu
LmNhODgwYjcwY2JlMGQ5YzMyODZiNDIyZDhjYWEyZWVmZmM4MmY2NjkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJl
Y29yZC9NZWRpYVJlY29yZGVyLWJpdHJhdGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29y
ZC9NZWRpYVJlY29yZGVyLWJpdHJhdGUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDEx
IEBACiAKIFBBU1MgUGFzc2luZyBubyBiaXRyYXRlIGNvbmZpZyByZXN1bHRzIGluIGRlZmF1bHRz
Ci1GQUlMIFBhc3NpbmcgYml0c1BlclNlY29uZDowIHJlc3VsdHMgaW4gdGFyZ2V0cyBjbG9zZSB0
byAwIGFzc2VydF9hcHByb3hfZXF1YWxzOiBleHBlY3RlZCAwICsvLSAxMDAwMDAgYnV0IGdvdCAx
MDE5MjAwMAorUEFTUyBQYXNzaW5nIGJpdHNQZXJTZWNvbmQ6MCByZXN1bHRzIGluIHRhcmdldHMg
Y2xvc2UgdG8gMAogUEFTUyBQYXNzaW5nIG9ubHkgYXVkaW9CaXRzUGVyU2Vjb25kOjAgcmVzdWx0
cyBpbiAwIGZvciBhdWRpbywgZGVmYXVsdCBmb3IgdmlkZW8KIFBBU1MgUGFzc2luZyBvbmx5IHZp
ZGVvQml0c1BlclNlY29uZDowIHJlc3VsdHMgaW4gMCBmb3IgdmlkZW8sIGRlZmF1bHQgZm9yIGF1
ZGlvCi1GQUlMIFBhc3NpbmcgYml0c1BlclNlY29uZDowIG92ZXJyaWRlcyBhdWRpby92aWRlby1z
cGVjaWZpYyB2YWx1ZXMgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IGV4cGVjdGVkIDAgKy8tIDEwMDAw
MCBidXQgZ290IDExMDAwMDAKLUZBSUwgUGFzc2luZyBiaXRzUGVyU2Vjb25kIG92ZXJyaWRlcyBh
dWRpby92aWRlbyB6ZXJvIHZhbHVlcyBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQg
dmFsdWUgMAotRkFJTCBQYXNzaW5nIGJpdHNQZXJTZWNvbmQgc2V0cyBhdWRpby92aWRlbyBiaXRy
YXRlIHZhbHVlcyBhc3NlcnRfYXBwcm94X2VxdWFsczogZXhwZWN0ZWQgMjAwMDAwMCArLy0gMTAw
MDAwIGJ1dCBnb3QgMTAxOTIwMDAKK1BBU1MgUGFzc2luZyBiaXRzUGVyU2Vjb25kOjAgb3ZlcnJp
ZGVzIGF1ZGlvL3ZpZGVvLXNwZWNpZmljIHZhbHVlcworUEFTUyBQYXNzaW5nIGJpdHNQZXJTZWNv
bmQgb3ZlcnJpZGVzIGF1ZGlvL3ZpZGVvIHplcm8gdmFsdWVzCitQQVNTIFBhc3NpbmcgYml0c1Bl
clNlY29uZCBzZXRzIGF1ZGlvL3ZpZGVvIGJpdHJhdGUgdmFsdWVzCiBQQVNTIFBhc3Npbmcgb25s
eSBhdWRpb0JpdHNQZXJTZWNvbmQgcmVzdWx0cyBpbiBkZWZhdWx0IGZvciB2aWRlbwogUEFTUyBQ
YXNzaW5nIG9ubHkgdmlkZW9CaXRzUGVyU2Vjb25kIHJlc3VsdHMgaW4gZGVmYXVsdCBmb3IgYXVk
aW8KIFBBU1MgUGFzc2luZyB2aWRlb0JpdHNQZXJTZWNvbmQgZm9yIGF1ZGlvLW9ubHkgc3RyZWFt
IHN0aWxsIHJlc3VsdHMgaW4gc29tZXRoaW5nIGZvciB2aWRlbwpAQCAtMTUsNiArMTUsNiBAQCBQ
QVNTIFBhc3NpbmcgYml0c1BlclNlY29uZCBmb3IgdmlkZW8tb25seSBzdHJlYW0gc3RpbGwgcmVz
dWx0cyBpbiBzb21ldGhpbmcgZm9yCiBQQVNTIFNlbGVjdGVkIGRlZmF1bHQgdHJhY2sgYml0cmF0
ZXMgYXJlIG5vdCBjaGFuZ2VkIGJ5IHN0YXJ0KCkKIFBBU1MgUGFzc2VkLWluIHRyYWNrIGJpdHJh
dGVzIGFyZSBub3QgY2hhbmdlZCBieSBzdGFydCgpCiBQQVNTIFBhc3NpbmcgYml0c1BlclNlY29u
ZCBmb3IgYXVkaW8vdmlkZW8gc3RyZWFtIGRvZXMgbm90IGNoYW5nZSB0cmFjayBiaXRyYXRlcyBp
biBzdGFydCgpCi1GQUlMIFBhc3NpbmcgYml0c1BlclNlY29uZCBmb3IgYXVkaW8gc3RyZWFtIHNl
dHMgdmlkZW8gdHJhY2sgYml0cmF0ZSB0byAwIGluIHN0YXJ0KCkgYXNzZXJ0X2FwcHJveF9lcXVh
bHM6IGV4cGVjdGVkIDUwMDAwMCArLy0gMTAwMDAwIGJ1dCBnb3QgMTkyMDAwCi1GQUlMIFBhc3Np
bmcgYml0c1BlclNlY29uZCBmb3IgdmlkZW8gc3RyZWFtIHNldHMgYXVkaW8gdHJhY2sgYml0cmF0
ZSB0byAwIGluIHN0YXJ0KCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDE5MjAw
MAorUEFTUyBQYXNzaW5nIGJpdHNQZXJTZWNvbmQgZm9yIGF1ZGlvIHN0cmVhbSBzZXRzIHZpZGVv
IHRyYWNrIGJpdHJhdGUgdG8gMCBpbiBzdGFydCgpCitQQVNTIFBhc3NpbmcgYml0c1BlclNlY29u
ZCBmb3IgdmlkZW8gc3RyZWFtIHNldHMgYXVkaW8gdHJhY2sgYml0cmF0ZSB0byAwIGluIHN0YXJ0
KCkKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448369</attachid>
            <date>2022-01-05 01:40:10 -0800</date>
            <delta_ts>2022-01-05 03:28:02 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234784-20220105104008.patch</filename>
            <type>text/plain</type>
            <size>16582</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTc3MGI1NThiZDU1OWVj
OGVjMGEzODAyOGVkNzg0ODAwMTkyMmNlNC4uNjY3MmJjZDc4OWZjY2E2MTVmZjJiNzE0ZDY0NjFk
NWNhZTNiYTFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAxLTA1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJlY29yZGVyIHNo
b3VsZCBzdXBwb3J0IHRoZSBiaXRzUGVyU2Vjb25kIG9wdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0Nzg0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSW4gY2FzZSBiaXRzUGVyU2Vjb25kIGlzIHNldCwg
d2Ugbm93IGNvbXB1dGUgYXVkaW9CaXRzUGVyU2Vjb25kIGFuZCB2aWRlb0JpdHNQZXJTZWNvbmQg
dmFsdWUgYWNjb3JkaW5nIHRvIGl0LgorICAgICAgICBXZSBzZXQgYXVkaW9CaXRzUGVyU2Vjb25k
IHRvIGEgdGVudGggb2YgYml0c1BlclNlY29uZCBhbmQgc2V0IHZpZGVvQml0c1BlclNlY29uZCB0
byB0aGUgcmVtYWluaW5nIGF2YWlsYWJsZSBiYW5kd2lkdGguCisgICAgICAgIFdlIHRoZW4gdXNl
IG1pbmltdW0gdmFsdWVzIG9mIDhrYnBzIGZvciBhdWRpbyBhbmQgODBrYnBzIGZvciB2aWRlby4K
KyAgICAgICAgQXMgcGVyIHNwZWMsIHdlIGNvbXB1dGUgdGhlc2UgdmFsdWVzIGF0IGNyZWF0aW9u
LCBzdGFydCBhbmQgc3RvcCB0aW1lcy4KKyAgICAgICAgV2UgaW50cm9kdWNlIGRlZGljYXRlZCBj
bGFzcyBtZW1iZXJzIGZvciBhdWRpbyBhbmQgdmlkZW8gYml0cmF0ZXMsIHNpbWlsYXJseSB0byB0
aGUgc3BlYyBkZWZpbmluZyBjb3JyZXNwb25kaW5nIHNsb3RzLgorCisgICAgICAgIFRlc3Q6IGh0
dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1iaXRyYXRlLmh0bWwKKworICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcDoKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwOgorICAgICAgICAqIHBsYXRm
b3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHA6CisKIDIw
MjItMDEtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEZl
dGNoIHVzaW5nIEZvcm1EYXRhIHdpdGggZmlsZSBkb2Vzbid0IGdvIHRocm91Z2ggU2VydmljZSBX
b3JrZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyLmNwcAppbmRleCBjOWQ2ZGE2YmRkOWY5Mzk1MDFmNGY0MjMyYjRjNzgzN2Q4
NDBkYWMwLi5mN2FlZTY1ZGJhNTBjZTFmOTkzYjgwNjg1ZmIxNzJkYTEyYjYyYzY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXIuY3BwCkBAIC0xMDMsNyArMTAzLDcgQEAgTWVkaWFSZWNvcmRlcjo6TWVkaWFSZWNvcmRlcihE
b2N1bWVudCYgZG9jdW1lbnQsIFJlZjxNZWRpYVN0cmVhbT4mJiBzdHJlYW0sIE9wdGkKICAgICAs
IG1fc3RyZWFtKFdURk1vdmUoc3RyZWFtKSkKICAgICAsIG1fdGltZVNsaWNlVGltZXIoW3RoaXNd
IHsgcmVxdWVzdERhdGEoKTsgfSkKIHsKLSAgICBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6dXBkYXRl
T3B0aW9ucyhtX29wdGlvbnMpOworICAgIGNvbXB1dGVJbml0aWFsQml0UmF0ZXMoKTsKIAogICAg
IG1fdHJhY2tzID0gV1RGOjptYXAobV9zdHJlYW0tPmdldFRyYWNrcygpLCBbXSAoYXV0byYmIHRy
YWNrKSAtPiBSZWY8TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU+IHsKICAgICAgICAgcmV0dXJuIHRy
YWNrLT5wcml2YXRlVHJhY2soKTsKQEAgLTE1NCw4ICsxNTQsMTQgQEAgRXhjZXB0aW9uT3I8dm9p
ZD4gTWVkaWFSZWNvcmRlcjo6c3RhcnRSZWNvcmRpbmcoc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4g
dGltZVNsaWMKICAgICBpZiAoc3RhdGUoKSAhPSBSZWNvcmRpbmdTdGF0ZTo6SW5hY3RpdmUpCiAg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIlRoZSBNZWRpYVJl
Y29yZGVyJ3Mgc3RhdGUgbXVzdCBiZSBpbmFjdGl2ZSBpbiBvcmRlciB0byBzdGFydCByZWNvcmRp
bmciX3MgfTsKIAorICAgIHVwZGF0ZUJpdFJhdGVzKCk7CisKKyAgICBPcHRpb25zIG9wdGlvbnM7
CisgICAgb3B0aW9ucy5hdWRpb0JpdHNQZXJTZWNvbmQgPSBtX2F1ZGlvQml0c1BlclNlY29uZDsK
KyAgICBvcHRpb25zLnZpZGVvQml0c1BlclNlY29uZCA9IG1fdmlkZW9CaXRzUGVyU2Vjb25kOwor
CiAgICAgQVNTRVJUKCFtX3ByaXZhdGUpOwotICAgIGF1dG8gcmVzdWx0ID0gY3JlYXRlTWVkaWFS
ZWNvcmRlclByaXZhdGUoKmRvY3VtZW50KCksIG1fc3RyZWFtLT5wcml2YXRlU3RyZWFtKCksIG1f
b3B0aW9ucyk7CisgICAgYXV0byByZXN1bHQgPSBjcmVhdGVNZWRpYVJlY29yZGVyUHJpdmF0ZSgq
ZG9jdW1lbnQoKSwgbV9zdHJlYW0tPnByaXZhdGVTdHJlYW0oKSwgb3B0aW9ucyk7CiAKICAgICBp
ZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2VF
eGNlcHRpb24oKTsKQEAgLTIwNyw2ICsyMTMsOCBAQCB2b2lkIE1lZGlhUmVjb3JkZXI6OnN0b3BS
ZWNvcmRpbmcoKQogICAgIGlmIChzdGF0ZSgpID09IFJlY29yZGluZ1N0YXRlOjpJbmFjdGl2ZSkK
ICAgICAgICAgcmV0dXJuOwogCisgICAgdXBkYXRlQml0UmF0ZXMoKTsKKwogICAgIHN0b3BSZWNv
cmRpbmdJbnRlcm5hbCgpOwogICAgIGZldGNoRGF0YShbdGhpc10oYXV0byYmIGJ1ZmZlciwgYXV0
byYgbWltZVR5cGUsIGF1dG8gdGltZUNvZGUpIHsKICAgICAgICAgaWYgKCFtX2lzQWN0aXZlKQpA
QCAtMzkzLDYgKzQwMSwxMyBAQCBib29sIE1lZGlhUmVjb3JkZXI6OnZpcnR1YWxIYXNQZW5kaW5n
QWN0aXZpdHkoKSBjb25zdAogICAgIHJldHVybiBtX3N0YXRlICE9IFJlY29yZGluZ1N0YXRlOjpJ
bmFjdGl2ZTsKIH0KIAordm9pZCBNZWRpYVJlY29yZGVyOjpjb21wdXRlQml0UmF0ZXMoY29uc3Qg
TWVkaWFTdHJlYW1Qcml2YXRlKiBzdHJlYW0pCit7CisgICAgYXV0byBiaXRSYXRlcyA9IE1lZGlh
UmVjb3JkZXJQcml2YXRlOjpjb21wdXRlQml0UmF0ZXMobV9vcHRpb25zLCBzdHJlYW0pOworICAg
IG1fYXVkaW9CaXRzUGVyU2Vjb25kID0gYml0UmF0ZXMuYXVkaW87CisgICAgbV92aWRlb0JpdHNQ
ZXJTZWNvbmQgPSBiaXRSYXRlcy52aWRlbzsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5oCmluZGV4IDFlOWI3NGFiMTdl
MzEwOGRiNDIwOWI5YjRmMDIxNGRhMTFhYzZlMDYuLmEyMTJjOTI3MDY2OWJkNDU5NjE5MTliYTcw
MTVlM2QwZWUxODhiNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFy
ZWNvcmRlci9NZWRpYVJlY29yZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaApAQCAtNzUsOCArNzUsOCBAQCBwdWJsaWM6CiAgICAg
RXhjZXB0aW9uT3I8dm9pZD4gcGF1c2VSZWNvcmRpbmcoKTsKICAgICBFeGNlcHRpb25Pcjx2b2lk
PiByZXN1bWVSZWNvcmRpbmcoKTsKIAotICAgIHVuc2lnbmVkIHZpZGVvQml0c1BlclNlY29uZCgp
IGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9ucy52aWRlb0JpdHNQZXJTZWNvbmQudmFsdWVfb3IoMCk7
IH0KLSAgICB1bnNpZ25lZCBhdWRpb0JpdHNQZXJTZWNvbmQoKSBjb25zdCB7IHJldHVybiBtX29w
dGlvbnMuYXVkaW9CaXRzUGVyU2Vjb25kLnZhbHVlX29yKDApOyB9CisgICAgdW5zaWduZWQgdmlk
ZW9CaXRzUGVyU2Vjb25kKCkgY29uc3QgeyByZXR1cm4gbV92aWRlb0JpdHNQZXJTZWNvbmQ7IH0K
KyAgICB1bnNpZ25lZCBhdWRpb0JpdHNQZXJTZWNvbmQoKSBjb25zdCB7IHJldHVybiBtX2F1ZGlv
Qml0c1BlclNlY29uZDsgfQogCiAgICAgTWVkaWFTdHJlYW0mIHN0cmVhbSgpIHsgcmV0dXJuIG1f
c3RyZWFtLmdldCgpOyB9CiAKQEAgLTk5LDcgKzk5LDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBj
aGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCB2aXJ0dWFs
SGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgZmluYWw7CiAgICAgCi0gICAgICAgIHZvaWQgc3Rv
cFJlY29yZGluZ0ludGVybmFsKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiA9IFtdIHsgfSk7
CisgICAgdm9pZCBzdG9wUmVjb3JkaW5nSW50ZXJuYWwoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmID0gW10geyB9KTsKICAgICB2b2lkIGRpc3BhdGNoRXJyb3IoRXhjZXB0aW9uJiYpOwogCiAg
ICAgZW51bSBjbGFzcyBUYWtlUHJpdmF0ZVJlY29yZGVyIHsgTm8sIFllcyB9OwpAQCAtMTE4LDYg
KzExOCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgdHJhY2tFbmFibGVkQ2hhbmdlZChNZWRpYVN0
cmVhbVRyYWNrUHJpdmF0ZSYpIGZpbmFsOwogICAgIHZvaWQgdHJhY2tTZXR0aW5nc0NoYW5nZWQo
TWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmKSBmaW5hbCB7IH07CiAKKyAgICB2b2lkIGNvbXB1dGVJ
bml0aWFsQml0UmF0ZXMoKSB7IGNvbXB1dGVCaXRSYXRlcyhudWxscHRyKTsgfQorICAgIHZvaWQg
dXBkYXRlQml0UmF0ZXMoKSB7IGNvbXB1dGVCaXRSYXRlcygmbV9zdHJlYW0tPnByaXZhdGVTdHJl
YW0oKSk7IH0KKyAgICB2b2lkIGNvbXB1dGVCaXRSYXRlcyhjb25zdCBNZWRpYVN0cmVhbVByaXZh
dGUqKTsKKwogICAgIHN0YXRpYyBDcmVhdG9yRnVuY3Rpb24gbV9jdXN0b21DcmVhdG9yOwogCiAg
ICAgT3B0aW9ucyBtX29wdGlvbnM7CkBAIC0xMzEsNiArMTM1LDkgQEAgcHJpdmF0ZToKICAgICBi
b29sIG1faXNBY3RpdmUgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzRmV0Y2hpbmdEYXRhIHsgZmFs
c2UgfTsKICAgICBEZXF1ZTxGZXRjaERhdGFDYWxsYmFjaz4gbV9wZW5kaW5nRmV0Y2hEYXRhVGFz
a3M7CisKKyAgICB1bnNpZ25lZCBtX2F1ZGlvQml0c1BlclNlY29uZCB7IDAgfTsKKyAgICB1bnNp
Z25lZCBtX3ZpZGVvQml0c1BlclNlY29uZCB7IDAgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlclByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKaW5kZXggNjg3YjMwOTczMWQzZjdmYjg5
NTVmOGVmMGQwMWEzNmI3MjlkMDg4My4uOWExZDA2YzgyMGM4ODk5Njg1Yjc1MjM3ZDU2NjNkMTMw
ZWQ2ODU1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRl
ci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKQEAgLTMyLDYgKzMyLDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjb25zdGV4cHIgdW5zaWduZWQgU21hbGxBdWRpb0Jp
dFJhdGUgPSA4MDAwOworY29uc3RleHByIHVuc2lnbmVkIFNtYWxsVmlkZW9CaXRSYXRlID0gODAw
MDA7CiBjb25zdGV4cHIgdW5zaWduZWQgTGFyZ2VBdWRpb0JpdFJhdGUgPSAxOTIwMDA7CiBjb25z
dGV4cHIgdW5zaWduZWQgTGFyZ2VWaWRlb0JpdFJhdGUgPSAxMDAwMDAwMDsKIApAQCAtMTAwLDEz
ICsxMDIsMjYgQEAgdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6cmVzdW1lKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKICAgICByZXN1bWVSZWNvcmRpbmco
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIE1lZGlhUmVjb3JkZXJQcml2
YXRlOjp1cGRhdGVPcHRpb25zKE1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyYgb3B0aW9ucykK
K01lZGlhUmVjb3JkZXJQcml2YXRlOjpCaXRSYXRlcyBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6Y29t
cHV0ZUJpdFJhdGVzKGNvbnN0IE1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyYgb3B0aW9ucywg
Y29uc3QgTWVkaWFTdHJlYW1Qcml2YXRlKiBzdHJlYW0pCiB7Ci0gICAgLy8gRklYTUU6IEFkZCBz
dXBwb3J0IGZvciBvcHRpb25zLmJpdHNQZXJTZWNvbmQuCi0gICAgaWYgKCFvcHRpb25zLmF1ZGlv
Qml0c1BlclNlY29uZCkKLSAgICAgICAgb3B0aW9ucy5hdWRpb0JpdHNQZXJTZWNvbmQgPSBMYXJn
ZUF1ZGlvQml0UmF0ZTsKLSAgICBpZiAoIW9wdGlvbnMudmlkZW9CaXRzUGVyU2Vjb25kKQotICAg
ICAgICBvcHRpb25zLnZpZGVvQml0c1BlclNlY29uZCA9IExhcmdlVmlkZW9CaXRSYXRlOworICAg
IGlmIChvcHRpb25zLmJpdHNQZXJTZWNvbmQpIHsKKyAgICAgICAgYm9vbCBoYXNBdWRpbyA9IHN0
cmVhbSA/IHN0cmVhbS0+aGFzQXVkaW8oKSA6IHRydWU7CisgICAgICAgIGJvb2wgaGFzVmlkZW8g
PSBzdHJlYW0gPyBzdHJlYW0tPmhhc1ZpZGVvKCkgOiB0cnVlOworICAgICAgICBhdXRvIHRvdGFs
Qml0c1BlclNlY29uZCA9ICpvcHRpb25zLmJpdHNQZXJTZWNvbmQ7CisKKyAgICAgICAgaWYgKGhh
c0F1ZGlvICYmIGhhc1ZpZGVvKSB7CisgICAgICAgICAgICBhdXRvIGF1ZGlvQml0c1BlclNlY29u
ZCA9ICBzdGQ6Om1pbihMYXJnZUF1ZGlvQml0UmF0ZSwgc3RkOjptYXgoU21hbGxBdWRpb0JpdFJh
dGUsIHRvdGFsQml0c1BlclNlY29uZCAvIDEwKSk7CisgICAgICAgICAgICBhdXRvIHJlbWFpbmlu
Z0JpdHNQZXJTZWNvbmQgPSB0b3RhbEJpdHNQZXJTZWNvbmQgPiBhdWRpb0JpdHNQZXJTZWNvbmQg
PyAodG90YWxCaXRzUGVyU2Vjb25kIC0gYXVkaW9CaXRzUGVyU2Vjb25kKSA6IDA7CisgICAgICAg
ICAgICByZXR1cm4geyBhdWRpb0JpdHNQZXJTZWNvbmQsIHN0ZDo6bWF4KHJlbWFpbmluZ0JpdHNQ
ZXJTZWNvbmQsIFNtYWxsVmlkZW9CaXRSYXRlKSB9OworICAgICAgICB9CisKKyAgICAgICAgaWYg
KGhhc0F1ZGlvKQorICAgICAgICAgICAgcmV0dXJuIHsgc3RkOjptYXgoU21hbGxBdWRpb0JpdFJh
dGUsIHRvdGFsQml0c1BlclNlY29uZCksIDAgfTsKKworICAgICAgICByZXR1cm4geyAwLCBzdGQ6
Om1heChTbWFsbFZpZGVvQml0UmF0ZSwgdG90YWxCaXRzUGVyU2Vjb25kKSB9OworICAgIH0KKwor
ICAgIHJldHVybiB7IG9wdGlvbnMuYXVkaW9CaXRzUGVyU2Vjb25kLnZhbHVlX29yKExhcmdlQXVk
aW9CaXRSYXRlKSwgb3B0aW9ucy52aWRlb0JpdHNQZXJTZWNvbmQudmFsdWVfb3IoTGFyZ2VWaWRl
b0JpdFJhdGUpIH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclBy
aXZhdGUuaAppbmRleCA3OTY1NTRmNGM5NzY0NTE0MDFlMWExMjM3NDY4NzA0MGIyNGIxY2MxLi45
NzM5MjRhMTM1ZjQxM2ZlNzFmMTAwY2JjMmQwZTdjOGZkNjFjN2NiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
UHJpdmF0ZS5oCkBAIC03Myw3ICs3MywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCB0cmFja011dGVk
Q2hhbmdlZChNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYgdHJhY2spIHsgY2hlY2tUcmFja1N0YXRl
KHRyYWNrKTsgfQogICAgIHZvaWQgdHJhY2tFbmFibGVkQ2hhbmdlZChNZWRpYVN0cmVhbVRyYWNr
UHJpdmF0ZSYgdHJhY2spIHsgY2hlY2tUcmFja1N0YXRlKHRyYWNrKTsgfQogCi0gICAgc3RhdGlj
IHZvaWQgdXBkYXRlT3B0aW9ucyhNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMmKTsKKyAgICBz
dHJ1Y3QgQml0UmF0ZXMgeworICAgICAgICB1bnNpZ25lZCBhdWRpbzsKKyAgICAgICAgdW5zaWdu
ZWQgdmlkZW87CisgICAgfTsKKyAgICBzdGF0aWMgQml0UmF0ZXMgY29tcHV0ZUJpdFJhdGVzKGNv
bnN0IE1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyYsIGNvbnN0IE1lZGlhU3RyZWFtUHJpdmF0
ZSogPSBudWxscHRyKTsKIAogcHJvdGVjdGVkOgogICAgIHZvaWQgc2V0QXVkaW9Tb3VyY2UoUmVm
UHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0
ZUFWRkltcGwuY3BwCmluZGV4IDMwMDMwOTc0Njg4NzZmZTQyN2NiN2NmNjBiNWY0MzdkZmJlMWVj
MWQuLmUyZWQ0ZDA3MTQ1OTNhNTcxMWU1YWFlMWIzNDc2MzE0MTEzZWI2Y2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZh
dGVBVkZJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAKQEAgLTc5LDcgKzc5LDYgQEAgTWVkaWFS
ZWNvcmRlclByaXZhdGVBVkZJbXBsOjp+TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsKCkKIHZv
aWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpzdGFydFJlY29yZGluZyhTdGFydFJlY29y
ZGluZ0NhbGxiYWNrJiYgY2FsbGJhY2spCiB7CiAgICAgLy8gRklNWEU6IEluIGNhc2Ugb2Ygb2Yg
YXVkaW8gcmVjb3JkaW5nLCB3ZSBzaG91bGQgd2FpdCBmb3IgdGhlIGF1ZGlvIGNvbXByZXNzaW9u
IHRvIHN0YXJ0IHRvIGdpdmUgYmFjayB0aGUgZXhhY3QgYml0IHJhdGUuCi0gICAgLy8gRklYTUU6
IEFkZCBzdXBwb3J0IHRvIG9wdGlvbnMuYml0c1BlclNlY29uZCBhcyB3ZWxsLgogICAgIGNhbGxi
YWNrKFN0cmluZyhtX3dyaXRlci0+bWltZVR5cGUoKSksIG1fd3JpdGVyLT5hdWRpb0JpdFJhdGUo
KSwgbV93cml0ZXItPnZpZGVvQml0UmF0ZSgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRlOTU3MjU5ZjQ1ZTRm
NzlkODY3NGNiMTAyYjg4NmM0Njg3NTI1ZWYuLmFlYzA4NGJhODI3NzZkMWMwYzg0Yzk0YjI5MTBi
MzNmYmIzNzkzNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wMS0wNSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFSZWNvcmRlciBzaG91bGQg
c3VwcG9ydCB0aGUgYml0c1BlclNlY29uZCBvcHRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDc4NAorCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgorCisgICAgICAgICogaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29y
ZGVyLWJpdHJhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9tZWRp
YXJlY29yZGVyL01lZGlhUmVjb3JkZXItYml0cmF0ZS5odG1sOiBBZGRlZC4KKwogMjAyMi0wMS0w
NSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRmV0Y2ggdXNp
bmcgRm9ybURhdGEgd2l0aCBmaWxlIGRvZXNuJ3QgZ28gdGhyb3VnaCBTZXJ2aWNlIFdvcmtlcgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNThhYjY0NTY5ZTQ5ODE4ZTZlZDM3ZTIw
YzVhYWI1ODkzOWNmYTA3ZC4uOWQ4YzEzYmE4M2IxYmQwYTcxNmE2N2M4YzQxOGQ5YWIzM2IxZjE3
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjIt
MDEtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlh
UmVjb3JkZXIgc2hvdWxkIHN1cHBvcnQgdGhlIGJpdHNQZXJTZWNvbmQgb3B0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ3ODQKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItYml0cmF0ZS5odHRwcy1leHBlY3Rl
ZC50eHQ6CisKIDIwMjItMDEtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIEZldGNoIHVzaW5nIEZvcm1EYXRhIHdpdGggZmlsZSBkb2Vzbid0IGdvIHRocm91
Z2ggU2VydmljZSBXb3JrZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlci1iaXRyYXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1iaXRyYXRlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iYmQxOTc3MGU1MDkzNmRjOTU1ODViZjY4NDcxNDkxOWVhMjFlMmFmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyLWJpdHJhdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitQQVNTIGF1
ZGlvIGJpdHJhdGUKK1BBU1MgdmlkZW8gYml0cmF0ZQorUEFTUyBhdWRpbyB2aWRlbyBiaXRyYXRl
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFS
ZWNvcmRlci1iaXRyYXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVy
L01lZGlhUmVjb3JkZXItYml0cmF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkMDkyMzU4NzQwOWQwMGMx
MjRmYWU0NTE4NjBiOWY2NDFjYjc1ODMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItYml0cmF0ZS5odG1sCkBAIC0wLDAg
KzEsNTcgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+TWVk
aWFSZWNvcmRlciBiaXRyYXRlPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgor
cHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2
aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyBhdWRpbyA6IHRydWUgfSk7CisKKyAg
ICBsZXQgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0sIHsgYml0c1BlclNlY29u
ZCA6IDEwMDAwMDAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5hdWRpb0JpdHNQZXJT
ZWNvbmQsIDEwMDAwMCwgInRlc3QgMSIpOworCisgICAgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNv
cmRlcihzdHJlYW0sIHsgYml0c1BlclNlY29uZCA6IDEwMDAwIH0pOworICAgIGFzc2VydF9lcXVh
bHMocmVjb3JkZXIuYXVkaW9CaXRzUGVyU2Vjb25kLCA4MDAwLCAidGVzdCAyIik7CisKKyAgICBy
ZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSwgeyBiaXRzUGVyU2Vjb25kIDogMTAw
MCB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLmF1ZGlvQml0c1BlclNlY29uZCwgODAw
MCwgInRlc3QgMyIpOworfSwgImF1ZGlvIGJpdHJhdGUiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5j
ICh0KSA9PiB7CisgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNl
cy5nZXRVc2VyTWVkaWEoeyB2aWRlbyA6IHRydWUgfSk7CisKKyAgICBsZXQgcmVjb3JkZXIgPSBu
ZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0sIHsgYml0c1BlclNlY29uZCA6IDEwMDAwMDAgfSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci52aWRlb0JpdHNQZXJTZWNvbmQsIDkwMDAwMCwgInRl
c3QgMSIpOworCisgICAgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0sIHsgYml0
c1BlclNlY29uZCA6IDEwMDAwMCB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLnZpZGVv
Qml0c1BlclNlY29uZCwgOTAwMDAsICJ0ZXN0IDIiKTsKKworICAgIHJlY29yZGVyID0gbmV3IE1l
ZGlhUmVjb3JkZXIoc3RyZWFtLCB7IGJpdHNQZXJTZWNvbmQgOiAxMDAwMCB9KTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJlY29yZGVyLnZpZGVvQml0c1BlclNlY29uZCwgODAwMDAsICJ0ZXN0IDMiKTsK
K30sICJ2aWRlbyBiaXRyYXRlIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAg
IGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlh
KHsgYXVkaW8gOiB0cnVlLCB2aWRlbyA6IHRydWUgfSk7CisKKyAgICBsZXQgcmVjb3JkZXIgPSBu
ZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0sIHsgYml0c1BlclNlY29uZCA6IDEwMDAwMDAgfSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5hdWRpb0JpdHNQZXJTZWNvbmQsIDEwMDAwMCwgInRl
c3QgMSIpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIudmlkZW9CaXRzUGVyU2Vjb25kLCA5
MDAwMDAsICJ0ZXN0IDIiKTsKKworICAgIHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoc3Ry
ZWFtLCB7IGJpdHNQZXJTZWNvbmQgOiAyMDAwMDAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNv
cmRlci5hdWRpb0JpdHNQZXJTZWNvbmQsIDIwMDAwLCAidGVzdCAzIik7CisgICAgYXNzZXJ0X2Vx
dWFscyhyZWNvcmRlci52aWRlb0JpdHNQZXJTZWNvbmQsIDE4MDAwMCwgInRlc3QgNCIpOworCisg
ICAgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0sIHsgYml0c1BlclNlY29uZCA6
IDg4MDAwIH0pOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIuYXVkaW9CaXRzUGVyU2Vjb25k
LCA4ODAwLCAidGVzdCA1Iik7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci52aWRlb0JpdHNQ
ZXJTZWNvbmQsIDgwMDAwLCAidGVzdCA2Iik7CisKKyAgICByZWNvcmRlciA9IG5ldyBNZWRpYVJl
Y29yZGVyKHN0cmVhbSwgeyBiaXRzUGVyU2Vjb25kIDogNTAwMDAgfSk7CisgICAgYXNzZXJ0X2Vx
dWFscyhyZWNvcmRlci5hdWRpb0JpdHNQZXJTZWNvbmQsIDgwMDAsICJ0ZXN0IDciKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJlY29yZGVyLnZpZGVvQml0c1BlclNlY29uZCwgODAwMDAsICJ0ZXN0IDgi
KTsKK30sICJhdWRpbyB2aWRlbyBiaXRyYXRlIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWJpdHJhdGUuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItYml0cmF0ZS5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggOTc1ZjI1OWMwZTE5YjdiZjc0NDI5Nzk5ZDA1MWQ2MmMyZDIyMWNiYS4uY2E4ODBiNzBj
YmUwZDljMzI4NmI0MjJkOGNhYTJlZWZmYzgyZjY2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlh
UmVjb3JkZXItYml0cmF0ZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVj
b3JkZXItYml0cmF0ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMTEgQEAKIAogUEFT
UyBQYXNzaW5nIG5vIGJpdHJhdGUgY29uZmlnIHJlc3VsdHMgaW4gZGVmYXVsdHMKLUZBSUwgUGFz
c2luZyBiaXRzUGVyU2Vjb25kOjAgcmVzdWx0cyBpbiB0YXJnZXRzIGNsb3NlIHRvIDAgYXNzZXJ0
X2FwcHJveF9lcXVhbHM6IGV4cGVjdGVkIDAgKy8tIDEwMDAwMCBidXQgZ290IDEwMTkyMDAwCitQ
QVNTIFBhc3NpbmcgYml0c1BlclNlY29uZDowIHJlc3VsdHMgaW4gdGFyZ2V0cyBjbG9zZSB0byAw
CiBQQVNTIFBhc3Npbmcgb25seSBhdWRpb0JpdHNQZXJTZWNvbmQ6MCByZXN1bHRzIGluIDAgZm9y
IGF1ZGlvLCBkZWZhdWx0IGZvciB2aWRlbwogUEFTUyBQYXNzaW5nIG9ubHkgdmlkZW9CaXRzUGVy
U2Vjb25kOjAgcmVzdWx0cyBpbiAwIGZvciB2aWRlbywgZGVmYXVsdCBmb3IgYXVkaW8KLUZBSUwg
UGFzc2luZyBiaXRzUGVyU2Vjb25kOjAgb3ZlcnJpZGVzIGF1ZGlvL3ZpZGVvLXNwZWNpZmljIHZh
bHVlcyBhc3NlcnRfYXBwcm94X2VxdWFsczogZXhwZWN0ZWQgMCArLy0gMTAwMDAwIGJ1dCBnb3Qg
MTEwMDAwMAotRkFJTCBQYXNzaW5nIGJpdHNQZXJTZWNvbmQgb3ZlcnJpZGVzIGF1ZGlvL3ZpZGVv
IHplcm8gdmFsdWVzIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAwCi1G
QUlMIFBhc3NpbmcgYml0c1BlclNlY29uZCBzZXRzIGF1ZGlvL3ZpZGVvIGJpdHJhdGUgdmFsdWVz
IGFzc2VydF9hcHByb3hfZXF1YWxzOiBleHBlY3RlZCAyMDAwMDAwICsvLSAxMDAwMDAgYnV0IGdv
dCAxMDE5MjAwMAorUEFTUyBQYXNzaW5nIGJpdHNQZXJTZWNvbmQ6MCBvdmVycmlkZXMgYXVkaW8v
dmlkZW8tc3BlY2lmaWMgdmFsdWVzCitQQVNTIFBhc3NpbmcgYml0c1BlclNlY29uZCBvdmVycmlk
ZXMgYXVkaW8vdmlkZW8gemVybyB2YWx1ZXMKK1BBU1MgUGFzc2luZyBiaXRzUGVyU2Vjb25kIHNl
dHMgYXVkaW8vdmlkZW8gYml0cmF0ZSB2YWx1ZXMKIFBBU1MgUGFzc2luZyBvbmx5IGF1ZGlvQml0
c1BlclNlY29uZCByZXN1bHRzIGluIGRlZmF1bHQgZm9yIHZpZGVvCiBQQVNTIFBhc3Npbmcgb25s
eSB2aWRlb0JpdHNQZXJTZWNvbmQgcmVzdWx0cyBpbiBkZWZhdWx0IGZvciBhdWRpbwogUEFTUyBQ
YXNzaW5nIHZpZGVvQml0c1BlclNlY29uZCBmb3IgYXVkaW8tb25seSBzdHJlYW0gc3RpbGwgcmVz
dWx0cyBpbiBzb21ldGhpbmcgZm9yIHZpZGVvCkBAIC0xNSw2ICsxNSw2IEBAIFBBU1MgUGFzc2lu
ZyBiaXRzUGVyU2Vjb25kIGZvciB2aWRlby1vbmx5IHN0cmVhbSBzdGlsbCByZXN1bHRzIGluIHNv
bWV0aGluZyBmb3IKIFBBU1MgU2VsZWN0ZWQgZGVmYXVsdCB0cmFjayBiaXRyYXRlcyBhcmUgbm90
IGNoYW5nZWQgYnkgc3RhcnQoKQogUEFTUyBQYXNzZWQtaW4gdHJhY2sgYml0cmF0ZXMgYXJlIG5v
dCBjaGFuZ2VkIGJ5IHN0YXJ0KCkKIFBBU1MgUGFzc2luZyBiaXRzUGVyU2Vjb25kIGZvciBhdWRp
by92aWRlbyBzdHJlYW0gZG9lcyBub3QgY2hhbmdlIHRyYWNrIGJpdHJhdGVzIGluIHN0YXJ0KCkK
LUZBSUwgUGFzc2luZyBiaXRzUGVyU2Vjb25kIGZvciBhdWRpbyBzdHJlYW0gc2V0cyB2aWRlbyB0
cmFjayBiaXRyYXRlIHRvIDAgaW4gc3RhcnQoKSBhc3NlcnRfYXBwcm94X2VxdWFsczogZXhwZWN0
ZWQgNTAwMDAwICsvLSAxMDAwMDAgYnV0IGdvdCAxOTIwMDAKLUZBSUwgUGFzc2luZyBiaXRzUGVy
U2Vjb25kIGZvciB2aWRlbyBzdHJlYW0gc2V0cyBhdWRpbyB0cmFjayBiaXRyYXRlIHRvIDAgaW4g
c3RhcnQoKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMTkyMDAwCitQQVNTIFBh
c3NpbmcgYml0c1BlclNlY29uZCBmb3IgYXVkaW8gc3RyZWFtIHNldHMgdmlkZW8gdHJhY2sgYml0
cmF0ZSB0byAwIGluIHN0YXJ0KCkKK1BBU1MgUGFzc2luZyBiaXRzUGVyU2Vjb25kIGZvciB2aWRl
byBzdHJlYW0gc2V0cyBhdWRpbyB0cmFjayBiaXRyYXRlIHRvIDAgaW4gc3RhcnQoKQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>