<?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>219525</bug_id>
          
          <creation_ts>2020-12-03 19:04:54 -0800</creation_ts>
          <short_desc>[LFC][IFC] Only shrink the line with the float when it is intrusive</short_desc>
          <delta_ts>2020-12-04 09:58:16 -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>1711927</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-12-03 19:04:54 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711930</commentid>
    <comment_count>1</comment_count>
      <attachid>415377</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-12-03 19:08:32 -0800</bug_when>
    <thetext>Created attachment 415377
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712040</commentid>
    <comment_count>2</comment_count>
      <attachid>415422</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-12-04 09:18:06 -0800</bug_when>
    <thetext>Created attachment 415422
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712046</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-04 09:57:51 -0800</bug_when>
    <thetext>Committed r270434: &lt;https://trac.webkit.org/changeset/270434&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415422.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712047</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-04 09:58:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/71982862&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415377</attachid>
            <date>2020-12-03 19:08:32 -0800</date>
            <delta_ts>2020-12-04 09:18:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219525-20201203190832.patch</filename>
            <type>text/plain</type>
            <size>13884</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmJkODg1OWIxYWY3Njc0
ODNjYzdlMTFjZWFjMzAwMzJmZjlhNTc5Yy4uZTkyYzkyOWViZDc5OGY1ODY0YWQzN2JhNzkxOWY2
YTljZTFiMmY5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTEyLTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBPbmx5IHNo
cmluayB0aGUgbGluZSB3aXRoIHRoZSBmbG9hdCB3aGVuIGl0IGlzIGludHJ1c2l2ZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5NTI1CisKKyAgICAg
ICAgSW4gdGhpcyBwYXRjaCB3ZSBjaGVjayBpZiB0aGUgcG9zaXRpb25lZCBmbG9hdCBib3ggYWN0
dWFsbHkgaW50ZXJzZWN0cyB0aGUgbGluZSBhbmQgc2hyaW5rIHRoZSBhdmFpbGFibGUgd2lkdGgg
YWNjb3JkaW5nbHkuIAorCisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
TGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6
bGF5b3V0SW5saW5lQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWls
ZGVyOjpjb21wdXRlZEludHJpbnNpY1dpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
TGluZUJ1aWxkZXI6OmluaXRpYWxpemUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5l
QnVpbGRlcjo6cGxhY2VJbmxpbmVDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
TGluZUJ1aWxkZXI6OmNsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxk
ZXI6OmluaXRpYWxDb25zdHJhaW50c0ZvckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMaW5lQnVpbGRlcjo6aGFuZGxlRmxvYXRDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJ1aWxkZXI6OmhhbmRsZUlubGluZUNvbnRlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6cmVidWlsZExpbmVGb3JUcmFpbGluZ1NvZnRIeXBoZW4p
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6Y29uc3RyYWludHNGb3JM
aW5lKTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVM
aW5lQnVpbGRlci5oOgorCiAyMDIwLTEyLTAzICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBGbG9hdCBwb3NpdGlvbmluZyBuZWVkcyB0byBoYXBw
ZW4gd2hpbGUgYnVpbGRpbmcgdGhlIGxpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcAppbmRleCAy
NGYxZDNjZWZmOTZmN2FhNDgxYjU2NGRjZjlhNWZjYzFhOTliZjQ5Li4wMzE1NTZlMWNlZjk4MzBk
M2FhOTEzNDdhMWU2YjA4MWExZTMxMDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwCkBAIC0y
NDcsMTkgKzI0NywxNyBAQCBMaW5lQnVpbGRlcjo6TGluZUJ1aWxkZXIoY29uc3QgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQmIGlubGluZUZvcm1hdHRpbmdDb250ZXh0LAogewogfQogCi1MaW5lQnVp
bGRlcjo6TGluZUNvbnRlbnQgTGluZUJ1aWxkZXI6OmxheW91dElubGluZUNvbnRlbnQoY29uc3Qg
SW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBzaXplX3QgcGFydGlhbExlYWRpbmdD
b250ZW50TGVuZ3RoLCBjb25zdCBJbmxpbmVSZWN0JiBpbml0aWFsQ29uc3RyYWludHNGb3JMaW5l
LCBib29sIGlzRmlyc3RMaW5lKQorTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50IExpbmVCdWlsZGVy
OjpsYXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRS
YW5nZSwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgY29uc3QgSW5saW5lUmVj
dCYgaW5pdGlhbExpbmVMb2dpY2FsUmVjdCwgYm9vbCBpc0ZpcnN0TGluZSkKIHsKLSAgICBhdXRv
IHVzZWRDb25zdHJhaW50cyA9IGNvbnN0cmFpbnRzRm9yTGluZShpbml0aWFsQ29uc3RyYWludHNG
b3JMaW5lLCBpc0ZpcnN0TGluZSk7Ci0gICAgaW5pdGlhbGl6ZSh1c2VkQ29uc3RyYWludHMpOwor
ICAgIGluaXRpYWxpemUoaW5pdGlhbENvbnN0cmFpbnRzRm9yTGluZShpbml0aWFsTGluZUxvZ2lj
YWxSZWN0LCBpc0ZpcnN0TGluZSkpOwogCiAgICAgYXV0byBjb21taXR0ZWRDb250ZW50ID0gcGxh
Y2VJbmxpbmVDb250ZW50KG5lZWRzTGF5b3V0UmFuZ2UsIHBhcnRpYWxMZWFkaW5nQ29udGVudExl
bmd0aCk7CiAgICAgYXV0byBjb21taXR0ZWRSYW5nZSA9IGNsb3NlKG5lZWRzTGF5b3V0UmFuZ2Us
IGNvbW1pdHRlZENvbnRlbnQpOwogCi0gICAgYXV0byBsaW5lTG9naWNhbFRvcExlZnQgPSB1c2Vk
Q29uc3RyYWludHMubG9naWNhbFRvcExlZnQ7CiAgICAgYXV0byBpc0xhc3RMaW5lID0gaXNMYXN0
TGluZVdpdGhJbmxpbmVDb250ZW50KGNvbW1pdHRlZFJhbmdlLCBuZWVkc0xheW91dFJhbmdlLmVu
ZCwgY29tbWl0dGVkQ29udGVudC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoKTsKICAgICBy
ZXR1cm4gTGluZUNvbnRlbnQgeyBjb21taXR0ZWRSYW5nZSwgY29tbWl0dGVkQ29udGVudC5wYXJ0
aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoLCBtX2Zsb2F0cywgbV9jb250ZW50SXNDb25zdHJhaW5l
ZEJ5RmxvYXQKLSAgICAgICAgLCBsaW5lTG9naWNhbFRvcExlZnQKLSAgICAgICAgLCBtX2hvcml6
b250YWxTcGFjZUZvckxpbmUKKyAgICAgICAgLCBtX2xpbmVMb2dpY2FsUmVjdC50b3BMZWZ0KCkK
KyAgICAgICAgLCBtX2xpbmVMb2dpY2FsUmVjdC53aWR0aCgpCiAgICAgICAgICwgbV9saW5lLmNv
bnRlbnRMb2dpY2FsV2lkdGgoKQogICAgICAgICAsIG1fbGluZS5pc0NvbnNpZGVyZWRFbXB0eSgp
CiAgICAgICAgICwgaXNMYXN0TGluZQpAQCAtMjY4LDcgKzI2Niw3IEBAIExpbmVCdWlsZGVyOjpM
aW5lQ29udGVudCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJ
dGVtUmFuZ2UmCiAKIExpbmVCdWlsZGVyOjpJbnRyaW5zaWNDb250ZW50IExpbmVCdWlsZGVyOjpj
b21wdXRlZEludHJpbnNpY1dpZHRoKGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRS
YW5nZSwgSW5saW5lTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0aCkKIHsKLSAgICBpbml0aWFsaXpl
KHsgeyB9LCBhdmFpbGFibGVXaWR0aCwgZmFsc2UgfSk7CisgICAgaW5pdGlhbGl6ZSh7IHsgeyB9
LCB7IGF2YWlsYWJsZVdpZHRoLCBtYXhJbmxpbmVMYXlvdXRVbml0KCkgfSB9LCBmYWxzZSB9KTsK
ICAgICBhdXRvIGNvbW1pdHRlZENvbnRlbnQgPSBwbGFjZUlubGluZUNvbnRlbnQobmVlZHNMYXlv
dXRSYW5nZSwgeyB9KTsKICAgICBhdXRvIGNvbW1pdHRlZFJhbmdlID0gY2xvc2UobmVlZHNMYXlv
dXRSYW5nZSwgY29tbWl0dGVkQ29udGVudCk7CiAgICAgcmV0dXJuIHsgY29tbWl0dGVkUmFuZ2Us
IG1fbGluZS5jb250ZW50TG9naWNhbFdpZHRoKCksIG1fZmxvYXRzIH07CkBAIC0yODEsOSArMjc5
LDggQEAgdm9pZCBMaW5lQnVpbGRlcjo6aW5pdGlhbGl6ZShjb25zdCBVc2VkQ29uc3RyYWludHMm
IGxpbmVDb25zdHJhaW50cykKICAgICBtX3dyYXBPcHBvcnR1bml0eUxpc3QuY2xlYXIoKTsKIAog
ICAgIG1fbGluZS5pbml0aWFsaXplKCk7CisgICAgbV9saW5lTG9naWNhbFJlY3QgPSBsaW5lQ29u
c3RyYWludHMubG9naWNhbFJlY3Q7CiAgICAgbV9jb250ZW50SXNDb25zdHJhaW5lZEJ5RmxvYXQg
PSBsaW5lQ29uc3RyYWludHMuaXNDb25zdHJhaW5lZEJ5RmxvYXQ7Ci0gICAgbV9ob3Jpem9udGFs
U3BhY2VGb3JMaW5lID0gbGluZUNvbnN0cmFpbnRzLmxvZ2ljYWxXaWR0aDsgCi0gICAgbV9saW5l
TG9naWNhbFRvcExlZnQgPSBsaW5lQ29uc3RyYWludHMubG9naWNhbFRvcExlZnQ7CiB9CiAKIExp
bmVCdWlsZGVyOjpDb21taXR0ZWRDb250ZW50IExpbmVCdWlsZGVyOjpwbGFjZUlubGluZUNvbnRl
bnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBzaXplX3QgcGFydGlh
bExlYWRpbmdDb250ZW50TGVuZ3RoKQpAQCAtMzAzLDcgKzMwMCw4IEBAIExpbmVCdWlsZGVyOjpD
b21taXR0ZWRDb250ZW50IExpbmVCdWlsZGVyOjpwbGFjZUlubGluZUNvbnRlbnQoY29uc3QgSW5s
aW5lSXRlbVJhCiAgICAgICAgIGF1dG8gcmVzdWx0ID0gUmVzdWx0IHsgfTsKICAgICAgICAgaWYg
KGxpbmVDYW5kaWRhdGUuZmxvYXRJdGVtKSB7CiAgICAgICAgICAgICBBU1NFUlQobGluZUNhbmRp
ZGF0ZS5pbmxpbmVDb250ZW50LmlzRW1wdHkoKSk7Ci0gICAgICAgICAgICByZXN1bHQgPSBoYW5k
bGVGbG9hdENvbnRlbnQoKmxpbmVDYW5kaWRhdGUuZmxvYXRJdGVtKTsKKyAgICAgICAgICAgIGhh
bmRsZUZsb2F0Q29udGVudCgqbGluZUNhbmRpZGF0ZS5mbG9hdEl0ZW0pOworICAgICAgICAgICAg
Ly8gRmxvYXRzIG5ldmVyIHRlcm1pbmF0ZSB0aGUgbGluZS4KICAgICAgICAgfSBlbHNlCiAgICAg
ICAgICAgICByZXN1bHQgPSBoYW5kbGVJbmxpbmVDb250ZW50KGlubGluZUNvbnRlbnRCcmVha2Vy
LCBuZWVkc0xheW91dFJhbmdlLCBsaW5lQ2FuZGlkYXRlKTsKICAgICAgICAgY29tbWl0dGVkSW5s
aW5lSXRlbUNvdW50ID0gcmVzdWx0LmNvbW1pdHRlZENvdW50LmlzUmV2ZXJ0ID8gcmVzdWx0LmNv
bW1pdHRlZENvdW50LnZhbHVlIDogY29tbWl0dGVkSW5saW5lSXRlbUNvdW50ICsgcmVzdWx0LmNv
bW1pdHRlZENvdW50LnZhbHVlOwpAQCAtMzQ2LDEyICszNDQsMTIgQEAgTGluZUJ1aWxkZXI6Oklu
bGluZUl0ZW1SYW5nZSBMaW5lQnVpbGRlcjo6Y2xvc2UoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBu
ZWVkc0xheW8KICAgICAgICAgLy8gTGluZSBpcyBlbXB0eSwgd2Ugb25seSBtYW5hZ2VkIHRvIHBs
YWNlIGZsb2F0IGJveGVzLgogICAgICAgICByZXR1cm4gbGluZVJhbmdlOwogICAgIH0KLSAgICBh
dXRvIGF2YWlsYWJsZVdpZHRoID0gbV9ob3Jpem9udGFsU3BhY2VGb3JMaW5lIC0gbV9saW5lLmNv
bnRlbnRMb2dpY2FsV2lkdGgoKTsKKyAgICBhdXRvIGF2YWlsYWJsZVdpZHRoID0gbV9saW5lTG9n
aWNhbFJlY3Qud2lkdGgoKSAtIG1fbGluZS5jb250ZW50TG9naWNhbFdpZHRoKCk7CiAgICAgbV9s
aW5lLnJlbW92ZUNvbGxhcHNpYmxlQ29udGVudChhdmFpbGFibGVXaWR0aCk7CiAgICAgYXV0byBo
b3Jpem9udGFsQWxpZ25tZW50ID0gcm9vdCgpLnN0eWxlKCkudGV4dEFsaWduKCk7CiAgICAgYXV0
byBydW5zRXhwYW5kSG9yaXpvbnRhbGx5ID0gaG9yaXpvbnRhbEFsaWdubWVudCA9PSBUZXh0QWxp
Z25Nb2RlOjpKdXN0aWZ5ICYmICFpc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQobGluZVJhbmdl
LCBuZWVkc0xheW91dFJhbmdlLmVuZCwgY29tbWl0dGVkQ29udGVudC5wYXJ0aWFsVHJhaWxpbmdD
b250ZW50TGVuZ3RoKTsKICAgICBpZiAocnVuc0V4cGFuZEhvcml6b250YWxseSkKLSAgICAgICAg
bV9saW5lLmFwcGx5UnVuRXhwYW5zaW9uKG1faG9yaXpvbnRhbFNwYWNlRm9yTGluZSAtIG1fbGlu
ZS5jb250ZW50TG9naWNhbFdpZHRoKCkpOworICAgICAgICBtX2xpbmUuYXBwbHlSdW5FeHBhbnNp
b24obV9saW5lTG9naWNhbFJlY3Qud2lkdGgoKSAtIG1fbGluZS5jb250ZW50TG9naWNhbFdpZHRo
KCkpOwogICAgIGF1dG8gbGluZUVuZHNXaXRoSHlwaGVuID0gZmFsc2U7CiAgICAgaWYgKCFtX2xp
bmUuaXNDb25zaWRlcmVkRW1wdHkoKSkgewogICAgICAgICBBU1NFUlQoIW1fbGluZS5ydW5zKCku
aXNFbXB0eSgpKTsKQEAgLTM2Miw3ICszNjAsNyBAQCBMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJh
bmdlIExpbmVCdWlsZGVyOjpjbG9zZShjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5bwog
ICAgIHJldHVybiBsaW5lUmFuZ2U7CiB9CiAKLUxpbmVCdWlsZGVyOjpVc2VkQ29uc3RyYWludHMg
TGluZUJ1aWxkZXI6OmNvbnN0cmFpbnRzRm9yTGluZShjb25zdCBJbmxpbmVSZWN0JiBsaW5lTG9n
aWNhbENvbnN0cmFpbnRzLCBib29sIGlzRmlyc3RMaW5lKQorTGluZUJ1aWxkZXI6OlVzZWRDb25z
dHJhaW50cyBMaW5lQnVpbGRlcjo6aW5pdGlhbENvbnN0cmFpbnRzRm9yTGluZShjb25zdCBJbmxp
bmVSZWN0JiBsaW5lTG9naWNhbENvbnN0cmFpbnRzLCBib29sIGlzRmlyc3RMaW5lKQogewogICAg
IGF1dG8gbGluZUxvZ2ljYWxMZWZ0ID0gbGluZUxvZ2ljYWxDb25zdHJhaW50cy5sZWZ0KCk7CiAg
ICAgYXV0byBsaW5lTG9naWNhbFRvcCA9IGxpbmVMb2dpY2FsQ29uc3RyYWludHMudG9wKCk7CkBA
IC00MzYsNyArNDM0LDcgQEAgTGluZUJ1aWxkZXI6OlVzZWRDb25zdHJhaW50cyBMaW5lQnVpbGRl
cjo6Y29uc3RyYWludHNGb3JMaW5lKGNvbnN0IElubGluZVJlY3QmIGwKICAgICAgICAgcmV0dXJu
IHsgbWluaW11bVZhbHVlRm9yTGVuZ3RoKHRleHRJbmRlbnQsIGxpbmVMb2dpY2FsQ29uc3RyYWlu
dHMud2lkdGgoKSkgfTsKICAgICB9OwogICAgIGxpbmVMb2dpY2FsTGVmdCArPSBjb21wdXRlZFRl
eHRJbmRlbnQoKTsKLSAgICByZXR1cm4gVXNlZENvbnN0cmFpbnRzIHsgeyBsaW5lTG9naWNhbExl
ZnQsIGxpbmVMb2dpY2FsVG9wIH0sIGxpbmVMb2dpY2FsUmlnaHQgLSBsaW5lTG9naWNhbExlZnQs
IGxpbmVJc0NvbnN0cmFpbmVkQnlGbG9hdCB9OworICAgIHJldHVybiBVc2VkQ29uc3RyYWludHMg
eyB7IGxpbmVMb2dpY2FsVG9wLCBsaW5lTG9naWNhbExlZnQsIGxpbmVMb2dpY2FsUmlnaHQgLSBs
aW5lTG9naWNhbExlZnQsIGxpbmVMb2dpY2FsQ29uc3RyYWludHMuaGVpZ2h0KCkgfSwgbGluZUlz
Q29uc3RyYWluZWRCeUZsb2F0IH07CiB9CiAKIHZvaWQgTGluZUJ1aWxkZXI6OmNhbmRpZGF0ZUNv
bnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHNpemVfdCBjdXJyZW50
SW5saW5lSXRlbUluZGV4LCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlLCBzaXpl
X3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBJbmxpbmVMYXlvdXRVbml0IGN1cnJlbnRM
b2dpY2FsUmlnaHQpCkBAIC01NDIsMzQgKzU0MCwzNCBAQCBzaXplX3QgTGluZUJ1aWxkZXI6Om5l
eHRXcmFwT3Bwb3J0dW5pdHkoc2l6ZV90IHN0YXJ0SW5kZXgsIGNvbnN0IExpbmVCdWlsZGVyOjpJ
bgogICAgIHJldHVybiBsYXlvdXRSYW5nZS5lbmQ7CiB9CiAKLUxpbmVCdWlsZGVyOjpSZXN1bHQg
TGluZUJ1aWxkZXI6OmhhbmRsZUZsb2F0Q29udGVudChjb25zdCBJbmxpbmVJdGVtJiBmbG9hdEl0
ZW0pCit2b2lkIExpbmVCdWlsZGVyOjpoYW5kbGVGbG9hdENvbnRlbnQoY29uc3QgSW5saW5lSXRl
bSYgZmxvYXRJdGVtKQogewotICAgIGF1dG8gYXZhaWxhYmxlV2lkdGggPSBtX2hvcml6b250YWxT
cGFjZUZvckxpbmUgLSBtX2xpbmUuY29udGVudExvZ2ljYWxXaWR0aCgpOwotICAgIGF1dG8gZmxv
YXRCb3hXaWR0aCA9IGlubGluZUl0ZW1XaWR0aChmbG9hdEl0ZW0sIHsgfSk7Ci0gICAgaWYgKGZs
b2F0Qm94V2lkdGggPiBhdmFpbGFibGVXaWR0aCAmJiAhbV9saW5lLmlzQ29uc2lkZXJlZEVtcHR5
KCkpCi0gICAgICAgIHJldHVybiB7IElubGluZUNvbnRlbnRCcmVha2VyOjpJc0VuZE9mTGluZTo6
WWVzIH07Ci0gICAgLy8gVGhpcyBmbG9hdCBzaHJpbmtzIHRoZSBjdXJyZW50IGxpbmUuCiAgICAg
YXV0byYgZmxvYXRCb3ggPSBmbG9hdEl0ZW0ubGF5b3V0Qm94KCk7CiAgICAgbV9mbG9hdHMuYXBw
ZW5kKCZmbG9hdEJveCk7Ci0gICAgbV9jb250ZW50SXNDb25zdHJhaW5lZEJ5RmxvYXQgPSB0cnVl
OwogCi0gICAgaWYgKGF1dG8qIGZsb2F0aW5nU3RhdGUgPSB0aGlzLT5mbG9hdGluZ1N0YXRlKCkp
IHsKLSAgICAgICAgQVNTRVJUKGZvcm1hdHRpbmdTdGF0ZSgpKTsKLSAgICAgICAgYXV0byYgYm94
R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUoKS0+Ym94R2VvbWV0cnkoZmxvYXRCb3gpOwotICAg
ICAgICAvLyBTZXQgc3RhdGljIHBvc2l0aW9uIGZpcnN0LgotICAgICAgICBib3hHZW9tZXRyeS5z
ZXRMb2dpY2FsVG9wTGVmdChMYXlvdXRQb2ludCB7IG1fbGluZUxvZ2ljYWxUb3BMZWZ0IH0pOwot
ICAgICAgICAvLyBGbG9hdCBpdC4KLSAgICAgICAgQVNTRVJUKG1fcm9vdEhvcml6b250YWxDb25z
dHJhaW50cyk7Ci0gICAgICAgIGF1dG8gZmxvYXRpbmdDb250ZXh0ID0gRmxvYXRpbmdDb250ZXh0
IHsgZm9ybWF0dGluZ0NvbnRleHQoKSwgKmZsb2F0aW5nU3RhdGUgfTsKLSAgICAgICAgYXV0byBm
bG9hdGluZ1Bvc2l0aW9uID0gZmxvYXRpbmdDb250ZXh0LnBvc2l0aW9uRm9yRmxvYXQoZmxvYXRC
b3gsICptX3Jvb3RIb3Jpem9udGFsQ29uc3RyYWludHMpOwotICAgICAgICBib3hHZW9tZXRyeS5z
ZXRMb2dpY2FsVG9wTGVmdChmbG9hdGluZ1Bvc2l0aW9uKTsKLSAgICAgICAgZmxvYXRpbmdTdGF0
ZS0+YXBwZW5kKGZsb2F0aW5nQ29udGV4dC50b0Zsb2F0SXRlbShmbG9hdEJveCkpOwotICAgIH0K
KyAgICBhdXRvKiBmbG9hdGluZ1N0YXRlID0gdGhpcy0+ZmxvYXRpbmdTdGF0ZSgpOworICAgIGlm
ICghZmxvYXRpbmdTdGF0ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUKGZvcm1hdHRp
bmdTdGF0ZSgpKTsKKyAgICBhdXRvJiBib3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdTdGF0ZSgpLT5i
b3hHZW9tZXRyeShmbG9hdEJveCk7CisgICAgLy8gU2V0IHN0YXRpYyBwb3NpdGlvbiBmaXJzdC4K
KyAgICBib3hHZW9tZXRyeS5zZXRMb2dpY2FsVG9wTGVmdChMYXlvdXRQb2ludCB7IG1fbGluZUxv
Z2ljYWxSZWN0LnRvcExlZnQoKSB9KTsKKyAgICAvLyBGbG9hdCBpdC4KKyAgICBBU1NFUlQobV9y
b290SG9yaXpvbnRhbENvbnN0cmFpbnRzKTsKKyAgICBhdXRvIGZsb2F0aW5nQ29udGV4dCA9IEZs
b2F0aW5nQ29udGV4dCB7IGZvcm1hdHRpbmdDb250ZXh0KCksICpmbG9hdGluZ1N0YXRlIH07Cisg
ICAgYXV0byBmbG9hdGluZ1Bvc2l0aW9uID0gZmxvYXRpbmdDb250ZXh0LnBvc2l0aW9uRm9yRmxv
YXQoZmxvYXRCb3gsICptX3Jvb3RIb3Jpem9udGFsQ29uc3RyYWludHMpOworICAgIGJveEdlb21l
dHJ5LnNldExvZ2ljYWxUb3BMZWZ0KGZsb2F0aW5nUG9zaXRpb24pOworICAgIGZsb2F0aW5nU3Rh
dGUtPmFwcGVuZChmbG9hdGluZ0NvbnRleHQudG9GbG9hdEl0ZW0oZmxvYXRCb3gpKTsKKyAgICAv
LyBDaGVjayBpZiB0aGlzIGZsb2F0IHNocmlua3MgdGhlIGxpbmUgKHRoZXkgZG9uJ3QgZ2V0IHBv
c2l0aW9uZWQgaGlnaGVyIHRoYW4gdGhlIGxpbmUpLgorICAgIGlmIChmbG9hdGluZ1Bvc2l0aW9u
LnkoKSA+IG1fbGluZUxvZ2ljYWxSZWN0LmJvdHRvbSgpKQorICAgICAgICByZXR1cm47CiAKKyAg
ICBtX2NvbnRlbnRJc0NvbnN0cmFpbmVkQnlGbG9hdCA9IHRydWU7CisgICAgYXV0byBmbG9hdEJv
eFdpZHRoID0gaW5saW5lSXRlbVdpZHRoKGZsb2F0SXRlbSwgeyB9KTsKICAgICBpZiAoZmxvYXRC
b3guaXNMZWZ0RmxvYXRpbmdQb3NpdGlvbmVkKCkpCiAgICAgICAgIG1fbGluZS5tb3ZlTG9naWNh
bExlZnQoZmxvYXRCb3hXaWR0aCk7Ci0gICAgbV9ob3Jpem9udGFsU3BhY2VGb3JMaW5lIC09IGZs
b2F0Qm94V2lkdGg7Ci0gICAgcmV0dXJuIHsgSW5saW5lQ29udGVudEJyZWFrZXI6OklzRW5kT2ZM
aW5lOjpObyB9OworICAgIG1fbGluZUxvZ2ljYWxSZWN0LmV4cGFuZFZlcnRpY2FsbHkoLWZsb2F0
Qm94V2lkdGgpOwogfQogCiBMaW5lQnVpbGRlcjo6UmVzdWx0IExpbmVCdWlsZGVyOjpoYW5kbGVJ
bmxpbmVDb250ZW50KElubGluZUNvbnRlbnRCcmVha2VyJiBpbmxpbmVDb250ZW50QnJlYWtlciwg
Y29uc3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgY29uc3QgTGluZUNhbmRpZGF0ZSYg
bGluZUNhbmRpZGF0ZSkKQEAgLTU3OSw3ICs1NzcsNyBAQCBMaW5lQnVpbGRlcjo6UmVzdWx0IExp
bmVCdWlsZGVyOjpoYW5kbGVJbmxpbmVDb250ZW50KElubGluZUNvbnRlbnRCcmVha2VyJiBpbmxp
bgogICAgICAgICBBU1NFUlQoaW5saW5lQ29udGVudC50cmFpbGluZ0xpbmVCcmVhaygpIHx8IGlu
bGluZUNvbnRlbnQudHJhaWxpbmdXb3JkQnJlYWtPcHBvcnR1bml0eSgpKTsKICAgICAgICAgcmV0
dXJuIHsgaW5saW5lQ29udGVudC50cmFpbGluZ0xpbmVCcmVhaygpID8gSW5saW5lQ29udGVudEJy
ZWFrZXI6OklzRW5kT2ZMaW5lOjpZZXMgOiBJbmxpbmVDb250ZW50QnJlYWtlcjo6SXNFbmRPZkxp
bmU6Ok5vIH07CiAgICAgfQotICAgIGF1dG8gYXZhaWxhYmxlV2lkdGggPSBtX2hvcml6b250YWxT
cGFjZUZvckxpbmUgLSBtX2xpbmUuY29udGVudExvZ2ljYWxXaWR0aCgpOworICAgIGF1dG8gYXZh
aWxhYmxlV2lkdGggPSBtX2xpbmVMb2dpY2FsUmVjdC53aWR0aCgpIC0gbV9saW5lLmNvbnRlbnRM
b2dpY2FsV2lkdGgoKTsKICAgICBhdXRvIHNob3VsZERpc2FibGVIeXBoZW5hdGlvbiA9IFsmXSB7
CiAgICAgICAgIGF1dG8mIHN0eWxlID0gcm9vdCgpLnN0eWxlKCk7CiAgICAgICAgIHVuc2lnbmVk
IGxpbWl0TGluZXMgPSBzdHlsZS5oeXBoZW5hdGlvbkxpbWl0TGluZXMoKSA9PSBSZW5kZXJTdHls
ZTo6aW5pdGlhbEh5cGhlbmF0aW9uTGltaXRMaW5lcygpID8gc3RkOjpudW1lcmljX2xpbWl0czx1
bnNpZ25lZD46Om1heCgpIDogc3R5bGUuaHlwaGVuYXRpb25MaW1pdExpbmVzKCk7CkBAIC03MDIs
NyArNzAwLDcgQEAgc2l6ZV90IExpbmVCdWlsZGVyOjpyZWJ1aWxkTGluZUZvclRyYWlsaW5nU29m
dEh5cGhlbihjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW8KICAgICAgICAgLy8gRklYTUU6IElm
IHRoaXMgdHVybnMgb3V0IHRvIGJlIGEgcGVyZiBpc3N1ZSwgd2UgY291bGQgYWxzbyB0cmF2ZXJz
ZSB0aGUgd3JhcCBsaXN0IGFuZCBrZWVwIGFkZGluZyB0aGUgaXRlbXMKICAgICAgICAgLy8gd2hp
bGUgd2F0Y2hpbmcgdGhlIGF2YWlsYWJsZSB3aWR0aCB2ZXJ5IGNsb3NlbHkuCiAgICAgICAgIGF1
dG8gY29tbWl0dGVkQ291bnQgPSByZWJ1aWxkTGluZShsYXlvdXRSYW5nZSwgc29mdFdyYXBPcHBv
cnR1bml0eUl0ZW0pOwotICAgICAgICBhdXRvIGF2YWlsYWJsZVdpZHRoID0gbV9ob3Jpem9udGFs
U3BhY2VGb3JMaW5lIC0gbV9saW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgYXV0
byBhdmFpbGFibGVXaWR0aCA9IG1fbGluZUxvZ2ljYWxSZWN0LndpZHRoKCkgLSBtX2xpbmUuY29u
dGVudExvZ2ljYWxXaWR0aCgpOwogICAgICAgICBhdXRvIHRyYWlsaW5nU29mdEh5cGhlbldpZHRo
ID0gbV9saW5lLnRyYWlsaW5nU29mdEh5cGhlbldpZHRoKCk7CiAgICAgICAgIC8vIENoZWNrIGlm
IHRoZSB0cmFpbGluZyBoeXBoZW4gbm93IGZpdHMgdGhlIGxpbmUgKG9yIHdlIGRvbid0IG5lZWQg
aHloZW4gYW55bW9yZSkuCiAgICAgICAgIGlmICghdHJhaWxpbmdTb2Z0SHlwaGVuV2lkdGggfHwg
dHJhaWxpbmdTb2Z0SHlwaGVuV2lkdGggPD0gYXZhaWxhYmxlV2lkdGgpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVp
bGRlci5oCmluZGV4IDdmYzdkZGMzZjk4ZmFhMjUzMDA5ZDc1MjEzNDg2Y2ZmYTY5NzU5Y2IuLjdk
YTUzZTlkZmY1OGU4NDRmNjExMDkzNDEzZjc4OTY3NTNkYzk4OWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxk
ZXIuaApAQCAtNjEsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgaXNMYXN0TGluZVdp
dGhJbmxpbmVDb250ZW50IHsgdHJ1ZSB9OwogICAgICAgICBjb25zdCBMaW5lOjpSdW5MaXN0JiBy
dW5zOwogICAgIH07Ci0gICAgTGluZUNvbnRlbnQgbGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJ
bmxpbmVJdGVtUmFuZ2UmLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBjb25z
dCBJbmxpbmVSZWN0JiBpbml0aWFsQ29uc3RyYWludHNGb3JMaW5lLCBib29sIGlzRmlyc3RMaW5l
KTsKKyAgICBMaW5lQ29udGVudCBsYXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1S
YW5nZSYsIHNpemVfdCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIGNvbnN0IElubGluZVJl
Y3QmIGluaXRpYWxMaW5lTG9naWNhbFJlY3QsIGJvb2wgaXNGaXJzdExpbmUpOwogCiAgICAgc3Ry
dWN0IEludHJpbnNpY0NvbnRlbnQgewogICAgICAgICBJbmxpbmVJdGVtUmFuZ2UgaW5saW5lSXRl
bVJhbmdlOwpAQCAtODQsMTIgKzg0LDExIEBAIHByaXZhdGU6CiAgICAgICAgIHNpemVfdCBwYXJ0
aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoIHsgMCB9OwogICAgIH07CiAgICAgc3RydWN0IFVzZWRD
b25zdHJhaW50cyB7Ci0gICAgICAgIElubGluZUxheW91dFBvaW50IGxvZ2ljYWxUb3BMZWZ0Owot
ICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCB7IDAgfTsKKyAgICAgICAgSW5s
aW5lUmVjdCBsb2dpY2FsUmVjdDsKICAgICAgICAgYm9vbCBpc0NvbnN0cmFpbmVkQnlGbG9hdCB7
IGZhbHNlIH07CiAgICAgfTsKLSAgICBVc2VkQ29uc3RyYWludHMgY29uc3RyYWludHNGb3JMaW5l
KGNvbnN0IElubGluZVJlY3QmIGluaXRpYWxMaW5lQ29uc3RyYWludHMsIGJvb2wgaXNGaXJzdExp
bmUpOwotICAgIFJlc3VsdCBoYW5kbGVGbG9hdENvbnRlbnQoY29uc3QgSW5saW5lSXRlbSYpOwor
ICAgIFVzZWRDb25zdHJhaW50cyBpbml0aWFsQ29uc3RyYWludHNGb3JMaW5lKGNvbnN0IElubGlu
ZVJlY3QmIGluaXRpYWxMaW5lQ29uc3RyYWludHMsIGJvb2wgaXNGaXJzdExpbmUpOworICAgIHZv
aWQgaGFuZGxlRmxvYXRDb250ZW50KGNvbnN0IElubGluZUl0ZW0mKTsKICAgICBSZXN1bHQgaGFu
ZGxlSW5saW5lQ29udGVudChJbmxpbmVDb250ZW50QnJlYWtlciYsIGNvbnN0IElubGluZUl0ZW1S
YW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgY29uc3QgTGluZUNhbmRpZGF0ZSYpOwogICAgIHNpemVf
dCByZWJ1aWxkTGluZShjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIGNv
bnN0IElubGluZUl0ZW0mIGxhc3RJbmxpbmVJdGVtVG9BZGQpOwogICAgIHNpemVfdCByZWJ1aWxk
TGluZUZvclRyYWlsaW5nU29mdEh5cGhlbihjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJh
bmdlKTsKQEAgLTExNyw4ICsxMTYsNyBAQCBwcml2YXRlOgogICAgIE9wdGlvbmFsPEhvcml6b250
YWxDb25zdHJhaW50cz4gbV9yb290SG9yaXpvbnRhbENvbnN0cmFpbnRzOwogCiAgICAgTGluZSBt
X2xpbmU7Ci0gICAgSW5saW5lTGF5b3V0UG9pbnQgbV9saW5lTG9naWNhbFRvcExlZnQ7Ci0gICAg
SW5saW5lTGF5b3V0VW5pdCBtX2hvcml6b250YWxTcGFjZUZvckxpbmUgeyAwIH07CisgICAgSW5s
aW5lUmVjdCBtX2xpbmVMb2dpY2FsUmVjdDsKICAgICBjb25zdCBJbmxpbmVJdGVtcyYgbV9pbmxp
bmVJdGVtczsKICAgICBGbG9hdExpc3QgbV9mbG9hdHM7CiAgICAgT3B0aW9uYWw8SW5saW5lVGV4
dEl0ZW0+IG1fcGFydGlhbExlYWRpbmdUZXh0SXRlbTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415422</attachid>
            <date>2020-12-04 09:18:06 -0800</date>
            <delta_ts>2020-12-04 09:57:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219525-20201204091806.patch</filename>
            <type>text/plain</type>
            <size>15704</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzdhNGUxNWEzNTlkNTFm
NWEzNmFlYWVjMjk5Zjc1ZGQ2MDQzOTY3My4uNjc1ZmZjNTc1MDE0M2Q0OGYwYjQ5NzgxZWZlNmNj
YzM3NmNjMzEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTEyLTA0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBPbmx5IHNo
cmluayB0aGUgbGluZSB3aXRoIHRoZSBmbG9hdCB3aGVuIGl0IGlzIGludHJ1c2l2ZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5NTI1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgSW4gdGhpcyBwYXRjaCB3
ZSBjaGVjayBpZiB0aGUgcG9zaXRpb25lZCBmbG9hdCBib3ggYWN0dWFsbHkgaW50ZXJzZWN0cyB0
aGUgbGluZSBhbmQgc2hyaW5rIHRoZSBhdmFpbGFibGUgd2lkdGggYWNjb3JkaW5nbHkuIAorCisg
ICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpjb21wdXRlZEludHJp
bnNpY1dpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmluaXRp
YWxpemUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6cGxhY2VJbmxp
bmVDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmNsb3Nl
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmluaXRpYWxDb25zdHJh
aW50c0ZvckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6aGFu
ZGxlRmxvYXRDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6
OmhhbmRsZUlubGluZUNvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVp
bGRlcjo6cmVidWlsZExpbmVGb3JUcmFpbGluZ1NvZnRIeXBoZW4pOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6Y29uc3RyYWludHNGb3JMaW5lKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5oOgorCiAy
MDIwLTEyLTA0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xG
Q11bSUZDXSBGbG9hdCBwb3NpdGlvbmluZyBuZWVkcyB0byBoYXBwZW4gd2hpbGUgYnVpbGRpbmcg
dGhlIGxpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcAppbmRleCAyNGYxZDNjZWZmOTZmN2FhNDgx
YjU2NGRjZjlhNWZjYzFhOTliZjQ5Li44ZDFhZDI0MDEwNGIwMTVjY2FjYzk2ZWExNmNlZTFlYTM1
MWQ4ODM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwCkBAIC0yNDcsMTkgKzI0NywxNyBAQCBM
aW5lQnVpbGRlcjo6TGluZUJ1aWxkZXIoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIGlu
bGluZUZvcm1hdHRpbmdDb250ZXh0LAogewogfQogCi1MaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQg
TGluZUJ1aWxkZXI6OmxheW91dElubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBu
ZWVkc0xheW91dFJhbmdlLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBjb25z
dCBJbmxpbmVSZWN0JiBpbml0aWFsQ29uc3RyYWludHNGb3JMaW5lLCBib29sIGlzRmlyc3RMaW5l
KQorTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50IExpbmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250
ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgc2l6ZV90IHBhcnRp
YWxMZWFkaW5nQ29udGVudExlbmd0aCwgY29uc3QgSW5saW5lUmVjdCYgaW5pdGlhbExpbmVMb2dp
Y2FsUmVjdCwgYm9vbCBpc0ZpcnN0TGluZSkKIHsKLSAgICBhdXRvIHVzZWRDb25zdHJhaW50cyA9
IGNvbnN0cmFpbnRzRm9yTGluZShpbml0aWFsQ29uc3RyYWludHNGb3JMaW5lLCBpc0ZpcnN0TGlu
ZSk7Ci0gICAgaW5pdGlhbGl6ZSh1c2VkQ29uc3RyYWludHMpOworICAgIGluaXRpYWxpemUoaW5p
dGlhbENvbnN0cmFpbnRzRm9yTGluZShpbml0aWFsTGluZUxvZ2ljYWxSZWN0LCBpc0ZpcnN0TGlu
ZSkpOwogCiAgICAgYXV0byBjb21taXR0ZWRDb250ZW50ID0gcGxhY2VJbmxpbmVDb250ZW50KG5l
ZWRzTGF5b3V0UmFuZ2UsIHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCk7CiAgICAgYXV0byBj
b21taXR0ZWRSYW5nZSA9IGNsb3NlKG5lZWRzTGF5b3V0UmFuZ2UsIGNvbW1pdHRlZENvbnRlbnQp
OwogCi0gICAgYXV0byBsaW5lTG9naWNhbFRvcExlZnQgPSB1c2VkQ29uc3RyYWludHMubG9naWNh
bFRvcExlZnQ7CiAgICAgYXV0byBpc0xhc3RMaW5lID0gaXNMYXN0TGluZVdpdGhJbmxpbmVDb250
ZW50KGNvbW1pdHRlZFJhbmdlLCBuZWVkc0xheW91dFJhbmdlLmVuZCwgY29tbWl0dGVkQ29udGVu
dC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoKTsKICAgICByZXR1cm4gTGluZUNvbnRlbnQg
eyBjb21taXR0ZWRSYW5nZSwgY29tbWl0dGVkQ29udGVudC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50
TGVuZ3RoLCBtX2Zsb2F0cywgbV9jb250ZW50SXNDb25zdHJhaW5lZEJ5RmxvYXQKLSAgICAgICAg
LCBsaW5lTG9naWNhbFRvcExlZnQKLSAgICAgICAgLCBtX2hvcml6b250YWxTcGFjZUZvckxpbmUK
KyAgICAgICAgLCBtX2xpbmVMb2dpY2FsUmVjdC50b3BMZWZ0KCkKKyAgICAgICAgLCBtX2xpbmVM
b2dpY2FsUmVjdC53aWR0aCgpCiAgICAgICAgICwgbV9saW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgo
KQogICAgICAgICAsIG1fbGluZS5pc0NvbnNpZGVyZWRFbXB0eSgpCiAgICAgICAgICwgaXNMYXN0
TGluZQpAQCAtMjY4LDcgKzI2Niw3IEBAIExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCBMaW5lQnVp
bGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmCiAKIExpbmVC
dWlsZGVyOjpJbnRyaW5zaWNDb250ZW50IExpbmVCdWlsZGVyOjpjb21wdXRlZEludHJpbnNpY1dp
ZHRoKGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgSW5saW5lTGF5b3V0
VW5pdCBhdmFpbGFibGVXaWR0aCkKIHsKLSAgICBpbml0aWFsaXplKHsgeyB9LCBhdmFpbGFibGVX
aWR0aCwgZmFsc2UgfSk7CisgICAgaW5pdGlhbGl6ZSh7IHsgeyB9LCB7IGF2YWlsYWJsZVdpZHRo
LCBtYXhJbmxpbmVMYXlvdXRVbml0KCkgfSB9LCBmYWxzZSB9KTsKICAgICBhdXRvIGNvbW1pdHRl
ZENvbnRlbnQgPSBwbGFjZUlubGluZUNvbnRlbnQobmVlZHNMYXlvdXRSYW5nZSwgeyB9KTsKICAg
ICBhdXRvIGNvbW1pdHRlZFJhbmdlID0gY2xvc2UobmVlZHNMYXlvdXRSYW5nZSwgY29tbWl0dGVk
Q29udGVudCk7CiAgICAgcmV0dXJuIHsgY29tbWl0dGVkUmFuZ2UsIG1fbGluZS5jb250ZW50TG9n
aWNhbFdpZHRoKCksIG1fZmxvYXRzIH07CkBAIC0yODEsOSArMjc5LDggQEAgdm9pZCBMaW5lQnVp
bGRlcjo6aW5pdGlhbGl6ZShjb25zdCBVc2VkQ29uc3RyYWludHMmIGxpbmVDb25zdHJhaW50cykK
ICAgICBtX3dyYXBPcHBvcnR1bml0eUxpc3QuY2xlYXIoKTsKIAogICAgIG1fbGluZS5pbml0aWFs
aXplKCk7CisgICAgbV9saW5lTG9naWNhbFJlY3QgPSBsaW5lQ29uc3RyYWludHMubG9naWNhbFJl
Y3Q7CiAgICAgbV9jb250ZW50SXNDb25zdHJhaW5lZEJ5RmxvYXQgPSBsaW5lQ29uc3RyYWludHMu
aXNDb25zdHJhaW5lZEJ5RmxvYXQ7Ci0gICAgbV9ob3Jpem9udGFsU3BhY2VGb3JMaW5lID0gbGlu
ZUNvbnN0cmFpbnRzLmxvZ2ljYWxXaWR0aDsgCi0gICAgbV9saW5lTG9naWNhbFRvcExlZnQgPSBs
aW5lQ29uc3RyYWludHMubG9naWNhbFRvcExlZnQ7CiB9CiAKIExpbmVCdWlsZGVyOjpDb21taXR0
ZWRDb250ZW50IExpbmVCdWlsZGVyOjpwbGFjZUlubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRl
bVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVu
Z3RoKQpAQCAtMzAzLDcgKzMwMCw4IEBAIExpbmVCdWlsZGVyOjpDb21taXR0ZWRDb250ZW50IExp
bmVCdWlsZGVyOjpwbGFjZUlubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhCiAgICAgICAg
IGF1dG8gcmVzdWx0ID0gUmVzdWx0IHsgfTsKICAgICAgICAgaWYgKGxpbmVDYW5kaWRhdGUuZmxv
YXRJdGVtKSB7CiAgICAgICAgICAgICBBU1NFUlQobGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50
LmlzRW1wdHkoKSk7Ci0gICAgICAgICAgICByZXN1bHQgPSBoYW5kbGVGbG9hdENvbnRlbnQoKmxp
bmVDYW5kaWRhdGUuZmxvYXRJdGVtKTsKKyAgICAgICAgICAgIGhhbmRsZUZsb2F0Q29udGVudCgq
bGluZUNhbmRpZGF0ZS5mbG9hdEl0ZW0pOworICAgICAgICAgICAgLy8gRmxvYXRzIG5ldmVyIHRl
cm1pbmF0ZSB0aGUgbGluZS4KICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICByZXN1bHQgPSBo
YW5kbGVJbmxpbmVDb250ZW50KGlubGluZUNvbnRlbnRCcmVha2VyLCBuZWVkc0xheW91dFJhbmdl
LCBsaW5lQ2FuZGlkYXRlKTsKICAgICAgICAgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50ID0gcmVz
dWx0LmNvbW1pdHRlZENvdW50LmlzUmV2ZXJ0ID8gcmVzdWx0LmNvbW1pdHRlZENvdW50LnZhbHVl
IDogY29tbWl0dGVkSW5saW5lSXRlbUNvdW50ICsgcmVzdWx0LmNvbW1pdHRlZENvdW50LnZhbHVl
OwpAQCAtMzQ2LDEyICszNDQsMTIgQEAgTGluZUJ1aWxkZXI6OklubGluZUl0ZW1SYW5nZSBMaW5l
QnVpbGRlcjo6Y2xvc2UoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW8KICAgICAgICAg
Ly8gTGluZSBpcyBlbXB0eSwgd2Ugb25seSBtYW5hZ2VkIHRvIHBsYWNlIGZsb2F0IGJveGVzLgog
ICAgICAgICByZXR1cm4gbGluZVJhbmdlOwogICAgIH0KLSAgICBhdXRvIGF2YWlsYWJsZVdpZHRo
ID0gbV9ob3Jpem9udGFsU3BhY2VGb3JMaW5lIC0gbV9saW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgo
KTsKKyAgICBhdXRvIGF2YWlsYWJsZVdpZHRoID0gbV9saW5lTG9naWNhbFJlY3Qud2lkdGgoKSAt
IG1fbGluZS5jb250ZW50TG9naWNhbFdpZHRoKCk7CiAgICAgbV9saW5lLnJlbW92ZUNvbGxhcHNp
YmxlQ29udGVudChhdmFpbGFibGVXaWR0aCk7CiAgICAgYXV0byBob3Jpem9udGFsQWxpZ25tZW50
ID0gcm9vdCgpLnN0eWxlKCkudGV4dEFsaWduKCk7CiAgICAgYXV0byBydW5zRXhwYW5kSG9yaXpv
bnRhbGx5ID0gaG9yaXpvbnRhbEFsaWdubWVudCA9PSBUZXh0QWxpZ25Nb2RlOjpKdXN0aWZ5ICYm
ICFpc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQobGluZVJhbmdlLCBuZWVkc0xheW91dFJhbmdl
LmVuZCwgY29tbWl0dGVkQ29udGVudC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoKTsKICAg
ICBpZiAocnVuc0V4cGFuZEhvcml6b250YWxseSkKLSAgICAgICAgbV9saW5lLmFwcGx5UnVuRXhw
YW5zaW9uKG1faG9yaXpvbnRhbFNwYWNlRm9yTGluZSAtIG1fbGluZS5jb250ZW50TG9naWNhbFdp
ZHRoKCkpOworICAgICAgICBtX2xpbmUuYXBwbHlSdW5FeHBhbnNpb24obV9saW5lTG9naWNhbFJl
Y3Qud2lkdGgoKSAtIG1fbGluZS5jb250ZW50TG9naWNhbFdpZHRoKCkpOwogICAgIGF1dG8gbGlu
ZUVuZHNXaXRoSHlwaGVuID0gZmFsc2U7CiAgICAgaWYgKCFtX2xpbmUuaXNDb25zaWRlcmVkRW1w
dHkoKSkgewogICAgICAgICBBU1NFUlQoIW1fbGluZS5ydW5zKCkuaXNFbXB0eSgpKTsKQEAgLTM2
Miw3ICszNjAsNyBAQCBMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJhbmdlIExpbmVCdWlsZGVyOjpj
bG9zZShjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5bwogICAgIHJldHVybiBsaW5lUmFu
Z2U7CiB9CiAKLUxpbmVCdWlsZGVyOjpVc2VkQ29uc3RyYWludHMgTGluZUJ1aWxkZXI6OmNvbnN0
cmFpbnRzRm9yTGluZShjb25zdCBJbmxpbmVSZWN0JiBsaW5lTG9naWNhbENvbnN0cmFpbnRzLCBi
b29sIGlzRmlyc3RMaW5lKQorTGluZUJ1aWxkZXI6OlVzZWRDb25zdHJhaW50cyBMaW5lQnVpbGRl
cjo6aW5pdGlhbENvbnN0cmFpbnRzRm9yTGluZShjb25zdCBJbmxpbmVSZWN0JiBsaW5lTG9naWNh
bENvbnN0cmFpbnRzLCBib29sIGlzRmlyc3RMaW5lKQogewogICAgIGF1dG8gbGluZUxvZ2ljYWxM
ZWZ0ID0gbGluZUxvZ2ljYWxDb25zdHJhaW50cy5sZWZ0KCk7CiAgICAgYXV0byBsaW5lTG9naWNh
bFRvcCA9IGxpbmVMb2dpY2FsQ29uc3RyYWludHMudG9wKCk7CkBAIC00MzYsNyArNDM0LDcgQEAg
TGluZUJ1aWxkZXI6OlVzZWRDb25zdHJhaW50cyBMaW5lQnVpbGRlcjo6Y29uc3RyYWludHNGb3JM
aW5lKGNvbnN0IElubGluZVJlY3QmIGwKICAgICAgICAgcmV0dXJuIHsgbWluaW11bVZhbHVlRm9y
TGVuZ3RoKHRleHRJbmRlbnQsIGxpbmVMb2dpY2FsQ29uc3RyYWludHMud2lkdGgoKSkgfTsKICAg
ICB9OwogICAgIGxpbmVMb2dpY2FsTGVmdCArPSBjb21wdXRlZFRleHRJbmRlbnQoKTsKLSAgICBy
ZXR1cm4gVXNlZENvbnN0cmFpbnRzIHsgeyBsaW5lTG9naWNhbExlZnQsIGxpbmVMb2dpY2FsVG9w
IH0sIGxpbmVMb2dpY2FsUmlnaHQgLSBsaW5lTG9naWNhbExlZnQsIGxpbmVJc0NvbnN0cmFpbmVk
QnlGbG9hdCB9OworICAgIHJldHVybiBVc2VkQ29uc3RyYWludHMgeyB7IGxpbmVMb2dpY2FsVG9w
LCBsaW5lTG9naWNhbExlZnQsIGxpbmVMb2dpY2FsUmlnaHQgLSBsaW5lTG9naWNhbExlZnQsIGxp
bmVMb2dpY2FsQ29uc3RyYWludHMuaGVpZ2h0KCkgfSwgbGluZUlzQ29uc3RyYWluZWRCeUZsb2F0
IH07CiB9CiAKIHZvaWQgTGluZUJ1aWxkZXI6OmNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKExpbmVD
YW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHNpemVfdCBjdXJyZW50SW5saW5lSXRlbUluZGV4LCBj
b25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlLCBzaXplX3QgcGFydGlhbExlYWRpbmdD
b250ZW50TGVuZ3RoLCBJbmxpbmVMYXlvdXRVbml0IGN1cnJlbnRMb2dpY2FsUmlnaHQpCkBAIC01
NDIsMzQgKzU0MCwzNiBAQCBzaXplX3QgTGluZUJ1aWxkZXI6Om5leHRXcmFwT3Bwb3J0dW5pdHko
c2l6ZV90IHN0YXJ0SW5kZXgsIGNvbnN0IExpbmVCdWlsZGVyOjpJbgogICAgIHJldHVybiBsYXlv
dXRSYW5nZS5lbmQ7CiB9CiAKLUxpbmVCdWlsZGVyOjpSZXN1bHQgTGluZUJ1aWxkZXI6OmhhbmRs
ZUZsb2F0Q29udGVudChjb25zdCBJbmxpbmVJdGVtJiBmbG9hdEl0ZW0pCit2b2lkIExpbmVCdWls
ZGVyOjpoYW5kbGVGbG9hdENvbnRlbnQoY29uc3QgSW5saW5lSXRlbSYgZmxvYXRJdGVtKQogewot
ICAgIGF1dG8gYXZhaWxhYmxlV2lkdGggPSBtX2hvcml6b250YWxTcGFjZUZvckxpbmUgLSBtX2xp
bmUuY29udGVudExvZ2ljYWxXaWR0aCgpOwotICAgIGF1dG8gZmxvYXRCb3hXaWR0aCA9IGlubGlu
ZUl0ZW1XaWR0aChmbG9hdEl0ZW0sIHsgfSk7Ci0gICAgaWYgKGZsb2F0Qm94V2lkdGggPiBhdmFp
bGFibGVXaWR0aCAmJiAhbV9saW5lLmlzQ29uc2lkZXJlZEVtcHR5KCkpCi0gICAgICAgIHJldHVy
biB7IElubGluZUNvbnRlbnRCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzIH07Ci0gICAgLy8gVGhp
cyBmbG9hdCBzaHJpbmtzIHRoZSBjdXJyZW50IGxpbmUuCiAgICAgYXV0byYgZmxvYXRCb3ggPSBm
bG9hdEl0ZW0ubGF5b3V0Qm94KCk7CiAgICAgbV9mbG9hdHMuYXBwZW5kKCZmbG9hdEJveCk7Ci0g
ICAgbV9jb250ZW50SXNDb25zdHJhaW5lZEJ5RmxvYXQgPSB0cnVlOwogCi0gICAgaWYgKGF1dG8q
IGZsb2F0aW5nU3RhdGUgPSB0aGlzLT5mbG9hdGluZ1N0YXRlKCkpIHsKLSAgICAgICAgQVNTRVJU
KGZvcm1hdHRpbmdTdGF0ZSgpKTsKLSAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0
aW5nU3RhdGUoKS0+Ym94R2VvbWV0cnkoZmxvYXRCb3gpOwotICAgICAgICAvLyBTZXQgc3RhdGlj
IHBvc2l0aW9uIGZpcnN0LgotICAgICAgICBib3hHZW9tZXRyeS5zZXRMb2dpY2FsVG9wTGVmdChM
YXlvdXRQb2ludCB7IG1fbGluZUxvZ2ljYWxUb3BMZWZ0IH0pOwotICAgICAgICAvLyBGbG9hdCBp
dC4KLSAgICAgICAgQVNTRVJUKG1fcm9vdEhvcml6b250YWxDb25zdHJhaW50cyk7Ci0gICAgICAg
IGF1dG8gZmxvYXRpbmdDb250ZXh0ID0gRmxvYXRpbmdDb250ZXh0IHsgZm9ybWF0dGluZ0NvbnRl
eHQoKSwgKmZsb2F0aW5nU3RhdGUgfTsKLSAgICAgICAgYXV0byBmbG9hdGluZ1Bvc2l0aW9uID0g
ZmxvYXRpbmdDb250ZXh0LnBvc2l0aW9uRm9yRmxvYXQoZmxvYXRCb3gsICptX3Jvb3RIb3Jpem9u
dGFsQ29uc3RyYWludHMpOwotICAgICAgICBib3hHZW9tZXRyeS5zZXRMb2dpY2FsVG9wTGVmdChm
bG9hdGluZ1Bvc2l0aW9uKTsKLSAgICAgICAgZmxvYXRpbmdTdGF0ZS0+YXBwZW5kKGZsb2F0aW5n
Q29udGV4dC50b0Zsb2F0SXRlbShmbG9hdEJveCkpOwotICAgIH0KKyAgICBhdXRvKiBmbG9hdGlu
Z1N0YXRlID0gdGhpcy0+ZmxvYXRpbmdTdGF0ZSgpOworICAgIGlmICghZmxvYXRpbmdTdGF0ZSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUKGZvcm1hdHRpbmdTdGF0ZSgpKTsKKyAgICBh
dXRvJiBib3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdTdGF0ZSgpLT5ib3hHZW9tZXRyeShmbG9hdEJv
eCk7CisgICAgLy8gU2V0IHN0YXRpYyBwb3NpdGlvbiBmaXJzdC4KKyAgICBib3hHZW9tZXRyeS5z
ZXRMb2dpY2FsVG9wTGVmdChMYXlvdXRQb2ludCB7IG1fbGluZUxvZ2ljYWxSZWN0LnRvcExlZnQo
KSB9KTsKKyAgICAvLyBGbG9hdCBpdC4KKyAgICBBU1NFUlQobV9yb290SG9yaXpvbnRhbENvbnN0
cmFpbnRzKTsKKyAgICBhdXRvIGZsb2F0aW5nQ29udGV4dCA9IEZsb2F0aW5nQ29udGV4dCB7IGZv
cm1hdHRpbmdDb250ZXh0KCksICpmbG9hdGluZ1N0YXRlIH07CisgICAgYXV0byBmbG9hdGluZ1Bv
c2l0aW9uID0gZmxvYXRpbmdDb250ZXh0LnBvc2l0aW9uRm9yRmxvYXQoZmxvYXRCb3gsICptX3Jv
b3RIb3Jpem9udGFsQ29uc3RyYWludHMpOworICAgIGJveEdlb21ldHJ5LnNldExvZ2ljYWxUb3BM
ZWZ0KGZsb2F0aW5nUG9zaXRpb24pOworICAgIGZsb2F0aW5nU3RhdGUtPmFwcGVuZChmbG9hdGlu
Z0NvbnRleHQudG9GbG9hdEl0ZW0oZmxvYXRCb3gpKTsKKyAgICAvLyBDaGVjayBpZiB0aGlzIGZs
b2F0IHNocmlua3MgdGhlIGxpbmUgKHRoZXkgZG9uJ3QgZ2V0IHBvc2l0aW9uZWQgaGlnaGVyIHRo
YW4gdGhlIGxpbmUpLgorICAgIGlmIChmbG9hdGluZ1Bvc2l0aW9uLnkoKSA+IG1fbGluZUxvZ2lj
YWxSZWN0LmJvdHRvbSgpKQorICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoZmxvYXRCb3guaXNM
ZWZ0RmxvYXRpbmdQb3NpdGlvbmVkKCkpCisgICAgbV9jb250ZW50SXNDb25zdHJhaW5lZEJ5Rmxv
YXQgPSB0cnVlOworICAgIGF1dG8gZmxvYXRCb3hXaWR0aCA9IGlubGluZUl0ZW1XaWR0aChmbG9h
dEl0ZW0sIHsgfSk7CisgICAgaWYgKGZsb2F0Qm94LmlzTGVmdEZsb2F0aW5nUG9zaXRpb25lZCgp
KSB7CiAgICAgICAgIG1fbGluZS5tb3ZlTG9naWNhbExlZnQoZmxvYXRCb3hXaWR0aCk7Ci0gICAg
bV9ob3Jpem9udGFsU3BhY2VGb3JMaW5lIC09IGZsb2F0Qm94V2lkdGg7Ci0gICAgcmV0dXJuIHsg
SW5saW5lQ29udGVudEJyZWFrZXI6OklzRW5kT2ZMaW5lOjpObyB9OworICAgICAgICBtX2xpbmVM
b2dpY2FsUmVjdC5zZXRMZWZ0KG1fbGluZUxvZ2ljYWxSZWN0LmxlZnQoKSArIGZsb2F0Qm94V2lk
dGgpOyAgICAKKyAgICB9CisgICAgbV9saW5lTG9naWNhbFJlY3QuZXhwYW5kSG9yaXpvbnRhbGx5
KC1mbG9hdEJveFdpZHRoKTsKIH0KIAogTGluZUJ1aWxkZXI6OlJlc3VsdCBMaW5lQnVpbGRlcjo6
aGFuZGxlSW5saW5lQ29udGVudChJbmxpbmVDb250ZW50QnJlYWtlciYgaW5saW5lQ29udGVudEJy
ZWFrZXIsIGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbGF5b3V0UmFuZ2UsIGNvbnN0IExpbmVDYW5k
aWRhdGUmIGxpbmVDYW5kaWRhdGUpCkBAIC01NzksNyArNTc5LDcgQEAgTGluZUJ1aWxkZXI6OlJl
c3VsdCBMaW5lQnVpbGRlcjo6aGFuZGxlSW5saW5lQ29udGVudChJbmxpbmVDb250ZW50QnJlYWtl
ciYgaW5saW4KICAgICAgICAgQVNTRVJUKGlubGluZUNvbnRlbnQudHJhaWxpbmdMaW5lQnJlYWso
KSB8fCBpbmxpbmVDb250ZW50LnRyYWlsaW5nV29yZEJyZWFrT3Bwb3J0dW5pdHkoKSk7CiAgICAg
ICAgIHJldHVybiB7IGlubGluZUNvbnRlbnQudHJhaWxpbmdMaW5lQnJlYWsoKSA/IElubGluZUNv
bnRlbnRCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzIDogSW5saW5lQ29udGVudEJyZWFrZXI6Oklz
RW5kT2ZMaW5lOjpObyB9OwogICAgIH0KLSAgICBhdXRvIGF2YWlsYWJsZVdpZHRoID0gbV9ob3Jp
em9udGFsU3BhY2VGb3JMaW5lIC0gbV9saW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKKyAgICBh
dXRvIGF2YWlsYWJsZVdpZHRoID0gbV9saW5lTG9naWNhbFJlY3Qud2lkdGgoKSAtIG1fbGluZS5j
b250ZW50TG9naWNhbFdpZHRoKCk7CiAgICAgYXV0byBzaG91bGREaXNhYmxlSHlwaGVuYXRpb24g
PSBbJl0gewogICAgICAgICBhdXRvJiBzdHlsZSA9IHJvb3QoKS5zdHlsZSgpOwogICAgICAgICB1
bnNpZ25lZCBsaW1pdExpbmVzID0gc3R5bGUuaHlwaGVuYXRpb25MaW1pdExpbmVzKCkgPT0gUmVu
ZGVyU3R5bGU6OmluaXRpYWxIeXBoZW5hdGlvbkxpbWl0TGluZXMoKSA/IHN0ZDo6bnVtZXJpY19s
aW1pdHM8dW5zaWduZWQ+OjptYXgoKSA6IHN0eWxlLmh5cGhlbmF0aW9uTGltaXRMaW5lcygpOwpA
QCAtNzAyLDcgKzcwMiw3IEBAIHNpemVfdCBMaW5lQnVpbGRlcjo6cmVidWlsZExpbmVGb3JUcmFp
bGluZ1NvZnRIeXBoZW4oY29uc3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvCiAgICAgICAgIC8vIEZJ
WE1FOiBJZiB0aGlzIHR1cm5zIG91dCB0byBiZSBhIHBlcmYgaXNzdWUsIHdlIGNvdWxkIGFsc28g
dHJhdmVyc2UgdGhlIHdyYXAgbGlzdCBhbmQga2VlcCBhZGRpbmcgdGhlIGl0ZW1zCiAgICAgICAg
IC8vIHdoaWxlIHdhdGNoaW5nIHRoZSBhdmFpbGFibGUgd2lkdGggdmVyeSBjbG9zZWx5LgogICAg
ICAgICBhdXRvIGNvbW1pdHRlZENvdW50ID0gcmVidWlsZExpbmUobGF5b3V0UmFuZ2UsIHNvZnRX
cmFwT3Bwb3J0dW5pdHlJdGVtKTsKLSAgICAgICAgYXV0byBhdmFpbGFibGVXaWR0aCA9IG1faG9y
aXpvbnRhbFNwYWNlRm9yTGluZSAtIG1fbGluZS5jb250ZW50TG9naWNhbFdpZHRoKCk7CisgICAg
ICAgIGF1dG8gYXZhaWxhYmxlV2lkdGggPSBtX2xpbmVMb2dpY2FsUmVjdC53aWR0aCgpIC0gbV9s
aW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKICAgICAgICAgYXV0byB0cmFpbGluZ1NvZnRIeXBo
ZW5XaWR0aCA9IG1fbGluZS50cmFpbGluZ1NvZnRIeXBoZW5XaWR0aCgpOwogICAgICAgICAvLyBD
aGVjayBpZiB0aGUgdHJhaWxpbmcgaHlwaGVuIG5vdyBmaXRzIHRoZSBsaW5lIChvciB3ZSBkb24n
dCBuZWVkIGh5aGVuIGFueW1vcmUpLgogICAgICAgICBpZiAoIXRyYWlsaW5nU29mdEh5cGhlbldp
ZHRoIHx8IHRyYWlsaW5nU29mdEh5cGhlbldpZHRoIDw9IGF2YWlsYWJsZVdpZHRoKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
QnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
TGluZUJ1aWxkZXIuaAppbmRleCA3ZmM3ZGRjM2Y5OGZhYTI1MzAwOWQ3NTIxMzQ4NmNmZmE2OTc1
OWNiLi43ZGE1M2U5ZGZmNThlODQ0ZjYxMTA5MzQxM2Y3ODk2NzUzZGM5ODliIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxp
bmVCdWlsZGVyLmgKQEAgLTYxLDcgKzYxLDcgQEAgcHVibGljOgogICAgICAgICBib29sIGlzTGFz
dExpbmVXaXRoSW5saW5lQ29udGVudCB7IHRydWUgfTsKICAgICAgICAgY29uc3QgTGluZTo6UnVu
TGlzdCYgcnVuczsKICAgICB9OwotICAgIExpbmVDb250ZW50IGxheW91dElubGluZUNvbnRlbnQo
Y29uc3QgSW5saW5lSXRlbVJhbmdlJiwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0
aCwgY29uc3QgSW5saW5lUmVjdCYgaW5pdGlhbENvbnN0cmFpbnRzRm9yTGluZSwgYm9vbCBpc0Zp
cnN0TGluZSk7CisgICAgTGluZUNvbnRlbnQgbGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxp
bmVJdGVtUmFuZ2UmLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBjb25zdCBJ
bmxpbmVSZWN0JiBpbml0aWFsTGluZUxvZ2ljYWxSZWN0LCBib29sIGlzRmlyc3RMaW5lKTsKIAog
ICAgIHN0cnVjdCBJbnRyaW5zaWNDb250ZW50IHsKICAgICAgICAgSW5saW5lSXRlbVJhbmdlIGlu
bGluZUl0ZW1SYW5nZTsKQEAgLTg0LDEyICs4NCwxMSBAQCBwcml2YXRlOgogICAgICAgICBzaXpl
X3QgcGFydGlhbFRyYWlsaW5nQ29udGVudExlbmd0aCB7IDAgfTsKICAgICB9OwogICAgIHN0cnVj
dCBVc2VkQ29uc3RyYWludHMgewotICAgICAgICBJbmxpbmVMYXlvdXRQb2ludCBsb2dpY2FsVG9w
TGVmdDsKLSAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGggeyAwIH07CisgICAg
ICAgIElubGluZVJlY3QgbG9naWNhbFJlY3Q7CiAgICAgICAgIGJvb2wgaXNDb25zdHJhaW5lZEJ5
RmxvYXQgeyBmYWxzZSB9OwogICAgIH07Ci0gICAgVXNlZENvbnN0cmFpbnRzIGNvbnN0cmFpbnRz
Rm9yTGluZShjb25zdCBJbmxpbmVSZWN0JiBpbml0aWFsTGluZUNvbnN0cmFpbnRzLCBib29sIGlz
Rmlyc3RMaW5lKTsKLSAgICBSZXN1bHQgaGFuZGxlRmxvYXRDb250ZW50KGNvbnN0IElubGluZUl0
ZW0mKTsKKyAgICBVc2VkQ29uc3RyYWludHMgaW5pdGlhbENvbnN0cmFpbnRzRm9yTGluZShjb25z
dCBJbmxpbmVSZWN0JiBpbml0aWFsTGluZUNvbnN0cmFpbnRzLCBib29sIGlzRmlyc3RMaW5lKTsK
KyAgICB2b2lkIGhhbmRsZUZsb2F0Q29udGVudChjb25zdCBJbmxpbmVJdGVtJik7CiAgICAgUmVz
dWx0IGhhbmRsZUlubGluZUNvbnRlbnQoSW5saW5lQ29udGVudEJyZWFrZXImLCBjb25zdCBJbmxp
bmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIGNvbnN0IExpbmVDYW5kaWRhdGUmKTsKICAg
ICBzaXplX3QgcmVidWlsZExpbmUoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJh
bmdlLCBjb25zdCBJbmxpbmVJdGVtJiBsYXN0SW5saW5lSXRlbVRvQWRkKTsKICAgICBzaXplX3Qg
cmVidWlsZExpbmVGb3JUcmFpbGluZ1NvZnRIeXBoZW4oY29uc3QgSW5saW5lSXRlbVJhbmdlJiBs
YXlvdXRSYW5nZSk7CkBAIC0xMTcsOCArMTE2LDcgQEAgcHJpdmF0ZToKICAgICBPcHRpb25hbDxI
b3Jpem9udGFsQ29uc3RyYWludHM+IG1fcm9vdEhvcml6b250YWxDb25zdHJhaW50czsKIAogICAg
IExpbmUgbV9saW5lOwotICAgIElubGluZUxheW91dFBvaW50IG1fbGluZUxvZ2ljYWxUb3BMZWZ0
OwotICAgIElubGluZUxheW91dFVuaXQgbV9ob3Jpem9udGFsU3BhY2VGb3JMaW5lIHsgMCB9Owor
ICAgIElubGluZVJlY3QgbV9saW5lTG9naWNhbFJlY3Q7CiAgICAgY29uc3QgSW5saW5lSXRlbXMm
IG1faW5saW5lSXRlbXM7CiAgICAgRmxvYXRMaXN0IG1fZmxvYXRzOwogICAgIE9wdGlvbmFsPElu
bGluZVRleHRJdGVtPiBtX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW07CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODYwMDNlNWRm
NmI2NzFkNWJkMzQ1NmZkMmZmYjEwOTYzZTNhMzQ5Ny4uYzYzNDAxZmVmNDdmYzVmNjIxOGY0MWQw
Y2VhODc4ZDI2ZTM2OTE1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTEyLTA0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBPbmx5IHNo
cmluayB0aGUgbGluZSB3aXRoIHRoZSBmbG9hdCB3aGVuIGl0IGlzIGludHJ1c2l2ZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5NTI1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
d2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMTItMDQgIFphbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgcHJvY2VzcyBhc3NlcnQgd2hlbiBsb2FkaW5nIHNs
YWNrCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggNjBhMDVhZjA0ZTZiYzQ5YWI5NTg2NzU1NzVkYmUzN2E5NDU2YzEyYi4uOTQ2ZmI2MzdjY2U2
NTkzNzMxMTQ4ZmQ5Mjk4ZGI2OTU5OWU1NTRjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTI3OSw3ICsxMjc5LDYgQEAgZmFzdC9sYXlv
dXRmb3JtYXR0aW5nY29udGV4dC9hYnNvbHV0ZS1wb3NpdGlvbmVkLXNpbXBsZS10YWJsZTMuaHRt
bCBbIEltYWdlT25seUYKIGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvYnItYW5kLXdici1z
aW1wbGUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29u
dGV4dC9lbXB0eS10YWJsZS13aXRoLXNwZWNpZmllZC1oZWlnaHQtcXVpcmstc2ltcGxlLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvZW1wdHkt
dGFibGUtd2l0aC1zcGVjaWZpZWQtaGVpZ2h0LXN0YW5kYXJkcy1zaW1wbGUuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9mbG9hdC1pbi1pbmxp
bmUtY29udGV4dC1zaW1wbGUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogZmFzdC9sYXlvdXRm
b3JtYXR0aW5nY29udGV4dC9mbG93LWludGVncmF0aW9uLWJhc2ljLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvaW5saW4tYm94LWNvbnRlbnQt
Zml0cy1idXQtdGhlLWJveC1kb2VzLW5vdC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBmYXN0
L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L2lubGluZS1ib3gtb3ZlcmxhcHMtbXVsdGlwbGUtbGlu
ZXMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>