<?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>202279</bug_id>
          
          <creation_ts>2019-09-26 11:15:21 -0700</creation_ts>
          <short_desc>[iOS] Lock screen controls can fail to play web content</short_desc>
          <delta_ts>2019-09-27 09:27:53 -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>New Bugs</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="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1574543</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-09-26 11:15:21 -0700</bug_when>
    <thetext>[iOS] Lock screen controls can fail to play web content</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574550</commentid>
    <comment_count>1</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-09-26 11:22:36 -0700</bug_when>
    <thetext>&lt;rdar://50920870&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574551</commentid>
    <comment_count>2</comment_count>
      <attachid>379663</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-09-26 11:23:24 -0700</bug_when>
    <thetext>Created attachment 379663
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574563</commentid>
    <comment_count>3</comment_count>
      <attachid>379663</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-26 11:51:02 -0700</bug_when>
    <thetext>Comment on attachment 379663
Patch

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

&gt; Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.h:61
&gt; +        virtual void refClient() = 0;

Should these be private?

&gt; Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm:72
&gt; +    return *new ProcessTaskStateObserver(client);

Missing the adoptRef(), so this will leak.

&gt; Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm:95
&gt; +void ProcessTaskStateObserver::invalidate()

Who is calling this? I could not find a caller.

&gt; Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm:104
&gt; +    return makeRefPtr(m_client);

Note that this is not generally thread safe, what guarantees that the destructor of m_client is not currently running on another thread.

&gt; Source/WebKit/WebProcess/WebProcess.h:455
&gt; +    void derefClient() final { ref(); }

should be deref() :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574577</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-09-26 12:11:04 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; Comment on attachment 379663 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=379663&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.h:61
&gt; &gt; +        virtual void refClient() = 0;
&gt; 
&gt; Should these be private?

Sure!

&gt; &gt; Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm:72
&gt; &gt; +    return *new ProcessTaskStateObserver(client);
&gt; 
&gt; Missing the adoptRef(), so this will leak.

Oof. Will fix.

&gt; &gt; Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm:95
&gt; &gt; +void ProcessTaskStateObserver::invalidate()
&gt; 
&gt; Who is calling this? I could not find a caller.

No one. The only client so far is WebProcess, which is never destroyed, so there&apos;s no good place to call invalidate (nor any need).

&gt; &gt; Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm:104
&gt; &gt; +    return makeRefPtr(m_client);
&gt; 
&gt; Note that this is not generally thread safe, what guarantees that the
&gt; destructor of m_client is not currently running on another thread.

The only guarantee is that the client has to call invalidate() before their own destructor is called (because at that point their own refcount will be zero, and you can&apos;t ref a zero ref count object). Again, since the only client so far is WebProcess, the client is never destroyed, so NBD, but if any one else adopts this object, they&apos;ll need to beware.

&gt; &gt; Source/WebKit/WebProcess/WebProcess.h:455
&gt; &gt; +    void derefClient() final { ref(); }
&gt; 
&gt; should be deref() :(

Gah, copy pasta.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574585</commentid>
    <comment_count>5</comment_count>
      <attachid>379667</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-09-26 12:24:27 -0700</bug_when>
    <thetext>Created attachment 379667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574589</commentid>
    <comment_count>6</comment_count>
      <attachid>379669</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-09-26 12:49:35 -0700</bug_when>
    <thetext>Created attachment 379669
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574645</commentid>
    <comment_count>7</comment_count>
      <attachid>379685</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-09-26 15:01:36 -0700</bug_when>
    <thetext>Created attachment 379685
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574651</commentid>
    <comment_count>8</comment_count>
      <attachid>379685</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-26 15:13:35 -0700</bug_when>
    <thetext>Comment on attachment 379685
Patch

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

r=me with changes. Also please fix build failures on EWS.

&gt; Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm:84
&gt; +    invalidate();

Why not simply m_delegate.get().taskStateChangedCallback = nil; ? We don&apos;t really need to lock and null out the client.

&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:318
&gt; +    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), [assertion = WTFMove(uiProcessAssertion)] { });

I seem to remember you need to explicitly call [assertion invalidate]; before deallocating it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574653</commentid>
    <comment_count>9</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-09-26 15:17:35 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #8)
&gt; Comment on attachment 379685 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=379685&amp;action=review
&gt; 
&gt; r=me with changes. Also please fix build failures on EWS.
&gt; 
&gt; &gt; Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm:84
&gt; &gt; +    invalidate();
&gt; 
&gt; Why not simply m_delegate.get().taskStateChangedCallback = nil; ? We don&apos;t
&gt; really need to lock and null out the client.

Probably not given the caller of setTaskState() is also holding a ref to the observer.

&gt; &gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:318
&gt; &gt; +    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), [assertion = WTFMove(uiProcessAssertion)] { });
&gt; 
&gt; I seem to remember you need to explicitly call [assertion invalidate];
&gt; before deallocating it.

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574666</commentid>
    <comment_count>10</comment_count>
      <attachid>379692</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-09-26 15:53:09 -0700</bug_when>
    <thetext>Created attachment 379692
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574680</commentid>
    <comment_count>11</comment_count>
      <attachid>379696</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-09-26 16:39:34 -0700</bug_when>
    <thetext>Created attachment 379696
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574841</commentid>
    <comment_count>12</comment_count>
      <attachid>379696</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-27 09:27:52 -0700</bug_when>
    <thetext>Comment on attachment 379696
Patch for landing

Clearing flags on attachment: 379696

Committed r250428: &lt;https://trac.webkit.org/changeset/250428&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574842</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-27 09:27:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379663</attachid>
            <date>2019-09-26 11:23:24 -0700</date>
            <delta_ts>2019-09-26 12:24:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202279-20190926112324.patch</filename>
            <type>text/plain</type>
            <size>9794</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmYjhiNmVjNWZkYzcyOTk4
MWFhOTE1MTg5ZDc0OThiYTlmODU4NDUuLjNjZWU5ZGE1OTM5NmU0NjUyMTYxNGQ0YjViZTkzMGNi
NTg3ZWFlMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTktMDktMjYgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTG9jayBzY3JlZW4gY29u
dHJvbHMgY2FuIGZhaWwgdG8gcGxheSB3ZWIgY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBwbGF5YmFjayBpcyBwYXVzZWQgZnJvbSB0
aGUgbG9jayBzY3JlZW4gdmlhIE5vdyBQbGF5aW5nIGNvbnRyb2xzLCB0aGUgV2ViUHJvY2VzcywK
KyAgICAgICAgVUlQcm9jZXNzLCBhbmQgTmV0d29yayBQcm9jZXNzIHdpbGwgYWxsIGJlIHN1c3Bl
bmRlZC4gTWVkaWFSZW1vdGUgd2lsbCB0YWtlIGFuIGFzc2VydGlvbgorICAgICAgICBhbmQgd2Fr
ZSB1cCB0aGUgV2ViUHJvY2VzcyB3aGVuIGEgcmVtb3RlIGNvbnRyb2wgY29tbWFuZCB0byAicGxh
eSIgaXMgc2VudCB2aWEgdGhlIE5vdworICAgICAgICBQbGF5aW5nIGNvbnRyb2xzLiBIb3dldmVy
LCBpZiBhIHN5bmNocm9ub3VzIG1lc3NhZ2UgdG8gdGhlIChzdXNwZW5kZWQpIE5ldHdvcmsgb3Ig
VUlQcm9jZXNzCisgICAgICAgIGlzIGlzc3VlZCBiZWZvcmUgdGhlIG5vdGlmaWNhdGlvbiB0aGF0
IHRoZSBwcm9jZXNzIHdhcyB1bmV4cGVjdGVkbHkgdW5zdXNwZW5kZWQgY2FuIGJlCisgICAgICAg
IGlzc3VlZCAod2hpY2ggd2lsbCBzdWJzZXF1ZW50bHkgdW5zdXNwZW5kIHRoZSBVSVByb2Nlc3Mg
YW5kIE5ldHdvcmsgcHJvY2VzcyksIHdlIGNhbiBnZXQKKyAgICAgICAgaW50byBhIGRlYWRsb2Nr
ZWQgc3RhdGUgd2hlcmUgdGhlIG1haW4gdGhyZWFkIGlzIGJsb2NrZWQgb24gdGhlIHN5bmMgbWVz
c2FnZSB0byBhIHN1c3BlbmRlZAorICAgICAgICBwcm9jZXNzLgorCisgICAgICAgIFRvIHdvcmsg
YXJvdW5kIHRoaXMgcHJvYmxlbSwgbW92ZSBhbGwgdGhlIHByb2Nlc3NpbmcgZnJvbSBQcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXIgdG8gYQorICAgICAgICBXb3JrUXVldWUgLyBiYWNrZ3JvdW5kIHRo
cmVhZC4gVGhpcyByZXF1aXJlcyBtYWtpbmcgdGhlIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciB0
aHJlYWQtc2FmZSwKKyAgICAgICAgdGhvdWdoIGl0cyBvbmx5IGN1cnJlbnQgY2xpZW50IGlzIGEg
U2luZ2xldG9uICh0aGUgV2ViUHJvY2VzcyBjbGFzcyksIGFuZCBzbyB0aGUgcmlzayBvZgorICAg
ICAgICB0aHJlYWQgc2FmZXR5IGlzc3VlcyBpcyBjdXJyZW50bHkgbWluaW1hbC4gUmVnYXJkbGVz
cywgYWNjZXNzIHRvIHRoZSBDbGllbnQgcG9pbnRlciBtdXN0IGJlCisgICAgICAgIGd1YXJkZWQg
YnkgYSBMb2NrLCBhbmQgdGhlIENsaWVudCBpdHNlbGYgbXVzdCBiZWNvbWUgcmVmLWNvdW50ZWQs
IHNvIHRoYXQgdGhlCisgICAgICAgIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciBjYW4gcmVmIGl0
cyBDbGllbnQgKHRoZSBXZWJQcm9jZXNzKSBkdXJpbmcgY2FsbGJhY2sgcHJvY2Vzc2luZy4KKwor
ICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaDoKKyAgICAg
ICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpDbGllbnQ6OnJlZik6CisgICAg
ICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6Q2xpZW50OjpkZXJlZik6Cisg
ICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0Q2xpZW50KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpjbGllbnQp
OiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2
ZXIubW06CisgICAgICAgICgtW1dLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyRGVsZWdhdGUgcHJv
Y2Vzczp0YXNrU3RhdGVEaWRDaGFuZ2U6XSk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNr
U3RhdGVPYnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0
ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpQ
cm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6On5Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIpOgorICAg
ICAgICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmludmFsaWRhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmNsaWVudCk6CisgICAgICAg
IChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0VGFza1N0YXRlKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjptX3Rhc2tT
dGF0ZU9ic2VydmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKwogMjAx
OS0wOC0wOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBs
ZW1lbnQgdGhlIFJlbW90ZSBQbGF5YmFjayBBUEkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0NvY29hL1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5oCmluZGV4IDFmOTYwOTQ3NTE3
YzI1ODU5OWE2ZThkMTBjYzIzMTgwNDllMWFiNmEuLjI3ZTViYzc0ZjA1YzdmMmY1NzIyMDMyOTM2
ZTllZjdiNmUyNjIxY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1By
b2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29h
L1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5oCkBAIC0yNywxOSArMjcsMjEgQEAKIAogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCiAKKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKyNp
bmNsdWRlIDx3dGYvV29ya1F1ZXVlLmg+CiAKIE9CSkNfQ0xBU1MgV0tQcm9jZXNzVGFza1N0YXRl
T2JzZXJ2ZXJEZWxlZ2F0ZTsKIE9CSkNfQ0xBU1MgQktTUHJvY2VzczsKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKLWNsYXNzIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciB7CitjbGFzcyBQcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyPiB7CiBwdWJsaWM6CiAgICAgY2xhc3MgQ2xpZW50OwogCi0gICAgUHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCk7Ci0gICAgZXhwbGljaXQgUHJvY2Vzc1Rhc2tTdGF0ZU9i
c2VydmVyKENsaWVudCYpOworICAgIHN0YXRpYyBSZWY8UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVy
PiBjcmVhdGUoQ2xpZW50Jik7CiAgICAgflByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcigpOwogICAg
IAogICAgIGVudW0gVGFza1N0YXRlIHsKQEAgLTUyLDIwICs1NCwyOSBAQCBwdWJsaWM6CiAgICAg
cHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DbGllbnQoKSA9IGRlZmF1bHQ7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKFRhc2tTdGF0ZSkgPSAwOwotICAg
IH07CiAKLSAgICB2b2lkIHNldENsaWVudChDbGllbnQmIGNsaWVudCkgeyBtX2NsaWVudCA9ICZj
bGllbnQ7IH0KLSAgICBDbGllbnQqIGNsaWVudCgpIHsgcmV0dXJuIG1fY2xpZW50OyB9CisgICAg
ICAgIHZvaWQgcmVmKCkgeyByZWZDbGllbnQoKTsgfQorICAgICAgICB2b2lkIGRlcmVmKCkgeyBk
ZXJlZkNsaWVudCgpOyB9CisKKyAgICAgICAgdmlydHVhbCB2b2lkIHJlZkNsaWVudCgpID0gMDsK
KyAgICAgICAgdmlydHVhbCB2b2lkIGRlcmVmQ2xpZW50KCkgPSAwOworICAgIH07CiAKKyAgICB2
b2lkIGludmFsaWRhdGUoKTsKICAgICBUYXNrU3RhdGUgdGFza1N0YXRlKCkgY29uc3QgeyByZXR1
cm4gbV90YXNrU3RhdGU7IH0KIAogcHJpdmF0ZToKKyAgICBleHBsaWNpdCBQcm9jZXNzVGFza1N0
YXRlT2JzZXJ2ZXIoQ2xpZW50Jik7CiAgICAgdm9pZCBzZXRUYXNrU3RhdGUoVGFza1N0YXRlKTsK
IAotICAgIENsaWVudCogbV9jbGllbnQgeyBudWxscHRyIH07CisgICAgUmVmUHRyPENsaWVudD4g
Y2xpZW50KCk7CisKKyAgICBDbGllbnQqIG1fY2xpZW50OworICAgIExvY2sgbV9jbGllbnRMb2Nr
OwogICAgIFRhc2tTdGF0ZSBtX3Rhc2tTdGF0ZSB7IE5vbmUgfTsKICAgICBSZXRhaW5QdHI8QktT
UHJvY2Vzcz4gbV9wcm9jZXNzOwogICAgIFJldGFpblB0cjxXS1Byb2Nlc3NUYXNrU3RhdGVPYnNl
cnZlckRlbGVnYXRlPiBtX2RlbGVnYXRlOworICAgIFJlZjxXb3JrUXVldWU+IG1fd29ya1F1ZXVl
OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvUHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvUHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyLm1tCmluZGV4IDkzMjM5YTJkYWM3ODE2YzYwOWVmMzNmZTlhMTll
MDg5NjM1NWNiYmIuLjY0YWFkZjg2OTM5NzkzZWQzNTU0OTY1NDMyMzk1NmE0NDNkNDVjOTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1Byb2Nlc3NUYXNrU3RhdGVPYnNl
cnZlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRl
T2JzZXJ2ZXIubW0KQEAgLTQwLDYgKzQwLDcgQEAgdHlwZWRlZiB2b2lkKF5UYXNrU3RhdGVDaGFu
Z2VkQ2FsbGJhY2tUeXBlKShCS1NQcm9jZXNzVGFza1N0YXRlKTsKIAogQGludGVyZmFjZSBXS1By
b2Nlc3NUYXNrU3RhdGVPYnNlcnZlckRlbGVnYXRlIDogTlNPYmplY3Q8QktTUHJvY2Vzc0RlbGVn
YXRlPgogQHByb3BlcnR5IChjb3B5KSBUYXNrU3RhdGVDaGFuZ2VkQ2FsbGJhY2tUeXBlIHRhc2tT
dGF0ZUNoYW5nZWRDYWxsYmFjazsKK0Bwcm9wZXJ0eSAoYXNzaWduKSBSZWZQdHI8V29ya1F1ZXVl
PiB3b3JrUXVldWU7CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS1Byb2Nlc3NUYXNrU3RhdGVP
YnNlcnZlckRlbGVnYXRlCkBAIC00NywxMCArNDgsMTIgQEAgLSAodm9pZClwcm9jZXNzOihCS1NQ
cm9jZXNzICopcHJvY2VzcyB0YXNrU3RhdGVEaWRDaGFuZ2U6KEJLU1Byb2Nlc3NUYXNrU3RhdGUp
bmUKIHsKICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC1bV0tQcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXJEZWxlZ2F0ZSBwcm9jZXNzOnRhc2tTdGF0ZURpZENoYW5nZTpdLCBw
cm9jZXNzKCVwKSwgbmV3U3RhdGUoJWQpIiwgc2VsZiwgcHJvY2VzcywgKGludCluZXdTdGF0ZSk7
CiAKLSAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeewotICAg
ICAgICBpZiAoc2VsZi50YXNrU3RhdGVDaGFuZ2VkQ2FsbGJhY2spCi0gICAgICAgICAgICBzZWxm
LnRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFjayhuZXdTdGF0ZSk7Ci0gICAgfSk7CisgICAgaWYgKGF1
dG8gd29ya1F1ZXVlID0gX3dvcmtRdWV1ZSkgeworICAgICAgICB3b3JrUXVldWUtPmRpc3BhdGNo
KFtwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYpLCBuZXdTdGF0ZV0geworICAgICAgICAg
ICAgaWYgKGF1dG8gY2FsbGJhY2sgPSBwcm90ZWN0ZWRTZWxmLmdldCgpLnRhc2tTdGF0ZUNoYW5n
ZWRDYWxsYmFjaykKKyAgICAgICAgICAgICAgICBjYWxsYmFjayhuZXdTdGF0ZSk7CisgICAgICAg
IH0pOworICAgIH0KIH0KIEBlbmQKIApAQCAtNjQsMjYgKzY3LDQxIEBAIHN0YXRpYyBQcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSB0b1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlclRh
c2tTdGF0ZShCCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZl
cjo6VGFza1N0YXRlPihzdGF0ZSk7CiB9CiAKLVByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6UHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCkKLSAgICA6IG1fcHJvY2VzcyhbZ2V0QktTUHJvY2Vzc0Ns
YXNzKCkgY3VycmVudFByb2Nlc3NdKQorUmVmPFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcj4gUHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpjcmVhdGUoQ2xpZW50JiBjbGllbnQpCit7CisgICAgcmV0
dXJuICpuZXcgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKGNsaWVudCk7Cit9CisKK1Byb2Nlc3NU
YXNrU3RhdGVPYnNlcnZlcjo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKENsaWVudCYgY2xpZW50
KQorICAgIDogbV9jbGllbnQoJmNsaWVudCkKKyAgICAsIG1fcHJvY2VzcyhbZ2V0QktTUHJvY2Vz
c0NsYXNzKCkgY3VycmVudFByb2Nlc3NdKQogICAgICwgbV9kZWxlZ2F0ZShhZG9wdE5TKFtbV0tQ
cm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pKQorICAgICwgbV93
b3JrUXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoIlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciBXb3Jr
UXVldWUiKSkKIHsKICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gUHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoKSwgbV9wcm9j
ZXNzKCVwKSIsIHRoaXMsIG1fcHJvY2Vzcy5nZXQoKSk7CiAgICAgbV9kZWxlZ2F0ZS5nZXQoKS50
YXNrU3RhdGVDaGFuZ2VkQ2FsbGJhY2sgPSBbdGhpc10gKEJLU1Byb2Nlc3NUYXNrU3RhdGUgc3Rh
dGUpIHsKICAgICAgICAgc2V0VGFza1N0YXRlKHRvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyVGFz
a1N0YXRlKHN0YXRlKSk7CiAgICAgfTsKKyAgICBtX2RlbGVnYXRlLmdldCgpLndvcmtRdWV1ZSA9
IG1fd29ya1F1ZXVlLmNvcHlSZWYoKTsKICAgICBtX3Byb2Nlc3MuZ2V0KCkuZGVsZWdhdGUgPSBt
X2RlbGVnYXRlLmdldCgpOwogfQogCi1Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlByb2Nlc3NU
YXNrU3RhdGVPYnNlcnZlcihDbGllbnQmIGNsaWVudCkKLSAgICA6IFByb2Nlc3NUYXNrU3RhdGVP
YnNlcnZlcigpCitQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6On5Qcm9jZXNzVGFza1N0YXRlT2Jz
ZXJ2ZXIoKQogewotICAgIHNldENsaWVudChjbGllbnQpOworICAgIG1fZGVsZWdhdGUuZ2V0KCku
d29ya1F1ZXVlID0gbnVsbHB0cjsKKyAgICBtX2RlbGVnYXRlLmdldCgpLnRhc2tTdGF0ZUNoYW5n
ZWRDYWxsYmFjayA9IG5pbDsKIH0KIAotUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjp+UHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyKCkKK3ZvaWQgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjppbnZh
bGlkYXRlKCkKIHsKLSAgICBtX2RlbGVnYXRlLmdldCgpLnRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFj
ayA9IG5pbDsKKyAgICBMb2NrSG9sZGVyIGhvbGRlcihtX2NsaWVudExvY2spOworICAgIG1fY2xp
ZW50ID0gbnVsbHB0cjsKK30KKworYXV0byBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmNsaWVu
dCgpIC0+IFJlZlB0cjxDbGllbnQ+Cit7CisgICAgTG9ja0hvbGRlciBob2xkZXIobV9jbGllbnRM
b2NrKTsKKyAgICByZXR1cm4gbWFrZVJlZlB0cihtX2NsaWVudCk7CiB9CiAKIHZvaWQgUHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyOjpzZXRUYXNrU3RhdGUoVGFza1N0YXRlIHN0YXRlKQpAQCAtOTIs
OCArMTEwLDggQEAgdm9pZCBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OnNldFRhc2tTdGF0ZShU
YXNrU3RhdGUgc3RhdGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fdGFza1N0YXRlID0gc3Rh
dGU7Ci0gICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+cHJvY2Vzc1Rhc2tTdGF0
ZURpZENoYW5nZShzdGF0ZSk7CisgICAgaWYgKGF1dG8gcHJvdGVjdGVkQ2xpZW50ID0gY2xpZW50
KCkpCisgICAgICAgIHByb3RlY3RlZENsaWVudC0+cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShz
dGF0ZSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRl
eCA2MGQ0YzdiN2JhNzUzZTAzNGI2YWMyMTBhNTE4MDI1MTQzZTRiNjViLi41ZWIzODBhYmRiMWYy
Y2JhYjE3YjVhZTdjYmZhZDM3MGQ1YzQ3YzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCkBAIC0xOTIsNiArMTkyLDcgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2Vzcygp
CiAgICAgLCBtX25vblZpc2libGVQcm9jZXNzQ2xlYW51cFRpbWVyKCp0aGlzLCAmV2ViUHJvY2Vz
czo6bm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwVGltZXJGaXJlZCkKICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQogICAgICwgbV93ZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIoW3RoaXNdKGJvb2wgaXNI
b2xkaW5nTG9ja2VkRmlsZXMpIHsgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNz
YWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpTZXRJc0hvbGRpbmdMb2NrZWRGaWxlcyhpc0hvbGRpbmdM
b2NrZWRGaWxlcyksIDApOyB9KQorICAgICwgbV90YXNrU3RhdGVPYnNlcnZlcihQcm9jZXNzVGFz
a1N0YXRlT2JzZXJ2ZXI6OmNyZWF0ZSgqdGhpcykpCiAjZW5kaWYKIHsKICAgICAvLyBJbml0aWFs
aXplIG91ciBwbGF0Zm9ybSBzdHJhdGVnaWVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKaW5kZXggYTViMTJkMzBjNzcyN2ZlN2VmMGQzMzZiM2NlYTZiNzRiZjIxOWM0OS4uMTY5
N2EyZDExOWZhN2U3Nzk3MThmYjNlOGFlN2NmZWQyNGYyMTFjZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC00NTEsNiArNDUxLDggQEAgcHJpdmF0ZToKICNlbmRpZgog
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICB2b2lkIHJlZkNsaWVudCgpIGZpbmFsIHsg
cmVmKCk7IH0KKyAgICB2b2lkIGRlcmVmQ2xpZW50KCkgZmluYWwgeyByZWYoKTsgfQogICAgIHZv
aWQgcHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRh
c2tTdGF0ZSkgZmluYWw7CiAgICAgYm9vbCBzaG91bGRGcmVlemVPblN1c3BlbnNpb24oKSBjb25z
dDsKICAgICB2b2lkIHVwZGF0ZUZyZWV6ZXJTdGF0dXMoKTsKQEAgLTUyNyw3ICs1MjksNyBAQCBw
cml2YXRlOgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBXZWJTUUxpdGVEYXRhYmFz
ZVRyYWNrZXIgbV93ZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI7Ci0gICAgUHJvY2Vzc1Rhc2tTdGF0
ZU9ic2VydmVyIG1fdGFza1N0YXRlT2JzZXJ2ZXIgeyAqdGhpcyB9OworICAgIFJlZjxQcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXI+IG1fdGFza1N0YXRlT2JzZXJ2ZXI7CiAjZW5kaWYKIAogICAgIGVu
dW0gUGFnZU1hcmtpbmdMYXllcnNBc1ZvbGF0aWxlQ291bnRlclR5cGUgeyB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379667</attachid>
            <date>2019-09-26 12:24:27 -0700</date>
            <delta_ts>2019-09-26 12:49:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202279-20190926122426.patch</filename>
            <type>text/plain</type>
            <size>9459</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmYjhiNmVjNWZkYzcyOTk4
MWFhOTE1MTg5ZDc0OThiYTlmODU4NDUuLjNjZWU5ZGE1OTM5NmU0NjUyMTYxNGQ0YjViZTkzMGNi
NTg3ZWFlMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTktMDktMjYgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTG9jayBzY3JlZW4gY29u
dHJvbHMgY2FuIGZhaWwgdG8gcGxheSB3ZWIgY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBwbGF5YmFjayBpcyBwYXVzZWQgZnJvbSB0
aGUgbG9jayBzY3JlZW4gdmlhIE5vdyBQbGF5aW5nIGNvbnRyb2xzLCB0aGUgV2ViUHJvY2VzcywK
KyAgICAgICAgVUlQcm9jZXNzLCBhbmQgTmV0d29yayBQcm9jZXNzIHdpbGwgYWxsIGJlIHN1c3Bl
bmRlZC4gTWVkaWFSZW1vdGUgd2lsbCB0YWtlIGFuIGFzc2VydGlvbgorICAgICAgICBhbmQgd2Fr
ZSB1cCB0aGUgV2ViUHJvY2VzcyB3aGVuIGEgcmVtb3RlIGNvbnRyb2wgY29tbWFuZCB0byAicGxh
eSIgaXMgc2VudCB2aWEgdGhlIE5vdworICAgICAgICBQbGF5aW5nIGNvbnRyb2xzLiBIb3dldmVy
LCBpZiBhIHN5bmNocm9ub3VzIG1lc3NhZ2UgdG8gdGhlIChzdXNwZW5kZWQpIE5ldHdvcmsgb3Ig
VUlQcm9jZXNzCisgICAgICAgIGlzIGlzc3VlZCBiZWZvcmUgdGhlIG5vdGlmaWNhdGlvbiB0aGF0
IHRoZSBwcm9jZXNzIHdhcyB1bmV4cGVjdGVkbHkgdW5zdXNwZW5kZWQgY2FuIGJlCisgICAgICAg
IGlzc3VlZCAod2hpY2ggd2lsbCBzdWJzZXF1ZW50bHkgdW5zdXNwZW5kIHRoZSBVSVByb2Nlc3Mg
YW5kIE5ldHdvcmsgcHJvY2VzcyksIHdlIGNhbiBnZXQKKyAgICAgICAgaW50byBhIGRlYWRsb2Nr
ZWQgc3RhdGUgd2hlcmUgdGhlIG1haW4gdGhyZWFkIGlzIGJsb2NrZWQgb24gdGhlIHN5bmMgbWVz
c2FnZSB0byBhIHN1c3BlbmRlZAorICAgICAgICBwcm9jZXNzLgorCisgICAgICAgIFRvIHdvcmsg
YXJvdW5kIHRoaXMgcHJvYmxlbSwgbW92ZSBhbGwgdGhlIHByb2Nlc3NpbmcgZnJvbSBQcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXIgdG8gYQorICAgICAgICBXb3JrUXVldWUgLyBiYWNrZ3JvdW5kIHRo
cmVhZC4gVGhpcyByZXF1aXJlcyBtYWtpbmcgdGhlIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciB0
aHJlYWQtc2FmZSwKKyAgICAgICAgdGhvdWdoIGl0cyBvbmx5IGN1cnJlbnQgY2xpZW50IGlzIGEg
U2luZ2xldG9uICh0aGUgV2ViUHJvY2VzcyBjbGFzcyksIGFuZCBzbyB0aGUgcmlzayBvZgorICAg
ICAgICB0aHJlYWQgc2FmZXR5IGlzc3VlcyBpcyBjdXJyZW50bHkgbWluaW1hbC4gUmVnYXJkbGVz
cywgYWNjZXNzIHRvIHRoZSBDbGllbnQgcG9pbnRlciBtdXN0IGJlCisgICAgICAgIGd1YXJkZWQg
YnkgYSBMb2NrLCBhbmQgdGhlIENsaWVudCBpdHNlbGYgbXVzdCBiZWNvbWUgcmVmLWNvdW50ZWQs
IHNvIHRoYXQgdGhlCisgICAgICAgIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciBjYW4gcmVmIGl0
cyBDbGllbnQgKHRoZSBXZWJQcm9jZXNzKSBkdXJpbmcgY2FsbGJhY2sgcHJvY2Vzc2luZy4KKwor
ICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaDoKKyAgICAg
ICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpDbGllbnQ6OnJlZik6CisgICAg
ICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6Q2xpZW50OjpkZXJlZik6Cisg
ICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0Q2xpZW50KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpjbGllbnQp
OiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2
ZXIubW06CisgICAgICAgICgtW1dLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyRGVsZWdhdGUgcHJv
Y2Vzczp0YXNrU3RhdGVEaWRDaGFuZ2U6XSk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNr
U3RhdGVPYnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0
ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpQ
cm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6On5Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIpOgorICAg
ICAgICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmludmFsaWRhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmNsaWVudCk6CisgICAgICAg
IChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0VGFza1N0YXRlKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjptX3Rhc2tT
dGF0ZU9ic2VydmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKwogMjAx
OS0wOC0wOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBs
ZW1lbnQgdGhlIFJlbW90ZSBQbGF5YmFjayBBUEkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0NvY29hL1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5oCmluZGV4IDFmOTYwOTQ3NTE3
YzI1ODU5OWE2ZThkMTBjYzIzMTgwNDllMWFiNmEuLjdlZWMxZTAwZWU3ZWVlNmYxNzJiNjBjMzU5
ODBlOGQ0Mzc3ZjBkY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1By
b2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29h
L1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5oCkBAIC0yNywxOSArMjcsMjEgQEAKIAogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCiAKKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKyNp
bmNsdWRlIDx3dGYvV29ya1F1ZXVlLmg+CiAKIE9CSkNfQ0xBU1MgV0tQcm9jZXNzVGFza1N0YXRl
T2JzZXJ2ZXJEZWxlZ2F0ZTsKIE9CSkNfQ0xBU1MgQktTUHJvY2VzczsKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKLWNsYXNzIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciB7CitjbGFzcyBQcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyPiB7CiBwdWJsaWM6CiAgICAgY2xhc3MgQ2xpZW50OwogCi0gICAgUHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCk7Ci0gICAgZXhwbGljaXQgUHJvY2Vzc1Rhc2tTdGF0ZU9i
c2VydmVyKENsaWVudCYpOworICAgIHN0YXRpYyBSZWY8UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVy
PiBjcmVhdGUoQ2xpZW50Jik7CiAgICAgflByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcigpOwogICAg
IAogICAgIGVudW0gVGFza1N0YXRlIHsKQEAgLTU0LDE4ICs1NiwxOSBAQCBwdWJsaWM6CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKFRhc2tTdGF0ZSkgPSAw
OwogICAgIH07CiAKLSAgICB2b2lkIHNldENsaWVudChDbGllbnQmIGNsaWVudCkgeyBtX2NsaWVu
dCA9ICZjbGllbnQ7IH0KLSAgICBDbGllbnQqIGNsaWVudCgpIHsgcmV0dXJuIG1fY2xpZW50OyB9
Ci0KKyAgICB2b2lkIGludmFsaWRhdGUoKTsKICAgICBUYXNrU3RhdGUgdGFza1N0YXRlKCkgY29u
c3QgeyByZXR1cm4gbV90YXNrU3RhdGU7IH0KIAogcHJpdmF0ZToKKyAgICBleHBsaWNpdCBQcm9j
ZXNzVGFza1N0YXRlT2JzZXJ2ZXIoQ2xpZW50Jik7CiAgICAgdm9pZCBzZXRUYXNrU3RhdGUoVGFz
a1N0YXRlKTsKIAotICAgIENsaWVudCogbV9jbGllbnQgeyBudWxscHRyIH07CisgICAgQ2xpZW50
KiBtX2NsaWVudDsKKyAgICBMb2NrIG1fY2xpZW50TG9jazsKICAgICBUYXNrU3RhdGUgbV90YXNr
U3RhdGUgeyBOb25lIH07CiAgICAgUmV0YWluUHRyPEJLU1Byb2Nlc3M+IG1fcHJvY2VzczsKICAg
ICBSZXRhaW5QdHI8V0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJEZWxlZ2F0ZT4gbV9kZWxlZ2F0
ZTsKKyAgICBSZWY8V29ya1F1ZXVlPiBtX3dvcmtRdWV1ZTsKIH07CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5tbSBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5tbQpp
bmRleCA5MzIzOWEyZGFjNzgxNmM2MDllZjMzZmU5YTE5ZTA4OTYzNTVjYmJiLi5hMDI2Nzk2YjY5
MWI4OWI1OTIyZWY0ZmI0N2FjOGM4NmY4Y2IwZmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIubW0KKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLm1tCkBAIC00MCw2ICs0
MCw3IEBAIHR5cGVkZWYgdm9pZCheVGFza1N0YXRlQ2hhbmdlZENhbGxiYWNrVHlwZSkoQktTUHJv
Y2Vzc1Rhc2tTdGF0ZSk7CiAKIEBpbnRlcmZhY2UgV0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJE
ZWxlZ2F0ZSA6IE5TT2JqZWN0PEJLU1Byb2Nlc3NEZWxlZ2F0ZT4KIEBwcm9wZXJ0eSAoY29weSkg
VGFza1N0YXRlQ2hhbmdlZENhbGxiYWNrVHlwZSB0YXNrU3RhdGVDaGFuZ2VkQ2FsbGJhY2s7CitA
cHJvcGVydHkgKGFzc2lnbikgUmVmUHRyPFdvcmtRdWV1ZT4gd29ya1F1ZXVlOwogQGVuZAogCiBA
aW1wbGVtZW50YXRpb24gV0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJEZWxlZ2F0ZQpAQCAtNDcs
MTAgKzQ4LDEyIEBAIC0gKHZvaWQpcHJvY2VzczooQktTUHJvY2VzcyAqKXByb2Nlc3MgdGFza1N0
YXRlRGlkQ2hhbmdlOihCS1NQcm9jZXNzVGFza1N0YXRlKW5lCiB7CiAgICAgUkVMRUFTRV9MT0co
UHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtW1dLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyRGVsZWdh
dGUgcHJvY2Vzczp0YXNrU3RhdGVEaWRDaGFuZ2U6XSwgcHJvY2VzcyglcCksIG5ld1N0YXRlKCVk
KSIsIHNlbGYsIHByb2Nlc3MsIChpbnQpbmV3U3RhdGUpOwogCi0gICAgZGlzcGF0Y2hfYXN5bmMo
ZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKLSAgICAgICAgaWYgKHNlbGYudGFza1N0YXRl
Q2hhbmdlZENhbGxiYWNrKQotICAgICAgICAgICAgc2VsZi50YXNrU3RhdGVDaGFuZ2VkQ2FsbGJh
Y2sobmV3U3RhdGUpOwotICAgIH0pOworICAgIGlmIChhdXRvIHdvcmtRdWV1ZSA9IF93b3JrUXVl
dWUpIHsKKyAgICAgICAgd29ya1F1ZXVlLT5kaXNwYXRjaChbcHJvdGVjdGVkU2VsZiA9IHJldGFp
blB0cihzZWxmKSwgbmV3U3RhdGVdIHsKKyAgICAgICAgICAgIGlmIChhdXRvIGNhbGxiYWNrID0g
cHJvdGVjdGVkU2VsZi5nZXQoKS50YXNrU3RhdGVDaGFuZ2VkQ2FsbGJhY2spCisgICAgICAgICAg
ICAgICAgY2FsbGJhY2sobmV3U3RhdGUpOworICAgICAgICB9KTsKKyAgICB9CiB9CiBAZW5kCiAK
QEAgLTY0LDI2ICs2NywzNSBAQCBzdGF0aWMgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpUYXNr
U3RhdGUgdG9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJUYXNrU3RhdGUoQgogICAgIHJldHVybiBz
dGF0aWNfY2FzdDxQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZT4oc3RhdGUpOwog
fQogCi1Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcigp
Ci0gICAgOiBtX3Byb2Nlc3MoW2dldEJLU1Byb2Nlc3NDbGFzcygpIGN1cnJlbnRQcm9jZXNzXSkK
K1JlZjxQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI+IFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6
Y3JlYXRlKENsaWVudCYgY2xpZW50KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFByb2Nl
c3NUYXNrU3RhdGVPYnNlcnZlcihjbGllbnQpKTsKK30KKworUHJvY2Vzc1Rhc2tTdGF0ZU9ic2Vy
dmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoQ2xpZW50JiBjbGllbnQpCisgICAgOiBtX2Ns
aWVudCgmY2xpZW50KQorICAgICwgbV9wcm9jZXNzKFtnZXRCS1NQcm9jZXNzQ2xhc3MoKSBjdXJy
ZW50UHJvY2Vzc10pCiAgICAgLCBtX2RlbGVnYXRlKGFkb3B0TlMoW1tXS1Byb2Nlc3NUYXNrU3Rh
dGVPYnNlcnZlckRlbGVnYXRlIGFsbG9jXSBpbml0XSkpCisgICAgLCBtX3dvcmtRdWV1ZShXb3Jr
UXVldWU6OmNyZWF0ZSgiUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyIFdvcmtRdWV1ZSIpKQogewog
ICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBQcm9jZXNzVGFza1N0YXRl
T2JzZXJ2ZXI6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcigpLCBtX3Byb2Nlc3MoJXApIiwgdGhp
cywgbV9wcm9jZXNzLmdldCgpKTsKLSAgICBtX2RlbGVnYXRlLmdldCgpLnRhc2tTdGF0ZUNoYW5n
ZWRDYWxsYmFjayA9IFt0aGlzXSAoQktTUHJvY2Vzc1Rhc2tTdGF0ZSBzdGF0ZSkgewotICAgICAg
ICBzZXRUYXNrU3RhdGUodG9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJUYXNrU3RhdGUoc3RhdGUp
KTsKKyAgICBtX2RlbGVnYXRlLmdldCgpLnRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFjayA9IFtwcm90
ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cih0aGlzKV0gKEJLU1Byb2Nlc3NUYXNrU3RhdGUgc3RhdGUp
IHsKKyAgICAgICAgcHJvdGVjdGVkVGhpcy0+c2V0VGFza1N0YXRlKHRvUHJvY2Vzc1Rhc2tTdGF0
ZU9ic2VydmVyVGFza1N0YXRlKHN0YXRlKSk7CiAgICAgfTsKKyAgICBtX2RlbGVnYXRlLmdldCgp
LndvcmtRdWV1ZSA9IG1fd29ya1F1ZXVlLmNvcHlSZWYoKTsKICAgICBtX3Byb2Nlc3MuZ2V0KCku
ZGVsZWdhdGUgPSBtX2RlbGVnYXRlLmdldCgpOwogfQogCi1Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2
ZXI6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcihDbGllbnQmIGNsaWVudCkKLSAgICA6IFByb2Nl
c3NUYXNrU3RhdGVPYnNlcnZlcigpCitQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6On5Qcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXIoKQogewotICAgIHNldENsaWVudChjbGllbnQpOworICAgIG1fZGVs
ZWdhdGUuZ2V0KCkud29ya1F1ZXVlID0gbnVsbHB0cjsKKyAgICBtX2RlbGVnYXRlLmdldCgpLnRh
c2tTdGF0ZUNoYW5nZWRDYWxsYmFjayA9IG5pbDsKIH0KIAotUHJvY2Vzc1Rhc2tTdGF0ZU9ic2Vy
dmVyOjp+UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCkKK3ZvaWQgUHJvY2Vzc1Rhc2tTdGF0ZU9i
c2VydmVyOjppbnZhbGlkYXRlKCkKIHsKLSAgICBtX2RlbGVnYXRlLmdldCgpLnRhc2tTdGF0ZUNo
YW5nZWRDYWxsYmFjayA9IG5pbDsKKyAgICBMb2NrSG9sZGVyIGhvbGRlcihtX2NsaWVudExvY2sp
OworICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKIH0KIAogdm9pZCBQcm9jZXNzVGFza1N0YXRlT2Jz
ZXJ2ZXI6OnNldFRhc2tTdGF0ZShUYXNrU3RhdGUgc3RhdGUpCkBAIC05Miw2ICsxMDQsOCBAQCB2
b2lkIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0VGFza1N0YXRlKFRhc2tTdGF0ZSBzdGF0
ZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV90YXNrU3RhdGUgPSBzdGF0ZTsKKworICAgIExv
Y2tIb2xkZXIgaG9sZGVyKG1fY2xpZW50TG9jayk7CiAgICAgaWYgKG1fY2xpZW50KQogICAgICAg
ICBtX2NsaWVudC0+cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShzdGF0ZSk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNjBkNGM3YjdiYTc1M2UwMzRiNmFj
MjEwYTUxODAyNTE0M2U0YjY1Yi4uNmJiY2IxYjMxNGQzNzI2NjAzNjM1OWE0M2I4MDg2ZWU2NGU1
MDU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTkyLDYg
KzE5Miw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogICAgICwgbV9ub25WaXNpYmxlUHJv
Y2Vzc0NsZWFudXBUaW1lcigqdGhpcywgJldlYlByb2Nlc3M6Om5vblZpc2libGVQcm9jZXNzQ2xl
YW51cFRpbWVyRmlyZWQpCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAsIG1fd2ViU1FM
aXRlRGF0YWJhc2VUcmFja2VyKFt0aGlzXShib29sIGlzSG9sZGluZ0xvY2tlZEZpbGVzKSB7IHBh
cmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6
U2V0SXNIb2xkaW5nTG9ja2VkRmlsZXMoaXNIb2xkaW5nTG9ja2VkRmlsZXMpLCAwKTsgfSkKKyAg
ICAsIG1fdGFza1N0YXRlT2JzZXJ2ZXIoUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpjcmVhdGUo
KnRoaXMpKQogI2VuZGlmCiB7CiAgICAgLy8gSW5pdGlhbGl6ZSBvdXIgcGxhdGZvcm0gc3RyYXRl
Z2llcy4KQEAgLTIxOSw2ICsyMjAsNyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKIAogV2Vi
UHJvY2Vzczo6fldlYlByb2Nlc3MoKQogeworICAgIG1fdGFza1N0YXRlT2JzZXJ2ZXItPmludmFs
aWRhdGUoKTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzcyhjb25zdCBB
dXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggYTViMTJkMzBjNzcyN2ZlN2VmMGQz
MzZiM2NlYTZiNzRiZjIxOWM0OS4uYWUxZjYwMzA4M2M0MDFmMDkzOThiNjZhOTlkMjJlMjE1ZTE2
ZjE1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC01MjcsNyArNTI3
LDcgQEAgcHJpdmF0ZToKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgV2ViU1FMaXRl
RGF0YWJhc2VUcmFja2VyIG1fd2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyOwotICAgIFByb2Nlc3NU
YXNrU3RhdGVPYnNlcnZlciBtX3Rhc2tTdGF0ZU9ic2VydmVyIHsgKnRoaXMgfTsKKyAgICBSZWY8
UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyPiBtX3Rhc2tTdGF0ZU9ic2VydmVyOwogI2VuZGlmCiAK
ICAgICBlbnVtIFBhZ2VNYXJraW5nTGF5ZXJzQXNWb2xhdGlsZUNvdW50ZXJUeXBlIHsgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379669</attachid>
            <date>2019-09-26 12:49:35 -0700</date>
            <delta_ts>2019-09-26 15:01:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202279-20190926124934.patch</filename>
            <type>text/plain</type>
            <size>9347</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmYjhiNmVjNWZkYzcyOTk4
MWFhOTE1MTg5ZDc0OThiYTlmODU4NDUuLjNjZWU5ZGE1OTM5NmU0NjUyMTYxNGQ0YjViZTkzMGNi
NTg3ZWFlMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTktMDktMjYgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTG9jayBzY3JlZW4gY29u
dHJvbHMgY2FuIGZhaWwgdG8gcGxheSB3ZWIgY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBwbGF5YmFjayBpcyBwYXVzZWQgZnJvbSB0
aGUgbG9jayBzY3JlZW4gdmlhIE5vdyBQbGF5aW5nIGNvbnRyb2xzLCB0aGUgV2ViUHJvY2VzcywK
KyAgICAgICAgVUlQcm9jZXNzLCBhbmQgTmV0d29yayBQcm9jZXNzIHdpbGwgYWxsIGJlIHN1c3Bl
bmRlZC4gTWVkaWFSZW1vdGUgd2lsbCB0YWtlIGFuIGFzc2VydGlvbgorICAgICAgICBhbmQgd2Fr
ZSB1cCB0aGUgV2ViUHJvY2VzcyB3aGVuIGEgcmVtb3RlIGNvbnRyb2wgY29tbWFuZCB0byAicGxh
eSIgaXMgc2VudCB2aWEgdGhlIE5vdworICAgICAgICBQbGF5aW5nIGNvbnRyb2xzLiBIb3dldmVy
LCBpZiBhIHN5bmNocm9ub3VzIG1lc3NhZ2UgdG8gdGhlIChzdXNwZW5kZWQpIE5ldHdvcmsgb3Ig
VUlQcm9jZXNzCisgICAgICAgIGlzIGlzc3VlZCBiZWZvcmUgdGhlIG5vdGlmaWNhdGlvbiB0aGF0
IHRoZSBwcm9jZXNzIHdhcyB1bmV4cGVjdGVkbHkgdW5zdXNwZW5kZWQgY2FuIGJlCisgICAgICAg
IGlzc3VlZCAod2hpY2ggd2lsbCBzdWJzZXF1ZW50bHkgdW5zdXNwZW5kIHRoZSBVSVByb2Nlc3Mg
YW5kIE5ldHdvcmsgcHJvY2VzcyksIHdlIGNhbiBnZXQKKyAgICAgICAgaW50byBhIGRlYWRsb2Nr
ZWQgc3RhdGUgd2hlcmUgdGhlIG1haW4gdGhyZWFkIGlzIGJsb2NrZWQgb24gdGhlIHN5bmMgbWVz
c2FnZSB0byBhIHN1c3BlbmRlZAorICAgICAgICBwcm9jZXNzLgorCisgICAgICAgIFRvIHdvcmsg
YXJvdW5kIHRoaXMgcHJvYmxlbSwgbW92ZSBhbGwgdGhlIHByb2Nlc3NpbmcgZnJvbSBQcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXIgdG8gYQorICAgICAgICBXb3JrUXVldWUgLyBiYWNrZ3JvdW5kIHRo
cmVhZC4gVGhpcyByZXF1aXJlcyBtYWtpbmcgdGhlIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciB0
aHJlYWQtc2FmZSwKKyAgICAgICAgdGhvdWdoIGl0cyBvbmx5IGN1cnJlbnQgY2xpZW50IGlzIGEg
U2luZ2xldG9uICh0aGUgV2ViUHJvY2VzcyBjbGFzcyksIGFuZCBzbyB0aGUgcmlzayBvZgorICAg
ICAgICB0aHJlYWQgc2FmZXR5IGlzc3VlcyBpcyBjdXJyZW50bHkgbWluaW1hbC4gUmVnYXJkbGVz
cywgYWNjZXNzIHRvIHRoZSBDbGllbnQgcG9pbnRlciBtdXN0IGJlCisgICAgICAgIGd1YXJkZWQg
YnkgYSBMb2NrLCBhbmQgdGhlIENsaWVudCBpdHNlbGYgbXVzdCBiZWNvbWUgcmVmLWNvdW50ZWQs
IHNvIHRoYXQgdGhlCisgICAgICAgIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciBjYW4gcmVmIGl0
cyBDbGllbnQgKHRoZSBXZWJQcm9jZXNzKSBkdXJpbmcgY2FsbGJhY2sgcHJvY2Vzc2luZy4KKwor
ICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaDoKKyAgICAg
ICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpDbGllbnQ6OnJlZik6CisgICAg
ICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6Q2xpZW50OjpkZXJlZik6Cisg
ICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0Q2xpZW50KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpjbGllbnQp
OiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2
ZXIubW06CisgICAgICAgICgtW1dLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyRGVsZWdhdGUgcHJv
Y2Vzczp0YXNrU3RhdGVEaWRDaGFuZ2U6XSk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNr
U3RhdGVPYnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0
ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpQ
cm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6On5Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIpOgorICAg
ICAgICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmludmFsaWRhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmNsaWVudCk6CisgICAgICAg
IChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0VGFza1N0YXRlKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjptX3Rhc2tT
dGF0ZU9ic2VydmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKwogMjAx
OS0wOC0wOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBs
ZW1lbnQgdGhlIFJlbW90ZSBQbGF5YmFjayBBUEkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0NvY29hL1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5oCmluZGV4IDFmOTYwOTQ3NTE3
YzI1ODU5OWE2ZThkMTBjYzIzMTgwNDllMWFiNmEuLjhmY2RmOTc5MGZhYjUwNWFhNzM1NWU4ZDBh
NWQwOGE2NWU3MTQ5MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1By
b2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29h
L1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5oCkBAIC0yNywxOSArMjcsMjAgQEAKIAogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCiAKKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIAog
T0JKQ19DTEFTUyBXS1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlckRlbGVnYXRlOwogT0JKQ19DTEFT
UyBCS1NQcm9jZXNzOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgUHJvY2Vzc1Rhc2tT
dGF0ZU9ic2VydmVyIHsKK2NsYXNzIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciA6IHB1YmxpYyBU
aHJlYWRTYWZlUmVmQ291bnRlZDxQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI+IHsKIHB1YmxpYzoK
ICAgICBjbGFzcyBDbGllbnQ7CiAKLSAgICBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoKTsKLSAg
ICBleHBsaWNpdCBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoQ2xpZW50Jik7CisgICAgc3RhdGlj
IFJlZjxQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI+IGNyZWF0ZShDbGllbnQmKTsKICAgICB+UHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCk7CiAgICAgCiAgICAgZW51bSBUYXNrU3RhdGUgewpAQCAt
NTQsMTUgKzU1LDE1IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIHByb2Nlc3NUYXNr
U3RhdGVEaWRDaGFuZ2UoVGFza1N0YXRlKSA9IDA7CiAgICAgfTsKIAotICAgIHZvaWQgc2V0Q2xp
ZW50KENsaWVudCYgY2xpZW50KSB7IG1fY2xpZW50ID0gJmNsaWVudDsgfQotICAgIENsaWVudCog
Y2xpZW50KCkgeyByZXR1cm4gbV9jbGllbnQ7IH0KLQorICAgIHZvaWQgaW52YWxpZGF0ZSgpOwog
ICAgIFRhc2tTdGF0ZSB0YXNrU3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3Rhc2tTdGF0ZTsgfQog
CiBwcml2YXRlOgorICAgIGV4cGxpY2l0IFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcihDbGllbnQm
KTsKICAgICB2b2lkIHNldFRhc2tTdGF0ZShUYXNrU3RhdGUpOwogCi0gICAgQ2xpZW50KiBtX2Ns
aWVudCB7IG51bGxwdHIgfTsKKyAgICBDbGllbnQqIG1fY2xpZW50OworICAgIExvY2sgbV9jbGll
bnRMb2NrOwogICAgIFRhc2tTdGF0ZSBtX3Rhc2tTdGF0ZSB7IE5vbmUgfTsKICAgICBSZXRhaW5Q
dHI8QktTUHJvY2Vzcz4gbV9wcm9jZXNzOwogICAgIFJldGFpblB0cjxXS1Byb2Nlc3NUYXNrU3Rh
dGVPYnNlcnZlckRlbGVnYXRlPiBtX2RlbGVnYXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLm1tIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLm1tCmluZGV4IDkzMjM5YTJk
YWM3ODE2YzYwOWVmMzNmZTlhMTllMDg5NjM1NWNiYmIuLjgwYzAwNmI0ZjEzZmVkM2UyYjdjYjMy
NjQwNGRiMGUyZDhlNDBlN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29h
L1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIubW0KQEAgLTQ3LDEwICs0Nyw4IEBAIC0gKHZv
aWQpcHJvY2VzczooQktTUHJvY2VzcyAqKXByb2Nlc3MgdGFza1N0YXRlRGlkQ2hhbmdlOihCS1NQ
cm9jZXNzVGFza1N0YXRlKW5lCiB7CiAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24s
ICIlcCAtW1dLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyRGVsZWdhdGUgcHJvY2Vzczp0YXNrU3Rh
dGVEaWRDaGFuZ2U6XSwgcHJvY2VzcyglcCksIG5ld1N0YXRlKCVkKSIsIHNlbGYsIHByb2Nlc3Ms
IChpbnQpbmV3U3RhdGUpOwogCi0gICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5f
cXVldWUoKSwgXnsKLSAgICAgICAgaWYgKHNlbGYudGFza1N0YXRlQ2hhbmdlZENhbGxiYWNrKQot
ICAgICAgICAgICAgc2VsZi50YXNrU3RhdGVDaGFuZ2VkQ2FsbGJhY2sobmV3U3RhdGUpOwotICAg
IH0pOworICAgIGlmIChhdXRvIGNhbGxiYWNrID0gX3Rhc2tTdGF0ZUNoYW5nZWRDYWxsYmFjaykK
KyAgICAgICAgY2FsbGJhY2sobmV3U3RhdGUpOwogfQogQGVuZAogCkBAIC02NCwyNSArNjIsMzIg
QEAgc3RhdGljIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6VGFza1N0YXRlIHRvUHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyVGFza1N0YXRlKEIKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyOjpUYXNrU3RhdGU+KHN0YXRlKTsKIH0KIAotUHJvY2Vzc1Rhc2tT
dGF0ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoKQotICAgIDogbV9wcm9jZXNz
KFtnZXRCS1NQcm9jZXNzQ2xhc3MoKSBjdXJyZW50UHJvY2Vzc10pCitSZWY8UHJvY2Vzc1Rhc2tT
dGF0ZU9ic2VydmVyPiBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmNyZWF0ZShDbGllbnQmIGNs
aWVudCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2
ZXIoY2xpZW50KSk7Cit9CisKK1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6UHJvY2Vzc1Rhc2tT
dGF0ZU9ic2VydmVyKENsaWVudCYgY2xpZW50KQorICAgIDogbV9jbGllbnQoJmNsaWVudCkKKyAg
ICAsIG1fcHJvY2VzcyhbZ2V0QktTUHJvY2Vzc0NsYXNzKCkgY3VycmVudFByb2Nlc3NdKQogICAg
ICwgbV9kZWxlZ2F0ZShhZG9wdE5TKFtbV0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJEZWxlZ2F0
ZSBhbGxvY10gaW5pdF0pKQogewogICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAi
JXAgLSBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcigp
LCBtX3Byb2Nlc3MoJXApIiwgdGhpcywgbV9wcm9jZXNzLmdldCgpKTsKLSAgICBtX2RlbGVnYXRl
LmdldCgpLnRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFjayA9IFt0aGlzXSAoQktTUHJvY2Vzc1Rhc2tT
dGF0ZSBzdGF0ZSkgewotICAgICAgICBzZXRUYXNrU3RhdGUodG9Qcm9jZXNzVGFza1N0YXRlT2Jz
ZXJ2ZXJUYXNrU3RhdGUoc3RhdGUpKTsKKyAgICBtX2RlbGVnYXRlLmdldCgpLnRhc2tTdGF0ZUNo
YW5nZWRDYWxsYmFjayA9IFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cih0aGlzKV0gKEJLU1By
b2Nlc3NUYXNrU3RhdGUgc3RhdGUpIHsKKyAgICAgICAgcHJvdGVjdGVkVGhpcy0+c2V0VGFza1N0
YXRlKHRvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyVGFza1N0YXRlKHN0YXRlKSk7CiAgICAgfTsK
ICAgICBtX3Byb2Nlc3MuZ2V0KCkuZGVsZWdhdGUgPSBtX2RlbGVnYXRlLmdldCgpOwogfQogCi1Q
cm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcihDbGllbnQm
IGNsaWVudCkKLSAgICA6IFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcigpCitQcm9jZXNzVGFza1N0
YXRlT2JzZXJ2ZXI6On5Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoKQogewotICAgIHNldENsaWVu
dChjbGllbnQpOworICAgIGludmFsaWRhdGUoKTsKIH0KIAotUHJvY2Vzc1Rhc2tTdGF0ZU9ic2Vy
dmVyOjp+UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCkKK3ZvaWQgUHJvY2Vzc1Rhc2tTdGF0ZU9i
c2VydmVyOjppbnZhbGlkYXRlKCkKIHsKKyAgICBMb2NrSG9sZGVyIGhvbGRlcihtX2NsaWVudExv
Y2spOworICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKICAgICBtX2RlbGVnYXRlLmdldCgpLnRhc2tT
dGF0ZUNoYW5nZWRDYWxsYmFjayA9IG5pbDsKIH0KIApAQCAtOTIsNiArOTcsOCBAQCB2b2lkIFBy
b2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0VGFza1N0YXRlKFRhc2tTdGF0ZSBzdGF0ZSkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgbV90YXNrU3RhdGUgPSBzdGF0ZTsKKworICAgIExvY2tIb2xk
ZXIgaG9sZGVyKG1fY2xpZW50TG9jayk7CiAgICAgaWYgKG1fY2xpZW50KQogICAgICAgICBtX2Ns
aWVudC0+cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShzdGF0ZSk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNjBkNGM3YjdiYTc1M2UwMzRiNmFjMjEwYTUx
ODAyNTE0M2U0YjY1Yi4uNmJiY2IxYjMxNGQzNzI2NjAzNjM1OWE0M2I4MDg2ZWU2NGU1MDU3NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTkyLDYgKzE5Miw3
IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogICAgICwgbV9ub25WaXNpYmxlUHJvY2Vzc0Ns
ZWFudXBUaW1lcigqdGhpcywgJldlYlByb2Nlc3M6Om5vblZpc2libGVQcm9jZXNzQ2xlYW51cFRp
bWVyRmlyZWQpCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAsIG1fd2ViU1FMaXRlRGF0
YWJhc2VUcmFja2VyKFt0aGlzXShib29sIGlzSG9sZGluZ0xvY2tlZEZpbGVzKSB7IHBhcmVudFBy
b2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6U2V0SXNI
b2xkaW5nTG9ja2VkRmlsZXMoaXNIb2xkaW5nTG9ja2VkRmlsZXMpLCAwKTsgfSkKKyAgICAsIG1f
dGFza1N0YXRlT2JzZXJ2ZXIoUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpjcmVhdGUoKnRoaXMp
KQogI2VuZGlmCiB7CiAgICAgLy8gSW5pdGlhbGl6ZSBvdXIgcGxhdGZvcm0gc3RyYXRlZ2llcy4K
QEAgLTIxOSw2ICsyMjAsNyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKIAogV2ViUHJvY2Vz
czo6fldlYlByb2Nlc3MoKQogeworICAgIG1fdGFza1N0YXRlT2JzZXJ2ZXItPmludmFsaWRhdGUo
KTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzcyhjb25zdCBBdXhpbGlh
cnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggYTViMTJkMzBjNzcyN2ZlN2VmMGQzMzZiM2Nl
YTZiNzRiZjIxOWM0OS4uYWUxZjYwMzA4M2M0MDFmMDkzOThiNjZhOTlkMjJlMjE1ZTE2ZjE1ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC01MjcsNyArNTI3LDcgQEAg
cHJpdmF0ZToKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgV2ViU1FMaXRlRGF0YWJh
c2VUcmFja2VyIG1fd2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyOwotICAgIFByb2Nlc3NUYXNrU3Rh
dGVPYnNlcnZlciBtX3Rhc2tTdGF0ZU9ic2VydmVyIHsgKnRoaXMgfTsKKyAgICBSZWY8UHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyPiBtX3Rhc2tTdGF0ZU9ic2VydmVyOwogI2VuZGlmCiAKICAgICBl
bnVtIFBhZ2VNYXJraW5nTGF5ZXJzQXNWb2xhdGlsZUNvdW50ZXJUeXBlIHsgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IDNk
ODBiZTI5OTk3NTA1OTE5NGVhMTM1MTA2YWJkMmFhNTU5ZDQ2MDguLjBkNDJiZWI0ZDliMDUyMjcz
ZGUyODNiMjJlN2UwMWQxNmVkMTk0ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMjk0LDYgKzI5NCw3IEBAIHZvaWQgV2Vi
UHJvY2Vzczo6dXBkYXRlUHJvY2Vzc05hbWUoKQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiB2
b2lkIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoUHJvY2Vzc1Rhc2tTdGF0
ZU9ic2VydmVyOjpUYXNrU3RhdGUgdGFza1N0YXRlKQogeworICAgIC8vIE5PVEU6IFRoaXMgd2ls
bCBiZSBjYWxsZWQgZnJvbSBhIGJhY2tncm91bmQgdGhyZWFkLgogICAgIFJFTEVBU0VfTE9HKFBy
b2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hh
bmdlKCkgLSB0YXNrU3RhdGUoJWQpIiwgdGhpcywgdGFza1N0YXRlKTsKICAgICBpZiAodGFza1N0
YXRlID09IFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6Tm9uZSkKICAgICAgICAgcmV0dXJuOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379685</attachid>
            <date>2019-09-26 15:01:36 -0700</date>
            <delta_ts>2019-09-26 15:53:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202279-20190926150136.patch</filename>
            <type>text/plain</type>
            <size>13516</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmYjhiNmVjNWZkYzcyOTk4
MWFhOTE1MTg5ZDc0OThiYTlmODU4NDUuLmU5OWQ2Yzk1ZjBlYzFiNjAwNThlYmIwMTc4ZDQ3NDE5
NmYwN2MwMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMgQEAKKzIwMTktMDktMjYgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTG9jayBzY3JlZW4gY29u
dHJvbHMgY2FuIGZhaWwgdG8gcGxheSB3ZWIgY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBwbGF5YmFjayBpcyBwYXVzZWQgZnJvbSB0
aGUgbG9jayBzY3JlZW4gdmlhIE5vdyBQbGF5aW5nIGNvbnRyb2xzLCB0aGUgV2ViUHJvY2VzcywK
KyAgICAgICAgVUlQcm9jZXNzLCBhbmQgTmV0d29yayBQcm9jZXNzIHdpbGwgYWxsIGJlIHN1c3Bl
bmRlZC4gTWVkaWFSZW1vdGUgd2lsbCB0YWtlIGFuIGFzc2VydGlvbgorICAgICAgICBhbmQgd2Fr
ZSB1cCB0aGUgV2ViUHJvY2VzcyB3aGVuIGEgcmVtb3RlIGNvbnRyb2wgY29tbWFuZCB0byAicGxh
eSIgaXMgc2VudCB2aWEgdGhlIE5vdworICAgICAgICBQbGF5aW5nIGNvbnRyb2xzLiBIb3dldmVy
LCBpZiBhIHN5bmNocm9ub3VzIG1lc3NhZ2UgdG8gdGhlIChzdXNwZW5kZWQpIE5ldHdvcmsgb3Ig
VUlQcm9jZXNzCisgICAgICAgIGlzIGlzc3VlZCBiZWZvcmUgdGhlIG5vdGlmaWNhdGlvbiB0aGF0
IHRoZSBwcm9jZXNzIHdhcyB1bmV4cGVjdGVkbHkgdW5zdXNwZW5kZWQgY2FuIGJlCisgICAgICAg
IGlzc3VlZCAod2hpY2ggd2lsbCBzdWJzZXF1ZW50bHkgdW5zdXNwZW5kIHRoZSBVSVByb2Nlc3Mg
YW5kIE5ldHdvcmsgcHJvY2VzcyksIHdlIGNhbiBnZXQKKyAgICAgICAgaW50byBhIGRlYWRsb2Nr
ZWQgc3RhdGUgd2hlcmUgdGhlIG1haW4gdGhyZWFkIGlzIGJsb2NrZWQgb24gdGhlIHN5bmMgbWVz
c2FnZSB0byBhIHN1c3BlbmRlZAorICAgICAgICBwcm9jZXNzLgorCisgICAgICAgIFRvIHdvcmsg
YXJvdW5kIHRoaXMgcHJvYmxlbSwgbW92ZSBhbGwgdGhlIHByb2Nlc3NpbmcgZnJvbSBQcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXIgdG8gYQorICAgICAgICBXb3JrUXVldWUgLyBiYWNrZ3JvdW5kIHRo
cmVhZC4gVGhpcyByZXF1aXJlcyBtYWtpbmcgdGhlIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciB0
aHJlYWQtc2FmZSwKKyAgICAgICAgdGhvdWdoIGl0cyBvbmx5IGN1cnJlbnQgY2xpZW50IGlzIGEg
U2luZ2xldG9uICh0aGUgV2ViUHJvY2VzcyBjbGFzcyksIGFuZCBzbyB0aGUgcmlzayBvZgorICAg
ICAgICB0aHJlYWQgc2FmZXR5IGlzc3VlcyBpcyBjdXJyZW50bHkgbWluaW1hbC4gUmVnYXJkbGVz
cywgYWNjZXNzIHRvIHRoZSBDbGllbnQgcG9pbnRlciBtdXN0IGJlCisgICAgICAgIGd1YXJkZWQg
YnkgYSBMb2NrLCBhbmQgdGhlIENsaWVudCBpdHNlbGYgbXVzdCBiZWNvbWUgcmVmLWNvdW50ZWQs
IHNvIHRoYXQgdGhlCisgICAgICAgIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciBjYW4gcmVmIGl0
cyBDbGllbnQgKHRoZSBXZWJQcm9jZXNzKSBkdXJpbmcgY2FsbGJhY2sgcHJvY2Vzc2luZy4KKwor
ICAgICAgICBVbmZvcnR1bmF0ZWx5LCBzZW5kV2l0aEFzeW5jUmVwbHkoKSBpcyBub3QgdGhyZWFk
IHNhZmUsIG5vciBpcyBQcm9jZXNzQXNzZXJ0aW9uLCBzbyBpbnN0ZWFkCisgICAgICAgIGp1c3Qg
dXNlIHNlbmQoKSBhbmQgc2V0IGEgNS1zZWNvbmQgdGltZW91dCBiZWZvcmUgZXhwaXJpbmcgdGhl
IGFzc2VydGlvbiwgYW5kIGp1c3QgdXNlCisgICAgICAgIEJLU1Byb2Nlc3NTdGF0ZUFzc2VydGlv
biBkaXJlY3RseS4KKworICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRlT2Jz
ZXJ2ZXIuaDoKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpDbGll
bnQ6OnJlZik6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6Q2xp
ZW50OjpkZXJlZik6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6
c2V0Q2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0ZU9i
c2VydmVyOjpjbGllbnQpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXIubW06CisgICAgICAgICgtW1dLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2Vy
dmVyRGVsZWdhdGUgcHJvY2Vzczp0YXNrU3RhdGVEaWRDaGFuZ2U6XSk6CisgICAgICAgIChXZWJL
aXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6
UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIpOgorICAg
ICAgICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6On5Qcm9jZXNzVGFza1N0YXRl
T2JzZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6Omlu
dmFsaWRhdGUpOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmNs
aWVudCk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0VGFz
a1N0YXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjptX3Rhc2tTdGF0ZU9ic2VydmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1VuZXhwZWN0
ZWRseVVuc3VzcGVuZGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZSk6CisKIDIwMTktMDgtMDgg
IEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IHRo
ZSBSZW1vdGUgUGxheWJhY2sgQVBJLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
Q29jb2EvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaAppbmRleCAxZjk2MDk0NzUxN2MyNTg1OTlh
NmU4ZDEwY2MyMzE4MDQ5ZTFhYjZhLi44ZmNkZjk3OTBmYWI1MDVhYTczNTVlOGQwYTVkMDhhNjVl
NzE0OTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFz
a1N0YXRlT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXIuaApAQCAtMjcsMTkgKzI3LDIwIEBACiAKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogCisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAKIE9CSkNfQ0xB
U1MgV0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJEZWxlZ2F0ZTsKIE9CSkNfQ0xBU1MgQktTUHJv
Y2VzczsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFByb2Nlc3NUYXNrU3RhdGVPYnNl
cnZlciB7CitjbGFzcyBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIgOiBwdWJsaWMgVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQ8UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyPiB7CiBwdWJsaWM6CiAgICAgY2xh
c3MgQ2xpZW50OwogCi0gICAgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCk7Ci0gICAgZXhwbGlj
aXQgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKENsaWVudCYpOworICAgIHN0YXRpYyBSZWY8UHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyPiBjcmVhdGUoQ2xpZW50Jik7CiAgICAgflByb2Nlc3NUYXNr
U3RhdGVPYnNlcnZlcigpOwogICAgIAogICAgIGVudW0gVGFza1N0YXRlIHsKQEAgLTU0LDE1ICs1
NSwxNSBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzVGFza1N0YXRlRGlk
Q2hhbmdlKFRhc2tTdGF0ZSkgPSAwOwogICAgIH07CiAKLSAgICB2b2lkIHNldENsaWVudChDbGll
bnQmIGNsaWVudCkgeyBtX2NsaWVudCA9ICZjbGllbnQ7IH0KLSAgICBDbGllbnQqIGNsaWVudCgp
IHsgcmV0dXJuIG1fY2xpZW50OyB9Ci0KKyAgICB2b2lkIGludmFsaWRhdGUoKTsKICAgICBUYXNr
U3RhdGUgdGFza1N0YXRlKCkgY29uc3QgeyByZXR1cm4gbV90YXNrU3RhdGU7IH0KIAogcHJpdmF0
ZToKKyAgICBleHBsaWNpdCBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoQ2xpZW50Jik7CiAgICAg
dm9pZCBzZXRUYXNrU3RhdGUoVGFza1N0YXRlKTsKIAotICAgIENsaWVudCogbV9jbGllbnQgeyBu
dWxscHRyIH07CisgICAgQ2xpZW50KiBtX2NsaWVudDsKKyAgICBMb2NrIG1fY2xpZW50TG9jazsK
ICAgICBUYXNrU3RhdGUgbV90YXNrU3RhdGUgeyBOb25lIH07CiAgICAgUmV0YWluUHRyPEJLU1By
b2Nlc3M+IG1fcHJvY2VzczsKICAgICBSZXRhaW5QdHI8V0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2
ZXJEZWxlZ2F0ZT4gbV9kZWxlZ2F0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0NvY29hL1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0NvY29hL1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5tbQppbmRleCA5MzIzOWEyZGFjNzgxNmM2
MDllZjMzZmU5YTE5ZTA4OTYzNTVjYmJiLi44MGMwMDZiNGYxM2ZlZDNlMmI3Y2IzMjY0MDRkYjBl
MmQ4ZTQwZTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvUHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLm1tCkBAIC00NywxMCArNDcsOCBAQCAtICh2b2lkKXByb2Nl
c3M6KEJLU1Byb2Nlc3MgKilwcm9jZXNzIHRhc2tTdGF0ZURpZENoYW5nZTooQktTUHJvY2Vzc1Rh
c2tTdGF0ZSluZQogewogICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLVtX
S1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlckRlbGVnYXRlIHByb2Nlc3M6dGFza1N0YXRlRGlkQ2hh
bmdlOl0sIHByb2Nlc3MoJXApLCBuZXdTdGF0ZSglZCkiLCBzZWxmLCBwcm9jZXNzLCAoaW50KW5l
d1N0YXRlKTsKIAotICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCks
IF57Ci0gICAgICAgIGlmIChzZWxmLnRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFjaykKLSAgICAgICAg
ICAgIHNlbGYudGFza1N0YXRlQ2hhbmdlZENhbGxiYWNrKG5ld1N0YXRlKTsKLSAgICB9KTsKKyAg
ICBpZiAoYXV0byBjYWxsYmFjayA9IF90YXNrU3RhdGVDaGFuZ2VkQ2FsbGJhY2spCisgICAgICAg
IGNhbGxiYWNrKG5ld1N0YXRlKTsKIH0KIEBlbmQKIApAQCAtNjQsMjUgKzYyLDMyIEBAIHN0YXRp
YyBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSB0b1Byb2Nlc3NUYXNrU3RhdGVP
YnNlcnZlclRhc2tTdGF0ZShCCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFByb2Nlc3NUYXNrU3Rh
dGVPYnNlcnZlcjo6VGFza1N0YXRlPihzdGF0ZSk7CiB9CiAKLVByb2Nlc3NUYXNrU3RhdGVPYnNl
cnZlcjo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCkKLSAgICA6IG1fcHJvY2VzcyhbZ2V0QktT
UHJvY2Vzc0NsYXNzKCkgY3VycmVudFByb2Nlc3NdKQorUmVmPFByb2Nlc3NUYXNrU3RhdGVPYnNl
cnZlcj4gUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpjcmVhdGUoQ2xpZW50JiBjbGllbnQpCit7
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKGNsaWVu
dCkpOworfQorCitQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlByb2Nlc3NUYXNrU3RhdGVPYnNl
cnZlcihDbGllbnQmIGNsaWVudCkKKyAgICA6IG1fY2xpZW50KCZjbGllbnQpCisgICAgLCBtX3By
b2Nlc3MoW2dldEJLU1Byb2Nlc3NDbGFzcygpIGN1cnJlbnRQcm9jZXNzXSkKICAgICAsIG1fZGVs
ZWdhdGUoYWRvcHROUyhbW1dLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyRGVsZWdhdGUgYWxsb2Nd
IGluaXRdKSkKIHsKICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gUHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoKSwgbV9wcm9j
ZXNzKCVwKSIsIHRoaXMsIG1fcHJvY2Vzcy5nZXQoKSk7Ci0gICAgbV9kZWxlZ2F0ZS5nZXQoKS50
YXNrU3RhdGVDaGFuZ2VkQ2FsbGJhY2sgPSBbdGhpc10gKEJLU1Byb2Nlc3NUYXNrU3RhdGUgc3Rh
dGUpIHsKLSAgICAgICAgc2V0VGFza1N0YXRlKHRvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyVGFz
a1N0YXRlKHN0YXRlKSk7CisgICAgbV9kZWxlZ2F0ZS5nZXQoKS50YXNrU3RhdGVDaGFuZ2VkQ2Fs
bGJhY2sgPSBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIodGhpcyldIChCS1NQcm9jZXNzVGFz
a1N0YXRlIHN0YXRlKSB7CisgICAgICAgIHByb3RlY3RlZFRoaXMtPnNldFRhc2tTdGF0ZSh0b1By
b2Nlc3NUYXNrU3RhdGVPYnNlcnZlclRhc2tTdGF0ZShzdGF0ZSkpOwogICAgIH07CiAgICAgbV9w
cm9jZXNzLmdldCgpLmRlbGVnYXRlID0gbV9kZWxlZ2F0ZS5nZXQoKTsKIH0KIAotUHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoQ2xpZW50JiBjbGllbnQp
Ci0gICAgOiBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoKQorUHJvY2Vzc1Rhc2tTdGF0ZU9ic2Vy
dmVyOjp+UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCkKIHsKLSAgICBzZXRDbGllbnQoY2xpZW50
KTsKKyAgICBpbnZhbGlkYXRlKCk7CiB9CiAKLVByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6flBy
b2Nlc3NUYXNrU3RhdGVPYnNlcnZlcigpCit2b2lkIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6
aW52YWxpZGF0ZSgpCiB7CisgICAgTG9ja0hvbGRlciBob2xkZXIobV9jbGllbnRMb2NrKTsKKyAg
ICBtX2NsaWVudCA9IG51bGxwdHI7CiAgICAgbV9kZWxlZ2F0ZS5nZXQoKS50YXNrU3RhdGVDaGFu
Z2VkQ2FsbGJhY2sgPSBuaWw7CiB9CiAKQEAgLTkyLDYgKzk3LDggQEAgdm9pZCBQcm9jZXNzVGFz
a1N0YXRlT2JzZXJ2ZXI6OnNldFRhc2tTdGF0ZShUYXNrU3RhdGUgc3RhdGUpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIG1fdGFza1N0YXRlID0gc3RhdGU7CisKKyAgICBMb2NrSG9sZGVyIGhvbGRl
cihtX2NsaWVudExvY2spOwogICAgIGlmIChtX2NsaWVudCkKICAgICAgICAgbV9jbGllbnQtPnBy
b2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2Uoc3RhdGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQppbmRleCAxYTgyNTNh
YzA0MjJkMWVlYTQ5OTgzNzliNTYyODQ2YzU1YmM3NjFkLi5iYjQ5MGRmOWY2NmYzMWJlNDIwNjlj
YmRhYzdkYTQxYzJkNjA5M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQpAQCAtMTkwLDEyICsxOTAsMTEgQEAgdm9p
ZCBXZWJQcm9jZXNzUHJveHk6OnJlbGVhc2VIaWdoUGVyZm9ybWFuY2VHUFUoKQogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotdm9pZCBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NX
YXNVbmV4cGVjdGVkbHlVbnN1c3BlbmRlZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29t
cGxldGlvbikKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzV2FzVW5leHBlY3RlZGx5VW5z
dXNwZW5kZWQoKQogewogICAgIGlmIChtX3Rocm90dGxlci5zaG91bGRCZVJ1bm5hYmxlKCkpIHsK
ICAgICAgICAgLy8gVGhlIHByb2Nlc3MgYmVjb21pbmcgdW5zdXNwZW5kZWQgd2FzIG5vdCB1bmV4
cGVjdGVkOyBpdCBsaWtlbHkgd2FzIG5vdGlmaWVkIG9mIGl0cyBydW5uaW5nIHN0YXRlCiAgICAg
ICAgIC8vIGJlZm9yZSByZWNlaXZpbmcgYSBwcm9jc2Vzc0RpZFJlc3VtZSgpIG1lc3NhZ2UgZnJv
bSB0aGUgVUlQcm9jZXNzLgotICAgICAgICBjb21wbGV0aW9uKCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKQEAgLTIwNiw3ICsyMDUsNiBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vz
c1dhc1VuZXhwZWN0ZWRseVVuc3VzcGVuZGVkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKQogICAg
ICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzc1Byb3h5
Ojpwcm9jZXNzV2FzVW5leHBlY3RlZGx5VW5zdXNwZW5kZWQoKSAtIGxhbWJkYSwgYmFja2dyb3Vu
ZCBhY3Rpdml0eSB0aW1lZCBvdXQiLCB3ZWFrVGhpcy5nZXQoKSk7CiAgICAgfTsKICAgICBtX3Vu
ZXhwZWN0ZWRBY3Rpdml0eVRpbWVyID0gbWFrZVVuaXF1ZTxXZWJDb3JlOjpEZWZlcnJhYmxlT25l
U2hvdFRpbWVyPihXVEZNb3ZlKGJhY2tncm91bmRBY3Rpdml0eVRpbWVvdXRIYW5kbGVyKSwgdW5l
eHBlY3RlZEFjdGl2aXR5RHVyYXRpb24pOwotICAgIGNvbXBsZXRpb24oKTsKIH0KICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IDVlMTljMmY3
NDNlMTUzYzQ3NGM4NmJlZDNkODY2NzE0YWViNjg5YWMuLmE3M2RjODk5ZDMwNzA5ZjE3ZWZjN2M4
ZmU5YzM3MWNkMmJkY2QzYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5oCkBAIC0zMDYsNyArMzA2LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQotICAgIHZvaWQgcHJvY2Vzc1dhc1VuZXhwZWN0ZWRseVVuc3VzcGVuZGVk
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CisgICAgdm9pZCBwcm9jZXNzV2FzVW5leHBl
Y3RlZGx5VW5zdXNwZW5kZWQoKTsKICNlbmRpZgogCiAgICAgdm9pZCB3ZWJQYWdlTWVkaWFTdGF0
ZURpZENoYW5nZShXZWJQYWdlUHJveHkmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgppbmRleCA5OGQ5ZDIzMTI2N2NjNTQ0N2Rk
OWM0NTYyMDgxNjg4NzRhNzMxYTlhLi5lMzc3ODJlNzVhNzNjY2E1ODI1MTJhNDgxZjY1YzZkYWNi
YWExNjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluCkBAIC03MSw3ICs3MSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3NQ
cm94eSBMZWdhY3lSZWNlaXZlciB7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
Ci0gICAgUHJvY2Vzc1dhc1VuZXhwZWN0ZWRseVVuc3VzcGVuZGVkKCkgLT4gKCkgQXN5bmMKKyAg
ICBQcm9jZXNzV2FzVW5leHBlY3RlZGx5VW5zdXNwZW5kZWQoKQogI2VuZGlmCiAKICAgICAjIFBs
dWctaW4gbWVzc2FnZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5k
ZXggNjBkNGM3YjdiYTc1M2UwMzRiNmFjMjEwYTUxODAyNTE0M2U0YjY1Yi4uNmJiY2IxYjMxNGQz
NzI2NjAzNjM1OWE0M2I4MDg2ZWU2NGU1MDU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcApAQCAtMTkyLDYgKzE5Miw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3Mo
KQogICAgICwgbV9ub25WaXNpYmxlUHJvY2Vzc0NsZWFudXBUaW1lcigqdGhpcywgJldlYlByb2Nl
c3M6Om5vblZpc2libGVQcm9jZXNzQ2xlYW51cFRpbWVyRmlyZWQpCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICAsIG1fd2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyKFt0aGlzXShib29sIGlz
SG9sZGluZ0xvY2tlZEZpbGVzKSB7IHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVz
c2FnZXM6OldlYlByb2Nlc3NQcm94eTo6U2V0SXNIb2xkaW5nTG9ja2VkRmlsZXMoaXNIb2xkaW5n
TG9ja2VkRmlsZXMpLCAwKTsgfSkKKyAgICAsIG1fdGFza1N0YXRlT2JzZXJ2ZXIoUHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyOjpjcmVhdGUoKnRoaXMpKQogI2VuZGlmCiB7CiAgICAgLy8gSW5pdGlh
bGl6ZSBvdXIgcGxhdGZvcm0gc3RyYXRlZ2llcy4KQEAgLTIxOSw2ICsyMjAsNyBAQCBXZWJQcm9j
ZXNzOjpXZWJQcm9jZXNzKCkKIAogV2ViUHJvY2Vzczo6fldlYlByb2Nlc3MoKQogeworICAgIG1f
dGFza1N0YXRlT2JzZXJ2ZXItPmludmFsaWRhdGUoKTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjpp
bml0aWFsaXplUHJvY2Vzcyhjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJh
bWV0ZXJzJiBwYXJhbWV0ZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5k
ZXggYTViMTJkMzBjNzcyN2ZlN2VmMGQzMzZiM2NlYTZiNzRiZjIxOWM0OS4uYWUxZjYwMzA4M2M0
MDFmMDkzOThiNjZhOTlkMjJlMjE1ZTE2ZjE1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCkBAIC01MjcsNyArNTI3LDcgQEAgcHJpdmF0ZToKIAogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCiAgICAgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyIG1fd2ViU1FMaXRlRGF0YWJh
c2VUcmFja2VyOwotICAgIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciBtX3Rhc2tTdGF0ZU9ic2Vy
dmVyIHsgKnRoaXMgfTsKKyAgICBSZWY8UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyPiBtX3Rhc2tT
dGF0ZU9ic2VydmVyOwogI2VuZGlmCiAKICAgICBlbnVtIFBhZ2VNYXJraW5nTGF5ZXJzQXNWb2xh
dGlsZUNvdW50ZXJUeXBlIHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IDNkODBiZTI5OTk3NTA1OTE5NGVhMTM1MTA2YWJk
MmFhNTU5ZDQ2MDguLjI3OWVhZmZhZGVlYjljYWQxNWEzZGIyMGQ1OWU3MDI0ODM0YWI3ZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5t
bQpAQCAtMjk0LDYgKzI5NCw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6dXBkYXRlUHJvY2Vzc05hbWUo
KQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiB2b2lkIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNr
U3RhdGVEaWRDaGFuZ2UoUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpUYXNrU3RhdGUgdGFza1N0
YXRlKQogeworICAgIC8vIE5PVEU6IFRoaXMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIGJhY2tncm91
bmQgdGhyZWFkLgogICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQ
cm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKCkgLSB0YXNrU3RhdGUoJWQpIiwgdGhp
cywgdGFza1N0YXRlKTsKICAgICBpZiAodGFza1N0YXRlID09IFByb2Nlc3NUYXNrU3RhdGVPYnNl
cnZlcjo6Tm9uZSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzExLDggKzMxMiwxMCBAQCB2b2lkIFdl
YlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoUHJvY2Vzc1Rhc2tTdGF0ZU9ic2Vy
dmVyOjpUYXNrU3RhdGUgdAogCiAgICAgLy8gV2Ugd2VyZSBhd2FrZW5lZCBmcm9tIHN1c3BlbnNp
b24gdW5leHBlY3RlZGx5LiBOb3RpZnkgdGhlIFdlYlByb2Nlc3NQcm94eSwgYnV0IHRha2UgYSBw
cm9jZXNzIGFzc2VydGlvbiBvbiBvdXIgcGFyZW50IFBJRAogICAgIC8vIHRvIGVuc3VyZSB0aGF0
IGl0IHRvbyBpcyBhd2FrZW5lZC4KLSAgICBhdXRvIHVpUHJvY2Vzc0Fzc2VydGlvbiA9IG1ha2VV
bmlxdWU8UHJvY2Vzc0Fzc2VydGlvbj4ocGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+cmVtb3Rl
UHJvY2Vzc0lEKCksICJVbmV4cGVjdGVkbHkgcmVzdW1lZCIsIEFzc2VydGlvblN0YXRlOjpCYWNr
Z3JvdW5kLCBBc3NlcnRpb25SZWFzb246OkZpbmlzaFRhc2spOwotICAgIHBhcmVudFByb2Nlc3ND
b25uZWN0aW9uKCktPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5
OjpQcm9jZXNzV2FzVW5leHBlY3RlZGx5VW5zdXNwZW5kZWQoKSwgW3VpUHJvY2Vzc0Fzc2VydGlv
biA9IFdURk1vdmUodWlQcm9jZXNzQXNzZXJ0aW9uKV0geyB9KTsKKworICAgIGF1dG8gdWlQcm9j
ZXNzQXNzZXJ0aW9uID0gYWRvcHROUyhbW0JLU1Byb2Nlc3NBc3NlcnRpb24gYWxsb2NdIGluaXRX
aXRoUElEOnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnJlbW90ZVByb2Nlc3NJRCgpIGZsYWdz
OkJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1N1c3BlbmQgcmVhc29uOkJLU1Byb2Nlc3NB
c3NlcnRpb25SZWFzb25GaW5pc2hUYXNrIG5hbWU6QCJVbmV4cGVjdGVkbHkgcmVzdW1lZCIgd2l0
aEhhbmRsZXI6bmlsXSk7CisgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNz
YWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpQcm9jZXNzV2FzVW5leHBlY3RlZGx5VW5zdXNwZW5kZWQo
KSwgMCk7CisgICAgZGlzcGF0Y2hfYWZ0ZXIoZGlzcGF0Y2hfdGltZShESVNQQVRDSF9USU1FX05P
VywgKGludDY0X3QpKDUgKiBOU0VDX1BFUl9TRUMpKSwgZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUo
KSwgW2Fzc2VydGlvbiA9IFdURk1vdmUodWlQcm9jZXNzQXNzZXJ0aW9uKV0geyB9KTsKIH0KICNl
bmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379692</attachid>
            <date>2019-09-26 15:53:09 -0700</date>
            <delta_ts>2019-09-26 16:39:32 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-202279-20190926155308.patch</filename>
            <type>text/plain</type>
            <size>13606</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmYjhiNmVjNWZkYzcyOTk4
MWFhOTE1MTg5ZDc0OThiYTlmODU4NDUuLjNhMDA1Nzc2ZmU5MzIxN2ZhYWFlZmM0YzI3YWIwYTYz
Mzc4MjY4YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMgQEAKKzIwMTktMDktMjYgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTG9jayBzY3JlZW4gY29u
dHJvbHMgY2FuIGZhaWwgdG8gcGxheSB3ZWIgY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Q2hyaXMgRHVtZXouCisKKyAgICAgICAgV2hlbiBwbGF5YmFjayBpcyBwYXVzZWQgZnJvbSB0aGUg
bG9jayBzY3JlZW4gdmlhIE5vdyBQbGF5aW5nIGNvbnRyb2xzLCB0aGUgV2ViUHJvY2VzcywKKyAg
ICAgICAgVUlQcm9jZXNzLCBhbmQgTmV0d29yayBQcm9jZXNzIHdpbGwgYWxsIGJlIHN1c3BlbmRl
ZC4gTWVkaWFSZW1vdGUgd2lsbCB0YWtlIGFuIGFzc2VydGlvbgorICAgICAgICBhbmQgd2FrZSB1
cCB0aGUgV2ViUHJvY2VzcyB3aGVuIGEgcmVtb3RlIGNvbnRyb2wgY29tbWFuZCB0byAicGxheSIg
aXMgc2VudCB2aWEgdGhlIE5vdworICAgICAgICBQbGF5aW5nIGNvbnRyb2xzLiBIb3dldmVyLCBp
ZiBhIHN5bmNocm9ub3VzIG1lc3NhZ2UgdG8gdGhlIChzdXNwZW5kZWQpIE5ldHdvcmsgb3IgVUlQ
cm9jZXNzCisgICAgICAgIGlzIGlzc3VlZCBiZWZvcmUgdGhlIG5vdGlmaWNhdGlvbiB0aGF0IHRo
ZSBwcm9jZXNzIHdhcyB1bmV4cGVjdGVkbHkgdW5zdXNwZW5kZWQgY2FuIGJlCisgICAgICAgIGlz
c3VlZCAod2hpY2ggd2lsbCBzdWJzZXF1ZW50bHkgdW5zdXNwZW5kIHRoZSBVSVByb2Nlc3MgYW5k
IE5ldHdvcmsgcHJvY2VzcyksIHdlIGNhbiBnZXQKKyAgICAgICAgaW50byBhIGRlYWRsb2NrZWQg
c3RhdGUgd2hlcmUgdGhlIG1haW4gdGhyZWFkIGlzIGJsb2NrZWQgb24gdGhlIHN5bmMgbWVzc2Fn
ZSB0byBhIHN1c3BlbmRlZAorICAgICAgICBwcm9jZXNzLgorCisgICAgICAgIFRvIHdvcmsgYXJv
dW5kIHRoaXMgcHJvYmxlbSwgbW92ZSBhbGwgdGhlIHByb2Nlc3NpbmcgZnJvbSBQcm9jZXNzVGFz
a1N0YXRlT2JzZXJ2ZXIgdG8gYQorICAgICAgICBXb3JrUXVldWUgLyBiYWNrZ3JvdW5kIHRocmVh
ZC4gVGhpcyByZXF1aXJlcyBtYWtpbmcgdGhlIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciB0aHJl
YWQtc2FmZSwKKyAgICAgICAgdGhvdWdoIGl0cyBvbmx5IGN1cnJlbnQgY2xpZW50IGlzIGEgU2lu
Z2xldG9uICh0aGUgV2ViUHJvY2VzcyBjbGFzcyksIGFuZCBzbyB0aGUgcmlzayBvZgorICAgICAg
ICB0aHJlYWQgc2FmZXR5IGlzc3VlcyBpcyBjdXJyZW50bHkgbWluaW1hbC4gUmVnYXJkbGVzcywg
YWNjZXNzIHRvIHRoZSBDbGllbnQgcG9pbnRlciBtdXN0IGJlCisgICAgICAgIGd1YXJkZWQgYnkg
YSBMb2NrLCBhbmQgdGhlIENsaWVudCBpdHNlbGYgbXVzdCBiZWNvbWUgcmVmLWNvdW50ZWQsIHNv
IHRoYXQgdGhlCisgICAgICAgIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciBjYW4gcmVmIGl0cyBD
bGllbnQgKHRoZSBXZWJQcm9jZXNzKSBkdXJpbmcgY2FsbGJhY2sgcHJvY2Vzc2luZy4KKworICAg
ICAgICBVbmZvcnR1bmF0ZWx5LCBzZW5kV2l0aEFzeW5jUmVwbHkoKSBpcyBub3QgdGhyZWFkIHNh
ZmUsIG5vciBpcyBQcm9jZXNzQXNzZXJ0aW9uLCBzbyBpbnN0ZWFkCisgICAgICAgIGp1c3QgdXNl
IHNlbmQoKSBhbmQgc2V0IGEgNS1zZWNvbmQgdGltZW91dCBiZWZvcmUgZXhwaXJpbmcgdGhlIGFz
c2VydGlvbiwgYW5kIGp1c3QgdXNlCisgICAgICAgIEJLU1Byb2Nlc3NTdGF0ZUFzc2VydGlvbiBk
aXJlY3RseS4KKworICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2
ZXIuaDoKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpDbGllbnQ6
OnJlZik6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6Q2xpZW50
OjpkZXJlZik6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0
Q2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2Vy
dmVyOjpjbGllbnQpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9jZXNzVGFz
a1N0YXRlT2JzZXJ2ZXIubW06CisgICAgICAgICgtW1dLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVy
RGVsZWdhdGUgcHJvY2Vzczp0YXNrU3RhdGVEaWRDaGFuZ2U6XSk6CisgICAgICAgIChXZWJLaXQ6
OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIpOgorICAgICAg
ICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6On5Qcm9jZXNzVGFza1N0YXRlT2Jz
ZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmludmFs
aWRhdGUpOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmNsaWVu
dCk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0VGFza1N0
YXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjptX3Rhc2tTdGF0ZU9ic2VydmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1VuZXhwZWN0ZWRs
eVVuc3VzcGVuZGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZSk6CisKIDIwMTktMDgtMDggIEpl
ciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IHRoZSBS
ZW1vdGUgUGxheWJhY2sgQVBJLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaAppbmRleCAxZjk2MDk0NzUxN2MyNTg1OTlhNmU4
ZDEwY2MyMzE4MDQ5ZTFhYjZhLi44ZmNkZjk3OTBmYWI1MDVhYTczNTVlOGQwYTVkMDhhNjVlNzE0
OTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0
YXRlT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFz
a1N0YXRlT2JzZXJ2ZXIuaApAQCAtMjcsMTkgKzI3LDIwIEBACiAKICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQogCisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAKIE9CSkNfQ0xBU1Mg
V0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJEZWxlZ2F0ZTsKIE9CSkNfQ0xBU1MgQktTUHJvY2Vz
czsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZl
ciB7CitjbGFzcyBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJl
ZkNvdW50ZWQ8UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyPiB7CiBwdWJsaWM6CiAgICAgY2xhc3Mg
Q2xpZW50OwogCi0gICAgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCk7Ci0gICAgZXhwbGljaXQg
UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKENsaWVudCYpOworICAgIHN0YXRpYyBSZWY8UHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyPiBjcmVhdGUoQ2xpZW50Jik7CiAgICAgflByb2Nlc3NUYXNrU3Rh
dGVPYnNlcnZlcigpOwogICAgIAogICAgIGVudW0gVGFza1N0YXRlIHsKQEAgLTU0LDE1ICs1NSwx
NSBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzVGFza1N0YXRlRGlkQ2hh
bmdlKFRhc2tTdGF0ZSkgPSAwOwogICAgIH07CiAKLSAgICB2b2lkIHNldENsaWVudChDbGllbnQm
IGNsaWVudCkgeyBtX2NsaWVudCA9ICZjbGllbnQ7IH0KLSAgICBDbGllbnQqIGNsaWVudCgpIHsg
cmV0dXJuIG1fY2xpZW50OyB9Ci0KKyAgICB2b2lkIGludmFsaWRhdGUoKTsKICAgICBUYXNrU3Rh
dGUgdGFza1N0YXRlKCkgY29uc3QgeyByZXR1cm4gbV90YXNrU3RhdGU7IH0KIAogcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoQ2xpZW50Jik7CiAgICAgdm9p
ZCBzZXRUYXNrU3RhdGUoVGFza1N0YXRlKTsKIAotICAgIENsaWVudCogbV9jbGllbnQgeyBudWxs
cHRyIH07CisgICAgQ2xpZW50KiBtX2NsaWVudDsKKyAgICBMb2NrIG1fY2xpZW50TG9jazsKICAg
ICBUYXNrU3RhdGUgbV90YXNrU3RhdGUgeyBOb25lIH07CiAgICAgUmV0YWluUHRyPEJLU1Byb2Nl
c3M+IG1fcHJvY2VzczsKICAgICBSZXRhaW5QdHI8V0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJE
ZWxlZ2F0ZT4gbV9kZWxlZ2F0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
Y29hL1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
Y29hL1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5tbQppbmRleCA5MzIzOWEyZGFjNzgxNmM2MDll
ZjMzZmU5YTE5ZTA4OTYzNTVjYmJiLi41NWNiMTVlZDNlNzllNTBmYWUzMzc1YWExMGMwMTBkYWY1
ZDA1OWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFz
a1N0YXRlT2JzZXJ2ZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvUHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyLm1tCkBAIC00NywxMCArNDcsOCBAQCAtICh2b2lkKXByb2Nlc3M6
KEJLU1Byb2Nlc3MgKilwcm9jZXNzIHRhc2tTdGF0ZURpZENoYW5nZTooQktTUHJvY2Vzc1Rhc2tT
dGF0ZSluZQogewogICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLVtXS1By
b2Nlc3NUYXNrU3RhdGVPYnNlcnZlckRlbGVnYXRlIHByb2Nlc3M6dGFza1N0YXRlRGlkQ2hhbmdl
Ol0sIHByb2Nlc3MoJXApLCBuZXdTdGF0ZSglZCkiLCBzZWxmLCBwcm9jZXNzLCAoaW50KW5ld1N0
YXRlKTsKIAotICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57
Ci0gICAgICAgIGlmIChzZWxmLnRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFjaykKLSAgICAgICAgICAg
IHNlbGYudGFza1N0YXRlQ2hhbmdlZENhbGxiYWNrKG5ld1N0YXRlKTsKLSAgICB9KTsKKyAgICBp
ZiAoYXV0byBjYWxsYmFjayA9IF90YXNrU3RhdGVDaGFuZ2VkQ2FsbGJhY2spCisgICAgICAgIGNh
bGxiYWNrKG5ld1N0YXRlKTsKIH0KIEBlbmQKIApAQCAtNjQsMjUgKzYyLDMyIEBAIHN0YXRpYyBQ
cm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSB0b1Byb2Nlc3NUYXNrU3RhdGVPYnNl
cnZlclRhc2tTdGF0ZShCCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFByb2Nlc3NUYXNrU3RhdGVP
YnNlcnZlcjo6VGFza1N0YXRlPihzdGF0ZSk7CiB9CiAKLVByb2Nlc3NUYXNrU3RhdGVPYnNlcnZl
cjo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCkKLSAgICA6IG1fcHJvY2VzcyhbZ2V0QktTUHJv
Y2Vzc0NsYXNzKCkgY3VycmVudFByb2Nlc3NdKQorUmVmPFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZl
cj4gUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpjcmVhdGUoQ2xpZW50JiBjbGllbnQpCit7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKGNsaWVudCkp
OworfQorCitQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZl
cihDbGllbnQmIGNsaWVudCkKKyAgICA6IG1fY2xpZW50KCZjbGllbnQpCisgICAgLCBtX3Byb2Nl
c3MoW2dldEJLU1Byb2Nlc3NDbGFzcygpIGN1cnJlbnRQcm9jZXNzXSkKICAgICAsIG1fZGVsZWdh
dGUoYWRvcHROUyhbW1dLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyRGVsZWdhdGUgYWxsb2NdIGlu
aXRdKSkKIHsKICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gUHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoKSwgbV9wcm9jZXNz
KCVwKSIsIHRoaXMsIG1fcHJvY2Vzcy5nZXQoKSk7Ci0gICAgbV9kZWxlZ2F0ZS5nZXQoKS50YXNr
U3RhdGVDaGFuZ2VkQ2FsbGJhY2sgPSBbdGhpc10gKEJLU1Byb2Nlc3NUYXNrU3RhdGUgc3RhdGUp
IHsKLSAgICAgICAgc2V0VGFza1N0YXRlKHRvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyVGFza1N0
YXRlKHN0YXRlKSk7CisgICAgbV9kZWxlZ2F0ZS5nZXQoKS50YXNrU3RhdGVDaGFuZ2VkQ2FsbGJh
Y2sgPSBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIodGhpcyldIChCS1NQcm9jZXNzVGFza1N0
YXRlIHN0YXRlKSB7CisgICAgICAgIHByb3RlY3RlZFRoaXMtPnNldFRhc2tTdGF0ZSh0b1Byb2Nl
c3NUYXNrU3RhdGVPYnNlcnZlclRhc2tTdGF0ZShzdGF0ZSkpOwogICAgIH07CiAgICAgbV9wcm9j
ZXNzLmdldCgpLmRlbGVnYXRlID0gbV9kZWxlZ2F0ZS5nZXQoKTsKIH0KIAotUHJvY2Vzc1Rhc2tT
dGF0ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoQ2xpZW50JiBjbGllbnQpCi0g
ICAgOiBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoKQorUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVy
Ojp+UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCkKIHsKLSAgICBzZXRDbGllbnQoY2xpZW50KTsK
KyAgICBtX2RlbGVnYXRlLmdldCgpLnRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFjayA9IG5pbDsKIH0K
IAotUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjp+UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCkK
K3ZvaWQgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjppbnZhbGlkYXRlKCkKIHsKKyAgICBMb2Nr
SG9sZGVyIGhvbGRlcihtX2NsaWVudExvY2spOworICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKICAg
ICBtX2RlbGVnYXRlLmdldCgpLnRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFjayA9IG5pbDsKIH0KIApA
QCAtOTIsNiArOTcsOCBAQCB2b2lkIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0VGFza1N0
YXRlKFRhc2tTdGF0ZSBzdGF0ZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV90YXNrU3RhdGUg
PSBzdGF0ZTsKKworICAgIExvY2tIb2xkZXIgaG9sZGVyKG1fY2xpZW50TG9jayk7CiAgICAgaWYg
KG1fY2xpZW50KQogICAgICAgICBtX2NsaWVudC0+cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShz
dGF0ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IDFhODI1M2FjMDQyMmQxZWVhNDk5ODM3OWI1NjI4NDZj
NTViYzc2MWQuLmJiNDkwZGY5ZjY2ZjMxYmU0MjA2OWNiZGFjN2RhNDFjMmQ2MDkzZDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNv
Y29hLm1tCkBAIC0xOTAsMTIgKzE5MCwxMSBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6cmVsZWFz
ZUhpZ2hQZXJmb3JtYW5jZUdQVSgpCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
Ci12b2lkIFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1VuZXhwZWN0ZWRseVVuc3VzcGVuZGVk
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uKQordm9pZCBXZWJQcm9jZXNz
UHJveHk6OnByb2Nlc3NXYXNVbmV4cGVjdGVkbHlVbnN1c3BlbmRlZCgpCiB7CiAgICAgaWYgKG1f
dGhyb3R0bGVyLnNob3VsZEJlUnVubmFibGUoKSkgewogICAgICAgICAvLyBUaGUgcHJvY2VzcyBi
ZWNvbWluZyB1bnN1c3BlbmRlZCB3YXMgbm90IHVuZXhwZWN0ZWQ7IGl0IGxpa2VseSB3YXMgbm90
aWZpZWQgb2YgaXRzIHJ1bm5pbmcgc3RhdGUKICAgICAgICAgLy8gYmVmb3JlIHJlY2VpdmluZyBh
IHByb2NzZXNzRGlkUmVzdW1lKCkgbWVzc2FnZSBmcm9tIHRoZSBVSVByb2Nlc3MuCi0gICAgICAg
IGNvbXBsZXRpb24oKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMjA2LDcgKzIwNSw2
IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzV2FzVW5leHBlY3RlZGx5VW5zdXNwZW5k
ZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpCiAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NT
dXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NXYXNVbmV4cGVjdGVkbHlV
bnN1c3BlbmRlZCgpIC0gbGFtYmRhLCBiYWNrZ3JvdW5kIGFjdGl2aXR5IHRpbWVkIG91dCIsIHdl
YWtUaGlzLmdldCgpKTsKICAgICB9OwogICAgIG1fdW5leHBlY3RlZEFjdGl2aXR5VGltZXIgPSBt
YWtlVW5pcXVlPFdlYkNvcmU6OkRlZmVycmFibGVPbmVTaG90VGltZXI+KFdURk1vdmUoYmFja2dy
b3VuZEFjdGl2aXR5VGltZW91dEhhbmRsZXIpLCB1bmV4cGVjdGVkQWN0aXZpdHlEdXJhdGlvbik7
Ci0gICAgY29tcGxldGlvbigpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXggNWUxOWMyZjc0M2UxNTNjNDc0Yzg2YmVkM2Q4NjY3MTRh
ZWI2ODlhYy4uYTczZGM4OTlkMzA3MDlmMTdlZmM3YzhmZTljMzcxY2QyYmRjZDNhYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKQEAgLTMwNiw3ICszMDYsNyBA
QCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgdm9pZCBw
cm9jZXNzV2FzVW5leHBlY3RlZGx5VW5zdXNwZW5kZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmKTsKKyAgICB2b2lkIHByb2Nlc3NXYXNVbmV4cGVjdGVkbHlVbnN1c3BlbmRlZCgpOwogI2Vu
ZGlmCiAKICAgICB2b2lkIHdlYlBhZ2VNZWRpYVN0YXRlRGlkQ2hhbmdlKFdlYlBhZ2VQcm94eSYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3Nh
Z2VzLmluCmluZGV4IDk4ZDlkMjMxMjY3Y2M1NDQ3ZGQ5YzQ1NjIwODE2ODg3NGE3MzFhOWEuLmUz
Nzc4MmU3NWE3M2NjYTU4MjUxMmE0ODFmNjVjNmRhY2JhYTE2NjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KQEAgLTcxLDcg
KzcxLDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdmVyIHsKICNl
bmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBQcm9jZXNzV2FzVW5leHBlY3Rl
ZGx5VW5zdXNwZW5kZWQoKSAtPiAoKSBBc3luYworICAgIFByb2Nlc3NXYXNVbmV4cGVjdGVkbHlV
bnN1c3BlbmRlZCgpCiAjZW5kaWYKIAogICAgICMgUGx1Zy1pbiBtZXNzYWdlcy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCA2MGQ0YzdiN2JhNzUzZTAzNGI2YWMy
MTBhNTE4MDI1MTQzZTRiNjViLi5lZDE4NDkyMzNjZWRkY2EwNWQzZTI2ZmI5Y2QzYTEyOTlmMDBm
OWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xOTIsNiAr
MTkyLDcgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAgICAgLCBtX25vblZpc2libGVQcm9j
ZXNzQ2xlYW51cFRpbWVyKCp0aGlzLCAmV2ViUHJvY2Vzczo6bm9uVmlzaWJsZVByb2Nlc3NDbGVh
bnVwVGltZXJGaXJlZCkKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgICwgbV93ZWJTUUxp
dGVEYXRhYmFzZVRyYWNrZXIoW3RoaXNdKGJvb2wgaXNIb2xkaW5nTG9ja2VkRmlsZXMpIHsgcGFy
ZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpT
ZXRJc0hvbGRpbmdMb2NrZWRGaWxlcyhpc0hvbGRpbmdMb2NrZWRGaWxlcyksIDApOyB9KQorICAg
ICwgbV90YXNrU3RhdGVPYnNlcnZlcihQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmNyZWF0ZSgq
dGhpcykpCiAjZW5kaWYKIHsKICAgICAvLyBJbml0aWFsaXplIG91ciBwbGF0Zm9ybSBzdHJhdGVn
aWVzLgpAQCAtMjE5LDYgKzIyMCw5IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogCiBXZWJQ
cm9jZXNzOjp+V2ViUHJvY2VzcygpCiB7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBt
X3Rhc2tTdGF0ZU9ic2VydmVyLT5pbnZhbGlkYXRlKCk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQ
cm9jZXNzOjppbml0aWFsaXplUHJvY2Vzcyhjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKaW5kZXggYTViMTJkMzBjNzcyN2ZlN2VmMGQzMzZiM2NlYTZiNzRiZjIxOWM0OS4uYWUx
ZjYwMzA4M2M0MDFmMDkzOThiNjZhOTlkMjJlMjE1ZTE2ZjE1ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC01MjcsNyArNTI3LDcgQEAgcHJpdmF0ZToKIAogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCiAgICAgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyIG1fd2ViU1FM
aXRlRGF0YWJhc2VUcmFja2VyOwotICAgIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciBtX3Rhc2tT
dGF0ZU9ic2VydmVyIHsgKnRoaXMgfTsKKyAgICBSZWY8UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVy
PiBtX3Rhc2tTdGF0ZU9ic2VydmVyOwogI2VuZGlmCiAKICAgICBlbnVtIFBhZ2VNYXJraW5nTGF5
ZXJzQXNWb2xhdGlsZUNvdW50ZXJUeXBlIHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IDNkODBiZTI5OTk3NTA1OTE5NGVh
MTM1MTA2YWJkMmFhNTU5ZDQ2MDguLmE0MDVlZThhNzc2MDI3Zjk3ZDA2ZTU5MzMzZTI0OWUzYmNj
MmUwYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbQpAQCAtMjk0LDYgKzI5NCw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6dXBkYXRlUHJv
Y2Vzc05hbWUoKQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiB2b2lkIFdlYlByb2Nlc3M6OnBy
b2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpUYXNrU3Rh
dGUgdGFza1N0YXRlKQogeworICAgIC8vIE5PVEU6IFRoaXMgd2lsbCBiZSBjYWxsZWQgZnJvbSBh
IGJhY2tncm91bmQgdGhyZWFkLgogICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAi
JXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKCkgLSB0YXNrU3RhdGUo
JWQpIiwgdGhpcywgdGFza1N0YXRlKTsKICAgICBpZiAodGFza1N0YXRlID09IFByb2Nlc3NUYXNr
U3RhdGVPYnNlcnZlcjo6Tm9uZSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzExLDggKzMxMiwxMCBA
QCB2b2lkIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoUHJvY2Vzc1Rhc2tT
dGF0ZU9ic2VydmVyOjpUYXNrU3RhdGUgdAogCiAgICAgLy8gV2Ugd2VyZSBhd2FrZW5lZCBmcm9t
IHN1c3BlbnNpb24gdW5leHBlY3RlZGx5LiBOb3RpZnkgdGhlIFdlYlByb2Nlc3NQcm94eSwgYnV0
IHRha2UgYSBwcm9jZXNzIGFzc2VydGlvbiBvbiBvdXIgcGFyZW50IFBJRAogICAgIC8vIHRvIGVu
c3VyZSB0aGF0IGl0IHRvbyBpcyBhd2FrZW5lZC4KLSAgICBhdXRvIHVpUHJvY2Vzc0Fzc2VydGlv
biA9IG1ha2VVbmlxdWU8UHJvY2Vzc0Fzc2VydGlvbj4ocGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24o
KS0+cmVtb3RlUHJvY2Vzc0lEKCksICJVbmV4cGVjdGVkbHkgcmVzdW1lZCIsIEFzc2VydGlvblN0
YXRlOjpCYWNrZ3JvdW5kLCBBc3NlcnRpb25SZWFzb246OkZpbmlzaFRhc2spOwotICAgIHBhcmVu
dFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUHJv
Y2Vzc1Byb3h5OjpQcm9jZXNzV2FzVW5leHBlY3RlZGx5VW5zdXNwZW5kZWQoKSwgW3VpUHJvY2Vz
c0Fzc2VydGlvbiA9IFdURk1vdmUodWlQcm9jZXNzQXNzZXJ0aW9uKV0geyB9KTsKKworICAgIGF1
dG8gdWlQcm9jZXNzQXNzZXJ0aW9uID0gYWRvcHROUyhbW0JLU1Byb2Nlc3NBc3NlcnRpb24gYWxs
b2NdIGluaXRXaXRoUElEOnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnJlbW90ZVByb2Nlc3NJ
RCgpIGZsYWdzOkJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1N1c3BlbmQgcmVhc29uOkJL
U1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrIG5hbWU6QCJVbmV4cGVjdGVkbHkgcmVz
dW1lZCIgd2l0aEhhbmRsZXI6bmlsXSk7CisgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+
c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpQcm9jZXNzV2FzVW5leHBlY3RlZGx5VW5z
dXNwZW5kZWQoKSwgMCk7CisgICAgZGlzcGF0Y2hfYWZ0ZXIoZGlzcGF0Y2hfdGltZShESVNQQVRD
SF9USU1FX05PVywgKGludDY0X3QpKDUgKiBOU0VDX1BFUl9TRUMpKSwgZGlzcGF0Y2hfZ2V0X21h
aW5fcXVldWUoKSwgW2Fzc2VydGlvbiA9IFdURk1vdmUodWlQcm9jZXNzQXNzZXJ0aW9uKV0geyBb
YXNzZXJ0aW9uIGludmFsaWRhdGVdOyB9KTsKIH0KICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379696</attachid>
            <date>2019-09-26 16:39:34 -0700</date>
            <delta_ts>2019-09-27 09:27:52 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-202279-20190926163933.patch</filename>
            <type>text/plain</type>
            <size>13806</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmYjhiNmVjNWZkYzcyOTk4
MWFhOTE1MTg5ZDc0OThiYTlmODU4NDUuLjNhMDA1Nzc2ZmU5MzIxN2ZhYWFlZmM0YzI3YWIwYTYz
Mzc4MjY4YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMgQEAKKzIwMTktMDktMjYgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTG9jayBzY3JlZW4gY29u
dHJvbHMgY2FuIGZhaWwgdG8gcGxheSB3ZWIgY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Q2hyaXMgRHVtZXouCisKKyAgICAgICAgV2hlbiBwbGF5YmFjayBpcyBwYXVzZWQgZnJvbSB0aGUg
bG9jayBzY3JlZW4gdmlhIE5vdyBQbGF5aW5nIGNvbnRyb2xzLCB0aGUgV2ViUHJvY2VzcywKKyAg
ICAgICAgVUlQcm9jZXNzLCBhbmQgTmV0d29yayBQcm9jZXNzIHdpbGwgYWxsIGJlIHN1c3BlbmRl
ZC4gTWVkaWFSZW1vdGUgd2lsbCB0YWtlIGFuIGFzc2VydGlvbgorICAgICAgICBhbmQgd2FrZSB1
cCB0aGUgV2ViUHJvY2VzcyB3aGVuIGEgcmVtb3RlIGNvbnRyb2wgY29tbWFuZCB0byAicGxheSIg
aXMgc2VudCB2aWEgdGhlIE5vdworICAgICAgICBQbGF5aW5nIGNvbnRyb2xzLiBIb3dldmVyLCBp
ZiBhIHN5bmNocm9ub3VzIG1lc3NhZ2UgdG8gdGhlIChzdXNwZW5kZWQpIE5ldHdvcmsgb3IgVUlQ
cm9jZXNzCisgICAgICAgIGlzIGlzc3VlZCBiZWZvcmUgdGhlIG5vdGlmaWNhdGlvbiB0aGF0IHRo
ZSBwcm9jZXNzIHdhcyB1bmV4cGVjdGVkbHkgdW5zdXNwZW5kZWQgY2FuIGJlCisgICAgICAgIGlz
c3VlZCAod2hpY2ggd2lsbCBzdWJzZXF1ZW50bHkgdW5zdXNwZW5kIHRoZSBVSVByb2Nlc3MgYW5k
IE5ldHdvcmsgcHJvY2VzcyksIHdlIGNhbiBnZXQKKyAgICAgICAgaW50byBhIGRlYWRsb2NrZWQg
c3RhdGUgd2hlcmUgdGhlIG1haW4gdGhyZWFkIGlzIGJsb2NrZWQgb24gdGhlIHN5bmMgbWVzc2Fn
ZSB0byBhIHN1c3BlbmRlZAorICAgICAgICBwcm9jZXNzLgorCisgICAgICAgIFRvIHdvcmsgYXJv
dW5kIHRoaXMgcHJvYmxlbSwgbW92ZSBhbGwgdGhlIHByb2Nlc3NpbmcgZnJvbSBQcm9jZXNzVGFz
a1N0YXRlT2JzZXJ2ZXIgdG8gYQorICAgICAgICBXb3JrUXVldWUgLyBiYWNrZ3JvdW5kIHRocmVh
ZC4gVGhpcyByZXF1aXJlcyBtYWtpbmcgdGhlIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciB0aHJl
YWQtc2FmZSwKKyAgICAgICAgdGhvdWdoIGl0cyBvbmx5IGN1cnJlbnQgY2xpZW50IGlzIGEgU2lu
Z2xldG9uICh0aGUgV2ViUHJvY2VzcyBjbGFzcyksIGFuZCBzbyB0aGUgcmlzayBvZgorICAgICAg
ICB0aHJlYWQgc2FmZXR5IGlzc3VlcyBpcyBjdXJyZW50bHkgbWluaW1hbC4gUmVnYXJkbGVzcywg
YWNjZXNzIHRvIHRoZSBDbGllbnQgcG9pbnRlciBtdXN0IGJlCisgICAgICAgIGd1YXJkZWQgYnkg
YSBMb2NrLCBhbmQgdGhlIENsaWVudCBpdHNlbGYgbXVzdCBiZWNvbWUgcmVmLWNvdW50ZWQsIHNv
IHRoYXQgdGhlCisgICAgICAgIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciBjYW4gcmVmIGl0cyBD
bGllbnQgKHRoZSBXZWJQcm9jZXNzKSBkdXJpbmcgY2FsbGJhY2sgcHJvY2Vzc2luZy4KKworICAg
ICAgICBVbmZvcnR1bmF0ZWx5LCBzZW5kV2l0aEFzeW5jUmVwbHkoKSBpcyBub3QgdGhyZWFkIHNh
ZmUsIG5vciBpcyBQcm9jZXNzQXNzZXJ0aW9uLCBzbyBpbnN0ZWFkCisgICAgICAgIGp1c3QgdXNl
IHNlbmQoKSBhbmQgc2V0IGEgNS1zZWNvbmQgdGltZW91dCBiZWZvcmUgZXhwaXJpbmcgdGhlIGFz
c2VydGlvbiwgYW5kIGp1c3QgdXNlCisgICAgICAgIEJLU1Byb2Nlc3NTdGF0ZUFzc2VydGlvbiBk
aXJlY3RseS4KKworICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2
ZXIuaDoKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpDbGllbnQ6
OnJlZik6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6Q2xpZW50
OjpkZXJlZik6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0
Q2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2Vy
dmVyOjpjbGllbnQpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9jZXNzVGFz
a1N0YXRlT2JzZXJ2ZXIubW06CisgICAgICAgICgtW1dLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVy
RGVsZWdhdGUgcHJvY2Vzczp0YXNrU3RhdGVEaWRDaGFuZ2U6XSk6CisgICAgICAgIChXZWJLaXQ6
OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIpOgorICAgICAg
ICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6On5Qcm9jZXNzVGFza1N0YXRlT2Jz
ZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmludmFs
aWRhdGUpOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmNsaWVu
dCk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0VGFza1N0
YXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjptX3Rhc2tTdGF0ZU9ic2VydmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1VuZXhwZWN0ZWRs
eVVuc3VzcGVuZGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZSk6CisKIDIwMTktMDgtMDggIEpl
ciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IHRoZSBS
ZW1vdGUgUGxheWJhY2sgQVBJLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaAppbmRleCAxZjk2MDk0NzUxN2MyNTg1OTlhNmU4
ZDEwY2MyMzE4MDQ5ZTFhYjZhLi44ZmNkZjk3OTBmYWI1MDVhYTczNTVlOGQwYTVkMDhhNjVlNzE0
OTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0
YXRlT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFz
a1N0YXRlT2JzZXJ2ZXIuaApAQCAtMjcsMTkgKzI3LDIwIEBACiAKICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQogCisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAKIE9CSkNfQ0xBU1Mg
V0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJEZWxlZ2F0ZTsKIE9CSkNfQ0xBU1MgQktTUHJvY2Vz
czsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZl
ciB7CitjbGFzcyBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJl
ZkNvdW50ZWQ8UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyPiB7CiBwdWJsaWM6CiAgICAgY2xhc3Mg
Q2xpZW50OwogCi0gICAgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCk7Ci0gICAgZXhwbGljaXQg
UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKENsaWVudCYpOworICAgIHN0YXRpYyBSZWY8UHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyPiBjcmVhdGUoQ2xpZW50Jik7CiAgICAgflByb2Nlc3NUYXNrU3Rh
dGVPYnNlcnZlcigpOwogICAgIAogICAgIGVudW0gVGFza1N0YXRlIHsKQEAgLTU0LDE1ICs1NSwx
NSBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzVGFza1N0YXRlRGlkQ2hh
bmdlKFRhc2tTdGF0ZSkgPSAwOwogICAgIH07CiAKLSAgICB2b2lkIHNldENsaWVudChDbGllbnQm
IGNsaWVudCkgeyBtX2NsaWVudCA9ICZjbGllbnQ7IH0KLSAgICBDbGllbnQqIGNsaWVudCgpIHsg
cmV0dXJuIG1fY2xpZW50OyB9Ci0KKyAgICB2b2lkIGludmFsaWRhdGUoKTsKICAgICBUYXNrU3Rh
dGUgdGFza1N0YXRlKCkgY29uc3QgeyByZXR1cm4gbV90YXNrU3RhdGU7IH0KIAogcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoQ2xpZW50Jik7CiAgICAgdm9p
ZCBzZXRUYXNrU3RhdGUoVGFza1N0YXRlKTsKIAotICAgIENsaWVudCogbV9jbGllbnQgeyBudWxs
cHRyIH07CisgICAgQ2xpZW50KiBtX2NsaWVudDsKKyAgICBMb2NrIG1fY2xpZW50TG9jazsKICAg
ICBUYXNrU3RhdGUgbV90YXNrU3RhdGUgeyBOb25lIH07CiAgICAgUmV0YWluUHRyPEJLU1Byb2Nl
c3M+IG1fcHJvY2VzczsKICAgICBSZXRhaW5QdHI8V0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJE
ZWxlZ2F0ZT4gbV9kZWxlZ2F0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
Y29hL1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
Y29hL1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5tbQppbmRleCA5MzIzOWEyZGFjNzgxNmM2MDll
ZjMzZmU5YTE5ZTA4OTYzNTVjYmJiLi41NWNiMTVlZDNlNzllNTBmYWUzMzc1YWExMGMwMTBkYWY1
ZDA1OWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFz
a1N0YXRlT2JzZXJ2ZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvUHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyLm1tCkBAIC00NywxMCArNDcsOCBAQCAtICh2b2lkKXByb2Nlc3M6
KEJLU1Byb2Nlc3MgKilwcm9jZXNzIHRhc2tTdGF0ZURpZENoYW5nZTooQktTUHJvY2Vzc1Rhc2tT
dGF0ZSluZQogewogICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLVtXS1By
b2Nlc3NUYXNrU3RhdGVPYnNlcnZlckRlbGVnYXRlIHByb2Nlc3M6dGFza1N0YXRlRGlkQ2hhbmdl
Ol0sIHByb2Nlc3MoJXApLCBuZXdTdGF0ZSglZCkiLCBzZWxmLCBwcm9jZXNzLCAoaW50KW5ld1N0
YXRlKTsKIAotICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57
Ci0gICAgICAgIGlmIChzZWxmLnRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFjaykKLSAgICAgICAgICAg
IHNlbGYudGFza1N0YXRlQ2hhbmdlZENhbGxiYWNrKG5ld1N0YXRlKTsKLSAgICB9KTsKKyAgICBp
ZiAoYXV0byBjYWxsYmFjayA9IF90YXNrU3RhdGVDaGFuZ2VkQ2FsbGJhY2spCisgICAgICAgIGNh
bGxiYWNrKG5ld1N0YXRlKTsKIH0KIEBlbmQKIApAQCAtNjQsMjUgKzYyLDMyIEBAIHN0YXRpYyBQ
cm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSB0b1Byb2Nlc3NUYXNrU3RhdGVPYnNl
cnZlclRhc2tTdGF0ZShCCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFByb2Nlc3NUYXNrU3RhdGVP
YnNlcnZlcjo6VGFza1N0YXRlPihzdGF0ZSk7CiB9CiAKLVByb2Nlc3NUYXNrU3RhdGVPYnNlcnZl
cjo6UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCkKLSAgICA6IG1fcHJvY2VzcyhbZ2V0QktTUHJv
Y2Vzc0NsYXNzKCkgY3VycmVudFByb2Nlc3NdKQorUmVmPFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZl
cj4gUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpjcmVhdGUoQ2xpZW50JiBjbGllbnQpCit7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKGNsaWVudCkp
OworfQorCitQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZl
cihDbGllbnQmIGNsaWVudCkKKyAgICA6IG1fY2xpZW50KCZjbGllbnQpCisgICAgLCBtX3Byb2Nl
c3MoW2dldEJLU1Byb2Nlc3NDbGFzcygpIGN1cnJlbnRQcm9jZXNzXSkKICAgICAsIG1fZGVsZWdh
dGUoYWRvcHROUyhbW1dLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyRGVsZWdhdGUgYWxsb2NdIGlu
aXRdKSkKIHsKICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gUHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoKSwgbV9wcm9jZXNz
KCVwKSIsIHRoaXMsIG1fcHJvY2Vzcy5nZXQoKSk7Ci0gICAgbV9kZWxlZ2F0ZS5nZXQoKS50YXNr
U3RhdGVDaGFuZ2VkQ2FsbGJhY2sgPSBbdGhpc10gKEJLU1Byb2Nlc3NUYXNrU3RhdGUgc3RhdGUp
IHsKLSAgICAgICAgc2V0VGFza1N0YXRlKHRvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyVGFza1N0
YXRlKHN0YXRlKSk7CisgICAgbV9kZWxlZ2F0ZS5nZXQoKS50YXNrU3RhdGVDaGFuZ2VkQ2FsbGJh
Y2sgPSBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIodGhpcyldIChCS1NQcm9jZXNzVGFza1N0
YXRlIHN0YXRlKSB7CisgICAgICAgIHByb3RlY3RlZFRoaXMtPnNldFRhc2tTdGF0ZSh0b1Byb2Nl
c3NUYXNrU3RhdGVPYnNlcnZlclRhc2tTdGF0ZShzdGF0ZSkpOwogICAgIH07CiAgICAgbV9wcm9j
ZXNzLmdldCgpLmRlbGVnYXRlID0gbV9kZWxlZ2F0ZS5nZXQoKTsKIH0KIAotUHJvY2Vzc1Rhc2tT
dGF0ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoQ2xpZW50JiBjbGllbnQpCi0g
ICAgOiBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoKQorUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVy
Ojp+UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCkKIHsKLSAgICBzZXRDbGllbnQoY2xpZW50KTsK
KyAgICBtX2RlbGVnYXRlLmdldCgpLnRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFjayA9IG5pbDsKIH0K
IAotUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjp+UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCkK
K3ZvaWQgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjppbnZhbGlkYXRlKCkKIHsKKyAgICBMb2Nr
SG9sZGVyIGhvbGRlcihtX2NsaWVudExvY2spOworICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKICAg
ICBtX2RlbGVnYXRlLmdldCgpLnRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFjayA9IG5pbDsKIH0KIApA
QCAtOTIsNiArOTcsOCBAQCB2b2lkIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0VGFza1N0
YXRlKFRhc2tTdGF0ZSBzdGF0ZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV90YXNrU3RhdGUg
PSBzdGF0ZTsKKworICAgIExvY2tIb2xkZXIgaG9sZGVyKG1fY2xpZW50TG9jayk7CiAgICAgaWYg
KG1fY2xpZW50KQogICAgICAgICBtX2NsaWVudC0+cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShz
dGF0ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IDFhODI1M2FjMDQyMmQxZWVhNDk5ODM3OWI1NjI4NDZj
NTViYzc2MWQuLmJiNDkwZGY5ZjY2ZjMxYmU0MjA2OWNiZGFjN2RhNDFjMmQ2MDkzZDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNv
Y29hLm1tCkBAIC0xOTAsMTIgKzE5MCwxMSBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6cmVsZWFz
ZUhpZ2hQZXJmb3JtYW5jZUdQVSgpCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
Ci12b2lkIFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1VuZXhwZWN0ZWRseVVuc3VzcGVuZGVk
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uKQordm9pZCBXZWJQcm9jZXNz
UHJveHk6OnByb2Nlc3NXYXNVbmV4cGVjdGVkbHlVbnN1c3BlbmRlZCgpCiB7CiAgICAgaWYgKG1f
dGhyb3R0bGVyLnNob3VsZEJlUnVubmFibGUoKSkgewogICAgICAgICAvLyBUaGUgcHJvY2VzcyBi
ZWNvbWluZyB1bnN1c3BlbmRlZCB3YXMgbm90IHVuZXhwZWN0ZWQ7IGl0IGxpa2VseSB3YXMgbm90
aWZpZWQgb2YgaXRzIHJ1bm5pbmcgc3RhdGUKICAgICAgICAgLy8gYmVmb3JlIHJlY2VpdmluZyBh
IHByb2NzZXNzRGlkUmVzdW1lKCkgbWVzc2FnZSBmcm9tIHRoZSBVSVByb2Nlc3MuCi0gICAgICAg
IGNvbXBsZXRpb24oKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMjA2LDcgKzIwNSw2
IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzV2FzVW5leHBlY3RlZGx5VW5zdXNwZW5k
ZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpCiAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NT
dXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NXYXNVbmV4cGVjdGVkbHlV
bnN1c3BlbmRlZCgpIC0gbGFtYmRhLCBiYWNrZ3JvdW5kIGFjdGl2aXR5IHRpbWVkIG91dCIsIHdl
YWtUaGlzLmdldCgpKTsKICAgICB9OwogICAgIG1fdW5leHBlY3RlZEFjdGl2aXR5VGltZXIgPSBt
YWtlVW5pcXVlPFdlYkNvcmU6OkRlZmVycmFibGVPbmVTaG90VGltZXI+KFdURk1vdmUoYmFja2dy
b3VuZEFjdGl2aXR5VGltZW91dEhhbmRsZXIpLCB1bmV4cGVjdGVkQWN0aXZpdHlEdXJhdGlvbik7
Ci0gICAgY29tcGxldGlvbigpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXggNWUxOWMyZjc0M2UxNTNjNDc0Yzg2YmVkM2Q4NjY3MTRh
ZWI2ODlhYy4uYTczZGM4OTlkMzA3MDlmMTdlZmM3YzhmZTljMzcxY2QyYmRjZDNhYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKQEAgLTMwNiw3ICszMDYsNyBA
QCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgdm9pZCBw
cm9jZXNzV2FzVW5leHBlY3RlZGx5VW5zdXNwZW5kZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmKTsKKyAgICB2b2lkIHByb2Nlc3NXYXNVbmV4cGVjdGVkbHlVbnN1c3BlbmRlZCgpOwogI2Vu
ZGlmCiAKICAgICB2b2lkIHdlYlBhZ2VNZWRpYVN0YXRlRGlkQ2hhbmdlKFdlYlBhZ2VQcm94eSYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3Nh
Z2VzLmluCmluZGV4IDk4ZDlkMjMxMjY3Y2M1NDQ3ZGQ5YzQ1NjIwODE2ODg3NGE3MzFhOWEuLmUz
Nzc4MmU3NWE3M2NjYTU4MjUxMmE0ODFmNjVjNmRhY2JhYTE2NjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KQEAgLTcxLDcg
KzcxLDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdmVyIHsKICNl
bmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBQcm9jZXNzV2FzVW5leHBlY3Rl
ZGx5VW5zdXNwZW5kZWQoKSAtPiAoKSBBc3luYworICAgIFByb2Nlc3NXYXNVbmV4cGVjdGVkbHlV
bnN1c3BlbmRlZCgpCiAjZW5kaWYKIAogICAgICMgUGx1Zy1pbiBtZXNzYWdlcy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCA2MGQ0YzdiN2JhNzUzZTAzNGI2YWMy
MTBhNTE4MDI1MTQzZTRiNjViLi5lZDE4NDkyMzNjZWRkY2EwNWQzZTI2ZmI5Y2QzYTEyOTlmMDBm
OWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xOTIsNiAr
MTkyLDcgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAgICAgLCBtX25vblZpc2libGVQcm9j
ZXNzQ2xlYW51cFRpbWVyKCp0aGlzLCAmV2ViUHJvY2Vzczo6bm9uVmlzaWJsZVByb2Nlc3NDbGVh
bnVwVGltZXJGaXJlZCkKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgICwgbV93ZWJTUUxp
dGVEYXRhYmFzZVRyYWNrZXIoW3RoaXNdKGJvb2wgaXNIb2xkaW5nTG9ja2VkRmlsZXMpIHsgcGFy
ZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpT
ZXRJc0hvbGRpbmdMb2NrZWRGaWxlcyhpc0hvbGRpbmdMb2NrZWRGaWxlcyksIDApOyB9KQorICAg
ICwgbV90YXNrU3RhdGVPYnNlcnZlcihQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmNyZWF0ZSgq
dGhpcykpCiAjZW5kaWYKIHsKICAgICAvLyBJbml0aWFsaXplIG91ciBwbGF0Zm9ybSBzdHJhdGVn
aWVzLgpAQCAtMjE5LDYgKzIyMCw5IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogCiBXZWJQ
cm9jZXNzOjp+V2ViUHJvY2VzcygpCiB7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBt
X3Rhc2tTdGF0ZU9ic2VydmVyLT5pbnZhbGlkYXRlKCk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQ
cm9jZXNzOjppbml0aWFsaXplUHJvY2Vzcyhjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKaW5kZXggYTViMTJkMzBjNzcyN2ZlN2VmMGQzMzZiM2NlYTZiNzRiZjIxOWM0OS4uYWUx
ZjYwMzA4M2M0MDFmMDkzOThiNjZhOTlkMjJlMjE1ZTE2ZjE1ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC01MjcsNyArNTI3LDcgQEAgcHJpdmF0ZToKIAogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCiAgICAgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyIG1fd2ViU1FM
aXRlRGF0YWJhc2VUcmFja2VyOwotICAgIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciBtX3Rhc2tT
dGF0ZU9ic2VydmVyIHsgKnRoaXMgfTsKKyAgICBSZWY8UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVy
PiBtX3Rhc2tTdGF0ZU9ic2VydmVyOwogI2VuZGlmCiAKICAgICBlbnVtIFBhZ2VNYXJraW5nTGF5
ZXJzQXNWb2xhdGlsZUNvdW50ZXJUeXBlIHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IDNkODBiZTI5OTk3NTA1OTE5NGVh
MTM1MTA2YWJkMmFhNTU5ZDQ2MDguLmM3MmNjOTBjMmFmMjM4ODQ1ZDMwNjNjNjcyODcxZmQ2MDM5
ZTUwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbQpAQCAtMjcsNiArMjcsNyBAQAogI2ltcG9ydCAiV2ViUHJvY2Vzcy5oIgogI2lt
cG9ydCAiV2ViUHJvY2Vzc0NvY29hLmgiCiAKKyNpbXBvcnQgIkFzc2VydGlvblNlcnZpY2VzU1BJ
LmgiCiAjaW1wb3J0ICJMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXIuaCIKICNpbXBvcnQgIkxv
Z0luaXRpYWxpemF0aW9uLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCkBAIC0yOTQsNiArMjk1LDcg
QEAgdm9pZCBXZWJQcm9jZXNzOjp1cGRhdGVQcm9jZXNzTmFtZSgpCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKIHZvaWQgV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShQcm9j
ZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSB0YXNrU3RhdGUpCiB7CisgICAgLy8gTk9U
RTogVGhpcyB3aWxsIGJlIGNhbGxlZCBmcm9tIGEgYmFja2dyb3VuZCB0aHJlYWQuCiAgICAgUkVM
RUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNr
U3RhdGVEaWRDaGFuZ2UoKSAtIHRhc2tTdGF0ZSglZCkiLCB0aGlzLCB0YXNrU3RhdGUpOwogICAg
IGlmICh0YXNrU3RhdGUgPT0gUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpOb25lKQogICAgICAg
ICByZXR1cm47CkBAIC0zMTEsOCArMzEzLDEwIEBAIHZvaWQgV2ViUHJvY2Vzczo6cHJvY2Vzc1Rh
c2tTdGF0ZURpZENoYW5nZShQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSB0CiAK
ICAgICAvLyBXZSB3ZXJlIGF3YWtlbmVkIGZyb20gc3VzcGVuc2lvbiB1bmV4cGVjdGVkbHkuIE5v
dGlmeSB0aGUgV2ViUHJvY2Vzc1Byb3h5LCBidXQgdGFrZSBhIHByb2Nlc3MgYXNzZXJ0aW9uIG9u
IG91ciBwYXJlbnQgUElECiAgICAgLy8gdG8gZW5zdXJlIHRoYXQgaXQgdG9vIGlzIGF3YWtlbmVk
LgotICAgIGF1dG8gdWlQcm9jZXNzQXNzZXJ0aW9uID0gbWFrZVVuaXF1ZTxQcm9jZXNzQXNzZXJ0
aW9uPihwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5yZW1vdGVQcm9jZXNzSUQoKSwgIlVuZXhw
ZWN0ZWRseSByZXN1bWVkIiwgQXNzZXJ0aW9uU3RhdGU6OkJhY2tncm91bmQsIEFzc2VydGlvblJl
YXNvbjo6RmluaXNoVGFzayk7Ci0gICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZFdp
dGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlByb2Nlc3NXYXNVbmV4cGVj
dGVkbHlVbnN1c3BlbmRlZCgpLCBbdWlQcm9jZXNzQXNzZXJ0aW9uID0gV1RGTW92ZSh1aVByb2Nl
c3NBc3NlcnRpb24pXSB7IH0pOworCisgICAgYXV0byB1aVByb2Nlc3NBc3NlcnRpb24gPSBhZG9w
dE5TKFtbQktTUHJvY2Vzc0Fzc2VydGlvbiBhbGxvY10gaW5pdFdpdGhQSUQ6cGFyZW50UHJvY2Vz
c0Nvbm5lY3Rpb24oKS0+cmVtb3RlUHJvY2Vzc0lEKCkgZmxhZ3M6QktTUHJvY2Vzc0Fzc2VydGlv
blByZXZlbnRUYXNrU3VzcGVuZCByZWFzb246QktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbkZpbmlz
aFRhc2sgbmFtZTpAIlVuZXhwZWN0ZWRseSByZXN1bWVkIiB3aXRoSGFuZGxlcjpuaWxdKTsKKyAg
ICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OlByb2Nlc3NXYXNVbmV4cGVjdGVkbHlVbnN1c3BlbmRlZCgpLCAwKTsKKyAgICBkaXNwYXRj
aF9hZnRlcihkaXNwYXRjaF90aW1lKERJU1BBVENIX1RJTUVfTk9XLCAoaW50NjRfdCkoNSAqIE5T
RUNfUEVSX1NFQykpLCBkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbYXNzZXJ0aW9uID0gV1RG
TW92ZSh1aVByb2Nlc3NBc3NlcnRpb24pXSB7IFthc3NlcnRpb24gaW52YWxpZGF0ZV07IH0pOwog
fQogI2VuZGlmCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>