<?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>30025</bug_id>
          
          <creation_ts>2009-10-02 12:15:45 -0700</creation_ts>
          <short_desc>Problem editing or selecting text containing ligatures</short_desc>
          <delta_ts>2009-10-29 14:29: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>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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="Frank Illenberger">illenberger</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>kai</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>151927</commentid>
    <comment_count>0</comment_count>
      <attachid>40538</attachid>
    <who name="Frank Illenberger">illenberger</who>
    <bug_when>2009-10-02 12:15:45 -0700</bug_when>
    <thetext>Created attachment 40538
Example showing weird editing and selection behavior if ligatures are rendered

If the new CSS text-rendering property is set to &quot;geometricPrecision&quot; and ligatures are rendered, it is not possible to edit or select single characters/glyhps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151932</commentid>
    <comment_count>1</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-10-02 12:25:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/7271825&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157312</commentid>
    <comment_count>2</comment_count>
      <attachid>41749</attachid>
    <who name="">mitz</who>
    <bug_when>2009-10-23 14:34:23 -0700</bug_when>
    <thetext>Created attachment 41749
Core Text part of the patch, with test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159072</commentid>
    <comment_count>3</comment_count>
      <attachid>42142</attachid>
    <who name="">mitz</who>
    <bug_when>2009-10-29 14:06:30 -0700</bug_when>
    <thetext>Created attachment 42142
Patch with test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159088</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2009-10-29 14:29:13 -0700</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/projects/webkit/changeset/50301&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>40538</attachid>
            <date>2009-10-02 12:15:45 -0700</date>
            <delta_ts>2009-10-02 12:15:45 -0700</delta_ts>
            <desc>Example showing weird editing and selection behavior if ligatures are rendered</desc>
            <filename>Wrong Editing and Selection.html</filename>
            <type>text/html</type>
            <size>322</size>
            <attacher name="Frank Illenberger">illenberger</attacher>
            
              <data encoding="base64">PGh0bWw+Cgk8Ym9keSBzdHlsZT0idGV4dC1yZW5kZXJpbmc6Z2VvbWV0cmljUHJlY2lzaW9uOyIg
Y29udGVudGVkaXRhYmxlPSJ0cnVlIj4KCQlUcnkgdG8gc2VsZWN0IG9yIGVkaXQgc29tZSB0ZXh0
CQoJCTxici8+CgkJPGJyLz4KCgkJPGRpdiBzdHlsZT0iZm9udC1zaXplOjMwcHg7IGZvbnQtZmFt
aWx5OidaYXBmaW5vJzsgIj4KCQkJWmFwZmlubwoJCTwvZGl2PgoJCTxici8+CgkJPGJyLz4KCQk8
ZGl2IHN0eWxlPSJmb250LXNpemU6MzBweDsgZm9udC1mYW1pbHk6J0x1Y2lkYSBHcmFuZGUnIj4K
CQkJZmxmbGZsZmwKCQk8L2Rpdj4KCTwvYm9keT4KPC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41749</attachid>
            <date>2009-10-23 14:34:23 -0700</date>
            <delta_ts>2009-10-29 14:06:30 -0700</delta_ts>
            <desc>Core Text part of the patch, with test</desc>
            <filename>ligature-caret.diff</filename>
            <type>text/plain</type>
            <size>13730</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvcmVUZXh0Q29udHJvbGxlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29yZVRleHRD
b250cm9sbGVyLmNwcAkocmV2aXNpb24gNDk5NDMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9Db3JlVGV4dENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNiAr
MTExLDcgQEAgQ29yZVRleHRDb250cm9sbGVyOjpDb3JlVGV4dENvbnRyb2xsZXIoYwogICAgICwg
bV9udW1HbHlwaHNTb0ZhcigwKQogICAgICwgbV9jdXJyZW50UnVuKDApCiAgICAgLCBtX2dseXBo
SW5DdXJyZW50UnVuKDApCisgICAgLCBtX2NoYXJhY3RlckluQ3VycmVudEdseXBoKDApCiAgICAg
LCBtX2ZpbmFsUm91bmRpbmdXaWR0aCgwKQogICAgICwgbV9mYWxsYmFja0ZvbnRzKGZhbGxiYWNr
Rm9udHMpCiAgICAgLCBtX2xhc3RSb3VuZGluZ0dseXBoKDApCkBAIC0xMzYsMTAgKzEzNyw2IEBA
IENvcmVUZXh0Q29udHJvbGxlcjo6Q29yZVRleHRDb250cm9sbGVyKGMKIAogaW50IENvcmVUZXh0
Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24oaW50IGgsIGJvb2wgaW5jbHVkZVBhcnRpYWxH
bHlwaHMpCiB7Ci0gICAgLy8gRklYTUU6IEZvciBwb3NpdGlvbnMgb2NjdXJyaW5nIHdpdGhpbiBh
IGxpZ2F0dXJlLCB3ZSBzaG91bGQgcmV0dXJuIHRoZSBjbG9zZXN0ICJsaWdhdHVyZSBjYXJldCIg
b3IKLSAgICAvLyBhcHByb3hpbWF0ZSBpdCBieSBkaXZpZGluZyB0aGUgd2lkdGggb2YgdGhlIGxp
Z2F0dXJlIGJ5IHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpdCBlbmNvbXBhc3Nlcy4KLSAgICAv
LyBIb3dldmVyLCBDb3JlIFRleHQgZG9lcyBub3QgZXhwb3NlIGEgbG93LWxldmVsIEFQSSBmb3Ig
ZGlyZWN0bHkgZmluZGluZwotICAgIC8vIG91dCBob3cgbWFueSBjaGFyYWN0ZXJzIGEgbGlnYXR1
cmUgZW5jb21wYXNzZXMgKHRoZSAiYXR0YWNobWVudCBjb3VudCIpLgogICAgIGlmIChoID49IG1f
dG90YWxXaWR0aCkKICAgICAgICAgcmV0dXJuIG1fcnVuLmx0cigpID8gbV9lbmQgOiAwOwogICAg
IGlmIChoIDwgMCkKQEAgLTE1NCw4ICsxNTEsMTggQEAgaW50IENvcmVUZXh0Q29udHJvbGxlcjo6
b2Zmc2V0Rm9yUG9zaXRpbwogICAgICAgICBjb25zdCBDb3JlVGV4dFJ1biYgY29yZVRleHRSdW4g
PSBtX2NvcmVUZXh0UnVuc1tyXTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8IGNv
cmVUZXh0UnVuLmdseXBoQ291bnQoKTsgKytqKSB7CiAgICAgICAgICAgICBDR0Zsb2F0IGFkanVz
dGVkQWR2YW5jZSA9IG1fYWRqdXN0ZWRBZHZhbmNlc1tvZmZzZXRJbnRvQWRqdXN0ZWRHbHlwaHMg
KyBqXS53aWR0aDsKLSAgICAgICAgICAgIGlmICh4IDw9IGFkanVzdGVkQWR2YW5jZSkgewotICAg
ICAgICAgICAgICAgIENGSW5kZXggaGl0SW5kZXggPSBjb3JlVGV4dFJ1bi5pbmRleEF0KGopOwor
ICAgICAgICAgICAgaWYgKHggPCBhZGp1c3RlZEFkdmFuY2UpIHsKKyAgICAgICAgICAgICAgICBD
RkluZGV4IGhpdEdseXBoU3RhcnQgPSBjb3JlVGV4dFJ1bi5pbmRleEF0KGopOworICAgICAgICAg
ICAgICAgIENGSW5kZXggaGl0R2x5cGhFbmQ7CisgICAgICAgICAgICAgICAgaWYgKG1fcnVuLmx0
cigpKQorICAgICAgICAgICAgICAgICAgICBoaXRHbHlwaEVuZCA9IG1heDxDRkluZGV4PihoaXRH
bHlwaFN0YXJ0LCBqICsgMSA8IGNvcmVUZXh0UnVuLmdseXBoQ291bnQoKSA/IGNvcmVUZXh0UnVu
LmluZGV4QXQoaiArIDEpIDogY29yZVRleHRSdW4uc3RyaW5nTGVuZ3RoKCkpOworICAgICAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgaGl0R2x5cGhFbmQgPSBtYXg8Q0ZJbmRl
eD4oaGl0R2x5cGhTdGFydCwgaiA+IDAgPyBjb3JlVGV4dFJ1bi5pbmRleEF0KGogLSAxKSA6IGNv
cmVUZXh0UnVuLnN0cmluZ0xlbmd0aCgpKTsKKworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBJ
bnN0ZWFkIG9mIGRpdmlkaW5nIHRoZSBnbHlwaCdzIGFkdmFuY2UgZXF1aWFsbHkgYmV0d2VlbiB0
aGUgY2hhcmFjdGVycywgdGhpcworICAgICAgICAgICAgICAgIC8vIGNvdWxkIHVzZSB0aGUgZ2x5
cGgncyAibGlnYXR1cmUgY2FyZXRzIi4gSG93ZXZlciwgdGhlcmUgaXMgbm8gQ29yZSBUZXh0IEFQ
SSB0byBnZXQgdGhlCisgICAgICAgICAgICAgICAgLy8gbGlnYXR1cmUgY2FyZXRzLgorICAgICAg
ICAgICAgICAgIENGSW5kZXggaGl0SW5kZXggPSBoaXRHbHlwaFN0YXJ0ICsgKGhpdEdseXBoRW5k
IC0gaGl0R2x5cGhTdGFydCkgKiAobV9ydW4ubHRyKCkgPyB4IC8gYWRqdXN0ZWRBZHZhbmNlIDog
MSAtIHggLyBhZGp1c3RlZEFkdmFuY2UpOwogICAgICAgICAgICAgICAgIGludCBzdHJpbmdMZW5n
dGggPSBjb3JlVGV4dFJ1bi5zdHJpbmdMZW5ndGgoKTsKICAgICAgICAgICAgICAgICBUZXh0QnJl
YWtJdGVyYXRvciogY3Vyc29yUG9zaXRpb25JdGVyYXRvciA9IGN1cnNvck1vdmVtZW50SXRlcmF0
b3IoY29yZVRleHRSdW4uY2hhcmFjdGVycygpLCBzdHJpbmdMZW5ndGgpOwogICAgICAgICAgICAg
ICAgIGludCBjbHVzdGVyU3RhcnQ7CkBAIC0xNzQsMTEgKzE4MSwxMiBAQCBpbnQgQ29yZVRleHRD
b250cm9sbGVyOjpvZmZzZXRGb3JQb3NpdGlvCiAgICAgICAgICAgICAgICAgaWYgKGNsdXN0ZXJF
bmQgPT0gVGV4dEJyZWFrRG9uZSkKICAgICAgICAgICAgICAgICAgICAgY2x1c3RlckVuZCA9IHN0
cmluZ0xlbmd0aDsKIAotICAgICAgICAgICAgICAgIENHRmxvYXQgY2x1c3RlcldpZHRoID0gYWRq
dXN0ZWRBZHZhbmNlOworICAgICAgICAgICAgICAgIENHRmxvYXQgY2x1c3RlcldpZHRoOwogICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGUgc2VhcmNoIHN0b3BzIGF0IHRoZSBib3VuZGFyaWVz
IG9mIGNvcmVUZXh0UnVuLiBJbiB0aGVvcnksIGl0IHNob3VsZCBnbyBvbiBpbnRvIG5laWdoYm9y
aW5nIENvcmVUZXh0UnVucwogICAgICAgICAgICAgICAgIC8vIGRlcml2ZWQgZnJvbSB0aGUgc2Ft
ZSBDVExpbmUuIEluIHByYWN0aWNlLCB3ZSBkbyBub3QgZXhwZWN0IHRoZXJlIHRvIGJlIG1vcmUg
dGhhbiBvbmUgQ1RSdW4gaW4gYSBDVExpbmUsIGFzIG5vCiAgICAgICAgICAgICAgICAgLy8gcmVv
cmRlcmluZyBhbmQgb24gZm9udCBmYWxsYmFjayBzaG91bGQgb2NjdXIgd2l0aGluIGEgQ1RMaW5l
LgogICAgICAgICAgICAgICAgIGlmIChjbHVzdGVyRW5kIC0gY2x1c3RlclN0YXJ0ID4gMSkgewor
ICAgICAgICAgICAgICAgICAgICBjbHVzdGVyV2lkdGggPSBhZGp1c3RlZEFkdmFuY2U7CiAgICAg
ICAgICAgICAgICAgICAgIGludCBmaXJzdEdseXBoQmVmb3JlQ2x1c3RlciA9IGogLSAxOwogICAg
ICAgICAgICAgICAgICAgICB3aGlsZSAoZmlyc3RHbHlwaEJlZm9yZUNsdXN0ZXIgPj0gMCAmJiBj
b3JlVGV4dFJ1bi5pbmRleEF0KGZpcnN0R2x5cGhCZWZvcmVDbHVzdGVyKSA+PSBjbHVzdGVyU3Rh
cnQgJiYgY29yZVRleHRSdW4uaW5kZXhBdChmaXJzdEdseXBoQmVmb3JlQ2x1c3RlcikgPCBjbHVz
dGVyRW5kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBDR0Zsb2F0IHdpZHRoID0gbV9hZGp1
c3RlZEFkdmFuY2VzW29mZnNldEludG9BZGp1c3RlZEdseXBocyArIGZpcnN0R2x5cGhCZWZvcmVD
bHVzdGVyXS53aWR0aDsKQEAgLTE5MSw2ICsxOTksOSBAQCBpbnQgQ29yZVRleHRDb250cm9sbGVy
OjpvZmZzZXRGb3JQb3NpdGlvCiAgICAgICAgICAgICAgICAgICAgICAgICBjbHVzdGVyV2lkdGgg
Kz0gbV9hZGp1c3RlZEFkdmFuY2VzW29mZnNldEludG9BZGp1c3RlZEdseXBocyArIGZpcnN0R2x5
cGhBZnRlckNsdXN0ZXJdLndpZHRoOwogICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RHbHlw
aEFmdGVyQ2x1c3RlcisrOwogICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY2x1c3RlcldpZHRoID0gYWRqdXN0ZWRBZHZh
bmNlIC8gKGhpdEdseXBoRW5kIC0gaGl0R2x5cGhTdGFydCk7CisgICAgICAgICAgICAgICAgICAg
IHggLT0gIGNsdXN0ZXJXaWR0aCAqIChtX3J1bi5sdHIoKSA/IGhpdEluZGV4IC0gaGl0R2x5cGhT
dGFydCA6IGhpdEdseXBoRW5kIC0gaGl0SW5kZXggLSAxKTsKICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAgICAgaWYgKHggPD0gY2x1c3RlcldpZHRoIC8gMikKICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGNvcmVUZXh0UnVuLnN0cmluZ0xvY2F0aW9uKCkgKyAobV9ydW4ubHRyKCkg
PyBjbHVzdGVyU3RhcnQgOiBjbHVzdGVyRW5kKTsKQEAgLTMwNywxMCArMzE4LDYgQEAgdm9pZCBD
b3JlVGV4dENvbnRyb2xsZXI6OmNvbGxlY3RDb3JlVGV4dAogCiB2b2lkIENvcmVUZXh0Q29udHJv
bGxlcjo6YWR2YW5jZSh1bnNpZ25lZCBvZmZzZXQsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikK
IHsKLSAgICAvLyBGSVhNRTogRm9yIG9mZnNldHMgZmFsbGluZyBpbnNpZGUgYSBsaWdhdHVyZSwg
d2Ugc2hvdWxkIGFkdmFuY2Ugb25seSBhcyBmYXIgYXMgdGhlIGFwcHJvcHJpYXRlICJsaWdhdHVy
ZSBjYXJldCIKLSAgICAvLyBvciBkaXZpZGUgdGhlIHdpZHRoIG9mIHRoZSBsaWdhdHVyZSBieSB0
aGUgbnVtYmVyIG9mIG9mZnNldHMgaXQgZW5jb21wYXNzZXMgYW5kIG1ha2UgYW4gYWR2YW5jZSBw
cm9wb3J0aW9uYWwKLSAgICAvLyB0byB0aGUgb2Zmc2V0cyBpbnRvIHRoZSBsaWdhdHVyZS4gSG93
ZXZlciwgQ29yZSBUZXh0IGRvZXMgbm90IGV4cG9zZSBhIGxvdy1sZXZlbCBBUEkgZm9yCi0gICAg
Ly8gZGlyZWN0bHkgZmluZGluZyBvdXQgaG93IG1hbnkgY2hhcmFjdGVycyBhIGxpZ2F0dXJlIGVu
Y29tcGFzc2VzICh0aGUgImF0dGFjaG1lbnQgY291bnQiKS4KICAgICBpZiAoc3RhdGljX2Nhc3Q8
aW50PihvZmZzZXQpID4gbV9lbmQpCiAgICAgICAgIG9mZnNldCA9IG1fZW5kOwogCkBAIC0zMjks
MTQgKzMzNiwzNCBAQCB2b2lkIENvcmVUZXh0Q29udHJvbGxlcjo6YWR2YW5jZSh1bnNpZ25lCiAg
ICAgICAgIHNpemVfdCBnbHlwaENvdW50ID0gY29yZVRleHRSdW4uZ2x5cGhDb3VudCgpOwogICAg
ICAgICB1bnNpZ25lZCBnID0gbHRyID8gbV9nbHlwaEluQ3VycmVudFJ1biA6IGdseXBoQ291bnQg
LSAxIC0gbV9nbHlwaEluQ3VycmVudFJ1bjsKICAgICAgICAgd2hpbGUgKG1fZ2x5cGhJbkN1cnJl
bnRSdW4gPCBnbHlwaENvdW50KSB7Ci0gICAgICAgICAgICBpZiAoY29yZVRleHRSdW4uaW5kZXhB
dChnKSArIGNvcmVUZXh0UnVuLnN0cmluZ0xvY2F0aW9uKCkgPj0gbV9jdXJyZW50Q2hhcmFjdGVy
KQotICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHVuc2lnbmVkIGdseXBoU3Rh
cnRPZmZzZXQgPSBjb3JlVGV4dFJ1bi5pbmRleEF0KGcpOworICAgICAgICAgICAgdW5zaWduZWQg
Z2x5cGhFbmRPZmZzZXQ7CisgICAgICAgICAgICBpZiAobHRyKQorICAgICAgICAgICAgICAgIGds
eXBoRW5kT2Zmc2V0ID0gbWF4PHVuc2lnbmVkPihnbHlwaFN0YXJ0T2Zmc2V0LCBnICsgMSA8IGds
eXBoQ291bnQgPyBjb3JlVGV4dFJ1bi5pbmRleEF0KGcgKyAxKSA6IGNvcmVUZXh0UnVuLnN0cmlu
Z0xlbmd0aCgpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBnbHlwaEVuZE9m
ZnNldCA9IG1heDx1bnNpZ25lZD4oZ2x5cGhTdGFydE9mZnNldCwgZyA+IDAgPyBjb3JlVGV4dFJ1
bi5pbmRleEF0KGcgLSAxKSA6IGNvcmVUZXh0UnVuLnN0cmluZ0xlbmd0aCgpKTsKKwogICAgICAg
ICAgICAgQ0dTaXplIGFkanVzdGVkQWR2YW5jZSA9IG1fYWRqdXN0ZWRBZHZhbmNlc1trXTsKLSAg
ICAgICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKKworICAgICAgICAgICAgaWYgKGdseXBoU3RhcnRP
ZmZzZXQgKyBjb3JlVGV4dFJ1bi5zdHJpbmdMb2NhdGlvbigpID49IG1fY3VycmVudENoYXJhY3Rl
cikKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGlmIChnbHlwaEJ1ZmZl
ciAmJiAhbV9jaGFyYWN0ZXJJbkN1cnJlbnRHbHlwaCkKICAgICAgICAgICAgICAgICBnbHlwaEJ1
ZmZlci0+YWRkKG1fYWRqdXN0ZWRHbHlwaHNba10sIGNvcmVUZXh0UnVuLmZvbnREYXRhKCksIGFk
anVzdGVkQWR2YW5jZSk7Ci0gICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYWRqdXN0ZWRB
ZHZhbmNlLndpZHRoOworCisgICAgICAgICAgICB1bnNpZ25lZCBvbGRDaGFyYWN0ZXJJbkN1cnJl
bnRHbHlwaCA9IG1fY2hhcmFjdGVySW5DdXJyZW50R2x5cGg7CisgICAgICAgICAgICBtX2NoYXJh
Y3RlckluQ3VycmVudEdseXBoID0gbWluKG1fY3VycmVudENoYXJhY3RlciAtIGNvcmVUZXh0UnVu
LnN0cmluZ0xvY2F0aW9uKCksIGdseXBoRW5kT2Zmc2V0KSAtIGdseXBoU3RhcnRPZmZzZXQ7Cisg
ICAgICAgICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiBkaXZpZGluZyB0aGUgZ2x5cGgncyBhZHZh
bmNlIGVxdWlhbGx5IGJldHdlZW4gdGhlIGNoYXJhY3RlcnMsIHRoaXMKKyAgICAgICAgICAgIC8v
IGNvdWxkIHVzZSB0aGUgZ2x5cGgncyAibGlnYXR1cmUgY2FyZXRzIi4gSG93ZXZlciwgdGhlcmUg
aXMgbm8gQ29yZSBUZXh0IEFQSSB0byBnZXQgdGhlCisgICAgICAgICAgICAvLyBsaWdhdHVyZSBj
YXJldHMuCisgICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYWRqdXN0ZWRBZHZhbmNlLndp
ZHRoICogKG1fY2hhcmFjdGVySW5DdXJyZW50R2x5cGggLSBvbGRDaGFyYWN0ZXJJbkN1cnJlbnRH
bHlwaCkgLyAoZ2x5cGhFbmRPZmZzZXQgLSBnbHlwaFN0YXJ0T2Zmc2V0KTsKKworICAgICAgICAg
ICAgaWYgKGdseXBoRW5kT2Zmc2V0ICsgY29yZVRleHRSdW4uc3RyaW5nTG9jYXRpb24oKSA+IG1f
Y3VycmVudENoYXJhY3RlcikKKyAgICAgICAgICAgICAgICByZXR1cm47CisKICAgICAgICAgICAg
IG1fbnVtR2x5cGhzU29GYXIrKzsKICAgICAgICAgICAgIG1fZ2x5cGhJbkN1cnJlbnRSdW4rKzsK
KyAgICAgICAgICAgIG1fY2hhcmFjdGVySW5DdXJyZW50R2x5cGggPSAwOwogICAgICAgICAgICAg
aWYgKGx0cikgewogICAgICAgICAgICAgICAgIGcrKzsKICAgICAgICAgICAgICAgICBrKys7Cklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db3JlVGV4dENvbnRyb2xsZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db3JlVGV4dENvbnRy
b2xsZXIuaAkocmV2aXNpb24gNDk5NDMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9Db3JlVGV4dENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTAyLDYgKzEwMiw3IEBA
IHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9udW1HbHlwaHNTb0ZhcjsKICAgICBzaXplX3QgbV9j
dXJyZW50UnVuOwogICAgIHVuc2lnbmVkIG1fZ2x5cGhJbkN1cnJlbnRSdW47CisgICAgdW5zaWdu
ZWQgbV9jaGFyYWN0ZXJJbkN1cnJlbnRHbHlwaDsKICAgICBmbG9hdCBtX2ZpbmFsUm91bmRpbmdX
aWR0aDsKICAgICBmbG9hdCBtX3BhZGRpbmc7CiAgICAgZmxvYXQgbV9wYWRQZXJTcGFjZTsKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvbGlnYXR1cmUtc3ViZGl2aXNp
b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RleHQvbGlnYXR1cmUtc3ViZGl2aXNpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9saWdhdHVyZS1zdWJkaXZpc2lv
bi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEgQEAKK1Rlc3QgdGhhdCB0
aGUgY2FyZXQgaXMgcG9zaXRpb25lZCBjb3JyZWN0bHkgd2hlbiBpdHMgb2Zmc2V0IG9jY3VycnMg
aW4gdGhlIG1pZGRsZSBvZiBhIGxpZ2F0dXJlLCBhbmQgdGhhdCBoaXQtdGVzdGluZyBpbiB0aGUg
bWlkZGxlIG9mIGEgbGlnYXR1cmUgd29ya3MgY29ycmVjdGx5LgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDEwLCB5KS5z
dGFydE9mZnNldCBpcyAwCitQQVNTIGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoMzAsIHkp
LnN0YXJ0T2Zmc2V0IGlzIDEKK1BBU1MgZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCg2MCwg
eSkuc3RhcnRPZmZzZXQgaXMgMgorUEFTUyBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDgw
LCB5KS5zdGFydE9mZnNldCBpcyAzCitQQVNTIGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQo
MTAwLCB5KS5zdGFydE9mZnNldCBpcyA0CitQQVNTIGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9p
bnQoMTIwLCB5KS5zdGFydE9mZnNldCBpcyA1CitQQVNTIHJhbmdlLmdldEJvdW5kaW5nQ2xpZW50
UmVjdCgpLndpZHRoIGlzIDgwCitQQVNTIGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoeCAt
IDIwLCB5KS5zdGFydE9mZnNldCBpcyAwCitQQVNTIGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9p
bnQoeCAtIDUwLCB5KS5zdGFydE9mZnNldCBpcyAxCitQQVNTIGRvY3VtZW50LmNhcmV0UmFuZ2VG
cm9tUG9pbnQoeCAtIDY0LCB5KS5zdGFydE9mZnNldCBpcyAyCitQQVNTIGRvY3VtZW50LmNhcmV0
UmFuZ2VGcm9tUG9pbnQoeCAtIDkwLCB5KS5zdGFydE9mZnNldCBpcyAzCitQQVNTIHJhbmdlLmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIGlzIDY1CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvdGV4dC9saWdhdHVyZS1zdWJkaXZpc2lvbi5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvbGlnYXR1cmUtc3ViZGl2aXNpb24uaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvbGln
YXR1cmUtc3ViZGl2aXNpb24uaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvbGlnYXR1cmUtc3ViZGl2aXNpb24uanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC90ZXh0L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvc2NyaXB0LXRlc3RzL1RFTVBMQVRF
Lmh0bWwJKHJldmlzaW9uIDQ5OTQzKQkoZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10
ZXN0cy9URU1QTEFURS5odG1sOjQ5OTQzKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvdGV4dC9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvdGV4dC9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9zY3JpcHQt
dGVzdHMvVEVNUExBVEUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMyArMSwxMyBAQAogPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgogPGh0bWw+CiA8aGVh
ZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogPHNjcmlwdCBz
cmM9IllPVVJfSlNfRklMRV9IRVJFIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9zY3JpcHQtdGVzdHMv
bGlnYXR1cmUtc3ViZGl2aXNpb24uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvdGV4dC9zY3JpcHQtdGVzdHMvbGlnYXR1cmUtc3ViZGl2aXNpb24uanMJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NjcmlwdC10
ZXN0cy9saWdhdHVyZS1zdWJkaXZpc2lvbi5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NCBA
QAorZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0aGUgY2FyZXQgaXMgcG9zaXRpb25lZCBjb3JyZWN0
bHkgd2hlbiBpdHMgb2Zmc2V0IG9jY3VycnMgaW4gdGhlIG1pZGRsZSBvZiBhIGxpZ2F0dXJlLFwK
KyAgICBhbmQgdGhhdCBoaXQtdGVzdGluZyBpbiB0aGUgbWlkZGxlIG9mIGEgbGlnYXR1cmUgd29y
a3MgY29ycmVjdGx5LicpOworCit2YXIgbGF0aW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKK2xhdGluLmlubmVySFRNTCA9ICJvZmZpY2UiOworbGF0aW4uc3R5bGUuZm9udFNpemUg
PSAiNzJweCI7CitsYXRpbi5zdHlsZS50ZXh0UmVuZGVyaW5nID0gIm9wdGltaXplbGVnaWJpbGl0
eSI7CitsYXRpbi5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CitsYXRpbi5zdHlsZS50b3Ag
PSAiMCI7CitsYXRpbi5zdHlsZS5sZWZ0ID0gIjAiOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChsYXRpbik7CisKK3ZhciB5ID0gbGF0aW4ub2Zmc2V0VG9wICsgbGF0aW4ub2Zmc2V0SGVpZ2h0
IC8gMjsKKworZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7CisKK3Nob3VsZEJlKCdkb2N1bWVudC5j
YXJldFJhbmdlRnJvbVBvaW50KDEwLCB5KS5zdGFydE9mZnNldCcsICcwJyk7CitzaG91bGRCZSgn
ZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgzMCwgeSkuc3RhcnRPZmZzZXQnLCAnMScpOwor
c2hvdWxkQmUoJ2RvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoNjAsIHkpLnN0YXJ0T2Zmc2V0
JywgJzInKTsKK3Nob3VsZEJlKCdkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDgwLCB5KS5z
dGFydE9mZnNldCcsICczJyk7CitzaG91bGRCZSgnZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2lu
dCgxMDAsIHkpLnN0YXJ0T2Zmc2V0JywgJzQnKTsKK3Nob3VsZEJlKCdkb2N1bWVudC5jYXJldFJh
bmdlRnJvbVBvaW50KDEyMCwgeSkuc3RhcnRPZmZzZXQnLCAnNScpOworCit2YXIgcmFuZ2UgPSBk
b2N1bWVudC5jcmVhdGVSYW5nZSgpOworcmFuZ2Uuc2V0U3RhcnQobGF0aW4uZmlyc3RDaGlsZCwg
MCk7CityYW5nZS5zZXRFbmQobGF0aW4uZmlyc3RDaGlsZCwgMyk7CitzaG91bGRCZSgncmFuZ2Uu
Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgnLCAnODAnKTsKKworZG9jdW1lbnQuYm9keS5y
ZW1vdmVDaGlsZChsYXRpbik7CisKK3ZhciBhcmFiaWMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKK2FyYWJpYy5pbm5lckhUTUwgPSAiJiN4MDYyZDsmI3gwNjQ0OyYjeDA2Mjc7JiN4
MDYyZDsiOworYXJhYmljLnN0eWxlLmZvbnRTaXplID0gIjcycHgiOworYXJhYmljLnN0eWxlLmRp
cmVjdGlvbiA9ICJydGwiOworYXJhYmljLnN0eWxlLnBvc2l0aW9uID0gImFic29sdXRlIjsKK2Fy
YWJpYy5zdHlsZS50b3AgPSAiMCI7CithcmFiaWMuc3R5bGUucmlnaHQgPSAiMCI7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGFyYWJpYyk7CisKK3kgPSBhcmFiaWMub2Zmc2V0VG9wICsgYXJh
YmljLm9mZnNldEhlaWdodCAvIDI7Cit2YXIgeCA9IGFyYWJpYy5vZmZzZXRMZWZ0ICsgYXJhYmlj
Lm9mZnNldFdpZHRoOworCitzaG91bGRCZSgnZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCh4
IC0gMjAsIHkpLnN0YXJ0T2Zmc2V0JywgJzAnKTsKK3Nob3VsZEJlKCdkb2N1bWVudC5jYXJldFJh
bmdlRnJvbVBvaW50KHggLSA1MCwgeSkuc3RhcnRPZmZzZXQnLCAnMScpOworc2hvdWxkQmUoJ2Rv
Y3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoeCAtIDY0LCB5KS5zdGFydE9mZnNldCcsICcyJyk7
CitzaG91bGRCZSgnZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCh4IC0gOTAsIHkpLnN0YXJ0
T2Zmc2V0JywgJzMnKTsKKworcmFuZ2Uuc2V0U3RhcnQoYXJhYmljLmZpcnN0Q2hpbGQsIDApOwor
cmFuZ2Uuc2V0RW5kKGFyYWJpYy5maXJzdENoaWxkLCAyKTsKK3Nob3VsZEJlKCdyYW5nZS5nZXRC
b3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCcsICc2NScpOworCitkb2N1bWVudC5ib2R5LnJlbW92
ZUNoaWxkKGFyYWJpYyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42142</attachid>
            <date>2009-10-29 14:06:30 -0700</date>
            <delta_ts>2009-10-29 14:09:32 -0700</delta_ts>
            <desc>Patch with test</desc>
            <filename>ligature-caret_r1.diff</filename>
            <type>text/plain</type>
            <size>16224</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDI5OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDktMTAtMjkgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcm9i
bGVtIGVkaXRpbmcgb3Igc2VsZWN0aW5nIHRleHQgY29udGFpbmluZyBsaWdhdHVyZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMDI1CisKKyAgICAg
ICAgVGVzdDogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9saWdhdHVyZS1zdWJkaXZpc2lvbi5odG1s
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBsZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxleFRl
eHRDb250cm9sbGVyKTogSW5pdGlhbGl6ZQorICAgICAgICBtX2NoYXJhY3RlckluQ3VycmVudEds
eXBoLgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpvZmZzZXRGb3JQ
b3NpdGlvbik6IElmIHRoZSBoaXQgZ2x5cGggc3BhbnMgbXVsdGlwbGUKKyAgICAgICAgY2hhcmFj
dGVycywgY29tcHV0ZSB0aGUgaGl0IGNoYXJhY3RlciBiYXNlZCBvbiBkaXZpZGluZyB0aGUgZ2x5
cGjigJlzIHRvdGFsIGFkdmFuY2UgaW50bworICAgICAgICBhIG51bWJlciBvZiBlcXVhbCBpbnRl
cnZhbHMgZXF1YWwgdG8gdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGFuZCBhc3NpZ25pbmcgdGhl
IGhpdCB0byB0aGUKKyAgICAgICAgY2hhcmFjdGVyIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGhpdCBp
bnRlcnZhbC4KKyAgICAgICAgKFdlYkNvcmU6OkNvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWR2YW5j
ZSk6IElmIHRoZSBmaW5hbCBvZmZzZXQgb2NjdXJzIG1pZC1nbHlwaCwgYWR2YW5jZQorICAgICAg
ICBieSBhIGZyYWN0aW9uIG9mIHRoZSBnbHlwaOKAmXMgdG90YWwgYWR2YW5jZS4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmg6IEFkZGVkIG1f
Y2hhcmFjdGVySW5DdXJyZW50R2x5cGguCisKIDIwMDktMTAtMjkgIEFkYW0gQmFydGggIDxhYmFy
dGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBObyByZXZpZXcsIHJvbGxpbmcgb3V0IHI1MDI5Ni4K
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxl
eFRleHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gNTAyOTMpCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSw2ICsyOSw4IEBACiAjaW5jbHVkZSAiRm9udC5oIgogI2luY2x1ZGUgIlRleHRCcmVha0l0
ZXJhdG9yLmgiCiAKK3VzaW5nIG5hbWVzcGFjZSBzdGQ7CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogc3RhdGljIGlubGluZSBDR0Zsb2F0IHJvdW5kQ0dGbG9hdChDR0Zsb2F0IGYpCkBAIC01Niw2
ICs1OCw3IEBAIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxleFRleHRDb250cm8KICAgICAs
IG1fbnVtR2x5cGhzU29GYXIoMCkKICAgICAsIG1fY3VycmVudFJ1bigwKQogICAgICwgbV9nbHlw
aEluQ3VycmVudFJ1bigwKQorICAgICwgbV9jaGFyYWN0ZXJJbkN1cnJlbnRHbHlwaCgwKQogICAg
ICwgbV9maW5hbFJvdW5kaW5nV2lkdGgoMCkKICAgICAsIG1fZmFsbGJhY2tGb250cyhmYWxsYmFj
a0ZvbnRzKQogICAgICwgbV9sYXN0Um91bmRpbmdHbHlwaCgwKQpAQCAtODEsMTAgKzg0LDYgQEAg
Q29tcGxleFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dENvbnRybwogCiBpbnQgQ29tcGxleFRl
eHRDb250cm9sbGVyOjpvZmZzZXRGb3JQb3NpdGlvbihpbnQgaCwgYm9vbCBpbmNsdWRlUGFydGlh
bEdseXBocykKIHsKLSAgICAvLyBGSVhNRTogRm9yIHBvc2l0aW9ucyBvY2N1cnJpbmcgd2l0aGlu
IGEgbGlnYXR1cmUsIHdlIHNob3VsZCByZXR1cm4gdGhlIGNsb3Nlc3QgImxpZ2F0dXJlIGNhcmV0
IiBvcgotICAgIC8vIGFwcHJveGltYXRlIGl0IGJ5IGRpdmlkaW5nIHRoZSB3aWR0aCBvZiB0aGUg
bGlnYXR1cmUgYnkgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGl0IGVuY29tcGFzc2VzLgotICAg
IC8vIEhvd2V2ZXIsIENvcmUgVGV4dCBkb2VzIG5vdCBleHBvc2UgYSBsb3ctbGV2ZWwgQVBJIGZv
ciBkaXJlY3RseSBmaW5kaW5nCi0gICAgLy8gb3V0IGhvdyBtYW55IGNoYXJhY3RlcnMgYSBsaWdh
dHVyZSBlbmNvbXBhc3NlcyAodGhlICJhdHRhY2htZW50IGNvdW50IikuCiAgICAgaWYgKGggPj0g
bV90b3RhbFdpZHRoKQogICAgICAgICByZXR1cm4gbV9ydW4ubHRyKCkgPyBtX2VuZCA6IDA7CiAg
ICAgaWYgKGggPCAwKQpAQCAtOTksOCArOTgsMTggQEAgaW50IENvbXBsZXhUZXh0Q29udHJvbGxl
cjo6b2Zmc2V0Rm9yUG9zaQogICAgICAgICBjb25zdCBDb21wbGV4VGV4dFJ1biYgY29tcGxleFRl
eHRSdW4gPSAqbV9jb21wbGV4VGV4dFJ1bnNbcl07CiAgICAgICAgIGZvciAodW5zaWduZWQgaiA9
IDA7IGogPCBjb21wbGV4VGV4dFJ1bi5nbHlwaENvdW50KCk7ICsraikgewogICAgICAgICAgICAg
Q0dGbG9hdCBhZGp1c3RlZEFkdmFuY2UgPSBtX2FkanVzdGVkQWR2YW5jZXNbb2Zmc2V0SW50b0Fk
anVzdGVkR2x5cGhzICsgal0ud2lkdGg7Ci0gICAgICAgICAgICBpZiAoeCA8PSBhZGp1c3RlZEFk
dmFuY2UpIHsKLSAgICAgICAgICAgICAgICBDRkluZGV4IGhpdEluZGV4ID0gY29tcGxleFRleHRS
dW4uaW5kZXhBdChqKTsKKyAgICAgICAgICAgIGlmICh4IDwgYWRqdXN0ZWRBZHZhbmNlKSB7Cisg
ICAgICAgICAgICAgICAgQ0ZJbmRleCBoaXRHbHlwaFN0YXJ0ID0gY29tcGxleFRleHRSdW4uaW5k
ZXhBdChqKTsKKyAgICAgICAgICAgICAgICBDRkluZGV4IGhpdEdseXBoRW5kOworICAgICAgICAg
ICAgICAgIGlmIChtX3J1bi5sdHIoKSkKKyAgICAgICAgICAgICAgICAgICAgaGl0R2x5cGhFbmQg
PSBtYXg8Q0ZJbmRleD4oaGl0R2x5cGhTdGFydCwgaiArIDEgPCBjb21wbGV4VGV4dFJ1bi5nbHlw
aENvdW50KCkgPyBjb21wbGV4VGV4dFJ1bi5pbmRleEF0KGogKyAxKSA6IGNvbXBsZXhUZXh0UnVu
LnN0cmluZ0xlbmd0aCgpKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
ICAgIGhpdEdseXBoRW5kID0gbWF4PENGSW5kZXg+KGhpdEdseXBoU3RhcnQsIGogPiAwID8gY29t
cGxleFRleHRSdW4uaW5kZXhBdChqIC0gMSkgOiBjb21wbGV4VGV4dFJ1bi5zdHJpbmdMZW5ndGgo
KSk7CisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiBkaXZpZGluZyB0aGUg
Z2x5cGgncyBhZHZhbmNlIGVxdWlhbGx5IGJldHdlZW4gdGhlIGNoYXJhY3RlcnMsIHRoaXMKKyAg
ICAgICAgICAgICAgICAvLyBjb3VsZCB1c2UgdGhlIGdseXBoJ3MgImxpZ2F0dXJlIGNhcmV0cyIu
IEhvd2V2ZXIsIHRoZXJlIGlzIG5vIENvcmUgVGV4dCBBUEkgdG8gZ2V0IHRoZQorICAgICAgICAg
ICAgICAgIC8vIGxpZ2F0dXJlIGNhcmV0cy4KKyAgICAgICAgICAgICAgICBDRkluZGV4IGhpdElu
ZGV4ID0gaGl0R2x5cGhTdGFydCArIChoaXRHbHlwaEVuZCAtIGhpdEdseXBoU3RhcnQpICogKG1f
cnVuLmx0cigpID8geCAvIGFkanVzdGVkQWR2YW5jZSA6IDEgLSB4IC8gYWRqdXN0ZWRBZHZhbmNl
KTsKICAgICAgICAgICAgICAgICBpbnQgc3RyaW5nTGVuZ3RoID0gY29tcGxleFRleHRSdW4uc3Ry
aW5nTGVuZ3RoKCk7CiAgICAgICAgICAgICAgICAgVGV4dEJyZWFrSXRlcmF0b3IqIGN1cnNvclBv
c2l0aW9uSXRlcmF0b3IgPSBjdXJzb3JNb3ZlbWVudEl0ZXJhdG9yKGNvbXBsZXhUZXh0UnVuLmNo
YXJhY3RlcnMoKSwgc3RyaW5nTGVuZ3RoKTsKICAgICAgICAgICAgICAgICBpbnQgY2x1c3RlclN0
YXJ0OwpAQCAtMTE5LDExICsxMjgsMTIgQEAgaW50IENvbXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zm
c2V0Rm9yUG9zaQogICAgICAgICAgICAgICAgIGlmIChjbHVzdGVyRW5kID09IFRleHRCcmVha0Rv
bmUpCiAgICAgICAgICAgICAgICAgICAgIGNsdXN0ZXJFbmQgPSBzdHJpbmdMZW5ndGg7CiAKLSAg
ICAgICAgICAgICAgICBDR0Zsb2F0IGNsdXN0ZXJXaWR0aCA9IGFkanVzdGVkQWR2YW5jZTsKKyAg
ICAgICAgICAgICAgICBDR0Zsb2F0IGNsdXN0ZXJXaWR0aDsKICAgICAgICAgICAgICAgICAvLyBG
SVhNRTogVGhlIHNlYXJjaCBzdG9wcyBhdCB0aGUgYm91bmRhcmllcyBvZiBjb21wbGV4VGV4dFJ1
bi4gSW4gdGhlb3J5LCBpdCBzaG91bGQgZ28gb24gaW50byBuZWlnaGJvcmluZyBDb21wbGV4VGV4
dFJ1bnMKICAgICAgICAgICAgICAgICAvLyBkZXJpdmVkIGZyb20gdGhlIHNhbWUgQ1RMaW5lLiBJ
biBwcmFjdGljZSwgd2UgZG8gbm90IGV4cGVjdCB0aGVyZSB0byBiZSBtb3JlIHRoYW4gb25lIENU
UnVuIGluIGEgQ1RMaW5lLCBhcyBubwogICAgICAgICAgICAgICAgIC8vIHJlb3JkZXJpbmcgYW5k
IG9uIGZvbnQgZmFsbGJhY2sgc2hvdWxkIG9jY3VyIHdpdGhpbiBhIENUTGluZS4KICAgICAgICAg
ICAgICAgICBpZiAoY2x1c3RlckVuZCAtIGNsdXN0ZXJTdGFydCA+IDEpIHsKKyAgICAgICAgICAg
ICAgICAgICAgY2x1c3RlcldpZHRoID0gYWRqdXN0ZWRBZHZhbmNlOwogICAgICAgICAgICAgICAg
ICAgICBpbnQgZmlyc3RHbHlwaEJlZm9yZUNsdXN0ZXIgPSBqIC0gMTsKICAgICAgICAgICAgICAg
ICAgICAgd2hpbGUgKGZpcnN0R2x5cGhCZWZvcmVDbHVzdGVyID49IDAgJiYgY29tcGxleFRleHRS
dW4uaW5kZXhBdChmaXJzdEdseXBoQmVmb3JlQ2x1c3RlcikgPj0gY2x1c3RlclN0YXJ0ICYmIGNv
bXBsZXhUZXh0UnVuLmluZGV4QXQoZmlyc3RHbHlwaEJlZm9yZUNsdXN0ZXIpIDwgY2x1c3RlckVu
ZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgQ0dGbG9hdCB3aWR0aCA9IG1fYWRqdXN0ZWRB
ZHZhbmNlc1tvZmZzZXRJbnRvQWRqdXN0ZWRHbHlwaHMgKyBmaXJzdEdseXBoQmVmb3JlQ2x1c3Rl
cl0ud2lkdGg7CkBAIC0xMzYsNiArMTQ2LDkgQEAgaW50IENvbXBsZXhUZXh0Q29udHJvbGxlcjo6
b2Zmc2V0Rm9yUG9zaQogICAgICAgICAgICAgICAgICAgICAgICAgY2x1c3RlcldpZHRoICs9IG1f
YWRqdXN0ZWRBZHZhbmNlc1tvZmZzZXRJbnRvQWRqdXN0ZWRHbHlwaHMgKyBmaXJzdEdseXBoQWZ0
ZXJDbHVzdGVyXS53aWR0aDsKICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0R2x5cGhBZnRl
ckNsdXN0ZXIrKzsKICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgIGNsdXN0ZXJXaWR0aCA9IGFkanVzdGVkQWR2YW5jZSAv
IChoaXRHbHlwaEVuZCAtIGhpdEdseXBoU3RhcnQpOworICAgICAgICAgICAgICAgICAgICB4IC09
ICBjbHVzdGVyV2lkdGggKiAobV9ydW4ubHRyKCkgPyBoaXRJbmRleCAtIGhpdEdseXBoU3RhcnQg
OiBoaXRHbHlwaEVuZCAtIGhpdEluZGV4IC0gMSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIGlmICh4IDw9IGNsdXN0ZXJXaWR0aCAvIDIpCiAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBjb21wbGV4VGV4dFJ1bi5zdHJpbmdMb2NhdGlvbigpICsgKG1fcnVuLmx0cigpID8g
Y2x1c3RlclN0YXJ0IDogY2x1c3RlckVuZCk7CkBAIC0yNTIsMTAgKzI2NSw2IEBAIHZvaWQgQ29t
cGxleFRleHRDb250cm9sbGVyOjpjb2xsZWN0Q29tcGwKIAogdm9pZCBDb21wbGV4VGV4dENvbnRy
b2xsZXI6OmFkdmFuY2UodW5zaWduZWQgb2Zmc2V0LCBHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIp
CiB7Ci0gICAgLy8gRklYTUU6IEZvciBvZmZzZXRzIGZhbGxpbmcgaW5zaWRlIGEgbGlnYXR1cmUs
IHdlIHNob3VsZCBhZHZhbmNlIG9ubHkgYXMgZmFyIGFzIHRoZSBhcHByb3ByaWF0ZSAibGlnYXR1
cmUgY2FyZXQiCi0gICAgLy8gb3IgZGl2aWRlIHRoZSB3aWR0aCBvZiB0aGUgbGlnYXR1cmUgYnkg
dGhlIG51bWJlciBvZiBvZmZzZXRzIGl0IGVuY29tcGFzc2VzIGFuZCBtYWtlIGFuIGFkdmFuY2Ug
cHJvcG9ydGlvbmFsCi0gICAgLy8gdG8gdGhlIG9mZnNldHMgaW50byB0aGUgbGlnYXR1cmUuIEhv
d2V2ZXIsIENvcmUgVGV4dCBkb2VzIG5vdCBleHBvc2UgYSBsb3ctbGV2ZWwgQVBJIGZvcgotICAg
IC8vIGRpcmVjdGx5IGZpbmRpbmcgb3V0IGhvdyBtYW55IGNoYXJhY3RlcnMgYSBsaWdhdHVyZSBl
bmNvbXBhc3NlcyAodGhlICJhdHRhY2htZW50IGNvdW50IikuCiAgICAgaWYgKHN0YXRpY19jYXN0
PGludD4ob2Zmc2V0KSA+IG1fZW5kKQogICAgICAgICBvZmZzZXQgPSBtX2VuZDsKIApAQCAtMjc0
LDE0ICsyODMsMzQgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkdmFuY2UodW5zaQog
ICAgICAgICBzaXplX3QgZ2x5cGhDb3VudCA9IGNvbXBsZXhUZXh0UnVuLmdseXBoQ291bnQoKTsK
ICAgICAgICAgdW5zaWduZWQgZyA9IGx0ciA/IG1fZ2x5cGhJbkN1cnJlbnRSdW4gOiBnbHlwaENv
dW50IC0gMSAtIG1fZ2x5cGhJbkN1cnJlbnRSdW47CiAgICAgICAgIHdoaWxlIChtX2dseXBoSW5D
dXJyZW50UnVuIDwgZ2x5cGhDb3VudCkgewotICAgICAgICAgICAgaWYgKGNvbXBsZXhUZXh0UnVu
LmluZGV4QXQoZykgKyBjb21wbGV4VGV4dFJ1bi5zdHJpbmdMb2NhdGlvbigpID49IG1fY3VycmVu
dENoYXJhY3RlcikKLSAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB1bnNpZ25l
ZCBnbHlwaFN0YXJ0T2Zmc2V0ID0gY29tcGxleFRleHRSdW4uaW5kZXhBdChnKTsKKyAgICAgICAg
ICAgIHVuc2lnbmVkIGdseXBoRW5kT2Zmc2V0OworICAgICAgICAgICAgaWYgKGx0cikKKyAgICAg
ICAgICAgICAgICBnbHlwaEVuZE9mZnNldCA9IG1heDx1bnNpZ25lZD4oZ2x5cGhTdGFydE9mZnNl
dCwgZyArIDEgPCBnbHlwaENvdW50ID8gY29tcGxleFRleHRSdW4uaW5kZXhBdChnICsgMSkgOiBj
b21wbGV4VGV4dFJ1bi5zdHJpbmdMZW5ndGgoKSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgZ2x5cGhFbmRPZmZzZXQgPSBtYXg8dW5zaWduZWQ+KGdseXBoU3RhcnRPZmZzZXQs
IGcgPiAwID8gY29tcGxleFRleHRSdW4uaW5kZXhBdChnIC0gMSkgOiBjb21wbGV4VGV4dFJ1bi5z
dHJpbmdMZW5ndGgoKSk7CisKICAgICAgICAgICAgIENHU2l6ZSBhZGp1c3RlZEFkdmFuY2UgPSBt
X2FkanVzdGVkQWR2YW5jZXNba107Ci0gICAgICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCisKKyAg
ICAgICAgICAgIGlmIChnbHlwaFN0YXJ0T2Zmc2V0ICsgY29tcGxleFRleHRSdW4uc3RyaW5nTG9j
YXRpb24oKSA+PSBtX2N1cnJlbnRDaGFyYWN0ZXIpCisgICAgICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgICAgICBpZiAoZ2x5cGhCdWZmZXIgJiYgIW1fY2hhcmFjdGVySW5DdXJyZW50R2x5
cGgpCiAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChtX2FkanVzdGVkR2x5cGhzW2td
LCBjb21wbGV4VGV4dFJ1bi5mb250RGF0YSgpLCBhZGp1c3RlZEFkdmFuY2UpOwotICAgICAgICAg
ICAgbV9ydW5XaWR0aFNvRmFyICs9IGFkanVzdGVkQWR2YW5jZS53aWR0aDsKKworICAgICAgICAg
ICAgdW5zaWduZWQgb2xkQ2hhcmFjdGVySW5DdXJyZW50R2x5cGggPSBtX2NoYXJhY3RlckluQ3Vy
cmVudEdseXBoOworICAgICAgICAgICAgbV9jaGFyYWN0ZXJJbkN1cnJlbnRHbHlwaCA9IG1pbiht
X2N1cnJlbnRDaGFyYWN0ZXIgLSBjb21wbGV4VGV4dFJ1bi5zdHJpbmdMb2NhdGlvbigpLCBnbHlw
aEVuZE9mZnNldCkgLSBnbHlwaFN0YXJ0T2Zmc2V0OworICAgICAgICAgICAgLy8gRklYTUU6IElu
c3RlYWQgb2YgZGl2aWRpbmcgdGhlIGdseXBoJ3MgYWR2YW5jZSBlcXVpYWxseSBiZXR3ZWVuIHRo
ZSBjaGFyYWN0ZXJzLCB0aGlzCisgICAgICAgICAgICAvLyBjb3VsZCB1c2UgdGhlIGdseXBoJ3Mg
ImxpZ2F0dXJlIGNhcmV0cyIuIEhvd2V2ZXIsIHRoZXJlIGlzIG5vIENvcmUgVGV4dCBBUEkgdG8g
Z2V0IHRoZQorICAgICAgICAgICAgLy8gbGlnYXR1cmUgY2FyZXRzLgorICAgICAgICAgICAgbV9y
dW5XaWR0aFNvRmFyICs9IGFkanVzdGVkQWR2YW5jZS53aWR0aCAqIChtX2NoYXJhY3RlckluQ3Vy
cmVudEdseXBoIC0gb2xkQ2hhcmFjdGVySW5DdXJyZW50R2x5cGgpIC8gKGdseXBoRW5kT2Zmc2V0
IC0gZ2x5cGhTdGFydE9mZnNldCk7CisKKyAgICAgICAgICAgIGlmIChnbHlwaEVuZE9mZnNldCAr
IGNvbXBsZXhUZXh0UnVuLnN0cmluZ0xvY2F0aW9uKCkgPiBtX2N1cnJlbnRDaGFyYWN0ZXIpCisg
ICAgICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgICAgICBtX251bUdseXBoc1NvRmFyKys7
CiAgICAgICAgICAgICBtX2dseXBoSW5DdXJyZW50UnVuKys7CisgICAgICAgICAgICBtX2NoYXJh
Y3RlckluQ3VycmVudEdseXBoID0gMDsKICAgICAgICAgICAgIGlmIChsdHIpIHsKICAgICAgICAg
ICAgICAgICBnKys7CiAgICAgICAgICAgICAgICAgaysrOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmgJKHJldmlz
aW9uIDUwMjkzKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRD
b250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw2ICsxNDQsNyBAQCBwcml2YXRlOgog
ICAgIHVuc2lnbmVkIG1fbnVtR2x5cGhzU29GYXI7CiAgICAgc2l6ZV90IG1fY3VycmVudFJ1bjsK
ICAgICB1bnNpZ25lZCBtX2dseXBoSW5DdXJyZW50UnVuOworICAgIHVuc2lnbmVkIG1fY2hhcmFj
dGVySW5DdXJyZW50R2x5cGg7CiAgICAgZmxvYXQgbV9maW5hbFJvdW5kaW5nV2lkdGg7CiAgICAg
ZmxvYXQgbV9wYWRkaW5nOwogICAgIGZsb2F0IG1fcGFkUGVyU3BhY2U7CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA1MDI5OSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE2IEBACisyMDA5LTEwLTI5ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJvYmxl
bSBlZGl0aW5nIG9yIHNlbGVjdGluZyB0ZXh0IGNvbnRhaW5pbmcgbGlnYXR1cmVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDAyNQorCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9saWdhdHVyZS1zdWJkaXZpc2lvbi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvbGlnYXR1cmUtc3Vi
ZGl2aXNpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9z
Y3JpcHQtdGVzdHM6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvc2Ny
aXB0LXRlc3RzL1RFTVBMQVRFLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvanMv
c2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
dGV4dC9zY3JpcHQtdGVzdHMvbGlnYXR1cmUtc3ViZGl2aXNpb24uanM6IEFkZGVkLgorCiAyMDA5
LTEwLTI5ICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSdWJiZXJzdGFtcGVkIGJ5IEFkYW0gUm9iZW4uCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2xpZ2F0dXJlLXN1YmRpdmlzaW9uLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2xpZ2F0
dXJlLXN1YmRpdmlzaW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3RleHQvbGlnYXR1cmUtc3ViZGl2aXNpb24tZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACitUZXN0IHRoYXQgdGhlIGNhcmV0IGlzIHBv
c2l0aW9uZWQgY29ycmVjdGx5IHdoZW4gaXRzIG9mZnNldCBvY2N1cnJzIGluIHRoZSBtaWRkbGUg
b2YgYSBsaWdhdHVyZSwgYW5kIHRoYXQgaGl0LXRlc3RpbmcgaW4gdGhlIG1pZGRsZSBvZiBhIGxp
Z2F0dXJlIHdvcmtzIGNvcnJlY3RseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgxMCwgeSkuc3RhcnRPZmZzZXQgaXMg
MAorUEFTUyBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDMwLCB5KS5zdGFydE9mZnNldCBp
cyAxCitQQVNTIGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoNjAsIHkpLnN0YXJ0T2Zmc2V0
IGlzIDIKK1BBU1MgZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCg4MCwgeSkuc3RhcnRPZmZz
ZXQgaXMgMworUEFTUyBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDEwMCwgeSkuc3RhcnRP
ZmZzZXQgaXMgNAorUEFTUyBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDEyMCwgeSkuc3Rh
cnRPZmZzZXQgaXMgNQorUEFTUyByYW5nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCBp
cyA4MAorUEFTUyBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KHggLSAyMCwgeSkuc3RhcnRP
ZmZzZXQgaXMgMAorUEFTUyBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KHggLSA1MCwgeSku
c3RhcnRPZmZzZXQgaXMgMQorUEFTUyBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KHggLSA2
NCwgeSkuc3RhcnRPZmZzZXQgaXMgMgorUEFTUyBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50
KHggLSA5MCwgeSkuc3RhcnRPZmZzZXQgaXMgMworUEFTUyByYW5nZS5nZXRCb3VuZGluZ0NsaWVu
dFJlY3QoKS53aWR0aCBpcyA2NQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQv
bGlnYXR1cmUtc3ViZGl2aXNpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC90ZXh0L2xpZ2F0dXJlLXN1YmRpdmlzaW9uLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2xpZ2F0dXJlLXN1YmRpdmlz
aW9uLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzL2xpZ2F0dXJlLXN1YmRpdmlzaW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4
dC9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCShyZXZpc2lv
biA1MDI5MykJKGZyb20gTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbDo1MDI5MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvc2NyaXB0
LXRlc3RzL1RFTVBMQVRFLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9IllPVVJfSlNfRklMRV9IRVJFIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvc2NyaXB0
LXRlc3RzL1RFTVBMQVRFLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvdGV4dC9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvc2NyaXB0LXRlc3RzL1RFTVBMQVRF
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTMgKzEsMTMgQEAKIDwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KIDxodG1sPgogPGhlYWQ+Ci08bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0
IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJ
TEVfSEVSRSI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvc2NyaXB0LXRlc3RzL2xpZ2F0dXJlLXN1YmRp
dmlzaW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Rl
eHQvc2NyaXB0LXRlc3RzL2xpZ2F0dXJlLXN1YmRpdmlzaW9uLmpzCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9zY3JpcHQtdGVzdHMvbGlnYXR1cmUt
c3ViZGl2aXNpb24uanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTQgQEAKK2Rlc2NyaXB0aW9u
KCdUZXN0IHRoYXQgdGhlIGNhcmV0IGlzIHBvc2l0aW9uZWQgY29ycmVjdGx5IHdoZW4gaXRzIG9m
ZnNldCBvY2N1cnJzIGluIHRoZSBtaWRkbGUgb2YgYSBsaWdhdHVyZSxcCisgICAgYW5kIHRoYXQg
aGl0LXRlc3RpbmcgaW4gdGhlIG1pZGRsZSBvZiBhIGxpZ2F0dXJlIHdvcmtzIGNvcnJlY3RseS4n
KTsKKwordmFyIGxhdGluID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CitsYXRpbi5p
bm5lckhUTUwgPSAib2ZmaWNlIjsKK2xhdGluLnN0eWxlLmZvbnRTaXplID0gIjcycHgiOworbGF0
aW4uc3R5bGUudGV4dFJlbmRlcmluZyA9ICJvcHRpbWl6ZWxlZ2liaWxpdHkiOworbGF0aW4uc3R5
bGUucG9zaXRpb24gPSAiYWJzb2x1dGUiOworbGF0aW4uc3R5bGUudG9wID0gIjAiOworbGF0aW4u
c3R5bGUubGVmdCA9ICIwIjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGF0aW4pOworCit2
YXIgeSA9IGxhdGluLm9mZnNldFRvcCArIGxhdGluLm9mZnNldEhlaWdodCAvIDI7CisKK2RvY3Vt
ZW50LmJvZHkub2Zmc2V0VG9wOworCitzaG91bGRCZSgnZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Q
b2ludCgxMCwgeSkuc3RhcnRPZmZzZXQnLCAnMCcpOworc2hvdWxkQmUoJ2RvY3VtZW50LmNhcmV0
UmFuZ2VGcm9tUG9pbnQoMzAsIHkpLnN0YXJ0T2Zmc2V0JywgJzEnKTsKK3Nob3VsZEJlKCdkb2N1
bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDYwLCB5KS5zdGFydE9mZnNldCcsICcyJyk7CitzaG91
bGRCZSgnZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCg4MCwgeSkuc3RhcnRPZmZzZXQnLCAn
MycpOworc2hvdWxkQmUoJ2RvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoMTAwLCB5KS5zdGFy
dE9mZnNldCcsICc0Jyk7CitzaG91bGRCZSgnZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgx
MjAsIHkpLnN0YXJ0T2Zmc2V0JywgJzUnKTsKKwordmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRl
UmFuZ2UoKTsKK3JhbmdlLnNldFN0YXJ0KGxhdGluLmZpcnN0Q2hpbGQsIDApOworcmFuZ2Uuc2V0
RW5kKGxhdGluLmZpcnN0Q2hpbGQsIDMpOworc2hvdWxkQmUoJ3JhbmdlLmdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpLndpZHRoJywgJzgwJyk7CisKK2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGF0
aW4pOworCit2YXIgYXJhYmljID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CithcmFi
aWMuaW5uZXJIVE1MID0gIiYjeDA2MmQ7JiN4MDY0NDsmI3gwNjI3OyYjeDA2MmQ7IjsKK2FyYWJp
Yy5zdHlsZS5mb250U2l6ZSA9ICI3MnB4IjsKK2FyYWJpYy5zdHlsZS5kaXJlY3Rpb24gPSAicnRs
IjsKK2FyYWJpYy5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CithcmFiaWMuc3R5bGUudG9w
ID0gIjAiOworYXJhYmljLnN0eWxlLnJpZ2h0ID0gIjAiOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChhcmFiaWMpOworCit5ID0gYXJhYmljLm9mZnNldFRvcCArIGFyYWJpYy5vZmZzZXRIZWln
aHQgLyAyOwordmFyIHggPSBhcmFiaWMub2Zmc2V0TGVmdCArIGFyYWJpYy5vZmZzZXRXaWR0aDsK
Kworc2hvdWxkQmUoJ2RvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoeCAtIDIwLCB5KS5zdGFy
dE9mZnNldCcsICcwJyk7CitzaG91bGRCZSgnZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCh4
IC0gNTAsIHkpLnN0YXJ0T2Zmc2V0JywgJzEnKTsKK3Nob3VsZEJlKCdkb2N1bWVudC5jYXJldFJh
bmdlRnJvbVBvaW50KHggLSA2NCwgeSkuc3RhcnRPZmZzZXQnLCAnMicpOworc2hvdWxkQmUoJ2Rv
Y3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoeCAtIDkwLCB5KS5zdGFydE9mZnNldCcsICczJyk7
CisKK3JhbmdlLnNldFN0YXJ0KGFyYWJpYy5maXJzdENoaWxkLCAwKTsKK3JhbmdlLnNldEVuZChh
cmFiaWMuZmlyc3RDaGlsZCwgMik7CitzaG91bGRCZSgncmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCkud2lkdGgnLCAnNjUnKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhcmFiaWMp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>
<flag name="review"
          id="23646"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>