<?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>316235</bug_id>
          
          <creation_ts>2026-06-03 14:04:44 -0700</creation_ts>
          <short_desc>Canvas fillText with textAlign=center misplaces complex-shaped text</short_desc>
          <delta_ts>2026-06-03 19:47: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>New Bugs</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>kane3446</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2217350</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2026-06-03 14:04:44 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2217353</commentid>
    <comment_count>1</comment_count>
      <attachid>479975</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-06-03 14:08:51 -0700</bug_when>
    <thetext>Created attachment 479975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2217408</commentid>
    <comment_count>2</comment_count>
      <attachid>479976</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-06-03 16:00:13 -0700</bug_when>
    <thetext>Created attachment 479976
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2217464</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-06-03 19:39:18 -0700</bug_when>
    <thetext>Committed 314522@main (bbf3da027554): &lt;https://commits.webkit.org/314522@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 479976.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2217465</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2026-06-03 19:40:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/178682402&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2217474</commentid>
    <comment_count>5</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2026-06-03 19:47:13 -0700</bug_when>
    <thetext>*** Bug 316186 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>479975</attachid>
            <date>2026-06-03 14:08:51 -0700</date>
            <delta_ts>2026-06-03 16:00:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-316235-20260603140850.patch</filename>
            <type>text/plain</type>
            <size>6055</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA0ZjEyYmQ5MDQxYTI2ODYwZDhkNmRhM2ZmYmI5Zjg4N2E3N2VjYjJhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgMyBKdW4gMjAyNiAxMzo0Mjo1NSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIENhbnZhcyBm
aWxsVGV4dCB3aXRoIHRleHRBbGlnbj1jZW50ZXIgbWlzcGxhY2VzCiBjb21wbGV4LXNoYXBlZCB0
ZXh0IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTYyMzUKClJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICA8Y2FudmFzIGlkPWMgd2lkdGg9MzAwIGhlaWdodD0y
MDA+PC9jYW52YXM+CiAgPHNjcmlwdD4KICAgIGxldCBjdHggPSBjLmdldENvbnRleHQoIjJkIik7
CiAgICBjdHguZm9udCA9ICIxNTJweCBzZXJpZiI7CiAgICBjdHgudGV4dEFsaWduID0gImNlbnRl
ciI7CiAgICBjdHguZmlsbFRleHQoIlx1MEJCNSIsIDE1MCwgMTAwKTsKICA8L3NjcmlwdD4KClRo
ZSBUYW1pbCBnbHlwaCAoVSswQkI1KSBzaG91bGQgYmUgY2VudGVyZWQgaG9yaXpvbnRhbGx5IG9u
IHg9MTUwLgpJbnN0ZWFkIGl0IHdhcyBsZWZ0LWFsaWduZWQgYXQgeD0xNTAgLSBjYW52YXMgdHJl
YXRlZCB0aGUgdGV4dCBhcyB6ZXJvCndpZHRoLgoKVGhlIGNhbnZhcyBzaGFwZWQtdGV4dCBjYWNo
ZSByZWFkcyByZXN1bHQud2lkdGggZnJvbQpGb250Q2FzY2FkZTo6bGF5b3V0Q29tcGxleFRleHQu
IFRoYXQgZnVuY3Rpb24gY29tcHV0ZWQgdGhlIHNlZ21lbnQgd2lkdGgKYXMgY29udHJvbGxlci50
b3RhbEFkdmFuY2UoKS53aWR0aCgpIGJlZm9yZSBhbmQgYWZ0ZXIgYWR2YW5jaW5nIHRoZQpDb21w
bGV4VGV4dENvbnRyb2xsZXIsIGJ1dCB0b3RhbEFkdmFuY2UoKSBpcyB0aGUgZnVsbCBydW4gdG90
YWwgLSBpdCBpcwpwb3B1bGF0ZWQgdXAgZnJvbnQgaW4gdGhlIGNvbnRyb2xsZXIncyBjb25zdHJ1
Y3RvciBhbmQgZG9lcyBub3QgY2hhbmdlCmFjcm9zcyBhZHZhbmNlKCkgY2FsbHMuIFNvIHRoZSBk
aWZmZXJlbmNlIHdhcyBhbHdheXMgemVybyBmb3IgYW55IHJ1bgp0aGF0IHRvb2sgdGhlIGNvbXBs
ZXggc2hhcGluZyBwYXRoLiBQcmUtY2FjaGUgY2FsbGVycyBvbmx5IGNvbnN1bWVkIHRoZQpnbHlw
aCBidWZmZXIgYW5kIGlnbm9yZWQgcmVzdWx0LndpZHRoLCBzbyB0aGUgZGVmZWN0IHdhcyBsYXRl
bnQuCgpUaGUgZml4IG1pcnJvcnMgbGF5b3V0U2ltcGxlVGV4dDogdXNlIGNvbnRyb2xsZXIucnVu
V2lkdGhTb0ZhcigpICh0aGUKcnVubmluZyB0YWxseSB0aGF0IGdyb3dzIHdpdGggZWFjaCBhZHZh
bmNlKCkgY2FsbCkgaW5zdGVhZCBvZgp0b3RhbEFkdmFuY2UoKS53aWR0aCgpLiBUaGUgc2ltcGxl
IHBhdGggYWxyZWFkeSBkaWQgdGhpcyBjb3JyZWN0bHkgdmlhCldpZHRoSXRlcmF0b3I6OnJ1bldp
ZHRoU29GYXIoKSwgd2hpY2ggaXMgd2h5IExhdGluIHRleHQgY2VudGVyZWQKY29ycmVjdGx5IHdo
aWxlIFRhbWlsL0RldmFuYWdhcmkvQXJhYmljL2Vtb2ppIGRpZCBub3QuCgoqIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcDoKKFdlYkNvcmU6OkZvbnRDYXNj
YWRlOjpsYXlvdXRDb21wbGV4VGV4dCk6CiogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2NhbnZhcy9lbGVtZW50L3RleHQvMmQudGV4dC5kcmF3LmFsaWdu
LmNlbnRlci5jb21wbGV4LXNoYXBpbmcuaHRtbDogQWRkZWQuCi0tLQogLi4uL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwIHwgIDQgKy0KIC4uLmV4dC5kcmF3LmFsaWdu
LmNlbnRlci5jb21wbGV4LXNoYXBpbmcuaHRtbCB8IDU4ICsrKysrKysrKysrKysrKysrKysKIDIg
ZmlsZXMgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvY2FudmFzL2VsZW1lbnQvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVyLmNvbXBsZXgt
c2hhcGluZy5odG1sCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuY3BwCmluZGV4IDM4NWQzNmM3OWFmMS4uNjczOWI3NGJjZTU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCkBAIC0xNTE4
LDEzICsxNTE4LDEzIEBAIFRleHRTaGFwaW5nUmVzdWx0IEZvbnRDYXNjYWRlOjpsYXlvdXRDb21w
bGV4VGV4dChjb25zdCBUZXh0UnVuJiBydW4sIHVuc2lnbmVkIGZyCiAgICAgQ29tcGxleFRleHRD
b250cm9sbGVyIGNvbnRyb2xsZXIoKnRoaXMsIHJ1biwgZmFsc2UsIDAsIGZvclRleHRFbXBoYXNp
cyA9PSBGb3JUZXh0RW1waGFzaXM6Olllcyk7CiAgICAgR2x5cGhCdWZmZXIgZ2x5cGhCdWZmZXJG
b3JTdGFydGluZ0luZGV4OwogICAgIGNvbnRyb2xsZXIuYWR2YW5jZShmcm9tLCAmZ2x5cGhCdWZm
ZXJGb3JTdGFydGluZ0luZGV4KTsKLSAgICBmbG9hdCB3aWR0aEJlZm9yZVNlZ21lbnQgPSBjb250
cm9sbGVyLnRvdGFsQWR2YW5jZSgpLndpZHRoKCk7CisgICAgZmxvYXQgd2lkdGhCZWZvcmVTZWdt
ZW50ID0gY29udHJvbGxlci5ydW5XaWR0aFNvRmFyKCk7CiAgICAgY29udHJvbGxlci5hZHZhbmNl
KHRvLCAmcmVzdWx0LmdseXBoQnVmZmVyKTsKIAogICAgIGlmIChyZXN1bHQuZ2x5cGhCdWZmZXIu
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gcmVzdWx0OwogCi0gICAgcmVzdWx0LndpZHRoID0g
Y29udHJvbGxlci50b3RhbEFkdmFuY2UoKS53aWR0aCgpIC0gd2lkdGhCZWZvcmVTZWdtZW50Owor
ICAgIHJlc3VsdC53aWR0aCA9IGNvbnRyb2xsZXIucnVuV2lkdGhTb0ZhcigpIC0gd2lkdGhCZWZv
cmVTZWdtZW50OwogCiAgICAgaWYgKHJ1bi5ydGwoKSkgewogICAgICAgICAvLyBFeHBsb2l0IHRo
ZSBmYWN0IHRoYXQgdGhlIHN1bSBvZiB0aGUgcGFpbnQgYWR2YW5jZXMgaXMgZXF1YWwgdG8KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9jYW52YXMvZWxlbWVudC90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXIuY29tcGxleC1z
aGFwaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvY2FudmFzL2VsZW1lbnQvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVyLmNvbXBs
ZXgtc2hhcGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u
ZDdjZmJjMTY5YzMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2NhbnZhcy9lbGVtZW50L3RleHQvMmQudGV4dC5kcmF3
LmFsaWduLmNlbnRlci5jb21wbGV4LXNoYXBpbmcuaHRtbApAQCAtMCwwICsxLDU4IEBACis8IURP
Q1RZUEUgaHRtbD4KKzx0aXRsZT5DYW52YXMgZmlsbFRleHQgd2l0aCB0ZXh0QWxpZ249Y2VudGVy
L3JpZ2h0IGhvbm9ycyB3aWR0aCBvZiBjb21wbGV4LXNoYXBlZCBnbHlwaHM8L3RpdGxlPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGNhbnZhcyBp
ZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjIwMCI+PC9jYW52YXM+Cis8c2NyaXB0Pgor
ZnVuY3Rpb24gcGl4ZWxFeHRlbnRzKGN0eCwgd2lkdGgsIGhlaWdodCkgeworICAgIGNvbnN0IGRh
dGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIHdpZHRoLCBoZWlnaHQpLmRhdGE7CisgICAgbGV0
IG1pblggPSB3aWR0aCwgbWF4WCA9IC0xOworICAgIGZvciAobGV0IHkgPSAwOyB5IDwgaGVpZ2h0
OyArK3kpIHsKKyAgICAgICAgZm9yIChsZXQgeCA9IDA7IHggPCB3aWR0aDsgKyt4KSB7CisgICAg
ICAgICAgICBpZiAoZGF0YVsoeSAqIHdpZHRoICsgeCkgKiA0ICsgM10gPiAwKSB7CisgICAgICAg
ICAgICAgICAgaWYgKHggPCBtaW5YKSBtaW5YID0geDsKKyAgICAgICAgICAgICAgICBpZiAoeCA+
IG1heFgpIG1heFggPSB4OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIHJl
dHVybiB7IG1pblgsIG1heFggfTsKK30KKworZnVuY3Rpb24gcGl4ZWxFeHRlbnRzRm9yQWxpZ24o
YWxpZ24sIHRleHQsIHgpIHsKKyAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY2FudmFzIik7CisgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoIjJkIik7
CisgICAgY3R4LmNsZWFyUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOwor
ICAgIGN0eC5mb250ID0gIjEwMHB4IHNlcmlmIjsKKyAgICBjdHgudGV4dEFsaWduID0gYWxpZ247
CisgICAgY3R4LmZpbGxTdHlsZSA9ICIjMDAwIjsKKyAgICBjdHguZmlsbFRleHQodGV4dCwgeCwg
MTIwKTsKKyAgICByZXR1cm4gcGl4ZWxFeHRlbnRzKGN0eCwgY2FudmFzLndpZHRoLCBjYW52YXMu
aGVpZ2h0KTsKK30KKworLy8gVGFtaWwgIuCutSIgZXhlcmNpc2VzIENvbXBsZXhUZXh0Q29udHJv
bGxlcidzIHNoYXBpbmcgcGF0aC4gQmVmb3JlIHRoZSBmaXgsCisvLyB0aGUgY2FjaGVkIHdpZHRo
IHJldHVybmVkIHRvIGNhbnZhcyB3YXMgemVybywgc28gdGV4dEFsaWduPWNlbnRlci9yaWdodAor
Ly8gYmVoYXZlZCBhcyB0ZXh0QWxpZ249bGVmdC4KK2NvbnN0IHRleHQgPSAi4K61IjsKK2NvbnN0
IHJlcXVlc3RlZENlbnRlciA9IDIwMDsKKwordGVzdCgoKSA9PiB7CisgICAgY29uc3QgbGVmdCA9
IHBpeGVsRXh0ZW50c0ZvckFsaWduKCJsZWZ0IiwgdGV4dCwgMCk7CisgICAgYXNzZXJ0X2dyZWF0
ZXJfdGhhbihsZWZ0Lm1heFgsIGxlZnQubWluWCwgIkdseXBoIG11c3QgcmVuZGVyIHRvIGNvbXBh
cmUgZXh0ZW50cyIpOworICAgIGNvbnN0IGdseXBoV2lkdGggPSBsZWZ0Lm1heFggLSBsZWZ0Lm1p
blggKyAxOworCisgICAgY29uc3QgY2VudGVyID0gcGl4ZWxFeHRlbnRzRm9yQWxpZ24oImNlbnRl
ciIsIHRleHQsIHJlcXVlc3RlZENlbnRlcik7CisgICAgY29uc3Qgb2JzZXJ2ZWRNaWQgPSAoY2Vu
dGVyLm1pblggKyBjZW50ZXIubWF4WCkgLyAyOworICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKG9i
c2VydmVkTWlkLCByZXF1ZXN0ZWRDZW50ZXIsIGdseXBoV2lkdGggKiAwLjEsCisgICAgICAgICJ0
ZXh0QWxpZ249Y2VudGVyIG11c3QgcGxhY2UgdGhlIGdseXBoIGNlbnRyb2lkIGF0IHRoZSByZXF1
ZXN0ZWQgeCIpOworfSwgImZpbGxUZXh0IHdpdGggdGV4dEFsaWduPWNlbnRlciBjZW50ZXJzIGNv
bXBsZXgtc2hhcGVkIHRleHQgb24gdGhlIHJlcXVlc3RlZCB4Iik7CisKK3Rlc3QoKCkgPT4gewor
ICAgIGNvbnN0IGxlZnQgPSBwaXhlbEV4dGVudHNGb3JBbGlnbigibGVmdCIsIHRleHQsIDApOwor
ICAgIGFzc2VydF9ncmVhdGVyX3RoYW4obGVmdC5tYXhYLCBsZWZ0Lm1pblgsICJHbHlwaCBtdXN0
IHJlbmRlciB0byBjb21wYXJlIGV4dGVudHMiKTsKKyAgICBjb25zdCBnbHlwaFdpZHRoID0gbGVm
dC5tYXhYIC0gbGVmdC5taW5YICsgMTsKKworICAgIGNvbnN0IHJpZ2h0ID0gcGl4ZWxFeHRlbnRz
Rm9yQWxpZ24oInJpZ2h0IiwgdGV4dCwgcmVxdWVzdGVkQ2VudGVyKTsKKyAgICBhc3NlcnRfYXBw
cm94X2VxdWFscyhyaWdodC5tYXhYLCByZXF1ZXN0ZWRDZW50ZXIsIGdseXBoV2lkdGggKiAwLjEs
CisgICAgICAgICJ0ZXh0QWxpZ249cmlnaHQgbXVzdCBwbGFjZSB0aGUgZ2x5cGgncyByaWdodCBl
ZGdlIGF0IHRoZSByZXF1ZXN0ZWQgeCIpOworfSwgImZpbGxUZXh0IHdpdGggdGV4dEFsaWduPXJp
Z2h0IHJpZ2h0LWFsaWducyBjb21wbGV4LXNoYXBlZCB0ZXh0IG9uIHRoZSByZXF1ZXN0ZWQgeCIp
OworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>479976</attachid>
            <date>2026-06-03 16:00:13 -0700</date>
            <delta_ts>2026-06-03 19:39:19 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-316235-20260603160012.patch</filename>
            <type>text/plain</type>
            <size>7047</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBhOGY4NWNlMjI1NmY2ZThhZmEyYTllN2EzZmU4MDlmNDE3MGFkYzMzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgMyBKdW4gMjAyNiAxMzo0Mjo1NSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIENhbnZhcyBm
aWxsVGV4dCB3aXRoIHRleHRBbGlnbj1jZW50ZXIgbWlzcGxhY2VzCiBjb21wbGV4LXNoYXBlZCB0
ZXh0IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTYyMzUKClJldmll
d2VkIGJ5IEFudHRpIEtvaXZpc3RvLgoKICA8Y2FudmFzIGlkPWMgd2lkdGg9MzAwIGhlaWdodD0y
MDA+PC9jYW52YXM+CiAgPHNjcmlwdD4KICAgIGxldCBjdHggPSBjLmdldENvbnRleHQoIjJkIik7
CiAgICBjdHguZm9udCA9ICIxNTJweCBzZXJpZiI7CiAgICBjdHgudGV4dEFsaWduID0gImNlbnRl
ciI7CiAgICBjdHguZmlsbFRleHQoIlx1MEJCNSIsIDE1MCwgMTAwKTsKICA8L3NjcmlwdD4KClRo
ZSBUYW1pbCBnbHlwaCAoVSswQkI1KSBzaG91bGQgYmUgY2VudGVyZWQgaG9yaXpvbnRhbGx5IG9u
IHg9MTUwLgpJbnN0ZWFkIGl0IHdhcyBsZWZ0LWFsaWduZWQgYXQgeD0xNTAgLSBjYW52YXMgdHJl
YXRlZCB0aGUgdGV4dCBhcyB6ZXJvCndpZHRoLgoKVGhlIGNhbnZhcyBzaGFwZWQtdGV4dCBjYWNo
ZSByZWFkcyByZXN1bHQud2lkdGggZnJvbQpGb250Q2FzY2FkZTo6bGF5b3V0Q29tcGxleFRleHQu
IFRoYXQgZnVuY3Rpb24gY29tcHV0ZWQgdGhlIHNlZ21lbnQgd2lkdGgKYXMgY29udHJvbGxlci50
b3RhbEFkdmFuY2UoKS53aWR0aCgpIGJlZm9yZSBhbmQgYWZ0ZXIgYWR2YW5jaW5nIHRoZQpDb21w
bGV4VGV4dENvbnRyb2xsZXIsIGJ1dCB0b3RhbEFkdmFuY2UoKSBpcyB0aGUgZnVsbCBydW4gdG90
YWwgLSBpdCBpcwpwb3B1bGF0ZWQgdXAgZnJvbnQgaW4gdGhlIGNvbnRyb2xsZXIncyBjb25zdHJ1
Y3RvciBhbmQgZG9lcyBub3QgY2hhbmdlCmFjcm9zcyBhZHZhbmNlKCkgY2FsbHMuIFNvIHRoZSBk
aWZmZXJlbmNlIHdhcyBhbHdheXMgemVybyBmb3IgYW55IHJ1bgp0aGF0IHRvb2sgdGhlIGNvbXBs
ZXggc2hhcGluZyBwYXRoLiBQcmUtY2FjaGUgY2FsbGVycyBvbmx5IGNvbnN1bWVkIHRoZQpnbHlw
aCBidWZmZXIgYW5kIGlnbm9yZWQgcmVzdWx0LndpZHRoLCBzbyB0aGUgZGVmZWN0IHdhcyBsYXRl
bnQuCgpUaGUgZml4IG1pcnJvcnMgbGF5b3V0U2ltcGxlVGV4dDogdXNlIGNvbnRyb2xsZXIucnVu
V2lkdGhTb0ZhcigpICh0aGUKcnVubmluZyB0YWxseSB0aGF0IGdyb3dzIHdpdGggZWFjaCBhZHZh
bmNlKCkgY2FsbCkgaW5zdGVhZCBvZgp0b3RhbEFkdmFuY2UoKS53aWR0aCgpLiBUaGUgc2ltcGxl
IHBhdGggYWxyZWFkeSBkaWQgdGhpcyBjb3JyZWN0bHkgdmlhCldpZHRoSXRlcmF0b3I6OnJ1bldp
ZHRoU29GYXIoKSwgd2hpY2ggaXMgd2h5IExhdGluIHRleHQgY2VudGVyZWQKY29ycmVjdGx5IHdo
aWxlIFRhbWlsL0RldmFuYWdhcmkvQXJhYmljL2Vtb2ppIGRpZCBub3QuCgoqIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jYW52YXMvZWxlbWVudC90ZXh0
LzJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXIuY29tcGxleC1zaGFwaW5nLWV4cGVjdGVkLnR4dDog
QWRkZWQuCiogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2NhbnZhcy9lbGVtZW50L3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmNlbnRlci5jb21wbGV4LXNo
YXBpbmcuaHRtbDogQWRkZWQuCiogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuY3BwOgooV2ViQ29yZTo6Rm9udENhc2NhZGU6OmxheW91dENvbXBsZXhUZXh0IGNv
bnN0KToKLS0tCiAuLi4vV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAg
fCAgNCArLQogLi4uLmFsaWduLmNlbnRlci5jb21wbGV4LXNoYXBpbmctZXhwZWN0ZWQudHh0IHwg
IDQgKysKIC4uLmV4dC5kcmF3LmFsaWduLmNlbnRlci5jb21wbGV4LXNoYXBpbmcuaHRtbCB8IDU4
ICsrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwg
MiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY2FudmFzL2VsZW1lbnQvdGV4dC8yZC50ZXh0LmRy
YXcuYWxpZ24uY2VudGVyLmNvbXBsZXgtc2hhcGluZy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
Y2FudmFzL2VsZW1lbnQvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVyLmNvbXBsZXgtc2hh
cGluZy5odG1sCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwCmluZGV4IDM4NWQzNmM3OWFmMS4uNjczOWI3NGJjZTU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCkBAIC0xNTE4LDEz
ICsxNTE4LDEzIEBAIFRleHRTaGFwaW5nUmVzdWx0IEZvbnRDYXNjYWRlOjpsYXlvdXRDb21wbGV4
VGV4dChjb25zdCBUZXh0UnVuJiBydW4sIHVuc2lnbmVkIGZyCiAgICAgQ29tcGxleFRleHRDb250
cm9sbGVyIGNvbnRyb2xsZXIoKnRoaXMsIHJ1biwgZmFsc2UsIDAsIGZvclRleHRFbXBoYXNpcyA9
PSBGb3JUZXh0RW1waGFzaXM6Olllcyk7CiAgICAgR2x5cGhCdWZmZXIgZ2x5cGhCdWZmZXJGb3JT
dGFydGluZ0luZGV4OwogICAgIGNvbnRyb2xsZXIuYWR2YW5jZShmcm9tLCAmZ2x5cGhCdWZmZXJG
b3JTdGFydGluZ0luZGV4KTsKLSAgICBmbG9hdCB3aWR0aEJlZm9yZVNlZ21lbnQgPSBjb250cm9s
bGVyLnRvdGFsQWR2YW5jZSgpLndpZHRoKCk7CisgICAgZmxvYXQgd2lkdGhCZWZvcmVTZWdtZW50
ID0gY29udHJvbGxlci5ydW5XaWR0aFNvRmFyKCk7CiAgICAgY29udHJvbGxlci5hZHZhbmNlKHRv
LCAmcmVzdWx0LmdseXBoQnVmZmVyKTsKIAogICAgIGlmIChyZXN1bHQuZ2x5cGhCdWZmZXIuaXNF
bXB0eSgpKQogICAgICAgICByZXR1cm4gcmVzdWx0OwogCi0gICAgcmVzdWx0LndpZHRoID0gY29u
dHJvbGxlci50b3RhbEFkdmFuY2UoKS53aWR0aCgpIC0gd2lkdGhCZWZvcmVTZWdtZW50OworICAg
IHJlc3VsdC53aWR0aCA9IGNvbnRyb2xsZXIucnVuV2lkdGhTb0ZhcigpIC0gd2lkdGhCZWZvcmVT
ZWdtZW50OwogCiAgICAgaWYgKHJ1bi5ydGwoKSkgewogICAgICAgICAvLyBFeHBsb2l0IHRoZSBm
YWN0IHRoYXQgdGhlIHN1bSBvZiB0aGUgcGFpbnQgYWR2YW5jZXMgaXMgZXF1YWwgdG8KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
YW52YXMvZWxlbWVudC90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXIuY29tcGxleC1zaGFw
aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9jYW52YXMvZWxlbWVudC90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXIu
Y29tcGxleC1zaGFwaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAuLmY4ZjYxMGY0YmM1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jYW52YXMvZWxlbWVudC90ZXh0
LzJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXIuY29tcGxleC1zaGFwaW5nLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDQgQEAKKworUEFTUyBmaWxsVGV4dCB3aXRoIHRleHRBbGlnbj1jZW50ZXIgY2Vu
dGVycyBjb21wbGV4LXNoYXBlZCB0ZXh0IG9uIHRoZSByZXF1ZXN0ZWQgeAorUEFTUyBmaWxsVGV4
dCB3aXRoIHRleHRBbGlnbj1yaWdodCByaWdodC1hbGlnbnMgY29tcGxleC1zaGFwZWQgdGV4dCBv
biB0aGUgcmVxdWVzdGVkIHgKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2NhbnZhcy9lbGVtZW50L3RleHQvMmQudGV4dC5kcmF3
LmFsaWduLmNlbnRlci5jb21wbGV4LXNoYXBpbmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jYW52YXMvZWxlbWVudC90ZXh0LzJkLnRleHQu
ZHJhdy5hbGlnbi5jZW50ZXIuY29tcGxleC1zaGFwaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kN2NmYmMxNjljMzIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY2FudmFzL2Vs
ZW1lbnQvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVyLmNvbXBsZXgtc2hhcGluZy5odG1s
CkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkNhbnZhcyBmaWxsVGV4
dCB3aXRoIHRleHRBbGlnbj1jZW50ZXIvcmlnaHQgaG9ub3JzIHdpZHRoIG9mIGNvbXBsZXgtc2hh
cGVkIGdseXBoczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iMjAw
Ij48L2NhbnZhcz4KKzxzY3JpcHQ+CitmdW5jdGlvbiBwaXhlbEV4dGVudHMoY3R4LCB3aWR0aCwg
aGVpZ2h0KSB7CisgICAgY29uc3QgZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgd2lkdGgs
IGhlaWdodCkuZGF0YTsKKyAgICBsZXQgbWluWCA9IHdpZHRoLCBtYXhYID0gLTE7CisgICAgZm9y
IChsZXQgeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgeworICAgICAgICBmb3IgKGxldCB4ID0gMDsg
eCA8IHdpZHRoOyArK3gpIHsKKyAgICAgICAgICAgIGlmIChkYXRhWyh5ICogd2lkdGggKyB4KSAq
IDQgKyAzXSA+IDApIHsKKyAgICAgICAgICAgICAgICBpZiAoeCA8IG1pblgpIG1pblggPSB4Owor
ICAgICAgICAgICAgICAgIGlmICh4ID4gbWF4WCkgbWF4WCA9IHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHsgbWluWCwgbWF4WCB9OworfQorCitmdW5jdGlv
biBwaXhlbEV4dGVudHNGb3JBbGlnbihhbGlnbiwgdGV4dCwgeCkgeworICAgIGNvbnN0IGNhbnZh
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKKyAgICBjb25zdCBjdHggPSBj
YW52YXMuZ2V0Q29udGV4dCgiMmQiKTsKKyAgICBjdHguY2xlYXJSZWN0KDAsIDAsIGNhbnZhcy53
aWR0aCwgY2FudmFzLmhlaWdodCk7CisgICAgY3R4LmZvbnQgPSAiMTAwcHggc2VyaWYiOworICAg
IGN0eC50ZXh0QWxpZ24gPSBhbGlnbjsKKyAgICBjdHguZmlsbFN0eWxlID0gIiMwMDAiOworICAg
IGN0eC5maWxsVGV4dCh0ZXh0LCB4LCAxMjApOworICAgIHJldHVybiBwaXhlbEV4dGVudHMoY3R4
LCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOworfQorCisvLyBUYW1pbCAi4K61IiBleGVy
Y2lzZXMgQ29tcGxleFRleHRDb250cm9sbGVyJ3Mgc2hhcGluZyBwYXRoLiBCZWZvcmUgdGhlIGZp
eCwKKy8vIHRoZSBjYWNoZWQgd2lkdGggcmV0dXJuZWQgdG8gY2FudmFzIHdhcyB6ZXJvLCBzbyB0
ZXh0QWxpZ249Y2VudGVyL3JpZ2h0CisvLyBiZWhhdmVkIGFzIHRleHRBbGlnbj1sZWZ0LgorY29u
c3QgdGV4dCA9ICLgrrUiOworY29uc3QgcmVxdWVzdGVkQ2VudGVyID0gMjAwOworCit0ZXN0KCgp
ID0+IHsKKyAgICBjb25zdCBsZWZ0ID0gcGl4ZWxFeHRlbnRzRm9yQWxpZ24oImxlZnQiLCB0ZXh0
LCAwKTsKKyAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGxlZnQubWF4WCwgbGVmdC5taW5YLCAiR2x5
cGggbXVzdCByZW5kZXIgdG8gY29tcGFyZSBleHRlbnRzIik7CisgICAgY29uc3QgZ2x5cGhXaWR0
aCA9IGxlZnQubWF4WCAtIGxlZnQubWluWCArIDE7CisKKyAgICBjb25zdCBjZW50ZXIgPSBwaXhl
bEV4dGVudHNGb3JBbGlnbigiY2VudGVyIiwgdGV4dCwgcmVxdWVzdGVkQ2VudGVyKTsKKyAgICBj
b25zdCBvYnNlcnZlZE1pZCA9IChjZW50ZXIubWluWCArIGNlbnRlci5tYXhYKSAvIDI7CisgICAg
YXNzZXJ0X2FwcHJveF9lcXVhbHMob2JzZXJ2ZWRNaWQsIHJlcXVlc3RlZENlbnRlciwgZ2x5cGhX
aWR0aCAqIDAuMSwKKyAgICAgICAgInRleHRBbGlnbj1jZW50ZXIgbXVzdCBwbGFjZSB0aGUgZ2x5
cGggY2VudHJvaWQgYXQgdGhlIHJlcXVlc3RlZCB4Iik7Cit9LCAiZmlsbFRleHQgd2l0aCB0ZXh0
QWxpZ249Y2VudGVyIGNlbnRlcnMgY29tcGxleC1zaGFwZWQgdGV4dCBvbiB0aGUgcmVxdWVzdGVk
IHgiKTsKKwordGVzdCgoKSA9PiB7CisgICAgY29uc3QgbGVmdCA9IHBpeGVsRXh0ZW50c0ZvckFs
aWduKCJsZWZ0IiwgdGV4dCwgMCk7CisgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihsZWZ0Lm1heFgs
IGxlZnQubWluWCwgIkdseXBoIG11c3QgcmVuZGVyIHRvIGNvbXBhcmUgZXh0ZW50cyIpOworICAg
IGNvbnN0IGdseXBoV2lkdGggPSBsZWZ0Lm1heFggLSBsZWZ0Lm1pblggKyAxOworCisgICAgY29u
c3QgcmlnaHQgPSBwaXhlbEV4dGVudHNGb3JBbGlnbigicmlnaHQiLCB0ZXh0LCByZXF1ZXN0ZWRD
ZW50ZXIpOworICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKHJpZ2h0Lm1heFgsIHJlcXVlc3RlZENl
bnRlciwgZ2x5cGhXaWR0aCAqIDAuMSwKKyAgICAgICAgInRleHRBbGlnbj1yaWdodCBtdXN0IHBs
YWNlIHRoZSBnbHlwaCdzIHJpZ2h0IGVkZ2UgYXQgdGhlIHJlcXVlc3RlZCB4Iik7Cit9LCAiZmls
bFRleHQgd2l0aCB0ZXh0QWxpZ249cmlnaHQgcmlnaHQtYWxpZ25zIGNvbXBsZXgtc2hhcGVkIHRl
eHQgb24gdGhlIHJlcXVlc3RlZCB4Iik7Cis8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>