<?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>180052</bug_id>
          
          <creation_ts>2017-11-27 13:34:34 -0800</creation_ts>
          <short_desc>Add support for FetchEvent.clientId</short_desc>
          <delta_ts>2017-11-29 13:48:33 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1375097</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-27 13:34:34 -0800</bug_when>
    <thetext>Add support for FetchEvent.clientId</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375471</commentid>
    <comment_count>1</comment_count>
      <attachid>327777</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-28 12:44:28 -0800</bug_when>
    <thetext>Created attachment 327777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375526</commentid>
    <comment_count>2</comment_count>
      <attachid>327786</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-28 14:11:30 -0800</bug_when>
    <thetext>Created attachment 327786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375527</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2017-11-28 14:14:05 -0800</bug_when>
    <thetext>Attachment 327786 did not pass style-queue:


ERROR: LayoutTests/imported/w3c/ChangeLog:9:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
Total errors found: 1 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375863</commentid>
    <comment_count>4</comment_count>
      <attachid>327786</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-29 09:25:09 -0800</bug_when>
    <thetext>Comment on attachment 327786
Patch

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

&gt; Source/WebCore/loader/FetchOptions.h:171
&gt; +    std::optional&lt;uint64_t&gt; identifier;

Why not encoder &lt;&lt; clientIdentifier; ?

&gt; Source/WebCore/loader/FetchOptions.h:224
&gt; +        options.clientIdentifier = makeObjectIdentifier&lt;DocumentIdentifierType&gt;(clientIdentifier.value());

ObjectIdentifiers are serializable so we should not need to go to a uint64_t and then back.

&gt; LayoutTests/imported/w3c/ChangeLog:9
&gt; +        * web-platform-tests/service-workers/service-worker/resources/clients-get-worker.js

Please explain why this changes are correct. We&apos;d also need to send an upstream PR.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375897</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 10:48:14 -0800</bug_when>
    <thetext>&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=327786&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/FetchOptions.h:171
&gt; &gt; +    std::optional&lt;uint64_t&gt; identifier;
&gt; 
&gt; Why not encoder &lt;&lt; clientIdentifier; ?
&gt; 
&gt; &gt; Source/WebCore/loader/FetchOptions.h:224
&gt; &gt; +        options.clientIdentifier = makeObjectIdentifier&lt;DocumentIdentifierType&gt;(clientIdentifier.value());
&gt; 
&gt; ObjectIdentifiers are serializable so we should not need to go to a uint64_t
&gt; and then back.

FetchOptions are serialized for both IPC and Persistency.
Persistency coders have not be modernized like IPC coders have and we cannot reuse directly ObjectIdentifiers serialization without updating persistency coders or adapting ObjectIdentifier serialization.

The alternative would be to have two serializations for FetchOptions, one for persistency and one for IPC which would reuse the persistency one and add some additional parameters such as these client ids.
I&apos;ll check that further.

&gt; &gt; LayoutTests/imported/w3c/ChangeLog:9
&gt; &gt; +        * web-platform-tests/service-workers/service-worker/resources/clients-get-worker.js
&gt; 
&gt; Please explain why this changes are correct. We&apos;d also need to send an
&gt; upstream PR.

Sure, the spec changed from nullable to &quot;&quot; as a default.
I&apos;ll upstream the PR before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375946</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 11:42:44 -0800</bug_when>
    <thetext>Filed https://github.com/w3c/web-platform-tests/pull/8507</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375955</commentid>
    <comment_count>7</comment_count>
      <attachid>327885</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 12:04:44 -0800</bug_when>
    <thetext>Created attachment 327885
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375957</commentid>
    <comment_count>8</comment_count>
      <attachid>327885</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-29 12:11:28 -0800</bug_when>
    <thetext>Comment on attachment 327885
Patch

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

r=me with comment

&gt; Source/WebCore/ChangeLog:12
&gt; +        If the fetch is for a subresouce, clientId is used directly.

Typo: subresouce

&gt; Source/WebCore/loader/FetchOptions.h:227
&gt; +template&lt;class Decoder&gt; inline bool FetchOptions::decode(Decoder&amp; decoder, FetchOptions&amp; options)

Shouldn&apos;t this return an std::optional&lt;&gt; instead of using the legacy pattern?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375983</commentid>
    <comment_count>9</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 13:04:34 -0800</bug_when>
    <thetext>Thanks for the review.

(In reply to Chris Dumez from comment #8)
&gt; Comment on attachment 327885 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=327885&amp;action=review
&gt; 
&gt; r=me with comment
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:12
&gt; &gt; +        If the fetch is for a subresouce, clientId is used directly.
&gt; 
&gt; Typo: subresouce
&gt; 
&gt; &gt; Source/WebCore/loader/FetchOptions.h:227
&gt; &gt; +template&lt;class Decoder&gt; inline bool FetchOptions::decode(Decoder&amp; decoder, FetchOptions&amp; options)
&gt; 
&gt; Shouldn&apos;t this return an std::optional&lt;&gt; instead of using the legacy pattern?

It should but it will probably break some not yet modernized code.
I&apos;ll have a try though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375997</commentid>
    <comment_count>10</comment_count>
      <attachid>327894</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 13:27:41 -0800</bug_when>
    <thetext>Created attachment 327894
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376011</commentid>
    <comment_count>11</comment_count>
      <attachid>327894</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-29 13:47:41 -0800</bug_when>
    <thetext>Comment on attachment 327894
Patch for landing

Clearing flags on attachment: 327894

Committed r225294: &lt;https://trac.webkit.org/changeset/225294&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376012</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-29 13:47:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376013</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-29 13:48:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/35756355&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327777</attachid>
            <date>2017-11-28 12:44:28 -0800</date>
            <delta_ts>2017-11-28 14:11:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180052-20171128124427.patch</filename>
            <type>text/plain</type>
            <size>17619</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmI0OGY1MjdkNDg3OGM3
YjBmZTUzYzQxNmY3M2YwMjRjNzRmNWE5MC4uMzdkNmViOGQwMGY0ZWM2MjAxOTk1YWE3NWQ0NDc4
NDNhMTY4YzhkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDE3LTExLTI3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
RmV0Y2hFdmVudC5jbGllbnRJZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTgwMDUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3QuCisKKyAgICAgICAgQWRkIHNjcmlw
dCBleGVjdXRpb24gY29udGV4dCBpZGVudGlmaWVyIGFzIGEgRmV0Y2hPcHRpb25zIHBhcmFtZXRl
ci4KKyAgICAgICAgVGhpcyBpcyB0aGVuIHNlbnQgdG8gdGhlIHNlcnZpY2Ugd29ya2VyIHByb2Nl
c3Mgd2hpY2ggY2FuIHRoZW4gc2V0IEZldGNoRXZlbnQuY2xpZW50SWQgYXBwcm9wcmlhdGVseS4K
KyAgICAgICAgSWYgdGhlIGZldGNoIGlzIGZvciBhIHN1YnJlc291Y2UsIGNsaWVudElkIGlzIHVz
ZWQgZGlyZWN0bHkuCisgICAgICAgIElmIGl0IGlzIGEgbmF2aWdhdGlvbiwgY2xpZW50SWQgaXMg
c2V0IHRvIHRhcmdldENsaWVudElkLgorCisgICAgICAgICogbG9hZGVyL0ZldGNoT3B0aW9ucy5o
OgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hPcHRpb25zOjplbmNvZGUgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RmV0Y2hPcHRpb25zOjpkZWNvZGUpOgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cHJlcGFyZUZldGNoKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlUmVx
dWVzdDo6c2V0Q2xpZW50SWRlbnRpZmllcklmTmVlZGVkKToKKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Lmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2Nv
bnRleHQvU2VydmljZVdvcmtlckZldGNoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJGZXRjaDo6ZGlzcGF0Y2hGZXRjaEV2ZW50KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2guaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJUaHJlYWQ6OnBvc3RGZXRjaFRhc2spOgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaDoKKworMjAxNy0xMS0yNyAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKICAgICAgICAgUmVnaXN0ZXIgRG9jdW1lbnRz
IGFzIFNlcnZpY2VXb3JrZXIgY2xpZW50cyB0byB0aGUgU3RvcmFnZVByb2Nlc3MKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDA0NwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDBkMjk3ZTI3ZWMzNTQyM2ZhMjQ2NmJjZTA1YjhmOTVlODQwMDM3ZTMuLjUxOWM1ZGQyOGM4
NWYxZWQ2YzNlMDFhNjhhN2JmNDNhNGEwNzgzY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAK
IDIwMTctMTEtMjcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBGZXRjaEV2ZW50LmNsaWVudElkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAwNTIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0Nv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uOjpzdGFydEZldGNoKToKKworMjAxNy0xMS0yNyAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKICAgICAgICAgUmVnaXN0ZXIgRG9jdW1lbnRzIGFz
IFNlcnZpY2VXb3JrZXIgY2xpZW50cyB0byB0aGUgU3RvcmFnZVByb2Nlc3MKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDA0NwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRmV0Y2hPcHRpb25zLmgKaW5kZXggNzNiOTYyNGM4NjA5MTZkZWI5OTM3NzRjYWY4Mjhm
OTc0ZjdkMjE3OS4uYzM4ZGRiNjJhMjFjZjc4YTU4MTYzZDhiZDFjYTc2ZTU4NDViMjVkMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjcHJh
Z21hIG9uY2UKIAorI2luY2x1ZGUgIkRvY3VtZW50SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlJl
ZmVycmVyUG9saWN5LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTU1
LDYgKzU2LDcgQEAgc3RydWN0IEZldGNoT3B0aW9ucyB7CiAgICAgUmVmZXJyZXJQb2xpY3kgcmVm
ZXJyZXJQb2xpY3kgeyBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcgfTsKICAgICBTdHJpbmcg
aW50ZWdyaXR5OwogICAgIGJvb2wga2VlcEFsaXZlIHsgZmFsc2UgfTsKKyAgICBzdGQ6Om9wdGlv
bmFsPERvY3VtZW50SWRlbnRpZmllcj4gY2xpZW50SWRlbnRpZmllcjsKIH07CiAKIGlubGluZSBG
ZXRjaE9wdGlvbnM6OkZldGNoT3B0aW9ucyhEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbiwgTW9kZSBt
b2RlLCBDcmVkZW50aWFscyBjcmVkZW50aWFscywgQ2FjaGUgY2FjaGUsIFJlZGlyZWN0IHJlZGly
ZWN0LCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgU3RyaW5nJiYgaW50ZWdyaXR5LCBi
b29sIGtlZXBBbGl2ZSkKQEAgLTE2NSw2ICsxNjcsMTEgQEAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rl
cj4gaW5saW5lIHZvaWQgRmV0Y2hPcHRpb25zOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29u
c3QKICAgICBlbmNvZGVyIDw8IHJlZmVycmVyUG9saWN5OwogICAgIGVuY29kZXIgPDwgaW50ZWdy
aXR5OwogICAgIGVuY29kZXIgPDwga2VlcEFsaXZlOworCisgICAgc3RkOjpvcHRpb25hbDx1aW50
NjRfdD4gaWRlbnRpZmllcjsKKyAgICBpZiAoY2xpZW50SWRlbnRpZmllcikKKyAgICAgICAgaWRl
bnRpZmllciA9IGNsaWVudElkZW50aWZpZXItPnRvVUludDY0KCk7CisgICAgZW5jb2RlciA8PCBp
ZGVudGlmaWVyOwogfQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBpbmxpbmUgYm9vbCBGZXRj
aE9wdGlvbnM6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBGZXRjaE9wdGlvbnMmIG9wdGlvbnMp
CkBAIC0yMDEsNiArMjA4LDEwIEBAIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IGlubGluZSBib29s
IEZldGNoT3B0aW9uczo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIEZldGNoCiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShrZWVwQWxpdmUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBz
dGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiBjbGllbnRJZGVudGlmaWVyOworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUoY2xpZW50SWRlbnRpZmllcikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
IG9wdGlvbnMuZGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjsKICAgICBvcHRpb25zLm1vZGUgPSBt
b2RlOwogICAgIG9wdGlvbnMuY3JlZGVudGlhbHMgPSBjcmVkZW50aWFsczsKQEAgLTIwOSw2ICsy
MjAsOCBAQCB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBpbmxpbmUgYm9vbCBGZXRjaE9wdGlvbnM6
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBGZXRjaAogICAgIG9wdGlvbnMucmVmZXJyZXJQb2xp
Y3kgPSByZWZlcnJlclBvbGljeTsKICAgICBvcHRpb25zLmludGVncml0eSA9IFdURk1vdmUoaW50
ZWdyaXR5KTsKICAgICBvcHRpb25zLmtlZXBBbGl2ZSA9IGtlZXBBbGl2ZTsKKyAgICBpZiAoY2xp
ZW50SWRlbnRpZmllcikKKyAgICAgICAgb3B0aW9ucy5jbGllbnRJZGVudGlmaWVyID0gbWFrZU9i
amVjdElkZW50aWZpZXI8RG9jdW1lbnRJZGVudGlmaWVyVHlwZT4oY2xpZW50SWRlbnRpZmllci52
YWx1ZSgpKTsKIAogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMjM4ZDllZDAwZjRk
NmU5N2RmZWUwMGJhOGY2OTM4MTRkZjA2OWJhMy4uYTlmZTM4YjVlMjY1ZDBmMmNhMTZlNGRjMGEw
NTMxYmIxMDNmZmRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC02OTMsNiArNjkzLDggQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cHJlcGFyZUZldGNoKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIENh
Y2hlZFJlc291cmMKICAgICAgICAgaWYgKCFyZXF1ZXN0Lm9yaWdpbigpKQogICAgICAgICAgICAg
cmVxdWVzdC5zZXRPcmlnaW4oZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkpOwogI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKKyAgICAgICAgaWYgKHR5cGUgIT0gQ2FjaGVkUmVzb3VyY2U6OlR5
cGU6Ok1haW5SZXNvdXJjZSkKKyAgICAgICAgICAgIHJlcXVlc3Quc2V0Q2xpZW50SWRlbnRpZmll
cklmTmVlZGVkKGRvY3VtZW50LT5pZGVudGlmaWVyKCkpOwogICAgICAgICBpZiAoYXV0byogYWN0
aXZlU2VydmljZVdvcmtlciA9IGRvY3VtZW50LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkpCiAgICAg
ICAgICAgICByZXF1ZXN0LnNldFNlbGVjdGVkU2VydmljZVdvcmtlcklkZW50aWZpZXJJZk5lZWRl
ZChhY3RpdmVTZXJ2aWNlV29ya2VyLT5pZGVudGlmaWVyKCkpOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwCmlu
ZGV4IDgxZjg4MzNkNTRhYWY2Njk4ZDU0ZmJjNDRkMmIyNGJhMzQ3MThkMjcuLmIxMTYxMjhjNjk1
ZDFiNTNkMjE4YjQ4Y2QzMzBkYTZmZjBmZGY4ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwCkBAIC0yNzQsNiArMjc0
LDEyIEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0OjpzZXREZXN0aW5hdGlvbklmTm90U2V0
KEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzCiB9CiAKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCit2b2lkIENhY2hlZFJlc291cmNlUmVxdWVzdDo6c2V0Q2xpZW50SWRlbnRpZmllcklm
TmVlZGVkKERvY3VtZW50SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKQoreworICAgIGlmICgh
bV9vcHRpb25zLmNsaWVudElkZW50aWZpZXIpCisgICAgICAgIG1fb3B0aW9ucy5jbGllbnRJZGVu
dGlmaWVyID0gY2xpZW50SWRlbnRpZmllcjsKK30KKwogdm9pZCBDYWNoZWRSZXNvdXJjZVJlcXVl
c3Q6OnNldFNlbGVjdGVkU2VydmljZVdvcmtlcklkZW50aWZpZXJJZk5lZWRlZChTZXJ2aWNlV29y
a2VySWRlbnRpZmllciBpZGVudGlmaWVyKQogewogICAgIGlmIChpc05vblN1YnJlc291cmNlUmVx
dWVzdChtX29wdGlvbnMuZGVzdGluYXRpb24pKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5oCmluZGV4IGIzZGY3ZmRkZDM3OTVkNmQx
MWQyNjIzMTE1OGY4MDY2OWZmZmQxOWEuLmE5MTY5NDcxN2FhNTkyMzM2ZWJhNzFjZDZkMzYzYzJl
YzM0ZmZkMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0LmgKQEAgLTk4LDYgKzk4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBT
dHJpbmcgc3BsaXRGcmFnbWVudElkZW50aWZpZXJGcm9tUmVxdWVzdFVSTChSZXNvdXJjZVJlcXVl
c3QmKTsKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICB2b2lkIHNldENsaWVudElk
ZW50aWZpZXJJZk5lZWRlZChEb2N1bWVudElkZW50aWZpZXIpOwogICAgIHZvaWQgc2V0U2VsZWN0
ZWRTZXJ2aWNlV29ya2VySWRlbnRpZmllcklmTmVlZGVkKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
KTsKICAgICB2b2lkIHNldE5hdmlnYXRpb25TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YShj
b25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiYpOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9T
ZXJ2aWNlV29ya2VyRmV0Y2guY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2Nv
bnRleHQvU2VydmljZVdvcmtlckZldGNoLmNwcAppbmRleCAyZWU0MmQ0ODJjMmExNWMxOGNhMGY1
NmNhNjMyMzFhNmIxNWZiZTNiLi45NDFmNDJiYjU0YzFjNDI5NTBjYzEyNmFkMDg1ZTZlODU3ZTM3
YThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9T
ZXJ2aWNlV29ya2VyRmV0Y2guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJGZXRjaFJlcXVlc3QuaCIKICNpbmNsdWRlICJGZXRjaFJlc3BvbnNlLmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiU2VydmljZVdvcmtlckNsaWVudElkZW50
aWZpZXIuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC04OSwxNiArOTAsMjEgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc1Jlc3BvbnNlKFJl
ZjxDbGllbnQ+JiYgY2xpZW50LCBGZXRjaFJlc3BvbnNlKiByZXNwb25zZSkKICAgICBjbGllbnQt
PmRpZEZpbmlzaCgpOwogfQogCi1SZWY8RmV0Y2hFdmVudD4gZGlzcGF0Y2hGZXRjaEV2ZW50KFJl
ZjxDbGllbnQ+JiYgY2xpZW50LCBXb3JrZXJHbG9iYWxTY29wZSYgZ2xvYmFsU2NvcGUsIFJlc291
cmNlUmVxdWVzdCYmIHJlcXVlc3QsIEZldGNoT3B0aW9ucyYmIG9wdGlvbnMpCitSZWY8RmV0Y2hF
dmVudD4gZGlzcGF0Y2hGZXRjaEV2ZW50KFJlZjxDbGllbnQ+JiYgY2xpZW50LCBXb3JrZXJHbG9i
YWxTY29wZSYgZ2xvYmFsU2NvcGUsIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVudElk
ZW50aWZpZXI+IGNsaWVudElkLCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBGZXRjaE9wdGlv
bnMmJiBvcHRpb25zKQogewogICAgIEFTU0VSVChnbG9iYWxTY29wZS5pc1NlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZSgpKTsKIAogICAgIGF1dG8gcmVxdWVzdEhlYWRlcnMgPSBGZXRjaEhlYWRlcnM6
OmNyZWF0ZShGZXRjaEhlYWRlcnM6Okd1YXJkOjpJbW11dGFibGUsIEhUVFBIZWFkZXJNYXAgeyBy
ZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSB9KTsKICAgICBhdXRvIGZldGNoUmVxdWVzdCA9IEZl
dGNoUmVxdWVzdDo6Y3JlYXRlKGdsb2JhbFNjb3BlLCBGZXRjaEJvZHk6OmZyb21Gb3JtRGF0YShy
ZXF1ZXN0Lmh0dHBCb2R5KCkpLCBXVEZNb3ZlKHJlcXVlc3RIZWFkZXJzKSwgIFdURk1vdmUocmVx
dWVzdCksIFdURk1vdmUob3B0aW9ucyksIHJlcXVlc3QuaHR0cFJlZmVycmVyKCkpOwogCi0gICAg
Ly8gRklYTUU6IEluaXRpYWxpemUgb3RoZXIgRmV0Y2hFdmVudDo6SW5pdCBmaWVsZHMuCiAgICAg
RmV0Y2hFdmVudDo6SW5pdCBpbml0OwogICAgIGluaXQucmVxdWVzdCA9IFdURk1vdmUoZmV0Y2hS
ZXF1ZXN0KTsKKyAgICBpZiAob3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2
aWdhdGUpIHsKKyAgICAgICAgLy8gRklYTUU6IFNldCByZXNlcnZlZENsaWVudElkLgorICAgICAg
ICBpZiAoY2xpZW50SWQpCisgICAgICAgICAgICBpbml0LnRhcmdldENsaWVudElkID0gY2xpZW50
SWQtPnRvU3RyaW5nKCk7CisgICAgfSBlbHNlIGlmIChjbGllbnRJZCkKKyAgICAgICAgaW5pdC5j
bGllbnRJZCA9IGNsaWVudElkLT50b1N0cmluZygpOwogICAgIGluaXQuY2FuY2VsYWJsZSA9IHRy
dWU7CiAgICAgYXV0byBldmVudCA9IEZldGNoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZmV0
Y2hFdmVudCwgV1RGTW92ZShpbml0KSwgRXZlbnQ6OklzVHJ1c3RlZDo6WWVzKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtl
ckZldGNoLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNl
V29ya2VyRmV0Y2guaAppbmRleCBmZGU5MDg5YTk3ZjAwNjQxNjFkMWRmZjdkMmM2NTk0OTE4NDdj
MTAxLi42MjIxMDEyYWQ4N2E4NWRhNTFkODY1MzBkNDBkODU5OGIxZjA5MTVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0
Y2guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNl
V29ya2VyRmV0Y2guaApAQCAtMzcsNiArMzcsNyBAQCBjbGFzcyBGZXRjaFJlc3BvbnNlOwogY2xh
c3MgRm9ybURhdGE7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNvdXJjZVJlc3Bv
bnNlOworc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyOwogY2xhc3MgU2hhcmVk
QnVmZmVyOwogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiAKQEAgLTUzLDcgKzU0LDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWROb3RIYW5kbGUoKSA9IDA7CiB9OwogCi1SZWY8RmV0
Y2hFdmVudD4gZGlzcGF0Y2hGZXRjaEV2ZW50KFJlZjxDbGllbnQ+JiYsIFdvcmtlckdsb2JhbFNj
b3BlJiwgUmVzb3VyY2VSZXF1ZXN0JiYsIEZldGNoT3B0aW9ucyYmKTsKK1JlZjxGZXRjaEV2ZW50
PiBkaXNwYXRjaEZldGNoRXZlbnQoUmVmPENsaWVudD4mJiwgV29ya2VyR2xvYmFsU2NvcGUmLCBz
dGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyPiwgUmVzb3VyY2VSZXF1
ZXN0JiYsIEZldGNoT3B0aW9ucyYmKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlclRocmVhZC5jcHAKaW5kZXggNWY4ODUzMTYwZmRhODhhYWUwYzY4MGQ1MjA2
M2I0MWJhMzI0ODE4NS4uMTAzYjQ2MmRlNmQ2MDgwYzFlYjBmZDljMjk0YTA0ZjQyZGJjZjZlYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vydmlj
ZVdvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2Nv
bnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKQEAgLTk0LDEyICs5NCwxMiBAQCB2b2lkIFNl
cnZpY2VXb3JrZXJUaHJlYWQ6OnJ1bkV2ZW50TG9vcCgpCiAgICAgV29ya2VyVGhyZWFkOjpydW5F
dmVudExvb3AoKTsKIH0KIAotdm9pZCBTZXJ2aWNlV29ya2VyVGhyZWFkOjpwb3N0RmV0Y2hUYXNr
KFJlZjxTZXJ2aWNlV29ya2VyRmV0Y2g6OkNsaWVudD4mJiBjbGllbnQsIFJlc291cmNlUmVxdWVz
dCYmIHJlcXVlc3QsIEZldGNoT3B0aW9ucyYmIG9wdGlvbnMpCit2b2lkIFNlcnZpY2VXb3JrZXJU
aHJlYWQ6OnBvc3RGZXRjaFRhc2soUmVmPFNlcnZpY2VXb3JrZXJGZXRjaDo6Q2xpZW50PiYmIGNs
aWVudCwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcj4mJiBjbGll
bnRJZCwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgRmV0Y2hPcHRpb25zJiYgb3B0aW9ucykK
IHsKICAgICAvLyBGSVhNRTogaW5zdGVhZCBvZiBkaXJlY3RseSB1c2luZyBydW5Mb29wKCksIHdl
IHNob3VsZCBiZSB1c2luZyBzb21ldGhpbmcgbGlrZSBXb3JrZXJHbG9iYWxTY29wZVByb3h5Lgog
ICAgIC8vIEZJWE1FOiByZXF1ZXN0IGFuZCBvcHRpb25zIGNvbWUgc3RyYWlndGggZnJvbSBJUEMg
c28gYXJlIGFscmVhZHkgaXNvbGF0ZWQuIFdlIHNob3VsZCBiZSBhYmxlIHRvIHRha2UgYmVuZWZp
dCBvZiB0aGF0LgotICAgIHJ1bkxvb3AoKS5wb3N0VGFza0Zvck1vZGUoW3RoaXMsIGNsaWVudCA9
IFdURk1vdmUoY2xpZW50KSwgcmVxdWVzdCA9IHJlcXVlc3QuaXNvbGF0ZWRDb3B5KCksIG9wdGlv
bnMgPSBvcHRpb25zLmlzb2xhdGVkQ29weSgpXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCkgbXV0YWJsZSB7Ci0gICAgICAgIGF1dG8gZmV0Y2hFdmVudCA9IFNlcnZpY2VXb3JrZXJG
ZXRjaDo6ZGlzcGF0Y2hGZXRjaEV2ZW50KFdURk1vdmUoY2xpZW50KSwgZG93bmNhc3Q8V29ya2Vy
R2xvYmFsU2NvcGU+KGNvbnRleHQpLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKG9wdGlvbnMp
KTsKKyAgICBydW5Mb29wKCkucG9zdFRhc2tGb3JNb2RlKFt0aGlzLCBjbGllbnQgPSBXVEZNb3Zl
KGNsaWVudCksIGNsaWVudElkLCByZXF1ZXN0ID0gcmVxdWVzdC5pc29sYXRlZENvcHkoKSwgb3B0
aW9ucyA9IG9wdGlvbnMuaXNvbGF0ZWRDb3B5KCldIChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byBmZXRjaEV2ZW50ID0gU2VydmljZVdvcmtl
ckZldGNoOjpkaXNwYXRjaEZldGNoRXZlbnQoV1RGTW92ZShjbGllbnQpLCBkb3duY2FzdDxXb3Jr
ZXJHbG9iYWxTY29wZT4oY29udGV4dCksIGNsaWVudElkLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZN
b3ZlKG9wdGlvbnMpKTsKICAgICAgICAgdXBkYXRlRXh0ZW5kZWRFdmVudHNTZXQoZmV0Y2hFdmVu
dC5wdHIoKSk7CiAgICAgfSwgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29y
a2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2
aWNlV29ya2VyVGhyZWFkLmgKaW5kZXggYjRlMjcwYjZmNDU2NDBjYmI5MzMzMGMzYTEwMmJkNWE3
ZGVhYjhjNi4uMTFlNzNhNWNhY2M0ZjhhODBmNDFmOTg4ODZjYjA5ZGY3YmY0YzEwOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtl
clRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1Nl
cnZpY2VXb3JrZXJUaHJlYWQuaApAQCAtNTcsNyArNTcsOSBAQCBwdWJsaWM6CiAgICAgV29ya2Vy
T2JqZWN0UHJveHkmIHdvcmtlck9iamVjdFByb3h5KCkgY29uc3QgeyByZXR1cm4gbV93b3JrZXJP
YmplY3RQcm94eTsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwb3N0RmV0Y2hUYXNrKFJl
ZjxTZXJ2aWNlV29ya2VyRmV0Y2g6OkNsaWVudD4mJiwgUmVzb3VyY2VSZXF1ZXN0JiYsIEZldGNo
T3B0aW9ucyYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBvc3RGZXRjaFRhc2soUmVmPFNl
cnZpY2VXb3JrZXJGZXRjaDo6Q2xpZW50PiYmLCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJD
bGllbnRJZGVudGlmaWVyPiYmLCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZShSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBzdGQ6OnVuaXF1ZV9wdHI8TWVzc2Fn
ZVBvcnRDaGFubmVsQXJyYXk+JiYsIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIHNvdXJj
ZUlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgc291cmNlRGF0YSk7CisKICAg
ICB2b2lkIGZpcmVJbnN0YWxsRXZlbnQoKTsKICAgICB2b2lkIGZpcmVBY3RpdmF0ZUV2ZW50KCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAppbmRleCA3YzZjZjU2MjMyMjZm
OGNkM2ZjYTM1Y2JmYjNjOTM2ZTMwMDI3MDdmLi4zYWJmODlhYzlkOGJmZDEwNTE5ZWU5ZDU5MjE2
YTYwMTBkNjhhNGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFn
ZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCkBAIC0x
NDEsOSArMTQxLDEyIEBAIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnN0YXJ0
RmV0Y2goU1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciBzZXJ2CiAgICAgfQogCiAgICAgYXV0
byBjbGllbnQgPSBXZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50OjpjcmVhdGUobV9jb25u
ZWN0aW9uVG9TdG9yYWdlUHJvY2Vzcy5jb3B5UmVmKCksIHNlcnZlckNvbm5lY3Rpb25JZGVudGlm
aWVyLCBmZXRjaElkZW50aWZpZXIpOworICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNs
aWVudElkZW50aWZpZXI+IGNsaWVudElkOworICAgIGlmIChvcHRpb25zLmNsaWVudElkZW50aWZp
ZXIpCisgICAgICAgIGNsaWVudElkID0gU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgeyBz
ZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgb3B0aW9ucy5jbGllbnRJZGVudGlmaWVyLnZhbHVl
KCkgfTsKIAogICAgIHJlcXVlc3Quc2V0SFRUUEJvZHkoZm9ybURhdGEudGFrZURhdGEoKSk7Ci0g
ICAgc2VydmljZVdvcmtlclRocmVhZFByb3h5LT50aHJlYWQoKS5wb3N0RmV0Y2hUYXNrKFdURk1v
dmUoY2xpZW50KSwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSk7CisgICAgc2Vy
dmljZVdvcmtlclRocmVhZFByb3h5LT50aHJlYWQoKS5wb3N0RmV0Y2hUYXNrKFdURk1vdmUoY2xp
ZW50KSwgV1RGTW92ZShjbGllbnRJZCksIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUob3B0aW9u
cykpOwogfQogCiB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpwb3N0TWVzc2Fn
ZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3Rp
bmF0aW9uSWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNzYWdlLCBTZXJ2
aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBzb3VyY2VJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2Vy
Q2xpZW50RGF0YSYmIHNvdXJjZURhdGEpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCA4M2EzYTYwZmY1MDFmNjQ3YjEwZjdjNjMzYTZmZDZmZjUxOGEzYjRhLi43Mzc3NGZhZGY1ZGEx
N2JjNWFkZTUxMDU3YTgxYjliNzM0NDJiYTEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0xMS0yNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIEZldGNoRXZlbnQuY2xpZW50SWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDA1Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC5o
dHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtdGVzdC13b3JrZXIu
anM6CisgICAgICAgIChoYW5kbGVDbGllbnRJZCk6CisKIDIwMTctMTEtMjUgIEZyZWRlcmljIFdh
bmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEltcG9ydCBNYXRoTUwgV1BUIHRlc3Rz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggZmIwYjJmODIxMDJhYTVkM2Q2OGEyM2M2YTQ3ZDJkMGVjZjRhZjRiNy4uZTcxYzg3NjNh
MDRjYmU4NThhODJiY2M4NTQyYjk1OGE1MjVkM2MwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZmV0Y2gtZXZlbnQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ZldGNoLWV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNCw3ICs0LDcgQEAgRkFJTCBT
ZXJ2aWNlIFdvcmtlciBoZWFkZXJzIGluIHRoZSByZXF1ZXN0IG9mIGEgZmV0Y2ggZXZlbnQgYXNz
ZXJ0X3VucmVhY2hlZDogdW4KIEZBSUwgU2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2gg
ZXZlbnQgd2l0aCBzdHJpbmcgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246
IGFzc2VydF9lcXVhbHM6IFRoZSBjaGFyYWN0ZXIgc2V0IG9mIHRoZSByZXNwb25zZSBjcmVhdGVk
IHdpdGggYSBzdHJpbmcgc2hvdWxkIGJlIFVURi04IGV4cGVjdGVkICJVVEYtOCIgYnV0IGdvdCAi
d2luZG93cy0xMjUyIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIEZBSUwgU2VydmljZSBXb3Jr
ZXIgcmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCBibG9iIGJvZHkgYXNzZXJ0X3VucmVhY2hl
ZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IFNlcnZpY2UgV29ya2VyIHNo
b3VsZCByZXNwb25kIHRvIGZldGNoIHdpdGggYSB0ZXN0IHN0cmluZyBleHBlY3RlZCAiVGVzdCBi
bG9iIiBidXQgZ290ICIiIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogRkFJTCBTZXJ2aWNlIFdv
cmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIHRoZSByZWZlcnJlciBVUkwgYXNzZXJ0
X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IFNlcnZpY2Ug
V29ya2VyIHNob3VsZCByZXNwb25kIHRvIGZldGNoIHdpdGggdGhlIHJlZmVycmVyIFVSTCBleHBl
Y3RlZCAiUmVmZXJyZXI6IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50Lmh0dHBzLmh0bWwiIGJ1dCBnb3QgIiIgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCi1GQUlMIFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2
ZW50IHdpdGggYW4gZXhpc3RpbmcgY2xpZW50IGlkIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0
ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBTZXJ2aWNlIFdvcmtlciBzaG91bGQgcmVzcG9u
ZCB0byBmZXRjaCB3aXRoIGEgY2xpZW50IGlkIGV4cGVjdGVkICJDbGllbnQgSUQgTm90IEZvdW5k
IiBidXQgZ290ICJDbGllbnQgSUQgRm91bmQ6ICIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQ
QVNTIFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggYW4gZXhpc3Rp
bmcgY2xpZW50IGlkIAogUEFTUyBTZXJ2aWNlIFdvcmtlciBkb2VzIG5vdCByZXNwb25kIHRvIGZl
dGNoIGV2ZW50IAogUEFTUyBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3
aXRoIG51bGwgcmVzcG9uc2UgYm9keSAKIFBBU1MgU2VydmljZSBXb3JrZXIgZmV0Y2hlcyBvdGhl
ciBmaWxlIGluIGZldGNoIGV2ZW50IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2ZldGNoLWV2ZW50LXRlc3Qtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2ZldGNoLWV2ZW50LXRlc3Qtd29ya2VyLmpzCmluZGV4IDNkOGViMGIyMTJjMTk3MDY3
Yzc0ODJiMTAyMmMxYWRmNTZmZGZjNDguLjY1MDI1ZDkzNDA5M2FlOGNhYjMwYWI0M2IwMTEzZjAx
NTEzYTQ1MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1l
dmVudC10ZXN0LXdvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0
Y2gtZXZlbnQtdGVzdC13b3JrZXIuanMKQEAgLTI5LDcgKzI5LDcgQEAgZnVuY3Rpb24gaGFuZGxl
UmVmZXJyZXJGdWxsKGV2ZW50KSB7CiAKIGZ1bmN0aW9uIGhhbmRsZUNsaWVudElkKGV2ZW50KSB7
CiAgIHZhciBib2R5OwotICBpZiAoZXZlbnQuY2xpZW50SWQgIT09IG51bGwpIHsKKyAgaWYgKGV2
ZW50LmNsaWVudElkICE9PSAiIikgewogICAgIGJvZHkgPSAnQ2xpZW50IElEIEZvdW5kOiAnICsg
ZXZlbnQuY2xpZW50SWQ7CiAgIH0gZWxzZSB7CiAgICAgYm9keSA9ICdDbGllbnQgSUQgTm90IEZv
dW5kJzsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327786</attachid>
            <date>2017-11-28 14:11:30 -0800</date>
            <delta_ts>2017-11-29 12:04:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180052-20171128141129.patch</filename>
            <type>text/plain</type>
            <size>18719</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmI0OGY1MjdkNDg3OGM3
YjBmZTUzYzQxNmY3M2YwMjRjNzRmNWE5MC4uMzdkNmViOGQwMGY0ZWM2MjAxOTk1YWE3NWQ0NDc4
NDNhMTY4YzhkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDE3LTExLTI3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
RmV0Y2hFdmVudC5jbGllbnRJZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTgwMDUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3QuCisKKyAgICAgICAgQWRkIHNjcmlw
dCBleGVjdXRpb24gY29udGV4dCBpZGVudGlmaWVyIGFzIGEgRmV0Y2hPcHRpb25zIHBhcmFtZXRl
ci4KKyAgICAgICAgVGhpcyBpcyB0aGVuIHNlbnQgdG8gdGhlIHNlcnZpY2Ugd29ya2VyIHByb2Nl
c3Mgd2hpY2ggY2FuIHRoZW4gc2V0IEZldGNoRXZlbnQuY2xpZW50SWQgYXBwcm9wcmlhdGVseS4K
KyAgICAgICAgSWYgdGhlIGZldGNoIGlzIGZvciBhIHN1YnJlc291Y2UsIGNsaWVudElkIGlzIHVz
ZWQgZGlyZWN0bHkuCisgICAgICAgIElmIGl0IGlzIGEgbmF2aWdhdGlvbiwgY2xpZW50SWQgaXMg
c2V0IHRvIHRhcmdldENsaWVudElkLgorCisgICAgICAgICogbG9hZGVyL0ZldGNoT3B0aW9ucy5o
OgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hPcHRpb25zOjplbmNvZGUgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RmV0Y2hPcHRpb25zOjpkZWNvZGUpOgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cHJlcGFyZUZldGNoKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlUmVx
dWVzdDo6c2V0Q2xpZW50SWRlbnRpZmllcklmTmVlZGVkKToKKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Lmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2Nv
bnRleHQvU2VydmljZVdvcmtlckZldGNoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJGZXRjaDo6ZGlzcGF0Y2hGZXRjaEV2ZW50KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2guaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJUaHJlYWQ6OnBvc3RGZXRjaFRhc2spOgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaDoKKworMjAxNy0xMS0yNyAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKICAgICAgICAgUmVnaXN0ZXIgRG9jdW1lbnRz
IGFzIFNlcnZpY2VXb3JrZXIgY2xpZW50cyB0byB0aGUgU3RvcmFnZVByb2Nlc3MKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDA0NwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDBkMjk3ZTI3ZWMzNTQyM2ZhMjQ2NmJjZTA1YjhmOTVlODQwMDM3ZTMuLjUxOWM1ZGQyOGM4
NWYxZWQ2YzNlMDFhNjhhN2JmNDNhNGEwNzgzY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAK
IDIwMTctMTEtMjcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBGZXRjaEV2ZW50LmNsaWVudElkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAwNTIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0Nv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uOjpzdGFydEZldGNoKToKKworMjAxNy0xMS0yNyAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKICAgICAgICAgUmVnaXN0ZXIgRG9jdW1lbnRzIGFz
IFNlcnZpY2VXb3JrZXIgY2xpZW50cyB0byB0aGUgU3RvcmFnZVByb2Nlc3MKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDA0NwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRmV0Y2hPcHRpb25zLmgKaW5kZXggNzNiOTYyNGM4NjA5MTZkZWI5OTM3NzRjYWY4Mjhm
OTc0ZjdkMjE3OS4uYzM4ZGRiNjJhMjFjZjc4YTU4MTYzZDhiZDFjYTc2ZTU4NDViMjVkMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjcHJh
Z21hIG9uY2UKIAorI2luY2x1ZGUgIkRvY3VtZW50SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlJl
ZmVycmVyUG9saWN5LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTU1
LDYgKzU2LDcgQEAgc3RydWN0IEZldGNoT3B0aW9ucyB7CiAgICAgUmVmZXJyZXJQb2xpY3kgcmVm
ZXJyZXJQb2xpY3kgeyBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcgfTsKICAgICBTdHJpbmcg
aW50ZWdyaXR5OwogICAgIGJvb2wga2VlcEFsaXZlIHsgZmFsc2UgfTsKKyAgICBzdGQ6Om9wdGlv
bmFsPERvY3VtZW50SWRlbnRpZmllcj4gY2xpZW50SWRlbnRpZmllcjsKIH07CiAKIGlubGluZSBG
ZXRjaE9wdGlvbnM6OkZldGNoT3B0aW9ucyhEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbiwgTW9kZSBt
b2RlLCBDcmVkZW50aWFscyBjcmVkZW50aWFscywgQ2FjaGUgY2FjaGUsIFJlZGlyZWN0IHJlZGly
ZWN0LCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgU3RyaW5nJiYgaW50ZWdyaXR5LCBi
b29sIGtlZXBBbGl2ZSkKQEAgLTE2NSw2ICsxNjcsMTEgQEAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rl
cj4gaW5saW5lIHZvaWQgRmV0Y2hPcHRpb25zOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29u
c3QKICAgICBlbmNvZGVyIDw8IHJlZmVycmVyUG9saWN5OwogICAgIGVuY29kZXIgPDwgaW50ZWdy
aXR5OwogICAgIGVuY29kZXIgPDwga2VlcEFsaXZlOworCisgICAgc3RkOjpvcHRpb25hbDx1aW50
NjRfdD4gaWRlbnRpZmllcjsKKyAgICBpZiAoY2xpZW50SWRlbnRpZmllcikKKyAgICAgICAgaWRl
bnRpZmllciA9IGNsaWVudElkZW50aWZpZXItPnRvVUludDY0KCk7CisgICAgZW5jb2RlciA8PCBp
ZGVudGlmaWVyOwogfQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBpbmxpbmUgYm9vbCBGZXRj
aE9wdGlvbnM6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBGZXRjaE9wdGlvbnMmIG9wdGlvbnMp
CkBAIC0yMDEsNiArMjA4LDEwIEBAIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IGlubGluZSBib29s
IEZldGNoT3B0aW9uczo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIEZldGNoCiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShrZWVwQWxpdmUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBz
dGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiBjbGllbnRJZGVudGlmaWVyOworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUoY2xpZW50SWRlbnRpZmllcikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
IG9wdGlvbnMuZGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjsKICAgICBvcHRpb25zLm1vZGUgPSBt
b2RlOwogICAgIG9wdGlvbnMuY3JlZGVudGlhbHMgPSBjcmVkZW50aWFsczsKQEAgLTIwOSw2ICsy
MjAsOCBAQCB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBpbmxpbmUgYm9vbCBGZXRjaE9wdGlvbnM6
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBGZXRjaAogICAgIG9wdGlvbnMucmVmZXJyZXJQb2xp
Y3kgPSByZWZlcnJlclBvbGljeTsKICAgICBvcHRpb25zLmludGVncml0eSA9IFdURk1vdmUoaW50
ZWdyaXR5KTsKICAgICBvcHRpb25zLmtlZXBBbGl2ZSA9IGtlZXBBbGl2ZTsKKyAgICBpZiAoY2xp
ZW50SWRlbnRpZmllcikKKyAgICAgICAgb3B0aW9ucy5jbGllbnRJZGVudGlmaWVyID0gbWFrZU9i
amVjdElkZW50aWZpZXI8RG9jdW1lbnRJZGVudGlmaWVyVHlwZT4oY2xpZW50SWRlbnRpZmllci52
YWx1ZSgpKTsKIAogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMjM4ZDllZDAwZjRk
NmU5N2RmZWUwMGJhOGY2OTM4MTRkZjA2OWJhMy4uOWQ5MDZiOGRjN2VhMTdjOTFmZDQ0ZDI4MmQx
N2YxODkyNGRjYjM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC02OTMsNiArNjkzLDcgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cHJlcGFyZUZldGNoKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIENh
Y2hlZFJlc291cmMKICAgICAgICAgaWYgKCFyZXF1ZXN0Lm9yaWdpbigpKQogICAgICAgICAgICAg
cmVxdWVzdC5zZXRPcmlnaW4oZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkpOwogI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKKyAgICAgICAgcmVxdWVzdC5zZXRDbGllbnRJZGVudGlmaWVySWZO
ZWVkZWQoZG9jdW1lbnQtPmlkZW50aWZpZXIoKSk7CiAgICAgICAgIGlmIChhdXRvKiBhY3RpdmVT
ZXJ2aWNlV29ya2VyID0gZG9jdW1lbnQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkKICAgICAgICAg
ICAgIHJlcXVlc3Quc2V0U2VsZWN0ZWRTZXJ2aWNlV29ya2VySWRlbnRpZmllcklmTmVlZGVkKGFj
dGl2ZVNlcnZpY2VXb3JrZXItPmlkZW50aWZpZXIoKSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKaW5kZXgg
ODFmODgzM2Q1NGFhZjY2OThkNTRmYmM0NGQyYjI0YmEzNDcxOGQyNy4uYjExNjEyOGM2OTVkMWI1
M2QyMThiNDhjZDMzMGRhNmZmMGZkZjhlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKQEAgLTI3NCw2ICsyNzQsMTIg
QEAgdm9pZCBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OnNldERlc3RpbmF0aW9uSWZOb3RTZXQoRmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBkZXMKIH0KIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKK3ZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0OjpzZXRDbGllbnRJZGVudGlmaWVySWZOZWVk
ZWQoRG9jdW1lbnRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIpCit7CisgICAgaWYgKCFtX29w
dGlvbnMuY2xpZW50SWRlbnRpZmllcikKKyAgICAgICAgbV9vcHRpb25zLmNsaWVudElkZW50aWZp
ZXIgPSBjbGllbnRJZGVudGlmaWVyOworfQorCiB2b2lkIENhY2hlZFJlc291cmNlUmVxdWVzdDo6
c2V0U2VsZWN0ZWRTZXJ2aWNlV29ya2VySWRlbnRpZmllcklmTmVlZGVkKFNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7CiAgICAgaWYgKGlzTm9uU3VicmVzb3VyY2VSZXF1ZXN0
KG1fb3B0aW9ucy5kZXN0aW5hdGlvbikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmgKaW5kZXggYjNkZjdmZGRkMzc5NWQ2ZDExZDI2
MjMxMTU4ZjgwNjY5ZmZmZDE5YS4uYTkxNjk0NzE3YWE1OTIzMzZlYmE3MWNkNmQzNjNjMmVjMzRm
ZmQxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZVJlcXVlc3QuaApAQCAtOTgsNiArOTgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cmlu
ZyBzcGxpdEZyYWdtZW50SWRlbnRpZmllckZyb21SZXF1ZXN0VVJMKFJlc291cmNlUmVxdWVzdCYp
OwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIHZvaWQgc2V0Q2xpZW50SWRlbnRp
ZmllcklmTmVlZGVkKERvY3VtZW50SWRlbnRpZmllcik7CiAgICAgdm9pZCBzZXRTZWxlY3RlZFNl
cnZpY2VXb3JrZXJJZGVudGlmaWVySWZOZWVkZWQoU2VydmljZVdvcmtlcklkZW50aWZpZXIpOwog
ICAgIHZvaWQgc2V0TmF2aWdhdGlvblNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhKGNvbnN0
IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+Jik7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZp
Y2VXb3JrZXJGZXRjaC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4
dC9TZXJ2aWNlV29ya2VyRmV0Y2guY3BwCmluZGV4IDJlZTQyZDQ4MmMyYTE1YzE4Y2EwZjU2Y2E2
MzIzMWE2YjE1ZmJlM2IuLjk0MWY0MmJiNTRjMWM0Mjk1MGNjMTI2YWQwODVlNmU4NTdlMzdhOGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZp
Y2VXb3JrZXJGZXRjaC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2Nv
bnRleHQvU2VydmljZVdvcmtlckZldGNoLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
IkZldGNoUmVxdWVzdC5oIgogI2luY2x1ZGUgIkZldGNoUmVzcG9uc2UuaCIKICNpbmNsdWRlICJS
ZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmll
ci5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTg5LDE2ICs5MCwyMSBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzUmVzcG9uc2UoUmVmPENs
aWVudD4mJiBjbGllbnQsIEZldGNoUmVzcG9uc2UqIHJlc3BvbnNlKQogICAgIGNsaWVudC0+ZGlk
RmluaXNoKCk7CiB9CiAKLVJlZjxGZXRjaEV2ZW50PiBkaXNwYXRjaEZldGNoRXZlbnQoUmVmPENs
aWVudD4mJiBjbGllbnQsIFdvcmtlckdsb2JhbFNjb3BlJiBnbG9iYWxTY29wZSwgUmVzb3VyY2VS
ZXF1ZXN0JiYgcmVxdWVzdCwgRmV0Y2hPcHRpb25zJiYgb3B0aW9ucykKK1JlZjxGZXRjaEV2ZW50
PiBkaXNwYXRjaEZldGNoRXZlbnQoUmVmPENsaWVudD4mJiBjbGllbnQsIFdvcmtlckdsb2JhbFNj
b3BlJiBnbG9iYWxTY29wZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRp
Zmllcj4gY2xpZW50SWQsIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIEZldGNoT3B0aW9ucyYm
IG9wdGlvbnMpCiB7CiAgICAgQVNTRVJUKGdsb2JhbFNjb3BlLmlzU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlKCkpOwogCiAgICAgYXV0byByZXF1ZXN0SGVhZGVycyA9IEZldGNoSGVhZGVyczo6Y3Jl
YXRlKEZldGNoSGVhZGVyczo6R3VhcmQ6OkltbXV0YWJsZSwgSFRUUEhlYWRlck1hcCB7IHJlcXVl
c3QuaHR0cEhlYWRlckZpZWxkcygpIH0pOwogICAgIGF1dG8gZmV0Y2hSZXF1ZXN0ID0gRmV0Y2hS
ZXF1ZXN0OjpjcmVhdGUoZ2xvYmFsU2NvcGUsIEZldGNoQm9keTo6ZnJvbUZvcm1EYXRhKHJlcXVl
c3QuaHR0cEJvZHkoKSksIFdURk1vdmUocmVxdWVzdEhlYWRlcnMpLCAgV1RGTW92ZShyZXF1ZXN0
KSwgV1RGTW92ZShvcHRpb25zKSwgcmVxdWVzdC5odHRwUmVmZXJyZXIoKSk7CiAKLSAgICAvLyBG
SVhNRTogSW5pdGlhbGl6ZSBvdGhlciBGZXRjaEV2ZW50OjpJbml0IGZpZWxkcy4KICAgICBGZXRj
aEV2ZW50OjpJbml0IGluaXQ7CiAgICAgaW5pdC5yZXF1ZXN0ID0gV1RGTW92ZShmZXRjaFJlcXVl
c3QpOworICAgIGlmIChvcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0
ZSkgeworICAgICAgICAvLyBGSVhNRTogU2V0IHJlc2VydmVkQ2xpZW50SWQuCisgICAgICAgIGlm
IChjbGllbnRJZCkKKyAgICAgICAgICAgIGluaXQudGFyZ2V0Q2xpZW50SWQgPSBjbGllbnRJZC0+
dG9TdHJpbmcoKTsKKyAgICB9IGVsc2UgaWYgKGNsaWVudElkKQorICAgICAgICBpbml0LmNsaWVu
dElkID0gY2xpZW50SWQtPnRvU3RyaW5nKCk7CiAgICAgaW5pdC5jYW5jZWxhYmxlID0gdHJ1ZTsK
ICAgICBhdXRvIGV2ZW50ID0gRmV0Y2hFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5mZXRjaEV2
ZW50LCBXVEZNb3ZlKGluaXQpLCBFdmVudDo6SXNUcnVzdGVkOjpZZXMpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0
Y2guaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3Jr
ZXJGZXRjaC5oCmluZGV4IGZkZTkwODlhOTdmMDA2NDE2MWQxZGZmN2QyYzY1OTQ5MTg0N2MxMDEu
LjYyMjEwMTJhZDg3YTg1ZGE1MWQ4NjUzMGQ0MGQ4NTk4YjFmMDkxNWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3Jr
ZXJGZXRjaC5oCkBAIC0zNyw2ICszNyw3IEBAIGNsYXNzIEZldGNoUmVzcG9uc2U7CiBjbGFzcyBG
b3JtRGF0YTsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7
CitzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI7CiBjbGFzcyBTaGFyZWRCdWZm
ZXI7CiBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZTsKIApAQCAtNTMsNyArNTQsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZSgpID0gMDsKIH07CiAKLVJlZjxGZXRjaEV2
ZW50PiBkaXNwYXRjaEZldGNoRXZlbnQoUmVmPENsaWVudD4mJiwgV29ya2VyR2xvYmFsU2NvcGUm
LCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYpOworUmVmPEZldGNoRXZlbnQ+IGRp
c3BhdGNoRmV0Y2hFdmVudChSZWY8Q2xpZW50PiYmLCBXb3JrZXJHbG9iYWxTY29wZSYsIHN0ZDo6
b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI+LCBSZXNvdXJjZVJlcXVlc3Qm
JiwgRmV0Y2hPcHRpb25zJiYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtl
clRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2
aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCA1Zjg4NTMxNjBmZGE4OGFhZTBjNjgwZDUyMDYzYjQx
YmEzMjQ4MTg1Li4xMDNiNDYyZGU2ZDYwODBjMWViMGZkOWMyOTRhMDRmNDJkYmNmNmVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29y
a2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4
dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAtOTQsMTIgKzk0LDEyIEBAIHZvaWQgU2Vydmlj
ZVdvcmtlclRocmVhZDo6cnVuRXZlbnRMb29wKCkKICAgICBXb3JrZXJUaHJlYWQ6OnJ1bkV2ZW50
TG9vcCgpOwogfQogCi12b2lkIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OnBvc3RGZXRjaFRhc2soUmVm
PFNlcnZpY2VXb3JrZXJGZXRjaDo6Q2xpZW50PiYmIGNsaWVudCwgUmVzb3VyY2VSZXF1ZXN0JiYg
cmVxdWVzdCwgRmV0Y2hPcHRpb25zJiYgb3B0aW9ucykKK3ZvaWQgU2VydmljZVdvcmtlclRocmVh
ZDo6cG9zdEZldGNoVGFzayhSZWY8U2VydmljZVdvcmtlckZldGNoOjpDbGllbnQ+JiYgY2xpZW50
LCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyPiYmIGNsaWVudElk
LCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBvcHRpb25zKQogewog
ICAgIC8vIEZJWE1FOiBpbnN0ZWFkIG9mIGRpcmVjdGx5IHVzaW5nIHJ1bkxvb3AoKSwgd2Ugc2hv
dWxkIGJlIHVzaW5nIHNvbWV0aGluZyBsaWtlIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAgICAg
Ly8gRklYTUU6IHJlcXVlc3QgYW5kIG9wdGlvbnMgY29tZSBzdHJhaWd0aCBmcm9tIElQQyBzbyBh
cmUgYWxyZWFkeSBpc29sYXRlZC4gV2Ugc2hvdWxkIGJlIGFibGUgdG8gdGFrZSBiZW5lZml0IG9m
IHRoYXQuCi0gICAgcnVuTG9vcCgpLnBvc3RUYXNrRm9yTW9kZShbdGhpcywgY2xpZW50ID0gV1RG
TW92ZShjbGllbnQpLCByZXF1ZXN0ID0gcmVxdWVzdC5pc29sYXRlZENvcHkoKSwgb3B0aW9ucyA9
IG9wdGlvbnMuaXNvbGF0ZWRDb3B5KCldIChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
KSBtdXRhYmxlIHsKLSAgICAgICAgYXV0byBmZXRjaEV2ZW50ID0gU2VydmljZVdvcmtlckZldGNo
OjpkaXNwYXRjaEZldGNoRXZlbnQoV1RGTW92ZShjbGllbnQpLCBkb3duY2FzdDxXb3JrZXJHbG9i
YWxTY29wZT4oY29udGV4dCksIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUob3B0aW9ucykpOwor
ICAgIHJ1bkxvb3AoKS5wb3N0VGFza0Zvck1vZGUoW3RoaXMsIGNsaWVudCA9IFdURk1vdmUoY2xp
ZW50KSwgY2xpZW50SWQsIHJlcXVlc3QgPSByZXF1ZXN0Lmlzb2xhdGVkQ29weSgpLCBvcHRpb25z
ID0gb3B0aW9ucy5pc29sYXRlZENvcHkoKV0gKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQpIG11dGFibGUgeworICAgICAgICBhdXRvIGZldGNoRXZlbnQgPSBTZXJ2aWNlV29ya2VyRmV0
Y2g6OmRpc3BhdGNoRmV0Y2hFdmVudChXVEZNb3ZlKGNsaWVudCksIGRvd25jYXN0PFdvcmtlckds
b2JhbFNjb3BlPihjb250ZXh0KSwgY2xpZW50SWQsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUo
b3B0aW9ucykpOwogICAgICAgICB1cGRhdGVFeHRlbmRlZEV2ZW50c1NldChmZXRjaEV2ZW50LnB0
cigpKTsKICAgICB9LCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJU
aHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJUaHJlYWQuaAppbmRleCBiNGUyNzBiNmY0NTY0MGNiYjkzMzMwYzNhMTAyYmQ1YTdkZWFi
OGM2Li4xMWU3M2E1Y2FjYzRmOGE4MGY0MWY5ODg4NmNiMDlkZjdiZjRjMTA5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhy
ZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vydmlj
ZVdvcmtlclRocmVhZC5oCkBAIC01Nyw3ICs1Nyw5IEBAIHB1YmxpYzoKICAgICBXb3JrZXJPYmpl
Y3RQcm94eSYgd29ya2VyT2JqZWN0UHJveHkoKSBjb25zdCB7IHJldHVybiBtX3dvcmtlck9iamVj
dFByb3h5OyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBvc3RGZXRjaFRhc2soUmVmPFNl
cnZpY2VXb3JrZXJGZXRjaDo6Q2xpZW50PiYmLCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRp
b25zJiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcG9zdEZldGNoVGFzayhSZWY8U2Vydmlj
ZVdvcmtlckZldGNoOjpDbGllbnQ+JiYsIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXI+JiYsIFJlc291cmNlUmVxdWVzdCYmLCBGZXRjaE9wdGlvbnMmJik7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
KFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYsIHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdlUG9y
dENoYW5uZWxBcnJheT4mJiwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgc291cmNlSWRl
bnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2VEYXRhKTsKKwogICAgIHZv
aWQgZmlyZUluc3RhbGxFdmVudCgpOwogICAgIHZvaWQgZmlyZUFjdGl2YXRlRXZlbnQoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCmluZGV4IDdjNmNmNTYyMzIyNmY4Y2Qz
ZmNhMzVjYmZiM2M5MzZlMzAwMjcwN2YuLjNhYmY4OWFjOWQ4YmZkMTA1MTllZTlkNTkyMTZhNjAx
MGQ2OGE0YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKQEAgLTE0MSw5
ICsxNDEsMTIgQEAgdm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6c3RhcnRGZXRj
aChTV1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyIHNlcnYKICAgICB9CiAKICAgICBhdXRvIGNs
aWVudCA9IFdlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQ6OmNyZWF0ZShtX2Nvbm5lY3Rp
b25Ub1N0b3JhZ2VQcm9jZXNzLmNvcHlSZWYoKSwgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIs
IGZldGNoSWRlbnRpZmllcik7CisgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50
SWRlbnRpZmllcj4gY2xpZW50SWQ7CisgICAgaWYgKG9wdGlvbnMuY2xpZW50SWRlbnRpZmllcikK
KyAgICAgICAgY2xpZW50SWQgPSBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciB7IHNlcnZl
ckNvbm5lY3Rpb25JZGVudGlmaWVyLCBvcHRpb25zLmNsaWVudElkZW50aWZpZXIudmFsdWUoKSB9
OwogCiAgICAgcmVxdWVzdC5zZXRIVFRQQm9keShmb3JtRGF0YS50YWtlRGF0YSgpKTsKLSAgICBz
ZXJ2aWNlV29ya2VyVGhyZWFkUHJveHktPnRocmVhZCgpLnBvc3RGZXRjaFRhc2soV1RGTW92ZShj
bGllbnQpLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKG9wdGlvbnMpKTsKKyAgICBzZXJ2aWNl
V29ya2VyVGhyZWFkUHJveHktPnRocmVhZCgpLnBvc3RGZXRjaFRhc2soV1RGTW92ZShjbGllbnQp
LCBXVEZNb3ZlKGNsaWVudElkKSwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSk7
CiB9CiAKIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9T
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRp
b25JZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIG1lc3NhZ2UsIFNlcnZpY2VX
b3JrZXJDbGllbnRJZGVudGlmaWVyIHNvdXJjZUlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGll
bnREYXRhJiYgc291cmNlRGF0YSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDgz
YTNhNjBmZjUwMWY2NDdiMTBmN2M2MzNhNmZkNmZmNTE4YTNiNGEuLjJmMDI4YWZhOTU4MDIxMGQ4
NGI1MmM5MzQ4MDY4ZWIxZGU1YThlOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDE3LTExLTI3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgRmV0Y2hFdmVudC5jbGllbnRJZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMDUyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50Lmh0dHBz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLWdldC13b3JrZXIuanMKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1ldmVudC10ZXN0LXdvcmtlci5qczoKKwogMjAxNy0xMS0yNSAgRnJlZGVy
aWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CiAKICAgICAgICAgSW1wb3J0IE1hdGhNTCBXUFQg
dGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50Lmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50Lmh0dHBzLWV4cGVjdGVk
LnR4dAppbmRleCBmYjBiMmY4MjEwMmFhNWQzZDY4YTIzYzZhNDdkMmQwZWNmNGFmNGI3Li5lNzFj
ODc2M2EwNGNiZTg1OGE4MmJjYzg1NDJiOTU4YTUyNWQzYzBjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9mZXRjaC1ldmVudC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZmV0Y2gtZXZlbnQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC00LDcgKzQsNyBAQCBG
QUlMIFNlcnZpY2UgV29ya2VyIGhlYWRlcnMgaW4gdGhlIHJlcXVlc3Qgb2YgYSBmZXRjaCBldmVu
dCBhc3NlcnRfdW5yZWFjaGVkOiB1bgogRkFJTCBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBm
ZXRjaCBldmVudCB3aXRoIHN0cmluZyBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVj
dGlvbjogYXNzZXJ0X2VxdWFsczogVGhlIGNoYXJhY3RlciBzZXQgb2YgdGhlIHJlc3BvbnNlIGNy
ZWF0ZWQgd2l0aCBhIHN0cmluZyBzaG91bGQgYmUgVVRGLTggZXhwZWN0ZWQgIlVURi04IiBidXQg
Z290ICJ3aW5kb3dzLTEyNTIiIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogRkFJTCBTZXJ2aWNl
IFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIGJsb2IgYm9keSBhc3NlcnRfdW5y
ZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X2VxdWFsczogU2VydmljZSBXb3Jr
ZXIgc2hvdWxkIHJlc3BvbmQgdG8gZmV0Y2ggd2l0aCBhIHRlc3Qgc3RyaW5nIGV4cGVjdGVkICJU
ZXN0IGJsb2IiIGJ1dCBnb3QgIiIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBGQUlMIFNlcnZp
Y2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggdGhlIHJlZmVycmVyIFVSTCBh
c3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X2VxdWFsczogU2Vy
dmljZSBXb3JrZXIgc2hvdWxkIHJlc3BvbmQgdG8gZmV0Y2ggd2l0aCB0aGUgcmVmZXJyZXIgVVJM
IGV4cGVjdGVkICJSZWZlcnJlcjogaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbCIgYnV0IGdvdCAiIiBSZWFj
aGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgU2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0
Y2ggZXZlbnQgd2l0aCBhbiBleGlzdGluZyBjbGllbnQgaWQgYXNzZXJ0X3VucmVhY2hlZDogdW5l
eHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IFNlcnZpY2UgV29ya2VyIHNob3VsZCBy
ZXNwb25kIHRvIGZldGNoIHdpdGggYSBjbGllbnQgaWQgZXhwZWN0ZWQgIkNsaWVudCBJRCBOb3Qg
Rm91bmQiIGJ1dCBnb3QgIkNsaWVudCBJRCBGb3VuZDogIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNv
ZGUKK1BBU1MgU2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCBhbiBl
eGlzdGluZyBjbGllbnQgaWQgCiBQQVNTIFNlcnZpY2UgV29ya2VyIGRvZXMgbm90IHJlc3BvbmQg
dG8gZmV0Y2ggZXZlbnQgCiBQQVNTIFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2
ZW50IHdpdGggbnVsbCByZXNwb25zZSBib2R5IAogUEFTUyBTZXJ2aWNlIFdvcmtlciBmZXRjaGVz
IG90aGVyIGZpbGUgaW4gZmV0Y2ggZXZlbnQgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvY2xpZW50cy1nZXQtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2NsaWVudHMtZ2V0LXdvcmtlci5qcwppbmRleCA3N2M5OWU4MzUyMTk1NjBlMGY1ZTVm
YjBiZGQ3NDgzOTU2NWVjN2U4Li45ZjNhZjIxYWJlN2IyZjAyZTAzMTNmMDU2NmZmYmM5NGRiOTE4
NTcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvY2xpZW50cy1nZXQt
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLWdldC13
b3JrZXIuanMKQEAgLTQsOSArNCw5IEBACiAvLyB0aGUgYGV2ZW50YCBvYmplY3QuIEluIHRoZSBj
YXNlIG9mIHRoZSBgb25tZXNzYWdlYCBoYW5kbGVyLCBpdCBwcm92aWRlcyB0aGUKIC8vIENsaWVu
dCBpbnN0YW5jZSBhdHRyaWJ1dGVzIG9mIHRoZSByZXF1ZXN0ZWQgY2xpZW50cy4KIHNlbGYub25m
ZXRjaCA9IGZ1bmN0aW9uKGUpIHsKLSAgaWYgKGUucmVxdWVzdC5tb2RlID09PSAnbmF2aWdhdGUn
ICYmIGUuY2xpZW50SWQgIT09IG51bGwpIHsKKyAgaWYgKGUucmVxdWVzdC5tb2RlID09PSAnbmF2
aWdhdGUnICYmIGUuY2xpZW50SWQgIT09ICIiKSB7CiAgICAgZS5yZXNwb25kV2l0aChSZXNwb25z
ZS5lcnJvcigKLSAgICAgICdgY2xpZW50SWRgIGluY29ycmVjdGx5IHNldCB0byBub24tbnVsbCB2
YWx1ZSBmb3IgcmVxdWVzdCB3aXRoIG1vZGUgYG5hdmlnYXRlYCcKKyAgICAgICdgY2xpZW50SWRg
IGluY29ycmVjdGx5IHNldCB0byBub24tZW1wdHkgdmFsdWUgZm9yIHJlcXVlc3Qgd2l0aCBtb2Rl
IGBuYXZpZ2F0ZWAnCiAgICAgKSk7CiAgICAgcmV0dXJuOwogICB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtdGVzdC13b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtdGVzdC13b3JrZXIuanMKaW5kZXgg
M2Q4ZWIwYjIxMmMxOTcwNjdjNzQ4MmIxMDIyYzFhZGY1NmZkZmM0OC4uNjUwMjVkOTM0MDkzYWU4
Y2FiMzBhYjQzYjAxMTNmMDE1MTNhNDUxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLWV2ZW50LXRlc3Qtd29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC10ZXN0LXdvcmtlci5qcwpAQCAtMjksNyArMjksNyBA
QCBmdW5jdGlvbiBoYW5kbGVSZWZlcnJlckZ1bGwoZXZlbnQpIHsKIAogZnVuY3Rpb24gaGFuZGxl
Q2xpZW50SWQoZXZlbnQpIHsKICAgdmFyIGJvZHk7Ci0gIGlmIChldmVudC5jbGllbnRJZCAhPT0g
bnVsbCkgeworICBpZiAoZXZlbnQuY2xpZW50SWQgIT09ICIiKSB7CiAgICAgYm9keSA9ICdDbGll
bnQgSUQgRm91bmQ6ICcgKyBldmVudC5jbGllbnRJZDsKICAgfSBlbHNlIHsKICAgICBib2R5ID0g
J0NsaWVudCBJRCBOb3QgRm91bmQnOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327885</attachid>
            <date>2017-11-29 12:04:44 -0800</date>
            <delta_ts>2017-11-29 13:27:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180052-20171129120443.patch</filename>
            <type>text/plain</type>
            <size>21213</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFmZTYyMzVlZWZlZjNm
NWFiNmNmNTJlYjA4ZTk3ZGFkNTkxN2FkMS4uOWZlMTJmZjM1MWY2ODM2MGE0NzkwNjc5ZTU3OTc3
Y2I1OWI0NzBmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDE3LTExLTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
RmV0Y2hFdmVudC5jbGllbnRJZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTgwMDUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3QuCisKKyAgICAgICAgQWRkIHNjcmlw
dCBleGVjdXRpb24gY29udGV4dCBpZGVudGlmaWVyIGFzIGEgRmV0Y2hPcHRpb25zIHBhcmFtZXRl
ci4KKyAgICAgICAgVGhpcyBpcyB0aGVuIHNlbnQgdG8gdGhlIHNlcnZpY2Ugd29ya2VyIHByb2Nl
c3Mgd2hpY2ggY2FuIHRoZW4gc2V0IEZldGNoRXZlbnQuY2xpZW50SWQgYXBwcm9wcmlhdGVseS4K
KyAgICAgICAgSWYgdGhlIGZldGNoIGlzIGZvciBhIHN1YnJlc291Y2UsIGNsaWVudElkIGlzIHVz
ZWQgZGlyZWN0bHkuCisgICAgICAgIElmIGl0IGlzIGEgbmF2aWdhdGlvbiwgY2xpZW50SWQgaXMg
c2V0IHRvIHRhcmdldENsaWVudElkLgorCisgICAgICAgICogbG9hZGVyL0ZldGNoT3B0aW9ucy5o
OgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hPcHRpb25zOjplbmNvZGUgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RmV0Y2hPcHRpb25zOjpkZWNvZGUpOgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cHJlcGFyZUZldGNoKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlUmVx
dWVzdDo6c2V0Q2xpZW50SWRlbnRpZmllcklmTmVlZGVkKToKKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Lmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2Nv
bnRleHQvU2VydmljZVdvcmtlckZldGNoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJGZXRjaDo6ZGlzcGF0Y2hGZXRjaEV2ZW50KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2guaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJUaHJlYWQ6OnBvc3RGZXRjaFRhc2spOgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaDoKKworMjAxNy0xMS0yOSAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKICAgICAgICAgRmxha3kgY3Jhc2ggaW4gV2Vi
Q29yZTo6RE9NR3VhcmRlZE9iamVjdDo6Y2xlYXIoKSBkdXJpbmcgc2VydmljZSB3b3JrZXIgdGVz
dHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDA0
NQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzU3MzcyODg+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcwMzg5NTE0
OWYxMzFjM2NlMzA2ZDlmYWMyOWI0NTMxNzZjZGJmYjEuLjFiNzc0M2MyMTExMGIxMWRhMGMxNjkz
ZDYzNmQyNWYzNmMxMGU5YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTctMTEtMjkg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0
IGZvciBGZXRjaEV2ZW50LmNsaWVudElkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xODAwNTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBVc2luZyBGZXRjaE9wdGlvbiBwZXJzaXN0ZW5jeSBjb2RlcnMuCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGU6OmVuY29kZSk6CisgICAg
ICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGU6OmRlY29kZVJlY29yZEhlYWRlcik6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnN0
YXJ0RmV0Y2gpOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uOjpzdGFydEZldGNoKToKKwogMjAxNy0xMS0yOSAgWmFuIERvYmVyc2VrICA8emRv
YmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0Nvb3JkR3JhcGhpY3NdIFJlbmFtZSBDb29y
ZGluYXRlZEJ1ZmZlciB0byBOaWNvc2lhOjpCdWZmZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9w
dGlvbnMuaAppbmRleCA3M2I5NjI0Yzg2MDkxNmRlYjk5Mzc3NGNhZjgyOGY5NzRmN2QyMTc5Li5l
ZWEwOGI2MTIwNzE1Y2NkOWRkNzQwNGJlZjFmYzliMjg4YjI5OWZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZldGNoT3B0aW9ucy5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNwcmFnbWEgb25jZQogCisj
aW5jbHVkZSAiRG9jdW1lbnRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUmVmZXJyZXJQb2xpY3ku
aCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDQsNiArNDUsOCBAQCBz
dHJ1Y3QgRmV0Y2hPcHRpb25zIHsKICAgICBGZXRjaE9wdGlvbnMoRGVzdGluYXRpb24sIE1vZGUs
IENyZWRlbnRpYWxzLCBDYWNoZSwgUmVkaXJlY3QsIFJlZmVycmVyUG9saWN5LCBTdHJpbmcmJiwg
Ym9vbCk7CiAgICAgRmV0Y2hPcHRpb25zIGlzb2xhdGVkQ29weSgpIGNvbnN0IHsgcmV0dXJuIHsg
ZGVzdGluYXRpb24sIG1vZGUsIGNyZWRlbnRpYWxzLCBjYWNoZSwgcmVkaXJlY3QsIHJlZmVycmVy
UG9saWN5LCBpbnRlZ3JpdHkuaXNvbGF0ZWRDb3B5KCksIGtlZXBBbGl2ZSB9OyB9CiAKKyAgICB0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZVBlcnNpc3RlbnQoRW5jb2RlciYpIGNv
bnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBib29sIGRlY29kZVBlcnNp
c3RlbnQoRGVjb2RlciYsIEZldGNoT3B0aW9ucyYpOwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIEZldGNoT3B0aW9ucyYpOwogCkBAIC01
NSw2ICs1OCw3IEBAIHN0cnVjdCBGZXRjaE9wdGlvbnMgewogICAgIFJlZmVycmVyUG9saWN5IHJl
ZmVycmVyUG9saWN5IHsgUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nIH07CiAgICAgU3RyaW5n
IGludGVncml0eTsKICAgICBib29sIGtlZXBBbGl2ZSB7IGZhbHNlIH07CisgICAgc3RkOjpvcHRp
b25hbDxEb2N1bWVudElkZW50aWZpZXI+IGNsaWVudElkZW50aWZpZXI7CiB9OwogCiBpbmxpbmUg
RmV0Y2hPcHRpb25zOjpGZXRjaE9wdGlvbnMoRGVzdGluYXRpb24gZGVzdGluYXRpb24sIE1vZGUg
bW9kZSwgQ3JlZGVudGlhbHMgY3JlZGVudGlhbHMsIENhY2hlIGNhY2hlLCBSZWRpcmVjdCByZWRp
cmVjdCwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIFN0cmluZyYmIGludGVncml0eSwg
Ym9vbCBrZWVwQWxpdmUpCkBAIC0xNTUsOCArMTU5LDkgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51
bVRyYWl0czxXZWJDb3JlOjpGZXRjaE9wdGlvbnM6OlJlZGlyZWN0PiB7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gaW5saW5lIHZvaWQgRmV0Y2hPcHRp
b25zOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3RlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IGlubGluZSB2b2lkIEZldGNoT3B0aW9uczo6ZW5jb2RlUGVyc2lzdGVudChFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogeworICAgIC8vIENoYW5nZXMgdG8gZW5jb2RpbmcgaGVyZSBzaG91bGQg
YnVtcCBOZXR3b3JrQ2FjaGUgU3RvcmFnZSBmb3JtYXQgdmVyc2lvbi4KICAgICBlbmNvZGVyIDw8
IGRlc3RpbmF0aW9uOwogICAgIGVuY29kZXIgPDwgbW9kZTsKICAgICBlbmNvZGVyIDw8IGNyZWRl
bnRpYWxzOwpAQCAtMTY3LDcgKzE3Miw3IEBAIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IGlubGlu
ZSB2b2lkIEZldGNoT3B0aW9uczo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAg
ZW5jb2RlciA8PCBrZWVwQWxpdmU7CiB9CiAKLXRlbXBsYXRlPGNsYXNzIERlY29kZXI+IGlubGlu
ZSBib29sIEZldGNoT3B0aW9uczo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIEZldGNoT3B0aW9u
cyYgb3B0aW9ucykKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+IGlubGluZSBib29sIEZldGNoT3B0
aW9uczo6ZGVjb2RlUGVyc2lzdGVudChEZWNvZGVyJiBkZWNvZGVyLCBGZXRjaE9wdGlvbnMmIG9w
dGlvbnMpCiB7CiAgICAgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbjsKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGRlc3RpbmF0aW9uKSkKQEAgLTIxMyw0ICsyMTgsMjQgQEAg
dGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gaW5saW5lIGJvb2wgRmV0Y2hPcHRpb25zOjpkZWNvZGUo
RGVjb2RlciYgZGVjb2RlciwgRmV0Y2gKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4gaW5saW5lIHZvaWQgRmV0Y2hPcHRpb25zOjplbmNvZGUoRW5jb2RlciYg
ZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVQZXJzaXN0ZW50KGVuY29kZXIpOworICAgIGVu
Y29kZXIgPDwgY2xpZW50SWRlbnRpZmllcjsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4g
aW5saW5lIGJvb2wgRmV0Y2hPcHRpb25zOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgRmV0Y2hP
cHRpb25zJiBvcHRpb25zKQoreworICAgIGlmICghZGVjb2RlUGVyc2lzdGVudChkZWNvZGVyLCBv
cHRpb25zKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgc3RkOjpvcHRpb25hbDxzdGQ6
Om9wdGlvbmFsPERvY3VtZW50SWRlbnRpZmllcj4+IGNsaWVudElkZW50aWZpZXI7CisgICAgZGVj
b2RlciA+PiBjbGllbnRJZGVudGlmaWVyOworICAgIGlmICghY2xpZW50SWRlbnRpZmllcikKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIG9wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9IFdURk1v
dmUoY2xpZW50SWRlbnRpZmllci52YWx1ZSgpKTsKKworICAgIHJldHVybiB0cnVlOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCAyMzhkOWVkMDBmNGQ2ZTk3ZGZlZTAw
YmE4ZjY5MzgxNGRmMDY5YmEzLi45ZDkwNmI4ZGM3ZWExN2M5MWZkNDRkMjgyZDE3ZjE4OTI0ZGNi
MzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTY5Myw2ICs2OTMsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9h
ZGVyOjpwcmVwYXJlRmV0Y2goQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgQ2FjaGVkUmVzb3Vy
YwogICAgICAgICBpZiAoIXJlcXVlc3Qub3JpZ2luKCkpCiAgICAgICAgICAgICByZXF1ZXN0LnNl
dE9yaWdpbihkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSk7CiAjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQorICAgICAgICByZXF1ZXN0LnNldENsaWVudElkZW50aWZpZXJJZk5lZWRlZChkb2N1
bWVudC0+aWRlbnRpZmllcigpKTsKICAgICAgICAgaWYgKGF1dG8qIGFjdGl2ZVNlcnZpY2VXb3Jr
ZXIgPSBkb2N1bWVudC0+YWN0aXZlU2VydmljZVdvcmtlcigpKQogICAgICAgICAgICAgcmVxdWVz
dC5zZXRTZWxlY3RlZFNlcnZpY2VXb3JrZXJJZGVudGlmaWVySWZOZWVkZWQoYWN0aXZlU2Vydmlj
ZVdvcmtlci0+aWRlbnRpZmllcigpKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcAppbmRleCA4MWY4ODMzZDU0
YWFmNjY5OGQ1NGZiYzQ0ZDJiMjRiYTM0NzE4ZDI3Li5iMTE2MTI4YzY5NWQxYjUzZDIxOGI0OGNk
MzMwZGE2ZmYwZmRmOGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcApAQCAtMjc0LDYgKzI3NCwxMiBAQCB2b2lkIENh
Y2hlZFJlc291cmNlUmVxdWVzdDo6c2V0RGVzdGluYXRpb25JZk5vdFNldChGZXRjaE9wdGlvbnM6
OkRlc3RpbmF0aW9uIGRlcwogfQogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQordm9pZCBD
YWNoZWRSZXNvdXJjZVJlcXVlc3Q6OnNldENsaWVudElkZW50aWZpZXJJZk5lZWRlZChEb2N1bWVu
dElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmllcikKK3sKKyAgICBpZiAoIW1fb3B0aW9ucy5jbGll
bnRJZGVudGlmaWVyKQorICAgICAgICBtX29wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9IGNsaWVu
dElkZW50aWZpZXI7Cit9CisKIHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0OjpzZXRTZWxlY3Rl
ZFNlcnZpY2VXb3JrZXJJZGVudGlmaWVySWZOZWVkZWQoU2VydmljZVdvcmtlcklkZW50aWZpZXIg
aWRlbnRpZmllcikKIHsKICAgICBpZiAoaXNOb25TdWJyZXNvdXJjZVJlcXVlc3QobV9vcHRpb25z
LmRlc3RpbmF0aW9uKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZVJlcXVlc3QuaAppbmRleCBiM2RmN2ZkZGQzNzk1ZDZkMTFkMjYyMzExNThmODA2
NjlmZmZkMTlhLi5hOTE2OTQ3MTdhYTU5MjMzNmViYTcxY2Q2ZDM2M2MyZWMzNGZmZDE1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVz
dC5oCkBAIC05OCw2ICs5OCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5nIHNwbGl0RnJh
Z21lbnRJZGVudGlmaWVyRnJvbVJlcXVlc3RVUkwoUmVzb3VyY2VSZXF1ZXN0Jik7CiAKICNpZiBF
TkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgdm9pZCBzZXRDbGllbnRJZGVudGlmaWVySWZOZWVk
ZWQoRG9jdW1lbnRJZGVudGlmaWVyKTsKICAgICB2b2lkIHNldFNlbGVjdGVkU2VydmljZVdvcmtl
cklkZW50aWZpZXJJZk5lZWRlZChTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAgICAgdm9pZCBz
ZXROYXZpZ2F0aW9uU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEoY29uc3Qgc3RkOjpvcHRp
b25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4mKTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZl
dGNoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJGZXRjaC5jcHAKaW5kZXggMmVlNDJkNDgyYzJhMTVjMThjYTBmNTZjYTYzMjMxYTZiMTVm
YmUzYi4uOTQxZjQyYmI1NGMxYzQyOTUwY2MxMjZhZDA4NWU2ZTg1N2UzN2E4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZl
dGNoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2
aWNlV29ya2VyRmV0Y2guY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRmV0Y2hSZXF1
ZXN0LmgiCiAjaW5jbHVkZSAiRmV0Y2hSZXNwb25zZS5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVx
dWVzdC5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmgiCiAjaW5j
bHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODks
MTYgKzkwLDIxIEBAIHN0YXRpYyB2b2lkIHByb2Nlc3NSZXNwb25zZShSZWY8Q2xpZW50PiYmIGNs
aWVudCwgRmV0Y2hSZXNwb25zZSogcmVzcG9uc2UpCiAgICAgY2xpZW50LT5kaWRGaW5pc2goKTsK
IH0KIAotUmVmPEZldGNoRXZlbnQ+IGRpc3BhdGNoRmV0Y2hFdmVudChSZWY8Q2xpZW50PiYmIGNs
aWVudCwgV29ya2VyR2xvYmFsU2NvcGUmIGdsb2JhbFNjb3BlLCBSZXNvdXJjZVJlcXVlc3QmJiBy
ZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBvcHRpb25zKQorUmVmPEZldGNoRXZlbnQ+IGRpc3BhdGNo
RmV0Y2hFdmVudChSZWY8Q2xpZW50PiYmIGNsaWVudCwgV29ya2VyR2xvYmFsU2NvcGUmIGdsb2Jh
bFNjb3BlLCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyPiBjbGll
bnRJZCwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgRmV0Y2hPcHRpb25zJiYgb3B0aW9ucykK
IHsKICAgICBBU1NFUlQoZ2xvYmFsU2NvcGUuaXNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoKSk7
CiAKICAgICBhdXRvIHJlcXVlc3RIZWFkZXJzID0gRmV0Y2hIZWFkZXJzOjpjcmVhdGUoRmV0Y2hI
ZWFkZXJzOjpHdWFyZDo6SW1tdXRhYmxlLCBIVFRQSGVhZGVyTWFwIHsgcmVxdWVzdC5odHRwSGVh
ZGVyRmllbGRzKCkgfSk7CiAgICAgYXV0byBmZXRjaFJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNy
ZWF0ZShnbG9iYWxTY29wZSwgRmV0Y2hCb2R5Ojpmcm9tRm9ybURhdGEocmVxdWVzdC5odHRwQm9k
eSgpKSwgV1RGTW92ZShyZXF1ZXN0SGVhZGVycyksICBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3Zl
KG9wdGlvbnMpLCByZXF1ZXN0Lmh0dHBSZWZlcnJlcigpKTsKIAotICAgIC8vIEZJWE1FOiBJbml0
aWFsaXplIG90aGVyIEZldGNoRXZlbnQ6OkluaXQgZmllbGRzLgogICAgIEZldGNoRXZlbnQ6Oklu
aXQgaW5pdDsKICAgICBpbml0LnJlcXVlc3QgPSBXVEZNb3ZlKGZldGNoUmVxdWVzdCk7CisgICAg
aWYgKG9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlKSB7CisgICAg
ICAgIC8vIEZJWE1FOiBTZXQgcmVzZXJ2ZWRDbGllbnRJZC4KKyAgICAgICAgaWYgKGNsaWVudElk
KQorICAgICAgICAgICAgaW5pdC50YXJnZXRDbGllbnRJZCA9IGNsaWVudElkLT50b1N0cmluZygp
OworICAgIH0gZWxzZSBpZiAoY2xpZW50SWQpCisgICAgICAgIGluaXQuY2xpZW50SWQgPSBjbGll
bnRJZC0+dG9TdHJpbmcoKTsKICAgICBpbml0LmNhbmNlbGFibGUgPSB0cnVlOwogICAgIGF1dG8g
ZXZlbnQgPSBGZXRjaEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmZldGNoRXZlbnQsIFdURk1v
dmUoaW5pdCksIEV2ZW50OjpJc1RydXN0ZWQ6Olllcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmgK
aW5kZXggZmRlOTA4OWE5N2YwMDY0MTYxZDFkZmY3ZDJjNjU5NDkxODQ3YzEwMS4uNjIyMTAxMmFk
ODdhODVkYTUxZDg2NTMwZDQwZDg1OThiMWYwOTE1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmgK
QEAgLTM3LDYgKzM3LDcgQEAgY2xhc3MgRmV0Y2hSZXNwb25zZTsKIGNsYXNzIEZvcm1EYXRhOwog
Y2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKK3N0cnVjdCBT
ZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNz
IFdvcmtlckdsb2JhbFNjb3BlOwogCkBAIC01Myw3ICs1NCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgZGlkTm90SGFuZGxlKCkgPSAwOwogfTsKIAotUmVmPEZldGNoRXZlbnQ+IGRpc3Bh
dGNoRmV0Y2hFdmVudChSZWY8Q2xpZW50PiYmLCBXb3JrZXJHbG9iYWxTY29wZSYsIFJlc291cmNl
UmVxdWVzdCYmLCBGZXRjaE9wdGlvbnMmJik7CitSZWY8RmV0Y2hFdmVudD4gZGlzcGF0Y2hGZXRj
aEV2ZW50KFJlZjxDbGllbnQ+JiYsIFdvcmtlckdsb2JhbFNjb3BlJiwgc3RkOjpvcHRpb25hbDxT
ZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcj4sIFJlc291cmNlUmVxdWVzdCYmLCBGZXRjaE9w
dGlvbnMmJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJU
aHJlYWQuY3BwCmluZGV4IDVmODg1MzE2MGZkYTg4YWFlMGM2ODBkNTIwNjNiNDFiYTMyNDgxODUu
LjEwM2I0NjJkZTZkNjA4MGMxZWIwZmQ5YzI5NGEwNGY0MmRiY2Y2ZWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJUaHJlYWQuY3BwCkBAIC05NCwxMiArOTQsMTIgQEAgdm9pZCBTZXJ2aWNlV29ya2VyVGhy
ZWFkOjpydW5FdmVudExvb3AoKQogICAgIFdvcmtlclRocmVhZDo6cnVuRXZlbnRMb29wKCk7CiB9
CiAKLXZvaWQgU2VydmljZVdvcmtlclRocmVhZDo6cG9zdEZldGNoVGFzayhSZWY8U2VydmljZVdv
cmtlckZldGNoOjpDbGllbnQ+JiYgY2xpZW50LCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBG
ZXRjaE9wdGlvbnMmJiBvcHRpb25zKQordm9pZCBTZXJ2aWNlV29ya2VyVGhyZWFkOjpwb3N0RmV0
Y2hUYXNrKFJlZjxTZXJ2aWNlV29ya2VyRmV0Y2g6OkNsaWVudD4mJiBjbGllbnQsIHN0ZDo6b3B0
aW9uYWw8U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI+JiYgY2xpZW50SWQsIFJlc291cmNl
UmVxdWVzdCYmIHJlcXVlc3QsIEZldGNoT3B0aW9ucyYmIG9wdGlvbnMpCiB7CiAgICAgLy8gRklY
TUU6IGluc3RlYWQgb2YgZGlyZWN0bHkgdXNpbmcgcnVuTG9vcCgpLCB3ZSBzaG91bGQgYmUgdXNp
bmcgc29tZXRoaW5nIGxpa2UgV29ya2VyR2xvYmFsU2NvcGVQcm94eS4KICAgICAvLyBGSVhNRTog
cmVxdWVzdCBhbmQgb3B0aW9ucyBjb21lIHN0cmFpZ3RoIGZyb20gSVBDIHNvIGFyZSBhbHJlYWR5
IGlzb2xhdGVkLiBXZSBzaG91bGQgYmUgYWJsZSB0byB0YWtlIGJlbmVmaXQgb2YgdGhhdC4KLSAg
ICBydW5Mb29wKCkucG9zdFRhc2tGb3JNb2RlKFt0aGlzLCBjbGllbnQgPSBXVEZNb3ZlKGNsaWVu
dCksIHJlcXVlc3QgPSByZXF1ZXN0Lmlzb2xhdGVkQ29weSgpLCBvcHRpb25zID0gb3B0aW9ucy5p
c29sYXRlZENvcHkoKV0gKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIG11dGFibGUg
ewotICAgICAgICBhdXRvIGZldGNoRXZlbnQgPSBTZXJ2aWNlV29ya2VyRmV0Y2g6OmRpc3BhdGNo
RmV0Y2hFdmVudChXVEZNb3ZlKGNsaWVudCksIGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPihj
b250ZXh0KSwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSk7CisgICAgcnVuTG9v
cCgpLnBvc3RUYXNrRm9yTW9kZShbdGhpcywgY2xpZW50ID0gV1RGTW92ZShjbGllbnQpLCBjbGll
bnRJZCwgcmVxdWVzdCA9IHJlcXVlc3QuaXNvbGF0ZWRDb3B5KCksIG9wdGlvbnMgPSBvcHRpb25z
Lmlzb2xhdGVkQ29weSgpXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgbXV0YWJs
ZSB7CisgICAgICAgIGF1dG8gZmV0Y2hFdmVudCA9IFNlcnZpY2VXb3JrZXJGZXRjaDo6ZGlzcGF0
Y2hGZXRjaEV2ZW50KFdURk1vdmUoY2xpZW50KSwgZG93bmNhc3Q8V29ya2VyR2xvYmFsU2NvcGU+
KGNvbnRleHQpLCBjbGllbnRJZCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSk7
CiAgICAgICAgIHVwZGF0ZUV4dGVuZGVkRXZlbnRzU2V0KGZldGNoRXZlbnQucHRyKCkpOwogICAg
IH0sIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVh
ZC5oCmluZGV4IGI0ZTI3MGI2ZjQ1NjQwY2JiOTMzMzBjM2ExMDJiZDVhN2RlYWI4YzYuLjExZTcz
YTVjYWNjNGY4YTgwZjQxZjk4ODg2Y2IwOWRmN2JmNGMxMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhy
ZWFkLmgKQEAgLTU3LDcgKzU3LDkgQEAgcHVibGljOgogICAgIFdvcmtlck9iamVjdFByb3h5JiB3
b3JrZXJPYmplY3RQcm94eSgpIGNvbnN0IHsgcmV0dXJuIG1fd29ya2VyT2JqZWN0UHJveHk7IH0K
IAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcG9zdEZldGNoVGFzayhSZWY8U2VydmljZVdvcmtl
ckZldGNoOjpDbGllbnQ+JiYsIFJlc291cmNlUmVxdWVzdCYmLCBGZXRjaE9wdGlvbnMmJik7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwb3N0RmV0Y2hUYXNrKFJlZjxTZXJ2aWNlV29ya2VyRmV0
Y2g6OkNsaWVudD4mJiwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmll
cj4mJiwgUmVzb3VyY2VSZXF1ZXN0JiYsIEZldGNoT3B0aW9ucyYmKTsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoUmVmPFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZT4mJiwgc3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFy
cmF5PiYmLCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBzb3VyY2VJZGVudGlmaWVyLCBT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIHNvdXJjZURhdGEpOworCiAgICAgdm9pZCBmaXJlSW5z
dGFsbEV2ZW50KCk7CiAgICAgdm9pZCBmaXJlQWN0aXZhdGVFdmVudCgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNh
Y2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdl
RW5naW5lQ2FjaGUuY3BwCmluZGV4IGE2YjI1ZGYzYzE4NjU1MWJkMTkzMjFlYThmM2YxZjExMTI3
ZDQyM2YuLmE2OWMzYWFhZmM5YWFjYWUwMGYyYzZjYTNhZWYyY2UxMWNmYTI5NmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5l
Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVT
dG9yYWdlRW5naW5lQ2FjaGUuY3BwCkBAIC01MzksNyArNTM5LDcgQEAgU3RvcmFnZTo6UmVjb3Jk
IENhY2hlOjplbmNvZGUoY29uc3QgUmVjb3JkSW5mb3JtYXRpb24mIHJlY29yZEluZm9ybWF0aW9u
LCBjb25zdAogICAgIGVuY29kZXIgPDwgcmVjb3JkSW5mb3JtYXRpb24uc2l6ZTsKICAgICBlbmNv
ZGVyIDw8IHJlY29yZC5yZXF1ZXN0SGVhZGVyc0d1YXJkOwogICAgIHJlY29yZC5yZXF1ZXN0LmVu
Y29kZVdpdGhvdXRQbGF0Zm9ybURhdGEoZW5jb2Rlcik7Ci0gICAgZW5jb2RlciA8PCByZWNvcmQu
b3B0aW9uczsKKyAgICByZWNvcmQub3B0aW9ucy5lbmNvZGVQZXJzaXN0ZW50KGVuY29kZXIpOwog
ICAgIGVuY29kZXIgPDwgcmVjb3JkLnJlZmVycmVyOwogCiAgICAgZW5jb2RlciA8PCByZWNvcmQu
cmVzcG9uc2VIZWFkZXJzR3VhcmQ7CkBAIC01ODAsNyArNTgwLDcgQEAgc3RkOjpvcHRpb25hbDxD
YWNoZTo6RGVjb2RlZFJlY29yZD4gQ2FjaGU6OmRlY29kZVJlY29yZEhlYWRlcihjb25zdCBTdG9y
YWdlOjpSZWMKICAgICBpZiAoIXJlY29yZC5yZXF1ZXN0LmRlY29kZVdpdGhvdXRQbGF0Zm9ybURh
dGEoZGVjb2RlcikpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHJlY29yZC5vcHRpb25zKSkKKyAgICBpZiAoIUZldGNoT3B0aW9uczo6ZGVj
b2RlUGVyc2lzdGVudChkZWNvZGVyLCByZWNvcmQub3B0aW9ucykpCiAgICAgICAgIHJldHVybiBz
dGQ6Om51bGxvcHQ7CiAKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlY29yZC5yZWZlcnJlcikp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFn
ZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKaW5kZXggN2M2Y2Y1NjIzMjI2Zjhj
ZDNmY2EzNWNiZmIzYzkzNmUzMDAyNzA3Zi4uM2FiZjg5YWM5ZDhiZmQxMDUxOWVlOWQ1OTIxNmE2
MDEwZDY4YTRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcApAQCAtMTQx
LDkgKzE0MSwxMiBAQCB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpzdGFydEZl
dGNoKFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgc2VydgogICAgIH0KIAogICAgIGF1dG8g
Y2xpZW50ID0gV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudDo6Y3JlYXRlKG1fY29ubmVj
dGlvblRvU3RvcmFnZVByb2Nlc3MuY29weVJlZigpLCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmll
ciwgZmV0Y2hJZGVudGlmaWVyKTsKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDbGll
bnRJZGVudGlmaWVyPiBjbGllbnRJZDsKKyAgICBpZiAob3B0aW9ucy5jbGllbnRJZGVudGlmaWVy
KQorICAgICAgICBjbGllbnRJZCA9IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIHsgc2Vy
dmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIG9wdGlvbnMuY2xpZW50SWRlbnRpZmllci52YWx1ZSgp
IH07CiAKICAgICByZXF1ZXN0LnNldEhUVFBCb2R5KGZvcm1EYXRhLnRha2VEYXRhKCkpOwotICAg
IHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS0+dGhyZWFkKCkucG9zdEZldGNoVGFzayhXVEZNb3Zl
KGNsaWVudCksIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUob3B0aW9ucykpOworICAgIHNlcnZp
Y2VXb3JrZXJUaHJlYWRQcm94eS0+dGhyZWFkKCkucG9zdEZldGNoVGFzayhXVEZNb3ZlKGNsaWVu
dCksIFdURk1vdmUoY2xpZW50SWQpLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKG9wdGlvbnMp
KTsKIH0KIAogdm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VU
b1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5h
dGlvbklkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgbWVzc2FnZSwgU2Vydmlj
ZVdvcmtlckNsaWVudElkZW50aWZpZXIgc291cmNlSWRlbnRpZmllciwgU2VydmljZVdvcmtlckNs
aWVudERhdGEmJiBzb3VyY2VEYXRhKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXgg
MmZlZmYzM2EzYmJmMGJiMDFjZWFlMzkzNDBkYzhmMTljMjM0ZDg3MS4uMDJmMDczMjA3OTM5ZmJh
ZjMwNWI5YjZjZTdjZmZiNWJlZmQ5NjY2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMTEtMjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBGZXRjaEV2ZW50LmNsaWVudElkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAwNTIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQuaHR0
cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudHMtZ2V0LXdvcmtlci5qczoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1ldmVudC10ZXN0LXdvcmtlci5qczoKKwogMjAxNy0xMS0yOCAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJlYmFz
ZWxpbmUgYSBmZXcgc2tpcHBlZCAvIGZsYWt5IHNlcnZpY2Ugd29ya2VyIHRlc3RzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZmIw
YjJmODIxMDJhYTVkM2Q2OGEyM2M2YTQ3ZDJkMGVjZjRhZjRiNy4uZTcxYzg3NjNhMDRjYmU4NThh
ODJiY2M4NTQyYjk1OGE1MjVkM2MwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0
Y2gtZXZlbnQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNo
LWV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNCw3ICs0LDcgQEAgRkFJTCBTZXJ2aWNlIFdv
cmtlciBoZWFkZXJzIGluIHRoZSByZXF1ZXN0IG9mIGEgZmV0Y2ggZXZlbnQgYXNzZXJ0X3VucmVh
Y2hlZDogdW4KIEZBSUwgU2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQgd2l0
aCBzdHJpbmcgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9l
cXVhbHM6IFRoZSBjaGFyYWN0ZXIgc2V0IG9mIHRoZSByZXNwb25zZSBjcmVhdGVkIHdpdGggYSBz
dHJpbmcgc2hvdWxkIGJlIFVURi04IGV4cGVjdGVkICJVVEYtOCIgYnV0IGdvdCAid2luZG93cy0x
MjUyIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIEZBSUwgU2VydmljZSBXb3JrZXIgcmVzcG9u
ZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCBibG9iIGJvZHkgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBl
Y3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IFNlcnZpY2UgV29ya2VyIHNob3VsZCByZXNw
b25kIHRvIGZldGNoIHdpdGggYSB0ZXN0IHN0cmluZyBleHBlY3RlZCAiVGVzdCBibG9iIiBidXQg
Z290ICIiIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogRkFJTCBTZXJ2aWNlIFdvcmtlciByZXNw
b25kcyB0byBmZXRjaCBldmVudCB3aXRoIHRoZSByZWZlcnJlciBVUkwgYXNzZXJ0X3VucmVhY2hl
ZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IFNlcnZpY2UgV29ya2VyIHNo
b3VsZCByZXNwb25kIHRvIGZldGNoIHdpdGggdGhlIHJlZmVycmVyIFVSTCBleHBlY3RlZCAiUmVm
ZXJyZXI6IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ZldGNoLWV2ZW50Lmh0dHBzLmh0bWwiIGJ1dCBnb3QgIiIgUmVhY2hlZCB1bnJlYWNoYWJs
ZSBjb2RlCi1GQUlMIFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGgg
YW4gZXhpc3RpbmcgY2xpZW50IGlkIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0
aW9uOiBhc3NlcnRfZXF1YWxzOiBTZXJ2aWNlIFdvcmtlciBzaG91bGQgcmVzcG9uZCB0byBmZXRj
aCB3aXRoIGEgY2xpZW50IGlkIGV4cGVjdGVkICJDbGllbnQgSUQgTm90IEZvdW5kIiBidXQgZ290
ICJDbGllbnQgSUQgRm91bmQ6ICIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFNlcnZp
Y2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggYW4gZXhpc3RpbmcgY2xpZW50
IGlkIAogUEFTUyBTZXJ2aWNlIFdvcmtlciBkb2VzIG5vdCByZXNwb25kIHRvIGZldGNoIGV2ZW50
IAogUEFTUyBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIG51bGwg
cmVzcG9uc2UgYm9keSAKIFBBU1MgU2VydmljZSBXb3JrZXIgZmV0Y2hlcyBvdGhlciBmaWxlIGlu
IGZldGNoIGV2ZW50IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Ns
aWVudHMtZ2V0LXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRz
LWdldC13b3JrZXIuanMKaW5kZXggNzdjOTllODM1MjE5NTYwZTBmNWU1ZmIwYmRkNzQ4Mzk1NjVl
YzdlOC4uOWYzYWYyMWFiZTdiMmYwMmUwMzEzZjA1NjZmZmJjOTRkYjkxODU3MCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudHMtZ2V0LXdvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvY2xpZW50cy1nZXQtd29ya2VyLmpzCkBAIC00
LDkgKzQsOSBAQAogLy8gdGhlIGBldmVudGAgb2JqZWN0LiBJbiB0aGUgY2FzZSBvZiB0aGUgYG9u
bWVzc2FnZWAgaGFuZGxlciwgaXQgcHJvdmlkZXMgdGhlCiAvLyBDbGllbnQgaW5zdGFuY2UgYXR0
cmlidXRlcyBvZiB0aGUgcmVxdWVzdGVkIGNsaWVudHMuCiBzZWxmLm9uZmV0Y2ggPSBmdW5jdGlv
bihlKSB7Ci0gIGlmIChlLnJlcXVlc3QubW9kZSA9PT0gJ25hdmlnYXRlJyAmJiBlLmNsaWVudElk
ICE9PSBudWxsKSB7CisgIGlmIChlLnJlcXVlc3QubW9kZSA9PT0gJ25hdmlnYXRlJyAmJiBlLmNs
aWVudElkICE9PSAiIikgewogICAgIGUucmVzcG9uZFdpdGgoUmVzcG9uc2UuZXJyb3IoCi0gICAg
ICAnYGNsaWVudElkYCBpbmNvcnJlY3RseSBzZXQgdG8gbm9uLW51bGwgdmFsdWUgZm9yIHJlcXVl
c3Qgd2l0aCBtb2RlIGBuYXZpZ2F0ZWAnCisgICAgICAnYGNsaWVudElkYCBpbmNvcnJlY3RseSBz
ZXQgdG8gbm9uLWVtcHR5IHZhbHVlIGZvciByZXF1ZXN0IHdpdGggbW9kZSBgbmF2aWdhdGVgJwog
ICAgICkpOwogICAgIHJldHVybjsKICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLWV2ZW50LXRlc3Qtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLWV2ZW50LXRlc3Qtd29ya2VyLmpzCmluZGV4IDNkOGViMGIyMTJjMTk3
MDY3Yzc0ODJiMTAyMmMxYWRmNTZmZGZjNDguLjY1MDI1ZDkzNDA5M2FlOGNhYjMwYWI0M2IwMTEz
ZjAxNTEzYTQ1MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRj
aC1ldmVudC10ZXN0LXdvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
ZmV0Y2gtZXZlbnQtdGVzdC13b3JrZXIuanMKQEAgLTI5LDcgKzI5LDcgQEAgZnVuY3Rpb24gaGFu
ZGxlUmVmZXJyZXJGdWxsKGV2ZW50KSB7CiAKIGZ1bmN0aW9uIGhhbmRsZUNsaWVudElkKGV2ZW50
KSB7CiAgIHZhciBib2R5OwotICBpZiAoZXZlbnQuY2xpZW50SWQgIT09IG51bGwpIHsKKyAgaWYg
KGV2ZW50LmNsaWVudElkICE9PSAiIikgewogICAgIGJvZHkgPSAnQ2xpZW50IElEIEZvdW5kOiAn
ICsgZXZlbnQuY2xpZW50SWQ7CiAgIH0gZWxzZSB7CiAgICAgYm9keSA9ICdDbGllbnQgSUQgTm90
IEZvdW5kJzsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327894</attachid>
            <date>2017-11-29 13:27:41 -0800</date>
            <delta_ts>2017-11-29 13:47:41 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-180052-20171129132740.patch</filename>
            <type>text/plain</type>
            <size>22986</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFmZTYyMzVlZWZlZjNm
NWFiNmNmNTJlYjA4ZTk3ZGFkNTkxN2FkMS4uZjA0YjA3MmM5ZWNlYjI5OTI2YjE1N2I4MjlhODky
MGNhYWU4YWVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDE3LTExLTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
RmV0Y2hFdmVudC5jbGllbnRJZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTgwMDUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisK
KyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3QuCisKKyAgICAgICAgQWRkIHNjcmlwdCBl
eGVjdXRpb24gY29udGV4dCBpZGVudGlmaWVyIGFzIGEgRmV0Y2hPcHRpb25zIHBhcmFtZXRlci4K
KyAgICAgICAgVGhpcyBpcyB0aGVuIHNlbnQgdG8gdGhlIHNlcnZpY2Ugd29ya2VyIHByb2Nlc3Mg
d2hpY2ggY2FuIHRoZW4gc2V0IEZldGNoRXZlbnQuY2xpZW50SWQgYXBwcm9wcmlhdGVseS4KKyAg
ICAgICAgSWYgdGhlIGZldGNoIGlzIGZvciBhIHN1YnJlc291cmNlLCBjbGllbnRJZCBpcyB1c2Vk
IGRpcmVjdGx5LgorICAgICAgICBJZiBpdCBpcyBhIG5hdmlnYXRpb24sIGNsaWVudElkIGlzIHNl
dCB0byB0YXJnZXRDbGllbnRJZC4KKworICAgICAgICAqIGxvYWRlci9GZXRjaE9wdGlvbnMuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkZldGNoT3B0aW9uczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkZldGNoT3B0aW9uczo6ZGVjb2RlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnByZXBhcmVGZXRjaCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJlcXVl
c3Q6OnNldENsaWVudElkZW50aWZpZXJJZk5lZWRlZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlUmVxdWVzdC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250
ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyRmV0Y2g6OmRpc3BhdGNoRmV0Y2hFdmVudCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyVGhyZWFkOjpwb3N0RmV0Y2hUYXNrKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmg6CisKKzIwMTctMTEtMjkgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIEZsYWt5IGNyYXNoIGluIFdlYkNv
cmU6OkRPTUd1YXJkZWRPYmplY3Q6OmNsZWFyKCkgZHVyaW5nIHNlcnZpY2Ugd29ya2VyIHRlc3Rz
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAwNDUK
ICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1NzM3Mjg4PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3MDM4OTUxNDlm
MTMxYzNjZTMwNmQ5ZmFjMjliNDUzMTc2Y2RiZmIxLi42YjM4MGY0NGMxMTg1MTk1NGQwYThlNzg4
Yzk5NjYzMjMzYWQyMjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTExLTI5ICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBm
b3IgRmV0Y2hFdmVudC5jbGllbnRJZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTgwMDUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXou
CisKKyAgICAgICAgVXNpbmcgRmV0Y2hPcHRpb24gcGVyc2lzdGVuY3kgY29kZXJzIGZvciBjYWNo
ZSBBUEkgYW5kIG1vZGVybml6aW5nIElQQyBGZXRjaE9wdGlvbnMgZGVjb2RpbmcuCisKKyAgICAg
ICAgKiBXZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlOjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0
OjpDYWNoZVN0b3JhZ2U6OkNhY2hlOjpkZWNvZGVSZWNvcmRIZWFkZXIpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpzdGFydEZldGNoKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6
c3RhcnRGZXRjaCk6CisKIDIwMTctMTEtMjkgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtDb29yZEdyYXBoaWNzXSBSZW5hbWUgQ29vcmRpbmF0ZWRCdWZm
ZXIgdG8gTmljb3NpYTo6QnVmZmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RmV0Y2hPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmgKaW5k
ZXggNzNiOTYyNGM4NjA5MTZkZWI5OTM3NzRjYWY4MjhmOTc0ZjdkMjE3OS4uZmFjZGZjYzIxMzc3
MmVmMTI0Mjc5ZjM2ZjJmMGI3Nzk0YzFmM2I1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZldGNoT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9w
dGlvbnMuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkRv
Y3VtZW50SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlJlZmVycmVyUG9saWN5LmgiCiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTQ0LDggKzQ1LDEwIEBAIHN0cnVjdCBGZXRj
aE9wdGlvbnMgewogICAgIEZldGNoT3B0aW9ucyhEZXN0aW5hdGlvbiwgTW9kZSwgQ3JlZGVudGlh
bHMsIENhY2hlLCBSZWRpcmVjdCwgUmVmZXJyZXJQb2xpY3ksIFN0cmluZyYmLCBib29sKTsKICAg
ICBGZXRjaE9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkgY29uc3QgeyByZXR1cm4geyBkZXN0aW5hdGlv
biwgbW9kZSwgY3JlZGVudGlhbHMsIGNhY2hlLCByZWRpcmVjdCwgcmVmZXJyZXJQb2xpY3ksIGlu
dGVncml0eS5pc29sYXRlZENvcHkoKSwga2VlcEFsaXZlIH07IH0KIAorICAgIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlUGVyc2lzdGVudChFbmNvZGVyJikgY29uc3Q7CisgICAg
dGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlUGVyc2lzdGVudChEZWNv
ZGVyJiwgRmV0Y2hPcHRpb25zJik7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBl
bmNvZGUoRW5jb2RlciYpIGNvbnN0OwotICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRp
YyBib29sIGRlY29kZShEZWNvZGVyJiwgRmV0Y2hPcHRpb25zJik7CisgICAgdGVtcGxhdGU8Y2xh
c3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8RmV0Y2hPcHRpb25zPiBkZWNvZGUoRGVj
b2RlciYpOwogCiAgICAgRGVzdGluYXRpb24gZGVzdGluYXRpb24geyBEZXN0aW5hdGlvbjo6RW1w
dHlTdHJpbmcgfTsKICAgICBNb2RlIG1vZGUgeyBNb2RlOjpOb0NvcnMgfTsKQEAgLTU1LDYgKzU4
LDcgQEAgc3RydWN0IEZldGNoT3B0aW9ucyB7CiAgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQ
b2xpY3kgeyBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcgfTsKICAgICBTdHJpbmcgaW50ZWdy
aXR5OwogICAgIGJvb2wga2VlcEFsaXZlIHsgZmFsc2UgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPERv
Y3VtZW50SWRlbnRpZmllcj4gY2xpZW50SWRlbnRpZmllcjsKIH07CiAKIGlubGluZSBGZXRjaE9w
dGlvbnM6OkZldGNoT3B0aW9ucyhEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbiwgTW9kZSBtb2RlLCBD
cmVkZW50aWFscyBjcmVkZW50aWFscywgQ2FjaGUgY2FjaGUsIFJlZGlyZWN0IHJlZGlyZWN0LCBS
ZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgU3RyaW5nJiYgaW50ZWdyaXR5LCBib29sIGtl
ZXBBbGl2ZSkKQEAgLTE1NSw4ICsxNTksOSBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRz
PFdlYkNvcmU6OkZldGNoT3B0aW9uczo6UmVkaXJlY3Q+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi10ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiBpbmxpbmUgdm9pZCBGZXRjaE9wdGlvbnM6OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gaW5s
aW5lIHZvaWQgRmV0Y2hPcHRpb25zOjplbmNvZGVQZXJzaXN0ZW50KEVuY29kZXImIGVuY29kZXIp
IGNvbnN0CiB7CisgICAgLy8gQ2hhbmdlcyB0byBlbmNvZGluZyBoZXJlIHNob3VsZCBidW1wIE5l
dHdvcmtDYWNoZSBTdG9yYWdlIGZvcm1hdCB2ZXJzaW9uLgogICAgIGVuY29kZXIgPDwgZGVzdGlu
YXRpb247CiAgICAgZW5jb2RlciA8PCBtb2RlOwogICAgIGVuY29kZXIgPDwgY3JlZGVudGlhbHM7
CkBAIC0xNjcsNyArMTcyLDcgQEAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gaW5saW5lIHZvaWQg
RmV0Y2hPcHRpb25zOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVy
IDw8IGtlZXBBbGl2ZTsKIH0KIAotdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gaW5saW5lIGJvb2wg
RmV0Y2hPcHRpb25zOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgRmV0Y2hPcHRpb25zJiBvcHRp
b25zKQordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gaW5saW5lIGJvb2wgRmV0Y2hPcHRpb25zOjpk
ZWNvZGVQZXJzaXN0ZW50KERlY29kZXImIGRlY29kZXIsIEZldGNoT3B0aW9ucyYgb3B0aW9ucykK
IHsKICAgICBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uOwogICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUoZGVzdGluYXRpb24pKQpAQCAtMjEzLDQgKzIxOCwyNSBAQCB0ZW1wbGF0
ZTxjbGFzcyBEZWNvZGVyPiBpbmxpbmUgYm9vbCBGZXRjaE9wdGlvbnM6OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyLCBGZXRjaAogICAgIHJldHVybiB0cnVlOwogfQogCit0ZW1wbGF0ZTxjbGFzcyBF
bmNvZGVyPiBpbmxpbmUgdm9pZCBGZXRjaE9wdGlvbnM6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAoreworICAgIGVuY29kZVBlcnNpc3RlbnQoZW5jb2Rlcik7CisgICAgZW5jb2RlciA8
PCBjbGllbnRJZGVudGlmaWVyOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBpbmxpbmUg
c3RkOjpvcHRpb25hbDxGZXRjaE9wdGlvbnM+IEZldGNoT3B0aW9uczo6ZGVjb2RlKERlY29kZXIm
IGRlY29kZXIpCit7CisgICAgRmV0Y2hPcHRpb25zIG9wdGlvbnM7CisgICAgaWYgKCFkZWNvZGVQ
ZXJzaXN0ZW50KGRlY29kZXIsIG9wdGlvbnMpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworCisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPERvY3VtZW50SWRlbnRpZmllcj4+
IGNsaWVudElkZW50aWZpZXI7CisgICAgZGVjb2RlciA+PiBjbGllbnRJZGVudGlmaWVyOworICAg
IGlmICghY2xpZW50SWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAg
ICBvcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBXVEZNb3ZlKGNsaWVudElkZW50aWZpZXIudmFs
dWUoKSk7CisKKyAgICByZXR1cm4gV1RGTW92ZShvcHRpb25zKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMjM4ZDllZDAwZjRkNmU5N2RmZWUwMGJhOGY2OTM4MTRk
ZjA2OWJhMy4uOWQ5MDZiOGRjN2VhMTdjOTFmZDQ0ZDI4MmQxN2YxODkyNGRjYjM1OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwCkBAIC02OTMsNiArNjkzLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJlcGFy
ZUZldGNoKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIENhY2hlZFJlc291cmMKICAgICAgICAg
aWYgKCFyZXF1ZXN0Lm9yaWdpbigpKQogICAgICAgICAgICAgcmVxdWVzdC5zZXRPcmlnaW4oZG9j
dW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkpOwogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAg
ICAgICAgcmVxdWVzdC5zZXRDbGllbnRJZGVudGlmaWVySWZOZWVkZWQoZG9jdW1lbnQtPmlkZW50
aWZpZXIoKSk7CiAgICAgICAgIGlmIChhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2VyID0gZG9jdW1l
bnQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkKICAgICAgICAgICAgIHJlcXVlc3Quc2V0U2VsZWN0
ZWRTZXJ2aWNlV29ya2VySWRlbnRpZmllcklmTmVlZGVkKGFjdGl2ZVNlcnZpY2VXb3JrZXItPmlk
ZW50aWZpZXIoKSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKaW5kZXggODFmODgzM2Q1NGFhZjY2OThkNTRm
YmM0NGQyYjI0YmEzNDcxOGQyNy4uYjExNjEyOGM2OTVkMWI1M2QyMThiNDhjZDMzMGRhNmZmMGZk
ZjhlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlUmVxdWVzdC5jcHAKQEAgLTI3NCw2ICsyNzQsMTIgQEAgdm9pZCBDYWNoZWRSZXNvdXJj
ZVJlcXVlc3Q6OnNldERlc3RpbmF0aW9uSWZOb3RTZXQoRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
biBkZXMKIH0KIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKK3ZvaWQgQ2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0OjpzZXRDbGllbnRJZGVudGlmaWVySWZOZWVkZWQoRG9jdW1lbnRJZGVudGlmaWVy
IGNsaWVudElkZW50aWZpZXIpCit7CisgICAgaWYgKCFtX29wdGlvbnMuY2xpZW50SWRlbnRpZmll
cikKKyAgICAgICAgbV9vcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBjbGllbnRJZGVudGlmaWVy
OworfQorCiB2b2lkIENhY2hlZFJlc291cmNlUmVxdWVzdDo6c2V0U2VsZWN0ZWRTZXJ2aWNlV29y
a2VySWRlbnRpZmllcklmTmVlZGVkKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIp
CiB7CiAgICAgaWYgKGlzTm9uU3VicmVzb3VyY2VSZXF1ZXN0KG1fb3B0aW9ucy5kZXN0aW5hdGlv
bikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0LmgKaW5kZXggYjNkZjdmZGRkMzc5NWQ2ZDExZDI2MjMxMTU4ZjgwNjY5ZmZmZDE5YS4u
YTkxNjk0NzE3YWE1OTIzMzZlYmE3MWNkNmQzNjNjMmVjMzRmZmQxNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuaApAQCAtOTgs
NiArOTgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cmluZyBzcGxpdEZyYWdtZW50SWRlbnRp
ZmllckZyb21SZXF1ZXN0VVJMKFJlc291cmNlUmVxdWVzdCYpOwogCiAjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQorICAgIHZvaWQgc2V0Q2xpZW50SWRlbnRpZmllcklmTmVlZGVkKERvY3VtZW50
SWRlbnRpZmllcik7CiAgICAgdm9pZCBzZXRTZWxlY3RlZFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
SWZOZWVkZWQoU2VydmljZVdvcmtlcklkZW50aWZpZXIpOwogICAgIHZvaWQgc2V0TmF2aWdhdGlv
blNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+Jik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2gu
Y3BwCmluZGV4IDJlZTQyZDQ4MmMyYTE1YzE4Y2EwZjU2Y2E2MzIzMWE2YjE1ZmJlM2IuLjk0MWY0
MmJiNTRjMWM0Mjk1MGNjMTI2YWQwODVlNmU4NTdlMzdhOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZl
dGNoLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgogI2lu
Y2x1ZGUgIkZldGNoUmVzcG9uc2UuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNp
bmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIldvcmtl
ckdsb2JhbFNjb3BlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTg5LDE2ICs5MCwyMSBA
QCBzdGF0aWMgdm9pZCBwcm9jZXNzUmVzcG9uc2UoUmVmPENsaWVudD4mJiBjbGllbnQsIEZldGNo
UmVzcG9uc2UqIHJlc3BvbnNlKQogICAgIGNsaWVudC0+ZGlkRmluaXNoKCk7CiB9CiAKLVJlZjxG
ZXRjaEV2ZW50PiBkaXNwYXRjaEZldGNoRXZlbnQoUmVmPENsaWVudD4mJiBjbGllbnQsIFdvcmtl
ckdsb2JhbFNjb3BlJiBnbG9iYWxTY29wZSwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgRmV0
Y2hPcHRpb25zJiYgb3B0aW9ucykKK1JlZjxGZXRjaEV2ZW50PiBkaXNwYXRjaEZldGNoRXZlbnQo
UmVmPENsaWVudD4mJiBjbGllbnQsIFdvcmtlckdsb2JhbFNjb3BlJiBnbG9iYWxTY29wZSwgc3Rk
OjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcj4gY2xpZW50SWQsIFJlc291
cmNlUmVxdWVzdCYmIHJlcXVlc3QsIEZldGNoT3B0aW9ucyYmIG9wdGlvbnMpCiB7CiAgICAgQVNT
RVJUKGdsb2JhbFNjb3BlLmlzU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKCkpOwogCiAgICAgYXV0
byByZXF1ZXN0SGVhZGVycyA9IEZldGNoSGVhZGVyczo6Y3JlYXRlKEZldGNoSGVhZGVyczo6R3Vh
cmQ6OkltbXV0YWJsZSwgSFRUUEhlYWRlck1hcCB7IHJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygp
IH0pOwogICAgIGF1dG8gZmV0Y2hSZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoZ2xvYmFs
U2NvcGUsIEZldGNoQm9keTo6ZnJvbUZvcm1EYXRhKHJlcXVlc3QuaHR0cEJvZHkoKSksIFdURk1v
dmUocmVxdWVzdEhlYWRlcnMpLCAgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSwg
cmVxdWVzdC5odHRwUmVmZXJyZXIoKSk7CiAKLSAgICAvLyBGSVhNRTogSW5pdGlhbGl6ZSBvdGhl
ciBGZXRjaEV2ZW50OjpJbml0IGZpZWxkcy4KICAgICBGZXRjaEV2ZW50OjpJbml0IGluaXQ7CiAg
ICAgaW5pdC5yZXF1ZXN0ID0gV1RGTW92ZShmZXRjaFJlcXVlc3QpOworICAgIGlmIChvcHRpb25z
Lm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSkgeworICAgICAgICAvLyBGSVhN
RTogU2V0IHJlc2VydmVkQ2xpZW50SWQuCisgICAgICAgIGlmIChjbGllbnRJZCkKKyAgICAgICAg
ICAgIGluaXQudGFyZ2V0Q2xpZW50SWQgPSBjbGllbnRJZC0+dG9TdHJpbmcoKTsKKyAgICB9IGVs
c2UgaWYgKGNsaWVudElkKQorICAgICAgICBpbml0LmNsaWVudElkID0gY2xpZW50SWQtPnRvU3Ry
aW5nKCk7CiAgICAgaW5pdC5jYW5jZWxhYmxlID0gdHJ1ZTsKICAgICBhdXRvIGV2ZW50ID0gRmV0
Y2hFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5mZXRjaEV2ZW50LCBXVEZNb3ZlKGluaXQpLCBF
dmVudDo6SXNUcnVzdGVkOjpZZXMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2guaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5oCmluZGV4IGZkZTkw
ODlhOTdmMDA2NDE2MWQxZGZmN2QyYzY1OTQ5MTg0N2MxMDEuLjYyMjEwMTJhZDg3YTg1ZGE1MWQ4
NjUzMGQ0MGQ4NTk4YjFmMDkxNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5oCkBAIC0zNyw2ICsz
Nyw3IEBAIGNsYXNzIEZldGNoUmVzcG9uc2U7CiBjbGFzcyBGb3JtRGF0YTsKIGNsYXNzIFJlc291
cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CitzdHJ1Y3QgU2VydmljZVdvcmtl
ckNsaWVudElkZW50aWZpZXI7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiBjbGFzcyBXb3JrZXJHbG9i
YWxTY29wZTsKIApAQCAtNTMsNyArNTQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRp
ZE5vdEhhbmRsZSgpID0gMDsKIH07CiAKLVJlZjxGZXRjaEV2ZW50PiBkaXNwYXRjaEZldGNoRXZl
bnQoUmVmPENsaWVudD4mJiwgV29ya2VyR2xvYmFsU2NvcGUmLCBSZXNvdXJjZVJlcXVlc3QmJiwg
RmV0Y2hPcHRpb25zJiYpOworUmVmPEZldGNoRXZlbnQ+IGRpc3BhdGNoRmV0Y2hFdmVudChSZWY8
Q2xpZW50PiYmLCBXb3JrZXJHbG9iYWxTY29wZSYsIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtl
ckNsaWVudElkZW50aWZpZXI+LCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYpOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApp
bmRleCA1Zjg4NTMxNjBmZGE4OGFhZTBjNjgwZDUyMDYzYjQxYmEzMjQ4MTg1Li4xMDNiNDYyZGU2
ZDYwODBjMWViMGZkOWMyOTRhMDRmNDJkYmNmNmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFk
LmNwcApAQCAtOTQsMTIgKzk0LDEyIEBAIHZvaWQgU2VydmljZVdvcmtlclRocmVhZDo6cnVuRXZl
bnRMb29wKCkKICAgICBXb3JrZXJUaHJlYWQ6OnJ1bkV2ZW50TG9vcCgpOwogfQogCi12b2lkIFNl
cnZpY2VXb3JrZXJUaHJlYWQ6OnBvc3RGZXRjaFRhc2soUmVmPFNlcnZpY2VXb3JrZXJGZXRjaDo6
Q2xpZW50PiYmIGNsaWVudCwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgRmV0Y2hPcHRpb25z
JiYgb3B0aW9ucykKK3ZvaWQgU2VydmljZVdvcmtlclRocmVhZDo6cG9zdEZldGNoVGFzayhSZWY8
U2VydmljZVdvcmtlckZldGNoOjpDbGllbnQ+JiYgY2xpZW50LCBzdGQ6Om9wdGlvbmFsPFNlcnZp
Y2VXb3JrZXJDbGllbnRJZGVudGlmaWVyPiYmIGNsaWVudElkLCBSZXNvdXJjZVJlcXVlc3QmJiBy
ZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBvcHRpb25zKQogewogICAgIC8vIEZJWE1FOiBpbnN0ZWFk
IG9mIGRpcmVjdGx5IHVzaW5nIHJ1bkxvb3AoKSwgd2Ugc2hvdWxkIGJlIHVzaW5nIHNvbWV0aGlu
ZyBsaWtlIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAgICAgLy8gRklYTUU6IHJlcXVlc3QgYW5k
IG9wdGlvbnMgY29tZSBzdHJhaWd0aCBmcm9tIElQQyBzbyBhcmUgYWxyZWFkeSBpc29sYXRlZC4g
V2Ugc2hvdWxkIGJlIGFibGUgdG8gdGFrZSBiZW5lZml0IG9mIHRoYXQuCi0gICAgcnVuTG9vcCgp
LnBvc3RUYXNrRm9yTW9kZShbdGhpcywgY2xpZW50ID0gV1RGTW92ZShjbGllbnQpLCByZXF1ZXN0
ID0gcmVxdWVzdC5pc29sYXRlZENvcHkoKSwgb3B0aW9ucyA9IG9wdGlvbnMuaXNvbGF0ZWRDb3B5
KCldIChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSBtdXRhYmxlIHsKLSAgICAgICAg
YXV0byBmZXRjaEV2ZW50ID0gU2VydmljZVdvcmtlckZldGNoOjpkaXNwYXRjaEZldGNoRXZlbnQo
V1RGTW92ZShjbGllbnQpLCBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCksIFdU
Rk1vdmUocmVxdWVzdCksIFdURk1vdmUob3B0aW9ucykpOworICAgIHJ1bkxvb3AoKS5wb3N0VGFz
a0Zvck1vZGUoW3RoaXMsIGNsaWVudCA9IFdURk1vdmUoY2xpZW50KSwgY2xpZW50SWQsIHJlcXVl
c3QgPSByZXF1ZXN0Lmlzb2xhdGVkQ29weSgpLCBvcHRpb25zID0gb3B0aW9ucy5pc29sYXRlZENv
cHkoKV0gKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIG11dGFibGUgeworICAgICAg
ICBhdXRvIGZldGNoRXZlbnQgPSBTZXJ2aWNlV29ya2VyRmV0Y2g6OmRpc3BhdGNoRmV0Y2hFdmVu
dChXVEZNb3ZlKGNsaWVudCksIGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPihjb250ZXh0KSwg
Y2xpZW50SWQsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUob3B0aW9ucykpOwogICAgICAgICB1
cGRhdGVFeHRlbmRlZEV2ZW50c1NldChmZXRjaEV2ZW50LnB0cigpKTsKICAgICB9LCBXb3JrZXJS
dW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaAppbmRleCBi
NGUyNzBiNmY0NTY0MGNiYjkzMzMwYzNhMTAyYmQ1YTdkZWFiOGM2Li4xMWU3M2E1Y2FjYzRmOGE4
MGY0MWY5ODg4NmNiMDlkZjdiZjRjMTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5oCkBAIC01
Nyw3ICs1Nyw5IEBAIHB1YmxpYzoKICAgICBXb3JrZXJPYmplY3RQcm94eSYgd29ya2VyT2JqZWN0
UHJveHkoKSBjb25zdCB7IHJldHVybiBtX3dvcmtlck9iamVjdFByb3h5OyB9CiAKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHBvc3RGZXRjaFRhc2soUmVmPFNlcnZpY2VXb3JrZXJGZXRjaDo6Q2xp
ZW50PiYmLCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYpOworICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgcG9zdEZldGNoVGFzayhSZWY8U2VydmljZVdvcmtlckZldGNoOjpDbGllbnQ+
JiYsIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI+JiYsIFJlc291
cmNlUmVxdWVzdCYmLCBGZXRjaE9wdGlvbnMmJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBw
b3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFJlZjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+JiYsIHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4mJiwgU2Vy
dmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgc291cmNlSWRlbnRpZmllciwgU2VydmljZVdvcmtl
ckNsaWVudERhdGEmJiBzb3VyY2VEYXRhKTsKKwogICAgIHZvaWQgZmlyZUluc3RhbGxFdmVudCgp
OwogICAgIHZvaWQgZmlyZUFjdGl2YXRlRXZlbnQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hl
LmNwcAppbmRleCBhNmIyNWRmM2MxODY1NTFiZDE5MzIxZWE4ZjNmMWYxMTEyN2Q0MjNmLi5hNjlj
M2FhYWZjOWFhY2FlMDBmMmM2Y2EzYWVmMmNlMTFjZmEyOTZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2lu
ZUNhY2hlLmNwcApAQCAtNTM5LDcgKzUzOSw3IEBAIFN0b3JhZ2U6OlJlY29yZCBDYWNoZTo6ZW5j
b2RlKGNvbnN0IFJlY29yZEluZm9ybWF0aW9uJiByZWNvcmRJbmZvcm1hdGlvbiwgY29uc3QKICAg
ICBlbmNvZGVyIDw8IHJlY29yZEluZm9ybWF0aW9uLnNpemU7CiAgICAgZW5jb2RlciA8PCByZWNv
cmQucmVxdWVzdEhlYWRlcnNHdWFyZDsKICAgICByZWNvcmQucmVxdWVzdC5lbmNvZGVXaXRob3V0
UGxhdGZvcm1EYXRhKGVuY29kZXIpOwotICAgIGVuY29kZXIgPDwgcmVjb3JkLm9wdGlvbnM7Cisg
ICAgcmVjb3JkLm9wdGlvbnMuZW5jb2RlUGVyc2lzdGVudChlbmNvZGVyKTsKICAgICBlbmNvZGVy
IDw8IHJlY29yZC5yZWZlcnJlcjsKIAogICAgIGVuY29kZXIgPDwgcmVjb3JkLnJlc3BvbnNlSGVh
ZGVyc0d1YXJkOwpAQCAtNTgwLDcgKzU4MCw3IEBAIHN0ZDo6b3B0aW9uYWw8Q2FjaGU6OkRlY29k
ZWRSZWNvcmQ+IENhY2hlOjpkZWNvZGVSZWNvcmRIZWFkZXIoY29uc3QgU3RvcmFnZTo6UmVjCiAg
ICAgaWYgKCFyZWNvcmQucmVxdWVzdC5kZWNvZGVXaXRob3V0UGxhdGZvcm1EYXRhKGRlY29kZXIp
KQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShyZWNvcmQub3B0aW9ucykpCisgICAgaWYgKCFGZXRjaE9wdGlvbnM6OmRlY29kZVBlcnNpc3Rl
bnQoZGVjb2RlciwgcmVjb3JkLm9wdGlvbnMpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OwogCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZWNvcmQucmVmZXJyZXIpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggNGFmZTdlN2Uy
MWMyMGZlMDEyZWU0ZGQ3ZTAzZjk2NjdjOTBmZTM0YS4uMDBhODI0YTM4NjljODA4ZDU5YjJiYmI1
OWU5NTlkYzg1NjA5YmZjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuY3BwCkBAIC0yOTAsOCArMjkwLDkgQEAgc3RkOjpvcHRpb25hbDxET01DYWNo
ZUVuZ2luZTo6UmVjb3JkPiBBcmd1bWVudENvZGVyPERPTUNhY2hlRW5naW5lOjpSZWNvcmQ+Ojpk
ZWMKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlcXVlc3QpKQogICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwogCi0gICAgV2ViQ29yZTo6RmV0Y2hPcHRpb25zIG9wdGlvbnM7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZShvcHRpb25zKSkKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZl
dGNoT3B0aW9ucz4gb3B0aW9uczsKKyAgICBkZWNvZGVyID4+IG9wdGlvbnM7CisgICAgaWYgKCFv
cHRpb25zKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCiAgICAgU3RyaW5nIHJlZmVy
cmVyOwpAQCAtMzM3LDcgKzMzOCw3IEBAIHN0ZDo6b3B0aW9uYWw8RE9NQ2FjaGVFbmdpbmU6OlJl
Y29yZD4gQXJndW1lbnRDb2RlcjxET01DYWNoZUVuZ2luZTo6UmVjb3JkPjo6ZGVjCiAgICAgICAg
IH0KICAgICB9CiAKLSAgICByZXR1cm4ge3sgV1RGTW92ZShpZGVudGlmaWVyKSwgV1RGTW92ZSh1
cGRhdGVSZXNwb25zZUNvdW50ZXIpLCBXVEZNb3ZlKHJlcXVlc3RIZWFkZXJzR3VhcmQpLCBXVEZN
b3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKG9wdGlvbnMpLCBXVEZNb3ZlKHJlZmVycmVyKSwgV1RGTW92
ZShyZXNwb25zZUhlYWRlcnNHdWFyZCksIFdURk1vdmUocmVzcG9uc2UpLCBXVEZNb3ZlKHJlc3Bv
bnNlQm9keSksIHJlc3BvbnNlQm9keVNpemUgfX07CisgICAgcmV0dXJuIHt7IFdURk1vdmUoaWRl
bnRpZmllciksIFdURk1vdmUodXBkYXRlUmVzcG9uc2VDb3VudGVyKSwgV1RGTW92ZShyZXF1ZXN0
SGVhZGVyc0d1YXJkKSwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zLnZhbHVlKCkp
LCBXVEZNb3ZlKHJlZmVycmVyKSwgV1RGTW92ZShyZXNwb25zZUhlYWRlcnNHdWFyZCksIFdURk1v
dmUocmVzcG9uc2UpLCBXVEZNb3ZlKHJlc3BvbnNlQm9keSksIHJlc3BvbnNlQm9keVNpemUgfX07
CiB9CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxFdmVudFRyYWNraW5nUmVnaW9ucz46OmVuY29kZShF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBFdmVudFRyYWNraW5nUmVnaW9ucyYgZXZlbnRUcmFja2lu
Z1JlZ2lvbnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKaW5kZXggN2M2Y2Y1
NjIzMjI2ZjhjZDNmY2EzNWNiZmIzYzkzNmUzMDAyNzA3Zi4uM2FiZjg5YWM5ZDhiZmQxMDUxOWVl
OWQ1OTIxNmE2MDEwZDY4YTRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNw
cApAQCAtMTQxLDkgKzE0MSwxMiBAQCB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
OjpzdGFydEZldGNoKFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgc2VydgogICAgIH0KIAog
ICAgIGF1dG8gY2xpZW50ID0gV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudDo6Y3JlYXRl
KG1fY29ubmVjdGlvblRvU3RvcmFnZVByb2Nlc3MuY29weVJlZigpLCBzZXJ2ZXJDb25uZWN0aW9u
SWRlbnRpZmllciwgZmV0Y2hJZGVudGlmaWVyKTsKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VX
b3JrZXJDbGllbnRJZGVudGlmaWVyPiBjbGllbnRJZDsKKyAgICBpZiAob3B0aW9ucy5jbGllbnRJ
ZGVudGlmaWVyKQorICAgICAgICBjbGllbnRJZCA9IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlm
aWVyIHsgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIG9wdGlvbnMuY2xpZW50SWRlbnRpZmll
ci52YWx1ZSgpIH07CiAKICAgICByZXF1ZXN0LnNldEhUVFBCb2R5KGZvcm1EYXRhLnRha2VEYXRh
KCkpOwotICAgIHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS0+dGhyZWFkKCkucG9zdEZldGNoVGFz
ayhXVEZNb3ZlKGNsaWVudCksIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUob3B0aW9ucykpOwor
ICAgIHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS0+dGhyZWFkKCkucG9zdEZldGNoVGFzayhXVEZN
b3ZlKGNsaWVudCksIFdURk1vdmUoY2xpZW50SWQpLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3Zl
KG9wdGlvbnMpKTsKIH0KIAogdm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6cG9z
dE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgbWVzc2Fn
ZSwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgc291cmNlSWRlbnRpZmllciwgU2Vydmlj
ZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2VEYXRhKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKaW5kZXggMmZlZmYzM2EzYmJmMGJiMDFjZWFlMzkzNDBkYzhmMTljMjM0ZDg3MS4uZTlmOWNl
NmI5MzIyMTYyY2NiNmQ0OTEwZWJiMzQxYzhiODYyMDc0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMTEtMjkgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBGZXRjaEV2ZW50LmNs
aWVudElkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODAwNTIKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZl
bnQuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudHMtZ2V0LXdvcmtlci5q
czoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC10ZXN0LXdvcmtlci5qczoKKwogMjAxNy0xMS0y
OCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJlYmFzZWxpbmUgYSBmZXcgc2tpcHBlZCAvIGZsYWt5IHNlcnZpY2Ugd29ya2VyIHRlc3RzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC5odHRwcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC5odHRwcy1leHBlY3RlZC50eHQKaW5k
ZXggZmIwYjJmODIxMDJhYTVkM2Q2OGEyM2M2YTQ3ZDJkMGVjZjRhZjRiNy4uZTcxYzg3NjNhMDRj
YmU4NThhODJiY2M4NTQyYjk1OGE1MjVkM2MwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvZmV0Y2gtZXZlbnQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLWV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNCw3ICs0LDcgQEAgRkFJTCBTZXJ2
aWNlIFdvcmtlciBoZWFkZXJzIGluIHRoZSByZXF1ZXN0IG9mIGEgZmV0Y2ggZXZlbnQgYXNzZXJ0
X3VucmVhY2hlZDogdW4KIEZBSUwgU2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2ggZXZl
bnQgd2l0aCBzdHJpbmcgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFz
c2VydF9lcXVhbHM6IFRoZSBjaGFyYWN0ZXIgc2V0IG9mIHRoZSByZXNwb25zZSBjcmVhdGVkIHdp
dGggYSBzdHJpbmcgc2hvdWxkIGJlIFVURi04IGV4cGVjdGVkICJVVEYtOCIgYnV0IGdvdCAid2lu
ZG93cy0xMjUyIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIEZBSUwgU2VydmljZSBXb3JrZXIg
cmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCBibG9iIGJvZHkgYXNzZXJ0X3VucmVhY2hlZDog
dW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IFNlcnZpY2UgV29ya2VyIHNob3Vs
ZCByZXNwb25kIHRvIGZldGNoIHdpdGggYSB0ZXN0IHN0cmluZyBleHBlY3RlZCAiVGVzdCBibG9i
IiBidXQgZ290ICIiIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogRkFJTCBTZXJ2aWNlIFdvcmtl
ciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIHRoZSByZWZlcnJlciBVUkwgYXNzZXJ0X3Vu
cmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IFNlcnZpY2UgV29y
a2VyIHNob3VsZCByZXNwb25kIHRvIGZldGNoIHdpdGggdGhlIHJlZmVycmVyIFVSTCBleHBlY3Rl
ZCAiUmVmZXJyZXI6IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ZldGNoLWV2ZW50Lmh0dHBzLmh0bWwiIGJ1dCBnb3QgIiIgUmVhY2hlZCB1bnJl
YWNoYWJsZSBjb2RlCi1GQUlMIFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50
IHdpdGggYW4gZXhpc3RpbmcgY2xpZW50IGlkIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQg
cmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBTZXJ2aWNlIFdvcmtlciBzaG91bGQgcmVzcG9uZCB0
byBmZXRjaCB3aXRoIGEgY2xpZW50IGlkIGV4cGVjdGVkICJDbGllbnQgSUQgTm90IEZvdW5kIiBi
dXQgZ290ICJDbGllbnQgSUQgRm91bmQ6ICIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNT
IFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggYW4gZXhpc3Rpbmcg
Y2xpZW50IGlkIAogUEFTUyBTZXJ2aWNlIFdvcmtlciBkb2VzIG5vdCByZXNwb25kIHRvIGZldGNo
IGV2ZW50IAogUEFTUyBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRo
IG51bGwgcmVzcG9uc2UgYm9keSAKIFBBU1MgU2VydmljZSBXb3JrZXIgZmV0Y2hlcyBvdGhlciBm
aWxlIGluIGZldGNoIGV2ZW50IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2NsaWVudHMtZ2V0LXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9j
bGllbnRzLWdldC13b3JrZXIuanMKaW5kZXggNzdjOTllODM1MjE5NTYwZTBmNWU1ZmIwYmRkNzQ4
Mzk1NjVlYzdlOC4uOWYzYWYyMWFiZTdiMmYwMmUwMzEzZjA1NjZmZmJjOTRkYjkxODU3MCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudHMtZ2V0LXdvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvY2xpZW50cy1nZXQtd29ya2VyLmpz
CkBAIC00LDkgKzQsOSBAQAogLy8gdGhlIGBldmVudGAgb2JqZWN0LiBJbiB0aGUgY2FzZSBvZiB0
aGUgYG9ubWVzc2FnZWAgaGFuZGxlciwgaXQgcHJvdmlkZXMgdGhlCiAvLyBDbGllbnQgaW5zdGFu
Y2UgYXR0cmlidXRlcyBvZiB0aGUgcmVxdWVzdGVkIGNsaWVudHMuCiBzZWxmLm9uZmV0Y2ggPSBm
dW5jdGlvbihlKSB7Ci0gIGlmIChlLnJlcXVlc3QubW9kZSA9PT0gJ25hdmlnYXRlJyAmJiBlLmNs
aWVudElkICE9PSBudWxsKSB7CisgIGlmIChlLnJlcXVlc3QubW9kZSA9PT0gJ25hdmlnYXRlJyAm
JiBlLmNsaWVudElkICE9PSAiIikgewogICAgIGUucmVzcG9uZFdpdGgoUmVzcG9uc2UuZXJyb3Io
Ci0gICAgICAnYGNsaWVudElkYCBpbmNvcnJlY3RseSBzZXQgdG8gbm9uLW51bGwgdmFsdWUgZm9y
IHJlcXVlc3Qgd2l0aCBtb2RlIGBuYXZpZ2F0ZWAnCisgICAgICAnYGNsaWVudElkYCBpbmNvcnJl
Y3RseSBzZXQgdG8gbm9uLWVtcHR5IHZhbHVlIGZvciByZXF1ZXN0IHdpdGggbW9kZSBgbmF2aWdh
dGVgJwogICAgICkpOwogICAgIHJldHVybjsKICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWV2ZW50LXRlc3Qtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWV2ZW50LXRlc3Qtd29ya2VyLmpzCmluZGV4IDNkOGViMGIy
MTJjMTk3MDY3Yzc0ODJiMTAyMmMxYWRmNTZmZGZjNDguLjY1MDI1ZDkzNDA5M2FlOGNhYjMwYWI0
M2IwMTEzZjAxNTEzYTQ1MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9mZXRjaC1ldmVudC10ZXN0LXdvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtZXZlbnQtdGVzdC13b3JrZXIuanMKQEAgLTI5LDcgKzI5LDcgQEAgZnVuY3Rp
b24gaGFuZGxlUmVmZXJyZXJGdWxsKGV2ZW50KSB7CiAKIGZ1bmN0aW9uIGhhbmRsZUNsaWVudElk
KGV2ZW50KSB7CiAgIHZhciBib2R5OwotICBpZiAoZXZlbnQuY2xpZW50SWQgIT09IG51bGwpIHsK
KyAgaWYgKGV2ZW50LmNsaWVudElkICE9PSAiIikgewogICAgIGJvZHkgPSAnQ2xpZW50IElEIEZv
dW5kOiAnICsgZXZlbnQuY2xpZW50SWQ7CiAgIH0gZWxzZSB7CiAgICAgYm9keSA9ICdDbGllbnQg
SUQgTm90IEZvdW5kJzsK
</data>

          </attachment>
      

    </bug>

</bugzilla>