<?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>240424</bug_id>
          
          <creation_ts>2022-05-14 22:28:49 -0700</creation_ts>
          <short_desc>[LFC][FFC] Introduce logical direction based flex layout</short_desc>
          <delta_ts>2022-05-15 09:55:13 -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>1869056</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-05-14 22:28:49 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869057</commentid>
    <comment_count>1</comment_count>
      <attachid>459376</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-05-14 22:34:49 -0700</bug_when>
    <thetext>Created attachment 459376
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869074</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-15 09:54:28 -0700</bug_when>
    <thetext>Committed r294217 (250575@main): &lt;https://commits.webkit.org/250575@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 459376.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869075</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-05-15 09:55:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/93310963&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459376</attachid>
            <date>2022-05-14 22:34:49 -0700</date>
            <delta_ts>2022-05-15 09:54:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240424-20220514223448.patch</filename>
            <type>text/plain</type>
            <size>14661</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjk0MDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzc4ZmM2YmRiOWM5Mzlk
NWZlZmY3Nzg5ODQ1NjNkODY5NGYyY2ZjYy4uYjc0ZGRkNmJmZDEwNDAzNjg0YzRmYmIwYTU1YWI1
OTljZTc5MTMyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTA1LTE0ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtGRkNdIEludHJvZHVj
ZSBsb2dpY2FsIGRpcmVjdGlvbiBiYXNlZCBmbGV4IGxheW91dAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQwNDI0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3Ig
ZW5zdXJpbmcgdGhhdCBjb3JlIGZsZXggbGF5b3V0IG9ubHkgbmVlZHMgdG8gZGVhbCB3aXRoCisg
ICAgICAgIG9uZSBkaXJlY3Rpb24gZm9yIGZsZXggY29udGVudCBwcm9ncmVzc2lvbiAocm93IHZz
LiBjb2x1bW4gdnMuIHJldmVyc2VkIGV0YykuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9m
bGV4L0ZsZXhGb3JtYXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkZsZXhGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0SW5GbG93Q29udGVudEZvckludGVncmF0aW9u
KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6Y2FuVXNlRm9yRmxl
eExheW91dCk6CisKIDIwMjItMDUtMTQgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQgd2luIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkN2IzN2IzODNhMGRlNzYy
ZTNkYjRmZWYyYWNkOWRiMDIxNjk5MDE5Li5mYWJmYmY0OTNlNjc5MmE1MDNhMzZkOTVlOGRjMDNl
NzMwYWNlNTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0yMjU3LDYgKzIyNTcsNyBAQAogCQk2RkI1RTIxNDIyMUYyNDUzMDAz
OTg5Q0YgLyogQ29udGVudENoYW5nZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RkI1RTIxMjIyMUYyNDQ3MDAzOTg5Q0YgLyogQ29udGVu
dENoYW5nZU9ic2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNkZCN0QyREQyNTBGRDgyODAwMDIwN0FBIC8qIEZsZXhGb3JtYXR0aW5nQ29u
dGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZC
N0QyRDkyNTBGRDdGQzAwMDIwN0FBIC8qIEZsZXhGb3JtYXR0aW5nQ29udGV4dC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGQjdEMkRFMjUwRkQ4
MkUwMDAyMDdBQSAvKiBGbGV4Rm9ybWF0dGluZ1N0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RkI3RDJEQTI1MEZEN0ZDMDAwMjA3QUEgLyogRmxl
eEZvcm1hdHRpbmdTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTZGQjkxMDVDMjgzMEJDOEEwMDAwNDkyOSAvKiBGbGV4UmVjdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZCOTEwNUIyODMwQkM4
QTAwMDA0OTI5IC8qIEZsZXhSZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNkZDM0Y5NDcyNTE2NzU2NzAwQTQ5QkVBIC8qIElubGluZURpc3Bs
YXlCb3guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZG
QzNGOTQ1MjUxNjc1NjYwMEE0OUJFQSAvKiBJbmxpbmVEaXNwbGF5Qm94LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkZDQkRCOTcyNjVERjJDODAw
MjFFQTdCIC8qIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGQ0JEQjk1MjY1REYyQzcwMDIx
RUE3QiAvKiBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkZEMDk1NDMyNTExMTUyMjAw
OTg4NzdEIC8qIExheW91dEdlb21ldHJ5UmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNkZEMDk1NDEyNTExMTUyMjAwOTg4NzdEIC8qIExheW91dEdl
b21ldHJ5UmVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC0xMTA5MCw2ICsxMTA5MSw3IEBACiAJCTZGQjdEMkQ4MjUwRkQ3RUYwMDAyMDdBQSAv
KiBGbGV4Rm9ybWF0dGluZ1N0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZsZXhGb3JtYXR0
aW5nU3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkI3RDJEOTI1MEZE
N0ZDMDAwMjA3QUEgLyogRmxleEZvcm1hdHRpbmdDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEZsZXhGb3JtYXR0aW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2RkI3RDJEQTI1MEZEN0ZDMDAwMjA3QUEgLyogRmxleEZvcm1hdHRpbmdT
dGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGbGV4Rm9ybWF0dGluZ1N0
YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZGQjkxMDVCMjgzMEJDOEEwMDAw
NDkyOSAvKiBGbGV4UmVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGbGV4
UmVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkJCODYwNTIwQjQ2NEI2MDBE
QUQ5MzggLyogRm9ybWF0dGluZ0dlb21ldHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvcm1h
dHRpbmdHZW9tZXRyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGQzNGOTQ1
MjUxNjc1NjYwMEE0OUJFQSAvKiBJbmxpbmVEaXNwbGF5Qm94LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IElubGluZURpc3BsYXlCb3guaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNkZDNTNBRUIyNEFGN0E4RTAwNjA1OUZFIC8qIFRhYmxlRm9ybWF0dGluZ1F1aXJr
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUYWJsZUZvcm1hdHRpbmdRdWlya3MuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjQ2NjIsNiArMjQ2NjQsNyBAQAogCQkJCTZGRjkx
MUY2MjY0ODdGQzgwMDIwMjFERiAvKiBGbGV4Rm9ybWF0dGluZ0dlb21ldHJ5LmggKi8sCiAJCQkJ
NkZCN0QyRDgyNTBGRDdFRjAwMDIwN0FBIC8qIEZsZXhGb3JtYXR0aW5nU3RhdGUuY3BwICovLAog
CQkJCTZGQjdEMkRBMjUwRkQ3RkMwMDAyMDdBQSAvKiBGbGV4Rm9ybWF0dGluZ1N0YXRlLmggKi8s
CisJCQkJNkZCOTEwNUIyODMwQkM4QTAwMDA0OTI5IC8qIEZsZXhSZWN0LmggKi8sCiAJCQkpOwog
CQkJcGF0aCA9IGZsZXg7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMzQ4MDUsNiAr
MzQ4MDgsNyBAQAogCQkJCTZGQjdEMkREMjUwRkQ4MjgwMDAyMDdBQSAvKiBGbGV4Rm9ybWF0dGlu
Z0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTZGRjkxMUY3MjY0ODdGQzgwMDIwMjFERiAv
KiBGbGV4Rm9ybWF0dGluZ0dlb21ldHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQk2RkI3RDJERTI1
MEZEODJFMDAwMjA3QUEgLyogRmxleEZvcm1hdHRpbmdTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNkZCOTEwNUMyODMwQkM4QTAwMDA0OTI5IC8qIEZsZXhSZWN0LmggaW4gSGVhZGVycyAqLywK
IAkJCQk2RkZEQzQ0MjIxMkVGRjE3MDBBOUNBOTEgLyogRmxvYXRBdm9pZGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzA3M0JBQTBDMzk5QjFGMDAwRjU5NzkgLyogRmxvYXRDb252ZXJzaW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxMTVDRkE4NjIwOEI5MDY2MDAxRTY5OTEgLyogRmxvYXRpbmdD
b250ZXh0LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvZmxleC9GbGV4Rm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9mbGV4L0ZsZXhGb3JtYXR0aW5n
Q29udGV4dC5jcHAKaW5kZXggYjkxMmViMzdlYTQ3YmEwMGFiZjBhY2EwNGQ0OTAzOTMyYjUwM2Q2
ZC4uOWNiMDY4M2Y4NjNlNTBmZjFiMmFjOGNiODAyN2I4MWE1MjlmZDBkYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9mbGV4L0ZsZXhGb3JtYXR0
aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9mbGV4L0ZsZXhGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAog
I2luY2x1ZGUgIkZsZXhGb3JtYXR0aW5nR2VvbWV0cnkuaCIKICNpbmNsdWRlICJGbGV4Rm9ybWF0
dGluZ1N0YXRlLmgiCisjaW5jbHVkZSAiRmxleFJlY3QuaCIKICNpbmNsdWRlICJJbmxpbmVSZWN0
LmgiCiAjaW5jbHVkZSAiTGF5b3V0Qm94R2VvbWV0cnkuaCIKICNpbmNsdWRlICJMYXlvdXRDaGls
ZEl0ZXJhdG9yLmgiCkBAIC0xMTgsMTcgKzExOSw0NCBAQCB2b2lkIEZsZXhGb3JtYXR0aW5nQ29u
dGV4dDo6Y29tcHV0ZUludHJpbnNpY1dpZHRoQ29uc3RyYWludHNGb3JGbGV4SXRlbXMoKQogICAg
IH0KIH0KIAorc3RydWN0IEZsZXhJdGVtTG9naWNhbEJveCB7CisgICAgRmxleFJlY3QgcmVjdDsK
KyAgICBjb25zdCBDb250YWluZXJCb3gmIGZsZXhJdGVtOworfTsKKwogdm9pZCBGbGV4Rm9ybWF0
dGluZ0NvbnRleHQ6OmxheW91dEluRmxvd0NvbnRlbnRGb3JJbnRlZ3JhdGlvbihjb25zdCBDb25z
dHJhaW50c0ZvckluRmxvd0NvbnRlbnQmIGNvbnN0cmFpbnRzKQogewogICAgIGF1dG8mIGZvcm1h
dHRpbmdTdGF0ZSA9IHRoaXMtPmZvcm1hdHRpbmdTdGF0ZSgpOwotICAgIGF1dG8gbWFpbkF4aXNQ
b3NpdGlvbiA9IGNvbnN0cmFpbnRzLmhvcml6b250YWwoKS5sb2dpY2FsTGVmdDsKLSAgICBhdXRv
IGNyb3NzQXhpc1Bvc2l0aW9uID0gY29uc3RyYWludHMubG9naWNhbFRvcCgpOwotICAgIGZvciAo
YXV0byYgZmxleEl0ZW0gOiBjaGlsZHJlbk9mVHlwZTxDb250YWluZXJCb3g+KHJvb3QoKSkpIHsK
LSAgICAgICAgYXV0byYgZmxleEl0ZW1HZW9tZXRyeSA9IGZvcm1hdHRpbmdTdGF0ZS5ib3hHZW9t
ZXRyeShmbGV4SXRlbSk7CisgICAgVmVjdG9yPEZsZXhJdGVtTG9naWNhbEJveD4gbG9naWNhbEZs
ZXhJdGVtTGlzdDsKKworICAgIGF1dG8gbG9naWNhbExlZnQgPSBMYXlvdXRVbml0IHsgfTsKKyAg
ICBhdXRvIGxvZ2ljYWxUb3AgPSBMYXlvdXRVbml0IHsgfTsKIAotICAgICAgICBmbGV4SXRlbUdl
b21ldHJ5LnNldExvZ2ljYWxUb3BMZWZ0KHsgbWFpbkF4aXNQb3NpdGlvbiwgY3Jvc3NBeGlzUG9z
aXRpb24gfSk7Ci0gICAgICAgIG1haW5BeGlzUG9zaXRpb24gPSBCb3hHZW9tZXRyeTo6Ym9yZGVy
Qm94UmVjdChmbGV4SXRlbUdlb21ldHJ5KS5yaWdodCgpOworICAgIGF1dG8gY29udmVydFZpc3Vh
bFRvTG9naWNhbCA9IFsmXSB7CisgICAgICAgIC8vIEZJWE1FOiBDb252ZXJ0IHZpc3VhbCAocm93
L2NvbHVtbikgZGlyZWN0aW9uIHRvIGxvZ2ljYWwuCisgICAgICAgIGxvZ2ljYWxMZWZ0ID0gY29u
c3RyYWludHMuaG9yaXpvbnRhbCgpLmxvZ2ljYWxMZWZ0OworICAgICAgICBsb2dpY2FsVG9wID0g
Y29uc3RyYWludHMubG9naWNhbFRvcCgpOworICAgIAorICAgICAgICBmb3IgKGF1dG8mIGZsZXhJ
dGVtIDogY2hpbGRyZW5PZlR5cGU8Q29udGFpbmVyQm94Pihyb290KCkpKSB7CisgICAgICAgICAg
ICBhdXRvJiBmbGV4SXRlbUdlb21ldHJ5ID0gZm9ybWF0dGluZ1N0YXRlLmJveEdlb21ldHJ5KGZs
ZXhJdGVtKTsKKyAgICAgICAgICAgIGxvZ2ljYWxGbGV4SXRlbUxpc3QuYXBwZW5kKHsgeyBMYXlv
dXRTaXplIHsgZmxleEl0ZW1HZW9tZXRyeS5tYXJnaW5Cb3hXaWR0aCgpLCBmbGV4SXRlbUdlb21l
dHJ5Lm1hcmdpbkJveEhlaWdodCgpIH0gfSwgZmxleEl0ZW0gfSk7CisgICAgICAgIH0KKyAgICB9
OworICAgIGNvbnZlcnRWaXN1YWxUb0xvZ2ljYWwoKTsKKworICAgIGZvciAoYXV0byYgbG9naWNh
bEZsZXhJdGVtIDogbG9naWNhbEZsZXhJdGVtTGlzdCkgeworICAgICAgICBsb2dpY2FsRmxleEl0
ZW0ucmVjdC5zZXRUb3BMZWZ0KHsgbG9naWNhbExlZnQsIGxvZ2ljYWxUb3AgfSk7CisgICAgICAg
IGxvZ2ljYWxMZWZ0ID0gbG9naWNhbEZsZXhJdGVtLnJlY3QucmlnaHQoKTsKICAgICB9CisKKyAg
ICBhdXRvIGNvbnZlcnRMb2dpY2FsVG9WaXN1YWwgPSBbJl0geworICAgICAgICAvLyBGSVhNRTog
Q29udmVydCBsb2dpY2FsIGNvb3JkaW5hdGVzIHRvIHZpc3VhbC4KKyAgICAgICAgZm9yIChhdXRv
JiBsb2dpY2FsRmxleEl0ZW0gOiBsb2dpY2FsRmxleEl0ZW1MaXN0KSB7CisgICAgICAgICAgICBh
dXRvJiBmbGV4SXRlbUdlb21ldHJ5ID0gZm9ybWF0dGluZ1N0YXRlLmJveEdlb21ldHJ5KGxvZ2lj
YWxGbGV4SXRlbS5mbGV4SXRlbSk7CisgICAgICAgICAgICBmbGV4SXRlbUdlb21ldHJ5LnNldExv
Z2ljYWxUb3BMZWZ0KGxvZ2ljYWxGbGV4SXRlbS5yZWN0LnRvcExlZnQoKSk7CisgICAgICAgIH0K
KyAgICB9OworICAgIGNvbnZlcnRMb2dpY2FsVG9WaXN1YWwoKTsKIH0KIAogSW50cmluc2ljV2lk
dGhDb25zdHJhaW50cyBGbGV4Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVkSW50cmluc2ljV2lk
dGhDb25zdHJhaW50c0ZvckludGVncmF0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvZmxleC9GbGV4UmVjdC5oIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9mbGV4L0ZsZXhSZWN0LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YmI4OTY2NTE0YjM0M2JiNWE0M2UxMWJhNjUyZmE3OWMyNmFkZjZmZAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvZmxleC9GbGV4UmVj
dC5oCkBAIC0wLDAgKzEsMjY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBF
TkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKKworI2luY2x1ZGUgIkxheW91dFJlY3Qu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIExheW91dCB7CisKK2NsYXNzIEZs
ZXhSZWN0IHsKK3B1YmxpYzoKKyAgICBGbGV4UmVjdCgpID0gZGVmYXVsdDsKKyAgICBGbGV4UmVj
dChMYXlvdXRVbml0IHRvcCwgTGF5b3V0VW5pdCBsZWZ0LCBMYXlvdXRVbml0IHdpZHRoLCBMYXlv
dXRVbml0IGhlaWdodCk7CisgICAgRmxleFJlY3QoY29uc3QgTGF5b3V0UmVjdCYpOworICAgIEZs
ZXhSZWN0KGNvbnN0IExheW91dFNpemUmKTsKKyAgICAKKyAgICBMYXlvdXRVbml0IHRvcCgpIGNv
bnN0OworICAgIExheW91dFVuaXQgbGVmdCgpIGNvbnN0OworICAgIExheW91dFBvaW50IHRvcExl
ZnQoKSBjb25zdDsKKworICAgIExheW91dFVuaXQgYm90dG9tKCkgY29uc3Q7CisgICAgTGF5b3V0
VW5pdCByaWdodCgpIGNvbnN0OyAgICAgICAgCisKKyAgICBMYXlvdXRVbml0IHdpZHRoKCkgY29u
c3Q7CisgICAgTGF5b3V0VW5pdCBoZWlnaHQoKSBjb25zdDsKKyAgICBMYXlvdXRTaXplIHNpemUo
KSBjb25zdDsKKworICAgIHZvaWQgc2V0VG9wKExheW91dFVuaXQpOworICAgIHZvaWQgc2V0Qm90
dG9tKExheW91dFVuaXQpOworICAgIHZvaWQgc2V0TGVmdChMYXlvdXRVbml0KTsKKyAgICB2b2lk
IHNldFJpZ2h0KExheW91dFVuaXQpOworICAgIHZvaWQgc2V0VG9wTGVmdChjb25zdCBMYXlvdXRQ
b2ludCYpOworICAgIHZvaWQgc2V0V2lkdGgoTGF5b3V0VW5pdCk7CisgICAgdm9pZCBzZXRIZWln
aHQoTGF5b3V0VW5pdCk7CisKKyAgICB2b2lkIG1vdmVIb3Jpem9udGFsbHkoTGF5b3V0VW5pdCk7
CisgICAgdm9pZCBtb3ZlVmVydGljYWxseShMYXlvdXRVbml0KTsKKworICAgIGJvb2wgaXNFbXB0
eSgpIGNvbnN0OworCisgICAgb3BlcmF0b3IgTGF5b3V0UmVjdCgpIGNvbnN0OworCitwcml2YXRl
OgorI2lmIEFTU0VSVF9FTkFCTEVECisgICAgdm9pZCBpbnZhbGlkYXRlVG9wKCkgeyBtX2hhc1Zh
bGlkVG9wID0gZmFsc2U7IH0KKyAgICB2b2lkIGludmFsaWRhdGVMZWZ0KCkgeyBtX2hhc1ZhbGlk
TGVmdCA9IGZhbHNlOyB9CisgICAgdm9pZCBpbnZhbGlkYXRlV2lkdGgoKSB7IG1faGFzVmFsaWRX
aWR0aCA9IGZhbHNlOyB9CisgICAgdm9pZCBpbnZhbGlkYXRlSGVpZ2h0KCkgeyBtX2hhc1ZhbGlk
SGVpZ2h0ID0gZmFsc2U7IH0KKyAgICB2b2lkIGludmFsaWRhdGVQb3NpdGlvbigpOworCisgICAg
Ym9vbCBoYXNWYWxpZFBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9oYXNWYWxpZFRvcCAmJiBt
X2hhc1ZhbGlkTGVmdDsgfQorICAgIGJvb2wgaGFzVmFsaWRTaXplKCkgY29uc3QgeyByZXR1cm4g
bV9oYXNWYWxpZFdpZHRoICYmIG1faGFzVmFsaWRIZWlnaHQ7IH0KKyAgICBib29sIGhhc1ZhbGlk
R2VvbWV0cnkoKSBjb25zdCB7IHJldHVybiBoYXNWYWxpZFBvc2l0aW9uKCkgJiYgaGFzVmFsaWRT
aXplKCk7IH0KKworICAgIHZvaWQgc2V0SGFzVmFsaWRQb3NpdGlvbigpOworICAgIHZvaWQgc2V0
SGFzVmFsaWRTaXplKCk7CisKKyAgICBib29sIG1faGFzVmFsaWRUb3AgeyBmYWxzZSB9OworICAg
IGJvb2wgbV9oYXNWYWxpZExlZnQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9oYXNWYWxpZFdpZHRo
IHsgZmFsc2UgfTsKKyAgICBib29sIG1faGFzVmFsaWRIZWlnaHQgeyBmYWxzZSB9OworI2VuZGlm
IC8vIEFTU0VSVF9FTkFCTEVECisgICAgTGF5b3V0UmVjdCBtX3JlY3Q7Cit9OworCitpbmxpbmUg
RmxleFJlY3Q6OkZsZXhSZWN0KExheW91dFVuaXQgdG9wLCBMYXlvdXRVbml0IGxlZnQsIExheW91
dFVuaXQgd2lkdGgsIExheW91dFVuaXQgaGVpZ2h0KQorICAgIDogbV9yZWN0KGxlZnQsIHRvcCwg
d2lkdGgsIGhlaWdodCkKK3sKKyNpZiBBU1NFUlRfRU5BQkxFRAorICAgIG1faGFzVmFsaWRUb3Ag
PSB0cnVlOworICAgIG1faGFzVmFsaWRMZWZ0ID0gdHJ1ZTsKKyAgICBtX2hhc1ZhbGlkV2lkdGgg
PSB0cnVlOworICAgIG1faGFzVmFsaWRIZWlnaHQgPSB0cnVlOworI2VuZGlmCit9CisKK2lubGlu
ZSBGbGV4UmVjdDo6RmxleFJlY3QoY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkKKyAgICA6IEZsZXhS
ZWN0KHJlY3QueSgpLCByZWN0LngoKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKQorewor
fQorCitpbmxpbmUgRmxleFJlY3Q6OkZsZXhSZWN0KGNvbnN0IExheW91dFNpemUmIHNpemUpCisg
ICAgOiBtX3JlY3QoeyB9LCBzaXplKQoreworI2lmIEFTU0VSVF9FTkFCTEVECisgICAgbV9oYXNW
YWxpZFdpZHRoID0gdHJ1ZTsKKyAgICBtX2hhc1ZhbGlkSGVpZ2h0ID0gdHJ1ZTsKKyNlbmRpZgor
fQorCisjaWYgQVNTRVJUX0VOQUJMRUQKK2lubGluZSB2b2lkIEZsZXhSZWN0OjppbnZhbGlkYXRl
UG9zaXRpb24oKQoreworICAgIGludmFsaWRhdGVUb3AoKTsKKyAgICBpbnZhbGlkYXRlTGVmdCgp
OworfQorCitpbmxpbmUgdm9pZCBGbGV4UmVjdDo6c2V0SGFzVmFsaWRQb3NpdGlvbigpCit7Cisg
ICAgbV9oYXNWYWxpZFRvcCA9IHRydWU7CisgICAgbV9oYXNWYWxpZExlZnQgPSB0cnVlOworfQor
CitpbmxpbmUgdm9pZCBGbGV4UmVjdDo6c2V0SGFzVmFsaWRTaXplKCkKK3sKKyAgICBtX2hhc1Zh
bGlkV2lkdGggPSB0cnVlOworICAgIG1faGFzVmFsaWRIZWlnaHQgPSB0cnVlOworfQorI2VuZGlm
IC8vIEFTU0VSVF9FTkFCTEVECisKK2lubGluZSBMYXlvdXRVbml0IEZsZXhSZWN0Ojp0b3AoKSBj
b25zdAoreworICAgIEFTU0VSVChtX2hhc1ZhbGlkVG9wKTsKKyAgICByZXR1cm4gbV9yZWN0Lnko
KTsKK30KKworaW5saW5lIExheW91dFVuaXQgRmxleFJlY3Q6OmxlZnQoKSBjb25zdAoreworICAg
IEFTU0VSVChtX2hhc1ZhbGlkTGVmdCk7CisgICAgcmV0dXJuIG1fcmVjdC54KCk7Cit9CisKK2lu
bGluZSBMYXlvdXRVbml0IEZsZXhSZWN0Ojpib3R0b20oKSBjb25zdAoreworICAgIEFTU0VSVCht
X2hhc1ZhbGlkVG9wICYmIG1faGFzVmFsaWRIZWlnaHQpOworICAgIHJldHVybiBtX3JlY3QubWF4
WSgpOworfQorCitpbmxpbmUgTGF5b3V0VW5pdCBGbGV4UmVjdDo6cmlnaHQoKSBjb25zdAorewor
ICAgIEFTU0VSVChtX2hhc1ZhbGlkTGVmdCAmJiBtX2hhc1ZhbGlkV2lkdGgpOworICAgIHJldHVy
biBtX3JlY3QubWF4WCgpOworfQorCitpbmxpbmUgTGF5b3V0UG9pbnQgRmxleFJlY3Q6OnRvcExl
ZnQoKSBjb25zdAoreworICAgIEFTU0VSVChoYXNWYWxpZFBvc2l0aW9uKCkpOworICAgIHJldHVy
biBtX3JlY3QubWluWE1pbllDb3JuZXIoKTsKK30KKworaW5saW5lIExheW91dFNpemUgRmxleFJl
Y3Q6OnNpemUoKSBjb25zdAoreworICAgIEFTU0VSVChoYXNWYWxpZFNpemUoKSk7CisgICAgcmV0
dXJuIG1fcmVjdC5zaXplKCk7Cit9CisKK2lubGluZSBMYXlvdXRVbml0IEZsZXhSZWN0Ojp3aWR0
aCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKG1faGFzVmFsaWRXaWR0aCk7CisgICAgcmV0dXJuIG1f
cmVjdC53aWR0aCgpOworfQorCitpbmxpbmUgTGF5b3V0VW5pdCBGbGV4UmVjdDo6aGVpZ2h0KCkg
Y29uc3QKK3sKKyAgICBBU1NFUlQobV9oYXNWYWxpZEhlaWdodCk7CisgICAgcmV0dXJuIG1fcmVj
dC5oZWlnaHQoKTsKK30KKworaW5saW5lIHZvaWQgRmxleFJlY3Q6OnNldFRvcExlZnQoY29uc3Qg
TGF5b3V0UG9pbnQmIHRvcExlZnQpCit7CisjaWYgQVNTRVJUX0VOQUJMRUQKKyAgICBzZXRIYXNW
YWxpZFBvc2l0aW9uKCk7CisjZW5kaWYKKyAgICBtX3JlY3Quc2V0TG9jYXRpb24odG9wTGVmdCk7
Cit9CisKK2lubGluZSB2b2lkIEZsZXhSZWN0OjpzZXRUb3AoTGF5b3V0VW5pdCB0b3ApCit7Cisj
aWYgQVNTRVJUX0VOQUJMRUQKKyAgICBtX2hhc1ZhbGlkVG9wID0gdHJ1ZTsKKyNlbmRpZgorICAg
IG1fcmVjdC5zZXRZKHRvcCk7Cit9CisKK2lubGluZSB2b2lkIEZsZXhSZWN0OjpzZXRCb3R0b20o
TGF5b3V0VW5pdCBib3R0b20pCit7CisjaWYgQVNTRVJUX0VOQUJMRUQKKyAgICBtX2hhc1ZhbGlk
VG9wID0gdHJ1ZTsKKyAgICBtX2hhc1ZhbGlkSGVpZ2h0ID0gdHJ1ZTsKKyNlbmRpZgorICAgIG1f
cmVjdC5zaGlmdE1heFlFZGdlVG8oYm90dG9tKTsKK30KKworaW5saW5lIHZvaWQgRmxleFJlY3Q6
OnNldExlZnQoTGF5b3V0VW5pdCBsZWZ0KQoreworI2lmIEFTU0VSVF9FTkFCTEVECisgICAgbV9o
YXNWYWxpZExlZnQgPSB0cnVlOworI2VuZGlmCisgICAgbV9yZWN0LnNldFgobGVmdCk7Cit9CisK
K2lubGluZSB2b2lkIEZsZXhSZWN0OjpzZXRSaWdodChMYXlvdXRVbml0IHJpZ2h0KQoreworI2lm
IEFTU0VSVF9FTkFCTEVECisgICAgbV9oYXNWYWxpZExlZnQgPSB0cnVlOworICAgIG1faGFzVmFs
aWRXaWR0aCA9IHRydWU7CisjZW5kaWYKKyAgICBtX3JlY3Quc2hpZnRNYXhYRWRnZVRvKHJpZ2h0
KTsKK30KKworaW5saW5lIHZvaWQgRmxleFJlY3Q6OnNldFdpZHRoKExheW91dFVuaXQgd2lkdGgp
Cit7CisjaWYgQVNTRVJUX0VOQUJMRUQKKyAgICBtX2hhc1ZhbGlkV2lkdGggPSB0cnVlOworI2Vu
ZGlmCisgICAgbV9yZWN0LnNldFdpZHRoKHdpZHRoKTsKK30KKworaW5saW5lIHZvaWQgRmxleFJl
Y3Q6OnNldEhlaWdodChMYXlvdXRVbml0IGhlaWdodCkKK3sKKyNpZiBBU1NFUlRfRU5BQkxFRAor
ICAgIG1faGFzVmFsaWRIZWlnaHQgPSB0cnVlOworI2VuZGlmCisgICAgbV9yZWN0LnNldEhlaWdo
dChoZWlnaHQpOworfQorCitpbmxpbmUgdm9pZCBGbGV4UmVjdDo6bW92ZUhvcml6b250YWxseShM
YXlvdXRVbml0IG9mZnNldCkKK3sKKyAgICBBU1NFUlQobV9oYXNWYWxpZExlZnQpOworICAgIG1f
cmVjdC5tb3ZlKExheW91dFNpemUgeyBvZmZzZXQsIDAgfSk7Cit9CisKK2lubGluZSB2b2lkIEZs
ZXhSZWN0Ojptb3ZlVmVydGljYWxseShMYXlvdXRVbml0IG9mZnNldCkKK3sKKyAgICBBU1NFUlQo
bV9oYXNWYWxpZFRvcCk7CisgICAgbV9yZWN0Lm1vdmUoTGF5b3V0U2l6ZSB7IDAsIG9mZnNldCB9
KTsKK30KKworaW5saW5lIGJvb2wgRmxleFJlY3Q6OmlzRW1wdHkoKSBjb25zdAoreworICAgIEFT
U0VSVChoYXNWYWxpZEdlb21ldHJ5KCkpOworICAgIHJldHVybiBtX3JlY3QuaXNFbXB0eSgpOwor
fQorCitpbmxpbmUgRmxleFJlY3Q6Om9wZXJhdG9yIExheW91dFJlY3QoKSBjb25zdAoreworICAg
IEFTU0VSVChoYXNWYWxpZEdlb21ldHJ5KCkpOyAKKyAgICByZXR1cm4gbV9yZWN0OworfQorCit9
Cit9CisjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>