<?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>235391</bug_id>
          
          <creation_ts>2022-01-19 19:58:02 -0800</creation_ts>
          <short_desc>[LFC][IFC] Add LineContent::inlineBaseDirection to support line based inline direction</short_desc>
          <delta_ts>2022-01-20 17:07:01 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1832332</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-01-19 19:58:02 -0800</bug_when>
    <thetext>and not just block based.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832334</commentid>
    <comment_count>1</comment_count>
      <attachid>449546</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-01-19 20:08:05 -0800</bug_when>
    <thetext>Created attachment 449546
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832336</commentid>
    <comment_count>2</comment_count>
      <attachid>449547</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-01-19 20:19:20 -0800</bug_when>
    <thetext>Created attachment 449547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832443</commentid>
    <comment_count>3</comment_count>
      <attachid>449583</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-01-20 08:48:12 -0800</bug_when>
    <thetext>Created attachment 449583
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832447</commentid>
    <comment_count>4</comment_count>
      <attachid>449584</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-01-20 08:51:58 -0800</bug_when>
    <thetext>Created attachment 449584
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832450</commentid>
    <comment_count>5</comment_count>
      <attachid>449584</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-20 08:57:50 -0800</bug_when>
    <thetext>Comment on attachment 449584
Patch

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

&gt; Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:53
&gt; +    // FIXME: We could try to reuse the content builder in InlineItemsBuilder if this turns out to be a perf bottleneck. 
&gt; +    StringBuilder lineContentBuilder;
&gt; +    for (auto&amp; run : runs) {
&gt; +        if (!run.isText())
&gt; +            continue;
&gt; +        auto&amp; textContent = run.textContent();
&gt; +        lineContentBuilder.append(downcast&lt;InlineTextBox&gt;(run.layoutBox()).content().substring(textContent-&gt;start, textContent-&gt;length));
&gt; +    }

Wonder if copying could be avoided in some common cases and a stringview to content() string scanned directly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832573</commentid>
    <comment_count>6</comment_count>
      <attachid>449610</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-01-20 14:06:35 -0800</bug_when>
    <thetext>Created attachment 449610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832612</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-20 16:18:55 -0800</bug_when>
    <thetext>Committed r288332 (246240@main): &lt;https://commits.webkit.org/246240@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449610.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832614</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-20 16:19:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/87855803&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832630</commentid>
    <comment_count>9</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-01-20 17:07:01 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #5)
&gt; Comment on attachment 449584 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=449584&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:53
&gt; &gt; +    // FIXME: We could try to reuse the content builder in InlineItemsBuilder if this turns out to be a perf bottleneck. 
&gt; &gt; +    StringBuilder lineContentBuilder;
&gt; &gt; +    for (auto&amp; run : runs) {
&gt; &gt; +        if (!run.isText())
&gt; &gt; +            continue;
&gt; &gt; +        auto&amp; textContent = run.textContent();
&gt; &gt; +        lineContentBuilder.append(downcast&lt;InlineTextBox&gt;(run.layoutBox()).content().substring(textContent-&gt;start, textContent-&gt;length));
&gt; &gt; +    }
&gt; 
&gt; Wonder if copying could be avoided in some common cases and a stringview to
&gt; content() string scanned directly
Yeah, I think we could add a fast path like that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449546</attachid>
            <date>2022-01-19 20:08:05 -0800</date>
            <delta_ts>2022-01-19 20:28:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235391-20220119200804.patch</filename>
            <type>text/plain</type>
            <size>10608</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkMDc0NWQ3ZGMxMjgy
ZmI5M2E1MzdmNTAxZjBhNDViZTJjYTY1MS4uZGEwN2FiNTlkOGU3ZTFiZGUyNmYxZTRlOWUwYmU5
NTZlOGIyMDNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAxLTE5ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBMaW5l
Q29udGVudDo6aW5saW5lQmFzZURpcmVjdGlvbiB0byBzdXBwb3J0IGxpbmUgYmFzZWQgaW5saW5l
IGRpcmVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM1MzkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyB1bmljb2RlLWJpZGk6IHBs
YWludGV4dC4KKworICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KToKKyAg
ICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OnRvU3RyaW5nKToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmxheW91dElubGluZUNvbnRlbnQpOgorICAgICAg
ICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmg6
CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9Jbmxp
bmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJ
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NOb25CaWRpQ29udGVudCk6CisgICAg
ICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNw
bGF5TGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEaXNw
bGF5TGluZUJ1aWxkZXI6OmJ1aWxkIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5oOgorICAg
ICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUZXh0VXRpbDo6ZGlyZWN0aW9uRm9yVGV4dENv
bnRlbnQpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQv
VGV4dFV0aWwuaDoKKwogMjAyMi0wMS0xOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgogCiAgICAgICAgIEFsaWduIG91ciBxdWFsaWZpZWQgbmFtZSB2YWxpZGF0aW9uIHdpdGggdGhl
IHNwZWNpZmljYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0LmNwcAppbmRleCAxZDQ4Y2I1YmU4MmFkNzFkM2UxY2UzYmFiMTYxMDJlYWFmZTYxZTI5
Li4yMWZlNzMyMzQ0NWE3ZGM1MGJlNmIwYzM5ZjAzOTMxOTQ1MzRkMzJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC01NTQsMTEgKzU1
NCw3IEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRy
eUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsCiAgICAgYXV0byBjdXJyZW50TGluZUluZGV4
ID0gZm9ybWF0dGluZ1N0YXRlLmxpbmVzKCkuc2l6ZSgpOwogCiAgICAgYXV0byBsaW5lQm94QW5k
SGVpZ2h0ID0gTGluZUJveEJ1aWxkZXIgeyAqdGhpcyB9LmJ1aWxkKGxpbmVDb250ZW50LCBjdXJy
ZW50TGluZUluZGV4KTsKLSAgICBhdXRvIGRpc3BsYXlMaW5lID0gSW5saW5lRGlzcGxheUxpbmVC
dWlsZGVyIHsgKnRoaXMgfS5idWlsZChsaW5lQ29udGVudAotICAgICAgICAsIGxpbmVCb3hBbmRI
ZWlnaHQubGluZUJveAotICAgICAgICAsIGxpbmVCb3hBbmRIZWlnaHQubGluZUJveExvZ2ljYWxI
ZWlnaHQKLSAgICAgICAgLCBjdXJyZW50TGluZUluZGV4Ci0gICAgKTsKKyAgICBhdXRvIGRpc3Bs
YXlMaW5lID0gSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyIHsgKnRoaXMgfS5idWlsZChsaW5lQ29u
dGVudCwgbGluZUJveEFuZEhlaWdodC5saW5lQm94LCBsaW5lQm94QW5kSGVpZ2h0LmxpbmVCb3hM
b2dpY2FsSGVpZ2h0KTsKICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkQm94ZXMoSW5saW5lRGlzcGxh
eUNvbnRlbnRCdWlsZGVyIHsgcm9vdCgpLCBmb3JtYXR0aW5nU3RhdGUgfS5idWlsZChsaW5lQ29u
dGVudAogICAgICAgICAsIGxpbmVCb3hBbmRIZWlnaHQubGluZUJveAogICAgICAgICAsIGRpc3Bs
YXlMaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKaW5kZXggNWM2
OWYwNzQzN2ZlYzZmMjZlOTY0MzU3ZmI2YTI2ZmRmZjA0NTZjMy4uYTU3ZmIxZmRlMTRmYzJmNmJm
NmIyMDgxYjE5MWU4ZjRiODVlMDk1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
dWlsZGVyLmNwcApAQCAtNDEsNiArNDEsMTggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVz
cGFjZSBMYXlvdXQgewogCitzdGF0aWMgaW5saW5lIFN0cmluZ0J1aWxkZXIgdG9TdHJpbmcoY29u
c3QgTGluZTo6UnVuTGlzdCYgcnVucykKK3sKKyAgICBTdHJpbmdCdWlsZGVyIGxpbmVDb250ZW50
QnVpbGRlcjsKKyAgICBmb3IgKGF1dG8mIHJ1biA6IHJ1bnMpIHsKKyAgICAgICAgaWYgKCFydW4u
aXNUZXh0KCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgYXV0byYgdGV4dENvbnRl
bnQgPSBydW4udGV4dENvbnRlbnQoKTsKKyAgICAgICAgbGluZUNvbnRlbnRCdWlsZGVyLmFwcGVu
ZChkb3duY2FzdDxJbmxpbmVUZXh0Qm94PihydW4ubGF5b3V0Qm94KCkpLmNvbnRlbnQoKS5zdWJz
dHJpbmcodGV4dENvbnRlbnQtPnN0YXJ0LCB0ZXh0Q29udGVudC0+bGVuZ3RoKSk7CisgICAgfQor
ICAgIHJldHVybiBsaW5lQ29udGVudEJ1aWxkZXI7Cit9CisKIHN0YXRpYyBpbmxpbmUgYm9vbCBl
bmRzV2l0aFNvZnRXcmFwT3Bwb3J0dW5pdHkoY29uc3QgSW5saW5lVGV4dEl0ZW0mIGN1cnJlbnRU
ZXh0SXRlbSwgY29uc3QgSW5saW5lVGV4dEl0ZW0mIG5leHRJbmxpbmVUZXh0SXRlbSkKIHsKICAg
ICBBU1NFUlQoIW5leHRJbmxpbmVUZXh0SXRlbS5pc1doaXRlc3BhY2UoKSk7CkBAIC0zNDMsNiAr
MzU1LDE0IEBAIExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5s
aW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmCiAgICAgICAgIHJldHVybiB2aXN1YWxP
cmRlckxpc3Q7CiAgICAgfTsKIAorICAgIGF1dG8gaW5saW5lQmFzZURpcmVjdGlvbkZvckxpbmVD
b250ZW50ID0gWyZdIHsKKyAgICAgICAgYXV0byYgcm9vdFN0eWxlID0gaXNGaXJzdExpbmUgPyBy
b290KCkuZmlyc3RMaW5lU3R5bGUoKSA6IHJvb3QoKS5zdHlsZSgpOworICAgICAgICBhdXRvIHNo
b3VsZFVzZUJsb2NrRGlyZWN0aW9uID0gcm9vdFN0eWxlLnVuaWNvZGVCaWRpKCkgIT0gRVVuaWNv
ZGVCaWRpOjpQbGFpbnRleHQgfHwgbGluZVJ1bnMuaXNFbXB0eSgpIHx8ICFsaW5lUnVucy5sYXN0
KCkuaXNMaW5lQnJlYWsoKTsKKyAgICAgICAgaWYgKHNob3VsZFVzZUJsb2NrRGlyZWN0aW9uKQor
ICAgICAgICAgICAgcmV0dXJuIHJvb3RTdHlsZS5kaXJlY3Rpb24oKTsKKyAgICAgICAgcmV0dXJu
IFRleHRVdGlsOjpkaXJlY3Rpb25Gb3JUZXh0Q29udGVudCh0b1N0cmluZyhsaW5lUnVucykpOwor
ICAgIH07CisKICAgICBhdXRvIGlzTGFzdExpbmUgPSBpc0xhc3RMaW5lV2l0aElubGluZUNvbnRl
bnQoY29tbWl0dGVkUmFuZ2UsIG5lZWRzTGF5b3V0UmFuZ2UuZW5kLCBjb21taXR0ZWRDb250ZW50
LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgpOwogICAgIHJldHVybiBMaW5lQ29udGVudCB7
IGNvbW1pdHRlZFJhbmdlCiAgICAgICAgICwgY29tbWl0dGVkQ29udGVudC5wYXJ0aWFsVHJhaWxp
bmdDb250ZW50TGVuZ3RoCkBAIC0zNTgsNiArMzc4LDcgQEAgTGluZUJ1aWxkZXI6OkxpbmVDb250
ZW50IExpbmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5n
ZSYKICAgICAgICAgLCBpc0xhc3RMaW5lCiAgICAgICAgICwgbV9saW5lLm5vblNwYW5uaW5nSW5s
aW5lTGV2ZWxCb3hDb3VudCgpCiAgICAgICAgICwgY29tcHV0ZWRWaXN1YWxPcmRlcigpCisgICAg
ICAgICwgaW5saW5lQmFzZURpcmVjdGlvbkZvckxpbmVDb250ZW50KCkKICAgICAgICAgLCBsaW5l
UnVucyB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaAppbmRleCAy
MTk2MWRjZWRmYjAzYzdjZmMwM2VkYTQyNDFlOTMzYWUyZWU5N2U2Li43MTQ5NzVmZjM2ZjAxZmVh
NTkwMzdiZjY3NGJiNzFmMGUwZGE5OWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
dWlsZGVyLmgKQEAgLTY2LDYgKzY2LDcgQEAgcHVibGljOgogICAgICAgICBib29sIGlzTGFzdExp
bmVXaXRoSW5saW5lQ29udGVudCB7IHRydWUgfTsKICAgICAgICAgc2l6ZV90IG5vblNwYW5uaW5n
SW5saW5lTGV2ZWxCb3hDb3VudCB7IDAgfTsKICAgICAgICAgVmVjdG9yPGludDMyX3Q+IHZpc3Vh
bE9yZGVyTGlzdDsKKyAgICAgICAgVGV4dERpcmVjdGlvbiBpbmxpbmVCYXNlRGlyZWN0aW9uIHsg
VGV4dERpcmVjdGlvbjo6TFRSIH07CiAgICAgICAgIGNvbnN0IExpbmU6OlJ1bkxpc3QmIHJ1bnM7
CiAgICAgfTsKICAgICBMaW5lQ29udGVudCBsYXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGlu
ZUl0ZW1SYW5nZSYsIHNpemVfdCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIHN0ZDo6b3B0
aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gb3ZlcmZsb3dpbmdMb2dpY2FsV2lkdGgsIGNvbnN0IElu
bGluZVJlY3QmIGluaXRpYWxMaW5lTG9naWNhbFJlY3QsIGJvb2wgaXNGaXJzdExpbmUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
ZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXIuY3BwCmluZGV4IDZiODk4ZDVlZjUzMjIwMTMyNWZiZTQyMjlhMDc3NDQ2N2E2
ZjcwOWUuLjBhNWYzNzFlNjgwYjNmODVhMzg0YWJmNzIzNDFlMGVkODYyOThjMTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3Bs
YXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250
ZW50QnVpbGRlci5jcHAKQEAgLTMyNCw3ICszMjQsNyBAQCB2b2lkIElubGluZURpc3BsYXlDb250
ZW50QnVpbGRlcjo6cHJvY2Vzc05vbkJpZGlDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5l
QwogICAgIGF1dG8gaGFzQ29udGVudCA9IGZhbHNlOwogICAgIGZvciAoYXV0byYgbGluZVJ1biA6
IGxpbmVDb250ZW50LnJ1bnMpCiAgICAgICAgIGhhc0NvbnRlbnQgPSBoYXNDb250ZW50IHx8IGxp
bmVSdW4uaXNUZXh0KCkgfHwgbGluZVJ1bi5pc0JveCgpOwotICAgIEFTU0VSVChyb290KCkuc3R5
bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgfHwgIWhhc0NvbnRlbnQpOworICAgIEFTU0VS
VChsaW5lQ29udGVudC5pbmxpbmVCYXNlRGlyZWN0aW9uID09IFRleHREaXJlY3Rpb246OkxUUiB8
fCAhaGFzQ29udGVudCk7CiAjZW5kaWYKICAgICBhdXRvIGNvbnRlbnRTdGFydEluVmlzdWFsT3Jk
ZXIgPSBkaXNwbGF5TGluZS5sZWZ0KCkgKyBkaXNwbGF5TGluZS5jb250ZW50TGVmdCgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5l
QnVpbGRlci5jcHAKaW5kZXggZjM5MGY2ZjlhYWY3NzAzNGYxYjk4ZTg5NDk1OTQ5MTE1MjM5YmFl
Ny4uNzU4NTJiOWE2YjBhYmU2ZDY4OWZmZmNmZDZhNmFkZjVlYzI2NzNiNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9J
bmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVy
LmNwcApAQCAtNzYsMTIgKzc2LDExIEBAIElubGluZURpc3BsYXlMaW5lQnVpbGRlcjo6RW5jbG9z
aW5nTGluZUdlb21ldHJ5IElubGluZURpc3BsYXlMaW5lQnVpbGRlcjo6Y29sbGVjCiAgICAgcmV0
dXJuIHsgZW5jbG9zaW5nVG9wQW5kQm90dG9tLCBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0IH07CiB9
CiAKLUlubGluZURpc3BsYXk6OkxpbmUgSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyOjpidWlsZChj
b25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmIGxpbmVDb250ZW50LCBjb25zdCBMaW5lQm94
JiBsaW5lQm94LCBJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hMb2dpY2FsSGVpZ2h0LCBzaXplX3Qg
bGluZUluZGV4KSBjb25zdAorSW5saW5lRGlzcGxheTo6TGluZSBJbmxpbmVEaXNwbGF5TGluZUJ1
aWxkZXI6OmJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQs
IGNvbnN0IExpbmVCb3gmIGxpbmVCb3gsIElubGluZUxheW91dFVuaXQgbGluZUJveExvZ2ljYWxI
ZWlnaHQpIGNvbnN0CiB7Ci0gICAgYXV0byYgcm9vdFN0eWxlID0gbGluZUluZGV4ID8gcm9vdCgp
LmZpcnN0TGluZVN0eWxlKCkgOiByb290KCkuc3R5bGUoKTsKICAgICBhdXRvJiByb290SW5saW5l
Qm94ID0gbGluZUJveC5yb290SW5saW5lQm94KCk7CiAgICAgYXV0byYgcm9vdEdlb21ldHJ5ID0g
bGF5b3V0U3RhdGUoKS5nZW9tZXRyeUZvckJveChyb290KCkpOwotICAgIGF1dG8gaXNMZWZ0VG9S
aWdodERpcmVjdGlvbiA9IHJvb3RTdHlsZS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7CisgICAg
YXV0byBpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uID0gbGluZUNvbnRlbnQuaW5saW5lQmFzZURpcmVj
dGlvbiA9PSBUZXh0RGlyZWN0aW9uOjpMVFI7CiAgICAgYXV0byBsaW5lT2Zmc2V0RnJvbUNvbnRl
bnRCb3ggPSBsaW5lQ29udGVudC5saW5lTG9naWNhbFRvcExlZnQueCgpIC0gcm9vdEdlb21ldHJ5
LmNvbnRlbnRCb3hMZWZ0KCk7CiAKICAgICBhdXRvIGxpbmVCb3hWaXN1YWxMZWZ0ID0gaXNMZWZ0
VG9SaWdodERpcmVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkv
SW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmgKaW5kZXggMGMyNjU2YmRlNWRkOWQ3ZTA3NGMxN2I1
ODFlODJiMGNmOTBjZDMxZS4uZjA1NDAzZDdiOTA4YWUzNjBmNzJmNzhmNGU5MmIxYjY0Mzc2OTI0
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3Bs
YXlMaW5lQnVpbGRlci5oCkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIElubGluZURpc3BsYXlMaW5l
QnVpbGRlciB7CiBwdWJsaWM6CiAgICAgSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyKGNvbnN0IElu
bGluZUZvcm1hdHRpbmdDb250ZXh0Jik7CiAKLSAgICBJbmxpbmVEaXNwbGF5OjpMaW5lIGJ1aWxk
KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYsIGNvbnN0IExpbmVCb3gmLCBJbmxpbmVM
YXlvdXRVbml0IGxpbmVCb3hMb2dpY2FsSGVpZ2h0LCBzaXplX3QgbGluZUluZGV4KSBjb25zdDsK
KyAgICBJbmxpbmVEaXNwbGF5OjpMaW5lIGJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29u
dGVudCYsIGNvbnN0IExpbmVCb3gmLCBJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hMb2dpY2FsSGVp
Z2h0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBzdHJ1Y3QgRW5jbG9zaW5nTGluZUdlb21ldHJ5
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL3RleHQvVGV4dFV0aWwuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5jcHAKaW5kZXggNDNhNDRhMmI0ODc2NjRh
MmNlZjZlNmFmMThhM2VmYjcyNjE5MDZlNC4uMWQ5YjhkZDI2ZmU0ZDAwYTBiODc3NDhkNjkyMTRi
YzdiYmJjNzdmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5jcHAKQEAgLTMzNiw2
ICszMzYsMTIgQEAgc2l6ZV90IFRleHRVdGlsOjpmaXJzdFVzZXJQZXJjZWl2ZWRDaGFyYWN0ZXJM
ZW5ndGgoY29uc3QgSW5saW5lVGV4dEl0ZW0mIGlubGluZVQKICAgICByZXR1cm4gbmV4dFBvc2l0
aW9uIC0gaW5saW5lVGV4dEl0ZW0uc3RhcnQoKTsKIH0KIAorVGV4dERpcmVjdGlvbiBUZXh0VXRp
bDo6ZGlyZWN0aW9uRm9yVGV4dENvbnRlbnQoU3RyaW5nVmlldykKK3sKKyAgICBBU1NFUlRfTk9U
X0lNUExFTUVOVEVEX1lFVCgpOworICAgIHJldHVybiBUZXh0RGlyZWN0aW9uOjpMVFI7Cit9CisK
IH0KIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5oCmluZGV4IDRiYjA4MDk5
YjQ2NjI2NDFjMGI2ZjEzOTU1MmFiMmE4ZDBjYWZmODkuLjdjNTFlZDI4YzFhZjQ5MzUwNDkzNzlj
YTQyNGEwMzIwYTcwOTgwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90ZXh0L1RleHRVdGlsLmgKQEAgLTcx
LDYgKzcxLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGNvbnRhaW5zU3Ryb25nRGlyZWN0
aW9uYWxpdHlUZXh0KFN0cmluZ1ZpZXcpOwogCiAgICAgc3RhdGljIHNpemVfdCBmaXJzdFVzZXJQ
ZXJjZWl2ZWRDaGFyYWN0ZXJMZW5ndGgoY29uc3QgSW5saW5lVGV4dEl0ZW0mKTsKKyAgICBzdGF0
aWMgVGV4dERpcmVjdGlvbiBkaXJlY3Rpb25Gb3JUZXh0Q29udGVudChTdHJpbmdWaWV3KTsKIH07
CiAKIH0K
</data>
<flag name="commit-queue"
          id="475666"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449547</attachid>
            <date>2022-01-19 20:19:20 -0800</date>
            <delta_ts>2022-01-20 08:48:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235391-20220119201919.patch</filename>
            <type>text/plain</type>
            <size>10607</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkMDc0NWQ3ZGMxMjgy
ZmI5M2E1MzdmNTAxZjBhNDViZTJjYTY1MS4uZGEwN2FiNTlkOGU3ZTFiZGUyNmYxZTRlOWUwYmU5
NTZlOGIyMDNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAxLTE5ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBMaW5l
Q29udGVudDo6aW5saW5lQmFzZURpcmVjdGlvbiB0byBzdXBwb3J0IGxpbmUgYmFzZWQgaW5saW5l
IGRpcmVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM1MzkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyB1bmljb2RlLWJpZGk6IHBs
YWludGV4dC4KKworICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KToKKyAg
ICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OnRvU3RyaW5nKToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmxheW91dElubGluZUNvbnRlbnQpOgorICAgICAg
ICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmg6
CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9Jbmxp
bmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJ
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NOb25CaWRpQ29udGVudCk6CisgICAg
ICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNw
bGF5TGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEaXNw
bGF5TGluZUJ1aWxkZXI6OmJ1aWxkIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5oOgorICAg
ICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUZXh0VXRpbDo6ZGlyZWN0aW9uRm9yVGV4dENv
bnRlbnQpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQv
VGV4dFV0aWwuaDoKKwogMjAyMi0wMS0xOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgogCiAgICAgICAgIEFsaWduIG91ciBxdWFsaWZpZWQgbmFtZSB2YWxpZGF0aW9uIHdpdGggdGhl
IHNwZWNpZmljYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0LmNwcAppbmRleCAxZDQ4Y2I1YmU4MmFkNzFkM2UxY2UzYmFiMTYxMDJlYWFmZTYxZTI5
Li4yMWZlNzMyMzQ0NWE3ZGM1MGJlNmIwYzM5ZjAzOTMxOTQ1MzRkMzJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC01NTQsMTEgKzU1
NCw3IEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRy
eUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsCiAgICAgYXV0byBjdXJyZW50TGluZUluZGV4
ID0gZm9ybWF0dGluZ1N0YXRlLmxpbmVzKCkuc2l6ZSgpOwogCiAgICAgYXV0byBsaW5lQm94QW5k
SGVpZ2h0ID0gTGluZUJveEJ1aWxkZXIgeyAqdGhpcyB9LmJ1aWxkKGxpbmVDb250ZW50LCBjdXJy
ZW50TGluZUluZGV4KTsKLSAgICBhdXRvIGRpc3BsYXlMaW5lID0gSW5saW5lRGlzcGxheUxpbmVC
dWlsZGVyIHsgKnRoaXMgfS5idWlsZChsaW5lQ29udGVudAotICAgICAgICAsIGxpbmVCb3hBbmRI
ZWlnaHQubGluZUJveAotICAgICAgICAsIGxpbmVCb3hBbmRIZWlnaHQubGluZUJveExvZ2ljYWxI
ZWlnaHQKLSAgICAgICAgLCBjdXJyZW50TGluZUluZGV4Ci0gICAgKTsKKyAgICBhdXRvIGRpc3Bs
YXlMaW5lID0gSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyIHsgKnRoaXMgfS5idWlsZChsaW5lQ29u
dGVudCwgbGluZUJveEFuZEhlaWdodC5saW5lQm94LCBsaW5lQm94QW5kSGVpZ2h0LmxpbmVCb3hM
b2dpY2FsSGVpZ2h0KTsKICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkQm94ZXMoSW5saW5lRGlzcGxh
eUNvbnRlbnRCdWlsZGVyIHsgcm9vdCgpLCBmb3JtYXR0aW5nU3RhdGUgfS5idWlsZChsaW5lQ29u
dGVudAogICAgICAgICAsIGxpbmVCb3hBbmRIZWlnaHQubGluZUJveAogICAgICAgICAsIGRpc3Bs
YXlMaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKaW5kZXggNWM2
OWYwNzQzN2ZlYzZmMjZlOTY0MzU3ZmI2YTI2ZmRmZjA0NTZjMy4uYjMyODBkN2VhNTYwY2VjOTBk
MjdjZDBkZjgxYWRkYmUzODA3NjljOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
dWlsZGVyLmNwcApAQCAtNDEsNiArNDEsMTggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVz
cGFjZSBMYXlvdXQgewogCitzdGF0aWMgaW5saW5lIFN0cmluZ0J1aWxkZXIgdG9TdHJpbmcoY29u
c3QgTGluZTo6UnVuTGlzdCYgcnVucykKK3sKKyAgICBTdHJpbmdCdWlsZGVyIGxpbmVDb250ZW50
QnVpbGRlcjsKKyAgICBmb3IgKGF1dG8mIHJ1biA6IHJ1bnMpIHsKKyAgICAgICAgaWYgKCFydW4u
aXNUZXh0KCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgYXV0byYgdGV4dENvbnRl
bnQgPSBydW4udGV4dENvbnRlbnQoKTsKKyAgICAgICAgbGluZUNvbnRlbnRCdWlsZGVyLmFwcGVu
ZChkb3duY2FzdDxJbmxpbmVUZXh0Qm94PihydW4ubGF5b3V0Qm94KCkpLmNvbnRlbnQoKS5zdWJz
dHJpbmcodGV4dENvbnRlbnQtPnN0YXJ0LCB0ZXh0Q29udGVudC0+bGVuZ3RoKSk7CisgICAgfQor
ICAgIHJldHVybiBsaW5lQ29udGVudEJ1aWxkZXI7Cit9CisKIHN0YXRpYyBpbmxpbmUgYm9vbCBl
bmRzV2l0aFNvZnRXcmFwT3Bwb3J0dW5pdHkoY29uc3QgSW5saW5lVGV4dEl0ZW0mIGN1cnJlbnRU
ZXh0SXRlbSwgY29uc3QgSW5saW5lVGV4dEl0ZW0mIG5leHRJbmxpbmVUZXh0SXRlbSkKIHsKICAg
ICBBU1NFUlQoIW5leHRJbmxpbmVUZXh0SXRlbS5pc1doaXRlc3BhY2UoKSk7CkBAIC0zNDMsNiAr
MzU1LDE0IEBAIExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5s
aW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmCiAgICAgICAgIHJldHVybiB2aXN1YWxP
cmRlckxpc3Q7CiAgICAgfTsKIAorICAgIGF1dG8gaW5saW5lQmFzZURpcmVjdGlvbkZvckxpbmVD
b250ZW50ID0gWyZdIHsKKyAgICAgICAgYXV0byYgcm9vdFN0eWxlID0gaXNGaXJzdExpbmUgPyBy
b290KCkuZmlyc3RMaW5lU3R5bGUoKSA6IHJvb3QoKS5zdHlsZSgpOworICAgICAgICBhdXRvIHNo
b3VsZFVzZUJsb2NrRGlyZWN0aW9uID0gcm9vdFN0eWxlLnVuaWNvZGVCaWRpKCkgIT0gVW5pY29k
ZUJpZGk6OlBsYWludGV4dCB8fCBsaW5lUnVucy5pc0VtcHR5KCkgfHwgIWxpbmVSdW5zLmxhc3Qo
KS5pc0xpbmVCcmVhaygpOworICAgICAgICBpZiAoc2hvdWxkVXNlQmxvY2tEaXJlY3Rpb24pCisg
ICAgICAgICAgICByZXR1cm4gcm9vdFN0eWxlLmRpcmVjdGlvbigpOworICAgICAgICByZXR1cm4g
VGV4dFV0aWw6OmRpcmVjdGlvbkZvclRleHRDb250ZW50KHRvU3RyaW5nKGxpbmVSdW5zKSk7Cisg
ICAgfTsKKwogICAgIGF1dG8gaXNMYXN0TGluZSA9IGlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVu
dChjb21taXR0ZWRSYW5nZSwgbmVlZHNMYXlvdXRSYW5nZS5lbmQsIGNvbW1pdHRlZENvbnRlbnQu
cGFydGlhbFRyYWlsaW5nQ29udGVudExlbmd0aCk7CiAgICAgcmV0dXJuIExpbmVDb250ZW50IHsg
Y29tbWl0dGVkUmFuZ2UKICAgICAgICAgLCBjb21taXR0ZWRDb250ZW50LnBhcnRpYWxUcmFpbGlu
Z0NvbnRlbnRMZW5ndGgKQEAgLTM1OCw2ICszNzgsNyBAQCBMaW5lQnVpbGRlcjo6TGluZUNvbnRl
bnQgTGluZUJ1aWxkZXI6OmxheW91dElubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdl
JgogICAgICAgICAsIGlzTGFzdExpbmUKICAgICAgICAgLCBtX2xpbmUubm9uU3Bhbm5pbmdJbmxp
bmVMZXZlbEJveENvdW50KCkKICAgICAgICAgLCBjb21wdXRlZFZpc3VhbE9yZGVyKCkKKyAgICAg
ICAgLCBpbmxpbmVCYXNlRGlyZWN0aW9uRm9yTGluZUNvbnRlbnQoKQogICAgICAgICAsIGxpbmVS
dW5zIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oCmluZGV4IDIx
OTYxZGNlZGZiMDNjN2NmYzAzZWRhNDI0MWU5MzNhZTJlZTk3ZTYuLjcxNDk3NWZmMzZmMDFmZWE1
OTAzN2JmNjc0YmI3MWYwZTBkYTk5Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1
aWxkZXIuaApAQCAtNjYsNiArNjYsNyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgaXNMYXN0TGlu
ZVdpdGhJbmxpbmVDb250ZW50IHsgdHJ1ZSB9OwogICAgICAgICBzaXplX3Qgbm9uU3Bhbm5pbmdJ
bmxpbmVMZXZlbEJveENvdW50IHsgMCB9OwogICAgICAgICBWZWN0b3I8aW50MzJfdD4gdmlzdWFs
T3JkZXJMaXN0OworICAgICAgICBUZXh0RGlyZWN0aW9uIGlubGluZUJhc2VEaXJlY3Rpb24geyBU
ZXh0RGlyZWN0aW9uOjpMVFIgfTsKICAgICAgICAgY29uc3QgTGluZTo6UnVuTGlzdCYgcnVuczsK
ICAgICB9OwogICAgIExpbmVDb250ZW50IGxheW91dElubGluZUNvbnRlbnQoY29uc3QgSW5saW5l
SXRlbVJhbmdlJiwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgc3RkOjpvcHRp
b25hbDxJbmxpbmVMYXlvdXRVbml0PiBvdmVyZmxvd2luZ0xvZ2ljYWxXaWR0aCwgY29uc3QgSW5s
aW5lUmVjdCYgaW5pdGlhbExpbmVMb2dpY2FsUmVjdCwgYm9vbCBpc0ZpcnN0TGluZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9k
aXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250
ZW50QnVpbGRlci5jcHAKaW5kZXggNmI4OThkNWVmNTMyMjAxMzI1ZmJlNDIyOWEwNzc0NDY3YTZm
NzA5ZS4uMGE1ZjM3MWU2ODBiM2Y4NWEzODRhYmY3MjM0MWUwZWQ4NjI5OGMxOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxh
eS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRl
bnRCdWlsZGVyLmNwcApAQCAtMzI0LDcgKzMyNCw3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRl
bnRCdWlsZGVyOjpwcm9jZXNzTm9uQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVD
CiAgICAgYXV0byBoYXNDb250ZW50ID0gZmFsc2U7CiAgICAgZm9yIChhdXRvJiBsaW5lUnVuIDog
bGluZUNvbnRlbnQucnVucykKICAgICAgICAgaGFzQ29udGVudCA9IGhhc0NvbnRlbnQgfHwgbGlu
ZVJ1bi5pc1RleHQoKSB8fCBsaW5lUnVuLmlzQm94KCk7Ci0gICAgQVNTRVJUKHJvb3QoKS5zdHls
ZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSB8fCAhaGFzQ29udGVudCk7CisgICAgQVNTRVJU
KGxpbmVDb250ZW50LmlubGluZUJhc2VEaXJlY3Rpb24gPT0gVGV4dERpcmVjdGlvbjo6TFRSIHx8
ICFoYXNDb250ZW50KTsKICNlbmRpZgogICAgIGF1dG8gY29udGVudFN0YXJ0SW5WaXN1YWxPcmRl
ciA9IGRpc3BsYXlMaW5lLmxlZnQoKSArIGRpc3BsYXlMaW5lLmNvbnRlbnRMZWZ0KCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVC
dWlsZGVyLmNwcAppbmRleCBmMzkwZjZmOWFhZjc3MDM0ZjFiOThlODk0OTU5NDkxMTUyMzliYWU3
Li43NTg1MmI5YTZiMGFiZTZkNjg5ZmZmY2ZkNmE2YWRmNWVjMjY3M2I3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lu
bGluZURpc3BsYXlMaW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIu
Y3BwCkBAIC03NiwxMiArNzYsMTEgQEAgSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyOjpFbmNsb3Np
bmdMaW5lR2VvbWV0cnkgSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyOjpjb2xsZWMKICAgICByZXR1
cm4geyBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QgfTsKIH0K
IAotSW5saW5lRGlzcGxheTo6TGluZSBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXI6OmJ1aWxkKGNv
bnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQsIGNvbnN0IExpbmVCb3gm
IGxpbmVCb3gsIElubGluZUxheW91dFVuaXQgbGluZUJveExvZ2ljYWxIZWlnaHQsIHNpemVfdCBs
aW5lSW5kZXgpIGNvbnN0CitJbmxpbmVEaXNwbGF5OjpMaW5lIElubGluZURpc3BsYXlMaW5lQnVp
bGRlcjo6YnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5lQ29udGVudCwg
Y29uc3QgTGluZUJveCYgbGluZUJveCwgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbEhl
aWdodCkgY29uc3QKIHsKLSAgICBhdXRvJiByb290U3R5bGUgPSBsaW5lSW5kZXggPyByb290KCku
Zmlyc3RMaW5lU3R5bGUoKSA6IHJvb3QoKS5zdHlsZSgpOwogICAgIGF1dG8mIHJvb3RJbmxpbmVC
b3ggPSBsaW5lQm94LnJvb3RJbmxpbmVCb3goKTsKICAgICBhdXRvJiByb290R2VvbWV0cnkgPSBs
YXlvdXRTdGF0ZSgpLmdlb21ldHJ5Rm9yQm94KHJvb3QoKSk7Ci0gICAgYXV0byBpc0xlZnRUb1Jp
Z2h0RGlyZWN0aW9uID0gcm9vdFN0eWxlLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKKyAgICBh
dXRvIGlzTGVmdFRvUmlnaHREaXJlY3Rpb24gPSBsaW5lQ29udGVudC5pbmxpbmVCYXNlRGlyZWN0
aW9uID09IFRleHREaXJlY3Rpb246OkxUUjsKICAgICBhdXRvIGxpbmVPZmZzZXRGcm9tQ29udGVu
dEJveCA9IGxpbmVDb250ZW50LmxpbmVMb2dpY2FsVG9wTGVmdC54KCkgLSByb290R2VvbWV0cnku
Y29udGVudEJveExlZnQoKTsKIAogICAgIGF1dG8gbGluZUJveFZpc3VhbExlZnQgPSBpc0xlZnRU
b1JpZ2h0RGlyZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5oIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9J
bmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuaAppbmRleCAwYzI2NTZiZGU1ZGQ5ZDdlMDc0YzE3YjU4
MWU4MmIwY2Y5MGNkMzFlLi5mMDU0MDNkN2I5MDhhZTM2MGY3MmY3OGY0ZTkyYjFiNjQzNzY5MjQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxh
eUxpbmVCdWlsZGVyLmgKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgSW5saW5lRGlzcGxheUxpbmVC
dWlsZGVyIHsKIHB1YmxpYzoKICAgICBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIoY29uc3QgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQmKTsKIAotICAgIElubGluZURpc3BsYXk6OkxpbmUgYnVpbGQo
Y29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiwgY29uc3QgTGluZUJveCYsIElubGluZUxh
eW91dFVuaXQgbGluZUJveExvZ2ljYWxIZWlnaHQsIHNpemVfdCBsaW5lSW5kZXgpIGNvbnN0Owor
ICAgIElubGluZURpc3BsYXk6OkxpbmUgYnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250
ZW50JiwgY29uc3QgTGluZUJveCYsIElubGluZUxheW91dFVuaXQgbGluZUJveExvZ2ljYWxIZWln
aHQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIHN0cnVjdCBFbmNsb3NpbmdMaW5lR2VvbWV0cnkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvdGV4dC9UZXh0VXRpbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS90ZXh0L1RleHRVdGlsLmNwcAppbmRleCA0M2E0NGEyYjQ4NzY2NGEy
Y2VmNmU2YWYxOGEzZWZiNzI2MTkwNmU0Li4xZDliOGRkMjZmZTRkMDBhMGI4Nzc0OGQ2OTIxNGJj
N2JiYmM3N2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS90ZXh0L1RleHRVdGlsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90ZXh0L1RleHRVdGlsLmNwcApAQCAtMzM2LDYg
KzMzNiwxMiBAQCBzaXplX3QgVGV4dFV0aWw6OmZpcnN0VXNlclBlcmNlaXZlZENoYXJhY3Rlckxl
bmd0aChjb25zdCBJbmxpbmVUZXh0SXRlbSYgaW5saW5lVAogICAgIHJldHVybiBuZXh0UG9zaXRp
b24gLSBpbmxpbmVUZXh0SXRlbS5zdGFydCgpOwogfQogCitUZXh0RGlyZWN0aW9uIFRleHRVdGls
OjpkaXJlY3Rpb25Gb3JUZXh0Q29udGVudChTdHJpbmdWaWV3KQoreworICAgIEFTU0VSVF9OT1Rf
SU1QTEVNRU5URURfWUVUKCk7CisgICAgcmV0dXJuIFRleHREaXJlY3Rpb246OkxUUjsKK30KKwog
fQogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS90ZXh0L1RleHRVdGlsLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90ZXh0L1RleHRVdGlsLmgKaW5kZXggNGJiMDgwOTli
NDY2MjY0MWMwYjZmMTM5NTUyYWIyYThkMGNhZmY4OS4uN2M1MWVkMjhjMWFmNDkzNTA0OTM3OWNh
NDI0YTAzMjBhNzA5ODBmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuaApAQCAtNzEs
NiArNzEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY29udGFpbnNTdHJvbmdEaXJlY3Rp
b25hbGl0eVRleHQoU3RyaW5nVmlldyk7CiAKICAgICBzdGF0aWMgc2l6ZV90IGZpcnN0VXNlclBl
cmNlaXZlZENoYXJhY3Rlckxlbmd0aChjb25zdCBJbmxpbmVUZXh0SXRlbSYpOworICAgIHN0YXRp
YyBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbkZvclRleHRDb250ZW50KFN0cmluZ1ZpZXcpOwogfTsK
IAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449583</attachid>
            <date>2022-01-20 08:48:12 -0800</date>
            <delta_ts>2022-01-20 08:51:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235391-20220120084812.patch</filename>
            <type>text/plain</type>
            <size>10984</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4Mjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDU5Y2IzOTViN2UzMjI3
ZjZhZmNlNDY1NTljMDgyYTY2Y2JkYTQzMC4uMzUwOWI5YzYxMjgzM2ZmZDZmYmJkOTdmMTEzMGFi
Y2M5YWU2MjY4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIyLTAxLTIwICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBMaW5l
Q29udGVudDo6aW5saW5lQmFzZURpcmVjdGlvbiB0byBzdXBwb3J0IGxpbmUgYmFzZWQgaW5saW5l
IGRpcmVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM1MzkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW4gdGhpcyBwYXRjaCB3ZSBpbnRyb2R1Y2UgdGhlIGxpbmUgYmFzZWQgaW5saW5lIGJhc2Ug
ZGlyZWN0aW9uLiBXaXRoICJ1bmljb2RlLWJpZGk6IHBsYWludGV4dCIgZWFjaCBsaW5lIGNhbiBo
YXZlIGl0cyBvd24KKyAgICAgICAgYmFzZSBkaXJlY3Rpb24gZGVwZW5kaW5nIG9uIHRoZSBjb250
ZW50IG9uIHRoZSBsaW5lLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRl
bnQpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxp
bmVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6dG9TdHJpbmcpOiBVbmZv
cnR1bmF0ZWx5IHdlIGhhdmUgdG8gcmVidWlsZCB0aGUgdGV4dCBjb250ZW50IHBhcnQgb2YgdGhl
IGxpbmUgaGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmxheW91
dElubGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUxpbmVCdWlsZGVyLmg6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nl
c3NOb25CaWRpQ29udGVudCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXI6OmJ1aWxkIGNvbnN0KToKKyAg
ICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURp
c3BsYXlMaW5lQnVpbGRlci5oOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL3RleHQvVGV4dFV0aWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUZXh0
VXRpbDo6ZGlyZWN0aW9uRm9yVGV4dENvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuaDoKKwogMjAyMi0wMS0yMCAgQWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBBZGQgInByZXZp
b3VzIGxpbmUgZW5kcyB3aXRoIGEgbGluZSBicmVhayIgZmxhZyB0byBQcmV2aW91c0xpbmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCAx
YTNlZGY3MzBjMzIwYTQ4NGNiMzk2MzdhNDY1MTU4NTNiZDdiMjA3Li40YzIwNzNmOGFhYTU5MmM5
ZmEzYjZhMDcyZjJjM2ZjZTM1OTZkMGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC01NDgsMTEgKzU0OCw3IEBAIElubGluZVJlY3Qg
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGNv
bnN0IExpbmVCdWlsCiAgICAgYXV0byBjdXJyZW50TGluZUluZGV4ID0gZm9ybWF0dGluZ1N0YXRl
LmxpbmVzKCkuc2l6ZSgpOwogCiAgICAgYXV0byBsaW5lQm94QW5kSGVpZ2h0ID0gTGluZUJveEJ1
aWxkZXIgeyAqdGhpcyB9LmJ1aWxkKGxpbmVDb250ZW50LCBjdXJyZW50TGluZUluZGV4KTsKLSAg
ICBhdXRvIGRpc3BsYXlMaW5lID0gSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyIHsgKnRoaXMgfS5i
dWlsZChsaW5lQ29udGVudAotICAgICAgICAsIGxpbmVCb3hBbmRIZWlnaHQubGluZUJveAotICAg
ICAgICAsIGxpbmVCb3hBbmRIZWlnaHQubGluZUJveExvZ2ljYWxIZWlnaHQKLSAgICAgICAgLCBj
dXJyZW50TGluZUluZGV4Ci0gICAgKTsKKyAgICBhdXRvIGRpc3BsYXlMaW5lID0gSW5saW5lRGlz
cGxheUxpbmVCdWlsZGVyIHsgKnRoaXMgfS5idWlsZChsaW5lQ29udGVudCwgbGluZUJveEFuZEhl
aWdodC5saW5lQm94LCBsaW5lQm94QW5kSGVpZ2h0LmxpbmVCb3hMb2dpY2FsSGVpZ2h0KTsKICAg
ICBmb3JtYXR0aW5nU3RhdGUuYWRkQm94ZXMoSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyIHsg
cm9vdCgpLCBmb3JtYXR0aW5nU3RhdGUgfS5idWlsZChsaW5lQ29udGVudAogICAgICAgICAsIGxp
bmVCb3hBbmRIZWlnaHQubGluZUJveAogICAgICAgICAsIGRpc3BsYXlMaW5lCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKaW5kZXggMTQzMGYzMTRlOThjMzkwYjcwMTA5
YTIzYWI4YWQ5YTU4MDJjMDM2OC4uMTViOTJhMzY3YjRmMWY5OTdkZmQ4OWU3Y2MxOGI0YTA5N2Zm
NjFiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcApAQCAtNDEs
NiArNDEsMTkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBMYXlvdXQgewogCitz
dGF0aWMgaW5saW5lIFN0cmluZ0J1aWxkZXIgdG9TdHJpbmcoY29uc3QgTGluZTo6UnVuTGlzdCYg
cnVucykKK3sKKyAgICAvLyBGSVhNRTogV2UgY291bGQgdHJ5IHRvIHJldXNlIHRoZSBjb250ZW50
IGJ1aWxkZXIgaW4gSW5saW5lSXRlbXNCdWlsZGVyIGlmIHRoaXMgdHVybnMgb3V0IHRvIGJlIGEg
cGVyZiBib3R0bGVuZWNrLiAKKyAgICBTdHJpbmdCdWlsZGVyIGxpbmVDb250ZW50QnVpbGRlcjsK
KyAgICBmb3IgKGF1dG8mIHJ1biA6IHJ1bnMpIHsKKyAgICAgICAgaWYgKCFydW4uaXNUZXh0KCkp
CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgYXV0byYgdGV4dENvbnRlbnQgPSBydW4u
dGV4dENvbnRlbnQoKTsKKyAgICAgICAgbGluZUNvbnRlbnRCdWlsZGVyLmFwcGVuZChkb3duY2Fz
dDxJbmxpbmVUZXh0Qm94PihydW4ubGF5b3V0Qm94KCkpLmNvbnRlbnQoKS5zdWJzdHJpbmcodGV4
dENvbnRlbnQtPnN0YXJ0LCB0ZXh0Q29udGVudC0+bGVuZ3RoKSk7CisgICAgfQorICAgIHJldHVy
biBsaW5lQ29udGVudEJ1aWxkZXI7Cit9CisKIHN0YXRpYyBpbmxpbmUgYm9vbCBlbmRzV2l0aFNv
ZnRXcmFwT3Bwb3J0dW5pdHkoY29uc3QgSW5saW5lVGV4dEl0ZW0mIGN1cnJlbnRUZXh0SXRlbSwg
Y29uc3QgSW5saW5lVGV4dEl0ZW0mIG5leHRJbmxpbmVUZXh0SXRlbSkKIHsKICAgICBBU1NFUlQo
IW5leHRJbmxpbmVUZXh0SXRlbS5pc1doaXRlc3BhY2UoKSk7CkBAIC0zNDMsNiArMzU2LDE1IEBA
IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVu
dChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmCiAgICAgICAgIHJldHVybiB2aXN1YWxPcmRlckxpc3Q7
CiAgICAgfTsKIAorICAgIGF1dG8gaW5saW5lQmFzZURpcmVjdGlvbkZvckxpbmVDb250ZW50ID0g
WyZdIHsKKyAgICAgICAgYXV0byYgcm9vdFN0eWxlID0gaXNGaXJzdExpbmUgPyByb290KCkuZmly
c3RMaW5lU3R5bGUoKSA6IHJvb3QoKS5zdHlsZSgpOworICAgICAgICAvLyBBIHByZXZpb3VzIGxp
bmUgZW5kaW5nIHdpdGggYSBsaW5lIGJyZWFrICg8YnI+IG9yIHByZXNlcnZlZCBcbikgaW50cm9k
dWNlcyBhIG5ldyB1bmljb2RlIHBhcmFncmFwaCB3aXRoIGl0cyBvd24gZGlyZWN0aW9uLiAKKyAg
ICAgICAgYXV0byBzaG91bGRVc2VCbG9ja0RpcmVjdGlvbiA9IHJvb3RTdHlsZS51bmljb2RlQmlk
aSgpICE9IFVuaWNvZGVCaWRpOjpQbGFpbnRleHQgfHwgIXByZXZpb3VzTGluZSB8fCAhcHJldmlv
dXNMaW5lLT5lbmRzV2l0aExpbmVCcmVhazsKKyAgICAgICAgaWYgKHNob3VsZFVzZUJsb2NrRGly
ZWN0aW9uKQorICAgICAgICAgICAgcmV0dXJuIHJvb3RTdHlsZS5kaXJlY3Rpb24oKTsKKyAgICAg
ICAgcmV0dXJuIFRleHRVdGlsOjpkaXJlY3Rpb25Gb3JUZXh0Q29udGVudCh0b1N0cmluZyhsaW5l
UnVucykpOworICAgIH07CisKICAgICBhdXRvIGlzTGFzdExpbmUgPSBpc0xhc3RMaW5lV2l0aElu
bGluZUNvbnRlbnQoY29tbWl0dGVkUmFuZ2UsIG5lZWRzTGF5b3V0UmFuZ2UuZW5kLCBjb21taXR0
ZWRDb250ZW50LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgpOwogICAgIHJldHVybiBMaW5l
Q29udGVudCB7IGNvbW1pdHRlZFJhbmdlCiAgICAgICAgICwgY29tbWl0dGVkQ29udGVudC5wYXJ0
aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoCkBAIC0zNTgsNiArMzgwLDcgQEAgTGluZUJ1aWxkZXI6
OkxpbmVDb250ZW50IExpbmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGlu
ZUl0ZW1SYW5nZSYKICAgICAgICAgLCBpc0xhc3RMaW5lCiAgICAgICAgICwgbV9saW5lLm5vblNw
YW5uaW5nSW5saW5lTGV2ZWxCb3hDb3VudCgpCiAgICAgICAgICwgY29tcHV0ZWRWaXN1YWxPcmRl
cigpCisgICAgICAgICwgaW5saW5lQmFzZURpcmVjdGlvbkZvckxpbmVDb250ZW50KCkKICAgICAg
ICAgLCBsaW5lUnVucyB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIu
aAppbmRleCA4MjRlNzg1N2E2M2RjN2E2YjVhNGNmMTZhN2NkZDdmZmRmNWEwMmVjLi40MWQxNzNi
ODQ5MzhjNGRlOGI0MTQyNmMzYzFiODEwYjI3MGY2Y2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZUxpbmVCdWlsZGVyLmgKQEAgLTc1LDYgKzc1LDcgQEAgcHVibGljOgogICAgICAgICBib29s
IGlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCB7IHRydWUgfTsKICAgICAgICAgc2l6ZV90IG5v
blNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3VudCB7IDAgfTsKICAgICAgICAgVmVjdG9yPGludDMy
X3Q+IHZpc3VhbE9yZGVyTGlzdDsKKyAgICAgICAgVGV4dERpcmVjdGlvbiBpbmxpbmVCYXNlRGly
ZWN0aW9uIHsgVGV4dERpcmVjdGlvbjo6TFRSIH07CiAgICAgICAgIGNvbnN0IExpbmU6OlJ1bkxp
c3QmIHJ1bnM7CiAgICAgfTsKICAgICBMaW5lQ29udGVudCBsYXlvdXRJbmxpbmVDb250ZW50KGNv
bnN0IElubGluZUl0ZW1SYW5nZSYsIGNvbnN0IElubGluZVJlY3QmIGxpbmVMb2dpY2FsUmVjdCwg
c3RkOjpvcHRpb25hbDxQcmV2aW91c0xpbmU+KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNv
bnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAppbmRleCA2
Yjg5OGQ1ZWY1MzIyMDEzMjVmYmU0MjI5YTA3NzQ0NjdhNmY3MDllLi4wYTVmMzcxZTY4MGIzZjg1
YTM4NGFiZjcyMzQxZTBlZDg2Mjk4YzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50
QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCkBAIC0zMjQs
NyArMzI0LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NOb25C
aWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUMKICAgICBhdXRvIGhhc0NvbnRlbnQg
PSBmYWxzZTsKICAgICBmb3IgKGF1dG8mIGxpbmVSdW4gOiBsaW5lQ29udGVudC5ydW5zKQogICAg
ICAgICBoYXNDb250ZW50ID0gaGFzQ29udGVudCB8fCBsaW5lUnVuLmlzVGV4dCgpIHx8IGxpbmVS
dW4uaXNCb3goKTsKLSAgICBBU1NFUlQocm9vdCgpLnN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVj
dGlvbigpIHx8ICFoYXNDb250ZW50KTsKKyAgICBBU1NFUlQobGluZUNvbnRlbnQuaW5saW5lQmFz
ZURpcmVjdGlvbiA9PSBUZXh0RGlyZWN0aW9uOjpMVFIgfHwgIWhhc0NvbnRlbnQpOwogI2VuZGlm
CiAgICAgYXV0byBjb250ZW50U3RhcnRJblZpc3VhbE9yZGVyID0gZGlzcGxheUxpbmUubGVmdCgp
ICsgZGlzcGxheUxpbmUuY29udGVudExlZnQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5
TGluZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwCmluZGV4IGYzOTBm
NmY5YWFmNzcwMzRmMWI5OGU4OTQ5NTk0OTExNTIzOWJhZTcuLjc1ODUyYjlhNmIwYWJlNmQ2ODlm
ZmZjZmQ2YTZhZGY1ZWMyNjczYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5jcHAKQEAgLTc2LDEyICs3NiwxMSBA
QCBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXI6OkVuY2xvc2luZ0xpbmVHZW9tZXRyeSBJbmxpbmVE
aXNwbGF5TGluZUJ1aWxkZXI6OmNvbGxlYwogICAgIHJldHVybiB7IGVuY2xvc2luZ1RvcEFuZEJv
dHRvbSwgc2Nyb2xsYWJsZU92ZXJmbG93UmVjdCB9OwogfQogCi1JbmxpbmVEaXNwbGF5OjpMaW5l
IElubGluZURpc3BsYXlMaW5lQnVpbGRlcjo6YnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVD
b250ZW50JiBsaW5lQ29udGVudCwgY29uc3QgTGluZUJveCYgbGluZUJveCwgSW5saW5lTGF5b3V0
VW5pdCBsaW5lQm94TG9naWNhbEhlaWdodCwgc2l6ZV90IGxpbmVJbmRleCkgY29uc3QKK0lubGlu
ZURpc3BsYXk6OkxpbmUgSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyOjpidWlsZChjb25zdCBMaW5l
QnVpbGRlcjo6TGluZUNvbnRlbnQmIGxpbmVDb250ZW50LCBjb25zdCBMaW5lQm94JiBsaW5lQm94
LCBJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hMb2dpY2FsSGVpZ2h0KSBjb25zdAogewotICAgIGF1
dG8mIHJvb3RTdHlsZSA9IGxpbmVJbmRleCA/IHJvb3QoKS5maXJzdExpbmVTdHlsZSgpIDogcm9v
dCgpLnN0eWxlKCk7CiAgICAgYXV0byYgcm9vdElubGluZUJveCA9IGxpbmVCb3gucm9vdElubGlu
ZUJveCgpOwogICAgIGF1dG8mIHJvb3RHZW9tZXRyeSA9IGxheW91dFN0YXRlKCkuZ2VvbWV0cnlG
b3JCb3gocm9vdCgpKTsKLSAgICBhdXRvIGlzTGVmdFRvUmlnaHREaXJlY3Rpb24gPSByb290U3R5
bGUuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpOworICAgIGF1dG8gaXNMZWZ0VG9SaWdodERpcmVj
dGlvbiA9IGxpbmVDb250ZW50LmlubGluZUJhc2VEaXJlY3Rpb24gPT0gVGV4dERpcmVjdGlvbjo6
TFRSOwogICAgIGF1dG8gbGluZU9mZnNldEZyb21Db250ZW50Qm94ID0gbGluZUNvbnRlbnQubGlu
ZUxvZ2ljYWxUb3BMZWZ0LngoKSAtIHJvb3RHZW9tZXRyeS5jb250ZW50Qm94TGVmdCgpOwogCiAg
ICAgYXV0byBsaW5lQm94VmlzdWFsTGVmdCA9IGlzTGVmdFRvUmlnaHREaXJlY3Rpb24KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rp
c3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRl
ci5oCmluZGV4IDBjMjY1NmJkZTVkZDlkN2UwNzRjMTdiNTgxZTgyYjBjZjkwY2QzMWUuLmYwNTQw
M2Q3YjkwOGFlMzYwZjcyZjc4ZjRlOTJiMWI2NDM3NjkyNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlz
cGxheUxpbmVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuaApAQCAtNDAs
NyArNDAsNyBAQCBjbGFzcyBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIgewogcHVibGljOgogICAg
IElubGluZURpc3BsYXlMaW5lQnVpbGRlcihjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYp
OwogCi0gICAgSW5saW5lRGlzcGxheTo6TGluZSBidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGlu
ZUNvbnRlbnQmLCBjb25zdCBMaW5lQm94JiwgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNh
bEhlaWdodCwgc2l6ZV90IGxpbmVJbmRleCkgY29uc3Q7CisgICAgSW5saW5lRGlzcGxheTo6TGlu
ZSBidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmLCBjb25zdCBMaW5lQm94Jiwg
SW5saW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbEhlaWdodCkgY29uc3Q7CiAKIHByaXZhdGU6
CiAgICAgc3RydWN0IEVuY2xvc2luZ0xpbmVHZW9tZXRyeSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90ZXh0L1RleHRVdGlsLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQv
VGV4dFV0aWwuY3BwCmluZGV4IDQzYTQ0YTJiNDg3NjY0YTJjZWY2ZTZhZjE4YTNlZmI3MjYxOTA2
ZTQuLjFkOWI4ZGQyNmZlNGQwMGEwYjg3NzQ4ZDY5MjE0YmM3YmJiYzc3ZjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4
dFV0aWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL3RleHQvVGV4dFV0aWwuY3BwCkBAIC0zMzYsNiArMzM2LDEyIEBAIHNpemVfdCBUZXh0
VXRpbDo6Zmlyc3RVc2VyUGVyY2VpdmVkQ2hhcmFjdGVyTGVuZ3RoKGNvbnN0IElubGluZVRleHRJ
dGVtJiBpbmxpbmVUCiAgICAgcmV0dXJuIG5leHRQb3NpdGlvbiAtIGlubGluZVRleHRJdGVtLnN0
YXJ0KCk7CiB9CiAKK1RleHREaXJlY3Rpb24gVGV4dFV0aWw6OmRpcmVjdGlvbkZvclRleHRDb250
ZW50KFN0cmluZ1ZpZXcpCit7CisgICAgQVNTRVJUX05PVF9JTVBMRU1FTlRFRF9ZRVQoKTsKKyAg
ICByZXR1cm4gVGV4dERpcmVjdGlvbjo6TFRSOworfQorCiB9CiB9CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQv
VGV4dFV0aWwuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL3RleHQvVGV4dFV0aWwuaAppbmRleCA0YmIwODA5OWI0NjYyNjQxYzBiNmYxMzk1NTJhYjJh
OGQwY2FmZjg5Li43YzUxZWQyOGMxYWY0OTM1MDQ5Mzc5Y2E0MjRhMDMyMGE3MDk4MGYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90
ZXh0L1RleHRVdGlsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5oCkBAIC03MSw2ICs3MSw3IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgYm9vbCBjb250YWluc1N0cm9uZ0RpcmVjdGlvbmFsaXR5VGV4dChTdHJpbmdWaWV3
KTsKIAogICAgIHN0YXRpYyBzaXplX3QgZmlyc3RVc2VyUGVyY2VpdmVkQ2hhcmFjdGVyTGVuZ3Ro
KGNvbnN0IElubGluZVRleHRJdGVtJik7CisgICAgc3RhdGljIFRleHREaXJlY3Rpb24gZGlyZWN0
aW9uRm9yVGV4dENvbnRlbnQoU3RyaW5nVmlldyk7CiB9OwogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449584</attachid>
            <date>2022-01-20 08:51:58 -0800</date>
            <delta_ts>2022-01-20 14:06:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235391-20220120085157.patch</filename>
            <type>text/plain</type>
            <size>10986</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4Mjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDU5Y2IzOTViN2UzMjI3
ZjZhZmNlNDY1NTljMDgyYTY2Y2JkYTQzMC4uMzUwOWI5YzYxMjgzM2ZmZDZmYmJkOTdmMTEzMGFi
Y2M5YWU2MjY4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIyLTAxLTIwICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBMaW5l
Q29udGVudDo6aW5saW5lQmFzZURpcmVjdGlvbiB0byBzdXBwb3J0IGxpbmUgYmFzZWQgaW5saW5l
IGRpcmVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM1MzkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW4gdGhpcyBwYXRjaCB3ZSBpbnRyb2R1Y2UgdGhlIGxpbmUgYmFzZWQgaW5saW5lIGJhc2Ug
ZGlyZWN0aW9uLiBXaXRoICJ1bmljb2RlLWJpZGk6IHBsYWludGV4dCIgZWFjaCBsaW5lIGNhbiBo
YXZlIGl0cyBvd24KKyAgICAgICAgYmFzZSBkaXJlY3Rpb24gZGVwZW5kaW5nIG9uIHRoZSBjb250
ZW50IG9uIHRoZSBsaW5lLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRl
bnQpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxp
bmVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6dG9TdHJpbmcpOiBVbmZv
cnR1bmF0ZWx5IHdlIGhhdmUgdG8gcmVidWlsZCB0aGUgdGV4dCBjb250ZW50IHBhcnQgb2YgdGhl
IGxpbmUgaGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmxheW91
dElubGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUxpbmVCdWlsZGVyLmg6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nl
c3NOb25CaWRpQ29udGVudCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXI6OmJ1aWxkIGNvbnN0KToKKyAg
ICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURp
c3BsYXlMaW5lQnVpbGRlci5oOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL3RleHQvVGV4dFV0aWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUZXh0
VXRpbDo6ZGlyZWN0aW9uRm9yVGV4dENvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuaDoKKwogMjAyMi0wMS0yMCAgQWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBBZGQgInByZXZp
b3VzIGxpbmUgZW5kcyB3aXRoIGEgbGluZSBicmVhayIgZmxhZyB0byBQcmV2aW91c0xpbmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCAx
YTNlZGY3MzBjMzIwYTQ4NGNiMzk2MzdhNDY1MTU4NTNiZDdiMjA3Li40YzIwNzNmOGFhYTU5MmM5
ZmEzYjZhMDcyZjJjM2ZjZTM1OTZkMGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC01NDgsMTEgKzU0OCw3IEBAIElubGluZVJlY3Qg
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGNv
bnN0IExpbmVCdWlsCiAgICAgYXV0byBjdXJyZW50TGluZUluZGV4ID0gZm9ybWF0dGluZ1N0YXRl
LmxpbmVzKCkuc2l6ZSgpOwogCiAgICAgYXV0byBsaW5lQm94QW5kSGVpZ2h0ID0gTGluZUJveEJ1
aWxkZXIgeyAqdGhpcyB9LmJ1aWxkKGxpbmVDb250ZW50LCBjdXJyZW50TGluZUluZGV4KTsKLSAg
ICBhdXRvIGRpc3BsYXlMaW5lID0gSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyIHsgKnRoaXMgfS5i
dWlsZChsaW5lQ29udGVudAotICAgICAgICAsIGxpbmVCb3hBbmRIZWlnaHQubGluZUJveAotICAg
ICAgICAsIGxpbmVCb3hBbmRIZWlnaHQubGluZUJveExvZ2ljYWxIZWlnaHQKLSAgICAgICAgLCBj
dXJyZW50TGluZUluZGV4Ci0gICAgKTsKKyAgICBhdXRvIGRpc3BsYXlMaW5lID0gSW5saW5lRGlz
cGxheUxpbmVCdWlsZGVyIHsgKnRoaXMgfS5idWlsZChsaW5lQ29udGVudCwgbGluZUJveEFuZEhl
aWdodC5saW5lQm94LCBsaW5lQm94QW5kSGVpZ2h0LmxpbmVCb3hMb2dpY2FsSGVpZ2h0KTsKICAg
ICBmb3JtYXR0aW5nU3RhdGUuYWRkQm94ZXMoSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyIHsg
cm9vdCgpLCBmb3JtYXR0aW5nU3RhdGUgfS5idWlsZChsaW5lQ29udGVudAogICAgICAgICAsIGxp
bmVCb3hBbmRIZWlnaHQubGluZUJveAogICAgICAgICAsIGRpc3BsYXlMaW5lCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKaW5kZXggMTQzMGYzMTRlOThjMzkwYjcwMTA5
YTIzYWI4YWQ5YTU4MDJjMDM2OC4uZDVkMmVjYzc5MzJkYzdmZTBlNzdhYTk0N2U4MGUyYTM5MzE5
MmI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcApAQCAtNDEs
NiArNDEsMTkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBMYXlvdXQgewogCitz
dGF0aWMgaW5saW5lIFN0cmluZ0J1aWxkZXIgdG9TdHJpbmcoY29uc3QgTGluZTo6UnVuTGlzdCYg
cnVucykKK3sKKyAgICAvLyBGSVhNRTogV2UgY291bGQgdHJ5IHRvIHJldXNlIHRoZSBjb250ZW50
IGJ1aWxkZXIgaW4gSW5saW5lSXRlbXNCdWlsZGVyIGlmIHRoaXMgdHVybnMgb3V0IHRvIGJlIGEg
cGVyZiBib3R0bGVuZWNrLiAKKyAgICBTdHJpbmdCdWlsZGVyIGxpbmVDb250ZW50QnVpbGRlcjsK
KyAgICBmb3IgKGF1dG8mIHJ1biA6IHJ1bnMpIHsKKyAgICAgICAgaWYgKCFydW4uaXNUZXh0KCkp
CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgYXV0byYgdGV4dENvbnRlbnQgPSBydW4u
dGV4dENvbnRlbnQoKTsKKyAgICAgICAgbGluZUNvbnRlbnRCdWlsZGVyLmFwcGVuZChkb3duY2Fz
dDxJbmxpbmVUZXh0Qm94PihydW4ubGF5b3V0Qm94KCkpLmNvbnRlbnQoKS5zdWJzdHJpbmcodGV4
dENvbnRlbnQtPnN0YXJ0LCB0ZXh0Q29udGVudC0+bGVuZ3RoKSk7CisgICAgfQorICAgIHJldHVy
biBsaW5lQ29udGVudEJ1aWxkZXI7Cit9CisKIHN0YXRpYyBpbmxpbmUgYm9vbCBlbmRzV2l0aFNv
ZnRXcmFwT3Bwb3J0dW5pdHkoY29uc3QgSW5saW5lVGV4dEl0ZW0mIGN1cnJlbnRUZXh0SXRlbSwg
Y29uc3QgSW5saW5lVGV4dEl0ZW0mIG5leHRJbmxpbmVUZXh0SXRlbSkKIHsKICAgICBBU1NFUlQo
IW5leHRJbmxpbmVUZXh0SXRlbS5pc1doaXRlc3BhY2UoKSk7CkBAIC0zNDMsNiArMzU2LDE1IEBA
IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVu
dChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmCiAgICAgICAgIHJldHVybiB2aXN1YWxPcmRlckxpc3Q7
CiAgICAgfTsKIAorICAgIGF1dG8gaW5saW5lQmFzZURpcmVjdGlvbkZvckxpbmVDb250ZW50ID0g
WyZdIHsKKyAgICAgICAgYXV0byYgcm9vdFN0eWxlID0gIXByZXZpb3VzTGluZSA/IHJvb3QoKS5m
aXJzdExpbmVTdHlsZSgpIDogcm9vdCgpLnN0eWxlKCk7CisgICAgICAgIC8vIEEgcHJldmlvdXMg
bGluZSBlbmRpbmcgd2l0aCBhIGxpbmUgYnJlYWsgKDxicj4gb3IgcHJlc2VydmVkIFxuKSBpbnRy
b2R1Y2VzIGEgbmV3IHVuaWNvZGUgcGFyYWdyYXBoIHdpdGggaXRzIG93biBkaXJlY3Rpb24uIAor
ICAgICAgICBhdXRvIHNob3VsZFVzZUJsb2NrRGlyZWN0aW9uID0gcm9vdFN0eWxlLnVuaWNvZGVC
aWRpKCkgIT0gVW5pY29kZUJpZGk6OlBsYWludGV4dCB8fCAhcHJldmlvdXNMaW5lIHx8ICFwcmV2
aW91c0xpbmUtPmVuZHNXaXRoTGluZUJyZWFrOworICAgICAgICBpZiAoc2hvdWxkVXNlQmxvY2tE
aXJlY3Rpb24pCisgICAgICAgICAgICByZXR1cm4gcm9vdFN0eWxlLmRpcmVjdGlvbigpOworICAg
ICAgICByZXR1cm4gVGV4dFV0aWw6OmRpcmVjdGlvbkZvclRleHRDb250ZW50KHRvU3RyaW5nKGxp
bmVSdW5zKSk7CisgICAgfTsKKwogICAgIGF1dG8gaXNMYXN0TGluZSA9IGlzTGFzdExpbmVXaXRo
SW5saW5lQ29udGVudChjb21taXR0ZWRSYW5nZSwgbmVlZHNMYXlvdXRSYW5nZS5lbmQsIGNvbW1p
dHRlZENvbnRlbnQucGFydGlhbFRyYWlsaW5nQ29udGVudExlbmd0aCk7CiAgICAgcmV0dXJuIExp
bmVDb250ZW50IHsgY29tbWl0dGVkUmFuZ2UKICAgICAgICAgLCBjb21taXR0ZWRDb250ZW50LnBh
cnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgKQEAgLTM1OCw2ICszODAsNyBAQCBMaW5lQnVpbGRl
cjo6TGluZUNvbnRlbnQgTGluZUJ1aWxkZXI6OmxheW91dElubGluZUNvbnRlbnQoY29uc3QgSW5s
aW5lSXRlbVJhbmdlJgogICAgICAgICAsIGlzTGFzdExpbmUKICAgICAgICAgLCBtX2xpbmUubm9u
U3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50KCkKICAgICAgICAgLCBjb21wdXRlZFZpc3VhbE9y
ZGVyKCkKKyAgICAgICAgLCBpbmxpbmVCYXNlRGlyZWN0aW9uRm9yTGluZUNvbnRlbnQoKQogICAg
ICAgICAsIGxpbmVSdW5zIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRl
ci5oCmluZGV4IDgyNGU3ODU3YTYzZGM3YTZiNWE0Y2YxNmE3Y2RkN2ZmZGY1YTAyZWMuLjQxZDE3
M2I4NDkzOGM0ZGU4YjQxNDI2YzNjMWI4MTBiMjcwZjZjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lTGluZUJ1aWxkZXIuaApAQCAtNzUsNiArNzUsNyBAQCBwdWJsaWM6CiAgICAgICAgIGJv
b2wgaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50IHsgdHJ1ZSB9OwogICAgICAgICBzaXplX3Qg
bm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50IHsgMCB9OwogICAgICAgICBWZWN0b3I8aW50
MzJfdD4gdmlzdWFsT3JkZXJMaXN0OworICAgICAgICBUZXh0RGlyZWN0aW9uIGlubGluZUJhc2VE
aXJlY3Rpb24geyBUZXh0RGlyZWN0aW9uOjpMVFIgfTsKICAgICAgICAgY29uc3QgTGluZTo6UnVu
TGlzdCYgcnVuczsKICAgICB9OwogICAgIExpbmVDb250ZW50IGxheW91dElubGluZUNvbnRlbnQo
Y29uc3QgSW5saW5lSXRlbVJhbmdlJiwgY29uc3QgSW5saW5lUmVjdCYgbGluZUxvZ2ljYWxSZWN0
LCBzdGQ6Om9wdGlvbmFsPFByZXZpb3VzTGluZT4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5
Q29udGVudEJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCmluZGV4
IDZiODk4ZDVlZjUzMjIwMTMyNWZiZTQyMjlhMDc3NDQ2N2E2ZjcwOWUuLjBhNWYzNzFlNjgwYjNm
ODVhMzg0YWJmNzIzNDFlMGVkODYyOThjMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRl
bnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKQEAgLTMy
NCw3ICszMjQsNyBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc05v
bkJpZGlDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQwogICAgIGF1dG8gaGFzQ29udGVu
dCA9IGZhbHNlOwogICAgIGZvciAoYXV0byYgbGluZVJ1biA6IGxpbmVDb250ZW50LnJ1bnMpCiAg
ICAgICAgIGhhc0NvbnRlbnQgPSBoYXNDb250ZW50IHx8IGxpbmVSdW4uaXNUZXh0KCkgfHwgbGlu
ZVJ1bi5pc0JveCgpOwotICAgIEFTU0VSVChyb290KCkuc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGly
ZWN0aW9uKCkgfHwgIWhhc0NvbnRlbnQpOworICAgIEFTU0VSVChsaW5lQ29udGVudC5pbmxpbmVC
YXNlRGlyZWN0aW9uID09IFRleHREaXJlY3Rpb246OkxUUiB8fCAhaGFzQ29udGVudCk7CiAjZW5k
aWYKICAgICBhdXRvIGNvbnRlbnRTdGFydEluVmlzdWFsT3JkZXIgPSBkaXNwbGF5TGluZS5sZWZ0
KCkgKyBkaXNwbGF5TGluZS5jb250ZW50TGVmdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3Bs
YXlMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5jcHAKaW5kZXggZjM5
MGY2ZjlhYWY3NzAzNGYxYjk4ZTg5NDk1OTQ5MTE1MjM5YmFlNy4uNzU4NTJiOWE2YjBhYmU2ZDY4
OWZmZmNmZDZhNmFkZjVlYzI2NzNiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmNwcApAQCAtNzYsMTIgKzc2LDEx
IEBAIElubGluZURpc3BsYXlMaW5lQnVpbGRlcjo6RW5jbG9zaW5nTGluZUdlb21ldHJ5IElubGlu
ZURpc3BsYXlMaW5lQnVpbGRlcjo6Y29sbGVjCiAgICAgcmV0dXJuIHsgZW5jbG9zaW5nVG9wQW5k
Qm90dG9tLCBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0IH07CiB9CiAKLUlubGluZURpc3BsYXk6Okxp
bmUgSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyOjpidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGlu
ZUNvbnRlbnQmIGxpbmVDb250ZW50LCBjb25zdCBMaW5lQm94JiBsaW5lQm94LCBJbmxpbmVMYXlv
dXRVbml0IGxpbmVCb3hMb2dpY2FsSGVpZ2h0LCBzaXplX3QgbGluZUluZGV4KSBjb25zdAorSW5s
aW5lRGlzcGxheTo6TGluZSBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXI6OmJ1aWxkKGNvbnN0IExp
bmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQsIGNvbnN0IExpbmVCb3gmIGxpbmVC
b3gsIElubGluZUxheW91dFVuaXQgbGluZUJveExvZ2ljYWxIZWlnaHQpIGNvbnN0CiB7Ci0gICAg
YXV0byYgcm9vdFN0eWxlID0gbGluZUluZGV4ID8gcm9vdCgpLmZpcnN0TGluZVN0eWxlKCkgOiBy
b290KCkuc3R5bGUoKTsKICAgICBhdXRvJiByb290SW5saW5lQm94ID0gbGluZUJveC5yb290SW5s
aW5lQm94KCk7CiAgICAgYXV0byYgcm9vdEdlb21ldHJ5ID0gbGF5b3V0U3RhdGUoKS5nZW9tZXRy
eUZvckJveChyb290KCkpOwotICAgIGF1dG8gaXNMZWZ0VG9SaWdodERpcmVjdGlvbiA9IHJvb3RT
dHlsZS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7CisgICAgYXV0byBpc0xlZnRUb1JpZ2h0RGly
ZWN0aW9uID0gbGluZUNvbnRlbnQuaW5saW5lQmFzZURpcmVjdGlvbiA9PSBUZXh0RGlyZWN0aW9u
OjpMVFI7CiAgICAgYXV0byBsaW5lT2Zmc2V0RnJvbUNvbnRlbnRCb3ggPSBsaW5lQ29udGVudC5s
aW5lTG9naWNhbFRvcExlZnQueCgpIC0gcm9vdEdlb21ldHJ5LmNvbnRlbnRCb3hMZWZ0KCk7CiAK
ICAgICBhdXRvIGxpbmVCb3hWaXN1YWxMZWZ0ID0gaXNMZWZ0VG9SaWdodERpcmVjdGlvbgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
ZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWls
ZGVyLmgKaW5kZXggMGMyNjU2YmRlNWRkOWQ3ZTA3NGMxN2I1ODFlODJiMGNmOTBjZDMxZS4uZjA1
NDAzZDdiOTA4YWUzNjBmNzJmNzhmNGU5MmIxYjY0Mzc2OTI0OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVE
aXNwbGF5TGluZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5oCkBAIC00
MCw3ICs0MCw3IEBAIGNsYXNzIElubGluZURpc3BsYXlMaW5lQnVpbGRlciB7CiBwdWJsaWM6CiAg
ICAgSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyKGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0
Jik7CiAKLSAgICBJbmxpbmVEaXNwbGF5OjpMaW5lIGJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpM
aW5lQ29udGVudCYsIGNvbnN0IExpbmVCb3gmLCBJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hMb2dp
Y2FsSGVpZ2h0LCBzaXplX3QgbGluZUluZGV4KSBjb25zdDsKKyAgICBJbmxpbmVEaXNwbGF5OjpM
aW5lIGJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYsIGNvbnN0IExpbmVCb3gm
LCBJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hMb2dpY2FsSGVpZ2h0KSBjb25zdDsKIAogcHJpdmF0
ZToKICAgICBzdHJ1Y3QgRW5jbG9zaW5nTGluZUdlb21ldHJ5IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4
dC9UZXh0VXRpbC5jcHAKaW5kZXggNDNhNDRhMmI0ODc2NjRhMmNlZjZlNmFmMThhM2VmYjcyNjE5
MDZlNC4uMWQ5YjhkZDI2ZmU0ZDAwYTBiODc3NDhkNjkyMTRiYzdiYmJjNzdmOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4dC9U
ZXh0VXRpbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5jcHAKQEAgLTMzNiw2ICszMzYsMTIgQEAgc2l6ZV90IFRl
eHRVdGlsOjpmaXJzdFVzZXJQZXJjZWl2ZWRDaGFyYWN0ZXJMZW5ndGgoY29uc3QgSW5saW5lVGV4
dEl0ZW0mIGlubGluZVQKICAgICByZXR1cm4gbmV4dFBvc2l0aW9uIC0gaW5saW5lVGV4dEl0ZW0u
c3RhcnQoKTsKIH0KIAorVGV4dERpcmVjdGlvbiBUZXh0VXRpbDo6ZGlyZWN0aW9uRm9yVGV4dENv
bnRlbnQoU3RyaW5nVmlldykKK3sKKyAgICBBU1NFUlRfTk9UX0lNUExFTUVOVEVEX1lFVCgpOwor
ICAgIHJldHVybiBUZXh0RGlyZWN0aW9uOjpMVFI7Cit9CisKIH0KIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4
dC9UZXh0VXRpbC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvdGV4dC9UZXh0VXRpbC5oCmluZGV4IDRiYjA4MDk5YjQ2NjI2NDFjMGI2ZjEzOTU1MmFi
MmE4ZDBjYWZmODkuLjdjNTFlZDI4YzFhZjQ5MzUwNDkzNzljYTQyNGEwMzIwYTcwOTgwZjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L3RleHQvVGV4dFV0aWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS90ZXh0L1RleHRVdGlsLmgKQEAgLTcxLDYgKzcxLDcgQEAgcHVibGljOgog
ICAgIHN0YXRpYyBib29sIGNvbnRhaW5zU3Ryb25nRGlyZWN0aW9uYWxpdHlUZXh0KFN0cmluZ1Zp
ZXcpOwogCiAgICAgc3RhdGljIHNpemVfdCBmaXJzdFVzZXJQZXJjZWl2ZWRDaGFyYWN0ZXJMZW5n
dGgoY29uc3QgSW5saW5lVGV4dEl0ZW0mKTsKKyAgICBzdGF0aWMgVGV4dERpcmVjdGlvbiBkaXJl
Y3Rpb25Gb3JUZXh0Q29udGVudChTdHJpbmdWaWV3KTsKIH07CiAKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449610</attachid>
            <date>2022-01-20 14:06:35 -0800</date>
            <delta_ts>2022-01-20 16:18:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235391-20220120140635.patch</filename>
            <type>text/plain</type>
            <size>12199</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4Mjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ1MDYzOWUxZGYwZDRi
YjA1ZTk1YmNhNDg2NzdhNjk2OGJmZjFmMy4uOTY2ZDg4NWNiNmQ2ZTc4MzE4ZTJkYWVlNWU3ZTAw
YmEzMDdhMzdhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIyLTAxLTIwICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBMaW5l
Q29udGVudDo6aW5saW5lQmFzZURpcmVjdGlvbiB0byBzdXBwb3J0IGxpbmUgYmFzZWQgaW5saW5l
IGRpcmVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM1MzkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAg
ICAgSW4gdGhpcyBwYXRjaCB3ZSBpbnRyb2R1Y2UgdGhlIGxpbmUgYmFzZWQgaW5saW5lIGJhc2Ug
ZGlyZWN0aW9uLiBXaXRoICJ1bmljb2RlLWJpZGk6IHBsYWludGV4dCIgZWFjaCBsaW5lIGNhbiBo
YXZlIGl0cyBvd24KKyAgICAgICAgYmFzZSBkaXJlY3Rpb24gZGVwZW5kaW5nIG9uIHRoZSBjb250
ZW50IG9uIHRoZSBsaW5lLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRl
bnQpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxp
bmVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6dG9TdHJpbmcpOiBVbmZv
cnR1bmF0ZWx5IHdlIGhhdmUgdG8gcmVidWlsZCB0aGUgdGV4dCBjb250ZW50IHBhcnQgb2YgdGhl
IGxpbmUgaGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmxheW91
dElubGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUxpbmVCdWlsZGVyLmg6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nl
c3NOb25CaWRpQ29udGVudCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXI6OmJ1aWxkIGNvbnN0KToKKyAg
ICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURp
c3BsYXlMaW5lQnVpbGRlci5oOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL3RleHQvVGV4dFV0aWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUZXh0
VXRpbDo6ZGlyZWN0aW9uRm9yVGV4dENvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuaDoKKwogMjAyMi0wMS0yMCAgQWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBBZGQgInByZXZp
b3VzIGxpbmUgZW5kcyB3aXRoIGEgbGluZSBicmVhayIgZmxhZyB0byBQcmV2aW91c0xpbmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCAw
NTZlMjMzN2Q5MWYwN2MwMGU1ZjMyOWNiNGQyMjg3YmRmOWVmOTEwLi4zMjEyMDRlYTU2MDJiMTM3
ZTNmNjg5YThkNTRjODhiYzJjN2E0N2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0yNDUsNyArMjQ1LDcgQEAgdm9pZCBJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dDo6bGluZUxheW91dChJbmxpbmVJdGVtcyYgaW5saW5lSXRlbXMsIExp
bmVCdWlsZGVyOjoKICAgICAgICAgICAgICAgICBvdmVyZmxvd0NvbnRlbnQgPSB7IGxpbmVDb250
ZW50LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgsIGxpbmVDb250ZW50Lm92ZXJmbG93TG9n
aWNhbFdpZHRoIH07CiAgICAgICAgICAgICBlbHNlIGlmIChsaW5lQ29udGVudC5vdmVyZmxvd0xv
Z2ljYWxXaWR0aCkKICAgICAgICAgICAgICAgICBvdmVyZmxvd0NvbnRlbnQgPSB7IHsgfSwgKmxp
bmVDb250ZW50Lm92ZXJmbG93TG9naWNhbFdpZHRoIH07Ci0gICAgICAgICAgICBwcmV2aW91c0xp
bmUgPSBMaW5lQnVpbGRlcjo6UHJldmlvdXNMaW5lIHsgbGluZUNvbnRlbnRSYW5nZSwgIWxpbmVD
b250ZW50LnJ1bnMuaXNFbXB0eSgpICYmIGxpbmVDb250ZW50LnJ1bnMubGFzdCgpLmlzTGluZUJy
ZWFrKCksIG92ZXJmbG93Q29udGVudCB9OworICAgICAgICAgICAgcHJldmlvdXNMaW5lID0gTGlu
ZUJ1aWxkZXI6OlByZXZpb3VzTGluZSB7IGxpbmVDb250ZW50UmFuZ2UsICFsaW5lQ29udGVudC5y
dW5zLmlzRW1wdHkoKSAmJiBsaW5lQ29udGVudC5ydW5zLmxhc3QoKS5pc0xpbmVCcmVhaygpLCBs
aW5lQ29udGVudC5pbmxpbmVCYXNlRGlyZWN0aW9uLCBvdmVyZmxvd0NvbnRlbnQgfTsKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIC8vIEZsb2F0cyBwcmV2ZW50ZWQg
dXMgcGxhY2luZyBhbnkgY29udGVudCBvbiB0aGUgbGluZS4KQEAgLTU0OCwxMSArNTQ4LDcgQEAg
SW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGlu
ZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKICAgICBhdXRvIGN1cnJlbnRMaW5lSW5kZXggPSBmb3Jt
YXR0aW5nU3RhdGUubGluZXMoKS5zaXplKCk7CiAKICAgICBhdXRvIGxpbmVCb3hBbmRIZWlnaHQg
PSBMaW5lQm94QnVpbGRlciB7ICp0aGlzIH0uYnVpbGQobGluZUNvbnRlbnQsIGN1cnJlbnRMaW5l
SW5kZXgpOwotICAgIGF1dG8gZGlzcGxheUxpbmUgPSBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIg
eyAqdGhpcyB9LmJ1aWxkKGxpbmVDb250ZW50Ci0gICAgICAgICwgbGluZUJveEFuZEhlaWdodC5s
aW5lQm94Ci0gICAgICAgICwgbGluZUJveEFuZEhlaWdodC5saW5lQm94TG9naWNhbEhlaWdodAot
ICAgICAgICAsIGN1cnJlbnRMaW5lSW5kZXgKLSAgICApOworICAgIGF1dG8gZGlzcGxheUxpbmUg
PSBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIgeyAqdGhpcyB9LmJ1aWxkKGxpbmVDb250ZW50LCBs
aW5lQm94QW5kSGVpZ2h0LmxpbmVCb3gsIGxpbmVCb3hBbmRIZWlnaHQubGluZUJveExvZ2ljYWxI
ZWlnaHQpOwogICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRCb3hlcyhJbmxpbmVEaXNwbGF5Q29udGVu
dEJ1aWxkZXIgeyByb290KCksIGZvcm1hdHRpbmdTdGF0ZSB9LmJ1aWxkKGxpbmVDb250ZW50CiAg
ICAgICAgICwgbGluZUJveEFuZEhlaWdodC5saW5lQm94CiAgICAgICAgICwgZGlzcGxheUxpbmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcAppbmRleCAyMWQ3ZGU3YjA5
OTBlYzYzZTY3MzQ3Mzg0NmIxNGVjMWZjODNhZDgwLi4zY2FkNjM3ZDM2OTUzZmYwYmFlOGYxOTVm
ZDYzNmRhZTViMjkwZGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIu
Y3BwCkBAIC00MSw2ICs0MSwxOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExh
eW91dCB7CiAKK3N0YXRpYyBpbmxpbmUgU3RyaW5nQnVpbGRlciB0b1N0cmluZyhjb25zdCBMaW5l
OjpSdW5MaXN0JiBydW5zKQoreworICAgIC8vIEZJWE1FOiBXZSBjb3VsZCB0cnkgdG8gcmV1c2Ug
dGhlIGNvbnRlbnQgYnVpbGRlciBpbiBJbmxpbmVJdGVtc0J1aWxkZXIgaWYgdGhpcyB0dXJucyBv
dXQgdG8gYmUgYSBwZXJmIGJvdHRsZW5lY2suCisgICAgU3RyaW5nQnVpbGRlciBsaW5lQ29udGVu
dEJ1aWxkZXI7CisgICAgZm9yIChhdXRvJiBydW4gOiBydW5zKSB7CisgICAgICAgIGlmICghcnVu
LmlzVGV4dCgpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGF1dG8mIHRleHRDb250
ZW50ID0gcnVuLnRleHRDb250ZW50KCk7CisgICAgICAgIGxpbmVDb250ZW50QnVpbGRlci5hcHBl
bmQoZG93bmNhc3Q8SW5saW5lVGV4dEJveD4ocnVuLmxheW91dEJveCgpKS5jb250ZW50KCkuc3Vi
c3RyaW5nKHRleHRDb250ZW50LT5zdGFydCwgdGV4dENvbnRlbnQtPmxlbmd0aCkpOworICAgIH0K
KyAgICByZXR1cm4gbGluZUNvbnRlbnRCdWlsZGVyOworfQorCiBzdGF0aWMgaW5saW5lIGJvb2wg
ZW5kc1dpdGhTb2Z0V3JhcE9wcG9ydHVuaXR5KGNvbnN0IElubGluZVRleHRJdGVtJiBjdXJyZW50
VGV4dEl0ZW0sIGNvbnN0IElubGluZVRleHRJdGVtJiBuZXh0SW5saW5lVGV4dEl0ZW0pCiB7CiAg
ICAgQVNTRVJUKCFuZXh0SW5saW5lVGV4dEl0ZW0uaXNXaGl0ZXNwYWNlKCkpOwpAQCAtMzQzLDYg
KzM1NiwxNyBAQCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQgTGluZUJ1aWxkZXI6OmxheW91dElu
bGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJgogICAgICAgICByZXR1cm4gdmlzdWFs
T3JkZXJMaXN0OwogICAgIH07CiAKKyAgICBhdXRvIGlubGluZUJhc2VEaXJlY3Rpb25Gb3JMaW5l
Q29udGVudCA9IFsmXSB7CisgICAgICAgIGF1dG8mIHJvb3RTdHlsZSA9ICFwcmV2aW91c0xpbmUg
PyByb290KCkuZmlyc3RMaW5lU3R5bGUoKSA6IHJvb3QoKS5zdHlsZSgpOworICAgICAgICBhdXRv
IHNob3VsZFVzZUJsb2NrRGlyZWN0aW9uID0gcm9vdFN0eWxlLnVuaWNvZGVCaWRpKCkgIT0gVW5p
Y29kZUJpZGk6OlBsYWludGV4dCB8fCAhcHJldmlvdXNMaW5lOworICAgICAgICBpZiAoc2hvdWxk
VXNlQmxvY2tEaXJlY3Rpb24pCisgICAgICAgICAgICByZXR1cm4gcm9vdFN0eWxlLmRpcmVjdGlv
bigpOworICAgICAgICAvLyBBIHByZXZpb3VzIGxpbmUgZW5kaW5nIHdpdGggYSBsaW5lIGJyZWFr
ICg8YnI+IG9yIHByZXNlcnZlZCBcbikgaW50cm9kdWNlcyBhIG5ldyB1bmljb2RlIHBhcmFncmFw
aCB3aXRoIGl0cyBvd24gZGlyZWN0aW9uLgorICAgICAgICBpZiAoIXByZXZpb3VzTGluZS0+ZW5k
c1dpdGhMaW5lQnJlYWspCisgICAgICAgICAgICByZXR1cm4gcHJldmlvdXNMaW5lLT5pbmxpbmVC
YXNlRGlyZWN0aW9uOworICAgICAgICByZXR1cm4gVGV4dFV0aWw6OmRpcmVjdGlvbkZvclRleHRD
b250ZW50KHRvU3RyaW5nKGxpbmVSdW5zKSk7CisgICAgfTsKKwogICAgIGF1dG8gaXNMYXN0TGlu
ZSA9IGlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudChjb21taXR0ZWRSYW5nZSwgbmVlZHNMYXlv
dXRSYW5nZS5lbmQsIGNvbW1pdHRlZENvbnRlbnQucGFydGlhbFRyYWlsaW5nQ29udGVudExlbmd0
aCk7CiAgICAgcmV0dXJuIExpbmVDb250ZW50IHsgY29tbWl0dGVkUmFuZ2UKICAgICAgICAgLCBj
b21taXR0ZWRDb250ZW50LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgKQEAgLTM1OCw2ICsz
ODIsNyBAQCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQgTGluZUJ1aWxkZXI6OmxheW91dElubGlu
ZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJgogICAgICAgICAsIGlzTGFzdExpbmUKICAg
ICAgICAgLCBtX2xpbmUubm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50KCkKICAgICAgICAg
LCBjb21wdXRlZFZpc3VhbE9yZGVyKCkKKyAgICAgICAgLCBpbmxpbmVCYXNlRGlyZWN0aW9uRm9y
TGluZUNvbnRlbnQoKQogICAgICAgICAsIGxpbmVSdW5zIH07CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
dWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVMaW5lQnVpbGRlci5oCmluZGV4IDkzNmEyMzY3YTM5YzAwYTQyYjRkZDkwMjBmYzk5
MDkzODgzZmVkZDAuLjc2NDZhY2QwMjg1NmJkNzNiZDRhNGQzYzUzY2ZhNjNjZGRkZTVkYTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUxpbmVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaApAQCAtNTMsNiArNTMsNyBAQCBw
dWJsaWM6CiAgICAgc3RydWN0IFByZXZpb3VzTGluZSB7CiAgICAgICAgIElubGluZUl0ZW1SYW5n
ZSByYW5nZTsKICAgICAgICAgYm9vbCBlbmRzV2l0aExpbmVCcmVhayB7IGZhbHNlIH07CisgICAg
ICAgIFRleHREaXJlY3Rpb24gaW5saW5lQmFzZURpcmVjdGlvbiB7IFRleHREaXJlY3Rpb246OkxU
UiB9OwogICAgICAgICBzdHJ1Y3QgT3ZlcmZsb3dDb250ZW50IHsKICAgICAgICAgICAgIHNpemVf
dCBwYXJ0aWFsQ29udGVudExlbmd0aCB7IDAgfTsKICAgICAgICAgICAgIHN0ZDo6b3B0aW9uYWw8
SW5saW5lTGF5b3V0VW5pdD4gd2lkdGggeyB9OwpAQCAtNzUsNiArNzYsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIGJvb2wgaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50IHsgdHJ1ZSB9OwogICAgICAg
ICBzaXplX3Qgbm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50IHsgMCB9OwogICAgICAgICBW
ZWN0b3I8aW50MzJfdD4gdmlzdWFsT3JkZXJMaXN0OworICAgICAgICBUZXh0RGlyZWN0aW9uIGlu
bGluZUJhc2VEaXJlY3Rpb24geyBUZXh0RGlyZWN0aW9uOjpMVFIgfTsKICAgICAgICAgY29uc3Qg
TGluZTo6UnVuTGlzdCYgcnVuczsKICAgICB9OwogICAgIExpbmVDb250ZW50IGxheW91dElubGlu
ZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiwgY29uc3QgSW5saW5lUmVjdCYgbGluZUxv
Z2ljYWxSZWN0LCBjb25zdCBzdGQ6Om9wdGlvbmFsPFByZXZpb3VzTGluZT4mKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3Bs
YXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRC
dWlsZGVyLmNwcAppbmRleCA2Yjg5OGQ1ZWY1MzIyMDEzMjVmYmU0MjI5YTA3NzQ0NjdhNmY3MDll
Li4wYTVmMzcxZTY4MGIzZjg1YTM4NGFiZjcyMzQxZTBlZDg2Mjk4YzE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lu
bGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1
aWxkZXIuY3BwCkBAIC0zMjQsNyArMzI0LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1
aWxkZXI6OnByb2Nlc3NOb25CaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUMKICAg
ICBhdXRvIGhhc0NvbnRlbnQgPSBmYWxzZTsKICAgICBmb3IgKGF1dG8mIGxpbmVSdW4gOiBsaW5l
Q29udGVudC5ydW5zKQogICAgICAgICBoYXNDb250ZW50ID0gaGFzQ29udGVudCB8fCBsaW5lUnVu
LmlzVGV4dCgpIHx8IGxpbmVSdW4uaXNCb3goKTsKLSAgICBBU1NFUlQocm9vdCgpLnN0eWxlKCku
aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpIHx8ICFoYXNDb250ZW50KTsKKyAgICBBU1NFUlQobGlu
ZUNvbnRlbnQuaW5saW5lQmFzZURpcmVjdGlvbiA9PSBUZXh0RGlyZWN0aW9uOjpMVFIgfHwgIWhh
c0NvbnRlbnQpOwogI2VuZGlmCiAgICAgYXV0byBjb250ZW50U3RhcnRJblZpc3VhbE9yZGVyID0g
ZGlzcGxheUxpbmUubGVmdCgpICsgZGlzcGxheUxpbmUuY29udGVudExlZnQoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlz
cGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxk
ZXIuY3BwCmluZGV4IGYzOTBmNmY5YWFmNzcwMzRmMWI5OGU4OTQ5NTk0OTExNTIzOWJhZTcuLjc1
ODUyYjlhNmIwYWJlNmQ2ODlmZmZjZmQ2YTZhZGY1ZWMyNjczYjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5l
RGlzcGxheUxpbmVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5jcHAK
QEAgLTc2LDEyICs3NiwxMSBAQCBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXI6OkVuY2xvc2luZ0xp
bmVHZW9tZXRyeSBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXI6OmNvbGxlYwogICAgIHJldHVybiB7
IGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgc2Nyb2xsYWJsZU92ZXJmbG93UmVjdCB9OwogfQogCi1J
bmxpbmVEaXNwbGF5OjpMaW5lIElubGluZURpc3BsYXlMaW5lQnVpbGRlcjo6YnVpbGQoY29uc3Qg
TGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5lQ29udGVudCwgY29uc3QgTGluZUJveCYgbGlu
ZUJveCwgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbEhlaWdodCwgc2l6ZV90IGxpbmVJ
bmRleCkgY29uc3QKK0lubGluZURpc3BsYXk6OkxpbmUgSW5saW5lRGlzcGxheUxpbmVCdWlsZGVy
OjpidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmIGxpbmVDb250ZW50LCBjb25z
dCBMaW5lQm94JiBsaW5lQm94LCBJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hMb2dpY2FsSGVpZ2h0
KSBjb25zdAogewotICAgIGF1dG8mIHJvb3RTdHlsZSA9IGxpbmVJbmRleCA/IHJvb3QoKS5maXJz
dExpbmVTdHlsZSgpIDogcm9vdCgpLnN0eWxlKCk7CiAgICAgYXV0byYgcm9vdElubGluZUJveCA9
IGxpbmVCb3gucm9vdElubGluZUJveCgpOwogICAgIGF1dG8mIHJvb3RHZW9tZXRyeSA9IGxheW91
dFN0YXRlKCkuZ2VvbWV0cnlGb3JCb3gocm9vdCgpKTsKLSAgICBhdXRvIGlzTGVmdFRvUmlnaHRE
aXJlY3Rpb24gPSByb290U3R5bGUuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpOworICAgIGF1dG8g
aXNMZWZ0VG9SaWdodERpcmVjdGlvbiA9IGxpbmVDb250ZW50LmlubGluZUJhc2VEaXJlY3Rpb24g
PT0gVGV4dERpcmVjdGlvbjo6TFRSOwogICAgIGF1dG8gbGluZU9mZnNldEZyb21Db250ZW50Qm94
ID0gbGluZUNvbnRlbnQubGluZUxvZ2ljYWxUb3BMZWZ0LngoKSAtIHJvb3RHZW9tZXRyeS5jb250
ZW50Qm94TGVmdCgpOwogCiAgICAgYXV0byBsaW5lQm94VmlzdWFsTGVmdCA9IGlzTGVmdFRvUmln
aHREaXJlY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGlu
ZURpc3BsYXlMaW5lQnVpbGRlci5oCmluZGV4IDBjMjY1NmJkZTVkZDlkN2UwNzRjMTdiNTgxZTgy
YjBjZjkwY2QzMWUuLmYwNTQwM2Q3YjkwOGFlMzYwZjcyZjc4ZjRlOTJiMWI2NDM3NjkyNDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGlu
ZUJ1aWxkZXIuaApAQCAtNDAsNyArNDAsNyBAQCBjbGFzcyBJbmxpbmVEaXNwbGF5TGluZUJ1aWxk
ZXIgewogcHVibGljOgogICAgIElubGluZURpc3BsYXlMaW5lQnVpbGRlcihjb25zdCBJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dCYpOwogCi0gICAgSW5saW5lRGlzcGxheTo6TGluZSBidWlsZChjb25z
dCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmLCBjb25zdCBMaW5lQm94JiwgSW5saW5lTGF5b3V0
VW5pdCBsaW5lQm94TG9naWNhbEhlaWdodCwgc2l6ZV90IGxpbmVJbmRleCkgY29uc3Q7CisgICAg
SW5saW5lRGlzcGxheTo6TGluZSBidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQm
LCBjb25zdCBMaW5lQm94JiwgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbEhlaWdodCkg
Y29uc3Q7CiAKIHByaXZhdGU6CiAgICAgc3RydWN0IEVuY2xvc2luZ0xpbmVHZW9tZXRyeSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS90ZXh0L1RleHRVdGlsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuY3BwCmluZGV4IDQzYTQ0YTJiNDg3NjY0YTJjZWY2
ZTZhZjE4YTNlZmI3MjYxOTA2ZTQuLjFkOWI4ZGQyNmZlNGQwMGEwYjg3NzQ4ZDY5MjE0YmM3YmJi
Yzc3ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuY3BwCkBAIC0zMzYsNiArMzM2
LDEyIEBAIHNpemVfdCBUZXh0VXRpbDo6Zmlyc3RVc2VyUGVyY2VpdmVkQ2hhcmFjdGVyTGVuZ3Ro
KGNvbnN0IElubGluZVRleHRJdGVtJiBpbmxpbmVUCiAgICAgcmV0dXJuIG5leHRQb3NpdGlvbiAt
IGlubGluZVRleHRJdGVtLnN0YXJ0KCk7CiB9CiAKK1RleHREaXJlY3Rpb24gVGV4dFV0aWw6OmRp
cmVjdGlvbkZvclRleHRDb250ZW50KFN0cmluZ1ZpZXcpCit7CisgICAgQVNTRVJUX05PVF9JTVBM
RU1FTlRFRF9ZRVQoKTsKKyAgICByZXR1cm4gVGV4dERpcmVjdGlvbjo6TFRSOworfQorCiB9CiB9
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuaAppbmRleCA0YmIwODA5OWI0NjYy
NjQxYzBiNmYxMzk1NTJhYjJhOGQwY2FmZjg5Li43YzUxZWQyOGMxYWY0OTM1MDQ5Mzc5Y2E0MjRh
MDMyMGE3MDk4MGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS90ZXh0L1RleHRVdGlsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5oCkBAIC03MSw2ICs3
MSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjb250YWluc1N0cm9uZ0RpcmVjdGlvbmFs
aXR5VGV4dChTdHJpbmdWaWV3KTsKIAogICAgIHN0YXRpYyBzaXplX3QgZmlyc3RVc2VyUGVyY2Vp
dmVkQ2hhcmFjdGVyTGVuZ3RoKGNvbnN0IElubGluZVRleHRJdGVtJik7CisgICAgc3RhdGljIFRl
eHREaXJlY3Rpb24gZGlyZWN0aW9uRm9yVGV4dENvbnRlbnQoU3RyaW5nVmlldyk7CiB9OwogCiB9
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>