<?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>231247</bug_id>
          
          <creation_ts>2021-10-05 13:05:27 -0700</creation_ts>
          <short_desc>[LFC][IFC] word-break: break-all only allows mid-word arbitrary breaking positions</short_desc>
          <delta_ts>2021-10-06 06:42: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>1800722</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-10-05 13:05:27 -0700</bug_when>
    <thetext>and not any.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800729</commentid>
    <comment_count>1</comment_count>
      <attachid>440256</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-10-05 13:32:52 -0700</bug_when>
    <thetext>Created attachment 440256
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801037</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-06 06:41:07 -0700</bug_when>
    <thetext>Committed r283614 (242566@main): &lt;https://commits.webkit.org/242566@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 440256.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801039</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-06 06:42:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/83931674&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440256</attachid>
            <date>2021-10-05 13:32:52 -0700</date>
            <delta_ts>2021-10-06 06:41:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231247-20211005133251.patch</filename>
            <type>text/plain</type>
            <size>22641</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQzYjI3NjI2YzhjMmNj
YmE2Njc1MDBiYTc4MWZiMmRjNjJhMDI1Yy4uZWY2Y2RmYzA4ZDY1OGVhYmNjZGRmZGNlNTkzOTJh
ZjExYTc2NTQ2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTEwLTA1ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIHdvcmQtYnJl
YWs6IGJyZWFrLWFsbCBvbmx5IGFsbG93cyBtaWQtd29yZCBhcmJpdHJhcnkgYnJlYWtpbmcgcG9z
aXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzEyNDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bnRyb2R1Y2UgYSBuZXcgdHlwZSBvZiBicmVha2luZyB0eXBlIHdoZXJlIHRoZSBhcmJpdHJhcnkg
cG9zaXRpb24gaXMgb25seSBhcHBsaWVkIHdoZW4gYnJlYWtpbmcgbWlkLXdvcmQgd2l0aGluIGEg
Y29udGludW91cyBjb250ZW50LgorICAgICAgICBXaGlsZSBub3JtYWxseSB3aGVuIHdlIHNlYXJj
aCBmb3IgYSBicmVha2luZyBwb3NpdGlvbiBpbnNpZGUgYW4gb3ZlcmZsb3dpbmcgY29udGludW91
cyBzZXQgb2YgcnVucywgd2UgZmluZCBvdXJzZWx2ZXMgaW5zaWRlIGEgIndvcmQiIGFuZCBhbnkg
YnJlYWtpbmcKKyAgICAgICAgcG9zaXRpb24gd291bGQgbWF0Y2ggdGhlIGRlZmluaXRpb24gb2Yg
dGhlIG1pZC13b3JrIGJyZWFrLgorCisgICAgICAgIEhvd2V2ZXIgaW4gb3RoZXIgY2FzZXMgd2hl
biB0aGVzZSBydW5zIGNvbnNpc3QgbW9yZSB0aGFuIGp1c3QgYSAid29yZCIsIGZvciBleGFtcGxl
CisKKyAgICAgICAgICAnWFggJyAod2hlcmUgdGhlICJ3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2Vz
IiBzZXRzIHRoZSBsaW5lIGJyZWFraW5nIG9wcG9ydHVuaXR5IGFmdGVyIHRoZSB0cmFpbGluZyB3
aGl0ZXNwYWNlKQorICAgICAgICAgICd3b3JkLWJyZWFrOiBicmVhay1hbGwnIGRvZXMgbm90IGFm
ZmVjdCB0aGUgYnJlYWtpbmcgYmVoYXZpb3IgYmV0d2VlbiB0aGUgdHJhaWxpbmcgWCBhbmQgdGhl
ICcgJyBhbmQgdGhlcmVmb3JlIGl0IGlzIG5vdCBhIGJyZWFraW5nIHBvc2l0aW9uLiAKKworICAg
ICAgICBJdCBtYXkgdmVyeSB3ZWxsIGJlIGEgdmFsaWQgYnJlYWtpbmcgcG9zaXRpb24gaWYgc29t
ZSBvdGhlciBDU1MgcHJvcGVydGllcyBhbGxvdyBpdCwgYnV0IHRoZSBub3Rpb24gb2YgYmVpbmcg
YWJsZSB0byBicmVhayBhdCBhbnkgcG9zaXRpb24gKGJyZWFrLWFsbCkgZG9lcyBub3QgYXBwbHkg
aGVyZS4KKworICAgICAgICBzZWUgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTMv
I3dvcmQtYnJlYWstcHJvcGVydHkKKworICAgICAgICBXUFQgcHJvZ3Jlc3Npb25zLgorCisgICAg
ICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lQ29udGVudEJyZWFr
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpuZXh0VGV4dFJ1bkluZGV4KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6cHJldmlvdXNUZXh0UnVuSW5kZXgpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpmaW5kVHJhaWxpbmdSdW5JbmRleCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjp0cnlCcmVha2luZ092ZXJmbG93aW5nUnVu
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29udGVudEJyZWFrZXI6
OnRyeUJyZWFraW5nUHJldmlvdXNOb25PdmVyZmxvd2luZ1J1bnMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVDb250ZW50QnJlYWtlcjo6dHJ5QnJlYWtpbmdOZXh0T3Zl
cmZsb3dpbmdSdW5zIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29u
dGVudEJyZWFrZXI6OnByb2Nlc3NPdmVyZmxvd2luZ0NvbnRlbnRXaXRoVGV4dCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjp3b3JkQnJlYWtC
ZWhhdmlvciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRC
cmVha2VyOjp0cnlCcmVha2luZ1RleHRSdW4gY29uc3QpOgorICAgICAgICAqIGxheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmg6CisKIDIwMjEtMTAt
MDUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVH
UkVTU0lPTiAocjI4MzMzNSk6IE1vbWVudHVtIHNjcm9sbGluZyBpcyBubyBsb25nZXIgbG9ja2Vk
IHRvIGFuIGF4aXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmNw
cAppbmRleCBjZmU2NmUyNDc3NzE0MmU4ODk2NTJkNDFiOGViYTAwNDZkMzQyZmQzLi41NTEyYWY5
NzQ0MGZjYmZlOTNiZjdkMzAxN2MwM2JhMThkNjVlNjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lQ29udGVudEJyZWFrZXIuY3BwCkBAIC03NSw2ICs3NSwyNCBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgaGFzVGV4dFJ1bihjb25zdCBJbmxpbmVDb250ZW50QnJlYWtlcjo6Q29udGludW91
c0NvbnRlbnQmIGNvbgogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RhdGljIGlubGluZSBzdGQ6
Om9wdGlvbmFsPHNpemVfdD4gbmV4dFRleHRSdW5JbmRleChjb25zdCBJbmxpbmVDb250ZW50QnJl
YWtlcjo6Q29udGludW91c0NvbnRlbnQ6OlJ1bkxpc3QmIHJ1bnMsIHNpemVfdCBzdGFydEluZGV4
KQoreworICAgIGZvciAoYXV0byBpbmRleCA9IHN0YXJ0SW5kZXggKyAxOyBpbmRleCA8IHJ1bnMu
c2l6ZSgpOyArK2luZGV4KSB7CisgICAgICAgIGlmIChydW5zW2luZGV4XS5pbmxpbmVJdGVtLmlz
VGV4dCgpKQorICAgICAgICAgICAgcmV0dXJuIGluZGV4OworICAgIH0KKyAgICByZXR1cm4geyB9
OworfQorCitzdGF0aWMgaW5saW5lIHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBwcmV2aW91c1RleHRS
dW5JbmRleChjb25zdCBJbmxpbmVDb250ZW50QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6OlJ1
bkxpc3QmIHJ1bnMsIHNpemVfdCBzdGFydEluZGV4KQoreworICAgIGZvciAoYXV0byBpbmRleCA9
IHN0YXJ0SW5kZXg7IGluZGV4LS07KSB7CisgICAgICAgIGlmIChydW5zW2luZGV4XS5pbmxpbmVJ
dGVtLmlzVGV4dCgpKQorICAgICAgICAgICAgcmV0dXJuIGluZGV4OworICAgIH0KKyAgICByZXR1
cm4geyB9OworfQorCiBzdGF0aWMgaW5saW5lIGJvb2wgaXNWaXN1YWxseUVtcHR5V2hpdGVzcGFj
ZUNvbnRlbnQoY29uc3QgSW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50JiBj
b250aW51b3VzQ29udGVudCkKIHsKICAgICAvLyBbPHNwYW4+PC9zcGFuPiBdIFs8c3Bhbj4gPC9z
cGFuPl0gWyA8c3BhbiBzdHlsZT0icGFkZGluZzogMHB4OyI+PC9zcGFuPl0gYXJlIGFsbCBjb25z
aWRlcmVkIHZpc3VhbGx5IGVtcHR5IHdoaXRlc3BhY2UgY29udGVudC4KQEAgLTI2OCw3ICsyODYs
NiBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxzaXplX3Q+IGZpbmRUcmFpbGluZ1J1bkluZGV4KGNv
bnN0IElubGluZUNvbnRlbnRCcmVha2VyOjpDbwogICAgIC8vIFRyeSBub3QgYnJlYWsgY29udGVu
dCBhdCBpbmxpbmUgYm94IGJvdW5kYXJ5CiAgICAgLy8gZS5nLiA8c3Bhbj5maXRzPC9zcGFuPjxz
cGFuPm92ZXJmbG93czwvc3Bhbj4KICAgICAvLyB3aGVuIHRoZSB0ZXh0ICJvdmVyZmxvd3MiIGNv
bXBsZXRlbHkgb3ZlcmZsb3dzLCBsZXQncyBicmVhayB0aGUgY29udGVudCByaWdodCBiZWZvcmUg
dGhlICc8c3Bhbj4nLgotICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3Igc3Vic2VxdWVudCBl
bXB0eSBpbmxpbmUgYm94ZXMgZS5nLgogICAgIGF1dG8gdHJhaWxpbmdDYW5kaWRhdGVJbmRleCA9
IGJyZWFrYWJsZVJ1bkluZGV4IC0gMTsKICAgICBhdXRvIGlzQXRJbmxpbmVCb3ggPSBydW5zW3Ry
YWlsaW5nQ2FuZGlkYXRlSW5kZXhdLmlubGluZUl0ZW0uaXNJbmxpbmVCb3hTdGFydCgpOwogICAg
IHJldHVybiAhaXNBdElubGluZUJveCA/IHRyYWlsaW5nQ2FuZGlkYXRlSW5kZXggOiB0cmFpbGlu
Z0NhbmRpZGF0ZUluZGV4ID8gc3RkOjptYWtlX29wdGlvbmFsKHRyYWlsaW5nQ2FuZGlkYXRlSW5k
ZXggLSAxKSA6IHN0ZDo6bnVsbG9wdDsKQEAgLTI5MSw3ICszMDgsNyBAQCBzdGQ6Om9wdGlvbmFs
PElubGluZUNvbnRlbnRCcmVha2VyOjpPdmVyZmxvd2luZ1RleHRDb250ZW50OjpCcmVha2luZ1Bv
c2l0aW9uPiBJbgogICAgIGF1dG8gb3ZlcmZsb3dpbmdSdW4gPSBydW5zW292ZXJmbG93aW5nUnVu
SW5kZXhdOwogICAgIGlmICghaXNXcmFwcGFibGVSdW4ob3ZlcmZsb3dpbmdSdW4pKQogICAgICAg
ICByZXR1cm4geyB9OwotICAgIGF1dG8gcGFydGlhbE92ZXJmbG93aW5nUnVuID0gdHJ5QnJlYWtp
bmdUZXh0UnVuKG92ZXJmbG93aW5nUnVuLCBsaW5lU3RhdHVzLmNvbnRlbnRMb2dpY2FsUmlnaHQg
KyBub25PdmVyZmxvd2luZ0NvbnRlbnRXaWR0aCwgc3RkOjptYXgoMC4wZiwgbGluZVN0YXR1cy5h
dmFpbGFibGVXaWR0aCAtIG5vbk92ZXJmbG93aW5nQ29udGVudFdpZHRoKSwgbGluZVN0YXR1cy5o
YXNXcmFwT3Bwb3J0dW5pdHlBdFByZXZpb3VzUG9zaXRpb24pOworICAgIGF1dG8gcGFydGlhbE92
ZXJmbG93aW5nUnVuID0gdHJ5QnJlYWtpbmdUZXh0UnVuKHJ1bnMsIG92ZXJmbG93aW5nUnVuSW5k
ZXgsIGxpbmVTdGF0dXMuY29udGVudExvZ2ljYWxSaWdodCArIG5vbk92ZXJmbG93aW5nQ29udGVu
dFdpZHRoLCBzdGQ6Om1heCgwLjBmLCBsaW5lU3RhdHVzLmF2YWlsYWJsZVdpZHRoIC0gbm9uT3Zl
cmZsb3dpbmdDb250ZW50V2lkdGgpLCBsaW5lU3RhdHVzLmhhc1dyYXBPcHBvcnR1bml0eUF0UHJl
dmlvdXNQb3NpdGlvbik7CiAgICAgaWYgKCFwYXJ0aWFsT3ZlcmZsb3dpbmdSdW4pCiAgICAgICAg
IHJldHVybiB7IH07CiAgICAgaWYgKHBhcnRpYWxPdmVyZmxvd2luZ1J1bi0+bGVuZ3RoKQpAQCAt
MzEzLDcgKzMzMCw3IEBAIHN0ZDo6b3B0aW9uYWw8SW5saW5lQ29udGVudEJyZWFrZXI6Ok92ZXJm
bG93aW5nVGV4dENvbnRlbnQ6OkJyZWFraW5nUG9zaXRpb24+IEluCiAgICAgICAgIGlmICghaXNX
cmFwcGFibGVSdW4ocnVuKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBBU1NFUlQo
cnVuLmlubGluZUl0ZW0uaXNUZXh0KCkpOwotICAgICAgICBpZiAoYXV0byBwYXJ0aWFsUnVuID0g
dHJ5QnJlYWtpbmdUZXh0UnVuKHJ1biwgbGluZVN0YXR1cy5jb250ZW50TG9naWNhbFJpZ2h0ICsg
cHJldmlvdXNDb250ZW50V2lkdGgsIHsgfSwgbGluZVN0YXR1cy5oYXNXcmFwT3Bwb3J0dW5pdHlB
dFByZXZpb3VzUG9zaXRpb24pKSB7CisgICAgICAgIGlmIChhdXRvIHBhcnRpYWxSdW4gPSB0cnlC
cmVha2luZ1RleHRSdW4ocnVucywgaW5kZXgsIGxpbmVTdGF0dXMuY29udGVudExvZ2ljYWxSaWdo
dCArIHByZXZpb3VzQ29udGVudFdpZHRoLCB7IH0sIGxpbmVTdGF0dXMuaGFzV3JhcE9wcG9ydHVu
aXR5QXRQcmV2aW91c1Bvc2l0aW9uKSkgewogICAgICAgICAgICAgLy8gV2Uga25vdyB0aGlzIHJ1
biBmaXRzLCBzbyBpZiBicmVha2luZyBpcyBhbGxvd2VkIG9uIHRoZSBydW4sIGl0IHNob3VsZCBy
ZXR1cm4gYSBub24tZW1wdHkgbGVmdC1zaWRlCiAgICAgICAgICAgICAvLyBzaW5jZSBpdCdzIGVp
dGhlciBhdCBoeXBoZW4gcG9zaXRpb24gb3IgdGhlIGVudGlyZSBydW4gaXMgcmV0dXJuZWQuCiAg
ICAgICAgICAgICBBU1NFUlQocGFydGlhbFJ1bi0+bGVuZ3RoKTsKQEAgLTMzNCwyNSArMzUxLDE4
IEBAIHN0ZDo6b3B0aW9uYWw8SW5saW5lQ29udGVudEJyZWFrZXI6Ok92ZXJmbG93aW5nVGV4dENv
bnRlbnQ6OkJyZWFraW5nUG9zaXRpb24+IEluCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgfQogICAgICAgICBBU1NFUlQocnVuLmlubGluZUl0ZW0uaXNUZXh0KCkpOwotICAgICAgICAv
LyBXZSBrbm93IHRoYXQgdGhpcyBydW4gZG9lcyBub3QgZml0IHRoZSBhdmFpbGFibGUgc3BhY2Uu
IElmIHdlIGNhbiBicmVhayBpdCBhdCBhbnkgcG9zaXRpb24sIGxldCdzIGp1c3QgdXNlIHRoZSBz
dGFydCBvZiB0aGUgcnVuLgotICAgICAgICBpZiAod29yZEJyZWFrQmVoYXZpb3IocnVuLnN0eWxl
LCBsaW5lU3RhdHVzLmhhc1dyYXBPcHBvcnR1bml0eUF0UHJldmlvdXNQb3NpdGlvbikgPT0gV29y
ZEJyZWFrUnVsZTo6QXRBcmJpdHJhcnlQb3NpdGlvbikgewotICAgICAgICAgICAgLy8gV2UgbXVz
dCBiZSBvbiBhbiBpbmxpbmUgYm94IGJvdW5kYXJ5LiBMZXQncyBnbyBiYWNrIHRvIHRoZSBydW4g
aW4gZnJvbnQgb2YgdGhlIGlubGluZSBib3ggc3RhcnQgcnVuLgotICAgICAgICAgICAgLy8gZS5n
LiA8c3Bhbj51bmJyZWFrYWJsZV9hbmRfb3ZlcmZsb3c8c3BhbiBzdHlsZT0id29yZC1icmVhazog
YnJlYWstYWxsIj5icmVha2FibGU8L3NwYW4+Ci0gICAgICAgICAgICAvLyBXZSBhcmUgYXQgImJy
ZWFrYWJsZSIsIDxzcGFuPiBpcyBhdCBpbmRleCAtIDEgYW5kIHRoZSB0cmFpbGluZyBydW4gaXMg
YXQgaW5kZXggLSAyLgotICAgICAgICAgICAgQVNTRVJUKHJ1bnNbaW5kZXggLSAxXS5pbmxpbmVJ
dGVtLmlzSW5saW5lQm94U3RhcnQoKSk7Ci0gICAgICAgICAgICBhdXRvIHRyYWlsaW5nUnVuSW5k
ZXggPSBmaW5kVHJhaWxpbmdSdW5JbmRleChydW5zLCBpbmRleCk7Ci0gICAgICAgICAgICBpZiAo
IXRyYWlsaW5nUnVuSW5kZXgpIHsKLSAgICAgICAgICAgICAgICAvLyBUaGlzIGNvbnRpbnVvdXMg
Y29udGVudCBkaWQgbm90IGZpdCBmcm9tIHRoZSBnZXQtZ28uIE5vIHRyYWlsaW5nIHJ1bi4KLSAg
ICAgICAgICAgICAgICByZXR1cm4gT3ZlcmZsb3dpbmdUZXh0Q29udGVudDo6QnJlYWtpbmdQb3Np
dGlvbiB7IH07CisgICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgdGhlIGF2YWlsYWJsZSBzcGFjZSBp
cyB6ZXJvLiBMZXQncyB0cnkgdGhlIGJyZWFrIHRoZXNlIG92ZXJmbG93aW5nIHNldCBvZiBydW5z
IGF0IHRoZSBlYXJsaWVzdCBwb3NzaWJsZS4KKyAgICAgICAgaWYgKGF1dG8gcGFydGlhbFJ1biA9
IHRyeUJyZWFraW5nVGV4dFJ1bihydW5zLCBpbmRleCwgbGluZVN0YXR1cy5jb250ZW50TG9naWNh
bFJpZ2h0ICsgbmV4dENvbnRlbnRXaWR0aCwgMCwgbGluZVN0YXR1cy5oYXNXcmFwT3Bwb3J0dW5p
dHlBdFByZXZpb3VzUG9zaXRpb24pKSB7CisgICAgICAgICAgICAvLyA8c3Bhbj51bmJyZWFrYWJs
ZV9hbmRfb3ZlcmZsb3dzPHNwYW4gc3R5bGU9IndvcmQtYnJlYWs6IGJyZWFrLWFsbCI+YnJlYWth
YmxlPC9zcGFuPgorICAgICAgICAgICAgLy8gVGhlIHBhcnRpYWwgcnVuIGxlbmd0aCBjb3VsZCB2
ZXJ5IHdlbGwgYmUgMCBtZWFuaW5nIHRoZSB0cmFpbGluZyBydW4gaXMgYWN0dWFsbHkgdGhlIG92
ZXJmbG93aW5nIHJ1biAoc2VlIGFib3ZlIGluIHRoZSBleGFtcGxlKS4KKyAgICAgICAgICAgIGlm
IChwYXJ0aWFsUnVuLT5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICAvLyBXZSBtYW5hZ2VkIHRv
IGJyZWFrIHRoaXMgdGV4dCBydW4gbWlkIGNvbnRlbnQuIEl0IGhhcyB0byBiZSBlaXRoZXIgYW4g
YXJiaXRyYXJ5IG1pZC13b3JkIG9yIGEgaHlwaGVuIGJyZWFrLgorICAgICAgICAgICAgICAgIHJl
dHVybiBPdmVyZmxvd2luZ1RleHRDb250ZW50OjpCcmVha2luZ1Bvc2l0aW9uIHsgaW5kZXgsIE92
ZXJmbG93aW5nVGV4dENvbnRlbnQ6OkJyZWFraW5nUG9zaXRpb246OlRyYWlsaW5nQ29udGVudCB7
IHRydWUsIHBhcnRpYWxSdW4gfSB9OwogICAgICAgICAgICAgfQorICAgICAgICAgICAgYXV0byB0
cmFpbGluZ1J1bkluZGV4ID0gKmZpbmRUcmFpbGluZ1J1bkluZGV4KHJ1bnMsIGluZGV4KTsKICAg
ICAgICAgICAgIC8vIEF0IHdvcnN0IHdlIGFyZSBiYWNrIHRvIHRoZSBvdmVyZmxvd2luZyBydW4s
IGxpa2UgaW4gdGhlIGV4YW1wbGUgYWJvdmUuCi0gICAgICAgICAgICBBU1NFUlQoKnRyYWlsaW5n
UnVuSW5kZXggPj0gb3ZlcmZsb3dpbmdSdW5JbmRleCk7Ci0gICAgICAgICAgICByZXR1cm4gT3Zl
cmZsb3dpbmdUZXh0Q29udGVudDo6QnJlYWtpbmdQb3NpdGlvbiB7ICp0cmFpbGluZ1J1bkluZGV4
LCBPdmVyZmxvd2luZ1RleHRDb250ZW50OjpCcmVha2luZ1Bvc2l0aW9uOjpUcmFpbGluZ0NvbnRl
bnQgeyB0cnVlIH0gfTsKLSAgICAgICAgfQotICAgICAgICBpZiAoYXV0byBwYXJ0aWFsUnVuID0g
dHJ5QnJlYWtpbmdUZXh0UnVuKHJ1biwgbGluZVN0YXR1cy5jb250ZW50TG9naWNhbFJpZ2h0ICsg
bmV4dENvbnRlbnRXaWR0aCwgeyB9LCBsaW5lU3RhdHVzLmhhc1dyYXBPcHBvcnR1bml0eUF0UHJl
dmlvdXNQb3NpdGlvbikpIHsKLSAgICAgICAgICAgIEFTU0VSVChwYXJ0aWFsUnVuLT5sZW5ndGgp
OwotICAgICAgICAgICAgLy8gV2UgbWFuYWdlZCB0byBicmVhayB0aGlzIHRleHQgcnVuIG1pZCBj
b250ZW50LiBJdCBoYXMgdG8gYmUgYSBoeXBoZW4gYnJlYWsuCi0gICAgICAgICAgICByZXR1cm4g
T3ZlcmZsb3dpbmdUZXh0Q29udGVudDo6QnJlYWtpbmdQb3NpdGlvbiB7IGluZGV4LCBPdmVyZmxv
d2luZ1RleHRDb250ZW50OjpCcmVha2luZ1Bvc2l0aW9uOjpUcmFpbGluZ0NvbnRlbnQgeyB0cnVl
LCBwYXJ0aWFsUnVuIH0gfTsKKyAgICAgICAgICAgIEFTU0VSVCh0cmFpbGluZ1J1bkluZGV4ID49
IG92ZXJmbG93aW5nUnVuSW5kZXgpOworICAgICAgICAgICAgcmV0dXJuIE92ZXJmbG93aW5nVGV4
dENvbnRlbnQ6OkJyZWFraW5nUG9zaXRpb24geyB0cmFpbGluZ1J1bkluZGV4LCBPdmVyZmxvd2lu
Z1RleHRDb250ZW50OjpCcmVha2luZ1Bvc2l0aW9uOjpUcmFpbGluZ0NvbnRlbnQgeyB0cnVlIH0g
fTsKICAgICAgICAgfQogICAgICAgICBuZXh0Q29udGVudFdpZHRoICs9IHJ1bi5sb2dpY2FsV2lk
dGg7CiAgICAgfQpAQCAtMzgxLDExICszOTEsMTEgQEAgSW5saW5lQ29udGVudEJyZWFrZXI6Ok92
ZXJmbG93aW5nVGV4dENvbnRlbnQgSW5saW5lQ29udGVudEJyZWFrZXI6OnByb2Nlc3NPdmVyZmwK
ICAgICAvLyBXZSBoYXZlIHRvIGhhdmUgYW4gb3ZlcmZsb3dpbmcgcnVuLgogICAgIFJFTEVBU0Vf
QVNTRVJUKG92ZXJmbG93aW5nUnVuSW5kZXggPCBydW5zLnNpemUoKSk7CiAKLSAgICAvLyBDaGVj
ayBpZiB3ZSBhY3R1YWxseSBicmVhayB0aGlzIHJ1bi4KKyAgICAvLyBDaGVjayBmaXJzdCBpZiB3
ZSBjYW4gYWN0dWFsbHkgYnJlYWsgdGhlIG92ZXJmbG93aW5nIHJ1bi4KICAgICBpZiAoYXV0byBi
cmVha2luZ1Bvc2l0aW9uID0gdHJ5QnJlYWtpbmdPdmVyZmxvd2luZ1J1bihsaW5lU3RhdHVzLCBy
dW5zLCBvdmVyZmxvd2luZ1J1bkluZGV4LCBub25PdmVyZmxvd2luZ0NvbnRlbnRXaWR0aCkpCiAg
ICAgICAgIHJldHVybiB7IG92ZXJmbG93aW5nUnVuSW5kZXgsIGJyZWFraW5nUG9zaXRpb24gfTsK
IAotICAgIC8vIFdlIGRpZCBub3QgbWFuYWdlIHRvIGJyZWFrIHRoZSBydW4gdGhhdCBhY3R1YWxs
eSBvdmVyZmxvd3MgdGhlIGxpbmUuCisgICAgLy8gV2UgZGlkIG5vdCBtYW5hZ2UgdG8gYnJlYWsg
dGhlIHJ1biB0aGF0IG92ZXJmbG93cyB0aGUgbGluZS4KICAgICAvLyBMZXQncyB0cnkgdG8gZmlu
ZCBhIHByZXZpb3VzIGJyZWFraW5nIHBvc2l0aW9uIHN0YXJ0aW5nIGZyb20gdGhlIG92ZXJmbG93
aW5nIHJ1bi4gSXQgc3VyZWx5IGZpdHMuCiAgICAgaWYgKGF1dG8gYnJlYWtpbmdQb3NpdGlvbiA9
IHRyeUJyZWFraW5nUHJldmlvdXNOb25PdmVyZmxvd2luZ1J1bnMobGluZVN0YXR1cywgcnVucywg
b3ZlcmZsb3dpbmdSdW5JbmRleCwgbm9uT3ZlcmZsb3dpbmdDb250ZW50V2lkdGgpKQogICAgICAg
ICByZXR1cm4geyBvdmVyZmxvd2luZ1J1bkluZGV4LCBicmVha2luZ1Bvc2l0aW9uIH07CkBAIC00
MTAsNyArNDIwLDcgQEAgT3B0aW9uU2V0PElubGluZUNvbnRlbnRCcmVha2VyOjpXb3JkQnJlYWtS
dWxlPiBJbmxpbmVDb250ZW50QnJlYWtlcjo6d29yZEJyZWFrQmUKIAogICAgIC8vIEJyZWFraW5n
IGlzIGFsbG93ZWQgd2l0aGluIOKAnHdvcmRz4oCdLgogICAgIGlmIChzdHlsZS53b3JkQnJlYWso
KSA9PSBXb3JkQnJlYWs6OkJyZWFrQWxsKQotICAgICAgICByZXR1cm4geyBXb3JkQnJlYWtSdWxl
OjpBdEFyYml0cmFyeVBvc2l0aW9uIH07CisgICAgICAgIHJldHVybiB7IFdvcmRCcmVha1J1bGU6
OkF0QXJiaXRyYXJ5UG9zaXRpb25XaXRoaW5Xb3JkcyB9OwogCiAgICAgYXV0byBpbmNsdWRlSHlw
aGVuYXRpb25JZkFsbG93ZWQgPSBbJl0oc3RkOjpvcHRpb25hbDxJbmxpbmVDb250ZW50QnJlYWtl
cjo6V29yZEJyZWFrUnVsZT4gd29yZEJyZWFrUnVsZSkgLT4gT3B0aW9uU2V0PElubGluZUNvbnRl
bnRCcmVha2VyOjpXb3JkQnJlYWtSdWxlPiB7CiAgICAgICAgIGF1dG8gaHlwaGVuYXRpb25Jc0Fs
bG93ZWQgPSAhbl9oeXBoZW5hdGlvbklzRGlzYWJsZWQgJiYgc3R5bGUuaHlwaGVucygpID09IEh5
cGhlbnM6OkF1dG8gJiYgY2FuSHlwaGVuYXRlKHN0eWxlLmNvbXB1dGVkTG9jYWxlKCkpOwpAQCAt
NDM3LDExICs0NDcsMTIgQEAgT3B0aW9uU2V0PElubGluZUNvbnRlbnRCcmVha2VyOjpXb3JkQnJl
YWtSdWxlPiBJbmxpbmVDb250ZW50QnJlYWtlcjo6d29yZEJyZWFrQmUKICAgICByZXR1cm4gaW5j
bHVkZUh5cGhlbmF0aW9uSWZBbGxvd2VkKHsgfSk7CiB9CiAKLXN0ZDo6b3B0aW9uYWw8SW5saW5l
Q29udGVudEJyZWFrZXI6OlBhcnRpYWxSdW4+IElubGluZUNvbnRlbnRCcmVha2VyOjp0cnlCcmVh
a2luZ1RleHRSdW4oY29uc3QgQ29udGludW91c0NvbnRlbnQ6OlJ1biYgb3ZlcmZsb3dpbmdSdW4s
IElubGluZUxheW91dFVuaXQgbG9naWNhbExlZnQsIHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0
VW5pdD4gYXZhaWxhYmxlV2lkdGgsIGJvb2wgaGFzV3JhcE9wcG9ydHVuaXR5QXRQcmV2aW91c1Bv
c2l0aW9uKSBjb25zdAorc3RkOjpvcHRpb25hbDxJbmxpbmVDb250ZW50QnJlYWtlcjo6UGFydGlh
bFJ1bj4gSW5saW5lQ29udGVudEJyZWFrZXI6OnRyeUJyZWFraW5nVGV4dFJ1bihjb25zdCBDb250
aW51b3VzQ29udGVudDo6UnVuTGlzdCYgcnVucywgc2l6ZV90IGNhbmRpZGF0ZVJ1bkluZGV4LCBJ
bmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0LCBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVu
aXQ+IGF2YWlsYWJsZVdpZHRoLCBib29sIGhhc1dyYXBPcHBvcnR1bml0eUF0UHJldmlvdXNQb3Np
dGlvbikgY29uc3QKIHsKLSAgICBBU1NFUlQob3ZlcmZsb3dpbmdSdW4uaW5saW5lSXRlbS5pc1Rl
eHQoKSk7Ci0gICAgYXV0byYgaW5saW5lVGV4dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVUZXh0SXRl
bT4ob3ZlcmZsb3dpbmdSdW4uaW5saW5lSXRlbSk7Ci0gICAgYXV0byYgc3R5bGUgPSBvdmVyZmxv
d2luZ1J1bi5zdHlsZTsKKyAgICBhdXRvJiBjYW5kaWRhdGVSdW4gPSBydW5zW2NhbmRpZGF0ZVJ1
bkluZGV4XTsKKyAgICBBU1NFUlQoY2FuZGlkYXRlUnVuLmlubGluZUl0ZW0uaXNUZXh0KCkpOwor
ICAgIGF1dG8mIGlubGluZVRleHRJdGVtID0gZG93bmNhc3Q8SW5saW5lVGV4dEl0ZW0+KGNhbmRp
ZGF0ZVJ1bi5pbmxpbmVJdGVtKTsKKyAgICBhdXRvJiBzdHlsZSA9IGNhbmRpZGF0ZVJ1bi5zdHls
ZTsKICAgICBhdXRvIGF2YWlsYWJsZVNwYWNlSXNJbmZpbml0ZSA9ICFhdmFpbGFibGVXaWR0aC5o
YXNfdmFsdWUoKTsKIAogICAgIGF1dG8gYnJlYWtSdWxlcyA9IHdvcmRCcmVha0JlaGF2aW9yKHN0
eWxlLCBoYXNXcmFwT3Bwb3J0dW5pdHlBdFByZXZpb3VzUG9zaXRpb24pOwpAQCAtNDQ5LDYgKzQ2
MCw1NCBAQCBzdGQ6Om9wdGlvbmFsPElubGluZUNvbnRlbnRCcmVha2VyOjpQYXJ0aWFsUnVuPiBJ
bmxpbmVDb250ZW50QnJlYWtlcjo6dHJ5QnJlYWtpbgogICAgICAgICByZXR1cm4geyB9OwogCiAg
ICAgYXV0byYgZm9udENhc2NhZGUgPSBzdHlsZS5mb250Q2FzY2FkZSgpOworICAgIGlmIChicmVh
a1J1bGVzLmNvbnRhaW5zKFdvcmRCcmVha1J1bGU6OkF0QXJiaXRyYXJ5UG9zaXRpb25XaXRoaW5X
b3JkcykpIHsKKyAgICAgICAgLy8gQnJlYWtpbmcgaXMgYWxsb3dlZCB3aXRoaW4g4oCcd29yZHPi
gJ06IHNwZWNpZmljYWxseSwgaW4gYWRkaXRpb24gdG8gc29mdCB3cmFwIG9wcG9ydHVuaXRpZXMg
YWxsb3dlZCBmb3Igbm9ybWFsLCBhbnkgdHlwb2dyYXBoaWMgbGV0dGVyIHVuaXRzCisgICAgICAg
IC8vIEl0IGRvZXMgbm90IGFmZmVjdCBydWxlcyBnb3Zlcm5pbmcgdGhlIHNvZnQgd3JhcCBvcHBv
cnR1bml0aWVzIGNyZWF0ZWQgYnkgd2hpdGUgc3BhY2UuIEh5cGhlbmF0aW9uIGlzIG5vdCBhcHBs
aWVkLgorICAgICAgICBBU1NFUlQoIWJyZWFrUnVsZXMuY29udGFpbnMoV29yZEJyZWFrUnVsZTo6
QXRIeXBoZW5hdGlvbk9wcG9ydHVuaXRpZXMpKTsKKyAgICAgICAgaWYgKGlubGluZVRleHRJdGVt
LmlzV2hpdGVzcGFjZSgpKSB7CisgICAgICAgICAgICAvLyBBdEFyYml0cmFyeVBvc2l0aW9uV2l0
aGluV29yZHMgZG9lcyBub3QgYWZmZWN0IHRoZSBicmVha2luZyBvcHBvcnR1bml0aWVzIGFyb3Vu
ZCB3aGl0ZXNwYWNlLgorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorCisgICAg
ICAgIGlmICghaW5saW5lVGV4dEl0ZW0ubGVuZ3RoKCkpIHsKKyAgICAgICAgICAgIC8vIEVtcHR5
IHRleHQgcnVucyBtYXkgYmUgYnJlYWthYmxlIGJhc2VkIG9uIHN0eWxlLCBidXQgaW4gcHJhY3Rp
Y2Ugd2UgY2FuJ3QgcmVhbGx5IHNwbGl0IHRoZW0gYW55IGZ1cnRoZXIuCisgICAgICAgICAgICBy
ZXR1cm4gUGFydGlhbFJ1biB7IH07CisgICAgICAgIH0KKworICAgICAgICBpZiAoYXZhaWxhYmxl
U3BhY2VJc0luZmluaXRlKSB7CisgICAgICAgICAgICAvLyBXaGVuIHRoZSBydW4gY2FuIGJlIHNw
bGl0IGF0IGFyYml0cmFyeSBwb3NpdGlvbiB3ZSB3b3VsZCBub3JtYWxseSBqdXN0IHJldHVybiB0
aGUgZW50aXJlIHJ1biB3aGVuIGl0IGlzIGludGVuZGVkIHRvIGZpdCBvbiB0aGUgbGluZQorICAg
ICAgICAgICAgLy8gYnV0IGhlcmUgd2UgaGF2ZSB0byBjaGVjayBmb3IgbWlkLXdvcmQgYnJlYWsu
CisgICAgICAgICAgICBhdXRvIG5leHRJbmRleCA9IG5leHRUZXh0UnVuSW5kZXgocnVucywgY2Fu
ZGlkYXRlUnVuSW5kZXgpOworICAgICAgICAgICAgaWYgKCFuZXh0SW5kZXggfHwgIWRvd25jYXN0
PElubGluZVRleHRJdGVtPihydW5zWypuZXh0SW5kZXhdLmlubGluZUl0ZW0pLmlzV2hpdGVzcGFj
ZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBQYXJ0aWFsUnVuIHsgaW5saW5lVGV4dEl0ZW0u
bGVuZ3RoKCksIFRleHRVdGlsOjp3aWR0aChpbmxpbmVUZXh0SXRlbSwgZm9udENhc2NhZGUsIGxv
Z2ljYWxMZWZ0KSB9OworICAgICAgICAgICAgLy8gV2UndmUgZ290IHJvb20gZm9yIHRoZSBydW4g
YnV0IHdlIGhhdmUgdG8gdHJ5IHRvIGJyZWFrIGl0IG1pZC13b3JkLgorICAgICAgICAgICAgaWYg
KGlubGluZVRleHRJdGVtLmxlbmd0aCgpID09IDEpIHsKKyAgICAgICAgICAgICAgICAvLyBXZSBj
YW4ndCBtaWQtd29yZCBicmVhayBhIHNpbmdsZSBjaGFyYWN0ZXIuCisgICAgICAgICAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGF1dG8gc3RhcnRQb3NpdGlv
biA9IGlubGluZVRleHRJdGVtLnN0YXJ0KCk7CisgICAgICAgICAgICBhdXRvIGVuZFBvc2l0aW9u
ID0gaW5saW5lVGV4dEl0ZW0uZW5kKCkgLSAxOworICAgICAgICAgICAgcmV0dXJuIFBhcnRpYWxS
dW4geyBpbmxpbmVUZXh0SXRlbS5sZW5ndGgoKSAtIDEsIFRleHRVdGlsOjp3aWR0aChpbmxpbmVU
ZXh0SXRlbSwgZm9udENhc2NhZGUsIHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uLCBsb2dpY2Fs
TGVmdCkgfTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghKmF2YWlsYWJsZVdpZHRoKSB7Cisg
ICAgICAgICAgICBhdXRvIHByZXZpb3VzSW5kZXggPSBwcmV2aW91c1RleHRSdW5JbmRleChydW5z
LCBjYW5kaWRhdGVSdW5JbmRleCk7CisgICAgICAgICAgICBpZiAoIXByZXZpb3VzSW5kZXggfHwg
IWRvd25jYXN0PElubGluZVRleHRJdGVtPihydW5zWypwcmV2aW91c0luZGV4XS5pbmxpbmVJdGVt
KS5pc1doaXRlc3BhY2UoKSkgeworICAgICAgICAgICAgICAgIC8vIEZhc3QgcGF0aCBmb3IgY2Fz
ZXMgd2hlbiB0aGVyZSdzIG5vIHJvb20gYXQgYWxsLiBXZSBjYW4gYnJlYWsgdGhpcyBjb250ZW50
IGF0IHRoZSBzdGFydC4KKyAgICAgICAgICAgICAgICByZXR1cm4gUGFydGlhbFJ1biB7IH07Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoaW5saW5lVGV4dEl0ZW0ubGVuZ3RoKCkgPT0g
MSkgeworICAgICAgICAgICAgICAgIC8vIFdlIGNhbid0IG1pZC13b3JkIGJyZWFrIGEgc2luZ2xl
IGNoYXJhY3Rlci4KKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgYXV0byBzdGFydFBvc2l0aW9uID0gaW5saW5lVGV4dEl0ZW0uc3RhcnQoKSAr
IDE7CisgICAgICAgICAgICBhdXRvIGVuZFBvc2l0aW9uID0gaW5saW5lVGV4dEl0ZW0uZW5kKCk7
CisgICAgICAgICAgICByZXR1cm4gUGFydGlhbFJ1biB7IGlubGluZVRleHRJdGVtLmxlbmd0aCgp
IC0gMSwgVGV4dFV0aWw6OndpZHRoKGlubGluZVRleHRJdGVtLCBmb250Q2FzY2FkZSwgc3RhcnRQ
b3NpdGlvbiwgZW5kUG9zaXRpb24sIGxvZ2ljYWxMZWZ0KSB9OworICAgICAgICB9CisgICAgICAg
IGF1dG8gbWlkV29yZEJyZWFrID0gVGV4dFV0aWw6Om1pZFdvcmRCcmVhayhpbmxpbmVUZXh0SXRl
bSwgZm9udENhc2NhZGUsIGNhbmRpZGF0ZVJ1bi5sb2dpY2FsV2lkdGgsICphdmFpbGFibGVXaWR0
aCwgbG9naWNhbExlZnQpOworICAgICAgICByZXR1cm4gUGFydGlhbFJ1biB7IG1pZFdvcmRCcmVh
ay5sZW5ndGgsIG1pZFdvcmRCcmVhay5sb2dpY2FsV2lkdGggfTsKKyAgICB9CisKICAgICBpZiAo
YnJlYWtSdWxlcy5jb250YWlucyhXb3JkQnJlYWtSdWxlOjpBdEh5cGhlbmF0aW9uT3Bwb3J0dW5p
dGllcykpIHsKICAgICAgICAgYXV0byB0cnlCcmVha2luZ0F0SHlwaGVuYXRpb25PcHBvcnR1bml0
eSA9IFsmXSgpIC0+IHN0ZDo6b3B0aW9uYWw8UGFydGlhbFJ1bj4gewogICAgICAgICAgICAgLy8g
RmluZCB0aGUgaHlwaGVuIHBvc2l0aW9uIGFzIGZvbGxvd3M6CkBAIC00NzEsNyArNTMwLDcgQEAg
c3RkOjpvcHRpb25hbDxJbmxpbmVDb250ZW50QnJlYWtlcjo6UGFydGlhbFJ1bj4gSW5saW5lQ29u
dGVudEJyZWFrZXI6OnRyeUJyZWFraW4KICAgICAgICAgICAgICAgICBhdXRvIGF2YWlsYWJsZVdp
ZHRoRXhjbHVkaW5nSHlwaGVuID0gKmF2YWlsYWJsZVdpZHRoIC0gaHlwaGVuV2lkdGg7CiAgICAg
ICAgICAgICAgICAgaWYgKGF2YWlsYWJsZVdpZHRoRXhjbHVkaW5nSHlwaGVuIDw9IDAgfHwgIWVu
b3VnaFdpZHRoRm9ySHlwaGVuYXRpb24oYXZhaWxhYmxlV2lkdGhFeGNsdWRpbmdIeXBoZW4sIGZv
bnRDYXNjYWRlLnBpeGVsU2l6ZSgpKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsK
LSAgICAgICAgICAgICAgICBsZWZ0U2lkZUxlbmd0aCA9IFRleHRVdGlsOjptaWRXb3JkQnJlYWso
aW5saW5lVGV4dEl0ZW0sIGZvbnRDYXNjYWRlLCBvdmVyZmxvd2luZ1J1bi5sb2dpY2FsV2lkdGgs
IGF2YWlsYWJsZVdpZHRoRXhjbHVkaW5nSHlwaGVuLCBsb2dpY2FsTGVmdCkubGVuZ3RoOworICAg
ICAgICAgICAgICAgIGxlZnRTaWRlTGVuZ3RoID0gVGV4dFV0aWw6Om1pZFdvcmRCcmVhayhpbmxp
bmVUZXh0SXRlbSwgZm9udENhc2NhZGUsIGNhbmRpZGF0ZVJ1bi5sb2dpY2FsV2lkdGgsIGF2YWls
YWJsZVdpZHRoRXhjbHVkaW5nSHlwaGVuLCBsb2dpY2FsTGVmdCkubGVuZ3RoOwogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgaWYgKGxlZnRTaWRlTGVuZ3RoIDwgbGltaXRCZWZvcmUpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIHsgfTsKQEAgLTUwNSwxMiArNTY0LDEzIEBAIHN0ZDo6b3B0aW9u
YWw8SW5saW5lQ29udGVudEJyZWFrZXI6OlBhcnRpYWxSdW4+IElubGluZUNvbnRlbnRCcmVha2Vy
Ojp0cnlCcmVha2luCiAgICAgICAgICAgICAgICAgLy8gRmFzdCBwYXRoIGZvciBjYXNlcyB3aGVu
IHRoZXJlJ3Mgbm8gcm9vbSBhdCBhbGwuIFRoZSBjb250ZW50IGlzIGJyZWFrYWJsZSBidXQgd2Ug
ZG9uJ3QgaGF2ZSBzcGFjZSBmb3IgaXQuCiAgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIGF1dG8gbWlkV29yZEJyZWFrID0gVGV4dFV0aWw6Om1p
ZFdvcmRCcmVhayhpbmxpbmVUZXh0SXRlbSwgZm9udENhc2NhZGUsIG92ZXJmbG93aW5nUnVuLmxv
Z2ljYWxXaWR0aCwgKmF2YWlsYWJsZVdpZHRoLCBsb2dpY2FsTGVmdCk7CisgICAgICAgICAgICBh
dXRvIG1pZFdvcmRCcmVhayA9IFRleHRVdGlsOjptaWRXb3JkQnJlYWsoaW5saW5lVGV4dEl0ZW0s
IGZvbnRDYXNjYWRlLCBjYW5kaWRhdGVSdW4ubG9naWNhbFdpZHRoLCAqYXZhaWxhYmxlV2lkdGgs
IGxvZ2ljYWxMZWZ0KTsKICAgICAgICAgICAgIHJldHVybiB7IG1pZFdvcmRCcmVhay5sZW5ndGgs
IG1pZFdvcmRCcmVhay5sb2dpY2FsV2lkdGggfTsKICAgICAgICAgfTsKICAgICAgICAgLy8gV2l0
aCBhcmJpdHJhcnkgYnJlYWtpbmcgdGhlcmUncyBhbHdheXMgYSB2YWxpZCBicmVha2luZyBwb3Np
dGlvbiAoZXZlbiBpZiBpdCBpcyBiZWZvcmUgdGhlIGZpcnN0IHBvc2l0aW9uKS4KICAgICAgICAg
cmV0dXJuIHRyeUJyZWFraW5nQXRBcmJpdHJhcnlQb3NpdGlvbigpOwogICAgIH0KKwogICAgIHJl
dHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5o
CmluZGV4IDlmZjA2MWQ2N2EzZDIwZThjNGJiYTFmY2M0YzgwNWZmOGJhMTE4YmIuLmMzYTRkOWUx
MGI4YjdkM2EyOGZkOWJjYjljNDFkZGI4ZTM5NzFlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2Vy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lQ29udGVudEJyZWFrZXIuaApAQCAtMTM0LDE0ICsxMzQsMTUgQEAgcHJpdmF0ZToKICAg
ICAgICAgc3RkOjpvcHRpb25hbDxCcmVha2luZ1Bvc2l0aW9uPiBicmVha2luZ1Bvc2l0aW9uIHsg
fTsgLy8gV2hlcmUgd2UgYWN0dWFsbHkgYnJlYWsgdGhpcyBvdmVyZmxvd2luZyBjb250ZW50Lgog
ICAgIH07CiAgICAgT3ZlcmZsb3dpbmdUZXh0Q29udGVudCBwcm9jZXNzT3ZlcmZsb3dpbmdDb250
ZW50V2l0aFRleHQoY29uc3QgQ29udGludW91c0NvbnRlbnQmLCBjb25zdCBMaW5lU3RhdHVzJikg
Y29uc3Q7Ci0gICAgc3RkOjpvcHRpb25hbDxQYXJ0aWFsUnVuPiB0cnlCcmVha2luZ1RleHRSdW4o
Y29uc3QgQ29udGludW91c0NvbnRlbnQ6OlJ1biYgb3ZlcmZsb3dSdW4sIElubGluZUxheW91dFVu
aXQgbG9naWNhbExlZnQsIHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gYXZhaWxhYmxl
V2lkdGgsIGJvb2wgaGFzV3JhcE9wcG9ydHVuaXR5QXRQcmV2aW91c1Bvc2l0aW9uKSBjb25zdDsK
KyAgICBzdGQ6Om9wdGlvbmFsPFBhcnRpYWxSdW4+IHRyeUJyZWFraW5nVGV4dFJ1bihjb25zdCBD
b250aW51b3VzQ29udGVudDo6UnVuTGlzdCYgcnVucywgc2l6ZV90IGNhbmRpZGF0ZVJ1bkluZGV4
LCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0LCBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91
dFVuaXQ+IGF2YWlsYWJsZVdpZHRoLCBib29sIGhhc1dyYXBPcHBvcnR1bml0eUF0UHJldmlvdXNQ
b3NpdGlvbikgY29uc3Q7CiAgICAgc3RkOjpvcHRpb25hbDxPdmVyZmxvd2luZ1RleHRDb250ZW50
OjpCcmVha2luZ1Bvc2l0aW9uPiB0cnlCcmVha2luZ092ZXJmbG93aW5nUnVuKGNvbnN0IExpbmVT
dGF0dXMmLCBjb25zdCBDb250aW51b3VzQ29udGVudDo6UnVuTGlzdCYsIHNpemVfdCBvdmVyZmxv
d2luZ1J1bkluZGV4LCBJbmxpbmVMYXlvdXRVbml0IG5vbk92ZXJmbG93aW5nQ29udGVudFdpZHRo
KSBjb25zdDsKICAgICBzdGQ6Om9wdGlvbmFsPE92ZXJmbG93aW5nVGV4dENvbnRlbnQ6OkJyZWFr
aW5nUG9zaXRpb24+IHRyeUJyZWFraW5nUHJldmlvdXNOb25PdmVyZmxvd2luZ1J1bnMoY29uc3Qg
TGluZVN0YXR1cyYsIGNvbnN0IENvbnRpbnVvdXNDb250ZW50OjpSdW5MaXN0Jiwgc2l6ZV90IG92
ZXJmbG93aW5nUnVuSW5kZXgsIElubGluZUxheW91dFVuaXQgbm9uT3ZlcmZsb3dpbmdDb250ZW50
V2lkdGgpIGNvbnN0OwogICAgIHN0ZDo6b3B0aW9uYWw8T3ZlcmZsb3dpbmdUZXh0Q29udGVudDo6
QnJlYWtpbmdQb3NpdGlvbj4gdHJ5QnJlYWtpbmdOZXh0T3ZlcmZsb3dpbmdSdW5zKGNvbnN0IExp
bmVTdGF0dXMmLCBjb25zdCBDb250aW51b3VzQ29udGVudDo6UnVuTGlzdCYsIHNpemVfdCBvdmVy
Zmxvd2luZ1J1bkluZGV4LCBJbmxpbmVMYXlvdXRVbml0IG5vbk92ZXJmbG93aW5nQ29udGVudFdp
ZHRoKSBjb25zdDsKIAogICAgIGVudW0gY2xhc3MgV29yZEJyZWFrUnVsZSB7Ci0gICAgICAgIEF0
QXJiaXRyYXJ5UG9zaXRpb24gICAgICAgID0gMSA8PCAwLAotICAgICAgICBBdEh5cGhlbmF0aW9u
T3Bwb3J0dW5pdGllcyA9IDEgPDwgMQorICAgICAgICBBdEFyYml0cmFyeVBvc2l0aW9uV2l0aGlu
V29yZHMgPSAxIDw8IDAsCisgICAgICAgIEF0QXJiaXRyYXJ5UG9zaXRpb24gICAgICAgICAgICA9
IDEgPDwgMSwKKyAgICAgICAgQXRIeXBoZW5hdGlvbk9wcG9ydHVuaXRpZXMgICAgID0gMSA8PCAy
CiAgICAgfTsKICAgICBPcHRpb25TZXQ8V29yZEJyZWFrUnVsZT4gd29yZEJyZWFrQmVoYXZpb3Io
Y29uc3QgUmVuZGVyU3R5bGUmLCBib29sIGhhc1dyYXBPcHBvcnR1bml0eUF0UHJldmlvdXNQb3Np
dGlvbikgY29uc3Q7CiAgICAgYm9vbCBzaG91bGRLZWVwRW5kT2ZMaW5lV2hpdGVzcGFjZShjb25z
dCBDb250aW51b3VzQ29udGVudCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI0YjY3Njg1ZmNiMDFiYjdlNTVl
ZWQyMDkwYWY3NTRiMzg5MDRjYzIuLmU2NzUxNTU1ZTIwNmRhMDc5MzEwYTUwY2NjZTEwZDA4YWM5
ZTlmMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0xMC0wNSAgQWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSB3b3JkLWJyZWFrOiBicmVhay1h
bGwgb25seSBhbGxvd3MgbWlkLXdvcmQgYXJiaXRyYXJ5IGJyZWFraW5nIHBvc2l0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMjQ3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0
YXRpb25zOgorCiAyMDIxLTEwLTA1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyODMzMzUpOiBNb21lbnR1bSBzY3JvbGxpbmcg
aXMgbm8gbG9uZ2VyIGxvY2tlZCB0byBhbiBheGlzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkZTc1
OWFhN2Q4OWEwODIzMDQ3ZDQzNWZkZTY4ZTk4Mzg4MzZhNGVhLi5lYjMwZTYzMDdhMTczNTBiYzdj
YTI3ZmVjYjIxYjk1NjE1YzhiYzJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI2MzIsMTIgKzI2
MzIsNiBAQCB3ZWJraXQub3JnL2IvMTg2MDQ1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbgogIyBvdmVyZmxvdy13cmFwOmFueXdoZXJl
IGZlYXR1cmUgaXMgbm90IGltcGxlbWVudGVkIGluIGxlZ2FjeSBsaW5lIGxheW91dC4KIHdlYmtp
dC5vcmcvYi8xOTUzNDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRl
eHQvb3ZlcmZsb3ctd3JhcC9vdmVyZmxvdy13cmFwLWFueXdoZXJlLTAwMy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTk1MzQ1IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy10ZXh0L292ZXJmbG93LXdyYXAvb3ZlcmZsb3ctd3JhcC1taW4tY29u
dGVudC1zaXplLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTk1
MzQ1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L3doaXRlLXNw
YWNlL2JyZWFrLXNwYWNlcy1iZWZvcmUtZmlyc3QtY2hhci0wMDYuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotCi13ZWJraXQub3JnL2IvMTk3Mjc3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy10ZXh0L3doaXRlLXNwYWNlL2JyZWFrLXNwYWNlcy0wMDguaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE5NzI3NyBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC93aGl0ZS1zcGFjZS9icmVhay1zcGFjZXMtYmVmb3Jl
LWZpcnN0LWNoYXItMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8x
OTcyNzcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvd2hpdGUt
c3BhY2UvYnJlYWstc3BhY2VzLWJlZm9yZS1maXJzdC1jaGFyLTAwNS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTk3Mjc3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy10ZXh0L3dvcmQtYnJlYWsvd29yZC1icmVhay1icmVhay1hbGwtMDE3Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzE5NzQwOSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC93b3JkLWJyZWFrL3dvcmQtYnJlYWst
YnJlYWstYWxsLTAxNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTk3
NDA5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L3dvcmQtYnJl
YWsvd29yZC1icmVhay1icmVhay1hbGwtMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KQEAg
LTQ0MzcsNyArNDQzMSw2IEBAIHdlYmtpdC5vcmcvYi8yMTQyOTAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvdGV4dC10cmFuc2Zvcm0vCiB3ZWJraXQub3JnL2Iv
MjE0MjkwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L3RleHQt
dHJhbnNmb3JtL3RleHQtdHJhbnNmb3JtLW11bHRpcGxlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0MjkwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy10ZXh0L3RleHQtdHJhbnNmb3JtL3RleHQtdHJhbnNmb3JtLXVwcGVybG93ZXIt
MDE2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQyOTAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvdGV4dC10cmFuc2Zvcm0vdGV4
dC10cmFuc2Zvcm0tdXBwZXJsb3dlci0wNDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
dGV4dC93aGl0ZS1zcGFjZS9icmVhay1zcGFjZXMtYmVmb3JlLWZpcnN0LWNoYXItMDE1Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQyOTAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvd2hpdGUtc3BhY2UvZW9sLXNwYWNlcy1iaWRp
LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0MjkwIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L3doaXRlLXNwYWNlL3NlZy1i
cmVhay10cmFuc2Zvcm1hdGlvbi0wMTguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4
dC93aGl0ZS1zcGFjZS9zZWctYnJlYWstdHJhbnNmb3JtYXRpb24tMDE5Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>