<?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>218690</bug_id>
          
          <creation_ts>2020-11-07 13:00:34 -0800</creation_ts>
          <short_desc>[LFC][Integration] Cleanup LayoutIntegration::Line interface</short_desc>
          <delta_ts>2020-11-09 13:09:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1705557</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-11-07 13:00:34 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705558</commentid>
    <comment_count>1</comment_count>
      <attachid>413533</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-11-07 13:02:11 -0800</bug_when>
    <thetext>Created attachment 413533
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705570</commentid>
    <comment_count>2</comment_count>
      <attachid>413536</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-11-07 16:15:58 -0800</bug_when>
    <thetext>Created attachment 413536
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705583</commentid>
    <comment_count>3</comment_count>
      <attachid>413536</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-11-07 23:42:25 -0800</bug_when>
    <thetext>Comment on attachment 413536
Patch

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

&gt; Source/WebCore/layout/inlineformatting/InlineLineGeometry.h:38
&gt; +    InlineLineGeometry(const InlineRect&amp; lineLogicalRect, const InlineLayoutSize&amp; lineBoxLogicalSize, InlineLayoutUnit aligmentBaseline, InlineLayoutUnit horizontalAlignmentOffset);

Ok as-is. Consider removing names for first 2 params now that they have different types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705589</commentid>
    <comment_count>4</comment_count>
      <attachid>413536</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-11-08 06:45:43 -0800</bug_when>
    <thetext>Comment on attachment 413536
Patch

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

&gt; Source/WebCore/layout/integration/LayoutIntegrationPagination.cpp:134
&gt;              moveVertically(line.rect(), offset),
&gt; +            line.rect().size(),
&gt;              moveVertically(line.rect(), offset),

Not from this patch but the last one should be enclosingRect().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705592</commentid>
    <comment_count>5</comment_count>
      <attachid>413542</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-11-08 10:40:04 -0800</bug_when>
    <thetext>Created attachment 413542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705609</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-08 12:06:03 -0800</bug_when>
    <thetext>Committed r269571: &lt;https://trac.webkit.org/changeset/269571&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413542.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705610</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-08 12:07:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/71168177&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705845</commentid>
    <comment_count>8</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-11-09 13:09:36 -0800</bug_when>
    <thetext>(In reply to Daniel Bates from comment #3)
&gt; Comment on attachment 413536 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=413536&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/layout/inlineformatting/InlineLineGeometry.h:38
&gt; &gt; +    InlineLineGeometry(const InlineRect&amp; lineLogicalRect, const InlineLayoutSize&amp; lineBoxLogicalSize, InlineLayoutUnit aligmentBaseline, InlineLayoutUnit horizontalAlignmentOffset);
&gt; 
&gt; Ok as-is. Consider removing names for first 2 params now that they have
&gt; different types.
I&apos;d rather keep them as one is about the line while the other is about the line box geometry.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413533</attachid>
            <date>2020-11-07 13:02:11 -0800</date>
            <delta_ts>2020-11-07 16:15:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218690-20201107130210.patch</filename>
            <type>text/plain</type>
            <size>1903</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NDMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzY1ZWNjYmI0N2JjOTAy
MTFmNDQ1OTNkZmY1MzgwOTdkNDFiMzRmNS4uN2Q0NGQ5ZjZhY2UzMThkM2FhNTZiNTg1ZDg2M2Zl
YzY0NzE0NTY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTExLTA3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25d
IENsZWFudXAgTGF5b3V0SW50ZWdyYXRpb246OkxpbmUgaW50ZXJmYWNlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg2OTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFV1MuCisKKyAgICAgICAgKiBsYXlv
dXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxk
ZXI6OmNvbnN0cnVjdERpc3BsYXlMaW5lcyBjb25zdCk6CisKIDIwMjAtMTEtMDcgIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gSW50
cm9kdWNlIElubGluZUNvbnRlbnRCdWlsZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25J
bmxpbmVDb250ZW50QnVpbGRlci5jcHAKaW5kZXggNDhlZmU0NGVlZDJhOGM3MTAwZWYwYWZlN2Ri
Y2ViZDY1ZTcwMjdmMi4uMzEzYWRlNDlhNzRjNmZlMGY3NjdhOTE2ZWY3MGU5ODkxNGQ5YTVhMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcApA
QCAtMTkzLDggKzE5Myw2IEBAIHZvaWQgSW5saW5lQ29udGVudEJ1aWxkZXI6OmNvbnN0cnVjdERp
c3BsYXlMaW5lcyhJbmxpbmVDb250ZW50JiBpbmxpbmVDb250ZW50LCBjCiAgICAgICAgICAgICBs
aW5lSW5rT3ZlcmZsb3dSZWN0LnVuaXRlKHJ1bnNbcnVuSW5kZXgrK10uaW5rT3ZlcmZsb3coKSk7
CiAgICAgICAgIGF1dG8gcnVuQ291bnQgPSBydW5JbmRleCAtIGZpcnN0UnVuSW5kZXg7CiAgICAg
ICAgIGF1dG8gbGluZVJlY3QgPSBGbG9hdFJlY3QgeyBsaW5lLmxvZ2ljYWxSZWN0KCkgfTsKLSAg
ICAgICAgLy8gUGFpbnRpbmcgY29kZSAoc3BlY2lmaWNhbGx5IFRleHRSdW4ncyB4UG9zKSBuZWVk
cyB0aGUgbGluZSBib3ggb2Zmc2V0IHRvIGJlIGFibGUgdG8gY29tcHV0ZSB0YWIgcG9zaXRpb25z
LgotICAgICAgICBsaW5lUmVjdC5zZXRYKGxpbmVCb3hMb2dpY2FsUmVjdC5sZWZ0KCkpOwogICAg
ICAgICBhdXRvIGVuY2xvc2luZ0xpbmVSZWN0ID0gWyZdIHsKICAgICAgICAgICAgIC8vIExldCdz
ICh2ZXJ0aWNhbGx5KWVuY2xvc2UgYWxsIHRoZSBpbmxpbmUgbGV2ZWwgYm94ZXMuCiAgICAgICAg
ICAgICAvLyBUaGlzIG1vc3RseSBtYXRjaGVzICdsaW5lUmVjdCcsIHVubGVzcyBsaW5lLWhlaWdo
dCB0cmlnZ2VycyBsaW5lIGJveCBvdmVyZmxvdyAobm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggaW5r
IG9yIHNjcm9sbCBvdmVyZmxvdykuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413536</attachid>
            <date>2020-11-07 16:15:58 -0800</date>
            <delta_ts>2020-11-08 10:40:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218690-20201107161558.patch</filename>
            <type>text/plain</type>
            <size>16654</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQyNzM3NDVlZDFjYzEz
NjhiMDg2YWUwNDUwNzFlNGY0YzQwOGM2MC4uODUwNzM3NTVlODkzOGUwYzdmMjlkMmMzZDA1ODgx
NWEyYzUwYjg3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTExLTA3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25d
IENsZWFudXAgTGF5b3V0SW50ZWdyYXRpb246OkxpbmUgaW50ZXJmYWNlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg2OTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6TGlu
ZSBoYXMgdGhlIGZvbGxvd2luZyBzZXQgb2YgZ2VvbWV0cmllczoKKyAgICAgICAgICBMaW5lIHJl
Y3QgYW5kIGxpbmUgYm94IHNpemU6CisgICAgICAgICAgICBMaW5lIGlzIGFsd2F5cyBhcyB0YWxs
IGFzIHRoZSBsaW5lIGJveCBpcy4gSG93ZXZlciB0aGV5IG1heSBkaWZmZXIgaW4gd2lkdGguCisg
ICAgICAgICAgICBXaGlsZSBsaW5lIGJveCBlbmNsb3NlcyBhbGwgdGhlIGlubGluZSBsZXZlbCBi
b3hlcyBvbiB0aGUgbGluZSBob3Jpem9udGFsbHksCisgICAgICAgICAgICB0aGUgbGluZSBpdHNl
bGYgbWF5IGJlIHNob3J0ZXIgKGFuZCB0cmlnZ2VyIGhvcml6b250YWwgb3ZlcmZsb3cpLgorCisg
ICAgICAgICAgRW5jbG9zaW5nIGNvbnRlbnQgcmVjdDoKKyAgICAgICAgICAgIEl0IGVuY2xvc2Vz
IGFsbCBpbmxpbmUgbGV2ZWwgYm94ZXMgYm90aCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHku
IEluIGNlcnRhaW4gY2FzZXMgKHNlZSBsaW5lLWhlaWdodCBwcm9wZXJ0eSkKKyAgICAgICAgICAg
IHRoZSBsaW5lIChhbmQgdGhlIGxpbmUgYm94KSBpcyBub3QgYXMgdGFsbCBhcyB0aGUgaW5saW5l
IGxldmVsIGJveGVzIG9uIHRoZSBsaW5lLgorCisgICAgICAgICAgU2Nyb2xsYWJsZSBvdmVyZmxv
dyByZWN0OgorICAgICAgICAgICAgSXQncyBtYWlubHkgdGhlIGxpbmUgYm94IChlbmNsb3NlcyB0
aGUgaW5saW5lIGxldmVsIGJveGVzIGhvcml6b250YWxseSkgd2l0aCBzb21lIGVuZCBwYWRkaW5n
IGFkanVzdG1lbnQgZm9yIHRoZSBjYXJldCAoc2VlIGxlZ2FjeSBsaW5lIGxheW91dCkuCisKKyAg
ICAgICAgICBJbmsgb3ZlcmZsb3cgcmVjdDoKKyAgICAgICAgICAgIFJlZ3VsYXIgaW5rIG92ZXJm
bG93IGUuZy4gc3Ryb2tlLCBsZXR0ZXIgc3BhY2luZy4KKworICAgICAgICAqIGxheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRlcjo6Y29u
c3RydWN0RGlzcGxheUxpbmVzIGNvbnN0KToKKwogMjAyMC0xMS0wNyAgUm9iIEJ1aXMgIDxyYnVp
c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeCB3YXJuaW5nIHJlbGF0ZWQgdG8gdW5zaWduZWQg
Pj0wIEFTU0VSVApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDZiNGU5
N2JkNDRlZTRkMDM0MDU0OGU4MzgyNTU3MmY3ZGJmNWJlYmIuLmVmNDIzNmUzZWFkY2Q5MTMyOWI0
NGIyZTNmYTE2MGIwZmQxYTYwNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5j
cHAKQEAgLTQ5Myw4ICs0OTMsNyBAQCBJbmxpbmVSZWN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0
Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVpbAogICAgIHVwZGF0
ZUJveEdlb21ldHJ5KCk7CiAKICAgICBhdXRvIGNvbnN0cnVjdExpbmVHZW9tZXRyeSA9IFsmXSB7
Ci0gICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxSZWN0ID0gSW5saW5lUmVjdCB7IGxpbmVMb2dp
Y2FsUmVjdC50b3AoKSwgbGluZUxvZ2ljYWxSZWN0LmxlZnQoKSwgbGluZUJveC5sb2dpY2FsV2lk
dGgoKSwgbGluZUJveC5sb2dpY2FsSGVpZ2h0KCkgfTsKLSAgICAgICAgZm9ybWF0dGluZ1N0YXRl
LmFkZExpbmUoeyBsaW5lTG9naWNhbFJlY3QsIGxpbmVCb3hMb2dpY2FsUmVjdCwgbGluZUJveC5h
bGlnbm1lbnRCYXNlbGluZSgpLCBsaW5lQm94Lmhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQoKS52
YWx1ZU9yKElubGluZUxheW91dFVuaXQgeyB9KSB9KTsKKyAgICAgICAgZm9ybWF0dGluZ1N0YXRl
LmFkZExpbmUoeyBsaW5lTG9naWNhbFJlY3QsIGxpbmVCb3gubG9naWNhbFNpemUoKSwgbGluZUJv
eC5hbGlnbm1lbnRCYXNlbGluZSgpLCBsaW5lQm94Lmhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQo
KS52YWx1ZU9yKElubGluZUxheW91dFVuaXQgeyB9KSB9KTsKICAgICB9OwogICAgIGNvbnN0cnVj
dExpbmVHZW9tZXRyeSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lR2VvbWV0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVHZW9tZXRyeS5oCmluZGV4IDdlY2Y0ZTFlOGQ3
ZDcyMWJlZmU2MDhlZGFjMmM0ODQwMGUxMDIwOTQuLjM4YzEzNDc0NWUyZGRhZjNhNmU2OTEyZjIz
OTA0MTkzYzE5NzQzMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUxpbmVHZW9tZXRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVHZW9tZXRyeS5oCkBAIC0zNSw3ICszNSw3IEBA
IG5hbWVzcGFjZSBMYXlvdXQgewogY2xhc3MgSW5saW5lTGluZUdlb21ldHJ5IHsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBJbmxpbmVMaW5lR2VvbWV0cnkoY29u
c3QgSW5saW5lUmVjdCYgbGluZUxvZ2ljYWxSZWN0LCBjb25zdCBJbmxpbmVSZWN0JiBsaW5lQm94
TG9naWNhbFJlY3QsIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5saW5lTGF5
b3V0VW5pdCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KTsKKyAgICBJbmxpbmVMaW5lR2VvbWV0
cnkoY29uc3QgSW5saW5lUmVjdCYgbGluZUxvZ2ljYWxSZWN0LCBjb25zdCBJbmxpbmVMYXlvdXRT
aXplJiBsaW5lQm94TG9naWNhbFNpemUsIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRCYXNlbGlu
ZSwgSW5saW5lTGF5b3V0VW5pdCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KTsKIAogICAgIElu
bGluZUxheW91dFVuaXQgbG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsUmVjdCgp
LmxlZnQoKTsgfTsKICAgICBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxSaWdodCgpIGNvbnN0IHsg
cmV0dXJuIGxvZ2ljYWxSZWN0KCkucmlnaHQoKTsgfTsKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGlj
OgogICAgIElubGluZUxheW91dFVuaXQgbG9naWNhbEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGxv
Z2ljYWxSZWN0KCkuaGVpZ2h0KCk7IH07CiAKICAgICBjb25zdCBJbmxpbmVSZWN0JiBsb2dpY2Fs
UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFJlY3Q7IH0KLSAgICBjb25zdCBJbmxpbmVS
ZWN0JiBsaW5lQm94TG9naWNhbFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2xpbmVCb3hMb2dpY2Fs
UmVjdDsgfQorICAgIGNvbnN0IElubGluZUxheW91dFNpemUmIGxpbmVCb3hMb2dpY2FsU2l6ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbGluZUJveExvZ2ljYWxTaXplOyB9CiAKICAgICBJbmxpbmVMYXlv
dXRVbml0IGJhc2VsaW5lKCkgY29uc3QgeyByZXR1cm4gbV9hbGlnbWVudEJhc2VsaW5lOyB9CiAg
ICAgSW5saW5lTGF5b3V0VW5pdCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KCkgY29uc3QgeyBy
ZXR1cm4gbV9ob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0OyB9CkBAIC01NiwxNCArNTYsMTQgQEAg
cHVibGljOgogCiBwcml2YXRlOgogICAgIElubGluZVJlY3QgbV9sb2dpY2FsUmVjdDsKLSAgICBJ
bmxpbmVSZWN0IG1fbGluZUJveExvZ2ljYWxSZWN0OworICAgIElubGluZUxheW91dFNpemUgbV9s
aW5lQm94TG9naWNhbFNpemU7CiAgICAgSW5saW5lTGF5b3V0VW5pdCBtX2FsaWdtZW50QmFzZWxp
bmUgeyAwIH07CiAgICAgSW5saW5lTGF5b3V0VW5pdCBtX2hvcml6b250YWxBbGlnbm1lbnRPZmZz
ZXQgeyAwIH07CiB9OwogCi1pbmxpbmUgSW5saW5lTGluZUdlb21ldHJ5OjpJbmxpbmVMaW5lR2Vv
bWV0cnkoY29uc3QgSW5saW5lUmVjdCYgbGluZUxvZ2ljYWxSZWN0LCBjb25zdCBJbmxpbmVSZWN0
JiBsaW5lQm94TG9naWNhbFJlY3QsIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwg
SW5saW5lTGF5b3V0VW5pdCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KQoraW5saW5lIElubGlu
ZUxpbmVHZW9tZXRyeTo6SW5saW5lTGluZUdlb21ldHJ5KGNvbnN0IElubGluZVJlY3QmIGxpbmVM
b2dpY2FsUmVjdCwgY29uc3QgSW5saW5lTGF5b3V0U2l6ZSYgbGluZUJveExvZ2ljYWxTaXplLCBJ
bmxpbmVMYXlvdXRVbml0IGFsaWdtZW50QmFzZWxpbmUsIElubGluZUxheW91dFVuaXQgaG9yaXpv
bnRhbEFsaWdubWVudE9mZnNldCkKICAgICA6IG1fbG9naWNhbFJlY3QobGluZUxvZ2ljYWxSZWN0
KQotICAgICwgbV9saW5lQm94TG9naWNhbFJlY3QobGluZUJveExvZ2ljYWxSZWN0KQorICAgICwg
bV9saW5lQm94TG9naWNhbFNpemUobGluZUJveExvZ2ljYWxTaXplKQogICAgICwgbV9hbGlnbWVu
dEJhc2VsaW5lKGFsaWdtZW50QmFzZWxpbmUpCiAgICAgLCBtX2hvcml6b250YWxBbGlnbm1lbnRP
ZmZzZXQoaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRC
dWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAppbmRleCA0OGVmZTQ0ZWVkMmE4YzcxMDBl
ZjBhZmU3ZGJjZWJkNjVlNzAyN2YyLi5lNGVjMzg4NWJiODgxOWU0NzhhM2QyMTA3NDY3NGE1YmY4
OGY1Y2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxk
ZXIuY3BwCkBAIC05OSw3ICs5OSw3IEBAIElubGluZUNvbnRlbnRCdWlsZGVyOjpMaW5lTGV2ZWxW
aXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNMaXN0IElubGluZUNvbnRlbnRCdWlsZGVyCiAgICAgICAg
IGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhdLm5lZWRzSW50ZWdy
YWxQb3NpdGlvbiA9IGxpbmVOZWVkc0xlZ2FjeUludGVncmFsVmVydGljYWxQb3NpdGlvbigpOwog
ICAgICAgICBpZiAoc2hvdWxkQ2hlY2tIb3Jpem9udGFsT3ZlcmZsb3dGb3JDb250ZW50UmVwbGFj
ZW1lbnQpIHsKICAgICAgICAgICAgIGF1dG8mIGxpbmUgPSBsaW5lc1tsaW5lSW5kZXhdOwotICAg
ICAgICAgICAgYXV0byBvdmVyZmxvd1dpZHRoID0gbGluZU92ZXJmbG93V2lkdGgobV9ibG9ja0Zs
b3csIGxpbmUubG9naWNhbFdpZHRoKCksIGxpbmUubGluZUJveExvZ2ljYWxSZWN0KCkud2lkdGgo
KSk7CisgICAgICAgICAgICBhdXRvIG92ZXJmbG93V2lkdGggPSBsaW5lT3ZlcmZsb3dXaWR0aCht
X2Jsb2NrRmxvdywgbGluZS5sb2dpY2FsV2lkdGgoKSwgbGluZS5saW5lQm94TG9naWNhbFNpemUo
KS53aWR0aCgpKTsKICAgICAgICAgICAgIGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVu
c1tsaW5lSW5kZXhdLm5lZWRzVHJhaWxpbmdDb250ZW50UmVwbGFjZW1lbnQgPSBvdmVyZmxvd1dp
ZHRoID4gbGluZS5sb2dpY2FsV2lkdGgoKTsKICAgICAgICAgfQogICAgIH0KQEAgLTEzNCw4ICsx
MzQsNyBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjb25zdHJ1Y3REaXNwbGF5TGluZVJ1
bnMoSW5saW5lQ29udGVudCYgaW5saW5lQ29udGVudAogICAgICAgICAvLyBGSVhNRTogU2hvdWxk
bid0IHdlIGp1c3QgbGVhdmUgdGhlbSBiZSByZWxhdGl2ZSB0byB0aGUgbGluZSBib3g/CiAgICAg
ICAgIGF1dG8gbGluZUluZGV4ID0gbGluZVJ1bi5saW5lSW5kZXgoKTsKICAgICAgICAgYXV0byYg
bGluZSA9IGxpbmVzW2xpbmVJbmRleF07Ci0gICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxSZWN0
ID0gbGluZS5saW5lQm94TG9naWNhbFJlY3QoKTsKLSAgICAgICAgcnVuUmVjdC5tb3ZlQnkoeyBs
aW5lQm94TG9naWNhbFJlY3QubGVmdCgpLCBsaW5lQm94TG9naWNhbFJlY3QudG9wKCkgfSk7Cisg
ICAgICAgIHJ1blJlY3QubW92ZUJ5KHsgbGluZS5sb2dpY2FsTGVmdCgpLCBsaW5lLmxvZ2ljYWxU
b3AoKSB9KTsKICAgICAgICAgaWYgKGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc1ts
aW5lSW5kZXhdLm5lZWRzSW50ZWdyYWxQb3NpdGlvbikKICAgICAgICAgICAgIHJ1blJlY3Quc2V0
WShyb3VuZFRvSW50KHJ1blJlY3QueSgpKSk7CiAKQEAgLTE4MSwxMSArMTgwLDkgQEAgdm9pZCBJ
bmxpbmVDb250ZW50QnVpbGRlcjo6Y29uc3RydWN0RGlzcGxheUxpbmVzKElubGluZUNvbnRlbnQm
IGlubGluZUNvbnRlbnQsIGMKICAgICBzaXplX3QgcnVuSW5kZXggPSAwOwogICAgIGZvciAoc2l6
ZV90IGxpbmVJbmRleCA9IDA7IGxpbmVJbmRleCA8IGxpbmVzLnNpemUoKTsgKytsaW5lSW5kZXgp
IHsKICAgICAgICAgYXV0byYgbGluZSA9IGxpbmVzW2xpbmVJbmRleF07Ci0gICAgICAgIGF1dG8g
bGluZUJveExvZ2ljYWxSZWN0ID0gbGluZS5saW5lQm94TG9naWNhbFJlY3QoKTsKKyAgICAgICAg
YXV0byBsaW5lQm94TG9naWNhbFNpemUgPSBsaW5lLmxpbmVCb3hMb2dpY2FsU2l6ZSgpOwogICAg
ICAgICAvLyBGSVhNRTogVGhpcyBpcyB3aGVyZSB0aGUgbG9naWNhbCB0byBwaHlzaWNhbCB0cmFu
c2xhdGUgc2hvdWxkIGhhcHBlbi4KLSAgICAgICAgYXV0byBsaW5lQm94TG9naWNhbEJvdHRvbSA9
IChsaW5lQm94TG9naWNhbFJlY3QudG9wKCkgLSBsaW5lLmxvZ2ljYWxUb3AoKSkgKyBsaW5lQm94
TG9naWNhbFJlY3QuaGVpZ2h0KCk7Ci0gICAgICAgIGF1dG8gb3ZlcmZsb3dIZWlnaHQgPSBzdGQ6
Om1heChsaW5lLmxvZ2ljYWxIZWlnaHQoKSwgbGluZUJveExvZ2ljYWxCb3R0b20pOwotICAgICAg
ICBhdXRvIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QgPSBGbG9hdFJlY3QgeyBsaW5lLmxvZ2ljYWxM
ZWZ0KCksIGxpbmUubG9naWNhbFRvcCgpLCBsaW5lT3ZlcmZsb3dXaWR0aChtX2Jsb2NrRmxvdywg
bGluZS5sb2dpY2FsV2lkdGgoKSwgbGluZUJveExvZ2ljYWxSZWN0LndpZHRoKCkpLCBvdmVyZmxv
d0hlaWdodCB9OworICAgICAgICBhdXRvIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QgPSBGbG9hdFJl
Y3QgeyBsaW5lLmxvZ2ljYWxMZWZ0KCksIGxpbmUubG9naWNhbFRvcCgpLCBsaW5lT3ZlcmZsb3dX
aWR0aChtX2Jsb2NrRmxvdywgbGluZS5sb2dpY2FsV2lkdGgoKSwgbGluZUJveExvZ2ljYWxTaXpl
LndpZHRoKCkpLCBsaW5lLmxvZ2ljYWxIZWlnaHQoKSB9OwogCiAgICAgICAgIGF1dG8gZmlyc3RS
dW5JbmRleCA9IHJ1bkluZGV4OwogICAgICAgICBhdXRvIGxpbmVJbmtPdmVyZmxvd1JlY3QgPSBz
Y3JvbGxhYmxlT3ZlcmZsb3dSZWN0OwpAQCAtMTkzLDEyICsxOTAsMTAgQEAgdm9pZCBJbmxpbmVD
b250ZW50QnVpbGRlcjo6Y29uc3RydWN0RGlzcGxheUxpbmVzKElubGluZUNvbnRlbnQmIGlubGlu
ZUNvbnRlbnQsIGMKICAgICAgICAgICAgIGxpbmVJbmtPdmVyZmxvd1JlY3QudW5pdGUocnVuc1ty
dW5JbmRleCsrXS5pbmtPdmVyZmxvdygpKTsKICAgICAgICAgYXV0byBydW5Db3VudCA9IHJ1bklu
ZGV4IC0gZmlyc3RSdW5JbmRleDsKICAgICAgICAgYXV0byBsaW5lUmVjdCA9IEZsb2F0UmVjdCB7
IGxpbmUubG9naWNhbFJlY3QoKSB9OwotICAgICAgICAvLyBQYWludGluZyBjb2RlIChzcGVjaWZp
Y2FsbHkgVGV4dFJ1bidzIHhQb3MpIG5lZWRzIHRoZSBsaW5lIGJveCBvZmZzZXQgdG8gYmUgYWJs
ZSB0byBjb21wdXRlIHRhYiBwb3NpdGlvbnMuCi0gICAgICAgIGxpbmVSZWN0LnNldFgobGluZUJv
eExvZ2ljYWxSZWN0LmxlZnQoKSk7Ci0gICAgICAgIGF1dG8gZW5jbG9zaW5nTGluZVJlY3QgPSBb
Jl0geworICAgICAgICBhdXRvIGVuY2xvc2luZ0NvbnRlbnRSZWN0ID0gWyZdIHsKICAgICAgICAg
ICAgIC8vIExldCdzICh2ZXJ0aWNhbGx5KWVuY2xvc2UgYWxsIHRoZSBpbmxpbmUgbGV2ZWwgYm94
ZXMuCiAgICAgICAgICAgICAvLyBUaGlzIG1vc3RseSBtYXRjaGVzICdsaW5lUmVjdCcsIHVubGVz
cyBsaW5lLWhlaWdodCB0cmlnZ2VycyBsaW5lIGJveCBvdmVyZmxvdyAobm90IHRvIGJlIGNvbmZ1
c2VkIHdpdGggaW5rIG9yIHNjcm9sbCBvdmVyZmxvdykuCi0gICAgICAgICAgICBhdXRvIGVuY2xv
c2luZ1JlY3QgPSBsaW5lUmVjdDsKKyAgICAgICAgICAgIGF1dG8gZW5jbG9zaW5nUmVjdCA9IEZs
b2F0UmVjdCB7IGxpbmVSZWN0LmxvY2F0aW9uKCksIGxpbmVCb3hMb2dpY2FsU2l6ZSB9OwogICAg
ICAgICAgICAgYXV0byYgbGluZUJveCA9IGxpbmVCb3hlc1tsaW5lSW5kZXhdOwogICAgICAgICAg
ICAgZm9yIChhdXRvJiBpbmxpbmVMZXZlbEJveCA6IGxpbmVCb3guaW5saW5lTGV2ZWxCb3hMaXN0
KCkpIHsKICAgICAgICAgICAgICAgICBhdXRvIGlubGluZUxldmVsQm94TG9naWNhbFJlY3QgPSBs
aW5lQm94LmxvZ2ljYWxSZWN0Rm9ySW5saW5lTGV2ZWxCb3goaW5saW5lTGV2ZWxCb3gtPmxheW91
dEJveCgpKTsKQEAgLTIxMSw5ICsyMDYsOSBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpj
b25zdHJ1Y3REaXNwbGF5TGluZXMoSW5saW5lQ29udGVudCYgaW5saW5lQ29udGVudCwgYwogICAg
ICAgICB9KCk7CiAgICAgICAgIGlmIChsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNb
bGluZUluZGV4XS5uZWVkc0ludGVncmFsUG9zaXRpb24pIHsKICAgICAgICAgICAgIGxpbmVSZWN0
LnNldFkocm91bmRUb0ludChsaW5lUmVjdC55KCkpKTsKLSAgICAgICAgICAgIGVuY2xvc2luZ0xp
bmVSZWN0LnNldFkocm91bmRUb0ludChlbmNsb3NpbmdMaW5lUmVjdC55KCkpKTsKKyAgICAgICAg
ICAgIGVuY2xvc2luZ0NvbnRlbnRSZWN0LnNldFkocm91bmRUb0ludChlbmNsb3NpbmdDb250ZW50
UmVjdC55KCkpKTsKICAgICAgICAgfQotICAgICAgICBpbmxpbmVDb250ZW50LmxpbmVzLmFwcGVu
ZCh7IGZpcnN0UnVuSW5kZXgsIHJ1bkNvdW50LCBsaW5lUmVjdCwgZW5jbG9zaW5nTGluZVJlY3Qs
IHNjcm9sbGFibGVPdmVyZmxvd1JlY3QsIGxpbmVJbmtPdmVyZmxvd1JlY3QsIGxpbmUuYmFzZWxp
bmUoKSwgbGluZS5ob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KCkgfSk7CisgICAgICAgIGlubGlu
ZUNvbnRlbnQubGluZXMuYXBwZW5kKHsgZmlyc3RSdW5JbmRleCwgcnVuQ291bnQsIGxpbmVSZWN0
LCBsaW5lQm94TG9naWNhbFNpemUsIGVuY2xvc2luZ0NvbnRlbnRSZWN0LCBzY3JvbGxhYmxlT3Zl
cmZsb3dSZWN0LCBsaW5lSW5rT3ZlcmZsb3dSZWN0LCBsaW5lLmJhc2VsaW5lKCksIGxpbmUuaG9y
aXpvbnRhbEFsaWdubWVudE9mZnNldCgpIH0pOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZS5oIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZS5o
CmluZGV4IDllOGQ4OWYzY2M0ZDMwMzkxZjYwNzAwZDg5NzJlYjg4ZmNkOWVjYzMuLjUyZDk3ODVi
MzZmMDZlMzA4ZDRiNzBmZjE4YjVkOGM5N2U0ZDMzNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lLmgKQEAg
LTM1LDExICszNSwxMiBAQCBuYW1lc3BhY2UgTGF5b3V0SW50ZWdyYXRpb24gewogY2xhc3MgTGlu
ZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgTGluZShzaXpl
X3QgZmlyc3RSdW5JbmRleCwgc2l6ZV90IHJ1bkNvdW50LCBjb25zdCBGbG9hdFJlY3QmIHJlY3Qs
IGNvbnN0IEZsb2F0UmVjdCYgZW5jbG9zaW5nUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzY3JvbGxh
YmxlT3ZlcmZsb3csIGNvbnN0IEZsb2F0UmVjdCYgaW5rT3ZlcmZsb3csIGZsb2F0IGJhc2VsaW5l
LCBmbG9hdCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KQorICAgIExpbmUoc2l6ZV90IGZpcnN0
UnVuSW5kZXgsIHNpemVfdCBydW5Db3VudCwgY29uc3QgRmxvYXRSZWN0JiBsaW5lUmVjdCwgY29u
c3QgRmxvYXRTaXplJiBsaW5lQm94U2l6ZSwgY29uc3QgRmxvYXRSZWN0JiBlbmNsb3NpbmdDb250
ZW50UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzY3JvbGxhYmxlT3ZlcmZsb3csIGNvbnN0IEZsb2F0
UmVjdCYgaW5rT3ZlcmZsb3csIGZsb2F0IGJhc2VsaW5lLCBmbG9hdCBob3Jpem9udGFsQWxpZ25t
ZW50T2Zmc2V0KQogICAgICAgICA6IG1fZmlyc3RSdW5JbmRleChmaXJzdFJ1bkluZGV4KQogICAg
ICAgICAsIG1fcnVuQ291bnQocnVuQ291bnQpCi0gICAgICAgICwgbV9yZWN0KHJlY3QpCi0gICAg
ICAgICwgbV9lbmNsb3NpbmdSZWN0KGVuY2xvc2luZ1JlY3QpCisgICAgICAgICwgbV9saW5lUmVj
dChsaW5lUmVjdCkKKyAgICAgICAgLCBtX2xpbmVCb3hTaXplKGxpbmVCb3hTaXplKQorICAgICAg
ICAsIG1fZW5jbG9zaW5nQ29udGVudFJlY3QoZW5jbG9zaW5nQ29udGVudFJlY3QpCiAgICAgICAg
ICwgbV9zY3JvbGxhYmxlT3ZlcmZsb3coc2Nyb2xsYWJsZU92ZXJmbG93KQogICAgICAgICAsIG1f
aW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cpCiAgICAgICAgICwgbV9iYXNlbGluZShiYXNlbGluZSkK
QEAgLTQ5LDggKzUwLDkgQEAgcHVibGljOgogCiAgICAgc2l6ZV90IGZpcnN0UnVuSW5kZXgoKSBj
b25zdCB7IHJldHVybiBtX2ZpcnN0UnVuSW5kZXg7IH0KICAgICBzaXplX3QgcnVuQ291bnQoKSBj
b25zdCB7IHJldHVybiBtX3J1bkNvdW50OyB9Ci0gICAgY29uc3QgRmxvYXRSZWN0JiByZWN0KCkg
Y29uc3QgeyByZXR1cm4gbV9yZWN0OyB9Ci0gICAgY29uc3QgRmxvYXRSZWN0JiBlbmNsb3NpbmdS
ZWN0KCkgY29uc3QgeyByZXR1cm4gbV9lbmNsb3NpbmdSZWN0OyB9CisgICAgY29uc3QgRmxvYXRS
ZWN0JiByZWN0KCkgY29uc3QgeyByZXR1cm4gbV9saW5lUmVjdDsgfQorICAgIGNvbnN0IEZsb2F0
U2l6ZSYgbGluZUJveFNpemUoKSBjb25zdCB7IHJldHVybiBtX2xpbmVCb3hTaXplOyB9CisgICAg
Y29uc3QgRmxvYXRSZWN0JiBlbmNsb3NpbmdDb250ZW50UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZW5jbG9zaW5nQ29udGVudFJlY3Q7IH0KICAgICBjb25zdCBGbG9hdFJlY3QmIHNjcm9sbGFibGVP
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZU92ZXJmbG93OyB9CiAgICAgY29u
c3QgRmxvYXRSZWN0JiBpbmtPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1faW5rT3ZlcmZsb3c7
IH0KICAgICBmbG9hdCBiYXNlbGluZSgpIGNvbnN0IHsgcmV0dXJuIG1fYmFzZWxpbmU7IH0KQEAg
LTU5LDkgKzYxLDEzIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fZmlyc3RSdW5J
bmRleCB7IDAgfTsKICAgICBzaXplX3QgbV9ydW5Db3VudCB7IDAgfTsKLSAgICBGbG9hdFJlY3Qg
bV9yZWN0OwotICAgIC8vIEVuY2xvc2luZyByZWN0IGZ1bGx5IGVuY2xvc2VzIGFsbCB0aGUgaW5s
aW5lIGxldmVsIGJveGVzIG9uIHRoZSBsaW5lLgotICAgIEZsb2F0UmVjdCBtX2VuY2xvc2luZ1Jl
Y3Q7CisgICAgLy8gTGluZSBpcyBhbHdheXMgYXMgdGFsbCBhcyB0aGUgbGluZSBib3ggaXMuIEhv
d2V2ZXIgdGhleSBtYXkgZGlmZmVyIGluIHdpZHRoLgorICAgIC8vIFdoaWxlIGxpbmUgYm94IGVu
Y2xvc2VzIGFsbCB0aGUgaW5saW5lIGxldmVsIGJveGVzIG9uIHRoZSBsaW5lIGhvcml6b250YWxs
eSwgdGhlIGxpbmUgaXRzZWxmIG1heSBiZSBzaG9ydGVyIChhbmQgdHJpZ2dlciBob3Jpem9udGFs
IG92ZXJmbG93KS4KKyAgICAvLyBFbmNsb3NpbmcgY29udGVudCByZWN0IGluY2x1ZGVzIGFsbCBp
bmxpbmUgbGV2ZWwgYm94ZXMgYm90aCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHkuIEluIGNl
cnRhaW4gY2FzZXMgKHNlZSBsaW5lLWhlaWdodCBwcm9wZXJ0eSkKKyAgICAvLyB0aGUgbGluZSAo
YW5kIHRoZSBsaW5lIGJveCkgaXMgbm90IGFzIHRhbGwgYXMgdGhlIGlubGluZSBsZXZlbCBib3hl
cyBvbiB0aGUgbGluZS4KKyAgICBGbG9hdFJlY3QgbV9saW5lUmVjdDsKKyAgICBGbG9hdFNpemUg
bV9saW5lQm94U2l6ZTsKKyAgICBGbG9hdFJlY3QgbV9lbmNsb3NpbmdDb250ZW50UmVjdDsKICAg
ICBGbG9hdFJlY3QgbV9zY3JvbGxhYmxlT3ZlcmZsb3c7CiAgICAgRmxvYXRSZWN0IG1faW5rT3Zl
cmZsb3c7CiAgICAgZmxvYXQgbV9iYXNlbGluZSB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1v
ZGVyblBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaAppbmRleCA4N2ExNjc4YzI2ZTQyOTU4ZDQ2
Njc4ZTgwMGQ0YTRkNzYwZmM2ZTFmLi4zOWY2ZjZlZWFkZmQ1NTA0MjI1ZjljOGY2NGY2ZTljMGM5
OTAxMGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTW9kZXJu
UGF0aC5oCkBAIC00OSw4ICs0OSw4IEBAIHB1YmxpYzoKICAgICBMaW5lSXRlcmF0b3JNb2Rlcm5Q
YXRoJiBvcGVyYXRvcj0oY29uc3QgTGluZUl0ZXJhdG9yTW9kZXJuUGF0aCYpID0gZGVmYXVsdDsK
ICAgICBMaW5lSXRlcmF0b3JNb2Rlcm5QYXRoJiBvcGVyYXRvcj0oTGluZUl0ZXJhdG9yTW9kZXJu
UGF0aCYmKSA9IGRlZmF1bHQ7CiAKLSAgICBMYXlvdXRVbml0IHRvcCgpIGNvbnN0IHsgcmV0dXJu
IExheW91dFVuaXQ6OmZyb21GbG9hdFJvdW5kKGxpbmUoKS5lbmNsb3NpbmdSZWN0KCkueSgpKTsg
fQotICAgIExheW91dFVuaXQgYm90dG9tKCkgY29uc3QgeyByZXR1cm4gTGF5b3V0VW5pdDo6ZnJv
bUZsb2F0Um91bmQobGluZSgpLmVuY2xvc2luZ1JlY3QoKS5tYXhZKCkpOyB9CisgICAgTGF5b3V0
VW5pdCB0b3AoKSBjb25zdCB7IHJldHVybiBMYXlvdXRVbml0Ojpmcm9tRmxvYXRSb3VuZChsaW5l
KCkuZW5jbG9zaW5nQ29udGVudFJlY3QoKS55KCkpOyB9CisgICAgTGF5b3V0VW5pdCBib3R0b20o
KSBjb25zdCB7IHJldHVybiBMYXlvdXRVbml0Ojpmcm9tRmxvYXRSb3VuZChsaW5lKCkuZW5jbG9z
aW5nQ29udGVudFJlY3QoKS5tYXhZKCkpOyB9CiAgICAgTGF5b3V0VW5pdCBsaW5lQm94VG9wKCkg
Y29uc3QgeyByZXR1cm4gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Um91bmQobGluZSgpLnJlY3QoKS55
KCkpOyB9CiAgICAgTGF5b3V0VW5pdCBsaW5lQm94Qm90dG9tKCkgY29uc3QgeyByZXR1cm4gTGF5
b3V0VW5pdDo6ZnJvbUZsb2F0Um91bmQobGluZSgpLnJlY3QoKS5tYXhZKCkpOyB9CiAKQEAgLTU5
LDkgKzU5LDggQEAgcHVibGljOgogICAgIExheW91dFVuaXQgc2VsZWN0aW9uVG9wRm9ySGl0VGVz
dGluZygpIGNvbnN0IHsgcmV0dXJuIHRvcCgpOyB9CiAgICAgTGF5b3V0VW5pdCBzZWxlY3Rpb25C
b3R0b20oKSBjb25zdCB7IHJldHVybiBib3R0b20oKTsgfQogCi0gICAgLy8gRklYTUU6IFdoYXQg
c2hvdWxkIHRoZXNlIGJlPwotICAgIGZsb2F0IGxvZ2ljYWxMZWZ0KCkgY29uc3QgeyByZXR1cm4g
bGluZSgpLnNjcm9sbGFibGVPdmVyZmxvdygpLngoKTsgfQotICAgIGZsb2F0IGxvZ2ljYWxSaWdo
dCgpIGNvbnN0IHsgcmV0dXJuIGxpbmUoKS5zY3JvbGxhYmxlT3ZlcmZsb3coKS5tYXhYKCk7IH0K
KyAgICBmbG9hdCBsb2dpY2FsTGVmdCgpIGNvbnN0IHsgcmV0dXJuIGxpbmUoKS5yZWN0KCkueCgp
OyB9CisgICAgZmxvYXQgbG9naWNhbFJpZ2h0KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbExlZnQo
KSArIGxpbmUoKS5saW5lQm94U2l6ZSgpLndpZHRoKCk7IH0KICAgICBmbG9hdCB5KCkgY29uc3Qg
eyByZXR1cm4gbGluZUJveFRvcCgpOyB9CiAgICAgZmxvYXQgbG9naWNhbEhlaWdodCgpIGNvbnN0
IHsgcmV0dXJuIGxpbmUoKS5yZWN0KCkuaGVpZ2h0KCk7IH0KICAgICBib29sIGlzSG9yaXpvbnRh
bCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5j
cHAKaW5kZXggNmY5YTA5OTZiOWM5MjVjYzY4YjJiZTIyYzExMmU0NWEzYTA1Zjk1Yy4uZTAwNWNi
NjNlZGM2NWY3N2I4M2E3OTgxYmU0OGRkOThhNmI4OTljYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
UGFnaW5hdGlvbi5jcHAKQEAgLTEzMCw2ICsxMzAsNyBAQCBzdGF0aWMgUmVmPElubGluZUNvbnRl
bnQ+IG1ha2VBZGp1c3RlZENvbnRlbnQoY29uc3QgSW5saW5lQ29udGVudCYgaW5saW5lQ29udGVu
dAogICAgICAgICAgICAgbGluZS5maXJzdFJ1bkluZGV4KCksCiAgICAgICAgICAgICBsaW5lLnJ1
bkNvdW50KCksCiAgICAgICAgICAgICBtb3ZlVmVydGljYWxseShsaW5lLnJlY3QoKSwgb2Zmc2V0
KSwKKyAgICAgICAgICAgIGxpbmUucmVjdCgpLnNpemUoKSwKICAgICAgICAgICAgIG1vdmVWZXJ0
aWNhbGx5KGxpbmUucmVjdCgpLCBvZmZzZXQpLAogICAgICAgICAgICAgbW92ZVZlcnRpY2FsbHko
bGluZS5zY3JvbGxhYmxlT3ZlcmZsb3coKSwgb2Zmc2V0KSwKICAgICAgICAgICAgIG1vdmVWZXJ0
aWNhbGx5KGxpbmUuaW5rT3ZlcmZsb3coKSwgb2Zmc2V0KSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9k
ZXJuUGF0aC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmgKaW5kZXggZDE5N2U1NmRlMDQ0YWQ4ZGU3YWQ4
ZmMzZWNhZjA5YTM1NmIwYjhhNy4uOGFhM2MzYmNmNDU3NjM2MGFiOTc5ZWVkZDQwN2UyN2VmZTM5
ZTlhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRo
LmgKQEAgLTExNyw4ICsxMTcsOCBAQCBwdWJsaWM6CiAgICAgICAgIGF1dG8gbG9naWNhbFdpZHRo
ID0gbG9naWNhbFJpZ2h0IC0gbG9naWNhbExlZnQ7CiAKICAgICAgICAgLy8gRklYTUU6IFRoZXNl
IHNob3VsZCBzaGFyZSBpbXBsZW1lbnRhdGlvbiB3aXRoIHRoZSBsaW5lIGl0ZXJhdG9yLgotICAg
ICAgICBhdXRvIHNlbGVjdGlvblRvcCA9IExheW91dFVuaXQ6OmZyb21GbG9hdFJvdW5kKGxpbmUo
KS5lbmNsb3NpbmdSZWN0KCkueSgpKTsKLSAgICAgICAgYXV0byBzZWxlY3Rpb25IZWlnaHQgPSBM
YXlvdXRVbml0Ojpmcm9tRmxvYXRSb3VuZChsaW5lKCkuZW5jbG9zaW5nUmVjdCgpLmhlaWdodCgp
KTsKKyAgICAgICAgYXV0byBzZWxlY3Rpb25Ub3AgPSBMYXlvdXRVbml0Ojpmcm9tRmxvYXRSb3Vu
ZChsaW5lKCkuZW5jbG9zaW5nQ29udGVudFJlY3QoKS55KCkpOworICAgICAgICBhdXRvIHNlbGVj
dGlvbkhlaWdodCA9IExheW91dFVuaXQ6OmZyb21GbG9hdFJvdW5kKGxpbmUoKS5lbmNsb3NpbmdD
b250ZW50UmVjdCgpLmhlaWdodCgpKTsKIAogICAgICAgICBMYXlvdXRSZWN0IHNlbGVjdGlvblJl
Y3QgeyBsb2dpY2FsTGVmdCwgc2VsZWN0aW9uVG9wLCBsb2dpY2FsV2lkdGgsIHNlbGVjdGlvbkhl
aWdodCB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413542</attachid>
            <date>2020-11-08 10:40:04 -0800</date>
            <delta_ts>2020-11-08 12:06:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218690-20201108104003.patch</filename>
            <type>text/plain</type>
            <size>16755</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQyNzM3NDVlZDFjYzEz
NjhiMDg2YWUwNDUwNzFlNGY0YzQwOGM2MC4uZjMyZTE3OTg2NzA0N2NhNTEwYjNiODlkMzI0YWFi
M2E2MTgxMmZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTExLTA3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25d
IENsZWFudXAgTGF5b3V0SW50ZWdyYXRpb246OkxpbmUgaW50ZXJmYWNlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg2OTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBEYW5pZWwgQmF0ZXMgYW5kIEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIExheW91
dEludGVncmF0aW9uOjpMaW5lIGhhcyB0aGUgZm9sbG93aW5nIHNldCBvZiBnZW9tZXRyaWVzOgor
ICAgICAgICAgIExpbmUgcmVjdCBhbmQgbGluZSBib3ggc2l6ZToKKyAgICAgICAgICAgIExpbmUg
aXMgYWx3YXlzIGFzIHRhbGwgYXMgdGhlIGxpbmUgYm94IGlzLiBIb3dldmVyIHRoZXkgbWF5IGRp
ZmZlciBpbiB3aWR0aC4KKyAgICAgICAgICAgIFdoaWxlIGxpbmUgYm94IGVuY2xvc2VzIGFsbCB0
aGUgaW5saW5lIGxldmVsIGJveGVzIG9uIHRoZSBsaW5lIGhvcml6b250YWxseSwKKyAgICAgICAg
ICAgIHRoZSBsaW5lIGl0c2VsZiBtYXkgYmUgc2hvcnRlciAoYW5kIHRyaWdnZXIgaG9yaXpvbnRh
bCBvdmVyZmxvdykuCisKKyAgICAgICAgICBFbmNsb3NpbmcgY29udGVudCByZWN0OgorICAgICAg
ICAgICAgSXQgZW5jbG9zZXMgYWxsIGlubGluZSBsZXZlbCBib3hlcyBib3RoIHZlcnRpY2FsbHkg
YW5kIGhvcml6b250YWxseS4gSW4gY2VydGFpbiBjYXNlcyAoc2VlIGxpbmUtaGVpZ2h0IHByb3Bl
cnR5KQorICAgICAgICAgICAgdGhlIGxpbmUgKGFuZCB0aGUgbGluZSBib3gpIGlzIG5vdCBhcyB0
YWxsIGFzIHRoZSBpbmxpbmUgbGV2ZWwgYm94ZXMgb24gdGhlIGxpbmUuCisKKyAgICAgICAgICBT
Y3JvbGxhYmxlIG92ZXJmbG93IHJlY3Q6CisgICAgICAgICAgICBJdCdzIG1haW5seSB0aGUgbGlu
ZSBib3ggKGVuY2xvc2VzIHRoZSBpbmxpbmUgbGV2ZWwgYm94ZXMgaG9yaXpvbnRhbGx5KSB3aXRo
IHNvbWUgZW5kIHBhZGRpbmcgYWRqdXN0bWVudCBmb3IgdGhlIGNhcmV0IChzZWUgbGVnYWN5IGxp
bmUgbGF5b3V0KS4KKworICAgICAgICAgIEluayBvdmVyZmxvdyByZWN0OgorICAgICAgICAgICAg
UmVndWxhciBpbmsgb3ZlcmZsb3cgZS5nLiBzdHJva2UsIGxldHRlciBzcGFjaW5nLgorCisgICAg
ICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1
aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNv
bnRlbnRCdWlsZGVyOjpjb25zdHJ1Y3REaXNwbGF5TGluZXMgY29uc3QpOgorCiAyMDIwLTExLTA3
ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgRml4IHdhcm5pbmcgcmVs
YXRlZCB0byB1bnNpZ25lZCA+PTAgQVNTRVJUCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5jcHAKaW5kZXggNmI0ZTk3YmQ0NGVlNGQwMzQwNTQ4ZTgzODI1NTcyZjdkYmY1YmViYi4uZWY0
MjM2ZTNlYWRjZDkxMzI5YjQ0YjJlM2ZhMTYwYjBmZDFhNjA3NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmNwcApAQCAtNDkzLDggKzQ5Myw3IEBAIElubGluZVJlY3QgSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGNvbnN0IExp
bmVCdWlsCiAgICAgdXBkYXRlQm94R2VvbWV0cnkoKTsKIAogICAgIGF1dG8gY29uc3RydWN0TGlu
ZUdlb21ldHJ5ID0gWyZdIHsKLSAgICAgICAgYXV0byBsaW5lQm94TG9naWNhbFJlY3QgPSBJbmxp
bmVSZWN0IHsgbGluZUxvZ2ljYWxSZWN0LnRvcCgpLCBsaW5lTG9naWNhbFJlY3QubGVmdCgpLCBs
aW5lQm94LmxvZ2ljYWxXaWR0aCgpLCBsaW5lQm94LmxvZ2ljYWxIZWlnaHQoKSB9OwotICAgICAg
ICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZSh7IGxpbmVMb2dpY2FsUmVjdCwgbGluZUJveExvZ2lj
YWxSZWN0LCBsaW5lQm94LmFsaWdubWVudEJhc2VsaW5lKCksIGxpbmVCb3guaG9yaXpvbnRhbEFs
aWdubWVudE9mZnNldCgpLnZhbHVlT3IoSW5saW5lTGF5b3V0VW5pdCB7IH0pIH0pOworICAgICAg
ICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZSh7IGxpbmVMb2dpY2FsUmVjdCwgbGluZUJveC5sb2dp
Y2FsU2l6ZSgpLCBsaW5lQm94LmFsaWdubWVudEJhc2VsaW5lKCksIGxpbmVCb3guaG9yaXpvbnRh
bEFsaWdubWVudE9mZnNldCgpLnZhbHVlT3IoSW5saW5lTGF5b3V0VW5pdCB7IH0pIH0pOwogICAg
IH07CiAgICAgY29uc3RydWN0TGluZUdlb21ldHJ5KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVHZW9tZXRyeS5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUdlb21ldHJ5LmgK
aW5kZXggN2VjZjRlMWU4ZDdkNzIxYmVmZTYwOGVkYWMyYzQ4NDAwZTEwMjA5NC4uMzhjMTM0NzQ1
ZTJkZGFmM2E2ZTY5MTJmMjM5MDQxOTNjMTk3NDMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUdlb21ldHJ5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUdlb21ldHJ5LmgK
QEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBjbGFzcyBJbmxpbmVMaW5lR2Vv
bWV0cnkgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIElubGlu
ZUxpbmVHZW9tZXRyeShjb25zdCBJbmxpbmVSZWN0JiBsaW5lTG9naWNhbFJlY3QsIGNvbnN0IElu
bGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgSW5saW5lTGF5b3V0VW5pdCBhbGlnbWVudEJh
c2VsaW5lLCBJbmxpbmVMYXlvdXRVbml0IGhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQpOworICAg
IElubGluZUxpbmVHZW9tZXRyeShjb25zdCBJbmxpbmVSZWN0JiBsaW5lTG9naWNhbFJlY3QsIGNv
bnN0IElubGluZUxheW91dFNpemUmIGxpbmVCb3hMb2dpY2FsU2l6ZSwgSW5saW5lTGF5b3V0VW5p
dCBhbGlnbWVudEJhc2VsaW5lLCBJbmxpbmVMYXlvdXRVbml0IGhvcml6b250YWxBbGlnbm1lbnRP
ZmZzZXQpOwogCiAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsTGVmdCgpIGNvbnN0IHsgcmV0
dXJuIGxvZ2ljYWxSZWN0KCkubGVmdCgpOyB9OwogICAgIElubGluZUxheW91dFVuaXQgbG9naWNh
bFJpZ2h0KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbFJlY3QoKS5yaWdodCgpOyB9OwpAQCAtNDcs
NyArNDcsNyBAQCBwdWJsaWM6CiAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KCkg
Y29uc3QgeyByZXR1cm4gbG9naWNhbFJlY3QoKS5oZWlnaHQoKTsgfTsKIAogICAgIGNvbnN0IElu
bGluZVJlY3QmIGxvZ2ljYWxSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9sb2dpY2FsUmVjdDsgfQot
ICAgIGNvbnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCgpIGNvbnN0IHsgcmV0dXJu
IG1fbGluZUJveExvZ2ljYWxSZWN0OyB9CisgICAgY29uc3QgSW5saW5lTGF5b3V0U2l6ZSYgbGlu
ZUJveExvZ2ljYWxTaXplKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm94TG9naWNhbFNpemU7IH0K
IAogICAgIElubGluZUxheW91dFVuaXQgYmFzZWxpbmUoKSBjb25zdCB7IHJldHVybiBtX2FsaWdt
ZW50QmFzZWxpbmU7IH0KICAgICBJbmxpbmVMYXlvdXRVbml0IGhvcml6b250YWxBbGlnbm1lbnRP
ZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2hvcml6b250YWxBbGlnbm1lbnRPZmZzZXQ7IH0KQEAg
LTU2LDE0ICs1NiwxNCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgSW5saW5lUmVjdCBtX2xv
Z2ljYWxSZWN0OwotICAgIElubGluZVJlY3QgbV9saW5lQm94TG9naWNhbFJlY3Q7CisgICAgSW5s
aW5lTGF5b3V0U2l6ZSBtX2xpbmVCb3hMb2dpY2FsU2l6ZTsKICAgICBJbmxpbmVMYXlvdXRVbml0
IG1fYWxpZ21lbnRCYXNlbGluZSB7IDAgfTsKICAgICBJbmxpbmVMYXlvdXRVbml0IG1faG9yaXpv
bnRhbEFsaWdubWVudE9mZnNldCB7IDAgfTsKIH07CiAKLWlubGluZSBJbmxpbmVMaW5lR2VvbWV0
cnk6OklubGluZUxpbmVHZW9tZXRyeShjb25zdCBJbmxpbmVSZWN0JiBsaW5lTG9naWNhbFJlY3Qs
IGNvbnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgSW5saW5lTGF5b3V0VW5pdCBh
bGlnbWVudEJhc2VsaW5lLCBJbmxpbmVMYXlvdXRVbml0IGhvcml6b250YWxBbGlnbm1lbnRPZmZz
ZXQpCitpbmxpbmUgSW5saW5lTGluZUdlb21ldHJ5OjpJbmxpbmVMaW5lR2VvbWV0cnkoY29uc3Qg
SW5saW5lUmVjdCYgbGluZUxvZ2ljYWxSZWN0LCBjb25zdCBJbmxpbmVMYXlvdXRTaXplJiBsaW5l
Qm94TG9naWNhbFNpemUsIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5saW5l
TGF5b3V0VW5pdCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KQogICAgIDogbV9sb2dpY2FsUmVj
dChsaW5lTG9naWNhbFJlY3QpCi0gICAgLCBtX2xpbmVCb3hMb2dpY2FsUmVjdChsaW5lQm94TG9n
aWNhbFJlY3QpCisgICAgLCBtX2xpbmVCb3hMb2dpY2FsU2l6ZShsaW5lQm94TG9naWNhbFNpemUp
CiAgICAgLCBtX2FsaWdtZW50QmFzZWxpbmUoYWxpZ21lbnRCYXNlbGluZSkKICAgICAsIG1faG9y
aXpvbnRhbEFsaWdubWVudE9mZnNldChob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCmluZGV4IDQ4
ZWZlNDRlZWQyYThjNzEwMGVmMGFmZTdkYmNlYmQ2NWU3MDI3ZjIuLjRkNzc4NWUzYmRjYzRiZjU0
YmE4M2Y3YTc1NWY4ZTZkODkwN2QzMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25J
bmxpbmVDb250ZW50QnVpbGRlci5jcHAKQEAgLTk5LDcgKzk5LDcgQEAgSW5saW5lQ29udGVudEJ1
aWxkZXI6OkxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc0xpc3QgSW5saW5lQ29udGVu
dEJ1aWxkZXIKICAgICAgICAgbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJ
bmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uID0gbGluZU5lZWRzTGVnYWN5SW50ZWdyYWxWZXJ0
aWNhbFBvc2l0aW9uKCk7CiAgICAgICAgIGlmIChzaG91bGRDaGVja0hvcml6b250YWxPdmVyZmxv
d0ZvckNvbnRlbnRSZXBsYWNlbWVudCkgewogICAgICAgICAgICAgYXV0byYgbGluZSA9IGxpbmVz
W2xpbmVJbmRleF07Ci0gICAgICAgICAgICBhdXRvIG92ZXJmbG93V2lkdGggPSBsaW5lT3ZlcmZs
b3dXaWR0aChtX2Jsb2NrRmxvdywgbGluZS5sb2dpY2FsV2lkdGgoKSwgbGluZS5saW5lQm94TG9n
aWNhbFJlY3QoKS53aWR0aCgpKTsKKyAgICAgICAgICAgIGF1dG8gb3ZlcmZsb3dXaWR0aCA9IGxp
bmVPdmVyZmxvd1dpZHRoKG1fYmxvY2tGbG93LCBsaW5lLmxvZ2ljYWxXaWR0aCgpLCBsaW5lLmxp
bmVCb3hMb2dpY2FsU2l6ZSgpLndpZHRoKCkpOwogICAgICAgICAgICAgbGluZUxldmVsVmlzdWFs
QWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNUcmFpbGluZ0NvbnRlbnRSZXBsYWNl
bWVudCA9IG92ZXJmbG93V2lkdGggPiBsaW5lLmxvZ2ljYWxXaWR0aCgpOwogICAgICAgICB9CiAg
ICAgfQpAQCAtMTM0LDggKzEzNCw3IEBAIHZvaWQgSW5saW5lQ29udGVudEJ1aWxkZXI6OmNvbnN0
cnVjdERpc3BsYXlMaW5lUnVucyhJbmxpbmVDb250ZW50JiBpbmxpbmVDb250ZW50CiAgICAgICAg
IC8vIEZJWE1FOiBTaG91bGRuJ3Qgd2UganVzdCBsZWF2ZSB0aGVtIGJlIHJlbGF0aXZlIHRvIHRo
ZSBsaW5lIGJveD8KICAgICAgICAgYXV0byBsaW5lSW5kZXggPSBsaW5lUnVuLmxpbmVJbmRleCgp
OwogICAgICAgICBhdXRvJiBsaW5lID0gbGluZXNbbGluZUluZGV4XTsKLSAgICAgICAgYXV0byBs
aW5lQm94TG9naWNhbFJlY3QgPSBsaW5lLmxpbmVCb3hMb2dpY2FsUmVjdCgpOwotICAgICAgICBy
dW5SZWN0Lm1vdmVCeSh7IGxpbmVCb3hMb2dpY2FsUmVjdC5sZWZ0KCksIGxpbmVCb3hMb2dpY2Fs
UmVjdC50b3AoKSB9KTsKKyAgICAgICAgcnVuUmVjdC5tb3ZlQnkoeyBsaW5lLmxvZ2ljYWxMZWZ0
KCksIGxpbmUubG9naWNhbFRvcCgpIH0pOwogICAgICAgICBpZiAobGluZUxldmVsVmlzdWFsQWRq
dXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKQogICAgICAg
ICAgICAgcnVuUmVjdC5zZXRZKHJvdW5kVG9JbnQocnVuUmVjdC55KCkpKTsKIApAQCAtMTgxLDEx
ICsxODAsOSBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjb25zdHJ1Y3REaXNwbGF5TGlu
ZXMoSW5saW5lQ29udGVudCYgaW5saW5lQ29udGVudCwgYwogICAgIHNpemVfdCBydW5JbmRleCA9
IDA7CiAgICAgZm9yIChzaXplX3QgbGluZUluZGV4ID0gMDsgbGluZUluZGV4IDwgbGluZXMuc2l6
ZSgpOyArK2xpbmVJbmRleCkgewogICAgICAgICBhdXRvJiBsaW5lID0gbGluZXNbbGluZUluZGV4
XTsKLSAgICAgICAgYXV0byBsaW5lQm94TG9naWNhbFJlY3QgPSBsaW5lLmxpbmVCb3hMb2dpY2Fs
UmVjdCgpOworICAgICAgICBhdXRvIGxpbmVCb3hMb2dpY2FsU2l6ZSA9IGxpbmUubGluZUJveExv
Z2ljYWxTaXplKCk7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIHdoZXJlIHRoZSBsb2dpY2Fs
IHRvIHBoeXNpY2FsIHRyYW5zbGF0ZSBzaG91bGQgaGFwcGVuLgotICAgICAgICBhdXRvIGxpbmVC
b3hMb2dpY2FsQm90dG9tID0gKGxpbmVCb3hMb2dpY2FsUmVjdC50b3AoKSAtIGxpbmUubG9naWNh
bFRvcCgpKSArIGxpbmVCb3hMb2dpY2FsUmVjdC5oZWlnaHQoKTsKLSAgICAgICAgYXV0byBvdmVy
Zmxvd0hlaWdodCA9IHN0ZDo6bWF4KGxpbmUubG9naWNhbEhlaWdodCgpLCBsaW5lQm94TG9naWNh
bEJvdHRvbSk7Ci0gICAgICAgIGF1dG8gc2Nyb2xsYWJsZU92ZXJmbG93UmVjdCA9IEZsb2F0UmVj
dCB7IGxpbmUubG9naWNhbExlZnQoKSwgbGluZS5sb2dpY2FsVG9wKCksIGxpbmVPdmVyZmxvd1dp
ZHRoKG1fYmxvY2tGbG93LCBsaW5lLmxvZ2ljYWxXaWR0aCgpLCBsaW5lQm94TG9naWNhbFJlY3Qu
d2lkdGgoKSksIG92ZXJmbG93SGVpZ2h0IH07CisgICAgICAgIGF1dG8gc2Nyb2xsYWJsZU92ZXJm
bG93UmVjdCA9IEZsb2F0UmVjdCB7IGxpbmUubG9naWNhbExlZnQoKSwgbGluZS5sb2dpY2FsVG9w
KCksIGxpbmVPdmVyZmxvd1dpZHRoKG1fYmxvY2tGbG93LCBsaW5lLmxvZ2ljYWxXaWR0aCgpLCBs
aW5lQm94TG9naWNhbFNpemUud2lkdGgoKSksIGxpbmUubG9naWNhbEhlaWdodCgpIH07CiAKICAg
ICAgICAgYXV0byBmaXJzdFJ1bkluZGV4ID0gcnVuSW5kZXg7CiAgICAgICAgIGF1dG8gbGluZUlu
a092ZXJmbG93UmVjdCA9IHNjcm9sbGFibGVPdmVyZmxvd1JlY3Q7CkBAIC0xOTMsMTIgKzE5MCwx
MCBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjb25zdHJ1Y3REaXNwbGF5TGluZXMoSW5s
aW5lQ29udGVudCYgaW5saW5lQ29udGVudCwgYwogICAgICAgICAgICAgbGluZUlua092ZXJmbG93
UmVjdC51bml0ZShydW5zW3J1bkluZGV4KytdLmlua092ZXJmbG93KCkpOwogICAgICAgICBhdXRv
IHJ1bkNvdW50ID0gcnVuSW5kZXggLSBmaXJzdFJ1bkluZGV4OwogICAgICAgICBhdXRvIGxpbmVS
ZWN0ID0gRmxvYXRSZWN0IHsgbGluZS5sb2dpY2FsUmVjdCgpIH07Ci0gICAgICAgIC8vIFBhaW50
aW5nIGNvZGUgKHNwZWNpZmljYWxseSBUZXh0UnVuJ3MgeFBvcykgbmVlZHMgdGhlIGxpbmUgYm94
IG9mZnNldCB0byBiZSBhYmxlIHRvIGNvbXB1dGUgdGFiIHBvc2l0aW9ucy4KLSAgICAgICAgbGlu
ZVJlY3Quc2V0WChsaW5lQm94TG9naWNhbFJlY3QubGVmdCgpKTsKLSAgICAgICAgYXV0byBlbmNs
b3NpbmdMaW5lUmVjdCA9IFsmXSB7CisgICAgICAgIGF1dG8gZW5jbG9zaW5nQ29udGVudFJlY3Qg
PSBbJl0gewogICAgICAgICAgICAgLy8gTGV0J3MgKHZlcnRpY2FsbHkpZW5jbG9zZSBhbGwgdGhl
IGlubGluZSBsZXZlbCBib3hlcy4KICAgICAgICAgICAgIC8vIFRoaXMgbW9zdGx5IG1hdGNoZXMg
J2xpbmVSZWN0JywgdW5sZXNzIGxpbmUtaGVpZ2h0IHRyaWdnZXJzIGxpbmUgYm94IG92ZXJmbG93
IChub3QgdG8gYmUgY29uZnVzZWQgd2l0aCBpbmsgb3Igc2Nyb2xsIG92ZXJmbG93KS4KLSAgICAg
ICAgICAgIGF1dG8gZW5jbG9zaW5nUmVjdCA9IGxpbmVSZWN0OworICAgICAgICAgICAgYXV0byBl
bmNsb3NpbmdSZWN0ID0gRmxvYXRSZWN0IHsgbGluZVJlY3QubG9jYXRpb24oKSwgbGluZUJveExv
Z2ljYWxTaXplIH07CiAgICAgICAgICAgICBhdXRvJiBsaW5lQm94ID0gbGluZUJveGVzW2xpbmVJ
bmRleF07CiAgICAgICAgICAgICBmb3IgKGF1dG8mIGlubGluZUxldmVsQm94IDogbGluZUJveC5p
bmxpbmVMZXZlbEJveExpc3QoKSkgewogICAgICAgICAgICAgICAgIGF1dG8gaW5saW5lTGV2ZWxC
b3hMb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JJbmxpbmVMZXZlbEJveChpbmxp
bmVMZXZlbEJveC0+bGF5b3V0Qm94KCkpOwpAQCAtMjExLDkgKzIwNiw5IEBAIHZvaWQgSW5saW5l
Q29udGVudEJ1aWxkZXI6OmNvbnN0cnVjdERpc3BsYXlMaW5lcyhJbmxpbmVDb250ZW50JiBpbmxp
bmVDb250ZW50LCBjCiAgICAgICAgIH0oKTsKICAgICAgICAgaWYgKGxpbmVMZXZlbFZpc3VhbEFk
anVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhdLm5lZWRzSW50ZWdyYWxQb3NpdGlvbikgewogICAg
ICAgICAgICAgbGluZVJlY3Quc2V0WShyb3VuZFRvSW50KGxpbmVSZWN0LnkoKSkpOwotICAgICAg
ICAgICAgZW5jbG9zaW5nTGluZVJlY3Quc2V0WShyb3VuZFRvSW50KGVuY2xvc2luZ0xpbmVSZWN0
LnkoKSkpOworICAgICAgICAgICAgZW5jbG9zaW5nQ29udGVudFJlY3Quc2V0WShyb3VuZFRvSW50
KGVuY2xvc2luZ0NvbnRlbnRSZWN0LnkoKSkpOwogICAgICAgICB9Ci0gICAgICAgIGlubGluZUNv
bnRlbnQubGluZXMuYXBwZW5kKHsgZmlyc3RSdW5JbmRleCwgcnVuQ291bnQsIGxpbmVSZWN0LCBl
bmNsb3NpbmdMaW5lUmVjdCwgc2Nyb2xsYWJsZU92ZXJmbG93UmVjdCwgbGluZUlua092ZXJmbG93
UmVjdCwgbGluZS5iYXNlbGluZSgpLCBsaW5lLmhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQoKSB9
KTsKKyAgICAgICAgaW5saW5lQ29udGVudC5saW5lcy5hcHBlbmQoeyBmaXJzdFJ1bkluZGV4LCBy
dW5Db3VudCwgbGluZVJlY3QsIGxpbmVCb3hMb2dpY2FsU2l6ZS53aWR0aCgpLCBlbmNsb3NpbmdD
b250ZW50UmVjdCwgc2Nyb2xsYWJsZU92ZXJmbG93UmVjdCwgbGluZUlua092ZXJmbG93UmVjdCwg
bGluZS5iYXNlbGluZSgpLCBsaW5lLmhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQoKSB9KTsKICAg
ICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaAppbmRleCA5ZThkODlmM2NjNGQzMDM5MWY2MDcwMGQ4
OTcyZWI4OGZjZDllY2MzLi5jOTAyY2Q5MWI1YzQ5MzgxZjQ4MTMwYzViMThmMGE1M2Y3NGZkNjFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25MaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uTGluZS5oCkBAIC0zNSwxMSArMzUsMTIgQEAgbmFtZXNwYWNlIExheW91
dEludGVncmF0aW9uIHsKIGNsYXNzIExpbmUgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgotICAgIExpbmUoc2l6ZV90IGZpcnN0UnVuSW5kZXgsIHNpemVfdCBydW5Db3Vu
dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0LCBjb25zdCBGbG9hdFJlY3QmIGVuY2xvc2luZ1JlY3Qs
IGNvbnN0IEZsb2F0UmVjdCYgc2Nyb2xsYWJsZU92ZXJmbG93LCBjb25zdCBGbG9hdFJlY3QmIGlu
a092ZXJmbG93LCBmbG9hdCBiYXNlbGluZSwgZmxvYXQgaG9yaXpvbnRhbEFsaWdubWVudE9mZnNl
dCkKKyAgICBMaW5lKHNpemVfdCBmaXJzdFJ1bkluZGV4LCBzaXplX3QgcnVuQ291bnQsIGNvbnN0
IEZsb2F0UmVjdCYgbGluZVJlY3QsIGZsb2F0IGxpbmVCb3hXaWR0aCwgY29uc3QgRmxvYXRSZWN0
JiBlbmNsb3NpbmdDb250ZW50UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzY3JvbGxhYmxlT3ZlcmZs
b3csIGNvbnN0IEZsb2F0UmVjdCYgaW5rT3ZlcmZsb3csIGZsb2F0IGJhc2VsaW5lLCBmbG9hdCBo
b3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KQogICAgICAgICA6IG1fZmlyc3RSdW5JbmRleChmaXJz
dFJ1bkluZGV4KQogICAgICAgICAsIG1fcnVuQ291bnQocnVuQ291bnQpCi0gICAgICAgICwgbV9y
ZWN0KHJlY3QpCi0gICAgICAgICwgbV9lbmNsb3NpbmdSZWN0KGVuY2xvc2luZ1JlY3QpCisgICAg
ICAgICwgbV9saW5lUmVjdChsaW5lUmVjdCkKKyAgICAgICAgLCBtX2xpbmVCb3hXaWR0aChsaW5l
Qm94V2lkdGgpCisgICAgICAgICwgbV9lbmNsb3NpbmdDb250ZW50UmVjdChlbmNsb3NpbmdDb250
ZW50UmVjdCkKICAgICAgICAgLCBtX3Njcm9sbGFibGVPdmVyZmxvdyhzY3JvbGxhYmxlT3ZlcmZs
b3cpCiAgICAgICAgICwgbV9pbmtPdmVyZmxvdyhpbmtPdmVyZmxvdykKICAgICAgICAgLCBtX2Jh
c2VsaW5lKGJhc2VsaW5lKQpAQCAtNDksOCArNTAsOSBAQCBwdWJsaWM6CiAKICAgICBzaXplX3Qg
Zmlyc3RSdW5JbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1fZmlyc3RSdW5JbmRleDsgfQogICAgIHNp
emVfdCBydW5Db3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fcnVuQ291bnQ7IH0KLSAgICBjb25zdCBG
bG9hdFJlY3QmIHJlY3QoKSBjb25zdCB7IHJldHVybiBtX3JlY3Q7IH0KLSAgICBjb25zdCBGbG9h
dFJlY3QmIGVuY2xvc2luZ1JlY3QoKSBjb25zdCB7IHJldHVybiBtX2VuY2xvc2luZ1JlY3Q7IH0K
KyAgICBjb25zdCBGbG9hdFJlY3QmIHJlY3QoKSBjb25zdCB7IHJldHVybiBtX2xpbmVSZWN0OyB9
CisgICAgZmxvYXQgbGluZUJveFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm94V2lkdGg7
IH0KKyAgICBjb25zdCBGbG9hdFJlY3QmIGVuY2xvc2luZ0NvbnRlbnRSZWN0KCkgY29uc3QgeyBy
ZXR1cm4gbV9lbmNsb3NpbmdDb250ZW50UmVjdDsgfQogICAgIGNvbnN0IEZsb2F0UmVjdCYgc2Ny
b2xsYWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlT3ZlcmZsb3c7IH0K
ICAgICBjb25zdCBGbG9hdFJlY3QmIGlua092ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9pbmtP
dmVyZmxvdzsgfQogICAgIGZsb2F0IGJhc2VsaW5lKCkgY29uc3QgeyByZXR1cm4gbV9iYXNlbGlu
ZTsgfQpAQCAtNTksOSArNjEsMTMgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBzaXplX3QgbV9m
aXJzdFJ1bkluZGV4IHsgMCB9OwogICAgIHNpemVfdCBtX3J1bkNvdW50IHsgMCB9OwotICAgIEZs
b2F0UmVjdCBtX3JlY3Q7Ci0gICAgLy8gRW5jbG9zaW5nIHJlY3QgZnVsbHkgZW5jbG9zZXMgYWxs
IHRoZSBpbmxpbmUgbGV2ZWwgYm94ZXMgb24gdGhlIGxpbmUuCi0gICAgRmxvYXRSZWN0IG1fZW5j
bG9zaW5nUmVjdDsKKyAgICAvLyBMaW5lIGlzIGFsd2F5cyBhcyB0YWxsIGFzIHRoZSBsaW5lIGJv
eCBpcy4gSG93ZXZlciB0aGV5IG1heSBkaWZmZXIgaW4gd2lkdGguCisgICAgLy8gV2hpbGUgbGlu
ZSBib3ggZW5jbG9zZXMgYWxsIHRoZSBpbmxpbmUgbGV2ZWwgYm94ZXMgb24gdGhlIGxpbmUgaG9y
aXpvbnRhbGx5LCB0aGUgbGluZSBpdHNlbGYgbWF5IGJlIHNob3J0ZXIgKGFuZCB0cmlnZ2VyIGhv
cml6b250YWwgb3ZlcmZsb3cpLgorICAgIC8vIEVuY2xvc2luZyBjb250ZW50IHJlY3QgaW5jbHVk
ZXMgYWxsIGlubGluZSBsZXZlbCBib3hlcyBib3RoIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxs
eS4gSW4gY2VydGFpbiBjYXNlcyAoc2VlIGxpbmUtaGVpZ2h0IHByb3BlcnR5KQorICAgIC8vIHRo
ZSBsaW5lIChhbmQgdGhlIGxpbmUgYm94KSBpcyBub3QgYXMgdGFsbCBhcyB0aGUgaW5saW5lIGxl
dmVsIGJveGVzIG9uIHRoZSBsaW5lLgorICAgIEZsb2F0UmVjdCBtX2xpbmVSZWN0OworICAgIGZs
b2F0IG1fbGluZUJveFdpZHRoIHsgMCB9OworICAgIEZsb2F0UmVjdCBtX2VuY2xvc2luZ0NvbnRl
bnRSZWN0OwogICAgIEZsb2F0UmVjdCBtX3Njcm9sbGFibGVPdmVyZmxvdzsKICAgICBGbG9hdFJl
Y3QgbV9pbmtPdmVyZmxvdzsKICAgICBmbG9hdCBtX2Jhc2VsaW5lIHsgMCB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGlu
ZUl0ZXJhdG9yTW9kZXJuUGF0aC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oCmluZGV4IDg3YTE2Nzhj
MjZlNDI5NThkNDY2NzhlODAwZDRhNGQ3NjBmYzZlMWYuLmExOTJkYWExNjI4OGJkN2EzZmZjNWY4
Nzk3ZThmZGVlM2NhNzZkNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRl
cmF0b3JNb2Rlcm5QYXRoLmgKQEAgLTQ5LDggKzQ5LDggQEAgcHVibGljOgogICAgIExpbmVJdGVy
YXRvck1vZGVyblBhdGgmIG9wZXJhdG9yPShjb25zdCBMaW5lSXRlcmF0b3JNb2Rlcm5QYXRoJikg
PSBkZWZhdWx0OwogICAgIExpbmVJdGVyYXRvck1vZGVyblBhdGgmIG9wZXJhdG9yPShMaW5lSXRl
cmF0b3JNb2Rlcm5QYXRoJiYpID0gZGVmYXVsdDsKIAotICAgIExheW91dFVuaXQgdG9wKCkgY29u
c3QgeyByZXR1cm4gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Um91bmQobGluZSgpLmVuY2xvc2luZ1Jl
Y3QoKS55KCkpOyB9Ci0gICAgTGF5b3V0VW5pdCBib3R0b20oKSBjb25zdCB7IHJldHVybiBMYXlv
dXRVbml0Ojpmcm9tRmxvYXRSb3VuZChsaW5lKCkuZW5jbG9zaW5nUmVjdCgpLm1heFkoKSk7IH0K
KyAgICBMYXlvdXRVbml0IHRvcCgpIGNvbnN0IHsgcmV0dXJuIExheW91dFVuaXQ6OmZyb21GbG9h
dFJvdW5kKGxpbmUoKS5lbmNsb3NpbmdDb250ZW50UmVjdCgpLnkoKSk7IH0KKyAgICBMYXlvdXRV
bml0IGJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIExheW91dFVuaXQ6OmZyb21GbG9hdFJvdW5kKGxp
bmUoKS5lbmNsb3NpbmdDb250ZW50UmVjdCgpLm1heFkoKSk7IH0KICAgICBMYXlvdXRVbml0IGxp
bmVCb3hUb3AoKSBjb25zdCB7IHJldHVybiBMYXlvdXRVbml0Ojpmcm9tRmxvYXRSb3VuZChsaW5l
KCkucmVjdCgpLnkoKSk7IH0KICAgICBMYXlvdXRVbml0IGxpbmVCb3hCb3R0b20oKSBjb25zdCB7
IHJldHVybiBMYXlvdXRVbml0Ojpmcm9tRmxvYXRSb3VuZChsaW5lKCkucmVjdCgpLm1heFkoKSk7
IH0KIApAQCAtNTksOSArNTksOCBAQCBwdWJsaWM6CiAgICAgTGF5b3V0VW5pdCBzZWxlY3Rpb25U
b3BGb3JIaXRUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gdG9wKCk7IH0KICAgICBMYXlvdXRVbml0
IHNlbGVjdGlvbkJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIGJvdHRvbSgpOyB9CiAKLSAgICAvLyBG
SVhNRTogV2hhdCBzaG91bGQgdGhlc2UgYmU/Ci0gICAgZmxvYXQgbG9naWNhbExlZnQoKSBjb25z
dCB7IHJldHVybiBsaW5lKCkuc2Nyb2xsYWJsZU92ZXJmbG93KCkueCgpOyB9Ci0gICAgZmxvYXQg
bG9naWNhbFJpZ2h0KCkgY29uc3QgeyByZXR1cm4gbGluZSgpLnNjcm9sbGFibGVPdmVyZmxvdygp
Lm1heFgoKTsgfQorICAgIGZsb2F0IGxvZ2ljYWxMZWZ0KCkgY29uc3QgeyByZXR1cm4gbGluZSgp
LnJlY3QoKS54KCk7IH0KKyAgICBmbG9hdCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBs
b2dpY2FsTGVmdCgpICsgbGluZSgpLmxpbmVCb3hXaWR0aCgpOyB9CiAgICAgZmxvYXQgeSgpIGNv
bnN0IHsgcmV0dXJuIGxpbmVCb3hUb3AoKTsgfQogICAgIGZsb2F0IGxvZ2ljYWxIZWlnaHQoKSBj
b25zdCB7IHJldHVybiBsaW5lKCkucmVjdCgpLmhlaWdodCgpOyB9CiAgICAgYm9vbCBpc0hvcml6
b250YWwoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRp
b24uY3BwCmluZGV4IDZmOWEwOTk2YjljOTI1Y2M2OGIyYmUyMmMxMTJlNDVhM2EwNWY5NWMuLmMy
Nzc2NzEwNjAxODY5YjQwNWE1YzZiMzRkMDRmNmE5ZjkyNDFkMjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvblBhZ2luYXRpb24uY3BwCkBAIC0xMzAsNyArMTMwLDggQEAgc3RhdGljIFJlZjxJbmxpbmVD
b250ZW50PiBtYWtlQWRqdXN0ZWRDb250ZW50KGNvbnN0IElubGluZUNvbnRlbnQmIGlubGluZUNv
bnRlbnQKICAgICAgICAgICAgIGxpbmUuZmlyc3RSdW5JbmRleCgpLAogICAgICAgICAgICAgbGlu
ZS5ydW5Db3VudCgpLAogICAgICAgICAgICAgbW92ZVZlcnRpY2FsbHkobGluZS5yZWN0KCksIG9m
ZnNldCksCi0gICAgICAgICAgICBtb3ZlVmVydGljYWxseShsaW5lLnJlY3QoKSwgb2Zmc2V0KSwK
KyAgICAgICAgICAgIGxpbmUucmVjdCgpLndpZHRoKCksCisgICAgICAgICAgICBtb3ZlVmVydGlj
YWxseShsaW5lLmVuY2xvc2luZ0NvbnRlbnRSZWN0KCksIG9mZnNldCksCiAgICAgICAgICAgICBt
b3ZlVmVydGljYWxseShsaW5lLnNjcm9sbGFibGVPdmVyZmxvdygpLCBvZmZzZXQpLAogICAgICAg
ICAgICAgbW92ZVZlcnRpY2FsbHkobGluZS5pbmtPdmVyZmxvdygpLCBvZmZzZXQpLAogICAgICAg
ICAgICAgbGluZS5iYXNlbGluZSgpLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmggYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVy
YXRvck1vZGVyblBhdGguaAppbmRleCBkMTk3ZTU2ZGUwNDRhZDhkZTdhZDhmYzNlY2FmMDlhMzU2
YjBiOGE3Li44YWEzYzNiY2Y0NTc2MzYwYWI5NzllZWRkNDA3ZTI3ZWZlMzllOWE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25S
dW5JdGVyYXRvck1vZGVyblBhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaApAQCAtMTE3LDgg
KzExNyw4IEBAIHB1YmxpYzoKICAgICAgICAgYXV0byBsb2dpY2FsV2lkdGggPSBsb2dpY2FsUmln
aHQgLSBsb2dpY2FsTGVmdDsKIAogICAgICAgICAvLyBGSVhNRTogVGhlc2Ugc2hvdWxkIHNoYXJl
IGltcGxlbWVudGF0aW9uIHdpdGggdGhlIGxpbmUgaXRlcmF0b3IuCi0gICAgICAgIGF1dG8gc2Vs
ZWN0aW9uVG9wID0gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Um91bmQobGluZSgpLmVuY2xvc2luZ1Jl
Y3QoKS55KCkpOwotICAgICAgICBhdXRvIHNlbGVjdGlvbkhlaWdodCA9IExheW91dFVuaXQ6OmZy
b21GbG9hdFJvdW5kKGxpbmUoKS5lbmNsb3NpbmdSZWN0KCkuaGVpZ2h0KCkpOworICAgICAgICBh
dXRvIHNlbGVjdGlvblRvcCA9IExheW91dFVuaXQ6OmZyb21GbG9hdFJvdW5kKGxpbmUoKS5lbmNs
b3NpbmdDb250ZW50UmVjdCgpLnkoKSk7CisgICAgICAgIGF1dG8gc2VsZWN0aW9uSGVpZ2h0ID0g
TGF5b3V0VW5pdDo6ZnJvbUZsb2F0Um91bmQobGluZSgpLmVuY2xvc2luZ0NvbnRlbnRSZWN0KCku
aGVpZ2h0KCkpOwogCiAgICAgICAgIExheW91dFJlY3Qgc2VsZWN0aW9uUmVjdCB7IGxvZ2ljYWxM
ZWZ0LCBzZWxlY3Rpb25Ub3AsIGxvZ2ljYWxXaWR0aCwgc2VsZWN0aW9uSGVpZ2h0IH07CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>