<?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>237966</bug_id>
          
          <creation_ts>2022-03-16 09:22:41 -0700</creation_ts>
          <short_desc>[iOS] WebAVMediaSelectionOption should implement -mediaType</short_desc>
          <delta_ts>2022-04-22 21:41:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>239686</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1851852</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-03-16 09:22:41 -0700</bug_when>
    <thetext>WebAVMediaSelectionOption should implement -mediaType</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851853</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-03-16 09:22:49 -0700</bug_when>
    <thetext>rdar://89934589</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851862</commentid>
    <comment_count>2</comment_count>
      <attachid>454849</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-03-16 09:48:27 -0700</bug_when>
    <thetext>Created attachment 454849
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851866</commentid>
    <comment_count>3</comment_count>
      <attachid>454849</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2022-03-16 10:06:00 -0700</bug_when>
    <thetext>Comment on attachment 454849
Patch

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

&gt; Source/WebCore/platform/MediaSelectionOption.h:87
&gt; +template&lt;class Decoder&gt; std::optional&lt;MediaSelectionOption&gt; MediaSelectionOption::decode(Decoder&amp; decoder)
&gt; +{
&gt; +    MediaSelectionOption option;
&gt; +
&gt; +    if (!decoder.decode(option.mediaType))
&gt; +        return { };
&gt; +
&gt; +    if (!decoder.decode(option.displayName))
&gt; +        return { };
&gt; +
&gt; +    if (!decoder.decode(option.legibleType))
&gt; +        return { };
&gt; +
&gt; +    return option;
&gt; +}

Nit: this could be:

template&lt;class Decoder&gt; bool MediaSelectionOption::decode(Decoder&amp; decoder, MediaSelectionOption&amp; option)
{
    return decoder.decode(option.mediaType)
        &amp;&amp; decoder.decode(option.displayName)
        &amp;&amp; decoder.decode(option.legibleType);
}

Slightly more compact. No hard evidence if this is true or not, but my intuition says it&apos;s slightly more efficient as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851870</commentid>
    <comment_count>4</comment_count>
      <attachid>454852</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-03-16 10:16:19 -0700</bug_when>
    <thetext>Created attachment 454852
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851963</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-16 13:30:32 -0700</bug_when>
    <thetext>Committed r291361 (248493@main): &lt;https://commits.webkit.org/248493@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454852.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454849</attachid>
            <date>2022-03-16 09:48:27 -0700</date>
            <delta_ts>2022-03-16 10:16:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237966-20220316094827.patch</filename>
            <type>text/plain</type>
            <size>20899</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMjU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTYxYzkxNGQ3NWIzNDQ1
M2VkMjI3NWQ3MjU2NTY0YTEwYWE0MTEyNS4uMWIyOGRhZmU2NzlkNmU5NzQzNTM1ZTU1ZWMwNmVk
MjQ1ZWRlMzFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIyLTAzLTE2ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFdlYkFW
TWVkaWFTZWxlY3Rpb25PcHRpb24gc2hvdWxkIGltcGxlbWVudCAtbWVkaWFUeXBlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc5NjYKKyAgICAgICAg
cmRhcjovLzg5OTM0NTg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgV2ViS2l0IHVzZXMgQVZLaXQgdG8gaW1wbGVtZW50ICJ2aWRlbyBmdWxsc2NyZWVu
IiBvbiBpT1MuIEFWS2l0IGNhbiBvbmx5IGJlIHVzZWQKKyAgICAgICAgaW4gdGhlIFVJIHByb2Nl
c3MsIGJ1dCBXZWJLaXQncyBBVkZvdW5kYXRpb24gb2JqZWN0cyBhcmUgaW4gdGhlIEdQVSBwcm9j
ZXNzLCBzbyB3ZQorICAgICAgICBjcmVhdGUgInByb3h5IiBvYmplY3RzIGluIHRoZSBVSSBwcm9j
ZXNzIGFuZCBwYXNzIHN0YXRlIGZyb20gdGhlbSBiZXR3ZWVuIHRoZSB0d28KKyAgICAgICAgcHJv
Y2Vzc2VzLiBPbmUgc3VjaCBvYmplY3QgaXMgV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiwgd2hp
Y2ggcHJveGllcyBmb3IgYW4KKyAgICAgICAgQVZNZWRpYVNlbGVjdGlvbk9wdGlvbi4gVGhpcyBw
cm94eSBvcmlnaW5hbGx5IG9ubHkgaW1wbGVtZW50ZWQgLWxvY2FsaXplZERpc3BsYXlOYW1lCisg
ICAgICAgIGJ1dCBBVktpdCBub3cgc29tZXRpbWVzIHVzZXMgLW1lZGlhVHlwZSwgd2hpY2ggY2F1
c2VzIGFuIGFzc2VydCB3aGVuIGl0IG1lc3NhZ2VzIHRoZQorICAgICAgICBub24tZXhpc3RlbnQg
c2VsZWN0b3IuIEFkZCAtbWVkaWFUeXBlIHRvIGZpeCB0aGUgYXNzZXJ0LCBhbmQgYWRkIGxvZy1v
bmx5IHN0dWJzIAorICAgICAgICBmb3IgZXZlcnkgb3RoZXIgQVZNZWRpYVNlbGVjdGlvbk9wdGlv
biBzZWxlY3RvciB0byBjYXRjaCBmdXR1cmUgY2hhbmdlcy4KKworICAgICAgICAqIHBhZ2UvQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNlclBy
ZWZlcmVuY2VzOjptZWRpYVNlbGVjdGlvbk9wdGlvbkZvclRyYWNrIGNvbnN0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9NZWRpYVNlbGVjdGlvbk9wdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTZWxlY3Rpb25PcHRpb246Ok1lZGlhU2VsZWN0aW9uT3B0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uOjppc29sYXRlZENvcHkgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb246Omlzb2xhdGVkQ29weSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2lvcy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKFdlYkNvcmU6
OnRvQVZNZWRpYVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6bWVkaWFTZWxlY3Rpb25PcHRpb25z
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLmg6CisgICAg
ICAgICogcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5tbToKKyAgICAgICAgKC1b
V2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBpbml0V2l0aE1lZGlhVHlwZTpkaXNwbGF5TmFtZTpd
KToKKyAgICAgICAgKC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBtZWRpYVN1YlR5cGVzXSk6
CisgICAgICAgICgtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gaGFzTWVkaWFDaGFyYWN0ZXJp
c3RpYzpdKToKKyAgICAgICAgKC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBpc1BsYXlhYmxl
XSk6CisgICAgICAgICgtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gZXh0ZW5kZWRMYW5ndWFn
ZVRhZ10pOgorICAgICAgICAoLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIGxvY2FsZV0pOgor
ICAgICAgICAoLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIGNvbW1vbk1ldGFkYXRhXSk6Cisg
ICAgICAgICgtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gYXZhaWxhYmxlTWV0YWRhdGFGb3Jt
YXRzXSk6CisgICAgICAgICgtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gbWV0YWRhdGFGb3JG
b3JtYXQ6XSk6CisgICAgICAgICgtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gYXNzb2NpYXRl
ZE1lZGlhU2VsZWN0aW9uT3B0aW9uSW5NZWRpYVNlbGVjdGlvbkdyb3VwOl0pOgorICAgICAgICAo
LVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIHByb3BlcnR5TGlzdF0pOgorICAgICAgICAoLVtX
ZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIGRpc3BsYXlOYW1lV2l0aExvY2FsZTpdKToKKyAgICAg
ICAgKC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBtZWRpYUNoYXJhY3RlcmlzdGljc10pOgor
ICAgICAgICAoLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIG91dE9mQmFuZFNvdXJjZV0pOgor
ICAgICAgICAoLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIG91dE9mQmFuZElkZW50aWZpZXJd
KToKKyAgICAgICAgKC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBfaXNEZXNpZ25hdGVkRGVm
YXVsdF0pOgorICAgICAgICAoLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIGxhbmd1YWdlQ29k
ZV0pOgorICAgICAgICAoLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIHRyYWNrXSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLm1tOgorICAgICAg
ICAodG9BVlRvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb25UeXBlKToKKyAgICAgICAgKG1lZGlh
U2VsZWN0aW9uT3B0aW9ucyk6CisKIDIwMjItMDMtMTQgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRz
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW21vZGVsXSA8bW9kZWwgaW50ZXJhY3RpdmU+IGRvZXNu
J3QgYWxsb3cgbW9kZWwgdG8gYmUgcm90YXRlZCBvbiBpT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjBhMmNiMGM3
YzE2YTQ1MDk2ZWQzMjNjMTJlNDQ4YmE3ZWVmMmQ1Ny4uZjYyMWI5NTY4MWQxZTk1MTIyOTQzNjg1
NGYwMjRhYTNiMjJiMWQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMi0wMy0xNiAg
RXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBX
ZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIHNob3VsZCBpbXBsZW1lbnQgLW1lZGlhVHlwZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3OTY2CisgICAg
ICAgIHJkYXI6Ly84OTkzNDU4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8TWVkaWFTZWxlY3Rpb25PcHRpb24+OjplbmNvZGUpOiBEZWxl
dGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1lZGlhU2VsZWN0aW9uT3B0aW9uPjo6
ZGVjb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
Lmg6CisKIDIwMjItMDMtMTQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CiAKICAgICAgICAgW01haWwgQ29tcG9zZV0gU3BlbGxpbmcgYW5kIGdyYW1tYXIgY29udGV4dCBt
ZW51IGl0ZW1zIG5lZWQgY3VzdG9tIGlkZW50aWZpZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAppbmRleCAzMzRlNjQyNTYyMzUzMzU0NjVkNWU5
MWJmYzhhMTYxY2FjMjE2ODNkLi44MGNkNjgwODQwOGEwYjM1OTEzYzIzYmM4ZWE4MGE3ZGU5NDUw
NzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5j
cHAKQEAgLTIyMywxMiArMjIzLDMxIEBAIFN0cmluZyBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpk
aXNwbGF5TmFtZUZvclRyYWNrKFRleHRUcmFjayogdHJhY2spIGNvbnN0CiAKIE1lZGlhU2VsZWN0
aW9uT3B0aW9uIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om1lZGlhU2VsZWN0aW9uT3B0aW9uRm9y
VHJhY2soVGV4dFRyYWNrKiB0cmFjaykgY29uc3QKIHsKLSAgICBhdXRvIHR5cGUgPSBNZWRpYVNl
bGVjdGlvbk9wdGlvbjo6VHlwZTo6UmVndWxhcjsKKyAgICBhdXRvIGxlZ2libGVUeXBlID0gTWVk
aWFTZWxlY3Rpb25PcHRpb246OkxlZ2libGVUeXBlOjpSZWd1bGFyOwogICAgIGlmICh0cmFjayA9
PSAmVGV4dFRyYWNrOjpjYXB0aW9uTWVudU9mZkl0ZW0oKSkKLSAgICAgICAgdHlwZSA9IE1lZGlh
U2VsZWN0aW9uT3B0aW9uOjpUeXBlOjpMZWdpYmxlT2ZmOworICAgICAgICBsZWdpYmxlVHlwZSA9
IE1lZGlhU2VsZWN0aW9uT3B0aW9uOjpMZWdpYmxlVHlwZTo6TGVnaWJsZU9mZjsKICAgICBlbHNl
IGlmICh0cmFjayA9PSAmVGV4dFRyYWNrOjpjYXB0aW9uTWVudUF1dG9tYXRpY0l0ZW0oKSkKLSAg
ICAgICAgdHlwZSA9IE1lZGlhU2VsZWN0aW9uT3B0aW9uOjpUeXBlOjpMZWdpYmxlQXV0bzsKLSAg
ICByZXR1cm4geyBkaXNwbGF5TmFtZUZvclRyYWNrKHRyYWNrKSwgdHlwZSB9OworICAgICAgICBs
ZWdpYmxlVHlwZSA9IE1lZGlhU2VsZWN0aW9uT3B0aW9uOjpMZWdpYmxlVHlwZTo6TGVnaWJsZUF1
dG87CisKKyAgICBhdXRvIG1lZGlhVHlwZSA9IE1lZGlhU2VsZWN0aW9uT3B0aW9uOjpNZWRpYVR5
cGU6OlVua25vd247CisgICAgc3dpdGNoICh0cmFjay0+a2luZCgpKSB7CisgICAgY2FzZSBUZXh0
VHJhY2s6OktpbmQ6OkZvcmNlZDoKKyAgICBjYXNlIFRleHRUcmFjazo6S2luZDo6RGVzY3JpcHRp
b25zOgorICAgIGNhc2UgVGV4dFRyYWNrOjpLaW5kOjpTdWJ0aXRsZXM6CisgICAgICAgIG1lZGlh
VHlwZSA9IE1lZGlhU2VsZWN0aW9uT3B0aW9uOjpNZWRpYVR5cGU6OlN1YnRpdGxlczsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBUZXh0VHJhY2s6OktpbmQ6OkNhcHRpb25zOgorICAgICAgICBt
ZWRpYVR5cGUgPSBNZWRpYVNlbGVjdGlvbk9wdGlvbjo6TWVkaWFUeXBlOjpDYXB0aW9uczsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBUZXh0VHJhY2s6OktpbmQ6Ok1ldGFkYXRhOgorICAgICAg
ICBtZWRpYVR5cGUgPSBNZWRpYVNlbGVjdGlvbk9wdGlvbjo6TWVkaWFUeXBlOjpNZXRhZGF0YTsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBUZXh0VHJhY2s6OktpbmQ6OkNoYXB0ZXJzOgorICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAg
cmV0dXJuIHsgbWVkaWFUeXBlLCBkaXNwbGF5TmFtZUZvclRyYWNrKHRyYWNrKSwgbGVnaWJsZVR5
cGUgfTsKIH0KICAgICAKIFZlY3RvcjxSZWZQdHI8VGV4dFRyYWNrPj4gQ2FwdGlvblVzZXJQcmVm
ZXJlbmNlczo6c29ydGVkVHJhY2tMaXN0Rm9yTWVudShUZXh0VHJhY2tMaXN0KiB0cmFja0xpc3Qs
IEhhc2hTZXQ8VGV4dFRyYWNrOjpLaW5kPiBraW5kcykKQEAgLTI3Myw3ICsyOTIsNyBAQCBTdHJp
bmcgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6ZGlzcGxheU5hbWVGb3JUcmFjayhBdWRpb1RyYWNr
KiB0cmFjaykgY29uc3QKIAogTWVkaWFTZWxlY3Rpb25PcHRpb24gQ2FwdGlvblVzZXJQcmVmZXJl
bmNlczo6bWVkaWFTZWxlY3Rpb25PcHRpb25Gb3JUcmFjayhBdWRpb1RyYWNrKiB0cmFjaykgY29u
c3QKIHsKLSAgICByZXR1cm4geyBkaXNwbGF5TmFtZUZvclRyYWNrKHRyYWNrKSwgTWVkaWFTZWxl
Y3Rpb25PcHRpb246OlR5cGU6OlJlZ3VsYXIgfTsKKyAgICByZXR1cm4geyBNZWRpYVNlbGVjdGlv
bk9wdGlvbjo6TWVkaWFUeXBlOjpBdWRpbywgZGlzcGxheU5hbWVGb3JUcmFjayh0cmFjayksIE1l
ZGlhU2VsZWN0aW9uT3B0aW9uOjpMZWdpYmxlVHlwZTo6UmVndWxhciB9OwogfQogCiBWZWN0b3I8
UmVmUHRyPEF1ZGlvVHJhY2s+PiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpzb3J0ZWRUcmFja0xp
c3RGb3JNZW51KEF1ZGlvVHJhY2tMaXN0KiB0cmFja0xpc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNlbGVjdGlvbk9wdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTWVkaWFTZWxlY3Rpb25PcHRpb24uaAppbmRleCA4NWMwMDg1MGNlY2M0YzAxNjc2
NjA3NzFjOWVhZDJkZDY5NzU1ZDgzLi5jMjlkZTZiNTI1ZDQ5NGNhZjJhYmVmYjI5MzE4NDQ3NGM5
ZjFiNWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNlbGVjdGlv
bk9wdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2VsZWN0aW9uT3B0
aW9uLmgKQEAgLTMwLDI0ICszMCw4NCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3Qg
TWVkaWFTZWxlY3Rpb25PcHRpb24gewotICAgIGVudW0gY2xhc3MgVHlwZSB7CisgICAgZW51bSBj
bGFzcyBNZWRpYVR5cGUgeworICAgICAgICBVbmtub3duLAorICAgICAgICBBdWRpbywKKyAgICAg
ICAgU3VidGl0bGVzLAorICAgICAgICBDYXB0aW9ucywKKyAgICAgICAgTWV0YWRhdGEsCisgICAg
fTsKKworICAgIGVudW0gY2xhc3MgTGVnaWJsZVR5cGUgewogICAgICAgICBSZWd1bGFyLAogICAg
ICAgICBMZWdpYmxlT2ZmLAogICAgICAgICBMZWdpYmxlQXV0bywKICAgICB9OwogCiAgICAgTWVk
aWFTZWxlY3Rpb25PcHRpb24oKSA9IGRlZmF1bHQ7Ci0gICAgTWVkaWFTZWxlY3Rpb25PcHRpb24o
Y29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgVHlwZSB0eXBlKQotICAgICAgICA6IGRpc3BsYXlO
YW1lIHsgZGlzcGxheU5hbWUgfQotICAgICAgICAsIHR5cGUgeyB0eXBlIH0KKyAgICBNZWRpYVNl
bGVjdGlvbk9wdGlvbihNZWRpYVR5cGUgbWVkaWFUeXBlLCBjb25zdCBTdHJpbmcmIGRpc3BsYXlO
YW1lLCBMZWdpYmxlVHlwZSBsZWdpYmxlVHlwZSkKKyAgICAgICAgOiBtZWRpYVR5cGUgeyBtZWRp
YVR5cGUgfQorICAgICAgICAsIGRpc3BsYXlOYW1lIHsgZGlzcGxheU5hbWUgfQorICAgICAgICAs
IGxlZ2libGVUeXBlIHsgbGVnaWJsZVR5cGUgfQogICAgIHsKICAgICB9CiAKLSAgICBNZWRpYVNl
bGVjdGlvbk9wdGlvbiBpc29sYXRlZENvcHkoKSBjb25zdCAmIHsgcmV0dXJuIHsgZGlzcGxheU5h
bWUuaXNvbGF0ZWRDb3B5KCksIHR5cGUgfTsgfQotICAgIE1lZGlhU2VsZWN0aW9uT3B0aW9uIGlz
b2xhdGVkQ29weSgpICYmIHsgcmV0dXJuIHsgV1RGTW92ZShkaXNwbGF5TmFtZSkuaXNvbGF0ZWRD
b3B5KCksIHR5cGUgfTsgfQorICAgIE1lZGlhU2VsZWN0aW9uT3B0aW9uIGlzb2xhdGVkQ29weSgp
IGNvbnN0ICYgeyByZXR1cm4geyBtZWRpYVR5cGUsIGRpc3BsYXlOYW1lLmlzb2xhdGVkQ29weSgp
LCBsZWdpYmxlVHlwZSB9OyB9CisgICAgTWVkaWFTZWxlY3Rpb25PcHRpb24gaXNvbGF0ZWRDb3B5
KCkgJiYgeyByZXR1cm4geyBtZWRpYVR5cGUsIFdURk1vdmUoZGlzcGxheU5hbWUpLmlzb2xhdGVk
Q29weSgpLCBsZWdpYmxlVHlwZSB9OyB9CiAKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2
b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4g
c3RhdGljIHN0ZDo6b3B0aW9uYWw8TWVkaWFTZWxlY3Rpb25PcHRpb24+IGRlY29kZShEZWNvZGVy
Jik7CisKKyAgICBNZWRpYVR5cGUgbWVkaWFUeXBlIHsgTWVkaWFUeXBlOjpVbmtub3duIH07CiAg
ICAgU3RyaW5nIGRpc3BsYXlOYW1lOwotICAgIFR5cGUgdHlwZSB7IFR5cGU6OlJlZ3VsYXIgfTsK
KyAgICBMZWdpYmxlVHlwZSBsZWdpYmxlVHlwZSB7IExlZ2libGVUeXBlOjpSZWd1bGFyIH07CiB9
OwogCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIE1lZGlhU2VsZWN0aW9uT3B0aW9uOjpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IG1lZGlhVHlw
ZTsKKyAgICBlbmNvZGVyIDw8IGRpc3BsYXlOYW1lOworICAgIGVuY29kZXIgPDwgbGVnaWJsZVR5
cGU7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0ZDo6b3B0aW9uYWw8TWVkaWFTZWxl
Y3Rpb25PcHRpb24+IE1lZGlhU2VsZWN0aW9uT3B0aW9uOjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
cikKK3sKKyAgICBNZWRpYVNlbGVjdGlvbk9wdGlvbiBvcHRpb247CisKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKG9wdGlvbi5tZWRpYVR5cGUpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShvcHRpb24uZGlzcGxheU5hbWUpKQorICAgICAgICByZXR1cm4g
eyB9OworCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShvcHRpb24ubGVnaWJsZVR5cGUpKQorICAg
ICAgICByZXR1cm4geyB9OworCisgICAgcmV0dXJuIG9wdGlvbjsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRy
YWl0czxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbjo6TWVkaWFUeXBlPiB7CisgICAgdXNp
bmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25P
cHRpb246Ok1lZGlhVHlwZSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb246
Ok1lZGlhVHlwZTo6VW5rbm93biwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRp
b246Ok1lZGlhVHlwZTo6QXVkaW8sCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0
aW9uOjpNZWRpYVR5cGU6OlN1YnRpdGxlcywKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFTZWxlY3Rp
b25PcHRpb246Ok1lZGlhVHlwZTo6Q2FwdGlvbnMsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU2Vs
ZWN0aW9uT3B0aW9uOjpNZWRpYVR5cGU6Ok1ldGFkYXRhCisgICAgPjsKK307CisKK3RlbXBsYXRl
PD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb246OkxlZ2li
bGVUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29y
ZTo6TWVkaWFTZWxlY3Rpb25PcHRpb246OkxlZ2libGVUeXBlLAorICAgICAgICBXZWJDb3JlOjpN
ZWRpYVNlbGVjdGlvbk9wdGlvbjo6TGVnaWJsZVR5cGU6OlJlZ3VsYXIsCisgICAgICAgIFdlYkNv
cmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uOjpMZWdpYmxlVHlwZTo6TGVnaWJsZU9mZiwKKyAgICAg
ICAgV2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb246OkxlZ2libGVUeXBlOjpMZWdpYmxlQXV0
bworICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5t
bQppbmRleCA1ZTlhZmRlMDU3Y2JiYmVlNzdhNmEwNTIzNzQyMjdmNDg4NTY5NDBkLi4wMzQ5Yjhk
MWRhY2MyMTg3YWVjMzRkYTNmYTUyNzYwMzgxMzY1ODk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0
Lm1tCkBAIC00Miw2ICs0Miw3IEBACiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAog
I2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CisjaW1wb3J0IDxwYWwvY29jb2Ev
QVZGb3VuZGF0aW9uU29mdExpbmsuaD4KIAogU09GVExJTktfQVZLSVRfRlJBTUVXT1JLKCkKIFNP
RlRfTElOS19DTEFTU19PUFRJT05BTChBVktpdCwgQVZWYWx1ZVRpbWluZykKQEAgLTE2MSwxMiAr
MTYyLDMzIEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ6OmNhblBsYXlGYXN0
UmV2ZXJzZUNoYW5nZWQoYm9vbCBjYW5QbGF5RmFzdFJlCiAgICAgW21fcGxheWVyQ29udHJvbGxl
ciBzZXRDYW5TY2FuQmFja3dhcmQ6Y2FuUGxheUZhc3RSZXZlcnNlXTsKIH0KIAorc3RhdGljIEFW
TWVkaWFUeXBlIHRvQVZNZWRpYVR5cGUoTWVkaWFTZWxlY3Rpb25PcHRpb246Ok1lZGlhVHlwZSB0
eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgTWVkaWFTZWxlY3Rpb25PcHRp
b246Ok1lZGlhVHlwZTo6QXVkaW86CisgICAgICAgIHJldHVybiBBVk1lZGlhVHlwZUF1ZGlvOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIE1lZGlhU2VsZWN0aW9uT3B0aW9uOjpNZWRpYVR5cGU6
OlN1YnRpdGxlczoKKyAgICAgICAgcmV0dXJuIEFWTWVkaWFUeXBlU3VidGl0bGU7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgTWVkaWFTZWxlY3Rpb25PcHRpb246Ok1lZGlhVHlwZTo6Q2FwdGlv
bnM6CisgICAgICAgIHJldHVybiBBVk1lZGlhVHlwZUNsb3NlZENhcHRpb247CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgTWVkaWFTZWxlY3Rpb25PcHRpb246Ok1lZGlhVHlwZTo6TWV0YWRhdGE6
CisgICAgICAgIHJldHVybiBBVk1lZGlhVHlwZU1ldGFkYXRhOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIE1lZGlhU2VsZWN0aW9uT3B0aW9uOjpNZWRpYVR5cGU6OlVua25vd246CisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1
cm4gQVZNZWRpYVR5cGVNZXRhZGF0YTsKK30KKwogc3RhdGljIFJldGFpblB0cjxOU0FycmF5PiBt
ZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiYg
b3B0aW9ucykKIHsKICAgICByZXR1cm4gY3JlYXRlTlNBcnJheShvcHRpb25zLCBbXSAoYXV0byYg
b3B0aW9uKSB7Ci0gICAgICAgIGF1dG8gd2ViT3B0aW9uID0gYWRvcHROUyhbW1dlYkFWTWVkaWFT
ZWxlY3Rpb25PcHRpb24gYWxsb2NdIGluaXRdKTsKLSAgICAgICAgW3dlYk9wdGlvbiBzZXRMb2Nh
bGl6ZWREaXNwbGF5TmFtZTpvcHRpb24uZGlzcGxheU5hbWVdOwotICAgICAgICByZXR1cm4gd2Vi
T3B0aW9uOworICAgICAgICByZXR1cm4gW1tXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIGFsbG9j
XSBpbml0V2l0aE1lZGlhVHlwZTp0b0FWTWVkaWFUeXBlKG9wdGlvbi5tZWRpYVR5cGUpIGRpc3Bs
YXlOYW1lOm9wdGlvbi5kaXNwbGF5TmFtZV07CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIuaAppbmRleCA0OWE5
ZmI5YzYyZjRhYjBiZTMyZDBkZDEwMjMxNjU2ZTc2ZWEyODYzLi5mMzBmYjc0M2YyM2Y2OWMxZDY2
Y2VhYzI4OWRhMTY5ZWQ3ODU5MTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5oCkBAIC0zMyw3ICszMywxMSBAQCBjbGFzcyBQ
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdDsKIH0KIAogQGludGVyZmFjZSBXZWJBVk1lZGlh
U2VsZWN0aW9uT3B0aW9uIDogTlNPYmplY3QKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aE1lZGlh
VHlwZTooQVZNZWRpYVR5cGUpdHlwZSBkaXNwbGF5TmFtZTooTlNTdHJpbmcgKilkaXNwbGF5TmFt
ZTsKKwogQHByb3BlcnR5IChyZXRhaW4pIE5TU3RyaW5nICpsb2NhbGl6ZWREaXNwbGF5TmFtZTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQVZNZWRpYVR5cGUgbWVkaWFUeXBlOwor
CiBAZW5kCiAKIFdFQkNPUkVfRVhQT1JUIEBpbnRlcmZhY2UgV2ViQVZQbGF5ZXJDb250cm9sbGVy
IDogTlNPYmplY3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dl
YkFWUGxheWVyQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJB
VlBsYXllckNvbnRyb2xsZXIubW0KaW5kZXggNjllMzkzYzJkNzAxNTVlNzFhMzMwMDU2Zjc0OGQz
OTU4ZDVmN2FjNi4uYzhjNTZkZjYwMzJhMTc2ZjA1ZTE4NTM1ODhjMDE2ODkxMGY1OWNmNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxl
ci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9s
bGVyLm1tCkBAIC03NjIsMTIgKzc2MiwxNDMgQEAgc3RhdGljIGRvdWJsZSBXZWJBVlBsYXllckNv
bnRyb2xsZXJMaXZlU3RyZWFtU2Vla2FibGVUaW1lUmFuZ2VNaW5pbXVtRHVyYXRpb24gPQogCiBA
aW1wbGVtZW50YXRpb24gV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbgogCistIChpbnN0YW5jZXR5
cGUpaW5pdFdpdGhNZWRpYVR5cGU6KEFWTWVkaWFUeXBlKW1lZGlhVHlwZSBkaXNwbGF5TmFtZToo
TlNTdHJpbmcgKilkaXNwbGF5TmFtZQoreworICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CisgICAg
aWYgKCFzZWxmKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgX21lZGlhVHlwZSA9IG1lZGlh
VHlwZTsKKyAgICBfbG9jYWxpemVkRGlzcGxheU5hbWUgPSBkaXNwbGF5TmFtZTsKKworICAgIHJl
dHVybiBzZWxmOworfQorCiAtICh2b2lkKWRlYWxsb2MKIHsKICAgICBbX2xvY2FsaXplZERpc3Bs
YXlOYW1lIHJlbGVhc2VdOwogICAgIFtzdXBlciBkZWFsbG9jXTsKIH0KIAorLSAoTlNBcnJheTxO
U051bWJlciAqPiAqKW1lZGlhU3ViVHlwZXMKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICBXVEZMb2dBbHdheXMoIkVSUk9SOiAtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gbWVk
aWFTdWJUeXBlc10gdW5pbXBsZW1lbnRlZCIpOworICAgIHJldHVybiBAW107Cit9CisKKy0gKEJP
T0wpaGFzTWVkaWFDaGFyYWN0ZXJpc3RpYzooQVZNZWRpYUNoYXJhY3RlcmlzdGljKW1lZGlhQ2hh
cmFjdGVyaXN0aWMKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBXVEZMb2dBbHdh
eXMoIkVSUk9SOiAtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gaGFzTWVkaWFDaGFyYWN0ZXJp
c3RpYzpdIHVuaW1wbGVtZW50ZWQiKTsKKyAgICByZXR1cm4gTk87Cit9CisKKy0gKEJPT0wpIGlz
UGxheWFibGUKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBXVEZMb2dBbHdheXMo
IkVSUk9SOiAtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gaXNQbGF5YWJsZTpdIHVuaW1wbGVt
ZW50ZWQiKTsKKyAgICByZXR1cm4gWUVTOworfQorCistIChOU1N0cmluZyAqKWV4dGVuZGVkTGFu
Z3VhZ2VUYWcKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBXVEZMb2dBbHdheXMo
IkVSUk9SOiAtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gZXh0ZW5kZWRMYW5ndWFnZVRhZ10g
dW5pbXBsZW1lbnRlZCIpOworICAgIHJldHVybiBuaWw7Cit9CisKKy0gKE5TTG9jYWxlICopbG9j
YWxlCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgV1RGTG9nQWx3YXlzKCJFUlJP
UjogLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIGxvY2FsZV0gdW5pbXBsZW1lbnRlZCIpOwor
ICAgIHJldHVybiBuaWw7Cit9CisKKy0gKE5TQXJyYXk8QVZNZXRhZGF0YUl0ZW0gKj4gKiljb21t
b25NZXRhZGF0YQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIFdURkxvZ0Fsd2F5
cygiRVJST1I6IC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBjb21tb25NZXRhZGF0YV0gdW5p
bXBsZW1lbnRlZCIpOworICAgIHJldHVybiBAW107Cit9CisKKy0gKE5TQXJyYXk8TlNTdHJpbmcg
Kj4gKilhdmFpbGFibGVNZXRhZGF0YUZvcm1hdHMKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICBXVEZMb2dBbHdheXMoIkVSUk9SOiAtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24g
YXZhaWxhYmxlTWV0YWRhdGFGb3JtYXRzXSB1bmltcGxlbWVudGVkIik7CisgICAgcmV0dXJuIEBb
XTsKK30KKworLSAoTlNBcnJheTxBVk1ldGFkYXRhSXRlbSAqPiAqKW1ldGFkYXRhRm9yRm9ybWF0
OihOU1N0cmluZyAqKWZvcm1hdAoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIFdU
RkxvZ0Fsd2F5cygiRVJST1I6IC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBtZXRhZGF0YUZv
ckZvcm1hdDpdIHVuaW1wbGVtZW50ZWQiKTsKKyAgICByZXR1cm4gQFtdOworfQorCistIChBVk1l
ZGlhU2VsZWN0aW9uT3B0aW9uICopYXNzb2NpYXRlZE1lZGlhU2VsZWN0aW9uT3B0aW9uSW5NZWRp
YVNlbGVjdGlvbkdyb3VwOihBVk1lZGlhU2VsZWN0aW9uR3JvdXAgKiltZWRpYVNlbGVjdGlvbkdy
b3VwCit7CisgICAgV1RGTG9nQWx3YXlzKCJFUlJPUjogLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0
aW9uIGFzc29jaWF0ZWRNZWRpYVNlbGVjdGlvbk9wdGlvbkluTWVkaWFTZWxlY3Rpb25Hcm91cF0g
dW5pbXBsZW1lbnRlZCIpOworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBu
aWw7Cit9CisKKy0gKGlkKXByb3BlcnR5TGlzdAoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgIFdURkxvZ0Fsd2F5cygiRVJST1I6IC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBw
cm9wZXJ0eUxpc3RdIHVuaW1wbGVtZW50ZWQiKTsKKyAgICByZXR1cm4gQFtdOworfQorCistIChO
U1N0cmluZyAqKWRpc3BsYXlOYW1lV2l0aExvY2FsZTooTlNMb2NhbGUgKilsb2NhbGUKK3sKKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBXVEZMb2dBbHdheXMoIkVSUk9SOiAtW1dlYkFW
TWVkaWFTZWxlY3Rpb25PcHRpb24gZGlzcGxheU5hbWVXaXRoTG9jYWxlOl0gdW5pbXBsZW1lbnRl
ZCIpOworICAgIHJldHVybiBuaWw7Cit9CisKKy0gKE5TQXJyYXk8TlNTdHJpbmcgKj4gKiltZWRp
YUNoYXJhY3RlcmlzdGljcworeworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIFdURkxv
Z0Fsd2F5cygiRVJST1I6IC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBtZWRpYUNoYXJhY3Rl
cmlzdGljc10gdW5pbXBsZW1lbnRlZCIpOworICAgIHJldHVybiBAW107Cit9CisKKy0gKE5TU3Ry
aW5nICopb3V0T2ZCYW5kU291cmNlCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
V1RGTG9nQWx3YXlzKCJFUlJPUjogLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIG91dE9mQmFu
ZFNvdXJjZV0gdW5pbXBsZW1lbnRlZCIpOworICAgIHJldHVybiBuaWw7Cit9CisKKy0gKE5TU3Ry
aW5nICopb3V0T2ZCYW5kSWRlbnRpZmllcgoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIFdURkxvZ0Fsd2F5cygiRVJST1I6IC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBvdXRP
ZkJhbmRJZGVudGlmaWVyXSB1bmltcGxlbWVudGVkIik7CisgICAgcmV0dXJuIG5pbDsKK30KKwor
LSAoQk9PTClfaXNEZXNpZ25hdGVkRGVmYXVsdAoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgIFdURkxvZ0Fsd2F5cygiRVJST1I6IC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBf
aXNEZXNpZ25hdGVkRGVmYXVsdF0gdW5pbXBsZW1lbnRlZCIpOworICAgIHJldHVybiBOTzsKK30K
KworLSAoTlNTdHJpbmcgKilsYW5ndWFnZUNvZGUKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICBXVEZMb2dBbHdheXMoIkVSUk9SOiAtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24g
bGFuZ3VhZ2VDb2RlXSB1bmltcGxlbWVudGVkIik7CisgICAgcmV0dXJuIG5pbDsKK30KKworLSAo
QVZBc3NldFRyYWNrICopdHJhY2sKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBX
VEZMb2dBbHdheXMoIkVSUk9SOiAtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gdHJhY2s6XSB1
bmltcGxlbWVudGVkIik7CisgICAgcmV0dXJuIG5pbDsKK30KKwogQGVuZAogCiAjZW5kaWYgLy8g
UExBVEZPUk0oQ09DT0EpICYmIEhBVkUoQVZLSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIubW0KaW5kZXggNjZi
MmMwZGQ2NDZjYTczNDMyMTZkNmNiZDdlMGMzZWVmMDlhZmI3ZS4uZThiYjY4Yzk5M2NjNmI1NGQy
YmZhM2FlYjQ2MDNhYjMzZGI0NWY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5tbQpAQCAtMjQ0LDE0ICsy
NDQsMTQgQEAgdXNpbmcgV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOwogICAg
ICAgICBtb2RlbC0+c2VsZWN0TGVnaWJsZU1lZGlhT3B0aW9uKGluZGV4ICE9IE5TTm90Rm91bmQg
PyBpbmRleCA6IFVJTlQ2NF9NQVgpOwogfQogCi1zdGF0aWMgQVZUb3VjaEJhck1lZGlhU2VsZWN0
aW9uT3B0aW9uVHlwZSB0b0FWVG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvblR5cGUoTWVkaWFT
ZWxlY3Rpb25PcHRpb246OlR5cGUgdHlwZSkKK3N0YXRpYyBBVlRvdWNoQmFyTWVkaWFTZWxlY3Rp
b25PcHRpb25UeXBlIHRvQVZUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uVHlwZShNZWRpYVNl
bGVjdGlvbk9wdGlvbjo6TGVnaWJsZVR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsK
LSAgICBjYXNlIE1lZGlhU2VsZWN0aW9uT3B0aW9uOjpUeXBlOjpSZWd1bGFyOgorICAgIGNhc2Ug
TWVkaWFTZWxlY3Rpb25PcHRpb246OkxlZ2libGVUeXBlOjpSZWd1bGFyOgogICAgICAgICByZXR1
cm4gQVZUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uVHlwZVJlZ3VsYXI7Ci0gICAgY2FzZSBN
ZWRpYVNlbGVjdGlvbk9wdGlvbjo6VHlwZTo6TGVnaWJsZU9mZjoKKyAgICBjYXNlIE1lZGlhU2Vs
ZWN0aW9uT3B0aW9uOjpMZWdpYmxlVHlwZTo6TGVnaWJsZU9mZjoKICAgICAgICAgcmV0dXJuIEFW
VG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvblR5cGVMZWdpYmxlT2ZmOwotICAgIGNhc2UgTWVk
aWFTZWxlY3Rpb25PcHRpb246OlR5cGU6OkxlZ2libGVBdXRvOgorICAgIGNhc2UgTWVkaWFTZWxl
Y3Rpb25PcHRpb246OkxlZ2libGVUeXBlOjpMZWdpYmxlQXV0bzoKICAgICAgICAgcmV0dXJuIEFW
VG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvblR5cGVMZWdpYmxlQXV0bzsKICAgICB9CiAKQEAg
LTI2Miw3ICsyNjIsNyBAQCBzdGF0aWMgQVZUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uVHlw
ZSB0b0FWVG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvblR5cGUoTQogc3RhdGljIFJldGFpblB0
cjxOU0FycmF5PiBtZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0
aW9uT3B0aW9uPiYgb3B0aW9ucykKIHsKICAgICByZXR1cm4gY3JlYXRlTlNBcnJheShvcHRpb25z
LCBbXSAoYXV0byYgb3B0aW9uKSB7Ci0gICAgICAgIHJldHVybiBhZG9wdE5TKFthbGxvY0FWVG91
Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvbkluc3RhbmNlKCkgaW5pdFdpdGhUaXRsZTpvcHRpb24u
ZGlzcGxheU5hbWUgdHlwZTp0b0FWVG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvblR5cGUob3B0
aW9uLnR5cGUpXSk7CisgICAgICAgIHJldHVybiBhZG9wdE5TKFthbGxvY0FWVG91Y2hCYXJNZWRp
YVNlbGVjdGlvbk9wdGlvbkluc3RhbmNlKCkgaW5pdFdpdGhUaXRsZTpvcHRpb24uZGlzcGxheU5h
bWUgdHlwZTp0b0FWVG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvblR5cGUob3B0aW9uLmxlZ2li
bGVUeXBlKV0pOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBlNjBlYmUyYWZmYTJmY2UxYTFjY2UzNzRmN2JmODg4
ZjQwZWJkYjc4Li5kZWIwOGU0MzEyMmNjNmY3NmRhYzBmNDQxZTU2OGM0NjY1NWQyZDQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTI4
ODAsMjcgKzI4ODAsNiBAQCBib29sIEFyZ3VtZW50Q29kZXI8U2VydmljZVdvcmtlck9yQ2xpZW50
SWRlbnRpZmllcj46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBTZQogCiAjZW5kaWYKIAotdm9p
ZCBBcmd1bWVudENvZGVyPE1lZGlhU2VsZWN0aW9uT3B0aW9uPjo6ZW5jb2RlKEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IE1lZGlhU2VsZWN0aW9uT3B0aW9uJiBvcHRpb24pCi17Ci0gICAgZW5jb2Rl
ciA8PCBvcHRpb24uZGlzcGxheU5hbWU7Ci0gICAgZW5jb2RlciA8PCBvcHRpb24udHlwZTsKLX0K
LQotc3RkOjpvcHRpb25hbDxNZWRpYVNlbGVjdGlvbk9wdGlvbj4gQXJndW1lbnRDb2RlcjxNZWRp
YVNlbGVjdGlvbk9wdGlvbj46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQotewotICAgIHN0ZDo6
b3B0aW9uYWw8U3RyaW5nPiBkaXNwbGF5TmFtZTsKLSAgICBkZWNvZGVyID4+IGRpc3BsYXlOYW1l
OwotICAgIGlmICghZGlzcGxheU5hbWUpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0g
ICAgCi0gICAgc3RkOjpvcHRpb25hbDxNZWRpYVNlbGVjdGlvbk9wdGlvbjo6VHlwZT4gdHlwZTsK
LSAgICBkZWNvZGVyID4+IHR5cGU7Ci0gICAgaWYgKCF0eXBlKQotICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwotICAgIAotICAgIHJldHVybiB7eyBXVEZNb3ZlKCpkaXNwbGF5TmFtZSksIFdU
Rk1vdmUoKnR5cGUpIH19OwotfQotCiB2b2lkIEFyZ3VtZW50Q29kZXI8UHJvbWlzZWRBdHRhY2ht
ZW50SW5mbz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQcm9taXNlZEF0dGFjaG1l
bnRJbmZvJiBpbmZvKQogewogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDEwZjQ4MTRiYTdh
ODk5NDJiZDU2MTgwN2M2ZTQ0ODhjZjVjNjYxZTQuLmQzMDU5ZjY1YTc2MmFjYjAwOTg4NzllZDI4
Nzc3NDZmNTM3NjkzMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVu
dENvZGVycy5oCkBAIC03MTAsMTEgKzcxMCw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6U2VydmljZVdvcmtlck9yQ2xpZW50SWRlbnRpZmllcj4gewogCiAjZW5k
aWYKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpNZWRpYVNlbGVj
dGlvbk9wdGlvbj4gewotICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2Vi
Q29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb24mKTsKLSAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4gZGVjb2RlKERlY29kZXImKTsKLX07Ci0KIHRl
bXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UHJvbWlzZWRBdHRhY2htZW50
SW5mbz4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6
UHJvbWlzZWRBdHRhY2htZW50SW5mbyYpOwogICAgIHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4g
Ym9vbCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6OlByb21pc2VkQXR0YWNobWVudEluZm8mKTsK
QEAgLTkwNSwxNSArOTAwLDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3Jl
OjpSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlPiB7CiB9OwogI2VuZGlmCiAKLXRlbXBsYXRlPD4g
c3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb246OlR5cGU+IHsK
LSAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAotICAgICAgICBXZWJDb3JlOjpNZWRpYVNl
bGVjdGlvbk9wdGlvbjo6VHlwZSwKLSAgICAgICAgV2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRp
b246OlR5cGU6OlJlZ3VsYXIsCi0gICAgICAgIFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9u
OjpUeXBlOjpMZWdpYmxlT2ZmLAotICAgICAgICBXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlv
bjo6VHlwZTo6TGVnaWJsZUF1dG8KLSAgICA+OwotfTsKLQogdGVtcGxhdGUgPD4gc3RydWN0IEVu
dW1UcmFpdHM8V2ViQ29yZTo6V29ya2VyVHlwZT4gewogICAgIHVzaW5nIHZhbHVlcyA9IEVudW1W
YWx1ZXM8CiAgICAgICAgIFdlYkNvcmU6OldvcmtlclR5cGUsCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454852</attachid>
            <date>2022-03-16 10:16:19 -0700</date>
            <delta_ts>2022-03-16 13:30:34 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-237966-20220316101619.patch</filename>
            <type>text/plain</type>
            <size>20778</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMjU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTYxYzkxNGQ3NWIzNDQ1
M2VkMjI3NWQ3MjU2NTY0YTEwYWE0MTEyNS4uMmZlMzg1NjY5MjQ2OWMwODFlYjc3NmY5YjQ1ZmMw
ODc3NWY5MDUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIyLTAzLTE2ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFdlYkFW
TWVkaWFTZWxlY3Rpb25PcHRpb24gc2hvdWxkIGltcGxlbWVudCAtbWVkaWFUeXBlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc5NjYKKyAgICAgICAg
cmRhcjovLzg5OTM0NTg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmVyIE5vYmxlLgorCisgICAg
ICAgIFdlYktpdCB1c2VzIEFWS2l0IHRvIGltcGxlbWVudCAidmlkZW8gZnVsbHNjcmVlbiIgb24g
aU9TLiBBVktpdCBjYW4gb25seSBiZSB1c2VkCisgICAgICAgIGluIHRoZSBVSSBwcm9jZXNzLCBi
dXQgV2ViS2l0J3MgQVZGb3VuZGF0aW9uIG9iamVjdHMgYXJlIGluIHRoZSBHUFUgcHJvY2Vzcywg
c28gd2UKKyAgICAgICAgY3JlYXRlICJwcm94eSIgb2JqZWN0cyBpbiB0aGUgVUkgcHJvY2VzcyBh
bmQgcGFzcyBzdGF0ZSBmcm9tIHRoZW0gYmV0d2VlbiB0aGUgdHdvCisgICAgICAgIHByb2Nlc3Nl
cy4gT25lIHN1Y2ggb2JqZWN0IGlzIFdlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24sIHdoaWNoIHBy
b3hpZXMgZm9yIGFuCisgICAgICAgIEFWTWVkaWFTZWxlY3Rpb25PcHRpb24uIFRoaXMgcHJveHkg
b3JpZ2luYWxseSBvbmx5IGltcGxlbWVudGVkIC1sb2NhbGl6ZWREaXNwbGF5TmFtZQorICAgICAg
ICBidXQgQVZLaXQgbm93IHNvbWV0aW1lcyB1c2VzIC1tZWRpYVR5cGUsIHdoaWNoIGNhdXNlcyBh
biBhc3NlcnQgd2hlbiBpdCBtZXNzYWdlcyB0aGUKKyAgICAgICAgbm9uLWV4aXN0ZW50IHNlbGVj
dG9yLiBBZGQgLW1lZGlhVHlwZSB0byBmaXggdGhlIGFzc2VydCwgYW5kIGFkZCBsb2ctb25seSBz
dHVicyAKKyAgICAgICAgZm9yIGV2ZXJ5IG90aGVyIEFWTWVkaWFTZWxlY3Rpb25PcHRpb24gc2Vs
ZWN0b3IgdG8gY2F0Y2ggZnV0dXJlIGNoYW5nZXMuCisKKyAgICAgICAgKiBwYWdlL0NhcHRpb25V
c2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJl
bmNlczo6bWVkaWFTZWxlY3Rpb25PcHRpb25Gb3JUcmFjayBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vTWVkaWFTZWxlY3Rpb25PcHRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vs
ZWN0aW9uT3B0aW9uOjpNZWRpYVNlbGVjdGlvbk9wdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNlbGVjdGlvbk9wdGlvbjo6aXNvbGF0ZWRDb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uOjppc29sYXRlZENvcHkpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTZWxlY3Rpb25PcHRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVNlbGVjdGlvbk9wdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mv
UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW06CisgICAgICAgIChXZWJDb3JlOjp0b0FW
TWVkaWFUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Om1lZGlhU2VsZWN0aW9uT3B0aW9ucyk6Cisg
ICAgICAgICogcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dlYkFW
TWVkaWFTZWxlY3Rpb25PcHRpb24gaW5pdFdpdGhNZWRpYVR5cGU6ZGlzcGxheU5hbWU6XSk6Cisg
ICAgICAgICgtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gbWVkaWFTdWJUeXBlc10pOgorICAg
ICAgICAoLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIGhhc01lZGlhQ2hhcmFjdGVyaXN0aWM6
XSk6CisgICAgICAgICgtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gaXNQbGF5YWJsZV0pOgor
ICAgICAgICAoLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIGV4dGVuZGVkTGFuZ3VhZ2VUYWdd
KToKKyAgICAgICAgKC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBsb2NhbGVdKToKKyAgICAg
ICAgKC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBjb21tb25NZXRhZGF0YV0pOgorICAgICAg
ICAoLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIGF2YWlsYWJsZU1ldGFkYXRhRm9ybWF0c10p
OgorICAgICAgICAoLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIG1ldGFkYXRhRm9yRm9ybWF0
Ol0pOgorICAgICAgICAoLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIGFzc29jaWF0ZWRNZWRp
YVNlbGVjdGlvbk9wdGlvbkluTWVkaWFTZWxlY3Rpb25Hcm91cDpdKToKKyAgICAgICAgKC1bV2Vi
QVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBwcm9wZXJ0eUxpc3RdKToKKyAgICAgICAgKC1bV2ViQVZN
ZWRpYVNlbGVjdGlvbk9wdGlvbiBkaXNwbGF5TmFtZVdpdGhMb2NhbGU6XSk6CisgICAgICAgICgt
W1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gbWVkaWFDaGFyYWN0ZXJpc3RpY3NdKToKKyAgICAg
ICAgKC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBvdXRPZkJhbmRTb3VyY2VdKToKKyAgICAg
ICAgKC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBvdXRPZkJhbmRJZGVudGlmaWVyXSk6Cisg
ICAgICAgICgtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gX2lzRGVzaWduYXRlZERlZmF1bHRd
KToKKyAgICAgICAgKC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBsYW5ndWFnZUNvZGVdKToK
KyAgICAgICAgKC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiB0cmFja10pOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5tbToKKyAgICAgICAgKHRv
QVZUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uVHlwZSk6CisgICAgICAgIChtZWRpYVNlbGVj
dGlvbk9wdGlvbnMpOgorCiAyMDIyLTAzLTE0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJr
aXQub3JnPgogCiAgICAgICAgIFttb2RlbF0gPG1vZGVsIGludGVyYWN0aXZlPiBkb2Vzbid0IGFs
bG93IG1vZGVsIHRvIGJlIHJvdGF0ZWQgb24gaU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYwYTJjYjBjN2MxNmE0
NTA5NmVkMzIzYzEyZTQ0OGJhN2VlZjJkNTcuLmMwYjU2NjhmYzEyMWEyYzlmNDkzYWJhMDY4ZGNj
NTRhYzEwNDBkYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjItMDMtMTYgIEVyaWMg
Q2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gV2ViQVZN
ZWRpYVNlbGVjdGlvbk9wdGlvbiBzaG91bGQgaW1wbGVtZW50IC1tZWRpYVR5cGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzk2NgorICAgICAgICBy
ZGFyOi8vODk5MzQ1ODkKKworICAgICAgICBSZXZpZXdlZCBieSBKZXIgTm9ibGUuCisKKyAgICAg
ICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKElQQzo6QXJn
dW1lbnRDb2RlcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj46OmVuY29kZSk6IERlbGV0ZWQuCisgICAg
ICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8TWVkaWFTZWxlY3Rpb25PcHRpb24+OjpkZWNvZGUpOiBE
ZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKwogMjAy
Mi0wMy0xNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTWFpbCBDb21wb3NlXSBTcGVsbGluZyBhbmQgZ3JhbW1hciBjb250ZXh0IG1lbnUgaXRlbXMg
bmVlZCBjdXN0b20gaWRlbnRpZmllcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25V
c2VyUHJlZmVyZW5jZXMuY3BwCmluZGV4IDMzNGU2NDI1NjIzNTMzNTQ2NWQ1ZTkxYmZjOGExNjFj
YWMyMTY4M2QuLjgwY2Q2ODA4NDA4YTBiMzU5MTNjMjNiYzhlYTgwYTdkZTk0NTA3NmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAtMjIz
LDEyICsyMjMsMzEgQEAgU3RyaW5nIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OmRpc3BsYXlOYW1l
Rm9yVHJhY2soVGV4dFRyYWNrKiB0cmFjaykgY29uc3QKIAogTWVkaWFTZWxlY3Rpb25PcHRpb24g
Q2FwdGlvblVzZXJQcmVmZXJlbmNlczo6bWVkaWFTZWxlY3Rpb25PcHRpb25Gb3JUcmFjayhUZXh0
VHJhY2sqIHRyYWNrKSBjb25zdAogewotICAgIGF1dG8gdHlwZSA9IE1lZGlhU2VsZWN0aW9uT3B0
aW9uOjpUeXBlOjpSZWd1bGFyOworICAgIGF1dG8gbGVnaWJsZVR5cGUgPSBNZWRpYVNlbGVjdGlv
bk9wdGlvbjo6TGVnaWJsZVR5cGU6OlJlZ3VsYXI7CiAgICAgaWYgKHRyYWNrID09ICZUZXh0VHJh
Y2s6OmNhcHRpb25NZW51T2ZmSXRlbSgpKQotICAgICAgICB0eXBlID0gTWVkaWFTZWxlY3Rpb25P
cHRpb246OlR5cGU6OkxlZ2libGVPZmY7CisgICAgICAgIGxlZ2libGVUeXBlID0gTWVkaWFTZWxl
Y3Rpb25PcHRpb246OkxlZ2libGVUeXBlOjpMZWdpYmxlT2ZmOwogICAgIGVsc2UgaWYgKHRyYWNr
ID09ICZUZXh0VHJhY2s6OmNhcHRpb25NZW51QXV0b21hdGljSXRlbSgpKQotICAgICAgICB0eXBl
ID0gTWVkaWFTZWxlY3Rpb25PcHRpb246OlR5cGU6OkxlZ2libGVBdXRvOwotICAgIHJldHVybiB7
IGRpc3BsYXlOYW1lRm9yVHJhY2sodHJhY2spLCB0eXBlIH07CisgICAgICAgIGxlZ2libGVUeXBl
ID0gTWVkaWFTZWxlY3Rpb25PcHRpb246OkxlZ2libGVUeXBlOjpMZWdpYmxlQXV0bzsKKworICAg
IGF1dG8gbWVkaWFUeXBlID0gTWVkaWFTZWxlY3Rpb25PcHRpb246Ok1lZGlhVHlwZTo6VW5rbm93
bjsKKyAgICBzd2l0Y2ggKHRyYWNrLT5raW5kKCkpIHsKKyAgICBjYXNlIFRleHRUcmFjazo6S2lu
ZDo6Rm9yY2VkOgorICAgIGNhc2UgVGV4dFRyYWNrOjpLaW5kOjpEZXNjcmlwdGlvbnM6CisgICAg
Y2FzZSBUZXh0VHJhY2s6OktpbmQ6OlN1YnRpdGxlczoKKyAgICAgICAgbWVkaWFUeXBlID0gTWVk
aWFTZWxlY3Rpb25PcHRpb246Ok1lZGlhVHlwZTo6U3VidGl0bGVzOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIFRleHRUcmFjazo6S2luZDo6Q2FwdGlvbnM6CisgICAgICAgIG1lZGlhVHlwZSA9
IE1lZGlhU2VsZWN0aW9uT3B0aW9uOjpNZWRpYVR5cGU6OkNhcHRpb25zOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIFRleHRUcmFjazo6S2luZDo6TWV0YWRhdGE6CisgICAgICAgIG1lZGlhVHlw
ZSA9IE1lZGlhU2VsZWN0aW9uT3B0aW9uOjpNZWRpYVR5cGU6Ok1ldGFkYXRhOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIFRleHRUcmFjazo6S2luZDo6Q2hhcHRlcnM6CisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4geyBt
ZWRpYVR5cGUsIGRpc3BsYXlOYW1lRm9yVHJhY2sodHJhY2spLCBsZWdpYmxlVHlwZSB9OwogfQog
ICAgIAogVmVjdG9yPFJlZlB0cjxUZXh0VHJhY2s+PiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpz
b3J0ZWRUcmFja0xpc3RGb3JNZW51KFRleHRUcmFja0xpc3QqIHRyYWNrTGlzdCwgSGFzaFNldDxU
ZXh0VHJhY2s6OktpbmQ+IGtpbmRzKQpAQCAtMjczLDcgKzI5Miw3IEBAIFN0cmluZyBDYXB0aW9u
VXNlclByZWZlcmVuY2VzOjpkaXNwbGF5TmFtZUZvclRyYWNrKEF1ZGlvVHJhY2sqIHRyYWNrKSBj
b25zdAogCiBNZWRpYVNlbGVjdGlvbk9wdGlvbiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjptZWRp
YVNlbGVjdGlvbk9wdGlvbkZvclRyYWNrKEF1ZGlvVHJhY2sqIHRyYWNrKSBjb25zdAogewotICAg
IHJldHVybiB7IGRpc3BsYXlOYW1lRm9yVHJhY2sodHJhY2spLCBNZWRpYVNlbGVjdGlvbk9wdGlv
bjo6VHlwZTo6UmVndWxhciB9OworICAgIHJldHVybiB7IE1lZGlhU2VsZWN0aW9uT3B0aW9uOjpN
ZWRpYVR5cGU6OkF1ZGlvLCBkaXNwbGF5TmFtZUZvclRyYWNrKHRyYWNrKSwgTWVkaWFTZWxlY3Rp
b25PcHRpb246OkxlZ2libGVUeXBlOjpSZWd1bGFyIH07CiB9CiAKIFZlY3RvcjxSZWZQdHI8QXVk
aW9UcmFjaz4+IENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnNvcnRlZFRyYWNrTGlzdEZvck1lbnUo
QXVkaW9UcmFja0xpc3QqIHRyYWNrTGlzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lZGlhU2VsZWN0aW9uT3B0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9N
ZWRpYVNlbGVjdGlvbk9wdGlvbi5oCmluZGV4IDg1YzAwODUwY2VjYzRjMDE2NzY2MDc3MWM5ZWFk
MmRkNjk3NTVkODMuLmEzNGViMjE5NjQyZmM3NTNmNjZmNmU0ZDIzMmY1ZmQyNDc5ODJhZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2VsZWN0aW9uT3B0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTZWxlY3Rpb25PcHRpb24uaApAQCAt
MzAsMjQgKzMwLDc1IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBNZWRpYVNlbGVj
dGlvbk9wdGlvbiB7Ci0gICAgZW51bSBjbGFzcyBUeXBlIHsKKyAgICBlbnVtIGNsYXNzIE1lZGlh
VHlwZSB7CisgICAgICAgIFVua25vd24sCisgICAgICAgIEF1ZGlvLAorICAgICAgICBTdWJ0aXRs
ZXMsCisgICAgICAgIENhcHRpb25zLAorICAgICAgICBNZXRhZGF0YSwKKyAgICB9OworCisgICAg
ZW51bSBjbGFzcyBMZWdpYmxlVHlwZSB7CiAgICAgICAgIFJlZ3VsYXIsCiAgICAgICAgIExlZ2li
bGVPZmYsCiAgICAgICAgIExlZ2libGVBdXRvLAogICAgIH07CiAKICAgICBNZWRpYVNlbGVjdGlv
bk9wdGlvbigpID0gZGVmYXVsdDsKLSAgICBNZWRpYVNlbGVjdGlvbk9wdGlvbihjb25zdCBTdHJp
bmcmIGRpc3BsYXlOYW1lLCBUeXBlIHR5cGUpCi0gICAgICAgIDogZGlzcGxheU5hbWUgeyBkaXNw
bGF5TmFtZSB9Ci0gICAgICAgICwgdHlwZSB7IHR5cGUgfQorICAgIE1lZGlhU2VsZWN0aW9uT3B0
aW9uKE1lZGlhVHlwZSBtZWRpYVR5cGUsIGNvbnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIExlZ2li
bGVUeXBlIGxlZ2libGVUeXBlKQorICAgICAgICA6IG1lZGlhVHlwZSB7IG1lZGlhVHlwZSB9Cisg
ICAgICAgICwgZGlzcGxheU5hbWUgeyBkaXNwbGF5TmFtZSB9CisgICAgICAgICwgbGVnaWJsZVR5
cGUgeyBsZWdpYmxlVHlwZSB9CiAgICAgewogICAgIH0KIAotICAgIE1lZGlhU2VsZWN0aW9uT3B0
aW9uIGlzb2xhdGVkQ29weSgpIGNvbnN0ICYgeyByZXR1cm4geyBkaXNwbGF5TmFtZS5pc29sYXRl
ZENvcHkoKSwgdHlwZSB9OyB9Ci0gICAgTWVkaWFTZWxlY3Rpb25PcHRpb24gaXNvbGF0ZWRDb3B5
KCkgJiYgeyByZXR1cm4geyBXVEZNb3ZlKGRpc3BsYXlOYW1lKS5pc29sYXRlZENvcHkoKSwgdHlw
ZSB9OyB9CisgICAgTWVkaWFTZWxlY3Rpb25PcHRpb24gaXNvbGF0ZWRDb3B5KCkgY29uc3QgJiB7
IHJldHVybiB7IG1lZGlhVHlwZSwgZGlzcGxheU5hbWUuaXNvbGF0ZWRDb3B5KCksIGxlZ2libGVU
eXBlIH07IH0KKyAgICBNZWRpYVNlbGVjdGlvbk9wdGlvbiBpc29sYXRlZENvcHkoKSAmJiB7IHJl
dHVybiB7IG1lZGlhVHlwZSwgV1RGTW92ZShkaXNwbGF5TmFtZSkuaXNvbGF0ZWRDb3B5KCksIGxl
Z2libGVUeXBlIH07IH0KKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2Rl
KEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgYm9v
bCBXQVJOX1VOVVNFRF9SRVRVUk4gZGVjb2RlKERlY29kZXImLCBNZWRpYVNlbGVjdGlvbk9wdGlv
biYpOwogCisgICAgTWVkaWFUeXBlIG1lZGlhVHlwZSB7IE1lZGlhVHlwZTo6VW5rbm93biB9Owog
ICAgIFN0cmluZyBkaXNwbGF5TmFtZTsKLSAgICBUeXBlIHR5cGUgeyBUeXBlOjpSZWd1bGFyIH07
CisgICAgTGVnaWJsZVR5cGUgbGVnaWJsZVR5cGUgeyBMZWdpYmxlVHlwZTo6UmVndWxhciB9Owog
fTsKIAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBNZWRpYVNlbGVjdGlvbk9wdGlvbjo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBtZWRpYVR5
cGU7CisgICAgZW5jb2RlciA8PCBkaXNwbGF5TmFtZTsKKyAgICBlbmNvZGVyIDw8IGxlZ2libGVU
eXBlOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBib29sIE1lZGlhU2VsZWN0aW9uT3B0
aW9uOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTWVkaWFTZWxlY3Rpb25PcHRpb24mIG9wdGlv
bikKK3sKKyAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGUob3B0aW9uLm1lZGlhVHlwZSkKKyAgICAg
ICAgJiYgZGVjb2Rlci5kZWNvZGUob3B0aW9uLmRpc3BsYXlOYW1lKQorICAgICAgICAmJiBkZWNv
ZGVyLmRlY29kZShvcHRpb24ubGVnaWJsZVR5cGUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdl
YkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uOjpNZWRpYVR5cGU+IHsKKyAgICB1c2luZyB2YWx1
ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbjo6
TWVkaWFUeXBlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbjo6TWVkaWFU
eXBlOjpVbmtub3duLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbjo6TWVk
aWFUeXBlOjpBdWRpbywKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb246Ok1l
ZGlhVHlwZTo6U3VidGl0bGVzLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlv
bjo6TWVkaWFUeXBlOjpDYXB0aW9ucywKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25P
cHRpb246Ok1lZGlhVHlwZTo6TWV0YWRhdGEKKyAgICA+OworfTsKKwordGVtcGxhdGU8PiBzdHJ1
Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbjo6TGVnaWJsZVR5cGU+
IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpNZWRp
YVNlbGVjdGlvbk9wdGlvbjo6TGVnaWJsZVR5cGUsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU2Vs
ZWN0aW9uT3B0aW9uOjpMZWdpYmxlVHlwZTo6UmVndWxhciwKKyAgICAgICAgV2ViQ29yZTo6TWVk
aWFTZWxlY3Rpb25PcHRpb246OkxlZ2libGVUeXBlOjpMZWdpYmxlT2ZmLAorICAgICAgICBXZWJD
b3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbjo6TGVnaWJsZVR5cGU6OkxlZ2libGVBdXRvCisgICAg
PjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tCmluZGV4
IDVlOWFmZGUwNTdjYmJiZWU3N2E2YTA1MjM3NDIyN2Y0ODg1Njk0MGQuLjAzNDliOGQxZGFjYzIx
ODdhZWMzNGRhM2ZhNTI3NjAzODEzNjU4OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW0KQEAg
LTQyLDYgKzQyLDcgQEAKICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiAjaW1wb3J0
IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KKyNpbXBvcnQgPHBhbC9jb2NvYS9BVkZvdW5k
YXRpb25Tb2Z0TGluay5oPgogCiBTT0ZUTElOS19BVktJVF9GUkFNRVdPUksoKQogU09GVF9MSU5L
X0NMQVNTX09QVElPTkFMKEFWS2l0LCBBVlZhbHVlVGltaW5nKQpAQCAtMTYxLDEyICsxNjIsMzMg
QEAgdm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdDo6Y2FuUGxheUZhc3RSZXZlcnNl
Q2hhbmdlZChib29sIGNhblBsYXlGYXN0UmUKICAgICBbbV9wbGF5ZXJDb250cm9sbGVyIHNldENh
blNjYW5CYWNrd2FyZDpjYW5QbGF5RmFzdFJldmVyc2VdOwogfQogCitzdGF0aWMgQVZNZWRpYVR5
cGUgdG9BVk1lZGlhVHlwZShNZWRpYVNlbGVjdGlvbk9wdGlvbjo6TWVkaWFUeXBlIHR5cGUpCit7
CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBNZWRpYVNlbGVjdGlvbk9wdGlvbjo6TWVk
aWFUeXBlOjpBdWRpbzoKKyAgICAgICAgcmV0dXJuIEFWTWVkaWFUeXBlQXVkaW87CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgTWVkaWFTZWxlY3Rpb25PcHRpb246Ok1lZGlhVHlwZTo6U3VidGl0
bGVzOgorICAgICAgICByZXR1cm4gQVZNZWRpYVR5cGVTdWJ0aXRsZTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBNZWRpYVNlbGVjdGlvbk9wdGlvbjo6TWVkaWFUeXBlOjpDYXB0aW9uczoKKyAg
ICAgICAgcmV0dXJuIEFWTWVkaWFUeXBlQ2xvc2VkQ2FwdGlvbjsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBNZWRpYVNlbGVjdGlvbk9wdGlvbjo6TWVkaWFUeXBlOjpNZXRhZGF0YToKKyAgICAg
ICAgcmV0dXJuIEFWTWVkaWFUeXBlTWV0YWRhdGE7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
TWVkaWFTZWxlY3Rpb25PcHRpb246Ok1lZGlhVHlwZTo6VW5rbm93bjoKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiBBVk1l
ZGlhVHlwZU1ldGFkYXRhOworfQorCiBzdGF0aWMgUmV0YWluUHRyPE5TQXJyYXk+IG1lZGlhU2Vs
ZWN0aW9uT3B0aW9ucyhjb25zdCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+JiBvcHRpb25z
KQogewogICAgIHJldHVybiBjcmVhdGVOU0FycmF5KG9wdGlvbnMsIFtdIChhdXRvJiBvcHRpb24p
IHsKLSAgICAgICAgYXV0byB3ZWJPcHRpb24gPSBhZG9wdE5TKFtbV2ViQVZNZWRpYVNlbGVjdGlv
bk9wdGlvbiBhbGxvY10gaW5pdF0pOwotICAgICAgICBbd2ViT3B0aW9uIHNldExvY2FsaXplZERp
c3BsYXlOYW1lOm9wdGlvbi5kaXNwbGF5TmFtZV07Ci0gICAgICAgIHJldHVybiB3ZWJPcHRpb247
CisgICAgICAgIHJldHVybiBbW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gYWxsb2NdIGluaXRX
aXRoTWVkaWFUeXBlOnRvQVZNZWRpYVR5cGUob3B0aW9uLm1lZGlhVHlwZSkgZGlzcGxheU5hbWU6
b3B0aW9uLmRpc3BsYXlOYW1lXTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5oCmluZGV4IDQ5YTlmYjljNjJm
NGFiMGJlMzJkMGRkMTAyMzE2NTZlNzZlYTI4NjMuLmYzMGZiNzQzZjIzZjY5YzFkNjZjZWFjMjg5
ZGExNjllZDc4NTkxMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9X
ZWJBVlBsYXllckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
V2ViQVZQbGF5ZXJDb250cm9sbGVyLmgKQEAgLTMzLDcgKzMzLDExIEBAIGNsYXNzIFBsYXliYWNr
U2Vzc2lvbkludGVyZmFjZUFWS2l0OwogfQogCiBAaW50ZXJmYWNlIFdlYkFWTWVkaWFTZWxlY3Rp
b25PcHRpb24gOiBOU09iamVjdAorLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoTWVkaWFUeXBlOihB
Vk1lZGlhVHlwZSl0eXBlIGRpc3BsYXlOYW1lOihOU1N0cmluZyAqKWRpc3BsYXlOYW1lOworCiBA
cHJvcGVydHkgKHJldGFpbikgTlNTdHJpbmcgKmxvY2FsaXplZERpc3BsYXlOYW1lOworQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBBVk1lZGlhVHlwZSBtZWRpYVR5cGU7CisKIEBlbmQK
IAogV0VCQ09SRV9FWFBPUlQgQGludGVyZmFjZSBXZWJBVlBsYXllckNvbnRyb2xsZXIgOiBOU09i
amVjdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5
ZXJDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVy
Q29udHJvbGxlci5tbQppbmRleCA2OWUzOTNjMmQ3MDE1NWU3MWEzMzAwNTZmNzQ4ZDM5NThkNWY3
YWM2Li5jOGM1NmRmNjAzMmExNzZmMDVlMTg1MzU4OGMwMTY4OTEwZjU5Y2Y1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0K
QEAgLTc2MiwxMiArNzYyLDE0MyBAQCBzdGF0aWMgZG91YmxlIFdlYkFWUGxheWVyQ29udHJvbGxl
ckxpdmVTdHJlYW1TZWVrYWJsZVRpbWVSYW5nZU1pbmltdW1EdXJhdGlvbiA9CiAKIEBpbXBsZW1l
bnRhdGlvbiBXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uCiAKKy0gKGluc3RhbmNldHlwZSlpbml0
V2l0aE1lZGlhVHlwZTooQVZNZWRpYVR5cGUpbWVkaWFUeXBlIGRpc3BsYXlOYW1lOihOU1N0cmlu
ZyAqKWRpc3BsYXlOYW1lCit7CisgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKKyAgICBpZiAoIXNl
bGYpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBfbWVkaWFUeXBlID0gbWVkaWFUeXBlOwor
ICAgIF9sb2NhbGl6ZWREaXNwbGF5TmFtZSA9IGRpc3BsYXlOYW1lOworCisgICAgcmV0dXJuIHNl
bGY7Cit9CisKIC0gKHZvaWQpZGVhbGxvYwogewogICAgIFtfbG9jYWxpemVkRGlzcGxheU5hbWUg
cmVsZWFzZV07CiAgICAgW3N1cGVyIGRlYWxsb2NdOwogfQogCistIChOU0FycmF5PE5TTnVtYmVy
ICo+ICopbWVkaWFTdWJUeXBlcworeworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIFdU
RkxvZ0Fsd2F5cygiRVJST1I6IC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBtZWRpYVN1YlR5
cGVzXSB1bmltcGxlbWVudGVkIik7CisgICAgcmV0dXJuIEBbXTsKK30KKworLSAoQk9PTCloYXNN
ZWRpYUNoYXJhY3RlcmlzdGljOihBVk1lZGlhQ2hhcmFjdGVyaXN0aWMpbWVkaWFDaGFyYWN0ZXJp
c3RpYworeworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIFdURkxvZ0Fsd2F5cygiRVJS
T1I6IC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBoYXNNZWRpYUNoYXJhY3RlcmlzdGljOl0g
dW5pbXBsZW1lbnRlZCIpOworICAgIHJldHVybiBOTzsKK30KKworLSAoQk9PTCkgaXNQbGF5YWJs
ZQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIFdURkxvZ0Fsd2F5cygiRVJST1I6
IC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBpc1BsYXlhYmxlOl0gdW5pbXBsZW1lbnRlZCIp
OworICAgIHJldHVybiBZRVM7Cit9CisKKy0gKE5TU3RyaW5nICopZXh0ZW5kZWRMYW5ndWFnZVRh
ZworeworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIFdURkxvZ0Fsd2F5cygiRVJST1I6
IC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBleHRlbmRlZExhbmd1YWdlVGFnXSB1bmltcGxl
bWVudGVkIik7CisgICAgcmV0dXJuIG5pbDsKK30KKworLSAoTlNMb2NhbGUgKilsb2NhbGUKK3sK
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBXVEZMb2dBbHdheXMoIkVSUk9SOiAtW1dl
YkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gbG9jYWxlXSB1bmltcGxlbWVudGVkIik7CisgICAgcmV0
dXJuIG5pbDsKK30KKworLSAoTlNBcnJheTxBVk1ldGFkYXRhSXRlbSAqPiAqKWNvbW1vbk1ldGFk
YXRhCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgV1RGTG9nQWx3YXlzKCJFUlJP
UjogLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIGNvbW1vbk1ldGFkYXRhXSB1bmltcGxlbWVu
dGVkIik7CisgICAgcmV0dXJuIEBbXTsKK30KKworLSAoTlNBcnJheTxOU1N0cmluZyAqPiAqKWF2
YWlsYWJsZU1ldGFkYXRhRm9ybWF0cworeworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IFdURkxvZ0Fsd2F5cygiRVJST1I6IC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBhdmFpbGFi
bGVNZXRhZGF0YUZvcm1hdHNdIHVuaW1wbGVtZW50ZWQiKTsKKyAgICByZXR1cm4gQFtdOworfQor
CistIChOU0FycmF5PEFWTWV0YWRhdGFJdGVtICo+ICopbWV0YWRhdGFGb3JGb3JtYXQ6KE5TU3Ry
aW5nICopZm9ybWF0Cit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgV1RGTG9nQWx3
YXlzKCJFUlJPUjogLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIG1ldGFkYXRhRm9yRm9ybWF0
Ol0gdW5pbXBsZW1lbnRlZCIpOworICAgIHJldHVybiBAW107Cit9CisKKy0gKEFWTWVkaWFTZWxl
Y3Rpb25PcHRpb24gKilhc3NvY2lhdGVkTWVkaWFTZWxlY3Rpb25PcHRpb25Jbk1lZGlhU2VsZWN0
aW9uR3JvdXA6KEFWTWVkaWFTZWxlY3Rpb25Hcm91cCAqKW1lZGlhU2VsZWN0aW9uR3JvdXAKK3sK
KyAgICBXVEZMb2dBbHdheXMoIkVSUk9SOiAtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gYXNz
b2NpYXRlZE1lZGlhU2VsZWN0aW9uT3B0aW9uSW5NZWRpYVNlbGVjdGlvbkdyb3VwXSB1bmltcGxl
bWVudGVkIik7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG5pbDsKK30K
KworLSAoaWQpcHJvcGVydHlMaXN0Cit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
V1RGTG9nQWx3YXlzKCJFUlJPUjogLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIHByb3BlcnR5
TGlzdF0gdW5pbXBsZW1lbnRlZCIpOworICAgIHJldHVybiBAW107Cit9CisKKy0gKE5TU3RyaW5n
ICopZGlzcGxheU5hbWVXaXRoTG9jYWxlOihOU0xvY2FsZSAqKWxvY2FsZQoreworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIFdURkxvZ0Fsd2F5cygiRVJST1I6IC1bV2ViQVZNZWRpYVNl
bGVjdGlvbk9wdGlvbiBkaXNwbGF5TmFtZVdpdGhMb2NhbGU6XSB1bmltcGxlbWVudGVkIik7Cisg
ICAgcmV0dXJuIG5pbDsKK30KKworLSAoTlNBcnJheTxOU1N0cmluZyAqPiAqKW1lZGlhQ2hhcmFj
dGVyaXN0aWNzCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgV1RGTG9nQWx3YXlz
KCJFUlJPUjogLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIG1lZGlhQ2hhcmFjdGVyaXN0aWNz
XSB1bmltcGxlbWVudGVkIik7CisgICAgcmV0dXJuIEBbXTsKK30KKworLSAoTlNTdHJpbmcgKilv
dXRPZkJhbmRTb3VyY2UKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBXVEZMb2dB
bHdheXMoIkVSUk9SOiAtW1dlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24gb3V0T2ZCYW5kU291cmNl
XSB1bmltcGxlbWVudGVkIik7CisgICAgcmV0dXJuIG5pbDsKK30KKworLSAoTlNTdHJpbmcgKilv
dXRPZkJhbmRJZGVudGlmaWVyCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgV1RG
TG9nQWx3YXlzKCJFUlJPUjogLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIG91dE9mQmFuZElk
ZW50aWZpZXJdIHVuaW1wbGVtZW50ZWQiKTsKKyAgICByZXR1cm4gbmlsOworfQorCistIChCT09M
KV9pc0Rlc2lnbmF0ZWREZWZhdWx0Cit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
V1RGTG9nQWx3YXlzKCJFUlJPUjogLVtXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uIF9pc0Rlc2ln
bmF0ZWREZWZhdWx0XSB1bmltcGxlbWVudGVkIik7CisgICAgcmV0dXJuIE5POworfQorCistIChO
U1N0cmluZyAqKWxhbmd1YWdlQ29kZQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IFdURkxvZ0Fsd2F5cygiRVJST1I6IC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiBsYW5ndWFn
ZUNvZGVdIHVuaW1wbGVtZW50ZWQiKTsKKyAgICByZXR1cm4gbmlsOworfQorCistIChBVkFzc2V0
VHJhY2sgKil0cmFjaworeworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIFdURkxvZ0Fs
d2F5cygiRVJST1I6IC1bV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiB0cmFjazpdIHVuaW1wbGVt
ZW50ZWQiKTsKKyAgICByZXR1cm4gbmlsOworfQorCiBAZW5kCiAKICNlbmRpZiAvLyBQTEFURk9S
TShDT0NPQSkgJiYgSEFWRShBVktJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5tbQppbmRleCA2NmIyYzBkZDY0
NmNhNzM0MzIxNmQ2Y2JkN2UwYzNlZWYwOWFmYjdlLi5lOGJiNjhjOTkzY2M2YjU0ZDJiZmEzYWVi
NDYwM2FiMzNkYjQ1ZjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
V2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLm1tCkBAIC0yNDQsMTQgKzI0NCwxNCBA
QCB1c2luZyBXZWJDb3JlOjpQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM7CiAgICAgICAgIG1v
ZGVsLT5zZWxlY3RMZWdpYmxlTWVkaWFPcHRpb24oaW5kZXggIT0gTlNOb3RGb3VuZCA/IGluZGV4
IDogVUlOVDY0X01BWCk7CiB9CiAKLXN0YXRpYyBBVlRvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRp
b25UeXBlIHRvQVZUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uVHlwZShNZWRpYVNlbGVjdGlv
bk9wdGlvbjo6VHlwZSB0eXBlKQorc3RhdGljIEFWVG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlv
blR5cGUgdG9BVlRvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb25UeXBlKE1lZGlhU2VsZWN0aW9u
T3B0aW9uOjpMZWdpYmxlVHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkgewotICAgIGNh
c2UgTWVkaWFTZWxlY3Rpb25PcHRpb246OlR5cGU6OlJlZ3VsYXI6CisgICAgY2FzZSBNZWRpYVNl
bGVjdGlvbk9wdGlvbjo6TGVnaWJsZVR5cGU6OlJlZ3VsYXI6CiAgICAgICAgIHJldHVybiBBVlRv
dWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb25UeXBlUmVndWxhcjsKLSAgICBjYXNlIE1lZGlhU2Vs
ZWN0aW9uT3B0aW9uOjpUeXBlOjpMZWdpYmxlT2ZmOgorICAgIGNhc2UgTWVkaWFTZWxlY3Rpb25P
cHRpb246OkxlZ2libGVUeXBlOjpMZWdpYmxlT2ZmOgogICAgICAgICByZXR1cm4gQVZUb3VjaEJh
ck1lZGlhU2VsZWN0aW9uT3B0aW9uVHlwZUxlZ2libGVPZmY7Ci0gICAgY2FzZSBNZWRpYVNlbGVj
dGlvbk9wdGlvbjo6VHlwZTo6TGVnaWJsZUF1dG86CisgICAgY2FzZSBNZWRpYVNlbGVjdGlvbk9w
dGlvbjo6TGVnaWJsZVR5cGU6OkxlZ2libGVBdXRvOgogICAgICAgICByZXR1cm4gQVZUb3VjaEJh
ck1lZGlhU2VsZWN0aW9uT3B0aW9uVHlwZUxlZ2libGVBdXRvOwogICAgIH0KIApAQCAtMjYyLDcg
KzI2Miw3IEBAIHN0YXRpYyBBVlRvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb25UeXBlIHRvQVZU
b3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uVHlwZShNCiBzdGF0aWMgUmV0YWluUHRyPE5TQXJy
YXk+IG1lZGlhU2VsZWN0aW9uT3B0aW9ucyhjb25zdCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRp
b24+JiBvcHRpb25zKQogewogICAgIHJldHVybiBjcmVhdGVOU0FycmF5KG9wdGlvbnMsIFtdIChh
dXRvJiBvcHRpb24pIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0TlMoW2FsbG9jQVZUb3VjaEJhck1l
ZGlhU2VsZWN0aW9uT3B0aW9uSW5zdGFuY2UoKSBpbml0V2l0aFRpdGxlOm9wdGlvbi5kaXNwbGF5
TmFtZSB0eXBlOnRvQVZUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uVHlwZShvcHRpb24udHlw
ZSldKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0TlMoW2FsbG9jQVZUb3VjaEJhck1lZGlhU2VsZWN0
aW9uT3B0aW9uSW5zdGFuY2UoKSBpbml0V2l0aFRpdGxlOm9wdGlvbi5kaXNwbGF5TmFtZSB0eXBl
OnRvQVZUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uVHlwZShvcHRpb24ubGVnaWJsZVR5cGUp
XSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwCmluZGV4IGU2MGViZTJhZmZhMmZjZTFhMWNjZTM3NGY3YmY4ODhmNDBlYmRi
NzguLmRlYjA4ZTQzMTIyY2M2Zjc2ZGFjMGY0NDFlNTY4YzQ2NjU1ZDJkNDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMjg4MCwyNyAr
Mjg4MCw2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxTZXJ2aWNlV29ya2VyT3JDbGllbnRJZGVudGlm
aWVyPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFNlCiAKICNlbmRpZgogCi12b2lkIEFyZ3Vt
ZW50Q29kZXI8TWVkaWFTZWxlY3Rpb25PcHRpb24+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgTWVkaWFTZWxlY3Rpb25PcHRpb24mIG9wdGlvbikKLXsKLSAgICBlbmNvZGVyIDw8IG9w
dGlvbi5kaXNwbGF5TmFtZTsKLSAgICBlbmNvZGVyIDw8IG9wdGlvbi50eXBlOwotfQotCi1zdGQ6
Om9wdGlvbmFsPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiBBcmd1bWVudENvZGVyPE1lZGlhU2VsZWN0
aW9uT3B0aW9uPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCi17Ci0gICAgc3RkOjpvcHRpb25h
bDxTdHJpbmc+IGRpc3BsYXlOYW1lOwotICAgIGRlY29kZXIgPj4gZGlzcGxheU5hbWU7Ci0gICAg
aWYgKCFkaXNwbGF5TmFtZSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICAKLSAg
ICBzdGQ6Om9wdGlvbmFsPE1lZGlhU2VsZWN0aW9uT3B0aW9uOjpUeXBlPiB0eXBlOwotICAgIGRl
Y29kZXIgPj4gdHlwZTsKLSAgICBpZiAoIXR5cGUpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7Ci0gICAgCi0gICAgcmV0dXJuIHt7IFdURk1vdmUoKmRpc3BsYXlOYW1lKSwgV1RGTW92ZSgq
dHlwZSkgfX07Ci19Ci0KIHZvaWQgQXJndW1lbnRDb2RlcjxQcm9taXNlZEF0dGFjaG1lbnRJbmZv
Pjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFByb21pc2VkQXR0YWNobWVudEluZm8m
IGluZm8pCiB7CiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggMTBmNDgxNGJhN2E4OTk0MmJk
NTYxODA3YzZlNDQ4OGNmNWM2NjFlNC4uZDMwNTlmNjVhNzYyYWNiMDA5ODg3OWVkMjg3Nzc0NmY1
Mzc2OTMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgKQEAgLTcxMCwxMSArNzEwLDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyT3JDbGllbnRJZGVudGlmaWVyPiB7CiAKICNlbmRpZgogCi10
ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0
aW9uPiB7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpN
ZWRpYVNlbGVjdGlvbk9wdGlvbiYpOwotICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiBkZWNvZGUoRGVjb2RlciYpOwotfTsKLQogdGVtcGxhdGU8
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQcm9taXNlZEF0dGFjaG1lbnRJbmZvPiB7
CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpQcm9taXNl
ZEF0dGFjaG1lbnRJbmZvJik7CiAgICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRl
Y29kZShEZWNvZGVyJiwgV2ViQ29yZTo6UHJvbWlzZWRBdHRhY2htZW50SW5mbyYpOwpAQCAtOTA1
LDE1ICs5MDAsNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlJlYWx0
aW1lTWVkaWFTb3VyY2U6OlR5cGU+IHsKIH07CiAjZW5kaWYKIAotdGVtcGxhdGU8PiBzdHJ1Y3Qg
RW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbjo6VHlwZT4gewotICAgIHVz
aW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8Ci0gICAgICAgIFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9u
T3B0aW9uOjpUeXBlLAotICAgICAgICBXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbjo6VHlw
ZTo6UmVndWxhciwKLSAgICAgICAgV2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb246OlR5cGU6
OkxlZ2libGVPZmYsCi0gICAgICAgIFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uOjpUeXBl
OjpMZWdpYmxlQXV0bwotICAgID47Ci19OwotCiB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgRW51bVRyYWl0
czxXZWJDb3JlOjpXb3JrZXJUeXBlPiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwK
ICAgICAgICAgV2ViQ29yZTo6V29ya2VyVHlwZSwK
</data>

          </attachment>
      

    </bug>

</bugzilla>