<?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>203798</bug_id>
          
          <creation_ts>2019-11-03 16:45:17 -0800</creation_ts>
          <short_desc>AX: WKWebView does not shift Accessibility Focus for Catalyst</short_desc>
          <delta_ts>2019-11-08 11:03:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Liang">ericliang</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>pvollan</cc>
    
    <cc>samuel_white</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1586874</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Liang">ericliang</who>
    <bug_when>2019-11-03 16:45:17 -0800</bug_when>
    <thetext>WKWebViews do not respond to JavaScript that tell them to `focus()`, changing the Accessibility Element selected.

Steps To Reproduce:
1. Enable VoiceOver
2. Open a webpage that auto-shifts Accessibility focus via JavaScript.
3. Verify that no shift occurs.

(See Notes section for a working sample and instructions)

Results:
The WKWebView should adjust its Accessibility focus, but does not.

Regression:
This feature works great on iPad, just not in Catalyst.

Notes:
1. Download simpleCommands.zip containing HTML, CSS, and JS files.
2. Enable VoiceOver
3. Open simpleCommands.html inside Safari. After 5 seconds, the focus should switch and VoiceOver should begin reading out ‘today’s date’.

4. Now open the project found in WebpageCutscene.zip. It uses the same webpage as before.
5. Build and Run this project targeting Mac Catalyst. You will see that the VoiceOver focus does not shift when ran inside an app.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586875</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-03 16:45:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/56851887&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586879</commentid>
    <comment_count>2</comment_count>
      <attachid>382712</attachid>
    <who name="Eric Liang">ericliang</who>
    <bug_when>2019-11-03 17:21:08 -0800</bug_when>
    <thetext>Created attachment 382712
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586880</commentid>
    <comment_count>3</comment_count>
      <attachid>382712</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-11-03 18:13:03 -0800</bug_when>
    <thetext>Comment on attachment 382712
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKContentView.mm:578
&gt; +    [self _updateRemoteAccessibilityRegistration:NO];

there are a number of places to cleanup. check the other places where we do accessibility cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586881</commentid>
    <comment_count>4</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-11-03 18:13:49 -0800</bug_when>
    <thetext>You should also get a WebKit2 contributors point of view, like Daniel Bates or Brent Fulgham</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586898</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Liang">ericliang</who>
    <bug_when>2019-11-03 23:34:09 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #3)
&gt; Comment on attachment 382712 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=382712&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/WKContentView.mm:578
&gt; &gt; +    [self _updateRemoteAccessibilityRegistration:NO];
&gt; 
&gt; there are a number of places to cleanup. check the other places where we do
&gt; accessibility cleanup

Even though we do more cleanups in other places, if the process identifier didn&apos;t change, do we need to unregister the pid for ax?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586899</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Liang">ericliang</who>
    <bug_when>2019-11-03 23:35:34 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #3)
&gt; Comment on attachment 382712 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=382712&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/WKContentView.mm:578
&gt; &gt; +    [self _updateRemoteAccessibilityRegistration:NO];
&gt; 
&gt; there are a number of places to cleanup. check the other places where we do
&gt; accessibility cleanup

the Mac version cleans up when 1) page closed, 2) process swaps or exits</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586917</commentid>
    <comment_count>7</comment_count>
      <attachid>382712</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-11-04 02:45:00 -0800</bug_when>
    <thetext>Comment on attachment 382712
Patch

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

&gt;&gt;&gt;&gt; Source/WebKit/UIProcess/ios/WKContentView.mm:578
&gt;&gt;&gt;&gt; +    [self _updateRemoteAccessibilityRegistration:NO];
&gt;&gt;&gt; 
&gt;&gt;&gt; there are a number of places to cleanup. check the other places where we do accessibility cleanup
&gt;&gt; 
&gt;&gt; Even though we do more cleanups in other places, if the process identifier didn&apos;t change, do we need to unregister the pid for ax?
&gt; 
&gt; the Mac version cleans up when 1) page closed, 2) process swaps or exits

ok I think that&apos;s right</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587067</commentid>
    <comment_count>8</comment_count>
      <attachid>382712</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-11-04 11:15:06 -0800</bug_when>
    <thetext>Comment on attachment 382712
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKContentView.mm:73
&gt; +SOFT_LINK_FRAMEWORK(AppKit)
&gt; +SOFT_LINK_CLASS(AppKit, NSAccessibilityRemoteUIElement)

Why are you softlinking AppKit? WebKit links AppKit directly.

&gt; Source/WebKit/UIProcess/ios/WKContentView.mm:79
&gt; +@interface NSObject(NSAccessibilityRemoteUIElement_Private)
&gt; +- (void)registerRemoteUIProcessIdentifier:(pid_t)pid;
&gt; +- (void)unregisterRemoteUIProcessIdentifier:(pid_t)pid;
&gt; +@end
&gt; +#endif

This should be in a SPI header, not here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587070</commentid>
    <comment_count>9</comment_count>
      <attachid>382712</attachid>
    <who name="Eric Liang">ericliang</who>
    <bug_when>2019-11-04 11:19:32 -0800</bug_when>
    <thetext>Comment on attachment 382712
Patch

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

&gt;&gt; Source/WebKit/UIProcess/ios/WKContentView.mm:73
&gt;&gt; +SOFT_LINK_CLASS(AppKit, NSAccessibilityRemoteUIElement)
&gt; 
&gt; Why are you softlinking AppKit? WebKit links AppKit directly.

Correct me if I&apos;m wrong, but this is the iOS code so I don&apos;t think we can link or import anything from AppKit because of unavailability build errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587071</commentid>
    <comment_count>10</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-11-04 11:21:01 -0800</bug_when>
    <thetext>(In reply to Eric Liang from comment #9)
&gt; Comment on attachment 382712 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=382712&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/UIProcess/ios/WKContentView.mm:73
&gt; &gt;&gt; +SOFT_LINK_CLASS(AppKit, NSAccessibilityRemoteUIElement)
&gt; &gt; 
&gt; &gt; Why are you softlinking AppKit? WebKit links AppKit directly.
&gt; 
&gt; Correct me if I&apos;m wrong, but this is the iOS code so I don&apos;t think we can
&gt; link or import anything from AppKit because of unavailability build errors.

Oh, macCatalyst might not link AppKit directly, that&apos;s a fair point.

In that case, you should have -Softlinking headers like other frameworks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587079</commentid>
    <comment_count>11</comment_count>
      <attachid>382757</attachid>
    <who name="Eric Liang">ericliang</who>
    <bug_when>2019-11-04 12:17:15 -0800</bug_when>
    <thetext>Created attachment 382757
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587149</commentid>
    <comment_count>12</comment_count>
      <attachid>382757</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-11-04 14:13:59 -0800</bug_when>
    <thetext>Comment on attachment 382757
Patch

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

&gt; Source/WebKit/UIProcess/ios/AppKitSoftLink.h:2
&gt; + * Copyright (C) 2018 Apple Inc. All rights reserved.

2019

&gt; Source/WebKit/UIProcess/ios/AppKitSoftLink.mm:2
&gt; + * Copyright (C) 2018 Apple Inc. All rights reserved.

2019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587151</commentid>
    <comment_count>13</comment_count>
      <attachid>382774</attachid>
    <who name="Eric Liang">ericliang</who>
    <bug_when>2019-11-04 14:17:48 -0800</bug_when>
    <thetext>Created attachment 382774
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587169</commentid>
    <comment_count>14</comment_count>
      <attachid>382774</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-11-04 14:46:37 -0800</bug_when>
    <thetext>Comment on attachment 382774
Patch

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

&gt; Source/WebKit/UIProcess/ios/AppKitSoftLink.h:38
&gt; +@interface NSObject(NSAccessibilityRemoteUIElement_Private)
&gt; +- (void)registerRemoteUIProcessIdentifier:(pid_t)pid;
&gt; +- (void)unregisterRemoteUIProcessIdentifier:(pid_t)pid;
&gt; +@end

These go in AppKitSPI, not AppKitSoftLink. Probably in a macCatalyst-only section.

Also, the category name should have a space before the opening paren.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587226</commentid>
    <comment_count>15</comment_count>
      <attachid>382786</attachid>
    <who name="Eric Liang">ericliang</who>
    <bug_when>2019-11-04 16:31:07 -0800</bug_when>
    <thetext>Created attachment 382786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587925</commentid>
    <comment_count>16</comment_count>
      <attachid>382786</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-11-06 14:46:06 -0800</bug_when>
    <thetext>Comment on attachment 382786
Patch

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

&gt; Source/WebCore/PAL/pal/spi/cocoa/NSAccessibilitySPI.h:66
&gt; +SOFT_LINK_FRAMEWORK_FOR_HEADER(PAL, AppKit)
&gt; +SOFT_LINK_CLASS_FOR_HEADER(PAL, NSAccessibilityRemoteUIElement)

You moved too much :) These (soft linking bits) should be in -SoftLinking.h/.mm files like they were. Just the forward declarations needed to move here.

Other than that this looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588034</commentid>
    <comment_count>17</comment_count>
      <attachid>382995</attachid>
    <who name="Eric Liang">ericliang</who>
    <bug_when>2019-11-06 17:56:31 -0800</bug_when>
    <thetext>Created attachment 382995
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588121</commentid>
    <comment_count>18</comment_count>
      <attachid>382995</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-06 23:03:24 -0800</bug_when>
    <thetext>Comment on attachment 382995
Patch

Clearing flags on attachment: 382995

Committed r252175: &lt;https://trac.webkit.org/changeset/252175&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588122</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-06 23:03:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588719</commentid>
    <comment_count>20</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-11-08 10:54:07 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588720</commentid>
    <comment_count>21</comment_count>
      <attachid>383143</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-11-08 10:54:08 -0800</bug_when>
    <thetext>Created attachment 383143
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588722</commentid>
    <comment_count>22</comment_count>
      <attachid>383143</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-11-08 10:56:03 -0800</bug_when>
    <thetext>Comment on attachment 383143
Patch

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

&gt; Source/WebKit/ChangeLog:3
&gt; +        AX: WKWebView does not shift Accessibility Focus for Catalyst

seems like the wrong bug right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588726</commentid>
    <comment_count>23</comment_count>
      <attachid>383143</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-11-08 11:03:10 -0800</bug_when>
    <thetext>Comment on attachment 383143
Patch

Seems like a typo</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382712</attachid>
            <date>2019-11-03 17:21:08 -0800</date>
            <delta_ts>2019-11-04 12:17:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203798-20191103172106.patch</filename>
            <type>text/plain</type>
            <size>3717</size>
            <attacher name="Eric Liang">ericliang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxOTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk2MjEyYzdiNmMxZDVkNGQ0
MmNmYWZiYTA2YWYxZWI4Y2QxNDZhOGMuLmQzNGFkMWJkYWU0M2YyZWFiNmNiMzY1NDUwYTkwYTU4
ZDZjNTJjZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMTEtMDMgIEVyaWMgTGlh
bmcgIDxlcmljbGlhbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBXS1dlYlZpZXcgZG9lcyBu
b3Qgc2hpZnQgQWNjZXNzaWJpbGl0eSBGb2N1cyBmb3IgQ2F0YWx5c3QgKDIwMzc5OCkuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDM3OTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0aGUgY29k
ZSB0byByZWdpc3Rlci91bnJlZ2lzdGVyIHJlbW90ZSBVSSBQcm9jZXNzIGlkZW50aWZpZXIgb24g
dGhlIGhvc3QgYXBwLiAKKyAgICAgICAgVGhpcyBpcyB1c2VkIHNvIHRoYXQgdGhlIGhvc3QgYXBw
IGNhbiBhcHBlYXIgYXMgdGhlIHNlbmRlciBmb3Igbm90aWZpY2F0aW9ucyBzZW50IGZyb20gaXRz
IHdlYiBwcm9jZXNzZXMuIFVuZm9ydHVuYXRlbHkgdGhpcyBoYXMgdG8gYmUgZG9uZSBpbiBXZWJL
aXQ6IGluIGFjY2Vzc2liaWxpdHkgYnVuZGxlcyB0aGUgc3dpenpsZWQgY29kZSBpcyBub3QgY2Fs
bGVkIGJlY2F1c2Ugb2YgYnVuZGxlIGxvYWRpbmcgdGltZS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlldy5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfdXBkYXRl
UmVtb3RlQWNjZXNzaWJpbGl0eVJlZ2lzdHJhdGlvbjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBfYWNjZXNzaWJpbGl0eVJlZ2lzdGVyVUlQcm9jZXNzVG9rZW5zXSk6CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgX3Byb2Nlc3NEaWRFeGl0XSk6CisKIDIwMTktMTEtMDIgIERldmluIFJv
dXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBk
aWFnbm9zdGljIGxvZ2dpbmcgZm9yIGZyb250ZW5kIGZlYXR1cmUgdXNhZ2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KaW5kZXggOTVlYWU1Y2JhMGI5ODlm
MWQ4MzM0NTY0NGNlNDQ4YzQxMDk0YTkyOS4uMjc3MGVjYjhlOGRlYjBiYWY4YzA0MjY5MWE0MTJk
ZTFjNjk5ZWUwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXcubW0KQEAgLTY1LDggKzY1LDE4IEBACiAjaW1wb3J0IDxvYmpjL21lc3NhZ2UuaD4KICNpbXBv
cnQgPHBhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0
ci5oPgorI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9UZXh0
U3RyZWFtLmg+CiAKKyNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKK1NPRlRfTElOS19GUkFNRVdP
UksoQXBwS2l0KQorU09GVF9MSU5LX0NMQVNTKEFwcEtpdCwgTlNBY2Nlc3NpYmlsaXR5UmVtb3Rl
VUlFbGVtZW50KQorCitAaW50ZXJmYWNlIE5TT2JqZWN0KE5TQWNjZXNzaWJpbGl0eVJlbW90ZVVJ
RWxlbWVudF9Qcml2YXRlKQorLSAodm9pZClyZWdpc3RlclJlbW90ZVVJUHJvY2Vzc0lkZW50aWZp
ZXI6KHBpZF90KXBpZDsKKy0gKHZvaWQpdW5yZWdpc3RlclJlbW90ZVVJUHJvY2Vzc0lkZW50aWZp
ZXI6KHBpZF90KXBpZDsKK0BlbmQKKyNlbmRpZgogCiBAaW50ZXJmYWNlIFdLSW5zcGVjdG9ySW5k
aWNhdGlvblZpZXcgOiBVSVZpZXcKIEBlbmQKQEAgLTUxNiw2ICs1MjYsMjUgQEAgc3RhdGljIHZv
aWQgc3RvcmVBY2Nlc3NpYmlsaXR5UmVtb3RlQ29ubmVjdGlvbkluZm9ybWF0aW9uKGlkIGVsZW1l
bnQsIHBpZF90IHBpZCwKICAgICBvYmpjX3NldEFzc29jaWF0ZWRPYmplY3QoZWxlbWVudCwgKHZv
aWQqKVtAImF4LW1hY2hwb3J0IiBoYXNoXSwgQChzZW5kUG9ydCksIE9CSkNfQVNTT0NJQVRJT05f
UkVUQUlOX05PTkFUT01JQyk7CiB9CiAKKworLSAodm9pZClfdXBkYXRlUmVtb3RlQWNjZXNzaWJp
bGl0eVJlZ2lzdHJhdGlvbjooQk9PTClyZWdpc3RlclByb2Nlc3MKK3sKKyNpZiBQTEFURk9STShN
QUNDQVRBTFlTVCkKKyAgICBwaWRfdCBwaWQgPSAwOworICAgIGlmIChyZWdpc3RlclByb2Nlc3Mp
CisgICAgICAgIHBpZCA9IF9wYWdlLT5wcm9jZXNzKCkucHJvY2Vzc0lkZW50aWZpZXIoKTsKKyAg
ICBlbHNlCisgICAgICAgIHBpZCA9IFtvYmpjX2dldEFzc29jaWF0ZWRPYmplY3Qoc2VsZiwgKHZv
aWQqKVtAImF4LXBpZCIgaGFzaF0pIGludFZhbHVlXTsKKyAgICBpZiAoIXBpZCkKKyAgICAgICAg
cmV0dXJuOworCisgICAgaWYgKHJlZ2lzdGVyUHJvY2VzcykKKyAgICAgICAgW2dldE5TQWNjZXNz
aWJpbGl0eVJlbW90ZVVJRWxlbWVudENsYXNzKCkgcmVnaXN0ZXJSZW1vdGVVSVByb2Nlc3NJZGVu
dGlmaWVyOnBpZF07CisgICAgZWxzZQorICAgICAgICBbZ2V0TlNBY2Nlc3NpYmlsaXR5UmVtb3Rl
VUlFbGVtZW50Q2xhc3MoKSB1bnJlZ2lzdGVyUmVtb3RlVUlQcm9jZXNzSWRlbnRpZmllcjpwaWRd
OworI2VuZGlmCit9CisKIC0gKHZvaWQpX2FjY2Vzc2liaWxpdHlSZWdpc3RlclVJUHJvY2Vzc1Rv
a2VucwogewogICAgIGF1dG8gdXVpZCA9IFtOU1VVSUQgVVVJRF07CkBAIC01MjMsNiArNTUyLDcg
QEAgc3RhdGljIHZvaWQgc3RvcmVBY2Nlc3NpYmlsaXR5UmVtb3RlQ29ubmVjdGlvbkluZm9ybWF0
aW9uKGlkIGVsZW1lbnQsIHBpZF90IHBpZCwKIAogICAgIC8vIFN0b3JlIGluZm9ybWF0aW9uIGFi
b3V0IHRoZSBXZWJQcm9jZXNzIHRoYXQgY2FuIGxhdGVyIGJlIHJldHJpZXZlZCBieSB0aGUgaU9T
IEFjY2Vzc2liaWxpdHkgcnVudGltZS4KICAgICBpZiAoX3BhZ2UtPnByb2Nlc3MoKS5zdGF0ZSgp
ID09IFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpTdGF0ZTo6UnVubmluZykgeworICAgICAgICBb
c2VsZiBfdXBkYXRlUmVtb3RlQWNjZXNzaWJpbGl0eVJlZ2lzdHJhdGlvbjpZRVNdOwogICAgICAg
ICBJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24gPSBfcGFnZS0+cHJvY2VzcygpLmNvbm5lY3Rp
b24oKTsKICAgICAgICAgc3RvcmVBY2Nlc3NpYmlsaXR5UmVtb3RlQ29ubmVjdGlvbkluZm9ybWF0
aW9uKHNlbGYsIF9wYWdlLT5wcm9jZXNzKCkucHJvY2Vzc0lkZW50aWZpZXIoKSwgY29ubmVjdGlv
bi0+aWRlbnRpZmllcigpLnBvcnQsIHV1aWQpOwogCkBAIC01NDUsNiArNTc1LDcgQEAgc3RhdGlj
IHZvaWQgc3RvcmVBY2Nlc3NpYmlsaXR5UmVtb3RlQ29ubmVjdGlvbkluZm9ybWF0aW9uKGlkIGVs
ZW1lbnQsIHBpZF90IHBpZCwKIAogLSAodm9pZClfcHJvY2Vzc0RpZEV4aXQKIHsKKyAgICBbc2Vs
ZiBfdXBkYXRlUmVtb3RlQWNjZXNzaWJpbGl0eVJlZ2lzdHJhdGlvbjpOT107CiAgICAgW3NlbGYg
Y2xlYW51cEludGVyYWN0aW9uXTsKIAogICAgIFtzZWxmIHNldFNob3dpbmdJbnNwZWN0b3JJbmRp
Y2F0aW9uOk5PXTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382757</attachid>
            <date>2019-11-04 12:17:15 -0800</date>
            <delta_ts>2019-11-04 14:17:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203798-20191104121713.patch</filename>
            <type>text/plain</type>
            <size>12261</size>
            <attacher name="Eric Liang">ericliang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxOTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk2MjEyYzdiNmMxZDVkNGQ0
MmNmYWZiYTA2YWYxZWI4Y2QxNDZhOGMuLjIzYmQ4ZTZmNDczZWE0YWUyNzQ3ZWNlNjI2OTA5MTdi
ZDllY2JjNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTktMTEtMDQgIEVyaWMgTGlh
bmcgIDxlcmljbGlhbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBXS1dlYlZpZXcgZG9lcyBu
b3Qgc2hpZnQgQWNjZXNzaWJpbGl0eSBGb2N1cyBmb3IgQ2F0YWx5c3QgKDIwMzc5OCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzc5OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRoZSBjb2Rl
IHRvIHJlZ2lzdGVyL3VucmVnaXN0ZXIgcmVtb3RlIFVJIFByb2Nlc3MgaWRlbnRpZmllciBvbiB0
aGUgaG9zdCBhcHAuCisgICAgICAgIFRoaXMgaXMgdXNlZCBzbyB0aGF0IHRoZSBob3N0IGFwcCBj
YW4gYXBwZWFyIGFzIHRoZSBzZW5kZXIgZm9yIG5vdGlmaWNhdGlvbnMgc2VudCBmcm9tIGl0cyB3
ZWIgcHJvY2Vzc2VzLiBVbmZvcnR1bmF0ZWx5IHRoaXMgaGFzIHRvIGJlIGRvbmUgaW4gV2ViS2l0
OiBpbiBhY2Nlc3NpYmlsaXR5IGJ1bmRsZXMgdGhlIHN3aXp6bGVkIGNvZGUgaXMgbm90IGNhbGxl
ZCBiZWNhdXNlIG9mIGJ1bmRsZSBsb2FkaW5nIHRpbWUuCisKKyAgICAgICAgKiBTb3VyY2VzQ29j
b2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvQXBwS2l0U29mdExpbmsuaDogQWRkZWQu
CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9BcHBLaXRTb2Z0TGluay5tbTogQWRkZWQuCisgICAg
ICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tOgorICAgICAgICAoLVtXS0NvbnRl
bnRWaWV3IF91cGRhdGVSZW1vdGVBY2Nlc3NpYmlsaXR5UmVnaXN0cmF0aW9uOl0pOgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IF9hY2Nlc3NpYmlsaXR5UmVnaXN0ZXJVSVByb2Nlc3NUb2tlbnNd
KToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcHJvY2Vzc0RpZEV4aXRdKToKKyAgICAgICAg
KiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOS0xMS0wMiAgRGV2aW4g
Um91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRk
IGRpYWdub3N0aWMgbG9nZ2luZyBmb3IgZnJvbnRlbmQgZmVhdHVyZSB1c2FnZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2Vz
Q29jb2EudHh0CmluZGV4IGEyMmFhYmEwMzEwMWVmN2MzMGE4YTA0NGE4ZGNhMjhmODEwMWVlYzEu
LmIwNzc1NDJkMjNjODc4OTllZjU5YzI4NmFlZmJlNjVmMThiY2U3MzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXND
b2NvYS50eHQKQEAgLTQwNSw2ICs0MDUsNyBAQCBVSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tG
dWxsc2NyZWVuU3RhY2tWaWV3Lm1tCiBVSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2Ny
ZWVuVmlld0NvbnRyb2xsZXIubW0KIFVJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3Jl
ZW5XaW5kb3dDb250cm9sbGVySU9TLm1tCiAKK1VJUHJvY2Vzcy9pb3MvQXBwS2l0U29mdExpbmsu
bW0KIFVJUHJvY2Vzcy9pb3MvRHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLm1tCiBVSVByb2Nlc3Mv
aW9zL0VkaXRhYmxlSW1hZ2VDb250cm9sbGVyLm1tCiBVSVByb2Nlc3MvaW9zL0lucHV0Vmlld1Vw
ZGF0ZURlZmVycmVyLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
QXBwS2l0U29mdExpbmsuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9BcHBLaXRTb2Z0
TGluay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmEwY2I2MjFhZDdiYjBiNzE2NGNiODlmZjVjOTRlZGEzZTY2NDcz
MjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvQXBwS2l0
U29mdExpbmsuaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKKworI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+
CisKK1NPRlRfTElOS19GUkFNRVdPUktfRk9SX0hFQURFUihXZWJLaXQsIEFwcEtpdCk7CitTT0ZU
X0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIE5TQWNjZXNzaWJpbGl0eVJlbW90ZVVJRWxl
bWVudCk7CisKK0BpbnRlcmZhY2UgTlNPYmplY3QoTlNBY2Nlc3NpYmlsaXR5UmVtb3RlVUlFbGVt
ZW50X1ByaXZhdGUpCistICh2b2lkKXJlZ2lzdGVyUmVtb3RlVUlQcm9jZXNzSWRlbnRpZmllcjoo
cGlkX3QpcGlkOworLSAodm9pZCl1bnJlZ2lzdGVyUmVtb3RlVUlQcm9jZXNzSWRlbnRpZmllcjoo
cGlkX3QpcGlkOworQGVuZAorCisjZW5kaWYgLy8gSEFWRShQRU5DSUxLSVQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvQXBwS2l0U29mdExpbmsubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvQXBwS2l0U29mdExpbmsubW0KbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmY4NjVl
MDE2NWQxM2JiOTdhNzVkZGE4MzhkNTE4ZTQxZjI2YTY4NwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9BcHBLaXRTb2Z0TGluay5tbQpAQCAtMCwwICsxLDMz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmIFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorCisjaW1wb3J0IDx3
dGYvU29mdExpbmtpbmcuaD4KKworU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfU09VUkNFKFdlYktp
dCwgQXBwS2l0KTsKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFKFdlYktpdCwgQXBwS2l0LCBO
U0FjY2Vzc2liaWxpdHlSZW1vdGVVSUVsZW1lbnQpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KaW5kZXggOTVlYWU1Y2JhMGI5ODlmMWQ4
MzM0NTY0NGNlNDQ4YzQxMDk0YTkyOS4uMWEwNWRmZTkxNDNjNzQ1MzBhOWQ3YzIxN2UxZDQxM2Uw
NzUxMDlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcu
bW0KQEAgLTMwLDYgKzMwLDcgQEAKIAogI2ltcG9ydCAiQVBJUGFnZUNvbmZpZ3VyYXRpb24uaCIK
ICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlJT1MuaCIKKyNpbXBvcnQgIkFwcEtpdFNvZnRMaW5rLmgi
CiAjaW1wb3J0ICJGdWxsc2NyZWVuQ2xpZW50LmgiCiAjaW1wb3J0ICJJbnB1dFZpZXdVcGRhdGVE
ZWZlcnJlci5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgpAQCAtNTE2LDYgKzUxNywyNSBAQCBzdGF0
aWMgdm9pZCBzdG9yZUFjY2Vzc2liaWxpdHlSZW1vdGVDb25uZWN0aW9uSW5mb3JtYXRpb24oaWQg
ZWxlbWVudCwgcGlkX3QgcGlkLAogICAgIG9iamNfc2V0QXNzb2NpYXRlZE9iamVjdChlbGVtZW50
LCAodm9pZCopW0AiYXgtbWFjaHBvcnQiIGhhc2hdLCBAKHNlbmRQb3J0KSwgT0JKQ19BU1NPQ0lB
VElPTl9SRVRBSU5fTk9OQVRPTUlDKTsKIH0KIAorCistICh2b2lkKV91cGRhdGVSZW1vdGVBY2Nl
c3NpYmlsaXR5UmVnaXN0cmF0aW9uOihCT09MKXJlZ2lzdGVyUHJvY2VzcworeworI2lmIFBMQVRG
T1JNKE1BQ0NBVEFMWVNUKQorICAgIHBpZF90IHBpZCA9IDA7CisgICAgaWYgKHJlZ2lzdGVyUHJv
Y2VzcykKKyAgICAgICAgcGlkID0gX3BhZ2UtPnByb2Nlc3MoKS5wcm9jZXNzSWRlbnRpZmllcigp
OworICAgIGVsc2UKKyAgICAgICAgcGlkID0gW29iamNfZ2V0QXNzb2NpYXRlZE9iamVjdChzZWxm
LCAodm9pZCopW0AiYXgtcGlkIiBoYXNoXSkgaW50VmFsdWVdOworICAgIGlmICghcGlkKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAocmVnaXN0ZXJQcm9jZXNzKQorICAgICAgICBbV2ViS2l0
OjpnZXROU0FjY2Vzc2liaWxpdHlSZW1vdGVVSUVsZW1lbnRDbGFzcygpIHJlZ2lzdGVyUmVtb3Rl
VUlQcm9jZXNzSWRlbnRpZmllcjpwaWRdOworICAgIGVsc2UKKyAgICAgICAgW1dlYktpdDo6Z2V0
TlNBY2Nlc3NpYmlsaXR5UmVtb3RlVUlFbGVtZW50Q2xhc3MoKSB1bnJlZ2lzdGVyUmVtb3RlVUlQ
cm9jZXNzSWRlbnRpZmllcjpwaWRdOworI2VuZGlmCit9CisKIC0gKHZvaWQpX2FjY2Vzc2liaWxp
dHlSZWdpc3RlclVJUHJvY2Vzc1Rva2VucwogewogICAgIGF1dG8gdXVpZCA9IFtOU1VVSUQgVVVJ
RF07CkBAIC01MjMsNiArNTQzLDcgQEAgc3RhdGljIHZvaWQgc3RvcmVBY2Nlc3NpYmlsaXR5UmVt
b3RlQ29ubmVjdGlvbkluZm9ybWF0aW9uKGlkIGVsZW1lbnQsIHBpZF90IHBpZCwKIAogICAgIC8v
IFN0b3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBXZWJQcm9jZXNzIHRoYXQgY2FuIGxhdGVyIGJl
IHJldHJpZXZlZCBieSB0aGUgaU9TIEFjY2Vzc2liaWxpdHkgcnVudGltZS4KICAgICBpZiAoX3Bh
Z2UtPnByb2Nlc3MoKS5zdGF0ZSgpID09IFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpTdGF0ZTo6
UnVubmluZykgeworICAgICAgICBbc2VsZiBfdXBkYXRlUmVtb3RlQWNjZXNzaWJpbGl0eVJlZ2lz
dHJhdGlvbjpZRVNdOwogICAgICAgICBJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24gPSBfcGFn
ZS0+cHJvY2VzcygpLmNvbm5lY3Rpb24oKTsKICAgICAgICAgc3RvcmVBY2Nlc3NpYmlsaXR5UmVt
b3RlQ29ubmVjdGlvbkluZm9ybWF0aW9uKHNlbGYsIF9wYWdlLT5wcm9jZXNzKCkucHJvY2Vzc0lk
ZW50aWZpZXIoKSwgY29ubmVjdGlvbi0+aWRlbnRpZmllcigpLnBvcnQsIHV1aWQpOwogCkBAIC01
NDUsNiArNTY2LDcgQEAgc3RhdGljIHZvaWQgc3RvcmVBY2Nlc3NpYmlsaXR5UmVtb3RlQ29ubmVj
dGlvbkluZm9ybWF0aW9uKGlkIGVsZW1lbnQsIHBpZF90IHBpZCwKIAogLSAodm9pZClfcHJvY2Vz
c0RpZEV4aXQKIHsKKyAgICBbc2VsZiBfdXBkYXRlUmVtb3RlQWNjZXNzaWJpbGl0eVJlZ2lzdHJh
dGlvbjpOT107CiAgICAgW3NlbGYgY2xlYW51cEludGVyYWN0aW9uXTsKIAogICAgIFtzZWxmIHNl
dFNob3dpbmdJbnNwZWN0b3JJbmRpY2F0aW9uOk5PXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDIxZjNmNmFkOGNkMGU5MTQ2MDQwYzAx
N2JhZDEyMDZiNzhiNDc2MmIuLjMzNGFhYzgxYzhlYTM2YzNiZWE0ZTI1ZTgyM2UzYzA5MzE4NmVk
MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtOTAsNiArOTAsNyBAQAogCQkwNzZFODg0RTFBMTNDQURGMDA1RTkwRkMgLyogQVBJQ29u
dGV4dE1lbnVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA3NkU4ODREMUExM0NBREYwMDVFOTBGQyAvKiBBUElDb250ZXh0TWVudUNsaWVudC5o
ICovOyB9OwogCQkwNzcyODExRDIxMjM0RkY2MDBDOEVGMkUgLyogVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0QTQxMEY0MzE5QUY3QjI3MDAyRUJBQjUgLyogVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyLmggKi87IH07CiAJCTA3QTVFQkJDMUM3QkE0M0UwMEI5Q0E2OSAvKiBXS0Zy
YW1lSGFuZGxlUmVmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwN0E1RUJCQTFDN0JBNDNFMDBCOUNBNjkgLyogV0tGcmFtZUhhbmRsZVJlZi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTA3QjQxNzZBMjM3
MEI5MzYwMDVFQzQyQiAvKiBBcHBLaXRTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdCNDE3NjgyMzcwQjkzNjAwNUVDNDJCIC8qIEFwcEtp
dFNvZnRMaW5rLmggKi87IH07CiAJCTBFOTdENzREMjAwRTkwMDQwMEJGNjY0MyAvKiBTYWZlQnJv
d3NpbmdTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBFOTdENzRDMjAwRThGRjMwMEJGNjY0MyAvKiBTYWZlQnJvd3NpbmdTUEkuaCAqLzsgfTsKIAkJ
MEVERTg1MDMyMDA0RTc1RDAwMDMwNTYwIC8qIFdlYnNpdGVQb3BVcFBvbGljeS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEVERTg1MDIyMDA0RTc0OTAw
MDMwNTYwIC8qIFdlYnNpdGVQb3BVcFBvbGljeS5oICovOyB9OwogCQkwRjA4Q0Y1MjFENjNDMTNB
MDBCNDhERjEgLyogV0tGb3JtU2VsZWN0UGlja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjA4Q0Y1MTFENjNDMTNBMDBCNDhERjEgLyogV0tGb3Jt
U2VsZWN0UGlja2VyLmggKi87IH07CkBAIC0xOTY4LDYgKzE5NjksOCBAQAogCQkwNzZFODg0RjFB
MTNDQkM2MDA1RTkwRkMgLyogQVBJSW5qZWN0ZWRCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJSW5qZWN0ZWRCdW5kbGVQYWdl
Q29udGV4dE1lbnVDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDdBNUVC
QjkxQzdCQTQzRTAwQjlDQTY5IC8qIFdLRnJhbWVIYW5kbGVSZWYuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tGcmFtZUhhbmRsZVJlZi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA3QTVFQkJBMUM3QkE0M0UwMEI5Q0E2OSAvKiBXS0ZyYW1lSGFu
ZGxlUmVmLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLRnJhbWVIYW5kbGVS
ZWYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDdCNDE3NjgyMzcwQjkzNjAwNUVD
NDJCIC8qIEFwcEtpdFNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEFwcEtpdFNvZnRMaW5rLmg7
IHBhdGggPSBpb3MvQXBwS2l0U29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMDdCNDE3NjkyMzcwQjkzNjAwNUVDNDJCIC8qIEFwcEtpdFNvZnRMaW5rLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gQXBwS2l0U29mdExpbmsubW07IHBhdGggPSBpb3MvQXBwS2l0U29mdExp
bmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NjdENkE1RkU4NDAzMDdDMDJB
QUMwNyAvKiBBcHBLaXQuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBBcHBLaXQuZnJhbWV3
b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yazsg
c291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJMDg5QzE2NjdGRTg0MTE1OEMwMkFBQzA3
IC8qIGVuICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC5zdHJpbmdzOyBuYW1lID0gZW47IHBhdGggPSBl
bi5scHJvai9JbmZvUGxpc3Quc3RyaW5nczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEU5N0Q3NEMyMDBFOEZGMzAwQkY2NjQzIC8qIFNhZmVCcm93c2luZ1NQSS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTYWZlQnJvd3NpbmdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYx
MDQsNiArNjEwNyw4IEBACiAJCQkJQTExNURDNkUxOTFEODJBQjAwREE4MDcyIC8qIF9XS1dlYlZp
ZXdQcmludEZvcm1hdHRlci5oICovLAogCQkJCUExMTVEQzZEMTkxRDgyQUIwMERBODA3MiAvKiBf
V0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0gKi8sCiAJCQkJQTE5REQzQkYxRDA3RDE2ODAwQUM4
MjNCIC8qIF9XS1dlYlZpZXdQcmludEZvcm1hdHRlckludGVybmFsLmggKi8sCisJCQkJMDdCNDE3
NjgyMzcwQjkzNjAwNUVDNDJCIC8qIEFwcEtpdFNvZnRMaW5rLmggKi8sCisJCQkJMDdCNDE3Njky
MzcwQjkzNjAwNUVDNDJCIC8qIEFwcEtpdFNvZnRMaW5rLm1tICovLAogCQkJCTFBRDRDMTkxMUIz
OUYzMzIwMEFCQzI4RSAvKiBBcHBsaWNhdGlvblN0YXRlVHJhY2tlci5oICovLAogCQkJCTFBRDRD
MTkwMUIzOUYzMzIwMEFCQzI4RSAvKiBBcHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbSAqLywKIAkJ
CQlGNDk2QTQyRjFGNThBMjcyMDA0QzE3NTcgLyogRHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLmgg
Ki8sCkBAIC05NDUyLDYgKzk0NTcsNyBAQAogCQkJCTU3N0ZGNzgyMjM0NkU4MUMwMDRFREZCOSAv
KiBBUElXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUUyODY4NDFDN0Y5Mzg2MDA2OUFDNEYgLyogQVBJV2Vic2l0ZURhdGFSZWNvcmQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBNjU2M0U1MUI3QThDNTAwMDlDRjc4NyAvKiBBUElXaW5kb3dGZWF0dXJl
cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMDdCNDE3NkEyMzcwQjkzNjAwNUVDNDJCIC8qIEFwcEtp
dFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNDhEMkE4NTIxNTgzQTdFMDBDNjc1MkIg
LyogQXBwS2l0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNEVDOTRFMzIzNTZDQzU3MDAwQkI2
MTQgLyogQXBwbGljYXRpb25TZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFENEMx
OTMxQjM5RjMzMjAwQUJDMjhFIC8qIEFwcGxpY2F0aW9uU3RhdGVUcmFja2VyLmggaW4gSGVhZGVy
cyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382774</attachid>
            <date>2019-11-04 14:17:48 -0800</date>
            <delta_ts>2019-11-04 16:31:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203798-20191104141747.patch</filename>
            <type>text/plain</type>
            <size>12261</size>
            <attacher name="Eric Liang">ericliang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxOTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk2MjEyYzdiNmMxZDVkNGQ0
MmNmYWZiYTA2YWYxZWI4Y2QxNDZhOGMuLjIzYmQ4ZTZmNDczZWE0YWUyNzQ3ZWNlNjI2OTA5MTdi
ZDllY2JjNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTktMTEtMDQgIEVyaWMgTGlh
bmcgIDxlcmljbGlhbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBXS1dlYlZpZXcgZG9lcyBu
b3Qgc2hpZnQgQWNjZXNzaWJpbGl0eSBGb2N1cyBmb3IgQ2F0YWx5c3QgKDIwMzc5OCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzc5OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRoZSBjb2Rl
IHRvIHJlZ2lzdGVyL3VucmVnaXN0ZXIgcmVtb3RlIFVJIFByb2Nlc3MgaWRlbnRpZmllciBvbiB0
aGUgaG9zdCBhcHAuCisgICAgICAgIFRoaXMgaXMgdXNlZCBzbyB0aGF0IHRoZSBob3N0IGFwcCBj
YW4gYXBwZWFyIGFzIHRoZSBzZW5kZXIgZm9yIG5vdGlmaWNhdGlvbnMgc2VudCBmcm9tIGl0cyB3
ZWIgcHJvY2Vzc2VzLiBVbmZvcnR1bmF0ZWx5IHRoaXMgaGFzIHRvIGJlIGRvbmUgaW4gV2ViS2l0
OiBpbiBhY2Nlc3NpYmlsaXR5IGJ1bmRsZXMgdGhlIHN3aXp6bGVkIGNvZGUgaXMgbm90IGNhbGxl
ZCBiZWNhdXNlIG9mIGJ1bmRsZSBsb2FkaW5nIHRpbWUuCisKKyAgICAgICAgKiBTb3VyY2VzQ29j
b2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvQXBwS2l0U29mdExpbmsuaDogQWRkZWQu
CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9BcHBLaXRTb2Z0TGluay5tbTogQWRkZWQuCisgICAg
ICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tOgorICAgICAgICAoLVtXS0NvbnRl
bnRWaWV3IF91cGRhdGVSZW1vdGVBY2Nlc3NpYmlsaXR5UmVnaXN0cmF0aW9uOl0pOgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IF9hY2Nlc3NpYmlsaXR5UmVnaXN0ZXJVSVByb2Nlc3NUb2tlbnNd
KToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcHJvY2Vzc0RpZEV4aXRdKToKKyAgICAgICAg
KiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOS0xMS0wMiAgRGV2aW4g
Um91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRk
IGRpYWdub3N0aWMgbG9nZ2luZyBmb3IgZnJvbnRlbmQgZmVhdHVyZSB1c2FnZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2Vz
Q29jb2EudHh0CmluZGV4IGEyMmFhYmEwMzEwMWVmN2MzMGE4YTA0NGE4ZGNhMjhmODEwMWVlYzEu
LmIwNzc1NDJkMjNjODc4OTllZjU5YzI4NmFlZmJlNjVmMThiY2U3MzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXND
b2NvYS50eHQKQEAgLTQwNSw2ICs0MDUsNyBAQCBVSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tG
dWxsc2NyZWVuU3RhY2tWaWV3Lm1tCiBVSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2Ny
ZWVuVmlld0NvbnRyb2xsZXIubW0KIFVJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3Jl
ZW5XaW5kb3dDb250cm9sbGVySU9TLm1tCiAKK1VJUHJvY2Vzcy9pb3MvQXBwS2l0U29mdExpbmsu
bW0KIFVJUHJvY2Vzcy9pb3MvRHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLm1tCiBVSVByb2Nlc3Mv
aW9zL0VkaXRhYmxlSW1hZ2VDb250cm9sbGVyLm1tCiBVSVByb2Nlc3MvaW9zL0lucHV0Vmlld1Vw
ZGF0ZURlZmVycmVyLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
QXBwS2l0U29mdExpbmsuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9BcHBLaXRTb2Z0
TGluay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5ODk3OTkyYTkzNmU0ODhiY2NlZGY1YTMyMDJiMzNjNGQ5NGJi
ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvQXBwS2l0
U29mdExpbmsuaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKKworI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+
CisKK1NPRlRfTElOS19GUkFNRVdPUktfRk9SX0hFQURFUihXZWJLaXQsIEFwcEtpdCk7CitTT0ZU
X0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIE5TQWNjZXNzaWJpbGl0eVJlbW90ZVVJRWxl
bWVudCk7CisKK0BpbnRlcmZhY2UgTlNPYmplY3QoTlNBY2Nlc3NpYmlsaXR5UmVtb3RlVUlFbGVt
ZW50X1ByaXZhdGUpCistICh2b2lkKXJlZ2lzdGVyUmVtb3RlVUlQcm9jZXNzSWRlbnRpZmllcjoo
cGlkX3QpcGlkOworLSAodm9pZCl1bnJlZ2lzdGVyUmVtb3RlVUlQcm9jZXNzSWRlbnRpZmllcjoo
cGlkX3QpcGlkOworQGVuZAorCisjZW5kaWYgLy8gSEFWRShQRU5DSUxLSVQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvQXBwS2l0U29mdExpbmsubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvQXBwS2l0U29mdExpbmsubW0KbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTBiNTNi
Mzk4ZWRjYzY4M2Y2NmY1ZWFjMGE4YjBjYjg1N2JmYzYwZAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9BcHBLaXRTb2Z0TGluay5tbQpAQCAtMCwwICsxLDMz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmIFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorCisjaW1wb3J0IDx3
dGYvU29mdExpbmtpbmcuaD4KKworU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfU09VUkNFKFdlYktp
dCwgQXBwS2l0KTsKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFKFdlYktpdCwgQXBwS2l0LCBO
U0FjY2Vzc2liaWxpdHlSZW1vdGVVSUVsZW1lbnQpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KaW5kZXggOTVlYWU1Y2JhMGI5ODlmMWQ4
MzM0NTY0NGNlNDQ4YzQxMDk0YTkyOS4uMWEwNWRmZTkxNDNjNzQ1MzBhOWQ3YzIxN2UxZDQxM2Uw
NzUxMDlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcu
bW0KQEAgLTMwLDYgKzMwLDcgQEAKIAogI2ltcG9ydCAiQVBJUGFnZUNvbmZpZ3VyYXRpb24uaCIK
ICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlJT1MuaCIKKyNpbXBvcnQgIkFwcEtpdFNvZnRMaW5rLmgi
CiAjaW1wb3J0ICJGdWxsc2NyZWVuQ2xpZW50LmgiCiAjaW1wb3J0ICJJbnB1dFZpZXdVcGRhdGVE
ZWZlcnJlci5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgpAQCAtNTE2LDYgKzUxNywyNSBAQCBzdGF0
aWMgdm9pZCBzdG9yZUFjY2Vzc2liaWxpdHlSZW1vdGVDb25uZWN0aW9uSW5mb3JtYXRpb24oaWQg
ZWxlbWVudCwgcGlkX3QgcGlkLAogICAgIG9iamNfc2V0QXNzb2NpYXRlZE9iamVjdChlbGVtZW50
LCAodm9pZCopW0AiYXgtbWFjaHBvcnQiIGhhc2hdLCBAKHNlbmRQb3J0KSwgT0JKQ19BU1NPQ0lB
VElPTl9SRVRBSU5fTk9OQVRPTUlDKTsKIH0KIAorCistICh2b2lkKV91cGRhdGVSZW1vdGVBY2Nl
c3NpYmlsaXR5UmVnaXN0cmF0aW9uOihCT09MKXJlZ2lzdGVyUHJvY2VzcworeworI2lmIFBMQVRG
T1JNKE1BQ0NBVEFMWVNUKQorICAgIHBpZF90IHBpZCA9IDA7CisgICAgaWYgKHJlZ2lzdGVyUHJv
Y2VzcykKKyAgICAgICAgcGlkID0gX3BhZ2UtPnByb2Nlc3MoKS5wcm9jZXNzSWRlbnRpZmllcigp
OworICAgIGVsc2UKKyAgICAgICAgcGlkID0gW29iamNfZ2V0QXNzb2NpYXRlZE9iamVjdChzZWxm
LCAodm9pZCopW0AiYXgtcGlkIiBoYXNoXSkgaW50VmFsdWVdOworICAgIGlmICghcGlkKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAocmVnaXN0ZXJQcm9jZXNzKQorICAgICAgICBbV2ViS2l0
OjpnZXROU0FjY2Vzc2liaWxpdHlSZW1vdGVVSUVsZW1lbnRDbGFzcygpIHJlZ2lzdGVyUmVtb3Rl
VUlQcm9jZXNzSWRlbnRpZmllcjpwaWRdOworICAgIGVsc2UKKyAgICAgICAgW1dlYktpdDo6Z2V0
TlNBY2Nlc3NpYmlsaXR5UmVtb3RlVUlFbGVtZW50Q2xhc3MoKSB1bnJlZ2lzdGVyUmVtb3RlVUlQ
cm9jZXNzSWRlbnRpZmllcjpwaWRdOworI2VuZGlmCit9CisKIC0gKHZvaWQpX2FjY2Vzc2liaWxp
dHlSZWdpc3RlclVJUHJvY2Vzc1Rva2VucwogewogICAgIGF1dG8gdXVpZCA9IFtOU1VVSUQgVVVJ
RF07CkBAIC01MjMsNiArNTQzLDcgQEAgc3RhdGljIHZvaWQgc3RvcmVBY2Nlc3NpYmlsaXR5UmVt
b3RlQ29ubmVjdGlvbkluZm9ybWF0aW9uKGlkIGVsZW1lbnQsIHBpZF90IHBpZCwKIAogICAgIC8v
IFN0b3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBXZWJQcm9jZXNzIHRoYXQgY2FuIGxhdGVyIGJl
IHJldHJpZXZlZCBieSB0aGUgaU9TIEFjY2Vzc2liaWxpdHkgcnVudGltZS4KICAgICBpZiAoX3Bh
Z2UtPnByb2Nlc3MoKS5zdGF0ZSgpID09IFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpTdGF0ZTo6
UnVubmluZykgeworICAgICAgICBbc2VsZiBfdXBkYXRlUmVtb3RlQWNjZXNzaWJpbGl0eVJlZ2lz
dHJhdGlvbjpZRVNdOwogICAgICAgICBJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24gPSBfcGFn
ZS0+cHJvY2VzcygpLmNvbm5lY3Rpb24oKTsKICAgICAgICAgc3RvcmVBY2Nlc3NpYmlsaXR5UmVt
b3RlQ29ubmVjdGlvbkluZm9ybWF0aW9uKHNlbGYsIF9wYWdlLT5wcm9jZXNzKCkucHJvY2Vzc0lk
ZW50aWZpZXIoKSwgY29ubmVjdGlvbi0+aWRlbnRpZmllcigpLnBvcnQsIHV1aWQpOwogCkBAIC01
NDUsNiArNTY2LDcgQEAgc3RhdGljIHZvaWQgc3RvcmVBY2Nlc3NpYmlsaXR5UmVtb3RlQ29ubmVj
dGlvbkluZm9ybWF0aW9uKGlkIGVsZW1lbnQsIHBpZF90IHBpZCwKIAogLSAodm9pZClfcHJvY2Vz
c0RpZEV4aXQKIHsKKyAgICBbc2VsZiBfdXBkYXRlUmVtb3RlQWNjZXNzaWJpbGl0eVJlZ2lzdHJh
dGlvbjpOT107CiAgICAgW3NlbGYgY2xlYW51cEludGVyYWN0aW9uXTsKIAogICAgIFtzZWxmIHNl
dFNob3dpbmdJbnNwZWN0b3JJbmRpY2F0aW9uOk5PXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDIxZjNmNmFkOGNkMGU5MTQ2MDQwYzAx
N2JhZDEyMDZiNzhiNDc2MmIuLjMzNGFhYzgxYzhlYTM2YzNiZWE0ZTI1ZTgyM2UzYzA5MzE4NmVk
MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtOTAsNiArOTAsNyBAQAogCQkwNzZFODg0RTFBMTNDQURGMDA1RTkwRkMgLyogQVBJQ29u
dGV4dE1lbnVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA3NkU4ODREMUExM0NBREYwMDVFOTBGQyAvKiBBUElDb250ZXh0TWVudUNsaWVudC5o
ICovOyB9OwogCQkwNzcyODExRDIxMjM0RkY2MDBDOEVGMkUgLyogVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0QTQxMEY0MzE5QUY3QjI3MDAyRUJBQjUgLyogVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyLmggKi87IH07CiAJCTA3QTVFQkJDMUM3QkE0M0UwMEI5Q0E2OSAvKiBXS0Zy
YW1lSGFuZGxlUmVmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwN0E1RUJCQTFDN0JBNDNFMDBCOUNBNjkgLyogV0tGcmFtZUhhbmRsZVJlZi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTA3QjQxNzZBMjM3
MEI5MzYwMDVFQzQyQiAvKiBBcHBLaXRTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdCNDE3NjgyMzcwQjkzNjAwNUVDNDJCIC8qIEFwcEtp
dFNvZnRMaW5rLmggKi87IH07CiAJCTBFOTdENzREMjAwRTkwMDQwMEJGNjY0MyAvKiBTYWZlQnJv
d3NpbmdTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBFOTdENzRDMjAwRThGRjMwMEJGNjY0MyAvKiBTYWZlQnJvd3NpbmdTUEkuaCAqLzsgfTsKIAkJ
MEVERTg1MDMyMDA0RTc1RDAwMDMwNTYwIC8qIFdlYnNpdGVQb3BVcFBvbGljeS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEVERTg1MDIyMDA0RTc0OTAw
MDMwNTYwIC8qIFdlYnNpdGVQb3BVcFBvbGljeS5oICovOyB9OwogCQkwRjA4Q0Y1MjFENjNDMTNB
MDBCNDhERjEgLyogV0tGb3JtU2VsZWN0UGlja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjA4Q0Y1MTFENjNDMTNBMDBCNDhERjEgLyogV0tGb3Jt
U2VsZWN0UGlja2VyLmggKi87IH07CkBAIC0xOTY4LDYgKzE5NjksOCBAQAogCQkwNzZFODg0RjFB
MTNDQkM2MDA1RTkwRkMgLyogQVBJSW5qZWN0ZWRCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJSW5qZWN0ZWRCdW5kbGVQYWdl
Q29udGV4dE1lbnVDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDdBNUVC
QjkxQzdCQTQzRTAwQjlDQTY5IC8qIFdLRnJhbWVIYW5kbGVSZWYuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tGcmFtZUhhbmRsZVJlZi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA3QTVFQkJBMUM3QkE0M0UwMEI5Q0E2OSAvKiBXS0ZyYW1lSGFu
ZGxlUmVmLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLRnJhbWVIYW5kbGVS
ZWYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDdCNDE3NjgyMzcwQjkzNjAwNUVD
NDJCIC8qIEFwcEtpdFNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEFwcEtpdFNvZnRMaW5rLmg7
IHBhdGggPSBpb3MvQXBwS2l0U29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMDdCNDE3NjkyMzcwQjkzNjAwNUVDNDJCIC8qIEFwcEtpdFNvZnRMaW5rLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gQXBwS2l0U29mdExpbmsubW07IHBhdGggPSBpb3MvQXBwS2l0U29mdExp
bmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NjdENkE1RkU4NDAzMDdDMDJB
QUMwNyAvKiBBcHBLaXQuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBBcHBLaXQuZnJhbWV3
b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yazsg
c291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJMDg5QzE2NjdGRTg0MTE1OEMwMkFBQzA3
IC8qIGVuICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC5zdHJpbmdzOyBuYW1lID0gZW47IHBhdGggPSBl
bi5scHJvai9JbmZvUGxpc3Quc3RyaW5nczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEU5N0Q3NEMyMDBFOEZGMzAwQkY2NjQzIC8qIFNhZmVCcm93c2luZ1NQSS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTYWZlQnJvd3NpbmdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYx
MDQsNiArNjEwNyw4IEBACiAJCQkJQTExNURDNkUxOTFEODJBQjAwREE4MDcyIC8qIF9XS1dlYlZp
ZXdQcmludEZvcm1hdHRlci5oICovLAogCQkJCUExMTVEQzZEMTkxRDgyQUIwMERBODA3MiAvKiBf
V0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0gKi8sCiAJCQkJQTE5REQzQkYxRDA3RDE2ODAwQUM4
MjNCIC8qIF9XS1dlYlZpZXdQcmludEZvcm1hdHRlckludGVybmFsLmggKi8sCisJCQkJMDdCNDE3
NjgyMzcwQjkzNjAwNUVDNDJCIC8qIEFwcEtpdFNvZnRMaW5rLmggKi8sCisJCQkJMDdCNDE3Njky
MzcwQjkzNjAwNUVDNDJCIC8qIEFwcEtpdFNvZnRMaW5rLm1tICovLAogCQkJCTFBRDRDMTkxMUIz
OUYzMzIwMEFCQzI4RSAvKiBBcHBsaWNhdGlvblN0YXRlVHJhY2tlci5oICovLAogCQkJCTFBRDRD
MTkwMUIzOUYzMzIwMEFCQzI4RSAvKiBBcHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbSAqLywKIAkJ
CQlGNDk2QTQyRjFGNThBMjcyMDA0QzE3NTcgLyogRHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLmgg
Ki8sCkBAIC05NDUyLDYgKzk0NTcsNyBAQAogCQkJCTU3N0ZGNzgyMjM0NkU4MUMwMDRFREZCOSAv
KiBBUElXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUUyODY4NDFDN0Y5Mzg2MDA2OUFDNEYgLyogQVBJV2Vic2l0ZURhdGFSZWNvcmQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBNjU2M0U1MUI3QThDNTAwMDlDRjc4NyAvKiBBUElXaW5kb3dGZWF0dXJl
cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMDdCNDE3NkEyMzcwQjkzNjAwNUVDNDJCIC8qIEFwcEtp
dFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNDhEMkE4NTIxNTgzQTdFMDBDNjc1MkIg
LyogQXBwS2l0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNEVDOTRFMzIzNTZDQzU3MDAwQkI2
MTQgLyogQXBwbGljYXRpb25TZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFENEMx
OTMxQjM5RjMzMjAwQUJDMjhFIC8qIEFwcGxpY2F0aW9uU3RhdGVUcmFja2VyLmggaW4gSGVhZGVy
cyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382786</attachid>
            <date>2019-11-04 16:31:07 -0800</date>
            <delta_ts>2019-11-06 17:56:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203798-20191104163106.patch</filename>
            <type>text/plain</type>
            <size>20984</size>
            <attacher name="Eric Liang">ericliang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxOTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBjNzg4ZThkYjIwODkz
ZjE2ZTI5Y2UyZTAwNjM3ZjMxNmZmZGY3My4uZjc2MWJlMmZlZDYwYzY2MGZiMWM2ODk3ZjhhNzBi
ODdkMDQ1Njk3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTExLTA0ICBFcmlj
IExpYW5nICA8ZXJpY2xpYW5nQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogV0tXZWJWaWV3IGRv
ZXMgbm90IHNoaWZ0IEFjY2Vzc2liaWxpdHkgRm9jdXMgZm9yIENhdGFseXN0ICgyMDM3OTgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDM3OTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VkIHRo
ZSBpbXBvcnQgcGF0aCBvZiBOU0FjY2Vzc2liaWxpdHlTUEkuaAorCisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbToKKwogMjAxOS0xMS0wMiAg
T3Jpb2wgQnJ1ZmF1ICA8b2JydWZhdUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0g
Rml4IGxpbmUgbmFtZSBwb3NpdGlvbnMgYWZ0ZXIgYXV0byByZXBlYXQgd2l0aCBubyBsaW5lIG5h
bWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCAzNTI2MGI3ZTAzMmU3ZDQzNzM0ZmNkMmI5MmMzODZi
ZGEyNmJlN2Y2Li5lMmM1MDVhMDJkZDAzNGU0NDI0YmE1MDY5ZjNjYzM2MDc3MzRiOWFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOS0xMS0wNCAgRXJpYyBMaWFuZyAg
PGVyaWNsaWFuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFdLV2ViVmlldyBkb2VzIG5vdCBz
aGlmdCBBY2Nlc3NpYmlsaXR5IEZvY3VzIGZvciBDYXRhbHlzdCAoMjAzNzk4KQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzNzk4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlZCB0aGUgcGF0aCBv
ZiBOU0FjY2Vzc2liaWxpdHlTUEkgZnJvbSBNYWMgdG8gQ29jb2EKKyAgICAgICAgU29mdCBsaW5r
ZWQgQXBwS2l0IGFuZCBOU0FjY2Vzc2liaWxpdHlSZW1vdGVVSUVsZW1lbnQgY2xhc3MgZm9yIE1h
YyBDYXRhbHlzdAorCisgICAgICAgICogUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogcGFsL3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxpdHlTUEkuaDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TQWNjZXNzaWJpbGl0eVNQSS5oLgorICAg
ICAgICAqIHBhbC9zcGkvY29jb2EvTlNBY2Nlc3NpYmlsaXR5U1BJLm1tOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TQWNjZXNzaWJpbGl0eVNQSS5oLgorCiAy
MDE5LTExLTAyICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBBZGQgZGlhZ25vc3RpYyBsb2dnaW5nIGZvciBmcm9udGVuZCBmZWF0dXJl
IHVzYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IDk2MjEyYzdiNmMxZDVkNGQ0MmNmYWZiYTA2YWYxZWI4Y2QxNDZh
OGMuLjEyZjM2NGE1YzA0YzM2NGViZGM3ZDVhZGI2ZTFhZDhjMzIyYjNlNDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTktMTEtMDQgIEVyaWMgTGlhbmcgIDxlcmljbGlhbmdAYXBwbGUu
Y29tPgorCisgICAgICAgIEFYOiBXS1dlYlZpZXcgZG9lcyBub3Qgc2hpZnQgQWNjZXNzaWJpbGl0
eSBGb2N1cyBmb3IgQ2F0YWx5c3QgKDIwMzc5OCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzc5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEluIGNhdGFseXN0LCByZWdpc3Rlci91bnJlZ2lzdGVyIHJl
bW90ZSBVSSBQcm9jZXNzIGlkZW50aWZpZXIgb24gdGhlIGhvc3QgYXBwIHdoZW4gdGhlIHdlYiBw
cm9jZXNzIGlzIGNvbm5lY3RlZC9kZXRhY2hlZC4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHNvIHRo
YXQgdGhlIGhvc3QgYXBwIGNhbiBhcHBlYXIgYXMgdGhlIHNlbmRlciBmb3Igbm90aWZpY2F0aW9u
cyBzZW50IGZyb20gaXRzIHdlYiBwcm9jZXNzZXMuIFVuZm9ydHVuYXRlbHkgdGhpcyBoYXMgdG8g
YmUgZG9uZSBpbiBXZWJLaXQ6IGluIGFjY2Vzc2liaWxpdHkgYnVuZGxlcyB0aGUgc3dpenpsZWQg
Y29kZSBpcyBub3QgY2FsbGVkIGJlY2F1c2Ugb2YgYnVuZGxlIGxvYWRpbmcgdGltZS4KKyAgICAg
ICAgQWxzbyBjaGFuZ2VkIHRoZSBpbXBvcnQgcGF0aCBvZiBOU0FjY2Vzc2liaWxpdHlTUEkuaAor
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBf
dXBkYXRlUmVtb3RlQWNjZXNzaWJpbGl0eVJlZ2lzdHJhdGlvbjpdKToKKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBfYWNjZXNzaWJpbGl0eVJlZ2lzdGVyVUlQcm9jZXNzVG9rZW5zXSk6CisgICAg
ICAgICgtW1dLQ29udGVudFZpZXcgX3Byb2Nlc3NEaWRFeGl0XSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0TWFjLm1tOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKwogMjAxOS0xMS0wMiAgRGV2aW4g
Um91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRk
IGRpYWdub3N0aWMgbG9nZ2luZyBmb3IgZnJvbnRlbmQgZmVhdHVyZSB1c2FnZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGRlYWIw
MWRiMTg2YmI1ZjJmMTVjMDQ0ZWVlNGFlNGE3ODdkMjk2MjUuLjhmNTRjYmU1OWNlYjlkNWE0MDk3
MjM0NmIxMWE3YWM2ZWFlYWRhODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzLDYgKzIzLDcgQEAKIC8qIEJlZ2luIFBCWEJ1
aWxkRmlsZSBzZWN0aW9uICovCiAJCTA3N0U4N0IxMjI2QTQ2MDIwMEEyQUZGMCAvKiBBVkZvdW5k
YXRpb25Tb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA3N0U4N0FGMjI2QTQ2MDIwMEEyQUZGMCAvKiBBVkZvdW5kYXRpb25Tb2Z0TGluay5t
bSAqLzsgfTsKIAkJMDc3RTg3QjIyMjZBNDYwMzAwQTJBRkYwIC8qIEFWRm91bmRhdGlvblNvZnRM
aW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzdF
ODdCMDIyNkE0NjAyMDBBMkFGRjAgLyogQVZGb3VuZGF0aW9uU29mdExpbmsuaCAqLzsgfTsKKwkJ
MDdCNDE3NzAyMzcwRjQzNzAwNUVDNDJCIC8qIE5TQWNjZXNzaWJpbGl0eVNQSS5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3QjQxNzZGMjM3MEY0Mzcw
MDVFQzQyQiAvKiBOU0FjY2Vzc2liaWxpdHlTUEkubW0gKi87IH07CiAJCTBDMDBDRkQ0MUY2OENF
NDYwMEFBQzI2RCAvKiBNZWRpYVRpbWVBVkZvdW5kYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBDMDBDRkQyMUY2OENFNDYwMEFBQzI2RCAvKiBN
ZWRpYVRpbWVBVkZvdW5kYXRpb24uaCAqLzsgfTsKIAkJMEMyRDlFNzMxRUVGNUFGNjAwREJDMzE3
IC8qIEV4cG9ydE1hY3Jvcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEMyRDlFNzIxRUVGNUFGNjAwREJDMzE3IC8qIEV4cG9ydE1hY3Jvcy5oICovOyB9
OwogCQkwQzJEQTA2RDFGMzNDQTg0MDBEQkMzMTcgLyogQ0ZMb2NhbGVTUEkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBDMkRBMDY3MUYzM0NBODQwMERC
QzMxNyAvKiBDRkxvY2FsZVNQSS5oICovOyB9OwpAQCAtMTg1LDYgKzE4Niw3IEBACiAvKiBCZWdp
biBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KIAkJMDc3RTg3QUYyMjZBNDYwMjAwQTJBRkYw
IC8qIEFWRm91bmRhdGlvblNvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gQVZGb3VuZGF0aW9uU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA3N0U4N0IwMjI2QTQ2MDIwMEEyQUZGMCAvKiBBVkZvdW5kYXRpb25Tb2Z0TGlu
ay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBVkZvdW5kYXRpb25Tb2Z0TGlu
ay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwN0I0MTc2RjIzNzBGNDM3MDA1RUM0
MkIgLyogTlNBY2Nlc3NpYmlsaXR5U1BJLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTlNBY2Nl
c3NpYmlsaXR5U1BJLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwQzAwQ0ZEMTFG
NjhDRTQ2MDBBQUMyNkQgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhVGltZUFWRm91bmRhdGlvbi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMDBDRkQyMUY2OENFNDYwMEFBQzI2RCAvKiBNZWRp
YVRpbWVBVkZvdW5kYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVk
aWFUaW1lQVZGb3VuZGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMkQ5
RTcyMUVFRjVBRjYwMERCQzMxNyAvKiBFeHBvcnRNYWNyb3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRXhwb3J0TWFjcm9zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC00MTgsNiArNDIwLDggQEAKIAkJCQkwQzVBRjkxMjFGNDNBNEM3MDAyRUFDMDIgLyogTGF1
bmNoU2VydmljZXNTUEkuaCAqLywKIAkJCQkxQ0MzQUNFNzIyQkQ3RUI4MDBGMzYwRjAgLyogTWV0
YWxTUEkuaCAqLywKIAkJCQkwQzJEQTEyRDFGM0JFQjQ5MDBEQkMzMTcgLyogTkVGaWx0ZXJTb3Vy
Y2VTUEkuaCAqLywKKwkJCQkwQzc3ODU3NDFGNDUxMzBGMDBGNEVCQjYgLyogTlNBY2Nlc3NpYmls
aXR5U1BJLmggKi8sCisJCQkJMDdCNDE3NkYyMzcwRjQzNzAwNUVDNDJCIC8qIE5TQWNjZXNzaWJp
bGl0eVNQSS5tbSAqLywKIAkJCQkwQzJEQTEyRTFGM0JFQjQ5MDBEQkMzMTcgLyogTlNBdHRyaWJ1
dGVkU3RyaW5nU1BJLmggKi8sCiAJCQkJMEMyREExMkYxRjNCRUI0OTAwREJDMzE3IC8qIE5TQnV0
dG9uQ2VsbFNQSS5oICovLAogCQkJCTBDMkRBMTMwMUYzQkVCNDkwMERCQzMxNyAvKiBOU0NhbGVu
ZGFyRGF0ZVNQSS5oICovLApAQCAtNDczLDcgKzQ3Nyw2IEBACiAJCQkJQTEwMjY1ODgxRjU2NzQ3
QTAwQjRDODQ0IC8qIEhJVG9vbGJveFNQSS5oICovLAogCQkJCTBDNzc4NTcyMUY0NTEzMEYwMEY0
RUJCNiAvKiBMb29rdXBTUEkuaCAqLywKIAkJCQkwQzc3ODU3MzFGNDUxMzBGMDBGNEVCQjYgLyog
TWVkaWFSZW1vdGVTUEkuaCAqLywKLQkJCQkwQzc3ODU3NDFGNDUxMzBGMDBGNEVCQjYgLyogTlNB
Y2Nlc3NpYmlsaXR5U1BJLmggKi8sCiAJCQkJMUNDRUU0RjYyMEQ4NzQzRjAwNDdCMDk3IC8qIE5T
QXBwZWFyYW5jZVNQSS5oICovLAogCQkJCTBDNzc4NTc1MUY0NTEzMEYwMEY0RUJCNiAvKiBOU0Fw
cGxpY2F0aW9uU1BJLmggKi8sCiAJCQkJQTExNzVCNEExRjZCMkQ3RTAwQzRCOUYwIC8qIE5TQ2Vs
bFNQSS5oICovLApAQCAtOTIxLDYgKzkyNCw3IEBACiAJCQkJMUM0ODc2RDgxRjhEN0Y0RTAwQ0NF
RUJEIC8qIExvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDRFMUE4QjAyMUZBNTRFQjAw
QzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMENGOTlDQTQx
RjczNjM3NTAwN0VFNzkzIC8qIE1lZGlhVGltZUFWRm91bmRhdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkwN0I0MTc3MDIzNzBGNDM3MDA1RUM0MkIgLyogTlNBY2Nlc3NpYmlsaXR5U1BJLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTFGNjNDQTAyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRT
b2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCUExMTc1QjRGMUY2QjMzNzMwMEM0QjlGMCAv
KiBQb3B1cE1lbnUubW0gaW4gU291cmNlcyAqLywKIAkJCQk0NDUwRkM5RjIxRjVGNjAyMDA0REZB
NTYgLyogUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL05TQWNjZXNzaWJpbGl0eVNQSS5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvTlNBY2Nlc3NpYmlsaXR5U1BJLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTc1OTU5YzA4OWM4OGM5NTc2OTkwZGM1NmZlZDY0NTUyNzIzOWJhMgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL05TQWNjZXNzaWJpbGl0
eVNQSS5oCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoQVBQS0lUKQorCisjaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8QXBwS2l0L05TQWNjZXNzaWJpbGl0eVJl
bW90ZVVJRWxlbWVudC5oPgorCisjZWxzZQorCitAaW50ZXJmYWNlIE5TQWNjZXNzaWJpbGl0eVJl
bW90ZVVJRWxlbWVudCA6IE5TT2JqZWN0CisKKysgKHZvaWQpc2V0UmVtb3RlVUlBcHA6KEJPT0wp
ZmxhZzsKKysgKE5TRGF0YSAqKXJlbW90ZVRva2VuRm9yTG9jYWxVSUVsZW1lbnQ6KGlkKWxvY2Fs
VUlFbGVtZW50OworKyAodm9pZClyZWdpc3RlclJlbW90ZVVJUHJvY2Vzc0lkZW50aWZpZXI6KHBp
ZF90KXBpZDsKKysgKHZvaWQpdW5yZWdpc3RlclJlbW90ZVVJUHJvY2Vzc0lkZW50aWZpZXI6KHBp
ZF90KXBpZDsKKworLSAoaWQpaW5pdFdpdGhSZW1vdGVUb2tlbjooTlNEYXRhICopcmVtb3RlVG9r
ZW47CistIChwaWRfdClwcm9jZXNzSWRlbnRpZmllcjsKKy0gKHZvaWQpYWNjZXNzaWJpbGl0eVNl
dFByZXNlbnRlclByb2Nlc3NJZGVudGlmaWVyOihwaWRfdClwcmVzZW50ZXJQSUQ7CisKK0Bwcm9w
ZXJ0eSAocmV0YWluKSBpZCB3aW5kb3dVSUVsZW1lbnQ7CitAcHJvcGVydHkgKHJldGFpbikgaWQg
dG9wTGV2ZWxVSUVsZW1lbnQ7CisKK0BlbmQKKworI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCisKK1dURl9FWFRFUk5fQ19CRUdJTgorCit2b2lkIE5TQWNjZXNzaWJpbGl0eUhhbmRs
ZUZvY3VzQ2hhbmdlZCgpOwordm9pZCBOU0FjY2Vzc2liaWxpdHlVbnJlZ2lzdGVyVW5pcXVlSWRG
b3JVSUVsZW1lbnQoaWQgZWxlbWVudCk7CisKK1dURl9FWFRFUk5fQ19FTkQKKworI2VsaWYgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpCisKKyNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgorCitTT0ZU
X0xJTktfRlJBTUVXT1JLX0ZPUl9IRUFERVIoUEFMLCBBcHBLaXQpCitTT0ZUX0xJTktfQ0xBU1Nf
Rk9SX0hFQURFUihQQUwsIE5TQWNjZXNzaWJpbGl0eVJlbW90ZVVJRWxlbWVudCkKKworQGludGVy
ZmFjZSBOU09iamVjdCAoTlNBY2Nlc3NpYmlsaXR5UmVtb3RlVUlFbGVtZW50X1ByaXZhdGUpCisK
Ky0gKHZvaWQpcmVnaXN0ZXJSZW1vdGVVSVByb2Nlc3NJZGVudGlmaWVyOihwaWRfdClwaWQ7Cist
ICh2b2lkKXVucmVnaXN0ZXJSZW1vdGVVSVByb2Nlc3NJZGVudGlmaWVyOihwaWRfdClwaWQ7CisK
K0BlbmQKKworI2VuZGlmIC8vIFVTRShBUFBLSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxpdHlTUEkubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxpdHlTUEkubW0KbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGY0
NzM5N2EwMWUzMTY4MjRhM2U0MDM5ZjYzYTg1NjFjZTc1MTVjMAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL05TQWNjZXNzaWJpbGl0eVNQSS5tbQpA
QCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQor
CisjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KKworU09GVF9MSU5LX0ZSQU1FV09SS19GT1Jf
U09VUkNFKFBBTCwgQXBwS2l0KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBP
UlQoUEFMLCBBcHBLaXQsIE5TQWNjZXNzaWJpbGl0eVJlbW90ZVVJRWxlbWVudCwgUEFMX0VYUE9S
VCkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMv
TlNBY2Nlc3NpYmlsaXR5U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNB
Y2Nlc3NpYmlsaXR5U1BJLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBlODcwMGZm
N2E2ODdlYTQxNDc3YmU5ZjdlYjBjNTdiNmZmMTUwZGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05T
QWNjZXNzaWJpbGl0eVNQSS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWYgVVNFKEFQUEtJVCkK
LQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0KLSNpbXBvcnQgPEFwcEtpdC9OU0FjY2Vz
c2liaWxpdHlSZW1vdGVVSUVsZW1lbnQuaD4KLQotI2Vsc2UKLQotQGludGVyZmFjZSBOU0FjY2Vz
c2liaWxpdHlSZW1vdGVVSUVsZW1lbnQgOiBOU09iamVjdAotCi0rICh2b2lkKXNldFJlbW90ZVVJ
QXBwOihCT09MKWZsYWc7Ci0rIChOU0RhdGEgKilyZW1vdGVUb2tlbkZvckxvY2FsVUlFbGVtZW50
OihpZClsb2NhbFVJRWxlbWVudDsKLSsgKHZvaWQpcmVnaXN0ZXJSZW1vdGVVSVByb2Nlc3NJZGVu
dGlmaWVyOihwaWRfdClwaWQ7Ci0rICh2b2lkKXVucmVnaXN0ZXJSZW1vdGVVSVByb2Nlc3NJZGVu
dGlmaWVyOihwaWRfdClwaWQ7Ci0KLS0gKGlkKWluaXRXaXRoUmVtb3RlVG9rZW46KE5TRGF0YSAq
KXJlbW90ZVRva2VuOwotLSAocGlkX3QpcHJvY2Vzc0lkZW50aWZpZXI7Ci0tICh2b2lkKWFjY2Vz
c2liaWxpdHlTZXRQcmVzZW50ZXJQcm9jZXNzSWRlbnRpZmllcjoocGlkX3QpcHJlc2VudGVyUElE
OwotCi1AcHJvcGVydHkgKHJldGFpbikgaWQgd2luZG93VUlFbGVtZW50OwotQHByb3BlcnR5IChy
ZXRhaW4pIGlkIHRvcExldmVsVUlFbGVtZW50OwotCi1AZW5kCi0KLSNlbmRpZiAvLyBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQotCi1XVEZfRVhURVJOX0NfQkVHSU4KLQotdm9pZCBOU0FjY2Vzc2li
aWxpdHlIYW5kbGVGb2N1c0NoYW5nZWQoKTsKLXZvaWQgTlNBY2Nlc3NpYmlsaXR5VW5yZWdpc3Rl
clVuaXF1ZUlkRm9yVUlFbGVtZW50KGlkIGVsZW1lbnQpOwotCi1XVEZfRVhURVJOX0NfRU5ECi0K
LSNlbmRpZiAvLyBVU0UoQVBQS0lUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0KaW5kZXggYzlhODkzYmMzMDk5NmQ5OWZlNDVj
YjFiNzIxOWUzNmFjNzNhMGZkYi4uMTBjMjg0NDNiMDFkYTEyMmE5ZjJjZTZhZWZmZjRiY2QzYjk4
ODkzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmpl
Y3RDYWNoZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9i
amVjdENhY2hlTWFjLm1tCkBAIC0zMyw3ICszMyw3IEBACiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5
VGFibGUuaCIKICNpbXBvcnQgIlJlbmRlck9iamVjdC5oIgogI2ltcG9ydCAiV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJNYWMuaCIKLSNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQWNjZXNzaWJp
bGl0eVNQSS5oPgorI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxpdHlTUEkuaD4K
IAogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAjaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2
aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzUHJpdi5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlck1hYy5tbQppbmRleCBjNTcwOTQ5YzU2MGI1ZmExMWJjNDQzMDA5MGUyMjUzYzY5NWM4
ZTNkLi45OWYxYWFiMDdjODIzNDI3YjIzNTYxNTBjZDQxZjExNDNiZjc1ZmY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQpAQCAtNzYsOCArNzYsOCBAQAogI2ltcG9y
dCAiVGV4dEl0ZXJhdG9yLmgiCiAjaW1wb3J0ICJWaXNpYmxlVW5pdHMuaCIKICNpbXBvcnQgIldl
YkNvcmVGcmFtZVZpZXcuaCIKKyNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNBY2Nlc3NpYmlsaXR5
U1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmg+Ci0jaW1wb3J0IDxw
YWwvc3BpL21hYy9OU0FjY2Vzc2liaWxpdHlTUEkuaD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGlt
ZUV4dHJhcy5oPgogI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykgfHwgRU5BQkxFKE1FVEVSX0VM
RU1FTlQpCiAjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IDY1NzVkYTY1OWRkNjFmOTMz
MmVhMmM1NGU5ZjhkZTM3ZTE3ZDEzOWEuLmY2YTEzZWIxMzlhMjVlZGVlYTcyZDlhNmY3ZTFmZmQx
MGE1ZmY4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZp
ZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tCkBAIC0xMDYsMTAgKzEwNiwxMCBAQAogI2ltcG9ydCA8V2ViQ29yZS9XZWJQbGF5YmFja0Nv
bnRyb2xzTWFuYWdlci5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaD4K
ICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvQVZLaXRTUEkuaD4KKyNpbXBvcnQgPHBhbC9zcGkvY29j
b2EvTlNBY2Nlc3NpYmlsaXR5U1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05TVG91Y2hC
YXJTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL0RhdGFEZXRlY3RvcnNTUEkuaD4KICNpbXBv
cnQgPHBhbC9zcGkvbWFjL0xvb2t1cFNQSS5oPgotI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNBY2Nl
c3NpYmlsaXR5U1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0FwcGxpY2F0aW9uU1BJLmg+
CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0ltbWVkaWF0ZUFjdGlvbkdlc3R1cmVSZWNvZ25pemVy
U1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU1Njcm9sbGVySW1wU1BJLmg+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmluZGV4IDk1ZWFlNWNiYTBi
OTg5ZjFkODMzNDU2NDRjZTQ0OGM0MTA5NGE5MjkuLjg2MjBhNTk5NjJlODg5MDc3ZjFhYWI1MmQ0
ZjI2YzI5MDc3NjUxY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3Lm1tCkBAIC02Myw2ICs2Myw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9WZWxvY2l0eURhdGEuaD4KICNpbXBv
cnQgPG9iamMvbWVzc2FnZS5oPgorI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxp
dHlTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oPgogI2ltcG9y
dCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL3RleHQvVGV4dFN0cmVhbS5oPgpAQCAt
NTE2LDYgKzUxNywyNSBAQCBzdGF0aWMgdm9pZCBzdG9yZUFjY2Vzc2liaWxpdHlSZW1vdGVDb25u
ZWN0aW9uSW5mb3JtYXRpb24oaWQgZWxlbWVudCwgcGlkX3QgcGlkLAogICAgIG9iamNfc2V0QXNz
b2NpYXRlZE9iamVjdChlbGVtZW50LCAodm9pZCopW0AiYXgtbWFjaHBvcnQiIGhhc2hdLCBAKHNl
bmRQb3J0KSwgT0JKQ19BU1NPQ0lBVElPTl9SRVRBSU5fTk9OQVRPTUlDKTsKIH0KIAorCistICh2
b2lkKV91cGRhdGVSZW1vdGVBY2Nlc3NpYmlsaXR5UmVnaXN0cmF0aW9uOihCT09MKXJlZ2lzdGVy
UHJvY2VzcworeworI2lmIFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorICAgIHBpZF90IHBpZCA9IDA7
CisgICAgaWYgKHJlZ2lzdGVyUHJvY2VzcykKKyAgICAgICAgcGlkID0gX3BhZ2UtPnByb2Nlc3Mo
KS5wcm9jZXNzSWRlbnRpZmllcigpOworICAgIGVsc2UKKyAgICAgICAgcGlkID0gW29iamNfZ2V0
QXNzb2NpYXRlZE9iamVjdChzZWxmLCAodm9pZCopW0AiYXgtcGlkIiBoYXNoXSkgaW50VmFsdWVd
OworICAgIGlmICghcGlkKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAocmVnaXN0ZXJQcm9j
ZXNzKQorICAgICAgICBbUEFMOjpnZXROU0FjY2Vzc2liaWxpdHlSZW1vdGVVSUVsZW1lbnRDbGFz
cygpIHJlZ2lzdGVyUmVtb3RlVUlQcm9jZXNzSWRlbnRpZmllcjpwaWRdOworICAgIGVsc2UKKyAg
ICAgICAgW1BBTDo6Z2V0TlNBY2Nlc3NpYmlsaXR5UmVtb3RlVUlFbGVtZW50Q2xhc3MoKSB1bnJl
Z2lzdGVyUmVtb3RlVUlQcm9jZXNzSWRlbnRpZmllcjpwaWRdOworI2VuZGlmCit9CisKIC0gKHZv
aWQpX2FjY2Vzc2liaWxpdHlSZWdpc3RlclVJUHJvY2Vzc1Rva2VucwogewogICAgIGF1dG8gdXVp
ZCA9IFtOU1VVSUQgVVVJRF07CkBAIC01MjMsNiArNTQzLDcgQEAgc3RhdGljIHZvaWQgc3RvcmVB
Y2Nlc3NpYmlsaXR5UmVtb3RlQ29ubmVjdGlvbkluZm9ybWF0aW9uKGlkIGVsZW1lbnQsIHBpZF90
IHBpZCwKIAogICAgIC8vIFN0b3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBXZWJQcm9jZXNzIHRo
YXQgY2FuIGxhdGVyIGJlIHJldHJpZXZlZCBieSB0aGUgaU9TIEFjY2Vzc2liaWxpdHkgcnVudGlt
ZS4KICAgICBpZiAoX3BhZ2UtPnByb2Nlc3MoKS5zdGF0ZSgpID09IFdlYktpdDo6V2ViUHJvY2Vz
c1Byb3h5OjpTdGF0ZTo6UnVubmluZykgeworICAgICAgICBbc2VsZiBfdXBkYXRlUmVtb3RlQWNj
ZXNzaWJpbGl0eVJlZ2lzdHJhdGlvbjpZRVNdOwogICAgICAgICBJUEM6OkNvbm5lY3Rpb24qIGNv
bm5lY3Rpb24gPSBfcGFnZS0+cHJvY2VzcygpLmNvbm5lY3Rpb24oKTsKICAgICAgICAgc3RvcmVB
Y2Nlc3NpYmlsaXR5UmVtb3RlQ29ubmVjdGlvbkluZm9ybWF0aW9uKHNlbGYsIF9wYWdlLT5wcm9j
ZXNzKCkucHJvY2Vzc0lkZW50aWZpZXIoKSwgY29ubmVjdGlvbi0+aWRlbnRpZmllcigpLnBvcnQs
IHV1aWQpOwogCkBAIC01NDUsNiArNTY2LDcgQEAgc3RhdGljIHZvaWQgc3RvcmVBY2Nlc3NpYmls
aXR5UmVtb3RlQ29ubmVjdGlvbkluZm9ybWF0aW9uKGlkIGVsZW1lbnQsIHBpZF90IHBpZCwKIAog
LSAodm9pZClfcHJvY2Vzc0RpZEV4aXQKIHsKKyAgICBbc2VsZiBfdXBkYXRlUmVtb3RlQWNjZXNz
aWJpbGl0eVJlZ2lzdHJhdGlvbjpOT107CiAgICAgW3NlbGYgY2xlYW51cEludGVyYWN0aW9uXTsK
IAogICAgIFtzZWxmIHNldFNob3dpbmdJbnNwZWN0b3JJbmRpY2F0aW9uOk5PXTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlX
ZWJQYWdlT2JqZWN0TWFjLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RNYWMubW0KaW5kZXggODczMjc5Nzg0N2YwODFi
ZWI2MmJhZDNmNzZlOGRjMGNmOWUwYzY2My4uMzQ3N2Q0OGY0MGM4OWEyNzcxNjBhMDcxNjg2NTY3
ZTVmNDZkYzE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RNYWMubW0KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RNYWMu
bW0KQEAgLTQ1LDcgKzQ1LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvU2Nyb2xsVmlldy5oPgogI2lt
cG9ydCA8V2ViQ29yZS9TY3JvbGxiYXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJNYWMuaD4KLSNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQWNjZXNzaWJp
bGl0eVNQSS5oPgorI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxpdHlTUEkuaD4K
ICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJhcy5oPgogCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KaW5kZXggZDcyMDA1MmQx
NTkwMGQ0MjU5ZWQ4MjE0ODk2MjQ0ZmI1MWI0NzM3MC4uYmFlOWMxOGEwNWIyM2M4N2E4ZTliNzk5
ZTU5YTY5YzMxMGJhMzY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KQEAgLTkwLDcgKzkwLDcgQEAKICNpbXBvcnQgPFdlYkNv
cmUvVGV4dEl0ZXJhdG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Zpc2libGVVbml0cy5oPgogI2lt
cG9ydCA8V2ViQ29yZS9XaW5kb3dzS2V5Ym9hcmRDb2Rlcy5oPgotI2ltcG9ydCA8cGFsL3NwaS9t
YWMvTlNBY2Nlc3NpYmlsaXR5U1BJLmg+CisjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05TQWNjZXNz
aWJpbGl0eVNQSS5oPgogI2ltcG9ydCA8d3RmL1NldEZvclNjb3BlLmg+CiAKICNpZiBFTkFCTEUo
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KaW5kZXggY2E2ZjRlMjg5OWFmYTk2MTA1YzZhYmMw
ZGM4NjhmODM0NDE0ZWFmOS4uZWViMDcwY2EyMTNiZTcyNTQ5OTM1ZDhmNDQ2MTViNTJjOTAwOTA1
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3ND
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tCkBAIC03MSw5ICs3MSw5IEBACiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGVXRpbGl0aWVz
U1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgogI2ltcG9ydCA8
cGFsL3NwaS9jb2NvYS9MYXVuY2hTZXJ2aWNlc1NQSS5oPgorI2ltcG9ydCA8cGFsL3NwaS9jb2Nv
YS9OU0FjY2Vzc2liaWxpdHlTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvUXVhcnR6Q29y
ZVNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9wdGhyZWFkU1BJLmg+Ci0jaW1wb3J0IDxw
YWwvc3BpL21hYy9OU0FjY2Vzc2liaWxpdHlTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05T
QXBwbGljYXRpb25TUEkuaD4KICNpbXBvcnQgPHN0ZGlvLmg+CiAjaW1wb3J0IDx3dGYvRmlsZVN5
c3RlbS5oPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382995</attachid>
            <date>2019-11-06 17:56:31 -0800</date>
            <delta_ts>2019-11-08 11:03:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203798-20191106175630.patch</filename>
            <type>text/plain</type>
            <size>24953</size>
            <attacher name="Eric Liang">ericliang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzMwNTE2NTEyYjdjMWQw
NWFmZDg5NTgwNmMxZmUxMGUzYzc2YTU5OC4uNGVlNTgyZjU2ODUwNWFjODZmOGJmYzg3ZjY1MGIz
ODUzZmYwZTAzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTExLTA2ICBFcmlj
IExpYW5nICA8ZXJpY2xpYW5nQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogV0tXZWJWaWV3IGRv
ZXMgbm90IHNoaWZ0IEFjY2Vzc2liaWxpdHkgRm9jdXMgZm9yIENhdGFseXN0ICgyMDM3OTgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDM3OTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VkIHRv
IHVzZSB0aGUgbmV3IGNvY29hIGRpcmVjdG9yeSBpbnN0ZWFkIG9mIG1hY09TIG9ubHkKKworICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW06CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06CisK
IDIwMTktMTEtMDYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAg
U2NyZWVuIGxvY2tzIHdoaWxlIHdhdGNoaW5nIHByZXZpb3VzbHktbXV0ZWQtdGhlbi11bm11dGVk
IHZpZGVvCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCAzNTI2MGI3ZTAzMmU3ZDQzNzM0ZmNkMmI5MmMz
ODZiZGEyNmJlN2Y2Li5mOWIwZjRiMmE3MWUxODRjYWQxYjhlOTA1YzkyZDNkZDQ4MjRlNGFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0xMS0wNiAgRXJpYyBMaWFu
ZyAgPGVyaWNsaWFuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFdLV2ViVmlldyBkb2VzIG5v
dCBzaGlmdCBBY2Nlc3NpYmlsaXR5IEZvY3VzIGZvciBDYXRhbHlzdCAoMjAzNzk4KQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzNzk4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlZCB0aGUgcGF0
aCBvZiBOU0FjY2Vzc2liaWxpdHlTUEkgZnJvbSBNYWMgdG8gQ29jb2EKKworICAgICAgICAqIFBB
TC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvTlNB
Y2Nlc3NpYmlsaXR5U1BJLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9tYWMvTlNBY2Nlc3NpYmlsaXR5U1BJLmguCisKIDIwMTktMTEtMDIgIERldmluIFJvdXNzbyAg
PGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBkaWFnbm9z
dGljIGxvZ2dpbmcgZm9yIGZyb250ZW5kIGZlYXR1cmUgdXNhZ2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOTMxYTBj
YzExNWE4MTg5N2ExYTc1OWYxYTA1YTFmOGI3ZjRhYjc2ZS4uNjRkYjI4YTMwMmM0NmZmZjYwNGNl
MTg4M2I4Mjk5NzNhMzMxMTk5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxOS0xMS0w
NiAgRXJpYyBMaWFuZyAgPGVyaWNsaWFuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFdLV2Vi
VmlldyBkb2VzIG5vdCBzaGlmdCBBY2Nlc3NpYmlsaXR5IEZvY3VzIGZvciBDYXRhbHlzdCAoMjAz
Nzk4KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAz
Nzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
ZWQgdGhlIGNvZGUgdG8gcmVnaXN0ZXIvdW5yZWdpc3RlciByZW1vdGUgVUkgUHJvY2VzcyBpZGVu
dGlmaWVyIG9uIHRoZSBob3N0IGFwcC4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHNvIHRoYXQgdGhl
IGhvc3QgYXBwIGNhbiBhcHBlYXIgYXMgdGhlIHNlbmRlciBmb3Igbm90aWZpY2F0aW9ucyBzZW50
IGZyb20gaXRzIHdlYiBwcm9jZXNzZXMuIFVuZm9ydHVuYXRlbHkgdGhpcyBoYXMgdG8gYmUgZG9u
ZSBpbiBXZWJLaXQ6IGluIGFjY2Vzc2liaWxpdHkgYnVuZGxlcyB0aGUgc3dpenpsZWQgY29kZSBp
cyBub3QgY2FsbGVkIGJlY2F1c2Ugb2YgYnVuZGxlIGxvYWRpbmcgdGltZS4KKyAgICAgICAgQWRk
ZWQgQXBwS2l0IHNvZnRsaW5rIGZvciBNYWMgY2F0YWx5c3QuCisKKyAgICAgICAgKiBTb3VyY2Vz
Q29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL0FwcEtpdFNvZnRMaW5rLmg6IEFkZGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvQXBwS2l0U29mdExpbmsubW06IEFkZGVkLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoLVtXS1N3aXBl
VHJhbnNpdGlvbkNvbnRyb2xsZXIgZ2VzdHVyZVJlY29nbml6ZXJGb3JJbnRlcmFjdGl2ZVRyYW5z
aXRpb246V2l0aFRhcmdldDphY3Rpb246XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91cGRhdGVSZW1vdGVBY2Nl
c3NpYmlsaXR5UmVnaXN0cmF0aW9uOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9hY2Nl
c3NpYmlsaXR5UmVnaXN0ZXJVSVByb2Nlc3NUb2tlbnNdKToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBfcHJvY2Vzc0RpZEV4aXRdKToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJp
bGl0eVdlYlBhZ2VPYmplY3RNYWMubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9XZWJQYWdlTWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tOgorCiAyMDE5LTExLTA2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1MTkwNy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkZWFiMDFkYjE4
NmJiNWYyZjE1YzA0NGVlZTRhZTRhNzg3ZDI5NjI1Li4xMTJiODcwYTIxOTdmMGNjNzViNDkxNTEy
M2I3ODE3OGE2NWE5YzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MTgsNiArNDE4LDcgQEAKIAkJCQkwQzVBRjkxMjFGNDNB
NEM3MDAyRUFDMDIgLyogTGF1bmNoU2VydmljZXNTUEkuaCAqLywKIAkJCQkxQ0MzQUNFNzIyQkQ3
RUI4MDBGMzYwRjAgLyogTWV0YWxTUEkuaCAqLywKIAkJCQkwQzJEQTEyRDFGM0JFQjQ5MDBEQkMz
MTcgLyogTkVGaWx0ZXJTb3VyY2VTUEkuaCAqLywKKwkJCQkwQzc3ODU3NDFGNDUxMzBGMDBGNEVC
QjYgLyogTlNBY2Nlc3NpYmlsaXR5U1BJLmggKi8sCiAJCQkJMEMyREExMkUxRjNCRUI0OTAwREJD
MzE3IC8qIE5TQXR0cmlidXRlZFN0cmluZ1NQSS5oICovLAogCQkJCTBDMkRBMTJGMUYzQkVCNDkw
MERCQzMxNyAvKiBOU0J1dHRvbkNlbGxTUEkuaCAqLywKIAkJCQkwQzJEQTEzMDFGM0JFQjQ5MDBE
QkMzMTcgLyogTlNDYWxlbmRhckRhdGVTUEkuaCAqLywKQEAgLTQ3Myw3ICs0NzQsNiBAQAogCQkJ
CUExMDI2NTg4MUY1Njc0N0EwMEI0Qzg0NCAvKiBISVRvb2xib3hTUEkuaCAqLywKIAkJCQkwQzc3
ODU3MjFGNDUxMzBGMDBGNEVCQjYgLyogTG9va3VwU1BJLmggKi8sCiAJCQkJMEM3Nzg1NzMxRjQ1
MTMwRjAwRjRFQkI2IC8qIE1lZGlhUmVtb3RlU1BJLmggKi8sCi0JCQkJMEM3Nzg1NzQxRjQ1MTMw
RjAwRjRFQkI2IC8qIE5TQWNjZXNzaWJpbGl0eVNQSS5oICovLAogCQkJCTFDQ0VFNEY2MjBEODc0
M0YwMDQ3QjA5NyAvKiBOU0FwcGVhcmFuY2VTUEkuaCAqLywKIAkJCQkwQzc3ODU3NTFGNDUxMzBG
MDBGNEVCQjYgLyogTlNBcHBsaWNhdGlvblNQSS5oICovLAogCQkJCUExMTc1QjRBMUY2QjJEN0Uw
MEM0QjlGMCAvKiBOU0NlbGxTUEkuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL2NvY29hL05TQWNjZXNzaWJpbGl0eVNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvY29jb2EvTlNBY2Nlc3NpYmlsaXR5U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWMyODhiMmRi
YWJmNTM4ODRjODkxNzk0Y2ZmYmI0OGQ3Mjc5NTFiOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL05TQWNjZXNzaWJpbGl0eVNQSS5oCkBAIC0wLDAg
KzEsNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoQVBQS0lUKQorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKKworI2ltcG9ydCA8QXBwS2l0L05TQWNjZXNzaWJpbGl0eVJlbW90ZVVJRWxlbWVudC5o
PgorCisjZWxzZQorCitAaW50ZXJmYWNlIE5TQWNjZXNzaWJpbGl0eVJlbW90ZVVJRWxlbWVudCA6
IE5TT2JqZWN0CisKKysgKHZvaWQpc2V0UmVtb3RlVUlBcHA6KEJPT0wpZmxhZzsKKysgKE5TRGF0
YSAqKXJlbW90ZVRva2VuRm9yTG9jYWxVSUVsZW1lbnQ6KGlkKWxvY2FsVUlFbGVtZW50OworKyAo
dm9pZClyZWdpc3RlclJlbW90ZVVJUHJvY2Vzc0lkZW50aWZpZXI6KHBpZF90KXBpZDsKKysgKHZv
aWQpdW5yZWdpc3RlclJlbW90ZVVJUHJvY2Vzc0lkZW50aWZpZXI6KHBpZF90KXBpZDsKKworLSAo
aWQpaW5pdFdpdGhSZW1vdGVUb2tlbjooTlNEYXRhICopcmVtb3RlVG9rZW47CistIChwaWRfdClw
cm9jZXNzSWRlbnRpZmllcjsKKy0gKHZvaWQpYWNjZXNzaWJpbGl0eVNldFByZXNlbnRlclByb2Nl
c3NJZGVudGlmaWVyOihwaWRfdClwcmVzZW50ZXJQSUQ7CisKK0Bwcm9wZXJ0eSAocmV0YWluKSBp
ZCB3aW5kb3dVSUVsZW1lbnQ7CitAcHJvcGVydHkgKHJldGFpbikgaWQgdG9wTGV2ZWxVSUVsZW1l
bnQ7CisKK0BlbmQKKworI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKK1dURl9F
WFRFUk5fQ19CRUdJTgorCit2b2lkIE5TQWNjZXNzaWJpbGl0eUhhbmRsZUZvY3VzQ2hhbmdlZCgp
Owordm9pZCBOU0FjY2Vzc2liaWxpdHlVbnJlZ2lzdGVyVW5pcXVlSWRGb3JVSUVsZW1lbnQoaWQg
ZWxlbWVudCk7CisKK1dURl9FWFRFUk5fQ19FTkQKKworI2VsaWYgUExBVEZPUk0oTUFDQ0FUQUxZ
U1QpCisKK0BpbnRlcmZhY2UgTlNPYmplY3QgKE5TQWNjZXNzaWJpbGl0eVJlbW90ZVVJRWxlbWVu
dF9Qcml2YXRlKQorCistICh2b2lkKXJlZ2lzdGVyUmVtb3RlVUlQcm9jZXNzSWRlbnRpZmllcjoo
cGlkX3QpcGlkOworLSAodm9pZCl1bnJlZ2lzdGVyUmVtb3RlVUlQcm9jZXNzSWRlbnRpZmllcjoo
cGlkX3QpcGlkOworCitAZW5kCisKKyNlbmRpZiAvLyBVU0UoQVBQS0lUKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TQWNjZXNzaWJpbGl0eVNQSS5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TQWNjZXNzaWJpbGl0eVNQSS5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTg3MDBmZjdhNjg3ZWE0MTQ3N2JlOWY3ZWIwYzU3YjZm
ZjE1MGRjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU0FjY2Vzc2liaWxpdHlTUEkuaAorKysgL2Rl
di9udWxsCkBAIC0xLDU5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2lmIFVTRShBUFBLSVQpCi0KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQotCi0jaW1wb3J0IDxBcHBLaXQvTlNBY2Nlc3NpYmlsaXR5UmVtb3RlVUlFbGVtZW50Lmg+
Ci0KLSNlbHNlCi0KLUBpbnRlcmZhY2UgTlNBY2Nlc3NpYmlsaXR5UmVtb3RlVUlFbGVtZW50IDog
TlNPYmplY3QKLQotKyAodm9pZClzZXRSZW1vdGVVSUFwcDooQk9PTClmbGFnOwotKyAoTlNEYXRh
ICopcmVtb3RlVG9rZW5Gb3JMb2NhbFVJRWxlbWVudDooaWQpbG9jYWxVSUVsZW1lbnQ7Ci0rICh2
b2lkKXJlZ2lzdGVyUmVtb3RlVUlQcm9jZXNzSWRlbnRpZmllcjoocGlkX3QpcGlkOwotKyAodm9p
ZCl1bnJlZ2lzdGVyUmVtb3RlVUlQcm9jZXNzSWRlbnRpZmllcjoocGlkX3QpcGlkOwotCi0tIChp
ZClpbml0V2l0aFJlbW90ZVRva2VuOihOU0RhdGEgKilyZW1vdGVUb2tlbjsKLS0gKHBpZF90KXBy
b2Nlc3NJZGVudGlmaWVyOwotLSAodm9pZClhY2Nlc3NpYmlsaXR5U2V0UHJlc2VudGVyUHJvY2Vz
c0lkZW50aWZpZXI6KHBpZF90KXByZXNlbnRlclBJRDsKLQotQHByb3BlcnR5IChyZXRhaW4pIGlk
IHdpbmRvd1VJRWxlbWVudDsKLUBwcm9wZXJ0eSAocmV0YWluKSBpZCB0b3BMZXZlbFVJRWxlbWVu
dDsKLQotQGVuZAotCi0jZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLQotV1RGX0VY
VEVSTl9DX0JFR0lOCi0KLXZvaWQgTlNBY2Nlc3NpYmlsaXR5SGFuZGxlRm9jdXNDaGFuZ2VkKCk7
Ci12b2lkIE5TQWNjZXNzaWJpbGl0eVVucmVnaXN0ZXJVbmlxdWVJZEZvclVJRWxlbWVudChpZCBl
bGVtZW50KTsKLQotV1RGX0VYVEVSTl9DX0VORAotCi0jZW5kaWYgLy8gVVNFKEFQUEtJVCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVN
YWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFj
Lm1tCmluZGV4IGVhNGJkNWNkOTVlOTIzNWJjYzI3MWNiZTNhYzZmYThmMTMzOTY5ODEuLjY5MDFk
YWMzOTE5NmM0NTRjZDFlZjdmYWE2ZWRlZTYzYWNjZmY2OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQpAQCAtMzMsNyAr
MzMsNyBAQAogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVRhYmxlLmgiCiAjaW1wb3J0ICJSZW5kZXJP
YmplY3QuaCIKICNpbXBvcnQgIldlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLmgiCi0j
aW1wb3J0IDxwYWwvc3BpL21hYy9OU0FjY2Vzc2liaWxpdHlTUEkuaD4KKyNpbXBvcnQgPHBhbC9z
cGkvY29jb2EvTlNBY2Nlc3NpYmlsaXR5U1BJLmg+CiAKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlc1By
aXYuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KaW5kZXggNjgwZDgw
MDhhYjEzY2M4NTAxNzM5YmJmY2FmOGQwNDEyNzYwMzg4ZC4uZDAxZjBlYzE2NmFmZGE3ZmIxZjEz
YzBmNjYwMmJmMzNhN2RlZWNhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJN
YWMubW0KQEAgLTc2LDggKzc2LDggQEAKICNpbXBvcnQgIlRleHRJdGVyYXRvci5oIgogI2ltcG9y
dCAiVmlzaWJsZVVuaXRzLmgiCiAjaW1wb3J0ICJXZWJDb3JlRnJhbWVWaWV3LmgiCisjaW1wb3J0
IDxwYWwvc3BpL2NvY29hL05TQWNjZXNzaWJpbGl0eVNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9t
YWMvSElTZXJ2aWNlc1NQSS5oPgotI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNBY2Nlc3NpYmlsaXR5
U1BJLmg+CiAjaW1wb3J0IDx3dGYvT2JqQ1J1bnRpbWVFeHRyYXMuaD4KICNpZiBFTkFCTEUoVFJF
RV9ERUJVR0dJTkcpIHx8IEVOQUJMRShNRVRFUl9FTEVNRU5UKQogI2ltcG9ydCA8d3RmL3RleHQv
U3RyaW5nQnVpbGRlci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2Eu
dHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IGEyMmFhYmEwMzEwMWVm
N2MzMGE4YTA0NGE4ZGNhMjhmODEwMWVlYzEuLmIwNzc1NDJkMjNjODc4OTllZjU5YzI4NmFlZmJl
NjVmMThiY2U3MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTQwNSw2ICs0MDUsNyBAQCBV
SVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsc2NyZWVuU3RhY2tWaWV3Lm1tCiBVSVByb2Nl
c3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIubW0KIFVJUHJvY2Vz
cy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLm1tCiAKK1VJ
UHJvY2Vzcy9pb3MvQXBwS2l0U29mdExpbmsubW0KIFVJUHJvY2Vzcy9pb3MvRHJhZ0Ryb3BJbnRl
cmFjdGlvblN0YXRlLm1tCiBVSVByb2Nlc3MvaW9zL0VkaXRhYmxlSW1hZ2VDb250cm9sbGVyLm1t
CiBVSVByb2Nlc3MvaW9zL0lucHV0Vmlld1VwZGF0ZURlZmVycmVyLm1tCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IDY1NzVkYTY1OWRkNjFmOTMz
MmVhMmM1NGU5ZjhkZTM3ZTE3ZDEzOWEuLmY2YTEzZWIxMzlhMjVlZGVlYTcyZDlhNmY3ZTFmZmQx
MGE1ZmY4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZp
ZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tCkBAIC0xMDYsMTAgKzEwNiwxMCBAQAogI2ltcG9ydCA8V2ViQ29yZS9XZWJQbGF5YmFja0Nv
bnRyb2xzTWFuYWdlci5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaD4K
ICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvQVZLaXRTUEkuaD4KKyNpbXBvcnQgPHBhbC9zcGkvY29j
b2EvTlNBY2Nlc3NpYmlsaXR5U1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05TVG91Y2hC
YXJTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL0RhdGFEZXRlY3RvcnNTUEkuaD4KICNpbXBv
cnQgPHBhbC9zcGkvbWFjL0xvb2t1cFNQSS5oPgotI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNBY2Nl
c3NpYmlsaXR5U1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0FwcGxpY2F0aW9uU1BJLmg+
CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0ltbWVkaWF0ZUFjdGlvbkdlc3R1cmVSZWNvZ25pemVy
U1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU1Njcm9sbGVySW1wU1BJLmg+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvQXBwS2l0U29mdExpbmsuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9BcHBLaXRTb2Z0TGluay5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhMjdi
NDUyNTMyMjNmYTcyMmRmY2M3Yzk2ZWU2N2QzYWM3NjhmODQKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvQXBwS2l0U29mdExpbmsuaApAQCAtMCwwICsxLDM1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFBMQVRGT1JNKE1BQ0NB
VEFMWVNUKQorCisjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KKworU09GVF9MSU5LX0ZSQU1F
V09SS19GT1JfSEVBREVSKFdlYktpdCwgQXBwS2l0KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFE
RVIoV2ViS2l0LCBOU0FjY2Vzc2liaWxpdHlSZW1vdGVVSUVsZW1lbnQpCisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL0FwcEtpdFNvZnRMaW5rLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL0FwcEtpdFNvZnRMaW5rLm1tCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmY4ZTE2YmYzOWFiN2Q2NDJlNGY5MjMyMzk3OTMwMzAzYTkwOTQzMTMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvQXBwS2l0U29mdExpbmsubW0KQEAgLTAs
MCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNC0yMDE2IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpZiBQ
TEFURk9STShNQUNDQVRBTFlTVCkKKworI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CisKK1NP
RlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRShXZWJLaXQsIEFwcEtpdCkKK1NPRlRfTElOS19D
TEFTU19GT1JfU09VUkNFKFdlYktpdCwgQXBwS2l0LCBOU0FjY2Vzc2liaWxpdHlSZW1vdGVVSUVs
ZW1lbnQpCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlldy5tbQppbmRleCA5NWVhZTVjYmEwYjk4OWYxZDgzMzQ1NjQ0Y2U0NDhjNDEwOTRhOTI5Li5k
MjM0Y2RkYWViNDczYmIxMDMwYWIwYWIwOTM3ZjQzMDk3Y2MyMWYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQpAQCAtNjMsOSArNjMsMTEgQEAKICNp
bXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1ZlbG9jaXR5RGF0YS5oPgogI2ltcG9ydCA8b2JqYy9tZXNzYWdlLmg+CisjaW1wb3J0IDxw
YWwvc3BpL2NvY29hL05TQWNjZXNzaWJpbGl0eVNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2Nv
YS9RdWFydHpDb3JlU1BJLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3
dGYvdGV4dC9UZXh0U3RyZWFtLmg+CisjaW1wb3J0ICJBcHBLaXRTb2Z0TGluay5oIgogCiAKIEBp
bnRlcmZhY2UgV0tJbnNwZWN0b3JJbmRpY2F0aW9uVmlldyA6IFVJVmlldwpAQCAtNTE2LDYgKzUx
OCwyNSBAQCBzdGF0aWMgdm9pZCBzdG9yZUFjY2Vzc2liaWxpdHlSZW1vdGVDb25uZWN0aW9uSW5m
b3JtYXRpb24oaWQgZWxlbWVudCwgcGlkX3QgcGlkLAogICAgIG9iamNfc2V0QXNzb2NpYXRlZE9i
amVjdChlbGVtZW50LCAodm9pZCopW0AiYXgtbWFjaHBvcnQiIGhhc2hdLCBAKHNlbmRQb3J0KSwg
T0JKQ19BU1NPQ0lBVElPTl9SRVRBSU5fTk9OQVRPTUlDKTsKIH0KIAorCistICh2b2lkKV91cGRh
dGVSZW1vdGVBY2Nlc3NpYmlsaXR5UmVnaXN0cmF0aW9uOihCT09MKXJlZ2lzdGVyUHJvY2Vzcwor
eworI2lmIFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorICAgIHBpZF90IHBpZCA9IDA7CisgICAgaWYg
KHJlZ2lzdGVyUHJvY2VzcykKKyAgICAgICAgcGlkID0gX3BhZ2UtPnByb2Nlc3MoKS5wcm9jZXNz
SWRlbnRpZmllcigpOworICAgIGVsc2UKKyAgICAgICAgcGlkID0gW29iamNfZ2V0QXNzb2NpYXRl
ZE9iamVjdChzZWxmLCAodm9pZCopW0AiYXgtcGlkIiBoYXNoXSkgaW50VmFsdWVdOworICAgIGlm
ICghcGlkKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAocmVnaXN0ZXJQcm9jZXNzKQorICAg
ICAgICBbV2ViS2l0OjpnZXROU0FjY2Vzc2liaWxpdHlSZW1vdGVVSUVsZW1lbnRDbGFzcygpIHJl
Z2lzdGVyUmVtb3RlVUlQcm9jZXNzSWRlbnRpZmllcjpwaWRdOworICAgIGVsc2UKKyAgICAgICAg
W1dlYktpdDo6Z2V0TlNBY2Nlc3NpYmlsaXR5UmVtb3RlVUlFbGVtZW50Q2xhc3MoKSB1bnJlZ2lz
dGVyUmVtb3RlVUlQcm9jZXNzSWRlbnRpZmllcjpwaWRdOworI2VuZGlmCit9CisKIC0gKHZvaWQp
X2FjY2Vzc2liaWxpdHlSZWdpc3RlclVJUHJvY2Vzc1Rva2VucwogewogICAgIGF1dG8gdXVpZCA9
IFtOU1VVSUQgVVVJRF07CkBAIC01MjMsNiArNTQ0LDcgQEAgc3RhdGljIHZvaWQgc3RvcmVBY2Nl
c3NpYmlsaXR5UmVtb3RlQ29ubmVjdGlvbkluZm9ybWF0aW9uKGlkIGVsZW1lbnQsIHBpZF90IHBp
ZCwKIAogICAgIC8vIFN0b3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBXZWJQcm9jZXNzIHRoYXQg
Y2FuIGxhdGVyIGJlIHJldHJpZXZlZCBieSB0aGUgaU9TIEFjY2Vzc2liaWxpdHkgcnVudGltZS4K
ICAgICBpZiAoX3BhZ2UtPnByb2Nlc3MoKS5zdGF0ZSgpID09IFdlYktpdDo6V2ViUHJvY2Vzc1By
b3h5OjpTdGF0ZTo6UnVubmluZykgeworICAgICAgICBbc2VsZiBfdXBkYXRlUmVtb3RlQWNjZXNz
aWJpbGl0eVJlZ2lzdHJhdGlvbjpZRVNdOwogICAgICAgICBJUEM6OkNvbm5lY3Rpb24qIGNvbm5l
Y3Rpb24gPSBfcGFnZS0+cHJvY2VzcygpLmNvbm5lY3Rpb24oKTsKICAgICAgICAgc3RvcmVBY2Nl
c3NpYmlsaXR5UmVtb3RlQ29ubmVjdGlvbkluZm9ybWF0aW9uKHNlbGYsIF9wYWdlLT5wcm9jZXNz
KCkucHJvY2Vzc0lkZW50aWZpZXIoKSwgY29ubmVjdGlvbi0+aWRlbnRpZmllcigpLnBvcnQsIHV1
aWQpOwogCkBAIC01NDUsNiArNTY3LDcgQEAgc3RhdGljIHZvaWQgc3RvcmVBY2Nlc3NpYmlsaXR5
UmVtb3RlQ29ubmVjdGlvbkluZm9ybWF0aW9uKGlkIGVsZW1lbnQsIHBpZF90IHBpZCwKIAogLSAo
dm9pZClfcHJvY2Vzc0RpZEV4aXQKIHsKKyAgICBbc2VsZiBfdXBkYXRlUmVtb3RlQWNjZXNzaWJp
bGl0eVJlZ2lzdHJhdGlvbjpOT107CiAgICAgW3NlbGYgY2xlYW51cEludGVyYWN0aW9uXTsKIAog
ICAgIFtzZWxmIHNldFNob3dpbmdJbnNwZWN0b3JJbmRpY2F0aW9uOk5PXTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDc3MmExMDA5ZDgx
MGI4YmQzYWNhMDUxZTJiYjI0YzMzMTEzYWVlYjkuLjM5MzZjZGQ4NDI4Y2Y5NDc4Nzc5NjcyYmI3
MjhjZjE0Yzg4MjJlYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtODYsNiArODYsNyBAQAogCQkwNzI5N0Y5RjFDMTdCQkVBMDAzRjA3
MzUgLyogVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3Mjk3RjlEMUMxN0JCRUEwMDNGMDczNSAvKiBV
c2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQcm94eS5oICovOyB9OwogCQkwNzI5N0Y5RjFDMTdCQkVB
MDE1RjA3MzUgLyogRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3Mjk3RjlEMUMxN0JCRUEyMjNGMDczNSAvKiBE
ZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5oICovOyB9OwogCQkwNzI5N0ZBMzFDMTg2QURCMDAzRjA3
MzUgLyogV0tVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3Mjk3RkExMUMxODZBREIwMDNGMDczNSAvKiBXS1Vz
ZXJNZWRpYVBlcm1pc3Npb25DaGVjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTA3NDg3OUI5MjM3M0E5MDkwMEY1Njc4RSAvKiBBcHBLaXRTb2Z0
TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc0
ODc5QjcyMzczQTkwOTAwRjU2NzhFIC8qIEFwcEtpdFNvZnRMaW5rLmggKi87IH07CiAJCTA3NEU3
NUZFMURGMjIxMTkwMEQzMThFQyAvKiBVc2VyTWVkaWFQcm9jZXNzTWFuYWdlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc0RTc1RkIxREYxRkQxMzAw
RDMxOEVDIC8qIFVzZXJNZWRpYVByb2Nlc3NNYW5hZ2VyLmggKi87IH07CiAJCTA3NkU4ODRFMUEx
M0NBREYwMDVFOTBGQyAvKiBBUElDb250ZXh0TWVudUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2RTg4NEQxQTEzQ0FERjAwNUU5MEZDIC8q
IEFQSUNvbnRleHRNZW51Q2xpZW50LmggKi87IH07CiAJCTA3NzI4MTFEMjEyMzRGRjYwMEM4RUYy
RSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNDEwRjQzMTlBRjdCMjcwMDJFQkFCNSAv
KiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaCAqLzsgfTsKQEAgLTE5NTksNiAr
MTk2MCw4IEBACiAJCTA3Mjk3RjlEMUMxN0JCRUEyMjNGMDczNSAvKiBEZXZpY2VJZEhhc2hTYWx0
U3RvcmFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VJZEhhc2hT
YWx0U3RvcmFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzI5N0ZBMDFDMTg2
QURCMDAzRjA3MzUgLyogV0tVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2suY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2suY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzI5N0ZBMTFDMTg2QURCMDAzRjA3MzUg
LyogV0tVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV0tVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2suaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMDc0ODc5QjcyMzczQTkwOTAwRjU2NzhFIC8qIEFwcEtpdFNvZnRMaW5rLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEFwcEtpdFNvZnRMaW5rLmg7IHBhdGggPSBpb3MvQXBwS2l0U29mdExp
bmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDc0ODc5QjgyMzczQTkwOTAwRjU2
NzhFIC8qIEFwcEtpdFNvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gQXBwS2l0U29m
dExpbmsubW07IHBhdGggPSBpb3MvQXBwS2l0U29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA3NEU3NUZCMURGMUZEMTMwMEQzMThFQyAvKiBVc2VyTWVkaWFQcm9jZXNz
TWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVc2VyTWVkaWFQcm9j
ZXNzTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzRFNzVGQzFERjIw
MDI0MDBEMzE4RUMgLyogVXNlck1lZGlhUHJvY2Vzc01hbmFnZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVXNlck1lZGlhUHJvY2Vzc01hbmFnZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzRFNzYwMDFERjcwNzVEMDBEMzE4RUMgLyogTWVk
aWFEZXZpY2VTYW5kYm94RXh0ZW5zaW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZWRpYURldmljZVNhbmRib3hFeHRlbnNpb25zLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTYxMDIsNiArNjEwNSw4IEBACiAJCQkJQTExNURDNkUxOTFEODJB
QjAwREE4MDcyIC8qIF9XS1dlYlZpZXdQcmludEZvcm1hdHRlci5oICovLAogCQkJCUExMTVEQzZE
MTkxRDgyQUIwMERBODA3MiAvKiBfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0gKi8sCiAJCQkJ
QTE5REQzQkYxRDA3RDE2ODAwQUM4MjNCIC8qIF9XS1dlYlZpZXdQcmludEZvcm1hdHRlckludGVy
bmFsLmggKi8sCisJCQkJMDc0ODc5QjcyMzczQTkwOTAwRjU2NzhFIC8qIEFwcEtpdFNvZnRMaW5r
LmggKi8sCisJCQkJMDc0ODc5QjgyMzczQTkwOTAwRjU2NzhFIC8qIEFwcEtpdFNvZnRMaW5rLm1t
ICovLAogCQkJCTFBRDRDMTkxMUIzOUYzMzIwMEFCQzI4RSAvKiBBcHBsaWNhdGlvblN0YXRlVHJh
Y2tlci5oICovLAogCQkJCTFBRDRDMTkwMUIzOUYzMzIwMEFCQzI4RSAvKiBBcHBsaWNhdGlvblN0
YXRlVHJhY2tlci5tbSAqLywKIAkJCQlGNDk2QTQyRjFGNThBMjcyMDA0QzE3NTcgLyogRHJhZ0Ry
b3BJbnRlcmFjdGlvblN0YXRlLmggKi8sCkBAIC05NDQ5LDYgKzk0NTQsNyBAQAogCQkJCTU3N0ZG
NzgyMjM0NkU4MUMwMDRFREZCOSAvKiBBUElXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQUUyODY4NDFDN0Y5Mzg2MDA2OUFDNEYgLyogQVBJV2Vic2l0
ZURhdGFSZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNjU2M0U1MUI3QThDNTAwMDlDRjc4
NyAvKiBBUElXaW5kb3dGZWF0dXJlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMDc0ODc5QjkyMzcz
QTkwOTAwRjU2NzhFIC8qIEFwcEtpdFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNDhE
MkE4NTIxNTgzQTdFMDBDNjc1MkIgLyogQXBwS2l0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlG
NEVDOTRFMzIzNTZDQzU3MDAwQkI2MTQgLyogQXBwbGljYXRpb25TZXJ2aWNlc1NQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUFENEMxOTMxQjM5RjMzMjAwQUJDMjhFIC8qIEFwcGxpY2F0aW9uU3Rh
dGVUcmFja2VyLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0TWFjLm1tIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBh
Z2VPYmplY3RNYWMubW0KaW5kZXggODczMjc5Nzg0N2YwODFiZWI2MmJhZDNmNzZlOGRjMGNmOWUw
YzY2My4uMzQ3N2Q0OGY0MGM4OWEyNzcxNjBhMDcxNjg2NTY3ZTVmNDZkYzE0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdl
YlBhZ2VPYmplY3RNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RNYWMubW0KQEAgLTQ1LDcgKzQ1LDcgQEAK
ICNpbXBvcnQgPFdlYkNvcmUvU2Nyb2xsVmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxi
YXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMu
aD4KLSNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQWNjZXNzaWJpbGl0eVNQSS5oPgorI2ltcG9ydCA8
cGFsL3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxpdHlTUEkuaD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVu
dGltZUV4dHJhcy5oPgogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dlYlBhZ2VNYWMubW0KaW5kZXggZDcyMDA1MmQxNTkwMGQ0MjU5ZWQ4MjE0ODk2MjQ0
ZmI1MWI0NzM3MC4uYmFlOWMxOGEwNWIyM2M4N2E4ZTliNzk5ZTU5YTY5YzMxMGJhMzY0NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMu
bW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMu
bW0KQEAgLTkwLDcgKzkwLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvVGV4dEl0ZXJhdG9yLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1Zpc2libGVVbml0cy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XaW5kb3dz
S2V5Ym9hcmRDb2Rlcy5oPgotI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNBY2Nlc3NpYmlsaXR5U1BJ
Lmg+CisjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05TQWNjZXNzaWJpbGl0eVNQSS5oPgogI2ltcG9y
dCA8d3RmL1NldEZvclNjb3BlLmg+CiAKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29j
b2EubW0KaW5kZXggY2E2ZjRlMjg5OWFmYTk2MTA1YzZhYmMwZGM4NjhmODM0NDE0ZWFmOS4uZWVi
MDcwY2EyMTNiZTcyNTQ5OTM1ZDhmNDQ2MTViNTJjOTAwOTA1MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC03MSw5ICs3MSw5
IEBACiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGVXRpbGl0aWVzU1BJLmg+CiAjaW1wb3J0IDxwYWwv
c3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9MYXVuY2hT
ZXJ2aWNlc1NQSS5oPgorI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxpdHlTUEku
aD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oPgogI2ltcG9ydCA8cGFs
L3NwaS9jb2NvYS9wdGhyZWFkU1BJLmg+Ci0jaW1wb3J0IDxwYWwvc3BpL21hYy9OU0FjY2Vzc2li
aWxpdHlTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQXBwbGljYXRpb25TUEkuaD4KICNp
bXBvcnQgPHN0ZGlvLmg+CiAjaW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5oPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383143</attachid>
            <date>2019-11-08 10:54:08 -0800</date>
            <delta_ts>2019-11-08 11:03:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203798-20191108105407.patch</filename>
            <type>text/plain</type>
            <size>1494</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTIyNDMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE5LTExLTA4ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogV0tXZWJWaWV3IGRvZXMg
bm90IHNoaWZ0IEFjY2Vzc2liaWxpdHkgRm9jdXMgZm9yIENhdGFseXN0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDM3OTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbG9nZ2luZyBhbmQgdGVsZW1l
dHJ5IHRvIGhlbHAgZGV0ZXJtaW5lIGlmIG1hY2ggbG9va3VwIG9mIHRoZXNlIHNlcnZpY2VzIGNh
biBiZSBkZW5pZWQgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2Vzcy4KKworICAgICAgICAqIFJlc291
cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYjoK
KwogMjAxOS0xMS0wOCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dUS10gQWRkIHBvaW50ZXIgbG9jayBwZXJtaXNzaW9uIHJlcXVlc3QgQVBJ
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5h
cHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1Jl
c291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5z
YgkocmV2aXNpb24gMjUyMjM4KQorKysgU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFBy
b2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2IJKHdvcmtpbmcgY29weSkK
QEAgLTkzMyw4ICs5MzMsMTAgQEAKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS53ZWJp
bnNwZWN0b3IiKSkKIAogOzsgVmFyaW91cyBzZXJ2aWNlcyByZXF1aXJlZCBieSBDRk5ldHdvcmsg
YW5kIG90aGVyIGZyYW1ld29ya3MKKyhhbGxvdyBtYWNoLWxvb2t1cCAod2l0aCByZXBvcnQpICh3
aXRoIHRlbGVtZXRyeSkKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Qb3dlck1hbmFnZW1l
bnQuY29udHJvbCIpKQorCiAoYWxsb3cgbWFjaC1sb29rdXAKLSAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5Qb3dlck1hbmFnZW1lbnQuY29udHJvbCIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUuYW5hbHl0aWNzZCIpKQogCiAoZGVueSBmaWxlLXdyaXRlLWNyZWF0ZSAodm5vZGUtdHlw
ZSBTWU1MSU5LKSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>