<?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>198258</bug_id>
          
          <creation_ts>2019-05-26 11:53:03 -0700</creation_ts>
          <short_desc>[LFC][IFC] Move intrinsic width computation from InlineFormattingContext to LineLayout</short_desc>
          <delta_ts>2019-05-28 07:51:24 -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>commit-queue</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>1539275</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-05-26 11:53:03 -0700</bug_when>
    <thetext>We might also want to use LineLayout.layout() for preferred width computation at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539276</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-05-26 11:53:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/51145484&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539277</commentid>
    <comment_count>2</comment_count>
      <attachid>370653</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-05-26 11:57:48 -0700</bug_when>
    <thetext>Created attachment 370653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539562</commentid>
    <comment_count>3</comment_count>
      <attachid>370653</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-28 07:51:23 -0700</bug_when>
    <thetext>Comment on attachment 370653
Patch

Clearing flags on attachment: 370653

Committed r245811: &lt;https://trac.webkit.org/changeset/245811&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539563</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-28 07:51:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370653</attachid>
            <date>2019-05-26 11:57:48 -0700</date>
            <delta_ts>2019-05-28 07:51:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198258-20190526115745.patch</filename>
            <type>text/plain</type>
            <size>10901</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1Nzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI2N2Q2NzQ1MWU3MTcy
YTNmZTk2ODUzNTJkYjFjNDQyZTEzMDkxMC4uNDZjOWYwM2M4ZmNiYThmNmFiNGVkOTEwOTZkNjdm
ZThiOTFjMmY2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE5LTA1LTI2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBNb3ZlIGlu
dHJpbnNpYyB3aWR0aCBjb21wdXRhdGlvbiBmcm9tIElubGluZUZvcm1hdHRpbmdDb250ZXh0IHRv
IExpbmVMYXlvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5ODI1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIHNoYXJpbmcgZXZlbiBtb3JlIGNvZGUgYmV0
d2VlbiBsaW5lIGxheW91dCBhbmQgcHJlZmVycmVkIHdpZHRoIGNvbXB1dGF0aW9uLiAKKworICAg
ICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6Omxh
eW91dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdD
b250ZXh0Ojpjb21wdXRlSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBjb25zdCk6CisgICAgICAg
ICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAg
ICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dExp
bmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6TGluZUxheW91dDo6aW5pdGlhbGl6ZUxpbmUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6TGluZUxheW91dDo6bGF5b3V0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQ6OkxpbmVMYXlvdXQ6OmNvbXB1dGVkSW50cmluc2ljV2lkdGggY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6TGluZUxheW91dDo6Y2xv
c2VMaW5lIGNvbnN0KToKKwogMjAxOS0wNS0yNSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtMRkNdW1ZlcmlmaWNhdGlvbl0gQWRkIGFkZGl0aW9uYWwgaW5saW5l
IGFuZCBibG9jayBjaGVja3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRl
eCA0ODNiMzdkZmNlNjk1YmVlM2NiZTMyMGRjNzY4NWU5NDcwZDBmYjRlLi5hNzc4ZTliNzIyNGE2
YzMyYzEwNTAxNjE0NzU0M2RiOWNiMTRmMjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQuY3BwCkBAIC03MSw3ICs3MSw4IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6
OmxheW91dCgpIGNvbnN0CiAKICAgICBMT0dfV0lUSF9TVFJFQU0oRm9ybWF0dGluZ0NvbnRleHRM
YXlvdXQsIHN0cmVhbSA8PCAiW1N0YXJ0XSAtPiBpbmxpbmUgZm9ybWF0dGluZyBjb250ZXh0IC0+
IGZvcm1hdHRpbmcgcm9vdCgiIDw8ICZyb290KCkgPDwgIikiKTsKICAgICBhdXRvJiByb290ID0g
ZG93bmNhc3Q8Q29udGFpbmVyPih0aGlzLT5yb290KCkpOwotICAgIGF1dG8gdXNlZFZhbHVlcyA9
IFVzZWRIb3Jpem9udGFsVmFsdWVzIHsgbGF5b3V0U3RhdGUoKS5kaXNwbGF5Qm94Rm9yTGF5b3V0
Qm94KHJvb3QpLmNvbnRlbnRCb3hXaWR0aCgpIH07CisgICAgYXV0byBhdmFpbGFibGVXaWR0aCA9
IGxheW91dFN0YXRlKCkuZGlzcGxheUJveEZvckxheW91dEJveChyb290KS5jb250ZW50Qm94V2lk
dGgoKTsKKyAgICBhdXRvIHVzZWRWYWx1ZXMgPSBVc2VkSG9yaXpvbnRhbFZhbHVlcyB7IGF2YWls
YWJsZVdpZHRoIH07CiAgICAgYXV0byogbGF5b3V0Qm94ID0gcm9vdC5maXJzdEluRmxvd09yRmxv
YXRpbmdDaGlsZCgpOwogICAgIC8vIENvbXB1dGUgd2lkdGgvaGVpZ2h0IGZvciBub24tdGV4dCBj
b250ZW50IGFuZCBtYXJnaW4vYm9yZGVyL3BhZGRpbmcgZm9yIGlubGluZSBjb250YWluZXJzLgog
ICAgIHdoaWxlIChsYXlvdXRCb3gpIHsKQEAgLTkzLDcgKzk0LDcgQEAgdm9pZCBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6bGF5b3V0KCkgY29uc3QKICAgICBmb3JtYXR0aW5nU3RhdGUoKS5pbmxp
bmVSdW5zKCkuY2xlYXIoKTsKIAogICAgIGNvbGxlY3RJbmxpbmVDb250ZW50KCk7Ci0gICAgTGlu
ZUxheW91dCgqdGhpcykubGF5b3V0KCk7CisgICAgTGluZUxheW91dCgqdGhpcykubGF5b3V0KGF2
YWlsYWJsZVdpZHRoKTsKICAgICBMT0dfV0lUSF9TVFJFQU0oRm9ybWF0dGluZ0NvbnRleHRMYXlv
dXQsIHN0cmVhbSA8PCAiW0VuZF0gLT4gaW5saW5lIGZvcm1hdHRpbmcgY29udGV4dCAtPiBmb3Jt
YXR0aW5nIHJvb3QoIiA8PCAmcm9vdCA8PCAiKSIpOwogfQogCkBAIC0xMzksMjAgKzE0MCw3IEBA
IHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVJbnRyaW5zaWNXaWR0aENvbnN0
cmFpbnRzKCkgY29uc3QKICAgICAgICAgICAgIGF1dG8gaW50cmluc2ljV2lkdGhzID0gbGF5b3V0
U3RhdGUuZm9ybWF0dGluZ1N0YXRlRm9yQm94KCpmb3JtYXR0aW5nUm9vdCkuaW50cmluc2ljV2lk
dGhDb25zdHJhaW50cygqZm9ybWF0dGluZ1Jvb3QpOwogICAgICAgICAgICAgbGF5b3V0U3RhdGUu
ZGlzcGxheUJveEZvckxheW91dEJveCgqZm9ybWF0dGluZ1Jvb3QpLnNldENvbnRlbnRCb3hXaWR0
aChhdmFpbGFibGVXaWR0aCA/IGludHJpbnNpY1dpZHRocy0+bWF4aW11bSA6IGludHJpbnNpY1dp
ZHRocy0+bWluaW11bSk7CiAgICAgICAgIH0KLSAgICAgICAgTGF5b3V0VW5pdCBtYXhDb250ZW50
TG9naWNhbFJpZ2h0OwotICAgICAgICBMYXlvdXRVbml0IGxpbmVMb2dpY2FsUmlnaHQ7Ci0KLSAg
ICAgICAgTGluZUJyZWFrZXIgbGluZUJyZWFrZXIobGF5b3V0U3RhdGUpOwotICAgICAgICBhdXRv
JiBpbmxpbmVDb250ZW50ID0gZm9ybWF0dGluZ1N0YXRlKCkuaW5saW5lSXRlbXMoKTsKLSAgICAg
ICAgZm9yIChhdXRvJiBpbmxpbmVJdGVtIDogaW5saW5lQ29udGVudCkgewotICAgICAgICAgICAg
YXV0byBicmVha2luZ0NvbnRleHQgPSBsaW5lQnJlYWtlci5icmVha2luZ0NvbnRleHQoKmlubGlu
ZUl0ZW0sIHsgYXZhaWxhYmxlV2lkdGgsIGxpbmVMb2dpY2FsUmlnaHQsICFsaW5lTG9naWNhbFJp
Z2h0IH0pOwotICAgICAgICAgICAgaWYgKGJyZWFraW5nQ29udGV4dC5icmVha2luZ0JlaGF2aW9y
ID09IExpbmVCcmVha2VyOjpCcmVha2luZ0JlaGF2aW9yOjpXcmFwKQotICAgICAgICAgICAgICAg
IGxpbmVMb2dpY2FsUmlnaHQgPSAwOwotICAgICAgICAgICAgbGluZUxvZ2ljYWxSaWdodCArPSBp
bmxpbmVJdGVtLT53aWR0aCgpOwotCi0gICAgICAgICAgICBtYXhDb250ZW50TG9naWNhbFJpZ2h0
ID0gc3RkOjptYXgobWF4Q29udGVudExvZ2ljYWxSaWdodCwgbGluZUxvZ2ljYWxSaWdodCk7Ci0g
ICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG1heENvbnRlbnRMb2dpY2FsUmlnaHQ7CisgICAgICAg
IHJldHVybiBMaW5lTGF5b3V0KCp0aGlzKS5jb21wdXRlZEludHJpbnNpY1dpZHRoKGF2YWlsYWJs
ZVdpZHRoKTsKICAgICB9OwogCiAgICAgYXV0byBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzID0g
R2VvbWV0cnk6OmNvbnN0cmFpbkJ5TWluTWF4V2lkdGgocm9vdCwgeyBtYXhpbXVtTGluZVdpZHRo
KDApLCBtYXhpbXVtTGluZVdpZHRoKExheW91dFVuaXQ6Om1heCgpKSB9KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDliMGQ2MjI2YjUzYWNjNGUxYmZhZTI1NWZkZGY5NTgx
MDY1NWUwZGEuLjBlYTRkZTNkMDdhOWQ1MzJjMDEyMDU1OWUzYjNlYTFiMjBkYTgzNmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNTMsMTEgKzUzLDEyIEBAIHByaXZhdGU6
CiAgICAgY2xhc3MgTGluZUxheW91dCB7CiAgICAgcHVibGljOgogICAgICAgICBMaW5lTGF5b3V0
KGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0Jik7Ci0gICAgICAgIHZvaWQgbGF5b3V0KCkg
Y29uc3Q7CisgICAgICAgIHZvaWQgbGF5b3V0KExheW91dFVuaXQgd2lkdGhDb25zdHJhaW50KSBj
b25zdDsKKyAgICAgICAgTGF5b3V0VW5pdCBjb21wdXRlZEludHJpbnNpY1dpZHRoKExheW91dFVu
aXQgd2lkdGhDb25zdHJhaW50KSBjb25zdDsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIExheW91
dFN0YXRlJiBsYXlvdXRTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZm9ybWF0dGluZ0NvbnRleHQu
bGF5b3V0U3RhdGUoKTsgfQotICAgICAgICB2b2lkIGluaXRpYWxpemVMaW5lKExpbmUmLCBMYXlv
dXRVbml0IGxpbmVMb2dpY2FsVG9wKSBjb25zdDsKKyAgICAgICAgdm9pZCBpbml0aWFsaXplTGlu
ZShMaW5lJiwgTGF5b3V0VW5pdCBsaW5lTG9naWNhbFRvcCwgTGF5b3V0VW5pdCB3aWR0aENvbnN0
cmFpbnQpIGNvbnN0OwogICAgICAgICB2b2lkIGNsb3NlTGluZShMaW5lJikgY29uc3Q7CiAgICAg
ICAgIHZvaWQgY29tbWl0SW5saW5lSXRlbVRvTGluZShMaW5lJiwgY29uc3QgSW5saW5lSXRlbSYp
IGNvbnN0OwogICAgICAgICB2b2lkIGhhbmRsZUZsb2F0KExpbmUmLCBjb25zdCBGbG9hdGluZ0Nv
bnRleHQmLCBjb25zdCBJbmxpbmVJdGVtJiBmbG9hdEJveCkgY29uc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dExpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRMaW5lTGF5b3V0LmNwcAppbmRleCBlYTdiZDY2Y2Qy
NDA1ZDE1NGE2N2Y1NmUyMTRmZDY0YmExNDExYzBhLi4yNjg5NjMxYmM4NTMyYWUwYjg0YzUzZDY1
YjAxM2U2NDQ2MmE4ZjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0TGluZUxheW91dC5jcHAKQEAgLTM2MywxMSArMzYzLDEwIEBAIElubGluZUZvcm1hdHRpbmdD
b250ZXh0OjpMaW5lTGF5b3V0OjpMaW5lTGF5b3V0KGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250
ZXh0JiBpCiB7CiB9CiAKLXZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OkxpbmVMYXlvdXQ6
OmluaXRpYWxpemVMaW5lKExpbmUmIGxpbmUsIExheW91dFVuaXQgbGluZUxvZ2ljYWxUb3ApIGNv
bnN0Cit2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpMaW5lTGF5b3V0Ojppbml0aWFsaXpl
TGluZShMaW5lJiBsaW5lLCBMYXlvdXRVbml0IGxpbmVMb2dpY2FsVG9wLCBMYXlvdXRVbml0IGF2
YWlsYWJsZVdpZHRoKSBjb25zdAogewogICAgIGF1dG8mIGZvcm1hdHRpbmdSb290RGlzcGxheUJv
eCA9IGxheW91dFN0YXRlKCkuZGlzcGxheUJveEZvckxheW91dEJveChtX2Zvcm1hdHRpbmdSb290
KTsKICAgICBhdXRvIGxpbmVMb2dpY2FsTGVmdCA9IGZvcm1hdHRpbmdSb290RGlzcGxheUJveC5j
b250ZW50Qm94TGVmdCgpOwotICAgIGF1dG8gYXZhaWxhYmxlV2lkdGggPSBmb3JtYXR0aW5nUm9v
dERpc3BsYXlCb3guY29udGVudEJveFdpZHRoKCk7CiAKICAgICAvLyBDaGVjayBmb3IgaW50cnVk
aW5nIGZsb2F0cyBhbmQgYWRqdXN0IGxvZ2ljYWwgbGVmdC9hdmFpbGFibGUgd2lkdGggZm9yIHRo
aXMgbGluZSBhY2NvcmRpbmdseS4KICAgICBpZiAoIW1fZmxvYXRpbmdTdGF0ZS5pc0VtcHR5KCkp
IHsKQEAgLTM5OSwxMSArMzk4LDExIEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6Okxp
bmVMYXlvdXQ6OmluaXRpYWxpemVMaW5lKExpbmUmIGxpbmUsIExheW91dFVuaXQKICAgICBsaW5l
LnJlc2V0KHsgbGluZUxvZ2ljYWxMZWZ0LCBsaW5lTG9naWNhbFRvcCB9LCBhdmFpbGFibGVXaWR0
aCwgbWltaW11bUxpbmVIZWlnaHQsIGJhc2VsaW5lT2Zmc2V0KTsKIH0KIAotdm9pZCBJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dDo6TGluZUxheW91dDo6bGF5b3V0KCkgY29uc3QKK3ZvaWQgSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQ6OkxpbmVMYXlvdXQ6OmxheW91dChMYXlvdXRVbml0IHdpZHRoQ29u
c3RyYWludCkgY29uc3QKIHsKICAgICBhdXRvIGZsb2F0aW5nQ29udGV4dCA9IEZsb2F0aW5nQ29u
dGV4dCB7IG1fZmxvYXRpbmdTdGF0ZSB9OwogICAgIExpbmUgbGluZShsYXlvdXRTdGF0ZSgpKTsK
LSAgICBpbml0aWFsaXplTGluZShsaW5lLCBsYXlvdXRTdGF0ZSgpLmRpc3BsYXlCb3hGb3JMYXlv
dXRCb3gobV9mb3JtYXR0aW5nUm9vdCkuY29udGVudEJveFRvcCgpKTsKKyAgICBpbml0aWFsaXpl
TGluZShsaW5lLCBsYXlvdXRTdGF0ZSgpLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gobV9mb3JtYXR0
aW5nUm9vdCkuY29udGVudEJveFRvcCgpLCB3aWR0aENvbnN0cmFpbnQpOwogCiAgICAgVW5jb21t
aXR0ZWRDb250ZW50IHVuY29tbWl0dGVkQ29udGVudDsKICAgICBhdXRvIGNvbW1pdFBlbmRpbmdD
b250ZW50ID0gWyZdIHsKQEAgLTQxMiwxNSArNDExLDE5IEBAIHZvaWQgSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OkxpbmVMYXlvdXQ6OmxheW91dCgpIGNvbnN0CiAgICAgICAgIHVuY29tbWl0dGVk
Q29udGVudC5yZXNldCgpOwogICAgIH07CiAKKyAgICBhdXRvIGNsb3NlQ3VycmVudEFuZEluaXRp
YWxpemVOZXdMaW5lID0gWyZdIHsKKyAgICAgICAgY2xvc2VMaW5lKGxpbmUpOworICAgICAgICBp
bml0aWFsaXplTGluZShsaW5lLCBsaW5lLmxvZ2ljYWxCb3R0b20oKSwgd2lkdGhDb25zdHJhaW50
KTsKKyAgICB9OworCiAgICAgTGluZUJyZWFrZXIgbGluZUJyZWFrZXIobGF5b3V0U3RhdGUoKSk7
CiAgICAgYXV0byYgaW5saW5lQ29udGVudCA9IG1fZm9ybWF0dGluZ1N0YXRlLmlubGluZUl0ZW1z
KCk7CiAgICAgZm9yIChhdXRvJiBpbmxpbmVJdGVtIDogaW5saW5lQ29udGVudCkgewogICAgICAg
ICAvLyBJdGVyYXRlIHRocm91Z2ggdGhlIGlubGluZSBjb250ZW50IGFuZCB0cnkgdG8gcHV0IHRo
ZSBpbmxpbmUgYm94ZXMgb24gdGhlIGN1cnJlbnQgbGluZS4KICAgICAgICAgaWYgKGlubGluZUl0
ZW0tPmlzSGFyZExpbmVCcmVhaygpKSB7Ci0gICAgICAgICAgICAvLyBDbG9zZSB0aGUgY3VycmVu
dCBsaW5lIHRoZW4gY3JlYXRlIGFuZCBpbW1lZGlhdGVseSBjbG9zZSBhbm90aGVyIG9uZS4KICAg
ICAgICAgICAgIGNvbW1pdFBlbmRpbmdDb250ZW50KCk7CiAgICAgICAgICAgICBjb21taXRJbmxp
bmVJdGVtVG9MaW5lKGxpbmUsICppbmxpbmVJdGVtKTsKLSAgICAgICAgICAgIGNsb3NlTGluZShs
aW5lKTsKKyAgICAgICAgICAgIGNsb3NlQ3VycmVudEFuZEluaXRpYWxpemVOZXdMaW5lKCk7CiAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBhdXRvIGF2YWlsYWJsZVdpZHRoID0gbGluZS5h
dmFpbGFibGVXaWR0aCgpIC0gdW5jb21taXR0ZWRDb250ZW50LndpZHRoKCk7CiAgICAgICAgICAg
ICBhdXRvIGN1cnJlbnRMb2dpY2FsUmlnaHQgPSBsaW5lLmNvbnRlbnRMb2dpY2FsUmlnaHQoKSAr
IHVuY29tbWl0dGVkQ29udGVudC53aWR0aCgpOwpAQCAtNDM1LDcgKzQzOCw3IEBAIHZvaWQgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQ6OkxpbmVMYXlvdXQ6OmxheW91dCgpIGNvbnN0CiAgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIGlmIChicmVha2luZ0NvbnRleHQuYnJlYWtpbmdCZWhhdmlv
ciA9PSBMaW5lQnJlYWtlcjo6QnJlYWtpbmdCZWhhdmlvcjo6V3JhcCkKLSAgICAgICAgICAgICAg
ICBjbG9zZUxpbmUobGluZSk7CisgICAgICAgICAgICAgICAgY2xvc2VDdXJyZW50QW5kSW5pdGlh
bGl6ZU5ld0xpbmUoKTsKIAogICAgICAgICAgICAgaWYgKGlubGluZUl0ZW0tPmlzRmxvYXQoKSkK
ICAgICAgICAgICAgICAgICBoYW5kbGVGbG9hdChsaW5lLCBmbG9hdGluZ0NvbnRleHQsICppbmxp
bmVJdGVtKTsKQEAgLTQ1MCwxMiArNDUzLDQwIEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQ6OkxpbmVMYXlvdXQ6OmxheW91dCgpIGNvbnN0CiAgICAgLy8gUHJvY2VzcyByZW1haW5pbmcg
dW5jb21taXR0ZWQgY29udGVudC4KICAgICBpZiAoIXVuY29tbWl0dGVkQ29udGVudC5pc0VtcHR5
KCkpIHsKICAgICAgICAgaWYgKGxpbmUuYXZhaWxhYmxlV2lkdGgoKSA8IHVuY29tbWl0dGVkQ29u
dGVudC53aWR0aCgpKQotICAgICAgICAgICAgY2xvc2VMaW5lKGxpbmUpOworICAgICAgICAgICAg
Y2xvc2VDdXJyZW50QW5kSW5pdGlhbGl6ZU5ld0xpbmUoKTsKICAgICAgICAgY29tbWl0UGVuZGlu
Z0NvbnRlbnQoKTsKICAgICB9CiAgICAgY2xvc2VMaW5lKGxpbmUpOwogfQogCitMYXlvdXRVbml0
IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpMaW5lTGF5b3V0Ojpjb21wdXRlZEludHJpbnNpY1dp
ZHRoKExheW91dFVuaXQgd2lkdGhDb25zdHJhaW50KSBjb25zdAoreworICAgIC8vIEZJWE1FOiBD
b25zaWRlciBydW5uaW5nIGl0IHRocm91Z2ggbGF5b3V0KCkuCisgICAgTGF5b3V0VW5pdCBtYXhp
bXVtTGluZVdpZHRoOworICAgIExheW91dFVuaXQgbGluZUxvZ2ljYWxSaWdodDsKKyAgICBMYXlv
dXRVbml0IHRyaW1tYWJsZVRyYWlsaW5nV2lkdGg7CisKKyAgICBMaW5lQnJlYWtlciBsaW5lQnJl
YWtlcihsYXlvdXRTdGF0ZSgpKTsKKyAgICBhdXRvJiBpbmxpbmVDb250ZW50ID0gbV9mb3JtYXR0
aW5nU3RhdGUuaW5saW5lSXRlbXMoKTsKKyAgICBmb3IgKGF1dG8mIGlubGluZUl0ZW0gOiBpbmxp
bmVDb250ZW50KSB7CisgICAgICAgIGF1dG8gYnJlYWtpbmdDb250ZXh0ID0gbGluZUJyZWFrZXIu
YnJlYWtpbmdDb250ZXh0KCppbmxpbmVJdGVtLCB7IHdpZHRoQ29uc3RyYWludCwgbGluZUxvZ2lj
YWxSaWdodCwgIWxpbmVMb2dpY2FsUmlnaHQgfSk7CisgICAgICAgIGlmIChicmVha2luZ0NvbnRl
eHQuYnJlYWtpbmdCZWhhdmlvciA9PSBMaW5lQnJlYWtlcjo6QnJlYWtpbmdCZWhhdmlvcjo6V3Jh
cCkgeworICAgICAgICAgICAgbWF4aW11bUxpbmVXaWR0aCA9IHN0ZDo6bWF4KG1heGltdW1MaW5l
V2lkdGgsIGxpbmVMb2dpY2FsUmlnaHQgLSB0cmltbWFibGVUcmFpbGluZ1dpZHRoKTsKKyAgICAg
ICAgICAgIHRyaW1tYWJsZVRyYWlsaW5nV2lkdGggPSB7IH07CisgICAgICAgICAgICBsaW5lTG9n
aWNhbFJpZ2h0ID0geyB9OworICAgICAgICB9CisgICAgICAgIGlmIChpc1RyaW1tYWJsZUNvbnRl
bnQoKmlubGluZUl0ZW0pKSB7CisgICAgICAgICAgICAvLyBTa2lwIGxlYWRpbmcgd2hpdGVzcGFj
ZS4KKyAgICAgICAgICAgIGlmICghbGluZUxvZ2ljYWxSaWdodCkKKyAgICAgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgICAgIHRyaW1tYWJsZVRyYWlsaW5nV2lkdGggKz0gaW5saW5lSXRl
bS0+d2lkdGgoKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICB0cmltbWFibGVUcmFpbGlu
Z1dpZHRoID0geyB9OworICAgICAgICBsaW5lTG9naWNhbFJpZ2h0ICs9IGlubGluZUl0ZW0tPndp
ZHRoKCk7CisgICAgfQorICAgIHJldHVybiBzdGQ6Om1heChtYXhpbXVtTGluZVdpZHRoLCBsaW5l
TG9naWNhbFJpZ2h0IC0gdHJpbW1hYmxlVHJhaWxpbmdXaWR0aCk7Cit9CisKIHZvaWQgSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQ6OkxpbmVMYXlvdXQ6OmNsb3NlTGluZShMaW5lJiBsaW5lKSBjb25z
dAogewogICAgIGF1dG8mIGxpbmVJdGVtcyA9IGxpbmUuY2xvc2UoKTsKQEAgLTU1NCw3ICs1ODUs
NiBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpMaW5lTGF5b3V0OjpjbG9zZUxpbmUo
TGluZSYgbGluZSkgY29uc3QKICAgICBtX2Zvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lQm94KHsgbGlu
ZUJveCB9KTsKICAgICBpZiAobGluZS5oYXNDb250ZW50KCkpCiAgICAgICAgIGFsaWduUnVucyht
X2Zvcm1hdHRpbmdSb290LnN0eWxlKCkudGV4dEFsaWduKCksIHByZXZpb3VzTGluZUxhc3RSdW5J
bmRleC52YWx1ZU9yKC0xKSArIDEsIGxpbmUuYXZhaWxhYmxlV2lkdGgoKSk7Ci0gICAgaW5pdGlh
bGl6ZUxpbmUobGluZSwgbGluZS5sb2dpY2FsQm90dG9tKCkpOwogfQogCiB2b2lkIElubGluZUZv
cm1hdHRpbmdDb250ZXh0OjpMaW5lTGF5b3V0OjpoYW5kbGVGbG9hdChMaW5lJiBsaW5lLCBjb25z
dCBGbG9hdGluZ0NvbnRleHQmIGZsb2F0aW5nQ29udGV4dCwgY29uc3QgSW5saW5lSXRlbSYgZmxv
YXRJdGVtKSBjb25zdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>