<?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>223731</bug_id>
          
          <creation_ts>2021-03-24 23:20:45 -0700</creation_ts>
          <short_desc>Now Playing artwork doesn&apos;t update when changed.</short_desc>
          <delta_ts>2021-04-01 08:17:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=208710</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=210518</see_also>
          <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>
          <dependson>223795</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jean-Yves Avenard [:jya]">jean-yves.avenard</reporter>
          <assigned_to name="Jean-Yves Avenard [:jya]">jean-yves.avenard</assigned_to>
          <cc>annulen</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1743678</commentid>
    <comment_count>0</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-24 23:20:45 -0700</bug_when>
    <thetext>In bug 223118 we added support for artwork image.

When a new artwork is found, we call MediaRemote with the following keys:
        CFDictionarySetValue(info.get(), kMRMediaRemoteNowPlayingInfoArtworkData, nsArtwork.get());
        CFDictionarySetValue(info.get(), kMRMediaRemoteNowPlayingInfoArtworkMIMEType, nowPlayingInfo.artwork-&gt;mimeType.createCFString().get());
        CFDictionarySetValue(info.get(), kMRMediaRemoteNowPlayingInfoArtworkIdentifier, nowPlayingInfo.artwork-&gt;src.createCFString().get());

The artwork only gets refreshed once when the user click in macOS Now Playing menu bar and click on pause/play. It doesn&apos;t get updated from then on.

This bug is hoping to find the reason on why that would be the case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743679</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-24 23:20:53 -0700</bug_when>
    <thetext>&lt;rdar://problem/75823923&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745511</commentid>
    <comment_count>2</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-30 22:52:05 -0700</bug_when>
    <thetext>bug 208710 and bug 210518 combined the HTMLMediaElement unique identified and MediaSession unique identifier and this is what is being sent to MediaRemote along the Now Playing information.

The MediaSession unique identifier is as its name suggests, unique. Even if the media element is playing a different title, the content identifier that will be sent along the Now Playing CFDictionary will remain constant for the life of the web content process.

This causes information to not be refreshed as you would expect.

Additionally, two separate bugs in the Control Manager cause the artwork to not be refreshed when a new one is set.

1- The Control Manager apparently doesn&apos;t listen to change in the kMRMediaRemoteNowPlayingInfoArtworkIdentifier so if new artwork is sent after kMRMediaRemoteNowPlayingInfoUniqueIdentifier has been sent, we will continue to see the old image.

2- After kMRMediaRemoteNowPlayingInfoUniqueIdentifier changing, if we go from a Now Playing session with artwork to one without artwork, the old artwork will continue to show.

bug #1 is exposed due to how we asynchronously retrieve the artwork. We set a new Now Playing information dictionary with the title/artist/album (as those are retrieved synchronously) and call MediaRemote with those. Only once the image has been retrieved doe we call again MediaRemote with the artwork. 

In the incoming patch we will get around #1, for #2 a radar has been opened.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745556</commentid>
    <comment_count>3</comment_count>
      <attachid>424746</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-31 02:17:45 -0700</bug_when>
    <thetext>Created attachment 424746
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745569</commentid>
    <comment_count>4</comment_count>
      <attachid>424746</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-31 03:38:34 -0700</bug_when>
    <thetext>Comment on attachment 424746
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        &lt;rdar://problem/75823923&gt;

We usually try to have these two lines just after the title and before the comments.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:7515
&gt; +uint64_t HTMLMediaElement::mediaUniqueIdentifier() const

This seems like a regression to untype the id.
I would create a MediaUniqueIdentifier if we cannot use MediaSessionIdentifier.

That said, maybe we should just pass m_currentSrc.string() as part of the NowPlayingInfo.
It will then be up to the platform specific code to generate a unique ID from it, if it needs to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745575</commentid>
    <comment_count>5</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-31 04:03:23 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #4)

&gt; &gt; Source/WebCore/html/HTMLMediaElement.cpp:7515
&gt; &gt; +uint64_t HTMLMediaElement::mediaUniqueIdentifier() const
&gt; 
&gt; This seems like a regression to untype the id.
&gt; I would create a MediaUniqueIdentifier if we cannot use
&gt; MediaSessionIdentifier.

the id is only ever used as an uint64, and is the type to set in the CFDictionary passed to MediaRemote.

So passing a MediaUniqueIdentifier which ends up being just a uint64_t seems unwarranted.

&gt; 
&gt; That said, maybe we should just pass m_currentSrc.string() as part of the
&gt; NowPlayingInfo.
&gt; It will then be up to the platform specific code to generate a unique ID
&gt; from it, if it needs to.

I thought about that, but I wasn&apos;t 100% certain giving the actual src to something outside webkit was okay, such as privacy concern.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745581</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-31 04:16:25 -0700</bug_when>
    <thetext>(In reply to Jean-Yves Avenard [:jya] from comment #5)
&gt; (In reply to youenn fablet from comment #4)
&gt; 
&gt; &gt; &gt; Source/WebCore/html/HTMLMediaElement.cpp:7515
&gt; &gt; &gt; +uint64_t HTMLMediaElement::mediaUniqueIdentifier() const
&gt; &gt; 
&gt; &gt; This seems like a regression to untype the id.
&gt; &gt; I would create a MediaUniqueIdentifier if we cannot use
&gt; &gt; MediaSessionIdentifier.
&gt; 
&gt; the id is only ever used as an uint64, and is the type to set in the
&gt; CFDictionary passed to MediaRemote.
&gt; 
&gt; So passing a MediaUniqueIdentifier which ends up being just a uint64_t seems
&gt; unwarranted.

Given the mediaUniqueIdentifier name, it seems good to understand the scope of its uniqueness.
uint64_t does not give that, MediaUniqueIdentifier will be easier to reason about.

The thing I am not too clear is whether we want uniqueness only in WebProcess or if it is important that uniqueness also happens for all pages when setting playing info in GPUProcess.
In the latter case, ObjectIdentifier will not give that, we would need ProcessID+ObjectIdentifier.

&gt; &gt; That said, maybe we should just pass m_currentSrc.string() as part of the
&gt; &gt; NowPlayingInfo.
&gt; &gt; It will then be up to the platform specific code to generate a unique ID
&gt; &gt; from it, if it needs to.
&gt; 
&gt; I thought about that, but I wasn&apos;t 100% certain giving the actual src to
&gt; something outside webkit was okay, such as privacy concern.

Usually, strings like that would not by default be logged but I see your point.
How about passing currentUrlSrc, which is easy to understand, and set kMRMediaRemoteNowPlayingInfoArtworkIdentifier to currentUrlSrc.hash() down in Cocoa specific code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745740</commentid>
    <comment_count>7</comment_count>
      <attachid>424746</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-03-31 12:54:23 -0700</bug_when>
    <thetext>Comment on attachment 424746
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        If the same identifier is provided for every call to MRMediaRemoteSetNowPlayingInfo, then some updates may be skipped.
&gt; +        In earlier changes, the MediaSessionElement identifier was combined with the Media Element identifier which broke Now Playing as the MediaSession identifier never changes for the lifetime of the web content process.
&gt; +        So we create a new method HTMLMediaElement::mediaUniqueIdentifier that will use a hash based on the src string attribute
&gt; +        and once again separate the MediaSession identifier from the Media Element identifier.

Nit: please be kind to those of us that use smaller screen and wrap ChangeLog lines to a reasonable width (e.g. 100)

&gt; Source/WebCore/ChangeLog:18
&gt; +        (WebCore::HTMLMediaElement::mediaUniqueIdentifier const): Rename method to more clearly reflect the difference between a MediaSession identifier and the actual content being played.

Ditto.

&gt; Source/WebCore/ChangeLog:21
&gt; +        (WebCore::MediaElementSession::nowPlayingInfo const): use renamed method, so that we can uniquely identify the content being played rather than which MediaSessionElement is being used.

Ditto.

&gt; Source/WebCore/ChangeLog:28
&gt; +        (WebCore::MediaSessionManagerCocoa::setNowPlayingInfo): set kMRMediaRemoteNowPlayingInfoArtworkIdentifier in CFDictionary to the source of the artwork. Workaround a bug in Media Controller component.

Ditto.

&gt; Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm:310
&gt; +        CFDictionarySetValue(info.get(), kMRMediaRemoteNowPlayingInfoArtworkIdentifier, nowPlayingInfo.artwork-&gt;src.createCFString().get());

I agree that it would be better to not pass the URL because WebKit has a strict policy of never logging URLs, and we can&apos;t guarantee that NowPlaying has the same policy. 

Why not use the same identifier you use for kMRMediaRemoteNowPlayingInfoUniqueIdentifier?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745875</commentid>
    <comment_count>8</comment_count>
      <attachid>424848</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-31 17:44:27 -0700</bug_when>
    <thetext>Created attachment 424848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745884</commentid>
    <comment_count>9</comment_count>
      <attachid>424852</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-31 18:04:51 -0700</bug_when>
    <thetext>Created attachment 424852
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745892</commentid>
    <comment_count>10</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-31 18:18:00 -0700</bug_when>
    <thetext>not sure what webkit-patch did here, it uploaded the patch from another bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745917</commentid>
    <comment_count>11</comment_count>
      <attachid>424863</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-31 19:03:07 -0700</bug_when>
    <thetext>Created attachment 424863
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745930</commentid>
    <comment_count>12</comment_count>
      <attachid>424867</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-31 19:41:39 -0700</bug_when>
    <thetext>Created attachment 424867
Patch

Add MediaUniqueIdentifier.h to cmake</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746034</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-01 08:17:32 -0700</bug_when>
    <thetext>Committed r275359: &lt;https://commits.webkit.org/r275359&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424867.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424746</attachid>
            <date>2021-03-31 02:17:45 -0700</date>
            <delta_ts>2021-03-31 17:44:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223731-20210331201744.patch</filename>
            <type>text/plain</type>
            <size>18563</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjk4ZTMyZmIzMzQzM2Y3
ZWQyZThlYmE2NWJjNjdjY2Q3NWRjMGM4MS4uYzE2MmEwY2I1YTRjODU5MzEwMzBmOGM2NThkNmM5
YzdiYTQwZDBiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTAzLTMwICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgTm93IFBsYXlpbmcgYXJ0
d29yayBkb2Vzbid0IHVwZGF0ZSB3aGVuIGNoYW5nZWQuCisgICAgICAgIE5vdyBQbGF5aW5nIGFu
ZCBNZWRpYSBSZW1vdGUgcmVxdWlyZXMgYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGN1cnJl
bnRseSBwbGF5aW5nIGl0ZW0uCisgICAgICAgIElmIHRoZSBzYW1lIGlkZW50aWZpZXIgaXMgcHJv
dmlkZWQgZm9yIGV2ZXJ5IGNhbGwgdG8gTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdJbmZvLCB0
aGVuIHNvbWUgdXBkYXRlcyBtYXkgYmUgc2tpcHBlZC4KKyAgICAgICAgSW4gZWFybGllciBjaGFu
Z2VzLCB0aGUgTWVkaWFTZXNzaW9uRWxlbWVudCBpZGVudGlmaWVyIHdhcyBjb21iaW5lZCB3aXRo
IHRoZSBNZWRpYSBFbGVtZW50IGlkZW50aWZpZXIgd2hpY2ggYnJva2UgTm93IFBsYXlpbmcgYXMg
dGhlIE1lZGlhU2Vzc2lvbiBpZGVudGlmaWVyIG5ldmVyIGNoYW5nZXMgZm9yIHRoZSBsaWZldGlt
ZSBvZiB0aGUgd2ViIGNvbnRlbnQgcHJvY2Vzcy4KKyAgICAgICAgU28gd2UgY3JlYXRlIGEgbmV3
IG1ldGhvZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVVuaXF1ZUlkZW50aWZpZXIgdGhhdCB3aWxs
IHVzZSBhIGhhc2ggYmFzZWQgb24gdGhlIHNyYyBzdHJpbmcgYXR0cmlidXRlCisgICAgICAgIGFu
ZCBvbmNlIGFnYWluIHNlcGFyYXRlIHRoZSBNZWRpYVNlc3Npb24gaWRlbnRpZmllciBmcm9tIHRo
ZSBNZWRpYSBFbGVtZW50IGlkZW50aWZpZXIuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzczMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzU4
MjM5MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFudWFsbHkgdGVzdGVkLCBubyBmcmFtZXdvcmsgYXZhaWxhYmxlIHRvIHRlc3Qgc3VjaCBjaGFu
Z2UuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFVbmlxdWVJZGVudGlmaWVyIGNvbnN0KTogUmVu
YW1lIG1ldGhvZCB0byBtb3JlIGNsZWFybHkgcmVmbGVjdCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVu
IGEgTWVkaWFTZXNzaW9uIGlkZW50aWZpZXIgYW5kIHRoZSBhY3R1YWwgY29udGVudCBiZWluZyBw
bGF5ZWQuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6IHNhbWUgYXMgYWJvdmUu
CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhRWxlbWVudFNlc3Npb246Om5vd1BsYXlpbmdJbmZvIGNvbnN0KTogdXNlIHJlbmFt
ZWQgbWV0aG9kLCBzbyB0aGF0IHdlIGNhbiB1bmlxdWVseSBpZGVudGlmeSB0aGUgY29udGVudCBi
ZWluZyBwbGF5ZWQgcmF0aGVyIHRoYW4gd2hpY2ggTWVkaWFTZXNzaW9uRWxlbWVudCBpcyBiZWlu
ZyB1c2VkLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL05vd1BsYXlpbmdJbmZvLmg6IENoYW5n
ZSB1bmlxdWUgaWRlbnRpZmllciBiYWNrIHRvIGEgdWludDY0X3QgYXMgdGhhdCdzIHdoYXQgaXQg
d2FzIGFsd2F5cyB1c2VkIGFzLgorICAgICAgICAoV2ViQ29yZTo6Tm93UGxheWluZ0luZm86OmRl
Y29kZSk6IFVwZGF0ZSBzZXJpYWxpemVyIGFjY29yZGluZyB0byB0aGUgY2hhbmdlIGFib3ZlLgor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpsYXN0VXBkYXRl
ZE5vd1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmg6CisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjpzZXROb3dQbGF5aW5nSW5mbyk6IHNl
dCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya0lkZW50aWZpZXIgaW4gQ0ZEaWN0
aW9uYXJ5IHRvIHRoZSBzb3VyY2Ugb2YgdGhlIGFydHdvcmsuIFdvcmthcm91bmQgYSBidWcgaW4g
TWVkaWEgQ29udHJvbGxlciBjb21wb25lbnQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Np
b25NYW5hZ2VyQ29jb2E6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5oOiBTb2Z0LWxpbmsga01STWVkaWFSZW1vdGVOb3dQ
bGF5aW5nSW5mb0FydHdvcmtJZGVudGlmaWVyIHN5bWJvbC4KKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvTWVkaWFSZW1vdGVTb2Z0TGluay5tbToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om5vd1BsYXlpbmdTdGF0ZSBjb25zdCk6
IFVwZGF0ZSBmb2xsb3dpbmcgZGF0YSB0eXBlIGNoYW5nZS4KKwogMjAyMS0wMy0zMCAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBDb21wdXRlZCBzdHlsZSBm
b3IgYmFja2dyb3VuZC1wb3NpdGlvbiBzaG91bGQgbm90IHVzZSAibGVmdCIgYW5kICJ0b3AiIGtl
eXdvcmRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IDBkY2Q1MGEyYzUwNDhjNGM5NDU2Zjg4YzMzMWY5NDc0MWMwMzk3
MjQuLmM3MDkzZjFkMDg3YTgxZDI2NzAyYTcwNjFhMDE1Yzk4YjMwN2YyY2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMjEtMDMtMzAgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxl
LmNvbT4KKworICAgICAgICBOb3cgUGxheWluZyBhcnR3b3JrIGRvZXNuJ3QgdXBkYXRlIHdoZW4g
Y2hhbmdlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMzczMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzU4MjM5MjM+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29jb2EvV2ViUGFnZUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZXF1ZXN0
QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKTogVXBkYXRlIGZvbGxvd2luZyBkYXRhIHR5cGUg
Y2hhbmdlLgorCiAyMDIxLTAzLTMwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtpT1NdIEZhbGwgYmFjayB0byBjb250ZXh0IG1lbnUgcHJlc2VudGF0
aW9uIGFmdGVyIGxvbmcgcHJlc3NpbmcgaW1hZ2Ugb3ZlcmxheSB0ZXh0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA2OTFhZGM2ODQ4ZTc1NjQ2NDdmODk4MzZi
MWM2ZmY3OWRkMThkZTA1Li4wMjMwNWU3YmJhNzM4YWUwYTc1OGVhMGM3MzdkMmIyMTgzMzBiODU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTc1MTIsOSAr
NzUxMiw5IEBAIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVNlc3Npb25UaXRsZSgpIGNv
bnN0CiAgICAgcmV0dXJuIHRpdGxlOwogfQogCi1NZWRpYVNlc3Npb25JZGVudGlmaWVyIEhUTUxN
ZWRpYUVsZW1lbnQ6Om1lZGlhU2Vzc2lvblVuaXF1ZUlkZW50aWZpZXIoKSBjb25zdAordWludDY0
X3QgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFVbmlxdWVJZGVudGlmaWVyKCkgY29uc3QKIHsKLSAg
ICByZXR1cm4gbV9tZWRpYVNlc3Npb24tPm1lZGlhU2Vzc2lvbklkZW50aWZpZXIoKTsKKyAgICBy
ZXR1cm4gbV9jdXJyZW50U3JjLnN0cmluZygpLmhhc2goKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Np
b246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kLCBjb25zdCBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1bWVudCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMzA2YzZmYTZhYmI1OGIyZTZmYjgwYzYwZTkwYjlk
MWFhNTg4ZmIyMS4uNDM0OTFhZmJkZmM3NzkyMDkwZjI3Y2ViNTkxMGFiNDBiZWU4ZTJkYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTU2NSw3ICs1NjUsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBhcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmUoKTsKICAgICB2b2lk
IGFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKCk7CiAKLSAgICBNZWRpYVNlc3Npb25JZGVudGlm
aWVyIG1lZGlhU2Vzc2lvblVuaXF1ZUlkZW50aWZpZXIoKSBjb25zdDsKKyAgICB1aW50NjRfdCBt
ZWRpYVVuaXF1ZUlkZW50aWZpZXIoKSBjb25zdDsKICAgICBTdHJpbmcgbWVkaWFTZXNzaW9uVGl0
bGUoKSBjb25zdDsKICAgICBTdHJpbmcgc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyKCkgY29u
c3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4
IDk1ZjI3ODA2NGY1YzgxNDNlMWYwNDg4ODZiODc4ZjE0ZTc1NzM2N2MuLmYyNzRiZWY4NjZlYzI5
YjE5N2MwZGY1ZWEzNzZmYzA5MzJmNGU4ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtMTE2MSwxMSArMTE2MSwxMSBAQCBPcHRpb25hbDxOb3dQ
bGF5aW5nSW5mbz4gTWVkaWFFbGVtZW50U2Vzc2lvbjo6bm93UGxheWluZ0luZm8oKSBjb25zdAog
ICAgICAgICBpZiAoc2Vzc2lvbk1ldGFkYXRhLT5hcnR3b3JrSW1hZ2UoKSkgewogICAgICAgICAg
ICAgYXJ0d29yayA9IE5vd1BsYXlpbmdJbmZvQXJ0d29yayB7IHNlc3Npb25NZXRhZGF0YS0+YXJ0
d29ya1NyYygpLCBzZXNzaW9uTWV0YWRhdGEtPmFydHdvcmtJbWFnZSgpLT5taW1lVHlwZSgpLCBz
ZXNzaW9uTWV0YWRhdGEtPmFydHdvcmtJbWFnZSgpLT5kYXRhKCkgfTsKICAgICAgICAgfQotICAg
ICAgICByZXR1cm4gTm93UGxheWluZ0luZm8geyBzZXNzaW9uTWV0YWRhdGEtPnRpdGxlKCksIHNl
c3Npb25NZXRhZGF0YS0+YXJ0aXN0KCksIHNlc3Npb25NZXRhZGF0YS0+YWxidW0oKSwgbV9lbGVt
ZW50LnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllcigpLCBkdXJhdGlvbiwgY3VycmVudFRpbWUs
IHN1cHBvcnRzU2Vla2luZywgbV9lbGVtZW50Lm1lZGlhU2Vzc2lvblVuaXF1ZUlkZW50aWZpZXIo
KSwgaXNQbGF5aW5nLCBhbGxvd3NOb3dQbGF5aW5nQ29udHJvbHNWaXNpYmlsaXR5LCBXVEZNb3Zl
KGFydHdvcmspIH07CisgICAgICAgIHJldHVybiBOb3dQbGF5aW5nSW5mbyB7IHNlc3Npb25NZXRh
ZGF0YS0+dGl0bGUoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hcnRpc3QoKSwgc2Vzc2lvbk1ldGFkYXRh
LT5hbGJ1bSgpLCBtX2VsZW1lbnQuc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyKCksIGR1cmF0
aW9uLCBjdXJyZW50VGltZSwgc3VwcG9ydHNTZWVraW5nLCBtX2VsZW1lbnQubWVkaWFVbmlxdWVJ
ZGVudGlmaWVyKCksIGlzUGxheWluZywgYWxsb3dzTm93UGxheWluZ0NvbnRyb2xzVmlzaWJpbGl0
eSwgV1RGTW92ZShhcnR3b3JrKSB9OwogICAgIH0KICNlbmRpZgogCi0gICAgcmV0dXJuIE5vd1Bs
YXlpbmdJbmZvIHsgbV9lbGVtZW50Lm1lZGlhU2Vzc2lvblRpdGxlKCksIGVtcHR5U3RyaW5nKCks
IGVtcHR5U3RyaW5nKCksIG1fZWxlbWVudC5zb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIoKSwg
ZHVyYXRpb24sIGN1cnJlbnRUaW1lLCBzdXBwb3J0c1NlZWtpbmcsIG1fZWxlbWVudC5tZWRpYVNl
c3Npb25VbmlxdWVJZGVudGlmaWVyKCksIGlzUGxheWluZywgYWxsb3dzTm93UGxheWluZ0NvbnRy
b2xzVmlzaWJpbGl0eSwgeyB9fTsKKyAgICByZXR1cm4gTm93UGxheWluZ0luZm8geyBtX2VsZW1l
bnQubWVkaWFTZXNzaW9uVGl0bGUoKSwgZW1wdHlTdHJpbmcoKSwgZW1wdHlTdHJpbmcoKSwgbV9l
bGVtZW50LnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllcigpLCBkdXJhdGlvbiwgY3VycmVudFRp
bWUsIHN1cHBvcnRzU2Vla2luZywgbV9lbGVtZW50Lm1lZGlhVW5pcXVlSWRlbnRpZmllcigpLCBp
c1BsYXlpbmcsIGFsbG93c05vd1BsYXlpbmdDb250cm9sc1Zpc2liaWxpdHksIHsgfX07CiB9CiAK
IHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6dXBkYXRlTWVkaWFVc2FnZUlmQ2hhbmdlZCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Ob3dQbGF5aW5nSW5mby5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTm93UGxheWluZ0luZm8uaAppbmRleCAz
NGE3YjJmZWMwNWQyNWEwZTNlNjQwNTdmNTNkMGNkNjQ1NzBjNDM0Li44OWNkN2VlYmUzNWRmMjgw
NDFlOTUxNDY1NTc1MzA2MDhhOTk0OTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9Ob3dQbGF5aW5nSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL05vd1BsYXlpbmdJbmZvLmgKQEAgLTgzLDcgKzgzLDcgQEAgc3RydWN0IE5vd1BsYXlp
bmdJbmZvIHsKICAgICBkb3VibGUgZHVyYXRpb24geyAwIH07CiAgICAgZG91YmxlIGN1cnJlbnRU
aW1lIHsgMCB9OwogICAgIGJvb2wgc3VwcG9ydHNTZWVraW5nIHsgZmFsc2UgfTsKLSAgICBNZWRp
YVNlc3Npb25JZGVudGlmaWVyIHVuaXF1ZUlkZW50aWZpZXI7CisgICAgdWludDY0X3QgdW5pcXVl
SWRlbnRpZmllcjsKICAgICBib29sIGlzUGxheWluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBhbGxv
d3NOb3dQbGF5aW5nQ29udHJvbHNWaXNpYmlsaXR5IHsgZmFsc2UgfTsKICAgICBPcHRpb25hbDxO
b3dQbGF5aW5nSW5mb0FydHdvcms+IGFydHdvcms7CkBAIC0xNDcsNyArMTQ3LDcgQEAgdGVtcGxh
dGU8Y2xhc3MgRGVjb2Rlcj4gaW5saW5lIE9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBOb3dQbGF5
aW5nSW5mbzo6ZGVjb2RlKEQKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHN1cHBvcnRzU2Vla2lu
ZykpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBNZWRpYVNlc3Npb25JZGVudGlmaWVyIHVu
aXF1ZUlkZW50aWZpZXI7CisgICAgdWludDY0X3QgdW5pcXVlSWRlbnRpZmllcjsKICAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHVuaXF1ZUlkZW50aWZpZXIpKQogICAgICAgICByZXR1cm4geyB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlci5oCmluZGV4IGI1YzFkNWIzNDk4MGVjNWEyMmU2ZDU2MGQxMjcz
NDY4NThlNWMzY2UuLjMzNjNjZDFjZjY1OTNmZjYxNGUwNTM2MzZiNjkxYmI4MDg0N2RhNWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC04Niw3ICs4Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIFN0cmluZyBsYXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRsZSgpIGNvbnN0IHsgcmV0dXJuIGVt
cHR5U3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIGRvdWJsZSBsYXN0VXBkYXRlZE5vd1BsYXlpbmdE
dXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIE5BTjsgfQogICAgIHZpcnR1YWwgZG91YmxlIGxhc3RV
cGRhdGVkTm93UGxheWluZ0VsYXBzZWRUaW1lKCkgY29uc3QgeyByZXR1cm4gTkFOOyB9Ci0gICAg
dmlydHVhbCBNZWRpYVNlc3Npb25JZGVudGlmaWVyIGxhc3RVcGRhdGVkTm93UGxheWluZ0luZm9V
bmlxdWVJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4geyB9OyB9CisgICAgdmlydHVhbCB1aW50
NjRfdCBsYXN0VXBkYXRlZE5vd1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllcigpIGNvbnN0IHsg
cmV0dXJuIDA7IH0KICAgICB2aXJ0dWFsIGJvb2wgcmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxp
Y2F0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaGF2ZUV2
ZXJSZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBwcmVwYXJlVG9TZW5kVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3QoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2Nv
Y29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKaW5kZXggNTU2Y2FlZTBkYzFi
NWQ5Y2YxZjY3ZTQzY2MwNjk3MWRjMmFmNTY0OS4uYWY4ZWQ0N2QwNmM2YTdiODRmZWM2NzY4M2Ix
OWZhODMwOWMyOWMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
Y29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKQEAgLTUyLDcgKzUy
LDcgQEAgcHVibGljOgogICAgIFN0cmluZyBsYXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRsZSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5nVGl0bGU7IH0KICAgICBk
b3VibGUgbGFzdFVwZGF0ZWROb3dQbGF5aW5nRHVyYXRpb24oKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0R1cmF0aW9uOyB9CiAgICAgZG91YmxlIGxhc3RVcGRh
dGVkTm93UGxheWluZ0VsYXBzZWRUaW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sYXN0VXBk
YXRlZE5vd1BsYXlpbmdFbGFwc2VkVGltZTsgfQotICAgIE1lZGlhU2Vzc2lvbklkZW50aWZpZXIg
bGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlmaWVyOyB9Cisg
ICAgdWludDY0X3QgbGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXIoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0luZm9VbmlxdWVJZGVu
dGlmaWVyOyB9CiAgICAgYm9vbCByZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24oKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX3JlZ2lzdGVyZWRBc05vd1BsYXlpbmdBcHBsaWNhdGlvbjsg
fQogICAgIGJvb2wgaGF2ZUV2ZXJSZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24oKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX2hhdmVFdmVyUmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxp
Y2F0aW9uOyB9CiAKQEAgLTEwOSw3ICsxMDksNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX2xh
c3RVcGRhdGVkTm93UGxheWluZ1RpdGxlOwogICAgIGRvdWJsZSBtX2xhc3RVcGRhdGVkTm93UGxh
eWluZ0R1cmF0aW9uIHsgTkFOIH07CiAgICAgZG91YmxlIG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5n
RWxhcHNlZFRpbWUgeyBOQU4gfTsKLSAgICBNZWRpYVNlc3Npb25JZGVudGlmaWVyIG1fbGFzdFVw
ZGF0ZWROb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXI7CisgICAgdWludDY0X3QgbV9sYXN0
VXBkYXRlZE5vd1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllcjsKIAogICAgIEdlbmVyaWNUYXNr
UXVldWU8VGltZXI+IG1fdGFza1F1ZXVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0K
aW5kZXggMWRkMjk5NWZlNzFiMjZkMzMxMjViNTQ1MWU3ZDM3OTBjYzNkNWY2MS4uMTExZDlhNzIx
MWZmNjE1OWFlZGU3Mjk5Y2MyM2Y4YzkzZjFjOWQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJD
b2NvYS5tbQpAQCAtMjkzLDcgKzI5Myw5IEBAIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlckNvY29h
OjpzZXROb3dQbGF5aW5nSW5mbyhib29sIHNldEFzTm93UGxheWluZ0FwcGxpY2F0aW9uCiAgICAg
YXV0byBjZlJhdGUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQs
IGtDRk51bWJlckRvdWJsZVR5cGUsICZyYXRlKSk7CiAgICAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUo
aW5mby5nZXQoKSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb1BsYXliYWNrUmF0ZSwgY2ZS
YXRlLmdldCgpKTsKIAotICAgIGF1dG8gbGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5mb1VuaXF1ZUlk
ZW50aWZpZXIgPSBub3dQbGF5aW5nSW5mby51bmlxdWVJZGVudGlmaWVyLnRvVUludDY0KCk7Cisg
ICAgLy8gRklYTUU6IFRoaXMgaXMgYSB3b3JrYXJvdW5kIENvbnRyb2wgQ2VudGVyIG5vdCB1cGRh
dGluZyB0aGUgYXJ0d29yayB3aGVuIHJlZnJlc2hlZC4KKyAgICAvLyBXZSBmb3JjZSB0aGUgaWRl
bnRpZmllciB0byBiZSByZWxhdGVkIHRvIHRoZSBuZXcgYXJ0d29yayBpZiBhdmFpbGFibGUuCisg
ICAgYXV0byBsYXN0VXBkYXRlZE5vd1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllciA9IG5vd1Bs
YXlpbmdJbmZvLmFydHdvcmsgPyBub3dQbGF5aW5nSW5mby5hcnR3b3JrLT5zcmMuaGFzaCgpIDog
bm93UGxheWluZ0luZm8udW5pcXVlSWRlbnRpZmllcjsKICAgICBhdXRvIGNmSWRlbnRpZmllciA9
IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyTG9u
Z0xvbmdUeXBlLCAmbGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXIpKTsK
ICAgICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShpbmZvLmdldCgpLCBrTVJNZWRpYVJlbW90ZU5vd1Bs
YXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllciwgY2ZJZGVudGlmaWVyLmdldCgpKTsKIApAQCAtMzA1
LDYgKzMwNyw3IEBAIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjpzZXROb3dQbGF5aW5n
SW5mbyhib29sIHNldEFzTm93UGxheWluZ0FwcGxpY2F0aW9uCiAgICAgICAgIGF1dG8gbnNBcnR3
b3JrID0gbm93UGxheWluZ0luZm8uYXJ0d29yay0+aW1hZ2VEYXRhLT5jcmVhdGVOU0RhdGEoKTsK
ICAgICAgICAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoaW5mby5nZXQoKSwga01STWVkaWFSZW1vdGVO
b3dQbGF5aW5nSW5mb0FydHdvcmtEYXRhLCBuc0FydHdvcmsuZ2V0KCkpOwogICAgICAgICBDRkRp
Y3Rpb25hcnlTZXRWYWx1ZShpbmZvLmdldCgpLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZv
QXJ0d29ya01JTUVUeXBlLCBub3dQbGF5aW5nSW5mby5hcnR3b3JrLT5taW1lVHlwZS5jcmVhdGVD
RlN0cmluZygpLmdldCgpKTsKKyAgICAgICAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoaW5mby5nZXQo
KSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0FydHdvcmtJZGVudGlmaWVyLCBub3dQbGF5
aW5nSW5mby5hcnR3b3JrLT5zcmMuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CiAgICAgfQogCiAg
ICAgaWYgKGNhbkxvYWRfTWVkaWFSZW1vdGVfTVJNZWRpYVJlbW90ZVNldFBhcmVudEFwcGxpY2F0
aW9uKCkgJiYgIW5vd1BsYXlpbmdJbmZvLnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllci5pc0Vt
cHR5KCkpCkBAIC0zNTksNyArMzYyLDcgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6
OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKCkKICAgICAgICAgbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdU
aXRsZSA9IGVtcHR5U3RyaW5nKCk7CiAgICAgICAgIG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5nRHVy
YXRpb24gPSBOQU47CiAgICAgICAgIG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5nRWxhcHNlZFRpbWUg
PSBOQU47Ci0gICAgICAgIG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZp
ZXIgPSB7IH07CisgICAgICAgIG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50
aWZpZXIgPSAwOwogCiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0zNjcsNyArMzcwLDcgQEAg
dm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKCkKICAg
ICBtX2hhdmVFdmVyUmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxpY2F0aW9uID0gdHJ1ZTsKIAog
ICAgIGlmIChtX25vd1BsYXlpbmdNYW5hZ2VyLT5zZXROb3dQbGF5aW5nSW5mbygqbm93UGxheWlu
Z0luZm8pKQotICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJ0aXRsZSA9IFwiIiwg
bm93UGxheWluZ0luZm8tPnRpdGxlLCAiXCIsIGlzUGxheWluZyA9ICIsIG5vd1BsYXlpbmdJbmZv
LT5pc1BsYXlpbmcsICIsIGR1cmF0aW9uID0gIiwgbm93UGxheWluZ0luZm8tPmR1cmF0aW9uLCAi
LCBub3cgPSAiLCBub3dQbGF5aW5nSW5mby0+Y3VycmVudFRpbWUsICIsIGlkID0gIiwgbm93UGxh
eWluZ0luZm8tPnVuaXF1ZUlkZW50aWZpZXIudG9VSW50NjQoKSwgIiwgcmVnaXN0ZXJlZCA9ICIs
IG1fcmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxpY2F0aW9uLCAiLCBzcmMgPSBcIiIsIG5vd1Bs
YXlpbmdJbmZvLT5hcnR3b3JrID8gbm93UGxheWluZ0luZm8tPmFydHdvcmstPnNyYyA6IFN0cmlu
ZygpLCAiXCIiKTsKKyAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAidGl0bGUgPSBc
IiIsIG5vd1BsYXlpbmdJbmZvLT50aXRsZSwgIlwiLCBpc1BsYXlpbmcgPSAiLCBub3dQbGF5aW5n
SW5mby0+aXNQbGF5aW5nLCAiLCBkdXJhdGlvbiA9ICIsIG5vd1BsYXlpbmdJbmZvLT5kdXJhdGlv
biwgIiwgbm93ID0gIiwgbm93UGxheWluZ0luZm8tPmN1cnJlbnRUaW1lLCAiLCBpZCA9ICIsIG5v
d1BsYXlpbmdJbmZvLT51bmlxdWVJZGVudGlmaWVyLCAiLCByZWdpc3RlcmVkID0gIiwgbV9yZWdp
c3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24sICIsIHNyYyA9IFwiIiwgbm93UGxheWluZ0lu
Zm8tPmFydHdvcmsgPyBub3dQbGF5aW5nSW5mby0+YXJ0d29yay0+c3JjIDogU3RyaW5nKCksICJc
IiIpOwogCiAgICAgaWYgKCFtX3JlZ2lzdGVyZWRBc05vd1BsYXlpbmdBcHBsaWNhdGlvbikgewog
ICAgICAgICBtX3JlZ2lzdGVyZWRBc05vd1BsYXlpbmdBcHBsaWNhdGlvbiA9IHRydWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuaAppbmRl
eCBmMTBlMDkyNjczODc2YWRmMTVmN2UzYmE2MDg4NjJmYzgyMWZmN2EwLi5mOWE4NDgxYTRlZGY0
YzViYTFlNTllYWVlMGRkOWJjM2E5ZmNhY2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLmgKQEAgLTY3LDYgKzY3LDggQEAgU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIGtNUk1lZGlhUmVt
b3RlTm93UGxheWluZ0luZm8KIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYkNvcmUs
IE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya01JTUVUeXBl
LCBDRlN0cmluZ1JlZik7CiAjZGVmaW5lIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9BcnR3
b3JrTUlNRVR5cGUgZ2V0X01lZGlhUmVtb3RlX2tNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9B
cnR3b3JrTUlNRVR5cGUoKQogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoV2ViQ29yZSwg
TWVkaWFSZW1vdGUsIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9EdXJhdGlvbiwgQ0ZTdHJp
bmdSZWYpOworI2RlZmluZSBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya0lkZW50
aWZpZXIgZ2V0X01lZGlhUmVtb3RlX2tNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9BcnR3b3Jr
SWRlbnRpZmllcigpCitTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBNZWRp
YVJlbW90ZSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0FydHdvcmtJZGVudGlmaWVyLCBD
RlN0cmluZ1JlZik7CiAjZGVmaW5lIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9EdXJhdGlv
biBnZXRfTWVkaWFSZW1vdGVfa01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0R1cmF0aW9uKCkK
IFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJN
ZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvRWxhcHNlZFRpbWUsIENGU3RyaW5nUmVmKTsKICNkZWZp
bmUga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0VsYXBzZWRUaW1lIGdldF9NZWRpYVJlbW90
ZV9rTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvRWxhcHNlZFRpbWUoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5tbQppbmRleCAzNjE1
ZWYyY2Y5NjQ1MmU1MTdiMTgzNDc4MDMzNzQyNTdiMWNlOTgyLi5hZDk3YjdhYWM3MjY2Y2Q0Mjg1
ZTEwZDcyNGQ2OGFiZDU3ODJmZjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5tbQpAQCAtNDgsNiArNDgsNyBAQCBTT0ZUX0xJTktf
Q09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVO
b3dQbGF5aW5nSW5mbwogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVk
aWFSZW1vdGUsIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9BbGJ1bSwgQ0ZTdHJpbmdSZWYp
OwogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIGtN
Uk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9BcnR3b3JrRGF0YSwgQ0ZTdHJpbmdSZWYpOwogU09G
VF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIGtNUk1lZGlh
UmVtb3RlTm93UGxheWluZ0luZm9BcnR3b3JrTUlNRVR5cGUsIENGU3RyaW5nUmVmKTsKK1NPRlRf
TElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJl
bW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya0lkZW50aWZpZXIsIENGU3RyaW5nUmVmKTsKIFNPRlRf
TElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJl
bW90ZU5vd1BsYXlpbmdJbmZvRHVyYXRpb24sIENGU3RyaW5nUmVmKTsKIFNPRlRfTElOS19DT05T
VEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90ZU5vd1Bs
YXlpbmdJbmZvRWxhcHNlZFRpbWUsIENGU3RyaW5nUmVmKTsKIFNPRlRfTElOS19DT05TVEFOVF9G
T1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJ
bmZvUGxheWJhY2tSYXRlLCBDRlN0cmluZ1JlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKaW5kZXggOGMxMmRkYTE1NDE5ODI0MzViNmI0MGY1MjE5NmEyOTE4YTYwN2NmOC4uMjk3
NWEzZGVjYjM1Zjk3Nzc1YWM1NzQyYTM0ODAzMzM0MDNmOGNlOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcApAQCAtNDM4Nyw3ICs0Mzg3LDcgQEAgRXhjZXB0aW9uT3I8SW50ZXJu
YWxzOjpOb3dQbGF5aW5nU3RhdGU+IEludGVybmFsczo6bm93UGxheWluZ1N0YXRlKCkgY29uc3QK
ICAgICByZXR1cm4geyB7IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdl
cigpLmxhc3RVcGRhdGVkTm93UGxheWluZ1RpdGxlKCksCiAgICAgICAgIFBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLmxhc3RVcGRhdGVkTm93UGxheWluZ0R1cmF0
aW9uKCksCiAgICAgICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdl
cigpLmxhc3RVcGRhdGVkTm93UGxheWluZ0VsYXBzZWRUaW1lKCksCi0gICAgICAgIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLmxhc3RVcGRhdGVkTm93UGxheWlu
Z0luZm9VbmlxdWVJZGVudGlmaWVyKCkudG9VSW50NjQoKSwKKyAgICAgICAgUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkubGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5m
b1VuaXF1ZUlkZW50aWZpZXIoKSwKICAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
OjpzaGFyZWRNYW5hZ2VyKCkuaGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24oKSwKICAgICAgICAg
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkucmVnaXN0ZXJlZEFz
Tm93UGxheWluZ0FwcGxpY2F0aW9uKCksCiAgICAgICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlcjo6c2hhcmVkTWFuYWdlcigpLmhhdmVFdmVyUmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxp
Y2F0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
Y29hL1dlYlBhZ2VDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
Y29hL1dlYlBhZ2VDb2NvYS5tbQppbmRleCA1ODYxN2NhZDNhZDBjOTY1ODBkZDZjMzhiN2UzOTQ3
Mzg3MWY2Y2IwLi4yYmI1YjZjMWY5N2JkZTNmNzIyZmQ5MGNiZGY5ZDhiNzZmOTNlMDNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFn
ZUNvY29hLm1tCkBAIC0xMDYsNyArMTA2LDcgQEAgdm9pZCBXZWJQYWdlOjpyZXF1ZXN0QWN0aXZl
Tm93UGxheWluZ1Nlc3Npb25JbmZvKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCwgYm8KICAg
ICAgICAgdGl0bGUgPSBzaGFyZWRNYW5hZ2VyLT5sYXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRsZSgp
OwogICAgICAgICBkdXJhdGlvbiA9IHNoYXJlZE1hbmFnZXItPmxhc3RVcGRhdGVkTm93UGxheWlu
Z0R1cmF0aW9uKCk7CiAgICAgICAgIGVsYXBzZWRUaW1lID0gc2hhcmVkTWFuYWdlci0+bGFzdFVw
ZGF0ZWROb3dQbGF5aW5nRWxhcHNlZFRpbWUoKTsKLSAgICAgICAgdW5pcXVlSWRlbnRpZmllciA9
IHNoYXJlZE1hbmFnZXItPmxhc3RVcGRhdGVkTm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlmaWVy
KCkudG9VSW50NjQoKTsKKyAgICAgICAgdW5pcXVlSWRlbnRpZmllciA9IHNoYXJlZE1hbmFnZXIt
Pmxhc3RVcGRhdGVkTm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlmaWVyKCk7CiAgICAgICAgIHJl
Z2lzdGVyZWRBc05vd1BsYXlpbmdBcHBsaWNhdGlvbiA9IHNoYXJlZE1hbmFnZXItPnJlZ2lzdGVy
ZWRBc05vd1BsYXlpbmdBcHBsaWNhdGlvbigpOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424848</attachid>
            <date>2021-03-31 17:44:27 -0700</date>
            <delta_ts>2021-03-31 18:36:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223731-20210401114425.patch</filename>
            <type>text/plain</type>
            <size>24762</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTUxNTYxODEwOGFiNDA0
OTZkYjk2NWFjY2Q3MDM4NzQ5MzdhOTZmYi4uZDE0YTAzOWQ1ZTExMmY0OTYzYzIyNzY2ZDFjNjli
N2Q3NDVlZTE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTAzLTMxICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgTm93IFBsYXlpbmcgYXJ0
d29yayBkb2Vzbid0IHVwZGF0ZSB3aGVuIGNoYW5nZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3MzEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc1ODIzOTIzPgorCisgICAgICAgIE5vdyBQbGF5aW5nIGFuZCBNZWRpYSBSZW1vdGUgcmVxdWly
ZXMgYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGN1cnJlbnRseSBwbGF5aW5nIGl0ZW0uCisg
ICAgICAgIElmIHRoZSBzYW1lIGlkZW50aWZpZXIgaXMgcHJvdmlkZWQgZm9yIGV2ZXJ5IGNhbGwg
dG8gTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdJbmZvLAorICAgICAgICB0aGVuIHNvbWUgdXBk
YXRlcyBtYXkgYmUgc2tpcHBlZC4KKyAgICAgICAgSW4gZWFybGllciBjaGFuZ2VzLCB0aGUgTWVk
aWFTZXNzaW9uRWxlbWVudCBpZGVudGlmaWVyIHdhcyBjb21iaW5lZCB3aXRoIHRoZSBNZWRpYSBF
bGVtZW50CisgICAgICAgIGlkZW50aWZpZXIgd2hpY2ggYnJva2UgTm93IFBsYXlpbmcgYXMgdGhl
IE1lZGlhU2Vzc2lvbiBpZGVudGlmaWVyIG5ldmVyIGNoYW5nZXMgZm9yIHRoZQorICAgICAgICBs
aWZldGltZSBvZiB0aGUgd2ViIGNvbnRlbnQgcHJvY2Vzcy4KKyAgICAgICAgU28gd2UgY3JlYXRl
IGEgbmV3IG1ldGhvZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVVuaXF1ZUlkZW50aWZpZXIgd2l0
aCBhIG5ldyBNZWRpYVVuaXF1ZUlkZW50aWZpZXIKKyAgICAgICAgdGhhdCB3aWxsdGhhdCB3aWxs
IGJlIHVwZGF0ZWQgd2hlbmV2ZXIgdGhlIHNvdXJjZSBvZiBhIG1lZGlhIGVsZW1lbnQgY2hhbmdl
cyBhbmQgc3RvcAorICAgICAgICB1c2luZyB0aGUgTWVkaWFTZXNzaW9uIGlkZW50aWZpZXIgd2hl
biBkZWFsaW5nIHdpdGggTm93IFBsYXlpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTWFudWFsbHkgdGVzdGVkLCBubyBmcmFtZXdvcmsgYXZhaWxh
YmxlIHRvIHRlc3Qgc3VjaCBjaGFuZ2UuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6IEFkZCBNZWRpYVVuaXF1ZUlkZW50aWZpZXIuaAorICAgICAgICAqIGh0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjpwcmVwYXJlRm9yTG9hZCk6IFVzZSBzZXRDdXJyZW50U3JjIGluc3RlYWQgb2YgZGlyZWN0
bHkgbW9kaWZ5aW5nIG1fY3VycmVudFNyYy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OnNlbGVjdE1lZGlhUmVzb3VyY2UpOiBVc2Ugc2V0Q3VycmVudFNyYyBpbnN0ZWFkIG9m
IGRpcmVjdGx5IG1vZGlmeWluZyBtX2N1cnJlbnRTcmMuCisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50Ojpsb2FkUmVzb3VyY2UpOiBVc2Ugc2V0Q3VycmVudFNyYyBpbnN0ZWFkIG9m
IGRpcmVjdGx5IG1vZGlmeWluZyBtX2N1cnJlbnRTcmMuCisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50OjpzZXRDdXJyZW50U3JjKTogQWRkIGNvbnZlbmllbmNlIG1ldGhvZCwgZ2Vu
ZXJhdGUgbmV3IE1lZGlhVW5pcXVlSWRlbnRpZmllciBlYWNoIHRpbWUgbV9jdXJyZW50U3JjIGlz
IG1vZGlmaWVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFVbmlx
dWVJZGVudGlmaWVyIGNvbnN0KTogUmV0dXJuIHVuaXF1ZSBtZWRpYSBpZGVudGlmaWVyLgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFTZXNzaW9uVW5pcXVlSWRlbnRp
ZmllciBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6
CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhRWxlbWVudFNlc3Npb246Om5vd1BsYXlpbmdJbmZvIGNvbnN0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9hdWRpby9Ob3dQbGF5aW5nSW5mby5oOiBVc2UgTWVkaWFVbmlxdWVJZGVudGlm
aWVyIGZvciB1bmlxdWVJZGVudGlmaWVyIG1lbWJlci4KKyAgICAgICAgKFdlYkNvcmU6Ok5vd1Bs
YXlpbmdJbmZvOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oOiBVc2UgTWVkaWFVbmlxdWVJZGVudGlmaWVyIGluc3RlYWQuCisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6Omxhc3RVcGRhdGVk
Tm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgc2V0IGtNUk1l
ZGlhUmVtb3RlTm93UGxheWluZ0luZm9BcnR3b3JrSWRlbnRpZmllciBpbiBDRkRpY3Rpb25hcnkg
dG8gdGhlIHNvdXJjZSBvZiB0aGUgYXJ0d29yay4KKyAgICAgICAgV29ya2Fyb3VuZCBhIGJ1ZyBp
biBNZWRpYSBDb250cm9sbGVyIGNvbXBvbmVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9j
b2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnNldE5vd1BsYXlpbmdJbmZvKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5oOiBTb2Z0LWxpbmsga01STWVkaWFSZW1v
dGVOb3dQbGF5aW5nSW5mb0FydHdvcmtJZGVudGlmaWVyIHN5bWJvbC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5tbToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5oOiBBZGQgbWlzc2luZyBoZWFkZXIuCisKIDIwMjEtMDMtMzEgIFphbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgbWlzbGVhZGluZyBGSVhNRSBjb21t
ZW50IGluIFJlbmRlckJveDo6c2hvdWxkQ29tcHV0ZUxvZ2ljYWxXaWR0aEZyb21Bc3BlY3RSYXRp
b0FuZEluc2V0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggNTFlNmViZThkOGU4MDVhNjE3NWZkYmQ1
OGZlN2NiZmE2NjFhMDU3ZC4uMjEwZjJjNTA1MWJlMmY5ZmZkODkyNDdlNWRiOTE4NDI2NmE2MWI3
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDMtMzEgIEplYW4t
WXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNvbT4KKworICAgICAgICBOb3cgUGxheWluZyBhcnR3
b3JrIGRvZXNuJ3QgdXBkYXRlIHdoZW4gY2hhbmdlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzczMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL3NwaS9tYWMvTWVkaWFSZW1vdGVTUEkuaDoK
KwogMjAyMS0wMy0zMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgTWFrZSB1c2Ugb2YgTlNVUkxTZXNzaW9uV2ViU29ja2V0LnNlbmRDbG9zZUNvZGUgaWYgYXZh
aWxhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggOGM3ZWNlZGU2ZGIxMTQyMzUyZWQ4ZGQ5MjQyMjk3MDAzZjc4YWMwZi4uZmVm
ODJhOWJhYzM1OTQxNzQ2NDUyYzVmNTFlNzJiYzYzZmZiNjgxMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQ4Miw2ICsxNDgy
LDcgQEAKIAkJNTE0Qzc2N0IwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlSGFuZGxlSW50ZXJu
YWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNEM3
NjY2MENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZUhhbmRsZUludGVybmFsLmggKi87IH07CiAJ
CTUxNEM3NjdEMENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZVJlcXVlc3RCYXNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTRDNzY2ODBDRTkyM0Ex
MDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0QmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxNEM3NjdGMENFOTIzQTEwMDdFRjNDRCAvKiBS
ZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTE0Qzc2NkEwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVzcG9uc2VC
YXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
NTE1MUYwN0UyNjE1NDM1QTAwRkRCMkI0IC8qIE1lZGlhVW5pcXVlSWRlbnRpZmllci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE1MUYwN0IyNjE1MzYz
RjAwRkRCMkI0IC8qIE1lZGlhVW5pcXVlSWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxNUJFMTkwMUQ1NEY1RkIwMEREN0M2OCAv
KiBFbXB0eUdhbWVwYWRQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTE1QkUxODkxRDU0RjVGNjAwREQ3QzY4IC8qIEVtcHR5R2FtZXBhZFBy
b3ZpZGVyLmggKi87IH07CiAJCTUxNUJFMTkyMUQ1NEY1RkIwMEREN0M2OCAvKiBHYW1lcGFkUHJv
dmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
NUJFMThCMUQ1NEY1RjYwMEREN0M2OCAvKiBHYW1lcGFkUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTVCRTE5MzFENTRGNUZCMDBE
RDdDNjggLyogR2FtZXBhZFByb3ZpZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTVCRTE4QzFENTRGNUY2MDBERDdDNjggLyogR2FtZXBh
ZFByb3ZpZGVyQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTg3MDcsNiArODcwOCw3IEBACiAJCTUxNEM3NjY4MENFOTIzQTEwMDdFRjND
RCAvKiBSZXNvdXJjZVJlcXVlc3RCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlc291cmNlUmVxdWVzdEJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTE0Qzc2NjkwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVzcG9uc2VCYXNlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc291cmNlUmVzcG9uc2VCYXNlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE0Qzc2NkEwQ0U5MjNBMTAwN0VGM0NE
IC8qIFJlc291cmNlUmVzcG9uc2VCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlc291cmNlUmVzcG9uc2VCYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTUxNTFGMDdCMjYxNTM2M0YwMEZEQjJCNCAvKiBNZWRpYVVuaXF1ZUlkZW50aWZpZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFVbmlxdWVJZGVudGlmaWVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNUJFMTg4MUQ1NEY1RjYwMEREN0M2OCAvKiBF
bXB0eUdhbWVwYWRQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBFbXB0eUdhbWVwYWRQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTUxNUJFMTg5MUQ1NEY1RjYwMEREN0M2OCAvKiBFbXB0eUdhbWVwYWRQcm92aWRlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbXB0eUdhbWVwYWRQcm92aWRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTVCRTE4QTFENTRGNUY2MDBERDdDNjggLyog
R2FtZXBhZFByb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEdhbWVwYWRQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzgx
NSw2ICsyNzgxNyw3IEBACiAJCQkJNDE0NDYwQTAyNDEyOTk0MTAwODE0QkU3IC8qIE1lZGlhU2Vz
c2lvbklkZW50aWZpZXIuaCAqLywKIAkJCQlBMzFBQzcwQTI0MzQwOTg0MDA3RjAwQTIgLyogTWVk
aWFTdHJhdGVneS5jcHAgKi8sCiAJCQkJOUIxMjI5QzYyM0ZFNEQ1RjAwOENBNzUxIC8qIE1lZGlh
U3RyYXRlZ3kuaCAqLywKKwkJCQk1MTUxRjA3QjI2MTUzNjNGMDBGREIyQjQgLyogTWVkaWFVbmlx
dWVJZGVudGlmaWVyLmggKi8sCiAJCQkJQkM3NzJDNEMwQzRFQjMwNDAwODMyODVGIC8qIE1JTUVU
eXBlUmVnaXN0cnkuY3BwICovLAogCQkJCUJDNzcyQzREMEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1F
VHlwZVJlZ2lzdHJ5LmggKi8sCiAJCQkJRTE1MTNENTAxNjc3RjA4ODAwMTQ5RkNCIC8qIE5vdElt
cGxlbWVudGVkLmNwcCAqLywKQEAgLTM0MDQzLDYgKzM0MDQ2LDcgQEAKIAkJCQkwN0ZGREU2OTE4
MUFFRDQyMDA3MkQ0MDkgLyogTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTkzMkNDMEI3MURGRkQxNTgwMDRDMEY5RiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludHMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTA3QzFDMEUyMUJGQjYwMDEwMEJEMjI1NiAvKiBNZWRpYVRy
YWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxNTFGMDdFMjYx
NTQzNUEwMEZEQjJCNCAvKiBNZWRpYVVuaXF1ZUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTA3NjExREMxMjQ0MEU1OUIwMEQ4MDcwNCAvKiBNZWRpYVVzYWdlSW5mby5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOTM5QzBEMkIyNTY0RTdGMzAwQjMyMTFCIC8qIE1lZGlhVXRpbGl0aWVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MUUxQkFDMzFCRDgwNjRFMDA1NUQ4MUYgLyogTWVtb3J5QmFj
a2luZ1N0b3JlVHJhbnNhY3Rpb24uaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNjkxYWRjNjg0OGU3NTY0NjQ3Zjg5ODM2YjFjNmZm
NzlkZDE4ZGUwNS4uOTA0MDA4NjdkMjFiNTA1ZjFjZDgyMWExYmQzZThjMjhjZmM1MjI0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xMTA4LDcgKzExMDgs
NyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnByZXBhcmVGb3JMb2FkKCkKICAgICBtX2hhdmVG
aXJlZExvYWRlZERhdGEgPSBmYWxzZTsKICAgICBtX2NvbXBsZXRlbHlMb2FkZWQgPSBmYWxzZTsK
ICAgICBtX2hhdmVQcmVwYXJlZFRvUGxheSA9IGZhbHNlOwotICAgIG1fY3VycmVudFNyYyA9IFVS
TCgpOworICAgIHNldEN1cnJlbnRTcmMoVVJMKCkpOwogCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkKICAgICBtX2ZhaWxlZFRvUGxheVRvV2lyZWxlc3NUYXJnZXQgPSBmYWxz
ZTsKQEAgLTEzMjEsNyArMTMyMSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2VsZWN0TWVk
aWFSZXNvdXJjZSgpCiAgICAgICAgIC8vIOKGsyBJZiBtb2RlIGlzIG9iamVjdAogICAgICAgICBp
ZiAobW9kZSA9PSBPYmplY3QpIHsKICAgICAgICAgICAgIC8vIDEuIFNldCB0aGUgY3VycmVudFNy
YyBhdHRyaWJ1dGUgdG8gdGhlIGVtcHR5IHN0cmluZy4KLSAgICAgICAgICAgIG1fY3VycmVudFNy
YyA9IFVSTCgpOworICAgICAgICAgICAgc2V0Q3VycmVudFNyYyhVUkwoKSk7CiAKICAgICAgICAg
ICAgIC8vIDIuIEVuZCB0aGUgc3luY2hyb25vdXMgc2VjdGlvbiwgY29udGludWluZyB0aGUgcmVt
YWluaW5nIHN0ZXBzIGluIHBhcmFsbGVsLgogICAgICAgICAgICAgLy8gMy4gUnVuIHRoZSByZXNv
dXJjZSBmZXRjaCBhbGdvcml0aG0gd2l0aCB0aGUgYXNzaWduZWQgbWVkaWEgcHJvdmlkZXIgb2Jq
ZWN0LgpAQCAtMTM3MCw3ICsxMzcwLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWxlY3RN
ZWRpYVJlc291cmNlKCkKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gMy4gSWYgYWJz
b2x1dGUgVVJMIHdhcyBvYnRhaW5lZCBzdWNjZXNzZnVsbHksIHNldCB0aGUgY3VycmVudFNyYyBh
dHRyaWJ1dGUgdG8gYWJzb2x1dGUgVVJMLgotICAgICAgICAgICAgbV9jdXJyZW50U3JjID0gYWJz
b2x1dGVVUkw7CisgICAgICAgICAgICBzZXRDdXJyZW50U3JjKGFic29sdXRlVVJMKTsKIAogICAg
ICAgICAgICAgLy8gNC4gRW5kIHRoZSBzeW5jaHJvbm91cyBzZWN0aW9uLCBjb250aW51aW5nIHRo
ZSByZW1haW5pbmcgc3RlcHMgaW4gcGFyYWxsZWwuCiAgICAgICAgICAgICAvLyA1LiBJZiBhYnNv
bHV0ZSBVUkwgd2FzIG9idGFpbmVkIHN1Y2Nlc3NmdWxseSwgcnVuIHRoZSByZXNvdXJjZSBmZXRj
aCBhbGdvcml0aG0gd2l0aCBhYnNvbHV0ZQpAQCAtMTQ2Nyw3ICsxNDY3LDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50Ojpsb2FkUmVzb3VyY2UoY29uc3QgVVJMJiBpbml0aWFsVVJMLCBDb250ZW50
VHlwZSYgY29udGVudFQKIAogICAgIC8vIFNldCBtX2N1cnJlbnRTcmMgKmJlZm9yZSogY2hhbmdp
bmcgdG8gdGhlIGNhY2hlIFVSTCwgdGhlIGZhY3QgdGhhdCB3ZSBhcmUgbG9hZGluZyBmcm9tIHRo
ZSBhcHAKICAgICAvLyBjYWNoZSBpcyBhbiBpbnRlcm5hbCBkZXRhaWwgbm90IGV4cG9zZWQgdGhy
b3VnaCB0aGUgbWVkaWEgZWxlbWVudCBBUEkuCi0gICAgbV9jdXJyZW50U3JjID0gdXJsOworICAg
IHNldEN1cnJlbnRTcmModXJsKTsKIAogICAgIGlmIChyZXNvdXJjZSkgewogICAgICAgICB1cmwg
PSBBcHBsaWNhdGlvbkNhY2hlSG9zdDo6Y3JlYXRlRmlsZVVSTChyZXNvdXJjZS0+cGF0aCgpKTsK
QEAgLTc1MTIsOSArNzUxMiwxNSBAQCBTdHJpbmcgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFTZXNz
aW9uVGl0bGUoKSBjb25zdAogICAgIHJldHVybiB0aXRsZTsKIH0KIAotTWVkaWFTZXNzaW9uSWRl
bnRpZmllciBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVNlc3Npb25VbmlxdWVJZGVudGlmaWVyKCkg
Y29uc3QKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0Q3VycmVudFNyYyhjb25zdCBVUkwmIHNy
YykKIHsKLSAgICByZXR1cm4gbV9tZWRpYVNlc3Npb24tPm1lZGlhU2Vzc2lvbklkZW50aWZpZXIo
KTsKKyAgICBtX2N1cnJlbnRTcmMgPSBzcmM7CisgICAgbV9jdXJyZW50SWRlbnRpZmllciA9IE1l
ZGlhVW5pcXVlSWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKK30KKworTWVkaWFVbmlxdWVJZGVudGlm
aWVyIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhVW5pcXVlSWRlbnRpZmllcigpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fY3VycmVudElkZW50aWZpZXI7CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpS
ZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Np
b246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYgYXJndW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5oCmluZGV4IDMwNmM2ZmE2YWJiNThiMmU2ZmI4MGM2MGU5MGI5ZDFhYTU4
OGZiMjEuLjIwYWNhNGJmMjY3NzQwOTdlNmE2NDhkMGZjYmM2ZGE2MGVhMDM2ZWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC00MCw3ICs0MCw3IEBACiAjaW5jbHVk
ZSAiTWVkaWFFbGVtZW50U2Vzc2lvbi5oIgogI2luY2x1ZGUgIk1lZGlhUGxheWVyLmgiCiAjaW5j
bHVkZSAiTWVkaWFQcm9kdWNlci5oIgotI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbklkZW50aWZpZXIu
aCIKKyNpbmNsdWRlICJNZWRpYVVuaXF1ZUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJUZXh0VHJh
Y2suaCIKICNpbmNsdWRlICJWaWRlb1RyYWNrLmgiCiAjaW5jbHVkZSAiVmlzaWJpbGl0eUNoYW5n
ZUNsaWVudC5oIgpAQCAtNTY1LDcgKzU2NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFwcGxpY2F0
aW9uV2lsbFJlc2lnbkFjdGl2ZSgpOwogICAgIHZvaWQgYXBwbGljYXRpb25EaWRCZWNvbWVBY3Rp
dmUoKTsKIAotICAgIE1lZGlhU2Vzc2lvbklkZW50aWZpZXIgbWVkaWFTZXNzaW9uVW5pcXVlSWRl
bnRpZmllcigpIGNvbnN0OworICAgIE1lZGlhVW5pcXVlSWRlbnRpZmllciBtZWRpYVVuaXF1ZUlk
ZW50aWZpZXIoKSBjb25zdDsKICAgICBTdHJpbmcgbWVkaWFTZXNzaW9uVGl0bGUoKSBjb25zdDsK
ICAgICBTdHJpbmcgc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyKCkgY29uc3Q7CiAKQEAgLTg0
NSw2ICs4NDUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlTWVkaWFDb250cm9sbGVyKCk7
CiAgICAgYm9vbCBpc0Jsb2NrZWQoKSBjb25zdDsKICAgICBib29sIGlzQmxvY2tlZE9uTWVkaWFD
b250cm9sbGVyKCkgY29uc3Q7CisgICAgdm9pZCBzZXRDdXJyZW50U3JjKGNvbnN0IFVSTCYpOwog
ICAgIGJvb2wgaGFzQ3VycmVudFNyYygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICFtX2N1cnJl
bnRTcmMuaXNFbXB0eSgpOyB9CiAgICAgYm9vbCBpc0xpdmVTdHJlYW0oKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBtb3ZpZUxvYWRUeXBlKCkgPT0gTW92aWVMb2FkVHlwZTo6TGl2ZVN0cmVhbTsg
fQogCkBAIC05NjUsNiArOTY2LDcgQEAgcHJpdmF0ZToKICAgICBSZWFkeVN0YXRlIG1fcmVhZHlT
dGF0ZSB7IEhBVkVfTk9USElORyB9OwogICAgIFJlYWR5U3RhdGUgbV9yZWFkeVN0YXRlTWF4aW11
bSB7IEhBVkVfTk9USElORyB9OwogICAgIFVSTCBtX2N1cnJlbnRTcmM7CisgICAgTWVkaWFVbmlx
dWVJZGVudGlmaWVyIG1fY3VycmVudElkZW50aWZpZXI7CiAKICAgICBSZWZQdHI8TWVkaWFFcnJv
cj4gbV9lcnJvcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1l
bnRTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAKaW5kZXggOTVmMjc4MDY0ZjVjODE0M2UxZjA0ODg4NmI4NzhmMTRlNzU3MzY3Yy4uZjI3NGJl
Zjg2NmVjMjliMTk3YzBkZjVlYTM3NmZjMDkzMmY0ZThlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCkBAIC0xMTYxLDExICsxMTYxLDExIEBAIE9wdGlv
bmFsPE5vd1BsYXlpbmdJbmZvPiBNZWRpYUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5nSW5mbygp
IGNvbnN0CiAgICAgICAgIGlmIChzZXNzaW9uTWV0YWRhdGEtPmFydHdvcmtJbWFnZSgpKSB7CiAg
ICAgICAgICAgICBhcnR3b3JrID0gTm93UGxheWluZ0luZm9BcnR3b3JrIHsgc2Vzc2lvbk1ldGFk
YXRhLT5hcnR3b3JrU3JjKCksIHNlc3Npb25NZXRhZGF0YS0+YXJ0d29ya0ltYWdlKCktPm1pbWVU
eXBlKCksIHNlc3Npb25NZXRhZGF0YS0+YXJ0d29ya0ltYWdlKCktPmRhdGEoKSB9OwogICAgICAg
ICB9Ci0gICAgICAgIHJldHVybiBOb3dQbGF5aW5nSW5mbyB7IHNlc3Npb25NZXRhZGF0YS0+dGl0
bGUoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hcnRpc3QoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hbGJ1bSgp
LCBtX2VsZW1lbnQuc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyKCksIGR1cmF0aW9uLCBjdXJy
ZW50VGltZSwgc3VwcG9ydHNTZWVraW5nLCBtX2VsZW1lbnQubWVkaWFTZXNzaW9uVW5pcXVlSWRl
bnRpZmllcigpLCBpc1BsYXlpbmcsIGFsbG93c05vd1BsYXlpbmdDb250cm9sc1Zpc2liaWxpdHks
IFdURk1vdmUoYXJ0d29yaykgfTsKKyAgICAgICAgcmV0dXJuIE5vd1BsYXlpbmdJbmZvIHsgc2Vz
c2lvbk1ldGFkYXRhLT50aXRsZSgpLCBzZXNzaW9uTWV0YWRhdGEtPmFydGlzdCgpLCBzZXNzaW9u
TWV0YWRhdGEtPmFsYnVtKCksIG1fZWxlbWVudC5zb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIo
KSwgZHVyYXRpb24sIGN1cnJlbnRUaW1lLCBzdXBwb3J0c1NlZWtpbmcsIG1fZWxlbWVudC5tZWRp
YVVuaXF1ZUlkZW50aWZpZXIoKSwgaXNQbGF5aW5nLCBhbGxvd3NOb3dQbGF5aW5nQ29udHJvbHNW
aXNpYmlsaXR5LCBXVEZNb3ZlKGFydHdvcmspIH07CiAgICAgfQogI2VuZGlmCiAKLSAgICByZXR1
cm4gTm93UGxheWluZ0luZm8geyBtX2VsZW1lbnQubWVkaWFTZXNzaW9uVGl0bGUoKSwgZW1wdHlT
dHJpbmcoKSwgZW1wdHlTdHJpbmcoKSwgbV9lbGVtZW50LnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRp
ZmllcigpLCBkdXJhdGlvbiwgY3VycmVudFRpbWUsIHN1cHBvcnRzU2Vla2luZywgbV9lbGVtZW50
Lm1lZGlhU2Vzc2lvblVuaXF1ZUlkZW50aWZpZXIoKSwgaXNQbGF5aW5nLCBhbGxvd3NOb3dQbGF5
aW5nQ29udHJvbHNWaXNpYmlsaXR5LCB7IH19OworICAgIHJldHVybiBOb3dQbGF5aW5nSW5mbyB7
IG1fZWxlbWVudC5tZWRpYVNlc3Npb25UaXRsZSgpLCBlbXB0eVN0cmluZygpLCBlbXB0eVN0cmlu
ZygpLCBtX2VsZW1lbnQuc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyKCksIGR1cmF0aW9uLCBj
dXJyZW50VGltZSwgc3VwcG9ydHNTZWVraW5nLCBtX2VsZW1lbnQubWVkaWFVbmlxdWVJZGVudGlm
aWVyKCksIGlzUGxheWluZywgYWxsb3dzTm93UGxheWluZ0NvbnRyb2xzVmlzaWJpbGl0eSwgeyB9
fTsKIH0KIAogdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjp1cGRhdGVNZWRpYVVzYWdlSWZDaGFu
Z2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhVW5pcXVlSWRl
bnRpZmllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFVbmlxdWVJZGVudGlmaWVy
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzU5ZTZhNzE4YTA5NDdmMmU1NGJjOGJhYTFkOGU2ZTQ5NTJkNjIxZQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhVW5pcXVlSWRl
bnRpZmllci5oCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2luY2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworZW51bSBNZWRpYVVuaXF1ZUlkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIE1lZGlhVW5pcXVl
SWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8TWVkaWFVbmlxdWVJZGVudGlmaWVyVHlwZT47
CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL05vd1BsYXlp
bmdJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Ob3dQbGF5aW5nSW5mby5o
CmluZGV4IDM0YTdiMmZlYzA1ZDI1YTBlM2U2NDA1N2Y1M2QwY2Q2NDU3MGM0MzQuLjU4ZjBiY2M5
MGY3ODg2ZDJlMWI3NjdiZTgzZjE1ODlmNzUxNDliZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL05vd1BsYXlpbmdJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vTm93UGxheWluZ0luZm8uaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJh
Z21hIG9uY2UKIAotI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbklkZW50aWZpZXIuaCIKKyNpbmNsdWRl
ICJNZWRpYVVuaXF1ZUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNp
bmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CkBAIC04Myw3ICs4
Myw3IEBAIHN0cnVjdCBOb3dQbGF5aW5nSW5mbyB7CiAgICAgZG91YmxlIGR1cmF0aW9uIHsgMCB9
OwogICAgIGRvdWJsZSBjdXJyZW50VGltZSB7IDAgfTsKICAgICBib29sIHN1cHBvcnRzU2Vla2lu
ZyB7IGZhbHNlIH07Ci0gICAgTWVkaWFTZXNzaW9uSWRlbnRpZmllciB1bmlxdWVJZGVudGlmaWVy
OworICAgIE1lZGlhVW5pcXVlSWRlbnRpZmllciB1bmlxdWVJZGVudGlmaWVyOwogICAgIGJvb2wg
aXNQbGF5aW5nIHsgZmFsc2UgfTsKICAgICBib29sIGFsbG93c05vd1BsYXlpbmdDb250cm9sc1Zp
c2liaWxpdHkgeyBmYWxzZSB9OwogICAgIE9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvQXJ0d29yaz4g
YXJ0d29yazsKQEAgLTE0Nyw3ICsxNDcsNyBAQCB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBpbmxp
bmUgT3B0aW9uYWw8Tm93UGxheWluZ0luZm8+IE5vd1BsYXlpbmdJbmZvOjpkZWNvZGUoRAogICAg
IGlmICghZGVjb2Rlci5kZWNvZGUoc3VwcG9ydHNTZWVraW5nKSkKICAgICAgICAgcmV0dXJuIHsg
fTsKIAotICAgIE1lZGlhU2Vzc2lvbklkZW50aWZpZXIgdW5pcXVlSWRlbnRpZmllcjsKKyAgICBN
ZWRpYVVuaXF1ZUlkZW50aWZpZXIgdW5pcXVlSWRlbnRpZmllcjsKICAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHVuaXF1ZUlkZW50aWZpZXIpKQogICAgICAgICByZXR1cm4geyB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oCmluZGV4IGI1YzFkNWIzNDk4MGVjNWEyMmU2ZDU2MGQxMjczNDY4NThlNWMz
Y2UuLmFkYzIyNjcyMmM1MWFkMTc2ZjIyMTc0YTA3ZjdhMTYyMzVlNjdjNDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw3IEBACiAjZGVmaW5lIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcl9oCiAKICNpbmNsdWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCi0jaW5jbHVkZSAi
TWVkaWFTZXNzaW9uSWRlbnRpZmllci5oIgorI2luY2x1ZGUgIk1lZGlhVW5pcXVlSWRlbnRpZmll
ci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uLmgiCiAjaW5jbHVkZSAiVGltZXIu
aCIKICNpbmNsdWRlIDx3dGYvQWdncmVnYXRlTG9nZ2VyLmg+CkBAIC04Niw3ICs4Niw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBsYXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRsZSgpIGNv
bnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIGRvdWJsZSBsYXN0VXBk
YXRlZE5vd1BsYXlpbmdEdXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIE5BTjsgfQogICAgIHZpcnR1
YWwgZG91YmxlIGxhc3RVcGRhdGVkTm93UGxheWluZ0VsYXBzZWRUaW1lKCkgY29uc3QgeyByZXR1
cm4gTkFOOyB9Ci0gICAgdmlydHVhbCBNZWRpYVNlc3Npb25JZGVudGlmaWVyIGxhc3RVcGRhdGVk
Tm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4geyB9OyB9Cisg
ICAgdmlydHVhbCBNZWRpYVVuaXF1ZUlkZW50aWZpZXIgbGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5m
b1VuaXF1ZUlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiB7IH07IH0KICAgICB2aXJ0dWFsIGJv
b2wgcmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxpY2F0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaGF2ZUV2ZXJSZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBw
bGljYXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBwcmVw
YXJlVG9TZW5kVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QoKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2Nv
YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFu
YWdlckNvY29hLmgKaW5kZXggNTU2Y2FlZTBkYzFiNWQ5Y2YxZjY3ZTQzY2MwNjk3MWRjMmFmNTY0
OS4uODU3ZjcyYjhmNGZhYmUxNzI0Mjc5MDllNGViZjY4YjIxOWJhM2M5MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNv
Y29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNz
aW9uTWFuYWdlckNvY29hLmgKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogICAgIFN0cmluZyBs
YXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRsZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbGFzdFVw
ZGF0ZWROb3dQbGF5aW5nVGl0bGU7IH0KICAgICBkb3VibGUgbGFzdFVwZGF0ZWROb3dQbGF5aW5n
RHVyYXRpb24oKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0R1
cmF0aW9uOyB9CiAgICAgZG91YmxlIGxhc3RVcGRhdGVkTm93UGxheWluZ0VsYXBzZWRUaW1lKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdFbGFwc2VkVGltZTsg
fQotICAgIE1lZGlhU2Vzc2lvbklkZW50aWZpZXIgbGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5mb1Vu
aXF1ZUlkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xhc3RVcGRhdGVkTm93UGxh
eWluZ0luZm9VbmlxdWVJZGVudGlmaWVyOyB9CisgICAgTWVkaWFVbmlxdWVJZGVudGlmaWVyIGxh
c3RVcGRhdGVkTm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllcjsgfQogICAg
IGJvb2wgcmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxpY2F0aW9uKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9yZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb247IH0KICAgICBib29sIGhh
dmVFdmVyUmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxpY2F0aW9uKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9oYXZlRXZlclJlZ2lzdGVyZWRBc05vd1BsYXlpbmdBcHBsaWNhdGlvbjsgfQogCkBA
IC0xMDksNyArMTA5LDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9sYXN0VXBkYXRlZE5vd1Bs
YXlpbmdUaXRsZTsKICAgICBkb3VibGUgbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdEdXJhdGlvbiB7
IE5BTiB9OwogICAgIGRvdWJsZSBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0VsYXBzZWRUaW1lIHsg
TkFOIH07Ci0gICAgTWVkaWFTZXNzaW9uSWRlbnRpZmllciBtX2xhc3RVcGRhdGVkTm93UGxheWlu
Z0luZm9VbmlxdWVJZGVudGlmaWVyOworICAgIE1lZGlhVW5pcXVlSWRlbnRpZmllciBtX2xhc3RV
cGRhdGVkTm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlmaWVyOwogCiAgICAgR2VuZXJpY1Rhc2tR
dWV1ZTxUaW1lcj4gbV90YXNrUXVldWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbQpp
bmRleCA1ZTE5NTQ0Y2JjY2VlNmQ4OGEyOTgzMzhhYzBiMjkzYTBiMDM0NzlmLi4wNmFkY2M4Yjlm
NTAxZDEwODZkZDQwMmIyYThkZDQ5YjVkOGI2MGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNv
Y29hLm1tCkBAIC0yOTMsNyArMjkzLDkgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6
OnNldE5vd1BsYXlpbmdJbmZvKGJvb2wgc2V0QXNOb3dQbGF5aW5nQXBwbGljYXRpb24KICAgICBh
dXRvIGNmUmF0ZSA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwg
a0NGTnVtYmVyRG91YmxlVHlwZSwgJnJhdGUpKTsKICAgICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShp
bmZvLmdldCgpLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvUGxheWJhY2tSYXRlLCBjZlJh
dGUuZ2V0KCkpOwogCi0gICAgYXV0byBsYXN0VXBkYXRlZE5vd1BsYXlpbmdJbmZvVW5pcXVlSWRl
bnRpZmllciA9IG5vd1BsYXlpbmdJbmZvLnVuaXF1ZUlkZW50aWZpZXIudG9VSW50NjQoKTsKKyAg
ICAvLyBGSVhNRTogVGhpcyBpcyBhIHdvcmthcm91bmQgQ29udHJvbCBDZW50ZXIgbm90IHVwZGF0
aW5nIHRoZSBhcnR3b3JrIHdoZW4gcmVmcmVzaGVkLgorICAgIC8vIFdlIGZvcmNlIHRoZSBpZGVu
dGlmaWVyIHRvIGJlIHJlbG9hZGVkIHRvIHRoZSBuZXcgYXJ0d29yayBpZiBhdmFpbGFibGUuCisg
ICAgYXV0byBsYXN0VXBkYXRlZE5vd1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllciA9IG5vd1Bs
YXlpbmdJbmZvLmFydHdvcmsgPyBub3dQbGF5aW5nSW5mby5hcnR3b3JrLT5zcmMuaGFzaCgpIDog
bm93UGxheWluZ0luZm8udW5pcXVlSWRlbnRpZmllci50b1VJbnQ2NCgpOwogICAgIGF1dG8gY2ZJ
ZGVudGlmaWVyID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBr
Q0ZOdW1iZXJMb25nTG9uZ1R5cGUsICZsYXN0VXBkYXRlZE5vd1BsYXlpbmdJbmZvVW5pcXVlSWRl
bnRpZmllcikpOwogICAgIENGRGljdGlvbmFyeVNldFZhbHVlKGluZm8uZ2V0KCksIGtNUk1lZGlh
UmVtb3RlTm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlmaWVyLCBjZklkZW50aWZpZXIuZ2V0KCkp
OwogCkBAIC0zMDUsNiArMzA3LDcgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnNl
dE5vd1BsYXlpbmdJbmZvKGJvb2wgc2V0QXNOb3dQbGF5aW5nQXBwbGljYXRpb24KICAgICAgICAg
YXV0byBuc0FydHdvcmsgPSBub3dQbGF5aW5nSW5mby5hcnR3b3JrLT5pbWFnZURhdGEtPmNyZWF0
ZU5TRGF0YSgpOwogICAgICAgICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShpbmZvLmdldCgpLCBrTVJN
ZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya0RhdGEsIG5zQXJ0d29yay5nZXQoKSk7CiAg
ICAgICAgIENGRGljdGlvbmFyeVNldFZhbHVlKGluZm8uZ2V0KCksIGtNUk1lZGlhUmVtb3RlTm93
UGxheWluZ0luZm9BcnR3b3JrTUlNRVR5cGUsIG5vd1BsYXlpbmdJbmZvLmFydHdvcmstPm1pbWVU
eXBlLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOworICAgICAgICBDRkRpY3Rpb25hcnlTZXRWYWx1
ZShpbmZvLmdldCgpLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya0lkZW50aWZp
ZXIsIFN0cmluZzo6bnVtYmVyKG5vd1BsYXlpbmdJbmZvLmFydHdvcmstPnNyYy5oYXNoKCkpLmNy
ZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOwogICAgIH0KIAogICAgIGlmIChjYW5Mb2FkX01lZGlhUmVt
b3RlX01STWVkaWFSZW1vdGVTZXRQYXJlbnRBcHBsaWNhdGlvbigpICYmICFub3dQbGF5aW5nSW5m
by5zb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLmgKaW5kZXggODE2ZDg0ZGE0
NzQ2Njg5ODc2MTE1NzY5OWZjYjRlZTdjNzU2ZTMwOC4uY2U4ZTcyNTFiZGEwNjliZDYzY2M3NjA4
NGZjNmRkMmIzZjZkM2E4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L01lZGlhUmVtb3RlU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
TWVkaWFSZW1vdGVTb2Z0TGluay5oCkBAIC02OSw2ICs2OSw4IEBAIFNPRlRfTElOS19DT05TVEFO
VF9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlp
bmdJbmZvCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBNZWRpYVJlbW90
ZSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0FydHdvcmtNSU1FVHlwZSwgQ0ZTdHJpbmdS
ZWYpOwogI2RlZmluZSBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya01JTUVUeXBl
IGdldF9NZWRpYVJlbW90ZV9rTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya01JTUVU
eXBlKCkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlhUmVtb3Rl
LCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvRHVyYXRpb24sIENGU3RyaW5nUmVmKTsKKyNk
ZWZpbmUga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0FydHdvcmtJZGVudGlmaWVyIGdldF9N
ZWRpYVJlbW90ZV9rTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya0lkZW50aWZpZXIo
KQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIGtN
Uk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9BcnR3b3JrSWRlbnRpZmllciwgQ0ZTdHJpbmdSZWYp
OwogI2RlZmluZSBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvRHVyYXRpb24gZ2V0X01lZGlh
UmVtb3RlX2tNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9EdXJhdGlvbigpCiBTT0ZUX0xJTktf
Q09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVO
b3dQbGF5aW5nSW5mb0VsYXBzZWRUaW1lLCBDRlN0cmluZ1JlZik7CiAjZGVmaW5lIGtNUk1lZGlh
UmVtb3RlTm93UGxheWluZ0luZm9FbGFwc2VkVGltZSBnZXRfTWVkaWFSZW1vdGVfa01STWVkaWFS
ZW1vdGVOb3dQbGF5aW5nSW5mb0VsYXBzZWRUaW1lKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsubW0KaW5kZXggZWExZTliOGM0MGRkNDg3
NTFlNzk3ODdmOWYwNTk2NWM0NWQ5NzQxOS4uNDRmYjE5ZjRlYmE0NDI2ZjdkZjI4ZWUxMzc0NzY1
ZmMwNDM0OWNkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlh
UmVtb3RlU29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlh
UmVtb3RlU29mdExpbmsubW0KQEAgLTQ5LDYgKzQ5LDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZP
Ul9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0lu
Zm8KIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBr
TVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQWxidW0sIENGU3RyaW5nUmVmKTsKIFNPRlRfTElO
S19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90
ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya0RhdGEsIENGU3RyaW5nUmVmKTsKIFNPRlRfTElOS19DT05T
VEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90ZU5vd1Bs
YXlpbmdJbmZvQXJ0d29ya01JTUVUeXBlLCBDRlN0cmluZ1JlZik7CitTT0ZUX0xJTktfQ09OU1RB
TlRfRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVOb3dQbGF5
aW5nSW5mb0FydHdvcmtJZGVudGlmaWVyLCBDRlN0cmluZ1JlZik7CiBTT0ZUX0xJTktfQ09OU1RB
TlRfRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVOb3dQbGF5
aW5nSW5mb0R1cmF0aW9uLCBDRlN0cmluZ1JlZik7CiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NP
VVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0Vs
YXBzZWRUaW1lLCBDRlN0cmluZ1JlZik7CiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShX
ZWJDb3JlLCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb1BsYXliYWNr
UmF0ZSwgQ0ZTdHJpbmdSZWYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggNDYx
MTk4Njk2ZjdhNDRmNTlhMmMxYzI4N2I3ODJhMWE3ODdhZmExNy4uMDI3NjdkNTk2OTgwZjVjODM0
ZWZmNTI2YmY4NWI0NGEyOGFjOWY2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBA
IC00Myw2ICs0Myw3IEBACiAKICNpZiBFTkFCTEUoVklERU8pCiAjaW5jbHVkZSAiTWVkaWFFbGVt
ZW50U2Vzc2lvbi5oIgorI2luY2x1ZGUgIk1lZGlhVW5pcXVlSWRlbnRpZmllci5oIgogI2VuZGlm
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
</data>
<flag name="commit-queue"
          id="444636"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424852</attachid>
            <date>2021-03-31 18:04:51 -0700</date>
            <delta_ts>2021-03-31 19:12:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223731-20210401120450.patch</filename>
            <type>text/plain</type>
            <size>6941</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTUxNTYxODEwOGFiNDA0
OTZkYjk2NWFjY2Q3MDM4NzQ5MzdhOTZmYi4uNTEyMDc3Njk3ZWM1NTFhNDI3YzhmNWE1OTNlOWQw
NGVlMzYxZTkyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTAzLTMxICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgUHJldmlvdXMgYXJ0d29y
ayBpc24ndCBjbGVhcmVkIHdoZW4gbm8gTm93UGxheWluZyBpbmZvIGRvZXNuJ3QgY29udGFpbiBh
biBhcnR3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjQwMzEKKyAgICAgICAgPHJkYXI6Ly83NjA0NDU0ND4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYW51YWxseSB0ZXN0ZWQsIG5vIGZyYW1ld29y
ayBhdmFpbGFibGUgdG8gdGVzdCBzdWNoIGNoYW5nZS4KKworICAgICAgICAqIHBsYXRmb3JtL2F1
ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYTo6c2V0Tm93UGxheWluZ0luZm8pOiB1c2UgTVJNZWRp
YVJlbW90ZVNldE5vd1BsYXlpbmdJbmZvV2l0aE1lcmdlUG9saWN5IGluc3RlYWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuaDogU29mdCBsaW5rIE1STWVkaWFS
ZW1vdGVTZXROb3dQbGF5aW5nSW5mb1dpdGhNZXJnZVBvbGljeQorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLm1tOgorCiAyMDIxLTAzLTMxICBaYWxhbiBCdWp0YXMg
IDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIG1pc2xlYWRpbmcgRklYTUUgY29t
bWVudCBpbiBSZW5kZXJCb3g6OnNob3VsZENvbXB1dGVMb2dpY2FsV2lkdGhGcm9tQXNwZWN0UmF0
aW9BbmRJbnNldHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDUxZTZlYmU4ZDhlODA1YTYxNzVmZGJk
NThmZTdjYmZhNjYxYTA1N2QuLjUwMjJkZTE2NjAwMTUyODZiN2Y3YWQxY2YyY2FhMWRkM2I2NDY3
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTAzLTMxICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgUHJldmlvdXMgYXJ0d29y
ayBpc24ndCBjbGVhcmVkIHdoZW4gbm8gTm93UGxheWluZyBpbmZvIGRvZXNuJ3QgY29udGFpbiBh
biBhcnR3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjQwMzEKKyAgICAgICAgPHJkYXI6Ly83NjA0NDU0ND4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhbC9zcGkvbWFjL01lZGlhUmVtb3RlU1BJ
Lmg6CisKIDIwMjEtMDMtMzEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIE1ha2UgdXNlIG9mIE5TVVJMU2Vzc2lvbldlYlNvY2tldC5zZW5kQ2xvc2VDb2RlIGlm
IGF2YWlsYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL01l
ZGlhUmVtb3RlU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTWVkaWFSZW1v
dGVTUEkuaAppbmRleCAwZmI3YmI0ZjcwMDI3ODU3NGIzNjRkZGI1MjUwMDAwYjg1NGU3ZTg5Li44
ZDgyM2Y1NzU5MGRiNTE5YmY0ZjBhMWYzOTc1ZWFlOWQxNjZhODhiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTWVkaWFSZW1vdGVTUEkuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTWVkaWFSZW1vdGVTUEkuaApAQCAtMTI2LDYgKzEyNiw3
IEBAIHZvaWQgTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvU2V0T3B0aW9ucyhNUk1lZGlhUmVtb3Rl
Q29tbWFuZEluZm9SZWYsIENGRGljdGlvbmFyCiBCb29sZWFuIE1STWVkaWFSZW1vdGVTZXRDYW5C
ZU5vd1BsYXlpbmdBcHBsaWNhdGlvbihCb29sZWFuKTsKIHZvaWQgTVJNZWRpYVJlbW90ZVNldE5v
d1BsYXlpbmdBcHBsaWNhdGlvblBsYXliYWNrU3RhdGVGb3JPcmlnaW4oTVJPcmlnaW5SZWYsIE1S
UGxheWJhY2tTdGF0ZSwgZGlzcGF0Y2hfcXVldWVfdCByZXBseVEsIHZvaWQoXmNvbXBsZXRpb24p
KE1STWVkaWFSZW1vdGVFcnJvcikpOwogdm9pZCBNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ0lu
Zm8oQ0ZEaWN0aW9uYXJ5UmVmKTsKK3ZvaWQgTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdJbmZv
V2l0aE1lcmdlUG9saWN5KENGRGljdGlvbmFyeVJlZiwgTVJNZWRpYVJlbW90ZU1lcmdlUG9saWN5
KTsKIAogI3ByYWdtYSBtYXJrIC0gTVJBVlJvdXRpbmcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNv
Y29hLm1tCmluZGV4IDFkZDI5OTVmZTcxYjI2ZDMzMTI1YjU0NTFlN2QzNzkwY2MzZDVmNjEuLjVl
MTk1NDRjYmNjZWU2ZDg4YTI5ODMzOGFjMGIyOTNhMGIwMzQ3OWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25N
YW5hZ2VyQ29jb2EubW0KQEAgLTMxOSw3ICszMTksNyBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFn
ZXJDb2NvYTo6c2V0Tm93UGxheWluZ0luZm8oYm9vbCBzZXRBc05vd1BsYXlpbmdBcHBsaWNhdGlv
bgogICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ0Fw
cGxpY2F0aW9uUGxheWJhY2tTdGF0ZUZvck9yaWdpbihwbGF5aW5nKSBmYWlsZWQgd2l0aCBlcnJv
ciAlZCIsIGVycm9yKTsKICNlbmRpZgogICAgIH0pOwotICAgIE1STWVkaWFSZW1vdGVTZXROb3dQ
bGF5aW5nSW5mbyhpbmZvLmdldCgpKTsKKyAgICBNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ0lu
Zm9XaXRoTWVyZ2VQb2xpY3koaW5mby5nZXQoKSwgTVJNZWRpYVJlbW90ZU1lcmdlUG9saWN5UmVw
bGFjZSk7CiAKICAgICBpZiAoY2FuTG9hZF9NZWRpYVJlbW90ZV9NUk1lZGlhUmVtb3RlU2V0Tm93
UGxheWluZ1Zpc2liaWxpdHkoKSkgewogICAgICAgICBNUk5vd1BsYXlpbmdDbGllbnRWaXNpYmls
aXR5IHZpc2liaWxpdHkgPSBub3dQbGF5aW5nSW5mby5hbGxvd3NOb3dQbGF5aW5nQ29udHJvbHNW
aXNpYmlsaXR5ID8gTVJOb3dQbGF5aW5nQ2xpZW50VmlzaWJpbGl0eUFsd2F5c1Zpc2libGUgOiBN
Uk5vd1BsYXlpbmdDbGllbnRWaXNpYmlsaXR5TmV2ZXJWaXNpYmxlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLmgKaW5kZXggZjEwZTA5MjY3
Mzg3NmFkZjE1ZjdlM2JhNjA4ODYyZmM4MjFmZjdhMC4uODE2ZDg0ZGE0NzQ2Njg5ODc2MTE1NzY5
OWZjYjRlZTdjNzU2ZTMwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L01lZGlhUmVtb3RlU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
TWVkaWFSZW1vdGVTb2Z0TGluay5oCkBAIC01Miw2ICs1Miw4IEBAIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlhUmVtb3RlU2V0Q2FuQmVO
b3dQbGF5CiAjZGVmaW5lIE1STWVkaWFSZW1vdGVTZXRDYW5CZU5vd1BsYXlpbmdBcHBsaWNhdGlv
biBzb2Z0TGlua19NZWRpYVJlbW90ZV9NUk1lZGlhUmVtb3RlU2V0Q2FuQmVOb3dQbGF5aW5nQXBw
bGljYXRpb24KIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlhUmVt
b3RlLCBNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ0luZm8sIHZvaWQsIChDRkRpY3Rpb25hcnlS
ZWYgaW5mbyksIChpbmZvKSkKICNkZWZpbmUgTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdJbmZv
IHNvZnRMaW5rX01lZGlhUmVtb3RlX01STWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nSW5mbworU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFS
ZW1vdGVTZXROb3dQbGF5aW5nSW5mb1dpdGhNZXJnZVBvbGljeSwgdm9pZCwgKENGRGljdGlvbmFy
eVJlZiBpbmZvLCBNUk1lZGlhUmVtb3RlTWVyZ2VQb2xpY3kgbWVyZ2VQb2xpY3kpLCAoaW5mbywg
bWVyZ2VQb2xpY3kpKQorI2RlZmluZSBNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ0luZm9XaXRo
TWVyZ2VQb2xpY3kgc29mdExpbmtfTWVkaWFSZW1vdGVfTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlp
bmdJbmZvV2l0aE1lcmdlUG9saWN5CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJD
b3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdBcHBsaWNhdGlvblBs
YXliYWNrU3RhdGVGb3JPcmlnaW4sIHZvaWQsIChNUk9yaWdpblJlZiBvcmlnaW4sIE1SUGxheWJh
Y2tTdGF0ZSBwbGF5YmFja1N0YXRlLCBkaXNwYXRjaF9xdWV1ZV90IHJlcGx5USwgdm9pZCheY29t
cGxldGlvbikoTVJNZWRpYVJlbW90ZUVycm9yKSksIChvcmlnaW4sIHBsYXliYWNrU3RhdGUsIHJl
cGx5USwgY29tcGxldGlvbikpCiAjZGVmaW5lIE1STWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nQXBw
bGljYXRpb25QbGF5YmFja1N0YXRlRm9yT3JpZ2luIHNvZnRMaW5rX01lZGlhUmVtb3RlX01STWVk
aWFSZW1vdGVTZXROb3dQbGF5aW5nQXBwbGljYXRpb25QbGF5YmFja1N0YXRlRm9yT3JpZ2luCiBT
T0ZUX0xJTktfRlVOQ1RJT05fTUFZX0ZBSUxfRk9SX0hFQURFUihXZWJDb3JlLCBNZWRpYVJlbW90
ZSwgTVJNZWRpYVJlbW90ZVNldFBhcmVudEFwcGxpY2F0aW9uLCB2b2lkLCAoTVJPcmlnaW5SZWYg
b3JpZ2luLCBDRlN0cmluZ1JlZiBwYXJlbnRBcHBEaXNwbGF5SUQpLCAob3JpZ2luLCBwYXJlbnRB
cHBEaXNwbGF5SUQpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01l
ZGlhUmVtb3RlU29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFS
ZW1vdGVTb2Z0TGluay5tbQppbmRleCAzNjE1ZWYyY2Y5NjQ1MmU1MTdiMTgzNDc4MDMzNzQyNTdi
MWNlOTgyLi5lYTFlOWI4YzQwZGQ0ODc1MWU3OTc4N2Y5ZjA1OTY1YzQ1ZDk3NDE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5tbQpA
QCAtNDEsNiArNDEsNyBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBN
ZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvU2V0RQogU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFSZW1vdGVDb21tYW5k
SW5mb1NldE9wdGlvbnMsIHZvaWQsIChNUk1lZGlhUmVtb3RlQ29tbWFuZEluZm9SZWYgY29tbWFu
ZEluZm8sIENGRGljdGlvbmFyeVJlZiBvcHRpb25zKSwgKGNvbW1hbmRJbmZvLCBvcHRpb25zKSkK
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBNUk1l
ZGlhUmVtb3RlU2V0Q2FuQmVOb3dQbGF5aW5nQXBwbGljYXRpb24sIEJvb2xlYW4sIChCb29sZWFu
IGZsYWcpLCAoZmxhZykpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBN
ZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdJbmZvLCB2b2lkLCAoQ0ZEaWN0
aW9uYXJ5UmVmIGluZm8pLCAoaW5mbykpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShX
ZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdJbmZvV2l0aE1l
cmdlUG9saWN5LCB2b2lkLCAoQ0ZEaWN0aW9uYXJ5UmVmIGluZm8sIE1STWVkaWFSZW1vdGVNZXJn
ZVBvbGljeSBtZXJnZVBvbGljeSksIChpbmZvLCBtZXJnZVBvbGljeSkpCiBTT0ZUX0xJTktfRlVO
Q1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZVNldE5v
d1BsYXlpbmdBcHBsaWNhdGlvblBsYXliYWNrU3RhdGVGb3JPcmlnaW4sIHZvaWQsIChNUk9yaWdp
blJlZiBvcmlnaW4sIE1SUGxheWJhY2tTdGF0ZSBwbGF5YmFja1N0YXRlLCBkaXNwYXRjaF9xdWV1
ZV90IHJlcGx5USwgdm9pZCheY29tcGxldGlvbikoTVJNZWRpYVJlbW90ZUVycm9yKSksIChvcmln
aW4sIHBsYXliYWNrU3RhdGUsIHJlcGx5USwgY29tcGxldGlvbikpCiBTT0ZUX0xJTktfRlVOQ1RJ
T05fTUFZX0ZBSUxfRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90
ZVNldFBhcmVudEFwcGxpY2F0aW9uLCB2b2lkLCAoTVJPcmlnaW5SZWYgb3JpZ2luLCBDRlN0cmlu
Z1JlZiBwYXJlbnRBcHBEaXNwbGF5SUQpLCAob3JpZ2luLCBwYXJlbnRBcHBEaXNwbGF5SUQpKQog
U09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIGtNUk1l
ZGlhUmVtb3RlTm93UGxheWluZ0luZm9UaXRsZSwgQ0ZTdHJpbmdSZWYpOwo=
</data>
<flag name="commit-queue"
          id="444651"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424863</attachid>
            <date>2021-03-31 19:03:07 -0700</date>
            <delta_ts>2021-03-31 20:22:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223731-20210401130306.patch</filename>
            <type>text/plain</type>
            <size>24798</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ1ZGIxNWE4MjM3M2Ni
NTRjZjNlYjFkNTc3OTJjNmZlOWJjNTZjOC4uOTNkNGI1NjU4ZWFmMDQyZTMyYmViNThiYTEzZWUz
NmQzZDE0M2FiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTAzLTMxICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgTm93IFBsYXlpbmcgYXJ0
d29yayBkb2Vzbid0IHVwZGF0ZSB3aGVuIGNoYW5nZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3MzEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc1ODIzOTIzPgorCisgICAgICAgIE5vdyBQbGF5aW5nIGFuZCBNZWRpYSBSZW1vdGUgcmVxdWly
ZXMgYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGN1cnJlbnRseSBwbGF5aW5nIGl0ZW0uCisg
ICAgICAgIElmIHRoZSBzYW1lIGlkZW50aWZpZXIgaXMgcHJvdmlkZWQgZm9yIGV2ZXJ5IGNhbGwg
dG8gTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdJbmZvLAorICAgICAgICB0aGVuIHNvbWUgdXBk
YXRlcyBtYXkgYmUgc2tpcHBlZC4KKyAgICAgICAgSW4gZWFybGllciBjaGFuZ2VzLCB0aGUgTWVk
aWFTZXNzaW9uRWxlbWVudCBpZGVudGlmaWVyIHdhcyBjb21iaW5lZCB3aXRoIHRoZSBNZWRpYSBF
bGVtZW50CisgICAgICAgIGlkZW50aWZpZXIgd2hpY2ggYnJva2UgTm93IFBsYXlpbmcgYXMgdGhl
IE1lZGlhU2Vzc2lvbiBpZGVudGlmaWVyIG5ldmVyIGNoYW5nZXMgZm9yIHRoZQorICAgICAgICBs
aWZldGltZSBvZiB0aGUgd2ViIGNvbnRlbnQgcHJvY2Vzcy4KKyAgICAgICAgU28gd2UgY3JlYXRl
IGEgbmV3IG1ldGhvZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVVuaXF1ZUlkZW50aWZpZXIgd2l0
aCBhIG5ldyBNZWRpYVVuaXF1ZUlkZW50aWZpZXIKKyAgICAgICAgdGhhdCB3aWxsdGhhdCB3aWxs
IGJlIHVwZGF0ZWQgd2hlbmV2ZXIgdGhlIHNvdXJjZSBvZiBhIG1lZGlhIGVsZW1lbnQgY2hhbmdl
cyBhbmQgc3RvcAorICAgICAgICB1c2luZyB0aGUgTWVkaWFTZXNzaW9uIGlkZW50aWZpZXIgd2hl
biBkZWFsaW5nIHdpdGggTm93IFBsYXlpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBD
YXJsc29uLgorCisgICAgICAgIE1hbnVhbGx5IHRlc3RlZCwgbm8gZnJhbWV3b3JrIGF2YWlsYWJs
ZSB0byB0ZXN0IHN1Y2ggY2hhbmdlLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOiBBZGQgTWVkaWFVbmlxdWVJZGVudGlmaWVyLmgKKyAgICAgICAgKiBodG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6cHJlcGFyZUZvckxvYWQpOiBVc2Ugc2V0Q3VycmVudFNyYyBpbnN0ZWFkIG9mIGRpcmVjdGx5
IG1vZGlmeWluZyBtX2N1cnJlbnRTcmMuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjpzZWxlY3RNZWRpYVJlc291cmNlKTogVXNlIHNldEN1cnJlbnRTcmMgaW5zdGVhZCBvZiBk
aXJlY3RseSBtb2RpZnlpbmcgbV9jdXJyZW50U3JjLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6bG9hZFJlc291cmNlKTogVXNlIHNldEN1cnJlbnRTcmMgaW5zdGVhZCBvZiBk
aXJlY3RseSBtb2RpZnlpbmcgbV9jdXJyZW50U3JjLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6c2V0Q3VycmVudFNyYyk6IEFkZCBjb252ZW5pZW5jZSBtZXRob2QsIGdlbmVy
YXRlIG5ldyBNZWRpYVVuaXF1ZUlkZW50aWZpZXIgZWFjaCB0aW1lIG1fY3VycmVudFNyYyBpcyBt
b2RpZmllZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhVW5pcXVl
SWRlbnRpZmllciBjb25zdCk6IFJldHVybiB1bmlxdWUgbWVkaWEgaWRlbnRpZmllci4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhU2Vzc2lvblVuaXF1ZUlkZW50aWZp
ZXIgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgor
ICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5nSW5mbyBjb25zdCk6CisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vTm93UGxheWluZ0luZm8uaDogVXNlIE1lZGlhVW5pcXVlSWRlbnRpZmll
ciBmb3IgdW5pcXVlSWRlbnRpZmllciBtZW1iZXIuCisgICAgICAgIChXZWJDb3JlOjpOb3dQbGF5
aW5nSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIuaDogVXNlIE1lZGlhVW5pcXVlSWRlbnRpZmllciBpbnN0ZWFkLgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpsYXN0VXBkYXRlZE5v
d1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIHNldCBrTVJNZWRp
YVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya0lkZW50aWZpZXIgaW4gQ0ZEaWN0aW9uYXJ5IHRv
IHRoZSBzb3VyY2Ugb2YgdGhlIGFydHdvcmsuCisgICAgICAgIFdvcmthcm91bmQgYSBidWcgaW4g
TWVkaWEgQ29udHJvbGxlciBjb21wb25lbnQuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29j
b2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
Y29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTZXNzaW9uTWFuYWdlckNvY29hOjpzZXROb3dQbGF5aW5nSW5mbyk6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuaDogU29mdC1saW5rIGtNUk1lZGlhUmVtb3Rl
Tm93UGxheWluZ0luZm9BcnR3b3JrSWRlbnRpZmllciBzeW1ib2wuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsubW06CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuaDogQWRkIG1pc3NpbmcgaGVhZGVyLgorCiAyMDIxLTAzLTMxICBKZWFuLVl2ZXMgQXZlbmFy
ZCAgPGp5YUBhcHBsZS5jb20+CiAKICAgICAgICAgUHJldmlvdXMgYXJ0d29yayBpc24ndCBjbGVh
cmVkIHdoZW4gTm93UGxheWluZyBpbmZvIGRvZXNuJ3QgY29udGFpbiBhbiBhcnR3b3JrCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZwppbmRleCAzZmRkM2VkOTYyYTk0MTY5OWQ0OGUzZTE3ZjkwN2RjN2UxNWNhN2Ew
Li41OTUwOTViODk0YTA0MjY2ZTI5YTQwMDQwOTIzZjM3YWE0NGU0ZTJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wMy0zMSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxq
eWFAYXBwbGUuY29tPgorCisgICAgICAgIE5vdyBQbGF5aW5nIGFydHdvcmsgZG9lc24ndCB1cGRh
dGUgd2hlbiBjaGFuZ2VkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIzNzMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTgyMzkyMz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgKiBwYWwvc3BpL21hYy9N
ZWRpYVJlbW90ZVNQSS5oOgorCiAyMDIxLTAzLTMxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBh
cHBsZS5jb20+CiAKICAgICAgICAgUHJldmlvdXMgYXJ0d29yayBpc24ndCBjbGVhcmVkIHdoZW4g
Tm93UGxheWluZyBpbmZvIGRvZXNuJ3QgY29udGFpbiBhbiBhcnR3b3JrCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOGIyNGM4ZDE1
MDUwMjM5NmE0YWE2ODQ3N2IzZDZlNTQ1MjM1ZjE0My4uMjFhMTQyODgwNDFlZjU4OTBiNGM5MTJh
MTY4ZThiMWZhNWQ0NTA5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQ4Myw2ICsxNDgzLDcgQEAKIAkJNTE0Qzc2N0IwQ0U5
MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNEM3NjY2MENFOTIzQTEwMDdFRjNDRCAv
KiBSZXNvdXJjZUhhbmRsZUludGVybmFsLmggKi87IH07CiAJCTUxNEM3NjdEMENFOTIzQTEwMDdF
RjNDRCAvKiBSZXNvdXJjZVJlcXVlc3RCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTRDNzY2ODBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VS
ZXF1ZXN0QmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTUxNEM3NjdGMENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZVJlc3BvbnNlQmFzZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0Qzc2NkEw
Q0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVzcG9uc2VCYXNlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE1MUYwN0UyNjE1NDM1QTAwRkRC
MkI0IC8qIE1lZGlhVW5pcXVlSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTE1MUYwN0IyNjE1MzYzRjAwRkRCMkI0IC8qIE1lZGlhVW5p
cXVlSWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTUxNUJFMTkwMUQ1NEY1RkIwMEREN0M2OCAvKiBFbXB0eUdhbWVwYWRQcm92aWRl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE1QkUx
ODkxRDU0RjVGNjAwREQ3QzY4IC8qIEVtcHR5R2FtZXBhZFByb3ZpZGVyLmggKi87IH07CiAJCTUx
NUJFMTkyMUQ1NEY1RkIwMEREN0M2OCAvKiBHYW1lcGFkUHJvdmlkZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNUJFMThCMUQ1NEY1RjYwMEREN0M2
OCAvKiBHYW1lcGFkUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1MTVCRTE5MzFENTRGNUZCMDBERDdDNjggLyogR2FtZXBhZFByb3Zp
ZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTVCRTE4QzFENTRGNUY2MDBERDdDNjggLyogR2FtZXBhZFByb3ZpZGVyQ2xpZW50LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3MTQsNiAr
ODcxNSw3IEBACiAJCTUxNEM3NjY4MENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZVJlcXVlc3RC
YXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlUmVxdWVzdEJh
c2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE0Qzc2NjkwQ0U5MjNBMTAwN0VG
M0NEIC8qIFJlc291cmNlUmVzcG9uc2VCYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlc291cmNlUmVzcG9uc2VCYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTE0Qzc2NkEwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVzcG9uc2VC
YXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlUmVzcG9uc2VC
YXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxNTFGMDdCMjYxNTM2M0YwMEZE
QjJCNCAvKiBNZWRpYVVuaXF1ZUlkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWVkaWFVbmlxdWVJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTUxNUJFMTg4MUQ1NEY1RjYwMEREN0M2OCAvKiBFbXB0eUdhbWVwYWRQcm92aWRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbXB0eUdhbWVwYWRQcm92
aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNUJFMTg5MUQ1NEY1RjYw
MEREN0M2OCAvKiBFbXB0eUdhbWVwYWRQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBFbXB0eUdhbWVwYWRQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MTVCRTE4QTFENTRGNUY2MDBERDdDNjggLyogR2FtZXBhZFByb3ZpZGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdhbWVwYWRQcm92aWRlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzgyMiw2ICsyNzgyNCw3IEBACiAJCQkJ
NDE0NDYwQTAyNDEyOTk0MTAwODE0QkU3IC8qIE1lZGlhU2Vzc2lvbklkZW50aWZpZXIuaCAqLywK
IAkJCQlBMzFBQzcwQTI0MzQwOTg0MDA3RjAwQTIgLyogTWVkaWFTdHJhdGVneS5jcHAgKi8sCiAJ
CQkJOUIxMjI5QzYyM0ZFNEQ1RjAwOENBNzUxIC8qIE1lZGlhU3RyYXRlZ3kuaCAqLywKKwkJCQk1
MTUxRjA3QjI2MTUzNjNGMDBGREIyQjQgLyogTWVkaWFVbmlxdWVJZGVudGlmaWVyLmggKi8sCiAJ
CQkJQkM3NzJDNEMwQzRFQjMwNDAwODMyODVGIC8qIE1JTUVUeXBlUmVnaXN0cnkuY3BwICovLAog
CQkJCUJDNzcyQzREMEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1FVHlwZVJlZ2lzdHJ5LmggKi8sCiAJ
CQkJRTE1MTNENTAxNjc3RjA4ODAwMTQ5RkNCIC8qIE5vdEltcGxlbWVudGVkLmNwcCAqLywKQEAg
LTM0MDU3LDYgKzM0MDYwLDcgQEAKIAkJCQkwN0ZGREU2OTE4MUFFRDQyMDA3MkQ0MDkgLyogTWVk
aWFTdHJlYW1UcmFja1ByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMkNDMEI3MURGRkQx
NTgwMDRDMEY5RiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTA3QzFDMEUyMUJGQjYwMDEwMEJEMjI1NiAvKiBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWlu
dHMuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxNTFGMDdFMjYxNTQzNUEwMEZEQjJCNCAvKiBNZWRp
YVVuaXF1ZUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3NjExREMxMjQ0MEU1OUIw
MEQ4MDcwNCAvKiBNZWRpYVVzYWdlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM5QzBEMkIy
NTY0RTdGMzAwQjMyMTFCIC8qIE1lZGlhVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MUUxQkFDMzFCRDgwNjRFMDA1NUQ4MUYgLyogTWVtb3J5QmFja2luZ1N0b3JlVHJhbnNhY3Rpb24u
aCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAK
aW5kZXggNjkxYWRjNjg0OGU3NTY0NjQ3Zjg5ODM2YjFjNmZmNzlkZDE4ZGUwNS4uOTA0MDA4Njdk
MjFiNTA1ZjFjZDgyMWExYmQzZThjMjhjZmM1MjI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xMTA4LDcgKzExMDgsNyBAQCB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OnByZXBhcmVGb3JMb2FkKCkKICAgICBtX2hhdmVGaXJlZExvYWRlZERhdGEgPSBmYWxz
ZTsKICAgICBtX2NvbXBsZXRlbHlMb2FkZWQgPSBmYWxzZTsKICAgICBtX2hhdmVQcmVwYXJlZFRv
UGxheSA9IGZhbHNlOwotICAgIG1fY3VycmVudFNyYyA9IFVSTCgpOworICAgIHNldEN1cnJlbnRT
cmMoVVJMKCkpOwogCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAgICBt
X2ZhaWxlZFRvUGxheVRvV2lyZWxlc3NUYXJnZXQgPSBmYWxzZTsKQEAgLTEzMjEsNyArMTMyMSw3
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2VsZWN0TWVkaWFSZXNvdXJjZSgpCiAgICAgICAg
IC8vIOKGsyBJZiBtb2RlIGlzIG9iamVjdAogICAgICAgICBpZiAobW9kZSA9PSBPYmplY3QpIHsK
ICAgICAgICAgICAgIC8vIDEuIFNldCB0aGUgY3VycmVudFNyYyBhdHRyaWJ1dGUgdG8gdGhlIGVt
cHR5IHN0cmluZy4KLSAgICAgICAgICAgIG1fY3VycmVudFNyYyA9IFVSTCgpOworICAgICAgICAg
ICAgc2V0Q3VycmVudFNyYyhVUkwoKSk7CiAKICAgICAgICAgICAgIC8vIDIuIEVuZCB0aGUgc3lu
Y2hyb25vdXMgc2VjdGlvbiwgY29udGludWluZyB0aGUgcmVtYWluaW5nIHN0ZXBzIGluIHBhcmFs
bGVsLgogICAgICAgICAgICAgLy8gMy4gUnVuIHRoZSByZXNvdXJjZSBmZXRjaCBhbGdvcml0aG0g
d2l0aCB0aGUgYXNzaWduZWQgbWVkaWEgcHJvdmlkZXIgb2JqZWN0LgpAQCAtMTM3MCw3ICsxMzcw
LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWxlY3RNZWRpYVJlc291cmNlKCkKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgLy8gMy4gSWYgYWJzb2x1dGUgVVJMIHdhcyBvYnRhaW5l
ZCBzdWNjZXNzZnVsbHksIHNldCB0aGUgY3VycmVudFNyYyBhdHRyaWJ1dGUgdG8gYWJzb2x1dGUg
VVJMLgotICAgICAgICAgICAgbV9jdXJyZW50U3JjID0gYWJzb2x1dGVVUkw7CisgICAgICAgICAg
ICBzZXRDdXJyZW50U3JjKGFic29sdXRlVVJMKTsKIAogICAgICAgICAgICAgLy8gNC4gRW5kIHRo
ZSBzeW5jaHJvbm91cyBzZWN0aW9uLCBjb250aW51aW5nIHRoZSByZW1haW5pbmcgc3RlcHMgaW4g
cGFyYWxsZWwuCiAgICAgICAgICAgICAvLyA1LiBJZiBhYnNvbHV0ZSBVUkwgd2FzIG9idGFpbmVk
IHN1Y2Nlc3NmdWxseSwgcnVuIHRoZSByZXNvdXJjZSBmZXRjaCBhbGdvcml0aG0gd2l0aCBhYnNv
bHV0ZQpAQCAtMTQ2Nyw3ICsxNDY3LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpsb2FkUmVz
b3VyY2UoY29uc3QgVVJMJiBpbml0aWFsVVJMLCBDb250ZW50VHlwZSYgY29udGVudFQKIAogICAg
IC8vIFNldCBtX2N1cnJlbnRTcmMgKmJlZm9yZSogY2hhbmdpbmcgdG8gdGhlIGNhY2hlIFVSTCwg
dGhlIGZhY3QgdGhhdCB3ZSBhcmUgbG9hZGluZyBmcm9tIHRoZSBhcHAKICAgICAvLyBjYWNoZSBp
cyBhbiBpbnRlcm5hbCBkZXRhaWwgbm90IGV4cG9zZWQgdGhyb3VnaCB0aGUgbWVkaWEgZWxlbWVu
dCBBUEkuCi0gICAgbV9jdXJyZW50U3JjID0gdXJsOworICAgIHNldEN1cnJlbnRTcmModXJsKTsK
IAogICAgIGlmIChyZXNvdXJjZSkgewogICAgICAgICB1cmwgPSBBcHBsaWNhdGlvbkNhY2hlSG9z
dDo6Y3JlYXRlRmlsZVVSTChyZXNvdXJjZS0+cGF0aCgpKTsKQEAgLTc1MTIsOSArNzUxMiwxNSBA
QCBTdHJpbmcgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFTZXNzaW9uVGl0bGUoKSBjb25zdAogICAg
IHJldHVybiB0aXRsZTsKIH0KIAotTWVkaWFTZXNzaW9uSWRlbnRpZmllciBIVE1MTWVkaWFFbGVt
ZW50OjptZWRpYVNlc3Npb25VbmlxdWVJZGVudGlmaWVyKCkgY29uc3QKK3ZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6c2V0Q3VycmVudFNyYyhjb25zdCBVUkwmIHNyYykKIHsKLSAgICByZXR1cm4gbV9t
ZWRpYVNlc3Npb24tPm1lZGlhU2Vzc2lvbklkZW50aWZpZXIoKTsKKyAgICBtX2N1cnJlbnRTcmMg
PSBzcmM7CisgICAgbV9jdXJyZW50SWRlbnRpZmllciA9IE1lZGlhVW5pcXVlSWRlbnRpZmllcjo6
Z2VuZXJhdGUoKTsKK30KKworTWVkaWFVbmlxdWVJZGVudGlmaWVyIEhUTUxNZWRpYUVsZW1lbnQ6
Om1lZGlhVW5pcXVlSWRlbnRpZmllcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY3VycmVudElk
ZW50aWZpZXI7CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZGlkUmVjZWl2ZVJlbW90ZUNv
bnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5
cGUgY29tbWFuZCwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1
bWVudCYgYXJndW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4
IDMwNmM2ZmE2YWJiNThiMmU2ZmI4MGM2MGU5MGI5ZDFhYTU4OGZiMjEuLjIwYWNhNGJmMjY3NzQw
OTdlNmE2NDhkMGZjYmM2ZGE2MGVhMDM2ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oCkBAIC00MCw3ICs0MCw3IEBACiAjaW5jbHVkZSAiTWVkaWFFbGVtZW50U2Vzc2lv
bi5oIgogI2luY2x1ZGUgIk1lZGlhUGxheWVyLmgiCiAjaW5jbHVkZSAiTWVkaWFQcm9kdWNlci5o
IgotI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJNZWRpYVVu
aXF1ZUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJUZXh0VHJhY2suaCIKICNpbmNsdWRlICJWaWRl
b1RyYWNrLmgiCiAjaW5jbHVkZSAiVmlzaWJpbGl0eUNoYW5nZUNsaWVudC5oIgpAQCAtNTY1LDcg
KzU2NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZSgp
OwogICAgIHZvaWQgYXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKIAotICAgIE1lZGlhU2Vz
c2lvbklkZW50aWZpZXIgbWVkaWFTZXNzaW9uVW5pcXVlSWRlbnRpZmllcigpIGNvbnN0OworICAg
IE1lZGlhVW5pcXVlSWRlbnRpZmllciBtZWRpYVVuaXF1ZUlkZW50aWZpZXIoKSBjb25zdDsKICAg
ICBTdHJpbmcgbWVkaWFTZXNzaW9uVGl0bGUoKSBjb25zdDsKICAgICBTdHJpbmcgc291cmNlQXBw
bGljYXRpb25JZGVudGlmaWVyKCkgY29uc3Q7CiAKQEAgLTg0NSw2ICs4NDUsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgdXBkYXRlTWVkaWFDb250cm9sbGVyKCk7CiAgICAgYm9vbCBpc0Jsb2NrZWQo
KSBjb25zdDsKICAgICBib29sIGlzQmxvY2tlZE9uTWVkaWFDb250cm9sbGVyKCkgY29uc3Q7Cisg
ICAgdm9pZCBzZXRDdXJyZW50U3JjKGNvbnN0IFVSTCYpOwogICAgIGJvb2wgaGFzQ3VycmVudFNy
YygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICFtX2N1cnJlbnRTcmMuaXNFbXB0eSgpOyB9CiAg
ICAgYm9vbCBpc0xpdmVTdHJlYW0oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtb3ZpZUxvYWRU
eXBlKCkgPT0gTW92aWVMb2FkVHlwZTo6TGl2ZVN0cmVhbTsgfQogCkBAIC05NjUsNiArOTY2LDcg
QEAgcHJpdmF0ZToKICAgICBSZWFkeVN0YXRlIG1fcmVhZHlTdGF0ZSB7IEhBVkVfTk9USElORyB9
OwogICAgIFJlYWR5U3RhdGUgbV9yZWFkeVN0YXRlTWF4aW11bSB7IEhBVkVfTk9USElORyB9Owog
ICAgIFVSTCBtX2N1cnJlbnRTcmM7CisgICAgTWVkaWFVbmlxdWVJZGVudGlmaWVyIG1fY3VycmVu
dElkZW50aWZpZXI7CiAKICAgICBSZWZQdHI8TWVkaWFFcnJvcj4gbV9lcnJvcjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXggOTVmMjc4MDY0ZjVj
ODE0M2UxZjA0ODg4NmI4NzhmMTRlNzU3MzY3Yy4uZjI3NGJlZjg2NmVjMjliMTk3YzBkZjVlYTM3
NmZjMDkzMmY0ZThlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1l
bnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwCkBAIC0xMTYxLDExICsxMTYxLDExIEBAIE9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBN
ZWRpYUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5nSW5mbygpIGNvbnN0CiAgICAgICAgIGlmIChz
ZXNzaW9uTWV0YWRhdGEtPmFydHdvcmtJbWFnZSgpKSB7CiAgICAgICAgICAgICBhcnR3b3JrID0g
Tm93UGxheWluZ0luZm9BcnR3b3JrIHsgc2Vzc2lvbk1ldGFkYXRhLT5hcnR3b3JrU3JjKCksIHNl
c3Npb25NZXRhZGF0YS0+YXJ0d29ya0ltYWdlKCktPm1pbWVUeXBlKCksIHNlc3Npb25NZXRhZGF0
YS0+YXJ0d29ya0ltYWdlKCktPmRhdGEoKSB9OwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBO
b3dQbGF5aW5nSW5mbyB7IHNlc3Npb25NZXRhZGF0YS0+dGl0bGUoKSwgc2Vzc2lvbk1ldGFkYXRh
LT5hcnRpc3QoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hbGJ1bSgpLCBtX2VsZW1lbnQuc291cmNlQXBw
bGljYXRpb25JZGVudGlmaWVyKCksIGR1cmF0aW9uLCBjdXJyZW50VGltZSwgc3VwcG9ydHNTZWVr
aW5nLCBtX2VsZW1lbnQubWVkaWFTZXNzaW9uVW5pcXVlSWRlbnRpZmllcigpLCBpc1BsYXlpbmcs
IGFsbG93c05vd1BsYXlpbmdDb250cm9sc1Zpc2liaWxpdHksIFdURk1vdmUoYXJ0d29yaykgfTsK
KyAgICAgICAgcmV0dXJuIE5vd1BsYXlpbmdJbmZvIHsgc2Vzc2lvbk1ldGFkYXRhLT50aXRsZSgp
LCBzZXNzaW9uTWV0YWRhdGEtPmFydGlzdCgpLCBzZXNzaW9uTWV0YWRhdGEtPmFsYnVtKCksIG1f
ZWxlbWVudC5zb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIoKSwgZHVyYXRpb24sIGN1cnJlbnRU
aW1lLCBzdXBwb3J0c1NlZWtpbmcsIG1fZWxlbWVudC5tZWRpYVVuaXF1ZUlkZW50aWZpZXIoKSwg
aXNQbGF5aW5nLCBhbGxvd3NOb3dQbGF5aW5nQ29udHJvbHNWaXNpYmlsaXR5LCBXVEZNb3ZlKGFy
dHdvcmspIH07CiAgICAgfQogI2VuZGlmCiAKLSAgICByZXR1cm4gTm93UGxheWluZ0luZm8geyBt
X2VsZW1lbnQubWVkaWFTZXNzaW9uVGl0bGUoKSwgZW1wdHlTdHJpbmcoKSwgZW1wdHlTdHJpbmco
KSwgbV9lbGVtZW50LnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllcigpLCBkdXJhdGlvbiwgY3Vy
cmVudFRpbWUsIHN1cHBvcnRzU2Vla2luZywgbV9lbGVtZW50Lm1lZGlhU2Vzc2lvblVuaXF1ZUlk
ZW50aWZpZXIoKSwgaXNQbGF5aW5nLCBhbGxvd3NOb3dQbGF5aW5nQ29udHJvbHNWaXNpYmlsaXR5
LCB7IH19OworICAgIHJldHVybiBOb3dQbGF5aW5nSW5mbyB7IG1fZWxlbWVudC5tZWRpYVNlc3Np
b25UaXRsZSgpLCBlbXB0eVN0cmluZygpLCBlbXB0eVN0cmluZygpLCBtX2VsZW1lbnQuc291cmNl
QXBwbGljYXRpb25JZGVudGlmaWVyKCksIGR1cmF0aW9uLCBjdXJyZW50VGltZSwgc3VwcG9ydHNT
ZWVraW5nLCBtX2VsZW1lbnQubWVkaWFVbmlxdWVJZGVudGlmaWVyKCksIGlzUGxheWluZywgYWxs
b3dzTm93UGxheWluZ0NvbnRyb2xzVmlzaWJpbGl0eSwgeyB9fTsKIH0KIAogdm9pZCBNZWRpYUVs
ZW1lbnRTZXNzaW9uOjp1cGRhdGVNZWRpYVVzYWdlSWZDaGFuZ2VkKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhVW5pcXVlSWRlbnRpZmllci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTWVkaWFVbmlxdWVJZGVudGlmaWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzU5ZTZh
NzE4YTA5NDdmMmU1NGJjOGJhYTFkOGU2ZTQ5NTJkNjIxZQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhVW5pcXVlSWRlbnRpZmllci5oCkBAIC0wLDAgKzEs
MzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9PYmplY3RJ
ZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBNZWRpYVVuaXF1ZUlk
ZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIE1lZGlhVW5pcXVlSWRlbnRpZmllciA9IE9iamVjdElk
ZW50aWZpZXI8TWVkaWFVbmlxdWVJZGVudGlmaWVyVHlwZT47CisKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL05vd1BsYXlpbmdJbmZvLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9Ob3dQbGF5aW5nSW5mby5oCmluZGV4IDM0YTdiMmZlYzA1ZDI1
YTBlM2U2NDA1N2Y1M2QwY2Q2NDU3MGM0MzQuLjU4ZjBiY2M5MGY3ODg2ZDJlMWI3NjdiZTgzZjE1
ODlmNzUxNDliZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL05v
d1BsYXlpbmdJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTm93UGxh
eWluZ0luZm8uaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUg
Ik1lZGlhU2Vzc2lvbklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJNZWRpYVVuaXF1ZUlkZW50aWZp
ZXIuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwu
aD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CkBAIC04Myw3ICs4Myw3IEBAIHN0cnVjdCBOb3dQbGF5
aW5nSW5mbyB7CiAgICAgZG91YmxlIGR1cmF0aW9uIHsgMCB9OwogICAgIGRvdWJsZSBjdXJyZW50
VGltZSB7IDAgfTsKICAgICBib29sIHN1cHBvcnRzU2Vla2luZyB7IGZhbHNlIH07Ci0gICAgTWVk
aWFTZXNzaW9uSWRlbnRpZmllciB1bmlxdWVJZGVudGlmaWVyOworICAgIE1lZGlhVW5pcXVlSWRl
bnRpZmllciB1bmlxdWVJZGVudGlmaWVyOwogICAgIGJvb2wgaXNQbGF5aW5nIHsgZmFsc2UgfTsK
ICAgICBib29sIGFsbG93c05vd1BsYXlpbmdDb250cm9sc1Zpc2liaWxpdHkgeyBmYWxzZSB9Owog
ICAgIE9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvQXJ0d29yaz4gYXJ0d29yazsKQEAgLTE0Nyw3ICsx
NDcsNyBAQCB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBpbmxpbmUgT3B0aW9uYWw8Tm93UGxheWlu
Z0luZm8+IE5vd1BsYXlpbmdJbmZvOjpkZWNvZGUoRAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
c3VwcG9ydHNTZWVraW5nKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIE1lZGlhU2Vzc2lv
bklkZW50aWZpZXIgdW5pcXVlSWRlbnRpZmllcjsKKyAgICBNZWRpYVVuaXF1ZUlkZW50aWZpZXIg
dW5pcXVlSWRlbnRpZmllcjsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVuaXF1ZUlkZW50aWZp
ZXIpKQogICAgICAgICByZXR1cm4geyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCmluZGV4IGI1
YzFkNWIzNDk4MGVjNWEyMmU2ZDU2MGQxMjczNDY4NThlNWMzY2UuLmFkYzIyNjcyMmM1MWFkMTc2
ZjIyMTc0YTA3ZjdhMTYyMzVlNjdjNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0yNyw3
ICsyNyw3IEBACiAjZGVmaW5lIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcl9oCiAKICNpbmNs
dWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCi0jaW5jbHVkZSAiTWVkaWFTZXNzaW9uSWRlbnRpZmll
ci5oIgorI2luY2x1ZGUgIk1lZGlhVW5pcXVlSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlBsYXRm
b3JtTWVkaWFTZXNzaW9uLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQWdn
cmVnYXRlTG9nZ2VyLmg+CkBAIC04Niw3ICs4Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0
cmluZyBsYXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRsZSgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3Ry
aW5nKCk7IH0KICAgICB2aXJ0dWFsIGRvdWJsZSBsYXN0VXBkYXRlZE5vd1BsYXlpbmdEdXJhdGlv
bigpIGNvbnN0IHsgcmV0dXJuIE5BTjsgfQogICAgIHZpcnR1YWwgZG91YmxlIGxhc3RVcGRhdGVk
Tm93UGxheWluZ0VsYXBzZWRUaW1lKCkgY29uc3QgeyByZXR1cm4gTkFOOyB9Ci0gICAgdmlydHVh
bCBNZWRpYVNlc3Npb25JZGVudGlmaWVyIGxhc3RVcGRhdGVkTm93UGxheWluZ0luZm9VbmlxdWVJ
ZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4geyB9OyB9CisgICAgdmlydHVhbCBNZWRpYVVuaXF1
ZUlkZW50aWZpZXIgbGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXIoKSBj
b25zdCB7IHJldHVybiB7IH07IH0KICAgICB2aXJ0dWFsIGJvb2wgcmVnaXN0ZXJlZEFzTm93UGxh
eWluZ0FwcGxpY2F0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJv
b2wgaGF2ZUV2ZXJSZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24oKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBwcmVwYXJlVG9TZW5kVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3QoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKaW5kZXggNTU2
Y2FlZTBkYzFiNWQ5Y2YxZjY3ZTQzY2MwNjk3MWRjMmFmNTY0OS4uODU3ZjcyYjhmNGZhYmUxNzI0
Mjc5MDllNGViZjY4YjIxOWJhM2M5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKQEAg
LTUyLDcgKzUyLDcgQEAgcHVibGljOgogICAgIFN0cmluZyBsYXN0VXBkYXRlZE5vd1BsYXlpbmdU
aXRsZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5nVGl0bGU7
IH0KICAgICBkb3VibGUgbGFzdFVwZGF0ZWROb3dQbGF5aW5nRHVyYXRpb24oKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0R1cmF0aW9uOyB9CiAgICAgZG91Ymxl
IGxhc3RVcGRhdGVkTm93UGxheWluZ0VsYXBzZWRUaW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdFbGFwc2VkVGltZTsgfQotICAgIE1lZGlhU2Vzc2lvbklk
ZW50aWZpZXIgbGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXIoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlm
aWVyOyB9CisgICAgTWVkaWFVbmlxdWVJZGVudGlmaWVyIGxhc3RVcGRhdGVkTm93UGxheWluZ0lu
Zm9VbmlxdWVJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sYXN0VXBkYXRlZE5v
d1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllcjsgfQogICAgIGJvb2wgcmVnaXN0ZXJlZEFzTm93
UGxheWluZ0FwcGxpY2F0aW9uKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9yZWdpc3RlcmVkQXNO
b3dQbGF5aW5nQXBwbGljYXRpb247IH0KICAgICBib29sIGhhdmVFdmVyUmVnaXN0ZXJlZEFzTm93
UGxheWluZ0FwcGxpY2F0aW9uKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9oYXZlRXZlclJlZ2lz
dGVyZWRBc05vd1BsYXlpbmdBcHBsaWNhdGlvbjsgfQogCkBAIC0xMDksNyArMTA5LDcgQEAgcHJp
dmF0ZToKICAgICBTdHJpbmcgbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRsZTsKICAgICBkb3Vi
bGUgbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdEdXJhdGlvbiB7IE5BTiB9OwogICAgIGRvdWJsZSBt
X2xhc3RVcGRhdGVkTm93UGxheWluZ0VsYXBzZWRUaW1lIHsgTkFOIH07Ci0gICAgTWVkaWFTZXNz
aW9uSWRlbnRpZmllciBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlmaWVy
OworICAgIE1lZGlhVW5pcXVlSWRlbnRpZmllciBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0luZm9V
bmlxdWVJZGVudGlmaWVyOwogCiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxUaW1lcj4gbV90YXNrUXVl
dWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01l
ZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbQppbmRleCA1ZTE5NTQ0Y2JjY2VlNmQ4
OGEyOTgzMzhhYzBiMjkzYTBiMDM0NzlmLi4wNmFkY2M4YjlmNTAxZDEwODZkZDQwMmIyYThkZDQ5
YjVkOGI2MGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2Nv
YS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tCkBAIC0yOTMsNyArMjkz
LDkgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnNldE5vd1BsYXlpbmdJbmZvKGJv
b2wgc2V0QXNOb3dQbGF5aW5nQXBwbGljYXRpb24KICAgICBhdXRvIGNmUmF0ZSA9IGFkb3B0Q0Yo
Q0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyRG91YmxlVHlwZSwg
JnJhdGUpKTsKICAgICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShpbmZvLmdldCgpLCBrTVJNZWRpYVJl
bW90ZU5vd1BsYXlpbmdJbmZvUGxheWJhY2tSYXRlLCBjZlJhdGUuZ2V0KCkpOwogCi0gICAgYXV0
byBsYXN0VXBkYXRlZE5vd1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllciA9IG5vd1BsYXlpbmdJ
bmZvLnVuaXF1ZUlkZW50aWZpZXIudG9VSW50NjQoKTsKKyAgICAvLyBGSVhNRTogVGhpcyBpcyBh
IHdvcmthcm91bmQgQ29udHJvbCBDZW50ZXIgbm90IHVwZGF0aW5nIHRoZSBhcnR3b3JrIHdoZW4g
cmVmcmVzaGVkLgorICAgIC8vIFdlIGZvcmNlIHRoZSBpZGVudGlmaWVyIHRvIGJlIHJlbG9hZGVk
IHRvIHRoZSBuZXcgYXJ0d29yayBpZiBhdmFpbGFibGUuCisgICAgYXV0byBsYXN0VXBkYXRlZE5v
d1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllciA9IG5vd1BsYXlpbmdJbmZvLmFydHdvcmsgPyBu
b3dQbGF5aW5nSW5mby5hcnR3b3JrLT5zcmMuaGFzaCgpIDogbm93UGxheWluZ0luZm8udW5pcXVl
SWRlbnRpZmllci50b1VJbnQ2NCgpOwogICAgIGF1dG8gY2ZJZGVudGlmaWVyID0gYWRvcHRDRihD
Rk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJMb25nTG9uZ1R5cGUs
ICZsYXN0VXBkYXRlZE5vd1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllcikpOwogICAgIENGRGlj
dGlvbmFyeVNldFZhbHVlKGluZm8uZ2V0KCksIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9V
bmlxdWVJZGVudGlmaWVyLCBjZklkZW50aWZpZXIuZ2V0KCkpOwogCkBAIC0zMDUsNiArMzA3LDcg
QEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnNldE5vd1BsYXlpbmdJbmZvKGJvb2wg
c2V0QXNOb3dQbGF5aW5nQXBwbGljYXRpb24KICAgICAgICAgYXV0byBuc0FydHdvcmsgPSBub3dQ
bGF5aW5nSW5mby5hcnR3b3JrLT5pbWFnZURhdGEtPmNyZWF0ZU5TRGF0YSgpOwogICAgICAgICBD
RkRpY3Rpb25hcnlTZXRWYWx1ZShpbmZvLmdldCgpLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJ
bmZvQXJ0d29ya0RhdGEsIG5zQXJ0d29yay5nZXQoKSk7CiAgICAgICAgIENGRGljdGlvbmFyeVNl
dFZhbHVlKGluZm8uZ2V0KCksIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9BcnR3b3JrTUlN
RVR5cGUsIG5vd1BsYXlpbmdJbmZvLmFydHdvcmstPm1pbWVUeXBlLmNyZWF0ZUNGU3RyaW5nKCku
Z2V0KCkpOworICAgICAgICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShpbmZvLmdldCgpLCBrTVJNZWRp
YVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya0lkZW50aWZpZXIsIFN0cmluZzo6bnVtYmVyKG5v
d1BsYXlpbmdJbmZvLmFydHdvcmstPnNyYy5oYXNoKCkpLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkp
OwogICAgIH0KIAogICAgIGlmIChjYW5Mb2FkX01lZGlhUmVtb3RlX01STWVkaWFSZW1vdGVTZXRQ
YXJlbnRBcHBsaWNhdGlvbigpICYmICFub3dQbGF5aW5nSW5mby5zb3VyY2VBcHBsaWNhdGlvbklk
ZW50aWZpZXIuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL01lZGlhUmVtb3RlU29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9N
ZWRpYVJlbW90ZVNvZnRMaW5rLmgKaW5kZXggODE2ZDg0ZGE0NzQ2Njg5ODc2MTE1NzY5OWZjYjRl
ZTdjNzU2ZTMwOC4uY2U4ZTcyNTFiZGEwNjliZDYzY2M3NjA4NGZjNmRkMmIzZjZkM2E4ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5o
CkBAIC02OSw2ICs2OSw4IEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYkNvcmUs
IE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvCiBTT0ZUX0xJTktfQ09O
U1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVOb3dQ
bGF5aW5nSW5mb0FydHdvcmtNSU1FVHlwZSwgQ0ZTdHJpbmdSZWYpOwogI2RlZmluZSBrTVJNZWRp
YVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya01JTUVUeXBlIGdldF9NZWRpYVJlbW90ZV9rTVJN
ZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya01JTUVUeXBlKCkKIFNPRlRfTElOS19DT05T
VEFOVF9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90ZU5vd1Bs
YXlpbmdJbmZvRHVyYXRpb24sIENGU3RyaW5nUmVmKTsKKyNkZWZpbmUga01STWVkaWFSZW1vdGVO
b3dQbGF5aW5nSW5mb0FydHdvcmtJZGVudGlmaWVyIGdldF9NZWRpYVJlbW90ZV9rTVJNZWRpYVJl
bW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya0lkZW50aWZpZXIoKQorU09GVF9MSU5LX0NPTlNUQU5U
X0ZPUl9IRUFERVIoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIGtNUk1lZGlhUmVtb3RlTm93UGxheWlu
Z0luZm9BcnR3b3JrSWRlbnRpZmllciwgQ0ZTdHJpbmdSZWYpOwogI2RlZmluZSBrTVJNZWRpYVJl
bW90ZU5vd1BsYXlpbmdJbmZvRHVyYXRpb24gZ2V0X01lZGlhUmVtb3RlX2tNUk1lZGlhUmVtb3Rl
Tm93UGxheWluZ0luZm9EdXJhdGlvbigpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihX
ZWJDb3JlLCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0VsYXBzZWRU
aW1lLCBDRlN0cmluZ1JlZik7CiAjZGVmaW5lIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9F
bGFwc2VkVGltZSBnZXRfTWVkaWFSZW1vdGVfa01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0Vs
YXBzZWRUaW1lKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRp
YVJlbW90ZVNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVt
b3RlU29mdExpbmsubW0KaW5kZXggZWExZTliOGM0MGRkNDg3NTFlNzk3ODdmOWYwNTk2NWM0NWQ5
NzQxOS4uNDRmYjE5ZjRlYmE0NDI2ZjdkZjI4ZWUxMzc0NzY1ZmMwNDM0OWNkNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsubW0KQEAg
LTQ5LDYgKzQ5LDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVk
aWFSZW1vdGUsIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm8KIFNPRlRfTElOS19DT05TVEFO
VF9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlp
bmdJbmZvQWxidW0sIENGU3RyaW5nUmVmKTsKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNF
KFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29y
a0RhdGEsIENGU3RyaW5nUmVmKTsKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNv
cmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya01JTUVU
eXBlLCBDRlN0cmluZ1JlZik7CitTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3Jl
LCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0FydHdvcmtJZGVudGlm
aWVyLCBDRlN0cmluZ1JlZik7CiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3Jl
LCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0R1cmF0aW9uLCBDRlN0
cmluZ1JlZik7CiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJl
bW90ZSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0VsYXBzZWRUaW1lLCBDRlN0cmluZ1Jl
Zik7CiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwg
a01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb1BsYXliYWNrUmF0ZSwgQ0ZTdHJpbmdSZWYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggNDYxMTk4Njk2ZjdhNDRmNTlhMmMxYzI4
N2I3ODJhMWE3ODdhZmExNy4uMDI3NjdkNTk2OTgwZjVjODM0ZWZmNTI2YmY4NWI0NGEyOGFjOWY2
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC00Myw2ICs0Myw3IEBACiAKICNp
ZiBFTkFCTEUoVklERU8pCiAjaW5jbHVkZSAiTWVkaWFFbGVtZW50U2Vzc2lvbi5oIgorI2luY2x1
ZGUgIk1lZGlhVW5pcXVlSWRlbnRpZmllci5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsK
</data>
<flag name="commit-queue"
          id="444661"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424867</attachid>
            <date>2021-03-31 19:41:39 -0700</date>
            <delta_ts>2021-04-01 08:17:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223731-20210401134138.patch</filename>
            <type>text/plain</type>
            <size>25349</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ1ZGIxNWE4MjM3M2Ni
NTRjZjNlYjFkNTc3OTJjNmZlOWJjNTZjOC4uOTNkNGI1NjU4ZWFmMDQyZTMyYmViNThiYTEzZWUz
NmQzZDE0M2FiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTAzLTMxICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgTm93IFBsYXlpbmcgYXJ0
d29yayBkb2Vzbid0IHVwZGF0ZSB3aGVuIGNoYW5nZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3MzEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc1ODIzOTIzPgorCisgICAgICAgIE5vdyBQbGF5aW5nIGFuZCBNZWRpYSBSZW1vdGUgcmVxdWly
ZXMgYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGN1cnJlbnRseSBwbGF5aW5nIGl0ZW0uCisg
ICAgICAgIElmIHRoZSBzYW1lIGlkZW50aWZpZXIgaXMgcHJvdmlkZWQgZm9yIGV2ZXJ5IGNhbGwg
dG8gTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdJbmZvLAorICAgICAgICB0aGVuIHNvbWUgdXBk
YXRlcyBtYXkgYmUgc2tpcHBlZC4KKyAgICAgICAgSW4gZWFybGllciBjaGFuZ2VzLCB0aGUgTWVk
aWFTZXNzaW9uRWxlbWVudCBpZGVudGlmaWVyIHdhcyBjb21iaW5lZCB3aXRoIHRoZSBNZWRpYSBF
bGVtZW50CisgICAgICAgIGlkZW50aWZpZXIgd2hpY2ggYnJva2UgTm93IFBsYXlpbmcgYXMgdGhl
IE1lZGlhU2Vzc2lvbiBpZGVudGlmaWVyIG5ldmVyIGNoYW5nZXMgZm9yIHRoZQorICAgICAgICBs
aWZldGltZSBvZiB0aGUgd2ViIGNvbnRlbnQgcHJvY2Vzcy4KKyAgICAgICAgU28gd2UgY3JlYXRl
IGEgbmV3IG1ldGhvZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVVuaXF1ZUlkZW50aWZpZXIgd2l0
aCBhIG5ldyBNZWRpYVVuaXF1ZUlkZW50aWZpZXIKKyAgICAgICAgdGhhdCB3aWxsdGhhdCB3aWxs
IGJlIHVwZGF0ZWQgd2hlbmV2ZXIgdGhlIHNvdXJjZSBvZiBhIG1lZGlhIGVsZW1lbnQgY2hhbmdl
cyBhbmQgc3RvcAorICAgICAgICB1c2luZyB0aGUgTWVkaWFTZXNzaW9uIGlkZW50aWZpZXIgd2hl
biBkZWFsaW5nIHdpdGggTm93IFBsYXlpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBD
YXJsc29uLgorCisgICAgICAgIE1hbnVhbGx5IHRlc3RlZCwgbm8gZnJhbWV3b3JrIGF2YWlsYWJs
ZSB0byB0ZXN0IHN1Y2ggY2hhbmdlLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOiBBZGQgTWVkaWFVbmlxdWVJZGVudGlmaWVyLmgKKyAgICAgICAgKiBodG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6cHJlcGFyZUZvckxvYWQpOiBVc2Ugc2V0Q3VycmVudFNyYyBpbnN0ZWFkIG9mIGRpcmVjdGx5
IG1vZGlmeWluZyBtX2N1cnJlbnRTcmMuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjpzZWxlY3RNZWRpYVJlc291cmNlKTogVXNlIHNldEN1cnJlbnRTcmMgaW5zdGVhZCBvZiBk
aXJlY3RseSBtb2RpZnlpbmcgbV9jdXJyZW50U3JjLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6bG9hZFJlc291cmNlKTogVXNlIHNldEN1cnJlbnRTcmMgaW5zdGVhZCBvZiBk
aXJlY3RseSBtb2RpZnlpbmcgbV9jdXJyZW50U3JjLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6c2V0Q3VycmVudFNyYyk6IEFkZCBjb252ZW5pZW5jZSBtZXRob2QsIGdlbmVy
YXRlIG5ldyBNZWRpYVVuaXF1ZUlkZW50aWZpZXIgZWFjaCB0aW1lIG1fY3VycmVudFNyYyBpcyBt
b2RpZmllZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhVW5pcXVl
SWRlbnRpZmllciBjb25zdCk6IFJldHVybiB1bmlxdWUgbWVkaWEgaWRlbnRpZmllci4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhU2Vzc2lvblVuaXF1ZUlkZW50aWZp
ZXIgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgor
ICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5nSW5mbyBjb25zdCk6CisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vTm93UGxheWluZ0luZm8uaDogVXNlIE1lZGlhVW5pcXVlSWRlbnRpZmll
ciBmb3IgdW5pcXVlSWRlbnRpZmllciBtZW1iZXIuCisgICAgICAgIChXZWJDb3JlOjpOb3dQbGF5
aW5nSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIuaDogVXNlIE1lZGlhVW5pcXVlSWRlbnRpZmllciBpbnN0ZWFkLgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpsYXN0VXBkYXRlZE5v
d1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIHNldCBrTVJNZWRp
YVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya0lkZW50aWZpZXIgaW4gQ0ZEaWN0aW9uYXJ5IHRv
IHRoZSBzb3VyY2Ugb2YgdGhlIGFydHdvcmsuCisgICAgICAgIFdvcmthcm91bmQgYSBidWcgaW4g
TWVkaWEgQ29udHJvbGxlciBjb21wb25lbnQuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29j
b2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
Y29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTZXNzaW9uTWFuYWdlckNvY29hOjpzZXROb3dQbGF5aW5nSW5mbyk6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuaDogU29mdC1saW5rIGtNUk1lZGlhUmVtb3Rl
Tm93UGxheWluZ0luZm9BcnR3b3JrSWRlbnRpZmllciBzeW1ib2wuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsubW06CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuaDogQWRkIG1pc3NpbmcgaGVhZGVyLgorCiAyMDIxLTAzLTMxICBKZWFuLVl2ZXMgQXZlbmFy
ZCAgPGp5YUBhcHBsZS5jb20+CiAKICAgICAgICAgUHJldmlvdXMgYXJ0d29yayBpc24ndCBjbGVh
cmVkIHdoZW4gTm93UGxheWluZyBpbmZvIGRvZXNuJ3QgY29udGFpbiBhbiBhcnR3b3JrCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZwppbmRleCAzZmRkM2VkOTYyYTk0MTY5OWQ0OGUzZTE3ZjkwN2RjN2UxNWNhN2Ew
Li41OTUwOTViODk0YTA0MjY2ZTI5YTQwMDQwOTIzZjM3YWE0NGU0ZTJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wMy0zMSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxq
eWFAYXBwbGUuY29tPgorCisgICAgICAgIE5vdyBQbGF5aW5nIGFydHdvcmsgZG9lc24ndCB1cGRh
dGUgd2hlbiBjaGFuZ2VkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIzNzMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTgyMzkyMz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgKiBwYWwvc3BpL21hYy9N
ZWRpYVJlbW90ZVNQSS5oOgorCiAyMDIxLTAzLTMxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBh
cHBsZS5jb20+CiAKICAgICAgICAgUHJldmlvdXMgYXJ0d29yayBpc24ndCBjbGVhcmVkIHdoZW4g
Tm93UGxheWluZyBpbmZvIGRvZXNuJ3QgY29udGFpbiBhbiBhcnR3b3JrCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFr
ZQppbmRleCA4MjkwMjliZTkwNzUyNjEwZDQ5ODMyOTU3OGExOTk1MGMwY2VlY2VkLi5iMTRlZTcz
M2MzZDRhNTFhMzNlNjVlYTA5ZDJiZjhlZGIwN2VhZjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAg
LTEwNDcsNiArMTA0Nyw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMK
ICAgICBwbGF0Zm9ybS9NZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIuaAogICAgIHBsYXRmb3Jt
L01lZGlhU2Vzc2lvbklkZW50aWZpZXIuaAogICAgIHBsYXRmb3JtL01lZGlhU3RyYXRlZ3kuaAor
ICAgIHBsYXRmb3JtL01lZGlhVW5pcXVlSWRlbnRpZmllci5oCiAgICAgcGxhdGZvcm0vTm93UGxh
eWluZ01hbmFnZXIuaAogICAgIHBsYXRmb3JtL05vdEltcGxlbWVudGVkLmgKICAgICBwbGF0Zm9y
bS9PcmllbnRhdGlvbk5vdGlmaWVyLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4YjI0YzhkMTUwNTAyMzk2YTRhYTY4NDc3YjNk
NmU1NDUyMzVmMTQzLi4yMWExNDI4ODA0MWVmNTg5MGI0YzkxMmExNjhlOGIxZmE1ZDQ1MDk1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0xNDgzLDYgKzE0ODMsNyBAQAogCQk1MTRDNzY3QjBDRTkyM0ExMDA3RUYzQ0QgLyogUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTE0Qzc2NjYwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlSGFuZGxlSW50
ZXJuYWwuaCAqLzsgfTsKIAkJNTE0Qzc2N0QwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVx
dWVzdEJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxNEM3NjY4MENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZVJlcXVlc3RCYXNlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTE0Qzc2N0YwQ0U5
MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVzcG9uc2VCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTRDNzY2QTBDRTkyM0ExMDA3RUYzQ0QgLyog
UmVzb3VyY2VSZXNwb25zZUJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQk1MTUxRjA3RTI2MTU0MzVBMDBGREIyQjQgLyogTWVkaWFVbmlxdWVJ
ZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTUxRjA3QjI2MTUzNjNGMDBGREIyQjQgLyogTWVkaWFVbmlxdWVJZGVudGlmaWVyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTE1QkUxOTAx
RDU0RjVGQjAwREQ3QzY4IC8qIEVtcHR5R2FtZXBhZFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTVCRTE4OTFENTRGNUY2MDBERDdDNjgg
LyogRW1wdHlHYW1lcGFkUHJvdmlkZXIuaCAqLzsgfTsKIAkJNTE1QkUxOTIxRDU0RjVGQjAwREQ3
QzY4IC8qIEdhbWVwYWRQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTE1QkUxOEIxRDU0RjVGNjAwREQ3QzY4IC8qIEdhbWVwYWRQcm92aWRl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUx
NUJFMTkzMUQ1NEY1RkIwMEREN0M2OCAvKiBHYW1lcGFkUHJvdmlkZXJDbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNUJFMThDMUQ1NEY1RjYw
MEREN0M2OCAvKiBHYW1lcGFkUHJvdmlkZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODcxNCw2ICs4NzE1LDcgQEAKIAkJNTE0Qzc2
NjgwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVxdWVzdEJhc2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VSZXF1ZXN0QmFzZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MTRDNzY2OTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXNw
b25zZUJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzb3Vy
Y2VSZXNwb25zZUJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTRDNzY2
QTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXNwb25zZUJhc2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VSZXNwb25zZUJhc2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNTE1MUYwN0IyNjE1MzYzRjAwRkRCMkI0IC8qIE1lZGlhVW5pcXVl
SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVVuaXF1
ZUlkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE1QkUxODgxRDU0
RjVGNjAwREQ3QzY4IC8qIEVtcHR5R2FtZXBhZFByb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVtcHR5R2FtZXBhZFByb3ZpZGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE1QkUxODkxRDU0RjVGNjAwREQ3QzY4IC8qIEVtcHR5R2Ft
ZXBhZFByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVtcHR5R2Ft
ZXBhZFByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNUJFMThBMUQ1
NEY1RjYwMEREN0M2OCAvKiBHYW1lcGFkUHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gR2FtZXBhZFByb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTI3ODIyLDYgKzI3ODI0LDcgQEAKIAkJCQk0MTQ0NjBBMDI0MTI5OTQxMDA4
MTRCRTcgLyogTWVkaWFTZXNzaW9uSWRlbnRpZmllci5oICovLAogCQkJCUEzMUFDNzBBMjQzNDA5
ODQwMDdGMDBBMiAvKiBNZWRpYVN0cmF0ZWd5LmNwcCAqLywKIAkJCQk5QjEyMjlDNjIzRkU0RDVG
MDA4Q0E3NTEgLyogTWVkaWFTdHJhdGVneS5oICovLAorCQkJCTUxNTFGMDdCMjYxNTM2M0YwMEZE
QjJCNCAvKiBNZWRpYVVuaXF1ZUlkZW50aWZpZXIuaCAqLywKIAkJCQlCQzc3MkM0QzBDNEVCMzA0
MDA4MzI4NUYgLyogTUlNRVR5cGVSZWdpc3RyeS5jcHAgKi8sCiAJCQkJQkM3NzJDNEQwQzRFQjMw
NDAwODMyODVGIC8qIE1JTUVUeXBlUmVnaXN0cnkuaCAqLywKIAkJCQlFMTUxM0Q1MDE2NzdGMDg4
MDAxNDlGQ0IgLyogTm90SW1wbGVtZW50ZWQuY3BwICovLApAQCAtMzQwNTcsNiArMzQwNjAsNyBA
QAogCQkJCTA3RkZERTY5MTgxQUVENDIwMDcyRDQwOSAvKiBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMyQ0MwQjcxREZGRDE1ODAwNEMwRjlGIC8qIE1lZGlh
VHJhY2tDb25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdDMUMwRTIxQkZCNjAwMTAw
QkQyMjU2IC8qIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNTE1MUYwN0UyNjE1NDM1QTAwRkRCMkI0IC8qIE1lZGlhVW5pcXVlSWRlbnRpZmllci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDc2MTFEQzEyNDQwRTU5QjAwRDgwNzA0IC8qIE1lZGlhVXNh
Z2VJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzlDMEQyQjI1NjRFN0YzMDBCMzIxMUIgLyog
TWVkaWFVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRTFCQUMzMUJEODA2NEUwMDU1
RDgxRiAvKiBNZW1vcnlCYWNraW5nU3RvcmVUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA2OTFhZGM2ODQ4ZTc1
NjQ2NDdmODk4MzZiMWM2ZmY3OWRkMThkZTA1Li45MDQwMDg2N2QyMWI1MDVmMWNkODIxYTFiZDNl
OGMyOGNmYzUyMjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAK
QEAgLTExMDgsNyArMTEwOCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cHJlcGFyZUZvckxv
YWQoKQogICAgIG1faGF2ZUZpcmVkTG9hZGVkRGF0YSA9IGZhbHNlOwogICAgIG1fY29tcGxldGVs
eUxvYWRlZCA9IGZhbHNlOwogICAgIG1faGF2ZVByZXBhcmVkVG9QbGF5ID0gZmFsc2U7Ci0gICAg
bV9jdXJyZW50U3JjID0gVVJMKCk7CisgICAgc2V0Q3VycmVudFNyYyhVUkwoKSk7CiAKICNpZiBF
TkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogICAgIG1fZmFpbGVkVG9QbGF5VG9XaXJl
bGVzc1RhcmdldCA9IGZhbHNlOwpAQCAtMTMyMSw3ICsxMzIxLDcgQEAgdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjpzZWxlY3RNZWRpYVJlc291cmNlKCkKICAgICAgICAgLy8g4oazIElmIG1vZGUgaXMg
b2JqZWN0CiAgICAgICAgIGlmIChtb2RlID09IE9iamVjdCkgewogICAgICAgICAgICAgLy8gMS4g
U2V0IHRoZSBjdXJyZW50U3JjIGF0dHJpYnV0ZSB0byB0aGUgZW1wdHkgc3RyaW5nLgotICAgICAg
ICAgICAgbV9jdXJyZW50U3JjID0gVVJMKCk7CisgICAgICAgICAgICBzZXRDdXJyZW50U3JjKFVS
TCgpKTsKIAogICAgICAgICAgICAgLy8gMi4gRW5kIHRoZSBzeW5jaHJvbm91cyBzZWN0aW9uLCBj
b250aW51aW5nIHRoZSByZW1haW5pbmcgc3RlcHMgaW4gcGFyYWxsZWwuCiAgICAgICAgICAgICAv
LyAzLiBSdW4gdGhlIHJlc291cmNlIGZldGNoIGFsZ29yaXRobSB3aXRoIHRoZSBhc3NpZ25lZCBt
ZWRpYSBwcm92aWRlciBvYmplY3QuCkBAIC0xMzcwLDcgKzEzNzAsNyBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnNlbGVjdE1lZGlhUmVzb3VyY2UoKQogICAgICAgICAgICAgfQogCiAgICAgICAg
ICAgICAvLyAzLiBJZiBhYnNvbHV0ZSBVUkwgd2FzIG9idGFpbmVkIHN1Y2Nlc3NmdWxseSwgc2V0
IHRoZSBjdXJyZW50U3JjIGF0dHJpYnV0ZSB0byBhYnNvbHV0ZSBVUkwuCi0gICAgICAgICAgICBt
X2N1cnJlbnRTcmMgPSBhYnNvbHV0ZVVSTDsKKyAgICAgICAgICAgIHNldEN1cnJlbnRTcmMoYWJz
b2x1dGVVUkwpOwogCiAgICAgICAgICAgICAvLyA0LiBFbmQgdGhlIHN5bmNocm9ub3VzIHNlY3Rp
b24sIGNvbnRpbnVpbmcgdGhlIHJlbWFpbmluZyBzdGVwcyBpbiBwYXJhbGxlbC4KICAgICAgICAg
ICAgIC8vIDUuIElmIGFic29sdXRlIFVSTCB3YXMgb2J0YWluZWQgc3VjY2Vzc2Z1bGx5LCBydW4g
dGhlIHJlc291cmNlIGZldGNoIGFsZ29yaXRobSB3aXRoIGFic29sdXRlCkBAIC0xNDY3LDcgKzE0
NjcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZShjb25zdCBVUkwmIGlu
aXRpYWxVUkwsIENvbnRlbnRUeXBlJiBjb250ZW50VAogCiAgICAgLy8gU2V0IG1fY3VycmVudFNy
YyAqYmVmb3JlKiBjaGFuZ2luZyB0byB0aGUgY2FjaGUgVVJMLCB0aGUgZmFjdCB0aGF0IHdlIGFy
ZSBsb2FkaW5nIGZyb20gdGhlIGFwcAogICAgIC8vIGNhY2hlIGlzIGFuIGludGVybmFsIGRldGFp
bCBub3QgZXhwb3NlZCB0aHJvdWdoIHRoZSBtZWRpYSBlbGVtZW50IEFQSS4KLSAgICBtX2N1cnJl
bnRTcmMgPSB1cmw7CisgICAgc2V0Q3VycmVudFNyYyh1cmwpOwogCiAgICAgaWYgKHJlc291cmNl
KSB7CiAgICAgICAgIHVybCA9IEFwcGxpY2F0aW9uQ2FjaGVIb3N0OjpjcmVhdGVGaWxlVVJMKHJl
c291cmNlLT5wYXRoKCkpOwpAQCAtNzUxMiw5ICs3NTEyLDE1IEBAIFN0cmluZyBIVE1MTWVkaWFF
bGVtZW50OjptZWRpYVNlc3Npb25UaXRsZSgpIGNvbnN0CiAgICAgcmV0dXJuIHRpdGxlOwogfQog
Ci1NZWRpYVNlc3Npb25JZGVudGlmaWVyIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhU2Vzc2lvblVu
aXF1ZUlkZW50aWZpZXIoKSBjb25zdAordm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRDdXJyZW50
U3JjKGNvbnN0IFVSTCYgc3JjKQogewotICAgIHJldHVybiBtX21lZGlhU2Vzc2lvbi0+bWVkaWFT
ZXNzaW9uSWRlbnRpZmllcigpOworICAgIG1fY3VycmVudFNyYyA9IHNyYzsKKyAgICBtX2N1cnJl
bnRJZGVudGlmaWVyID0gTWVkaWFVbmlxdWVJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOworfQorCitN
ZWRpYVVuaXF1ZUlkZW50aWZpZXIgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFVbmlxdWVJZGVudGlm
aWVyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jdXJyZW50SWRlbnRpZmllcjsKIH0KIAogdm9p
ZCBIVE1MTWVkaWFFbGVtZW50OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZv
cm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kLCBjb25zdCBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1bWVudCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMzA2YzZmYTZhYmI1OGIyZTZm
YjgwYzYwZTkwYjlkMWFhNTg4ZmIyMS4uMjBhY2E0YmYyNjc3NDA5N2U2YTY0OGQwZmNiYzZkYTYw
ZWEwMzZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTQwLDcg
KzQwLDcgQEAKICNpbmNsdWRlICJNZWRpYUVsZW1lbnRTZXNzaW9uLmgiCiAjaW5jbHVkZSAiTWVk
aWFQbGF5ZXIuaCIKICNpbmNsdWRlICJNZWRpYVByb2R1Y2VyLmgiCi0jaW5jbHVkZSAiTWVkaWFT
ZXNzaW9uSWRlbnRpZmllci5oIgorI2luY2x1ZGUgIk1lZGlhVW5pcXVlSWRlbnRpZmllci5oIgog
I2luY2x1ZGUgIlRleHRUcmFjay5oIgogI2luY2x1ZGUgIlZpZGVvVHJhY2suaCIKICNpbmNsdWRl
ICJWaXNpYmlsaXR5Q2hhbmdlQ2xpZW50LmgiCkBAIC01NjUsNyArNTY1LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgYXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlKCk7CiAgICAgdm9pZCBhcHBsaWNh
dGlvbkRpZEJlY29tZUFjdGl2ZSgpOwogCi0gICAgTWVkaWFTZXNzaW9uSWRlbnRpZmllciBtZWRp
YVNlc3Npb25VbmlxdWVJZGVudGlmaWVyKCkgY29uc3Q7CisgICAgTWVkaWFVbmlxdWVJZGVudGlm
aWVyIG1lZGlhVW5pcXVlSWRlbnRpZmllcigpIGNvbnN0OwogICAgIFN0cmluZyBtZWRpYVNlc3Np
b25UaXRsZSgpIGNvbnN0OwogICAgIFN0cmluZyBzb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIo
KSBjb25zdDsKIApAQCAtODQ1LDYgKzg0NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVN
ZWRpYUNvbnRyb2xsZXIoKTsKICAgICBib29sIGlzQmxvY2tlZCgpIGNvbnN0OwogICAgIGJvb2wg
aXNCbG9ja2VkT25NZWRpYUNvbnRyb2xsZXIoKSBjb25zdDsKKyAgICB2b2lkIHNldEN1cnJlbnRT
cmMoY29uc3QgVVJMJik7CiAgICAgYm9vbCBoYXNDdXJyZW50U3JjKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gIW1fY3VycmVudFNyYy5pc0VtcHR5KCk7IH0KICAgICBib29sIGlzTGl2ZVN0cmVh
bSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1vdmllTG9hZFR5cGUoKSA9PSBNb3ZpZUxvYWRU
eXBlOjpMaXZlU3RyZWFtOyB9CiAKQEAgLTk2NSw2ICs5NjYsNyBAQCBwcml2YXRlOgogICAgIFJl
YWR5U3RhdGUgbV9yZWFkeVN0YXRlIHsgSEFWRV9OT1RISU5HIH07CiAgICAgUmVhZHlTdGF0ZSBt
X3JlYWR5U3RhdGVNYXhpbXVtIHsgSEFWRV9OT1RISU5HIH07CiAgICAgVVJMIG1fY3VycmVudFNy
YzsKKyAgICBNZWRpYVVuaXF1ZUlkZW50aWZpZXIgbV9jdXJyZW50SWRlbnRpZmllcjsKIAogICAg
IFJlZlB0cjxNZWRpYUVycm9yPiBtX2Vycm9yOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCA5NWYyNzgwNjRmNWM4MTQzZTFmMDQ4ODg2Yjg3OGYx
NGU3NTczNjdjLi5mMjc0YmVmODY2ZWMyOWIxOTdjMGRmNWVhMzc2ZmMwOTMyZjRlOGUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAgLTExNjEsMTEg
KzExNjEsMTEgQEAgT3B0aW9uYWw8Tm93UGxheWluZ0luZm8+IE1lZGlhRWxlbWVudFNlc3Npb246
Om5vd1BsYXlpbmdJbmZvKCkgY29uc3QKICAgICAgICAgaWYgKHNlc3Npb25NZXRhZGF0YS0+YXJ0
d29ya0ltYWdlKCkpIHsKICAgICAgICAgICAgIGFydHdvcmsgPSBOb3dQbGF5aW5nSW5mb0FydHdv
cmsgeyBzZXNzaW9uTWV0YWRhdGEtPmFydHdvcmtTcmMoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hcnR3
b3JrSW1hZ2UoKS0+bWltZVR5cGUoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hcnR3b3JrSW1hZ2UoKS0+
ZGF0YSgpIH07CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIE5vd1BsYXlpbmdJbmZvIHsgc2Vz
c2lvbk1ldGFkYXRhLT50aXRsZSgpLCBzZXNzaW9uTWV0YWRhdGEtPmFydGlzdCgpLCBzZXNzaW9u
TWV0YWRhdGEtPmFsYnVtKCksIG1fZWxlbWVudC5zb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIo
KSwgZHVyYXRpb24sIGN1cnJlbnRUaW1lLCBzdXBwb3J0c1NlZWtpbmcsIG1fZWxlbWVudC5tZWRp
YVNlc3Npb25VbmlxdWVJZGVudGlmaWVyKCksIGlzUGxheWluZywgYWxsb3dzTm93UGxheWluZ0Nv
bnRyb2xzVmlzaWJpbGl0eSwgV1RGTW92ZShhcnR3b3JrKSB9OworICAgICAgICByZXR1cm4gTm93
UGxheWluZ0luZm8geyBzZXNzaW9uTWV0YWRhdGEtPnRpdGxlKCksIHNlc3Npb25NZXRhZGF0YS0+
YXJ0aXN0KCksIHNlc3Npb25NZXRhZGF0YS0+YWxidW0oKSwgbV9lbGVtZW50LnNvdXJjZUFwcGxp
Y2F0aW9uSWRlbnRpZmllcigpLCBkdXJhdGlvbiwgY3VycmVudFRpbWUsIHN1cHBvcnRzU2Vla2lu
ZywgbV9lbGVtZW50Lm1lZGlhVW5pcXVlSWRlbnRpZmllcigpLCBpc1BsYXlpbmcsIGFsbG93c05v
d1BsYXlpbmdDb250cm9sc1Zpc2liaWxpdHksIFdURk1vdmUoYXJ0d29yaykgfTsKICAgICB9CiAj
ZW5kaWYKIAotICAgIHJldHVybiBOb3dQbGF5aW5nSW5mbyB7IG1fZWxlbWVudC5tZWRpYVNlc3Np
b25UaXRsZSgpLCBlbXB0eVN0cmluZygpLCBlbXB0eVN0cmluZygpLCBtX2VsZW1lbnQuc291cmNl
QXBwbGljYXRpb25JZGVudGlmaWVyKCksIGR1cmF0aW9uLCBjdXJyZW50VGltZSwgc3VwcG9ydHNT
ZWVraW5nLCBtX2VsZW1lbnQubWVkaWFTZXNzaW9uVW5pcXVlSWRlbnRpZmllcigpLCBpc1BsYXlp
bmcsIGFsbG93c05vd1BsYXlpbmdDb250cm9sc1Zpc2liaWxpdHksIHsgfX07CisgICAgcmV0dXJu
IE5vd1BsYXlpbmdJbmZvIHsgbV9lbGVtZW50Lm1lZGlhU2Vzc2lvblRpdGxlKCksIGVtcHR5U3Ry
aW5nKCksIGVtcHR5U3RyaW5nKCksIG1fZWxlbWVudC5zb3VyY2VBcHBsaWNhdGlvbklkZW50aWZp
ZXIoKSwgZHVyYXRpb24sIGN1cnJlbnRUaW1lLCBzdXBwb3J0c1NlZWtpbmcsIG1fZWxlbWVudC5t
ZWRpYVVuaXF1ZUlkZW50aWZpZXIoKSwgaXNQbGF5aW5nLCBhbGxvd3NOb3dQbGF5aW5nQ29udHJv
bHNWaXNpYmlsaXR5LCB7IH19OwogfQogCiB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OnVwZGF0
ZU1lZGlhVXNhZ2VJZkNoYW5nZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTWVkaWFVbmlxdWVJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRp
YVVuaXF1ZUlkZW50aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTllNmE3MThhMDk0N2YyZTU0YmM4YmFh
MWQ4ZTZlNDk1MmQ2MjFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTWVkaWFVbmlxdWVJZGVudGlmaWVyLmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL09iamVjdElkZW50aWZpZXIuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIE1lZGlhVW5pcXVlSWRlbnRpZmllclR5cGUgeyB9Owor
dXNpbmcgTWVkaWFVbmlxdWVJZGVudGlmaWVyID0gT2JqZWN0SWRlbnRpZmllcjxNZWRpYVVuaXF1
ZUlkZW50aWZpZXJUeXBlPjsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vTm93UGxheWluZ0luZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L05vd1BsYXlpbmdJbmZvLmgKaW5kZXggMzRhN2IyZmVjMDVkMjVhMGUzZTY0MDU3ZjUzZDBjZDY0
NTcwYzQzNC4uNThmMGJjYzkwZjc4ODZkMmUxYjc2N2JlODNmMTU4OWY3NTE0OWJmZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTm93UGxheWluZ0luZm8uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Ob3dQbGF5aW5nSW5mby5oCkBAIC0yNSw3
ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiTWVkaWFTZXNzaW9uSWRlbnRp
Zmllci5oIgorI2luY2x1ZGUgIk1lZGlhVW5pcXVlSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlNo
YXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9V
UkwuaD4KQEAgLTgzLDcgKzgzLDcgQEAgc3RydWN0IE5vd1BsYXlpbmdJbmZvIHsKICAgICBkb3Vi
bGUgZHVyYXRpb24geyAwIH07CiAgICAgZG91YmxlIGN1cnJlbnRUaW1lIHsgMCB9OwogICAgIGJv
b2wgc3VwcG9ydHNTZWVraW5nIHsgZmFsc2UgfTsKLSAgICBNZWRpYVNlc3Npb25JZGVudGlmaWVy
IHVuaXF1ZUlkZW50aWZpZXI7CisgICAgTWVkaWFVbmlxdWVJZGVudGlmaWVyIHVuaXF1ZUlkZW50
aWZpZXI7CiAgICAgYm9vbCBpc1BsYXlpbmcgeyBmYWxzZSB9OwogICAgIGJvb2wgYWxsb3dzTm93
UGxheWluZ0NvbnRyb2xzVmlzaWJpbGl0eSB7IGZhbHNlIH07CiAgICAgT3B0aW9uYWw8Tm93UGxh
eWluZ0luZm9BcnR3b3JrPiBhcnR3b3JrOwpAQCAtMTQ3LDcgKzE0Nyw3IEBAIHRlbXBsYXRlPGNs
YXNzIERlY29kZXI+IGlubGluZSBPcHRpb25hbDxOb3dQbGF5aW5nSW5mbz4gTm93UGxheWluZ0lu
Zm86OmRlY29kZShECiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzdXBwb3J0c1NlZWtpbmcpKQog
ICAgICAgICByZXR1cm4geyB9OwogCi0gICAgTWVkaWFTZXNzaW9uSWRlbnRpZmllciB1bmlxdWVJ
ZGVudGlmaWVyOworICAgIE1lZGlhVW5pcXVlSWRlbnRpZmllciB1bmlxdWVJZGVudGlmaWVyOwog
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUodW5pcXVlSWRlbnRpZmllcikpCiAgICAgICAgIHJldHVy
biB7IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggYjVjMWQ1YjM0OTgwZWM1YTIyZTZk
NTYwZDEyNzM0Njg1OGU1YzNjZS4uYWRjMjI2NzIyYzUxYWQxNzZmMjIxNzRhMDdmN2ExNjIzNWU2
N2M0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKQEAgLTI3LDcgKzI3LDcgQEAKICNkZWZpbmUg
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyX2gKIAogI2luY2x1ZGUgIkdlbmVyaWNUYXNrUXVl
dWUuaCIKLSNpbmNsdWRlICJNZWRpYVNlc3Npb25JZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiTWVk
aWFVbmlxdWVJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb24uaCIK
ICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9BZ2dyZWdhdGVMb2dnZXIuaD4KQEAg
LTg2LDcgKzg2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGxhc3RVcGRhdGVkTm93
UGxheWluZ1RpdGxlKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQogICAgIHZpcnR1
YWwgZG91YmxlIGxhc3RVcGRhdGVkTm93UGxheWluZ0R1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4g
TkFOOyB9CiAgICAgdmlydHVhbCBkb3VibGUgbGFzdFVwZGF0ZWROb3dQbGF5aW5nRWxhcHNlZFRp
bWUoKSBjb25zdCB7IHJldHVybiBOQU47IH0KLSAgICB2aXJ0dWFsIE1lZGlhU2Vzc2lvbklkZW50
aWZpZXIgbGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXIoKSBjb25zdCB7
IHJldHVybiB7IH07IH0KKyAgICB2aXJ0dWFsIE1lZGlhVW5pcXVlSWRlbnRpZmllciBsYXN0VXBk
YXRlZE5vd1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIHsgfTsg
fQogICAgIHZpcnR1YWwgYm9vbCByZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24oKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBoYXZlRXZlclJlZ2lzdGVy
ZWRBc05vd1BsYXlpbmdBcHBsaWNhdGlvbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCB2b2lkIHByZXBhcmVUb1NlbmRVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdCgpIHsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFT
ZXNzaW9uTWFuYWdlckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2Nv
YS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaAppbmRleCA1NTZjYWVlMGRjMWI1ZDljZjFmNjdl
NDNjYzA2OTcxZGMyYWY1NjQ5Li44NTdmNzJiOGY0ZmFiZTE3MjQyNzkwOWU0ZWJmNjhiMjE5YmEz
YzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaApAQCAtNTIsNyArNTIsNyBAQCBwdWJs
aWM6CiAgICAgU3RyaW5nIGxhc3RVcGRhdGVkTm93UGxheWluZ1RpdGxlKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRsZTsgfQogICAgIGRvdWJsZSBsYXN0
VXBkYXRlZE5vd1BsYXlpbmdEdXJhdGlvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbGFzdFVw
ZGF0ZWROb3dQbGF5aW5nRHVyYXRpb247IH0KICAgICBkb3VibGUgbGFzdFVwZGF0ZWROb3dQbGF5
aW5nRWxhcHNlZFRpbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xhc3RVcGRhdGVkTm93UGxh
eWluZ0VsYXBzZWRUaW1lOyB9Ci0gICAgTWVkaWFTZXNzaW9uSWRlbnRpZmllciBsYXN0VXBkYXRl
ZE5vd1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
bGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXI7IH0KKyAgICBNZWRpYVVu
aXF1ZUlkZW50aWZpZXIgbGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXIo
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0luZm9VbmlxdWVJ
ZGVudGlmaWVyOyB9CiAgICAgYm9vbCByZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24o
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3JlZ2lzdGVyZWRBc05vd1BsYXlpbmdBcHBsaWNhdGlv
bjsgfQogICAgIGJvb2wgaGF2ZUV2ZXJSZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24o
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2hhdmVFdmVyUmVnaXN0ZXJlZEFzTm93UGxheWluZ0Fw
cGxpY2F0aW9uOyB9CiAKQEAgLTEwOSw3ICsxMDksNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBt
X2xhc3RVcGRhdGVkTm93UGxheWluZ1RpdGxlOwogICAgIGRvdWJsZSBtX2xhc3RVcGRhdGVkTm93
UGxheWluZ0R1cmF0aW9uIHsgTkFOIH07CiAgICAgZG91YmxlIG1fbGFzdFVwZGF0ZWROb3dQbGF5
aW5nRWxhcHNlZFRpbWUgeyBOQU4gfTsKLSAgICBNZWRpYVNlc3Npb25JZGVudGlmaWVyIG1fbGFz
dFVwZGF0ZWROb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXI7CisgICAgTWVkaWFVbmlxdWVJ
ZGVudGlmaWVyIG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXI7CiAK
ICAgICBHZW5lcmljVGFza1F1ZXVlPFRpbWVyPiBtX3Rhc2tRdWV1ZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNv
Y29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9u
TWFuYWdlckNvY29hLm1tCmluZGV4IDVlMTk1NDRjYmNjZWU2ZDg4YTI5ODMzOGFjMGIyOTNhMGIw
MzQ3OWYuLjA2YWRjYzhiOWY1MDFkMTA4NmRkNDAyYjJhOGRkNDliNWQ4YjYwY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFn
ZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KQEAgLTI5Myw3ICsyOTMsOSBAQCB2b2lkIE1lZGlhU2Vz
c2lvbk1hbmFnZXJDb2NvYTo6c2V0Tm93UGxheWluZ0luZm8oYm9vbCBzZXRBc05vd1BsYXlpbmdB
cHBsaWNhdGlvbgogICAgIGF1dG8gY2ZSYXRlID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZShrQ0ZB
bGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJEb3VibGVUeXBlLCAmcmF0ZSkpOwogICAgIENGRGlj
dGlvbmFyeVNldFZhbHVlKGluZm8uZ2V0KCksIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9Q
bGF5YmFja1JhdGUsIGNmUmF0ZS5nZXQoKSk7CiAKLSAgICBhdXRvIGxhc3RVcGRhdGVkTm93UGxh
eWluZ0luZm9VbmlxdWVJZGVudGlmaWVyID0gbm93UGxheWluZ0luZm8udW5pcXVlSWRlbnRpZmll
ci50b1VJbnQ2NCgpOworICAgIC8vIEZJWE1FOiBUaGlzIGlzIGEgd29ya2Fyb3VuZCBDb250cm9s
IENlbnRlciBub3QgdXBkYXRpbmcgdGhlIGFydHdvcmsgd2hlbiByZWZyZXNoZWQuCisgICAgLy8g
V2UgZm9yY2UgdGhlIGlkZW50aWZpZXIgdG8gYmUgcmVsb2FkZWQgdG8gdGhlIG5ldyBhcnR3b3Jr
IGlmIGF2YWlsYWJsZS4KKyAgICBhdXRvIGxhc3RVcGRhdGVkTm93UGxheWluZ0luZm9VbmlxdWVJ
ZGVudGlmaWVyID0gbm93UGxheWluZ0luZm8uYXJ0d29yayA/IG5vd1BsYXlpbmdJbmZvLmFydHdv
cmstPnNyYy5oYXNoKCkgOiBub3dQbGF5aW5nSW5mby51bmlxdWVJZGVudGlmaWVyLnRvVUludDY0
KCk7CiAgICAgYXV0byBjZklkZW50aWZpZXIgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKGtDRkFs
bG9jYXRvckRlZmF1bHQsIGtDRk51bWJlckxvbmdMb25nVHlwZSwgJmxhc3RVcGRhdGVkTm93UGxh
eWluZ0luZm9VbmlxdWVJZGVudGlmaWVyKSk7CiAgICAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoaW5m
by5nZXQoKSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXIsIGNm
SWRlbnRpZmllci5nZXQoKSk7CiAKQEAgLTMwNSw2ICszMDcsNyBAQCB2b2lkIE1lZGlhU2Vzc2lv
bk1hbmFnZXJDb2NvYTo6c2V0Tm93UGxheWluZ0luZm8oYm9vbCBzZXRBc05vd1BsYXlpbmdBcHBs
aWNhdGlvbgogICAgICAgICBhdXRvIG5zQXJ0d29yayA9IG5vd1BsYXlpbmdJbmZvLmFydHdvcmst
PmltYWdlRGF0YS0+Y3JlYXRlTlNEYXRhKCk7CiAgICAgICAgIENGRGljdGlvbmFyeVNldFZhbHVl
KGluZm8uZ2V0KCksIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9BcnR3b3JrRGF0YSwgbnNB
cnR3b3JrLmdldCgpKTsKICAgICAgICAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoaW5mby5nZXQoKSwg
a01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0FydHdvcmtNSU1FVHlwZSwgbm93UGxheWluZ0lu
Zm8uYXJ0d29yay0+bWltZVR5cGUuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CisgICAgICAgIENG
RGljdGlvbmFyeVNldFZhbHVlKGluZm8uZ2V0KCksIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0lu
Zm9BcnR3b3JrSWRlbnRpZmllciwgU3RyaW5nOjpudW1iZXIobm93UGxheWluZ0luZm8uYXJ0d29y
ay0+c3JjLmhhc2goKSkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CiAgICAgfQogCiAgICAgaWYg
KGNhbkxvYWRfTWVkaWFSZW1vdGVfTVJNZWRpYVJlbW90ZVNldFBhcmVudEFwcGxpY2F0aW9uKCkg
JiYgIW5vd1BsYXlpbmdJbmZvLnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllci5pc0VtcHR5KCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0
TGluay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsu
aAppbmRleCA4MTZkODRkYTQ3NDY2ODk4NzYxMTU3Njk5ZmNiNGVlN2M3NTZlMzA4Li5jZThlNzI1
MWJkYTA2OWJkNjNjYzc2MDg0ZmM2ZGQyYjNmNmQzYThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLmgKQEAgLTY5LDYgKzY5LDggQEAg
U09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIGtNUk1l
ZGlhUmVtb3RlTm93UGxheWluZ0luZm8KIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdl
YkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya01J
TUVUeXBlLCBDRlN0cmluZ1JlZik7CiAjZGVmaW5lIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0lu
Zm9BcnR3b3JrTUlNRVR5cGUgZ2V0X01lZGlhUmVtb3RlX2tNUk1lZGlhUmVtb3RlTm93UGxheWlu
Z0luZm9BcnR3b3JrTUlNRVR5cGUoKQogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoV2Vi
Q29yZSwgTWVkaWFSZW1vdGUsIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9EdXJhdGlvbiwg
Q0ZTdHJpbmdSZWYpOworI2RlZmluZSBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29y
a0lkZW50aWZpZXIgZ2V0X01lZGlhUmVtb3RlX2tNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9B
cnR3b3JrSWRlbnRpZmllcigpCitTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3Jl
LCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0FydHdvcmtJZGVudGlm
aWVyLCBDRlN0cmluZ1JlZik7CiAjZGVmaW5lIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9E
dXJhdGlvbiBnZXRfTWVkaWFSZW1vdGVfa01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0R1cmF0
aW9uKCkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlhUmVtb3Rl
LCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvRWxhcHNlZFRpbWUsIENGU3RyaW5nUmVmKTsK
ICNkZWZpbmUga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0VsYXBzZWRUaW1lIGdldF9NZWRp
YVJlbW90ZV9rTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvRWxhcHNlZFRpbWUoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5tbQppbmRl
eCBlYTFlOWI4YzQwZGQ0ODc1MWU3OTc4N2Y5ZjA1OTY1YzQ1ZDk3NDE5Li40NGZiMTlmNGViYTQ0
MjZmN2RmMjhlZTEzNzQ3NjVmYzA0MzQ5Y2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5tbQpAQCAtNDksNiArNDksNyBAQCBTT0ZU
X0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwga01STWVkaWFS
ZW1vdGVOb3dQbGF5aW5nSW5mbwogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29y
ZSwgTWVkaWFSZW1vdGUsIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9BbGJ1bSwgQ0ZTdHJp
bmdSZWYpOwogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1v
dGUsIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9BcnR3b3JrRGF0YSwgQ0ZTdHJpbmdSZWYp
OwogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIGtN
Uk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9BcnR3b3JrTUlNRVR5cGUsIENGU3RyaW5nUmVmKTsK
K1NPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJN
ZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0d29ya0lkZW50aWZpZXIsIENGU3RyaW5nUmVmKTsK
IFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJN
ZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvRHVyYXRpb24sIENGU3RyaW5nUmVmKTsKIFNPRlRfTElO
S19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90
ZU5vd1BsYXlpbmdJbmZvRWxhcHNlZFRpbWUsIENGU3RyaW5nUmVmKTsKIFNPRlRfTElOS19DT05T
VEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90ZU5vd1Bs
YXlpbmdJbmZvUGxheWJhY2tSYXRlLCBDRlN0cmluZ1JlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaAppbmRleCA0NjExOTg2OTZmN2E0NGY1OWEyYzFjMjg3Yjc4MmExYTc4N2FmYTE3Li4w
Mjc2N2Q1OTY5ODBmNWM4MzRlZmY1MjZiZjg1YjQ0YTI4YWM5ZjZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKQEAgLTQzLDYgKzQzLDcgQEAKIAogI2lmIEVOQUJMRShWSURFTykKICNp
bmNsdWRlICJNZWRpYUVsZW1lbnRTZXNzaW9uLmgiCisjaW5jbHVkZSAiTWVkaWFVbmlxdWVJZGVu
dGlmaWVyLmgiCiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>