<?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>75289</bug_id>
          
          <creation_ts>2011-12-27 19:31:39 -0800</creation_ts>
          <short_desc>Complex path should be used when UVS exists in text run</short_desc>
          <delta_ts>2012-01-11 02:23:16 -0800</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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenichi Ishibashi">bashi</reporter>
          <assigned_to name="Kenichi Ishibashi">bashi</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>jknotten</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>527536</commentid>
    <comment_count>0</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-27 19:31:39 -0800</bug_when>
    <thetext>I added Unicode variation selector support as http://trac.webkit.org/changeset/102915, but the design wasn&apos;t good. When a text run contains UVS, complex path should be used because UVS requires glyph substitution depending on the context. UVS would be supported naturally by platform-specific text rendering engines if it support UVS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527544</commentid>
    <comment_count>1</comment_count>
      <attachid>120632</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-27 20:27:07 -0800</bug_when>
    <thetext>Created attachment 120632
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527555</commentid>
    <comment_count>2</comment_count>
      <attachid>120634</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-27 21:30:28 -0800</bug_when>
    <thetext>Created attachment 120634
Patch (update expectations)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530943</commentid>
    <comment_count>3</comment_count>
      <attachid>121403</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-05 23:03:00 -0800</bug_when>
    <thetext>Created attachment 121403
Patch(revised to ToT)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530946</commentid>
    <comment_count>4</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-05 23:07:31 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=121403) [details]
&gt; Patch(revised to ToT)

Hi mitz, 

Could you please review this patch? This patch adds unicode variation selector ranges to Font::codePath() so that the function returns &quot;Complex&quot; for that ranges. The patch also removes the code that I added as r102915.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532814</commentid>
    <comment_count>5</comment_count>
      <attachid>121403</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-09 22:12:20 -0800</bug_when>
    <thetext>Comment on attachment 121403
Patch(revised to ToT)

Thank you for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532916</commentid>
    <comment_count>6</comment_count>
      <attachid>121403</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-10 02:46:50 -0800</bug_when>
    <thetext>Comment on attachment 121403
Patch(revised to ToT)

Clearing flags on attachment: 121403

Committed r104545: &lt;http://trac.webkit.org/changeset/104545&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532917</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-10 02:46:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533092</commentid>
    <comment_count>8</comment_count>
    <who name="John Knottenbelt">jknotten</who>
    <bug_when>2012-01-10 08:24:59 -0800</bug_when>
    <thetext>Hi, I just committed a revised baseline in http://trac.webkit.org/changeset/104579 .

Please could you check that it&apos;s correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533425</commentid>
    <comment_count>9</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-10 15:46:46 -0800</bug_when>
    <thetext>It&apos;s correct. Thank you for rebaselining!

(In reply to comment #8)
&gt; Hi, I just committed a revised baseline in http://trac.webkit.org/changeset/104579 .
&gt; 
&gt; Please could you check that it&apos;s correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533653</commentid>
    <comment_count>10</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-01-10 22:48:40 -0800</bug_when>
    <thetext>This change broke &lt;fast/text/unicode-variation-selector.html&gt; on OS X Lion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533757</commentid>
    <comment_count>11</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-11 02:23:16 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; This change broke &lt;fast/text/unicode-variation-selector.html&gt; on OS X Lion.

Sorry for about the regression. It seems I should also add UVS support to ComplexTextController class. I&apos;ll file a bug for it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120632</attachid>
            <date>2011-12-27 20:27:07 -0800</date>
            <delta_ts>2011-12-27 21:30:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75289-20111228132706.patch</filename>
            <type>text/plain</type>
            <size>16006</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzNzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGVmNmIwMGEwNzMzNzE2
ZDE4MTNlZWEyNjFkMTUwYTBiOGNmMDZmMi4uOGZjYzk3NmJmNTE4OWZiYWI1YjdiMmIzNmQxNWIw
YmE0YmI0M2Y3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDExLTEyLTI3ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb21wbGV4IHBh
dGggc2hvdWxkIGJlIHVzZWQgd2hlbiBVVlMgZXhpc3RzIGluIHRleHQgcnVuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4OQorCisgICAgICAgIFVz
ZXMgY29tcGxleCBwYXRoIHdoZW4gYSB0ZXh0IHJ1biBjb250YWlucyBVVlMuIFRoZSByYW5nZSBm
cm9tIFUrMTgwQiB0byBVKzE4MEQgYWxyZWFkeSB1c2VzIGNvbXBsZXggcGF0aC4KKyAgICAgICAg
UmVtb3ZlcyB1bm5lY2Vzc2FyeSBmdW5jdGlvbnMgdGhhdCB3ZXJlIGFkZGVkIGJ5IHIxMDI5MTUu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLiBmYXN0L3RleHQvdW5pY29kZS12YXJpYXRpb24tc2VsZWN0b3IuaHRtbCBzaG91bGQg
dGFrZSBjYXJlIG9mIHRoaXMgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojpjb2RlUGF0aCk6IFVzZSBDb21wbGV4
IHBhdGggd2hlbiB0aGUgdGV4dCBydW4gY29udGFpbnMgVVZTLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmg6IFJlbW92ZWQgdXBkYXRlR2x5cGhXaXRoVmFyaWF0
aW9uU2VsZWN0b3IoKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWly
QXdhcmVUZXh0SXRlcmF0b3IuY3BwOiBSZW1vdmVkIHVubmVjZXNzYXJ5IHN0YXRpYyBmdW5jdGlv
bnMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0
ZXJhdG9yLmg6IFJlbW92ZWQgaGFzVHJhaWxpbmdWYXJpYXRpb25TZWxlY3RvcigpLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2lkdGhJdGVyYXRvcjo6YWR2YW5jZSk6IFJlbW92ZWQgVVZTIGRldGVjdGlvbiBjb2RlLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21p
dW1XaW4uY3BwOiBSZW1vdmVkIHVwZGF0ZUdseXBoV2l0aFZhcmlhdGlvblNlbGVjdG9yKCkuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlw
ZS5jcHA6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2hhcmZidXp6L1NpbXBs
ZUZvbnREYXRhU2tpYS5jcHA6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21h
Yy9TaW1wbGVGb250RGF0YU1hYy5tbTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvcGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5jcHA6IERpdHRvLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwOiBEaXR0by4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwOiBEaXR0by4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVGb250RGF0YVdpbkNFLmNwcDogRGl0
dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHA6
IERpdHRvLgorCiAyMDExLTEyLTI3ICBEb21pbmljIENvb25leSAgPGRvbWluaWNjQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZW1vdmUgaW5pdFdlYktpdEFuaW1hdGlvbkV2ZW50IG1ldGhvZApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAppbmRleCA0NDVkMWQwODU4
YTcxYTA3OWQ1MmQyYzZlODAyNTFhNGFkZTQ1YTY5Li5jMmQ5YzU4YzNmNTA0ODE1ZDVjMzQ5NjUy
Y2FmYTI0ZGQ5MzE0NzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
LmNwcApAQCAtNDA0LDEyICs0MDQsMjIgQEAgRm9udDo6Q29kZVBhdGggRm9udDo6Y29kZVBhdGgo
Y29uc3QgVGV4dFJ1biYgcnVuKSBjb25zdAogICAgICAgICAgICAgaWYgKHN1cHBsZW1lbnRhcnlD
aGFyYWN0ZXIgPD0gMHgxRjFGRikKICAgICAgICAgICAgICAgICByZXR1cm4gQ29tcGxleDsKIAor
ICAgICAgICAgICAgaWYgKHN1cHBsZW1lbnRhcnlDaGFyYWN0ZXIgPCAweEUwMTAwKSAvLyBVK0Uw
MTAwIHRocm91Z2ggVStFMDFFRiBVbmljb2RlIHZhcmlhdGlvbiBzZWxlY3RvcnMuCisgICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBpZiAoc3VwcGxlbWVudGFyeUNoYXJhY3Rl
ciA8PSAweEUwMUVGKQorICAgICAgICAgICAgICAgIHJldHVybiBDb21wbGV4OworCiAgICAgICAg
ICAgICAvLyBGSVhNRTogQ2hlY2sgZm9yIEJyYWhtaSAoVSsxMTAwMCBibG9jayksIEthaXRoaSAo
VSsxMTA4MCBibG9jaykgYW5kIG90aGVyIGNvbXBsZXggc2NyaXB0cwogICAgICAgICAgICAgLy8g
aW4gcGxhbmUgMSBvciBoaWdoZXIuCiAKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9
CiAKKyAgICAgICAgaWYgKGMgPCAweEZFMDApIC8vIFUrRkUwMCB0aHJvdWdoIFUrRkUwRiBVbmlj
b2RlIHZhcmlhdGlvbiBzZWxlY3RvcnMKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBp
ZiAoYyA8PSAweEZFMEYpCisgICAgICAgICAgICByZXR1cm4gQ29tcGxleDsKKwogICAgICAgICBp
ZiAoYyA8IDB4RkUyMCkgLy8gVStGRTIwIHRocm91Z2ggVStGRTJGIENvbWJpbmluZyBoYWxmIG1h
cmtzCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgaWYgKGMgPD0gMHhGRTJGKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKaW5k
ZXggZGU0YTU2YmI4NGFhZDliMDA0Y2E1Y2Q0NjlkZjZkOTE0ODI2NTM4YS4uZGQ4NmYwMDRlNGM4
Mzk2MzYzYzk1MTIzNGRhZmFmNTI0MDc5OGIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCkBAIC0xNTgsNyArMTU4LDYgQEAgcHVi
bGljOgogCiAgICAgY29uc3QgR2x5cGhEYXRhJiBtaXNzaW5nR2x5cGhEYXRhKCkgY29uc3QgeyBy
ZXR1cm4gbV9taXNzaW5nR2x5cGhEYXRhOyB9CiAgICAgdm9pZCBzZXRNaXNzaW5nR2x5cGhEYXRh
KGNvbnN0IEdseXBoRGF0YSYgZ2x5cGhEYXRhKSB7IG1fbWlzc2luZ0dseXBoRGF0YSA9IGdseXBo
RGF0YTsgfQotICAgIHZvaWQgdXBkYXRlR2x5cGhXaXRoVmFyaWF0aW9uU2VsZWN0b3IoVUNoYXIz
MiBjaGFyYWN0ZXIsIFVDaGFyMzIgc2VsZWN0b3IsIEdseXBoJikgY29uc3Q7CiAKICNpZm5kZWYg
TkRFQlVHCiAgICAgdmlydHVhbCBTdHJpbmcgZGVzY3JpcHRpb24oKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRl
eHRJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dh
dGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwCmluZGV4IDExOWIzYTQyOGE0NzI3MTVkZGJiZjcy
MjVkZmNhMjhhNmUwNDk2M2YuLmFjMGJhZTMwNjU1OTA1MmNiZTc1ZGIwNGVhYWZiOGFlODA2N2E0
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0
ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNwcApAQCAtMzIsMjEgKzMy
LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFVuaWNvZGU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
aW5saW5lIHN0YXRpYyBib29sIGlzVW5pY29kZUJNUFZhcmlhdGlvblNlbGVjdG9yKFVDaGFyIGNo
YXJhY3RlcikKLXsKLSAgICByZXR1cm4gKDB4MTgwQiA8PSBjaGFyYWN0ZXIgJiYgY2hhcmFjdGVy
IDw9IDB4MTgwRCkgfHwgKDB4RkUwMCA8PSBjaGFyYWN0ZXIgJiYgY2hhcmFjdGVyIDw9IDB4RkUw
Rik7Ci19Ci0KLWlubGluZSBzdGF0aWMgYm9vbCBpc1VuaWNvZGVTdXBwbGVtZW50YXJ5VmFyaWF0
aW9uU2VsZWN0b3IoVUNoYXIgbGVhZCwgVUNoYXIgdHJhaWwpCi17Ci0gICAgLy8gQSBub24tQk1Q
IHZhcmlhdGlvbiBzZWxlY3RvciBjaGFyYWN0ZXIgaXMgaW4gdGhlIHJhbmdlIG9mIFUrRTAxMDAg
dG8gVStFMDFFRi4KLSAgICAvLyBJdCBjYW4gYmUgYSBzdXJyb2dhdGUgcGFpciBpbiB3aGljaCB0
aGUgaGlnaCBzdXJyb2dhdGUgaXMgMHhEQjQwIGFuZAotICAgIC8vIHRoZSBsb3cgc3Vycm9nYXRl
IGlzIGluIHRoZSByYW5nZSBvZiBVMTZfVFJBSUwoMHhFMDEwMCAtIDB4MTAwMDApIHRvIFUxNl9U
UkFJTCgweEUwMUVGIC0gMHgxMDAwMCkuCi0gICAgc3RhdGljIGNvbnN0IFVDaGFyIHRyYWlsU3Rh
cnQgPSBVMTZfVFJBSUwoMHhFMDEwMCAtIDB4MTAwMDApOwotICAgIHN0YXRpYyBjb25zdCBVQ2hh
ciB0cmFpbEVuZCA9IFUxNl9UUkFJTCgweEUwMUVGIC0gMHgxMDAwMCk7Ci0gICAgcmV0dXJuIGxl
YWQgPT0gMHhEQjQwICYmIHRyYWlsU3RhcnQgPD0gdHJhaWwgJiYgdHJhaWwgPD0gdHJhaWxFbmQ7
Ci19Ci0KIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6U3Vycm9nYXRlUGFpckF3YXJl
VGV4dEl0ZXJhdG9yKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCBpbnQgY3VycmVudENoYXJhY3Rl
ciwgaW50IGxhc3RDaGFyYWN0ZXIsIGludCBlbmRDaGFyYWN0ZXIpCiAgICAgOiBtX2NoYXJhY3Rl
cnMoY2hhcmFjdGVycykKICAgICAsIG1fY3VycmVudENoYXJhY3RlcihjdXJyZW50Q2hhcmFjdGVy
KQpAQCAtOTgsMjEgKzgzLDYgQEAgYm9vbCBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3I6
OmNvbnN1bWUoVUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNpZ25lZCYgY2x1c3QKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotYm9vbCBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3I6Omhhc1RyYWls
aW5nVmFyaWF0aW9uU2VsZWN0b3IoVUNoYXIzMiYgc2VsZWN0b3IsIHVuc2lnbmVkJiBjbHVzdGVy
TGVuZ3RoKQotewotICAgIGlmIChzdGF0aWNfY2FzdDxpbnQ+KG1fY3VycmVudENoYXJhY3RlciAr
IGNsdXN0ZXJMZW5ndGgpIDwgbV9lbmRDaGFyYWN0ZXIgJiYgaXNVbmljb2RlQk1QVmFyaWF0aW9u
U2VsZWN0b3IobV9jaGFyYWN0ZXJzW2NsdXN0ZXJMZW5ndGhdKSkgewotICAgICAgICBzZWxlY3Rv
ciA9IG1fY2hhcmFjdGVyc1tjbHVzdGVyTGVuZ3RoXTsKLSAgICAgICAgY2x1c3Rlckxlbmd0aCAr
PSAxOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgaWYgKHN0YXRpY19jYXN0PGlu
dD4obV9jdXJyZW50Q2hhcmFjdGVyICsgY2x1c3Rlckxlbmd0aCArIDEpIDwgbV9lbmRDaGFyYWN0
ZXIgJiYgaXNVbmljb2RlU3VwcGxlbWVudGFyeVZhcmlhdGlvblNlbGVjdG9yKG1fY2hhcmFjdGVy
c1tjbHVzdGVyTGVuZ3RoXSwgbV9jaGFyYWN0ZXJzW2NsdXN0ZXJMZW5ndGggKyAxXSkpIHsKLSAg
ICAgICAgc2VsZWN0b3IgPSBVMTZfR0VUX1NVUFBMRU1FTlRBUlkobV9jaGFyYWN0ZXJzW2NsdXN0
ZXJMZW5ndGhdLCBtX2NoYXJhY3RlcnNbY2x1c3Rlckxlbmd0aCArIDFdKTsKLSAgICAgICAgY2x1
c3Rlckxlbmd0aCArPSAyOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJu
IGZhbHNlOwotfQotCiB2b2lkIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6YWR2YW5j
ZSh1bnNpZ25lZCBhZHZhbmNlTGVuZ3RoKQogewogICAgIG1fY2hhcmFjdGVycyArPSBhZHZhbmNl
TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3Vy
cm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaAppbmRleCA4ZGNlYThkNzY1
NzA4ODQ3YzUxNDU2OWY2NmMxNDJiNGQxMDUzZWIyLi4xZDU2ZWI4YjI1YzZmNmU2OTQ1NmMxNjZi
YTQ2NGMzZjg5YTZkMjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaApAQCAt
MzIsNyArMzIsNiBAQCBwdWJsaWM6CiAgICAgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9y
KGNvbnN0IFVDaGFyKiwgaW50IGN1cnJlbnRDaGFyYWN0ZXIsIGludCBsYXN0Q2hhcmFjdGVyLCBp
bnQgZW5kQ2hhcmFjdGVyKTsKIAogICAgIGJvb2wgY29uc3VtZShVQ2hhcjMyJiBjaGFyYWN0ZXIs
IHVuc2lnbmVkJiBjbHVzdGVyTGVuZ3RoKTsKLSAgICBib29sIGhhc1RyYWlsaW5nVmFyaWF0aW9u
U2VsZWN0b3IoVUNoYXIzMiYgc2VsZWN0b3IsIHVuc2lnbmVkJiBjbHVzdGVyTGVuZ3RoKTsKICAg
ICB2b2lkIGFkdmFuY2UodW5zaWduZWQgYWR2YW5jZUxlbmd0aCk7CiAKICAgICBpbnQgY3VycmVu
dENoYXJhY3RlcigpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudENoYXJhY3RlcjsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAppbmRl
eCAwNjgyNmJlZjNiYmIwZTczMWZjYmYxNmQwM2VkN2U4Y2RhMzAzZGFlLi5kNzQ5YTRmNDY4MDVi
Y2I0MjQ3NGMzN2MwNTQ3ZjFhYmIwZDdhNzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcApAQCAtMTE1LDEzICsxMTUsNiBAQCB1
bnNpZ25lZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIEdseXBoQnVmZmVyKiBn
bHlwaEJ1ZmZlcikKIAogICAgICAgICBBU1NFUlQoZm9udERhdGEpOwogCi0gICAgICAgIC8vIElm
IGEgdmFyaWF0aW9uIHNlbGVjdG9yIGZvbGxvd3MsIHVwZGF0ZSBnbHlwaCB3aXRoIHRoZSBzZWxl
Y3RvciBpZiBwb3NzaWJsZS4KLSAgICAgICAgVUNoYXIzMiBzZWxlY3RvciA9IDA7Ci0gICAgICAg
IGlmICh0ZXh0SXRlcmF0b3IuaGFzVHJhaWxpbmdWYXJpYXRpb25TZWxlY3RvcihzZWxlY3Rvciwg
Y2x1c3Rlckxlbmd0aCkpIHsKLSAgICAgICAgICAgIGZvbnREYXRhLT51cGRhdGVHbHlwaFdpdGhW
YXJpYXRpb25TZWxlY3RvcihjaGFyYWN0ZXIsIHNlbGVjdG9yLCBnbHlwaCk7Ci0gICAgICAgICAg
ICBhZHZhbmNlTGVuZ3RoID0gY2x1c3Rlckxlbmd0aDsKLSAgICAgICAgfQotCiAgICAgICAgIC8v
IE5vdyB0aGF0IHdlIGhhdmUgYSBnbHlwaCBhbmQgZm9udCBkYXRhLCBnZXQgaXRzIHdpZHRoLgog
ICAgICAgICBmbG9hdCB3aWR0aDsKICAgICAgICAgaWYgKGNoYXJhY3RlciA9PSAnXHQnICYmIG1f
cnVuLmFsbG93VGFicygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21pdW1X
aW4uY3BwCmluZGV4IDk2ODE3NDZiYWZhMGY5NmQ3N2ZlZTVjNzdkYmRjMWNkZGNmYzgwNzguLjc4
YWQ1NmFmOWQzNTQ4ODJlYTI4M2QwZmZhMDFjYTI5YzEwMTUxYmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21p
dW1XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1NpbXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwCkBAIC0xOTksOSArMTk5LDQgQEAgZmxvYXQg
U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtV2lkdGhGb3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QK
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKTsKIH0KIAotdm9pZCBTaW1wbGVG
b250RGF0YTo6dXBkYXRlR2x5cGhXaXRoVmFyaWF0aW9uU2VsZWN0b3IoVUNoYXIzMiBjaGFyYWN0
ZXIsIFVDaGFyMzIgc2VsZWN0b3IsIEdseXBoJiBnbHlwaCkgY29uc3QKLXsKLSAgICAvLyBGSVhN
RTogSW1wbGVtZW50LgotfQotCiB9ICAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFG
cmVlVHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9T
aW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcAppbmRleCAzY2M2YmU3MTNlOWZiMTJjYTdhNzNkZmZm
OWRmZTY2NTJjOTZhNDEyLi41ZDZlN2ZiMjY1Y2ZhMmIxMzI0NmRmMjE1YjhjZDMzMTBhZDNhMDhl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9T
aW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcApAQCAtMTYyLDkgKzE2
Miw0IEBAIGZsb2F0IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybVdpZHRoRm9yR2x5cGgoR2x5cGgg
Z2x5cGgpIGNvbnN0CiAgICAgcmV0dXJuIHc7ICAgIAogfQogCi12b2lkIFNpbXBsZUZvbnREYXRh
Ojp1cGRhdGVHbHlwaFdpdGhWYXJpYXRpb25TZWxlY3RvcihVQ2hhcjMyIGNoYXJhY3RlciwgVUNo
YXIzMiBzZWxlY3RvciwgR2x5cGgmIGdseXBoKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQuCi19Ci0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2hhcmZidXp6L1NpbXBsZUZvbnREYXRhU2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9oYXJmYnV6ei9TaW1wbGVGb250RGF0YVNraWEuY3BwCmluZGV4IGQwMmMx
MmFkYTIwZDZlZDQyYTYwY2U2Y2FjYzJhNjg0NTc5Yzk0MWYuLjc4MmIwMmZhOTMyN2I3YmY2Nzg4
NzA3MGUwMTRlOTM5MWJiZTcxZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2hhcmZidXp6L1NpbXBsZUZvbnREYXRhU2tpYS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFyZmJ1enovU2ltcGxlRm9udERhdGFTa2lhLmNwcApA
QCAtMjM2LDkgKzIzNiw0IEBAIGZsb2F0IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybVdpZHRoRm9y
R2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0CiAgICAgcmV0dXJuIHJvdW5kKFNrU2NhbGFyVG9GbG9h
dCh3aWR0aCkpOwogfQogCi12b2lkIFNpbXBsZUZvbnREYXRhOjp1cGRhdGVHbHlwaFdpdGhWYXJp
YXRpb25TZWxlY3RvcihVQ2hhcjMyIGNoYXJhY3RlciwgVUNoYXIzMiBzZWxlY3RvciwgR2x5cGgm
IGdseXBoKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi19Ci0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQppbmRleCAxN2YyMjY0OTViOTI0ZTI1M2Qz
NjZmY2I5NWQ0NTZjMDljMWQ0NzYxLi41NGMwM2Y4Nzk1ZjMxYzZlMTcwZjYzNTFjNzQ5YTE4ZmVh
ZDZkMDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
U2ltcGxlRm9udERhdGFNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCkBAIC00NjcsMzIgKzQ2Nyw0IEBAIGJvb2wgU2lt
cGxlRm9udERhdGE6OmNhblJlbmRlckNvbWJpbmluZ0NoYXJhY3RlclNlcXVlbmNlKGNvbnN0IFVD
aGFyKiBjaGFyYWN0ZXJzCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9p
ZCBkZWNvbXBvc2VUb1VURjE2KFVDaGFyKiBidWZmZXIsIHVuc2lnbmVkJiBsZW5ndGgsIGNvbnN0
IFVDaGFyMzIgY2hhcmFjdGVyKQotewotICAgIGlmIChVX0lTX0JNUChjaGFyYWN0ZXIpKSB7Ci0g
ICAgICAgIGJ1ZmZlcltsZW5ndGhdID0gY2hhcmFjdGVyOwotICAgICAgICArK2xlbmd0aDsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGJ1ZmZlcltsZW5ndGhdID0gVTE2X0xFQUQoY2hh
cmFjdGVyKTsKLSAgICBidWZmZXJbbGVuZ3RoICsgMV0gPSBVMTZfVFJBSUwoY2hhcmFjdGVyKTsK
LSAgICBsZW5ndGggKz0gMjsKLX0KLQotdm9pZCBTaW1wbGVGb250RGF0YTo6dXBkYXRlR2x5cGhX
aXRoVmFyaWF0aW9uU2VsZWN0b3IoVUNoYXIzMiBjaGFyYWN0ZXIsIFVDaGFyMzIgc2VsZWN0b3Is
IEdseXBoJiBnbHlwaCkgY29uc3QKLXsKLSAgICB1bnNpZ25lZCBsZW5ndGggPSAwOwotICAgIFVD
aGFyIGJ1ZmZlcls0XTsKLQotICAgIGRlY29tcG9zZVRvVVRGMTYoYnVmZmVyLCBsZW5ndGgsIGNo
YXJhY3Rlcik7Ci0gICAgZGVjb21wb3NlVG9VVEYxNihidWZmZXIsIGxlbmd0aCwgc2VsZWN0b3Ip
OwotICAgIEFTU0VSVChsZW5ndGggPD0gNCk7Ci0KLSAgICBDR0dseXBoIGdseXBoc1s0XTsKLSAg
ICB3a0dldEdseXBoc0ZvckNoYXJhY3RlcnMocGxhdGZvcm1EYXRhKCkuY2dGb250KCksIGJ1ZmZl
ciwgZ2x5cGhzLCBsZW5ndGgpOwotICAgIGlmIChnbHlwaHNbMF0pCi0gICAgICAgIGdseXBoID0g
Z2x5cGhzWzBdOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdvLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZvbnREYXRh
UGFuZ28uY3BwCmluZGV4IGQ2NDI4ZDk4ZTQxZDM3OTQzYjRmZWEzNWQ5YTg0ZGQyYjdmMTBkZTMu
LmVlOGVlMGY3NDRkN2Q2NzVjYjQ4MDIxZWM3YjE0MTliYzYzZDhhMzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZvbnREYXRhUGFuZ28u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZv
bnREYXRhUGFuZ28uY3BwCkBAIC0xNjAsOSArMTYwLDQgQEAgZmxvYXQgU2ltcGxlRm9udERhdGE6
OnBsYXRmb3JtV2lkdGhGb3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKICAgICByZXR1cm4gd2lk
dGg7ICAgIAogfQogCi12b2lkIFNpbXBsZUZvbnREYXRhOjp1cGRhdGVHbHlwaFdpdGhWYXJpYXRp
b25TZWxlY3RvcihVQ2hhcjMyIGNoYXJhY3RlciwgVUNoYXIzMiBzZWxlY3RvciwgR2x5cGgmIGds
eXBoKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi19Ci0KIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFR
dC5jcHAKaW5kZXggNGZmMjNiZTFjNWQ2ZjhjNjEzMmJkNjU3NTNlMTg4N2MzMmI3MzA1OS4uZTk1
YjhjNWVhMjI0MmRiY2FhY2YyNmRkOTllYmM0ZDM0OGE3N2QzYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHAK
QEAgLTE4OSw5ICsxODksNCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybURlc3Ryb3ko
KQogewogfQogCi12b2lkIFNpbXBsZUZvbnREYXRhOjp1cGRhdGVHbHlwaFdpdGhWYXJpYXRpb25T
ZWxlY3RvcihVQ2hhcjMyIGNoYXJhY3RlciwgVUNoYXIzMiBzZWxlY3RvciwgR2x5cGgmIGdseXBo
KSBjb25zdAotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi19Ci0KIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFX
aW4uY3BwCmluZGV4IGE0OWFiZTJlZjdhMDhjZGNjMTExMTllMThjMzM3NzEzYWIzMDUzZTIuLmRl
NjY4N2Y1YzdhODMzMzViMTI5NGJmMGQ5NDk0MzZlMDRmYmVjNGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2lu
LmNwcApAQCAtMjgyLDkgKzI4Miw0IEBAIFNDUklQVF9GT05UUFJPUEVSVElFUyogU2ltcGxlRm9u
dERhdGE6OnNjcmlwdEZvbnRQcm9wZXJ0aWVzKCkgY29uc3QKICAgICByZXR1cm4gbV9zY3JpcHRG
b250UHJvcGVydGllczsKIH0KIAotdm9pZCBTaW1wbGVGb250RGF0YTo6dXBkYXRlR2x5cGhXaXRo
VmFyaWF0aW9uU2VsZWN0b3IoVUNoYXIzMiBjaGFyYWN0ZXIsIFVDaGFyMzIgc2VsZWN0b3IsIEds
eXBoJiBnbHlwaCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50LgotfQotCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVG
b250RGF0YVdpbkNFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCmluZGV4IDFiYTY2OTA3NGQ0ZTRkMGMwMzc3M2ZmMWZj
ODk0Y2VhOGFhMjkxODEuLmUzYjg0MjQ2M2YzOGI3YjU5MjI1MGRjZTU1NTIwYjY0ZjYxOTM0NDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1NpbXBs
ZUZvbnREYXRhV2luQ0UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCkBAIC0xODAsOSArMTgwLDQgQEAgdm9pZCBT
aW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFyV2lkdGhJbml0KCkKICAgICBtX21heENoYXJXaWR0
aCA9ICh0bS50bU1heENoYXJXaWR0aCAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcy
OwogfQogCi12b2lkIFNpbXBsZUZvbnREYXRhOjp1cGRhdGVHbHlwaFdpdGhWYXJpYXRpb25TZWxl
Y3RvcihVQ2hhcjMyIGNoYXJhY3RlciwgVUNoYXIzMiBzZWxlY3RvciwgR2x5cGgmIGdseXBoKSBj
b25zdAotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi19Ci0KIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1Np
bXBsZUZvbnREYXRhV3guY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gv
U2ltcGxlRm9udERhdGFXeC5jcHAKaW5kZXggZDk4ZWNiZDYwZTM1MjYxYTEyNjJlNGRkNDFiNWRh
NWE2NDM1MTg3NS4uY2I3ZmIzZDdhNWZjNTE3NjdiM2MyNThjOGE4MjMxOTBjNzNlNGYzZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERh
dGFXeC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxl
Rm9udERhdGFXeC5jcHAKQEAgLTE5NCw5ICsxOTQsNCBAQCBmbG9hdCBTaW1wbGVGb250RGF0YTo6
d2lkdGhGb3JHRElHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKIH0KICNlbmRpZgogCi12b2lkIFNp
bXBsZUZvbnREYXRhOjp1cGRhdGVHbHlwaFdpdGhWYXJpYXRpb25TZWxlY3RvcihVQ2hhcjMyIGNo
YXJhY3RlciwgVUNoYXIzMiBzZWxlY3RvciwgR2x5cGgmIGdseXBoKSBjb25zdAotewotICAgIC8v
IEZJWE1FOiBJbXBsZW1lbnQuCi19Ci0KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1OGJmNWE3OTA3OTU3ZWE0MzgzZDg0
YTM2YzRkZWI1YTU1NTdlM2JlLi5jZWQ0MzY1YTIyYjJhZjYyMGNjZDI4NDA5YjM2Y2U3NDhiMzQ4
MTkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMTItMjcgIEtlbmljaGkgSXNoaWJhc2hp
ICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENvbXBsZXggcGF0aCBzaG91bGQgYmUg
dXNlZCB3aGVuIFVWUyBleGlzdHMgaW4gdGV4dCBydW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0
aW9ucy50eHQ6IFVwZGF0ZXMgTUFDIGV4cGVjdGF0aW9uIGZvciBmYXN0L3RleHQvdW5pY29kZS12
YXJpYXRpb24tc2VsZWN0b3IuaHRtbC4gSXQgc2VlbXMgbWFjIHBvcnQgZG9lc24ndCBzdXBwb3J0
IFVWUyBpbiBjb21wbGV4IHBhdGguCisKIDIwMTEtMTItMjcgIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIHBhc3MvY3Jhc2ggZXhwZWN0YXRpb24gZm9yIHN2
Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tNTItdC5zdmcKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCA1ZjA5MGUxZDE3
ZWM5MjdkMjk3ZjFhOTkxODg5MzFiYTM4NTg1ZWI2Li40YTk5OGZiMWZkNmEzOTlkYmEyNmI3YjRk
YTMxYzIxYWJjMDg4ODdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0zODcwLDcgKzM4NzAsNyBAQCBCVUdXSzc0Mzc0
IFdJTiA6IGZhc3QvZm9ybXMvc2VsZWN0LWxpc3Rib3gtbXVsdGlwbGUtbm8tZm9jdXNyaW5nLmh0
bWwgPSBQQVNTIElNQQogLy8gVGhlIHRlc3QgaGl0cyBhbiBBU1NFUlQgaW4gRGVidWcuCiBCVUdX
SzY4ODU5IERFQlVHIDogZmFzdC9keW5hbWljL2NyYXNoLXBhaW50LW5vLWRvY3VtZW50RWxlbWVu
dC1yZW5kZXJlci5odG1sID0gQ1JBU0gKIAotQlVHV0s3NDY2MiBNQUMgOiBmYXN0L3RleHQvdW5p
Y29kZS12YXJpYXRpb24tc2VsZWN0b3IuaHRtbCA9IFBBU1MgQ1JBU0gKK0JVR1dLNzQ2NjIgTUFD
IDogZmFzdC90ZXh0L3VuaWNvZGUtdmFyaWF0aW9uLXNlbGVjdG9yLmh0bWwgPSBJTUFHRStURVhU
CiAKIEJVR1dLNzQ2MzQgV0lOIDogY29tcG9zaXRpbmcvYWJzb2x1dGUtcG9zaXRpb24tY2hhbmdl
ZC13aXRoLWNvbXBvc2l0ZWQtcGFyZW50LWxheWVyLmh0bWwgPSBJTUFHRQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120634</attachid>
            <date>2011-12-27 21:30:28 -0800</date>
            <delta_ts>2012-01-05 23:02:55 -0800</delta_ts>
            <desc>Patch (update expectations)</desc>
            <filename>bug-75289-20111228143027.patch</filename>
            <type>text/plain</type>
            <size>15961</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzNzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGVmNmIwMGEwNzMzNzE2
ZDE4MTNlZWEyNjFkMTUwYTBiOGNmMDZmMi4uOGZjYzk3NmJmNTE4OWZiYWI1YjdiMmIzNmQxNWIw
YmE0YmI0M2Y3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDExLTEyLTI3ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb21wbGV4IHBh
dGggc2hvdWxkIGJlIHVzZWQgd2hlbiBVVlMgZXhpc3RzIGluIHRleHQgcnVuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4OQorCisgICAgICAgIFVz
ZXMgY29tcGxleCBwYXRoIHdoZW4gYSB0ZXh0IHJ1biBjb250YWlucyBVVlMuIFRoZSByYW5nZSBm
cm9tIFUrMTgwQiB0byBVKzE4MEQgYWxyZWFkeSB1c2VzIGNvbXBsZXggcGF0aC4KKyAgICAgICAg
UmVtb3ZlcyB1bm5lY2Vzc2FyeSBmdW5jdGlvbnMgdGhhdCB3ZXJlIGFkZGVkIGJ5IHIxMDI5MTUu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLiBmYXN0L3RleHQvdW5pY29kZS12YXJpYXRpb24tc2VsZWN0b3IuaHRtbCBzaG91bGQg
dGFrZSBjYXJlIG9mIHRoaXMgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojpjb2RlUGF0aCk6IFVzZSBDb21wbGV4
IHBhdGggd2hlbiB0aGUgdGV4dCBydW4gY29udGFpbnMgVVZTLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmg6IFJlbW92ZWQgdXBkYXRlR2x5cGhXaXRoVmFyaWF0
aW9uU2VsZWN0b3IoKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWly
QXdhcmVUZXh0SXRlcmF0b3IuY3BwOiBSZW1vdmVkIHVubmVjZXNzYXJ5IHN0YXRpYyBmdW5jdGlv
bnMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0
ZXJhdG9yLmg6IFJlbW92ZWQgaGFzVHJhaWxpbmdWYXJpYXRpb25TZWxlY3RvcigpLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2lkdGhJdGVyYXRvcjo6YWR2YW5jZSk6IFJlbW92ZWQgVVZTIGRldGVjdGlvbiBjb2RlLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21p
dW1XaW4uY3BwOiBSZW1vdmVkIHVwZGF0ZUdseXBoV2l0aFZhcmlhdGlvblNlbGVjdG9yKCkuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlw
ZS5jcHA6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2hhcmZidXp6L1NpbXBs
ZUZvbnREYXRhU2tpYS5jcHA6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21h
Yy9TaW1wbGVGb250RGF0YU1hYy5tbTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvcGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5jcHA6IERpdHRvLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwOiBEaXR0by4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwOiBEaXR0by4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVGb250RGF0YVdpbkNFLmNwcDogRGl0
dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHA6
IERpdHRvLgorCiAyMDExLTEyLTI3ICBEb21pbmljIENvb25leSAgPGRvbWluaWNjQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZW1vdmUgaW5pdFdlYktpdEFuaW1hdGlvbkV2ZW50IG1ldGhvZApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAppbmRleCA0NDVkMWQwODU4
YTcxYTA3OWQ1MmQyYzZlODAyNTFhNGFkZTQ1YTY5Li5jMmQ5YzU4YzNmNTA0ODE1ZDVjMzQ5NjUy
Y2FmYTI0ZGQ5MzE0NzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
LmNwcApAQCAtNDA0LDEyICs0MDQsMjIgQEAgRm9udDo6Q29kZVBhdGggRm9udDo6Y29kZVBhdGgo
Y29uc3QgVGV4dFJ1biYgcnVuKSBjb25zdAogICAgICAgICAgICAgaWYgKHN1cHBsZW1lbnRhcnlD
aGFyYWN0ZXIgPD0gMHgxRjFGRikKICAgICAgICAgICAgICAgICByZXR1cm4gQ29tcGxleDsKIAor
ICAgICAgICAgICAgaWYgKHN1cHBsZW1lbnRhcnlDaGFyYWN0ZXIgPCAweEUwMTAwKSAvLyBVK0Uw
MTAwIHRocm91Z2ggVStFMDFFRiBVbmljb2RlIHZhcmlhdGlvbiBzZWxlY3RvcnMuCisgICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBpZiAoc3VwcGxlbWVudGFyeUNoYXJhY3Rl
ciA8PSAweEUwMUVGKQorICAgICAgICAgICAgICAgIHJldHVybiBDb21wbGV4OworCiAgICAgICAg
ICAgICAvLyBGSVhNRTogQ2hlY2sgZm9yIEJyYWhtaSAoVSsxMTAwMCBibG9jayksIEthaXRoaSAo
VSsxMTA4MCBibG9jaykgYW5kIG90aGVyIGNvbXBsZXggc2NyaXB0cwogICAgICAgICAgICAgLy8g
aW4gcGxhbmUgMSBvciBoaWdoZXIuCiAKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9
CiAKKyAgICAgICAgaWYgKGMgPCAweEZFMDApIC8vIFUrRkUwMCB0aHJvdWdoIFUrRkUwRiBVbmlj
b2RlIHZhcmlhdGlvbiBzZWxlY3RvcnMKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBp
ZiAoYyA8PSAweEZFMEYpCisgICAgICAgICAgICByZXR1cm4gQ29tcGxleDsKKwogICAgICAgICBp
ZiAoYyA8IDB4RkUyMCkgLy8gVStGRTIwIHRocm91Z2ggVStGRTJGIENvbWJpbmluZyBoYWxmIG1h
cmtzCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgaWYgKGMgPD0gMHhGRTJGKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKaW5k
ZXggZGU0YTU2YmI4NGFhZDliMDA0Y2E1Y2Q0NjlkZjZkOTE0ODI2NTM4YS4uZGQ4NmYwMDRlNGM4
Mzk2MzYzYzk1MTIzNGRhZmFmNTI0MDc5OGIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCkBAIC0xNTgsNyArMTU4LDYgQEAgcHVi
bGljOgogCiAgICAgY29uc3QgR2x5cGhEYXRhJiBtaXNzaW5nR2x5cGhEYXRhKCkgY29uc3QgeyBy
ZXR1cm4gbV9taXNzaW5nR2x5cGhEYXRhOyB9CiAgICAgdm9pZCBzZXRNaXNzaW5nR2x5cGhEYXRh
KGNvbnN0IEdseXBoRGF0YSYgZ2x5cGhEYXRhKSB7IG1fbWlzc2luZ0dseXBoRGF0YSA9IGdseXBo
RGF0YTsgfQotICAgIHZvaWQgdXBkYXRlR2x5cGhXaXRoVmFyaWF0aW9uU2VsZWN0b3IoVUNoYXIz
MiBjaGFyYWN0ZXIsIFVDaGFyMzIgc2VsZWN0b3IsIEdseXBoJikgY29uc3Q7CiAKICNpZm5kZWYg
TkRFQlVHCiAgICAgdmlydHVhbCBTdHJpbmcgZGVzY3JpcHRpb24oKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRl
eHRJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dh
dGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwCmluZGV4IDExOWIzYTQyOGE0NzI3MTVkZGJiZjcy
MjVkZmNhMjhhNmUwNDk2M2YuLmFjMGJhZTMwNjU1OTA1MmNiZTc1ZGIwNGVhYWZiOGFlODA2N2E0
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0
ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNwcApAQCAtMzIsMjEgKzMy
LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFVuaWNvZGU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
aW5saW5lIHN0YXRpYyBib29sIGlzVW5pY29kZUJNUFZhcmlhdGlvblNlbGVjdG9yKFVDaGFyIGNo
YXJhY3RlcikKLXsKLSAgICByZXR1cm4gKDB4MTgwQiA8PSBjaGFyYWN0ZXIgJiYgY2hhcmFjdGVy
IDw9IDB4MTgwRCkgfHwgKDB4RkUwMCA8PSBjaGFyYWN0ZXIgJiYgY2hhcmFjdGVyIDw9IDB4RkUw
Rik7Ci19Ci0KLWlubGluZSBzdGF0aWMgYm9vbCBpc1VuaWNvZGVTdXBwbGVtZW50YXJ5VmFyaWF0
aW9uU2VsZWN0b3IoVUNoYXIgbGVhZCwgVUNoYXIgdHJhaWwpCi17Ci0gICAgLy8gQSBub24tQk1Q
IHZhcmlhdGlvbiBzZWxlY3RvciBjaGFyYWN0ZXIgaXMgaW4gdGhlIHJhbmdlIG9mIFUrRTAxMDAg
dG8gVStFMDFFRi4KLSAgICAvLyBJdCBjYW4gYmUgYSBzdXJyb2dhdGUgcGFpciBpbiB3aGljaCB0
aGUgaGlnaCBzdXJyb2dhdGUgaXMgMHhEQjQwIGFuZAotICAgIC8vIHRoZSBsb3cgc3Vycm9nYXRl
IGlzIGluIHRoZSByYW5nZSBvZiBVMTZfVFJBSUwoMHhFMDEwMCAtIDB4MTAwMDApIHRvIFUxNl9U
UkFJTCgweEUwMUVGIC0gMHgxMDAwMCkuCi0gICAgc3RhdGljIGNvbnN0IFVDaGFyIHRyYWlsU3Rh
cnQgPSBVMTZfVFJBSUwoMHhFMDEwMCAtIDB4MTAwMDApOwotICAgIHN0YXRpYyBjb25zdCBVQ2hh
ciB0cmFpbEVuZCA9IFUxNl9UUkFJTCgweEUwMUVGIC0gMHgxMDAwMCk7Ci0gICAgcmV0dXJuIGxl
YWQgPT0gMHhEQjQwICYmIHRyYWlsU3RhcnQgPD0gdHJhaWwgJiYgdHJhaWwgPD0gdHJhaWxFbmQ7
Ci19Ci0KIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6U3Vycm9nYXRlUGFpckF3YXJl
VGV4dEl0ZXJhdG9yKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCBpbnQgY3VycmVudENoYXJhY3Rl
ciwgaW50IGxhc3RDaGFyYWN0ZXIsIGludCBlbmRDaGFyYWN0ZXIpCiAgICAgOiBtX2NoYXJhY3Rl
cnMoY2hhcmFjdGVycykKICAgICAsIG1fY3VycmVudENoYXJhY3RlcihjdXJyZW50Q2hhcmFjdGVy
KQpAQCAtOTgsMjEgKzgzLDYgQEAgYm9vbCBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3I6
OmNvbnN1bWUoVUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNpZ25lZCYgY2x1c3QKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotYm9vbCBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3I6Omhhc1RyYWls
aW5nVmFyaWF0aW9uU2VsZWN0b3IoVUNoYXIzMiYgc2VsZWN0b3IsIHVuc2lnbmVkJiBjbHVzdGVy
TGVuZ3RoKQotewotICAgIGlmIChzdGF0aWNfY2FzdDxpbnQ+KG1fY3VycmVudENoYXJhY3RlciAr
IGNsdXN0ZXJMZW5ndGgpIDwgbV9lbmRDaGFyYWN0ZXIgJiYgaXNVbmljb2RlQk1QVmFyaWF0aW9u
U2VsZWN0b3IobV9jaGFyYWN0ZXJzW2NsdXN0ZXJMZW5ndGhdKSkgewotICAgICAgICBzZWxlY3Rv
ciA9IG1fY2hhcmFjdGVyc1tjbHVzdGVyTGVuZ3RoXTsKLSAgICAgICAgY2x1c3Rlckxlbmd0aCAr
PSAxOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgaWYgKHN0YXRpY19jYXN0PGlu
dD4obV9jdXJyZW50Q2hhcmFjdGVyICsgY2x1c3Rlckxlbmd0aCArIDEpIDwgbV9lbmRDaGFyYWN0
ZXIgJiYgaXNVbmljb2RlU3VwcGxlbWVudGFyeVZhcmlhdGlvblNlbGVjdG9yKG1fY2hhcmFjdGVy
c1tjbHVzdGVyTGVuZ3RoXSwgbV9jaGFyYWN0ZXJzW2NsdXN0ZXJMZW5ndGggKyAxXSkpIHsKLSAg
ICAgICAgc2VsZWN0b3IgPSBVMTZfR0VUX1NVUFBMRU1FTlRBUlkobV9jaGFyYWN0ZXJzW2NsdXN0
ZXJMZW5ndGhdLCBtX2NoYXJhY3RlcnNbY2x1c3Rlckxlbmd0aCArIDFdKTsKLSAgICAgICAgY2x1
c3Rlckxlbmd0aCArPSAyOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJu
IGZhbHNlOwotfQotCiB2b2lkIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6YWR2YW5j
ZSh1bnNpZ25lZCBhZHZhbmNlTGVuZ3RoKQogewogICAgIG1fY2hhcmFjdGVycyArPSBhZHZhbmNl
TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3Vy
cm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaAppbmRleCA4ZGNlYThkNzY1
NzA4ODQ3YzUxNDU2OWY2NmMxNDJiNGQxMDUzZWIyLi4xZDU2ZWI4YjI1YzZmNmU2OTQ1NmMxNjZi
YTQ2NGMzZjg5YTZkMjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaApAQCAt
MzIsNyArMzIsNiBAQCBwdWJsaWM6CiAgICAgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9y
KGNvbnN0IFVDaGFyKiwgaW50IGN1cnJlbnRDaGFyYWN0ZXIsIGludCBsYXN0Q2hhcmFjdGVyLCBp
bnQgZW5kQ2hhcmFjdGVyKTsKIAogICAgIGJvb2wgY29uc3VtZShVQ2hhcjMyJiBjaGFyYWN0ZXIs
IHVuc2lnbmVkJiBjbHVzdGVyTGVuZ3RoKTsKLSAgICBib29sIGhhc1RyYWlsaW5nVmFyaWF0aW9u
U2VsZWN0b3IoVUNoYXIzMiYgc2VsZWN0b3IsIHVuc2lnbmVkJiBjbHVzdGVyTGVuZ3RoKTsKICAg
ICB2b2lkIGFkdmFuY2UodW5zaWduZWQgYWR2YW5jZUxlbmd0aCk7CiAKICAgICBpbnQgY3VycmVu
dENoYXJhY3RlcigpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudENoYXJhY3RlcjsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAppbmRl
eCAwNjgyNmJlZjNiYmIwZTczMWZjYmYxNmQwM2VkN2U4Y2RhMzAzZGFlLi5kNzQ5YTRmNDY4MDVi
Y2I0MjQ3NGMzN2MwNTQ3ZjFhYmIwZDdhNzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcApAQCAtMTE1LDEzICsxMTUsNiBAQCB1
bnNpZ25lZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIEdseXBoQnVmZmVyKiBn
bHlwaEJ1ZmZlcikKIAogICAgICAgICBBU1NFUlQoZm9udERhdGEpOwogCi0gICAgICAgIC8vIElm
IGEgdmFyaWF0aW9uIHNlbGVjdG9yIGZvbGxvd3MsIHVwZGF0ZSBnbHlwaCB3aXRoIHRoZSBzZWxl
Y3RvciBpZiBwb3NzaWJsZS4KLSAgICAgICAgVUNoYXIzMiBzZWxlY3RvciA9IDA7Ci0gICAgICAg
IGlmICh0ZXh0SXRlcmF0b3IuaGFzVHJhaWxpbmdWYXJpYXRpb25TZWxlY3RvcihzZWxlY3Rvciwg
Y2x1c3Rlckxlbmd0aCkpIHsKLSAgICAgICAgICAgIGZvbnREYXRhLT51cGRhdGVHbHlwaFdpdGhW
YXJpYXRpb25TZWxlY3RvcihjaGFyYWN0ZXIsIHNlbGVjdG9yLCBnbHlwaCk7Ci0gICAgICAgICAg
ICBhZHZhbmNlTGVuZ3RoID0gY2x1c3Rlckxlbmd0aDsKLSAgICAgICAgfQotCiAgICAgICAgIC8v
IE5vdyB0aGF0IHdlIGhhdmUgYSBnbHlwaCBhbmQgZm9udCBkYXRhLCBnZXQgaXRzIHdpZHRoLgog
ICAgICAgICBmbG9hdCB3aWR0aDsKICAgICAgICAgaWYgKGNoYXJhY3RlciA9PSAnXHQnICYmIG1f
cnVuLmFsbG93VGFicygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21pdW1X
aW4uY3BwCmluZGV4IDk2ODE3NDZiYWZhMGY5NmQ3N2ZlZTVjNzdkYmRjMWNkZGNmYzgwNzguLjc4
YWQ1NmFmOWQzNTQ4ODJlYTI4M2QwZmZhMDFjYTI5YzEwMTUxYmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21p
dW1XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1NpbXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwCkBAIC0xOTksOSArMTk5LDQgQEAgZmxvYXQg
U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtV2lkdGhGb3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QK
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKTsKIH0KIAotdm9pZCBTaW1wbGVG
b250RGF0YTo6dXBkYXRlR2x5cGhXaXRoVmFyaWF0aW9uU2VsZWN0b3IoVUNoYXIzMiBjaGFyYWN0
ZXIsIFVDaGFyMzIgc2VsZWN0b3IsIEdseXBoJiBnbHlwaCkgY29uc3QKLXsKLSAgICAvLyBGSVhN
RTogSW1wbGVtZW50LgotfQotCiB9ICAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFG
cmVlVHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9T
aW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcAppbmRleCAzY2M2YmU3MTNlOWZiMTJjYTdhNzNkZmZm
OWRmZTY2NTJjOTZhNDEyLi41ZDZlN2ZiMjY1Y2ZhMmIxMzI0NmRmMjE1YjhjZDMzMTBhZDNhMDhl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9T
aW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcApAQCAtMTYyLDkgKzE2
Miw0IEBAIGZsb2F0IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybVdpZHRoRm9yR2x5cGgoR2x5cGgg
Z2x5cGgpIGNvbnN0CiAgICAgcmV0dXJuIHc7ICAgIAogfQogCi12b2lkIFNpbXBsZUZvbnREYXRh
Ojp1cGRhdGVHbHlwaFdpdGhWYXJpYXRpb25TZWxlY3RvcihVQ2hhcjMyIGNoYXJhY3RlciwgVUNo
YXIzMiBzZWxlY3RvciwgR2x5cGgmIGdseXBoKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQuCi19Ci0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2hhcmZidXp6L1NpbXBsZUZvbnREYXRhU2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9oYXJmYnV6ei9TaW1wbGVGb250RGF0YVNraWEuY3BwCmluZGV4IGQwMmMx
MmFkYTIwZDZlZDQyYTYwY2U2Y2FjYzJhNjg0NTc5Yzk0MWYuLjc4MmIwMmZhOTMyN2I3YmY2Nzg4
NzA3MGUwMTRlOTM5MWJiZTcxZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2hhcmZidXp6L1NpbXBsZUZvbnREYXRhU2tpYS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFyZmJ1enovU2ltcGxlRm9udERhdGFTa2lhLmNwcApA
QCAtMjM2LDkgKzIzNiw0IEBAIGZsb2F0IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybVdpZHRoRm9y
R2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0CiAgICAgcmV0dXJuIHJvdW5kKFNrU2NhbGFyVG9GbG9h
dCh3aWR0aCkpOwogfQogCi12b2lkIFNpbXBsZUZvbnREYXRhOjp1cGRhdGVHbHlwaFdpdGhWYXJp
YXRpb25TZWxlY3RvcihVQ2hhcjMyIGNoYXJhY3RlciwgVUNoYXIzMiBzZWxlY3RvciwgR2x5cGgm
IGdseXBoKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi19Ci0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQppbmRleCAxN2YyMjY0OTViOTI0ZTI1M2Qz
NjZmY2I5NWQ0NTZjMDljMWQ0NzYxLi41NGMwM2Y4Nzk1ZjMxYzZlMTcwZjYzNTFjNzQ5YTE4ZmVh
ZDZkMDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
U2ltcGxlRm9udERhdGFNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCkBAIC00NjcsMzIgKzQ2Nyw0IEBAIGJvb2wgU2lt
cGxlRm9udERhdGE6OmNhblJlbmRlckNvbWJpbmluZ0NoYXJhY3RlclNlcXVlbmNlKGNvbnN0IFVD
aGFyKiBjaGFyYWN0ZXJzCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9p
ZCBkZWNvbXBvc2VUb1VURjE2KFVDaGFyKiBidWZmZXIsIHVuc2lnbmVkJiBsZW5ndGgsIGNvbnN0
IFVDaGFyMzIgY2hhcmFjdGVyKQotewotICAgIGlmIChVX0lTX0JNUChjaGFyYWN0ZXIpKSB7Ci0g
ICAgICAgIGJ1ZmZlcltsZW5ndGhdID0gY2hhcmFjdGVyOwotICAgICAgICArK2xlbmd0aDsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGJ1ZmZlcltsZW5ndGhdID0gVTE2X0xFQUQoY2hh
cmFjdGVyKTsKLSAgICBidWZmZXJbbGVuZ3RoICsgMV0gPSBVMTZfVFJBSUwoY2hhcmFjdGVyKTsK
LSAgICBsZW5ndGggKz0gMjsKLX0KLQotdm9pZCBTaW1wbGVGb250RGF0YTo6dXBkYXRlR2x5cGhX
aXRoVmFyaWF0aW9uU2VsZWN0b3IoVUNoYXIzMiBjaGFyYWN0ZXIsIFVDaGFyMzIgc2VsZWN0b3Is
IEdseXBoJiBnbHlwaCkgY29uc3QKLXsKLSAgICB1bnNpZ25lZCBsZW5ndGggPSAwOwotICAgIFVD
aGFyIGJ1ZmZlcls0XTsKLQotICAgIGRlY29tcG9zZVRvVVRGMTYoYnVmZmVyLCBsZW5ndGgsIGNo
YXJhY3Rlcik7Ci0gICAgZGVjb21wb3NlVG9VVEYxNihidWZmZXIsIGxlbmd0aCwgc2VsZWN0b3Ip
OwotICAgIEFTU0VSVChsZW5ndGggPD0gNCk7Ci0KLSAgICBDR0dseXBoIGdseXBoc1s0XTsKLSAg
ICB3a0dldEdseXBoc0ZvckNoYXJhY3RlcnMocGxhdGZvcm1EYXRhKCkuY2dGb250KCksIGJ1ZmZl
ciwgZ2x5cGhzLCBsZW5ndGgpOwotICAgIGlmIChnbHlwaHNbMF0pCi0gICAgICAgIGdseXBoID0g
Z2x5cGhzWzBdOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdvLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZvbnREYXRh
UGFuZ28uY3BwCmluZGV4IGQ2NDI4ZDk4ZTQxZDM3OTQzYjRmZWEzNWQ5YTg0ZGQyYjdmMTBkZTMu
LmVlOGVlMGY3NDRkN2Q2NzVjYjQ4MDIxZWM3YjE0MTliYzYzZDhhMzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZvbnREYXRhUGFuZ28u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZv
bnREYXRhUGFuZ28uY3BwCkBAIC0xNjAsOSArMTYwLDQgQEAgZmxvYXQgU2ltcGxlRm9udERhdGE6
OnBsYXRmb3JtV2lkdGhGb3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKICAgICByZXR1cm4gd2lk
dGg7ICAgIAogfQogCi12b2lkIFNpbXBsZUZvbnREYXRhOjp1cGRhdGVHbHlwaFdpdGhWYXJpYXRp
b25TZWxlY3RvcihVQ2hhcjMyIGNoYXJhY3RlciwgVUNoYXIzMiBzZWxlY3RvciwgR2x5cGgmIGds
eXBoKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi19Ci0KIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFR
dC5jcHAKaW5kZXggNGZmMjNiZTFjNWQ2ZjhjNjEzMmJkNjU3NTNlMTg4N2MzMmI3MzA1OS4uZTk1
YjhjNWVhMjI0MmRiY2FhY2YyNmRkOTllYmM0ZDM0OGE3N2QzYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHAK
QEAgLTE4OSw5ICsxODksNCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybURlc3Ryb3ko
KQogewogfQogCi12b2lkIFNpbXBsZUZvbnREYXRhOjp1cGRhdGVHbHlwaFdpdGhWYXJpYXRpb25T
ZWxlY3RvcihVQ2hhcjMyIGNoYXJhY3RlciwgVUNoYXIzMiBzZWxlY3RvciwgR2x5cGgmIGdseXBo
KSBjb25zdAotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi19Ci0KIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFX
aW4uY3BwCmluZGV4IGE0OWFiZTJlZjdhMDhjZGNjMTExMTllMThjMzM3NzEzYWIzMDUzZTIuLmRl
NjY4N2Y1YzdhODMzMzViMTI5NGJmMGQ5NDk0MzZlMDRmYmVjNGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2lu
LmNwcApAQCAtMjgyLDkgKzI4Miw0IEBAIFNDUklQVF9GT05UUFJPUEVSVElFUyogU2ltcGxlRm9u
dERhdGE6OnNjcmlwdEZvbnRQcm9wZXJ0aWVzKCkgY29uc3QKICAgICByZXR1cm4gbV9zY3JpcHRG
b250UHJvcGVydGllczsKIH0KIAotdm9pZCBTaW1wbGVGb250RGF0YTo6dXBkYXRlR2x5cGhXaXRo
VmFyaWF0aW9uU2VsZWN0b3IoVUNoYXIzMiBjaGFyYWN0ZXIsIFVDaGFyMzIgc2VsZWN0b3IsIEds
eXBoJiBnbHlwaCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50LgotfQotCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVG
b250RGF0YVdpbkNFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCmluZGV4IDFiYTY2OTA3NGQ0ZTRkMGMwMzc3M2ZmMWZj
ODk0Y2VhOGFhMjkxODEuLmUzYjg0MjQ2M2YzOGI3YjU5MjI1MGRjZTU1NTIwYjY0ZjYxOTM0NDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1NpbXBs
ZUZvbnREYXRhV2luQ0UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCkBAIC0xODAsOSArMTgwLDQgQEAgdm9pZCBT
aW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFyV2lkdGhJbml0KCkKICAgICBtX21heENoYXJXaWR0
aCA9ICh0bS50bU1heENoYXJXaWR0aCAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcy
OwogfQogCi12b2lkIFNpbXBsZUZvbnREYXRhOjp1cGRhdGVHbHlwaFdpdGhWYXJpYXRpb25TZWxl
Y3RvcihVQ2hhcjMyIGNoYXJhY3RlciwgVUNoYXIzMiBzZWxlY3RvciwgR2x5cGgmIGdseXBoKSBj
b25zdAotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi19Ci0KIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1Np
bXBsZUZvbnREYXRhV3guY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gv
U2ltcGxlRm9udERhdGFXeC5jcHAKaW5kZXggZDk4ZWNiZDYwZTM1MjYxYTEyNjJlNGRkNDFiNWRh
NWE2NDM1MTg3NS4uY2I3ZmIzZDdhNWZjNTE3NjdiM2MyNThjOGE4MjMxOTBjNzNlNGYzZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERh
dGFXeC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxl
Rm9udERhdGFXeC5jcHAKQEAgLTE5NCw5ICsxOTQsNCBAQCBmbG9hdCBTaW1wbGVGb250RGF0YTo6
d2lkdGhGb3JHRElHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKIH0KICNlbmRpZgogCi12b2lkIFNp
bXBsZUZvbnREYXRhOjp1cGRhdGVHbHlwaFdpdGhWYXJpYXRpb25TZWxlY3RvcihVQ2hhcjMyIGNo
YXJhY3RlciwgVUNoYXIzMiBzZWxlY3RvciwgR2x5cGgmIGdseXBoKSBjb25zdAotewotICAgIC8v
IEZJWE1FOiBJbXBsZW1lbnQuCi19Ci0KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1OGJmNWE3OTA3OTU3ZWE0MzgzZDg0
YTM2YzRkZWI1YTU1NTdlM2JlLi44NGMwOGE2NjVhMGE5ZDc5ODQ4ZjI1YjllOGRjYTc1YjBkNjE2
ZDU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMTItMjcgIEtlbmljaGkgSXNoaWJhc2hp
ICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENvbXBsZXggcGF0aCBzaG91bGQgYmUg
dXNlZCB3aGVuIFVWUyBleGlzdHMgaW4gdGV4dCBydW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0
aW9ucy50eHQ6IFVwZGF0ZXMgZXhwZWN0YXRpb24gZm9yIGZhc3QvdGV4dC91bmljb2RlLXZhcmlh
dGlvbi1zZWxlY3Rvci5odG1sLiBOZWVkIHJlYmFzZWxpbmVzLgorCiAyMDExLTEyLTI3ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBwYXNzL2NyYXNoIGV4
cGVjdGF0aW9uIGZvciBzdmcvVzNDLVNWRy0xLjEvYW5pbWF0ZS1lbGVtLTUyLXQuc3ZnCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQK
aW5kZXggNWYwOTBlMWQxN2VjOTI3ZDI5N2YxYTk5MTg4OTMxYmEzODU4NWViNi4uOTdmZjMyZjE1
YjNjZDM5M2U0MTkyYTAwYWRiYTkyNTgxYTRkMzZiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMzg3MCw3ICszODcw
LDcgQEAgQlVHV0s3NDM3NCBXSU4gOiBmYXN0L2Zvcm1zL3NlbGVjdC1saXN0Ym94LW11bHRpcGxl
LW5vLWZvY3VzcmluZy5odG1sID0gUEFTUyBJTUEKIC8vIFRoZSB0ZXN0IGhpdHMgYW4gQVNTRVJU
IGluIERlYnVnLgogQlVHV0s2ODg1OSBERUJVRyA6IGZhc3QvZHluYW1pYy9jcmFzaC1wYWludC1u
by1kb2N1bWVudEVsZW1lbnQtcmVuZGVyZXIuaHRtbCA9IENSQVNICiAKLUJVR1dLNzQ2NjIgTUFD
IDogZmFzdC90ZXh0L3VuaWNvZGUtdmFyaWF0aW9uLXNlbGVjdG9yLmh0bWwgPSBQQVNTIENSQVNI
CitCVUdXSzc0NjYyIDogZmFzdC90ZXh0L3VuaWNvZGUtdmFyaWF0aW9uLXNlbGVjdG9yLmh0bWwg
PSBJTUFHRStURVhUCiAKIEJVR1dLNzQ2MzQgV0lOIDogY29tcG9zaXRpbmcvYWJzb2x1dGUtcG9z
aXRpb24tY2hhbmdlZC13aXRoLWNvbXBvc2l0ZWQtcGFyZW50LWxheWVyLmh0bWwgPSBJTUFHRQog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121403</attachid>
            <date>2012-01-05 23:03:00 -0800</date>
            <delta_ts>2012-01-10 02:46:50 -0800</delta_ts>
            <desc>Patch(revised to ToT)</desc>
            <filename>bug-75289-20120106160258.patch</filename>
            <type>text/plain</type>
            <size>15969</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0MjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTlhMDc1NjM0ZTcyNDE1
YmMyNjhhZmU4YWVhYTJlNjdmOWQ5NDQxZi4uNWYzNGM2NDdkYzM0ODM4NGQ2ZmE2M2IwZWMyMDIz
ZGM0ZjljY2NjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAxLTA1ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb21wbGV4IHBh
dGggc2hvdWxkIGJlIHVzZWQgd2hlbiBVVlMgZXhpc3RzIGluIHRleHQgcnVuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4OQorCisgICAgICAgIFVz
ZXMgY29tcGxleCBwYXRoIHdoZW4gYSB0ZXh0IHJ1biBjb250YWlucyBVVlMuIFRoZSByYW5nZSBm
cm9tIFUrMTgwQiB0byBVKzE4MEQgYWxyZWFkeSB1c2VzIGNvbXBsZXggcGF0aC4KKyAgICAgICAg
UmVtb3ZlcyB1bm5lY2Vzc2FyeSBmdW5jdGlvbnMgdGhhdCB3ZXJlIGFkZGVkIGJ5IHIxMDI5MTUu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLiBmYXN0L3RleHQvdW5pY29kZS12YXJpYXRpb24tc2VsZWN0b3IuaHRtbCBzaG91bGQg
dGFrZSBjYXJlIG9mIHRoaXMgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojpjb2RlUGF0aCk6IFVzZSBDb21wbGV4
IHBhdGggd2hlbiB0aGUgdGV4dCBydW4gY29udGFpbnMgVVZTLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmg6IFJlbW92ZWQgdXBkYXRlR2x5cGhXaXRoVmFyaWF0
aW9uU2VsZWN0b3IoKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWly
QXdhcmVUZXh0SXRlcmF0b3IuY3BwOiBSZW1vdmVkIHVubmVjZXNzYXJ5IHN0YXRpYyBmdW5jdGlv
bnMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0
ZXJhdG9yLmg6IFJlbW92ZWQgaGFzVHJhaWxpbmdWYXJpYXRpb25TZWxlY3RvcigpLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2lkdGhJdGVyYXRvcjo6YWR2YW5jZSk6IFJlbW92ZWQgVVZTIGRldGVjdGlvbiBjb2RlLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21p
dW1XaW4uY3BwOiBSZW1vdmVkIHVwZGF0ZUdseXBoV2l0aFZhcmlhdGlvblNlbGVjdG9yKCkuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlw
ZS5jcHA6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2hhcmZidXp6L1NpbXBs
ZUZvbnREYXRhU2tpYS5jcHA6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21h
Yy9TaW1wbGVGb250RGF0YU1hYy5tbTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvcGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5jcHA6IERpdHRvLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwOiBEaXR0by4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwOiBEaXR0by4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVGb250RGF0YVdpbkNFLmNwcDogRGl0
dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHA6
IERpdHRvLgorCiAyMDEyLTAxLTA1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJFR1JFU1NJT04ocjEwNDIxMCk6IERyb21hZW8gRE9NIHRlc3Qgc2NvcmUgaXMg
bG93ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKaW5kZXggNDQ1
ZDFkMDg1OGE3MWEwNzlkNTJkMmM2ZTgwMjUxYTRhZGU0NWE2OS4uYzJkOWM1OGMzZjUwNDgxNWQ1
YzM0OTY1MmNhZmEyNGRkOTMxNDczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udC5jcHAKQEAgLTQwNCwxMiArNDA0LDIyIEBAIEZvbnQ6OkNvZGVQYXRoIEZvbnQ6OmNv
ZGVQYXRoKGNvbnN0IFRleHRSdW4mIHJ1bikgY29uc3QKICAgICAgICAgICAgIGlmIChzdXBwbGVt
ZW50YXJ5Q2hhcmFjdGVyIDw9IDB4MUYxRkYpCiAgICAgICAgICAgICAgICAgcmV0dXJuIENvbXBs
ZXg7CiAKKyAgICAgICAgICAgIGlmIChzdXBwbGVtZW50YXJ5Q2hhcmFjdGVyIDwgMHhFMDEwMCkg
Ly8gVStFMDEwMCB0aHJvdWdoIFUrRTAxRUYgVW5pY29kZSB2YXJpYXRpb24gc2VsZWN0b3JzLgor
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgaWYgKHN1cHBsZW1lbnRhcnlD
aGFyYWN0ZXIgPD0gMHhFMDFFRikKKyAgICAgICAgICAgICAgICByZXR1cm4gQ29tcGxleDsKKwog
ICAgICAgICAgICAgLy8gRklYTUU6IENoZWNrIGZvciBCcmFobWkgKFUrMTEwMDAgYmxvY2spLCBL
YWl0aGkgKFUrMTEwODAgYmxvY2spIGFuZCBvdGhlciBjb21wbGV4IHNjcmlwdHMKICAgICAgICAg
ICAgIC8vIGluIHBsYW5lIDEgb3IgaGlnaGVyLgogCiAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgfQogCisgICAgICAgIGlmIChjIDwgMHhGRTAwKSAvLyBVK0ZFMDAgdGhyb3VnaCBVK0ZF
MEYgVW5pY29kZSB2YXJpYXRpb24gc2VsZWN0b3JzCisgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgaWYgKGMgPD0gMHhGRTBGKQorICAgICAgICAgICAgcmV0dXJuIENvbXBsZXg7CisKICAg
ICAgICAgaWYgKGMgPCAweEZFMjApIC8vIFUrRkUyMCB0aHJvdWdoIFUrRkUyRiBDb21iaW5pbmcg
aGFsZiBtYXJrcwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlmIChjIDw9IDB4RkUy
RikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZv
bnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0
YS5oCmluZGV4IGRlNGE1NmJiODRhYWQ5YjAwNGNhNWNkNDY5ZGY2ZDkxNDgyNjUzOGEuLmRkODZm
MDA0ZTRjODM5NjM2M2M5NTEyMzRkYWZhZjUyNDA3OThiMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaApAQCAtMTU4LDcgKzE1OCw2
IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IEdseXBoRGF0YSYgbWlzc2luZ0dseXBoRGF0YSgpIGNv
bnN0IHsgcmV0dXJuIG1fbWlzc2luZ0dseXBoRGF0YTsgfQogICAgIHZvaWQgc2V0TWlzc2luZ0ds
eXBoRGF0YShjb25zdCBHbHlwaERhdGEmIGdseXBoRGF0YSkgeyBtX21pc3NpbmdHbHlwaERhdGEg
PSBnbHlwaERhdGE7IH0KLSAgICB2b2lkIHVwZGF0ZUdseXBoV2l0aFZhcmlhdGlvblNlbGVjdG9y
KFVDaGFyMzIgY2hhcmFjdGVyLCBVQ2hhcjMyIHNlbGVjdG9yLCBHbHlwaCYpIGNvbnN0OwogCiAj
aWZuZGVmIE5ERUJVRwogICAgIHZpcnR1YWwgU3RyaW5nIGRlc2NyaXB0aW9uKCkgY29uc3Q7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWly
QXdhcmVUZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNwcAppbmRleCAxMTliM2E0MjhhNDcyNzE1
ZGRiYmY3MjI1ZGZjYTI4YTZlMDQ5NjNmLi5hYzBiYWUzMDY1NTkwNTJjYmU3NWRiMDRlYWFmYjhh
ZTgwNjdhNDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9T
dXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5jcHAKQEAgLTMy
LDIxICszMiw2IEBAIHVzaW5nIG5hbWVzcGFjZSBVbmljb2RlOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWlubGluZSBzdGF0aWMgYm9vbCBpc1VuaWNvZGVCTVBWYXJpYXRpb25TZWxlY3RvcihV
Q2hhciBjaGFyYWN0ZXIpCi17Ci0gICAgcmV0dXJuICgweDE4MEIgPD0gY2hhcmFjdGVyICYmIGNo
YXJhY3RlciA8PSAweDE4MEQpIHx8ICgweEZFMDAgPD0gY2hhcmFjdGVyICYmIGNoYXJhY3RlciA8
PSAweEZFMEYpOwotfQotCi1pbmxpbmUgc3RhdGljIGJvb2wgaXNVbmljb2RlU3VwcGxlbWVudGFy
eVZhcmlhdGlvblNlbGVjdG9yKFVDaGFyIGxlYWQsIFVDaGFyIHRyYWlsKQotewotICAgIC8vIEEg
bm9uLUJNUCB2YXJpYXRpb24gc2VsZWN0b3IgY2hhcmFjdGVyIGlzIGluIHRoZSByYW5nZSBvZiBV
K0UwMTAwIHRvIFUrRTAxRUYuCi0gICAgLy8gSXQgY2FuIGJlIGEgc3Vycm9nYXRlIHBhaXIgaW4g
d2hpY2ggdGhlIGhpZ2ggc3Vycm9nYXRlIGlzIDB4REI0MCBhbmQKLSAgICAvLyB0aGUgbG93IHN1
cnJvZ2F0ZSBpcyBpbiB0aGUgcmFuZ2Ugb2YgVTE2X1RSQUlMKDB4RTAxMDAgLSAweDEwMDAwKSB0
byBVMTZfVFJBSUwoMHhFMDFFRiAtIDB4MTAwMDApLgotICAgIHN0YXRpYyBjb25zdCBVQ2hhciB0
cmFpbFN0YXJ0ID0gVTE2X1RSQUlMKDB4RTAxMDAgLSAweDEwMDAwKTsKLSAgICBzdGF0aWMgY29u
c3QgVUNoYXIgdHJhaWxFbmQgPSBVMTZfVFJBSUwoMHhFMDFFRiAtIDB4MTAwMDApOwotICAgIHJl
dHVybiBsZWFkID09IDB4REI0MCAmJiB0cmFpbFN0YXJ0IDw9IHRyYWlsICYmIHRyYWlsIDw9IHRy
YWlsRW5kOwotfQotCiBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3I6OlN1cnJvZ2F0ZVBh
aXJBd2FyZVRleHRJdGVyYXRvcihjb25zdCBVQ2hhciogY2hhcmFjdGVycywgaW50IGN1cnJlbnRD
aGFyYWN0ZXIsIGludCBsYXN0Q2hhcmFjdGVyLCBpbnQgZW5kQ2hhcmFjdGVyKQogICAgIDogbV9j
aGFyYWN0ZXJzKGNoYXJhY3RlcnMpCiAgICAgLCBtX2N1cnJlbnRDaGFyYWN0ZXIoY3VycmVudENo
YXJhY3RlcikKQEAgLTk4LDIxICs4Myw2IEBAIGJvb2wgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0
ZXJhdG9yOjpjb25zdW1lKFVDaGFyMzImIGNoYXJhY3RlciwgdW5zaWduZWQmIGNsdXN0CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yOjpo
YXNUcmFpbGluZ1ZhcmlhdGlvblNlbGVjdG9yKFVDaGFyMzImIHNlbGVjdG9yLCB1bnNpZ25lZCYg
Y2x1c3Rlckxlbmd0aCkKLXsKLSAgICBpZiAoc3RhdGljX2Nhc3Q8aW50PihtX2N1cnJlbnRDaGFy
YWN0ZXIgKyBjbHVzdGVyTGVuZ3RoKSA8IG1fZW5kQ2hhcmFjdGVyICYmIGlzVW5pY29kZUJNUFZh
cmlhdGlvblNlbGVjdG9yKG1fY2hhcmFjdGVyc1tjbHVzdGVyTGVuZ3RoXSkpIHsKLSAgICAgICAg
c2VsZWN0b3IgPSBtX2NoYXJhY3RlcnNbY2x1c3Rlckxlbmd0aF07Ci0gICAgICAgIGNsdXN0ZXJM
ZW5ndGggKz0gMTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGlmIChzdGF0aWNf
Y2FzdDxpbnQ+KG1fY3VycmVudENoYXJhY3RlciArIGNsdXN0ZXJMZW5ndGggKyAxKSA8IG1fZW5k
Q2hhcmFjdGVyICYmIGlzVW5pY29kZVN1cHBsZW1lbnRhcnlWYXJpYXRpb25TZWxlY3RvcihtX2No
YXJhY3RlcnNbY2x1c3Rlckxlbmd0aF0sIG1fY2hhcmFjdGVyc1tjbHVzdGVyTGVuZ3RoICsgMV0p
KSB7Ci0gICAgICAgIHNlbGVjdG9yID0gVTE2X0dFVF9TVVBQTEVNRU5UQVJZKG1fY2hhcmFjdGVy
c1tjbHVzdGVyTGVuZ3RoXSwgbV9jaGFyYWN0ZXJzW2NsdXN0ZXJMZW5ndGggKyAxXSk7Ci0gICAg
ICAgIGNsdXN0ZXJMZW5ndGggKz0gMjsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAg
IHJldHVybiBmYWxzZTsKLX0KLQogdm9pZCBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3I6
OmFkdmFuY2UodW5zaWduZWQgYWR2YW5jZUxlbmd0aCkKIHsKICAgICBtX2NoYXJhY3RlcnMgKz0g
YWR2YW5jZUxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmgKaW5kZXggOGRj
ZWE4ZDc2NTcwODg0N2M1MTQ1NjlmNjZjMTQyYjRkMTA1M2ViMi4uMWQ1NmViOGIyNWM2ZjZlNjk0
NTZjMTY2YmE0NjRjM2Y4OWE2ZDIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9y
LmgKQEAgLTMyLDcgKzMyLDYgQEAgcHVibGljOgogICAgIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJ
dGVyYXRvcihjb25zdCBVQ2hhciosIGludCBjdXJyZW50Q2hhcmFjdGVyLCBpbnQgbGFzdENoYXJh
Y3RlciwgaW50IGVuZENoYXJhY3Rlcik7CiAKICAgICBib29sIGNvbnN1bWUoVUNoYXIzMiYgY2hh
cmFjdGVyLCB1bnNpZ25lZCYgY2x1c3Rlckxlbmd0aCk7Ci0gICAgYm9vbCBoYXNUcmFpbGluZ1Zh
cmlhdGlvblNlbGVjdG9yKFVDaGFyMzImIHNlbGVjdG9yLCB1bnNpZ25lZCYgY2x1c3Rlckxlbmd0
aCk7CiAgICAgdm9pZCBhZHZhbmNlKHVuc2lnbmVkIGFkdmFuY2VMZW5ndGgpOwogCiAgICAgaW50
IGN1cnJlbnRDaGFyYWN0ZXIoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRDaGFyYWN0ZXI7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5j
cHAKaW5kZXggMDY4MjZiZWYzYmJiMGU3MzFmY2JmMTZkMDNlZDdlOGNkYTMwM2RhZS4uZDc0OWE0
ZjQ2ODA1YmNiNDI0NzRjMzdjMDU0N2YxYWJiMGQ3YTcwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKQEAgLTExNSwxMyArMTE1
LDYgQEAgdW5zaWduZWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZShpbnQgb2Zmc2V0LCBHbHlwaEJ1
ZmZlciogZ2x5cGhCdWZmZXIpCiAKICAgICAgICAgQVNTRVJUKGZvbnREYXRhKTsKIAotICAgICAg
ICAvLyBJZiBhIHZhcmlhdGlvbiBzZWxlY3RvciBmb2xsb3dzLCB1cGRhdGUgZ2x5cGggd2l0aCB0
aGUgc2VsZWN0b3IgaWYgcG9zc2libGUuCi0gICAgICAgIFVDaGFyMzIgc2VsZWN0b3IgPSAwOwot
ICAgICAgICBpZiAodGV4dEl0ZXJhdG9yLmhhc1RyYWlsaW5nVmFyaWF0aW9uU2VsZWN0b3Ioc2Vs
ZWN0b3IsIGNsdXN0ZXJMZW5ndGgpKSB7Ci0gICAgICAgICAgICBmb250RGF0YS0+dXBkYXRlR2x5
cGhXaXRoVmFyaWF0aW9uU2VsZWN0b3IoY2hhcmFjdGVyLCBzZWxlY3RvciwgZ2x5cGgpOwotICAg
ICAgICAgICAgYWR2YW5jZUxlbmd0aCA9IGNsdXN0ZXJMZW5ndGg7Ci0gICAgICAgIH0KLQogICAg
ICAgICAvLyBOb3cgdGhhdCB3ZSBoYXZlIGEgZ2x5cGggYW5kIGZvbnQgZGF0YSwgZ2V0IGl0cyB3
aWR0aC4KICAgICAgICAgZmxvYXQgd2lkdGg7CiAgICAgICAgIGlmIChjaGFyYWN0ZXIgPT0gJ1x0
JyAmJiBtX3J1bi5hbGxvd1RhYnMoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNo
cm9taXVtV2luLmNwcAppbmRleCA5NjgxNzQ2YmFmYTBmOTZkNzdmZWU1Yzc3ZGJkYzFjZGRjZmM4
MDc4Li43OGFkNTZhZjlkMzU0ODgyZWEyODNkMGZmYTAxY2EyOWMxMDE1MWJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0
YUNocm9taXVtV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcApAQCAtMTk5LDkgKzE5OSw0IEBA
IGZsb2F0IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybVdpZHRoRm9yR2x5cGgoR2x5cGggZ2x5cGgp
IGNvbnN0CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0Pih3aWR0aCk7CiB9CiAKLXZvaWQg
U2ltcGxlRm9udERhdGE6OnVwZGF0ZUdseXBoV2l0aFZhcmlhdGlvblNlbGVjdG9yKFVDaGFyMzIg
Y2hhcmFjdGVyLCBVQ2hhcjMyIHNlbGVjdG9yLCBHbHlwaCYgZ2x5cGgpIGNvbnN0Ci17Ci0gICAg
Ly8gRklYTUU6IEltcGxlbWVudC4KLX0KLQogfSAgLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZv
bnREYXRhRnJlZVR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJl
ZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHAKaW5kZXggM2NjNmJlNzEzZTlmYjEyY2E3
YTczZGZmZjlkZmU2NjUyYzk2YTQxMi4uNWQ2ZTdmYjI2NWNmYTJiMTMyNDZkZjIxNWI4Y2QzMzEw
YWQzYTA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJl
ZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHAKQEAgLTE2
Miw5ICsxNjIsNCBAQCBmbG9hdCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1XaWR0aEZvckdseXBo
KEdseXBoIGdseXBoKSBjb25zdAogICAgIHJldHVybiB3OyAgICAKIH0KIAotdm9pZCBTaW1wbGVG
b250RGF0YTo6dXBkYXRlR2x5cGhXaXRoVmFyaWF0aW9uU2VsZWN0b3IoVUNoYXIzMiBjaGFyYWN0
ZXIsIFVDaGFyMzIgc2VsZWN0b3IsIEdseXBoJiBnbHlwaCkgY29uc3QKLXsKLSAgICAvLyBGSVhN
RTogSW1wbGVtZW50LgotfQotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9oYXJmYnV6ei9TaW1wbGVGb250RGF0YVNraWEuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFyZmJ1enovU2ltcGxlRm9udERhdGFTa2lhLmNwcAppbmRl
eCBkMDJjMTJhZGEyMGQ2ZWQ0MmE2MGNlNmNhY2MyYTY4NDU3OWM5NDFmLi43ODJiMDJmYTkzMjdi
N2JmNjc4ODcwNzBlMDE0ZTkzOTFiYmU3MWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9oYXJmYnV6ei9TaW1wbGVGb250RGF0YVNraWEuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhcmZidXp6L1NpbXBsZUZvbnREYXRhU2tp
YS5jcHAKQEAgLTIzNiw5ICsyMzYsNCBAQCBmbG9hdCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1X
aWR0aEZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdAogICAgIHJldHVybiByb3VuZChTa1NjYWxh
clRvRmxvYXQod2lkdGgpKTsKIH0KIAotdm9pZCBTaW1wbGVGb250RGF0YTo6dXBkYXRlR2x5cGhX
aXRoVmFyaWF0aW9uU2VsZWN0b3IoVUNoYXIzMiBjaGFyYWN0ZXIsIFVDaGFyMzIgc2VsZWN0b3Is
IEdseXBoJiBnbHlwaCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50LgotfQotCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0KaW5kZXggMTdmMjI2NDk1Yjky
NGUyNTNkMzY2ZmNiOTVkNDU2YzA5YzFkNDc2MS4uNTRjMDNmODc5NWYzMWM2ZTE3MGY2MzUxYzc0
OWExOGZlYWQ2ZDA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQpAQCAtNDY3LDMyICs0NjcsNCBAQCBi
b29sIFNpbXBsZUZvbnREYXRhOjpjYW5SZW5kZXJDb21iaW5pbmdDaGFyYWN0ZXJTZXF1ZW5jZShj
b25zdCBVQ2hhciogY2hhcmFjdGVycwogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgaW5s
aW5lIHZvaWQgZGVjb21wb3NlVG9VVEYxNihVQ2hhciogYnVmZmVyLCB1bnNpZ25lZCYgbGVuZ3Ro
LCBjb25zdCBVQ2hhcjMyIGNoYXJhY3RlcikKLXsKLSAgICBpZiAoVV9JU19CTVAoY2hhcmFjdGVy
KSkgewotICAgICAgICBidWZmZXJbbGVuZ3RoXSA9IGNoYXJhY3RlcjsKLSAgICAgICAgKytsZW5n
dGg7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBidWZmZXJbbGVuZ3RoXSA9IFUxNl9M
RUFEKGNoYXJhY3Rlcik7Ci0gICAgYnVmZmVyW2xlbmd0aCArIDFdID0gVTE2X1RSQUlMKGNoYXJh
Y3Rlcik7Ci0gICAgbGVuZ3RoICs9IDI7Ci19Ci0KLXZvaWQgU2ltcGxlRm9udERhdGE6OnVwZGF0
ZUdseXBoV2l0aFZhcmlhdGlvblNlbGVjdG9yKFVDaGFyMzIgY2hhcmFjdGVyLCBVQ2hhcjMyIHNl
bGVjdG9yLCBHbHlwaCYgZ2x5cGgpIGNvbnN0Ci17Ci0gICAgdW5zaWduZWQgbGVuZ3RoID0gMDsK
LSAgICBVQ2hhciBidWZmZXJbNF07Ci0KLSAgICBkZWNvbXBvc2VUb1VURjE2KGJ1ZmZlciwgbGVu
Z3RoLCBjaGFyYWN0ZXIpOwotICAgIGRlY29tcG9zZVRvVVRGMTYoYnVmZmVyLCBsZW5ndGgsIHNl
bGVjdG9yKTsKLSAgICBBU1NFUlQobGVuZ3RoIDw9IDQpOwotCi0gICAgQ0dHbHlwaCBnbHlwaHNb
NF07Ci0gICAgd2tHZXRHbHlwaHNGb3JDaGFyYWN0ZXJzKHBsYXRmb3JtRGF0YSgpLmNnRm9udCgp
LCBidWZmZXIsIGdseXBocywgbGVuZ3RoKTsKLSAgICBpZiAoZ2x5cGhzWzBdKQotICAgICAgICBn
bHlwaCA9IGdseXBoc1swXTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcGFuZ28vU2ltcGxlRm9udERhdGFQ
YW5nby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVG
b250RGF0YVBhbmdvLmNwcAppbmRleCBkNjQyOGQ5OGU0MWQzNzk0M2I0ZmVhMzVkOWE4NGRkMmI3
ZjEwZGUzLi5lZThlZTBmNzQ0ZDdkNjc1Y2I0ODAyMWVjN2IxNDE5YmM2M2Q4YTM2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0
YVBhbmdvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9T
aW1wbGVGb250RGF0YVBhbmdvLmNwcApAQCAtMTYwLDkgKzE2MCw0IEBAIGZsb2F0IFNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybVdpZHRoRm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0CiAgICAgcmV0
dXJuIHdpZHRoOyAgICAKIH0KIAotdm9pZCBTaW1wbGVGb250RGF0YTo6dXBkYXRlR2x5cGhXaXRo
VmFyaWF0aW9uU2VsZWN0b3IoVUNoYXIzMiBjaGFyYWN0ZXIsIFVDaGFyMzIgc2VsZWN0b3IsIEds
eXBoJiBnbHlwaCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50LgotfQotCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250
RGF0YVF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZv
bnREYXRhUXQuY3BwCmluZGV4IDRmZjIzYmUxYzVkNmY4YzYxMzJiZDY1NzUzZTE4ODdjMzJiNzMw
NTkuLmU5NWI4YzVlYTIyNDJkYmNhYWNmMjZkZDk5ZWJjNGQzNDhhNzdkM2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRh
UXQuY3BwCkBAIC0xODksOSArMTg5LDQgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1E
ZXN0cm95KCkKIHsKIH0KIAotdm9pZCBTaW1wbGVGb250RGF0YTo6dXBkYXRlR2x5cGhXaXRoVmFy
aWF0aW9uU2VsZWN0b3IoVUNoYXIzMiBjaGFyYWN0ZXIsIFVDaGFyMzIgc2VsZWN0b3IsIEdseXBo
JiBnbHlwaCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50LgotfQotCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERh
dGFXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZv
bnREYXRhV2luLmNwcAppbmRleCBhNDlhYmUyZWY3YTA4Y2RjYzExMTE5ZTE4YzMzNzcxM2FiMzA1
M2UyLi5kZTY2ODdmNWM3YTgzMzM1YjEyOTRiZjBkOTQ5NDM2ZTA0ZmJlYzRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250
RGF0YVdpbi5jcHAKQEAgLTI4Miw5ICsyODIsNCBAQCBTQ1JJUFRfRk9OVFBST1BFUlRJRVMqIFNp
bXBsZUZvbnREYXRhOjpzY3JpcHRGb250UHJvcGVydGllcygpIGNvbnN0CiAgICAgcmV0dXJuIG1f
c2NyaXB0Rm9udFByb3BlcnRpZXM7CiB9CiAKLXZvaWQgU2ltcGxlRm9udERhdGE6OnVwZGF0ZUds
eXBoV2l0aFZhcmlhdGlvblNlbGVjdG9yKFVDaGFyMzIgY2hhcmFjdGVyLCBVQ2hhcjMyIHNlbGVj
dG9yLCBHbHlwaCYgZ2x5cGgpIGNvbnN0Ci17Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudC4KLX0K
LQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2Uv
U2ltcGxlRm9udERhdGFXaW5DRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW5jZS9TaW1wbGVGb250RGF0YVdpbkNFLmNwcAppbmRleCAxYmE2NjkwNzRkNGU0ZDBjMDM3
NzNmZjFmYzg5NGNlYThhYTI5MTgxLi5lM2I4NDI0NjNmMzhiN2I1OTIyNTBkY2U1NTUyMGI2NGY2
MTkzNDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5j
ZS9TaW1wbGVGb250RGF0YVdpbkNFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW5jZS9TaW1wbGVGb250RGF0YVdpbkNFLmNwcApAQCAtMTgwLDkgKzE4MCw0IEBA
IHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRoSW5pdCgpCiAgICAgbV9tYXhD
aGFyV2lkdGggPSAodG0udG1NYXhDaGFyV2lkdGggKiBtX3BsYXRmb3JtRGF0YS5zaXplKCkgKyAz
NikgLyA3MjsKIH0KIAotdm9pZCBTaW1wbGVGb250RGF0YTo6dXBkYXRlR2x5cGhXaXRoVmFyaWF0
aW9uU2VsZWN0b3IoVUNoYXIzMiBjaGFyYWN0ZXIsIFVDaGFyMzIgc2VsZWN0b3IsIEdseXBoJiBn
bHlwaCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50LgotfQotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93eC9TaW1wbGVGb250RGF0YVd4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCmluZGV4IGQ5OGVjYmQ2MGUzNTI2MWExMjYyZTRk
ZDQxYjVkYTVhNjQzNTE4NzUuLmNiN2ZiM2Q3YTVmYzUxNzY3YjNjMjU4YzhhODIzMTkwYzczZTRm
M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBs
ZUZvbnREYXRhV3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4
L1NpbXBsZUZvbnREYXRhV3guY3BwCkBAIC0xOTQsOSArMTk0LDQgQEAgZmxvYXQgU2ltcGxlRm9u
dERhdGE6OndpZHRoRm9yR0RJR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0CiB9CiAjZW5kaWYKIAot
dm9pZCBTaW1wbGVGb250RGF0YTo6dXBkYXRlR2x5cGhXaXRoVmFyaWF0aW9uU2VsZWN0b3IoVUNo
YXIzMiBjaGFyYWN0ZXIsIFVDaGFyMzIgc2VsZWN0b3IsIEdseXBoJiBnbHlwaCkgY29uc3QKLXsK
LSAgICAvLyBGSVhNRTogSW1wbGVtZW50LgotfQotCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKb2xkIG1vZGUgMTAwNzU1Cm5ldyBt
b2RlIDEwMDY0NAppbmRleCBiOTI0Y2IzOGY3Y2I2YTI1YzRlMDRjYjY2NzhlNDQyNjE1N2VmYjlk
Li45MGE2OWE3Nzk5NzllYmIwNzVkMTQzZjA2MWI3Njg3MzlhNjlkZTU2Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBA
QAorMjAxMi0wMS0wNSAgS2VuaWNoaSBJc2hpYmFzaGkgIDxiYXNoaUBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgQ29tcGxleCBwYXRoIHNob3VsZCBiZSB1c2VkIHdoZW4gVVZTIGV4aXN0cyBpbiB0
ZXh0IHJ1bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzUyODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDogVXBkYXRlcyBleHBlY3Rh
dGlvbiBmb3IgZmFzdC90ZXh0L3VuaWNvZGUtdmFyaWF0aW9uLXNlbGVjdG9yLmh0bWwuIE5lZWQg
cmViYXNlbGluZXMuCisKIDIwMTItMDEtMDUgIE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBNb3JlIGNocm9taXVtIGV4cGVjdGVkIHJlc3VsdHMgYWZ0ZXIgcjEwNDIw
OC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRp
b25zLnR4dAppbmRleCA0NmE5MzVhYTVlZmE4MTFhNTMxNjFkY2FkYmFhOGE0NWYxMjhhNjlhLi4x
NGUzOGYwNjU4N2FiMDk2ODZlODRjNWQzM2E4M2FkODRiOWRmMDdjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0zODIy
LDcgKzM4MjIsNyBAQCBCVUdXSzc0Mzc0IFdJTiA6IGZhc3QvZm9ybXMvc2VsZWN0LWxpc3Rib3gt
bXVsdGlwbGUtbm8tZm9jdXNyaW5nLmh0bWwgPSBQQVNTIElNQQogLy8gVGhlIHRlc3QgaGl0cyBh
biBBU1NFUlQgaW4gRGVidWcuCiBCVUdXSzY4ODU5IERFQlVHIDogZmFzdC9keW5hbWljL2NyYXNo
LXBhaW50LW5vLWRvY3VtZW50RWxlbWVudC1yZW5kZXJlci5odG1sID0gQ1JBU0gKIAotQlVHV0s3
NDY2MiBNQUMgOiBmYXN0L3RleHQvdW5pY29kZS12YXJpYXRpb24tc2VsZWN0b3IuaHRtbCA9IFBB
U1MgQ1JBU0gKK0JVR1dLNzQ2NjIgOiBmYXN0L3RleHQvdW5pY29kZS12YXJpYXRpb24tc2VsZWN0
b3IuaHRtbCA9IElNQUdFK1RFWFQKIAogQlVHV0s3NDYzNCBXSU4gOiBjb21wb3NpdGluZy9hYnNv
bHV0ZS1wb3NpdGlvbi1jaGFuZ2VkLXdpdGgtY29tcG9zaXRlZC1wYXJlbnQtbGF5ZXIuaHRtbCA9
IElNQUdFCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>