<?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>225004</bug_id>
          
          <creation_ts>2021-04-23 15:45:42 -0700</creation_ts>
          <short_desc>[iOS] [GPU] The UI process should issue the mach sandbox extension to &apos;com.apple.AGXCompilerService&apos;</short_desc>
          <delta_ts>2021-04-27 10:08:34 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=203915</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=210616</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>pvollan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1753767</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-23 15:45:42 -0700</bug_when>
    <thetext>In Bug 203915 and Bug 210616 we did work to only extend access to AGX-related graphics facilities on relevant hardware. This was lost in the transition to the GPU Process and should be added back.

&lt;rdar://problem/68362930&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753773</commentid>
    <comment_count>1</comment_count>
      <attachid>426959</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-23 15:59:03 -0700</bug_when>
    <thetext>Created attachment 426959
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753783</commentid>
    <comment_count>2</comment_count>
      <attachid>426959</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-04-23 16:13:07 -0700</bug_when>
    <thetext>Comment on attachment 426959
Patch

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

Great! R=me.

&gt; Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:975
&gt; +        (xpc-service-name-prefix &quot;com.apple.AGXCompilerService&quot;)))

Is the prefix part needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753798</commentid>
    <comment_count>3</comment_count>
      <attachid>426965</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-23 16:49:30 -0700</bug_when>
    <thetext>Created attachment 426965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753799</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-23 16:50:09 -0700</bug_when>
    <thetext>(In reply to Per Arne Vollan from comment #2)
&gt; Comment on attachment 426959 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=426959&amp;action=review
&gt; 
&gt; Great! R=me.
&gt; 
&gt; &gt; Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:975
&gt; &gt; +        (xpc-service-name-prefix &quot;com.apple.AGXCompilerService&quot;)))
&gt; 
&gt; Is the prefix part needed?

Yes. This is right out of the WCP rules. There are two flavors of AGXCompilerService (one has a postfix).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753805</commentid>
    <comment_count>5</comment_count>
      <attachid>426967</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-23 17:01:58 -0700</bug_when>
    <thetext>Created attachment 426967
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754045</commentid>
    <comment_count>6</comment_count>
      <attachid>426967</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-25 12:41:40 -0700</bug_when>
    <thetext>Comment on attachment 426967
Patch

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

&gt; Source/WebCore/platform/cocoa/AGXCompilerService.h:36
&gt; +namespace WTF {
&gt; +
&gt; +class ASCIILiteral;
&gt; +
&gt; +}

This isn’t needed or helpful. If we include &lt;wtf/Forward.h&gt;, then this is taken care of. If we don’t, then we have to write WTF::ASCIILiteral below.

&gt; Source/WebCore/platform/cocoa/AGXCompilerService.h:43
&gt; +WEBCORE_EXPORT const Vector&lt;ASCIILiteral&gt;&amp; agxCompilerServices();
&gt; +WEBCORE_EXPORT const Vector&lt;ASCIILiteral&gt;&amp; agxCompilerClasses();

Would be slightly more efficient to move to something that doesn’t require any memory allocation. To cite one example, maybe not the most elegant, these could return std::initializer_list&lt;ASCIILiteral&gt;, if all we need to do is iterate them. No reason to keep a Vector around in memory forever just because we need to call createHandlesForMachLookup.

Sadly, right now SandboxExtension is specifically tied to Vector. So doing this might require a bit of refactoring, and is not urgent. Just slightly better memory use and I suppose a better idiom.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754047</commentid>
    <comment_count>7</comment_count>
      <attachid>426967</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-25 12:42:12 -0700</bug_when>
    <thetext>Comment on attachment 426967
Patch

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

&gt; Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:48
&gt; +#include &lt;WebCore/AGXCompilerService.h&gt;

Adding this broke the WinCairo build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754242</commentid>
    <comment_count>8</comment_count>
      <attachid>427061</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-26 09:55:30 -0700</bug_when>
    <thetext>Created attachment 427061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754248</commentid>
    <comment_count>9</comment_count>
      <attachid>426967</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-26 10:02:26 -0700</bug_when>
    <thetext>Comment on attachment 426967
Patch

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

&gt;&gt; Source/WebCore/platform/cocoa/AGXCompilerService.h:36
&gt;&gt; +}
&gt; 
&gt; This isn’t needed or helpful. If we include &lt;wtf/Forward.h&gt;, then this is taken care of. If we don’t, then we have to write WTF::ASCIILiteral below.

Ah, will fix.

&gt;&gt; Source/WebCore/platform/cocoa/AGXCompilerService.h:43
&gt;&gt; +WEBCORE_EXPORT const Vector&lt;ASCIILiteral&gt;&amp; agxCompilerClasses();
&gt; 
&gt; Would be slightly more efficient to move to something that doesn’t require any memory allocation. To cite one example, maybe not the most elegant, these could return std::initializer_list&lt;ASCIILiteral&gt;, if all we need to do is iterate them. No reason to keep a Vector around in memory forever just because we need to call createHandlesForMachLookup.
&gt; 
&gt; Sadly, right now SandboxExtension is specifically tied to Vector. So doing this might require a bit of refactoring, and is not urgent. Just slightly better memory use and I suppose a better idiom.

I filed Bug 225059 to remember to do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754260</commentid>
    <comment_count>10</comment_count>
      <attachid>427061</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-26 11:04:40 -0700</bug_when>
    <thetext>Comment on attachment 427061
Patch

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

&gt; Source/WebCore/platform/cocoa/AGXCompilerService.h:31
&gt; +#include &lt;wtf/Forward.h&gt;
&gt; +#include &lt;wtf/Vector.h&gt;

Probably not worth another round of patch revision, but Vector.h already includes Forward.h so an explicit include of Forward.h probably is not needed. I should have made that clear in my earlier comment.

Oh, and now,. on reflection, only Forward.h needs to be included here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754461</commentid>
    <comment_count>11</comment_count>
      <attachid>427111</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-26 17:54:08 -0700</bug_when>
    <thetext>Created attachment 427111
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754462</commentid>
    <comment_count>12</comment_count>
      <attachid>427061</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-26 17:55:04 -0700</bug_when>
    <thetext>Comment on attachment 427061
Patch

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

&gt;&gt; Source/WebCore/platform/cocoa/AGXCompilerService.h:31
&gt;&gt; +#include &lt;wtf/Vector.h&gt;
&gt; 
&gt; Probably not worth another round of patch revision, but Vector.h already includes Forward.h so an explicit include of Forward.h probably is not needed. I should have made that clear in my earlier comment.
&gt; 
&gt; Oh, and now,. on reflection, only Forward.h needs to be included here.

I&apos;ll fix it -- fewer includes are better!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754463</commentid>
    <comment_count>13</comment_count>
      <attachid>427112</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-04-26 17:56:25 -0700</bug_when>
    <thetext>Created attachment 427112
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754662</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-27 10:08:32 -0700</bug_when>
    <thetext>Committed r276644 (237071@main): &lt;https://commits.webkit.org/237071@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427112.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426959</attachid>
            <date>2021-04-23 15:59:03 -0700</date>
            <delta_ts>2021-04-23 16:52:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225004-20210423155902.patch</filename>
            <type>text/plain</type>
            <size>18445</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWNlMDZkYWI2OGEzYjAz
NjEzNDkzMzJlOGZkMDFiMDExNDQ2MjdmNS4uNjViOTdlYzU4ODU4ODU4NzU3MTZkMDdlNTU5M2U1
ODUxZjZhNjgyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA0LTIzICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFtHUFVdIFRo
ZSBVSSBwcm9jZXNzIHNob3VsZCBpc3N1ZSB0aGUgbWFjaCBzYW5kYm94IGV4dGVuc2lvbiB0byAn
Y29tLmFwcGxlLkFHWENvbXBpbGVyU2VydmljZScgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUwMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY4
MzYyOTMwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluIEJ1ZyAyMDM5MTUgYW5kIEJ1ZyAyMTA2MTYgd2UgZGlkIHdvcmsgdG8gb25seSBleHRlbmQg
YWNjZXNzIHRvIEFHWC1yZWxhdGVkIGdyYXBoaWNzIGZhY2lsaXRpZXMgb24gcmVsZXZhbnQgaGFy
ZHdhcmUuIFRoaXMgd2FzCisgICAgICAgIGxvc3QgaW4gdGhlIHRyYW5zaXRpb24gdG8gdGhlIEdQ
VSBQcm9jZXNzIGFuZCBzaG91bGQgYmUgYWRkZWQgYmFjay4KKworICAgICAgICBUaGlzIGNoYW5n
ZSBtb3ZlcyB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgQUdYLXJlbGF0ZWQgc2VydmljZXMgYW5kIElP
S2l0IGNsYXNzZXMgdG8gdGhlIEFHWENvbXBpbGVyU2VydmljZSBjb21waWxhdGlvbiB1bml0IHNv
IHRoYXQKKyAgICAgICAgaXQgY2FuIGJlIHNoYXJlZCBieSB0aGUgV2ViQ29udGVudCBhbmQgR1BV
UHJvY2VzcyBjb2RlIHBhdGhzLgorCisgICAgICAgIFRlc3RlZCBieSBleGlzdGluZyBncmFwaGlj
cyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjphZ3hDb21waWxlclNlcnZpY2VzKToKKyAgICAgICAgKFdl
YkNvcmU6OmFneENvbXBpbGVyQ2xhc3Nlcyk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvQUdY
Q29tcGlsZXJTZXJ2aWNlLmg6CisKIDIwMjEtMDQtMjMgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNh
dGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSB2aXJ0dWFsIGZ1bmN0aW9uIGNh
bGxzIGluIEdyYXBoaWNzTGF5ZXIgZGVzdHJ1Y3RvcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzFhOTU2NDU1NjIx
ZmJjMDcwODIzYTQzMGQ0NmZkMWE1MThlODY1ZS4uNjRiZTY5YTJkYTM2YTA3MzJlYzdhZmM2NDMx
MTQxMDkzMDAzNTM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAyMS0wNC0yMyAgQnJl
bnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBbR1BVXSBU
aGUgVUkgcHJvY2VzcyBzaG91bGQgaXNzdWUgdGhlIG1hY2ggc2FuZGJveCBleHRlbnNpb24gdG8g
J2NvbS5hcHBsZS5BR1hDb21waWxlclNlcnZpY2UnIAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1MDA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82
ODM2MjkzMD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbiBCdWcgMjAzOTE1IGFuZCBCdWcgMjEwNjE2IHdlIGRpZCB3b3JrIHRvIG9ubHkgZXh0ZW5k
IGFjY2VzcyB0byBBR1gtcmVsYXRlZCBncmFwaGljcyBmYWNpbGl0aWVzIG9uIHJlbGV2YW50IGhh
cmR3YXJlLiBUaGlzIHdhcworICAgICAgICBsb3N0IGluIHRoZSB0cmFuc2l0aW9uIHRvIHRoZSBH
UFUgUHJvY2VzcyBhbmQgc2hvdWxkIGJlIGFkZGVkIGJhY2suCisKKyAgICAgICAgVGhpcyBjaGFu
Z2UgZG9lcyB0aGUgZm9sbG93aW5nOgorICAgICAgICAxLiBBZGRzIHNhbmRib3ggZXh0ZW5zaW9u
IGhhbmRsZXMgZm9yIHRoZSBBR1gtcmVsYXRlZCBjb21waWxlciBzZXJ2aWNlcyBhbmQgSU9LaXQg
Y2xhc3NlcyB0byB0aGUgR1BVUHJvY2VzcyBjcmVhdGlvbiBwYXJhbWV0ZXJzLgorICAgICAgICAy
LiBVcGRhdGVzIHRoZSBHUFVQcm9jZXNzUHJveHkgdG8gZXh0ZW5kIEFHWCBmZWF0dXJlcyB3aGVu
IHdhcnJhbnRlZCBhbmQgYWRkIHRoZW0gdG8gdGhlIGNyZWF0aW9uIHBhcmFtZXRlciBzdHJ1Y3R1
cmUuCisgICAgICAgIDMuIFVwZGF0ZXMgdGhlIEdQVVByb2Nlc3MgdG8gY29uc3VtZSB0aGUgZXh0
ZW5zaW9ucyAod2hlbiBncmFudGVkKS4KKyAgICAgICAgNC4gVXBkYXRlcyB0aGUgV2ViUHJvY2Vz
c1Bvb2wgdG8gdXNlIHRoZSBXZWJDb3JlIHZlcnNpb24gb2YgdGhlICdhZ3hDb21waWxlckNsYXNz
ZXMnIGFuZCAnYWd4Q29tcGlsZXJTZXJ2aWNlcycgZnVuY3Rpb25zLgorICAgICAgICA1LiBNb3Zl
cyB0aGUgJ2FneENvbXBpbGVyQ2xhc3NlcycgYW5kICdhZ3hDb21waWxlclNlcnZpY2VzJyBmdW5j
dGlvbnMgdG8gV2ViQ29yZSwgYWxvbmdzaWRlIHRoZSBvdGhlciBBR1ggZnVuY3Rpb25zLgorCisg
ICAgICAgIEl0IGFsc28gY29ycmVjdHMgdGhlIHNhbmRib3ggcnVsZSBmb3IgdGhlIEFHWENvbXBp
bGVyU2VydmljZSBpbiB0aGUgR1BVIFByb2Nlc3Mgc2FuZGJveCwgd2hpY2ggaW5jb3JyZWN0bHkg
Y2FsbGVkIGl0IGEgJ2dsb2JhbC1uYW1lJywKKyAgICAgICAgd2hlbiBpdCBpcyBhbiB4cGMtc2Vy
dmljZS4KKworICAgICAgICBUZXN0ZWQgYnkgZXhpc3RpbmcgZ3JhcGhpY3MgdGVzdHMuCisKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQ
cm9jZXNzOjppbml0aWFsaXplR1BVUHJvY2Vzcyk6CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6R1BV
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBHUFVQcm9jZXNz
L0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBSZXNvdXJjZXMvU2Fu
ZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LkdQVS5zYjogQ29ycmVjdCBBR1ggY29t
cGlsZXIgc2VydmljZSB0eXBlLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0Ojpub25Ccm93c2VyU2VydmljZXMpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vz
cyk6CisgICAgICAgIChXZWJLaXQ6OmFneENvbXBpbGVyQ2xhc3Nlcyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJLaXQ6OmFneENvbXBpbGVyU2VydmljZXMpOiBEZWxldGVkLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJv
Y2Vzc1Byb3h5OjpHUFVQcm9jZXNzUHJveHkpOgorCiAyMDIxLTA0LTIzICBCcmVudCBGdWxnaGFt
ICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEdQVSBQcm9jZXNzIHNhbmRi
b3ggbGFja3MgSU9Nb2JpbGVGcmFtZWJ1ZmZlclVzZXJDbGllbnQgbWV0aG9kIGZpbHRlcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5j
cHAKaW5kZXggYWQyMDM3NzAwYWM1ZjFlNjMxYWMwN2M5ZmFlYjc0ODYzY2UwYTEzOS4uNTgxNjg1
MjgyMjVhMDQ3MDc3MWZiN2E1ZmIzZjBhMmZmZjAyZGM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9BR1hDb21waWxlclNlcnZpY2UuY3BwCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyogQ29weXJpZ2h0IChDKSAyMDIwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogKgogKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw3ICsyOSw5IEBACiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjaW5j
bHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvQVNDSUlMaXRlcmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNTcsNiArNTksMzQgQEAgYm9vbCBkZXZpY2VIYXNBR1hDb21waWxlclNlcnZpY2UoKQog
ICAgIHJldHVybiAqaGFzQUdYQ29tcGlsZXJTZXJ2aWNlOwogfQogCitjb25zdCBWZWN0b3I8QVND
SUlMaXRlcmFsPiYgYWd4Q29tcGlsZXJTZXJ2aWNlcygpCit7CisgICAgQVNTRVJUKGlzTWFpblJ1
bkxvb3AoKSk7CisgICAgc3RhdGljIGNvbnN0IGF1dG8gc2VydmljZXMgPSBtYWtlTmV2ZXJEZXN0
cm95ZWQoVmVjdG9yPEFTQ0lJTGl0ZXJhbD4geworICAgICAgICAiY29tLmFwcGxlLkFHWENvbXBp
bGVyU2VydmljZSJfcywKKyAgICAgICAgImNvbS5hcHBsZS5BR1hDb21waWxlclNlcnZpY2UtUzJB
OCJfcworICAgIH0pOworICAgIHJldHVybiBzZXJ2aWNlczsKK30KKworY29uc3QgVmVjdG9yPEFT
Q0lJTGl0ZXJhbD4mIGFneENvbXBpbGVyQ2xhc3NlcygpCit7CisgICAgQVNTRVJUKGlzTWFpblJ1
bkxvb3AoKSk7CisgICAgc3RhdGljIGNvbnN0IGF1dG8gaW9raXRDbGFzc2VzID0gbWFrZU5ldmVy
RGVzdHJveWVkKFZlY3RvcjxBU0NJSUxpdGVyYWw+IHsKKyAgICAgICAgIkFHWENvbW1hbmRRdWV1
ZSJfcywKKyAgICAgICAgIkFHWERldmljZSJfcywKKyAgICAgICAgIkFHWFNoYXJlZFVzZXJDbGll
bnQiX3MsCisgICAgICAgICJJT0FjY2VsQ29udGV4dCJfcywKKyAgICAgICAgIklPQWNjZWxDb250
ZXh0MiJfcywKKyAgICAgICAgIklPQWNjZWxEZXZpY2UiX3MsCisgICAgICAgICJJT0FjY2VsRGV2
aWNlMiJfcywKKyAgICAgICAgIklPQWNjZWxTaGFyZWRVc2VyQ2xpZW50Il9zLAorICAgICAgICAi
SU9BY2NlbFNoYXJlZFVzZXJDbGllbnQyIl9zLAorICAgICAgICAiSU9BY2NlbFN1Ym1pdHRlcjIi
X3MsCisgICAgfSk7CisgICAgcmV0dXJuIGlva2l0Q2xhc3NlczsKK30KKwogfQogCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2Vy
dmljZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNl
LmgKaW5kZXggOTVmMjJkZmRlMWZiMmY1MDhlZGQ1NWIxMDg1ZDJmOWIyNDllYmNhMi4uMGNlOTE2
Y2UwMDhkNzllYjg1NWQ3YWQ3OTVhMDdiNDkwNDc4YjhkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKQEAgLTEsNSArMSw1IEBA
CiAvKgotKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorKiBDb3B5cmlnaHQgKEMpIDIwMjAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAqCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDkgKzI1LDIzIEBACiAKICNw
cmFnbWEgb25jZQogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK2NsYXNzIEFTQ0lJTGl0ZXJhbDsKKworfQor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdFQkNPUkVfRVhQT1JUIGJvb2wgZGV2aWNlSGFzQUdY
Q29tcGlsZXJTZXJ2aWNlKCk7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldERldmljZUhhc0FHWENv
bXBpbGVyU2VydmljZUZvclRlc3RpbmcoKTsKK1dFQkNPUkVfRVhQT1JUIHN0YXRpYyBjb25zdCBW
ZWN0b3I8QVNDSUlMaXRlcmFsPiYgYWd4Q29tcGlsZXJTZXJ2aWNlcygpOworV0VCQ09SRV9FWFBP
UlQgc3RhdGljIGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBhZ3hDb21waWxlckNsYXNzZXMo
KTsKIAogfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApp
bmRleCBlZjk3NTVlNGM1OTU0YzcwODRkNTYyOWE5YmYxYWI4MWIxNWM1N2NmLi5kMGRhNDhkNGJm
NzUzODA3ZGEwNWMzOTViMzMzMjUzYmJlYjRjOTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVVByb2Nlc3MuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkt
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTIyMCw2ICsyMjAsMTAgQEAgdm9pZCBHUFVQcm9jZXNzOjppbml0aWFs
aXplR1BVUHJvY2VzcyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykK
ICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVycy5jb250
YWluZXJDYWNoZXNEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogICAgIFNhbmRib3hFeHRlbnNp
b246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLmNvbnRhaW5lclRlbXBvcmFyeURpcmVj
dG9yeUV4dGVuc2lvbkhhbmRsZSk7CiAjZW5kaWYKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQor
ICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLmNvbXBp
bGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZXMpOworICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1
bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLmR5bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRsZXMpOwor
I2VuZGlmCiAKICNpZiBIQVZFKENHSU1BR0VTT1VSQ0VfV0lUSF9TRVRfQUxMT1dBQkxFX1RZUEVT
KQogICAgIGF1dG8gZW1wdHlBcnJheSA9IGFkb3B0Q0YoQ0ZBcnJheUNyZWF0ZShrQ0ZBbGxvY2F0
b3JEZWZhdWx0LCBudWxscHRyLCAwLCAma0NGVHlwZUFycmF5Q2FsbEJhY2tzKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5jcHAKaW5kZXggNWNlNjQ1ZTg3Mjk4NmVmN2JlZjg2OGRhYjJmNTE3YTMyYTlmNTIxYS4u
MjdkM2VkNTlkMWQxMzI1NDRiMmVjMjIzMzE3NjQ2N2I2MTFmYzA2ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC02MSw2ICs2MSwxMCBAQCB2b2lkIEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVu
Y29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBjb250YWlu
ZXJDYWNoZXNEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2RlciA8PCBjb250YWlu
ZXJUZW1wb3JhcnlEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKKyNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQorICAgIGVuY29kZXIgPDwgY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFu
ZGxlczsKKyAgICBlbmNvZGVyIDw8IGR5bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRsZXM7CisjZW5k
aWYKIH0KIAogYm9vbCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpE
ZWNvZGVyJiBkZWNvZGVyLCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiByZXN1bHQpCkBA
IC0xMDEsNiArMTA1LDE5IEBAIGJvb2wgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVj
b2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgR1BVUHJvY2Vzc0NyZWF0CiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICByZXN1bHQuY29udGFpbmVyVGVtcG9yYXJ5RGlyZWN0b3J5RXh0ZW5zaW9u
SGFuZGxlID0gV1RGTW92ZSgqY29udGFpbmVyVGVtcG9yYXJ5RGlyZWN0b3J5RXh0ZW5zaW9uSGFu
ZGxlKTsKICNlbmRpZgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgT3B0aW9uYWw8U2Fu
ZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXk+IGNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRs
ZXM7CisgICAgZGVjb2RlciA+PiBjb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGVzOworICAg
IGlmICghY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlcykKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIHBhcmFtZXRlcnMuY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlcyA9IFdU
Rk1vdmUoKmNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZXMpOworCisgICAgT3B0aW9uYWw8
U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXk+IGR5bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRs
ZXM7CisgICAgZGVjb2RlciA+PiBkeW5hbWljSU9LaXRFeHRlbnNpb25IYW5kbGVzOworICAgIGlm
ICghZHluYW1pY0lPS2l0RXh0ZW5zaW9uSGFuZGxlcykKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIHJlc3VsdC5keW5hbWljSU9LaXRFeHRlbnNpb25IYW5kbGVzID0gV1RGTW92ZSgqZHluYW1p
Y0lPS2l0RXh0ZW5zaW9uSGFuZGxlcyk7CisjZW5kaWYKIAogICAgIHJldHVybiB0cnVlOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgKaW5kZXggZDMxMzcxYjQ5ZWNhNzBiYWY4NTIwYTE2N2QzOTBmOTQwYThlMDNm
ZS4uNzZmY2IwOGVlZmRkOTZjNThlZDhlMzA4MzVlOTlkNDUxN2IyNjk5YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTU5LDYgKzU5LDEwIEBAIHN0cnVjdCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsK
ICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgY29udGFpbmVyQ2FjaGVzRGlyZWN0b3J5RXh0
ZW5zaW9uSGFuZGxlOwogICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBjb250YWluZXJUZW1w
b3JhcnlEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKKyNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQorICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5IGNvbXBpbGVyU2Vydmlj
ZUV4dGVuc2lvbkhhbmRsZXM7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkgZHlu
YW1pY0lPS2l0RXh0ZW5zaW9uSGFuZGxlczsKKyNlbmRpZgogCiAgICAgdm9pZCBlbmNvZGUoSVBD
OjpFbmNvZGVyJikgY29uc3Q7CiAgICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRl
Y29kZShJUEM6OkRlY29kZXImLCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5h
cHBsZS5XZWJLaXQuR1BVLnNiIGIvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2Zp
bGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LkdQVS5zYgppbmRleCBlMzFhZDM2ZmM4ZDYwM2UyMjA3
YjgyODQzM2Q0YjA5NGNhNmE3NTc3Li42Yjk2NGU2YjM4MDIyMTYwOGU5ZTU0Mzc5ZTUxY2ZkYTk1
Mjg0N2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmls
ZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiCisrKyBiL1NvdXJjZS9XZWJLaXQvUmVzb3Vy
Y2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5HUFUuc2IKQEAgLTEsNCAr
MSw0IEBACi07IENvcHlyaWdodCAoQykgMjAxMC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKzsgQ29weXJpZ2h0IChDKSAyMDEwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogOwogOyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIDsgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNTcsMTIgKzI1Nywx
MiBAQAogOzs7IERlY2xhcmUgdGhhdCB0aGUgYXBwbGljYXRpb24gdXNlcyB0aGUgT3BlbkdMLCBN
ZXRhbCwgYW5kIENvcmVNTCBoYXJkd2FyZSAmIGZyYW1ld29ya3MuCiA7OzsKIChkZWZpbmUtb25j
ZSAob3BlbmdsKQotICAgIChhbGxvdyBpb2tpdC1vcGVuCisgICAgOzsgSXRlbXMgbm90IHNlZW4g
aW4gdGVzdGluZworICAgIChkZW55IGlva2l0LW9wZW4gKHdpdGggdGVsZW1ldHJ5KQogICAgICAg
ICAgICAoaW9raXQtY29ubmVjdGlvbiAiSU9HUFUiKQogICAgICAgICAgICAoaW9raXQtdXNlci1j
bGllbnQtY2xhc3MKICAgICAgICAgICAgICAgICAiQUdYQ29tbWFuZFF1ZXVlIgogICAgICAgICAg
ICAgICAgICJBR1hEZXZpY2UiCi0gICAgICAgICAgICAgICAgIkFHWERldmljZVVzZXJDbGllbnQi
CiAgICAgICAgICAgICAgICAgIkFHWFNoYXJlZFVzZXJDbGllbnQiCiAgICAgICAgICAgICAgICAg
IklPQWNjZWxDb250ZXh0IgogICAgICAgICAgICAgICAgICJJT0FjY2VsRGV2aWNlIgpAQCAtMjcy
LDYgKzI3MiwxMSBAQAogICAgICAgICAgICAgICAgICJJT0FjY2VsRGV2aWNlMiIKICAgICAgICAg
ICAgICAgICAiSU9BY2NlbFNoYXJlZFVzZXJDbGllbnQyIikpCiAKKyAgICAoYWxsb3cgaW9raXQt
b3BlbgorICAgICAgICAgICAoaW9raXQtY29ubmVjdGlvbiAiSU9HUFUiKQorICAgICAgICAgICAo
aW9raXQtdXNlci1jbGllbnQtY2xhc3MKKyAgICAgICAgICAgICAgICAiQUdYRGV2aWNlVXNlckNs
aWVudCIpKQorCiAgICAgKGFsbG93IGlva2l0LWdldC1wcm9wZXJ0aWVzCiAgICAgICAgIChpb2tp
dC1wcm9wZXJ0eSAiSU9HTEJ1bmRsZU5hbWUiKQogICAgICAgICAoaW9raXQtcHJvcGVydHkgIklP
R0xFU0J1bmRsZU5hbWUiKQpAQCAtMjg0LDkgKzI4OSw2IEBACiAgICAgKGFsbG93IHN5c2N0bC1y
ZWFkCiAgICAgICAgICAgIChzeXNjdGwtbmFtZSAjImtlcm4uYm9vdHNlc3Npb251dWlkIikpCiAK
LSAgICAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggcmVwb3J0KSAod2l0aCB0ZWxlbWV0cnkpCi0g
ICAgICAgICh4cGMtc2VydmljZS1uYW1lLXByZWZpeCAiY29tLmFwcGxlLkFHWENvbXBpbGVyU2Vy
dmljZSIpKQotCiAgICAgKGFsbG93IG1hY2gtbG9va3VwCiAgICAgICAgOzsgPHJkYXI6Ly9wcm9i
bGVtLzQ3MjY4MTY2PgogICAgICAgICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuTVRMQ29t
cGlsZXJTZXJ2aWNlIikpCkBAIC05NDAsNiArOTQyLDI0IEBACiAgICAgKGxpdGVyYWwgIi91c3Iv
bG9jYWwvbGliL2xvZyIpIDsgPHJkYXI6Ly9wcm9ibGVtLzM2NjI5NDk1PgogKQogCisoYWxsb3cg
aW9raXQtb3BlbgorICAgIChyZXF1aXJlLWFsbAorICAgICAgICAoZXh0ZW5zaW9uICJjb20uYXBw
bGUud2Via2l0LmV4dGVuc2lvbi5pb2tpdCIpCisgICAgICAgIChpb2tpdC11c2VyLWNsaWVudC1j
bGFzcworICAgICAgICAgICAgIkFHWENvbW1hbmRRdWV1ZSIKKyAgICAgICAgICAgICJBR1hEZXZp
Y2UiCisgICAgICAgICAgICAiQUdYU2hhcmVkVXNlckNsaWVudCIKKyAgICAgICAgICAgICJJT0Fj
Y2VsQ29udGV4dCIKKyAgICAgICAgICAgICJJT0FjY2VsRGV2aWNlIgorICAgICAgICAgICAgIklP
QWNjZWxTaGFyZWRVc2VyQ2xpZW50IgorICAgICAgICAgICAgIklPQWNjZWxTdWJtaXR0ZXIyIgor
ICAgICAgICAgICAgIklPQWNjZWxDb250ZXh0MiIKKyAgICAgICAgICAgICJJT0FjY2VsRGV2aWNl
MiIKKyAgICAgICAgICAgICJJT0FjY2VsU2hhcmVkVXNlckNsaWVudDIiCisgICAgICAgICkKKyAg
ICApCispCisKIChkZW55IG1hY2gtbG9va3VwICh3aXRoIG5vLWxvZykKICAgICAoeHBjLXNlcnZp
Y2UtbmFtZSAiY29tLmFwcGxlLmF1ZGlvLnRvb2xib3gucmVwb3J0aW5nLnNlcnZpY2UiKQogKQpA
QCAtOTQ3LDcgKzk2NywxMiBAQAogKGFsbG93IG1hY2gtbG9va3VwCiAgICAgKHJlcXVpcmUtYWxs
CiAgICAgICAgIChleHRlbnNpb24gImNvbS5hcHBsZS53ZWJraXQuZXh0ZW5zaW9uLm1hY2giKQot
ICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5pcGhvbmUuYXhzZXJ2ZXItc3lzdGVtd2lk
ZSIgImNvbS5hcHBsZS50Y2NkIiAiY29tLmFwcGxlLkFHWENvbXBpbGVyU2VydmljZSIpKSkKKyAg
ICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuaXBob25lLmF4c2VydmVyLXN5c3RlbXdpZGUi
ICJjb20uYXBwbGUudGNjZCIpKSkKKworKGFsbG93IG1hY2gtbG9va3VwCisgICAgKHJlcXVpcmUt
YWxsCisgICAgICAgIChleHRlbnNpb24gImNvbS5hcHBsZS53ZWJraXQuZXh0ZW5zaW9uLm1hY2gi
KQorICAgICAgICAoeHBjLXNlcnZpY2UtbmFtZS1wcmVmaXggImNvbS5hcHBsZS5BR1hDb21waWxl
clNlcnZpY2UiKSkpCiAKIChtZWRpYS1jYXB0dXJlLXN1cHBvcnQpCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDZi
Yjc1MDJiMDMyYWMxNDg0YzU2OGEwN2RlNWZlYjJkZjU2NjE2MDQuLjExZDRmOGNkMzJjOWM3NGQw
ZDBiMjM5YzMzYzhjNWY0NzhhMzlkYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzNCwzNiArMjM0LDYgQEAg
c3RhdGljIGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBub25Ccm93c2VyU2VydmljZXMoKQog
ICAgIH0pOwogICAgIHJldHVybiBzZXJ2aWNlczsKIH0KLQotc3RhdGljIGNvbnN0IFZlY3RvcjxB
U0NJSUxpdGVyYWw+JiBhZ3hDb21waWxlckNsYXNzZXMoKQotewotICAgIEFTU0VSVChpc01haW5S
dW5Mb29wKCkpOwotICAgIHN0YXRpYyBjb25zdCBhdXRvIGlva2l0Q2xhc3NlcyA9IG1ha2VOZXZl
ckRlc3Ryb3llZChWZWN0b3I8QVNDSUlMaXRlcmFsPiB7Ci0gICAgICAgICJBR1hDb21tYW5kUXVl
dWUiX3MsCi0gICAgICAgICJBR1hEZXZpY2UiX3MsCi0gICAgICAgICJBR1hTaGFyZWRVc2VyQ2xp
ZW50Il9zLAotICAgICAgICAiSU9BY2NlbENvbnRleHQiX3MsCi0gICAgICAgICJJT0FjY2VsQ29u
dGV4dDIiX3MsCi0gICAgICAgICJJT0FjY2VsRGV2aWNlIl9zLAotICAgICAgICAiSU9BY2NlbERl
dmljZTIiX3MsCi0gICAgICAgICJJT0FjY2VsU2hhcmVkVXNlckNsaWVudCJfcywKLSAgICAgICAg
IklPQWNjZWxTaGFyZWRVc2VyQ2xpZW50MiJfcywKLSAgICAgICAgIklPQWNjZWxTdWJtaXR0ZXIy
Il9zLAotICAgIH0pOwotICAgIHJldHVybiBpb2tpdENsYXNzZXM7Ci19Ci0jZW5kaWYKLQotI2lm
IFBMQVRGT1JNKElPUykKLXN0YXRpYyBjb25zdCBWZWN0b3I8QVNDSUlMaXRlcmFsPiYgYWd4Q29t
cGlsZXJTZXJ2aWNlcygpCi17Ci0gICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7Ci0gICAgc3Rh
dGljIGNvbnN0IGF1dG8gc2VydmljZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVjdG9yPEFTQ0lJ
TGl0ZXJhbD4gewotICAgICAgICAiY29tLmFwcGxlLkFHWENvbXBpbGVyU2VydmljZSJfcywKLSAg
ICAgICAgImNvbS5hcHBsZS5BR1hDb21waWxlclNlcnZpY2UtUzJBOCJfcwotICAgIH0pOwotICAg
IHJldHVybiBzZXJ2aWNlczsKLX0KICNlbmRpZgogCiBzdGF0aWMgY29uc3QgVmVjdG9yPEFTQ0lJ
TGl0ZXJhbD4mIGRpYWdub3N0aWNTZXJ2aWNlcygpCkBAIC00MDMsNyArMzczLDcgQEAgdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyhjb25zdCBXZWJQcm9j
ZXNzUHJveHkmIHByb2Nlc3MKICAgICAKICNpZiBQTEFURk9STShJT1MpCiAgICAgaWYgKFdlYkNv
cmU6OmRldmljZUhhc0FHWENvbXBpbGVyU2VydmljZSgpKQotICAgICAgICBwYXJhbWV0ZXJzLmNv
bXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZXMgPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVI
YW5kbGVzRm9yTWFjaExvb2t1cChhZ3hDb21waWxlclNlcnZpY2VzKCksIFdURjo6bnVsbG9wdCk7
CisgICAgICAgIHBhcmFtZXRlcnMuY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlcyA9IFNh
bmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZXNGb3JNYWNoTG9va3VwKFdlYkNvcmU6OmFneENv
bXBpbGVyU2VydmljZXMoKSwgV1RGOjpudWxsb3B0KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKQEAgLTQxMSw3ICszODEsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0
Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vzcwog
ICAgICAgICBwYXJhbWV0ZXJzLmR5bmFtaWNNYWNoRXh0ZW5zaW9uSGFuZGxlcyA9IFNhbmRib3hF
eHRlbnNpb246OmNyZWF0ZUhhbmRsZXNGb3JNYWNoTG9va3VwKG5vbkJyb3dzZXJTZXJ2aWNlcygp
LCBXVEY6Om51bGxvcHQpOwogCiAgICAgaWYgKFdlYkNvcmU6OmRldmljZUhhc0FHWENvbXBpbGVy
U2VydmljZSgpKQotICAgICAgICBwYXJhbWV0ZXJzLmR5bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRs
ZXMgPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVzRm9ySU9LaXRDbGFzc0V4dGVuc2lv
bnMoYWd4Q29tcGlsZXJDbGFzc2VzKCksIFdURjo6bnVsbG9wdCk7CisgICAgICAgIHBhcmFtZXRl
cnMuZHluYW1pY0lPS2l0RXh0ZW5zaW9uSGFuZGxlcyA9IFNhbmRib3hFeHRlbnNpb246OmNyZWF0
ZUhhbmRsZXNGb3JJT0tpdENsYXNzRXh0ZW5zaW9ucyhXZWJDb3JlOjphZ3hDb21waWxlckNsYXNz
ZXMoKSwgV1RGOjpudWxsb3B0KTsKICNlbmRpZgogCiAgICAgaWYgKGlzSW50ZXJuYWxJbnN0YWxs
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1By
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3Bw
CmluZGV4IGVmYzg1NjdiMmMzYjVjMTJhNzRlYjhmODMzNDA4YmZlYjU3NWQ3NjMuLjY1ZWQzNDhi
ZGNlZTgwYzFjNWY0Y2QxMDZiY2UzOGM5ZmM0NzRhNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxOS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDUsNiArNDUsNyBAQAogI2lu
Y2x1ZGUgIldlYlByb2Nlc3NQb29sLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAj
aW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0FH
WENvbXBpbGVyU2VydmljZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTW9ja1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
cy5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgpAQCAtMTg4LDYgKzE4OSwx
MiBAQCBHUFVQcm9jZXNzUHJveHk6OkdQVVByb2Nlc3NQcm94eSgpCiAgICAgaWYgKCFjb250YWlu
ZXJUZW1wb3JhcnlEaXJlY3RvcnkuaXNFbXB0eSgpKQogICAgICAgICBTYW5kYm94RXh0ZW5zaW9u
OjpjcmVhdGVIYW5kbGVXaXRob3V0UmVzb2x2aW5nUGF0aChjb250YWluZXJUZW1wb3JhcnlEaXJl
Y3RvcnksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRXcml0ZSwgcGFyYW1ldGVycy5jb250
YWluZXJUZW1wb3JhcnlEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogI2VuZGlmCisjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBpZiAoV2ViQ29yZTo6ZGV2aWNlSGFzQUdYQ29tcGlsZXJT
ZXJ2aWNlKCkpIHsKKyAgICAgICAgcGFyYW1ldGVycy5jb21waWxlclNlcnZpY2VFeHRlbnNpb25I
YW5kbGVzID0gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlc0Zvck1hY2hMb29rdXAoV2Vi
Q29yZTo6YWd4Q29tcGlsZXJTZXJ2aWNlcygpLCBXVEY6Om51bGxvcHQpOworICAgICAgICBwYXJh
bWV0ZXJzLmR5bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRsZXMgPSBTYW5kYm94RXh0ZW5zaW9uOjpj
cmVhdGVIYW5kbGVzRm9ySU9LaXRDbGFzc0V4dGVuc2lvbnMoV2ViQ29yZTo6YWd4Q29tcGlsZXJD
bGFzc2VzKCksIFdURjo6bnVsbG9wdCk7CisgICAgfQorI2VuZGlmCiAKICAgICAvLyBJbml0aWFs
aXplIHRoZSBHUFUgcHJvY2Vzcy4KICAgICBzZW5kKE1lc3NhZ2VzOjpHUFVQcm9jZXNzOjpJbml0
aWFsaXplR1BVUHJvY2VzcyhwYXJhbWV0ZXJzKSwgMCk7Cg==
</data>
<flag name="commit-queue"
          id="447414"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426965</attachid>
            <date>2021-04-23 16:49:30 -0700</date>
            <delta_ts>2021-04-23 17:05:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225004-20210423164930.patch</filename>
            <type>text/plain</type>
            <size>18365</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNkYmZkZDQzZGU2ODNl
OTZlMmI3NGY3YzE4NWUyMjRjNTdlNmMyNC4uNzhkMzRiZTA0ODBmZGQxYjNiNzRiMWQ4OGM0ODZl
ZWQyOGNhODc0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA0LTIzICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFtHUFVdIFRo
ZSBVSSBwcm9jZXNzIHNob3VsZCBpc3N1ZSB0aGUgbWFjaCBzYW5kYm94IGV4dGVuc2lvbiB0byAn
Y29tLmFwcGxlLkFHWENvbXBpbGVyU2VydmljZScgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUwMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY4
MzYyOTMwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluIEJ1ZyAyMDM5MTUgYW5kIEJ1ZyAyMTA2MTYgd2UgZGlkIHdvcmsgdG8gb25seSBleHRlbmQg
YWNjZXNzIHRvIEFHWC1yZWxhdGVkIGdyYXBoaWNzIGZhY2lsaXRpZXMgb24gcmVsZXZhbnQgaGFy
ZHdhcmUuIFRoaXMgd2FzCisgICAgICAgIGxvc3QgaW4gdGhlIHRyYW5zaXRpb24gdG8gdGhlIEdQ
VSBQcm9jZXNzIGFuZCBzaG91bGQgYmUgYWRkZWQgYmFjay4KKworICAgICAgICBUaGlzIGNoYW5n
ZSBtb3ZlcyB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgQUdYLXJlbGF0ZWQgc2VydmljZXMgYW5kIElP
S2l0IGNsYXNzZXMgdG8gdGhlIEFHWENvbXBpbGVyU2VydmljZSBjb21waWxhdGlvbiB1bml0IHNv
IHRoYXQKKyAgICAgICAgaXQgY2FuIGJlIHNoYXJlZCBieSB0aGUgV2ViQ29udGVudCBhbmQgR1BV
UHJvY2VzcyBjb2RlIHBhdGhzLgorCisgICAgICAgIFRlc3RlZCBieSBleGlzdGluZyBncmFwaGlj
cyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjphZ3hDb21waWxlclNlcnZpY2VzKToKKyAgICAgICAgKFdl
YkNvcmU6OmFneENvbXBpbGVyQ2xhc3Nlcyk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvQUdY
Q29tcGlsZXJTZXJ2aWNlLmg6CisKIDIwMjEtMDQtMjMgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1z
dGVhZEBzb255LmNvbT4KIAogICAgICAgICBBZGQgYWRkaXRpb25hbCBndWFyZHMgYXJvdW5kIFVT
RV9BTkdMRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCBjYjZiZjU2M2RmOWViZWZhMGQ1NjlkMzdlYjJjNGU0ZmY5NDM1
YzQzLi5mYjQ1NjAyMmZiNTc0YmUzZTJjYzhkNzQ5YmYwZWYwYTYxYTFmODAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDQxIEBACisyMDIxLTA0LTIzICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBw
bGUuY29tPgorCisgICAgICAgIFtpT1NdIFtHUFVdIFRoZSBVSSBwcm9jZXNzIHNob3VsZCBpc3N1
ZSB0aGUgbWFjaCBzYW5kYm94IGV4dGVuc2lvbiB0byAnY29tLmFwcGxlLkFHWENvbXBpbGVyU2Vy
dmljZScgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjUwMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY4MzYyOTMwPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIEJ1ZyAyMDM5MTUgYW5kIEJ1ZyAy
MTA2MTYgd2UgZGlkIHdvcmsgdG8gb25seSBleHRlbmQgYWNjZXNzIHRvIEFHWC1yZWxhdGVkIGdy
YXBoaWNzIGZhY2lsaXRpZXMgb24gcmVsZXZhbnQgaGFyZHdhcmUuIFRoaXMgd2FzCisgICAgICAg
IGxvc3QgaW4gdGhlIHRyYW5zaXRpb24gdG8gdGhlIEdQVSBQcm9jZXNzIGFuZCBzaG91bGQgYmUg
YWRkZWQgYmFjay4KKworICAgICAgICBUaGlzIGNoYW5nZSBkb2VzIHRoZSBmb2xsb3dpbmc6Cisg
ICAgICAgIDEuIEFkZHMgc2FuZGJveCBleHRlbnNpb24gaGFuZGxlcyBmb3IgdGhlIEFHWC1yZWxh
dGVkIGNvbXBpbGVyIHNlcnZpY2VzIGFuZCBJT0tpdCBjbGFzc2VzIHRvIHRoZSBHUFVQcm9jZXNz
IGNyZWF0aW9uIHBhcmFtZXRlcnMuCisgICAgICAgIDIuIFVwZGF0ZXMgdGhlIEdQVVByb2Nlc3NQ
cm94eSB0byBleHRlbmQgQUdYIGZlYXR1cmVzIHdoZW4gd2FycmFudGVkIGFuZCBhZGQgdGhlbSB0
byB0aGUgY3JlYXRpb24gcGFyYW1ldGVyIHN0cnVjdHVyZS4KKyAgICAgICAgMy4gVXBkYXRlcyB0
aGUgR1BVUHJvY2VzcyB0byBjb25zdW1lIHRoZSBleHRlbnNpb25zICh3aGVuIGdyYW50ZWQpLgor
ICAgICAgICA0LiBVcGRhdGVzIHRoZSBXZWJQcm9jZXNzUG9vbCB0byB1c2UgdGhlIFdlYkNvcmUg
dmVyc2lvbiBvZiB0aGUgJ2FneENvbXBpbGVyQ2xhc3NlcycgYW5kICdhZ3hDb21waWxlclNlcnZp
Y2VzJyBmdW5jdGlvbnMuCisgICAgICAgIDUuIE1vdmVzIHRoZSAnYWd4Q29tcGlsZXJDbGFzc2Vz
JyBhbmQgJ2FneENvbXBpbGVyU2VydmljZXMnIGZ1bmN0aW9ucyB0byBXZWJDb3JlLCBhbG9uZ3Np
ZGUgdGhlIG90aGVyIEFHWCBmdW5jdGlvbnMuCisKKyAgICAgICAgSXQgYWxzbyBjb3JyZWN0cyB0
aGUgc2FuZGJveCBydWxlIGZvciB0aGUgQUdYQ29tcGlsZXJTZXJ2aWNlIGluIHRoZSBHUFUgUHJv
Y2VzcyBzYW5kYm94LCB3aGljaCBpbmNvcnJlY3RseSBjYWxsZWQgaXQgYSAnZ2xvYmFsLW5hbWUn
LAorICAgICAgICB3aGVuIGl0IGlzIGFuIHhwYy1zZXJ2aWNlLgorCisgICAgICAgIFRlc3RlZCBi
eSBleGlzdGluZyBncmFwaGljcyB0ZXN0cy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9j
ZXNzKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNv
ZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oOgorICAgICAgICAqIFJlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBs
ZS5XZWJLaXQuR1BVLnNiOiBDb3JyZWN0IEFHWCBjb21waWxlciBzZXJ2aWNlIHR5cGUuCisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChX
ZWJLaXQ6Om5vbkJyb3dzZXJTZXJ2aWNlcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6YWd4
Q29tcGlsZXJDbGFzc2VzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6YWd4Q29tcGlsZXJT
ZXJ2aWNlcyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OkdQVVByb2Nlc3NQcm94
eSk6CisKIDIwMjEtMDQtMjMgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc1NTYyLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5jcHAKaW5kZXgg
YWQyMDM3NzAwYWM1ZjFlNjMxYWMwN2M5ZmFlYjc0ODYzY2UwYTEzOS4uNTgxNjg1MjgyMjVhMDQ3
MDc3MWZiN2E1ZmIzZjBhMmZmZjAyZGM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9BR1hDb21waWxlclNlcnZpY2UuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyog
Q29weXJpZ2h0IChDKSAyMDIwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
KgogKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw3ICsyOSw5IEBACiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKIAogI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjaW5jbHVkZSA8d3Rm
L05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvQVNDSUlMaXRlcmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTcs
NiArNTksMzQgQEAgYm9vbCBkZXZpY2VIYXNBR1hDb21waWxlclNlcnZpY2UoKQogICAgIHJldHVy
biAqaGFzQUdYQ29tcGlsZXJTZXJ2aWNlOwogfQogCitjb25zdCBWZWN0b3I8QVNDSUlMaXRlcmFs
PiYgYWd4Q29tcGlsZXJTZXJ2aWNlcygpCit7CisgICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7
CisgICAgc3RhdGljIGNvbnN0IGF1dG8gc2VydmljZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVj
dG9yPEFTQ0lJTGl0ZXJhbD4geworICAgICAgICAiY29tLmFwcGxlLkFHWENvbXBpbGVyU2Vydmlj
ZSJfcywKKyAgICAgICAgImNvbS5hcHBsZS5BR1hDb21waWxlclNlcnZpY2UtUzJBOCJfcworICAg
IH0pOworICAgIHJldHVybiBzZXJ2aWNlczsKK30KKworY29uc3QgVmVjdG9yPEFTQ0lJTGl0ZXJh
bD4mIGFneENvbXBpbGVyQ2xhc3NlcygpCit7CisgICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7
CisgICAgc3RhdGljIGNvbnN0IGF1dG8gaW9raXRDbGFzc2VzID0gbWFrZU5ldmVyRGVzdHJveWVk
KFZlY3RvcjxBU0NJSUxpdGVyYWw+IHsKKyAgICAgICAgIkFHWENvbW1hbmRRdWV1ZSJfcywKKyAg
ICAgICAgIkFHWERldmljZSJfcywKKyAgICAgICAgIkFHWFNoYXJlZFVzZXJDbGllbnQiX3MsCisg
ICAgICAgICJJT0FjY2VsQ29udGV4dCJfcywKKyAgICAgICAgIklPQWNjZWxDb250ZXh0MiJfcywK
KyAgICAgICAgIklPQWNjZWxEZXZpY2UiX3MsCisgICAgICAgICJJT0FjY2VsRGV2aWNlMiJfcywK
KyAgICAgICAgIklPQWNjZWxTaGFyZWRVc2VyQ2xpZW50Il9zLAorICAgICAgICAiSU9BY2NlbFNo
YXJlZFVzZXJDbGllbnQyIl9zLAorICAgICAgICAiSU9BY2NlbFN1Ym1pdHRlcjIiX3MsCisgICAg
fSk7CisgICAgcmV0dXJuIGlva2l0Q2xhc3NlczsKK30KKwogfQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKaW5kZXgg
OTVmMjJkZmRlMWZiMmY1MDhlZGQ1NWIxMDg1ZDJmOWIyNDllYmNhMi4uOTIxMzdiODJkYjUyMGI2
OTlkNWM3MDk2YmU4ZmVmNDk0NjU2YjYyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKiBDb3B5
cmlnaHQgKEMpIDIwMjAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqCiAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDkgKzI1LDIzIEBACiAKICNwcmFnbWEgb25j
ZQogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
KworbmFtZXNwYWNlIFdURiB7CisKK2NsYXNzIEFTQ0lJTGl0ZXJhbDsKKworfQorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIFdFQkNPUkVfRVhQT1JUIGJvb2wgZGV2aWNlSGFzQUdYQ29tcGlsZXJT
ZXJ2aWNlKCk7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldERldmljZUhhc0FHWENvbXBpbGVyU2Vy
dmljZUZvclRlc3RpbmcoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVy
YWw+JiBhZ3hDb21waWxlclNlcnZpY2VzKCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBWZWN0b3I8
QVNDSUlMaXRlcmFsPiYgYWd4Q29tcGlsZXJDbGFzc2VzKCk7CiAKIH0KKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXggZWY5NzU1ZTRjNTk1NGM3MDg0
ZDU2MjlhOWJmMWFiODFiMTVjNTdjZi4uZDBkYTQ4ZDRiZjc1MzgwN2RhMDVjMzk1YjMzMzI1M2Ji
ZWI0Yzk0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3Mu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMjAsNiAr
MjIwLDEwIEBAIHZvaWQgR1BVUHJvY2Vzczo6aW5pdGlhbGl6ZUdQVVByb2Nlc3MoR1BVUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgU2FuZGJveEV4dGVuc2lvbjo6
Y29uc3VtZVBlcm1hbmVudGx5KHBhcmFtZXRlcnMuY29udGFpbmVyQ2FjaGVzRGlyZWN0b3J5RXh0
ZW5zaW9uSGFuZGxlKTsKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHko
cGFyYW1ldGVycy5jb250YWluZXJUZW1wb3JhcnlEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwog
I2VuZGlmCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpj
b25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVycy5jb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5k
bGVzKTsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVy
cy5keW5hbWljSU9LaXRFeHRlbnNpb25IYW5kbGVzKTsKKyNlbmRpZgogCiAjaWYgSEFWRShDR0lN
QUdFU09VUkNFX1dJVEhfU0VUX0FMTE9XQUJMRV9UWVBFUykKICAgICBhdXRvIGVtcHR5QXJyYXkg
PSBhZG9wdENGKENGQXJyYXlDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgbnVsbHB0ciwgMCwg
JmtDRlR5cGVBcnJheUNhbGxCYWNrcykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDVjZTY0NWU4
NzI5ODZlZjdiZWY4NjhkYWIyZjUxN2EzMmE5ZjUyMWEuLjI3ZDNlZDU5ZDFkMTMyNTQ0YjJlYzIy
MzMxNzY0NjdiNjExZmMwNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjEsNiArNjEsMTAgQEAgdm9p
ZCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNv
ZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgY29udGFpbmVyQ2FjaGVzRGlyZWN0b3J5RXh0ZW5z
aW9uSGFuZGxlOwogICAgIGVuY29kZXIgPDwgY29udGFpbmVyVGVtcG9yYXJ5RGlyZWN0b3J5RXh0
ZW5zaW9uSGFuZGxlOwogI2VuZGlmCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBlbmNv
ZGVyIDw8IGNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZXM7CisgICAgZW5jb2RlciA8PCBk
eW5hbWljSU9LaXRFeHRlbnNpb25IYW5kbGVzOworI2VuZGlmCiB9CiAKIGJvb2wgR1BVUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgR1BVUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcmVzdWx0KQpAQCAtMTAxLDYgKzEwNSwxOSBAQCBib29s
IEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29k
ZXIsIEdQVVByb2Nlc3NDcmVhdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmVzdWx0LmNv
bnRhaW5lclRlbXBvcmFyeURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoKmNvbnRh
aW5lclRlbXBvcmFyeURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7CiAjZW5kaWYKKyNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQorICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFy
cmF5PiBjb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGVzOworICAgIGRlY29kZXIgPj4gY29t
cGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlczsKKyAgICBpZiAoIWNvbXBpbGVyU2VydmljZUV4
dGVuc2lvbkhhbmRsZXMpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwYXJhbWV0ZXJzLmNv
bXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZXMgPSBXVEZNb3ZlKCpjb21waWxlclNlcnZpY2VF
eHRlbnNpb25IYW5kbGVzKTsKKworICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZUFycmF5PiBkeW5hbWljSU9LaXRFeHRlbnNpb25IYW5kbGVzOworICAgIGRlY29kZXIgPj4gZHlu
YW1pY0lPS2l0RXh0ZW5zaW9uSGFuZGxlczsKKyAgICBpZiAoIWR5bmFtaWNJT0tpdEV4dGVuc2lv
bkhhbmRsZXMpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXN1bHQuZHluYW1pY0lPS2l0
RXh0ZW5zaW9uSGFuZGxlcyA9IFdURk1vdmUoKmR5bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRsZXMp
OworI2VuZGlmCiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGQzMTM3
MWI0OWVjYTcwYmFmODUyMGExNjdkMzkwZjk0MGE4ZTAzZmUuLjc2ZmNiMDhlZWZkZDk2YzU4ZWQ4
ZTMwODM1ZTk5ZDQ1MTdiMjY5OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01OSw2ICs1OSwxMCBAQCBzdHJ1
Y3QgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgU2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlIGNvbnRhaW5lckNhY2hlc0RpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZTsKICAgICBTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGUgY29udGFpbmVyVGVtcG9yYXJ5RGlyZWN0b3J5RXh0ZW5zaW9u
SGFuZGxlOwogI2VuZGlmCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBTYW5kYm94RXh0
ZW5zaW9uOjpIYW5kbGVBcnJheSBjb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGVzOworICAg
IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5IGR5bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRs
ZXM7CisjZW5kaWYKIAogICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0OwogICAg
IHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUoSVBDOjpEZWNvZGVyJiwgR1BV
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9S
ZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LkdQVS5zYiBiL1Nv
dXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktp
dC5HUFUuc2IKaW5kZXggZTMxYWQzNmZjOGQ2MDNlMjIwN2I4Mjg0MzNkNGIwOTRjYTZhNzU3Ny4u
NmI5NjRlNmIzODAyMjE2MDhlOWU1NDM3OWU1MWNmZGE5NTI4NDdjMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0
LkdQVS5zYgorKysgYi9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9z
L2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiCkBAIC0xLDQgKzEsNCBAQAotOyBDb3B5cmlnaHQgKEMp
IDIwMTAtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCis7IENvcHlyaWdodCAo
QykgMjAxMC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIDsKIDsgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiA7IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMjU3LDEyICsyNTcsMTIgQEAKIDs7OyBEZWNsYXJlIHRoYXQg
dGhlIGFwcGxpY2F0aW9uIHVzZXMgdGhlIE9wZW5HTCwgTWV0YWwsIGFuZCBDb3JlTUwgaGFyZHdh
cmUgJiBmcmFtZXdvcmtzLgogOzs7CiAoZGVmaW5lLW9uY2UgKG9wZW5nbCkKLSAgICAoYWxsb3cg
aW9raXQtb3BlbgorICAgIDs7IEl0ZW1zIG5vdCBzZWVuIGluIHRlc3RpbmcKKyAgICAoZGVueSBp
b2tpdC1vcGVuICh3aXRoIHRlbGVtZXRyeSkKICAgICAgICAgICAgKGlva2l0LWNvbm5lY3Rpb24g
IklPR1BVIikKICAgICAgICAgICAgKGlva2l0LXVzZXItY2xpZW50LWNsYXNzCiAgICAgICAgICAg
ICAgICAgIkFHWENvbW1hbmRRdWV1ZSIKICAgICAgICAgICAgICAgICAiQUdYRGV2aWNlIgotICAg
ICAgICAgICAgICAgICJBR1hEZXZpY2VVc2VyQ2xpZW50IgogICAgICAgICAgICAgICAgICJBR1hT
aGFyZWRVc2VyQ2xpZW50IgogICAgICAgICAgICAgICAgICJJT0FjY2VsQ29udGV4dCIKICAgICAg
ICAgICAgICAgICAiSU9BY2NlbERldmljZSIKQEAgLTI3Miw2ICsyNzIsMTEgQEAKICAgICAgICAg
ICAgICAgICAiSU9BY2NlbERldmljZTIiCiAgICAgICAgICAgICAgICAgIklPQWNjZWxTaGFyZWRV
c2VyQ2xpZW50MiIpKQogCisgICAgKGFsbG93IGlva2l0LW9wZW4KKyAgICAgICAgICAgKGlva2l0
LWNvbm5lY3Rpb24gIklPR1BVIikKKyAgICAgICAgICAgKGlva2l0LXVzZXItY2xpZW50LWNsYXNz
CisgICAgICAgICAgICAgICAgIkFHWERldmljZVVzZXJDbGllbnQiKSkKKwogICAgIChhbGxvdyBp
b2tpdC1nZXQtcHJvcGVydGllcwogICAgICAgICAoaW9raXQtcHJvcGVydHkgIklPR0xCdW5kbGVO
YW1lIikKICAgICAgICAgKGlva2l0LXByb3BlcnR5ICJJT0dMRVNCdW5kbGVOYW1lIikKQEAgLTI4
NCw5ICsyODksNiBAQAogICAgIChhbGxvdyBzeXNjdGwtcmVhZAogICAgICAgICAgICAoc3lzY3Rs
LW5hbWUgIyJrZXJuLmJvb3RzZXNzaW9udXVpZCIpKQogCi0gICAgKGFsbG93IG1hY2gtbG9va3Vw
ICh3aXRoIHJlcG9ydCkgKHdpdGggdGVsZW1ldHJ5KQotICAgICAgICAoeHBjLXNlcnZpY2UtbmFt
ZS1wcmVmaXggImNvbS5hcHBsZS5BR1hDb21waWxlclNlcnZpY2UiKSkKLQogICAgIChhbGxvdyBt
YWNoLWxvb2t1cAogICAgICAgIDs7IDxyZGFyOi8vcHJvYmxlbS80NzI2ODE2Nj4KICAgICAgICAo
eHBjLXNlcnZpY2UtbmFtZSAiY29tLmFwcGxlLk1UTENvbXBpbGVyU2VydmljZSIpKQpAQCAtOTQw
LDYgKzk0MiwyNCBAQAogICAgIChsaXRlcmFsICIvdXNyL2xvY2FsL2xpYi9sb2ciKSA7IDxyZGFy
Oi8vcHJvYmxlbS8zNjYyOTQ5NT4KICkKIAorKGFsbG93IGlva2l0LW9wZW4KKyAgICAocmVxdWly
ZS1hbGwKKyAgICAgICAgKGV4dGVuc2lvbiAiY29tLmFwcGxlLndlYmtpdC5leHRlbnNpb24uaW9r
aXQiKQorICAgICAgICAoaW9raXQtdXNlci1jbGllbnQtY2xhc3MKKyAgICAgICAgICAgICJBR1hD
b21tYW5kUXVldWUiCisgICAgICAgICAgICAiQUdYRGV2aWNlIgorICAgICAgICAgICAgIkFHWFNo
YXJlZFVzZXJDbGllbnQiCisgICAgICAgICAgICAiSU9BY2NlbENvbnRleHQiCisgICAgICAgICAg
ICAiSU9BY2NlbERldmljZSIKKyAgICAgICAgICAgICJJT0FjY2VsU2hhcmVkVXNlckNsaWVudCIK
KyAgICAgICAgICAgICJJT0FjY2VsU3VibWl0dGVyMiIKKyAgICAgICAgICAgICJJT0FjY2VsQ29u
dGV4dDIiCisgICAgICAgICAgICAiSU9BY2NlbERldmljZTIiCisgICAgICAgICAgICAiSU9BY2Nl
bFNoYXJlZFVzZXJDbGllbnQyIgorICAgICAgICApCisgICAgKQorKQorCiAoZGVueSBtYWNoLWxv
b2t1cCAod2l0aCBuby1sb2cpCiAgICAgKHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5hdWRp
by50b29sYm94LnJlcG9ydGluZy5zZXJ2aWNlIikKICkKQEAgLTk0Nyw3ICs5NjcsMTIgQEAKIChh
bGxvdyBtYWNoLWxvb2t1cAogICAgIChyZXF1aXJlLWFsbAogICAgICAgICAoZXh0ZW5zaW9uICJj
b20uYXBwbGUud2Via2l0LmV4dGVuc2lvbi5tYWNoIikKLSAgICAgICAgKGdsb2JhbC1uYW1lICJj
b20uYXBwbGUuaXBob25lLmF4c2VydmVyLXN5c3RlbXdpZGUiICJjb20uYXBwbGUudGNjZCIgImNv
bS5hcHBsZS5BR1hDb21waWxlclNlcnZpY2UiKSkpCisgICAgICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLmlwaG9uZS5heHNlcnZlci1zeXN0ZW13aWRlIiAiY29tLmFwcGxlLnRjY2QiKSkpCisK
KyhhbGxvdyBtYWNoLWxvb2t1cAorICAgIChyZXF1aXJlLWFsbAorICAgICAgICAoZXh0ZW5zaW9u
ICJjb20uYXBwbGUud2Via2l0LmV4dGVuc2lvbi5tYWNoIikKKyAgICAgICAgKHhwYy1zZXJ2aWNl
LW5hbWUtcHJlZml4ICJjb20uYXBwbGUuQUdYQ29tcGlsZXJTZXJ2aWNlIikpKQogCiAobWVkaWEt
Y2FwdHVyZS1zdXBwb3J0KQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCA2YmI3NTAyYjAzMmFjMTQ4NGM1NjhhMDdk
ZTVmZWIyZGY1NjYxNjA0Li4xMWQ0ZjhjZDMyYzljNzRkMGQwYjIzOWMzM2M4YzVmNDc4YTM5ZGFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9v
bENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
b29sQ29jb2EubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLTIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEw
LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0yMzQsMzYgKzIzNCw2IEBAIHN0YXRpYyBjb25zdCBWZWN0b3I8QVND
SUlMaXRlcmFsPiYgbm9uQnJvd3NlclNlcnZpY2VzKCkKICAgICB9KTsKICAgICByZXR1cm4gc2Vy
dmljZXM7CiB9Ci0KLXN0YXRpYyBjb25zdCBWZWN0b3I8QVNDSUlMaXRlcmFsPiYgYWd4Q29tcGls
ZXJDbGFzc2VzKCkKLXsKLSAgICBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsKLSAgICBzdGF0aWMg
Y29uc3QgYXV0byBpb2tpdENsYXNzZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVjdG9yPEFTQ0lJ
TGl0ZXJhbD4gewotICAgICAgICAiQUdYQ29tbWFuZFF1ZXVlIl9zLAotICAgICAgICAiQUdYRGV2
aWNlIl9zLAotICAgICAgICAiQUdYU2hhcmVkVXNlckNsaWVudCJfcywKLSAgICAgICAgIklPQWNj
ZWxDb250ZXh0Il9zLAotICAgICAgICAiSU9BY2NlbENvbnRleHQyIl9zLAotICAgICAgICAiSU9B
Y2NlbERldmljZSJfcywKLSAgICAgICAgIklPQWNjZWxEZXZpY2UyIl9zLAotICAgICAgICAiSU9B
Y2NlbFNoYXJlZFVzZXJDbGllbnQiX3MsCi0gICAgICAgICJJT0FjY2VsU2hhcmVkVXNlckNsaWVu
dDIiX3MsCi0gICAgICAgICJJT0FjY2VsU3VibWl0dGVyMiJfcywKLSAgICB9KTsKLSAgICByZXR1
cm4gaW9raXRDbGFzc2VzOwotfQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi1zdGF0aWMg
Y29uc3QgVmVjdG9yPEFTQ0lJTGl0ZXJhbD4mIGFneENvbXBpbGVyU2VydmljZXMoKQotewotICAg
IEFTU0VSVChpc01haW5SdW5Mb29wKCkpOwotICAgIHN0YXRpYyBjb25zdCBhdXRvIHNlcnZpY2Vz
ID0gbWFrZU5ldmVyRGVzdHJveWVkKFZlY3RvcjxBU0NJSUxpdGVyYWw+IHsKLSAgICAgICAgImNv
bS5hcHBsZS5BR1hDb21waWxlclNlcnZpY2UiX3MsCi0gICAgICAgICJjb20uYXBwbGUuQUdYQ29t
cGlsZXJTZXJ2aWNlLVMyQTgiX3MKLSAgICB9KTsKLSAgICByZXR1cm4gc2VydmljZXM7Ci19CiAj
ZW5kaWYKIAogc3RhdGljIGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBkaWFnbm9zdGljU2Vy
dmljZXMoKQpAQCAtNDAzLDcgKzM3Myw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3Jt
SW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzCiAgICAg
CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlmIChXZWJDb3JlOjpkZXZpY2VIYXNBR1hDb21waWxl
clNlcnZpY2UoKSkKLSAgICAgICAgcGFyYW1ldGVycy5jb21waWxlclNlcnZpY2VFeHRlbnNpb25I
YW5kbGVzID0gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlc0Zvck1hY2hMb29rdXAoYWd4
Q29tcGlsZXJTZXJ2aWNlcygpLCBXVEY6Om51bGxvcHQpOworICAgICAgICBwYXJhbWV0ZXJzLmNv
bXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZXMgPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVI
YW5kbGVzRm9yTWFjaExvb2t1cChXZWJDb3JlOjphZ3hDb21waWxlclNlcnZpY2VzKCksIFdURjo6
bnVsbG9wdCk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC00MTEsNyAr
MzgxLDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vz
cyhjb25zdCBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MKICAgICAgICAgcGFyYW1ldGVycy5keW5h
bWljTWFjaEV4dGVuc2lvbkhhbmRsZXMgPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVz
Rm9yTWFjaExvb2t1cChub25Ccm93c2VyU2VydmljZXMoKSwgV1RGOjpudWxsb3B0KTsKIAogICAg
IGlmIChXZWJDb3JlOjpkZXZpY2VIYXNBR1hDb21waWxlclNlcnZpY2UoKSkKLSAgICAgICAgcGFy
YW1ldGVycy5keW5hbWljSU9LaXRFeHRlbnNpb25IYW5kbGVzID0gU2FuZGJveEV4dGVuc2lvbjo6
Y3JlYXRlSGFuZGxlc0ZvcklPS2l0Q2xhc3NFeHRlbnNpb25zKGFneENvbXBpbGVyQ2xhc3Nlcygp
LCBXVEY6Om51bGxvcHQpOworICAgICAgICBwYXJhbWV0ZXJzLmR5bmFtaWNJT0tpdEV4dGVuc2lv
bkhhbmRsZXMgPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVzRm9ySU9LaXRDbGFzc0V4
dGVuc2lvbnMoV2ViQ29yZTo6YWd4Q29tcGlsZXJDbGFzc2VzKCksIFdURjo6bnVsbG9wdCk7CiAj
ZW5kaWYKIAogICAgIGlmIChpc0ludGVybmFsSW5zdGFsbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBlZmM4NTY3YjJjM2I1YzEy
YTc0ZWI4ZjgzMzQwOGJmZWI1NzVkNzYzLi42NWVkMzQ4YmRjZWU4MGMxYzVmNGNkMTA2YmNlMzhj
OWZjNDc0YTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJv
Y2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vz
c1Byb3h5LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkt
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzUG9vbC5o
IgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94
eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9BR1hDb21waWxlclNlcnZpY2UuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbmNsdWRlIDx3dGYvQ29t
cGxldGlvbkhhbmRsZXIuaD4KQEAgLTE4OCw2ICsxODksMTIgQEAgR1BVUHJvY2Vzc1Byb3h5OjpH
UFVQcm9jZXNzUHJveHkoKQogICAgIGlmICghY29udGFpbmVyVGVtcG9yYXJ5RGlyZWN0b3J5Lmlz
RW1wdHkoKSkKICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlV2l0aG91dFJl
c29sdmluZ1BhdGgoY29udGFpbmVyVGVtcG9yYXJ5RGlyZWN0b3J5LCBTYW5kYm94RXh0ZW5zaW9u
OjpUeXBlOjpSZWFkV3JpdGUsIHBhcmFtZXRlcnMuY29udGFpbmVyVGVtcG9yYXJ5RGlyZWN0b3J5
RXh0ZW5zaW9uSGFuZGxlKTsKICNlbmRpZgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAg
aWYgKFdlYkNvcmU6OmRldmljZUhhc0FHWENvbXBpbGVyU2VydmljZSgpKSB7CisgICAgICAgIHBh
cmFtZXRlcnMuY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlcyA9IFNhbmRib3hFeHRlbnNp
b246OmNyZWF0ZUhhbmRsZXNGb3JNYWNoTG9va3VwKFdlYkNvcmU6OmFneENvbXBpbGVyU2Vydmlj
ZXMoKSwgV1RGOjpudWxsb3B0KTsKKyAgICAgICAgcGFyYW1ldGVycy5keW5hbWljSU9LaXRFeHRl
bnNpb25IYW5kbGVzID0gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlc0ZvcklPS2l0Q2xh
c3NFeHRlbnNpb25zKFdlYkNvcmU6OmFneENvbXBpbGVyQ2xhc3NlcygpLCBXVEY6Om51bGxvcHQp
OworICAgIH0KKyNlbmRpZgogCiAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgR1BVIHByb2Nlc3MuCiAg
ICAgc2VuZChNZXNzYWdlczo6R1BVUHJvY2Vzczo6SW5pdGlhbGl6ZUdQVVByb2Nlc3MocGFyYW1l
dGVycyksIDApOwo=
</data>
<flag name="commit-queue"
          id="447418"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426967</attachid>
            <date>2021-04-23 17:01:58 -0700</date>
            <delta_ts>2021-04-26 09:55:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225004-20210423170157.patch</filename>
            <type>text/plain</type>
            <size>18361</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNkYmZkZDQzZGU2ODNl
OTZlMmI3NGY3YzE4NWUyMjRjNTdlNmMyNC4uNzhkMzRiZTA0ODBmZGQxYjNiNzRiMWQ4OGM0ODZl
ZWQyOGNhODc0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA0LTIzICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFtHUFVdIFRo
ZSBVSSBwcm9jZXNzIHNob3VsZCBpc3N1ZSB0aGUgbWFjaCBzYW5kYm94IGV4dGVuc2lvbiB0byAn
Y29tLmFwcGxlLkFHWENvbXBpbGVyU2VydmljZScgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUwMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY4
MzYyOTMwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluIEJ1ZyAyMDM5MTUgYW5kIEJ1ZyAyMTA2MTYgd2UgZGlkIHdvcmsgdG8gb25seSBleHRlbmQg
YWNjZXNzIHRvIEFHWC1yZWxhdGVkIGdyYXBoaWNzIGZhY2lsaXRpZXMgb24gcmVsZXZhbnQgaGFy
ZHdhcmUuIFRoaXMgd2FzCisgICAgICAgIGxvc3QgaW4gdGhlIHRyYW5zaXRpb24gdG8gdGhlIEdQ
VSBQcm9jZXNzIGFuZCBzaG91bGQgYmUgYWRkZWQgYmFjay4KKworICAgICAgICBUaGlzIGNoYW5n
ZSBtb3ZlcyB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgQUdYLXJlbGF0ZWQgc2VydmljZXMgYW5kIElP
S2l0IGNsYXNzZXMgdG8gdGhlIEFHWENvbXBpbGVyU2VydmljZSBjb21waWxhdGlvbiB1bml0IHNv
IHRoYXQKKyAgICAgICAgaXQgY2FuIGJlIHNoYXJlZCBieSB0aGUgV2ViQ29udGVudCBhbmQgR1BV
UHJvY2VzcyBjb2RlIHBhdGhzLgorCisgICAgICAgIFRlc3RlZCBieSBleGlzdGluZyBncmFwaGlj
cyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjphZ3hDb21waWxlclNlcnZpY2VzKToKKyAgICAgICAgKFdl
YkNvcmU6OmFneENvbXBpbGVyQ2xhc3Nlcyk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvQUdY
Q29tcGlsZXJTZXJ2aWNlLmg6CisKIDIwMjEtMDQtMjMgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1z
dGVhZEBzb255LmNvbT4KIAogICAgICAgICBBZGQgYWRkaXRpb25hbCBndWFyZHMgYXJvdW5kIFVT
RV9BTkdMRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCBjYjZiZjU2M2RmOWViZWZhMGQ1NjlkMzdlYjJjNGU0ZmY5NDM1
YzQzLi5mYjQ1NjAyMmZiNTc0YmUzZTJjYzhkNzQ5YmYwZWYwYTYxYTFmODAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDQxIEBACisyMDIxLTA0LTIzICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBw
bGUuY29tPgorCisgICAgICAgIFtpT1NdIFtHUFVdIFRoZSBVSSBwcm9jZXNzIHNob3VsZCBpc3N1
ZSB0aGUgbWFjaCBzYW5kYm94IGV4dGVuc2lvbiB0byAnY29tLmFwcGxlLkFHWENvbXBpbGVyU2Vy
dmljZScgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjUwMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY4MzYyOTMwPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIEJ1ZyAyMDM5MTUgYW5kIEJ1ZyAy
MTA2MTYgd2UgZGlkIHdvcmsgdG8gb25seSBleHRlbmQgYWNjZXNzIHRvIEFHWC1yZWxhdGVkIGdy
YXBoaWNzIGZhY2lsaXRpZXMgb24gcmVsZXZhbnQgaGFyZHdhcmUuIFRoaXMgd2FzCisgICAgICAg
IGxvc3QgaW4gdGhlIHRyYW5zaXRpb24gdG8gdGhlIEdQVSBQcm9jZXNzIGFuZCBzaG91bGQgYmUg
YWRkZWQgYmFjay4KKworICAgICAgICBUaGlzIGNoYW5nZSBkb2VzIHRoZSBmb2xsb3dpbmc6Cisg
ICAgICAgIDEuIEFkZHMgc2FuZGJveCBleHRlbnNpb24gaGFuZGxlcyBmb3IgdGhlIEFHWC1yZWxh
dGVkIGNvbXBpbGVyIHNlcnZpY2VzIGFuZCBJT0tpdCBjbGFzc2VzIHRvIHRoZSBHUFVQcm9jZXNz
IGNyZWF0aW9uIHBhcmFtZXRlcnMuCisgICAgICAgIDIuIFVwZGF0ZXMgdGhlIEdQVVByb2Nlc3NQ
cm94eSB0byBleHRlbmQgQUdYIGZlYXR1cmVzIHdoZW4gd2FycmFudGVkIGFuZCBhZGQgdGhlbSB0
byB0aGUgY3JlYXRpb24gcGFyYW1ldGVyIHN0cnVjdHVyZS4KKyAgICAgICAgMy4gVXBkYXRlcyB0
aGUgR1BVUHJvY2VzcyB0byBjb25zdW1lIHRoZSBleHRlbnNpb25zICh3aGVuIGdyYW50ZWQpLgor
ICAgICAgICA0LiBVcGRhdGVzIHRoZSBXZWJQcm9jZXNzUG9vbCB0byB1c2UgdGhlIFdlYkNvcmUg
dmVyc2lvbiBvZiB0aGUgJ2FneENvbXBpbGVyQ2xhc3NlcycgYW5kICdhZ3hDb21waWxlclNlcnZp
Y2VzJyBmdW5jdGlvbnMuCisgICAgICAgIDUuIE1vdmVzIHRoZSAnYWd4Q29tcGlsZXJDbGFzc2Vz
JyBhbmQgJ2FneENvbXBpbGVyU2VydmljZXMnIGZ1bmN0aW9ucyB0byBXZWJDb3JlLCBhbG9uZ3Np
ZGUgdGhlIG90aGVyIEFHWCBmdW5jdGlvbnMuCisKKyAgICAgICAgSXQgYWxzbyBjb3JyZWN0cyB0
aGUgc2FuZGJveCBydWxlIGZvciB0aGUgQUdYQ29tcGlsZXJTZXJ2aWNlIGluIHRoZSBHUFUgUHJv
Y2VzcyBzYW5kYm94LCB3aGljaCBpbmNvcnJlY3RseSBjYWxsZWQgaXQgYSAnZ2xvYmFsLW5hbWUn
LAorICAgICAgICB3aGVuIGl0IGlzIGFuIHhwYy1zZXJ2aWNlLgorCisgICAgICAgIFRlc3RlZCBi
eSBleGlzdGluZyBncmFwaGljcyB0ZXN0cy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9j
ZXNzKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNv
ZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oOgorICAgICAgICAqIFJlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBs
ZS5XZWJLaXQuR1BVLnNiOiBDb3JyZWN0IEFHWCBjb21waWxlciBzZXJ2aWNlIHR5cGUuCisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChX
ZWJLaXQ6Om5vbkJyb3dzZXJTZXJ2aWNlcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6YWd4
Q29tcGlsZXJDbGFzc2VzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6YWd4Q29tcGlsZXJT
ZXJ2aWNlcyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OkdQVVByb2Nlc3NQcm94
eSk6CisKIDIwMjEtMDQtMjMgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc1NTYyLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5jcHAKaW5kZXgg
YWQyMDM3NzAwYWM1ZjFlNjMxYWMwN2M5ZmFlYjc0ODYzY2UwYTEzOS4uNTgxNjg1MjgyMjVhMDQ3
MDc3MWZiN2E1ZmIzZjBhMmZmZjAyZGM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9BR1hDb21waWxlclNlcnZpY2UuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyog
Q29weXJpZ2h0IChDKSAyMDIwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
KgogKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw3ICsyOSw5IEBACiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKIAogI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjaW5jbHVkZSA8d3Rm
L05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvQVNDSUlMaXRlcmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTcs
NiArNTksMzQgQEAgYm9vbCBkZXZpY2VIYXNBR1hDb21waWxlclNlcnZpY2UoKQogICAgIHJldHVy
biAqaGFzQUdYQ29tcGlsZXJTZXJ2aWNlOwogfQogCitjb25zdCBWZWN0b3I8QVNDSUlMaXRlcmFs
PiYgYWd4Q29tcGlsZXJTZXJ2aWNlcygpCit7CisgICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7
CisgICAgc3RhdGljIGNvbnN0IGF1dG8gc2VydmljZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVj
dG9yPEFTQ0lJTGl0ZXJhbD4geworICAgICAgICAiY29tLmFwcGxlLkFHWENvbXBpbGVyU2Vydmlj
ZSJfcywKKyAgICAgICAgImNvbS5hcHBsZS5BR1hDb21waWxlclNlcnZpY2UtUzJBOCJfcworICAg
IH0pOworICAgIHJldHVybiBzZXJ2aWNlczsKK30KKworY29uc3QgVmVjdG9yPEFTQ0lJTGl0ZXJh
bD4mIGFneENvbXBpbGVyQ2xhc3NlcygpCit7CisgICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7
CisgICAgc3RhdGljIGNvbnN0IGF1dG8gaW9raXRDbGFzc2VzID0gbWFrZU5ldmVyRGVzdHJveWVk
KFZlY3RvcjxBU0NJSUxpdGVyYWw+IHsKKyAgICAgICAgIkFHWENvbW1hbmRRdWV1ZSJfcywKKyAg
ICAgICAgIkFHWERldmljZSJfcywKKyAgICAgICAgIkFHWFNoYXJlZFVzZXJDbGllbnQiX3MsCisg
ICAgICAgICJJT0FjY2VsQ29udGV4dCJfcywKKyAgICAgICAgIklPQWNjZWxDb250ZXh0MiJfcywK
KyAgICAgICAgIklPQWNjZWxEZXZpY2UiX3MsCisgICAgICAgICJJT0FjY2VsRGV2aWNlMiJfcywK
KyAgICAgICAgIklPQWNjZWxTaGFyZWRVc2VyQ2xpZW50Il9zLAorICAgICAgICAiSU9BY2NlbFNo
YXJlZFVzZXJDbGllbnQyIl9zLAorICAgICAgICAiSU9BY2NlbFN1Ym1pdHRlcjIiX3MsCisgICAg
fSk7CisgICAgcmV0dXJuIGlva2l0Q2xhc3NlczsKK30KKwogfQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKaW5kZXgg
OTVmMjJkZmRlMWZiMmY1MDhlZGQ1NWIxMDg1ZDJmOWIyNDllYmNhMi4uOTIxMzdiODJkYjUyMGI2
OTlkNWM3MDk2YmU4ZmVmNDk0NjU2YjYyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKiBDb3B5
cmlnaHQgKEMpIDIwMjAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqCiAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDkgKzI1LDIzIEBACiAKICNwcmFnbWEgb25j
ZQogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
KworbmFtZXNwYWNlIFdURiB7CisKK2NsYXNzIEFTQ0lJTGl0ZXJhbDsKKworfQorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIFdFQkNPUkVfRVhQT1JUIGJvb2wgZGV2aWNlSGFzQUdYQ29tcGlsZXJT
ZXJ2aWNlKCk7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldERldmljZUhhc0FHWENvbXBpbGVyU2Vy
dmljZUZvclRlc3RpbmcoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVy
YWw+JiBhZ3hDb21waWxlclNlcnZpY2VzKCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBWZWN0b3I8
QVNDSUlMaXRlcmFsPiYgYWd4Q29tcGlsZXJDbGFzc2VzKCk7CiAKIH0KKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXggZWY5NzU1ZTRjNTk1NGM3MDg0
ZDU2MjlhOWJmMWFiODFiMTVjNTdjZi4uZDBkYTQ4ZDRiZjc1MzgwN2RhMDVjMzk1YjMzMzI1M2Ji
ZWI0Yzk0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3Mu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMjAsNiAr
MjIwLDEwIEBAIHZvaWQgR1BVUHJvY2Vzczo6aW5pdGlhbGl6ZUdQVVByb2Nlc3MoR1BVUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgU2FuZGJveEV4dGVuc2lvbjo6
Y29uc3VtZVBlcm1hbmVudGx5KHBhcmFtZXRlcnMuY29udGFpbmVyQ2FjaGVzRGlyZWN0b3J5RXh0
ZW5zaW9uSGFuZGxlKTsKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHko
cGFyYW1ldGVycy5jb250YWluZXJUZW1wb3JhcnlEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwog
I2VuZGlmCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpj
b25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVycy5jb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5k
bGVzKTsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVy
cy5keW5hbWljSU9LaXRFeHRlbnNpb25IYW5kbGVzKTsKKyNlbmRpZgogCiAjaWYgSEFWRShDR0lN
QUdFU09VUkNFX1dJVEhfU0VUX0FMTE9XQUJMRV9UWVBFUykKICAgICBhdXRvIGVtcHR5QXJyYXkg
PSBhZG9wdENGKENGQXJyYXlDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgbnVsbHB0ciwgMCwg
JmtDRlR5cGVBcnJheUNhbGxCYWNrcykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDVjZTY0NWU4
NzI5ODZlZjdiZWY4NjhkYWIyZjUxN2EzMmE5ZjUyMWEuLmUyMmQ5ZGFhOGRmOTM2MTEwMmJlZDEw
NzMzMzY4MDQxNmUyNWQxZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjEsNiArNjEsMTAgQEAgdm9p
ZCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNv
ZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgY29udGFpbmVyQ2FjaGVzRGlyZWN0b3J5RXh0ZW5z
aW9uSGFuZGxlOwogICAgIGVuY29kZXIgPDwgY29udGFpbmVyVGVtcG9yYXJ5RGlyZWN0b3J5RXh0
ZW5zaW9uSGFuZGxlOwogI2VuZGlmCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBlbmNv
ZGVyIDw8IGNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZXM7CisgICAgZW5jb2RlciA8PCBk
eW5hbWljSU9LaXRFeHRlbnNpb25IYW5kbGVzOworI2VuZGlmCiB9CiAKIGJvb2wgR1BVUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgR1BVUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcmVzdWx0KQpAQCAtMTAxLDYgKzEwNSwxOSBAQCBib29s
IEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29k
ZXIsIEdQVVByb2Nlc3NDcmVhdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmVzdWx0LmNv
bnRhaW5lclRlbXBvcmFyeURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoKmNvbnRh
aW5lclRlbXBvcmFyeURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7CiAjZW5kaWYKKyNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQorICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFy
cmF5PiBjb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGVzOworICAgIGRlY29kZXIgPj4gY29t
cGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlczsKKyAgICBpZiAoIWNvbXBpbGVyU2VydmljZUV4
dGVuc2lvbkhhbmRsZXMpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXN1bHQuY29tcGls
ZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlcyA9IFdURk1vdmUoKmNvbXBpbGVyU2VydmljZUV4dGVu
c2lvbkhhbmRsZXMpOworCisgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJy
YXk+IGR5bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRsZXM7CisgICAgZGVjb2RlciA+PiBkeW5hbWlj
SU9LaXRFeHRlbnNpb25IYW5kbGVzOworICAgIGlmICghZHluYW1pY0lPS2l0RXh0ZW5zaW9uSGFu
ZGxlcykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC5keW5hbWljSU9LaXRFeHRl
bnNpb25IYW5kbGVzID0gV1RGTW92ZSgqZHluYW1pY0lPS2l0RXh0ZW5zaW9uSGFuZGxlcyk7Cisj
ZW5kaWYKIAogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggZDMxMzcxYjQ5
ZWNhNzBiYWY4NTIwYTE2N2QzOTBmOTQwYThlMDNmZS4uNzZmY2IwOGVlZmRkOTZjNThlZDhlMzA4
MzVlOTlkNDUxN2IyNjk5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTktMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU5LDYgKzU5LDEwIEBAIHN0cnVjdCBH
UFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5k
bGUgY29udGFpbmVyQ2FjaGVzRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlOwogICAgIFNhbmRib3hF
eHRlbnNpb246OkhhbmRsZSBjb250YWluZXJUZW1wb3JhcnlEaXJlY3RvcnlFeHRlbnNpb25IYW5k
bGU7CiAjZW5kaWYKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIFNhbmRib3hFeHRlbnNp
b246OkhhbmRsZUFycmF5IGNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZXM7CisgICAgU2Fu
ZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkgZHluYW1pY0lPS2l0RXh0ZW5zaW9uSGFuZGxlczsK
KyNlbmRpZgogCiAgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CiAgICAgc3Rh
dGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShJUEM6OkRlY29kZXImLCBHUFVQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Jlc291
cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiIGIvU291cmNl
L1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LkdQ
VS5zYgppbmRleCBlMzFhZDM2ZmM4ZDYwM2UyMjA3YjgyODQzM2Q0YjA5NGNhNmE3NTc3Li42Yjk2
NGU2YjM4MDIyMTYwOGU5ZTU0Mzc5ZTUxY2ZkYTk1Mjg0N2MxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BV
LnNiCisrKyBiL1NvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29t
LmFwcGxlLldlYktpdC5HUFUuc2IKQEAgLTEsNCArMSw0IEBACi07IENvcHlyaWdodCAoQykgMjAx
MC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKzsgQ29weXJpZ2h0IChDKSAy
MDEwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOwogOyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
IDsgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0yNTcsMTIgKzI1NywxMiBAQAogOzs7IERlY2xhcmUgdGhhdCB0aGUg
YXBwbGljYXRpb24gdXNlcyB0aGUgT3BlbkdMLCBNZXRhbCwgYW5kIENvcmVNTCBoYXJkd2FyZSAm
IGZyYW1ld29ya3MuCiA7OzsKIChkZWZpbmUtb25jZSAob3BlbmdsKQotICAgIChhbGxvdyBpb2tp
dC1vcGVuCisgICAgOzsgSXRlbXMgbm90IHNlZW4gaW4gdGVzdGluZworICAgIChkZW55IGlva2l0
LW9wZW4gKHdpdGggdGVsZW1ldHJ5KQogICAgICAgICAgICAoaW9raXQtY29ubmVjdGlvbiAiSU9H
UFUiKQogICAgICAgICAgICAoaW9raXQtdXNlci1jbGllbnQtY2xhc3MKICAgICAgICAgICAgICAg
ICAiQUdYQ29tbWFuZFF1ZXVlIgogICAgICAgICAgICAgICAgICJBR1hEZXZpY2UiCi0gICAgICAg
ICAgICAgICAgIkFHWERldmljZVVzZXJDbGllbnQiCiAgICAgICAgICAgICAgICAgIkFHWFNoYXJl
ZFVzZXJDbGllbnQiCiAgICAgICAgICAgICAgICAgIklPQWNjZWxDb250ZXh0IgogICAgICAgICAg
ICAgICAgICJJT0FjY2VsRGV2aWNlIgpAQCAtMjcyLDYgKzI3MiwxMSBAQAogICAgICAgICAgICAg
ICAgICJJT0FjY2VsRGV2aWNlMiIKICAgICAgICAgICAgICAgICAiSU9BY2NlbFNoYXJlZFVzZXJD
bGllbnQyIikpCiAKKyAgICAoYWxsb3cgaW9raXQtb3BlbgorICAgICAgICAgICAoaW9raXQtY29u
bmVjdGlvbiAiSU9HUFUiKQorICAgICAgICAgICAoaW9raXQtdXNlci1jbGllbnQtY2xhc3MKKyAg
ICAgICAgICAgICAgICAiQUdYRGV2aWNlVXNlckNsaWVudCIpKQorCiAgICAgKGFsbG93IGlva2l0
LWdldC1wcm9wZXJ0aWVzCiAgICAgICAgIChpb2tpdC1wcm9wZXJ0eSAiSU9HTEJ1bmRsZU5hbWUi
KQogICAgICAgICAoaW9raXQtcHJvcGVydHkgIklPR0xFU0J1bmRsZU5hbWUiKQpAQCAtMjg0LDkg
KzI4OSw2IEBACiAgICAgKGFsbG93IHN5c2N0bC1yZWFkCiAgICAgICAgICAgIChzeXNjdGwtbmFt
ZSAjImtlcm4uYm9vdHNlc3Npb251dWlkIikpCiAKLSAgICAoYWxsb3cgbWFjaC1sb29rdXAgKHdp
dGggcmVwb3J0KSAod2l0aCB0ZWxlbWV0cnkpCi0gICAgICAgICh4cGMtc2VydmljZS1uYW1lLXBy
ZWZpeCAiY29tLmFwcGxlLkFHWENvbXBpbGVyU2VydmljZSIpKQotCiAgICAgKGFsbG93IG1hY2gt
bG9va3VwCiAgICAgICAgOzsgPHJkYXI6Ly9wcm9ibGVtLzQ3MjY4MTY2PgogICAgICAgICh4cGMt
c2VydmljZS1uYW1lICJjb20uYXBwbGUuTVRMQ29tcGlsZXJTZXJ2aWNlIikpCkBAIC05NDAsNiAr
OTQyLDI0IEBACiAgICAgKGxpdGVyYWwgIi91c3IvbG9jYWwvbGliL2xvZyIpIDsgPHJkYXI6Ly9w
cm9ibGVtLzM2NjI5NDk1PgogKQogCisoYWxsb3cgaW9raXQtb3BlbgorICAgIChyZXF1aXJlLWFs
bAorICAgICAgICAoZXh0ZW5zaW9uICJjb20uYXBwbGUud2Via2l0LmV4dGVuc2lvbi5pb2tpdCIp
CisgICAgICAgIChpb2tpdC11c2VyLWNsaWVudC1jbGFzcworICAgICAgICAgICAgIkFHWENvbW1h
bmRRdWV1ZSIKKyAgICAgICAgICAgICJBR1hEZXZpY2UiCisgICAgICAgICAgICAiQUdYU2hhcmVk
VXNlckNsaWVudCIKKyAgICAgICAgICAgICJJT0FjY2VsQ29udGV4dCIKKyAgICAgICAgICAgICJJ
T0FjY2VsRGV2aWNlIgorICAgICAgICAgICAgIklPQWNjZWxTaGFyZWRVc2VyQ2xpZW50IgorICAg
ICAgICAgICAgIklPQWNjZWxTdWJtaXR0ZXIyIgorICAgICAgICAgICAgIklPQWNjZWxDb250ZXh0
MiIKKyAgICAgICAgICAgICJJT0FjY2VsRGV2aWNlMiIKKyAgICAgICAgICAgICJJT0FjY2VsU2hh
cmVkVXNlckNsaWVudDIiCisgICAgICAgICkKKyAgICApCispCisKIChkZW55IG1hY2gtbG9va3Vw
ICh3aXRoIG5vLWxvZykKICAgICAoeHBjLXNlcnZpY2UtbmFtZSAiY29tLmFwcGxlLmF1ZGlvLnRv
b2xib3gucmVwb3J0aW5nLnNlcnZpY2UiKQogKQpAQCAtOTQ3LDcgKzk2NywxMiBAQAogKGFsbG93
IG1hY2gtbG9va3VwCiAgICAgKHJlcXVpcmUtYWxsCiAgICAgICAgIChleHRlbnNpb24gImNvbS5h
cHBsZS53ZWJraXQuZXh0ZW5zaW9uLm1hY2giKQotICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5h
cHBsZS5pcGhvbmUuYXhzZXJ2ZXItc3lzdGVtd2lkZSIgImNvbS5hcHBsZS50Y2NkIiAiY29tLmFw
cGxlLkFHWENvbXBpbGVyU2VydmljZSIpKSkKKyAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUuaXBob25lLmF4c2VydmVyLXN5c3RlbXdpZGUiICJjb20uYXBwbGUudGNjZCIpKSkKKworKGFs
bG93IG1hY2gtbG9va3VwCisgICAgKHJlcXVpcmUtYWxsCisgICAgICAgIChleHRlbnNpb24gImNv
bS5hcHBsZS53ZWJraXQuZXh0ZW5zaW9uLm1hY2giKQorICAgICAgICAoeHBjLXNlcnZpY2UtbmFt
ZS1wcmVmaXggImNvbS5hcHBsZS5BR1hDb21waWxlclNlcnZpY2UiKSkpCiAKIChtZWRpYS1jYXB0
dXJlLXN1cHBvcnQpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDZiYjc1MDJiMDMyYWMxNDg0YzU2OGEwN2RlNWZl
YjJkZjU2NjE2MDQuLjExZDRmOGNkMzJjOWM3NGQwZDBiMjM5YzMzYzhjNWY0NzhhMzlkYWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xD
b2NvYS5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTIzNCwzNiArMjM0LDYgQEAgc3RhdGljIGNvbnN0IFZlY3RvcjxBU0NJSUxp
dGVyYWw+JiBub25Ccm93c2VyU2VydmljZXMoKQogICAgIH0pOwogICAgIHJldHVybiBzZXJ2aWNl
czsKIH0KLQotc3RhdGljIGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBhZ3hDb21waWxlckNs
YXNzZXMoKQotewotICAgIEFTU0VSVChpc01haW5SdW5Mb29wKCkpOwotICAgIHN0YXRpYyBjb25z
dCBhdXRvIGlva2l0Q2xhc3NlcyA9IG1ha2VOZXZlckRlc3Ryb3llZChWZWN0b3I8QVNDSUlMaXRl
cmFsPiB7Ci0gICAgICAgICJBR1hDb21tYW5kUXVldWUiX3MsCi0gICAgICAgICJBR1hEZXZpY2Ui
X3MsCi0gICAgICAgICJBR1hTaGFyZWRVc2VyQ2xpZW50Il9zLAotICAgICAgICAiSU9BY2NlbENv
bnRleHQiX3MsCi0gICAgICAgICJJT0FjY2VsQ29udGV4dDIiX3MsCi0gICAgICAgICJJT0FjY2Vs
RGV2aWNlIl9zLAotICAgICAgICAiSU9BY2NlbERldmljZTIiX3MsCi0gICAgICAgICJJT0FjY2Vs
U2hhcmVkVXNlckNsaWVudCJfcywKLSAgICAgICAgIklPQWNjZWxTaGFyZWRVc2VyQ2xpZW50MiJf
cywKLSAgICAgICAgIklPQWNjZWxTdWJtaXR0ZXIyIl9zLAotICAgIH0pOwotICAgIHJldHVybiBp
b2tpdENsYXNzZXM7Ci19Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykKLXN0YXRpYyBjb25z
dCBWZWN0b3I8QVNDSUlMaXRlcmFsPiYgYWd4Q29tcGlsZXJTZXJ2aWNlcygpCi17Ci0gICAgQVNT
RVJUKGlzTWFpblJ1bkxvb3AoKSk7Ci0gICAgc3RhdGljIGNvbnN0IGF1dG8gc2VydmljZXMgPSBt
YWtlTmV2ZXJEZXN0cm95ZWQoVmVjdG9yPEFTQ0lJTGl0ZXJhbD4gewotICAgICAgICAiY29tLmFw
cGxlLkFHWENvbXBpbGVyU2VydmljZSJfcywKLSAgICAgICAgImNvbS5hcHBsZS5BR1hDb21waWxl
clNlcnZpY2UtUzJBOCJfcwotICAgIH0pOwotICAgIHJldHVybiBzZXJ2aWNlczsKLX0KICNlbmRp
ZgogCiBzdGF0aWMgY29uc3QgVmVjdG9yPEFTQ0lJTGl0ZXJhbD4mIGRpYWdub3N0aWNTZXJ2aWNl
cygpCkBAIC00MDMsNyArMzczLDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0
aWFsaXplV2ViUHJvY2Vzcyhjb25zdCBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MKICAgICAKICNp
ZiBQTEFURk9STShJT1MpCiAgICAgaWYgKFdlYkNvcmU6OmRldmljZUhhc0FHWENvbXBpbGVyU2Vy
dmljZSgpKQotICAgICAgICBwYXJhbWV0ZXJzLmNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRs
ZXMgPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVzRm9yTWFjaExvb2t1cChhZ3hDb21w
aWxlclNlcnZpY2VzKCksIFdURjo6bnVsbG9wdCk7CisgICAgICAgIHBhcmFtZXRlcnMuY29tcGls
ZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlcyA9IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRs
ZXNGb3JNYWNoTG9va3VwKFdlYkNvcmU6OmFneENvbXBpbGVyU2VydmljZXMoKSwgV1RGOjpudWxs
b3B0KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTQxMSw3ICszODEs
NyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKGNv
bnN0IFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcwogICAgICAgICBwYXJhbWV0ZXJzLmR5bmFtaWNN
YWNoRXh0ZW5zaW9uSGFuZGxlcyA9IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZXNGb3JN
YWNoTG9va3VwKG5vbkJyb3dzZXJTZXJ2aWNlcygpLCBXVEY6Om51bGxvcHQpOwogCiAgICAgaWYg
KFdlYkNvcmU6OmRldmljZUhhc0FHWENvbXBpbGVyU2VydmljZSgpKQotICAgICAgICBwYXJhbWV0
ZXJzLmR5bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRsZXMgPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVh
dGVIYW5kbGVzRm9ySU9LaXRDbGFzc0V4dGVuc2lvbnMoYWd4Q29tcGlsZXJDbGFzc2VzKCksIFdU
Rjo6bnVsbG9wdCk7CisgICAgICAgIHBhcmFtZXRlcnMuZHluYW1pY0lPS2l0RXh0ZW5zaW9uSGFu
ZGxlcyA9IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZXNGb3JJT0tpdENsYXNzRXh0ZW5z
aW9ucyhXZWJDb3JlOjphZ3hDb21waWxlckNsYXNzZXMoKSwgV1RGOjpudWxsb3B0KTsKICNlbmRp
ZgogCiAgICAgaWYgKGlzSW50ZXJuYWxJbnN0YWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCmluZGV4IGVmYzg1NjdiMmMzYjVjMTJhNzRl
YjhmODMzNDA4YmZlYjU3NWQ3NjMuLjY1ZWQzNDhiZGNlZTgwYzFjNWY0Y2QxMDZiY2UzOGM5ZmM0
NzRhNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOS0yMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOS0yMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sLmgiCiAj
aW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5TWVz
c2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0FHWENvbXBpbGVyU2VydmljZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0
aW9uSGFuZGxlci5oPgpAQCAtMTg4LDYgKzE4OSwxMiBAQCBHUFVQcm9jZXNzUHJveHk6OkdQVVBy
b2Nlc3NQcm94eSgpCiAgICAgaWYgKCFjb250YWluZXJUZW1wb3JhcnlEaXJlY3RvcnkuaXNFbXB0
eSgpKQogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVXaXRob3V0UmVzb2x2
aW5nUGF0aChjb250YWluZXJUZW1wb3JhcnlEaXJlY3RvcnksIFNhbmRib3hFeHRlbnNpb246OlR5
cGU6OlJlYWRXcml0ZSwgcGFyYW1ldGVycy5jb250YWluZXJUZW1wb3JhcnlEaXJlY3RvcnlFeHRl
bnNpb25IYW5kbGUpOwogI2VuZGlmCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBpZiAo
V2ViQ29yZTo6ZGV2aWNlSGFzQUdYQ29tcGlsZXJTZXJ2aWNlKCkpIHsKKyAgICAgICAgcGFyYW1l
dGVycy5jb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGVzID0gU2FuZGJveEV4dGVuc2lvbjo6
Y3JlYXRlSGFuZGxlc0Zvck1hY2hMb29rdXAoV2ViQ29yZTo6YWd4Q29tcGlsZXJTZXJ2aWNlcygp
LCBXVEY6Om51bGxvcHQpOworICAgICAgICBwYXJhbWV0ZXJzLmR5bmFtaWNJT0tpdEV4dGVuc2lv
bkhhbmRsZXMgPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVzRm9ySU9LaXRDbGFzc0V4
dGVuc2lvbnMoV2ViQ29yZTo6YWd4Q29tcGlsZXJDbGFzc2VzKCksIFdURjo6bnVsbG9wdCk7Cisg
ICAgfQorI2VuZGlmCiAKICAgICAvLyBJbml0aWFsaXplIHRoZSBHUFUgcHJvY2Vzcy4KICAgICBz
ZW5kKE1lc3NhZ2VzOjpHUFVQcm9jZXNzOjpJbml0aWFsaXplR1BVUHJvY2VzcyhwYXJhbWV0ZXJz
KSwgMCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427061</attachid>
            <date>2021-04-26 09:55:30 -0700</date>
            <delta_ts>2021-04-26 17:54:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225004-20210426095529.patch</filename>
            <type>text/plain</type>
            <size>18218</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNkYmZkZDQzZGU2ODNl
OTZlMmI3NGY3YzE4NWUyMjRjNTdlNmMyNC4uNzk2NjZiYjdkYzk5Nzc5NzY0Njc3MDE3MjA2YWI5
ZjU3ZGVjZTY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA0LTI2ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFtHUFVdIFRo
ZSBVSSBwcm9jZXNzIHNob3VsZCBpc3N1ZSB0aGUgbWFjaCBzYW5kYm94IGV4dGVuc2lvbiB0byAn
Y29tLmFwcGxlLkFHWENvbXBpbGVyU2VydmljZScgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUwMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY4
MzYyOTMwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluIEJ1ZyAyMDM5MTUgYW5kIEJ1ZyAyMTA2MTYgd2UgZGlkIHdvcmsgdG8gb25seSBleHRlbmQg
YWNjZXNzIHRvIEFHWC1yZWxhdGVkIGdyYXBoaWNzIGZhY2lsaXRpZXMgb24gcmVsZXZhbnQgaGFy
ZHdhcmUuIFRoaXMgd2FzCisgICAgICAgIGxvc3QgaW4gdGhlIHRyYW5zaXRpb24gdG8gdGhlIEdQ
VSBQcm9jZXNzIGFuZCBzaG91bGQgYmUgYWRkZWQgYmFjay4KKworICAgICAgICBUaGlzIGNoYW5n
ZSBtb3ZlcyB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgQUdYLXJlbGF0ZWQgc2VydmljZXMgYW5kIElP
S2l0IGNsYXNzZXMgdG8gdGhlIEFHWENvbXBpbGVyU2VydmljZSBjb21waWxhdGlvbiB1bml0IHNv
IHRoYXQKKyAgICAgICAgaXQgY2FuIGJlIHNoYXJlZCBieSB0aGUgV2ViQ29udGVudCBhbmQgR1BV
UHJvY2VzcyBjb2RlIHBhdGhzLgorCisgICAgICAgIFRlc3RlZCBieSBleGlzdGluZyBncmFwaGlj
cyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjphZ3hDb21waWxlclNlcnZpY2VzKToKKyAgICAgICAgKFdl
YkNvcmU6OmFneENvbXBpbGVyQ2xhc3Nlcyk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvQUdY
Q29tcGlsZXJTZXJ2aWNlLmg6CisKIDIwMjEtMDQtMjMgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1z
dGVhZEBzb255LmNvbT4KIAogICAgICAgICBBZGQgYWRkaXRpb25hbCBndWFyZHMgYXJvdW5kIFVT
RV9BTkdMRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCBjYjZiZjU2M2RmOWViZWZhMGQ1NjlkMzdlYjJjNGU0ZmY5NDM1
YzQzLi5jZTYwM2Y4NTk5MDYwYThhNzU2OTcyMGQ5ZDBhMGNmOWQ1ZGRjNWQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDQxIEBACisyMDIxLTA0LTI2ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBw
bGUuY29tPgorCisgICAgICAgIFtpT1NdIFtHUFVdIFRoZSBVSSBwcm9jZXNzIHNob3VsZCBpc3N1
ZSB0aGUgbWFjaCBzYW5kYm94IGV4dGVuc2lvbiB0byAnY29tLmFwcGxlLkFHWENvbXBpbGVyU2Vy
dmljZScgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjUwMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY4MzYyOTMwPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIEJ1ZyAyMDM5MTUgYW5kIEJ1ZyAy
MTA2MTYgd2UgZGlkIHdvcmsgdG8gb25seSBleHRlbmQgYWNjZXNzIHRvIEFHWC1yZWxhdGVkIGdy
YXBoaWNzIGZhY2lsaXRpZXMgb24gcmVsZXZhbnQgaGFyZHdhcmUuIFRoaXMgd2FzCisgICAgICAg
IGxvc3QgaW4gdGhlIHRyYW5zaXRpb24gdG8gdGhlIEdQVSBQcm9jZXNzIGFuZCBzaG91bGQgYmUg
YWRkZWQgYmFjay4KKworICAgICAgICBUaGlzIGNoYW5nZSBkb2VzIHRoZSBmb2xsb3dpbmc6Cisg
ICAgICAgIDEuIEFkZHMgc2FuZGJveCBleHRlbnNpb24gaGFuZGxlcyBmb3IgdGhlIEFHWC1yZWxh
dGVkIGNvbXBpbGVyIHNlcnZpY2VzIGFuZCBJT0tpdCBjbGFzc2VzIHRvIHRoZSBHUFVQcm9jZXNz
IGNyZWF0aW9uIHBhcmFtZXRlcnMuCisgICAgICAgIDIuIFVwZGF0ZXMgdGhlIEdQVVByb2Nlc3NQ
cm94eSB0byBleHRlbmQgQUdYIGZlYXR1cmVzIHdoZW4gd2FycmFudGVkIGFuZCBhZGQgdGhlbSB0
byB0aGUgY3JlYXRpb24gcGFyYW1ldGVyIHN0cnVjdHVyZS4KKyAgICAgICAgMy4gVXBkYXRlcyB0
aGUgR1BVUHJvY2VzcyB0byBjb25zdW1lIHRoZSBleHRlbnNpb25zICh3aGVuIGdyYW50ZWQpLgor
ICAgICAgICA0LiBVcGRhdGVzIHRoZSBXZWJQcm9jZXNzUG9vbCB0byB1c2UgdGhlIFdlYkNvcmUg
dmVyc2lvbiBvZiB0aGUgJ2FneENvbXBpbGVyQ2xhc3NlcycgYW5kICdhZ3hDb21waWxlclNlcnZp
Y2VzJyBmdW5jdGlvbnMuCisgICAgICAgIDUuIE1vdmVzIHRoZSAnYWd4Q29tcGlsZXJDbGFzc2Vz
JyBhbmQgJ2FneENvbXBpbGVyU2VydmljZXMnIGZ1bmN0aW9ucyB0byBXZWJDb3JlLCBhbG9uZ3Np
ZGUgdGhlIG90aGVyIEFHWCBmdW5jdGlvbnMuCisKKyAgICAgICAgSXQgYWxzbyBjb3JyZWN0cyB0
aGUgc2FuZGJveCBydWxlIGZvciB0aGUgQUdYQ29tcGlsZXJTZXJ2aWNlIGluIHRoZSBHUFUgUHJv
Y2VzcyBzYW5kYm94LCB3aGljaCBpbmNvcnJlY3RseSBjYWxsZWQgaXQgYSAnZ2xvYmFsLW5hbWUn
LAorICAgICAgICB3aGVuIGl0IGlzIGFuIHhwYy1zZXJ2aWNlLgorCisgICAgICAgIFRlc3RlZCBi
eSBleGlzdGluZyBncmFwaGljcyB0ZXN0cy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9j
ZXNzKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNv
ZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oOgorICAgICAgICAqIFJlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBs
ZS5XZWJLaXQuR1BVLnNiOiBDb3JyZWN0IEFHWCBjb21waWxlciBzZXJ2aWNlIHR5cGUuCisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChX
ZWJLaXQ6Om5vbkJyb3dzZXJTZXJ2aWNlcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6YWd4
Q29tcGlsZXJDbGFzc2VzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6YWd4Q29tcGlsZXJT
ZXJ2aWNlcyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OkdQVVByb2Nlc3NQcm94
eSk6CisKIDIwMjEtMDQtMjMgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc1NTYyLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5jcHAKaW5kZXgg
YWQyMDM3NzAwYWM1ZjFlNjMxYWMwN2M5ZmFlYjc0ODYzY2UwYTEzOS4uNTgxNjg1MjgyMjVhMDQ3
MDc3MWZiN2E1ZmIzZjBhMmZmZjAyZGM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9BR1hDb21waWxlclNlcnZpY2UuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyog
Q29weXJpZ2h0IChDKSAyMDIwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
KgogKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw3ICsyOSw5IEBACiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKIAogI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjaW5jbHVkZSA8d3Rm
L05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvQVNDSUlMaXRlcmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTcs
NiArNTksMzQgQEAgYm9vbCBkZXZpY2VIYXNBR1hDb21waWxlclNlcnZpY2UoKQogICAgIHJldHVy
biAqaGFzQUdYQ29tcGlsZXJTZXJ2aWNlOwogfQogCitjb25zdCBWZWN0b3I8QVNDSUlMaXRlcmFs
PiYgYWd4Q29tcGlsZXJTZXJ2aWNlcygpCit7CisgICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7
CisgICAgc3RhdGljIGNvbnN0IGF1dG8gc2VydmljZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVj
dG9yPEFTQ0lJTGl0ZXJhbD4geworICAgICAgICAiY29tLmFwcGxlLkFHWENvbXBpbGVyU2Vydmlj
ZSJfcywKKyAgICAgICAgImNvbS5hcHBsZS5BR1hDb21waWxlclNlcnZpY2UtUzJBOCJfcworICAg
IH0pOworICAgIHJldHVybiBzZXJ2aWNlczsKK30KKworY29uc3QgVmVjdG9yPEFTQ0lJTGl0ZXJh
bD4mIGFneENvbXBpbGVyQ2xhc3NlcygpCit7CisgICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7
CisgICAgc3RhdGljIGNvbnN0IGF1dG8gaW9raXRDbGFzc2VzID0gbWFrZU5ldmVyRGVzdHJveWVk
KFZlY3RvcjxBU0NJSUxpdGVyYWw+IHsKKyAgICAgICAgIkFHWENvbW1hbmRRdWV1ZSJfcywKKyAg
ICAgICAgIkFHWERldmljZSJfcywKKyAgICAgICAgIkFHWFNoYXJlZFVzZXJDbGllbnQiX3MsCisg
ICAgICAgICJJT0FjY2VsQ29udGV4dCJfcywKKyAgICAgICAgIklPQWNjZWxDb250ZXh0MiJfcywK
KyAgICAgICAgIklPQWNjZWxEZXZpY2UiX3MsCisgICAgICAgICJJT0FjY2VsRGV2aWNlMiJfcywK
KyAgICAgICAgIklPQWNjZWxTaGFyZWRVc2VyQ2xpZW50Il9zLAorICAgICAgICAiSU9BY2NlbFNo
YXJlZFVzZXJDbGllbnQyIl9zLAorICAgICAgICAiSU9BY2NlbFN1Ym1pdHRlcjIiX3MsCisgICAg
fSk7CisgICAgcmV0dXJuIGlva2l0Q2xhc3NlczsKK30KKwogfQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKaW5kZXgg
OTVmMjJkZmRlMWZiMmY1MDhlZGQ1NWIxMDg1ZDJmOWIyNDllYmNhMi4uMDI0ZDM5ODQzOGNkYjYw
NDk0NmNlZGU5NTIxOGMzNjczMjk0ZDA1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKiBDb3B5
cmlnaHQgKEMpIDIwMjAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqCiAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDkgKzI1LDE4IEBACiAKICNwcmFnbWEgb25j
ZQogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdFQkNP
UkVfRVhQT1JUIGJvb2wgZGV2aWNlSGFzQUdYQ29tcGlsZXJTZXJ2aWNlKCk7CiBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldERldmljZUhhc0FHWENvbXBpbGVyU2VydmljZUZvclRlc3RpbmcoKTsKK1dF
QkNPUkVfRVhQT1JUIGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBhZ3hDb21waWxlclNlcnZp
Y2VzKCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBWZWN0b3I8QVNDSUlMaXRlcmFsPiYgYWd4Q29t
cGlsZXJDbGFzc2VzKCk7CiAKIH0KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
UHJvY2Vzcy5jcHAKaW5kZXggZWY5NzU1ZTRjNTk1NGM3MDg0ZDU2MjlhOWJmMWFiODFiMTVjNTdj
Zi4uZDBkYTQ4ZDRiZjc1MzgwN2RhMDVjMzk1YjMzMzI1M2JiZWI0Yzk0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDE5LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMjAsNiArMjIwLDEwIEBAIHZvaWQgR1BVUHJv
Y2Vzczo6aW5pdGlhbGl6ZUdQVVByb2Nlc3MoR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYm
IHBhcmFtZXRlcnMpCiAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KHBh
cmFtZXRlcnMuY29udGFpbmVyQ2FjaGVzRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsKICAgICBT
YW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVycy5jb250YWluZXJU
ZW1wb3JhcnlEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogI2VuZGlmCisjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkocGFy
YW1ldGVycy5jb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGVzKTsKKyAgICBTYW5kYm94RXh0
ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVycy5keW5hbWljSU9LaXRFeHRlbnNp
b25IYW5kbGVzKTsKKyNlbmRpZgogCiAjaWYgSEFWRShDR0lNQUdFU09VUkNFX1dJVEhfU0VUX0FM
TE9XQUJMRV9UWVBFUykKICAgICBhdXRvIGVtcHR5QXJyYXkgPSBhZG9wdENGKENGQXJyYXlDcmVh
dGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgbnVsbHB0ciwgMCwgJmtDRlR5cGVBcnJheUNhbGxCYWNr
cykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDVjZTY0NWU4NzI5ODZlZjdiZWY4NjhkYWIyZjUx
N2EzMmE5ZjUyMWEuLmUyMmQ5ZGFhOGRmOTM2MTEwMmJlZDEwNzMzMzY4MDQxNmUyNWQxZmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
OS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtNjEsNiArNjEsMTAgQEAgdm9pZCBHUFVQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29k
ZXIgPDwgY29udGFpbmVyQ2FjaGVzRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlOwogICAgIGVuY29k
ZXIgPDwgY29udGFpbmVyVGVtcG9yYXJ5RGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlOwogI2VuZGlm
CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBlbmNvZGVyIDw8IGNvbXBpbGVyU2Vydmlj
ZUV4dGVuc2lvbkhhbmRsZXM7CisgICAgZW5jb2RlciA8PCBkeW5hbWljSU9LaXRFeHRlbnNpb25I
YW5kbGVzOworI2VuZGlmCiB9CiAKIGJvb2wgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyYgcmVzdWx0KQpAQCAtMTAxLDYgKzEwNSwxOSBAQCBib29sIEdQVVByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIEdQVVByb2Nlc3NDcmVhdAog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmVzdWx0LmNvbnRhaW5lclRlbXBvcmFyeURpcmVj
dG9yeUV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoKmNvbnRhaW5lclRlbXBvcmFyeURpcmVjdG9y
eUV4dGVuc2lvbkhhbmRsZSk7CiAjZW5kaWYKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAg
IE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5PiBjb21waWxlclNlcnZpY2VF
eHRlbnNpb25IYW5kbGVzOworICAgIGRlY29kZXIgPj4gY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9u
SGFuZGxlczsKKyAgICBpZiAoIWNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZXMpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICByZXN1bHQuY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFu
ZGxlcyA9IFdURk1vdmUoKmNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZXMpOworCisgICAg
T3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXk+IGR5bmFtaWNJT0tpdEV4dGVu
c2lvbkhhbmRsZXM7CisgICAgZGVjb2RlciA+PiBkeW5hbWljSU9LaXRFeHRlbnNpb25IYW5kbGVz
OworICAgIGlmICghZHluYW1pY0lPS2l0RXh0ZW5zaW9uSGFuZGxlcykKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIHJlc3VsdC5keW5hbWljSU9LaXRFeHRlbnNpb25IYW5kbGVzID0gV1RGTW92
ZSgqZHluYW1pY0lPS2l0RXh0ZW5zaW9uSGFuZGxlcyk7CisjZW5kaWYKIAogICAgIHJldHVybiB0
cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggZDMxMzcxYjQ5ZWNhNzBiYWY4NTIwYTE2N2QzOTBm
OTQwYThlMDNmZS4uNzZmY2IwOGVlZmRkOTZjNThlZDhlMzA4MzVlOTlkNDUxN2IyNjk5YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTU5LDYgKzU5LDEwIEBAIHN0cnVjdCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzIHsKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgY29udGFpbmVyQ2FjaGVzRGly
ZWN0b3J5RXh0ZW5zaW9uSGFuZGxlOwogICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBjb250
YWluZXJUZW1wb3JhcnlEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKKyNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQorICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5IGNvbXBp
bGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZXM7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
QXJyYXkgZHluYW1pY0lPS2l0RXh0ZW5zaW9uSGFuZGxlczsKKyNlbmRpZgogCiAgICAgdm9pZCBl
bmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CiAgICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVS
TiBib29sIGRlY29kZShJUEM6OkRlY29kZXImLCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMv
aW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiIGIvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2Fu
ZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LkdQVS5zYgppbmRleCBlMzFhZDM2ZmM4
ZDYwM2UyMjA3YjgyODQzM2Q0YjA5NGNhNmE3NTc3Li42Yjk2NGU2YjM4MDIyMTYwOGU5ZTU0Mzc5
ZTUxY2ZkYTk1Mjg0N2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5k
Ym94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiCisrKyBiL1NvdXJjZS9XZWJL
aXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5HUFUuc2IK
QEAgLTEsNCArMSw0IEBACi07IENvcHlyaWdodCAoQykgMjAxMC0yMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKzsgQ29weXJpZ2h0IChDKSAyMDEwLTIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogOwogOyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIDsgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNTcs
MTIgKzI1NywxMiBAQAogOzs7IERlY2xhcmUgdGhhdCB0aGUgYXBwbGljYXRpb24gdXNlcyB0aGUg
T3BlbkdMLCBNZXRhbCwgYW5kIENvcmVNTCBoYXJkd2FyZSAmIGZyYW1ld29ya3MuCiA7OzsKIChk
ZWZpbmUtb25jZSAob3BlbmdsKQotICAgIChhbGxvdyBpb2tpdC1vcGVuCisgICAgOzsgSXRlbXMg
bm90IHNlZW4gaW4gdGVzdGluZworICAgIChkZW55IGlva2l0LW9wZW4gKHdpdGggdGVsZW1ldHJ5
KQogICAgICAgICAgICAoaW9raXQtY29ubmVjdGlvbiAiSU9HUFUiKQogICAgICAgICAgICAoaW9r
aXQtdXNlci1jbGllbnQtY2xhc3MKICAgICAgICAgICAgICAgICAiQUdYQ29tbWFuZFF1ZXVlIgog
ICAgICAgICAgICAgICAgICJBR1hEZXZpY2UiCi0gICAgICAgICAgICAgICAgIkFHWERldmljZVVz
ZXJDbGllbnQiCiAgICAgICAgICAgICAgICAgIkFHWFNoYXJlZFVzZXJDbGllbnQiCiAgICAgICAg
ICAgICAgICAgIklPQWNjZWxDb250ZXh0IgogICAgICAgICAgICAgICAgICJJT0FjY2VsRGV2aWNl
IgpAQCAtMjcyLDYgKzI3MiwxMSBAQAogICAgICAgICAgICAgICAgICJJT0FjY2VsRGV2aWNlMiIK
ICAgICAgICAgICAgICAgICAiSU9BY2NlbFNoYXJlZFVzZXJDbGllbnQyIikpCiAKKyAgICAoYWxs
b3cgaW9raXQtb3BlbgorICAgICAgICAgICAoaW9raXQtY29ubmVjdGlvbiAiSU9HUFUiKQorICAg
ICAgICAgICAoaW9raXQtdXNlci1jbGllbnQtY2xhc3MKKyAgICAgICAgICAgICAgICAiQUdYRGV2
aWNlVXNlckNsaWVudCIpKQorCiAgICAgKGFsbG93IGlva2l0LWdldC1wcm9wZXJ0aWVzCiAgICAg
ICAgIChpb2tpdC1wcm9wZXJ0eSAiSU9HTEJ1bmRsZU5hbWUiKQogICAgICAgICAoaW9raXQtcHJv
cGVydHkgIklPR0xFU0J1bmRsZU5hbWUiKQpAQCAtMjg0LDkgKzI4OSw2IEBACiAgICAgKGFsbG93
IHN5c2N0bC1yZWFkCiAgICAgICAgICAgIChzeXNjdGwtbmFtZSAjImtlcm4uYm9vdHNlc3Npb251
dWlkIikpCiAKLSAgICAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggcmVwb3J0KSAod2l0aCB0ZWxl
bWV0cnkpCi0gICAgICAgICh4cGMtc2VydmljZS1uYW1lLXByZWZpeCAiY29tLmFwcGxlLkFHWENv
bXBpbGVyU2VydmljZSIpKQotCiAgICAgKGFsbG93IG1hY2gtbG9va3VwCiAgICAgICAgOzsgPHJk
YXI6Ly9wcm9ibGVtLzQ3MjY4MTY2PgogICAgICAgICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBw
bGUuTVRMQ29tcGlsZXJTZXJ2aWNlIikpCkBAIC05NDAsNiArOTQyLDI0IEBACiAgICAgKGxpdGVy
YWwgIi91c3IvbG9jYWwvbGliL2xvZyIpIDsgPHJkYXI6Ly9wcm9ibGVtLzM2NjI5NDk1PgogKQog
CisoYWxsb3cgaW9raXQtb3BlbgorICAgIChyZXF1aXJlLWFsbAorICAgICAgICAoZXh0ZW5zaW9u
ICJjb20uYXBwbGUud2Via2l0LmV4dGVuc2lvbi5pb2tpdCIpCisgICAgICAgIChpb2tpdC11c2Vy
LWNsaWVudC1jbGFzcworICAgICAgICAgICAgIkFHWENvbW1hbmRRdWV1ZSIKKyAgICAgICAgICAg
ICJBR1hEZXZpY2UiCisgICAgICAgICAgICAiQUdYU2hhcmVkVXNlckNsaWVudCIKKyAgICAgICAg
ICAgICJJT0FjY2VsQ29udGV4dCIKKyAgICAgICAgICAgICJJT0FjY2VsRGV2aWNlIgorICAgICAg
ICAgICAgIklPQWNjZWxTaGFyZWRVc2VyQ2xpZW50IgorICAgICAgICAgICAgIklPQWNjZWxTdWJt
aXR0ZXIyIgorICAgICAgICAgICAgIklPQWNjZWxDb250ZXh0MiIKKyAgICAgICAgICAgICJJT0Fj
Y2VsRGV2aWNlMiIKKyAgICAgICAgICAgICJJT0FjY2VsU2hhcmVkVXNlckNsaWVudDIiCisgICAg
ICAgICkKKyAgICApCispCisKIChkZW55IG1hY2gtbG9va3VwICh3aXRoIG5vLWxvZykKICAgICAo
eHBjLXNlcnZpY2UtbmFtZSAiY29tLmFwcGxlLmF1ZGlvLnRvb2xib3gucmVwb3J0aW5nLnNlcnZp
Y2UiKQogKQpAQCAtOTQ3LDcgKzk2NywxMiBAQAogKGFsbG93IG1hY2gtbG9va3VwCiAgICAgKHJl
cXVpcmUtYWxsCiAgICAgICAgIChleHRlbnNpb24gImNvbS5hcHBsZS53ZWJraXQuZXh0ZW5zaW9u
Lm1hY2giKQotICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5pcGhvbmUuYXhzZXJ2ZXIt
c3lzdGVtd2lkZSIgImNvbS5hcHBsZS50Y2NkIiAiY29tLmFwcGxlLkFHWENvbXBpbGVyU2Vydmlj
ZSIpKSkKKyAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuaXBob25lLmF4c2VydmVyLXN5
c3RlbXdpZGUiICJjb20uYXBwbGUudGNjZCIpKSkKKworKGFsbG93IG1hY2gtbG9va3VwCisgICAg
KHJlcXVpcmUtYWxsCisgICAgICAgIChleHRlbnNpb24gImNvbS5hcHBsZS53ZWJraXQuZXh0ZW5z
aW9uLm1hY2giKQorICAgICAgICAoeHBjLXNlcnZpY2UtbmFtZS1wcmVmaXggImNvbS5hcHBsZS5B
R1hDb21waWxlclNlcnZpY2UiKSkpCiAKIChtZWRpYS1jYXB0dXJlLXN1cHBvcnQpCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1t
CmluZGV4IDZiYjc1MDJiMDMyYWMxNDg0YzU2OGEwN2RlNWZlYjJkZjU2NjE2MDQuLjExZDRmOGNk
MzJjOWM3NGQwZDBiMjM5YzMzYzhjNWY0NzhhMzlkYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzNCwzNiAr
MjM0LDYgQEAgc3RhdGljIGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBub25Ccm93c2VyU2Vy
dmljZXMoKQogICAgIH0pOwogICAgIHJldHVybiBzZXJ2aWNlczsKIH0KLQotc3RhdGljIGNvbnN0
IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBhZ3hDb21waWxlckNsYXNzZXMoKQotewotICAgIEFTU0VS
VChpc01haW5SdW5Mb29wKCkpOwotICAgIHN0YXRpYyBjb25zdCBhdXRvIGlva2l0Q2xhc3NlcyA9
IG1ha2VOZXZlckRlc3Ryb3llZChWZWN0b3I8QVNDSUlMaXRlcmFsPiB7Ci0gICAgICAgICJBR1hD
b21tYW5kUXVldWUiX3MsCi0gICAgICAgICJBR1hEZXZpY2UiX3MsCi0gICAgICAgICJBR1hTaGFy
ZWRVc2VyQ2xpZW50Il9zLAotICAgICAgICAiSU9BY2NlbENvbnRleHQiX3MsCi0gICAgICAgICJJ
T0FjY2VsQ29udGV4dDIiX3MsCi0gICAgICAgICJJT0FjY2VsRGV2aWNlIl9zLAotICAgICAgICAi
SU9BY2NlbERldmljZTIiX3MsCi0gICAgICAgICJJT0FjY2VsU2hhcmVkVXNlckNsaWVudCJfcywK
LSAgICAgICAgIklPQWNjZWxTaGFyZWRVc2VyQ2xpZW50MiJfcywKLSAgICAgICAgIklPQWNjZWxT
dWJtaXR0ZXIyIl9zLAotICAgIH0pOwotICAgIHJldHVybiBpb2tpdENsYXNzZXM7Ci19Ci0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKElPUykKLXN0YXRpYyBjb25zdCBWZWN0b3I8QVNDSUlMaXRlcmFs
PiYgYWd4Q29tcGlsZXJTZXJ2aWNlcygpCi17Ci0gICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7
Ci0gICAgc3RhdGljIGNvbnN0IGF1dG8gc2VydmljZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVj
dG9yPEFTQ0lJTGl0ZXJhbD4gewotICAgICAgICAiY29tLmFwcGxlLkFHWENvbXBpbGVyU2Vydmlj
ZSJfcywKLSAgICAgICAgImNvbS5hcHBsZS5BR1hDb21waWxlclNlcnZpY2UtUzJBOCJfcwotICAg
IH0pOwotICAgIHJldHVybiBzZXJ2aWNlczsKLX0KICNlbmRpZgogCiBzdGF0aWMgY29uc3QgVmVj
dG9yPEFTQ0lJTGl0ZXJhbD4mIGRpYWdub3N0aWNTZXJ2aWNlcygpCkBAIC00MDMsNyArMzczLDcg
QEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyhjb25z
dCBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MKICAgICAKICNpZiBQTEFURk9STShJT1MpCiAgICAg
aWYgKFdlYkNvcmU6OmRldmljZUhhc0FHWENvbXBpbGVyU2VydmljZSgpKQotICAgICAgICBwYXJh
bWV0ZXJzLmNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZXMgPSBTYW5kYm94RXh0ZW5zaW9u
OjpjcmVhdGVIYW5kbGVzRm9yTWFjaExvb2t1cChhZ3hDb21waWxlclNlcnZpY2VzKCksIFdURjo6
bnVsbG9wdCk7CisgICAgICAgIHBhcmFtZXRlcnMuY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFu
ZGxlcyA9IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZXNGb3JNYWNoTG9va3VwKFdlYkNv
cmU6OmFneENvbXBpbGVyU2VydmljZXMoKSwgV1RGOjpudWxsb3B0KTsKICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTQxMSw3ICszODEsNyBAQCB2b2lkIFdlYlByb2Nlc3NQ
b29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nlc3NQcm94eSYg
cHJvY2VzcwogICAgICAgICBwYXJhbWV0ZXJzLmR5bmFtaWNNYWNoRXh0ZW5zaW9uSGFuZGxlcyA9
IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZXNGb3JNYWNoTG9va3VwKG5vbkJyb3dzZXJT
ZXJ2aWNlcygpLCBXVEY6Om51bGxvcHQpOwogCiAgICAgaWYgKFdlYkNvcmU6OmRldmljZUhhc0FH
WENvbXBpbGVyU2VydmljZSgpKQotICAgICAgICBwYXJhbWV0ZXJzLmR5bmFtaWNJT0tpdEV4dGVu
c2lvbkhhbmRsZXMgPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVzRm9ySU9LaXRDbGFz
c0V4dGVuc2lvbnMoYWd4Q29tcGlsZXJDbGFzc2VzKCksIFdURjo6bnVsbG9wdCk7CisgICAgICAg
IHBhcmFtZXRlcnMuZHluYW1pY0lPS2l0RXh0ZW5zaW9uSGFuZGxlcyA9IFNhbmRib3hFeHRlbnNp
b246OmNyZWF0ZUhhbmRsZXNGb3JJT0tpdENsYXNzRXh0ZW5zaW9ucyhXZWJDb3JlOjphZ3hDb21w
aWxlckNsYXNzZXMoKSwgV1RGOjpudWxsb3B0KTsKICNlbmRpZgogCiAgICAgaWYgKGlzSW50ZXJu
YWxJbnN0YWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BV
UHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
UHJveHkuY3BwCmluZGV4IGVmYzg1NjdiMmMzYjVjMTJhNzRlYjhmODMzNDA4YmZlYjU3NWQ3NjMu
LjgwMjJiODIwNTUwYWQ5OGNmOTAzYzEzNjdhZWUyNWFkNmY5NWE1MTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTEsNiArNTEs
NyBAQAogI2luY2x1ZGUgPHd0Zi9UcmFuc2xhdGVkUHJvY2Vzcy5oPgogCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKKyNpbmNsdWRlIDxXZWJDb3JlL0FHWENvbXBpbGVyU2VydmljZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9zcGkvZGFyd2luL1hQQ1NQSS5oPgogI2VuZGlmCiAKQEAgLTE4OCw2ICsxODks
MTIgQEAgR1BVUHJvY2Vzc1Byb3h5OjpHUFVQcm9jZXNzUHJveHkoKQogICAgIGlmICghY29udGFp
bmVyVGVtcG9yYXJ5RGlyZWN0b3J5LmlzRW1wdHkoKSkKICAgICAgICAgU2FuZGJveEV4dGVuc2lv
bjo6Y3JlYXRlSGFuZGxlV2l0aG91dFJlc29sdmluZ1BhdGgoY29udGFpbmVyVGVtcG9yYXJ5RGly
ZWN0b3J5LCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkV3JpdGUsIHBhcmFtZXRlcnMuY29u
dGFpbmVyVGVtcG9yYXJ5RGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsKICNlbmRpZgorI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKFdlYkNvcmU6OmRldmljZUhhc0FHWENvbXBpbGVy
U2VydmljZSgpKSB7CisgICAgICAgIHBhcmFtZXRlcnMuY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9u
SGFuZGxlcyA9IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZXNGb3JNYWNoTG9va3VwKFdl
YkNvcmU6OmFneENvbXBpbGVyU2VydmljZXMoKSwgV1RGOjpudWxsb3B0KTsKKyAgICAgICAgcGFy
YW1ldGVycy5keW5hbWljSU9LaXRFeHRlbnNpb25IYW5kbGVzID0gU2FuZGJveEV4dGVuc2lvbjo6
Y3JlYXRlSGFuZGxlc0ZvcklPS2l0Q2xhc3NFeHRlbnNpb25zKFdlYkNvcmU6OmFneENvbXBpbGVy
Q2xhc3NlcygpLCBXVEY6Om51bGxvcHQpOworICAgIH0KKyNlbmRpZgogCiAgICAgLy8gSW5pdGlh
bGl6ZSB0aGUgR1BVIHByb2Nlc3MuCiAgICAgc2VuZChNZXNzYWdlczo6R1BVUHJvY2Vzczo6SW5p
dGlhbGl6ZUdQVVByb2Nlc3MocGFyYW1ldGVycyksIDApOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427111</attachid>
            <date>2021-04-26 17:54:08 -0700</date>
            <delta_ts>2021-04-26 17:56:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225004-20210426175407.patch</filename>
            <type>text/plain</type>
            <size>18193</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNkYmZkZDQzZGU2ODNl
OTZlMmI3NGY3YzE4NWUyMjRjNTdlNmMyNC4uNzk2NjZiYjdkYzk5Nzc5NzY0Njc3MDE3MjA2YWI5
ZjU3ZGVjZTY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA0LTI2ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFtHUFVdIFRo
ZSBVSSBwcm9jZXNzIHNob3VsZCBpc3N1ZSB0aGUgbWFjaCBzYW5kYm94IGV4dGVuc2lvbiB0byAn
Y29tLmFwcGxlLkFHWENvbXBpbGVyU2VydmljZScgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUwMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY4
MzYyOTMwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluIEJ1ZyAyMDM5MTUgYW5kIEJ1ZyAyMTA2MTYgd2UgZGlkIHdvcmsgdG8gb25seSBleHRlbmQg
YWNjZXNzIHRvIEFHWC1yZWxhdGVkIGdyYXBoaWNzIGZhY2lsaXRpZXMgb24gcmVsZXZhbnQgaGFy
ZHdhcmUuIFRoaXMgd2FzCisgICAgICAgIGxvc3QgaW4gdGhlIHRyYW5zaXRpb24gdG8gdGhlIEdQ
VSBQcm9jZXNzIGFuZCBzaG91bGQgYmUgYWRkZWQgYmFjay4KKworICAgICAgICBUaGlzIGNoYW5n
ZSBtb3ZlcyB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgQUdYLXJlbGF0ZWQgc2VydmljZXMgYW5kIElP
S2l0IGNsYXNzZXMgdG8gdGhlIEFHWENvbXBpbGVyU2VydmljZSBjb21waWxhdGlvbiB1bml0IHNv
IHRoYXQKKyAgICAgICAgaXQgY2FuIGJlIHNoYXJlZCBieSB0aGUgV2ViQ29udGVudCBhbmQgR1BV
UHJvY2VzcyBjb2RlIHBhdGhzLgorCisgICAgICAgIFRlc3RlZCBieSBleGlzdGluZyBncmFwaGlj
cyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjphZ3hDb21waWxlclNlcnZpY2VzKToKKyAgICAgICAgKFdl
YkNvcmU6OmFneENvbXBpbGVyQ2xhc3Nlcyk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvQUdY
Q29tcGlsZXJTZXJ2aWNlLmg6CisKIDIwMjEtMDQtMjMgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1z
dGVhZEBzb255LmNvbT4KIAogICAgICAgICBBZGQgYWRkaXRpb25hbCBndWFyZHMgYXJvdW5kIFVT
RV9BTkdMRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCBjYjZiZjU2M2RmOWViZWZhMGQ1NjlkMzdlYjJjNGU0ZmY5NDM1
YzQzLi5jZTYwM2Y4NTk5MDYwYThhNzU2OTcyMGQ5ZDBhMGNmOWQ1ZGRjNWQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDQxIEBACisyMDIxLTA0LTI2ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBw
bGUuY29tPgorCisgICAgICAgIFtpT1NdIFtHUFVdIFRoZSBVSSBwcm9jZXNzIHNob3VsZCBpc3N1
ZSB0aGUgbWFjaCBzYW5kYm94IGV4dGVuc2lvbiB0byAnY29tLmFwcGxlLkFHWENvbXBpbGVyU2Vy
dmljZScgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjUwMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY4MzYyOTMwPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIEJ1ZyAyMDM5MTUgYW5kIEJ1ZyAy
MTA2MTYgd2UgZGlkIHdvcmsgdG8gb25seSBleHRlbmQgYWNjZXNzIHRvIEFHWC1yZWxhdGVkIGdy
YXBoaWNzIGZhY2lsaXRpZXMgb24gcmVsZXZhbnQgaGFyZHdhcmUuIFRoaXMgd2FzCisgICAgICAg
IGxvc3QgaW4gdGhlIHRyYW5zaXRpb24gdG8gdGhlIEdQVSBQcm9jZXNzIGFuZCBzaG91bGQgYmUg
YWRkZWQgYmFjay4KKworICAgICAgICBUaGlzIGNoYW5nZSBkb2VzIHRoZSBmb2xsb3dpbmc6Cisg
ICAgICAgIDEuIEFkZHMgc2FuZGJveCBleHRlbnNpb24gaGFuZGxlcyBmb3IgdGhlIEFHWC1yZWxh
dGVkIGNvbXBpbGVyIHNlcnZpY2VzIGFuZCBJT0tpdCBjbGFzc2VzIHRvIHRoZSBHUFVQcm9jZXNz
IGNyZWF0aW9uIHBhcmFtZXRlcnMuCisgICAgICAgIDIuIFVwZGF0ZXMgdGhlIEdQVVByb2Nlc3NQ
cm94eSB0byBleHRlbmQgQUdYIGZlYXR1cmVzIHdoZW4gd2FycmFudGVkIGFuZCBhZGQgdGhlbSB0
byB0aGUgY3JlYXRpb24gcGFyYW1ldGVyIHN0cnVjdHVyZS4KKyAgICAgICAgMy4gVXBkYXRlcyB0
aGUgR1BVUHJvY2VzcyB0byBjb25zdW1lIHRoZSBleHRlbnNpb25zICh3aGVuIGdyYW50ZWQpLgor
ICAgICAgICA0LiBVcGRhdGVzIHRoZSBXZWJQcm9jZXNzUG9vbCB0byB1c2UgdGhlIFdlYkNvcmUg
dmVyc2lvbiBvZiB0aGUgJ2FneENvbXBpbGVyQ2xhc3NlcycgYW5kICdhZ3hDb21waWxlclNlcnZp
Y2VzJyBmdW5jdGlvbnMuCisgICAgICAgIDUuIE1vdmVzIHRoZSAnYWd4Q29tcGlsZXJDbGFzc2Vz
JyBhbmQgJ2FneENvbXBpbGVyU2VydmljZXMnIGZ1bmN0aW9ucyB0byBXZWJDb3JlLCBhbG9uZ3Np
ZGUgdGhlIG90aGVyIEFHWCBmdW5jdGlvbnMuCisKKyAgICAgICAgSXQgYWxzbyBjb3JyZWN0cyB0
aGUgc2FuZGJveCBydWxlIGZvciB0aGUgQUdYQ29tcGlsZXJTZXJ2aWNlIGluIHRoZSBHUFUgUHJv
Y2VzcyBzYW5kYm94LCB3aGljaCBpbmNvcnJlY3RseSBjYWxsZWQgaXQgYSAnZ2xvYmFsLW5hbWUn
LAorICAgICAgICB3aGVuIGl0IGlzIGFuIHhwYy1zZXJ2aWNlLgorCisgICAgICAgIFRlc3RlZCBi
eSBleGlzdGluZyBncmFwaGljcyB0ZXN0cy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9j
ZXNzKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNv
ZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oOgorICAgICAgICAqIFJlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBs
ZS5XZWJLaXQuR1BVLnNiOiBDb3JyZWN0IEFHWCBjb21waWxlciBzZXJ2aWNlIHR5cGUuCisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChX
ZWJLaXQ6Om5vbkJyb3dzZXJTZXJ2aWNlcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6YWd4
Q29tcGlsZXJDbGFzc2VzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6YWd4Q29tcGlsZXJT
ZXJ2aWNlcyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OkdQVVByb2Nlc3NQcm94
eSk6CisKIDIwMjEtMDQtMjMgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc1NTYyLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5jcHAKaW5kZXgg
YWQyMDM3NzAwYWM1ZjFlNjMxYWMwN2M5ZmFlYjc0ODYzY2UwYTEzOS4uNTgxNjg1MjgyMjVhMDQ3
MDc3MWZiN2E1ZmIzZjBhMmZmZjAyZGM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9BR1hDb21waWxlclNlcnZpY2UuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyog
Q29weXJpZ2h0IChDKSAyMDIwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
KgogKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw3ICsyOSw5IEBACiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKIAogI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjaW5jbHVkZSA8d3Rm
L05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvQVNDSUlMaXRlcmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTcs
NiArNTksMzQgQEAgYm9vbCBkZXZpY2VIYXNBR1hDb21waWxlclNlcnZpY2UoKQogICAgIHJldHVy
biAqaGFzQUdYQ29tcGlsZXJTZXJ2aWNlOwogfQogCitjb25zdCBWZWN0b3I8QVNDSUlMaXRlcmFs
PiYgYWd4Q29tcGlsZXJTZXJ2aWNlcygpCit7CisgICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7
CisgICAgc3RhdGljIGNvbnN0IGF1dG8gc2VydmljZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVj
dG9yPEFTQ0lJTGl0ZXJhbD4geworICAgICAgICAiY29tLmFwcGxlLkFHWENvbXBpbGVyU2Vydmlj
ZSJfcywKKyAgICAgICAgImNvbS5hcHBsZS5BR1hDb21waWxlclNlcnZpY2UtUzJBOCJfcworICAg
IH0pOworICAgIHJldHVybiBzZXJ2aWNlczsKK30KKworY29uc3QgVmVjdG9yPEFTQ0lJTGl0ZXJh
bD4mIGFneENvbXBpbGVyQ2xhc3NlcygpCit7CisgICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7
CisgICAgc3RhdGljIGNvbnN0IGF1dG8gaW9raXRDbGFzc2VzID0gbWFrZU5ldmVyRGVzdHJveWVk
KFZlY3RvcjxBU0NJSUxpdGVyYWw+IHsKKyAgICAgICAgIkFHWENvbW1hbmRRdWV1ZSJfcywKKyAg
ICAgICAgIkFHWERldmljZSJfcywKKyAgICAgICAgIkFHWFNoYXJlZFVzZXJDbGllbnQiX3MsCisg
ICAgICAgICJJT0FjY2VsQ29udGV4dCJfcywKKyAgICAgICAgIklPQWNjZWxDb250ZXh0MiJfcywK
KyAgICAgICAgIklPQWNjZWxEZXZpY2UiX3MsCisgICAgICAgICJJT0FjY2VsRGV2aWNlMiJfcywK
KyAgICAgICAgIklPQWNjZWxTaGFyZWRVc2VyQ2xpZW50Il9zLAorICAgICAgICAiSU9BY2NlbFNo
YXJlZFVzZXJDbGllbnQyIl9zLAorICAgICAgICAiSU9BY2NlbFN1Ym1pdHRlcjIiX3MsCisgICAg
fSk7CisgICAgcmV0dXJuIGlva2l0Q2xhc3NlczsKK30KKwogfQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKaW5kZXgg
OTVmMjJkZmRlMWZiMmY1MDhlZGQ1NWIxMDg1ZDJmOWIyNDllYmNhMi4uZTZiZDU3YWRjOTBhMWVk
YThkYTY0MTdjMzA5NjlhMjM0YWYwYjEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKiBDb3B5
cmlnaHQgKEMpIDIwMjAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqCiAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDkgKzI1LDE3IEBACiAKICNwcmFnbWEgb25j
ZQogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV0VCQ09SRV9FWFBPUlQgYm9vbCBkZXZpY2VIYXNB
R1hDb21waWxlclNlcnZpY2UoKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0RGV2aWNlSGFzQUdY
Q29tcGlsZXJTZXJ2aWNlRm9yVGVzdGluZygpOworV0VCQ09SRV9FWFBPUlQgY29uc3QgVmVjdG9y
PEFTQ0lJTGl0ZXJhbD4mIGFneENvbXBpbGVyU2VydmljZXMoKTsKK1dFQkNPUkVfRVhQT1JUIGNv
bnN0IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBhZ3hDb21waWxlckNsYXNzZXMoKTsKIAogfQorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNw
cCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCBlZjk3NTVl
NGM1OTU0YzcwODRkNTYyOWE5YmYxYWI4MWIxNWM1N2NmLi5kMGRhNDhkNGJmNzUzODA3ZGEwNWMz
OTViMzMzMjUzYmJlYjRjOTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3Mu
Y3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTIyMCw2ICsyMjAsMTAgQEAgdm9pZCBHUFVQcm9jZXNzOjppbml0aWFsaXplR1BVUHJvY2Vz
cyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICBTYW5kYm94
RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVycy5jb250YWluZXJDYWNoZXNE
aXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQ
ZXJtYW5lbnRseShwYXJhbWV0ZXJzLmNvbnRhaW5lclRlbXBvcmFyeURpcmVjdG9yeUV4dGVuc2lv
bkhhbmRsZSk7CiAjZW5kaWYKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIFNhbmRib3hF
eHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLmNvbXBpbGVyU2VydmljZUV4
dGVuc2lvbkhhbmRsZXMpOworICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRs
eShwYXJhbWV0ZXJzLmR5bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRsZXMpOworI2VuZGlmCiAKICNp
ZiBIQVZFKENHSU1BR0VTT1VSQ0VfV0lUSF9TRVRfQUxMT1dBQkxFX1RZUEVTKQogICAgIGF1dG8g
ZW1wdHlBcnJheSA9IGFkb3B0Q0YoQ0ZBcnJheUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBu
dWxscHRyLCAwLCAma0NGVHlwZUFycmF5Q2FsbEJhY2tzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5k
ZXggNWNlNjQ1ZTg3Mjk4NmVmN2JlZjg2OGRhYjJmNTE3YTMyYTlmNTIxYS4uZTIyZDlkYWE4ZGY5
MzYxMTAyYmVkMTA3MzMzNjgwNDE2ZTI1ZDFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02MSw2ICs2
MSwxMCBAQCB2b2lkIEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVu
Y29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBjb250YWluZXJDYWNoZXNEaXJl
Y3RvcnlFeHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2RlciA8PCBjb250YWluZXJUZW1wb3JhcnlE
aXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQorICAgIGVuY29kZXIgPDwgY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlczsKKyAgICBl
bmNvZGVyIDw8IGR5bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRsZXM7CisjZW5kaWYKIH0KIAogYm9v
bCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNv
ZGVyLCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiByZXN1bHQpCkBAIC0xMDEsNiArMTA1
LDE5IEBAIGJvb2wgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVj
b2RlciYgZGVjb2RlciwgR1BVUHJvY2Vzc0NyZWF0CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICByZXN1bHQuY29udGFpbmVyVGVtcG9yYXJ5RGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlID0gV1RG
TW92ZSgqY29udGFpbmVyVGVtcG9yYXJ5RGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsKICNlbmRp
ZgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlQXJyYXk+IGNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZXM7CisgICAgZGVj
b2RlciA+PiBjb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGVzOworICAgIGlmICghY29tcGls
ZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlcykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJl
c3VsdC5jb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGVzID0gV1RGTW92ZSgqY29tcGlsZXJT
ZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlcyk7CisKKyAgICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGVBcnJheT4gZHluYW1pY0lPS2l0RXh0ZW5zaW9uSGFuZGxlczsKKyAgICBkZWNvZGVy
ID4+IGR5bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRsZXM7CisgICAgaWYgKCFkeW5hbWljSU9LaXRF
eHRlbnNpb25IYW5kbGVzKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVzdWx0LmR5bmFt
aWNJT0tpdEV4dGVuc2lvbkhhbmRsZXMgPSBXVEZNb3ZlKCpkeW5hbWljSU9LaXRFeHRlbnNpb25I
YW5kbGVzKTsKKyNlbmRpZgogCiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRl
eCBkMzEzNzFiNDllY2E3MGJhZjg1MjBhMTY3ZDM5MGY5NDBhOGUwM2ZlLi43NmZjYjA4ZWVmZGQ5
NmM1OGVkOGUzMDgzNWU5OWQ0NTE3YjI2OTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTksNiArNTksMTAg
QEAgc3RydWN0IEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIFNhbmRib3hFeHRl
bnNpb246OkhhbmRsZSBjb250YWluZXJDYWNoZXNEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAg
ICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGNvbnRhaW5lclRlbXBvcmFyeURpcmVjdG9yeUV4
dGVuc2lvbkhhbmRsZTsKICNlbmRpZgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgU2Fu
ZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkgY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxl
czsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBkeW5hbWljSU9LaXRFeHRlbnNp
b25IYW5kbGVzOworI2VuZGlmCiAKICAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25z
dDsKICAgICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKElQQzo6RGVjb2Rl
ciYsIEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5HUFUu
c2IgYi9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBs
ZS5XZWJLaXQuR1BVLnNiCmluZGV4IGUzMWFkMzZmYzhkNjAzZTIyMDdiODI4NDMzZDRiMDk0Y2E2
YTc1NzcuLjZiOTY0ZTZiMzgwMjIxNjA4ZTllNTQzNzllNTFjZmRhOTUyODQ3YzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxl
LldlYktpdC5HUFUuc2IKKysrIGIvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2Zp
bGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LkdQVS5zYgpAQCAtMSw0ICsxLDQgQEAKLTsgQ29weXJp
Z2h0IChDKSAyMDEwLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorOyBDb3B5
cmlnaHQgKEMpIDIwMTAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7CiA7
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogOyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1NywxMiArMjU3LDEyIEBACiA7OzsgRGVjbGFy
ZSB0aGF0IHRoZSBhcHBsaWNhdGlvbiB1c2VzIHRoZSBPcGVuR0wsIE1ldGFsLCBhbmQgQ29yZU1M
IGhhcmR3YXJlICYgZnJhbWV3b3Jrcy4KIDs7OwogKGRlZmluZS1vbmNlIChvcGVuZ2wpCi0gICAg
KGFsbG93IGlva2l0LW9wZW4KKyAgICA7OyBJdGVtcyBub3Qgc2VlbiBpbiB0ZXN0aW5nCisgICAg
KGRlbnkgaW9raXQtb3BlbiAod2l0aCB0ZWxlbWV0cnkpCiAgICAgICAgICAgIChpb2tpdC1jb25u
ZWN0aW9uICJJT0dQVSIpCiAgICAgICAgICAgIChpb2tpdC11c2VyLWNsaWVudC1jbGFzcwogICAg
ICAgICAgICAgICAgICJBR1hDb21tYW5kUXVldWUiCiAgICAgICAgICAgICAgICAgIkFHWERldmlj
ZSIKLSAgICAgICAgICAgICAgICAiQUdYRGV2aWNlVXNlckNsaWVudCIKICAgICAgICAgICAgICAg
ICAiQUdYU2hhcmVkVXNlckNsaWVudCIKICAgICAgICAgICAgICAgICAiSU9BY2NlbENvbnRleHQi
CiAgICAgICAgICAgICAgICAgIklPQWNjZWxEZXZpY2UiCkBAIC0yNzIsNiArMjcyLDExIEBACiAg
ICAgICAgICAgICAgICAgIklPQWNjZWxEZXZpY2UyIgogICAgICAgICAgICAgICAgICJJT0FjY2Vs
U2hhcmVkVXNlckNsaWVudDIiKSkKIAorICAgIChhbGxvdyBpb2tpdC1vcGVuCisgICAgICAgICAg
IChpb2tpdC1jb25uZWN0aW9uICJJT0dQVSIpCisgICAgICAgICAgIChpb2tpdC11c2VyLWNsaWVu
dC1jbGFzcworICAgICAgICAgICAgICAgICJBR1hEZXZpY2VVc2VyQ2xpZW50IikpCisKICAgICAo
YWxsb3cgaW9raXQtZ2V0LXByb3BlcnRpZXMKICAgICAgICAgKGlva2l0LXByb3BlcnR5ICJJT0dM
QnVuZGxlTmFtZSIpCiAgICAgICAgIChpb2tpdC1wcm9wZXJ0eSAiSU9HTEVTQnVuZGxlTmFtZSIp
CkBAIC0yODQsOSArMjg5LDYgQEAKICAgICAoYWxsb3cgc3lzY3RsLXJlYWQKICAgICAgICAgICAg
KHN5c2N0bC1uYW1lICMia2Vybi5ib290c2Vzc2lvbnV1aWQiKSkKIAotICAgIChhbGxvdyBtYWNo
LWxvb2t1cCAod2l0aCByZXBvcnQpICh3aXRoIHRlbGVtZXRyeSkKLSAgICAgICAgKHhwYy1zZXJ2
aWNlLW5hbWUtcHJlZml4ICJjb20uYXBwbGUuQUdYQ29tcGlsZXJTZXJ2aWNlIikpCi0KICAgICAo
YWxsb3cgbWFjaC1sb29rdXAKICAgICAgICA7OyA8cmRhcjovL3Byb2JsZW0vNDcyNjgxNjY+CiAg
ICAgICAgKHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5NVExDb21waWxlclNlcnZpY2UiKSkK
QEAgLTk0MCw2ICs5NDIsMjQgQEAKICAgICAobGl0ZXJhbCAiL3Vzci9sb2NhbC9saWIvbG9nIikg
OyA8cmRhcjovL3Byb2JsZW0vMzY2Mjk0OTU+CiApCiAKKyhhbGxvdyBpb2tpdC1vcGVuCisgICAg
KHJlcXVpcmUtYWxsCisgICAgICAgIChleHRlbnNpb24gImNvbS5hcHBsZS53ZWJraXQuZXh0ZW5z
aW9uLmlva2l0IikKKyAgICAgICAgKGlva2l0LXVzZXItY2xpZW50LWNsYXNzCisgICAgICAgICAg
ICAiQUdYQ29tbWFuZFF1ZXVlIgorICAgICAgICAgICAgIkFHWERldmljZSIKKyAgICAgICAgICAg
ICJBR1hTaGFyZWRVc2VyQ2xpZW50IgorICAgICAgICAgICAgIklPQWNjZWxDb250ZXh0IgorICAg
ICAgICAgICAgIklPQWNjZWxEZXZpY2UiCisgICAgICAgICAgICAiSU9BY2NlbFNoYXJlZFVzZXJD
bGllbnQiCisgICAgICAgICAgICAiSU9BY2NlbFN1Ym1pdHRlcjIiCisgICAgICAgICAgICAiSU9B
Y2NlbENvbnRleHQyIgorICAgICAgICAgICAgIklPQWNjZWxEZXZpY2UyIgorICAgICAgICAgICAg
IklPQWNjZWxTaGFyZWRVc2VyQ2xpZW50MiIKKyAgICAgICAgKQorICAgICkKKykKKwogKGRlbnkg
bWFjaC1sb29rdXAgKHdpdGggbm8tbG9nKQogICAgICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBw
bGUuYXVkaW8udG9vbGJveC5yZXBvcnRpbmcuc2VydmljZSIpCiApCkBAIC05NDcsNyArOTY3LDEy
IEBACiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAocmVxdWlyZS1hbGwKICAgICAgICAgKGV4dGVu
c2lvbiAiY29tLmFwcGxlLndlYmtpdC5leHRlbnNpb24ubWFjaCIpCi0gICAgICAgIChnbG9iYWwt
bmFtZSAiY29tLmFwcGxlLmlwaG9uZS5heHNlcnZlci1zeXN0ZW13aWRlIiAiY29tLmFwcGxlLnRj
Y2QiICJjb20uYXBwbGUuQUdYQ29tcGlsZXJTZXJ2aWNlIikpKQorICAgICAgICAoZ2xvYmFsLW5h
bWUgImNvbS5hcHBsZS5pcGhvbmUuYXhzZXJ2ZXItc3lzdGVtd2lkZSIgImNvbS5hcHBsZS50Y2Nk
IikpKQorCisoYWxsb3cgbWFjaC1sb29rdXAKKyAgICAocmVxdWlyZS1hbGwKKyAgICAgICAgKGV4
dGVuc2lvbiAiY29tLmFwcGxlLndlYmtpdC5leHRlbnNpb24ubWFjaCIpCisgICAgICAgICh4cGMt
c2VydmljZS1uYW1lLXByZWZpeCAiY29tLmFwcGxlLkFHWENvbXBpbGVyU2VydmljZSIpKSkKIAog
KG1lZGlhLWNhcHR1cmUtc3VwcG9ydCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KaW5kZXggNmJiNzUwMmIwMzJhYzE0ODRj
NTY4YTA3ZGU1ZmViMmRmNTY2MTYwNC4uMTFkNGY4Y2QzMmM5Yzc0ZDBkMGIyMzljMzNjOGM1ZjQ3
OGEzOWRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUG9vbENvY29hLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjM0LDM2ICsyMzQsNiBAQCBzdGF0aWMgY29uc3QgVmVj
dG9yPEFTQ0lJTGl0ZXJhbD4mIG5vbkJyb3dzZXJTZXJ2aWNlcygpCiAgICAgfSk7CiAgICAgcmV0
dXJuIHNlcnZpY2VzOwogfQotCi1zdGF0aWMgY29uc3QgVmVjdG9yPEFTQ0lJTGl0ZXJhbD4mIGFn
eENvbXBpbGVyQ2xhc3NlcygpCi17Ci0gICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7Ci0gICAg
c3RhdGljIGNvbnN0IGF1dG8gaW9raXRDbGFzc2VzID0gbWFrZU5ldmVyRGVzdHJveWVkKFZlY3Rv
cjxBU0NJSUxpdGVyYWw+IHsKLSAgICAgICAgIkFHWENvbW1hbmRRdWV1ZSJfcywKLSAgICAgICAg
IkFHWERldmljZSJfcywKLSAgICAgICAgIkFHWFNoYXJlZFVzZXJDbGllbnQiX3MsCi0gICAgICAg
ICJJT0FjY2VsQ29udGV4dCJfcywKLSAgICAgICAgIklPQWNjZWxDb250ZXh0MiJfcywKLSAgICAg
ICAgIklPQWNjZWxEZXZpY2UiX3MsCi0gICAgICAgICJJT0FjY2VsRGV2aWNlMiJfcywKLSAgICAg
ICAgIklPQWNjZWxTaGFyZWRVc2VyQ2xpZW50Il9zLAotICAgICAgICAiSU9BY2NlbFNoYXJlZFVz
ZXJDbGllbnQyIl9zLAotICAgICAgICAiSU9BY2NlbFN1Ym1pdHRlcjIiX3MsCi0gICAgfSk7Ci0g
ICAgcmV0dXJuIGlva2l0Q2xhc3NlczsKLX0KLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQot
c3RhdGljIGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBhZ3hDb21waWxlclNlcnZpY2VzKCkK
LXsKLSAgICBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsKLSAgICBzdGF0aWMgY29uc3QgYXV0byBz
ZXJ2aWNlcyA9IG1ha2VOZXZlckRlc3Ryb3llZChWZWN0b3I8QVNDSUlMaXRlcmFsPiB7Ci0gICAg
ICAgICJjb20uYXBwbGUuQUdYQ29tcGlsZXJTZXJ2aWNlIl9zLAotICAgICAgICAiY29tLmFwcGxl
LkFHWENvbXBpbGVyU2VydmljZS1TMkE4Il9zCi0gICAgfSk7Ci0gICAgcmV0dXJuIHNlcnZpY2Vz
OwotfQogI2VuZGlmCiAKIHN0YXRpYyBjb25zdCBWZWN0b3I8QVNDSUlMaXRlcmFsPiYgZGlhZ25v
c3RpY1NlcnZpY2VzKCkKQEAgLTQwMyw3ICszNzMsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpw
bGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vz
cwogICAgIAogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAoV2ViQ29yZTo6ZGV2aWNlSGFzQUdY
Q29tcGlsZXJTZXJ2aWNlKCkpCi0gICAgICAgIHBhcmFtZXRlcnMuY29tcGlsZXJTZXJ2aWNlRXh0
ZW5zaW9uSGFuZGxlcyA9IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZXNGb3JNYWNoTG9v
a3VwKGFneENvbXBpbGVyU2VydmljZXMoKSwgV1RGOjpudWxsb3B0KTsKKyAgICAgICAgcGFyYW1l
dGVycy5jb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGVzID0gU2FuZGJveEV4dGVuc2lvbjo6
Y3JlYXRlSGFuZGxlc0Zvck1hY2hMb29rdXAoV2ViQ29yZTo6YWd4Q29tcGlsZXJTZXJ2aWNlcygp
LCBXVEY6Om51bGxvcHQpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAt
NDExLDcgKzM4MSw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdl
YlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzCiAgICAgICAgIHBhcmFtZXRl
cnMuZHluYW1pY01hY2hFeHRlbnNpb25IYW5kbGVzID0gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRl
SGFuZGxlc0Zvck1hY2hMb29rdXAobm9uQnJvd3NlclNlcnZpY2VzKCksIFdURjo6bnVsbG9wdCk7
CiAKICAgICBpZiAoV2ViQ29yZTo6ZGV2aWNlSGFzQUdYQ29tcGlsZXJTZXJ2aWNlKCkpCi0gICAg
ICAgIHBhcmFtZXRlcnMuZHluYW1pY0lPS2l0RXh0ZW5zaW9uSGFuZGxlcyA9IFNhbmRib3hFeHRl
bnNpb246OmNyZWF0ZUhhbmRsZXNGb3JJT0tpdENsYXNzRXh0ZW5zaW9ucyhhZ3hDb21waWxlckNs
YXNzZXMoKSwgV1RGOjpudWxsb3B0KTsKKyAgICAgICAgcGFyYW1ldGVycy5keW5hbWljSU9LaXRF
eHRlbnNpb25IYW5kbGVzID0gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlc0ZvcklPS2l0
Q2xhc3NFeHRlbnNpb25zKFdlYkNvcmU6OmFneENvbXBpbGVyQ2xhc3NlcygpLCBXVEY6Om51bGxv
cHQpOwogI2VuZGlmCiAKICAgICBpZiAoaXNJbnRlcm5hbEluc3RhbGwoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKaW5kZXggZWZjODU2N2Iy
YzNiNWMxMmE3NGViOGY4MzM0MDhiZmViNTc1ZDc2My4uODAyMmI4MjA1NTBhZDk4Y2Y5MDNjMTM2
N2FlZTI1YWQ2Zjk1YTUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BV
L0dQVVByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NQcm94eS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDE5LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDE5LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC01MSw2ICs1MSw3IEBACiAjaW5jbHVkZSA8d3RmL1RyYW5z
bGF0ZWRQcm9jZXNzLmg+CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorI2luY2x1ZGUgPFdl
YkNvcmUvQUdYQ29tcGlsZXJTZXJ2aWNlLmg+CiAjaW5jbHVkZSA8d3RmL3NwaS9kYXJ3aW4vWFBD
U1BJLmg+CiAjZW5kaWYKIApAQCAtMTg4LDYgKzE4OSwxMiBAQCBHUFVQcm9jZXNzUHJveHk6OkdQ
VVByb2Nlc3NQcm94eSgpCiAgICAgaWYgKCFjb250YWluZXJUZW1wb3JhcnlEaXJlY3RvcnkuaXNF
bXB0eSgpKQogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVXaXRob3V0UmVz
b2x2aW5nUGF0aChjb250YWluZXJUZW1wb3JhcnlEaXJlY3RvcnksIFNhbmRib3hFeHRlbnNpb246
OlR5cGU6OlJlYWRXcml0ZSwgcGFyYW1ldGVycy5jb250YWluZXJUZW1wb3JhcnlEaXJlY3RvcnlF
eHRlbnNpb25IYW5kbGUpOwogI2VuZGlmCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBp
ZiAoV2ViQ29yZTo6ZGV2aWNlSGFzQUdYQ29tcGlsZXJTZXJ2aWNlKCkpIHsKKyAgICAgICAgcGFy
YW1ldGVycy5jb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGVzID0gU2FuZGJveEV4dGVuc2lv
bjo6Y3JlYXRlSGFuZGxlc0Zvck1hY2hMb29rdXAoV2ViQ29yZTo6YWd4Q29tcGlsZXJTZXJ2aWNl
cygpLCBXVEY6Om51bGxvcHQpOworICAgICAgICBwYXJhbWV0ZXJzLmR5bmFtaWNJT0tpdEV4dGVu
c2lvbkhhbmRsZXMgPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVzRm9ySU9LaXRDbGFz
c0V4dGVuc2lvbnMoV2ViQ29yZTo6YWd4Q29tcGlsZXJDbGFzc2VzKCksIFdURjo6bnVsbG9wdCk7
CisgICAgfQorI2VuZGlmCiAKICAgICAvLyBJbml0aWFsaXplIHRoZSBHUFUgcHJvY2Vzcy4KICAg
ICBzZW5kKE1lc3NhZ2VzOjpHUFVQcm9jZXNzOjpJbml0aWFsaXplR1BVUHJvY2VzcyhwYXJhbWV0
ZXJzKSwgMCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427112</attachid>
            <date>2021-04-26 17:56:25 -0700</date>
            <delta_ts>2021-04-27 10:08:33 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-225004-20210426175624.patch</filename>
            <type>text/plain</type>
            <size>18187</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNkYmZkZDQzZGU2ODNl
OTZlMmI3NGY3YzE4NWUyMjRjNTdlNmMyNC4uYzQ1ZTBlZGQzMTVlZDVlZWExNWI2Mzk5ODI4ODM3
MTY4OWU2NzAyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA0LTI2ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFtHUFVdIFRo
ZSBVSSBwcm9jZXNzIHNob3VsZCBpc3N1ZSB0aGUgbWFjaCBzYW5kYm94IGV4dGVuc2lvbiB0byAn
Y29tLmFwcGxlLkFHWENvbXBpbGVyU2VydmljZScgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUwMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY4
MzYyOTMwPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIElu
IEJ1ZyAyMDM5MTUgYW5kIEJ1ZyAyMTA2MTYgd2UgZGlkIHdvcmsgdG8gb25seSBleHRlbmQgYWNj
ZXNzIHRvIEFHWC1yZWxhdGVkIGdyYXBoaWNzIGZhY2lsaXRpZXMgb24gcmVsZXZhbnQgaGFyZHdh
cmUuIFRoaXMgd2FzCisgICAgICAgIGxvc3QgaW4gdGhlIHRyYW5zaXRpb24gdG8gdGhlIEdQVSBQ
cm9jZXNzIGFuZCBzaG91bGQgYmUgYWRkZWQgYmFjay4KKworICAgICAgICBUaGlzIGNoYW5nZSBt
b3ZlcyB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgQUdYLXJlbGF0ZWQgc2VydmljZXMgYW5kIElPS2l0
IGNsYXNzZXMgdG8gdGhlIEFHWENvbXBpbGVyU2VydmljZSBjb21waWxhdGlvbiB1bml0IHNvIHRo
YXQKKyAgICAgICAgaXQgY2FuIGJlIHNoYXJlZCBieSB0aGUgV2ViQ29udGVudCBhbmQgR1BVUHJv
Y2VzcyBjb2RlIHBhdGhzLgorCisgICAgICAgIFRlc3RlZCBieSBleGlzdGluZyBncmFwaGljcyB0
ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjphZ3hDb21waWxlclNlcnZpY2VzKToKKyAgICAgICAgKFdlYkNv
cmU6OmFneENvbXBpbGVyQ2xhc3Nlcyk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvQUdYQ29t
cGlsZXJTZXJ2aWNlLmg6CisKIDIwMjEtMDQtMjMgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVh
ZEBzb255LmNvbT4KIAogICAgICAgICBBZGQgYWRkaXRpb25hbCBndWFyZHMgYXJvdW5kIFVTRV9B
TkdMRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCBjYjZiZjU2M2RmOWViZWZhMGQ1NjlkMzdlYjJjNGU0ZmY5NDM1YzQz
Li41ZDRiOGQ4NDhiZDQ0ZGNhYWJkNGYzNWY1NTVmOTE5OWNhOTU0MzViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQxIEBACisyMDIxLTA0LTI2ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUu
Y29tPgorCisgICAgICAgIFtpT1NdIFtHUFVdIFRoZSBVSSBwcm9jZXNzIHNob3VsZCBpc3N1ZSB0
aGUgbWFjaCBzYW5kYm94IGV4dGVuc2lvbiB0byAnY29tLmFwcGxlLkFHWENvbXBpbGVyU2Vydmlj
ZScgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUw
MDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY4MzYyOTMwPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEluIEJ1ZyAyMDM5MTUgYW5kIEJ1ZyAyMTA2MTYg
d2UgZGlkIHdvcmsgdG8gb25seSBleHRlbmQgYWNjZXNzIHRvIEFHWC1yZWxhdGVkIGdyYXBoaWNz
IGZhY2lsaXRpZXMgb24gcmVsZXZhbnQgaGFyZHdhcmUuIFRoaXMgd2FzCisgICAgICAgIGxvc3Qg
aW4gdGhlIHRyYW5zaXRpb24gdG8gdGhlIEdQVSBQcm9jZXNzIGFuZCBzaG91bGQgYmUgYWRkZWQg
YmFjay4KKworICAgICAgICBUaGlzIGNoYW5nZSBkb2VzIHRoZSBmb2xsb3dpbmc6CisgICAgICAg
IDEuIEFkZHMgc2FuZGJveCBleHRlbnNpb24gaGFuZGxlcyBmb3IgdGhlIEFHWC1yZWxhdGVkIGNv
bXBpbGVyIHNlcnZpY2VzIGFuZCBJT0tpdCBjbGFzc2VzIHRvIHRoZSBHUFVQcm9jZXNzIGNyZWF0
aW9uIHBhcmFtZXRlcnMuCisgICAgICAgIDIuIFVwZGF0ZXMgdGhlIEdQVVByb2Nlc3NQcm94eSB0
byBleHRlbmQgQUdYIGZlYXR1cmVzIHdoZW4gd2FycmFudGVkIGFuZCBhZGQgdGhlbSB0byB0aGUg
Y3JlYXRpb24gcGFyYW1ldGVyIHN0cnVjdHVyZS4KKyAgICAgICAgMy4gVXBkYXRlcyB0aGUgR1BV
UHJvY2VzcyB0byBjb25zdW1lIHRoZSBleHRlbnNpb25zICh3aGVuIGdyYW50ZWQpLgorICAgICAg
ICA0LiBVcGRhdGVzIHRoZSBXZWJQcm9jZXNzUG9vbCB0byB1c2UgdGhlIFdlYkNvcmUgdmVyc2lv
biBvZiB0aGUgJ2FneENvbXBpbGVyQ2xhc3NlcycgYW5kICdhZ3hDb21waWxlclNlcnZpY2VzJyBm
dW5jdGlvbnMuCisgICAgICAgIDUuIE1vdmVzIHRoZSAnYWd4Q29tcGlsZXJDbGFzc2VzJyBhbmQg
J2FneENvbXBpbGVyU2VydmljZXMnIGZ1bmN0aW9ucyB0byBXZWJDb3JlLCBhbG9uZ3NpZGUgdGhl
IG90aGVyIEFHWCBmdW5jdGlvbnMuCisKKyAgICAgICAgSXQgYWxzbyBjb3JyZWN0cyB0aGUgc2Fu
ZGJveCBydWxlIGZvciB0aGUgQUdYQ29tcGlsZXJTZXJ2aWNlIGluIHRoZSBHUFUgUHJvY2VzcyBz
YW5kYm94LCB3aGljaCBpbmNvcnJlY3RseSBjYWxsZWQgaXQgYSAnZ2xvYmFsLW5hbWUnLAorICAg
ICAgICB3aGVuIGl0IGlzIGFuIHhwYy1zZXJ2aWNlLgorCisgICAgICAgIFRlc3RlZCBieSBleGlz
dGluZyBncmFwaGljcyB0ZXN0cy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9jZXNzKToK
KyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29u
c3QpOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNv
ZGUpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFJlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJL
aXQuR1BVLnNiOiBDb3JyZWN0IEFHWCBjb21waWxlciBzZXJ2aWNlIHR5cGUuCisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
Om5vbkJyb3dzZXJTZXJ2aWNlcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpw
bGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6YWd4Q29tcGls
ZXJDbGFzc2VzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6YWd4Q29tcGlsZXJTZXJ2aWNl
cyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OkdQVVByb2Nlc3NQcm94eSk6CisK
IDIwMjEtMDQtMjMgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc1NTYyLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5jcHAKaW5kZXggYWQyMDM3
NzAwYWM1ZjFlNjMxYWMwN2M5ZmFlYjc0ODYzY2UwYTEzOS4uNTgxNjg1MjgyMjVhMDQ3MDc3MWZi
N2E1ZmIzZjBhMmZmZjAyZGM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jb2NvYS9BR1hDb21waWxlclNlcnZpY2UuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyogQ29weXJp
Z2h0IChDKSAyMDIwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKgogKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw3ICsyOSw5IEBACiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKIAogI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSA8d3RmL3Rl
eHQvQVNDSUlMaXRlcmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTcsNiArNTks
MzQgQEAgYm9vbCBkZXZpY2VIYXNBR1hDb21waWxlclNlcnZpY2UoKQogICAgIHJldHVybiAqaGFz
QUdYQ29tcGlsZXJTZXJ2aWNlOwogfQogCitjb25zdCBWZWN0b3I8QVNDSUlMaXRlcmFsPiYgYWd4
Q29tcGlsZXJTZXJ2aWNlcygpCit7CisgICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7CisgICAg
c3RhdGljIGNvbnN0IGF1dG8gc2VydmljZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVjdG9yPEFT
Q0lJTGl0ZXJhbD4geworICAgICAgICAiY29tLmFwcGxlLkFHWENvbXBpbGVyU2VydmljZSJfcywK
KyAgICAgICAgImNvbS5hcHBsZS5BR1hDb21waWxlclNlcnZpY2UtUzJBOCJfcworICAgIH0pOwor
ICAgIHJldHVybiBzZXJ2aWNlczsKK30KKworY29uc3QgVmVjdG9yPEFTQ0lJTGl0ZXJhbD4mIGFn
eENvbXBpbGVyQ2xhc3NlcygpCit7CisgICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7CisgICAg
c3RhdGljIGNvbnN0IGF1dG8gaW9raXRDbGFzc2VzID0gbWFrZU5ldmVyRGVzdHJveWVkKFZlY3Rv
cjxBU0NJSUxpdGVyYWw+IHsKKyAgICAgICAgIkFHWENvbW1hbmRRdWV1ZSJfcywKKyAgICAgICAg
IkFHWERldmljZSJfcywKKyAgICAgICAgIkFHWFNoYXJlZFVzZXJDbGllbnQiX3MsCisgICAgICAg
ICJJT0FjY2VsQ29udGV4dCJfcywKKyAgICAgICAgIklPQWNjZWxDb250ZXh0MiJfcywKKyAgICAg
ICAgIklPQWNjZWxEZXZpY2UiX3MsCisgICAgICAgICJJT0FjY2VsRGV2aWNlMiJfcywKKyAgICAg
ICAgIklPQWNjZWxTaGFyZWRVc2VyQ2xpZW50Il9zLAorICAgICAgICAiSU9BY2NlbFNoYXJlZFVz
ZXJDbGllbnQyIl9zLAorICAgICAgICAiSU9BY2NlbFN1Ym1pdHRlcjIiX3MsCisgICAgfSk7Cisg
ICAgcmV0dXJuIGlva2l0Q2xhc3NlczsKK30KKwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0FHWENvbXBpbGVyU2VydmljZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKaW5kZXggOTVmMjJk
ZmRlMWZiMmY1MDhlZGQ1NWIxMDg1ZDJmOWIyNDllYmNhMi4uZTZiZDU3YWRjOTBhMWVkYThkYTY0
MTdjMzA5NjlhMjM0YWYwYjEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvQUdYQ29tcGlsZXJTZXJ2aWNlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKiBDb3B5cmlnaHQg
KEMpIDIwMjAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqCiAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDkgKzI1LDE3IEBACiAKICNwcmFnbWEgb25jZQogCisj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogV0VCQ09SRV9FWFBPUlQgYm9vbCBkZXZpY2VIYXNBR1hDb21w
aWxlclNlcnZpY2UoKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0RGV2aWNlSGFzQUdYQ29tcGls
ZXJTZXJ2aWNlRm9yVGVzdGluZygpOworV0VCQ09SRV9FWFBPUlQgY29uc3QgVmVjdG9yPEFTQ0lJ
TGl0ZXJhbD4mIGFneENvbXBpbGVyU2VydmljZXMoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IFZl
Y3RvcjxBU0NJSUxpdGVyYWw+JiBhZ3hDb21waWxlckNsYXNzZXMoKTsKIAogfQorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCBlZjk3NTVlNGM1OTU0
YzcwODRkNTYyOWE5YmYxYWI4MWIxNWM1N2NmLi5kMGRhNDhkNGJmNzUzODA3ZGEwNWMzOTViMzMz
MjUzYmJlYjRjOTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIy
MCw2ICsyMjAsMTAgQEAgdm9pZCBHUFVQcm9jZXNzOjppbml0aWFsaXplR1BVUHJvY2VzcyhHUFVQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICBTYW5kYm94RXh0ZW5z
aW9uOjpjb25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVycy5jb250YWluZXJDYWNoZXNEaXJlY3Rv
cnlFeHRlbnNpb25IYW5kbGUpOwogICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5l
bnRseShwYXJhbWV0ZXJzLmNvbnRhaW5lclRlbXBvcmFyeURpcmVjdG9yeUV4dGVuc2lvbkhhbmRs
ZSk7CiAjZW5kaWYKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIFNhbmRib3hFeHRlbnNp
b246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLmNvbXBpbGVyU2VydmljZUV4dGVuc2lv
bkhhbmRsZXMpOworICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJh
bWV0ZXJzLmR5bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRsZXMpOworI2VuZGlmCiAKICNpZiBIQVZF
KENHSU1BR0VTT1VSQ0VfV0lUSF9TRVRfQUxMT1dBQkxFX1RZUEVTKQogICAgIGF1dG8gZW1wdHlB
cnJheSA9IGFkb3B0Q0YoQ0ZBcnJheUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBudWxscHRy
LCAwLCAma0NGVHlwZUFycmF5Q2FsbEJhY2tzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggNWNl
NjQ1ZTg3Mjk4NmVmN2JlZjg2OGRhYjJmNTE3YTMyYTlmNTIxYS4uZTIyZDlkYWE4ZGY5MzYxMTAy
YmVkMTA3MzMzNjgwNDE2ZTI1ZDFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02MSw2ICs2MSwxMCBA
QCB2b2lkIEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXIm
IGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBjb250YWluZXJDYWNoZXNEaXJlY3RvcnlF
eHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2RlciA8PCBjb250YWluZXJUZW1wb3JhcnlEaXJlY3Rv
cnlFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAg
IGVuY29kZXIgPDwgY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlczsKKyAgICBlbmNvZGVy
IDw8IGR5bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRsZXM7CisjZW5kaWYKIH0KIAogYm9vbCBHUFVQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBH
UFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiByZXN1bHQpCkBAIC0xMDEsNiArMTA1LDE5IEBA
IGJvb2wgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYg
ZGVjb2RlciwgR1BVUHJvY2Vzc0NyZWF0CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXN1
bHQuY29udGFpbmVyVGVtcG9yYXJ5RGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgq
Y29udGFpbmVyVGVtcG9yYXJ5RGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsKICNlbmRpZgorI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlQXJyYXk+IGNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZXM7CisgICAgZGVjb2RlciA+
PiBjb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGVzOworICAgIGlmICghY29tcGlsZXJTZXJ2
aWNlRXh0ZW5zaW9uSGFuZGxlcykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC5j
b21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGVzID0gV1RGTW92ZSgqY29tcGlsZXJTZXJ2aWNl
RXh0ZW5zaW9uSGFuZGxlcyk7CisKKyAgICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5k
bGVBcnJheT4gZHluYW1pY0lPS2l0RXh0ZW5zaW9uSGFuZGxlczsKKyAgICBkZWNvZGVyID4+IGR5
bmFtaWNJT0tpdEV4dGVuc2lvbkhhbmRsZXM7CisgICAgaWYgKCFkeW5hbWljSU9LaXRFeHRlbnNp
b25IYW5kbGVzKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVzdWx0LmR5bmFtaWNJT0tp
dEV4dGVuc2lvbkhhbmRsZXMgPSBXVEZNb3ZlKCpkeW5hbWljSU9LaXRFeHRlbnNpb25IYW5kbGVz
KTsKKyNlbmRpZgogCiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBkMzEz
NzFiNDllY2E3MGJhZjg1MjBhMTY3ZDM5MGY5NDBhOGUwM2ZlLi43NmZjYjA4ZWVmZGQ5NmM1OGVk
OGUzMDgzNWU5OWQ0NTE3YjI2OTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTksNiArNTksMTAgQEAgc3Ry
dWN0IEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIFNhbmRib3hFeHRlbnNpb246
OkhhbmRsZSBjb250YWluZXJDYWNoZXNEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAgICAgU2Fu
ZGJveEV4dGVuc2lvbjo6SGFuZGxlIGNvbnRhaW5lclRlbXBvcmFyeURpcmVjdG9yeUV4dGVuc2lv
bkhhbmRsZTsKICNlbmRpZgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgU2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlQXJyYXkgY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlczsKKyAg
ICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBkeW5hbWljSU9LaXRFeHRlbnNpb25IYW5k
bGVzOworI2VuZGlmCiAKICAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKICAg
ICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKElQQzo6RGVjb2RlciYsIEdQ
VVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5HUFUuc2IgYi9T
b3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJL
aXQuR1BVLnNiCmluZGV4IGUzMWFkMzZmYzhkNjAzZTIyMDdiODI4NDMzZDRiMDk0Y2E2YTc1Nzcu
LjZiOTY0ZTZiMzgwMjIxNjA4ZTllNTQzNzllNTFjZmRhOTUyODQ3YzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktp
dC5HUFUuc2IKKysrIGIvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lv
cy9jb20uYXBwbGUuV2ViS2l0LkdQVS5zYgpAQCAtMSw0ICsxLDQgQEAKLTsgQ29weXJpZ2h0IChD
KSAyMDEwLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorOyBDb3B5cmlnaHQg
KEMpIDIwMTAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7CiA7IFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogOyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1NywxMiArMjU3LDEyIEBACiA7OzsgRGVjbGFyZSB0aGF0
IHRoZSBhcHBsaWNhdGlvbiB1c2VzIHRoZSBPcGVuR0wsIE1ldGFsLCBhbmQgQ29yZU1MIGhhcmR3
YXJlICYgZnJhbWV3b3Jrcy4KIDs7OwogKGRlZmluZS1vbmNlIChvcGVuZ2wpCi0gICAgKGFsbG93
IGlva2l0LW9wZW4KKyAgICA7OyBJdGVtcyBub3Qgc2VlbiBpbiB0ZXN0aW5nCisgICAgKGRlbnkg
aW9raXQtb3BlbiAod2l0aCB0ZWxlbWV0cnkpCiAgICAgICAgICAgIChpb2tpdC1jb25uZWN0aW9u
ICJJT0dQVSIpCiAgICAgICAgICAgIChpb2tpdC11c2VyLWNsaWVudC1jbGFzcwogICAgICAgICAg
ICAgICAgICJBR1hDb21tYW5kUXVldWUiCiAgICAgICAgICAgICAgICAgIkFHWERldmljZSIKLSAg
ICAgICAgICAgICAgICAiQUdYRGV2aWNlVXNlckNsaWVudCIKICAgICAgICAgICAgICAgICAiQUdY
U2hhcmVkVXNlckNsaWVudCIKICAgICAgICAgICAgICAgICAiSU9BY2NlbENvbnRleHQiCiAgICAg
ICAgICAgICAgICAgIklPQWNjZWxEZXZpY2UiCkBAIC0yNzIsNiArMjcyLDExIEBACiAgICAgICAg
ICAgICAgICAgIklPQWNjZWxEZXZpY2UyIgogICAgICAgICAgICAgICAgICJJT0FjY2VsU2hhcmVk
VXNlckNsaWVudDIiKSkKIAorICAgIChhbGxvdyBpb2tpdC1vcGVuCisgICAgICAgICAgIChpb2tp
dC1jb25uZWN0aW9uICJJT0dQVSIpCisgICAgICAgICAgIChpb2tpdC11c2VyLWNsaWVudC1jbGFz
cworICAgICAgICAgICAgICAgICJBR1hEZXZpY2VVc2VyQ2xpZW50IikpCisKICAgICAoYWxsb3cg
aW9raXQtZ2V0LXByb3BlcnRpZXMKICAgICAgICAgKGlva2l0LXByb3BlcnR5ICJJT0dMQnVuZGxl
TmFtZSIpCiAgICAgICAgIChpb2tpdC1wcm9wZXJ0eSAiSU9HTEVTQnVuZGxlTmFtZSIpCkBAIC0y
ODQsOSArMjg5LDYgQEAKICAgICAoYWxsb3cgc3lzY3RsLXJlYWQKICAgICAgICAgICAgKHN5c2N0
bC1uYW1lICMia2Vybi5ib290c2Vzc2lvbnV1aWQiKSkKIAotICAgIChhbGxvdyBtYWNoLWxvb2t1
cCAod2l0aCByZXBvcnQpICh3aXRoIHRlbGVtZXRyeSkKLSAgICAgICAgKHhwYy1zZXJ2aWNlLW5h
bWUtcHJlZml4ICJjb20uYXBwbGUuQUdYQ29tcGlsZXJTZXJ2aWNlIikpCi0KICAgICAoYWxsb3cg
bWFjaC1sb29rdXAKICAgICAgICA7OyA8cmRhcjovL3Byb2JsZW0vNDcyNjgxNjY+CiAgICAgICAg
KHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5NVExDb21waWxlclNlcnZpY2UiKSkKQEAgLTk0
MCw2ICs5NDIsMjQgQEAKICAgICAobGl0ZXJhbCAiL3Vzci9sb2NhbC9saWIvbG9nIikgOyA8cmRh
cjovL3Byb2JsZW0vMzY2Mjk0OTU+CiApCiAKKyhhbGxvdyBpb2tpdC1vcGVuCisgICAgKHJlcXVp
cmUtYWxsCisgICAgICAgIChleHRlbnNpb24gImNvbS5hcHBsZS53ZWJraXQuZXh0ZW5zaW9uLmlv
a2l0IikKKyAgICAgICAgKGlva2l0LXVzZXItY2xpZW50LWNsYXNzCisgICAgICAgICAgICAiQUdY
Q29tbWFuZFF1ZXVlIgorICAgICAgICAgICAgIkFHWERldmljZSIKKyAgICAgICAgICAgICJBR1hT
aGFyZWRVc2VyQ2xpZW50IgorICAgICAgICAgICAgIklPQWNjZWxDb250ZXh0IgorICAgICAgICAg
ICAgIklPQWNjZWxEZXZpY2UiCisgICAgICAgICAgICAiSU9BY2NlbFNoYXJlZFVzZXJDbGllbnQi
CisgICAgICAgICAgICAiSU9BY2NlbFN1Ym1pdHRlcjIiCisgICAgICAgICAgICAiSU9BY2NlbENv
bnRleHQyIgorICAgICAgICAgICAgIklPQWNjZWxEZXZpY2UyIgorICAgICAgICAgICAgIklPQWNj
ZWxTaGFyZWRVc2VyQ2xpZW50MiIKKyAgICAgICAgKQorICAgICkKKykKKwogKGRlbnkgbWFjaC1s
b29rdXAgKHdpdGggbm8tbG9nKQogICAgICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuYXVk
aW8udG9vbGJveC5yZXBvcnRpbmcuc2VydmljZSIpCiApCkBAIC05NDcsNyArOTY3LDEyIEBACiAo
YWxsb3cgbWFjaC1sb29rdXAKICAgICAocmVxdWlyZS1hbGwKICAgICAgICAgKGV4dGVuc2lvbiAi
Y29tLmFwcGxlLndlYmtpdC5leHRlbnNpb24ubWFjaCIpCi0gICAgICAgIChnbG9iYWwtbmFtZSAi
Y29tLmFwcGxlLmlwaG9uZS5heHNlcnZlci1zeXN0ZW13aWRlIiAiY29tLmFwcGxlLnRjY2QiICJj
b20uYXBwbGUuQUdYQ29tcGlsZXJTZXJ2aWNlIikpKQorICAgICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5pcGhvbmUuYXhzZXJ2ZXItc3lzdGVtd2lkZSIgImNvbS5hcHBsZS50Y2NkIikpKQor
CisoYWxsb3cgbWFjaC1sb29rdXAKKyAgICAocmVxdWlyZS1hbGwKKyAgICAgICAgKGV4dGVuc2lv
biAiY29tLmFwcGxlLndlYmtpdC5leHRlbnNpb24ubWFjaCIpCisgICAgICAgICh4cGMtc2Vydmlj
ZS1uYW1lLXByZWZpeCAiY29tLmFwcGxlLkFHWENvbXBpbGVyU2VydmljZSIpKSkKIAogKG1lZGlh
LWNhcHR1cmUtc3VwcG9ydCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KaW5kZXggNmJiNzUwMmIwMzJhYzE0ODRjNTY4YTA3
ZGU1ZmViMmRmNTY2MTYwNC4uMTFkNGY4Y2QzMmM5Yzc0ZDBkMGIyMzljMzNjOGM1ZjQ3OGEzOWRh
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UG9vbENvY29hLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMC0y
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMjM0LDM2ICsyMzQsNiBAQCBzdGF0aWMgY29uc3QgVmVjdG9yPEFT
Q0lJTGl0ZXJhbD4mIG5vbkJyb3dzZXJTZXJ2aWNlcygpCiAgICAgfSk7CiAgICAgcmV0dXJuIHNl
cnZpY2VzOwogfQotCi1zdGF0aWMgY29uc3QgVmVjdG9yPEFTQ0lJTGl0ZXJhbD4mIGFneENvbXBp
bGVyQ2xhc3NlcygpCi17Ci0gICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7Ci0gICAgc3RhdGlj
IGNvbnN0IGF1dG8gaW9raXRDbGFzc2VzID0gbWFrZU5ldmVyRGVzdHJveWVkKFZlY3RvcjxBU0NJ
SUxpdGVyYWw+IHsKLSAgICAgICAgIkFHWENvbW1hbmRRdWV1ZSJfcywKLSAgICAgICAgIkFHWERl
dmljZSJfcywKLSAgICAgICAgIkFHWFNoYXJlZFVzZXJDbGllbnQiX3MsCi0gICAgICAgICJJT0Fj
Y2VsQ29udGV4dCJfcywKLSAgICAgICAgIklPQWNjZWxDb250ZXh0MiJfcywKLSAgICAgICAgIklP
QWNjZWxEZXZpY2UiX3MsCi0gICAgICAgICJJT0FjY2VsRGV2aWNlMiJfcywKLSAgICAgICAgIklP
QWNjZWxTaGFyZWRVc2VyQ2xpZW50Il9zLAotICAgICAgICAiSU9BY2NlbFNoYXJlZFVzZXJDbGll
bnQyIl9zLAotICAgICAgICAiSU9BY2NlbFN1Ym1pdHRlcjIiX3MsCi0gICAgfSk7Ci0gICAgcmV0
dXJuIGlva2l0Q2xhc3NlczsKLX0KLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotc3RhdGlj
IGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBhZ3hDb21waWxlclNlcnZpY2VzKCkKLXsKLSAg
ICBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsKLSAgICBzdGF0aWMgY29uc3QgYXV0byBzZXJ2aWNl
cyA9IG1ha2VOZXZlckRlc3Ryb3llZChWZWN0b3I8QVNDSUlMaXRlcmFsPiB7Ci0gICAgICAgICJj
b20uYXBwbGUuQUdYQ29tcGlsZXJTZXJ2aWNlIl9zLAotICAgICAgICAiY29tLmFwcGxlLkFHWENv
bXBpbGVyU2VydmljZS1TMkE4Il9zCi0gICAgfSk7Ci0gICAgcmV0dXJuIHNlcnZpY2VzOwotfQog
I2VuZGlmCiAKIHN0YXRpYyBjb25zdCBWZWN0b3I8QVNDSUlMaXRlcmFsPiYgZGlhZ25vc3RpY1Nl
cnZpY2VzKCkKQEAgLTQwMyw3ICszNzMsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9y
bUluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcwogICAg
IAogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAoV2ViQ29yZTo6ZGV2aWNlSGFzQUdYQ29tcGls
ZXJTZXJ2aWNlKCkpCi0gICAgICAgIHBhcmFtZXRlcnMuY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9u
SGFuZGxlcyA9IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZXNGb3JNYWNoTG9va3VwKGFn
eENvbXBpbGVyU2VydmljZXMoKSwgV1RGOjpudWxsb3B0KTsKKyAgICAgICAgcGFyYW1ldGVycy5j
b21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGVzID0gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRl
SGFuZGxlc0Zvck1hY2hMb29rdXAoV2ViQ29yZTo6YWd4Q29tcGlsZXJTZXJ2aWNlcygpLCBXVEY6
Om51bGxvcHQpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtNDExLDcg
KzM4MSw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nl
c3MoY29uc3QgV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzCiAgICAgICAgIHBhcmFtZXRlcnMuZHlu
YW1pY01hY2hFeHRlbnNpb25IYW5kbGVzID0gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxl
c0Zvck1hY2hMb29rdXAobm9uQnJvd3NlclNlcnZpY2VzKCksIFdURjo6bnVsbG9wdCk7CiAKICAg
ICBpZiAoV2ViQ29yZTo6ZGV2aWNlSGFzQUdYQ29tcGlsZXJTZXJ2aWNlKCkpCi0gICAgICAgIHBh
cmFtZXRlcnMuZHluYW1pY0lPS2l0RXh0ZW5zaW9uSGFuZGxlcyA9IFNhbmRib3hFeHRlbnNpb246
OmNyZWF0ZUhhbmRsZXNGb3JJT0tpdENsYXNzRXh0ZW5zaW9ucyhhZ3hDb21waWxlckNsYXNzZXMo
KSwgV1RGOjpudWxsb3B0KTsKKyAgICAgICAgcGFyYW1ldGVycy5keW5hbWljSU9LaXRFeHRlbnNp
b25IYW5kbGVzID0gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlc0ZvcklPS2l0Q2xhc3NF
eHRlbnNpb25zKFdlYkNvcmU6OmFneENvbXBpbGVyQ2xhc3NlcygpLCBXVEY6Om51bGxvcHQpOwog
I2VuZGlmCiAKICAgICBpZiAoaXNJbnRlcm5hbEluc3RhbGwoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKaW5kZXggZWZjODU2N2IyYzNiNWMx
MmE3NGViOGY4MzM0MDhiZmViNTc1ZDc2My4uODAyMmI4MjA1NTBhZDk4Y2Y5MDNjMTM2N2FlZTI1
YWQ2Zjk1YTUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVBy
b2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nl
c3NQcm94eS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE5LTIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE5
LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC01MSw2ICs1MSw3IEBACiAjaW5jbHVkZSA8d3RmL1RyYW5zbGF0ZWRQ
cm9jZXNzLmg+CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorI2luY2x1ZGUgPFdlYkNvcmUv
QUdYQ29tcGlsZXJTZXJ2aWNlLmg+CiAjaW5jbHVkZSA8d3RmL3NwaS9kYXJ3aW4vWFBDU1BJLmg+
CiAjZW5kaWYKIApAQCAtMTg4LDYgKzE4OSwxMiBAQCBHUFVQcm9jZXNzUHJveHk6OkdQVVByb2Nl
c3NQcm94eSgpCiAgICAgaWYgKCFjb250YWluZXJUZW1wb3JhcnlEaXJlY3RvcnkuaXNFbXB0eSgp
KQogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVXaXRob3V0UmVzb2x2aW5n
UGF0aChjb250YWluZXJUZW1wb3JhcnlEaXJlY3RvcnksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6
OlJlYWRXcml0ZSwgcGFyYW1ldGVycy5jb250YWluZXJUZW1wb3JhcnlEaXJlY3RvcnlFeHRlbnNp
b25IYW5kbGUpOwogI2VuZGlmCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBpZiAoV2Vi
Q29yZTo6ZGV2aWNlSGFzQUdYQ29tcGlsZXJTZXJ2aWNlKCkpIHsKKyAgICAgICAgcGFyYW1ldGVy
cy5jb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGVzID0gU2FuZGJveEV4dGVuc2lvbjo6Y3Jl
YXRlSGFuZGxlc0Zvck1hY2hMb29rdXAoV2ViQ29yZTo6YWd4Q29tcGlsZXJTZXJ2aWNlcygpLCBX
VEY6Om51bGxvcHQpOworICAgICAgICBwYXJhbWV0ZXJzLmR5bmFtaWNJT0tpdEV4dGVuc2lvbkhh
bmRsZXMgPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVzRm9ySU9LaXRDbGFzc0V4dGVu
c2lvbnMoV2ViQ29yZTo6YWd4Q29tcGlsZXJDbGFzc2VzKCksIFdURjo6bnVsbG9wdCk7CisgICAg
fQorI2VuZGlmCiAKICAgICAvLyBJbml0aWFsaXplIHRoZSBHUFUgcHJvY2Vzcy4KICAgICBzZW5k
KE1lc3NhZ2VzOjpHUFVQcm9jZXNzOjpJbml0aWFsaXplR1BVUHJvY2VzcyhwYXJhbWV0ZXJzKSwg
MCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>