<?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>27133</bug_id>
          
          <creation_ts>2009-07-09 15:58:19 -0700</creation_ts>
          <short_desc>[Chromium] Upstream RGBColor</short_desc>
          <delta_ts>2009-07-14 15:30:18 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>27242</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nate Chapin">japhet</reporter>
          <assigned_to name="Nate Chapin">japhet</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>130755</commentid>
    <comment_count>0</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2009-07-09 15:58:19 -0700</bug_when>
    <thetext>See summary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130760</commentid>
    <comment_count>1</comment_count>
      <attachid>32538</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2009-07-09 16:23:39 -0700</bug_when>
    <thetext>Created attachment 32538
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130820</commentid>
    <comment_count>2</comment_count>
      <attachid>32538</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-07-09 20:44:44 -0700</bug_when>
    <thetext>Comment on attachment 32538
patch

&gt; Index: WebCore/bindings/v8/RGBColor.cpp
...
&gt; +    unsigned int value = (m_rgbColor &gt;&gt; 16) &amp; 0xFF;
&gt; +    return CSSPrimitiveValue::create(value, CSSPrimitiveValue::CSS_NUMBER);

nit: i think the prevailing style in webkit is to just use &quot;unsigned&quot; instead of
&quot;unsigned int&quot;

otherwise, R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130824</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-07-09 20:57:00 -0700</bug_when>
    <thetext>What is v8 specific about this new file?  It seems like it should be in css/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130828</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-07-09 21:16:06 -0700</bug_when>
    <thetext>We discussed this on IRC.  Moving this file to WebCore/css is a good idea since it may make sense in the future for the JSC bindings to use the same file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130829</commentid>
    <comment_count>5</comment_count>
      <attachid>32538</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-07-09 21:16:38 -0700</bug_when>
    <thetext>Comment on attachment 32538
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130889</commentid>
    <comment_count>6</comment_count>
      <attachid>32562</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2009-07-10 10:17:23 -0700</bug_when>
    <thetext>Created attachment 32562
patch2 - moved to WebCore/css/

Moved to css/ and renamed &quot;unsigned int&quot; to &quot;unsigned&quot;.

That was all that was required, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130890</commentid>
    <comment_count>7</comment_count>
      <attachid>32562</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-10 10:35:05 -0700</bug_when>
    <thetext>Comment on attachment 32562
patch2 - moved to WebCore/css/

This could use Color.h for data storage and then the code for accessing red/green/blue would be simpler (just m_color.red()), but maybe that&apos;s overkill?

Otherwise this looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130970</commentid>
    <comment_count>8</comment_count>
      <attachid>32562</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-07-10 14:50:28 -0700</bug_when>
    <thetext>Comment on attachment 32562
patch2 - moved to WebCore/css/

&gt; +
&gt; +    class RGBColor : public RefCounted&lt;RGBColor&gt; {
&gt; +    public:
&gt; +        // TODO(ager): Make constructor private once codegenerator changes
&gt; +        // have landed upstream.

We prefer FIXME, instead of TODO(name).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131707</commentid>
    <comment_count>9</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2009-07-14 15:30:18 -0700</bug_when>
    <thetext>Landed as r45872.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32538</attachid>
            <date>2009-07-09 16:23:39 -0700</date>
            <delta_ts>2009-07-10 10:17:23 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>5418</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTY4MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMDktMDctMDkgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBV
cHN0cmVhbSBSR0JDb2xvciBmcm9tIHNyYy5jaHJvbWl1bS5vcmcuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3MTMzCisKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9SR0JDb2xvci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UkdCQ29sb3I6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSR0JDb2xvcjo6cmVkKToKKyAgICAgICAgKFdl
YkNvcmU6OlJHQkNvbG9yOjpncmVlbik6CisgICAgICAgIChXZWJDb3JlOjpSR0JDb2xvcjo6Ymx1
ZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvUkdCQ29sb3IuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSR0JDb2xvcjo6UkdCQ29sb3IpOgorCiAyMDA5LTA3LTA5ICBCZXRoIERha2luIGFu
ZCBKb24gSG9uZXljdXR0IDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERhdmUgSHlhdHQuCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L1JHQkNvbG9yLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L1JHQkNvbG9yLmNwcAkocmV2aXNpb24gMCkK
KysrIFdlYkNvcmUvYmluZGluZ3MvdjgvUkdCQ29sb3IuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEdvb2dsZSwgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiUkdCQ29sb3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPFJHQkNv
bG9yPiBSR0JDb2xvcjo6Y3JlYXRlKHVuc2lnbmVkIHJnYkNvbG9yKQoreworICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgUkdCQ29sb3IocmdiQ29sb3IpKTsKK30KKworUGFzc1JlZlB0cjxDU1NQcmlt
aXRpdmVWYWx1ZT4gUkdCQ29sb3I6OnJlZCgpCit7CisgICAgdW5zaWduZWQgaW50IHZhbHVlID0g
KG1fcmdiQ29sb3IgPj4gMTYpICYgMHhGRjsKKyAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6
OmNyZWF0ZSh2YWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOworfQorCitQYXNz
UmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBSR0JDb2xvcjo6Z3JlZW4oKQoreworICAgIHVuc2ln
bmVkIGludCB2YWx1ZSA9IChtX3JnYkNvbG9yID4+IDgpICYgMHhGRjsKKyAgICByZXR1cm4gQ1NT
UHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSh2YWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1C
RVIpOworfQorCitQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBSR0JDb2xvcjo6Ymx1ZSgp
Cit7CisgICAgdW5zaWduZWQgaW50IHZhbHVlID0gbV9yZ2JDb2xvciAmIDB4RkY7CisgICAgcmV0
dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUodmFsdWUsIENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfTlVNQkVSKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCkluZGV4OiBXZWJDb3Jl
L2JpbmRpbmdzL3Y4L1JHQkNvbG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92
OC9SR0JDb2xvci5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9SR0JDb2xv
ci5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDA2LCAyMDA3LCAyMDA4LCAyMDA5IEdvb2dsZSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBV
VEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVU
RVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFJHQkNvbG9yX2gKKyNkZWZpbmUgUkdCQ29sb3JfaAorCisjaW5jbHVk
ZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKKyAgICBjbGFzcyBSR0JDb2xvciA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFJHQkNvbG9yPiB7CisgICAgcHVibGljOgorICAgICAgICAvLyBUT0RPKGFnZXIpOiBNYWtl
IGNvbnN0cnVjdG9yIHByaXZhdGUgb25jZSBjb2RlZ2VuZXJhdG9yIGNoYW5nZXMKKyAgICAgICAg
Ly8gaGF2ZSBsYW5kZWQgdXBzdHJlYW0uCisgICAgICAgIFJHQkNvbG9yKHVuc2lnbmVkIHJnYkNv
bG9yKSA6IG1fcmdiQ29sb3IocmdiQ29sb3IpIHsgfQorCisgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFJHQkNvbG9yPiBjcmVhdGUodW5zaWduZWQgcmdiQ29sb3IpOworCisgICAgICAgIFBhc3NS
ZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHJlZCgpOworICAgICAgICBQYXNzUmVmUHRyPENTU1By
aW1pdGl2ZVZhbHVlPiBncmVlbigpOworICAgICAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZh
bHVlPiBibHVlKCk7CisKKyAgICBwcml2YXRlOgorICAgICAgICB1bnNpZ25lZCBtX3JnYkNvbG9y
OworICAgIH07CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFJHQkNvbG9y
X2gK
</data>
<flag name="review"
          id="16960"
          type_id="1"
          status="-"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32562</attachid>
            <date>2009-07-10 10:17:23 -0700</date>
            <delta_ts>2009-07-10 14:50:27 -0700</delta_ts>
            <desc>patch2 - moved to WebCore/css/</desc>
            <filename>patch2.txt</filename>
            <type>text/plain</type>
            <size>5630</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTY4MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMDktMDctMDkgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBV
cHN0cmVhbSBSR0JDb2xvciBmcm9tIHNyYy5jaHJvbWl1bS5vcmcuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3MTMzCisKKyAgICAgICAgKiBjc3Mv
UkdCQ29sb3IuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJHQkNvbG9yOjpjcmVhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6UkdCQ29sb3I6OnJlZCk6CisgICAgICAgIChXZWJDb3JlOjpS
R0JDb2xvcjo6Z3JlZW4pOgorICAgICAgICAoV2ViQ29yZTo6UkdCQ29sb3I6OmJsdWUpOgorICAg
ICAgICAqIGNzcy9SR0JDb2xvci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJHQkNvbG9y
OjpSR0JDb2xvcik6CisKIDIwMDktMDctMDkgIEJldGggRGFraW4gYW5kIEpvbiBIb25leWN1dHQg
PGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2ZSBIeWF0dC4KSW5k
ZXg6IFdlYkNvcmUvY3NzL1JHQkNvbG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9S
R0JDb2xvci5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2Nzcy9SR0JDb2xvci5jcHAJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIw
MDkgR29vZ2xlLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJSR0JDb2xvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1Bhc3NSZWZQdHI8UkdCQ29sb3I+IFJHQkNvbG9yOjpjcmVhdGUodW5zaWduZWQgcmdiQ29sb3Ip
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSR0JDb2xvcihyZ2JDb2xvcikpOworfQorCitQ
YXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBSR0JDb2xvcjo6cmVkKCkKK3sKKyAgICB1bnNp
Z25lZCB2YWx1ZSA9IChtX3JnYkNvbG9yID4+IDE2KSAmIDB4RkY7CisgICAgcmV0dXJuIENTU1By
aW1pdGl2ZVZhbHVlOjpjcmVhdGUodmFsdWUsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVS
KTsKK30KKworUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gUkdCQ29sb3I6OmdyZWVuKCkK
K3sKKyAgICB1bnNpZ25lZCB2YWx1ZSA9IChtX3JnYkNvbG9yID4+IDgpICYgMHhGRjsKKyAgICBy
ZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSh2YWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19OVU1CRVIpOworfQorCitQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBSR0JDb2xv
cjo6Ymx1ZSgpCit7CisgICAgdW5zaWduZWQgdmFsdWUgPSBtX3JnYkNvbG9yICYgMHhGRjsKKyAg
ICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSh2YWx1ZSwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19OVU1CRVIpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKClByb3BlcnR5
IGNoYW5nZXMgb246IFdlYkNvcmUvY3NzL1JHQkNvbG9yLmNwcApfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZXhlY3V0YWJsZQogICArICoKCkluZGV4OiBXZWJDb3JlL2Nzcy9SR0JDb2xvci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvY3NzL1JHQkNvbG9yLmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3Jl
L2Nzcy9SR0JDb2xvci5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEdvb2dsZSwgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFJHQkNvbG9yX2gKKyNkZWZpbmUgUkdCQ29sb3Jf
aAorCisjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyAgICBjbGFzcyBSR0JDb2xvciA6IHB1
YmxpYyBSZWZDb3VudGVkPFJHQkNvbG9yPiB7CisgICAgcHVibGljOgorICAgICAgICAvLyBUT0RP
KGFnZXIpOiBNYWtlIGNvbnN0cnVjdG9yIHByaXZhdGUgb25jZSBjb2RlZ2VuZXJhdG9yIGNoYW5n
ZXMKKyAgICAgICAgLy8gaGF2ZSBsYW5kZWQgdXBzdHJlYW0uCisgICAgICAgIFJHQkNvbG9yKHVu
c2lnbmVkIHJnYkNvbG9yKSA6IG1fcmdiQ29sb3IocmdiQ29sb3IpIHsgfQorCisgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFJHQkNvbG9yPiBjcmVhdGUodW5zaWduZWQgcmdiQ29sb3IpOworCisg
ICAgICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHJlZCgpOworICAgICAgICBQYXNz
UmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBncmVlbigpOworICAgICAgICBQYXNzUmVmUHRyPENT
U1ByaW1pdGl2ZVZhbHVlPiBibHVlKCk7CisKKyAgICBwcml2YXRlOgorICAgICAgICB1bnNpZ25l
ZCBtX3JnYkNvbG9yOworICAgIH07CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIFJHQkNvbG9yX2gKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYkNvcmUvY3NzL1JHQkNvbG9y
LmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKICAgKyAqCgo=
</data>
<flag name="review"
          id="16981"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>