<?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>224194</bug_id>
          
          <creation_ts>2021-04-05 11:46:22 -0700</creation_ts>
          <short_desc>Add additional page load diagnostic logging</short_desc>
          <delta_ts>2021-04-06 15:38:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit 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="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1747036</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-05 11:46:22 -0700</bug_when>
    <thetext>Add additional logging to help identify places where page loads fail to complete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747037</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-05 11:46:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/76227175&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747041</commentid>
    <comment_count>2</comment_count>
      <attachid>425182</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-05 11:59:57 -0700</bug_when>
    <thetext>Created attachment 425182
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747052</commentid>
    <comment_count>3</comment_count>
      <attachid>425182</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-04-05 12:23:39 -0700</bug_when>
    <thetext>Comment on attachment 425182
Patch

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

Yay, more logging!

&gt; Source/WebCore/loader/ResourceLoader.cpp:130
&gt; +            RELEASE_LOG_IF_ALLOWED(&quot;init: Cancelling because the document loader has no frame.&quot;);

I think this should be &quot;releaseResources: ...&quot; instead of &quot;init: ... &quot;.

&gt; Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:562
&gt; +    RELEASE_LOG_IF_ALLOWED(Loading, &quot;removeLoadIdentifier %&quot; PRIu64 &quot; and aborting corresponding loader&quot;, identifier);

This message format diverges from the typical format of &lt;functionName&gt;&lt;colon&gt;&lt;message&gt;. Maybe it could be refactored to align more?

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:6728
&gt; +    RELEASE_LOG_IF_ALLOWED(Process, &quot;WebPage: Registered handler %&quot; PRIu64 &quot; for the &apos;%s&apos; scheme&quot;, handlerIdentifier, scheme..utf8().data());

I think WebPage: is redundant because RELEASE_LOG_IF_ALLOWED should already include it. Should this be &quot;registerURLSchemeHandler: ...&quot; instead?

&gt; Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:109
&gt; +            WEBURLSCHEMETASKPROXY_RELEASE_LOG_IF_ALLOWED(Loading, &quot;Redirected scheme task would have been sent to a different URL.&quot;);

Ditto about format, do we want this to say &quot;didPerformRedirection: Redirected scheme task would have been sent to a different URL&quot;?

&gt; Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:115
&gt; +        WEBURLSCHEMETASKPROXY_RELEASE_LOG_IF_ALLOWED(Loading, &quot;Received redirect during previous redirect processing, queuing it.&quot;);

Ditto re: format.

&gt; Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:129
&gt; +        WEBURLSCHEMETASKPROXY_RELEASE_LOG_IF_ALLOWED(Loading, &quot;Received response during redirect processing, queuing it.&quot;);

Ditto.

&gt; Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:152
&gt; +        WEBURLSCHEMETASKPROXY_RELEASE_LOG_IF_ALLOWED(Loading, &quot;Received data during response processing, queuing it.&quot;);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747111</commentid>
    <comment_count>4</comment_count>
      <attachid>425182</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-05 14:30:42 -0700</bug_when>
    <thetext>Comment on attachment 425182
Patch

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

&gt;&gt; Source/WebCore/loader/ResourceLoader.cpp:130
&gt;&gt; +            RELEASE_LOG_IF_ALLOWED(&quot;init: Cancelling because the document loader has no frame.&quot;);
&gt; 
&gt; I think this should be &quot;releaseResources: ...&quot; instead of &quot;init: ... &quot;.

I&apos;m trying to capture the reason the &apos;init&apos; method is failing to create a loader, and is triggering a cancel and complete(false) -- so I think this is the right label.

&gt;&gt; Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:562
&gt;&gt; +    RELEASE_LOG_IF_ALLOWED(Loading, &quot;removeLoadIdentifier %&quot; PRIu64 &quot; and aborting corresponding loader&quot;, identifier);
&gt; 
&gt; This message format diverges from the typical format of &lt;functionName&gt;&lt;colon&gt;&lt;message&gt;. Maybe it could be refactored to align more?

Will do.

&gt;&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:6728
&gt;&gt; +    RELEASE_LOG_IF_ALLOWED(Process, &quot;WebPage: Registered handler %&quot; PRIu64 &quot; for the &apos;%s&apos; scheme&quot;, handlerIdentifier, scheme..utf8().data());
&gt; 
&gt; I think WebPage: is redundant because RELEASE_LOG_IF_ALLOWED should already include it. Should this be &quot;registerURLSchemeHandler: ...&quot; instead?

Oh, yes! You are right.

&gt;&gt; Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:109
&gt;&gt; +            WEBURLSCHEMETASKPROXY_RELEASE_LOG_IF_ALLOWED(Loading, &quot;Redirected scheme task would have been sent to a different URL.&quot;);
&gt; 
&gt; Ditto about format, do we want this to say &quot;didPerformRedirection: Redirected scheme task would have been sent to a different URL&quot;?

Yep (and same to below).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747139</commentid>
    <comment_count>5</comment_count>
      <attachid>425217</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-05 15:45:47 -0700</bug_when>
    <thetext>Created attachment 425217
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747141</commentid>
    <comment_count>6</comment_count>
      <attachid>425182</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-04-05 15:48:07 -0700</bug_when>
    <thetext>Comment on attachment 425182
Patch

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

&gt;&gt;&gt; Source/WebCore/loader/ResourceLoader.cpp:130
&gt;&gt;&gt; +            RELEASE_LOG_IF_ALLOWED(&quot;init: Cancelling because the document loader has no frame.&quot;);
&gt;&gt; 
&gt;&gt; I think this should be &quot;releaseResources: ...&quot; instead of &quot;init: ... &quot;.
&gt; 
&gt; I&apos;m trying to capture the reason the &apos;init&apos; method is failing to create a loader, and is triggering a cancel and complete(false) -- so I think this is the right label.

Oops, I misread the diff. You&apos;re right!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747165</commentid>
    <comment_count>7</comment_count>
      <attachid>425222</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-05 16:49:06 -0700</bug_when>
    <thetext>Created attachment 425222
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747476</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-06 09:45:39 -0700</bug_when>
    <thetext>The test failure is not related to my patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747535</commentid>
    <comment_count>9</comment_count>
      <attachid>425222</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-06 11:13:00 -0700</bug_when>
    <thetext>Comment on attachment 425222
Patch

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

&gt; Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:364
&gt; +    RELEASE_LOG_IF_ALLOWED(Loading, &quot;didClose: WebProcess (%d) closed its connection. Aborting related loaders.&quot;, connection.remoteProcessID());

Cool!  Do we want a log in the web process if the network process closes its connection?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747544</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-06 11:30:37 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #9)
&gt; Comment on attachment 425222 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=425222&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:364
&gt; &gt; +    RELEASE_LOG_IF_ALLOWED(Loading, &quot;didClose: WebProcess (%d) closed its connection. Aborting related loaders.&quot;, connection.remoteProcessID());
&gt; 
&gt; Cool!  Do we want a log in the web process if the network process closes its
&gt; connection?

Yes -- that&apos;s a great idea. I&apos;ll add that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747661</commentid>
    <comment_count>11</comment_count>
      <attachid>425329</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-06 15:10:12 -0700</bug_when>
    <thetext>Created attachment 425329
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747678</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-06 15:38:02 -0700</bug_when>
    <thetext>Committed r275563: &lt;https://commits.webkit.org/r275563&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425329.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425182</attachid>
            <date>2021-04-05 11:59:57 -0700</date>
            <delta_ts>2021-04-05 15:45:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224194-20210405115956.patch</filename>
            <type>text/plain</type>
            <size>21239</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NDI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzE0YjJkMmQ0Nzk0YTAy
Y2Y3NzBmNGQ5NWQwNjBhOGJmNTdmYzc3ZC4uYWUwMThmNzYyYmIzZDM2NjU0MTFmMmYyNTA4YjQx
MmMxZTE5ODhlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA0LTA1ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhZGRpdGlvbmFs
IHBhZ2UgbG9hZCBkaWFnbm9zdGljIGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDE5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzYy
MjcxNzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBhZGRzIG5ldyBsb2dnaW5nIHRvIGhlbHAgdXMgZGlhZ25vc2UgYW5kIGludmVz
dGlnYXRlIHBhZ2UgbG9hZCBmYWlsdXJlcy4KKworICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6aW5pdCk6IEFkZCBs
b2dnaW5nIGZvciBzb21lIHVudXN1YWwgY29uZGl0aW9uczoKKyAgICAgICAgICAgICgxKSBBIGxv
YWRlciBjYW5ub3QgYmUgY3JlYXRlZCBiZWNhdXNlIHRoZSBkb2N1bWVudCBsb2FkZXIgaXMgbnVs
bHB0ci4KKyAgICAgICAgICAgICgyKSBBIGxvYWQgaXMgY2FuY2VsbGVkIGJlY2F1c2UgaXQgdmlv
bGF0ZXMgc2VjdXJpdHkgcG9saWN5LgorICAgICAgICAgICAgKDMpIEEgbG9hZCB3YXMgY2FuY2Vs
bGVkIGR1cmluZyAnd2lsbFNlbmRSZXF1ZXN0JyBwcm9jZXNzaW5nLgorICAgICAgICAgICAgKDQp
IEEgbG9hZCB3YXMgY2FuY2VsbGVkIGJlY2F1c2UgdGhlIHJlcXVlc3Qgd2FzIG51bGwuCisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6bG9hZERhdGFVUkwpOiBMb2cgd2hlbiBhIGRh
dGEgbG9hZCB3YXMgY2FuY2VsbGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6
OndpbGxTZW5kUmVxdWVzdEludGVybmFsKTogTG9nIHdoZW4gYSBjcm9zcy1vcmlnaW4gcmVkaXJl
Y3QgaXMgdHJpZ2dlcmVkLCBhbmQgd2hlbiBhIHJlZGlyZWN0IGlzCisgICAgICAgIHRvIGEgZGF0
YVVSTCBhbmQgd2lsbCBiZSBoYW5kbGVkIGxvY2FsbHkuCisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZ09uZVBhcnQpOiBMb2cgd2hlbiBhIGxvYWQgaXMg
Y2FuY2VsbGVkIGFmdGVyIGl0IGZpbmlzaGVkLgorICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJj
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNl
bmRSZXF1ZXN0SW50ZXJuYWwpOiAgTG9nIHdoZW4gYW4gb25nb2luZyBsb2FkIGhhcyB1bmV4cGVj
dGVkbHkgcmVhY2hlZCB0ZXJtaW5hbCBzdGF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291
cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKTogTG9nIHdoZW4gYSBmaW5pc2hlZCBsb2FkIHVu
ZXhwZWN0ZWRseSBkaWQgbm90IHJlYWNoIHRlcm1pbmFsIHN0YXRlLgorICAgICAgICAoV2ViQ29y
ZTo6U3VicmVzb3VyY2VMb2FkZXI6Om5vdGlmeURvbmUpOiBMb2cgd2hlbiBhIGxvYWQgY291bGQg
bm90IGZpbmlzaCBiZWNhdXNlIHRoZSBkb2N1bWVudCBsb2FkZXIgd2FzIG51bGxwdHIuCisKIDIw
MjEtMDQtMDIgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBWDogdGV4dFJlY3RzRnJvbU1hcmtlcnMgYWx3YXlzIGZhaWxzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg2YWRh
OGEwNDRiMDgwMWI1MDMyZmVlMmVjZjY2N2YzZjY0MGIzYjkuLmQ3OGYzMGIyYTAwMDc0MTc5OWU1
YmY5YWM4YWM5ZWQxYTAyYzg0MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMDQt
MDUgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGFk
ZGl0aW9uYWwgcGFnZSBsb2FkIGRpYWdub3N0aWMgbG9nZ2luZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0MTk0CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83NjIyNzE3NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGFkZHMgbmV3IGxvZ2dpbmcgdG8gaGVscCB1cyBkaWFnbm9zZSBh
bmQgaW52ZXN0aWdhdGUgcGFnZSBsb2FkIGZhaWx1cmVzLgorCisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkQ2xvc2UpOiBMb2cgd2hlbiB0aGUg
Y29ubmVjdGlvbiBmcm9tIGEgV2ViUHJvY2VzcyByZXF1ZXN0aW5nIGEgbG9hZAorICAgICAgICBp
cyBjbG9zZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpyZW1vdmVMb2FkSWRlbnRpZmllcik6IExvZyB3aGVuIHRoZSBXZWJQcm9jZXNzIHJlcXVlc3Rz
IGEgbG9hZAorICAgICAgICBpZGVudGlmaWVyIGJlIHJlbW92ZWQgKGFuZCBjYW5jZWxsZWQpLgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6cmVzdGFydE5ldHdvcmtMb2FkKTog
TG9nIHdoZW4gYW4gaW4tcHJvY2VzcyBsb2FkIGlzIGNhbmNlbGxlZCBzbyB0aGF0IHRoZSBsb2Fk
CisgICAgICAgIGNhbiBiZSByZXN0YXJ0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRl
Z3k6OnNjaGVkdWxlTG9hZCk6IFJlbW92ZSBhbiBlcnJvbmVvdXMgbG9nIG1lc3NhZ2UgdGhhdCBt
YWRlIGl0IGFwcGVhciB0aGF0IG5vIFVSTCBoYW5kbGVyCisgICAgICAgIGhhZCBiZWVuIGNhbGxl
ZC4gVGhlIGxvZyBtZXNzYWdlIHdhcyBnZW5lcmF0ZWQgd2hlbiBhIG5vcm1hbCBuZXR3b3JrIGxv
YWQgaGFuZGxlciB3YXMgZXhlY3V0ZWQsIGxlYWRpbmcgdG8KKyAgICAgICAgY29uZnVzaW5nIHRy
b3VibGVzaG9vdGluZyBsb2dzLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVnaXN0ZXJVUkxTY2hlbWVIYW5kbGVy
KTogTG9nIHdoZW4gYSB3ZWIgcGFnZSByZWdpc3RlcnMgYSBjdXN0b20gVVJMIGhhbmRsZXIsIGFu
ZCBmb3Igd2hpY2ggc2NoZW1lLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJVUkxT
Y2hlbWVUYXNrUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpwYWdlSURGcm9tV2ViRnJhbWUp
OiBBZGRlZCBoZWxwZXIuCisgICAgICAgIChXZWJLaXQ6OmZyYW1lSURGcm9tV2ViRnJhbWUpOiBE
aXR0by4KKyAgICAgICAgKFdlYktpdDo6V2ViVVJMU2NoZW1lVGFza1Byb3h5OjpzdGFydExvYWRp
bmcpOiBBZGQgbG9nZ2luZyB0byB0cmFjayBwcm9ncmVzcyBvZiBjdXN0b20gVVJMIGhhbmRsZXJz
LgorICAgICAgICAoV2ViS2l0OjpXZWJVUkxTY2hlbWVUYXNrUHJveHk6OnN0b3BMb2FkaW5nKTog
RGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlVSTFNjaGVtZVRhc2tQcm94eTo6ZGlkUGVyZm9y
bVJlZGlyZWN0aW9uKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlVSTFNjaGVtZVRhc2tQ
cm94eTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlVS
TFNjaGVtZVRhc2tQcm94eTo6ZGlkUmVjZWl2ZURhdGEpOiBEaXR0by4KKyAgICAgICAgKFdlYktp
dDo6V2ViVVJMU2NoZW1lVGFza1Byb3h5OjpkaWRDb21wbGV0ZSk6IERpdHRvLgorCiAyMDIxLTA0
LTAyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBEbyBub3Qg
c2VuZCBzYW1wbGVzIHRvIEdQVVByb2Nlc3MgaWYgbWVkaWFzdHJlYW0gdmlkZW8gaXMgbm90IHBs
YXlpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDJhZmRm
MWVkNGRjZGM4ZjRmMDA3Y2I3MzdhYTNlNTBmNTFhOTM1N2YuLmJjNGUxYWI2MmNmYjU4YjlkOWM2
ZTg5YTRmMzUzODQ4MDBhOGM3N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZGVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgICAgICAgICAgKEMpIDIwMDcg
R3JhaGFtIERlbm5pcyAoZ3JhaGFtLmRlbm5pc0BnbWFpbC5jb20pCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CkBAIC0xMjQsNiArMTI0LDEwIEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OnJlbGVhc2VSZXNvdXJj
ZXMoKQogdm9pZCBSZXNvdXJjZUxvYWRlcjo6aW5pdChSZXNvdXJjZVJlcXVlc3QmJiBjbGllbnRS
ZXF1ZXN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogewogICAgIGlmICghbV9kb2N1bWVudExvYWRlciB8fCAhbV9kb2N1bWVudExvYWRlci0+ZnJh
bWUoKSkgeworICAgICAgICBpZiAoIW1fZG9jdW1lbnRMb2FkZXIpCisgICAgICAgICAgICBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKCJpbml0OiBDYW5jZWxsaW5nIGJlY2F1c2UgdGhlcmUgaXMgbm8g
ZG9jdW1lbnQgbG9hZGVyLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBSRUxFQVNFX0xP
R19JRl9BTExPV0VEKCJpbml0OiBDYW5jZWxsaW5nIGJlY2F1c2UgdGhlIGRvY3VtZW50IGxvYWRl
ciBoYXMgbm8gZnJhbWUuIik7CiAgICAgICAgIGNhbmNlbCgpOwogICAgICAgICByZXR1cm4gY29t
cGxldGlvbkhhbmRsZXIoZmFsc2UpOwogICAgIH0KQEAgLTEzOCw2ICsxNDIsNyBAQCB2b2lkIFJl
c291cmNlTG9hZGVyOjppbml0KFJlc291cmNlUmVxdWVzdCYmIGNsaWVudFJlcXVlc3QsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaQogICAgIG1fZGVmZXJzTG9hZGluZyA9IG1fb3B0aW9ucy5kZWZlcnNM
b2FkaW5nUG9saWN5ID09IERlZmVyc0xvYWRpbmdQb2xpY3k6OkFsbG93RGVmZXJzTG9hZGluZyAm
JiBtX2ZyYW1lLT5wYWdlKCktPmRlZmVyc0xvYWRpbmcoKTsKIAogICAgIGlmIChtX29wdGlvbnMu
c2VjdXJpdHlDaGVjayA9PSBTZWN1cml0eUNoZWNrUG9saWN5OjpEb1NlY3VyaXR5Q2hlY2sgJiYg
IW1fZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkuY2FuRGlzcGxheShjbGllbnRS
ZXF1ZXN0LnVybCgpKSkgeworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJpbml0OiBD
YW5jZWxsaW5nIGxvYWQgYmVjYXVzZSBpdCB2aW9sYXRlcyBzZWN1cml0eSBwb2xpY3kuIik7CiAg
ICAgICAgIEZyYW1lTG9hZGVyOjpyZXBvcnRMb2NhbExvYWRGYWlsZWQobV9mcmFtZS5nZXQoKSwg
Y2xpZW50UmVxdWVzdC51cmwoKS5zdHJpbmcoKSk7CiAgICAgICAgIHJlbGVhc2VSZXNvdXJjZXMo
KTsKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKQEAgLTE1OCwxMSAr
MTYzLDE0IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OmluaXQoUmVzb3VyY2VSZXF1ZXN0JiYgY2xp
ZW50UmVxdWVzdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pCiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogICAgICAgICAvLyBJZiB0aGlzIFJlc291cmNlTG9hZGVyIHdhcyBzdG9wcGVkIGFzIGEg
cmVzdWx0IG9mIHdpbGxTZW5kUmVxdWVzdCwgYmFpbCBvdXQuCi0gICAgICAgIGlmIChtX3JlYWNo
ZWRUZXJtaW5hbFN0YXRlKQorICAgICAgICBpZiAobV9yZWFjaGVkVGVybWluYWxTdGF0ZSkgewor
ICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiaW5pdDogQ2FuY2VsbGluZyBsb2Fk
IGJlY2F1c2UgaXQgd2FzIHN0b3BwZWQgYXMgYSByZXN1bHQgb2Ygd2lsbFNlbmRSZXF1ZXN0LiIp
OwogICAgICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICAgICAg
fQogI2VuZGlmCiAKICAgICAgICAgaWYgKHJlcXVlc3QuaXNOdWxsKCkpIHsKKyAgICAgICAgICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImluaXQ6IENhbmNlbGxpbmcgbG9hZCBiZWNhdXNlIHRo
ZSByZXF1ZXN0IGlzIG51bGwuIik7CiAgICAgICAgICAgICBjYW5jZWwoKTsKICAgICAgICAgICAg
IHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgICAgIH0KQEAgLTI2OSw4ICsy
NzcsMTAgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6bG9hZERhdGFVUkwoKQogICAgICAgICAgICAg
cHJvdGVjdGVkVGhpcy0+ZGlkRmFpbChSZXNvdXJjZUVycm9yKGVycm9yRG9tYWluV2ViS2l0SW50
ZXJuYWwsIDAsIHVybCwgIkRhdGEgVVJMIGRlY29kaW5nIGZhaWxlZCIpKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQotICAgICAgICBpZiAodGhpcy0+d2FzQ2FuY2VsbGVkKCkpCisg
ICAgICAgIGlmICh0aGlzLT53YXNDYW5jZWxsZWQoKSkgeworICAgICAgICAgICAgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRCgibG9hZERhdGFVUkw6IExvYWQgd2FzIGNhbmNlbGxlZCIpOwogICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CiAKICAgICAgICAgYXV0byBkYXRhU2l6ZSA9IGRlY29k
ZVJlc3VsdC0+ZGF0YS5zaXplKCk7CiAgICAgICAgIFJlc291cmNlUmVzcG9uc2UgZGF0YVJlc3Bv
bnNlID0gUmVzb3VyY2VSZXNwb25zZTo6ZGF0YVVSTFJlc3BvbnNlKHVybCwgZGVjb2RlUmVzdWx0
LnZhbHVlKCkpOwpAQCAtNDAyLDYgKzQxMiw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OndpbGxT
ZW5kUmVxdWVzdEludGVybmFsKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFJlCiAK
ICAgICBib29sIGlzUmVkaXJlY3QgPSAhcmVkaXJlY3RSZXNwb25zZS5pc051bGwoKTsKICAgICBp
ZiAoaXNSZWRpcmVjdCkgeworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJ3aWxsU2Vu
ZFJlcXVlc3RJbnRlcm5hbDogUHJvY2Vzc2luZyBjcm9zcy1vcmlnaW4gcmVkaXJlY3QiKTsKICAg
ICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmNyb3NzT3JpZ2lu
UmVkaXJlY3RSZWNlaXZlZCh0aGlzLCByZXF1ZXN0LnVybCgpKTsKICNpZiBFTkFCTEUoUkVTT1VS
Q0VfTE9BRF9TVEFUSVNUSUNTKQogICAgICAgICBmcmFtZUxvYWRlcigpLT5jbGllbnQoKS5kaWRM
b2FkRnJvbVJlZ2lzdHJhYmxlRG9tYWluKFJlZ2lzdHJhYmxlRG9tYWluKHJlcXVlc3QudXJsKCkp
KTsKQEAgLTQxNiw2ICs0MjcsNyBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVl
c3RJbnRlcm5hbChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBjb25zdCBSZQogCiAgICAgICAg
IGlmIChyZWRpcmVjdFVSTC5wcm90b2NvbElzRGF0YSgpKSB7CiAgICAgICAgICAgICAvLyBIYW5k
bGUgZGF0YSBVUkwgZGVjb2RpbmcgbG9jYWxseS4KKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoIndpbGxTZW5kUmVxdWVzdEludGVybmFsOiBSZWRpcmVjdGVkIHRvIGEgZGF0YSBV
UkwuIFByb2Nlc3NpbmcgbG9jYWxseSIpOwogICAgICAgICAgICAgZmluaXNoTmV0d29ya0xvYWQo
KTsKICAgICAgICAgICAgIGxvYWREYXRhVVJMKCk7CiAgICAgICAgIH0KQEAgLTU2NSw4ICs1Nzcs
MTAgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZ09uZVBhcnQoY29uc3Qg
TmV0d29ya0xvYWRNZXRyaWNzJiBuZXR3b3JrTG8KIHsKICAgICAvLyBJZiBsb2FkIGhhcyBiZWVu
IGNhbmNlbGxlZCBhZnRlciBmaW5pc2hpbmcgKHdoaWNoIGNvdWxkIGhhcHBlbiB3aXRoIGEKICAg
ICAvLyBKYXZhU2NyaXB0IHRoYXQgY2hhbmdlcyB0aGUgd2luZG93IGxvY2F0aW9uKSwgZG8gbm90
aGluZy4KLSAgICBpZiAod2FzQ2FuY2VsbGVkKCkpCisgICAgaWYgKHdhc0NhbmNlbGxlZCgpKSB7
CisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZEZpbmlzaExvYWRpbmdPbmVQYXJ0
OiBMb2FkIHdhcyBjYW5jZWxsZWQgYWZ0ZXIgZmluaXNoaW5nLiIpOwogICAgICAgICByZXR1cm47
CisgICAgfQogICAgIEFTU0VSVCghbV9yZWFjaGVkVGVybWluYWxTdGF0ZSk7CiAKICAgICBpZiAo
bV9ub3RpZmllZExvYWRDb21wbGV0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3Vy
Y2VMb2FkZXIuY3BwCmluZGV4IGNiOTY2MTkxNDZiMjM5MjBmZmQwNmI3NGQzYTNkMzFiOGYyOTk4
OTEuLmRhOTg5YTIyOGJiZWY1MDQ5OTc2NDJkOGM3MzNkZDBlZDZjMzhhMmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIxMSw4ICsyMTEsMTAg
QEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwoUmVzb3Vy
Y2VSZXF1ZXN0JiYgbmV3UmVxdWVzdCwgY28KICAgICAgICAgfQogCiAgICAgICAgIFJlc291cmNl
TG9hZGVyOjp3aWxsU2VuZFJlcXVlc3RJbnRlcm5hbChXVEZNb3ZlKG5ld1JlcXVlc3QpLCByZWRp
cmVjdFJlc3BvbnNlLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhp
cyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIHJlZGly
ZWN0UmVzcG9uc2VdIChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0KSBtdXRhYmxlIHsKLSAgICAg
ICAgICAgIGlmIChyZWFjaGVkVGVybWluYWxTdGF0ZSgpKQorICAgICAgICAgICAgaWYgKHJlYWNo
ZWRUZXJtaW5hbFN0YXRlKCkpIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKCJ3aWxsU2VuZFJlcXVlc3RJbnRlcm5hbDogcmVhY2hlZCB0ZXJtaW5hbCBzdGF0ZTsgY2Fs
bGluZyBjb21wbGV0aW9uIGhhbmRsZXIiKTsKICAgICAgICAgICAgICAgICByZXR1cm4gY29tcGxl
dGlvbkhhbmRsZXIoV1RGTW92ZShyZXF1ZXN0KSk7CisgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIGlmIChyZXF1ZXN0LmlzTnVsbCgpKSB7CiAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRCgid2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWw6IHJlc291cmNlIGxvYWQgY2FuY2Vs
ZWQgYmVjYXVzZSByZXF1ZXN0IGlzIE5VTEwgKDIpIik7CkBAIC03NDksNiArNzUxLDcgQEAgdm9p
ZCBTdWJyZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhjb25zdCBOZXR3b3JrTG9hZE1l
dHJpY3MmIG5ldHdvcmtMb2FkTWUKICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlk
RmluaXNoTG9hZGluZzogcmVhY2hlZCB0ZXJtaW5hbCBzdGF0ZSIpOwogICAgICAgICByZXR1cm47
CiAgICAgfQorICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZEZpbmlzaExvYWRpbmc6IERp
ZCBub3QgcmVhY2ggdGVybWluYWwgc3RhdGUiKTsKICAgICByZWxlYXNlUmVzb3VyY2VzKCk7CiB9
CiAKQEAgLTg0NywxMCArODUwLDE1IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6Om5vdGlmeURv
bmUoTG9hZENvbXBsZXRpb25UeXBlIHR5cGUpCiAjZW5kaWYKICAgICBpZiAobV9kb2N1bWVudExv
YWRlcikKICAgICAgICAgbV9kb2N1bWVudExvYWRlci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS5s
b2FkRG9uZSh0eXBlLCBzaG91bGRQZXJmb3JtUG9zdExvYWRBY3Rpb25zKTsKKyAgICBlbHNlCisg
ICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIm5vdGlmeURvbmU6IGRvY3VtZW50
IGxvYWRlciBpcyBudWxsLiBDb3VsZCBub3QgY2FsbCBsb2FkRG9uZSgpIik7CisKICAgICBpZiAo
cmVhY2hlZFRlcm1pbmFsU3RhdGUoKSkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2RvY3Vt
ZW50TG9hZGVyKQogICAgICAgICBtX2RvY3VtZW50TG9hZGVyLT5yZW1vdmVTdWJyZXNvdXJjZUxv
YWRlcih0eXBlLCB0aGlzKTsKKyAgICBlbHNlCisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lG
X0FMTE9XRUQoIm5vdGlmeURvbmU6IGRvY3VtZW50IGxvYWRlciBpcyBudWxsLiBDb3VsZCBub3Qg
Y2FsbCByZW1vdmVTdWJyZXNvdXJjZUxvYWRlcigpIik7CiB9CiAKIHZvaWQgU3VicmVzb3VyY2VM
b2FkZXI6OnJlbGVhc2VSZXNvdXJjZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRl
eCAzNzFkMDIyZDdjOTk5MTUxZjAzZGY2ZTRkMDMyNDBhYmUxZjYxNTQzLi4wYjIzYTNhODg3YmVm
NTc1NTM5ZDVjMTI2MzViOTkxM2I4ZmU4N2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTM2MCw2ICszNjAsOCBAQCB2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiAgICAgLy8gUHJvdGVjdCBv
dXJzZWxmIGFzIHdlIG1pZ2h0IGJlIG90aGVyd2lzZSBiZSBkZWxldGVkIGR1cmluZyB0aGlzIGZ1
bmN0aW9uLgogICAgIFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4gcHJvdGVjdG9y
KCp0aGlzKTsKIAorICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTG9hZGluZywgImRpZENsb3Nl
OiBXZWJQcm9jZXNzICglZCkgY2xvc2VkIGl0cyBjb25uZWN0aW9uLiBBYm9ydGluZyByZWxhdGVk
IGxvYWRlcnMuIiwgY29ubmVjdGlvbi5yZW1vdGVQcm9jZXNzSUQoKSk7CisKICAgICB3aGlsZSAo
IW1fbmV0d29ya1Jlc291cmNlTG9hZGVycy5pc0VtcHR5KCkpCiAgICAgICAgIG1fbmV0d29ya1Jl
c291cmNlTG9hZGVycy5iZWdpbigpLT52YWx1ZS0+YWJvcnQoKTsKIApAQCAtNTU3LDYgKzU1OSw3
IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlbW92ZUxvYWRJZGVudGlm
aWVyKFJlc291cmNlTG9hZElkZW50aWZpZXIKIAogICAgIC8vIEFib3J0IHRoZSBsb2FkIG5vdywg
YXMgdGhlIFdlYlByb2Nlc3Mgd29uJ3QgYmUgYWJsZSB0byByZXNwb25kIHRvIG1lc3NhZ2VzIGFu
eSBtb3JlIHdoaWNoIG1pZ2h0IGxlYWQKICAgICAvLyB0byBsZWFrZWQgbG9hZGVyIHJlc291cmNl
cyAoY29ubmVjdGlvbnMsIHRocmVhZHMsIGV0YykuCisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RChMb2FkaW5nLCAicmVtb3ZlTG9hZElkZW50aWZpZXIgJSIgUFJJdTY0ICIgYW5kIGFib3J0aW5n
IGNvcnJlc3BvbmRpbmcgbG9hZGVyIiwgaWRlbnRpZmllcik7CiAgICAgbG9hZGVyLT5hYm9ydCgp
OwogICAgIEFTU0VSVCghbV9uZXR3b3JrUmVzb3VyY2VMb2FkZXJzLmNvbnRhaW5zKGlkZW50aWZp
ZXIpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCBjZjk1YzdkZWUyNTFjYjA4OWYzZGQ1OTBkMWE2NjFi
YWQzOTcxOTE0Li44NGIwNGU4MjdkMWQzYjE2YTEzNDhmNTNhZGI2MmI3NTcxNTdkZjAwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE5
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMi0y
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtOTM5LDggKzkzOSwxMCBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRl
cjo6cmVzdGFydE5ldHdvcmtMb2FkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIG5ld1JlcQog
ewogICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInJlc3RhcnROZXR3b3JrTG9hZDogKGhhc05l
dHdvcmtMb2FkPSVkKSIsICEhbV9uZXR3b3JrTG9hZCk7CiAKLSAgICBpZiAobV9uZXR3b3JrTG9h
ZCkKKyAgICBpZiAobV9uZXR3b3JrTG9hZCkgeworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKCJyZXN0YXJ0TmV0d29ya0xvYWQ6IENhbmNlbGxpbmcgZXhpc3RpbmcgbmV0d29yayBsb2Fk
IHNvIHdlIGNhbiByZXN0YXJ0IHRoZSBsb2FkLiIpOwogICAgICAgICBtX25ldHdvcmtMb2FkLT5j
YW5jZWwoKTsKKyAgICB9CiAKICAgICBzdGFydE5ldHdvcmtMb2FkKFdURk1vdmUobmV3UmVxdWVz
dCksIEZpcnN0TG9hZDo6Tm8pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCmluZGV4IDUyZDM3MmE1YWNhZTc3Mzdm
YzBlZmY0MmExMzI4ODI0MjVhN2ViNzEuLjAzMjYxZWZkNDc1YWEyMjMxM2Y2ZGExZWM0ODFmZjVi
MzU2MGU1MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDEyLCAyMDE1LCAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjQ4LDggKzI0OCw2IEBAIHZvaWQg
V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VM
b2FkZXIsIENhY2hlZFJlc291CiAgICAgICAgIHNjaGVkdWxlTG9hZEZyb21OZXR3b3JrUHJvY2Vz
cyhyZXNvdXJjZUxvYWRlciwgcmVzb3VyY2VMb2FkZXIucmVxdWVzdCgpLCB0cmFja2luZ1BhcmFt
ZXRlcnMsIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QsIG1heGltdW1C
dWZmZXJpbmdUaW1lKHJlc291cmNlKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBX
RUJMT0FERVJTVFJBVEVHWV9SRUxFQVNFX0xPR19JRl9BTExPV0VEKCJzY2hlZHVsZUxvYWQ6IFVS
TCBub3QgaGFuZGxlZCBieSBhbnkgaGFuZGxlcnMiKTsKIH0KIAogYm9vbCBXZWJMb2FkZXJTdHJh
dGVneTo6dHJ5TG9hZGluZ1VzaW5nVVJMU2NoZW1lSGFuZGxlcihSZXNvdXJjZUxvYWRlciYgcmVz
b3VyY2VMb2FkZXIsIGNvbnN0IFdlYlJlc291cmNlTG9hZGVyOjpUcmFja2luZ1BhcmFtZXRlcnMm
IHRyYWNraW5nUGFyYW1ldGVycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKaW5kZXggZTMxZTg5NWZkN2FjMjhlMTExNmZiZTU2NzUzNzZkN2NiMTM3Mjc2
ZC4uZWMwZTM3YjgyM2JjNjM1YmJlYTk5MGFiNTMxODFkYWI2ZTBjMjEyNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTY3MjUsNiArNjcyNSw3
IEBAIHZvaWQgV2ViUGFnZTo6c3RvcEFsbFVSTFNjaGVtZVRhc2tzKCkKIAogdm9pZCBXZWJQYWdl
OjpyZWdpc3RlclVSTFNjaGVtZUhhbmRsZXIodWludDY0X3QgaGFuZGxlcklkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgc2NoZW1lKQogeworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vz
cywgIldlYlBhZ2U6IFJlZ2lzdGVyZWQgaGFuZGxlciAlIiBQUkl1NjQgIiBmb3IgdGhlICclcycg
c2NoZW1lIiwgaGFuZGxlcklkZW50aWZpZXIsIHNjaGVtZS4udXRmOCgpLmRhdGEoKSk7CiAgICAg
V2ViQ29yZTo6TGVnYWN5U2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNIYW5kbGVk
QnlTY2hlbWVIYW5kbGVyKHNjaGVtZSk7CiAgICAgV2ViQ29yZTo6TGVnYWN5U2NoZW1lUmVnaXN0
cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNDT1JTRW5hYmxlZChzY2hlbWUpOwogICAgIGF1dG8gc2No
ZW1lUmVzdWx0ID0gbV9zY2hlbWVUb1VSTFNjaGVtZUhhbmRsZXJQcm94eU1hcC5hZGQoc2NoZW1l
LCBXZWJVUkxTY2hlbWVIYW5kbGVyUHJveHk6OmNyZWF0ZSgqdGhpcywgaGFuZGxlcklkZW50aWZp
ZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlVS
TFNjaGVtZVRhc2tQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJVUkxTY2hlbWVUYXNrUHJveHkuY3BwCmluZGV4IGJiMDhkNmI1OWQxNjllMjZkNjM1MGMxNGFl
NzNmZTJiMTU1OWM2ZGIuLjI5OTVjODBiYjU3OTM3M2IzYTQ1NDVjYTA2YTA5NzE5N2YyODgxYjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlVSTFNjaGVt
ZVRhc2tQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
VVJMU2NoZW1lVGFza1Byb3h5LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0zOCw5ICszOCwzNSBAQAogI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VMb2FkZXIuaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KIAor
I2RlZmluZSBSRUxFQVNFX0xPR19JU19BTExPV0VEIChXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5z
ZXNzaW9uSUQoKS5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSkKKworI2RlZmluZSBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihSRUxFQVNFX0xPR19JU19B
TExPV0VELCBMb2FkaW5nLCAiJXAgLSBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OiIgZm10LCB0aGlz
LCAjI19fVkFfQVJHU19fKQorCisjZGVmaW5lIFdFQlVSTFNDSEVNRVRBU0tQUk9YWV9SRUxFQVNF
X0xPR19TVEFOREFSRF9URU1QTEFURSAiW3NjaGVtZUhhbmRsZXI9JSIgUFJJdTY0ICIsIHdlYlBh
Z2VJRD0lIiBQUkl1NjQgIiwgZnJhbWVJRD0lIiBQUkl1NjQgIiwgdGFza0lEPSVsdV0gV2ViVVJM
U2NoZW1lVGFza1Byb3h5OjoiCisjZGVmaW5lIFdFQlVSTFNDSEVNRVRBU0tQUk9YWV9SRUxFQVNF
X0xPR19TVEFOREFSRF9QQVJBTUVURVJTIG1fdXJsU2NoZW1lSGFuZGxlci5pZGVudGlmaWVyKCks
IHBhZ2VJREZyb21XZWJGcmFtZShtX2ZyYW1lKSwgZnJhbWVJREZyb21XZWJGcmFtZShtX2ZyYW1l
KSwgbV9pZGVudGlmaWVyCisKKyNkZWZpbmUgV0VCVVJMU0NIRU1FVEFTS1BST1hZX1JFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKFJFTEVBU0VfTE9HX0lTX0FM
TE9XRUQsIE5ldHdvcmssIFdFQlVSTFNDSEVNRVRBU0tQUk9YWV9SRUxFQVNFX0xPR19TVEFOREFS
RF9URU1QTEFURSBmbXQsIFdFQlVSTFNDSEVNRVRBU0tQUk9YWV9SRUxFQVNFX0xPR19TVEFOREFS
RF9QQVJBTUVURVJTLCAjI19fVkFfQVJHU19fKQorCisKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKK3N0YXRpYyB1aW50NjRfdCBwYWdlSURGcm9tV2ViRnJh
bWUoY29uc3QgUmVmUHRyPFdlYkZyYW1lPiYgZnJhbWUpCit7CisgICAgaWYgKGZyYW1lKSB7Cisg
ICAgICAgIGlmIChhdXRvKiBwYWdlID0gZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgICAgIHJldHVy
biBwYWdlLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKTsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9
CisKK3N0YXRpYyB1aW50NjRfdCBmcmFtZUlERnJvbVdlYkZyYW1lKGNvbnN0IFJlZlB0cjxXZWJG
cmFtZT4mIGZyYW1lKQoreworICAgIGlmIChmcmFtZSkKKyAgICAgICAgcmV0dXJuIGZyYW1lLT5m
cmFtZUlEKCkudG9VSW50NjQoKTsKKyAgICByZXR1cm4gMDsKK30KKwogV2ViVVJMU2NoZW1lVGFz
a1Byb3h5OjpXZWJVUkxTY2hlbWVUYXNrUHJveHkoV2ViVVJMU2NoZW1lSGFuZGxlclByb3h5JiBo
YW5kbGVyLCBSZXNvdXJjZUxvYWRlciYgbG9hZGVyLCBXZWJGcmFtZSYgZnJhbWUpCiAgICAgOiBt
X3VybFNjaGVtZUhhbmRsZXIoaGFuZGxlcikKICAgICAsIG1fY29yZUxvYWRlcigmbG9hZGVyKQpA
QCAtNTQsMTIgKzgwLDE0IEBAIHZvaWQgV2ViVVJMU2NoZW1lVGFza1Byb3h5OjpzdGFydExvYWRp
bmcoKQogewogICAgIEFTU0VSVChtX2NvcmVMb2FkZXIpOwogICAgIEFTU0VSVChtX2ZyYW1lKTsK
KyAgICBXRUJVUkxTQ0hFTUVUQVNLUFJPWFlfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic3RhcnRM
b2FkaW5nIik7CiAgICAgbV91cmxTY2hlbWVIYW5kbGVyLnBhZ2UoKS5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OlN0YXJ0VVJMU2NoZW1lVGFzayhVUkxTY2hlbWVUYXNrUGFyYW1ldGVycyB7
IG1fdXJsU2NoZW1lSGFuZGxlci5pZGVudGlmaWVyKCksIG1fY29yZUxvYWRlci0+aWRlbnRpZmll
cigpLCBtX3JlcXVlc3QsIG1fZnJhbWUtPmluZm8oKSB9KSk7CiB9CiAKIHZvaWQgV2ViVVJMU2No
ZW1lVGFza1Byb3h5OjpzdG9wTG9hZGluZygpCiB7CiAgICAgQVNTRVJUKG1fY29yZUxvYWRlcik7
CisgICAgV0VCVVJMU0NIRU1FVEFTS1BST1hZX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInN0b3BM
b2FkaW5nIik7CiAgICAgbV91cmxTY2hlbWVIYW5kbGVyLnBhZ2UoKS5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OlN0b3BVUkxTY2hlbWVUYXNrKG1fdXJsU2NoZW1lSGFuZGxlci5pZGVudGlm
aWVyKCksIG1fY29yZUxvYWRlci0+aWRlbnRpZmllcigpKSk7CiAgICAgbV9jb3JlTG9hZGVyID0g
bnVsbHB0cjsKICAgICBtX2ZyYW1lID0gbnVsbHB0cjsKQEAgLTc4LDEzICsxMDYsMTMgQEAgdm9p
ZCBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OmRpZFBlcmZvcm1SZWRpcmVjdGlvbihXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlJiYgcmUKICAgICAgICAgLy8gV2UgZG8gbm90IGluZm9ybSB0aGUgVUlQ
cm9jZXNzIG9mIFdlYktpdCdzIG5ldyByZXF1ZXN0IHdpdGggdGhlIGdpdmVuIHN1Z2dlc3RlZCBy
ZXF1ZXN0LgogICAgICAgICAvLyBXZSBkbyB3YW50IHRvIGtub3cgaWYgV2ViS2l0IHdvdWxkIGhh
dmUgZ2VuZXJhdGVkIGEgcmVxdWVzdCB0aGF0IGRpZmZlcnMgZnJvbSB0aGUgc3VnZ2VzdGVkIHJl
cXVlc3QsIHRob3VnaC4KICAgICAgICAgaWYgKHJlcXVlc3QudXJsKCkgIT0gb3JpZ2luYWxSZXF1
ZXN0LnVybCgpKQotICAgICAgICAgICAgUkVMRUFTRV9MT0coTG9hZGluZywgIlJlZGlyZWN0ZWQg
c2NoZW1lIHRhc2sgd291bGQgaGF2ZSBiZWVuIHNlbnQgdG8gYSBkaWZmZXJlbnQgVVJMLiIpOwor
ICAgICAgICAgICAgV0VCVVJMU0NIRU1FVEFTS1BST1hZX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
TG9hZGluZywgIlJlZGlyZWN0ZWQgc2NoZW1lIHRhc2sgd291bGQgaGF2ZSBiZWVuIHNlbnQgdG8g
YSBkaWZmZXJlbnQgVVJMLiIpOwogCiAgICAgICAgIHByb2Nlc3NOZXh0UGVuZGluZ1Rhc2soKTsK
ICAgICB9OwogICAgIAogICAgIGlmIChtX3dhaXRpbmdGb3JDb21wbGV0aW9uSGFuZGxlcikgewot
ICAgICAgICBSRUxFQVNFX0xPRyhMb2FkaW5nLCAiUmVjZWl2ZWQgcmVkaXJlY3QgZHVyaW5nIHBy
ZXZpb3VzIHJlZGlyZWN0IHByb2Nlc3NpbmcsIHF1ZXVpbmcgaXQuIik7CisgICAgICAgIFdFQlVS
TFNDSEVNRVRBU0tQUk9YWV9SRUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcsICJSZWNlaXZl
ZCByZWRpcmVjdCBkdXJpbmcgcHJldmlvdXMgcmVkaXJlY3QgcHJvY2Vzc2luZywgcXVldWluZyBp
dC4iKTsKICAgICAgICAgcXVldWVUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigq
dGhpcyksIHJlZGlyZWN0UmVzcG9uc2UgPSBXVEZNb3ZlKHJlZGlyZWN0UmVzcG9uc2UpLCByZXF1
ZXN0ID0gV1RGTW92ZShyZXF1ZXN0KV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGRpZFBlcmZv
cm1SZWRpcmVjdGlvbihXVEZNb3ZlKHJlZGlyZWN0UmVzcG9uc2UpLCBXVEZNb3ZlKHJlcXVlc3Qp
KTsKICAgICAgICAgfSk7CkBAIC05OCw3ICsxMjYsNyBAQCB2b2lkIFdlYlVSTFNjaGVtZVRhc2tQ
cm94eTo6ZGlkUGVyZm9ybVJlZGlyZWN0aW9uKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiBy
ZQogdm9pZCBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OmRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKICAgICBpZiAobV93YWl0aW5nRm9yQ29tcGxl
dGlvbkhhbmRsZXIpIHsKLSAgICAgICAgUkVMRUFTRV9MT0coTG9hZGluZywgIlJlY2VpdmVkIHJl
c3BvbnNlIGR1cmluZyByZWRpcmVjdCBwcm9jZXNzaW5nLCBxdWV1aW5nIGl0LiIpOworICAgICAg
ICBXRUJVUkxTQ0hFTUVUQVNLUFJPWFlfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAi
UmVjZWl2ZWQgcmVzcG9uc2UgZHVyaW5nIHJlZGlyZWN0IHByb2Nlc3NpbmcsIHF1ZXVpbmcgaXQu
Iik7CiAgICAgICAgIHF1ZXVlVGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpLCByZXNwb25zZV0gewogICAgICAgICAgICAgZGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNl
KTsKICAgICAgICAgfSk7CkBAIC0xMjEsNyArMTQ5LDcgQEAgdm9pZCBXZWJVUkxTY2hlbWVUYXNr
UHJveHk6OmRpZFJlY2VpdmVEYXRhKHNpemVfdCBzaXplLCBjb25zdCB1aW50OF90KiBkYXRhKQog
ICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV93YWl0aW5nRm9yQ29tcGxldGlvbkhhbmRsZXIp
IHsKLSAgICAgICAgUkVMRUFTRV9MT0coTG9hZGluZywgIlJlY2VpdmVkIGRhdGEgZHVyaW5nIHJl
c3BvbnNlIHByb2Nlc3NpbmcsIHF1ZXVpbmcgaXQuIik7CisgICAgICAgIFdFQlVSTFNDSEVNRVRB
U0tQUk9YWV9SRUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcsICJSZWNlaXZlZCBkYXRhIGR1
cmluZyByZXNwb25zZSBwcm9jZXNzaW5nLCBxdWV1aW5nIGl0LiIpOwogICAgICAgICBWZWN0b3I8
dWludDhfdD4gZGF0YVZlY3RvcjsKICAgICAgICAgZGF0YVZlY3Rvci5hcHBlbmQoZGF0YSwgc2l6
ZSk7CiAgICAgICAgIHF1ZXVlVGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpLCBkYXRhVmVjdG9yID0gV1RGTW92ZShkYXRhVmVjdG9yKV0gewpAQCAtMTM3LDYgKzE2NSw3
IEBAIHZvaWQgV2ViVVJMU2NoZW1lVGFza1Byb3h5OjpkaWRSZWNlaXZlRGF0YShzaXplX3Qgc2l6
ZSwgY29uc3QgdWludDhfdCogZGF0YSkKIAogdm9pZCBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OmRp
ZENvbXBsZXRlKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogeworICAgIFdFQlVSTFNDSEVN
RVRBU0tQUk9YWV9SRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRDb21wbGV0ZSIpOwogICAgIGlm
ICghaGFzTG9hZGVyKCkpCiAgICAgICAgIHJldHVybjsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425217</attachid>
            <date>2021-04-05 15:45:47 -0700</date>
            <delta_ts>2021-04-05 16:49:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224194-20210405154545.patch</filename>
            <type>text/plain</type>
            <size>24158</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA5ZmRjYzBkZWVkYmI0
NDFlOGI3MWEyZTliYjQ5OTliY2IwZjQ2Ni4uZDA4MTFiMTYxZTA0MmMzZmFiNDdmZTVjNzZiZDFk
OTVkMTFmMjQ0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA0LTA1ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhZGRpdGlvbmFs
IHBhZ2UgbG9hZCBkaWFnbm9zdGljIGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDE5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzYy
MjcxNzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBhZGRzIG5ldyBsb2dnaW5nIHRvIGhlbHAgdXMgZGlhZ25vc2UgYW5kIGludmVz
dGlnYXRlIHBhZ2UgbG9hZCBmYWlsdXJlcy4KKworICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6aW5pdCk6IEFkZCBs
b2dnaW5nIGZvciBzb21lIHVudXN1YWwgY29uZGl0aW9uczoKKyAgICAgICAgICAgICgxKSBBIGxv
YWRlciBjYW5ub3QgYmUgY3JlYXRlZCBiZWNhdXNlIHRoZSBkb2N1bWVudCBsb2FkZXIgaXMgbnVs
bHB0ci4KKyAgICAgICAgICAgICgyKSBBIGxvYWQgaXMgY2FuY2VsbGVkIGJlY2F1c2UgaXQgdmlv
bGF0ZXMgc2VjdXJpdHkgcG9saWN5LgorICAgICAgICAgICAgKDMpIEEgbG9hZCB3YXMgY2FuY2Vs
bGVkIGR1cmluZyAnd2lsbFNlbmRSZXF1ZXN0JyBwcm9jZXNzaW5nLgorICAgICAgICAgICAgKDQp
IEEgbG9hZCB3YXMgY2FuY2VsbGVkIGJlY2F1c2UgdGhlIHJlcXVlc3Qgd2FzIG51bGwuCisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6bG9hZERhdGFVUkwpOiBMb2cgd2hlbiBhIGRh
dGEgbG9hZCB3YXMgY2FuY2VsbGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6
OndpbGxTZW5kUmVxdWVzdEludGVybmFsKTogTG9nIHdoZW4gYSBjcm9zcy1vcmlnaW4gcmVkaXJl
Y3QgaXMgdHJpZ2dlcmVkLCBhbmQgd2hlbiBhIHJlZGlyZWN0IGlzCisgICAgICAgIHRvIGEgZGF0
YVVSTCBhbmQgd2lsbCBiZSBoYW5kbGVkIGxvY2FsbHkuCisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZ09uZVBhcnQpOiBMb2cgd2hlbiBhIGxvYWQgaXMg
Y2FuY2VsbGVkIGFmdGVyIGl0IGZpbmlzaGVkLgorICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJj
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNl
bmRSZXF1ZXN0SW50ZXJuYWwpOiAgTG9nIHdoZW4gYW4gb25nb2luZyBsb2FkIGhhcyB1bmV4cGVj
dGVkbHkgcmVhY2hlZCB0ZXJtaW5hbCBzdGF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291
cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKTogTG9nIHdoZW4gYSBmaW5pc2hlZCBsb2FkIHVu
ZXhwZWN0ZWRseSBkaWQgbm90IHJlYWNoIHRlcm1pbmFsIHN0YXRlLgorICAgICAgICAoV2ViQ29y
ZTo6U3VicmVzb3VyY2VMb2FkZXI6Om5vdGlmeURvbmUpOiBMb2cgd2hlbiBhIGxvYWQgY291bGQg
bm90IGZpbmlzaCBiZWNhdXNlIHRoZSBkb2N1bWVudCBsb2FkZXIgd2FzIG51bGxwdHIuCisKIDIw
MjEtMDQtMDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUGVu
ZGluZ0ltYWdlQml0bWFwIGdldHMgY3JlYXRlZCBvbiBhIHN0b3BwZWQgc2NyaXB0IGV4ZWN1dGlv
biBjb250ZXh0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCBmNWQ2NzUxN2ZmMjBjNzVjODcwZTYyZTAxODlhYTJiOWQ5
ZTRiNTgxLi4wMzQxMDgzYjZiMzAxYmYyMGRiZGIyYzUyNmJiZjgxNTY2NjAwN2ZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA0LTA1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1A
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhZGRpdGlvbmFsIHBhZ2UgbG9hZCBkaWFnbm9zdGlj
IGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNDE5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzYyMjcxNzU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIG5ldyBs
b2dnaW5nIHRvIGhlbHAgdXMgZGlhZ25vc2UgYW5kIGludmVzdGlnYXRlIHBhZ2UgbG9hZCBmYWls
dXJlcy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OmRpZENsb3NlKTogTG9nIHdoZW4gdGhlIGNvbm5lY3Rpb24gZnJvbSBhIFdlYlByb2Nlc3Mg
cmVxdWVzdGluZyBhIGxvYWQKKyAgICAgICAgaXMgY2xvc2VkLgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVtb3ZlTG9hZElkZW50aWZpZXIpOiBMb2cg
d2hlbiB0aGUgV2ViUHJvY2VzcyByZXF1ZXN0cyBhIGxvYWQKKyAgICAgICAgaWRlbnRpZmllciBi
ZSByZW1vdmVkIChhbmQgY2FuY2VsbGVkKS4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VM
b2FkZXI6OnJlc3RhcnROZXR3b3JrTG9hZCk6IExvZyB3aGVuIGFuIGluLXByb2Nlc3MgbG9hZCBp
cyBjYW5jZWxsZWQgc28gdGhhdCB0aGUgbG9hZAorICAgICAgICBjYW4gYmUgcmVzdGFydGVkLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQpOiBSZW1vdmUgYW4g
ZXJyb25lb3VzIGxvZyBtZXNzYWdlIHRoYXQgbWFkZSBpdCBhcHBlYXIgdGhhdCBubyBVUkwgaGFu
ZGxlcgorICAgICAgICBoYWQgYmVlbiBjYWxsZWQuIFRoZSBsb2cgbWVzc2FnZSB3YXMgZ2VuZXJh
dGVkIHdoZW4gYSBub3JtYWwgbmV0d29yayBsb2FkIGhhbmRsZXIgd2FzIGV4ZWN1dGVkLCBsZWFk
aW5nIHRvCisgICAgICAgIGNvbmZ1c2luZyB0cm91Ymxlc2hvb3RpbmcgbG9ncy4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OnJlZ2lzdGVyVVJMU2NoZW1lSGFuZGxlcik6IExvZyB3aGVuIGEgd2ViIHBhZ2UgcmVnaXN0
ZXJzIGEgY3VzdG9tIFVSTCBoYW5kbGVyLCBhbmQgZm9yIHdoaWNoIHNjaGVtZS4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVVJMU2NoZW1lVGFza1Byb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6cGFnZUlERnJvbVdlYkZyYW1lKTogQWRkZWQgaGVscGVyLgorICAgICAgICAoV2Vi
S2l0OjpmcmFtZUlERnJvbVdlYkZyYW1lKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlVS
TFNjaGVtZVRhc2tQcm94eTo6c3RhcnRMb2FkaW5nKTogQWRkIGxvZ2dpbmcgdG8gdHJhY2sgcHJv
Z3Jlc3Mgb2YgY3VzdG9tIFVSTCBoYW5kbGVycy4KKyAgICAgICAgKFdlYktpdDo6V2ViVVJMU2No
ZW1lVGFza1Byb3h5OjpzdG9wTG9hZGluZyk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJV
UkxTY2hlbWVUYXNrUHJveHk6OmRpZFBlcmZvcm1SZWRpcmVjdGlvbik6IERpdHRvLgorICAgICAg
ICAoV2ViS2l0OjpXZWJVUkxTY2hlbWVUYXNrUHJveHk6OmRpZFJlY2VpdmVSZXNwb25zZSk6IERp
dHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJVUkxTY2hlbWVUYXNrUHJveHk6OmRpZFJlY2VpdmVE
YXRhKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlVSTFNjaGVtZVRhc2tQcm94eTo6ZGlk
Q29tcGxldGUpOiBEaXR0by4KKwogMjAyMS0wNC0wMiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFw
cGxlLmNvbT4KIAogICAgICAgICBbR1BVUF0gUG93ZXIgcmVncmVzc2lvbjogYXVkaW8gaGFyZHdh
cmUgaXMgY29uZmlndXJlZCBmb3IgMTI4IGZyYW1lIHByZWZlcnJlZCBidWZmZXIgc2l6ZSBkdXJp
bmcgVmlkZW9BdWRpbyBwbGF5YmFjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRl
ci5jcHAKaW5kZXggMmFmZGYxZWQ0ZGNkYzhmNGYwMDdjYjczN2FhM2U1MGY1MWE5MzU3Zi4uNDBl
Mzc0MjM0ZTE1ZGI4ZjRlMTU5NzczNGIwOWI4MDcwYjlkNGUyNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAwNi0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqICAg
ICAgICAgICAoQykgMjAwNyBHcmFoYW0gRGVubmlzIChncmFoYW0uZGVubmlzQGdtYWlsLmNvbSkK
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKQEAgLTEyNCw2ICsxMjQsMTAgQEAgdm9pZCBSZXNvdXJjZUxvYWRl
cjo6cmVsZWFzZVJlc291cmNlcygpCiB2b2lkIFJlc291cmNlTG9hZGVyOjppbml0KFJlc291cmNl
UmVxdWVzdCYmIGNsaWVudFJlcXVlc3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKCFtX2RvY3VtZW50TG9hZGVyIHx8ICFtX2Rv
Y3VtZW50TG9hZGVyLT5mcmFtZSgpKSB7CisgICAgICAgIGlmICghbV9kb2N1bWVudExvYWRlcikK
KyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImluaXQ6IENhbmNlbGxpbmcgYmVj
YXVzZSB0aGVyZSBpcyBubyBkb2N1bWVudCBsb2FkZXIuIik7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImluaXQ6IENhbmNlbGxpbmcgYmVjYXVzZSB0
aGUgZG9jdW1lbnQgbG9hZGVyIGhhcyBubyBmcmFtZS4iKTsKICAgICAgICAgY2FuY2VsKCk7CiAg
ICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgfQpAQCAtMTM4LDYg
KzE0Miw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OmluaXQoUmVzb3VyY2VSZXF1ZXN0JiYgY2xp
ZW50UmVxdWVzdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pCiAgICAgbV9kZWZlcnNMb2FkaW5nID0g
bV9vcHRpb25zLmRlZmVyc0xvYWRpbmdQb2xpY3kgPT0gRGVmZXJzTG9hZGluZ1BvbGljeTo6QWxs
b3dEZWZlcnNMb2FkaW5nICYmIG1fZnJhbWUtPnBhZ2UoKS0+ZGVmZXJzTG9hZGluZygpOwogCiAg
ICAgaWYgKG1fb3B0aW9ucy5zZWN1cml0eUNoZWNrID09IFNlY3VyaXR5Q2hlY2tQb2xpY3k6OkRv
U2VjdXJpdHlDaGVjayAmJiAhbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS5j
YW5EaXNwbGF5KGNsaWVudFJlcXVlc3QudXJsKCkpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoImluaXQ6IENhbmNlbGxpbmcgbG9hZCBiZWNhdXNlIGl0IHZpb2xhdGVzIHNlY3Vy
aXR5IHBvbGljeS4iKTsKICAgICAgICAgRnJhbWVMb2FkZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxl
ZChtX2ZyYW1lLmdldCgpLCBjbGllbnRSZXF1ZXN0LnVybCgpLnN0cmluZygpKTsKICAgICAgICAg
cmVsZWFzZVJlc291cmNlcygpOwogICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoZmFs
c2UpOwpAQCAtMTU4LDExICsxNjMsMTQgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6aW5pdChSZXNv
dXJjZVJlcXVlc3QmJiBjbGllbnRSZXF1ZXN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2kKIAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgICAgIC8vIElmIHRoaXMgUmVzb3VyY2VMb2FkZXIg
d2FzIHN0b3BwZWQgYXMgYSByZXN1bHQgb2Ygd2lsbFNlbmRSZXF1ZXN0LCBiYWlsIG91dC4KLSAg
ICAgICAgaWYgKG1fcmVhY2hlZFRlcm1pbmFsU3RhdGUpCisgICAgICAgIGlmIChtX3JlYWNoZWRU
ZXJtaW5hbFN0YXRlKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJpbml0
OiBDYW5jZWxsaW5nIGxvYWQgYmVjYXVzZSBpdCB3YXMgc3RvcHBlZCBhcyBhIHJlc3VsdCBvZiB3
aWxsU2VuZFJlcXVlc3QuIik7CiAgICAgICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIo
ZmFsc2UpOworICAgICAgICB9CiAjZW5kaWYKIAogICAgICAgICBpZiAocmVxdWVzdC5pc051bGwo
KSkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiaW5pdDogQ2FuY2VsbGlu
ZyBsb2FkIGJlY2F1c2UgdGhlIHJlcXVlc3QgaXMgbnVsbC4iKTsKICAgICAgICAgICAgIGNhbmNl
bCgpOwogICAgICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKICAgICAg
ICAgfQpAQCAtMjY5LDggKzI3NywxMCBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpsb2FkRGF0YVVS
TCgpCiAgICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5kaWRGYWlsKFJlc291cmNlRXJyb3IoZXJy
b3JEb21haW5XZWJLaXRJbnRlcm5hbCwgMCwgdXJsLCAiRGF0YSBVUkwgZGVjb2RpbmcgZmFpbGVk
IikpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIGlmICh0aGlzLT53
YXNDYW5jZWxsZWQoKSkKKyAgICAgICAgaWYgKHRoaXMtPndhc0NhbmNlbGxlZCgpKSB7CisgICAg
ICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJsb2FkRGF0YVVSTDogTG9hZCB3YXMgY2Fu
Y2VsbGVkIik7CiAgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAogICAgICAgICBhdXRv
IGRhdGFTaXplID0gZGVjb2RlUmVzdWx0LT5kYXRhLnNpemUoKTsKICAgICAgICAgUmVzb3VyY2VS
ZXNwb25zZSBkYXRhUmVzcG9uc2UgPSBSZXNvdXJjZVJlc3BvbnNlOjpkYXRhVVJMUmVzcG9uc2Uo
dXJsLCBkZWNvZGVSZXN1bHQudmFsdWUoKSk7CkBAIC00MDIsNiArNDEyLDcgQEAgdm9pZCBSZXNv
dXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiYgcmVx
dWVzdCwgY29uc3QgUmUKIAogICAgIGJvb2wgaXNSZWRpcmVjdCA9ICFyZWRpcmVjdFJlc3BvbnNl
LmlzTnVsbCgpOwogICAgIGlmIChpc1JlZGlyZWN0KSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoIndpbGxTZW5kUmVxdWVzdEludGVybmFsOiBQcm9jZXNzaW5nIGNyb3NzLW9yaWdp
biByZWRpcmVjdCIpOwogICAgICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRl
Z3koKS0+Y3Jvc3NPcmlnaW5SZWRpcmVjdFJlY2VpdmVkKHRoaXMsIHJlcXVlc3QudXJsKCkpOwog
I2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAgICAgICAgIGZyYW1lTG9hZGVy
KCktPmNsaWVudCgpLmRpZExvYWRGcm9tUmVnaXN0cmFibGVEb21haW4oUmVnaXN0cmFibGVEb21h
aW4ocmVxdWVzdC51cmwoKSkpOwpAQCAtNDE2LDYgKzQyNyw3IEBAIHZvaWQgUmVzb3VyY2VMb2Fk
ZXI6OndpbGxTZW5kUmVxdWVzdEludGVybmFsKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIGNv
bnN0IFJlCiAKICAgICAgICAgaWYgKHJlZGlyZWN0VVJMLnByb3RvY29sSXNEYXRhKCkpIHsKICAg
ICAgICAgICAgIC8vIEhhbmRsZSBkYXRhIFVSTCBkZWNvZGluZyBsb2NhbGx5LgorICAgICAgICAg
ICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgid2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWw6IFJlZGly
ZWN0ZWQgdG8gYSBkYXRhIFVSTC4gUHJvY2Vzc2luZyBsb2NhbGx5Iik7CiAgICAgICAgICAgICBm
aW5pc2hOZXR3b3JrTG9hZCgpOwogICAgICAgICAgICAgbG9hZERhdGFVUkwoKTsKICAgICAgICAg
fQpAQCAtNTY1LDggKzU3NywxMCBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2Fk
aW5nT25lUGFydChjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMbwogewogICAgIC8v
IElmIGxvYWQgaGFzIGJlZW4gY2FuY2VsbGVkIGFmdGVyIGZpbmlzaGluZyAod2hpY2ggY291bGQg
aGFwcGVuIHdpdGggYQogICAgIC8vIEphdmFTY3JpcHQgdGhhdCBjaGFuZ2VzIHRoZSB3aW5kb3cg
bG9jYXRpb24pLCBkbyBub3RoaW5nLgotICAgIGlmICh3YXNDYW5jZWxsZWQoKSkKKyAgICBpZiAo
d2FzQ2FuY2VsbGVkKCkpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkRmlu
aXNoTG9hZGluZ09uZVBhcnQ6IExvYWQgd2FzIGNhbmNlbGxlZCBhZnRlciBmaW5pc2hpbmcuIik7
CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgQVNTRVJUKCFtX3JlYWNoZWRUZXJtaW5hbFN0
YXRlKTsKIAogICAgIGlmIChtX25vdGlmaWVkTG9hZENvbXBsZXRlKQpAQCAtODQ3LDUgKzg2MSw2
IEBAIGJvb2wgUmVzb3VyY2VMb2FkZXI6OmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpIGNvbnN0
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQKICN1bmRlZiBQQUdFX0lECiAjdW5kZWYgRlJBTUVfSUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGNiOTY2MTkxNDZiMjM5MjBmZmQwNmI3NGQz
YTNkMzFiOGYyOTk4OTEuLmRhOTg5YTIyOGJiZWY1MDQ5OTc2NDJkOGM3MzNkZDBlZDZjMzhhMmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIx
MSw4ICsyMTEsMTAgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50
ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxdWVzdCwgY28KICAgICAgICAgfQogCiAgICAg
ICAgIFJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3RJbnRlcm5hbChXVEZNb3ZlKG5ld1Jl
cXVlc3QpLCByZWRpcmVjdFJlc3BvbnNlLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUo
cHJvdGVjdGVkVGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlciksIHJlZGlyZWN0UmVzcG9uc2VdIChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0KSBtdXRh
YmxlIHsKLSAgICAgICAgICAgIGlmIChyZWFjaGVkVGVybWluYWxTdGF0ZSgpKQorICAgICAgICAg
ICAgaWYgKHJlYWNoZWRUZXJtaW5hbFN0YXRlKCkpIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKCJ3aWxsU2VuZFJlcXVlc3RJbnRlcm5hbDogcmVhY2hlZCB0ZXJtaW5h
bCBzdGF0ZTsgY2FsbGluZyBjb21wbGV0aW9uIGhhbmRsZXIiKTsKICAgICAgICAgICAgICAgICBy
ZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShyZXF1ZXN0KSk7CisgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgIGlmIChyZXF1ZXN0LmlzTnVsbCgpKSB7CiAgICAgICAgICAgICAgICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgid2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWw6IHJlc291cmNl
IGxvYWQgY2FuY2VsZWQgYmVjYXVzZSByZXF1ZXN0IGlzIE5VTEwgKDIpIik7CkBAIC03NDksNiAr
NzUxLDcgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhjb25zdCBO
ZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMb2FkTWUKICAgICAgICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRCgiZGlkRmluaXNoTG9hZGluZzogcmVhY2hlZCB0ZXJtaW5hbCBzdGF0ZSIpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQorICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZEZpbmlz
aExvYWRpbmc6IERpZCBub3QgcmVhY2ggdGVybWluYWwgc3RhdGUiKTsKICAgICByZWxlYXNlUmVz
b3VyY2VzKCk7CiB9CiAKQEAgLTg0NywxMCArODUwLDE1IEBAIHZvaWQgU3VicmVzb3VyY2VMb2Fk
ZXI6Om5vdGlmeURvbmUoTG9hZENvbXBsZXRpb25UeXBlIHR5cGUpCiAjZW5kaWYKICAgICBpZiAo
bV9kb2N1bWVudExvYWRlcikKICAgICAgICAgbV9kb2N1bWVudExvYWRlci0+Y2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKS5sb2FkRG9uZSh0eXBlLCBzaG91bGRQZXJmb3JtUG9zdExvYWRBY3Rpb25zKTsK
KyAgICBlbHNlCisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIm5vdGlmeURv
bmU6IGRvY3VtZW50IGxvYWRlciBpcyBudWxsLiBDb3VsZCBub3QgY2FsbCBsb2FkRG9uZSgpIik7
CisKICAgICBpZiAocmVhY2hlZFRlcm1pbmFsU3RhdGUoKSkKICAgICAgICAgcmV0dXJuOwogICAg
IGlmIChtX2RvY3VtZW50TG9hZGVyKQogICAgICAgICBtX2RvY3VtZW50TG9hZGVyLT5yZW1vdmVT
dWJyZXNvdXJjZUxvYWRlcih0eXBlLCB0aGlzKTsKKyAgICBlbHNlCisgICAgICAgIFJFTEVBU0Vf
TE9HX0VSUk9SX0lGX0FMTE9XRUQoIm5vdGlmeURvbmU6IGRvY3VtZW50IGxvYWRlciBpcyBudWxs
LiBDb3VsZCBub3QgY2FsbCByZW1vdmVTdWJyZXNvdXJjZUxvYWRlcigpIik7CiB9CiAKIHZvaWQg
U3VicmVzb3VyY2VMb2FkZXI6OnJlbGVhc2VSZXNvdXJjZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNwcAppbmRleCAzNzFkMDIyZDdjOTk5MTUxZjAzZGY2ZTRkMDMyNDBhYmUxZjYxNTQzLi4y
ZGEyYjFhMTI1Yzk1MDM4YmM0ZWU4NmNkMmRlMjI2MjZlMDAxNmFhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIt
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTItMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTM2MCw2ICszNjAsOCBAQCB2b2lkIE5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiAgICAg
Ly8gUHJvdGVjdCBvdXJzZWxmIGFzIHdlIG1pZ2h0IGJlIG90aGVyd2lzZSBiZSBkZWxldGVkIGR1
cmluZyB0aGlzIGZ1bmN0aW9uLgogICAgIFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cz4gcHJvdGVjdG9yKCp0aGlzKTsKIAorICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTG9hZGlu
ZywgImRpZENsb3NlOiBXZWJQcm9jZXNzICglZCkgY2xvc2VkIGl0cyBjb25uZWN0aW9uLiBBYm9y
dGluZyByZWxhdGVkIGxvYWRlcnMuIiwgY29ubmVjdGlvbi5yZW1vdGVQcm9jZXNzSUQoKSk7CisK
ICAgICB3aGlsZSAoIW1fbmV0d29ya1Jlc291cmNlTG9hZGVycy5pc0VtcHR5KCkpCiAgICAgICAg
IG1fbmV0d29ya1Jlc291cmNlTG9hZGVycy5iZWdpbigpLT52YWx1ZS0+YWJvcnQoKTsKIApAQCAt
NTU3LDYgKzU1OSw3IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlbW92
ZUxvYWRJZGVudGlmaWVyKFJlc291cmNlTG9hZElkZW50aWZpZXIKIAogICAgIC8vIEFib3J0IHRo
ZSBsb2FkIG5vdywgYXMgdGhlIFdlYlByb2Nlc3Mgd29uJ3QgYmUgYWJsZSB0byByZXNwb25kIHRv
IG1lc3NhZ2VzIGFueSBtb3JlIHdoaWNoIG1pZ2h0IGxlYWQKICAgICAvLyB0byBsZWFrZWQgbG9h
ZGVyIHJlc291cmNlcyAoY29ubmVjdGlvbnMsIHRocmVhZHMsIGV0YykuCisgICAgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRChMb2FkaW5nLCAicmVtb3ZlTG9hZElkZW50aWZpZXI6IFJlbW92aW5nIGlk
ZW50aWZpZXIgJSIgUFJJdTY0ICIgYW5kIGFib3J0aW5nIGNvcnJlc3BvbmRpbmcgbG9hZGVyIiwg
aWRlbnRpZmllcik7CiAgICAgbG9hZGVyLT5hYm9ydCgpOwogICAgIEFTU0VSVCghbV9uZXR3b3Jr
UmVzb3VyY2VMb2FkZXJzLmNvbnRhaW5zKGlkZW50aWZpZXIpKTsKIH0KQEAgLTEyMzcsNSArMTI0
MCw2IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnByaW9yaXRpemVSZXNv
dXJjZUxvYWRzKFZlY3RvcjxSZXNvdXJjZUxvYWRJCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAog
CisjdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRAogI3VuZGVmIE5FVFdPUktfUFJPQ0VTU19N
RVNTQUdFX0NIRUNLX0NPTVBMRVRJT04KICN1bmRlZiBORVRXT1JLX1BST0NFU1NfTUVTU0FHRV9D
SEVDSwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IGNmOTVjN2RlZTI1MWNiMDg5ZjNkZDU5MGQxYTY2MWJhZDM5
NzE5MTQuLjA5ZmQ5MWNlODVlMzNhY2IzMzVhYzI3OTQxMGNkOGRkZjM1Nzk5ZGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMTkgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC02NSw2ICs2NSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9QcmV2aWV3Q29udmVy
dGVyLmg+CiAjZW5kaWYKIAorI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKICNkZWZpbmUg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRChmbXQsIC4uLikgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNP
bkxvZ2dpbmdBbGxvd2VkKCksIE5ldHdvcmssICIlcCAtIFtwYWdlUHJveHlJRD0lIiBQUkl1NjQg
Iiwgd2ViUGFnZUlEPSUiIFBSSXU2NCAiLCBmcmFtZUlEPSUiIFBSSXU2NCAiLCByZXNvdXJjZUlE
PSUiIFBSSXU2NCAiLCBpc01haW5SZXNvdXJjZT0lZCwgZGVzdGluYXRpb249JXUsIGlzU3luY2hy
b25vdXM9JWRdIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6IiBmbXQsIHRoaXMsIG1fcGFyYW1ldGVy
cy53ZWJQYWdlUHJveHlJRC50b1VJbnQ2NCgpLCBtX3BhcmFtZXRlcnMud2ViUGFnZUlELnRvVUlu
dDY0KCksIG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELnRvVUludDY0KCksIG1fcGFyYW1ldGVycy5p
ZGVudGlmaWVyLCBpc01haW5SZXNvdXJjZSgpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9wYXJh
bWV0ZXJzLm9wdGlvbnMuZGVzdGluYXRpb24pLCBpc1N5bmNocm9ub3VzKCksICMjX19WQV9BUkdT
X18pCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVB
U0VfTE9HX0VSUk9SX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBOZXR3b3JrLCAiJXAg
LSBbcGFnZVByb3h5SUQ9JSIgUFJJdTY0ICIsIHdlYlBhZ2VJRD0lIiBQUkl1NjQgIiwgZnJhbWVJ
RD0lIiBQUkl1NjQgIiwgcmVzb3VyY2VJRD0lIiBQUkl1NjQgIiwgaXNNYWluUmVzb3VyY2U9JWQs
IGRlc3RpbmF0aW9uPSV1LCBpc1N5bmNocm9ub3VzPSVkXSBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6
OiIgZm10LCB0aGlzLCBtX3BhcmFtZXRlcnMud2ViUGFnZVByb3h5SUQudG9VSW50NjQoKSwgbV9w
YXJhbWV0ZXJzLndlYlBhZ2VJRC50b1VJbnQ2NCgpLCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRC50
b1VJbnQ2NCgpLCBtX3BhcmFtZXRlcnMuaWRlbnRpZmllciwgaXNNYWluUmVzb3VyY2UoKSwgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KG1fcGFyYW1ldGVycy5vcHRpb25zLmRlc3RpbmF0aW9uKSwgaXNT
eW5jaHJvbm91cygpLCAjI19fVkFfQVJHU19fKQogCkBAIC05MzksOCArOTQwLDEwIEBAIHZvaWQg
TmV0d29ya1Jlc291cmNlTG9hZGVyOjpyZXN0YXJ0TmV0d29ya0xvYWQoV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiYgbmV3UmVxCiB7CiAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgicmVzdGFy
dE5ldHdvcmtMb2FkOiAoaGFzTmV0d29ya0xvYWQ9JWQpIiwgISFtX25ldHdvcmtMb2FkKTsKIAot
ICAgIGlmIChtX25ldHdvcmtMb2FkKQorICAgIGlmIChtX25ldHdvcmtMb2FkKSB7CisgICAgICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInJlc3RhcnROZXR3b3JrTG9hZDogQ2FuY2VsbGluZyBl
eGlzdGluZyBuZXR3b3JrIGxvYWQgc28gd2UgY2FuIHJlc3RhcnQgdGhlIGxvYWQuIik7CiAgICAg
ICAgIG1fbmV0d29ya0xvYWQtPmNhbmNlbCgpOworICAgIH0KIAogICAgIHN0YXJ0TmV0d29ya0xv
YWQoV1RGTW92ZShuZXdSZXF1ZXN0KSwgRmlyc3RMb2FkOjpObyk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5k
ZXggNTJkMzcyYTVhY2FlNzczN2ZjMGVmZjQyYTEzMjg4MjQyNWE3ZWI3MS4uYmFiODYwZTU2NmYx
YjVmOTg4MTM1MDg4NzAxY2I3NWYyMWJiMGMyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTUsIDIwMTggQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC04
MCw2ICs4MCw3IEBACiAKICNkZWZpbmUgUkVMRUFTRV9MT0dfSVNfQUxMT1dFRCAoV2ViUHJvY2Vz
czo6c2luZ2xldG9uKCkuc2Vzc2lvbklEKCkuaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCkpCiAK
KyN1bmRlZiBSRUxFQVNFX0xPR19JRl9BTExPV0VECiAjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKFJFTEVBU0VfTE9HX0lTX0FMTE9XRUQsIE5l
dHdvcmssICIlcCAtIFdlYkxvYWRlclN0cmF0ZWd5OjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FSR1Nf
XykKICNkZWZpbmUgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChmbXQsIC4uLikgUkVMRUFT
RV9MT0dfRVJST1JfSUYoUkVMRUFTRV9MT0dfSVNfQUxMT1dFRCwgTmV0d29yaywgIiVwIC0gV2Vi
TG9hZGVyU3RyYXRlZ3k6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQogCkBAIC0yNDgsOCAr
MjQ5LDYgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkKFJlc291cmNlTG9h
ZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3UKICAgICAgICAgc2NoZWR1bGVMb2FkRnJv
bU5ldHdvcmtQcm9jZXNzKHJlc291cmNlTG9hZGVyLCByZXNvdXJjZUxvYWRlci5yZXF1ZXN0KCks
IHRyYWNraW5nUGFyYW1ldGVycywgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRp
cmVjdCwgbWF4aW11bUJ1ZmZlcmluZ1RpbWUocmVzb3VyY2UpKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KLQotICAgIFdFQkxPQURFUlNUUkFURUdZX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInNj
aGVkdWxlTG9hZDogVVJMIG5vdCBoYW5kbGVkIGJ5IGFueSBoYW5kbGVycyIpOwogfQogCiBib29s
IFdlYkxvYWRlclN0cmF0ZWd5Ojp0cnlMb2FkaW5nVXNpbmdVUkxTY2hlbWVIYW5kbGVyKFJlc291
cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgY29uc3QgV2ViUmVzb3VyY2VMb2FkZXI6OlRyYWNr
aW5nUGFyYW1ldGVycyYgdHJhY2tpbmdQYXJhbWV0ZXJzKQpAQCAtOTE2LDMgKzkxNSw0IEBAIHZv
aWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnByaW9yaXRpemVSZXNvdXJjZUxvYWRzKGNvbnN0IFZlY3Rv
cjxXZWJDb3JlOjpTdWJyZXNvdXJjCiAKICN1bmRlZiBSRUxFQVNFX0xPR19JRl9BTExPV0VECiAj
dW5kZWYgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRAorI3VuZGVmIFJFTEVBU0VfTE9HX0lT
X0FMTE9XRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
aW5kZXggZWYyMDhiZmVhZDAxZDQ2MDZmMmRhNzc3MzhhZWE4MzBhOWNjNDU5OC4uMDgwYzQ2YmQx
MjliOWI4NTAzZmEyYWYxMGFjZDNlYzg5YWU4MjRkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTM3Niw2ICszNzYsNyBAQCBzdGF0aWMgY29u
c3QgU2Vjb25kcyBwYWdlU2Nyb2xsSHlzdGVyZXNpc0R1cmF0aW9uIHsgMzAwX21zIH07CiBzdGF0
aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCB7IDIw
X21zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtTGF5ZXJWb2xhdGlsaXR5VGltZXJJ
bnRlcnZhbCB7IDJfcyB9OwogCisjdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRAogI2RlZmlu
ZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19J
Rihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gW3dlYlBhZ2VJRD0l
IiBQUkl1NjQgIl0gV2ViUGFnZTo6IiBmbXQsIHRoaXMsIG1faWRlbnRpZmllci50b1VJbnQ2NCgp
LCAjI19fVkFfQVJHU19fKQogI2RlZmluZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKGNo
YW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19FUlJPUl9JRihpc0Fsd2F5c09uTG9nZ2luZ0Fs
bG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gW3dlYlBhZ2VJRD0lIiBQUkl1NjQgIl0gV2ViUGFnZTo6
IiBmbXQsIHRoaXMsIG1faWRlbnRpZmllci50b1VJbnQ2NCgpLCAjI19fVkFfQVJHU19fKQogCkBA
IC02NzI1LDYgKzY3MjYsNyBAQCB2b2lkIFdlYlBhZ2U6OnN0b3BBbGxVUkxTY2hlbWVUYXNrcygp
CiAKIHZvaWQgV2ViUGFnZTo6cmVnaXN0ZXJVUkxTY2hlbWVIYW5kbGVyKHVpbnQ2NF90IGhhbmRs
ZXJJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNjaGVtZSkKIHsKKyAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKFByb2Nlc3MsICJyZWdpc3RlclVSTFNjaGVtZUhhbmRsZXI6IFJlZ2lzdGVyZWQg
aGFuZGxlciAlIiBQUkl1NjQgIiBmb3IgdGhlICclcycgc2NoZW1lIiwgaGFuZGxlcklkZW50aWZp
ZXIsIHNjaGVtZS51dGY4KCkuZGF0YSgpKTsKICAgICBXZWJDb3JlOjpMZWdhY3lTY2hlbWVSZWdp
c3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0hhbmRsZWRCeVNjaGVtZUhhbmRsZXIoc2NoZW1lKTsK
ICAgICBXZWJDb3JlOjpMZWdhY3lTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0NP
UlNFbmFibGVkKHNjaGVtZSk7CiAgICAgYXV0byBzY2hlbWVSZXN1bHQgPSBtX3NjaGVtZVRvVVJM
U2NoZW1lSGFuZGxlclByb3h5TWFwLmFkZChzY2hlbWUsIFdlYlVSTFNjaGVtZUhhbmRsZXJQcm94
eTo6Y3JlYXRlKCp0aGlzLCBoYW5kbGVySWRlbnRpZmllcikpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVVJMU2NoZW1lVGFza1Byb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlVSTFNjaGVtZVRhc2tQcm94eS5jcHAK
aW5kZXggOTBhMDY3ZDRiNGExMzQyOTVlMDM4OWRlMmE5ZmE0NjcxYWNjMjNlZi4uMzIwNGVkZmQy
MzBjYTUzNzlhMjJiNTEyYzlmMzQyNjllNWQwZDhlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVVJMU2NoZW1lVGFza1Byb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJVUkxTY2hlbWVUYXNrUHJveHkuY3BwCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM4
LDkgKzM4LDM2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRlci5oPgogI2luY2x1
ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogCisjZGVmaW5lIFJFTEVBU0VfTE9HX0lTX0FM
TE9XRUQgKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNlc3Npb25JRCgpLmlzQWx3YXlzT25Mb2dn
aW5nQWxsb3dlZCgpKQorCisjdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRAorI2RlZmluZSBS
RUxFQVNFX0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihSRUxFQVNFX0xP
R19JU19BTExPV0VELCBMb2FkaW5nLCAiJXAgLSBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OiIgZm10
LCB0aGlzLCAjI19fVkFfQVJHU19fKQorCisjZGVmaW5lIFdFQlVSTFNDSEVNRVRBU0tQUk9YWV9S
RUxFQVNFX0xPR19TVEFOREFSRF9URU1QTEFURSAiW3NjaGVtZUhhbmRsZXI9JSIgUFJJdTY0ICIs
IHdlYlBhZ2VJRD0lIiBQUkl1NjQgIiwgZnJhbWVJRD0lIiBQUkl1NjQgIiwgdGFza0lEPSVsdV0g
V2ViVVJMU2NoZW1lVGFza1Byb3h5OjoiCisjZGVmaW5lIFdFQlVSTFNDSEVNRVRBU0tQUk9YWV9S
RUxFQVNFX0xPR19TVEFOREFSRF9QQVJBTUVURVJTIG1fdXJsU2NoZW1lSGFuZGxlci5pZGVudGlm
aWVyKCksIHBhZ2VJREZyb21XZWJGcmFtZShtX2ZyYW1lKSwgZnJhbWVJREZyb21XZWJGcmFtZSht
X2ZyYW1lKSwgbV9pZGVudGlmaWVyCisKKyNkZWZpbmUgV0VCVVJMU0NIRU1FVEFTS1BST1hZX1JF
TEVBU0VfTE9HX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKFJFTEVBU0VfTE9H
X0lTX0FMTE9XRUQsIE5ldHdvcmssIFdFQlVSTFNDSEVNRVRBU0tQUk9YWV9SRUxFQVNFX0xPR19T
VEFOREFSRF9URU1QTEFURSBmbXQsIFdFQlVSTFNDSEVNRVRBU0tQUk9YWV9SRUxFQVNFX0xPR19T
VEFOREFSRF9QQVJBTUVURVJTLCAjI19fVkFfQVJHU19fKQorCisKIG5hbWVzcGFjZSBXZWJLaXQg
ewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKK3N0YXRpYyB1aW50NjRfdCBwYWdlSURGcm9t
V2ViRnJhbWUoY29uc3QgUmVmUHRyPFdlYkZyYW1lPiYgZnJhbWUpCit7CisgICAgaWYgKGZyYW1l
KSB7CisgICAgICAgIGlmIChhdXRvKiBwYWdlID0gZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgICAg
IHJldHVybiBwYWdlLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKTsKKyAgICB9CisgICAgcmV0dXJu
IDA7Cit9CisKK3N0YXRpYyB1aW50NjRfdCBmcmFtZUlERnJvbVdlYkZyYW1lKGNvbnN0IFJlZlB0
cjxXZWJGcmFtZT4mIGZyYW1lKQoreworICAgIGlmIChmcmFtZSkKKyAgICAgICAgcmV0dXJuIGZy
YW1lLT5mcmFtZUlEKCkudG9VSW50NjQoKTsKKyAgICByZXR1cm4gMDsKK30KKwogV2ViVVJMU2No
ZW1lVGFza1Byb3h5OjpXZWJVUkxTY2hlbWVUYXNrUHJveHkoV2ViVVJMU2NoZW1lSGFuZGxlclBy
b3h5JiBoYW5kbGVyLCBSZXNvdXJjZUxvYWRlciYgbG9hZGVyLCBXZWJGcmFtZSYgZnJhbWUpCiAg
ICAgOiBtX3VybFNjaGVtZUhhbmRsZXIoaGFuZGxlcikKICAgICAsIG1fY29yZUxvYWRlcigmbG9h
ZGVyKQpAQCAtNTQsMTIgKzgxLDE0IEBAIHZvaWQgV2ViVVJMU2NoZW1lVGFza1Byb3h5OjpzdGFy
dExvYWRpbmcoKQogewogICAgIEFTU0VSVChtX2NvcmVMb2FkZXIpOwogICAgIEFTU0VSVChtX2Zy
YW1lKTsKKyAgICBXRUJVUkxTQ0hFTUVUQVNLUFJPWFlfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
c3RhcnRMb2FkaW5nIik7CiAgICAgbV91cmxTY2hlbWVIYW5kbGVyLnBhZ2UoKS5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlUHJveHk6OlN0YXJ0VVJMU2NoZW1lVGFzayhVUkxTY2hlbWVUYXNrUGFyYW1l
dGVycyB7IG1fdXJsU2NoZW1lSGFuZGxlci5pZGVudGlmaWVyKCksIG1fY29yZUxvYWRlci0+aWRl
bnRpZmllcigpLCBtX3JlcXVlc3QsIG1fZnJhbWUtPmluZm8oKSB9KSk7CiB9CiAKIHZvaWQgV2Vi
VVJMU2NoZW1lVGFza1Byb3h5OjpzdG9wTG9hZGluZygpCiB7CiAgICAgQVNTRVJUKG1fY29yZUxv
YWRlcik7CisgICAgV0VCVVJMU0NIRU1FVEFTS1BST1hZX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
InN0b3BMb2FkaW5nIik7CiAgICAgbV91cmxTY2hlbWVIYW5kbGVyLnBhZ2UoKS5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlUHJveHk6OlN0b3BVUkxTY2hlbWVUYXNrKG1fdXJsU2NoZW1lSGFuZGxlci5p
ZGVudGlmaWVyKCksIG1fY29yZUxvYWRlci0+aWRlbnRpZmllcigpKSk7CiAgICAgbV9jb3JlTG9h
ZGVyID0gbnVsbHB0cjsKICAgICBtX2ZyYW1lID0gbnVsbHB0cjsKQEAgLTc2LDcgKzEwNSw3IEBA
IHZvaWQgV2ViVVJMU2NoZW1lVGFza1Byb3h5OjpkaWRQZXJmb3JtUmVkaXJlY3Rpb24oV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlCiAgICAgfQogCiAgICAgaWYgKG1fd2FpdGluZ0ZvckNv
bXBsZXRpb25IYW5kbGVyKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKExvYWRpbmcsICJSZWNlaXZl
ZCByZWRpcmVjdCBkdXJpbmcgcHJldmlvdXMgcmVkaXJlY3QgcHJvY2Vzc2luZywgcXVldWluZyBp
dC4iKTsKKyAgICAgICAgV0VCVVJMU0NIRU1FVEFTS1BST1hZX1JFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoImRpZFBlcmZvcm1SZWRpcmVjdGlvbjogUmVjZWl2ZWQgcmVkaXJlY3QgZHVyaW5nIHByZXZp
b3VzIHJlZGlyZWN0IHByb2Nlc3NpbmcsIHF1ZXVpbmcgaXQuIik7CiAgICAgICAgIHF1ZXVlVGFz
ayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCByZWRpcmVjdFJlc3BvbnNl
ID0gV1RGTW92ZShyZWRpcmVjdFJlc3BvbnNlKSwgcmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCks
IGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJs
ZSB7CiAgICAgICAgICAgICBkaWRQZXJmb3JtUmVkaXJlY3Rpb24oV1RGTW92ZShyZWRpcmVjdFJl
c3BvbnNlKSwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwog
ICAgICAgICB9KTsKQEAgLTk4LDcgKzEyNyw3IEBAIHZvaWQgV2ViVVJMU2NoZW1lVGFza1Byb3h5
OjpkaWRQZXJmb3JtUmVkaXJlY3Rpb24oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlCiB2
b2lkIFdlYlVSTFNjaGVtZVRhc2tQcm94eTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewogICAgIGlmIChtX3dhaXRpbmdGb3JDb21wbGV0aW9u
SGFuZGxlcikgewotICAgICAgICBSRUxFQVNFX0xPRyhMb2FkaW5nLCAiUmVjZWl2ZWQgcmVzcG9u
c2UgZHVyaW5nIHJlZGlyZWN0IHByb2Nlc3NpbmcsIHF1ZXVpbmcgaXQuIik7CisgICAgICAgIFdF
QlVSTFNDSEVNRVRBU0tQUk9YWV9SRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRSZWNlaXZlUmVz
cG9uc2U6IFJlY2VpdmVkIHJlc3BvbnNlIGR1cmluZyByZWRpcmVjdCBwcm9jZXNzaW5nLCBxdWV1
aW5nIGl0LiIpOwogICAgICAgICBxdWV1ZVRhc2soW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtl
UmVmKCp0aGlzKSwgcmVzcG9uc2VdIHsKICAgICAgICAgICAgIGRpZFJlY2VpdmVSZXNwb25zZShy
ZXNwb25zZSk7CiAgICAgICAgIH0pOwpAQCAtMTIxLDcgKzE1MCw3IEBAIHZvaWQgV2ViVVJMU2No
ZW1lVGFza1Byb3h5OjpkaWRSZWNlaXZlRGF0YShzaXplX3Qgc2l6ZSwgY29uc3QgdWludDhfdCog
ZGF0YSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG1fd2FpdGluZ0ZvckNvbXBsZXRpb25I
YW5kbGVyKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKExvYWRpbmcsICJSZWNlaXZlZCBkYXRhIGR1
cmluZyByZXNwb25zZSBwcm9jZXNzaW5nLCBxdWV1aW5nIGl0LiIpOworICAgICAgICBXRUJVUkxT
Q0hFTUVUQVNLUFJPWFlfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZURhdGE6IFJl
Y2VpdmVkIGRhdGEgZHVyaW5nIHJlc3BvbnNlIHByb2Nlc3NpbmcsIHF1ZXVpbmcgaXQuIik7CiAg
ICAgICAgIFZlY3Rvcjx1aW50OF90PiBkYXRhVmVjdG9yOwogICAgICAgICBkYXRhVmVjdG9yLmFw
cGVuZChkYXRhLCBzaXplKTsKICAgICAgICAgcXVldWVUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlz
ID0gbWFrZVJlZigqdGhpcyksIGRhdGFWZWN0b3IgPSBXVEZNb3ZlKGRhdGFWZWN0b3IpXSB7CkBA
IC0xMzcsNiArMTY2LDcgQEAgdm9pZCBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OmRpZFJlY2VpdmVE
YXRhKHNpemVfdCBzaXplLCBjb25zdCB1aW50OF90KiBkYXRhKQogCiB2b2lkIFdlYlVSTFNjaGVt
ZVRhc2tQcm94eTo6ZGlkQ29tcGxldGUoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7Cisg
ICAgV0VCVVJMU0NIRU1FVEFTS1BST1hZX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZENvbXBs
ZXRlIik7CiAgICAgaWYgKCFoYXNMb2FkZXIoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xNzMs
MyArMjAzLDkgQEAgdm9pZCBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OnByb2Nlc3NOZXh0UGVuZGlu
Z1Rhc2soKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI3VuZGVmIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQKKyN1bmRlZiBSRUxFQVNFX0xPR19JU19BTExPV0VECisjdW5kZWYgV0VCVVJM
U0NIRU1FVEFTS1BST1hZX1JFTEVBU0VfTE9HX1NUQU5EQVJEX1RFTVBMQVRFCisjdW5kZWYgV0VC
VVJMU0NIRU1FVEFTS1BST1hZX1JFTEVBU0VfTE9HX1NUQU5EQVJEX1BBUkFNRVRFUlMKKyN1bmRl
ZiBXRUJVUkxTQ0hFTUVUQVNLUFJPWFlfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425222</attachid>
            <date>2021-04-05 16:49:06 -0700</date>
            <delta_ts>2021-04-06 15:10:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224194-20210405164905.patch</filename>
            <type>text/plain</type>
            <size>24301</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA5ZmRjYzBkZWVkYmI0
NDFlOGI3MWEyZTliYjQ5OTliY2IwZjQ2Ni4uZDA4MTFiMTYxZTA0MmMzZmFiNDdmZTVjNzZiZDFk
OTVkMTFmMjQ0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA0LTA1ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhZGRpdGlvbmFs
IHBhZ2UgbG9hZCBkaWFnbm9zdGljIGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDE5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzYy
MjcxNzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBhZGRzIG5ldyBsb2dnaW5nIHRvIGhlbHAgdXMgZGlhZ25vc2UgYW5kIGludmVz
dGlnYXRlIHBhZ2UgbG9hZCBmYWlsdXJlcy4KKworICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6aW5pdCk6IEFkZCBs
b2dnaW5nIGZvciBzb21lIHVudXN1YWwgY29uZGl0aW9uczoKKyAgICAgICAgICAgICgxKSBBIGxv
YWRlciBjYW5ub3QgYmUgY3JlYXRlZCBiZWNhdXNlIHRoZSBkb2N1bWVudCBsb2FkZXIgaXMgbnVs
bHB0ci4KKyAgICAgICAgICAgICgyKSBBIGxvYWQgaXMgY2FuY2VsbGVkIGJlY2F1c2UgaXQgdmlv
bGF0ZXMgc2VjdXJpdHkgcG9saWN5LgorICAgICAgICAgICAgKDMpIEEgbG9hZCB3YXMgY2FuY2Vs
bGVkIGR1cmluZyAnd2lsbFNlbmRSZXF1ZXN0JyBwcm9jZXNzaW5nLgorICAgICAgICAgICAgKDQp
IEEgbG9hZCB3YXMgY2FuY2VsbGVkIGJlY2F1c2UgdGhlIHJlcXVlc3Qgd2FzIG51bGwuCisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6bG9hZERhdGFVUkwpOiBMb2cgd2hlbiBhIGRh
dGEgbG9hZCB3YXMgY2FuY2VsbGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6
OndpbGxTZW5kUmVxdWVzdEludGVybmFsKTogTG9nIHdoZW4gYSBjcm9zcy1vcmlnaW4gcmVkaXJl
Y3QgaXMgdHJpZ2dlcmVkLCBhbmQgd2hlbiBhIHJlZGlyZWN0IGlzCisgICAgICAgIHRvIGEgZGF0
YVVSTCBhbmQgd2lsbCBiZSBoYW5kbGVkIGxvY2FsbHkuCisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZ09uZVBhcnQpOiBMb2cgd2hlbiBhIGxvYWQgaXMg
Y2FuY2VsbGVkIGFmdGVyIGl0IGZpbmlzaGVkLgorICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJj
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNl
bmRSZXF1ZXN0SW50ZXJuYWwpOiAgTG9nIHdoZW4gYW4gb25nb2luZyBsb2FkIGhhcyB1bmV4cGVj
dGVkbHkgcmVhY2hlZCB0ZXJtaW5hbCBzdGF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291
cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKTogTG9nIHdoZW4gYSBmaW5pc2hlZCBsb2FkIHVu
ZXhwZWN0ZWRseSBkaWQgbm90IHJlYWNoIHRlcm1pbmFsIHN0YXRlLgorICAgICAgICAoV2ViQ29y
ZTo6U3VicmVzb3VyY2VMb2FkZXI6Om5vdGlmeURvbmUpOiBMb2cgd2hlbiBhIGxvYWQgY291bGQg
bm90IGZpbmlzaCBiZWNhdXNlIHRoZSBkb2N1bWVudCBsb2FkZXIgd2FzIG51bGxwdHIuCisKIDIw
MjEtMDQtMDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUGVu
ZGluZ0ltYWdlQml0bWFwIGdldHMgY3JlYXRlZCBvbiBhIHN0b3BwZWQgc2NyaXB0IGV4ZWN1dGlv
biBjb250ZXh0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCBmNWQ2NzUxN2ZmMjBjNzVjODcwZTYyZTAxODlhYTJiOWQ5
ZTRiNTgxLi4wMzQxMDgzYjZiMzAxYmYyMGRiZGIyYzUyNmJiZjgxNTY2NjAwN2ZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA0LTA1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1A
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhZGRpdGlvbmFsIHBhZ2UgbG9hZCBkaWFnbm9zdGlj
IGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNDE5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzYyMjcxNzU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIG5ldyBs
b2dnaW5nIHRvIGhlbHAgdXMgZGlhZ25vc2UgYW5kIGludmVzdGlnYXRlIHBhZ2UgbG9hZCBmYWls
dXJlcy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OmRpZENsb3NlKTogTG9nIHdoZW4gdGhlIGNvbm5lY3Rpb24gZnJvbSBhIFdlYlByb2Nlc3Mg
cmVxdWVzdGluZyBhIGxvYWQKKyAgICAgICAgaXMgY2xvc2VkLgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVtb3ZlTG9hZElkZW50aWZpZXIpOiBMb2cg
d2hlbiB0aGUgV2ViUHJvY2VzcyByZXF1ZXN0cyBhIGxvYWQKKyAgICAgICAgaWRlbnRpZmllciBi
ZSByZW1vdmVkIChhbmQgY2FuY2VsbGVkKS4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VM
b2FkZXI6OnJlc3RhcnROZXR3b3JrTG9hZCk6IExvZyB3aGVuIGFuIGluLXByb2Nlc3MgbG9hZCBp
cyBjYW5jZWxsZWQgc28gdGhhdCB0aGUgbG9hZAorICAgICAgICBjYW4gYmUgcmVzdGFydGVkLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQpOiBSZW1vdmUgYW4g
ZXJyb25lb3VzIGxvZyBtZXNzYWdlIHRoYXQgbWFkZSBpdCBhcHBlYXIgdGhhdCBubyBVUkwgaGFu
ZGxlcgorICAgICAgICBoYWQgYmVlbiBjYWxsZWQuIFRoZSBsb2cgbWVzc2FnZSB3YXMgZ2VuZXJh
dGVkIHdoZW4gYSBub3JtYWwgbmV0d29yayBsb2FkIGhhbmRsZXIgd2FzIGV4ZWN1dGVkLCBsZWFk
aW5nIHRvCisgICAgICAgIGNvbmZ1c2luZyB0cm91Ymxlc2hvb3RpbmcgbG9ncy4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OnJlZ2lzdGVyVVJMU2NoZW1lSGFuZGxlcik6IExvZyB3aGVuIGEgd2ViIHBhZ2UgcmVnaXN0
ZXJzIGEgY3VzdG9tIFVSTCBoYW5kbGVyLCBhbmQgZm9yIHdoaWNoIHNjaGVtZS4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVVJMU2NoZW1lVGFza1Byb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6cGFnZUlERnJvbVdlYkZyYW1lKTogQWRkZWQgaGVscGVyLgorICAgICAgICAoV2Vi
S2l0OjpmcmFtZUlERnJvbVdlYkZyYW1lKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlVS
TFNjaGVtZVRhc2tQcm94eTo6c3RhcnRMb2FkaW5nKTogQWRkIGxvZ2dpbmcgdG8gdHJhY2sgcHJv
Z3Jlc3Mgb2YgY3VzdG9tIFVSTCBoYW5kbGVycy4KKyAgICAgICAgKFdlYktpdDo6V2ViVVJMU2No
ZW1lVGFza1Byb3h5OjpzdG9wTG9hZGluZyk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJV
UkxTY2hlbWVUYXNrUHJveHk6OmRpZFBlcmZvcm1SZWRpcmVjdGlvbik6IERpdHRvLgorICAgICAg
ICAoV2ViS2l0OjpXZWJVUkxTY2hlbWVUYXNrUHJveHk6OmRpZFJlY2VpdmVSZXNwb25zZSk6IERp
dHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJVUkxTY2hlbWVUYXNrUHJveHk6OmRpZFJlY2VpdmVE
YXRhKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlVSTFNjaGVtZVRhc2tQcm94eTo6ZGlk
Q29tcGxldGUpOiBEaXR0by4KKwogMjAyMS0wNC0wMiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFw
cGxlLmNvbT4KIAogICAgICAgICBbR1BVUF0gUG93ZXIgcmVncmVzc2lvbjogYXVkaW8gaGFyZHdh
cmUgaXMgY29uZmlndXJlZCBmb3IgMTI4IGZyYW1lIHByZWZlcnJlZCBidWZmZXIgc2l6ZSBkdXJp
bmcgVmlkZW9BdWRpbyBwbGF5YmFjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRl
ci5jcHAKaW5kZXggMmFmZGYxZWQ0ZGNkYzhmNGYwMDdjYjczN2FhM2U1MGY1MWE5MzU3Zi4uNDBl
Mzc0MjM0ZTE1ZGI4ZjRlMTU5NzczNGIwOWI4MDcwYjlkNGUyNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAwNi0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqICAg
ICAgICAgICAoQykgMjAwNyBHcmFoYW0gRGVubmlzIChncmFoYW0uZGVubmlzQGdtYWlsLmNvbSkK
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKQEAgLTEyNCw2ICsxMjQsMTAgQEAgdm9pZCBSZXNvdXJjZUxvYWRl
cjo6cmVsZWFzZVJlc291cmNlcygpCiB2b2lkIFJlc291cmNlTG9hZGVyOjppbml0KFJlc291cmNl
UmVxdWVzdCYmIGNsaWVudFJlcXVlc3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKCFtX2RvY3VtZW50TG9hZGVyIHx8ICFtX2Rv
Y3VtZW50TG9hZGVyLT5mcmFtZSgpKSB7CisgICAgICAgIGlmICghbV9kb2N1bWVudExvYWRlcikK
KyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImluaXQ6IENhbmNlbGxpbmcgYmVj
YXVzZSB0aGVyZSBpcyBubyBkb2N1bWVudCBsb2FkZXIuIik7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImluaXQ6IENhbmNlbGxpbmcgYmVjYXVzZSB0
aGUgZG9jdW1lbnQgbG9hZGVyIGhhcyBubyBmcmFtZS4iKTsKICAgICAgICAgY2FuY2VsKCk7CiAg
ICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgfQpAQCAtMTM4LDYg
KzE0Miw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OmluaXQoUmVzb3VyY2VSZXF1ZXN0JiYgY2xp
ZW50UmVxdWVzdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pCiAgICAgbV9kZWZlcnNMb2FkaW5nID0g
bV9vcHRpb25zLmRlZmVyc0xvYWRpbmdQb2xpY3kgPT0gRGVmZXJzTG9hZGluZ1BvbGljeTo6QWxs
b3dEZWZlcnNMb2FkaW5nICYmIG1fZnJhbWUtPnBhZ2UoKS0+ZGVmZXJzTG9hZGluZygpOwogCiAg
ICAgaWYgKG1fb3B0aW9ucy5zZWN1cml0eUNoZWNrID09IFNlY3VyaXR5Q2hlY2tQb2xpY3k6OkRv
U2VjdXJpdHlDaGVjayAmJiAhbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS5j
YW5EaXNwbGF5KGNsaWVudFJlcXVlc3QudXJsKCkpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoImluaXQ6IENhbmNlbGxpbmcgbG9hZCBiZWNhdXNlIGl0IHZpb2xhdGVzIHNlY3Vy
aXR5IHBvbGljeS4iKTsKICAgICAgICAgRnJhbWVMb2FkZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxl
ZChtX2ZyYW1lLmdldCgpLCBjbGllbnRSZXF1ZXN0LnVybCgpLnN0cmluZygpKTsKICAgICAgICAg
cmVsZWFzZVJlc291cmNlcygpOwogICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoZmFs
c2UpOwpAQCAtMTU4LDExICsxNjMsMTQgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6aW5pdChSZXNv
dXJjZVJlcXVlc3QmJiBjbGllbnRSZXF1ZXN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2kKIAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgICAgIC8vIElmIHRoaXMgUmVzb3VyY2VMb2FkZXIg
d2FzIHN0b3BwZWQgYXMgYSByZXN1bHQgb2Ygd2lsbFNlbmRSZXF1ZXN0LCBiYWlsIG91dC4KLSAg
ICAgICAgaWYgKG1fcmVhY2hlZFRlcm1pbmFsU3RhdGUpCisgICAgICAgIGlmIChtX3JlYWNoZWRU
ZXJtaW5hbFN0YXRlKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJpbml0
OiBDYW5jZWxsaW5nIGxvYWQgYmVjYXVzZSBpdCB3YXMgc3RvcHBlZCBhcyBhIHJlc3VsdCBvZiB3
aWxsU2VuZFJlcXVlc3QuIik7CiAgICAgICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIo
ZmFsc2UpOworICAgICAgICB9CiAjZW5kaWYKIAogICAgICAgICBpZiAocmVxdWVzdC5pc051bGwo
KSkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiaW5pdDogQ2FuY2VsbGlu
ZyBsb2FkIGJlY2F1c2UgdGhlIHJlcXVlc3QgaXMgbnVsbC4iKTsKICAgICAgICAgICAgIGNhbmNl
bCgpOwogICAgICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKICAgICAg
ICAgfQpAQCAtMjY5LDggKzI3NywxMCBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpsb2FkRGF0YVVS
TCgpCiAgICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5kaWRGYWlsKFJlc291cmNlRXJyb3IoZXJy
b3JEb21haW5XZWJLaXRJbnRlcm5hbCwgMCwgdXJsLCAiRGF0YSBVUkwgZGVjb2RpbmcgZmFpbGVk
IikpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIGlmICh0aGlzLT53
YXNDYW5jZWxsZWQoKSkKKyAgICAgICAgaWYgKHRoaXMtPndhc0NhbmNlbGxlZCgpKSB7CisgICAg
ICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJsb2FkRGF0YVVSTDogTG9hZCB3YXMgY2Fu
Y2VsbGVkIik7CiAgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAogICAgICAgICBhdXRv
IGRhdGFTaXplID0gZGVjb2RlUmVzdWx0LT5kYXRhLnNpemUoKTsKICAgICAgICAgUmVzb3VyY2VS
ZXNwb25zZSBkYXRhUmVzcG9uc2UgPSBSZXNvdXJjZVJlc3BvbnNlOjpkYXRhVVJMUmVzcG9uc2Uo
dXJsLCBkZWNvZGVSZXN1bHQudmFsdWUoKSk7CkBAIC00MDIsNiArNDEyLDcgQEAgdm9pZCBSZXNv
dXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiYgcmVx
dWVzdCwgY29uc3QgUmUKIAogICAgIGJvb2wgaXNSZWRpcmVjdCA9ICFyZWRpcmVjdFJlc3BvbnNl
LmlzTnVsbCgpOwogICAgIGlmIChpc1JlZGlyZWN0KSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoIndpbGxTZW5kUmVxdWVzdEludGVybmFsOiBQcm9jZXNzaW5nIGNyb3NzLW9yaWdp
biByZWRpcmVjdCIpOwogICAgICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRl
Z3koKS0+Y3Jvc3NPcmlnaW5SZWRpcmVjdFJlY2VpdmVkKHRoaXMsIHJlcXVlc3QudXJsKCkpOwog
I2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAgICAgICAgIGZyYW1lTG9hZGVy
KCktPmNsaWVudCgpLmRpZExvYWRGcm9tUmVnaXN0cmFibGVEb21haW4oUmVnaXN0cmFibGVEb21h
aW4ocmVxdWVzdC51cmwoKSkpOwpAQCAtNDE2LDYgKzQyNyw3IEBAIHZvaWQgUmVzb3VyY2VMb2Fk
ZXI6OndpbGxTZW5kUmVxdWVzdEludGVybmFsKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIGNv
bnN0IFJlCiAKICAgICAgICAgaWYgKHJlZGlyZWN0VVJMLnByb3RvY29sSXNEYXRhKCkpIHsKICAg
ICAgICAgICAgIC8vIEhhbmRsZSBkYXRhIFVSTCBkZWNvZGluZyBsb2NhbGx5LgorICAgICAgICAg
ICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgid2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWw6IFJlZGly
ZWN0ZWQgdG8gYSBkYXRhIFVSTC4gUHJvY2Vzc2luZyBsb2NhbGx5Iik7CiAgICAgICAgICAgICBm
aW5pc2hOZXR3b3JrTG9hZCgpOwogICAgICAgICAgICAgbG9hZERhdGFVUkwoKTsKICAgICAgICAg
fQpAQCAtNTY1LDggKzU3NywxMCBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2Fk
aW5nT25lUGFydChjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMbwogewogICAgIC8v
IElmIGxvYWQgaGFzIGJlZW4gY2FuY2VsbGVkIGFmdGVyIGZpbmlzaGluZyAod2hpY2ggY291bGQg
aGFwcGVuIHdpdGggYQogICAgIC8vIEphdmFTY3JpcHQgdGhhdCBjaGFuZ2VzIHRoZSB3aW5kb3cg
bG9jYXRpb24pLCBkbyBub3RoaW5nLgotICAgIGlmICh3YXNDYW5jZWxsZWQoKSkKKyAgICBpZiAo
d2FzQ2FuY2VsbGVkKCkpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkRmlu
aXNoTG9hZGluZ09uZVBhcnQ6IExvYWQgd2FzIGNhbmNlbGxlZCBhZnRlciBmaW5pc2hpbmcuIik7
CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgQVNTRVJUKCFtX3JlYWNoZWRUZXJtaW5hbFN0
YXRlKTsKIAogICAgIGlmIChtX25vdGlmaWVkTG9hZENvbXBsZXRlKQpAQCAtODQ3LDUgKzg2MSw2
IEBAIGJvb2wgUmVzb3VyY2VMb2FkZXI6OmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpIGNvbnN0
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQKICN1bmRlZiBQQUdFX0lECiAjdW5kZWYgRlJBTUVfSUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGNiOTY2MTkxNDZiMjM5MjBmZmQwNmI3NGQz
YTNkMzFiOGYyOTk4OTEuLmRhOTg5YTIyOGJiZWY1MDQ5OTc2NDJkOGM3MzNkZDBlZDZjMzhhMmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIx
MSw4ICsyMTEsMTAgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50
ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxdWVzdCwgY28KICAgICAgICAgfQogCiAgICAg
ICAgIFJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3RJbnRlcm5hbChXVEZNb3ZlKG5ld1Jl
cXVlc3QpLCByZWRpcmVjdFJlc3BvbnNlLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUo
cHJvdGVjdGVkVGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlciksIHJlZGlyZWN0UmVzcG9uc2VdIChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0KSBtdXRh
YmxlIHsKLSAgICAgICAgICAgIGlmIChyZWFjaGVkVGVybWluYWxTdGF0ZSgpKQorICAgICAgICAg
ICAgaWYgKHJlYWNoZWRUZXJtaW5hbFN0YXRlKCkpIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKCJ3aWxsU2VuZFJlcXVlc3RJbnRlcm5hbDogcmVhY2hlZCB0ZXJtaW5h
bCBzdGF0ZTsgY2FsbGluZyBjb21wbGV0aW9uIGhhbmRsZXIiKTsKICAgICAgICAgICAgICAgICBy
ZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShyZXF1ZXN0KSk7CisgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgIGlmIChyZXF1ZXN0LmlzTnVsbCgpKSB7CiAgICAgICAgICAgICAgICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgid2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWw6IHJlc291cmNl
IGxvYWQgY2FuY2VsZWQgYmVjYXVzZSByZXF1ZXN0IGlzIE5VTEwgKDIpIik7CkBAIC03NDksNiAr
NzUxLDcgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhjb25zdCBO
ZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMb2FkTWUKICAgICAgICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRCgiZGlkRmluaXNoTG9hZGluZzogcmVhY2hlZCB0ZXJtaW5hbCBzdGF0ZSIpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQorICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZEZpbmlz
aExvYWRpbmc6IERpZCBub3QgcmVhY2ggdGVybWluYWwgc3RhdGUiKTsKICAgICByZWxlYXNlUmVz
b3VyY2VzKCk7CiB9CiAKQEAgLTg0NywxMCArODUwLDE1IEBAIHZvaWQgU3VicmVzb3VyY2VMb2Fk
ZXI6Om5vdGlmeURvbmUoTG9hZENvbXBsZXRpb25UeXBlIHR5cGUpCiAjZW5kaWYKICAgICBpZiAo
bV9kb2N1bWVudExvYWRlcikKICAgICAgICAgbV9kb2N1bWVudExvYWRlci0+Y2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKS5sb2FkRG9uZSh0eXBlLCBzaG91bGRQZXJmb3JtUG9zdExvYWRBY3Rpb25zKTsK
KyAgICBlbHNlCisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIm5vdGlmeURv
bmU6IGRvY3VtZW50IGxvYWRlciBpcyBudWxsLiBDb3VsZCBub3QgY2FsbCBsb2FkRG9uZSgpIik7
CisKICAgICBpZiAocmVhY2hlZFRlcm1pbmFsU3RhdGUoKSkKICAgICAgICAgcmV0dXJuOwogICAg
IGlmIChtX2RvY3VtZW50TG9hZGVyKQogICAgICAgICBtX2RvY3VtZW50TG9hZGVyLT5yZW1vdmVT
dWJyZXNvdXJjZUxvYWRlcih0eXBlLCB0aGlzKTsKKyAgICBlbHNlCisgICAgICAgIFJFTEVBU0Vf
TE9HX0VSUk9SX0lGX0FMTE9XRUQoIm5vdGlmeURvbmU6IGRvY3VtZW50IGxvYWRlciBpcyBudWxs
LiBDb3VsZCBub3QgY2FsbCByZW1vdmVTdWJyZXNvdXJjZUxvYWRlcigpIik7CiB9CiAKIHZvaWQg
U3VicmVzb3VyY2VMb2FkZXI6OnJlbGVhc2VSZXNvdXJjZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNwcAppbmRleCAzNzFkMDIyZDdjOTk5MTUxZjAzZGY2ZTRkMDMyNDBhYmUxZjYxNTQzLi4w
NTE1NTBlNzc3ZTUwN2EzYWRhNzNjMWJlOTI5ODI3NTAxN2EyMGJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIt
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTItMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTM2MCw2ICszNjAsMTIgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKQogICAg
IC8vIFByb3RlY3Qgb3Vyc2VsZiBhcyB3ZSBtaWdodCBiZSBvdGhlcndpc2UgYmUgZGVsZXRlZCBk
dXJpbmcgdGhpcyBmdW5jdGlvbi4KICAgICBSZWY8TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M+IHByb3RlY3RvcigqdGhpcyk7CiAKKyNpZiBPUyhEQVJXSU4pCisgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRChMb2FkaW5nLCAiZGlkQ2xvc2U6IFdlYlByb2Nlc3MgKCVkKSBjbG9zZWQgaXRz
IGNvbm5lY3Rpb24uIEFib3J0aW5nIHJlbGF0ZWQgbG9hZGVycy4iLCBjb25uZWN0aW9uLnJlbW90
ZVByb2Nlc3NJRCgpKTsKKyNlbHNlCisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5n
LCAiZGlkQ2xvc2U6IFdlYlByb2Nlc3MgY2xvc2VkIGl0cyBjb25uZWN0aW9uLiBBYm9ydGluZyBy
ZWxhdGVkIGxvYWRlcnMuIik7CisjZW5kaWYKKwogICAgIHdoaWxlICghbV9uZXR3b3JrUmVzb3Vy
Y2VMb2FkZXJzLmlzRW1wdHkoKSkKICAgICAgICAgbV9uZXR3b3JrUmVzb3VyY2VMb2FkZXJzLmJl
Z2luKCktPnZhbHVlLT5hYm9ydCgpOwogCkBAIC01NTcsNiArNTYzLDcgQEAgdm9pZCBOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVtb3ZlTG9hZElkZW50aWZpZXIoUmVzb3VyY2VMb2Fk
SWRlbnRpZmllcgogCiAgICAgLy8gQWJvcnQgdGhlIGxvYWQgbm93LCBhcyB0aGUgV2ViUHJvY2Vz
cyB3b24ndCBiZSBhYmxlIHRvIHJlc3BvbmQgdG8gbWVzc2FnZXMgYW55IG1vcmUgd2hpY2ggbWln
aHQgbGVhZAogICAgIC8vIHRvIGxlYWtlZCBsb2FkZXIgcmVzb3VyY2VzIChjb25uZWN0aW9ucywg
dGhyZWFkcywgZXRjKS4KKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcsICJyZW1v
dmVMb2FkSWRlbnRpZmllcjogUmVtb3ZpbmcgaWRlbnRpZmllciAlIiBQUkl1NjQgIiBhbmQgYWJv
cnRpbmcgY29ycmVzcG9uZGluZyBsb2FkZXIiLCBpZGVudGlmaWVyKTsKICAgICBsb2FkZXItPmFi
b3J0KCk7CiAgICAgQVNTRVJUKCFtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuY29udGFpbnMoaWRl
bnRpZmllcikpOwogfQpAQCAtMTIzNyw1ICsxMjQ0LDYgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6cHJpb3JpdGl6ZVJlc291cmNlTG9hZHMoVmVjdG9yPFJlc291cmNlTG9h
ZEkKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKKyN1bmRlZiBSRUxFQVNFX0xPR19JRl9BTExP
V0VECiAjdW5kZWYgTkVUV09SS19QUk9DRVNTX01FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTgogI3Vu
ZGVmIE5FVFdPUktfUFJPQ0VTU19NRVNTQUdFX0NIRUNLCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggY2Y5NWM3
ZGVlMjUxY2IwODlmM2RkNTkwZDFhNjYxYmFkMzk3MTkxNC4uMDlmZDkxY2U4NWUzM2FjYjMzNWFj
Mjc5NDEwY2Q4ZGRmMzU3OTlkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY1LDYgKzY1LDcgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL1ByZXZpZXdDb252ZXJ0ZXIuaD4KICNlbmRpZgogCisjdW5kZWYgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRAogI2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKGZtdCwg
Li4uKSBSRUxFQVNFX0xPR19JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTmV0d29yaywg
IiVwIC0gW3BhZ2VQcm94eUlEPSUiIFBSSXU2NCAiLCB3ZWJQYWdlSUQ9JSIgUFJJdTY0ICIsIGZy
YW1lSUQ9JSIgUFJJdTY0ICIsIHJlc291cmNlSUQ9JSIgUFJJdTY0ICIsIGlzTWFpblJlc291cmNl
PSVkLCBkZXN0aW5hdGlvbj0ldSwgaXNTeW5jaHJvbm91cz0lZF0gTmV0d29ya1Jlc291cmNlTG9h
ZGVyOjoiIGZtdCwgdGhpcywgbV9wYXJhbWV0ZXJzLndlYlBhZ2VQcm94eUlELnRvVUludDY0KCks
IG1fcGFyYW1ldGVycy53ZWJQYWdlSUQudG9VSW50NjQoKSwgbV9wYXJhbWV0ZXJzLndlYkZyYW1l
SUQudG9VSW50NjQoKSwgbV9wYXJhbWV0ZXJzLmlkZW50aWZpZXIsIGlzTWFpblJlc291cmNlKCks
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX3BhcmFtZXRlcnMub3B0aW9ucy5kZXN0aW5hdGlvbiks
IGlzU3luY2hyb25vdXMoKSwgIyNfX1ZBX0FSR1NfXykKICNkZWZpbmUgUkVMRUFTRV9MT0dfRVJS
T1JfSUZfQUxMT1dFRChmbXQsIC4uLikgUkVMRUFTRV9MT0dfRVJST1JfSUYoaXNBbHdheXNPbkxv
Z2dpbmdBbGxvd2VkKCksIE5ldHdvcmssICIlcCAtIFtwYWdlUHJveHlJRD0lIiBQUkl1NjQgIiwg
d2ViUGFnZUlEPSUiIFBSSXU2NCAiLCBmcmFtZUlEPSUiIFBSSXU2NCAiLCByZXNvdXJjZUlEPSUi
IFBSSXU2NCAiLCBpc01haW5SZXNvdXJjZT0lZCwgZGVzdGluYXRpb249JXUsIGlzU3luY2hyb25v
dXM9JWRdIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6IiBmbXQsIHRoaXMsIG1fcGFyYW1ldGVycy53
ZWJQYWdlUHJveHlJRC50b1VJbnQ2NCgpLCBtX3BhcmFtZXRlcnMud2ViUGFnZUlELnRvVUludDY0
KCksIG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELnRvVUludDY0KCksIG1fcGFyYW1ldGVycy5pZGVu
dGlmaWVyLCBpc01haW5SZXNvdXJjZSgpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9wYXJhbWV0
ZXJzLm9wdGlvbnMuZGVzdGluYXRpb24pLCBpc1N5bmNocm9ub3VzKCksICMjX19WQV9BUkdTX18p
CiAKQEAgLTkzOSw4ICs5NDAsMTAgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnJlc3Rh
cnROZXR3b3JrTG9hZChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXEKIHsKICAgICBS
RUxFQVNFX0xPR19JRl9BTExPV0VEKCJyZXN0YXJ0TmV0d29ya0xvYWQ6IChoYXNOZXR3b3JrTG9h
ZD0lZCkiLCAhIW1fbmV0d29ya0xvYWQpOwogCi0gICAgaWYgKG1fbmV0d29ya0xvYWQpCisgICAg
aWYgKG1fbmV0d29ya0xvYWQpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgicmVz
dGFydE5ldHdvcmtMb2FkOiBDYW5jZWxsaW5nIGV4aXN0aW5nIG5ldHdvcmsgbG9hZCBzbyB3ZSBj
YW4gcmVzdGFydCB0aGUgbG9hZC4iKTsKICAgICAgICAgbV9uZXR3b3JrTG9hZC0+Y2FuY2VsKCk7
CisgICAgfQogCiAgICAgc3RhcnROZXR3b3JrTG9hZChXVEZNb3ZlKG5ld1JlcXVlc3QpLCBGaXJz
dExvYWQ6Ok5vKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAppbmRleCA1MmQzNzJhNWFjYWU3NzM3ZmMwZWZmNDJh
MTMyODgyNDI1YTdlYjcxLi5iYWI4NjBlNTY2ZjFiNWY5ODgxMzUwODg3MDFjYjc1ZjIxYmIwYzJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJT
dHJhdGVneS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9h
ZGVyU3RyYXRlZ3kuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MiwgMjAxNSwgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTItMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTgwLDYgKzgwLDcgQEAKIAogI2RlZmluZSBSRUxF
QVNFX0xPR19JU19BTExPV0VEIChXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZXNzaW9uSUQoKS5p
c0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSkKIAorI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQKICNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChmbXQsIC4uLikgUkVMRUFTRV9MT0df
SUYoUkVMRUFTRV9MT0dfSVNfQUxMT1dFRCwgTmV0d29yaywgIiVwIC0gV2ViTG9hZGVyU3RyYXRl
Z3k6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQogI2RlZmluZSBSRUxFQVNFX0xPR19FUlJP
Ul9JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19FUlJPUl9JRihSRUxFQVNFX0xPR19J
U19BTExPV0VELCBOZXR3b3JrLCAiJXAgLSBXZWJMb2FkZXJTdHJhdGVneTo6IiBmbXQsIHRoaXMs
ICMjX19WQV9BUkdTX18pCiAKQEAgLTI0OCw4ICsyNDksNiBAQCB2b2lkIFdlYkxvYWRlclN0cmF0
ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVyLCBDYWNoZWRS
ZXNvdQogICAgICAgICBzY2hlZHVsZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MocmVzb3VyY2VMb2Fk
ZXIsIHJlc291cmNlTG9hZGVyLnJlcXVlc3QoKSwgdHJhY2tpbmdQYXJhbWV0ZXJzLCBzaG91bGRD
bGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0LCBtYXhpbXVtQnVmZmVyaW5nVGltZShy
ZXNvdXJjZSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQotCi0gICAgV0VCTE9BREVSU1RSQVRF
R1lfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic2NoZWR1bGVMb2FkOiBVUkwgbm90IGhhbmRsZWQg
YnkgYW55IGhhbmRsZXJzIik7CiB9CiAKIGJvb2wgV2ViTG9hZGVyU3RyYXRlZ3k6OnRyeUxvYWRp
bmdVc2luZ1VSTFNjaGVtZUhhbmRsZXIoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVyLCBj
b25zdCBXZWJSZXNvdXJjZUxvYWRlcjo6VHJhY2tpbmdQYXJhbWV0ZXJzJiB0cmFja2luZ1BhcmFt
ZXRlcnMpCkBAIC05MTYsMyArOTE1LDQgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6cHJpb3Jp
dGl6ZVJlc291cmNlTG9hZHMoY29uc3QgVmVjdG9yPFdlYkNvcmU6OlN1YnJlc291cmMKIAogI3Vu
ZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKICN1bmRlZiBSRUxFQVNFX0xPR19FUlJPUl9JRl9B
TExPV0VECisjdW5kZWYgUkVMRUFTRV9MT0dfSVNfQUxMT1dFRApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBlZjIwOGJmZWFkMDFkNDYwNmYyZGE3
NzczOGFlYTgzMGE5Y2M0NTk4Li4wODBjNDZiZDEyOWI5Yjg1MDNmYTJhZjEwYWNkM2VjODlhZTgy
NGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApA
QCAtMzc2LDYgKzM3Niw3IEBAIHN0YXRpYyBjb25zdCBTZWNvbmRzIHBhZ2VTY3JvbGxIeXN0ZXJl
c2lzRHVyYXRpb24geyAzMDBfbXMgfTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIGluaXRpYWxMYXll
clZvbGF0aWxpdHlUaW1lckludGVydmFsIHsgMjBfbXMgfTsKIHN0YXRpYyBjb25zdCBTZWNvbmRz
IG1heGltdW1MYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsIHsgMl9zIH07CiAKKyN1bmRlZiBS
RUxFQVNFX0xPR19JRl9BTExPV0VECiAjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoY2hh
bm5lbCwgZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgp
LCBjaGFubmVsLCAiJXAgLSBbd2ViUGFnZUlEPSUiIFBSSXU2NCAiXSBXZWJQYWdlOjoiIGZtdCwg
dGhpcywgbV9pZGVudGlmaWVyLnRvVUludDY0KCksICMjX19WQV9BUkdTX18pCiAjZGVmaW5lIFJF
TEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoY2hhbm5lbCwgZm10LCAuLi4pIFJFTEVBU0VfTE9H
X0VSUk9SX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBjaGFubmVsLCAiJXAgLSBbd2Vi
UGFnZUlEPSUiIFBSSXU2NCAiXSBXZWJQYWdlOjoiIGZtdCwgdGhpcywgbV9pZGVudGlmaWVyLnRv
VUludDY0KCksICMjX19WQV9BUkdTX18pCiAKQEAgLTY3MjUsNiArNjcyNiw3IEBAIHZvaWQgV2Vi
UGFnZTo6c3RvcEFsbFVSTFNjaGVtZVRhc2tzKCkKIAogdm9pZCBXZWJQYWdlOjpyZWdpc3RlclVS
TFNjaGVtZUhhbmRsZXIodWludDY0X3QgaGFuZGxlcklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
c2NoZW1lKQogeworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2VzcywgInJlZ2lzdGVy
VVJMU2NoZW1lSGFuZGxlcjogUmVnaXN0ZXJlZCBoYW5kbGVyICUiIFBSSXU2NCAiIGZvciB0aGUg
JyVzJyBzY2hlbWUiLCBoYW5kbGVySWRlbnRpZmllciwgc2NoZW1lLnV0ZjgoKS5kYXRhKCkpOwog
ICAgIFdlYkNvcmU6OkxlZ2FjeVNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFzSGFu
ZGxlZEJ5U2NoZW1lSGFuZGxlcihzY2hlbWUpOwogICAgIFdlYkNvcmU6OkxlZ2FjeVNjaGVtZVJl
Z2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFzQ09SU0VuYWJsZWQoc2NoZW1lKTsKICAgICBhdXRv
IHNjaGVtZVJlc3VsdCA9IG1fc2NoZW1lVG9VUkxTY2hlbWVIYW5kbGVyUHJveHlNYXAuYWRkKHNj
aGVtZSwgV2ViVVJMU2NoZW1lSGFuZGxlclByb3h5OjpjcmVhdGUoKnRoaXMsIGhhbmRsZXJJZGVu
dGlmaWVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJVUkxTY2hlbWVUYXNrUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViVVJMU2NoZW1lVGFza1Byb3h5LmNwcAppbmRleCA5MGEwNjdkNGI0YTEzNDI5NWUwMzg5
ZGUyYTlmYTQ2NzFhY2MyM2VmLi4zMjA0ZWRmZDIzMGNhNTM3OWEyMmI1MTJjOWYzNDI2OWU1ZDBk
OGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJVUkxT
Y2hlbWVUYXNrUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlVSTFNjaGVtZVRhc2tQcm94eS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxNy0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzgsOSArMzgsMzYgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL1Jlc291cmNlTG9hZGVyLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+
CiAKKyNkZWZpbmUgUkVMRUFTRV9MT0dfSVNfQUxMT1dFRCAoV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkuc2Vzc2lvbklEKCkuaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCkpCisKKyN1bmRlZiBSRUxF
QVNFX0xPR19JRl9BTExPV0VECisjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoZm10LCAu
Li4pIFJFTEVBU0VfTE9HX0lGKFJFTEVBU0VfTE9HX0lTX0FMTE9XRUQsIExvYWRpbmcsICIlcCAt
IFdlYlVSTFNjaGVtZVRhc2tQcm94eTo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCisKKyNk
ZWZpbmUgV0VCVVJMU0NIRU1FVEFTS1BST1hZX1JFTEVBU0VfTE9HX1NUQU5EQVJEX1RFTVBMQVRF
ICJbc2NoZW1lSGFuZGxlcj0lIiBQUkl1NjQgIiwgd2ViUGFnZUlEPSUiIFBSSXU2NCAiLCBmcmFt
ZUlEPSUiIFBSSXU2NCAiLCB0YXNrSUQ9JWx1XSBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OiIKKyNk
ZWZpbmUgV0VCVVJMU0NIRU1FVEFTS1BST1hZX1JFTEVBU0VfTE9HX1NUQU5EQVJEX1BBUkFNRVRF
UlMgbV91cmxTY2hlbWVIYW5kbGVyLmlkZW50aWZpZXIoKSwgcGFnZUlERnJvbVdlYkZyYW1lKG1f
ZnJhbWUpLCBmcmFtZUlERnJvbVdlYkZyYW1lKG1fZnJhbWUpLCBtX2lkZW50aWZpZXIKKworI2Rl
ZmluZSBXRUJVUkxTQ0hFTUVUQVNLUFJPWFlfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChmbXQsIC4u
LikgUkVMRUFTRV9MT0dfSUYoUkVMRUFTRV9MT0dfSVNfQUxMT1dFRCwgTmV0d29yaywgV0VCVVJM
U0NIRU1FVEFTS1BST1hZX1JFTEVBU0VfTE9HX1NUQU5EQVJEX1RFTVBMQVRFIGZtdCwgV0VCVVJM
U0NIRU1FVEFTS1BST1hZX1JFTEVBU0VfTE9HX1NUQU5EQVJEX1BBUkFNRVRFUlMsICMjX19WQV9B
UkdTX18pCisKKwogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAorc3RhdGljIHVpbnQ2NF90IHBhZ2VJREZyb21XZWJGcmFtZShjb25zdCBSZWZQdHI8V2ViRnJh
bWU+JiBmcmFtZSkKK3sKKyAgICBpZiAoZnJhbWUpIHsKKyAgICAgICAgaWYgKGF1dG8qIHBhZ2Ug
PSBmcmFtZS0+cGFnZSgpKQorICAgICAgICAgICAgcmV0dXJuIHBhZ2UtPmlkZW50aWZpZXIoKS50
b1VJbnQ2NCgpOworICAgIH0KKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIHVpbnQ2NF90IGZy
YW1lSURGcm9tV2ViRnJhbWUoY29uc3QgUmVmUHRyPFdlYkZyYW1lPiYgZnJhbWUpCit7CisgICAg
aWYgKGZyYW1lKQorICAgICAgICByZXR1cm4gZnJhbWUtPmZyYW1lSUQoKS50b1VJbnQ2NCgpOwor
ICAgIHJldHVybiAwOworfQorCiBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OldlYlVSTFNjaGVtZVRh
c2tQcm94eShXZWJVUkxTY2hlbWVIYW5kbGVyUHJveHkmIGhhbmRsZXIsIFJlc291cmNlTG9hZGVy
JiBsb2FkZXIsIFdlYkZyYW1lJiBmcmFtZSkKICAgICA6IG1fdXJsU2NoZW1lSGFuZGxlcihoYW5k
bGVyKQogICAgICwgbV9jb3JlTG9hZGVyKCZsb2FkZXIpCkBAIC01NCwxMiArODEsMTQgQEAgdm9p
ZCBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OnN0YXJ0TG9hZGluZygpCiB7CiAgICAgQVNTRVJUKG1f
Y29yZUxvYWRlcik7CiAgICAgQVNTRVJUKG1fZnJhbWUpOworICAgIFdFQlVSTFNDSEVNRVRBU0tQ
Uk9YWV9SRUxFQVNFX0xPR19JRl9BTExPV0VEKCJzdGFydExvYWRpbmciKTsKICAgICBtX3VybFNj
aGVtZUhhbmRsZXIucGFnZSgpLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U3RhcnRVUkxT
Y2hlbWVUYXNrKFVSTFNjaGVtZVRhc2tQYXJhbWV0ZXJzIHsgbV91cmxTY2hlbWVIYW5kbGVyLmlk
ZW50aWZpZXIoKSwgbV9jb3JlTG9hZGVyLT5pZGVudGlmaWVyKCksIG1fcmVxdWVzdCwgbV9mcmFt
ZS0+aW5mbygpIH0pKTsKIH0KIAogdm9pZCBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OnN0b3BMb2Fk
aW5nKCkKIHsKICAgICBBU1NFUlQobV9jb3JlTG9hZGVyKTsKKyAgICBXRUJVUkxTQ0hFTUVUQVNL
UFJPWFlfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic3RvcExvYWRpbmciKTsKICAgICBtX3VybFNj
aGVtZUhhbmRsZXIucGFnZSgpLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U3RvcFVSTFNj
aGVtZVRhc2sobV91cmxTY2hlbWVIYW5kbGVyLmlkZW50aWZpZXIoKSwgbV9jb3JlTG9hZGVyLT5p
ZGVudGlmaWVyKCkpKTsKICAgICBtX2NvcmVMb2FkZXIgPSBudWxscHRyOwogICAgIG1fZnJhbWUg
PSBudWxscHRyOwpAQCAtNzYsNyArMTA1LDcgQEAgdm9pZCBXZWJVUkxTY2hlbWVUYXNrUHJveHk6
OmRpZFBlcmZvcm1SZWRpcmVjdGlvbihXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYgcmUKICAg
ICB9CiAKICAgICBpZiAobV93YWl0aW5nRm9yQ29tcGxldGlvbkhhbmRsZXIpIHsKLSAgICAgICAg
UkVMRUFTRV9MT0coTG9hZGluZywgIlJlY2VpdmVkIHJlZGlyZWN0IGR1cmluZyBwcmV2aW91cyBy
ZWRpcmVjdCBwcm9jZXNzaW5nLCBxdWV1aW5nIGl0LiIpOworICAgICAgICBXRUJVUkxTQ0hFTUVU
QVNLUFJPWFlfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUGVyZm9ybVJlZGlyZWN0aW9uOiBS
ZWNlaXZlZCByZWRpcmVjdCBkdXJpbmcgcHJldmlvdXMgcmVkaXJlY3QgcHJvY2Vzc2luZywgcXVl
dWluZyBpdC4iKTsKICAgICAgICAgcXVldWVUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZigqdGhpcyksIHJlZGlyZWN0UmVzcG9uc2UgPSBXVEZNb3ZlKHJlZGlyZWN0UmVzcG9uc2Up
LCByZXF1ZXN0ID0gV1RGTW92ZShyZXF1ZXN0KSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGRpZFBlcmZvcm1S
ZWRpcmVjdGlvbihXVEZNb3ZlKHJlZGlyZWN0UmVzcG9uc2UpLCBXVEZNb3ZlKHJlcXVlc3QpLCBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgICAgIH0pOwpAQCAtOTgsNyArMTI3LDcg
QEAgdm9pZCBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OmRpZFBlcmZvcm1SZWRpcmVjdGlvbihXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYgcmUKIHZvaWQgV2ViVVJMU2NoZW1lVGFza1Byb3h5Ojpk
aWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAg
ICAgaWYgKG1fd2FpdGluZ0ZvckNvbXBsZXRpb25IYW5kbGVyKSB7Ci0gICAgICAgIFJFTEVBU0Vf
TE9HKExvYWRpbmcsICJSZWNlaXZlZCByZXNwb25zZSBkdXJpbmcgcmVkaXJlY3QgcHJvY2Vzc2lu
ZywgcXVldWluZyBpdC4iKTsKKyAgICAgICAgV0VCVVJMU0NIRU1FVEFTS1BST1hZX1JFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoImRpZFJlY2VpdmVSZXNwb25zZTogUmVjZWl2ZWQgcmVzcG9uc2UgZHVy
aW5nIHJlZGlyZWN0IHByb2Nlc3NpbmcsIHF1ZXVpbmcgaXQuIik7CiAgICAgICAgIHF1ZXVlVGFz
ayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCByZXNwb25zZV0gewogICAg
ICAgICAgICAgZGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNlKTsKICAgICAgICAgfSk7CkBAIC0x
MjEsNyArMTUwLDcgQEAgdm9pZCBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OmRpZFJlY2VpdmVEYXRh
KHNpemVfdCBzaXplLCBjb25zdCB1aW50OF90KiBkYXRhKQogICAgICAgICByZXR1cm47CiAKICAg
ICBpZiAobV93YWl0aW5nRm9yQ29tcGxldGlvbkhhbmRsZXIpIHsKLSAgICAgICAgUkVMRUFTRV9M
T0coTG9hZGluZywgIlJlY2VpdmVkIGRhdGEgZHVyaW5nIHJlc3BvbnNlIHByb2Nlc3NpbmcsIHF1
ZXVpbmcgaXQuIik7CisgICAgICAgIFdFQlVSTFNDSEVNRVRBU0tQUk9YWV9SRUxFQVNFX0xPR19J
Rl9BTExPV0VEKCJkaWRSZWNlaXZlRGF0YTogUmVjZWl2ZWQgZGF0YSBkdXJpbmcgcmVzcG9uc2Ug
cHJvY2Vzc2luZywgcXVldWluZyBpdC4iKTsKICAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IGRhdGFW
ZWN0b3I7CiAgICAgICAgIGRhdGFWZWN0b3IuYXBwZW5kKGRhdGEsIHNpemUpOwogICAgICAgICBx
dWV1ZVRhc2soW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgZGF0YVZlY3Rv
ciA9IFdURk1vdmUoZGF0YVZlY3RvcildIHsKQEAgLTEzNyw2ICsxNjYsNyBAQCB2b2lkIFdlYlVS
TFNjaGVtZVRhc2tQcm94eTo6ZGlkUmVjZWl2ZURhdGEoc2l6ZV90IHNpemUsIGNvbnN0IHVpbnQ4
X3QqIGRhdGEpCiAKIHZvaWQgV2ViVVJMU2NoZW1lVGFza1Byb3h5OjpkaWRDb21wbGV0ZShjb25z
dCBSZXNvdXJjZUVycm9yJiBlcnJvcikKIHsKKyAgICBXRUJVUkxTQ0hFTUVUQVNLUFJPWFlfUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkQ29tcGxldGUiKTsKICAgICBpZiAoIWhhc0xvYWRlcigp
KQogICAgICAgICByZXR1cm47CiAKQEAgLTE3MywzICsyMDMsOSBAQCB2b2lkIFdlYlVSTFNjaGVt
ZVRhc2tQcm94eTo6cHJvY2Vzc05leHRQZW5kaW5nVGFzaygpCiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAorCisjdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRAorI3VuZGVmIFJFTEVBU0Vf
TE9HX0lTX0FMTE9XRUQKKyN1bmRlZiBXRUJVUkxTQ0hFTUVUQVNLUFJPWFlfUkVMRUFTRV9MT0df
U1RBTkRBUkRfVEVNUExBVEUKKyN1bmRlZiBXRUJVUkxTQ0hFTUVUQVNLUFJPWFlfUkVMRUFTRV9M
T0dfU1RBTkRBUkRfUEFSQU1FVEVSUworI3VuZGVmIFdFQlVSTFNDSEVNRVRBU0tQUk9YWV9SRUxF
QVNFX0xPR19JRl9BTExPV0VECg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425329</attachid>
            <date>2021-04-06 15:10:12 -0700</date>
            <delta_ts>2021-04-06 15:38:03 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-224194-20210406151011.patch</filename>
            <type>text/plain</type>
            <size>28531</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzMwYzIxZTk1M2E3ODY5
MmU0NDVlZDZhZTk5ZGJjZjAwMjYzNGI5ZS4uM2E3M2EyMDViYjBkYThmYmE3NmY1NDY0MzUzMmVm
MzkzNDM4MGU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA0LTA2ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhZGRpdGlvbmFs
IHBhZ2UgbG9hZCBkaWFnbm9zdGljIGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDE5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzYy
MjcxNzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAg
ICBUaGlzIHBhdGNoIGFkZHMgbmV3IGxvZ2dpbmcgdG8gaGVscCB1cyBkaWFnbm9zZSBhbmQgaW52
ZXN0aWdhdGUgcGFnZSBsb2FkIGZhaWx1cmVzLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNl
TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjppbml0KTogQWRk
IGxvZ2dpbmcgZm9yIHNvbWUgdW51c3VhbCBjb25kaXRpb25zOgorICAgICAgICAgICAgKDEpIEEg
bG9hZGVyIGNhbm5vdCBiZSBjcmVhdGVkIGJlY2F1c2UgdGhlIGRvY3VtZW50IGxvYWRlciBpcyBu
dWxscHRyLgorICAgICAgICAgICAgKDIpIEEgbG9hZCBpcyBjYW5jZWxsZWQgYmVjYXVzZSBpdCB2
aW9sYXRlcyBzZWN1cml0eSBwb2xpY3kuCisgICAgICAgICAgICAoMykgQSBsb2FkIHdhcyBjYW5j
ZWxsZWQgZHVyaW5nICd3aWxsU2VuZFJlcXVlc3QnIHByb2Nlc3NpbmcuCisgICAgICAgICAgICAo
NCkgQSBsb2FkIHdhcyBjYW5jZWxsZWQgYmVjYXVzZSB0aGUgcmVxdWVzdCB3YXMgbnVsbC4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpsb2FkRGF0YVVSTCk6IExvZyB3aGVuIGEg
ZGF0YSBsb2FkIHdhcyBjYW5jZWxsZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRl
cjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwpOiBMb2cgd2hlbiBhIGNyb3NzLW9yaWdpbiByZWRp
cmVjdCBpcyB0cmlnZ2VyZWQsIGFuZCB3aGVuIGEgcmVkaXJlY3QgaXMKKyAgICAgICAgdG8gYSBk
YXRhVVJMIGFuZCB3aWxsIGJlIGhhbmRsZWQgbG9jYWxseS4KKyAgICAgICAgKFdlYkNvcmU6OlJl
c291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nT25lUGFydCk6IExvZyB3aGVuIGEgbG9hZCBp
cyBjYW5jZWxsZWQgYWZ0ZXIgaXQgZmluaXNoZWQuCisgICAgICAgICogbG9hZGVyL1N1YnJlc291
cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjp3aWxs
U2VuZFJlcXVlc3RJbnRlcm5hbCk6ICBMb2cgd2hlbiBhbiBvbmdvaW5nIGxvYWQgaGFzIHVuZXhw
ZWN0ZWRseSByZWFjaGVkIHRlcm1pbmFsIHN0YXRlLiBSZW1vdmUgYQorICAgICAgICBzcGFtbXkg
bG9nIG1lc3NhZ2UgdGhhdCBpbmRpY2F0ZXMgd2hlbiBhIHJlZGlyZWN0IHJlc3BvbnNlIGlzIG51
bGwgKHdoaWNoIGp1c3QgbWVhbnMgaXRzIGEgbm9ybWFsIGxvYWQpLgorICAgICAgICAoV2ViQ29y
ZTo6U3VicmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOiBMb2cgd2hlbiBhIGZpbmlz
aGVkIGxvYWQgdW5leHBlY3RlZGx5IGRpZCBub3QgcmVhY2ggdGVybWluYWwgc3RhdGUuCisgICAg
ICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6bm90aWZ5RG9uZSk6IExvZyB3aGVuIGEg
bG9hZCBjb3VsZCBub3QgZmluaXNoIGJlY2F1c2UgdGhlIGRvY3VtZW50IGxvYWRlciB3YXMgbnVs
bHB0ci4KKwogMjAyMS0wNC0wNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjc1Mjc1KTogQnJva2Ugc29tZSBidWlsZCBjb25m
aWdzIGxhY2tpbmcgb3BlbmgyNjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZTNhZTgwN2QxMWY2ZTAzZDJmMTIyMzhh
ZWU4MDNjZGI4YjE5ODJkYi4uY2IyNDU0NWFlMGE5OTY1MzY3ZDYzZWNlMTliMmIwNzE2YzUwZjdk
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MyBAQAorMjAyMS0wNC0wNiAgQnJlbnQgRnVsZ2hhbSAg
PGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYWRkaXRpb25hbCBwYWdlIGxvYWQg
ZGlhZ25vc3RpYyBsb2dnaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjQxOTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc2MjI3MTc1PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgVGhpcyBwYXRj
aCBhZGRzIG5ldyBsb2dnaW5nIHRvIGhlbHAgdXMgZGlhZ25vc2UgYW5kIGludmVzdGlnYXRlIHBh
Z2UgbG9hZCBmYWlsdXJlcy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6OmRpZENsb3NlKTogTG9nIHdoZW4gdGhlIGNvbm5lY3Rpb24gZnJvbSBh
IFdlYlByb2Nlc3MgcmVxdWVzdGluZyBhIGxvYWQKKyAgICAgICAgaXMgY2xvc2VkLgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVtb3ZlTG9hZElkZW50
aWZpZXIpOiBMb2cgd2hlbiB0aGUgV2ViUHJvY2VzcyByZXF1ZXN0cyBhIGxvYWQKKyAgICAgICAg
aWRlbnRpZmllciBiZSByZW1vdmVkIChhbmQgY2FuY2VsbGVkKS4KKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrUmVzb3VyY2VMb2FkZXI6OnJlc3RhcnROZXR3b3JrTG9hZCk6IExvZyB3aGVuIGFuIGluLXBy
b2Nlc3MgbG9hZCBpcyBjYW5jZWxsZWQgc28gdGhhdCB0aGUgbG9hZAorICAgICAgICBjYW4gYmUg
cmVzdGFydGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRDbG9zZSk6
IExvZyB3aGVuIHRoZSBuZXR3b3JrIHByb2Nlc3MgY3Jhc2hlcy4KKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5
OjpkaWRDbG9zZSk6IEFkZCBsb2dnaW5nIHdoZW4gdGhlIFdlYlByb2Nlc3MgY3Jhc2hlcy4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkKTogUmVtb3ZlIGFuIGVy
cm9uZW91cyBsb2cgbWVzc2FnZSB0aGF0IG1hZGUgaXQgYXBwZWFyIHRoYXQgbm8gVVJMIGhhbmRs
ZXIKKyAgICAgICAgaGFkIGJlZW4gY2FsbGVkLiBUaGUgbG9nIG1lc3NhZ2Ugd2FzIGdlbmVyYXRl
ZCB3aGVuIGEgbm9ybWFsIG5ldHdvcmsgbG9hZCBoYW5kbGVyIHdhcyBleGVjdXRlZCwgbGVhZGlu
ZyB0bworICAgICAgICBjb25mdXNpbmcgdHJvdWJsZXNob290aW5nIGxvZ3MuCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpyZWdpc3RlclVSTFNjaGVtZUhhbmRsZXIpOiBMb2cgd2hlbiBhIHdlYiBwYWdlIHJlZ2lzdGVy
cyBhIGN1c3RvbSBVUkwgaGFuZGxlciwgYW5kIGZvciB3aGljaCBzY2hlbWUuCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlVSTFNjaGVtZVRhc2tQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OnBhZ2VJREZyb21XZWJGcmFtZSk6IEFkZGVkIGhlbHBlci4KKyAgICAgICAgKFdlYktp
dDo6ZnJhbWVJREZyb21XZWJGcmFtZSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJVUkxT
Y2hlbWVUYXNrUHJveHk6OnN0YXJ0TG9hZGluZyk6IEFkZCBsb2dnaW5nIHRvIHRyYWNrIHByb2dy
ZXNzIG9mIGN1c3RvbSBVUkwgaGFuZGxlcnMuCisgICAgICAgIChXZWJLaXQ6OldlYlVSTFNjaGVt
ZVRhc2tQcm94eTo6c3RvcExvYWRpbmcpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6V2ViVVJM
U2NoZW1lVGFza1Byb3h5OjpkaWRQZXJmb3JtUmVkaXJlY3Rpb24pOiBEaXR0by4KKyAgICAgICAg
KFdlYktpdDo6V2ViVVJMU2NoZW1lVGFza1Byb3h5OjpkaWRSZWNlaXZlUmVzcG9uc2UpOiBEaXR0
by4KKyAgICAgICAgKFdlYktpdDo6V2ViVVJMU2NoZW1lVGFza1Byb3h5OjpkaWRSZWNlaXZlRGF0
YSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJVUkxTY2hlbWVUYXNrUHJveHk6OmRpZENv
bXBsZXRlKTogRGl0dG8uCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6bmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uQ2xvc2Vk
KTogQWRkIGxvZ2dpbmcgdGhhdCB0aGUgbmV0d29yayBwcm9jZXNzIGNyYXNoZWQuCisKIDIwMjEt
MDQtMDYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRGVsYXkg
dGhlIGVuZCBvZiBwcmludGluZyB3aGlsZSBQcmludENvbnRleHQgaXMgaW4gdXNlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMmFmZGYxZWQ0ZGNkYzhmNGYw
MDdjYjczN2FhM2U1MGY1MWE5MzU3Zi4uNDBlMzc0MjM0ZTE1ZGI4ZjRlMTU5NzczNGIwOWI4MDcw
YjlkNGUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNi0yMDE4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNi0yMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqICAgICAgICAgICAoQykgMjAwNyBHcmFoYW0gRGVubmlz
IChncmFoYW0uZGVubmlzQGdtYWlsLmNvbSkKICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTEyNCw2ICsx
MjQsMTAgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6cmVsZWFzZVJlc291cmNlcygpCiB2b2lkIFJl
c291cmNlTG9hZGVyOjppbml0KFJlc291cmNlUmVxdWVzdCYmIGNsaWVudFJlcXVlc3QsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYg
KCFtX2RvY3VtZW50TG9hZGVyIHx8ICFtX2RvY3VtZW50TG9hZGVyLT5mcmFtZSgpKSB7CisgICAg
ICAgIGlmICghbV9kb2N1bWVudExvYWRlcikKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoImluaXQ6IENhbmNlbGxpbmcgYmVjYXVzZSB0aGVyZSBpcyBubyBkb2N1bWVudCBsb2Fk
ZXIuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
ImluaXQ6IENhbmNlbGxpbmcgYmVjYXVzZSB0aGUgZG9jdW1lbnQgbG9hZGVyIGhhcyBubyBmcmFt
ZS4iKTsKICAgICAgICAgY2FuY2VsKCk7CiAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxl
cihmYWxzZSk7CiAgICAgfQpAQCAtMTM4LDYgKzE0Miw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6
OmluaXQoUmVzb3VyY2VSZXF1ZXN0JiYgY2xpZW50UmVxdWVzdCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pCiAgICAgbV9kZWZlcnNMb2FkaW5nID0gbV9vcHRpb25zLmRlZmVyc0xvYWRpbmdQb2xpY3kg
PT0gRGVmZXJzTG9hZGluZ1BvbGljeTo6QWxsb3dEZWZlcnNMb2FkaW5nICYmIG1fZnJhbWUtPnBh
Z2UoKS0+ZGVmZXJzTG9hZGluZygpOwogCiAgICAgaWYgKG1fb3B0aW9ucy5zZWN1cml0eUNoZWNr
ID09IFNlY3VyaXR5Q2hlY2tQb2xpY3k6OkRvU2VjdXJpdHlDaGVjayAmJiAhbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS5jYW5EaXNwbGF5KGNsaWVudFJlcXVlc3QudXJsKCkp
KSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImluaXQ6IENhbmNlbGxpbmcgbG9h
ZCBiZWNhdXNlIGl0IHZpb2xhdGVzIHNlY3VyaXR5IHBvbGljeS4iKTsKICAgICAgICAgRnJhbWVM
b2FkZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxlZChtX2ZyYW1lLmdldCgpLCBjbGllbnRSZXF1ZXN0
LnVybCgpLnN0cmluZygpKTsKICAgICAgICAgcmVsZWFzZVJlc291cmNlcygpOwogICAgICAgICBy
ZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwpAQCAtMTU4LDExICsxNjMsMTQgQEAgdm9p
ZCBSZXNvdXJjZUxvYWRlcjo6aW5pdChSZXNvdXJjZVJlcXVlc3QmJiBjbGllbnRSZXF1ZXN0LCBD
b21wbGV0aW9uSGFuZGxlcjx2b2kKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgICAg
IC8vIElmIHRoaXMgUmVzb3VyY2VMb2FkZXIgd2FzIHN0b3BwZWQgYXMgYSByZXN1bHQgb2Ygd2ls
bFNlbmRSZXF1ZXN0LCBiYWlsIG91dC4KLSAgICAgICAgaWYgKG1fcmVhY2hlZFRlcm1pbmFsU3Rh
dGUpCisgICAgICAgIGlmIChtX3JlYWNoZWRUZXJtaW5hbFN0YXRlKSB7CisgICAgICAgICAgICBS
RUxFQVNFX0xPR19JRl9BTExPV0VEKCJpbml0OiBDYW5jZWxsaW5nIGxvYWQgYmVjYXVzZSBpdCB3
YXMgc3RvcHBlZCBhcyBhIHJlc3VsdCBvZiB3aWxsU2VuZFJlcXVlc3QuIik7CiAgICAgICAgICAg
ICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOworICAgICAgICB9CiAjZW5kaWYKIAog
ICAgICAgICBpZiAocmVxdWVzdC5pc051bGwoKSkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRCgiaW5pdDogQ2FuY2VsbGluZyBsb2FkIGJlY2F1c2UgdGhlIHJlcXVlc3QgaXMg
bnVsbC4iKTsKICAgICAgICAgICAgIGNhbmNlbCgpOwogICAgICAgICAgICAgcmV0dXJuIGNvbXBs
ZXRpb25IYW5kbGVyKGZhbHNlKTsKICAgICAgICAgfQpAQCAtMjY5LDggKzI3NywxMCBAQCB2b2lk
IFJlc291cmNlTG9hZGVyOjpsb2FkRGF0YVVSTCgpCiAgICAgICAgICAgICBwcm90ZWN0ZWRUaGlz
LT5kaWRGYWlsKFJlc291cmNlRXJyb3IoZXJyb3JEb21haW5XZWJLaXRJbnRlcm5hbCwgMCwgdXJs
LCAiRGF0YSBVUkwgZGVjb2RpbmcgZmFpbGVkIikpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9Ci0gICAgICAgIGlmICh0aGlzLT53YXNDYW5jZWxsZWQoKSkKKyAgICAgICAgaWYgKHRo
aXMtPndhc0NhbmNlbGxlZCgpKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJsb2FkRGF0YVVSTDogTG9hZCB3YXMgY2FuY2VsbGVkIik7CiAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KIAogICAgICAgICBhdXRvIGRhdGFTaXplID0gZGVjb2RlUmVzdWx0LT5kYXRh
LnNpemUoKTsKICAgICAgICAgUmVzb3VyY2VSZXNwb25zZSBkYXRhUmVzcG9uc2UgPSBSZXNvdXJj
ZVJlc3BvbnNlOjpkYXRhVVJMUmVzcG9uc2UodXJsLCBkZWNvZGVSZXN1bHQudmFsdWUoKSk7CkBA
IC00MDIsNiArNDEyLDcgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50
ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgUmUKIAogICAgIGJvb2wgaXNS
ZWRpcmVjdCA9ICFyZWRpcmVjdFJlc3BvbnNlLmlzTnVsbCgpOwogICAgIGlmIChpc1JlZGlyZWN0
KSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIndpbGxTZW5kUmVxdWVzdEludGVy
bmFsOiBQcm9jZXNzaW5nIGNyb3NzLW9yaWdpbiByZWRpcmVjdCIpOwogICAgICAgICBwbGF0Zm9y
bVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+Y3Jvc3NPcmlnaW5SZWRpcmVjdFJlY2Vp
dmVkKHRoaXMsIHJlcXVlc3QudXJsKCkpOwogI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJ
U1RJQ1MpCiAgICAgICAgIGZyYW1lTG9hZGVyKCktPmNsaWVudCgpLmRpZExvYWRGcm9tUmVnaXN0
cmFibGVEb21haW4oUmVnaXN0cmFibGVEb21haW4ocmVxdWVzdC51cmwoKSkpOwpAQCAtNDE2LDYg
KzQyNyw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdEludGVybmFsKFJl
c291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFJlCiAKICAgICAgICAgaWYgKHJlZGlyZWN0
VVJMLnByb3RvY29sSXNEYXRhKCkpIHsKICAgICAgICAgICAgIC8vIEhhbmRsZSBkYXRhIFVSTCBk
ZWNvZGluZyBsb2NhbGx5LgorICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgid2ls
bFNlbmRSZXF1ZXN0SW50ZXJuYWw6IFJlZGlyZWN0ZWQgdG8gYSBkYXRhIFVSTC4gUHJvY2Vzc2lu
ZyBsb2NhbGx5Iik7CiAgICAgICAgICAgICBmaW5pc2hOZXR3b3JrTG9hZCgpOwogICAgICAgICAg
ICAgbG9hZERhdGFVUkwoKTsKICAgICAgICAgfQpAQCAtNTY1LDggKzU3NywxMCBAQCB2b2lkIFJl
c291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nT25lUGFydChjb25zdCBOZXR3b3JrTG9hZE1l
dHJpY3MmIG5ldHdvcmtMbwogewogICAgIC8vIElmIGxvYWQgaGFzIGJlZW4gY2FuY2VsbGVkIGFm
dGVyIGZpbmlzaGluZyAod2hpY2ggY291bGQgaGFwcGVuIHdpdGggYQogICAgIC8vIEphdmFTY3Jp
cHQgdGhhdCBjaGFuZ2VzIHRoZSB3aW5kb3cgbG9jYXRpb24pLCBkbyBub3RoaW5nLgotICAgIGlm
ICh3YXNDYW5jZWxsZWQoKSkKKyAgICBpZiAod2FzQ2FuY2VsbGVkKCkpIHsKKyAgICAgICAgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkRmluaXNoTG9hZGluZ09uZVBhcnQ6IExvYWQgd2FzIGNh
bmNlbGxlZCBhZnRlciBmaW5pc2hpbmcuIik7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAg
QVNTRVJUKCFtX3JlYWNoZWRUZXJtaW5hbFN0YXRlKTsKIAogICAgIGlmIChtX25vdGlmaWVkTG9h
ZENvbXBsZXRlKQpAQCAtODQ3LDUgKzg2MSw2IEBAIGJvb2wgUmVzb3VyY2VMb2FkZXI6OmlzQWx3
YXlzT25Mb2dnaW5nQWxsb3dlZCgpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAor
I3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKICN1bmRlZiBQQUdFX0lECiAjdW5kZWYgRlJB
TUVfSUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4
IGNiOTY2MTkxNDZiMjM5MjBmZmQwNmI3NGQzYTNkMzFiOGYyOTk4OTEuLjg3MTkyZGY3ZWE0ZDk4
ZTllZDQzNDQ1ODgyMmUxOTRlYjcwNmVhOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1
YnJlc291cmNlTG9hZGVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDYtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIxMSw4ICsyMTEsMTAgQEAgdm9pZCBTdWJyZXNvdXJj
ZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVx
dWVzdCwgY28KICAgICAgICAgfQogCiAgICAgICAgIFJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJl
cXVlc3RJbnRlcm5hbChXVEZNb3ZlKG5ld1JlcXVlc3QpLCByZWRpcmVjdFJlc3BvbnNlLCBbdGhp
cywgcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGNvbXBsZXRpb25IYW5k
bGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIHJlZGlyZWN0UmVzcG9uc2VdIChSZXNv
dXJjZVJlcXVlc3QmJiByZXF1ZXN0KSBtdXRhYmxlIHsKLSAgICAgICAgICAgIGlmIChyZWFjaGVk
VGVybWluYWxTdGF0ZSgpKQorICAgICAgICAgICAgaWYgKHJlYWNoZWRUZXJtaW5hbFN0YXRlKCkp
IHsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJ3aWxsU2VuZFJlcXVl
c3RJbnRlcm5hbDogcmVhY2hlZCB0ZXJtaW5hbCBzdGF0ZTsgY2FsbGluZyBjb21wbGV0aW9uIGhh
bmRsZXIiKTsKICAgICAgICAgICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoV1RGTW92
ZShyZXF1ZXN0KSk7CisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmIChyZXF1ZXN0Lmlz
TnVsbCgpKSB7CiAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgid2lsbFNl
bmRSZXF1ZXN0SW50ZXJuYWw6IHJlc291cmNlIGxvYWQgY2FuY2VsZWQgYmVjYXVzZSByZXF1ZXN0
IGlzIE5VTEwgKDIpIik7CkBAIC0zMDMsNyArMzA1LDYgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRl
cjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxdWVzdCwg
Y28KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
IndpbGxTZW5kUmVxdWVzdEludGVybmFsOiByZWRpcmVjdCByZXNwb25zZSBpcyBOVUxMIik7CiAg
ICAgY29udGludWVXaWxsU2VuZFJlcXVlc3QoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIFdU
Rk1vdmUobmV3UmVxdWVzdCkpOwogfQogCkBAIC03NDksNiArNzUwLDcgQEAgdm9pZCBTdWJyZXNv
dXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5l
dHdvcmtMb2FkTWUKICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkRmluaXNoTG9h
ZGluZzogcmVhY2hlZCB0ZXJtaW5hbCBzdGF0ZSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQor
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZEZpbmlzaExvYWRpbmc6IERpZCBub3QgcmVh
Y2ggdGVybWluYWwgc3RhdGUiKTsKICAgICByZWxlYXNlUmVzb3VyY2VzKCk7CiB9CiAKQEAgLTg0
NywxMCArODQ5LDE1IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6Om5vdGlmeURvbmUoTG9hZENv
bXBsZXRpb25UeXBlIHR5cGUpCiAjZW5kaWYKICAgICBpZiAobV9kb2N1bWVudExvYWRlcikKICAg
ICAgICAgbV9kb2N1bWVudExvYWRlci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS5sb2FkRG9uZSh0
eXBlLCBzaG91bGRQZXJmb3JtUG9zdExvYWRBY3Rpb25zKTsKKyAgICBlbHNlCisgICAgICAgIFJF
TEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIm5vdGlmeURvbmU6IGRvY3VtZW50IGxvYWRlciBp
cyBudWxsLiBDb3VsZCBub3QgY2FsbCBsb2FkRG9uZSgpIik7CisKICAgICBpZiAocmVhY2hlZFRl
cm1pbmFsU3RhdGUoKSkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2RvY3VtZW50TG9hZGVy
KQogICAgICAgICBtX2RvY3VtZW50TG9hZGVyLT5yZW1vdmVTdWJyZXNvdXJjZUxvYWRlcih0eXBl
LCB0aGlzKTsKKyAgICBlbHNlCisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQo
Im5vdGlmeURvbmU6IGRvY3VtZW50IGxvYWRlciBpcyBudWxsLiBDb3VsZCBub3QgY2FsbCByZW1v
dmVTdWJyZXNvdXJjZUxvYWRlcigpIik7CiB9CiAKIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OnJl
bGVhc2VSZXNvdXJjZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCAzNzFkMDIy
ZDdjOTk5MTUxZjAzZGY2ZTRkMDMyNDBhYmUxZjYxNTQzLi4wNTE1NTBlNzc3ZTUwN2EzYWRhNzNj
MWJlOTI5ODI3NTAxN2EyMGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM2
MCw2ICszNjAsMTIgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkQ2xv
c2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKQogICAgIC8vIFByb3RlY3Qgb3Vyc2VsZiBh
cyB3ZSBtaWdodCBiZSBvdGhlcndpc2UgYmUgZGVsZXRlZCBkdXJpbmcgdGhpcyBmdW5jdGlvbi4K
ICAgICBSZWY8TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IHByb3RlY3RvcigqdGhpcyk7
CiAKKyNpZiBPUyhEQVJXSU4pCisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAi
ZGlkQ2xvc2U6IFdlYlByb2Nlc3MgKCVkKSBjbG9zZWQgaXRzIGNvbm5lY3Rpb24uIEFib3J0aW5n
IHJlbGF0ZWQgbG9hZGVycy4iLCBjb25uZWN0aW9uLnJlbW90ZVByb2Nlc3NJRCgpKTsKKyNlbHNl
CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAiZGlkQ2xvc2U6IFdlYlByb2Nl
c3MgY2xvc2VkIGl0cyBjb25uZWN0aW9uLiBBYm9ydGluZyByZWxhdGVkIGxvYWRlcnMuIik7Cisj
ZW5kaWYKKwogICAgIHdoaWxlICghbV9uZXR3b3JrUmVzb3VyY2VMb2FkZXJzLmlzRW1wdHkoKSkK
ICAgICAgICAgbV9uZXR3b3JrUmVzb3VyY2VMb2FkZXJzLmJlZ2luKCktPnZhbHVlLT5hYm9ydCgp
OwogCkBAIC01NTcsNiArNTYzLDcgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
czo6cmVtb3ZlTG9hZElkZW50aWZpZXIoUmVzb3VyY2VMb2FkSWRlbnRpZmllcgogCiAgICAgLy8g
QWJvcnQgdGhlIGxvYWQgbm93LCBhcyB0aGUgV2ViUHJvY2VzcyB3b24ndCBiZSBhYmxlIHRvIHJl
c3BvbmQgdG8gbWVzc2FnZXMgYW55IG1vcmUgd2hpY2ggbWlnaHQgbGVhZAogICAgIC8vIHRvIGxl
YWtlZCBsb2FkZXIgcmVzb3VyY2VzIChjb25uZWN0aW9ucywgdGhyZWFkcywgZXRjKS4KKyAgICBS
RUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcsICJyZW1vdmVMb2FkSWRlbnRpZmllcjogUmVt
b3ZpbmcgaWRlbnRpZmllciAlIiBQUkl1NjQgIiBhbmQgYWJvcnRpbmcgY29ycmVzcG9uZGluZyBs
b2FkZXIiLCBpZGVudGlmaWVyKTsKICAgICBsb2FkZXItPmFib3J0KCk7CiAgICAgQVNTRVJUKCFt
X25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuY29udGFpbnMoaWRlbnRpZmllcikpOwogfQpAQCAtMTIz
Nyw1ICsxMjQ0LDYgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cHJpb3Jp
dGl6ZVJlc291cmNlTG9hZHMoVmVjdG9yPFJlc291cmNlTG9hZEkKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CiAKKyN1bmRlZiBSRUxFQVNFX0xPR19JRl9BTExPV0VECiAjdW5kZWYgTkVUV09SS19Q
Uk9DRVNTX01FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTgogI3VuZGVmIE5FVFdPUktfUFJPQ0VTU19N
RVNTQUdFX0NIRUNLCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggY2Y5NWM3ZGVlMjUxY2IwODlmM2RkNTkwZDFh
NjYxYmFkMzk3MTkxNC4uMDlmZDkxY2U4NWUzM2FjYjMzNWFjMjc5NDEwY2Q4ZGRmMzU3OTlkYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIt
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTItMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTY1LDYgKzY1LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1ByZXZp
ZXdDb252ZXJ0ZXIuaD4KICNlbmRpZgogCisjdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRAog
I2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihp
c0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTmV0d29yaywgIiVwIC0gW3BhZ2VQcm94eUlEPSUi
IFBSSXU2NCAiLCB3ZWJQYWdlSUQ9JSIgUFJJdTY0ICIsIGZyYW1lSUQ9JSIgUFJJdTY0ICIsIHJl
c291cmNlSUQ9JSIgUFJJdTY0ICIsIGlzTWFpblJlc291cmNlPSVkLCBkZXN0aW5hdGlvbj0ldSwg
aXNTeW5jaHJvbm91cz0lZF0gTmV0d29ya1Jlc291cmNlTG9hZGVyOjoiIGZtdCwgdGhpcywgbV9w
YXJhbWV0ZXJzLndlYlBhZ2VQcm94eUlELnRvVUludDY0KCksIG1fcGFyYW1ldGVycy53ZWJQYWdl
SUQudG9VSW50NjQoKSwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQudG9VSW50NjQoKSwgbV9wYXJh
bWV0ZXJzLmlkZW50aWZpZXIsIGlzTWFpblJlc291cmNlKCksIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihtX3BhcmFtZXRlcnMub3B0aW9ucy5kZXN0aW5hdGlvbiksIGlzU3luY2hyb25vdXMoKSwgIyNf
X1ZBX0FSR1NfXykKICNkZWZpbmUgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChmbXQsIC4u
LikgUkVMRUFTRV9MT0dfRVJST1JfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIE5ldHdv
cmssICIlcCAtIFtwYWdlUHJveHlJRD0lIiBQUkl1NjQgIiwgd2ViUGFnZUlEPSUiIFBSSXU2NCAi
LCBmcmFtZUlEPSUiIFBSSXU2NCAiLCByZXNvdXJjZUlEPSUiIFBSSXU2NCAiLCBpc01haW5SZXNv
dXJjZT0lZCwgZGVzdGluYXRpb249JXUsIGlzU3luY2hyb25vdXM9JWRdIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlcjo6IiBmbXQsIHRoaXMsIG1fcGFyYW1ldGVycy53ZWJQYWdlUHJveHlJRC50b1VJbnQ2
NCgpLCBtX3BhcmFtZXRlcnMud2ViUGFnZUlELnRvVUludDY0KCksIG1fcGFyYW1ldGVycy53ZWJG
cmFtZUlELnRvVUludDY0KCksIG1fcGFyYW1ldGVycy5pZGVudGlmaWVyLCBpc01haW5SZXNvdXJj
ZSgpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9wYXJhbWV0ZXJzLm9wdGlvbnMuZGVzdGluYXRp
b24pLCBpc1N5bmNocm9ub3VzKCksICMjX19WQV9BUkdTX18pCiAKQEAgLTkzOSw4ICs5NDAsMTAg
QEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnJlc3RhcnROZXR3b3JrTG9hZChXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXEKIHsKICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJyZXN0YXJ0TmV0d29ya0xvYWQ6IChoYXNOZXR3b3JrTG9hZD0lZCkiLCAhIW1fbmV0d29ya0xv
YWQpOwogCi0gICAgaWYgKG1fbmV0d29ya0xvYWQpCisgICAgaWYgKG1fbmV0d29ya0xvYWQpIHsK
KyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgicmVzdGFydE5ldHdvcmtMb2FkOiBDYW5j
ZWxsaW5nIGV4aXN0aW5nIG5ldHdvcmsgbG9hZCBzbyB3ZSBjYW4gcmVzdGFydCB0aGUgbG9hZC4i
KTsKICAgICAgICAgbV9uZXR3b3JrTG9hZC0+Y2FuY2VsKCk7CisgICAgfQogCiAgICAgc3RhcnRO
ZXR3b3JrTG9hZChXVEZNb3ZlKG5ld1JlcXVlc3QpLCBGaXJzdExvYWQ6Ok5vKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJv
eHkuY3BwCmluZGV4IGM1N2NmOTU5ZTNmNzkwMzA5ZjI4YjkwMTQxM2I5YTdmYWU0Zjk4ODEuLmY3
YjZiZWE5MDRmNmY2MDJhNzBkMjlkMTRkZDg4ZWE0OWNmM2ZmODQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcApA
QCAtMzM2LDggKzMzNiwxNCBAQCBib29sIE5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZFJlY2VpdmVT
eW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQwogICAgIHJldHVybiBk
aWRSZWNlaXZlU3luY05ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29k
ZXIsIHJlcGx5RW5jb2Rlcik7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGlkQ2xv
c2UoSVBDOjpDb25uZWN0aW9uJikKK3ZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGlkQ2xvc2Uo
SVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKQogeworI2lmIE9TKERBUldJTikKKyAgICBSRUxF
QVNFX0xPR19FUlJPUihQcm9jZXNzLCAiJXAgLSBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRDbG9z
ZSAoTmV0d29yayBQcm9jZXNzICVkIGNyYXNoKSIsIHRoaXMsIGNvbm5lY3Rpb24ucmVtb3RlUHJv
Y2Vzc0lEKCkpOworI2Vsc2UKKyAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAiJXAgLSBO
ZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRDbG9zZSAoTmV0d29yayBQcm9jZXNzIGNyYXNoKSIsIHRo
aXMpOworI2VuZGlmCisKICAgICAvLyBUaGlzIHdpbGwgY2F1c2UgdXMgdG8gYmUgZGVsZXRlZC4K
ICAgICBuZXR3b3JrUHJvY2Vzc0RpZFRlcm1pbmF0ZShUZXJtaW5hdGlvblJlYXNvbjo6Q3Jhc2gp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXgg
NTlkODAwYWZiNDNiNzQ1MDM5YjBiNDgzMzUxZTQ4NDIzYzUzYTM2NS4uMzM0OTQyMmEyZjhiZGI5
N2Q0ZDllZDk3OTg2Y2Q5ZTUzNWUyNWNlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuY3BwCkBAIC04NDUsOSArODQ1LDE0IEBAIGJvb2wgV2ViUHJvY2Vzc1By
b3h5OjpkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJ
UEM6OkRlCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlk
Q2xvc2UoSVBDOjpDb25uZWN0aW9uJikKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRDbG9zZShJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiB7CisjaWYgT1MoREFSV0lOKQorICAgIFJFTEVB
U0VfTE9HX0lGKGlzUmVsZWFzZUxvZ2dpbmdBbGxvd2VkKCksIFByb2Nlc3MsICIlcCAtIFdlYlBy
b2Nlc3NQcm94eSBkaWRDbG9zZSAod2ViIHByb2Nlc3MgJWQgY3Jhc2gpIiwgdGhpcywgY29ubmVj
dGlvbi5yZW1vdGVQcm9jZXNzSUQoKSk7CisjZWxzZQogICAgIFJFTEVBU0VfTE9HX0lGKGlzUmVs
ZWFzZUxvZ2dpbmdBbGxvd2VkKCksIFByb2Nlc3MsICIlcCAtIFdlYlByb2Nlc3NQcm94eSBkaWRD
bG9zZSAod2ViIHByb2Nlc3MgY3Jhc2gpIiwgdGhpcyk7CisjZW5kaWYKKwogICAgIHByb2Nlc3NE
aWRUZXJtaW5hdGVPckZhaWxlZFRvTGF1bmNoKFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6Q3Jh
c2gpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJMb2FkZXJTdHJhdGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5kZXggNTJkMzcyYTVhY2FlNzczN2ZjMGVmZjQyYTEzMjg4
MjQyNWE3ZWI3MS4uYmFiODYwZTU2NmYxYjVmOTg4MTM1MDg4NzAxY2I3NWYyMWJiMGMyYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRl
Z3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0
cmF0ZWd5LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIw
MTUsIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDEyLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC04MCw2ICs4MCw3IEBACiAKICNkZWZpbmUgUkVMRUFTRV9M
T0dfSVNfQUxMT1dFRCAoV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2Vzc2lvbklEKCkuaXNBbHdh
eXNPbkxvZ2dpbmdBbGxvd2VkKCkpCiAKKyN1bmRlZiBSRUxFQVNFX0xPR19JRl9BTExPV0VECiAj
ZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKFJF
TEVBU0VfTE9HX0lTX0FMTE9XRUQsIE5ldHdvcmssICIlcCAtIFdlYkxvYWRlclN0cmF0ZWd5Ojoi
IGZtdCwgdGhpcywgIyNfX1ZBX0FSR1NfXykKICNkZWZpbmUgUkVMRUFTRV9MT0dfRVJST1JfSUZf
QUxMT1dFRChmbXQsIC4uLikgUkVMRUFTRV9MT0dfRVJST1JfSUYoUkVMRUFTRV9MT0dfSVNfQUxM
T1dFRCwgTmV0d29yaywgIiVwIC0gV2ViTG9hZGVyU3RyYXRlZ3k6OiIgZm10LCB0aGlzLCAjI19f
VkFfQVJHU19fKQogCkBAIC0yNDgsOCArMjQ5LDYgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6
c2NoZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3UK
ICAgICAgICAgc2NoZWR1bGVMb2FkRnJvbU5ldHdvcmtQcm9jZXNzKHJlc291cmNlTG9hZGVyLCBy
ZXNvdXJjZUxvYWRlci5yZXF1ZXN0KCksIHRyYWNraW5nUGFyYW1ldGVycywgc2hvdWxkQ2xlYXJS
ZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCwgbWF4aW11bUJ1ZmZlcmluZ1RpbWUocmVzb3Vy
Y2UpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLQotICAgIFdFQkxPQURFUlNUUkFURUdZX1JF
TEVBU0VfTE9HX0lGX0FMTE9XRUQoInNjaGVkdWxlTG9hZDogVVJMIG5vdCBoYW5kbGVkIGJ5IGFu
eSBoYW5kbGVycyIpOwogfQogCiBib29sIFdlYkxvYWRlclN0cmF0ZWd5Ojp0cnlMb2FkaW5nVXNp
bmdVUkxTY2hlbWVIYW5kbGVyKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgY29uc3Qg
V2ViUmVzb3VyY2VMb2FkZXI6OlRyYWNraW5nUGFyYW1ldGVycyYgdHJhY2tpbmdQYXJhbWV0ZXJz
KQpAQCAtOTE2LDMgKzkxNSw0IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnByaW9yaXRpemVS
ZXNvdXJjZUxvYWRzKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTdWJyZXNvdXJjCiAKICN1bmRlZiBS
RUxFQVNFX0xPR19JRl9BTExPV0VECiAjdW5kZWYgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dF
RAorI3VuZGVmIFJFTEVBU0VfTE9HX0lTX0FMTE9XRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggM2I5ZTBlN2U3YWY5MWU4ZDZlNmQyYjEyNGIw
MzhiY2UzMTUwY2IzYy4uYzg2Y2NmZTQ1OGYwYWQ0MDQzY2FmN2FkNzQ5ZmU5ZDdiNDNkOGJkNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTM3
Nyw2ICszNzcsNyBAQCBzdGF0aWMgY29uc3QgU2Vjb25kcyBwYWdlU2Nyb2xsSHlzdGVyZXNpc0R1
cmF0aW9uIHsgMzAwX21zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsTGF5ZXJWb2xh
dGlsaXR5VGltZXJJbnRlcnZhbCB7IDIwX21zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhp
bXVtTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCB7IDJfcyB9OwogCisjdW5kZWYgUkVMRUFT
RV9MT0dfSUZfQUxMT1dFRAogI2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKGNoYW5uZWws
IGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgY2hh
bm5lbCwgIiVwIC0gW3dlYlBhZ2VJRD0lIiBQUkl1NjQgIl0gV2ViUGFnZTo6IiBmbXQsIHRoaXMs
IG1faWRlbnRpZmllci50b1VJbnQ2NCgpLCAjI19fVkFfQVJHU19fKQogI2RlZmluZSBSRUxFQVNF
X0xPR19FUlJPUl9JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19FUlJP
Ul9JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gW3dlYlBhZ2VJ
RD0lIiBQUkl1NjQgIl0gV2ViUGFnZTo6IiBmbXQsIHRoaXMsIG1faWRlbnRpZmllci50b1VJbnQ2
NCgpLCAjI19fVkFfQVJHU19fKQogCkBAIC02NzQ3LDYgKzY3NDgsNyBAQCB2b2lkIFdlYlBhZ2U6
OnN0b3BBbGxVUkxTY2hlbWVUYXNrcygpCiAKIHZvaWQgV2ViUGFnZTo6cmVnaXN0ZXJVUkxTY2hl
bWVIYW5kbGVyKHVpbnQ2NF90IGhhbmRsZXJJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNjaGVt
ZSkKIHsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3MsICJyZWdpc3RlclVSTFNj
aGVtZUhhbmRsZXI6IFJlZ2lzdGVyZWQgaGFuZGxlciAlIiBQUkl1NjQgIiBmb3IgdGhlICclcycg
c2NoZW1lIiwgaGFuZGxlcklkZW50aWZpZXIsIHNjaGVtZS51dGY4KCkuZGF0YSgpKTsKICAgICBX
ZWJDb3JlOjpMZWdhY3lTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0hhbmRsZWRC
eVNjaGVtZUhhbmRsZXIoc2NoZW1lKTsKICAgICBXZWJDb3JlOjpMZWdhY3lTY2hlbWVSZWdpc3Ry
eTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0NPUlNFbmFibGVkKHNjaGVtZSk7CiAgICAgYXV0byBzY2hl
bWVSZXN1bHQgPSBtX3NjaGVtZVRvVVJMU2NoZW1lSGFuZGxlclByb3h5TWFwLmFkZChzY2hlbWUs
IFdlYlVSTFNjaGVtZUhhbmRsZXJQcm94eTo6Y3JlYXRlKCp0aGlzLCBoYW5kbGVySWRlbnRpZmll
cikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVVJM
U2NoZW1lVGFza1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlVSTFNjaGVtZVRhc2tQcm94eS5jcHAKaW5kZXggOTBhMDY3ZDRiNGExMzQyOTVlMDM4OWRlMmE5
ZmE0NjcxYWNjMjNlZi4uMzIwNGVkZmQyMzBjYTUzNzlhMjJiNTEyYzlmMzQyNjllNWQwZDhlMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVVJMU2NoZW1l
VGFza1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJV
UkxTY2hlbWVUYXNrUHJveHkuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTM4LDkgKzM4LDM2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZUxvYWRlci5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogCisj
ZGVmaW5lIFJFTEVBU0VfTE9HX0lTX0FMTE9XRUQgKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNl
c3Npb25JRCgpLmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpKQorCisjdW5kZWYgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRAorI2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBS
RUxFQVNFX0xPR19JRihSRUxFQVNFX0xPR19JU19BTExPV0VELCBMb2FkaW5nLCAiJXAgLSBXZWJV
UkxTY2hlbWVUYXNrUHJveHk6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQorCisjZGVmaW5l
IFdFQlVSTFNDSEVNRVRBU0tQUk9YWV9SRUxFQVNFX0xPR19TVEFOREFSRF9URU1QTEFURSAiW3Nj
aGVtZUhhbmRsZXI9JSIgUFJJdTY0ICIsIHdlYlBhZ2VJRD0lIiBQUkl1NjQgIiwgZnJhbWVJRD0l
IiBQUkl1NjQgIiwgdGFza0lEPSVsdV0gV2ViVVJMU2NoZW1lVGFza1Byb3h5OjoiCisjZGVmaW5l
IFdFQlVSTFNDSEVNRVRBU0tQUk9YWV9SRUxFQVNFX0xPR19TVEFOREFSRF9QQVJBTUVURVJTIG1f
dXJsU2NoZW1lSGFuZGxlci5pZGVudGlmaWVyKCksIHBhZ2VJREZyb21XZWJGcmFtZShtX2ZyYW1l
KSwgZnJhbWVJREZyb21XZWJGcmFtZShtX2ZyYW1lKSwgbV9pZGVudGlmaWVyCisKKyNkZWZpbmUg
V0VCVVJMU0NIRU1FVEFTS1BST1hZX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJF
TEVBU0VfTE9HX0lGKFJFTEVBU0VfTE9HX0lTX0FMTE9XRUQsIE5ldHdvcmssIFdFQlVSTFNDSEVN
RVRBU0tQUk9YWV9SRUxFQVNFX0xPR19TVEFOREFSRF9URU1QTEFURSBmbXQsIFdFQlVSTFNDSEVN
RVRBU0tQUk9YWV9SRUxFQVNFX0xPR19TVEFOREFSRF9QQVJBTUVURVJTLCAjI19fVkFfQVJHU19f
KQorCisKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKK3N0
YXRpYyB1aW50NjRfdCBwYWdlSURGcm9tV2ViRnJhbWUoY29uc3QgUmVmUHRyPFdlYkZyYW1lPiYg
ZnJhbWUpCit7CisgICAgaWYgKGZyYW1lKSB7CisgICAgICAgIGlmIChhdXRvKiBwYWdlID0gZnJh
bWUtPnBhZ2UoKSkKKyAgICAgICAgICAgIHJldHVybiBwYWdlLT5pZGVudGlmaWVyKCkudG9VSW50
NjQoKTsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1aW50NjRfdCBmcmFtZUlE
RnJvbVdlYkZyYW1lKGNvbnN0IFJlZlB0cjxXZWJGcmFtZT4mIGZyYW1lKQoreworICAgIGlmIChm
cmFtZSkKKyAgICAgICAgcmV0dXJuIGZyYW1lLT5mcmFtZUlEKCkudG9VSW50NjQoKTsKKyAgICBy
ZXR1cm4gMDsKK30KKwogV2ViVVJMU2NoZW1lVGFza1Byb3h5OjpXZWJVUkxTY2hlbWVUYXNrUHJv
eHkoV2ViVVJMU2NoZW1lSGFuZGxlclByb3h5JiBoYW5kbGVyLCBSZXNvdXJjZUxvYWRlciYgbG9h
ZGVyLCBXZWJGcmFtZSYgZnJhbWUpCiAgICAgOiBtX3VybFNjaGVtZUhhbmRsZXIoaGFuZGxlcikK
ICAgICAsIG1fY29yZUxvYWRlcigmbG9hZGVyKQpAQCAtNTQsMTIgKzgxLDE0IEBAIHZvaWQgV2Vi
VVJMU2NoZW1lVGFza1Byb3h5OjpzdGFydExvYWRpbmcoKQogewogICAgIEFTU0VSVChtX2NvcmVM
b2FkZXIpOwogICAgIEFTU0VSVChtX2ZyYW1lKTsKKyAgICBXRUJVUkxTQ0hFTUVUQVNLUFJPWFlf
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic3RhcnRMb2FkaW5nIik7CiAgICAgbV91cmxTY2hlbWVI
YW5kbGVyLnBhZ2UoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlN0YXJ0VVJMU2NoZW1l
VGFzayhVUkxTY2hlbWVUYXNrUGFyYW1ldGVycyB7IG1fdXJsU2NoZW1lSGFuZGxlci5pZGVudGlm
aWVyKCksIG1fY29yZUxvYWRlci0+aWRlbnRpZmllcigpLCBtX3JlcXVlc3QsIG1fZnJhbWUtPmlu
Zm8oKSB9KSk7CiB9CiAKIHZvaWQgV2ViVVJMU2NoZW1lVGFza1Byb3h5OjpzdG9wTG9hZGluZygp
CiB7CiAgICAgQVNTRVJUKG1fY29yZUxvYWRlcik7CisgICAgV0VCVVJMU0NIRU1FVEFTS1BST1hZ
X1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInN0b3BMb2FkaW5nIik7CiAgICAgbV91cmxTY2hlbWVI
YW5kbGVyLnBhZ2UoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlN0b3BVUkxTY2hlbWVU
YXNrKG1fdXJsU2NoZW1lSGFuZGxlci5pZGVudGlmaWVyKCksIG1fY29yZUxvYWRlci0+aWRlbnRp
ZmllcigpKSk7CiAgICAgbV9jb3JlTG9hZGVyID0gbnVsbHB0cjsKICAgICBtX2ZyYW1lID0gbnVs
bHB0cjsKQEAgLTc2LDcgKzEwNSw3IEBAIHZvaWQgV2ViVVJMU2NoZW1lVGFza1Byb3h5OjpkaWRQ
ZXJmb3JtUmVkaXJlY3Rpb24oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlCiAgICAgfQog
CiAgICAgaWYgKG1fd2FpdGluZ0ZvckNvbXBsZXRpb25IYW5kbGVyKSB7Ci0gICAgICAgIFJFTEVB
U0VfTE9HKExvYWRpbmcsICJSZWNlaXZlZCByZWRpcmVjdCBkdXJpbmcgcHJldmlvdXMgcmVkaXJl
Y3QgcHJvY2Vzc2luZywgcXVldWluZyBpdC4iKTsKKyAgICAgICAgV0VCVVJMU0NIRU1FVEFTS1BS
T1hZX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZFBlcmZvcm1SZWRpcmVjdGlvbjogUmVjZWl2
ZWQgcmVkaXJlY3QgZHVyaW5nIHByZXZpb3VzIHJlZGlyZWN0IHByb2Nlc3NpbmcsIHF1ZXVpbmcg
aXQuIik7CiAgICAgICAgIHF1ZXVlVGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpLCByZWRpcmVjdFJlc3BvbnNlID0gV1RGTW92ZShyZWRpcmVjdFJlc3BvbnNlKSwgcmVx
dWVzdCA9IFdURk1vdmUocmVxdWVzdCksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBkaWRQZXJmb3JtUmVkaXJl
Y3Rpb24oV1RGTW92ZShyZWRpcmVjdFJlc3BvbnNlKSwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgICAgICB9KTsKQEAgLTk4LDcgKzEyNyw3IEBAIHZv
aWQgV2ViVVJMU2NoZW1lVGFza1Byb3h5OjpkaWRQZXJmb3JtUmVkaXJlY3Rpb24oV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZSYmIHJlCiB2b2lkIFdlYlVSTFNjaGVtZVRhc2tQcm94eTo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewogICAgIGlm
IChtX3dhaXRpbmdGb3JDb21wbGV0aW9uSGFuZGxlcikgewotICAgICAgICBSRUxFQVNFX0xPRyhM
b2FkaW5nLCAiUmVjZWl2ZWQgcmVzcG9uc2UgZHVyaW5nIHJlZGlyZWN0IHByb2Nlc3NpbmcsIHF1
ZXVpbmcgaXQuIik7CisgICAgICAgIFdFQlVSTFNDSEVNRVRBU0tQUk9YWV9SRUxFQVNFX0xPR19J
Rl9BTExPV0VEKCJkaWRSZWNlaXZlUmVzcG9uc2U6IFJlY2VpdmVkIHJlc3BvbnNlIGR1cmluZyBy
ZWRpcmVjdCBwcm9jZXNzaW5nLCBxdWV1aW5nIGl0LiIpOwogICAgICAgICBxdWV1ZVRhc2soW3Ro
aXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcmVzcG9uc2VdIHsKICAgICAgICAg
ICAgIGRpZFJlY2VpdmVSZXNwb25zZShyZXNwb25zZSk7CiAgICAgICAgIH0pOwpAQCAtMTIxLDcg
KzE1MCw3IEBAIHZvaWQgV2ViVVJMU2NoZW1lVGFza1Byb3h5OjpkaWRSZWNlaXZlRGF0YShzaXpl
X3Qgc2l6ZSwgY29uc3QgdWludDhfdCogZGF0YSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KG1fd2FpdGluZ0ZvckNvbXBsZXRpb25IYW5kbGVyKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKExv
YWRpbmcsICJSZWNlaXZlZCBkYXRhIGR1cmluZyByZXNwb25zZSBwcm9jZXNzaW5nLCBxdWV1aW5n
IGl0LiIpOworICAgICAgICBXRUJVUkxTQ0hFTUVUQVNLUFJPWFlfUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRCgiZGlkUmVjZWl2ZURhdGE6IFJlY2VpdmVkIGRhdGEgZHVyaW5nIHJlc3BvbnNlIHByb2Nl
c3NpbmcsIHF1ZXVpbmcgaXQuIik7CiAgICAgICAgIFZlY3Rvcjx1aW50OF90PiBkYXRhVmVjdG9y
OwogICAgICAgICBkYXRhVmVjdG9yLmFwcGVuZChkYXRhLCBzaXplKTsKICAgICAgICAgcXVldWVU
YXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGRhdGFWZWN0b3IgPSBX
VEZNb3ZlKGRhdGFWZWN0b3IpXSB7CkBAIC0xMzcsNiArMTY2LDcgQEAgdm9pZCBXZWJVUkxTY2hl
bWVUYXNrUHJveHk6OmRpZFJlY2VpdmVEYXRhKHNpemVfdCBzaXplLCBjb25zdCB1aW50OF90KiBk
YXRhKQogCiB2b2lkIFdlYlVSTFNjaGVtZVRhc2tQcm94eTo6ZGlkQ29tcGxldGUoY29uc3QgUmVz
b3VyY2VFcnJvciYgZXJyb3IpCiB7CisgICAgV0VCVVJMU0NIRU1FVEFTS1BST1hZX1JFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoImRpZENvbXBsZXRlIik7CiAgICAgaWYgKCFoYXNMb2FkZXIoKSkKICAg
ICAgICAgcmV0dXJuOwogCkBAIC0xNzMsMyArMjAzLDkgQEAgdm9pZCBXZWJVUkxTY2hlbWVUYXNr
UHJveHk6OnByb2Nlc3NOZXh0UGVuZGluZ1Rhc2soKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKKyN1bmRlZiBSRUxFQVNFX0xPR19J
U19BTExPV0VECisjdW5kZWYgV0VCVVJMU0NIRU1FVEFTS1BST1hZX1JFTEVBU0VfTE9HX1NUQU5E
QVJEX1RFTVBMQVRFCisjdW5kZWYgV0VCVVJMU0NIRU1FVEFTS1BST1hZX1JFTEVBU0VfTE9HX1NU
QU5EQVJEX1BBUkFNRVRFUlMKKyN1bmRlZiBXRUJVUkxTQ0hFTUVUQVNLUFJPWFlfUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4
IGM4MThmYjIyMzkxNjk1ZDQ1NDNhYTAxMTI5MmNkZTc5OGY1NWQ4ODAuLjVmYzc2ZWM3MjlmOGMy
MWQyYmU0OGFlMjE1M2RmNmZlOWQwZGQ3NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKQEAgLTIxNiw2ICsyMTYsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvVlA5VXRp
bGl0aWVzQ29jb2EuaD4KICNlbmRpZgogCisjdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRAog
I2RlZmluZSBSRUxFQVNFX0xPR19TRVNTSU9OX0lEIChtX3Nlc3Npb25JRCA/IG1fc2Vzc2lvbklE
LT50b1VJbnQ2NCgpIDogMCkKICNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChjaGFubmVs
LCBmbXQsIC4uLikgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIGNo
YW5uZWwsICIlcCAtIFtzZXNzaW9uSUQ9JSIgUFJJdTY0ICJdIFdlYlByb2Nlc3M6OiIgZm10LCB0
aGlzLCBSRUxFQVNFX0xPR19TRVNTSU9OX0lELCAjI19fVkFfQVJHU19fKQogI2RlZmluZSBSRUxF
QVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19F
UlJPUl9JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gW3Nlc3Np
b25JRD0lIiBQUkl1NjQgIl0gV2ViUHJvY2Vzczo6IiBmbXQsIHRoaXMsIFJFTEVBU0VfTE9HX1NF
U1NJT05fSUQsICMjX19WQV9BUkdTX18pCkBAIC0xMTEwLDYgKzExMTEsMTIgQEAgdm9pZCBXZWJQ
cm9jZXNzOjpsb2dEaWFnbm9zdGljTWVzc2FnZUZvck5ldHdvcmtQcm9jZXNzQ3Jhc2goKQogCiB2
b2lkIFdlYlByb2Nlc3M6Om5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbkNsb3NlZChOZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24qIGNvbm5lY3Rpb24pCiB7CisjaWYgT1MoREFSV0lOKQorICAgIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoTG9hZGluZywgIm5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbkNsb3Nl
ZDogTmV0d29ya1Byb2Nlc3MgKCVkKSBjbG9zZWQgaXRzIGNvbm5lY3Rpb24gKENyYXNoZWQpIiwg
Y29ubmVjdGlvbiA/IGNvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5yZW1vdGVQcm9jZXNzSUQoKSA6
IDApOworI2Vsc2UKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcsICJuZXR3b3Jr
UHJvY2Vzc0Nvbm5lY3Rpb25DbG9zZWQ6IE5ldHdvcmtQcm9jZXNzIGNsb3NlZCBpdHMgY29ubmVj
dGlvbiAoQ3Jhc2hlZCkiKTsKKyNlbmRpZgorCiAgICAgQVNTRVJUKG1fbmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uKTsKICAgICBBU1NFUlRfVU5VU0VEKGNvbm5lY3Rpb24sIG1fbmV0d29ya1Byb2Nl
c3NDb25uZWN0aW9uID09IGNvbm5lY3Rpb24pOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>