<?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>226696</bug_id>
          
          <creation_ts>2021-06-06 06:48:09 -0700</creation_ts>
          <short_desc>[LFC][TFC] Adopt a less quirky fixed column width space distribution</short_desc>
          <delta_ts>2021-06-09 22:03:29 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=226866</see_also>
          <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>1767207</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-06-06 06:48:09 -0700</bug_when>
    <thetext>It matches Chrome and FireFox but diverges from current WebKit behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767209</commentid>
    <comment_count>1</comment_count>
      <attachid>430682</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-06-06 07:07:13 -0700</bug_when>
    <thetext>Created attachment 430682
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767216</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-06 08:15:46 -0700</bug_when>
    <thetext>Committed r278537 (238535@main): &lt;https://commits.webkit.org/238535@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430682.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767217</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-06 08:16:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/78923787&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430682</attachid>
            <date>2021-06-06 07:07:13 -0700</date>
            <delta_ts>2021-06-06 08:15:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226696-20210606070713.patch</filename>
            <type>text/plain</type>
            <size>21115</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MzA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmIyZDAyMmY3MjFjYmJm
ODdhM2FiMDc3YmE2OWU5OGM4MWQ2NTM2MC4uYjZhNTJjNmQyYTRkMGU2MWE1ODI4NTQ3ODliNTQz
ZDQ2NjUyZjFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA2LTA2ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtURkNdIEFkb3B0IGEg
bGVzcyBxdWlya3kgZml4ZWQgY29sdW1uIHdpZHRoIHNwYWNlIGRpc3RyaWJ1dGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njk2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZG9w
dHMgYSBsZXNzIHF1aXJreSBzcGFjZSBkaXN0cmlidXRpb24gbW9kZWwgd2hlcmUgYW55IGZpeGVk
IGNlbGwgd2lkdGgKKyAgICAgICAgbWFrZXMgdGhlIGNvbHVtbiBmaXhlZCAoYXMgb3Bwb3NlZCB0
byBqdXN0IHdoZW4gPGNvbD4gaGFzIGZpeGVkIHdpdGgpLgorICAgICAgICBUaGlzIGRpc3RyaWJ1
dGlvbiBtb2RlbCBtYXRjaGVzIGJvdGggQ2hyb21lIGFuZCBGaXJlZm94LgorICAgICAgICBJdCBh
bHNvIGVuYWJsZXMgdXMgdG8gc2ltcGxpZnkgc29tZSBvZiB0aGUgZGlzdHJpYnV0aW9uIGxvZ2lj
IGJ5IHVzaW5nIHRoZSBzYW1lIHNldCBvZiB2YWx1ZXMgKG1pbiB2cyBtYXgpCisgICAgICAgIGFz
IHRoZSBiYXNlIGZvciB0aGUgZGlzdHJpYnV0aW9uIHJhdGlvLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtZml4ZWQtd2lkdGgtdmFyaWF0aW9ucy1z
aW1wbGUuaHRtbAorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9U
YWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFi
bGVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZWRQcmVmZXJyZWRXaWR0aEZvckNvbHVtbnMpOiBD
b2xsZWN0IHRoZSBmaXhlZCB3aXRoIHZhbHVlcyBmcm9tIHRoZSBjZWxscyB0b28gbm93LgorICAg
ICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nR2Vv
bWV0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUZvcm1hdHRpbmdHZW9t
ZXRyeTo6aW50cmluc2ljV2lkdGhDb25zdHJhaW50c0ZvckNlbGxDb250ZW50IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVGb3JtYXR0aW5nR2VvbWV0cnk6OmludHJpbnNp
Y1dpZHRoQ29uc3RyYWludHNGb3JDZWxsIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0dlb21ldHJ5Lmg6Cisg
ICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OmFwcGVuZENlbGwpOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbjo6aXNGaXhlZFdpZHRoIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW5z
OjpoYXNGaXhlZENvbHVtbnNPbmx5IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6VGFibGVHcmlkOjpDZWxsOjppc0ZpeGVkV2lkdGggY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVHcmlkLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpzZXRGaXhlZFdpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OmZpeGVkV2lk
dGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbnM6
OmxvZ2ljYWxXaWR0aCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3Jp
ZDo6Q29sdW1uOjpzZXRIYXNGaXhlZFdpZHRoQ2VsbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpoYXNGaXhlZFdpZHRoQ2VsbCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJs
ZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9ybWF0dGluZ0Nv
bnRleHQ6OlRhYmxlTGF5b3V0OjpkaXN0cmlidXRlZEhvcml6b250YWxTcGFjZSk6IEFkanVzdCB0
aGUgZGlzdHJpYnV0aW9uIHZhbHVlcyBiYXNlZCBvbiB3aGV0aGVyCisgICAgICAgIHRoZSBjb2x1
bW4gaGFzIGZpeGVkIHdpZHRoIGFuZCB1c2UgbWF4L21heCBpbiBib3RoIGZpeGVkIGFuZCBub24t
Zml4ZWQgY2FzZXMuCisKIDIwMjEtMDYtMDIgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFtMRkNdW1RGQ10gVXNlIHRoZSBmaXhlZCB0YWJsZSBoZWlnaHQgdmFsdWUg
dG8gcmVzb2x2ZSBwZXJjZW50IGNvbHVtbiBoZWlnaHQgdmFsdWVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGlu
Z0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90
YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCAwMzU0MTE3ODU3YTBkMmIxNTg4
NDNlMWZlOGY1NTNhZjU0ZWJjYjk3Li4zNTVmMGIzYmI3ZDQyZTVmMjVlYWY3NDM4Y2M3NzUxODhh
N2U2ZTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5j
cHAKQEAgLTMxNiwyNyArMzE2LDE0IEBAIEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgVGFibGVG
b3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZWRQcmVmZXJyZWRXaWR0aEZvckNvbHVtCiAgICAgQVNT
RVJUKCFncmlkLndpZHRoQ29uc3RyYWludHMoKSk7CiAKICAgICAvLyBDb2x1bW4gcHJlZmVycmVk
IHdpZHRoIGNvbXB1dGF0aW9uIGFzIGZvbGxvd3M6Ci0gICAgLy8gMS4gQ29sbGVjdCBlYWNoIGNl
bGxzJyB3aWR0aCBjb25zdHJhaW50cwotICAgIC8vIDIuIENvbGxlY3QgZml4ZWQgY29sdW1uIHdp
ZHRocyBzZXQgYnkgPGNvbGdyb3VwPidzIGFuZCA8Y29sPnMKKyAgICAvLyAxLiBDb2xsZWN0IGZp
eGVkIGNvbHVtbiB3aWR0aHMgc2V0IGJ5IDxjb2xncm91cD4ncyBhbmQgPGNvbD5zCisgICAgLy8g
Mi4gQ29sbGVjdCBlYWNoIGNlbGxzJyB3aWR0aCBjb25zdHJhaW50cyBhbmQgYWRqdXN0IGZpeGVk
IHdpZHRoIGNvbHVtbiB2YWx1ZXMuCiAgICAgLy8gMy4gRmluZCB0aGUgbWluL21heCB3aWR0aCBm
b3IgZWFjaCBjb2x1bW5zIHVzaW5nIHRoZSBjZWxsIGNvbnN0cmFpbnRzIGFuZCB0aGUgPGNvbD4g
Zml4ZWQgd2lkdGhzIGJ1dCBpZ25vcmUgY29sdW1uIHNwYW5zLgogICAgIC8vIDQuIERpc3RyaWJ1
dGUgY29sdW1uIHNwYW5uaW5nIGNlbGxzIG1pbi9tYXggd2lkdGhzLgogICAgIC8vIDUuIEFkZCB0
aGVtIGFsbCB1cCBhbmQgcmV0dXJuIHRoZSBjb21wdXRlZCBtaW4vbWF4IHdpZHRocy4KLSAgICBm
b3IgKGF1dG8mIGNlbGwgOiBncmlkLmNlbGxzKCkpIHsKLSAgICAgICAgYXV0byYgY2VsbEJveCA9
IGNlbGwtPmJveCgpOwotICAgICAgICBBU1NFUlQoY2VsbEJveC5lc3RhYmxpc2hlc0Jsb2NrRm9y
bWF0dGluZ0NvbnRleHQoKSk7Ci0KLSAgICAgICAgYXV0byBpbnRyaW5zaWNXaWR0aCA9IGZvcm1h
dHRpbmdTdGF0ZS5pbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzRm9yQm94KGNlbGxCb3gpOwotICAg
ICAgICBpZiAoIWludHJpbnNpY1dpZHRoKSB7Ci0gICAgICAgICAgICBpbnRyaW5zaWNXaWR0aCA9
IGZvcm1hdHRpbmdHZW9tZXRyeSgpLmludHJpbnNpY1dpZHRoQ29uc3RyYWludHNGb3JDZWxsKCpj
ZWxsKTsKLSAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5zZXRJbnRyaW5zaWNXaWR0aENvbnN0
cmFpbnRzRm9yQm94KGNlbGxCb3gsICppbnRyaW5zaWNXaWR0aCk7Ci0gICAgICAgIH0KLSAgICAg
ICAgLy8gU3Bhbm5lciBjZWxscyBwdXQgdGhlaXIgaW50cmluc2ljIHdpZHRocyBvbiB0aGUgaW5p
dGlhbCBzbG90cy4KLSAgICAgICAgZ3JpZC5zbG90KGNlbGwtPnBvc2l0aW9uKCkpLT5zZXRXaWR0
aENvbnN0cmFpbnRzKCppbnRyaW5zaWNXaWR0aCk7Ci0gICAgfQotCiAgICAgLy8gMi4gQ29sbGVj
dCB0aGUgZml4ZWQgd2lkdGggPGNvbD5zLgogICAgIGF1dG8mIGNvbHVtbkxpc3QgPSBncmlkLmNv
bHVtbnMoKS5saXN0KCk7Ci0gICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4+IGZp
eGVkV2lkdGhDb2x1bW5zOworICAgIGF1dG8mIGZvcm1hdHRpbmdHZW9tZXRyeSA9IHRoaXMtPmZv
cm1hdHRpbmdHZW9tZXRyeSgpOwogICAgIGZvciAoYXV0byYgY29sdW1uIDogY29sdW1uTGlzdCkg
ewogICAgICAgICBhdXRvIGZpeGVkV2lkdGggPSBbJl0gKCkgLT4gc3RkOjpvcHRpb25hbDxMYXlv
dXRVbml0PiB7CiAgICAgICAgICAgICBhdXRvKiBjb2x1bW5Cb3ggPSBjb2x1bW4uYm94KCk7CkBA
IC0zNDYsOSArMzMzLDMzIEBAIEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgVGFibGVGb3JtYXR0
aW5nQ29udGV4dDo6Y29tcHV0ZWRQcmVmZXJyZWRXaWR0aEZvckNvbHVtCiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBpZiAoYXV0byB3aWR0aCA9IGNvbHVtbkJveC0+Y29sdW1uV2lkdGgoKSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gd2lkdGg7Ci0gICAgICAgICAgICByZXR1cm4gZm9ybWF0
dGluZ0dlb21ldHJ5KCkuY29tcHV0ZWRDb2x1bW5XaWR0aCgqY29sdW1uQm94KTsKLSAgICAgICAg
fTsKLSAgICAgICAgZml4ZWRXaWR0aENvbHVtbnMuYXBwZW5kKGZpeGVkV2lkdGgoKSk7CisgICAg
ICAgICAgICByZXR1cm4gZm9ybWF0dGluZ0dlb21ldHJ5LmNvbXB1dGVkQ29sdW1uV2lkdGgoKmNv
bHVtbkJveCk7CisgICAgICAgIH0oKTsKKyAgICAgICAgaWYgKGZpeGVkV2lkdGgpCisgICAgICAg
ICAgICBjb2x1bW4uc2V0Rml4ZWRXaWR0aCgqZml4ZWRXaWR0aCk7CisgICAgfQorCisgICAgZm9y
IChhdXRvJiBjZWxsIDogZ3JpZC5jZWxscygpKSB7CisgICAgICAgIGF1dG8mIGNlbGxCb3ggPSBj
ZWxsLT5ib3goKTsKKyAgICAgICAgQVNTRVJUKGNlbGxCb3guZXN0YWJsaXNoZXNCbG9ja0Zvcm1h
dHRpbmdDb250ZXh0KCkpOworCisgICAgICAgIGF1dG8gaW50cmluc2ljV2lkdGggPSBmb3JtYXR0
aW5nU3RhdGUuaW50cmluc2ljV2lkdGhDb25zdHJhaW50c0ZvckJveChjZWxsQm94KTsKKyAgICAg
ICAgaWYgKCFpbnRyaW5zaWNXaWR0aCkgeworICAgICAgICAgICAgaW50cmluc2ljV2lkdGggPSBm
b3JtYXR0aW5nR2VvbWV0cnkuaW50cmluc2ljV2lkdGhDb25zdHJhaW50c0ZvckNlbGxDb250ZW50
KCpjZWxsKTsKKyAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5zZXRJbnRyaW5zaWNXaWR0aENv
bnN0cmFpbnRzRm9yQm94KGNlbGxCb3gsICppbnRyaW5zaWNXaWR0aCk7CisgICAgICAgIH0KKyAg
ICAgICAgYXV0byBjZWxsUG9zaXRpb24gPSBjZWxsLT5wb3NpdGlvbigpOworICAgICAgICAvLyBF
eHBhbmQgaXQgd2l0aCBib3JkZXIgYW5kIHBhZGRpbmcuCisgICAgICAgIGF1dG8gaG9yaXpvbnRh
bEJvcmRlckFuZFBhZGRpbmdXaWR0aCA9IGZvcm1hdHRpbmdHZW9tZXRyeS5jb21wdXRlZENlbGxC
b3JkZXIoKmNlbGwpLndpZHRoKCkKKyAgICAgICAgICAgICsgZm9ybWF0dGluZ0dlb21ldHJ5LmZp
eGVkVmFsdWUoY2VsbEJveC5zdHlsZSgpLnBhZGRpbmdMZWZ0KCkpLnZhbHVlX29yKDApCisgICAg
ICAgICAgICArIGZvcm1hdHRpbmdHZW9tZXRyeS5maXhlZFZhbHVlKGNlbGxCb3guc3R5bGUoKS5w
YWRkaW5nUmlnaHQoKSkudmFsdWVfb3IoMCk7CisgICAgICAgIGludHJpbnNpY1dpZHRoLT5leHBh
bmQoaG9yaXpvbnRhbEJvcmRlckFuZFBhZGRpbmdXaWR0aCk7CisgICAgICAgIC8vIFNwYW5uZXIg
Y2VsbHMgcHV0IHRoZWlyIGludHJpbnNpYyB3aWR0aHMgb24gdGhlIGluaXRpYWwgc2xvdHMuCisg
ICAgICAgIGdyaWQuc2xvdChjZWxsUG9zaXRpb24pLT5zZXRXaWR0aENvbnN0cmFpbnRzKCppbnRy
aW5zaWNXaWR0aCk7CisgICAgICAgIGlmIChhdXRvIGZpeGVkV2lkdGggPSBmb3JtYXR0aW5nR2Vv
bWV0cnkuZml4ZWRWYWx1ZShjZWxsQm94LnN0eWxlKCkubG9naWNhbFdpZHRoKCkpKSB7CisgICAg
ICAgICAgICAqZml4ZWRXaWR0aCArPSBob3Jpem9udGFsQm9yZGVyQW5kUGFkZGluZ1dpZHRoOwor
ICAgICAgICAgICAgY29sdW1uTGlzdFtjZWxsUG9zaXRpb24uY29sdW1uXS5zZXRGaXhlZFdpZHRo
KHN0ZDo6bWF4KCpmaXhlZFdpZHRoLCBjb2x1bW5MaXN0W2NlbGxQb3NpdGlvbi5jb2x1bW5dLmZp
eGVkV2lkdGgoKS52YWx1ZV9vcigwKSkpOworICAgICAgICB9CiAgICAgfQogCiAgICAgVmVjdG9y
PEludHJpbnNpY1dpZHRoQ29uc3RyYWludHM+IGNvbHVtbkludHJpbnNpY1dpZHRocyhjb2x1bW5M
aXN0LnNpemUoKSk7CkBAIC0zNjYsOCArMzc3LDEwIEBAIEludHJpbnNpY1dpZHRoQ29uc3RyYWlu
dHMgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZWRQcmVmZXJyZWRXaWR0aEZvckNvbHVt
CiAgICAgICAgICAgICAgICAgc3Bhbm5pbmdDZWxsUG9zaXRpb25MaXN0LmFwcGVuZCh7IGNvbHVt
bkluZGV4LCByb3dJbmRleCB9KTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGF1dG8gY29sdW1uRml4ZWRXaWR0aCA9IGZpeGVkV2lkdGhDb2x1
bW5zW2NvbHVtbkluZGV4XTsKLSAgICAgICAgICAgIGF1dG8gd2lkdGhDb25zdHJhaW50cyA9ICFj
b2x1bW5GaXhlZFdpZHRoID8gc2xvdC53aWR0aENvbnN0cmFpbnRzKCkgOiBJbnRyaW5zaWNXaWR0
aENvbnN0cmFpbnRzIHsgKmNvbHVtbkZpeGVkV2lkdGgsICpjb2x1bW5GaXhlZFdpZHRoIH07Cisg
ICAgICAgICAgICBhdXRvIHdpZHRoQ29uc3RyYWludHMgPSBzbG90LndpZHRoQ29uc3RyYWludHMo
KTsKKyAgICAgICAgICAgIGlmIChhdXRvIGNvbHVtbkZpeGVkV2lkdGggPSBjb2x1bW5MaXN0W2Nv
bHVtbkluZGV4XS5maXhlZFdpZHRoKCkpCisgICAgICAgICAgICAgICAgd2lkdGhDb25zdHJhaW50
cy5tYXhpbXVtID0gc3RkOjptYXgoKmNvbHVtbkZpeGVkV2lkdGgsIHdpZHRoQ29uc3RyYWludHMu
bWluaW11bSk7CisKICAgICAgICAgICAgIGNvbHVtbkludHJpbnNpY1dpZHRoc1tjb2x1bW5JbmRl
eF0ubWluaW11bSA9IHN0ZDo6bWF4KHdpZHRoQ29uc3RyYWludHMubWluaW11bSwgY29sdW1uSW50
cmluc2ljV2lkdGhzW2NvbHVtbkluZGV4XS5taW5pbXVtKTsKICAgICAgICAgICAgIGNvbHVtbklu
dHJpbnNpY1dpZHRoc1tjb2x1bW5JbmRleF0ubWF4aW11bSA9IHN0ZDo6bWF4KHdpZHRoQ29uc3Ry
YWludHMubWF4aW11bSwgY29sdW1uSW50cmluc2ljV2lkdGhzW2NvbHVtbkluZGV4XS5tYXhpbXVt
KTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0dlb21l
dHJ5LmNwcAppbmRleCAzOWUwZmJlMmMxNjI0YmIzNTI4OGUwN2MxYzJiODRiMGNlMGFlYWYzLi5i
ZmM1NTA5NjhlM2NmMDJkM2YxMWU2OTgxNWUzZDBlYzBiMDYyYzg3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGlu
Z0dlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0dlb21ldHJ5LmNwcApAQCAtMTE4LDM1ICsxMTgsMTUg
QEAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBUYWJsZUZvcm1hdHRpbmdHZW9tZXRyeTo6Y29t
cHV0ZWRDb2x1bW5XaWR0aChjb25zdCBDb24KICAgICByZXR1cm4gY29sdW1uQm94LmNvbHVtbldp
ZHRoKCk7CiB9CiAKLUludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgVGFibGVGb3JtYXR0aW5nR2Vv
bWV0cnk6OmludHJpbnNpY1dpZHRoQ29uc3RyYWludHNGb3JDZWxsKGNvbnN0IFRhYmxlR3JpZDo6
Q2VsbCYgY2VsbCkgY29uc3QKK0ludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgVGFibGVGb3JtYXR0
aW5nR2VvbWV0cnk6OmludHJpbnNpY1dpZHRoQ29uc3RyYWludHNGb3JDZWxsQ29udGVudChjb25z
dCBUYWJsZUdyaWQ6OkNlbGwmIGNlbGwpIGNvbnN0CiB7CiAgICAgYXV0byYgY2VsbEJveCA9IGNl
bGwuYm94KCk7Ci0gICAgYXV0byYgc3R5bGUgPSBjZWxsQm94LnN0eWxlKCk7Ci0KLSAgICBhdXRv
IGNvbXB1dGVkSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyA9IFsmXSgpIC0+IEludHJpbnNpY1dp
ZHRoQ29uc3RyYWludHMgewotICAgICAgICAvLyBFdmVuIGZpeGVkIHdpZHRoIGNlbGxzIGV4cGFu
ZCB0byB0aGVpciBtaW5pbXVtIGNvbnRlbnQgd2lkdGgKLSAgICAgICAgLy8gPHRkIHN0eWxlPSJ3
aWR0aDogMTBweCI+dGVzdF9jb250ZW50PC90ZD4gd2lsbCBzaXplIHRvIG1heChtaW5pbXVtIGNv
bnRlbnQgd2lkdGgsIGNvbXB1dGVkIHdpZHRoKS4KLSAgICAgICAgYXV0byBpbnRyaW5zaWNXaWR0
aENvbnN0cmFpbnRzID0gSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyB7IH07Ci0gICAgICAgIGlm
IChjZWxsQm94Lmhhc0NoaWxkKCkpIHsKLSAgICAgICAgICAgIGF1dG8mIGxheW91dFN0YXRlID0g
dGhpcy0+bGF5b3V0U3RhdGUoKTsKLSAgICAgICAgICAgIGludHJpbnNpY1dpZHRoQ29uc3RyYWlu
dHMgPSBMYXlvdXRDb250ZXh0OjpjcmVhdGVGb3JtYXR0aW5nQ29udGV4dChjZWxsQm94LCBjb25z
dF9jYXN0PExheW91dFN0YXRlJj4obGF5b3V0U3RhdGUpKS0+Y29tcHV0ZWRJbnRyaW5zaWNXaWR0
aENvbnN0cmFpbnRzKCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGF1dG8gZml4ZWRXaWR0aCA9
IGZpeGVkVmFsdWUoc3R5bGUubG9naWNhbFdpZHRoKCkpKQotICAgICAgICAgICAgcmV0dXJuIHsg
c3RkOjptYXgoaW50cmluc2ljV2lkdGhDb25zdHJhaW50cy5taW5pbXVtLCAqZml4ZWRXaWR0aCks
IHN0ZDo6bWF4KGludHJpbnNpY1dpZHRoQ29uc3RyYWludHMubWluaW11bSwgKmZpeGVkV2lkdGgp
IH07Ci0gICAgICAgIHJldHVybiBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzOwotICAgIH07Ci0g
ICAgLy8gRklYTUUgQ2hlY2sgZm9yIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ci0gICAgYXV0byBp
bnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzID0gY29uc3RyYWluQnlNaW5NYXhXaWR0aChjZWxsQm94
LCBjb21wdXRlZEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMoKSk7Ci0gICAgLy8gRXhwYW5kIHdp
dGggYm9yZGVyCi0gICAgaW50cmluc2ljV2lkdGhDb25zdHJhaW50cy5leHBhbmQoY29tcHV0ZWRD
ZWxsQm9yZGVyKGNlbGwpLndpZHRoKCkpOwotICAgIC8vIHBhZGRpbmcKLSAgICBpbnRyaW5zaWNX
aWR0aENvbnN0cmFpbnRzLmV4cGFuZChmaXhlZFZhbHVlKHN0eWxlLnBhZGRpbmdMZWZ0KCkpLnZh
bHVlX29yKDApICsgZml4ZWRWYWx1ZShzdHlsZS5wYWRkaW5nUmlnaHQoKSkudmFsdWVfb3IoMCkp
OwotICAgIC8vIGFuZCBtYXJnaW4KLSAgICBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzLmV4cGFu
ZChmaXhlZFZhbHVlKHN0eWxlLm1hcmdpblN0YXJ0KCkpLnZhbHVlX29yKDApICsgZml4ZWRWYWx1
ZShzdHlsZS5tYXJnaW5FbmQoKSkudmFsdWVfb3IoMCkpOwotICAgIHJldHVybiBpbnRyaW5zaWNX
aWR0aENvbnN0cmFpbnRzOworICAgIGlmICghY2VsbEJveC5oYXNJbkZsb3dPckZsb2F0aW5nQ2hp
bGQoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICBhdXRvJiBsYXlvdXRTdGF0ZSA9IHRoaXMt
PmxheW91dFN0YXRlKCk7CisgICAgcmV0dXJuIExheW91dENvbnRleHQ6OmNyZWF0ZUZvcm1hdHRp
bmdDb250ZXh0KGNlbGxCb3gsIGNvbnN0X2Nhc3Q8TGF5b3V0U3RhdGUmPihsYXlvdXRTdGF0ZSkp
LT5jb21wdXRlZEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMoKTsKIH0KIAotCiBJbmxpbmVMYXlv
dXRVbml0IFRhYmxlRm9ybWF0dGluZ0dlb21ldHJ5Ojp1c2VkQmFzZWxpbmVGb3JDZWxsKGNvbnN0
IENvbnRhaW5lckJveCYgY2VsbEJveCkgY29uc3QKIHsKICAgICAvLyBUaGUgYmFzZWxpbmUgb2Yg
YSBjZWxsIGlzIGRlZmluZWQgYXMgdGhlIGJhc2VsaW5lIG9mIHRoZSBmaXJzdCBpbi1mbG93IGxp
bmUgYm94IGluIHRoZSBjZWxsLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdHZW9tZXRyeS5oIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdH
ZW9tZXRyeS5oCmluZGV4IDM5ZmNiZWM1YzY2ODQwYzQxNzQwY2M1OTk1NzNjOTNjM2Q3YzJjMzUu
LjM2MTNlYzBhYmFmMjc5YjQwMDczNjU2ZTQ5Y2ZjMTY5ODFkMTJjMWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0
aW5nR2VvbWV0cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0dlb21ldHJ5LmgKQEAgLTQyLDcgKzQyLDcgQEAgcHVi
bGljOgogICAgIExheW91dFVuaXQgY2VsbEJveENvbnRlbnRIZWlnaHQoY29uc3QgQ29udGFpbmVy
Qm94JikgY29uc3Q7CiAgICAgRWRnZXMgY29tcHV0ZWRDZWxsQm9yZGVyKGNvbnN0IFRhYmxlR3Jp
ZDo6Q2VsbCYpIGNvbnN0OwogICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gY29tcHV0ZWRD
b2x1bW5XaWR0aChjb25zdCBDb250YWluZXJCb3gmIGNvbHVtbkJveCkgY29uc3Q7Ci0gICAgSW50
cmluc2ljV2lkdGhDb25zdHJhaW50cyBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzRm9yQ2VsbChj
b25zdCBUYWJsZUdyaWQ6OkNlbGwmKSBjb25zdDsKKyAgICBJbnRyaW5zaWNXaWR0aENvbnN0cmFp
bnRzIGludHJpbnNpY1dpZHRoQ29uc3RyYWludHNGb3JDZWxsQ29udGVudChjb25zdCBUYWJsZUdy
aWQ6OkNlbGwmKSBjb25zdDsKICAgICBJbmxpbmVMYXlvdXRVbml0IHVzZWRCYXNlbGluZUZvckNl
bGwoY29uc3QgQ29udGFpbmVyQm94JiBjZWxsQm94KSBjb25zdDsKICAgICBMYXlvdXRVbml0IGhv
cml6b250YWxTcGFjZUZvckNlbGxDb250ZW50KGNvbnN0IFRhYmxlR3JpZDo6Q2VsbCYpIGNvbnN0
OwogICAgIExheW91dFVuaXQgdmVydGljYWxTcGFjZUZvckNlbGxDb250ZW50KGNvbnN0IFRhYmxl
R3JpZDo6Q2VsbCYsIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gYXZhaWxhYmxlVmVydGljYWxT
cGFjZSkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL3RhYmxlL1RhYmxlR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlR3JpZC5jcHAKaW5kZXggM2M0MWQ4ZDA4YTUyNWU3
NTZhYmNkY2IxYTIxNWM5ZjQ2NTZhY2ZiNi4uNWIzMzZhMWI2NmYwYjE3ZTQwZjY5YWU0MWY1YWU1
ZjFkYzUxNTg5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy90YWJsZS9UYWJsZUdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVHcmlkLmNwcApAQCAtNjgsMTEgKzY4LDYgQEAg
TGF5b3V0VW5pdCBUYWJsZUdyaWQ6OkNvbHVtbjo6bG9naWNhbExlZnQoKSBjb25zdAogICAgIHJl
dHVybiBtX2NvbXB1dGVkTG9naWNhbExlZnQ7CiB9CiAKLWJvb2wgVGFibGVHcmlkOjpDb2x1bW46
OmlzRml4ZWRXaWR0aCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGhhc0ZpeGVkV2lkdGhDZWxsKCkg
fHwgKGJveCgpICYmIGJveCgpLT5jb2x1bW5XaWR0aCgpKTsKLX0KLQogdm9pZCBUYWJsZUdyaWQ6
OkNvbHVtbnM6OmFkZENvbHVtbihjb25zdCBDb250YWluZXJCb3gmIGNvbHVtbkJveCkKIHsKICAg
ICBtX2NvbHVtbkxpc3QuYXBwZW5kKHsgJmNvbHVtbkJveCB9KTsKQEAgLTgzLDE1ICs3OCw2IEBA
IHZvaWQgVGFibGVHcmlkOjpDb2x1bW5zOjphZGRBbm9ueW1vdXNDb2x1bW4oKQogICAgIG1fY29s
dW1uTGlzdC5hcHBlbmQoeyBudWxscHRyIH0pOwogfQogCi1ib29sIFRhYmxlR3JpZDo6Q29sdW1u
czo6aGFzRml4ZWRDb2x1bW5zT25seSgpIGNvbnN0Ci17Ci0gICAgZm9yIChhdXRvJiBjb2x1bW4g
OiBtX2NvbHVtbkxpc3QpIHsKLSAgICAgICAgaWYgKCFjb2x1bW4uaXNGaXhlZFdpZHRoKCkpCi0g
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIHJldHVybiB0cnVlOwotfQotCiB2
b2lkIFRhYmxlR3JpZDo6Um93czo6YWRkUm93KGNvbnN0IENvbnRhaW5lckJveCYgcm93Qm94KQog
ewogICAgIG1fcm93TGlzdC5hcHBlbmQoeyByb3dCb3ggfSk7CkBAIC0xMDksMTEgKzk1LDYgQEAg
VGFibGVHcmlkOjpDZWxsOjpDZWxsKGNvbnN0IENvbnRhaW5lckJveCYgY2VsbEJveCwgU2xvdFBv
c2l0aW9uIHBvc2l0aW9uLCBDZWxsU3AKIHsKIH0KIAotYm9vbCBUYWJsZUdyaWQ6OkNlbGw6Omlz
Rml4ZWRXaWR0aCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGJveCgpLnN0eWxlKCkubG9naWNhbFdp
ZHRoKCkuaXNGaXhlZCgpOwotfQotCiBUYWJsZUdyaWQ6OlNsb3Q6OlNsb3QoQ2VsbCYgY2VsbCwg
Ym9vbCBpc0NvbHVtblNwYW5uZWQsIGJvb2wgaXNSb3dTcGFubmVkKQogICAgIDogbV9jZWxsKG1h
a2VXZWFrUHRyKGNlbGwpKQogICAgICwgbV9pc0NvbHVtblNwYW5uZWQoaXNDb2x1bW5TcGFubmVk
KQpAQCAtMTcwLDExICsxNTEsNiBAQCB2b2lkIFRhYmxlR3JpZDo6YXBwZW5kQ2VsbChjb25zdCBD
b250YWluZXJCb3gmIGNlbGxCb3gpCiAgICAgZm9yIChhdXRvIGNvbHVtbiA9IDA7IGNvbHVtbiA8
IG1pc3NpbmdOdW1iZXJPZkNvbHVtbnM7ICsrY29sdW1uKQogICAgICAgICBtX2NvbHVtbnMuYWRk
QW5vbnltb3VzQ29sdW1uKCk7CiAKLSAgICBpZiAoY2VsbC0+aXNGaXhlZFdpZHRoKCkpIHsKLSAg
ICAgICAgZm9yIChhdXRvIGNvbHVtbiA9IGNlbGwtPnN0YXJ0Q29sdW1uKCk7IGNvbHVtbiA8IGNl
bGwtPmVuZENvbHVtbigpOyArK2NvbHVtbikKLSAgICAgICAgICAgIG1fY29sdW1ucy5saXN0KClb
Y29sdW1uXS5zZXRIYXNGaXhlZFdpZHRoQ2VsbCgpOwotICAgIH0KLQogICAgIGlmIChpc0luTmV3
Um93KQogICAgICAgICBtX3Jvd3MuYWRkUm93KGNlbGxCb3gucGFyZW50KCkpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxl
R3JpZC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9U
YWJsZUdyaWQuaAppbmRleCA2ZDUzYjQ1OGYxNWQ1YjMzMDg3ZWQ2ZjA3YjJlZDZkN2U4YTJmNDMx
Li5mMTQ2ODM1NjEyNGNjYTYwNTY1MGMyNWY0NWEzMjM0ZDM2ZjEyZjFmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlR3JpZC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFi
bGVHcmlkLmgKQEAgLTczLDE4ICs3MywxNiBAQCBwdWJsaWM6CiAgICAgICAgIHZvaWQgc2V0TG9n
aWNhbFdpZHRoKExheW91dFVuaXQpOwogICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCgp
IGNvbnN0OwogCi0gICAgICAgIGJvb2wgaXNGaXhlZFdpZHRoKCkgY29uc3Q7CisgICAgICAgIHZv
aWQgc2V0Rml4ZWRXaWR0aChMYXlvdXRVbml0IGZpeGVkVmFsdWUpIHsgbV9maXhlZFdpZHRoID0g
Zml4ZWRWYWx1ZTsgfQorICAgICAgICBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGZpeGVkV2lk
dGgoKSBjb25zdCB7IHJldHVybiBtX2ZpeGVkV2lkdGg7IH0KIAotICAgICAgICB2b2lkIHNldEhh
c0ZpeGVkV2lkdGhDZWxsKCkgeyBtX2hhc0ZpeGVkV2lkdGhDZWxsID0gdHJ1ZTsgfQogICAgICAg
ICBjb25zdCBDb250YWluZXJCb3gqIGJveCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0Qm94Lmdl
dCgpOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBib29sIGhhc0ZpeGVkV2lkdGhDZWxsKCkg
Y29uc3QgeyByZXR1cm4gbV9oYXNGaXhlZFdpZHRoQ2VsbDsgfQotCiAgICAgICAgIExheW91dFVu
aXQgbV9jb21wdXRlZExvZ2ljYWxXaWR0aDsKICAgICAgICAgTGF5b3V0VW5pdCBtX2NvbXB1dGVk
TG9naWNhbExlZnQ7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gbV9maXhlZFdp
ZHRoOwogICAgICAgICBXZWFrUHRyPGNvbnN0IENvbnRhaW5lckJveD4gbV9sYXlvdXRCb3g7Ci0g
ICAgICAgIGJvb2wgbV9oYXNGaXhlZFdpZHRoQ2VsbCB7IGZhbHNlIH07CiAKICNpZiBBU1NFUlRf
RU5BQkxFRAogICAgICAgICBib29sIG1faGFzQ29tcHV0ZWRXaWR0aCB7IGZhbHNlIH07CkBAIC0x
MDMsNyArMTAxLDYgQEAgcHVibGljOgogICAgICAgICB2b2lkIGFkZEFub255bW91c0NvbHVtbigp
OwogCiAgICAgICAgIExheW91dFVuaXQgbG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9j
b2x1bW5MaXN0Lmxhc3QoKS5sb2dpY2FsUmlnaHQoKSAtIG1fY29sdW1uTGlzdC5maXJzdCgpLmxv
Z2ljYWxMZWZ0KCk7IH0KLSAgICAgICAgYm9vbCBoYXNGaXhlZENvbHVtbnNPbmx5KCkgY29uc3Q7
CiAKICAgICBwcml2YXRlOgogICAgICAgICBDb2x1bW5MaXN0IG1fY29sdW1uTGlzdDsKQEAgLTE2
Nyw4ICsxNjQsNiBAQCBwdWJsaWM6CiAgICAgICAgIHZvaWQgc2V0QmFzZWxpbmUoSW5saW5lTGF5
b3V0VW5pdCBiYXNlbGluZSkgeyBtX2Jhc2VsaW5lID0gYmFzZWxpbmU7IH0KICAgICAgICAgSW5s
aW5lTGF5b3V0VW5pdCBiYXNlbGluZSgpIGNvbnN0IHsgcmV0dXJuIG1fYmFzZWxpbmU7IH0KIAot
ICAgICAgICBib29sIGlzRml4ZWRXaWR0aCgpIGNvbnN0OwotCiAgICAgICAgIGNvbnN0IENvbnRh
aW5lckJveCYgYm94KCkgY29uc3QgeyByZXR1cm4gKm1fbGF5b3V0Qm94LmdldCgpOyB9CiAKICAg
ICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy90YWJsZS9UYWJsZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlTGF5b3V0LmNwcAppbmRleCA1NWQ1M2ExMzY3Nzdj
ZjhlYTM0NmYwNzg3OGI3NzBlMDIwNmY0OWNmLi40YTE3NDc5MGYyZjliMjRlYzExNDVmZTcxNWRi
ODQ2ZDkzNWQ0YTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL3RhYmxlL1RhYmxlTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlTGF5b3V0LmNwcApAQCAtMjQ0LDE4ICsy
NDQsMTYgQEAgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6VGFibGVMYXlvdXQ6OkRpc3RyaWJ1dGVk
U3BhY2VzIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OlQKICAgICBlbnVtIGNsYXNzIENvbHVtbldp
ZHRoQmFsYW5jaW5nQmFzZSB7IE1pbmltdW1XaWR0aCwgTWF4aW11bVdpZHRoIH07CiAgICAgYXV0
byBjb2x1bW5XaWR0aEJhbGFuY2luZ0Jhc2UgPSBhdmFpbGFibGVIb3Jpem9udGFsU3BhY2UgPj0g
bV9ncmlkLndpZHRoQ29uc3RyYWludHMoKS0+bWF4aW11bSA/IENvbHVtbldpZHRoQmFsYW5jaW5n
QmFzZTo6TWF4aW11bVdpZHRoIDogQ29sdW1uV2lkdGhCYWxhbmNpbmdCYXNlOjpNaW5pbXVtV2lk
dGg7CiAgICAgcmV0dXJuIGRpc3RyaWJ1dGVBdmFpbGFibGVTcGFjZTxDb2x1bW5TcGFuPihtX2dy
aWQsIGF2YWlsYWJsZUhvcml6b250YWxTcGFjZSwgWyZdIChjb25zdCBUYWJsZUdyaWQ6OlNsb3Qm
IHNsb3QsIHNpemVfdCBjb2x1bW5JbmRleCkgewotICAgICAgICBhdXRvJiBjb2x1bW4gPSBtX2dy
aWQuY29sdW1ucygpLmxpc3QoKVtjb2x1bW5JbmRleF07Ci0gICAgICAgIGF1dG8gY29sdW1uQm94
Rml4ZWRXaWR0aCA9IGNvbHVtbi5ib3goKSA/IGNvbHVtbi5ib3goKS0+Y29sdW1uV2lkdGgoKS52
YWx1ZV9vcigwX2x1KSA6IDBfbHU7Ci0gICAgICAgIGF1dG8gbWluaW11bVdpZHRoID0gc3RkOjpt
YXg8ZmxvYXQ+KHNsb3Qud2lkdGhDb25zdHJhaW50cygpLm1pbmltdW0sIGNvbHVtbkJveEZpeGVk
V2lkdGgpOwotICAgICAgICBhdXRvIG1heGltdW1XaWR0aCA9IHN0ZDo6bWF4PGZsb2F0PihzbG90
LndpZHRoQ29uc3RyYWludHMoKS5tYXhpbXVtLCBjb2x1bW5Cb3hGaXhlZFdpZHRoKTsKKyAgICAg
ICAgZmxvYXQgbWluaW11bVdpZHRoID0gc2xvdC53aWR0aENvbnN0cmFpbnRzKCkubWluaW11bTsK
KyAgICAgICAgZmxvYXQgbWF4aW11bVdpZHRoID0gc2xvdC53aWR0aENvbnN0cmFpbnRzKCkubWF4
aW11bTsKKworICAgICAgICBpZiAoYXV0byBmaXhlZFdpZHRoID0gbV9ncmlkLmNvbHVtbnMoKS5s
aXN0KClbY29sdW1uSW5kZXhdLmZpeGVkV2lkdGgoKSkKKyAgICAgICAgICAgIG1heGltdW1XaWR0
aCA9IHN0ZDo6bWF4PGZsb2F0PihtaW5pbXVtV2lkdGgsICpmaXhlZFdpZHRoKTsKIAogICAgICAg
ICBpZiAoY29sdW1uV2lkdGhCYWxhbmNpbmdCYXNlID09IENvbHVtbldpZHRoQmFsYW5jaW5nQmFz
ZTo6TWluaW11bVdpZHRoKSB7CiAgICAgICAgICAgICBBU1NFUlQobWF4aW11bVdpZHRoID49IG1p
bmltdW1XaWR0aCk7CiAgICAgICAgICAgICByZXR1cm4gR3JpZFNwYWNlIHsgbWluaW11bVdpZHRo
LCBtYXhpbXVtV2lkdGggLSBtaW5pbXVtV2lkdGggfTsKICAgICAgICAgfQotICAgICAgICAvLyBX
aGVuIHRoZSBjb2x1bW4gaGFzIGEgZml4ZWQgd2lkdGggY2VsbCwgdGhlIG1heGltdW0gd2lkdGgg
YmFsYW5jaW5nIGlzIGJhc2VkIG9uIHRoZSBtaW5pbXVtIHdpZHRoLgotICAgICAgICBpZiAoY29s
dW1uLmlzRml4ZWRXaWR0aCgpKQotICAgICAgICAgICAgcmV0dXJuIEdyaWRTcGFjZSB7IG1pbmlt
dW1XaWR0aCwgbWF4aW11bVdpZHRoIH07CiAgICAgICAgIHJldHVybiBHcmlkU3BhY2UgeyBtYXhp
bXVtV2lkdGgsIG1heGltdW1XaWR0aCB9OwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRiOTA2ZmU2Yzdi
ZjQwZTJkNWFhNmEwMWFhMThiYzFkZTk2YzY4ZTAuLmExYTRmMTM1YWMwY2NjNjY5YzI0YjRmNTE0
MTUyMTMyMWQ1MGE0MzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNi0wNiAgQWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bVEZDXSBBZG9wdCBhIGxl
c3MgcXVpcmt5IGZpeGVkIGNvbHVtbiB3aWR0aCBzcGFjZSBkaXN0cmlidXRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjY5NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9u
czogV2UgZG9uJ3QgbWF0Y2ggY3VycmVudCBXZWJLaXQgc3BhY2UgZGlzdHJpYnV0aW9uIGFueW1v
cmUuCisgICAgICAgICogZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC90YWJsZS1maXhlZC13
aWR0aC12YXJpYXRpb25zLXNpbXBsZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxlLWZpeGVkLXdpZHRoLXZhcmlhdGlvbnMt
c2ltcGxlLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA2LTAyICBBbGFuIEJ1anRhcyAgPHphbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtURkNdIFVzZSB0aGUgZml4ZWQgdGFibGUgaGVpZ2h0
IHZhbHVlIHRvIHJlc29sdmUgcGVyY2VudCBjb2x1bW4gaGVpZ2h0IHZhbHVlcwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggMTQ0ZTBkM2I3OTgyNTk4NzhiOWRhNzEwZjAyMTlmZjg2MGYyNGZlZC4uZTIz
NWQ1Yzk0MDBjZWE0ZjllYmEzNTlmMGU4YWRlZjA4YjhjMzBkNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CkBAIC00ODc3LDYgKzQ4NzcsNyBAQCB3ZWJraXQub3JnL2IvMjI1MjQ3IFsgRGVidWcgXSBmYXN0
L211bHRpY29sL3NwYW4vZmxvYXQtYmVjb21lcy1zcGFubmVyLWNyYXNoLmh0bQogCiB3ZWJraXQu
b3JnL2IvMjI2MDAyIGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtc2ltcGxlLXJv
dy1oZWlnaHQuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzIyNjM2NCBmYXN0L2xheW91dGZv
cm1hdHRpbmdjb250ZXh0L3RhYmxlLXdpdGgtcGVyY2VudC1jb2x1bW5zLWFuZC1zcGFjaW5nLmh0
bWwgWyBTa2lwIF0KK1sgRGVidWcgXSBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxl
LWZpeGVkLXdpZHRoLXdpdGgtbWF4LWRpc3RyaWJ1dGlvbi5odG1sIFsgU2tpcCBdCiAKICMgVGhp
cyB3ZWJzdG9yYWdlIHRlc3QgaGFzIGNyYXNoZWQgc2luY2UgaXQgd2FzIGltcG9ydGVkLgogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzdG9yYWdlL3N0b3JhZ2Vfc2Vzc2lvbl9z
ZXRpdGVtX3F1b3RhZXhjZWVkZWRlcnIud2luZG93Lmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtZml4ZWQtd2lk
dGgtdmFyaWF0aW9ucy1zaW1wbGUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbGF5
b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtZml4ZWQtd2lkdGgtdmFyaWF0aW9ucy1zaW1wbGUt
ZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTAwNzU3N2ExMzUxNzg5ZGY2NjYyYTlhNjg4ZDE2
YWExOTFlOWFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3Jt
YXR0aW5nY29udGV4dC90YWJsZS1maXhlZC13aWR0aC12YXJpYXRpb25zLXNpbXBsZS1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsOSBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBMYXlvdXRG
b3JtYXR0aW5nQ29udGV4dEVuYWJsZWQ9dHJ1ZSBMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVn
cmF0aW9uRW5hYmxlZD1mYWxzZSBdIC0tPgorPHN0eWxlPgorZGl2IHsKKyBiYWNrZ3JvdW5kLWNv
bG9yOiBncmVlbjsKKyB3aWR0aDogMTAwcHg7CisgaGVpZ2h0OiAzNTBweDsKK30KKzwvc3R5bGU+
Cis8ZGl2PjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0
aW5nY29udGV4dC90YWJsZS1maXhlZC13aWR0aC12YXJpYXRpb25zLXNpbXBsZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC90YWJsZS1maXhlZC13aWR0aC12
YXJpYXRpb25zLXNpbXBsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzMmY0ODE3ZDUwYzdhMmRmNDA1MGUw
ODQ2MWY1NDk1OWYzODBiMDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xh
eW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxlLWZpeGVkLXdpZHRoLXZhcmlhdGlvbnMtc2ltcGxl
Lmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyBMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEVuYWJsZWQ9dHJ1ZSBMYXlvdXRGb3JtYXR0
aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZD1mYWxzZSBdIC0tPgorPHN0eWxlPgordGQgewor
ICBoZWlnaHQ6IDUwcHg7CisgIHBhZGRpbmc6IDBweDsKK30KKwordGFibGUgeworICBib3JkZXIt
c3BhY2luZzogMHB4OworICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KKzwvc3R5bGU+Cis8
dGFibGU+PHRyPjx0ZCBzdHlsZT0id2lkdGg6IDUwcHgiPjwvdGQ+PHRkIHN0eWxlPSJ3aWR0aDog
NTBweCI+PC90ZD48L3RyPjwvdGFibGU+Cis8dGFibGU+PHRyPjx0ZCBzdHlsZT0id2lkdGg6IDkw
cHgiPjwvdGQ+PHRkIHN0eWxlPSJ3aWR0aDogMTBweCI+PC90ZD48L3RyPjwvdGFibGU+Cis8dGFi
bGU+PHRyPjx0ZCBzdHlsZT0id2lkdGg6IDgwcHgiPjwvdGQ+PHRkIHN0eWxlPSJ3aWR0aDogMTBw
eCI+PC90ZD48dGQgc3R5bGU9IndpZHRoOiAxMHB4Ij48L3RkPjwvdHI+PC90YWJsZT4KKworPHRh
YmxlIHN0eWxlPSJ3aWR0aDogMTAwcHg7Ij48dHI+PHRkIHN0eWxlPSJ3aWR0aDogOTBweCI+PC90
ZD48dGQgc3R5bGU9IndpZHRoOiAxMHB4Ij48L3RkPjwvdHI+PC90YWJsZT4KKzx0YWJsZSBzdHls
ZT0id2lkdGg6IDEwMHB4OyI+PHRyPjx0ZCBzdHlsZT0id2lkdGg6IDUwcHgiPjwvdGQ+PHRkIHN0
eWxlPSJ3aWR0aDogMTBweCI+PC90ZD48L3RyPjwvdGFibGU+Cis8dGFibGUgc3R5bGU9IndpZHRo
OiAxMDBweDsiPjx0cj48dGQgc3R5bGU9IndpZHRoOiA5MDBweCI+PC90ZD48dGQgc3R5bGU9Indp
ZHRoOiAxMDBweCI+PC90ZD48L3RyPjwvdGFibGU+Cis8dGFibGUgc3R5bGU9IndpZHRoOiAxMDBw
eDsiPjx0cj48dGQgc3R5bGU9IndpZHRoOiA5MDBweCI+PC90ZD48dGQgc3R5bGU9IndpZHRoOiA5
MDBweCI+PC90ZD48L3RyPjwvdGFibGU+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>