<?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>215309</bug_id>
          
          <creation_ts>2020-08-07 23:25:20 -0700</creation_ts>
          <short_desc>Use references instead of pointers for GlyphBuffer::add()&apos;s Font argument</short_desc>
          <delta_ts>2020-08-08 20:58: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>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>
          
          <blocked>206208</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>dbarton</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>jonlee</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1678876</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-07 23:25:20 -0700</bug_when>
    <thetext>Use references instead of pointers for GlyphBuffer::add()&apos;s Font argument</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678877</commentid>
    <comment_count>1</comment_count>
      <attachid>406250</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-07 23:26:27 -0700</bug_when>
    <thetext>Created attachment 406250
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678942</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-08 20:57:14 -0700</bug_when>
    <thetext>Committed r265411: &lt;https://trac.webkit.org/changeset/265411&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678943</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-08 20:58:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/66739276&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406250</attachid>
            <date>2020-08-07 23:26:27 -0700</date>
            <delta_ts>2020-08-08 11:12:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215309-20200807232626.patch</filename>
            <type>text/plain</type>
            <size>16850</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1Mzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmNDk1NjNkOTg0NWVl
NDg5ZmVkYjg2MjJiZjBkZGQ3NDI2N2U3MC4uYWIzNjQyODlkNzgwMjMzYWU5MjBlYzUxN2VhZWM1
OTVmNDgwMTllYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIwLTA4LTA3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHJlZmVy
ZW5jZXMgaW5zdGVhZCBvZiBwb2ludGVycyBmb3IgR2x5cGhCdWZmZXI6OmFkZCgpJ3MgRm9udCBh
cmd1bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE1MzA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhleSdyZSBub3QgYWxsb3dlZCB0byBiZSBudWxsLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBi
ZWNhdXNlIHRoZXJlIGlzIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
b21wbGV4VGV4dENvbnRyb2xsZXI6OmFkdmFuY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYXNjYWRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0
aEZvclNpbXBsZVRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OmRy
YXdHbHlwaEJ1ZmZlciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpvZmZzZXRUb01pZGRsZU9m
R2x5cGgpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OmRyYXdFbXBoYXNpc01hcmtz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoVG9QYXRoVHJhbnNsYXRvcjo6R2x5cGhU
b1BhdGhUcmFuc2xhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoVG9QYXRoVHJhbnNsYXRv
cjo6YWR2YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6ZGFzaGVzRm9ySW50
ZXJzZWN0aW9uc1dpdGhSZWN0IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9H
bHlwaEJ1ZmZlci5oOgorICAgICAgICAoV2ViQ29yZTo6R2x5cGhCdWZmZXI6OmZvbnRBdCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6YWRkKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldpZHRo
SXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlz
cGxheUxpc3Q6OkRyYXdHbHlwaHM6OmdlbmVyYXRlR2x5cGhCdWZmZXIgY29uc3QpOgorICAgICAg
ICAqIHJlbmRlcmluZy9tYXRobWwvTWF0aE9wZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1hdGhPcGVyYXRvcjo6cGFpbnRHbHlwaCk6CisgICAgICAgIChXZWJDb3JlOjpNYXRoT3BlcmF0
b3I6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2Vu
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFRva2VuOjpwYWludCk6CisKIDIw
MjAtMDgtMDcgIEphbWVzIERhcnBpbmlhbiAgPGpkYXJwaW5pYW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIE9mZiBieSBvbmUgZXJyb3IgaW4gdHJhbnNmb3JtIGZlZWRiYWNrIGJ1ZmZlciBiaW5k
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4
VGV4dENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29t
cGxleFRleHRDb250cm9sbGVyLmNwcAppbmRleCA3ZTE3OGQxYjg5MDk0NTYyZDRmNTRhYjdhNDY5
ZGY2YmQzMmY1YTM5Li44ZjFjMjA1YTA0MzU5ZGFkYmJlZWUxMTJhNWQwMjhkOTEzYzgxNjZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBs
ZXhUZXh0Q29udHJvbGxlci5jcHAKQEAgLTYyMSw3ICs2MjEsNyBAQCB2b2lkIENvbXBsZXhUZXh0
Q29udHJvbGxlcjo6YWR2YW5jZSh1bnNpZ25lZCBvZmZzZXQsIEdseXBoQnVmZmVyKiBnbHlwaEJ1
ZmZlciwgRwogICAgICAgICAgICAgICAgICAgICBwYWludEFkdmFuY2Uuc2V0SGVpZ2h0KHBhaW50
QWR2YW5jZS5oZWlnaHQoKSAtIGdseXBoT3JpZ2luKGdseXBoSW5kZXhJbnRvQ29tcGxleFRleHRD
b250cm9sbGVyICsgMSkueSgpICsgbV9jb21wbGV4VGV4dFJ1bnNbY3VycmVudFJ1bkluZGV4ICsg
MV0tPmluaXRpYWxBZHZhbmNlKCkuaGVpZ2h0KCkpOwogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICBwYWludEFkdmFuY2Uuc2V0SGVpZ2h0KC1wYWludEFkdmFuY2UuaGVpZ2h0KCkp
OyAvLyBJbmNyZWFzaW5nIHkgcG9pbnRzIGRvd24KLSAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZl
ci0+YWRkKG1fYWRqdXN0ZWRHbHlwaHNbZ2x5cGhJbmRleEludG9Db21wbGV4VGV4dENvbnRyb2xs
ZXJdLCAmY29tcGxleFRleHRSdW4uZm9udCgpLCBwYWludEFkdmFuY2UsIGNvbXBsZXhUZXh0UnVu
LmluZGV4QXQobV9nbHlwaEluQ3VycmVudFJ1bikpOworICAgICAgICAgICAgICAgIGdseXBoQnVm
ZmVyLT5hZGQobV9hZGp1c3RlZEdseXBoc1tnbHlwaEluZGV4SW50b0NvbXBsZXhUZXh0Q29udHJv
bGxlcl0sIGNvbXBsZXhUZXh0UnVuLmZvbnQoKSwgcGFpbnRBZHZhbmNlLCBjb21wbGV4VGV4dFJ1
bi5pbmRleEF0KG1fZ2x5cGhJbkN1cnJlbnRSdW4pKTsKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgdW5zaWduZWQgb2xkQ2hhcmFjdGVySW5DdXJyZW50R2x5cGggPSBtX2NoYXJhY3Rlcklu
Q3VycmVudEdseXBoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuY3BwCmluZGV4IGMwNTMwZWRlMDAwM2ZhZTc0Nzc5MTdhMDFlNjg3NDgzMDYzNzkx
ZjMuLjcwNDA3NWJhNTY3NmNjZmQ4MDIzMzZlOTU4ZTlkNDg4YWNkODU0ZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTQ0NCw3
ICs0NDQsNyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1Zp
ZXcgdGV4dCkgY29uc3QKICAgICAgICAgcnVuV2lkdGggKz0gZ2x5cGhXaWR0aDsKICAgICAgICAg
aWYgKCFoYXNLZXJuaW5nT3JMaWdhdHVyZXMpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgZ2x5cGhCdWZmZXIuYWRkKGdseXBoLCAmZm9udCwgZ2x5cGhXaWR0aCk7CisgICAgICAgIGds
eXBoQnVmZmVyLmFkZChnbHlwaCwgZm9udCwgZ2x5cGhXaWR0aCk7CiAgICAgfQogICAgIGlmICho
YXNLZXJuaW5nT3JMaWdhdHVyZXMpIHsKICAgICAgICAgZm9udC5hcHBseVRyYW5zZm9ybXMoZ2x5
cGhCdWZmZXIsIDAsIGVuYWJsZUtlcm5pbmcoKSwgcmVxdWlyZXNTaGFwaW5nKCksIGZvbnREZXNj
cmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCkpOwpAQCAtMTQ0NiwyMSArMTQ0NiwyMSBAQCBpbmxp
bmUgYm9vbCBzaG91bGREcmF3SWZMb2FkaW5nKGNvbnN0IEZvbnQmIGZvbnQsIEZvbnRDYXNjYWRl
OjpDdXN0b21Gb250Tm90UmVhZAogdm9pZCBGb250Q2FzY2FkZTo6ZHJhd0dseXBoQnVmZmVyKEdy
YXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBG
bG9hdFBvaW50JiBwb2ludCwgQ3VzdG9tRm9udE5vdFJlYWR5QWN0aW9uIGN1c3RvbUZvbnROb3RS
ZWFkeUFjdGlvbikgY29uc3QKIHsKICAgICBBU1NFUlQoZ2x5cGhCdWZmZXIuaXNGbGF0dGVuZWQo
KSk7Ci0gICAgY29uc3QgRm9udCogZm9udERhdGEgPSBnbHlwaEJ1ZmZlci5mb250QXQoMCk7Cisg
ICAgY29uc3QgRm9udCogZm9udERhdGEgPSAmZ2x5cGhCdWZmZXIuZm9udEF0KDApOwogICAgIEZs
b2F0UG9pbnQgc3RhcnRQb2ludCA9IHBvaW50OwogICAgIGZsb2F0IG5leHRYID0gc3RhcnRQb2lu
dC54KCkgKyBnbHlwaEJ1ZmZlci5hZHZhbmNlQXQoMCkud2lkdGgoKTsKICAgICBmbG9hdCBuZXh0
WSA9IHN0YXJ0UG9pbnQueSgpICsgZ2x5cGhCdWZmZXIuYWR2YW5jZUF0KDApLmhlaWdodCgpOwog
ICAgIHVuc2lnbmVkIGxhc3RGcm9tID0gMDsKICAgICB1bnNpZ25lZCBuZXh0R2x5cGggPSAxOwog
ICAgIHdoaWxlIChuZXh0R2x5cGggPCBnbHlwaEJ1ZmZlci5zaXplKCkpIHsKLSAgICAgICAgY29u
c3QgRm9udCogbmV4dEZvbnREYXRhID0gZ2x5cGhCdWZmZXIuZm9udEF0KG5leHRHbHlwaCk7Cisg
ICAgICAgIGNvbnN0IEZvbnQmIG5leHRGb250RGF0YSA9IGdseXBoQnVmZmVyLmZvbnRBdChuZXh0
R2x5cGgpOwogCi0gICAgICAgIGlmIChuZXh0Rm9udERhdGEgIT0gZm9udERhdGEpIHsKKyAgICAg
ICAgaWYgKCZuZXh0Rm9udERhdGEgIT0gZm9udERhdGEpIHsKICAgICAgICAgICAgIGlmIChzaG91
bGREcmF3SWZMb2FkaW5nKCpmb250RGF0YSwgY3VzdG9tRm9udE5vdFJlYWR5QWN0aW9uKSkKICAg
ICAgICAgICAgICAgICBjb250ZXh0LmRyYXdHbHlwaHMoKmZvbnREYXRhLCBnbHlwaEJ1ZmZlciwg
bGFzdEZyb20sIG5leHRHbHlwaCAtIGxhc3RGcm9tLCBzdGFydFBvaW50LCBtX2ZvbnREZXNjcmlw
dGlvbi5mb250U21vb3RoaW5nKCkpOwogCiAgICAgICAgICAgICBsYXN0RnJvbSA9IG5leHRHbHlw
aDsKLSAgICAgICAgICAgIGZvbnREYXRhID0gbmV4dEZvbnREYXRhOworICAgICAgICAgICAgZm9u
dERhdGEgPSAmbmV4dEZvbnREYXRhOwogICAgICAgICAgICAgc3RhcnRQb2ludC5zZXRYKG5leHRY
KTsKICAgICAgICAgICAgIHN0YXJ0UG9pbnQuc2V0WShuZXh0WSk7CiAgICAgICAgIH0KQEAgLTE0
NzQsMTQgKzE0NzQsMTQgQEAgdm9pZCBGb250Q2FzY2FkZTo6ZHJhd0dseXBoQnVmZmVyKEdyYXBo
aWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgR2x5cGhCdWZmZXImIGcKICAgICBwb2ludC5zZXRY
KG5leHRYKTsKIH0KIAotaW5saW5lIHN0YXRpYyBmbG9hdCBvZmZzZXRUb01pZGRsZU9mR2x5cGgo
Y29uc3QgRm9udCogZm9udERhdGEsIEdseXBoIGdseXBoKQoraW5saW5lIHN0YXRpYyBmbG9hdCBv
ZmZzZXRUb01pZGRsZU9mR2x5cGgoY29uc3QgRm9udCYgZm9udERhdGEsIEdseXBoIGdseXBoKQog
ewotICAgIGlmIChmb250RGF0YS0+cGxhdGZvcm1EYXRhKCkub3JpZW50YXRpb24oKSA9PSBGb250
T3JpZW50YXRpb246Okhvcml6b250YWwpIHsKLSAgICAgICAgRmxvYXRSZWN0IGJvdW5kcyA9IGZv
bnREYXRhLT5ib3VuZHNGb3JHbHlwaChnbHlwaCk7CisgICAgaWYgKGZvbnREYXRhLnBsYXRmb3Jt
RGF0YSgpLm9yaWVudGF0aW9uKCkgPT0gRm9udE9yaWVudGF0aW9uOjpIb3Jpem9udGFsKSB7Cisg
ICAgICAgIEZsb2F0UmVjdCBib3VuZHMgPSBmb250RGF0YS5ib3VuZHNGb3JHbHlwaChnbHlwaCk7
CiAgICAgICAgIHJldHVybiBib3VuZHMueCgpICsgYm91bmRzLndpZHRoKCkgLyAyOwogICAgIH0K
ICAgICAvLyBGSVhNRTogVXNlIGdseXBoIGJvdW5kcyBvbmNlIHRoZXkgbWFrZSBzZW5zZSBmb3Ig
dmVydGljYWwgZm9udHMuCi0gICAgcmV0dXJuIGZvbnREYXRhLT53aWR0aEZvckdseXBoKGdseXBo
KSAvIDI7CisgICAgcmV0dXJuIGZvbnREYXRhLndpZHRoRm9yR2x5cGgoZ2x5cGgpIC8gMjsKIH0K
IAogaW5saW5lIHN0YXRpYyBmbG9hdCBvZmZzZXRUb01pZGRsZU9mR2x5cGhBdEluZGV4KGNvbnN0
IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgaSkKQEAgLTE1MDUsMTYgKzE1MDUs
MTYgQEAgdm9pZCBGb250Q2FzY2FkZTo6ZHJhd0VtcGhhc2lzTWFya3MoR3JhcGhpY3NDb250ZXh0
JiBjb250ZXh0LCBjb25zdCBHbHlwaEJ1ZmZlciYKICAgICBHbHlwaCBzcGFjZUdseXBoID0gbWFy
a0ZvbnREYXRhLT5zcGFjZUdseXBoKCk7CiAKICAgICBmbG9hdCBtaWRkbGVPZkxhc3RHbHlwaCA9
IG9mZnNldFRvTWlkZGxlT2ZHbHlwaEF0SW5kZXgoZ2x5cGhCdWZmZXIsIDApOwotICAgIEZsb2F0
UG9pbnQgc3RhcnRQb2ludChwb2ludC54KCkgKyBtaWRkbGVPZkxhc3RHbHlwaCAtIG9mZnNldFRv
TWlkZGxlT2ZHbHlwaChtYXJrRm9udERhdGEsIG1hcmtHbHlwaCksIHBvaW50LnkoKSk7CisgICAg
RmxvYXRQb2ludCBzdGFydFBvaW50KHBvaW50LngoKSArIG1pZGRsZU9mTGFzdEdseXBoIC0gb2Zm
c2V0VG9NaWRkbGVPZkdseXBoKCptYXJrRm9udERhdGEsIG1hcmtHbHlwaCksIHBvaW50LnkoKSk7
CiAKICAgICBHbHlwaEJ1ZmZlciBtYXJrQnVmZmVyOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgKyAxIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgZmxvYXQgbWlkZGxl
T2ZOZXh0R2x5cGggPSBvZmZzZXRUb01pZGRsZU9mR2x5cGhBdEluZGV4KGdseXBoQnVmZmVyLCBp
ICsgMSk7CiAgICAgICAgIGZsb2F0IGFkdmFuY2UgPSBnbHlwaEJ1ZmZlci5hZHZhbmNlQXQoaSku
d2lkdGgoKSAtIG1pZGRsZU9mTGFzdEdseXBoICsgbWlkZGxlT2ZOZXh0R2x5cGg7Ci0gICAgICAg
IG1hcmtCdWZmZXIuYWRkKGdseXBoQnVmZmVyLmdseXBoQXQoaSkgPyBtYXJrR2x5cGggOiBzcGFj
ZUdseXBoLCBtYXJrRm9udERhdGEsIGFkdmFuY2UpOworICAgICAgICBtYXJrQnVmZmVyLmFkZChn
bHlwaEJ1ZmZlci5nbHlwaEF0KGkpID8gbWFya0dseXBoIDogc3BhY2VHbHlwaCwgKm1hcmtGb250
RGF0YSwgYWR2YW5jZSk7CiAgICAgICAgIG1pZGRsZU9mTGFzdEdseXBoID0gbWlkZGxlT2ZOZXh0
R2x5cGg7CiAgICAgfQotICAgIG1hcmtCdWZmZXIuYWRkKGdseXBoQnVmZmVyLmdseXBoQXQoZ2x5
cGhCdWZmZXIuc2l6ZSgpIC0gMSkgPyBtYXJrR2x5cGggOiBzcGFjZUdseXBoLCBtYXJrRm9udERh
dGEsIDApOworICAgIG1hcmtCdWZmZXIuYWRkKGdseXBoQnVmZmVyLmdseXBoQXQoZ2x5cGhCdWZm
ZXIuc2l6ZSgpIC0gMSkgPyBtYXJrR2x5cGggOiBzcGFjZUdseXBoLCAqbWFya0ZvbnREYXRhLCAw
KTsKIAogICAgIGRyYXdHbHlwaEJ1ZmZlcihjb250ZXh0LCBtYXJrQnVmZmVyLCBzdGFydFBvaW50
LCBDdXN0b21Gb250Tm90UmVhZHlBY3Rpb246OkRvTm90UGFpbnRJZkZvbnROb3RSZWFkeSk7CiB9
CkBAIC0xNzE3LDcgKzE3MTcsNyBAQCBwdWJsaWM6CiAgICAgICAgIDogbV9pbmRleCgwKQogICAg
ICAgICAsIG1fdGV4dFJ1bih0ZXh0UnVuKQogICAgICAgICAsIG1fZ2x5cGhCdWZmZXIoZ2x5cGhC
dWZmZXIpCi0gICAgICAgICwgbV9mb250RGF0YShnbHlwaEJ1ZmZlci5mb250QXQobV9pbmRleCkp
CisgICAgICAgICwgbV9mb250RGF0YSgmZ2x5cGhCdWZmZXIuZm9udEF0KG1faW5kZXgpKQogICAg
ICAgICAsIG1fdHJhbnNsYXRpb24oQWZmaW5lVHJhbnNmb3JtOjp0cmFuc2xhdGlvbih0ZXh0T3Jp
Z2luLngoKSwgdGV4dE9yaWdpbi55KCkpKQogICAgIHsKICNpZiBVU0UoQ0cpCkBAIC0xNzY1LDcg
KzE3NjUsNyBAQCB2b2lkIEdseXBoVG9QYXRoVHJhbnNsYXRvcjo6YWR2YW5jZSgpCiAgICAgbV90
cmFuc2xhdGlvbi50cmFuc2xhdGUoRmxvYXRTaXplKGFkdmFuY2Uud2lkdGgoKSwgYWR2YW5jZS5o
ZWlnaHQoKSkpOwogICAgICsrbV9pbmRleDsKICAgICBpZiAobV9pbmRleCA8IG1fZ2x5cGhCdWZm
ZXIuc2l6ZSgpKQotICAgICAgICBtX2ZvbnREYXRhID0gbV9nbHlwaEJ1ZmZlci5mb250QXQobV9p
bmRleCk7CisgICAgICAgIG1fZm9udERhdGEgPSAmbV9nbHlwaEJ1ZmZlci5mb250QXQobV9pbmRl
eCk7CiB9CiAKIERhc2hBcnJheSBGb250Q2FzY2FkZTo6ZGFzaGVzRm9ySW50ZXJzZWN0aW9uc1dp
dGhSZWN0KGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwg
Y29uc3QgRmxvYXRSZWN0JiBsaW5lRXh0ZW50cykgY29uc3QKQEAgLTE3ODMsMTIgKzE3ODMsNiBA
QCBEYXNoQXJyYXkgRm9udENhc2NhZGU6OmRhc2hlc0ZvckludGVyc2VjdGlvbnNXaXRoUmVjdChj
b25zdCBUZXh0UnVuJiBydW4sIGNvbnN0CiAgICAgRGFzaEFycmF5IHJlc3VsdDsKICAgICBmb3Ig
KHVuc2lnbmVkIGluZGV4ID0gMDsgdHJhbnNsYXRvci5jb250YWluc01vcmVQYXRocygpOyArK2lu
ZGV4LCB0cmFuc2xhdG9yLmFkdmFuY2UoKSkgewogICAgICAgICBHbHlwaEl0ZXJhdGlvblN0YXRl
IGluZm8gPSB7IEZsb2F0UG9pbnQoMCwgMCksIEZsb2F0UG9pbnQoMCwgMCksIGxpbmVFeHRlbnRz
LnkoKSwgbGluZUV4dGVudHMueSgpICsgbGluZUV4dGVudHMuaGVpZ2h0KCksIGxpbmVFeHRlbnRz
LngoKSArIGxpbmVFeHRlbnRzLndpZHRoKCksIGxpbmVFeHRlbnRzLngoKSB9OwotICAgICAgICBj
b25zdCBGb250KiBsb2NhbEZvbnQgPSBnbHlwaEJ1ZmZlci5mb250QXQoaW5kZXgpOwotICAgICAg
ICBpZiAoIWxvY2FsRm9udCkgewotICAgICAgICAgICAgLy8gVGhlIGFkdmFuY2VzIHdpbGwgZ2V0
IGFsbCBtZXNzZWQgdXAgaWYgd2UgZG8gYW55dGhpbmcgb3RoZXIgdGhhbiBiYWlsIGhlcmUuCi0g
ICAgICAgICAgICByZXN1bHQuY2xlYXIoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9
CiAgICAgICAgIHN3aXRjaCAodHJhbnNsYXRvci51bmRlcmxpbmVUeXBlKCkpIHsKICAgICAgICAg
Y2FzZSBHbHlwaFVuZGVybGluZVR5cGU6OlNraXBEZXNjZW5kZXJzOiB7CiAgICAgICAgICAgICBQ
YXRoIHBhdGggPSB0cmFuc2xhdG9yLnBhdGgoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCmluZGV4IDE3MmQzYTc4MjhhZDA5MDczMzBlN2MyNGZl
ZjVjOTNjNWY3NjJiYjAuLjk3ODg2YjI1MDdlNjEwZTNiN2I1NTA3NGZlN2E1MzllMjkxMjg1NjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaApA
QCAtMTkxLDcgKzE5MSwxMSBAQCBwdWJsaWM6CiAgICAgY29uc3QgR2x5cGhCdWZmZXJPcmlnaW4q
IG9yaWdpbnModW5zaWduZWQgZnJvbSkgY29uc3QgeyByZXR1cm4gbV9vcmlnaW5zLmRhdGEoKSAr
IGZyb207IH0KICAgICBjb25zdCBHbHlwaEJ1ZmZlclN0cmluZ09mZnNldCogb2Zmc2V0c0luU3Ry
aW5nKHVuc2lnbmVkIGZyb20pIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0c0luU3RyaW5nLmRhdGEo
KSArIGZyb207IH0KIAotICAgIGNvbnN0IEZvbnQqIGZvbnRBdCh1bnNpZ25lZCBpbmRleCkgY29u
c3QgeyByZXR1cm4gbV9mb250c1tpbmRleF07IH0KKyAgICBjb25zdCBGb250JiBmb250QXQodW5z
aWduZWQgaW5kZXgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQobV9mb250c1tpbmRleF0p
OworICAgICAgICByZXR1cm4gKm1fZm9udHNbaW5kZXhdOworICAgIH0KICAgICBHbHlwaCBnbHlw
aEF0KHVuc2lnbmVkIGluZGV4KSBjb25zdCB7IHJldHVybiBtX2dseXBoc1tpbmRleF07IH0KICAg
ICBHbHlwaEJ1ZmZlckFkdmFuY2UgYWR2YW5jZUF0KHVuc2lnbmVkIGluZGV4KSBjb25zdCB7IHJl
dHVybiBtX2FkdmFuY2VzW2luZGV4XTsgfQogICAgIEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0IHN0
cmluZ09mZnNldEF0KHVuc2lnbmVkIGluZGV4KSBjb25zdCB7IHJldHVybiBtX29mZnNldHNJblN0
cmluZ1tpbmRleF07IH0KQEAgLTIwMCw3ICsyMDQsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgR2x5
cGhCdWZmZXJBZHZhbmNlJiBpbml0aWFsQWR2YW5jZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlh
bEFkdmFuY2U7IH0KICAgICAKICAgICBzdGF0aWMgY29uc3RleHByIEdseXBoQnVmZmVyU3RyaW5n
T2Zmc2V0IG5vT2Zmc2V0ID0gc3RkOjpudW1lcmljX2xpbWl0czxHbHlwaEJ1ZmZlclN0cmluZ09m
ZnNldD46Om1heCgpOwotICAgIHZvaWQgYWRkKEdseXBoIGdseXBoLCBjb25zdCBGb250KiBmb250
LCBmbG9hdCB3aWR0aCwgR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgb2Zmc2V0SW5TdHJpbmcgPSBu
b09mZnNldCkKKyAgICB2b2lkIGFkZChHbHlwaCBnbHlwaCwgY29uc3QgRm9udCYgZm9udCwgZmxv
YXQgd2lkdGgsIEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0IG9mZnNldEluU3RyaW5nID0gbm9PZmZz
ZXQpCiAgICAgewogICAgICAgICBHbHlwaEJ1ZmZlckFkdmFuY2UgYWR2YW5jZTsKICAgICAgICAg
YWR2YW5jZS5zZXRXaWR0aCh3aWR0aCk7CkBAIC0yMDgsOSArMjEyLDkgQEAgcHVibGljOgogICAg
ICAgICBhZGQoZ2x5cGgsIGZvbnQsIGFkdmFuY2UsIG9mZnNldEluU3RyaW5nKTsKICAgICB9CiAK
LSAgICB2b2lkIGFkZChHbHlwaCBnbHlwaCwgY29uc3QgRm9udCogZm9udCwgR2x5cGhCdWZmZXJB
ZHZhbmNlIGFkdmFuY2UsIEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0IG9mZnNldEluU3RyaW5nKQor
ICAgIHZvaWQgYWRkKEdseXBoIGdseXBoLCBjb25zdCBGb250JiBmb250LCBHbHlwaEJ1ZmZlckFk
dmFuY2UgYWR2YW5jZSwgR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgb2Zmc2V0SW5TdHJpbmcpCiAg
ICAgewotICAgICAgICBtX2ZvbnRzLmFwcGVuZChmb250KTsKKyAgICAgICAgbV9mb250cy5hcHBl
bmQoJmZvbnQpOwogICAgICAgICBtX2dseXBocy5hcHBlbmQoZ2x5cGgpOwogICAgICAgICBtX2Fk
dmFuY2VzLmFwcGVuZChhZHZhbmNlKTsKICAgICAgICAgbV9vcmlnaW5zLmFwcGVuZChHbHlwaEJ1
ZmZlck9yaWdpbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1dpZHRoSXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
V2lkdGhJdGVyYXRvci5jcHAKaW5kZXggNTQ1NWJiZGY3MDU3NGZkNTU3MmU2Y2M2MzYzODhlM2Ey
YWNjMjEzYS4uNGY3ZTk5NTg1NzQ4ZWY0ZmMwZjIzZjE0NGY4NWFkZmIxZmZmODNlMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAK
QEAgLTI4Nyw5ICsyODcsOSBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50
ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChnbHlwaEJ1ZmZlcikgewogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoZ2x5cGhCdWZmZXItPmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKG1fZm9yVGV4dEVtcGhhc2lzKQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZm9udC0+emVyb1dp
ZHRoU3BhY2VHbHlwaCgpLCBmb250LCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5LCBjdXJyZW50
Q2hhcmFjdGVySW5kZXgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdseXBoQnVmZmVyLT5hZGQoZm9udC0+emVyb1dpZHRoU3BhY2VHbHlwaCgpLCAqZm9udCwgbV9l
eHBhbnNpb25QZXJPcHBvcnR1bml0eSwgY3VycmVudENoYXJhY3RlckluZGV4KTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+YWRkKGZvbnQtPnNwYWNlR2x5cGgoKSwgZm9u
dCwgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSwgY3VycmVudENoYXJhY3RlckluZGV4KTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+YWRkKGZv
bnQtPnNwYWNlR2x5cGgoKSwgKmZvbnQsIG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHksIGN1cnJl
bnRDaGFyYWN0ZXJJbmRleCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxz
ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmV4cGFu
ZExhc3RBZHZhbmNlKG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHkpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0KQEAgLTMzOSw3ICszMzksNyBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJh
dG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVm
ZgogICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nICs9IHdpZHRoOwogCiAgICAgICAgIGlm
IChnbHlwaEJ1ZmZlcikKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnQs
IChydGwgPyBvbGRXaWR0aCArIGxhc3RSb3VuZGluZ1dpZHRoIDogd2lkdGgpLCBjdXJyZW50Q2hh
cmFjdGVySW5kZXgpOworICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChnbHlwaCwgKmZvbnQs
IChydGwgPyBvbGRXaWR0aCArIGxhc3RSb3VuZGluZ1dpZHRoIDogd2lkdGgpLCBjdXJyZW50Q2hh
cmFjdGVySW5kZXgpOwogCiAgICAgICAgIGxhc3RSb3VuZGluZ1dpZHRoID0gd2lkdGggLSBvbGRX
aWR0aDsKIApAQCAtMzUzLDkgKzM1Myw5IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFk
dmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAKICAg
ICBpZiAoZ2x5cGhCdWZmZXIgJiYgbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgpIHsKICAgICAg
ICAgaWYgKG1fZm9yVGV4dEVtcGhhc2lzKQotICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChs
YXN0Rm9udERhdGEtPnplcm9XaWR0aFNwYWNlR2x5cGgoKSwgbGFzdEZvbnREYXRhLCBsZWZ0b3Zl
ckp1c3RpZmljYXRpb25XaWR0aCwgbV9ydW4ubGVuZ3RoKCkgLSAxKTsKKyAgICAgICAgICAgIGds
eXBoQnVmZmVyLT5hZGQobGFzdEZvbnREYXRhLT56ZXJvV2lkdGhTcGFjZUdseXBoKCksICpsYXN0
Rm9udERhdGEsIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEp
OwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBnbHlwaEJ1ZmZlci0+YWRkKGxhc3RGb250RGF0
YS0+c3BhY2VHbHlwaCgpLCBsYXN0Rm9udERhdGEsIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRo
LCBtX3J1bi5sZW5ndGgoKSAtIDEpOworICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChsYXN0
Rm9udERhdGEtPnNwYWNlR2x5cGgoKSwgKmxhc3RGb250RGF0YSwgbGVmdG92ZXJKdXN0aWZpY2F0
aW9uV2lkdGgsIG1fcnVuLmxlbmd0aCgpIC0gMSk7CiAgICAgfQogCiAgICAgYXV0byB0cmFuc2Zv
cm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlw
aENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVt
cy5jcHAKaW5kZXggMDA0ZGJiYmRmYjkyMWI2N2UyNTIxNWI3MzkwNzM5NTk5NjNlMmE2Zi4uMjQ5
YTAxODUyYjU4YzIwYTY5YzQxMzMxMDE0NzMzOTljMzJjODU1NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdEl0ZW1zLmNwcApAQCAtNTQ0LDcgKzU0NCw3IEBAIGlubGluZSBHbHlwaEJ1ZmZl
ciBEcmF3R2x5cGhzOjpnZW5lcmF0ZUdseXBoQnVmZmVyKCkgY29uc3QKIHsKICAgICBHbHlwaEJ1
ZmZlciByZXN1bHQ7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2dseXBocy5zaXplKCk7
ICsraSkKLSAgICAgICAgcmVzdWx0LmFkZChtX2dseXBoc1tpXSwgJm1fZm9udC5nZXQoKSwgbV9h
ZHZhbmNlc1tpXSwgR2x5cGhCdWZmZXI6Om5vT2Zmc2V0KTsKKyAgICAgICAgcmVzdWx0LmFkZCht
X2dseXBoc1tpXSwgbV9mb250LmdldCgpLCBtX2FkdmFuY2VzW2ldLCBHbHlwaEJ1ZmZlcjo6bm9P
ZmZzZXQpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvTWF0aE9wZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvTWF0aE9wZXJhdG9yLmNwcAppbmRleCA1ZjQzMDdiNWIwODI4M2RkYjI3
ZWNkZTc2NTZjYjVlMGNmOGYwNWNlLi5jNzVmMTgzMzJlZmJjOWI5MzViOTlkNGZjNzJlOTU1NGY0
Mjk0MzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL01hdGhP
cGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9NYXRoT3Bl
cmF0b3IuY3BwCkBAIC01MjUsNyArNTI1LDcgQEAgTGF5b3V0UmVjdCBNYXRoT3BlcmF0b3I6OnBh
aW50R2x5cGgoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBQYWludEluZm8mIGluZm8sIGMKICAg
ICBpbmZvLmNvbnRleHQoKS5jbGlwKGNsaXBCb3VuZHMpOwogCiAgICAgR2x5cGhCdWZmZXIgYnVm
ZmVyOwotICAgIGJ1ZmZlci5hZGQoZGF0YS5nbHlwaCwgZGF0YS5mb250LCBhZHZhbmNlV2lkdGhG
b3JHbHlwaChkYXRhKSk7CisgICAgYnVmZmVyLmFkZChkYXRhLmdseXBoLCAqZGF0YS5mb250LCBh
ZHZhbmNlV2lkdGhGb3JHbHlwaChkYXRhKSk7CiAgICAgaW5mby5jb250ZXh0KCkuZHJhd0dseXBo
cygqZGF0YS5mb250LCBidWZmZXIsIDAsIDEsIG9yaWdpbiwgc3R5bGUuZm9udENhc2NhZGUoKS5m
b250RGVzY3JpcHRpb24oKS5mb250U21vb3RoaW5nKCkpOwogCiAgICAgcmV0dXJuIGdseXBoUGFp
bnRSZWN0OwpAQCAtNzI5LDcgKzcyOSw3IEBAIHZvaWQgTWF0aE9wZXJhdG9yOjpwYWludChjb25z
dCBSZW5kZXJTdHlsZSYgc3R5bGUsIFBhaW50SW5mbyYgaW5mbywgY29uc3QgTGF5b3V0CiAgICAg
ICAgIGdseXBoRGF0YS5nbHlwaCA9IG1fdmFyaWFudEdseXBoOwogCiAgICAgR2x5cGhCdWZmZXIg
YnVmZmVyOwotICAgIGJ1ZmZlci5hZGQoZ2x5cGhEYXRhLmdseXBoLCBnbHlwaERhdGEuZm9udCwg
YWR2YW5jZVdpZHRoRm9yR2x5cGgoZ2x5cGhEYXRhKSk7CisgICAgYnVmZmVyLmFkZChnbHlwaERh
dGEuZ2x5cGgsICpnbHlwaERhdGEuZm9udCwgYWR2YW5jZVdpZHRoRm9yR2x5cGgoZ2x5cGhEYXRh
KSk7CiAgICAgTGF5b3V0UG9pbnQgb3BlcmF0b3JUb3BMZWZ0ID0gcGFpbnRPZmZzZXQ7CiAgICAg
RmxvYXRSZWN0IGdseXBoQm91bmRzID0gYm91bmRzRm9yR2x5cGgoZ2x5cGhEYXRhKTsKICAgICBM
YXlvdXRQb2ludCBvcGVyYXRvck9yaWdpbiB7IG9wZXJhdG9yVG9wTGVmdC54KCksIExheW91dFVu
aXQob3BlcmF0b3JUb3BMZWZ0LnkoKSAtIGdseXBoQm91bmRzLnkoKSkgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5jcHAKaW5k
ZXggN2FkYTJmZTgyYjZkOWRlYWI3YTQyZjVhYzdiZDczZDA1MjVkOGI2NC4uZDUzZDZjNGJiMmYy
YWNhMDAwMzY4YzA1N2IzMDVlYjQ5ODdjMzQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5jcHAKQEAgLTYwNyw3ICs2MDcs
NyBAQCB2b2lkIFJlbmRlck1hdGhNTFRva2VuOjpwYWludChQYWludEluZm8mIGluZm8sIGNvbnN0
IExheW91dFBvaW50JiBwYWludE9mZnNldCkKICAgICBpbmZvLmNvbnRleHQoKS5zZXRGaWxsQ29s
b3Ioc3R5bGUoKS52aXNpdGVkRGVwZW5kZW50Q29sb3JXaXRoQ29sb3JGaWx0ZXIoQ1NTUHJvcGVy
dHlDb2xvcikpOwogCiAgICAgR2x5cGhCdWZmZXIgYnVmZmVyOwotICAgIGJ1ZmZlci5hZGQobWF0
aFZhcmlhbnRHbHlwaC5nbHlwaCwgbWF0aFZhcmlhbnRHbHlwaC5mb250LCBtYXRoVmFyaWFudEds
eXBoLmZvbnQtPndpZHRoRm9yR2x5cGgobWF0aFZhcmlhbnRHbHlwaC5nbHlwaCkpOworICAgIGJ1
ZmZlci5hZGQobWF0aFZhcmlhbnRHbHlwaC5nbHlwaCwgKm1hdGhWYXJpYW50R2x5cGguZm9udCwg
bWF0aFZhcmlhbnRHbHlwaC5mb250LT53aWR0aEZvckdseXBoKG1hdGhWYXJpYW50R2x5cGguZ2x5
cGgpKTsKICAgICBMYXlvdXRVbml0IGdseXBoQXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50Pihscm91
bmRmKC1tYXRoVmFyaWFudEdseXBoLmZvbnQtPmJvdW5kc0ZvckdseXBoKG1hdGhWYXJpYW50R2x5
cGguZ2x5cGgpLnkoKSkpOwogICAgIGluZm8uY29udGV4dCgpLmRyYXdHbHlwaHMoKm1hdGhWYXJp
YW50R2x5cGguZm9udCwgYnVmZmVyLCAwLCAxLCBwYWludE9mZnNldCArIGxvY2F0aW9uKCkgKyBM
YXlvdXRQb2ludCgwX2x1LCBnbHlwaEFzY2VudCksIHN0eWxlKCkuZm9udENhc2NhZGUoKS5mb250
RGVzY3JpcHRpb24oKS5mb250U21vb3RoaW5nKCkpOwogfQo=
</data>
<flag name="review"
          id="421655"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>