<?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>222619</bug_id>
          
          <creation_ts>2021-03-02 14:54:50 -0800</creation_ts>
          <short_desc>[macOS][WK2] Changing the system language does not update navigator.language</short_desc>
          <delta_ts>2021-03-09 20:34:40 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=188111</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=222702</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=222825</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=222988</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>pvollan</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1735047</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-02 14:54:50 -0800</bug_when>
    <thetext>Changing the system language does not update navigator.language on macOS WK2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735062</commentid>
    <comment_count>1</comment_count>
      <attachid>422004</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-02 15:21:59 -0800</bug_when>
    <thetext>Created attachment 422004
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735121</commentid>
    <comment_count>2</comment_count>
      <attachid>422021</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-02 16:31:39 -0800</bug_when>
    <thetext>Created attachment 422021
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735134</commentid>
    <comment_count>3</comment_count>
      <attachid>422027</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-02 17:06:48 -0800</bug_when>
    <thetext>Created attachment 422027
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735160</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-02 18:27:41 -0800</bug_when>
    <thetext>Looks like my new api test is failing in the bot. The bot has CFPREFS_DIRECT_MODE disabled, which is a configuration I cannot test easily. I will try and figure it out. @Per: please let me know if the issue is obvious to you since you are more familiar with this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735274</commentid>
    <comment_count>5</comment_count>
      <attachid>422082</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-03 07:52:53 -0800</bug_when>
    <thetext>Created attachment 422082
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735275</commentid>
    <comment_count>6</comment_count>
      <attachid>422083</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-03 07:55:06 -0800</bug_when>
    <thetext>Created attachment 422083
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735323</commentid>
    <comment_count>7</comment_count>
      <attachid>422104</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-03 09:44:20 -0800</bug_when>
    <thetext>Created attachment 422104
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735360</commentid>
    <comment_count>8</comment_count>
      <attachid>422116</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-03 10:49:19 -0800</bug_when>
    <thetext>Created attachment 422116
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735564</commentid>
    <comment_count>9</comment_count>
      <attachid>422116</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-03-03 15:34:15 -0800</bug_when>
    <thetext>Comment on attachment 422116
Patch

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

R=me.

&gt; Tools/TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:121
&gt; +    system([NSString stringWithFormat:@&quot;defaults write NSGlobalDomain AppleLanguages &apos;(\&quot;en-GB\&quot;)&apos;&quot;].UTF8String);

Does TestWebKitAPI need to be brought into the foreground for the preference change to be picked up, since the preference observer in the UI process is started when the UI process becomes foreground?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735565</commentid>
    <comment_count>10</comment_count>
      <attachid>422116</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-03 15:38:38 -0800</bug_when>
    <thetext>Comment on attachment 422116
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:98
&gt; +    [[NSNotificationCenter defaultCenter] postNotificationName:NSApplicationDidBecomeActiveNotification object:NSApp userInfo:nil];

See here.

&gt;&gt; Tools/TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:121
&gt;&gt; +    system([NSString stringWithFormat:@&quot;defaults write NSGlobalDomain AppleLanguages &apos;(\&quot;en-GB\&quot;)&apos;&quot;].UTF8String);
&gt; 
&gt; Does TestWebKitAPI need to be brought into the foreground for the preference change to be picked up, since the preference observer in the UI process is started when the UI process becomes foreground?

Yes, it does. See my earlier comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735568</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-03 15:46:26 -0800</bug_when>
    <thetext>Committed r273851: &lt;https://commits.webkit.org/r273851&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422116.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735571</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-03 15:47:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/75007471&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735623</commentid>
    <comment_count>13</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2021-03-03 17:45:43 -0800</bug_when>
    <thetext>19 fast/text/international/system-language tests are failing after this change on Big Sur bots. See https://bugs.webkit.org/show_bug.cgi?id=222702</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735628</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-03 17:51:00 -0800</bug_when>
    <thetext>Reverted r273851 for reason:

Caused some tests failures on macOS Big Sur

Committed r273867 (234828@main): &lt;https://commits.webkit.org/234828@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735860</commentid>
    <comment_count>15</comment_count>
      <attachid>422239</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-04 09:28:30 -0800</bug_when>
    <thetext>Created attachment 422239
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735890</commentid>
    <comment_count>16</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-04 09:55:55 -0800</bug_when>
    <thetext>ChangeLog entry in Source/WebKitLegacy/mac/ChangeLog contains OOPS!.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735899</commentid>
    <comment_count>17</comment_count>
      <attachid>422250</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-04 10:01:48 -0800</bug_when>
    <thetext>Created attachment 422250
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735934</commentid>
    <comment_count>18</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-04 11:02:33 -0800</bug_when>
    <thetext>Committed r273904: &lt;https://commits.webkit.org/r273904&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422250.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422004</attachid>
            <date>2021-03-02 15:21:59 -0800</date>
            <delta_ts>2021-03-02 16:31:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222619-20210302152159.patch</filename>
            <type>text/plain</type>
            <size>17183</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVmOWUwMjcxNjU1YWUzNjJhYzcxMzEx
YWZjNzhiZDJiNGI1YTMwM2IuLjY0NGQ1MmRiZGFmNTZiYmYwMjI0Mzc2MmFmNTFiMGRiYWVhMmYz
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBs
YW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgV1RGOjpsYW5ndWFnZURp
ZENoYW5nZSgpIHRvIGNsZWFyIHByZWZlcnJlZExhbmd1YWdlcygpIG9uIENvY29hIHBsYXRmb3Jt
cworICAgICAgICBzbyB0aGF0IHdlIGdldCB1cGRhdGVkIHZhbHVlcyBmcm9tIHRoZSBzeXN0ZW0g
dGhlIG5leHQgdGltZQorICAgICAgICBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBp
cyBjYWxsZWQuCisKKyAgICAgICAgRHJvcCBBcHBsZUxhbmd1YWdlUHJlZmVyZW5jZXNDaGFuZ2Vk
Tm90aWZpY2F0aW9uIGxpc3RlbmVyIGluCisgICAgICAgIHBsYXRmb3JtVXNlclByZWZlcnJlZExh
bmd1YWdlcygpLiBJdCBpcyBub3Qgd29ya2luZyBmb3IgV0syIHNvIEkgaGF2ZSBtb3ZlZCBpdAor
ICAgICAgICB0byBXZWJLaXRMZWdhY3kvbWFjLiBPbiBXSzIsIHdlIHdlcmUgZ2V0dGluZyB0aGUg
bm90aWZpY2F0aW9uIGluIHRoZSBXZWJQcm9jZXNzCisgICAgICAgIGFuZCBpdCB3YXMgY2F1c2lu
ZyB1cyB0byBmaXJlIHRoZSBsYW5ndWFnZWNoYW5nZSBldmVudCBhdCB0aGUgV2luZG93LiBIb3dl
dmVyLAorICAgICAgICBuYXZpZ2F0b3IubGFuZ3VhZ2Ugd291bGQga2VlcCByZXR1cm5pbmcgdGhl
IG9sZCBsYW5ndWFnZSBhdCB0aGF0IHBvaW50IGJlY2F1c2UKKyAgICAgICAgdGhlICJBcHBsZUxh
bmd1YWdlcyIgcHJlZmVyZW5jZSBoYXMgbm90IGJlZW4gcHJvcGFnYXRlZCB0byB0aGUgV2ViUHJv
Y2VzcyB5ZXQgYXQKKyAgICAgICAgdGhpcyBwb2ludC4KKworICAgICAgICAqIHd0Zi9MYW5ndWFn
ZS5jcHA6CisgICAgICAgIChXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdURjo6
cGxhdGZvcm1MYW5ndWFnZURpZENoYW5nZSk6CisgICAgICAgICogd3RmL0xhbmd1YWdlLmg6Cisg
ICAgICAgICogd3RmL2NmL0xhbmd1YWdlQ0YuY3BwOgorICAgICAgICAoV1RGOjpwbGF0Zm9ybUxh
bmd1YWdlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdURjo6cGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFu
Z3VhZ2VzKToKKwogMjAyMS0wMy0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgRW5hYmxlIE1FRElBX1NPVVJDRSBpbiBJT1MgU2ltdWxhdG9yCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDFjNDUyODJhOTNiZTNjNzFlNzkxYmE5NjgyZDZiYTBkNTYwYzFiODMuLjU4MzkxOWRlMDI0
YjBlMDVhNWQ1NDZmODBkZWRlNDQ5YWUzMWJlYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAK
KzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBb
bWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBsYW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUg
bmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2Uv
WFBDU2VydmljZU1haW4ubW06CisgICAgICAgIChXZWJLaXQ6OnNldEFwcGxlTGFuZ3VhZ2VzUHJl
ZmVyZW5jZSk6CisgICAgICAgIC0gV2hlbiBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSksIHdl
IGRvbid0IG5lZWQgdG8gc2V0IHRoZSBBcHBsZUxhbmd1YWdlcworICAgICAgICBpbiBhIHZvbGF0
aWxlIGRvbWFpbi4gVGhpcyBkb2VzIG5vdCBjaGFuZ2UgYmVoYXZpb3IgYnV0IEkgbWFkZSB0aGlz
IGNoYW5nZQorICAgICAgICBzbyB0aGF0IEkgZG9uJ3QgbmVlZCB0byBzZXQgQXBwbGVMYW5ndWFn
ZXMgaW4gdGhlIHZvbGF0aWxlIGRvbWFpbiBpbgorICAgICAgICBXZWJQcm9jZXNzQ29jb2Egd2hl
biB0aGUgcHJlZmVyZW5jZSBjaGFuZ2VzLgorICAgICAgICAtIEFsc28gZml4IGEgbWVtb3J5IGxl
YWsgZm9yIG5ld0FyZ3VtZW50cy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJv
Y2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpzZXRQcmVmZXJlbmNlVmFsdWUpOgorICAg
ICAgICAtIENhbGwgQ0ZQcmVmZXJlbmNlc1NldEFwcFZhbHVlKCkgaW5zdGVhZCBvZiBDRlByZWZl
cmVuY2VzU2V0VmFsdWUoKS4gV2l0aG91dCB0aGlzIGNoYW5nZQorICAgICAgICB0cnlpbmcgdG8g
c2V0IEFwcGxlTGFuZ3VhZ2VzIGhlcmUgd291bGQgaGF2ZSBubyBlZmZlY3QgYW5kIENGTG9jYWxl
Q29weVByZWZlcnJlZExhbmd1YWdlcygpCisgICAgICAgIHdvdWxkIGtlZXAgcmV0dXJuaW5nIG91
dGRhdGVkIGxhbmd1YWdlcy4KKyAgICAgICAgLSBXaGVuICFFTkFCTEUoQ0ZQUkVGU19ESVJFQ1Rf
TU9ERSksIGFsc28gc2V0IEFwcGxlTGFuZ3VhZ2VzIHByZWZlcmVuY2UgaW4gdGhlIHZvbGF0aWxl
CisgICAgICAgICAgZG9tYWluIHRvIG1hdGNoIHdoYXQgd2UgZG8gaW4gWFBDU2VydmljZU1haW4u
bW0uCisgICAgICAgIC0gQ2FsbCBXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKCkgd2hlbiB0aGUgQXBw
bGVMYW5ndWFnZXMgcHJlZmVyZW5jZSBnZXRzIHVwZGF0ZWQgc28gdGhhdAorICAgICAgICAgIGxh
bmd1YWdlIGNoYW5nZSBsaXN0ZW5lcnMgZ2V0IG5vdGlmaWVkIG9mIHRoZSBsYW5ndWFnZSBjaGFu
Z2UgKGUuZy4gd2UgZmlyZSBhIGxhbmd1YWdlY2hhbmdlCisgICAgICAgICAgZXZlbnQgYXQgdGhl
IFdpbmRvdykuCisKIDIwMjEtMDMtMDIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBOdWxsIGNoZWNrIHBsYXRmb3JtRGF0YSB3aGVuIGRlY29kaW5nCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKaW5kZXggNzllNzIxMmQ0MjcyMmI1ODI2MDUyN2Y5YTk1NzUyYTQ1NmJk
ODE0Zi4uMTgwZmM0NzI3YjAxNDE3ZGU5NmE3MzcyMmM1ODliMjc3ZTI2YjI4MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAzLTAyICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXVtXSzJdIENoYW5naW5n
IHRoZSBzeXN0ZW0gbGFuZ3VhZ2UgZG9lcyBub3QgdXBkYXRlIG5hdmlnYXRvci5sYW5ndWFnZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjE5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgdXNlIHRv
IGxpc3RlbiBmb3IgQXBwbGVMYW5ndWFnZVByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiBp
biBXVEYncyBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKS4KKyAgICAgICAgSSBtb3Zl
ZCBpdCBoZXJlIGluIFdlYktpdExlZ2FjeS9tYWMgc2luY2UgaXQgZG9lcyBub3Qgd29yayBhcyBl
eHBlY3RlZCBmb3IgV2ViS2l0Mi4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAg
ICAgICAgKGxhbmd1YWdlUHJlZmVyZW5jZXNEaWRDaGFuZ2UpOgorICAgICAgICAoLVtXZWJWaWV3
IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3JvdXBOYW1lOl0pOgorCiAyMDIx
LTAzLTAxICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1l
IHRoZSBkZWxlZ2F0ZSBwcm9wZXJ0eSBvZiBXZWJBVlBsYXllclZpZXcgdG8gd2ViRGVsZWdhdGUg
dG8gZml4IGEgYnVpbGQgZmFpbHVyZSB3aXRoIG5ldyBTREtzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9MYW5ndWFnZS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5jcHAKaW5kZXgg
ZTkwNzEyZjg5NTI4ODAxN2IxOTZhZDZhMzIyMDU1YzlmNjU2NWUwZC4uMjMzYmZkMTk0YjU3ZTcx
NzM1YzliOTgyOTdmYmZjZmE3MTA0MDIzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTGFu
Z3VhZ2UuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmNwcApAQCAtNjIsNiArNjIs
NyBAQCB2b2lkIHJlbW92ZUxhbmd1YWdlQ2hhbmdlT2JzZXJ2ZXIodm9pZCogY29udGV4dCkKIAog
dm9pZCBsYW5ndWFnZURpZENoYW5nZSgpCiB7CisgICAgcGxhdGZvcm1MYW5ndWFnZURpZENoYW5n
ZSgpOwogICAgIGZvciAoYXV0byYgb2JzZXJ2ZXIgOiBjb3B5VG9WZWN0b3Iob2JzZXJ2ZXJNYXAo
KSkpIHsKICAgICAgICAgaWYgKG9ic2VydmVyTWFwKCkuY29udGFpbnMob2JzZXJ2ZXIua2V5KSkK
ICAgICAgICAgICAgIG9ic2VydmVyLnZhbHVlKG9ic2VydmVyLmtleSk7CkBAIC0xODMsNCArMTg0
LDEwIEBAIFN0cmluZyBkaXNwbGF5TmFtZUZvckxhbmd1YWdlTG9jYWxlKGNvbnN0IFN0cmluZyYg
bG9jYWxlTmFtZSkKICAgICByZXR1cm4gbG9jYWxlTmFtZTsKIH0KIAorI2lmICFVU0UoQ0YpCit2
b2lkIHBsYXRmb3JtTGFuZ3VhZ2VEaWRDaGFuZ2UoKQoreworfQorI2VuZGlmCisKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmggYi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFn
ZS5oCmluZGV4IGI4YjkwOTU2Y2U4MzRmODY3YzMxODU4ODcxMTIzZTZhYTI0YTYzOGEuLmQ2Nzdm
ZWJhMDViYzliMjJjZjZhMTliYjhhY2E2MjBkMzZkNDg2NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL0xhbmd1YWdlLmgKKysrIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuaApAQCAtNDEs
NiArNDEsOCBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgVmVjdG9yPFN0cmluZz4gdXNlclByZWZlcnJl
ZExhbmd1YWdlc092ZXJyaWRlKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBvdmVycmlkZVVz
ZXJQcmVmZXJyZWRMYW5ndWFnZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKIFdURl9FWFBPUlRf
UFJJVkFURSBzaXplX3QgaW5kZXhPZkJlc3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KGNvbnN0IFN0
cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYW5ndWFnZUxpc3QsIGJvb2wm
IGV4YWN0TWF0Y2gpOwogV1RGX0VYUE9SVF9QUklWQVRFIFZlY3RvcjxTdHJpbmc+IHBsYXRmb3Jt
VXNlclByZWZlcnJlZExhbmd1YWdlcygpOwordm9pZCBwbGF0Zm9ybUxhbmd1YWdlRGlkQ2hhbmdl
KCk7CisKIC8vIENhbGxlZCBmcm9tIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUgd2hlbiB0aGUgdXNl
cidzIHByZWZlcnJlZCBsYW5ndWFnZShzKSBjaGFuZ2UuCiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBsYW5ndWFnZURpZENoYW5nZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9M
YW5ndWFnZUNGLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NmL0xhbmd1YWdlQ0YuY3BwCmluZGV4IDQy
NWFlYmU4ZjNlZGFkMjU0YWFmMjQ1ODgwZTU4MTRjY2Q5YmNjNmYuLjVhNmVlODFkYTNhZWE4MmI3
YTM3MmExOGZlZTg2MTlmMmM1NDg0ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NmL0xh
bmd1YWdlQ0YuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2NmL0xhbmd1YWdlQ0YuY3BwCkBAIC04
MywyNyArODMsMTYgQEAgc3RhdGljIFN0cmluZyBodHRwU3R5bGVMYW5ndWFnZUNvZGUoQ0ZTdHJp
bmdSZWYgbGFuZ3VhZ2UpCiAKIH0KIAotI2lmIFBMQVRGT1JNKE1BQykKLXN0YXRpYyB2b2lkIGxh
bmd1YWdlUHJlZmVyZW5jZXNEaWRDaGFuZ2UoQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQq
LCBDRlN0cmluZ1JlZiwgY29uc3Qgdm9pZCosIENGRGljdGlvbmFyeVJlZikKK3ZvaWQgcGxhdGZv
cm1MYW5ndWFnZURpZENoYW5nZSgpCiB7CiAgICAgewogICAgICAgICBhdXRvIGxvY2tlciA9IGhv
bGRMb2NrKHByZWZlcnJlZExhbmd1YWdlc011dGV4KTsKICAgICAgICAgcHJlZmVycmVkTGFuZ3Vh
Z2VzKCkuY2xlYXIoKTsKICAgICB9Ci0gICAgCi0gICAgbGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKIH0K
LSNlbmRpZgogCiBWZWN0b3I8U3RyaW5nPiBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMo
KQogewotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VU
b2tlbjsKLSAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF4gewotICAgICAgICBDRk5vdGlm
aWNhdGlvbkNlbnRlckFkZE9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGlzdHJpYnV0
ZWRDZW50ZXIoKSwgbnVsbHB0ciwgJmxhbmd1YWdlUHJlZmVyZW5jZXNEaWRDaGFuZ2UsIENGU1RS
KCJBcHBsZUxhbmd1YWdlUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIiksIG51bGxwdHIs
IENGTm90aWZpY2F0aW9uU3VzcGVuc2lvbkJlaGF2aW9yQ29hbGVzY2UpOwotICAgIH0pOwotI2Vu
ZGlmCi0KICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKHByZWZlcnJlZExhbmd1YWdlc011dGV4
KTsKICAgICBWZWN0b3I8U3RyaW5nPiYgdXNlclByZWZlcnJlZExhbmd1YWdlcyA9IHByZWZlcnJl
ZExhbmd1YWdlcygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBv
aW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0gYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2Vy
dmljZU1haW4ubW0KaW5kZXggMTQwMjI2MGUyMTk4NTEzMjhiNDc5YWE3ODdmODQ5MzkwZGRjNDFm
ZS4uZTA4ZTcwYzY1MjczYjNjM2U4MDJiYTIxMzhmNTBiNDZiYjVmN2VjZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNl
L1hQQ1NlcnZpY2VNYWluLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRV
dGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbQpAQCAtNDcsMTUgKzQ3
LDE5IEBAIHN0YXRpYyB2b2lkIHNldEFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZSgpCiAKICAgICBp
ZiAoeHBjX29iamVjdF90IGxhbmd1YWdlcyA9IHhwY19kaWN0aW9uYXJ5X2dldF92YWx1ZShib290
c3RyYXAuZ2V0KCksICJPdmVycmlkZUxhbmd1YWdlcyIpKSB7CiAgICAgICAgIEBhdXRvcmVsZWFz
ZXBvb2wgewotICAgICAgICAgICAgTlNEaWN0aW9uYXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9IFtb
TlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFt
ZTpOU0FyZ3VtZW50RG9tYWluXTsKLSAgICAgICAgICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKm5l
d0FyZ3VtZW50cyA9IFtleGlzdGluZ0FyZ3VtZW50cyBtdXRhYmxlQ29weV07CiAgICAgICAgICAg
ICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IG5ld0xhbmd1YWdlcyA9IGFkb3B0TlMoW1tOU011
dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwogICAgICAgICAgICAgeHBjX2FycmF5X2FwcGx5KGxh
bmd1YWdlcywgXihzaXplX3QgaW5kZXgsIHhwY19vYmplY3RfdCB2YWx1ZSkgewogICAgICAgICAg
ICAgICAgIFtuZXdMYW5ndWFnZXMgYWRkT2JqZWN0OltOU1N0cmluZyBzdHJpbmdXaXRoQ1N0cmlu
Zzp4cGNfc3RyaW5nX2dldF9zdHJpbmdfcHRyKHZhbHVlKSBlbmNvZGluZzpOU1VURjhTdHJpbmdF
bmNvZGluZ11dOwogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfSk7
CisjaWYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCisgICAgICAgICAgICBbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRPYmplY3Q6bmV3TGFuZ3VhZ2VzLmdldCgp
IGZvcktleTpAIkFwcGxlTGFuZ3VhZ2VzIl07CisjZWxzZQorICAgICAgICAgICAgTlNEaWN0aW9u
YXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICAgICAg
ICAgIGF1dG8gbmV3QXJndW1lbnRzID0gYWRvcHROUyhbZXhpc3RpbmdBcmd1bWVudHMgbXV0YWJs
ZUNvcHldKTsKICAgICAgICAgICAgIFtuZXdBcmd1bWVudHMgc2V0VmFsdWU6bmV3TGFuZ3VhZ2Vz
LmdldCgpIGZvcktleTpAIkFwcGxlTGFuZ3VhZ2VzIl07Ci0gICAgICAgICAgICBbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjpuZXdBcmd1bWVu
dHMgZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICAgICAgICAgIFtbTlNVc2VyRGVmYXVs
dHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0aWxlRG9tYWluOm5ld0FyZ3VtZW50cy5n
ZXQoKSBmb3JOYW1lOk5TQXJndW1lbnREb21haW5dOworI2VuZGlmCiAgICAgICAgIH0KICAgICB9
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbQppbmRleCA0MjJiYWJiZmRhYTk1ZDFmZjFiYzlmOGFhZDk5YmNlNWY3MTIyN2Q5Li43YzM2
OTViNmIyMWFiNGFiOGMzMTE5YWU4ZTU4ZTdlNjI1YTFkZDczIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTgxLDcgKzgxLDYg
QEAKICNpbXBvcnQgPGFsZ29yaXRobT4KICNpbXBvcnQgPGRpc3BhdGNoL2Rpc3BhdGNoLmg+CiAj
aW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KLSNpbXBvcnQgPHBhbC9jb2NvYS9NZWRpYVRvb2xib3hT
b2Z0TGluay5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaD4KICNpbXBvcnQg
PHBhbC9zcGkvY2YvQ0ZVdGlsaXRpZXNTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2cvQ29yZUdy
YXBoaWNzU1BJLmg+CkBAIC05NCw2ICs5Myw3IEBACiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0Fw
cGxpY2F0aW9uU1BJLmg+CiAjaW1wb3J0IDxzdGRpby5oPgogI2ltcG9ydCA8d3RmL0ZpbGVTeXN0
ZW0uaD4KKyNpbXBvcnQgPHd0Zi9MYW5ndWFnZS5oPgogI2ltcG9ydCA8d3RmL1Byb2Nlc3NQcml2
aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8d3RmL2NvY29h
L0VudGl0bGVtZW50cy5oPgpAQCAtMTQ0LDYgKzE0NCw3IEBACiAjZW5kaWYKIAogI2ltcG9ydCA8
cGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmg+CisjaW1wb3J0IDxwYWwvY29jb2EvTWVk
aWFUb29sYm94U29mdExpbmsuaD4KIAogI2lmIEhBVkUoQ0FUQUxZU1RfVVNFUl9JTlRFUkZBQ0Vf
SURJT01fQU5EX1NDQUxFX0ZBQ1RPUikKIC8vIEZJWE1FOiBUaGlzIGlzIG9ubHkgZm9yIGJpbmFy
eSBjb21wYXRpYmlsaXR5IHdpdGggdmVyc2lvbnMgb2YgVUlLaXQgaW4gbWFjT1MgMTEgdGhhdCBh
cmUgbWlzc2luZyB0aGUgY2hhbmdlIGluIDxyZGFyOi8vcHJvYmxlbS82ODUyNDE0OD4uCkBAIC0x
MDkyLDE0ICsxMDkzLDIxIEBAIHN0YXRpYyB2b2lkIGRpc3BhdGNoU2ltdWxhdGVkTm90aWZpY2F0
aW9uc0ZvclByZWZlcmVuY2VDaGFuZ2UoY29uc3QgU3RyaW5nJiBrZXkpCiAKIHN0YXRpYyB2b2lk
IHNldFByZWZlcmVuY2VWYWx1ZShjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBr
ZXksIGlkIHZhbHVlKQogewotICAgIGlmIChkb21haW4uaXNFbXB0eSgpKSB7Ci0gICAgICAgIENG
UHJlZmVyZW5jZXNTZXRWYWx1ZShrZXkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgKF9fYnJpZGdl
IENGUHJvcGVydHlMaXN0UmVmKXZhbHVlLCBrQ0ZQcmVmZXJlbmNlc0FueUFwcGxpY2F0aW9uLCBr
Q0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhvc3QpOwotI2lmIEFT
U0VSVF9FTkFCTEVECi0gICAgICAgIGlkIHZhbHVlQWZ0ZXJTZXR0aW5nID0gW1tOU1VzZXJEZWZh
dWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gb2JqZWN0Rm9yS2V5OmtleV07Ci0gICAgICAgIEFT
U0VSVCh2YWx1ZUFmdGVyU2V0dGluZyA9PSB2YWx1ZSB8fCBbdmFsdWVBZnRlclNldHRpbmcgaXNF
cXVhbDp2YWx1ZV0pOworICAgIGlmIChkb21haW4uaXNFbXB0eSgpKQorICAgICAgICBDRlByZWZl
cmVuY2VzU2V0QXBwVmFsdWUoa2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIChfX2JyaWRnZSBD
RlByb3BlcnR5TGlzdFJlZil2YWx1ZSwga0NGUHJlZmVyZW5jZXNDdXJyZW50QXBwbGljYXRpb24p
OworICAgIGVsc2UKKyAgICAgICAgQ0ZQcmVmZXJlbmNlc1NldEFwcFZhbHVlKGtleS5jcmVhdGVD
RlN0cmluZygpLmdldCgpLCAoX19icmlkZ2UgQ0ZQcm9wZXJ0eUxpc3RSZWYpdmFsdWUsIGRvbWFp
bi5jcmVhdGVDRlN0cmluZygpLmdldCgpKTsKKworICAgIGlmIChrZXkgPT0gIkFwcGxlTGFuZ3Vh
Z2VzIikgeworI2lmICFFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKKyAgICAgICAgTlNEaWN0
aW9uYXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICAg
ICAgYXV0byBuZXdBcmd1bWVudHMgPSBhZG9wdE5TKFtleGlzdGluZ0FyZ3VtZW50cyBtdXRhYmxl
Q29weV0pOworICAgICAgICBbbmV3QXJndW1lbnRzIHNldFZhbHVlOnZhbHVlIGZvcktleTpAIkFw
cGxlTGFuZ3VhZ2VzIl07CisgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdIHNldFZvbGF0aWxlRG9tYWluOm5ld0FyZ3VtZW50cy5nZXQoKSBmb3JOYW1lOk5TQXJn
dW1lbnREb21haW5dOwogI2VuZGlmCi0gICAgfSBlbHNlCi0gICAgICAgIENGUHJlZmVyZW5jZXNT
ZXRWYWx1ZShrZXkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgKF9fYnJpZGdlIENGUHJvcGVydHlM
aXN0UmVmKXZhbHVlLCBkb21haW4uY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwga0NGUHJlZmVyZW5j
ZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5jZXNBbnlIb3N0KTsKKworICAgICAgICBXVEY6Omxh
bmd1YWdlRGlkQ2hhbmdlKCk7CisgICAgfQogfQogCiB2b2lkIFdlYlByb2Nlc3M6Om5vdGlmeVBy
ZWZlcmVuY2VzQ2hhbmdlZChjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBrZXks
IGNvbnN0IE9wdGlvbmFsPFN0cmluZz4mIGVuY29kZWRWYWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBkMzk2OGJlM2ZmNGI2NmYzZTI2OThlYmRl
NzQzMjNlNTg1ZDNlYjhkLi5kMzMzNGQxMzQ5OTc3NTc4NGY4YzgwMjBmYmJlNDUyNGVjYzdhODA3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yNDgs
NiArMjQ4LDcgQEAKICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgogI2ltcG9ydCA8d3RmL0ZpbGVT
eXN0ZW0uaD4KICNpbXBvcnQgPHd0Zi9IYXNoVHJhaXRzLmg+CisjaW1wb3J0IDx3dGYvTGFuZ3Vh
Z2UuaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1By
aXZpbGVnZS5oPgogI2ltcG9ydCA8d3RmL1JBTVNpemUuaD4KQEAgLTU5Miw2ICs1OTMsMTMgQEAg
c3RhdGljIE9wdGlvblNldDxXZWJDb3JlOjpEcmFnRGVzdGluYXRpb25BY3Rpb24+IGNvcmVEcmFn
RGVzdGluYXRpb25BY3Rpb25NYXNrKFcKICAgICByZXR1cm4gcmVzdWx0OwogfQogCisjaWYgUExB
VEZPUk0oTUFDKQorc3RhdGljIHZvaWQgbGFuZ3VhZ2VQcmVmZXJlbmNlc0RpZENoYW5nZShDRk5v
dGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCosIENGU3RyaW5nUmVmLCBjb25zdCB2b2lkKiwgQ0ZE
aWN0aW9uYXJ5UmVmKQoreworICAgIFdURjo6bGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKK30KKyNlbmRp
ZgorCiAjaWYgIVVTRShBUFBLSVQpCiAvLyBTZWUgPFVJS2l0L1VJRHJhZ2dpbmdfUHJpdmF0ZS5o
Pi4KIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfVUlEcmFnT3BlcmF0aW9uKSB7CkBA
IC0xNjgwLDcgKzE2ODgsMTIgQEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJh
bWVOYW1lOihOU1N0cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3QKICNlbmRpZgogCiAg
ICAgW1dlYlZpZXdWaXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkgaW5zdGFsbEZvcldlYlZpZXdJ
Zk5lZWRlZDpzZWxmIGtpbmQ6QCJXZWJWaWV3IiBkZXByZWNhdGVkOllFU107Ci0jZW5kaWYKKwor
ICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOworICAgIGRpc3BhdGNoX29uY2Uo
Jm9uY2VUb2tlbiwgXnsKKyAgICAgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJBZGRPYnNlcnZlcihD
Rk5vdGlmaWNhdGlvbkNlbnRlckdldERpc3RyaWJ1dGVkQ2VudGVyKCksIG51bGxwdHIsICZsYW5n
dWFnZVByZWZlcmVuY2VzRGlkQ2hhbmdlLCBDRlNUUigiQXBwbGVMYW5ndWFnZVByZWZlcmVuY2Vz
Q2hhbmdlZE5vdGlmaWNhdGlvbiIpLCBudWxscHRyLCBDRk5vdGlmaWNhdGlvblN1c3BlbnNpb25C
ZWhhdmlvckNvYWxlc2NlKTsKKyAgICB9KTsKKyNlbmRpZiAvLyBQTEFURk9STShNQUMpCiB9CiAK
IC0gKGlkKV9pbml0V2l0aEZyYW1lOihOU1JlY3QpZiBmcmFtZU5hbWU6KE5TU3RyaW5nICopZnJh
bWVOYW1lIGdyb3VwTmFtZTooTlNTdHJpbmcgKilncm91cE5hbWUKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkZTg0OWVkYmFkOTk1OGI3ZWVjOGM3
NTgyNjg4N2NjODFlZWM2ZmJhLi40YzU5M2U1YmExZTI4ZDA1ZTM3YTU1NWQwMGJjNTFiN2Y3MmYw
YTA3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBsYW5ndWFnZSBk
b2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJl
ZmVyZW5jZS5tbToKKyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTAzLTAyICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUgTUVESUFfU09VUkNFIGluIElP
UyBTaW11bGF0b3IKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0KaW5kZXgg
YTEyY2FhOTBmY2I3N2Q1NzBlODE5YjYxOTQ5MjBhZTI0ZmI1NTUxMS4uNTdiZjc1YzZhZGZhMTY0
MDgxZDQyYzZhMDc1MTI3OTY2YzZiOTBhMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0KKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1By
ZWZlcmVuY2UubW0KQEAgLTI5LDYgKzI5LDggQEAKIAogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRp
ZXMuaCIKICNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBvcnQgPHd0Zi9jb2NvYS9WZWN0
b3JDb2NvYS5oPgorI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCiBURVNUKFdl
YktpdCwgT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UpCiB7CkBAIC01MSwzICs1Myw1
NCBAQCBURVNUKFdlYktpdCwgT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UpCiB9CiAK
ICNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCisKKyNpZiBQTEFURk9STShNQUMpCitURVNUKFdlYktp
dCwgVXBkYXRlQXBwbGVMYW5ndWFnZXMpCit7CisgICAgLy8gU2F2ZSBjdXJyZW50IHN5c3RlbSBs
YW5ndWFnZSB0byByZXN0b3JlIGl0IGxhdGVyLgorICAgIGF1dG8gdGFzayA9IGFkb3B0TlMoW1tO
U1Rhc2sgYWxsb2NdIGluaXRdKTsKKyAgICBbdGFzayBzZXRMYXVuY2hQYXRoOkAiL3Vzci9iaW4v
ZGVmYXVsdHMiXTsKKyAgICBbdGFzayBzZXRBcmd1bWVudHM6QFtAInJlYWQiLCBAIk5TR2xvYmFs
RG9tYWluIiwgQCJBcHBsZUxhbmd1YWdlcyJdXTsKKyAgICBhdXRvIHBpcGUgPSBhZG9wdE5TKFtb
TlNQaXBlIGFsbG9jXSBpbml0XSk7CisgICAgW3Rhc2sgc2V0U3RhbmRhcmRPdXRwdXQ6cGlwZS5n
ZXQoKV07CisgICAgYXV0byBmaWxlSGFuZGxlID0gW3BpcGUgZmlsZUhhbmRsZUZvclJlYWRpbmdd
OworICAgIFt0YXNrIGxhdW5jaF07CisgICAgTlNEYXRhICpkYXRhID0gW2ZpbGVIYW5kbGUgcmVh
ZERhdGFUb0VuZE9mRmlsZV07CisgICAgYXV0byBzYXZlZExhbmd1YWdlcyA9IFN0cmluZyhbW05T
U3RyaW5nIGFsbG9jXSBpbml0V2l0aERhdGE6ZGF0YSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNv
ZGluZ10pOworICAgIHNhdmVkTGFuZ3VhZ2VzLnJlcGxhY2UoIlxuIiwgIiIpOworICAgIHNhdmVk
TGFuZ3VhZ2VzLnJlcGxhY2UoIiAiLCAiIik7CisKKyAgICAvLyBUZXN0cyB1c2VzICJlbi1VUyIg
bGFuZ3VhZ2UgaW5pdGlhbGx5LgorICAgIHN5c3RlbShbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1h
dDpAImRlZmF1bHRzIHdyaXRlIE5TR2xvYmFsRG9tYWluIEFwcGxlTGFuZ3VhZ2VzICcoXCJlbi1V
U1wiKSciXS5VVEY4U3RyaW5nKTsKKworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMo
W1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgYXV0byB3ZWJWaWV3
ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVj
dCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGFkZFRv
V2luZG93OllFU10pOworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1l
ZDpAInNpbXBsZSJdOworCisgICAgLy8gV2Ugb25seSBsaXN0ZW4gZm9yIHByZWZlcmVuY2UgY2hh
bmdlcyB3aGVuIHRoZSBhcHBsaWNhdGlvbiBpcyBhY3RpdmUuCisgICAgW1tOU05vdGlmaWNhdGlv
bkNlbnRlciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZpY2F0aW9uTmFtZTpOU0FwcGxpY2F0aW9u
RGlkQmVjb21lQWN0aXZlTm90aWZpY2F0aW9uIG9iamVjdDpOU0FwcCB1c2VySW5mbzpuaWxdOwor
CisgICAgYXV0byBwcmVmZXJyZWRMYW5ndWFnZSA9IFsmXSB7CisgICAgICAgIHJldHVybiBbd2Vi
VmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAibmF2aWdhdG9yLmxhbmd1YWdlIl07
CisgICAgfTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJlbi11cyIsIHByZWZlcnJlZExhbmd1YWdl
KCkpOworCisgICAgX19ibG9jayBib29sIGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBldmFs
dWF0ZUphdmFTY3JpcHQ6QCJvbmxhbmd1YWdlY2hhbmdlID0gKCkgPT4geyB3ZWJraXQubWVzc2Fn
ZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKG5hdmlnYXRvci5sYW5ndWFnZSk7IH07
IHRydWU7IiBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIHZhbHVlLCBOU0Vycm9yICplcnJvcikgewor
ICAgICAgICBFWFBFQ1RfVFJVRSghZXJyb3IpOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9
XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworCisgICAgX19ibG9jayBi
b29sIGRpZENoYW5nZUxhbmd1YWdlID0gZmFsc2U7CisgICAgW3dlYlZpZXcgcGVyZm9ybUFmdGVy
UmVjZWl2aW5nTWVzc2FnZTpAImVuLWdiIiBhY3Rpb246XnsgZGlkQ2hhbmdlTGFuZ3VhZ2UgPSB0
cnVlOyB9XTsKKworICAgIC8vIFN3aXRjaCBzeXN0ZW0gbGFuZ3VhZ2UgZnJvbSAiZW4tVVMiIHRv
ICJlbi1HQiIuIE1ha2Ugc3VyZSB0aGF0IHdlIGZpcmUgYSBsYW5ndWFnZWNoYW5nZSBldmVudCBh
dCB0aGUgV2luZG93IGFuZCB0aGF0IG5hdmlnYXRvci5sYW5ndWFnZQorICAgIC8vIG5vdyByZXBv
cnRzICJlbi1nYiIuCisgICAgc3lzdGVtKFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiZGVm
YXVsdHMgd3JpdGUgTlNHbG9iYWxEb21haW4gQXBwbGVMYW5ndWFnZXMgJyhcImVuLUdCXCIpJyJd
LlVURjhTdHJpbmcpOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkQ2hhbmdlTGFu
Z3VhZ2UpOworCisgICAgLy8gUmVzdG9yZSBwcmV2aW91cyBzeXN0ZW0gbGFuZ3VhZ2UuCisgICAg
c3lzdGVtKFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiZGVmYXVsdHMgd3JpdGUgTlNHbG9i
YWxEb21haW4gQXBwbGVMYW5ndWFnZXMgJyVAJyIsIChOU1N0cmluZyAqKXNhdmVkTGFuZ3VhZ2Vz
XS5VVEY4U3RyaW5nKTsKK30KKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422021</attachid>
            <date>2021-03-02 16:31:39 -0800</date>
            <delta_ts>2021-03-02 17:06:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222619-20210302163138.patch</filename>
            <type>text/plain</type>
            <size>17202</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVmOWUwMjcxNjU1YWUzNjJhYzcxMzEx
YWZjNzhiZDJiNGI1YTMwM2IuLjY0NGQ1MmRiZGFmNTZiYmYwMjI0Mzc2MmFmNTFiMGRiYWVhMmYz
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBs
YW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgV1RGOjpsYW5ndWFnZURp
ZENoYW5nZSgpIHRvIGNsZWFyIHByZWZlcnJlZExhbmd1YWdlcygpIG9uIENvY29hIHBsYXRmb3Jt
cworICAgICAgICBzbyB0aGF0IHdlIGdldCB1cGRhdGVkIHZhbHVlcyBmcm9tIHRoZSBzeXN0ZW0g
dGhlIG5leHQgdGltZQorICAgICAgICBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBp
cyBjYWxsZWQuCisKKyAgICAgICAgRHJvcCBBcHBsZUxhbmd1YWdlUHJlZmVyZW5jZXNDaGFuZ2Vk
Tm90aWZpY2F0aW9uIGxpc3RlbmVyIGluCisgICAgICAgIHBsYXRmb3JtVXNlclByZWZlcnJlZExh
bmd1YWdlcygpLiBJdCBpcyBub3Qgd29ya2luZyBmb3IgV0syIHNvIEkgaGF2ZSBtb3ZlZCBpdAor
ICAgICAgICB0byBXZWJLaXRMZWdhY3kvbWFjLiBPbiBXSzIsIHdlIHdlcmUgZ2V0dGluZyB0aGUg
bm90aWZpY2F0aW9uIGluIHRoZSBXZWJQcm9jZXNzCisgICAgICAgIGFuZCBpdCB3YXMgY2F1c2lu
ZyB1cyB0byBmaXJlIHRoZSBsYW5ndWFnZWNoYW5nZSBldmVudCBhdCB0aGUgV2luZG93LiBIb3dl
dmVyLAorICAgICAgICBuYXZpZ2F0b3IubGFuZ3VhZ2Ugd291bGQga2VlcCByZXR1cm5pbmcgdGhl
IG9sZCBsYW5ndWFnZSBhdCB0aGF0IHBvaW50IGJlY2F1c2UKKyAgICAgICAgdGhlICJBcHBsZUxh
bmd1YWdlcyIgcHJlZmVyZW5jZSBoYXMgbm90IGJlZW4gcHJvcGFnYXRlZCB0byB0aGUgV2ViUHJv
Y2VzcyB5ZXQgYXQKKyAgICAgICAgdGhpcyBwb2ludC4KKworICAgICAgICAqIHd0Zi9MYW5ndWFn
ZS5jcHA6CisgICAgICAgIChXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdURjo6
cGxhdGZvcm1MYW5ndWFnZURpZENoYW5nZSk6CisgICAgICAgICogd3RmL0xhbmd1YWdlLmg6Cisg
ICAgICAgICogd3RmL2NmL0xhbmd1YWdlQ0YuY3BwOgorICAgICAgICAoV1RGOjpwbGF0Zm9ybUxh
bmd1YWdlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdURjo6cGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFu
Z3VhZ2VzKToKKwogMjAyMS0wMy0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgRW5hYmxlIE1FRElBX1NPVVJDRSBpbiBJT1MgU2ltdWxhdG9yCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDFjNDUyODJhOTNiZTNjNzFlNzkxYmE5NjgyZDZiYTBkNTYwYzFiODMuLjU4MzkxOWRlMDI0
YjBlMDVhNWQ1NDZmODBkZWRlNDQ5YWUzMWJlYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAK
KzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBb
bWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBsYW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUg
bmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2Uv
WFBDU2VydmljZU1haW4ubW06CisgICAgICAgIChXZWJLaXQ6OnNldEFwcGxlTGFuZ3VhZ2VzUHJl
ZmVyZW5jZSk6CisgICAgICAgIC0gV2hlbiBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSksIHdl
IGRvbid0IG5lZWQgdG8gc2V0IHRoZSBBcHBsZUxhbmd1YWdlcworICAgICAgICBpbiBhIHZvbGF0
aWxlIGRvbWFpbi4gVGhpcyBkb2VzIG5vdCBjaGFuZ2UgYmVoYXZpb3IgYnV0IEkgbWFkZSB0aGlz
IGNoYW5nZQorICAgICAgICBzbyB0aGF0IEkgZG9uJ3QgbmVlZCB0byBzZXQgQXBwbGVMYW5ndWFn
ZXMgaW4gdGhlIHZvbGF0aWxlIGRvbWFpbiBpbgorICAgICAgICBXZWJQcm9jZXNzQ29jb2Egd2hl
biB0aGUgcHJlZmVyZW5jZSBjaGFuZ2VzLgorICAgICAgICAtIEFsc28gZml4IGEgbWVtb3J5IGxl
YWsgZm9yIG5ld0FyZ3VtZW50cy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJv
Y2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpzZXRQcmVmZXJlbmNlVmFsdWUpOgorICAg
ICAgICAtIENhbGwgQ0ZQcmVmZXJlbmNlc1NldEFwcFZhbHVlKCkgaW5zdGVhZCBvZiBDRlByZWZl
cmVuY2VzU2V0VmFsdWUoKS4gV2l0aG91dCB0aGlzIGNoYW5nZQorICAgICAgICB0cnlpbmcgdG8g
c2V0IEFwcGxlTGFuZ3VhZ2VzIGhlcmUgd291bGQgaGF2ZSBubyBlZmZlY3QgYW5kIENGTG9jYWxl
Q29weVByZWZlcnJlZExhbmd1YWdlcygpCisgICAgICAgIHdvdWxkIGtlZXAgcmV0dXJuaW5nIG91
dGRhdGVkIGxhbmd1YWdlcy4KKyAgICAgICAgLSBXaGVuICFFTkFCTEUoQ0ZQUkVGU19ESVJFQ1Rf
TU9ERSksIGFsc28gc2V0IEFwcGxlTGFuZ3VhZ2VzIHByZWZlcmVuY2UgaW4gdGhlIHZvbGF0aWxl
CisgICAgICAgICAgZG9tYWluIHRvIG1hdGNoIHdoYXQgd2UgZG8gaW4gWFBDU2VydmljZU1haW4u
bW0uCisgICAgICAgIC0gQ2FsbCBXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKCkgd2hlbiB0aGUgQXBw
bGVMYW5ndWFnZXMgcHJlZmVyZW5jZSBnZXRzIHVwZGF0ZWQgc28gdGhhdAorICAgICAgICAgIGxh
bmd1YWdlIGNoYW5nZSBsaXN0ZW5lcnMgZ2V0IG5vdGlmaWVkIG9mIHRoZSBsYW5ndWFnZSBjaGFu
Z2UgKGUuZy4gd2UgZmlyZSBhIGxhbmd1YWdlY2hhbmdlCisgICAgICAgICAgZXZlbnQgYXQgdGhl
IFdpbmRvdykuCisKIDIwMjEtMDMtMDIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBOdWxsIGNoZWNrIHBsYXRmb3JtRGF0YSB3aGVuIGRlY29kaW5nCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKaW5kZXggNzllNzIxMmQ0MjcyMmI1ODI2MDUyN2Y5YTk1NzUyYTQ1NmJk
ODE0Zi4uMTgwZmM0NzI3YjAxNDE3ZGU5NmE3MzcyMmM1ODliMjc3ZTI2YjI4MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAzLTAyICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXVtXSzJdIENoYW5naW5n
IHRoZSBzeXN0ZW0gbGFuZ3VhZ2UgZG9lcyBub3QgdXBkYXRlIG5hdmlnYXRvci5sYW5ndWFnZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjE5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgdXNlIHRv
IGxpc3RlbiBmb3IgQXBwbGVMYW5ndWFnZVByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiBp
biBXVEYncyBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKS4KKyAgICAgICAgSSBtb3Zl
ZCBpdCBoZXJlIGluIFdlYktpdExlZ2FjeS9tYWMgc2luY2UgaXQgZG9lcyBub3Qgd29yayBhcyBl
eHBlY3RlZCBmb3IgV2ViS2l0Mi4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAg
ICAgICAgKGxhbmd1YWdlUHJlZmVyZW5jZXNEaWRDaGFuZ2UpOgorICAgICAgICAoLVtXZWJWaWV3
IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3JvdXBOYW1lOl0pOgorCiAyMDIx
LTAzLTAxICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1l
IHRoZSBkZWxlZ2F0ZSBwcm9wZXJ0eSBvZiBXZWJBVlBsYXllclZpZXcgdG8gd2ViRGVsZWdhdGUg
dG8gZml4IGEgYnVpbGQgZmFpbHVyZSB3aXRoIG5ldyBTREtzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9MYW5ndWFnZS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5jcHAKaW5kZXgg
ZTkwNzEyZjg5NTI4ODAxN2IxOTZhZDZhMzIyMDU1YzlmNjU2NWUwZC4uMjMzYmZkMTk0YjU3ZTcx
NzM1YzliOTgyOTdmYmZjZmE3MTA0MDIzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTGFu
Z3VhZ2UuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmNwcApAQCAtNjIsNiArNjIs
NyBAQCB2b2lkIHJlbW92ZUxhbmd1YWdlQ2hhbmdlT2JzZXJ2ZXIodm9pZCogY29udGV4dCkKIAog
dm9pZCBsYW5ndWFnZURpZENoYW5nZSgpCiB7CisgICAgcGxhdGZvcm1MYW5ndWFnZURpZENoYW5n
ZSgpOwogICAgIGZvciAoYXV0byYgb2JzZXJ2ZXIgOiBjb3B5VG9WZWN0b3Iob2JzZXJ2ZXJNYXAo
KSkpIHsKICAgICAgICAgaWYgKG9ic2VydmVyTWFwKCkuY29udGFpbnMob2JzZXJ2ZXIua2V5KSkK
ICAgICAgICAgICAgIG9ic2VydmVyLnZhbHVlKG9ic2VydmVyLmtleSk7CkBAIC0xODMsNCArMTg0
LDEwIEBAIFN0cmluZyBkaXNwbGF5TmFtZUZvckxhbmd1YWdlTG9jYWxlKGNvbnN0IFN0cmluZyYg
bG9jYWxlTmFtZSkKICAgICByZXR1cm4gbG9jYWxlTmFtZTsKIH0KIAorI2lmICFVU0UoQ0YpCit2
b2lkIHBsYXRmb3JtTGFuZ3VhZ2VEaWRDaGFuZ2UoKQoreworfQorI2VuZGlmCisKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmggYi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFn
ZS5oCmluZGV4IGI4YjkwOTU2Y2U4MzRmODY3YzMxODU4ODcxMTIzZTZhYTI0YTYzOGEuLjgwMGQ2
YjgxZDYyMWE1OTI0MjE5YmFiMGU0YTllNDNkODU2YjZkYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL0xhbmd1YWdlLmgKKysrIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuaApAQCAtNDEs
NiArNDEsOCBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgVmVjdG9yPFN0cmluZz4gdXNlclByZWZlcnJl
ZExhbmd1YWdlc092ZXJyaWRlKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBvdmVycmlkZVVz
ZXJQcmVmZXJyZWRMYW5ndWFnZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKIFdURl9FWFBPUlRf
UFJJVkFURSBzaXplX3QgaW5kZXhPZkJlc3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KGNvbnN0IFN0
cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYW5ndWFnZUxpc3QsIGJvb2wm
IGV4YWN0TWF0Y2gpOwogV1RGX0VYUE9SVF9QUklWQVRFIFZlY3RvcjxTdHJpbmc+IHBsYXRmb3Jt
VXNlclByZWZlcnJlZExhbmd1YWdlcygpOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgcGxhdGZv
cm1MYW5ndWFnZURpZENoYW5nZSgpOworCiAvLyBDYWxsZWQgZnJvbSBwbGF0Zm9ybSBzcGVjaWZp
YyBjb2RlIHdoZW4gdGhlIHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2UocykgY2hhbmdlLgogV1RG
X0VYUE9SVF9QUklWQVRFIHZvaWQgbGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvY2YvTGFuZ3VhZ2VDRi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9jZi9MYW5n
dWFnZUNGLmNwcAppbmRleCA0MjVhZWJlOGYzZWRhZDI1NGFhZjI0NTg4MGU1ODE0Y2NkOWJjYzZm
Li41YTZlZTgxZGEzYWVhODJiN2EzNzJhMThmZWU4NjE5ZjJjNTQ4NGRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9jZi9MYW5ndWFnZUNGLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jZi9M
YW5ndWFnZUNGLmNwcApAQCAtODMsMjcgKzgzLDE2IEBAIHN0YXRpYyBTdHJpbmcgaHR0cFN0eWxl
TGFuZ3VhZ2VDb2RlKENGU3RyaW5nUmVmIGxhbmd1YWdlKQogCiB9CiAKLSNpZiBQTEFURk9STShN
QUMpCi1zdGF0aWMgdm9pZCBsYW5ndWFnZVByZWZlcmVuY2VzRGlkQ2hhbmdlKENGTm90aWZpY2F0
aW9uQ2VudGVyUmVmLCB2b2lkKiwgQ0ZTdHJpbmdSZWYsIGNvbnN0IHZvaWQqLCBDRkRpY3Rpb25h
cnlSZWYpCit2b2lkIHBsYXRmb3JtTGFuZ3VhZ2VEaWRDaGFuZ2UoKQogewogICAgIHsKICAgICAg
ICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhwcmVmZXJyZWRMYW5ndWFnZXNNdXRleCk7CiAgICAg
ICAgIHByZWZlcnJlZExhbmd1YWdlcygpLmNsZWFyKCk7CiAgICAgfQotICAgIAotICAgIGxhbmd1
YWdlRGlkQ2hhbmdlKCk7CiB9Ci0jZW5kaWYKIAogVmVjdG9yPFN0cmluZz4gcGxhdGZvcm1Vc2Vy
UHJlZmVycmVkTGFuZ3VhZ2VzKCkKIHsKLSNpZiBQTEFURk9STShNQUMpCi0gICAgc3RhdGljIGRp
c3BhdGNoX29uY2VfdCBvbmNlVG9rZW47Ci0gICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBe
IHsKLSAgICAgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJBZGRPYnNlcnZlcihDRk5vdGlmaWNhdGlv
bkNlbnRlckdldERpc3RyaWJ1dGVkQ2VudGVyKCksIG51bGxwdHIsICZsYW5ndWFnZVByZWZlcmVu
Y2VzRGlkQ2hhbmdlLCBDRlNUUigiQXBwbGVMYW5ndWFnZVByZWZlcmVuY2VzQ2hhbmdlZE5vdGlm
aWNhdGlvbiIpLCBudWxscHRyLCBDRk5vdGlmaWNhdGlvblN1c3BlbnNpb25CZWhhdmlvckNvYWxl
c2NlKTsKLSAgICB9KTsKLSNlbmRpZgotCiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhwcmVm
ZXJyZWRMYW5ndWFnZXNNdXRleCk7CiAgICAgVmVjdG9yPFN0cmluZz4mIHVzZXJQcmVmZXJyZWRM
YW5ndWFnZXMgPSBwcmVmZXJyZWRMYW5ndWFnZXMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZp
Y2VNYWluLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2Nv
YS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCmluZGV4IDE0MDIyNjBlMjE5ODUxMzI4YjQ3
OWFhNzg3Zjg0OTM5MGRkYzQxZmUuLmUwOGU3MGM2NTI3M2IzYzNlODAyYmEyMTM4ZjUwYjQ2YmI1
ZjdlY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRp
ZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1h
aW4ubW0KQEAgLTQ3LDE1ICs0NywxOSBAQCBzdGF0aWMgdm9pZCBzZXRBcHBsZUxhbmd1YWdlc1By
ZWZlcmVuY2UoKQogCiAgICAgaWYgKHhwY19vYmplY3RfdCBsYW5ndWFnZXMgPSB4cGNfZGljdGlv
bmFyeV9nZXRfdmFsdWUoYm9vdHN0cmFwLmdldCgpLCAiT3ZlcnJpZGVMYW5ndWFnZXMiKSkgewog
ICAgICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKLSAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqZXhp
c3RpbmdBcmd1bWVudHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2
b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07Ci0gICAgICAgICAgICBOU011
dGFibGVEaWN0aW9uYXJ5ICpuZXdBcmd1bWVudHMgPSBbZXhpc3RpbmdBcmd1bWVudHMgbXV0YWJs
ZUNvcHldOwogICAgICAgICAgICAgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiBuZXdMYW5ndWFn
ZXMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKICAgICAgICAgICAg
IHhwY19hcnJheV9hcHBseShsYW5ndWFnZXMsIF4oc2l6ZV90IGluZGV4LCB4cGNfb2JqZWN0X3Qg
dmFsdWUpIHsKICAgICAgICAgICAgICAgICBbbmV3TGFuZ3VhZ2VzIGFkZE9iamVjdDpbTlNTdHJp
bmcgc3RyaW5nV2l0aENTdHJpbmc6eHBjX3N0cmluZ19nZXRfc3RyaW5nX3B0cih2YWx1ZSkgZW5j
b2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddXTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAgICAgICAgIH0pOworI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQorICAg
ICAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0T2JqZWN0
Om5ld0xhbmd1YWdlcy5nZXQoKSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOworI2Vsc2UKKyAg
ICAgICAgICAgIE5TRGljdGlvbmFyeSAqZXhpc3RpbmdBcmd1bWVudHMgPSBbW05TVXNlckRlZmF1
bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVu
dERvbWFpbl07CisgICAgICAgICAgICBhdXRvIG5ld0FyZ3VtZW50cyA9IGFkb3B0TlMoW2V4aXN0
aW5nQXJndW1lbnRzIG11dGFibGVDb3B5XSk7CiAgICAgICAgICAgICBbbmV3QXJndW1lbnRzIHNl
dFZhbHVlOm5ld0xhbmd1YWdlcy5nZXQoKSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwotICAg
ICAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRp
bGVEb21haW46bmV3QXJndW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgICAg
ICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURv
bWFpbjpuZXdBcmd1bWVudHMuZ2V0KCkgZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyNlbmRp
ZgogICAgICAgICB9CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KaW5kZXggNDIyYmFiYmZkYWE5NWQxZmYxYmM5ZjhhYWQ5
OWJjZTVmNzEyMjdkOS4uN2MzNjk1YjZiMjFhYjRhYjhjMzExOWFlOGU1OGU3ZTYyNWExZGQ3MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29h
Lm1tCkBAIC04MSw3ICs4MSw2IEBACiAjaW1wb3J0IDxhbGdvcml0aG0+CiAjaW1wb3J0IDxkaXNw
YXRjaC9kaXNwYXRjaC5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+Ci0jaW1wb3J0IDxwYWwv
Y29jb2EvTWVkaWFUb29sYm94U29mdExpbmsuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3
b3JrU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGVXRpbGl0aWVzU1BJLmg+CiAjaW1wb3J0
IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgpAQCAtOTQsNiArOTMsNyBAQAogI2ltcG9y
dCA8cGFsL3NwaS9tYWMvTlNBcHBsaWNhdGlvblNQSS5oPgogI2ltcG9ydCA8c3RkaW8uaD4KICNp
bXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CisjaW1wb3J0IDx3dGYvTGFuZ3VhZ2UuaD4KICNpbXBv
cnQgPHd0Zi9Qcm9jZXNzUHJpdmlsZWdlLmg+CiAjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4K
ICNpbXBvcnQgPHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KQEAgLTE0NCw2ICsxNDQsNyBAQAog
I2VuZGlmCiAKICNpbXBvcnQgPHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oPgorI2lt
cG9ydCA8cGFsL2NvY29hL01lZGlhVG9vbGJveFNvZnRMaW5rLmg+CiAKICNpZiBIQVZFKENBVEFM
WVNUX1VTRVJfSU5URVJGQUNFX0lESU9NX0FORF9TQ0FMRV9GQUNUT1IpCiAvLyBGSVhNRTogVGhp
cyBpcyBvbmx5IGZvciBiaW5hcnkgY29tcGF0aWJpbGl0eSB3aXRoIHZlcnNpb25zIG9mIFVJS2l0
IGluIG1hY09TIDExIHRoYXQgYXJlIG1pc3NpbmcgdGhlIGNoYW5nZSBpbiA8cmRhcjovL3Byb2Js
ZW0vNjg1MjQxNDg+LgpAQCAtMTA5MiwxNCArMTA5MywyMSBAQCBzdGF0aWMgdm9pZCBkaXNwYXRj
aFNpbXVsYXRlZE5vdGlmaWNhdGlvbnNGb3JQcmVmZXJlbmNlQ2hhbmdlKGNvbnN0IFN0cmluZyYg
a2V5KQogCiBzdGF0aWMgdm9pZCBzZXRQcmVmZXJlbmNlVmFsdWUoY29uc3QgU3RyaW5nJiBkb21h
aW4sIGNvbnN0IFN0cmluZyYga2V5LCBpZCB2YWx1ZSkKIHsKLSAgICBpZiAoZG9tYWluLmlzRW1w
dHkoKSkgewotICAgICAgICBDRlByZWZlcmVuY2VzU2V0VmFsdWUoa2V5LmNyZWF0ZUNGU3RyaW5n
KCkuZ2V0KCksIChfX2JyaWRnZSBDRlByb3BlcnR5TGlzdFJlZil2YWx1ZSwga0NGUHJlZmVyZW5j
ZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5j
ZXNBbnlIb3N0KTsKLSNpZiBBU1NFUlRfRU5BQkxFRAotICAgICAgICBpZCB2YWx1ZUFmdGVyU2V0
dGluZyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9iamVjdEZvcktl
eTprZXldOwotICAgICAgICBBU1NFUlQodmFsdWVBZnRlclNldHRpbmcgPT0gdmFsdWUgfHwgW3Zh
bHVlQWZ0ZXJTZXR0aW5nIGlzRXF1YWw6dmFsdWVdKTsKKyAgICBpZiAoZG9tYWluLmlzRW1wdHko
KSkKKyAgICAgICAgQ0ZQcmVmZXJlbmNlc1NldEFwcFZhbHVlKGtleS5jcmVhdGVDRlN0cmluZygp
LmdldCgpLCAoX19icmlkZ2UgQ0ZQcm9wZXJ0eUxpc3RSZWYpdmFsdWUsIGtDRlByZWZlcmVuY2Vz
Q3VycmVudEFwcGxpY2F0aW9uKTsKKyAgICBlbHNlCisgICAgICAgIENGUHJlZmVyZW5jZXNTZXRB
cHBWYWx1ZShrZXkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgKF9fYnJpZGdlIENGUHJvcGVydHlM
aXN0UmVmKXZhbHVlLCBkb21haW4uY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CisKKyAgICBpZiAo
a2V5ID09ICJBcHBsZUxhbmd1YWdlcyIpIHsKKyNpZiAhRU5BQkxFKENGUFJFRlNfRElSRUNUX01P
REUpCisgICAgICAgIE5TRGljdGlvbmFyeSAqZXhpc3RpbmdBcmd1bWVudHMgPSBbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1
bWVudERvbWFpbl07CisgICAgICAgIGF1dG8gbmV3QXJndW1lbnRzID0gYWRvcHROUyhbZXhpc3Rp
bmdBcmd1bWVudHMgbXV0YWJsZUNvcHldKTsKKyAgICAgICAgW25ld0FyZ3VtZW50cyBzZXRWYWx1
ZTp2YWx1ZSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOworICAgICAgICBbW05TVXNlckRlZmF1
bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjpuZXdBcmd1bWVudHMu
Z2V0KCkgZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKICNlbmRpZgotICAgIH0gZWxzZQotICAg
ICAgICBDRlByZWZlcmVuY2VzU2V0VmFsdWUoa2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIChf
X2JyaWRnZSBDRlByb3BlcnR5TGlzdFJlZil2YWx1ZSwgZG9tYWluLmNyZWF0ZUNGU3RyaW5nKCku
Z2V0KCksIGtDRlByZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQW55SG9zdCk7
CisKKyAgICAgICAgV1RGOjpsYW5ndWFnZURpZENoYW5nZSgpOworICAgIH0KIH0KIAogdm9pZCBX
ZWJQcm9jZXNzOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3QgU3RyaW5nJiBkb21haW4s
IGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggZDM5Njhi
ZTNmZjRiNjZmM2UyNjk4ZWJkZTc0MzIzZTU4NWQzZWI4ZC4uZDMzMzRkMTM0OTk3NzU3ODRmOGM4
MDIwZmJiZTQ1MjRlY2M3YTgwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQpAQCAtMjQ4LDYgKzI0OCw3IEBACiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4K
ICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvSGFzaFRyYWl0cy5oPgor
I2ltcG9ydCA8d3RmL0xhbmd1YWdlLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2lt
cG9ydCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi9SQU1TaXplLmg+CkBA
IC01OTIsNiArNTkzLDEzIEBAIHN0YXRpYyBPcHRpb25TZXQ8V2ViQ29yZTo6RHJhZ0Rlc3RpbmF0
aW9uQWN0aW9uPiBjb3JlRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTWFzayhXCiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAorI2lmIFBMQVRGT1JNKE1BQykKK3N0YXRpYyB2b2lkIGxhbmd1YWdlUHJlZmVy
ZW5jZXNEaWRDaGFuZ2UoQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQqLCBDRlN0cmluZ1Jl
ZiwgY29uc3Qgdm9pZCosIENGRGljdGlvbmFyeVJlZikKK3sKKyAgICBXVEY6Omxhbmd1YWdlRGlk
Q2hhbmdlKCk7Cit9CisjZW5kaWYKKwogI2lmICFVU0UoQVBQS0lUKQogLy8gU2VlIDxVSUtpdC9V
SURyYWdnaW5nX1ByaXZhdGUuaD4uCiB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1VJ
RHJhZ09wZXJhdGlvbikgewpAQCAtMTY4MCw3ICsxNjg4LDEyIEBAIC0gKHZvaWQpX2NvbW1vbklu
aXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1l
OihOU1N0CiAjZW5kaWYKIAogICAgIFtXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5
IGluc3RhbGxGb3JXZWJWaWV3SWZOZWVkZWQ6c2VsZiBraW5kOkAiV2ViVmlldyIgZGVwcmVjYXRl
ZDpZRVNdOwotI2VuZGlmCisKKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsK
KyAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CisgICAgICAgIENGTm90aWZpY2F0aW9u
Q2VudGVyQWRkT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXREaXN0cmlidXRlZENlbnRl
cigpLCBudWxscHRyLCAmbGFuZ3VhZ2VQcmVmZXJlbmNlc0RpZENoYW5nZSwgQ0ZTVFIoIkFwcGxl
TGFuZ3VhZ2VQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24iKSwgbnVsbHB0ciwgQ0ZOb3Rp
ZmljYXRpb25TdXNwZW5zaW9uQmVoYXZpb3JDb2FsZXNjZSk7CisgICAgfSk7CisjZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQogfQogCiAtIChpZClfaW5pdFdpdGhGcmFtZTooTlNSZWN0KWYgZnJhbWVO
YW1lOihOU1N0cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3RyaW5nICopZ3JvdXBOYW1l
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGU4
NDllZGJhZDk5NThiN2VlYzhjNzU4MjY4ODdjYzgxZWVjNmZiYS4uNGM1OTNlNWJhMWUyOGQwNWUz
N2E1NTVkMDBiYzUxYjdmNzJmMGEwNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAzLTAyICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXVtXSzJdIENoYW5naW5nIHRo
ZSBzeXN0ZW0gbGFuZ3VhZ2UgZG9lcyBub3QgdXBkYXRlIG5hdmlnYXRvci5sYW5ndWFnZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjE5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFQSSB0ZXN0
IGNvdmVyYWdlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJp
ZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW06CisgICAgICAgIChURVNUKToKKwogMjAyMS0w
My0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRW5hYmxl
IE1FRElBX1NPVVJDRSBpbiBJT1MgU2ltdWxhdG9yCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQ
cmVmZXJlbmNlLm1tCmluZGV4IGExMmNhYTkwZmNiNzdkNTcwZTgxOWI2MTk0OTIwYWUyNGZiNTU1
MTEuLjU3YmY3NWM2YWRmYTE2NDA4MWQ0MmM2YTA3NTEyNzk2NmM2YjkwYTIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQ
cmVmZXJlbmNlLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJy
aWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tCkBAIC0yOSw2ICsyOSw4IEBACiAKICNpbXBv
cnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1w
b3J0IDx3dGYvY29jb2EvVmVjdG9yQ29jb2EuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1
aWxkZXIuaD4KIAogVEVTVChXZWJLaXQsIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNl
KQogewpAQCAtNTEsMyArNTMsNTQgQEAgVEVTVChXZWJLaXQsIE92ZXJyaWRlQXBwbGVMYW5ndWFn
ZXNQcmVmZXJlbmNlKQogfQogCiAjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQorCisjaWYgUExBVEZP
Uk0oTUFDKQorVEVTVChXZWJLaXQsIFVwZGF0ZUFwcGxlTGFuZ3VhZ2VzKQoreworICAgIC8vIFNh
dmUgY3VycmVudCBzeXN0ZW0gbGFuZ3VhZ2UgdG8gcmVzdG9yZSBpdCBsYXRlci4KKyAgICBhdXRv
IHRhc2sgPSBhZG9wdE5TKFtbTlNUYXNrIGFsbG9jXSBpbml0XSk7CisgICAgW3Rhc2sgc2V0TGF1
bmNoUGF0aDpAIi91c3IvYmluL2RlZmF1bHRzIl07CisgICAgW3Rhc2sgc2V0QXJndW1lbnRzOkBb
QCJyZWFkIiwgQCJOU0dsb2JhbERvbWFpbiIsIEAiQXBwbGVMYW5ndWFnZXMiXV07CisgICAgYXV0
byBwaXBlID0gYWRvcHROUyhbW05TUGlwZSBhbGxvY10gaW5pdF0pOworICAgIFt0YXNrIHNldFN0
YW5kYXJkT3V0cHV0OnBpcGUuZ2V0KCldOworICAgIGF1dG8gZmlsZUhhbmRsZSA9IFtwaXBlIGZp
bGVIYW5kbGVGb3JSZWFkaW5nXTsKKyAgICBbdGFzayBsYXVuY2hdOworICAgIE5TRGF0YSAqZGF0
YSA9IFtmaWxlSGFuZGxlIHJlYWREYXRhVG9FbmRPZkZpbGVdOworICAgIGF1dG8gc2F2ZWRMYW5n
dWFnZXMgPSBTdHJpbmcoW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhEYXRhOmRhdGEgZW5jb2Rp
bmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddKTsKKyAgICBzYXZlZExhbmd1YWdlcy5yZXBsYWNlKCJc
biIsICIiKTsKKyAgICBzYXZlZExhbmd1YWdlcy5yZXBsYWNlKCIgIiwgIiIpOworCisgICAgLy8g
VGVzdHMgdXNlcyAiZW4tVVMiIGxhbmd1YWdlIGluaXRpYWxseS4KKyAgICBzeXN0ZW0oW05TU3Ry
aW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJkZWZhdWx0cyB3cml0ZSBOU0dsb2JhbERvbWFpbiBBcHBs
ZUxhbmd1YWdlcyAnKFwiZW4tVVNcIiknIl0uVVRGOFN0cmluZyk7CisKKyAgICBhdXRvIGNvbmZp
Z3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0p
OworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmln
dXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91
c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJzaW1wbGUiXTsKKworICAgIC8vIFdlIG9ubHkgbGlzdGVu
IGZvciBwcmVmZXJlbmNlIGNoYW5nZXMgd2hlbiB0aGUgYXBwbGljYXRpb24gaXMgYWN0aXZlLgor
ICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlmaWNhdGlv
bk5hbWU6TlNBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNB
cHAgdXNlckluZm86bmlsXTsKKworICAgIGF1dG8gcHJlZmVycmVkTGFuZ3VhZ2UgPSBbJl0gewor
ICAgICAgICByZXR1cm4gW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIm5h
dmlnYXRvci5sYW5ndWFnZSJdOworICAgIH07CisgICAgRVhQRUNUX1dLX1NUUkVRKEAiZW4tdXMi
LCBwcmVmZXJyZWRMYW5ndWFnZSgpKTsKKworICAgIF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7
CisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAib25sYW5ndWFnZWNoYW5nZSA9ICgp
ID0+IHsgd2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZShuYXZp
Z2F0b3IubGFuZ3VhZ2UpOyB9OyB0cnVlOyIgY29tcGxldGlvbkhhbmRsZXI6XihpZCB2YWx1ZSwg
TlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgRVhQRUNUX1RSVUUoIWVycm9yKTsKKyAgICAgICAg
ZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25l
KTsKKworICAgIF9fYmxvY2sgYm9vbCBkaWRDaGFuZ2VMYW5ndWFnZSA9IGZhbHNlOworICAgIFt3
ZWJWaWV3IHBlcmZvcm1BZnRlclJlY2VpdmluZ01lc3NhZ2U6QCJlbi1nYiIgYWN0aW9uOl57IGRp
ZENoYW5nZUxhbmd1YWdlID0gdHJ1ZTsgfV07CisKKyAgICAvLyBTd2l0Y2ggc3lzdGVtIGxhbmd1
YWdlIGZyb20gImVuLVVTIiB0byAiZW4tR0IiLiBNYWtlIHN1cmUgdGhhdCB3ZSBmaXJlIGEgbGFu
Z3VhZ2VjaGFuZ2UgZXZlbnQgYXQgdGhlIFdpbmRvdyBhbmQgdGhhdCBuYXZpZ2F0b3IubGFuZ3Vh
Z2UKKyAgICAvLyBub3cgcmVwb3J0cyAiZW4tZ2IiLgorICAgIHN5c3RlbShbTlNTdHJpbmcgc3Ry
aW5nV2l0aEZvcm1hdDpAImRlZmF1bHRzIHdyaXRlIE5TR2xvYmFsRG9tYWluIEFwcGxlTGFuZ3Vh
Z2VzICcoXCJlbi1HQlwiKSciXS5VVEY4U3RyaW5nKTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJmRpZENoYW5nZUxhbmd1YWdlKTsKKworICAgIC8vIFJlc3RvcmUgcHJldmlvdXMgc3lz
dGVtIGxhbmd1YWdlLgorICAgIHN5c3RlbShbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAImRl
ZmF1bHRzIHdyaXRlIE5TR2xvYmFsRG9tYWluIEFwcGxlTGFuZ3VhZ2VzICclQCciLCAoTlNTdHJp
bmcgKilzYXZlZExhbmd1YWdlc10uVVRGOFN0cmluZyk7Cit9CisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422027</attachid>
            <date>2021-03-02 17:06:48 -0800</date>
            <delta_ts>2021-03-03 07:52:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222619-20210302170647.patch</filename>
            <type>text/plain</type>
            <size>18276</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVmOWUwMjcxNjU1YWUzNjJhYzcxMzEx
YWZjNzhiZDJiNGI1YTMwM2IuLjRhYTk5YjI3MGVhZTM0ODAyMzJmMDQ0ODQwNjExODU5YTQ3ODM0
ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBs
YW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgV1RGOjpsYW5ndWFnZURp
ZENoYW5nZSgpIHRvIGNsZWFyIHByZWZlcnJlZExhbmd1YWdlcygpIG9uIENvY29hIHBsYXRmb3Jt
cworICAgICAgICBzbyB0aGF0IHdlIGdldCB1cGRhdGVkIHZhbHVlcyBmcm9tIHRoZSBzeXN0ZW0g
dGhlIG5leHQgdGltZQorICAgICAgICBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBp
cyBjYWxsZWQuCisKKyAgICAgICAgcGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCkgdXNl
ZCB0byBpbXBsaWNpdGx5IHJlZ2lzdGVyIGEgQXBwbGVMYW5ndWFnZVByZWZlcmVuY2VzQ2hhbmdl
ZE5vdGlmaWNhdGlvbgorICAgICAgICBsaXN0ZW5lci4gV2UndmUgbm93IG1hZGUgdGhpcyByZWdp
c3RlcmluZyBvcHQtaW4gYnkgbW92aW5nIGl0IHRvIGEgc2VwYXJhdGUKKyAgICAgICAgbGlzdGVu
Rm9yTGFuZ3VhZ2VDaGFuZ2VOb3RpZmljYXRpb25zKCkgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24g
aXMgZ2V0dGluZyBjYWxsZWQKKyAgICAgICAgb24gTWFjIFdLMSBhbmQgV0syIHdoZW4gQ0ZQUkVG
U19ESVJFQ1RfTU9ERSBpcyBkaXNhYmxlZCAobGVnYWN5KS4KKyAgICAgICAgV2hlbiBDRlBSRUZT
X0RJUkVDVF9NT0RFIGlzIGVuYWJsZWQgaW4gV0syLCB3ZSBkb24ndCB3YW50L25lZWQgdG8gbGlz
dGVuIGZvciB0aGlzCisgICAgICAgIG5vdGlmaWNhdGlvbiBiZWNhdXNlIHRoZSBBcHBsZUxhbmd1
YWdlcyBwcmVmZXJlbmNlIGdldHMgcHVzaGVkIGJ5IHRoZSBVSVByb2Nlc3MKKyAgICAgICAgZG93
biB0byB0aGUgV2ViUHJvY2Vzc2VzLiBFdmVuIHRob3VnaCB3ZSBjb3VsZCBsaXN0ZW4gZm9yIHRo
aXMgbm90aWZpY2F0aW9uLAorICAgICAgICB0aGUgV2ViUHJvY2VzcyB3b3VsZCBub3QgaGF2ZSB0
aGUgbGF0ZXN0IEFwcGxlTGFuZ3VhZ2VzIHByZWZlcmVuY2Ugd2hlbiByZWNlaXZpbmcKKyAgICAg
ICAgdGhlIG5vdGlmaWNhdGlvbi4gVGhpcyB3b3VsZCBjYXVzZSB1cyB0byBmaXJlIHRoZSBsYW5n
dWFnZWNoYW5nZSBldmVudCBhdCB0aGUKKyAgICAgICAgV2luZG93IHRvbyBlYXJseSBhbmQgbmF2
aWdhdG9yLmxhbmd1YWdlIHdvdWxkIGtlZXAgcmV0dXJuaW5nIHRoZSBvbGQgbGFuZ3VhZ2UuCisg
ICAgICAgIEZvciBXSzIgd2l0aCBDRlBSRUZTX0RJUkVDVF9NT0RFIGVuYWJsZWQsIHdlIG5vdyBl
eHBsaWNpdGx5IGNhbGwKKyAgICAgICAgV1RGOjpsYW5ndWFnZURpZENoYW5nZSgpIHdoZW4gdGhl
ICJBcHBsZUxhbmd1YWdlcyIgcHJlZmVyZW5jZSBnZXRzIHN5bmMnZCBmcm9tCisgICAgICAgIHRo
ZSBVSVByb2Nlc3MgaW5zdGVhZC4KKworICAgICAgICAqIHd0Zi9MYW5ndWFnZS5jcHA6CisgICAg
ICAgIChXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdURjo6cGxhdGZvcm1MYW5n
dWFnZURpZENoYW5nZSk6CisgICAgICAgICogd3RmL0xhbmd1YWdlLmg6CisgICAgICAgICogd3Rm
L2NmL0xhbmd1YWdlQ0YuY3BwOgorICAgICAgICAoV1RGOjpsYW5ndWFnZVByZWZlcmVuY2VzRGlk
Q2hhbmdlKToKKyAgICAgICAgKFdURjo6cGxhdGZvcm1MYW5ndWFnZURpZENoYW5nZSk6CisgICAg
ICAgIChXVEY6Omxpc3RlbkZvckxhbmd1YWdlQ2hhbmdlTm90aWZpY2F0aW9ucyk6CisgICAgICAg
IChXVEY6OnBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcyk6CisKIDIwMjEtMDMtMDIgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSBNRURJQV9T
T1VSQ0UgaW4gSU9TIFNpbXVsYXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxYzQ1MjgyYTkzYmUzYzcxZTc5MWJh
OTY4MmQ2YmEwZDU2MGMxYjgzLi5hOTlhMGQyOTRkNjViNWRkOWJiNDljZmY2MTZiYjcxMzUzMGY2
YjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTAzLTAyICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXVtXSzJdIENoYW5naW5nIHRoZSBz
eXN0ZW0gbGFuZ3VhZ2UgZG9lcyBub3QgdXBkYXRlIG5hdmlnYXRvci5sYW5ndWFnZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjE5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvRW50cnlQ
b2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tOgorICAgICAg
ICAoV2ViS2l0OjpzZXRBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UpOgorICAgICAgICAtIFdoZW4g
RU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpLCB3ZSBkb24ndCBuZWVkIHRvIHNldCB0aGUgQXBw
bGVMYW5ndWFnZXMKKyAgICAgICAgaW4gYSB2b2xhdGlsZSBkb21haW4uIFRoaXMgZG9lcyBub3Qg
Y2hhbmdlIGJlaGF2aW9yIGJ1dCBJIG1hZGUgdGhpcyBjaGFuZ2UKKyAgICAgICAgc28gdGhhdCBJ
IGRvbid0IG5lZWQgdG8gc2V0IEFwcGxlTGFuZ3VhZ2VzIGluIHRoZSB2b2xhdGlsZSBkb21haW4g
aW4KKyAgICAgICAgV2ViUHJvY2Vzc0NvY29hIHdoZW4gdGhlIHByZWZlcmVuY2UgY2hhbmdlcy4K
KyAgICAgICAgLSBBbHNvIGZpeCBhIG1lbW9yeSBsZWFrIGZvciBuZXdBcmd1bWVudHMuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAg
IElmIENGUFJFRlNfRElSRUNUX01PREUgaXMgbm90IGVuYWJsZWQsIHdlIG5lZWQgdG8gbGlzdGVu
IGZvciBBcHBsZUxhbmd1YWdlUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uCisgICAgICAg
IGluc2lkZSB0aGUgV2ViUHJvY2Vzcy4gVGhpcyB1c2VkIHRvIGhhcHBlbiBpbXBsaWNpdGx5IGlu
c2lkZSBXVEY6OnBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpIGJ1dAorICAgICAgICBp
dCBpcyBub3cgZXhwbGljaXQgc2luY2Ugd2UgZG9uJ3Qgd2FudC9uZWVkIGl0IHdoZW4gdXNpbmcg
Q0ZQUkVGU19ESVJFQ1RfTU9ERS4KKworICAgICAgICAoV2ViS2l0OjpzZXRQcmVmZXJlbmNlVmFs
dWUpOgorICAgICAgICAtIENhbGwgQ0ZQcmVmZXJlbmNlc1NldEFwcFZhbHVlKCkgaW5zdGVhZCBv
ZiBDRlByZWZlcmVuY2VzU2V0VmFsdWUoKS4gV2l0aG91dCB0aGlzIGNoYW5nZQorICAgICAgICB0
cnlpbmcgdG8gc2V0IEFwcGxlTGFuZ3VhZ2VzIGhlcmUgd291bGQgaGF2ZSBubyBlZmZlY3QgYW5k
IENGTG9jYWxlQ29weVByZWZlcnJlZExhbmd1YWdlcygpCisgICAgICAgIHdvdWxkIGtlZXAgcmV0
dXJuaW5nIG91dGRhdGVkIGxhbmd1YWdlcy4KKyAgICAgICAgLSBDYWxsIFdURjo6bGFuZ3VhZ2VE
aWRDaGFuZ2UoKSB3aGVuIHRoZSBBcHBsZUxhbmd1YWdlcyBwcmVmZXJlbmNlIGdldHMgdXBkYXRl
ZCBzbyB0aGF0CisgICAgICAgICAgbGFuZ3VhZ2UgY2hhbmdlIGxpc3RlbmVycyBnZXQgbm90aWZp
ZWQgb2YgdGhlIGxhbmd1YWdlIGNoYW5nZSAoZS5nLiB3ZSBmaXJlIGEgbGFuZ3VhZ2VjaGFuZ2UK
KyAgICAgICAgICBldmVudCBhdCB0aGUgV2luZG93KS4KKwogMjAyMS0wMy0wMiAgUm9iIEJ1aXMg
IDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIE51bGwgY2hlY2sgcGxhdGZvcm1EYXRhIHdo
ZW4gZGVjb2RpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA3OWU3MjEyZDQyNzIy
YjU4MjYwNTI3ZjlhOTU3NTJhNDU2YmQ4MTRmLi41MDZhOGI1ZDc5N2ZlMTNmNTg0Mzc4YmNhODNj
ZDY3NTQ1NzAyODQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBsYW5ndWFnZSBkb2VzIG5vdCB1cGRh
dGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXZSBuZWVkIHRvIGxpc3RlbiBmb3IgQXBwbGVMYW5ndWFnZVByZWZlcmVu
Y2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiBvbiBtYWMgV0sxLgorICAgICAgICBUaGlzIHVzZWQgdG8g
aGFwcGVuIGltcGxpY2l0bHkgaW5zaWRlIFdURjo6cGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3Vh
Z2VzKCkgYnV0CisgICAgICAgIGl0IGlzIG5vdyBleHBsaWNpdCBzaW5jZSB3ZSBkb24ndCB3YW50
L25lZWQgaXQgd2hlbiB1c2luZyBDRlBSRUZTX0RJUkVDVF9NT0RFIGluIFdLMi4KKworICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlh
bGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKwogMjAyMS0wMy0wMSAgUGVuZyBM
aXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSB0aGUgZGVsZWdhdGUg
cHJvcGVydHkgb2YgV2ViQVZQbGF5ZXJWaWV3IHRvIHdlYkRlbGVnYXRlIHRvIGZpeCBhIGJ1aWxk
IGZhaWx1cmUgd2l0aCBuZXcgU0RLcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTGFuZ3Vh
Z2UuY3BwIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuY3BwCmluZGV4IGU5MDcxMmY4OTUyODgw
MTdiMTk2YWQ2YTMyMjA1NWM5ZjY1NjVlMGQuLjIzM2JmZDE5NGI1N2U3MTczNWM5Yjk4Mjk3ZmJm
Y2ZhNzEwNDAyMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmNwcAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5jcHAKQEAgLTYyLDYgKzYyLDcgQEAgdm9pZCByZW1v
dmVMYW5ndWFnZUNoYW5nZU9ic2VydmVyKHZvaWQqIGNvbnRleHQpCiAKIHZvaWQgbGFuZ3VhZ2VE
aWRDaGFuZ2UoKQogeworICAgIHBsYXRmb3JtTGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKICAgICBmb3Ig
KGF1dG8mIG9ic2VydmVyIDogY29weVRvVmVjdG9yKG9ic2VydmVyTWFwKCkpKSB7CiAgICAgICAg
IGlmIChvYnNlcnZlck1hcCgpLmNvbnRhaW5zKG9ic2VydmVyLmtleSkpCiAgICAgICAgICAgICBv
YnNlcnZlci52YWx1ZShvYnNlcnZlci5rZXkpOwpAQCAtMTgzLDQgKzE4NCwxMCBAQCBTdHJpbmcg
ZGlzcGxheU5hbWVGb3JMYW5ndWFnZUxvY2FsZShjb25zdCBTdHJpbmcmIGxvY2FsZU5hbWUpCiAg
ICAgcmV0dXJuIGxvY2FsZU5hbWU7CiB9CiAKKyNpZiAhVVNFKENGKQordm9pZCBwbGF0Zm9ybUxh
bmd1YWdlRGlkQ2hhbmdlKCkKK3sKK30KKyNlbmRpZgorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9MYW5ndWFnZS5oIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuaAppbmRleCBiOGI5
MDk1NmNlODM0Zjg2N2MzMTg1ODg3MTEyM2U2YWEyNGE2MzhhLi5mMDc0ZDc1NjhkMDAyZTkzMmE1
MzI2YmRiNTJkN2ZiOGMwNjU4MTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFn
ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmgKQEAgLTQxLDYgKzQxLDggQEAgV1RG
X0VYUE9SVF9QUklWQVRFIFZlY3RvcjxTdHJpbmc+IHVzZXJQcmVmZXJyZWRMYW5ndWFnZXNPdmVy
cmlkZSgpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgb3ZlcnJpZGVVc2VyUHJlZmVycmVkTGFu
Z3VhZ2VzKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgc2l6ZV90
IGluZGV4T2ZCZXN0TWF0Y2hpbmdMYW5ndWFnZUluTGlzdChjb25zdCBTdHJpbmcmIGxhbmd1YWdl
LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbGFuZ3VhZ2VMaXN0LCBib29sJiBleGFjdE1hdGNoKTsK
IFdURl9FWFBPUlRfUFJJVkFURSBWZWN0b3I8U3RyaW5nPiBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRM
YW5ndWFnZXMoKTsKK1dURl9FWFBPUlRfUFJJVkFURSB2b2lkIHBsYXRmb3JtTGFuZ3VhZ2VEaWRD
aGFuZ2UoKTsKKwogLy8gQ2FsbGVkIGZyb20gcGxhdGZvcm0gc3BlY2lmaWMgY29kZSB3aGVuIHRo
ZSB1c2VyJ3MgcHJlZmVycmVkIGxhbmd1YWdlKHMpIGNoYW5nZS4KIFdURl9FWFBPUlRfUFJJVkFU
RSB2b2lkIGxhbmd1YWdlRGlkQ2hhbmdlKCk7CiAKQEAgLTUyLDYgKzU0LDcgQEAgV1RGX0VYUE9S
VF9QUklWQVRFIFN0cmluZyBkaXNwbGF5TmFtZUZvckxhbmd1YWdlTG9jYWxlKGNvbnN0IFN0cmlu
ZyYpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiBib29sIGNhbk1pbmltaXplTGFuZ3VhZ2VzKCk7
CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBsaXN0ZW5Gb3JMYW5ndWFnZUNoYW5nZU5vdGlmaWNh
dGlvbnMoKTsKIFJldGFpblB0cjxDRkFycmF5UmVmPiBtaW5pbWl6ZWRMYW5ndWFnZXNGcm9tTGFu
Z3VhZ2VzKENGQXJyYXlSZWYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L2NmL0xhbmd1YWdlQ0YuY3BwIGIvU291cmNlL1dURi93dGYvY2YvTGFuZ3VhZ2VDRi5jcHAKaW5k
ZXggNDI1YWViZThmM2VkYWQyNTRhYWYyNDU4ODBlNTgxNGNjZDliY2M2Zi4uNTEzOWM1NjUzZWYz
MTNmMGFiMDExZDRmOTI5ZTQ2NzBlNGZmMWNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
Y2YvTGFuZ3VhZ2VDRi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvY2YvTGFuZ3VhZ2VDRi5jcHAK
QEAgLTQwLDYgKzQwLDEzIEBAIG5hbWVzcGFjZSBXVEYgewogCiBzdGF0aWMgTG9jayBwcmVmZXJy
ZWRMYW5ndWFnZXNNdXRleDsKIAorI2lmIFBMQVRGT1JNKE1BQykKK3N0YXRpYyB2b2lkIGxhbmd1
YWdlUHJlZmVyZW5jZXNEaWRDaGFuZ2UoQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQqLCBD
RlN0cmluZ1JlZiwgY29uc3Qgdm9pZCosIENGRGljdGlvbmFyeVJlZikKK3sKKyAgICBsYW5ndWFn
ZURpZENoYW5nZSgpOworfQorI2VuZGlmCisKIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiYgcHJlZmVy
cmVkTGFuZ3VhZ2VzKCkKIHsKICAgICBzdGF0aWMgTGF6eU5ldmVyRGVzdHJveWVkPFZlY3RvcjxT
dHJpbmc+PiBsYW5ndWFnZXM7CkBAIC04MywyNyArOTAsMjYgQEAgc3RhdGljIFN0cmluZyBodHRw
U3R5bGVMYW5ndWFnZUNvZGUoQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UpCiAKIH0KIAotI2lmIFBMQVRG
T1JNKE1BQykKLXN0YXRpYyB2b2lkIGxhbmd1YWdlUHJlZmVyZW5jZXNEaWRDaGFuZ2UoQ0ZOb3Rp
ZmljYXRpb25DZW50ZXJSZWYsIHZvaWQqLCBDRlN0cmluZ1JlZiwgY29uc3Qgdm9pZCosIENGRGlj
dGlvbmFyeVJlZikKK3ZvaWQgcGxhdGZvcm1MYW5ndWFnZURpZENoYW5nZSgpCiB7CiAgICAgewog
ICAgICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKHByZWZlcnJlZExhbmd1YWdlc011dGV4KTsK
ICAgICAgICAgcHJlZmVycmVkTGFuZ3VhZ2VzKCkuY2xlYXIoKTsKICAgICB9Ci0gICAgCi0gICAg
bGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKIH0KLSNlbmRpZgogCi1WZWN0b3I8U3RyaW5nPiBwbGF0Zm9y
bVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKQordm9pZCBsaXN0ZW5Gb3JMYW5ndWFnZUNoYW5nZU5v
dGlmaWNhdGlvbnMoKQogewogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzdGF0aWMgZGlzcGF0Y2hf
b25jZV90IG9uY2VUb2tlbjsKLSAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF4geworICAg
IGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKICAgICAgICAgQ0ZOb3RpZmljYXRpb25DZW50
ZXJBZGRPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERpc3RyaWJ1dGVkQ2VudGVyKCks
IG51bGxwdHIsICZsYW5ndWFnZVByZWZlcmVuY2VzRGlkQ2hhbmdlLCBDRlNUUigiQXBwbGVMYW5n
dWFnZVByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiIpLCBudWxscHRyLCBDRk5vdGlmaWNh
dGlvblN1c3BlbnNpb25CZWhhdmlvckNvYWxlc2NlKTsKICAgICB9KTsKICNlbmRpZgorfQogCitW
ZWN0b3I8U3RyaW5nPiBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKQorewogICAgIGF1
dG8gbG9ja2VyID0gaG9sZExvY2socHJlZmVycmVkTGFuZ3VhZ2VzTXV0ZXgpOwogICAgIFZlY3Rv
cjxTdHJpbmc+JiB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzID0gcHJlZmVycmVkTGFuZ3VhZ2VzKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMv
Q29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbQpp
bmRleCAxNDAyMjYwZTIxOTg1MTMyOGI0NzlhYTc4N2Y4NDkzOTBkZGM0MWZlLi5lMDhlNzBjNjUy
NzNiM2MzZTgwMmJhMjEzOGY1MGI0NmJiNWY3ZWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1h
aW4ubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2Nv
YS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCkBAIC00NywxNSArNDcsMTkgQEAgc3RhdGlj
IHZvaWQgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCkKIAogICAgIGlmICh4cGNfb2JqZWN0
X3QgbGFuZ3VhZ2VzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVlKGJvb3RzdHJhcC5nZXQoKSwg
Ik92ZXJyaWRlTGFuZ3VhZ2VzIikpIHsKICAgICAgICAgQGF1dG9yZWxlYXNlcG9vbCB7Ci0gICAg
ICAgICAgICBOU0RpY3Rpb25hcnkgKmV4aXN0aW5nQXJndW1lbnRzID0gW1tOU1VzZXJEZWZhdWx0
cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gdm9sYXRpbGVEb21haW5Gb3JOYW1lOk5TQXJndW1lbnRE
b21haW5dOwotICAgICAgICAgICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqbmV3QXJndW1lbnRzID0g
W2V4aXN0aW5nQXJndW1lbnRzIG11dGFibGVDb3B5XTsKICAgICAgICAgICAgIFJldGFpblB0cjxO
U011dGFibGVBcnJheT4gbmV3TGFuZ3VhZ2VzID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFs
bG9jXSBpbml0XSk7CiAgICAgICAgICAgICB4cGNfYXJyYXlfYXBwbHkobGFuZ3VhZ2VzLCBeKHNp
emVfdCBpbmRleCwgeHBjX29iamVjdF90IHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgW25ld0xh
bmd1YWdlcyBhZGRPYmplY3Q6W05TU3RyaW5nIHN0cmluZ1dpdGhDU3RyaW5nOnhwY19zdHJpbmdf
Z2V0X3N0cmluZ19wdHIodmFsdWUpIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXV07CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9KTsKKyNpZiBFTkFCTEUo
Q0ZQUkVGU19ESVJFQ1RfTU9ERSkKKyAgICAgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIHNldE9iamVjdDpuZXdMYW5ndWFnZXMuZ2V0KCkgZm9yS2V5OkAiQXBw
bGVMYW5ndWFnZXMiXTsKKyNlbHNlCisgICAgICAgICAgICBOU0RpY3Rpb25hcnkgKmV4aXN0aW5n
QXJndW1lbnRzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gdm9sYXRp
bGVEb21haW5Gb3JOYW1lOk5TQXJndW1lbnREb21haW5dOworICAgICAgICAgICAgYXV0byBuZXdB
cmd1bWVudHMgPSBhZG9wdE5TKFtleGlzdGluZ0FyZ3VtZW50cyBtdXRhYmxlQ29weV0pOwogICAg
ICAgICAgICAgW25ld0FyZ3VtZW50cyBzZXRWYWx1ZTpuZXdMYW5ndWFnZXMuZ2V0KCkgZm9yS2V5
OkAiQXBwbGVMYW5ndWFnZXMiXTsKLSAgICAgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0aWxlRG9tYWluOm5ld0FyZ3VtZW50cyBmb3JOYW1lOk5T
QXJndW1lbnREb21haW5dOworICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVz
ZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46bmV3QXJndW1lbnRzLmdldCgpIGZvck5hbWU6
TlNBcmd1bWVudERvbWFpbl07CisjZW5kaWYKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IDQy
MmJhYmJmZGFhOTVkMWZmMWJjOWY4YWFkOTliY2U1ZjcxMjI3ZDkuLjU3MWFmYmIxZDhmYWEzNGRm
ODRjODY2NjFiZjJhYjQ2ZDY0MjJjYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtODEsNyArODEsNiBAQAogI2ltcG9ydCA8
YWxnb3JpdGhtPgogI2ltcG9ydCA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbXBvcnQgPG9iamMv
cnVudGltZS5oPgotI2ltcG9ydCA8cGFsL2NvY29hL01lZGlhVG9vbGJveFNvZnRMaW5rLmg+CiAj
aW1wb3J0IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZi9D
RlV0aWxpdGllc1NQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaD4K
QEAgLTk0LDYgKzkzLDcgQEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQXBwbGljYXRpb25TUEku
aD4KICNpbXBvcnQgPHN0ZGlvLmg+CiAjaW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5oPgorI2ltcG9y
dCA8d3RmL0xhbmd1YWdlLmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2lt
cG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRz
Lmg+CkBAIC0xNDQsNiArMTQ0LDcgQEAKICNlbmRpZgogCiAjaW1wb3J0IDxwYWwvY29jb2EvQVZG
b3VuZGF0aW9uU29mdExpbmsuaD4KKyNpbXBvcnQgPHBhbC9jb2NvYS9NZWRpYVRvb2xib3hTb2Z0
TGluay5oPgogCiAjaWYgSEFWRShDQVRBTFlTVF9VU0VSX0lOVEVSRkFDRV9JRElPTV9BTkRfU0NB
TEVfRkFDVE9SKQogLy8gRklYTUU6IFRoaXMgaXMgb25seSBmb3IgYmluYXJ5IGNvbXBhdGliaWxp
dHkgd2l0aCB2ZXJzaW9ucyBvZiBVSUtpdCBpbiBtYWNPUyAxMSB0aGF0IGFyZSBtaXNzaW5nIHRo
ZSBjaGFuZ2UgaW4gPHJkYXI6Ly9wcm9ibGVtLzY4NTI0MTQ4Pi4KQEAgLTM1Nyw2ICszNTgsMTAg
QEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmEKICAgICBfX0NGUnVuTG9vcFNldE9wdGlvbnNSZWFz
b24oX19DRlJ1bkxvb3BPcHRpb25zRW5hYmxlQXBwTmFwLCBDRlNUUigiRmluaXNoZWQgY2hlY2tp
biBhcyBhcHBsaWNhdGlvbiAtIGVuYWJsZSBhcHAgbmFwIikpOwogI2VuZGlmCiAKKyNpZiAhRU5B
QkxFKENGUFJFRlNfRElSRUNUX01PREUpCisgICAgV1RGOjpsaXN0ZW5Gb3JMYW5ndWFnZUNoYW5n
ZU5vdGlmaWNhdGlvbnMoKTsKKyNlbmRpZgorCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogICAgIC8v
IFByaW9yaXR5IGRlY2F5IG9uIGlPUyA5IGlzIGltcGFjdGluZyBwYWdlIGxvYWQgdGltZSBzbyB3
ZSBmaXggdGhlIHByaW9yaXR5IG9mIHRoZSBXZWJQcm9jZXNzJyBtYWluIHRocmVhZCAocmRhcjov
L3Byb2JsZW0vMjIwMDMxMTIpLgogICAgIHB0aHJlYWRfc2V0X2ZpeGVkcHJpb3JpdHlfc2VsZigp
OwpAQCAtMTA5MywxMyArMTA5OCwxNiBAQCBzdGF0aWMgdm9pZCBkaXNwYXRjaFNpbXVsYXRlZE5v
dGlmaWNhdGlvbnNGb3JQcmVmZXJlbmNlQ2hhbmdlKGNvbnN0IFN0cmluZyYga2V5KQogc3RhdGlj
IHZvaWQgc2V0UHJlZmVyZW5jZVZhbHVlKGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJp
bmcmIGtleSwgaWQgdmFsdWUpCiB7CiAgICAgaWYgKGRvbWFpbi5pc0VtcHR5KCkpIHsKLSAgICAg
ICAgQ0ZQcmVmZXJlbmNlc1NldFZhbHVlKGtleS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCAoX19i
cmlkZ2UgQ0ZQcm9wZXJ0eUxpc3RSZWYpdmFsdWUsIGtDRlByZWZlcmVuY2VzQW55QXBwbGljYXRp
b24sIGtDRlByZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQW55SG9zdCk7Cisg
ICAgICAgIENGUHJlZmVyZW5jZXNTZXRBcHBWYWx1ZShrZXkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQo
KSwgKF9fYnJpZGdlIENGUHJvcGVydHlMaXN0UmVmKXZhbHVlLCBrQ0ZQcmVmZXJlbmNlc0N1cnJl
bnRBcHBsaWNhdGlvbik7CiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICAgICAgaWQgdmFsdWVBZnRl
clNldHRpbmcgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBvYmplY3RG
b3JLZXk6a2V5XTsKICAgICAgICAgQVNTRVJUKHZhbHVlQWZ0ZXJTZXR0aW5nID09IHZhbHVlIHx8
IFt2YWx1ZUFmdGVyU2V0dGluZyBpc0VxdWFsOnZhbHVlXSk7CiAjZW5kaWYKICAgICB9IGVsc2UK
LSAgICAgICAgQ0ZQcmVmZXJlbmNlc1NldFZhbHVlKGtleS5jcmVhdGVDRlN0cmluZygpLmdldCgp
LCAoX19icmlkZ2UgQ0ZQcm9wZXJ0eUxpc3RSZWYpdmFsdWUsIGRvbWFpbi5jcmVhdGVDRlN0cmlu
ZygpLmdldCgpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhv
c3QpOworICAgICAgICBDRlByZWZlcmVuY2VzU2V0QXBwVmFsdWUoa2V5LmNyZWF0ZUNGU3RyaW5n
KCkuZ2V0KCksIChfX2JyaWRnZSBDRlByb3BlcnR5TGlzdFJlZil2YWx1ZSwgZG9tYWluLmNyZWF0
ZUNGU3RyaW5nKCkuZ2V0KCkpOworCisgICAgaWYgKGtleSA9PSAiQXBwbGVMYW5ndWFnZXMiKQor
ICAgICAgICBXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKCk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6
bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJp
bmcmIGtleSwgY29uc3QgT3B0aW9uYWw8U3RyaW5nPiYgZW5jb2RlZFZhbHVlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGQzOTY4YmUzZmY0YjY2ZjNl
MjY5OGViZGU3NDMyM2U1ODVkM2ViOGQuLjY4NTYxMGMyNWVjMmFlNWZkNWY1MTNiYjkzMTYyYzRl
MmU2MWZiOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
QEAgLTI0OCw2ICsyNDgsNyBAQAogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CiAjaW1wb3J0IDx3
dGYvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8d3RmL0hhc2hUcmFpdHMuaD4KKyNpbXBvcnQgPHd0
Zi9MYW5ndWFnZS5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9Q
cm9jZXNzUHJpdmlsZWdlLmg+CiAjaW1wb3J0IDx3dGYvUkFNU2l6ZS5oPgpAQCAtMTY4MCw3ICsx
NjgxLDkgQEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihOU1N0
cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3QKICNlbmRpZgogCiAgICAgW1dlYlZpZXdW
aXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkgaW5zdGFsbEZvcldlYlZpZXdJZk5lZWRlZDpzZWxm
IGtpbmQ6QCJXZWJWaWV3IiBkZXByZWNhdGVkOllFU107Ci0jZW5kaWYKKworICAgIFdURjo6bGlz
dGVuRm9yTGFuZ3VhZ2VDaGFuZ2VOb3RpZmljYXRpb25zKCk7CisjZW5kaWYgLy8gUExBVEZPUk0o
TUFDKQogfQogCiAtIChpZClfaW5pdFdpdGhGcmFtZTooTlNSZWN0KWYgZnJhbWVOYW1lOihOU1N0
cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3RyaW5nICopZ3JvdXBOYW1lCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGU4NDllZGJhZDk5
NThiN2VlYzhjNzU4MjY4ODdjYzgxZWVjNmZiYS4uNGM1OTNlNWJhMWUyOGQwNWUzN2E1NTVkMDBi
YzUxYjdmNzJmMGEwNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAzLTAyICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXVtXSzJdIENoYW5naW5nIHRoZSBzeXN0ZW0g
bGFuZ3VhZ2UgZG9lcyBub3QgdXBkYXRlIG5hdmlnYXRvci5sYW5ndWFnZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjE5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFQSSB0ZXN0IGNvdmVyYWdl
LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxh
bmd1YWdlc1ByZWZlcmVuY2UubW06CisgICAgICAgIChURVNUKToKKwogMjAyMS0wMy0wMiAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRW5hYmxlIE1FRElBX1NP
VVJDRSBpbiBJT1MgU2ltdWxhdG9yCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbSBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNl
Lm1tCmluZGV4IGExMmNhYTkwZmNiNzdkNTcwZTgxOWI2MTk0OTIwYWUyNGZiNTU1MTEuLjU3YmY3
NWM2YWRmYTE2NDA4MWQ0MmM2YTA3NTEyNzk2NmM2YjkwYTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNl
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVM
YW5ndWFnZXNQcmVmZXJlbmNlLm1tCkBAIC0yOSw2ICsyOSw4IEBACiAKICNpbXBvcnQgIlBsYXRm
b3JtVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDx3dGYv
Y29jb2EvVmVjdG9yQ29jb2EuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4K
IAogVEVTVChXZWJLaXQsIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKQogewpAQCAt
NTEsMyArNTMsNTQgQEAgVEVTVChXZWJLaXQsIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJl
bmNlKQogfQogCiAjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQorCisjaWYgUExBVEZPUk0oTUFDKQor
VEVTVChXZWJLaXQsIFVwZGF0ZUFwcGxlTGFuZ3VhZ2VzKQoreworICAgIC8vIFNhdmUgY3VycmVu
dCBzeXN0ZW0gbGFuZ3VhZ2UgdG8gcmVzdG9yZSBpdCBsYXRlci4KKyAgICBhdXRvIHRhc2sgPSBh
ZG9wdE5TKFtbTlNUYXNrIGFsbG9jXSBpbml0XSk7CisgICAgW3Rhc2sgc2V0TGF1bmNoUGF0aDpA
Ii91c3IvYmluL2RlZmF1bHRzIl07CisgICAgW3Rhc2sgc2V0QXJndW1lbnRzOkBbQCJyZWFkIiwg
QCJOU0dsb2JhbERvbWFpbiIsIEAiQXBwbGVMYW5ndWFnZXMiXV07CisgICAgYXV0byBwaXBlID0g
YWRvcHROUyhbW05TUGlwZSBhbGxvY10gaW5pdF0pOworICAgIFt0YXNrIHNldFN0YW5kYXJkT3V0
cHV0OnBpcGUuZ2V0KCldOworICAgIGF1dG8gZmlsZUhhbmRsZSA9IFtwaXBlIGZpbGVIYW5kbGVG
b3JSZWFkaW5nXTsKKyAgICBbdGFzayBsYXVuY2hdOworICAgIE5TRGF0YSAqZGF0YSA9IFtmaWxl
SGFuZGxlIHJlYWREYXRhVG9FbmRPZkZpbGVdOworICAgIGF1dG8gc2F2ZWRMYW5ndWFnZXMgPSBT
dHJpbmcoW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhEYXRhOmRhdGEgZW5jb2Rpbmc6TlNVVEY4
U3RyaW5nRW5jb2RpbmddKTsKKyAgICBzYXZlZExhbmd1YWdlcy5yZXBsYWNlKCJcbiIsICIiKTsK
KyAgICBzYXZlZExhbmd1YWdlcy5yZXBsYWNlKCIgIiwgIiIpOworCisgICAgLy8gVGVzdHMgdXNl
cyAiZW4tVVMiIGxhbmd1YWdlIGluaXRpYWxseS4KKyAgICBzeXN0ZW0oW05TU3RyaW5nIHN0cmlu
Z1dpdGhGb3JtYXQ6QCJkZWZhdWx0cyB3cml0ZSBOU0dsb2JhbERvbWFpbiBBcHBsZUxhbmd1YWdl
cyAnKFwiZW4tVVNcIiknIl0uVVRGOFN0cmluZyk7CisKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24g
PSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIGF1
dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
Ok5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5n
ZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRl
c3RQYWdlTmFtZWQ6QCJzaW1wbGUiXTsKKworICAgIC8vIFdlIG9ubHkgbGlzdGVuIGZvciBwcmVm
ZXJlbmNlIGNoYW5nZXMgd2hlbiB0aGUgYXBwbGljYXRpb24gaXMgYWN0aXZlLgorICAgIFtbTlNO
b3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlmaWNhdGlvbk5hbWU6TlNB
cHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNBcHAgdXNlcklu
Zm86bmlsXTsKKworICAgIGF1dG8gcHJlZmVycmVkTGFuZ3VhZ2UgPSBbJl0geworICAgICAgICBy
ZXR1cm4gW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIm5hdmlnYXRvci5s
YW5ndWFnZSJdOworICAgIH07CisgICAgRVhQRUNUX1dLX1NUUkVRKEAiZW4tdXMiLCBwcmVmZXJy
ZWRMYW5ndWFnZSgpKTsKKworICAgIF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7CisgICAgW3dl
YlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAib25sYW5ndWFnZWNoYW5nZSA9ICgpID0+IHsgd2Vi
a2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZShuYXZpZ2F0b3IubGFu
Z3VhZ2UpOyB9OyB0cnVlOyIgY29tcGxldGlvbkhhbmRsZXI6XihpZCB2YWx1ZSwgTlNFcnJvciAq
ZXJyb3IpIHsKKyAgICAgICAgRVhQRUNUX1RSVUUoIWVycm9yKTsKKyAgICAgICAgZG9uZSA9IHRy
dWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKworICAg
IF9fYmxvY2sgYm9vbCBkaWRDaGFuZ2VMYW5ndWFnZSA9IGZhbHNlOworICAgIFt3ZWJWaWV3IHBl
cmZvcm1BZnRlclJlY2VpdmluZ01lc3NhZ2U6QCJlbi1nYiIgYWN0aW9uOl57IGRpZENoYW5nZUxh
bmd1YWdlID0gdHJ1ZTsgfV07CisKKyAgICAvLyBTd2l0Y2ggc3lzdGVtIGxhbmd1YWdlIGZyb20g
ImVuLVVTIiB0byAiZW4tR0IiLiBNYWtlIHN1cmUgdGhhdCB3ZSBmaXJlIGEgbGFuZ3VhZ2VjaGFu
Z2UgZXZlbnQgYXQgdGhlIFdpbmRvdyBhbmQgdGhhdCBuYXZpZ2F0b3IubGFuZ3VhZ2UKKyAgICAv
LyBub3cgcmVwb3J0cyAiZW4tZ2IiLgorICAgIHN5c3RlbShbTlNTdHJpbmcgc3RyaW5nV2l0aEZv
cm1hdDpAImRlZmF1bHRzIHdyaXRlIE5TR2xvYmFsRG9tYWluIEFwcGxlTGFuZ3VhZ2VzICcoXCJl
bi1HQlwiKSciXS5VVEY4U3RyaW5nKTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRp
ZENoYW5nZUxhbmd1YWdlKTsKKworICAgIC8vIFJlc3RvcmUgcHJldmlvdXMgc3lzdGVtIGxhbmd1
YWdlLgorICAgIHN5c3RlbShbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAImRlZmF1bHRzIHdy
aXRlIE5TR2xvYmFsRG9tYWluIEFwcGxlTGFuZ3VhZ2VzICclQCciLCAoTlNTdHJpbmcgKilzYXZl
ZExhbmd1YWdlc10uVVRGOFN0cmluZyk7Cit9CisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422082</attachid>
            <date>2021-03-03 07:52:53 -0800</date>
            <delta_ts>2021-03-03 08:07:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222619-20210303075252.patch</filename>
            <type>text/plain</type>
            <size>18279</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVmOWUwMjcxNjU1YWUzNjJhYzcxMzEx
YWZjNzhiZDJiNGI1YTMwM2IuLjRhYTk5YjI3MGVhZTM0ODAyMzJmMDQ0ODQwNjExODU5YTQ3ODM0
ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBs
YW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgV1RGOjpsYW5ndWFnZURp
ZENoYW5nZSgpIHRvIGNsZWFyIHByZWZlcnJlZExhbmd1YWdlcygpIG9uIENvY29hIHBsYXRmb3Jt
cworICAgICAgICBzbyB0aGF0IHdlIGdldCB1cGRhdGVkIHZhbHVlcyBmcm9tIHRoZSBzeXN0ZW0g
dGhlIG5leHQgdGltZQorICAgICAgICBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBp
cyBjYWxsZWQuCisKKyAgICAgICAgcGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCkgdXNl
ZCB0byBpbXBsaWNpdGx5IHJlZ2lzdGVyIGEgQXBwbGVMYW5ndWFnZVByZWZlcmVuY2VzQ2hhbmdl
ZE5vdGlmaWNhdGlvbgorICAgICAgICBsaXN0ZW5lci4gV2UndmUgbm93IG1hZGUgdGhpcyByZWdp
c3RlcmluZyBvcHQtaW4gYnkgbW92aW5nIGl0IHRvIGEgc2VwYXJhdGUKKyAgICAgICAgbGlzdGVu
Rm9yTGFuZ3VhZ2VDaGFuZ2VOb3RpZmljYXRpb25zKCkgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24g
aXMgZ2V0dGluZyBjYWxsZWQKKyAgICAgICAgb24gTWFjIFdLMSBhbmQgV0syIHdoZW4gQ0ZQUkVG
U19ESVJFQ1RfTU9ERSBpcyBkaXNhYmxlZCAobGVnYWN5KS4KKyAgICAgICAgV2hlbiBDRlBSRUZT
X0RJUkVDVF9NT0RFIGlzIGVuYWJsZWQgaW4gV0syLCB3ZSBkb24ndCB3YW50L25lZWQgdG8gbGlz
dGVuIGZvciB0aGlzCisgICAgICAgIG5vdGlmaWNhdGlvbiBiZWNhdXNlIHRoZSBBcHBsZUxhbmd1
YWdlcyBwcmVmZXJlbmNlIGdldHMgcHVzaGVkIGJ5IHRoZSBVSVByb2Nlc3MKKyAgICAgICAgZG93
biB0byB0aGUgV2ViUHJvY2Vzc2VzLiBFdmVuIHRob3VnaCB3ZSBjb3VsZCBsaXN0ZW4gZm9yIHRo
aXMgbm90aWZpY2F0aW9uLAorICAgICAgICB0aGUgV2ViUHJvY2VzcyB3b3VsZCBub3QgaGF2ZSB0
aGUgbGF0ZXN0IEFwcGxlTGFuZ3VhZ2VzIHByZWZlcmVuY2Ugd2hlbiByZWNlaXZpbmcKKyAgICAg
ICAgdGhlIG5vdGlmaWNhdGlvbi4gVGhpcyB3b3VsZCBjYXVzZSB1cyB0byBmaXJlIHRoZSBsYW5n
dWFnZWNoYW5nZSBldmVudCBhdCB0aGUKKyAgICAgICAgV2luZG93IHRvbyBlYXJseSBhbmQgbmF2
aWdhdG9yLmxhbmd1YWdlIHdvdWxkIGtlZXAgcmV0dXJuaW5nIHRoZSBvbGQgbGFuZ3VhZ2UuCisg
ICAgICAgIEZvciBXSzIgd2l0aCBDRlBSRUZTX0RJUkVDVF9NT0RFIGVuYWJsZWQsIHdlIG5vdyBl
eHBsaWNpdGx5IGNhbGwKKyAgICAgICAgV1RGOjpsYW5ndWFnZURpZENoYW5nZSgpIHdoZW4gdGhl
ICJBcHBsZUxhbmd1YWdlcyIgcHJlZmVyZW5jZSBnZXRzIHN5bmMnZCBmcm9tCisgICAgICAgIHRo
ZSBVSVByb2Nlc3MgaW5zdGVhZC4KKworICAgICAgICAqIHd0Zi9MYW5ndWFnZS5jcHA6CisgICAg
ICAgIChXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdURjo6cGxhdGZvcm1MYW5n
dWFnZURpZENoYW5nZSk6CisgICAgICAgICogd3RmL0xhbmd1YWdlLmg6CisgICAgICAgICogd3Rm
L2NmL0xhbmd1YWdlQ0YuY3BwOgorICAgICAgICAoV1RGOjpsYW5ndWFnZVByZWZlcmVuY2VzRGlk
Q2hhbmdlKToKKyAgICAgICAgKFdURjo6cGxhdGZvcm1MYW5ndWFnZURpZENoYW5nZSk6CisgICAg
ICAgIChXVEY6Omxpc3RlbkZvckxhbmd1YWdlQ2hhbmdlTm90aWZpY2F0aW9ucyk6CisgICAgICAg
IChXVEY6OnBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcyk6CisKIDIwMjEtMDMtMDIgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSBNRURJQV9T
T1VSQ0UgaW4gSU9TIFNpbXVsYXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxYzQ1MjgyYTkzYmUzYzcxZTc5MWJh
OTY4MmQ2YmEwZDU2MGMxYjgzLi5hOTlhMGQyOTRkNjViNWRkOWJiNDljZmY2MTZiYjcxMzUzMGY2
YjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTAzLTAyICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXVtXSzJdIENoYW5naW5nIHRoZSBz
eXN0ZW0gbGFuZ3VhZ2UgZG9lcyBub3QgdXBkYXRlIG5hdmlnYXRvci5sYW5ndWFnZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjE5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvRW50cnlQ
b2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tOgorICAgICAg
ICAoV2ViS2l0OjpzZXRBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UpOgorICAgICAgICAtIFdoZW4g
RU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpLCB3ZSBkb24ndCBuZWVkIHRvIHNldCB0aGUgQXBw
bGVMYW5ndWFnZXMKKyAgICAgICAgaW4gYSB2b2xhdGlsZSBkb21haW4uIFRoaXMgZG9lcyBub3Qg
Y2hhbmdlIGJlaGF2aW9yIGJ1dCBJIG1hZGUgdGhpcyBjaGFuZ2UKKyAgICAgICAgc28gdGhhdCBJ
IGRvbid0IG5lZWQgdG8gc2V0IEFwcGxlTGFuZ3VhZ2VzIGluIHRoZSB2b2xhdGlsZSBkb21haW4g
aW4KKyAgICAgICAgV2ViUHJvY2Vzc0NvY29hIHdoZW4gdGhlIHByZWZlcmVuY2UgY2hhbmdlcy4K
KyAgICAgICAgLSBBbHNvIGZpeCBhIG1lbW9yeSBsZWFrIGZvciBuZXdBcmd1bWVudHMuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAg
IElmIENGUFJFRlNfRElSRUNUX01PREUgaXMgbm90IGVuYWJsZWQsIHdlIG5lZWQgdG8gbGlzdGVu
IGZvciBBcHBsZUxhbmd1YWdlUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uCisgICAgICAg
IGluc2lkZSB0aGUgV2ViUHJvY2Vzcy4gVGhpcyB1c2VkIHRvIGhhcHBlbiBpbXBsaWNpdGx5IGlu
c2lkZSBXVEY6OnBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpIGJ1dAorICAgICAgICBp
dCBpcyBub3cgZXhwbGljaXQgc2luY2Ugd2UgZG9uJ3Qgd2FudC9uZWVkIGl0IHdoZW4gdXNpbmcg
Q0ZQUkVGU19ESVJFQ1RfTU9ERS4KKworICAgICAgICAoV2ViS2l0OjpzZXRQcmVmZXJlbmNlVmFs
dWUpOgorICAgICAgICAtIENhbGwgQ0ZQcmVmZXJlbmNlc1NldEFwcFZhbHVlKCkgaW5zdGVhZCBv
ZiBDRlByZWZlcmVuY2VzU2V0VmFsdWUoKS4gV2l0aG91dCB0aGlzIGNoYW5nZQorICAgICAgICB0
cnlpbmcgdG8gc2V0IEFwcGxlTGFuZ3VhZ2VzIGhlcmUgd291bGQgaGF2ZSBubyBlZmZlY3QgYW5k
IENGTG9jYWxlQ29weVByZWZlcnJlZExhbmd1YWdlcygpCisgICAgICAgIHdvdWxkIGtlZXAgcmV0
dXJuaW5nIG91dGRhdGVkIGxhbmd1YWdlcy4KKyAgICAgICAgLSBDYWxsIFdURjo6bGFuZ3VhZ2VE
aWRDaGFuZ2UoKSB3aGVuIHRoZSBBcHBsZUxhbmd1YWdlcyBwcmVmZXJlbmNlIGdldHMgdXBkYXRl
ZCBzbyB0aGF0CisgICAgICAgICAgbGFuZ3VhZ2UgY2hhbmdlIGxpc3RlbmVycyBnZXQgbm90aWZp
ZWQgb2YgdGhlIGxhbmd1YWdlIGNoYW5nZSAoZS5nLiB3ZSBmaXJlIGEgbGFuZ3VhZ2VjaGFuZ2UK
KyAgICAgICAgICBldmVudCBhdCB0aGUgV2luZG93KS4KKwogMjAyMS0wMy0wMiAgUm9iIEJ1aXMg
IDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIE51bGwgY2hlY2sgcGxhdGZvcm1EYXRhIHdo
ZW4gZGVjb2RpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA3OWU3MjEyZDQyNzIy
YjU4MjYwNTI3ZjlhOTU3NTJhNDU2YmQ4MTRmLi41MDZhOGI1ZDc5N2ZlMTNmNTg0Mzc4YmNhODNj
ZDY3NTQ1NzAyODQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBsYW5ndWFnZSBkb2VzIG5vdCB1cGRh
dGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXZSBuZWVkIHRvIGxpc3RlbiBmb3IgQXBwbGVMYW5ndWFnZVByZWZlcmVu
Y2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiBvbiBtYWMgV0sxLgorICAgICAgICBUaGlzIHVzZWQgdG8g
aGFwcGVuIGltcGxpY2l0bHkgaW5zaWRlIFdURjo6cGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3Vh
Z2VzKCkgYnV0CisgICAgICAgIGl0IGlzIG5vdyBleHBsaWNpdCBzaW5jZSB3ZSBkb24ndCB3YW50
L25lZWQgaXQgd2hlbiB1c2luZyBDRlBSRUZTX0RJUkVDVF9NT0RFIGluIFdLMi4KKworICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlh
bGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKwogMjAyMS0wMy0wMSAgUGVuZyBM
aXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSB0aGUgZGVsZWdhdGUg
cHJvcGVydHkgb2YgV2ViQVZQbGF5ZXJWaWV3IHRvIHdlYkRlbGVnYXRlIHRvIGZpeCBhIGJ1aWxk
IGZhaWx1cmUgd2l0aCBuZXcgU0RLcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTGFuZ3Vh
Z2UuY3BwIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuY3BwCmluZGV4IGU5MDcxMmY4OTUyODgw
MTdiMTk2YWQ2YTMyMjA1NWM5ZjY1NjVlMGQuLmVhZTkwOWQzYWYxY2IyOGM2MDFjMjc1MDRjNzU3
MDMzMGM5ZDRkMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmNwcAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5jcHAKQEAgLTYyLDYgKzYyLDcgQEAgdm9pZCByZW1v
dmVMYW5ndWFnZUNoYW5nZU9ic2VydmVyKHZvaWQqIGNvbnRleHQpCiAKIHZvaWQgbGFuZ3VhZ2VE
aWRDaGFuZ2UoKQogeworICAgIHBsYXRmb3JtTGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKICAgICBmb3Ig
KGF1dG8mIG9ic2VydmVyIDogY29weVRvVmVjdG9yKG9ic2VydmVyTWFwKCkpKSB7CiAgICAgICAg
IGlmIChvYnNlcnZlck1hcCgpLmNvbnRhaW5zKG9ic2VydmVyLmtleSkpCiAgICAgICAgICAgICBv
YnNlcnZlci52YWx1ZShvYnNlcnZlci5rZXkpOwpAQCAtMTgzLDQgKzE4NCwxMCBAQCBTdHJpbmcg
ZGlzcGxheU5hbWVGb3JMYW5ndWFnZUxvY2FsZShjb25zdCBTdHJpbmcmIGxvY2FsZU5hbWUpCiAg
ICAgcmV0dXJuIGxvY2FsZU5hbWU7CiB9CiAKKyNpZiAhVVNFKENPQ09BKQordm9pZCBwbGF0Zm9y
bUxhbmd1YWdlRGlkQ2hhbmdlKCkKK3sKK30KKyNlbmRpZgorCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9MYW5ndWFnZS5oIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuaAppbmRleCBi
OGI5MDk1NmNlODM0Zjg2N2MzMTg1ODg3MTEyM2U2YWEyNGE2MzhhLi5mMDc0ZDc1NjhkMDAyZTkz
MmE1MzI2YmRiNTJkN2ZiOGMwNjU4MTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9MYW5n
dWFnZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmgKQEAgLTQxLDYgKzQxLDggQEAg
V1RGX0VYUE9SVF9QUklWQVRFIFZlY3RvcjxTdHJpbmc+IHVzZXJQcmVmZXJyZWRMYW5ndWFnZXNP
dmVycmlkZSgpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgb3ZlcnJpZGVVc2VyUHJlZmVycmVk
TGFuZ3VhZ2VzKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgc2l6
ZV90IGluZGV4T2ZCZXN0TWF0Y2hpbmdMYW5ndWFnZUluTGlzdChjb25zdCBTdHJpbmcmIGxhbmd1
YWdlLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbGFuZ3VhZ2VMaXN0LCBib29sJiBleGFjdE1hdGNo
KTsKIFdURl9FWFBPUlRfUFJJVkFURSBWZWN0b3I8U3RyaW5nPiBwbGF0Zm9ybVVzZXJQcmVmZXJy
ZWRMYW5ndWFnZXMoKTsKK1dURl9FWFBPUlRfUFJJVkFURSB2b2lkIHBsYXRmb3JtTGFuZ3VhZ2VE
aWRDaGFuZ2UoKTsKKwogLy8gQ2FsbGVkIGZyb20gcGxhdGZvcm0gc3BlY2lmaWMgY29kZSB3aGVu
IHRoZSB1c2VyJ3MgcHJlZmVycmVkIGxhbmd1YWdlKHMpIGNoYW5nZS4KIFdURl9FWFBPUlRfUFJJ
VkFURSB2b2lkIGxhbmd1YWdlRGlkQ2hhbmdlKCk7CiAKQEAgLTUyLDYgKzU0LDcgQEAgV1RGX0VY
UE9SVF9QUklWQVRFIFN0cmluZyBkaXNwbGF5TmFtZUZvckxhbmd1YWdlTG9jYWxlKGNvbnN0IFN0
cmluZyYpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiBib29sIGNhbk1pbmltaXplTGFuZ3VhZ2Vz
KCk7CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBsaXN0ZW5Gb3JMYW5ndWFnZUNoYW5nZU5vdGlm
aWNhdGlvbnMoKTsKIFJldGFpblB0cjxDRkFycmF5UmVmPiBtaW5pbWl6ZWRMYW5ndWFnZXNGcm9t
TGFuZ3VhZ2VzKENGQXJyYXlSZWYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL2NmL0xhbmd1YWdlQ0YuY3BwIGIvU291cmNlL1dURi93dGYvY2YvTGFuZ3VhZ2VDRi5jcHAK
aW5kZXggNDI1YWViZThmM2VkYWQyNTRhYWYyNDU4ODBlNTgxNGNjZDliY2M2Zi4uNTEzOWM1NjUz
ZWYzMTNmMGFiMDExZDRmOTI5ZTQ2NzBlNGZmMWNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvY2YvTGFuZ3VhZ2VDRi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvY2YvTGFuZ3VhZ2VDRi5j
cHAKQEAgLTQwLDYgKzQwLDEzIEBAIG5hbWVzcGFjZSBXVEYgewogCiBzdGF0aWMgTG9jayBwcmVm
ZXJyZWRMYW5ndWFnZXNNdXRleDsKIAorI2lmIFBMQVRGT1JNKE1BQykKK3N0YXRpYyB2b2lkIGxh
bmd1YWdlUHJlZmVyZW5jZXNEaWRDaGFuZ2UoQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQq
LCBDRlN0cmluZ1JlZiwgY29uc3Qgdm9pZCosIENGRGljdGlvbmFyeVJlZikKK3sKKyAgICBsYW5n
dWFnZURpZENoYW5nZSgpOworfQorI2VuZGlmCisKIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiYgcHJl
ZmVycmVkTGFuZ3VhZ2VzKCkKIHsKICAgICBzdGF0aWMgTGF6eU5ldmVyRGVzdHJveWVkPFZlY3Rv
cjxTdHJpbmc+PiBsYW5ndWFnZXM7CkBAIC04MywyNyArOTAsMjYgQEAgc3RhdGljIFN0cmluZyBo
dHRwU3R5bGVMYW5ndWFnZUNvZGUoQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UpCiAKIH0KIAotI2lmIFBM
QVRGT1JNKE1BQykKLXN0YXRpYyB2b2lkIGxhbmd1YWdlUHJlZmVyZW5jZXNEaWRDaGFuZ2UoQ0ZO
b3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQqLCBDRlN0cmluZ1JlZiwgY29uc3Qgdm9pZCosIENG
RGljdGlvbmFyeVJlZikKK3ZvaWQgcGxhdGZvcm1MYW5ndWFnZURpZENoYW5nZSgpCiB7CiAgICAg
ewogICAgICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKHByZWZlcnJlZExhbmd1YWdlc011dGV4
KTsKICAgICAgICAgcHJlZmVycmVkTGFuZ3VhZ2VzKCkuY2xlYXIoKTsKICAgICB9Ci0gICAgCi0g
ICAgbGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKIH0KLSNlbmRpZgogCi1WZWN0b3I8U3RyaW5nPiBwbGF0
Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKQordm9pZCBsaXN0ZW5Gb3JMYW5ndWFnZUNoYW5n
ZU5vdGlmaWNhdGlvbnMoKQogewogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzdGF0aWMgZGlzcGF0
Y2hfb25jZV90IG9uY2VUb2tlbjsKLSAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF4gewor
ICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKICAgICAgICAgQ0ZOb3RpZmljYXRpb25D
ZW50ZXJBZGRPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERpc3RyaWJ1dGVkQ2VudGVy
KCksIG51bGxwdHIsICZsYW5ndWFnZVByZWZlcmVuY2VzRGlkQ2hhbmdlLCBDRlNUUigiQXBwbGVM
YW5ndWFnZVByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiIpLCBudWxscHRyLCBDRk5vdGlm
aWNhdGlvblN1c3BlbnNpb25CZWhhdmlvckNvYWxlc2NlKTsKICAgICB9KTsKICNlbmRpZgorfQog
CitWZWN0b3I8U3RyaW5nPiBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKQorewogICAg
IGF1dG8gbG9ja2VyID0gaG9sZExvY2socHJlZmVycmVkTGFuZ3VhZ2VzTXV0ZXgpOwogICAgIFZl
Y3RvcjxTdHJpbmc+JiB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzID0gcHJlZmVycmVkTGFuZ3VhZ2Vz
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRp
ZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbSBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5t
bQppbmRleCAxNDAyMjYwZTIxOTg1MTMyOGI0NzlhYTc4N2Y4NDkzOTBkZGM0MWZlLi5lMDhlNzBj
NjUyNzNiM2MzZTgwMmJhMjEzOGY1MGI0NmJiNWY3ZWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2Vydmlj
ZU1haW4ubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9D
b2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCkBAIC00NywxNSArNDcsMTkgQEAgc3Rh
dGljIHZvaWQgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCkKIAogICAgIGlmICh4cGNfb2Jq
ZWN0X3QgbGFuZ3VhZ2VzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVlKGJvb3RzdHJhcC5nZXQo
KSwgIk92ZXJyaWRlTGFuZ3VhZ2VzIikpIHsKICAgICAgICAgQGF1dG9yZWxlYXNlcG9vbCB7Ci0g
ICAgICAgICAgICBOU0RpY3Rpb25hcnkgKmV4aXN0aW5nQXJndW1lbnRzID0gW1tOU1VzZXJEZWZh
dWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gdm9sYXRpbGVEb21haW5Gb3JOYW1lOk5TQXJndW1l
bnREb21haW5dOwotICAgICAgICAgICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqbmV3QXJndW1lbnRz
ID0gW2V4aXN0aW5nQXJndW1lbnRzIG11dGFibGVDb3B5XTsKICAgICAgICAgICAgIFJldGFpblB0
cjxOU011dGFibGVBcnJheT4gbmV3TGFuZ3VhZ2VzID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5
IGFsbG9jXSBpbml0XSk7CiAgICAgICAgICAgICB4cGNfYXJyYXlfYXBwbHkobGFuZ3VhZ2VzLCBe
KHNpemVfdCBpbmRleCwgeHBjX29iamVjdF90IHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgW25l
d0xhbmd1YWdlcyBhZGRPYmplY3Q6W05TU3RyaW5nIHN0cmluZ1dpdGhDU3RyaW5nOnhwY19zdHJp
bmdfZ2V0X3N0cmluZ19wdHIodmFsdWUpIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXV07
CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9KTsKKyNpZiBFTkFC
TEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKKyAgICAgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3Rh
bmRhcmRVc2VyRGVmYXVsdHNdIHNldE9iamVjdDpuZXdMYW5ndWFnZXMuZ2V0KCkgZm9yS2V5OkAi
QXBwbGVMYW5ndWFnZXMiXTsKKyNlbHNlCisgICAgICAgICAgICBOU0RpY3Rpb25hcnkgKmV4aXN0
aW5nQXJndW1lbnRzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gdm9s
YXRpbGVEb21haW5Gb3JOYW1lOk5TQXJndW1lbnREb21haW5dOworICAgICAgICAgICAgYXV0byBu
ZXdBcmd1bWVudHMgPSBhZG9wdE5TKFtleGlzdGluZ0FyZ3VtZW50cyBtdXRhYmxlQ29weV0pOwog
ICAgICAgICAgICAgW25ld0FyZ3VtZW50cyBzZXRWYWx1ZTpuZXdMYW5ndWFnZXMuZ2V0KCkgZm9y
S2V5OkAiQXBwbGVMYW5ndWFnZXMiXTsKLSAgICAgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3Rh
bmRhcmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0aWxlRG9tYWluOm5ld0FyZ3VtZW50cyBmb3JOYW1l
Ok5TQXJndW1lbnREb21haW5dOworICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFy
ZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46bmV3QXJndW1lbnRzLmdldCgpIGZvck5h
bWU6TlNBcmd1bWVudERvbWFpbl07CisjZW5kaWYKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4
IDQyMmJhYmJmZGFhOTVkMWZmMWJjOWY4YWFkOTliY2U1ZjcxMjI3ZDkuLjU3MWFmYmIxZDhmYWEz
NGRmODRjODY2NjFiZjJhYjQ2ZDY0MjJjYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtODEsNyArODEsNiBAQAogI2ltcG9y
dCA8YWxnb3JpdGhtPgogI2ltcG9ydCA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbXBvcnQgPG9i
amMvcnVudGltZS5oPgotI2ltcG9ydCA8cGFsL2NvY29hL01lZGlhVG9vbGJveFNvZnRMaW5rLmg+
CiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9j
Zi9DRlV0aWxpdGllc1NQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEku
aD4KQEAgLTk0LDYgKzkzLDcgQEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQXBwbGljYXRpb25T
UEkuaD4KICNpbXBvcnQgPHN0ZGlvLmg+CiAjaW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5oPgorI2lt
cG9ydCA8d3RmL0xhbmd1YWdlLmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgog
I2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvRW50aXRsZW1l
bnRzLmg+CkBAIC0xNDQsNiArMTQ0LDcgQEAKICNlbmRpZgogCiAjaW1wb3J0IDxwYWwvY29jb2Ev
QVZGb3VuZGF0aW9uU29mdExpbmsuaD4KKyNpbXBvcnQgPHBhbC9jb2NvYS9NZWRpYVRvb2xib3hT
b2Z0TGluay5oPgogCiAjaWYgSEFWRShDQVRBTFlTVF9VU0VSX0lOVEVSRkFDRV9JRElPTV9BTkRf
U0NBTEVfRkFDVE9SKQogLy8gRklYTUU6IFRoaXMgaXMgb25seSBmb3IgYmluYXJ5IGNvbXBhdGli
aWxpdHkgd2l0aCB2ZXJzaW9ucyBvZiBVSUtpdCBpbiBtYWNPUyAxMSB0aGF0IGFyZSBtaXNzaW5n
IHRoZSBjaGFuZ2UgaW4gPHJkYXI6Ly9wcm9ibGVtLzY4NTI0MTQ4Pi4KQEAgLTM1Nyw2ICszNTgs
MTAgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmEKICAgICBfX0NGUnVuTG9vcFNldE9wdGlvbnNS
ZWFzb24oX19DRlJ1bkxvb3BPcHRpb25zRW5hYmxlQXBwTmFwLCBDRlNUUigiRmluaXNoZWQgY2hl
Y2tpbiBhcyBhcHBsaWNhdGlvbiAtIGVuYWJsZSBhcHAgbmFwIikpOwogI2VuZGlmCiAKKyNpZiAh
RU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCisgICAgV1RGOjpsaXN0ZW5Gb3JMYW5ndWFnZUNo
YW5nZU5vdGlmaWNhdGlvbnMoKTsKKyNlbmRpZgorCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogICAg
IC8vIFByaW9yaXR5IGRlY2F5IG9uIGlPUyA5IGlzIGltcGFjdGluZyBwYWdlIGxvYWQgdGltZSBz
byB3ZSBmaXggdGhlIHByaW9yaXR5IG9mIHRoZSBXZWJQcm9jZXNzJyBtYWluIHRocmVhZCAocmRh
cjovL3Byb2JsZW0vMjIwMDMxMTIpLgogICAgIHB0aHJlYWRfc2V0X2ZpeGVkcHJpb3JpdHlfc2Vs
ZigpOwpAQCAtMTA5MywxMyArMTA5OCwxNiBAQCBzdGF0aWMgdm9pZCBkaXNwYXRjaFNpbXVsYXRl
ZE5vdGlmaWNhdGlvbnNGb3JQcmVmZXJlbmNlQ2hhbmdlKGNvbnN0IFN0cmluZyYga2V5KQogc3Rh
dGljIHZvaWQgc2V0UHJlZmVyZW5jZVZhbHVlKGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBT
dHJpbmcmIGtleSwgaWQgdmFsdWUpCiB7CiAgICAgaWYgKGRvbWFpbi5pc0VtcHR5KCkpIHsKLSAg
ICAgICAgQ0ZQcmVmZXJlbmNlc1NldFZhbHVlKGtleS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCAo
X19icmlkZ2UgQ0ZQcm9wZXJ0eUxpc3RSZWYpdmFsdWUsIGtDRlByZWZlcmVuY2VzQW55QXBwbGlj
YXRpb24sIGtDRlByZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQW55SG9zdCk7
CisgICAgICAgIENGUHJlZmVyZW5jZXNTZXRBcHBWYWx1ZShrZXkuY3JlYXRlQ0ZTdHJpbmcoKS5n
ZXQoKSwgKF9fYnJpZGdlIENGUHJvcGVydHlMaXN0UmVmKXZhbHVlLCBrQ0ZQcmVmZXJlbmNlc0N1
cnJlbnRBcHBsaWNhdGlvbik7CiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICAgICAgaWQgdmFsdWVB
ZnRlclNldHRpbmcgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBvYmpl
Y3RGb3JLZXk6a2V5XTsKICAgICAgICAgQVNTRVJUKHZhbHVlQWZ0ZXJTZXR0aW5nID09IHZhbHVl
IHx8IFt2YWx1ZUFmdGVyU2V0dGluZyBpc0VxdWFsOnZhbHVlXSk7CiAjZW5kaWYKICAgICB9IGVs
c2UKLSAgICAgICAgQ0ZQcmVmZXJlbmNlc1NldFZhbHVlKGtleS5jcmVhdGVDRlN0cmluZygpLmdl
dCgpLCAoX19icmlkZ2UgQ0ZQcm9wZXJ0eUxpc3RSZWYpdmFsdWUsIGRvbWFpbi5jcmVhdGVDRlN0
cmluZygpLmdldCgpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBrQ0ZQcmVmZXJlbmNlc0Fu
eUhvc3QpOworICAgICAgICBDRlByZWZlcmVuY2VzU2V0QXBwVmFsdWUoa2V5LmNyZWF0ZUNGU3Ry
aW5nKCkuZ2V0KCksIChfX2JyaWRnZSBDRlByb3BlcnR5TGlzdFJlZil2YWx1ZSwgZG9tYWluLmNy
ZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOworCisgICAgaWYgKGtleSA9PSAiQXBwbGVMYW5ndWFnZXMi
KQorICAgICAgICBXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKCk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vz
czo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBT
dHJpbmcmIGtleSwgY29uc3QgT3B0aW9uYWw8U3RyaW5nPiYgZW5jb2RlZFZhbHVlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGQzOTY4YmUzZmY0YjY2
ZjNlMjY5OGViZGU3NDMyM2U1ODVkM2ViOGQuLjY4NTYxMGMyNWVjMmFlNWZkNWY1MTNiYjkzMTYy
YzRlMmU2MWZiOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KQEAgLTI0OCw2ICsyNDgsNyBAQAogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CiAjaW1wb3J0
IDx3dGYvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8d3RmL0hhc2hUcmFpdHMuaD4KKyNpbXBvcnQg
PHd0Zi9MYW5ndWFnZS5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0
Zi9Qcm9jZXNzUHJpdmlsZWdlLmg+CiAjaW1wb3J0IDx3dGYvUkFNU2l6ZS5oPgpAQCAtMTY4MCw3
ICsxNjgxLDkgQEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihO
U1N0cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3QKICNlbmRpZgogCiAgICAgW1dlYlZp
ZXdWaXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkgaW5zdGFsbEZvcldlYlZpZXdJZk5lZWRlZDpz
ZWxmIGtpbmQ6QCJXZWJWaWV3IiBkZXByZWNhdGVkOllFU107Ci0jZW5kaWYKKworICAgIFdURjo6
bGlzdGVuRm9yTGFuZ3VhZ2VDaGFuZ2VOb3RpZmljYXRpb25zKCk7CisjZW5kaWYgLy8gUExBVEZP
Uk0oTUFDKQogfQogCiAtIChpZClfaW5pdFdpdGhGcmFtZTooTlNSZWN0KWYgZnJhbWVOYW1lOihO
U1N0cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3RyaW5nICopZ3JvdXBOYW1lCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGU4NDllZGJh
ZDk5NThiN2VlYzhjNzU4MjY4ODdjYzgxZWVjNmZiYS4uNGM1OTNlNWJhMWUyOGQwNWUzN2E1NTVk
MDBiYzUxYjdmNzJmMGEwNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAzLTAyICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXVtXSzJdIENoYW5naW5nIHRoZSBzeXN0
ZW0gbGFuZ3VhZ2UgZG9lcyBub3QgdXBkYXRlIG5hdmlnYXRvci5sYW5ndWFnZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjE5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFQSSB0ZXN0IGNvdmVy
YWdlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBs
ZUxhbmd1YWdlc1ByZWZlcmVuY2UubW06CisgICAgICAgIChURVNUKToKKwogMjAyMS0wMy0wMiAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRW5hYmxlIE1FRElB
X1NPVVJDRSBpbiBJT1MgU2ltdWxhdG9yCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbSBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJl
bmNlLm1tCmluZGV4IGExMmNhYTkwZmNiNzdkNTcwZTgxOWI2MTk0OTIwYWUyNGZiNTU1MTEuLjU3
YmY3NWM2YWRmYTE2NDA4MWQ0MmM2YTA3NTEyNzk2NmM2YjkwYTIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJl
bmNlLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBw
bGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tCkBAIC0yOSw2ICsyOSw4IEBACiAKICNpbXBvcnQgIlBs
YXRmb3JtVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDx3
dGYvY29jb2EvVmVjdG9yQ29jb2EuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIu
aD4KIAogVEVTVChXZWJLaXQsIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKQogewpA
QCAtNTEsMyArNTMsNTQgQEAgVEVTVChXZWJLaXQsIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVm
ZXJlbmNlKQogfQogCiAjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQorCisjaWYgUExBVEZPUk0oTUFD
KQorVEVTVChXZWJLaXQsIFVwZGF0ZUFwcGxlTGFuZ3VhZ2VzKQoreworICAgIC8vIFNhdmUgY3Vy
cmVudCBzeXN0ZW0gbGFuZ3VhZ2UgdG8gcmVzdG9yZSBpdCBsYXRlci4KKyAgICBhdXRvIHRhc2sg
PSBhZG9wdE5TKFtbTlNUYXNrIGFsbG9jXSBpbml0XSk7CisgICAgW3Rhc2sgc2V0TGF1bmNoUGF0
aDpAIi91c3IvYmluL2RlZmF1bHRzIl07CisgICAgW3Rhc2sgc2V0QXJndW1lbnRzOkBbQCJyZWFk
IiwgQCJOU0dsb2JhbERvbWFpbiIsIEAiQXBwbGVMYW5ndWFnZXMiXV07CisgICAgYXV0byBwaXBl
ID0gYWRvcHROUyhbW05TUGlwZSBhbGxvY10gaW5pdF0pOworICAgIFt0YXNrIHNldFN0YW5kYXJk
T3V0cHV0OnBpcGUuZ2V0KCldOworICAgIGF1dG8gZmlsZUhhbmRsZSA9IFtwaXBlIGZpbGVIYW5k
bGVGb3JSZWFkaW5nXTsKKyAgICBbdGFzayBsYXVuY2hdOworICAgIE5TRGF0YSAqZGF0YSA9IFtm
aWxlSGFuZGxlIHJlYWREYXRhVG9FbmRPZkZpbGVdOworICAgIGF1dG8gc2F2ZWRMYW5ndWFnZXMg
PSBTdHJpbmcoW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhEYXRhOmRhdGEgZW5jb2Rpbmc6TlNV
VEY4U3RyaW5nRW5jb2RpbmddKTsKKyAgICBzYXZlZExhbmd1YWdlcy5yZXBsYWNlKCJcbiIsICIi
KTsKKyAgICBzYXZlZExhbmd1YWdlcy5yZXBsYWNlKCIgIiwgIiIpOworCisgICAgLy8gVGVzdHMg
dXNlcyAiZW4tVVMiIGxhbmd1YWdlIGluaXRpYWxseS4KKyAgICBzeXN0ZW0oW05TU3RyaW5nIHN0
cmluZ1dpdGhGb3JtYXQ6QCJkZWZhdWx0cyB3cml0ZSBOU0dsb2JhbERvbWFpbiBBcHBsZUxhbmd1
YWdlcyAnKFwiZW4tVVNcIiknIl0uVVRGOFN0cmluZyk7CisKKyAgICBhdXRvIGNvbmZpZ3VyYXRp
b24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZy
YW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlv
bi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9h
ZFRlc3RQYWdlTmFtZWQ6QCJzaW1wbGUiXTsKKworICAgIC8vIFdlIG9ubHkgbGlzdGVuIGZvciBw
cmVmZXJlbmNlIGNoYW5nZXMgd2hlbiB0aGUgYXBwbGljYXRpb24gaXMgYWN0aXZlLgorICAgIFtb
TlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlmaWNhdGlvbk5hbWU6
TlNBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNBcHAgdXNl
ckluZm86bmlsXTsKKworICAgIGF1dG8gcHJlZmVycmVkTGFuZ3VhZ2UgPSBbJl0geworICAgICAg
ICByZXR1cm4gW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIm5hdmlnYXRv
ci5sYW5ndWFnZSJdOworICAgIH07CisgICAgRVhQRUNUX1dLX1NUUkVRKEAiZW4tdXMiLCBwcmVm
ZXJyZWRMYW5ndWFnZSgpKTsKKworICAgIF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7CisgICAg
W3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAib25sYW5ndWFnZWNoYW5nZSA9ICgpID0+IHsg
d2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZShuYXZpZ2F0b3Iu
bGFuZ3VhZ2UpOyB9OyB0cnVlOyIgY29tcGxldGlvbkhhbmRsZXI6XihpZCB2YWx1ZSwgTlNFcnJv
ciAqZXJyb3IpIHsKKyAgICAgICAgRVhQRUNUX1RSVUUoIWVycm9yKTsKKyAgICAgICAgZG9uZSA9
IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKwor
ICAgIF9fYmxvY2sgYm9vbCBkaWRDaGFuZ2VMYW5ndWFnZSA9IGZhbHNlOworICAgIFt3ZWJWaWV3
IHBlcmZvcm1BZnRlclJlY2VpdmluZ01lc3NhZ2U6QCJlbi1nYiIgYWN0aW9uOl57IGRpZENoYW5n
ZUxhbmd1YWdlID0gdHJ1ZTsgfV07CisKKyAgICAvLyBTd2l0Y2ggc3lzdGVtIGxhbmd1YWdlIGZy
b20gImVuLVVTIiB0byAiZW4tR0IiLiBNYWtlIHN1cmUgdGhhdCB3ZSBmaXJlIGEgbGFuZ3VhZ2Vj
aGFuZ2UgZXZlbnQgYXQgdGhlIFdpbmRvdyBhbmQgdGhhdCBuYXZpZ2F0b3IubGFuZ3VhZ2UKKyAg
ICAvLyBub3cgcmVwb3J0cyAiZW4tZ2IiLgorICAgIHN5c3RlbShbTlNTdHJpbmcgc3RyaW5nV2l0
aEZvcm1hdDpAImRlZmF1bHRzIHdyaXRlIE5TR2xvYmFsRG9tYWluIEFwcGxlTGFuZ3VhZ2VzICco
XCJlbi1HQlwiKSciXS5VVEY4U3RyaW5nKTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4o
JmRpZENoYW5nZUxhbmd1YWdlKTsKKworICAgIC8vIFJlc3RvcmUgcHJldmlvdXMgc3lzdGVtIGxh
bmd1YWdlLgorICAgIHN5c3RlbShbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAImRlZmF1bHRz
IHdyaXRlIE5TR2xvYmFsRG9tYWluIEFwcGxlTGFuZ3VhZ2VzICclQCciLCAoTlNTdHJpbmcgKilz
YXZlZExhbmd1YWdlc10uVVRGOFN0cmluZyk7Cit9CisjZW5kaWYK
</data>
<flag name="commit-queue"
          id="441106"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422083</attachid>
            <date>2021-03-03 07:55:06 -0800</date>
            <delta_ts>2021-03-03 09:44:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222619-20210303075505.patch</filename>
            <type>text/plain</type>
            <size>18284</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVmOWUwMjcxNjU1YWUzNjJhYzcxMzEx
YWZjNzhiZDJiNGI1YTMwM2IuLjRhYTk5YjI3MGVhZTM0ODAyMzJmMDQ0ODQwNjExODU5YTQ3ODM0
ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBs
YW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgV1RGOjpsYW5ndWFnZURp
ZENoYW5nZSgpIHRvIGNsZWFyIHByZWZlcnJlZExhbmd1YWdlcygpIG9uIENvY29hIHBsYXRmb3Jt
cworICAgICAgICBzbyB0aGF0IHdlIGdldCB1cGRhdGVkIHZhbHVlcyBmcm9tIHRoZSBzeXN0ZW0g
dGhlIG5leHQgdGltZQorICAgICAgICBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBp
cyBjYWxsZWQuCisKKyAgICAgICAgcGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCkgdXNl
ZCB0byBpbXBsaWNpdGx5IHJlZ2lzdGVyIGEgQXBwbGVMYW5ndWFnZVByZWZlcmVuY2VzQ2hhbmdl
ZE5vdGlmaWNhdGlvbgorICAgICAgICBsaXN0ZW5lci4gV2UndmUgbm93IG1hZGUgdGhpcyByZWdp
c3RlcmluZyBvcHQtaW4gYnkgbW92aW5nIGl0IHRvIGEgc2VwYXJhdGUKKyAgICAgICAgbGlzdGVu
Rm9yTGFuZ3VhZ2VDaGFuZ2VOb3RpZmljYXRpb25zKCkgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24g
aXMgZ2V0dGluZyBjYWxsZWQKKyAgICAgICAgb24gTWFjIFdLMSBhbmQgV0syIHdoZW4gQ0ZQUkVG
U19ESVJFQ1RfTU9ERSBpcyBkaXNhYmxlZCAobGVnYWN5KS4KKyAgICAgICAgV2hlbiBDRlBSRUZT
X0RJUkVDVF9NT0RFIGlzIGVuYWJsZWQgaW4gV0syLCB3ZSBkb24ndCB3YW50L25lZWQgdG8gbGlz
dGVuIGZvciB0aGlzCisgICAgICAgIG5vdGlmaWNhdGlvbiBiZWNhdXNlIHRoZSBBcHBsZUxhbmd1
YWdlcyBwcmVmZXJlbmNlIGdldHMgcHVzaGVkIGJ5IHRoZSBVSVByb2Nlc3MKKyAgICAgICAgZG93
biB0byB0aGUgV2ViUHJvY2Vzc2VzLiBFdmVuIHRob3VnaCB3ZSBjb3VsZCBsaXN0ZW4gZm9yIHRo
aXMgbm90aWZpY2F0aW9uLAorICAgICAgICB0aGUgV2ViUHJvY2VzcyB3b3VsZCBub3QgaGF2ZSB0
aGUgbGF0ZXN0IEFwcGxlTGFuZ3VhZ2VzIHByZWZlcmVuY2Ugd2hlbiByZWNlaXZpbmcKKyAgICAg
ICAgdGhlIG5vdGlmaWNhdGlvbi4gVGhpcyB3b3VsZCBjYXVzZSB1cyB0byBmaXJlIHRoZSBsYW5n
dWFnZWNoYW5nZSBldmVudCBhdCB0aGUKKyAgICAgICAgV2luZG93IHRvbyBlYXJseSBhbmQgbmF2
aWdhdG9yLmxhbmd1YWdlIHdvdWxkIGtlZXAgcmV0dXJuaW5nIHRoZSBvbGQgbGFuZ3VhZ2UuCisg
ICAgICAgIEZvciBXSzIgd2l0aCBDRlBSRUZTX0RJUkVDVF9NT0RFIGVuYWJsZWQsIHdlIG5vdyBl
eHBsaWNpdGx5IGNhbGwKKyAgICAgICAgV1RGOjpsYW5ndWFnZURpZENoYW5nZSgpIHdoZW4gdGhl
ICJBcHBsZUxhbmd1YWdlcyIgcHJlZmVyZW5jZSBnZXRzIHN5bmMnZCBmcm9tCisgICAgICAgIHRo
ZSBVSVByb2Nlc3MgaW5zdGVhZC4KKworICAgICAgICAqIHd0Zi9MYW5ndWFnZS5jcHA6CisgICAg
ICAgIChXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdURjo6cGxhdGZvcm1MYW5n
dWFnZURpZENoYW5nZSk6CisgICAgICAgICogd3RmL0xhbmd1YWdlLmg6CisgICAgICAgICogd3Rm
L2NmL0xhbmd1YWdlQ0YuY3BwOgorICAgICAgICAoV1RGOjpsYW5ndWFnZVByZWZlcmVuY2VzRGlk
Q2hhbmdlKToKKyAgICAgICAgKFdURjo6cGxhdGZvcm1MYW5ndWFnZURpZENoYW5nZSk6CisgICAg
ICAgIChXVEY6Omxpc3RlbkZvckxhbmd1YWdlQ2hhbmdlTm90aWZpY2F0aW9ucyk6CisgICAgICAg
IChXVEY6OnBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcyk6CisKIDIwMjEtMDMtMDIgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSBNRURJQV9T
T1VSQ0UgaW4gSU9TIFNpbXVsYXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxYzQ1MjgyYTkzYmUzYzcxZTc5MWJh
OTY4MmQ2YmEwZDU2MGMxYjgzLi5hOTlhMGQyOTRkNjViNWRkOWJiNDljZmY2MTZiYjcxMzUzMGY2
YjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTAzLTAyICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXVtXSzJdIENoYW5naW5nIHRoZSBz
eXN0ZW0gbGFuZ3VhZ2UgZG9lcyBub3QgdXBkYXRlIG5hdmlnYXRvci5sYW5ndWFnZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjE5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvRW50cnlQ
b2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tOgorICAgICAg
ICAoV2ViS2l0OjpzZXRBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UpOgorICAgICAgICAtIFdoZW4g
RU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpLCB3ZSBkb24ndCBuZWVkIHRvIHNldCB0aGUgQXBw
bGVMYW5ndWFnZXMKKyAgICAgICAgaW4gYSB2b2xhdGlsZSBkb21haW4uIFRoaXMgZG9lcyBub3Qg
Y2hhbmdlIGJlaGF2aW9yIGJ1dCBJIG1hZGUgdGhpcyBjaGFuZ2UKKyAgICAgICAgc28gdGhhdCBJ
IGRvbid0IG5lZWQgdG8gc2V0IEFwcGxlTGFuZ3VhZ2VzIGluIHRoZSB2b2xhdGlsZSBkb21haW4g
aW4KKyAgICAgICAgV2ViUHJvY2Vzc0NvY29hIHdoZW4gdGhlIHByZWZlcmVuY2UgY2hhbmdlcy4K
KyAgICAgICAgLSBBbHNvIGZpeCBhIG1lbW9yeSBsZWFrIGZvciBuZXdBcmd1bWVudHMuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAg
IElmIENGUFJFRlNfRElSRUNUX01PREUgaXMgbm90IGVuYWJsZWQsIHdlIG5lZWQgdG8gbGlzdGVu
IGZvciBBcHBsZUxhbmd1YWdlUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uCisgICAgICAg
IGluc2lkZSB0aGUgV2ViUHJvY2Vzcy4gVGhpcyB1c2VkIHRvIGhhcHBlbiBpbXBsaWNpdGx5IGlu
c2lkZSBXVEY6OnBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpIGJ1dAorICAgICAgICBp
dCBpcyBub3cgZXhwbGljaXQgc2luY2Ugd2UgZG9uJ3Qgd2FudC9uZWVkIGl0IHdoZW4gdXNpbmcg
Q0ZQUkVGU19ESVJFQ1RfTU9ERS4KKworICAgICAgICAoV2ViS2l0OjpzZXRQcmVmZXJlbmNlVmFs
dWUpOgorICAgICAgICAtIENhbGwgQ0ZQcmVmZXJlbmNlc1NldEFwcFZhbHVlKCkgaW5zdGVhZCBv
ZiBDRlByZWZlcmVuY2VzU2V0VmFsdWUoKS4gV2l0aG91dCB0aGlzIGNoYW5nZQorICAgICAgICB0
cnlpbmcgdG8gc2V0IEFwcGxlTGFuZ3VhZ2VzIGhlcmUgd291bGQgaGF2ZSBubyBlZmZlY3QgYW5k
IENGTG9jYWxlQ29weVByZWZlcnJlZExhbmd1YWdlcygpCisgICAgICAgIHdvdWxkIGtlZXAgcmV0
dXJuaW5nIG91dGRhdGVkIGxhbmd1YWdlcy4KKyAgICAgICAgLSBDYWxsIFdURjo6bGFuZ3VhZ2VE
aWRDaGFuZ2UoKSB3aGVuIHRoZSBBcHBsZUxhbmd1YWdlcyBwcmVmZXJlbmNlIGdldHMgdXBkYXRl
ZCBzbyB0aGF0CisgICAgICAgICAgbGFuZ3VhZ2UgY2hhbmdlIGxpc3RlbmVycyBnZXQgbm90aWZp
ZWQgb2YgdGhlIGxhbmd1YWdlIGNoYW5nZSAoZS5nLiB3ZSBmaXJlIGEgbGFuZ3VhZ2VjaGFuZ2UK
KyAgICAgICAgICBldmVudCBhdCB0aGUgV2luZG93KS4KKwogMjAyMS0wMy0wMiAgUm9iIEJ1aXMg
IDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIE51bGwgY2hlY2sgcGxhdGZvcm1EYXRhIHdo
ZW4gZGVjb2RpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA3OWU3MjEyZDQyNzIy
YjU4MjYwNTI3ZjlhOTU3NTJhNDU2YmQ4MTRmLi41MDZhOGI1ZDc5N2ZlMTNmNTg0Mzc4YmNhODNj
ZDY3NTQ1NzAyODQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBsYW5ndWFnZSBkb2VzIG5vdCB1cGRh
dGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXZSBuZWVkIHRvIGxpc3RlbiBmb3IgQXBwbGVMYW5ndWFnZVByZWZlcmVu
Y2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiBvbiBtYWMgV0sxLgorICAgICAgICBUaGlzIHVzZWQgdG8g
aGFwcGVuIGltcGxpY2l0bHkgaW5zaWRlIFdURjo6cGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3Vh
Z2VzKCkgYnV0CisgICAgICAgIGl0IGlzIG5vdyBleHBsaWNpdCBzaW5jZSB3ZSBkb24ndCB3YW50
L25lZWQgaXQgd2hlbiB1c2luZyBDRlBSRUZTX0RJUkVDVF9NT0RFIGluIFdLMi4KKworICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlh
bGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKwogMjAyMS0wMy0wMSAgUGVuZyBM
aXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSB0aGUgZGVsZWdhdGUg
cHJvcGVydHkgb2YgV2ViQVZQbGF5ZXJWaWV3IHRvIHdlYkRlbGVnYXRlIHRvIGZpeCBhIGJ1aWxk
IGZhaWx1cmUgd2l0aCBuZXcgU0RLcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTGFuZ3Vh
Z2UuY3BwIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuY3BwCmluZGV4IGU5MDcxMmY4OTUyODgw
MTdiMTk2YWQ2YTMyMjA1NWM5ZjY1NjVlMGQuLjE3MmQwOThiODRkNTYwODE0YTQ5ZmI3ZGFiOGFm
M2Q4ZmU5YTU4NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmNwcAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5jcHAKQEAgLTYyLDYgKzYyLDcgQEAgdm9pZCByZW1v
dmVMYW5ndWFnZUNoYW5nZU9ic2VydmVyKHZvaWQqIGNvbnRleHQpCiAKIHZvaWQgbGFuZ3VhZ2VE
aWRDaGFuZ2UoKQogeworICAgIHBsYXRmb3JtTGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKICAgICBmb3Ig
KGF1dG8mIG9ic2VydmVyIDogY29weVRvVmVjdG9yKG9ic2VydmVyTWFwKCkpKSB7CiAgICAgICAg
IGlmIChvYnNlcnZlck1hcCgpLmNvbnRhaW5zKG9ic2VydmVyLmtleSkpCiAgICAgICAgICAgICBv
YnNlcnZlci52YWx1ZShvYnNlcnZlci5rZXkpOwpAQCAtMTgzLDQgKzE4NCwxMCBAQCBTdHJpbmcg
ZGlzcGxheU5hbWVGb3JMYW5ndWFnZUxvY2FsZShjb25zdCBTdHJpbmcmIGxvY2FsZU5hbWUpCiAg
ICAgcmV0dXJuIGxvY2FsZU5hbWU7CiB9CiAKKyNpZiAhUExBVEZPUk0oQ09DT0EpCit2b2lkIHBs
YXRmb3JtTGFuZ3VhZ2VEaWRDaGFuZ2UoKQoreworfQorI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmggYi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5oCmlu
ZGV4IGI4YjkwOTU2Y2U4MzRmODY3YzMxODU4ODcxMTIzZTZhYTI0YTYzOGEuLmYwNzRkNzU2OGQw
MDJlOTMyYTUzMjZiZGI1MmQ3ZmI4YzA2NTgxODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L0xhbmd1YWdlLmgKKysrIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuaApAQCAtNDEsNiArNDEs
OCBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgVmVjdG9yPFN0cmluZz4gdXNlclByZWZlcnJlZExhbmd1
YWdlc092ZXJyaWRlKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBvdmVycmlkZVVzZXJQcmVm
ZXJyZWRMYW5ndWFnZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKIFdURl9FWFBPUlRfUFJJVkFU
RSBzaXplX3QgaW5kZXhPZkJlc3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KGNvbnN0IFN0cmluZyYg
bGFuZ3VhZ2UsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYW5ndWFnZUxpc3QsIGJvb2wmIGV4YWN0
TWF0Y2gpOwogV1RGX0VYUE9SVF9QUklWQVRFIFZlY3RvcjxTdHJpbmc+IHBsYXRmb3JtVXNlclBy
ZWZlcnJlZExhbmd1YWdlcygpOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgcGxhdGZvcm1MYW5n
dWFnZURpZENoYW5nZSgpOworCiAvLyBDYWxsZWQgZnJvbSBwbGF0Zm9ybSBzcGVjaWZpYyBjb2Rl
IHdoZW4gdGhlIHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2UocykgY2hhbmdlLgogV1RGX0VYUE9S
VF9QUklWQVRFIHZvaWQgbGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKIApAQCAtNTIsNiArNTQsNyBAQCBX
VEZfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIGRpc3BsYXlOYW1lRm9yTGFuZ3VhZ2VMb2NhbGUoY29u
c3QgU3RyaW5nJik7CiAKICNpZiBQTEFURk9STShDT0NPQSkKIGJvb2wgY2FuTWluaW1pemVMYW5n
dWFnZXMoKTsKK1dURl9FWFBPUlRfUFJJVkFURSB2b2lkIGxpc3RlbkZvckxhbmd1YWdlQ2hhbmdl
Tm90aWZpY2F0aW9ucygpOwogUmV0YWluUHRyPENGQXJyYXlSZWY+IG1pbmltaXplZExhbmd1YWdl
c0Zyb21MYW5ndWFnZXMoQ0ZBcnJheVJlZik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvY2YvTGFuZ3VhZ2VDRi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9jZi9MYW5ndWFnZUNG
LmNwcAppbmRleCA0MjVhZWJlOGYzZWRhZDI1NGFhZjI0NTg4MGU1ODE0Y2NkOWJjYzZmLi41MTM5
YzU2NTNlZjMxM2YwYWIwMTFkNGY5MjllNDY3MGU0ZmYxY2QzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9jZi9MYW5ndWFnZUNGLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jZi9MYW5ndWFn
ZUNGLmNwcApAQCAtNDAsNiArNDAsMTMgQEAgbmFtZXNwYWNlIFdURiB7CiAKIHN0YXRpYyBMb2Nr
IHByZWZlcnJlZExhbmd1YWdlc011dGV4OwogCisjaWYgUExBVEZPUk0oTUFDKQorc3RhdGljIHZv
aWQgbGFuZ3VhZ2VQcmVmZXJlbmNlc0RpZENoYW5nZShDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwg
dm9pZCosIENGU3RyaW5nUmVmLCBjb25zdCB2b2lkKiwgQ0ZEaWN0aW9uYXJ5UmVmKQoreworICAg
IGxhbmd1YWdlRGlkQ2hhbmdlKCk7Cit9CisjZW5kaWYKKwogc3RhdGljIFZlY3RvcjxTdHJpbmc+
JiBwcmVmZXJyZWRMYW5ndWFnZXMoKQogewogICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8
VmVjdG9yPFN0cmluZz4+IGxhbmd1YWdlczsKQEAgLTgzLDI3ICs5MCwyNiBAQCBzdGF0aWMgU3Ry
aW5nIGh0dHBTdHlsZUxhbmd1YWdlQ29kZShDRlN0cmluZ1JlZiBsYW5ndWFnZSkKIAogfQogCi0j
aWYgUExBVEZPUk0oTUFDKQotc3RhdGljIHZvaWQgbGFuZ3VhZ2VQcmVmZXJlbmNlc0RpZENoYW5n
ZShDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCosIENGU3RyaW5nUmVmLCBjb25zdCB2b2lk
KiwgQ0ZEaWN0aW9uYXJ5UmVmKQordm9pZCBwbGF0Zm9ybUxhbmd1YWdlRGlkQ2hhbmdlKCkKIHsK
ICAgICB7CiAgICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2socHJlZmVycmVkTGFuZ3VhZ2Vz
TXV0ZXgpOwogICAgICAgICBwcmVmZXJyZWRMYW5ndWFnZXMoKS5jbGVhcigpOwogICAgIH0KLSAg
ICAKLSAgICBsYW5ndWFnZURpZENoYW5nZSgpOwogfQotI2VuZGlmCiAKLVZlY3RvcjxTdHJpbmc+
IHBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpCit2b2lkIGxpc3RlbkZvckxhbmd1YWdl
Q2hhbmdlTm90aWZpY2F0aW9ucygpCiB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHN0YXRpYyBk
aXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOwotICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwg
XiB7CisgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewogICAgICAgICBDRk5vdGlmaWNh
dGlvbkNlbnRlckFkZE9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGlzdHJpYnV0ZWRD
ZW50ZXIoKSwgbnVsbHB0ciwgJmxhbmd1YWdlUHJlZmVyZW5jZXNEaWRDaGFuZ2UsIENGU1RSKCJB
cHBsZUxhbmd1YWdlUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIiksIG51bGxwdHIsIENG
Tm90aWZpY2F0aW9uU3VzcGVuc2lvbkJlaGF2aW9yQ29hbGVzY2UpOwogICAgIH0pOwogI2VuZGlm
Cit9CiAKK1ZlY3RvcjxTdHJpbmc+IHBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpCit7
CiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhwcmVmZXJyZWRMYW5ndWFnZXNNdXRleCk7CiAg
ICAgVmVjdG9yPFN0cmluZz4mIHVzZXJQcmVmZXJyZWRMYW5ndWFnZXMgPSBwcmVmZXJyZWRMYW5n
dWFnZXMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0
aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VN
YWluLm1tCmluZGV4IDE0MDIyNjBlMjE5ODUxMzI4YjQ3OWFhNzg3Zjg0OTM5MGRkYzQxZmUuLmUw
OGU3MGM2NTI3M2IzYzNlODAyYmEyMTM4ZjUwYjQ2YmI1ZjdlY2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENT
ZXJ2aWNlTWFpbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0
aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0KQEAgLTQ3LDE1ICs0NywxOSBA
QCBzdGF0aWMgdm9pZCBzZXRBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UoKQogCiAgICAgaWYgKHhw
Y19vYmplY3RfdCBsYW5ndWFnZXMgPSB4cGNfZGljdGlvbmFyeV9nZXRfdmFsdWUoYm9vdHN0cmFw
LmdldCgpLCAiT3ZlcnJpZGVMYW5ndWFnZXMiKSkgewogICAgICAgICBAYXV0b3JlbGVhc2Vwb29s
IHsKLSAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqZXhpc3RpbmdBcmd1bWVudHMgPSBbW05TVXNl
ckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNB
cmd1bWVudERvbWFpbl07Ci0gICAgICAgICAgICBOU011dGFibGVEaWN0aW9uYXJ5ICpuZXdBcmd1
bWVudHMgPSBbZXhpc3RpbmdBcmd1bWVudHMgbXV0YWJsZUNvcHldOwogICAgICAgICAgICAgUmV0
YWluUHRyPE5TTXV0YWJsZUFycmF5PiBuZXdMYW5ndWFnZXMgPSBhZG9wdE5TKFtbTlNNdXRhYmxl
QXJyYXkgYWxsb2NdIGluaXRdKTsKICAgICAgICAgICAgIHhwY19hcnJheV9hcHBseShsYW5ndWFn
ZXMsIF4oc2l6ZV90IGluZGV4LCB4cGNfb2JqZWN0X3QgdmFsdWUpIHsKICAgICAgICAgICAgICAg
ICBbbmV3TGFuZ3VhZ2VzIGFkZE9iamVjdDpbTlNTdHJpbmcgc3RyaW5nV2l0aENTdHJpbmc6eHBj
X3N0cmluZ19nZXRfc3RyaW5nX3B0cih2YWx1ZSkgZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2Rp
bmddXTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0pOworI2lm
IEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQorICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0
cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0T2JqZWN0Om5ld0xhbmd1YWdlcy5nZXQoKSBmb3JL
ZXk6QCJBcHBsZUxhbmd1YWdlcyJdOworI2Vsc2UKKyAgICAgICAgICAgIE5TRGljdGlvbmFyeSAq
ZXhpc3RpbmdBcmd1bWVudHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRz
XSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgICAgICAgICBh
dXRvIG5ld0FyZ3VtZW50cyA9IGFkb3B0TlMoW2V4aXN0aW5nQXJndW1lbnRzIG11dGFibGVDb3B5
XSk7CiAgICAgICAgICAgICBbbmV3QXJndW1lbnRzIHNldFZhbHVlOm5ld0xhbmd1YWdlcy5nZXQo
KSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwotICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0
cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46bmV3QXJndW1lbnRzIGZv
ck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0
YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjpuZXdBcmd1bWVudHMuZ2V0KCkg
Zm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyNlbmRpZgogICAgICAgICB9CiAgICAgfQogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0K
aW5kZXggNDIyYmFiYmZkYWE5NWQxZmYxYmM5ZjhhYWQ5OWJjZTVmNzEyMjdkOS4uNTcxYWZiYjFk
OGZhYTM0ZGY4NGM4NjY2MWJmMmFiNDZkNjQyMmNiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC04MSw3ICs4MSw2IEBACiAj
aW1wb3J0IDxhbGdvcml0aG0+CiAjaW1wb3J0IDxkaXNwYXRjaC9kaXNwYXRjaC5oPgogI2ltcG9y
dCA8b2JqYy9ydW50aW1lLmg+Ci0jaW1wb3J0IDxwYWwvY29jb2EvTWVkaWFUb29sYm94U29mdExp
bmsuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDxwYWwv
c3BpL2NmL0NGVXRpbGl0aWVzU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGlj
c1NQSS5oPgpAQCAtOTQsNiArOTMsNyBAQAogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNBcHBsaWNh
dGlvblNQSS5oPgogI2ltcG9ydCA8c3RkaW8uaD4KICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+
CisjaW1wb3J0IDx3dGYvTGFuZ3VhZ2UuaD4KICNpbXBvcnQgPHd0Zi9Qcm9jZXNzUHJpdmlsZWdl
Lmg+CiAjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9FbnRp
dGxlbWVudHMuaD4KQEAgLTE0NCw2ICsxNDQsNyBAQAogI2VuZGlmCiAKICNpbXBvcnQgPHBhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oPgorI2ltcG9ydCA8cGFsL2NvY29hL01lZGlhVG9v
bGJveFNvZnRMaW5rLmg+CiAKICNpZiBIQVZFKENBVEFMWVNUX1VTRVJfSU5URVJGQUNFX0lESU9N
X0FORF9TQ0FMRV9GQUNUT1IpCiAvLyBGSVhNRTogVGhpcyBpcyBvbmx5IGZvciBiaW5hcnkgY29t
cGF0aWJpbGl0eSB3aXRoIHZlcnNpb25zIG9mIFVJS2l0IGluIG1hY09TIDExIHRoYXQgYXJlIG1p
c3NpbmcgdGhlIGNoYW5nZSBpbiA8cmRhcjovL3Byb2JsZW0vNjg1MjQxNDg+LgpAQCAtMzU3LDYg
KzM1OCwxMCBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3Mo
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYQogICAgIF9fQ0ZSdW5Mb29wU2V0T3B0
aW9uc1JlYXNvbihfX0NGUnVuTG9vcE9wdGlvbnNFbmFibGVBcHBOYXAsIENGU1RSKCJGaW5pc2hl
ZCBjaGVja2luIGFzIGFwcGxpY2F0aW9uIC0gZW5hYmxlIGFwcCBuYXAiKSk7CiAjZW5kaWYKIAor
I2lmICFFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKKyAgICBXVEY6Omxpc3RlbkZvckxhbmd1
YWdlQ2hhbmdlTm90aWZpY2F0aW9ucygpOworI2VuZGlmCisKICNpZiBUQVJHRVRfT1NfSVBIT05F
CiAgICAgLy8gUHJpb3JpdHkgZGVjYXkgb24gaU9TIDkgaXMgaW1wYWN0aW5nIHBhZ2UgbG9hZCB0
aW1lIHNvIHdlIGZpeCB0aGUgcHJpb3JpdHkgb2YgdGhlIFdlYlByb2Nlc3MnIG1haW4gdGhyZWFk
IChyZGFyOi8vcHJvYmxlbS8yMjAwMzExMikuCiAgICAgcHRocmVhZF9zZXRfZml4ZWRwcmlvcml0
eV9zZWxmKCk7CkBAIC0xMDkzLDEzICsxMDk4LDE2IEBAIHN0YXRpYyB2b2lkIGRpc3BhdGNoU2lt
dWxhdGVkTm90aWZpY2F0aW9uc0ZvclByZWZlcmVuY2VDaGFuZ2UoY29uc3QgU3RyaW5nJiBrZXkp
CiBzdGF0aWMgdm9pZCBzZXRQcmVmZXJlbmNlVmFsdWUoY29uc3QgU3RyaW5nJiBkb21haW4sIGNv
bnN0IFN0cmluZyYga2V5LCBpZCB2YWx1ZSkKIHsKICAgICBpZiAoZG9tYWluLmlzRW1wdHkoKSkg
ewotICAgICAgICBDRlByZWZlcmVuY2VzU2V0VmFsdWUoa2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0
KCksIChfX2JyaWRnZSBDRlByb3BlcnR5TGlzdFJlZil2YWx1ZSwga0NGUHJlZmVyZW5jZXNBbnlB
cHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5jZXNBbnlI
b3N0KTsKKyAgICAgICAgQ0ZQcmVmZXJlbmNlc1NldEFwcFZhbHVlKGtleS5jcmVhdGVDRlN0cmlu
ZygpLmdldCgpLCAoX19icmlkZ2UgQ0ZQcm9wZXJ0eUxpc3RSZWYpdmFsdWUsIGtDRlByZWZlcmVu
Y2VzQ3VycmVudEFwcGxpY2F0aW9uKTsKICNpZiBBU1NFUlRfRU5BQkxFRAogICAgICAgICBpZCB2
YWx1ZUFmdGVyU2V0dGluZyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNd
IG9iamVjdEZvcktleTprZXldOwogICAgICAgICBBU1NFUlQodmFsdWVBZnRlclNldHRpbmcgPT0g
dmFsdWUgfHwgW3ZhbHVlQWZ0ZXJTZXR0aW5nIGlzRXF1YWw6dmFsdWVdKTsKICNlbmRpZgogICAg
IH0gZWxzZQotICAgICAgICBDRlByZWZlcmVuY2VzU2V0VmFsdWUoa2V5LmNyZWF0ZUNGU3RyaW5n
KCkuZ2V0KCksIChfX2JyaWRnZSBDRlByb3BlcnR5TGlzdFJlZil2YWx1ZSwgZG9tYWluLmNyZWF0
ZUNGU3RyaW5nKCkuZ2V0KCksIGtDRlByZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVu
Y2VzQW55SG9zdCk7CisgICAgICAgIENGUHJlZmVyZW5jZXNTZXRBcHBWYWx1ZShrZXkuY3JlYXRl
Q0ZTdHJpbmcoKS5nZXQoKSwgKF9fYnJpZGdlIENGUHJvcGVydHlMaXN0UmVmKXZhbHVlLCBkb21h
aW4uY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CisKKyAgICBpZiAoa2V5ID09ICJBcHBsZUxhbmd1
YWdlcyIpCisgICAgICAgIFdURjo6bGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKIH0KIAogdm9pZCBXZWJQ
cm9jZXNzOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3QgU3RyaW5nJiBkb21haW4sIGNv
bnN0IFN0cmluZyYga2V5LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggZDM5NjhiZTNm
ZjRiNjZmM2UyNjk4ZWJkZTc0MzIzZTU4NWQzZWI4ZC4uNjg1NjEwYzI1ZWMyYWU1ZmQ1ZjUxM2Ji
OTMxNjJjNGUyZTYxZmI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQpAQCAtMjQ4LDYgKzI0OCw3IEBACiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KICNp
bXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvSGFzaFRyYWl0cy5oPgorI2lt
cG9ydCA8d3RmL0xhbmd1YWdlLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9y
dCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi9SQU1TaXplLmg+CkBAIC0x
NjgwLDcgKzE2ODEsOSBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAogI2VuZGlmCiAKICAgICBb
V2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBpbnN0YWxsRm9yV2ViVmlld0lmTmVl
ZGVkOnNlbGYga2luZDpAIldlYlZpZXciIGRlcHJlY2F0ZWQ6WUVTXTsKLSNlbmRpZgorCisgICAg
V1RGOjpsaXN0ZW5Gb3JMYW5ndWFnZUNoYW5nZU5vdGlmaWNhdGlvbnMoKTsKKyNlbmRpZiAvLyBQ
TEFURk9STShNQUMpCiB9CiAKIC0gKGlkKV9pbml0V2l0aEZyYW1lOihOU1JlY3QpZiBmcmFtZU5h
bWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdHJpbmcgKilncm91cE5hbWUK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkZTg0
OWVkYmFkOTk1OGI3ZWVjOGM3NTgyNjg4N2NjODFlZWM2ZmJhLi40YzU5M2U1YmExZTI4ZDA1ZTM3
YTU1NWQwMGJjNTFiN2Y3MmYwYTA3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhl
IHN5c3RlbSBsYW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3Qg
Y292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9PdmVycmlk
ZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbToKKyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTAz
LTAyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUg
TUVESUFfU09VUkNFIGluIElPUyBTaW11bGF0b3IKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1By
ZWZlcmVuY2UubW0KaW5kZXggYTEyY2FhOTBmY2I3N2Q1NzBlODE5YjYxOTQ5MjBhZTI0ZmI1NTUx
MS4uNTdiZjc1YzZhZGZhMTY0MDgxZDQyYzZhMDc1MTI3OTY2YzZiOTBhMiAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1By
ZWZlcmVuY2UubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJp
ZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0KQEAgLTI5LDYgKzI5LDggQEAKIAogI2ltcG9y
dCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBv
cnQgPHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgorI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nQnVp
bGRlci5oPgogCiBURVNUKFdlYktpdCwgT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2Up
CiB7CkBAIC01MSwzICs1Myw1NCBAQCBURVNUKFdlYktpdCwgT3ZlcnJpZGVBcHBsZUxhbmd1YWdl
c1ByZWZlcmVuY2UpCiB9CiAKICNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCisKKyNpZiBQTEFURk9S
TShNQUMpCitURVNUKFdlYktpdCwgVXBkYXRlQXBwbGVMYW5ndWFnZXMpCit7CisgICAgLy8gU2F2
ZSBjdXJyZW50IHN5c3RlbSBsYW5ndWFnZSB0byByZXN0b3JlIGl0IGxhdGVyLgorICAgIGF1dG8g
dGFzayA9IGFkb3B0TlMoW1tOU1Rhc2sgYWxsb2NdIGluaXRdKTsKKyAgICBbdGFzayBzZXRMYXVu
Y2hQYXRoOkAiL3Vzci9iaW4vZGVmYXVsdHMiXTsKKyAgICBbdGFzayBzZXRBcmd1bWVudHM6QFtA
InJlYWQiLCBAIk5TR2xvYmFsRG9tYWluIiwgQCJBcHBsZUxhbmd1YWdlcyJdXTsKKyAgICBhdXRv
IHBpcGUgPSBhZG9wdE5TKFtbTlNQaXBlIGFsbG9jXSBpbml0XSk7CisgICAgW3Rhc2sgc2V0U3Rh
bmRhcmRPdXRwdXQ6cGlwZS5nZXQoKV07CisgICAgYXV0byBmaWxlSGFuZGxlID0gW3BpcGUgZmls
ZUhhbmRsZUZvclJlYWRpbmddOworICAgIFt0YXNrIGxhdW5jaF07CisgICAgTlNEYXRhICpkYXRh
ID0gW2ZpbGVIYW5kbGUgcmVhZERhdGFUb0VuZE9mRmlsZV07CisgICAgYXV0byBzYXZlZExhbmd1
YWdlcyA9IFN0cmluZyhbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aERhdGE6ZGF0YSBlbmNvZGlu
ZzpOU1VURjhTdHJpbmdFbmNvZGluZ10pOworICAgIHNhdmVkTGFuZ3VhZ2VzLnJlcGxhY2UoIlxu
IiwgIiIpOworICAgIHNhdmVkTGFuZ3VhZ2VzLnJlcGxhY2UoIiAiLCAiIik7CisKKyAgICAvLyBU
ZXN0cyB1c2VzICJlbi1VUyIgbGFuZ3VhZ2UgaW5pdGlhbGx5LgorICAgIHN5c3RlbShbTlNTdHJp
bmcgc3RyaW5nV2l0aEZvcm1hdDpAImRlZmF1bHRzIHdyaXRlIE5TR2xvYmFsRG9tYWluIEFwcGxl
TGFuZ3VhZ2VzICcoXCJlbi1VU1wiKSciXS5VVEY4U3RyaW5nKTsKKworICAgIGF1dG8gY29uZmln
dXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7
CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1
cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3Vz
bHlMb2FkVGVzdFBhZ2VOYW1lZDpAInNpbXBsZSJdOworCisgICAgLy8gV2Ugb25seSBsaXN0ZW4g
Zm9yIHByZWZlcmVuY2UgY2hhbmdlcyB3aGVuIHRoZSBhcHBsaWNhdGlvbiBpcyBhY3RpdmUuCisg
ICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZpY2F0aW9u
TmFtZTpOU0FwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlTm90aWZpY2F0aW9uIG9iamVjdDpOU0Fw
cCB1c2VySW5mbzpuaWxdOworCisgICAgYXV0byBwcmVmZXJyZWRMYW5ndWFnZSA9IFsmXSB7Cisg
ICAgICAgIHJldHVybiBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAibmF2
aWdhdG9yLmxhbmd1YWdlIl07CisgICAgfTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJlbi11cyIs
IHByZWZlcnJlZExhbmd1YWdlKCkpOworCisgICAgX19ibG9jayBib29sIGRvbmUgPSBmYWxzZTsK
KyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJvbmxhbmd1YWdlY2hhbmdlID0gKCkg
PT4geyB3ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKG5hdmln
YXRvci5sYW5ndWFnZSk7IH07IHRydWU7IiBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIHZhbHVlLCBO
U0Vycm9yICplcnJvcikgeworICAgICAgICBFWFBFQ1RfVFJVRSghZXJyb3IpOworICAgICAgICBk
b25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUp
OworCisgICAgX19ibG9jayBib29sIGRpZENoYW5nZUxhbmd1YWdlID0gZmFsc2U7CisgICAgW3dl
YlZpZXcgcGVyZm9ybUFmdGVyUmVjZWl2aW5nTWVzc2FnZTpAImVuLWdiIiBhY3Rpb246XnsgZGlk
Q2hhbmdlTGFuZ3VhZ2UgPSB0cnVlOyB9XTsKKworICAgIC8vIFN3aXRjaCBzeXN0ZW0gbGFuZ3Vh
Z2UgZnJvbSAiZW4tVVMiIHRvICJlbi1HQiIuIE1ha2Ugc3VyZSB0aGF0IHdlIGZpcmUgYSBsYW5n
dWFnZWNoYW5nZSBldmVudCBhdCB0aGUgV2luZG93IGFuZCB0aGF0IG5hdmlnYXRvci5sYW5ndWFn
ZQorICAgIC8vIG5vdyByZXBvcnRzICJlbi1nYiIuCisgICAgc3lzdGVtKFtOU1N0cmluZyBzdHJp
bmdXaXRoRm9ybWF0OkAiZGVmYXVsdHMgd3JpdGUgTlNHbG9iYWxEb21haW4gQXBwbGVMYW5ndWFn
ZXMgJyhcImVuLUdCXCIpJyJdLlVURjhTdHJpbmcpOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmZGlkQ2hhbmdlTGFuZ3VhZ2UpOworCisgICAgLy8gUmVzdG9yZSBwcmV2aW91cyBzeXN0
ZW0gbGFuZ3VhZ2UuCisgICAgc3lzdGVtKFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiZGVm
YXVsdHMgd3JpdGUgTlNHbG9iYWxEb21haW4gQXBwbGVMYW5ndWFnZXMgJyVAJyIsIChOU1N0cmlu
ZyAqKXNhdmVkTGFuZ3VhZ2VzXS5VVEY4U3RyaW5nKTsKK30KKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422104</attachid>
            <date>2021-03-03 09:44:20 -0800</date>
            <delta_ts>2021-03-03 10:49:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222619-20210303094419.patch</filename>
            <type>text/plain</type>
            <size>18728</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVmOWUwMjcxNjU1YWUzNjJhYzcxMzEx
YWZjNzhiZDJiNGI1YTMwM2IuLjRhYTk5YjI3MGVhZTM0ODAyMzJmMDQ0ODQwNjExODU5YTQ3ODM0
ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBs
YW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgV1RGOjpsYW5ndWFnZURp
ZENoYW5nZSgpIHRvIGNsZWFyIHByZWZlcnJlZExhbmd1YWdlcygpIG9uIENvY29hIHBsYXRmb3Jt
cworICAgICAgICBzbyB0aGF0IHdlIGdldCB1cGRhdGVkIHZhbHVlcyBmcm9tIHRoZSBzeXN0ZW0g
dGhlIG5leHQgdGltZQorICAgICAgICBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBp
cyBjYWxsZWQuCisKKyAgICAgICAgcGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCkgdXNl
ZCB0byBpbXBsaWNpdGx5IHJlZ2lzdGVyIGEgQXBwbGVMYW5ndWFnZVByZWZlcmVuY2VzQ2hhbmdl
ZE5vdGlmaWNhdGlvbgorICAgICAgICBsaXN0ZW5lci4gV2UndmUgbm93IG1hZGUgdGhpcyByZWdp
c3RlcmluZyBvcHQtaW4gYnkgbW92aW5nIGl0IHRvIGEgc2VwYXJhdGUKKyAgICAgICAgbGlzdGVu
Rm9yTGFuZ3VhZ2VDaGFuZ2VOb3RpZmljYXRpb25zKCkgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24g
aXMgZ2V0dGluZyBjYWxsZWQKKyAgICAgICAgb24gTWFjIFdLMSBhbmQgV0syIHdoZW4gQ0ZQUkVG
U19ESVJFQ1RfTU9ERSBpcyBkaXNhYmxlZCAobGVnYWN5KS4KKyAgICAgICAgV2hlbiBDRlBSRUZT
X0RJUkVDVF9NT0RFIGlzIGVuYWJsZWQgaW4gV0syLCB3ZSBkb24ndCB3YW50L25lZWQgdG8gbGlz
dGVuIGZvciB0aGlzCisgICAgICAgIG5vdGlmaWNhdGlvbiBiZWNhdXNlIHRoZSBBcHBsZUxhbmd1
YWdlcyBwcmVmZXJlbmNlIGdldHMgcHVzaGVkIGJ5IHRoZSBVSVByb2Nlc3MKKyAgICAgICAgZG93
biB0byB0aGUgV2ViUHJvY2Vzc2VzLiBFdmVuIHRob3VnaCB3ZSBjb3VsZCBsaXN0ZW4gZm9yIHRo
aXMgbm90aWZpY2F0aW9uLAorICAgICAgICB0aGUgV2ViUHJvY2VzcyB3b3VsZCBub3QgaGF2ZSB0
aGUgbGF0ZXN0IEFwcGxlTGFuZ3VhZ2VzIHByZWZlcmVuY2Ugd2hlbiByZWNlaXZpbmcKKyAgICAg
ICAgdGhlIG5vdGlmaWNhdGlvbi4gVGhpcyB3b3VsZCBjYXVzZSB1cyB0byBmaXJlIHRoZSBsYW5n
dWFnZWNoYW5nZSBldmVudCBhdCB0aGUKKyAgICAgICAgV2luZG93IHRvbyBlYXJseSBhbmQgbmF2
aWdhdG9yLmxhbmd1YWdlIHdvdWxkIGtlZXAgcmV0dXJuaW5nIHRoZSBvbGQgbGFuZ3VhZ2UuCisg
ICAgICAgIEZvciBXSzIgd2l0aCBDRlBSRUZTX0RJUkVDVF9NT0RFIGVuYWJsZWQsIHdlIG5vdyBl
eHBsaWNpdGx5IGNhbGwKKyAgICAgICAgV1RGOjpsYW5ndWFnZURpZENoYW5nZSgpIHdoZW4gdGhl
ICJBcHBsZUxhbmd1YWdlcyIgcHJlZmVyZW5jZSBnZXRzIHN5bmMnZCBmcm9tCisgICAgICAgIHRo
ZSBVSVByb2Nlc3MgaW5zdGVhZC4KKworICAgICAgICAqIHd0Zi9MYW5ndWFnZS5jcHA6CisgICAg
ICAgIChXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdURjo6cGxhdGZvcm1MYW5n
dWFnZURpZENoYW5nZSk6CisgICAgICAgICogd3RmL0xhbmd1YWdlLmg6CisgICAgICAgICogd3Rm
L2NmL0xhbmd1YWdlQ0YuY3BwOgorICAgICAgICAoV1RGOjpsYW5ndWFnZVByZWZlcmVuY2VzRGlk
Q2hhbmdlKToKKyAgICAgICAgKFdURjo6cGxhdGZvcm1MYW5ndWFnZURpZENoYW5nZSk6CisgICAg
ICAgIChXVEY6Omxpc3RlbkZvckxhbmd1YWdlQ2hhbmdlTm90aWZpY2F0aW9ucyk6CisgICAgICAg
IChXVEY6OnBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcyk6CisKIDIwMjEtMDMtMDIgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSBNRURJQV9T
T1VSQ0UgaW4gSU9TIFNpbXVsYXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxYzQ1MjgyYTkzYmUzYzcxZTc5MWJh
OTY4MmQ2YmEwZDU2MGMxYjgzLi5hOTlhMGQyOTRkNjViNWRkOWJiNDljZmY2MTZiYjcxMzUzMGY2
YjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTAzLTAyICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXVtXSzJdIENoYW5naW5nIHRoZSBz
eXN0ZW0gbGFuZ3VhZ2UgZG9lcyBub3QgdXBkYXRlIG5hdmlnYXRvci5sYW5ndWFnZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjE5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvRW50cnlQ
b2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tOgorICAgICAg
ICAoV2ViS2l0OjpzZXRBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UpOgorICAgICAgICAtIFdoZW4g
RU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpLCB3ZSBkb24ndCBuZWVkIHRvIHNldCB0aGUgQXBw
bGVMYW5ndWFnZXMKKyAgICAgICAgaW4gYSB2b2xhdGlsZSBkb21haW4uIFRoaXMgZG9lcyBub3Qg
Y2hhbmdlIGJlaGF2aW9yIGJ1dCBJIG1hZGUgdGhpcyBjaGFuZ2UKKyAgICAgICAgc28gdGhhdCBJ
IGRvbid0IG5lZWQgdG8gc2V0IEFwcGxlTGFuZ3VhZ2VzIGluIHRoZSB2b2xhdGlsZSBkb21haW4g
aW4KKyAgICAgICAgV2ViUHJvY2Vzc0NvY29hIHdoZW4gdGhlIHByZWZlcmVuY2UgY2hhbmdlcy4K
KyAgICAgICAgLSBBbHNvIGZpeCBhIG1lbW9yeSBsZWFrIGZvciBuZXdBcmd1bWVudHMuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAg
IElmIENGUFJFRlNfRElSRUNUX01PREUgaXMgbm90IGVuYWJsZWQsIHdlIG5lZWQgdG8gbGlzdGVu
IGZvciBBcHBsZUxhbmd1YWdlUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uCisgICAgICAg
IGluc2lkZSB0aGUgV2ViUHJvY2Vzcy4gVGhpcyB1c2VkIHRvIGhhcHBlbiBpbXBsaWNpdGx5IGlu
c2lkZSBXVEY6OnBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpIGJ1dAorICAgICAgICBp
dCBpcyBub3cgZXhwbGljaXQgc2luY2Ugd2UgZG9uJ3Qgd2FudC9uZWVkIGl0IHdoZW4gdXNpbmcg
Q0ZQUkVGU19ESVJFQ1RfTU9ERS4KKworICAgICAgICAoV2ViS2l0OjpzZXRQcmVmZXJlbmNlVmFs
dWUpOgorICAgICAgICAtIENhbGwgQ0ZQcmVmZXJlbmNlc1NldEFwcFZhbHVlKCkgaW5zdGVhZCBv
ZiBDRlByZWZlcmVuY2VzU2V0VmFsdWUoKS4gV2l0aG91dCB0aGlzIGNoYW5nZQorICAgICAgICB0
cnlpbmcgdG8gc2V0IEFwcGxlTGFuZ3VhZ2VzIGhlcmUgd291bGQgaGF2ZSBubyBlZmZlY3QgYW5k
IENGTG9jYWxlQ29weVByZWZlcnJlZExhbmd1YWdlcygpCisgICAgICAgIHdvdWxkIGtlZXAgcmV0
dXJuaW5nIG91dGRhdGVkIGxhbmd1YWdlcy4KKyAgICAgICAgLSBDYWxsIFdURjo6bGFuZ3VhZ2VE
aWRDaGFuZ2UoKSB3aGVuIHRoZSBBcHBsZUxhbmd1YWdlcyBwcmVmZXJlbmNlIGdldHMgdXBkYXRl
ZCBzbyB0aGF0CisgICAgICAgICAgbGFuZ3VhZ2UgY2hhbmdlIGxpc3RlbmVycyBnZXQgbm90aWZp
ZWQgb2YgdGhlIGxhbmd1YWdlIGNoYW5nZSAoZS5nLiB3ZSBmaXJlIGEgbGFuZ3VhZ2VjaGFuZ2UK
KyAgICAgICAgICBldmVudCBhdCB0aGUgV2luZG93KS4KKwogMjAyMS0wMy0wMiAgUm9iIEJ1aXMg
IDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIE51bGwgY2hlY2sgcGxhdGZvcm1EYXRhIHdo
ZW4gZGVjb2RpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA3OWU3MjEyZDQyNzIy
YjU4MjYwNTI3ZjlhOTU3NTJhNDU2YmQ4MTRmLi41MDZhOGI1ZDc5N2ZlMTNmNTg0Mzc4YmNhODNj
ZDY3NTQ1NzAyODQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBsYW5ndWFnZSBkb2VzIG5vdCB1cGRh
dGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXZSBuZWVkIHRvIGxpc3RlbiBmb3IgQXBwbGVMYW5ndWFnZVByZWZlcmVu
Y2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiBvbiBtYWMgV0sxLgorICAgICAgICBUaGlzIHVzZWQgdG8g
aGFwcGVuIGltcGxpY2l0bHkgaW5zaWRlIFdURjo6cGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3Vh
Z2VzKCkgYnV0CisgICAgICAgIGl0IGlzIG5vdyBleHBsaWNpdCBzaW5jZSB3ZSBkb24ndCB3YW50
L25lZWQgaXQgd2hlbiB1c2luZyBDRlBSRUZTX0RJUkVDVF9NT0RFIGluIFdLMi4KKworICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlh
bGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKwogMjAyMS0wMy0wMSAgUGVuZyBM
aXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSB0aGUgZGVsZWdhdGUg
cHJvcGVydHkgb2YgV2ViQVZQbGF5ZXJWaWV3IHRvIHdlYkRlbGVnYXRlIHRvIGZpeCBhIGJ1aWxk
IGZhaWx1cmUgd2l0aCBuZXcgU0RLcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTGFuZ3Vh
Z2UuY3BwIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuY3BwCmluZGV4IGU5MDcxMmY4OTUyODgw
MTdiMTk2YWQ2YTMyMjA1NWM5ZjY1NjVlMGQuLjE3MmQwOThiODRkNTYwODE0YTQ5ZmI3ZGFiOGFm
M2Q4ZmU5YTU4NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmNwcAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5jcHAKQEAgLTYyLDYgKzYyLDcgQEAgdm9pZCByZW1v
dmVMYW5ndWFnZUNoYW5nZU9ic2VydmVyKHZvaWQqIGNvbnRleHQpCiAKIHZvaWQgbGFuZ3VhZ2VE
aWRDaGFuZ2UoKQogeworICAgIHBsYXRmb3JtTGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKICAgICBmb3Ig
KGF1dG8mIG9ic2VydmVyIDogY29weVRvVmVjdG9yKG9ic2VydmVyTWFwKCkpKSB7CiAgICAgICAg
IGlmIChvYnNlcnZlck1hcCgpLmNvbnRhaW5zKG9ic2VydmVyLmtleSkpCiAgICAgICAgICAgICBv
YnNlcnZlci52YWx1ZShvYnNlcnZlci5rZXkpOwpAQCAtMTgzLDQgKzE4NCwxMCBAQCBTdHJpbmcg
ZGlzcGxheU5hbWVGb3JMYW5ndWFnZUxvY2FsZShjb25zdCBTdHJpbmcmIGxvY2FsZU5hbWUpCiAg
ICAgcmV0dXJuIGxvY2FsZU5hbWU7CiB9CiAKKyNpZiAhUExBVEZPUk0oQ09DT0EpCit2b2lkIHBs
YXRmb3JtTGFuZ3VhZ2VEaWRDaGFuZ2UoKQoreworfQorI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmggYi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5oCmlu
ZGV4IGI4YjkwOTU2Y2U4MzRmODY3YzMxODU4ODcxMTIzZTZhYTI0YTYzOGEuLmYwNzRkNzU2OGQw
MDJlOTMyYTUzMjZiZGI1MmQ3ZmI4YzA2NTgxODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L0xhbmd1YWdlLmgKKysrIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuaApAQCAtNDEsNiArNDEs
OCBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgVmVjdG9yPFN0cmluZz4gdXNlclByZWZlcnJlZExhbmd1
YWdlc092ZXJyaWRlKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBvdmVycmlkZVVzZXJQcmVm
ZXJyZWRMYW5ndWFnZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKIFdURl9FWFBPUlRfUFJJVkFU
RSBzaXplX3QgaW5kZXhPZkJlc3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KGNvbnN0IFN0cmluZyYg
bGFuZ3VhZ2UsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYW5ndWFnZUxpc3QsIGJvb2wmIGV4YWN0
TWF0Y2gpOwogV1RGX0VYUE9SVF9QUklWQVRFIFZlY3RvcjxTdHJpbmc+IHBsYXRmb3JtVXNlclBy
ZWZlcnJlZExhbmd1YWdlcygpOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgcGxhdGZvcm1MYW5n
dWFnZURpZENoYW5nZSgpOworCiAvLyBDYWxsZWQgZnJvbSBwbGF0Zm9ybSBzcGVjaWZpYyBjb2Rl
IHdoZW4gdGhlIHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2UocykgY2hhbmdlLgogV1RGX0VYUE9S
VF9QUklWQVRFIHZvaWQgbGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKIApAQCAtNTIsNiArNTQsNyBAQCBX
VEZfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIGRpc3BsYXlOYW1lRm9yTGFuZ3VhZ2VMb2NhbGUoY29u
c3QgU3RyaW5nJik7CiAKICNpZiBQTEFURk9STShDT0NPQSkKIGJvb2wgY2FuTWluaW1pemVMYW5n
dWFnZXMoKTsKK1dURl9FWFBPUlRfUFJJVkFURSB2b2lkIGxpc3RlbkZvckxhbmd1YWdlQ2hhbmdl
Tm90aWZpY2F0aW9ucygpOwogUmV0YWluUHRyPENGQXJyYXlSZWY+IG1pbmltaXplZExhbmd1YWdl
c0Zyb21MYW5ndWFnZXMoQ0ZBcnJheVJlZik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvY2YvTGFuZ3VhZ2VDRi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9jZi9MYW5ndWFnZUNG
LmNwcAppbmRleCA0MjVhZWJlOGYzZWRhZDI1NGFhZjI0NTg4MGU1ODE0Y2NkOWJjYzZmLi41MTM5
YzU2NTNlZjMxM2YwYWIwMTFkNGY5MjllNDY3MGU0ZmYxY2QzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9jZi9MYW5ndWFnZUNGLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jZi9MYW5ndWFn
ZUNGLmNwcApAQCAtNDAsNiArNDAsMTMgQEAgbmFtZXNwYWNlIFdURiB7CiAKIHN0YXRpYyBMb2Nr
IHByZWZlcnJlZExhbmd1YWdlc011dGV4OwogCisjaWYgUExBVEZPUk0oTUFDKQorc3RhdGljIHZv
aWQgbGFuZ3VhZ2VQcmVmZXJlbmNlc0RpZENoYW5nZShDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwg
dm9pZCosIENGU3RyaW5nUmVmLCBjb25zdCB2b2lkKiwgQ0ZEaWN0aW9uYXJ5UmVmKQoreworICAg
IGxhbmd1YWdlRGlkQ2hhbmdlKCk7Cit9CisjZW5kaWYKKwogc3RhdGljIFZlY3RvcjxTdHJpbmc+
JiBwcmVmZXJyZWRMYW5ndWFnZXMoKQogewogICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8
VmVjdG9yPFN0cmluZz4+IGxhbmd1YWdlczsKQEAgLTgzLDI3ICs5MCwyNiBAQCBzdGF0aWMgU3Ry
aW5nIGh0dHBTdHlsZUxhbmd1YWdlQ29kZShDRlN0cmluZ1JlZiBsYW5ndWFnZSkKIAogfQogCi0j
aWYgUExBVEZPUk0oTUFDKQotc3RhdGljIHZvaWQgbGFuZ3VhZ2VQcmVmZXJlbmNlc0RpZENoYW5n
ZShDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCosIENGU3RyaW5nUmVmLCBjb25zdCB2b2lk
KiwgQ0ZEaWN0aW9uYXJ5UmVmKQordm9pZCBwbGF0Zm9ybUxhbmd1YWdlRGlkQ2hhbmdlKCkKIHsK
ICAgICB7CiAgICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2socHJlZmVycmVkTGFuZ3VhZ2Vz
TXV0ZXgpOwogICAgICAgICBwcmVmZXJyZWRMYW5ndWFnZXMoKS5jbGVhcigpOwogICAgIH0KLSAg
ICAKLSAgICBsYW5ndWFnZURpZENoYW5nZSgpOwogfQotI2VuZGlmCiAKLVZlY3RvcjxTdHJpbmc+
IHBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpCit2b2lkIGxpc3RlbkZvckxhbmd1YWdl
Q2hhbmdlTm90aWZpY2F0aW9ucygpCiB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHN0YXRpYyBk
aXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOwotICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwg
XiB7CisgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewogICAgICAgICBDRk5vdGlmaWNh
dGlvbkNlbnRlckFkZE9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGlzdHJpYnV0ZWRD
ZW50ZXIoKSwgbnVsbHB0ciwgJmxhbmd1YWdlUHJlZmVyZW5jZXNEaWRDaGFuZ2UsIENGU1RSKCJB
cHBsZUxhbmd1YWdlUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIiksIG51bGxwdHIsIENG
Tm90aWZpY2F0aW9uU3VzcGVuc2lvbkJlaGF2aW9yQ29hbGVzY2UpOwogICAgIH0pOwogI2VuZGlm
Cit9CiAKK1ZlY3RvcjxTdHJpbmc+IHBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpCit7
CiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhwcmVmZXJyZWRMYW5ndWFnZXNNdXRleCk7CiAg
ICAgVmVjdG9yPFN0cmluZz4mIHVzZXJQcmVmZXJyZWRMYW5ndWFnZXMgPSBwcmVmZXJyZWRMYW5n
dWFnZXMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0
aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VN
YWluLm1tCmluZGV4IDE0MDIyNjBlMjE5ODUxMzI4YjQ3OWFhNzg3Zjg0OTM5MGRkYzQxZmUuLmUw
OGU3MGM2NTI3M2IzYzNlODAyYmEyMTM4ZjUwYjQ2YmI1ZjdlY2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENT
ZXJ2aWNlTWFpbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0
aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0KQEAgLTQ3LDE1ICs0NywxOSBA
QCBzdGF0aWMgdm9pZCBzZXRBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UoKQogCiAgICAgaWYgKHhw
Y19vYmplY3RfdCBsYW5ndWFnZXMgPSB4cGNfZGljdGlvbmFyeV9nZXRfdmFsdWUoYm9vdHN0cmFw
LmdldCgpLCAiT3ZlcnJpZGVMYW5ndWFnZXMiKSkgewogICAgICAgICBAYXV0b3JlbGVhc2Vwb29s
IHsKLSAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqZXhpc3RpbmdBcmd1bWVudHMgPSBbW05TVXNl
ckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNB
cmd1bWVudERvbWFpbl07Ci0gICAgICAgICAgICBOU011dGFibGVEaWN0aW9uYXJ5ICpuZXdBcmd1
bWVudHMgPSBbZXhpc3RpbmdBcmd1bWVudHMgbXV0YWJsZUNvcHldOwogICAgICAgICAgICAgUmV0
YWluUHRyPE5TTXV0YWJsZUFycmF5PiBuZXdMYW5ndWFnZXMgPSBhZG9wdE5TKFtbTlNNdXRhYmxl
QXJyYXkgYWxsb2NdIGluaXRdKTsKICAgICAgICAgICAgIHhwY19hcnJheV9hcHBseShsYW5ndWFn
ZXMsIF4oc2l6ZV90IGluZGV4LCB4cGNfb2JqZWN0X3QgdmFsdWUpIHsKICAgICAgICAgICAgICAg
ICBbbmV3TGFuZ3VhZ2VzIGFkZE9iamVjdDpbTlNTdHJpbmcgc3RyaW5nV2l0aENTdHJpbmc6eHBj
X3N0cmluZ19nZXRfc3RyaW5nX3B0cih2YWx1ZSkgZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2Rp
bmddXTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0pOworI2lm
IEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQorICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0
cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0T2JqZWN0Om5ld0xhbmd1YWdlcy5nZXQoKSBmb3JL
ZXk6QCJBcHBsZUxhbmd1YWdlcyJdOworI2Vsc2UKKyAgICAgICAgICAgIE5TRGljdGlvbmFyeSAq
ZXhpc3RpbmdBcmd1bWVudHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRz
XSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgICAgICAgICBh
dXRvIG5ld0FyZ3VtZW50cyA9IGFkb3B0TlMoW2V4aXN0aW5nQXJndW1lbnRzIG11dGFibGVDb3B5
XSk7CiAgICAgICAgICAgICBbbmV3QXJndW1lbnRzIHNldFZhbHVlOm5ld0xhbmd1YWdlcy5nZXQo
KSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwotICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0
cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46bmV3QXJndW1lbnRzIGZv
ck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0
YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjpuZXdBcmd1bWVudHMuZ2V0KCkg
Zm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyNlbmRpZgogICAgICAgICB9CiAgICAgfQogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0K
aW5kZXggNDIyYmFiYmZkYWE5NWQxZmYxYmM5ZjhhYWQ5OWJjZTVmNzEyMjdkOS4uNTcxYWZiYjFk
OGZhYTM0ZGY4NGM4NjY2MWJmMmFiNDZkNjQyMmNiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC04MSw3ICs4MSw2IEBACiAj
aW1wb3J0IDxhbGdvcml0aG0+CiAjaW1wb3J0IDxkaXNwYXRjaC9kaXNwYXRjaC5oPgogI2ltcG9y
dCA8b2JqYy9ydW50aW1lLmg+Ci0jaW1wb3J0IDxwYWwvY29jb2EvTWVkaWFUb29sYm94U29mdExp
bmsuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDxwYWwv
c3BpL2NmL0NGVXRpbGl0aWVzU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGlj
c1NQSS5oPgpAQCAtOTQsNiArOTMsNyBAQAogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNBcHBsaWNh
dGlvblNQSS5oPgogI2ltcG9ydCA8c3RkaW8uaD4KICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+
CisjaW1wb3J0IDx3dGYvTGFuZ3VhZ2UuaD4KICNpbXBvcnQgPHd0Zi9Qcm9jZXNzUHJpdmlsZWdl
Lmg+CiAjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9FbnRp
dGxlbWVudHMuaD4KQEAgLTE0NCw2ICsxNDQsNyBAQAogI2VuZGlmCiAKICNpbXBvcnQgPHBhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oPgorI2ltcG9ydCA8cGFsL2NvY29hL01lZGlhVG9v
bGJveFNvZnRMaW5rLmg+CiAKICNpZiBIQVZFKENBVEFMWVNUX1VTRVJfSU5URVJGQUNFX0lESU9N
X0FORF9TQ0FMRV9GQUNUT1IpCiAvLyBGSVhNRTogVGhpcyBpcyBvbmx5IGZvciBiaW5hcnkgY29t
cGF0aWJpbGl0eSB3aXRoIHZlcnNpb25zIG9mIFVJS2l0IGluIG1hY09TIDExIHRoYXQgYXJlIG1p
c3NpbmcgdGhlIGNoYW5nZSBpbiA8cmRhcjovL3Byb2JsZW0vNjg1MjQxNDg+LgpAQCAtMzU3LDYg
KzM1OCwxMCBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3Mo
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYQogICAgIF9fQ0ZSdW5Mb29wU2V0T3B0
aW9uc1JlYXNvbihfX0NGUnVuTG9vcE9wdGlvbnNFbmFibGVBcHBOYXAsIENGU1RSKCJGaW5pc2hl
ZCBjaGVja2luIGFzIGFwcGxpY2F0aW9uIC0gZW5hYmxlIGFwcCBuYXAiKSk7CiAjZW5kaWYKIAor
I2lmICFFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKKyAgICBXVEY6Omxpc3RlbkZvckxhbmd1
YWdlQ2hhbmdlTm90aWZpY2F0aW9ucygpOworI2VuZGlmCisKICNpZiBUQVJHRVRfT1NfSVBIT05F
CiAgICAgLy8gUHJpb3JpdHkgZGVjYXkgb24gaU9TIDkgaXMgaW1wYWN0aW5nIHBhZ2UgbG9hZCB0
aW1lIHNvIHdlIGZpeCB0aGUgcHJpb3JpdHkgb2YgdGhlIFdlYlByb2Nlc3MnIG1haW4gdGhyZWFk
IChyZGFyOi8vcHJvYmxlbS8yMjAwMzExMikuCiAgICAgcHRocmVhZF9zZXRfZml4ZWRwcmlvcml0
eV9zZWxmKCk7CkBAIC0xMDkzLDEzICsxMDk4LDE2IEBAIHN0YXRpYyB2b2lkIGRpc3BhdGNoU2lt
dWxhdGVkTm90aWZpY2F0aW9uc0ZvclByZWZlcmVuY2VDaGFuZ2UoY29uc3QgU3RyaW5nJiBrZXkp
CiBzdGF0aWMgdm9pZCBzZXRQcmVmZXJlbmNlVmFsdWUoY29uc3QgU3RyaW5nJiBkb21haW4sIGNv
bnN0IFN0cmluZyYga2V5LCBpZCB2YWx1ZSkKIHsKICAgICBpZiAoZG9tYWluLmlzRW1wdHkoKSkg
ewotICAgICAgICBDRlByZWZlcmVuY2VzU2V0VmFsdWUoa2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0
KCksIChfX2JyaWRnZSBDRlByb3BlcnR5TGlzdFJlZil2YWx1ZSwga0NGUHJlZmVyZW5jZXNBbnlB
cHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5jZXNBbnlI
b3N0KTsKKyAgICAgICAgQ0ZQcmVmZXJlbmNlc1NldEFwcFZhbHVlKGtleS5jcmVhdGVDRlN0cmlu
ZygpLmdldCgpLCAoX19icmlkZ2UgQ0ZQcm9wZXJ0eUxpc3RSZWYpdmFsdWUsIGtDRlByZWZlcmVu
Y2VzQ3VycmVudEFwcGxpY2F0aW9uKTsKICNpZiBBU1NFUlRfRU5BQkxFRAogICAgICAgICBpZCB2
YWx1ZUFmdGVyU2V0dGluZyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNd
IG9iamVjdEZvcktleTprZXldOwogICAgICAgICBBU1NFUlQodmFsdWVBZnRlclNldHRpbmcgPT0g
dmFsdWUgfHwgW3ZhbHVlQWZ0ZXJTZXR0aW5nIGlzRXF1YWw6dmFsdWVdKTsKICNlbmRpZgogICAg
IH0gZWxzZQotICAgICAgICBDRlByZWZlcmVuY2VzU2V0VmFsdWUoa2V5LmNyZWF0ZUNGU3RyaW5n
KCkuZ2V0KCksIChfX2JyaWRnZSBDRlByb3BlcnR5TGlzdFJlZil2YWx1ZSwgZG9tYWluLmNyZWF0
ZUNGU3RyaW5nKCkuZ2V0KCksIGtDRlByZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVu
Y2VzQW55SG9zdCk7CisgICAgICAgIENGUHJlZmVyZW5jZXNTZXRBcHBWYWx1ZShrZXkuY3JlYXRl
Q0ZTdHJpbmcoKS5nZXQoKSwgKF9fYnJpZGdlIENGUHJvcGVydHlMaXN0UmVmKXZhbHVlLCBkb21h
aW4uY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CisKKyAgICBpZiAoa2V5ID09ICJBcHBsZUxhbmd1
YWdlcyIpCisgICAgICAgIFdURjo6bGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKIH0KIAogdm9pZCBXZWJQ
cm9jZXNzOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3QgU3RyaW5nJiBkb21haW4sIGNv
bnN0IFN0cmluZyYga2V5LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggZDM5NjhiZTNm
ZjRiNjZmM2UyNjk4ZWJkZTc0MzIzZTU4NWQzZWI4ZC4uNjg1NjEwYzI1ZWMyYWU1ZmQ1ZjUxM2Ji
OTMxNjJjNGUyZTYxZmI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQpAQCAtMjQ4LDYgKzI0OCw3IEBACiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KICNp
bXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvSGFzaFRyYWl0cy5oPgorI2lt
cG9ydCA8d3RmL0xhbmd1YWdlLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9y
dCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi9SQU1TaXplLmg+CkBAIC0x
NjgwLDcgKzE2ODEsOSBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAogI2VuZGlmCiAKICAgICBb
V2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBpbnN0YWxsRm9yV2ViVmlld0lmTmVl
ZGVkOnNlbGYga2luZDpAIldlYlZpZXciIGRlcHJlY2F0ZWQ6WUVTXTsKLSNlbmRpZgorCisgICAg
V1RGOjpsaXN0ZW5Gb3JMYW5ndWFnZUNoYW5nZU5vdGlmaWNhdGlvbnMoKTsKKyNlbmRpZiAvLyBQ
TEFURk9STShNQUMpCiB9CiAKIC0gKGlkKV9pbml0V2l0aEZyYW1lOihOU1JlY3QpZiBmcmFtZU5h
bWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdHJpbmcgKilncm91cE5hbWUK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkZTg0
OWVkYmFkOTk1OGI3ZWVjOGM3NTgyNjg4N2NjODFlZWM2ZmJhLi40YzU5M2U1YmExZTI4ZDA1ZTM3
YTU1NWQwMGJjNTFiN2Y3MmYwYTA3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhl
IHN5c3RlbSBsYW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3Qg
Y292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9PdmVycmlk
ZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbToKKyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTAz
LTAyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUg
TUVESUFfU09VUkNFIGluIElPUyBTaW11bGF0b3IKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1By
ZWZlcmVuY2UubW0KaW5kZXggYTEyY2FhOTBmY2I3N2Q1NzBlODE5YjYxOTQ5MjBhZTI0ZmI1NTUx
MS4uYmYwOTAxNTU5MmEzYTNkYTllOWRkMWU4YWMxNmU3YjczY2QzYTQyZiAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1By
ZWZlcmVuY2UubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJp
ZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0KQEAgLTI5LDYgKzI5LDggQEAKIAogI2ltcG9y
dCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBv
cnQgPHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgorI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nQnVp
bGRlci5oPgogCiBURVNUKFdlYktpdCwgT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2Up
CiB7CkBAIC01MSwzICs1Myw2OCBAQCBURVNUKFdlYktpdCwgT3ZlcnJpZGVBcHBsZUxhbmd1YWdl
c1ByZWZlcmVuY2UpCiB9CiAKICNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCisKKyNpZiBQTEFURk9S
TShNQUMpCitjbGFzcyBBcHBsZUxhbmd1YWdlc1Rlc3QgOiBwdWJsaWMgdGVzdGluZzo6VGVzdCB7
CitwdWJsaWM6CisgICAgQXBwbGVMYW5ndWFnZXNUZXN0KCkKKyAgICB7CisgICAgICAgIC8vIFNh
dmUgY3VycmVudCBzeXN0ZW0gbGFuZ3VhZ2UgdG8gcmVzdG9yZSBpdCBsYXRlci4KKyAgICAgICAg
YXV0byB0YXNrID0gYWRvcHROUyhbW05TVGFzayBhbGxvY10gaW5pdF0pOworICAgICAgICBbdGFz
ayBzZXRMYXVuY2hQYXRoOkAiL3Vzci9iaW4vZGVmYXVsdHMiXTsKKyAgICAgICAgW3Rhc2sgc2V0
QXJndW1lbnRzOkBbQCJyZWFkIiwgQCJOU0dsb2JhbERvbWFpbiIsIEAiQXBwbGVMYW5ndWFnZXMi
XV07CisgICAgICAgIGF1dG8gcGlwZSA9IGFkb3B0TlMoW1tOU1BpcGUgYWxsb2NdIGluaXRdKTsK
KyAgICAgICAgW3Rhc2sgc2V0U3RhbmRhcmRPdXRwdXQ6cGlwZS5nZXQoKV07CisgICAgICAgIGF1
dG8gZmlsZUhhbmRsZSA9IFtwaXBlIGZpbGVIYW5kbGVGb3JSZWFkaW5nXTsKKyAgICAgICAgW3Rh
c2sgbGF1bmNoXTsKKyAgICAgICAgTlNEYXRhICpkYXRhID0gW2ZpbGVIYW5kbGUgcmVhZERhdGFU
b0VuZE9mRmlsZV07CisgICAgICAgIG1fc2F2ZWRBcHBsZUxhbmd1YWdlcyA9IFtbTlNTdHJpbmcg
YWxsb2NdIGluaXRXaXRoRGF0YTpkYXRhIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXTsK
KyAgICAgICAgbV9zYXZlZEFwcGxlTGFuZ3VhZ2VzLnJlcGxhY2UoIlxuIiwgIiIpOworICAgICAg
ICBtX3NhdmVkQXBwbGVMYW5ndWFnZXMucmVwbGFjZSgiICIsICIiKTsKKyAgICB9CisKKyAgICB+
QXBwbGVMYW5ndWFnZXNUZXN0KCkKKyAgICB7CisgICAgICAgIC8vIFJlc3RvcmUgcHJldmlvdXMg
c3lzdGVtIGxhbmd1YWdlLgorICAgICAgICBzeXN0ZW0oW05TU3RyaW5nIHN0cmluZ1dpdGhGb3Jt
YXQ6QCJkZWZhdWx0cyB3cml0ZSBOU0dsb2JhbERvbWFpbiBBcHBsZUxhbmd1YWdlcyAnJUAnIiwg
KE5TU3RyaW5nICopbV9zYXZlZEFwcGxlTGFuZ3VhZ2VzXS5VVEY4U3RyaW5nKTsKKyAgICB9CisK
K3ByaXZhdGU6CisgICAgU3RyaW5nIG1fc2F2ZWRBcHBsZUxhbmd1YWdlczsKK307CisKK1RFU1Rf
RihBcHBsZUxhbmd1YWdlc1Rlc3QsIFVwZGF0ZUFwcGxlTGFuZ3VhZ2VzKQoreworICAgIC8vIFRl
c3RzIHVzZXMgImVuLVVTIiBsYW5ndWFnZSBpbml0aWFsbHkuCisgICAgc3lzdGVtKFtOU1N0cmlu
ZyBzdHJpbmdXaXRoRm9ybWF0OkAiZGVmYXVsdHMgd3JpdGUgTlNHbG9iYWxEb21haW4gQXBwbGVM
YW5ndWFnZXMgJyhcImVuLVVTXCIpJyJdLlVURjhTdHJpbmcpOworCisgICAgYXV0byBjb25maWd1
cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsK
KyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3Vy
YXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNs
eUxvYWRUZXN0UGFnZU5hbWVkOkAic2ltcGxlIl07CisKKyAgICAvLyBXZSBvbmx5IGxpc3RlbiBm
b3IgcHJlZmVyZW5jZSBjaGFuZ2VzIHdoZW4gdGhlIGFwcGxpY2F0aW9uIGlzIGFjdGl2ZS4KKyAg
ICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHBvc3ROb3RpZmljYXRpb25O
YW1lOk5TQXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmVOb3RpZmljYXRpb24gb2JqZWN0Ok5TQXBw
IHVzZXJJbmZvOm5pbF07CisKKyAgICBhdXRvIHByZWZlcnJlZExhbmd1YWdlID0gWyZdIHsKKyAg
ICAgICAgcmV0dXJuIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJuYXZp
Z2F0b3IubGFuZ3VhZ2UiXTsKKyAgICB9OworICAgIEVYUEVDVF9XS19TVFJFUShAImVuLXVzIiwg
cHJlZmVycmVkTGFuZ3VhZ2UoKSk7CisKKyAgICBfX2Jsb2NrIGJvb2wgZG9uZSA9IGZhbHNlOwor
ICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAIm9ubGFuZ3VhZ2VjaGFuZ2UgPSAoKSA9
PiB7IHdlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UobmF2aWdh
dG9yLmxhbmd1YWdlKTsgfTsgdHJ1ZTsiIGNvbXBsZXRpb25IYW5kbGVyOl4oaWQgdmFsdWUsIE5T
RXJyb3IgKmVycm9yKSB7CisgICAgICAgIEVYUEVDVF9UUlVFKCFlcnJvcik7CisgICAgICAgIGRv
bmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7
CisKKyAgICBfX2Jsb2NrIGJvb2wgZGlkQ2hhbmdlTGFuZ3VhZ2UgPSBmYWxzZTsKKyAgICBbd2Vi
VmlldyBwZXJmb3JtQWZ0ZXJSZWNlaXZpbmdNZXNzYWdlOkAiZW4tZ2IiIGFjdGlvbjpeeyBkaWRD
aGFuZ2VMYW5ndWFnZSA9IHRydWU7IH1dOworCisgICAgLy8gU3dpdGNoIHN5c3RlbSBsYW5ndWFn
ZSBmcm9tICJlbi1VUyIgdG8gImVuLUdCIi4gTWFrZSBzdXJlIHRoYXQgd2UgZmlyZSBhIGxhbmd1
YWdlY2hhbmdlIGV2ZW50IGF0IHRoZSBXaW5kb3cgYW5kIHRoYXQgbmF2aWdhdG9yLmxhbmd1YWdl
CisgICAgLy8gbm93IHJlcG9ydHMgImVuLWdiIi4KKyAgICBzeXN0ZW0oW05TU3RyaW5nIHN0cmlu
Z1dpdGhGb3JtYXQ6QCJkZWZhdWx0cyB3cml0ZSBOU0dsb2JhbERvbWFpbiBBcHBsZUxhbmd1YWdl
cyAnKFwiZW4tR0JcIiknIl0uVVRGOFN0cmluZyk7CisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJQ
b3N0Tm90aWZpY2F0aW9uKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGlzdHJpYnV0ZWRDZW50ZXIo
KSwgQ0ZTVFIoIkFwcGxlTGFuZ3VhZ2VQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24iKSwg
bnVsbHB0ciwgbnVsbHB0ciwgdHJ1ZSk7CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4o
JmRpZENoYW5nZUxhbmd1YWdlKTsKK30KKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422116</attachid>
            <date>2021-03-03 10:49:19 -0800</date>
            <delta_ts>2021-03-04 09:28:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222619-20210303104919.patch</filename>
            <type>text/plain</type>
            <size>19162</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVmOWUwMjcxNjU1YWUzNjJhYzcxMzEx
YWZjNzhiZDJiNGI1YTMwM2IuLjRhYTk5YjI3MGVhZTM0ODAyMzJmMDQ0ODQwNjExODU5YTQ3ODM0
ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBs
YW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgV1RGOjpsYW5ndWFnZURp
ZENoYW5nZSgpIHRvIGNsZWFyIHByZWZlcnJlZExhbmd1YWdlcygpIG9uIENvY29hIHBsYXRmb3Jt
cworICAgICAgICBzbyB0aGF0IHdlIGdldCB1cGRhdGVkIHZhbHVlcyBmcm9tIHRoZSBzeXN0ZW0g
dGhlIG5leHQgdGltZQorICAgICAgICBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBp
cyBjYWxsZWQuCisKKyAgICAgICAgcGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCkgdXNl
ZCB0byBpbXBsaWNpdGx5IHJlZ2lzdGVyIGEgQXBwbGVMYW5ndWFnZVByZWZlcmVuY2VzQ2hhbmdl
ZE5vdGlmaWNhdGlvbgorICAgICAgICBsaXN0ZW5lci4gV2UndmUgbm93IG1hZGUgdGhpcyByZWdp
c3RlcmluZyBvcHQtaW4gYnkgbW92aW5nIGl0IHRvIGEgc2VwYXJhdGUKKyAgICAgICAgbGlzdGVu
Rm9yTGFuZ3VhZ2VDaGFuZ2VOb3RpZmljYXRpb25zKCkgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24g
aXMgZ2V0dGluZyBjYWxsZWQKKyAgICAgICAgb24gTWFjIFdLMSBhbmQgV0syIHdoZW4gQ0ZQUkVG
U19ESVJFQ1RfTU9ERSBpcyBkaXNhYmxlZCAobGVnYWN5KS4KKyAgICAgICAgV2hlbiBDRlBSRUZT
X0RJUkVDVF9NT0RFIGlzIGVuYWJsZWQgaW4gV0syLCB3ZSBkb24ndCB3YW50L25lZWQgdG8gbGlz
dGVuIGZvciB0aGlzCisgICAgICAgIG5vdGlmaWNhdGlvbiBiZWNhdXNlIHRoZSBBcHBsZUxhbmd1
YWdlcyBwcmVmZXJlbmNlIGdldHMgcHVzaGVkIGJ5IHRoZSBVSVByb2Nlc3MKKyAgICAgICAgZG93
biB0byB0aGUgV2ViUHJvY2Vzc2VzLiBFdmVuIHRob3VnaCB3ZSBjb3VsZCBsaXN0ZW4gZm9yIHRo
aXMgbm90aWZpY2F0aW9uLAorICAgICAgICB0aGUgV2ViUHJvY2VzcyB3b3VsZCBub3QgaGF2ZSB0
aGUgbGF0ZXN0IEFwcGxlTGFuZ3VhZ2VzIHByZWZlcmVuY2Ugd2hlbiByZWNlaXZpbmcKKyAgICAg
ICAgdGhlIG5vdGlmaWNhdGlvbi4gVGhpcyB3b3VsZCBjYXVzZSB1cyB0byBmaXJlIHRoZSBsYW5n
dWFnZWNoYW5nZSBldmVudCBhdCB0aGUKKyAgICAgICAgV2luZG93IHRvbyBlYXJseSBhbmQgbmF2
aWdhdG9yLmxhbmd1YWdlIHdvdWxkIGtlZXAgcmV0dXJuaW5nIHRoZSBvbGQgbGFuZ3VhZ2UuCisg
ICAgICAgIEZvciBXSzIgd2l0aCBDRlBSRUZTX0RJUkVDVF9NT0RFIGVuYWJsZWQsIHdlIG5vdyBl
eHBsaWNpdGx5IGNhbGwKKyAgICAgICAgV1RGOjpsYW5ndWFnZURpZENoYW5nZSgpIHdoZW4gdGhl
ICJBcHBsZUxhbmd1YWdlcyIgcHJlZmVyZW5jZSBnZXRzIHN5bmMnZCBmcm9tCisgICAgICAgIHRo
ZSBVSVByb2Nlc3MgaW5zdGVhZC4KKworICAgICAgICAqIHd0Zi9MYW5ndWFnZS5jcHA6CisgICAg
ICAgIChXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdURjo6cGxhdGZvcm1MYW5n
dWFnZURpZENoYW5nZSk6CisgICAgICAgICogd3RmL0xhbmd1YWdlLmg6CisgICAgICAgICogd3Rm
L2NmL0xhbmd1YWdlQ0YuY3BwOgorICAgICAgICAoV1RGOjpsYW5ndWFnZVByZWZlcmVuY2VzRGlk
Q2hhbmdlKToKKyAgICAgICAgKFdURjo6cGxhdGZvcm1MYW5ndWFnZURpZENoYW5nZSk6CisgICAg
ICAgIChXVEY6Omxpc3RlbkZvckxhbmd1YWdlQ2hhbmdlTm90aWZpY2F0aW9ucyk6CisgICAgICAg
IChXVEY6OnBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcyk6CisKIDIwMjEtMDMtMDIgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSBNRURJQV9T
T1VSQ0UgaW4gSU9TIFNpbXVsYXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxYzQ1MjgyYTkzYmUzYzcxZTc5MWJh
OTY4MmQ2YmEwZDU2MGMxYjgzLi5hOTlhMGQyOTRkNjViNWRkOWJiNDljZmY2MTZiYjcxMzUzMGY2
YjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTAzLTAyICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXVtXSzJdIENoYW5naW5nIHRoZSBz
eXN0ZW0gbGFuZ3VhZ2UgZG9lcyBub3QgdXBkYXRlIG5hdmlnYXRvci5sYW5ndWFnZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjE5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvRW50cnlQ
b2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tOgorICAgICAg
ICAoV2ViS2l0OjpzZXRBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UpOgorICAgICAgICAtIFdoZW4g
RU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpLCB3ZSBkb24ndCBuZWVkIHRvIHNldCB0aGUgQXBw
bGVMYW5ndWFnZXMKKyAgICAgICAgaW4gYSB2b2xhdGlsZSBkb21haW4uIFRoaXMgZG9lcyBub3Qg
Y2hhbmdlIGJlaGF2aW9yIGJ1dCBJIG1hZGUgdGhpcyBjaGFuZ2UKKyAgICAgICAgc28gdGhhdCBJ
IGRvbid0IG5lZWQgdG8gc2V0IEFwcGxlTGFuZ3VhZ2VzIGluIHRoZSB2b2xhdGlsZSBkb21haW4g
aW4KKyAgICAgICAgV2ViUHJvY2Vzc0NvY29hIHdoZW4gdGhlIHByZWZlcmVuY2UgY2hhbmdlcy4K
KyAgICAgICAgLSBBbHNvIGZpeCBhIG1lbW9yeSBsZWFrIGZvciBuZXdBcmd1bWVudHMuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAg
IElmIENGUFJFRlNfRElSRUNUX01PREUgaXMgbm90IGVuYWJsZWQsIHdlIG5lZWQgdG8gbGlzdGVu
IGZvciBBcHBsZUxhbmd1YWdlUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uCisgICAgICAg
IGluc2lkZSB0aGUgV2ViUHJvY2Vzcy4gVGhpcyB1c2VkIHRvIGhhcHBlbiBpbXBsaWNpdGx5IGlu
c2lkZSBXVEY6OnBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpIGJ1dAorICAgICAgICBp
dCBpcyBub3cgZXhwbGljaXQgc2luY2Ugd2UgZG9uJ3Qgd2FudC9uZWVkIGl0IHdoZW4gdXNpbmcg
Q0ZQUkVGU19ESVJFQ1RfTU9ERS4KKworICAgICAgICAoV2ViS2l0OjpzZXRQcmVmZXJlbmNlVmFs
dWUpOgorICAgICAgICAtIENhbGwgQ0ZQcmVmZXJlbmNlc1NldEFwcFZhbHVlKCkgaW5zdGVhZCBv
ZiBDRlByZWZlcmVuY2VzU2V0VmFsdWUoKS4gV2l0aG91dCB0aGlzIGNoYW5nZQorICAgICAgICB0
cnlpbmcgdG8gc2V0IEFwcGxlTGFuZ3VhZ2VzIGhlcmUgd291bGQgaGF2ZSBubyBlZmZlY3QgYW5k
IENGTG9jYWxlQ29weVByZWZlcnJlZExhbmd1YWdlcygpCisgICAgICAgIHdvdWxkIGtlZXAgcmV0
dXJuaW5nIG91dGRhdGVkIGxhbmd1YWdlcy4KKyAgICAgICAgLSBDYWxsIFdURjo6bGFuZ3VhZ2VE
aWRDaGFuZ2UoKSB3aGVuIHRoZSBBcHBsZUxhbmd1YWdlcyBwcmVmZXJlbmNlIGdldHMgdXBkYXRl
ZCBzbyB0aGF0CisgICAgICAgICAgbGFuZ3VhZ2UgY2hhbmdlIGxpc3RlbmVycyBnZXQgbm90aWZp
ZWQgb2YgdGhlIGxhbmd1YWdlIGNoYW5nZSAoZS5nLiB3ZSBmaXJlIGEgbGFuZ3VhZ2VjaGFuZ2UK
KyAgICAgICAgICBldmVudCBhdCB0aGUgV2luZG93KS4KKwogMjAyMS0wMy0wMiAgUm9iIEJ1aXMg
IDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIE51bGwgY2hlY2sgcGxhdGZvcm1EYXRhIHdo
ZW4gZGVjb2RpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA3OWU3MjEyZDQyNzIy
YjU4MjYwNTI3ZjlhOTU3NTJhNDU2YmQ4MTRmLi41MDZhOGI1ZDc5N2ZlMTNmNTg0Mzc4YmNhODNj
ZDY3NTQ1NzAyODQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBsYW5ndWFnZSBkb2VzIG5vdCB1cGRh
dGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXZSBuZWVkIHRvIGxpc3RlbiBmb3IgQXBwbGVMYW5ndWFnZVByZWZlcmVu
Y2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiBvbiBtYWMgV0sxLgorICAgICAgICBUaGlzIHVzZWQgdG8g
aGFwcGVuIGltcGxpY2l0bHkgaW5zaWRlIFdURjo6cGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3Vh
Z2VzKCkgYnV0CisgICAgICAgIGl0IGlzIG5vdyBleHBsaWNpdCBzaW5jZSB3ZSBkb24ndCB3YW50
L25lZWQgaXQgd2hlbiB1c2luZyBDRlBSRUZTX0RJUkVDVF9NT0RFIGluIFdLMi4KKworICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlh
bGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKwogMjAyMS0wMy0wMSAgUGVuZyBM
aXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSB0aGUgZGVsZWdhdGUg
cHJvcGVydHkgb2YgV2ViQVZQbGF5ZXJWaWV3IHRvIHdlYkRlbGVnYXRlIHRvIGZpeCBhIGJ1aWxk
IGZhaWx1cmUgd2l0aCBuZXcgU0RLcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTGFuZ3Vh
Z2UuY3BwIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuY3BwCmluZGV4IGU5MDcxMmY4OTUyODgw
MTdiMTk2YWQ2YTMyMjA1NWM5ZjY1NjVlMGQuLjE3MmQwOThiODRkNTYwODE0YTQ5ZmI3ZGFiOGFm
M2Q4ZmU5YTU4NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmNwcAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5jcHAKQEAgLTYyLDYgKzYyLDcgQEAgdm9pZCByZW1v
dmVMYW5ndWFnZUNoYW5nZU9ic2VydmVyKHZvaWQqIGNvbnRleHQpCiAKIHZvaWQgbGFuZ3VhZ2VE
aWRDaGFuZ2UoKQogeworICAgIHBsYXRmb3JtTGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKICAgICBmb3Ig
KGF1dG8mIG9ic2VydmVyIDogY29weVRvVmVjdG9yKG9ic2VydmVyTWFwKCkpKSB7CiAgICAgICAg
IGlmIChvYnNlcnZlck1hcCgpLmNvbnRhaW5zKG9ic2VydmVyLmtleSkpCiAgICAgICAgICAgICBv
YnNlcnZlci52YWx1ZShvYnNlcnZlci5rZXkpOwpAQCAtMTgzLDQgKzE4NCwxMCBAQCBTdHJpbmcg
ZGlzcGxheU5hbWVGb3JMYW5ndWFnZUxvY2FsZShjb25zdCBTdHJpbmcmIGxvY2FsZU5hbWUpCiAg
ICAgcmV0dXJuIGxvY2FsZU5hbWU7CiB9CiAKKyNpZiAhUExBVEZPUk0oQ09DT0EpCit2b2lkIHBs
YXRmb3JtTGFuZ3VhZ2VEaWRDaGFuZ2UoKQoreworfQorI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmggYi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5oCmlu
ZGV4IGI4YjkwOTU2Y2U4MzRmODY3YzMxODU4ODcxMTIzZTZhYTI0YTYzOGEuLmYwNzRkNzU2OGQw
MDJlOTMyYTUzMjZiZGI1MmQ3ZmI4YzA2NTgxODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L0xhbmd1YWdlLmgKKysrIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuaApAQCAtNDEsNiArNDEs
OCBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgVmVjdG9yPFN0cmluZz4gdXNlclByZWZlcnJlZExhbmd1
YWdlc092ZXJyaWRlKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBvdmVycmlkZVVzZXJQcmVm
ZXJyZWRMYW5ndWFnZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKIFdURl9FWFBPUlRfUFJJVkFU
RSBzaXplX3QgaW5kZXhPZkJlc3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KGNvbnN0IFN0cmluZyYg
bGFuZ3VhZ2UsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYW5ndWFnZUxpc3QsIGJvb2wmIGV4YWN0
TWF0Y2gpOwogV1RGX0VYUE9SVF9QUklWQVRFIFZlY3RvcjxTdHJpbmc+IHBsYXRmb3JtVXNlclBy
ZWZlcnJlZExhbmd1YWdlcygpOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgcGxhdGZvcm1MYW5n
dWFnZURpZENoYW5nZSgpOworCiAvLyBDYWxsZWQgZnJvbSBwbGF0Zm9ybSBzcGVjaWZpYyBjb2Rl
IHdoZW4gdGhlIHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2UocykgY2hhbmdlLgogV1RGX0VYUE9S
VF9QUklWQVRFIHZvaWQgbGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKIApAQCAtNTIsNiArNTQsNyBAQCBX
VEZfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIGRpc3BsYXlOYW1lRm9yTGFuZ3VhZ2VMb2NhbGUoY29u
c3QgU3RyaW5nJik7CiAKICNpZiBQTEFURk9STShDT0NPQSkKIGJvb2wgY2FuTWluaW1pemVMYW5n
dWFnZXMoKTsKK1dURl9FWFBPUlRfUFJJVkFURSB2b2lkIGxpc3RlbkZvckxhbmd1YWdlQ2hhbmdl
Tm90aWZpY2F0aW9ucygpOwogUmV0YWluUHRyPENGQXJyYXlSZWY+IG1pbmltaXplZExhbmd1YWdl
c0Zyb21MYW5ndWFnZXMoQ0ZBcnJheVJlZik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvY2YvTGFuZ3VhZ2VDRi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9jZi9MYW5ndWFnZUNG
LmNwcAppbmRleCA0MjVhZWJlOGYzZWRhZDI1NGFhZjI0NTg4MGU1ODE0Y2NkOWJjYzZmLi41MTM5
YzU2NTNlZjMxM2YwYWIwMTFkNGY5MjllNDY3MGU0ZmYxY2QzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9jZi9MYW5ndWFnZUNGLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jZi9MYW5ndWFn
ZUNGLmNwcApAQCAtNDAsNiArNDAsMTMgQEAgbmFtZXNwYWNlIFdURiB7CiAKIHN0YXRpYyBMb2Nr
IHByZWZlcnJlZExhbmd1YWdlc011dGV4OwogCisjaWYgUExBVEZPUk0oTUFDKQorc3RhdGljIHZv
aWQgbGFuZ3VhZ2VQcmVmZXJlbmNlc0RpZENoYW5nZShDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwg
dm9pZCosIENGU3RyaW5nUmVmLCBjb25zdCB2b2lkKiwgQ0ZEaWN0aW9uYXJ5UmVmKQoreworICAg
IGxhbmd1YWdlRGlkQ2hhbmdlKCk7Cit9CisjZW5kaWYKKwogc3RhdGljIFZlY3RvcjxTdHJpbmc+
JiBwcmVmZXJyZWRMYW5ndWFnZXMoKQogewogICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8
VmVjdG9yPFN0cmluZz4+IGxhbmd1YWdlczsKQEAgLTgzLDI3ICs5MCwyNiBAQCBzdGF0aWMgU3Ry
aW5nIGh0dHBTdHlsZUxhbmd1YWdlQ29kZShDRlN0cmluZ1JlZiBsYW5ndWFnZSkKIAogfQogCi0j
aWYgUExBVEZPUk0oTUFDKQotc3RhdGljIHZvaWQgbGFuZ3VhZ2VQcmVmZXJlbmNlc0RpZENoYW5n
ZShDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCosIENGU3RyaW5nUmVmLCBjb25zdCB2b2lk
KiwgQ0ZEaWN0aW9uYXJ5UmVmKQordm9pZCBwbGF0Zm9ybUxhbmd1YWdlRGlkQ2hhbmdlKCkKIHsK
ICAgICB7CiAgICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2socHJlZmVycmVkTGFuZ3VhZ2Vz
TXV0ZXgpOwogICAgICAgICBwcmVmZXJyZWRMYW5ndWFnZXMoKS5jbGVhcigpOwogICAgIH0KLSAg
ICAKLSAgICBsYW5ndWFnZURpZENoYW5nZSgpOwogfQotI2VuZGlmCiAKLVZlY3RvcjxTdHJpbmc+
IHBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpCit2b2lkIGxpc3RlbkZvckxhbmd1YWdl
Q2hhbmdlTm90aWZpY2F0aW9ucygpCiB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHN0YXRpYyBk
aXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOwotICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwg
XiB7CisgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewogICAgICAgICBDRk5vdGlmaWNh
dGlvbkNlbnRlckFkZE9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGlzdHJpYnV0ZWRD
ZW50ZXIoKSwgbnVsbHB0ciwgJmxhbmd1YWdlUHJlZmVyZW5jZXNEaWRDaGFuZ2UsIENGU1RSKCJB
cHBsZUxhbmd1YWdlUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIiksIG51bGxwdHIsIENG
Tm90aWZpY2F0aW9uU3VzcGVuc2lvbkJlaGF2aW9yQ29hbGVzY2UpOwogICAgIH0pOwogI2VuZGlm
Cit9CiAKK1ZlY3RvcjxTdHJpbmc+IHBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpCit7
CiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhwcmVmZXJyZWRMYW5ndWFnZXNNdXRleCk7CiAg
ICAgVmVjdG9yPFN0cmluZz4mIHVzZXJQcmVmZXJyZWRMYW5ndWFnZXMgPSBwcmVmZXJyZWRMYW5n
dWFnZXMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0
aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VN
YWluLm1tCmluZGV4IDE0MDIyNjBlMjE5ODUxMzI4YjQ3OWFhNzg3Zjg0OTM5MGRkYzQxZmUuLmUw
OGU3MGM2NTI3M2IzYzNlODAyYmEyMTM4ZjUwYjQ2YmI1ZjdlY2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENT
ZXJ2aWNlTWFpbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0
aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0KQEAgLTQ3LDE1ICs0NywxOSBA
QCBzdGF0aWMgdm9pZCBzZXRBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UoKQogCiAgICAgaWYgKHhw
Y19vYmplY3RfdCBsYW5ndWFnZXMgPSB4cGNfZGljdGlvbmFyeV9nZXRfdmFsdWUoYm9vdHN0cmFw
LmdldCgpLCAiT3ZlcnJpZGVMYW5ndWFnZXMiKSkgewogICAgICAgICBAYXV0b3JlbGVhc2Vwb29s
IHsKLSAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqZXhpc3RpbmdBcmd1bWVudHMgPSBbW05TVXNl
ckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNB
cmd1bWVudERvbWFpbl07Ci0gICAgICAgICAgICBOU011dGFibGVEaWN0aW9uYXJ5ICpuZXdBcmd1
bWVudHMgPSBbZXhpc3RpbmdBcmd1bWVudHMgbXV0YWJsZUNvcHldOwogICAgICAgICAgICAgUmV0
YWluUHRyPE5TTXV0YWJsZUFycmF5PiBuZXdMYW5ndWFnZXMgPSBhZG9wdE5TKFtbTlNNdXRhYmxl
QXJyYXkgYWxsb2NdIGluaXRdKTsKICAgICAgICAgICAgIHhwY19hcnJheV9hcHBseShsYW5ndWFn
ZXMsIF4oc2l6ZV90IGluZGV4LCB4cGNfb2JqZWN0X3QgdmFsdWUpIHsKICAgICAgICAgICAgICAg
ICBbbmV3TGFuZ3VhZ2VzIGFkZE9iamVjdDpbTlNTdHJpbmcgc3RyaW5nV2l0aENTdHJpbmc6eHBj
X3N0cmluZ19nZXRfc3RyaW5nX3B0cih2YWx1ZSkgZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2Rp
bmddXTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0pOworI2lm
IEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQorICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0
cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0T2JqZWN0Om5ld0xhbmd1YWdlcy5nZXQoKSBmb3JL
ZXk6QCJBcHBsZUxhbmd1YWdlcyJdOworI2Vsc2UKKyAgICAgICAgICAgIE5TRGljdGlvbmFyeSAq
ZXhpc3RpbmdBcmd1bWVudHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRz
XSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgICAgICAgICBh
dXRvIG5ld0FyZ3VtZW50cyA9IGFkb3B0TlMoW2V4aXN0aW5nQXJndW1lbnRzIG11dGFibGVDb3B5
XSk7CiAgICAgICAgICAgICBbbmV3QXJndW1lbnRzIHNldFZhbHVlOm5ld0xhbmd1YWdlcy5nZXQo
KSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwotICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0
cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46bmV3QXJndW1lbnRzIGZv
ck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0
YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjpuZXdBcmd1bWVudHMuZ2V0KCkg
Zm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyNlbmRpZgogICAgICAgICB9CiAgICAgfQogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0K
aW5kZXggNDIyYmFiYmZkYWE5NWQxZmYxYmM5ZjhhYWQ5OWJjZTVmNzEyMjdkOS4uNTcxYWZiYjFk
OGZhYTM0ZGY4NGM4NjY2MWJmMmFiNDZkNjQyMmNiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC04MSw3ICs4MSw2IEBACiAj
aW1wb3J0IDxhbGdvcml0aG0+CiAjaW1wb3J0IDxkaXNwYXRjaC9kaXNwYXRjaC5oPgogI2ltcG9y
dCA8b2JqYy9ydW50aW1lLmg+Ci0jaW1wb3J0IDxwYWwvY29jb2EvTWVkaWFUb29sYm94U29mdExp
bmsuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDxwYWwv
c3BpL2NmL0NGVXRpbGl0aWVzU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGlj
c1NQSS5oPgpAQCAtOTQsNiArOTMsNyBAQAogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNBcHBsaWNh
dGlvblNQSS5oPgogI2ltcG9ydCA8c3RkaW8uaD4KICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+
CisjaW1wb3J0IDx3dGYvTGFuZ3VhZ2UuaD4KICNpbXBvcnQgPHd0Zi9Qcm9jZXNzUHJpdmlsZWdl
Lmg+CiAjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9FbnRp
dGxlbWVudHMuaD4KQEAgLTE0NCw2ICsxNDQsNyBAQAogI2VuZGlmCiAKICNpbXBvcnQgPHBhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oPgorI2ltcG9ydCA8cGFsL2NvY29hL01lZGlhVG9v
bGJveFNvZnRMaW5rLmg+CiAKICNpZiBIQVZFKENBVEFMWVNUX1VTRVJfSU5URVJGQUNFX0lESU9N
X0FORF9TQ0FMRV9GQUNUT1IpCiAvLyBGSVhNRTogVGhpcyBpcyBvbmx5IGZvciBiaW5hcnkgY29t
cGF0aWJpbGl0eSB3aXRoIHZlcnNpb25zIG9mIFVJS2l0IGluIG1hY09TIDExIHRoYXQgYXJlIG1p
c3NpbmcgdGhlIGNoYW5nZSBpbiA8cmRhcjovL3Byb2JsZW0vNjg1MjQxNDg+LgpAQCAtMzU3LDYg
KzM1OCwxMCBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3Mo
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYQogICAgIF9fQ0ZSdW5Mb29wU2V0T3B0
aW9uc1JlYXNvbihfX0NGUnVuTG9vcE9wdGlvbnNFbmFibGVBcHBOYXAsIENGU1RSKCJGaW5pc2hl
ZCBjaGVja2luIGFzIGFwcGxpY2F0aW9uIC0gZW5hYmxlIGFwcCBuYXAiKSk7CiAjZW5kaWYKIAor
I2lmICFFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKKyAgICBXVEY6Omxpc3RlbkZvckxhbmd1
YWdlQ2hhbmdlTm90aWZpY2F0aW9ucygpOworI2VuZGlmCisKICNpZiBUQVJHRVRfT1NfSVBIT05F
CiAgICAgLy8gUHJpb3JpdHkgZGVjYXkgb24gaU9TIDkgaXMgaW1wYWN0aW5nIHBhZ2UgbG9hZCB0
aW1lIHNvIHdlIGZpeCB0aGUgcHJpb3JpdHkgb2YgdGhlIFdlYlByb2Nlc3MnIG1haW4gdGhyZWFk
IChyZGFyOi8vcHJvYmxlbS8yMjAwMzExMikuCiAgICAgcHRocmVhZF9zZXRfZml4ZWRwcmlvcml0
eV9zZWxmKCk7CkBAIC0xMDkzLDEzICsxMDk4LDE2IEBAIHN0YXRpYyB2b2lkIGRpc3BhdGNoU2lt
dWxhdGVkTm90aWZpY2F0aW9uc0ZvclByZWZlcmVuY2VDaGFuZ2UoY29uc3QgU3RyaW5nJiBrZXkp
CiBzdGF0aWMgdm9pZCBzZXRQcmVmZXJlbmNlVmFsdWUoY29uc3QgU3RyaW5nJiBkb21haW4sIGNv
bnN0IFN0cmluZyYga2V5LCBpZCB2YWx1ZSkKIHsKICAgICBpZiAoZG9tYWluLmlzRW1wdHkoKSkg
ewotICAgICAgICBDRlByZWZlcmVuY2VzU2V0VmFsdWUoa2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0
KCksIChfX2JyaWRnZSBDRlByb3BlcnR5TGlzdFJlZil2YWx1ZSwga0NGUHJlZmVyZW5jZXNBbnlB
cHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5jZXNBbnlI
b3N0KTsKKyAgICAgICAgQ0ZQcmVmZXJlbmNlc1NldEFwcFZhbHVlKGtleS5jcmVhdGVDRlN0cmlu
ZygpLmdldCgpLCAoX19icmlkZ2UgQ0ZQcm9wZXJ0eUxpc3RSZWYpdmFsdWUsIGtDRlByZWZlcmVu
Y2VzQ3VycmVudEFwcGxpY2F0aW9uKTsKICNpZiBBU1NFUlRfRU5BQkxFRAogICAgICAgICBpZCB2
YWx1ZUFmdGVyU2V0dGluZyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNd
IG9iamVjdEZvcktleTprZXldOwogICAgICAgICBBU1NFUlQodmFsdWVBZnRlclNldHRpbmcgPT0g
dmFsdWUgfHwgW3ZhbHVlQWZ0ZXJTZXR0aW5nIGlzRXF1YWw6dmFsdWVdKTsKICNlbmRpZgogICAg
IH0gZWxzZQotICAgICAgICBDRlByZWZlcmVuY2VzU2V0VmFsdWUoa2V5LmNyZWF0ZUNGU3RyaW5n
KCkuZ2V0KCksIChfX2JyaWRnZSBDRlByb3BlcnR5TGlzdFJlZil2YWx1ZSwgZG9tYWluLmNyZWF0
ZUNGU3RyaW5nKCkuZ2V0KCksIGtDRlByZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVu
Y2VzQW55SG9zdCk7CisgICAgICAgIENGUHJlZmVyZW5jZXNTZXRBcHBWYWx1ZShrZXkuY3JlYXRl
Q0ZTdHJpbmcoKS5nZXQoKSwgKF9fYnJpZGdlIENGUHJvcGVydHlMaXN0UmVmKXZhbHVlLCBkb21h
aW4uY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CisKKyAgICBpZiAoa2V5ID09ICJBcHBsZUxhbmd1
YWdlcyIpCisgICAgICAgIFdURjo6bGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKIH0KIAogdm9pZCBXZWJQ
cm9jZXNzOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3QgU3RyaW5nJiBkb21haW4sIGNv
bnN0IFN0cmluZyYga2V5LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggZDM5NjhiZTNm
ZjRiNjZmM2UyNjk4ZWJkZTc0MzIzZTU4NWQzZWI4ZC4uNjg1NjEwYzI1ZWMyYWU1ZmQ1ZjUxM2Ji
OTMxNjJjNGUyZTYxZmI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQpAQCAtMjQ4LDYgKzI0OCw3IEBACiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KICNp
bXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvSGFzaFRyYWl0cy5oPgorI2lt
cG9ydCA8d3RmL0xhbmd1YWdlLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9y
dCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi9SQU1TaXplLmg+CkBAIC0x
NjgwLDcgKzE2ODEsOSBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAogI2VuZGlmCiAKICAgICBb
V2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBpbnN0YWxsRm9yV2ViVmlld0lmTmVl
ZGVkOnNlbGYga2luZDpAIldlYlZpZXciIGRlcHJlY2F0ZWQ6WUVTXTsKLSNlbmRpZgorCisgICAg
V1RGOjpsaXN0ZW5Gb3JMYW5ndWFnZUNoYW5nZU5vdGlmaWNhdGlvbnMoKTsKKyNlbmRpZiAvLyBQ
TEFURk9STShNQUMpCiB9CiAKIC0gKGlkKV9pbml0V2l0aEZyYW1lOihOU1JlY3QpZiBmcmFtZU5h
bWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdHJpbmcgKilncm91cE5hbWUK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkZTg0
OWVkYmFkOTk1OGI3ZWVjOGM3NTgyNjg4N2NjODFlZWM2ZmJhLi40YzU5M2U1YmExZTI4ZDA1ZTM3
YTU1NWQwMGJjNTFiN2Y3MmYwYTA3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDMtMDIgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhl
IHN5c3RlbSBsYW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3Qg
Y292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9PdmVycmlk
ZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbToKKyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTAz
LTAyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUg
TUVESUFfU09VUkNFIGluIElPUyBTaW11bGF0b3IKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1By
ZWZlcmVuY2UubW0KaW5kZXggYTEyY2FhOTBmY2I3N2Q1NzBlODE5YjYxOTQ5MjBhZTI0ZmI1NTUx
MS4uZWRhNDk2YWU5YTY3MDIzYjZkNDExODE2M2VjNTNlNGUxODY2YWQwYSAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1By
ZWZlcmVuY2UubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJp
ZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0KQEAgLTI5LDYgKzI5LDggQEAKIAogI2ltcG9y
dCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBv
cnQgPHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgorI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nQnVp
bGRlci5oPgogCiBURVNUKFdlYktpdCwgT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2Up
CiB7CkBAIC01MSwzICs1Myw3NCBAQCBURVNUKFdlYktpdCwgT3ZlcnJpZGVBcHBsZUxhbmd1YWdl
c1ByZWZlcmVuY2UpCiB9CiAKICNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCisKKy8vIE9uIG9sZGVy
IG1hY09TZXMsIENGUFJFRlNfRElSRUNUX01PREUgaXMgZGlzYWJsZWQgYW5kIHRoZSBXZWJQcm9j
ZXNzIGRvZXMgbm90IHNlZSB0aGUgdXBkYXRlZCBBcHBsZUxhbmd1YWdlcworLy8gYWZ0ZXIgdGhl
IEFwcGxlTGFuZ3VhZ2VQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24gbm90aWZpY2F0aW9u
LgorI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMTAwMDAKK2NsYXNzIEFwcGxlTGFuZ3VhZ2VzVGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0
IHsKK3B1YmxpYzoKKyAgICBBcHBsZUxhbmd1YWdlc1Rlc3QoKQorICAgIHsKKyAgICAgICAgLy8g
U2F2ZSBjdXJyZW50IHN5c3RlbSBsYW5ndWFnZSB0byByZXN0b3JlIGl0IGxhdGVyLgorICAgICAg
ICBhdXRvIHRhc2sgPSBhZG9wdE5TKFtbTlNUYXNrIGFsbG9jXSBpbml0XSk7CisgICAgICAgIFt0
YXNrIHNldExhdW5jaFBhdGg6QCIvdXNyL2Jpbi9kZWZhdWx0cyJdOworICAgICAgICBbdGFzayBz
ZXRBcmd1bWVudHM6QFtAInJlYWQiLCBAIk5TR2xvYmFsRG9tYWluIiwgQCJBcHBsZUxhbmd1YWdl
cyJdXTsKKyAgICAgICAgYXV0byBwaXBlID0gYWRvcHROUyhbW05TUGlwZSBhbGxvY10gaW5pdF0p
OworICAgICAgICBbdGFzayBzZXRTdGFuZGFyZE91dHB1dDpwaXBlLmdldCgpXTsKKyAgICAgICAg
YXV0byBmaWxlSGFuZGxlID0gW3BpcGUgZmlsZUhhbmRsZUZvclJlYWRpbmddOworICAgICAgICBb
dGFzayBsYXVuY2hdOworICAgICAgICBOU0RhdGEgKmRhdGEgPSBbZmlsZUhhbmRsZSByZWFkRGF0
YVRvRW5kT2ZGaWxlXTsKKyAgICAgICAgbV9zYXZlZEFwcGxlTGFuZ3VhZ2VzID0gW1tOU1N0cmlu
ZyBhbGxvY10gaW5pdFdpdGhEYXRhOmRhdGEgZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2Rpbmdd
OworICAgICAgICBtX3NhdmVkQXBwbGVMYW5ndWFnZXMucmVwbGFjZSgiXG4iLCAiIik7CisgICAg
ICAgIG1fc2F2ZWRBcHBsZUxhbmd1YWdlcy5yZXBsYWNlKCIgIiwgIiIpOworICAgIH0KKworICAg
IH5BcHBsZUxhbmd1YWdlc1Rlc3QoKQorICAgIHsKKyAgICAgICAgLy8gUmVzdG9yZSBwcmV2aW91
cyBzeXN0ZW0gbGFuZ3VhZ2UuCisgICAgICAgIHN5c3RlbShbTlNTdHJpbmcgc3RyaW5nV2l0aEZv
cm1hdDpAImRlZmF1bHRzIHdyaXRlIE5TR2xvYmFsRG9tYWluIEFwcGxlTGFuZ3VhZ2VzICclQCci
LCAoTlNTdHJpbmcgKiltX3NhdmVkQXBwbGVMYW5ndWFnZXNdLlVURjhTdHJpbmcpOworICAgIH0K
KworcHJpdmF0ZToKKyAgICBTdHJpbmcgbV9zYXZlZEFwcGxlTGFuZ3VhZ2VzOworfTsKKworVEVT
VF9GKEFwcGxlTGFuZ3VhZ2VzVGVzdCwgVXBkYXRlQXBwbGVMYW5ndWFnZXMpCit7CisgICAgLy8g
VGVzdHMgdXNlcyAiZW4tVVMiIGxhbmd1YWdlIGluaXRpYWxseS4KKyAgICBzeXN0ZW0oW05TU3Ry
aW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJkZWZhdWx0cyB3cml0ZSBOU0dsb2JhbERvbWFpbiBBcHBs
ZUxhbmd1YWdlcyAnKFwiZW4tVVNcIiknIl0uVVRGOFN0cmluZyk7CisKKyAgICBhdXRvIGNvbmZp
Z3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0p
OworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmln
dXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91
c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJzaW1wbGUiXTsKKworICAgIC8vIFdlIG9ubHkgbGlzdGVu
IGZvciBwcmVmZXJlbmNlIGNoYW5nZXMgd2hlbiB0aGUgYXBwbGljYXRpb24gaXMgYWN0aXZlLgor
ICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlmaWNhdGlv
bk5hbWU6TlNBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNB
cHAgdXNlckluZm86bmlsXTsKKworICAgIGF1dG8gcHJlZmVycmVkTGFuZ3VhZ2UgPSBbJl0gewor
ICAgICAgICByZXR1cm4gW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIm5h
dmlnYXRvci5sYW5ndWFnZSJdOworICAgIH07CisgICAgRVhQRUNUX1dLX1NUUkVRKEAiZW4tdXMi
LCBwcmVmZXJyZWRMYW5ndWFnZSgpKTsKKworICAgIF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7
CisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAib25sYW5ndWFnZWNoYW5nZSA9ICgp
ID0+IHsgd2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZShuYXZp
Z2F0b3IubGFuZ3VhZ2UpOyB9OyB0cnVlOyIgY29tcGxldGlvbkhhbmRsZXI6XihpZCB2YWx1ZSwg
TlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgRVhQRUNUX1RSVUUoIWVycm9yKTsKKyAgICAgICAg
ZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25l
KTsKKworICAgIF9fYmxvY2sgYm9vbCBkaWRDaGFuZ2VMYW5ndWFnZSA9IGZhbHNlOworICAgIFt3
ZWJWaWV3IHBlcmZvcm1BZnRlclJlY2VpdmluZ01lc3NhZ2U6QCJlbi1nYiIgYWN0aW9uOl57IGRp
ZENoYW5nZUxhbmd1YWdlID0gdHJ1ZTsgfV07CisgICAgW3dlYlZpZXcgcGVyZm9ybUFmdGVyUmVj
ZWl2aW5nTWVzc2FnZTpAImVuLXVzIiBhY3Rpb246XnsKKyAgICAgICAgRVhQRUNUX1RSVUUoZmFs
c2UpOyAvLyBuYXZpZ2F0b3IubGFuZ3VhZ2Ugd2FzIHdyb25nIHdoZW4gdGhlIGxhbmd1YWdlY2hh
bmdlIGV2ZW50IGZpcmVkLgorICAgICAgICBkaWRDaGFuZ2VMYW5ndWFnZSA9IHRydWU7CisgICAg
fV07CisKKyAgICAvLyBTd2l0Y2ggc3lzdGVtIGxhbmd1YWdlIGZyb20gImVuLVVTIiB0byAiZW4t
R0IiLiBNYWtlIHN1cmUgdGhhdCB3ZSBmaXJlIGEgbGFuZ3VhZ2VjaGFuZ2UgZXZlbnQgYXQgdGhl
IFdpbmRvdyBhbmQgdGhhdCBuYXZpZ2F0b3IubGFuZ3VhZ2UKKyAgICAvLyBub3cgcmVwb3J0cyAi
ZW4tZ2IiLgorICAgIHN5c3RlbShbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAImRlZmF1bHRz
IHdyaXRlIE5TR2xvYmFsRG9tYWluIEFwcGxlTGFuZ3VhZ2VzICcoXCJlbi1HQlwiKSciXS5VVEY4
U3RyaW5nKTsKKyAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclBvc3ROb3RpZmljYXRpb24oQ0ZOb3Rp
ZmljYXRpb25DZW50ZXJHZXREaXN0cmlidXRlZENlbnRlcigpLCBDRlNUUigiQXBwbGVMYW5ndWFn
ZVByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiIpLCBudWxscHRyLCBudWxscHRyLCB0cnVl
KTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkQ2hhbmdlTGFuZ3VhZ2UpOwor
fQorI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422239</attachid>
            <date>2021-03-04 09:28:30 -0800</date>
            <delta_ts>2021-03-04 10:01:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222619-20210304092829.patch</filename>
            <type>text/plain</type>
            <size>18676</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczODY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZjZGIzZWMyZGI2Yjc1ODFkNmI3OWFh
M2Y4N2I3OTFiMTcxYzMyZDAuLjNjYjc4ZjUyN2YyMWM4OGY1YjQ5ZTNhYzUzODYyMDMyZjQzODhm
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMjEtMDMtMDMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBs
YW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBQZXIgQXJuZSBWb2xsYW4uCisKKyAgICAgICAgVXBkYXRlIFdURjo6bGFuZ3VhZ2VE
aWRDaGFuZ2UoKSB0byBjbGVhciBwcmVmZXJyZWRMYW5ndWFnZXMoKSBvbiBDb2NvYSBwbGF0Zm9y
bXMKKyAgICAgICAgc28gdGhhdCB3ZSBnZXQgdXBkYXRlZCB2YWx1ZXMgZnJvbSB0aGUgc3lzdGVt
IHRoZSBuZXh0IHRpbWUKKyAgICAgICAgcGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCkg
aXMgY2FsbGVkLgorCisgICAgICAgIHBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpIHVz
ZWQgdG8gaW1wbGljaXRseSByZWdpc3RlciBhIEFwcGxlTGFuZ3VhZ2VQcmVmZXJlbmNlc0NoYW5n
ZWROb3RpZmljYXRpb24KKyAgICAgICAgbGlzdGVuZXIuIFdlJ3ZlIG5vdyBtYWRlIHRoaXMgcmVn
aXN0ZXJpbmcgb3B0LWluIGJ5IG1vdmluZyBpdCB0byBhIHNlcGFyYXRlCisgICAgICAgIGxpc3Rl
bkZvckxhbmd1YWdlQ2hhbmdlTm90aWZpY2F0aW9ucygpIGZ1bmN0aW9uLiBUaGlzIGZ1bmN0aW9u
IGlzIGdldHRpbmcgY2FsbGVkCisgICAgICAgIG9uIE1hYyBXSzEgYW5kIFdLMiB3aGVuIENGUFJF
RlNfRElSRUNUX01PREUgaXMgZGlzYWJsZWQgKGxlZ2FjeSkuCisgICAgICAgIFdoZW4gQ0ZQUkVG
U19ESVJFQ1RfTU9ERSBpcyBlbmFibGVkIGluIFdLMiwgd2UgZG9uJ3Qgd2FudC9uZWVkIHRvIGxp
c3RlbiBmb3IgdGhpcworICAgICAgICBub3RpZmljYXRpb24gYmVjYXVzZSB0aGUgQXBwbGVMYW5n
dWFnZXMgcHJlZmVyZW5jZSBnZXRzIHB1c2hlZCBieSB0aGUgVUlQcm9jZXNzCisgICAgICAgIGRv
d24gdG8gdGhlIFdlYlByb2Nlc3Nlcy4gRXZlbiB0aG91Z2ggd2UgY291bGQgbGlzdGVuIGZvciB0
aGlzIG5vdGlmaWNhdGlvbiwKKyAgICAgICAgdGhlIFdlYlByb2Nlc3Mgd291bGQgbm90IGhhdmUg
dGhlIGxhdGVzdCBBcHBsZUxhbmd1YWdlcyBwcmVmZXJlbmNlIHdoZW4gcmVjZWl2aW5nCisgICAg
ICAgIHRoZSBub3RpZmljYXRpb24uIFRoaXMgd291bGQgY2F1c2UgdXMgdG8gZmlyZSB0aGUgbGFu
Z3VhZ2VjaGFuZ2UgZXZlbnQgYXQgdGhlCisgICAgICAgIFdpbmRvdyB0b28gZWFybHkgYW5kIG5h
dmlnYXRvci5sYW5ndWFnZSB3b3VsZCBrZWVwIHJldHVybmluZyB0aGUgb2xkIGxhbmd1YWdlLgor
ICAgICAgICBGb3IgV0syIHdpdGggQ0ZQUkVGU19ESVJFQ1RfTU9ERSBlbmFibGVkLCB3ZSBub3cg
ZXhwbGljaXRseSBjYWxsCisgICAgICAgIFdURjo6bGFuZ3VhZ2VEaWRDaGFuZ2UoKSB3aGVuIHRo
ZSAiQXBwbGVMYW5ndWFnZXMiIHByZWZlcmVuY2UgZ2V0cyBzeW5jJ2QgZnJvbQorICAgICAgICB0
aGUgVUlQcm9jZXNzIGluc3RlYWQuCisKKyAgICAgICAgKiB3dGYvTGFuZ3VhZ2UuY3BwOgorICAg
ICAgICAoV1RGOjpsYW5ndWFnZURpZENoYW5nZSk6CisgICAgICAgIChXVEY6OnBsYXRmb3JtTGFu
Z3VhZ2VEaWRDaGFuZ2UpOgorICAgICAgICAqIHd0Zi9MYW5ndWFnZS5oOgorICAgICAgICAqIHd0
Zi9jZi9MYW5ndWFnZUNGLmNwcDoKKyAgICAgICAgKFdURjo6bGFuZ3VhZ2VQcmVmZXJlbmNlc0Rp
ZENoYW5nZSk6CisgICAgICAgIChXVEY6OnBsYXRmb3JtTGFuZ3VhZ2VEaWRDaGFuZ2UpOgorICAg
ICAgICAoV1RGOjpsaXN0ZW5Gb3JMYW5ndWFnZUNoYW5nZU5vdGlmaWNhdGlvbnMpOgorICAgICAg
ICAoV1RGOjpwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMpOgorCiAyMDIxLTAzLTAzICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2
ZXJ0aW5nIHIyNzM4NTEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhiZDE3OTdmOTU5OWI2N2M1N2E4NTYxZmIxMzM5
ZDJiNDVlOTViZjkuLmZhODYwMGFkNzBkMjBhZjBlOTY3MDAyODNmNjRiZjc5OGMxMDMzZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDMtMDMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBs
YW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBQZXIgQXJuZSBWb2xsYW4uCisKKyAgICAgICAgKiBTaGFyZWQvRW50cnlQb2ludFV0
aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tOgorICAgICAgICAoV2Vi
S2l0OjpzZXRBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UpOgorICAgICAgICBGaXggYSBtZW1vcnkg
bGVhayBmb3IgbmV3QXJndW1lbnRzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5p
dGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICBJZiBDRlBSRUZTX0RJUkVDVF9NT0RFIGlzIG5v
dCBlbmFibGVkLCB3ZSBuZWVkIHRvIGxpc3RlbiBmb3IgQXBwbGVMYW5ndWFnZVByZWZlcmVuY2Vz
Q2hhbmdlZE5vdGlmaWNhdGlvbgorICAgICAgICBpbnNpZGUgdGhlIFdlYlByb2Nlc3MuIFRoaXMg
dXNlZCB0byBoYXBwZW4gaW1wbGljaXRseSBpbnNpZGUgV1RGOjpwbGF0Zm9ybVVzZXJQcmVmZXJy
ZWRMYW5ndWFnZXMoKSBidXQKKyAgICAgICAgaXQgaXMgbm93IGV4cGxpY2l0IHNpbmNlIHdlIGRv
bid0IHdhbnQvbmVlZCBpdCB3aGVuIHVzaW5nIENGUFJFRlNfRElSRUNUX01PREUuCisKKyAgICAg
ICAgKFdlYktpdDo6c2V0UHJlZmVyZW5jZVZhbHVlKToKKyAgICAgICAgLSBJZiBwcmVmZXJlbmNl
IGlzIEFwcGxlTGFuZ3VhZ2VzLCBzZXQgaXQgZm9yIHRoZSB2b2xhdGlsZSBkb21haW4gdG8gbWF0
Y2ggd2hhdCB3ZSBkbyBpbiBYUENTZXJ2aWNlTWFpbi5tbS4KKyAgICAgICAgICBUaGlzIGlzIG5l
ZWRlZCBiZWNhdXNlIHRoZSBwcmVmZXJlbmNlIGluIHRoZSB2b2xhdGlsZSBkb21haW4gc2VlbXMg
dG8gdGFrZSBwcmVjZWRlbmNlLgorICAgICAgICAtIENhbGwgV1RGOjpsYW5ndWFnZURpZENoYW5n
ZSgpIHdoZW4gdGhlIEFwcGxlTGFuZ3VhZ2VzIHByZWZlcmVuY2UgZ2V0cyB1cGRhdGVkIHNvIHRo
YXQKKyAgICAgICAgICBsYW5ndWFnZSBjaGFuZ2UgbGlzdGVuZXJzIGdldCBub3RpZmllZCBvZiB0
aGUgbGFuZ3VhZ2UgY2hhbmdlIChlLmcuIHdlIGZpcmUgYSBsYW5ndWFnZWNoYW5nZQorICAgICAg
ICAgIGV2ZW50IGF0IHRoZSBXaW5kb3cpLgorCiAyMDIxLTAzLTAzICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNzM4NTEu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNzA3M2IwMDFkN2RhNjgzZGUzZDEyNmI3
M2VjOWE0ZGVkMWYxYzM5YS4uNTA3MDU5NGI1ZjlmZDE4MmIzOThkY2Y0NTg0MGFiY2FiOTczYWU0
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAz
LTAzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXVtX
SzJdIENoYW5naW5nIHRoZSBzeXN0ZW0gbGFuZ3VhZ2UgZG9lcyBub3QgdXBkYXRlIG5hdmlnYXRv
ci5sYW5ndWFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjIyNjE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2UgbmVlZCB0byBsaXN0ZW4gZm9yIEFwcGxlTGFuZ3VhZ2VQcmVmZXJlbmNlc0NoYW5nZWRO
b3RpZmljYXRpb24gb24gbWFjIFdLMS4KKyAgICAgICAgVGhpcyB1c2VkIHRvIGhhcHBlbiBpbXBs
aWNpdGx5IGluc2lkZSBXVEY6OnBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpIGJ1dAor
ICAgICAgICBpdCBpcyBub3cgZXhwbGljaXQgc2luY2Ugd2UgZG9uJ3Qgd2FudC9uZWVkIGl0IHdo
ZW4gdXNpbmcgQ0ZQUkVGU19ESVJFQ1RfTU9ERSBpbiBXSzIuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0
aEZyYW1lTmFtZTpncm91cE5hbWU6XSk6CisKIDIwMjEtMDMtMDMgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3Mzg1MS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmNwcCBiL1NvdXJjZS9XVEYvd3Rm
L0xhbmd1YWdlLmNwcAppbmRleCBlOTA3MTJmODk1Mjg4MDE3YjE5NmFkNmEzMjIwNTVjOWY2NTY1
ZTBkLi4xNzJkMDk4Yjg0ZDU2MDgxNGE0OWZiN2RhYjhhZjNkOGZlOWE1ODQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvTGFuZ3Vh
Z2UuY3BwCkBAIC02Miw2ICs2Miw3IEBAIHZvaWQgcmVtb3ZlTGFuZ3VhZ2VDaGFuZ2VPYnNlcnZl
cih2b2lkKiBjb250ZXh0KQogCiB2b2lkIGxhbmd1YWdlRGlkQ2hhbmdlKCkKIHsKKyAgICBwbGF0
Zm9ybUxhbmd1YWdlRGlkQ2hhbmdlKCk7CiAgICAgZm9yIChhdXRvJiBvYnNlcnZlciA6IGNvcHlU
b1ZlY3RvcihvYnNlcnZlck1hcCgpKSkgewogICAgICAgICBpZiAob2JzZXJ2ZXJNYXAoKS5jb250
YWlucyhvYnNlcnZlci5rZXkpKQogICAgICAgICAgICAgb2JzZXJ2ZXIudmFsdWUob2JzZXJ2ZXIu
a2V5KTsKQEAgLTE4Myw0ICsxODQsMTAgQEAgU3RyaW5nIGRpc3BsYXlOYW1lRm9yTGFuZ3VhZ2VM
b2NhbGUoY29uc3QgU3RyaW5nJiBsb2NhbGVOYW1lKQogICAgIHJldHVybiBsb2NhbGVOYW1lOwog
fQogCisjaWYgIVBMQVRGT1JNKENPQ09BKQordm9pZCBwbGF0Zm9ybUxhbmd1YWdlRGlkQ2hhbmdl
KCkKK3sKK30KKyNlbmRpZgorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFn
ZS5oIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuaAppbmRleCBiOGI5MDk1NmNlODM0Zjg2N2Mz
MTg1ODg3MTEyM2U2YWEyNGE2MzhhLi5mMDc0ZDc1NjhkMDAyZTkzMmE1MzI2YmRiNTJkN2ZiOGMw
NjU4MTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL0xhbmd1YWdlLmgKQEAgLTQxLDYgKzQxLDggQEAgV1RGX0VYUE9SVF9QUklWQVRF
IFZlY3RvcjxTdHJpbmc+IHVzZXJQcmVmZXJyZWRMYW5ndWFnZXNPdmVycmlkZSgpOwogV1RGX0VY
UE9SVF9QUklWQVRFIHZvaWQgb3ZlcnJpZGVVc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+Jik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgc2l6ZV90IGluZGV4T2ZCZXN0TWF0
Y2hpbmdMYW5ndWFnZUluTGlzdChjb25zdCBTdHJpbmcmIGxhbmd1YWdlLCBjb25zdCBWZWN0b3I8
U3RyaW5nPiYgbGFuZ3VhZ2VMaXN0LCBib29sJiBleGFjdE1hdGNoKTsKIFdURl9FWFBPUlRfUFJJ
VkFURSBWZWN0b3I8U3RyaW5nPiBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKTsKK1dU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIHBsYXRmb3JtTGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKKwogLy8g
Q2FsbGVkIGZyb20gcGxhdGZvcm0gc3BlY2lmaWMgY29kZSB3aGVuIHRoZSB1c2VyJ3MgcHJlZmVy
cmVkIGxhbmd1YWdlKHMpIGNoYW5nZS4KIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGxhbmd1YWdl
RGlkQ2hhbmdlKCk7CiAKQEAgLTUyLDYgKzU0LDcgQEAgV1RGX0VYUE9SVF9QUklWQVRFIFN0cmlu
ZyBkaXNwbGF5TmFtZUZvckxhbmd1YWdlTG9jYWxlKGNvbnN0IFN0cmluZyYpOwogCiAjaWYgUExB
VEZPUk0oQ09DT0EpCiBib29sIGNhbk1pbmltaXplTGFuZ3VhZ2VzKCk7CitXVEZfRVhQT1JUX1BS
SVZBVEUgdm9pZCBsaXN0ZW5Gb3JMYW5ndWFnZUNoYW5nZU5vdGlmaWNhdGlvbnMoKTsKIFJldGFp
blB0cjxDRkFycmF5UmVmPiBtaW5pbWl6ZWRMYW5ndWFnZXNGcm9tTGFuZ3VhZ2VzKENGQXJyYXlS
ZWYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NmL0xhbmd1YWdlQ0Yu
Y3BwIGIvU291cmNlL1dURi93dGYvY2YvTGFuZ3VhZ2VDRi5jcHAKaW5kZXggNDI1YWViZThmM2Vk
YWQyNTRhYWYyNDU4ODBlNTgxNGNjZDliY2M2Zi4uNTEzOWM1NjUzZWYzMTNmMGFiMDExZDRmOTI5
ZTQ2NzBlNGZmMWNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY2YvTGFuZ3VhZ2VDRi5j
cHAKKysrIGIvU291cmNlL1dURi93dGYvY2YvTGFuZ3VhZ2VDRi5jcHAKQEAgLTQwLDYgKzQwLDEz
IEBAIG5hbWVzcGFjZSBXVEYgewogCiBzdGF0aWMgTG9jayBwcmVmZXJyZWRMYW5ndWFnZXNNdXRl
eDsKIAorI2lmIFBMQVRGT1JNKE1BQykKK3N0YXRpYyB2b2lkIGxhbmd1YWdlUHJlZmVyZW5jZXNE
aWRDaGFuZ2UoQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQqLCBDRlN0cmluZ1JlZiwgY29u
c3Qgdm9pZCosIENGRGljdGlvbmFyeVJlZikKK3sKKyAgICBsYW5ndWFnZURpZENoYW5nZSgpOwor
fQorI2VuZGlmCisKIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiYgcHJlZmVycmVkTGFuZ3VhZ2VzKCkK
IHsKICAgICBzdGF0aWMgTGF6eU5ldmVyRGVzdHJveWVkPFZlY3RvcjxTdHJpbmc+PiBsYW5ndWFn
ZXM7CkBAIC04MywyNyArOTAsMjYgQEAgc3RhdGljIFN0cmluZyBodHRwU3R5bGVMYW5ndWFnZUNv
ZGUoQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UpCiAKIH0KIAotI2lmIFBMQVRGT1JNKE1BQykKLXN0YXRp
YyB2b2lkIGxhbmd1YWdlUHJlZmVyZW5jZXNEaWRDaGFuZ2UoQ0ZOb3RpZmljYXRpb25DZW50ZXJS
ZWYsIHZvaWQqLCBDRlN0cmluZ1JlZiwgY29uc3Qgdm9pZCosIENGRGljdGlvbmFyeVJlZikKK3Zv
aWQgcGxhdGZvcm1MYW5ndWFnZURpZENoYW5nZSgpCiB7CiAgICAgewogICAgICAgICBhdXRvIGxv
Y2tlciA9IGhvbGRMb2NrKHByZWZlcnJlZExhbmd1YWdlc011dGV4KTsKICAgICAgICAgcHJlZmVy
cmVkTGFuZ3VhZ2VzKCkuY2xlYXIoKTsKICAgICB9Ci0gICAgCi0gICAgbGFuZ3VhZ2VEaWRDaGFu
Z2UoKTsKIH0KLSNlbmRpZgogCi1WZWN0b3I8U3RyaW5nPiBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRM
YW5ndWFnZXMoKQordm9pZCBsaXN0ZW5Gb3JMYW5ndWFnZUNoYW5nZU5vdGlmaWNhdGlvbnMoKQog
ewogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tl
bjsKLSAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF4geworICAgIGRpc3BhdGNoX29uY2Uo
Jm9uY2VUb2tlbiwgXnsKICAgICAgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJBZGRPYnNlcnZlcihD
Rk5vdGlmaWNhdGlvbkNlbnRlckdldERpc3RyaWJ1dGVkQ2VudGVyKCksIG51bGxwdHIsICZsYW5n
dWFnZVByZWZlcmVuY2VzRGlkQ2hhbmdlLCBDRlNUUigiQXBwbGVMYW5ndWFnZVByZWZlcmVuY2Vz
Q2hhbmdlZE5vdGlmaWNhdGlvbiIpLCBudWxscHRyLCBDRk5vdGlmaWNhdGlvblN1c3BlbnNpb25C
ZWhhdmlvckNvYWxlc2NlKTsKICAgICB9KTsKICNlbmRpZgorfQogCitWZWN0b3I8U3RyaW5nPiBw
bGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKQorewogICAgIGF1dG8gbG9ja2VyID0gaG9s
ZExvY2socHJlZmVycmVkTGFuZ3VhZ2VzTXV0ZXgpOwogICAgIFZlY3RvcjxTdHJpbmc+JiB1c2Vy
UHJlZmVycmVkTGFuZ3VhZ2VzID0gcHJlZmVycmVkTGFuZ3VhZ2VzKCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2Vydmlj
ZS9YUENTZXJ2aWNlTWFpbi5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRVdGls
aXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbQppbmRleCAxNDAyMjYwZTIx
OTg1MTMyOGI0NzlhYTc4N2Y4NDkzOTBkZGM0MWZlLi5hYjA2MzRmMWFjNjU1Mzc3MzQ4MTg1MDJh
OTE0M2QxYWRkMTE0ODM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBv
aW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0KKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQ
Q1NlcnZpY2VNYWluLm1tCkBAIC00OCwxNCArNDgsMTQgQEAgc3RhdGljIHZvaWQgc2V0QXBwbGVM
YW5ndWFnZXNQcmVmZXJlbmNlKCkKICAgICBpZiAoeHBjX29iamVjdF90IGxhbmd1YWdlcyA9IHhw
Y19kaWN0aW9uYXJ5X2dldF92YWx1ZShib290c3RyYXAuZ2V0KCksICJPdmVycmlkZUxhbmd1YWdl
cyIpKSB7CiAgICAgICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICAgICAgTlNEaWN0aW9u
YXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKLSAgICAgICAg
ICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKm5ld0FyZ3VtZW50cyA9IFtleGlzdGluZ0FyZ3VtZW50
cyBtdXRhYmxlQ29weV07CisgICAgICAgICAgICBhdXRvIG5ld0FyZ3VtZW50cyA9IGFkb3B0TlMo
W2V4aXN0aW5nQXJndW1lbnRzIG11dGFibGVDb3B5XSk7CiAgICAgICAgICAgICBSZXRhaW5QdHI8
TlNNdXRhYmxlQXJyYXk+IG5ld0xhbmd1YWdlcyA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBh
bGxvY10gaW5pdF0pOwogICAgICAgICAgICAgeHBjX2FycmF5X2FwcGx5KGxhbmd1YWdlcywgXihz
aXplX3QgaW5kZXgsIHhwY19vYmplY3RfdCB2YWx1ZSkgewogICAgICAgICAgICAgICAgIFtuZXdM
YW5ndWFnZXMgYWRkT2JqZWN0OltOU1N0cmluZyBzdHJpbmdXaXRoQ1N0cmluZzp4cGNfc3RyaW5n
X2dldF9zdHJpbmdfcHRyKHZhbHVlKSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ11dOwog
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfSk7CiAgICAgICAgICAg
ICBbbmV3QXJndW1lbnRzIHNldFZhbHVlOm5ld0xhbmd1YWdlcy5nZXQoKSBmb3JLZXk6QCJBcHBs
ZUxhbmd1YWdlcyJdOwotICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJE
ZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46bmV3QXJndW1lbnRzIGZvck5hbWU6TlNBcmd1bWVu
dERvbWFpbl07CisgICAgICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSBzZXRWb2xhdGlsZURvbWFpbjpuZXdBcmd1bWVudHMuZ2V0KCkgZm9yTmFtZTpOU0FyZ3Vt
ZW50RG9tYWluXTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IDdiMWE1NTk0ZDY3MjA2ZjI3
NjU5YTdhZjJjMWI5MTRmMTJjMTA5MjguLmUwYjkxODVhNWFiNzU1ZDNlMTA5MWQyN2VmOTY2Yzlm
ZjA4MWIzZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbQpAQCAtODEsNyArODEsNiBAQAogI2ltcG9ydCA8YWxnb3JpdGhtPgogI2lt
cG9ydCA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgotI2lt
cG9ydCA8cGFsL2NvY29hL01lZGlhVG9vbGJveFNvZnRMaW5rLmg+CiAjaW1wb3J0IDxwYWwvc3Bp
L2NmL0NGTmV0d29ya1NQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRlV0aWxpdGllc1NQSS5o
PgogI2ltcG9ydCA8cGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaD4KQEAgLTk0LDYgKzkzLDcg
QEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQXBwbGljYXRpb25TUEkuaD4KICNpbXBvcnQgPHN0
ZGlvLmg+CiAjaW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5oPgorI2ltcG9ydCA8d3RmL0xhbmd1YWdl
Lmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8d3RmL1NvZnRM
aW5raW5nLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRzLmg+CkBAIC0xNDQsNiAr
MTQ0LDcgQEAKICNlbmRpZgogCiAjaW1wb3J0IDxwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExp
bmsuaD4KKyNpbXBvcnQgPHBhbC9jb2NvYS9NZWRpYVRvb2xib3hTb2Z0TGluay5oPgogCiAjaWYg
SEFWRShDQVRBTFlTVF9VU0VSX0lOVEVSRkFDRV9JRElPTV9BTkRfU0NBTEVfRkFDVE9SKQogLy8g
RklYTUU6IFRoaXMgaXMgb25seSBmb3IgYmluYXJ5IGNvbXBhdGliaWxpdHkgd2l0aCB2ZXJzaW9u
cyBvZiBVSUtpdCBpbiBtYWNPUyAxMSB0aGF0IGFyZSBtaXNzaW5nIHRoZSBjaGFuZ2UgaW4gPHJk
YXI6Ly9wcm9ibGVtLzY4NTI0MTQ4Pi4KQEAgLTM1Nyw2ICszNTgsMTAgQEAgdm9pZCBXZWJQcm9j
ZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMmIHBhcmEKICAgICBfX0NGUnVuTG9vcFNldE9wdGlvbnNSZWFzb24oX19DRlJ1bkxvb3BP
cHRpb25zRW5hYmxlQXBwTmFwLCBDRlNUUigiRmluaXNoZWQgY2hlY2tpbiBhcyBhcHBsaWNhdGlv
biAtIGVuYWJsZSBhcHAgbmFwIikpOwogI2VuZGlmCiAKKyNpZiAhRU5BQkxFKENGUFJFRlNfRElS
RUNUX01PREUpCisgICAgV1RGOjpsaXN0ZW5Gb3JMYW5ndWFnZUNoYW5nZU5vdGlmaWNhdGlvbnMo
KTsKKyNlbmRpZgorCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogICAgIC8vIFByaW9yaXR5IGRlY2F5
IG9uIGlPUyA5IGlzIGltcGFjdGluZyBwYWdlIGxvYWQgdGltZSBzbyB3ZSBmaXggdGhlIHByaW9y
aXR5IG9mIHRoZSBXZWJQcm9jZXNzJyBtYWluIHRocmVhZCAocmRhcjovL3Byb2JsZW0vMjIwMDMx
MTIpLgogICAgIHB0aHJlYWRfc2V0X2ZpeGVkcHJpb3JpdHlfc2VsZigpOwpAQCAtMTA5NiwxMCAr
MTEwMSwyMCBAQCBzdGF0aWMgdm9pZCBzZXRQcmVmZXJlbmNlVmFsdWUoY29uc3QgU3RyaW5nJiBk
b21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBpZCB2YWx1ZQogICAgICAgICBDRlByZWZlcmVuY2Vz
U2V0VmFsdWUoa2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIChfX2JyaWRnZSBDRlByb3BlcnR5
TGlzdFJlZil2YWx1ZSwga0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5j
ZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5jZXNBbnlIb3N0KTsKICNpZiBBU1NFUlRfRU5BQkxF
RAogICAgICAgICBpZCB2YWx1ZUFmdGVyU2V0dGluZyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIG9iamVjdEZvcktleTprZXldOwotICAgICAgICBBU1NFUlQodmFsdWVB
ZnRlclNldHRpbmcgPT0gdmFsdWUgfHwgW3ZhbHVlQWZ0ZXJTZXR0aW5nIGlzRXF1YWw6dmFsdWVd
KTsKKyAgICAgICAgQVNTRVJUKHZhbHVlQWZ0ZXJTZXR0aW5nID09IHZhbHVlIHx8IFt2YWx1ZUFm
dGVyU2V0dGluZyBpc0VxdWFsOnZhbHVlXSB8fCBrZXkgPT0gIkFwcGxlTGFuZ3VhZ2VzIik7CiAj
ZW5kaWYKICAgICB9IGVsc2UKICAgICAgICAgQ0ZQcmVmZXJlbmNlc1NldFZhbHVlKGtleS5jcmVh
dGVDRlN0cmluZygpLmdldCgpLCAoX19icmlkZ2UgQ0ZQcm9wZXJ0eUxpc3RSZWYpdmFsdWUsIGRv
bWFpbi5jcmVhdGVDRlN0cmluZygpLmdldCgpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBr
Q0ZQcmVmZXJlbmNlc0FueUhvc3QpOworCisgICAgaWYgKGtleSA9PSAiQXBwbGVMYW5ndWFnZXMi
KSB7CisgICAgICAgIC8vIFdlIG5lZWQgdG8gc2V0IEFwcGxlTGFuZ3VhZ2VzIGZvciB0aGUgdm9s
YXRpbGUgZG9tYWluLCBzaW1pbGFybHkgdG8gd2hhdCB3ZSBkbyBpbiBYUENTZXJ2aWNlTWFpbi5t
bS4KKyAgICAgICAgTlNEaWN0aW9uYXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9IFtbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3Vt
ZW50RG9tYWluXTsKKyAgICAgICAgYXV0byBuZXdBcmd1bWVudHMgPSBhZG9wdE5TKFtleGlzdGlu
Z0FyZ3VtZW50cyBtdXRhYmxlQ29weV0pOworICAgICAgICBbbmV3QXJndW1lbnRzIHNldFZhbHVl
OnZhbHVlIGZvcktleTpAIkFwcGxlTGFuZ3VhZ2VzIl07CisgICAgICAgIFtbTlNVc2VyRGVmYXVs
dHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0aWxlRG9tYWluOm5ld0FyZ3VtZW50cy5n
ZXQoKSBmb3JOYW1lOk5TQXJndW1lbnREb21haW5dOworCisgICAgICAgIFdURjo6bGFuZ3VhZ2VE
aWRDaGFuZ2UoKTsKKyAgICB9CiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6bm90aWZ5UHJlZmVyZW5j
ZXNDaGFuZ2VkKGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3Qg
T3B0aW9uYWw8U3RyaW5nPiYgZW5jb2RlZFZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGQzOTY4YmUzZmY0YjY2ZjNlMjY5OGViZGU3NDMyM2U1
ODVkM2ViOGQuLjY4NTYxMGMyNWVjMmFlNWZkNWY1MTNiYjkzMTYyYzRlMmU2MWZiOTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTI0OCw2ICsyNDgs
NyBAQAogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CiAjaW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5o
PgogI2ltcG9ydCA8d3RmL0hhc2hUcmFpdHMuaD4KKyNpbXBvcnQgPHd0Zi9MYW5ndWFnZS5oPgog
I2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9Qcm9jZXNzUHJpdmlsZWdl
Lmg+CiAjaW1wb3J0IDx3dGYvUkFNU2l6ZS5oPgpAQCAtMTY4MCw3ICsxNjgxLDkgQEAgLSAodm9p
ZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihOU1N0cmluZyAqKWZyYW1lTmFt
ZSBncm91cE5hbWU6KE5TU3QKICNlbmRpZgogCiAgICAgW1dlYlZpZXdWaXN1YWxJZGVudGlmaWNh
dGlvbk92ZXJsYXkgaW5zdGFsbEZvcldlYlZpZXdJZk5lZWRlZDpzZWxmIGtpbmQ6QCJXZWJWaWV3
IiBkZXByZWNhdGVkOllFU107Ci0jZW5kaWYKKworICAgIFdURjo6bGlzdGVuRm9yTGFuZ3VhZ2VD
aGFuZ2VOb3RpZmljYXRpb25zKCk7CisjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogfQogCiAtIChp
ZClfaW5pdFdpdGhGcmFtZTooTlNSZWN0KWYgZnJhbWVOYW1lOihOU1N0cmluZyAqKWZyYW1lTmFt
ZSBncm91cE5hbWU6KE5TU3RyaW5nICopZ3JvdXBOYW1lCmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWYyOWM1MTkwNGYyYWZlMWM1YmNiOWM2YTU3
ZmY3ZWQxODZmMDFjZi4uODkzMzRmMmNlZjhjMTU5NjY4NGE0YmI2MzU5NjI2MTgzYjc3NWNmNSAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDIxLTAzLTAzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisK
KyAgICAgICAgW21hY09TXVtXSzJdIENoYW5naW5nIHRoZSBzeXN0ZW0gbGFuZ3VhZ2UgZG9lcyBu
b3QgdXBkYXRlIG5hdmlnYXRvci5sYW5ndWFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGVyIEFy
bmUgVm9sbGFuLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJl
bmNlLm1tOgorICAgICAgICAoVEVTVCk6CisKIDIwMjEtMDMtMDMgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3Mzg1MS4K
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBw
bGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0KaW5kZXggYTEyY2FhOTBmY2I3
N2Q1NzBlODE5YjYxOTQ5MjBhZTI0ZmI1NTUxMS4uZWRhNDk2YWU5YTY3MDIzYjZkNDExODE2M2Vj
NTNlNGUxODY2YWQwYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0KKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0K
QEAgLTI5LDYgKzI5LDggQEAKIAogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKICNpbXBv
cnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBvcnQgPHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgor
I2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCiBURVNUKFdlYktpdCwgT3ZlcnJp
ZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UpCiB7CkBAIC01MSwzICs1Myw3NCBAQCBURVNUKFdl
YktpdCwgT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UpCiB9CiAKICNlbmRpZiAvLyBX
S19IQVZFX0NfU1BJCisKKy8vIE9uIG9sZGVyIG1hY09TZXMsIENGUFJFRlNfRElSRUNUX01PREUg
aXMgZGlzYWJsZWQgYW5kIHRoZSBXZWJQcm9jZXNzIGRvZXMgbm90IHNlZSB0aGUgdXBkYXRlZCBB
cHBsZUxhbmd1YWdlcworLy8gYWZ0ZXIgdGhlIEFwcGxlTGFuZ3VhZ2VQcmVmZXJlbmNlc0NoYW5n
ZWROb3RpZmljYXRpb24gbm90aWZpY2F0aW9uLgorI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKK2NsYXNzIEFwcGxlTGFuZ3VhZ2Vz
VGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKK3B1YmxpYzoKKyAgICBBcHBsZUxhbmd1YWdl
c1Rlc3QoKQorICAgIHsKKyAgICAgICAgLy8gU2F2ZSBjdXJyZW50IHN5c3RlbSBsYW5ndWFnZSB0
byByZXN0b3JlIGl0IGxhdGVyLgorICAgICAgICBhdXRvIHRhc2sgPSBhZG9wdE5TKFtbTlNUYXNr
IGFsbG9jXSBpbml0XSk7CisgICAgICAgIFt0YXNrIHNldExhdW5jaFBhdGg6QCIvdXNyL2Jpbi9k
ZWZhdWx0cyJdOworICAgICAgICBbdGFzayBzZXRBcmd1bWVudHM6QFtAInJlYWQiLCBAIk5TR2xv
YmFsRG9tYWluIiwgQCJBcHBsZUxhbmd1YWdlcyJdXTsKKyAgICAgICAgYXV0byBwaXBlID0gYWRv
cHROUyhbW05TUGlwZSBhbGxvY10gaW5pdF0pOworICAgICAgICBbdGFzayBzZXRTdGFuZGFyZE91
dHB1dDpwaXBlLmdldCgpXTsKKyAgICAgICAgYXV0byBmaWxlSGFuZGxlID0gW3BpcGUgZmlsZUhh
bmRsZUZvclJlYWRpbmddOworICAgICAgICBbdGFzayBsYXVuY2hdOworICAgICAgICBOU0RhdGEg
KmRhdGEgPSBbZmlsZUhhbmRsZSByZWFkRGF0YVRvRW5kT2ZGaWxlXTsKKyAgICAgICAgbV9zYXZl
ZEFwcGxlTGFuZ3VhZ2VzID0gW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhEYXRhOmRhdGEgZW5j
b2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddOworICAgICAgICBtX3NhdmVkQXBwbGVMYW5ndWFn
ZXMucmVwbGFjZSgiXG4iLCAiIik7CisgICAgICAgIG1fc2F2ZWRBcHBsZUxhbmd1YWdlcy5yZXBs
YWNlKCIgIiwgIiIpOworICAgIH0KKworICAgIH5BcHBsZUxhbmd1YWdlc1Rlc3QoKQorICAgIHsK
KyAgICAgICAgLy8gUmVzdG9yZSBwcmV2aW91cyBzeXN0ZW0gbGFuZ3VhZ2UuCisgICAgICAgIHN5
c3RlbShbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAImRlZmF1bHRzIHdyaXRlIE5TR2xvYmFs
RG9tYWluIEFwcGxlTGFuZ3VhZ2VzICclQCciLCAoTlNTdHJpbmcgKiltX3NhdmVkQXBwbGVMYW5n
dWFnZXNdLlVURjhTdHJpbmcpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBTdHJpbmcgbV9zYXZl
ZEFwcGxlTGFuZ3VhZ2VzOworfTsKKworVEVTVF9GKEFwcGxlTGFuZ3VhZ2VzVGVzdCwgVXBkYXRl
QXBwbGVMYW5ndWFnZXMpCit7CisgICAgLy8gVGVzdHMgdXNlcyAiZW4tVVMiIGxhbmd1YWdlIGlu
aXRpYWxseS4KKyAgICBzeXN0ZW0oW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJkZWZhdWx0
cyB3cml0ZSBOU0dsb2JhbERvbWFpbiBBcHBsZUxhbmd1YWdlcyAnKFwiZW4tVVNcIiknIl0uVVRG
OFN0cmluZyk7CisKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3
Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMo
W1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAw
LCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNd
KTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJzaW1wbGUi
XTsKKworICAgIC8vIFdlIG9ubHkgbGlzdGVuIGZvciBwcmVmZXJlbmNlIGNoYW5nZXMgd2hlbiB0
aGUgYXBwbGljYXRpb24gaXMgYWN0aXZlLgorICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVm
YXVsdENlbnRlcl0gcG9zdE5vdGlmaWNhdGlvbk5hbWU6TlNBcHBsaWNhdGlvbkRpZEJlY29tZUFj
dGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNBcHAgdXNlckluZm86bmlsXTsKKworICAgIGF1dG8g
cHJlZmVycmVkTGFuZ3VhZ2UgPSBbJl0geworICAgICAgICByZXR1cm4gW3dlYlZpZXcgc3RyaW5n
QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIm5hdmlnYXRvci5sYW5ndWFnZSJdOworICAgIH07Cisg
ICAgRVhQRUNUX1dLX1NUUkVRKEAiZW4tdXMiLCBwcmVmZXJyZWRMYW5ndWFnZSgpKTsKKworICAg
IF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7CisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2Ny
aXB0OkAib25sYW5ndWFnZWNoYW5nZSA9ICgpID0+IHsgd2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50
ZXN0SGFuZGxlci5wb3N0TWVzc2FnZShuYXZpZ2F0b3IubGFuZ3VhZ2UpOyB9OyB0cnVlOyIgY29t
cGxldGlvbkhhbmRsZXI6XihpZCB2YWx1ZSwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgRVhQ
RUNUX1RSVUUoIWVycm9yKTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKworICAgIF9fYmxvY2sgYm9vbCBkaWRDaGFu
Z2VMYW5ndWFnZSA9IGZhbHNlOworICAgIFt3ZWJWaWV3IHBlcmZvcm1BZnRlclJlY2VpdmluZ01l
c3NhZ2U6QCJlbi1nYiIgYWN0aW9uOl57IGRpZENoYW5nZUxhbmd1YWdlID0gdHJ1ZTsgfV07Cisg
ICAgW3dlYlZpZXcgcGVyZm9ybUFmdGVyUmVjZWl2aW5nTWVzc2FnZTpAImVuLXVzIiBhY3Rpb246
XnsKKyAgICAgICAgRVhQRUNUX1RSVUUoZmFsc2UpOyAvLyBuYXZpZ2F0b3IubGFuZ3VhZ2Ugd2Fz
IHdyb25nIHdoZW4gdGhlIGxhbmd1YWdlY2hhbmdlIGV2ZW50IGZpcmVkLgorICAgICAgICBkaWRD
aGFuZ2VMYW5ndWFnZSA9IHRydWU7CisgICAgfV07CisKKyAgICAvLyBTd2l0Y2ggc3lzdGVtIGxh
bmd1YWdlIGZyb20gImVuLVVTIiB0byAiZW4tR0IiLiBNYWtlIHN1cmUgdGhhdCB3ZSBmaXJlIGEg
bGFuZ3VhZ2VjaGFuZ2UgZXZlbnQgYXQgdGhlIFdpbmRvdyBhbmQgdGhhdCBuYXZpZ2F0b3IubGFu
Z3VhZ2UKKyAgICAvLyBub3cgcmVwb3J0cyAiZW4tZ2IiLgorICAgIHN5c3RlbShbTlNTdHJpbmcg
c3RyaW5nV2l0aEZvcm1hdDpAImRlZmF1bHRzIHdyaXRlIE5TR2xvYmFsRG9tYWluIEFwcGxlTGFu
Z3VhZ2VzICcoXCJlbi1HQlwiKSciXS5VVEY4U3RyaW5nKTsKKyAgICBDRk5vdGlmaWNhdGlvbkNl
bnRlclBvc3ROb3RpZmljYXRpb24oQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXREaXN0cmlidXRlZENl
bnRlcigpLCBDRlNUUigiQXBwbGVMYW5ndWFnZVByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlv
biIpLCBudWxscHRyLCBudWxscHRyLCB0cnVlKTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmZGlkQ2hhbmdlTGFuZ3VhZ2UpOworfQorI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422250</attachid>
            <date>2021-03-04 10:01:48 -0800</date>
            <delta_ts>2021-03-04 11:02:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222619-20210304100147.patch</filename>
            <type>text/plain</type>
            <size>18866</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczODk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIxZTcwMmZiMzFjOGEwNWM3MjVlMGUz
Nzk3NTFjNDYxN2JmNmRlMDMuLmJmN2JiOTZlODMzZmI3NzdmZDllY2VlYmIzZDllNjVjYjk0OTJm
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMjEtMDMtMDQgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW1dLMl0gQ2hhbmdpbmcgdGhlIHN5c3RlbSBs
YW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBQZXIgQXJuZSBWb2xsYW4uCisKKyAgICAgICAgVXBkYXRlIFdURjo6bGFuZ3VhZ2VE
aWRDaGFuZ2UoKSB0byBjbGVhciBwcmVmZXJyZWRMYW5ndWFnZXMoKSBvbiBDb2NvYSBwbGF0Zm9y
bXMKKyAgICAgICAgc28gdGhhdCB3ZSBnZXQgdXBkYXRlZCB2YWx1ZXMgZnJvbSB0aGUgc3lzdGVt
IHRoZSBuZXh0IHRpbWUKKyAgICAgICAgcGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCkg
aXMgY2FsbGVkLgorCisgICAgICAgIHBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpIHVz
ZWQgdG8gaW1wbGljaXRseSByZWdpc3RlciBhIEFwcGxlTGFuZ3VhZ2VQcmVmZXJlbmNlc0NoYW5n
ZWROb3RpZmljYXRpb24KKyAgICAgICAgbGlzdGVuZXIuIFdlJ3ZlIG5vdyBtYWRlIHRoaXMgcmVn
aXN0ZXJpbmcgb3B0LWluIGJ5IG1vdmluZyBpdCB0byBhIHNlcGFyYXRlCisgICAgICAgIGxpc3Rl
bkZvckxhbmd1YWdlQ2hhbmdlTm90aWZpY2F0aW9ucygpIGZ1bmN0aW9uLiBUaGlzIGZ1bmN0aW9u
IGlzIGdldHRpbmcgY2FsbGVkCisgICAgICAgIG9uIE1hYyBXSzEgYW5kIFdLMiB3aGVuIENGUFJF
RlNfRElSRUNUX01PREUgaXMgZGlzYWJsZWQgKGxlZ2FjeSkuCisgICAgICAgIFdoZW4gQ0ZQUkVG
U19ESVJFQ1RfTU9ERSBpcyBlbmFibGVkIGluIFdLMiwgd2UgZG9uJ3Qgd2FudC9uZWVkIHRvIGxp
c3RlbiBmb3IgdGhpcworICAgICAgICBub3RpZmljYXRpb24gYmVjYXVzZSB0aGUgQXBwbGVMYW5n
dWFnZXMgcHJlZmVyZW5jZSBnZXRzIHB1c2hlZCBieSB0aGUgVUlQcm9jZXNzCisgICAgICAgIGRv
d24gdG8gdGhlIFdlYlByb2Nlc3Nlcy4gRXZlbiB0aG91Z2ggd2UgY291bGQgbGlzdGVuIGZvciB0
aGlzIG5vdGlmaWNhdGlvbiwKKyAgICAgICAgdGhlIFdlYlByb2Nlc3Mgd291bGQgbm90IGhhdmUg
dGhlIGxhdGVzdCBBcHBsZUxhbmd1YWdlcyBwcmVmZXJlbmNlIHdoZW4gcmVjZWl2aW5nCisgICAg
ICAgIHRoZSBub3RpZmljYXRpb24uIFRoaXMgd291bGQgY2F1c2UgdXMgdG8gZmlyZSB0aGUgbGFu
Z3VhZ2VjaGFuZ2UgZXZlbnQgYXQgdGhlCisgICAgICAgIFdpbmRvdyB0b28gZWFybHkgYW5kIG5h
dmlnYXRvci5sYW5ndWFnZSB3b3VsZCBrZWVwIHJldHVybmluZyB0aGUgb2xkIGxhbmd1YWdlLgor
ICAgICAgICBGb3IgV0syIHdpdGggQ0ZQUkVGU19ESVJFQ1RfTU9ERSBlbmFibGVkLCB3ZSBub3cg
ZXhwbGljaXRseSBjYWxsCisgICAgICAgIFdURjo6bGFuZ3VhZ2VEaWRDaGFuZ2UoKSB3aGVuIHRo
ZSAiQXBwbGVMYW5ndWFnZXMiIHByZWZlcmVuY2UgZ2V0cyBzeW5jJ2QgZnJvbQorICAgICAgICB0
aGUgVUlQcm9jZXNzIGluc3RlYWQuCisKKyAgICAgICAgKiB3dGYvTGFuZ3VhZ2UuY3BwOgorICAg
ICAgICAoV1RGOjpsYW5ndWFnZURpZENoYW5nZSk6CisgICAgICAgIChXVEY6OnBsYXRmb3JtTGFu
Z3VhZ2VEaWRDaGFuZ2UpOgorICAgICAgICAqIHd0Zi9MYW5ndWFnZS5oOgorICAgICAgICAqIHd0
Zi9jZi9MYW5ndWFnZUNGLmNwcDoKKyAgICAgICAgKFdURjo6bGFuZ3VhZ2VQcmVmZXJlbmNlc0Rp
ZENoYW5nZSk6CisgICAgICAgIChXVEY6OnBsYXRmb3JtTGFuZ3VhZ2VEaWRDaGFuZ2UpOgorICAg
ICAgICAoV1RGOjpsaXN0ZW5Gb3JMYW5ndWFnZUNoYW5nZU5vdGlmaWNhdGlvbnMpOgorICAgICAg
ICAoV1RGOjpwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMpOgorCiAyMDIxLTAzLTAzICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTGlt
aXQgSGFzaFRhYmxlIGVudHJ5IHNpemUgdG8gNTAwIGJ5dGVzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZkMzBhYWNm
ZDJiMDE1YzE4ODFiZWRlZmQzZWZhZDRmN2M2NDhhMDkuLjllMjg4YzdiNDI2NjIzNGZhNzA0MDgx
M2RlY2Y4MDUwZTkyNzEyNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDMtMDQg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW1dLMl0g
Q2hhbmdpbmcgdGhlIHN5c3RlbSBsYW5ndWFnZSBkb2VzIG5vdCB1cGRhdGUgbmF2aWdhdG9yLmxh
bmd1YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjI2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBQZXIgQXJuZSBWb2xsYW4uCisKKyAgICAgICAg
KiBTaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VN
YWluLm1tOgorICAgICAgICAoV2ViS2l0OjpzZXRBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UpOgor
ICAgICAgICBGaXggYSBtZW1vcnkgbGVhayBmb3IgbmV3QXJndW1lbnRzLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICBJZiBDRlBS
RUZTX0RJUkVDVF9NT0RFIGlzIG5vdCBlbmFibGVkLCB3ZSBuZWVkIHRvIGxpc3RlbiBmb3IgQXBw
bGVMYW5ndWFnZVByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbgorICAgICAgICBpbnNpZGUg
dGhlIFdlYlByb2Nlc3MuIFRoaXMgdXNlZCB0byBoYXBwZW4gaW1wbGljaXRseSBpbnNpZGUgV1RG
OjpwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBidXQKKyAgICAgICAgaXQgaXMgbm93
IGV4cGxpY2l0IHNpbmNlIHdlIGRvbid0IHdhbnQvbmVlZCBpdCB3aGVuIHVzaW5nIENGUFJFRlNf
RElSRUNUX01PREUuCisKKyAgICAgICAgKFdlYktpdDo6c2V0UHJlZmVyZW5jZVZhbHVlKToKKyAg
ICAgICAgLSBJZiBwcmVmZXJlbmNlIGlzIEFwcGxlTGFuZ3VhZ2VzLCBzZXQgaXQgZm9yIHRoZSB2
b2xhdGlsZSBkb21haW4gdG8gbWF0Y2ggd2hhdCB3ZSBkbyBpbiBYUENTZXJ2aWNlTWFpbi5tbS4K
KyAgICAgICAgICBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHRoZSBwcmVmZXJlbmNlIGluIHRoZSB2
b2xhdGlsZSBkb21haW4gc2VlbXMgdG8gdGFrZSBwcmVjZWRlbmNlLgorICAgICAgICAtIENhbGwg
V1RGOjpsYW5ndWFnZURpZENoYW5nZSgpIHdoZW4gdGhlIEFwcGxlTGFuZ3VhZ2VzIHByZWZlcmVu
Y2UgZ2V0cyB1cGRhdGVkIHNvIHRoYXQKKyAgICAgICAgICBsYW5ndWFnZSBjaGFuZ2UgbGlzdGVu
ZXJzIGdldCBub3RpZmllZCBvZiB0aGUgbGFuZ3VhZ2UgY2hhbmdlIChlLmcuIHdlIGZpcmUgYSBs
YW5ndWFnZWNoYW5nZQorICAgICAgICAgIGV2ZW50IGF0IHRoZSBXaW5kb3cpLgorCiAyMDIxLTAz
LTA0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNT
SU9OIChyMjczNzMyKTogQVNTRVJUSU9OIEZBSUxFRDogQ29tcGxldGlvbiBoYW5kbGVyIHNob3Vs
ZCBhbHdheXMgYmUgY2FsbGVkIHVuZGVyIFdlYktpdDo6UmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJj
ZVByb3h5Ojp+UmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZVByb3h5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cKaW5kZXggNzA3M2IwMDFkN2RhNjgzZGUzZDEyNmI3M2VjOWE0ZGVkMWYxYzM5YS4u
N2MxMmQxNWFmYWU1OGFlMDVjZTZiMzQwNDU5MDBiODU5ZWQxNDZiMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAzLTA0ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXVtXSzJdIENoYW5naW5nIHRoZSBz
eXN0ZW0gbGFuZ3VhZ2UgZG9lcyBub3QgdXBkYXRlIG5hdmlnYXRvci5sYW5ndWFnZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjE5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgUGVyIEFybmUgVm9sbGFuLgorCisgICAgICAgIFdlIG5lZWQgdG8gbGlz
dGVuIGZvciBBcHBsZUxhbmd1YWdlUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIG9uIG1h
YyBXSzEuCisgICAgICAgIFRoaXMgdXNlZCB0byBoYXBwZW4gaW1wbGljaXRseSBpbnNpZGUgV1RG
OjpwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBidXQKKyAgICAgICAgaXQgaXMgbm93
IGV4cGxpY2l0IHNpbmNlIHdlIGRvbid0IHdhbnQvbmVlZCBpdCB3aGVuIHVzaW5nIENGUFJFRlNf
RElSRUNUX01PREUgaW4gV0syLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAg
ICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3JvdXBO
YW1lOl0pOgorCiAyMDIxLTAzLTAzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNzM4NTEuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9MYW5ndWFnZS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5jcHAKaW5k
ZXggZTkwNzEyZjg5NTI4ODAxN2IxOTZhZDZhMzIyMDU1YzlmNjU2NWUwZC4uMTcyZDA5OGI4NGQ1
NjA4MTRhNDlmYjdkYWI4YWYzZDhmZTlhNTg0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
TGFuZ3VhZ2UuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmNwcApAQCAtNjIsNiAr
NjIsNyBAQCB2b2lkIHJlbW92ZUxhbmd1YWdlQ2hhbmdlT2JzZXJ2ZXIodm9pZCogY29udGV4dCkK
IAogdm9pZCBsYW5ndWFnZURpZENoYW5nZSgpCiB7CisgICAgcGxhdGZvcm1MYW5ndWFnZURpZENo
YW5nZSgpOwogICAgIGZvciAoYXV0byYgb2JzZXJ2ZXIgOiBjb3B5VG9WZWN0b3Iob2JzZXJ2ZXJN
YXAoKSkpIHsKICAgICAgICAgaWYgKG9ic2VydmVyTWFwKCkuY29udGFpbnMob2JzZXJ2ZXIua2V5
KSkKICAgICAgICAgICAgIG9ic2VydmVyLnZhbHVlKG9ic2VydmVyLmtleSk7CkBAIC0xODMsNCAr
MTg0LDEwIEBAIFN0cmluZyBkaXNwbGF5TmFtZUZvckxhbmd1YWdlTG9jYWxlKGNvbnN0IFN0cmlu
ZyYgbG9jYWxlTmFtZSkKICAgICByZXR1cm4gbG9jYWxlTmFtZTsKIH0KIAorI2lmICFQTEFURk9S
TShDT0NPQSkKK3ZvaWQgcGxhdGZvcm1MYW5ndWFnZURpZENoYW5nZSgpCit7Cit9CisjZW5kaWYK
KwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuaCBiL1NvdXJjZS9XVEYv
d3RmL0xhbmd1YWdlLmgKaW5kZXggYjhiOTA5NTZjZTgzNGY4NjdjMzE4NTg4NzExMjNlNmFhMjRh
NjM4YS4uZjA3NGQ3NTY4ZDAwMmU5MzJhNTMyNmJkYjUyZDdmYjhjMDY1ODE4MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFn
ZS5oCkBAIC00MSw2ICs0MSw4IEBAIFdURl9FWFBPUlRfUFJJVkFURSBWZWN0b3I8U3RyaW5nPiB1
c2VyUHJlZmVycmVkTGFuZ3VhZ2VzT3ZlcnJpZGUoKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lk
IG92ZXJyaWRlVXNlclByZWZlcnJlZExhbmd1YWdlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYpOwog
V1RGX0VYUE9SVF9QUklWQVRFIHNpemVfdCBpbmRleE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxp
c3QoY29uc3QgU3RyaW5nJiBsYW5ndWFnZSwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGxhbmd1YWdl
TGlzdCwgYm9vbCYgZXhhY3RNYXRjaCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgVmVjdG9yPFN0cmlu
Zz4gcGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCk7CitXVEZfRVhQT1JUX1BSSVZBVEUg
dm9pZCBwbGF0Zm9ybUxhbmd1YWdlRGlkQ2hhbmdlKCk7CisKIC8vIENhbGxlZCBmcm9tIHBsYXRm
b3JtIHNwZWNpZmljIGNvZGUgd2hlbiB0aGUgdXNlcidzIHByZWZlcnJlZCBsYW5ndWFnZShzKSBj
aGFuZ2UuCiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBsYW5ndWFnZURpZENoYW5nZSgpOwogCkBA
IC01Miw2ICs1NCw3IEBAIFdURl9FWFBPUlRfUFJJVkFURSBTdHJpbmcgZGlzcGxheU5hbWVGb3JM
YW5ndWFnZUxvY2FsZShjb25zdCBTdHJpbmcmKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogYm9v
bCBjYW5NaW5pbWl6ZUxhbmd1YWdlcygpOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgbGlzdGVu
Rm9yTGFuZ3VhZ2VDaGFuZ2VOb3RpZmljYXRpb25zKCk7CiBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4g
bWluaW1pemVkTGFuZ3VhZ2VzRnJvbUxhbmd1YWdlcyhDRkFycmF5UmVmKTsKICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9MYW5ndWFnZUNGLmNwcCBiL1NvdXJjZS9XVEYv
d3RmL2NmL0xhbmd1YWdlQ0YuY3BwCmluZGV4IDQyNWFlYmU4ZjNlZGFkMjU0YWFmMjQ1ODgwZTU4
MTRjY2Q5YmNjNmYuLjUxMzljNTY1M2VmMzEzZjBhYjAxMWQ0ZjkyOWU0NjcwZTRmZjFjZDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NmL0xhbmd1YWdlQ0YuY3BwCisrKyBiL1NvdXJjZS9X
VEYvd3RmL2NmL0xhbmd1YWdlQ0YuY3BwCkBAIC00MCw2ICs0MCwxMyBAQCBuYW1lc3BhY2UgV1RG
IHsKIAogc3RhdGljIExvY2sgcHJlZmVycmVkTGFuZ3VhZ2VzTXV0ZXg7CiAKKyNpZiBQTEFURk9S
TShNQUMpCitzdGF0aWMgdm9pZCBsYW5ndWFnZVByZWZlcmVuY2VzRGlkQ2hhbmdlKENGTm90aWZp
Y2F0aW9uQ2VudGVyUmVmLCB2b2lkKiwgQ0ZTdHJpbmdSZWYsIGNvbnN0IHZvaWQqLCBDRkRpY3Rp
b25hcnlSZWYpCit7CisgICAgbGFuZ3VhZ2VEaWRDaGFuZ2UoKTsKK30KKyNlbmRpZgorCiBzdGF0
aWMgVmVjdG9yPFN0cmluZz4mIHByZWZlcnJlZExhbmd1YWdlcygpCiB7CiAgICAgc3RhdGljIExh
enlOZXZlckRlc3Ryb3llZDxWZWN0b3I8U3RyaW5nPj4gbGFuZ3VhZ2VzOwpAQCAtODMsMjcgKzkw
LDI2IEBAIHN0YXRpYyBTdHJpbmcgaHR0cFN0eWxlTGFuZ3VhZ2VDb2RlKENGU3RyaW5nUmVmIGxh
bmd1YWdlKQogCiB9CiAKLSNpZiBQTEFURk9STShNQUMpCi1zdGF0aWMgdm9pZCBsYW5ndWFnZVBy
ZWZlcmVuY2VzRGlkQ2hhbmdlKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiwgQ0ZTdHJp
bmdSZWYsIGNvbnN0IHZvaWQqLCBDRkRpY3Rpb25hcnlSZWYpCit2b2lkIHBsYXRmb3JtTGFuZ3Vh
Z2VEaWRDaGFuZ2UoKQogewogICAgIHsKICAgICAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhw
cmVmZXJyZWRMYW5ndWFnZXNNdXRleCk7CiAgICAgICAgIHByZWZlcnJlZExhbmd1YWdlcygpLmNs
ZWFyKCk7CiAgICAgfQotICAgIAotICAgIGxhbmd1YWdlRGlkQ2hhbmdlKCk7CiB9Ci0jZW5kaWYK
IAotVmVjdG9yPFN0cmluZz4gcGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCkKK3ZvaWQg
bGlzdGVuRm9yTGFuZ3VhZ2VDaGFuZ2VOb3RpZmljYXRpb25zKCkKIHsKICNpZiBQTEFURk9STShN
QUMpCiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47Ci0gICAgZGlzcGF0Y2hf
b25jZSgmb25jZVRva2VuLCBeIHsKKyAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CiAg
ICAgICAgIENGTm90aWZpY2F0aW9uQ2VudGVyQWRkT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50
ZXJHZXREaXN0cmlidXRlZENlbnRlcigpLCBudWxscHRyLCAmbGFuZ3VhZ2VQcmVmZXJlbmNlc0Rp
ZENoYW5nZSwgQ0ZTVFIoIkFwcGxlTGFuZ3VhZ2VQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRp
b24iKSwgbnVsbHB0ciwgQ0ZOb3RpZmljYXRpb25TdXNwZW5zaW9uQmVoYXZpb3JDb2FsZXNjZSk7
CiAgICAgfSk7CiAjZW5kaWYKK30KIAorVmVjdG9yPFN0cmluZz4gcGxhdGZvcm1Vc2VyUHJlZmVy
cmVkTGFuZ3VhZ2VzKCkKK3sKICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKHByZWZlcnJlZExh
bmd1YWdlc011dGV4KTsKICAgICBWZWN0b3I8U3RyaW5nPiYgdXNlclByZWZlcnJlZExhbmd1YWdl
cyA9IHByZWZlcnJlZExhbmd1YWdlcygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4u
bW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1Nl
cnZpY2UvWFBDU2VydmljZU1haW4ubW0KaW5kZXggMTQwMjI2MGUyMTk4NTEzMjhiNDc5YWE3ODdm
ODQ5MzkwZGRjNDFmZS4uYWIwNjM0ZjFhYzY1NTM3NzM0ODE4NTAyYTkxNDNkMWFkZDExNDgzOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2Nv
YS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbQpA
QCAtNDgsMTQgKzQ4LDE0IEBAIHN0YXRpYyB2b2lkIHNldEFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5j
ZSgpCiAgICAgaWYgKHhwY19vYmplY3RfdCBsYW5ndWFnZXMgPSB4cGNfZGljdGlvbmFyeV9nZXRf
dmFsdWUoYm9vdHN0cmFwLmdldCgpLCAiT3ZlcnJpZGVMYW5ndWFnZXMiKSkgewogICAgICAgICBA
YXV0b3JlbGVhc2Vwb29sIHsKICAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqZXhpc3RpbmdBcmd1
bWVudHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURv
bWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07Ci0gICAgICAgICAgICBOU011dGFibGVEaWN0
aW9uYXJ5ICpuZXdBcmd1bWVudHMgPSBbZXhpc3RpbmdBcmd1bWVudHMgbXV0YWJsZUNvcHldOwor
ICAgICAgICAgICAgYXV0byBuZXdBcmd1bWVudHMgPSBhZG9wdE5TKFtleGlzdGluZ0FyZ3VtZW50
cyBtdXRhYmxlQ29weV0pOwogICAgICAgICAgICAgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiBu
ZXdMYW5ndWFnZXMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKICAg
ICAgICAgICAgIHhwY19hcnJheV9hcHBseShsYW5ndWFnZXMsIF4oc2l6ZV90IGluZGV4LCB4cGNf
b2JqZWN0X3QgdmFsdWUpIHsKICAgICAgICAgICAgICAgICBbbmV3TGFuZ3VhZ2VzIGFkZE9iamVj
dDpbTlNTdHJpbmcgc3RyaW5nV2l0aENTdHJpbmc6eHBjX3N0cmluZ19nZXRfc3RyaW5nX3B0cih2
YWx1ZSkgZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddXTsKICAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgW25ld0FyZ3VtZW50cyBz
ZXRWYWx1ZTpuZXdMYW5ndWFnZXMuZ2V0KCkgZm9yS2V5OkAiQXBwbGVMYW5ndWFnZXMiXTsKLSAg
ICAgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0
aWxlRG9tYWluOm5ld0FyZ3VtZW50cyBmb3JOYW1lOk5TQXJndW1lbnREb21haW5dOworICAgICAg
ICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVE
b21haW46bmV3QXJndW1lbnRzLmdldCgpIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CiAgICAg
ICAgIH0KICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dl
YlByb2Nlc3NDb2NvYS5tbQppbmRleCA3YjFhNTU5NGQ2NzIwNmYyNzY1OWE3YWYyYzFiOTE0ZjEy
YzEwOTI4Li5lMGI5MTg1YTVhYjc1NWQzZTEwOTFkMjdlZjk2NmM5ZmYwODFiM2ZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAg
LTgxLDcgKzgxLDYgQEAKICNpbXBvcnQgPGFsZ29yaXRobT4KICNpbXBvcnQgPGRpc3BhdGNoL2Rp
c3BhdGNoLmg+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KLSNpbXBvcnQgPHBhbC9jb2NvYS9N
ZWRpYVRvb2xib3hTb2Z0TGluay5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRk5ldHdvcmtTUEku
aD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZVdGlsaXRpZXNTUEkuaD4KICNpbXBvcnQgPHBhbC9z
cGkvY2cvQ29yZUdyYXBoaWNzU1BJLmg+CkBAIC05NCw2ICs5Myw3IEBACiAjaW1wb3J0IDxwYWwv
c3BpL21hYy9OU0FwcGxpY2F0aW9uU1BJLmg+CiAjaW1wb3J0IDxzdGRpby5oPgogI2ltcG9ydCA8
d3RmL0ZpbGVTeXN0ZW0uaD4KKyNpbXBvcnQgPHd0Zi9MYW5ndWFnZS5oPgogI2ltcG9ydCA8d3Rm
L1Byb2Nlc3NQcml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogI2ltcG9y
dCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgpAQCAtMTQ0LDYgKzE0NCw3IEBACiAjZW5kaWYK
IAogI2ltcG9ydCA8cGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmg+CisjaW1wb3J0IDxw
YWwvY29jb2EvTWVkaWFUb29sYm94U29mdExpbmsuaD4KIAogI2lmIEhBVkUoQ0FUQUxZU1RfVVNF
Ul9JTlRFUkZBQ0VfSURJT01fQU5EX1NDQUxFX0ZBQ1RPUikKIC8vIEZJWE1FOiBUaGlzIGlzIG9u
bHkgZm9yIGJpbmFyeSBjb21wYXRpYmlsaXR5IHdpdGggdmVyc2lvbnMgb2YgVUlLaXQgaW4gbWFj
T1MgMTEgdGhhdCBhcmUgbWlzc2luZyB0aGUgY2hhbmdlIGluIDxyZGFyOi8vcHJvYmxlbS82ODUy
NDE0OD4uCkBAIC0zNTcsNiArMzU4LDEwIEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0
aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhCiAgICAg
X19DRlJ1bkxvb3BTZXRPcHRpb25zUmVhc29uKF9fQ0ZSdW5Mb29wT3B0aW9uc0VuYWJsZUFwcE5h
cCwgQ0ZTVFIoIkZpbmlzaGVkIGNoZWNraW4gYXMgYXBwbGljYXRpb24gLSBlbmFibGUgYXBwIG5h
cCIpKTsKICNlbmRpZgogCisjaWYgIUVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQorICAgIFdU
Rjo6bGlzdGVuRm9yTGFuZ3VhZ2VDaGFuZ2VOb3RpZmljYXRpb25zKCk7CisjZW5kaWYKKwogI2lm
IFRBUkdFVF9PU19JUEhPTkUKICAgICAvLyBQcmlvcml0eSBkZWNheSBvbiBpT1MgOSBpcyBpbXBh
Y3RpbmcgcGFnZSBsb2FkIHRpbWUgc28gd2UgZml4IHRoZSBwcmlvcml0eSBvZiB0aGUgV2ViUHJv
Y2VzcycgbWFpbiB0aHJlYWQgKHJkYXI6Ly9wcm9ibGVtLzIyMDAzMTEyKS4KICAgICBwdGhyZWFk
X3NldF9maXhlZHByaW9yaXR5X3NlbGYoKTsKQEAgLTEwOTYsMTAgKzExMDEsMjAgQEAgc3RhdGlj
IHZvaWQgc2V0UHJlZmVyZW5jZVZhbHVlKGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJp
bmcmIGtleSwgaWQgdmFsdWUKICAgICAgICAgQ0ZQcmVmZXJlbmNlc1NldFZhbHVlKGtleS5jcmVh
dGVDRlN0cmluZygpLmdldCgpLCAoX19icmlkZ2UgQ0ZQcm9wZXJ0eUxpc3RSZWYpdmFsdWUsIGtD
RlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24sIGtDRlByZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtD
RlByZWZlcmVuY2VzQW55SG9zdCk7CiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICAgICAgaWQgdmFs
dWVBZnRlclNldHRpbmcgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBv
YmplY3RGb3JLZXk6a2V5XTsKLSAgICAgICAgQVNTRVJUKHZhbHVlQWZ0ZXJTZXR0aW5nID09IHZh
bHVlIHx8IFt2YWx1ZUFmdGVyU2V0dGluZyBpc0VxdWFsOnZhbHVlXSk7CisgICAgICAgIEFTU0VS
VCh2YWx1ZUFmdGVyU2V0dGluZyA9PSB2YWx1ZSB8fCBbdmFsdWVBZnRlclNldHRpbmcgaXNFcXVh
bDp2YWx1ZV0gfHwga2V5ID09ICJBcHBsZUxhbmd1YWdlcyIpOwogI2VuZGlmCiAgICAgfSBlbHNl
CiAgICAgICAgIENGUHJlZmVyZW5jZXNTZXRWYWx1ZShrZXkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQo
KSwgKF9fYnJpZGdlIENGUHJvcGVydHlMaXN0UmVmKXZhbHVlLCBkb21haW4uY3JlYXRlQ0ZTdHJp
bmcoKS5nZXQoKSwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5jZXNBbnlI
b3N0KTsKKworICAgIGlmIChrZXkgPT0gIkFwcGxlTGFuZ3VhZ2VzIikgeworICAgICAgICAvLyBX
ZSBuZWVkIHRvIHNldCBBcHBsZUxhbmd1YWdlcyBmb3IgdGhlIHZvbGF0aWxlIGRvbWFpbiwgc2lt
aWxhcmx5IHRvIHdoYXQgd2UgZG8gaW4gWFBDU2VydmljZU1haW4ubW0uCisgICAgICAgIE5TRGlj
dGlvbmFyeSAqZXhpc3RpbmdBcmd1bWVudHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNl
ckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAg
ICAgIGF1dG8gbmV3QXJndW1lbnRzID0gYWRvcHROUyhbZXhpc3RpbmdBcmd1bWVudHMgbXV0YWJs
ZUNvcHldKTsKKyAgICAgICAgW25ld0FyZ3VtZW50cyBzZXRWYWx1ZTp2YWx1ZSBmb3JLZXk6QCJB
cHBsZUxhbmd1YWdlcyJdOworICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRl
ZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjpuZXdBcmd1bWVudHMuZ2V0KCkgZm9yTmFtZTpOU0Fy
Z3VtZW50RG9tYWluXTsKKworICAgICAgICBXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKCk7CisgICAg
fQogfQogCiB2b2lkIFdlYlByb2Nlc3M6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChjb25zdCBT
dHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IE9wdGlvbmFsPFN0cmluZz4m
IGVuY29kZWRWYWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQppbmRleCBkMzk2OGJlM2ZmNGI2NmYzZTI2OThlYmRlNzQzMjNlNTg1ZDNlYjhkLi42ODU2MTBj
MjVlYzJhZTVmZDVmNTEzYmI5MzE2MmM0ZTJlNjFmYjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yNDgsNiArMjQ4LDcgQEAKICNpbXBvcnQgPHd0
Zi9CbG9ja1B0ci5oPgogI2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPHd0Zi9I
YXNoVHJhaXRzLmg+CisjaW1wb3J0IDx3dGYvTGFuZ3VhZ2UuaD4KICNpbXBvcnQgPHd0Zi9NYWlu
VGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8d3Rm
L1JBTVNpemUuaD4KQEAgLTE2ODAsNyArMTY4MSw5IEBAIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxp
emF0aW9uV2l0aEZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0
CiAjZW5kaWYKIAogICAgIFtXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5IGluc3Rh
bGxGb3JXZWJWaWV3SWZOZWVkZWQ6c2VsZiBraW5kOkAiV2ViVmlldyIgZGVwcmVjYXRlZDpZRVNd
OwotI2VuZGlmCisKKyAgICBXVEY6Omxpc3RlbkZvckxhbmd1YWdlQ2hhbmdlTm90aWZpY2F0aW9u
cygpOworI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIH0KIAogLSAoaWQpX2luaXRXaXRoRnJhbWU6
KE5TUmVjdClmIGZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0
cmluZyAqKWdyb3VwTmFtZQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IGQ0ZGZkYzZkMzI3ZjNmOGI0YWU0YTIzYzkwODE2OWQ3NGFkNmJmMjUuLjU1
ZTkwZDZjOGFmOTBhZGI3ODk1ZjdiMmI2NTk1Yzc0MDIxNDY2NGYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0w
My0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU11b
V0syXSBDaGFuZ2luZyB0aGUgc3lzdGVtIGxhbmd1YWdlIGRvZXMgbm90IHVwZGF0ZSBuYXZpZ2F0
b3IubGFuZ3VhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMjYxOQorCisgICAgICAgIFJldmlld2VkIGJ5IFBlciBBcm5lIFZvbGxhbi4KKworICAg
ICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbToKKyAgICAgICAg
KFRFU1QpOgorCiAyMDIxLTAzLTA0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBVcGRhdGUgY2FtZXJhIGFuZCBtaWNyb3Bob25lIGNhcHR1cmUgc3RhdGUgY29u
dHJvbCBXS1dlYlZpZXcgQVBJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1t
CmluZGV4IGExMmNhYTkwZmNiNzdkNTcwZTgxOWI2MTk0OTIwYWUyNGZiNTU1MTEuLmVkYTQ5NmFl
OWE2NzAyM2I2ZDQxMTgxNjNlYzUzZTRlMTg2NmFkMGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1t
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5n
dWFnZXNQcmVmZXJlbmNlLm1tCkBAIC0yOSw2ICsyOSw4IEBACiAKICNpbXBvcnQgIlBsYXRmb3Jt
VXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDx3dGYvY29j
b2EvVmVjdG9yQ29jb2EuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAog
VEVTVChXZWJLaXQsIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKQogewpAQCAtNTEs
MyArNTMsNzQgQEAgVEVTVChXZWJLaXQsIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNl
KQogfQogCiAjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQorCisvLyBPbiBvbGRlciBtYWNPU2VzLCBD
RlBSRUZTX0RJUkVDVF9NT0RFIGlzIGRpc2FibGVkIGFuZCB0aGUgV2ViUHJvY2VzcyBkb2VzIG5v
dCBzZWUgdGhlIHVwZGF0ZWQgQXBwbGVMYW5ndWFnZXMKKy8vIGFmdGVyIHRoZSBBcHBsZUxhbmd1
YWdlUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbi4KKyNpZiBQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwCitj
bGFzcyBBcHBsZUxhbmd1YWdlc1Rlc3QgOiBwdWJsaWMgdGVzdGluZzo6VGVzdCB7CitwdWJsaWM6
CisgICAgQXBwbGVMYW5ndWFnZXNUZXN0KCkKKyAgICB7CisgICAgICAgIC8vIFNhdmUgY3VycmVu
dCBzeXN0ZW0gbGFuZ3VhZ2UgdG8gcmVzdG9yZSBpdCBsYXRlci4KKyAgICAgICAgYXV0byB0YXNr
ID0gYWRvcHROUyhbW05TVGFzayBhbGxvY10gaW5pdF0pOworICAgICAgICBbdGFzayBzZXRMYXVu
Y2hQYXRoOkAiL3Vzci9iaW4vZGVmYXVsdHMiXTsKKyAgICAgICAgW3Rhc2sgc2V0QXJndW1lbnRz
OkBbQCJyZWFkIiwgQCJOU0dsb2JhbERvbWFpbiIsIEAiQXBwbGVMYW5ndWFnZXMiXV07CisgICAg
ICAgIGF1dG8gcGlwZSA9IGFkb3B0TlMoW1tOU1BpcGUgYWxsb2NdIGluaXRdKTsKKyAgICAgICAg
W3Rhc2sgc2V0U3RhbmRhcmRPdXRwdXQ6cGlwZS5nZXQoKV07CisgICAgICAgIGF1dG8gZmlsZUhh
bmRsZSA9IFtwaXBlIGZpbGVIYW5kbGVGb3JSZWFkaW5nXTsKKyAgICAgICAgW3Rhc2sgbGF1bmNo
XTsKKyAgICAgICAgTlNEYXRhICpkYXRhID0gW2ZpbGVIYW5kbGUgcmVhZERhdGFUb0VuZE9mRmls
ZV07CisgICAgICAgIG1fc2F2ZWRBcHBsZUxhbmd1YWdlcyA9IFtbTlNTdHJpbmcgYWxsb2NdIGlu
aXRXaXRoRGF0YTpkYXRhIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXTsKKyAgICAgICAg
bV9zYXZlZEFwcGxlTGFuZ3VhZ2VzLnJlcGxhY2UoIlxuIiwgIiIpOworICAgICAgICBtX3NhdmVk
QXBwbGVMYW5ndWFnZXMucmVwbGFjZSgiICIsICIiKTsKKyAgICB9CisKKyAgICB+QXBwbGVMYW5n
dWFnZXNUZXN0KCkKKyAgICB7CisgICAgICAgIC8vIFJlc3RvcmUgcHJldmlvdXMgc3lzdGVtIGxh
bmd1YWdlLgorICAgICAgICBzeXN0ZW0oW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJkZWZh
dWx0cyB3cml0ZSBOU0dsb2JhbERvbWFpbiBBcHBsZUxhbmd1YWdlcyAnJUAnIiwgKE5TU3RyaW5n
ICopbV9zYXZlZEFwcGxlTGFuZ3VhZ2VzXS5VVEY4U3RyaW5nKTsKKyAgICB9CisKK3ByaXZhdGU6
CisgICAgU3RyaW5nIG1fc2F2ZWRBcHBsZUxhbmd1YWdlczsKK307CisKK1RFU1RfRihBcHBsZUxh
bmd1YWdlc1Rlc3QsIFVwZGF0ZUFwcGxlTGFuZ3VhZ2VzKQoreworICAgIC8vIFRlc3RzIHVzZXMg
ImVuLVVTIiBsYW5ndWFnZSBpbml0aWFsbHkuCisgICAgc3lzdGVtKFtOU1N0cmluZyBzdHJpbmdX
aXRoRm9ybWF0OkAiZGVmYXVsdHMgd3JpdGUgTlNHbG9iYWxEb21haW4gQXBwbGVMYW5ndWFnZXMg
JyhcImVuLVVTXCIpJyJdLlVURjhTdHJpbmcpOworCisgICAgYXV0byBjb25maWd1cmF0aW9uID0g
YWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBhdXRv
IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0
KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0
UGFnZU5hbWVkOkAic2ltcGxlIl07CisKKyAgICAvLyBXZSBvbmx5IGxpc3RlbiBmb3IgcHJlZmVy
ZW5jZSBjaGFuZ2VzIHdoZW4gdGhlIGFwcGxpY2F0aW9uIGlzIGFjdGl2ZS4KKyAgICBbW05TTm90
aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHBvc3ROb3RpZmljYXRpb25OYW1lOk5TQXBw
bGljYXRpb25EaWRCZWNvbWVBY3RpdmVOb3RpZmljYXRpb24gb2JqZWN0Ok5TQXBwIHVzZXJJbmZv
Om5pbF07CisKKyAgICBhdXRvIHByZWZlcnJlZExhbmd1YWdlID0gWyZdIHsKKyAgICAgICAgcmV0
dXJuIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJuYXZpZ2F0b3IubGFu
Z3VhZ2UiXTsKKyAgICB9OworICAgIEVYUEVDVF9XS19TVFJFUShAImVuLXVzIiwgcHJlZmVycmVk
TGFuZ3VhZ2UoKSk7CisKKyAgICBfX2Jsb2NrIGJvb2wgZG9uZSA9IGZhbHNlOworICAgIFt3ZWJW
aWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAIm9ubGFuZ3VhZ2VjaGFuZ2UgPSAoKSA9PiB7IHdlYmtp
dC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UobmF2aWdhdG9yLmxhbmd1
YWdlKTsgfTsgdHJ1ZTsiIGNvbXBsZXRpb25IYW5kbGVyOl4oaWQgdmFsdWUsIE5TRXJyb3IgKmVy
cm9yKSB7CisgICAgICAgIEVYUEVDVF9UUlVFKCFlcnJvcik7CisgICAgICAgIGRvbmUgPSB0cnVl
OworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisKKyAgICBf
X2Jsb2NrIGJvb2wgZGlkQ2hhbmdlTGFuZ3VhZ2UgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBwZXJm
b3JtQWZ0ZXJSZWNlaXZpbmdNZXNzYWdlOkAiZW4tZ2IiIGFjdGlvbjpeeyBkaWRDaGFuZ2VMYW5n
dWFnZSA9IHRydWU7IH1dOworICAgIFt3ZWJWaWV3IHBlcmZvcm1BZnRlclJlY2VpdmluZ01lc3Nh
Z2U6QCJlbi11cyIgYWN0aW9uOl57CisgICAgICAgIEVYUEVDVF9UUlVFKGZhbHNlKTsgLy8gbmF2
aWdhdG9yLmxhbmd1YWdlIHdhcyB3cm9uZyB3aGVuIHRoZSBsYW5ndWFnZWNoYW5nZSBldmVudCBm
aXJlZC4KKyAgICAgICAgZGlkQ2hhbmdlTGFuZ3VhZ2UgPSB0cnVlOworICAgIH1dOworCisgICAg
Ly8gU3dpdGNoIHN5c3RlbSBsYW5ndWFnZSBmcm9tICJlbi1VUyIgdG8gImVuLUdCIi4gTWFrZSBz
dXJlIHRoYXQgd2UgZmlyZSBhIGxhbmd1YWdlY2hhbmdlIGV2ZW50IGF0IHRoZSBXaW5kb3cgYW5k
IHRoYXQgbmF2aWdhdG9yLmxhbmd1YWdlCisgICAgLy8gbm93IHJlcG9ydHMgImVuLWdiIi4KKyAg
ICBzeXN0ZW0oW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJkZWZhdWx0cyB3cml0ZSBOU0ds
b2JhbERvbWFpbiBBcHBsZUxhbmd1YWdlcyAnKFwiZW4tR0JcIiknIl0uVVRGOFN0cmluZyk7Cisg
ICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJQb3N0Tm90aWZpY2F0aW9uKENGTm90aWZpY2F0aW9uQ2Vu
dGVyR2V0RGlzdHJpYnV0ZWRDZW50ZXIoKSwgQ0ZTVFIoIkFwcGxlTGFuZ3VhZ2VQcmVmZXJlbmNl
c0NoYW5nZWROb3RpZmljYXRpb24iKSwgbnVsbHB0ciwgbnVsbHB0ciwgdHJ1ZSk7CisKKyAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZENoYW5nZUxhbmd1YWdlKTsKK30KKyNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>