<?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>222014</bug_id>
          
          <creation_ts>2021-02-16 17:53:14 -0800</creation_ts>
          <short_desc>Change App Highlight delegate to pass more information about the highlight for display.</short_desc>
          <delta_ts>2021-02-17 10:39:13 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Megan Gardner">megan_gardner</reporter>
          <assigned_to name="Megan Gardner">megan_gardner</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1730043</commentid>
    <comment_count>0</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-02-16 17:53:14 -0800</bug_when>
    <thetext>Change App Highlight delegate to pass more information about the highlight for display.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730045</commentid>
    <comment_count>1</comment_count>
      <attachid>420570</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-02-16 17:55:23 -0800</bug_when>
    <thetext>Created attachment 420570
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730053</commentid>
    <comment_count>2</comment_count>
      <attachid>420570</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-02-16 18:04:10 -0800</bug_when>
    <thetext>Comment on attachment 420570
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKAppHighlight.h:37
&gt; +- (instancetype) init NS_UNAVAILABLE;

)init

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKAppHighlight.h:39
&gt; +@property (nonatomic, readonly, copy) NSData *data;

I think just &quot;data&quot; is a bit mysterious. This is the thing that you pass to &quot;restore&quot;, right? I think we can come up with a name.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKAppHighlight.h:49
&gt; +@property (nonatomic, readonly) BOOL newGroup;

This one doesn&apos;t make sense here and should be the second parameter on the method, I think

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKAppHighlight.mm:2
&gt; + * Copyright (C) 20201 Apple Inc. All rights reserved.

Wow that&apos;s a distant future you&apos;ve got there

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKAppHighlightDelegate.h:36
&gt; +- (void)_webView:(WKWebView *)webView storeAppHighlight:(_WKAppHighlight *)highlight WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));

I propose: _webView:didCreateHighlight:creatingNewGroup:</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730056</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-02-16 18:06:43 -0800</bug_when>
    <thetext>&gt; _webView:didCreateHighlight:creatingNewGroup:

or ... _webView:didCreateHighlight:inNewGroup:?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730057</commentid>
    <comment_count>4</comment_count>
      <attachid>420570</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-02-16 18:08:11 -0800</bug_when>
    <thetext>Comment on attachment 420570
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/_WKAppHighlight.h:39
&gt;&gt; +@property (nonatomic, readonly, copy) NSData *data;
&gt; 
&gt; I think just &quot;data&quot; is a bit mysterious. This is the thing that you pass to &quot;restore&quot;, right? I think we can come up with a name.

I actually call it &apos;highlight&apos; in much of the previous patch, but if we come up with an even better name, I&apos;ll change it everywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730062</commentid>
    <comment_count>5</comment_count>
      <attachid>420570</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-02-16 18:21:38 -0800</bug_when>
    <thetext>Comment on attachment 420570
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:1432
&gt; +    _WKAppHighlight *wkHighlight = [[_WKAppHighlight alloc] initWithData:highlight.highlight-&gt;createNSData().get() text:text image:nil createNewGroup:highlight.isNewGroup == WebCore::CreateNewGroupForHighlight::Yes ? YES : NO];

It looks like this will leak.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730069</commentid>
    <comment_count>6</comment_count>
      <attachid>420578</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-02-16 18:28:40 -0800</bug_when>
    <thetext>Created attachment 420578
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730102</commentid>
    <comment_count>7</comment_count>
      <attachid>420586</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-02-16 19:59:49 -0800</bug_when>
    <thetext>Created attachment 420586
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730114</commentid>
    <comment_count>8</comment_count>
      <attachid>420586</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-02-16 20:35:53 -0800</bug_when>
    <thetext>Comment on attachment 420586
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKAppHighlight.mm:39
&gt; +    _text = text;

Where&apos;d the image go

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKInspectorExtension.mm:29
&gt; +

Too many newlines</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730188</commentid>
    <comment_count>9</comment_count>
      <attachid>420611</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-02-17 00:56:09 -0800</bug_when>
    <thetext>Created attachment 420611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730192</commentid>
    <comment_count>10</comment_count>
      <attachid>420614</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-02-17 01:12:43 -0800</bug_when>
    <thetext>Created attachment 420614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730197</commentid>
    <comment_count>11</comment_count>
      <attachid>420614</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-02-17 01:23:48 -0800</bug_when>
    <thetext>Comment on attachment 420614
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:1434
&gt; +    if ([delegate respondsToSelector:@selector(_webView:storeAppHighlight:inNewGroup:)])

You should probably just bail at the top, none of this work is worth anything if you&apos;re not going to call the delegate.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKAppHighlight.h:41
&gt; +@property (nonatomic, readonly, copy) NSString * text;

* is a-floating

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKInspectorExtension.mm:29
&gt; +

This extraneous newline is still here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730198</commentid>
    <comment_count>12</comment_count>
      <attachid>420614</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-02-17 01:24:32 -0800</bug_when>
    <thetext>Comment on attachment 420614
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKAppHighlight.mm:39
&gt; +    _text = text;

Where&apos;d the image go? I think you missed my last set of comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730204</commentid>
    <comment_count>13</comment_count>
      <attachid>420619</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-02-17 02:07:14 -0800</bug_when>
    <thetext>Created attachment 420619
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730310</commentid>
    <comment_count>14</comment_count>
      <attachid>420655</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-02-17 09:14:27 -0800</bug_when>
    <thetext>Created attachment 420655
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730371</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-17 10:38:43 -0800</bug_when>
    <thetext>Committed r273013: &lt;https://commits.webkit.org/r273013&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420655.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730373</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-17 10:39:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/74440009&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420570</attachid>
            <date>2021-02-16 17:55:23 -0800</date>
            <delta_ts>2021-02-16 18:57:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222014-20210216175522.patch</filename>
            <type>text/plain</type>
            <size>15075</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyOTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNiMjY4NTU1Y2ZmZmM1MTk5
ZGRkOWJjZTk4MTRhMmQzYTBmMDIwM2QuLjNkZWM5OTc0MWNlODNhYzhkYThiM2Q3ZjZiZmM5NzNk
NTMyNTg1OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDItMTYgIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgQXBwIEhp
Z2hsaWdodCBkZWxlZ2F0ZSB0byBwYXNzIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGhpZ2hs
aWdodCBmb3IgZGlzcGxheS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjAxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgt
W1dLV2ViVmlldyBfc3RvcmVBcHBIaWdobGlnaHQ6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIxLTAyLTE2ICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIEFwcCBIaWdobGlnaHRzIEFQ
SSB0byBvcGVyYXRlIGluIHRlcm1zIG9mIGEgc2luZ2xlIHNlcmlhbGl6ZWQgaGlnaGxpZ2h0IGF0
IGEgdGltZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KaW5kZXggN2Y2MWQ1OWZkODE0ZTcxNTEwNjQzNGE2MDJhYjZiMzQyYWU2MDk2Yi4uNzEwNTdi
NDc5OWEzODZmMzlkMWNiMWVhYTFiZGYzZjE0NDhiMWJmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xMDAsNiArMTAwLDcgQEAKICNp
bXBvcnQgIldlYlZpZXdJbXBsLmgiCiAjaW1wb3J0ICJfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0lu
dGVybmFsLmgiCiAjaW1wb3J0ICJfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oIgorI2ltcG9ydCAi
X1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0RpYWdub3N0aWNMb2dnaW5n
RGVsZWdhdGUuaCIKICNpbXBvcnQgIl9XS0ZpbmREZWxlZ2F0ZS5oIgogI2ltcG9ydCAiX1dLRnJh
bWVIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMTQxNywxNCArMTQxOCwyMSBAQCAtICh2b2lkKV9zZXRB
cHBIaWdobGlnaHREZWxlZ2F0ZTooaWQgPF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlPilkZWxlZ2F0
ZQogfQogCiAjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQotLSAodm9pZClfc3RvcmVBcHBIaWdo
bGlnaHQ6KGNvbnN0IFdlYkNvcmU6OkFwcEhpZ2hsaWdodCYpaGlnaGxpZ2h0SW5mb3JtYXRpb24K
Ky0gKHZvaWQpX3N0b3JlQXBwSGlnaGxpZ2h0Oihjb25zdCBXZWJDb3JlOjpBcHBIaWdobGlnaHQm
KWhpZ2hsaWdodAogewogICAgIGF1dG8gZGVsZWdhdGUgPSBzZWxmLl9hcHBIaWdobGlnaHREZWxl
Z2F0ZTsKICAgICBpZiAoIWRlbGVnYXRlKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoW2Rl
bGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6dXBkYXRlQXBwSGln
aGxpZ2h0c1N0b3JhZ2U6KV0pCi0gICAgICAgIFtkZWxlZ2F0ZSBfd2ViVmlldzpzZWxmIHVwZGF0
ZUFwcEhpZ2hsaWdodHNTdG9yYWdlOmhpZ2hsaWdodEluZm9ybWF0aW9uLmhpZ2hsaWdodC0+Y3Jl
YXRlTlNEYXRhKCkuZ2V0KCldOworICAgIE5TU3RyaW5nICp0ZXh0ID0gbmlsOworCisgICAgaWYg
KGhpZ2hsaWdodC50ZXh0KQorICAgICAgICB0ZXh0ID0gaGlnaGxpZ2h0LnRleHQudmFsdWUoKTsK
KworICAgIF9XS0FwcEhpZ2hsaWdodCAqd2tIaWdobGlnaHQgPSBbW19XS0FwcEhpZ2hsaWdodCBh
bGxvY10gaW5pdFdpdGhEYXRhOmhpZ2hsaWdodC5oaWdobGlnaHQtPmNyZWF0ZU5TRGF0YSgpLmdl
dCgpIHRleHQ6dGV4dCBpbWFnZTpuaWwgY3JlYXRlTmV3R3JvdXA6aGlnaGxpZ2h0LmlzTmV3R3Jv
dXAgPT0gV2ViQ29yZTo6Q3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQ6OlllcyA/IFlFUyA6IE5P
XTsKKworICAgIGlmIChbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2Vi
VmlldzpzdG9yZUFwcEhpZ2hsaWdodDopXSkKKyAgICAgICAgW2RlbGVnYXRlIF93ZWJWaWV3OnNl
bGYgc3RvcmVBcHBIaWdobGlnaHQ6d2tIaWdobGlnaHRdOwogfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHQuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xYmI0MmQ2MTdhNjJiZjJkYTg4YTJlYjIwOTVmY2JhMmRhZWM4ZDVhCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hs
aWdodC5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQvV0tG
b3VuZGF0aW9uLmg+CisKKyNpZiBUQVJHRVRfT1NfSVBIT05FCitAY2xhc3MgVUlJbWFnZTsKKyNl
bHNlCitAY2xhc3MgTlNJbWFnZTsKKyNlbmRpZgorCitXS19DTEFTU19BVkFJTEFCTEUobWFjb3Mo
V0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSkKK0BpbnRlcmZhY2UgX1dLQXBwSGlnaGxpZ2h0
IDogTlNPYmplY3QKKworLSAoaW5zdGFuY2V0eXBlKSBpbml0IE5TX1VOQVZBSUxBQkxFOworCitA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TRGF0YSAqZGF0YTsKKworQHBy
b3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqIHRleHQ7CisKKyNp
ZiBUQVJHRVRfT1NfSVBIT05FCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkp
IFVJSW1hZ2UgKmltYWdlOworI2Vsc2UKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwg
Y29weSkgTlNJbWFnZSAqaW1hZ2U7CisjZW5kaWYKKworQHByb3BlcnR5IChub25hdG9taWMsIHJl
YWRvbmx5KSBCT09MIG5ld0dyb3VwOworCisKK0BlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHQubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0Lm1tCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0NDY3
MGI2NzRjMWRlNTMwNjM1MjkwODJiY2UwODMzNWY4ZWJhMzYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0Lm1tCkBAIC0w
LDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJf
V0tBcHBIaWdobGlnaHQuaCIKKworI2ltcG9ydCAiQ29jb2FJbWFnZS5oIgorCitAaW1wbGVtZW50
YXRpb24gX1dLQXBwSGlnaGxpZ2h0CisKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aERhdGE6KE5T
RGF0YSAqKWRhdGEgdGV4dDooTlNTdHJpbmcgKil0ZXh0IGltYWdlOihDb2NvYUltYWdlICopaW1h
Z2UgY3JlYXRlTmV3R3JvdXA6KEJPT0wpbmV3R3JvdXAKK3sKKyAgICBpZiAoIShzZWxmID0gW3N1
cGVyIGluaXRdKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIF9kYXRhID0gZGF0YTsKKyAg
ICBfdGV4dCA9IHRleHQ7CisgICAgX2ltYWdlID0gaW1hZ2U7CisgICAgX25ld0dyb3VwID0gbmV3
R3JvdXA7CisKKyAgICByZXR1cm4gc2VsZjsKK30KKworQGVuZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUu
aAppbmRleCBkY2IyMDVlNDY3YzExYzBlZTA5N2I3ZmQ1YTY5MmYxMzFkZmZjODhiLi40YzJjZWMz
Nzk5YjhkZDk3MTNjNDgwNjNmNDY4NGI1Y2Q0YmFlYTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUu
aApAQCAtMjUsMTEgKzI1LDE1IEBACiAKICNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5o
PgogCitAY2xhc3MgX1dLQXBwSGlnaGxpZ2h0OworCiBAcHJvdG9jb2wgX1dLQXBwSGlnaGxpZ2h0
RGVsZWdhdGUgPE5TT2JqZWN0PgogCiBAb3B0aW9uYWwKIAotLSAodm9pZClfd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTooTlNEYXRhICopZGF0
YTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgdXBkYXRlQXBwSGlnaGxp
Z2h0c1N0b3JhZ2U6KE5TRGF0YSAqKWRhdGEgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICop
d2ViVmlldyBzdG9yZUFwcEhpZ2hsaWdodDooX1dLQXBwSGlnaGxpZ2h0ICopaGlnaGxpZ2h0IFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKIEBl
bmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Fw
cEhpZ2hsaWdodEludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjM2MGU3MTY2NTU0ZjBjOTJh
NGEzYWIyZGZjOGNkYTcxNTM5NmQ0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodEludGVybmFsLmgKQEAgLTAsMCArMSwz
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgIl9XS0FwcEhpZ2hsaWdodC5oIgorCitAaW50ZXJm
YWNlIF9XS0FwcEhpZ2hsaWdodCAoKQorCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEYXRhOihO
U0RhdGEgKilkYXRhIHRleHQ6KE5TU3RyaW5nICopdGV4dCBpbWFnZTooQ29jb2FJbWFnZSAqKWlt
YWdlIGNyZWF0ZU5ld0dyb3VwOihCT09MKW5ld0dyb3VwOworCitAZW5kCisKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDYwNjFhNjM3ZGI5
M2JiMGFmYzZkOWM2NTE2YzNkMDNlMjM1YjVjYzEuLjdhMGM4OTE2NmUxM2M2ZTRmYjY4NzExMzI2
N2U5MWM0YWM0ODZlNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtOTQzLDYgKzk0Myw5IEBACiAJCTQ0NkRDNjRDMjRBMkQ4RTUwMDYx
RjM5MCAvKiBQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ2REM2NEIyNEEyRDhBRDAwNjFGMzkw
IC8qIFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLmggKi87IH07CiAJCTQ0NzZFRjA5
MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ3NkVGMDgyNUJGQzhCNzAwNEEw
NTg3IC8qIF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDQ4MjczNDcyNDUyOEY2MDAwQTk1NDkzIC8qIENv
Y29hSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ0ODI3MzQ2MjQ1MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggKi87IH07CisJCTQ0OTMx
NkEzMjVEQzdEQzQwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0OTMxNkExMjVEQzdEQzMwMEFBNjZERSAv
KiBfV0tBcHBIaWdobGlnaHQuaCAqLzsgfTsKKwkJNDQ5MzE2QTQyNURDN0RDNDAwQUE2NkRFIC8q
IF9XS0FwcEhpZ2hsaWdodC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ0OTMxNkEyMjVEQzdEQzMwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHQubW0g
Ki87IH07CisJCTQ0OTMxNkE2MjVEQzlEMDAwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHRJbnRl
cm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ5
MzE2QTUyNURDOUQwMDAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodEludGVybmFsLmggKi87IH07
CiAJCTQ0OUQ5MERBMjFGREMzMEIwMEY2NzdDMCAvKiBMb2NhbEF1dGhlbnRpY2F0aW9uU29mdExp
bmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDlE
OTBEODIxRkQ2M0ZFMDBGNjc3QzAgLyogTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tICov
OyB9OwogCQk0NEU5MzZGRDI0NDdDMkQ4MDA5RkEzRTMgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xJ
RC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFOTM2
RkMyNDQ3QzI1NjAwOUZBM0UzIC8qIExlZ2FjeUN1c3RvbVByb3RvY29sSUQuaCAqLzsgfTsKIAkJ
NDRFQzNFQTkyNDdGNUMwOTAwNTk0ODlDIC8qIF9XS0RyYWdBY3Rpb25zSW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RUMzRUE4MjQ3RjVD
MDgwMDU5NDg5QyAvKiBfV0tEcmFnQWN0aW9uc0ludGVybmFsLmggKi87IH07CkBAIC0zNzk2LDYg
KzM3OTksOSBAQAogCQk0NDZEQzY0QjI0QTJEOEFEMDA2MUYzOTAgLyogUGxheWJhY2tTZXNzaW9u
Q29udGV4dElkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxh
eWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDQ3NkVGMDgyNUJGQzhCNzAwNEEwNTg3IC8qIF9XS0FwcEhpZ2hsaWdodERlbGVnYXRl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0FwcEhpZ2hsaWdodERlbGVn
YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0ODI3MzQ2MjQ1MjhGNjAwMEE5
NTQ5MyAvKiBDb2NvYUltYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENv
Y29hSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQ5MzE2QTEyNURDN0RD
MzAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBfV0tBcHBIaWdobGlnaHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDQ5MzE2QTIyNURDN0RDMzAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodC5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS0FwcEhpZ2hsaWdodC5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQ5MzE2QTUyNURDOUQwMDAwQUE2NkRFIC8qIF9XS0Fw
cEhpZ2hsaWdodEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9X
S0FwcEhpZ2hsaWdodEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0
OUQ5MEQ4MjFGRDYzRkUwMEY2NzdDMCAvKiBMb2NhbEF1dGhlbnRpY2F0aW9uU29mdExpbmsubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2NhbEF1dGhlbnRpY2F0
aW9uU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0QTQ4MUM2MjFG
MkQyN0IwMEYyRjkxOSAvKiBDbGllbnRDZXJ0aWZpY2F0ZUF1dGhlbnRpY2F0aW9uWFBDQ29uc3Rh
bnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENsaWVudENlcnRpZmljYXRlQXV0aGVudGljYXRp
b25YUENDb25zdGFudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEU5MzZG
QzI0NDdDMjU2MDA5RkEzRTMgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xJRC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBMZWdhY3lDdXN0b21Qcm90b2NvbElELmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NzUxLDcgKzc3NTcsMTAgQEAKIAkJCQkzN0E1RTAxMjE4
QkJGOTM3MDAwQTA4MUUgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm8uaCAqLywKIAkJCQkzN0E1
RTAxMTE4QkJGOTM3MDAwQTA4MUUgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm8ubW0gKi8sCiAJ
CQkJMzc5QTg3MzUxOEJCRkE0MzAwNTg4QUYyIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvSW50
ZXJuYWwuaCAqLywKKwkJCQk0NDkzMTZBMTI1REM3REMzMDBBQTY2REUgLyogX1dLQXBwSGlnaGxp
Z2h0LmggKi8sCisJCQkJNDQ5MzE2QTIyNURDN0RDMzAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdo
dC5tbSAqLywKIAkJCQk0NDc2RUYwODI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0
RGVsZWdhdGUuaCAqLywKKwkJCQk0NDkzMTZBNTI1REM5RDAwMDBBQTY2REUgLyogX1dLQXBwSGln
aGxpZ2h0SW50ZXJuYWwuaCAqLywKIAkJCQk2MzEwOEY5NDFGOTY3MTlDMDBBMERCODQgLyogX1dL
QXBwbGljYXRpb25NYW5pZmVzdC5oICovLAogCQkJCTYzMTA4Rjk1MUY5NjcxOUMwMEEwREI4NCAv
KiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lm1tICovLAogCQkJCTYzMTA4Rjk4MUY5NjcxRjcwMEEw
REI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0SW50ZXJuYWwuaCAqLywKQEAgLTExMzkzLDcg
KzExNDAyLDkgQEAKIAkJCWZpbGVzID0gKAogCQkJCTM3QTVFMDE0MThCQkY5M0YwMDBBMDgxRSAv
KiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc5QTg3MzYx
OEJCRkE0MzAwNTg4QUYyIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvSW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQ0OTMxNkEzMjVEQzdEQzQwMEFBNjZERSAvKiBfV0tBcHBIaWdobGln
aHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0NzZFRjA5MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tB
cHBIaWdobGlnaHREZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDQ5MzE2QTYyNURDOUQw
MDAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk2MzEwOEY5NjFGOTY3MTlDMDBBMERCODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNjMxMDhGOTkxRjk2NzFGNzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0
aW9uTWFuaWZlc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjQ0MjkxOTIxRkE1OTFD
OTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMTM3MzUsNiAr
MTM3NDYsNyBAQAogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNDQ5MzE2QTQyNURDN0RDNDAw
QUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTU3OTBBNjcx
MjU2NzlGMUEwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1
dHMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1NzkwQTY3RDI1NjdBMTNFMDA3N0M1QTcgLyogX1dL
QXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTU3OTBBNjg5MjU2N0EyOEEwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdG9yQXNzZXJ0aW9u
UmVzcG9uc2UubW0gaW4gU291cmNlcyAqLywK
</data>
<flag name="commit-queue"
          id="439144"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420578</attachid>
            <date>2021-02-16 18:28:40 -0800</date>
            <delta_ts>2021-02-16 20:00:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222014-20210216182839.patch</filename>
            <type>text/plain</type>
            <size>14993</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyOTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNiMjY4NTU1Y2ZmZmM1MTk5
ZGRkOWJjZTk4MTRhMmQzYTBmMDIwM2QuLjNkZWM5OTc0MWNlODNhYzhkYThiM2Q3ZjZiZmM5NzNk
NTMyNTg1OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDItMTYgIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgQXBwIEhp
Z2hsaWdodCBkZWxlZ2F0ZSB0byBwYXNzIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGhpZ2hs
aWdodCBmb3IgZGlzcGxheS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjAxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgt
W1dLV2ViVmlldyBfc3RvcmVBcHBIaWdobGlnaHQ6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIxLTAyLTE2ICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIEFwcCBIaWdobGlnaHRzIEFQ
SSB0byBvcGVyYXRlIGluIHRlcm1zIG9mIGEgc2luZ2xlIHNlcmlhbGl6ZWQgaGlnaGxpZ2h0IGF0
IGEgdGltZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KaW5kZXggN2Y2MWQ1OWZkODE0ZTcxNTEwNjQzNGE2MDJhYjZiMzQyYWU2MDk2Yi4uODVjYTMw
ZmJhZGVhNDIwM2EwZDRkODg1M2Q4ZDRhZWE0NmY4MzQ5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xMDAsNiArMTAwLDcgQEAKICNp
bXBvcnQgIldlYlZpZXdJbXBsLmgiCiAjaW1wb3J0ICJfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0lu
dGVybmFsLmgiCiAjaW1wb3J0ICJfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oIgorI2ltcG9ydCAi
X1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0RpYWdub3N0aWNMb2dnaW5n
RGVsZWdhdGUuaCIKICNpbXBvcnQgIl9XS0ZpbmREZWxlZ2F0ZS5oIgogI2ltcG9ydCAiX1dLRnJh
bWVIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMTQxNywxNCArMTQxOCwyMSBAQCAtICh2b2lkKV9zZXRB
cHBIaWdobGlnaHREZWxlZ2F0ZTooaWQgPF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlPilkZWxlZ2F0
ZQogfQogCiAjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQotLSAodm9pZClfc3RvcmVBcHBIaWdo
bGlnaHQ6KGNvbnN0IFdlYkNvcmU6OkFwcEhpZ2hsaWdodCYpaGlnaGxpZ2h0SW5mb3JtYXRpb24K
Ky0gKHZvaWQpX3N0b3JlQXBwSGlnaGxpZ2h0Oihjb25zdCBXZWJDb3JlOjpBcHBIaWdobGlnaHQm
KWhpZ2hsaWdodAogewogICAgIGF1dG8gZGVsZWdhdGUgPSBzZWxmLl9hcHBIaWdobGlnaHREZWxl
Z2F0ZTsKICAgICBpZiAoIWRlbGVnYXRlKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoW2Rl
bGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6dXBkYXRlQXBwSGln
aGxpZ2h0c1N0b3JhZ2U6KV0pCi0gICAgICAgIFtkZWxlZ2F0ZSBfd2ViVmlldzpzZWxmIHVwZGF0
ZUFwcEhpZ2hsaWdodHNTdG9yYWdlOmhpZ2hsaWdodEluZm9ybWF0aW9uLmhpZ2hsaWdodC0+Y3Jl
YXRlTlNEYXRhKCkuZ2V0KCldOworICAgIE5TU3RyaW5nICp0ZXh0ID0gbmlsOworCisgICAgaWYg
KGhpZ2hsaWdodC50ZXh0KQorICAgICAgICB0ZXh0ID0gaGlnaGxpZ2h0LnRleHQudmFsdWUoKTsK
KworICAgIGF1dG8gd2tIaWdobGlnaHQgPSBhZG9wdE5TKFtbX1dLQXBwSGlnaGxpZ2h0IGFsbG9j
XSBpbml0V2l0aEhpZ2hsaWdodDpoaWdobGlnaHQuaGlnaGxpZ2h0LT5jcmVhdGVOU0RhdGEoKS5n
ZXQoKSB0ZXh0OnRleHQgaW1hZ2U6bmlsXSk7CisKKyAgICBpZiAoW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6c3RvcmVBcHBIaWdobGlnaHQ6aW5OZXdHcm91
cDopXSkKKyAgICAgICAgW2RlbGVnYXRlIF93ZWJWaWV3OnNlbGYgc3RvcmVBcHBIaWdobGlnaHQ6
d2tIaWdobGlnaHQuZ2V0KCkgaW5OZXdHcm91cDpoaWdobGlnaHQuaXNOZXdHcm91cCA9PSBXZWJD
b3JlOjpDcmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodDo6WWVzID8gWUVTIDogTk9dOwogfQogI2Vu
ZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tB
cHBIaWdobGlnaHQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBI
aWdobGlnaHQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZGNmN2RhMDExNDY2ZGQ4MjdiOTNlN2VkZGQyYWI2NTM5
M2UwMmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS0FwcEhpZ2hsaWdodC5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1w
b3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBUQVJHRVRfT1NfSVBIT05FCitAY2xh
c3MgVUlJbWFnZTsKKyNlbHNlCitAY2xhc3MgTlNJbWFnZTsKKyNlbmRpZgorCitXS19DTEFTU19B
VkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSkKK0BpbnRlcmZhY2Ug
X1dLQXBwSGlnaGxpZ2h0IDogTlNPYmplY3QKKworLSAoaW5zdGFuY2V0eXBlKWluaXQgTlNfVU5B
VkFJTEFCTEU7CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgY29weSkgTlNEYXRh
ICpoaWdobGlnaHQ7CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgY29weSkgTlNT
dHJpbmcgKiB0ZXh0OworCisjaWYgVEFSR0VUX09TX0lQSE9ORQorQHByb3BlcnR5IChub25hdG9t
aWMsIHJlYWRvbmx5LCBjb3B5KSBVSUltYWdlICppbWFnZTsKKyNlbHNlCitAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TSW1hZ2UgKmltYWdlOworI2VuZGlmCisKKworQGVu
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhp
Z2hsaWdodC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdo
bGlnaHQubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBkODUzZjA1MGQxNGU4ZmQ5YmJmZWFhNzI0ZGEzZTk4Mjhl
ZWE1NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tBcHBIaWdobGlnaHQubW0KQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBv
cnQgImNvbmZpZy5oIgorI2ltcG9ydCAiX1dLQXBwSGlnaGxpZ2h0LmgiCisKKyNpbXBvcnQgIkNv
Y29hSW1hZ2UuaCIKKworQGltcGxlbWVudGF0aW9uIF9XS0FwcEhpZ2hsaWdodAorCistIChpbnN0
YW5jZXR5cGUpaW5pdFdpdGhIaWdobGlnaHQ6KE5TRGF0YSAqKWhpZ2hsaWdodCB0ZXh0OihOU1N0
cmluZyAqKXRleHQgaW1hZ2U6KENvY29hSW1hZ2UgKilpbWFnZQoreworICAgIGlmICghKHNlbGYg
PSBbc3VwZXIgaW5pdF0pKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgX2hpZ2hsaWdodCA9
IGhpZ2hsaWdodDsKKyAgICBfdGV4dCA9IHRleHQ7CisKKyAgICByZXR1cm4gc2VsZjsKK30KKwor
QGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Fw
cEhpZ2hsaWdodERlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaAppbmRleCBkY2IyMDVlNDY3YzExYzBlZTA5N2I3ZmQ1
YTY5MmYxMzFkZmZjODhiLi5kMGU5MjQ2NmJiZTliYzNlM2YxNDdlODI1ZWQzMmI1MGY2MThlYzVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGln
aGxpZ2h0RGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaApAQCAtMjUsMTEgKzI1LDE1IEBACiAKICNpbXBvcnQg
PEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgogCitAY2xhc3MgX1dLQXBwSGlnaGxpZ2h0OworCiBA
cHJvdG9jb2wgX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUgPE5TT2JqZWN0PgogCiBAb3B0aW9uYWwK
IAotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyB1cGRhdGVBcHBIaWdobGln
aHRzU3RvcmFnZTooTlNEYXRhICopZGF0YTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAq
KXdlYlZpZXcgdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2U6KE5TRGF0YSAqKWRhdGEgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLSAodm9p
ZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzdG9yZUFwcEhpZ2hsaWdodDooX1dLQXBw
SGlnaGxpZ2h0ICopaGlnaGxpZ2h0IGluTmV3R3JvdXA6KEJPT0wpaW5OZXdHcm91cCBXS19BUElf
QVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiBAZW5kCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdo
bGlnaHRJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Fw
cEhpZ2hsaWdodEludGVybmFsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWMwY2IwNDYxMGY2ZTQ4YmI2N2NlODdl
NTNlMTY3YjUzZjQ1ZWE5YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHRJbnRlcm5hbC5oCkBAIC0wLDAgKzEsMzMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW1wb3J0ICJfV0tBcHBIaWdobGlnaHQuaCIKKworQGludGVyZmFjZSBf
V0tBcHBIaWdobGlnaHQgKCkKKworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoSGlnaGxpZ2h0OihO
U0RhdGEgKiloaWdobGlnaHQgdGV4dDooTlNTdHJpbmcgKil0ZXh0IGltYWdlOihDb2NvYUltYWdl
ICopaW1hZ2U7CisKK0BlbmQKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNjA2MWE2MzdkYjkzYmIwYWZjNmQ5YzY1MTZjM2QwM2UyMzVi
NWNjMS4uN2EwYzg5MTY2ZTEzYzZlNGZiNjg3MTEzMjY3ZTkxYzRhYzQ4NmU0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NDMsNiAr
OTQzLDkgQEAKIAkJNDQ2REM2NEMyNEEyRDhFNTAwNjFGMzkwIC8qIFBsYXliYWNrU2Vzc2lvbkNv
bnRleHRJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NDZEQzY0QjI0QTJEOEFEMDA2MUYzOTAgLyogUGxheWJhY2tTZXNzaW9uQ29udGV4
dElkZW50aWZpZXIuaCAqLzsgfTsKIAkJNDQ3NkVGMDkyNUJGQzhCNzAwNEEwNTg3IC8qIF9XS0Fw
cEhpZ2hsaWdodERlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NDc2RUYwODI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0RGVs
ZWdhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0NDgyNzM0NzI0NTI4RjYwMDBBOTU0OTMgLyogQ29jb2FJbWFnZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ4MjczNDYyNDUyOEY2MDAwQTk1NDkz
IC8qIENvY29hSW1hZ2UuaCAqLzsgfTsKKwkJNDQ5MzE2QTMyNURDN0RDNDAwQUE2NkRFIC8qIF9X
S0FwcEhpZ2hsaWdodC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDQ5MzE2QTEyNURDN0RDMzAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodC5oICovOyB9
OworCQk0NDkzMTZBNDI1REM3REM0MDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0Lm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ5MzE2QTIyNURDN0RD
MzAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodC5tbSAqLzsgfTsKKwkJNDQ5MzE2QTYyNURDOUQw
MDAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDkzMTZBNTI1REM5RDAwMDBBQTY2REUgLyog
X1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaCAqLzsgfTsKIAkJNDQ5RDkwREEyMUZEQzMwQjAwRjY3
N0MwIC8qIExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0OUQ5MEQ4MjFGRDYzRkUwMEY2NzdDMCAvKiBM
b2NhbEF1dGhlbnRpY2F0aW9uU29mdExpbmsubW0gKi87IH07CiAJCTQ0RTkzNkZEMjQ0N0MyRDgw
MDlGQTNFMyAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbElELmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEU5MzZGQzI0NDdDMjU2MDA5RkEzRTMgLyogTGVn
YWN5Q3VzdG9tUHJvdG9jb2xJRC5oICovOyB9OwogCQk0NEVDM0VBOTI0N0Y1QzA5MDA1OTQ4OUMg
LyogX1dLRHJhZ0FjdGlvbnNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDRFQzNFQTgyNDdGNUMwODAwNTk0ODlDIC8qIF9XS0RyYWdBY3Rp
b25zSW50ZXJuYWwuaCAqLzsgfTsKQEAgLTM3OTYsNiArMzc5OSw5IEBACiAJCTQ0NkRDNjRCMjRB
MkQ4QUQwMDYxRjM5MCAvKiBQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRp
Zmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDc2RUYwODI1QkZDOEI3MDA0
QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDQ4MjczNDYyNDUyOEY2MDAwQTk1NDkzIC8qIENvY29hSW1hZ2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29jb2FJbWFnZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0NDkzMTZBMTI1REM3REMzMDBBQTY2REUgLyogX1dLQXBwSGlnaGxp
Z2h0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0FwcEhpZ2hsaWdodC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDkzMTZBMjI1REM3REMzMDBBQTY2REUg
LyogX1dLQXBwSGlnaGxpZ2h0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gX1dLQXBwSGlnaGxpZ2h0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
NDkzMTZBNTI1REM5RDAwMDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ5RDkwRDgyMUZENjNGRTAwRjY3N0MwIC8q
IExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRBNDgxQzYyMUYyRDI3QjAwRjJGOTE5IC8qIENsaWVudENl
cnRpZmljYXRlQXV0aGVudGljYXRpb25YUENDb25zdGFudHMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ2xpZW50Q2VydGlmaWNhdGVBdXRoZW50aWNhdGlvblhQQ0NvbnN0YW50cy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0RTkzNkZDMjQ0N0MyNTYwMDlGQTNFMyAvKiBMZWdh
Y3lDdXN0b21Qcm90b2NvbElELmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExl
Z2FjeUN1c3RvbVByb3RvY29sSUQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc3
NTEsNyArNzc1NywxMCBAQAogCQkJCTM3QTVFMDEyMThCQkY5MzcwMDBBMDgxRSAvKiBfV0tBY3Rp
dmF0ZWRFbGVtZW50SW5mby5oICovLAogCQkJCTM3QTVFMDExMThCQkY5MzcwMDBBMDgxRSAvKiBf
V0tBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSAqLywKIAkJCQkzNzlBODczNTE4QkJGQTQzMDA1ODhB
RjIgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oICovLAorCQkJCTQ0OTMxNkEx
MjVEQzdEQzMwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHQuaCAqLywKKwkJCQk0NDkzMTZBMjI1
REM3REMzMDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0Lm1tICovLAogCQkJCTQ0NzZFRjA4MjVC
RkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oICovLAorCQkJCTQ0OTMx
NkE1MjVEQzlEMDAwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHRJbnRlcm5hbC5oICovLAogCQkJ
CTYzMTA4Rjk0MUY5NjcxOUMwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0LmggKi8s
CiAJCQkJNjMxMDhGOTUxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3Qu
bW0gKi8sCiAJCQkJNjMxMDhGOTgxRjk2NzFGNzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFu
aWZlc3RJbnRlcm5hbC5oICovLApAQCAtMTEzOTMsNyArMTE0MDIsOSBAQAogCQkJZmlsZXMgPSAo
CiAJCQkJMzdBNUUwMTQxOEJCRjkzRjAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZv
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzlBODczNjE4QkJGQTQzMDA1ODhBRjIgLyogX1dLQWN0
aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDQ5MzE2QTMy
NURDN0RDNDAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDQ3NkVGMDkyNUJGQzhCNzAwNEEwNTg3IC8qIF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmggaW4g
SGVhZGVycyAqLywKKwkJCQk0NDkzMTZBNjI1REM5RDAwMDBBQTY2REUgLyogX1dLQXBwSGlnaGxp
Z2h0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTYzMTA4Rjk2MUY5NjcxOUMwMEEwREI4
NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk2MzEwOEY5
OTFGOTY3MUY3MDBBMERCODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdEludGVybmFsLmggaW4g
SGVhZGVycyAqLywKIAkJCQlGNDQyOTE5MjFGQTU5MUM5MDAyQ0M5M0UgLyogX1dLQXR0YWNobWVu
dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMzczNSw2ICsxMzc0Niw3IEBACiAJCQlpc2EgPSBQQlhT
b3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlm
aWxlcyA9ICgKKwkJCQk0NDkzMTZBNDI1REM3REM0MDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTc5MEE2NzEyNTY3OUYxQTAwNzdDNUE3IC8qIF9XS0F1
dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTU3OTBBNjdEMjU2N0ExM0UwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnND
bGllbnRPdXRwdXRzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTc5MEE2ODkyNTY3QTI4QTAwNzdD
NUE3IC8qIF9XS0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5tbSBpbiBTb3VyY2VzICov
LAo=
</data>
<flag name="commit-queue"
          id="439156"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420586</attachid>
            <date>2021-02-16 19:59:49 -0800</date>
            <delta_ts>2021-02-17 00:56:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222014-20210216195948.patch</filename>
            <type>text/plain</type>
            <size>23033</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyOTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNiMjY4NTU1Y2ZmZmM1MTk5
ZGRkOWJjZTk4MTRhMmQzYTBmMDIwM2QuLjNkZWM5OTc0MWNlODNhYzhkYThiM2Q3ZjZiZmM5NzNk
NTMyNTg1OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDItMTYgIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgQXBwIEhp
Z2hsaWdodCBkZWxlZ2F0ZSB0byBwYXNzIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGhpZ2hs
aWdodCBmb3IgZGlzcGxheS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjAxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgt
W1dLV2ViVmlldyBfc3RvcmVBcHBIaWdobGlnaHQ6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIxLTAyLTE2ICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIEFwcCBIaWdobGlnaHRzIEFQ
SSB0byBvcGVyYXRlIGluIHRlcm1zIG9mIGEgc2luZ2xlIHNlcmlhbGl6ZWQgaGlnaGxpZ2h0IGF0
IGEgdGltZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb250YWN0LXBpY2tl
ci9Db250YWN0c1JlcXVlc3REYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NvbnRhY3Qt
cGlja2VyL0NvbnRhY3RzUmVxdWVzdERhdGEuaAppbmRleCAxNGYzMWQ5MjFkMjk0ZDk3MmVlNTA3
ZmI4N2MzMDViNmI5Njg0ODUxLi40ZmUwN2Y3YTg4Y2VmYTA4MzU2Y2FjZWNlMDEzY2VjYjc3Njkz
ZTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NvbnRhY3QtcGlja2VyL0Nv
bnRhY3RzUmVxdWVzdERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NvbnRhY3Qt
cGlja2VyL0NvbnRhY3RzUmVxdWVzdERhdGEuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBi
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCA3MDBjYzgwZDBmZjRjMzZkNzVl
YmNhNmJhMzlhNGZmYjVhNmJiYmNiLi5lNWRiNmMxOTc1NDVhMTlhMWVlZWJlY2UxMWIyYzQ1ODhk
OWI0MjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0yNTQsNiArMjU0LDcgQEAgVUlQcm9j
ZXNzL0FQSS9DL21hYy9XS1BhZ2VQcml2YXRlTWFjLm1tCiBVSVByb2Nlc3MvQVBJL0MvbWFjL1dL
UHJvdGVjdGlvblNwYWNlTlMubW0KIAogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBY3RpdmF0ZWRF
bGVtZW50SW5mby5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHQubW0KIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5tbQogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBdHRhY2htZW50Lm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRp
b25TZXNzaW9uLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQppbmRleCA3ZjYxZDU5ZmQ4MTRlNzE1MTA2NDM0YTYwMmFiNmIzNDJhZTYwOTZiLi44
NWNhMzBmYmFkZWE0MjAzYTBkNGQ4ODUzZDhkNGFlYTQ2ZjgzNDk1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTEwMCw2ICsxMDAsNyBA
QAogI2ltcG9ydCAiV2ViVmlld0ltcGwuaCIKICNpbXBvcnQgIl9XS0FjdGl2YXRlZEVsZW1lbnRJ
bmZvSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmgiCisjaW1w
b3J0ICJfV0tBcHBIaWdobGlnaHRJbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLRGlhZ25vc3RpY0xv
Z2dpbmdEZWxlZ2F0ZS5oIgogI2ltcG9ydCAiX1dLRmluZERlbGVnYXRlLmgiCiAjaW1wb3J0ICJf
V0tGcmFtZUhhbmRsZUludGVybmFsLmgiCkBAIC0xNDE3LDE0ICsxNDE4LDIxIEBAIC0gKHZvaWQp
X3NldEFwcEhpZ2hsaWdodERlbGVnYXRlOihpZCA8X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU+KWRl
bGVnYXRlCiB9CiAKICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCi0tICh2b2lkKV9zdG9yZUFw
cEhpZ2hsaWdodDooY29uc3QgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0JiloaWdobGlnaHRJbmZvcm1h
dGlvbgorLSAodm9pZClfc3RvcmVBcHBIaWdobGlnaHQ6KGNvbnN0IFdlYkNvcmU6OkFwcEhpZ2hs
aWdodCYpaGlnaGxpZ2h0CiB7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IHNlbGYuX2FwcEhpZ2hsaWdo
dERlbGVnYXRlOwogICAgIGlmICghZGVsZWdhdGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlm
IChbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzp1cGRhdGVB
cHBIaWdobGlnaHRzU3RvcmFnZTopXSkKLSAgICAgICAgW2RlbGVnYXRlIF93ZWJWaWV3OnNlbGYg
dXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2U6aGlnaGxpZ2h0SW5mb3JtYXRpb24uaGlnaGxpZ2h0
LT5jcmVhdGVOU0RhdGEoKS5nZXQoKV07CisgICAgTlNTdHJpbmcgKnRleHQgPSBuaWw7CisKKyAg
ICBpZiAoaGlnaGxpZ2h0LnRleHQpCisgICAgICAgIHRleHQgPSBoaWdobGlnaHQudGV4dC52YWx1
ZSgpOworCisgICAgYXV0byB3a0hpZ2hsaWdodCA9IGFkb3B0TlMoW1tfV0tBcHBIaWdobGlnaHQg
YWxsb2NdIGluaXRXaXRoSGlnaGxpZ2h0OmhpZ2hsaWdodC5oaWdobGlnaHQtPmNyZWF0ZU5TRGF0
YSgpLmdldCgpIHRleHQ6dGV4dCBpbWFnZTpuaWxdKTsKKworICAgIGlmIChbZGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpzdG9yZUFwcEhpZ2hsaWdodDppbk5l
d0dyb3VwOildKQorICAgICAgICBbZGVsZWdhdGUgX3dlYlZpZXc6c2VsZiBzdG9yZUFwcEhpZ2hs
aWdodDp3a0hpZ2hsaWdodC5nZXQoKSBpbk5ld0dyb3VwOmhpZ2hsaWdodC5pc05ld0dyb3VwID09
IFdlYkNvcmU6OkNyZWF0ZU5ld0dyb3VwRm9ySGlnaGxpZ2h0OjpZZXMgPyBZRVMgOiBOT107CiB9
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS0FwcEhpZ2hsaWdodC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0FwcEhpZ2hsaWdodC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkY2Y3ZGEwMTE0NjZkZDgyN2I5M2U3ZWRkZDJh
YjY1MzkzZTAyZDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0LmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24uaD4KKworI2lmIFRBUkdFVF9PU19JUEhPTkUK
K0BjbGFzcyBVSUltYWdlOworI2Vsc2UKK0BjbGFzcyBOU0ltYWdlOworI2VuZGlmCisKK1dLX0NM
QVNTX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKQorQGludGVy
ZmFjZSBfV0tBcHBIaWdobGlnaHQgOiBOU09iamVjdAorCistIChpbnN0YW5jZXR5cGUpaW5pdCBO
U19VTkFWQUlMQUJMRTsKKworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBO
U0RhdGEgKmhpZ2hsaWdodDsKKworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5
KSBOU1N0cmluZyAqIHRleHQ7CisKKyNpZiBUQVJHRVRfT1NfSVBIT05FCitAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHksIGNvcHkpIFVJSW1hZ2UgKmltYWdlOworI2Vsc2UKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkb25seSwgY29weSkgTlNJbWFnZSAqaW1hZ2U7CisjZW5kaWYKKwor
CitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
QXBwSGlnaGxpZ2h0Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Fw
cEhpZ2hsaWdodC5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMGQ4NTNmMDUwZDE0ZThmZDliYmZlYWE3MjRkYTNl
OTgyOGVlYTU0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0FwcEhpZ2hsaWdodC5tbQpAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJfV0tBcHBIaWdobGlnaHQuaCIKKworI2ltcG9y
dCAiQ29jb2FJbWFnZS5oIgorCitAaW1wbGVtZW50YXRpb24gX1dLQXBwSGlnaGxpZ2h0CisKKy0g
KGluc3RhbmNldHlwZSlpbml0V2l0aEhpZ2hsaWdodDooTlNEYXRhICopaGlnaGxpZ2h0IHRleHQ6
KE5TU3RyaW5nICopdGV4dCBpbWFnZTooQ29jb2FJbWFnZSAqKWltYWdlCit7CisgICAgaWYgKCEo
c2VsZiA9IFtzdXBlciBpbml0XSkpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBfaGlnaGxp
Z2h0ID0gaGlnaGxpZ2h0OworICAgIF90ZXh0ID0gdGV4dDsKKworICAgIHJldHVybiBzZWxmOwor
fQorCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oCmluZGV4IGRjYjIwNWU0NjdjMTFjMGVlMDk3
YjdmZDVhNjkyZjEzMWRmZmM4OGIuLmQwZTkyNDY2YmJlOWJjM2UzZjE0N2U4MjVlZDMyYjUwZjYx
OGVjNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tB
cHBIaWdobGlnaHREZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oCkBAIC0yNSwxMSArMjUsMTUgQEAKIAogI2lt
cG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAKK0BjbGFzcyBfV0tBcHBIaWdobGlnaHQ7
CisKIEBwcm90b2NvbCBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZSA8TlNPYmplY3Q+CiAKIEBvcHRp
b25hbAogCi0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHVwZGF0ZUFwcEhp
Z2hsaWdodHNTdG9yYWdlOihOU0RhdGEgKilkYXRhOworLSAodm9pZClfd2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldyB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTooTlNEYXRhICopZGF0YSBX
S19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCist
ICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHN0b3JlQXBwSGlnaGxpZ2h0Oihf
V0tBcHBIaWdobGlnaHQgKiloaWdobGlnaHQgaW5OZXdHcm91cDooQk9PTClpbk5ld0dyb3VwIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKIEBl
bmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Fw
cEhpZ2hsaWdodEludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYzBjYjA0NjEwZjZlNDhiYjY3
Y2U4N2U1M2UxNjdiNTNmNDVlYTliCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodEludGVybmFsLmgKQEAgLTAsMCArMSwz
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgIl9XS0FwcEhpZ2hsaWdodC5oIgorCitAaW50ZXJm
YWNlIF9XS0FwcEhpZ2hsaWdodCAoKQorCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhIaWdobGln
aHQ6KE5TRGF0YSAqKWhpZ2hsaWdodCB0ZXh0OihOU1N0cmluZyAqKXRleHQgaW1hZ2U6KENvY29h
SW1hZ2UgKilpbWFnZTsKKworQGVuZAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS0luc3BlY3Rvci5tbQppbmRleCA2YmViNDVlODQ2NTk4MWY5ZTA5MjQ3MmVh
NGIzMTc4NjY3MjZiZTExLi4zYmI2YzAwOTRiMjE5MDI5MGY5NDViOTQ3YjAzNThiNjcyZDE2ODRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVj
dG9yLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0
b3IubW0KQEAgLTE4NCw3ICsxODQsNyBAQCAtICh2b2lkKXJlZ2lzdGVyRXh0ZW5zaW9uV2l0aElE
OihOU1N0cmluZyAqKWV4dGVuc2lvbklEIGRpc3BsYXlOYW1lOihOU1N0cmluZyAqKQogI2lmIEVO
QUJMRShJTlNQRUNUT1JfRVhURU5TSU9OUykKICAgICBfaW5zcGVjdG9yLT5leHRlbnNpb25Db250
cm9sbGVyKCkucmVnaXN0ZXJFeHRlbnNpb24oZXh0ZW5zaW9uSUQsIGRpc3BsYXlOYW1lLCBbcHJv
dGVjdGVkRXh0ZW5zaW9uSUQgPSByZXRhaW5QdHIoZXh0ZW5zaW9uSUQpLCBwcm90ZWN0ZWRTZWxm
ID0gcmV0YWluUHRyKHNlbGYpLCBjYXB0dXJlZEJsb2NrID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRp
b25IYW5kbGVyKV0gKEV4cGVjdGVkPGJvb2wsIFdlYktpdDo6SW5zcGVjdG9yRXh0ZW5zaW9uRXJy
b3I+IHJlc3VsdCkgbXV0YWJsZSB7CiAgICAgICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgICAg
ICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNv
ZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6ZWRGYWlsdXJlUmVhc29uRXJy
b3JLZXk6IGluc3BlY3RvckV4dGVuc2lvbkVycm9yVG9TdHJpbmcocmVzdWx0LmVycm9yKCkpfV0s
IG5pbCk7CisgICAgICAgICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFp
bjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6
ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6IFdlYktpdDo6aW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3JU
b1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSwgbmlsKTsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogCkBAIC0yMDAsNyArMjAwLDcgQEAgLSAodm9pZCl1bnJlZ2lzdGVyRXh0ZW5zaW9u
OihfV0tJbnNwZWN0b3JFeHRlbnNpb24gKilleHRlbnNpb24gY29tcGxldGlvbkhhbmRsZXIKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SX0VYVEVOU0lPTlMpCiAgICAgX2luc3BlY3Rvci0+ZXh0ZW5zaW9u
Q29udHJvbGxlcigpLnVucmVnaXN0ZXJFeHRlbnNpb24oZXh0ZW5zaW9uLmV4dGVuc2lvbklELCBb
cHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKSwgY2FwdHVyZWRCbG9jayA9IG1ha2VCbG9j
a1B0cihjb21wbGV0aW9uSGFuZGxlcildIChFeHBlY3RlZDxib29sLCBXZWJLaXQ6Okluc3BlY3Rv
ckV4dGVuc2lvbkVycm9yPiByZXN1bHQpIG11dGFibGUgewogICAgICAgICBpZiAoIXJlc3VsdCkg
ewotICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhbTlNFcnJvciBlcnJvcldpdGhEb21haW46V0tF
cnJvckRvbWFpbiBjb2RlOldLRXJyb3JVbmtub3duIHVzZXJJbmZvOkB7IE5TTG9jYWxpemVkRmFp
bHVyZVJlYXNvbkVycm9yS2V5OiBpbnNwZWN0b3JFeHRlbnNpb25FcnJvclRvU3RyaW5nKHJlc3Vs
dC5lcnJvcigpKX1dKTsKKyAgICAgICAgICAgIGNhcHR1cmVkQmxvY2soW05TRXJyb3IgZXJyb3JX
aXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93biB1c2VySW5mbzpAeyBO
U0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJvcktleTogV2ViS2l0OjppbnNwZWN0b3JFeHRlbnNp
b25FcnJvclRvU3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLSW5zcGVjdG9yRXh0ZW5zaW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0luc3BlY3RvckV4dGVuc2lvbi5tbQppbmRleCBhZGQzNTg1MzlhZGY4OTFmNDkz
YmRhYWFlZGFkODk3NDgyOWYyMWFjLi4wZDkxMGQ5OWFjZmEzMDNlMDlkZWNmZTcxY2RjMmUyOTc4
MmE0YWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
SW5zcGVjdG9yRXh0ZW5zaW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tJbnNwZWN0b3JFeHRlbnNpb24ubW0KQEAgLTI2LDggKzI2LDExIEBACiAjaW1wb3J0
ICJjb25maWcuaCIKICNpbXBvcnQgIl9XS0luc3BlY3RvckV4dGVuc2lvbkludGVybmFsLmgiCiAK
KworI2ltcG9ydCAiSW5zcGVjdG9yRXh0ZW5zaW9uVHlwZXMuaCIKICNpbXBvcnQgIldLRXJyb3Iu
aCIKICNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCisjaW1wb3J0IDxXZWJDb3JlL0V4Y2Vw
dGlvbkRldGFpbHMuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgogI2ltcG9ydCA8d3RmL1VS
TC5oPgogCkBAIC01Myw3ICs1Niw3IEBAIC0gKHZvaWQpY3JlYXRlVGFiV2l0aE5hbWU6KE5TU3Ry
aW5nICopdGFiTmFtZSB0YWJJY29uVVJMOihOU1VSTCAqKXRhYkljb25VUkwgc291CiB7CiAgICAg
X2V4dGVuc2lvbi0+Y3JlYXRlVGFiKHRhYk5hbWUsIHRhYkljb25VUkwsIHNvdXJjZVVSTCwgW3By
b3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZiksIGNhcHR1cmVkQmxvY2sgPSBtYWtlQmxvY2tQ
dHIoY29tcGxldGlvbkhhbmRsZXIpXSAoRXhwZWN0ZWQ8V2ViS2l0OjpJbnNwZWN0b3JFeHRlbnNp
b25UYWJJRCwgV2ViS2l0OjpJbnNwZWN0b3JFeHRlbnNpb25FcnJvcj4gcmVzdWx0KSBtdXRhYmxl
IHsKICAgICAgICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgICAgIGNhcHR1cmVkQmxvY2soW05T
RXJyb3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93biB1
c2VySW5mbzpAeyBOU0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJvcktleTogaW5zcGVjdG9yRXh0
ZW5zaW9uRXJyb3JUb1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSwgbmlsKTsKKyAgICAgICAgICAg
IGNhcHR1cmVkQmxvY2soW05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29k
ZTpXS0Vycm9yVW5rbm93biB1c2VySW5mbzpAeyBOU0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJv
cktleTogV2ViS2l0OjppbnNwZWN0b3JFeHRlbnNpb25FcnJvclRvU3RyaW5nKHJlc3VsdC5lcnJv
cigpKX1dLCBuaWwpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTY3LDcg
KzcwLDcgQEAgLSAodm9pZClldmFsdWF0ZVNjcmlwdDooTlNTdHJpbmcgKilzY3JpcHRTb3VyY2Ug
ZnJhbWVVUkw6KE5TVVJMICopZnJhbWVVUkwgY29udGUKICAgICBPcHRpb25hbDxVUkw+IG9wdGlv
bmFsQ29udGV4dFNlY3VyaXR5T3JpZ2luID0gY29udGV4dFNlY3VyaXR5T3JpZ2luID8gbWFrZU9w
dGlvbmFsKFVSTChjb250ZXh0U2VjdXJpdHlPcmlnaW4pKSA6IFdURjo6bnVsbG9wdDsKICAgICBf
ZXh0ZW5zaW9uLT5ldmFsdWF0ZVNjcmlwdChzY3JpcHRTb3VyY2UsIG9wdGlvbmFsRnJhbWVVUkws
IG9wdGlvbmFsQ29udGV4dFNlY3VyaXR5T3JpZ2luLCB1c2VDb250ZW50U2NyaXB0Q29udGV4dCwg
W3Byb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZiksIGNhcHR1cmVkQmxvY2sgPSBtYWtlQmxv
Y2tQdHIoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpXSAoV2ViS2l0OjpJbnNwZWN0b3JFeHRl
bnNpb25FdmFsdWF0aW9uUmVzdWx0JiYgcmVzdWx0KSBtdXRhYmxlIHsKICAgICAgICAgaWYgKCFy
ZXN1bHQpIHsKLSAgICAgICAgICAgIGNhcHR1cmVkQmxvY2soW05TRXJyb3IgZXJyb3JXaXRoRG9t
YWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93biB1c2VySW5mbzpAeyBOU0xvY2Fs
aXplZEZhaWx1cmVSZWFzb25FcnJvcktleTogaW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3JUb1N0cmlu
ZyhyZXN1bHQuZXJyb3IoKSl9XSwgbmlsKTsKKyAgICAgICAgICAgIGNhcHR1cmVkQmxvY2soW05T
RXJyb3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93biB1
c2VySW5mbzpAeyBOU0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJvcktleTogV2ViS2l0OjppbnNw
ZWN0b3JFeHRlbnNpb25FcnJvclRvU3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dLCBuaWwpOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250
cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdl
Ykluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCmluZGV4IDkxYzRlM2NhYzgxZWQxYjc5MDM0MjFk
NmJlNjQ5NTcwZThkNDcwMDQuLjhjYzlhZjVlODRkZDI3MDdmM2I4NWQyMzNmZTBmNGZmODBmM2U5
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1v
dGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KQEAg
LTE2NCw3ICsxNjQsNyBAQCAtICh2b2lkKXJlZ2lzdGVyRXh0ZW5zaW9uV2l0aElEOihOU1N0cmlu
ZyAqKWV4dGVuc2lvbklEIGRpc3BsYXlOYW1lOihOU1N0cmluZyAqKQogI2lmIEVOQUJMRShJTlNQ
RUNUT1JfRVhURU5TSU9OUykKICAgICBtX3JlbW90ZUluc3BlY3RvclByb3h5LT5leHRlbnNpb25D
b250cm9sbGVyKCkucmVnaXN0ZXJFeHRlbnNpb24oZXh0ZW5zaW9uSUQsIGRpc3BsYXlOYW1lLCBb
cHJvdGVjdGVkRXh0ZW5zaW9uSUQgPSByZXRhaW5QdHIoZXh0ZW5zaW9uSUQpLCBwcm90ZWN0ZWRT
ZWxmID0gcmV0YWluUHRyKHNlbGYpLCBjYXB0dXJlZEJsb2NrID0gbWFrZUJsb2NrUHRyKGNvbXBs
ZXRpb25IYW5kbGVyKV0gKEV4cGVjdGVkPGJvb2wsIFdlYktpdDo6SW5zcGVjdG9yRXh0ZW5zaW9u
RXJyb3I+IHJlc3VsdCkgbXV0YWJsZSB7CiAgICAgICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAg
ICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWlu
IGNvZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6ZWRGYWlsdXJlUmVhc29u
RXJyb3JLZXk6IGluc3BlY3RvckV4dGVuc2lvbkVycm9yVG9TdHJpbmcocmVzdWx0LmVycm9yKCkp
fV0sIG5pbCk7CisgICAgICAgICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERv
bWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2Nh
bGl6ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6IFdlYktpdDo6aW5zcGVjdG9yRXh0ZW5zaW9uRXJy
b3JUb1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSwgbmlsKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogCkBAIC0xODAsNyArMTgwLDcgQEAgLSAodm9pZCl1bnJlZ2lzdGVyRXh0ZW5z
aW9uOihfV0tJbnNwZWN0b3JFeHRlbnNpb24gKilleHRlbnNpb24gY29tcGxldGlvbkhhbmRsZXIK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SX0VYVEVOU0lPTlMpCiAgICAgbV9yZW1vdGVJbnNwZWN0b3JQ
cm94eS0+ZXh0ZW5zaW9uQ29udHJvbGxlcigpLnVucmVnaXN0ZXJFeHRlbnNpb24oZXh0ZW5zaW9u
LmV4dGVuc2lvbklELCBbcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKSwgY2FwdHVyZWRC
bG9jayA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIChFeHBlY3RlZDxib29sLCBX
ZWJLaXQ6Okluc3BlY3RvckV4dGVuc2lvbkVycm9yPiByZXN1bHQpIG11dGFibGUgewogICAgICAg
ICBpZiAoIXJlc3VsdCkgewotICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhbTlNFcnJvciBlcnJv
cldpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOldLRXJyb3JVbmtub3duIHVzZXJJbmZvOkB7
IE5TTG9jYWxpemVkRmFpbHVyZVJlYXNvbkVycm9yS2V5OiBpbnNwZWN0b3JFeHRlbnNpb25FcnJv
clRvU3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dKTsKKyAgICAgICAgICAgIGNhcHR1cmVkQmxvY2so
W05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93
biB1c2VySW5mbzpAeyBOU0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJvcktleTogV2ViS2l0Ojpp
bnNwZWN0b3JFeHRlbnNpb25FcnJvclRvU3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dKTsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XS0NvbnRhY3RQaWNrZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dLQ29udGFjdFBpY2tlci5oCmluZGV4IDk5ZTBhZDRmZTc5OWYyM2E3NGFiNTJhN2Iw
N2U0ZDM2MWI4ZTgwNTYuLjQ0ZmUzNWU4NTRjZDUzZDBjYTBhYzk1NTE3YmQzYjgzMTZmNjlhMjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLQ29udGFjdFBpY2tl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLQ29udGFjdFBpY2tlci5o
CkBAIC0yNyw2ICsyNyw4IEBACiAKICNpZiBIQVZFKENPTlRBQ1RTVUkpCiAKKyNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgorCiBAY2xhc3MgV0tXZWJWaWV3OwogQHByb3RvY29sIFdLQ29udGFjdFBp
Y2tlckRlbGVnYXRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XS0NvbnRhY3RQaWNrZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0Nv
bnRhY3RQaWNrZXIubW0KaW5kZXggZWYzNWRhMjk5MjNhMGRhNjg5MDZjZDQyNWUwMTE2YzdmZWU1
OWQyMS4uNmI2MjJlMGZiZGZmMDA0ZjJmYWMxN2QzNDNiZDk1ZTUxNWJiZTFiNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tDb250YWN0UGlja2VyLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLQ29udGFjdFBpY2tlci5tbQpAQCAtMzIs
OCArMzIsMTAgQEAKICNpbXBvcnQgPENvbnRhY3RzL0NvbnRhY3RzLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0NvbnRhY3RJbmZvLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbnRhY3RzUmVxdWVzdERhdGEu
aD4KKyNpbXBvcnQgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2ltcG9ydCA8d3RmL1JldGFp
blB0ci5oPgogI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CisjaW1wb3J0IDx3dGYvV2Vha09i
akNQdHIuaD4KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaW1wb3J0ICJVSUtpdFNQSS5o
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggNjA2MWE2MzdkYjkzYmIwYWZjNmQ5YzY1MTZjM2QwM2UyMzViNWNjMS4uOGJhZmE1ZGFlN2Vj
YWE2ZWUxMWNlMzQ2YzNlMDdhNTU5MWE1MDRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NDMsNiArOTQzLDggQEAKIAkJNDQ2REM2
NEMyNEEyRDhFNTAwNjFGMzkwIC8qIFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDZEQzY0QjI0
QTJEOEFEMDA2MUYzOTAgLyogUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIuaCAqLzsg
fTsKIAkJNDQ3NkVGMDkyNUJGQzhCNzAwNEEwNTg3IC8qIF9XS0FwcEhpZ2hsaWdodERlbGVnYXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDc2RUYw
ODI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NDgyNzM0NzI0NTI4RjYw
MDBBOTU0OTMgLyogQ29jb2FJbWFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDQ4MjczNDYyNDUyOEY2MDAwQTk1NDkzIC8qIENvY29hSW1hZ2UuaCAq
LzsgfTsKKwkJNDQ5MzE2QTMyNURDN0RDNDAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ5MzE2QTEyNURD
N0RDMzAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQ0OTMxNkE2MjVEQzlEMDAwMEFBNjZERSAvKiBf
V0tBcHBIaWdobGlnaHRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDQ5MzE2QTUyNURDOUQwMDAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdo
dEludGVybmFsLmggKi87IH07CiAJCTQ0OUQ5MERBMjFGREMzMEIwMEY2NzdDMCAvKiBMb2NhbEF1
dGhlbnRpY2F0aW9uU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NDlEOTBEODIxRkQ2M0ZFMDBGNjc3QzAgLyogTG9jYWxBdXRoZW50aWNh
dGlvblNvZnRMaW5rLm1tICovOyB9OwogCQk0NEU5MzZGRDI0NDdDMkQ4MDA5RkEzRTMgLyogTGVn
YWN5Q3VzdG9tUHJvdG9jb2xJRC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDRFOTM2RkMyNDQ3QzI1NjAwOUZBM0UzIC8qIExlZ2FjeUN1c3RvbVByb3Rv
Y29sSUQuaCAqLzsgfTsKIAkJNDRFQzNFQTkyNDdGNUMwOTAwNTk0ODlDIC8qIF9XS0RyYWdBY3Rp
b25zSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ0RUMzRUE4MjQ3RjVDMDgwMDU5NDg5QyAvKiBfV0tEcmFnQWN0aW9uc0ludGVybmFsLmgg
Ki87IH07CkBAIC0zNzk2LDYgKzM3OTgsOSBAQAogCQk0NDZEQzY0QjI0QTJEOEFEMDA2MUYzOTAg
LyogUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ3NkVGMDgyNUJGQzhCNzAwNEEwNTg3IC8qIF9XS0Fw
cEhpZ2hsaWdodERlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9X
S0FwcEhpZ2hsaWdodERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0
ODI3MzQ2MjQ1MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENvY29hSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDQ5MzE2QTEyNURDN0RDMzAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tBcHBIaWdobGlnaHQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDQ5MzE2QTIyNURDN0RDMzAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hs
aWdodC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS0FwcEhp
Z2hsaWdodC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQ5MzE2QTUyNURDOUQw
MDAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IF9XS0FwcEhpZ2hsaWdodEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ0OUQ5MEQ4MjFGRDYzRkUwMEY2NzdDMCAvKiBMb2NhbEF1dGhlbnRp
Y2F0aW9uU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBMb2NhbEF1dGhlbnRpY2F0aW9uU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ0QTQ4MUM2MjFGMkQyN0IwMEYyRjkxOSAvKiBDbGllbnRDZXJ0aWZpY2F0ZUF1dGhl
bnRpY2F0aW9uWFBDQ29uc3RhbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENsaWVudENlcnRp
ZmljYXRlQXV0aGVudGljYXRpb25YUENDb25zdGFudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0NEU5MzZGQzI0NDdDMjU2MDA5RkEzRTMgLyogTGVnYWN5Q3VzdG9tUHJvdG9j
b2xJRC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMZWdhY3lDdXN0b21Qcm90
b2NvbElELmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NzUxLDcgKzc3NTYsMTAg
QEAKIAkJCQkzN0E1RTAxMjE4QkJGOTM3MDAwQTA4MUUgLyogX1dLQWN0aXZhdGVkRWxlbWVudElu
Zm8uaCAqLywKIAkJCQkzN0E1RTAxMTE4QkJGOTM3MDAwQTA4MUUgLyogX1dLQWN0aXZhdGVkRWxl
bWVudEluZm8ubW0gKi8sCiAJCQkJMzc5QTg3MzUxOEJCRkE0MzAwNTg4QUYyIC8qIF9XS0FjdGl2
YXRlZEVsZW1lbnRJbmZvSW50ZXJuYWwuaCAqLywKKwkJCQk0NDkzMTZBMTI1REM3REMzMDBBQTY2
REUgLyogX1dLQXBwSGlnaGxpZ2h0LmggKi8sCisJCQkJNDQ5MzE2QTIyNURDN0RDMzAwQUE2NkRF
IC8qIF9XS0FwcEhpZ2hsaWdodC5tbSAqLywKIAkJCQk0NDc2RUYwODI1QkZDOEI3MDA0QTA1ODcg
LyogX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCAqLywKKwkJCQk0NDkzMTZBNTI1REM5RDAwMDBB
QTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaCAqLywKIAkJCQk2MzEwOEY5NDFGOTY3
MTlDMDBBMERCODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oICovLAogCQkJCTYzMTA4Rjk1
MUY5NjcxOUMwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lm1tICovLAogCQkJCTYz
MTA4Rjk4MUY5NjcxRjcwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0SW50ZXJuYWwu
aCAqLywKQEAgLTExMzkzLDcgKzExNDAxLDkgQEAKIAkJCWZpbGVzID0gKAogCQkJCTM3QTVFMDE0
MThCQkY5M0YwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzc5QTg3MzYxOEJCRkE0MzAwNTg4QUYyIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJ
bmZvSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ0OTMxNkEzMjVEQzdEQzQwMEFBNjZE
RSAvKiBfV0tBcHBIaWdobGlnaHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0NzZFRjA5MjVCRkM4
QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNDQ5MzE2QTYyNURDOUQwMDAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodEludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk2MzEwOEY5NjFGOTY3MTlDMDBBMERCODQgLyogX1dLQXBwbGlj
YXRpb25NYW5pZmVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjMxMDhGOTkxRjk2NzFGNzAwQTBE
Qjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRjQ0MjkxOTIxRkE1OTFDOTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnQuaCBpbiBIZWFkZXJz
ICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420611</attachid>
            <date>2021-02-17 00:56:09 -0800</date>
            <delta_ts>2021-02-17 01:12:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222014-20210217005608.patch</filename>
            <type>text/plain</type>
            <size>23716</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyOTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNiMjY4NTU1Y2ZmZmM1MTk5
ZGRkOWJjZTk4MTRhMmQzYTBmMDIwM2QuLjNkZWM5OTc0MWNlODNhYzhkYThiM2Q3ZjZiZmM5NzNk
NTMyNTg1OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDItMTYgIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgQXBwIEhp
Z2hsaWdodCBkZWxlZ2F0ZSB0byBwYXNzIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGhpZ2hs
aWdodCBmb3IgZGlzcGxheS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjAxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgt
W1dLV2ViVmlldyBfc3RvcmVBcHBIaWdobGlnaHQ6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIxLTAyLTE2ICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIEFwcCBIaWdobGlnaHRzIEFQ
SSB0byBvcGVyYXRlIGluIHRlcm1zIG9mIGEgc2luZ2xlIHNlcmlhbGl6ZWQgaGlnaGxpZ2h0IGF0
IGEgdGltZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb250YWN0LXBpY2tl
ci9Db250YWN0c1JlcXVlc3REYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NvbnRhY3Qt
cGlja2VyL0NvbnRhY3RzUmVxdWVzdERhdGEuaAppbmRleCAxNGYzMWQ5MjFkMjk0ZDk3MmVlNTA3
ZmI4N2MzMDViNmI5Njg0ODUxLi40ZmUwN2Y3YTg4Y2VmYTA4MzU2Y2FjZWNlMDEzY2VjYjc3Njkz
ZTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NvbnRhY3QtcGlja2VyL0Nv
bnRhY3RzUmVxdWVzdERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NvbnRhY3Qt
cGlja2VyL0NvbnRhY3RzUmVxdWVzdERhdGEuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBi
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCA3MDBjYzgwZDBmZjRjMzZkNzVl
YmNhNmJhMzlhNGZmYjVhNmJiYmNiLi5lNWRiNmMxOTc1NDVhMTlhMWVlZWJlY2UxMWIyYzQ1ODhk
OWI0MjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0yNTQsNiArMjU0LDcgQEAgVUlQcm9j
ZXNzL0FQSS9DL21hYy9XS1BhZ2VQcml2YXRlTWFjLm1tCiBVSVByb2Nlc3MvQVBJL0MvbWFjL1dL
UHJvdGVjdGlvblNwYWNlTlMubW0KIAogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBY3RpdmF0ZWRF
bGVtZW50SW5mby5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHQubW0KIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5tbQogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBdHRhY2htZW50Lm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRp
b25TZXNzaW9uLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQppbmRleCA3ZjYxZDU5ZmQ4MTRlNzE1MTA2NDM0YTYwMmFiNmIzNDJhZTYwOTZiLi44
NWNhMzBmYmFkZWE0MjAzYTBkNGQ4ODUzZDhkNGFlYTQ2ZjgzNDk1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTEwMCw2ICsxMDAsNyBA
QAogI2ltcG9ydCAiV2ViVmlld0ltcGwuaCIKICNpbXBvcnQgIl9XS0FjdGl2YXRlZEVsZW1lbnRJ
bmZvSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmgiCisjaW1w
b3J0ICJfV0tBcHBIaWdobGlnaHRJbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLRGlhZ25vc3RpY0xv
Z2dpbmdEZWxlZ2F0ZS5oIgogI2ltcG9ydCAiX1dLRmluZERlbGVnYXRlLmgiCiAjaW1wb3J0ICJf
V0tGcmFtZUhhbmRsZUludGVybmFsLmgiCkBAIC0xNDE3LDE0ICsxNDE4LDIxIEBAIC0gKHZvaWQp
X3NldEFwcEhpZ2hsaWdodERlbGVnYXRlOihpZCA8X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU+KWRl
bGVnYXRlCiB9CiAKICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCi0tICh2b2lkKV9zdG9yZUFw
cEhpZ2hsaWdodDooY29uc3QgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0JiloaWdobGlnaHRJbmZvcm1h
dGlvbgorLSAodm9pZClfc3RvcmVBcHBIaWdobGlnaHQ6KGNvbnN0IFdlYkNvcmU6OkFwcEhpZ2hs
aWdodCYpaGlnaGxpZ2h0CiB7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IHNlbGYuX2FwcEhpZ2hsaWdo
dERlbGVnYXRlOwogICAgIGlmICghZGVsZWdhdGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlm
IChbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzp1cGRhdGVB
cHBIaWdobGlnaHRzU3RvcmFnZTopXSkKLSAgICAgICAgW2RlbGVnYXRlIF93ZWJWaWV3OnNlbGYg
dXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2U6aGlnaGxpZ2h0SW5mb3JtYXRpb24uaGlnaGxpZ2h0
LT5jcmVhdGVOU0RhdGEoKS5nZXQoKV07CisgICAgTlNTdHJpbmcgKnRleHQgPSBuaWw7CisKKyAg
ICBpZiAoaGlnaGxpZ2h0LnRleHQpCisgICAgICAgIHRleHQgPSBoaWdobGlnaHQudGV4dC52YWx1
ZSgpOworCisgICAgYXV0byB3a0hpZ2hsaWdodCA9IGFkb3B0TlMoW1tfV0tBcHBIaWdobGlnaHQg
YWxsb2NdIGluaXRXaXRoSGlnaGxpZ2h0OmhpZ2hsaWdodC5oaWdobGlnaHQtPmNyZWF0ZU5TRGF0
YSgpLmdldCgpIHRleHQ6dGV4dCBpbWFnZTpuaWxdKTsKKworICAgIGlmIChbZGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpzdG9yZUFwcEhpZ2hsaWdodDppbk5l
d0dyb3VwOildKQorICAgICAgICBbZGVsZWdhdGUgX3dlYlZpZXc6c2VsZiBzdG9yZUFwcEhpZ2hs
aWdodDp3a0hpZ2hsaWdodC5nZXQoKSBpbk5ld0dyb3VwOmhpZ2hsaWdodC5pc05ld0dyb3VwID09
IFdlYkNvcmU6OkNyZWF0ZU5ld0dyb3VwRm9ySGlnaGxpZ2h0OjpZZXMgPyBZRVMgOiBOT107CiB9
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS0FwcEhpZ2hsaWdodC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0FwcEhpZ2hsaWdodC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkY2Y3ZGEwMTE0NjZkZDgyN2I5M2U3ZWRkZDJh
YjY1MzkzZTAyZDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0LmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24uaD4KKworI2lmIFRBUkdFVF9PU19JUEhPTkUK
K0BjbGFzcyBVSUltYWdlOworI2Vsc2UKK0BjbGFzcyBOU0ltYWdlOworI2VuZGlmCisKK1dLX0NM
QVNTX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKQorQGludGVy
ZmFjZSBfV0tBcHBIaWdobGlnaHQgOiBOU09iamVjdAorCistIChpbnN0YW5jZXR5cGUpaW5pdCBO
U19VTkFWQUlMQUJMRTsKKworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBO
U0RhdGEgKmhpZ2hsaWdodDsKKworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5
KSBOU1N0cmluZyAqIHRleHQ7CisKKyNpZiBUQVJHRVRfT1NfSVBIT05FCitAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHksIGNvcHkpIFVJSW1hZ2UgKmltYWdlOworI2Vsc2UKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkb25seSwgY29weSkgTlNJbWFnZSAqaW1hZ2U7CisjZW5kaWYKKwor
CitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
QXBwSGlnaGxpZ2h0Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Fw
cEhpZ2hsaWdodC5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMGQ4NTNmMDUwZDE0ZThmZDliYmZlYWE3MjRkYTNl
OTgyOGVlYTU0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0FwcEhpZ2hsaWdodC5tbQpAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJfV0tBcHBIaWdobGlnaHQuaCIKKworI2ltcG9y
dCAiQ29jb2FJbWFnZS5oIgorCitAaW1wbGVtZW50YXRpb24gX1dLQXBwSGlnaGxpZ2h0CisKKy0g
KGluc3RhbmNldHlwZSlpbml0V2l0aEhpZ2hsaWdodDooTlNEYXRhICopaGlnaGxpZ2h0IHRleHQ6
KE5TU3RyaW5nICopdGV4dCBpbWFnZTooQ29jb2FJbWFnZSAqKWltYWdlCit7CisgICAgaWYgKCEo
c2VsZiA9IFtzdXBlciBpbml0XSkpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBfaGlnaGxp
Z2h0ID0gaGlnaGxpZ2h0OworICAgIF90ZXh0ID0gdGV4dDsKKworICAgIHJldHVybiBzZWxmOwor
fQorCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oCmluZGV4IGRjYjIwNWU0NjdjMTFjMGVlMDk3
YjdmZDVhNjkyZjEzMWRmZmM4OGIuLmQwZTkyNDY2YmJlOWJjM2UzZjE0N2U4MjVlZDMyYjUwZjYx
OGVjNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tB
cHBIaWdobGlnaHREZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oCkBAIC0yNSwxMSArMjUsMTUgQEAKIAogI2lt
cG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAKK0BjbGFzcyBfV0tBcHBIaWdobGlnaHQ7
CisKIEBwcm90b2NvbCBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZSA8TlNPYmplY3Q+CiAKIEBvcHRp
b25hbAogCi0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHVwZGF0ZUFwcEhp
Z2hsaWdodHNTdG9yYWdlOihOU0RhdGEgKilkYXRhOworLSAodm9pZClfd2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldyB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTooTlNEYXRhICopZGF0YSBX
S19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCist
ICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHN0b3JlQXBwSGlnaGxpZ2h0Oihf
V0tBcHBIaWdobGlnaHQgKiloaWdobGlnaHQgaW5OZXdHcm91cDooQk9PTClpbk5ld0dyb3VwIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKIEBl
bmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Fw
cEhpZ2hsaWdodEludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYzBjYjA0NjEwZjZlNDhiYjY3
Y2U4N2U1M2UxNjdiNTNmNDVlYTliCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodEludGVybmFsLmgKQEAgLTAsMCArMSwz
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgIl9XS0FwcEhpZ2hsaWdodC5oIgorCitAaW50ZXJm
YWNlIF9XS0FwcEhpZ2hsaWdodCAoKQorCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhIaWdobGln
aHQ6KE5TRGF0YSAqKWhpZ2hsaWdodCB0ZXh0OihOU1N0cmluZyAqKXRleHQgaW1hZ2U6KENvY29h
SW1hZ2UgKilpbWFnZTsKKworQGVuZAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS0luc3BlY3Rvci5tbQppbmRleCA2YmViNDVlODQ2NTk4MWY5ZTA5MjQ3MmVh
NGIzMTc4NjY3MjZiZTExLi4zYmI2YzAwOTRiMjE5MDI5MGY5NDViOTQ3YjAzNThiNjcyZDE2ODRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVj
dG9yLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0
b3IubW0KQEAgLTE4NCw3ICsxODQsNyBAQCAtICh2b2lkKXJlZ2lzdGVyRXh0ZW5zaW9uV2l0aElE
OihOU1N0cmluZyAqKWV4dGVuc2lvbklEIGRpc3BsYXlOYW1lOihOU1N0cmluZyAqKQogI2lmIEVO
QUJMRShJTlNQRUNUT1JfRVhURU5TSU9OUykKICAgICBfaW5zcGVjdG9yLT5leHRlbnNpb25Db250
cm9sbGVyKCkucmVnaXN0ZXJFeHRlbnNpb24oZXh0ZW5zaW9uSUQsIGRpc3BsYXlOYW1lLCBbcHJv
dGVjdGVkRXh0ZW5zaW9uSUQgPSByZXRhaW5QdHIoZXh0ZW5zaW9uSUQpLCBwcm90ZWN0ZWRTZWxm
ID0gcmV0YWluUHRyKHNlbGYpLCBjYXB0dXJlZEJsb2NrID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRp
b25IYW5kbGVyKV0gKEV4cGVjdGVkPGJvb2wsIFdlYktpdDo6SW5zcGVjdG9yRXh0ZW5zaW9uRXJy
b3I+IHJlc3VsdCkgbXV0YWJsZSB7CiAgICAgICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgICAg
ICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNv
ZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6ZWRGYWlsdXJlUmVhc29uRXJy
b3JLZXk6IGluc3BlY3RvckV4dGVuc2lvbkVycm9yVG9TdHJpbmcocmVzdWx0LmVycm9yKCkpfV0s
IG5pbCk7CisgICAgICAgICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFp
bjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6
ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6IFdlYktpdDo6aW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3JU
b1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSwgbmlsKTsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogCkBAIC0yMDAsNyArMjAwLDcgQEAgLSAodm9pZCl1bnJlZ2lzdGVyRXh0ZW5zaW9u
OihfV0tJbnNwZWN0b3JFeHRlbnNpb24gKilleHRlbnNpb24gY29tcGxldGlvbkhhbmRsZXIKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SX0VYVEVOU0lPTlMpCiAgICAgX2luc3BlY3Rvci0+ZXh0ZW5zaW9u
Q29udHJvbGxlcigpLnVucmVnaXN0ZXJFeHRlbnNpb24oZXh0ZW5zaW9uLmV4dGVuc2lvbklELCBb
cHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKSwgY2FwdHVyZWRCbG9jayA9IG1ha2VCbG9j
a1B0cihjb21wbGV0aW9uSGFuZGxlcildIChFeHBlY3RlZDxib29sLCBXZWJLaXQ6Okluc3BlY3Rv
ckV4dGVuc2lvbkVycm9yPiByZXN1bHQpIG11dGFibGUgewogICAgICAgICBpZiAoIXJlc3VsdCkg
ewotICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhbTlNFcnJvciBlcnJvcldpdGhEb21haW46V0tF
cnJvckRvbWFpbiBjb2RlOldLRXJyb3JVbmtub3duIHVzZXJJbmZvOkB7IE5TTG9jYWxpemVkRmFp
bHVyZVJlYXNvbkVycm9yS2V5OiBpbnNwZWN0b3JFeHRlbnNpb25FcnJvclRvU3RyaW5nKHJlc3Vs
dC5lcnJvcigpKX1dKTsKKyAgICAgICAgICAgIGNhcHR1cmVkQmxvY2soW05TRXJyb3IgZXJyb3JX
aXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93biB1c2VySW5mbzpAeyBO
U0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJvcktleTogV2ViS2l0OjppbnNwZWN0b3JFeHRlbnNp
b25FcnJvclRvU3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLSW5zcGVjdG9yRXh0ZW5zaW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0luc3BlY3RvckV4dGVuc2lvbi5tbQppbmRleCBhZGQzNTg1MzlhZGY4OTFmNDkz
YmRhYWFlZGFkODk3NDgyOWYyMWFjLi4wZDkxMGQ5OWFjZmEzMDNlMDlkZWNmZTcxY2RjMmUyOTc4
MmE0YWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
SW5zcGVjdG9yRXh0ZW5zaW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tJbnNwZWN0b3JFeHRlbnNpb24ubW0KQEAgLTI2LDggKzI2LDExIEBACiAjaW1wb3J0
ICJjb25maWcuaCIKICNpbXBvcnQgIl9XS0luc3BlY3RvckV4dGVuc2lvbkludGVybmFsLmgiCiAK
KworI2ltcG9ydCAiSW5zcGVjdG9yRXh0ZW5zaW9uVHlwZXMuaCIKICNpbXBvcnQgIldLRXJyb3Iu
aCIKICNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCisjaW1wb3J0IDxXZWJDb3JlL0V4Y2Vw
dGlvbkRldGFpbHMuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgogI2ltcG9ydCA8d3RmL1VS
TC5oPgogCkBAIC01Myw3ICs1Niw3IEBAIC0gKHZvaWQpY3JlYXRlVGFiV2l0aE5hbWU6KE5TU3Ry
aW5nICopdGFiTmFtZSB0YWJJY29uVVJMOihOU1VSTCAqKXRhYkljb25VUkwgc291CiB7CiAgICAg
X2V4dGVuc2lvbi0+Y3JlYXRlVGFiKHRhYk5hbWUsIHRhYkljb25VUkwsIHNvdXJjZVVSTCwgW3By
b3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZiksIGNhcHR1cmVkQmxvY2sgPSBtYWtlQmxvY2tQ
dHIoY29tcGxldGlvbkhhbmRsZXIpXSAoRXhwZWN0ZWQ8V2ViS2l0OjpJbnNwZWN0b3JFeHRlbnNp
b25UYWJJRCwgV2ViS2l0OjpJbnNwZWN0b3JFeHRlbnNpb25FcnJvcj4gcmVzdWx0KSBtdXRhYmxl
IHsKICAgICAgICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgICAgIGNhcHR1cmVkQmxvY2soW05T
RXJyb3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93biB1
c2VySW5mbzpAeyBOU0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJvcktleTogaW5zcGVjdG9yRXh0
ZW5zaW9uRXJyb3JUb1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSwgbmlsKTsKKyAgICAgICAgICAg
IGNhcHR1cmVkQmxvY2soW05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29k
ZTpXS0Vycm9yVW5rbm93biB1c2VySW5mbzpAeyBOU0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJv
cktleTogV2ViS2l0OjppbnNwZWN0b3JFeHRlbnNpb25FcnJvclRvU3RyaW5nKHJlc3VsdC5lcnJv
cigpKX1dLCBuaWwpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTY3LDcg
KzcwLDcgQEAgLSAodm9pZClldmFsdWF0ZVNjcmlwdDooTlNTdHJpbmcgKilzY3JpcHRTb3VyY2Ug
ZnJhbWVVUkw6KE5TVVJMICopZnJhbWVVUkwgY29udGUKICAgICBPcHRpb25hbDxVUkw+IG9wdGlv
bmFsQ29udGV4dFNlY3VyaXR5T3JpZ2luID0gY29udGV4dFNlY3VyaXR5T3JpZ2luID8gbWFrZU9w
dGlvbmFsKFVSTChjb250ZXh0U2VjdXJpdHlPcmlnaW4pKSA6IFdURjo6bnVsbG9wdDsKICAgICBf
ZXh0ZW5zaW9uLT5ldmFsdWF0ZVNjcmlwdChzY3JpcHRTb3VyY2UsIG9wdGlvbmFsRnJhbWVVUkws
IG9wdGlvbmFsQ29udGV4dFNlY3VyaXR5T3JpZ2luLCB1c2VDb250ZW50U2NyaXB0Q29udGV4dCwg
W3Byb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZiksIGNhcHR1cmVkQmxvY2sgPSBtYWtlQmxv
Y2tQdHIoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpXSAoV2ViS2l0OjpJbnNwZWN0b3JFeHRl
bnNpb25FdmFsdWF0aW9uUmVzdWx0JiYgcmVzdWx0KSBtdXRhYmxlIHsKICAgICAgICAgaWYgKCFy
ZXN1bHQpIHsKLSAgICAgICAgICAgIGNhcHR1cmVkQmxvY2soW05TRXJyb3IgZXJyb3JXaXRoRG9t
YWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93biB1c2VySW5mbzpAeyBOU0xvY2Fs
aXplZEZhaWx1cmVSZWFzb25FcnJvcktleTogaW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3JUb1N0cmlu
ZyhyZXN1bHQuZXJyb3IoKSl9XSwgbmlsKTsKKyAgICAgICAgICAgIGNhcHR1cmVkQmxvY2soW05T
RXJyb3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93biB1
c2VySW5mbzpAeyBOU0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJvcktleTogV2ViS2l0OjppbnNw
ZWN0b3JFeHRlbnNpb25FcnJvclRvU3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dLCBuaWwpOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250
cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdl
Ykluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCmluZGV4IDkxYzRlM2NhYzgxZWQxYjc5MDM0MjFk
NmJlNjQ5NTcwZThkNDcwMDQuLjhjYzlhZjVlODRkZDI3MDdmM2I4NWQyMzNmZTBmNGZmODBmM2U5
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1v
dGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KQEAg
LTE2NCw3ICsxNjQsNyBAQCAtICh2b2lkKXJlZ2lzdGVyRXh0ZW5zaW9uV2l0aElEOihOU1N0cmlu
ZyAqKWV4dGVuc2lvbklEIGRpc3BsYXlOYW1lOihOU1N0cmluZyAqKQogI2lmIEVOQUJMRShJTlNQ
RUNUT1JfRVhURU5TSU9OUykKICAgICBtX3JlbW90ZUluc3BlY3RvclByb3h5LT5leHRlbnNpb25D
b250cm9sbGVyKCkucmVnaXN0ZXJFeHRlbnNpb24oZXh0ZW5zaW9uSUQsIGRpc3BsYXlOYW1lLCBb
cHJvdGVjdGVkRXh0ZW5zaW9uSUQgPSByZXRhaW5QdHIoZXh0ZW5zaW9uSUQpLCBwcm90ZWN0ZWRT
ZWxmID0gcmV0YWluUHRyKHNlbGYpLCBjYXB0dXJlZEJsb2NrID0gbWFrZUJsb2NrUHRyKGNvbXBs
ZXRpb25IYW5kbGVyKV0gKEV4cGVjdGVkPGJvb2wsIFdlYktpdDo6SW5zcGVjdG9yRXh0ZW5zaW9u
RXJyb3I+IHJlc3VsdCkgbXV0YWJsZSB7CiAgICAgICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAg
ICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWlu
IGNvZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6ZWRGYWlsdXJlUmVhc29u
RXJyb3JLZXk6IGluc3BlY3RvckV4dGVuc2lvbkVycm9yVG9TdHJpbmcocmVzdWx0LmVycm9yKCkp
fV0sIG5pbCk7CisgICAgICAgICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERv
bWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2Nh
bGl6ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6IFdlYktpdDo6aW5zcGVjdG9yRXh0ZW5zaW9uRXJy
b3JUb1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSwgbmlsKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogCkBAIC0xODAsNyArMTgwLDcgQEAgLSAodm9pZCl1bnJlZ2lzdGVyRXh0ZW5z
aW9uOihfV0tJbnNwZWN0b3JFeHRlbnNpb24gKilleHRlbnNpb24gY29tcGxldGlvbkhhbmRsZXIK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SX0VYVEVOU0lPTlMpCiAgICAgbV9yZW1vdGVJbnNwZWN0b3JQ
cm94eS0+ZXh0ZW5zaW9uQ29udHJvbGxlcigpLnVucmVnaXN0ZXJFeHRlbnNpb24oZXh0ZW5zaW9u
LmV4dGVuc2lvbklELCBbcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKSwgY2FwdHVyZWRC
bG9jayA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIChFeHBlY3RlZDxib29sLCBX
ZWJLaXQ6Okluc3BlY3RvckV4dGVuc2lvbkVycm9yPiByZXN1bHQpIG11dGFibGUgewogICAgICAg
ICBpZiAoIXJlc3VsdCkgewotICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhbTlNFcnJvciBlcnJv
cldpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOldLRXJyb3JVbmtub3duIHVzZXJJbmZvOkB7
IE5TTG9jYWxpemVkRmFpbHVyZVJlYXNvbkVycm9yS2V5OiBpbnNwZWN0b3JFeHRlbnNpb25FcnJv
clRvU3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dKTsKKyAgICAgICAgICAgIGNhcHR1cmVkQmxvY2so
W05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93
biB1c2VySW5mbzpAeyBOU0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJvcktleTogV2ViS2l0Ojpp
bnNwZWN0b3JFeHRlbnNpb25FcnJvclRvU3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dKTsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XS0NvbnRhY3RQaWNrZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dLQ29udGFjdFBpY2tlci5oCmluZGV4IDk5ZTBhZDRmZTc5OWYyM2E3NGFiNTJhN2Iw
N2U0ZDM2MWI4ZTgwNTYuLjQ0ZmUzNWU4NTRjZDUzZDBjYTBhYzk1NTE3YmQzYjgzMTZmNjlhMjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLQ29udGFjdFBpY2tl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLQ29udGFjdFBpY2tlci5o
CkBAIC0yNyw2ICsyNyw4IEBACiAKICNpZiBIQVZFKENPTlRBQ1RTVUkpCiAKKyNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgorCiBAY2xhc3MgV0tXZWJWaWV3OwogQHByb3RvY29sIFdLQ29udGFjdFBp
Y2tlckRlbGVnYXRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XS0NvbnRhY3RQaWNrZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0Nv
bnRhY3RQaWNrZXIubW0KaW5kZXggZWYzNWRhMjk5MjNhMGRhNjg5MDZjZDQyNWUwMTE2YzdmZWU1
OWQyMS4uMGMwNWM0NzFkMDU1MjFkOGE3YTdhMTRlYTBjYmEyYWFhMDI0MjYyNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tDb250YWN0UGlja2VyLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLQ29udGFjdFBpY2tlci5tbQpAQCAtMjks
MTEgKzI5LDE0IEBACiAjaWYgSEFWRShDT05UQUNUU1VJKQogCiAjaW1wb3J0ICJDb250YWN0c1VJ
U1BJLmgiCisjaW1wb3J0ICJXS1dlYlZpZXcuaCIKICNpbXBvcnQgPENvbnRhY3RzL0NvbnRhY3Rz
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbnRhY3RJbmZvLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Nv
bnRhY3RzUmVxdWVzdERhdGEuaD4KKyNpbXBvcnQgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgog
I2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+Cisj
aW1wb3J0IDx3dGYvV2Vha09iakNQdHIuaD4KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAj
aW1wb3J0ICJVSUtpdFNQSS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggNmUxNzAxMjU0Y2Q3OWJjNjg2
NWE5NzQ0YjZiZDg0YzAwMWZiNGM2My4uOGQxNDc3YzliNmU0ZjM4YmM3NDk5MWJlYTJmMmJmY2Qy
MjA5MDkxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC05Miw2ICs5Miw3IEBACiAjaW1wb3J0IDxDb3Jl
VGV4dC9DVEZvbnQuaD4KICNpbXBvcnQgPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3IuaD4KICNp
bXBvcnQgPE1vYmlsZUNvcmVTZXJ2aWNlcy9VVENvcmVUeXBlcy5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9BcHBIaWdobGlnaHQuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KICNpbXBvcnQgPFdl
YkNvcmUvQ29sb3JJT1MuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3JTZXJpYWxpemF0aW9uLmg+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA2MDYxYTYzN2RiOTNiYjBhZmM2ZDljNjUxNmMzZDAzZTIzNWI1Y2MxLi44YmFmYTVkYWU3ZWNh
YTZlZTExY2UzNDZjM2UwN2E1NTkxYTUwNGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTk0Myw2ICs5NDMsOCBAQAogCQk0NDZEQzY0
QzI0QTJEOEU1MDA2MUYzOTAgLyogUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NkRDNjRCMjRB
MkQ4QUQwMDYxRjM5MCAvKiBQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllci5oICovOyB9
OwogCQk0NDc2RUYwOTI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NzZFRjA4
MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0ODI3MzQ3MjQ1MjhGNjAw
MEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NDgyNzM0NjI0NTI4RjYwMDBBOTU0OTMgLyogQ29jb2FJbWFnZS5oICov
OyB9OworCQk0NDkzMTZBMzI1REM3REM0MDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDkzMTZBMTI1REM3
REMzMDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDQ5MzE2QTYyNURDOUQwMDAwQUE2NkRFIC8qIF9X
S0FwcEhpZ2hsaWdodEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NDkzMTZBNTI1REM5RDAwMDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0
SW50ZXJuYWwuaCAqLzsgfTsKIAkJNDQ5RDkwREEyMUZEQzMwQjAwRjY3N0MwIC8qIExvY2FsQXV0
aGVudGljYXRpb25Tb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0OUQ5MEQ4MjFGRDYzRkUwMEY2NzdDMCAvKiBMb2NhbEF1dGhlbnRpY2F0
aW9uU29mdExpbmsubW0gKi87IH07CiAJCTQ0RTkzNkZEMjQ0N0MyRDgwMDlGQTNFMyAvKiBMZWdh
Y3lDdXN0b21Qcm90b2NvbElELmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NEU5MzZGQzI0NDdDMjU2MDA5RkEzRTMgLyogTGVnYWN5Q3VzdG9tUHJvdG9j
b2xJRC5oICovOyB9OwogCQk0NEVDM0VBOTI0N0Y1QzA5MDA1OTQ4OUMgLyogX1dLRHJhZ0FjdGlv
bnNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDRFQzNFQTgyNDdGNUMwODAwNTk0ODlDIC8qIF9XS0RyYWdBY3Rpb25zSW50ZXJuYWwuaCAq
LzsgfTsKQEAgLTM3OTYsNiArMzc5OCw5IEBACiAJCTQ0NkRDNjRCMjRBMkQ4QUQwMDYxRjM5MCAv
KiBQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0NDc2RUYwODI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBw
SGlnaGxpZ2h0RGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dL
QXBwSGlnaGxpZ2h0RGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ4
MjczNDYyNDUyOEY2MDAwQTk1NDkzIC8qIENvY29hSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ29jb2FJbWFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0NDkzMTZBMTI1REM3REMzMDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0FwcEhpZ2hsaWdodC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0NDkzMTZBMjI1REM3REMzMDBBQTY2REUgLyogX1dLQXBwSGlnaGxp
Z2h0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gX1dLQXBwSGln
aGxpZ2h0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDkzMTZBNTI1REM5RDAw
MDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gX1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDQ5RDkwRDgyMUZENjNGRTAwRjY3N0MwIC8qIExvY2FsQXV0aGVudGlj
YXRpb25Tb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDRBNDgxQzYyMUYyRDI3QjAwRjJGOTE5IC8qIENsaWVudENlcnRpZmljYXRlQXV0aGVu
dGljYXRpb25YUENDb25zdGFudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2xpZW50Q2VydGlm
aWNhdGVBdXRoZW50aWNhdGlvblhQQ0NvbnN0YW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ0RTkzNkZDMjQ0N0MyNTYwMDlGQTNFMyAvKiBMZWdhY3lDdXN0b21Qcm90b2Nv
bElELmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExlZ2FjeUN1c3RvbVByb3Rv
Y29sSUQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc3NTEsNyArNzc1NiwxMCBA
QAogCQkJCTM3QTVFMDEyMThCQkY5MzcwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5m
by5oICovLAogCQkJCTM3QTVFMDExMThCQkY5MzcwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVt
ZW50SW5mby5tbSAqLywKIAkJCQkzNzlBODczNTE4QkJGQTQzMDA1ODhBRjIgLyogX1dLQWN0aXZh
dGVkRWxlbWVudEluZm9JbnRlcm5hbC5oICovLAorCQkJCTQ0OTMxNkExMjVEQzdEQzMwMEFBNjZE
RSAvKiBfV0tBcHBIaWdobGlnaHQuaCAqLywKKwkJCQk0NDkzMTZBMjI1REM3REMzMDBBQTY2REUg
LyogX1dLQXBwSGlnaGxpZ2h0Lm1tICovLAogCQkJCTQ0NzZFRjA4MjVCRkM4QjcwMDRBMDU4NyAv
KiBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oICovLAorCQkJCTQ0OTMxNkE1MjVEQzlEMDAwMEFB
NjZERSAvKiBfV0tBcHBIaWdobGlnaHRJbnRlcm5hbC5oICovLAogCQkJCTYzMTA4Rjk0MUY5Njcx
OUMwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0LmggKi8sCiAJCQkJNjMxMDhGOTUx
Rjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QubW0gKi8sCiAJCQkJNjMx
MDhGOTgxRjk2NzFGNzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5o
ICovLApAQCAtMTEzOTMsNyArMTE0MDEsOSBAQAogCQkJZmlsZXMgPSAoCiAJCQkJMzdBNUUwMTQx
OEJCRjkzRjAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLmggaW4gSGVhZGVycyAq
LywKIAkJCQkzNzlBODczNjE4QkJGQTQzMDA1ODhBRjIgLyogX1dLQWN0aXZhdGVkRWxlbWVudElu
Zm9JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDQ5MzE2QTMyNURDN0RDNDAwQUE2NkRF
IC8qIF9XS0FwcEhpZ2hsaWdodC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQ3NkVGMDkyNUJGQzhC
NzAwNEEwNTg3IC8qIF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0NDkzMTZBNjI1REM5RDAwMDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaCBp
biBIZWFkZXJzICovLAogCQkJCTYzMTA4Rjk2MUY5NjcxOUMwMEEwREI4NCAvKiBfV0tBcHBsaWNh
dGlvbk1hbmlmZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk2MzEwOEY5OTFGOTY3MUY3MDBBMERC
ODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGNDQyOTE5MjFGQTU5MUM5MDAyQ0M5M0UgLyogX1dLQXR0YWNobWVudC5oIGluIEhlYWRlcnMg
Ki8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420614</attachid>
            <date>2021-02-17 01:12:43 -0800</date>
            <delta_ts>2021-02-17 09:14:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222014-20210217011242.patch</filename>
            <type>text/plain</type>
            <size>23088</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyOTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcyYmViOGY5ZDI1NjI4MThi
OTlkY2I0ZmRkNzVhNWE5YWI2NDkwZDMuLjNmMWQ0MjJiMzJiZjEyZGM4MmZhMWViM2YwNjYwNWYy
ZTM0NDg5ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDItMTYgIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgQXBwIEhp
Z2hsaWdodCBkZWxlZ2F0ZSB0byBwYXNzIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGhpZ2hs
aWdodCBmb3IgZGlzcGxheS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjAxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgt
W1dLV2ViVmlldyBfc3RvcmVBcHBIaWdobGlnaHQ6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIxLTAyLTE2ICBQZW5nIExpdSAgPHBlbmcubGl1
NkBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQVVBdIFZpZGVvIGFzIGltYWdlIHNvdXJjZSB0cmln
Z2VycyBJT1N1cmZhY2UgcmVhZGJhY2sgKHVubmVjZXNzYXJpbHkgc2xvdykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNSZXF1ZXN0RGF0
YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0c1JlcXVl
c3REYXRhLmgKaW5kZXggMTRmMzFkOTIxZDI5NGQ5NzJlZTUwN2ZiODdjMzA1YjZiOTY4NDg1MS4u
NGZlMDdmN2E4OGNlZmEwODM1NmNhY2VjZTAxM2NlY2I3NzY5M2U5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0c1JlcXVlc3REYXRhLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0c1JlcXVl
c3REYXRhLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNDb2NvYS50eHQKaW5kZXggNzAwY2M4MGQwZmY0YzM2ZDc1ZWJjYTZiYTM5YTRmZmI1YTZiYmJj
Yi4uZTVkYjZjMTk3NTQ1YTE5YTFlZWViZWNlMTFiMmM0NTg4ZDliNDIzNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNl
c0NvY29hLnR4dApAQCAtMjU0LDYgKzI1NCw3IEBAIFVJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdl
UHJpdmF0ZU1hYy5tbQogVUlQcm9jZXNzL0FQSS9DL21hYy9XS1Byb3RlY3Rpb25TcGFjZU5TLm1t
CiAKIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQWN0aXZhdGVkRWxlbWVudEluZm8ubW0KK1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0Lm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19X
S0FwcGxpY2F0aW9uTWFuaWZlc3QubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXR0YWNobWVu
dC5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRvbWF0aW9uU2Vzc2lvbi5tbQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYWE2MzE2
MzRiYzM4YmIwOTY3ODFmYmEzMDUwNjU4NWU2YzY4YWQ0NC4uYTEwYWEwMTM4MzQ5NmIwNTEzYzlm
ZTNlYTRkYWRkMWJmMjEwYWY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xMDAsNiArMTAwLDcgQEAKICNpbXBvcnQgIldlYlZpZXdJ
bXBsLmgiCiAjaW1wb3J0ICJfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0ludGVybmFsLmgiCiAjaW1w
b3J0ICJfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oIgorI2ltcG9ydCAiX1dLQXBwSGlnaGxpZ2h0
SW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGUuaCIKICNp
bXBvcnQgIl9XS0ZpbmREZWxlZ2F0ZS5oIgogI2ltcG9ydCAiX1dLRnJhbWVIYW5kbGVJbnRlcm5h
bC5oIgpAQCAtMTQxNywxNCArMTQxOCwyMSBAQCAtICh2b2lkKV9zZXRBcHBIaWdobGlnaHREZWxl
Z2F0ZTooaWQgPF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlPilkZWxlZ2F0ZQogfQogCiAjaWYgRU5B
QkxFKEFQUF9ISUdITElHSFRTKQotLSAodm9pZClfc3RvcmVBcHBIaWdobGlnaHQ6KGNvbnN0IFdl
YkNvcmU6OkFwcEhpZ2hsaWdodCYpaGlnaGxpZ2h0SW5mb3JtYXRpb24KKy0gKHZvaWQpX3N0b3Jl
QXBwSGlnaGxpZ2h0Oihjb25zdCBXZWJDb3JlOjpBcHBIaWdobGlnaHQmKWhpZ2hsaWdodAogewog
ICAgIGF1dG8gZGVsZWdhdGUgPSBzZWxmLl9hcHBIaWdobGlnaHREZWxlZ2F0ZTsKICAgICBpZiAo
IWRlbGVnYXRlKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6dXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2U6
KV0pCi0gICAgICAgIFtkZWxlZ2F0ZSBfd2ViVmlldzpzZWxmIHVwZGF0ZUFwcEhpZ2hsaWdodHNT
dG9yYWdlOmhpZ2hsaWdodEluZm9ybWF0aW9uLmhpZ2hsaWdodC0+Y3JlYXRlTlNEYXRhKCkuZ2V0
KCldOworICAgIE5TU3RyaW5nICp0ZXh0ID0gbmlsOworCisgICAgaWYgKGhpZ2hsaWdodC50ZXh0
KQorICAgICAgICB0ZXh0ID0gaGlnaGxpZ2h0LnRleHQudmFsdWUoKTsKKworICAgIGF1dG8gd2tI
aWdobGlnaHQgPSBhZG9wdE5TKFtbX1dLQXBwSGlnaGxpZ2h0IGFsbG9jXSBpbml0V2l0aEhpZ2hs
aWdodDpoaWdobGlnaHQuaGlnaGxpZ2h0LT5jcmVhdGVOU0RhdGEoKS5nZXQoKSB0ZXh0OnRleHQg
aW1hZ2U6bmlsXSk7CisKKyAgICBpZiAoW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IoX3dlYlZpZXc6c3RvcmVBcHBIaWdobGlnaHQ6aW5OZXdHcm91cDopXSkKKyAgICAgICAg
W2RlbGVnYXRlIF93ZWJWaWV3OnNlbGYgc3RvcmVBcHBIaWdobGlnaHQ6d2tIaWdobGlnaHQuZ2V0
KCkgaW5OZXdHcm91cDpoaWdobGlnaHQuaXNOZXdHcm91cCA9PSBXZWJDb3JlOjpDcmVhdGVOZXdH
cm91cEZvckhpZ2hsaWdodDo6WWVzID8gWUVTIDogTk9dOwogfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHQuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zZGNmN2RhMDExNDY2ZGQ4MjdiOTNlN2VkZGQyYWI2NTM5M2UwMmQ5Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hs
aWdodC5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQvV0tG
b3VuZGF0aW9uLmg+CisKKyNpZiBUQVJHRVRfT1NfSVBIT05FCitAY2xhc3MgVUlJbWFnZTsKKyNl
bHNlCitAY2xhc3MgTlNJbWFnZTsKKyNlbmRpZgorCitXS19DTEFTU19BVkFJTEFCTEUobWFjb3Mo
V0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSkKK0BpbnRlcmZhY2UgX1dLQXBwSGlnaGxpZ2h0
IDogTlNPYmplY3QKKworLSAoaW5zdGFuY2V0eXBlKWluaXQgTlNfVU5BVkFJTEFCTEU7CisKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgY29weSkgTlNEYXRhICpoaWdobGlnaHQ7CisK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgY29weSkgTlNTdHJpbmcgKiB0ZXh0Owor
CisjaWYgVEFSR0VUX09TX0lQSE9ORQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBj
b3B5KSBVSUltYWdlICppbWFnZTsKKyNlbHNlCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9u
bHksIGNvcHkpIE5TSW1hZ2UgKmltYWdlOworI2VuZGlmCisKKworQGVuZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodC5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHQubW0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDBkODUzZjA1MGQxNGU4ZmQ5YmJmZWFhNzI0ZGEzZTk4MjhlZWE1NAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGln
aHQubW0KQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgor
I2ltcG9ydCAiX1dLQXBwSGlnaGxpZ2h0LmgiCisKKyNpbXBvcnQgIkNvY29hSW1hZ2UuaCIKKwor
QGltcGxlbWVudGF0aW9uIF9XS0FwcEhpZ2hsaWdodAorCistIChpbnN0YW5jZXR5cGUpaW5pdFdp
dGhIaWdobGlnaHQ6KE5TRGF0YSAqKWhpZ2hsaWdodCB0ZXh0OihOU1N0cmluZyAqKXRleHQgaW1h
Z2U6KENvY29hSW1hZ2UgKilpbWFnZQoreworICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0p
KQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgX2hpZ2hsaWdodCA9IGhpZ2hsaWdodDsKKyAg
ICBfdGV4dCA9IHRleHQ7CisKKyAgICByZXR1cm4gc2VsZjsKK30KKworQGVuZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodERlbGVn
YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0
RGVsZWdhdGUuaAppbmRleCBkY2IyMDVlNDY3YzExYzBlZTA5N2I3ZmQ1YTY5MmYxMzFkZmZjODhi
Li5kMGU5MjQ2NmJiZTliYzNlM2YxNDdlODI1ZWQzMmI1MGY2MThlYzVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0
RGVsZWdhdGUuaApAQCAtMjUsMTEgKzI1LDE1IEBACiAKICNpbXBvcnQgPEZvdW5kYXRpb24vRm91
bmRhdGlvbi5oPgogCitAY2xhc3MgX1dLQXBwSGlnaGxpZ2h0OworCiBAcHJvdG9jb2wgX1dLQXBw
SGlnaGxpZ2h0RGVsZWdhdGUgPE5TT2JqZWN0PgogCiBAb3B0aW9uYWwKIAotLSAodm9pZClfd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTooTlNE
YXRhICopZGF0YTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgdXBkYXRl
QXBwSGlnaGxpZ2h0c1N0b3JhZ2U6KE5TRGF0YSAqKWRhdGEgV0tfQVBJX0FWQUlMQUJMRShtYWNv
cyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLSAodm9pZClfd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBzdG9yZUFwcEhpZ2hsaWdodDooX1dLQXBwSGlnaGxpZ2h0ICopaGln
aGxpZ2h0IGluTmV3R3JvdXA6KEJPT0wpaW5OZXdHcm91cCBXS19BUElfQVZBSUxBQkxFKG1hY29z
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiBAZW5kCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHRJbnRlcm5hbC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodEludGVy
bmFsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMWMwY2IwNDYxMGY2ZTQ4YmI2N2NlODdlNTNlMTY3YjUzZjQ1ZWE5
YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tBcHBIaWdobGlnaHRJbnRlcm5hbC5oCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW1wb3J0ICJfV0tBcHBIaWdobGlnaHQuaCIKKworQGludGVyZmFjZSBfV0tBcHBIaWdobGlnaHQg
KCkKKworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoSGlnaGxpZ2h0OihOU0RhdGEgKiloaWdobGln
aHQgdGV4dDooTlNTdHJpbmcgKil0ZXh0IGltYWdlOihDb2NvYUltYWdlICopaW1hZ2U7CisKK0Bl
bmQKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0lu
c3BlY3Rvci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0
b3IubW0KaW5kZXggNGFhMDk5MThlZGFhZjgyNzFiODkwODQ4MzE5ODQzODM4OTE2MzE2OC4uOGU0
ZWQ3ZDQ0MTIwNTk0YmU1NThiYjljMzZkOTJjNjIyNjE3MmNlYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3Rvci5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yLm1tCkBAIC0xODMsNyArMTgz
LDcgQEAgLSAodm9pZClyZWdpc3RlckV4dGVuc2lvbldpdGhJRDooTlNTdHJpbmcgKilleHRlbnNp
b25JRCBkaXNwbGF5TmFtZTooTlNTdHJpbmcgKikKICNpZiBFTkFCTEUoSU5TUEVDVE9SX0VYVEVO
U0lPTlMpCiAgICAgX2luc3BlY3Rvci0+ZXh0ZW5zaW9uQ29udHJvbGxlcigpLnJlZ2lzdGVyRXh0
ZW5zaW9uKGV4dGVuc2lvbklELCBkaXNwbGF5TmFtZSwgW3Byb3RlY3RlZEV4dGVuc2lvbklEID0g
cmV0YWluUHRyKGV4dGVuc2lvbklEKSwgcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKSwg
Y2FwdHVyZWRCbG9jayA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIChFeHBlY3Rl
ZDxib29sLCBXZWJLaXQ6Okluc3BlY3RvckV4dGVuc2lvbkVycm9yPiByZXN1bHQpIG11dGFibGUg
ewogICAgICAgICBpZiAoIXJlc3VsdCkgewotICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhbTlNF
cnJvciBlcnJvcldpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOldLRXJyb3JVbmtub3duIHVz
ZXJJbmZvOkB7IE5TTG9jYWxpemVkRmFpbHVyZVJlYXNvbkVycm9yS2V5OiBpbnNwZWN0b3JFeHRl
bnNpb25FcnJvclRvU3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dLCBuaWwpOworICAgICAgICAgICAg
Y2FwdHVyZWRCbG9jayhbTlNFcnJvciBlcnJvcldpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2Rl
OldLRXJyb3JVbmtub3duIHVzZXJJbmZvOkB7IE5TTG9jYWxpemVkRmFpbHVyZVJlYXNvbkVycm9y
S2V5OiBXZWJLaXQ6Omluc3BlY3RvckV4dGVuc2lvbkVycm9yVG9TdHJpbmcocmVzdWx0LmVycm9y
KCkpfV0sIG5pbCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMTk5LDcg
KzE5OSw3IEBAIC0gKHZvaWQpdW5yZWdpc3RlckV4dGVuc2lvbjooX1dLSW5zcGVjdG9yRXh0ZW5z
aW9uICopZXh0ZW5zaW9uIGNvbXBsZXRpb25IYW5kbGVyCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9F
WFRFTlNJT05TKQogICAgIF9pbnNwZWN0b3ItPmV4dGVuc2lvbkNvbnRyb2xsZXIoKS51bnJlZ2lz
dGVyRXh0ZW5zaW9uKGV4dGVuc2lvbi5leHRlbnNpb25JRCwgW3Byb3RlY3RlZFNlbGYgPSByZXRh
aW5QdHIoc2VsZiksIGNhcHR1cmVkQmxvY2sgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRs
ZXIpXSAoRXhwZWN0ZWQ8Ym9vbCwgV2ViS2l0OjpJbnNwZWN0b3JFeHRlbnNpb25FcnJvcj4gcmVz
dWx0KSBtdXRhYmxlIHsKICAgICAgICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgICAgIGNhcHR1
cmVkQmxvY2soW05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vy
cm9yVW5rbm93biB1c2VySW5mbzpAeyBOU0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJvcktleTog
aW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3JUb1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSk7CisgICAg
ICAgICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9yRG9t
YWluIGNvZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6ZWRGYWlsdXJlUmVh
c29uRXJyb3JLZXk6IFdlYktpdDo6aW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3JUb1N0cmluZyhyZXN1
bHQuZXJyb3IoKSl9XSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvckV4dGVu
c2lvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3JF
eHRlbnNpb24ubW0KaW5kZXggYWRkMzU4NTM5YWRmODkxZjQ5M2JkYWFhZWRhZDg5NzQ4MjlmMjFh
Yy4uMGQ5MTBkOTlhY2ZhMzAzZTA5ZGVjZmU3MWNkYzJlMjk3ODJhNGFhYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvckV4dGVuc2lvbi5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yRXh0
ZW5zaW9uLm1tCkBAIC0yNiw4ICsyNiwxMSBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0
ICJfV0tJbnNwZWN0b3JFeHRlbnNpb25JbnRlcm5hbC5oIgogCisKKyNpbXBvcnQgIkluc3BlY3Rv
ckV4dGVuc2lvblR5cGVzLmgiCiAjaW1wb3J0ICJXS0Vycm9yLmgiCiAjaW1wb3J0ICJXS1dlYlZp
ZXdJbnRlcm5hbC5oIgorI2ltcG9ydCA8V2ViQ29yZS9FeGNlcHRpb25EZXRhaWxzLmg+CiAjaW1w
b3J0IDx3dGYvQmxvY2tQdHIuaD4KICNpbXBvcnQgPHd0Zi9VUkwuaD4KIApAQCAtNTMsNyArNTYs
NyBAQCAtICh2b2lkKWNyZWF0ZVRhYldpdGhOYW1lOihOU1N0cmluZyAqKXRhYk5hbWUgdGFiSWNv
blVSTDooTlNVUkwgKil0YWJJY29uVVJMIHNvdQogewogICAgIF9leHRlbnNpb24tPmNyZWF0ZVRh
Yih0YWJOYW1lLCB0YWJJY29uVVJMLCBzb3VyY2VVUkwsIFtwcm90ZWN0ZWRTZWxmID0gcmV0YWlu
UHRyKHNlbGYpLCBjYXB0dXJlZEJsb2NrID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVy
KV0gKEV4cGVjdGVkPFdlYktpdDo6SW5zcGVjdG9yRXh0ZW5zaW9uVGFiSUQsIFdlYktpdDo6SW5z
cGVjdG9yRXh0ZW5zaW9uRXJyb3I+IHJlc3VsdCkgbXV0YWJsZSB7CiAgICAgICAgIGlmICghcmVz
dWx0KSB7Ci0gICAgICAgICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFp
bjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6
ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6IGluc3BlY3RvckV4dGVuc2lvbkVycm9yVG9TdHJpbmco
cmVzdWx0LmVycm9yKCkpfV0sIG5pbCk7CisgICAgICAgICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vy
cm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvclVua25vd24gdXNl
ckluZm86QHsgTlNMb2NhbGl6ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6IFdlYktpdDo6aW5zcGVj
dG9yRXh0ZW5zaW9uRXJyb3JUb1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSwgbmlsKTsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCkBAIC02Nyw3ICs3MCw3IEBAIC0gKHZvaWQpZXZh
bHVhdGVTY3JpcHQ6KE5TU3RyaW5nICopc2NyaXB0U291cmNlIGZyYW1lVVJMOihOU1VSTCAqKWZy
YW1lVVJMIGNvbnRlCiAgICAgT3B0aW9uYWw8VVJMPiBvcHRpb25hbENvbnRleHRTZWN1cml0eU9y
aWdpbiA9IGNvbnRleHRTZWN1cml0eU9yaWdpbiA/IG1ha2VPcHRpb25hbChVUkwoY29udGV4dFNl
Y3VyaXR5T3JpZ2luKSkgOiBXVEY6Om51bGxvcHQ7CiAgICAgX2V4dGVuc2lvbi0+ZXZhbHVhdGVT
Y3JpcHQoc2NyaXB0U291cmNlLCBvcHRpb25hbEZyYW1lVVJMLCBvcHRpb25hbENvbnRleHRTZWN1
cml0eU9yaWdpbiwgdXNlQ29udGVudFNjcmlwdENvbnRleHQsIFtwcm90ZWN0ZWRTZWxmID0gcmV0
YWluUHRyKHNlbGYpLCBjYXB0dXJlZEJsb2NrID0gbWFrZUJsb2NrUHRyKFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKV0gKFdlYktpdDo6SW5zcGVjdG9yRXh0ZW5zaW9uRXZhbHVhdGlvblJlc3Vs
dCYmIHJlc3VsdCkgbXV0YWJsZSB7CiAgICAgICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgICAg
ICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNv
ZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6ZWRGYWlsdXJlUmVhc29uRXJy
b3JLZXk6IGluc3BlY3RvckV4dGVuc2lvbkVycm9yVG9TdHJpbmcocmVzdWx0LmVycm9yKCkpfV0s
IG5pbCk7CisgICAgICAgICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFp
bjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6
ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6IFdlYktpdDo6aW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3JU
b1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSwgbmlsKTsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJv
bGxlci5tbQppbmRleCA5ZjMxOWNmY2Q1ZDM1MjVjZTYxZGE0MmRhMGQyNmEzZTU2MjQ2NmJiLi4y
Y2FkYjg0YTBlZjJiOTNkNjIyMWY4ZDk5YzhiMmI3MGIxMGFhZTNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0Nv
bnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1Jl
bW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCkBAIC0xNjQsNyArMTY0LDcgQEAgLSAo
dm9pZClyZWdpc3RlckV4dGVuc2lvbldpdGhJRDooTlNTdHJpbmcgKilleHRlbnNpb25JRCBkaXNw
bGF5TmFtZTooTlNTdHJpbmcgKikKICNpZiBFTkFCTEUoSU5TUEVDVE9SX0VYVEVOU0lPTlMpCiAg
ICAgbV9yZW1vdGVJbnNwZWN0b3JQcm94eS0+ZXh0ZW5zaW9uQ29udHJvbGxlcigpLnJlZ2lzdGVy
RXh0ZW5zaW9uKGV4dGVuc2lvbklELCBkaXNwbGF5TmFtZSwgW3Byb3RlY3RlZEV4dGVuc2lvbklE
ID0gcmV0YWluUHRyKGV4dGVuc2lvbklEKSwgcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxm
KSwgY2FwdHVyZWRCbG9jayA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIChFeHBl
Y3RlZDxib29sLCBXZWJLaXQ6Okluc3BlY3RvckV4dGVuc2lvbkVycm9yPiByZXN1bHQpIG11dGFi
bGUgewogICAgICAgICBpZiAoIXJlc3VsdCkgewotICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhb
TlNFcnJvciBlcnJvcldpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOldLRXJyb3JVbmtub3du
IHVzZXJJbmZvOkB7IE5TTG9jYWxpemVkRmFpbHVyZVJlYXNvbkVycm9yS2V5OiBpbnNwZWN0b3JF
eHRlbnNpb25FcnJvclRvU3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dLCBuaWwpOworICAgICAgICAg
ICAgY2FwdHVyZWRCbG9jayhbTlNFcnJvciBlcnJvcldpdGhEb21haW46V0tFcnJvckRvbWFpbiBj
b2RlOldLRXJyb3JVbmtub3duIHVzZXJJbmZvOkB7IE5TTG9jYWxpemVkRmFpbHVyZVJlYXNvbkVy
cm9yS2V5OiBXZWJLaXQ6Omluc3BlY3RvckV4dGVuc2lvbkVycm9yVG9TdHJpbmcocmVzdWx0LmVy
cm9yKCkpfV0sIG5pbCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMTgw
LDcgKzE4MCw3IEBAIC0gKHZvaWQpdW5yZWdpc3RlckV4dGVuc2lvbjooX1dLSW5zcGVjdG9yRXh0
ZW5zaW9uICopZXh0ZW5zaW9uIGNvbXBsZXRpb25IYW5kbGVyCiAjaWYgRU5BQkxFKElOU1BFQ1RP
Ul9FWFRFTlNJT05TKQogICAgIG1fcmVtb3RlSW5zcGVjdG9yUHJveHktPmV4dGVuc2lvbkNvbnRy
b2xsZXIoKS51bnJlZ2lzdGVyRXh0ZW5zaW9uKGV4dGVuc2lvbi5leHRlbnNpb25JRCwgW3Byb3Rl
Y3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZiksIGNhcHR1cmVkQmxvY2sgPSBtYWtlQmxvY2tQdHIo
Y29tcGxldGlvbkhhbmRsZXIpXSAoRXhwZWN0ZWQ8Ym9vbCwgV2ViS2l0OjpJbnNwZWN0b3JFeHRl
bnNpb25FcnJvcj4gcmVzdWx0KSBtdXRhYmxlIHsKICAgICAgICAgaWYgKCFyZXN1bHQpIHsKLSAg
ICAgICAgICAgIGNhcHR1cmVkQmxvY2soW05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JE
b21haW4gY29kZTpXS0Vycm9yVW5rbm93biB1c2VySW5mbzpAeyBOU0xvY2FsaXplZEZhaWx1cmVS
ZWFzb25FcnJvcktleTogaW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3JUb1N0cmluZyhyZXN1bHQuZXJy
b3IoKSl9XSk7CisgICAgICAgICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERv
bWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2Nh
bGl6ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6IFdlYktpdDo6aW5zcGVjdG9yRXh0ZW5zaW9uRXJy
b3JUb1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tDb250
YWN0UGlja2VyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0NvbnRhY3RQaWNr
ZXIuaAppbmRleCA5OWUwYWQ0ZmU3OTlmMjNhNzRhYjUyYTdiMDdlNGQzNjFiOGU4MDU2Li40NGZl
MzVlODU0Y2Q1M2QwY2EwYWM5NTUxN2JkM2I4MzE2ZjY5YTIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0NvbnRhY3RQaWNrZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0NvbnRhY3RQaWNrZXIuaApAQCAtMjcsNiArMjcsOCBAQAog
CiAjaWYgSEFWRShDT05UQUNUU1VJKQogCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKwogQGNs
YXNzIFdLV2ViVmlldzsKIEBwcm90b2NvbCBXS0NvbnRhY3RQaWNrZXJEZWxlZ2F0ZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tDb250YWN0UGlja2VyLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tDb250YWN0UGlja2VyLm1tCmluZGV4
IDkwZDdlYTRkNWFmZDczMzYwYzM2ZWU3NWU4ZGRiOThkYjg0MTg0OGUuLjZhOWQyYWU4MGYzNDYy
NzQ0ZGIzMTU4YmY0YzA2ZDRlZjcwMGIzYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dLQ29udGFjdFBpY2tlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XS0NvbnRhY3RQaWNrZXIubW0KQEAgLTI5LDExICsyOSwxNCBAQAogI2lmIEhB
VkUoQ09OVEFDVFNVSSkKIAogI2ltcG9ydCAiQ29udGFjdHNVSVNQSS5oIgorI2ltcG9ydCAiV0tX
ZWJWaWV3LmgiCiAjaW1wb3J0IDxDb250YWN0cy9Db250YWN0cy5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9Db250YWN0SW5mby5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db250YWN0c1JlcXVlc3REYXRhLmg+
CisjaW1wb3J0IDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5Q
dHIuaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgorI2ltcG9ydCA8d3RmL1dlYWtPYmpD
UHRyLmg+CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2ltcG9ydCAiVUlLaXRTUEkuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDYwNjFhNjM3ZGI5M2JiMGFmYzZkOWM2NTE2YzNkMDNlMjM1YjVjYzEuLjhiYWZhNWRhZTdlY2Fh
NmVlMTFjZTM0NmMzZTA3YTU1OTFhNTA0YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTQzLDYgKzk0Myw4IEBACiAJCTQ0NkRDNjRD
MjRBMkQ4RTUwMDYxRjM5MCAvKiBQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ2REM2NEIyNEEy
RDhBRDAwNjFGMzkwIC8qIFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLmggKi87IH07
CiAJCTQ0NzZFRjA5MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ3NkVGMDgy
NUJGQzhCNzAwNEEwNTg3IC8qIF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDQ4MjczNDcyNDUyOEY2MDAw
QTk1NDkzIC8qIENvY29hSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0ODI3MzQ2MjQ1MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggKi87
IH07CisJCTQ0OTMxNkEzMjVEQzdEQzQwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0OTMxNkExMjVEQzdE
QzMwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0NDkzMTZBNjI1REM5RDAwMDBBQTY2REUgLyogX1dL
QXBwSGlnaGxpZ2h0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0OTMxNkE1MjVEQzlEMDAwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHRJ
bnRlcm5hbC5oICovOyB9OwogCQk0NDlEOTBEQTIxRkRDMzBCMDBGNjc3QzAgLyogTG9jYWxBdXRo
ZW50aWNhdGlvblNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDQ5RDkwRDgyMUZENjNGRTAwRjY3N0MwIC8qIExvY2FsQXV0aGVudGljYXRp
b25Tb2Z0TGluay5tbSAqLzsgfTsKIAkJNDRFOTM2RkQyNDQ3QzJEODAwOUZBM0UzIC8qIExlZ2Fj
eUN1c3RvbVByb3RvY29sSUQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ0RTkzNkZDMjQ0N0MyNTYwMDlGQTNFMyAvKiBMZWdhY3lDdXN0b21Qcm90b2Nv
bElELmggKi87IH07CiAJCTQ0RUMzRUE5MjQ3RjVDMDkwMDU5NDg5QyAvKiBfV0tEcmFnQWN0aW9u
c0ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NEVDM0VBODI0N0Y1QzA4MDA1OTQ4OUMgLyogX1dLRHJhZ0FjdGlvbnNJbnRlcm5hbC5oICov
OyB9OwpAQCAtMzc5Niw2ICszNzk4LDkgQEAKIAkJNDQ2REM2NEIyNEEyRDhBRDAwNjFGMzkwIC8q
IFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0NzZFRjA4MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBI
aWdobGlnaHREZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tB
cHBIaWdobGlnaHREZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDgy
NzM0NjI0NTI4RjYwMDBBOTU0OTMgLyogQ29jb2FJbWFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb2NvYUltYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQ0OTMxNkExMjVEQzdEQzMwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLQXBwSGlnaGxpZ2h0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQ0OTMxNkEyMjVEQzdEQzMwMEFBNjZERSAvKiBfV0tBcHBIaWdobGln
aHQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBfV0tBcHBIaWdo
bGlnaHQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0OTMxNkE1MjVEQzlEMDAw
MEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBfV0tBcHBIaWdobGlnaHRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0NDlEOTBEODIxRkQ2M0ZFMDBGNjc3QzAgLyogTG9jYWxBdXRoZW50aWNh
dGlvblNvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
TG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0NEE0ODFDNjIxRjJEMjdCMDBGMkY5MTkgLyogQ2xpZW50Q2VydGlmaWNhdGVBdXRoZW50
aWNhdGlvblhQQ0NvbnN0YW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDbGllbnRDZXJ0aWZp
Y2F0ZUF1dGhlbnRpY2F0aW9uWFBDQ29uc3RhbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDRFOTM2RkMyNDQ3QzI1NjAwOUZBM0UzIC8qIExlZ2FjeUN1c3RvbVByb3RvY29s
SUQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGVnYWN5Q3VzdG9tUHJvdG9j
b2xJRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzc1MSw3ICs3NzU2LDEwIEBA
CiAJCQkJMzdBNUUwMTIxOEJCRjkzNzAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZv
LmggKi8sCiAJCQkJMzdBNUUwMTExOEJCRjkzNzAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1l
bnRJbmZvLm1tICovLAogCQkJCTM3OUE4NzM1MThCQkZBNDMwMDU4OEFGMiAvKiBfV0tBY3RpdmF0
ZWRFbGVtZW50SW5mb0ludGVybmFsLmggKi8sCisJCQkJNDQ5MzE2QTEyNURDN0RDMzAwQUE2NkRF
IC8qIF9XS0FwcEhpZ2hsaWdodC5oICovLAorCQkJCTQ0OTMxNkEyMjVEQzdEQzMwMEFBNjZERSAv
KiBfV0tBcHBIaWdobGlnaHQubW0gKi8sCiAJCQkJNDQ3NkVGMDgyNUJGQzhCNzAwNEEwNTg3IC8q
IF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmggKi8sCisJCQkJNDQ5MzE2QTUyNURDOUQwMDAwQUE2
NkRFIC8qIF9XS0FwcEhpZ2hsaWdodEludGVybmFsLmggKi8sCiAJCQkJNjMxMDhGOTQxRjk2NzE5
QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QuaCAqLywKIAkJCQk2MzEwOEY5NTFG
OTY3MTlDMDBBMERCODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdC5tbSAqLywKIAkJCQk2MzEw
OEY5ODFGOTY3MUY3MDBBMERCODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdEludGVybmFsLmgg
Ki8sCkBAIC0xMTM5Myw3ICsxMTQwMSw5IEBACiAJCQlmaWxlcyA9ICgKIAkJCQkzN0E1RTAxNDE4
QkJGOTNGMDAwQTA4MUUgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm8uaCBpbiBIZWFkZXJzICov
LAogCQkJCTM3OUE4NzM2MThCQkZBNDMwMDU4OEFGMiAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5m
b0ludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NDkzMTZBMzI1REM3REM0MDBBQTY2REUg
LyogX1dLQXBwSGlnaGxpZ2h0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NDc2RUYwOTI1QkZDOEI3
MDA0QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTQ0OTMxNkE2MjVEQzlEMDAwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHRJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNjMxMDhGOTYxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0
aW9uTWFuaWZlc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTYzMTA4Rjk5MUY5NjcxRjcwMEEwREI4
NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUY0NDI5MTkyMUZBNTkxQzkwMDJDQzkzRSAvKiBfV0tBdHRhY2htZW50LmggaW4gSGVhZGVycyAq
LywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420619</attachid>
            <date>2021-02-17 02:07:14 -0800</date>
            <delta_ts>2021-02-17 09:14:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222014-20210217020713.patch</filename>
            <type>text/plain</type>
            <size>23122</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyOTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcyYmViOGY5ZDI1NjI4MThi
OTlkY2I0ZmRkNzVhNWE5YWI2NDkwZDMuLjNmMWQ0MjJiMzJiZjEyZGM4MmZhMWViM2YwNjYwNWYy
ZTM0NDg5ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDItMTYgIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgQXBwIEhp
Z2hsaWdodCBkZWxlZ2F0ZSB0byBwYXNzIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGhpZ2hs
aWdodCBmb3IgZGlzcGxheS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjAxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgt
W1dLV2ViVmlldyBfc3RvcmVBcHBIaWdobGlnaHQ6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIxLTAyLTE2ICBQZW5nIExpdSAgPHBlbmcubGl1
NkBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQVVBdIFZpZGVvIGFzIGltYWdlIHNvdXJjZSB0cmln
Z2VycyBJT1N1cmZhY2UgcmVhZGJhY2sgKHVubmVjZXNzYXJpbHkgc2xvdykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNSZXF1ZXN0RGF0
YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0c1JlcXVl
c3REYXRhLmgKaW5kZXggMTRmMzFkOTIxZDI5NGQ5NzJlZTUwN2ZiODdjMzA1YjZiOTY4NDg1MS4u
NGZlMDdmN2E4OGNlZmEwODM1NmNhY2VjZTAxM2NlY2I3NzY5M2U5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0c1JlcXVlc3REYXRhLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0c1JlcXVl
c3REYXRhLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNDb2NvYS50eHQKaW5kZXggNzAwY2M4MGQwZmY0YzM2ZDc1ZWJjYTZiYTM5YTRmZmI1YTZiYmJj
Yi4uZTVkYjZjMTk3NTQ1YTE5YTFlZWViZWNlMTFiMmM0NTg4ZDliNDIzNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNl
c0NvY29hLnR4dApAQCAtMjU0LDYgKzI1NCw3IEBAIFVJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdl
UHJpdmF0ZU1hYy5tbQogVUlQcm9jZXNzL0FQSS9DL21hYy9XS1Byb3RlY3Rpb25TcGFjZU5TLm1t
CiAKIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQWN0aXZhdGVkRWxlbWVudEluZm8ubW0KK1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0Lm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19X
S0FwcGxpY2F0aW9uTWFuaWZlc3QubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXR0YWNobWVu
dC5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRvbWF0aW9uU2Vzc2lvbi5tbQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYWE2MzE2
MzRiYzM4YmIwOTY3ODFmYmEzMDUwNjU4NWU2YzY4YWQ0NC4uMjVhZDdhNTkwZDgyZTgzMWYxZWM2
YWFlMGQ5YmZlOGFkOTQ4MDQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xMDAsNiArMTAwLDcgQEAKICNpbXBvcnQgIldlYlZpZXdJ
bXBsLmgiCiAjaW1wb3J0ICJfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0ludGVybmFsLmgiCiAjaW1w
b3J0ICJfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oIgorI2ltcG9ydCAiX1dLQXBwSGlnaGxpZ2h0
SW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGUuaCIKICNp
bXBvcnQgIl9XS0ZpbmREZWxlZ2F0ZS5oIgogI2ltcG9ydCAiX1dLRnJhbWVIYW5kbGVJbnRlcm5h
bC5oIgpAQCAtMTQxNywxNCArMTQxOCwyMyBAQCAtICh2b2lkKV9zZXRBcHBIaWdobGlnaHREZWxl
Z2F0ZTooaWQgPF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlPilkZWxlZ2F0ZQogfQogCiAjaWYgRU5B
QkxFKEFQUF9ISUdITElHSFRTKQotLSAodm9pZClfc3RvcmVBcHBIaWdobGlnaHQ6KGNvbnN0IFdl
YkNvcmU6OkFwcEhpZ2hsaWdodCYpaGlnaGxpZ2h0SW5mb3JtYXRpb24KKy0gKHZvaWQpX3N0b3Jl
QXBwSGlnaGxpZ2h0Oihjb25zdCBXZWJDb3JlOjpBcHBIaWdobGlnaHQmKWhpZ2hsaWdodAogewog
ICAgIGF1dG8gZGVsZWdhdGUgPSBzZWxmLl9hcHBIaWdobGlnaHREZWxlZ2F0ZTsKICAgICBpZiAo
IWRlbGVnYXRlKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6dXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2U6
KV0pCi0gICAgICAgIFtkZWxlZ2F0ZSBfd2ViVmlldzpzZWxmIHVwZGF0ZUFwcEhpZ2hsaWdodHNT
dG9yYWdlOmhpZ2hsaWdodEluZm9ybWF0aW9uLmhpZ2hsaWdodC0+Y3JlYXRlTlNEYXRhKCkuZ2V0
KCldOworICAgIGlmICghW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dl
YlZpZXc6c3RvcmVBcHBIaWdobGlnaHQ6aW5OZXdHcm91cDopXSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgTlNTdHJpbmcgKnRleHQgPSBuaWw7CisKKyAgICBpZiAoaGlnaGxpZ2h0LnRleHQpCisg
ICAgICAgIHRleHQgPSBoaWdobGlnaHQudGV4dC52YWx1ZSgpOworCisgICAgYXV0byB3a0hpZ2hs
aWdodCA9IGFkb3B0TlMoW1tfV0tBcHBIaWdobGlnaHQgYWxsb2NdIGluaXRXaXRoSGlnaGxpZ2h0
OmhpZ2hsaWdodC5oaWdobGlnaHQtPmNyZWF0ZU5TRGF0YSgpLmdldCgpIHRleHQ6dGV4dCBpbWFn
ZTpuaWxdKTsKKworICAgIFtkZWxlZ2F0ZSBfd2ViVmlldzpzZWxmIHN0b3JlQXBwSGlnaGxpZ2h0
OndrSGlnaGxpZ2h0LmdldCgpIGluTmV3R3JvdXA6aGlnaGxpZ2h0LmlzTmV3R3JvdXAgPT0gV2Vi
Q29yZTo6Q3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQ6OlllcyA/IFlFUyA6IE5PXTsKIH0KICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
QXBwSGlnaGxpZ2h0LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBw
SGlnaGxpZ2h0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzZjMzc3ODE2NTVjNDlhOWUxOGZiMGNjNmRkYjdmMjM5
ZDA0NGJmNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tBcHBIaWdobGlnaHQuaApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lt
cG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCisjaWYgVEFSR0VUX09TX0lQSE9ORQorQGNs
YXNzIFVJSW1hZ2U7CisjZWxzZQorQGNsYXNzIE5TSW1hZ2U7CisjZW5kaWYKKworV0tfQ0xBU1Nf
QVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCitAaW50ZXJmYWNl
IF9XS0FwcEhpZ2hsaWdodCA6IE5TT2JqZWN0CisKKy0gKGluc3RhbmNldHlwZSlpbml0IE5TX1VO
QVZBSUxBQkxFOworCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TRGF0
YSAqaGlnaGxpZ2h0OworCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5T
U3RyaW5nICp0ZXh0OworCisjaWYgVEFSR0VUX09TX0lQSE9ORQorQHByb3BlcnR5IChub25hdG9t
aWMsIHJlYWRvbmx5LCBjb3B5KSBVSUltYWdlICppbWFnZTsKKyNlbHNlCitAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TSW1hZ2UgKmltYWdlOworI2VuZGlmCisKKworQGVu
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhp
Z2hsaWdodC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdo
bGlnaHQubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZTY3NGRmMTE2ODQ1ZGY3YTAwNmM1NTE3MjNlMzIxNzY3YmYz
MGVmZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tBcHBIaWdobGlnaHQubW0KQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBv
cnQgImNvbmZpZy5oIgorI2ltcG9ydCAiX1dLQXBwSGlnaGxpZ2h0LmgiCisKKyNpbXBvcnQgIkNv
Y29hSW1hZ2UuaCIKKworQGltcGxlbWVudGF0aW9uIF9XS0FwcEhpZ2hsaWdodAorCistIChpbnN0
YW5jZXR5cGUpaW5pdFdpdGhIaWdobGlnaHQ6KE5TRGF0YSAqKWhpZ2hsaWdodCB0ZXh0OihOU1N0
cmluZyAqKXRleHQgaW1hZ2U6KENvY29hSW1hZ2UgKilpbWFnZQoreworICAgIGlmICghKHNlbGYg
PSBbc3VwZXIgaW5pdF0pKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgX2hpZ2hsaWdodCA9
IGhpZ2hsaWdodDsKKyAgICBfdGV4dCA9IHRleHQ7CisgICAgX2ltYWdlID0gaW1hZ2U7CisKKyAg
ICByZXR1cm4gc2VsZjsKK30KKworQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaAppbmRleCBkY2Iy
MDVlNDY3YzExYzBlZTA5N2I3ZmQ1YTY5MmYxMzFkZmZjODhiLi5kMGU5MjQ2NmJiZTliYzNlM2Yx
NDdlODI1ZWQzMmI1MGY2MThlYzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaApAQCAtMjUsMTEg
KzI1LDE1IEBACiAKICNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgogCitAY2xhc3Mg
X1dLQXBwSGlnaGxpZ2h0OworCiBAcHJvdG9jb2wgX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUgPE5T
T2JqZWN0PgogCiBAb3B0aW9uYWwKIAotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTooTlNEYXRhICopZGF0YTsKKy0gKHZvaWQp
X3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2U6
KE5TRGF0YSAqKWRhdGEgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKKworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzdG9y
ZUFwcEhpZ2hsaWdodDooX1dLQXBwSGlnaGxpZ2h0ICopaGlnaGxpZ2h0IGluTmV3R3JvdXA6KEJP
T0wpaW5OZXdHcm91cCBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tf
SU9TX1RCQSkpOwogCiBAZW5kCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHRJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodEludGVybmFsLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWMw
Y2IwNDYxMGY2ZTQ4YmI2N2NlODdlNTNlMTY3YjUzZjQ1ZWE5YgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHRJbnRlcm5h
bC5oCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJfV0tBcHBIaWdobGln
aHQuaCIKKworQGludGVyZmFjZSBfV0tBcHBIaWdobGlnaHQgKCkKKworLSAoaW5zdGFuY2V0eXBl
KWluaXRXaXRoSGlnaGxpZ2h0OihOU0RhdGEgKiloaWdobGlnaHQgdGV4dDooTlNTdHJpbmcgKil0
ZXh0IGltYWdlOihDb2NvYUltYWdlICopaW1hZ2U7CisKK0BlbmQKKwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3Rvci5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3IubW0KaW5kZXggNGFhMDk5MThl
ZGFhZjgyNzFiODkwODQ4MzE5ODQzODM4OTE2MzE2OC4uOGU0ZWQ3ZDQ0MTIwNTk0YmU1NThiYjlj
MzZkOTJjNjIyNjE3MmNlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0luc3BlY3Rvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLSW5zcGVjdG9yLm1tCkBAIC0xODMsNyArMTgzLDcgQEAgLSAodm9pZClyZWdpc3Rl
ckV4dGVuc2lvbldpdGhJRDooTlNTdHJpbmcgKilleHRlbnNpb25JRCBkaXNwbGF5TmFtZTooTlNT
dHJpbmcgKikKICNpZiBFTkFCTEUoSU5TUEVDVE9SX0VYVEVOU0lPTlMpCiAgICAgX2luc3BlY3Rv
ci0+ZXh0ZW5zaW9uQ29udHJvbGxlcigpLnJlZ2lzdGVyRXh0ZW5zaW9uKGV4dGVuc2lvbklELCBk
aXNwbGF5TmFtZSwgW3Byb3RlY3RlZEV4dGVuc2lvbklEID0gcmV0YWluUHRyKGV4dGVuc2lvbklE
KSwgcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKSwgY2FwdHVyZWRCbG9jayA9IG1ha2VC
bG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIChFeHBlY3RlZDxib29sLCBXZWJLaXQ6Okluc3Bl
Y3RvckV4dGVuc2lvbkVycm9yPiByZXN1bHQpIG11dGFibGUgewogICAgICAgICBpZiAoIXJlc3Vs
dCkgewotICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhbTlNFcnJvciBlcnJvcldpdGhEb21haW46
V0tFcnJvckRvbWFpbiBjb2RlOldLRXJyb3JVbmtub3duIHVzZXJJbmZvOkB7IE5TTG9jYWxpemVk
RmFpbHVyZVJlYXNvbkVycm9yS2V5OiBpbnNwZWN0b3JFeHRlbnNpb25FcnJvclRvU3RyaW5nKHJl
c3VsdC5lcnJvcigpKX1dLCBuaWwpOworICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhbTlNFcnJv
ciBlcnJvcldpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOldLRXJyb3JVbmtub3duIHVzZXJJ
bmZvOkB7IE5TTG9jYWxpemVkRmFpbHVyZVJlYXNvbkVycm9yS2V5OiBXZWJLaXQ6Omluc3BlY3Rv
ckV4dGVuc2lvbkVycm9yVG9TdHJpbmcocmVzdWx0LmVycm9yKCkpfV0sIG5pbCk7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMTk5LDcgKzE5OSw3IEBAIC0gKHZvaWQpdW5y
ZWdpc3RlckV4dGVuc2lvbjooX1dLSW5zcGVjdG9yRXh0ZW5zaW9uICopZXh0ZW5zaW9uIGNvbXBs
ZXRpb25IYW5kbGVyCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9FWFRFTlNJT05TKQogICAgIF9pbnNw
ZWN0b3ItPmV4dGVuc2lvbkNvbnRyb2xsZXIoKS51bnJlZ2lzdGVyRXh0ZW5zaW9uKGV4dGVuc2lv
bi5leHRlbnNpb25JRCwgW3Byb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZiksIGNhcHR1cmVk
QmxvY2sgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXSAoRXhwZWN0ZWQ8Ym9vbCwg
V2ViS2l0OjpJbnNwZWN0b3JFeHRlbnNpb25FcnJvcj4gcmVzdWx0KSBtdXRhYmxlIHsKICAgICAg
ICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgICAgIGNhcHR1cmVkQmxvY2soW05TRXJyb3IgZXJy
b3JXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93biB1c2VySW5mbzpA
eyBOU0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJvcktleTogaW5zcGVjdG9yRXh0ZW5zaW9uRXJy
b3JUb1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSk7CisgICAgICAgICAgICBjYXB0dXJlZEJsb2Nr
KFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvclVua25v
d24gdXNlckluZm86QHsgTlNMb2NhbGl6ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6IFdlYktpdDo6
aW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3JUb1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSk7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvckV4dGVuc2lvbi5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3JFeHRlbnNpb24ubW0KaW5kZXggYWRk
MzU4NTM5YWRmODkxZjQ5M2JkYWFhZWRhZDg5NzQ4MjlmMjFhYy4uMjY3ZjBlZjkzMzgzOTU4NDM3
ODQwZjAwYzJiYWE3NmJmZDc5Y2Y1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS0luc3BlY3RvckV4dGVuc2lvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yRXh0ZW5zaW9uLm1tCkBAIC0yNiw4ICsy
NiwxMCBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJfV0tJbnNwZWN0b3JFeHRlbnNp
b25JbnRlcm5hbC5oIgogCisjaW1wb3J0ICJJbnNwZWN0b3JFeHRlbnNpb25UeXBlcy5oIgogI2lt
cG9ydCAiV0tFcnJvci5oIgogI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJuYWwuaCIKKyNpbXBvcnQg
PFdlYkNvcmUvRXhjZXB0aW9uRGV0YWlscy5oPgogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CiAj
aW1wb3J0IDx3dGYvVVJMLmg+CiAKQEAgLTUzLDcgKzU1LDcgQEAgLSAodm9pZCljcmVhdGVUYWJX
aXRoTmFtZTooTlNTdHJpbmcgKil0YWJOYW1lIHRhYkljb25VUkw6KE5TVVJMICopdGFiSWNvblVS
TCBzb3UKIHsKICAgICBfZXh0ZW5zaW9uLT5jcmVhdGVUYWIodGFiTmFtZSwgdGFiSWNvblVSTCwg
c291cmNlVVJMLCBbcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKSwgY2FwdHVyZWRCbG9j
ayA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIChFeHBlY3RlZDxXZWJLaXQ6Oklu
c3BlY3RvckV4dGVuc2lvblRhYklELCBXZWJLaXQ6Okluc3BlY3RvckV4dGVuc2lvbkVycm9yPiBy
ZXN1bHQpIG11dGFibGUgewogICAgICAgICBpZiAoIXJlc3VsdCkgewotICAgICAgICAgICAgY2Fw
dHVyZWRCbG9jayhbTlNFcnJvciBlcnJvcldpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOldL
RXJyb3JVbmtub3duIHVzZXJJbmZvOkB7IE5TTG9jYWxpemVkRmFpbHVyZVJlYXNvbkVycm9yS2V5
OiBpbnNwZWN0b3JFeHRlbnNpb25FcnJvclRvU3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dLCBuaWwp
OworICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhbTlNFcnJvciBlcnJvcldpdGhEb21haW46V0tF
cnJvckRvbWFpbiBjb2RlOldLRXJyb3JVbmtub3duIHVzZXJJbmZvOkB7IE5TTG9jYWxpemVkRmFp
bHVyZVJlYXNvbkVycm9yS2V5OiBXZWJLaXQ6Omluc3BlY3RvckV4dGVuc2lvbkVycm9yVG9TdHJp
bmcocmVzdWx0LmVycm9yKCkpfV0sIG5pbCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KIApAQCAtNjcsNyArNjksNyBAQCAtICh2b2lkKWV2YWx1YXRlU2NyaXB0OihOU1N0cmluZyAq
KXNjcmlwdFNvdXJjZSBmcmFtZVVSTDooTlNVUkwgKilmcmFtZVVSTCBjb250ZQogICAgIE9wdGlv
bmFsPFVSTD4gb3B0aW9uYWxDb250ZXh0U2VjdXJpdHlPcmlnaW4gPSBjb250ZXh0U2VjdXJpdHlP
cmlnaW4gPyBtYWtlT3B0aW9uYWwoVVJMKGNvbnRleHRTZWN1cml0eU9yaWdpbikpIDogV1RGOjpu
dWxsb3B0OwogICAgIF9leHRlbnNpb24tPmV2YWx1YXRlU2NyaXB0KHNjcmlwdFNvdXJjZSwgb3B0
aW9uYWxGcmFtZVVSTCwgb3B0aW9uYWxDb250ZXh0U2VjdXJpdHlPcmlnaW4sIHVzZUNvbnRlbnRT
Y3JpcHRDb250ZXh0LCBbcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKSwgY2FwdHVyZWRC
bG9jayA9IG1ha2VCbG9ja1B0cihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSldIChXZWJLaXQ6
Okluc3BlY3RvckV4dGVuc2lvbkV2YWx1YXRpb25SZXN1bHQmJiByZXN1bHQpIG11dGFibGUgewog
ICAgICAgICBpZiAoIXJlc3VsdCkgewotICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhbTlNFcnJv
ciBlcnJvcldpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOldLRXJyb3JVbmtub3duIHVzZXJJ
bmZvOkB7IE5TTG9jYWxpemVkRmFpbHVyZVJlYXNvbkVycm9yS2V5OiBpbnNwZWN0b3JFeHRlbnNp
b25FcnJvclRvU3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dLCBuaWwpOworICAgICAgICAgICAgY2Fw
dHVyZWRCbG9jayhbTlNFcnJvciBlcnJvcldpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOldL
RXJyb3JVbmtub3duIHVzZXJJbmZvOkB7IE5TTG9jYWxpemVkRmFpbHVyZVJlYXNvbkVycm9yS2V5
OiBXZWJLaXQ6Omluc3BlY3RvckV4dGVuc2lvbkVycm9yVG9TdHJpbmcocmVzdWx0LmVycm9yKCkp
fV0sIG5pbCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5z
cGVjdG9yVmlld0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KaW5kZXggOWYzMTljZmNk
NWQzNTI1Y2U2MWRhNDJkYTBkMjZhM2U1NjI0NjZiYi4uMmNhZGI4NGEwZWYyYjkzZDYyMjFmOGQ5
OWM4YjJiNzBiMTBhYWUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29u
dHJvbGxlci5tbQpAQCAtMTY0LDcgKzE2NCw3IEBAIC0gKHZvaWQpcmVnaXN0ZXJFeHRlbnNpb25X
aXRoSUQ6KE5TU3RyaW5nICopZXh0ZW5zaW9uSUQgZGlzcGxheU5hbWU6KE5TU3RyaW5nICopCiAj
aWYgRU5BQkxFKElOU1BFQ1RPUl9FWFRFTlNJT05TKQogICAgIG1fcmVtb3RlSW5zcGVjdG9yUHJv
eHktPmV4dGVuc2lvbkNvbnRyb2xsZXIoKS5yZWdpc3RlckV4dGVuc2lvbihleHRlbnNpb25JRCwg
ZGlzcGxheU5hbWUsIFtwcm90ZWN0ZWRFeHRlbnNpb25JRCA9IHJldGFpblB0cihleHRlbnNpb25J
RCksIHByb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZiksIGNhcHR1cmVkQmxvY2sgPSBtYWtl
QmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXSAoRXhwZWN0ZWQ8Ym9vbCwgV2ViS2l0OjpJbnNw
ZWN0b3JFeHRlbnNpb25FcnJvcj4gcmVzdWx0KSBtdXRhYmxlIHsKICAgICAgICAgaWYgKCFyZXN1
bHQpIHsKLSAgICAgICAgICAgIGNhcHR1cmVkQmxvY2soW05TRXJyb3IgZXJyb3JXaXRoRG9tYWlu
OldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93biB1c2VySW5mbzpAeyBOU0xvY2FsaXpl
ZEZhaWx1cmVSZWFzb25FcnJvcktleTogaW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3JUb1N0cmluZyhy
ZXN1bHQuZXJyb3IoKSl9XSwgbmlsKTsKKyAgICAgICAgICAgIGNhcHR1cmVkQmxvY2soW05TRXJy
b3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93biB1c2Vy
SW5mbzpAeyBOU0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJvcktleTogV2ViS2l0OjppbnNwZWN0
b3JFeHRlbnNpb25FcnJvclRvU3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dLCBuaWwpOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTE4MCw3ICsxODAsNyBAQCAtICh2b2lkKXVu
cmVnaXN0ZXJFeHRlbnNpb246KF9XS0luc3BlY3RvckV4dGVuc2lvbiAqKWV4dGVuc2lvbiBjb21w
bGV0aW9uSGFuZGxlcgogI2lmIEVOQUJMRShJTlNQRUNUT1JfRVhURU5TSU9OUykKICAgICBtX3Jl
bW90ZUluc3BlY3RvclByb3h5LT5leHRlbnNpb25Db250cm9sbGVyKCkudW5yZWdpc3RlckV4dGVu
c2lvbihleHRlbnNpb24uZXh0ZW5zaW9uSUQsIFtwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNl
bGYpLCBjYXB0dXJlZEJsb2NrID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0gKEV4
cGVjdGVkPGJvb2wsIFdlYktpdDo6SW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3I+IHJlc3VsdCkgbXV0
YWJsZSB7CiAgICAgICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgICAgICBjYXB0dXJlZEJsb2Nr
KFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvclVua25v
d24gdXNlckluZm86QHsgTlNMb2NhbGl6ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6IGluc3BlY3Rv
ckV4dGVuc2lvbkVycm9yVG9TdHJpbmcocmVzdWx0LmVycm9yKCkpfV0pOworICAgICAgICAgICAg
Y2FwdHVyZWRCbG9jayhbTlNFcnJvciBlcnJvcldpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2Rl
OldLRXJyb3JVbmtub3duIHVzZXJJbmZvOkB7IE5TTG9jYWxpemVkRmFpbHVyZVJlYXNvbkVycm9y
S2V5OiBXZWJLaXQ6Omluc3BlY3RvckV4dGVuc2lvbkVycm9yVG9TdHJpbmcocmVzdWx0LmVycm9y
KCkpfV0pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLQ29udGFjdFBpY2tlci5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV0tDb250YWN0UGlja2VyLmgKaW5kZXggOTllMGFkNGZlNzk5
ZjIzYTc0YWI1MmE3YjA3ZTRkMzYxYjhlODA1Ni4uNDRmZTM1ZTg1NGNkNTNkMGNhMGFjOTU1MTdi
ZDNiODMxNmY2OWEyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V0tDb250YWN0UGlja2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tD
b250YWN0UGlja2VyLmgKQEAgLTI3LDYgKzI3LDggQEAKIAogI2lmIEhBVkUoQ09OVEFDVFNVSSkK
IAorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKIEBjbGFzcyBXS1dlYlZpZXc7CiBAcHJvdG9j
b2wgV0tDb250YWN0UGlja2VyRGVsZWdhdGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dLQ29udGFjdFBpY2tlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dLQ29udGFjdFBpY2tlci5tbQppbmRleCA5MGQ3ZWE0ZDVhZmQ3MzM2MGMzNmVl
NzVlOGRkYjk4ZGI4NDE4NDhlLi42YTlkMmFlODBmMzQ2Mjc0NGRiMzE1OGJmNGMwNmQ0ZWY3MDBi
M2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0NvbnRhY3RQ
aWNrZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tDb250YWN0UGlj
a2VyLm1tCkBAIC0yOSwxMSArMjksMTQgQEAKICNpZiBIQVZFKENPTlRBQ1RTVUkpCiAKICNpbXBv
cnQgIkNvbnRhY3RzVUlTUEkuaCIKKyNpbXBvcnQgIldLV2ViVmlldy5oIgogI2ltcG9ydCA8Q29u
dGFjdHMvQ29udGFjdHMuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29udGFjdEluZm8uaD4KICNpbXBv
cnQgPFdlYkNvcmUvQ29udGFjdHNSZXF1ZXN0RGF0YS5oPgorI2ltcG9ydCA8d3RmL0NvbXBsZXRp
b25IYW5kbGVyLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvU29m
dExpbmtpbmcuaD4KKyNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5oPgogCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKICNpbXBvcnQgIlVJS2l0U1BJLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2MDYxYTYzN2RiOTNiYjBhZmM2ZDlj
NjUxNmMzZDAzZTIzNWI1Y2MxLi44YmFmYTVkYWU3ZWNhYTZlZTExY2UzNDZjM2UwN2E1NTkxYTUw
NGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTk0Myw2ICs5NDMsOCBAQAogCQk0NDZEQzY0QzI0QTJEOEU1MDA2MUYzOTAgLyogUGxh
eWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NkRDNjRCMjRBMkQ4QUQwMDYxRjM5MCAvKiBQbGF5YmFj
a1Nlc3Npb25Db250ZXh0SWRlbnRpZmllci5oICovOyB9OwogCQk0NDc2RUYwOTI1QkZDOEI3MDA0
QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NzZFRjA4MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tB
cHBIaWdobGlnaHREZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQ0ODI3MzQ3MjQ1MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDgyNzM0NjI0
NTI4RjYwMDBBOTU0OTMgLyogQ29jb2FJbWFnZS5oICovOyB9OworCQk0NDkzMTZBMzI1REM3REM0
MDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NDkzMTZBMTI1REM3REMzMDBBQTY2REUgLyogX1dLQXBwSGln
aGxpZ2h0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJNDQ5MzE2QTYyNURDOUQwMDAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodEludGVybmFsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDkzMTZBNTI1
REM5RDAwMDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaCAqLzsgfTsKIAkJNDQ5
RDkwREEyMUZEQzMwQjAwRjY3N0MwIC8qIExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0OUQ5MEQ4MjFG
RDYzRkUwMEY2NzdDMCAvKiBMb2NhbEF1dGhlbnRpY2F0aW9uU29mdExpbmsubW0gKi87IH07CiAJ
CTQ0RTkzNkZEMjQ0N0MyRDgwMDlGQTNFMyAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbElELmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEU5MzZGQzI0NDdD
MjU2MDA5RkEzRTMgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xJRC5oICovOyB9OwogCQk0NEVDM0VB
OTI0N0Y1QzA5MDA1OTQ4OUMgLyogX1dLRHJhZ0FjdGlvbnNJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFQzNFQTgyNDdGNUMwODAwNTk0
ODlDIC8qIF9XS0RyYWdBY3Rpb25zSW50ZXJuYWwuaCAqLzsgfTsKQEAgLTM3OTYsNiArMzc5OCw5
IEBACiAJCTQ0NkRDNjRCMjRBMkQ4QUQwMDYxRjM5MCAvKiBQbGF5YmFja1Nlc3Npb25Db250ZXh0
SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF5YmFja1Nl
c3Npb25Db250ZXh0SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NDc2RUYwODI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ4MjczNDYyNDUyOEY2MDAwQTk1NDkzIC8q
IENvY29hSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29jb2FJbWFn
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDkzMTZBMTI1REM3REMzMDBBQTY2
REUgLyogX1dLQXBwSGlnaGxpZ2h0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IF9XS0FwcEhpZ2hsaWdodC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDkzMTZB
MjI1REM3REMzMDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0Lm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gX1dLQXBwSGlnaGxpZ2h0Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0NDkzMTZBNTI1REM5RDAwMDBBQTY2REUgLyogX1dLQXBwSGlnaGxp
Z2h0SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLQXBwSGln
aGxpZ2h0SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ5RDkwRDgy
MUZENjNGRTAwRjY3N0MwIC8qIExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsQXV0aGVudGljYXRpb25Tb2Z0
TGluay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRBNDgxQzYyMUYyRDI3QjAw
RjJGOTE5IC8qIENsaWVudENlcnRpZmljYXRlQXV0aGVudGljYXRpb25YUENDb25zdGFudHMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ2xpZW50Q2VydGlmaWNhdGVBdXRoZW50aWNhdGlvblhQQ0Nv
bnN0YW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0RTkzNkZDMjQ0N0My
NTYwMDlGQTNFMyAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbElELmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IExlZ2FjeUN1c3RvbVByb3RvY29sSUQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTc3NTEsNyArNzc1NiwxMCBAQAogCQkJCTM3QTVFMDEyMThCQkY5Mzcw
MDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5oICovLAogCQkJCTM3QTVFMDExMThC
QkY5MzcwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSAqLywKIAkJCQkzNzlB
ODczNTE4QkJGQTQzMDA1ODhBRjIgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5o
ICovLAorCQkJCTQ0OTMxNkExMjVEQzdEQzMwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHQuaCAq
LywKKwkJCQk0NDkzMTZBMjI1REM3REMzMDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0Lm1tICov
LAogCQkJCTQ0NzZFRjA4MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHREZWxlZ2F0
ZS5oICovLAorCQkJCTQ0OTMxNkE1MjVEQzlEMDAwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHRJ
bnRlcm5hbC5oICovLAogCQkJCTYzMTA4Rjk0MUY5NjcxOUMwMEEwREI4NCAvKiBfV0tBcHBsaWNh
dGlvbk1hbmlmZXN0LmggKi8sCiAJCQkJNjMxMDhGOTUxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0Fw
cGxpY2F0aW9uTWFuaWZlc3QubW0gKi8sCiAJCQkJNjMxMDhGOTgxRjk2NzFGNzAwQTBEQjg0IC8q
IF9XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oICovLApAQCAtMTEzOTMsNyArMTE0MDEs
OSBAQAogCQkJZmlsZXMgPSAoCiAJCQkJMzdBNUUwMTQxOEJCRjkzRjAwMEEwODFFIC8qIF9XS0Fj
dGl2YXRlZEVsZW1lbnRJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzlBODczNjE4QkJGQTQz
MDA1ODhBRjIgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDQ5MzE2QTMyNURDN0RDNDAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDQ3NkVGMDkyNUJGQzhCNzAwNEEwNTg3IC8qIF9XS0FwcEhpZ2hs
aWdodERlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NDkzMTZBNjI1REM5RDAwMDBBQTY2
REUgLyogX1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTYzMTA4
Rjk2MUY5NjcxOUMwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk2MzEwOEY5OTFGOTY3MUY3MDBBMERCODQgLyogX1dLQXBwbGljYXRpb25NYW5p
ZmVzdEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNDQyOTE5MjFGQTU5MUM5MDAyQ0M5
M0UgLyogX1dLQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420655</attachid>
            <date>2021-02-17 09:14:27 -0800</date>
            <delta_ts>2021-02-17 10:38:44 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-222014-20210217091426.patch</filename>
            <type>text/plain</type>
            <size>23118</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyOTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcyYmViOGY5ZDI1NjI4MThi
OTlkY2I0ZmRkNzVhNWE5YWI2NDkwZDMuLmFmMDNkNDllYjRhN2JhNmExOGViY2FhNzBkM2Q0Mzg5
OGZlZTk3NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDItMTYgIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgQXBwIEhp
Z2hsaWdodCBkZWxlZ2F0ZSB0byBwYXNzIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGhpZ2hs
aWdodCBmb3IgZGlzcGxheS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjAxNAorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3IF9zdG9yZUFwcEhpZ2hsaWdodDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmg6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjEtMDItMTYgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFw
cGxlLmNvbT4KIAogICAgICAgICBbR1BVUF0gVmlkZW8gYXMgaW1hZ2Ugc291cmNlIHRyaWdnZXJz
IElPU3VyZmFjZSByZWFkYmFjayAodW5uZWNlc3NhcmlseSBzbG93KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0c1JlcXVlc3REYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RzUmVxdWVzdERh
dGEuaAppbmRleCAxNGYzMWQ5MjFkMjk0ZDk3MmVlNTA3ZmI4N2MzMDViNmI5Njg0ODUxLi40ZmUw
N2Y3YTg4Y2VmYTA4MzU2Y2FjZWNlMDEzY2VjYjc3NjkzZTlkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RzUmVxdWVzdERhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RzUmVxdWVzdERh
dGEuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVk
ZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0Nv
Y29hLnR4dAppbmRleCA3MDBjYzgwZDBmZjRjMzZkNzVlYmNhNmJhMzlhNGZmYjVhNmJiYmNiLi5l
NWRiNmMxOTc1NDVhMTlhMWVlZWJlY2UxMWIyYzQ1ODhkOWI0MjM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29j
b2EudHh0CkBAIC0yNTQsNiArMjU0LDcgQEAgVUlQcm9jZXNzL0FQSS9DL21hYy9XS1BhZ2VQcml2
YXRlTWFjLm1tCiBVSVByb2Nlc3MvQVBJL0MvbWFjL1dLUHJvdGVjdGlvblNwYWNlTlMubW0KIAog
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5tbQorVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHQubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBw
bGljYXRpb25NYW5pZmVzdC5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdHRhY2htZW50Lm1t
CiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uLm1tCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBhYTYzMTYzNGJj
MzhiYjA5Njc4MWZiYTMwNTA2NTg1ZTZjNjhhZDQ0Li4yNWFkN2E1OTBkODJlODMxZjFlYzZhYWUw
ZDliZmU4YWQ5NDgwNDA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KQEAgLTEwMCw2ICsxMDAsNyBAQAogI2ltcG9ydCAiV2ViVmlld0ltcGwu
aCIKICNpbXBvcnQgIl9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvSW50ZXJuYWwuaCIKICNpbXBvcnQg
Il9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmgiCisjaW1wb3J0ICJfV0tBcHBIaWdobGlnaHRJbnRl
cm5hbC5oIgogI2ltcG9ydCAiX1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZS5oIgogI2ltcG9y
dCAiX1dLRmluZERlbGVnYXRlLmgiCiAjaW1wb3J0ICJfV0tGcmFtZUhhbmRsZUludGVybmFsLmgi
CkBAIC0xNDE3LDE0ICsxNDE4LDIzIEBAIC0gKHZvaWQpX3NldEFwcEhpZ2hsaWdodERlbGVnYXRl
OihpZCA8X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU+KWRlbGVnYXRlCiB9CiAKICNpZiBFTkFCTEUo
QVBQX0hJR0hMSUdIVFMpCi0tICh2b2lkKV9zdG9yZUFwcEhpZ2hsaWdodDooY29uc3QgV2ViQ29y
ZTo6QXBwSGlnaGxpZ2h0JiloaWdobGlnaHRJbmZvcm1hdGlvbgorLSAodm9pZClfc3RvcmVBcHBI
aWdobGlnaHQ6KGNvbnN0IFdlYkNvcmU6OkFwcEhpZ2hsaWdodCYpaGlnaGxpZ2h0CiB7CiAgICAg
YXV0byBkZWxlZ2F0ZSA9IHNlbGYuX2FwcEhpZ2hsaWdodERlbGVnYXRlOwogICAgIGlmICghZGVs
ZWdhdGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChbZGVsZWdhdGUgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTopXSkK
LSAgICAgICAgW2RlbGVnYXRlIF93ZWJWaWV3OnNlbGYgdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3Jh
Z2U6aGlnaGxpZ2h0SW5mb3JtYXRpb24uaGlnaGxpZ2h0LT5jcmVhdGVOU0RhdGEoKS5nZXQoKV07
CisgICAgaWYgKCFbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmll
dzpzdG9yZUFwcEhpZ2hsaWdodDppbk5ld0dyb3VwOildKQorICAgICAgICByZXR1cm47CisKKyAg
ICBOU1N0cmluZyAqdGV4dCA9IG5pbDsKKworICAgIGlmIChoaWdobGlnaHQudGV4dCkKKyAgICAg
ICAgdGV4dCA9IGhpZ2hsaWdodC50ZXh0LnZhbHVlKCk7CisKKyAgICBhdXRvIHdrSGlnaGxpZ2h0
ID0gYWRvcHROUyhbW19XS0FwcEhpZ2hsaWdodCBhbGxvY10gaW5pdFdpdGhIaWdobGlnaHQ6aGln
aGxpZ2h0LmhpZ2hsaWdodC0+Y3JlYXRlTlNEYXRhKCkuZ2V0KCkgdGV4dDp0ZXh0IGltYWdlOm5p
bF0pOworCisgICAgW2RlbGVnYXRlIF93ZWJWaWV3OnNlbGYgc3RvcmVBcHBIaWdobGlnaHQ6d2tI
aWdobGlnaHQuZ2V0KCkgaW5OZXdHcm91cDpoaWdobGlnaHQuaXNOZXdHcm91cCA9PSBXZWJDb3Jl
OjpDcmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodDo6WWVzID8gWUVTIDogTk9dOwogfQogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBI
aWdobGlnaHQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdo
bGlnaHQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43NmMzNzc4MTY1NWM0OWE5ZTE4ZmIwY2M2ZGRiN2YyMzlkMDQ0
YmY3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS0FwcEhpZ2hsaWdodC5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0
IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBUQVJHRVRfT1NfSVBIT05FCitAY2xhc3Mg
VUlJbWFnZTsKKyNlbHNlCitAY2xhc3MgTlNJbWFnZTsKKyNlbmRpZgorCitXS19DTEFTU19BVkFJ
TEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSkKK0BpbnRlcmZhY2UgX1dL
QXBwSGlnaGxpZ2h0IDogTlNPYmplY3QKKworLSAoaW5zdGFuY2V0eXBlKWluaXQgTlNfVU5BVkFJ
TEFCTEU7CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgY29weSkgTlNEYXRhICpo
aWdobGlnaHQ7CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgY29weSkgTlNTdHJp
bmcgKnRleHQ7CisKKyNpZiBUQVJHRVRfT1NfSVBIT05FCitAcHJvcGVydHkgKG5vbmF0b21pYywg
cmVhZG9ubHksIGNvcHkpIFVJSW1hZ2UgKmltYWdlOworI2Vsc2UKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCByZWFkb25seSwgY29weSkgTlNJbWFnZSAqaW1hZ2U7CisjZW5kaWYKKworCitAZW5kCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxp
Z2h0Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdo
dC5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lNjc0ZGYxMTY4NDVkZjdhMDA2YzU1MTcyM2UzMjE3NjdiZjMwZWZl
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0FwcEhpZ2hsaWdodC5tbQpAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAi
Y29uZmlnLmgiCisjaW1wb3J0ICJfV0tBcHBIaWdobGlnaHQuaCIKKworI2ltcG9ydCAiQ29jb2FJ
bWFnZS5oIgorCitAaW1wbGVtZW50YXRpb24gX1dLQXBwSGlnaGxpZ2h0CisKKy0gKGluc3RhbmNl
dHlwZSlpbml0V2l0aEhpZ2hsaWdodDooTlNEYXRhICopaGlnaGxpZ2h0IHRleHQ6KE5TU3RyaW5n
ICopdGV4dCBpbWFnZTooQ29jb2FJbWFnZSAqKWltYWdlCit7CisgICAgaWYgKCEoc2VsZiA9IFtz
dXBlciBpbml0XSkpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBfaGlnaGxpZ2h0ID0gaGln
aGxpZ2h0OworICAgIF90ZXh0ID0gdGV4dDsKKyAgICBfaW1hZ2UgPSBpbWFnZTsKKworICAgIHJl
dHVybiBzZWxmOworfQorCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oCmluZGV4IGRjYjIwNWU0
NjdjMTFjMGVlMDk3YjdmZDVhNjkyZjEzMWRmZmM4OGIuLmQwZTkyNDY2YmJlOWJjM2UzZjE0N2U4
MjVlZDMyYjUwZjYxOGVjNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oCkBAIC0yNSwxMSArMjUs
MTUgQEAKIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAKK0BjbGFzcyBfV0tB
cHBIaWdobGlnaHQ7CisKIEBwcm90b2NvbCBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZSA8TlNPYmpl
Y3Q+CiAKIEBvcHRpb25hbAogCi0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3
IHVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlOihOU0RhdGEgKilkYXRhOworLSAodm9pZClfd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTooTlNE
YXRhICopZGF0YSBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOworCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHN0b3JlQXBw
SGlnaGxpZ2h0OihfV0tBcHBIaWdobGlnaHQgKiloaWdobGlnaHQgaW5OZXdHcm91cDooQk9PTClp
bk5ld0dyb3VwIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1Nf
VEJBKSk7CiAKIEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0FwcEhpZ2hsaWdodEludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYzBjYjA0
NjEwZjZlNDhiYjY3Y2U4N2U1M2UxNjdiNTNmNDVlYTliCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodEludGVybmFsLmgK
QEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgIl9XS0FwcEhpZ2hsaWdodC5o
IgorCitAaW50ZXJmYWNlIF9XS0FwcEhpZ2hsaWdodCAoKQorCistIChpbnN0YW5jZXR5cGUpaW5p
dFdpdGhIaWdobGlnaHQ6KE5TRGF0YSAqKWhpZ2hsaWdodCB0ZXh0OihOU1N0cmluZyAqKXRleHQg
aW1hZ2U6KENvY29hSW1hZ2UgKilpbWFnZTsKKworQGVuZAorCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3Rvci5tbQppbmRleCA0YWEwOTkxOGVkYWFm
ODI3MWI4OTA4NDgzMTk4NDM4Mzg5MTYzMTY4Li44ZTRlZDdkNDQxMjA1OTRiZTU1OGJiOWMzNmQ5
MmM2MjI2MTcyY2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLSW5zcGVjdG9yLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tJbnNwZWN0b3IubW0KQEAgLTE4Myw3ICsxODMsNyBAQCAtICh2b2lkKXJlZ2lzdGVyRXh0
ZW5zaW9uV2l0aElEOihOU1N0cmluZyAqKWV4dGVuc2lvbklEIGRpc3BsYXlOYW1lOihOU1N0cmlu
ZyAqKQogI2lmIEVOQUJMRShJTlNQRUNUT1JfRVhURU5TSU9OUykKICAgICBfaW5zcGVjdG9yLT5l
eHRlbnNpb25Db250cm9sbGVyKCkucmVnaXN0ZXJFeHRlbnNpb24oZXh0ZW5zaW9uSUQsIGRpc3Bs
YXlOYW1lLCBbcHJvdGVjdGVkRXh0ZW5zaW9uSUQgPSByZXRhaW5QdHIoZXh0ZW5zaW9uSUQpLCBw
cm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYpLCBjYXB0dXJlZEJsb2NrID0gbWFrZUJsb2Nr
UHRyKGNvbXBsZXRpb25IYW5kbGVyKV0gKEV4cGVjdGVkPGJvb2wsIFdlYktpdDo6SW5zcGVjdG9y
RXh0ZW5zaW9uRXJyb3I+IHJlc3VsdCkgbXV0YWJsZSB7CiAgICAgICAgIGlmICghcmVzdWx0KSB7
Ci0gICAgICAgICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpXS0Vy
cm9yRG9tYWluIGNvZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6ZWRGYWls
dXJlUmVhc29uRXJyb3JLZXk6IGluc3BlY3RvckV4dGVuc2lvbkVycm9yVG9TdHJpbmcocmVzdWx0
LmVycm9yKCkpfV0sIG5pbCk7CisgICAgICAgICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVy
cm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvclVua25vd24gdXNlckluZm86
QHsgTlNMb2NhbGl6ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6IFdlYktpdDo6aW5zcGVjdG9yRXh0
ZW5zaW9uRXJyb3JUb1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSwgbmlsKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogCkBAIC0xOTksNyArMTk5LDcgQEAgLSAodm9pZCl1bnJlZ2lz
dGVyRXh0ZW5zaW9uOihfV0tJbnNwZWN0b3JFeHRlbnNpb24gKilleHRlbnNpb24gY29tcGxldGlv
bkhhbmRsZXIKICNpZiBFTkFCTEUoSU5TUEVDVE9SX0VYVEVOU0lPTlMpCiAgICAgX2luc3BlY3Rv
ci0+ZXh0ZW5zaW9uQ29udHJvbGxlcigpLnVucmVnaXN0ZXJFeHRlbnNpb24oZXh0ZW5zaW9uLmV4
dGVuc2lvbklELCBbcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKSwgY2FwdHVyZWRCbG9j
ayA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIChFeHBlY3RlZDxib29sLCBXZWJL
aXQ6Okluc3BlY3RvckV4dGVuc2lvbkVycm9yPiByZXN1bHQpIG11dGFibGUgewogICAgICAgICBp
ZiAoIXJlc3VsdCkgewotICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhbTlNFcnJvciBlcnJvcldp
dGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOldLRXJyb3JVbmtub3duIHVzZXJJbmZvOkB7IE5T
TG9jYWxpemVkRmFpbHVyZVJlYXNvbkVycm9yS2V5OiBpbnNwZWN0b3JFeHRlbnNpb25FcnJvclRv
U3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dKTsKKyAgICAgICAgICAgIGNhcHR1cmVkQmxvY2soW05T
RXJyb3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93biB1
c2VySW5mbzpAeyBOU0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJvcktleTogV2ViS2l0OjppbnNw
ZWN0b3JFeHRlbnNpb25FcnJvclRvU3RyaW5nKHJlc3VsdC5lcnJvcigpKX1dKTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yRXh0ZW5zaW9uLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvckV4dGVuc2lvbi5tbQppbmRleCBhZGQzNTg1
MzlhZGY4OTFmNDkzYmRhYWFlZGFkODk3NDgyOWYyMWFjLi4yNjdmMGVmOTMzODM5NTg0Mzc4NDBm
MDBjMmJhYTc2YmZkNzljZjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLSW5zcGVjdG9yRXh0ZW5zaW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3JFeHRlbnNpb24ubW0KQEAgLTI2LDggKzI2LDEw
IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIl9XS0luc3BlY3RvckV4dGVuc2lvbklu
dGVybmFsLmgiCiAKKyNpbXBvcnQgIkluc3BlY3RvckV4dGVuc2lvblR5cGVzLmgiCiAjaW1wb3J0
ICJXS0Vycm9yLmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgorI2ltcG9ydCA8V2Vi
Q29yZS9FeGNlcHRpb25EZXRhaWxzLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KICNpbXBv
cnQgPHd0Zi9VUkwuaD4KIApAQCAtNTMsNyArNTUsNyBAQCAtICh2b2lkKWNyZWF0ZVRhYldpdGhO
YW1lOihOU1N0cmluZyAqKXRhYk5hbWUgdGFiSWNvblVSTDooTlNVUkwgKil0YWJJY29uVVJMIHNv
dQogewogICAgIF9leHRlbnNpb24tPmNyZWF0ZVRhYih0YWJOYW1lLCB0YWJJY29uVVJMLCBzb3Vy
Y2VVUkwsIFtwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYpLCBjYXB0dXJlZEJsb2NrID0g
bWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0gKEV4cGVjdGVkPFdlYktpdDo6SW5zcGVj
dG9yRXh0ZW5zaW9uVGFiSUQsIFdlYktpdDo6SW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3I+IHJlc3Vs
dCkgbXV0YWJsZSB7CiAgICAgICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgICAgICBjYXB0dXJl
ZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJv
clVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6IGlu
c3BlY3RvckV4dGVuc2lvbkVycm9yVG9TdHJpbmcocmVzdWx0LmVycm9yKCkpfV0sIG5pbCk7Cisg
ICAgICAgICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9y
RG9tYWluIGNvZGU6V0tFcnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6ZWRGYWlsdXJl
UmVhc29uRXJyb3JLZXk6IFdlYktpdDo6aW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3JUb1N0cmluZyhy
ZXN1bHQuZXJyb3IoKSl9XSwgbmlsKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog
CkBAIC02Nyw3ICs2OSw3IEBAIC0gKHZvaWQpZXZhbHVhdGVTY3JpcHQ6KE5TU3RyaW5nICopc2Ny
aXB0U291cmNlIGZyYW1lVVJMOihOU1VSTCAqKWZyYW1lVVJMIGNvbnRlCiAgICAgT3B0aW9uYWw8
VVJMPiBvcHRpb25hbENvbnRleHRTZWN1cml0eU9yaWdpbiA9IGNvbnRleHRTZWN1cml0eU9yaWdp
biA/IG1ha2VPcHRpb25hbChVUkwoY29udGV4dFNlY3VyaXR5T3JpZ2luKSkgOiBXVEY6Om51bGxv
cHQ7CiAgICAgX2V4dGVuc2lvbi0+ZXZhbHVhdGVTY3JpcHQoc2NyaXB0U291cmNlLCBvcHRpb25h
bEZyYW1lVVJMLCBvcHRpb25hbENvbnRleHRTZWN1cml0eU9yaWdpbiwgdXNlQ29udGVudFNjcmlw
dENvbnRleHQsIFtwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYpLCBjYXB0dXJlZEJsb2Nr
ID0gbWFrZUJsb2NrUHRyKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKV0gKFdlYktpdDo6SW5z
cGVjdG9yRXh0ZW5zaW9uRXZhbHVhdGlvblJlc3VsdCYmIHJlc3VsdCkgbXV0YWJsZSB7CiAgICAg
ICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgICAgICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVy
cm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvclVua25vd24gdXNlckluZm86
QHsgTlNMb2NhbGl6ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6IGluc3BlY3RvckV4dGVuc2lvbkVy
cm9yVG9TdHJpbmcocmVzdWx0LmVycm9yKCkpfV0sIG5pbCk7CisgICAgICAgICAgICBjYXB0dXJl
ZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJv
clVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6IFdl
YktpdDo6aW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3JUb1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSwg
bmlsKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0
b3JWaWV3Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbQppbmRleCA5ZjMxOWNmY2Q1ZDM1
MjVjZTYxZGE0MmRhMGQyNmEzZTU2MjQ2NmJiLi4yY2FkYjg0YTBlZjJiOTNkNjIyMWY4ZDk5Yzhi
MmI3MGIxMGFhZTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9s
bGVyLm1tCkBAIC0xNjQsNyArMTY0LDcgQEAgLSAodm9pZClyZWdpc3RlckV4dGVuc2lvbldpdGhJ
RDooTlNTdHJpbmcgKilleHRlbnNpb25JRCBkaXNwbGF5TmFtZTooTlNTdHJpbmcgKikKICNpZiBF
TkFCTEUoSU5TUEVDVE9SX0VYVEVOU0lPTlMpCiAgICAgbV9yZW1vdGVJbnNwZWN0b3JQcm94eS0+
ZXh0ZW5zaW9uQ29udHJvbGxlcigpLnJlZ2lzdGVyRXh0ZW5zaW9uKGV4dGVuc2lvbklELCBkaXNw
bGF5TmFtZSwgW3Byb3RlY3RlZEV4dGVuc2lvbklEID0gcmV0YWluUHRyKGV4dGVuc2lvbklEKSwg
cHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKSwgY2FwdHVyZWRCbG9jayA9IG1ha2VCbG9j
a1B0cihjb21wbGV0aW9uSGFuZGxlcildIChFeHBlY3RlZDxib29sLCBXZWJLaXQ6Okluc3BlY3Rv
ckV4dGVuc2lvbkVycm9yPiByZXN1bHQpIG11dGFibGUgewogICAgICAgICBpZiAoIXJlc3VsdCkg
ewotICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhbTlNFcnJvciBlcnJvcldpdGhEb21haW46V0tF
cnJvckRvbWFpbiBjb2RlOldLRXJyb3JVbmtub3duIHVzZXJJbmZvOkB7IE5TTG9jYWxpemVkRmFp
bHVyZVJlYXNvbkVycm9yS2V5OiBpbnNwZWN0b3JFeHRlbnNpb25FcnJvclRvU3RyaW5nKHJlc3Vs
dC5lcnJvcigpKX1dLCBuaWwpOworICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhbTlNFcnJvciBl
cnJvcldpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOldLRXJyb3JVbmtub3duIHVzZXJJbmZv
OkB7IE5TTG9jYWxpemVkRmFpbHVyZVJlYXNvbkVycm9yS2V5OiBXZWJLaXQ6Omluc3BlY3RvckV4
dGVuc2lvbkVycm9yVG9TdHJpbmcocmVzdWx0LmVycm9yKCkpfV0sIG5pbCk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMTgwLDcgKzE4MCw3IEBAIC0gKHZvaWQpdW5yZWdp
c3RlckV4dGVuc2lvbjooX1dLSW5zcGVjdG9yRXh0ZW5zaW9uICopZXh0ZW5zaW9uIGNvbXBsZXRp
b25IYW5kbGVyCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9FWFRFTlNJT05TKQogICAgIG1fcmVtb3Rl
SW5zcGVjdG9yUHJveHktPmV4dGVuc2lvbkNvbnRyb2xsZXIoKS51bnJlZ2lzdGVyRXh0ZW5zaW9u
KGV4dGVuc2lvbi5leHRlbnNpb25JRCwgW3Byb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZiks
IGNhcHR1cmVkQmxvY2sgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXSAoRXhwZWN0
ZWQ8Ym9vbCwgV2ViS2l0OjpJbnNwZWN0b3JFeHRlbnNpb25FcnJvcj4gcmVzdWx0KSBtdXRhYmxl
IHsKICAgICAgICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgICAgIGNhcHR1cmVkQmxvY2soW05T
RXJyb3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yVW5rbm93biB1
c2VySW5mbzpAeyBOU0xvY2FsaXplZEZhaWx1cmVSZWFzb25FcnJvcktleTogaW5zcGVjdG9yRXh0
ZW5zaW9uRXJyb3JUb1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9XSk7CisgICAgICAgICAgICBjYXB0
dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tF
cnJvclVua25vd24gdXNlckluZm86QHsgTlNMb2NhbGl6ZWRGYWlsdXJlUmVhc29uRXJyb3JLZXk6
IFdlYktpdDo6aW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3JUb1N0cmluZyhyZXN1bHQuZXJyb3IoKSl9
XSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tDb250YWN0UGlja2VyLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XS0NvbnRhY3RQaWNrZXIuaAppbmRleCA5OWUwYWQ0ZmU3OTlmMjNh
NzRhYjUyYTdiMDdlNGQzNjFiOGU4MDU2Li40NGZlMzVlODU0Y2Q1M2QwY2EwYWM5NTUxN2JkM2I4
MzE2ZjY5YTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0Nv
bnRhY3RQaWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0NvbnRh
Y3RQaWNrZXIuaApAQCAtMjcsNiArMjcsOCBAQAogCiAjaWYgSEFWRShDT05UQUNUU1VJKQogCisj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKwogQGNsYXNzIFdLV2ViVmlldzsKIEBwcm90b2NvbCBX
S0NvbnRhY3RQaWNrZXJEZWxlZ2F0ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV0tDb250YWN0UGlja2VyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV0tDb250YWN0UGlja2VyLm1tCmluZGV4IDkwZDdlYTRkNWFmZDczMzYwYzM2ZWU3NWU4
ZGRiOThkYjg0MTg0OGUuLjZhOWQyYWU4MGYzNDYyNzQ0ZGIzMTU4YmY0YzA2ZDRlZjcwMGIzYjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLQ29udGFjdFBpY2tl
ci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0NvbnRhY3RQaWNrZXIu
bW0KQEAgLTI5LDExICsyOSwxNCBAQAogI2lmIEhBVkUoQ09OVEFDVFNVSSkKIAogI2ltcG9ydCAi
Q29udGFjdHNVSVNQSS5oIgorI2ltcG9ydCAiV0tXZWJWaWV3LmgiCiAjaW1wb3J0IDxDb250YWN0
cy9Db250YWN0cy5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db250YWN0SW5mby5oPgogI2ltcG9ydCA8
V2ViQ29yZS9Db250YWN0c1JlcXVlc3REYXRhLmg+CisjaW1wb3J0IDx3dGYvQ29tcGxldGlvbkhh
bmRsZXIuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlu
a2luZy5oPgorI2ltcG9ydCA8d3RmL1dlYWtPYmpDUHRyLmg+CiAKICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQogI2ltcG9ydCAiVUlLaXRTUEkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDYwNjFhNjM3ZGI5M2JiMGFmYzZkOWM2NTE2
YzNkMDNlMjM1YjVjYzEuLjhiYWZhNWRhZTdlY2FhNmVlMTFjZTM0NmMzZTA3YTU1OTFhNTA0Yjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtOTQzLDYgKzk0Myw4IEBACiAJCTQ0NkRDNjRDMjRBMkQ4RTUwMDYxRjM5MCAvKiBQbGF5YmFj
a1Nlc3Npb25Db250ZXh0SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDQ2REM2NEIyNEEyRDhBRDAwNjFGMzkwIC8qIFBsYXliYWNrU2Vz
c2lvbkNvbnRleHRJZGVudGlmaWVyLmggKi87IH07CiAJCTQ0NzZFRjA5MjVCRkM4QjcwMDRBMDU4
NyAvKiBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ3NkVGMDgyNUJGQzhCNzAwNEEwNTg3IC8qIF9XS0FwcEhp
Z2hsaWdodERlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDQ4MjczNDcyNDUyOEY2MDAwQTk1NDkzIC8qIENvY29hSW1hZ2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0ODI3MzQ2MjQ1MjhG
NjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggKi87IH07CisJCTQ0OTMxNkEzMjVEQzdEQzQwMEFB
NjZERSAvKiBfV0tBcHBIaWdobGlnaHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ0OTMxNkExMjVEQzdEQzMwMEFBNjZERSAvKiBfV0tBcHBIaWdobGln
aHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0
NDkzMTZBNjI1REM5RDAwMDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0SW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0OTMxNkE1MjVEQzlE
MDAwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHRJbnRlcm5hbC5oICovOyB9OwogCQk0NDlEOTBE
QTIxRkRDMzBCMDBGNjc3QzAgLyogTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ5RDkwRDgyMUZENjNG
RTAwRjY3N0MwIC8qIExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbSAqLzsgfTsKIAkJNDRF
OTM2RkQyNDQ3QzJEODAwOUZBM0UzIC8qIExlZ2FjeUN1c3RvbVByb3RvY29sSUQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTkzNkZDMjQ0N0MyNTYw
MDlGQTNFMyAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbElELmggKi87IH07CiAJCTQ0RUMzRUE5MjQ3
RjVDMDkwMDU5NDg5QyAvKiBfV0tEcmFnQWN0aW9uc0ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVDM0VBODI0N0Y1QzA4MDA1OTQ4OUMg
LyogX1dLRHJhZ0FjdGlvbnNJbnRlcm5hbC5oICovOyB9OwpAQCAtMzc5Niw2ICszNzk4LDkgQEAK
IAkJNDQ2REM2NEIyNEEyRDhBRDAwNjFGMzkwIC8qIFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVu
dGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXliYWNrU2Vzc2lv
bkNvbnRleHRJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0NzZF
RjA4MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDgyNzM0NjI0NTI4RjYwMDBBOTU0OTMgLyogQ29j
b2FJbWFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2NvYUltYWdlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0OTMxNkExMjVEQzdEQzMwMEFBNjZERSAv
KiBfV0tBcHBIaWdobGlnaHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dL
QXBwSGlnaGxpZ2h0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0OTMxNkEyMjVE
QzdEQzMwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBfV0tBcHBIaWdobGlnaHQubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQ0OTMxNkE1MjVEQzlEMDAwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHRJ
bnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tBcHBIaWdobGln
aHRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDlEOTBEODIxRkQ2
M0ZFMDBGNjc3QzAgLyogTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5r
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEE0ODFDNjIxRjJEMjdCMDBGMkY5
MTkgLyogQ2xpZW50Q2VydGlmaWNhdGVBdXRoZW50aWNhdGlvblhQQ0NvbnN0YW50cy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDbGllbnRDZXJ0aWZpY2F0ZUF1dGhlbnRpY2F0aW9uWFBDQ29uc3Rh
bnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFOTM2RkMyNDQ3QzI1NjAw
OUZBM0UzIC8qIExlZ2FjeUN1c3RvbVByb3RvY29sSUQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTGVnYWN5Q3VzdG9tUHJvdG9jb2xJRC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNzc1MSw3ICs3NzU2LDEwIEBACiAJCQkJMzdBNUUwMTIxOEJCRjkzNzAwMEEw
ODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLmggKi8sCiAJCQkJMzdBNUUwMTExOEJCRjkz
NzAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLm1tICovLAogCQkJCTM3OUE4NzM1
MThCQkZBNDMwMDU4OEFGMiAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0ludGVybmFsLmggKi8s
CisJCQkJNDQ5MzE2QTEyNURDN0RDMzAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodC5oICovLAor
CQkJCTQ0OTMxNkEyMjVEQzdEQzMwMEFBNjZERSAvKiBfV0tBcHBIaWdobGlnaHQubW0gKi8sCiAJ
CQkJNDQ3NkVGMDgyNUJGQzhCNzAwNEEwNTg3IC8qIF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmgg
Ki8sCisJCQkJNDQ5MzE2QTUyNURDOUQwMDAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodEludGVy
bmFsLmggKi8sCiAJCQkJNjMxMDhGOTQxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9u
TWFuaWZlc3QuaCAqLywKIAkJCQk2MzEwOEY5NTFGOTY3MTlDMDBBMERCODQgLyogX1dLQXBwbGlj
YXRpb25NYW5pZmVzdC5tbSAqLywKIAkJCQk2MzEwOEY5ODFGOTY3MUY3MDBBMERCODQgLyogX1dL
QXBwbGljYXRpb25NYW5pZmVzdEludGVybmFsLmggKi8sCkBAIC0xMTM5Myw3ICsxMTQwMSw5IEBA
CiAJCQlmaWxlcyA9ICgKIAkJCQkzN0E1RTAxNDE4QkJGOTNGMDAwQTA4MUUgLyogX1dLQWN0aXZh
dGVkRWxlbWVudEluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTM3OUE4NzM2MThCQkZBNDMwMDU4
OEFGMiAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0ludGVybmFsLmggaW4gSGVhZGVycyAqLywK
KwkJCQk0NDkzMTZBMzI1REM3REM0MDBBQTY2REUgLyogX1dLQXBwSGlnaGxpZ2h0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0NDc2RUYwOTI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0
RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ0OTMxNkE2MjVEQzlEMDAwMEFBNjZERSAv
KiBfV0tBcHBIaWdobGlnaHRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjMxMDhGOTYx
Rjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QuaCBpbiBIZWFkZXJzICov
LAogCQkJCTYzMTA4Rjk5MUY5NjcxRjcwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUY0NDI5MTkyMUZBNTkxQzkwMDJDQzkzRSAv
KiBfV0tBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLywK
</data>

          </attachment>
      

    </bug>

</bugzilla>