<?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>172411</bug_id>
          
          <creation_ts>2017-05-19 23:35:23 -0700</creation_ts>
          <short_desc>[JSC] Speedup Object.assign for slow case by using propertyIsEnumerable</short_desc>
          <delta_ts>2017-05-21 13:02:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1310984</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-19 23:35:23 -0700</bug_when>
    <thetext>[JSC] Speedup Object.assign for slow case by using propertyIsEnumerable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310985</commentid>
    <comment_count>1</comment_count>
      <attachid>310765</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-19 23:39:58 -0700</bug_when>
    <thetext>Created attachment 310765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311044</commentid>
    <comment_count>2</comment_count>
      <attachid>310765</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-20 12:34:40 -0700</bug_when>
    <thetext>Comment on attachment 310765
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311053</commentid>
    <comment_count>3</comment_count>
      <attachid>310765</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-20 13:02:42 -0700</bug_when>
    <thetext>Comment on attachment 310765
Patch

Clearing flags on attachment: 310765

Committed r217191: &lt;http://trac.webkit.org/changeset/217191&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311054</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-20 13:02:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311059</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-20 13:52:06 -0700</bug_when>
    <thetext>https://arewefastyet.com/#machine=29&amp;view=single&amp;suite=six-speed&amp;subtest=object-assign-es6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311066</commentid>
    <comment_count>6</comment_count>
      <attachid>310765</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-20 15:26:17 -0700</bug_when>
    <thetext>Comment on attachment 310765
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=310765&amp;action=review

&gt; Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp:811
&gt; +    bool enumerable = object-&gt;getOwnPropertyDescriptor(exec, propertyName, descriptor) &amp;&amp; descriptor.enumerable();

You should release the scope before this call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311069</commentid>
    <comment_count>7</comment_count>
      <attachid>310765</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-20 15:30:00 -0700</bug_when>
    <thetext>Comment on attachment 310765
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=310765&amp;action=review

&gt;&gt; Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp:811
&gt;&gt; +    bool enumerable = object-&gt;getOwnPropertyDescriptor(exec, propertyName, descriptor) &amp;&amp; descriptor.enumerable();
&gt; 
&gt; You should release the scope before this call.

Nice. And we need to add scope.release() in objectProtoFuncPropertyIsEnumerable too.
I&apos;ll fix it as a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311072</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-20 15:40:46 -0700</bug_when>
    <thetext>Committed r217193: &lt;http://trac.webkit.org/changeset/217193&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311128</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-21 07:40:00 -0700</bug_when>
    <thetext>It seems that this significantly optimizes Speedometer React-Redux-TodoMVC.
From 603.9000000000015 ms to 530.0000000000073 ms! (r217184 v.s. r217194)
This further motivates us to introduce more optimizations for Object.assign.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311153</commentid>
    <comment_count>10</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-21 13:02:12 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #9)
&gt; It seems that this significantly optimizes Speedometer React-Redux-TodoMVC.
&gt; From 603.9000000000015 ms to 530.0000000000073 ms! (r217184 v.s. r217194)
&gt; This further motivates us to introduce more optimizations for Object.assign.

Nice.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310765</attachid>
            <date>2017-05-19 23:39:58 -0700</date>
            <delta_ts>2017-05-20 13:02:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172411-20170520153957.patch</filename>
            <type>text/plain</type>
            <size>8246</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
YWNiODhlOWQxMTE3ZmU3NzlkN2NkYmI3MDlmZmZjOTY3Njc0Yjg1Li4xOGU4ZDE2ZWNiMjgzYzA5
ZTVmZTJiZmRlMmNkZWJhNmJmNmUyZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw0MSBAQAogMjAxNy0wNS0xOSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAorICAgICAgICBbSlNDXSBTcGVlZHVwIE9iamVjdC5hc3NpZ24gZm9yIHNsb3cgY2Fz
ZSBieSB1c2luZyBwcm9wZXJ0eUlzRW51bWVyYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNDExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgdXNlIEBSZWZsZWN0LkBnZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoKSB0byBjaGVjaworCisgICAgICAgIDEuIHRoZSBkZXNjcmlwdG9yIGV4aXN0cywK
KyAgICAgICAgMi4gYW5kIHRoZSBkZXNjcmlwdG9yLmVudW1yYWJsZSBpcyB0cnVlCisKKyAgICAg
ICAgQnV0IE9iamVjdDo6cHJvcGVydHlJc0VudW1lcmFibGUgZG9lcyB0aGUgY29tcGxldGVseSBz
YW1lIHRoaW5nIHdpdGhvdXQKKyAgICAgICAgYWxsb2NhdGluZyBhIG5ldyBvYmplY3QgZm9yIHBy
b3BlcnR5IGRlc2NyaXB0b3IuCisKKyAgICAgICAgSW4gdGhpcyBwYXRjaCwgd2UgYWRkIGEgbmV3
IHByaXZhdGUgZnVuY3Rpb24gQHByb3BlcnR5SXNFbnVtZXJhYmxlLCBhbmQKKyAgICAgICAgdXNl
IGl0IGluIE9iamVjdC5hc3NpZ24gaW1wbGVtZW50YXRpb24uIEl0IGRvZXMgbm90IGFsbG9jYXRl
IHVubmVjZXNzYXJ5CisgICAgICAgIG9iamVjdHMuIEl0IGlzIGdvb2QgZm9yIEdDLXByZXNzdXJl
IGFuZCBwZXJmb3JtYW5jZS4KKworICAgICAgICBUaGlzIHBhdGNoIGltcHJvdmVzIFNpeFNwZWVk
IG9iamVjdC1hc3NpZ24uZXM2IGJ5IDEuN3guIFdoaWxlIHRoaXMgcGF0Y2gKKyAgICAgICAgZG9l
cyBub3QgaW50cm9kdWNlIGEgZmFzdCBwYXRoIGZvciBvYmplY3RzIHRoYXQgZG8gbm90IGhhdmUg
YWNjZXNzb3JzLAorICAgICAgICBhbmQgaXQgY291bGQgc3BlZWQgdXAgdGhpbmdzIGZ1cnRoZXIs
IHRoaXMgcGF0Y2ggY2FuIHNwZWVkIHVwIHRoZSBjb21tb24KKyAgICAgICAgc2xvdyBwYXRoIGNh
c2VzIHRoYXQgaXMgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgT2JqZWN0LmFzc2lnbi4K
KworICAgICAgICAgICAgb2JqZWN0LWFzc2lnbi5lczYgICAgIDExMDMuMjQ4NystMjEuNTYwMiAg
ICBeICAgIDYyMS44NDc4Ky0zNC45ODc1ICAgICAgIF4gZGVmaW5pdGVseSAxLjc3NDF4IGZhc3Rl
cgorCisgICAgICAgICogYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogYnVpbHRp
bnMvT2JqZWN0Q29uc3RydWN0b3IuanM6CisgICAgICAgIChnbG9iYWxQcml2YXRlLmVudW1lcmFi
bGVPd25Qcm9wZXJ0aWVzKToKKyAgICAgICAgKGFzc2lnbik6CisgICAgICAgICogcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToK
KyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcDoKKyAgICAgICAg
KEpTQzo6Z2xvYmFsRnVuY1Byb3BlcnR5SXNFbnVtZXJhYmxlKToKKyAgICAgICAgKiBydW50aW1l
L0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmg6CisKKzIwMTctMDUtMTkgIFl1c3VrZSBTdXp1a2kg
IDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKICAgICAgICAgW0pTQ10gRW5hYmxlIHRlc3RhcGkg
b24gTWFjIENNYWtlIGJ1aWxkCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzIzNTQKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0J1aWx0aW5OYW1lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1
aWx0aW5OYW1lcy5oCmluZGV4IGZmOTc0Njk1YTZkZTFiYWNjMjQxOGI4NTA5ZGU5NGE3M2Y1ZGVh
ZmEuLjc2M2RmZWU2NDVkOTdmMDYwZmU5OGU0ZmY2OTE4MjA5MGYwMzQ1YzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKQEAgLTE2Miw2ICsxNjIs
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBtYWNybyhtYWtlQm91bmRGdW5jdGlvbikgXAogICAg
IG1hY3JvKGhhc093bkxlbmd0aFByb3BlcnR5KSBcCiAgICAgbWFjcm8oaW1wb3J0TW9kdWxlKSBc
CisgICAgbWFjcm8ocHJvcGVydHlJc0VudW1lcmFibGUpIFwKICAgICBtYWNybyhXZWJBc3NlbWJs
eSkgXAogICAgIG1hY3JvKE1vZHVsZSkgXAogICAgIG1hY3JvKEluc3RhbmNlKSBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvT2JqZWN0Q29uc3RydWN0b3IuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvT2JqZWN0Q29uc3RydWN0b3IuanMKaW5k
ZXggZDg1NWJlYjJhMzk3MGE1MzlkMDEyZjc2MDg4MjJhZTBjNzBhYTBjMi4uMjYzYjJmYzBlYjU4
MTZjMzc5N2NjYTFkMGRlN2FlMzgzMTE3OWUzMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J1aWx0aW5zL09iamVjdENvbnN0cnVjdG9yLmpzCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9PYmplY3RDb25zdHJ1Y3Rvci5qcwpAQCAtMzUsOCArMzUsNyBAQCBm
dW5jdGlvbiBlbnVtZXJhYmxlT3duUHJvcGVydGllcyhvYmplY3QsIGtpbmQpCiAgICAgZm9yIChs
ZXQgaSA9IDAsIGtleXNMZW5ndGggPSBvd25LZXlzLmxlbmd0aDsgaSA8IGtleXNMZW5ndGg7ICsr
aSkgewogICAgICAgICBsZXQgbmV4dEtleSA9IG93bktleXNbaV07CiAgICAgICAgIGlmICh0eXBl
b2YgbmV4dEtleSA9PT0gJ3N0cmluZycpIHsKLSAgICAgICAgICAgIGxldCBkZXNjcmlwdG9yID0g
QFJlZmxlY3QuQGdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG5leHRLZXkpOwotICAgICAg
ICAgICAgaWYgKGRlc2NyaXB0b3IgIT09IEB1bmRlZmluZWQgJiYgZGVzY3JpcHRvci5lbnVtZXJh
YmxlKSB7CisgICAgICAgICAgICBpZiAoQHByb3BlcnR5SXNFbnVtZXJhYmxlKG9iaiwgbmV4dEtl
eSkpIHsKICAgICAgICAgICAgICAgICBpZiAoa2luZCA9PT0gQGl0ZXJhdGlvbktpbmRWYWx1ZSkK
ICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllcy5AcHVzaChvYmpbbmV4dEtleV0pOwogICAg
ICAgICAgICAgICAgIGVsc2UgaWYgKGtpbmQgPT09IEBpdGVyYXRpb25LaW5kS2V5VmFsdWUpCkBA
IC04Myw4ICs4Miw3IEBAIGZ1bmN0aW9uIGFzc2lnbih0YXJnZXQvKlsqLywgLyouLi4qL3NvdXJj
ZXMvKl0gKi8pCiAgICAgICAgICAgICBsZXQga2V5cyA9IEBSZWZsZWN0LkBvd25LZXlzKGZyb20p
OwogICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIGtleXNMZW5ndGggPSBrZXlzLmxlbmd0aDsg
aSA8IGtleXNMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgICAgIGxldCBuZXh0S2V5ID0ga2V5
c1tpXTsKLSAgICAgICAgICAgICAgICBsZXQgZGVzY3JpcHRvciA9IEBSZWZsZWN0LkBnZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZnJvbSwgbmV4dEtleSk7Ci0gICAgICAgICAgICAgICAgaWYgKGRl
c2NyaXB0b3IgIT09IEB1bmRlZmluZWQgJiYgZGVzY3JpcHRvci5lbnVtZXJhYmxlKQorICAgICAg
ICAgICAgICAgIGlmIChAcHJvcGVydHlJc0VudW1lcmFibGUoZnJvbSwgbmV4dEtleSkpCiAgICAg
ICAgICAgICAgICAgICAgIG9ialRhcmdldFtuZXh0S2V5XSA9IGZyb21bbmV4dEtleV07CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCBkNTFhMTJiMTg2Mzc3MDIxMDBkNTExNzY3MzhjMzUz
YmRhZTcxZmJiLi40MDgyNDIzYzJjNzVlMThlYzQ5YzI4N2FlZGNiZDllY2JjNjc1MjYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBA
IC03MzEsNiArNzMxLDcgQEAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3Bl
cnR5TmFtZXMtPiBqc05hbWUsIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3QKICAgICBKU0Z1bmN0aW9u
KiBwcml2YXRlRnVuY0Zsb29yID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAwLCBTdHJp
bmcoKSwgbWF0aFByb3RvRnVuY0Zsb29yLCBGbG9vckludHJpbnNpYyk7CiAgICAgSlNGdW5jdGlv
biogcHJpdmF0ZUZ1bmNUcnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhpcywgMCwgU3Ry
aW5nKCksIG1hdGhQcm90b0Z1bmNUcnVuYywgVHJ1bmNJbnRyaW5zaWMpOwogCisgICAgSlNGdW5j
dGlvbiogcHJpdmF0ZUZ1bmNQcm9wZXJ0eUlzRW51bWVyYWJsZSA9IEpTRnVuY3Rpb246OmNyZWF0
ZSh2bSwgdGhpcywgMCwgU3RyaW5nKCksIGdsb2JhbEZ1bmNQcm9wZXJ0eUlzRW51bWVyYWJsZSk7
CiAgICAgSlNGdW5jdGlvbiogcHJpdmF0ZUZ1bmNJbXBvcnRNb2R1bGUgPSBKU0Z1bmN0aW9uOjpj
cmVhdGUodm0sIHRoaXMsIDAsIFN0cmluZygpLCBnbG9iYWxGdW5jSW1wb3J0TW9kdWxlKTsKICAg
ICBKU0Z1bmN0aW9uKiBwcml2YXRlRnVuY1R5cGVkQXJyYXlMZW5ndGggPSBKU0Z1bmN0aW9uOjpj
cmVhdGUodm0sIHRoaXMsIDAsIFN0cmluZygpLCB0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jTGVu
Z3RoKTsKICAgICBKU0Z1bmN0aW9uKiBwcml2YXRlRnVuY1R5cGVkQXJyYXlHZXRPcmlnaW5hbENv
bnN0cnVjdG9yID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAwLCBTdHJpbmcoKSwgdHlw
ZWRBcnJheVZpZXdQcml2YXRlRnVuY0dldE9yaWdpbmFsQ29uc3RydWN0b3IpOwpAQCAtNzg0LDYg
Kzc4NSw3IEBAIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT4ganNOYW1lLCBsb3dlck5hbWUgIyMgQ29uc3RydWN0CiAgICAgICAgIEdsb2JhbFByb3BlcnR5
SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5JbmZpbml0eSwganNOdW1iZXIoc3RkOjpudW1lcmljX2xp
bWl0czxkb3VibGU+OjppbmZpbml0eSgpKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+dW5kZWZp
bmVkS2V5d29yZCwganNVbmRlZmluZWQoKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRp
bk5hbWVzKCkub3duRW51bWVyYWJsZVByb3BlcnR5S2V5c1ByaXZhdGVOYW1lKCksIEpTRnVuY3Rp
b246OmNyZWF0ZSh2bSwgdGhpcywgMCwgU3RyaW5nKCksIG93bkVudW1lcmFibGVQcm9wZXJ0eUtl
eXMpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFBy
b3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5wcm9wZXJ0eUlzRW51
bWVyYWJsZVByaXZhdGVOYW1lKCksIHByaXZhdGVGdW5jUHJvcGVydHlJc0VudW1lcmFibGUsIERv
bnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJ
bmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmltcG9ydE1vZHVsZVByaXZhdGVO
YW1lKCksIHByaXZhdGVGdW5jSW1wb3J0TW9kdWxlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBS
ZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5i
dWlsdGluTmFtZXMoKS5lbnF1ZXVlSm9iUHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRl
KHZtLCB0aGlzLCAwLCBTdHJpbmcoKSwgZW5xdWV1ZUpvYiksIERvbnRFbnVtIHwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFt
ZXMtPmJ1aWx0aW5OYW1lcygpLkVycm9yUHJpdmF0ZU5hbWUoKSwgbV9lcnJvckNvbnN0cnVjdG9y
LmdldCgpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5j
cHAKaW5kZXggN2VjNWM2ODM3NjYyMTk0OTZjNDBhZDc1MWQwMzFiMGNjNTQyYjVhMC4uZjZhNTJj
M2Y3Zjk3YjViNGNkZjNmNWRjNDE3MzhhMWU3NDg0NWEwNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcApA
QCAtNzk3LDQgKzc5NywxOSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGdsb2JhbEZ1
bmNJbXBvcnRNb2R1bGUoRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUocHJvbWlzZS0+cHJvbWlzZSgpKTsKIH0KIAorRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBnbG9iYWxGdW5jUHJvcGVydHlJc0VudW1lcmFibGUoRXhlY1N0YXRlKiBleGVjKQoreworICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOworCisgICAgUkVMRUFTRV9BU1NFUlQoZXhlYy0+YXJndW1lbnRDb3VudCgpID09IDIp
OworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBqc0Nhc3Q8SlNPYmplY3QqPihleGVjLT51bmNoZWNr
ZWRBcmd1bWVudCgwKSk7CisgICAgYXV0byBwcm9wZXJ0eU5hbWUgPSBleGVjLT51bmNoZWNrZWRB
cmd1bWVudCgxKS50b1Byb3BlcnR5S2V5KGV4ZWMpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworCisgICAgUHJvcGVydHlEZXNjcmlwdG9yIGRlc2Ny
aXB0b3I7CisgICAgYm9vbCBlbnVtZXJhYmxlID0gb2JqZWN0LT5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZXhlYywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yKSAmJiBkZXNjcmlwdG9yLmVudW1l
cmFibGUoKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihlbnVtZXJhYmxl
KSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmgKaW5kZXggZWRlMjU1MzA5
MjE0MDJmNzYxNGU2NDVhZGY4Njk1ZGYzM2ZjOWQ5Yy4uN2VhODg4MDMxN2I3YWM3YmM5OTg1Yzk2
MTI4NTI0NGYzMGE3ODlhZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oCkBAIC01Miw2ICs1Miw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY1Byb3RvU2V0dGVyKEV4ZWNTdGF0ZSop
OwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBnbG9iYWxGdW5jSG9zdFByb21pc2VSZWpl
Y3Rpb25UcmFja2VyKEV4ZWNTdGF0ZSopOwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBn
bG9iYWxGdW5jQnVpbHRpbkxvZyhFeGVjU3RhdGUqKTsKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZ2xvYmFsRnVuY0ltcG9ydE1vZHVsZShFeGVjU3RhdGUqKTsKK0VuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY1Byb3BlcnR5SXNFbnVtZXJhYmxlKEV4ZWNTdGF0ZSop
OwogCiBkb3VibGUganNUb051bWJlcihTdHJpbmdWaWV3KTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>