<?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>216835</bug_id>
          
          <creation_ts>2020-09-22 10:31:52 -0700</creation_ts>
          <short_desc>[LFC][IFC] Add support for multiline inline box geometry.</short_desc>
          <delta_ts>2020-09-22 13:08:16 -0700</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>1690767</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-09-22 10:31:52 -0700</bug_when>
    <thetext>This is what we call for element.offset* and not getBoundingClientRect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690774</commentid>
    <comment_count>1</comment_count>
      <attachid>409379</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-09-22 10:46:34 -0700</bug_when>
    <thetext>Created attachment 409379
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690811</commentid>
    <comment_count>2</comment_count>
      <attachid>409387</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-09-22 12:12:17 -0700</bug_when>
    <thetext>Created attachment 409387
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690831</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-22 13:07:23 -0700</bug_when>
    <thetext>Committed r267434: &lt;https://trac.webkit.org/changeset/267434&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409387.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690832</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-22 13:08:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/69387729&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409379</attachid>
            <date>2020-09-22 10:46:34 -0700</date>
            <delta_ts>2020-09-22 11:11:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216835-20200922104633.patch</filename>
            <type>text/plain</type>
            <size>13270</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjFlMmQ1OTAzNzZkYjhh
ODRhZjk4OTg2NjAwMzdjNDY1YzEwYTczYi4uNWZiOWMwM2I4MjQxZDYyODZmOWQyOTgxZmI0ZDc1
NjNjYjhiMzcwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTA5LTIyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBBZGQgc3Vw
cG9ydCBmb3IgbXVsdGlsaW5lIGlubGluZSBib3ggZ2VvbWV0cnkuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY4MzUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGNvbXB1dGVzIHRoZSBn
ZW9tZXRyeSBmb3IgaW5saW5lIGJveGVzIHNwYW5uaW5nIG11bHRpcGxlIGxpbmVzIChlLmcuIDxz
cGFuPmZpcnN0IGxpbmU8YnI+bmV4dCBsaW5lPC9zcGFuKS4KKyAgICAgICAgSG93ZXZlciB0aGlz
IGlzIG5vdCB0aGUgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgdHlwZSBvZiBnZW9tZXRyeSB3aGVy
ZSB3ZSBwcm92aWRlIGdlb21ldHJ5IGZvciBlYWNoIGZyYWdtZW50cy4gVGhpcyBpcyBtb3JlIGxp
a2UgdGhlCisgICAgICAgIGVsZW1lbnQub2Zmc2V0KiBnZW9tZXRyeSB3aGVyZSB3ZSBjb21wdXRl
IHRoZSBlbmNsb3NpbmcgcmVjdGFuZ2xlIGZvciBhbGwgdGhlIGZyYWdtZW50cy4KKworICAgICAg
ICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91
dEluRmxvd0NvbnRlbnQpOiBEZWNvdXBsZSB0aGUgcnVuIGNvbnN0cnVjdGlvbiBhbmQgaW5saW5l
IGJveCBnZW9tZXRyeSB1cGRhdGUgbG9naWMsCisgICAgICAgIHdoZXJlIHdlIGxvb3AgdGhyb3Vn
aCB0aGUgcnVucyBhbmQgY3JlYXRlICJsaW5lIHJ1bnMiIHdoZW4gbmVlZGVkIGFuZCB0aGVuIHdl
IGxvb3AgdGhyb3VnaCB0aGUgaW5saW5lIGJveGVzIG9uIHRoZSBjdXJyZW50IGxpbmUgYW5kCisg
ICAgICAgIHVwZGF0ZSB0aGUgYm94IGdlb21ldHJpZXMuCisgCisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29u
dGVudCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z1N0YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0
ZTo6bGluZUJveGVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9y
bWF0dGluZ1N0YXRlOjphZGRMaW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5s
aW5lRm9ybWF0dGluZ1N0YXRlOjpjbGVhckxpbmVBbmRSdW5zKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlOjpzaHJpbmtUb0ZpdCk6CisgICAgICAgICog
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lQm94Ojpjb250YWluc0lubGluZUxldmVsQm94IGNvbnN0KToKKwogMjAy
MC0wOS0yMiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNd
IEZvcm1hdHRpbmdTdGF0ZSBzaG91bGQgbmV2ZXIgYmUgY29waWVkLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGNhOTBmY2FjNWMzMTJmMzU1OGQ4MTdhYWVhNjcwYWNj
MTYxOWVkZGQuLmQ2OWYyZjRiM2FkMmIwYTMyMjRlZjI1MmQ3MzI2NGMyNzA3YWZlMmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTExMyw3ICsxMTMsNyBAQCB2b2lk
IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50KEludmFsaWRhdGlv
blN0YXRlJiBpbnZhbGlkYXRpbwogICAgICAgICAgICAgICAgIGNvbXB1dGVIZWlnaHRBbmRNYXJn
aW4oKmxheW91dEJveCwgY29uc3RyYWludHMuaG9yaXpvbnRhbCk7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0gZWxzZSBpZiAobGF5b3V0Qm94LT5pc0lubGluZUJveCgpKSB7Ci0gICAgICAgICAg
ICAvLyBUZXh0IHdyYXBwZXIgYm94ZXMgKGFub255bW91cyBpbmxpbmUgbGV2ZWwgYm94ZXMpIGFu
ZCA8YnI+cyBkb24ndCBnZW5lcmF0ZSBkaXNwbGF5IGJveGVzIChvbmx5IGRpc3BsYXkgcnVucyku
CisgICAgICAgICAgICAvLyBUZXh0IHdyYXBwZXIgYm94ZXMgKGFub255bW91cyBpbmxpbmUgbGV2
ZWwgYm94ZXMpIGFuZCA8YnI+cyBkb24ndCBoYXZlIGJveCBnZW9tZXRyaWVzICh0aGV5IG9ubHkg
Z2VuZXJhdGUgcnVucykuCiAgICAgICAgICAgICBpZiAoIWxheW91dEJveC0+aXNJbmxpbmVUZXh0
Qm94KCkgJiYgIWxheW91dEJveC0+aXNMaW5lQnJlYWtCb3goKSkgewogICAgICAgICAgICAgICAg
IC8vIElubGluZSBib3hlcyAoPHNwYW4+KSBjYW4ndCBnZXQgc2l6ZWQvcG9zaXRpb25lZCB5ZXQu
IEF0IHRoaXMgcG9pbnQgd2UgY2FuIG9ubHkgY29tcHV0ZSB0aGVpciBtYXJnaW5zLCBib3JkZXJz
IGFuZCBwYWRkaW5nLgogICAgICAgICAgICAgICAgIGNvbXB1dGVCb3JkZXJBbmRQYWRkaW5nKCps
YXlvdXRCb3gsIGNvbnN0cmFpbnRzLmhvcml6b250YWwpOwpAQCAtMzk2LDE5ICszOTYsMTcgQEAg
SW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGlu
ZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKIHsKICAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGUgPSB0
aGlzLT5mb3JtYXR0aW5nU3RhdGUoKTsKICAgICBhdXRvIGdlb21ldHJ5ID0gdGhpcy0+Z2VvbWV0
cnkoKTsKLSAgICBjb25zdCBhdXRvIGxpbmVCb3ggPSBnZW9tZXRyeS5saW5lQm94Rm9yTGluZUNv
bnRlbnQobGluZUNvbnRlbnQpOworCisgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVCb3goZ2Vv
bWV0cnkubGluZUJveEZvckxpbmVDb250ZW50KGxpbmVDb250ZW50KSk7CisgICAgY29uc3QgYXV0
byYgbGluZUJveCA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKS5sYXN0KCk7CisKICAgICBh
dXRvIGxpbmVSZWN0QW5kTGluZUJveE9mZnNldCA9IGdlb21ldHJ5LmNvbXB1dGVkTGluZUxvZ2lj
YWxSZWN0KGxpbmVCb3gsIHJvb3QoKS5zdHlsZSgpLCBsaW5lQ29udGVudCk7CiAgICAgYXV0byBs
aW5lTG9naWNhbFJlY3QgPSBsaW5lUmVjdEFuZExpbmVCb3hPZmZzZXQubG9naWNhbFJlY3Q7CiAg
ICAgYXV0byBsaW5lQm94VmVydGljYWxPZmZzZXQgPSBsaW5lUmVjdEFuZExpbmVCb3hPZmZzZXQu
bGluZUJveFZlcnRpY2FsT2Zmc2V0OwotICAgIGF1dG8gbGluZUluZGV4ID0gZm9ybWF0dGluZ1N0
YXRlLmxpbmVzKCkuc2l6ZSgpOwotCi0gICAgYXV0byBjb25zdHJ1Y3RMaW5lR2VvbWV0cnkgPSBb
Jl0gewotICAgICAgICBhdXRvIGxpbmVCb3hMb2dpY2FsUmVjdCA9IElubGluZVJlY3QgeyBsaW5l
TG9naWNhbFJlY3QudG9wKCkgKyBsaW5lQm94VmVydGljYWxPZmZzZXQsIGxpbmVMb2dpY2FsUmVj
dC5sZWZ0KCksIGxpbmVCb3gubG9naWNhbFdpZHRoKCksIGxpbmVCb3gubG9naWNhbEhlaWdodCgp
IH07Ci0gICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lKHsgbGluZUxvZ2ljYWxSZWN0LCBs
aW5lQm94TG9naWNhbFJlY3QsIGxpbmVCb3hWZXJ0aWNhbE9mZnNldCArIGxpbmVCb3guYWxpZ25t
ZW50QmFzZWxpbmUoKSwgbGluZUJveC5ob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KCkudmFsdWVP
cihJbmxpbmVMYXlvdXRVbml0IHsgfSkgfSk7Ci0gICAgfTsKLSAgICBjb25zdHJ1Y3RMaW5lR2Vv
bWV0cnkoKTsKIAotICAgIGlmICghbGluZUNvbnRlbnQuZmxvYXRzLmlzRW1wdHkoKSkgeworICAg
IGF1dG8gdXBkYXRlRmxvYXRHZW9tZXRyeSA9IFsmXSB7CisgICAgICAgIGlmIChsaW5lQ29udGVu
dC5mbG9hdHMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBhdXRvIGZs
b2F0aW5nQ29udGV4dCA9IEZsb2F0aW5nQ29udGV4dCB7IHJvb3QoKSwgKnRoaXMsIGZvcm1hdHRp
bmdTdGF0ZS5mbG9hdGluZ1N0YXRlKCkgfTsKICAgICAgICAgLy8gTW92ZSBmbG9hdHMgdG8gdGhl
aXIgZmluYWwgcG9zaXRpb24uCiAgICAgICAgIGZvciAoY29uc3QgYXV0byYgZmxvYXRDYW5kaWRh
dGUgOiBsaW5lQ29udGVudC5mbG9hdHMpIHsKQEAgLTQyMSwzNiArNDE5LDYzIEBAIElubGluZVJl
Y3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50
KGNvbnN0IExpbmVCdWlsCiAgICAgICAgICAgICBib3hHZW9tZXRyeS5zZXRMb2dpY2FsVG9wTGVm
dChmbG9hdGluZ0NvbnRleHQucG9zaXRpb25Gb3JGbG9hdChmbG9hdEJveCwgaG9yaXpvbnRhbENv
bnN0cmFpbnRzKSk7CiAgICAgICAgICAgICBmbG9hdGluZ0NvbnRleHQuYXBwZW5kKGZsb2F0Qm94
KTsKICAgICAgICAgfQotICAgIH0KLQotICAgIGZvciAoYXV0byYgbGluZVJ1biA6IGxpbmVDb250
ZW50LnJ1bnMpIHsKLSAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gbGluZVJ1bi5sYXlvdXRCb3go
KTsKLSAgICAgICAgLy8gSW5saW5lIGxldmVsIGNvbnRhaW5lcnMgKDxzcGFuPikgZG9uJ3QgZ2Vu
ZXJhdGUgZGlzcGxheSBydW5zIGFuZCBuZWl0aGVyIGRvIGNvbXBsZXRlbHkgY29sbGFwc2VkIHJ1
bnMuCi0gICAgICAgIGF1dG8gaW5pdGlhdGVzSW5saW5lUnVuID0gbGluZVJ1bi5pc1RleHQoKSB8
fCBsaW5lUnVuLmlzTGluZUJyZWFrKCkgfHwgbGluZVJ1bi5pc0JveCgpOwotICAgICAgICBpZiAo
aW5pdGlhdGVzSW5saW5lUnVuKSB7Ci0gICAgICAgICAgICBhdXRvIGxvZ2ljYWxSZWN0ID0gbGlu
ZVJ1bi5pc0JveCgpID8gbGluZUJveC5pbmxpbmVCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KS5s
b2dpY2FsUmVjdCgpIDogbGluZUJveC5sb2dpY2FsUmVjdEZvclRleHRSdW4obGluZVJ1bik7Ci0g
ICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgbGF5b3V0
Qm94LCBsb2dpY2FsUmVjdCwgbGluZVJ1bi5leHBhbnNpb24oKSwgbGluZVJ1bi50ZXh0Q29udGVu
dCgpIH0pOworICAgIH07CisgICAgdXBkYXRlRmxvYXRHZW9tZXRyeSgpOworCisgICAgYXV0byBj
b25zdHJ1Y3RMaW5lUnVucyA9IFsmXSB7CisgICAgICAgIGF1dG8gbGluZUluZGV4ID0gZm9ybWF0
dGluZ1N0YXRlLmxpbmVzKCkuc2l6ZSgpOworICAgICAgICAvLyBDcmVhdGUgdGhlIGlubGluZSBy
dW5zIG9uIHRoZSBjdXJyZW50IGxpbmUuIFRoaXMgaXMgbW9zdGx5IHRleHQgYW5kIGF0b21pYyBp
bmxpbmUgcnVucy4KKyAgICAgICAgZm9yIChhdXRvJiBsaW5lUnVuIDogbGluZUNvbnRlbnQucnVu
cykgeworICAgICAgICAgICAgaWYgKGxpbmVSdW4uaXNUZXh0KCkgfHwgbGluZVJ1bi5pc0xpbmVC
cmVhaygpKQorICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lUnVuKHsgbGlu
ZUluZGV4LCBsaW5lUnVuLmxheW91dEJveCgpLCBsaW5lQm94LmxvZ2ljYWxSZWN0Rm9yVGV4dFJ1
bihsaW5lUnVuKSwgbGluZVJ1bi5leHBhbnNpb24oKSwgbGluZVJ1bi50ZXh0Q29udGVudCgpIH0p
OworICAgICAgICAgICAgZWxzZSBpZiAobGluZVJ1bi5pc0JveCgpKQorICAgICAgICAgICAgICAg
IGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lUnVuKHsgbGluZUluZGV4LCBsaW5lUnVuLmxheW91dEJv
eCgpLCBsaW5lQm94LmlubGluZUJveEZvckxheW91dEJveChsaW5lUnVuLmxheW91dEJveCgpKS5s
b2dpY2FsUmVjdCgpLCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0gfSk7CiAgICAgICAgIH0KKyAg
ICB9OworICAgIGNvbnN0cnVjdExpbmVSdW5zKCk7CiAKLSAgICAgICAgLy8gRklYTUU6IFNpbmNl
IDxicj4gYW5kIDx3YnI+IHJ1bnMgaGF2ZSBhc3NvY2lhdGVkIERPTSBlbGVtZW50cywgd2UgbWln
aHQgbmVlZCB0byBjb25zdHJ1Y3QgYSBkaXNwbGF5IGJveCBoZXJlLiAKLSAgICAgICAgYXV0byBu
ZWVkc0JveEdlb21ldHJ5ID0gbGluZVJ1bi5pc0JveCgpIHx8IGxpbmVSdW4uaXNDb250YWluZXJT
dGFydCgpOwotICAgICAgICBpZiAobmVlZHNCb3hHZW9tZXRyeSkgeworICAgIGF1dG8gdXBkYXRl
Qm94R2VvbWV0cnkgPSBbJl0geworICAgICAgICAvLyBHcmFiIHRoZSBpbmxpbmUgYm94ZXMgKGV2
ZW4gdGhvc2UgdGhhdCBkb24ndCBoYXZlIGFzc29jaWF0ZWQgbGF5b3V0IGJveGVzIG9uIHRoZSBj
dXJyZW50IGxpbmUgZHVlIHRvIGxpbmUgd3JhcHBpbmcpCisgICAgICAgIC8vIGFuZCB1cGRhdGUg
dGhlaXIgZ2VvbWV0cmllcy4KKyAgICAgICAgZm9yIChhdXRvJiBpbmxpbmVCb3ggOiBsaW5lQm94
LmlubGluZUJveExpc3QoKSkgeworICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gaW5saW5l
Qm94LT5sYXlvdXRCb3goKTsKICAgICAgICAgICAgIGF1dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0
dGluZ1N0YXRlLmJveEdlb21ldHJ5KGxheW91dEJveCk7Ci0gICAgICAgICAgICBhdXRvJiBpbmxp
bmVCb3ggPSBsaW5lQm94LmlubGluZUJveEZvckxheW91dEJveChsYXlvdXRCb3gpOwotICAgICAg
ICAgICAgYXV0byB0b3BMZWZ0ID0gaW5saW5lQm94LmxvZ2ljYWxSZWN0KCkudG9wTGVmdCgpOwot
ICAgICAgICAgICAgdG9wTGVmdC5tb3ZlKHsgfSwgbGluZUJveFZlcnRpY2FsT2Zmc2V0KTsKKyAg
ICAgICAgICAgIGF1dG8gbG9naWNhbFRvcExlZnQgPSBpbmxpbmVCb3gtPmxvZ2ljYWxSZWN0KCku
dG9wTGVmdCgpOworCisgICAgICAgICAgICBsb2dpY2FsVG9wTGVmdC5tb3ZlKHsgfSwgbGluZUJv
eFZlcnRpY2FsT2Zmc2V0KTsKICAgICAgICAgICAgIGlmIChsYXlvdXRCb3guaXNJbkZsb3dQb3Np
dGlvbmVkKCkpCi0gICAgICAgICAgICAgICAgdG9wTGVmdCArPSBnZW9tZXRyeS5pbkZsb3dQb3Np
dGlvbmVkUG9zaXRpb25PZmZzZXQobGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMpOwot
ICAgICAgICAgICAgYm94R2VvbWV0cnkuc2V0TG9naWNhbFRvcExlZnQodG9MYXlvdXRQb2ludCh0
b3BMZWZ0KSk7Ci0gICAgICAgICAgICBpZiAobGluZVJ1bi5pc0NvbnRhaW5lclN0YXJ0KCkpIHsK
LSAgICAgICAgICAgICAgICBhdXRvIG1hcmdpbkJveFdpZHRoID0gaW5saW5lQm94LmxvZ2ljYWxX
aWR0aCgpOwotICAgICAgICAgICAgICAgIGF1dG8gY29udGVudEJveFdpZHRoID0gbWFyZ2luQm94
V2lkdGggLSAoYm94R2VvbWV0cnkubWFyZ2luU3RhcnQoKSArIGJveEdlb21ldHJ5LmJvcmRlckxl
ZnQoKSArIGJveEdlb21ldHJ5LnBhZGRpbmdMZWZ0KCkudmFsdWVPcigwKSk7Ci0gICAgICAgICAg
ICAgICAgLy8gRklYTUU6IEZpeCBpdCBmb3IgbXVsdGlsaW5lLgorICAgICAgICAgICAgICAgIGxv
Z2ljYWxUb3BMZWZ0ICs9IGdlb21ldHJ5LmluRmxvd1Bvc2l0aW9uZWRQb3NpdGlvbk9mZnNldChs
YXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cyk7CisKKyAgICAgICAgICAgIGlmIChsYXlv
dXRCb3guaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSB7CisgICAgICAgICAgICAgICAgLy8gQXRv
bWljIGlubGluZSBib3hlcyBhcmUgYWxsIHNldC4gVGhlaXIgbWFyZ2luL2JvcmRlci9jb250ZW50
IGJveCBnZW9tZXRyaWVzIGFyZSBhbHJlYWR5IGNvbXB1dGVkLiBXZSBqdXN0IGhhdmUgdG8gcG9z
aXRpb24gdGhlbSBoZXJlLgorICAgICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldExvZ2ljYWxU
b3BMZWZ0KHRvTGF5b3V0UG9pbnQobG9naWNhbFRvcExlZnQpKTsKKyAgICAgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGF1dG8gbWFyZ2luQm94V2lkdGgg
PSBpbmxpbmVCb3gtPmxvZ2ljYWxXaWR0aCgpOworICAgICAgICAgICAgYXV0byBjb250ZW50Qm94
V2lkdGggPSBtYXJnaW5Cb3hXaWR0aCAtIChib3hHZW9tZXRyeS5tYXJnaW5TdGFydCgpICsgYm94
R2VvbWV0cnkuYm9yZGVyTGVmdCgpICsgYm94R2VvbWV0cnkucGFkZGluZ0xlZnQoKS52YWx1ZU9y
KDApKTsKKyAgICAgICAgICAgIC8vIE5vbi1hdG9taWMgaW5saW5lIGxldmVsIGJveGVzIG1heSBv
ciBtYXkgbm90IGJlIHdyYXBwZWQgYW5kIGhhdmUgZ2VvbWV0cmllcyBvbiBtdWx0aXBsZSBsaW5l
cy4KKyAgICAgICAgICAgIGF1dG8gcHJldmlvdXNMaW5lSW5kZXggPSBmb3JtYXR0aW5nU3RhdGUu
bGluZUJveGVzKCkuc2l6ZSgpIC0gMjsKKyAgICAgICAgICAgIGF1dG8gaXNTcGFubmluZ0lubGlu
ZUJveCA9IHByZXZpb3VzTGluZUluZGV4ID4gMCAmJiBmb3JtYXR0aW5nU3RhdGUubGluZUJveGVz
KClbcHJldmlvdXNMaW5lSW5kZXhdLmNvbnRhaW5zSW5saW5lTGV2ZWxCb3gobGF5b3V0Qm94KTsK
KyAgICAgICAgICAgIGlmICghaXNTcGFubmluZ0lubGluZUJveCkgeworICAgICAgICAgICAgICAg
IC8vIFRoaXMgYm94IHNob3dlZCB1cCBvbiB0aGlzIGxpbmUgdGhlIGZpcnN0IHRpbWUuCisgICAg
ICAgICAgICAgICAgYm94R2VvbWV0cnkuc2V0TG9naWNhbFRvcExlZnQodG9MYXlvdXRQb2ludChs
b2dpY2FsVG9wTGVmdCkpOwogICAgICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldENvbnRlbnRC
b3hXaWR0aCh0b0xheW91dFVuaXQoY29udGVudEJveFdpZHRoKSk7Ci0gICAgICAgICAgICAgICAg
Ym94R2VvbWV0cnkuc2V0Q29udGVudEJveEhlaWdodCh0b0xheW91dFVuaXQoaW5saW5lQm94Lmxv
Z2ljYWxIZWlnaHQoKSkpOworICAgICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldENvbnRlbnRC
b3hIZWlnaHQodG9MYXlvdXRVbml0KGlubGluZUJveC0+bG9naWNhbEhlaWdodCgpKSk7CisgICAg
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICAvLyBUaGlz
IGlzIGEganVzdCBhIHNpbXBsZSBib3ggZ2VvbWV0cnkgZm9yIHRoZSBsaW5lIHNwYW5uaW5nIGlu
bGluZSBib3guIGdldEJvdW5kaW5nQ2xpZW50UmVjdCBsb29rcyBpbnRvIGVhY2ggbGluZSBib3hl
cyAod2lsbCB0dXJuIGludG8gZnJhZ21lbnRlZCBib3hlcykuCisgICAgICAgICAgICBib3hHZW9t
ZXRyeS5zZXRMb2dpY2FsTGVmdChzdGQ6Om1pbihib3hHZW9tZXRyeS5sb2dpY2FsTGVmdCgpLCB0
b0xheW91dFVuaXQobG9naWNhbFRvcExlZnQueCgpKSkpOworICAgICAgICAgICAgYm94R2VvbWV0
cnkuc2V0Q29udGVudEJveFdpZHRoKHN0ZDo6bWF4KHRvTGF5b3V0VW5pdChjb250ZW50Qm94V2lk
dGgpLCBib3hHZW9tZXRyeS5jb250ZW50Qm94V2lkdGgoKSkpOworICAgICAgICAgICAgYm94R2Vv
bWV0cnkuc2V0Q29udGVudEJveEhlaWdodChib3hHZW9tZXRyeS5jb250ZW50Qm94SGVpZ2h0KCkg
KyB0b0xheW91dFVuaXQoaW5saW5lQm94LT5sb2dpY2FsSGVpZ2h0KCkpKTsKICAgICAgICAgfQot
ICAgIH0KKyAgICB9OworICAgIHVwZGF0ZUJveEdlb21ldHJ5KCk7CisKKyAgICBhdXRvIGNvbnN0
cnVjdExpbmVHZW9tZXRyeSA9IFsmXSB7CisgICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxSZWN0
ID0gSW5saW5lUmVjdCB7IGxpbmVMb2dpY2FsUmVjdC50b3AoKSArIGxpbmVCb3hWZXJ0aWNhbE9m
ZnNldCwgbGluZUxvZ2ljYWxSZWN0LmxlZnQoKSwgbGluZUJveC5sb2dpY2FsV2lkdGgoKSwgbGlu
ZUJveC5sb2dpY2FsSGVpZ2h0KCkgfTsKKyAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmUo
eyBsaW5lTG9naWNhbFJlY3QsIGxpbmVCb3hMb2dpY2FsUmVjdCwgbGluZUJveFZlcnRpY2FsT2Zm
c2V0ICsgbGluZUJveC5hbGlnbm1lbnRCYXNlbGluZSgpLCBsaW5lQm94Lmhvcml6b250YWxBbGln
bm1lbnRPZmZzZXQoKS52YWx1ZU9yKElubGluZUxheW91dFVuaXQgeyB9KSB9KTsKKyAgICB9Owor
ICAgIGNvbnN0cnVjdExpbmVHZW9tZXRyeSgpOwogICAgIHJldHVybiBsaW5lTG9naWNhbFJlY3Q7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5n
L0lubGluZUZvcm1hdHRpbmdTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKaW5kZXggMTA0YTg3MzA5OGQ5MThhMjNj
ZWUyODNiNzc0YWVmZmI5MjE2ZTA4ZS4uMDY2YjA4YzhkMTBmNGQ3YWFjZTZkNDBjNDRkNjNkNzll
ZDQ5MmQ1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKQEAgLTI5LDYgKzI5LDcgQEAK
IAogI2luY2x1ZGUgIkZvcm1hdHRpbmdTdGF0ZS5oIgogI2luY2x1ZGUgIklubGluZUl0ZW0uaCIK
KyNpbmNsdWRlICJJbmxpbmVMaW5lQm94LmgiCiAjaW5jbHVkZSAiSW5saW5lTGluZUdlb21ldHJ5
LmgiCiAjaW5jbHVkZSAiSW5saW5lTGluZVJ1bi5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2Mu
aD4KQEAgLTM4LDYgKzM5LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiAKIHVzaW5nIElubGluZUl0
ZW1zID0gVmVjdG9yPElubGluZUl0ZW0+OwogdXNpbmcgSW5saW5lTGluZXMgPSBWZWN0b3I8SW5s
aW5lTGluZUdlb21ldHJ5PjsKK3VzaW5nIElubGluZUxpbmVCb3hlcyA9IFZlY3RvcjxMaW5lQm94
PjsKIHVzaW5nIElubGluZUxpbmVSdW5zID0gVmVjdG9yPExpbmVSdW4+OwogCiAvLyBJbmxpbmVG
b3JtYXR0aW5nU3RhdGUgaG9sZHMgdGhlIHN0YXRlIGZvciBhIHBhcnRpY3VsYXIgaW5saW5lIGZv
cm1hdHRpbmcgY29udGV4dCB0cmVlLgpAQCAtNTUsNiArNTcsOSBAQCBwdWJsaWM6CiAgICAgSW5s
aW5lTGluZXMmIGxpbmVzKCkgeyByZXR1cm4gbV9saW5lczsgfQogICAgIHZvaWQgYWRkTGluZShj
b25zdCBJbmxpbmVMaW5lR2VvbWV0cnkmIGxpbmUpIHsgbV9saW5lcy5hcHBlbmQobGluZSk7IH0K
IAorICAgIGNvbnN0IElubGluZUxpbmVCb3hlcyYgbGluZUJveGVzKCkgY29uc3QgeyByZXR1cm4g
bV9saW5lQm94ZXM7IH0KKyAgICB2b2lkIGFkZExpbmVCb3goTGluZUJveCYmIGxpbmVCb3gpIHsg
bV9saW5lQm94ZXMuYXBwZW5kKFdURk1vdmUobGluZUJveCkpOyB9CisKICAgICBjb25zdCBJbmxp
bmVMaW5lUnVucyYgbGluZVJ1bnMoKSBjb25zdCB7IHJldHVybiBtX2xpbmVSdW5zOyB9CiAgICAg
SW5saW5lTGluZVJ1bnMmIGxpbmVSdW5zKCkgeyByZXR1cm4gbV9saW5lUnVuczsgfQogICAgIHZv
aWQgYWRkTGluZVJ1bihjb25zdCBMaW5lUnVuJiBydW4pIHsgbV9saW5lUnVucy5hcHBlbmQocnVu
KTsgfQpAQCAtNjYsMTggKzcxLDIxIEBAIHByaXZhdGU6CiAgICAgLy8gQ2FjaGVhYmxlIGlucHV0
IHRvIGxpbmUgbGF5b3V0LgogICAgIElubGluZUl0ZW1zIG1faW5saW5lSXRlbXM7CiAgICAgSW5s
aW5lTGluZXMgbV9saW5lczsKKyAgICBJbmxpbmVMaW5lQm94ZXMgbV9saW5lQm94ZXM7CiAgICAg
SW5saW5lTGluZVJ1bnMgbV9saW5lUnVuczsKIH07CiAKIGlubGluZSB2b2lkIElubGluZUZvcm1h
dHRpbmdTdGF0ZTo6Y2xlYXJMaW5lQW5kUnVucygpCiB7CiAgICAgbV9saW5lcy5jbGVhcigpOwor
ICAgIG1fbGluZUJveGVzLmNsZWFyKCk7CiAgICAgbV9saW5lUnVucy5jbGVhcigpOwogfQogCiBp
bmxpbmUgdm9pZCBJbmxpbmVGb3JtYXR0aW5nU3RhdGU6OnNocmlua1RvRml0KCkKIHsKICAgICBt
X2xpbmVzLnNocmlua1RvRml0KCk7CisgICAgbV9saW5lQm94ZXMuc2hyaW5rVG9GaXQoKTsKICAg
ICBtX2xpbmVSdW5zLnNocmlua1RvRml0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaAppbmRleCA1MWY5OWY5
YmUyYjhiNzY0NzAxZTQ0NWU5ZGIyNDg1MzU0NGJhMTJkLi45NjRjODYzNjdlYjM0ZGZjYzhlY2Jl
NDE0NWYzNzA2Y2IxMzEwZTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oCkBAIC0xMTEsOSArMTExLDggQEAgcHVi
bGljOgogCiAgICAgY29uc3QgSW5saW5lQm94JiBpbmxpbmVCb3hGb3JMYXlvdXRCb3goY29uc3Qg
Qm94JiBsYXlvdXRCb3gpIGNvbnN0IHsgcmV0dXJuICptX2lubGluZUJveFJlY3RNYXAuZ2V0KCZs
YXlvdXRCb3gpOyB9CiAgICAgSW5saW5lUmVjdCBsb2dpY2FsUmVjdEZvclRleHRSdW4oY29uc3Qg
TGluZTo6UnVuJikgY29uc3Q7Ci0KLSAgICB1c2luZyBJbmxpbmVCb3hNYXAgPSBIYXNoTWFwPGNv
bnN0IEJveCosIElubGluZUJveCo+OwogICAgIGF1dG8gaW5saW5lQm94TGlzdCgpIGNvbnN0IHsg
cmV0dXJuIG1faW5saW5lQm94UmVjdE1hcC52YWx1ZXMoKTsgfQorICAgIGJvb2wgY29udGFpbnNJ
bmxpbmVMZXZlbEJveChjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QgeyByZXR1cm4gbV9pbmxp
bmVCb3hSZWN0TWFwLmNvbnRhaW5zKCZsYXlvdXRCb3gpOyB9CiAKICAgICBJbmxpbmVMYXlvdXRV
bml0IGFsaWdubWVudEJhc2VsaW5lKCkgY29uc3QgeyByZXR1cm4gbV9yb290SW5saW5lQm94LT5s
b2dpY2FsVG9wKCkgKyBtX3Jvb3RJbmxpbmVCb3gtPmJhc2VsaW5lKCk7IH0KIApAQCAtMTQwLDcg
KzEzOSw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPElubGluZUJveD4gbV9yb290
SW5saW5lQm94OwogICAgIElubGluZUJveExpc3QgbV9ub25Sb290SW5saW5lQm94TGlzdDsKIAot
ICAgIElubGluZUJveE1hcCBtX2lubGluZUJveFJlY3RNYXA7CisgICAgSGFzaE1hcDxjb25zdCBC
b3gqLCBJbmxpbmVCb3gqPiBtX2lubGluZUJveFJlY3RNYXA7CiB9OwogCiB9Cg==
</data>
<flag name="review"
          id="425067"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409387</attachid>
            <date>2020-09-22 12:12:17 -0700</date>
            <delta_ts>2020-09-22 13:07:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216835-20200922121216.patch</filename>
            <type>text/plain</type>
            <size>13399</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjFlMmQ1OTAzNzZkYjhh
ODRhZjk4OTg2NjAwMzdjNDY1YzEwYTczYi4uY2FhZTNhMDgwNjZkMWI4OTg2MTNjODdiNjc4MmEz
ZTRjMTEyOGMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTA5LTIyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBBZGQgc3Vw
cG9ydCBmb3IgbXVsdGlsaW5lIGlubGluZSBib3ggZ2VvbWV0cnkuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY4MzUKKworICAgICAgICBSZXZpZXdl
ZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBUaGlzIHBhdGNoIGNvbXB1dGVzIHRoZSBn
ZW9tZXRyeSBmb3IgaW5saW5lIGJveGVzIHNwYW5uaW5nIG11bHRpcGxlIGxpbmVzIChlLmcuIDxz
cGFuPmZpcnN0IGxpbmU8YnI+bmV4dCBsaW5lPC9zcGFuKS4KKyAgICAgICAgSG93ZXZlciB0aGlz
IGlzIG5vdCB0aGUgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgdHlwZSBvZiBnZW9tZXRyeSB3aGVy
ZSB3ZSBwcm92aWRlIGdlb21ldHJ5IGZvciBlYWNoIGZyYWdtZW50cy4gVGhpcyBpcyBtb3JlIGxp
a2UgdGhlCisgICAgICAgIGVsZW1lbnQub2Zmc2V0KiBnZW9tZXRyeSB3aGVyZSB3ZSBjb21wdXRl
IHRoZSBlbmNsb3NpbmcgcmVjdGFuZ2xlIGZvciBhbGwgdGhlIGZyYWdtZW50cy4KKworICAgICAg
ICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91
dEluRmxvd0NvbnRlbnQpOiBEZWNvdXBsZSB0aGUgcnVuIGNvbnN0cnVjdGlvbiBhbmQgaW5saW5l
IGJveCBnZW9tZXRyeSB1cGRhdGUgbG9naWMsCisgICAgICAgIHdoZXJlIHdlIGxvb3AgdGhyb3Vn
aCB0aGUgcnVucyBhbmQgY3JlYXRlICJsaW5lIHJ1bnMiIHdoZW4gbmVlZGVkIGFuZCB0aGVuIHdl
IGxvb3AgdGhyb3VnaCB0aGUgaW5saW5lIGJveGVzIG9uIHRoZSBjdXJyZW50IGxpbmUgYW5kCisg
ICAgICAgIHVwZGF0ZSB0aGUgYm94IGdlb21ldHJpZXMuCisgCisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29u
dGVudCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z1N0YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0
ZTo6bGluZUJveGVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9y
bWF0dGluZ1N0YXRlOjphZGRMaW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5s
aW5lRm9ybWF0dGluZ1N0YXRlOjpjbGVhckxpbmVBbmRSdW5zKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlOjpzaHJpbmtUb0ZpdCk6CisgICAgICAgICog
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lQm94Ojpjb250YWluc0lubGluZUxldmVsQm94IGNvbnN0KToKKwogMjAy
MC0wOS0yMiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNd
IEZvcm1hdHRpbmdTdGF0ZSBzaG91bGQgbmV2ZXIgYmUgY29waWVkLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGNhOTBmY2FjNWMzMTJmMzU1OGQ4MTdhYWVhNjcwYWNj
MTYxOWVkZGQuLjMzN2FmMjhlY2RiZTI0YjZjMWI4Y2VjM2JlNmFmMjJmYWQzMGM5NGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTExMyw3ICsxMTMsNyBAQCB2b2lk
IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50KEludmFsaWRhdGlv
blN0YXRlJiBpbnZhbGlkYXRpbwogICAgICAgICAgICAgICAgIGNvbXB1dGVIZWlnaHRBbmRNYXJn
aW4oKmxheW91dEJveCwgY29uc3RyYWludHMuaG9yaXpvbnRhbCk7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0gZWxzZSBpZiAobGF5b3V0Qm94LT5pc0lubGluZUJveCgpKSB7Ci0gICAgICAgICAg
ICAvLyBUZXh0IHdyYXBwZXIgYm94ZXMgKGFub255bW91cyBpbmxpbmUgbGV2ZWwgYm94ZXMpIGFu
ZCA8YnI+cyBkb24ndCBnZW5lcmF0ZSBkaXNwbGF5IGJveGVzIChvbmx5IGRpc3BsYXkgcnVucyku
CisgICAgICAgICAgICAvLyBUZXh0IHdyYXBwZXIgYm94ZXMgKGFub255bW91cyBpbmxpbmUgbGV2
ZWwgYm94ZXMpIGFuZCA8YnI+cyBkb24ndCBoYXZlIGJveCBnZW9tZXRyaWVzICh0aGV5IG9ubHkg
Z2VuZXJhdGUgcnVucykuCiAgICAgICAgICAgICBpZiAoIWxheW91dEJveC0+aXNJbmxpbmVUZXh0
Qm94KCkgJiYgIWxheW91dEJveC0+aXNMaW5lQnJlYWtCb3goKSkgewogICAgICAgICAgICAgICAg
IC8vIElubGluZSBib3hlcyAoPHNwYW4+KSBjYW4ndCBnZXQgc2l6ZWQvcG9zaXRpb25lZCB5ZXQu
IEF0IHRoaXMgcG9pbnQgd2UgY2FuIG9ubHkgY29tcHV0ZSB0aGVpciBtYXJnaW5zLCBib3JkZXJz
IGFuZCBwYWRkaW5nLgogICAgICAgICAgICAgICAgIGNvbXB1dGVCb3JkZXJBbmRQYWRkaW5nKCps
YXlvdXRCb3gsIGNvbnN0cmFpbnRzLmhvcml6b250YWwpOwpAQCAtMzk2LDE5ICszOTYsMTcgQEAg
SW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGlu
ZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKIHsKICAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGUgPSB0
aGlzLT5mb3JtYXR0aW5nU3RhdGUoKTsKICAgICBhdXRvIGdlb21ldHJ5ID0gdGhpcy0+Z2VvbWV0
cnkoKTsKLSAgICBjb25zdCBhdXRvIGxpbmVCb3ggPSBnZW9tZXRyeS5saW5lQm94Rm9yTGluZUNv
bnRlbnQobGluZUNvbnRlbnQpOworCisgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVCb3goZ2Vv
bWV0cnkubGluZUJveEZvckxpbmVDb250ZW50KGxpbmVDb250ZW50KSk7CisgICAgY29uc3QgYXV0
byYgbGluZUJveCA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKS5sYXN0KCk7CisKICAgICBh
dXRvIGxpbmVSZWN0QW5kTGluZUJveE9mZnNldCA9IGdlb21ldHJ5LmNvbXB1dGVkTGluZUxvZ2lj
YWxSZWN0KGxpbmVCb3gsIHJvb3QoKS5zdHlsZSgpLCBsaW5lQ29udGVudCk7CiAgICAgYXV0byBs
aW5lTG9naWNhbFJlY3QgPSBsaW5lUmVjdEFuZExpbmVCb3hPZmZzZXQubG9naWNhbFJlY3Q7CiAg
ICAgYXV0byBsaW5lQm94VmVydGljYWxPZmZzZXQgPSBsaW5lUmVjdEFuZExpbmVCb3hPZmZzZXQu
bGluZUJveFZlcnRpY2FsT2Zmc2V0OwotICAgIGF1dG8gbGluZUluZGV4ID0gZm9ybWF0dGluZ1N0
YXRlLmxpbmVzKCkuc2l6ZSgpOwogCi0gICAgYXV0byBjb25zdHJ1Y3RMaW5lR2VvbWV0cnkgPSBb
Jl0gewotICAgICAgICBhdXRvIGxpbmVCb3hMb2dpY2FsUmVjdCA9IElubGluZVJlY3QgeyBsaW5l
TG9naWNhbFJlY3QudG9wKCkgKyBsaW5lQm94VmVydGljYWxPZmZzZXQsIGxpbmVMb2dpY2FsUmVj
dC5sZWZ0KCksIGxpbmVCb3gubG9naWNhbFdpZHRoKCksIGxpbmVCb3gubG9naWNhbEhlaWdodCgp
IH07Ci0gICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lKHsgbGluZUxvZ2ljYWxSZWN0LCBs
aW5lQm94TG9naWNhbFJlY3QsIGxpbmVCb3hWZXJ0aWNhbE9mZnNldCArIGxpbmVCb3guYWxpZ25t
ZW50QmFzZWxpbmUoKSwgbGluZUJveC5ob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KCkudmFsdWVP
cihJbmxpbmVMYXlvdXRVbml0IHsgfSkgfSk7Ci0gICAgfTsKLSAgICBjb25zdHJ1Y3RMaW5lR2Vv
bWV0cnkoKTsKLQotICAgIGlmICghbGluZUNvbnRlbnQuZmxvYXRzLmlzRW1wdHkoKSkgeworICAg
IGF1dG8gdXBkYXRlRmxvYXRHZW9tZXRyeSA9IFsmXSB7CisgICAgICAgIGlmIChsaW5lQ29udGVu
dC5mbG9hdHMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBhdXRvIGZs
b2F0aW5nQ29udGV4dCA9IEZsb2F0aW5nQ29udGV4dCB7IHJvb3QoKSwgKnRoaXMsIGZvcm1hdHRp
bmdTdGF0ZS5mbG9hdGluZ1N0YXRlKCkgfTsKICAgICAgICAgLy8gTW92ZSBmbG9hdHMgdG8gdGhl
aXIgZmluYWwgcG9zaXRpb24uCiAgICAgICAgIGZvciAoY29uc3QgYXV0byYgZmxvYXRDYW5kaWRh
dGUgOiBsaW5lQ29udGVudC5mbG9hdHMpIHsKQEAgLTQyMSwzNiArNDE5LDY3IEBAIElubGluZVJl
Y3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50
KGNvbnN0IExpbmVCdWlsCiAgICAgICAgICAgICBib3hHZW9tZXRyeS5zZXRMb2dpY2FsVG9wTGVm
dChmbG9hdGluZ0NvbnRleHQucG9zaXRpb25Gb3JGbG9hdChmbG9hdEJveCwgaG9yaXpvbnRhbENv
bnN0cmFpbnRzKSk7CiAgICAgICAgICAgICBmbG9hdGluZ0NvbnRleHQuYXBwZW5kKGZsb2F0Qm94
KTsKICAgICAgICAgfQotICAgIH0KLQotICAgIGZvciAoYXV0byYgbGluZVJ1biA6IGxpbmVDb250
ZW50LnJ1bnMpIHsKLSAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gbGluZVJ1bi5sYXlvdXRCb3go
KTsKLSAgICAgICAgLy8gSW5saW5lIGxldmVsIGNvbnRhaW5lcnMgKDxzcGFuPikgZG9uJ3QgZ2Vu
ZXJhdGUgZGlzcGxheSBydW5zIGFuZCBuZWl0aGVyIGRvIGNvbXBsZXRlbHkgY29sbGFwc2VkIHJ1
bnMuCi0gICAgICAgIGF1dG8gaW5pdGlhdGVzSW5saW5lUnVuID0gbGluZVJ1bi5pc1RleHQoKSB8
fCBsaW5lUnVuLmlzTGluZUJyZWFrKCkgfHwgbGluZVJ1bi5pc0JveCgpOwotICAgICAgICBpZiAo
aW5pdGlhdGVzSW5saW5lUnVuKSB7Ci0gICAgICAgICAgICBhdXRvIGxvZ2ljYWxSZWN0ID0gbGlu
ZVJ1bi5pc0JveCgpID8gbGluZUJveC5pbmxpbmVCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KS5s
b2dpY2FsUmVjdCgpIDogbGluZUJveC5sb2dpY2FsUmVjdEZvclRleHRSdW4obGluZVJ1bik7Ci0g
ICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgbGF5b3V0
Qm94LCBsb2dpY2FsUmVjdCwgbGluZVJ1bi5leHBhbnNpb24oKSwgbGluZVJ1bi50ZXh0Q29udGVu
dCgpIH0pOworICAgIH07CisgICAgdXBkYXRlRmxvYXRHZW9tZXRyeSgpOworCisgICAgYXV0byBj
b25zdHJ1Y3RMaW5lUnVucyA9IFsmXSB7CisgICAgICAgIGF1dG8gbGluZUluZGV4ID0gZm9ybWF0
dGluZ1N0YXRlLmxpbmVzKCkuc2l6ZSgpOworICAgICAgICAvLyBDcmVhdGUgdGhlIGlubGluZSBy
dW5zIG9uIHRoZSBjdXJyZW50IGxpbmUuIFRoaXMgaXMgbW9zdGx5IHRleHQgYW5kIGF0b21pYyBp
bmxpbmUgcnVucy4KKyAgICAgICAgZm9yIChhdXRvJiBsaW5lUnVuIDogbGluZUNvbnRlbnQucnVu
cykgeworICAgICAgICAgICAgaWYgKGxpbmVSdW4uaXNUZXh0KCkgfHwgbGluZVJ1bi5pc0xpbmVC
cmVhaygpKQorICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lUnVuKHsgbGlu
ZUluZGV4LCBsaW5lUnVuLmxheW91dEJveCgpLCBsaW5lQm94LmxvZ2ljYWxSZWN0Rm9yVGV4dFJ1
bihsaW5lUnVuKSwgbGluZVJ1bi5leHBhbnNpb24oKSwgbGluZVJ1bi50ZXh0Q29udGVudCgpIH0p
OworICAgICAgICAgICAgZWxzZSBpZiAobGluZVJ1bi5pc0JveCgpKQorICAgICAgICAgICAgICAg
IGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lUnVuKHsgbGluZUluZGV4LCBsaW5lUnVuLmxheW91dEJv
eCgpLCBsaW5lQm94LmlubGluZUJveEZvckxheW91dEJveChsaW5lUnVuLmxheW91dEJveCgpKS5s
b2dpY2FsUmVjdCgpLCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0gfSk7CiAgICAgICAgIH0KLQot
ICAgICAgICAvLyBGSVhNRTogU2luY2UgPGJyPiBhbmQgPHdicj4gcnVucyBoYXZlIGFzc29jaWF0
ZWQgRE9NIGVsZW1lbnRzLCB3ZSBtaWdodCBuZWVkIHRvIGNvbnN0cnVjdCBhIGRpc3BsYXkgYm94
IGhlcmUuIAotICAgICAgICBhdXRvIG5lZWRzQm94R2VvbWV0cnkgPSBsaW5lUnVuLmlzQm94KCkg
fHwgbGluZVJ1bi5pc0NvbnRhaW5lclN0YXJ0KCk7Ci0gICAgICAgIGlmIChuZWVkc0JveEdlb21l
dHJ5KSB7CisgICAgfTsKKyAgICBjb25zdHJ1Y3RMaW5lUnVucygpOworCisgICAgYXV0byB1cGRh
dGVCb3hHZW9tZXRyeSA9IFsmXSB7CisgICAgICAgIC8vIEdyYWIgdGhlIGlubGluZSBib3hlcyAo
ZXZlbiB0aG9zZSB0aGF0IGRvbid0IGhhdmUgYXNzb2NpYXRlZCBsYXlvdXQgYm94ZXMgb24gdGhl
IGN1cnJlbnQgbGluZSBkdWUgdG8gbGluZSB3cmFwcGluZykKKyAgICAgICAgLy8gYW5kIHVwZGF0
ZSB0aGVpciBnZW9tZXRyaWVzLgorICAgICAgICBmb3IgKGF1dG8mIGlubGluZUJveCA6IGxpbmVC
b3guaW5saW5lQm94TGlzdCgpKSB7CisgICAgICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBpbmxp
bmVCb3gtPmxheW91dEJveCgpOworICAgICAgICAgICAgaWYgKCZsYXlvdXRCb3ggPT0gJnJvb3Qo
KSkgeworICAgICAgICAgICAgICAgIC8vIElnbm9yZSByb290IGlubGluZSBib3guCisgICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBhdXRvJiBib3hH
ZW9tZXRyeSA9IGZvcm1hdHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShsYXlvdXRCb3gpOwotICAgICAg
ICAgICAgYXV0byYgaW5saW5lQm94ID0gbGluZUJveC5pbmxpbmVCb3hGb3JMYXlvdXRCb3gobGF5
b3V0Qm94KTsKLSAgICAgICAgICAgIGF1dG8gdG9wTGVmdCA9IGlubGluZUJveC5sb2dpY2FsUmVj
dCgpLnRvcExlZnQoKTsKLSAgICAgICAgICAgIHRvcExlZnQubW92ZSh7IH0sIGxpbmVCb3hWZXJ0
aWNhbE9mZnNldCk7CisgICAgICAgICAgICBhdXRvIGxvZ2ljYWxUb3BMZWZ0ID0gaW5saW5lQm94
LT5sb2dpY2FsUmVjdCgpLnRvcExlZnQoKTsKKworICAgICAgICAgICAgbG9naWNhbFRvcExlZnQu
bW92ZSh7IH0sIGxpbmVCb3hWZXJ0aWNhbE9mZnNldCk7CiAgICAgICAgICAgICBpZiAobGF5b3V0
Qm94LmlzSW5GbG93UG9zaXRpb25lZCgpKQotICAgICAgICAgICAgICAgIHRvcExlZnQgKz0gZ2Vv
bWV0cnkuaW5GbG93UG9zaXRpb25lZFBvc2l0aW9uT2Zmc2V0KGxheW91dEJveCwgaG9yaXpvbnRh
bENvbnN0cmFpbnRzKTsKLSAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldExvZ2ljYWxUb3BMZWZ0
KHRvTGF5b3V0UG9pbnQodG9wTGVmdCkpOwotICAgICAgICAgICAgaWYgKGxpbmVSdW4uaXNDb250
YWluZXJTdGFydCgpKSB7Ci0gICAgICAgICAgICAgICAgYXV0byBtYXJnaW5Cb3hXaWR0aCA9IGlu
bGluZUJveC5sb2dpY2FsV2lkdGgoKTsKLSAgICAgICAgICAgICAgICBhdXRvIGNvbnRlbnRCb3hX
aWR0aCA9IG1hcmdpbkJveFdpZHRoIC0gKGJveEdlb21ldHJ5Lm1hcmdpblN0YXJ0KCkgKyBib3hH
ZW9tZXRyeS5ib3JkZXJMZWZ0KCkgKyBib3hHZW9tZXRyeS5wYWRkaW5nTGVmdCgpLnZhbHVlT3Io
MCkpOwotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBGaXggaXQgZm9yIG11bHRpbGluZS4KKyAg
ICAgICAgICAgICAgICBsb2dpY2FsVG9wTGVmdCArPSBnZW9tZXRyeS5pbkZsb3dQb3NpdGlvbmVk
UG9zaXRpb25PZmZzZXQobGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMpOworCisgICAg
ICAgICAgICBpZiAobGF5b3V0Qm94LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgeworICAgICAg
ICAgICAgICAgIC8vIEF0b21pYyBpbmxpbmUgYm94ZXMgYXJlIGFsbCBzZXQuIFRoZWlyIG1hcmdp
bi9ib3JkZXIvY29udGVudCBib3ggZ2VvbWV0cmllcyBhcmUgYWxyZWFkeSBjb21wdXRlZC4gV2Ug
anVzdCBoYXZlIHRvIHBvc2l0aW9uIHRoZW0gaGVyZS4KKyAgICAgICAgICAgICAgICBib3hHZW9t
ZXRyeS5zZXRMb2dpY2FsVG9wTGVmdCh0b0xheW91dFBvaW50KGxvZ2ljYWxUb3BMZWZ0KSk7Cisg
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBhdXRv
IG1hcmdpbkJveFdpZHRoID0gaW5saW5lQm94LT5sb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgICAg
IGF1dG8gY29udGVudEJveFdpZHRoID0gbWFyZ2luQm94V2lkdGggLSAoYm94R2VvbWV0cnkubWFy
Z2luU3RhcnQoKSArIGJveEdlb21ldHJ5LmJvcmRlckxlZnQoKSArIGJveEdlb21ldHJ5LnBhZGRp
bmdMZWZ0KCkudmFsdWVPcigwKSk7CisgICAgICAgICAgICAvLyBOb24tYXRvbWljIGlubGluZSBs
ZXZlbCBib3hlcyBtYXkgb3IgbWF5IG5vdCBiZSB3cmFwcGVkIGFuZCBoYXZlIGdlb21ldHJpZXMg
b24gbXVsdGlwbGUgbGluZXMuCisgICAgICAgICAgICBpbnQgcHJldmlvdXNMaW5lSW5kZXggPSBm
b3JtYXR0aW5nU3RhdGUubGluZUJveGVzKCkuc2l6ZSgpIC0gMjsKKyAgICAgICAgICAgIGF1dG8g
aXNTcGFubmluZ0lubGluZUJveCA9IHByZXZpb3VzTGluZUluZGV4ID4gMCAmJiBmb3JtYXR0aW5n
U3RhdGUubGluZUJveGVzKClbcHJldmlvdXNMaW5lSW5kZXhdLmNvbnRhaW5zSW5saW5lTGV2ZWxC
b3gobGF5b3V0Qm94KTsKKyAgICAgICAgICAgIGlmICghaXNTcGFubmluZ0lubGluZUJveCkgewor
ICAgICAgICAgICAgICAgIC8vIFRoaXMgYm94IHNob3dlZCB1cCBvbiB0aGlzIGxpbmUgdGhlIGZp
cnN0IHRpbWUuCisgICAgICAgICAgICAgICAgYm94R2VvbWV0cnkuc2V0TG9naWNhbFRvcExlZnQo
dG9MYXlvdXRQb2ludChsb2dpY2FsVG9wTGVmdCkpOwogICAgICAgICAgICAgICAgIGJveEdlb21l
dHJ5LnNldENvbnRlbnRCb3hXaWR0aCh0b0xheW91dFVuaXQoY29udGVudEJveFdpZHRoKSk7Ci0g
ICAgICAgICAgICAgICAgYm94R2VvbWV0cnkuc2V0Q29udGVudEJveEhlaWdodCh0b0xheW91dFVu
aXQoaW5saW5lQm94LmxvZ2ljYWxIZWlnaHQoKSkpOworICAgICAgICAgICAgICAgIGJveEdlb21l
dHJ5LnNldENvbnRlbnRCb3hIZWlnaHQodG9MYXlvdXRVbml0KGlubGluZUJveC0+bG9naWNhbEhl
aWdodCgpKSk7CisgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAvLyBUaGlzIGlzIGEganVzdCBhIHNpbXBsZSBib3ggZ2VvbWV0cnkgZm9yIHRoZSBs
aW5lIHNwYW5uaW5nIGlubGluZSBib3guIGdldEJvdW5kaW5nQ2xpZW50UmVjdCBsb29rcyBpbnRv
IGVhY2ggbGluZSBib3hlcyAod2lsbCB0dXJuIGludG8gZnJhZ21lbnRlZCBib3hlcykuCisgICAg
ICAgICAgICBib3hHZW9tZXRyeS5zZXRMb2dpY2FsTGVmdChzdGQ6Om1pbihib3hHZW9tZXRyeS5s
b2dpY2FsTGVmdCgpLCB0b0xheW91dFVuaXQobG9naWNhbFRvcExlZnQueCgpKSkpOworICAgICAg
ICAgICAgYm94R2VvbWV0cnkuc2V0Q29udGVudEJveFdpZHRoKHN0ZDo6bWF4KHRvTGF5b3V0VW5p
dChjb250ZW50Qm94V2lkdGgpLCBib3hHZW9tZXRyeS5jb250ZW50Qm94V2lkdGgoKSkpOworICAg
ICAgICAgICAgYm94R2VvbWV0cnkuc2V0Q29udGVudEJveEhlaWdodChib3hHZW9tZXRyeS5jb250
ZW50Qm94SGVpZ2h0KCkgKyB0b0xheW91dFVuaXQoaW5saW5lQm94LT5sb2dpY2FsSGVpZ2h0KCkp
KTsKICAgICAgICAgfQotICAgIH0KKyAgICB9OworICAgIHVwZGF0ZUJveEdlb21ldHJ5KCk7CisK
KyAgICBhdXRvIGNvbnN0cnVjdExpbmVHZW9tZXRyeSA9IFsmXSB7CisgICAgICAgIGF1dG8gbGlu
ZUJveExvZ2ljYWxSZWN0ID0gSW5saW5lUmVjdCB7IGxpbmVMb2dpY2FsUmVjdC50b3AoKSArIGxp
bmVCb3hWZXJ0aWNhbE9mZnNldCwgbGluZUxvZ2ljYWxSZWN0LmxlZnQoKSwgbGluZUJveC5sb2dp
Y2FsV2lkdGgoKSwgbGluZUJveC5sb2dpY2FsSGVpZ2h0KCkgfTsKKyAgICAgICAgZm9ybWF0dGlu
Z1N0YXRlLmFkZExpbmUoeyBsaW5lTG9naWNhbFJlY3QsIGxpbmVCb3hMb2dpY2FsUmVjdCwgbGlu
ZUJveFZlcnRpY2FsT2Zmc2V0ICsgbGluZUJveC5hbGlnbm1lbnRCYXNlbGluZSgpLCBsaW5lQm94
Lmhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQoKS52YWx1ZU9yKElubGluZUxheW91dFVuaXQgeyB9
KSB9KTsKKyAgICB9OworICAgIGNvbnN0cnVjdExpbmVHZW9tZXRyeSgpOwogICAgIHJldHVybiBs
aW5lTG9naWNhbFJlY3Q7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKaW5kZXggMTA0
YTg3MzA5OGQ5MThhMjNjZWUyODNiNzc0YWVmZmI5MjE2ZTA4ZS4uMDY2YjA4YzhkMTBmNGQ3YWFj
ZTZkNDBjNDRkNjNkNzllZDQ5MmQ1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKQEAg
LTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkZvcm1hdHRpbmdTdGF0ZS5oIgogI2luY2x1ZGUg
IklubGluZUl0ZW0uaCIKKyNpbmNsdWRlICJJbmxpbmVMaW5lQm94LmgiCiAjaW5jbHVkZSAiSW5s
aW5lTGluZUdlb21ldHJ5LmgiCiAjaW5jbHVkZSAiSW5saW5lTGluZVJ1bi5oIgogI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2MuaD4KQEAgLTM4LDYgKzM5LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiAK
IHVzaW5nIElubGluZUl0ZW1zID0gVmVjdG9yPElubGluZUl0ZW0+OwogdXNpbmcgSW5saW5lTGlu
ZXMgPSBWZWN0b3I8SW5saW5lTGluZUdlb21ldHJ5PjsKK3VzaW5nIElubGluZUxpbmVCb3hlcyA9
IFZlY3RvcjxMaW5lQm94PjsKIHVzaW5nIElubGluZUxpbmVSdW5zID0gVmVjdG9yPExpbmVSdW4+
OwogCiAvLyBJbmxpbmVGb3JtYXR0aW5nU3RhdGUgaG9sZHMgdGhlIHN0YXRlIGZvciBhIHBhcnRp
Y3VsYXIgaW5saW5lIGZvcm1hdHRpbmcgY29udGV4dCB0cmVlLgpAQCAtNTUsNiArNTcsOSBAQCBw
dWJsaWM6CiAgICAgSW5saW5lTGluZXMmIGxpbmVzKCkgeyByZXR1cm4gbV9saW5lczsgfQogICAg
IHZvaWQgYWRkTGluZShjb25zdCBJbmxpbmVMaW5lR2VvbWV0cnkmIGxpbmUpIHsgbV9saW5lcy5h
cHBlbmQobGluZSk7IH0KIAorICAgIGNvbnN0IElubGluZUxpbmVCb3hlcyYgbGluZUJveGVzKCkg
Y29uc3QgeyByZXR1cm4gbV9saW5lQm94ZXM7IH0KKyAgICB2b2lkIGFkZExpbmVCb3goTGluZUJv
eCYmIGxpbmVCb3gpIHsgbV9saW5lQm94ZXMuYXBwZW5kKFdURk1vdmUobGluZUJveCkpOyB9CisK
ICAgICBjb25zdCBJbmxpbmVMaW5lUnVucyYgbGluZVJ1bnMoKSBjb25zdCB7IHJldHVybiBtX2xp
bmVSdW5zOyB9CiAgICAgSW5saW5lTGluZVJ1bnMmIGxpbmVSdW5zKCkgeyByZXR1cm4gbV9saW5l
UnVuczsgfQogICAgIHZvaWQgYWRkTGluZVJ1bihjb25zdCBMaW5lUnVuJiBydW4pIHsgbV9saW5l
UnVucy5hcHBlbmQocnVuKTsgfQpAQCAtNjYsMTggKzcxLDIxIEBAIHByaXZhdGU6CiAgICAgLy8g
Q2FjaGVhYmxlIGlucHV0IHRvIGxpbmUgbGF5b3V0LgogICAgIElubGluZUl0ZW1zIG1faW5saW5l
SXRlbXM7CiAgICAgSW5saW5lTGluZXMgbV9saW5lczsKKyAgICBJbmxpbmVMaW5lQm94ZXMgbV9s
aW5lQm94ZXM7CiAgICAgSW5saW5lTGluZVJ1bnMgbV9saW5lUnVuczsKIH07CiAKIGlubGluZSB2
b2lkIElubGluZUZvcm1hdHRpbmdTdGF0ZTo6Y2xlYXJMaW5lQW5kUnVucygpCiB7CiAgICAgbV9s
aW5lcy5jbGVhcigpOworICAgIG1fbGluZUJveGVzLmNsZWFyKCk7CiAgICAgbV9saW5lUnVucy5j
bGVhcigpOwogfQogCiBpbmxpbmUgdm9pZCBJbmxpbmVGb3JtYXR0aW5nU3RhdGU6OnNocmlua1Rv
Rml0KCkKIHsKICAgICBtX2xpbmVzLnNocmlua1RvRml0KCk7CisgICAgbV9saW5lQm94ZXMuc2hy
aW5rVG9GaXQoKTsKICAgICBtX2xpbmVSdW5zLnNocmlua1RvRml0KCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3gu
aCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3gu
aAppbmRleCA1MWY5OWY5YmUyYjhiNzY0NzAxZTQ0NWU5ZGIyNDg1MzU0NGJhMTJkLi45NjRjODYz
NjdlYjM0ZGZjYzhlY2JlNDE0NWYzNzA2Y2IxMzEwZTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oCkBAIC0xMTEs
OSArMTExLDggQEAgcHVibGljOgogCiAgICAgY29uc3QgSW5saW5lQm94JiBpbmxpbmVCb3hGb3JM
YXlvdXRCb3goY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0IHsgcmV0dXJuICptX2lubGluZUJv
eFJlY3RNYXAuZ2V0KCZsYXlvdXRCb3gpOyB9CiAgICAgSW5saW5lUmVjdCBsb2dpY2FsUmVjdEZv
clRleHRSdW4oY29uc3QgTGluZTo6UnVuJikgY29uc3Q7Ci0KLSAgICB1c2luZyBJbmxpbmVCb3hN
YXAgPSBIYXNoTWFwPGNvbnN0IEJveCosIElubGluZUJveCo+OwogICAgIGF1dG8gaW5saW5lQm94
TGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lQm94UmVjdE1hcC52YWx1ZXMoKTsgfQorICAg
IGJvb2wgY29udGFpbnNJbmxpbmVMZXZlbEJveChjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3Qg
eyByZXR1cm4gbV9pbmxpbmVCb3hSZWN0TWFwLmNvbnRhaW5zKCZsYXlvdXRCb3gpOyB9CiAKICAg
ICBJbmxpbmVMYXlvdXRVbml0IGFsaWdubWVudEJhc2VsaW5lKCkgY29uc3QgeyByZXR1cm4gbV9y
b290SW5saW5lQm94LT5sb2dpY2FsVG9wKCkgKyBtX3Jvb3RJbmxpbmVCb3gtPmJhc2VsaW5lKCk7
IH0KIApAQCAtMTQwLDcgKzEzOSw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPElu
bGluZUJveD4gbV9yb290SW5saW5lQm94OwogICAgIElubGluZUJveExpc3QgbV9ub25Sb290SW5s
aW5lQm94TGlzdDsKIAotICAgIElubGluZUJveE1hcCBtX2lubGluZUJveFJlY3RNYXA7CisgICAg
SGFzaE1hcDxjb25zdCBCb3gqLCBJbmxpbmVCb3gqPiBtX2lubGluZUJveFJlY3RNYXA7CiB9Owog
CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>