<?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>238285</bug_id>
          
          <creation_ts>2022-03-23 13:16:44 -0700</creation_ts>
          <short_desc>Devirtualize RenderText::width</short_desc>
          <delta_ts>2022-03-24 06:49:17 -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>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</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>1854359</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-03-23 13:16:44 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854360</commentid>
    <comment_count>1</comment_count>
      <attachid>455541</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-03-23 13:20:05 -0700</bug_when>
    <thetext>Created attachment 455541
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854375</commentid>
    <comment_count>2</comment_count>
      <attachid>455543</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-03-23 13:36:12 -0700</bug_when>
    <thetext>Created attachment 455543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854664</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-24 06:48:51 -0700</bug_when>
    <thetext>Committed r291793 (248821@main): &lt;https://commits.webkit.org/248821@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455543.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854665</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-24 06:49:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/90764562&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455541</attachid>
            <date>2022-03-23 13:20:05 -0700</date>
            <delta_ts>2022-03-23 13:36:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238285-20220323132004.patch</filename>
            <type>text/plain</type>
            <size>10337</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjExMjY4OThiZDI0Y2Fm
YWE2ODVjZGY2YzIwMjVkMzZkNjcyZDQwNC4uODM3YmU2YjQ1YmU0Y2IwMmEzYWVjMDc2MmY4ZTY1
NWJkZThhNTQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTAzLTIzICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBEZXZpcnR1YWxpemUgUmVuZGVy
VGV4dDo6d2lkdGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzODI4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlbmRlckNvbWJpbmVUZXh0IGhhbmRsaW5nIGlzIG1vdmVkIHRvIFJlbmRlclRleHQgKHdl
IGFscmVhZHkgaGFuZGxlIGNvbWJpbmUgdGV4dCBpbiBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNo
ZSkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQ29tYmluZVRleHQ6OmNvbWJpbmVUZXh0SWZOZWVkZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQ29tYmluZVRleHQ6OndpZHRoIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21iaW5lVGV4dFdpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OndpZHRoRnJvbUNhY2hlIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OndpZHRoIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGV4dC5oOgorCiAyMDIyLTAzLTIyICBBbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIERvIG5vdCBjb25zdHJ1Y3QgYSBUZXh0
UnVuIGZvciBtZWFzdXJpbmcgYSBzaW5nbGUgd2hpdGVzcGFjZSB3aGVuIHNpbXBsaWZpZWQgY29u
dGVudCBtZWFzdXJpbmcgY2FuIGJlIHVzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQ29tYmluZVRleHQuY3BwCmluZGV4IDZlY2MwZGUzOTcyZDI3OTA2M2YzYzVlNzM3YTc1
ODgxM2Y3NDNiNDAuLmJhYmViZmY4MTA5YTdmMWM5OWQ1ODkxYmMxYTJhOWRlNDk2OTJiNzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmNwcApAQCAt
NjgsMTQgKzY4LDYgQEAgdm9pZCBSZW5kZXJDb21iaW5lVGV4dDo6c2V0UmVuZGVyZWRUZXh0KGNv
bnN0IFN0cmluZyYgdGV4dCkKICAgICBjb21iaW5lVGV4dElmTmVlZGVkKCk7CiB9CiAKLWZsb2F0
IFJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgs
IGNvbnN0IEZvbnRDYXNjYWRlJiBmb250LCBmbG9hdCB4UG9zaXRpb24sIEhhc2hTZXQ8Y29uc3Qg
Rm9udCo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25z
dAotewotICAgIGlmIChtX2lzQ29tYmluZWQpCi0gICAgICAgIHJldHVybiAhbGVuZ3RoID8gMCA6
IGZvbnQuc2l6ZSgpOwotCi0gICAgcmV0dXJuIFJlbmRlclRleHQ6OndpZHRoKGZyb20sIGxlbmd0
aCwgZm9udCwgeFBvc2l0aW9uLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93KTsKLX0KLQog
c3RkOjpvcHRpb25hbDxGbG9hdFBvaW50PiBSZW5kZXJDb21iaW5lVGV4dDo6Y29tcHV0ZVRleHRP
cmlnaW4oY29uc3QgRmxvYXRSZWN0JiBib3hSZWN0KSBjb25zdAogewogICAgIGlmICghbV9pc0Nv
bWJpbmVkKQpAQCAtMTQ4LDcgKzE0MCw3IEBAIHZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmNvbWJp
bmVUZXh0SWZOZWVkZWQoKQogICAgICAgICAgICAgY29tcHJlc3NlZEZvbnQudXBkYXRlKGZvbnRT
ZWxlY3Rvcik7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGdseXBoT3ZlcmZsb3cubGVmdCA9
IGdseXBoT3ZlcmZsb3cudG9wID0gZ2x5cGhPdmVyZmxvdy5yaWdodCA9IGdseXBoT3ZlcmZsb3cu
Ym90dG9tID0gMDsKLSAgICAgICAgICAgIGZsb2F0IHJ1bldpZHRoID0gUmVuZGVyVGV4dDo6d2lk
dGgoMCwgdGV4dCgpLmxlbmd0aCgpLCBjb21wcmVzc2VkRm9udCwgMCwgbnVsbHB0ciwgJmdseXBo
T3ZlcmZsb3cpOworICAgICAgICAgICAgZmxvYXQgcnVuV2lkdGggPSB3aWR0aCgwLCB0ZXh0KCku
bGVuZ3RoKCksIGNvbXByZXNzZWRGb250LCAwLCBudWxscHRyLCAmZ2x5cGhPdmVyZmxvdyk7CiAg
ICAgICAgICAgICBpZiAocnVuV2lkdGggPD0gZW1XaWR0aCkgewogICAgICAgICAgICAgICAgIGNv
bWJpbmVkVGV4dFdpZHRoID0gcnVuV2lkdGg7CiAgICAgICAgICAgICAgICAgbV9pc0NvbWJpbmVk
ID0gdHJ1ZTsKQEAgLTE3OCw3ICsxNzAsNyBAQCB2b2lkIFJlbmRlckNvbWJpbmVUZXh0Ojpjb21i
aW5lVGV4dElmTmVlZGVkKCkKICAgICAgICAgICAgIGNvbXByZXNzZWRGb250LnVwZGF0ZShmb250
U2VsZWN0b3IpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBnbHlwaE92ZXJmbG93LmxlZnQg
PSBnbHlwaE92ZXJmbG93LnRvcCA9IGdseXBoT3ZlcmZsb3cucmlnaHQgPSBnbHlwaE92ZXJmbG93
LmJvdHRvbSA9IDA7Ci0gICAgICAgICAgICBmbG9hdCBydW5XaWR0aCA9IFJlbmRlclRleHQ6Ondp
ZHRoKDAsIHRleHQoKS5sZW5ndGgoKSwgY29tcHJlc3NlZEZvbnQsIDAsIG51bGxwdHIsICZnbHlw
aE92ZXJmbG93KTsKKyAgICAgICAgICAgIGZsb2F0IHJ1bldpZHRoID0gd2lkdGgoMCwgdGV4dCgp
Lmxlbmd0aCgpLCBjb21wcmVzc2VkRm9udCwgMCwgbnVsbHB0ciwgJmdseXBoT3ZlcmZsb3cpOwog
ICAgICAgICAgICAgaWYgKHJ1bldpZHRoIDw9IGVtV2lkdGgpIHsKICAgICAgICAgICAgICAgICBj
b21iaW5lZFRleHRXaWR0aCA9IHJ1bldpZHRoOwogICAgICAgICAgICAgICAgIG1faXNDb21iaW5l
ZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29t
YmluZVRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5o
CmluZGV4IDE1ODUwZjE1YTM1ZjEzMmNjNmZlZTJhOThiYWJlMzBiMWIxYTU3MzEuLmU1ZDFhYjMx
ZjIyYzZlNzFhZjNkNDNhZjk1YzAzMTI0YzYyNzVkNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5oCkBAIC00NSw3ICs0NSw2IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBub2RlKCkgY29uc3QgPSBkZWxldGU7CiAKICAgICBib29sIGlzQ29tYmluZVRleHQo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9Ci0gICAgZmxvYXQgd2lkdGgodW5zaWdu
ZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBGb250Q2FzY2FkZSYsIGZsb2F0IHhQb3Np
dGlvbiwgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJm
bG93KiA9IDApIGNvbnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVyQ29tYmluZVRleHQiOyB9CiAgICAgdm9pZCBz
dHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHls
ZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRSZW5kZXJlZFRleHQoY29uc3QgU3RyaW5nJikgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKaW5kZXggZDc5MDcz
Y2VlYzVmNjI3NWRkY2NlNzQ3M2FlZjI0NjY0M2Q5NGZjMi4uMTk5MTE5NjgxMTJhODYzZDkxYmZl
MTQ5NmYwNDM4MjAxZWE4NzY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmNwcApAQCAtNzA0LDE5ICs3MDQsMjQgQEAgVmlzaWJsZVBvc2l0aW9uIFJlbmRlclRleHQ6OnBv
c2l0aW9uRm9yUG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50LCBjb25zdCBSZW4KICAgICBy
ZXR1cm4gY3JlYXRlVmlzaWJsZVBvc2l0aW9uKDAsIEFmZmluaXR5OjpEb3duc3RyZWFtKTsKIH0K
IAotQUxXQVlTX0lOTElORSBmbG9hdCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNoZShjb25zdCBG
b250Q2FzY2FkZSYgZiwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkIGxlbiwgZmxvYXQgeFBvcywg
SGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBo
T3ZlcmZsb3csIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkgY29uc3QKK3N0YXRpYyBpbmxpbmUg
c3RkOjpvcHRpb25hbDxmbG9hdD4gY29tYmluZVRleHRXaWR0aChjb25zdCBSZW5kZXJUZXh0JiBy
ZW5kZXJlciwgY29uc3QgRm9udENhc2NhZGUmIGZvbnRDYXNjYWRlLCBjb25zdCBSZW5kZXJTdHls
ZSYgc3R5bGUpCiB7Ci0gICAgaWYgKHN0eWxlLmhhc1RleHRDb21iaW5lKCkgJiYgaXM8UmVuZGVy
Q29tYmluZVRleHQ+KCp0aGlzKSkgewotICAgICAgICBjb25zdCBSZW5kZXJDb21iaW5lVGV4dCYg
Y29tYmluZVRleHQgPSBkb3duY2FzdDxSZW5kZXJDb21iaW5lVGV4dD4oKnRoaXMpOwotICAgICAg
ICBpZiAoY29tYmluZVRleHQuaXNDb21iaW5lZCgpKQotICAgICAgICAgICAgcmV0dXJuIGNvbWJp
bmVUZXh0LmNvbWJpbmVkVGV4dFdpZHRoKGYpOwotICAgIH0KKyAgICBpZiAoIXN0eWxlLmhhc1Rl
eHRDb21iaW5lKCkgfHwgIWlzPFJlbmRlckNvbWJpbmVUZXh0PihyZW5kZXJlcikpCisgICAgICAg
IHJldHVybiB7IH07CisgICAgYXV0byYgY29tYmluZVRleHRSZW5kZXJlciA9IGRvd25jYXN0PFJl
bmRlckNvbWJpbmVUZXh0PihyZW5kZXJlcik7CisgICAgcmV0dXJuIGNvbWJpbmVUZXh0UmVuZGVy
ZXIuaXNDb21iaW5lZCgpID8gc3RkOjptYWtlX29wdGlvbmFsKGNvbWJpbmVUZXh0UmVuZGVyZXIu
Y29tYmluZWRUZXh0V2lkdGgoZm9udENhc2NhZGUpKSA6IHN0ZDo6bnVsbG9wdDsKK30KIAotICAg
IFRleHRSdW4gcnVuID0gUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4oKnRoaXMsIHN0YXJ0
LCBsZW4sIHN0eWxlKTsKK0FMV0FZU19JTkxJTkUgZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGhGcm9t
Q2FjaGUoY29uc3QgRm9udENhc2NhZGUmIGZvbnRDYXNjYWRlLCB1bnNpZ25lZCBzdGFydCwgdW5z
aWduZWQgbGVuZ3RoLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tG
b250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdywgY29uc3QgUmVuZGVyU3R5bGUmIHN0
eWxlKSBjb25zdAoreworICAgIGlmIChhdXRvIHdpZHRoID0gY29tYmluZVRleHRXaWR0aCgqdGhp
cywgZm9udENhc2NhZGUsIHN0eWxlKSkKKyAgICAgICAgcmV0dXJuICp3aWR0aDsKKworICAgIFRl
eHRSdW4gcnVuID0gUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4oKnRoaXMsIHN0YXJ0LCBs
ZW5ndGgsIHN0eWxlKTsKICAgICBydW4uc2V0Q2hhcmFjdGVyU2NhbkZvckNvZGVQYXRoKCFjYW5V
c2VTaW1wbGVGb250Q29kZVBhdGgoKSk7CiAgICAgcnVuLnNldFRhYlNpemUoIXN0eWxlLmNvbGxh
cHNlV2hpdGVTcGFjZSgpLCBzdHlsZS50YWJTaXplKCkpOwogICAgIHJ1bi5zZXRYUG9zKHhQb3Mp
OwotICAgIHJldHVybiBmLndpZHRoKHJ1biwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdyk7
CisgICAgcmV0dXJuIGZvbnRDYXNjYWRlLndpZHRoKHJ1biwgZmFsbGJhY2tGb250cywgZ2x5cGhP
dmVyZmxvdyk7CiB9CiAKIEFMV0FZU19JTkxJTkUgZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGhGcm9t
Q2FjaGVDb25zaWRlcmluZ1Bvc3NpYmxlVHJhaWxpbmdTcGFjZShjb25zdCBSZW5kZXJTdHlsZSYg
c3R5bGUsIGNvbnN0IEZvbnRDYXNjYWRlJiBmb250LCB1bnNpZ25lZCBzdGFydEluZGV4LCB1bnNp
Z25lZCB3b3JkTGVuLCBmbG9hdCB4UG9zLCBib29sIGN1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlLCBX
b3JkVHJhaWxpbmdTcGFjZSYgd29yZFRyYWlsaW5nU3BhY2UsIEhhc2hTZXQ8Y29uc3QgRm9udCo+
JiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93JiBnbHlwaE92ZXJmbG93KSBjb25zdApAQCAt
MTU0NSwxNiArMTU1MCwxOSBAQCBmbG9hdCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9t
LCB1bnNpZ25lZCBsZW4sIGZsb2F0IHhQb3MsIGJvb2wgZmlyc3RMaW5lLAogICAgIHJldHVybiB3
aWR0aChmcm9tLCBsZW4sIGxpbmVTdHlsZS5mb250Q2FzY2FkZSgpLCB4UG9zLCBmYWxsYmFja0Zv
bnRzLCBnbHlwaE92ZXJmbG93KTsKIH0KIAotZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWdu
ZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250Q2FzY2FkZSYgZiwgZmxvYXQgeFBvcywg
SGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBo
T3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1
bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnRDYXNjYWRlJiBmb250Q2FzY2FkZSwgZmxvYXQgeFBv
cywgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGds
eXBoT3ZlcmZsb3cpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKGZyb20gKyBsZW4gPD0gdGV4dCgpLmxl
bmd0aCgpKTsKLSAgICBpZiAoIXRleHQoKS5sZW5ndGgoKSkKLSAgICAgICAgcmV0dXJuIDA7Cisg
ICAgQVNTRVJUKGZyb20gKyBsZW5ndGggPD0gdGV4dCgpLmxlbmd0aCgpKTsKKyAgICBpZiAoIXRl
eHQoKS5sZW5ndGgoKSB8fCAhbGVuZ3RoKQorICAgICAgICByZXR1cm4gMC5mOwogCi0gICAgY29u
c3QgUmVuZGVyU3R5bGUmIHN0eWxlID0gdGhpcy0+c3R5bGUoKTsKLSAgICBmbG9hdCB3OwotICAg
IGlmICgmZiA9PSAmc3R5bGUuZm9udENhc2NhZGUoKSkgewotICAgICAgICBpZiAoIXN0eWxlLnBy
ZXNlcnZlTmV3bGluZSgpICYmICFmcm9tICYmIGxlbiA9PSB0ZXh0KCkubGVuZ3RoKCkgJiYgKCFn
bHlwaE92ZXJmbG93IHx8ICFnbHlwaE92ZXJmbG93LT5jb21wdXRlQm91bmRzKSkgeworICAgIGF1
dG8mIHN0eWxlID0gdGhpcy0+c3R5bGUoKTsKKyAgICBpZiAoYXV0byB3aWR0aCA9IGNvbWJpbmVU
ZXh0V2lkdGgoKnRoaXMsIGZvbnRDYXNjYWRlLCBzdHlsZSkpCisgICAgICAgIHJldHVybiAqd2lk
dGg7CisKKyAgICBmbG9hdCB3aWR0aCA9IDAuZjsKKyAgICBpZiAoJmZvbnRDYXNjYWRlID09ICZz
dHlsZS5mb250Q2FzY2FkZSgpKSB7CisgICAgICAgIGlmICghc3R5bGUucHJlc2VydmVOZXdsaW5l
KCkgJiYgIWZyb20gJiYgbGVuZ3RoID09IHRleHQoKS5sZW5ndGgoKSAmJiAoIWdseXBoT3ZlcmZs
b3cgfHwgIWdseXBoT3ZlcmZsb3ctPmNvbXB1dGVCb3VuZHMpKSB7CiAgICAgICAgICAgICBpZiAo
ZmFsbGJhY2tGb250cykgewogICAgICAgICAgICAgICAgIEFTU0VSVChnbHlwaE92ZXJmbG93KTsK
ICAgICAgICAgICAgICAgICBpZiAocHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkgfHwgIW1f
a25vd25Ub0hhdmVOb092ZXJmbG93QW5kTm9GYWxsYmFja0ZvbnRzKSB7CkBAIC0xNTYyLDIxICsx
NTcwLDIxIEBAIGZsb2F0IFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVk
IGxlbiwgY29uc3QgRm9udENhc2NhZGUmIGYsIGZsb2F0CiAgICAgICAgICAgICAgICAgICAgIGlm
IChmYWxsYmFja0ZvbnRzLT5pc0VtcHR5KCkgJiYgIWdseXBoT3ZlcmZsb3ctPmxlZnQgJiYgIWds
eXBoT3ZlcmZsb3ctPnJpZ2h0ICYmICFnbHlwaE92ZXJmbG93LT50b3AgJiYgIWdseXBoT3ZlcmZs
b3ctPmJvdHRvbSkKICAgICAgICAgICAgICAgICAgICAgICAgIG1fa25vd25Ub0hhdmVOb092ZXJm
bG93QW5kTm9GYWxsYmFja0ZvbnRzID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgdyA9IG1fbWF4V2lkdGg7CisgICAgICAgICAgICAgICAgd2lkdGggPSBtX21heFdp
ZHRoOwogICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdyA9IG1heExvZ2ljYWxX
aWR0aCgpOworICAgICAgICAgICAgICAgIHdpZHRoID0gbWF4TG9naWNhbFdpZHRoKCk7CiAgICAg
ICAgIH0gZWxzZQotICAgICAgICAgICAgdyA9IHdpZHRoRnJvbUNhY2hlKGYsIGZyb20sIGxlbiwg
eFBvcywgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdywgc3R5bGUpOworICAgICAgICAgICAg
d2lkdGggPSB3aWR0aEZyb21DYWNoZShmb250Q2FzY2FkZSwgZnJvbSwgbGVuZ3RoLCB4UG9zLCBm
YWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93LCBzdHlsZSk7CiAgICAgfSBlbHNlIHsKLSAgICAg
ICAgVGV4dFJ1biBydW4gPSBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bigqdGhpcywgZnJv
bSwgbGVuLCBzdHlsZSk7CisgICAgICAgIFRleHRSdW4gcnVuID0gUmVuZGVyQmxvY2s6OmNvbnN0
cnVjdFRleHRSdW4oKnRoaXMsIGZyb20sIGxlbmd0aCwgc3R5bGUpOwogICAgICAgICBydW4uc2V0
Q2hhcmFjdGVyU2NhbkZvckNvZGVQYXRoKCFjYW5Vc2VTaW1wbGVGb250Q29kZVBhdGgoKSk7CiAg
ICAgICAgIHJ1bi5zZXRUYWJTaXplKCFzdHlsZS5jb2xsYXBzZVdoaXRlU3BhY2UoKSwgc3R5bGUu
dGFiU2l6ZSgpKTsKICAgICAgICAgcnVuLnNldFhQb3MoeFBvcyk7CiAKLSAgICAgICAgdyA9IGYu
d2lkdGgocnVuLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93KTsKKyAgICAgICAgd2lkdGgg
PSBmb250Q2FzY2FkZS53aWR0aChydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwog
ICAgIH0KIAotICAgIHJldHVybiBjbGFtcFRvKHcsIDAuZik7CisgICAgcmV0dXJuIGNsYW1wVG8o
d2lkdGgsIDAuZik7CiB9CiAKIEludFJlY3QgUmVuZGVyVGV4dDo6bGluZXNCb3VuZGluZ0JveCgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAppbmRleCBmN2FjMjY5MWE0
NTc2ZTZjZDgyYTUyMjhmNmQ5YmU5YjhmYjcxYmRmLi45MjQ0NjcyMTYwMmZlMjlkN2VlOTdhYTcz
ZjkwY2EzOGM1OTJjODg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgKQEAg
LTkxLDggKzkxLDggQEAgcHVibGljOgogCiAgICAgdm9pZCBwb3NpdGlvbkxpbmVCb3goTGVnYWN5
SW5saW5lVGV4dEJveCYpOwogCi0gICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCBmcm9t
LCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnRDYXNjYWRlJiwgZmxvYXQgeFBvcywgSGFzaFNl
dDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMgPSBudWxscHRyLCBHbHlwaE92ZXJmbG93KiA9
IG51bGxwdHIpIGNvbnN0OwotICAgIHZpcnR1YWwgZmxvYXQgd2lkdGgodW5zaWduZWQgZnJvbSwg
dW5zaWduZWQgbGVuZ3RoLCBmbG9hdCB4UG9zLCBib29sIGZpcnN0TGluZSA9IGZhbHNlLCBIYXNo
U2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IG51bGxwdHIsIEdseXBoT3ZlcmZsb3cq
ID0gbnVsbHB0cikgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWdu
ZWQgbGVuZ3RoLCBjb25zdCBGb250Q2FzY2FkZSYsIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3Qg
Rm9udCo+KiBmYWxsYmFja0ZvbnRzID0gbnVsbHB0ciwgR2x5cGhPdmVyZmxvdyogPSBudWxscHRy
KSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgs
IGZsb2F0IHhQb3MsIGJvb2wgZmlyc3RMaW5lID0gZmFsc2UsIEhhc2hTZXQ8Y29uc3QgRm9udCo+
KiBmYWxsYmFja0ZvbnRzID0gbnVsbHB0ciwgR2x5cGhPdmVyZmxvdyogPSBudWxscHRyKSBjb25z
dDsKIAogICAgIGZsb2F0IG1pbkxvZ2ljYWxXaWR0aCgpIGNvbnN0OwogICAgIGZsb2F0IG1heExv
Z2ljYWxXaWR0aCgpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455543</attachid>
            <date>2022-03-23 13:36:12 -0700</date>
            <delta_ts>2022-03-24 06:48:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238285-20220323133611.patch</filename>
            <type>text/plain</type>
            <size>10468</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjExMjY4OThiZDI0Y2Fm
YWE2ODVjZGY2YzIwMjVkMzZkNjcyZDQwNC4uZTUyYzM5M2U5N2U5ZjY4MzE0Mzg2Y2YwNGVlNTli
ZGRiMTBmZjM2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTAzLTIzICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBEZXZpcnR1YWxpemUgUmVuZGVy
VGV4dDo6d2lkdGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzODI4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlbmRlckNvbWJpbmVUZXh0IGhhbmRsaW5nIGlzIG1vdmVkIHRvIFJlbmRlclRleHQgKHdl
IGFscmVhZHkgaGFuZGxlIGNvbWJpbmUgdGV4dCBpbiBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNo
ZSkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQ29tYmluZVRleHQ6OmNvbWJpbmVUZXh0SWZOZWVkZWQpOiBUaGVz
ZSBhcmUgYWxsIG5vbi10ZXh0LWNvbWJpbmUgY2FsbHNpdGVzLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQ29tYmluZVRleHQ6OndpZHRoIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21iaW5lVGV4dFdpZHRoKTogUmVuZGVyQ29tYmlu
ZVRleHQ6OmNvbWJpbmVkVGV4dFdpZHRoIHJldHVybnMgdGhlIHNhbWUgdmFsdWUgYXMgUmVuZGVy
Q29tYmluZVRleHQ6OndpZHRoLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6d2lkdGhG
cm9tQ2FjaGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6d2lkdGggY29u
c3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Lmg6CisKIDIwMjItMDMtMjIgIEFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gRG8gbm90
IGNvbnN0cnVjdCBhIFRleHRSdW4gZm9yIG1lYXN1cmluZyBhIHNpbmdsZSB3aGl0ZXNwYWNlIHdo
ZW4gc2ltcGxpZmllZCBjb250ZW50IG1lYXN1cmluZyBjYW4gYmUgdXNlZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5jcHAKaW5kZXggNmVjYzBkZTM5NzJk
Mjc5MDYzZjNjNWU3MzdhNzU4ODEzZjc0M2I0MC4uYmFiZWJmZjgxMDlhN2YxYzk5ZDU4OTFiYzFh
MmE5ZGU0OTY5MmI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckNvbWJpbmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29t
YmluZVRleHQuY3BwCkBAIC02OCwxNCArNjgsNiBAQCB2b2lkIFJlbmRlckNvbWJpbmVUZXh0Ojpz
ZXRSZW5kZXJlZFRleHQoY29uc3QgU3RyaW5nJiB0ZXh0KQogICAgIGNvbWJpbmVUZXh0SWZOZWVk
ZWQoKTsKIH0KIAotZmxvYXQgUmVuZGVyQ29tYmluZVRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20s
IHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIGZsb2F0IHhQb3NpdGlv
biwgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGds
eXBoT3ZlcmZsb3cpIGNvbnN0Ci17Ci0gICAgaWYgKG1faXNDb21iaW5lZCkKLSAgICAgICAgcmV0
dXJuICFsZW5ndGggPyAwIDogZm9udC5zaXplKCk7Ci0KLSAgICByZXR1cm4gUmVuZGVyVGV4dDo6
d2lkdGgoZnJvbSwgbGVuZ3RoLCBmb250LCB4UG9zaXRpb24sIGZhbGxiYWNrRm9udHMsIGdseXBo
T3ZlcmZsb3cpOwotfQotCiBzdGQ6Om9wdGlvbmFsPEZsb2F0UG9pbnQ+IFJlbmRlckNvbWJpbmVU
ZXh0Ojpjb21wdXRlVGV4dE9yaWdpbihjb25zdCBGbG9hdFJlY3QmIGJveFJlY3QpIGNvbnN0CiB7
CiAgICAgaWYgKCFtX2lzQ29tYmluZWQpCkBAIC0xNDgsNyArMTQwLDcgQEAgdm9pZCBSZW5kZXJD
b21iaW5lVGV4dDo6Y29tYmluZVRleHRJZk5lZWRlZCgpCiAgICAgICAgICAgICBjb21wcmVzc2Vk
Rm9udC51cGRhdGUoZm9udFNlbGVjdG9yKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgZ2x5
cGhPdmVyZmxvdy5sZWZ0ID0gZ2x5cGhPdmVyZmxvdy50b3AgPSBnbHlwaE92ZXJmbG93LnJpZ2h0
ID0gZ2x5cGhPdmVyZmxvdy5ib3R0b20gPSAwOwotICAgICAgICAgICAgZmxvYXQgcnVuV2lkdGgg
PSBSZW5kZXJUZXh0Ojp3aWR0aCgwLCB0ZXh0KCkubGVuZ3RoKCksIGNvbXByZXNzZWRGb250LCAw
LCBudWxscHRyLCAmZ2x5cGhPdmVyZmxvdyk7CisgICAgICAgICAgICBmbG9hdCBydW5XaWR0aCA9
IHdpZHRoKDAsIHRleHQoKS5sZW5ndGgoKSwgY29tcHJlc3NlZEZvbnQsIDAsIG51bGxwdHIsICZn
bHlwaE92ZXJmbG93KTsKICAgICAgICAgICAgIGlmIChydW5XaWR0aCA8PSBlbVdpZHRoKSB7CiAg
ICAgICAgICAgICAgICAgY29tYmluZWRUZXh0V2lkdGggPSBydW5XaWR0aDsKICAgICAgICAgICAg
ICAgICBtX2lzQ29tYmluZWQgPSB0cnVlOwpAQCAtMTc4LDcgKzE3MCw3IEBAIHZvaWQgUmVuZGVy
Q29tYmluZVRleHQ6OmNvbWJpbmVUZXh0SWZOZWVkZWQoKQogICAgICAgICAgICAgY29tcHJlc3Nl
ZEZvbnQudXBkYXRlKGZvbnRTZWxlY3Rvcik7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGds
eXBoT3ZlcmZsb3cubGVmdCA9IGdseXBoT3ZlcmZsb3cudG9wID0gZ2x5cGhPdmVyZmxvdy5yaWdo
dCA9IGdseXBoT3ZlcmZsb3cuYm90dG9tID0gMDsKLSAgICAgICAgICAgIGZsb2F0IHJ1bldpZHRo
ID0gUmVuZGVyVGV4dDo6d2lkdGgoMCwgdGV4dCgpLmxlbmd0aCgpLCBjb21wcmVzc2VkRm9udCwg
MCwgbnVsbHB0ciwgJmdseXBoT3ZlcmZsb3cpOworICAgICAgICAgICAgZmxvYXQgcnVuV2lkdGgg
PSB3aWR0aCgwLCB0ZXh0KCkubGVuZ3RoKCksIGNvbXByZXNzZWRGb250LCAwLCBudWxscHRyLCAm
Z2x5cGhPdmVyZmxvdyk7CiAgICAgICAgICAgICBpZiAocnVuV2lkdGggPD0gZW1XaWR0aCkgewog
ICAgICAgICAgICAgICAgIGNvbWJpbmVkVGV4dFdpZHRoID0gcnVuV2lkdGg7CiAgICAgICAgICAg
ICAgICAgbV9pc0NvbWJpbmVkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckNvbWJpbmVUZXh0LmgKaW5kZXggMTU4NTBmMTVhMzVmMTMyY2M2ZmVlMmE5OGJhYmUzMGIx
YjFhNTczMS4uZTVkMWFiMzFmMjJjNmU3MWFmM2Q0M2FmOTVjMDMxMjRjNjI3NWQ1YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmgKQEAgLTQ1LDcgKzQ1
LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIG5vZGUoKSBjb25zdCA9IGRlbGV0ZTsKIAogICAgIGJv
b2wgaXNDb21iaW5lVGV4dCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KLSAgICBm
bG9hdCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnRDYXNj
YWRlJiwgZmxvYXQgeFBvc2l0aW9uLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250
cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgY2hh
ciogcmVuZGVyTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5kZXJDb21iaW5lVGV4
dCI7IH0KICAgICB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVu
ZGVyU3R5bGUqIG9sZFN0eWxlKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFJlbmRlcmVkVGV4dChj
b25zdCBTdHJpbmcmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmNwcAppbmRleCBkNzkwNzNjZWVjNWY2Mjc1ZGRjY2U3NDczYWVmMjQ2NjQzZDk0ZmMyLi4xOTkx
MTk2ODExMmE4NjNkOTFiZmUxNDk2ZjA0MzgyMDFlYTg3NjdiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHQuY3BwCkBAIC03MDQsMTkgKzcwNCwyNCBAQCBWaXNpYmxlUG9zaXRp
b24gUmVuZGVyVGV4dDo6cG9zaXRpb25Gb3JQb2ludChjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQs
IGNvbnN0IFJlbgogICAgIHJldHVybiBjcmVhdGVWaXNpYmxlUG9zaXRpb24oMCwgQWZmaW5pdHk6
OkRvd25zdHJlYW0pOwogfQogCi1BTFdBWVNfSU5MSU5FIGZsb2F0IFJlbmRlclRleHQ6OndpZHRo
RnJvbUNhY2hlKGNvbnN0IEZvbnRDYXNjYWRlJiBmLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQg
bGVuLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cywgR2x5
cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdywgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKSBjb25z
dAorc3RhdGljIGlubGluZSBzdGQ6Om9wdGlvbmFsPGZsb2F0PiBjb21iaW5lVGV4dFdpZHRoKGNv
bnN0IFJlbmRlclRleHQmIHJlbmRlcmVyLCBjb25zdCBGb250Q2FzY2FkZSYgZm9udENhc2NhZGUs
IGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKIHsKLSAgICBpZiAoc3R5bGUuaGFzVGV4dENvbWJp
bmUoKSAmJiBpczxSZW5kZXJDb21iaW5lVGV4dD4oKnRoaXMpKSB7Ci0gICAgICAgIGNvbnN0IFJl
bmRlckNvbWJpbmVUZXh0JiBjb21iaW5lVGV4dCA9IGRvd25jYXN0PFJlbmRlckNvbWJpbmVUZXh0
PigqdGhpcyk7Ci0gICAgICAgIGlmIChjb21iaW5lVGV4dC5pc0NvbWJpbmVkKCkpCi0gICAgICAg
ICAgICByZXR1cm4gY29tYmluZVRleHQuY29tYmluZWRUZXh0V2lkdGgoZik7Ci0gICAgfQorICAg
IGlmICghc3R5bGUuaGFzVGV4dENvbWJpbmUoKSB8fCAhaXM8UmVuZGVyQ29tYmluZVRleHQ+KHJl
bmRlcmVyKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICBhdXRvJiBjb21iaW5lVGV4dFJlbmRl
cmVyID0gZG93bmNhc3Q8UmVuZGVyQ29tYmluZVRleHQ+KHJlbmRlcmVyKTsKKyAgICByZXR1cm4g
Y29tYmluZVRleHRSZW5kZXJlci5pc0NvbWJpbmVkKCkgPyBzdGQ6Om1ha2Vfb3B0aW9uYWwoY29t
YmluZVRleHRSZW5kZXJlci5jb21iaW5lZFRleHRXaWR0aChmb250Q2FzY2FkZSkpIDogc3RkOjpu
dWxsb3B0OworfQogCi0gICAgVGV4dFJ1biBydW4gPSBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4
dFJ1bigqdGhpcywgc3RhcnQsIGxlbiwgc3R5bGUpOworQUxXQVlTX0lOTElORSBmbG9hdCBSZW5k
ZXJUZXh0Ojp3aWR0aEZyb21DYWNoZShjb25zdCBGb250Q2FzY2FkZSYgZm9udENhc2NhZGUsIHVu
c2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBsZW5ndGgsIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3Qg
Rm9udCo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93LCBjb25z
dCBSZW5kZXJTdHlsZSYgc3R5bGUpIGNvbnN0Cit7CisgICAgaWYgKGF1dG8gd2lkdGggPSBjb21i
aW5lVGV4dFdpZHRoKCp0aGlzLCBmb250Q2FzY2FkZSwgc3R5bGUpKQorICAgICAgICByZXR1cm4g
KndpZHRoOworCisgICAgVGV4dFJ1biBydW4gPSBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1
bigqdGhpcywgc3RhcnQsIGxlbmd0aCwgc3R5bGUpOwogICAgIHJ1bi5zZXRDaGFyYWN0ZXJTY2Fu
Rm9yQ29kZVBhdGgoIWNhblVzZVNpbXBsZUZvbnRDb2RlUGF0aCgpKTsKICAgICBydW4uc2V0VGFi
U2l6ZSghc3R5bGUuY29sbGFwc2VXaGl0ZVNwYWNlKCksIHN0eWxlLnRhYlNpemUoKSk7CiAgICAg
cnVuLnNldFhQb3MoeFBvcyk7Ci0gICAgcmV0dXJuIGYud2lkdGgocnVuLCBmYWxsYmFja0ZvbnRz
LCBnbHlwaE92ZXJmbG93KTsKKyAgICByZXR1cm4gZm9udENhc2NhZGUud2lkdGgocnVuLCBmYWxs
YmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93KTsKIH0KIAogQUxXQVlTX0lOTElORSBmbG9hdCBSZW5k
ZXJUZXh0Ojp3aWR0aEZyb21DYWNoZUNvbnNpZGVyaW5nUG9zc2libGVUcmFpbGluZ1NwYWNlKGNv
bnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIHVuc2lnbmVk
IHN0YXJ0SW5kZXgsIHVuc2lnbmVkIHdvcmRMZW4sIGZsb2F0IHhQb3MsIGJvb2wgY3VycmVudENo
YXJhY3RlcklzU3BhY2UsIFdvcmRUcmFpbGluZ1NwYWNlJiB3b3JkVHJhaWxpbmdTcGFjZSwgSGFz
aFNldDxjb25zdCBGb250Kj4mIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cmIGdseXBoT3Zl
cmZsb3cpIGNvbnN0CkBAIC0xNTQ1LDE2ICsxNTUwLDE5IEBAIGZsb2F0IFJlbmRlclRleHQ6Ondp
ZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgZmxvYXQgeFBvcywgYm9vbCBmaXJzdExp
bmUsCiAgICAgcmV0dXJuIHdpZHRoKGZyb20sIGxlbiwgbGluZVN0eWxlLmZvbnRDYXNjYWRlKCks
IHhQb3MsIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQogCi1mbG9hdCBSZW5kZXJU
ZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnRDYXNjYWRl
JiBmLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cywgR2x5
cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6OndpZHRo
KHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udENhc2NhZGUmIGZvbnRD
YXNjYWRlLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cywg
R2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKLSAgICBBU1NFUlQoZnJvbSAr
IGxlbiA8PSB0ZXh0KCkubGVuZ3RoKCkpOwotICAgIGlmICghdGV4dCgpLmxlbmd0aCgpKQotICAg
ICAgICByZXR1cm4gMDsKKyAgICBBU1NFUlQoZnJvbSArIGxlbmd0aCA8PSB0ZXh0KCkubGVuZ3Ro
KCkpOworICAgIGlmICghdGV4dCgpLmxlbmd0aCgpIHx8ICFsZW5ndGgpCisgICAgICAgIHJldHVy
biAwLmY7CiAKLSAgICBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUgPSB0aGlzLT5zdHlsZSgpOwot
ICAgIGZsb2F0IHc7Ci0gICAgaWYgKCZmID09ICZzdHlsZS5mb250Q2FzY2FkZSgpKSB7Ci0gICAg
ICAgIGlmICghc3R5bGUucHJlc2VydmVOZXdsaW5lKCkgJiYgIWZyb20gJiYgbGVuID09IHRleHQo
KS5sZW5ndGgoKSAmJiAoIWdseXBoT3ZlcmZsb3cgfHwgIWdseXBoT3ZlcmZsb3ctPmNvbXB1dGVC
b3VuZHMpKSB7CisgICAgYXV0byYgc3R5bGUgPSB0aGlzLT5zdHlsZSgpOworICAgIGlmIChhdXRv
IHdpZHRoID0gY29tYmluZVRleHRXaWR0aCgqdGhpcywgZm9udENhc2NhZGUsIHN0eWxlKSkKKyAg
ICAgICAgcmV0dXJuICp3aWR0aDsKKworICAgIGZsb2F0IHdpZHRoID0gMC5mOworICAgIGlmICgm
Zm9udENhc2NhZGUgPT0gJnN0eWxlLmZvbnRDYXNjYWRlKCkpIHsKKyAgICAgICAgaWYgKCFzdHls
ZS5wcmVzZXJ2ZU5ld2xpbmUoKSAmJiAhZnJvbSAmJiBsZW5ndGggPT0gdGV4dCgpLmxlbmd0aCgp
ICYmICghZ2x5cGhPdmVyZmxvdyB8fCAhZ2x5cGhPdmVyZmxvdy0+Y29tcHV0ZUJvdW5kcykpIHsK
ICAgICAgICAgICAgIGlmIChmYWxsYmFja0ZvbnRzKSB7CiAgICAgICAgICAgICAgICAgQVNTRVJU
KGdseXBoT3ZlcmZsb3cpOwogICAgICAgICAgICAgICAgIGlmIChwcmVmZXJyZWRMb2dpY2FsV2lk
dGhzRGlydHkoKSB8fCAhbV9rbm93blRvSGF2ZU5vT3ZlcmZsb3dBbmROb0ZhbGxiYWNrRm9udHMp
IHsKQEAgLTE1NjIsMjEgKzE1NzAsMjEgQEAgZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWdu
ZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250Q2FzY2FkZSYgZiwgZmxvYXQKICAgICAg
ICAgICAgICAgICAgICAgaWYgKGZhbGxiYWNrRm9udHMtPmlzRW1wdHkoKSAmJiAhZ2x5cGhPdmVy
Zmxvdy0+bGVmdCAmJiAhZ2x5cGhPdmVyZmxvdy0+cmlnaHQgJiYgIWdseXBoT3ZlcmZsb3ctPnRv
cCAmJiAhZ2x5cGhPdmVyZmxvdy0+Ym90dG9tKQogICAgICAgICAgICAgICAgICAgICAgICAgbV9r
bm93blRvSGF2ZU5vT3ZlcmZsb3dBbmROb0ZhbGxiYWNrRm9udHMgPSB0cnVlOwogICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICB3ID0gbV9tYXhXaWR0aDsKKyAgICAgICAgICAgICAg
ICB3aWR0aCA9IG1fbWF4V2lkdGg7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAg
ICB3ID0gbWF4TG9naWNhbFdpZHRoKCk7CisgICAgICAgICAgICAgICAgd2lkdGggPSBtYXhMb2dp
Y2FsV2lkdGgoKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB3ID0gd2lkdGhGcm9tQ2Fj
aGUoZiwgZnJvbSwgbGVuLCB4UG9zLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93LCBzdHls
ZSk7CisgICAgICAgICAgICB3aWR0aCA9IHdpZHRoRnJvbUNhY2hlKGZvbnRDYXNjYWRlLCBmcm9t
LCBsZW5ndGgsIHhQb3MsIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3csIHN0eWxlKTsKICAg
ICB9IGVsc2UgewotICAgICAgICBUZXh0UnVuIHJ1biA9IFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RU
ZXh0UnVuKCp0aGlzLCBmcm9tLCBsZW4sIHN0eWxlKTsKKyAgICAgICAgVGV4dFJ1biBydW4gPSBS
ZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bigqdGhpcywgZnJvbSwgbGVuZ3RoLCBzdHlsZSk7
CiAgICAgICAgIHJ1bi5zZXRDaGFyYWN0ZXJTY2FuRm9yQ29kZVBhdGgoIWNhblVzZVNpbXBsZUZv
bnRDb2RlUGF0aCgpKTsKICAgICAgICAgcnVuLnNldFRhYlNpemUoIXN0eWxlLmNvbGxhcHNlV2hp
dGVTcGFjZSgpLCBzdHlsZS50YWJTaXplKCkpOwogICAgICAgICBydW4uc2V0WFBvcyh4UG9zKTsK
IAotICAgICAgICB3ID0gZi53aWR0aChydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cp
OworICAgICAgICB3aWR0aCA9IGZvbnRDYXNjYWRlLndpZHRoKHJ1biwgZmFsbGJhY2tGb250cywg
Z2x5cGhPdmVyZmxvdyk7CiAgICAgfQogCi0gICAgcmV0dXJuIGNsYW1wVG8odywgMC5mKTsKKyAg
ICByZXR1cm4gY2xhbXBUbyh3aWR0aCwgMC5mKTsKIH0KIAogSW50UmVjdCBSZW5kZXJUZXh0Ojps
aW5lc0JvdW5kaW5nQm94KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5o
CmluZGV4IGY3YWMyNjkxYTQ1NzZlNmNkODJhNTIyOGY2ZDliZTliOGZiNzFiZGYuLjkyNDQ2NzIx
NjAyZmUyOWQ3ZWU5N2FhNzNmOTBjYTM4YzU5MmM4ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuaApAQCAtOTEsOCArOTEsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHBvc2l0
aW9uTGluZUJveChMZWdhY3lJbmxpbmVUZXh0Qm94Jik7CiAKLSAgICB2aXJ0dWFsIGZsb2F0IHdp
ZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udENhc2NhZGUmLCBm
bG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IG51bGxwdHIs
IEdseXBoT3ZlcmZsb3cqID0gbnVsbHB0cikgY29uc3Q7Ci0gICAgdmlydHVhbCBmbG9hdCB3aWR0
aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGZsb2F0IHhQb3MsIGJvb2wgZmlyc3RM
aW5lID0gZmFsc2UsIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFja0ZvbnRzID0gbnVsbHB0
ciwgR2x5cGhPdmVyZmxvdyogPSBudWxscHRyKSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aCh1bnNp
Z25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnRDYXNjYWRlJiwgZmxvYXQgeFBv
cywgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMgPSBudWxscHRyLCBHbHlwaE92
ZXJmbG93KiA9IG51bGxwdHIpIGNvbnN0OworICAgIGZsb2F0IHdpZHRoKHVuc2lnbmVkIGZyb20s
IHVuc2lnbmVkIGxlbmd0aCwgZmxvYXQgeFBvcywgYm9vbCBmaXJzdExpbmUgPSBmYWxzZSwgSGFz
aFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMgPSBudWxscHRyLCBHbHlwaE92ZXJmbG93
KiA9IG51bGxwdHIpIGNvbnN0OwogCiAgICAgZmxvYXQgbWluTG9naWNhbFdpZHRoKCkgY29uc3Q7
CiAgICAgZmxvYXQgbWF4TG9naWNhbFdpZHRoKCkgY29uc3Q7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>